|
@@ -57,7 +57,7 @@ BDTP-数据服务中的对象数据如下:
|
|
|
|
|
|
用数学范式表达时序可以被定义为:
|
|
用数学范式表达时序可以被定义为:
|
|
|
|
|
|
-
|
|
|
|
|
|
+
|
|
|
|
|
|
示例:
|
|
示例:
|
|
|
|
|
|
@@ -157,6 +157,8 @@ BDTP-数据服务中的对象数据如下:
|
|
|
|
|
|
- 三类数据库之间的关系如下
|
|
- 三类数据库之间的关系如下
|
|
|
|
|
|
|
|
+ 
|
|
|
|
+
|
|
- 根据原始数据的采集周期,确定相对应操作数据库的分精度步长,即每个参数都对应一个采集属性CollectProperty = {(Contu,T ) / Pulse}.
|
|
- 根据原始数据的采集周期,确定相对应操作数据库的分精度步长,即每个参数都对应一个采集属性CollectProperty = {(Contu,T ) / Pulse}.
|
|
|
|
|
|
- 系统暂时只处理低频采集数据,对于采集频率<1min的高频数据,系统不会长期保存原始数据,分精度数据按照低频数据的标准统一处理
|
|
- 系统暂时只处理低频采集数据,对于采集频率<1min的高频数据,系统不会长期保存原始数据,分精度数据按照低频数据的标准统一处理
|
|
@@ -164,3 +166,473 @@ BDTP-数据服务中的对象数据如下:
|
|
- 采集周期无论长短,系统都会提供分精度处理。当采集周期较长时,系统提供的短周期分精度数据不能保障其有效性。即根据采集属性参数的情况,关联数据库中,有些库ProtectFlag = 1(1.不保障;0.保障)
|
|
- 采集周期无论长短,系统都会提供分精度处理。当采集周期较长时,系统提供的短周期分精度数据不能保障其有效性。即根据采集属性参数的情况,关联数据库中,有些库ProtectFlag = 1(1.不保障;0.保障)
|
|
|
|
|
|
下表标记说明:1)黑体加粗字,蓝色框,为操作数据库;2)其余均为相关数据库;3)橙色框,为不保障数据库。
|
|
下表标记说明:1)黑体加粗字,蓝色框,为操作数据库;2)其余均为相关数据库;3)橙色框,为不保障数据库。
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+### 3.3 计算说明
|
|
|
|
+
|
|
|
|
+#### 单库计算
|
|
|
|
+
|
|
|
|
+Q. 系统如何获知每个采集数据应该对应操作库的哪种时间分精度?
|
|
|
|
+
|
|
|
|
+A. 人工配置。通常是批量化的,配置难度不大。
|
|
|
|
+需人工指定每个参数的采集属性CollectProperty = {(Contu, T ) / Pulse}. 即采集进来时是连续变量还是脉冲变量,若是连续变量,采集周期是多少。
|
|
|
|
+采集属性会影响后续计算方法,主要区别在于脉冲式无“丢数”的概念,无法做数据诊断相关的系列计算。为此,限定累积量和瞬时量的采集属性都必须是连续型,哪怕采集周期设置较长。
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+Q. 系统如何获知每个采集数据应该对应操作库的哪种类型?
|
|
|
|
+
|
|
|
|
+A. 根据参数的funcid自动匹配。funcid由项目实施方在采集器和调研文件中配置完成。
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+Q. 某些参数的物理意义决定其为整型变量,系统如何区分和处理?
|
|
|
|
+
|
|
|
|
+A. 根据参数的funcid预定该参数是否为整型。
|
|
|
|
+数据库中存储数据不区分整型和非整型;取整计算在使用侧定义,即当应用调用对象模型中的某整型参数,或调用某个整型的funcid参数时,在调用接口处做取整计算。
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+Q. 某些参数的物理意义决定其为整型变量,系统如何区分和处理?
|
|
|
|
+
|
|
|
|
+A. 根据参数的funcid预定该参数是否为整型。
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+Q. 累积量插值结果是否会出现数值递减的情况?
|
|
|
|
+
|
|
|
|
+A. 分精度插值计算采用P3 Hermite方法,即分段三阶Hermite插值法。这种插值方法具有保形性,即插值曲线的单调性与给定端点一致。
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+Q. 插值计算需要一定的样本段,在实时计算过程中,新的插值结果会不会跟之前的插值结果不同,从而导致计算结果不稳定?
|
|
|
|
+
|
|
|
|
+A. 分段三阶Hermite插值法只保证一阶导数连续,不保证二阶导数连续,即计算结果对于一个采集周期以后的插值数据是稳定的。例如采集T = 1h,如下图
|
|
|
|
+
|
|
|
|
+Hermite插值计算至少需要4个点,所以每次计算回溯历史的长度至少5T. 虽然最后一个T内的计算结果是不稳定的,但前面4T内的数据都是稳定的,不会对相关库计算造成重大影响。
|
|
|
|
+
|
|
|
|
+#### 关联计算
|
|
|
|
+
|
|
|
|
+Q. 关联数据库可以被人为操作么?
|
|
|
|
+
|
|
|
|
+A. 不行。
|
|
|
|
+每个数据的采集频度决定了操作数据库的时间分精度等级,对这个数据永远只能在这个精度等级上进行操作。
|
|
|
|
+例如某参数X的操作分精度是15min,在逐日维度诊断出数据有误,需要修改数据,只能对15min数据列进行操作,进而得到逐日数据,不能直接修改1d数据列。
|
|
|
|
+例如某参数X的操作分精度是15min,参数Y的操作分精度是1h,基于15min数据联合分析X与Y之后,需要修改Y数据,只能对1h数据列进行操作,进而得到15min数据,不能直接修改15min数据列。
|
|
|
|
+这种问题在数据诊断和修补里会十分普遍。
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+Q. 修补数据库的精度如何确定?
|
|
|
|
+
|
|
|
|
+A. 每个参数的修补数据库与该参数的操作数据库的时间精度一致。
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+Q. 这几个库之间的联动计算机制?
|
|
|
|
+
|
|
|
|
+A. 1)实时联动计算,即一旦下级库发生计算,计算结束后就触发上级库计算。上下级关系如上图所示。
|
|
|
|
+2)操作库、操作库的诊断标签和关联库是覆盖式计算;自动修补和人工修补库不覆盖,存储每一次的增量结果。
|
|
|
|
+3)操作库只跟着原始库的变化发生计算,原始库有新数据,或发生改变,操作库进行对应时段的分精度计算。
|
|
|
|
+4)诊断和自动修补计算有三种触发方式
|
|
|
|
+i. 随时间实时计算。即当丢数时,操作库没有数据,但仍然在时间节点上打诊断标签,提供参考数据
|
|
|
|
+ii. 操作库发生改变后,跟随计算。即数据再次恢复上传后,基于更新后的操作库,重新打诊断标签,重新提供参考数据
|
|
|
|
+iii. 人为指定诊断和修补计算
|
|
|
|
+5)操作库、自动修补库和人工修补库,任何一个库发生改变,关联库都要触发相应时段的更新计算。
|
|
|
|
+6)关联库计算取用数据,以及应用取用操作精度的数据,取用原则是
|
|
|
|
+i. 当操作数据诊断标记是正常时,直接使用操作库的数据;
|
|
|
|
+ii. 否则,使用最新的修补数据。
|
|
|
|
+按照时间先后做优先选择,不按照人工或自动做优先选择。
|
|
|
|
+
|
|
|
|
+### 3.4 分精度数据条件
|
|
|
|
+
|
|
|
|
+##### 3.4.1 数据采集条件
|
|
|
|
+
|
|
|
|
+(1)采集器和采集软件所在服务器的网络通畅
|
|
|
|
+
|
|
|
|
+(2)采集协议(UDP、TCP)统一
|
|
|
|
+
|
|
|
|
+(3)采集端口能够接通
|
|
|
|
+
|
|
|
|
+##### 3.4.2 分精度数据计算条件
|
|
|
|
+
|
|
|
|
+(1)原始数据original_month、original_day中有点位对应数据
|
|
|
|
+
|
|
|
|
+(2)original_present中有>=计算时间的数据
|
|
|
|
+
|
|
|
|
+(3)项目计算时间已经设定
|
|
|
|
+
|
|
|
|
+(4)dy_pointlist中有参与计算的点位信息
|
|
|
|
+
|
|
|
|
+##### 3.4.3分精度数据(读数)
|
|
|
|
+
|
|
|
|
+分精度数据(单值时序数据)
|
|
|
|
+
|
|
|
|
+| | | |
|
|
|
|
+| ------------------ | ----- | ------------------------------------------------------------ |
|
|
|
|
+| **瞬时值** | Inst | 5min邻近值,15min邻近值,1h邻近值,1h平均值,1d平均值 |
|
|
|
|
+| **累积值** | Acc | 15min累计值,1h累计值,1d累计值,15min差分值,1h差分值,1d差分值 |
|
|
|
|
+| **布尔时序量** | Boolv | 变化脉冲,5min邻近值,15min邻近值,1h邻近值 |
|
|
|
|
+| **单选枚举时序量** | Enumv | 变化脉冲,5min邻近值,15min邻近值,1h邻近值 |
|
|
|
|
+
|
|
|
|
+(1)fjd_0_near:通过计算软件进行计算的分精度数据
|
|
|
|
+
|
|
|
|
+(2)fjd_1_near:自动修复功能进行修复的分精度数据
|
|
|
|
+
|
|
|
|
+(3)fjd_2_near:手动修复功能进行修复的分精度数据3、点位类型
|
|
|
|
+
|
|
|
|
+### **3.5 数据的博锐业务分类**
|
|
|
|
+
|
|
|
|
+| 表分类 | 博锐业务说明 | HBase表名/分表举例 |
|
|
|
|
+| ----------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
|
|
|
|
+| 原始(读)数original_month | 由采集器发送给采集软件的采集数据 | original_month/original_month_yyyyMM |
|
|
|
|
+| ①分精度数据fjd_0_near_***time*** | ①将在时间上分布不规则采集数据,通过一定算法计算,得出的时间精度规则均匀的原始数据 | fjd_0_near_15min、fjd_0_near_1h、fjd_0_near_1d |
|
|
|
|
+| ②fjd_1_near_***time*** | ②对原始数①的数据通过一定算法进行修正过的数据 | fjd_1_near_15min、fjd_1_near_1h、fjd_1_near_1d |
|
|
|
|
+| ③fjd_2_near_***time*** | ③对原始数①的数据进行人为的手动修正后的数据 | fjd_2_near_15min、fjd_2_near_1h、fjd_2_near_1d |
|
|
|
|
+| fjd_statinst_**time** | 极值(最大值、最小值)、极值时间、采集次数、平均值、数据是否保障其有效性 | fjd_statinst_15min、fjd_statinst_1h、fjd_statinst_1d |
|
|
|
|
+| **业务相关** | | |
|
|
|
|
+| 能耗数据、仪表能耗data_servicedata_*time* | 由仪表的分精度数据通过做差得出来的仪表的差分能耗数据 | data_servicedata_15min、data_servicedata_1h、data_servicedata_1d |
|
|
|
|
+| 计算单元能耗data_objectdata_*time* | 由计算单元与仪表的数学关系,通过对多个仪表能耗数据进行运算得出 | data_objectdata_15min、data_objectdata_1h、data_objectdata_1d |
|
|
|
|
+| 分项能耗data_energydata_*time* | 由分项与仪表或者支路(支路与仪表具有关联)的关系公式,计算得出(公式有可能会乘以变比系数) | data_energydata_15min、data_energydata_1h、data_energydata_1d |
|
|
|
|
+
|
|
|
|
+## 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.报文格式、数据类型、代码注释
|
|
|
|
+
|
|
|
|
+数据的报文格式较多,考虑优化精简
|
|
|
|
+
|
|
|
|
+整数和小数无法区分
|
|
|
|
+
|
|
|
|
+回包机制(回包根据表号和功能号查找判断,可报文格式增加报文来源地址)
|
|
|
|
+
|
|
|
|
+#### 5、...
|
|
|
|
+
|
|
|
|
+## 附录1:部分文档地址
|
|
|
|
+
|
|
|
|
+[数据与计算基础知识](https://thoughts.teambition.com/workspaces/5f7001fdd8b0840016e073e7/docs/5ff7f3faeaa1190001062c6a)
|
|
|
|
+
|
|
|
|
+[iot-collect部署文档](https://thoughts.teambition.com/workspaces/5f7001fdd8b0840016e073e7/docs/5fe1af23eaa11900016f409a)
|
|
|
|
+
|
|
|
|
+[iot-control部署文档](https://thoughts.teambition.com/workspaces/5f7001fdd8b0840016e073e7/docs/5fe1b5884cc5830001a3f212)
|
|
|
|
+
|
|
|
|
+[iot-project部署文档](https://thoughts.teambition.com/workspaces/5f7001fdd8b0840016e073e7/docs/60094e5ceaa11900015f142a)
|
|
|
|
+
|
|
|
|
+[iot云端服务接口](http://39.102.40.239:9991/swagger-ui.html#/)
|
|
|
|
+
|
|
|
|
+[BDTP-数据服务](http://39.102.54.110:9009/)
|
|
|
|
+
|
|
|
|
+[MySQL与HBase对比](https://blog.csdn.net/weixin_41605937/article/details/110933984)
|
|
|
|
+
|
|
|
|
+[时序数据库](https://www.12770.cn/655244)
|
|
|
|
+
|
|
|
|
+## 附录2:能耗常用表结构
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+##### 原始数记录表(按月)original_month
|
|
|
|
+
|
|
|
|
+| | | |
|
|
|
|
+| ----------- | ------ | ------------ |
|
|
|
|
+| 字段名 | 类型 | 说明 |
|
|
|
|
+| building | String | 建筑唯一标识 |
|
|
|
|
+| data | Double | 读数 |
|
|
|
|
+| funcid | Long | 功能号 |
|
|
|
|
+| meter | String | 表号 |
|
|
|
|
+| receivetime | String | 接收 |
|
|
|
|
+
|
|
|
|
+##### 原始数记录表(按天)original_day
|
|
|
|
+
|
|
|
|
+| | | |
|
|
|
|
+| ----------- | ------ | ------------ |
|
|
|
|
+| 字段名 | 类型 | 说明 |
|
|
|
|
+| building | String | 建筑唯一标识 |
|
|
|
|
+| data | Double | 读数 |
|
|
|
|
+| funcid | Long | 功能号 |
|
|
|
|
+| meter | String | 表号 |
|
|
|
|
+| receivetime | String | 接收 |
|
|
|
|
+
|
|
|
|
+##### 原始数最新接收数据表original_present
|
|
|
|
+
|
|
|
|
+| | | |
|
|
|
|
+| ----------- | ------ | ------------ |
|
|
|
|
+| 字段名 | 类型 | 说明 |
|
|
|
|
+| building | String | 建筑唯一标识 |
|
|
|
|
+| data | Double | 读数 |
|
|
|
|
+| funcid | Long | 功能号 |
|
|
|
|
+| meter | String | 表号 |
|
|
|
|
+| receivetime | String | 接收时间 |
|
|
|
|
+
|
|
|
|
+##### 点位计算信息表(仪表清单)dy_pointlist
|
|
|
|
+
|
|
|
|
+| | | |
|
|
|
|
+| ------------- | ------ | ---------------------------------------- |
|
|
|
|
+| 字段名 | 类型 | 说明 |
|
|
|
|
+| building | String | 建筑唯一标识 |
|
|
|
|
+| meter | String | 表号 |
|
|
|
|
+| funcid | Long | 功能号 |
|
|
|
|
+| data_type | String | 数据类型(Acc 累积量,Inst 瞬时量...) |
|
|
|
|
+| collect_cycle | String | 分精度计算的最小时间粒度 |
|
|
|
|
+
|
|
|
|
+##### 项目计算时间信息表fjd_0_buildingcomputetime
|
|
|
|
+
|
|
|
|
+| | | |
|
|
|
|
+| ------------------ | ------ | ------------ |
|
|
|
|
+| 字段名 | 类型 | 说明 |
|
|
|
|
+| building | String | 建筑唯一标识 |
|
|
|
|
+| compute_time | String | 计算到的时间 |
|
|
|
|
+| first_compute_time | String | 首次计算时间 |
|
|
|
|
+
|
|
|
|
+##### 仪表计算的记录信息表fjd_0_metercomputetime
|
|
|
|
+
|
|
|
|
+| | | |
|
|
|
|
+| ------------------ | ------ | ------------ |
|
|
|
|
+| 字段名 | 类型 | 说明 |
|
|
|
|
+| building | String | 建筑唯一标识 |
|
|
|
|
+| meter | String | 表号 |
|
|
|
|
+| funcid | Long | 功能号 |
|
|
|
|
+| first_compute_time | String | 首次计算时间 |
|
|
|
|
+| next_data_time | String | |
|
|
|
|
+
|
|
|
|
+##### 分精度数据记录表fjd_0_near_*time*
|
|
|
|
+
|
|
|
|
+| | | |
|
|
|
|
+| ---------- | ------ | ------------------ |
|
|
|
|
+| 字段名 | 类型 | 说明 |
|
|
|
|
+| building | String | 建筑唯一标识 |
|
|
|
|
+| meter | String | 表号 |
|
|
|
|
+| funcid | Long | 功能号 |
|
|
|
|
+| data_time | String | 时间 |
|
|
|
|
+| data_flag | Long | 数据可靠标签0 可靠 |
|
|
|
|
+| data_value | Double | 数值 |
|
|
|
|
+
|
|
|
|
+##### 分精度数据计算日志表fjd_0_computelog
|
|
|
|
+
|
|
|
|
+| | | |
|
|
|
|
+| --------------------- | ------ | -------------------------- |
|
|
|
|
+| 字段名 | 类型 | 说明 |
|
|
|
|
+| building | String | 建筑唯一标识 |
|
|
|
|
+| compute_round | Long | 计算轮次 |
|
|
|
|
+| fjd_compute_time_from | String | fjd数据开始时间 |
|
|
|
|
+| fjd_compute_time_to | String | fjd数据结束时间 |
|
|
|
|
+| is_finished | Long | 是否计算完成1 完成0 未完成 |
|
|
|
|
+| compute_time_from | String | 计算开始时间 |
|
|
|
|
+| compute_time_to | String | 计算结束时间 |
|
|
|
|
+
|
|
|
|
+##### 分精度数据计算详细日志表fjd_0_computedetail
|
|
|
|
+
|
|
|
|
+| | | |
|
|
|
|
+| --------------- | ------ | --------------- |
|
|
|
|
+| 字段名 | 类型 | 说明 |
|
|
|
|
+| building | String | 建筑唯一标识 |
|
|
|
|
+| compute_round | Long | 计算轮次 |
|
|
|
|
+| funcid | Long | 功能号 |
|
|
|
|
+| meter | String | 仪表id |
|
|
|
|
+| operate_time_to | String | 计算操作时间 |
|
|
|
|
+| valid_time_from | String | fjd数据开始时间 |
|
|
|
|
+| valid_time_to | String | fjd数据结束时间 |
|
|
|
|
+
|
|
|
|
+##### 仪表能耗表data_servicedata_*time*
|
|
|
|
+
|
|
|
|
+| | | |
|
|
|
|
+| ---------- | ------ | ------------ |
|
|
|
|
+| 字段名 | 类型 | 说明 |
|
|
|
|
+| building | String | 建筑唯一标识 |
|
|
|
|
+| meter | String | 仪表ID |
|
|
|
|
+| funcid | Long | 功能号 |
|
|
|
|
+| data_time | String | 数据时间 |
|
|
|
|
+| data_value | Double | 能耗数据 |
|
|
|
|
+
|
|
|
|
+##### 设备能耗记录表data_objectdata_*time*
|
|
|
|
+
|
|
|
|
+| | | |
|
|
|
|
+| ---------- | ---- | ------------ |
|
|
|
|
+| 字段名 | 类型 | 说明 |
|
|
|
|
+| building | | 建筑唯一标识 |
|
|
|
|
+| data_time | | 数据时间 |
|
|
|
|
+| data_value | | 能耗数据 |
|
|
|
|
+| objectSign | | 设备唯一标识 |
|
|
|
|
+
|
|
|
|
+##### 分项能耗记录表data_energydata_*time*
|
|
|
|
+
|
|
|
|
+| | | |
|
|
|
|
+| ------------------- | ------ | ------------------ |
|
|
|
|
+| 字段名 | 类型 | 说明 |
|
|
|
|
+| building | String | 建筑唯一标识 |
|
|
|
|
+| data_time | String | 数据时间 |
|
|
|
|
+| data_value | Double | 能耗数据 |
|
|
|
|
+| energyModelNodeSign | String | 能耗模型树节点标识 |
|
|
|
|
+| energyModelSign | String | 能耗模型标识 |
|
|
|
|
+
|
|
|
|
+##### 计算任务表ci_instance
|
|
|
|
+
|
|
|
|
+| | | |
|
|
|
|
+| ------------------------ | ------ | ------------------------------------------------------------ |
|
|
|
|
+| 字段 | 类型 | 说明 |
|
|
|
|
+| object_sign | String | 1101050001,1101050001-001 |
|
|
|
|
+| instance_name | String | fjd_0_Acc_EnumV:计算分精度servicedata:能耗计算EMS:调研中计算单元和分项能耗计算stat_Inst:数据统计计算 |
|
|
|
|
+| flag_valid | Long | |
|
|
|
|
+| compute_interval_seconds | | 计算时间间隔(秒) |
|
|
|
|
+
|
|
|
|
+##### 计算任务输入信息表ci_instanceinput
|
|
|
|
+
|
|
|
|
+| | | | |
|
|
|
|
+| -------------------- | ------ | ---- | ------------------------------------------------------- |
|
|
|
|
+| 字段 | 类型 | 说明 | 举例 |
|
|
|
|
+| dao_key | String | | {"building":"1101050001","meter":"1001","funcid":10101} |
|
|
|
|
+| dao_type | String | | fjd_near |
|
|
|
|
+| data_class | String | | near |
|
|
|
|
+| input_sign | String | | meterdata_1001_10101 |
|
|
|
|
+| instance_name | String | | servicedata |
|
|
|
|
+| object_sign | String | | 1101050001 |
|
|
|
|
+| source_instance_name | String | | fjd |
|
|
|
|
+| source_object_sign | String | | 1101050001 |
|
|
|
|
+| source_output_sign | String | | 1001_10101 |
|
|
|
|
+| time_period | String | | 15min |
|
|
|
|
+
|
|
|
|
+##### 计算任务输出信息表ci_instanceoutput
|
|
|
|
+
|
|
|
|
+| | | | |
|
|
|
|
+| ---------------------- | ------- | ------------ | ------------------------------------------------------- |
|
|
|
|
+| 字段 | 类型 | 说明 | 举例 |
|
|
|
|
+| custom_function_name | String | | |
|
|
|
|
+| custom_paramsMap | String | | |
|
|
|
|
+| dao_key | String | | {"building":"1101050001","meter":"1001","funcid":10101} |
|
|
|
|
+| dao_type | String | | servicedata |
|
|
|
|
+| data_class | String | | consumption |
|
|
|
|
+| expression | String | 计算公式 | (meterdata_1001_10101'+1meterdata_1001_10101)*1.0 |
|
|
|
|
+| instance_name | String | 实例名称 | servicedata |
|
|
|
|
+| mode | String | | expression |
|
|
|
|
+| need_all_var_data | Boolean | | True |
|
|
|
|
+| object_sign | String | 建筑唯一标识 | 1101050001 |
|
|
|
|
+| ouput_sign | String | | servicedata_1001_10101 |
|
|
|
|
+| time_begin | String | | 19700101000000 |
|
|
|
|
+| time_end | String | | 19700102000000 |
|
|
|
|
+| time_period | String | 计算数据密度 | 15min |
|
|
|
|
+| time_period_intialized | Boolean | | True |
|
|
|
|
+
|
|
|
|
+##### 计算日志表ce_computelog
|
|
|
|
+
|
|
|
|
+| | | | |
|
|
|
|
+| ----------------- | ------ | ---------------- | -------------- |
|
|
|
|
+| 字段 | 类型 | 说明 | 举例 |
|
|
|
|
+| compute_round | Long | 所计算的当前轮数 | 2110 |
|
|
|
|
+| compute_time_from | String | 计算开始时间 | 20180707021500 |
|
|
|
|
+| compute_time_to | String | 计算结束时间 | 20180707023000 |
|
|
|
|
+| instance_name | String | 计算任务类型名称 | servicedata |
|
|
|
|
+| is_finished | Long | 是否计算结束1 是 | 1 |
|
|
|
|
+| object_sign | String | 项目表示 | 3101130001 |
|
|
|
|
+
|
|
|
|
+##### 计算日志输入信息表ce_computeinputlog
|
|
|
|
+
|
|
|
|
+| | | | |
|
|
|
|
+| -------------------- | ------ | ------------ | ----------- |
|
|
|
|
+| 字段 | 类型 | 说明 | 举例 |
|
|
|
|
+| compute_round | Long | 计算轮次 | 27 |
|
|
|
|
+| compute_rounds | String | | 13,101 |
|
|
|
|
+| instance_name | String | 计算实例名称 | servicedata |
|
|
|
|
+| object_sign | String | 建筑唯一标识 | 1302020001 |
|
|
|
|
+| source_instance_name | String | | fjd_1 |
|
|
|
|
+| source_object_sign | String | | 1302020001 |
|
|
|
|
+
|
|
|
|
+##### 计算日志输入信息详细表ce_computeinputdetail
|
|
|
|
+
|
|
|
|
+| | | | |
|
|
|
|
+| --------------- | ------ | ---- | ---------------- |
|
|
|
|
+| 字段 | 类型 | 说明 | 举例 |
|
|
|
|
+| compute_round | Long | | 1 |
|
|
|
|
+| input_sign | String | | meterdata_1001_0 |
|
|
|
|
+| instance_name | String | | servicedata |
|
|
|
|
+| object_sign | String | | 1302020001 |
|
|
|
|
+| valid_time_from | String | | 20160101000000 |
|
|
|
|
+| valid_time_to | String | | 20160108000000 |
|
|
|
|
+
|
|
|
|
+##### 计算日志输出信息详细表ce_computeoutputdetail
|
|
|
|
+
|
|
|
|
+| | | | |
|
|
|
|
+| --------------- | ------ | ---- | ---------------------- |
|
|
|
|
+| 字段 | 类型 | 说明 | 举例 |
|
|
|
|
+| compute_round | Long | | 1 |
|
|
|
|
+| instance_name | String | | servicedata |
|
|
|
|
+| object_sign | String | | 1302020001 |
|
|
|
|
+| output_sign | String | | servicedata_1001_10101 |
|
|
|
|
+| valid_time_from | String | | 20151231234500 |
|
|
|
|
+| valid_time_to | String | | 20160108000000 |
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|