公开/公告号CN112328556A
专利类型发明专利
公开/公告日2021-02-05
原文格式PDF
申请/专利权人 威胜集团有限公司;
申请/专利号CN202011114713.2
申请日2020-10-16
分类号G06F16/17(20190101);G06F16/174(20190101);G06F16/22(20190101);G06F16/2458(20190101);G06Q50/06(20120101);G06F3/06(20060101);
代理机构44287 深圳市世纪恒程知识产权代理事务所;
代理人张志江
地址 410000 湖南省长沙市高新技术开发区桐梓坡西路468号
入库时间 2023-06-19 09:47:53
技术领域
本发明涉及数据存储技术领域,尤其涉及一种电能量曲线数据存储方法、电能表及计算机可读存储介质。
背景技术
为了统计和管理用户用电情况,电能表中要对一些基础的电能量数据进行存储。一系列时间间隔相同的电能量数据存储点就构成了电能量曲线数据。随着用户用电量的提升,对电能量数据的存储要求也越来越高,存储的时间间隔周期越来越短,要求保存的时间也越来越长。目前,一般是要求存储间隔为1分钟的正反有功总电能和间隔为15分钟的四象限无功总电能,记录总长度不少于1年。而传统的电能量曲线数据存储方案采用的是非压缩存储方案,即是按照间隔周期为时间变化长度的时间点进行顺序存储的,其存储数据量较大,会占用电能表Flash Memory(快闪存储器)大量的空间(容量较小的存储器甚至无法满足存储要求),导致存储器的存储压力较大。
发明内容
本发明的主要目的在于提供一种电能量曲线数据存储方法、电能表及计算机可读存储介质,旨在实现电能量曲线数据的压缩存储,从而减少存储器的占用空间,降低存储器的存储压力。
为实现上述目的,本发明提供一种电能量曲线数据存储方法,所述电能量曲线数据存储方法包括:
每隔预设获取周期获取实时电能数据;
检测当前实时电能数据是否为预设存储周期的基准电能数据;
若当前实时电能数据为预设存储周期的基准电能数据,则将所述当前实时电能数据的获取时间作为当前存储周期的时间戳;
若当前实时电能数据不为预设存储周期的基准电能数据,则根据所述实时电能数据计算得到增量电能数据;
对各预设存储周期的基准电能数据、时间戳和增量电能数据按所述预设存储周期分别进行存储。
可选地,所述每隔预设获取周期获取实时电能数据的步骤包括:
每隔第一预设获取周期获取实时正向有功总电能和实时反向有功总电能;
每隔第二预设获取周期获取实时第一象限无功总电能、实时第二象限无功总电能、实时第三象限无功总电能、实时第四象限无功总电能。
可选地,所述检测当前实时电能数据是否为预设存储周期的基准电能数据的步骤包括:
检测当前实时电能数据的获取时间是否为预设存储周期的初始时间;
若当前实时电能数据的获取时间为预设存储周期的初始时间,则判定当前实时电能数据为预设存储周期的基准电能数据;
若当前实时电能数据的获取时间不为预设存储周期的初始时间,则判定当前实时电能数据不为预设存储周期的基准电能数据。
可选地,所述根据所述实时电能数据计算得到增量电能数据的步骤包括:
根据所述实时电能数据计算相邻获取时间的电能数据之间的差值,得到增量电能数据。
可选地,所述预设存储周期为每隔一天。
可选地,所述对各预设存储周期的基准电能数据、时间戳和增量电能数据按所述预设存储周期分别进行存储的步骤包括:
将各预设存储周期的基准电能数据、时间戳和增量电能数据按所述预设存储周期分别存储至对应的数据块中。
可选地,所述将各预设存储周期的基准电能数据、时间戳和增量电能数据分别存储至对应的数据块中的步骤之后,还包括:
对所述数据块进行存储,并获取各数据块的存储地址;
根据所述数据块的时间戳构建各数据块与存储地址之间的映射关系。
可选地,所述电能量曲线数据存储方法还包括:
在接收到数据查询请求时,根据所述数据查询请求获取目标查询时间;
根据所述目标查询时间和所述映射关系确定目标存储地址,并根据所述目标存储地址获取目标查询数据。
此外,为实现上述目的,本发明还提供一种电能表,所述电能表包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的电能量曲线数据存储程序,所述电能量曲线数据存储程序被所述处理器执行时实现如上所述的电能量曲线数据存储方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有电能量曲线数据存储程序,所述电能量曲线数据存储程序被处理器执行时实现如上所述的电能量曲线数据存储方法的步骤。
本发明提供一种电能量曲线数据存储方法、电能表及计算机可读存储介质,通过每隔预设获取周期获取实时电能数据;然后,检测当前实时电能数据是否为预设存储周期的基准电能数据;若当前实时电能数据为预设存储周期的基准电能数据,则将所述当前实时电能数据的获取时间作为当前存储周期的时间戳;若当前实时电能数据不为预设存储周期的基准电能数据,则根据所述实时电能数据计算得到增量电能数据;进而对各预设存储周期的基准电能数据、时间戳和增量电能数据按所述预设存储周期分别进行存储。通过上述方式,本发明通过以预设存储周期进行冻结时间更新,减少了存储时间的存储数量,从而节省了存储时间信息的空间。同时,使用了基准电量数据和增量电量数据相分离的方法,使得对每个预设存储周期的电能量数据只需对增量的部分进行保存,可有效的压缩数据量,节省了电能量数据的存储空间。因此,本发明通过实现电能量曲线数据的压缩存储,可减少存储器的占用空间,降低存储器的存储压力。此外,还可以提高后续的检索效率。
附图说明
图1为本发明实施例方案涉及的硬件运行环境的终端结构示意图;
图2为本发明电能量曲线数据存储方法第一实施例的流程示意图;
图3为现有的电能量曲线数据存储方法的示意图;
图4为本发明电能量曲线数据存储方法涉及的数据存储方法的示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的终端结构示意图。
本发明实施例终端可以是电能表。
如图1所示,该电能表可以包括:处理器1001,例如CPU,通信总线1002,网络接口1003,存储器1004。其中,通信总线1002用于实现这些组件之间的连接通信。网络接口1003可选的可以包括标准的有线接口、无线接口(如Wi-Fi接口)。存储器1004可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如Flash Memory(快闪存储器)。存储器1004还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1004中可以包括操作系统、网络通信模块以及电能量曲线数据存储程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端,与客户端进行数据通信;而处理器1001可以用于调用存储器1004中存储的电能量曲线数据存储程序,并执行以下操作:
每隔预设获取周期获取实时电能数据;
检测当前实时电能数据是否为预设存储周期的基准电能数据;
若当前实时电能数据为预设存储周期的基准电能数据,则将所述当前实时电能数据的获取时间作为当前存储周期的时间戳;
若当前实时电能数据不为预设存储周期的基准电能数据,则根据所述实时电能数据计算得到增量电能数据;
对各预设存储周期的基准电能数据、时间戳和增量电能数据按所述预设存储周期分别进行存储。
进一步地,处理器1001可以调用存储器1004中存储的电能量曲线数据存储程序,还执行以下操作:
每隔第一预设获取周期获取实时正向有功总电能和实时反向有功总电能;
每隔第二预设获取周期获取实时第一象限无功总电能、实时第二象限无功总电能、实时第三象限无功总电能、实时第四象限无功总电能。
进一步地,处理器1001可以调用存储器1004中存储的电能量曲线数据存储程序,还执行以下操作:
检测当前实时电能数据的获取时间是否为预设存储周期的初始时间;
若当前实时电能数据的获取时间为预设存储周期的初始时间,则判定当前实时电能数据为预设存储周期的基准电能数据;
若当前实时电能数据的获取时间不为预设存储周期的初始时间,则判定当前实时电能数据不为预设存储周期的基准电能数据。
进一步地,处理器1001可以调用存储器1004中存储的电能量曲线数据存储程序,还执行以下操作:
根据所述实时电能数据计算相邻获取时间的电能数据之间的差值,得到增量电能数据。
进一步地,所述预设存储周期为每隔一天。
进一步地,处理器1001可以调用存储器1004中存储的电能量曲线数据存储程序,还执行以下操作:
将各预设存储周期的基准电能数据、时间戳和增量电能数据按所述预设存储周期分别存储至对应的数据块中。
进一步地,处理器1001可以调用存储器1004中存储的电能量曲线数据存储程序,还执行以下操作:
对所述数据块进行存储,并获取各数据块的存储地址;
根据所述数据块的时间戳构建各数据块与存储地址之间的映射关系。
进一步地,处理器1001可以调用存储器1004中存储的电能量曲线数据存储程序,还执行以下操作:
在接收到数据查询请求时,根据所述数据查询请求获取目标查询时间;
根据所述目标查询时间和所述映射关系确定目标存储地址,并根据所述目标存储地址获取目标查询数据。
基于上述硬件结构,提出本发明电能量曲线数据存储方法各个实施例。
本发明提供一种电能量曲线数据存储方法。
参照图2,图2为本发明电能量曲线数据存储方法第一实施例的流程示意图。
在本实施例中,该电能量曲线数据存储方法包括:
步骤S10,每隔预设获取周期获取实时电能数据;
目前,一般是要求存储间隔为1分钟的正反有功总电能和间隔为15分钟的四象限无功总电能,记录总长度不少于1年。而传统的电能量曲线数据存储方案采用的是非压缩存储方案,即是按照间隔周期为时间变化长度的时间点进行顺序存储的,如图3所示,针对有功总电能,每个时间点对应一个正向有功总电能和一个反向有功总电能;针对无功总电能,每个时间点对应一个第一象限无功总电能、一个第二象限无功总电能、一个第三象限无功总电能和第四象限无功总电能。对应的,以电能数据为5字节为例进行说明,在存储时,针对存储有功总电能,每个时间点存储的数据分别包括5字节的时间(年月日时分),5字节的正向有功总电能,5字节的反向有功总电能。针对存储无功总电能,每个时间点存储的数据分别包括5字节的时间(年月日时分),5字节的第一象限无功总电能,5字节的第二象限无功总电能,5字节第三象限无功总电能,5字节的第四象限无功总电能。
以记录总长度为366天为例,存储正反有功总电能所需存储空间=(存储时间字节数+正向有功总电能字节数+反向有功总电能字节数)*存储正反有功总电能时间点数=(5+2*5)*(24*60)*366=7905600byte(字节),存储四象限无功总电能所需存储空间=(存储时间字节数+第一象限无功总电能字节数+第二象限无功总电能字节数+第三象限无功总电能字节数+第四象限无功总电能字节数)*存储四象限无功总电能时间点数=(5+4*5)*(24*4)*366=878400byte,则电能量曲线数据所需的总存储空间=7905600+878400=8784000byte。
由上面的计算结果可以看出非压缩数据存储方案,所需数据存储空间约为8.377Mbyte。而目前的电能表为了降低成本,一般采用单片容量不超过4M byte的(快闪存储器),显然已不能满足电能量曲线数据的存储要求。
对此,提出本发明实施例的电能量曲线数据存储方法,该电能量曲线数据存储方法的执行终端是电能表。
每隔预设获取周期获取实时电能数据。其中,实时电能数据的类型包括:有功总电能和无功总电能,有功总电能又分为正向有功总电能和反向有功总电能,无功总电能又分为第一象限无功总电能、第二象限无功总电能、第三象限无功总电能、第四象限无功总电能。
具体的,步骤S10包括:
步骤a11,每隔第一预设获取周期获取实时正向有功总电能和实时反向有功总电能;
步骤a12,每隔第二预设获取周期获取实时第一象限无功总电能、实时第二象限无功总电能、实时第三象限无功总电能、实时第四象限无功总电能。
由于不同类型的电能数据,其获取周期不一致,因此,可每隔第一预设获取周期获取实时正向有功总电能和实时反向有功总电能;同时,每隔第二预设获取周期获取实时第一象限无功总电能、实时第二象限无功总电能、实时第三象限无功总电能、实时第四象限无功总电能,其中,第一预设获取周期为每隔1分钟,第二预设获取周期为每隔15分钟。
步骤S20,检测当前实时电能数据是否为预设存储周期的基准电能数据;
每当获取到实时电能数据之后,检测当前实时电能数据(即当前获取到的实时电能数据)是否为预设存储周期的基准电能数据。其中,基准电量数据可选地为预设存储周期的起始数据,包括正向有功总电量的起始数据、反向有功总电量的起始数据、还包括第一、第二、第三和第四象限无功电量的起始数据。
具体的,步骤S20包括:
步骤a21,检测当前实时电能数据的获取时间是否为预设存储周期的初始时间;
步骤a22,若当前实时电能数据的获取时间为预设存储周期的初始时间,则判定当前实时电能数据为预设存储周期的基准电能数据;
步骤a23,若当前实时电能数据的获取时间不为预设存储周期的初始时间,则判定当前实时电能数据不为预设存储周期的基准电能数据。
具体的检测方式为:
检测当前实时电能数据的获取时间是否为预设存储周期的初始时间,其中,预设存储周期可选地为每隔一天,当然,在具体实施时,可以设为每隔一周、每隔一个月等,但是相比而言,每隔一天更便于后续进行查找。为便于后续说明,以预设存储周期设为每隔一天为例进行说明。初始时间可选地设为每天的0时0分0秒,进而便于检测及后续的查找。
若当前实时电能数据的获取时间为预设存储周期的初始时间,则判定当前实时电能数据为预设存储周期的基准电能数据;若当前实时电能数据的获取时间不为预设存储周期的初始时间,则判定当前实时电能数据不为预设存储周期的基准电能数据。
若当前实时电能数据为预设存储周期的基准电能数据,则执行步骤S31,将所述当前实时电能数据的获取时间作为当前存储周期的时间戳;
然后,在检测到当前实时电能数据为预设存储周期的基准电能数据,则将当前实时电能数据的获取时间作为当前存储周期的时间戳,其中时间戳包括日期和时间两个维度,可以**年**月**日**时**分的形式表示。
若当前实时电能数据不为预设存储周期的基准电能数据,则执行步骤S32,根据所述实时电能数据计算得到增量电能数据;
若当前实时电能数据不为预设存储周期的基准电能数据,则根据实时电能数据计算得到增量电能数据;
具体的,步骤S32包括:
根据所述实时电能数据计算相邻获取时间的电能数据之间的差值,得到增量电能数据。
在计算增量电能数据时,则根据实时电能数据计算相邻获取时间的电能数据之间的差值,即用当前实时电能数据减去上一实时电能数据,以得到增量电能数据。可以理解,在进行差值运算时,需要保证是同一类型的数据。例如,当前获取时间的正向有功总电能为1001.2,上一获取时间的正向有功总电能为1000.2时,则当前的增量电能数据为1001.2-1000.2=1.0。
步骤S40,对各预设存储周期的基准电能数据、时间戳和增量电能数据按所述预设存储周期分别进行存储。
最后,对各预设存储周期的基准电能数据、时间戳和增量电能数据按预设存储周期分别进行存储。即,将各个预设存储周期的数据分开进行存储,例如,第一天的数据存储在第一个Block数据块或第一个文件夹中,第二天的数据存储在第二个Block数据块或第二个文件夹中,……,第n天的数据存储在第n个Block数据块或第n个文件夹中。
通过上述方式进行存储,其存储结果可如图4所示,每一个Block数据块中存储3部分内容:时间戳、基准电量数据和增量电量数据,且每一个预设存储周期中只有一个时间戳,从而可节省存储空间。此外,增量电量数据的数据位数通常比正常的电量数据的位数少一些,从而可进一步节省存储空间。以上述例中的数据要求按本发明实施例中的数据存储方式进行存储时,可计算得到存储正反有功总电能所需存储空间=(时间戳字节数+有功总电能的基准电量数据字节数+有功总电能的增量电量数据字节数)*天数=(5+2*5+(2*2*24*60))*366=2106330byte(其中,以增量电量数据占2字节为例进行计算),存储四象限无功总电能所需存储空间=(时间戳字节数+四象限无功总电能的基准电量数据字节数+四象限无功总电能的增量电量数据字节数)*天数=(5+4*5+(2*4*96))*366=290238byte,则电能量曲线数据所需的总存储空间=2106330+290238=2396568byte。
相比于现有的非压缩数据存储方法,采用本发明实施例的数据压缩存储方法,针对有功总能量,其压缩比例为73.4%,针对四象限无功总电能,其压缩比例为67%,而针对总存储空间,其压缩比例为72.7%,大大减少存储器的占用空间,降低存储器的存储压力,从而提高后续的检索效率。
本发明实施例提供一种电能量曲线数据存储方法,通过每隔预设获取周期获取实时电能数据;然后,检测当前实时电能数据是否为预设存储周期的基准电能数据;若当前实时电能数据为预设存储周期的基准电能数据,则将所述当前实时电能数据的获取时间作为当前存储周期的时间戳;若当前实时电能数据不为预设存储周期的基准电能数据,则根据所述实时电能数据计算得到增量电能数据;进而对各预设存储周期的基准电能数据、时间戳和增量电能数据按所述预设存储周期分别进行存储。通过上述方式,本发明通过以预设存储周期进行冻结时间更新,减少了存储时间的存储数量,从而节省了存储时间信息的空间。同时,使用了基准电量数据和增量电量数据相分离的方法,使得对每个预设存储周期的电能量数据只需对增量的部分进行保存,可有效的压缩数据量,节省了电能量数据的存储空间。因此,本发明通过实现电能量曲线数据的压缩存储,可减少存储器的占用空间,降低存储器的存储压力。此外,还可以提高后续的检索效率。
进一步地,基于上述第一实施例,提出本发明电能量曲线数据存储方法的第二实施例。
在本实施例中,上述步骤S40包括:
步骤A41,将各预设存储周期的基准电能数据、时间戳和增量电能数据按所述预设存储周期分别存储至对应的数据块中。
在本实施例中,可将各预设存储周期的基准电能数据、时间戳和增量电能数据按预设存储周期分别存储至对应的数据块中。如图4所示,以预设存储周期为每隔一天为例,则将每天的基准电能数据、时间戳和增量电量数据分别存储至不同的数据块Block中。
进一步地,在上述步骤A41之后,该电能量曲线数据存储方法还包括:
步骤B,对所述数据块进行存储,并获取各数据块的存储地址;
步骤C,根据所述数据块的时间戳构建各数据块与存储地址之间的映射关系。
在将电能数据存储至对应的数据块中之后,可对数据块进行存储,并获取各数据块的存储地址,进而根据数据块的时间戳构建各数据块与存储地址之间的映射关系,以便于后续进行数据查询。
进一步地,基于上述第二实施例,提出本发明电能量曲线数据存储方法的第三实施例。
在本实施例中,在上述步骤C之后,该电能量曲线数据存储方法还包括:
步骤D,在接收到数据查询请求时,根据所述数据查询请求获取目标查询时间;
在本实施例中,工作人员或用户可发起通过对应的软件或应用,发起数据查询请求,其中,该数据查询请求中携带有想要查询的时间。对应的,电能表在接收到该数据查询请求时,先根据该数据查询请求获取目标查询时间。
步骤E,根据所述目标查询时间和所述映射关系确定目标存储地址,并根据所述目标存储地址获取目标查询数据。
然后,根据目标查询时间和上述构建的数据块与存储地址之间的映射关系确定得到目标存储地址,进而根据目标存储地址获取目标查询数据,并返回至查询端,以供工作人员或用户查看。
当然,该数据查询请求中还可以携带数据类型,对应的,在根据目标存储地址确定出目标数据块之后,获取其中该数据类型所对应的数据,进而返回至查询端,以供工作人员或用户查看。
本实施例中,在接收到数据查询请求时,可根据其中的目标查询时间和预先建立的数据块与存储地址之间的映射关系,确定出数据的存储地址,进而查到得到对应的目标查询数据,以供工作人员或用户查看。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质上存储有电能量曲线数据存储程序,所述电能量曲线数据存储程序被处理器执行时实现如以上任一项实施例所述的电能量曲线数据存储方法的步骤。
本发明计算机可读存储介质的具体实施例与上述电能量曲线数据存储方法各实施例基本相同,在此不作赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
机译: 医学数据存储方法,医学数据存储设备以及用于使计算机执行医学数据存储方法的计算机可读存储介质包含程序
机译: 存储医学数据的方法和装置,以及用程序制作的存储在计算机中的计算机可读存储介质,以实现医学数据存储方法
机译: 供计算机使用的信息存储介质,信息存储介质,信息存储介质,供计算机使用的信息存储介质,其包括具有包括显示集的结构的图形数据,用于图形数据处理的设备,用于图形数据处理的方法,用于计算机的信息存储介质,用于计算机图形屏幕信息存储的计算机可读介质,供计算机中使用