diff --git a/README.md b/README.md index 1830205..2308a88 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,79 @@ # et-go -et-go -20240919重建 \ No newline at end of file +et-go +20240919重建gitea项目 + +## 功能描述 +对标东江平台本地化et, 旨在使用golang进行改写,提高et数据处理能力 +et-go采用主副节点模式: 一主多从,进行数据处理。 +主节点负责订阅kafka数据,node节点负责实际的数据处理流程 +node节点上线后,会自动按照配置文件里面的node.remoteMasterHost 地址,向master节点注册 +node节点退出下线时,会向master节点注销 +## 部署 +### 部署信息 +1. 使用yaml启动 +2. yaml 包含三部分: +- StatefulSet: et主副节点控制,最少副本数=2 (即 1个master,1个node), + 多开比如设置 副本数=3 (即 1个master,2个node),以此类推 +- Service: 主要用于master的注册服务(目前只有node 使用) +- ConfigMap: 配置文件挂载(master,node共用) +### 部署方式: +microk8s 部署参考 +microk8s部署 +#### microk8s 部署 +- 镜像格式 : registry.ngaiot.com/local/git-etgo:28 +- jenkins : https://jenkins.ngaiot.com/job/git-etgo/ +- yaml : https://gitea.ngaiot.com/DevOps/et-go/src/branch/dev/build/etgo.yaml + + +#### 运行信息参考 +mater节点 et-0 + +node节点 et-1 + + + + +## 涉及变更 +### 前端公式保存 +测点信息的配置保存 新增 formula_id 列 +**前端保存测点时,需要存储测点公式id** +涉及语句: +ALTER TABLE "t_device_sensor" ADD COLUMN formula_id INTEGER; + + +### influxDB存储 +数据存储分为三个bucket 功能和es 数据对应 +- raw 存储设备数据 以 deviceId 作为measurement +- theme 存储测点数据 以 facotr_${facotrId} 作为measurement,如factor_15 +- vib 存储振动数据 以 deviceId 作为measurement + + +### 测点数据推送 +- MQTT方式: + topic 主题格式: etpush/${structId}/${stationId} + 如:etpush/1/40 + + +- kafka方式 + topic 主题格式: etpush + +body 内容格式: +包含测点id,名称,数据,时间 +```json +{ + "id": 40, + "name": "DJ-DIS-B01-002-01", + "data": { + "displacement": -11.2766 + }, + "collect_time": "2024-07-19T16:00:00.00128681+08:00" +} +``` + + + + + + + diff --git a/README_files/时序库bucket.png b/README_files/时序库bucket.png index 0badd48..132803c 100644 Binary files a/README_files/时序库bucket.png and b/README_files/时序库bucket.png differ diff --git a/et_Info/InfoHandler.go b/et_Info/InfoHandler.go index 41eead8..10c6937 100644 --- a/et_Info/InfoHandler.go +++ b/et_Info/InfoHandler.go @@ -44,9 +44,13 @@ func (the *InfoHandler) getStationInfo(p *common_models.ProcessData) *common_mod //补全 设备数据输入单位 p.DeviceData.RawUnit = p.DeviceData.DeviceInfo.DeviceMeta.GetOutputUnit() //存储测点obj - err = the.configHelper.SetDeviceStationObjs(p.DeviceData.DeviceId, p.Stations) - if err != nil { - log.Printf("SetDeviceStationObjs缓存异常 err=%s", err.Error()) + if len(p.Stations) > 0 { + go func() { + errSet := the.configHelper.SetDeviceStationObjs(p.DeviceData.DeviceId, p.Stations) + if errSet != nil { + log.Printf("SetDeviceStationObjs 缓存异常 err=%s", errSet.Error()) + } + }() } } return p