一种非关系型数据库的回滚方法、装置及系统制造方法及图纸

技术编号:8562992 阅读:209 留言:0更新日期:2013-04-11 04:39
本发明专利技术实施例公开了一种非关系型数据库的回滚方法、装置及系统,所述方法包括:判断所述非关系型数据库是否无法进行操作,如果是,则将镜像数据库中的镜像数据替换所述非关系型数据库中的原始数据,所述镜像数据是指当前时间周期以前所述非关系型数据库中数据的备份;按照日志数据库中当前时间周期内首次使所述非关系型数据库无法进行操作之前的准确日志的内容,对所述非关系型数据库中的镜像数据进行修改。采用本发明专利技术实施例公开的方法、装置及系统,可以使所述镜像数据库中的镜像数据替换当前所述非关系型数据库中的原始数据,然后在正确的所述镜像数据上按照所述准确日志的内容进行修改,从而实现了所述非关系型数据库的回滚功能。

【技术实现步骤摘要】

本专利技术涉及数据库领域,更具体的说,是涉及一种非关系型数据库的回滚方法、装 置及系统。
技术介绍
随着互联网web2. O网站的兴起,超大规模和高并发类型的web2. O纯动态网站已 经暴露了很多难以克服的问题,因此,许多公司已经将Web2. O中的MySQL开源数据库改为 非关系型数据库,而非关系型数据库则由于其本身的特点得到了非常迅速的发展。非关系型数据库泛指不同于关系型数据库的一类数据库,在此类数据库中存储的 数据没有固定的模式,并且非关系型数据库具有很强的可扩展性。但是非关系型数据没有提供回滚功能,当对数据库进行修复时,恢复时间会很长。 回滚泛指程序更新失败,返回上一次的正确行为,例如当应用程序、数据库或系统错误后还 原数据库的完整性时,会用到回滚。因此,如何对非关系型数据库进行回滚,成为现有技术中需要解决的技术问题。
技术实现思路
有鉴于此,本专利技术提供了一种非关系型数据库的回滚方法、装置及系统,以克服现 有技术中由于非关系型数据没有提供回滚功能的问题。为实现上述目的,本专利技术提供如下技术方案一种非关系型数据库的回滚方法,包括判断所述非关系型数据库是否无法进行操作,如果是,则将镜像数据库中的镜像 数据替换所述非关系型数据库中的原始数据,所述镜像数据是指当前时间周期以前所述非 关系型数据库中数据的备份,所述无法进行操作是指所述非关系型数据库中的数据的一致 性和/或完整性被破坏;按照日志数据库中当前时间周期内首次使所述非关系型数据库无法进行操作之 前的准确日志的内容,对所述非关系型数据库中的镜像数据进行修改。优选的,所述准确日志的获取步骤为判断是否满足所述非关系型数据库中日志的预设抽取条件,如果是,则从所述非 关系型数据库中抽取当前时间至最近一次的抽取时刻内产生的新日志;判断所述新日志中是否包括使数据库无法进行操作的日志,如果是,则从所述新 日志中抽取出使数据库无法进行操作之前的准确日志。优选的,所述准确日志的获取步骤包括判断是否满足所述非关系型数据库中日志的预设抽取条件,如果是,则从所述非 关系型数据库中抽取当前时间至最近一次从所述非关系型数据库中抽取日志时间内产生 的新日志;将进行等幂变换后的新日志存入所述日志数据库中;相应的,在所述步骤A后,还包括判断所述日志数据库中是否包括使所述非关系型数据库无法进行操作的日志,如 果是,则从所述日志数据库中抽取当前时间周期内首次使所述非关系型数据库无法进行操 作之前的准确日志。优选的,所述预设抽取条件为所述非关系型数据库抽取所述新日志的时间周期 或所述非关系型数据库中新日志的存储量。优选的,在所述新日志存入所述日志数据库之前还包括过滤所述新日志中重复和使所述非关系型数据库中的数据不发生变化的日志。优选的,还包括当下一个时间周期到来时,将所述非关系型数据库中的数据替换所述镜像数据库 中的数据。一种非关系型数据库的回滚装置,所述装置包括判断模块,用于判断所述非关系型数据库是否无法进行操作,所述无法进行操作 是指所述非关系型数据库中的数据的一致性和/或完整性被破坏;数据替换模块,用于在所述判断模块的结果为是的情况下,将镜像数据库中的镜 像数据替换所述非关系型数据库中的原始数据,所述镜像数据是指当前时间周期以前的所 述非关系型数据库中数据的备份;日志修改模块,用于按照日志数据库中当前时间周期内首次使所述非关系型数据 库无法进行操作之前的准确日志的内容,对所述非关系型数据库中的镜像数据进行修改。优选的,还包括判断抽取模块,用于判断当前情况是否满足预设抽取所述非关系型数据库中日志 的条件;第一抽取模块,用于当所述判断抽取模块的结果为是的情况下,抽取所述非关系 型数据库中当前时间至最近一次的抽取时刻内产生的新日志;判断日志模块,用于判断所述新日志中是否包含使数据库无法进行操作的日志;第二抽取模块,用于当所述判断日志模块的结果为是的情况下,抽取所述新日志 中使数据库无法进行操作之前的准确日志;日志变换模块,用于将所述准确日志进行等幂变换,并将进行等幂变换后的所述 准确日志存入所述日志数据库。优选的,还包括判断抽取模块,用于判断当前情况是否满足预设抽取所述非关系型数据库中日志 的条件;第一抽取模块,用于当所述判断抽取模块结果为是的情况下,从所述非关系型数 据库中抽取当前时间至最近一次从所述非关系型数据库中抽取日志时间内产生的新日 志;日志变换模块,用于将进行等幂变换后的新日志存入所述日志数据库中;判断日志模块,用于判断所述日志数据库中是否包含使所述非关系型数据库无法 进行操作的日志;第二抽取模块,用于当所述判断日志模块的结果为是的情况下,从所述日志数据库中抽取当前时间周期内首次使所述非关系型数据库无法进行操作之前的准确日志。优选的,所述日志变换模块还包括日志过滤模块,所述日志过滤模块用于过滤所 述非关系型数据库中所述本周期内重复和使所述非关系型数据库中的数据不发生变化的 日志。优选的,还包括更新模块,用于当下一个时间周期到来时,将所述非关系型数据 库中的数据替换所述镜像数据库的数据。一种非关系型数据库的回滚系统,所述系统包括日志数据库,用于存储与所述非关系型数据库中当前时间周期的原始日志对应的 需要重放的周期日志;镜像数据库,用于存储所述非关系型数据库中当前时间周期以前数据的备份;回滚装置,所述回滚装置包括判断模块,用于判断所述非关系型数据库是否无法进行操作,所述无法进行操作 是指所述非关系型数据库中的数据的一致性和/或完整性被破坏;数据替换模块,用于当所述判断模块的结果为是的情况下,将镜像数据库中的镜 像数据替换所述非关系型数据库中的原始数据;日志修改模块,用于按照所述日志数据库中当前时间周期内首次使所述非关系型 数据库无法进行操作之前的准确日志的内容,对所述非关系型数据库中的镜像数据进行修 改。经由上述的技术方案可知,采用本专利技术的实施例,首先,当所述非关系型数据库不 能进行操作时,先将所述镜像数据库中当前时间周期之前的正确的数据替换掉所述非关系 型数据库中的原始数据,然后再根据所述日志数据库中当前时间周期内首次使所述非关系 型数据库不能操作之前的准确日志的内容,对所述非关系型数据库中的镜像数据进行修 改,因为是在正确的数据上按照所述准确日志的内容进行修改,从而使所述非关系型数据 库中的数据恢复到无法进行操作之前的数据,从而实现了所述非关系型数据库的回滚功 能;其次,因为过滤了当前时间周期内首次使所述非关系型数据库无法进行操作之前准确 日志中重复和使所述非关系型数据库中的数据不发生变化的日志,这样过滤后的所述准确 日志相对没有过滤的准确日志的内容较少,当所述非关系型数据库按照所述准确日志的内 容进行回滚时,所用的时间就会缩短,从而达到了快速回滚的效果。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据 提供的附图获得其他的附图。图1为本专利技术公开的第一种非关系型数据库的回滚方法实施例流程图2为本专利技术中所述非关系型数据库进行回滚的关系示意图3为本专利技术公开的第二种非关系型数据库的回本文档来自技高网...

【技术保护点】
一种非关系型数据库的回滚方法,其特征在于,包括步骤:判断所述非关系型数据库是否无法进行操作,如果是,则将镜像数据库中的镜像数据替换所述非关系型数据库中的原始数据,所述镜像数据是指当前时间周期以前所述非关系型数据库中数据的备份,所述无法进行操作是指所述非关系型数据库中的数据的一致性和/或完整性被破坏;按照日志数据库中当前时间周期内首次使所述非关系型数据库无法进行操作之前的准确日志的内容,对所述非关系型数据库中的镜像数据进行修改。

【技术特征摘要】
1.一种非关系型数据库的回滚方法,其特征在于,包括步骤 判断所述非关系型数据库是否无法进行操作,如果是,则将镜像数据库中的镜像数据替换所述非关系型数据库中的原始数据,所述镜像数据是指当前时间周期以前所述非关系型数据库中数据的备份,所述无法进行操作是指所述非关系型数据库中的数据的一致性和/或完整性被破坏; 按照日志数据库中当前时间周期内首次使所述非关系型数据库无法进行操作之前的准确日志的内容,对所述非关系型数据库中的镜像数据进行修改。2.根据权利要求1所述的方法,其特征在于,所述准确日志的获取步骤为 判断是否满足所述非关系型数据库中日志的预设抽取条件,如果是,则从所述非关系型数据库中抽取当前时间至最近一次的抽取时刻内产生的新日志; 判断所述新日志中是否包括使数据库无法进行操作的日志,如果是,则从所述新日志中抽取出使数据库无法进行操作之前的准确日志。3.根据权利要求1所述的方法,其特征在于,所述准确日志的获取步骤包括 判断是否满足所述非关系型数据库中日志的预设抽取条件,如果是,则从所述非关系型数据库中抽取当前时间至最近一次从所述非关系型数据库中抽取日志时间内产生的新曰志; 将进行等幂变换后的新日志存入所述日志数据库中; 相应的,在所述步骤A后,还包括 判断所述日志数据库中是否包括使所述非关系型数据库无法进行操作的日志,如果是,则从所述日志数据库中抽取当前时间周期内首次使所述非关系型数据库无法进行操作之前的准确日志。4.根据权利要求2或3所述的方法,其特征在于,所述预设抽取条件为所述非关系型数据库抽取所述新日志的时间周期或所述非关系型数据库中新日志的存储量。5.根据权利要求3所述方法,其特征在于,在所述新日志存入所述日志数据库之前还包括 过滤所述新日志中重复和使所述非关系型数据库中的数据不发生变化的日志。6.根据权利要求1所述的方法,其特征在于,还包括 当下一个时间周期到来时,将所述非关系型数据库中的数据替换所述镜像数据库中的数据。7.一种非关系型数据库的回滚装置,其特征在于,所述装置包括 判断模块,用于判断所述非关系型数据库是否无法进行操作,所述无法进行操作是指所述非关系型数据库中的数据的一致性和/或完整性被破坏; 数据替换模块,用于在所述判断模块的结果为是的情况下,将镜像数据库中的镜像数据替换所述非关系型数据库中的原始数据,所述镜像数据是指当前时间周期以前的所述非关系型数据库中数据的备份; 日志修改模块,用于按照日志数据库中当前时间周期内首次使所述非关系型数据库无法进行操作之前的准确日志的内容,对所述非关系...

【专利技术属性】
技术研发人员:段如冰郭理靖蒋楠
申请(专利权)人:盛乐信息技术上海有限公司
类型:发明
国别省市:

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

1