首页> 中国专利> 一种嵌入式装置历史记录存储与加载管理实现方法及装置

一种嵌入式装置历史记录存储与加载管理实现方法及装置

摘要

本发明涉及一种嵌入式装置历史记录存储与加载管理实现方法及装置,采用一种格式通用、结构紧凑、存储与加载操作简单的历史记录管理方法,实现了嵌入式装置中历史记录的通用安全快速存取;再通过对记录头信息、节区头信息、自定义节区历史数据的建模与操作句柄管理,完成历史记录的存储与加载操作。本发明能够自适应不同CPU存储类型(大端存储类型、小端存储类型),同时紧凑存储;历史记录存储数据,能够被不同的设备或计算机按指定格式加载;满足嵌入式装置对快速性和通用性的要求。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-01-17

    授权

    授权

  • 2017-03-22

    实质审查的生效 IPC(主分类):G06F12/06 申请日:20161012

    实质审查的生效

  • 2017-02-22

    公开

    公开

说明书

技术领域

本发明属于电力工程继电保护技术领域,具体涉及一种嵌入式装置历史记录存储与加载管理实现方法及装置。

背景技术

嵌入式系统尤其涉及属于电力工程的继电保护自动化领域的嵌入式装置,对系统的可靠性、快速性、灵活性及通用性的要求都非常高。在嵌入式装置内部,对内部历史记录的可靠存储、快速访问、灵活通用的需求日益迫切,尤其在多模块、多CPU间及装置与计算机间的业务数据交换及转换方面,面临CPU架构差异及效率低问题,都需要格式通用、业务无关、灵活高效的存储与加载管理设计。

发明内容

本发明的目的是提供一种嵌入式装置历史记录存储与加载管理实现方法及装置,以解决嵌入式装置之间或装置与计算机之间的历史记录数据的存储、共享、加载的通用性和快速性较差的问题。

为解决上述技术问题,本发明提供一种嵌入式装置历史记录存储管理实现方法,包括四个存储方法方案:

存储方法方案一,包括如下步骤:

1)创建管理句柄,管理句柄包括历史记录起始指针、节区数据偏移、节区头地址指针;

2)根据管理句柄,依据历史记录起始指针、在节区数据偏移的基础上逐条存储节区历史数据;

3)根据节区历史数据存储情况,创建节区头信息,从节区头地址指针对应地址开始存储节区头信息;

4)根据节区头信息,创建记录头信息,从历史记录起始指针对应地址开始存储记录头信息;记录头信息、节区历史数据、节区头信息构成历史记录。

存储方法方案二,在存储方法方案一的基础上,所述管理句柄还包括数据准备好标识、CPU标识、节区最大个数、节区实际个数、节区头的最大字节数和历史记录版本。

存储方法方案三,在存储方法方案一的基础上,所述节区头信息包括节区名称、节区存储偏移、节区数据的字节数、节区条目的字节数和节区附加信息。

存储方法方案四,在存储方法方案一的基础上,所述记录头信息包括CRC校验码、标识符、保留字、存储类型、版本信息和节区头表偏移。

本发明还提供一种嵌入式装置历史记录加载管理实现方法,包括两个加载方法方案:

加载方法方案一,包括如下步骤:

A)根据历史记录中的记录头信息提取节区头信息;

B)根据记录头信息中的节区个数和节区头信息中的节区存储偏移确定相应节区的地址偏移量,提取相应数据。

加载方法方案二,在加载方法方案一的基础上,还包括在加载前,对所述历史记录进行有效性检验的步骤。

本发明还提供一种嵌入式装置历史记录存储管理实现装置,包括四个存储装置方案:

存储装置方案一,包括如下单元:

用于创建管理句柄,管理句柄包括历史记录起始指针、节区数据偏移、节区头地址指针的单元;

用于根据管理句柄,依据历史记录起始指针、在节区数据偏移的基础上逐条存储节区历史数据的单元;

用于根据节区历史数据存储情况,创建节区头信息,从节区头地址指针对应地址开始存储节区头信息的单元;

用于根据节区头信息,创建记录头信息,从历史记录起始指针对应地址开始存储记录头信息;记录头信息、节区历史数据、节区头信息构成历史记录的单元。

存储装置方案二,在存储装置方案一的基础上,所述管理句柄还包括数据准备好标识、CPU标识、节区最大个数、节区实际个数、节区头的最大字节数和历史记录版本。

存储装置方案三,在存储装置方案一的基础上,所述节区头信息包括节区名称、节区存储偏移、节区数据的字节数、节区条目的字节数和节区附加信息。

存储装置方案四,在存储装置方案一的基础上,所述记录头信息包括CRC校验码、标识符、保留字、存储类型、版本信息和节区头表偏移。

本发明还提供一种嵌入式装置历史记录加载管理实现装置,包括两个加载装置方案:

加载装置方案一,包括如下单元:

用于根据历史记录中的记录头信息提取节区头信息的单元;

用于根据记录头信息中的节区个数和节区头信息中的节区存储偏移确定相应节区的地址偏移量,提取相应数据的单元。

加载装置方案二,在加载装置方案一的基础上,还包括在加载前,对所述历史记录进行有效性检验的单元。

本发明的有益效果是:本发明采用一种格式通用、结构紧凑、存储与加载操作简单的历史记录管理方法,通过对记录头信息、节区头信息、自定义节区历史数据进行操作句柄管理,完成历史数据的存储与加载操作。本发明能够自适应不同CPU存储类型(大端存储类型、小端存储类型),装置产生的历史记录存储数据,能够被不同的设备或计算机按指定格式加载,满足嵌入式装置对快速性和通用性的要求。

附图说明

图1是本发明的嵌入式装置历史记录的管理句柄结构示意图;

图2是本发明的嵌入式装置历史记录的节区头信息结构示意图;

图3是本发明的嵌入式装置历史记录的记录头信息结构示意图;

图4是本发明的嵌入式装置历史记录的存储格式示意图;

图5是本发明的嵌入式装置历史记录的存储操作流程图;

图6是本发明的嵌入式装置历史记录的加载操作流程图。

具体实施方式

下面结合附图对本发明进行进一步地详细说明。

如图1所示,为本发明的嵌入式装置历史记录管理句柄结构示意图,管理句柄是用来进行历史记录存储管理的控制结构,在对历史记录进行存储时进行控制管理,是历史记录存储管理的必要构件,主要包括以下域(各域顺序存储):

1)数据准备好标识:长度4字节,标识历史记录存储信息都已准备完毕,允许存储;

2)CPU标识:长度4字节,标识历史记录所属逻辑CPU模块;

3)节区最大个数:长度2字节,标识历史记录管理模块能管理的节区最大个数;

4)节区实际个数:长度2字节,标识历史记录管理实际处理的节区个数;

5)节区头的最大字节数:长度4字节,标识历史记录中最大的节区头所占内存大小;

6)历史记录版本:长度2字节,标识历史记录存储版本;

7)历史记录起始指针:长度4字节,标识历史记录存储的起始内存地址;

8)节区头地址指针:长度4字节,标识历史记录存储时,存储节区头的起始内存地址;

9)节区数据偏移:长度4字节,标识历史记录中节区数据储存时的位置偏移。

如图2所示为本发明的嵌入式装置历史记录节区头信息结构示意图,节区头信息是对历史记录进行存储与加载管理的必要构件,包括以下域(各域顺序存储):

1)节区名称:长度16字节,标识节区类别或名称;

2)节区存储偏移:长度4字节,标识对应的节区数据的起始偏移;

3)节区数据的字节数:长度4字节,标识对应的节区数据的大小;

4)节区条目的字节数:长度4字节,标识节区条目的大小;

5)节区附加信息:长度4字节,标识节区的附件额外信息,可用来标识CPU号或扇区号。

如图3所示为本发明的嵌入式装置历史记录记录头信息结构示意图,是对历史记录进行存储与加载管理的必要构件,包括以下域(各域顺序存储):

1)标识符:长度16字节,标识历史记录类别或名称;

2)保留字:长度4字节,标识历史记录校验码信息;

3)存储类型:长度1字节,标识CPU存储类型是大、小端模型;

4)版本信息:长度4字节,标识历史记录管理版本号;

5)节区头表偏移:长度4字节,标识节区头表起始位置偏移;

6)节区头数目:长度2字节,标识历史记录存储的节区数量;

7)节区头条目的字节数:长度2字节,标识节区头条目占空间大小。

本发明的嵌入式装置历史记录存储实现方法,流程图如图5所示,步骤如下:

S1、创建管理句柄,管理句柄的格式如图1所示。其中,自定义历史记录数据格式在此处并不是必需项,但自定义历史数据所占内存空间大小为必需项,它需要结合最大历史记录数据个数来开辟内存空间。管理句柄的创建还包括历史记录记录头信息的构建与空间预留。

S2、根据管理句柄,依据历史记录起始指针、在节区数据偏移的基础上逐条存储节区历史数据。此处的存储操作指对历史记录的内存历史数据封装(不是实际的固化操作,如写文件或写FLASH等操作)。

S3、根据节区历史数据存储情况,创建节区头信息,节区头信息的格式如图2所示,从节区头地址指针对应地址开始存储节区头信息。

S4、历史记录内存空间优化存储管理操作,依据管理句柄中的节区头的地址指针和节区数据偏移可以知道预存的节区数据的最大空间;在存储节区数据时,可以知道预存节区数据结束时的位置偏移;若节区数据未按创建管理句柄时指定的节区数据的预定义最大空间使用,则对其后的节区头数据进行内存移动到紧邻实际存储节区数据之后位置,用来增加空间利用率及后续环节的存储与加载效率,满足嵌入式装置对存储空间及访问效率要求;相应地节区头信息也要进行更改。

S5、根据节区头信息,创建记录头信息,记录头信息的格式如图3所示,从历史记录起始指针对应地址开始存储记录头信息。历史记录的记录头信息储存中记录头的条目大小指图3所示的历史记录记录头信息结构所占内存空间大小,记录头保留字填充,指图3所示的历史记录记录头信息结构中保留字,实际按历史记录数据校验码填充,用以历史记录数据的自描述校验。根据存储CPU的大小端数据类型来实现不同架构CPU间的数据共享,数据准备好标识设置成1值(未准备好时设置成0值)。

最终历史记录存储格式如图4所示。

在嵌入式装置中固化操作不拘泥实际硬件介质存储形式,可包含常见的掉电保持设备或介质,如写文件操作与FLASH、磁盘的写操作等。

历史记录数据固化存储采用主、后备冗余备份机制,每份数据中历史记录头信息中都有本份历史记录相关数据的CRC校验码,用来实现历史记录数据有效性自校验功能:当主备份不存在或自描述校验失败时而后备备份有效时,采用后备备份模式并修复主备份;当主存储有效而后备存储无效时,使用主备份并修复后备备份;当主、后备备份都有效时,使用主存储备份。该自校验主、后备冗余存储机制,保证了嵌入式装置的可靠性。

本发明的嵌入式装置历史记录加载实现方法,流程图如图6所示,步骤如下:

历史记录数据加载操作可视作历史记录数据储存过程的逆过程,但比存储过程简单。如图6历史记录加载操作流程示意图及图4历史记录存储格式布局示意图所示,在历史记录数据加载时,此时的引导管理句柄即为历史数据记录头信息(见图3历史记录记录头信息示意图),根据历史记录中的记录头信息,依据节区头表偏移找到节区头信息(记录头信息包括节区头表偏移和节区头数目);再通过节区头信息,依据节区个数和节区存储偏移找到节区数据(所述节区头信息包括节区存储偏移,所述节区头数目即为节区个数),完成对节区数据的快速加载。最后释放管理句柄,也即释放资源管理空间。

还可对历史记录数据进行清除和删除操作。其中,清除操作是指对指定管理句柄对象进行存储信息复位操作,保证后续的存储超时重新开始而不需要重新创建句柄及内存空间重新分配;历史记录数据的删除操作是指对指定管理句柄对象进行删除操作,包括对已申请内存空间的释放操作及存储管理句柄对象域空间的复位初始值。

本发明还提供一种嵌入式装置历史记录存储管理实现装置,包括如下单元:

用于创建管理句柄,管理句柄包括历史记录起始指针、节区数据偏移、节区头地址指针的单元;用于根据管理句柄,依据历史记录起始指针、在节区数据偏移的基础上逐条存储节区历史数据的单元;用于根据节区历史数据存储情况,创建节区头信息,从节区头地址指针对应地址开始存储节区头信息的单元;用于根据节区头信息,创建记录头信息,从历史记录起始指针对应地址开始存储记录头信息;记录头信息、节区历史数据、节区头信息构成历史记录的单元。

本发明还提供一种嵌入式装置历史记录加载管理实现装置,包括如下单元:

用于根据历史记录中的记录头信息提取节区头信息的单元;用于根据记录头信息中的节区个数和节区头信息中的节区存储偏移确定相应节区的地址偏移量,提取相应数据的单元。

上述嵌入式装置历史记录存储管理实现装置和嵌入式装置历史记录加载管理实现装置,实际上是基于本发明对应方法流程的一种计算机解决方案,即一种软件构架,上述各种单元即为与方法流程相对应的各处理进程或程序。由于对上述方法的介绍已经足够清楚完整,故不再对上述装置进行详细描述。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号