数据中心项目

gaoyagang 8b0318ceb0 Merge remote-tracking branch 'origin/master' 1 年之前
.idea c254df49c2 接口 1 年之前
app 8b0318ceb0 Merge remote-tracking branch 'origin/master' 1 年之前
common d4f757cd3c fit: 1 年之前
config f5212e2256 fit: init project 1 年之前
deploy dd5c402e81 fit: 1 年之前
.DS_Store 94d8eabe3d fit: init project 1 年之前
.gitignore 6c5c5e4a86 fit: 忽略vendor目录 1 年之前
README.md 94d8eabe3d fit: init project 1 年之前
go.mod 8c3c6a17b5 fit: debug 1 年之前
go.sum 8c3c6a17b5 fit: debug 1 年之前

README.md

项目目标:

  • 统一采集和存储水厂数据
  • 数据加工、清洗在数据中心完成,保持数据完整性和统一性
  • 提供高效的数据查询服务,以满足各业务对数据的需求
  • 提供数据展示层,以图表形式呈现数据
  • 将数据抽象成事件,并提供数据事件订阅服务
  • 数据预警事件,提供事件订阅服务

项目目录结构:

.
├── app                                        应用目录
│   ├── alarms                                 报警
│   ├── api                                    http 数据接口服务
│   ├── cleansing                              数据清洗
│   ├── events                                 事件
│   └── organization                           数据维度整理
├── bin                                        外部脚本执行
├── common                                     公用工具类
├── config                                     通用配置文件
└── deploy                                     部署相关

数据清洗 tag 的相关订阅

python依赖安装

pip3 install psycopg2 schedule pandas sshtunnel sqlalchemy pymysql redis

1. 待处理的事件队列 tag

MQ: Redis

key: data-center:mq:event

value: ${tag}

type: List

blpop + rpush

2. 事件通知订阅

MQ: Redis

key: data-center:notice:event:${project_id}:${item}

value: {"event_name": ${event_name},"project_id": ${project_id},"payload": {"item_name": ${item_name}, "item_val": ${item_val},......}}

type: SubPub

3. 待处理的报警队列 tag

MQ: Redis

key: data-center:mq:alarm

value: ${tag}

type: List

blpop + rpush

4. 报警通知订阅

MQ: Redis

key: data-center:notice:alarm

value: {"alarm_name": ${alarm_name},"project_id": ${project_id},"payload": {"item_name": ${item_name}, "item_val": ${item_val},......}}

type: SubPub

5. 待整理的异构数据队列 tag

MQ: Redis

key: data-center:mq:isomerism

value: ${tag}

type: List

blpop + rpush

部署