一种基于EERPOM的数据管理方法及装置与流程

文档序号:13685681阅读:131来源:国知局
一种基于EERPOM的数据管理方法及装置与流程

本发明涉及存储领域,更具体地说,涉及一种基于eerpom的数据管理方法及装置。



背景技术:

eeprom(英文全称:electrically-erasableprogrammableread-onlymemory,中文全称:全称电子抹除式可复写只读存储器),是一种可以通过电子方式多次复写的半导体存储设备,由于其掉电后数据的非易失性,常用于保存一些重要的产品数据,如产品的电子标签(包含产品类型编号、厂商、序列号等),一些协议规定的全球唯一标识(如fc协议使用的wwn)也可以保存在eeprom当中。

现有技术在eeprom中保存数据的方式一般采用顺序保存的方式,这种方式将需要保存的数据按照数据偏移和数据长度对的形式进行顺序保存。当软件需要eeprom中的数据时,只要知道数据存放的位置和长度就可以直接读取保存在eeprom中的数据。

例如系统设计初期规定产品序列号占七个字节,在实现时将eeprom的0x0000—0x0006七个字节用于存放产品序列号,并预留一个字节用于扩展,从0x0008偏移处开始的四个字节用于存放节点的ipv4地址。在开发过程中,产品序列号需要由七位扩展为九位时,由于预留空间不足,首先需要将ipv4地址数据后移,为产品序列留出足够的空间。而ipv4址数数据存放位置改变时,必须同时修改ipv4数据的描述信息。

现有技术顺序保存的缺点在于:当某条信息的格式发生变化,如长度变长而预留的空间不足以容纳新的数据格式时,需要重新规划eeprom中存储的所有数据,造成前期工作的浪费,而为每条信息预留超过所需的存储空间又势必造成空间的浪费。当eeprom中存入大量数据时,格式变更导致的存储空间调整将变得异常复杂,复杂性甚至不亚于对eeprom空间进行重新分配。

因此,如何在某一项数据格式长度超过eeprom设定长度时,不改变其他数据的存储方式是本领域技术人员需要解决的问题。



技术实现要素:

本发明的目的在于提供一种基于eerpom的数据管理方法及装置,在某一项数据格式长度超过eeprom设定长度时,无需改变其他数据的存储方式。

为实现上述目的,本发明实施例提供了一种基于eerpom的数据管理方法,包括:

接收待存储数据项的存储请求,判断所述待存储数据项的长度是否大于所述eerpom的设定长度;

若是,则将所述待存储数据项在所述设定长度之内的数据存储在预留的存储空间中;

为所述待存储数据项在所述设定长度之外的数据分配待存储空闲地址,并将所述待存储数据项的后续项地址属性设置为所述待存储空闲地址。

其中,还包括:

接收将eerpom中的第一数据项修改为第二数据项的请求,判断所述第二数据项的长度是否大于所述eerpom的设定长度;

若是,则将所述第一数据项替换为所述第二数据项在所述设定长度之内的数据;

为所述第二数据项在所述设定长度之外的数据分配目标空闲地址,并将所述第二数据项的后续项地址属性设置为所述目标空闲地址。

其中,将所述第一数据项替换为所述第二数据项在所述设定长度之内的数据之前,还包括:

判断所述第二数据项是否为所述第一数据项经扩展操作得到的;

若是,则执行为所述第二数据项在所述设定长度之外的数据分配目标空闲地址的步骤;

若否,则执行将所述第一数据项替换为所述第二数据项在所述设定长度之内的数据的步骤。

其中,将所述待存储数据项的后续项地址属性设置为所述目标空闲地址之后,还包括:

将所述待存储数据项的最后地址属性设置为否。

其中,还包括:

接收读取请求,查询所述读取请求中的数据地址对应的目标数据项;

判断所述目标数据项是否存在后续项;

若否,则返回所述目标数据项;

若是,则根据所述目标数据项的后续项地址属性查询后续项,并返回所述目标数据项和所述后续项。

为实现上述目的,本发明实施例提供了一种基于eerpom的数据管理装置,包括:

第一接收模块,用于接收待存储数据项的存储请求,判断所述待存储数据项的长度是否大于所述eerpom的设定长度;

存储模块,用于当所述待存储数据项的长度是否大于所述eerpom的设定长度时,将所述待存储数据项在所述设定长度之内的数据存储在预留的存储空间中;

第一分配模块,用于为所述待存储数据项在所述设定长度之外的数据分配待存储空闲地址,并将所述待存储数据项的后续项地址属性设置为所述待存储空闲地址。

其中,还包括:

第二接收模块,用于接收将eerpom中的第一数据项修改为第二数据项的请求,判断所述第二数据项的长度是否大于所述eerpom的设定长度;

修改模块,用于当所述第二数据项的长度是否大于所述eerpom的设定长度时,将所述第一数据项替换为所述第二数据项在所述设定长度之内的数据;

第二分配模块,用于为所述第二数据项在所述设定长度之外的数据分配目标空闲地址,并将所述第二数据项的后续项地址属性设置为所述目标空闲地址。

其中,还包括:

第一判断模块,用于判断所述第二数据项是否为所述第一数据项经扩展操作得到的,若是,则触发所述第二分配模块,若否,则触发所述修改模块。

其中,还包括:

设置模块,用于将所述待存储数据项的最后地址属性设置为否。

其中,还包括:

第三接收模块,用于接收读取请求,查询所述读取请求中的数据地址对应的目标数据项;

第二判断模块,用于判断所述目标数据项是否存在后续项,若否,则返回所述目标数据项,若是,则根据所述目标数据项的后续项地址属性查询后续项,并返回所述目标数据项和所述后续项。

通过以上方案可知,本发明实施例提供的一种基于eerpom的数据管理方法包括:接收待存储数据项的存储请求,判断所述待存储数据项的长度是否大于所述eerpom的设定长度;若是,则将所述待存储数据项在所述设定长度之内的数据存储在预留的存储空间中;为所述待存储数据项在所述设定长度之外的数据分配待存储空闲地址,并将所述待存储数据项的后续项地址属性设置为所述待存储空闲地址。

本发明实施例提供的数据管理方法,在某一项数据格式长度超过eeprom设定长度时,只需要找到一块新的空闲空间存储超过的部分即可,避免了一个数据项的扩展对其它数据项的影响,同时无需考虑为每个数据项预留eeprom空间,降低了系统设计初期在eeprom中进行数据布局设计的难度。由此可见,本发明实施例提供的数据管理方法,在某一项数据格式长度超过eeprom设定长度时,无需改变其他数据的存储方式。本发明还公开了一种基于eerpom的数据管理装置,同样能实现上述技术效果。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例公开的一种基于eerpom的数据管理方法的流程图;

图2为本发明实施例公开的一种基于eerpom的数据管理方法的数据存储结构图;

图3为本发明实施例公开的另一种基于eerpom的数据管理方法的流程图;

图4为本发明实施例公开的又一种基于eerpom的数据管理方法的流程图;

图5为本发明实施例公开的一基于eerpom的数据管理装置的结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例公开了一种基于eerpom的数据管理方法,在某一项数据格式长度超过eeprom设定长度时,无需改变其他数据的存储方式。

参见图1和图2,图1为本发明实施例公开的一种基于eerpom的数据管理方法的流程图,图2为本发明实施例公开的一种基于eerpom的数据管理方法的数据存储结构图。如图1所示,包括:

s101:接收待存储数据项的存储请求,判断所述待存储数据项的长度是否大于所述eerpom的设定长度,若是,则进入s102,若否,则将所述待存储数据项存储在预留的存储空间中;

在具体实施中,当待存储数据项请求存储到eerpom中时,首先判断所述待存储数据项的长度是否大于所述eerpom系统设计初期的设定长度,如果不超过,则按照常见的存储方式,将待存储数据存储在预留的存储空间中,如果超过,则进入下一步骤。

s102:将所述待存储数据项在所述设定长度之内的数据存储在预留的存储空间中;

s103:为所述待存储数据项在所述设定长度之外的数据分配待存储空闲地址,并将所述待存储数据项的后续项地址属性设置为所述待存储空闲地址。

在具体实施中,当待存储数据项的长度大于所述eerpom系统设计初期的设定长度时,将所述待存储数据项未超过所述设定长度的数据存储在预留的存储空间中,将所述待存储数据项超过所述设定长度的数据存储在空闲空间中,所述待存储数据项的后续项地址则为所述空闲空间的起始地址。

例如,如图2所示,系统设计初期规定产品序列号占七个字节,在实现时将eeprom的0x0000—0x0006七个字节用于存放产品序列号,并预留一个字节用于扩展,从0x0008偏移处开始的四个字节用于存放节点的ipv4地址,从0x000e偏移处开始为空闲地址。当待存储数据项produc_sn为九个字节时,前七个字节存储在0x0000—0x0006出,第八和第九字节存储在0x000e和0x000f处,并将所述待存储数据项的后续项地址属性设置为0x000e。

本发明实施例提供的数据管理方法,当需要对数据长度进行扩展时,只需要找到一块新的空闲空间,然后相应修改原数据项的最后字段属性、后续项地址属性即可,避免了一个数据项的扩展对其它数据项的影响,同时无需考虑为每个数据项预留eeprom空间,降低了系统设计初期在eeprom中进行数据布局设计的难度。由此可见,本发明实施例提供的数据管理方法,在某一项数据格式长度超过eeprom设定长度时,无需改变其他数据的存储方式。

本发明实施例公开了一种基于eerpom的数据管理方法,还包括对eerpom中数据项的修改。具体的:

参见图3,本发明实施例提供的另一种基于eerpom的数据管理方法的流程图,如图3所示,包括:

s301:接收将eerpom中的第一数据项修改为第二数据项的请求,判断所述第二数据项的长度是否大于所述eerpom的设定长度,若是,则进入s302,若否,则将所述第一数据项替换为所述第二数据项;

本发明实施例公开的数据管理方法,还包括接收对eerpom中数据项的修改请求。可以理解的是,与数据项存储相同,当第一数据项需要修改为第二数据项时,首先判断所述第二数据项的长度是否大于所述eerpom系统设计初期的设定长度,如果不超过,则按照常见的修改方式,直接将第一数据存储修改为第二数据项即可,如果超过,则进入下一步骤。

s302:将所述第一数据项替换为所述第二数据项在所述设定长度之内的数据;

s303:为所述第二数据项在所述设定长度之外的数据分配目标空闲地址,并将所述第二数据项的后续项地址属性设置为所述目标空闲地址。

在具体实施中,当第二数据项的长度大于所述eerpom系统设计初期的设定长度时,将所述第二数据项未超过所述设定长度的数据替换第一数据项,将所述第二数据项超过所述设定长度的数据存储在空闲空间中,所述第二数据项的后续项地址则为所述空闲空间的起始地址。

本发明实施例公开了一种基于eerpom的数据管理方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:

参见图4,本发明实施例提供的又一种基于eerpom的数据管理方法的流程图,如图4所示,包括:

s401:接收将eerpom中的第一数据项修改为第二数据项的请求,判断所述第二数据项的长度是否大于所述eerpom的设定长度,若是,则进入s402,若否,则将所述第一数据项替换为所述第二数据项;

s402:判断所述第二数据项是否为所述第一数据项经扩展操作得到的,若是,则进入s432,若否,则进入s431;

在具体实施中,在数据项修改之前,首先判断所述第二数据项是否为所述第一数据项经扩展操作得到的,若是,则不需要再进行将所述第一数据项替换为所述第二数据项在所述设定长度之内的数据的步骤,直接进入s432即可,若否,则进入s431。

s431:将所述第一数据项替换为所述第二数据项在所述设定长度之内的数据;

s432:为所述第二数据项在所述设定长度之外的数据分配目标空闲地址,并将所述第二数据项的后续项地址属性设置为所述目标空闲地址;

s404:接收读取请求,查询所述读取请求中的数据地址对应的目标数据项;

s405:判断所述目标数据项是否存在后续项,若否,则返回所述目标数据项,若是,则根据所述目标数据项的后续项地址属性查询后续项,并返回所述目标数据项和所述后续项。

在需要读取eerpom中的目标数据项时,可以通过后续项地址是否存在,判断所述目标数据项是否存在后续项,若否,则请求的数据即为所述目标数据项,若是,则请求的数据项还应包含所述目标数据项的后续项。

在上述实施例的基础上,作为优选实施方式,将所述待存储数据项的后续项地址属性设置为所述目标空闲地址之后,还包括:

将所述待存储数据项的最后地址属性设置为否。

在具体实施中,可以为每一个数据项增加一个最后地址属性,所述最后地址属性为是,则所述数据项不存在后续项,所述最后地址属性为否,则所述数据项存在后续项。即将每个数据项的描述信息由现有技术的(数据偏移,数据长度)数据对的方式扩展成(数据偏移,数据长度,是否最后字段,后续项)属性组的方式。

由此可见,上一实施例中也可以通过判断所述目标数据项的最后地址属性是否为否,判断所述目标数据项是否存在后续项。在数据项的长度大于设定长度时,都需要将数据项的最后地址属性设置为否。

下面对本发明实施例提供的一种基于eerpom的数据管理装置进行介绍,下文描述的一种基于eerpom的数据管理装置与上文描述的一种基于eerpom的数据管理方法可以相互参照。

参见图5,本发明实施例提供的一种基于eerpom的数据管理装置的结构图,如图5所示,包括:

第一接收模块501,用于接收待存储数据项的存储请求,判断所述待存储数据项的长度是否大于所述eerpom的设定长度;

存储模块502,用于当所述待存储数据项的长度是否大于所述eerpom的设定长度时,将所述待存储数据项在所述设定长度之内的数据存储在预留的存储空间中;

第一分配模块503,用于为所述待存储数据项在所述设定长度之外的数据分配待存储空闲地址,并将所述待存储数据项的后续项地址属性设置为所述待存储空闲地址。

本发明实施例提供的数据管理装置,当需要对数据长度进行扩展时,只需要找到一块新的空闲空间,然后相应修改原数据项的最后字段属性、后续项地址属性即可,避免了一个数据项的扩展对其它数据项的影响,同时无需考虑为每个数据项预留eeprom空间,降低了系统设计初期在eeprom中进行数据布局设计的难度。由此可见,本发明实施例提供的数据管理装置,在某一项数据格式长度超过eeprom设定长度时,无需改变其他数据的存储方式。

在上述实施例的基础上,作为优选实施方式,还包括:

第二接收模块,用于接收将eerpom中的第一数据项修改为第二数据项的请求,判断所述第二数据项的长度是否大于所述eerpom的设定长度;

修改模块,用于当所述第二数据项的长度是否大于所述eerpom的设定长度时,将所述第一数据项替换为所述第二数据项在所述设定长度之内的数据;

第二分配模块,用于为所述第二数据项在所述设定长度之外的数据分配目标空闲地址,并将所述第二数据项的后续项地址属性设置为所述目标空闲地址。

在上述实施例的基础上,作为优选实施方式,还包括:

第一判断模块,用于判断所述第二数据项是否为所述第一数据项经扩展操作得到的,若是,则触发所述第二分配模块,若否,则触发所述修改模块。

在上述实施例的基础上,作为优选实施方式,还包括:

设置模块,用于将所述待存储数据项的最后地址属性设置为否。

在上述实施例的基础上,作为优选实施方式,还包括:

第三接收模块,用于接收读取请求,查询所述读取请求中的数据地址对应的目标数据项;

第二判断模块,用于判断所述目标数据项是否存在后续项,若否,则返回所述目标数据项,若是,则根据所述目标数据项的后续项地址属性查询后续项,并返回所述目标数据项和所述后续项。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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