CN107463506A - 一种电能表的数据存储管理方法 - Google Patents
一种电能表的数据存储管理方法 Download PDFInfo
- Publication number
- CN107463506A CN107463506A CN201710536659.2A CN201710536659A CN107463506A CN 107463506 A CN107463506 A CN 107463506A CN 201710536659 A CN201710536659 A CN 201710536659A CN 107463506 A CN107463506 A CN 107463506A
- Authority
- CN
- China
- Prior art keywords
- data
- physical store
- electric energy
- logic partition
- energy meter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种电能表的数据存储管理方法,1、为物理存储器的物理存储分区编号;2、创建逻辑存储区,将其分成若干个逻辑存储分区并编号;3、定义逻辑存储分区的大小和其对应的物理存储分区的起始地址;4、创建数据等级表;5、定义每个数据等级的数据大小;6、定义存储配置表;7、定义数据项属性表;8、根据物理存储分区的起始地址和数据项的偏移地址进行数据读写。本发明可方便、准确地修改、增加电能表所存储的数据;可保证一个逻辑存储分区的数据发生错误后还可以从其他分区中获取备份的正确数据;降低了数据发生操作错误的可能性,同时提高了数据读写效率和稳定性,有效改善了智能电能表的数据管理能力。
Description
技术领域
本发明属于数据存储管理技术领域,具体涉及一种电能表的数据存储管理方法。
背景技术
随着国家电网公司智能电能表系列标准的正式实施,电能表存储的数据成倍地增长,各类数据达到上千小项。每种数据的重要性不一样,需要存储的位置以及备份数量也不一样。如果采用现有的文件系统存储数据,则要消耗太多设备资源,不适合智能电能表的应用。如果按照电能表物理存储器的固定位置逐个写死,操作繁琐且容易出错,也不易实现智能电能表数据的统一管理。
发明内容
为解决上述技术问题,本发明提供了一种电能表的数据存储管理方法,以电能表内所有的物理存储器为基础,通过创建逻辑存储区、逻辑存储分区、数据等级表、存储配置表、数据项属性表,实现了对智能电能表物理存储器和存储数据的灵活、统一管理。
本发明所采用的技术方案如下:
一种电能表的数据存储管理方法,包括以下步骤:
步骤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、为电能表的所有物理存储器的物理存储分区编号;
为物理存储分区编号的程序代码如下:
#define PHY_MEM0 0 //EEPROM
#define PHY_MEM1 1 //FLASH
步骤2、创建一个逻辑存储区,将其分成若干个逻辑存储分区并为每个逻辑存储分区编号;
创建逻辑存储分区的程序代码如下:
#define LOG_MEM0 0 //逻辑分区0
#define LOG_MEM1 1 //逻辑分区1
……
步骤3、定义每个逻辑存储分区的大小和其对应的物理存储分区的起始地址;
步骤4、创建数据等级表,为每个数据等级分配一定数量的连续编号的逻辑存储分区;
创建数据等级表的程序代码如下:
#define IMP_FAC_PARA 0 //工厂参数
#define IMP_IMP_PARA 1 //重要参数
#define IMP_IMP_DATA 2 //重要数据
……
步骤5、定义每个数据等级的数据大小,用于明确每个数据项的存储边界;
定义数据等级的数据大小:
#define IMP_FAC_PARA_SIZE 132L //工厂参数大小
#define IMP_IMP_PARA_SIZE 8700L //重要参数大小
#define IMP_IMP_DATA_SIZE 3680L //普通数据大小
……
步骤6、定义存储配置表,明确每个数据等级所对应的逻辑存储分区编号和物理存储分区编号;
定义存储配置表的程序代码如下:
步骤7、定义数据项属性表,明确每个数据项所对应的数据等级和数据大小;
定义数据项属性表的程序代码如下:
如图3所示,是物理存储分区、逻辑存储分区的映射关系示意图,图中的逻辑存储区在电能表中并不是真实存在的、是通过上述定义之后所形成的虚拟存储区的示意图;
步骤8、根据数据项属性表、存储配置表和逻辑存储分区获取对应的物理存储分区,根据物理存储分区的起始地址和数据项的偏移地址进行数据读写。如图2所示,是本发明的读写数据流程图,所述步骤8中进行数据读写的具体步骤如下:
8.1、查找数据项属性表,获取数据项所对应的数据等级和数据大小;
8.2、计算数据项的偏移地址;
8.3、判断偏移地址是否合法,如是则转下一步,如否则终止数据读写;
8.4、查找存储配置表,获取数据项的数据等级所对应的逻辑存储分区和物理存储分区;
8.5、将欲读写的数据与数据等级表定义的数据大小对比判断是否越界,如否则转下一步,如是则终止数据读写;
8.6、获取逻辑存储分区对应的物理存储分区的起始地址;
8.7、根据物理存储分区的起始地址和数据项的偏移地址读写数据。
本发明具体实施时,可以将上述数据存储管理方法的功能模块写入嵌入式芯片,置入智能电能表中实现。
Claims (6)
1.一种电能表的数据存储管理方法,其特征在于,包括以下步骤:
步骤1、为电能表的所有物理存储器的物理存储分区编号;
步骤2、创建一个逻辑存储区,将其分成若干个逻辑存储分区并为每个逻辑存储分区编号;
步骤3、定义每个逻辑存储分区的大小和其对应的物理存储分区的起始地址;
步骤4、创建数据等级表,为每个数据等级分配一定数量的连续编号的逻辑存储分区;
步骤5、定义每个数据等级的数据大小;
步骤6、定义存储配置表,明确每个数据等级所对应的逻辑存储分区编号和物理存储分区编号;
步骤7、定义数据项属性表,明确每个数据项所对应的数据等级和数据大小;
步骤8、根据数据项属性表、存储配置表和逻辑存储分区获取对应的物理存储分区,根据物理存储分区的起始地址和数据项的偏移地址进行数据读写。
2.根据权利要求1所述的一种电能表的数据存储管理方法,其特征在于,步骤4中为每个数据等级所分配的连续编号的逻辑存储分区,第一个逻辑存储分区所对应的物理存储分区用于存储数据,其他逻辑存储分区所对应的物理存储分区用于备份数据,连续编号的逻辑存储分区所对应的物理存储分区的位置不一定连续。
3.根据权利要求1所述的一种电能表的数据存储管理方法,其特征在于,步骤8中所述的数据项的偏移地址的计算方法是:偏移地址=逻辑存储分区所对应物理存储分区的起始地址+数据项在数据等级对应的逻辑存储分区中的位移地址。
4.根据权利要求3所述的一种电能表的数据存储管理方法,其特征在于,所述的数据项在数据等级对应的逻辑存储分区中的位移地址=该数据项所在数据等级中其前面的所有数据项的数据大小之和。
5.根据权利要求1-4任一项所述的一种电能表的数据存储管理方法,其特征在于,所述步骤8中进行数据读写的具体步骤如下:
8.1、查找数据项属性表,获取数据项所对应的数据等级和数据大小;
8.2、计算数据项的偏移地址;
8.3、判断偏移地址是否合法,如是则转下一步,如否则终止数据读写;
8.4、查找存储配置表,获取数据项的数据等级所对应的逻辑存储分区和物理存储分区;
8.5、将欲读写的数据与数据等级表定义的数据大小对比判断是否越界,如否则转下一步,如是则终止数据读写;
8.6、获取逻辑存储分区对应的物理存储分区的起始地址;
8.7、根据物理存储分区的起始地址和数据项的偏移地址读写数据。
6.根据权利要求5所述的一种电能表的数据存储管理方法,其特征在于,所述步骤8.3中判断偏移地址是否合法的规则是:偏移地址如果是非法值0xFFFFFFFF,则偏移地址非法,否则偏移地址合法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710536659.2A CN107463506B (zh) | 2017-07-04 | 2017-07-04 | 一种电能表的数据存储管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710536659.2A CN107463506B (zh) | 2017-07-04 | 2017-07-04 | 一种电能表的数据存储管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107463506A true CN107463506A (zh) | 2017-12-12 |
CN107463506B CN107463506B (zh) | 2020-07-31 |
Family
ID=60546564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710536659.2A Active CN107463506B (zh) | 2017-07-04 | 2017-07-04 | 一种电能表的数据存储管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107463506B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109669993A (zh) * | 2018-12-20 | 2019-04-23 | 北京树根互联科技有限公司 | 数据处理方法、数据处理装置和电子设备 |
CN109669947A (zh) * | 2018-12-20 | 2019-04-23 | 北京树根互联科技有限公司 | 数据处理方法、数据处理装置和电子设备 |
CN114138201A (zh) * | 2021-12-02 | 2022-03-04 | 国网山东省电力公司营销服务中心(计量中心) | 电能表内置存储器数据存储监控方法及系统 |
CN114238232A (zh) * | 2021-12-15 | 2022-03-25 | 南方电网电力科技股份有限公司 | 一种智能电表文件读写系统、方法、设备和介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101499034A (zh) * | 2009-03-05 | 2009-08-05 | 北京中星微电子有限公司 | 内存管理方法 |
CN102419734A (zh) * | 2010-09-27 | 2012-04-18 | 北京中星微电子有限公司 | 一种数据存储的方法及装置 |
US20130304964A1 (en) * | 2012-05-11 | 2013-11-14 | Phison Electronics Corp. | Data processing method, and memory controller and memory storage device using the same |
CN105955893A (zh) * | 2016-05-05 | 2016-09-21 | 捷开通讯(深圳)有限公司 | 存储数据的写入方法、读取方法以及智能终端 |
US20160357739A1 (en) * | 2015-06-02 | 2016-12-08 | Oracle International Corporation | Techniques for tenant controlled visualizations and management of files in cloud storage systems |
-
2017
- 2017-07-04 CN CN201710536659.2A patent/CN107463506B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101499034A (zh) * | 2009-03-05 | 2009-08-05 | 北京中星微电子有限公司 | 内存管理方法 |
CN102419734A (zh) * | 2010-09-27 | 2012-04-18 | 北京中星微电子有限公司 | 一种数据存储的方法及装置 |
US20130304964A1 (en) * | 2012-05-11 | 2013-11-14 | Phison Electronics Corp. | Data processing method, and memory controller and memory storage device using the same |
US20160357739A1 (en) * | 2015-06-02 | 2016-12-08 | Oracle International Corporation | Techniques for tenant controlled visualizations and management of files in cloud storage systems |
CN105955893A (zh) * | 2016-05-05 | 2016-09-21 | 捷开通讯(深圳)有限公司 | 存储数据的写入方法、读取方法以及智能终端 |
Non-Patent Citations (2)
Title |
---|
CHAO HUANG: "Generation of distributed logic-memory architectures through high-level synthesis", 《IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS》 * |
MINLOVER: "内存管理(三)逻辑内存管理", 《HTTPS://WWW.JIANSHU.COM/P/8EB3E0357F73》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109669993A (zh) * | 2018-12-20 | 2019-04-23 | 北京树根互联科技有限公司 | 数据处理方法、数据处理装置和电子设备 |
CN109669947A (zh) * | 2018-12-20 | 2019-04-23 | 北京树根互联科技有限公司 | 数据处理方法、数据处理装置和电子设备 |
CN114138201A (zh) * | 2021-12-02 | 2022-03-04 | 国网山东省电力公司营销服务中心(计量中心) | 电能表内置存储器数据存储监控方法及系统 |
CN114238232A (zh) * | 2021-12-15 | 2022-03-25 | 南方电网电力科技股份有限公司 | 一种智能电表文件读写系统、方法、设备和介质 |
CN114238232B (zh) * | 2021-12-15 | 2024-04-02 | 南方电网电力科技股份有限公司 | 一种智能电表文件读写系统、方法、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107463506B (zh) | 2020-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107463506A (zh) | 一种电能表的数据存储管理方法 | |
CN105242871B (zh) | 一种数据写入方法及装置 | |
CN106339258A (zh) | 可编程逻辑器件与微处理器共享内存的管理方法及装置 | |
CN104699424B (zh) | 一种基于页面热度的异构内存管理方法 | |
CN101533408B (zh) | 一种海量数据的处理方法及处理装置 | |
CN103365786B (zh) | 数据存储方法、装置和系统 | |
CN101799744B (zh) | 固态驱动器命令分组 | |
CN103838853B (zh) | 一种基于不同存储介质的混合文件系统 | |
CN104615594B (zh) | 一种数据更新方法及装置 | |
CN103823865A (zh) | 一种数据库主存索引方法 | |
CN106354890B (zh) | 一种基于N-ary树结构的随机访问的文件系统的实现方法 | |
CN104899154B (zh) | 基于嵌入式系统混合主存的页面管理方法 | |
CN103140840B (zh) | 数据管理的方法及装置 | |
CN102981971B (zh) | 一种快速响应的相变存储器损耗均衡方法 | |
CN103488710B (zh) | 大数据页中高效存储非定长数据方法 | |
CN105278875B (zh) | 一种混合异构nand固态硬盘 | |
CN102253985B (zh) | 一种文件系统数据的管理方法及系统 | |
CN112463074A (zh) | 一种数据分类存储方法、系统、终端及存储介质 | |
CN105930356A (zh) | 日志型异构混合内存文件系统的实现方法 | |
CN102833110B (zh) | 大数据量下网管软件中拓扑数据关系的管理方法 | |
CN107704200A (zh) | 一种数据存放方法 | |
CN101308701A (zh) | 管理非易失性存储器的映射表的设备和方法 | |
CN102981975B (zh) | 闪存数据的管理方法和系统 | |
CN107844436A (zh) | 一种缓存中脏数据的组织管理方法、系统及存储系统 | |
KR20140021793A (ko) | 비휘발성 램 기반의 b+ 트리 데이터베이스화 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |