数据回档方法及装置制造方法及图纸

技术编号:18350062 阅读:25 留言:0更新日期:2018-07-01 23:01
本发明专利技术公开了一种数据回档方法及装置,属于数据处理领域。所述方法包括:获取客户端发送的回档请求,回档请求包括回档时刻和目标集合标识,目标集合标识用于唯一标识数据库实例中待回档的目标数据集合;获取与回档时刻和目标集合标识对应的目标备份数据;将目标备份数据回档至回档数据集合中,回档数据集合是数据库实例中与目标数据集合对应的数据集合。本发明专利技术实施例通过按照集合粒度进行数据回档,避免了相关技术中实例级别回档时需要将数据库实例中的所有数据进行回档而导致回档效率较低的问题,提高了数据回档的效率。

【技术实现步骤摘要】
数据回档方法及装置
本专利技术实施例涉及数据处理领域,特别涉及一种数据回档方法及装置。
技术介绍
回档是指将数据库中的数据恢复到某一历史时刻,如恢复到数据发生错乱前的某一时刻。相关技术中,当用户因某种原因(如游戏回档、代码漏洞引起数据错乱等)需要进行数据回档时,用户通过客户端向数据回档系统发送回档请求,该回档请求携带有回档时刻;对应的,数据回档系统接收到该回档请求,获取与该回档请求中的回档时刻对应的备份文件,并将获取到的备份文件导入至一个全新的临时实例中。当临时实例中的数据校验成功后,使用该临时实例替换数据库实例以完成回档。但是,在上述方法中,当数据库实例中部分数据错乱需要回档时,仍需要将数据库实例中的所有数据回档到回档时刻,导致回档效率较低。
技术实现思路
为了解决相关技术中实例级别回档时需要将数据库实例中的所有数据进行回档而导致回档效率较低的问题,本专利技术实施例提供了一种数据回档方法及装置。所述技术方案如下:第一方面,提供了一种数据回档方法,所述方法包括:获取客户端发送的回档请求,所述回档请求包括回档时刻和目标集合标识,所述目标集合标识用于唯一标识数据库实例中待回档的目标数据集合;获取与所述回档时刻和所述目标集合标识对应的目标备份数据;将所述目标备份数据回档至回档数据集合中,所述回档数据集合是所述数据库实例中与所述目标数据集合对应的数据集合。第二方面,提供了一种数据回档装置,所述装置包括:第一获取模块,用于获取客户端发送的回档请求,所述回档请求包括回档时刻和目标集合标识,所述目标集合标识用于唯一标识数据库实例中待回档的目标数据集合;第二获取模块,用于获取与所述回档时刻和所述目标集合标识对应的目标备份数据;回档模块,用于将所述目标备份数据回档至回档数据集合中,所述回档数据集合是所述数据库实例中与所述目标数据集合对应的数据集合。第三方面,提供了一种数据回档系统,所述数据回档系统包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现第一方面所提供的数据回档方法。第四方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现第一方面所提供的数据回档方法。本专利技术实施例提供的技术方案带来的有益效果是:通过获取客户端发送的回档请求,回档请求包括回档时刻和目标集合标识,获取与回档时刻和目标集合标识对应的目标备份数据,将目标备份数据回档至回档数据集合中,回档数据集合是数据库实例中与目标数据集合对应的数据集合;即本专利技术实施例所提供的数据回档方法是按照集合粒度进行回档的,避免了相关技术中实例级别回档时需要将数据库实例中的所有数据进行回档而导致回档效率较低的问题,在一方面,使得当用户只需要对数据库实例中的部分数据进行回档时,能够对需要回档的部分数据进行回档,提高了回档效率;在另一方面,在该数据库实例中的部分数据回档过程中其他数据及访问均不受影响,最大可能的降低了数据丢失的范围。附图说明图1是本专利技术实施例提供的数据回档系统的结构示意图;图2是本专利技术一个实施例提供的数据回档方法的流程图;图3是本专利技术另一个实施例提供的数据回档方法的流程图;图4是本专利技术另一个实施例提供的数据回档方法涉及的界面示意图;图5是本专利技术另一个实施例提供的数据回档方法涉及的原理示意图;图6是本专利技术另一个实施例提供的数据回档方法涉及的回写数据过程的流程图;图7是本专利技术另一个实施例提供的数据回档方法涉及的回档流控机制的原理示意图;图8是本专利技术另一个实施例提供的数据回档方法涉及的回档流控机制的流程图;图9是本专利技术另一个实施例提供的数据回档方法涉及的回档流控机制的原理示意图;图10是本申请另一个实施例提供的数据回档装置的结构示意图;图11是本申请一个实施例提供的服务器的结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。首先,对本专利技术实施例涉及到的一些名词进行解释:云数据库:是一种部署在虚拟计算环境中的数据库。云数据库包括多个数据库实例,每个客户端对应至少一个数据库实例。本专利技术实施例的数据回档方法及装置用于对数据库的数据进行回档,该数据回档方法及装置适用的云数据库包括但不限于MongoDB数据库、SQLServer数据库、Oracle数据库、MySQL数据库等。其中,MongoDB数据库是一种文档型数据库,即面向文档的数据库。下面,仅以云数据库为MongoDB数据库为例进行说明。文档:MongoDB数据库的基本单元。类似于与关系型数据库中的一张表的一行。集合:在MongoDB数据库中一组文档称为一个集合。集合是数据库实例对应的所有数据的一个真子集。类似于关系型数据库中的一张表或者至少两张表的组合。数据库(英文:Database,DB):是储存在计算机内、有组织的、可共享的仓库。在MongoDB数据库中一组集合称为一个DB,MongoDB数据库包括至少一个DB。数据库实例:数据库实例是数据库运行中的逻辑工作单位,通常,一个数据库实例可以对数据库进行一次操作,如:增加操作、修改操作、删除操作等,可选的,一个数据库实例为一条或一组结构化查询语言(StructuredQueryLanguage,SQL)语句。操作日志:存储云数据库中所有数据库操作和命令的日志。在MongoDB数据库中,副本集集群通过oplog日志来记录所有的增删改操作。其中,Oplog日志中存储有数据库中一条或者多条数据的变更内容及变更时间。需要说明的是,oplog日志具有等幂性,即重复对oplog日志进行回放后总能得到相同的结果。全量备份文件:在某一个历史时刻对数据库进行一次完整备份所形成的数据库完整镜像文件。增量备份文件:基于全量备份文件,对数据库中的变化部分进行备份所得到的备份文件。可选的,增量备份文件包括将数据库的操作日志、数据日志和系统日志中的至少一种进行备份得到的备份文件。回档:在数据发生异常时,将数据库中的数据恢复到某一历史时刻的操作。相关技术中,数据回档方法包括:当数据回档系统接收到携带有回档时刻的回档请求时,获取与回档时刻对应的备份文件,并将获取到的备份文件导入至一个全新的临时实例中。当临时实例中的数据校验成功后,使用该临时实例替换数据库实例以完成回档。但是,上述方法是按照实例级别进行回档的,即数据回档时只能将数据库实例中的所有数据集合都回档到回档时刻,如果用户仅需要回档数据库实例中的部分数据集合时,则上述方法无法满足该要求。比如,在游戏等虚拟架构中,往往存在者多个区甚至整个游戏的用户数据放在一个数据库实例中,如果其中一个区的用户数据发生异常需要进行回放时,则会导致整个数据库实例中的所有用户数据进行回档,进而影响该数据库实例中其它正常用户数据的访问,也会导致数据丢失的风险。为此,本申请实施例提供了一种数据回档方法及装置,该数据回档方法是按照集合粒度进行回档的,避免了相关技术中实例级别回档时需要将数据库实例中的所有数据进行回档而导致回档效率较低的问题,在一方面,使得当用户只需要对数据库实例中的部分数据进行回档时,能够对需要回档的部分数据进行回档,提高了回档效率;在另一方面,在该数据库实例中的部分数据回档过程中其他数据及访问均本文档来自技高网...
数据回档方法及装置

【技术保护点】
1.一种数据回档方法,其特征在于,所述方法包括:获取客户端发送的回档请求,所述回档请求包括回档时刻和目标集合标识,所述目标集合标识用于唯一标识数据库实例中待回档的目标数据集合;获取与所述回档时刻和所述目标集合标识对应的目标备份数据;将所述目标备份数据回档至回档数据集合中,所述回档数据集合是所述数据库实例中与所述目标数据集合对应的数据集合。

【技术特征摘要】
1.一种数据回档方法,其特征在于,所述方法包括:获取客户端发送的回档请求,所述回档请求包括回档时刻和目标集合标识,所述目标集合标识用于唯一标识数据库实例中待回档的目标数据集合;获取与所述回档时刻和所述目标集合标识对应的目标备份数据;将所述目标备份数据回档至回档数据集合中,所述回档数据集合是所述数据库实例中与所述目标数据集合对应的数据集合。2.根据权利要求1所述的方法,其特征在于,所述获取与所述回档时刻和所述目标集合标识对应的目标备份数据,包括:获取与所述回档时刻对应的目标全量备份文件和目标增量备份文件;根据所述目标集合标识在所述目标全量备份文件中确定所述目标数据集合对应的业务数据,并在所述目标增量备份文件中确定所述目标数据集合对应的日志数据;其中,所述目标全量备份文件为在目标备份时刻对数据库进行一次完整备份得到的备份文件,所述目标增量备份文件为所述目标备份时刻与所述回档时刻之间对所述数据库的操作日志进行备份得到的备份文件。3.根据权利要求2所述的方法,其特征在于,所述将所述目标备份数据回档至回档数据集合中,包括:将所述目标数据集合对应的业务数据回写至所述回档数据集合中;在数据回写完成后,将所述目标数据集合对应的日志数据回放至所述回档数据集合中。4.根据权利要求2所述的方法,其特征在于,所述获取与所述回档时刻对应的目标全量备份文件,包括:根据所述回档时刻,在备份中心中将距离所述回档时刻最近的备份时刻确定为目标备份时刻,所述备份中心中存储有N个全量备份文件和所述N个全量备份文件各自对应的备份时刻,所述N为正整数;获取所述目标备份时刻对应的所述目标全量备份文件。5.根据权利要求2所述的方法,其特征在于,所述方法,还包括:每隔预定时间间隔对所述数据库进行一次完整备份得到全量备份文件,所述全量备份文件包括所述数据库中M个数据集合各自对应的业务数据,所述M为正整数;所述根据所述目标集合标识在所述目标全量备份文件中确定所述目标数据集合中的业务数据,包括:根据所述目标集合标识,通过内置的过滤器对所述目标全量备份文件进行过滤,得到所述目标数据集合对应的业务数据。6.根据权利要求2所述的方法,其特征在于,所述方法,还包括:每隔预定时间间隔或者实时对所述数据库的操作日志进行备份得到增量备份文件,所述增量备份文件包括所述数据库中M个数据集合各自对应的日志数据,所述M为正整数;所述在所述目标增量备份文件中确定所述目标数据集合对应的日志数据,包括:根据所述目标集合标识,通过内置的过滤器对所述目标增量备份文件进行过滤,得到所述目标数据集合对应的日志数据。7.根据权利要求3所述的方法,其特征在于,所述将所述目标数据集合对应的日志数据回放至所述回档数据集合中,包括:初始化回放窗口的窗口大小,所述回放窗口的窗口大小用于指示一次回放操作对应的日志数据的数量;获取业务请求参数,所述业务请求参数用于指示所述回放窗口中所述日志数据对应的业务请求的压力大小;根据所述业务请求参数,对所述回放窗口的窗口大小进行调整;根据调整后的所述回放窗口...

【专利技术属性】
技术研发人员:苏磊李佳禧郭伟光冯程何吉
申请(专利权)人:腾讯科技深圳有限公司腾讯云计算北京有限责任公司
类型:发明
国别省市:广东,44

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

1