CN103365741A - 用于虚拟机集群的快照和恢复的方法和设备 - Google Patents

用于虚拟机集群的快照和恢复的方法和设备 Download PDF

Info

Publication number
CN103365741A
CN103365741A CN2012101031205A CN201210103120A CN103365741A CN 103365741 A CN103365741 A CN 103365741A CN 2012101031205 A CN2012101031205 A CN 2012101031205A CN 201210103120 A CN201210103120 A CN 201210103120A CN 103365741 A CN103365741 A CN 103365741A
Authority
CN
China
Prior art keywords
virtual machine
message
snapshot
cluster
dye marker
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.)
Granted
Application number
CN2012101031205A
Other languages
English (en)
Other versions
CN103365741B (zh
Inventor
范晨辉
周伦
杨子夜
陈齐彦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EMC Corp
Original Assignee
EMC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by EMC Corp filed Critical EMC Corp
Priority to CN201210103120.5A priority Critical patent/CN103365741B/zh
Publication of CN103365741A publication Critical patent/CN103365741A/zh
Application granted granted Critical
Publication of CN103365741B publication Critical patent/CN103365741B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Cosmetics (AREA)

Abstract

本发明的实施例涉及用于虚拟机集群的快照和恢复的方法和设备。根据本发明的示例性实施例,提出一种生成与虚拟机集群中的一个虚拟机相关联的快照以生成集群快照的方法、生成虚拟机集群快照的方法、恢复虚拟机集群以及相应的设备。在本发明的实施例中,提供了一种新颖的消息染色机制,确保在创建虚拟机集群的快照时不但能记录个体虚拟机的本地快照,而且能有效地记录用于支持虚拟机通信的通信通道的状态。还公开了相应的设备。根据本发明的示例性实施例,能够更为有效地生成虚拟机集群的快照,并且能够相应地将虚拟机集群恢复到给定的快照时刻。

Description

用于虚拟机集群的快照和恢复的方法和设备
技术领域
本发明的实施例总体上涉及虚拟机,更具体地,涉及用于虚拟机集群的快照和恢复的方法和设备。
背景技术
虚拟机(Virtual Machine,VM)是指由一类特定的应用在物理机器的硬件平台上创建的应用执行环境,用户可以通过该环境来运行应用并与之发生交互,就如同使用物理机器一样。创建VM的软件应用通常称为虚拟机管理器(hypervisor)。管理器可以部署和运行在物理机器上,而VM管理器可以创建和运行一个或多个虚拟机。随着越来越多的分布式应用被部署到云(cloud)环境中,虚拟机集群(cluster)得到了日益广泛的使用。在此使用的术语“虚拟机集群”是指利用彼此之间的通信通道相互通信和交换数据的多个虚拟机的逻辑封装体。一个虚拟机集群通常服务于一个应用或者***。集群中的虚拟机可以部署在同一VM管理器上,也可以跨不同的VM管理器分布。
已经知道,对于单个虚拟机而言,快照(snapshot)是一个重要的操作。快照操作的目的是保存虚拟机在给定时刻的所有状态、数据和上下文(context)。快照操作对于虚拟机的故障恢复而言至关重要。例如,当一个虚拟机在操作中发生严重错误时,可以根据快照将虚拟机恢复到创建该快照的时刻所处的状态和上下文。同样,在虚拟机集群中,针对整个集群的快照操作也是必不可少的。
对于由多个虚拟机组成的一个虚拟机集群而言,快照操作应当能够保存集群中所有虚拟机在给定时刻各自的状态和上下文。不仅如此,由于集群中的不同虚拟机之间可能通过通信通道进行通信,因此集群快照还应当能够保存虚拟机之间的通信通道在快照时刻的状态。
已知的虚拟机集群快照操作往往无法保存度保存多个虚拟机在严格的同一时刻的上下文。更重要的是,已知的虚拟机集群快照无法有效地捕获和保存集群中的通信通道在快照时刻的状态,而这些通道可能在快照时刻正在传输数据。这样,集群快照因为丢失了通信通道的信息而变得不完整,而且可能破坏集群中的数据一致性。另外,很多现有技术中的虚拟机集群快照依赖于虚拟机操作***(OS)或应用,使得这些方案无法适用于***虚拟化和云计算的环境。
因此,本领域需要一种针对包含多个虚拟机的虚拟机集群的更为有效的快照机制。
发明内容
鉴于现有技术中存在的上述问题,本发明提出一种新颖的用于生成虚拟机集群的方法和设备。
在本发明的第一方面,提供一种生成与虚拟机集群中的一个虚拟机相关联的快照以用于生成集群快照的方法,所述虚拟机通过通信通道与所述集群中的其他虚拟机通信。所述方法包括:响应于快照指示,创建所述虚拟机的本地快照;响应于所述创建的启动,使将要从所述虚拟机发送给所述集群中的其他虚拟机的每一个传出消息被添加染色标记,所述染色标记指示正在创建所述虚拟机的所述本地快照;以及响应于从所述集群中的其他虚拟机接收到不具有所述染色标记的传入消息,存储所述传入消息的相关信息作为所述通信通道的快照的部分。
在本发明的第二方面,提供一种用于生成虚拟机集群的快照的方法,所述集群包括利用通信通道彼此通信的多个虚拟机。所述方法包括:由所述多个虚拟机中被选为协调者的第一虚拟机向其他虚拟机发送快照指示;响应于所述快照指示,按照上文段落所述的方法生成与所述多个虚拟机中的每一个虚拟机相关联的快照;以及收集与所述多个虚拟机中的每一个虚拟机相关联的快照,以用于生成所述集群的快照。
在本发明的第三方面,提供一种将虚拟机集群恢复到给定的快照时刻的方法,所述集群包括多个虚拟机,并且所述集群在所述快照时刻的快照使用上文段落描述的方法而生成。所述方法包括:由所述多个虚拟机中被选为协调者的第一虚拟机向其他虚拟机发送恢复指示;响应于所述恢复指示,使所述多个虚拟机的每一个虚拟机根据该虚拟机的本地快照恢复到所述快照时刻的状态;以及根据所述通信通道的快照加载已存储的消息,使得每一个所述消息被发送给目的地虚拟机。
在本发明的第四方面,提供一种生成与虚拟机集群中的一个虚拟机相关联的快照以用于生成集群快照的设备,所述虚拟机通过通信通道与所述集群中的其他虚拟机通信。所述设备包括:本地快照装置,配置用于响应于快照指示而创建所述虚拟机的本地快照;消息染色装置,配置用于响应于所述创建的启动而使将要从所述虚拟机发送给所述集群中的其他虚拟机的每一个传出消息被添加染色标记,所述染色标记指示正在创建所述虚拟机的所述本地快照;以及通道快照装置,配置用于响应于从所述集群中的其他虚拟机接收到不具有所述染色标记的传入消息而存储所述传入消息的相关信息作为所述通信通道的快照的部分。
如上文概括和下文详述,根据本发明的实施方式,提出了一种消息染色机制用于在生成每一个虚拟机本地快照的同时,生成这些虚拟机之间的通信通道的快照。对于集群中的任何个体虚拟机,当该虚拟机开始创建本地快照时,其利用染色机制对将要在通信通道上发出的所有传出消息进行染色,用以向其他虚拟机指示该虚拟机正在创建本地快照。当例如本地快照创建完成等预定条件被满足时,虚拟机结束对传出消息的染色。
另一方面,对于接收到的每一个传入消息,目的地虚拟机检测该传入消息的源虚拟机是否对该消息进行了染色。如果该消息未被染色,则说明该消息在快照时刻之前就已经由源虚拟机发出,因此应当被保存以作为通信通道快照的一部分。另一方面,如果传入消息已被染色,说明该消息是源虚拟机在快照时刻之后才被发出的,因此集群快照中无需包含该消息的信息。
以此方式,本发明的实施方式能够以一种更为有效、可靠和灵活的方法来生成针对虚拟机集群的快照。
附图说明
通过参考附图阅读下文的详细描述,本发明实施例的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施例,其中:
图1示出了根据本发明一个示例性实施例的包括多个相互通信的虚拟机的集群100的示意框图;
图2示出了根据本发明一个示例性实施例的用于生成与虚拟机集群中的一个虚拟机相关联的快照以用于生成集群快照的方法200的示意性流程图;
图3示出了根据本发明另一示例性实施例的用于生成与虚拟机集群中的一个虚拟机相关联的快照以用于生成集群快照的方法300的示意性流程图;
图4示出了根据本发明一个示例性实施例的用于生成虚拟机集群的快照的方法400的示意性流程图;
图5示出了根据本发明一个示例性实施例的用于将虚拟机集群恢复到给定时刻的方法500的示意性流程图;
图6示出了根据本发明一个示例性实施例的用于生成与虚拟机集群中的一个虚拟机相关联的快照以用于生成集群快照的设备600的示意性框图;以及
图7示出了适合用来实践本发明实施例的计算机***700的示意性框图。
在各个附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考附图中示出的若干示例性实施例来描述本发明的原理和精神。应当理解,给出这些实施例仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。
总体而言,根据本发明的实施例,一个虚拟机集群在给定的时刻(称为“快照时刻”)的快照包括两部分:集群中的每个个体虚拟机的快照,以及支持虚拟机之间通信的通信通道的快照。更特别地,通信通道的快照主要是指在快照时刻已经在通信通道上传输的那些消息,或称在途消息。
为此,本发明的实施例所基于的思路是:当集群中的每一个虚拟机在快照时刻创建各自的本地快照期间,对通过通信通道发出的消息加标记。为说明和描述之目的,向传出消息添加标记的这一过程可以示例性地称为“染色”。对消息进行染色是为了向目的地虚拟机指明该消息是在快照时刻之后才被发出的。由此,目的地虚拟机可以仅存储通道那些未经染色的传入消息作为通信通道快照的一部分,因为未经染色的消息在快照时刻就已经在通信通道上被传输。
首先参考图1,其示出了根据本发明一个示例性实施例的虚拟机集群100的示意性框图。在集群100中,存在n个管理器(hypervisor),即管理器1到管理器n。这些管理器是用于创建、运行和管理虚拟机的应用,并且运行在相应的物理机器(未示出)之上。每一个管理器可以配置用于创建、运行和管理一个或多个虚拟机。例如,如图1所示,管理器1负责管理虚拟机VM1-1,VM1-2到VM1-i,管理器n负责管理虚拟机VMn-1,VMn-2到VMn-j
特别地,在图1所示的虚拟机集群中,不同的虚拟机之间可以利用通信通道(未示出)彼此通信。虚拟机之间的通信通道例如可以是网络,例如因特网或内联网。备选地或附加地,通信通道也可以是进程间通信机制等。本发明的范围在此方面不受限制。注意,参考图1描述集群100仅仅是示例性的,图中示出的数目和配置仅仅是示例性的而非限制性的。上文参考图1描述的n、i、j均为自然数。
下面参考图2,其示出了根据本发明一个示例性实施例的用于生成与虚拟机集群(例如,图1中的集群100)中的一个虚拟机相关联的快照以用于生成集群快照的方法200的示意性流程图。根据本发明的实施例,方法200可以针对集群中的每一个虚拟机而被执行。例如,执行方法200的主体可以是与虚拟机相关联的称为“快照代理”(agent)的专门负责快照操作的应用或进程。这还将在下文详述。
方法200开始之后,在步骤S202,响应于快照指示而创建所述虚拟机的本地快照。如下文所述,根据本发明的实施例,集群中一个虚拟机管理器可以被选择为快照发起者或者协调者。该虚拟机管理器可以向集群中的所有虚拟机发出这里所说的“快照指示”。例如,快照指示中可以指定快照时刻,使得集群中的所有虚拟机生成该快照时刻处的快照。
响应于接收到这样的指示,集群中的每一个虚拟机创建本地快照。虚拟机的本地快照是对虚拟机的本地状态的记录,包括该虚拟机的数据、操作状态、上下文、存储器使用情况、处理器使用情况、磁盘使用情况、网络连接状态,等等。这些是本领域技术人员所知道的,在此不再赘述。
继续参考图2,接下来在步骤S204,响应于本地快照的创建的启动,使将要从该虚拟机发送给集群中其他虚拟机的每一个传出消息被添加染色标记,染色标记指示正在创建该虚拟机的本地快照。
步骤S204所执行的操作可被视为“染色”操作,即,向将要从该虚拟机发送给集群中其他虚拟机的消息添加标记(称为“染色标记)。该染色标记向其他虚拟机指明:消息的源虚拟机在发送该消息时正在创建本地快照。换言之,借助于染色标记,接收消息的目的地虚拟机可以知道:被染色的消息是在快照时刻之后才由源虚拟机发出的,不属于通信通道状态的一部分,因而无需被保存和记录。
根据某些实施例,在步骤S204处,可以利用传出消息的封包的未使用位来设置所述染色标记。如上文所述,虚拟机之间的通信通道可以是网络,例如基于TCP/IP协议或者UDP协议的网络。在这样的实施例中,消息封包中通常存在未被使用的位或者空闲位。这些位在网络协议中没有明确的固定,可以由用户定制以用来携带信息。因此,可以使用消息封包中的未使用位来设置染色标记。换言之,如果封包中的特定未使用位被设置为第一预定值,则指示该外发消息具有染色标记,因此是经过染色的消息。反之,如果该特定的未使用位被设置为与第一预定值不同的第二预定值,则指示该消息不具有染色标记,因此是未经染色的消息。
备选地,也可以向整个消息封包添加附加位,以用于设置这样的染色标记。更具体地,在这样的实施例中,可以将染色标记附于消息封包整体之上,从而通过再封装形成新的封包。上面描述的都仅仅是实现染色标记的示例性实施例,其他实施例也是可能的,本发明的范围在此方面不受限制。
接下来,方法进行到步骤S206,响应于从集群中的其他虚拟机接收到不具有染色标记的传入消息,存储与该传入消息的有关信息以作为通信通道的快照的组成部分。
更具体地说,在创建虚拟机本地快照的同时,可能会存在来自集群中其他虚拟机的消息通过通信通道被传入。如上文所述,虚拟机集群中的每一个虚拟机在快照时刻都将执行方法200。因此,在快照时刻之后才由集群中的其他虚拟机发出的消息将被染色,即,具有染色标记。由此,在目的地虚拟机一侧,可以检测从通信通道上接收的传入消息是否具有染色标记。如果检测到接收的传入消息不具有染色标记,则可以认为该消息在快照开始时刻之前就已经在通信通道上被传输,属于在途消息。由此,在步骤S206将会存储该消息作为通信通道的快照的部分。
方法200在步骤S206之后结束。
通过方法200,集群中的每一个虚拟机都可以对在快照时刻之后从该虚拟机发出的消息进行染色。由此,作为接收方的目的地虚拟机可以判断应当保存哪些消息以构成通信通道的快照。这样,通过执行方法200,每一个虚拟机不但创建了自己的本地快照,还创建了与其关联的通信通道的快照。通过组合所有个体虚拟机的本地快照以及他们所创建的通信通道快照,便可以生成整个虚拟机集群的快照(集群快照的生成方法这还将在下文结合图4详述)。
下面参考图3,其示出了根据本发明另一示例性实施例的用于生成与虚拟机集群中的一个虚拟机相关联的快照以用于生成集群快照的方法300的示意性流程图。与方法200相同,根据本发明的实施例,方法300可以针对集群中的每一个虚拟机而被执行,而且可由与虚拟机相关联的快照代理来执行。将会理解,方法300可以被认为是上文结合图2描述的方法200的一种具体化的特定实现。
方法300开始之后,在步骤S302,响应于快照指示而启动虚拟机的本地快照的创建。快照指示例如由集群中充当协调者的虚拟机发出,这还将在下文详述。另外,根据本发明的实施例,虚拟机本地快照的创建可以响应于快照指示而立刻启动。备选地,虚拟机本地快照的创建也可以在接收到快照指示之后的一段时间启动,只要例如不晚于接收到来自集群中其他虚拟机的第一个被染色(具有染色标记)的传入消息。这仅仅是示例性的,其他启动时机或触发条件也是可能的。
在方法300所示的实施例中,创建虚拟机的本地快照可以包含两个步骤,即,在步骤S304响应于虚拟机本地快照的创建被启动,暂停虚拟机的运行;以及在步骤S306,在后台存储与该虚拟机相关的数据和状态以作为本地快照的部分。
可以理解,步骤S302-S306对应于上文参考图2描述的步骤S202,即,创建虚拟机的本地快照。特别地,根据本发明的实施例,执行步骤S304以暂停虚拟机的操作并不是必须的,即,步骤S304是可选的。根据某些备选实施例,可以在虚拟机继续执行的情况下保存快照时刻的虚拟机状态从而创建本地快照。本发明的范围在此方面不受限制。
另外,在虚拟机被暂停的实施例中,虚拟机的操作可以在步骤S306执行期间或者之后恢复。例如,在某些实施例中,可以在标记需要存储的虚拟机本地状态之后或者在实际存储完成之后恢复虚拟机的正常运行。备选地或附加地,虚拟机也可以响应于其他条件而恢复运行,例如暂停达到预定时间、接收到来自集群的显式恢复指令,等等。本发明的范围在此方面不受限制。
方法300接下来执行步骤S308,在此使得所有将从虚拟机通过通信通道向集群中的其他虚拟机发出的外发消息被添加染色标记,即,被染色。外发消息所携带的染色标记将向目的地虚拟机指明:该消息是源虚拟机在快照时刻之后发出的。如上文所述,根据本发明的实施例,此类染色标记可以借助于消息封包内的未使用位来实现,也可以向消息封包添加专用的附加位。目前已知或者将来开发的任何消息染色机制均可与本发明的实施例结合使用。
继而在步骤S310,通过通信通道接收来自集群中其他虚拟机的传入消息。此时,由于虚拟机正处于暂停状态,因此在步骤S310接收的传入消息并不是直接被转发给虚拟机,而是例如由执行方法300的快照代理先行处理。
注意,尽管在图3中将步骤S308和S310显示在步骤S304和S306之后,但是这仅仅是为了说明清晰之目的。实际上,步骤S308和S310同样是响应于步骤S302中本地快照创建的启动而执行的。换言之,步骤S308和S310的操作与步骤S304和/或S306可以同时执行或者至少部分地存在重叠。
接下来,方法300进行到步骤S312,在此判断传入消息是否具有染色标记。如上所述,一个传入消息不具有染色标记说明该消息在快照时刻已经是在通信通道上被传输的在途消息,因而应该被保存在集群的快照中(更具体地说,保存在通信通道的快照中)。另一方面,如果传入消息具有染色标记,则说明该消息是源虚拟机在快照时刻之后才发出的,因此无需保存作为集群快照的一部分。
具体而言,如图3所示,如果在步骤S312处确定传入消息不具有染色标记(分支“否”),方法300进行到步骤S314,在此将不具有染色标记的消息存储在与当前虚拟机相关联的缓冲区中。方法300继而进行到步骤S318,这将在下文详述。
另一方面,如果在步骤S312处确定传入消息具有染色标记(分支“是”),方法300将对此类被染色的传入消息执行一系列相应的处理。一般地,根据本发明的实施方式,这类具有染色标记的消息的处理不应使通信通道的快照发生任何更新或者改变。具体而言,方法300沿步骤S312的分支“是”进行到步骤S316,在此移除消息中所携带的染色标记。方法300继而进行到步骤S318。
接下来在步骤S318,判断虚拟机是否已经恢复运行。如上所述,在步骤S304暂停虚拟机的运行是可选的。相应地,步骤S318也是可选的。换言之,在虚拟机操作未被暂停的情况下,方法300可以在步骤S314和S316之后跳过步骤S318而直接执行步骤S320。
具体而言,如果在步骤S318处确定虚拟机尚未恢复运行(分支“否”),方法300返回步骤S310以继续接收其他传入消息。另一方面,如果在步骤S318处确定虚拟机已经恢复操作(分支“是”),方法300进行到步骤S320,在此将虚拟机暂停期间接收到的、经过处理的传入消息转发给虚拟机。可以理解,在步骤S320处被转发给虚拟机的消息即包括已经在步骤S314被缓存在缓冲区中的所有不具有染色标记的传入消息,也包括原本具有染色标记、但是已在步骤S316被移除了染色标记的那些传入消息。
注意,在步骤S320将缓冲区中不带染色标记的消息转发给虚拟机并不表示将这些消息从缓冲区中删除。相反,这些消息仍然可以被保存在缓冲区中以便在后续步骤S324处理,这将在下文详述。
在步骤S320之后,方法300在步骤S322处判断与虚拟机相关联的预定状态是否得到满足。根据本发明的实施例,预定条件通常与虚拟机的状态有关。例如,在某些实施例中,预定条件可以包括在步骤S302处启动的虚拟机本地快照的创建已经完成。备选地,预定条件还可以包括从步骤S302处启动本地快照的时刻起算已经经过了一个预定的时段。例如,根据本发明的某些实施例,可以在这二者均得到满足时认为预定条件得到满足。换言之,可以以这两个条件中后满足的那个为准。注意,这些预定条件仅仅示例性的,其他预定条件同样在本发明的范围之内。
如果在步骤S322处确定预定条件没有被满足(分支“否”),方法300返回步骤S310继续接收来自其他虚拟机的传入消息。另一方面,如果在步骤S322处确定预定条件已得到满足(分支“是”),方法300进行到步骤S324,在此存储已经被缓存在缓冲区中的不带染色标记的所有消息的相关信息,以作为集群的通信通道快照的一部分。这里所说的消息的相关信息包括消息本身,也可以包括消息的源、目的地以及其他任何有关参数或信息。
在执行步骤S324之后,可以认为与虚拟机相关联的快照已经创建完成。所生成的快照总体上包括两部分:虚拟机的本地快照和通信通道快照。
可选地,方法300继而执行步骤S326,以便停止向传出消息添加染色标记。换言之,响应于预定条件满足,使得该虚拟机将要在通信通道上发送给集群中其他虚拟机的传出消息不再被添加染色标记(即,不再被染色)。这是因为此时虚拟机的快照已被生成。
注意,步骤S326是可选的,而且它与步骤S324可以按照不同顺序执行或者同时执行。方法300在步骤S326之后结束。
可以看到,在图3所示的实施例中,并非每次接收到未染色的传入消息就立刻将其保存以创建通信通道快照,而是在预定条件(例如,本地快照创建完成,或超时)之后统一保存在此期间接收到的不具有染色标记的传入消息。当然,这仅仅是示例性的,实际上在接收到每个不具有染色标记的传入消息之后就立刻存储为通信通道快照也是可行的。
上文已经参考图2和图3描述了虚拟机集群中的每一个虚拟机如何生成快照。下面参考图4,其示出了根据本发明一个示例性实施例的用于为整个虚拟机集群生成快照的方法400的示意性流程图。
方法400开始之后,在步骤S402,由集群中的多个虚拟机中被选为协调者的一个虚拟机(例如,记为“第一虚拟机”)向其他虚拟机发送快照指示。根据本发明的实施例,第一虚拟机可以是随机选出的。备选地,第一虚拟机的选择可以基于集群中各个虚拟机的操作状态、负载,等等。又如,第一虚拟机也可以是事先约定或者人工指定的。总之,作为协调者的第一虚拟机可以按照任何适当的方式来选择或指定,本发明的范围在此方面不受限制。
接下来,在步骤S404,集群中的所有虚拟机(包括作为协调者的第一虚拟机本身)响应于快照指示而生成与之相关联的快照。特别地,根据本发明的实施例,每一个虚拟机按照上文描述的方法(例如,方法200或者300)来生成相关联的快照。以此方式,所生成的快照包括虚拟机的本地快照,以及与该虚拟机相关联的通信通道的快照。
最后,在步骤S406,从集群中的所有虚拟机收集生成的该虚拟机的本地快照以及通信通道的快照。这些快照组合在一起,即生成了集群在给定快照时刻的快照。作为示例,根据本发明的某些实施例,每一个虚拟机可以在快照创建完成之后将结果提交给作为协调者的第一虚拟机,以便由第一虚拟机对各个虚拟机生成的快照(包括本地快照和通信通道快照)进行汇总和整合。备选地,每一个虚拟机也可以将各自生成的快照存储在可公共访问的存储位置,以便第一虚拟机从这里访问和获得快照。各种提交机制都是可能的,本发明的范围在此方面不受限制。
下面参考图5,其示出了根据本发明一个示例性实施例的用于将包括多个虚拟机的虚拟机集群恢复到给定的快照时刻的方法500的示意性流程图。注意,集群在所述快照时刻的快照是根据上文参考图4描述的方法400而生成的。
方法500开始之后,在步骤S502,由集群的多个虚拟机中被选为协调者的第一虚拟机向其他虚拟机发送恢复指示。根据本发明的实施例,第一虚拟机可以是随机选出的。备选地,第一虚拟机的选择可以基于集群中各个虚拟机的操作状态、负载,等等。又如,第一虚拟机也可以是事先约定或者人工指定的。总之,作为协调者的第一虚拟机可以按照任何适当的方式来选择或指定,本发明的范围在此方面不受限制。
特别地,在某些实施例中,在步骤S502处充当协调者的第一虚拟机与方法400中在步骤S402处充当协调者的第一虚拟机相同。当然,二者也可以不同。
接下来,方法500进行到步骤S504,响应于恢复指示,使集群中的每一个虚拟机(包括作为协调者的第一虚拟机本身)根据该虚拟机自己的本地快照恢复到快照时刻的状态。根据本地快照恢复虚拟机的运行状态是本领域技术人员已知的,在此不再赘述。
最后,在步骤S506,根据通信通道快照加载已存储的消息,使每一个所述消息被发送给目的地虚拟机。例如,这些消息可以被加载到虚拟机中负责消息收发的本地虚拟交换器,并且随即被发送至正确的目的地虚拟机。
根据本发明的某些实施例,每一个虚拟机可以在恢复操作完成之后将完成报告提交给作为协调者的第一虚拟机。第一虚拟机在接收到集群内所有虚拟机的恢复完成报告之后,确认集群的恢复操作完成。备选地,每一个虚拟机也可以将各自的恢复完成报告存储在可公共访问的存储位置,以便第一虚拟机从这里访问和获得恢复完成报告。各种提交机制都是可能的,本发明的范围在此方面不受限制。
现在参考图6,其示出了根据本发明一个示例性实施例的用于生成与虚拟机集群中的一个虚拟机相关联的快照以用于生成集群快照的设备600的示意性框图。该虚拟机通过通信通道与集群中的其他虚拟机通信。
如图所示,设备600包括:本地快照装置602,配置用于响应于快照指示而创建所述虚拟机的本地快照;消息染色装置604,配置用于响应于所述创建的启动而使将要从所述虚拟机发送给所述集群中的其他虚拟机的每个传出消息被添加染色标记,所述染色标记指示正在创建所述虚拟机的所述本地快照;以及通道快照装置,配置用于响应于从所述集群中的其他虚拟机接收到不具有所述染色标记的传入消息而存储所述传入消息的相关信息作为所述通信通道的快照的部分。
根据本发明的某些可选实施例,所述本地快照装置602可以包括:暂停装置,配置用于暂停所述虚拟机的运行;以及备份装置,配置用于在后台存储与所述虚拟机相关的数据和状态。根据本发明的某些可选实施例,设备600可以进一步包括:恢复装置,配置用于在备份装置执行期间或之后恢复所述虚拟机的运行。
根据本发明的某些可选实施例,消息染色装置604可以包括:第一染色装置,配置用于利用所述传出消息的封包的未使用位来设置所述染色标记;或者第二染色装置,配置用于向所述封包添加附加位以用于设置所述染色标记。
根据本发明的某些可选实施例,通道快照装置606可以包括:消息缓存装置,配置用于将所述传入消息缓存到缓冲区中;第一消息转发装置,配置用于将所述传入消息转发给所述虚拟机;以及消息存储装置,配置用于响应于确定与所述虚拟机相关的预定条件得到满足,存储所述传入消息的相关信息作为所述通信通道的快照的部分。
根据本发明的某些可选实施例,设备600可以进一步包括:经染色消息处理装置,配置用于响应于从所述集群中的其他虚拟机接收到具有所述染色标记的传入消息,处理具有所述染色标记的所述传入消息而不更新所述通信通道的快照。
根据本发明的某些可选实施例,经染色消息处理装置可以包括:消息解染色装置,配置用于从具有所述染色标记的所述传入消息移除所述染色标记;以及第二消息转发装置,配置用于将经过所述移除的所述传入消息转发给所述虚拟机。
根据本发明的某些可选实施例,设备600可以进一步包括:染色禁用装置,配置用于响应于与所述虚拟机相关联的预定条件得到满足,使将要从所述虚拟机发送给所述集群中的其他虚拟机的每一个传出消息不被添加染色标记。
根据本发明的某些可选实施例,所述预定条件包括以下之一:所述虚拟机的所述本地快照创建完成;以及从开始创建所述虚拟机的所述本地快照起算经过了预定时段。
为清晰起见,图6中没有示出可选的装置以及各个装置所包含的子装置。然而,应当理解,设备600中包含的各个装置分别对应于上文参考图2和图3描述的方法200和300的各个步骤。由此,上文参考图2和图3所描述的操作和特征同样适用于设备600及其中包含的装置,在此不再赘述。
另外,应当理解,设备600可以利用各种方式实现。例如,在某些实施例中,设备600可以利用软件和/或固件来实现。例如,设备600可以被实现为集群中的每一个虚拟机相关联的应用,例如称为虚拟机快照代理。备选地或附加地,设备600可以部分地或者完全地基于硬件来实现。现在已知或者将来开发的其他方式也是可行的,本发明的范围在此方面不受限制。
下面参考图7,其示出了适于用来实践本发明实施例的计算机***700的示意性框图。例如,计算机***700可以充当虚拟机驻留于其上的物理机器。
如图7所示,计算机***可以包括:CPU(中央处理单元)701、RAM(随机存取存储器)702、ROM(只读存储器)703、***总线704、硬盘控制器705、键盘控制器706、串行接口控制器707、并行接口控制器708、显示控制器709、硬盘710、键盘711、串行外部设备712、并行外部设备713和显示器714。在这些设备中,与***总线704耦合的有CPU 701、RAM 702、ROM 703、硬盘控制器705、键盘控制器706、串行控制器707、并行控制器708和显示控制器709。硬盘710与硬盘控制器705耦合,键盘711与键盘控制器706耦合,串行外部设备712与串行接口控制器707耦合,并行外部设备713与并行接口控制器708耦合,以及显示器714与显示控制器709耦合。应当理解,图7所述的结构框图仅仅为了示例的目的而示出的,而不是对本发明范围的限制。在某些情况下,可以根据具体情况而增加或者减少某些设备。
如上所述,设备600可以通过硬件实现,例如芯片、ASIC、SOC等。这些硬件可以集成在计算机***700中。此外,本发明的实施例也可以通过计算机程序产品的形式实现。例如,参考图2-图5描述的方法200-500可以通过计算机程序产品来实现。该计算机程序产品可以存储在例如图7所示的RAM 704、ROM 704、硬盘710和/或任何适当的存储介质中,或者通过网络从适当的位置下载到计算机***700上。计算机程序产品可以包括计算机代码部分,其包括可由适当的处理设备(例如,图7中示出的CPU 701)执行的程序指令。所述程序指令至少可以包括用于实现方法200-500中任何一个或多个的步骤的指令。
上文已经结合若干具体实施例阐释了本发明的精神和原理。根据本发明的实施例,提供了一种借助于消息染色机制来生成虚拟机集群快照的技术方案。以此方式生成虚拟机集群的快照时,不仅能够获得每一个虚拟机的本地快照,而且能够有效地记录快照时刻通信通道的状态。这样,与现有技术相比,本发明的实施方式能够以一种更为有效、可靠和灵活的方法来生成针对虚拟机集群的快照。
根据本发明的实施例,集群快照操作可以由每一个虚拟机的快照代理来执行。这样,集群快照具有良好的透明性,对于虚拟机上的应用和OS而言都是透明的。而且,该方案具有良好的扩展性和通用性,向后兼容已有虚拟机集群架构,例如基于TCP或UDP网络通信的集群。
应当注意,本发明的实施例可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行***,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
说明书中提及的通信网络可以包括各类网络,包括但不限于局域网(“LAN”),广域网(“WAN”),根据IP协议的网络(例如,因特网)以及端对端网络(例如,ad hoc对等网络)。
应当注意,尽管在上文详细描述中提及了设备的若干装置或子装置,但是这种划分仅仅并非强制性的。实际上,根据本发明的实施例,上文描述的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施例描述了本发明,但是应该理解,本发明并不限于所公开的具体实施例。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。所附权利要求的范围符合最宽泛的解释,从而包含所有这样的修改及等同结构和功能。

Claims (18)

1.一种生成与虚拟机集群中的一个虚拟机相关联的快照以用于生成所述集群的快照的方法,所述虚拟机通过通信通道与所述集群中的其他虚拟机通信,所述方法包括:
响应于快照指示,创建所述虚拟机的本地快照;
响应于所述创建的启动,使将要从所述虚拟机发送给所述集群中的其他虚拟机的每一个传出消息被添加染色标记,所述染色标记指示正在创建所述虚拟机的所述本地快照;以及
响应于从所述集群中的其他虚拟机接收到不具有所述染色标记的传入消息,存储所述传入消息的相关信息作为所述通信通道的快照的部分。
2.根据权利要求1所述的方法,其中创建所述虚拟机的本地快照包括:
暂停所述虚拟机的运行;
在后台存储与所述虚拟机相关的数据和状态;以及
在所述后台存储期间或之后恢复所述虚拟机的运行。
3.根据权利要求1所述的方法,其中向将要从所述虚拟机发送给所述集群中的其他虚拟机的每一个传出消息添加染色标记包括:
利用所述传出消息的封包的未使用位来设置所述染色标记;或者
向所述封包添加附加位以用于设置所述染色标记。
4.根据权利要求1所述的方法,其中响应于从所述集群中的其他虚拟机接收到不具有所述染色标记的传入消息存储所述传入消息的相关信息作为所述通信通道的快照的部分包括:
将所述传入消息缓存到缓冲区中;
将所述传入消息转发给所述虚拟机;以及
响应于确定与所述虚拟机相关的预定条件得到满足,存储所述传入消息的相关信息作为所述通信通道的快照的部分。
5.根据权利要求1所述的方法,进一步包括:
响应于从所述集群中的其他虚拟机接收到具有所述染色标记的传入消息,处理具有所述染色标记的所述传入消息而不更新所述通信通道的快照。
6.根据权利要求5所述的方法,其中处理具有所述染色标记的所述传入消息包括:
从具有所述染色标记的所述传入消息移除所述染色标记;以及
将经过所述移除的所述传入消息转发给所述虚拟机。
7.根据权利要求1所述的方法,进一步包括:
响应于与所述虚拟机相关联的预定条件得到满足,使将要从所述虚拟机发送给所述集群中的其他虚拟机的每一个传出消息不被添加染色标记。
8.根据权利要求4或7所述的方法,其中所述预定条件包括以下至少一个:
所述虚拟机的所述本地快照创建完成;以及
从开始创建所述虚拟机的所述本地快照起算经过了预定时段。
9.一种用于生成虚拟机集群的快照的方法,所述集群包括利用通信通道彼此通信的多个虚拟机,所述方法包括:
由所述多个虚拟机中被选为协调者的第一虚拟机向其他虚拟机发送快照指示;
响应于所述快照指示,根据权利要求1-8任一项所述的方法生成与所述多个虚拟机中的每一个虚拟机相关联的快照;以及
收集与所述多个虚拟机中的每一个虚拟机相关联的所述快照,以用于生成所述集群的快照。
10.一种将虚拟机集群恢复到给定的快照时刻的方法,所述集群包括多个虚拟机,并且所述集群在所述快照时刻的快照使用权利要求9所述的方法而生成,所述方法包括:
由所述多个虚拟机中被选为协调者的第一虚拟机向其他虚拟机发送恢复指示;
响应于所述恢复指示,使所述多个虚拟机的每一个虚拟机根据该虚拟机的本地快照恢复到所述快照时刻的状态;以及
根据所述通信通道的快照加载已存储的消息,使得每一个所述消息被发送给目的地虚拟机。
11.一种为虚拟机集群中的一个虚拟机生成快照的设备,所述虚拟机通过通信通道与所述集群中的其他虚拟机通信,所述设备包括:
本地快照装置,配置用于响应于快照指示而创建所述虚拟机的本地快照;
消息染色装置,配置用于响应于所述创建的启动而使将要从所述虚拟机发送给所述集群中的其他虚拟机的每一个传出消息被添加染色标记,所述染色标记指示正在创建所述虚拟机的所述本地快照;以及
通道快照装置,配置用于响应于从所述集群中的其他虚拟机接收到不具有所述染色标记的传入消息而存储所述传入消息的相关信息作为所述通信通道的快照的部分。
12.根据权利要求11所述的设备,其中所述本地快照装置包括:
暂停装置,配置用于暂停所述虚拟机的运行;
备份装置,配置用于在后台存储与所述虚拟机相关的数据和状态;以及
恢复装置,配置用于在所述备份装置的操作期间或之后恢复所述虚拟机的运行。
13.根据权利要求11所述的设备,其中所述消息染色装置包括:
第一染色装置,配置用于利用所述传出消息的封包的未使用位来设置所述染色标记;或者
第二染色装置,配置用于向所述封包添加附加位以用于设置所述染色标记。
14.根据权利要求11所述的设备,其中所述通道快照装置包括:
消息缓存装置,配置用于将所述传入消息缓存到缓冲区中;
第一消息转发装置,配置用于将所述传入消息转发给所述虚拟机;以及
消息存储装置,配置用于响应于确定与所述虚拟机相关的预定条件得到满足,存储所述传入消息的相关信息作为所述通信通道的快照的部分。
15.根据权利要求11所述的设备,进一步包括:
经染色消息处理装置,配置用于响应于从所述集群中的其他虚拟机接收到具有所述染色标记的传入消息,处理具有所述染色标记的所述传入消息而不更新所述通信通道的快照。
16.根据权利要求15所述的设备,其中所述经染色消息处理装置包括:
消息解染色装置,配置用于从具有所述染色标记的所述传入消息移除所述染色标记;以及
第二消息转发装置,配置用于将经过所述移除的所述传入消息转发给所述虚拟机。
17.根据权利要求11所述的设备,进一步包括:
染色禁用装置,配置用于响应于与所述虚拟机相关联的预定条件得到满足,使将要从所述虚拟机发送给所述集群中的其他虚拟机的每一个传出消息不被添加染色标记。
18.根据权利要求14或17所述的设备,其中所述预定条件包括以下至少一个:
所述虚拟机的所述本地快照创建完成;以及
从开始创建所述虚拟机的所述本地快照起算经过了预定时段。
CN201210103120.5A 2012-03-30 2012-03-30 用于虚拟机集群的快照和恢复的方法和设备 Active CN103365741B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210103120.5A CN103365741B (zh) 2012-03-30 2012-03-30 用于虚拟机集群的快照和恢复的方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210103120.5A CN103365741B (zh) 2012-03-30 2012-03-30 用于虚拟机集群的快照和恢复的方法和设备

Publications (2)

Publication Number Publication Date
CN103365741A true CN103365741A (zh) 2013-10-23
CN103365741B CN103365741B (zh) 2016-05-04

Family

ID=49367159

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210103120.5A Active CN103365741B (zh) 2012-03-30 2012-03-30 用于虚拟机集群的快照和恢复的方法和设备

Country Status (1)

Country Link
CN (1) CN103365741B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103729264A (zh) * 2013-12-23 2014-04-16 国云科技股份有限公司 一种Windows虚拟机***盘备份还原方法
CN105117346A (zh) * 2015-09-24 2015-12-02 上海爱数软件有限公司 虚拟化平台的分布式***自动化测试方法及***
CN107844420A (zh) * 2017-10-27 2018-03-27 南京国电南自电网自动化有限公司 一种基于虚拟机快照的二分法在线仿真和查错方法
CN108959547A (zh) * 2018-07-02 2018-12-07 山东汇贸电子口岸有限公司 一种pv快照分布式数据库集群恢复方法
CN109313565A (zh) * 2016-05-02 2019-02-05 诺基亚通信公司 虚拟网络环境中的快照创建
CN109753340A (zh) * 2017-11-08 2019-05-14 阿里巴巴集团控股有限公司 虚拟机快照处理方法、装置及***
CN109783272A (zh) * 2017-11-10 2019-05-21 阿里巴巴集团控股有限公司 磁盘快照处理方法、装置和设备
CN110972497A (zh) * 2018-11-02 2020-04-07 深信服科技股份有限公司 虚拟化平台的容灾方法及装置
CN111008095A (zh) * 2019-12-17 2020-04-14 山东超越数控电子股份有限公司 一种面向边缘云的状态快照生成和恢复方法
CN113791870A (zh) * 2021-09-24 2021-12-14 上海交通大学 一种WebAssembly虚拟机分布式***细粒度迁移方法及***
CN116150797A (zh) * 2023-04-21 2023-05-23 深圳市科力锐科技有限公司 数据保护方法、***、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101097526A (zh) * 2006-06-29 2008-01-02 联想(北京)有限公司 一种虚拟机***及硬件设备的访问控制方法
CN101243413A (zh) * 2005-06-24 2008-08-13 信科索尔特公司 用于对备份映像进行虚拟化的***和方法
US20110131289A1 (en) * 2009-12-01 2011-06-02 Kang Ho Kim Method and apparatus for switching communication channel in shared memory communication environment
US20110231696A1 (en) * 2010-03-17 2011-09-22 Vmware, Inc. Method and System for Cluster Resource Management in a Virtualized Computing Environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101243413A (zh) * 2005-06-24 2008-08-13 信科索尔特公司 用于对备份映像进行虚拟化的***和方法
CN101097526A (zh) * 2006-06-29 2008-01-02 联想(北京)有限公司 一种虚拟机***及硬件设备的访问控制方法
US20110131289A1 (en) * 2009-12-01 2011-06-02 Kang Ho Kim Method and apparatus for switching communication channel in shared memory communication environment
US20110231696A1 (en) * 2010-03-17 2011-09-22 Vmware, Inc. Method and System for Cluster Resource Management in a Virtualized Computing Environment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张旻佳: "《虚拟集群环境下多虚拟机协同检查点容错***》", 《万方学位论文》, 20 September 2011 (2011-09-20), pages 2 - 3 *

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103729264B (zh) * 2013-12-23 2016-07-13 国云科技股份有限公司 一种Windows虚拟机***盘备份还原方法
CN103729264A (zh) * 2013-12-23 2014-04-16 国云科技股份有限公司 一种Windows虚拟机***盘备份还原方法
CN105117346A (zh) * 2015-09-24 2015-12-02 上海爱数软件有限公司 虚拟化平台的分布式***自动化测试方法及***
CN109313565A (zh) * 2016-05-02 2019-02-05 诺基亚通信公司 虚拟网络环境中的快照创建
CN107844420A (zh) * 2017-10-27 2018-03-27 南京国电南自电网自动化有限公司 一种基于虚拟机快照的二分法在线仿真和查错方法
CN107844420B (zh) * 2017-10-27 2020-08-28 南京国电南自电网自动化有限公司 一种基于虚拟机快照的二分法在线仿真和查错方法
CN109753340A (zh) * 2017-11-08 2019-05-14 阿里巴巴集团控股有限公司 虚拟机快照处理方法、装置及***
CN109753340B (zh) * 2017-11-08 2021-07-13 阿里巴巴集团控股有限公司 虚拟机快照处理方法、装置及***
CN109783272A (zh) * 2017-11-10 2019-05-21 阿里巴巴集团控股有限公司 磁盘快照处理方法、装置和设备
CN109783272B (zh) * 2017-11-10 2023-01-24 阿里巴巴集团控股有限公司 磁盘快照处理方法、装置和设备
CN108959547B (zh) * 2018-07-02 2022-02-18 上海浪潮云计算服务有限公司 一种pv快照分布式数据库集群恢复方法
CN108959547A (zh) * 2018-07-02 2018-12-07 山东汇贸电子口岸有限公司 一种pv快照分布式数据库集群恢复方法
CN110972497A (zh) * 2018-11-02 2020-04-07 深信服科技股份有限公司 虚拟化平台的容灾方法及装置
CN111008095A (zh) * 2019-12-17 2020-04-14 山东超越数控电子股份有限公司 一种面向边缘云的状态快照生成和恢复方法
CN113791870A (zh) * 2021-09-24 2021-12-14 上海交通大学 一种WebAssembly虚拟机分布式***细粒度迁移方法及***
CN113791870B (zh) * 2021-09-24 2024-03-26 上海交通大学 一种WebAssembly虚拟机分布式***细粒度迁移方法及***
CN116150797A (zh) * 2023-04-21 2023-05-23 深圳市科力锐科技有限公司 数据保护方法、***、设备及存储介质
CN116150797B (zh) * 2023-04-21 2023-08-01 深圳市科力锐科技有限公司 数据保护方法、***、设备及存储介质

Also Published As

Publication number Publication date
CN103365741B (zh) 2016-05-04

Similar Documents

Publication Publication Date Title
CN103365741A (zh) 用于虚拟机集群的快照和恢复的方法和设备
CN104205109B (zh) 持续性和弹性的工作者进程
CN104170323B (zh) 基于网络功能虚拟化的故障处理方法及装置、***
CN102165431B (zh) 使用仿真对物理硬件的运行时替换的方法和***
CN100409191C (zh) 用于管理多节点smp***的方法和***
KR100959173B1 (ko) 컴포넌트 아키텍처
US20210158083A1 (en) Dynamic container grouping
US20130091334A1 (en) Method for data backup, device and system
CN102446119B (zh) 基于Passthrough I/O的虚拟机动态迁移方法
CN105187512A (zh) 一种虚拟机集群负载均衡方法及***
CN103778031A (zh) 一种云环境下的分布式***多级故障容错方法
CN103827832B (zh) 用于在事务中间件机器环境中持久化事务记录的***与方法
CN102355369A (zh) 虚拟化集群***及其处理方法和设备
CN104239120B (zh) 一种虚拟机的状态信息同步的方法、装置及***
CN105242872A (zh) 一种面向虚拟集群的共享存储***
CN105357042A (zh) 一种高可用集群***及其主节点和从节点
CN106385330A (zh) 一种网络功能虚拟化编排器的实现方法及装置
CN104793981B (zh) 一种虚拟机集群的在线快照管理方法及装置
CN105573825A (zh) 一种跨操作***的任务间同步的方法及装置
Porter et al. Type-safe updating for modular WSN software
CN109885612A (zh) 区块链智能合约的同步生效方法及装置
CN107743618A (zh) 用于数据中心环境检查点设置的技术
CN114565502A (zh) Gpu资源管理方法、调度方法、装置、电子设备及存储介质
Aumage Heterogeneous multi-cluster networking with the Madeleine III communication library
CN110908644B (zh) 状态节点的配置方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200408

Address after: Massachusetts, USA

Patentee after: EMC IP Holding Company LLC

Address before: Massachusetts, USA

Patentee before: EMC Corp.