一种数据库的数据恢复方法和设备技术

技术编号:13183755 阅读:43 留言:0更新日期:2016-05-11 15:19
本发明专利技术实施例公开了一种数据库的数据恢复方法和设备,该方法可以包括:当所述数据库出现数据异常时,将所述数据库索引中的数据与所述数据库文件中的数据进行校验,确定所述数据库中的异常数据;根据所述异常数据查找所述数据库的日志文件及备份文件,获取与所述异常数据对应的待备份数据;将所述待备份数据替换所述异常数据。

【技术实现步骤摘要】

本专利技术涉及数据存储领域,尤其涉及一种数据库的数据恢复方法和设备
技术介绍
目前,数据库针对数据异常的一般处理方式是数据库停止服务或数据库在异常的状态下提供服务。然而,有时在数据库异常时,需要将数据库的数据恢复至前一段时间的状态。此时,若数据库无法以快速且准确的方式恢复数据,将造成数据库长时间无法提供正确的数据,而造成使用者的不便利或者造成相关的业务无法正常运作。
技术实现思路
为解决上述技术问题,本专利技术实施例期望提供一种数据库的数据恢复方法和设备,提高了业务运行的稳定性和工作效率。本专利技术的技术方案是这样实现的:第一方面,本专利技术实施例提供了一种数据库的数据恢复设备,其特征在于,所述数据恢复设备包括:侦测单元、校验单元、查找单元和恢复单元,其中,所述侦测单元,用于侦测所述数据库在运行过程中出现数据异常,并当侦测到所述数据库出现数据异常时,触发所述校验单元;所述校验单元,用于当所述侦测单元侦测到所述数据库出现数据异常时,将所述数据库索引中的数据与所述数据库文件中的数据进行校验,确定所述数据库中的异常数据,并将所述异常数据传输至所述查找单元;所述查找单元,用于根据所述校验单元确定的所述异常数据查找所述数据库的日志文件及备份文件,获取与所述异常数据对应的待备份数据,并将所述待备份数据传输至所述恢复单元;所述恢复单元,用于将所述查找单元获取的所述待备份数据替换所述异常数据。进一步地,所述侦测单元,用于当所述数据库在执行结构化查询语言SQL访问或更新数据时,侦测所述数据异常;或者,侦测所述数据库异常退出;或者,侦测所述数据库异常退出后启动。 进一步地,所述查找单元,用于根据所述异常数据查找所述日志文件,获取所述日志文件中与所述异常数据对应的待备份数据;以及,当所述日志文件中没有找到与所述异常数据对应的待备份数据时,根据所述异常数据查找所述备份文件,获取所述备份文件中与所述异常数据对应的待备份数据;以及,当所述备份文件中没有找到与所述异常数据对应的待备份数据时,清除所述异常数据。进一步地,所述恢复单元,用于清除所述数据库中的异常数据;并将所述待备份数据插入到所述数据库中。进一步地,所述数据恢复设备还包括备份单元,用于按照预设的备份策略对所述数据库中的数据进行备份,获得所述备份文件。进一步地,所述备份单元,用于:按照预设的周期值和/或所述数据库的系统繁忙程度对所述数据库进行备份。进一步地,所述备份单元,用于:将所述数据库中满足预设的重要性级别的数据进行备份。进一步地,所述备份单元,还用于:在按照所述预设的备份策略对所述数据库的中的数据进行备份之前,将所述数据库的日志文件进行清除,并指示所述数据库重新记录所述日志文件。第二方面,本专利技术实施例提供了一种数据库的数据恢复方法,其特征在于,所述方法包括:当所述数据库出现数据异常时,将所述数据库索引中的数据与所述数据库文件中的数据进行校验,确定所述数据库中的异常数据;根据所述异常数据查找所述数据库的日志文件及备份文件,获取与所述异常数据对应的待备份数据;将所述待备份数据替换所述异常数据。进一步地,所述数据库出现数据异常,包括:当所述数据库在执行结构化查询语言SQL访问或更新数据时,所述数据异常;或者,所述数据库异常退出;或者,所述数据库异常退出后启动。进一步地,所述根据所述异常数据查找所述数据库的日志文件及备份文件,获取与所述异常数据对应的待备份数据,包括:根据所述异常数据查找所述日志文件,获取所述日志文件中与所述异常数据对应的待备份数据;当所述日志文件中没有找到与所述异常数据对应的待备份数据时,根据所述异常数据查找所述备份文件,获取所述备份文件中与所述异常数据对应的待备份数据;当所述备份文件中没有找到与所述异常数据对应的待备份数据时,清除所述异常数据。进一步地,所述将所述待备份数据替换所述异常数据,包括:清除所述数据库中的异常数据;并将所述待备份数据插入到所述数据库中。进一步地,所述方法还包括:按照预设的备份策略对所述数据库中的数据进行备份,获得所述备份文件。进一步地,所述按照预设的备份策略对所述数据库中的数据进行备份,包括:按照预设的周期值和/或所述数据库的系统繁忙程度对所述数据库进行备份。进一步地,所述按照预设的备份策略对所述数据库中的数据进行备份,包括:将所述数据库中满足预设的重要性级别的数据进行备份。进一步地,在按照所述预设的备份策略对所述数据库的中的数据进行备份之前,所述方法还包括:将所述数据库的日志文件进行清除,并指示所述数据库重新记录所述日志文件。本专利技术实施例提供了一种数据库的数据恢复方法和设备,通过在数据库异常时进行数据校验,并通过备份以及日志文件对异常数据进行恢复,从而提高了业务运行的稳定性和工作效率。【附图说明】图1为本专利技术实施例提供的一种数据库的数据恢复方法流程示意图;图2为本专利技术实施例提供的一种数据库索引值与数据库中的数据之间的映射关系意图;图3为本专利技术实施例提供的一种数据库中用于数据恢复的文件的结构示意图;图4为本专利技术实施例提供的一种数据库的数据恢复设备结构示意图;图5为本专利技术实施例提供的另一种数据库的数据恢复设备结构示意图。【具体实施方式】下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述。参见图1,其示出了本专利技术实施例提供的一种数据库的数据恢复方法流程,该方法可以应用于所述数据库中,该方法可以包括:SlOl:当所述数据库出现数据异常时,将所述数据库索引中的数据与所述数据库文件中的数据进行校验,确定所述数据库中的异常数据;示例性地,在本实施例中,所述数据库出现数据异常,可以包括:当所述数据库在执行结构化查询语言SQL访问或更新数据时,所述数据异常,比如:数据库的索引出现了重复键或索引值为一个非法值;或者,所述数据库异常退出;或者,所述数据库异常退出后启动等等。这些异常发生后,都需要通过确定这些异常情况是否是由于数据或索引的异常导致的。示例性地,将所述数据库索引中的数据与所述数据库文件中的数据进行校验,可以依据图2所示的所述数据库索引值与所述数据库中的数据之间的映射关系进行校验,具体可以包括以下步骤:首先获取数据异常时数据库正在操作的表;然后将该表的索引跟数据库文件中的数据进行一一进行比对,由此来判断数据的准确性:若一致,则说明准确;若不一致,则说明不准确,该数据为异常数据。S102:根据所述异常数据查找所述数据库的日志文件及备份文件,获取与所述异常数据对应的待备份数据;示例性地,如图3所示的所述数据库中用于数据恢复的文件,所述根据所述异常数据查找所述数据库的日志文件及备份文件,获取与所述异常数据对应的待备份数据,包括:根据所述异常当前第1页1 2 3 本文档来自技高网...

【技术保护点】
一种数据库的数据恢复设备,其特征在于,所述数据恢复设备包括:侦测单元、校验单元、查找单元和恢复单元,其中,所述侦测单元,用于侦测所述数据库在运行过程中出现数据异常,并当侦测到所述数据库出现数据异常时,触发所述校验单元;所述校验单元,用于当所述侦测单元侦测到所述数据库出现数据异常时,将所述数据库索引中的数据与所述数据库文件中的数据进行校验,确定所述数据库中的异常数据,并将所述异常数据传输至所述查找单元;所述查找单元,用于根据所述校验单元确定的所述异常数据查找所述数据库的日志文件及备份文件,获取与所述异常数据对应的待备份数据,并将所述待备份数据传输至所述恢复单元;所述恢复单元,用于将所述查找单元获取的所述待备份数据替换所述异常数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:王涵毅
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1