CN116319305A - 虚拟机的路由配置下发方法、装置、存储介质及电子设备 - Google Patents

虚拟机的路由配置下发方法、装置、存储介质及电子设备 Download PDF

Info

Publication number
CN116319305A
CN116319305A CN202310300570.1A CN202310300570A CN116319305A CN 116319305 A CN116319305 A CN 116319305A CN 202310300570 A CN202310300570 A CN 202310300570A CN 116319305 A CN116319305 A CN 116319305A
Authority
CN
China
Prior art keywords
virtual machine
host
configuration
routing configuration
target data
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
Application number
CN202310300570.1A
Other languages
English (en)
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.)
Beijing Jinxun Ruibo Network Technology Co Ltd
Beijing Kingsoft Cloud Network Technology Co Ltd
Original Assignee
Beijing Jinxun Ruibo Network Technology Co Ltd
Beijing Kingsoft Cloud Network Technology Co 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 Beijing Jinxun Ruibo Network Technology Co Ltd, Beijing Kingsoft Cloud Network Technology Co Ltd filed Critical Beijing Jinxun Ruibo Network Technology Co Ltd
Priority to CN202310300570.1A priority Critical patent/CN116319305A/zh
Publication of CN116319305A publication Critical patent/CN116319305A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/046Network management architectures or arrangements comprising network management agents or mobile agents therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种虚拟机的路由配置下发方法、装置、存储介质及电子设备。该方法包括:在第一宿主机上运行的第一虚拟机请求向第二宿主机上运行的第二虚拟机发送目标数据的情况下,在第一宿主机上查找第二虚拟机的第二路由配置;在未查找到第二路由配置的情况下,在需通过代理网关传输目标数据的情况下,将目标数据发送给代理网关,以使代理网关按照第二路由配置将目标数据发送给第二宿主机,其中,代理网关保存有所有虚拟机的路由配置;接收代理网关下发的第二路由配置并将第二路由配置保存到第一宿主机。本发明解决了配置下发效率低的技术问题。

Description

虚拟机的路由配置下发方法、装置、存储介质及电子设备
技术领域
本发明涉及计算机领域,具体而言,涉及一种虚拟机的路由配置下发方法、装置、存储介质及电子设备。
背景技术
现有技术中,用户可以在物理机(宿主机)上创建虚拟机(虚拟服务器)。在用户创建虚拟服务器的时候,会主动检查同一个虚拟网络下的所有虚拟服务器。然后,主动发送路由配置到所有的这些虚拟服务器所在的宿主机上。对于在同一台宿主机上的虚拟服务器,下发的是本地路由配置;对于不在同一个宿主机上的虚拟服务器,下发的是远端路由配置。这样才能保证,每创建一个虚拟服务器,同一个虚拟网络下的所有虚拟服务器都能访问这台新的虚拟服务器。
然而,对于大规模的云计算公司来说,随着用户的增加,以及现有用户网络规模的扩大,云服务器的数量也会相应的越来越多。那么,支撑云服务器网络功能的虚拟网卡也会越来越多。于是,就面临着各个宿主机上网络配置增加而达到性能瓶颈的问题。同时,每次收到请求创建虚拟服务器的时候,如果同一个网络下现有的虚拟服务器特别多,而相应的宿主机也非常多。那么,就会下发特别多的路由配置。这会导致接口处理时间越来越长,配置下发效率低。
发明内容
本发明实施例提供了一种虚拟机的路由配置下发方法、装置、存储介质及电子设备,以至少解决配置下发效率低的技术问题。
根据本发明实施例的一个方面,提供了一种虚拟机的路由配置下发方法,包括:在第一宿主机上运行的第一虚拟机请求向第二宿主机上运行的第二虚拟机发送目标数据的情况下,在上述第一宿主机上查找上述第二虚拟机的第二路由配置;在未查找到上述第二路由配置的情况下,在需通过代理网关传输上述目标数据的情况下,将上述目标数据发送给上述代理网关,以使上述代理网关按照上述第二路由配置将上述目标数据发送给上述第二宿主机,其中,上述代理网关保存有所有虚拟机的路由配置;接收上述代理网关下发的上述第二路由配置并将上述第二路由配置保存到上述第一宿主机。
根据本发明实施例的另一方面,提供了一种虚拟机的路由配置下发装置,包括:查找模块,用于在第一宿主机上运行的第一虚拟机请求向第二宿主机上运行的第二虚拟机发送目标数据的情况下,在上述第一宿主机上查找上述第二虚拟机的第二路由配置;第一发送模块,用于在未查找到上述第二路由配置的情况下,在需通过代理网关传输上述目标数据的情况下,将上述目标数据发送给上述代理网关,以使上述代理网关按照上述第二路由配置将上述目标数据发送给上述第二宿主机,其中,上述代理网关保存有所有虚拟机的路由配置;接收模块,用于接收上述代理网关下发的上述第二路由配置并将上述第二路由配置保存到上述第一宿主机。
作为一种可选的示例,上述装置还包括:获取模块,用于在上述第一宿主机上查找上述第二虚拟机的第二路由配置之后,在未查找到上述第二路由配置的情况下,在需通过上述第一宿主机传输上述目标数据的情况下,从上述代理网关或路由配置存储区获取上述第二路由配置并将上述第二路由配置保存在本地;第二发送模块,用于根据上述第二路由配置将上述目标数据发送给上述第二宿主机。
作为一种可选的示例,上述装置还包括:记录模块,用于在未查找到上述第二路由配置的情况下,在需通过上述第一宿主机传输上述目标数据的情况下,从上述代理网关或路由配置存储区获取上述第二路由配置时,记录从上述代理网关或上述路由配置存储区获取上述第二路由配置的时长;控制模块,用于在上述时长超出允许时长的情况下,停止通过上述第一宿主机传输上述目标数据,转由通过上述代理网关传输上述目标数据,其中,上述允许时长为发送上述目标数据的上述请求所允许的延时时长。
作为一种可选的示例,上述装置还包括:调整模块,用于在记录从上述代理网关或上述路由配置存储区获取上述第二路由配置的时长之前,根据当前网络状况,调整上述允许时长的长短,其中,上述当前网络状况越好,上述允许时长越长。
作为一种可选的示例,上述装置还包括:保存模块,用于在第一宿主机上运行的第一虚拟机请求向第二宿主机上运行的第二虚拟机发送目标数据之前,在上述第二宿主机上创建上述第二虚拟机的情况下,将上述第二虚拟机的第二路由配置发送给上述代理网关,由上述代理网关保存上述第二路由配置。
作为一种可选的示例,上述装置还包括:统计模块,用于在接收上述代理网关下发的上述第二路由配置并将上述第二路由配置保存到上述第一宿主机之后,记录预定时长内,上述第一虚拟机通过上述第二路由配置向上述第二虚拟机发送数据的次数;删除模块,用于在上述次数小于上述第一虚拟机的预设阈值的情况下,将上述第二路由配置从上述第一宿主机上删除。
作为一种可选的示例,上述装置还包括:第三发送模块,用于在第一宿主机上运行的第一虚拟机请求向第二宿主机上运行的第二虚拟机发送目标数据之前或之后,在上述第一虚拟机请求向上述第一宿主机上的第三虚拟机发送数据的情况下,上述第一虚拟机通过上述第一宿主机保存的上述第三虚拟机的第三路由配置向上述第三虚拟机发送数据。
根据本发明实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被处理器运行时执行上述虚拟机的路由配置下发方法。
根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过上述计算机程序执行上述的虚拟机的路由配置下发方法。
在本发明实施例中,采用了在第一宿主机上运行的第一虚拟机请求向第二宿主机上运行的第二虚拟机发送目标数据的情况下,在上述第一宿主机上查找上述第二虚拟机的第二路由配置;在未查找到上述第二路由配置的情况下,在需通过代理网关传输上述目标数据的情况下,将上述目标数据发送给上述代理网关,以使上述代理网关按照上述第二路由配置将上述目标数据发送给上述第二宿主机,其中,上述代理网关保存有所有虚拟机的路由配置;接收上述代理网关下发的上述第二路由配置并将上述第二路由配置保存到上述第一宿主机的方法,由于在上述方法中,在第一宿主机上创建第一虚拟机之后,无需将第一虚拟机的路由配置发送给本宿主机和其他宿主机上的所有虚拟机,而是保存在代理网关上,在第一虚拟机请求向第二虚拟机发送目标数据时,由代理网关发送数据并从代理网关获取第二虚拟机的路由配置,从而实现了在需要发送数据时,获取路由配置的目的,进而无需预先下发大量的路由配置,解决了配置下发效率低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的虚拟机的路由配置下发方法的流程图;
图2是根据本发明实施例的一种可选的虚拟机的路由配置下发方法的宿主机与虚拟机关系图;
图3是根据本发明实施例的一种可选的虚拟机的路由配置下发方法的代理网关图;
图4是根据本发明实施例的一种可选的虚拟机的路由配置下发方法的路由配置存储区图;
图5是根据本发明实施例的一种可选的虚拟机的路由配置下发装置的结构示意图;
图6是根据本发明实施例的一种可选的电子设备的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的第一方面,提供了一种虚拟机的路由配置下发方法,可选地,如图1所示,上述方法包括:
S102,在第一宿主机上运行的第一虚拟机请求向第二宿主机上运行的第二虚拟机发送目标数据的情况下,在第一宿主机上查找第二虚拟机的第二路由配置;
S104,在未查找到第二路由配置的情况下,在需通过代理网关传输目标数据的情况下,将目标数据发送给代理网关,以使代理网关按照第二路由配置将目标数据发送给第二宿主机,其中,代理网关保存有所有虚拟机的路由配置;
S106,接收代理网关下发的第二路由配置并将第二路由配置保存到第一宿主机。
虚拟网卡:互联网云计算术语。是虚拟服务器也即云服务器的网卡设备,这个网卡也是虚拟的,不是真实的物理网卡,因此叫做虚拟网卡。
路由配置:(neigh配置)互联网云计算技术术语。指的是云计算中虚拟网卡间通信的必要配置,用于给出到达目的虚拟网卡的下一跳信息。
主动下发:互联网术语。指的是下发配置的方式,在使用到该配置之前就提前下发配置。
被动下发:互联网术语。指的是下发配置的方式,与主动下发相对,是一种由事件被动触发下发配置的方式,在需要使用到该配置而又没有该配置时才下发。
API:互联网中提供服务的接口(Application Programming Interface,简称:API),互联网中提供服务的接口。用户通过调用API,按照约定的格式发送网络请求到网络服务,网络服务完成配置下发。
上述方法可以应用在同一虚拟网络下的不同虚拟机之间发送数据的过程中。图2为一种宿主机与虚拟机的关系示意图。宿主机1上运行有虚拟机1和虚拟机2,宿主机2上运行有虚拟机3和虚拟机4,具体宿主机上运行有多少虚拟机根据实际宿主机的硬件能力和业务需求而定。当在宿主机上创建虚拟机时,可以通过API服务器设置创建的虚拟机的路由配置。本实施例中,第一虚拟机对应第一路由配置,第二虚拟机对应第二路由配置。
宿主机1上的两个虚拟机之间可以互相发送数据,宿主机2上的两个虚拟机之间可以互相发送数据。且不同的宿主机之间的虚拟机,如虚拟机1和虚拟机3之间,也可以发送数据。发送数据的虚拟机可以称为第一虚拟机,接收数据的虚拟机可以称为第二虚拟机。
本实施例中,第一虚拟机向第二虚拟机发送目标数据,可以有两种发送方法。第一种为第一虚拟机通过第一宿主机发送到代理网关,代理网关发送到第二宿主机,从而第二宿主机上的第二虚拟机收到目标数据。第二种为第一虚拟机通过第一宿主机,根据第二虚拟机的路由配置向第二宿主机发送目标数据,从而第二虚拟机收到目标数据。两者的区别在于,第一种方法,第一宿主机无需知晓第二虚拟机的路由配置,因为目标数据是代理网关发送的,而代理网关知晓第二虚拟机的路由配置。第二种方法,第一宿主机需要知晓第二虚拟机的路由配置。
本实施例中,如果使用代理网关发送目标数据,那么如图3所示,宿主机1具有虚拟机1、2的路由配置,没有虚拟机3的路由配置,那么,虚拟机1请求向虚拟机3发送目标数据,则通过宿主机1,将目标数据发送给代理网关,代理网关具有虚拟机1到虚拟机4的路由配置,由代理网关将目标数据发送给宿主机2,从而目标数据发送给虚拟机3。此外,代理网关将虚拟机3的路由配置返回给宿主机1,从而下次虚拟机1项虚拟机3发送数据时,可以直接由宿主机1使用虚拟机3的目标路由,向宿主机2发送数据,从而将数据发送给虚拟机3。
如果使用第一宿主机发送目标数据,那么如图4所示,虚拟机1请求向虚拟机3发送目标数据,那么,虚拟机1先通过宿主机1请求向路由配置存储区获取虚拟机3的路由配置,获取到虚拟机3的路由配置后,虚拟机1通过宿主机1,通过该路由配置,向虚拟机3所在的宿主机2发送目标数据,从而将目标数据发送给虚拟机3。本实施例中,代理网关可以具备存储路由配置的功能,而不进行目标数据的发送,而是由第一宿主机进行目标数据的发送。
由于在上述方法中,在第一宿主机上创建第一虚拟机之后,无需将第一虚拟机的路由配置发送给本宿主机和其他宿主机上的所有虚拟机,而是保存在代理网关上,在第一虚拟机请求向第二虚拟机发送目标数据时,由代理网关发送数据并从代理网关获取第二虚拟机的路由配置,从而实现了在需要发送数据时,获取路由配置的目的,进而无需预先下发大量的路由配置,解决了配置下发效率低的技术问题。
作为一种可选的示例,在第一宿主机上查找第二虚拟机的第二路由配置之后,上述方法还包括:在未查找到第二路由配置的情况下,在需通过第一宿主机传输目标数据的情况下,从代理网关或路由配置存储区获取第二路由配置并将第二路由配置保存在本地;根据第二路由配置将目标数据发送给第二宿主机。
在本实施例中,当使用第一宿主机发送目标数据时,可以先从路由配置存储区获取第二虚拟机的路由配置,然后根据路由配置将目标数据发送给第二宿主机,从而第二宿主机将目标数据给到第二虚拟机。即发送目标数据靠的是第一宿主机,而并不需要代理网关发送目标数据。
作为另一种方式,由于第一宿主机向路由配置存储区获取第二虚拟机的路由配置需要一定的时间,此时可以使用代理网关发送一部分数据,当获取到第二虚拟机的路由配置之后,可以使用宿主机1发送剩余数据,或者使用宿主机1和代理网关同时发送剩余数据。
作为一种可选的示例,在未查找到第二路由配置的情况下,在需通过第一宿主机传输目标数据的情况下,从代理网关或路由配置存储区获取第二路由配置时,上述方法还包括:记录从代理网关或路由配置存储区获取第二路由配置的时长;在时长超出允许时长的情况下,停止通过第一宿主机传输目标数据,转由通过代理网关传输目标数据,其中,允许时长为发送目标数据的请求所允许的延时时长。其中,在记录从代理网关或路由配置存储区获取第二路由配置的时长之前,上述方法还包括:根据当前网络状况,调整允许时长的长短,其中,当前网络状况越好,允许时长越长。
可选的,本实施例中,采用宿主机向第二虚拟机发送目标数据,还是采用代理网关项第二虚拟机发送目标数据,是有条件约束的。如果条件约束为空,则可以选择两者中的一者发送目标数据,或者使用两者各发送目标数据的一部分。如果有约束条件,约束条件可以为允许时长。允许时长是发送目标数据的请求所允许的延时时长。例如,允许时长为10秒,则在发送目标数据前,如果从路由配置存储区获取第二虚拟机的路由配置的时间小于10秒,则可以使用第一宿主机向第二虚拟机发送目标数据,如果从路由配置存储区获取第二虚拟机的路由配置的时间大于了10秒,那么,只能使用代理网关发送目标数据。上述的允许时长可以根据网络状况变化,网络状况越好,允许时长越长。
作为一种可选的示例,在第一宿主机上运行的第一虚拟机请求向第二宿主机上运行的第二虚拟机发送目标数据之前,上述方法还包括:在第二宿主机上创建第二虚拟机的情况下,将第二虚拟机的第二路由配置发送给代理网关,由代理网关保存第二路由配置。在第一宿主机上运行的第一虚拟机请求向第二宿主机上运行的第二虚拟机发送目标数据之前或之后,上述方法还包括:在第一虚拟机请求向第一宿主机上的第三虚拟机发送数据的情况下,第一虚拟机通过第一宿主机保存的第三虚拟机的第三路由配置向第三虚拟机发送数据。
本实施例中,在宿主机上创建虚拟机时,可以通过API接口将虚拟机的路由配置下发到宿主机上,由宿主机保存。如在第一宿主机上创建第一虚拟机,可以将第一虚拟机的第一路由配置下发到第一宿主机,并发送给代理网关,在第二宿主机上创建第二虚拟机,则将第二虚拟机的第二路由配置下发到第二宿主机,并发送给代理网关,在第一宿主机上创建第三虚拟机,则将第三虚拟机的第三路由配置下发到第一宿主机,并发送给代理网关,则第一宿主机包括第一路由配置与第三路由配置,第二宿主机包括第二路由配置,同一宿主机上的不同的虚拟机之间发送数据,可以由通过所在宿主机保存的路由配置互相发送。不同宿主机上的虚拟机之间发送数据,可以由宿主机向代理网关获取路由配置发送,或者由代理网关发送。例如,图3中虚拟机1向虚拟机2发送数据,则可以直接根据宿主机1上保存的路由配置发送数据。
作为一种可选的示例,在接收代理网关下发的第二路由配置并将第二路由配置保存到第一宿主机之后,上述方法还包括:记录预定时长内,第一虚拟机通过第二路由配置向第二虚拟机发送数据的次数;在次数小于第一虚拟机的预设阈值的情况下,将第二路由配置从第一宿主机上删除。
可选的,本实施例中,当第一虚拟机向第二虚拟机发送目标数据之后,无论使用哪一种发送方法,第一虚拟机所在的第一宿主机均会获取到第二虚拟机的路由配置并保存在第一宿主机本地。那么,后续第一虚拟机向第二虚拟机发送数据时,可以直接使用该路由配置发送。此外,本实施例中还可以记录一定时间内第一虚拟机通过第一宿主机,使用第二虚拟机的路由配置向第二虚拟机发送数据的次数。如果该次数比较少,那么说明该路由配置不常用,因此,可以删除第一宿主机上保存的第二虚拟机的第二路由配置。
本实施例中,在客户调用API服务创建虚拟服务器的时候,不再主动检查同一个虚拟网络下的所有虚拟服务器。而只是将新创建的虚拟服务器的neigh配置下发到一个流量代理网关,这个流量代理网关拥有所有虚拟服务器的neigh配置。同时下发neigh配置到本地机器。这样的话,在调用API创建新的虚拟机之后,只在该虚拟机所在宿主机上添加了配置。同一个虚拟网络下的其他虚拟服务器的宿主机上是没有该虚拟服务器的neigh配置的。那么,同一个宿主机上的虚拟服务器还是能找到本地neigh配置,可以进行通信。但是,不在同一个宿主机上的虚拟服务器没法找到本地neigh配置。这时候,流量就被转发到流量转发代理网关上。流量转发代理网关上拥有所有的虚拟服务器的neigh配置,能够提供通信。同时,流量转发代理网关发现宿主机上没有远端neigh配置后,会调用API补全宿主机上的neigh配置。这样,只要虚拟服务器间有通信记录,宿主机上就会有neigh配置。如果一直没有通信,那么宿主机上永远不会存有对方虚拟机的neigh配置。这和主动下发方式有很大区别,不管虚拟服务器间有没有通信,主动下发方式都会在所有宿主机上下发所有虚拟服务器的neigh配置。该方法即使同一个网络下现有的虚拟服务器特别多,相应的宿主机非常多,也不需要下发特别多的配置从而导致API处理时间越来越长的问题。
本实施例优点如下:
优点一,减少了API请求的响应时间。在下发虚拟服务器neigh配置时,只在虚拟服务器宿主机本机下发配置,同一个虚拟网络的其他虚拟服务器不需要下发配置。免去了查询其他宿主机信息的过程,节省了时间。
优点二,减少了硬件资源消耗。不需要下发大量的多余neigh配置信息到宿主机上,节省了宿主机的硬件资源。
优点三,提高了灵活性。按需下发,虚拟服务器间有通信才会下发,体现了灵活性。
本方案是针对网络中虚拟服务器的neigh配置设计,避免大量无用neigh配置在宿主机下发。在虚拟服务器间有通信时才下发必要的neigh配置到宿主机上,没有通信时则不下发。只将配置存在一个第三方平台或者代理网关。需要查配置时,去第三方平台或者代理网关查询配置补充下发到宿主机上。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本申请实施例的另一方面,还提供了一种虚拟机的路由配置下发装置,如图5所示,包括:
查找模块502,用于在第一宿主机上运行的第一虚拟机请求向第二宿主机上运行的第二虚拟机发送目标数据的情况下,在第一宿主机上查找第二虚拟机的第二路由配置;
第一发送模块504,用于在未查找到第二路由配置的情况下,在需通过代理网关传输目标数据的情况下,将目标数据发送给代理网关,以使代理网关按照第二路由配置将目标数据发送给第二宿主机,其中,代理网关保存有所有虚拟机的路由配置;
接收模块506,用于接收代理网关下发的第二路由配置并将第二路由配置保存到第一宿主机。
上述方法可以应用在同一虚拟网络下的不同虚拟机之间发送数据的过程中。图2为一种宿主机与虚拟机的关系示意图。宿主机1上运行有虚拟机1和虚拟机2,宿主机2上运行有虚拟机3和虚拟机4,具体宿主机上运行有多少虚拟机根据实际宿主机的硬件能力和业务需求而定。当在宿主机上创建虚拟机时,可以通过API服务器设置创建的虚拟机的路由配置。本实施例中,第一虚拟机对应第一路由配置,第二虚拟机对应第二路由配置。
宿主机1上的两个虚拟机之间可以互相发送数据,宿主机2上的两个虚拟机之间可以互相发送数据。且不同的宿主机之间的虚拟机,如虚拟机1和虚拟机3之间,也可以发送数据。发送数据的虚拟机可以称为第一虚拟机,接收数据的虚拟机可以称为第二虚拟机。
本实施例中,第一虚拟机向第二虚拟机发送目标数据,可以有两种发送方法。第一种为第一虚拟机通过第一宿主机发送到代理网关,代理网关发送到第二宿主机,从而第二宿主机上的第二虚拟机收到目标数据。第二种为第一虚拟机通过第一宿主机,根据第二虚拟机的路由配置向第二宿主机发送目标数据,从而第二虚拟机收到目标数据。两者的区别在于,第一种方法,第一宿主机无需知晓第二虚拟机的路由配置,因为目标数据是代理网关发送的,而代理网关知晓第二虚拟机的路由配置。第二种方法,第一宿主机需要知晓第二虚拟机的路由配置。
本实施例中,如果使用代理网关发送目标数据,那么如图3所示,宿主机1具有虚拟机1、2的路由配置,没有虚拟机3的路由配置,那么,虚拟机1请求向虚拟机3发送目标数据,则通过宿主机1,将目标数据发送给代理网关,代理网关具有虚拟机1到虚拟机4的路由配置,由代理网关将目标数据发送给宿主机2,从而目标数据发送给虚拟机3。此外,代理网关将虚拟机3的路由配置返回给宿主机1,从而下次虚拟机1项虚拟机3发送数据时,可以直接由宿主机1使用虚拟机3的目标路由,向宿主机2发送数据,从而将数据发送给虚拟机3。
如果使用第一宿主机发送目标数据,那么如图4所示,虚拟机1请求向虚拟机3发送目标数据,那么,虚拟机1先通过宿主机1请求向路由配置存储区获取虚拟机3的路由配置,获取到虚拟机3的路由配置后,虚拟机1通过宿主机1,通过该路由配置,向虚拟机3所在的宿主机2发送目标数据,从而将目标数据发送给虚拟机3。路由配置存储区可以为代理网关,即代理网关具备存储路由配置的功能,但是不进行目标数据的发送,而是由第一宿主机进行目标数据的发送。
由于在上述方法中,在第一宿主机上创建第一虚拟机之后,无需将第一虚拟机的路由配置发送给本宿主机和其他宿主机上的所有虚拟机,而是保存在代理网关上,在第一虚拟机请求向第二虚拟机发送目标数据时,由代理网关发送数据并从代理网关获取第二虚拟机的路由配置,从而实现了在需要发送数据时,获取路由配置的目的,进而无需预先下发大量的路由配置,解决了配置下发效率低的技术问题。
本实施例的其他示例请参见上述示例,在此不在赘述。
图6是根据本申请实施例的一种可选的电子设备的示意图,如图6所示,包括处理器602、通信接口604、存储器606和通信总线608,其中,处理器602、通信接口604和存储器606通过通信总线608完成相互间的通信,其中,
存储器606,用于存储计算机程序;
处理器602,用于执行存储器606上所存放的计算机程序时,实现如下步骤:
在第一宿主机上运行的第一虚拟机请求向第二宿主机上运行的第二虚拟机发送目标数据的情况下,在第一宿主机上查找第二虚拟机的第二路由配置;
在未查找到第二路由配置的情况下,在需通过代理网关传输目标数据的情况下,将目标数据发送给代理网关,以使代理网关按照第二路由配置将目标数据发送给第二宿主机,其中,代理网关保存有所有虚拟机的路由配置;
接收代理网关下发的第二路由配置并将第二路由配置保存到第一宿主机。
可选地,在本实施例中,上述的通信总线可以是PCI(Peripheral ComponentInterconnect,外设部件互连标准)总线、或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括RAM,也可以包括非易失性存储器(non-volatile memory),例如,至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
作为一种示例,上述存储器606中可以但不限于包括上述虚拟机的路由配置下发装置中的查找模块502、第一发送模块504以及接收模块506。此外,还可以包括但不限于上述虚拟机的路由配置下发装置中的其他模块单元,本示例中不再赘述。
上述处理器可以是通用处理器,可以包含但不限于:CPU(Central ProcessingUnit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(DigitalSignal Processing,数字信号处理器)、ASIC(Application Specific IntegratedCircuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图6所示的结构仅为示意,实施上述虚拟机的路由配置下发方法的设备可以是终端设备,该终端设备可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图6并不对上述电子设备的结构造成限定。例如,电子设备还可包括比图6中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图6所示的不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、ROM、RAM、磁盘或光盘等。
根据本发明的实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被处理器运行时执行上述虚拟机的路由配置下发方法中的步骤。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种虚拟机的路由配置下发方法,其特征在于,包括:
在第一宿主机上运行的第一虚拟机请求向第二宿主机上运行的第二虚拟机发送目标数据的情况下,在所述第一宿主机上查找所述第二虚拟机的第二路由配置;
在未查找到所述第二路由配置的情况下,在需通过代理网关传输所述目标数据的情况下,将所述目标数据发送给所述代理网关,以使所述代理网关按照所述第二路由配置将所述目标数据发送给所述第二宿主机,其中,所述代理网关保存有所有虚拟机的路由配置;
接收所述代理网关下发的所述第二路由配置并将所述第二路由配置保存到所述第一宿主机。
2.根据权利要求1所述的方法,其特征在于,在所述第一宿主机上查找所述第二虚拟机的第二路由配置之后,所述方法还包括:
在未查找到所述第二路由配置的情况下,在需通过所述第一宿主机传输所述目标数据的情况下,从所述代理网关或路由配置存储区获取所述第二路由配置并将所述第二路由配置保存在本地;
根据所述第二路由配置将所述目标数据发送给所述第二宿主机。
3.根据权利要求2所述的方法,其特征在于,在未查找到所述第二路由配置的情况下,在需通过所述第一宿主机传输所述目标数据的情况下,从所述代理网关或路由配置存储区获取所述第二路由配置时,所述方法还包括:
记录从所述代理网关或所述路由配置存储区获取所述第二路由配置的时长;
在所述时长超出允许时长的情况下,停止通过所述第一宿主机传输所述目标数据,转由通过所述代理网关传输所述目标数据,其中,所述允许时长为发送所述目标数据的所述请求所允许的延时时长。
4.根据权利要求3所述的方法,其特征在于,在记录从所述代理网关或所述路由配置存储区获取所述第二路由配置的时长之前,所述方法还包括:
根据当前网络状况,调整所述允许时长的长短,其中,所述当前网络状况越好,所述允许时长越长。
5.根据权利要求1所述的方法,其特征在于,在第一宿主机上运行的第一虚拟机请求向第二宿主机上运行的第二虚拟机发送目标数据之前,所述方法还包括:
在所述第二宿主机上创建所述第二虚拟机的情况下,将所述第二虚拟机的第二路由配置发送给所述代理网关,由所述代理网关保存所述第二路由配置。
6.根据权利要求1所述的方法,其特征在于,在接收所述代理网关下发的所述第二路由配置并将所述第二路由配置保存到所述第一宿主机之后,所述方法还包括:
记录预定时长内,所述第一虚拟机通过所述第二路由配置向所述第二虚拟机发送数据的次数;
在所述次数小于所述第一虚拟机的预设阈值的情况下,将所述第二路由配置从所述第一宿主机上删除。
7.根据权利要求1所述的方法,其特征在于,在第一宿主机上运行的第一虚拟机请求向第二宿主机上运行的第二虚拟机发送目标数据之前或之后,所述方法还包括:
在所述第一虚拟机请求向所述第一宿主机上的第三虚拟机发送数据的情况下,所述第一虚拟机通过所述第一宿主机保存的所述第三虚拟机的第三路由配置向所述第三虚拟机发送数据。
8.一种虚拟机的路由配置下发装置,其特征在于,包括:
查找模块,用于在第一宿主机上运行的第一虚拟机请求向第二宿主机上运行的第二虚拟机发送目标数据的情况下,在所述第一宿主机上查找所述第二虚拟机的第二路由配置;
第一发送模块,用于在未查找到所述第二路由配置的情况下,在需通过代理网关传输所述目标数据的情况下,将所述目标数据发送给所述代理网关,以使所述代理网关按照所述第二路由配置将所述目标数据发送给所述第二宿主机,其中,所述代理网关保存有所有虚拟机的路由配置;
接收模块,用于接收所述代理网关下发的所述第二路由配置并将所述第二路由配置保存到所述第一宿主机。
9.一种计算机可读的存储介质,所述计算机可读的存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行所述权利要求1至7任一项中所述的方法。
10.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至7任一项中所述的方法。
CN202310300570.1A 2023-03-24 2023-03-24 虚拟机的路由配置下发方法、装置、存储介质及电子设备 Pending CN116319305A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310300570.1A CN116319305A (zh) 2023-03-24 2023-03-24 虚拟机的路由配置下发方法、装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310300570.1A CN116319305A (zh) 2023-03-24 2023-03-24 虚拟机的路由配置下发方法、装置、存储介质及电子设备

Publications (1)

Publication Number Publication Date
CN116319305A true CN116319305A (zh) 2023-06-23

Family

ID=86834043

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310300570.1A Pending CN116319305A (zh) 2023-03-24 2023-03-24 虚拟机的路由配置下发方法、装置、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN116319305A (zh)

Similar Documents

Publication Publication Date Title
CN106850402B (zh) 消息的传输方法和装置
CN106550003B (zh) 负载均衡的控制方法、装置及系统
CN100407627C (zh) 一种实现端到端文件共享的系统及方法
CN105812435B (zh) 应用升级数据包处理方法、装置、电子设备及系统
US8903972B2 (en) Method and apparatus for sharing contents using information of group change in content oriented network environment
CN103795569A (zh) 一种基于连接池的服务器连接方法和装置
CN111163130A (zh) 一种网络服务系统及其数据传输方法
CN104468852A (zh) 客户端选择ip链接地址的方法、装置及系统
CN112839076B (zh) 数据存储、读取方法、网关、电子设备及存储介质
WO2021184992A1 (zh) 一种镜像文件的上传方法、相关设备及计算机存储介质
CN114338650A (zh) 文件传输方法、装置、电子设备及可读存储介质
CN110392119B (zh) 一种数据传输方法及基站
CN111064786B (zh) 账户标识管理方法及设备
CN109873855A (zh) 一种基于区块链网络的资源获取方法和系统
CN103716230A (zh) 消息发送方法、装置及服务器
CN109479214B (zh) 一种负载均衡的方法及相关装置
CN101753561B (zh) 业务的集群处理方法及集群系统
CN110784510A (zh) 目标服务节点接入总线的方法、服务节点的信息交互方法
CN116319305A (zh) 虚拟机的路由配置下发方法、装置、存储介质及电子设备
CN114048028A (zh) 服务调用方法、装置、存储介质和电子设备
US11057489B2 (en) Content deployment method and delivery controller
US10237592B2 (en) Method and apparatus for video transmission
CN110519400B (zh) 将设备流量进行多入口分离的物联网平台的实现方法
CN110598085B (zh) 一种用于终端的信息查询方法及终端
CN111124445B (zh) 一种家庭网关的升级方法及家庭网关

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