一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于时序数据库的能源监测数据存储方法、设备及介质与流程

2022-03-02 02:07:36 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,尤其涉及基于时序数据库的能源监测数据存储方法、设备及介质。


背景技术:

2.随着数字能源、新能源等项目的实施,越来越多的园区需要对能源监测设备所产生的数据进行获取及存储。例如,中等的能源项目园区每天依时间节律产生高达100万条数据,传统的关系型数据库如oracle,其理论单表数据记录条数虽然没有上限设置,但是官方推荐单表数据不超过500万条记录,若单表记录数据超过1亿条以后,查询效率会急速下降。
3.目前,将能源管理系统所产生的能源监测数据存储至mysql、oracle等关系型数据库后,若想根据时序对关系型数据库中存储的能源监测数据进行查询,则需要针对关系型数据库中的若干能源监测数据按照时间进行排序,查询较为困难。


技术实现要素:

4.本技术实施例提供了基于时序数据库的能源监测数据存储方法、设备及介质,用以解决现有技术中将能源监测数据存储至关系型数据库,根据时序对能源监测数据的查询监测较为困难的技术问题。
5.一方面,本技术实施例提供了基于时序数据库的能源监测数据存储方法,包括:通过日志收集系统,从关系型数据库中查询新增能源监测数据,并根据所述新增能源监测数据的时序采集所述新增能源监测数据;基于所述新增能源监测数据的时序,将所述新增能源监测数据放入对应的分布式消息队列中;通过所述分布式消息队列,解除所述日志收集系统与时序数据库之间新增能源监测数据的耦合性,并将所述新增能源监测数据,按照所述时序存储至所述时序数据库中。
6.在本技术的一种实现方式中,所述基于所述新增能源监测数据的时序,将所述新增能源监测数据放入相应的分布式消息队列中之前,还包括:确定所述新增能源监测数据是否为数值数据;在所述新增能源监测数据为数值数据时,确定所述新增能源监测数据是否在预设区间内;在所述新增能源监测数据在所述预设区间的情况下,通过预设验证算法,确定所述新增能源监测数据为正常数据的概率;当所述概率大于或等于预设阈值时,确定所述新增能源监测数据为正常数据。
7.在本技术的一种实现方式中,所述确定所述新增能源监测数据为正常数据之后,还包括:基于所述时序,将采集到的所述新增能源监测数据存储至非关系型数据库中,以对所述新增能源监测数据进行备份。
8.在本技术的一种实现方式中,所述基于所述新增能源监测数据的时序,将所述新增能源监测数据放入相应的分布式消息队列中之前,还包括:将所述新增能源监测数据的前一个新增能源监测数据和后一个新增能源监测数据作为训练样本,训练神经网络模型;在所述新增能源监测数据不是数值数据或者所述新增能源监测数据为正常数据的概率小
于预设阈值的情况下,确定所述新增能源监测数据不是正常数据,则将所述新增能源监测数据的新增时间输入训练好的神经网络模型中,以得到正常的新增能源监测数据。
9.在本技术的一种实现方式中,所述通过所述分布式消息队列,解除所述日志收集系统与时序数据库之间新增能源监测数据的耦合性之后,还包括:通过预设的实时处理系统,对解耦后的新增能源监测数据进行分析;若所述新增能源监测数据的主键为空,则将所述新增能源监测数据丢失,以确定所述新增能源监测数据与所述时序数据库的存储要求相符;其中,所述存储要求包括所述新增能源监测数据的主键不能为空;确定出所述时序数据库的数据存储格式,将符合所述存储要求的新增能源监测数据统一转换为所述时序数据库的数据存储格式。
10.在本技术的一种实现方式中,所述将所述新增能源监测数据,按照所述时序存储至所述时序数据库中之后,还包括:通过数据转换模块,基于预先配置的数据转换规则,对所述时序数据库中的所述新增能源监测数据进行数据转换;将转换完的新增能源监测数据存储至非关系型数据库,以通过所述非关系型数据库对所述新增能源监测数据进行分析。
11.在本技术的一种实现方式中,所述将所述新增能源监测数据,按照所述时序存储至所述时序数据库中之前,还包括:通过所述分布式消息队列,去除若干所述新增能源监测数据中的峰值,并对去除峰值后的新增能源监测数据进行存储。
12.在本技术的一种实现方式中,所述将所述新增能源监测数据,按照所述时序存储至所述时序数据库中之后,还包括:从所述时序数据库中获取所述新增能源监测数据,并基于所述时序,生成对应的新增能源监测数据曲线;根据所述新增能源监测数据曲线的变化幅度,确定所述新增能源监测数据是否异常。
13.另一方面,本技术实施例还提供了基于时序数据库的能源监测数据存储设备,设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:通过日志收集系统,从关系型数据库中查询新增能源监测数据,并根据所述新增能源监测数据的时序采集所述新增能源监测数据;基于所述新增能源监测数据的时序,将所述新增能源监测数据放入对应的分布式消息队列中;通过所述分布式消息队列,解除所述日志收集系统与时序数据库之间新增能源监测数据的耦合性,并将所述新增能源监测数据,按照所述时序存储至所述时序数据库中。
14.另一方面,本技术实施例还提供了一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:通过日志收集系统,从关系型数据库中查询新增能源监测数据,并根据所述新增能源监测数据的时序采集所述新增能源监测数据;基于所述新增能源监测数据的时序,将所述新增能源监测数据放入对应的分布式消息队列中;通过所述分布式消息队列,解除所述日志收集系统与时序数据库之间新增能源监测数据的耦合性,并将所述新增能源监测数据,按照所述时序存储至所述时序数据库中。
15.本技术实施例提供了基于时序数据库的能源监测数据存储方法、设备及介质,至少包括以下有益效果:通过日志收集系统从关系型数据库中采集新增新增能源监测数据,能够使采集到的新增能源监测数据直接是按照时间排序的,减轻了后续排序工作的压力;将新增能源监测数据按照时序存储至分布式消息队列中,能够有效地避免因采集到的新增能源监测数据过多,且向时序型数据库存储不及时而造成丢包情况;并且,还能够通过分布
式消息队列,解除日志收集系统与时序数据库之间新增能源监测数据的耦合性,避免了日志收集系统或者时序数据库,因新增能源监测数据的变动而进行相应的调整;通过分布式消息队列,将新增能源监测数据存储至时序数据库中,提高了新增能源监测数据的查询效率。
附图说明
16.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
17.图1为本技术实施例提供的基于时序数据库的能源监测数据存储方法的流程图;
18.图2为本技术实施例提供的另一种基于时序数据库的能源监测数据存储方法的流程图;
19.图3为本技术实施例提供的基于时序数据库的能源监测数据存储设备的内部结构示意图。
具体实施方式
20.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术具体实施例及相应的附图对本技术技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
21.本技术实施例提供了基于时序数据库的能源监测数据存储方法、设备及介质,通过日志收集系统从关系型数据库中采集新增新增能源监测数据,使新增能源监测数据是按照时间排序的;通过kafka消息队列暂存新增新增能源监测数据,能够有效地避免向时序型数据库存储不及时而造成丢包情况;通过kafka消息队列,解除日志收集系统与时序数据库之间新增能源监测数据的耦合性,能够避免日志收集系统或者时序数据库需要进行额外的调整;通过kafka消息队列,将新增能源监测数据存储至时序数据库,使新增能源监测数据在时序数据库中按照时序排列。解决了现有技术中将能源监测数据存储至关系型数据库,根据时序对能源监测数据的查询监测较为困难的技术问题。
22.下面通过附图对本技术实施例提出的技术方案进行详细的说明。
23.图1为本技术实施例提供的基于时序数据库的能源监测数据存储方法的流程图。如图1所示,本技术实施例提供的基于时序数据库的能源监测数据存储方法主要包括以下步骤:
24.步骤101:通过日志收集系统,从关系型数据库中查询新增能源监测数据,并根据新增能源监测数据的时序采集新增能源监测数据。
25.服务器通日志收集系统flume,根据日志的时间特性,从关系型数据库或者原有的文件中查询新增能源监测数据,并根据新增能源监测数据产生的时间顺序,采集新增能源监测数据。
26.需要说明的是,本技术实施例能够根据能源监测设备的部署数量,搭建对应需求的flume集群,实现高效安全的性能扩充。
27.步骤102:基于新增能源监测数据的时序,将新增能源监测数据放入对应的分布式
消息队列中。
28.服务器基于新增能源监测数据的时序,通过flume将采集到的新增能源监测数据放入对应的分布式消息队列kafka中,供时序数据库apache druid消费使用。并且,kafka也能够进行集群搭建。
29.需要说明的是,kafka是一种高吞吐量的分布式发布订阅消息系统。
30.在本技术的一个实施例中,服务器在基于新增能源监测数据的时序,将新增能源监测数据放入相应的分布式消息队列中之前,对获取到的新增能源监测数据进行判断,以确定新增能源监测数据是否为数值数据。并在新增能源监测数据为数值数据的情况下,继续判断新增能源监测数据是否在预设区间内。
31.需要说明的是,本技术实施例中的预设区间可以是能源管理系统中能源监测设备的量程区间,预设区间可以根据实际能源检测设备的量程区间来确定,本技术对此不做具体限定。
32.在确定出新增能源监测数据在预设区间内的情况下,服务器通过预设验证算法,对新增能源监测数据进行计算,确定出新增能源监测数据为正常数据的概率。
33.需要说明的是,本技术实施例中的预设验证算法包括但不限于:逻辑回归算法、线性回归算法、随机森林算法。
34.服务器在确定出新增能源监测数据为正常数据的概率大于或等于预设阈值时,能够确定出新增能源监测数据为正常数据。
35.需要说明的是,本技术实施例中概率对应的预设阈值设置为百分之八十,预设阈值可以根据实际需要进行确定,本技术对此不做具体限定。
36.在本技术的一个实施例中,服务器在确定新增能源监测数据为正常数据之后,通过flume日志收集系统,将正常的新增能源监测数据,按照新增能源监测数据产生的时序存储至非关系型数据库中,以实现对原始新增能源监测数据的备份。通过备份的新增能源监测数据,能够对新增能源监测数据存储至时序数据库的过程中是否丢包进行确定。
37.具体地,本技术实施例中的非关系型数据库包括但不限于:分布式文件系统(hadoop distributed file system,hdfs)数据库、数据仓库工具hive数据库、分布式存储系统hbase数据库。
38.在本技术的一个实施例中,在基于新增能源监测数据的时序,将新增能源监测数据放入相应的分布式消息队列中之前,服务器将新增能源监测数据的前一个新增能源监测数据和后一个新增能源监测数据作为训练样本,训练神经网络模型。在新增能源监测数据不是数值数据或者所述新增能源监测数据为正常数据的概率小于预设阈值的情况下,服务器确定新增能源监测数据不是正常数据,则服务器将新增能源监测数据的新增时刻输入训练好的神经网络模型中,以得到该新增时刻正常的新增能源监测数据。
39.步骤103:通过分布式消息队列,解除日志收集系统与时序数据库之间新增能源监测数据的耦合性,并将新增能源监测数据,按照时序存储至时序数据库中。
40.服务器通过使用分布式消息队列kafka这一消息中间件,对日志收集系统flume采集到的新增能源监测数据进行暂时存储,解除了日志收集系统与时序数据库之间新增能源监测数据的耦合性,能够有效避免日志收集系统或者时序数据库,因新增能源监测数据的变动而需要进行相应的修改,节省了人力物力。并且,服务还新增能源监测数据的时序,将
新增能源监测数据存储至时序数据库中。
41.在本技术的一个实施例中,服务器在通过分布式消息队列kafka,解除日志收集系统与时序数据库之间新增能源监测数据的耦合性之后,通过预设的实时处理系统,对解耦后的新增能源监测数据进行分析,以得到分析结果。若服务器根据分析结果,确定出新增能源监测数据的主键为空,则将新增能源监测数据丢失,从而确保新增能源监测数据与时序数据库的存储要求相符。例如:在新增能源监测数据的主键为具体的数据数值时,若主键为空,则该新增能源监测数据没有实际意义。服务器确定出时序数据库的数据存储格式,从而将符合时序数据库存储要求的新增能源监测数据统一转换为时序数据库的数据存储格式。
42.需要说明的是,本技术实施例中预设的实时处理系统可以是storm。
43.在本技术的一个实施例中,服务器在数据转换模块配置数据转换规则,并在通过分布式消息队列kafka,解除日志收集系统与时序数据库之间新增能源监测数据的耦合性之后,通过数据转换模块,基于配置好的数据转换规则,对所述时序数据库中的新增能源监测数据进行数据转换,并将转换完的新增能源监测数据存储至非关系型数据库,以便于后续通过非关系型数据库对新增能源监测数据进行分析。
44.需要说明的是,本技术实施例中配置的数据转换规则可以是将时序数据库中的前三列组合成标志数据的族,从而存储至非关系型数据库中。本技术实施例中的数据转换模块可以是基于sqoop设计的。
45.在本技术的一个实施例中,服务器在将新增能源监测数据,按照时序存储至时序数据库中之前,通过分布式消息队列,去除若干新增能源监测数据中的峰值,并对去除峰值后的新增能源监测数据进行存储。
46.在本技术的一个实施例中,在将新增能源监测数据,按照时序存储至时序数据库中之后,服务器从时序数据库中获取新增能源监测数据,并基于新增能源监测数据的时序,生成对应的新增能源监测数据曲线;以便于根据新增能源监测数据曲线的变化幅度,能够直观的确定处新增能源监测数据是否异常。
47.本技术通过时序数据库对新增能源监测数据存储时,使用列数据库进行存储,不同于行读取的关系型数据库,列式存储以列为单位进行读取,避免了行式数据库需要先读取所有的行,再从每一行中读取需要的列,能够直接读取指定维度的列,大大提高了检索效率。
48.图2为本技术实施例提供的另一种基于时序数据库的能源监测数据存储方法的流程图。如图2所示,服务器通过flume日志收集系统,从mysql关系型数据库中,根据新增能源监测数据产生的时序采集新增能源监测数据,并通过kafka分布式消息队列解除日志收集系统与时序数据库之间新增能源监测数据的耦合性;通过storm内存对kafka分布式消息队列中的新增能源监测数据进行实时分析,确定新增能源监测数据与时序数据库的存储要求相符,并将新增能源监测数据统一转换为时序数据库的数据存储格式,从而将处理后的新增能源监测数据存储至apache druid时序数据库中。本技术还将flume日志收集系统采集的新增能源监测数据存储至非关系型数据库中,从而对将原始的新增能源监测数据进行备份,以便于后续根据该备份确定新增能源数据是否丢包。此外,服务器还通过数据转换模块,将时序数据库中的新增能源监测数据转换成非关系型数据库中的数据格式,以便于通过非关系型数据库对新增能源监测数据进行分析,以便于后续根据时序查询新增能源监测
数据,判断新增能源监测数据是否出现异常。
49.以上为本技术提出的方法实施例。基于同样的发明构思,本技术实施例还提供了基于时序数据库的能源监测数据存储设备,其结构如图3所示。
50.图3为本技术实施例提供的基于时序数据库的能源监测数据存储设备的内部结构示意图。如图3所示,设备包括至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够:通过日志收集系统,从关系型数据库中查询新增能源监测数据,并根据新增能源监测数据的时序采集新增能源监测数据;并基于新增能源监测数据的时序,将新增能源监测数据放入对应的分布式消息队列中;通过分布式消息队列,解除日志收集系统与时序数据库之间新增能源监测数据的耦合性,并将新增能源监测数据,按照时序存储至时序数据库中。
51.本技术实施例还提供了一种非易失性计算机存储介质,存储有计算机可执行指令,计算机可执行指令设置为:通过日志收集系统,从关系型数据库中查询新增能源监测数据,并根据新增能源监测数据的时序采集新增能源监测数据;并基于新增能源监测数据的时序,将新增能源监测数据放入对应的分布式消息队列中;通过分布式消息队列,解除日志收集系统与时序数据库之间新增能源监测数据的耦合性,并将新增能源监测数据,按照时序存储至时序数据库中。
52.本技术中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备和介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
53.本技术实施例提供的设备和介质与方法是一一对应的,因此,设备和介质也具有与其对应的方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述设备和介质的有益技术效果。
54.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
55.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
56.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
57.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
58.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
59.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
60.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
61.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
62.以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献