一种电能表的数据存储管理方法与流程

文档序号:13164414阅读:1284来源:国知局
一种电能表的数据存储管理方法与流程

本发明属于数据存储管理技术领域,具体涉及一种电能表的数据存储管理方法。



背景技术:

随着国家电网公司智能电能表系列标准的正式实施,电能表存储的数据成倍地增长,各类数据达到上千小项。每种数据的重要性不一样,需要存储的位置以及备份数量也不一样。如果采用现有的文件系统存储数据,则要消耗太多设备资源,不适合智能电能表的应用。如果按照电能表物理存储器的固定位置逐个写死,操作繁琐且容易出错,也不易实现智能电能表数据的统一管理。



技术实现要素:

为解决上述技术问题,本发明提供了一种电能表的数据存储管理方法,以电能表内所有的物理存储器为基础,通过创建逻辑存储区、逻辑存储分区、数据等级表、存储配置表、数据项属性表,实现了对智能电能表物理存储器和存储数据的灵活、统一管理。

本发明所采用的技术方案如下:

一种电能表的数据存储管理方法,包括以下步骤:

步骤1、为电能表的所有物理存储器的物理存储分区编号,用于实现物理存储分区的查找和存储配置表的定义;

步骤2、创建一个逻辑存储区,将其分成若干个逻辑存储分区并为每个逻辑存储分区编号;

步骤3、定义每个逻辑存储分区的大小和其对应的物理存储分区的起始地址;

步骤4、创建数据等级表,为每个数据等级分配一定数量的连续编号的逻辑存储分区;电能表中存在很多不同等级的数据,有重要数据,有普通数据,故创建数据等级表将数据进行等级划分;

步骤5、定义每个数据等级的数据大小,用于明确每个数据等级的数据项的存储边界;

步骤6、定义存储配置表,明确每个数据等级所对应的逻辑存储分区编号和物理存储分区编号,通过存储配置表可以灵活地对数据的存储分区进行修改;

步骤7、定义数据项属性表,明确每个数据项所对应的数据等级和数据大小;

步骤8、根据数据项属性表、存储配置表和逻辑存储分区获取数据项对应的物理存储分区,根据物理存储分区的起始地址和数据项的偏移地址进行数据读写。

优选地,步骤4中为每个数据等级所分配的连续编号的逻辑存储分区,第一个逻辑存储分区所对应的物理存储分区用于存储数据,其他逻辑存储分区所对应的物理存储分区用于备份数据,连续编号的逻辑存储分区所对应的物理存储分区的位置不一定连续。

优选地,步骤8中所述的数据项的偏移地址的计算方法是:偏移地址=逻辑存储分区所对应物理存储分区的起始地址+数据项在数据等级对应的逻辑存储分区中的位移地址。所述的数据项在数据等级对应的逻辑存储分区中的位移地址=该数据项所在数据等级中其前面的所有数据项的数据大小之和。例如,定义3个数据等级为a的数据项d1、d2、d3,其数据大小分别为2、5、3,则d2的位移地址=2+5=7。

优选地,所述步骤8中进行数据读写的具体步骤如下:

8.1、查找数据项属性表,获取数据项所对应的数据等级和数据大小;

8.2、计算数据项的偏移地址;

8.3、判断偏移地址是否合法,如是则转下一步,如否则终止数据读写;

8.4、查找存储配置表,获取数据项的数据等级所对应的逻辑存储分区和物理存储分区;

8.5、将欲读写的数据与数据等级表定义的数据大小对比判断是否越界,如否则转下一步,如是则终止数据读写;

8.6、获取逻辑存储分区对应的物理存储分区的起始地址;

8.7、根据物理存储分区的起始地址和数据项的偏移地址读写数据。

优选地,所述步骤8.3中判断偏移地址是否合法的规则是:偏移地址如果是非法值0xffffffff,则偏移地址非法,否则偏移地址合法。

本发明的有益效果:

1)通过设置存储配置表灵活配置整个数据存储系统,可实现逻辑存储分区、数据等级的增加或删除,可方便、准确地修改、增加智能电能表所存储的数据。

2)通过对各类数据等级配置连续编号的逻辑存储分区,可以保证其中一个逻辑存储分区的数据发生错误后,还可以从其他逻辑存储分区中获取备份的正确数据。

3)该系统大大降低了数据发生操作错误的可能性,同时显著提高了数据读写效率和稳定性,有效改善了智能电能表的数据管理能力。

附图说明

图1是本发明的整体流程图;

图2是本发明的读写数据流程图;

图3是物理存储分区、逻辑存储分区的映射关系示意图。

具体实施方式

下面结合附图,具体说明本发明的实施方式。

如图1所示,是本发明的整体流程图。一种电能表的数据存储管理方法,其特征在于,包括以下步骤:

步骤1、为电能表的所有物理存储器的物理存储分区编号;

为物理存储分区编号的程序代码如下:

#definephy_mem00//eeprom

#definephy_mem11//flash

步骤2、创建一个逻辑存储区,将其分成若干个逻辑存储分区并为每个逻辑存储分区编号;

创建逻辑存储分区的程序代码如下:

#definelog_mem00//逻辑分区0

#definelog_mem11//逻辑分区1

……

步骤3、定义每个逻辑存储分区的大小和其对应的物理存储分区的起始地址;

步骤4、创建数据等级表,为每个数据等级分配一定数量的连续编号的逻辑存储分区;

创建数据等级表的程序代码如下:

#defineimp_fac_para0//工厂参数

#defineimp_imp_para1//重要参数

#defineimp_imp_data2//重要数据

……

步骤5、定义每个数据等级的数据大小,用于明确每个数据项的存储边界;

定义数据等级的数据大小:

#defineimp_fac_para_size132l//工厂参数大小

#defineimp_imp_para_size8700l//重要参数大小

#defineimp_imp_data_size3680l//普通数据大小

……

步骤6、定义存储配置表,明确每个数据等级所对应的逻辑存储分区编号和物理存储分区编号;

定义存储配置表的程序代码如下:

步骤7、定义数据项属性表,明确每个数据项所对应的数据等级和数据大小;

定义数据项属性表的程序代码如下:

如图3所示,是物理存储分区、逻辑存储分区的映射关系示意图,图中的逻辑存储区在电能表中并不是真实存在的、是通过上述定义之后所形成的虚拟存储区的示意图;

步骤8、根据数据项属性表、存储配置表和逻辑存储分区获取对应的物理存储分区,根据物理存储分区的起始地址和数据项的偏移地址进行数据读写。如图2所示,是本发明的读写数据流程图,所述步骤8中进行数据读写的具体步骤如下:

8.1、查找数据项属性表,获取数据项所对应的数据等级和数据大小;

8.2、计算数据项的偏移地址;

8.3、判断偏移地址是否合法,如是则转下一步,如否则终止数据读写;

8.4、查找存储配置表,获取数据项的数据等级所对应的逻辑存储分区和物理存储分区;

8.5、将欲读写的数据与数据等级表定义的数据大小对比判断是否越界,如否则转下一步,如是则终止数据读写;

8.6、获取逻辑存储分区对应的物理存储分区的起始地址;

8.7、根据物理存储分区的起始地址和数据项的偏移地址读写数据。

本发明具体实施时,可以将上述数据存储管理方法的功能模块写入嵌入式芯片,置入智能电能表中实现。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1