Nothing Special   »   [go: up one dir, main page]

CN107819708A - 基于虚拟机迁移的数据处理方法、系统及设备 - Google Patents

基于虚拟机迁移的数据处理方法、系统及设备 Download PDF

Info

Publication number
CN107819708A
CN107819708A CN201610818470.8A CN201610818470A CN107819708A CN 107819708 A CN107819708 A CN 107819708A CN 201610818470 A CN201610818470 A CN 201610818470A CN 107819708 A CN107819708 A CN 107819708A
Authority
CN
China
Prior art keywords
virtual machine
target
data message
source
machine
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
CN201610818470.8A
Other languages
English (en)
Other versions
CN107819708B (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.)
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba Group Holding Ltd
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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610818470.8A priority Critical patent/CN107819708B/zh
Publication of CN107819708A publication Critical patent/CN107819708A/zh
Application granted granted Critical
Publication of CN107819708B publication Critical patent/CN107819708B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/252Store and forward routing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请提供一种基于虚拟机迁移的数据处理方法、系统及设备,该方法包括:接收目的地址为源虚拟机的数据报文;根据转发路由,向目标虚拟机发送所述数据报文,所述目标虚拟机为所述源虚拟机迁移后的虚拟机。用于提高数据处理的可靠性。

Description

基于虚拟机迁移的数据处理方法、系统及设备
技术领域
本申请涉及通信技术领域,尤其涉及一种基于虚拟机迁移的数据处理方法、系统及设备。
背景技术
目前,在宿主机上可以部署多个虚拟机,当宿主机的负载过大或者宿主机出现故障时,可将宿主机上的虚拟机迁移至其他宿主机。
当需要对源宿主机中的源虚拟机进行迁移时,通过如下方式对源虚拟机进行迁移:先在目标宿主机上创建目标虚拟机,但此时目标宿主机上的目标虚拟机处于暂停状态;然后,源宿主机的源虚拟机开始和目标虚拟机同步内存,当源虚拟机的内存脏页小于预设阈值之后,将源虚拟机切换为暂停状态,并把所有的内存脏页和其它系统状态(如CPU寄存器,设备状态)同步到目的虚拟机。此时,源虚拟机和目标虚拟机都处于暂停状态,源虚拟机和目标虚拟机均不可访问。
在源虚拟机将所有数据同步至目标虚拟机之后,目标虚拟机需要向核心交换机发送通知消息,例如,目标虚拟机可以广播一个免费的地址解析协议(Address ResolutionProtocol,简称ARP)报文,使得核心交换机根据通知消息对虚拟机所在位置(例如目标虚拟机的端口号)进行更新。在核心交换机对虚拟机所在位置更新之后,目标虚拟机才可以切换为运行状态。
源虚拟机切换为暂停状态到目标虚拟机切换为运行状态的这段时间为downtime时段,在downtime时段内,源虚拟机和目标虚拟机均为暂停状态,源虚拟机和目标虚拟机均不可访问。在目标虚拟机向核心交换机发送通知消息的过程中,若任何中途交换机出现了阻塞丢包,则会导致核心交换机无法收到通知消息,导致目标虚拟机无法切换为运行状态;或者,在目标虚拟机向核心交换机发送通知消息的过程中,若任何中途交换机延迟过大、或者核心交换机负载过高无法及时对通知消息进行处理,则会导致downtime时段过长。
然而,在现有技术中,在downtime时段内发送至源虚拟机的数据报文将被丢弃,导致数据处理的可靠性较低。
发明内容
本申请提供一种基于虚拟机迁移的数据处理方法、系统及设备。用于提高数据处理的可靠性。
一方面,本申请提供基于虚拟机迁移的数据处理系统,包括虚拟机监控器和虚拟交换机,其中,
所述虚拟机监控器用于,将源虚拟机的状态切换为暂停状态,并向所述虚拟交换机发送暂停通知;
所述虚拟交换机用于,配置转发路由;
所述虚拟交换机还用于,在接收到所述暂停通知之后接收目的地址为所述源虚拟机的数据报文,并根据所述转发路由,向目标虚拟机发送所述数据报文;其中,所述目标虚拟机为所述源虚拟机迁移后的虚拟机。
在一种可能的实施方式中,所述虚拟交换机配置转发路由,包括:
所述虚拟交换机根据所述暂停通知,向所述虚拟机监控器请求获取所述目标虚拟机所在的目标宿主机的地址;
所述虚拟交换机根据所述源虚拟机的地址和所述目标宿主机的地址,配置所述转发路由。
在另一种可能的实施方式中,所述虚拟交换机根据所述转发路由,向目标虚拟机发送所述数据报文,包括:
所述虚拟交换机在所述转发路由中获取所述目标宿主机的地址;
所述虚拟交换机根据源宿主机和所述目标宿主机的地址,对所述数据报文进行封装,所述源宿主机为所述源虚拟机所在的宿主机;
所述虚拟交换机通过预设隧道向所述目标虚拟机发送封装后的数据报文。
在另一种可能的实施方式中,所述虚拟交换机根据源宿主机和所述目标宿主机的地址,对所述数据报文进行封装,包括:
所述虚拟交换机根据所述源宿主机和目标宿主机的互联网协议IP地址,确定IP头,所述IP头中的源地址为所述宿主机的IP地址、目的地址为所述目标宿主机的IP地址;
所述虚拟交换机根据所述IP头和隧道标识符对所述数据报文进行封装,得到所述封装后的数据报文。
在另一种可能的实施方式中,所述预设隧道为虚拟扩展局域网VXLAN隧道或多协议标签交换MPLS隧道。
在另一种可能的实施方式中,所述虚拟交换机根据所述转发路由,向目标虚拟机发送所述数据报文,包括:
所述虚拟交换机向所述目标虚拟机发送所述数据报文,以使所述目标虚拟机的状态切换为运行状态后,使所述目标宿主机中的目标虚拟交换机向所述目标虚拟机发送所述数据报文。
在另一种可能的实施方式中,所述虚拟交换机根据所述转发路由,向目标虚拟机发送所述数据报文,包括:
所述虚拟交换机获取所述目标虚拟机的状态;
所述虚拟交换机根据所述目标虚拟机的状态,向所述目标虚拟机发送所述数据报文。
在另一种可能的实施方式中,所述虚拟交换机根据所述目标虚拟机的状态,向所述目标虚拟机发送所述数据报文,包括:
若所述目标虚拟机的状态为运行状态,则所述虚拟交换机向所述目标虚拟机发送所述数据报文;
若所述目标虚拟机的状态为暂停状态,则所述虚拟交换机缓存所述数据报文,直到在确定所述目标虚拟机的状态切换为运行状态后,向所述目标虚拟机发送所述数据报文。
另一方面,本申请提供一种基于虚拟机迁移的数据处理方法,应用于虚拟交换机,所述方法包括:
接收目的地址为源虚拟机的数据报文;
根据转发路由,向目标虚拟机发送所述数据报文,所述目标虚拟机为所述源虚拟机迁移后的虚拟机。
在一种可能的实施方式中,述根据转发路由,向目标虚拟机发送所述数据报文,包括:
在所述转发路由中获取所述目标虚拟机所在的目标宿主机的地址;
根据源宿主机的地址和所述目标宿主机的地址,对所述数据报文进行封装,所述源宿主机为所述源虚拟机所在的宿主机;
通过预设隧道向所述目标虚拟机发送封装后的数据报文。
在另一种可能的实施方式中,所述根据源宿主机和所述目标宿主机的地址,对所述数据报文进行封装,包括:
根据所述源宿主机和目标宿主机的互联网协议IP地址,确定IP头,所述IP头中的源地址为所述宿主机的IP地址、目的地址为所述目标宿主机的IP地址;
根据所述IP头和隧道标识符对所述数据报文进行封装,得到所述封装后的数据报文。
在另一种可能的实施方式中,所述预设隧道为虚拟扩展局域网VXLAN隧道或多协议标签交换MPLS隧道。
另一方面,本申请提供一种基于虚拟机迁移的数据处理方法,应用于虚拟机监控器,所述方法包括:
将源虚拟机的状态切换为暂停状态;
向所述源虚拟机对应的源虚拟交换机发送源虚拟机暂停通知,以使源虚拟交换机在收到目的地址为所述源虚拟机的数据报文后,根据转发路由向所述目标虚拟机发送所述数据报文。
在一种可能的实施方式中,所述将源虚拟机的状态切换为暂停状态,包括:
向所述目标虚拟机发送所述源虚拟机中的数据信息,所述数据信息中包括内存数据;
获取所述源虚拟机中的内存脏页;
在确定所述内存脏页小于预设阈值时,将所述源虚拟机的状态切换为暂停状态。
在另一种可能的实施方式中,在向所述目标虚拟机发送所述源虚拟机中的数据信息之前,还包括:
向目标虚拟机对应的目标虚拟机监控器发送所述源虚拟机的配置信息,以使所述目标虚拟机监控器根据所述配置信息对所述目标虚拟机进行配置。
在另一种可能的实施方式中,将源虚拟机的状态切换为暂停状态之后,还包括:
向目标虚拟机发送剩余数据信息,所述剩余数据信息包括所述当前内存脏页和系统状态参数。
在另一种可能的实施方式中,所述系统状态参数包括:CPU状态和寄存器状态。
在另一种可能的实施方式中,所述数据信息为硬盘数据,相应的,向所述目标虚拟机发送所述源虚拟机中的数据信息,包括:
向目标虚拟机发送所述硬盘数据的共享地址,以使所述目标虚拟机根据所述共享地址获取所述硬盘数据。
在另一种可能的实施方式中,所述数据信息为内存数据,相应的,向所述目标虚拟机发送所述源虚拟机中的数据信息,包括:
向目标虚拟机发送所有内存数据;
逐次获取内存脏页,并向所述目标虚拟机发送所述内存脏页。
另一方面,本申请提供一种虚拟交换机,包括:
接收模块,用于接收目的地址为源虚拟机的数据报文;
发送模块,用于根据转发路由,向目标虚拟机发送所述数据报文,所述目标虚拟机为所述源虚拟机迁移后的虚拟机。
在一种可能的实施方式中,所述发送模块包括获取单元、封装单元及发送单元,其中,
所述获取单元用于,在所述转发路由中获取所述目标虚拟机所在的目标宿主机的地址;
所述封装单元用于,根据源宿主机的地址和所述目标宿主机的地址,对所述数据报文进行封装,所述源宿主机为所述源虚拟机所在的宿主机;
所述发送单元用于,通过预设隧道向所述目标虚拟机发送封装后的数据报文。
在另一种可能的实施方式中,所述封装单元具体用于:
根据所述源宿主机和目标宿主机的互联网协议IP地址,确定IP头,所述IP头中的源地址为所述宿主机的IP地址、目的地址为所述目标宿主机的IP地址;
根据所述IP头和隧道标识符对所述数据报文进行封装,得到所述封装后的数据报文。
在另一种可能的实施方式中,所述预设隧道为虚拟扩展局域网VXLAN隧道或多协议标签交换MPLS隧道。
另一方面,本申请提供一种虚拟机监控器,包括:
切换模块,将源虚拟机的状态切换为暂停状态;
发送模块,用于向所述源虚拟机对应的源虚拟交换机发送源虚拟机暂停通知,以使源虚拟交换机在收到目的地址为所述源虚拟机的数据报文后,根据转发路由向所述目标虚拟机发送所述数据报文。
在一种可能的实施方式中,所述发送模块还用于,向所述目标虚拟机发送所述源虚拟机中的数据信息,所述数据信息中包括内存数据;
相应的,所述切换模块具体用于:获取所述源虚拟机中的内存脏页,并在确定所述内存脏页小于预设阈值时,将所述源虚拟机的状态切换为暂停状态。
在另一种可能的实施方式中,述发送模块还用于,在所述发送模块向目标虚拟机发送源虚拟机中的数据信息之前,向目标虚拟机对应的目标虚拟机监控器发送所述源虚拟机的配置信息,以使所述目标虚拟机监控器根据所述配置信息对所述目标虚拟机进行配置。
在另一种可能的实施方式中,所述发送模块还用于,在所述切换模块将源虚拟机的状态切换为暂停状态之后,向目标虚拟机发送剩余数据信息,所述剩余数据信息包括所述当前内存脏页和系统状态参数。
在另一种可能的实施方式中,所述系统状态参数包括:CPU状态和寄存器状态。
在另一种可能的实施方式中,所述数据信息为硬盘数据,相应的,所述发送模块具体用于:
向目标虚拟机发送所述硬盘数据的共享地址,以使所述目标虚拟机根据所述共享地址获取所述硬盘数据。
在另一种可能的实施方式中,所述数据信息为内存数据,相应的,所述发送模块具体用于:
向目标虚拟机发送所有内存数据;
逐次获取内存脏页,并向所述目标虚拟机发送所述内存脏页。
另一方面,本申请提供一种虚拟交换机,包括接收器、发送器、以及处理器,其中,
所述接收器用于,接收目的地址为源虚拟机的数据报文;
所述发送器用于,在所述处理器确定所述源虚拟机的状态为暂停状态时,向目标虚拟机发送所述数据报文,所述目标虚拟机为所述源虚拟机迁移后的虚拟机。
在一种可能的实施方式中,所述处理器还用于,在所述转发路由中获取所述目标虚拟机所在的目标宿主机的地址,根据源宿主机的地址和所述目标宿主机的地址,对所述数据报文进行封装,所述源宿主机为所述源虚拟机所在的宿主机;
相应的,所述发送器具体用于,通过预设隧道向所述目标虚拟机发送封装后的数据报文。
在另一种可能的实施方式中,所述处理器具体用于:
根据所述源宿主机和目标宿主机的互联网协议IP地址,确定IP头,所述IP头中的源地址为所述宿主机的IP地址、目的地址为所述目标宿主机的IP地址;
根据所述IP头和隧道标识符对所述数据报文进行封装,得到所述封装后的数据报文。
在另一种可能的实施方式中,所述预设隧道为虚拟扩展局域网VXLAN隧道或多协议标签交换MPLS隧道。
另一方面,本申请提供一种虚拟机监控器,包括发送器以及处理器,其中,
所述处理器用于,将源虚拟机的状态切换为暂停状态;
所述发送器用于,向所述源虚拟机对应的源虚拟交换机发送源虚拟机暂停通知,以使源虚拟交换机在收到目的地址为所述源虚拟机的数据报文后,根据转发路由向所述目标虚拟机发送所述数据报文。
在一种可能的实施方式中,所述发送器还用于,向所述目标虚拟机发送所述源虚拟机中的数据信息,所述数据信息中包括内存数据;
相应的,所述处理器具体用于:获取所述源虚拟机中的内存脏页,并在确定所述内存脏页小于预设阈值时,将所述源虚拟机的状态切换为暂停状态。
在另一种可能的实施方式中,所述发送器还用于,在所述发送器向目标虚拟机发送源虚拟机中的数据信息之前,向目标虚拟机对应的目标虚拟机监控器发送所述源虚拟机的配置信息,以使所述目标虚拟机监控器根据所述配置信息对所述目标虚拟机进行配置。
在另一种可能的实施方式中,所述发送器还用于,在所述处理器将源虚拟机的状态切换为暂停状态之后,向目标虚拟机发送剩余数据信息,所述剩余数据信息包括所述当前内存脏页和系统状态参数。
在另一种可能的实施方式中,所述系统状态参数包括:CPU状态和寄存器状态。
在另一种可能的实施方式中,所述数据信息为硬盘数据,相应的,所述发送器具体用于:
向目标虚拟机发送所述硬盘数据的共享地址,以使所述目标虚拟机根据所述共享地址获取所述硬盘数据。
在另一种可能的实施方式中,所述数据信息为内存数据,相应的,所述发送器具体用于:
向目标虚拟机发送所有内存数据;
逐次获取内存脏页,并向所述目标虚拟机发送所述内存脏页。
在本申请中,在虚拟机迁移的过程中,在源虚拟机监控器将源虚拟机切换为暂停状态之后,向源虚拟交换机发送源虚拟机暂停通知,以使源虚拟交换机获取到目的地址为源虚拟机的数据报文之后,源虚拟交换机根据配置的转发路由向目标虚拟机发送所述数据报文,以使目标虚拟机对数据报文进行处理。避免了虚拟机迁移过程中向源虚拟机发送的数据报文被丢弃,进而提高了数据处理的可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的基于虚拟机迁移的数据处理方法的应用场景图;
图2为本发明提供的基于虚拟机迁移的数据处理方法的流程图一;
图3为本发明提供的基于虚拟机迁移的数据处理方法的流程图二;
图4为本发明提供的基于虚拟机迁移的数据处理方法的流程图三;
图5为本发明提供的数据报文转发方法的流程示意图;
图6为本发明提供的基于虚拟机迁移的数据处理方法的流程图四;
图7为本发明提供的虚拟交换机的结构示意图一;
图8为本发明提供的虚拟交换机的结构示意图二;
图9为本发明提供的虚拟机监控器的结构示意图;
图10为本发明提供的虚拟交换机的硬件结构示意图;
图11为本发明提供的虚拟机监控器的硬件结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1为本发明提供的基于虚拟机迁移的数据处理方法的应用场景示意图,请参见图1,包括源宿主机101、目标宿主机102和客户端103。在源宿主机101中设置有源虚拟机1011、源虚拟交换机1012及源虚拟机监控器1013。在目标宿主机102中设置有目标虚拟机1021、目标虚拟交换机1022及目标虚拟机监控器1023。
在本申请中,源虚拟交换机1012与源虚拟机监控器1013之间设置有多个预设接口,以使源虚拟机1012可以通过该预设接口与源虚拟机监控器1013进行通信。源虚拟机监控器1013可以对源虚拟机1011的状态进行控制,源虚拟机监控器1013可以将源虚拟机1011的状态切换为暂停状态或者运行状态。源虚拟交换机1012可以通过预设端口从源虚拟机监控器1013获取源虚拟机1011的状态,并根据源虚拟机1011的状态,对发送至源虚拟机1011的数据报文进行相应的处理。
在源虚拟机1011向目标虚拟机1021的迁移过程中,在源虚拟交换机1012确定源虚拟机的状态从运行状态切换为暂停状态之后,源虚拟交换机1012配置相应的转发路由,以使源虚拟交换机1012接收到发送至源虚拟机1011的数据报文时,可以根据配置的转发路由将该数据报文转发至目标虚拟机1021,以使目标虚拟机1021对数据报文进行处理。避免了虚拟机迁移过程中向源虚拟机发送的数据报文被丢弃,进而提高了数据处理的可靠性。
在本申请中,虚拟交换机为运行在虚拟机所在宿主机上的基于软件实现的交换机模块,虚拟交换机用于进行数据转发。虚拟机监控器为部署在宿主机中的软件系统,虚拟机监控器用于对宿主机中的虚拟机进行监控管理,虚拟机监控器还用于与其它宿主机中的虚拟机监控器进行通信,以实现虚拟机进行迁移。
需要说明的是,在每一台宿主机中还可以设置有其它一台或多台虚拟机。每台宿主机中虚拟交换机可以为通过软件和/或硬件实现的交换机模块,用于为不同虚拟机提供数据转发功能。每台宿主机中的虚拟机监控器用于在宿主机上创建一台或多台虚拟机,并对宿主机上的虚拟机进行管理,例如对虚拟机的配置信息、状态信息等进行管理。
还需要说明的是,本发明实施例中的源宿主机和目标宿主机的实质相同,均可以为电脑、服务器等设备,为了便于描述,将虚拟机迁移前所处的宿主机称为源宿主机,将虚拟机迁移后所述的宿主机称为目标宿主机。同理,为了便于描述,将设置在源宿主机中的虚拟机称为源交换机,将设置在源宿主机中的虚拟交换机称为源虚拟交换机,将设置在源宿主机中的虚拟机监控器称为源虚拟机监控器;将设置在目标宿主机中的虚拟机称为目标交换机,将设置在目标宿主机中的虚拟交换机称为目标虚拟交换机,将设置在目标宿主机中的虚拟机监控器称为目标虚拟机监控器。
下面,通过具体实施例对本申请所示的技术方案进行详细说明,且下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图2为本发明提供的基于虚拟机迁移的数据处理方法的流程图一,请参见图2,该方法可以包括:
S201、开始虚拟机热迁移。
S202、源虚拟机监控器向目标虚拟机发送源虚拟机中的内存数据。
S203、源虚拟机监控器判断内存脏页是否小于预设阈值。
若是,则执行S204。
若否,则执行S202。
S204、源虚拟机监控器向目标虚拟机发送剩余数据信息,剩余数据信息包括当前内存脏页和系统状态参数。
S205、源虚拟机监控器将源虚拟机的状态切换为暂停状态。
S206、源虚拟机监控器向源虚拟交换机发送源虚拟机暂停通知。
S207、源虚拟交换机配置转发路由;其中,转发路由的起始地址为源虚拟机的地址、终止地址为目标宿主机的地址。
S208、源虚拟交换机接收目的地址为源虚拟机的数据报文。
S209、源虚拟交换机根据转发路由,向目标虚拟机发送数据报文。
S210、源虚拟交换机确定目标虚拟机的状态为运行状态后,结束报文转发。
在图2所示的实施例中,S201-S206为虚拟机迁移的过程,在S201-S206中,由源虚拟机监控器控制将源虚拟机中的数据信息(包括内存数据等)迁移至目标虚拟机。S207-S210为在downtime时段内,源虚拟交换机对发送至源虚拟机的数据报文的处理过程。下面,对图2所示的实施例进行详细说明。
当需要对源宿主机中的源虚拟机进行迁移时,先确定源虚拟机需要迁移至的目标宿主机。在确定得到目标宿主机之后,建立源虚拟机监控器和目标虚拟机监控器之间的连接,源虚拟机监控器获取源虚拟机的配置信息,可选的,该配置信息可以包括CPU配置、显卡配置、网络配置等,并将源虚拟机的配置信息发送至目标虚拟机监控器,目标虚拟机监控器根据源虚拟机的配置信息在目标宿主机上创建目标虚拟机,以使目标虚拟机和源虚拟机的配置相同。
在目标虚拟机监控器在目标宿主机创建目标虚拟机之后,目标虚拟机监控器向源虚拟机监控器发送创建完成提示信息。在源虚拟机监控器接收到创建完成提示信息之后,源虚拟机监控器开始控制向目标虚拟机同步数据信息,该数据信息可以包括硬盘数据、内存数据、以及系统状态参数。可选的,可以由源虚拟机监控器向目标虚拟机监控器发送源虚拟机中的数据信息,目标虚拟机监控器再将接收到的数据信息同步至目标虚拟机。
在源虚拟机监控器控制向目标虚拟机同步内存数据时,源虚拟机监控器可以向目标虚拟机发送所有内存数据,然后逐次获取内存脏页(发生变化的内存页),并向目标虚拟机发送内存脏页。可选的,可以先向目标虚拟机送所有的内存页,在向目标虚拟机发送所有内存页的过程中,源虚拟机的内存数据可能发生变化,在向目标虚拟机发送完成所有内存页之后,获取发生变化的内存脏页,并向目标虚拟机发送内存脏页;在向目标虚拟机发送内存脏页的过程中,源虚拟机中还可能出现新的内存脏页,则在向目标虚拟机发送完成内存脏页之后,继续获取新的内存脏页,依次类推,直到源虚拟机监控器确定源虚拟机中的当前内存脏页小于预设阈值时,将源虚拟机的状态切换为暂停状态。可选的,可以根据实际需要设置该预设阈值,例如,该预设阈值可以为10页、8页等。
在源虚拟机监控器将源虚拟机的状态切换为暂停状态之后,源虚拟机监控器通过预设接口,向源虚拟交换机发送暂停通知。
源虚拟交换机配置转发路由。可选的,源虚拟交换机可以预先配置转发路由,也可以在接收到暂停通知之后再配置转发路由,可选的,源虚拟交换机可以向虚拟机监控器请求获取目标虚拟机所在的目标宿主机的地址,并根据源虚拟机的地址和目标宿主机的地址,配置转发路由,该转发路由的起始地址为源虚拟机的地址、终止地址为目标宿主机的地址。
在源虚拟交换机配置完转发路由之后,当源虚拟交换机接收到目的地址为源虚拟机的数据报文之后,源虚拟交换机根据转发路由,向目标虚拟机发送数据报文。可选的,源虚拟交换机可以通过如下两种可行的实现方式根据转发路由,向目标虚拟机发送数据报文。
一种可行的实现方式:
源虚拟交换机获取目标虚拟机的状态,并根据目标虚拟机的状态,向目标虚拟机发送数据报文。
在该种可行的实现方式中,在源虚拟交换机接收到目的地址为源虚拟机的数据报文之后,源虚拟交换机先对数据报文进行缓存,并获取目标虚拟机的状态,并根据目标虚拟机的状态向目标虚拟机发送数据报文。
若目标虚拟机的状态为运行状态,则源虚拟交换机向目标虚拟机发送其缓存的数据报文。
若目标虚拟机的状态为暂停状态,则继续缓存数据报文,直到在确定目标虚拟机的状态切换为运行状态后,再向目标虚拟机发送其缓存的数据报文。
在上述过程中,由源虚拟交换机对数据报文进行缓存,当目标虚拟机的状态为运行状态时,源虚拟机才向目标虚拟机发送其缓存的数据报文,使得目标虚拟机一定能够接收到数据报文,并对数据报文进行处理,进而提高了对数据进行处理的可靠性。
另一种可行的实现方式:
源虚拟交换机向目标虚拟交换机发送接收到的数据报文,以使目标虚拟机的状态切换为运行状态后,使目标虚拟交换机向目标虚拟机发送该数据报文。
在该种可行的实现方式中,在源虚拟交换机接收到目的地址为源虚拟机的数据报文之后,源虚拟交换机直接向目标虚拟交换机发送该数据报文,由目标虚拟交换机先对数据报文进行缓存,并在目标虚拟机的状态切换为运行状态之后,由使目标虚拟交换机向目标虚拟机发送其缓存的数据报文。
在上述过程中,由目标虚拟交换机对数据报文进行缓存,当目标虚拟机的状态切换为运行状态后,目标虚拟交换机可以快速将其缓存的数据报文发送至目标虚拟机,由目标虚拟机对数据报文进行处理,这样,可以提高目标虚拟机对数据报文进行处理的效率。
在源虚拟交换机向目标虚拟机发送数据报文时,可选的,源虚拟交换机可以通过预设隧道向目标虚拟机发送数据报文。可选的,虚拟交换机在转发路由中获取目标宿主机的IP地址,根据源宿主机的IP地址和目标宿主机的IP地址,确定IP头,IP头中的源地址为宿主机的IP地址、目的地址为目标宿主机的IP地址,根据IP头和隧道标识符对数据报文进行封装,得到封装后的数据报文,并通过预设隧道向目标虚拟机发送封装后的数据报文。可选的,该预设隧道可以为虚拟扩展局域网(Virtual Extensible local area network,简称VXLAN)隧道,或者多协议标签交换(Multi-Protocol Label Switching,简称MPLS)隧道。
在上述对数据报文进行封装的过程中,通过在数据报文中增加IP头,可以保证该封装后的数据报文可以从源宿主机发送至目标虚拟机。通过在数据报文中增加预设隧道标识符,可以保证该目标宿主机中的目标虚拟交换机可以根据该预设隧道标识符对封装后的数据报文进行相应的解析以获取封装前的数据报文。可选的,在实际应用过程中,在对数据报文进行封装的过程中,还可以将数据报文封装在UDP报文中。
源虚拟交换机重复执行上述过程,直至源虚拟交换机确定目标虚拟机的状态为运行状态后,结束报文转发。
在本申请中,在虚拟机迁移的过程中,在源虚拟交换机获取到目的地址为源虚拟机的数据报文之后,源虚拟交换机根据转发路由向目标虚拟机发送所述数据报文。避免了虚拟机迁移过程中向源虚拟机发送的数据报文被丢弃,进而提高了数据处理的可靠性。
下面,以源虚拟交换机、源虚拟机监控器、目标虚拟交换机的交互过程为例,对上述实施例所示的方法进行详细说明,具体的,请参见图3所示实施例。
图3为本发明提供的基于虚拟机迁移的数据处理方法的流程图二,请参见图3,该方法可以包括:
S301、源虚拟机监控器向目标虚拟机监控器发送源虚拟机中的数据信息;
S302、目标虚拟机监控器将数据信息同步至目标虚拟机;
S303、在源虚拟机监控器确定源虚拟机中的当前内存脏页小于预设阈值时,将源虚拟机的状态切换为暂停状态;
S304、源虚拟机监控器向源虚拟机对应的源虚拟交换机发送源虚拟机暂停通知;
S305、源虚拟交换机接收目的地址为源虚拟机的数据报文;
S306、源虚拟交换机根据源宿主机和目标宿主机的地址IP地址,确定IP头;
S307、源虚拟交换机根据IP头和隧道标识符对数据报文进行封装;
S308、源虚拟交换机向目标虚拟交换机发送封装后的数据报文;
S309、目标虚拟交换机对封装后的数据报文进行解封装,得到数据报文;
S310、目标虚拟交换机判断目标虚拟机的状态是否为运行状态;
若是,则执行S311;
若否,则执行S312;
S311、向目标虚拟机发送数据报文;
S312、则缓存数据报文,直至目标虚拟机的状态切换为运行状态时,向目标虚拟机发送数据报文
S313、目标虚拟机对数据报文进行处理。
在图3所示的实施例中,在进行虚拟机迁移时,在目标虚拟机监控器在目标宿主机中创建目标虚拟机之后,源虚拟机监控器向目标虚拟机监控器发送源虚拟机中的数据信息,由目标虚拟机监控器将数据信息同步至目标虚拟机。
在源虚拟机监控器向目标虚拟机监控器发送数据信息的过程中,在源虚拟机监控器确定源虚拟机中的当前内存脏页小于预设阈值时,将源虚拟机的状态切换为暂停状态,并向源虚拟机对应的源虚拟交换机发送源虚拟机暂停通知。
在源虚拟交换机接收到源虚拟机暂停通知之后,若源虚拟交换机接收到目的地址为源虚拟机的数据报文后,源虚拟交换机根据源宿主机和目标宿主机的地址IP地址,确定IP头,并根据IP头和隧道标识符对数据报文进行封装,得到封装后的数据报文,并向目标虚拟交换机发送封装后的数据报文。
在目标虚拟交换机接收到封装后的数据报文之后,对封装后的数据报文进行解封装,得到数据报文,目标虚拟机数据报文进行缓存,直至在确定目标虚拟机为运行状态时,向目标虚拟机发送数据报文,以使目标虚拟机对数据报文进行处理。避免了虚拟机迁移过程中向源虚拟机发送的数据报文被丢弃,进而提高了数据处理的可靠性。
下面,以源虚拟交换机为执行主体,通过图4所示实施例,对基于虚拟机迁移的数据处理方法进行详细说明。
图4为本发明提供的基于虚拟机迁移的数据处理方法的流程图三,请参见图4,该方法可以包括:
S401、接收目的地址为源虚拟机的数据报文。
S402、根据转发路由,向目标虚拟机发送数据报文,目标虚拟机为源虚拟机迁移后的虚拟机。
该方法的执行主体可以为源虚拟交换机,该源虚拟交换机可以设置在源虚拟机所在的源宿主机中,该源虚拟交换机可以通过软件和/或硬件实现,源虚拟交换机可以为源宿主机中的虚拟机提供数据转发功能。
在本发明实施例中,源虚拟机和目标虚拟机为具备相同功能的、位于不同宿主机中的虚拟机,源虚拟机和目标虚拟机具有相同的互联网协议(Internet ProtocolAddress,简称IP)地址和媒体访问控制(Medium Access Control,简称MAC)地址相同。可选的,源虚拟机和目标虚拟机还可以具备相同的配置信息,该配置信息包括中央处理器(Central Processing Unit,简称CPU)配置、内存配置、网卡配置、显卡配置等。在实际应用过程中,在同一时刻,源虚拟机和目标虚拟机中只有一个虚拟机处理运行状态,由于源虚拟机和目标虚拟机具备相同的IP地址和MAC地址,因此,对于其他设备来说,源虚拟机和目标虚拟机为同一虚拟机,在本发明实施例中,为了便于描述,将迁移前的虚拟机称为源虚拟机,将迁移后的虚拟机称为目标虚拟机。
在对虚拟机进行迁移的过程中,需要将源虚拟机中的数据信息迁移至目标虚拟机。在数据迁移的过程中,源虚拟机的状态为运行状态,目标虚拟机的状态为暂停状态。在完成数据迁移之后,源虚拟机的状态则切换为暂停状态,此时,目标虚拟机可以启动运行,但是,核心交换机需要对网络状态进行更新之后,目标虚拟机才可以接收数据报文,并对数据报文进行处理,因此,在数据迁移完成之后,核心交换机对网络状态更新之前(dowmtime时段),目标虚拟机的状态为暂停状态。在核心交换机对网络状态更新之后(dowmtime时段后),目标虚拟机可以接收数据报文,并对数据报文进行处理,此时,目标虚拟机的状态为运行状态。具体的,源虚拟机和目标虚拟机的状态可以如表1所示:
表1
时段 源虚拟机的状态 目标虚拟机的状态
数据迁移的过程中 运行 暂停
dowmtime时段 暂停 暂停
dowmtime时段之后 暂停 运行
可选的,可以由源宿主机中的源虚拟机监控器控制源虚拟机中的数据进行迁移,相应的,也可以由源虚拟机监控器对源虚拟机的状态进行控制,具体的:在源虚拟机监控器对源虚拟机中的数据迁移完之后,源虚拟机监控器可以将源虚拟机的状态切换为暂停状态。
在源虚拟机监控器将源虚拟机的状态切换为暂停状态之后,向源虚拟机对应的源虚拟交换机发送源虚拟机暂停通知,以使源虚拟交换机接收到目的地址为源虚拟机的数据报文之后,源虚拟交换机根据转发路由,向目标虚拟机发送数据报文,该转发路由的起始地址为源虚拟机的地址、终止地址为目标宿主机的地址。
在本申请中,在虚拟机迁移的过程中,在源虚拟交换机获取到目的地址为源虚拟机的数据报文之后,源虚拟交换机根据转发路由向目标虚拟机发送所述数据报文。避免了虚拟机迁移过程中向源虚拟机发送的数据报文被丢弃,进而提高了数据处理的可靠性。
图5为本发明提供的数据报文转发方法的流程示意图,请参见图5,该方法可以包括:
S501、在转发路由中获取所述目标虚拟机所在的目标宿主机的地址。
S502、根据源宿主机和目标宿主机的地址,对数据报文进行封装,源宿主机为源虚拟机所在的宿主机。
S503、通过预设隧道向目标虚拟机发送封装后的数据报文。
在图5所示的实施例中,当源虚拟交换机需要向目标宿主机发送数据报文时,源虚拟交换机可以先根据源宿主机和目标宿主机的地址,对数据报文进行封装,并通过预设隧道向目标宿主机发送封装后的数据报文。可选的,该预设隧道可以为VXLAN隧道、MPLS。可选的,源虚拟交换机可以根据源宿主机和目标宿主机的IP地址,确定IP头,根据IP头和预设隧道标识符对数据报文进行封装,其中,该IP头中的源地址为宿主机的地址、目的地址为目标宿主机的地址。
在上述对数据报文进行封装的过程中,通过在数据报文中增加IP头,可以保证该封装后的数据报文可以从源宿主机发送至目标虚拟机。通过在数据报文中增加预设隧道标识符,可以保证该目标宿主机中的目标虚拟交换机可以根据该预设隧道标识符对封装后的数据报文进行相应的解析以获取封装前的数据报文。可选的,在实际应用过程中,在对数据报文进行封装的过程中,还可以将数据报文封装在UDP报文中。
下面,以预设隧道为VxLAN隧道为例,通过具体示例,对图5实施例所示的方法进行详细说明。
示例性的,假设源虚拟机和目标虚拟机的IP地址均为192.168.1.1,源宿主机的IP地址为10.1.1.1,目标宿主机的IP地址为10.1.1.2,向虚拟机(源虚拟机或目标虚拟机)发送数据报文的客户端的IP地址为192.168.1.100。
在虚拟机迁移的过程中,在源虚拟机被切换为暂停状态之后,源虚拟交换机向虚拟机监控器请求获取所述目标虚拟机所在的目标宿主机的地址,并根据源虚拟机的地址和目标宿主机的地址,配置如下转发路由:
192.168.1.1—>10.1.1.2;
当客户端向虚拟机发送数据报文时,假设数据报文如表2所示:
表2:
在表2所示的数据报文中,IP头中的数据表示该数据报文的发送端(客户端)的IP地址为192.168.1.100,接收端(源虚拟机)的IP地址为192.168.1.1。Payload表示数据报文中的有效载荷,该有效载荷中可以包括数据报文中的具体数据。
源虚拟交换机根据源宿主机和目标宿主机的IP地址,得到用于外层封装的IP头,该IP头中的源地址为源宿主机的IP地址(10.1.1.1)、目的地址为目标宿主机的IP地址(10.1.1.2)。可选的,源虚拟交换机对数据报文进行封装后的数据报文可以如表3所示:
表3
在源虚拟交换机对数据报文进行封装得到表3所示的封装后的数据报文之后,源虚拟交换机通过VxLAN隧道向目标虚拟机发送数据报文,具体的,该封装后的数据报文会先发送至目标虚拟交换机,由目标虚拟交换机对该封装后的数据报文进行解析,得到表2所示的封装前的数据报文,并向目标虚拟机发送封装前的数据报文。
需要说明的是,在实际应用过程中,源虚拟交换机还可以通过其它方式向目标虚拟机发送数据报文,例如,源虚拟交换机可以通过有线网络、无线网络、openflow消息等方式向目标虚拟机发送数据报文,本发明对源虚拟交换机向目标虚拟机发送数据报文的方式不作具体限定。
下面,以源虚拟机监控器为执行主体,通过图6所示实施例,对基于虚拟机迁移的数据处理方法进行详细说明。
图6为本发明提供的基于虚拟机迁移的数据处理方法的流程图四,请参见图6,该方法可以包括:
S601、将源虚拟机的状态切换为暂停状态;
S602、向源虚拟机对应的源虚拟交换机发送源虚拟机暂停通知,以使源虚拟交换机在收到目的地址为源虚拟机的数据报文后,根据转发路由向目标虚拟机发送数据报文。
该方法的执行主体可以为源虚拟机监控器,源虚拟机监控器设置在源宿主机中,源虚拟机监控器用于在源宿主机上创建一台或多台虚拟机,并对源宿主机上的虚拟机进行管理,例如对源宿主机中的虚拟机的配置信息、状态信息等进行管理。
当需要对源宿主机中的源虚拟机进行迁移时,先确定目标宿主机,并通过目标宿主机中的目标虚拟机监控器在目标宿主机中创建目标虚拟机。可选的,源虚拟机中的源虚拟机监控器和目标虚拟机监控器可以进行通信,以使目标虚拟机监控器根据源虚拟机的配置信息,创建目标虚拟机,使得目标虚拟机的配置信息和源虚拟机的配置信息相同。可选的,该配置信息可以包括CPU配置、显卡配置、网络配置等。
在目标虚拟机监控器创建完成目标虚拟机之后,源虚拟机监控器可以开始控制源虚拟机向目标虚拟机发送源虚拟机中的数据信息。可选的,可以由源虚拟机监控器向目标虚拟机监控器发送源虚拟机中的数据信息,目标虚拟机监控器再将接收到的数据信息同步至目标虚拟机。可选的,该数据信息包括硬盘数据、内存数据、以及系统状态参数。
在向目标虚拟机发送内存数据时,可以向目标虚拟机发送所有内存数据,然后逐次获取内存脏页(发生变化的内存页),并向目标虚拟机发送内存脏页。可选的,可以先向目标虚拟机送所有的内存页,在向目标虚拟机发送所有内存页的过程中,源虚拟机的内存数据可能发生变化,在向目标虚拟机发送完成所有内存页之后,获取发生变化的内存脏页,并向目标虚拟机发送内存脏页;在向目标虚拟机发送内存脏页的过程中,源虚拟机中还可能出现新的内存脏页,则在向目标虚拟机发送完成内存脏页之后,继续获取新的内存脏页,依次类推,直到源虚拟机监控器确定源虚拟机中的当前内存脏页小于预设阈值时,将源虚拟机的状态切换为暂停状态。可选的,可以根据实际需要设置该预设阈值,例如,该预设阈值可以为10页、8页等。
在源虚拟机监控器将源虚拟机的状态切换为暂停状态之后,源虚拟机监控器向源虚拟机对应的源虚拟交换机发送源虚拟机暂停通知,以使源虚拟交换机在收到目的地址为源虚拟机的数据报文后,向目标虚拟机发送数据报文。这样,可以避免在源虚拟机为暂停状态时,源虚拟机交换机将目的地址为源虚拟机的数据报文丢弃。
在本申请中,在源虚拟机监控器控制源虚拟机向目标虚拟机进行数据迁移的过程中,当确定源虚拟机中的当前内存脏页小于预设阈值时,将源虚拟机的状态切换为暂停状态,并向源虚拟机对应的源虚拟交换机发送源虚拟机暂停通知,以使源虚拟交换机在收到目的地址为源虚拟机的数据报文后,向目标虚拟机发送数据报文。避免了在源虚拟机为暂停状态时,源虚拟机交换机将目的地址为源虚拟机的数据报文丢弃,进而提高数据处理的可靠性。
在图6所示实施例的基础上,可选的,在向目标虚拟机发送硬盘数据时,可以向目标虚拟机发送硬盘数据的共享地址,以使目标虚拟机可以根据该共享地址获取硬盘数据。可选的,在将源虚拟机的状态切换为暂停状态之后,源虚拟机监控器可以向目标虚拟机发送剩余数据信息,剩余数据信息包括当前内存脏页和系统状态参数。可选的,该系统状态参数包括虚拟机的CPU状态、寄存器状态等。
在图6所示实施例的基础上,在完成数据迁移(将源虚拟机中的数据同步至目标虚拟机)之后,源虚拟机的状态切换为暂停状态。在完成数据迁移之后,目标虚拟机需要向核心交换机发送通知消息,通知核心交换机源虚拟机所处的宿主机发生变化,以使核心交换机对源虚拟机和宿主机的对应关系进行更新,在核心交换机对该对应关系进行更新之后,目标虚拟机才能正常运行,在该时段内(downtime时段),源虚拟机和目标虚拟机均处于暂停状态。可选的,该通知消息可以为地址解析协议(Address Resolution Protocol,简称ARP)报文,相应的,核心交换机可以根据该ARP报文对交换机CAM表进行更新。在downtime时段内,由于核心交换机还未对源虚拟机和宿主机的对应关系进行更新,因此,在downtime时段内发送至该虚拟机的数据报文依然会发送至源虚拟机。在核心交换机对源虚拟机和宿主机的对应关系进行更新之后,发送至该虚拟机的数据报文则会发送至目标虚拟机,由目标虚拟机对数据报文进行处理。
图7为本发明提供的虚拟交换机的结构示意图一,请参见图7,该虚拟交换机可以包括:
接收模块11,用于接收目的地址为源虚拟机的数据报文;
发送模块12,用于根据转发路由,向目标虚拟机发送所述数据报文,所述目标虚拟机为所述源虚拟机迁移后的虚拟机。
本发明实施例所示的虚拟交换机可执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
图8为本发明提供的虚拟交换机的结构示意图二,在图7所示实施例的基础上,请参见图8,所述发送模块12包括获取单元121、封装单元122及发送单元123,其中,
所述获取单元121用于,在所述转发路由中获取所述目标虚拟机所在的目标宿主机的地址;
所述封装单元122用于,根据源宿主机的地址和所述目标宿主机的地址,对所述数据报文进行封装,所述源宿主机为所述源虚拟机所在的宿主机;
所述发送单元123用于,通过预设隧道向所述目标虚拟机发送封装后的数据报文。
在一种可能的实施方式中,所述封装单元122具体用于:
根据所述源宿主机和目标宿主机的互联网协议IP地址,确定IP头,所述IP头中的源地址为所述宿主机的IP地址、目的地址为所述目标宿主机的IP地址;
根据所述IP头和隧道标识符对所述数据报文进行封装,得到所述封装后的数据报文。
在另一种可能的实施方式中,所述预设隧道为VXLAN隧道或MPLS隧道。
本发明实施例所示的虚拟交换机可执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
图9为本发明提供的虚拟机监控器的结构示意图,请参见图9,该虚拟机监控器可以包括:
切换模块21,将源虚拟机的状态切换为暂停状态;
发送模块22,用于向所述源虚拟机对应的源虚拟交换机发送源虚拟机暂停通知,以使源虚拟交换机在收到目的地址为所述源虚拟机的数据报文后,根据转发路由向所述目标虚拟机发送所述数据报文。
本发明实施例所示的虚拟机监控器可执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
在一种可能的实施方式中,所述发送模块22还用于,向所述目标虚拟机发送所述源虚拟机中的数据信息,所述数据信息中包括内存数据;
相应的,所述切换模块21具体用于:获取所述源虚拟机中的内存脏页,并在确定所述内存脏页小于预设阈值时,将所述源虚拟机的状态切换为暂停状态。
在另一种可能的实施方式中,所述发送模块22还用于,在所述发送模块22向目标虚拟机发送源虚拟机中的数据信息之前,向目标虚拟机对应的目标虚拟机监控器发送所述源虚拟机的配置信息,以使所述目标虚拟机监控器根据所述配置信息对所述目标虚拟机进行配置。
在另一种可能的实施方式中,所述发送模块22还用于,在所述切换模块21将源虚拟机的状态切换为暂停状态之后,向目标虚拟机发送剩余数据信息,所述剩余数据信息包括所述当前内存脏页和系统状态参数。
在另一种可能的实施方式中,所述系统状态参数包括:CPU状态和寄存器状态。
在另一种可能的实施方式中,所述数据信息为硬盘数据,相应的,所述发送模块22具体用于:
向目标虚拟机发送所述硬盘数据的共享地址,以使所述目标虚拟机根据所述共享地址获取所述硬盘数据。
在另一种可能的实施方式中,所述数据信息为内存数据,相应的,所述发送模块22具体用于:
向目标虚拟机发送所有内存数据;
逐次获取内存脏页,并向所述目标虚拟机发送所述内存脏页。
本发明实施例所示的虚拟机监控器可执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
图10为本发明提供的虚拟交换机的硬件结构示意图,请参见图10,该虚拟交换机包括接收器31、发送器32、处理器33、存储器34及通信总线35。其中,存储器34用于存储应用程序;处理器33可以读取存储器34中的应用程序,并执行该应用程序;通信总线35用于实现各器件之间的连接,其中,
所述接收器31用于,接收目的地址为源虚拟机的数据报文;
所述发送器32用于,在所述处理器33确定所述源虚拟机的状态为暂停状态时,向目标虚拟机发送所述数据报文,所述目标虚拟机为所述源虚拟机迁移后的虚拟机。
本发明实施例所示的虚拟交换机可执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
在一种可能的实施方式中,所述处理器33还用于,在所述转发路由中获取所述目标虚拟机所在的目标宿主机的地址,根据源宿主机的地址和所述目标宿主机的地址,对所述数据报文进行封装,所述源宿主机为所述源虚拟机所在的宿主机;
相应的,所述发送器32具体用于,通过预设隧道向所述目标虚拟机发送封装后的数据报文。
在另一种可能的实施方式中,所述处理器33具体用于:
根据所述源宿主机和目标宿主机的互联网协议IP地址,确定IP头,所述IP头中的源地址为所述宿主机的IP地址、目的地址为所述目标宿主机的IP地址;
根据所述IP头和隧道标识符对所述数据报文进行封装,得到所述封装后的数据报文。
在另一种可能的实施方式中,所述预设隧道为虚拟扩展局域网VXLAN隧道或多协议标签交换MPLS隧道。
本发明实施例所示的虚拟交换机可执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
图11为本发明提供的虚拟机监控器的硬件结构示意图,请参见图11,包括发送器41、处理器42、存储器43及通信总线44。其中,存储器43用于存储应用程序;处理器42可以读取存储器43中的应用程序,并执行该应用程序;通信总线44用于实现各器件之间的连接,其中,
所述处理器42用于,将源虚拟机的状态切换为暂停状态;
所述发送器41用于,向所述源虚拟机对应的源虚拟交换机发送源虚拟机暂停通知,以使源虚拟交换机在收到目的地址为所述源虚拟机的数据报文后,根据转发路由向所述目标虚拟机发送所述数据报文。
本发明实施例所示的虚拟机监控器可执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
在另一种可能的实施方式中,所述发送器41还用于,向所述目标虚拟机发送所述源虚拟机中的数据信息,所述数据信息中包括内存数据;
相应的,所述处理器42具体用于:获取所述源虚拟机中的内存脏页,并在确定所述内存脏页小于预设阈值时,将所述源虚拟机的状态切换为暂停状态。
在另一种可能的实施方式中,所述发送器41还用于,在所述发送器41向目标虚拟机发送源虚拟机中的数据信息之前,向目标虚拟机对应的目标虚拟机监控器发送所述源虚拟机的配置信息,以使所述目标虚拟机监控器根据所述配置信息对所述目标虚拟机进行配置。
在另一种可能的实施方式中,所述发送器41还用于,在所述处理器42将源虚拟机的状态切换为暂停状态之后,向目标虚拟机发送剩余数据信息,所述剩余数据信息包括所述当前内存脏页和系统状态参数。
在另一种可能的实施方式中,所述系统状态参数包括:CPU状态和寄存器状态。
在另一种可能的实施方式中,所述数据信息为硬盘数据,相应的,所述发送器41具体用于:
向目标虚拟机发送所述硬盘数据的共享地址,以使所述目标虚拟机根据所述共享地址获取所述硬盘数据。
在另一种可能的实施方式中,所述数据信息为内存数据,相应的,所述发送器41具体用于:
向目标虚拟机发送所有内存数据;
逐次获取内存脏页,并向所述目标虚拟机发送所述内存脏页。
本发明实施例所示的虚拟机监控器可执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (33)

1.一种基于虚拟机迁移的数据处理系统,其特征在于,包括虚拟机监控器和虚拟交换机,其中,
所述虚拟机监控器用于,将源虚拟机的状态切换为暂停状态,并向所述虚拟交换机发送暂停通知;
所述虚拟交换机用于,配置转发路由;
所述虚拟交换机还用于,在接收到所述暂停通知之后,接收目的地址为所述源虚拟机的数据报文,并根据所述转发路由,向目标虚拟机发送所述数据报文;其中,所述目标虚拟机为所述源虚拟机迁移后的虚拟机。
2.根据权利要求1所述的系统,其特征在于,所述虚拟交换机配置转发路由,包括:
所述虚拟交换机根据所述暂停通知,向所述虚拟机监控器请求获取所述目标虚拟机所在的目标宿主机的地址;
所述虚拟交换机根据所述源虚拟机的地址和所述目标宿主机的地址,配置所述转发路由。
3.根据权利要求2所述的系统,其特征在于,所述虚拟交换机根据所述转发路由,向目标虚拟机发送所述数据报文,包括:
所述虚拟交换机在所述转发路由中获取所述目标宿主机的地址;
所述虚拟交换机根据源宿主机和所述目标宿主机的地址,对所述数据报文进行封装,所述源宿主机为所述源虚拟机所在的宿主机;
所述虚拟交换机通过预设隧道向所述目标虚拟机发送封装后的数据报文。
4.根据权利要求3所述的系统,其特征在于,所述虚拟交换机根据源宿主机和所述目标宿主机的地址,对所述数据报文进行封装,包括:
所述虚拟交换机根据所述源宿主机和目标宿主机的互联网协议IP地址,确定IP头,所述IP头中的源地址为所述宿主机的IP地址、目的地址为所述目标宿主机的IP地址;
所述虚拟交换机根据所述IP头和隧道标识符对所述数据报文进行封装,得到所述封装后的数据报文。
5.根据权利要求3或4所述的系统,其特征在于,所述预设隧道为虚拟扩展局域网VXLAN隧道或多协议标签交换MPLS隧道。
6.根据权利要求1-4任一项所述的系统,其特征在于,所述虚拟交换机根据所述转发路由,向目标虚拟机发送所述数据报文,包括:
所述虚拟交换机向所述目标虚拟机发送所述数据报文,以使所述目标虚拟机的状态切换为运行状态后,使所述目标宿主机中的目标虚拟交换机向所述目标虚拟机发送所述数据报文。
7.根据权利要求1-4任一项所述的系统,其特征在于,所述虚拟交换机根据所述转发路由,向目标虚拟机发送所述数据报文,包括:
所述虚拟交换机获取所述目标虚拟机的状态;
所述虚拟交换机根据所述目标虚拟机的状态,向所述目标虚拟机发送所述数据报文。
8.根据权利要求7所述的系统,其特征在于,所述虚拟交换机根据所述目标虚拟机的状态,向所述目标虚拟机发送所述数据报文,包括:
若所述目标虚拟机的状态为运行状态,则所述虚拟交换机向所述目标虚拟机发送所述数据报文;
若所述目标虚拟机的状态为暂停状态,则所述虚拟交换机缓存所述数据报文,直到在确定所述目标虚拟机的状态切换为运行状态后,向所述目标虚拟机发送所述数据报文。
9.一种基于虚拟机迁移的数据处理方法,其特征在于,应用于虚拟交换机,所述方法包括:
接收目的地址为源虚拟机的数据报文;
根据转发路由,向目标虚拟机发送所述数据报文,所述目标虚拟机为所述源虚拟机迁移后的虚拟机。
10.根据权利要求9所述的方法,其特征在于,所述根据转发路由,向目标虚拟机发送所述数据报文,包括:
在所述转发路由中获取所述目标虚拟机所在的目标宿主机的地址;
根据源宿主机的地址和所述目标宿主机的地址,对所述数据报文进行封装,所述源宿主机为所述源虚拟机所在的宿主机;
通过预设隧道向所述目标虚拟机发送封装后的数据报文。
11.根据权利要求10所述的方法,其特征在于,所述根据源宿主机和所述目标宿主机的地址,对所述数据报文进行封装,包括:
根据所述源宿主机和目标宿主机的互联网协议IP地址,确定IP头,所述IP头中的源地址为所述宿主机的IP地址、目的地址为所述目标宿主机的IP地址;
根据所述IP头和隧道标识符对所述数据报文进行封装,得到所述封装后的数据报文。
12.根据权利要求9-11任一项所述的方法,其特征在于,所述预设隧道为虚拟扩展局域网VXLAN隧道或多协议标签交换MPLS隧道。
13.一种基于虚拟机迁移的数据处理方法,其特征在于,应用于虚拟机监控器,所述方法包括:
将源虚拟机的状态切换为暂停状态;
向所述源虚拟机对应的源虚拟交换机发送源虚拟机暂停通知,以使源虚拟交换机在收到目的地址为所述源虚拟机的数据报文后,根据转发路由向所述目标虚拟机发送所述数据报文。
14.根据权利要求13所述的方法,其特征在于,所述将源虚拟机的状态切换为暂停状态,包括:
向所述目标虚拟机发送所述源虚拟机中的数据信息,所述数据信息中包括内存数据;
获取所述源虚拟机中的内存脏页;
在确定所述内存脏页小于预设阈值时,将所述源虚拟机的状态切换为暂停状态。
15.根据权利要求14所述的方法,其特征在于,在向所述目标虚拟机发送所述源虚拟机中的数据信息之前,还包括:
向目标虚拟机对应的目标虚拟机监控器发送所述源虚拟机的配置信息,以使所述目标虚拟机监控器根据所述配置信息对所述目标虚拟机进行配置。
16.根据权利要求13-15任一项所述的方法,其特征在于,将源虚拟机的状态切换为暂停状态之后,还包括:
向目标虚拟机发送剩余数据信息,所述剩余数据信息包括所述当前内存脏页和系统状态参数。
17.根据权利要求16所述的方法,其特征在于,所述系统状态参数包括:CPU状态和寄存器状态。
18.根据权利要求14或15所述的方法,其特征在于,所述数据信息为硬盘数据,相应的,向所述目标虚拟机发送所述源虚拟机中的数据信息,包括:
向目标虚拟机发送所述硬盘数据的共享地址,以使所述目标虚拟机根据所述共享地址获取所述硬盘数据。
19.根据权利要求14或15所述的方法,其特征在于,所述数据信息为内存数据,相应的,向所述目标虚拟机发送所述源虚拟机中的数据信息,包括:
向目标虚拟机发送所有内存数据;
逐次获取内存脏页,并向所述目标虚拟机发送所述内存脏页。
20.一种虚拟交换机,其特征在于,包括:
接收模块,用于接收目的地址为源虚拟机的数据报文;
发送模块,用于根据转发路由,向目标虚拟机发送所述数据报文,所述目标虚拟机为所述源虚拟机迁移后的虚拟机。
21.根据权利要求20所述的虚拟交换机,其特征在于,所述发送模块包括获取单元、封装单元及发送单元,其中,
所述获取单元用于,在所述转发路由中获取所述目标虚拟机所在的目标宿主机的地址;
所述封装单元用于,根据源宿主机的地址和所述目标宿主机的地址,对所述数据报文进行封装,所述源宿主机为所述源虚拟机所在的宿主机;
所述发送单元用于,通过预设隧道向所述目标虚拟机发送封装后的数据报文。
22.根据权利要求21所述的虚拟交换机,其特征在于,所述封装单元具体用于:
根据所述源宿主机和目标宿主机的互联网协议IP地址,确定IP头,所述IP头中的源地址为所述宿主机的IP地址、目的地址为所述目标宿主机的IP地址;
根据所述IP头和隧道标识符对所述数据报文进行封装,得到所述封装后的数据报文。
23.一种虚拟机监控器,其特征在于,包括:
切换模块,将源虚拟机的状态切换为暂停状态;
发送模块,用于向所述源虚拟机对应的源虚拟交换机发送源虚拟机暂停通知,以使源虚拟交换机在收到目的地址为所述源虚拟机的数据报文后,根据转发路由向所述目标虚拟机发送所述数据报文。
24.根据权利要求23所述的虚拟机监控器,其特征在于,
所述发送模块还用于,向所述目标虚拟机发送所述源虚拟机中的数据信息,所述数据信息中包括内存数据;
相应的,所述切换模块具体用于:获取所述源虚拟机中的内存脏页,并在确定所述内存脏页小于预设阈值时,将所述源虚拟机的状态切换为暂停状态。
25.根据权利要求24所述的虚拟机监控器,其特征在于,所述发送模块还用于,在所述发送模块向目标虚拟机发送源虚拟机中的数据信息之前,向目标虚拟机对应的目标虚拟机监控器发送所述源虚拟机的配置信息,以使所述目标虚拟机监控器根据所述配置信息对所述目标虚拟机进行配置。
26.根据权利要求23-25任一项所述的虚拟机监控器,其特征在于,
所述发送模块还用于,在所述切换模块将源虚拟机的状态切换为暂停状态之后,向目标虚拟机发送剩余数据信息,所述剩余数据信息包括所述当前内存脏页和系统状态参数。
27.一种虚拟交换机,其特征在于,包括接收器、发送器、以及处理器,其中,
所述接收器用于,接收目的地址为源虚拟机的数据报文;
所述发送器用于,在所述处理器确定所述源虚拟机的状态为暂停状态时,向目标虚拟机发送所述数据报文,所述目标虚拟机为所述源虚拟机迁移后的虚拟机。
28.根据权利要求27所述的虚拟交换机,其特征在于,
所述处理器还用于,在所述转发路由中获取所述目标虚拟机所在的目标宿主机的地址,根据源宿主机的地址和所述目标宿主机的地址,对所述数据报文进行封装,所述源宿主机为所述源虚拟机所在的宿主机;
相应的,所述发送器具体用于,通过预设隧道向所述目标虚拟机发送封装后的数据报文。
29.根据权利要求28所述的虚拟交换机,其特征在于,所述处理器具体用于:
根据所述源宿主机和目标宿主机的互联网协议IP地址,确定IP头,所述IP头中的源地址为所述宿主机的IP地址、目的地址为所述目标宿主机的IP地址;
根据所述IP头和隧道标识符对所述数据报文进行封装,得到所述封装后的数据报文。
30.一种虚拟机监控器,其特征在于,包括发送器以及处理器,其中,
所述处理器用于,将源虚拟机的状态切换为暂停状态;
所述发送器用于,向所述源虚拟机对应的源虚拟交换机发送源虚拟机暂停通知,以使源虚拟交换机在收到目的地址为所述源虚拟机的数据报文后,根据转发路由向所述目标虚拟机发送所述数据报文。
31.根据权利要求30所述的虚拟机监控器,其特征在于,
所述发送器还用于,向所述目标虚拟机发送所述源虚拟机中的数据信息,所述数据信息中包括内存数据;
相应的,所述处理器具体用于:获取所述源虚拟机中的内存脏页,并在确定所述内存脏页小于预设阈值时,将所述源虚拟机的状态切换为暂停状态。
32.根据权利要求31所述的虚拟机监控器,其特征在于,所述发送器还用于,在所述发送器向目标虚拟机发送源虚拟机中的数据信息之前,向目标虚拟机对应的目标虚拟机监控器发送所述源虚拟机的配置信息,以使所述目标虚拟机监控器根据所述配置信息对所述目标虚拟机进行配置。
33.根据权利要求30-32任一项所述的虚拟机监控器,其特征在于,
所述发送器还用于,在所述处理器将源虚拟机的状态切换为暂停状态之后,向目标虚拟机发送剩余数据信息,所述剩余数据信息包括所述当前内存脏页和系统状态参数。
CN201610818470.8A 2016-09-12 2016-09-12 基于虚拟机迁移的数据处理方法、系统及设备 Active CN107819708B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610818470.8A CN107819708B (zh) 2016-09-12 2016-09-12 基于虚拟机迁移的数据处理方法、系统及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610818470.8A CN107819708B (zh) 2016-09-12 2016-09-12 基于虚拟机迁移的数据处理方法、系统及设备

Publications (2)

Publication Number Publication Date
CN107819708A true CN107819708A (zh) 2018-03-20
CN107819708B CN107819708B (zh) 2021-06-22

Family

ID=61601260

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610818470.8A Active CN107819708B (zh) 2016-09-12 2016-09-12 基于虚拟机迁移的数据处理方法、系统及设备

Country Status (1)

Country Link
CN (1) CN107819708B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113448802A (zh) * 2021-06-25 2021-09-28 新华三云计算技术有限公司 一种硬盘状态同步方法、装置、系统以及服务器
CN113794657A (zh) * 2021-09-14 2021-12-14 迈普通信技术股份有限公司 Mac地址迁移处理方法、装置及交换设备
CN114003349A (zh) * 2021-12-30 2022-02-01 杭州优云科技有限公司 一种虚拟机迁移方法及设备
CN115499385A (zh) * 2022-09-21 2022-12-20 中电云数智科技有限公司 一种vDPA虚机热迁移不丢包的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102333037A (zh) * 2011-10-20 2012-01-25 中兴通讯股份有限公司 虚拟机迁移方法及装置
CN103532815A (zh) * 2013-10-09 2014-01-22 中国联合网络通信集团有限公司 基于虚拟机迁移的报文传输方法和装置
CN104468397A (zh) * 2014-11-06 2015-03-25 杭州华三通信技术有限公司 一种虚拟机热迁移转发不丢包的方法和装置
US9210065B2 (en) * 2009-06-22 2015-12-08 Alcatel Lucent Providing cloud-based services using dynamic network virtualization

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9210065B2 (en) * 2009-06-22 2015-12-08 Alcatel Lucent Providing cloud-based services using dynamic network virtualization
CN102333037A (zh) * 2011-10-20 2012-01-25 中兴通讯股份有限公司 虚拟机迁移方法及装置
CN103532815A (zh) * 2013-10-09 2014-01-22 中国联合网络通信集团有限公司 基于虚拟机迁移的报文传输方法和装置
CN104468397A (zh) * 2014-11-06 2015-03-25 杭州华三通信技术有限公司 一种虚拟机热迁移转发不丢包的方法和装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113448802A (zh) * 2021-06-25 2021-09-28 新华三云计算技术有限公司 一种硬盘状态同步方法、装置、系统以及服务器
CN113448802B (zh) * 2021-06-25 2023-11-07 新华三云计算技术有限公司 一种硬盘状态同步方法、装置、系统以及服务器
CN113794657A (zh) * 2021-09-14 2021-12-14 迈普通信技术股份有限公司 Mac地址迁移处理方法、装置及交换设备
CN113794657B (zh) * 2021-09-14 2023-10-31 迈普通信技术股份有限公司 Mac地址迁移处理方法、装置及交换设备
CN114003349A (zh) * 2021-12-30 2022-02-01 杭州优云科技有限公司 一种虚拟机迁移方法及设备
CN114003349B (zh) * 2021-12-30 2022-07-12 杭州优云科技有限公司 一种虚拟机迁移方法及设备
CN115499385A (zh) * 2022-09-21 2022-12-20 中电云数智科技有限公司 一种vDPA虚机热迁移不丢包的方法
CN115499385B (zh) * 2022-09-21 2023-09-12 中电云数智科技有限公司 一种vDPA虚机热迁移不丢包的方法

Also Published As

Publication number Publication date
CN107819708B (zh) 2021-06-22

Similar Documents

Publication Publication Date Title
CN107070691B (zh) Docker容器的跨主机通信方法和系统
JP5991424B2 (ja) パケット書換装置、制御装置、通信システム、パケット送信方法及びプログラム
EP3313025B1 (en) Data packet forwarding
JP7023989B2 (ja) 転送エントリの生成
US11012261B2 (en) Associating VXLANs with tunnels
EP3595271B1 (en) Packet transmission method, apparatus and network
JP2019033534A (ja) データパケット転送
CN104378299B (zh) 流表项处理方法以及装置
JP6633775B2 (ja) パケット伝送
CN107770072B (zh) 一种发送和接收报文的方法和设备
CN108632145B (zh) 一种报文转发方法和叶子节点设备
KR20170010835A (ko) 플로우 테이블 관리 방법, 및 관련 디바이스 및 시스템
JP6928076B2 (ja) パケット監視
US10050859B2 (en) Apparatus for processing network packet using service function chaining and method for controlling the same
WO2015113410A1 (zh) 数据包的处理方法与装置
CN107645433B (zh) 报文转发方法及装置
US10581669B2 (en) Restoring control-plane connectivity with a network management entity
CN107819708A (zh) 基于虚拟机迁移的数据处理方法、系统及设备
CN104796338A (zh) 虚拟机迁移方法及装置
CN105591872A (zh) 一种实现多数据中心互联的方法和装置
CN102447703B (zh) 一种热备份方法和系统、cgn设备
CN108259349B (zh) 一种报文转发方法及装置
CN114153607A (zh) 跨节点边缘计算负载均衡方法、设备、可读存储介质
CN109951388B (zh) 路由不间断方法和主控板
CN107911495A (zh) 一种mac地址同步方法和vtep

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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20230615

Address after: Room 1-2-A06, Yungu Park, No. 1008 Dengcai Street, Sandun Town, Xihu District, Hangzhou City, Zhejiang Province

Patentee after: Aliyun Computing Co.,Ltd.

Address before: Grand Cayman capital building, a mailbox four / 847

Patentee before: ALIBABA GROUP HOLDING Ltd.

TR01 Transfer of patent right