# IOT数据现状 ## 1.静态非IOT数据接口 [BDTP-数据服务](http://39.102.54.110:9009/) ## 2.BDTP-数据服务(物理世界)与IOT数据如何关联? BDTP-数据服务中的对象数据如下: ``` { "id": "Eq32060500018c5dd28e0fb1470db61ed3de66a580c2", "classCode": "WSDWPP", "projectId": "Pj3206050001", "grouping": 1, "objType": "equipment", "valid": 1, "name": "生活给水水泵-VJEY2", "localId": "Pump02", "localName": "2号生活给水水泵", "createTime": 1630928465000, "createApp": "datacenter", "updateTime": 1631066318000, "updateApp": "datacenter", "virtualInfoCodes": [], "modeControl": "1", "bimId": "Pj32060500017f8cd1a80eb411ec986e1f9988da50f8F6:1264008", "bimLocation": "-107816.2,-61683.94,22758.0", "runStatus": "2004-907", "pipePressure": "2004-904", "pumpTemperature": "2004-903", "faultStatus": "2004-906" } ``` 其中下面四个信息点(对象属性)是动态信息点,其他信息点是静态信息点; 动态信息点,需要根据一个唯一标识去IOT服务获取数据,目前使用的唯一标识是表号-功能,同一个项目下,表号-功能号是唯一 的,所有动态信息点中保存的数据格式是表号-功能号。 ``` "runStatus": "2004-907", "pipePressure": "2004-904", "pumpTemperature": "2004-903", "faultStatus": "2004-906" ``` 目前,物联网、工业互联网、车联网等智能互联技术在各个行业场景下快速普及应用,导致联网传感器、智能设备数量急剧增加,随之而来的海量时序监控数据存储、处理问题,也为时序数据库高效压缩、存储数据能力、查询分析提出了更高的要求。 #### 时序数据(Time Series) 时序数据指数据元组根据时间戳(ti)升序排列的数据集合,可以被划分为: 1、单变量时序(Univariate Time Series,UTS):每次采集的数据元组集合为单个实数变量。 2、多变量时序(Multivariate Time Series ,MTS):每次采集的数据元组集合由多个实数序列组成,每个组成部分对映时序一个特征。 用数学范式表达时序可以被定义为: ![640](640.jpg) 示例: | ... | time | data | ... | | ---- | ------------------- | ------- | ---- | | ... | 2000­10­10 00:10:03 | 1005.00 | ... | | ... | 2000­10­10 00:10:21 | 1100.00 | ... | | .. | 2000­10­10 00:11:16 | 1192.00 | .. | #### 建筑IOT数据存储 | 项目id(projectId) | 表号(meter) | 功能号(funcid) | 采集时间(receiveTime) | 数据值(data) | 是否高频(gaopin) | | ----------------- | ------------- | ---------------- | ----------------------- | -------------- | ------------------ | | 1101020001 | 67C8081 | 11101 | 20210601150948 | 23.9 | TRUE | | 1101020001 | 67C8081 | 11201 | 20210601150948 | 26.6 | FALSE | | 1101070037 | 1001 | 11 | 20010203040506 | 3.1 | FALSE | ### 3.1 时序数据分类 #### 数据频率区分 (1)低频:采集频率比较低,几分钟一个数据,比如:有功电能、温湿度、CO2、CO等 (2)高频:采集频率比较高,几秒一个数据,比如:电流、电压、功率等 #### 按照物理含义分类 **(1)累积量 Accumulated quantity, abbr.** **Acc** **(Acc)** 数值沿时间轴累计,连续性数值时变量。 例如:电耗,冷量,热量,水耗,燃气量,蒸汽量等,以及可以转化为此类特性的参数,如缴费剩余金额值等 **(2)瞬时量 Instantaneous quantity, abbr.** **Inst** **(Inst)** 数值沿时间轴连续变化的时变量,在物理意义上常表现为累积量的一阶导数。 例如:温度,压力,CO2浓度,电流,功率等 **(3)状态量 Enumerate variable quantity, abbr. Enumv(Enumv)** 延连续时间轴只有给定整数数值状态的时变量。 例如:冷却塔风机档位(0. 停,1. 低,2. 高),风机盘管风机档位(0. 停,1. 低,2. 中,3. 高)等 **(4)通断变量 Boolean variable quantity, abbr.** **Boolv** **(Boolv)** 延连续时间轴只有0/1两种数值状态的时变量。 例如:设备开关状态,系统报警状态,手自动状态等 **(5)阶跃变量(Step)** **(6)瞬时累计量(InAc)** **(7)累计瞬时量(AcIn)** **(8)文本类型** 状态量的特殊情况,直接保存,不参与分精度计算 #### 按照时间连续性分类 **(1)连续变量** 连续量,continuous quantity,abbr. Contu 数据对应固定的时间轴,即时间间隔固定,或相对固定。 例如:连续采集的数据,分精度数据。 **(2)脉冲变量** 脉冲量,pulse quantity,abbr. Pulse 随时间偶发性产生数据,时变量间的时间间隔没有规律,也不对应固定间隔的时间轴。 例如:报警消息,控制开指令,控制关指令等。 ### 3.2 分精度数据库设定 - 分精度数据是系统中给定的规范时间步长的时序变量数据; - 分精度数据库按照功能划分为操作数据库(OperationDB),修补数据库(AutorepairDB,ManurepairDB)和关联数据库(RelativeDB); - 三类数据库之间的关系如下 ![image1](C:/Users/interface-doc/image/iot/image1.png) - 根据原始数据的采集周期,确定相对应操作数据库的分精度步长,即每个参数都对应一个采集属性CollectProperty = {(Contu,T ) / Pulse}. - 系统暂时只处理低频采集数据,对于采集频率<1min的高频数据,系统不会长期保存原始数据,分精度数据按照低频数据的标准统一处理 - 采集周期无论长短,系统都会提供分精度处理。当采集周期较长时,系统提供的短周期分精度数据不能保障其有效性。即根据采集属性参数的情况,关联数据库中,有些库ProtectFlag = 1(1.不保障;0.保障) 下表标记说明:1)黑体加粗字,蓝色框,为操作数据库;2)其余均为相关数据库;3)橙色框,为不保障数据库。 ![image2](C:/Users/interface-doc/image/iot/image2.jpg) ![image3](../../../interface-doc/image/iot/image3.jpg)