CN111226200B - 为分布式应用创建一致性快照的方法、装置和分布式*** - Google Patents
为分布式应用创建一致性快照的方法、装置和分布式*** Download PDFInfo
- Publication number
- CN111226200B CN111226200B CN201880018226.0A CN201880018226A CN111226200B CN 111226200 B CN111226200 B CN 111226200B CN 201880018226 A CN201880018226 A CN 201880018226A CN 111226200 B CN111226200 B CN 111226200B
- Authority
- CN
- China
- Prior art keywords
- node
- snapshot
- application
- execution
- event
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 230000001960 triggered effect Effects 0.000 claims abstract description 28
- 230000015654 memory Effects 0.000 claims description 35
- 230000006870 function Effects 0.000 claims description 17
- 238000011084 recovery Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 31
- 238000012545 processing Methods 0.000 description 14
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000007726 management method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000001364 causal effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/128—Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种为分布式应用创建一致性快照的方法、装置和分布式***,所该***包括控制节点(101)和多个执行节点(102a,102b,102c),该方法包括:源执行节点(102a)接收控制节点(101)发送的快照事件(304);生成本节点关联的应用实例的单点快照(305),中间执行节点(102b)和叶子执行节点(102c)依次接收来自本节点的至少两个父节点分别发送的快照事件,在接收到首个快照事件后,生成本节点关联的应用实例的单点快照,并在执行除发送所述首个快照事件的父节点之外的本节点的其它父节点触发的任务时,记录所执行的任务的日志,在后续每接收到一个本节点的父节点发送的快照事件后,中止当前接收到的快照事件的发送方所触发任务的日志记录的操作(306,308)。多个执行节点(102a,102b,102c)生成了分布式应用包含的各应用实例的单点快照,中间执行节点(102b)以及叶子执行节点(102c)生成需记录的任务的日志,通过日志记录未包含在单点快照中且在快照事件之前的任务,保证了快照数据的完整性和一致性。
Description
技术领域
本发明涉及IT技术领域,尤其涉及一种为分布式应用创建一致性快照的方法、装置和分布式***。
背景技术
快照是对指定数据集合的可用拷贝,用于记录数据集合在拷贝开始的时间点上的镜像。快照可以应用于对数据集合进行数据备份与恢复,当存储设备发生故障,导致数据集合不可用时,可以使用数据集合的快照执行数据恢复操作,恢复出快照记录的数据集合的内容。
分布式应用包含多个应用实例,应用实例执行各自的操作以实现分布式应用的功能。当生成分布式应用的快照时,生成的分布式应用的快照应该具备全局一致性,即保证恢复到该快照点时,分布式应用包含的各个应用实例处于一致的因果关系。上述一致的因果关系是指,分布式应用包含的所有应用实例均已处理完成快照点前的任务,且当***从快照点开始恢复时,执行快照点后的任务,所有的任务都只被处理一次。
为保证分布式应用的快照一致性,现有技术对分布式应用执行快照操作时,分布式应用的应用实例在接收到父节点发送的快照事件后,阻塞与该父节点的连接,停止处理来自已发送快照事件的父节点的任务,直到应用实例接收到所有父节点发送的快照事件,生成本应用实例的单点快照后,再解除与父节点的阻塞,继续处理任务。
由于分布式应用的应用实例在接收到所有父节点发送的快照事件并生成快照之前,需要停止处理来自已发送快照事件的父节点的任务,导致分布式应用的任务处理能力降低。
发明内容
本文描述了一种为分布式应用创建一致性快照的方法、装置和分布式***,以解决快照操作引起的分布式应用处理能力降低的问题。
第一方面,本发明实施例提供了一种分布式***,所述分布式***包括控制节点和多个执行节点,所述控制节点通过所述多个执行节点为分布式应用创建一致性快照,每个执行节点与所述分布式应用的一个应用实例关联,所述多个执行节点包括源执行节点、中间执行节点以及叶子执行节点,其中,源执行节点在接收到所述控制节点发送的快照事件后,生成本节点关联应用实例的单点快照,并向本节点的所有子节点发送快照事件;中间执行节点以及叶子执行节点,依次接收来自本节点的至少两个父节点分别发送的快照事件,在接收到首个快照事件后,生成本节点关联的应用实例的单点快照,并在执行除发送所述首个快照事件的父节点之外的本节点的其它父节点触发的任务时,记录所执行的任务的日志,在后续每接收到一个本节点的父节点发送的快照事件后,中止当前接收到的快照事件的发送方所触发任务的日志记录的操作。
通过上述方式,所述多个执行节点生成了分布式应用包含的各应用实例的单点快照,且中间执行节点以及叶子执行节点在存在多个父节点时,还生成了需要记录的任务的日志,通过日志记录未被包含在单点快照中且在快照事件之前的任务,从而保证了快照数据的完整性和一致性。在上述过程中,中间或叶子执行节点均无需在接收到所有父节点发送的快照事件之前停止处理来自父节点的任务,从而保证各父节点的任务可以被持续处理,提高了分布式应用的处理能力。
在一种可能的实施方式中,所述控制节点获取所述分布式应用包含的每个应用实例的属性,根据获取到的各应用实例的属性确定所述分布式应用包含的多个应用实例之间的连接关系,将所述连接关系发送给所述多个执行节点。执行节点可以根据所述连接关系获取本节点的子节点信息,从而可以向本节点的各子节点广播快照事件。
具体的,所述控制节点接收所述多个执行节点发送的注册消息,所述注册消息携带有发送所述注册消息的执行节点关联的应用实例的属性,从注册消息中获取每个应用实例的属性。
本发明实施例通过上述注册流程,使得控制节点可以获取分布式应用包含的各应用实例的属性。各种类型的分布式应用均可以使用上述注册流程,只要可以实现将应用实例的属性上报到控制节点即可,从而无需限定分布式应用的类型。
所述应用实例的属性包括:实例类型、子节点类型以及源节点标记。控制节点可以为每个应用实例创建包含所述应用实例的属性的应用实例对象,将所述应用实例对象存储到存储设备中。
在一种可能的实施方式中,控制节点可以在接收到应用保护计划创建消息后,为应用保护计划创建消息指定的分布式应用生成各应用实例之间的连接关系,将生成的所述连接关系包含在应用保护计划中存储到存储设备,每个应用保护计划对应一个分布式应用。在生成分布式应用的一致性快照时,控制节点可以根据应用保护计划的标识从存储设备读取分布式应用的连接关系。
具体的,所述控制节点在根据获取到的应用实例的属性确定所述分布式应用包含的多个应用实例之间的连接关系之前,接收应用保护计划创建消息,所述应用保护计划创建消息携带所述分布式应用的标识,根据所述分布式应用的标识获取所述分布式应用包含的每个应用实例的属性;所述控制节点将生成的所述连接关系存储到存储器。
在另一种可能的实施方式中,控制节点可以将生成的连接关系存储到存储设备中,所述连接关系中包含分布式应用的标识。在需要为分布式应用创建一致性快照时,控制节点根据分布式应用的标识从存储设备中读取分布式应用的连接关系。
所述连接关系可以采用工作流图的形式存储在存储设备中,所述工作流图为有向图,所述工作流图还包括分布式应用的标识。控制节点可以根据分布式应用的标识从存储设备中读取所述工作流图。
在一种可能的实施方式中,分布式应用的一致性快照可以由定义的快照触发规则自动触发,上述快照触发规则具体可以为基于时间触发的规则或者基于事件触发的规则。控制节点在所述快照触发规则定义的条件满足时,发起为分布式应用创建一致性快照的操作。
所述源执行节点在生成单点快照后,向控制节点返回快照完成事件;所述中间执行节点和所述叶子执行节点在生成单点快照且收到所有父节点发送的快照事件后,向控制节点返回快照完成事件。所述控制节点在接收到所述分布式应用的所有应用实例关联的执行节点返回的快照完成事件后,确定完成所述分布式应用的一致性快照的创建。
根据前述一致性快照的生成方法,在完成分布式应用的一致性快照后,当需要进行数据恢复时,控制节点通知所述多个执行节点执行快照恢复操作;所述源执行节点,还用于根据所述源应用实例的单点快照恢复所述源应用实例的数据;所述中间执行节点,还用于根据与所述中间执行节点关联的应用实例的单点快照恢复所述中间执行节点关联的应用实例的数据,并执行日志包含的任务;所述叶子执行节点,还用于根据与所述叶子执行节点关联的应用实例的单点快照恢复所述叶子执行节点关联的应用实例的数据,并执行日志包含的任务。
由于源应用实例的单点快照已完整记录了快照事件之前应用实例的数据,因此,通过源应用实例的单点快照即可恢复源应用实例在快照时间点时的数据;当中间应用实例以及叶子应用实例的存在多个父节点时,中间应用实例以及叶子应用实例在快照时间点时的数据由单点快照和日志共同记录,因此,中间应用实例和叶子应用实例关联的执行节点根据对应的单点快照进行数据恢复后,执行日志包含的任务,从而将未包含在单点快照中且在快照事件之前的任务的数据恢复出来,保证了分布式应用的数据一致性。
存储在存储设备中的分布式应用的一致性快照包括快照标识,通过所述快照标识可以识别出属于同一分布式应用的多个应用实例的单点快照以及日志。
在一种可能的实施方式中,控制节点在接收到用于恢复所述分布式应用的快照恢复请求后,触发数据恢复操作。所述快照恢复请求携带分布式应用的应用标识或者快照标识,只要能够唯一识别分布式应用的一致性快照即可。
第二方面,本发明实施例提供了一种为分布式应用创建一致性快照的方法,所述方法应用于分布式***,所述分布式***包括控制节点和多个执行节点,所述控制节点通过所述多个执行节点为分布式应用创建一致性快照,每个执行节点与所述分布式应用的一个应用实例关联,所述多个执行节点包括源执行节点、中间执行节点以及叶子执行节点,所述方法包括:
所述控制节点向所述源执行节点发送快照事件;
所述源执行节点接收所述控制节点发送的快照事件,生成本节点关联的应用实例的单点快照,并向本节点的子节点发送快照事件;
所述中间执行节点依次接收来自本节点的至少两个父节点分别发送的快照事件,在接收到首个快照事件后,生成本节点关联的应用实例的单点快照,并在执行除发送所述首个快照事件的父节点之外的本节点的其它父节点触发的任务时,记录所执行的任务的日志,在后续每接收到一个本节点的父节点发送的快照事件后,中止当前接收到的快照事件的发送方所触发任务的日志记录的操作,以及在确认接收到全部的本节点的父节点发送的快照事件后,向本节点的子节点发送快照事件;
所述叶子执行节点依次接收来自本节点的至少两个父节点分别发送的快照事件,在接收到首个快照事件后,生成本节点关联的应用实例的单点快照,并在执行除发送所述首个快照事件的父节点之外的本节点的其它父节点触发的任务时,记录所执行的任务的日志,在后续每接收到一个本节点的父节点发送的快照事件后,中止当前接收到的快照事件的发送方所触发任务的日志记录的操作。
在一种可能的实施方式中,所述控制节点和执行节点可用由通用或专用的物理服务器实现,物理服务器包括处理器、存储器、***总线以及通信接口,处理器执行所述存储器中存储的指令实现所述***中控制节点或执行节点的相应的功能。
在另一种可能的实施方式中,本发明实施例提供了一种计算机存储介质,用于储存为上述控制节点或执行节点所用的计算机软件指令,其包含用于执行上述方面所设计的程序。
在再一种可能的实施方式中,本发明实施例提供了一种计算机程序,当物理服务器运行该计算机程序时,该物理服务器执行控制节点或执行节点的功能。
附图说明
如图1所示,为本发明实施例提供的分布式***的架构示意图;
如图2所示,为本发明实施例提供的分布式应用包含的多个应用实例之间的连接关系示意图;
如图3所示,为本发明实施例提供的一种为分布式应用创建一致性快照的方法流程示意图;
如图4A所示,为本发明实施例提供的一种分布式***的结构示意图;
如图4B所示,为本发明实施例提供的另一种分布式***的结构示意图;
如图5所示,为本发明实施例提供的另一种为分布式应用创建一致性快照的方法流程示意图;
如图6所示,本发明实施例提供的一种物理服务器硬件结构示意图。
具体实施方式
如图1所示,为本发明实施例提供的一种分布式***的架构示意图,所示分布式***包括控制节点101和多个执行节点102,每个执行节点102与所述分布式应用的一个应用实例关联,所述控制节点101通过所述多个执行节点102为分布式应用创建一致性快照,所述多个执行节点102包含三种类型:源执行节点102a、中间执行节点102b以及叶子执行节点102c。示例性的,源执行节点102a运行在第一服务器上,中间执行节点102b运行在第二服务器上,叶子执行节点102c运行在第三服务器上。
控制节点101识别出分布式应用包含的应用实例关联的源执行节点102a,向源执行节点102a发送快照事件,通知源执行节点102a执行快照操作。源执行节点102a生成与本节点关联的应用实例的单点快照,并向本节点的子节点发送快照事件。中间执行节点102b依次接收来自本节点的至少两个父节点分别发送的快照事件,在接收到首个快照事件后,生成本节点关联的应用实例的单点快照,并在执行除发送所述首个快照事件的父节点之外的本节点的其它父节点触发的任务时,记录所执行的任务的日志,在后续每接收到一个本节点的父节点发送的快照事件后,中止当前接收到的快照事件的发送方所触发任务的日志记录的操作,以及在确认接收到全部的本节点的父节点的发送的快照事件后,向本节点的子节点发送快照事件。叶子执行节点102c依次接收来自本节点的至少两个父节点分别发送的快照事件,在接收到首个快照事件后,生成本节点关联的应用实例的单点快照,并在执行除发送所述首个快照事件的父节点之外的本节点的其它父节点触发的任务时,记录所执行的任务的日志,在后续每接收到一个本节点的父节点发送的快照事件后,中止当前接收到的快照事件的发送方所触发任务的日志记录的操作。
其中,所述日志记录有任务的数据操作方式以及***作的数据。
通过上述方式,执行节点102生成了分布式应用包含的各应用实例的单点快照,且中间执行节点以及叶子执行节点还生成了需要记录的任务的日志,所述需要记录的任务为生成单点快照时间点以后至接收到除发送首个快照事件的父节点以外的其他父节点发送的快照事件之前的任务。
示例性的,某个非源执行节点(可以是中间执行节点或者叶子执行节点)存在2个父节点,分别为父节点1和父节点2。该非源执行节点接收到的首个快照事件为父节点2发送的快照事件,非源执行节点生成与本节点关联的应用实例的单点快照,继续接收并处理来自2个父节点的任务,在执行父节点2发送的任务时,不生成日志;在执行父节点1发送的任务时,生成任务的日志,直到接收到父节点1发送的快照事件,对于在接收到父节点1发送的快照事件后收到的来自父节点1的任务,执行该任务,但不再生成任务的日志。
图1中的第一服务器、第二服务器以及第三服务器分别可以为多个服务器组成的服务器集群。在一种可能的实施方式中,执行节点102可以为应用实例中运行的程序模块,执行节点102接收来自控制节点101的消息,调用应用实例的接口实现单点快照和日志的生成。图1所示的结构仅为一种具体的实施场景,本领域技术人员可以理解的是,不同的执行节点可能运行在同一服务器上,不同的应用实例也可能运行在同一服务器上。
在上述示例中,该非源执行节点生成单点快照时,已经处理完了父节点2在快照事件之前的所有任务,但由于还未收到来自父节点1的快照事件,则在生成单点快照的时间点至接收到父节点1的快照事件之间的时间段内,执行的来自父节点1的任务所产生的数据未被包含在单点快照中。对于未被包含在单点快照中该时间段内的任务,本发明实施例通过日志的方式进行记录,从而保证了快照数据的完整性和一致性。在上述过程中,该非源执行节点无需在接收到来自父节点1的快照事件之前无需阻塞与父节点2的连接,无需终止处理来自父节点2的任务,从而保证父节点2的任务可以被持续处理,提高了分布式应用的处理能力。
在本发明实施例中,单点快照为一个应用实例的快照,该快照即为单点快照生成时间点时应用实例数据的拷贝,根据应用实例的单点快照可以使应用实例回滚到单点快照生成时间点时的状态。
结合图1,在分布式应用的一致性快照完成后,当需要使用分布式应用的一致性快照对分布式应用执行数据恢复操作时,所述控制节点101通过各执行节点102恢复分布式应用包含的各应用实例的数据,具体包括:
所述控制节点101接收恢复所述分布式应用的快照恢复请求,通知各执行节点102执行恢复操作,所述快照恢复请求携带所述分布式应用的标识;
所述源执行节点102a获取与本节点关联的应用实例的单点快照,根据获取的所述单点快照恢复所述本节点关联的应用实例的数据;
所述中间执行节点102b和所述叶子执行节点102c,分别获取与本节点关联的应用实例的单点快照和日志,根据获取的所述单点快照恢复所述本节点关联的应用实例的数据,并使得与本节点关联的应用实例执行日志中包含的任务。
示例性的,与源执行节点102a关联的应用实例可以称为源应用实例,与中间执行节点102b关联的应用实例可以称为中间应用实例,与叶子执行节点102c关联的应用实例可以称为叶子应用实例。
通过上述方式,源执行节点根据与本节点关联的源应用实例的单点快照恢复了源应用实例在快照时间点时的数据;中间执行节点和叶子执行节点分别根据中间应用实例和叶子应用实例的单点快照恢复了中间应用实例和叶子应用实例的数据,且通过执行日志记录的任务,恢复了未包含在单点快照中且在快照时间点前的数据,保证了分布式应用数据恢复的完整性和一致性。
执行节点102的类型由与执行节点102相关联的应用实例在分布式应用中的逻辑位置决定,当与执行节点102关联的应用实例为源应用实例时,则执行节点102为源执行节点102a;当与执行节点102关联的应用实例为中间应用实例时,则执行节点102为中间执行节点102b;当与执行节点102关联的应用实例为叶子应用实例时,则执行节点102为源执行节点102c。
本发明实施例提供了一种根据应用实例的属性确定分布式应用包含的各应用实例的连接关系的方法。示例性的,应用实例可以包含如下属性:实例标识、实例类型、子节点类型、源节点标记、应用实例所在的主机地址和端口。根据有无父子节点,应用实例可以分为源应用实例、中间应用实例和叶子应用实例,源应用实例无父节点有子节点,中间应用实例有父节点和子节点,叶子应用实例有父节点无子节点。具体的,在一种可能的实施方式中,通过“是否源节点”属性区分应用实例是否为源应用实例,进一步结合“是否源节点”属性和“子节点类型”属性区分应用是否为中间应用实例,当应用实例的“是否源节点”属性的值为否且“子节点类型”属性不为空时,该应用实例为中间应用实例,当应用实例的“是否源节点”属性的值为否且“子节点类型”属性为空时,该应用实例为叶子应用实例。应用实例之间的连接关系通过“子节点类型”属性来描述。
示例性的,分布式应用包含11个应用实例,应用实例的实例标识分别为App1-ID1、App1-ID2、……、App1-ID11,其中,“实例类型”属性为1的应用实例包括App1-ID1、App1-ID2和App1-ID3,“实例类型”属性为2的应用实例包括App1-ID4和App1-ID5,“实例类型”属性为3的应用实例包括包括App1-ID6、App1-ID7和App1-ID8,“实例类型”属性为4的应用实例包括App1-ID9,“实例类型”属性为5的应用实例包括App1-ID10,“实例类型”属性为6的应用实例包括App1-ID11。如下表所示,各应用实例的属性举例如下(主机地址和端口未示出):
上表所示的分布式应用包含的应用实例之间的连接关系如图2所示,根据各应用实例在上述连接关系中的位置,确定:App1-ID1、App1-ID2、App1-ID3、App1-ID9为源应用实例,App1-ID4、App1-ID5、App1-ID10为中间应用实例,其他为叶子应用实例。对应的,与源应用实例关联的执行节点则为源执行节点102a,与中间应用实例关联的执行节点为中间执行节点102b,与叶子应用实例关联的执行节点为叶子执行节点102c。
需要说明的是,上述根据应用实例的属性确定各应用实例之间的连接关系的方法仅为本发明实施例的一种实施方式,本领域技术人员理解的是,也可以采用其他方式确定各应用实例之间的连接关系,例如,由管理员在部署分布式应用时定义分布式应用包含的各应用实例之间的连接关系。
在对分布式应用创建快照时,分布式应用包含的每个应用实例均需要创建各自的单点快照,且需要保证快照时间点前的任务均已被各个应用实例处理完成,从而保证分布式应用快照的一致性。在本发明实施例中,对于在快照时间点之前且未包含在单点快照中任务通过日志的方式进行记录。
结合图1所示的***结构图,如图3所示,为本发明实施例提供的一种为分布式应用创建一致性快照的方法,分布式应用由多个应用实例组成,所述多个应用实例运行在多个服务器上,所述服务器可以为物理机、虚拟机或容器等类型,服务器为所述应用实例提供运行环境。所述方法包括:
步骤301:各执行节点102向控制节点101发送注册消息,所述注册消息携带与执行节点102关联的应用实例的属性。
在一种实施方式中,所述应用实例的属性包括:实例类型、子节点类型以及源节点标记。
步骤302:控制节点101获取分布式应用包含的每个应用实例的属性,建立所述分布式应用包含的各个应用实例之间的连接关系。
具体的,结合图2对应的内容,控制节点101确定源应用实例、中间应用实例以及叶子应用实例。建立各个应用实例之间的连接关系。需要说明的是,通过实例属性表示应用实例间的连接关系,仅是一个举例,本领域技术人员可以理解的是,执行节点102也可以在注册消息中指定本节点关联的应用实例的所有子节点的实例标识。
步骤303:控制节点101将所述连接关系发送给各执行节点102。
在一种可能的实施方式中,控制节点101可以将完整的连接关系发送给各执行节点102,也可以将与执行节点102相关的连接关系的部分内容发送给对应的执行节点102。示例性的,控制节点101仅需要将执行节点102的所有子节点的标识通知给执行节点102。
步骤304:控制节点101向源执行节点102a发送快照事件,通知源执行节点102a发起快照操作。
步骤305:源执行节点102a生成本节点关联的应用实例的单点快照,并向本节点的子节点发送快照事件;
步骤306:中间执行节点102b依次接收来自本节点的至少两个父节点分别发送的快照事件,在接收到首个快照事件后,生成本节点关联的应用实例的单点快照,并在执行除发送所述首个快照事件的父节点之外的本节点的其它父节点触发的任务时,记录所执行的任务的日志,在后续每接收到一个本节点的父节点发送的快照事件后,中止当前接收到的快照事件的发送方所触发任务的日志记录的操作。
步骤307:所述中间执行节点102b在确认接收到全部的本节点的父节点发送的快照事件后,向本节点的子节点发送快照事件。
步骤308:叶子执行节点102c依次接收来自本节点的至少两个父节点分别发送的快照事件,在接收到首个快照事件后,生成本节点关联的应用实例的单点快照,并在执行除发送所述首个快照事件的父节点之外的本节点的其它父节点触发的任务时,记录所执行的任务的日志,在后续每接收到一个本节点的父节点发送的快照事件后,中止当前接收到的快照事件的发送方所触发任务的日志记录的操作。
在一种实施方式中,各执行节点102生成的单点快照以及日志可以记录到存储设备中,当需要恢复分布式应用时,源执行节点102a使用自身生成的单点快照恢复所述源执行节点102a关联的源应用实例的数据,中间执行节点102b以及叶子执行节点102c分别使用自身生成的单点快照以及记录的日志,恢复本节点关联的应用实例的数据并执行日志记录的任务。
图3中,以源执行节点102a向中间执行节点102b发送快照事件以及中间执行节点102b向叶子执行节点102c发送快照事件为例进行说明,本领域技术人员可以理解的是,当源执行节点102a的子节点是叶子执行节点102c,中间执行节点102b的子节点是其他的中间节点102b时,源执行节点102a也可以向叶子节点102c发送快照事件,中间执行节点102b也可以向其他的中间执行节点102b发送快照事件。
在一种可能的实施方式中,控制节点101可以由多个功能模块组成,执行节点102为运行在应用实例中的应用客户端。示例性的,如图4A所示,为本发明实施例提供的一种分布式***的结构示意图,应用客户端411运行在应用实例41中,所述控制节点101包括中央处理器和内存,所述内存中存储有快照控制器42、策略引擎43、以及工作流图生成器44的程序指令,所述分布式***还包括存储设备45。在另一种可能的实施方式中,如图4B所示,控制节点101的功能由服务器集群实现,前述快照控制器42、策略引擎43、以及工作流图生成器44的承载指令分别存储在不同的服务器的内存上。
其中,快照控制器42为管理节点,负责向应用客户端411发送控制命令,通过控制应用客户端411对应用客户端411所在的应用实例41执行快照操作。分布式应用包含的各个应用实例分为源应用实例、中间应用实例以及叶子应用实例,与源应用实例关联的应用客户端为源应用客户端,与中间应用实例关联的应用客户端为中间应用客户端,与叶子应用实例关联的应用客户端为叶子应用客户端。
应用客户端411具备下述功能:向快照控制器42发起应用实例注册,将应用客户端411所在的应用实例41的属性注册到快照控制器42;调用应用实例41提供的接口通知应用实例创建单点快照;使用日志记录来自父节点的任务;将单点快照以及日志存储到存储设备45;应用客户端411还可以与快照控制器42保持心跳,从而使得快照控制器42可以监控应用客户端411的运行状态。
当属于同一分布式应用的所有应用实例关联的应用客户端411均完成注册后,即代表分布式应用注册完成。
其中,单点快照以及日志在存储设备45中的存储位置可以由应用客户端411根据快照ID和实例ID来生成。应用客户端411将记录的快照元数据(包括快照ID、实例ID,以及存储位置等)同步到快照控制器42。
快照控制器42具备下述功能:接收来自应用客户端411的应用实例注册消息;接收用户通过管理界面发送的快照命令,实现针对分布式应用的快照的创建、删除、查询以及回滚等操作;通过管理界面向用户提供应用保护计划接口,用于实现对应用保护计划的创建、修改、查询和删除。
策略引擎43具备下述功能:策略引擎43上设置有快照触发规则,上述快照触发规则具体可以为基于时间触发的规则或者基于事件触发的规则。当规则定义的条件满足时,策略引擎43触发快照控制器42为分布式应用创建快照。需要说明的是,通过策略引擎33触发快照操作仅是一种实施方式,本领域技术人员可以理解的是,可以采用其他方式触发快照操作,例如,由管理员主动触发等等。
工作流图生成器44具备下述功能:向快照控制器42或者存储设备45查询分布式应用包含的每个应用实例的属性,根据查询到的结果,生成分布式应用包含的所有应用实例之间的连接关系,所述连接关系可以采用工作流图的方式进行记录,也可以采用表格形式进行记录。
存储设备45,用于存储快照创建过程中生成的快照、元数据和日志等信息,以及存储分布式应用的工作流图。
结合图4A和4B所示的***结构,如图5所示,为本发明实施例提供的一种为分布式应用创建一致性快照的方法流程示意图。
用户将分布式应用部署在云计算***后,分布式应用的各应用实例开始运行,每个应用实例包含一个应用客户端,各应用实例通过各自的应用客户端与控制节点进行交互。
步骤501:各应用实例的应用客户端向快照控制器发送注册消息,所述注册消息携带应用实例的属性,所述应用实例的属性包括实例标识、实例类型、子节点类型、是否源节点、主机地址和端口。
在一种可能的实施方式中,所述实例标识包括应用标识和编号。可以从实例标识中提取到应用标识,从而可以确定应用实例所述的分布式应用。
步骤502:快照控制器接收各应用实例客户端发送的注册消息,为每个应用实例生成应用实例对象,所述应用实例对象中记录对应的应用实例的属性。
步骤503:快照控制器将为各个应用实例生成的应用实例对象存储到存储器。
步骤504:快照控制器创建分布式应用保护计划。
当由用户发起应用保护计划时,用户通过管理界面调用快照控制器42的应用保护计划接口,向快照控制器42发送计划创建请求,所述计划创建请求携带分布式应用的标识。
步骤505:快照控制器为分布式应用创建计划对象,并将创建的计划对象保存到存储器。
所述计划对象的属性包括计划对象标识、状态以及工作流图等,其中,状态属性为创建(creating)。
步骤506:快照控制器向工作流图生成器发送计划创建请求,所述计划创建请求携带分布式应用的标识或计划对象标识。
步骤507:工作流图生成器接收所述计划创建请求,根据分布式应用的标识或计划对象标识从存储设备读取应用实例对象,获取分布式应用的所有应用实例的属性。
步骤508:工作流图生成器根据分布式应用的所有应用实例的属性生成分布式应用的工作流图,并将生成的工作流图发送给各应用实例的应用客户端。
工作流图生成器44根据获取的各应用实例的属性,找出源应用实例,再根据各应用实例的属性建立每个应用实例与其对应的子实例之间的连接关系。所述连接关系可以采用工作流图的形式来表示,示例性的,所述工作流图如图2所示。
工作流图生成器44还将建立的工作流图存储到存储设备,将计划对象的状态改为可用,每个工作流图唯一对应于一个分布式应用。需要说明的是,计划对象的状态为创建,表示该计划对象的工作流图处于待创建状态;计划对象的状态为可用,表示该计划对象的工作流图已创建完成。
除工作流图的方式外,所述连接关系还可以采用表格或者树等形式来记录。
步骤509:快照控制器在快照操作被触发后,接收快照创建请求,启动快照创建操作,为分布式应用创建一致性快照。
当由用户手动触发或者由策略引擎43自动触发分布式应用快照的创建时,快照控制器42接收快照创建请求,所述快照请求中携带分布式应用的标识或者计划对象标识。
步骤510:快照控制器根据分布式应用的标识或者计划对象标识从存储设备获取分布式应用的工作流图。
步骤511:所述快照生成器根据所述工作流图确定所述分布式应用的源应用实例,并向每个源应用实例关联的应用客户端发送快照事件。
具体的,应用客户端的地址为应用实例所在的主机标识和端口,根据应用实例所在的主机标识和端口即可将快照事件路由到应用客户端,其中,所述主机标识可以为主机的IP地址。
步骤512:源应用实例的应用客户端接收快照事件,生成所述源应用实例的单点快照。
生成源应用实例的单点快照的方法如下:
源应用实例关联的源应用客户端411接收到快照控制器42发送的快照事件后,应用客户端411调用应用实例的接口,通知与自己关联的源应用实例生成单点快照,并根据工作流图向自身的子节点广播快照事件。该单点快照即为应用实例当前数据的完整拷贝,根据该单点快照可以使应用实例回滚到当前状态。
图2中的4个应用实例:App1-ID1、App1-ID2、App1-ID3以及App1-ID9为源应用实例,这4个应用实例的应用客户端接收快照控制器42发送的快照事件,生成单点快照,这4个应用实例的应用客户端均向其子节点广播快照事件,即,App1-ID1和App1-ID2均向App1-ID4和App1-ID5广播快照事件,App1-ID3和App1-ID9均向App1-ID10广播快照事件。
步骤513:源应用实例的应用客户端向所述源应用实例的子节点发送快照事件。
示例性的,在执行完步骤513后,源应用实例的应用客户端向快照控制器发送快照完成事件。
步骤514:中间应用实例的应用客户端生成所述中间应用实例的单点快照并记录日志。
中间应用实例的应用客户端在快照操作完成后,向快照控制器发送快照完成事件。
步骤515:中间应用实例的应用客户端在完成本应用实例的快照操作后,向子节点的应用客户端发送快照事件。
步骤516:叶子应用实例的应用客户端执行生成叶子应用实例的单点快照及记录日志。
中间应用实例关联的应用客户端或叶子应用实例关联的应用客户端可能存在两个及以上的父节点,中间应用实例或叶子应用实例关联的应用客户端执行快照操作时,需要记录单点快照以及日志。具体的,中间应用实例或叶子应用实例关联的应用客户端执行快照操作的方法如下:
在接收到父节点发送的首个快照事件后,创建单点快照,并记录单点快照元数据,所述单点快照元数据包括快照标识、应用实例标识和存储位置,所述存储位置用于指示生成的单点快照的存储位置。应用客户端进入日志模式,记录日志。所述日志模式是指:在接收到某个父节点发送的首个快照事件以后,应用客户端如果接收到未发送快照事件的父节点发送的任务,则继续处理接收到的任务,且记录日志,所述日志记录有所述任务的数据操作方式以及***作的数据;应用客户端如果接收到已发送快照事件的父节点发送的任务,则继续处理接收到的任务,但不记录日志;每收到一个父节点快照事件后,则停止记录该父节点的任务的日志,当中间或叶子应用实例的应用客户端接收到所有父节点发送的快照事件后,终止日志模式,正常处理后续业务,并将生成的日志存储到存储设备45中。
以图2中的App1-ID10为例,说明生成中间应用实例或叶子应用实例的应用客户端生成单点快照和日志的过程。根据图1所示的工作流图,App1-ID10存在3个父节点(App1-ID3、App1-ID5和App1-ID9),假设App1-ID10最先接收到App1-ID3发送的快照事件,那么,App1-ID10的应用客户端通过调用App1-ID10的接口生成App1-ID10的单点快照,生成快照元数据。App1-ID10继续处理来自App1-ID3的任务,但是不记录日志;App1-ID10处理来自App1-ID5的任务,并且记录日志,直到App1-ID10接收到来自App1-ID5的快照事件,则停止记录日志,即,假设App1-ID10生成单点快照的时间点为t0,App1-ID10接收到App1-ID5的快照事件的时间点为t1,则,App1-ID10处理t0-t1这段时间内的任务时需要记录日志,对于t1以后接收到的来自App1-ID3的任务则只处理任务不记录日志。由于日志中记录了应用实例接收到的任务,因此,可以通过读取日志内容,获取在t0-t1这段时间内的任务。对App1-ID9的处理与App1-ID5类似,此处不再赘述。
当快照控制器确定分布式应用的所有应用实例均完成快照操作后,确定分布式应用的一致性快照创建完成。
本发明实施例中,源应用实例的应用客户端生成了所述源应用实例的单点快照;中间应用实例以及叶子应用实例的应用客户端生成了中间应用实例以及叶子应用实例的单点快照并记录日志,通过所述日志记录了未被包含在单点快照中且在快照事件之前的任务,从而保证了快照数据的完整性和一致性。在上述过程中,中间应用实例或叶子应用实例均无需在接收到所有父节点发送的快照事件之前停止处理来自父节点的任务,从而保证各父节点的任务可以被持续处理,提高了分布式应用的处理能力。
前述的控制节点101、快照控制器42、策略引擎43以及工作流图生成器44可以采用通用或专用的物理服务器来实现,示例性的,如图6所示,为本发明实施例提供的物理服务器硬件结构示意图。物理服务器600包括至少一个处理器601,通信总线602,存储器603以及至少一个通信接口604。存储器603中存储有计算机可读指令,当处理器601读取所述存储器603中的指令时,所述物理服务器执行前述实施例中控制节点101和执行节点102的功能,或者,执行前述实例中快照控制器42、策略引擎43、工作流图生成器44以及应用客户端411的功能。
在另一种可能的实施方式中,物理服务器集群中包含多个物理服务器,每个物理服务器包括处理器和存储器,其中,第一服务器包括第一处理器和第一存储器,第一存储器中存储有第一指令,所述第一处理器执行所述第一指令以实施前述实施例中控制节点101的功能,第二服务器包括第二处理器和第二存储器,所述第二存储器中存储有第二指令,所述第二处理器执行所述第二指令以实施中前述实施例中执行节点102的功能。
在再一种可能的实施方式中,物理服务器集群中包含多个物理服务器,每个物理服务器包括处理器和存储器,其中,处理器执行存储器中的指令,以使得所述多个物理服务器分别执行前述实例中快照控制器42、策略引擎43、工作流图生成器44以及应用客户端411的功能。
处理器601可以是一个通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。
存储器603可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,所述存储器603用于存储执行本发明方案的应用程序代码,并由处理器501来控制执行。所述处理器601用于执行所述存储器603中存储的应用程序代码。
需要说明的是,图6所示的物理服务器仅仅是给出了云计算***中各部分的可能的硬件实现方式,根据***各部分功能的不同或者变化,可以对物理服务器的硬件组件进行增删,以使得与***各部分的功能进行匹配。
本发明实施例还提供了一种计算机存储介质,用于储存为上述图1-5中的各部件所用的计算机程序指令,其包含用于执行上述方法实施例所设计的程序。通过执行计算机存储介质存储的程序,可以实现分布式应用的一致性快照的生成方法。
尽管结合具体特征及其实施例对本发明进行了描述,显而易见的,在不脱离本发明的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本发明的示例性说明,且视为已覆盖本发明范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (12)
1.一种分布式***,其特征在于,所述分布式***包括控制节点和多个执行节点,所述控制节点通过所述多个执行节点为分布式应用创建一致性快照,每个执行节点与所述分布式应用的一个应用实例关联,所述多个执行节点包括源执行节点、中间执行节点以及叶子执行节点,
所述控制节点,用于向所述源执行节点发送快照事件;
所述源执行节点,用于接收所述控制节点发送的快照事件,生成本节点关联的应用实例的单点快照,并向本节点的子节点发送快照事件;
所述中间执行节点,用于依次接收来自本节点的至少两个父节点分别发送的快照事件,在接收到首个快照事件后,生成本节点关联的应用实例的单点快照,并在执行除发送所述首个快照事件的父节点之外的本节点的其它父节点触发的任务时,记录所执行的任务的日志,在后续每接收到一个本节点的父节点发送的快照事件后,中止当前接收到的快照事件的发送方所触发任务的日志记录的操作,以及在确认接收到全部的本节点的父节点发送的快照事件后,向本节点的子节点发送快照事件;
所述叶子执行节点,还用于依次接收来自本节点的至少两个父节点分别发送的快照事件,在接收到首个快照事件后,生成本节点关联的应用实例的单点快照,并在执行除发送所述首个快照事件的父节点之外的本节点的其它父节点触发的任务时,记录所执行的任务的日志,在后续每接收到一个本节点的父节点发送的快照事件后,中止当前接收到的快照事件的发送方所触发任务的日志记录的操作。
2.如权利要求1所述的***,其特征在于,
所述控制节点,还用于获取所述分布式应用包含的每个应用实例的属性;
所述控制节点,还用于根据获取到的应用实例的属性确定所述分布式应用包含的多个应用实例之间的连接关系,将所述连接关系发送给所述多个执行节点。
3.如权利要求2所述的***,其特征在于,所述应用实例的属性包括:实例类型、子节点类型以及源节点标记。
4.如权利要求2或3任一所述的***,其特征在于,
所述控制节点,还用于接收应用保护计划创建消息,所述应用保护计划创建消息携带所述分布式应用的标识;
所述控制节点,具体用于根据所述分布式应用的标识获取所述分布式应用包含的每个应用实例的属性;
所述控制节点,还用于将生成的所述连接关系存储到存储器。
5.如权利要求1-3任一所述的***,其特征在于,
所述源执行节点,还用于在生成单点快照后,向控制节点返回快照完成事件;
所述中间执行节点和所述叶子执行节点,还用于在生成单点快照且收到所有父节点发送的快照事件后,向控制节点返回快照完成事件;
所述控制节点,还用于在接收到所述分布式应用的所有应用实例关联的执行节点返回的快照完成事件后,确定完成所述分布式应用的一致性快照的创建。
6.如权利要求1-3任一所述的***,其特征在于,
所述控制节点,还用于通知所述多个执行节点执行快照恢复操作;
所述源执行节点,还用于根据源应用实例的单点快照恢复所述源应用实例的数据;
所述中间执行节点,还用于根据与所述中间执行节点关联的应用实例的单点快照恢复所述中间执行节点关联的应用实例的数据,并执行日志包含的任务;
所述叶子执行节点,还用于根据与所述叶子执行节点关联的应用实例的单点快照恢复所述叶子执行节点关联的应用实例的数据,并执行日志包含的任务。
7.一种为分布式应用创建一致性快照的方法,其特征在于,所述方法应用于分布式***,所述分布式***包括控制节点和多个执行节点,所述控制节点通过所述多个执行节点为分布式应用创建一致性快照,每个执行节点与所述分布式应用的一个应用实例关联,所述多个执行节点包括源执行节点、中间执行节点以及叶子执行节点,所述方法包括:
所述控制节点向所述源执行节点发送快照事件;
所述源执行节点接收所述控制节点发送的快照事件,生成本节点关联的应用实例的单点快照,并向本节点的子节点发送快照事件;
所述中间执行节点依次接收来自本节点的至少两个父节点分别发送的快照事件,在接收到首个快照事件后,生成本节点关联的应用实例的单点快照,并在执行除发送所述首个快照事件的父节点之外的本节点的其它父节点触发的任务时,记录所执行的任务的日志,在后续每接收到一个本节点的父节点发送的快照事件后,中止当前接收到的快照事件的发送方所触发任务的日志记录的操作,以及在确认接收到全部的本节点的父节点发送的快照事件后,向本节点的子节点发送快照事件;
所述叶子执行节点依次接收来自本节点的至少两个父节点分别发送的快照事件,在接收到首个快照事件后,生成本节点关联的应用实例的单点快照,并在执行除发送所述首个快照事件的父节点之外的本节点的其它父节点触发的任务时,记录所执行的任务的日志,在后续每接收到一个本节点的父节点发送的快照事件后,中止当前接收到的快照事件的发送方所触发任务的日志记录的操作。
8.如权利要求7所述的方法,其特征在于,在所述控制节点向所述源执行节点发送快照事件之前,还包括:
所述控制节点获取所述分布式应用包含的每个应用实例的属性;
所述控制节点根据获取到的应用实例的属性确定所述分布式应用包含的多个应用实例之间的连接关系,将所述连接关系发送给所述多个执行节点。
9.如权利要求8所述的方法,其特征在于,在所述控制节点确定所述分布式应用包含的多个应用实例之间的连接关系之前,所述方法还包括:
所述控制节点接收应用保护计划创建消息,所述应用保护计划创建消息携带所述分布式应用的标识,根据所述分布式应用的标识获取所述分布式应用包含的每个应用实例的属性。
10.如权利要求7-9任一所述的方法,其特征在于,还包括:
所述源执行节点在生成单点快照后,向控制节点返回快照完成事件;
所述中间执行节点和所述叶子执行节点在生成单点快照且收到所有父节点发送的快照事件后,向控制节点返回快照完成事件;
所述控制节点在接收到所述分布式应用的所有应用实例关联的执行节点返回的快照完成事件后,确定完成所述分布式应用的一致性快照的创建。
11.如权利要求7-9任一所述的方法,其特征在于,还包括:
所述控制节点通知所述多个执行节点执行快照恢复操作;
所述源执行节点根据源应用实例的单点快照恢复所述源应用实例的数据;
所述中间执行节点根据与所述中间执行节点关联的应用实例的单点快照恢复所述中间执行节点关联的应用实例的数据,并执行日志包含的任务;
所述叶子执行节点根据与所述叶子执行节点关联的应用实例的单点快照恢复所述叶子执行节点关联的应用实例的数据,并执行日志包含的任务。
12.一种物理服务器集群,其特征在于,每台物理服务器包括处理器和存储器,其中,
第一物理服务器包括第一处理器和第一存储器,所述第一存储器中存储有第一指令,所述第一处理器执行所述第一指令以实施如权利要求1-6所述的***中控制节点的功能;
第二物理服务器包括第二处理器和第二存储器,所述第二存储器中存储有第二指令,所述第二处理器执行所述第二指令以实施如权利要求1-6所述的***中源执行节点的功能;
第三物理服务器包括第三处理器和第三存储器,所述第三存储器中存储有第三指令,所述第三处理器执行所述第三指令以实施如权利要求1-6所述的***中中间执行节点的功能;
第四物理服务器包括第四处理器和第四存储器,所述第四存储器中存储有第四指令,所述第四处理器执行所述第四指令以实施如权利要求1-6所述的***中叶子执行节点的功能。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/080204 WO2019178839A1 (zh) | 2018-03-23 | 2018-03-23 | 为分布式应用创建一致性快照的方法、装置和分布式*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111226200A CN111226200A (zh) | 2020-06-02 |
CN111226200B true CN111226200B (zh) | 2023-06-27 |
Family
ID=67986682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880018226.0A Active CN111226200B (zh) | 2018-03-23 | 2018-03-23 | 为分布式应用创建一致性快照的方法、装置和分布式*** |
Country Status (3)
Country | Link |
---|---|
US (1) | US11080150B2 (zh) |
CN (1) | CN111226200B (zh) |
WO (1) | WO2019178839A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116662267B (zh) * | 2023-08-02 | 2024-04-05 | 中国电子投资控股有限公司 | 一种基于云原生的分布式应用快照***和快照创建方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019178839A1 (zh) * | 2018-03-23 | 2019-09-26 | 华为技术有限公司 | 为分布式应用创建一致性快照的方法、装置和分布式*** |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103116596A (zh) * | 2011-11-16 | 2013-05-22 | Sap股份公司 | 在分布式数据库中执行快照隔离的***和方法 |
CN103221925A (zh) * | 2012-11-23 | 2013-07-24 | 华为技术有限公司 | 数据处理方法和存储设备 |
CN103853632A (zh) * | 2012-12-07 | 2014-06-11 | 华为技术有限公司 | 快照方法、业务节点、主控节点及*** |
US9141683B1 (en) * | 2011-03-24 | 2015-09-22 | Amazon Technologies, Inc. | Distributed computer system snapshot instantiation with variable depth |
CN106610876A (zh) * | 2015-10-23 | 2017-05-03 | 中兴通讯股份有限公司 | 数据快照的恢复方法及装置 |
WO2017184593A1 (en) * | 2016-04-18 | 2017-10-26 | Amazon Technologies, Inc. | Versioned hierarchical data structures in a distributed data store |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3154942B2 (ja) * | 1995-09-11 | 2001-04-09 | 株式会社東芝 | 分散チェックポイント生成方法および同方法が適用される計算機システム |
CN101420439B (zh) * | 2008-11-26 | 2012-01-11 | 北京航空航天大学 | 分布式虚拟环境中基于位移残差的区域匹配方法 |
CN102103530B (zh) * | 2009-12-16 | 2013-08-14 | 成都市华为赛门铁克科技有限公司 | 快照方法、设备及*** |
US20160179627A1 (en) * | 2013-07-30 | 2016-06-23 | Nec Europe Ltd. | Method and system for checkpointing a global state of a distributed system |
US9558078B2 (en) | 2014-10-28 | 2017-01-31 | Microsoft Technology Licensing, Llc | Point in time database restore from storage snapshots |
US10394660B2 (en) * | 2015-07-31 | 2019-08-27 | Netapp, Inc. | Snapshot restore workflow |
CN105302922B (zh) * | 2015-11-24 | 2018-07-06 | 无锡江南计算技术研究所 | 一种分布式文件***快照实现方法 |
WO2019178839A1 (zh) * | 2018-03-23 | 2019-09-26 | 华为技术有限公司 | 为分布式应用创建一致性快照的方法、装置和分布式*** |
-
2018
- 2018-03-23 WO PCT/CN2018/080204 patent/WO2019178839A1/zh active Application Filing
- 2018-03-23 CN CN201880018226.0A patent/CN111226200B/zh active Active
-
2019
- 2019-09-26 US US16/584,862 patent/US11080150B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9141683B1 (en) * | 2011-03-24 | 2015-09-22 | Amazon Technologies, Inc. | Distributed computer system snapshot instantiation with variable depth |
CN103116596A (zh) * | 2011-11-16 | 2013-05-22 | Sap股份公司 | 在分布式数据库中执行快照隔离的***和方法 |
CN103221925A (zh) * | 2012-11-23 | 2013-07-24 | 华为技术有限公司 | 数据处理方法和存储设备 |
CN103853632A (zh) * | 2012-12-07 | 2014-06-11 | 华为技术有限公司 | 快照方法、业务节点、主控节点及*** |
CN106610876A (zh) * | 2015-10-23 | 2017-05-03 | 中兴通讯股份有限公司 | 数据快照的恢复方法及装置 |
WO2017184593A1 (en) * | 2016-04-18 | 2017-10-26 | Amazon Technologies, Inc. | Versioned hierarchical data structures in a distributed data store |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116662267B (zh) * | 2023-08-02 | 2024-04-05 | 中国电子投资控股有限公司 | 一种基于云原生的分布式应用快照***和快照创建方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111226200A (zh) | 2020-06-02 |
US20200042408A1 (en) | 2020-02-06 |
WO2019178839A1 (zh) | 2019-09-26 |
US11080150B2 (en) | 2021-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106776212B (zh) | 容器集群部署多进程应用的监管***及方法 | |
CN111143133B (zh) | 虚拟机备份方法和备份虚拟机恢复方法 | |
EP4068099A1 (en) | State management method, master and backup application server switching method, and electronic device | |
WO2019020081A1 (zh) | 分布式***及其故障恢复方法、装置、产品和存储介质 | |
CN107544869B (zh) | 一种数据恢复方法和装置 | |
CN111176888B (zh) | 云存储的容灾方法、装置及*** | |
CN113656149B (zh) | 一种应用处理方法、装置及相关设备 | |
US20190227710A1 (en) | Incremental data restoration method and apparatus | |
CN110825562B (zh) | 数据备份方法、装置、***和存储介质 | |
CN111226200B (zh) | 为分布式应用创建一致性快照的方法、装置和分布式*** | |
CN110196749B (zh) | 虚拟机的恢复方法及装置、存储介质及电子装置 | |
CN106201772A (zh) | 一种基于数据中心的操作***备份、恢复方法及装置 | |
CN104793981A (zh) | 一种虚拟机集群的在线快照管理方法及装置 | |
CN111752488A (zh) | 存储集群的管理方法、装置、管理节点及存储介质 | |
CN115277727A (zh) | 一种数据灾备方法、***、装置及存储介质 | |
CN113986450A (zh) | 一种虚拟机备份方法及装置 | |
CN104407942A (zh) | 一种基于异地存储的Linux操作***备份恢复方法 | |
CN114356650A (zh) | 数据备份方法、装置、设备、***及存储介质 | |
CN111342986A (zh) | 分布式节点管理方法及装置、分布式***、存储介质 | |
US9852031B2 (en) | Computer system and method of identifying a failure | |
CN112333008A (zh) | 一种云主机整机备份还原方法、装置、设备及存储介质 | |
CN110825552B (zh) | 数据存储方法、数据恢复方法、节点及存储介质 | |
CN112035062A (zh) | 云计算的本地存储的迁移方法、计算机设备及存储介质 | |
WO2017054643A1 (zh) | 一种数据抢救方法及文件服务器 | |
CN108271420A (zh) | 管理文件的方法、文件***和服务器*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220223 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Applicant after: Huawei Cloud Computing Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |