From 4bfc93c4dea39e326125c2f2b6239e02b9a8016d Mon Sep 17 00:00:00 2001 From: lucas Date: Thu, 26 Sep 2024 12:55:01 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E6=9B=B4=E6=96=B0=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E8=AF=B4=E6=98=8E,=E5=AD=98=E5=82=A8obj=20=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=20=E5=BC=82=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 79 ++++++++++++++++++++++++++++++- README_files/时序库bucket.png | Bin 14332 -> 33077 bytes et_Info/InfoHandler.go | 10 ++-- 3 files changed, 84 insertions(+), 5 deletions(-) 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 0badd48858961af2a689b1d2b4f04d2e2705997a..132803c30f6d9816455fde4bff17a63d6935b9e3 100644 GIT binary patch literal 33077 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 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