首页 / 专利库 / 软件 / 虚拟交换机 / 一种虚拟交换机切换方法、装置、宿主机及计算机可读存储介质

一种虚拟交换机切换方法、装置、宿主机及计算机可读存储介质

阅读:712发布:2020-05-08

专利汇可以提供一种虚拟交换机切换方法、装置、宿主机及计算机可读存储介质专利检索,专利查询,专利分析的服务。并且本 发明 实施例 提供了一种 虚拟交换机 切换方法,应用于宿主机,宿主机中设置有至少一台 虚拟机 和物理网卡,物理网卡中设置有至少两组虚拟 接口 ,该方法包括:接收虚拟交换机的切换指令;在保持第一虚拟交换机运行的情况下,启动第二虚拟交换机,并加载第二虚拟交换机的配置文件;建立至少一台虚拟机与第二虚拟交换机的连接;通知物理网卡将接收虚拟机流量的虚拟接口由第一虚拟交换机对应的虚拟接口组切换为第二虚拟交换机对应的虚拟接口组。通过本发明实施例提供的技术方案,可以使得宿主机中无可用虚拟交换机的时间缩短,降低了用户的等待时间,提高了用户体验。,下面是一种虚拟交换机切换方法、装置、宿主机及计算机可读存储介质专利的具体信息内容。

1.一种虚拟交换机切换方法,其特征在于,应用于宿主机,所述宿主机中设置有至少一台虚拟机和物理网卡,所述物理网卡中设置有至少两组虚拟接口,所述方法包括:
接收虚拟交换机的切换指令,所述切换指令用于指示将当前运行的第一虚拟交换机切换为第二虚拟交换机;
在保持所述第一虚拟交换机运行的情况下,启动所述第二虚拟交换机,并加载所述第二虚拟交换机的配置文件;
建立所述至少一台虚拟机与所述第二虚拟交换机的连接;
通知所述物理网卡将接收虚拟机流量的虚拟接口由所述第一虚拟交换机对应的虚拟接口组切换为所述第二虚拟交换机对应的虚拟接口组,以使所述物理网卡将需发送至所述至少一台虚拟机的流量发送至所述第二虚拟交换机对应的虚拟接口组,通过所述第二虚拟交换机对应的虚拟接口组接收所述第二虚拟交换机转发的流量。
2.根据权利要求1所述的方法,其特征在于,在所述通知所述网卡将接收虚拟机流量的虚拟接口由所述第一虚拟交换机对应的虚拟接口组切换为所述第二虚拟交换机对应的虚拟接口组之后,所述方法还包括:
关闭或卸载所述第一虚拟交换机。
3.根据权利要求1或2所述的方法,其特征在于,所述通知所述物理网卡切换虚拟接口的步骤,包括:
在确定所述至少一台虚拟机与所述第二虚拟交换机已建立连接后,向所述宿主机中的物理网卡发送虚拟接口切换通知消息,以指示所述网卡切换虚拟接口。
4.根据权利要求1或2所述的方法,其特征在于,所述建立所述至少一台虚拟机与所述第二虚拟交换机的连接的步骤,包括:
向所述至少一台虚拟机发送建立连接指令,所述建立连接指令用于指示所述至少一台虚拟机与所述第二虚拟交换机建立连接,以使所述至少一台虚拟机向所述第二虚拟交换机发送队列地址信息。
5.根据权利要求4所述的方法,其特征在于,所述向所述至少一台虚拟机发送建立连接指令的步骤,包括:
向所述至少一台虚拟机对应的Qemu管理平台发送建立连接指令,以使所述Qemu管理平台向所述第二虚拟交换机发送队列地址信息。
6.一种虚拟交换机切换装置,其特征在于,应用于宿主机,所述宿主机中设置有至少一台虚拟机和物理网卡,所述物理网卡中设置有至少两组虚拟接口,所述装置包括:
指令接收模,用于接收虚拟交换机的切换指令,所述切换指令用于指示将当前运行的第一虚拟交换机切换为第二虚拟交换机;
交换机启动模块,用于在保持所述第一虚拟交换机运行的情况下,启动所述第二虚拟交换机,并加载所述第二虚拟交换机的配置文件;
连接建立模块,用于建立所述至少一台虚拟机与所述第二虚拟交换机的连接;
接口切换模块,用于通知所述物理网卡将接收虚拟机流量的虚拟接口由所述第一虚拟交换机对应的虚拟接口组切换为所述第二虚拟交换机对应的虚拟接口组,以使所述物理网卡将需发送至所述至少一台虚拟机的流量发送至所述第二虚拟交换机对应的虚拟接口组,通过所述第二虚拟交换机对应的虚拟接口组接收所述第二虚拟交换机转发的流量。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
交换机关闭模块,用于在所述接口切换模块通知所述网卡将接收虚拟机流量的虚拟接口由所述第一虚拟交换机对应的虚拟接口组切换为所述第二虚拟交换机对应的虚拟接口组之后,关闭或卸载所述第一虚拟交换机。
8.根据权利要求6或7所述的装置,其特征在于,所述接口切换模块,具体用于:
在确定所述至少一台虚拟机与所述第二虚拟交换机已建立连接后,向所述宿主机中的物理网卡发送虚拟接口切换通知消息,以指示所述网卡切换虚拟接口。
9.根据权利要求6或7所述的装置,其特征在于,所述连接建立模块,包括:
连接建立单元,用于向所述至少一台虚拟机发送建立连接指令,所述建立连接指令用于指示所述至少一台虚拟机与所述第二虚拟交换机建立连接,以使所述至少一台虚拟机向所述第二虚拟交换机发送队列地址信息。
10.根据权利要求9所述的装置,其特征在于,所述连接建立单元,具体用于:
向所述至少一台虚拟机对应的Qemu管理平台发送建立连接指令,以使所述Qemu管理平台向所述第二虚拟交换机发送队列地址信息。
11.一种宿主机,其特征在于,包括处理器、通信接口存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5任一所述的方法步骤。

说明书全文

一种虚拟交换机切换方法、装置、宿主机及计算机可读存储

介质

技术领域

背景技术

[0002] 虚拟交换机工作在二层数据网络,通过软件方式实现物理交换机的二层(或部分三层)网络功能。
[0003] 虚拟交换机运行于宿主机中,用于实现报文的处理。为了使得虚拟交换机更加高效地处理报文,开发人员会不断开发新版本的虚拟交换机。在接收到切换虚拟交换机的触发指令后,宿主机将旧版本的虚拟交换机切换为新版本的虚拟交换机。
[0004] 现有技术中,宿主机通过如下四个步骤将旧版本的虚拟交换机切换为新版本的虚拟交换机:第一,关闭旧版本的虚拟交换机;第二,启动新版本的虚拟交换机;第三,加载新版本的虚拟交换机的配置文件;第四,将新版本的虚拟交换机与宿主机中的至少一个虚拟机建立连接。通过上述四个步骤,新版本的虚拟交换机可以进行报文的处理。但是由于上述四个步骤均需要消耗时间,这样使得宿主机中无可用虚拟交换机的时间较长,最终导致用户等待时间较长,影响用户体验。

发明内容

[0005] 本发明实施例的目的在于提供一种虚拟交换机切换方法、装置、电子设备及计算机可读存储介质,以使在进行虚拟交换机的切换时,宿主机中无可用虚拟交换机的时间缩短,提高用户体验。具体技术方案如下:
[0006] 第一方面,本发明实施例提供了一种虚拟交换机切换方法,应用于宿主机,所述宿主机中设置有至少一台虚拟机和物理网卡,所述物理网卡中设置有至少两组虚拟接口,所述方法包括:
[0007] 接收虚拟交换机的切换指令,所述切换指令用于指示将当前运行的第一虚拟交换机切换为第二虚拟交换机;
[0008] 在保持所述第一虚拟交换机运行的情况下,启动所述第二虚拟交换机,并加载所述第二虚拟交换机的配置文件;
[0009] 建立所述至少一台虚拟机与所述第二虚拟交换机的连接;
[0010] 通知所述物理网卡将接收虚拟机流量的虚拟接口由所述第一虚拟交换机对应的虚拟接口组切换为所述第二虚拟交换机对应的虚拟接口组,以使所述物理网卡将需发送至所述至少一台虚拟机的流量发送至所述第二虚拟交换机对应的虚拟接口组,通过所述第二虚拟交换机对应的虚拟接口组接收所述第二虚拟交换机转发的流量。
[0011] 可选的,在所述通知所述网卡将接收虚拟机流量的虚拟接口由所述第一虚拟交换机对应的虚拟接口组切换为所述第二虚拟交换机对应的虚拟接口组之后,所述方法还包括:
[0012] 关闭或卸载所述第一虚拟交换机。
[0013] 可选的,所述通知所述物理网卡切换虚拟接口的步骤,包括:
[0014] 在确定所述至少一台虚拟机与所述第二虚拟交换机已建立连接后,向所述宿主机中的物理网卡发送虚拟接口切换通知消息,以指示所述网卡切换虚拟接口。
[0015] 可选的,所述建立所述至少一台虚拟机与所述第二虚拟交换机的连接的步骤,包括:
[0016] 向所述至少一台虚拟机发送建立连接指令,所述建立连接指令用于指示所述至少一台虚拟机与所述第二虚拟交换机建立连接,以使所述至少一台虚拟机向所述第二虚拟交换机发送队列地址信息。
[0017] 可选的,所述向所述至少一台虚拟机发送建立连接指令的步骤,包括:
[0018] 向所述至少一台虚拟机对应的Qemu管理平台发送建立连接指令,以使所述Qemu管理平台向所述第二虚拟交换机发送队列地址信息。
[0019] 第二方面,本发明实施例提供了一种虚拟交换机切换装置,应用于宿主机,所述宿主机中设置有至少一台虚拟机和物理网卡,所述物理网卡中设置有至少两组虚拟接口,所述装置包括:
[0020] 指令接收模,用于接收虚拟交换机的切换指令,所述切换指令用于指示将当前运行的第一虚拟交换机切换为第二虚拟交换机;
[0021] 交换机启动模块,用于在保持所述第一虚拟交换机运行的情况下,启动所述第二虚拟交换机,并加载所述第二虚拟交换机的配置文件;
[0022] 连接建立模块,用于建立所述至少一台虚拟机与所述第二虚拟交换机的连接;
[0023] 接口切换模块,用于通知所述物理网卡将接收虚拟机流量的虚拟接口由所述第一虚拟交换机对应的虚拟接口组切换为所述第二虚拟交换机对应的虚拟接口组,以使所述物理网卡将需发送至所述至少一台虚拟机的流量发送至所述第二虚拟交换机对应的虚拟接口组,通过所述第二虚拟交换机对应的虚拟接口组接收所述第二虚拟交换机转发的流量。
[0024] 可选的,所述装置还包括:
[0025] 交换机关闭模块,用于在所述接口切换模块通知所述网卡将接收虚拟机流量的虚拟接口由所述第一虚拟交换机对应的虚拟接口组切换为所述第二虚拟交换机对应的虚拟接口组之后,关闭或卸载所述第一虚拟交换机。
[0026] 可选的,所述接口切换模块,具体用于:
[0027] 在确定所述至少一台虚拟机与所述第二虚拟交换机已建立连接后,向所述宿主机中的物理网卡发送虚拟接口切换通知消息,以指示所述网卡切换虚拟接口。
[0028] 可选的,所述连接建立模块,包括:
[0029] 连接建立单元,用于向所述至少一台虚拟机发送建立连接指令,所述建立连接指令用于指示所述至少一台虚拟机与所述第二虚拟交换机建立连接,以使所述至少一台虚拟机向所述第二虚拟交换机发送队列地址信息。
[0030] 可选的,所述连接建立单元,具体用于:
[0031] 向所述至少一台虚拟机对应的Qemu管理平台发送建立连接指令,以使所述Qemu管理平台向所述第二虚拟交换机发送队列地址信息。
[0032] 第三方面,本发明实施例提供了一种宿主机,包括处理器、通信接口存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
[0033] 存储器,用于存放计算机程序
[0034] 处理器,用于执行存储器上所存放的程序时,实现第一方面所述的虚拟交换机切换方法。
[0035] 第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的虚拟交换机切换方法。
[0036] 本发明实施例提供的技术方案,宿主机接收到虚拟交换机的切换指令后,在保持第一虚拟交换机运行的情况下,启动第二虚拟交换机,加载第二虚拟交换机的配置文件;并建立至少一台虚拟机与第二虚拟交换机的连接;通知物理网卡切换虚拟接口,将接收虚拟机流量的虚拟接口由第一虚拟交换机对应的虚拟接口组切换为第二虚拟交换机对应的虚拟接口组,从而物理网卡将需发送至至少一台虚拟机的流量发送至第二虚拟交换机对应的虚拟接口组,通过第二虚拟交换机对应的虚拟接口组接收第二虚拟交换机转发的流量。可见,本发明实施例提供的技术方案,在第一虚拟交换机运行的过程中,启动第二虚拟交换机并加载第二虚拟交换机的配置文件,实质上可以在进行物理网卡的虚拟接口组切换时的很短时间暂停通过虚拟交换机交换流量,从而使得宿主机中无可用虚拟交换机的时间缩短,降低了用户的等待时间,提高了用户体验。附图说明
[0037] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0038] 图1为本发明实施例所提供的一种虚拟交换机切换方法的流程图
[0039] 图2为本发明实施例所提供的另一种虚拟交换机切换方法的流程图;
[0040] 图3为本发明实施例所提供的一种虚拟交换机切换装置的示意图;
[0041] 图4为本发明实施例所提供的一种宿主机的结构示意图。

具体实施方式

[0042] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0043] 为了使得切换虚拟交换机所消耗的时间缩短,保证宿主机的正常稳定运行,提升用户的体验,本发明实施例提供了一种虚拟交换机切换方法、装置、宿主机及计算机可读存储介质。
[0044] 第一方面,下面首先对本发明实施例所提供的一种虚拟交换机切换方法进行介绍。
[0045] 本发明实施例所提供的一种虚拟交换机切换方法,应用于宿主机。虚拟交换机运行于宿主机中,在本发明实施例中,可以将原虚拟交换机,例如旧版本的虚拟交换机称为第一虚拟交换机;将新虚拟交换机,例如新版本的虚拟交换机称为第二虚拟交换机。可以理解的是,本发明实施例所提供的虚拟交换机切换方法用于将第一虚拟交换机切换为第二虚拟交换机。
[0046] 需要说明的是,本发明实施例中,宿主机中设置有至少一台虚拟机和物理网卡,且该物理网卡中设置有至少两组虚拟接口,每组虚拟接口包括至少一个虚拟接口。为了方案描述清楚,下面将以物理网卡中设置有两组虚拟接口为例进行说明。并且,为了方便描述,可以将这两组虚拟接口描述为:第一组虚拟接口和第二组虚拟接口。其中,第一组虚拟接口为处于活跃状态的虚拟接口,即物理网卡通过该组虚拟接口接收流量或者转发流量;第二组虚拟接口为处于空闲状态的虚拟接口,即物理网卡不通过该组虚拟接口接收流量或者转发流量。
[0047] 在实际应用中,在第一虚拟交换机处于运行的情况下,物理网卡可以通过第一组虚拟接口接收流量或者转发流量。当宿主机需要将第一虚拟交换机切换至第二虚拟交换机时,物理网卡可以切换虚拟接口,即将第一组虚拟接口切换至第二组虚拟接口。这样,第二组虚拟接口由空闲状态切换至活跃状态,第一组虚拟接口由活跃状态切换至空闲状态。可以理解的是,当宿主机需要再次切换虚拟交换机时,还可以将第二组虚拟接口切换为第一组虚拟接口,即使得第一组虚拟接口由空闲状态切换为活跃状态,而第二组虚拟接口由活跃状态切换为空闲状态。由上述描述可知,第一组虚拟接口的状态和第二组虚拟接口的状态均可以在活跃状态与空闲状态之间切换。
[0048] 基于上述描述可知,本发明实施例中,设置两组虚拟接口的目的在于,实现虚拟交换机的切换并减少流量停止转发的时间。在虚拟交换机切换过程中,第一组虚拟接口一直可持续工作,即与第一虚拟交换机保持进行流量交互,而在虚拟接口切换时,仅在第一组虚拟接口关停至第二组虚拟接口启动之间的时间停止了虚拟接口与虚拟交换机之间的流量交互,第二组虚拟接口启动后流量交互即恢复正常,因此,这种两组虚拟接口的设置较好的缩短了流量交互的停止时间,有效保证宿主机的正常运行。
[0049] 如图1所示,本发明实施例提供的一种虚拟交换机切换方法可以包括如下步骤:
[0050] S110,接收虚拟交换机的切换指令。
[0051] 其中,上述切换指令用于指示将当前运行的第一虚拟交换机切换为第二虚拟交换机。
[0052] 在实际应用中,在开发人员开发出新版本的虚拟交换机后,即开发人员开发出第二虚拟交换机后,需要将运行在宿主机中的第一虚拟交换机切换为第二虚拟交换机。此时,通常来讲,管理宿主机的运维人员,可以发出切换虚拟交换机的指令,从而宿主机接收到虚拟交换机的切换指令。
[0053] S120,在保持第一虚拟交换机运行的情况下,启动第二虚拟交换机,并加载第二虚拟交换机的配置文件。
[0054] 为了使得宿主机无可用虚拟交换机的时间缩短,在启动第二虚拟机,以及加载第二虚拟交换机的配置文件的过程中,仍保持第一虚拟交换机处于运行的状态。即该过程中,第一虚拟交换机仍可以接收流量或者转发流量。
[0055] 其中,宿主机启动第二虚拟交换机的方式可以为:宿主机向第二虚拟交换机发送启动指令,第二虚拟机接收到启动指令后即可启动。当然,本发明实施了对宿主机启动第二虚拟交换机的方式不做具体限定。
[0056] 并且,宿主机在启动第二虚拟交换机后,为了使得第二虚拟交换机能够正常运行,宿主机需要加载第二虚拟交换机的配置文件,该配置文件包括虚拟机IP地址、虚拟网络路由信息等配置信息。本发明实施例对该配置文件所包含的配置信息不做具体限定。
[0057] S130,建立至少一台虚拟机与第二虚拟交换机的连接。
[0058] 为了使得虚拟机切换后,通过第二虚拟交换机将需要发送至该至少一台虚拟机的流量转发至该至少一台虚拟机,或者,通过第二虚拟交换机将流量从该至少一台虚拟机转发至流量的目标虚拟机,将该至少一台虚拟机与第二虚拟交换机建立连接。
[0059] 可以理解的时,宿主机中可以设置有一台虚拟机或者多台虚拟机,为了使得在第二虚拟交换机运行时,能够向任一台虚拟机发送流量,并能够接收任一台虚拟机所发送的流量,可以将宿主机中设置的任一台虚拟机与第二虚拟交换机建立连接。
[0060] 在一种实施方式中,建立至少一台虚拟机与第二虚拟交换机的连接的步骤,可以包括:
[0061] 向至少一台虚拟机发送建立连接指令,该建立连接指令用于指示至少一台虚拟机与第二虚拟交换机建立连接,以使至少一台虚拟机向第二虚拟交换机发送队列地址信息,从而实现至少一台虚拟机与第二虚拟交换机的连接。
[0062] 在该实施方式中,宿主机可以向至少一台虚拟机发送连接指令,该至少一台虚拟机接收到该连接指令后,可以向第二虚拟交换机发送该至少一台虚拟机的队列地址信息。
[0063] 需要说明的是,虚拟机的队列地址信息为虚拟机的流量缓存队列的地址信息。在第二虚拟交换机得到该至少一台虚拟机的队列地址信息后,可以将流量存储至该至少一台虚拟机的流量缓存队列中,因此,在第二虚拟交换机获取到该至少一台虚拟机的队列地址信息后,可以完成与该至少一台虚拟机的连接。
[0064] 作为本发明实施例的一种实现形式,宿主机向至少一台虚拟机发送建立连接指令的步骤,可以包括:
[0065] 向至少一台虚拟机对应的Qemu管理平台发送建立连接指令,以使Qemu管理平台向第二虚拟交换机发送队列地址信息。
[0066] Qemu是纯软件实现的虚拟化模拟器,几乎可以模拟任何硬件设备,具体可以参见相关技术,这里不在赘述。在一些具体实施中,宿主机中的至少一台虚拟机对应一个Qemu管理平台,即,宿主机中设置有该Qemu管理平台,用于创建和管理虚拟机,该Qemu管理平台可以获取到该至少一台虚拟机的队列地址信息,因此,宿主机可以向至少一台虚拟机对应的Qemu管理平台发送建立连接指令,Qemu管理平台接收到连接指令后,可以向第二虚拟交换机发送该台虚拟机的队列地址信息。本领域技术人员可以理解的是,Qemu管理平台是一种虚拟化管理平台,在此不再对Qemu管理平台进行赘述。
[0067] S140,通知物理网卡将接收虚拟机流量的虚拟接口由第一虚拟交换机对应的虚拟接口组切换为第二虚拟交换机对应的虚拟接口组,以使物理网卡将需发送至至少一台虚拟机的流量发送至第二虚拟交换机对应的虚拟接口组,通过第二虚拟交换机对应的虚拟接口组接收第二虚拟交换机转发的流量。
[0068] 由上述描述可知,物理网卡中设置有至少两组虚拟接口,第一虚拟交换机与第二虚拟交换机对应不同的虚拟接口组。因此,宿主机在将第一虚拟交换机切换为第二虚拟交换机时,可以通知物理网卡切换虚拟接口,即将接收虚拟机流量的虚拟接口由第一虚拟交换机对应的虚拟接口组切换为第二虚拟交换机对应的虚拟接口组,这样,物理网卡可以将需要发送至至少一台虚拟交换机的流量发送至第二虚拟交换机对应的虚拟接口组,并可以通过第二虚拟交换机对应的虚拟接口组接收第二虚拟交换机转发的流量。至此,宿主机将第一虚拟交换机切换至第二虚拟交换机。
[0069] 需要说明的是,上述步骤S120至S130的执行期间,基于第一虚拟接口组,第一虚拟交换机仍在正常工作中。可在S140步骤通知物理网卡切换虚拟接口组之后,停止第一虚拟交换机的工作,因此,可以使得仅在物理网卡进行第一虚拟接和第二虚拟接口组切换的这段时间里,停止了虚拟机流量的交互,在第二虚拟接口启用后,虚拟机流量立即开始正常的转发。当然,亦可在S140步骤之前,停止第一虚拟交换机的工作。
[0070] 在一种实施方式中,宿主机通知物理网卡切换虚拟接口的步骤,可以包括:
[0071] 在确定至少一台虚拟机与第二虚拟交换机已建立连接后,向宿主机中的物理网卡发送虚拟接口切换通知消息,以指示网卡切换虚拟接口。
[0072] 宿主机可以实时监控至少一台虚拟交换机与第二虚拟交换机是否建立好连接,并且在确定至少一台虚拟机与第二虚拟交换机已经建立好连接后,可以向宿主机中的物理网卡发送虚拟接口切换通知消息。宿主机中的物理网卡接收到虚拟接口切换通知消息后,可以执行切换虚拟接口的操作,即将接收虚拟机流量的虚拟接口由第一虚拟交换机对应的虚拟接口组切换为第二虚拟交换机对应的虚拟接口组。
[0073] 可见,本发明实施例提供的技术方案,在第一虚拟交换机运行的过程中,启动第二虚拟交换机并加载第二虚拟交换机的配置文件,从而使得宿主机中无可用虚拟交换机的时间缩短,降低了用户的等待时间,提高了用户体验。
[0074] 如图2所示,本发明实施例所提供的另一种虚拟交换机切换方法,可以包括如下步骤:
[0075] S210,接收虚拟交换机的切换指令。
[0076] S220,在保持第一虚拟交换机运行的情况下,启动第二虚拟交换机,并加载第二虚拟交换机的配置文件。
[0077] S230,建立至少一台虚拟机与第二虚拟交换机的连接。
[0078] S240,通知物理网卡将接收虚拟机流量的虚拟接口由第一虚拟交换机对应的虚拟接口组切换为第二虚拟交换机对应的虚拟接口组,以使物理网卡将需发送至至少一台虚拟机的流量发送至第二虚拟交换机对应的虚拟接口组,通过第二虚拟交换机对应的虚拟接口组接收第二虚拟交换机转发的流量。
[0079] 由于图2所示实施例的S210至S240与图1所示实施例的S110至140相同,因此,在此不再对S210至S240进行赘述。
[0080] S250,关闭或卸载所述第一虚拟交换机。
[0081] 通过步骤S210至S240,宿主机将第一虚拟交换机切换至第二虚拟交换机,即第二虚拟交换机处于运行状态,而第一虚拟交换机处于未运行状态,因此,为了提高宿主机的资源利用率,宿主机可以关闭第一虚拟交换机,或者卸载第一虚拟交换机。
[0082] 可见,本发明实施例提供的技术方案,在第一虚拟交换机运行的过程中,启动第二虚拟交换机并加载第二虚拟交换机的配置文件,从而使得宿主机中无可用虚拟交换机的时间缩短,降低了用户的等待时间,提高了用户体验;并且,在将第一虚拟交换机切换至第二虚拟交换机后,可以关闭或卸载第一虚拟交换机,提高了宿主机的资源利用率。
[0083] 第二方面,本发明实施例还提供了一种虚拟交换机切换装置,应用于宿主机,所述宿主机中设置有至少一台虚拟机和物理网卡,所述物理网卡中设置有至少两组虚拟接口,如图3所示,所述装置可以包括:
[0084] 指令接收模块310,用于接收虚拟交换机的切换指令,所述切换指令用于指示将当前运行的第一虚拟交换机切换为第二虚拟交换机;
[0085] 交换机启动模块320,用于在保持所述第一虚拟交换机运行的情况下,启动所述第二虚拟交换机,并加载所述第二虚拟交换机的配置文件;
[0086] 连接建立模块330,用于建立所述至少一台虚拟机与所述第二虚拟交换机的连接;
[0087] 接口切换模块340,用于通知所述物理网卡将接收虚拟机流量的虚拟接口由所述第一虚拟交换机对应的虚拟接口组切换为所述第二虚拟交换机对应的虚拟接口组,以使所述物理网卡将需发送至所述至少一台虚拟机的流量发送至所述第二虚拟交换机对应的虚拟接口组,通过所述第二虚拟交换机对应的虚拟接口组接收所述第二虚拟交换机转发的流量。
[0088] 本发明实施例提供的技术方案,宿主机接收到虚拟交换机的切换指令后,在保持第一虚拟交换机运行的情况下,启动第二虚拟交换机,加载第二虚拟交换机的配置文件;并建立至少一台虚拟机与第二虚拟交换机的连接;通知物理网卡切换虚拟接口,将接收虚拟机流量的虚拟接口由第一虚拟交换机对应的虚拟接口组切换为第二虚拟交换机对应的虚拟接口组,从而物理网卡将需发送至至少一台虚拟机的流量发送至第二虚拟交换机对应的虚拟接口组,通过第二虚拟交换机对应的虚拟接口组接收第二虚拟交换机转发的流量。可见,本发明实施例提供的技术方案,在第一虚拟交换机运行的过程中,启动第二虚拟交换机并加载第二虚拟交换机的配置文件,从而使得宿主机中无可用虚拟交换机的时间缩短,降低了用户的等待时间,提高了用户体验。
[0089] 可选的,所述装置还可以包括:
[0090] 交换机关闭模块,用于在所述接口切换模块通知所述网卡将接收虚拟机流量的虚拟接口由所述第一虚拟交换机对应的虚拟接口组切换为所述第二虚拟交换机对应的虚拟接口组之后,关闭或卸载所述第一虚拟交换机。
[0091] 可选的,所述接口切换模块,具体用于:
[0092] 在确定所述至少一台虚拟机与所述第二虚拟交换机已建立连接后,向所述宿主机中的物理网卡发送虚拟接口切换通知消息,以指示所述网卡切换虚拟接口。
[0093] 可选的,所述连接建立模块,包括:
[0094] 连接建立单元,用于向所述至少一台虚拟机发送建立连接指令,所述建立连接指令用于指示所述至少一台虚拟机与所述第二虚拟交换机建立连接,以使所述至少一台虚拟机向所述第二虚拟交换机发送队列地址信息。
[0095] 可选的,所述连接建立单元,具体用于:
[0096] 向所述至少一台虚拟机对应的Qemu管理平台发送建立连接指令,以使所述Qemu管理平台向所述第二虚拟交换机发送队列地址信息。
[0097] 第三方面,本发明实施例还提供了一种宿主机,如图4所示,包括处理器401、通信接口402、存储器403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信,
[0098] 存储器403,用于存放计算机程序;
[0099] 处理器401,用于执行存储器403上所存放的程序时,实现第一方面所述的虚拟交换机切换方法。
[0100] 上述宿主机提到的通信总线可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry  Standard Architecture,EISA)总线等。该通信总线可以分为地址总线数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0101] 通信接口用于上述宿主机与其他设备之间的通信。
[0102] 存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0103] 上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0104] 本发明实施例提供的技术方案,宿主机接收到虚拟交换机的切换指令后,在保持第一虚拟交换机运行的情况下,启动第二虚拟交换机,加载第二虚拟交换机的配置文件;并建立至少一台虚拟机与第二虚拟交换机的连接;通知物理网卡切换虚拟接口,将接收虚拟机流量的虚拟接口由第一虚拟交换机对应的虚拟接口组切换为第二虚拟交换机对应的虚拟接口组,从而物理网卡将需发送至至少一台虚拟机的流量发送至第二虚拟交换机对应的虚拟接口组,通过第二虚拟交换机对应的虚拟接口组接收第二虚拟交换机转发的流量。可见,本发明实施例提供的技术方案,在第一虚拟交换机运行的过程中,启动第二虚拟交换机并加载第二虚拟交换机的配置文件,从而使得宿主机中无可用虚拟交换机的时间缩短,降低了用户的等待时间,提高了用户体验。
[0105] 第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现实现第一方面所述的虚拟交换机切换方法。
[0106] 本发明实施例提供的技术方案,宿主机接收到虚拟交换机的切换指令后,在保持第一虚拟交换机运行的情况下,启动第二虚拟交换机,加载第二虚拟交换机的配置文件;并建立至少一台虚拟机与第二虚拟交换机的连接;通知物理网卡切换虚拟接口,将接收虚拟机流量的虚拟接口由第一虚拟交换机对应的虚拟接口组切换为第二虚拟交换机对应的虚拟接口组,从而物理网卡将需发送至至少一台虚拟机的流量发送至第二虚拟交换机对应的虚拟接口组,通过第二虚拟交换机对应的虚拟接口组接收第二虚拟交换机转发的流量。可见,本发明实施例提供的技术方案,在第一虚拟交换机运行的过程中,启动第二虚拟交换机并加载第二虚拟交换机的配置文件,从而使得宿主机中无可用虚拟交换机的时间缩短,降低了用户的等待时间,提高了用户体验。
[0107] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0108] 本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、宿主机、存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0109] 以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈