CN102262558A - 虚拟机同步方法及系统 - Google Patents
虚拟机同步方法及系统 Download PDFInfo
- Publication number
- CN102262558A CN102262558A CN2011102224944A CN201110222494A CN102262558A CN 102262558 A CN102262558 A CN 102262558A CN 2011102224944 A CN2011102224944 A CN 2011102224944A CN 201110222494 A CN201110222494 A CN 201110222494A CN 102262558 A CN102262558 A CN 102262558A
- Authority
- CN
- China
- Prior art keywords
- main frame
- virtual machine
- synchronous
- standby host
- state
- 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.)
- Pending
Links
Images
Landscapes
- Hardware Redundancy (AREA)
Abstract
本发明公开了一种虚拟机同步方法及系统,该方法包括:确定主机中的进程停止运行;同步进程的状态和/或进程的内存页表到备机。通过本发明,当进程停止运行时进行同步,可以降低同步频率,减小系统开销,保证系统性能,同时,由于系统的可靠性隐患主要来自于进程的上下文切换时,而非进程运行过程中,因此,当进程停止运行时进行同步,并不会明显影响系统可靠性。因此,本发明可以实现系统性能和系统可靠性的有机统一。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种虚拟机同步方法及系统。
背景技术
目前,随着虚拟机的发展,人们把越来越多的业务运行在虚拟机上。通过利用虚拟机,人们可以实现业务的高可靠性,保证硬件失败业务不中断,从而大大降低研发成本。
图1是根据相关技术的虚拟机的示意图,如图1所示,主机上运行的虚拟机,在另一台主机上运行此虚拟机的镜像虚拟机,两台主机上都有复制引擎,引擎中的内存模块利用虚拟机迁移中内存复制拷贝机制,同步两个虚拟机CPU状态和内存状态。备机引擎中的心跳模块不断地向主机发“心跳”消息,如果主机连续3次没有响应,则备机接管业务。
相关技术中,同步两个虚拟机CPU状态和内存状态通常是以每秒四十次的频率进行。但是,由于每秒四十次同步造成的系统开销很大,从而将影响系统性能。
发明内容
针对相关技术中虚拟机CPU状态和内存状态的同步通常是以每秒四十次的频率进行从而造成系统开销很大的问题而提出本发明,为此,本发明的主要目的在于提供一种虚拟机同步方法及系统,以解决上述问题。
为了实现上述目的,根据本发明的一个方面,提供了一种虚拟机同步方法。
根据本发明的虚拟机同步方法包括:确定主机中的进程停止运行;同步进程的状态和/或进程的内存页表到备机。
优选地,在确定主机中的进程停止运行之前,上述方法还包括:选定进程;监控进程的运行状态。
优选地,选定进程包括:接收运行有进程的业务处理模块的注册;根据注册,选定进程。
优选地,选定进程包括:接收到用户对进程的选择;根据选择,选定进程。
优选地,同步进程的状态到备机包括:收集进程的状态;向主机中的内存模块发送进程的状态;主机中的内存模块同步进程的状态到备机中的内存模块。
优选地,同步进程的内存页表到备机包括:向主机中的内存模块发送进程的内存页表;主机中的内存模块同步进程的内存页表到备机中的内存模块。
为了实现上述目的,根据本发明的另一个方面,提供了一种虚拟机同步系统。
根据本发明的虚拟机同步系统包括主机、备机和代理线程,其中,代理线程包括:确定模块,用于确定主机中的进程停止运行;同步模块,用于同步进程的状态和/或进程的内存页表到备机。
优选地,代理线程还包括:选定模块,用于选定进程;监控模块,用于监控进程的运行状态。
优选地,选定模块包括:第一接收子模块,用于接收运行有进程的业务处理模块的注册;第一选定子模块,用于根据注册,选定进程。
优选地,选定模块包括:第二接收子模块,用于接收到用户对进程的选择;第二选定子模块,用于根据选择,选定进程。
通过本发明,当进程停止运行(即进行上下文切换)时进行同步,可以降低同步频率,减小系统开销,保证系统性能,同时,由于系统的可靠性隐患主要来自于进程的上下文切换时,而非进程运行过程中,因此,当进程停止运行(即进行上下文切换)时进行同步,并不会明显影响系统可靠性。因此,本发明可以实现系统性能和系统可靠性的有机统一。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据相关技术的虚拟机的示意图;
图2是根据本发明实施例的虚拟机的示意图;
图3是根据本发明实施例的虚拟机同步方法的流程图;
图4是根据本发明优选实施例一的业务进程注册选定的流程图;
图5是根据本发明优选实施例二的用户自主选定的流程图;
图6是本发明业务运行中进程同步的具体实施例
图7是根据本发明实施例的虚拟机同步系统的结构框图;
图8是根据本发明优选实施例的虚拟机同步系统的结构框图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
图2是根据本发明实施例的虚拟机的示意图,如图2所示,被保护虚拟机上有个代理进程,它对被保护进程A进行跟踪,当被保护进程A调出运行队列时,代理通知复制引擎,复制引擎中进程模块把被保护进程A的状态同步到备机中。内存模块把被保护进程A的内存页表同步到备机上。这样主机上的进程A和备机上进程A就同步了。备机复制引擎是向主机发“心跳”消息,主机会回应响应消息。当时备机向主机发3次心跳没有收到响应时,备份虚拟机中进程A就升为主,主动接受业务。
图3是根据本发明实施例的虚拟机同步方法的流程图,如图3所示,包括如下的步骤S302至步骤S304。
步骤S302,确定主机中的进程停止运行。
步骤S304,同步进程的状态和/或进程的内存页表到备机。
相关技术中,虚拟机CPU状态和内存状态的同步通常是以每秒四十次的频率进行,系统开销很大。本发明实施例中,当进程停止运行(即进行上下文切换)时进行同步,可以降低同步频率,减小系统开销,保证系统性能,同时,由于系统的可靠性隐患主要来自于进程的上下文切换时,而非进程运行过程中,因此,当进程停止运行(即进行上下文切换)时进行同步,并不会明显影响系统可靠性。因此,本发明可以实现系统性能和系统可靠性的有机统
优选地,在确定主机中的进程停止运行之前,上述方法还包括:选定进程;监控进程的运行状态。
优选地,选定进程包括:接收运行有进程的业务处理模块的注册;根据注册,选定进程。本优选实施例中,由业务进程通过注册方式选定业务进程进行保护,可以实现系统的高可靠性。
优选地,选定进程包括:接收到用户对进程的选择;根据选择,选定进程。本优选实施例中,由用户自主选定业务进程进行保护,可以实现系统的高可靠性和灵活性。
优选地,同步进程的状态到备机包括:收集进程的状态;向主机中的内存模块发送进程的状态;主机中的内存模块同步进程的状态到备机中的内存模块。
优选地,同步进程的内存页表到备机包括:向主机中的内存模块发送进程的内存页表;主机中的内存模块同步进程的内存页表到备机中的内存模块。
下面将结合实例对本发明实施例的实现过程进行详细描述。
优选实施例一
图4是根据本发明优选实施例一的业务进程注册选定的流程图,如图4所示,包括如下的步骤S402至步骤S406。
步骤S402,复制引擎在虚拟机中创建一个代理线程。
步骤S404,业务进程运行时向代理线程进行注册。
步骤S406,代理线程对被保护业务进程的运行状态和内存进行跟踪。
优选实施例二
图5是根据本发明优选实施例二的用户自主选定的流程图,如图5所示,包括如下的步骤S502至步骤S510。
步骤S502,复制引擎在虚拟机中创建一个代理线程。
步骤S504,代理线程收集虚拟机运行的进程发送给复制引擎。
步骤S506,复制引擎把进程发送给网管服务器。
步骤S508,网管服务器根据人工选择受保护进程,通过复制引擎把消息发送给代理进程。
步骤S510,代理线程对被保护进程的运行状态和内存进行跟踪。
优选实施例三
图6是根据本发明优选实施例三的虚拟机同步方法的流程图,如图6所示,包括如下的步骤S602至步骤S610。
步骤S602,被保护进程进行上下文切换时,代理线程把进程的脏页表发给复制引擎中内存模块。
步骤S604,代理线程收集运行的进程状态发送给主机复制引擎中内存模块。
步骤S606,主机复制引擎中内存模块调用虚拟管理器向备机中同步。
步骤S608,备机中复制引擎的内存模块把脏页表向进程A进行同步。
步骤S610,代理线程对被保护进程的运行信息同步到备份虚拟机中。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明实施例提供了一种虚拟机同步系统,该虚拟机同步系统可以用于实现上述虚拟机同步方法。图7是根据本发明实施例的虚拟机同步系统的结构框图,如图7所示,包括主机72、备机74和代理线程76,其中,代理线程76包括确定模块762和同步模块764。下面对其进行详细描述。
确定模块762,用于确定主机中的进程停止运行;同步模块764,连接至确定模块762,用于同步确定模块762确定停止运行的进程的状态和/或进程的内存页表到备机。
相关技术中,虚拟机CPU状态和内存状态的同步通常是以每秒四十次的频率进行,系统开销很大。本发明实施例中,当进程停止运行(即进行上下文切换)时进行同步,可以降低同步频率,减小系统开销,保证系统性能,同时,由于系统的可靠性隐患主要来自于进程的上下文切换时,而非进程运行过程中,因此,当进程停止运行(即进行上下文切换)时进行同步,并不会明显影响系统可靠性。因此,本发明可以实现系统性能和系统可靠性的有机统
图8是根据本发明优选实施例的虚拟机同步系统的结构框图,如图8所示,代理线程76还包括选定模块766和监控模块768。下面对其进行详细描述。
选定模块766,用于选定进程;监控模块768,连接至选定模块766,用于监控选定模块766选定的进程的运行状态。
优选地,选定模块766包括第一接收子模块7662和第一选定子模块7664。下面对其结构进行详细描述。
第一接收子模块7662,用于接收运行有进程的业务处理模块的注册;第一选定子模块7664,连接至第一接收子模块7662,用于根据第一接收子模块7662接收业务处理模块的注册,选定进程。
优选地,选定模块766包括第二接收子模块7666和第二选定子模块7668。下面对其结构进行详细描述。
第二接收子模块7666,用于接收到用户对进程的选择;第二选定子模块7668,连接至第二接收子模块7666,用于根据第二接收子模块7666接收的用户对进程的选择,选定进程。
需要说明的是,装置实施例中描述的虚拟机同步系统对应于上述的方法实施例,其具体的实现过程在方法实施例中已经进行过详细说明,在此不再赘述。
综上所述,根据本发明的上述实施例,提供了一种虚拟机同步方法及系统。通过本发明,当进程停止运行(即进行上下文切换)时进行同步,可以降低同步频率,减小系统开销,保证系统性能,同时,由于系统的可靠性隐患主要来自于进程的上下文切换时,而非进程运行过程中,因此,当进程停止运行(即进行上下文切换)时进行同步,并不会明显影响系统可靠性。因此,本发明可以实现系统性能和系统可靠性的有机统一。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种虚拟机同步方法,其特征在于,包括:
确定主机中的进程停止运行;
同步所述进程的状态和/或所述进程的内存页表到备机。
2.根据权利要求1所述的方法,其特征在于,在确定主机中的进程停止运行之前,所述方法还包括:
选定所述进程;
监控所述进程的运行状态。
3.根据权利要求2所述的方法,其特征在于,选定所述进程包括:
接收运行有所述进程的业务处理模块的注册;
根据所述注册,选定所述进程。
4.根据权利要求2所述的方法,其特征在于,选定所述进程包括:
接收到用户对所述进程的选择;
根据所述选择,选定所述进程。
5.根据权利要求1至4中任一项所述的方法,其特征在于,同步所述进程的状态到备机包括:
收集所述进程的状态;
向所述主机中的内存模块发送所述进程的状态;
所述主机中的内存模块同步所述进程的状态到所述备机中的内存模块。
6.根据权利要求1至4中任一项所述的方法,其特征在于,同步所述进程的内存页表到备机包括:
向所述主机中的内存模块发送所述进程的内存页表;
所述主机中的内存模块同步所述进程的内存页表到所述备机中的内存模块。
7.一种虚拟机同步系统,其特征在于,包括主机、备机和代理线程,其中,所述代理线程包括:
确定模块,用于确定所述主机中的进程停止运行;
同步模块,用于同步所述进程的状态和/或所述进程的内存页表到所述备机。
8.根据权利要求7所述的系统,其特征在于,所述代理线程还包括:
选定模块,用于选定所述进程;
监控模块,用于监控所述进程的运行状态。
9.根据权利要求8所述的系统,其特征在于,所述选定模块包括:
第一接收子模块,用于接收运行有所述进程的业务处理模块的注册;
第一选定子模块,用于根据所述注册,选定所述进程。
10.根据权利要求8所述的系统,其特征在于,所述选定模块包括:
第二接收子模块,用于接收到用户对所述进程的选择;
第二选定子模块,用于根据所述选择,选定所述进程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011102224944A CN102262558A (zh) | 2011-08-04 | 2011-08-04 | 虚拟机同步方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011102224944A CN102262558A (zh) | 2011-08-04 | 2011-08-04 | 虚拟机同步方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102262558A true CN102262558A (zh) | 2011-11-30 |
Family
ID=45009195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011102224944A Pending CN102262558A (zh) | 2011-08-04 | 2011-08-04 | 虚拟机同步方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102262558A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102681913A (zh) * | 2011-12-21 | 2012-09-19 | 中兴通讯股份有限公司 | 一种虚拟机到虚拟机热迁移的方法及装置 |
CN104391764A (zh) * | 2014-10-22 | 2015-03-04 | 上海海得控制系统股份有限公司 | 一种计算机容错方法及系统 |
CN105373418A (zh) * | 2015-11-25 | 2016-03-02 | 北京汉柏科技有限公司 | 虚拟机ft的实现方法及装置 |
CN107231417A (zh) * | 2017-05-31 | 2017-10-03 | 深圳市亚启科技有限公司 | 一种低速链路下网络节点间数据同步方法及系统 |
CN110071880A (zh) * | 2018-01-24 | 2019-07-30 | 北京金山云网络技术有限公司 | 报文转发方法、转发装置、服务器及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101136900A (zh) * | 2006-10-16 | 2008-03-05 | 中兴通讯股份有限公司 | 一种面向服务的快速透明故障转移装置及实现方法 |
US20090007106A1 (en) * | 2007-06-29 | 2009-01-01 | Microsoft Corporation | Virtual Machine Smart Migration |
US20110047548A1 (en) * | 2004-10-15 | 2011-02-24 | Microsoft Corporation | Systems and Methods for a Disaster Recovery System Utilizing Virtual Machines Running on at Least Two Host Computers in Physically Different Locations |
CN102081552A (zh) * | 2009-12-01 | 2011-06-01 | 华为技术有限公司 | 一种物理机到虚拟机的在线迁移方法、装置和系统 |
-
2011
- 2011-08-04 CN CN2011102224944A patent/CN102262558A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110047548A1 (en) * | 2004-10-15 | 2011-02-24 | Microsoft Corporation | Systems and Methods for a Disaster Recovery System Utilizing Virtual Machines Running on at Least Two Host Computers in Physically Different Locations |
CN101136900A (zh) * | 2006-10-16 | 2008-03-05 | 中兴通讯股份有限公司 | 一种面向服务的快速透明故障转移装置及实现方法 |
US20090007106A1 (en) * | 2007-06-29 | 2009-01-01 | Microsoft Corporation | Virtual Machine Smart Migration |
CN102081552A (zh) * | 2009-12-01 | 2011-06-01 | 华为技术有限公司 | 一种物理机到虚拟机的在线迁移方法、装置和系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102681913A (zh) * | 2011-12-21 | 2012-09-19 | 中兴通讯股份有限公司 | 一种虚拟机到虚拟机热迁移的方法及装置 |
CN104391764A (zh) * | 2014-10-22 | 2015-03-04 | 上海海得控制系统股份有限公司 | 一种计算机容错方法及系统 |
CN104391764B (zh) * | 2014-10-22 | 2018-02-16 | 上海海得控制系统股份有限公司 | 一种计算机容错方法及系统 |
CN105373418A (zh) * | 2015-11-25 | 2016-03-02 | 北京汉柏科技有限公司 | 虚拟机ft的实现方法及装置 |
CN107231417A (zh) * | 2017-05-31 | 2017-10-03 | 深圳市亚启科技有限公司 | 一种低速链路下网络节点间数据同步方法及系统 |
CN107231417B (zh) * | 2017-05-31 | 2020-05-26 | 深圳市亚启科技有限公司 | 一种低速链路下网络节点间数据同步方法及系统 |
CN110071880A (zh) * | 2018-01-24 | 2019-07-30 | 北京金山云网络技术有限公司 | 报文转发方法、转发装置、服务器及存储介质 |
CN110071880B (zh) * | 2018-01-24 | 2021-06-18 | 北京金山云网络技术有限公司 | 报文转发方法、转发装置、服务器及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Rajagopalan et al. | SecondSite: disaster tolerance as a service | |
US9971660B2 (en) | Virtual machine network loss detection and recovery for high availability | |
US20130238676A1 (en) | Method, system, token conreoller and memory database for implementing distribute-type main memory database system | |
US7523344B2 (en) | Method and apparatus for facilitating process migration | |
CN106528327B (zh) | 一种数据处理方法以及备份服务器 | |
CN103761166A (zh) | 一种虚拟化环境下针对网络服务的双机热备份容灾系统及其方法 | |
CN109151045B (zh) | 一种分布式云系统及监控方法 | |
CN106850260A (zh) | 一种虚拟化资源管理平台的部署方法和装置 | |
CN104503965A (zh) | PostgreSQL高弹性的高可用及负载均衡实现方法 | |
CN102890716B (zh) | 分布式文件系统和分布式文件系统的数据备份方法 | |
CN102262558A (zh) | 虚拟机同步方法及系统 | |
CN105138394A (zh) | 一种热迁移kvm虚拟机的方法及系统 | |
AU2004306913A1 (en) | Redundant routing capabilities for a network node cluster | |
CN103840961A (zh) | 双机热备份系统 | |
US20080307254A1 (en) | Information-processing equipment and system therefor | |
CN103631652B (zh) | 虚拟机迁移的实现方法及系统 | |
CN109324942B (zh) | 微服务的双活处理方法、装置及系统、设备、存储介质 | |
CN105426213A (zh) | 软件更新方法和系统 | |
JP3482992B2 (ja) | 冗長lanシステムおよび現用系・予備系切り替え方法 | |
CN111865632A (zh) | 分布式数据存储集群的切换方法及切换指令发送方法和装置 | |
CN104281631A (zh) | 分布式数据库系统及其数据同步方法和节点 | |
JP2009080705A (ja) | 仮想計算機システム及び同システムにおける仮想計算機復元方法 | |
US11036530B2 (en) | Application continuous high availability solution | |
Anderson et al. | Local recovery for high availability in strongly consistent cloud services | |
CN110851528B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20111130 |
|
RJ01 | Rejection of invention patent application after publication |