本发明涉及风电场集控技术领域,尤其涉及一种电力系统数据的入库方法、装置、设备及介质。
背景技术:
数据库是存放数据的仓库,它的存储空间很大,可以存放百万条、千万条、上亿条数据,但是数据库并不是随意地将数据进行存放,是有一定规则的,否则查询的效率会很低。
传统的实时历史数据库多是内存库搭配一个关系库或者比较成熟的数据库来构成的,这样的实时历史数据库处理少量的数据问题不大,但是对于海量的数据接入会存在性能的瓶颈,并且由于数据库处理数据的能力有限,这样就会导致数据入库速度慢,数据访问速度不理想,而且传统的数据库数据存储依赖于既有的历史库,无法根据数据特性做最优化的存储,所以如何加快数据入库的速度成为了一个亟待解决的问题。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
技术实现要素:
有鉴于此,本发明提出了一种电力系统数据的入库方法、装置、设备及介质,旨在解决现有技术无法解决实时历史数据库数据因为处理数据的能力有限,而导致数据入库速度过慢的技术问题。
本发明的技术方案是这样实现的:
一方面,本发明提供了一种电力系统数据的入库方法,所述电力系统数据的入库方法包括以下步骤:
s1,获取待入库文件,从该待入库文件中提取文件数据信息,该文件数据信息包括:文件数据格式、文件数据容量以及文件数据发送时间;
s2,根据共享内存建立底层内存库,并设定内存库容量,将待入库文件存入底层内存库中并实时获取当前底层内存库的容量,并将该底层内存库的容量与设定内存库容量进行比较,获取比较结果,根据比较结果将待入库文件转存入硬盘中。
在以上技术方案的基础上,优选的,步骤s1中,获取待入库文件,从该待入库文件中提取文件数据信息,该文件数据信息包括:文件数据格式、文件数据容量以及文件数据发送时间,还包括以下步骤,获取待入库文件,设定文件格式,根据该文件格式对待入库文件的完整性进行筛选,选出完整的待入库文件,并从该待入库文件中提取文件数据信息。
在以上技术方案的基础上,优选的,步骤s2中,将待入库文件存入底层内存库中并实时获取当前底层内存库的容量之前,还包括以下步骤,根据文件数据格式以及文件数据发送时间建立索引表,文件数据格式与对应的文件数据发送时间一一对应。
在以上技术方案的基础上,优选的,步骤s2中,将待入库文件存入底层内存库中并实时获取当前底层内存库的容量之前,还包括以下步骤,设定预设入库文件容量,获取待入库文件容量,将预设入库文件容量与待入库文件容量进行比较,当预设入库文件容量大于待入库文件容量时,将待入库文件存入底层内存库中并实时获取当前底层内存库的容量;当预设入库文件容量小于待入库文件容量时,根据预设入库文件容量将待入库文件进行拆分,将拆分后的入库文件存储至底层内存库。
在以上技术方案的基础上,优选的,获取比较结果,根据比较结果将待入库文件转存入硬盘中,还包括以下步骤,当内存库容量大于当前底层内存库的容量时,继续将待入库文件存入内存库中;当内存库容量小于当前底层内存库的容量时,将待入库文件转存入硬盘中。
在以上技术方案的基础上,优选的,当内存库容量大于当前底层内存库的容量时,继续将待入库文件存入内存库中,还包括以下步骤,当内存库容量大于当前底层内存库的容量时,获取当前底层内存库的容量以及此时待入库文件的容量,将此时待入库文件的容量与当前底层内存库的容量进行比较,若是此时待入库文件的容量大于当前底层内存库的容量,则将底层内存库中的文件转存入硬盘中;若是此时待入库文件的容量小于当前底层内存库的容量,则继续将待入库文件存入内存库中。
在以上技术方案的基础上,优选的,当内存库容量小于当前底层内存库的容量时,将待入库文件转存入硬盘中,还包括以下步骤,设定文件分类格式,该文件分类格式包括:内存文件、队列文件以及硬盘文件,当内存库容量小于当前底层内存库的容量时,根据文件分类格式对当前底层内存库中的文件进行分类并在索引表中做出相应标记,将分类后的文件转存入硬盘中。
更进一步优选的,所述电力系统数据的入库装置包括:
获取模块,用于获取待入库文件,从该待入库文件中提取文件数据信息,该文件数据信息包括:文件数据格式、文件数据容量以及文件数据发送时间;
存储模块,用于根据共享内存建立底层内存库,并设定内存库容量,将待入库文件存入底层内存库中并实时获取当前底层内存库的容量,并将该底层内存库的容量与设定内存库容量进行比较,获取比较结果,根据比较结果将待入库文件转存入硬盘中。
第二方面,所述电力系统数据的入库方法还包括一种设备,所述设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的电力系统数据的入库方法程序,所述电力系统数据的入库方法程序配置为实现如上文所述的电力系统数据的入库方法的步骤。
第三方面,所述电力系统数据的入库方法还包括一种介质,所述介质为计算机介质,所述计算机介质上存储有电力系统数据的入库方法程序,所述电力系统数据的入库方法程序被处理器执行时实现如上文所述的电力系统数据的入库方法的步骤。
本发明的一种电力系统数据的入库方法相对于现有技术具有以下有益效果:
(1)通过共享内存建立底层内存库,同时设定内存库容量,当待入库文件存入底层内存库时,实时获取底层内存库的容量,当发现底层内存库容量达到设定的内存库容量时,就将底层内存库中的文件转存入硬盘中,这样避免了海量数据入库,导致数据入库速度慢,数据访问速度不理想的情况出现;
(2)通过获取待入库文件的数据信息,根据文件数据格式以及文件数据发送时间建立索引表,根据该索引表对待入库文件以及已入库文件进行标记,用户可以通过索引表直接对相应文件进行查找,同时可以直观看到文件是否入库,通过这种方式可以根据数据特性做最优化的存储,加快存储速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例方案涉及的硬件运行环境的设备的结构示意图;
图2为本发明电力系统数据的入库方法第一实施例的流程示意图;
图3为本发明电力系统数据的入库方法第一实施例的功能模块示意图。
具体实施方式
下面将结合本发明实施方式,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
如图1所示,该设备可以包括:处理器1001,例如中央处理器(centralprocessingunit,cpu),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(wireless-fidelity,wi-fi)接口)。存储器1005可以是高速的随机存取存储器(randomaccessmemory,ram)存储器,也可以是稳定的非易失性存储器(non-volatilememory,nvm),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对设备的限定,在实际应用中设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及电力系统数据的入库方法程序。
在图1所示的设备中,网络接口1004主要用于建立设备与存储电力系统数据的入库方法系统中所需的所有数据的服务器的通信连接;用户接口1003主要用于与用户进行数据交互;本发明电力系统数据的入库方法设备中的处理器1001、存储器1005可以设置在电力系统数据的入库方法设备中,所述电力系统数据的入库方法设备通过处理器1001调用存储器1005中存储的电力系统数据的入库方法程序,并执行本发明实施提供的电力系统数据的入库方法。
结合图2,图2为本发明电力系统数据的入库方法第一实施例的流程示意图。
本实施例中,所述电力系统数据的入库方法包括以下步骤:
s10:获取待入库文件,从该待入库文件中提取文件数据信息,该文件数据信息包括:文件数据格式、文件数据容量以及文件数据发送时间。
应当理解的是,获取待入库文件,设定文件格式,在将待入库文件存入底层内存库之前,会根据该文件格式对文件的完整性进行检查,只有满足文件格式的待入库文件才是完整文件,对完整的待入库文件执行入库操作。
应当理解的是,从该待入库文件中提取文件数据信息,文件数据信息包括:文件数据格式、文件数据容量以及文件数据发送时间,根据文件数据格式以及文件数据发送时间建立索引表,用户可以通过该索引表对文件数据根式以及文件数据发送时间进行索引,从而精准找到自己想要的文件,同时,索引表会对所有待入库文件动态进行捕捉,并将文件动态实时展现给用户,这样通过文件特性可以对文件进行最优化存储。
s20:根据共享内存建立底层内存库,并设定内存库容量,将待入库文件存入底层内存库中并实时获取当前底层内存库的容量,并将该底层内存库的容量与设定内存库容量进行比较,获取比较结果,根据比较结果将待入库文件转存入硬盘中。
应当理解的是,共享内存指在多处理器的计算机系统中,可以被不同中央处理器访问的大容量内存。由于多个中央处理器需要快速访问存储器,这样就要对存储器进行缓存,任何一个缓存的数据被更新后,由于其他处理器也可能要存取,共享内存就需要立即更新,否则不同的处理器可能用到不同的数据。
应当理解的是,设定预设入库文件容量,获取待入库文件容量,将预设入库文件容量与待入库文件容量进行比较,如果预设入库文件容量大于待入库文件容量,则待入库文件可以全部入库,不会影响文件入库速度,将待入库文件存入底层内存库中并实时获取当前底层内存库的容量;如果预设入库文件容量小于待入库文件容量,则表示待入库文件容量过大,底层内存库无法全部存储待入库文件,会影响待入库文件的入库速度,此时系统会将待入库文件进行拆分,当拆分后的待入库文件容量小于预设入库文件容量时,停止对文件进行拆分,同时将拆分后的文件存储至底层内存库,这样在不影响文件容量的情况下,可以尽可能快的完成文件入库的操作。
应当理解的是,当待入库文件存入底层内存库时,系统会实时获取当前底层内存库的容量,同时会设定内存库容量,这个容量的值由用户进行设定,当实时获取的当前底层内存库的容量大于内存库容量时,会将此时底层内存库中的文件转存入硬盘中,当实时获取的当前底层内存库的容量小于内存库容量时,会进行将待入库文件存储入底层内存库中。
应当理解的是,根据待入库文件的格式对文件进行分类,所述文件的格式包括:内存文件、队列文件以及硬盘文件,在索引表中找到对应分类后的文件的对应位置,并在索引表中进行标记,以方便用户查找,同时会根据文件格式对文件执行不同的操作。
需要说明的是,以上仅为举例说明,并不对本申请的技术方案构成任何限定。
通过上述描述不难发现,本实施例通过获取待入库文件,从该待入库文件中提取文件数据信息,该文件数据信息包括:文件数据格式、文件数据容量以及文件数据发送时间;根据共享内存建立底层内存库,并设定内存库容量,将待入库文件存入底层内存库中并实时获取当前底层内存库的容量,并将该底层内存库的容量与设定内存库容量进行比较,获取比较结果,根据比较结果将待入库文件转存入硬盘中。本实施例通过共享内存构建出底层文件内存库,然后将文件存入底层文件内存库中,当底层文件内存库的容量达到可存储的最大值时,将底层文件内存库中的文件转存入硬盘中,通过这种方式,可以实现文件快速入库。
此外,本发明实施例还提出一种电力系统数据的入库装置。如图3所示,该电力系统数据的入库装置包括:获取模块10、提取模块20。
获取模块10,用于获取待入库文件,从该待入库文件中提取文件数据信息,该文件数据信息包括:文件数据格式、文件数据容量以及文件数据发送时间;
存储模块20,用于根据共享内存建立底层内存库,并设定内存库容量,将待入库文件存入底层内存库中并实时获取当前底层内存库的容量,并将该底层内存库的容量与设定内存库容量进行比较,获取比较结果,根据比较结果将待入库文件转存入硬盘中。
此外,需要说明的是,以上所描述的装置实施例仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的,此处不做限制。
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的电力系统数据的入库方法,此处不再赘述。
此外,本发明实施例还提出一种介质,所述介质为计算机介质,所述计算机介质上存储有电力系统数据的入库方法程序,所述电力系统数据的入库方法程序被处理器执行时实现如下操作:
s1,获取待入库文件,从该待入库文件中提取文件数据信息,该文件数据信息包括:文件数据格式、文件数据容量以及文件数据发送时间;
s2,根据共享内存建立底层内存库,并设定内存库容量,将待入库文件存入底层内存库中并实时获取当前底层内存库的容量,并将该底层内存库的容量与设定内存库容量进行比较,获取比较结果,根据比较结果将待入库文件转存入硬盘中。
进一步地,所述电力系统数据的入库方法程序被处理器执行时还实现如下操作:
获取待入库文件,设定文件格式,根据该文件格式对待入库文件的完整性进行筛选,选出完整的待入库文件,并从该待入库文件中提取文件数据信息。
进一步地,所述电力系统数据的入库方法程序被处理器执行时还实现如下操作:
根据文件数据格式以及文件数据发送时间建立索引表,文件数据格式与对应的文件数据发送时间一一对应。
进一步地,所述电力系统数据的入库方法程序被处理器执行时还实现如下操作:
设定预设入库文件容量,获取待入库文件容量,将预设入库文件容量与待入库文件容量进行比较,当预设入库文件容量大于待入库文件容量时,将待入库文件存入底层内存库中并实时获取当前底层内存库的容量;当预设入库文件容量小于待入库文件容量时,根据预设入库文件容量将待入库文件进行拆分,将拆分后的入库文件存储至底层内存库。
进一步地,所述电力系统数据的入库方法程序被处理器执行时还实现如下操作:
当内存库容量大于当前底层内存库的容量时,继续将待入库文件存入内存库中;当内存库容量小于当前底层内存库的容量时,将待入库文件转存入硬盘中。
进一步地,所述电力系统数据的入库方法程序被处理器执行时还实现如下操作:
当内存库容量大于当前底层内存库的容量时,获取当前底层内存库的容量以及此时待入库文件的容量,将此时待入库文件的容量与当前底层内存库的容量进行比较,若是此时待入库文件的容量大于当前底层内存库的容量,则将底层内存库中的文件转存入硬盘中;若是此时待入库文件的容量小于当前底层内存库的容量,则继续将待入库文件存入内存库中。
进一步地,所述电力系统数据的入库方法程序被处理器执行时还实现如下操作:
设定文件分类格式,该文件分类格式包括:内存文件、队列文件以及硬盘文件,当内存库容量小于当前底层内存库的容量时,根据文件分类格式对当前底层内存库中的文件进行分类并在索引表中做出相应标记,将分类后的文件转存入硬盘中。
以上所述仅为本发明的较佳实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。