发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种配置数据分区保存方法及系统、配置数据校验方法及系统,用于解决现有技术中配置数据不能安全保存且灵活更新的问题。
为实现上述目的及其他相关目的,本发明提供一种配置数据分区保存方法,所述方法包括:将配置数据存储区域划分为主配置分区和备份配置分区;将所述主配置分区划分为多个独立的主配置存储区域以供软件的各功能模块独立使用,且将所述备份配置分区划分为具有多个与所述主配置分区的主配置存储区域一一对应的备份配置存储区域;向所述主配置分区以及所述备份配置分区中写入配置数据;其中,各所述主配置存储区域根据写入的配置数据分别计算对应的完整性校验数据并保存于各自的主配置存储区域中,且各所述备份配置存储区域根据写入的配置数据分别计算对应的完整性校验数据并保存于各自的备份配置存储区域中。
于本发明一具体实施例中,依次向所述主配置分区以及所述备份配置分区中写入配置数据。
为实现上述目的及其他相关目的,本发明还提供一种配置数据分区保存系统,所述系统包括:分区模块,用以将配置数据存储区域划分为主配置分区和备份配置分区;存储区域划分模块,用以将所述主配置分区划分为多个独立的主配置存储区域,且将所述备份配置分区划分为具有多个与所述主配置分区的主配置存储区域一一对应的备份配置存储区域;配置数据写入模块,用以向所述主配置分区以及所述备份配置分区中写入配置数据,校验数据生成模块,用以令各所述主配置存储区域根据写入的配置数据分别计算对应的完整性校验数据并保存于各自的主配置存储区域中,且令所述备份配置存储区域根据写入的配置数据分别计算对应的完整性校验数据并保存于各自的备份配置存储区域中。
于本发明一具体实施例中,所述配置数据写入模块依次向所述主配置分区以及所述备份配置分区中写入配置数据。
为实现上述目的及其他相关目的,本发明提供一种应用于计算机系统的配置数据校验方法,所述计算机系统应用如上所述的配置数据分区保存方法对写入的配置数据进行保存,所述配置数据校验方法包括:软件启动时,逐个对所述主配置分区的各主配置存储区域进行读取并进行检测,且逐个对所述备份配置分区的各备份配置存储区域进行读取并进行检测;将对各所述主配置存储区域的检测结果与对各所述备份配置存储区域的检测结果进行比对,且根据比对结果进行相应的处理。
于本发明一具体实施例中,根据各所述主配置存储区域的完整性校验数据对该主配置存储区域进行检测,且根据各所述备份配置存储区域的完整性校验数据对该备份配置存储区域进行检测。
于本发明一具体实施例中,将对各所述主配置存储区域的检测结果与对各所述备份配置存储区域的检测结果进行比对,且根据比对结果进行相应的处理的方式包括:当一所述主配置存储区域的配置数据为有效配置数据,而对应该主配置存储区域的备份配置存储区域的配置数据被破环或者为空白时,将该主配置存储区域的有效配置数据更新到对应的配置数据被破环或者为空白的备份配置存储区域中;当一所述主配置存储区域的配置数据被破环或者为空白,而对应该主配置存储区域的备份配置存储区域的配置数据为有效配置数据时,将该备份配置存储区域的有效配置数据更新到对应的配置数据被破环或者为空白的主配置存储区域中;当一所述主配置存储区域的配置数据为有效配置数据,且对应该主配置存储区域的备份配置存储区域的配置数据亦为有效配置数据时,比较两者的有效配置数据是否相同,当为不同时,将所述主配置存储区域的有效配置数据更新至对应该主配置存储区域的备份配置存储区域中。
为实现上述目的及其他相关目的,本发明还提供一种应用于计算机系统的配置数据校验系统,所述计算机系统应用如上所述的配置数据分区保存方法对写入的配置数据进行保存,所述配置数据校验系统包括:读取检测模块,用以在软件启动时,逐个对所述主配置分区的各主配置存储区域进行读取并进行检测,且逐个对所述备份配置分区的各备份配置存储区域进行读取并进行检测;处理模块,应以将对各所述主配置存储区域的检测结果与对各所述备份配置存储区域的检测结果进行比对,且根据比对结果进行相应的处理。
于本发明一具体实施例中,所述读取检测模块根据各所述主配置存储区域的完整性校验数据对该主配置存储区域进行检测,且根据各所述备份配置存储区域的完整性校验数据对该备份配置存储区域进行检测。
于本发明一具体实施例中,所述处理模块将对各所述主配置存储区域的检测结果与对各所述备份配置存储区域的检测结果进行比对,且根据比对结果进行相应的处理的方式包括:当一所述主配置存储区域的配置数据为有效配置数据,而对应该主配置存储区域的备份配置存储区域的配置数据被破环或者为空白时,将该主配置存储区域的有效配置数据更新到对应的配置数据被破环或者为空白的备份配置存储区域中;当一所述主配置存储区域的配置数据被破环或者为空白,而对应该主配置存储区域的备份配置存储区域的配置数据为有效配置数据时,将该备份配置存储区域的有效配置数据更新到对应的配置数据被破环或者为空白的主配置存储区域中;当一所述主配置存储区域的配置数据为有效配置数据,且对应该主配置存储区域的备份配置存储区域的配置数据亦为有效配置数据时,比较两者的有效配置数据是否相同,当为不同时,将所述主配置存储区域的有效配置数据更新至对应该主配置存储区域的备份配置存储区域中。
如上所述,本发明的配置数据分区保存方法及系统、配置数据校验方法及系统,将主配置分区按照软件的功能模块划分为多个主配置存储区域,对应主配置分区的将备份配置分区划分为多个备份配置存储区域,且各主配置存储区域以及备份配置存储区域均设置有完整性校验数据;且在软件启动的过程中,根据所述完整性校验数据对各主配置存储区域以及备份配置存储区域的配置数据进行比对,并根据比对结果进行相应的处理。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图示中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
请参阅图1,显示为本发明的配置数据分区保存方法在一具体实施例中的流程示意图。所述方法10包括:
S11:将配置数据存储区域划分为主配置分区和备份配置分区;
S12:将所述主配置分区划分为多个独立的主配置存储区域以供软件的各功能模块独立使用,且将所述备份配置分区划分为具有多个与所述主配置分区的主配置存储区域一一对应的备份配置存储区域;
S13:向所述主配置分区以及所述备份配置分区中写入配置数据;
其中,各所述主配置存储区域根据写入的配置数据分别计算对应的完整性校验数据并保存于各自的主配置存储区域中,且各所述备份配置存储区域根据写入的配置数据分别计算对应的完整性校验数据并保存于各自的备份配置存储区域中。即所述备份配置分区结构和主配置分区相同,内部可分为多个独立的配置存储区域,各存储区域独立计算完整性校验数据并保存在该存储区域中。
优选的,依次向所述主配置分区以及所述备份配置分区中写入配置数据。即当软件写入配置时,总是先写入主配置分区,完成后,再写入备份配置分区,通过这种规则,保证在任意一个时刻最多只可能有一个配置分区存在被破坏的情况,且总是主配置分区含有较新的配置数据。
请参阅图2,显示为一具体实施例中配置数据保存示意图。其中主配置区被划分为n个主配置存储区,各所述主配置存储区中均设置有配置数据区和校验数据。且备份配置区被划分为n个备份配置存储区,各所述备份配置存储区中均设置有配置数据区和校验数据。
进一步参阅图3,显示为本发明一具体实施例中配置数据写入流程示意图。所述配置数据写入方法30包括:
步骤S301,软件写入配置过程开始,读取主配置分区;
步骤S302,更新主配置分区的配置数据,并计算对应各配置区块的校验数据;
步骤S303,擦除闪存中主配置分区;
步骤S304,将新配置数据和校验数据写入闪存中的主配置分区;
步骤S305,读取备份配置分区;
步骤S306,更新备份配置分区的配置数据,并计算对应各配置区块的校验数据;
步骤S307,擦除闪存中备份配置分区;
步骤S308,将新配置数据和校验数据写入闪存中的备份配置分区;
步骤S309,结束。
进一步参阅图4,显示为本发明一具体实施例中配置数据分区保存系统的模块示意图。所述配置数据分区保存系统40包括:分区模块41、存储区域划分模块42、配置数据写入模块43、以及校验数据生成模块44。
所述分区模块41用以将配置数据存储区域划分为主配置分区和备份配置分区;
所述存储区域划分模块42用以将所述主配置分区划分为多个独立的主配置存储区域,且将所述备份配置分区划分为具有多个与所述主配置分区的主配置存储区域一一对应的备份配置存储区域;
所述配置数据写入模块43用以向所述主配置分区以及所述备份配置分区中写入配置数据;
校验数据生成模块44,用以令各所述主配置存储区域根据写入的配置数据分别计算对应的完整性校验数据并保存于各自的主配置存储区域中,且令所述备份配置存储区域根据写入的配置数据分别计算对应的完整性校验数据并保存于各自的备份配置存储区域中。
于本发明一具体实施例中,所述配置数据写入模块依次向所述主配置分区以及所述备份配置分区中写入配置数据。
所述配置数据分区保存系统40为与所述配置数据分区保存方法10对应的系统项,两者技术方案一一对应,所有关于所述配置数据分区保存方法10的描述均可应用于本实施例中。
进一步参阅图5,显示为本发明的配置数据校验方法在一具体实施例中的流程示意图。所述配置数据校验方法50应用于计算机系统中,所述计算机系统应用如图所示的配置数据分区保存方法10对写入的配置数据进行保存,所述配置数据校验方法50包括:
S51:软件启动时,逐个对所述主配置分区的各主配置存储区域进行读取并进行检测,且逐个对所述备份配置分区的各备份配置存储区域进行读取并进行检测;
S52:将对各所述主配置存储区域的检测结果与对各所述备份配置存储区域的检测结果进行比对,且根据比对结果进行相应的处理。
于本发明一具体实施例中,根据各所述主配置存储区域的完整性校验数据对该主配置存储区域进行检测,且根据各所述备份配置存储区域的完整性校验数据对该备份配置存储区域进行检测。
于本发明一具体实施例中,将对各所述主配置存储区域的检测结果与对各所述备份配置存储区域的检测结果进行比对,且根据比对结果进行相应的处理的方式包括:当一所述主配置存储区域的配置数据为有效配置数据,而对应该主配置存储区域的备份配置存储区域的配置数据被破环或者为空白时,将该主配置存储区域的有效配置数据更新到对应的配置数据被破环或者为空白的备份配置存储区域中;当一所述主配置存储区域的配置数据被破环或者为空白,而对应该主配置存储区域的备份配置存储区域的配置数据为有效配置数据时,将该备份配置存储区域的有效配置数据更新到对应的配置数据被破环或者为空白的主配置存储区域中;当一所述主配置存储区域的配置数据为有效配置数据,且对应该主配置存储区域的备份配置存储区域的配置数据亦为有效配置数据时,比较两者的有效配置数据是否相同,当为不同时,将所述主配置存储区域的有效配置数据更新至对应该主配置存储区域的备份配置存储区域中。
进一步参阅图6,显示为本发明的配置数据校验方法在一具体实施例中的应用示意图。所述方法600包括:
步骤S601,软件启动,读取主配置分区;
步骤S602,软件检查主配置分区内容,读取主配置分区的各存储区块,判断各存储区块是否为空,并校验各配置区块内容;
步骤S603,软件读取备份配置分区;
步骤S604,软件检查备份配置分区内容,读取备份配置分区的各存储区块,判断各存储区块是否为空,并校验各配置区块内容;
步骤S605,判断主配置分区和备份配置分区情况。如果主配置分区的配置区块含有效数据,且备份配置分区对应区块数据被破坏或者为空白,则认为备份分区被破坏,主分区数据有效;执行步骤S606,将配置从主配置分区复制到备份配置分区中,随后到达结束步骤S611。其他情况下,执行步骤S607。
步骤S606仅在步骤S605判断为是的情况下执行。动作为将配置从主配置分区复制到备份配置分区中。
步骤S607,如果备份配置分区的配置区块含有效数据,且主配置分区对应区块数据被破坏或者为空白,则认为备份分区被破坏,主分区数据有效;执行步骤S608,将配置从备份配置分区复制到主配置分区中,随后到达结束步骤S611。其他情况下,执行步骤S609。
步骤S608仅在步骤S607判断为是的情况下执行。动作为将配置从备份配置分区复制到主配置分区中。
步骤S609,判断主配置分区和备份配置分区都没有数据被破坏时的情况。如果主配置分区和备份配置分区的配置区块都含有效数据,且内容不同,则认为主配置分区内容较新;执行步骤S610,将配置从主配置分区复制到备份配置分区中。判断完成,到达结束步骤S611。其他情况下,意味着主配置分区和备份配置分区内容相同,不需要动作,执行步骤S611。
步骤S610仅在步骤S609判断为是的情况下执行。动作为将配置从主配置分区复制到备份配置分区中。
步骤S611,结束。软件启动时的配置校验和恢复操作完成。
本发明通过主配置分区和备份配置分区机制,以及在软件启动和写入时采用定义的机制,就可以保证系统在任意时刻掉电软件配置数据都不会被破坏,而且软件的配置数据可以分为任意多个存储区域,不受所使用的闪存芯片的擦除区块大小的限制,不会出现因为配置数据小于闪存的擦除区块而造成的浪费,软件可移植性好。
进一步参阅图7,显示为本发明的配置数据校验系统在一具体实施例中的模块示意图。所述配置数据校验系统70应用如图4所示的配置数据分区保存系统40对写入的配置数据进行保存,所述配置数据校验系统70包括:
读取检测模块71,用以在软件启动时,逐个对所述主配置分区的各主配置存储区域进行读取并进行检测,且逐个对所述备份配置分区的各备份配置存储区域进行读取并进行检测;
处理模块72,应以将对各所述主配置存储区域的检测结果与对各所述备份配置存储区域的检测结果进行比对,且根据比对结果进行相应的处理。
于本发明一具体实施例中,所述读取检测模71块根据各所述主配置存储区域的完整性校验数据对该主配置存储区域进行检测,且根据各所述备份配置存储区域的完整性校验数据对该备份配置存储区域进行检测。
于本发明一具体实施例中,所述处理模块72将对各所述主配置存储区域的检测结果与对各所述备份配置存储区域的检测结果进行比对,且根据比对结果进行相应的处理的方式包括:当一所述主配置存储区域的配置数据为有效配置数据,而对应该主配置存储区域的备份配置存储区域的配置数据被破环或者为空白时,将该主配置存储区域的有效配置数据更新到对应的配置数据被破环或者为空白的备份配置存储区域中;当一所述主配置存储区域的配置数据被破环或者为空白,而对应该主配置存储区域的备份配置存储区域的配置数据为有效配置数据时,将该备份配置存储区域的有效配置数据更新到对应的配置数据被破环或者为空白的主配置存储区域中;当一所述主配置存储区域的配置数据为有效配置数据,且对应该主配置存储区域的备份配置存储区域的配置数据亦为有效配置数据时,比较两者的有效配置数据是否相同,当为不同时,将所述主配置存储区域的有效配置数据更新至对应该主配置存储区域的备份配置存储区域中。
所述配置数据校验系统70为与所述配置数据校验方法50对应的系统项,两者技术方案一一对应,所有关于所述配置数据校验方法50的描述均可应用于本实施例中。
综上所述,本发明的配置数据分区保存方法及系统、配置数据校验方法及系统,将主配置分区按照软件的功能模块划分为多个主配置存储区域,对应主配置分区的将备份配置分区划分为多个备份配置存储区域,且各主配置存储区域以及备份配置存储区域均设置有完整性校验数据;且在软件启动的过程中,根据所述完整性校验数据对各主配置存储区域以及备份配置存储区域的配置数据进行比对,并根据比对结果进行相应的处理。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。