一种嵌入式数据库的数据备份系统及数据备份和恢复方法

文档序号:6610634阅读:509来源:国知局
专利名称:一种嵌入式数据库的数据备份系统及数据备份和恢复方法
技术领域
本发明涉及计算机领域中嵌入式实时操作系统中的数据库处理方法, 具体涉及一种能防止数据库数据发生异常的嵌入式数据库的数据备份系统 及数扭备份和恢复方法。
背景技术
在单板软件运行的过程中经常需要数据库的支持,而且随着用户使用 需求的提高,对系统数据库的要求就更高了。但是,由于系统在使用中突 然间掉电等诸多原因,都有可能会导致系统数据库中的数据发生异常,一 旦数据发生异常现象,则可能会导致数据丢失,甚至整个操作系统的崩溃。 所以就需要对系统数据库中的数据进行备份,然后在系统数据出现问题时, 用备粉的数据对数据库进行恢复。
数据备份顾名思义,就是将数据以某种方式加以保留,以便在系统遭 受破坏或其他特定情况下,重新加以利用的一个过程。数据备份的根本目 的是重新利用,这也就是说,备份工作的核心是恢复, 一个无法恢复的备 份,对任何系统来说都是毫无意义的。数据备份作为存储领域的一个重要 组成部分,其在存储系统中的地位和作用都是不容忽视的。换言之,即便 系统正常工作,没有任何数据丢失或破坏发生,备份工作仍然具有非常大 的意义。
所以,为了防止数据库因掉电等原因发生异常,导致系统崩溃,就需 要提供一种更好地能实时进行数据库数据备份和恢复的方法。

发明内容
本发明的目的在于提供一种嵌入式数据库的数据备份系统及数据备份 和恢复方法,其能有效地防止数据库发生异常,尽可能的保证数据库不丢
失数据。
为了达到上述目的,本发明采用如下技术方案
本发明的嵌入式系统数据库的数据备份系统,包括系统硬件存储设备, 该系统硬件存储设备设置有主数据库存储区,用于存放数据;在系统硬件 存储设备上还设置有备数据库存储区和两个校验码存储空间,所述备数据 库存储区用于存储备份的数据,所述校验码存储空间用于存放根据所述存 储数据计算得到的校验码;在所述数据备份系统中还设置有一数据库备份 恢复模块,该模块连接所述系统硬件存储设备和嵌入式系统的中央处理器, 用于接收来自中央处理器的指令,对所述主数据库存储区、备数据库存储 区和校验码存储空间进行读写操作,并计算、存储、判断校验码。
其中,所述数据库备份恢复模块设置有一校验码计算单元,用于根据 主数据库存储区和备数据库存储区的数据计算校验码,并将关于主数据库 的校验码送入一校验码存储空间中,将关于备数据库的校验码送入另 一校 验码存储空间中。在所述数据库备份恢复模块还设置有一判断比较单元, 该单元用于接收所述校验码计算单元输出的数据、读取所述校验码存储空 间中的数据,并判断两者的一致性,将判断结果输入给所述数据库备份恢 复模块。.
基于上述系统的数据备份和恢复方法,所述方法按照以下步骤进行
A、 数据初始备份步骤Al、根据主数据库中的数据计算校验码,并 将该校验码存储到第一校验码存储空间中;A2、将所述主数据库中的数据 备份到备数据库中,并将计算得到的校验码备份到第二校验码存储空间中;
B、 系统初始化阶段的数据恢复步骤Bl、系统初始化开始;B2、根 据校验码分别判断当前主数据库和备数据库的数据是否发生异常;若有一个数据库发生异常,则将正常数据库的数据同步到发生异常的数据库中,
并更新校验码;B3、数据库恢复正常,系统正常运行。 其中,所述步骤B2包括以下步骤 B21、根据当前主数据库的数据计算校验码;
B22、将计算得到的校验码与保存在所述第一校验码存储空间中的校验 码进行比较,判断其一致性;若不一致,则说明主数据库发生异常,并执 行步骤B23;
B23、根据当前备数据库的数据计算校验码;
B24、将计算得到的校验码与保存在所述第二校验码存储空间中的校验 码进行比较,判断其一致性;若一致,则说明备数据库正常,并执行步骤 B25;.
B25、将备数据库中的数据同步到主数据库中,并更新第一校验码存储 空间和第 一校验码存储空间的校验码。
其中,所数步骤B25中,所述第一校验码存储空间更新校验码的过程 按照如下步骤进行计算数据同步后主数据库中数据的校验码,并将得到 的校验码替换当前第 一校验码存储空间中的校验码。
其中,所数步骤B25中,所述第二校验码存储空间更新校验码的过程 按照如下步骤进行计算数据同步后备数据库中数据的校验码,并将得到 的校验码替换当前第二校验码存储空间中的校验码。
其中,当系统运行中需要更改数据库时,所述方法还包括步骤C、 系统运行中更改数据库的备份步骤,其具体如下所示
Cl、判断是否需要将一条记录写入数据库;若是,则执行步骤C2;
C2、将所述记录写入主数据库中;
C3、计算当前主数据库中数据的校验码,并用该校验码替换当前第一 校验码存储空间中的校验码;
C4、将所述记录写入备数据库中;C5、计算当前备数据库中数据的校验码,并用该校验码替换当前第二 校验码存储空间中的校验码;返回步骤C1。
其中,所述校验码采用CRC-32校验码格式。
本发明通过在软件层中增加一数据库备份恢复模块,在系统硬件存储 设备上预留一块与数据库空间大小相同的数据备份空间,同时为主备数据 库各提供一个存放效验码的存储空间,从而对数据库实现了 1+1的保护功 能,保障了能在一个数据库发生异常时,系统可以从另一个数据库中恢复数据。


图1是本发明的主备数据库的结构示意图2是本发明的数据库备份和恢复方法的流程图3是本发明数据库备份恢复方法的具体流程图。
具体实施例方式
以下将结合附图详细描述本发明的技术方案。
如图1所示,本发明的嵌入式系统数据库的数据备份系统,包括系统 硬件存储设备,该系统硬件存储设备设置有主数据库存储区,用于存放数 据;其上还设置有备数据库存储区和两个校验码存储空间,其中, 一个校 验码存储空间用于存储根据主数据库的数据计算得到的校验码,另 一个校 验码存储空间用于存储根据备数据库的数据计算得到的校验码,上述备数
据库存储区用于存储备份的数据;在数据备份系统的软件层上还设置有一
数据库备份恢复模块,该模块连接所述系统硬件存储设备和嵌入式系统的 中央处理器,用于接收来自中央处理器的指令,对所述主数据库存储区、 备数据库存储区和校验码存储空间进行读写操作,保证主数据库和备数据 库的数据同步,并计算、存储、判断校验码。上述数据库备份恢复模块的作用主要是在进行数据库写操作时,保 证主数据库和备用数据库的数据同步,同时计算并保存效验码;而且在系 统初始化时,根据校验码判断数据库是否有异常发生,如果发生异常,则
异常的依据,通过计算数据库中的数据的效验码与数据库效验码比较能够 判断出数据库数据是否发生异常。
在上述数据库备份恢复模块还设置有一校验码计算单元,该单元用于 根据主数据库存储区和备数据库存储区的数据计算校验码,并将关于主数 据库的校验码送入一校验码存储空间中,将关于备数据库的校验码送入另 一校验码存储空间中。这里校验码的计算采用CRC-32校验码的设计方法。 当然本发明不限于此,还可以采用其他的校验码设计方式。
在上述数据库备份恢复模块还设置有一判断比较单元,该单元接收校 验码计算单元输出的数据,读取校验码存储空间中的数据,并判断两者的 一致性,将判断结果输入给数据库备份恢复模块,实现根据校验码判断数 据库数据是否发生异常的判断功能。
下面结合图2就上述系统的结构,说明本发明数据备份和恢复的方法, 其过程可以按照以下步骤进行
110、数据初始备份步骤
首先,根据主数据库中的数据计算校验码,并将该校验码存储到第一 校验码存储空间中;然后,将所述主数据库中的数据备份到备数据库中, 并将计算得到的校验码备份到第二校验码存储空间中。
120、 按以下步骤进行系统初始化阶段
121、 系统初始化开始;
122、 根据校验码分别判断当前主数据库和备数据库的数据是否发生异 常;若有一个数据库发生异常,则执行步骤124;若主备数据库都没有异常, 则执行步骤126;若都异常,则执行步骤125;124、 将正常数据库的数据同步到发生异常的数据库中,并更新校验码;
125、 清空主备数据库,对两个数据库进行初始化,重新在主数据库中 写入数据,然后执行步骤110;
126、 数据库恢复正常,系统正常运行,并删除系统监控信息文件。 若系统运行中需要更改数据库,则上述过程还包括以下数据备份步骤
127、 判断是否需要将一条记录写入数据库;若是,则执行步骤128; 若否,则返回步骤127;
128、 将所述记录写入主数据库中,然后计算当前主数据库中数据的校 验码,并用该校验码替换当前第一校验码存储空间中的校验码;
129、 将所述记录写入备数据库中,然后计算当前备数据库中数据的校 验码,并用该校验码替换当前第二校验码存储空间中的校验码;
返回步骤127。这里的校验码可以采用CRC-32校验码格式。 如图3所示,上述过程中,所述步骤120的系统初始化阶段具体可以 按照以下步骤进行
130、 系统启动,开始初始化;
131、 根据当前主数据库的数据计算校验码,然后将计算得到的校验码 与保存在第一校验码存储空间中的校验码进行比较,判断其一致性;
若不一致,则说明主数据库发生异常,并执行步骤132;若一致,则说 明主数据库没有发生异常,并执行步骤133。
132、 根据当前备数据库的数据计算校验码,然后将计算得到的校验码 与保存在第二校验码存储空间中的校验码进行比较,判断其一致性;
若一致,则说明备数据库正常,并执行步骤134;若不一致,则说明备 数据库不正常,这时两个数据库都不正常执行上述步骤135。
133、 按照步骤132对当前备数据库进行判断,若一致,则说明备数据 库正常,这时两个数据库都正常,执行上述步骤137;若不一致,则说明备 数据库不正常,这时执行步骤136。
10134、 将备数据库中的数据同步到主数据库中,并计算更新存储区中的
校验码,更新校验码的过程具体是计算数据同步后主数据库中数据的校 验码,,并将得到的校验码替换当前第一校验码存储空间中的校验码。
135、 清空主备数据库,重新在主数据库中写入数据,并重复按照上述 步骤110对两个数据库进行初始化,然后执行步骤137;
136、 将主数据库中的数据同步到备数据库中,并计算更新存储区中的 校验石马,更新校验码的过程具体是计算数据同步后备数据库中数据的校 验码,并将得到的校验码替换当前第二校验码存储空间中的校验码。
137、 数据库功能开始正常运行,系统正常运行。
综上所述,本发明通过设定数据校验码和数据库备份恢复模块,使得 本发明能够有效地防止数据库因各种原因而产生的数据丟失和数据异常的 现象发生。上述各具体步骤的举例说明较为具体,并不能因此而认为是对 本发明的专利保护范围的限制,本发明的专利保护范围应以所附权利要求 为准。
权利要求
1、一种嵌入式系统数据库的数据备份系统,所述系统包括系统硬件存储设备,该系统硬件存储设备设置有主数据库存储区,用于存放数据;其特征在于,在系统硬件存储设备上还设置有备数据库存储区和两个校验码存储空间,所述备数据库存储区用于存储备份的数据,所述校验码存储空间用于存放根据所述存储数据计算得到的校验码;在所述数据备份系统中还设置有一数据库备份恢复模块,该模块连接所述系统硬件存储设备和嵌入式系统的中央处理器,用于接收来自中央处理器的指令,对所述主数据库存储区、备数据库存储区和校验码存储空间进行读写操作,并计算、存储、判断校验码。
2、 根据权利要求所述的系统,其特征在于,所述数据库备份恢复模 块设置有一校验码计算单元,用于根据主数据库存储区和备数据库存储区 的数据计算校验码,并将关于主数据库的校验码送入一校验码存储空间中, 将关于备数据库的校验码送入另 一校验码存储空间中。
3、 根据权利要求2所述的系统,其特征在于,在所述数据库备份恢复 模块还设置有一判断比较单元,该单元用于接收所述校验码计算单元输出 的数据、读取所述校验码存储空间中的数据,并判断两者的一致性,将判 断结果输入给所述数据库备份恢复模块。
4、 基于权利要求1所述系统的数据备份和恢复方法,其特征在于,所 述方法按照以下步骤进行A、数据初始备份步骤Al、根据主数据库中的数据计算校验码,并将该校验码存储到第一校 验码存储空间中;A2、将所述主数据库中的数据备份到备数据库中,并将计算得到的校验码务份到第二校验码存储空间中;B、系统初始化阶段的数据恢复步骤 Bl、系统初始化开始;B2、根据校验码分别判断当前主数据库和备数据库的数据是否发生异 常;若有一个数据库发生异常,则将正常数据库的数据同步到发生异常的 数据库中,并更新校验码;B3、数据库恢复正常,系统正常运行。
5、 根据权利要求4所述的方法,其特征在于,所述步骤B2包括以下 步骤B21、根据当前主数据库的数据计算校验码;B22、将计算得到的校验码与保存在所述第 一校验码存储空间中的校验 码进行比较,判断其一致性;若不一致,则说明主数据库发生异常,并执 行步骤B23;B23、根据当前备数据库的数据计算校验码;B24、将计算得到的校验码与保存在所述第二校验码存储空间中的校验 码进行比较,判断其一致性;若一致,则说明备数据库正常,并执行步骤 B25;B25、将备数据库中的数据同步到主数据库中,并更新第一校验码存储 空间和第 一校验码存储空间的校验码。
6、 根据权利要求5所述的方法,其特征在于,所数步骤B25中,所述 第 一校验码存储空间更新校验码的过程按照如下步骤进行计算数据同步后主数据库中数据的校验码,并将得到的校验码替换当 前第 一校验码存储空间中的校验码。
7、 根据权利要求5所述的方法,其特征在于,所数步骤B25中,所述第二校验码存储空间更新校验码的过程按照如下步骤进行计算数据同步后备数据库中数据的校验码,并将得到的校验码替换当 前第二校验码存储空间中的校验码。
8、 根据权利要求4所述的方法,其特征在于,当系统运行中需要更改 数据库时,所述方法还包括步骤C、系统运行中更改数据库的备份步骤,其具体过程如下 Cl、判断是否需要将一条记录写入数据库;若是,则执行步骤C2; C2、将所述记录写入主数据库中;C3、计算当前主数据库中数据的校验码,并用该校验码替换当前第一 校验码存储空间中的校验码;C4、将所述记录写入备数据库中;C5、计算当前备数据库中数据的校验码,并用该校验码替换当前第二 校验码存储空间中的校验码;返回步骤C1 。
9、 根据权利要求4至8所述的方法,其特征在于,所述校验码采用 CRC-32校验码格式。
全文摘要
本发明公开了一种嵌入式数据库的数据备份系统及数据备份和恢复方法,其在系统硬件存储设备上还设置有备数据库存储区和两个校验码存储空间;在所述数据备份系统中还设置有一数据库备份恢复模块,对所述主数据库存储区、备数据库存储区和校验码存储空间进行读写操作,并计算、存储、判断校验码。本发明通过在软件层中增加一数据库备份恢复模块,在系统硬件存储设备上预留一块与数据库空间大小相同的数据备份空间,同时为主备数据库各提供一个存放效验码的存储空间,从而对数据库实现了1+1的保护功能,保障了能在一个数据库发生异常时,系统可以从另一个数据库中恢复数据。
文档编号G06F11/14GK101452410SQ20071012486
公开日2009年6月10日 申请日期2007年12月6日 优先权日2007年12月6日
发明者晋 张, 王光辉, 大 谢 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1