一种基于物联网中间件的物联网时序大数据处理方法技术

技术编号:28419761 阅读:24 留言:0更新日期:2021-05-11 18:26
本发明专利技术公开了一种基于物联网中间件的物联网时序大数据处理方法,包括数据库、入库服务和查询服务三部分;数据库基于TDengine时序数据库进行设计,存储在一个数据库内的数据具有相同的数据特征;对每个采集点的每个变量建立一张子表,子表的第一列为时间戳,子表的第二列为变量数据,将变量数据的字段类型设置为保证数据存储范围的最小格式;各数据库内,将变量数据的字段类型相同的子表建立在一张超级表内,采集点的静态属性作为标签通过超级表保存在元数据节点中。本发明专利技术能满足物联网数据采集场景中不断增长且容量巨大的存储和时序数据的管理的业务需求;采用本发明专利技术提供时序数据处理架构,并发入库和查询统计的效果明显提升。

【技术实现步骤摘要】
一种基于物联网中间件的物联网时序大数据处理方法
本专利技术涉及一种基于物联网中间件的物联网时序大数据处理方法,属于物联网时序数据的存储和查询技术。
技术介绍
随着物联网技术广泛应用,物联网特征数据急速增长,数据量变的越来越大,类型也越来越多,传统结构化数据库已无法满足具有物联网特征的时序数据存储和查询要求。因此使用时序数据库处理物联网特征数据成为必然,时序数据是带时间标签的时间序列数据,其典型特点是产生频率快、依赖于采集时间、采集点多信息量大。为了保证设备安全、稳定、高效地运行,通常会对各类设备的运行状态进行实时监测,采集获得大量的时序数据(常规的实时监测系统均有上万个监测点,每天产生几十GB甚至更大的数据量)可作为设备运行状态评估、设备运行故障预警、设备可靠性分析等高级应用的基础,因而,如何快速、高效、及时地处理海量实时数据,成为工业、电力、环保、水务暖通等行业面临的一项重大挑战。
技术实现思路
专利技术目的:为了克服现有技术中存在的不足,本专利技术提供一种基于物联网中间件的物联网时序大数据处理方法,解决现在市面上大多基于结构化数据库对时序数据存储和查询速度慢、效率低和实时性差的问题。技术方案:为实现上述目的,本专利技术采用的技术方案为:一种基于物联网中间件的物联网时序大数据处理方法,包括数据库、入库服务和查询服务三部分;所述数据库基于TDengine时序数据库进行设计,不同项目场景的数据存储在不同的数据库内,存储在一个数据库内的数据具有相同的数据特征(使得不同项目场景下的数据都能最大效率的存储),数据库基于项目场景命名;对每个采集点的每个变量建立一张子表,子表的第一列为时间戳,子表的第二列为变量数据,将变量数据的字段类型(整型、浮点型、字符串等)设置为保证数据存储范围的最小格式,子表基于变量名称命名;各数据库内,将变量数据的字段类型相同的子表建立在一张超级表内,采集点的静态属性没有直接存储在子表中,而是作为标签(这些标签将作为过滤条件,便于采集点之间的聚合统计操作)通过超级表保存在元数据节点中,超级表基于字段类型命名;在子表和数据库之间设立超级表是为了保证数据特征的一致性,并且也便于采集点聚合统计操作;所述入库服务基于微服务架构、支持数据存储策略配置、采用分库分表的设计方式;物联网采集点提供的数据经物联网中间件进行格式统一后存储在目标子表内,按照项目场景、数据类型、字段类型、变量的顺序循迹或建立目标子表;所述查询服务基于微服务架构、采用项目场景为单位的分库查询方式;使用预统计方法提前设定统计数据的时间范围和统计数据的显示方式,在统计数据收集完成后自动显示统计数据。本案创造性地将TDengine时序数据库引入到物联网或工控设备场景中,打破了一直以来使用SQL、NoSQL数据库的惯例。TDengine时序数据库与目前多数物联网或工控设备场景中使用的SQL、NoSQL数据库相比需要定义schema,会降低数据插入的灵活性;但是,物联网或工控设备场景中的schema是极少会发生变动的,因而,这种插入灵活性的损失就可以忽视了;同时,TDengine时序数据库采用结构化数据来进行处理的方式,会让数据库查询、分析的性能得到了数量级的提升。本案对子表的建立也采用更为新颖的方式,而非传统的、单一的基于采集点建立数据库或基于变量建立数据库;我们将项目场景、数据类型、字段类型和变量进行融合,对不同的项目场景建立不同的数据库,让同一个数据库内的数据类型保持相同,对不同字段类型的变量数据建立不同的超级表,对不同的变量建立不同的子表。这种设计能够大幅减少随机读取操作,成数量级地提升读取和查询速度。而且由于不同数据采集设备产生数据的过程完全独立,每个数据采集设备只产生属于自己的数据,子表中的每一列也就只有一个写入者。这样每个子表就可以采用无锁方式来写,写入速度就能大幅提升。同时,对于一个数据采集点而言,其产生的数据是时序的,因此写的操作可用追加的方式实现,进一步大幅提高数据写入速度。入库服务采用微服务架构,根据数据处理量大小可支持单机或集群部署,入库服务通过获取中间件上报的各种传感器、仪表、PLC(可编程逻辑控制器)等设备采集数据,实时的将数据写入数据库。入库服务支持数据存储策略配置,数据库创建时可设置数据保留天数、每个虚拟节点允许创建表的最大数目、内存块大小、每张表最大的内存块数以及每张表的内存块数,保证数据存储必要和合理性,对于使用者在有限的存储空间内保留最关注的数据的场景有极强实用性。入库服务数据处理层采用分库分表设计方式,根据项目场景划分数据库,首先定义场景编号,根据场景编号创建数据库,保证每个数据库中只处理一种项目场景下的数据,每个采集点的每个变量存储在一张子表中,能够提高入库的效率,也能够极大地减少数据入库检索的范围。查询服务采用微服务架构,根据用户查询请求的多少可支持单机或集群部署,查询服务按照分库分表的方式查询,先根据项目场景选择对应的数据库,然后根据要查询的数据条件进行数据查询或统计,以此方式降低检索和聚合查询范围从而使查询速度更快。查询服务根据使用场景的各种查询条件,可以按条件选择对应库,查询数据并可以做数据分析处理,比如要查询查询最近一月每天每4小时设备采集数据平均值,后台查询方式为:SELECTAVG(value)asavgFROMsuperTableWHEREdataid=30ts>now-1mINTERVAL(4h);同样条件10亿条数据查询,使用基于传统数据库查询方案,统计平均值为76秒,而使用时序数据库查询方案,统计平均值只需要6秒。查询服务也为用户提供便捷的条件录入和丰富图表,使用户对数据分析时可以便捷的选择条件维度,并通过各种图表(指标卡、表格、柱状图、折线图、饼图等)直观展示。在字段类型的选择上,我们选择保证数据存储范围的最小格式,能够大量节省数据存储空间。比如:一个开关量存储,字段类型可设置为Bool类型,存储空间只占1Byte;再比如:一个浮点数变量,字段类型则可设置为Float类型,存储空间只占4Byte。综上,本案基于物联网或工控设备场景对数据处理速度的高要求,从数据库设计、表格设计、入库设计和查询设计等各个方面进行了优化,极大地提高了数据处理速度。具体的,所述数据特征包括还包括保留时长、备份份数、单个字段大小、文件块大小、是否压缩中的一个或两个以上。具体的,所述入库服务过程中:若对物联网采集点采集到的变量已经定义对应的子表,则直接将变量数据储到子表中;若没有定义对应的子表,则先在对应的超级表下建立子表,然后将变量数据储到子表中;若没有定义对应的超级表,则先在对应的数据库下建立超级表,然后在超级表下建立子表,然后将变量数据储到子表中;若没定义对应的数据库,则先建立数据库,然后在数据库下建立超级表,然后在超级表下建立子表,然后将变量数据储到子表中。具体的,所述采集点的静态属性包括地理位置、设备型号、设备组ID和管理员ID中的一个以上。具体的,所述查询服务提供条件录入和图表展示功能,数据查询服务能够为用户本文档来自技高网...

【技术保护点】
1.一种基于物联网中间件的物联网时序大数据处理方法,其特征在于:包括数据库、入库服务和查询服务三部分;/n所述数据库基于TDengine时序数据库进行设计,不同项目场景的数据存储在不同的数据库内,存储在一个数据库内的数据具有相同的数据特征,数据库基于项目场景命名;对每个采集点的每个变量建立一张子表,子表的第一列为时间戳,子表的第二列为变量数据,将变量数据的字段类型设置为保证数据存储范围的最小格式,子表基于变量名称命名;各数据库内,将变量数据的字段类型相同的子表建立在一张超级表内,采集点的静态属性作为标签通过超级表保存在元数据节点中,超级表基于字段类型命名;/n所述入库服务基于微服务架构、支持数据存储策略配置、采用分库分表的设计方式;物联网采集点提供的数据经物联网中间件进行格式统一后存储在目标子表内,按照项目场景、数据类型、字段类型、变量的顺序循迹或建立目标子表;/n所述查询服务基于微服务架构、采用项目场景为单位的分库查询方式;使用预统计方法提前设定统计数据的时间范围和统计数据的显示方式,在统计数据收集完成后自动显示统计数据。/n

【技术特征摘要】
1.一种基于物联网中间件的物联网时序大数据处理方法,其特征在于:包括数据库、入库服务和查询服务三部分;
所述数据库基于TDengine时序数据库进行设计,不同项目场景的数据存储在不同的数据库内,存储在一个数据库内的数据具有相同的数据特征,数据库基于项目场景命名;对每个采集点的每个变量建立一张子表,子表的第一列为时间戳,子表的第二列为变量数据,将变量数据的字段类型设置为保证数据存储范围的最小格式,子表基于变量名称命名;各数据库内,将变量数据的字段类型相同的子表建立在一张超级表内,采集点的静态属性作为标签通过超级表保存在元数据节点中,超级表基于字段类型命名;
所述入库服务基于微服务架构、支持数据存储策略配置、采用分库分表的设计方式;物联网采集点提供的数据经物联网中间件进行格式统一后存储在目标子表内,按照项目场景、数据类型、字段类型、变量的顺序循迹或建立目标子表;
所述查询服务基于微服务架构、采用项目场景为单位的分库查询方式;使用预统计方法提前设定统计数据的时间范围和统计数据的显示方式,在统计数据收集完成后自动显示统计数据。


2.根据权利要...

【专利技术属性】
技术研发人员:石守业蔡明涛
申请(专利权)人:合沃物联技术南京有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1