本发明涉及数据处理技术领域,具体而言,涉及一种备份数据存储及加载方法、装置及存储介质。
背景技术:
当前的tbox软件系统中,要对较多的数据进行备份和存储。但是往往需要备份的数据在分别定义在不同的编译代码或者模块中,在对这些数据进行备份时,开发者需要将这些数据逐个备份到rom,流程不仅繁琐而且不容易维护和更新。
技术实现要素:
本发明实施例至少公开一种备份数据存储及加载方法,能够将备份数据统一存放,同时通过算法验证及版本索引比较,保证备份数据的时效性。
所述方法包括:
s100、在随机存取存储器分配存储备份数据的备份数据区域;
在存储数据时,
s210、根据所述备份数据区域中的备份数据生成第一校验数据,
s220、查询所述备份数据区域中备份数据的版本索引号,并且更新所述版本索引号,
s230、在只读存储器分配至少两个存储数据区域,
s240、分别存储所述备份数据区域中的备份数据、所述版本索引号及所述第一校验数据的组合在所述存储数据区域;
在加载数据时,
s310、计算所述存储数据区域中备份数据的第二校验数据,
s320、在所述第一校验数据及所述第二校验数据相同时,选取对应所述存储数据区域为有效数据区域,
s330、比较不同所述有效数据区域的版本索引号,
s340、选取满足预置条件的所述版本索引号对应的所述有效数据区为最新数据区域,以及加载所述最新数据区域中的备份数据到所述备份数据区域。
在本发明公开的一些实施例中,
s100被配置有:
s110、在随机存取存储器配置备份数据区域及所述备份数据区域的存储信息;
s120、存储备份数据在对应所述存储信息的所述备份数据区域。
在本发明公开的一些实施例中,
s210被配置为根据所述备份数据区域中的备份数据生成第一哈希值;
s240被配置为分别存储所述备份数据区域中的备份数据、所述版本索引号及所述第一哈希值的组合在所述存储数据区域;
s310被配置为计算所述存储数据区域中备份数据的第二哈希值;
s320、在所述第一哈希值及所述第二哈希值相同时,选取对应所述存储数据区域为有效数据区域。
在本发明公开的一些实施例中,
s220被配置有:
s221、查询所述备份数据区域中备份数据的版本索引号,并且在所述版本索引号不存在时,赋值所述版本索引号为n,n为自然数,
s222、使所述版本索引号加1;
s330被配置为比较不同所述有效数据区域中版本索引号的数值大小;
s340被配置为选取数值最大所述版本索引号对应的所述有效数据区为最新数据区域,以及加载所述最新数据区域中的备份数据到所述备份数据区域。
在本发明公开的一些实施例中,
s340被配置为在数值最大的所述版本索引号有至少两个时,随机选取数值最大任意所述版本索引号对应的所述有效数据区为最新数据区域,以及加载所述最新数据区域中的备份数据到所述备份数据区域。
在本发明公开的一些实施例中,
s340被配置为在没有满足预置条件的所述版本索引号时,初始化所述备份数据区域。
在本发明实施例至少公开一种存储介质,用于存储计算机指令,其特征在于,所述计算机指令被处理器执行时实现如权利要求1-6任意一项所述方法的步骤。
在本发明实施例至少公开一种备份数据存储及加载装置,其特征在于,
所述装置包括:
随机存取存储器配置,被配置为分配至少一个用于存储备份数据的备份数据区域;
只读存储器配置,被配置为分配至少两个存储数据区域;
数据存储模块,被配置为根据所述备份数据区域中的备份数据生成第一校验数据,查询所述备份数据区域中备份数据的版本索引号,并且更新所述版本索引号,分别存储所述备份数据区域中的备份数据、所述版本索引号及所述第一校验数据的组合在所述存储数据区域;
数据加载模块,被配置为计算所述存储数据区域中备份数据的第二校验数据,在所述第一校验数据及所述第二校验数据相同时,选取对应所述存储数据区域为有效数据区域,比较不同所述有效数据区域的版本索引号,选取满足预置条件的所述版本索引号对应的所述有效数据区为最新数据区域,以及加载所述最新数据区域中的备份数据到所述备份数据区域。
针对上述方案,本发明通过以下参照附图对公开的示例性实施例作详细描述,亦使本发明实施例的其它特征及其优点清楚。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为实施例一备份数据存储及加载装置的构架图;
图2为实施例二备份数据存储及加载装置的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中公开的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本实施例公开一种备份数据存储及加载装置。通过本实施例装置能够对需要备份数据的预处理,使备份数据能够被统一的存放在随机存取存储器的指定区域;同时,装置对备份数据的多次冗余备份及hash效验,能够优化备份数据的存储流程,提高备份数据的时效性。
实施例一
图1为本实施例备份数据存储及加载装置的构架图。请参考图1,本实施例装置包括存储器及处理单元。现有技术中至少包括相同构架的示例如电子终端。
电子终端,可以是向用户提供语音和/或数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备,比如:所述电子终端可以是移动电话(或称为“蜂窝”电话)、具有移动终端的计算机等,还可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,当然也可以是可穿戴设备(如智能手表、智能手环等)、平板电脑、个人电脑(personalcomputer,pc)、个人数字助理(personaldigitalassistant,pda)、pos(销售终端,pointofsales)等。
电子终端一般有作为存储器的ram及rom。ram至少包括一个被分配的备份数据区域,能够被用于存储操作系统、至少一个功能所需的应用程序,以及本实施例涉及的应用程序获取或输出或过程的备份数据等。rom至少包括两个被分配的存储数据区域,能够被用于存储根据电子终端的使用所创建的数据,包括本实施例中涉及的从ram指定备份数据区域中拷贝的备份数据等。
电子终端一般有作为处理单元的处理器。本实施例装置的处理器结合外围电路能够执行数据处理模块及数据加载模块。
本实施例的处理器及其外围电路,通过应用程序的编译链接文件中,分配ram的备份数据区域的存储信息,如段名、起始位置及大小。以及根据存储信息,分配指定的备份数据到备份数据区域。
数据存储模块被处理器执行时,用于存储备份数据,具体如下步骤。
根据备份数据区域中的备份数据生成第一hash。
查询备份数据区域中备份数据的版本索引号index,并且更新版本索引号index的数值大小。
分别存储备份数据区域的备份数据版本索引号index及第一hash的组合在存储数据区域。
优选的,本实施例在对版本索引号index的数值大小更新被执行的步骤如下。
查询备份数据区域中备份数据的版本索引号index,并且在版本索引号index不存在时,赋值版本索引号index为0;使版本索引号index+1。
数据加载模块被处理器执行时,用于加载备份数据,具体如下步骤。
计算存储数据区域中备份数据的第二hash。
在第一hash及第二hash相同时,选取对应存储数据区域为有效数据区域。
比较有效数据区域中版本索引号index的数值大小。
在数值最大的版本索引号index仅有一个时,选取数值最大版本索引号index对应的有效数据区为最新数据区域,以及加载最新数据区域中的备份数据到备份数据区域。
在数值最大的版本索引号index有至少两个时,随机选取数值最大任意版本索引号index对应的有效数据区为最新数据区域,以及加载最新数据区域中的备份数据到备份数据区域。
在没有版本索引号index时,初始化备份数据区域。
实施例二
请参考图2,本实施例公开备份数据存储及加载方法的流程图。本实施例方法的步骤能够被完全的执行在连接有ram及rom的处理器。
s110、在ram配置备份数据区域及所述备份数据区域的存储信息。
s120、存储备份数据在对应所述存储信息的所述备份数据区域。
s210、根据备份数据区域中的备份数据生成第一hash。
s221、查询备份数据区域中备份数据的版本索引号index,或者在版本索引号index不存在时,赋值版本索引号index为0。
s222、使版本索引号index+1。
s230、在rom分配两个存储数据区域。
s240、分别存储备份数据区域的备份数据版本索引号index及第一hash的组合在存储数据区域。
s310、计算存储数据区域中备份数据的第二hash。
s320、在第一hash及第二hash相同时,选取对应存储数据区域为有效数据区域。
s330、比较不同有效数据区域中版本索引号index的数值大小。
s340、根据所有版本索引号index的数值大小,具体执行下述三个步骤:
s341、在数值最大的版本索引号index有仅有一个时,选取数值最大版本索引号index对应的有效数据区为最新数据区域,以及加载最新数据区域中的备份数据到备份数据区域;
s342、在数值最大的版本索引号index有至少两个时,随机选取数值最大任意版本索引号index对应的有效数据区为最新数据区域,以及加载最新数据区域中的备份数据到备份数据区域;
s343、在没有版本索引号index时,初始化备份数据区域。
实施例三
为了对本实施例的方法作出进一步说明,本实施例公开一种存储介质,用于存储能够被如电子终端的处理器及其外围电路执行的计算机指令。本实施例的计算机指令被处理器执行时实现上述方法的步骤。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。