一种工业设备数据的存储方法及装置与流程

文档序号:30700852发布日期:2022-07-09 19:42阅读:134来源:国知局
1.本发明涉及工业设备数据处理
技术领域
:,特别是指一种工业设备数据的存储方法及装置。
背景技术
::2.在企业数字化转型中,数据是数字智能化的原料,数据需要大量的采集、存储和处理。相关的大数据称为工业大数据;工业大数据的体量非常庞大,其中,很大比例是工业物联网数据,主要是工业设备传感器所不断采集的有时间戳和感知/测量值的时间序列数据。工业设备是工业生产的主要基础设施之一,对工业设备的信息化建模和管理是企业信息化发展的结果,工业设备领域模型是重要组成部分。3.由于工业设备(尤其是生产环节中的设备)造价昂贵,且承担着工业生产重任,力求长时健康运行,通常在工业设备上安装了众多的传感器,用于监测工业设备的运行状况;同时,为了避免工业设备上的传感器自身故障导致的问题(如传感器失效)而造成的对工业设备运行情况的错误指示,通常设置传感器的冗余和/或对位传感器;这样,基于工业设备上安装的众多的传感器以及传感器的冗余和/或对位传感器,致使所要存储的数据量大大增加。技术实现要素:4.本发明提供了一种工业设备数据的存储方法及装置。提高了数据的存储效率、降低了数据的存储成本,同时,还可以支持更高效的数据访问,降低了系统运行维护的难度。5.为解决上述技术问题,本发明的实施例提供以下方案:一种工业设备数据的存储方法,包括:获取工业设备的传感器组信息、底层存储信息以及所述传感器组信息对应的传感器时间序列信息;所述传感器组信息包括至少一个传感器组以及所述至少一个传感器组的集合;根据所述传感器组信息和底层存储信息,对待存储的传感器时间序列数据进行编码,得到编码数据;对所述编码数据进行压缩处理,得到压缩数据;根据所述压缩数据,确定所述压缩数据的统计信息;将所述统计信息和所述压缩数据存入底层存储器。6.可选的,所述底层存储信息包括底层存储类型和所述底层存储类型的访问信息;所述底层存储类型包括:行式存储型;列式存储型。7.可选的,当所述底层存储信息中的底层存储类型为行式存储型时,根据所述传感器组信息和底层存储信息,对待存储的传感器时间序列数据进行编码,得到编码数据,包括:对待存储的传感器时间序列数据进行数据分段处理,得到至少一组分段数据;确定所述至少一组分段数据的数据类型;根据所述数据类型,对每一组的分段数据进行逐行编码处理,直至完成所述分段数据内的全部数据的编码,得到编码数据。8.可选的,当所述底层存储信息中的底层存储类型为列式存储型数据时,根据所述传感器组信息和底层存储信息,对待存储的传感器时间序列数据进行编码,得到编码数据,包括:对待存储的传感器时间序列数据进行数据分段处理,得到至少一组分段数据;确定所述每一组分段数据在时间维度的变化度指标;根据所述变化度指标,对所述每一组分段数据进行编码,得到编码数据。9.可选的,当所述变化度指标大于预设阈值时,根据所述变化度指标,对所述每一组分段数据进行编码,得到编码数据,包括:确定所述每一组分段数据的数据类型;根据所述数据类型,对每一组的分段数据进行逐行编码处理,直至完成所述分段数据内的全部数据的编码,得到第一编码数据;对所述第一编码数据进行原生编码处理,得到第二编码数据。10.可选的,当所述变化度指标小于或等于预设阈值时,根据所述变化度指标,对所述每一组分段数据进行编码,得到编码数据,包括:对所述每一组分段数据进行原生编码处理,得到编码数据。11.可选的,将所述统计信息和所述压缩数据存入底层存储器,包括:基于所述至少一组分段数据的维度和度量,对统计信息进行多层次汇总,得到汇总数据;按照预设存储方式,将所述汇总数据和压缩数据存入底层存储器。12.可选的,所述统计信息包括以下至少一项:全部传感器组对应的传感器列表;基准传感器;编码算法信息;压缩算法信息;每个传感器的传感器统计信息;每一组传感器组的组统计信息;所述组统计信息包括:协方差值;所述传感器组中的所有传感器的数据值平均值;其中,所述传感器统计信息包括以下至少一项:开始时间;结束时间;第一个值;最后一个值;最小值;最大值;数据点计数;数据值求和;方差值。13.可选的,工业设备数据的存储方法,还包括:获取读取请求;基于所述读取请求,根据所述底层存储器中的统计信息、压缩数据以及元数据信息存储器中的访问信息,确定访问数据;对所述访问数据依次进行解压和解码处理,得到读取结果。14.本发明还提供一种工业设备数据的存储装置,所述装置包括:获取模块,用于获取工业设备的传感器组信息、底层存储信息以及所述传感器组信息对应的传感器时间序列信息;所述传感器组信息包括至少一个传感器组以及所述至少一个传感器组的集合;处理模块,用于根据所述传感器组信息和底层存储信息,对待存储的传感器时间序列数据进行编码,得到编码数据;对所述编码数据进行压缩处理,得到压缩数据;根据所述压缩数据,确定所述压缩数据的统计信息;将所述统计信息和所述压缩数据写入底层存储器中。15.本发明的上述方案至少包括以下有益效果:本发明的上述方案,通过获取工业设备的传感器组信息、底层存储信息以及所述传感器组信息对应的传感器时间序列信息;所述传感器组信息包括至少一个传感器组以及所述至少一个传感器组的集合;根据所述传感器组信息和底层存储信息,对待存储的传感器时间序列数据进行编码,得到编码数据;对所述编码数据进行压缩处理,得到压缩数据;根据所述压缩数据,确定所述压缩数据的统计信息;将所述统计信息和所述压缩数据存入底层存储器。提高了数据的存储效率、降低了数据的存储成本,在规模的待存储的数据量下,通过本发明的上述方案所需的存储装置的数量大大降低,同时,还可以支持更高效的数据访问,降低了系统运行维护的难度。附图说明16.图1为本发明实施例的工业设备数据的存储方法的流程示意图;图2为本发明提供的具体的实施例中传感器对位组的示意图;图3为本发明提供的具体的实施例中传感器冗余组的示意图;图4为本发明提供的具体的实施例中工业设备数据的存储的流程示意图;图5为本发明提供的具体的实施例中对传感器时间序列数据进行数据编码与压缩的流程示意图;图6为本发明实施例的工业设备数据的存储系统的结构示意图;图7为本发明实施例的工业设备数据的存储装置的结构示意图。具体实施方式17.下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。18.如图1所示,本发明提供一种工业设备数据的存储方法,包括:步骤11,获取工业设备的传感器组信息、底层存储信息以及所述传感器组信息对应的传感器时间序列信息;所述传感器组信息包括至少一个传感器组以及所述至少一个传感器组的集合;步骤12,根据所述传感器组信息和底层存储信息,对待存储的传感器时间序列数据进行编码,得到编码数据;步骤13,对所述编码数据进行压缩处理,得到压缩数据;步骤14,根据所述压缩数据,确定所述压缩数据的统计信息;步骤15,将所述统计信息和所述压缩数据存入底层存储器。19.该实施例中,传感器组信息是基于工业设备领域模型库得到的,底层存储信息包括底层存储类型和所述底层存储类型的访问信息,传感器时间序列信息是根据工业设备的待写入的传感器时间序列数据进行解析和信息读取得到的,通过基于底层存储信息,对待存储的传感器时间序列数据进行编码,得到编码数据,对编码数据进行压缩,得到压缩数据,并根据压缩数据确定压缩数据的统计信息,将统计信息和压缩数据存储至底层存储器;提高了数据的存储效率、降低了数据的存储成本,同时,还可以支持更高效的数据访问,降低了系统运行维护的难度。20.其中,步骤11中获取工业设备的传感器组信息,包括:步骤11a1,读取工业设备领域模型库中的领域模型信息;所述领域模型信息包括工业设备的物理关系;传感器测点之间的物理关系;测点类型关系;步骤11a2,根据所述领域模型信息,从所述工业设备领域模型库中识别得到传感器组;步骤11a3,根据所述传感器组,得到传感器组信息。21.本实施例中,每个传感器组包括至少两个相互冗余/对位的传感器;对于同一工业设备,若第一传感器和第二传感器互为冗余/对位的传感器,则第一传感器和第二传感器位于同一传感器组中;传感器组构成一个传感器上的等价类,所有传感器组构成的集合为传感器等价类簇;传感器组包括传感器冗余组和传感器对位组,传感器冗余组是指设置在工业设备上,地理上处于临近位置的多个同类传感器;传感器对位组是指设置在工业设备上,地理上处于相对位置的多个同类传感器;需要说明的是,相互冗余的传感器挂接在相同的工业设备上,其物理位置临近,传感器冗余组的布置初衷是为了做冗余感知;相互对位的传感器挂接在相同的工业设备上,是在相对的物理位置上所布置的,具有同种作用和相同类型。22.其中,工业设备领域模型库可以是多种系统中的至少一个,这里说的系统可以是工业信息化的设备管理系统、设备资产管理系统、工业设备物联网平台、工业设备感知时间序列数据管理系统,也可以是其他系统,本技术不以此为限制。23.一个具体的实施例中,如图2所示,图2示出了发电机定子铁芯的示意图,发电机定子铁芯设置有48槽,每槽分上下两层线棒,上下两层线棒共计96根,每根线棒进出水都装有测温探头(上层线棒的测温探头201和下层线棒的测温探头202),共计96个;线棒层间装有层间温度探头203共计48个,则该发电机定子铁芯的48槽对应的48个上层线棒的测温探头201互为对位传感器,该48个上层线棒的测温探头201构成一个传感器对位组a;该发电机定子铁芯的48槽对应的48个下层线棒的测温探头202互为对位传感器,该48个下层线棒的测温探头202构成一个传感器对位组b;该发电机定子铁芯的48槽对应的48个层间温度探头203互为对位传感器,该48个层间温度探头203构成一个传感器对位组c;因此,该发电机定子铁芯上设置有三组传感器对位组a、b以及c。24.如图3所示,又一个具体的实施例中,工业烟囱30中设置有2个烟气湿度仪(烟气湿度仪31和烟气湿度仪32),这2个温度探头均用于测量该工业烟囱在排烟时的烟囱口温度,则该烟气湿度仪31和烟气湿度仪32互为冗余传感器,该2个温度探头构成一个传感器冗余组。25.本发明一可选的实施例中,步骤11中获取工业设备的传感器时间序列信息,包括:步骤11b1,对工业设备的待写入的传感器时间序列数据进行解析,得到传感器时间序列信息;其中,传感器时间序列信息包括传感器测点的名称;传感器测点的数据类型。26.本发明一可选的实施例中,所述底层存储信息包括底层存储类型和所述底层存储类型的访问信息;所述底层存储类型包括:行式存储型;列式存储型。27.本实施例中,底层存储类型包括:行式存储型;列式存储型;其中,行式存储型优选为紧凑行式存储型;具体的,可以包括大数据存储文件格式、列族存储、文档存储、文本存储、关系数据库以及自定义行式存储格式等,本技术不以此为限制;大数据存储文件格式常见的有avro格式、sequencefile格式、csv(comma-separatedvalues,逗号分隔值)格式、json(javascriptobjectnotation,js对象简谱)格式等;列族存储文件格式常见的有hbase(一种高可靠性、高性能、面向列族、可伸缩的分布式存储系统,即所谓hadoopdatabase)格式、opentsdb格式、cassandra格式等;文档存储文件格式常见的有mongodb格式等;关系数据库文件格式为非定长或可压缩的数据类型字段,常见的有json格式、jsonb格式、blob格式等;列式存储型可以包括大数据存储文件格式、列式存储数据仓库、时间序列数据库以及自定义列式存储格式等,本技术不以此为限制;大数据存储文件格式常见的有parquet格式、orc格式等;列式存储数据仓库常见的有greenplumaot(column-oriented)(面向列存储的greenplum数据库中的aot表)、clickhouse、doris等;时间序列数据库常见的有influxdb、iotdb等。28.需要说明的是,底层存储类型还可以包括不是行式存储型,且不是列式存储型的其他存储类型,本技术不以此为限制。29.底层存储类型的访问信息包括本发明一可选的实施例中,当所述底层存储信息中的底层存储类型为行式存储型时,步骤12,包括:步骤12a1,对所述待存储的传感器时间序列数据进行数据分段处理,得到至少一组分段数据;步骤12a2,确定所述每一组分段数据的数据类型;步骤12a3,根据所述每一组分段数据的数据类型,对每一组的分段数据进行逐行编码处理,直至完成所述分段数据内的全部数据的编码,得到编码数据。30.本实施例中,当底层存储类型为行式存储型时,对待存储的传感器时间序列数据进行数据分段处理,这里的数据分段处理包括:步骤12a11,基于每个传感器组,读取待存储的传感器时间序列数据中小于预设指定阈值的最大数目的数据记录,得到至少一组分段数据。31.该实施例中,预设指定阈值用于限制每个数据分段的一个度量,其定义形式可以是数据条数,也可以是数据的字节数,本技术不以此为限制,可根据实际的数据分组需求来确定预设指定阈值。通过分段处理,可将待存储的传感器时间序列数据分为至少一组分段数据,后续对待存储的传感器时间序列数据的处理,优选地是对每一组分段数据进行处理,直至处理完待存储的传感器时间序列数据对应的全部分段数据。其中,可将每个分段数据记作sg1,sg1由传感器s1,s2,…,sr构成;进而,确定每一组分段数据的数据类型,根据每一组分段数据的数据类型,对该分段数据进行逐行的编码处理,直至完成所述分段数据内的全部数据的编码,得到编码数据;这里,步骤12a3包括:步骤12a31,当分段数据的数据类型为整型或浮点型时,对所述分段数据的每一行逐行进行第一编码处理,得到直至完成所述分段数据内的全部数据的编码,得到编码数据;其中,所述第一编码处理包括:差分编码;位封装编码;rle(run-lengthencoding,游程编码);gorilla编码;步骤12a32,当分段数据的数据类型不是整型或浮点型时,对所述分段数据的每一行逐行进行第二编码处理,得到直至完成所述分段数据内的全部数据的编码,得到编码数据;其中,所述第二编码处理包括:rle;词典编码;原始值(即不做特殊编码)。32.本实施例中,若分段数据为sg1,sg1由传感器s1,s2,…,sr构成,则可逐行处理分段数据中的s1,s2,…,sr对应的数据。33.本发明一可选的实施例中,当所述底层存储信息中的底层存储类型为列式存储型数据时,步骤12,包括:步骤12b1,对所述待存储的传感器时间序列数据进行数据分段处理,得到至少一组分段数据;步骤12b2,确定所述每一组分段数据在时间维度的变化度指标;步骤12b3,根据所述变化度指标,对所述每一组分段数据进行编码,得到编码数据。34.本实施例中,当底层存储类型为列式存储型数据时,则对待存储的传感器时间序列数据进行数据分段处理,得到至少一组分段数据,即基于每个传感器组,读取待存储的传感器时间序列数据中小于预设指定阈值的最大数目的数据记录,得到至少一组分段数据;计算每一组分段数据在时间维度的变化度指标,这里,步骤12b2包括:步骤12b21,根据所述每一组分段数据,确定分段数据sg1中的每个传感器测点s在分段数据中对应的数据《t1,v1》,《t2,v2》,…,《tm,vm》(即m个二元组);其中,tm为时间,vm为数据对应的值;步骤12b22,按照时间维非降序排列(即按照时间维度从小到大排序),通过公式,确定变化度指标;其中,,为数据对应的值之间的差值,vi为时间ti对应的数据的值,vi+1为时间ti+1对应的数据的值,为变化度指标,avg为平均值函数。35.该实施例中,按照时间维非降序排列即为对于i,1≤i≤m,满足ti=《ti+1。36.确定变化度指标后,根据变化度指标与预设阈值之间的关系,对每一组分段数据进行编码,得到编码数据。37.本发明一可选的实施例中,当所述变化度指标大于预设阈值时,步骤12b3,包括:步骤12b31,确定所述每一组分段数据的数据类型;步骤12b32,根据所述数据类型,对每一组的分段数据进行逐行编码处理,直至完成所述分段数据内的全部数据的编码,得到第一编码数据;步骤12b33,对所述第一编码数据进行原生编码处理,得到第二编码数据。38.本实施例中,当变化度指标大于预设阈值时,根据分段数据的数据类型,对每一组分段数据进行逐行编码处理,直至完成分段数据内的全部数据的编码,得到第一编码数据,这里,需要说明的是,当分段数据的数据类型为整型或浮点型时,对所述分段数据的每一行逐行进行第一编码处理,得到直至完成所述分段数据内的全部数据的编码,得到第一编码数据;当分段数据的数据类型不是整型或浮点型时,对所述分段数据的每一行逐行进行第二编码处理,得到直至完成所述分段数据内的全部数据的编码,得到第一编码数据。39.基于第一编码数据,再次进行原生编码处理,这里的原生编码处理是指按照底层列式存储的原生编码处理的方式对数据进行编码,得到第二编码数据。40.本发明一可选的实施例中,当所述变化度指标小于或等于预设阈值时,步骤12b3,包括:步骤12b34,对所述每一组分段数据进行原生编码处理,得到编码数据。41.该实施例中,当变化度指标小于或等于预设阈值时,对分段数据不再进行逐行编码处理,而是仅根据原生编码处理,得到编码数据。如,使用列式存储型数据的列式存储方法(即列式存储型数据的原生编码处理):parquet文件格式;orc(optimizedrowcolumnar,一种优化的列式存储格式);influxdb(一种时序数据库);iotdb(一种时序数据管理系统)进行编码。其中,这里的原生编码处理是指可用于列式存储型数据的、原有的编码处理的方法,该原有的编码处理的方法可以是一种,也可以是多种,可根据实际情况而定,本技术不以此为限制。42.另外,本发明又一可选的实施例中,当所述底层存储信息中的底层存储类型为其他存储型数据时,步骤12,包括:步骤12c1,对所述待存储的传感器时间序列数据进行数据分段处理,得到至少一组分段数据;步骤12c2,对所述每一组分段数据进行原生编码处理,得到编码数据。43.该实施例中,当底层存储类型为其他存储型数据时,则对待存储的传感器时间序列数据进行数据分段处理后,通过原生编码处理对至少一组分段数据进行原生编码,得到编码数据。其中,这里的原生编码处理是指可用于其他存储型数据的、原有的编码处理的方法,该原有的编码处理的方法可以是一种,也可以是多种,可根据实际情况而定,本技术不以此为限制。44.基于上述底层存储类型的不同,对待存储的传感器时间序列数据进行编码,需要说明的是,若待存储的传感器时间序列数据对应的至少一组分段数据为多种底层存储类型(底层存储类型的数量可根据访问信息确定)时,则需要对分段数据的底层存储类型进行判断,根据不同的底层存储类型对不同的分段数据进行编码和压缩处理,若待存储的传感器时间序列数据对应的至少一组分段数据有且仅有一种底层存储类型(底层存储类型的数量可根据访问信息确定),则不需要对每个分段数据的底层存储类型进行判断,直接基于待存储的传感器时间序列数据的底层存储类型进行编码和压缩处理即可。45.本发明一可选的实施例中,步骤14包括:步骤141,当底层存储类型为行式存储型数据时,对所述编码数据进行第一压缩处理,得到压缩数据;步骤142,当底层存储类型为列式存储型数据或其他存储型数据时,对所述编码数据进行第二压缩处理,得到压缩数据。46.该实施例中,第一压缩处理包括snappy压缩算法;lzo(lempel-ziv-oberhumer)压缩算法;lz4压缩算法;gzip压缩算法;bzip2压缩算法。需要说明的是,第一压缩处理也可以根据第一预设系统参数,不进行压缩处理,即直接将编码数据作为第一压缩处理的结果;第二压缩处理包括:snappy压缩算法;lzo压缩算法;lz4压缩算法;gzip压缩算法;bzip2压缩算法。47.一个具体的实施例中,由8个传感器(c1、c2、c3、c4、c5、c6、c7以及c8)构成一组传感器组,这8个传感器组对应的待存储的传感器时间序列数据如下表所示:表1对表1中的8个传感器的待存储的传感器时间序列数据进行差分位封装编码(本技术的步骤12-步骤14),得到编码后的数据如下表所示:表2根据上述表1和表2可见,原始的数据为:...,1641377755,217,216,216,217,217,217,217,216,1641377785,219,218,218,219,219,219,218,218,...;原始的数据的占用字节数为:...+(8+8*2)+(8+8*2)+...+(8+8*2)+...=192bytes;编码后的数据为:...,1641377755,217,-1,-1,0,0,0,0,-1,1641377785,219,-1,-1,0,0,0,-1,-1,...;经过位封装的方式编码后的数据所占用的字节数为:...+(8+2+7*0.25)+(8+2+7*0.25)+...+(8+2+7*0.25)+...=94bytes;由此可见,经过编码存储后存储的占用字节数下降率了51.0%;进一步的,可得到数据分段的统计信息为:表3本发明一可选的实施例中,步骤15包括:步骤151,基于所述至少一组分段数据的维度和度量,对统计信息进行多层次汇总,得到汇总数据;步骤152,按照预设存储方式,将所述汇总数据和压缩数据存入底层存储器。48.该实施例中,基于每组分段数据的维度和度量,对统计信息进行多层次汇总,这里的维度包括自然时间维度(比如,年、月、日等);分段数据的数据分区(比如以时间分段的《t1,v1》,《t2,v2》,…,《tm,vm》);度量优选为统计度量,这里的统计度量可以包括:分段数据的开始时间;分段数据的结束时间;分段数据的第一个值;分段数据的最后一个值;分段数据中的最小值;分段数据中的最大值;分段数据的数据点计数;分段数据的数据值求和;分段数据的方差值;分段数据的组内所有传感器的数据值平均值;分段数据的组内传感器间协方差值等,将确定的汇总数据,存入底层存储器。49.需要说明的是,步骤15中对统计信息(汇总数据)和压缩数据可以是分别存储于底层存储器中第一存储模块和第二存储模块,其中第一存储模块用于存储统计信息,第二存储模块用于存储压缩数据;也可以是根据待存储的传感器时间序列数据分段处理后的多个分段数据,在第三存储模块内进行分段式的存储,这里的分段式的存储是指,在第三存储模块内的一个时间分段内存储该时间分段对应的统计数据和压缩数据;当然还可以通过其他的存储方式将统计信息和压缩数据存储于底层存储器中,本技术不以此为限制。50.一个具体的实施例中,在工业设备上设置温度传感器,该温度传感器用于测量工业设备运行时的温度,则对该工业设备过去一天(24小时内)统计信息进行多层次汇总(温度平均值),得到汇总数据为:过去24小时内的1000条温度数据的平均值。51.本发明一可选的实施例中,所述统计信息包括以下至少一项:全部传感器组对应的传感器列表;基准传感器;编码算法信息;压缩算法信息;每个传感器的传感器统计信息;每一组传感器组的组统计信息;所述组统计信息包括:协方差值;所述传感器组中的所有传感器的数据值平均值;其中,所述传感器统计信息包括以下至少一项:开始时间;结束时间;第一个值;最后一个值;最小值;最大值;数据点计数;数据值求和;方差值。52.本实施例中,若传感器组内任意两个传感器组成的组可以是m个,则组统计信息的协方差值可以是传感器组内全部的m个任意两个传感器之间的协方差,也可以是r-1个任意两个传感器的协方差,本技术不以此为限制。其中,1《r≤m。53.本发明一可选的实施例中,工业设备数据的存储方法,还包括:步骤16,获取读取请求;步骤17,基于所述读取请求,根据所述底层存储器中的统计信息、压缩数据以及元数据信息存储器中的访问信息,确定访问数据;步骤18,对所述访问数据依次进行解压和解码处理,得到读取结果。54.本实施例中,元数据信息存储器用于存储底层存储信息的存储器,经过步骤12至步骤14处理后,将底层存储信息写入元数据信息存储器,元数据信息存储器中存储有底层存储类型和底层存储类型的访问信息,访问信息包括:传感器和底层存储器之间的映射关系;主机地址;主机端口;数据库;数据库对象的集合;数据表;列;命名空间;列簇;列标识;文件路径;数据库中的表;标签集合;数据字段;时间序列路径。55.进一步的,步骤16,包括:步骤161,对读取请求的语法合法性进行检查,得到检查结果;步骤162,若所述读取请求的检查结果为通过,则对所述读取请求进行解析,得到读取请求的关键信息。56.其中,读取请求的关键信息包括:请求读取数据的传感器列表(含返回字段的表达式);读取的开始时间;读取的结束时间;返回字段中表达式的计算函数;返回字段中表达式的取值过滤条件;返回字段中表达式的时间分组信息(如降采样信息)。57.基于所述读取请求,根据底层存储器中的统计信息、压缩数据和元数据信息存储器中的访问信息,确定访问数据;其中,元数据信息存储器用于存储元数据信息,元数据信息(即底层存储信息)包括:底层存储类型以及底层存储类型的访问信息;常见的存储在底层存储器的实例的访问信息可以包括:(1)postgresql的访问信息可以包括:{host},{port},{database},{schema},{table},{column};如,postgresql的访问信息为:"jdbc:postgresql://10.1.10.1:5432/sensors",public,sensortbl01,s1其中,主机地址host为10.1.10.1,主机端口port为5432,数据库database为sensors,数据库对象的集合schema为public,数据表table为sensortbl01,列column为s1;(2)mysql的访问信息可以包括:{host},{port},{database},{table},{column};如,mysql的访问信息为:"jdbc:mysql://10.1.20.1:3306/sensors",sensortbl02,s2其中,主机地址host为10.1.20.1,主机端口port为3306,数据库database为sensors,数据表table为sensortbl02,列column为s2;(3)hbase的访问信息可以包括:{host},{port},{namespace},{table},{column_family},{column_qualifier};如,hbase的访问信息为:{“host”:“10.1.30.1”,“port”:2181,“namespace”:“default”,“table”:“sensortbl03”,“column_family”:“sensorcf01”,“column_qualifier”:“s3”};其中,主机地址host为10.1.30.1,主机端口port为2181,命名空间namespace为default,数据表table为sensortbl03,列簇column_family为sensorcf01,列标识column_qualifier为s3;(4)hdfs中的parquet文件的访问信息可以包括:{host},{port},{file_path},{column};如,hdfs中的parquet文件的访问信息为:“hdfs://10.1.40.1:9000/user/hive/warehouse/st04/",s4;其中,主机地址host为10.1.40.1,主机端口port为9000,文件路径file_path为/user/hive/warehouse/st04,列column为s4;(5)influxdb的访问信息可以包括:{host},{port},{database},{measurement},{tag_set},{field};如,influxdb的访问信息为:{“host”:“10.1.50.1”,“port”:8086,“database”:“sensors”,“measurement”:“sensorm05”,“tag_set”:“country=china,city=beijing”,“field”:“s5”};其中,主机地址host为10.1.50.1,主机端口port为8086,数据库database为sensors,数据库中的表measurement为sensorm05,标签集合tag_set为“country=china,city=beijing”,数据字段field为s5;其中,tag_set是一个标签(tag)名与标签值的序对的集合;(6)iotdb的访问信息可以包括:{host},{port},{timeseries_path};如,iotdb的访问信息为:"jdbc:iotdb://10.1.60.1:6667/“,“root.china.beijing.factory06.line01.equp02.s6”;其中,主机地址host为10.1.60.1,主机端口port为6667,时间序列路径timeseries_path为“root.china.beijing.factory06.line01.equp02.s6”;其中,timeseries_path是用来表示和寻址一个传感器的路径。58.需要说明的是,元数据信息(即底层存储信息)可以存储在数据库、分布式协调系统、配置服务中心、配置文件或者压缩数据中,也可以存储在其他位置,本技术不以此为限制;另外,在实际应用中,若底层存储器是固定的,则此处的存储在底层存储器的信息也可以存储在待存储的传感器时间序列数据的写入程序逻辑中,即不在此处进行配置;若底层存储器的信息存储在待存储的传感器时间序列数据的写入程序逻辑中,则在编码过程中对列式存储型数据进行变化度阈值判断时的系统参数(预设阈值)也可以是配置好的。59.本发明一可选的实施例中,步骤17包括;步骤171,根据读取请求的关键信息以及统计信息,计算得到待访问(读取)的分段数据列表;步骤172,以元数据信息为输入,获取待访问的分段数据的存储在底层存储器的信息;步骤173,根据所述待访问的分段数据的存储在底层存储器的信息,确定访问数据。60.其中,步骤173包括:步骤1731,获取取值过滤条件;步骤1732,若不存在所述取值过滤条件,则获取待访问的分段数据的计算函数;根据所述计算函数,得到访问数据;步骤1733,若存在所述取值过滤条件,则调用存储管理适配器在原始数据上进行读取访问,得到访问数据。61.步骤1732,包括:步骤17321,若所述计算函数包括计数;均值;最小值;最大值;方差;标准差;协方差;相关系数;组内所有传感器总均值中的至少一项,则将读取请求的起止时间分解为一系列的小的起止时间窗口,并分别进行如下处理:当分段数据的开始时间和结束时间被读取请求的开始时间和结束时间完全包含时,则直接使用所述分段数据对应的统计信息作为第一访问数据;当分段数据的开始时间和结束时间无法被读取请求的开始时间和结束时间完全包含时,基于读取请求中未被包含的剩余的开始时间和结束时间,调用存储管理适配器在原始数据上进行读取,得到第二访问数据;步骤17322,对所述第一访问数据和第二访问数据进行汇总处理,得到访问数据。62.如图4所示,一个具体的实施例中,工业设备数据的存储过程包括:步骤41,读取工业设备领域模型库,并进行适配,得到设备信息、传感器的测点类型、传感器设备与测点之间的关系等信息;步骤42,根据获取的设备信息、传感器的测点类型、传感器设备与测点之间的关系等信息,识别工业设备的传感器组;步骤43,根据传感器组,确定传感器组信息;步骤44,获取或感知底层存储信息,这里的底层存储信息包括底层存储类型和所述底层存储类型的访问信息;步骤45,对工业设备传感器时间序列数据进行解析与信息提取,得到传感器测点的名称以及数据类型等传感器时间序列信息;步骤46,根据工业设备传感器时间序列数据、传感器组信息、底层存储信息以及传感器时间序列信息进行数据编码与压缩,并基于写入存储管理适配器将压缩数据写入;步骤47,将压缩数据写入工业设备传感器时间序列压缩存储数据的底层存储器;步骤48,将底层存储信息写入元数据信息存储库;步骤49,读取工业设备传感器时间序列数据的读取请求,并对该读取请求进行解析,得到解析后的数据读取关键信息;步骤410,根据读取请求、关键信息以及元数据信息存储库,从底层存储器中得到读取结果。63.如图5所示,一个具体的实施例中,步骤46包括:步骤51,获取系统提交的待存储的工业设备传感器时间序列数据;步骤52,对待存储的传感器时间序列数据进行数据分段处理,得到至少一组分段数据;步骤53,根据底层存储信息,判断待存储的传感器时间序列数据中每个分段时间的存储目标位置的底层存储类型;步骤53a,当存储目标位置的底层存储类型为紧凑行式存储型数据时,包括:步骤53a1,对紧凑行式存储型数据的分段数据依次进行编码和压缩处理,得到压缩数据;步骤53a2,计算压缩数据的统计信息;步骤53a3,将压缩数据和统计信息存入紧凑行式存储型的底层存储器中;步骤53b,当存储目标位置的底层存储类型为列式存储型数据时,包括:步骤53b1,计算列式存储型数据的分段数据沿时间维度变化的变化度指标;步骤53b2,判断该变化度指标与预设阈值的大小关系;步骤53b3,若变化度指标大于预设阈值,则对数据列式存储型数据的分段数据依次进行编码和压缩处理,得到第一压缩数据;进而对第一压缩数据进行底层存储的原生方式的编码和压缩处理,得到第二压缩数据;步骤53b4,若变化度指标小于或等于预设阈值,则对数据列式存储型数据的分段数据进行底层存储的原生方式的编码和压缩处理,得到第三压缩数据;步骤53b5,对第二压缩数据或第三压缩数据进行计算,生成统计信息;步骤53b6,将压缩数据和统计信息存入其他存储型的底层存储器;步骤53c,当存储目标位置的底层存储类型为其他存储型数据时,包括:步骤53c1,对其他存储型数据的分段数据进行底层存储的原生方式的编码和压缩处理,得到第四压缩数据;步骤53c2,对第四压缩数据进行计算,生成统计信息;步骤53c3,将压缩数据和统计信息存入其他存储型的底层存储器;步骤54,根据统计信息计算多层统计信息,并将多层统计信息写入底层存储。64.本发明的实施例中通过获取工业设备的传感器组信息、底层存储信息以及所述传感器组信息对应的传感器时间序列信息;所述传感器组信息包括至少一个传感器组以及所述至少一个传感器组的集合;根据所述传感器组信息和底层存储信息,对待存储的传感器时间序列数据进行编码,得到编码数据;对所述编码数据进行压缩处理,得到压缩数据;根据所述压缩数据,确定所述压缩数据的统计信息;将所述统计信息和所述压缩数据写入压缩存储器中;提高了数据的存储效率、降低了数据的存储成本,同时,还可以支持更高效的数据访问,降低了系统运行维护的难度。65.如图6所示,本发明还提供一种工业设备数据的存储系统,该系统包括:数据写入接口、api(applicationprogramminginterface,应用程序接口)或用户界面,用于获取待存储的传感器时间序列数据;感知和获取模块,用于底层存储类型等信息的感知和获取,即用于获取底层存储信息;解析校验模块,用于数据格式解析与校验,即对获取的待存储的传感器时间序列数据进行数据解析与信息提取,得到传感器时间序列信息;传感器组接入器,用于从工业设备领域模型库中识别得到传感器组(传感器冗余组和/或传感器对位组);编码压缩模块,用于数据编码与压缩,即根据底层存储信息,对待存储的传感器时间序列数据进行编码和压缩,得到压缩数据;传感器组信息存储库,用于根据传感器组,确定工业设备的传感器组信息并保存;写入存储管理适配器,用于将根据压缩数据得到的统计信息以及压缩数据写入底层存储设施(底层存储器);底层存储设施(底层存储器)包括行式存储型数据存储和列式存储型数据存储;其中,行式存储型数据存储,用于存储行式存储型数据;列式存储型数据存储,用于存储列式存储型数据;需要说明的是,还可以包括其他存储型数据存储,用于存储其他存储型数据;数据读取接口、api或用户界面,用于获取读取请求;读取请求格式解析模块,用于对读取请求进行解析,得到关键信息;读取存储管理适配器,用于从底层存储设施(底层存储器)中得到读取结果;数据读取与结果生成器,用于根据关键信息和读取请求,通过读取存储管理适配器从底层存储设施(底层存储器)中得到读取结果。66.需要说明的是,该系统是与上述方法对应的系统,上述方法实施例中的所有实现方式均适用于该系统的实施例中,也能达到相同的技术效果。67.如图7所示,本发明还提供一种工业设备数据的存储装置,所述装置70包括:获取模块71,用于获取工业设备的传感器组信息、底层存储信息以及所述传感器组信息对应的传感器时间序列信息;所述传感器组信息包括至少一个传感器组以及所述至少一个传感器组的集合;处理模块72,用于根据所述传感器组信息和底层存储信息,对待存储的传感器时间序列数据进行编码,得到编码数据;对所述编码数据进行压缩处理,得到压缩数据;根据所述压缩数据,确定所述压缩数据的统计信息;将所述统计信息和所述压缩数据写入底层存储器中。68.可选的,所述底层存储信息包括底层存储类型和所述底层存储类型的访问信息;所述底层存储类型包括:行式存储型;列式存储型。69.可选的,当所述底层存储信息中的底层存储类型为行式存储型时,根据所述传感器组信息和底层存储信息,对待存储的传感器时间序列数据进行编码,得到编码数据,包括:对待存储的传感器时间序列数据进行数据分段处理,得到至少一组分段数据;确定所述至少一组分段数据的数据类型;根据所述数据类型,对每一组的分段数据进行逐行编码处理,直至完成所述分段数据内的全部数据的编码,得到编码数据。70.可选的,当所述底层存储信息中的底层存储类型为列式存储型数据时,根据所述传感器组信息和底层存储信息,对待存储的传感器时间序列数据进行编码,得到编码数据,包括:对待存储的传感器时间序列数据进行数据分段处理,得到至少一组分段数据;确定所述每一组分段数据在时间维度的变化度指标;根据所述变化度指标,对所述每一组分段数据进行编码,得到编码数据。71.可选的,当所述变化度指标大于预设阈值时,根据所述变化度指标,对所述每一组分段数据进行编码,得到编码数据,包括:确定所述每一组分段数据的数据类型;根据所述数据类型,对每一组的分段数据进行逐行编码处理,直至完成所述分段数据内的全部数据的编码,得到第一编码数据;对所述第一编码数据进行原生编码处理,得到第二编码数据。72.可选的,当所述变化度指标小于或等于预设阈值时,根据所述变化度指标,对所述每一组分段数据进行编码,得到编码数据,包括:对所述每一组分段数据进行原生编码处理,得到编码数据。73.可选的,将所述统计信息和所述压缩数据存入底层存储器,包括:基于所述至少一组分段数据的维度和度量,对统计信息进行多层次汇总,得到汇总数据;按照预设存储方式,将所述汇总数据和压缩数据存入底层存储器。74.可选的,所述统计信息包括以下至少一项:全部传感器组对应的传感器列表;基准传感器;编码算法信息;压缩算法信息;每个传感器的传感器统计信息;每一组传感器组的组统计信息;所述组统计信息包括:协方差值;所述传感器组中的所有传感器的数据值平均值;其中,所述传感器统计信息包括以下至少一项:开始时间;结束时间;第一个值;最后一个值;最小值;最大值;数据点计数;数据值求和;方差值。75.可选的,工业设备数据的存储方法,还包括:获取读取请求;基于所述读取请求,根据所述底层存储器中的统计信息、压缩数据以及元数据信息存储器中的访问信息,确定访问数据;对所述访问数据依次进行解压和解码处理,得到读取结果。76.需要说明的是,该装置是与上述方法对应的装置,上述方法实施例中的所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。77.本发明的实施例提供一种电子设备,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如上述的工业设备数据的存储方法的步骤。78.需要说明的是,该电子设备是与上述方法对应的电子设备,上述方法实施例中的所有实现方式均适用于该电子设备的实施例中,也能达到相同的技术效果。79.本发明的实施例还提供一种可读存储介质,存储有指令,所述指令在计算机上运行时,使得计算机执行如上所述的工业设备数据的存储方法的步骤。80.需要说明的是,该可读存储介质是与上述方法对应的可读存储介质,上述方法实施例中的所有实现方式均适用于该可读存储介质的实施例中,也能达到相同的技术效果。81.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。82.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。83.在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。84.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。85.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。86.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。87.此外,需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行,某些步骤可以并行或彼此独立地执行。对本领域的普通技术人员而言,能够理解本发明的方法和装置的全部或者任何步骤或者部件,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现,这是本领域普通技术人员在阅读了本发明的说明的情况下运用他们的基本编程技能就能实现的。88.因此,本发明的目的还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的通用装置。因此,本发明的目的也可以仅仅通过提供包含实现所述方法或者装置的程序代码的程序产品来实现。也就是说,这样的程序产品也构成本发明,并且存储有这样的程序产品的存储介质也构成本发明。显然,所述存储介质可以是任何公知的存储介质或者将来所开发出来的任何存储介质。还需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。89.以上所述是本发明的优选实施方式,应当指出,对于本
技术领域
:的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1