CN101894137A - 嵌入式数据库中数据恢复的方法和装置 - Google Patents
嵌入式数据库中数据恢复的方法和装置 Download PDFInfo
- Publication number
- CN101894137A CN101894137A CN2010102088324A CN201010208832A CN101894137A CN 101894137 A CN101894137 A CN 101894137A CN 2010102088324 A CN2010102088324 A CN 2010102088324A CN 201010208832 A CN201010208832 A CN 201010208832A CN 101894137 A CN101894137 A CN 101894137A
- Authority
- CN
- China
- Prior art keywords
- data
- data file
- file
- backup database
- master
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种嵌入式数据库中数据恢复的方法和装置,该方法包括步骤:判断主数据库和备份数据库中的数据文件、数据文件结构是否错误;当主数据库中的数据文件和/或数据文件结构错误、备份数据库中的数据文件和数据文件结构正确时,将主数据库中的数据文件更新为备份数据库中的数据文件;当主数据库中的数据文件和数据文件结构正确、备份数据库中的数据文件和/或数据文件结构错误时,将备份数据库中的数据文件更新为主数据库中的数据文件。本发明提供的一种嵌入式数据库中数据恢复的方法和装置,对数据文件和/或数据文件结构错误的嵌入式数据库中的数据进行恢复,节约了嵌入式系统的存储资源,提高了嵌入式系统中数据库的容错性。
Description
技术领域
本发明涉及嵌入式系统技术领域,尤其涉及一种嵌入式数据库中数据恢复的方法和装置。
背景技术
在嵌入式系统中,如在容量大的通讯传输设备中,单板软件运行过程中经常需要通过数据管理模块对嵌入式系统中的数据进行管理,数据管理模块对嵌入式系统中的数据一般采用嵌入式数据库、或类似数据库的文件表结构进行管理,为了保证嵌入式系统的数据稳定性好,且能够持久存在,这些数据表需保存在物理存储介质上。随着嵌入式技术的高速发展,用户对数据稳定性的需求越来越高,但是单板软件在运行过程中在遇到掉电或者程序异常复位等原因时,可能会造成数据的异常或丢失,因此需要对数据进行备份,以便在数据异常或丢失时,进行数据恢复。
现有技术中,对嵌入式系统中数据的恢复,有些是通过比较当前数据库产生的校验码和存储区校验码的差异区分数据内容是否一致,不一致则进行数据恢复,这种数据恢复的方法,只能防止数据丢失,而对应因数据文件和数据文件结构本身遭到损坏的数据无法进行恢复。同时该现有的数据恢复装置中还设置两个校验码存储空间,增加了嵌入式系统的物理存储资源负担。
发明内容
本发明的主要目的在于提供一种嵌入式数据库中数据恢复的方法和装置,实现对数据文件和/或数据文件结构错误的嵌入式数据库中数据进行恢复,提高嵌入式数据库中数据的容错性。
本发明提出一种嵌入式数据库中数据恢复的方法,其包括步骤:
判断主数据库和备份数据库中的数据文件、数据文件结构是否错误;
当主数据库中的数据文件和/或数据文件结构错误、备份数据库中的数据文件和数据文件结构正确时,将主数据库中的数据文件更新为备份数据库中的数据文件;
当主数据库中的数据文件和数据文件结构正确、备份数据库中的数据文件和/或数据文件结构错误时,将备份数据库中的数据文件更新为主数据库中的数据文件。
优选地,判断数据文件是否错误具体为:
判断数据文件能否正常打开和关闭,当能正常打开和关闭,则表示数据文件正确;当不能正常打开和/或关闭,则表示数据文件错误。
优选地,判断数据文件结构是否错误具体为:
判断数据文件中是否存在叶节点序列号、叶节点数据对个数与预先记录的对应的叶节点序列号、叶节点数据对个数不一致的叶节点;
和/或,判断最后叶节点序列号与预先记录的最后叶节点序列号是否一致;
当存在叶节点序列号、叶节点数据对个数与预先记录的对应的叶节点序列号、叶节点数据对个数不一致的叶节点;和/或,最后的叶节点序列号与预先记录的最后的叶节点序列号不一致,则表示数据文件结构错误。
优选地,所述判断主数据库和备份数据库中的数据文件、数据文件结构是否错误的步骤还包括:
判断索引表文件是否错误。
优选地,所述判断索引表文件是否错误的步骤之后还包括:
当主数据库和备份数据库中的数据文件与数据文件结构正确、索引表文件错误时,将主数据库中的数据文件更新为备份数据库中的数据文件。
优选地,当索引表文件错误时,在将备份数据库中的数据文件更新为主数据库中的数据文件之后还包括:
将主数据库中的数据文件更新为备份数据库中的数据文件。
优选地,所述判断主数据库和备份数据库中的数据文件、数据文件结构是否错误的步骤之前还包括:
根据接收到的更新操作指令对主数据库和备份数据库进行相应的数据更新,判断数据更新是否成功;
当主数据库数据更新成功,备份数据库数据更新失败时,将主数据库中当前的数据更新为原有数据;
当备份数据库数据更新成功,主数据库数据更新失败时,将备份数据库中当前的数据更新为原有数据。
优选地,所述更新操作指令为:
插入数据操作指令、删除数据操作指令、或修改数据操作指令。
优选地,根据接收到的更新操作指令对主数据库和备份数据库进行相应的数据更新具体为:
根据接收到的插入数据操作指令,向主数据库和备份数据库插入相应的数据;或者,
根据接收到的删除数据操作指令,将主数据库和备份数据库中相应的数据删除;或者,
根据接收到的修改数据操作指令,对主数据库和备份数据库中相应的数据进行修改。
本发明另提出一种嵌入式数据库中数据恢复的装置,其包括:
判断模块,用于判断主数据库和备份数据库中的数据文件、数据文件结构是否错误;
数据恢复模块,用于当主数据库中的数据文件和/或数据文件结构错误、备份数据库中的数据文件和数据文件结构正确时,将主数据库中的数据文件更新为备份数据库中的数据文件;
以及当主数据库中的数据文件和数据文件结构正确、备份数据库中的数据文件和/或数据文件结构错误时,将备份数据库中的数据文件更新为主数据库中的数据文件。
优选地,所述判断模块,还用于判断数据文件能否正常打开和关闭,当能正常打开和关闭,则表示数据文件正确;当不能正常打开和/或关闭,则表示数据文件错误。
优选地,所述判断模块,还用于判断数据文件中是否存在叶节点序列号、叶节点数据对个数与预先记录的对应的叶节点序列号、叶节点数据对个数不一致的叶节点;
和/或,判断最后叶节点序列号与预先记录的最后叶节点序列号是否一致;
当存在叶节点序列号、叶节点数据对个数与预先记录的对应的叶节点序列号、叶节点数据对个数不一致的叶节点;和/或,最后叶节点序列号与预先记录的最后叶节点序列号不一致,则表示数据文件结构错误。
优选地,所述判断模块,还用于判断索引表文件是否错误。
优选地,所述数据恢复模块,还用于当主数据库和备份数据库中的数据文件与数据文件结构正确、索引表文件错误时,将主数据库中的数据文件更新为备份数据库中的数据文件。
优选地,所述数据恢复模块,还用于当索引表文件错误时,在将备份数据库中的数据文件更新为主数据库中的数据文件之后,将主数据库中的数据文件更新为备份数据库中的数据文件。
优选地,还包括:
数据同步模块,用于根据接收到的更新操作指令对主数据库和备份数据库进行相应的数据更新,判断数据更新是否成功;
当主数据库数据更新成功,备份数据库数据更新失败时,将主数据库中当前的数据更新为原有数据;
当备份数据库数据更新成功,主数据库数据更新失败时,将备份数据库中当前的数据更新为原有数据。
优选地,所述更新操作指令为:
插入数据操作指令、删除数据操作指令、或修改数据操作指令。
优选地,所述数据同步模块,还具体用于:
根据接收到的插入数据操作指令,向主数据库和备份数据库插入相应的数据;或者,
根据接收到的删除数据操作指令,将主数据库和备份数据库中相应的数据删除;或者,
根据接收到的修改数据操作指令,对主数据库和备份数据库中相应的数据进行修改。
本发明提供的一种嵌入式数据库中数据恢复的方法和装置,对数据文件和/或数据文件结构错误的嵌入式数据库中数据进行恢复,节约了嵌入式系统的存储资源,提高了嵌入式系统中数据库的容错性。
附图说明
图1是本发明的嵌入式数据库中数据恢复的方法一实施例的流程图;
图2是本发明的判断数据文件和数据文件结构是否错误的流程图;
图3是本发明的嵌入式数据库中数据恢复的方法实施例中一具体实例的流程图;
图4是本发明的嵌入式数据库中数据恢复的方法另一实施例的流程图;
图5是本发明的嵌入式数据库中数据初始化处理的流程图;
图6是本发明的嵌入式数据库中数据恢复的装置一实施例的结构示意图;
图7是本发明的嵌入式数据库中数据恢复的装置另一实施例的结构示意图;
图8是本发明的嵌入式数据库中数据恢复的装置另一实施例的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参见图1,本发明提出嵌入式数据库中数据恢复的方法一实施例,其包括:
步骤101、判断主数据库和备份数据库中的数据文件、数据文件结构是否错误;
步骤102、当主数据库中的数据文件和/或数据文件结构错误、备份数据库中的数据文件和数据文件结构正确时,将主数据库中的数据文件更新为备份数据库中的数据文件;
本步骤将主数据库中的数据文件更新为备份数据库中的数据文件,用以恢复主数据库中的数据文件。
步骤103、当主数据库中的数据文件和数据文件结构正确、备份数据库中的数据文件和/或数据文件结构错误时,将备份数据库中的数据文件更新为主数据库中的数据文件。
本步骤将备份数据库中的数据文件更新为主数据库中的数据文件,用以恢复备份数据库中的数据文件。
进一步地,上述实施例中,判断数据文件是否错误具体为:判断数据文件能否正常打开和关闭,当能正常打开和关闭,则表示数据文件正确;当不能正常打开和/或关闭,则表示数据文件错误。
其中,判断数据文件能否正常打开和关闭具体为:判断打开数据文件后是否收到数据文件描述符,若收到,则表明数据文件为正常打开,否则为非正常打开;判断关闭数据文件后是否收到数据文件描述符,若收到,则表明数据文件为正常关闭,否则为非正常关闭。
上述打开数据文件后收到的数据文件描述符用以告知用户数据文件为正常打开;上述关闭数据文件后收到的数据文件描述符用以告知用户数据文件为正常关闭。
进一步地,上述实施例中,数据文件结构为树形结构,判断数据文件结构是否错误具体为:判断数据文件中是否存在叶节点序列号、叶节点数据对个数与预先记录的对应的叶节点序列号、叶节点数据对个数不一致的叶节点;和/或,判断最后的叶节点序列号与预先记录的最后的叶节点序列号是否一致;当存在叶节点序列号、叶节点数据对个数与预先记录的对应的叶节点序列号、叶节点数据对个数不一致的叶节点;和/或,最后的叶节点序列号与预先记录的最后的叶节点序列号不一致,则表示数据文件结构错误。
上述叶节点数据对个数是指“KEY/DATA对”,即“键值/数据对”。
参见图2,本发明的嵌入式数据库中数据恢复的方法中,首先判断数据文件是否错误,若数据文件错误则结束流程;当数据文件正确,则再判断数据文件结构是否错误,其中,当数据文件和/或数据文件结构错误,表明数据库数据校验失败,当数据文件和数据文件结构都正确,则表明数据库数据校验成功,其具体的判断流程如下:
步骤201、打开数据文件,判断是否收到数据文件描述符;当收到,则转入步骤202;否则,表明数据文件错误,数据库数据校验失败,并结束流程;
步骤202、关闭数据文件,判断是否收到数据文件描述符;当收到,则转入步骤203;否则,表明数据文件错误,数据库数据校验失败,并结束流程;
步骤203、获取根节点中最后叶节点序列号,和最后叶节点中的数据对个数;
步骤204、判断上述获取的叶节点中的数据对个数是否与预先记录的对应的叶节点数据对个数一致;若一致,则转入步骤205;若不一致,则表明数据文件结构错误,数据库数据校验失败,并结束流程;
步骤205、判断当前叶节点是否为根节点中最后叶节点;若为最后叶节点,转入步骤207;若不为最后叶节点,转入步骤206;
步骤206、获取下一叶节点中的数据对个数,并判断该叶节点的数据对个数是否与预先记录的对应的叶节点数据对个数一致,若一致,则转入步骤205;若不一致,则表明数据文件结构错误,数据库数据校验失败,并结束流程;
步骤207、判断当前叶节点序列号与预先记录的根节点中最后叶节点的序列号是否一致;若一致,表明数据文件正确,数据库数据校验成功,并结束流程;若不一致,则表明数据文件错误,数据库数据校验失败,并结束流程。
本实施例,对数据文件和/或数据文件结构错误的嵌入式数据库中数据进行恢复,节约了嵌入式系统的存储资源,提高了嵌入式系统中数据库的容错性。
进一步地,本发明提出嵌入式数据库中数据恢复的方法另一实施例,在上述实施例的步骤101之后还包括步骤:判断索引表文件是否错误。
进一步地,本发明提出嵌入式数据库中数据恢复的方法另一实施例,在上述判断索引表文件是否错误的步骤之后还包括步骤:当主数据库和备份数据库中的数据文件与数据文件结构正确、索引表文件错误时,将主数据库中的数据文件更新为备份数据库中的数据文件。
进一步地,本发明提出嵌入式数据库中数据恢复的方法另一实施例,当索引表文件错误时,在将备份数据库中的数据文件更新为主数据库中的数据文件之后还包括:将主数据库中的数据文件更新为备份数据库中的数据文件。
参见图3,本实施例的嵌入式数据库中数据恢复的具体流程如下:
步骤301、检测主数据库中数据文件和/或数据文件结构是否错误;若是,转入步骤302;若否,转入步骤303;
本步骤中,主数据库中数据文件和数据文件结构正确时,主数据库标志为“0”。
步骤302;将主数据库标志记为“1”,并删除数据文件;
步骤303、检测备份数据库中数据文件和/或数据文件结构是否错误;若是,转入步骤304;若否,转入步骤305;
本步骤中,备份数据库中数据文件和数据文件结构正确时,备份数据库标志为“0”。
步骤304、将备份数据库标志记为“1”,并删除数据文件;
步骤305、检测索引表文件是否错误,若是,转入步骤306;若否,转入步骤307;
本步骤中,索引表文件正确时,索引表文件标志为“0”。
步骤306、将索引表文件标志记为“1”,并删除索引表文件;
步骤307、根据主数据库、备份数据库和索引表文件的标志,进行相应的处理。
进一步地,上述步骤307的具体处理流程包括:
A、判断主数据库、备份数据库和索引表文件的标志为“0”还是为“1”;
B、当主数据库标志为“1”,备份数据库标志为“0”,将备份数据库中的数据文件插入主数据库中;
本步骤中将备份数据库中的数据文件插入主数据库的同时,重新生成索引表文件。
C、当主数据库标志为“1”,备份数据库标志为“1”,删除索引表文件;
D、当主数据库标志为“0”,备份数据库标志为“1”,索引表文件标志为“0”,将主数据库中的数据文件插入备份数据库。
本步骤中,将主数据库中的数据文件插入备份数据库,以实现恢复备份数据库中的数据文件。
E、当主数据库标志为“0”,备份数据库标志为“1”,索引表文件标志为“1”,将主数据库中的数据文件插入备份数据库,然后将主数据库的数据文件更新为备份数据库的数据文件;
本步骤中,将主数据库中的数据文件插入备份数据库,以实现备份数据库中数据文件恢复;将主数据库的数据文件更新为备份数据库的数据文件,用以重新生成索引表文件。
F、当主数据库标志为“0”,备份数据库标志为“0”,索引表文件标志为“1”,将主数据库中的数据文件更新为备份数据库中的数据文件。
本步骤将主数据库中的数据文件更新为备份数据库中的数据文件,用以重新生成索引表文件。
进一步地,参见图4,本发明提出嵌入式数据库中数据恢复的方法另一实施例,在上述实施例的步骤101之前还包括:
步骤401、根据接收到的更新操作指令对主数据库和备份数据库进行相应的数据更新,判断数据更新是否成功;
步骤402、当主数据库数据更新成功,备份数据库数据更新失败时,将主数据库中当前的数据更新为原有数据;
步骤403、当备份数据库数据更新成功,主数据库数据更新失败时,将备份数据库中当前的数据更新为原有数据。
进一步地,上述更新操作指令为:插入数据操作指令、删除数据操作指令、或修改数据操作指令。
进一步地,上述实施例的步骤401具体为:根据接收到的更新操作指令对主数据库和备份数据库进行相应的数据更新具体为:根据接收到的插入数据操作指令,向主数据库和备份数据库插入相应的数据;或者,根据接收到的删除数据操作指令,将主数据库和备份数据库中相应的数据删除;或者,根据接收到的修改数据操作指令,对主数据库和备份数据库中相应的数据进行修改。
本实施例,通过对主数据库和备份数据库的数据文件进行更新,当某一数据库更新失败,则将另一数据库的数据更新为原有数据,保证了主数据库的数据和备份数据库的数据实时同步,为数据库数据的恢复做准备。
进一步地,参见图5,上述实施例的步骤401之前还包括嵌入式数据库中数据初始化处理,其具体处理如下:
步骤501、查询是否存在主数据库;若存在,则转入步骤503;若不存在,转入步骤502;
步骤502、创建主数据库;
步骤503、查询是否存在备份数据库;若存在,则转入步骤505;若不存在,转入步骤504;
步骤504、创建备份数据库;
步骤505、查询是否存在索引表文件;若存在,则结束流程;若不存在,转入步骤506;
步骤506、创建索引表文件。
本实施例,创建主数据库、备份数据库、和/或索引表文件,为后续的数据同步做准备。
参见图6,本发明提出嵌入式数据库中数据恢复的装置一实施例,其包括:判断模块11和数据恢复模块12。其中,判断模块11,用于判断主数据库和备份数据库中的数据文件、数据文件结构是否错误。数据恢复模块12,用于当主数据库中的数据文件和/或数据文件结构错误、备份数据库中的数据文件和数据文件结构正确时,将主数据库中的数据文件更新为备份数据库中的数据文件;以及当主数据库中的数据文件和数据文件结构正确、备份数据库中的数据文件和/或数据文件结构错误时,将备份数据库中的数据文件更新为主数据库中的数据文件。
进一步地,上述实施例的装置中,判断模块11,还用于判断数据文件能否正常打开和关闭,当能正常打开和关闭,则表示数据文件正确;当不能正常打开和/或关闭,则表示数据文件错误。
其中,判断数据文件能否正常打开和关闭具体为:判断打开数据文件后是否收到数据文件描述符,若收到,则表明数据文件为正常打开,否则为非正常打开;判断关闭数据文件后是否收到数据文件描述符,若收到,则表明数据文件为正常关闭,否则为非正常关闭。
上述打开数据文件后收到的数据文件描述符,用以告知用户数据文件为正常打开;上述关闭数据文件后收到的数据文件描述符,用以告知用户数据文件为正常关闭。
进一步地,上述实施例的装置中,数据文件结构为树形结构,判断模块11,还用于判断数据文件中是否存在叶节点序列号、叶节点数据对个数与预先记录的对应的叶节点序列号、叶节点数据对个数不一致的叶节点;
和/或,判断最后的叶节点序列号与预先记录的最后的叶节点序列号是否一致;
当存在叶节点序列号、叶节点数据对个数与预先记录的对应的叶节点序列号、叶节点数据对个数不一致的叶节点;和/或,最后叶节点序列号与预先记录的最后叶节点序列号不一致,则表示数据文件结构错误。
上述叶节点数据对个数是指“KEY/DATA对”,即“键值/数据对”。
其中,判断模块11在判断数据文件正确后,再判断数据文件结构是否错误。判断模块11在判断数据文件结构时,首先顺序判断每个叶节点中数据对个数与预先记录的对应还用叶节点数据对个数是否一致,如果不一致,则表明数据文件结构错误;如果一致再判断当前叶节点是否为最后叶节点;在当前叶节点为最后叶节点时,用于判断当前的叶节点序列号是否与预先记录的根节点的最后叶节点序列号一致,若不一致,则表明数据文件结构错误。
进一步地,本发明提出上述实施例的装置另一实施例,其判断模块11,还用于判断索引表文件是否错误。
进一步地,上述数据恢复模块12,还用于当主数据库和备份数据库中的数据文件与数据文件结构正确、索引表文件错误时,将主数据库中的数据文件更新为备份数据库中的数据文件,用以重新生成索引表文件。
进一步地,上述数据恢复模块12,还用于当索引表文件错误时,在将备份数据库中的数据文件更新为主数据库中的数据文件之后,将主数据库中的数据文件更新为备份数据库中的数据文件。
其中,备份数据库中的数据文件更新为主数据库中的数据文件,是为了恢复备份数据库中的数据文件;将主数据库中的数据文件更新为备份数据库中的数据文件,是用以重新生成索引表文件。
另外,上述数据恢复模块12,还用于在主数据库和备份数据库的数据文件和数据文件结构错误时,删除索引表文件。以及在主数据库的数据文件和数据文件结构正确,备份数据库中数据文件和/或数据文件结构错误,索引表文件正确时,将备份数据库中的数据文件更新为主数据库中的数据文件,以恢复备份数据库中数据。另外还用于在主数据库中数据文件和/或数据文件结构错误,备份数据库中数据文件和数据文件结构正确时,将主数据库中的数据文件更新为备份数据库的数据文件,以恢复主数据库中的数据。
本实施例,对数据文件和/或数据文件结构错误的嵌入式数据库中的数据进行恢复,节约了嵌入式系统的存储资源,提高了嵌入式系统中数据库的容错性。
进一步地,参见图7,本发明提出嵌入式数据库中数据恢复的装置另一实施例,其还包括:数据同步模块13。其中,数据同步模块13,用于根据接收到的更新操作指令对主数据库和备份数据库进行相应的数据更新,判断数据更新是否成功。当主数据库数据更新成功,备份数据库数据更新失败时,将主数据库中当前的数据更新为原有数据。以及当备份数据库数据更新成功,主数据库数据更新失败时,将备份数据库中当前的数据更新为原有数据。
进一步地,更新操作指令为:插入数据操作指令、删除数据操作指令、或修改数据操作指令。
进一步地,上述数据同步模块13,还具体用于根据接收到的插入数据操作指令,向主数据库和备份数据库插入相应的数据;或者,根据接收到的删除数据操作指令,将主数据库和备份数据库中相应的数据删除;或者,根据接收到的修改数据操作指令,对主数据库和备份数据库中相应的数据进行修改。
本实施例,通过对主数据库和备份数据库的数据文件进行更新,当某一数据库更新失败,则将另一数据库的数据更新为原有数据,保证了主数据库的数据和备份数据库的数据实时同步,为数据库数据的恢复做准备。
进一步地,参见图8,本发明提出嵌入式数据库中数据恢复的装置另一实施例,还包括查询模块14和创建模块15,其中查询模块14,用于查询是否存在主数据库、备份数据库和索引表文件。创建模块15,用于在主数据库、备份数据库、和/或索引表文件不存在时,创建主数据库、备份数据库、和/或索引表文件。
本实施例,创建主数据库、备份数据库、和/或索引表文件,为后续的数据同步做准备。
应当理解的是,以上仅为本发明的优选实施例,不能因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (18)
1.一种嵌入式数据库中数据恢复的方法,其特征在于,包括步骤:
判断主数据库和备份数据库中的数据文件、数据文件结构是否错误;
当主数据库中的数据文件和/或数据文件结构错误、备份数据库中的数据文件和数据文件结构正确时,将主数据库中的数据文件更新为备份数据库中的数据文件;
当主数据库中的数据文件和数据文件结构正确、备份数据库中的数据文件和/或数据文件结构错误时,将备份数据库中的数据文件更新为主数据库中的数据文件。
2.根据权利要求1所述的嵌入式数据库中数据恢复的方法,其特征在于,判断数据文件是否错误具体为:
判断数据文件能否正常打开和关闭,当能正常打开和关闭,则表示数据文件正确;当不能正常打开和/或关闭,则表示数据文件错误。
3.根据权利要求1所述的嵌入式数据库中数据恢复的方法,其特征在于,判断数据文件结构是否错误具体为:
判断数据文件中是否存在叶节点序列号、叶节点数据对个数与预先记录的对应的叶节点序列号、叶节点数据对个数不一致的叶节点;
和/或,判断最后叶节点序列号与预先记录的最后叶节点序列号是否一致;
当存在叶节点序列号、叶节点数据对个数与预先记录的对应的叶节点序列号、叶节点数据对个数不一致的叶节点;和/或,最后的叶节点序列号与预先记录的最后的叶节点序列号不一致,则表示数据文件结构错误。
4.根据权利要求2或3所述的嵌入式数据库中数据恢复的方法,其特征在于,所述判断主数据库和备份数据库中的数据文件、数据文件结构是否错误的步骤还包括:
判断索引表文件是否错误。
5.根据权利要求4所述的嵌入式数据库中数据恢复的方法,其特征在于,所述判断索引表文件是否错误的步骤之后还包括:
当主数据库和备份数据库中的数据文件与数据文件结构正确、索引表文件错误时,将主数据库中的数据文件更新为备份数据库中的数据文件。
6.根据权利要求4所述的嵌入式数据库中数据恢复的方法,其特征在于,当索引表文件错误时,在将备份数据库中的数据文件更新为主数据库中的数据文件之后还包括:
将主数据库中的数据文件更新为备份数据库中的数据文件。
7.根据权利要求4所述的嵌入式数据库中数据恢复的方法,其特征在于,所述判断主数据库和备份数据库中的数据文件、数据文件结构是否错误的步骤之前还包括:
根据接收到的更新操作指令对主数据库和备份数据库进行相应的数据更新,判断数据更新是否成功;
当主数据库数据更新成功,备份数据库数据更新失败时,将主数据库中当前的数据更新为原有数据;
当备份数据库数据更新成功,主数据库数据更新失败时,将备份数据库中当前的数据更新为原有数据。
8.根据权利要求7所述的嵌入式数据库中数据恢复的方法,其特征在于,所述更新操作指令为:
插入数据操作指令、删除数据操作指令、或修改数据操作指令。
9.根据权利要求8所述的嵌入式数据库中数据恢复的方法,其特征在于,根据接收到的更新操作指令对主数据库和备份数据库进行相应的数据更新具体为:
根据接收到的插入数据操作指令,向主数据库和备份数据库插入相应的数据;或者,
根据接收到的删除数据操作指令,将主数据库和备份数据库中相应的数据删除;或者,
根据接收到的修改数据操作指令,对主数据库和备份数据库中相应的数据进行修改。
10.一种嵌入式数据库中数据恢复的装置,其特征在于,包括:
判断模块,用于判断主数据库和备份数据库中的数据文件、数据文件结构是否错误;
数据恢复模块,用于当主数据库中的数据文件和/或数据文件结构错误、备份数据库中的数据文件和数据文件结构正确时,将主数据库中的数据文件更新为备份数据库中的数据文件;
以及当主数据库中的数据文件和数据文件结构正确、备份数据库中的数据文件和/或数据文件结构错误时,将备份数据库中的数据文件更新为主数据库中的数据文件。
11.根据权利要求10所述的嵌入式数据库中数据恢复的装置,其特征在于,所述判断模块,还用于判断数据文件能否正常打开和关闭,当能正常打开和关闭,则表示数据文件正确;当不能正常打开和/或关闭,则表示数据文件错误。
12.根据权利要求11所述的嵌入式数据库中数据恢复的装置,其特征在于,所述判断模块,还用于判断数据文件中是否存在叶节点序列号、叶节点数据对个数与预先记录的对应的叶节点序列号、叶节点数据对个数不一致的叶节点;
和/或,判断最后叶节点序列号与预先记录的最后叶节点序列号是否一致;
当存在叶节点序列号、叶节点数据对个数与预先记录的对应的叶节点序列号、叶节点数据对个数不一致的叶节点;和/或,最后叶节点序列号与预先记录的最后叶节点序列号不一致,则表示数据文件结构错误。
13.根据权利要求11或12所述的嵌入式数据库中数据恢复的装置,其特征在于,所述判断模块,还用于判断索引表文件是否错误。
14.根据权利要求13所述的嵌入式数据库中数据恢复的装置,其特征在于,
所述数据恢复模块,还用于当主数据库和备份数据库中的数据文件与数据文件结构正确、索引表文件错误时,将主数据库中的数据文件更新为备份数据库中的数据文件。
15.根据权利要求13所述的嵌入式数据库中数据恢复的装置,其特征在于,
所述数据恢复模块,还用于当索引表文件错误时,在将备份数据库中的数据文件更新为主数据库中的数据文件之后,将主数据库中的数据文件更新为备份数据库中的数据文件。
16.根据权利要求13所述的嵌入式数据库中数据恢复的装置,其特征在于,还包括:
数据同步模块,用于根据接收到的更新操作指令对主数据库和备份数据库进行相应的数据更新,判断数据更新是否成功;
当主数据库数据更新成功,备份数据库数据更新失败时,将主数据库中当前的数据更新为原有数据;
当备份数据库数据更新成功,主数据库数据更新失败时,将备份数据库中当前的数据更新为原有数据。
17.根据权利要求16所述的嵌入式数据库中数据恢复的装置,其特征在于,所述更新操作指令为:
插入数据操作指令、删除数据操作指令、或修改数据操作指令。
18.根据权利要求17所述的嵌入式数据库中数据恢复的装置,其特征在于,所述数据同步模块,还具体用于:
根据接收到的插入数据操作指令,向主数据库和备份数据库插入相应的数据;或者,
根据接收到的删除数据操作指令,将主数据库和备份数据库中相应的数据删除;或者,
根据接收到的修改数据操作指令,对主数据库和备份数据库中相应的数据进行修改。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102088324A CN101894137A (zh) | 2010-06-23 | 2010-06-23 | 嵌入式数据库中数据恢复的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102088324A CN101894137A (zh) | 2010-06-23 | 2010-06-23 | 嵌入式数据库中数据恢复的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101894137A true CN101894137A (zh) | 2010-11-24 |
Family
ID=43103329
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102088324A Pending CN101894137A (zh) | 2010-06-23 | 2010-06-23 | 嵌入式数据库中数据恢复的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101894137A (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102629250A (zh) * | 2012-02-28 | 2012-08-08 | 杭州丰城信息技术有限公司 | 一种内存数据库重做日志文件的恢复方法 |
CN102981779A (zh) * | 2012-11-22 | 2013-03-20 | 华为技术有限公司 | 数据处理方法和设备 |
CN104156432A (zh) * | 2014-08-08 | 2014-11-19 | 四川九成信息技术有限公司 | 一种文件访问方法 |
CN104252500A (zh) * | 2013-06-29 | 2014-12-31 | 北京新媒传信科技有限公司 | 一种数据库管理平台的故障修复方法和装置 |
CN105045676A (zh) * | 2015-07-02 | 2015-11-11 | 四川效率源信息安全技术有限责任公司 | 基于SQLite数据库的丢失数据的恢复装置和方法 |
WO2016127557A1 (zh) * | 2015-02-13 | 2016-08-18 | 华为技术有限公司 | 重建备机数据库的方法及其装置 |
CN106055424A (zh) * | 2016-05-19 | 2016-10-26 | 青岛海信移动通信技术股份有限公司 | 一种信息数据库的异常处理方法和装置 |
CN107577813A (zh) * | 2017-09-29 | 2018-01-12 | 北京酷我科技有限公司 | 一种数据库插入数据优化算法 |
CN107609181A (zh) * | 2017-09-29 | 2018-01-19 | 北京酷我科技有限公司 | 一种数据库更新数据优化算法 |
CN107622130A (zh) * | 2017-09-29 | 2018-01-23 | 北京酷我科技有限公司 | 一种数据库升级优化算法 |
CN109614442A (zh) * | 2018-11-02 | 2019-04-12 | 东软集团股份有限公司 | 数据同步的数据表维护方法、装置、存储介质和电子设备 |
CN109992695A (zh) * | 2019-04-10 | 2019-07-09 | 北京奇艺世纪科技有限公司 | 一种视频信息查询方法及装置 |
CN110191149A (zh) * | 2019-04-03 | 2019-08-30 | 特斯联(北京)科技有限公司 | 一种文件存储及找回方法及装置 |
CN111399940A (zh) * | 2020-03-12 | 2020-07-10 | 深圳创维-Rgb电子有限公司 | 一种智能系统的数据处理方法、存储介质及智能终端 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1492362A (zh) * | 2002-10-25 | 2004-04-28 | 联想(北京)有限公司 | 一种嵌入式数据库的数据备份和恢复方法 |
CN1746857A (zh) * | 2004-09-08 | 2006-03-15 | 华为技术有限公司 | 一种移动终端关键参数的恢复方法 |
KR100618133B1 (ko) * | 2004-03-17 | 2006-08-29 | 주식회사 트리엠 | 네트워크를 이용한 일체형 임베디드 백업 장치 |
CN1831786A (zh) * | 2005-12-14 | 2006-09-13 | 兆日科技(深圳)有限公司 | 闪速存储器数据完整性保护方法 |
CN101243446A (zh) * | 2005-08-15 | 2008-08-13 | 微软公司 | 从数据库镜像进行在线页还原 |
CN101452410A (zh) * | 2007-12-06 | 2009-06-10 | 中兴通讯股份有限公司 | 一种嵌入式数据库的数据备份系统及数据备份和恢复方法 |
-
2010
- 2010-06-23 CN CN2010102088324A patent/CN101894137A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1492362A (zh) * | 2002-10-25 | 2004-04-28 | 联想(北京)有限公司 | 一种嵌入式数据库的数据备份和恢复方法 |
KR100618133B1 (ko) * | 2004-03-17 | 2006-08-29 | 주식회사 트리엠 | 네트워크를 이용한 일체형 임베디드 백업 장치 |
CN1746857A (zh) * | 2004-09-08 | 2006-03-15 | 华为技术有限公司 | 一种移动终端关键参数的恢复方法 |
CN101243446A (zh) * | 2005-08-15 | 2008-08-13 | 微软公司 | 从数据库镜像进行在线页还原 |
CN1831786A (zh) * | 2005-12-14 | 2006-09-13 | 兆日科技(深圳)有限公司 | 闪速存储器数据完整性保护方法 |
CN101452410A (zh) * | 2007-12-06 | 2009-06-10 | 中兴通讯股份有限公司 | 一种嵌入式数据库的数据备份系统及数据备份和恢复方法 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102629250A (zh) * | 2012-02-28 | 2012-08-08 | 杭州丰城信息技术有限公司 | 一种内存数据库重做日志文件的恢复方法 |
CN102981779A (zh) * | 2012-11-22 | 2013-03-20 | 华为技术有限公司 | 数据处理方法和设备 |
CN104252500A (zh) * | 2013-06-29 | 2014-12-31 | 北京新媒传信科技有限公司 | 一种数据库管理平台的故障修复方法和装置 |
CN104252500B (zh) * | 2013-06-29 | 2017-11-28 | 北京新媒传信科技有限公司 | 一种数据库管理平台的故障修复方法和装置 |
CN104156432A (zh) * | 2014-08-08 | 2014-11-19 | 四川九成信息技术有限公司 | 一种文件访问方法 |
WO2016127557A1 (zh) * | 2015-02-13 | 2016-08-18 | 华为技术有限公司 | 重建备机数据库的方法及其装置 |
EP3147789A4 (en) * | 2015-02-13 | 2017-07-19 | Huawei Technologies Co., Ltd. | Method for re-establishing standby database, and apparatus thereof |
US10585895B2 (en) | 2015-02-13 | 2020-03-10 | Huawei Technologies Co., Ltd. | Method and apparatus for reconstructing standby node database |
RU2665884C2 (ru) * | 2015-02-13 | 2018-09-04 | Хуавэй Текнолоджиз Ко., Лтд. | Способ и устройство для восстановления базы данных резервного узла |
CN105045676B (zh) * | 2015-07-02 | 2018-05-04 | 四川效率源信息安全技术股份有限公司 | 一种基于SQLite数据库的丢失数据的恢复方法 |
CN105045676A (zh) * | 2015-07-02 | 2015-11-11 | 四川效率源信息安全技术有限责任公司 | 基于SQLite数据库的丢失数据的恢复装置和方法 |
CN106055424A (zh) * | 2016-05-19 | 2016-10-26 | 青岛海信移动通信技术股份有限公司 | 一种信息数据库的异常处理方法和装置 |
CN107609181A (zh) * | 2017-09-29 | 2018-01-19 | 北京酷我科技有限公司 | 一种数据库更新数据优化算法 |
CN107622130A (zh) * | 2017-09-29 | 2018-01-23 | 北京酷我科技有限公司 | 一种数据库升级优化算法 |
CN107577813A (zh) * | 2017-09-29 | 2018-01-12 | 北京酷我科技有限公司 | 一种数据库插入数据优化算法 |
CN109614442A (zh) * | 2018-11-02 | 2019-04-12 | 东软集团股份有限公司 | 数据同步的数据表维护方法、装置、存储介质和电子设备 |
CN110191149A (zh) * | 2019-04-03 | 2019-08-30 | 特斯联(北京)科技有限公司 | 一种文件存储及找回方法及装置 |
CN110191149B (zh) * | 2019-04-03 | 2020-01-31 | 特斯联(北京)科技有限公司 | 一种文件存储及找回方法及装置 |
CN109992695A (zh) * | 2019-04-10 | 2019-07-09 | 北京奇艺世纪科技有限公司 | 一种视频信息查询方法及装置 |
CN111399940A (zh) * | 2020-03-12 | 2020-07-10 | 深圳创维-Rgb电子有限公司 | 一种智能系统的数据处理方法、存储介质及智能终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101894137A (zh) | 嵌入式数据库中数据恢复的方法和装置 | |
CN105095013B (zh) | 数据存储方法、恢复方法、相关装置以及系统 | |
CN102981933B (zh) | 物联网感知层的数据增量备份方法及系统 | |
CN104834575B (zh) | 一种固件恢复方法及装置 | |
CN103559054B (zh) | 智能终端多操作系统的实现、删除方法和装置 | |
CN101136783B (zh) | 一种网管系统配置数据的备份、恢复方法及装置 | |
CN103345470B (zh) | 一种数据库容灾方法、系统及服务器 | |
CN104866351B (zh) | 一种数据传输方法、服务端及客户端 | |
CN103034564B (zh) | 数据容灾演练方法、数据容灾演练装置及系统 | |
CN102236764B (zh) | 用于Android系统的抵御桌面信息攻击的方法和监控系统 | |
CN104331285A (zh) | 一种代码自动生成方法及系统 | |
CN102955720A (zh) | 一种提高ext文件系统稳定性的方法 | |
WO2012097691A1 (zh) | 一种数据备份方法和装置 | |
CN101739313A (zh) | 一种连续数据保护和恢复方法 | |
CN102591727A (zh) | 对应用数据进行处理的方法和计算节点 | |
WO2017045491A1 (zh) | 一种对 sqlite3 型嵌入式数据库进行升级的方法及系统 | |
CN103617097A (zh) | 文件恢复方法及装置 | |
CN105302922A (zh) | 一种分布式文件系统快照实现方法 | |
CN106227620A (zh) | 可恢复的Flash数据存储方法 | |
CN104765652A (zh) | 一种数据备份和数据恢复方法及装置 | |
CN106528480A (zh) | 防热插拔数据丢失方法、系统以及终端设备 | |
WO2005088448A1 (en) | Method and apparatus for reliable in-place update | |
CN108108479A (zh) | 一种数据库连接检测方法、系统、设备及计算机介质 | |
CN101667178A (zh) | 用于c/s架构文件管理系统的事务处理方法 | |
CN104536852B (zh) | 数据恢复方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20101124 |