首页> 中国专利> 集群服务器的虚拟机迁移方法、装置、服务器及存储介质

集群服务器的虚拟机迁移方法、装置、服务器及存储介质

摘要

本发明适用计算机技术领域,提供了一种集群服务器的虚拟机迁移方法、装置、服务器及存储介质,该方法包括:当预设的虚拟机访问优化时间到达时,源主机获取访问用户的用户信息,源主机对获取到的用户信息进行分析,以获取虚拟机迁移的目的主机,向目的主机发送虚拟机迁移请求,目的主机接收虚拟机迁移请求,确定是否接收虚拟机迁移,并将确定结果发送给源主机,当确定结果为接收虚拟机迁移时,源主机建立与目的主机的连接,并将虚拟机迁移对应的迁移数据发送给目的主机,目的主机接收迁移数据,并根据接收到的迁移数据启动对应的虚拟机,从而实现了集群服务器中虚拟机的及时自动迁移,提高了集群服务器的服务质量和虚拟机的迁移效率。

著录项

  • 公开/公告号CN107301084A

    专利类型发明专利

  • 公开/公告日2017-10-27

    原文格式PDF

  • 申请/专利权人 深圳先进技术研究院;

    申请/专利号CN201710542328.X

  • 发明设计人 郭佳昌;王洋;

    申请日2017-07-05

  • 分类号

  • 代理机构深圳青年人专利商标代理有限公司;

  • 代理人傅俏梅

  • 地址 518055 广东省深圳市南山区西丽大学城学苑大道1068号

  • 入库时间 2023-06-19 03:38:37

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-04-21

    授权

    授权

  • 2017-11-24

    实质审查的生效 IPC(主分类):G06F9/455 申请日:20170705

    实质审查的生效

  • 2017-10-27

    公开

    公开

说明书

技术领域

本发明属于计算机技术领域,尤其涉及一种集群服务器的虚拟机迁移方法、装置、服务器及存储介质。

背景技术

随着计算机互联网的飞速发展,各种服务提供商层出不穷,他们提供的服务也是五花八门,例如下载、视频、音乐等,极大地增加了网络用户的数量,同时由于可供选择的服务的增多,网络用户在选择服务时对服务质量的要求也提高了。因此,对于服务提供商来说服务质量(Quality of Service,简称QoS)至关重要。由于方便管理、节约成本等原因,服务商都搭建集群服务器以搭载服务,因此,服务提供商对外提供的服务实际都搭载在KVM(Kernel-based Virtual Machine)虚拟服务器上,但是一些虚拟机服务器的位置选择未经过优化,导致用户访问服务时会感到明显的网络延迟,而且即使当时选择较为优秀的服务位置,当用户数量、用户分布区域等发生变化时,也需要对虚拟机服务器的位置进行调整,以方便用户进行访问,提高用户服务的QoS。

目前针对这种情况一般的解决办法是人工分析,手动迁移KVM虚拟服务器到位置更利于服务用户的地点。现有技术中虚拟机在对外服务的情况下难以收集所有访问服务用户的访问地址,即使收集到大部分用户访问信息还需要进行人工分析和运维人员对虚拟机进行人为的迁移,缺乏实时性,并且KVM虚拟机迁移过程也难以把控。很难做到实时的提高用户服务的QoS。

目前虚拟机迁移有很多通用的工具,如Virsh命令行等,但是这些工具都需要手动指定目标的迁移,难以自动的完成KVM虚拟机迁移的过程,也对这一优化过程有一定影响。因此现有技术难以实现虚拟机的实时自动迁移,以达到提高用户服务的QoS的目的。

发明内容

本发明的目的在于提供一种集群服务器的虚拟机迁移方法、装置、服务器及存储介质,旨在解决由于现有集群服务器中虚拟机的迁移效率低下,导致集群服务器的服务质量较低的问题。

一方面,本发明提供了一种集群服务器的虚拟机迁移方法,所述方法包括下述步骤:

当预设的虚拟机访问优化时间到达时,源主机获取访问用户的用户信息;

所述源主机对所述获取到的用户信息进行分析,以获取虚拟机迁移的目的主机,向所述目的主机发送虚拟机迁移请求;

所述目的主机接收所述虚拟机迁移请求,确定是否接收所述虚拟机迁移,并将所述确定结果发送给所述源主机;

当所述确定结果为接收所述虚拟机迁移时,所述源主机建立与所述目的主机的连接,并将所述虚拟机迁移对应的迁移数据发送给所述目的主机;

所述目的主机接收所述迁移数据,并根据所述接收到的迁移数据启动对应的虚拟机。

另一方面,本发明提供了一种集群服务器的虚拟机迁移装置,所述装置包括:

信息获取单元,用于当预设的虚拟机访问优化时间到达时,源主机获取访问用户的用户信息;

请求发送单元,用于所述源主机对所述获取到的用户信息进行分析,以获取虚拟机迁移的目的主机,向所述目的主机发送虚拟机迁移请求;

请求回复单元,用于所述目的主机接收所述虚拟机迁移请求,确定是否接收所述虚拟机迁移,并将所述确定结果发送给所述源主机;

数据发送单元,用于当所述确定结果为接收所述虚拟机迁移时,所述源主机建立与所述目的主机的连接,并将所述虚拟机迁移对应的迁移数据发送给所述目的主机;以及

虚拟机迁移单元,用于所述目的主机接收所述迁移数据,并根据所述接收到的迁移数据启动对应的虚拟机。

另一方面,本发明还提供了一种集群服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如所述集群服务器的虚拟机迁移方法的步骤。

另一方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如所述集群服务器的虚拟机迁移方法的步骤。

本发明当预设的虚拟机访问优化时间到达时,源主机获取访问用户的用户信息,源主机对获取到的用户信息进行分析,以获取虚拟机迁移的目的主机,向目的主机发送虚拟机迁移请求,目的主机接收虚拟机迁移请求,确定是否接收虚拟机迁移,并将确定结果发送给源主机,当确定结果为接收虚拟机迁移时,源主机建立与目的主机的连接,并将虚拟机迁移对应的迁移数据发送给目的主机,目的主机接收迁移数据,并根据接收到的迁移数据启动对应的虚拟机,从而实现了集群服务器中虚拟机的及时自动迁移,提高了集群服务器中虚拟机的迁移效率,提高了集群服务器的自动化程度和QoS,进而提高了用户体验。

附图说明

图1是本发明实施例一提供的集群服务器的虚拟机迁移方法的实现流程图;

图2是本发明实施例二提供的集群服务器的虚拟机迁移装置的结构示意图;

图3是本发明实施例三提供的集群服务器的虚拟机迁移装置的结构示意图;以及

图4是本发明实施例四提供的集群服务器的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

以下结合具体实施例对本发明的具体实现进行详细描述:

实施例一:

图1示出了本发明实施例一提供的集群服务器的虚拟机迁移方法的实现流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:

在步骤S101中,当预设的虚拟机访问优化时间到达时,源主机获取访问用户的用户信息。

本发明实施例适用于集群服务器或者服务器集群系统,以方便用户进行快速有效访问。在本发明实施例中,用户信息包括用户的IP地址、数据访问量、数据访问时间等信息,虚拟机访问优化时间可以为预先设置的周期性优化用户访问质量的周期时间,也可以为实时根据用户的访问质量确定的更新虚拟机位置的时间。虚拟机首先搭载在源主机中接受用户的访问,当虚拟机访问优化时间到达时,源主机实时获取访问用户的用户信息,以根据用户信息确认是否需要进行虚拟机的迁移。

在步骤S102中,源主机对获取到的用户信息进行分析,以获取虚拟机迁移的目的主机,向目的主机发送虚拟机迁移请求。

在本发明实施例中,获取访问用户的用户信息之后,源主机对收集到的用户IP所在的区域以及所经过的路由进行分析,得出适合迁移的目的主机的IP地址,然后向该目的主机发送虚拟机迁移请求,以确认该目的主机是否适合迁移。优选地,源主机在对获取到的用户信息进行分析时,可以使用Python脚本对收集到的用户IP所在的区域以及所经过的路由进行统一分析,从而简化信息的分析过程,提高信息分析效率。

在步骤S103中,目的主机接收虚拟机迁移请求,确定是否接收虚拟机迁移,并将确定结果发送给源主机。

在本发明实施例中,目的主机首先接收虚拟机迁移请求,然后检测自身能够接受迁移来的虚拟机的运行,如果能够接受迁移来的虚拟机的运行,则说明该目的主机适合接收虚拟机迁移,此时,该目的主机将适合迁移的确定结果发送给源主机,以进行后续的迁移,如果不能接受迁移来的虚拟机的运行,则说明该目的主机不适合接收虚拟机迁移,此时,跳转至源主机获取访问用户的用户信息的步骤,直至源主机接收到目的主机发送的适合迁移的确定结果,从而进行虚拟机迁移,以方便用户访问,进而提高服务质量。

在步骤S104中,判断确定结果是否为接收虚拟机迁移,是则执行步骤S105,否则执行步骤S102。

在步骤S105中,当确定结果为接收虚拟机迁移时,源主机建立与目的主机的连接,并将虚拟机迁移对应的迁移数据发送给目的主机。

在本发明实施例中,只有当源主机接收到适合迁移的确定结果时,源主机才建立与目的主机的连接,源主机与该目的主机连接之后,将虚拟机迁移对应的迁移数据发送给该目的主机,从而提高虚拟机迁移的准确性。

在步骤S106中,目的主机接收迁移数据,并根据接收到的迁移数据启动对应的虚拟机。

在本发明实施例中,目的主机首先获取源主机发送的虚拟机迁移数据,然后根据接收到的虚拟机迁移数据启动虚拟机,从而实现虚拟机在不停机状态下的动态迁移,降低了虚拟机的迁移成本,降低了用户访问服务的网络延迟。

优选地,目的主机在接收完迁移数据后启动虚拟机,并向源主机发送虚拟机移动成功的信息,之后源主机关闭已完成迁移的虚拟机,以减少集群服务器的开销。

在本发明实施例中,在保证虚拟机对外服务不中断的前提下,通过自动分析用户访问情况选择合适的迁移位置,并将虚拟机迁移至利于用户访问的位置,以提供就近服务,从而实现了集群服务器中虚拟机的及时自动迁移,降低了网络延迟,提高了服务的QoS。这样,在虚拟机迁移过程中不用人工进行操作,降低了人工成本,提高了集群服务器的自动化程度和虚拟机迁移效率。

实施例二:

图2示出了本发明实施例二提供的集群服务器的虚拟机迁移装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分,其中包括:

信息获取单元21,用于当预设的虚拟机访问优化时间到达时,源主机获取访问用户的用户信息。

在本发明实施例中,用户信息包括用户的IP地址、数据访问量、数据访问时间等信息,虚拟机访问优化时间可以为预先设置的周期性优化用户访问质量的周期时间,也可以为实时根据用户的访问质量确定的更新虚拟机位置的时间。虚拟机首先搭载在源主机中接受用户的访问,当虚拟机访问优化时间到达时,源主机通过信息获取单元21实时获取访问用户的用户信息,以根据用户信息确认是否需要进行虚拟机的迁移。

请求发送单元22,用于源主机对获取到的用户信息进行分析,以获取虚拟机迁移的目的主机,向目的主机发送虚拟机迁移请求。

在本发明实施例中,获取访问用户的用户信息之后,源主机对收集到的用户IP所在的区域以及所经过的路由进行分析,得出适合迁移的目的主机的IP地址,然后请求发送单元22向该目的主机发送虚拟机迁移请求,以确认该目的主机是否适合迁移。优选地,源主机在对获取到的用户信息进行分析时,可以使用Python脚本对收集到的用户IP所在的区域以及所经过的路由进行统一分析,从而简化信息的分析过程,提高信息分析效率。

请求回复单元23,用于目的主机接收虚拟机迁移请求,确定是否接收虚拟机迁移,并将确定结果发送给源主机。

在本发明实施例中,目的主机首先接收虚拟机迁移请求,然后检测自身能够接受迁移来的虚拟机的运行,如果能够接受迁移来的虚拟机的运行,则说明该目的主机适合接收虚拟机迁移,此时,该目的主机通过请求回复单元23将适合迁移的确定结果发送给源主机,以进行后续的迁移,从而提高服务质量。

数据发送单元24,用于当确定结果为接收虚拟机迁移时,源主机建立与目的主机的连接,并将虚拟机迁移对应的迁移数据发送给目的主机。

在本发明实施例中,只有当源主机接收到适合迁移的确定结果时,源主机才建立与目的主机的连接,源主机与该目的主机连接之后,通过数据发送单元24将虚拟机迁移对应的迁移数据发送给该目的主机,从而提高虚拟机迁移的准确性。

虚拟机迁移单元25,用于目的主机接收迁移数据,并根据接收到的迁移数据启动对应的虚拟机。

在本发明实施例中,目的主机首先获取源主机发送的虚拟机迁移数据,然后虚拟机迁移单元25根据接收到的虚拟机迁移数据启动虚拟机,从而实现虚拟机在不停机状态下的动态迁移,降低了虚拟机的迁移成本,降低了用户访问服务的网络延迟。

在本发明实施例中,当预设的虚拟机访问优化时间到达时,源主机通过信息获取单元21获取访问用户的用户信息,源主机对获取到的用户信息进行分析,以获取虚拟机迁移的目的主机,通过请求发送单元22向目的主机发送虚拟机迁移请求,目的主机接收虚拟机迁移请求,确定是否接收虚拟机迁移,并通过请求回复单元23将确定结果发送给源主机,当确定结果为接收虚拟机迁移时,源主机建立与目的主机的连接,并通过数据发送单元24将虚拟机迁移对应的迁移数据发送给目的主机,目的主机通过虚拟机迁移单元25接收迁移数据,并根据接收到的迁移数据启动对应的虚拟机,从而实现了集群服务器中虚拟机的及时自动迁移,提高了集群服务器的自动化程度、虚拟机迁移效率和QoS,进而提高了用户体验。

在本发明实施例中,集群服务器的虚拟机迁移装置的各单元可由相应的硬件或软件单元实现,各单元可以为独立的软、硬件单元,也可以集成为一个软、硬件单元,在此不用以限制本发明。

实施例三:

图3示出了本发明实施例三提供的集群服务器的虚拟机迁移装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分,其中包括:

信息获取单元31,用于当预设的虚拟机访问优化时间到达时,源主机获取访问用户的用户信息。

在本发明实施例中,用户信息包括用户的IP地址、数据访问量、数据访问时间等信息,虚拟机访问优化时间可以为预先设置的周期性优化用户访问质量的周期时间,也可以为实时根据用户的访问质量确定的更新虚拟机位置的时间。虚拟机首先搭载在源主机中接受用户的访问,当虚拟机访问优化时间到达时,源主机通过信息获取单元31实时获取访问用户的用户信息,以根据用户信息确认是否需要进行虚拟机的迁移。

请求发送单元32,用于源主机对获取到的用户信息进行分析,以获取虚拟机迁移的目的主机,向目的主机发送虚拟机迁移请求。

在本发明实施例中,获取访问用户的用户信息之后,源主机对收集到的用户IP所在的区域以及所经过的路由进行分析,得出适合迁移的目的主机的IP地址,然后请求发送单元32向该目的主机发送虚拟机迁移请求,以确认该目的主机是否适合迁移。优选地,源主机在对获取到的用户信息进行分析时,可以使用Python脚本对收集到的用户IP所在的区域以及所经过的路由进行统一分析,从而简化信息的分析过程,提高信息分析效率。

请求回复单元33,用于目的主机接收虚拟机迁移请求,确定是否接收虚拟机迁移,并将确定结果发送给源主机。

循环检测单元34,用于当源主机接收到不适合迁移的检测结果时,源主机循环获取访问用户的用户信息,直至接收到适合迁移的检测结果。

在本发明实施例中,目的主机首先接收虚拟机迁移请求,然后检测自身能够接受迁移来的虚拟机的运行,如果能够接受迁移来的虚拟机的运行,则说明该目的主机适合接收虚拟机迁移,此时,该目的主机通过请求回复单元33将适合迁移的确定结果发送给源主机,以进行后续的迁移,如果不能接受迁移来的虚拟机的运行,则说明该目的主机不适合接收虚拟机迁移,此时,源主机通过循环检测单元循环34再次获取访问用户的用户信息,直至源主机接收到目的主机发送的适合迁移的确定结果,从而进行虚拟机的迁移,进而提高服务质量。

数据发送单元35,用于当确定结果为接收虚拟机迁移时,源主机建立与目的主机的连接,并将虚拟机迁移对应的迁移数据发送给目的主机。

在本发明实施例中,只有当源主机接收到适合迁移的确定结果时,源主机才建立与目的主机的连接,源主机与该目的主机连接之后,数据发送单元35将虚拟机迁移对应的迁移数据发送给该目的主机,从而提高虚拟机迁移的准确性。

虚拟机迁移单元36,用于目的主机接收迁移数据,并根据接收到的迁移数据启动对应的虚拟机。

在本发明实施例中,目的主机首先获取源主机发送的虚拟机迁移数据,然后虚拟机迁移单元36根据接收到的虚拟机迁移数据启动虚拟机,从而实现虚拟机在不停机状态下的动态迁移,降低了虚拟机的迁移成本,降低了用户访问服务的网络延迟。

优选地,目的主机在接收完迁移数据后启动虚拟机,并向源主机发送虚拟机移动成功的信息,之后源主机关闭已完成迁移的虚拟机,以减少集群服务器的开销。

因此,优选地,该装置还包括:

虚拟机关闭单元37,用于关闭源主机上的对应的虚拟机。

在本发明实施例中,集群服务器的虚拟机迁移装置的各单元可由相应的硬件或软件单元实现,各单元可以为独立的软、硬件单元,也可以集成为一个软、硬件单元,在此不用以限制本发明。

实施例四:

图4示出了本发明实施例四提供的集群服务器的结构,为了便于说明,仅示出了与本发明实施例相关的部分。

本发明实施例的集群服务器4包括处理器40、存储器41以及存储在存储器41中并可在处理器40上运行的计算机程序42。该处理器40执行计算机程序42时实现上述集群服务器的虚拟机迁移方法实施例中的步骤,例如图1所示的步骤S101至S106。或者,处理器40执行计算机程序42时实现上述各装置实施例中各单元的功能,例如图2所示单元21至25、图3所示单元31至37的功能。

在本发明实施例中,该处理器40执行计算机程序42时实现上述各个屏幕唤醒的控制方法实施例中的步骤时,当预设的虚拟机访问优化时间到达时,源主机获取访问用户的用户信息,源主机对获取到的用户信息进行分析,以获取虚拟机迁移的目的主机,向目的主机发送虚拟机迁移请求,目的主机接收虚拟机迁移请求,确定是否接收虚拟机迁移,并将确定结果发送给源主机,当确定结果为接收虚拟机迁移时,源主机建立与目的主机的连接,并将虚拟机迁移对应的迁移数据发送给目的主机,目的主机接收迁移数据,并根据接收到的迁移数据启动对应的虚拟机,从而实现了集群服务器中虚拟机的及时自动迁移,提高了集群服务器的自动化程度、虚拟机迁移效率和QoS,进而提高了用户体验。该集群服务器4中处理器40在执行计算机程序42时实现的步骤具体可参考实施例一中方法的描述,在此不再赘述。

实施例五:

在本发明实施例中,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述集群服务器的虚拟机迁移方法实施例中的步骤,例如,图1所示的步骤S101至S106。或者,该计算机程序被处理器执行时实现上述各装置实施例中各单元的功能,例如图2所示单元21至25、图3所示单元31至37的功能。

在本发明实施例中,当预设的虚拟机访问优化时间到达时,源主机获取访问用户的用户信息,源主机对获取到的用户信息进行分析,以获取虚拟机迁移的目的主机,向目的主机发送虚拟机迁移请求,目的主机接收虚拟机迁移请求,确定是否接收虚拟机迁移,并将确定结果发送给源主机,当确定结果为接收虚拟机迁移时,源主机建立与目的主机的连接,并将虚拟机迁移对应的迁移数据发送给目的主机,目的主机接收迁移数据,并根据接收到的迁移数据启动对应的虚拟机,从而实现了集群服务器中虚拟机的及时自动迁移,提高了集群服务器的自动化程度、虚拟机迁移效率和QoS,进而提高了用户体验。该计算机程序被处理器执行时实现的集群服务器的虚拟机迁移方法进一步可参考前述方法实施例中步骤的描述,在此不再赘述。

本发明实施例的计算机可读存储介质可以包括能够携带计算机程序代码的任何实体或装置、记录介质,例如,ROM/RAM、磁盘、光盘、闪存等存储器。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号