一种数据追赶方法、集群和系统技术方案

技术编号:15391419 阅读:36 留言:0更新日期:2017-05-19 04:45
揭露一种数据追赶方法和集群,数据追赶方法包括:云系统的目标集群从故障恢复正常后,从同一个集群组的其他集群中获得故障期间的日志记录;从获得的日志记录中,对相同对象的日志记录进行合并;所述目标集群按照合并操作后的日志记录,对所述对象进行操作。该方案可以提高数据追赶的效率。

Data catching method, cluster and system

Discloses a data driven method and data driven method of cluster, including: target cluster cloud systems recovered from the fault, the fault from other clusters obtained during the same group of log; obtained from logging, the merger of the same object log; the target cluster in accordance with the merger after the operation log records of operation on the object. This scheme can improve the efficiency of data catching.

【技术实现步骤摘要】
一种数据追赶方法、集群和系统
本专利技术设计计算机领域,特别有关于一种数据追赶方法和集群。
技术介绍
在公有云场景中,以对象作为操作的基本单元。如果要修改一个数据,其实现方式不是直接对数据进行修改,而是先删除数据所在对象,然后上传新对象。在公有云的多接入区域(accesszone,AZ)场景中,通过同步复制的方式,可以实现同一个对象的数据副本在多个AZ中存储。用户从任意一个AZ中都可以获取到这个对象。在往多个AZ同步复制对象的过程中,可能有一些AZ没有成功获得对象的副本。导致AZ复制副本失败的可能情况非常多,大致来说,可以分为IO路径上的错误(例如AZ的存储空间不足,或后AZ的存储介质发生故障而无法写入新的数据)和物理环境状态异常(AZ中集群故障,集群隔离,集群异常等状态)两大类,都表示该AZ不具备处理数据的能力。如果有一个AZ上存储副本失败时,存储失败的这个AZ可以在后续从其他AZ获得这个对象,实现本节点数据的修复,最终在所有AZ上,副本达到一致。这种未存储成功的AZ和已存储成功的AZ达到一致的过程也称为数据追赶。参见图1(A)、图1(B)、图1(C)和图1(D),假设公有云系统中存在3个接入区域,分别是接入区域1、接入区域2和接入区域3,这4个附图描述了公有云中数据的变化。如图1(A),假设在写入数据1和元数据1(元数据1是数据1的元数据)时,接入区域1和接入区域2正常,而接入区域3发生故障。那么接入区域1和接入区域2可以成功写入数据1和元数据1,而接入区域3不能写入成功。接入区域1和接入区域2写入成功后,都会把本次写操作记入日志。如图1(B)所示,假设此时接入区域3恢复正常,接入区域3根据接入区域1/接入区域2的日志,从其他接入区域获得数据1和元数据2并保存。如果公有云收到把数据1更新为数据2的请求。那么接入区域1和接入区域2会先删除数据1和元数据1,然后写入数据2和元数据2。并且在接入区域1和接入区域2中增加2条新的日志。新的日志分别描述了删除数据1和元数据1,以及写入数据2和元数据2。如图1(C)所示,接入区域3删除数据1和元数据1,以便存储数据2和元数据2。并生成日志。如图1(D)所示,接入区域3从其他接入区域(例如接入区域1)获得数据2和元数据2,并保存,并生成日志。接入区域3写完数据2和元数据2后,完成了整个追赶过程,公有云中所有接入区域的数据得到同步。我们可以看出来,对于接入区域3而言,为了和其他接入区域保持数据同步,执行了大量操作,占用了接入区域3大量系统资源。
技术实现思路
第一方面,提供一种数据追赶方法的实施例,括:云系统的目标集群从故障恢复正常后,从同一个集群组的其他集群中获得在所述目标集群故障期间的日志记录;从获得的日志记录中,对相同对象的日志记录进行合并;所述目标集群按照合并操作后的日志记录,对所述对象进行操作。该方案可以提高数据追赶的效率。第一方面的一种可能设计中,对所述对象的相同数据的写操作日志记录和删除操作日志记录,合并为不操作。减少了操作日志的执行数量,提高了数据追赶效率。第一方面的一种可能设计中,对所述对象的多条写操作日志记录,合并为一条写操作日志记录。提高了数据追赶效率。第一方面的一种可能设计中,对所述对象的多条删除操作日志记录,合并为一条删除操作日志记录。提高了数据追赶效率。第一方面的一种可能设计中,所述相同对象的相同数据包括:具有相同桶名、对象名以及哈希值的数据。该方案提供了如何确定一个对象,以及如何确认一个对象中的一段数据的方案。第一方面的一种可能设计中,所述从同一个集群组的其他集群中获得故障期间的日志记录,具体为:从同一个集群组的主集群中获得故障期间的日志记录。可选的,也可以从同一集群组中,除了主集群之外的其他集群中获得故障期间的日志记录。第一方面的一种可能设计中,所述日志记录是异步日志记录;在所述目标集群故障期间,所述主集群对执行的操作生成异步日志,并把所述异步日志记录保存在所述异步日志文件;第一方面的一种可能设计中,所述从同一个集群组的其他集群中获得故障期间的日志记录,具体为:从所述主集群中获得异步日志文件中的所有日志记录。该方案提供了一种获得故障期间日志记录的具体方案。第一方面的一种可能设计中,在所述目标集群恢复正常后,所述主集群停止把日志记录写入所述异步日志文件。该方案可以确保异步日志文件中的所有日志恰好是目标集群故障期间的日志。第二方面,提供一种数据追赶集群的实施例,集群组包括目标集群和其他集群,所述目标集群发生故障,在所述目标集群从故障恢复正常后,所述目标集群用于:从所述集群组的其他集群中获得故障期间的日志记录;从获得的日志记录中,对相同对象的日志记录进行合并;按照合并操作后的日志记录,对所述对象进行操作。第二方面的目标集群可以执行第一方面或者第一方面各可能设计的方法,并拥有相应的技术效果。在此不再另行说明。第三方面,提供一种云系统,所述云系统包括多个接入区域accesszone,第一方面、第二方面、或者第一、第二方面的各种可能设计中所提及的目标集群,来自不同的所述接入区域。附图说明图1(A)-1(D)是存储节点故障示意图;图2是本专利技术云系统的实施例拓扑图;图3是本专利技术数据追赶方法实施例的流程图。具体实施方式云系统(例如公有云、企业云或者私有云)包括多个接入区域(accesszone,AZ),每个AZ包括一个或者多个集群。由不同的AZ提供的集群同组成集群组。每个集群组中包括一个主(leader)集群,其余集群是从(follow)集群。每个AZ可以对外提供同一个地址供云系统外的主机访问,例如IP地址。相同的对象在多个AZ中保存,形成同一个对象的多个副本,可以提高数据可靠性,以及读取速度。每个AZ可以有一个ID,作为AZ的编号。本专利技术实施例可以应用于对象的存储或者文件的存储。同一集群组中的集群可以来自于云系统中的所有接入区域,也可以来自于云系统中的部分接入区域。每个集群包括至少一个节点,节点例如是服务器或者计算机,可以存储数据。图2是一种云系统的实施例拓扑图。所述公有云中包括接入区域11、接入区域12和接入区域13。接入区域11包括集群1、集群2和集群3;接入区域12包括集群4、集群5和集群6;接入区域13包括集群7、集群8和集群9。集群组21包括集群1、集群4和集群7;集群组22包括集群2、集群5和集群8;集群组23包括集群3、集群6和集群9。每个集群组包括至少一个节点(未图示)。参见图3,是本专利技术数据追赶方法实施例的流程图。在没有特别说明的情况下,数据追赶方法实施例的操作由目标集群执行,具体而言,是目标集群中的节点执行,执行操作的节点可以称为目标节点。11、在一个集群组中,在目标集群故障期间,位于主AZ的集群收到操作请求后,按照操作请求进行操作,并记录所述操作请求的日志记录。所述操作请求可能是写请求也可能是删除请求。在一个共有云中,可以包括主(leader)AZ和从(follow)AZ。下面以所述操作请求是写请求为例,介绍操作请求的处理过程。写请求中携带有数据,还可以携带桶名和对象名。一种实现方式是,数据首先到达位于主AZ的集群。主AZ的集群存储完所述目标数据后,再把目标数据发往本集群中位于其他AZ的集群进行存储;或者主AZ的集群收到本文档来自技高网
...
一种数据追赶方法、集群和系统

【技术保护点】
一种数据追赶方法,其特征在于,包括:云系统的目标集群从故障恢复正常后,从同一个集群组的其他集群中获得在所述目标集群故障期间的日志记录;从获得的日志记录中,对相同对象的日志记录进行合并;所述目标集群按照合并操作后的日志记录,对所述对象进行操作。

【技术特征摘要】
1.一种数据追赶方法,其特征在于,包括:云系统的目标集群从故障恢复正常后,从同一个集群组的其他集群中获得在所述目标集群故障期间的日志记录;从获得的日志记录中,对相同对象的日志记录进行合并;所述目标集群按照合并操作后的日志记录,对所述对象进行操作。2.根据权利要求1所述的数据追赶方法,所述合并包括:对所述对象的相同数据的日志记录中,写操作和删除操作合并为不操作。3.根据权利要求1所述的数据追赶方法,所述相同对象的相同数据包括:具有相同桶名、对象名以及哈希值的数据。4.根据权利要求1或2所述的数据追赶方法,所述从同一个集群组的其他集群中获得故障期间的日志记录,具体为:从同一个集群组的主集群中获得故障期间的日志记录。5.根据权利要求4所述的数据追赶方法,其中:所述日志记录是异步日志记录;在所述目标集群故障期间,所述主集群对执行的操作生成异步日志,并把所述异步日志记录保存在所述异步日志文件;所述从同一个集群组的其他集群中获得故障期间的日志记录,具体为:从所述主集群中获得异步日志文件中的所有日志记录。6.根据权利要求5所述的数据追赶方法,其中:在所述目标集群恢复正常后,所述主集群停止把日志记录写入所述异步日志文件。7.一种数据追赶集群,集群组包括目标集群和其他集群,所述目标集群发生故障,在所述目标集群从...

【专利技术属性】
技术研发人员:吕金泉张宗全
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1