虚拟网卡的热插拔处理方法、装置、存储介质及处理器与流程

文档序号:27947251发布日期:2021-12-11 14:45阅读:165来源:国知局
虚拟网卡的热插拔处理方法、装置、存储介质及处理器与流程

1.本技术涉及网卡驱动技术领域,具体而言,涉及一种虚拟网卡的热插拔处理方法、装置、存储介质及处理器。


背景技术:

2.互联网时代,云计算盛行,很多业务/设备运行在云平台,以虚拟机的方式提供服务。而网络环境的不断变更,会带来网络拓扑的改变,因而需要在虚拟机运行状态,能动态增加或删除虚拟网卡,从而保证在现有业务数据流不中断的情况下,实现新的网络通信需求,现有的标准的linux虚拟机使用内核驱动,虽然可以直接实现虚拟网卡热插拔,但是热插拔的效率较低。
3.针对相关技术中对虚拟网卡的热插拔效率较低的问题,目前尚未提出有效的解决方案。


技术实现要素:

4.本技术的主要目的在于提供一种虚拟网卡的热插拔处理方法、装置、存储介质及处理器,以解决相关技术中对虚拟网卡的热插拔效率较低的问题。
5.为了实现上述目的,根据本技术的一个方面,提供了一种虚拟网卡的热插拔处理方法。该方法包括:检测目标虚拟网卡的插入动作;若检测到目标虚拟网卡插入至目标虚拟机的内核层中,获取目标虚拟网卡的配置信息;在dpdk模块中通过配置信息对目标虚拟网卡进行处理,得到处理后的目标虚拟网卡;创建处理后的目标虚拟网卡的网卡接口。
6.进一步地,若检测到目标虚拟网卡插入至目标虚拟机的内核层中,获取目标虚拟网卡的配置信息包括:若在内核层中检测出虚拟网卡的数量增加,则确认目标虚拟网卡插入至目标虚拟机的内核层中;在内核层中确定目标虚拟网卡的添加事件;基于添加事件获取目标虚拟网卡的配置信息。
7.进一步地,在内核层中确定目标虚拟网卡的添加事件之后,该方法还包括:将添加事件添加至目标虚拟网卡的事件队列中;按照预设时长对事件队列中的添加事件进行获取;将获取到的添加事件存放至信息表中,其中,信息表中至少包括:目标虚拟网卡的配置信息、目标虚拟网卡的卡板状态信息。
8.进一步地,在dpdk模块中通过配置信息对目标虚拟网卡进行处理,得到处理后的目标虚拟网卡包括:若通过信息表确定目标虚拟网卡的卡板状态信息为非空状态,则触发dpdk模块对信息表中配置信息的更新;基于更新后的配置信息对目标虚拟网卡进行处理,得到处理后的目标虚拟网卡。
9.进一步地,目标虚拟机的层级结构至少包括:内核层、支撑层、应用层,其中,应用层用于显示网卡接口。
10.进一步地,在创建处理后的目标虚拟网卡的网卡接口之后,该方法还包括:在应用层显示网卡接口;检测目标虚拟网卡是否被移出;若检测到目标虚拟网卡被移出,确定目标
虚拟网卡的移出事件;将移出事件添加至目标虚拟网卡的事件队列中,其中,事件队列中包括目标虚拟网卡的目标地址;通过目标虚拟网卡的目标地址对目标虚拟网卡的配置信息进行删除,设置配置信息删除后的目标虚拟网卡的卡板状态信息为空状态。
11.进一步地,在设置配置信息删除后的目标虚拟网卡的卡板状态信息为空状态之后,该方法还包括:对目标虚拟网卡的卡板进行删除;在目标虚拟网卡的卡板被删除的情况下,对目标虚拟网卡的网卡接口执行删除操作。
12.为了实现上述目的,根据本技术的另一方面,提供了一种虚拟网卡的热插拔处理装置。该装置包括:第一检测单元,用于检测目标虚拟网卡的插入动作;第一获取单元,用于若检测到目标虚拟网卡插入至目标虚拟机的内核层中,获取目标虚拟网卡的配置信息;第一处理单元,用于在dpdk模块中通过配置信息对目标虚拟网卡进行处理,得到处理后的目标虚拟网卡;第一创建单元,用于创建处理后的目标虚拟网卡的网卡接口。
13.进一步地,第一获取单元包括:第一确定模块,用于若在内核层中检测出虚拟网卡的数量增加,则确认目标虚拟网卡插入至目标虚拟机的内核层中;第二确定模块,用于在内核层中确定目标虚拟网卡的添加事件;第一获取模块,用于基于添加事件获取目标虚拟网卡的配置信息。
14.进一步地,该装置还包括:第一添加单元,用于在内核层中确定目标虚拟网卡的添加事件之后,将添加事件添加至目标虚拟网卡的事件队列中;第二获取单元,用于按照预设时长对事件队列中的添加事件进行获取;第一存放单元,用于将获取到的添加事件存放至信息表中,其中,信息表中至少包括:目标虚拟网卡的配置信息、目标虚拟网卡的卡板状态信息。
15.进一步地,第一处理单元包括:第一触发模块,用于若通过信息表确定目标虚拟网卡的卡板状态信息为非空状态,则触发dpdk模块对信息表中配置信息的更新;第一处理模块,用于基于更新后的配置信息对目标虚拟网卡进行处理,得到处理后的目标虚拟网卡。
16.进一步地,目标虚拟机的层级结构至少包括:内核层、支撑层、应用层,其中,应用层用于显示网卡接口。
17.进一步地,该装置还包括:第一显示单元,用于在创建处理后的目标虚拟网卡的网卡接口之后,在应用层显示网卡接口;第二检测单元,用于检测目标虚拟网卡是否被移出;第一确定单元,用于若检测到目标虚拟网卡被移出,确定目标虚拟网卡的移出事件;第二添加单元,用于将移出事件添加至目标虚拟网卡的事件队列中,其中,事件队列中包括目标虚拟网卡的目标地址;第一删除单元,用于通过目标虚拟网卡的目标地址对目标虚拟网卡的配置信息进行删除,设置配置信息删除后的目标虚拟网卡的卡板状态信息为空状态。
18.进一步地,该装置还包括:第二删除单元,用于在设置配置信息删除后的目标虚拟网卡的卡板状态信息为空状态之后,对目标虚拟网卡的卡板进行删除;第三删除单元,用于在目标虚拟网卡的卡板被删除的情况下,对目标虚拟网卡的网卡接口执行删除操作。
19.根据本技术实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述任意一项的方法。
20.根据本技术实施例的另一方面,还提供了一种计算机可读存储介质,其上存储有计算机程序/指令,该计算机程序/指令被处理器执行时执行上述任意一项的方法。
21.通过本技术,采用以下步骤:检测目标虚拟网卡的插入动作;若检测到目标虚拟网
卡插入至目标虚拟机的内核层中,获取目标虚拟网卡的配置信息;在dpdk模块中通过配置信息对目标虚拟网卡进行处理,得到处理后的目标虚拟网卡;创建处理后的目标虚拟网卡的网卡接口。解决了相关技术中对虚拟网卡的热插拔效率较低的问题,通过在dpdk模块中基于目标虚拟网卡的配置信息对目标虚拟网卡进行热插拔处理,进而达到了提升虚拟网卡热插拔效率的效果。
附图说明
22.构成本技术的一部分的附图用来提供对本技术的进一步理解,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
23.图1是根据本技术实施例提供的虚拟网卡的热插拔处理方法的流程图;
24.图2是根据本技术实施例提供的虚拟网卡的热插拔处理方法的虚拟网卡插入的示意图;
25.图3是根据本技术实施例提供的虚拟网卡的热插拔处理方法的虚拟网卡移出的示意图;以及
26.图4是根据本技术实施例提供的虚拟网卡的热插拔处理装置的示意图。
具体实施方式
27.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
28.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
29.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
30.为了便于描述,以下对本技术实施例涉及的部分名词或术语进行说明:
31.dpdk:数据平面开发套件,(data plane development kit)主要基于linux系统运行,用于快速数据包处理的函数库与驱动集合,可以极大提高数据处理性能和吞吐量,提高数据平面应用程序的工作效率。
32.根据本技术的实施例,提供了一种虚拟网卡的热插拔处理方法。
33.图1是根据本技术实施例的虚拟网卡的热插拔处理方法的流程图。如图1所示,该方法包括以下步骤:
34.步骤s101,检测目标虚拟网卡的插入动作。
35.例如,在目标虚拟网卡插入至卡槽时,基于目标虚拟机层级结构中的linux内核层
对目标虚拟网卡的插入动作进行检测。
36.步骤s102,若检测到目标虚拟网卡插入至目标虚拟机的内核层中,获取目标虚拟网卡的配置信息。
37.例如,虚拟网卡a(对应于本技术中的目标虚拟网卡,下同)插入至内核层中之前,内核层已经存在若干个虚拟网卡,获取虚拟网卡a的配置信息,并将虚拟网卡a添加至若干个虚拟网卡队列中。
38.可选地,在本技术实施例提供的虚拟网卡的热插拔处理方法中,若检测到目标虚拟网卡插入至目标虚拟机的内核层中,获取目标虚拟网卡的配置信息包括:若在内核层中检测出虚拟网卡的数量增加,则确认目标虚拟网卡插入至目标虚拟机的内核层中;在内核层中确定目标虚拟网卡的添加事件;基于添加事件获取目标虚拟网卡的配置信息。
39.例如,内核层中的虚拟网卡数量有3个,当虚拟网卡a插入至内核层,当内核层中检测到虚拟网卡的数量增加时,确认虚拟网卡插入至目标虚拟机的内核层中,将虚拟网卡a添加至内核层中的事件确定为虚拟网卡a的添加事件,虚拟网卡a的添加事件包括a的pci地址,其中,目标虚拟网卡的配置信息至少包含pci地址,本技术通过虚拟机运行过程中动态增加虚拟网卡,进而保证了在现有业务数据流不中断的情况下,实现新的网络通信需求,并提升了虚拟网卡的热插拔效率。
40.可选地,在本技术实施例提供的虚拟网卡的热插拔处理方法中,在内核层中确定目标虚拟网卡的添加事件之后,该方法还包括:将添加事件添加至目标虚拟网卡的事件队列中;按照预设时长对事件队列中的添加事件进行获取;将获取到的添加事件存放至信息表中,其中,信息表中至少包括:目标虚拟网卡的配置信息、目标虚拟网卡的卡板状态信息。
41.例如,将虚拟网卡a的添加事件添加至时间队列中,控制模块1每隔1s(对应于本技术中的预设时长)对事件队列的添加事件检测,获取虚拟网卡a的添加事件中虚拟网卡的pci地址,将pci地址存放至虚拟网卡的信息表中,并设置当前虚拟网卡中槽位子卡的插入状态(对应于本技术中目标虚拟网卡的卡板状态信息),通过将添加事件添加至目标虚拟网卡的事件队列中,使得控制模块1能够实时获取目标虚拟网卡的插入状态,进而提升虚拟网卡的热插拔效率。
42.例如,基于控制模块1得到的虚拟网卡的信息表,其中,初始化时信息表如下表一所示:
43.表一
44.slotportidpci_addrmac_addrslot_status100000:00:00.000:00:00:00:00:00empty200000:00:00.000:00:00:00:00:00empty300000:00:00.000:00:00:00:00:00empty400000:00:00.000:00:00:00:00:00empty500000:00:00.000:00:00:00:00:00empty600000:00:00.000:00:00:00:00:00empty700000:00:00.000:00:00:00:00:00empty800000:00:00.000:00:00:00:00:00empty900000:00:00.000:00:00:00:00:00empty
1000000:00:00.000:00:00:00:00:00empty
45.如上表一所示,其中,slot表示槽位号,从1开始,10个子卡就是1

10,portid表示网卡的id,从0开始,是由dpdk模块分配具体的id,pci_addr表示网卡的pci地址,mac_addr表示网卡的mac地址,slot_status表示当前槽位子卡的插入状态,empty表示未插入,present表示已插入。
46.当信息表中在虚拟网卡a插入内核层之前,已经包含3个虚拟网卡时,信息表如下表二所示:
47.表二
48.slotportidpci_addrmac_addrslot_status100000:00:03.052:54:00:01:8c:93present210000:00:04.052:54:00:2b:2f:a7present320000:00:05.052:54:00:2f:fd:a7present400000:00:00.000:00:00:00:00:00empty500000:00:00.000:00:00:00:00:00empty600000:00:00.000:00:00:00:00:00empty700000:00:00.000:00:00:00:00:00empty800000:00:00.000:00:00:00:00:00empty900000:00:00.000:00:00:00:00:00empty1000000:00:00.000:00:00:00:00:00empty
49.当信息表中在虚拟网卡a插入内核层之后,已经包含3个虚拟网卡时,信息表如下表三所示:
50.表三
[0051][0052][0053]
具体的,由上表三可知,虚拟网卡a的pci地址为0000:00:06.0,卡板状态信息为非空状态(存在虚拟网卡插入)。
[0054]
步骤s103,在dpdk模块中通过配置信息对目标虚拟网卡进行处理,得到处理后的目标虚拟网卡。
[0055]
例如,控制模块1根据虚拟网卡的热插拔监测机制,监测到上述表三中的卡板状态信息为有虚拟网卡插入时,进行slot4(槽位号4)的初始化,初始化完成之后,基于dpdk模块
对槽位号4对应的虚拟网卡a进行处理。
[0056]
可选地,在本技术实施例提供的虚拟网卡的热插拔处理方法中,在dpdk模块中通过配置信息对目标虚拟网卡进行处理,得到处理后的目标虚拟网卡包括:若通过信息表确定目标虚拟网卡的卡板状态信息为非空状态,则触发dpdk模块对信息表中配置信息的更新;基于更新后的配置信息对目标虚拟网卡进行处理,得到处理后的目标虚拟网卡。
[0057]
例如,dpdk模块接收到控制模块发送的目标虚拟网卡已经插入的通知,基于虚拟网卡信息表中获取虚拟网卡a的pci地址,基于pci地址对虚拟网卡进行初始化以及信息的配置,从配置后的虚拟网卡a的信息中获取虚拟网卡a的id信息以及虚拟网卡a的mac地址信息,将配置后的虚拟网卡a的信息更新至信息表中,本技术基于dpdk模块对虚拟网卡的驱动,以及对虚拟网卡配置信息的高效更新,进一步提升了对虚拟网卡的热插拔效率。
[0058]
更新后的虚拟网卡a的配置信息如下表四所示:
[0059]
表四
[0060][0061][0062]
步骤s104,创建处理后的目标虚拟网卡的网卡接口。
[0063]
例如,信息表中虚拟网卡的配置信息更新完成后,控制模块2接收到控制模块1发送的虚拟网卡a已经插入卡槽的通知,对虚拟网卡a执行逻辑接口的初始化处理,并创建虚拟网卡a的接口信息,例如,虚拟网卡的接口信息为interface ethernet4/0。
[0064]
可选地,在本技术实施例提供的虚拟网卡的热插拔处理方法中,目标虚拟机的层级结构至少包括:内核层、支撑层、应用层,其中,应用层用于显示网卡接口,本技术通过目标虚拟机的层级之间相互配合,进一步提升虚拟网卡的热插拔效率。
[0065]
图2是根据本技术实施例提供的虚拟网卡的热插拔处理方法的虚拟网卡插入的示意图,如图2所示,虚拟网卡插入实施的层级包含三个层级,在内核层中检测目标虚拟网卡的插入信息之后,在支撑层中的控制模块1先从目标虚拟网卡的事件队列中获取添加事件,获取添加事件中的目标虚拟网卡的配置信息,然后经过dpdk模块对配置信息进行处理,通过控制模块2创建目标虚拟网卡的接口信息,最后基于应用层对创建完成的目标虚拟网卡的网卡接口进行显示。
[0066]
可选地,在本技术实施例提供的虚拟网卡的热插拔处理方法中,在创建处理后的目标虚拟网卡的网卡接口之后,该方法还包括:在应用层显示网卡接口;检测目标虚拟网卡是否被移出;若检测到目标虚拟网卡被移出,确定目标虚拟网卡的移出事件;将移出事件添加至目标虚拟网卡的事件队列中,其中,事件队列中包括目标虚拟网卡的目标地址;通过目
标虚拟网卡的目标地址对目标虚拟网卡的配置信息进行删除,设置配置信息删除后的目标虚拟网卡的卡板状态信息为空状态。
[0067]
例如,应用层的窗口显示虚拟网卡a的接口信息之后,一段时间之后系统不需要虚拟网卡a,执行删除槽位4的指令,dpdk模块响应指令获取虚拟网卡a的id信息,以实现对虚拟网卡a进行移出,内核层检测到虚拟网卡a被移出,生成移出事件插入到事件队列中,其中,移出事件包含虚拟网卡a的pci地址,控制模块1每隔1秒对移出事件进行检测,通过虚拟网卡a的pci地址确认虚拟网卡a被移出,对虚拟网卡a的mac地址、pci地址、网卡的id地址进行删除,设置配置信息删除后的目标虚拟网卡的卡板状态信息为空状态,其中,虚拟网卡a移出后信息表的更新如下表四所示:
[0068]
表四
[0069][0070][0071]
本技术通过虚拟机运行过程中动态移出虚拟网卡,进而保证了在现有业务数据流不中断的情况下,实现新的网络通信需求,并提升了虚拟网卡的热插拔效率。
[0072]
可选地,在本技术实施例提供的虚拟网卡的热插拔处理方法中,在设置配置信息删除后的目标虚拟网卡的卡板状态信息为空状态之后,该方法还包括:对目标虚拟网卡的卡板进行删除;在目标虚拟网卡的卡板被删除的情况下,对目标虚拟网卡的网卡接口执行删除操作。
[0073]
具体的,图3是根据本技术实施例提供的虚拟网卡的热插拔处理方法的虚拟网卡移出的示意图,如图3所示,dpdk模块响应应用层指令将虚拟网卡a移出,控制模块1的热插拔监控机制,获取内核层中的虚拟网卡a的移出事件,并检测到有板卡移除的情况发生,对目标虚拟网卡的卡板进行删除,处理完成后,通知控制模块2卡板已经删除,控制模块2进行逻辑接口的删除处理,也即删除interface ethernet4/0,应用层中的应用层模块触发命令不进行虚拟网卡a逻辑接口ethernet4/0的显示。
[0074]
综上,本技术实施例提供的虚拟网卡的热插拔处理方法,通过检测目标虚拟网卡的插入动作;若检测到目标虚拟网卡插入至目标虚拟机的内核层中,获取目标虚拟网卡的配置信息;在dpdk模块中通过配置信息对目标虚拟网卡进行处理,得到处理后的目标虚拟网卡;创建处理后的目标虚拟网卡的网卡接口。解决了相关技术中对虚拟网卡的热插拔效率较低的问题,通过在dpdk模块中基于目标虚拟网卡的配置信息对目标虚拟网卡进行热插拔处理,进而达到了提升虚拟网卡热插拔效率的效果。
[0075]
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0076]
本技术实施例还提供了一种虚拟网卡的热插拔处理装置,需要说明的是,本技术实施例的虚拟网卡的热插拔处理装置可以用于执行本技术实施例所提供的用于虚拟网卡的热插拔处理方法。以下对本技术实施例提供的虚拟网卡的热插拔处理装置进行介绍。
[0077]
图4是根据本技术实施例的虚拟网卡的热插拔处理装置的示意图。如图4所示,该装置包括:第一检测单元401、第一获取单元402、第一处理单元403、第一创建单元404。
[0078]
具体的,第一检测单元401,用于检测目标虚拟网卡的插入动作;
[0079]
第一获取单元402,用于若检测到目标虚拟网卡插入至目标虚拟机的内核层中,获取目标虚拟网卡的配置信息;第一处理单元403,
[0080]
用于在dpdk模块中通过配置信息对目标虚拟网卡进行处理,得到处理后的目标虚拟网卡;
[0081]
第一创建单元404,用于创建处理后的目标虚拟网卡的网卡接口。
[0082]
综上,本技术实施例提供的虚拟网卡的热插拔处理装置,通过第一检测单元401检测目标虚拟网卡的插入动作;第一获取单元402若检测到目标虚拟网卡插入至目标虚拟机的内核层中,获取目标虚拟网卡的配置信息;第一处理单元403在dpdk模块中通过配置信息对目标虚拟网卡进行处理,得到处理后的目标虚拟网卡;第一创建单元404创建处理后的目标虚拟网卡的网卡接口,解决了相关技术中对虚拟网卡的热插拔效率较低的问题,通过在dpdk模块中基于目标虚拟网卡的配置信息对目标虚拟网卡进行热插拔处理,进而达到了提升虚拟网卡热插拔效率的效果。
[0083]
可选地,在本技术实施例提供的虚拟网卡的热插拔处理装置中,第一获取单元402包括:第一确定模块,用于若在内核层中检测出虚拟网卡的数量增加,则确认目标虚拟网卡插入至目标虚拟机的内核层中;第二确定模块,用于在内核层中确定目标虚拟网卡的添加事件;第一获取模块,用于基于添加事件获取目标虚拟网卡的配置信息。
[0084]
可选地,在本技术实施例提供的虚拟网卡的热插拔处理装置中,该装置还包括:第一添加单元,用于在内核层中确定目标虚拟网卡的添加事件之后,将添加事件添加至目标虚拟网卡的事件队列中;第二获取单元,用于按照预设时长对事件队列中的添加事件进行获取;第一存放单元,用于将获取到的添加事件存放至信息表中,其中,信息表中至少包括:目标虚拟网卡的配置信息、目标虚拟网卡的卡板状态信息。
[0085]
可选地,在本技术实施例提供的虚拟网卡的热插拔处理装置中,第一处理单元403包括:第一触发模块,用于若通过信息表确定目标虚拟网卡的卡板状态信息为非空状态,则触发dpdk模块对信息表中配置信息的更新;第一处理模块,用于基于更新后的配置信息对目标虚拟网卡进行处理,得到处理后的目标虚拟网卡。
[0086]
可选地,在本技术实施例提供的虚拟网卡的热插拔处理装置中,目标虚拟机的层级结构至少包括:内核层、支撑层、应用层,其中,应用层用于显示网卡接口。
[0087]
可选地,在本技术实施例提供的虚拟网卡的热插拔处理装置中,该装置还包括:第一显示单元,用于在创建处理后的目标虚拟网卡的网卡接口之后,在应用层显示网卡接口;第二检测单元,用于检测目标虚拟网卡是否被移出;第一确定单元,用于若检测到目标虚拟
网卡被移出,确定目标虚拟网卡的移出事件;第二添加单元,用于将移出事件添加至目标虚拟网卡的事件队列中,其中,事件队列中包括目标虚拟网卡的目标地址;第一删除单元,用于通过目标虚拟网卡的目标地址对目标虚拟网卡的配置信息进行删除,设置配置信息删除后的目标虚拟网卡的卡板状态信息为空状态。
[0088]
可选地,在本技术实施例提供的虚拟网卡的热插拔处理装置中,该装置还包括:第二删除单元,用于在设置配置信息删除后的目标虚拟网卡的卡板状态信息为空状态之后,对目标虚拟网卡的卡板进行删除;第三删除单元,用于在目标虚拟网卡的卡板被删除的情况下,对目标虚拟网卡的网卡接口执行删除操作。
[0089]
虚拟网卡的热插拔处理装置包括处理器和存储器,上述的第一检测单元401、第一获取单元402、第一处理单元403、第一创建单元404等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
[0090]
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来进行虚拟网卡的热插拔处理。
[0091]
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。
[0092]
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现虚拟网卡的热插拔处理方法。
[0093]
本发明实施例提供了一种处理器,处理器用于运行程序,其中,程序运行时执行虚拟网卡的热插拔处理方法。
[0094]
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:检测目标虚拟网卡的插入动作;若检测到目标虚拟网卡插入至目标虚拟机的内核层中,获取目标虚拟网卡的配置信息;在dpdk模块中通过配置信息对目标虚拟网卡进行处理,得到处理后的目标虚拟网卡;创建处理后的目标虚拟网卡的网卡接口。
[0095]
处理器执行程序时还实现以下步骤:若在内核层中检测出虚拟网卡的数量增加,则确认目标虚拟网卡插入至目标虚拟机的内核层中;在内核层中确定目标虚拟网卡的添加事件;基于添加事件获取目标虚拟网卡的配置信息。
[0096]
处理器执行程序时还实现以下步骤:在内核层中确定目标虚拟网卡的添加事件之后,:将添加事件添加至目标虚拟网卡的事件队列中;按照预设时长对事件队列中的添加事件进行获取;将获取到的添加事件存放至信息表中,其中,信息表中至少包括:目标虚拟网卡的配置信息、目标虚拟网卡的卡板状态信息。
[0097]
处理器执行程序时还实现以下步骤:若通过信息表确定目标虚拟网卡的卡板状态信息为非空状态,则触发dpdk模块对信息表中配置信息的更新;基于更新后的配置信息对目标虚拟网卡进行处理,得到处理后的目标虚拟网卡。
[0098]
处理器执行程序时还实现以下步骤:目标虚拟机的层级结构至少包括:内核层、支撑层、应用层,其中,应用层用于显示网卡接口。
[0099]
处理器执行程序时还实现以下步骤:在创建处理后的目标虚拟网卡的网卡接口之后,在应用层显示网卡接口;检测目标虚拟网卡是否被移出;若检测到目标虚拟网卡被移
出,确定目标虚拟网卡的移出事件;将移出事件添加至目标虚拟网卡的事件队列中,其中,事件队列中包括目标虚拟网卡的目标地址;通过目标虚拟网卡的目标地址对目标虚拟网卡的配置信息进行删除,设置配置信息删除后的目标虚拟网卡的卡板状态信息为空状态。
[0100]
处理器执行程序时还实现以下步骤:在设置配置信息删除后的目标虚拟网卡的卡板状态信息为空状态之后,对目标虚拟网卡的卡板进行删除;在目标虚拟网卡的卡板被删除的情况下,对目标虚拟网卡的网卡接口执行删除操作。
[0101]
本文中的设备可以是服务器、pc、pad、手机等。
[0102]
本技术还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:检测目标虚拟网卡的插入动作;若检测到目标虚拟网卡插入至目标虚拟机的内核层中,获取目标虚拟网卡的配置信息;在dpdk模块中通过配置信息对目标虚拟网卡进行处理,得到处理后的目标虚拟网卡;创建处理后的目标虚拟网卡的网卡接口。
[0103]
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:若在内核层中检测出虚拟网卡的数量增加,则确认目标虚拟网卡插入至目标虚拟机的内核层中;在内核层中确定目标虚拟网卡的添加事件;基于添加事件获取目标虚拟网卡的配置信息。
[0104]
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:在内核层中确定目标虚拟网卡的添加事件之后,:将添加事件添加至目标虚拟网卡的事件队列中;按照预设时长对事件队列中的添加事件进行获取;将获取到的添加事件存放至信息表中,其中,信息表中至少包括:目标虚拟网卡的配置信息、目标虚拟网卡的卡板状态信息。
[0105]
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:若通过信息表确定目标虚拟网卡的卡板状态信息为非空状态,则触发dpdk模块对信息表中配置信息的更新;基于更新后的配置信息对目标虚拟网卡进行处理,得到处理后的目标虚拟网卡。
[0106]
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:目标虚拟机的层级结构至少包括:内核层、支撑层、应用层,其中,应用层用于显示网卡接口。
[0107]
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:在创建处理后的目标虚拟网卡的网卡接口之后,在应用层显示网卡接口;检测目标虚拟网卡是否被移出;若检测到目标虚拟网卡被移出,确定目标虚拟网卡的移出事件;将移出事件添加至目标虚拟网卡的事件队列中,其中,事件队列中包括目标虚拟网卡的目标地址;通过目标虚拟网卡的目标地址对目标虚拟网卡的配置信息进行删除,设置配置信息删除后的目标虚拟网卡的卡板状态信息为空状态。
[0108]
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:在设置配置信息删除后的目标虚拟网卡的卡板状态信息为空状态之后,对目标虚拟网卡的卡板进行删除;在目标虚拟网卡的卡板被删除的情况下,对目标虚拟网卡的网卡接口执行删除操作。
[0109]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
[0110]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0111]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0112]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0113]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0114]
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。存储器是计算机可读介质的示例。
[0115]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd

rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0116]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0117]
本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
[0118]
以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、
改进等,均应包含在本技术的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1