|
@@ -351,81 +351,3 @@ ii. 否则,使用最新的修补数据。
|
|
|
3个条件同时满足,那么认为采集数据重复,直接丢弃掉后受到的iot数据;
|
|
|
|
|
|
[iot云端服务接口](http://39.102.40.239:9991/swagger-ui.html#/)
|
|
|
-
|
|
|
-## 5.IOT数据存储
|
|
|
-
|
|
|
-使用了什么数据库,什么中间件,存在哪些表里面?
|
|
|
-
|
|
|
-所有物理世界的静态数据使用mysql存储
|
|
|
-
|
|
|
-所有动态的IOT数据使用Hbase 存储,底层是byte数组;
|
|
|
-
|
|
|
-操作Hbase使用中间件是zillion,zillion是公司自研的中间,提供Hbase的二级索引功能和常用数据格式支持,提供自定义的JSON格式的DDL,DML(库表的增删改查,数据记录的增删改查),自研配置zillion的Hbase界面化工具HbaseCat,类似于navicat操作mysql。
|
|
|
-
|
|
|
-### 常用库表说明
|
|
|
-
|
|
|
-| 库名 | 表名 | 表说明 | 分库分表(默认否) |
|
|
|
-| --------- | ------------------------- | ------------------------------------------------------------ | ------------------ |
|
|
|
-| db_public | original_present | iot实时数据表 | |
|
|
|
-| db_public | original_month | iot历史数据 | 月份分表 |
|
|
|
-| db_public | originalsetpresent | 控制指令实时值 | |
|
|
|
-| db_public | originalset | 控制指令历史记录 | |
|
|
|
-| db_public | fjd_0_near_**time** | time分精度结果表 | 月份分表 |
|
|
|
-| db_public | fjd_statinst_**time** | 极值(最大值、最小值)、极值时间、采集次数、平均值、数据是否保障其有效性 | 月份分表 |
|
|
|
-| db_public | dy_pointlist | 分精度配置规则,配置所有需要计算分精度的 项目ID+表号+功能号+最小分精度类型 | |
|
|
|
-| db_public | fjd_0_buildingcomputetime | 配置要计算分精度的项目和开始下次计算分精度的时间,每次计算分精度后自动更新该时间 | |
|
|
|
-| db_public | fjd_0_computedetail | 分精度计算详情 | |
|
|
|
-| db_public | fjd_0_metercomputetime | 分精度计算时间表,记录所有表号-功能号下次计算分精度的时间 | |
|
|
|
-| db_public | original_happening | 记录所有文本类型的数据,不带表号功能号 | |
|
|
|
-| db_public | original_textpresent | 带表号-功能号的文本数据,实时数据表 | |
|
|
|
-| db_public | original_text | 带表号-功能号的文本数据,历史数据表 | 月份分表 |
|
|
|
-
|
|
|
-**[MySQL与HBase对比](https://blog.csdn.net/weixin_41605937/article/details/110933984)**
|
|
|
-
|
|
|
-## 6.IOT服务待改进点
|
|
|
-
|
|
|
-#### 1.服务有状态,无法做集群部署
|
|
|
-
|
|
|
-##### 有状态体现在两点: 1.实时数据本地内存缓存、 2.云边通讯TCP、UDP,集群有通讯问题
|
|
|
-
|
|
|
-iot服务只有一式两份的iot-collect/iot-control服务对外提供接口:采集实时数据、分精度数据、采集值统计、控制指令、查询指令结果。
|
|
|
-
|
|
|
-提供的核心接口就是实时数据、分精度数据,分精度数据数据量,每次从数据库查询。实时数据查询具有批量和高并发的特点,所以实时数据有内存缓存,并且每次有IOT数据后实时更新缓存,查询的时候不查库只查内存。
|
|
|
-
|
|
|
-#### 2.服务性能、稳定性、功能
|
|
|
-
|
|
|
-**稳定性:**
|
|
|
-
|
|
|
-香港置地的iot-collect服务 偶尔发生阻塞后无法提供服务,分精度不计算(2次);
|
|
|
-
|
|
|
-云端服务重启后几率性无法自动重连问题
|
|
|
-
|
|
|
-**性能:**
|
|
|
-
|
|
|
-**功能:**
|
|
|
-
|
|
|
-mqtt支持、
|
|
|
-
|
|
|
-直接接受http格式iot数据等
|
|
|
-
|
|
|
-在线状态信息点判断机制。
|
|
|
-
|
|
|
-#### 3.服务架构
|
|
|
-
|
|
|
-服务通过(Mina、Netty)TCP/UDP的数据传输,IOT数据不重不漏,自动补发。数据失败后的自动补发机制目前依赖iot-client。
|
|
|
-
|
|
|
-zillion的维护和新功能、扩展性;(对比开源Phoenix)
|
|
|
-
|
|
|
-招商集团的安全要求,不能TCP直连;
|
|
|
-
|
|
|
-时序数据库的考虑
|
|
|
-
|
|
|
-分精度人为配置**易忘易漏易错易不一致**、没有和数据字典打通,不支持数据反查。
|
|
|
-
|
|
|
-#### 4.报文格式、数据类型、代码注释
|
|
|
-
|
|
|
-数据的报文格式较多,考虑优化精简
|
|
|
-
|
|
|
-整数和小数无法区分
|
|
|
-
|
|
|
-回包机制(回包根据表号和功能号查找判断,可报文格式增加报文来源地址)
|