虚拟资源处理方法以及装置与流程

文档序号:29723191发布日期:2022-04-16 19:49阅读:105来源:国知局
虚拟资源处理方法以及装置与流程

1.本说明书实施例涉及计算机技术领域,特别涉及一种虚拟资源处理方法。


背景技术:

2.目前主流的公共云厂商大多采用硬件卸载卡作为云盘以及vpc网络的流量转发装置,一般来说,云厂商会对虚拟机实例做一个存储网络和vpc网络的带宽规格限制,例如,vpc网络上限为10gb,存储网络上限为6gb。基于此,实际的数据处理过程中,vpc网络传输能力和云盘的吞吐能力分别被做了限制,导致数据处理任务的数据加载和数据分发过程均耗时很长。
3.因此,继续提供一种有效的方法以解决此类问题。


技术实现要素:

4.有鉴于此,本说明书实施例提供了一种虚拟资源处理方法。本说明书一个或者多个实施例同时涉及一种虚拟资源处理装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
5.根据本说明书实施例的第一方面,提供了一种虚拟资源处理方法,包括:获取网卡驱动模块在预设时间周期内接收的数据处理请求;根据所述数据处理请求对应的数据处理类型,确定目标虚拟机的虚拟存储模块对应的第一资源消耗结果,及所述目标虚拟机的虚拟网络模块对应的第二资源消耗结果;根据所述第一资源消耗结果和/或所述第二资源消耗结果,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源进行调整。
6.可选地,所述虚拟资源处理方法,还包括:通过所述虚拟存储模块接收第一驱动模块的数据读写请求;对所述数据读写请求进行解析,生成对应的解析结果,并将所述解析结果发送至所述网卡驱动模块。
7.可选地,所述虚拟资源处理方法,还包括:通过所述虚拟网络模块接收第二驱动模块的数据读写请求;对所述数据读写请求进行解析,生成对应的解析结果,并将所述解析结果发送至所述网卡驱动模块。
8.可选地,所述虚拟资源处理方法,还包括:通过所述网卡驱动模块将所述解析结果转发至宿主机的物理网卡;通过所述物理网卡按照预设网络传输协议对所述解析结果进行封装,并将封装结果发送至存储服务器,所述封装结果用于所述存储服务器进行解析,以根据解析结果返回所述目标虚拟机的待读取数据。
9.可选地,所述虚拟资源处理方法,还包括:通过所述网卡驱动模块将待分发数据转发至宿主机的物理网卡;
通过所述物理网卡按照预设网络传输协议对所述待分发数据进行封装,并将封装结果发送至虚拟私有云网络中的至少一个虚拟机,其中,所述虚拟私有云网络包含所述目标虚拟机及所述至少一个虚拟机。
10.可选地,所述虚拟资源处理方法,还包括:基于调整结果确定所述虚拟存储模块的第一待消耗虚拟资源;通过所述第一待消耗虚拟资源,将虚拟机内存的待分发数据发送至所述存储服务器。
11.可选地,所述虚拟资源处理方法,还包括:将所述待读取数据作为训练数据,对待训练的语音识别模型进行训练,生成所述语音识别模型。
12.可选地,所述虚拟资源处理方法,还包括:基于调整结果确定所述虚拟网络模块的第二待消耗虚拟资源;通过所述虚拟网络模块接收第二驱动模块的数据读写请求,通过所述第二待消耗虚拟资源对所述数据读写请求进行解析,生成对应的解析结果,并将所述解析结果发送至所述网卡驱动模块;通过所述网卡驱动模块将虚拟机内存的待分发数据转发到宿主机的物理网卡;通过所述物理网卡按照预设网络传输协议对所述待分发数据进行封装,并将封装结果发送至虚拟私有云网络中的至少一个虚拟机,其中,所述虚拟私有云网络包含所述目标虚拟机及所述至少一个虚拟机。
13.可选地,所述根据所述数据处理请求对应的数据处理类型,确定目标虚拟机的虚拟存储模块对应的第一资源消耗结果,及所述目标虚拟机的虚拟网络模块对应的第二资源消耗结果,包括:流量适配模块中的流量感知子模块,根据所述数据处理请求对应的数据处理类型,统计目标虚拟机的虚拟存储模块及虚拟网络模块在预设时间周期内的访问流量;根据所述访问流量的统计结果确定所述虚拟存储模块对应的第一资源消耗结果,及所述虚拟网络模块的第二资源消耗结果。
14.可选地,所述根据所述第一资源消耗结果和/或所述第二资源消耗结果,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源进行调整,包括:流量适配模块中的流量控制子模块,根据所述第一资源消耗结果和/或所述第二资源消耗结果,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源的初始配比进行调整。
15.可选地,所述根据所述第一资源消耗结果和/或所述第二资源消耗结果,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源进行调整,包括:在所述第一资源消耗结果大于第一预设阈值的情况下,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源的初始配比进行调整;和/或,在所述第二资源消耗结果大于第二预设阈值的情况下,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源的初始配比进行调整。
16.根据本说明书实施例的第二方面,提供了一种虚拟资源处理装置,包括:获取模块,被配置为获取网卡驱动模块在预设时间周期内接收的数据处理请求;
确定模块,被配置为根据所述数据处理请求对应的数据处理类型,确定目标虚拟机的虚拟存储模块对应的第一资源消耗结果,及所述目标虚拟机的虚拟网络模块对应的第二资源消耗结果;调整模块,被配置为根据所述第一资源消耗结果和/或所述第二资源消耗结果,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源进行调整。
17.根据本说明书实施例的第三方面,提供了一种计算设备,包括:存储器和处理器;所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令实现任意一项所述虚拟资源处理方法的步骤。
18.根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现任意一项所述虚拟资源处理方法的步骤。
19.根据本说明书实施例的第五方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述虚拟资源处理方法的步骤。
20.本说明书一个实施例通过获取网卡驱动模块在预设时间周期内接收的数据处理请求,根据所述数据处理请求对应的数据处理类型,确定目标虚拟机的虚拟存储模块对应的第一资源消耗结果,及所述目标虚拟机的虚拟网络模块对应的第二资源消耗结果,根据所述第一资源消耗结果和/或所述第二资源消耗结果,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源进行调整。
21.本说明书实施例根据虚拟存储模块和/或虚拟网络模块的负载,分别确定二者的资源消耗结果,以根据其资源消耗结果动态调整虚拟存储模块和虚拟网络模块的虚拟资源占比,通过这种方式,有利于提升虚拟存储模块和虚拟网络模块的虚拟资源利用率,并有利于降低数据处理耗时,以提高数据处理效率。
附图说明
22.图1是本说明书一个实施例提供的一种虚拟资源处理方法的流程图;图2是本说明书一个实施例提供的一种虚拟资源处理过程的示意图;图3是本说明书一个实施例提供的一种虚拟资源处理方法的处理过程流程图;图4是本说明书一个实施例提供的一种虚拟资源处理装置的结构示意图;图5是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
23.在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
24.在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
25.应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
26.首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
27.pcie(peripheral component interconnect express):是计算机总线的一个重要分支,它沿用现有的pci编程概念及信号标准,并且构建了更加高速的串行通信系统标准;vpc(virtual private cloud):是存在于共享或公用云中的虚拟私有云(private cloud),亦即一种网际云。
28.p2p(peer-to-peer):一种网络技术和网络拓扑结构。
29.在本说明书中,提供了一种虚拟资源处理方法,本说明书同时涉及一种虚拟资源处理装置,一种计算设备,一种计算机可读存储介质,以及一种计算机程序,在下面的实施例中逐一进行详细说明。
30.图1示出了根据本说明书一个实施例提供的一种虚拟资源处理方法的流程图,具体包括以下步骤。
31.步骤102,获取网卡驱动模块在预设时间周期内接收的数据处理请求。
32.具体的,本说明书实施例提供的虚拟资源处理方法,应用于宿主机,该宿主机中包含虚拟机。
33.其中,网卡驱动模块(user network interface card driver)为宿主机的物理网卡的网卡驱动,部署于硬件卸载卡;数据处理请求,即可以数据读写请求,即i/o请求。
34.本说明书实施例提供的虚拟资源处理过程的示意图如图2所示。图2中,硬件卸载卡中包含虚拟存储模块和虚拟网络模块;虚拟机中包含块设备驱动模块和网卡设备驱动模块。网卡驱动模块接收的数据处理请求由虚拟存储模块和虚拟网络模块发送,而虚拟存储模块的数据处理请求由虚拟机的上层应用通过块设备驱动模块(virtio-blkdriver)发送,虚拟网络模块的数据处理请求由虚拟机的上层应用通过网卡设备驱动模块(virtio-netdriver)发送。
35.因此,在数据处理请求为数据读写请求的情况下,可通过所述虚拟存储模块接收第一驱动模块的数据读写请求;对所述数据读写请求进行解析,生成对应的解析结果,并将所述解析结果发送至所述网卡驱动模块。
36.或者,可通过所述虚拟网络模块接收第二驱动模块的数据读写请求;对所述数据读写请求进行解析,生成对应的解析结果,并将所述解析结果发送至所述网卡驱动模块。
37.具体的,虚拟存储模块,即spdk;虚拟网络设备,即dpdk;第一驱动模块即块设备驱动模块;第二驱动模块即网卡设备驱动模块。
38.虚拟机的上层应用可通过块设备驱动模块(virtio-blk driver)将数据读写请求通过pcie总线转发到硬件卸载卡(offload card)的虚拟存储模块(spdk模块),虚拟存储模
块中的块设备轮询驱动子模块(blkpmd,block polling mode driver)解析该数据读写请求,再将解析结果发送至网卡驱动模块,具体是用户态网卡驱动模块(user network interface card driver)。
39.或者,虚拟机的上层应用可通过网卡设备驱动模块(virtio-net driver)将数据读写请求通过pcie总线转发到硬件卸载卡(offload card)的虚拟网络模块(dpdk模块),虚拟网络模块中的网卡设备轮询驱动子模块(net pmd,network polling mode driver)解析该数据读写请求,再将解析结果发送至网卡驱动模块(user network interface card driver)。
40.其中,spdk作为虚拟机块设备的后端,以polling(轮询)的方式处理virtio-blkdriver发送的数据读写请求,并将处理结果转发到user network interface card driver;同样的,dpdk作为虚拟机网络设备的后端,以polling的方式处理virtio-net driver的数据读写请求,并将处理结果转发到user network interface card driver。
41.步骤104,根据所述数据处理请求对应的数据处理类型,确定目标虚拟机的虚拟存储模块对应的第一资源消耗结果,及所述目标虚拟机的虚拟网络模块对应的第二资源消耗结果。
42.具体实施时,根据所述数据处理请求对应的数据处理类型,确定目标虚拟机的虚拟存储模块对应的第一资源消耗结果,及所述目标虚拟机的虚拟网络模块对应的第二资源消耗结果,包括:流量适配模块中的流量感知子模块,根据所述数据处理请求对应的数据处理类型,统计目标虚拟机的虚拟存储模块及虚拟网络模块在预设时间周期内的访问流量;根据所述访问流量的统计结果确定所述虚拟存储模块对应的第一资源消耗结果,及所述虚拟网络模块的第二资源消耗结果。
43.具体的,第一资源消耗结果和第二资源消耗结果,即可以是虚拟资源的消耗结果,而虚拟资源即可以是带宽,因此,资源消耗结果即可以是带宽的占用结果。
44.实际应用中,由于虚拟存储模块和虚拟网络模块用于处理不同类型的数据处理请求,例如,虚拟存储模块可用于处理数据读请求,即用于将远端存储服务器中的数据读取到虚拟机内存,而虚拟网络模块可用于处理数据写请求,即用于将虚拟机内存的数据写入其他虚拟机内存,具体即将数据分发至其他虚拟机内存。
45.由于宿主机可预先分别为虚拟存储模块和虚拟网络模块分配一定数量的虚拟资源,虚拟存储模块和虚拟网络模块在进行数据读写过程中,均使用各自的、预先为其分配的虚拟资源进行数据读写,但由于虚拟存储模块和虚拟网络模块处理的数据读写请求所对应的数据处理类型不同,在由虚拟存储模块利用虚拟资源将远端存储服务器的数据读取至虚拟机内存的过程中,虚拟网络模块的虚拟资源处于空闲状态;虚拟机基于读取的数据进行数据处理之后,可由虚拟网络模块将数据处理结果通过其虚拟资源分发至其他虚拟机,这个过程中,虚拟存储模块的虚拟资源处于空闲状态,导致虚拟存储模块和虚拟网络模块的虚拟资源的利用率较低。
46.因此,本说明书实施例通过配置流量适配模块,以利用流量适配模块中的流量感知子模块实时对一定时间周期内的虚拟网络模块和虚拟存储模块的访问流量进行统计,以
根据统计结果确定单位时间内虚拟存储模块和虚拟网络模块二者的虚拟资源消耗情况,即单位时间内带宽的占用率,以根据统计结果对二者的虚拟资源进行调整。
47.图2所示的虚拟资源处理过程的示意图中,硬件卸载卡中包含网络流量适配器(flow adapter),网络流量适配器中包含流量感知子模块(flow sensor)和流量控制子模块(flow controller),流量感知子模块负责实时统计虚拟存储模块和虚拟网络模块的访问流量,并结合虚拟存储模块的当前存储带宽以及虚拟网络模块的当前网络带宽的阈值,分析存储流量和网络流量的负载趋势,再将分析结果发送到流量控制子模块,以由流量控制子模块根据流量感知子模块的流量负载分析结果,动态调整存储流量和网络流量配比。
48.步骤106,根据所述第一资源消耗结果和/或所述第二资源消耗结果,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源进行调整。
49.具体实施时,根据所述第一资源消耗结果和/或所述第二资源消耗结果,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源进行调整,包括:在所述第一资源消耗结果大于第一预设阈值的情况下,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源的初始配比进行调整;和/或,在所述第二资源消耗结果大于第二预设阈值的情况下,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源的初始配比进行调整。
50.具体的,如前所述,在一个完整的数据处理流程中,通常是先由虚拟存储模块利用虚拟资源将远端存储服务器的数据读取至虚拟机内存,虚拟机基于读取的数据进行数据处理之后,可由虚拟网络模块将数据处理结果通过其虚拟资源分发至其他虚拟机。
51.其中,数据读取过程中,需要使用虚拟存储模块,即占用虚拟存储模块的虚拟资源进行数据读取,这个过程中,虚拟网络模块的虚拟资源处于空闲状态;在数据分发过程中,需要使用虚拟网络模块,即需要占用虚拟网络模块的虚拟资源进行数据分发,这个过程中,虚拟存储模块的虚拟资源处于空闲状态,导致虚拟存储模块和虚拟网络模块的虚拟资源的利用率较低。
52.为提高虚拟资源的利用率,提高数据处理效率,本说明书实施例可实时统计虚拟网络模块和虚拟存储模块的虚拟资源的消耗结果,以根据统计结果调整虚拟网络模块和虚拟存储模块的虚拟资源配比,从而提高资源使用效率。
53.具体的,在获取虚拟存储模块的第一资源消耗结果,和/或获取虚拟网络模块的第二资源消耗结果后,可将第一资源消耗结果与第一预设阈值进行比对,和/或将第二资源消耗结果与第二预设阈值进行比对,以根据比对结果确定虚拟存储模块和虚拟网络模块的虚拟资源调整方向以及调整幅度。
54.其中,在第一资源消耗结果大于第一预设阈值的情况下,可调高虚拟存储模块的虚拟资源配比,即调高存储带宽,以提升数据读取性能;在第二资源消耗结果大于第二预设阈值的情况下,调高网络带宽,以提升数据分发性能。
55.或者,根据所述第一资源消耗结果和/或所述第二资源消耗结果,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源进行调整,包括:流量适配模块中的流量控制子模块,根据所述第一资源消耗结果和/或所述第二资源消耗结果,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源的初始配比进行调整。
56.具体的,图2所示的虚拟资源处理过程的示意图中,硬件卸载卡中包含网络流量适配器(flow adapter),网络流量适配器中包含流量感知子模块(flow sensor),流量感知子模块分析存储流量和网络流量的负载趋势后,将分析结果发送到流量控制子模块,以由流量控制子模块根据流量感知子模块的流量负载分析结果,动态调整存储流量和网络流量配比,从而满足当前数据处理过程中虚拟资源的使用需求。
57.本说明书实施例基于硬件卸载技术实现了虚拟机存储网络和vpc网络(虚拟私有云网络)的融合变配能力,通过硬件卸载卡统一接管虚拟机的存储带宽和网络带宽,并可根据虚拟机的负载情况,动态的调整存储带宽和网络带宽的配比,实现了上述两种带宽资源的灵活相互转化,为上层业务提供更好的吞吐性能,也大幅提升了物理网络的资源利用率。
58.具体实施时,网卡驱动模块接收到虚拟存储模块对数据处理请求进行解析生成的解析结果后,可将解析结果转发至宿主机的物理网卡;通过所述物理网卡按照预设网络传输协议对所述解析结果进行封装,并将封装结果发送至存储服务器,所述封装结果用于所述存储服务器进行解析,以根据解析结果返回所述目标虚拟机的待读取数据。
59.同样的,网卡驱动模块接收到虚拟网络模块的数据分发请求后,可将数据分发请求中携带的待分发数据转发至宿主机的物理网卡;通过所述物理网卡按照预设网络传输协议对所述待分发数据进行封装,并将封装结果发送至虚拟私有云网络中的至少一个虚拟机,其中,所述虚拟私有云网络包含所述目标虚拟机及所述至少一个虚拟机。
60.具体的,物理网卡(network card)为硬件卸载卡上的物理网卡,负责将数据处理请求转发到远端的存储服务器或者相同vpc内部的其他虚拟机网卡中。
61.虚拟存储模块中的blkpmd解析virtio-blk driver发送的数据读请求,通过网卡驱动模块(user network interface card driver)将解析结果转发到物理网卡;物理网卡将解析结果封装成网络协议发送到远端的存储服务器中。
62.或者,虚拟网络模块中的net pmd解析virtio-net driver发送的数据写请求,通过网卡驱动模块(user network interface card driver)将解析结果转发到物理网卡;物理网卡将解析结果封装成网络协议发送到相同vpc的虚拟机内存中。
63.进一步的,对虚拟存储模块和虚拟网络模块的虚拟资源进行调整之后,可基于调整结果确定所述虚拟存储模块的第一待消耗虚拟资源;通过所述第一待消耗虚拟资源,将虚拟机内存的待分发数据发送至所述存储服务器。
64.在读取待读取数据后,可将所述待读取数据作为训练数据,对待训练的语音识别模型进行训练,生成所述语音识别模型。
65.另外,还可基于调整结果确定所述虚拟网络模块的第二待消耗虚拟资源;通过所述虚拟网络模块接收第二驱动模块的数据读写请求,通过所述第二待消耗虚拟资源对所述数据读写请求进行解析,生成对应的解析结果,并将所述解析结果发送至所述网卡驱动模块;通过所述网卡驱动模块将虚拟机内存的待分发数据转发到宿主机的物理网卡;通过所述物理网卡按照预设网络传输协议对所述待分发数据进行封装,并将封装结果发送至虚拟私有云网络中的至少一个虚拟机,其中,所述虚拟私有云网络包含所述目
标虚拟机及所述至少一个虚拟机。
66.具体的,第一待消耗虚拟资源即为虚拟存储模块的调整后的虚拟资源,例如调整后的存储带宽;第二待消耗虚拟资源即为虚拟网络模块的调整后的虚拟资源,例如调整后的网络带宽。
67.在虚拟机中进行模型训练,主要是将待训练模型运行在海量数据上,通过长时间运算和反复调试后生成目标模型,例如,语音识别模型、自动驾驶模型等。整个训练过程包括两个阶段,1)将待训练的模型、模型配置信息以及依赖的库从远端存储服务器(例如云盘)加载到虚拟机内存中;2)利用加载的数据对待训练的模型进行训练,即将加载的数据输入待训练的模型进行处理,利用待训练的模型分析海量的数据,以生成可使用的目标模型。其中,第一个过程中,待训练的模型的数据量一般在几十gb,上百gb左右,这个数据加载过程占据了整个训练过程的很大开销,导致模型训练的整个过程耗时较长。
68.为了提升待训练模型的数据加载速度,目前一般采用云盘加上p2p传输的方式,即先将模型的训练数据从高性能云盘中读取到部分虚拟机内存中,然后利用p2p技术,通过虚拟私有云网络(vpc网络)将读取到虚拟机内存的数据分发到vpc网络中其他的虚拟机内存中。但是,目前虚拟机在云盘读取数据以及将数据写入虚拟机内存的过程中,其数据吞吐能力受限于存储带宽,而vpc网络受限于vpc网络带宽,导致从云盘读取数据时,vpc网络带宽处于闲置状态,而p2p阶段中,存储带宽处于闲置状态,整个模型的加载过程耗时很长,而且无法充分利用虚拟机的网络资源。
69.因此,本说明书实施例中,当虚拟机内部存在语音识别模型训练任务时,可先从云盘读取语音识别模型、模型配置信息以及用于进行模型训练的训练数据,这个过程中,硬件卸载卡上的流量统计子模块可实时统计虚拟网络模块和虚拟存储模块的流量信息,然后,结合当前存储带宽和网络带宽的阈值,分析出存储流量的增长趋势,并向流量控制子模块发送带宽阈值调整请求,将存储带宽调高,提升云盘读取性能,以通过调整后的存储带宽将训练数据读取到虚拟机内存;然后可通过虚拟网络模块的网络带宽向其他虚拟机p2p分发读取到虚拟机内存的数据;这个过程中,硬件卸载卡上的流量统计子模块实时统计虚拟网络模块和虚拟存储模块的流量信息,然后结合当前存储带宽和网络带宽的阈值,分析出vpc网络流量的增长趋势,接着向流量控制子模块发送带宽阈值调整请求,将vpc网络带宽调高,提升p2p分发性能。
70.另外,调整网络带宽后,可通过虚拟网络模块接收虚拟网卡的数据读写请求,通过调整后的网络带宽对数据读写请求进行解析,生成对应的解析结果,并将解析结果发送至网卡驱动模块;通过网卡驱动模块将语音识别模型的模型参数,具体即语音识别模型、模型配置信息以及用于进行模型训练的训练数据转发到宿主机的物理网卡;通过物理网卡按照预设网络传输协议对模型参数进行封装,并将封装结果通过p2p的方式发送至虚拟私有云网络中的至少一个虚拟机,其中,虚拟私有云网络包含目标虚拟机及至少一个虚拟机,即目标虚拟机和至少一个虚拟机处于同一vpc网络。
71.本说明书实施例利用硬件卸载卡统一接管虚拟机的存储带宽和网络带宽,根据虚拟机的负载情况,动态的调整存储带宽和网络带宽的配比,为上层业务提供更好的吞吐性能,也大幅提升了物理网络的资源利用率,另外,还有利于提升语音识别训练的模型加载速度,从而降低模型训练的整体耗时。
72.本说明书一个实施例通过获取网卡驱动模块在预设时间周期内接收的数据处理请求,根据所述数据处理请求对应的数据处理类型,确定目标虚拟机的虚拟存储模块对应的第一资源消耗结果,及所述目标虚拟机的虚拟网络模块对应的第二资源消耗结果,根据所述第一资源消耗结果和/或所述第二资源消耗结果,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源进行调整。
73.本说明书实施例根据虚拟存储模块和/或虚拟网络模块的负载,分别确定二者的资源消耗结果,以根据其资源消耗结果动态调整虚拟存储模块和虚拟网络模块的虚拟资源占比,通过这种方式,有利于提升虚拟存储模块和虚拟网络模块的虚拟资源利用率,并有利于降低数据处理耗时,以提高数据处理效率。
74.下述结合附图3,以本说明书提供的虚拟资源处理方法在模型训练场景的应用为例,对所述虚拟资源处理方法进行进一步说明。其中,图3示出了本说明书一个实施例提供的一种虚拟资源处理方法的处理过程流程图,具体包括以下步骤。
75.步骤302,通过虚拟存储模块接收块设备驱动模块针对待训练语音识别模型的训练数据发送的数据读写请求。
76.步骤304,对所数据读写请求进行解析,生成对应的解析结果,并将解析结果发送至网卡驱动模块。
77.步骤306,通过网卡驱动模块将解析结果转发至宿主机的物理网卡。
78.步骤308,通过物理网卡按照预设网络传输协议对解析结果进行封装,并将封装结果发送至存储服务器。
79.具体的,存储服务器对封装结果进行解析,并根据解析结果返回训练数据。
80.步骤310,获取网卡驱动模块在预设时间周期内接收的数据读写请求。
81.步骤312,根据数据读写请求对应的数据处理类型,确定目标虚拟机的虚拟存储模块对应的访问流量信息。
82.步骤314,根据统计结果,对虚拟存储模块和虚拟网络模块的带宽进行调整。
83.步骤316,通过虚拟网络模块接收网卡设备驱动模块的数据读写请求,对数据读写请求进行解析,生成对应的解析结果,并将解析结果发送至网卡驱动模块。
84.步骤318,通过网卡驱动模块将虚拟机内存的待分发数据转发到宿主机的物理网卡。
85.步骤320,通过物理网卡按照预设网络传输协议对待分发数据进行封装,并将封装结果发送至虚拟私有云网络中的至少一个虚拟机。
86.其中,目标虚拟机与至少一个虚拟机属于同一虚拟私有云网络。
87.本说明书实施例可根据虚拟机的负载情况,动态的调整存储带宽和网络带宽的配比,为上层业务提供更好的吞吐性能,也大幅提升了物理网络的资源利用率,另外,还有利于提升语音识别训练的模型加载速度,从而降低模型训练的整体耗时。
88.与上述方法实施例相对应,本说明书还提供了虚拟资源处理装置实施例,图4示出了本说明书一个实施例提供的一种虚拟资源处理装置的结构示意图。如图4所示,该装置包括:获取模块402,被配置为获取网卡驱动模块在预设时间周期内接收的数据处理请求;
确定模块404,被配置为根据所述数据处理请求对应的数据处理类型,确定目标虚拟机的虚拟存储模块对应的第一资源消耗结果,及所述目标虚拟机的虚拟网络模块对应的第二资源消耗结果;调整模块406,被配置为根据所述第一资源消耗结果和/或所述第二资源消耗结果,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源进行调整。
89.可选地,所述虚拟资源处理装置,还包括第一解析模块,被配置为:通过所述虚拟存储模块接收第一驱动模块的数据读写请求;对所述数据读写请求进行解析,生成对应的解析结果,并将所述解析结果发送至所述网卡驱动模块。
90.可选地,所述虚拟资源处理装置,还包括第二解析模块,被配置为:通过所述虚拟网络模块接收第二驱动模块的数据读写请求;对所述数据读写请求进行解析,生成对应的解析结果,并将所述解析结果发送至所述网卡驱动模块。
91.可选地,所述虚拟资源处理装置,还包括第一封装模块,被配置为:通过所述网卡驱动模块将所述解析结果转发至宿主机的物理网卡;通过所述物理网卡按照预设网络传输协议对所述解析结果进行封装,并将封装结果发送至存储服务器,所述封装结果用于所述存储服务器进行解析,以根据解析结果返回所述目标虚拟机的待读取数据。
92.可选地,所述虚拟资源处理装置,还包括第二封装模块,被配置为:通过所述网卡驱动模块将待分发数据转发至宿主机的物理网卡;通过所述物理网卡按照预设网络传输协议对所述待分发数据进行封装,并将封装结果发送至虚拟私有云网络中的至少一个虚拟机,其中,所述虚拟私有云网络包含所述目标虚拟机及所述至少一个虚拟机。
93.可选地,所述虚拟资源处理装置,还包括写入模块,被配置为:基于调整结果确定所述虚拟存储模块的第一待消耗虚拟资源;通过所述第一待消耗虚拟资源,将虚拟机内存的待分发数据发送至所述存储服务器。
94.可选地,所述虚拟资源处理装置,还包括训练模块,被配置为:将所述待读取数据作为训练数据,对待训练的语音识别模型进行训练,生成所述语音识别模型。
95.可选地,所述虚拟资源处理装置,还包括第三封装模块,被配置为:基于调整结果确定所述虚拟网络模块的第二待消耗虚拟资源;通过所述虚拟网络模块接收第二驱动模块的数据读写请求,通过所述第二待消耗虚拟资源对所述数据读写请求进行解析,生成对应的解析结果,并将所述解析结果发送至所述网卡驱动模块;通过所述网卡驱动模块将虚拟机内存的待分发数据转发到宿主机的物理网卡;通过所述物理网卡按照预设网络传输协议对所述待分发数据进行封装,并将封装结果发送至虚拟私有云网络中的至少一个虚拟机,其中,所述虚拟私有云网络包含所述目标虚拟机及所述至少一个虚拟机。
96.可选地,所述确定模块404,进一步被配置为:流量适配模块中的流量感知子模块,根据所述数据处理请求对应的数据处理类型,统计目标虚拟机的虚拟存储模块及虚拟网络模块在预设时间周期内的访问流量;根据所述访问流量的统计结果确定所述虚拟存储模块对应的第一资源消耗结果,及所述虚拟网络模块的第二资源消耗结果。
97.可选地,所述调整模块406,进一步被配置为:流量适配模块中的流量控制子模块,根据所述第一资源消耗结果和/或所述第二资源消耗结果,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源的初始配比进行调整。
98.可选地,所述调整模块406,进一步被配置为:在所述第一资源消耗结果大于第一预设阈值的情况下,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源的初始配比进行调整;和/或,在所述第二资源消耗结果大于第二预设阈值的情况下,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源的初始配比进行调整。
99.上述为本实施例的一种虚拟资源处理装置的示意性方案。需要说明的是,该虚拟资源处理装置的技术方案与上述的虚拟资源处理方法的技术方案属于同一构思,虚拟资源处理装置的技术方案未详细描述的细节内容,均可以参见上述虚拟资源处理方法的技术方案的描述。
100.图5示出了根据本说明书一个实施例提供的一种计算设备500的结构框图。该计算设备500的部件包括但不限于存储器510和处理器520。处理器520与存储器510通过总线530相连接,数据库550用于保存数据。
101.计算设备500还包括接入设备540,接入设备540使得计算设备500能够经由一个或多个网络560通信。这些网络的示例包括公用交换电话网(pstn)、局域网(lan)、广域网(wan)、个域网(pan)或诸如因特网的通信网络的组合。接入设备540可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802.11无线局域网(wlan)无线接口、全球微波互联接入(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。
102.在本说明书的一个实施例中,计算设备500的上述部件以及图5中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图5所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
103.计算设备500可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备500还可以是移动式或静止式的服务器。
104.其中,处理器520用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述虚拟资源处理方法的步骤。
105.上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技
术方案与上述的虚拟资源处理方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述虚拟资源处理方法的技术方案的描述。
106.本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述虚拟资源处理方法的步骤。
107.上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的虚拟资源处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述虚拟资源处理方法的技术方案的描述。
108.本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述虚拟资源处理方法的步骤。
109.上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述的虚拟资源处理方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述虚拟资源处理方法的技术方案的描述。
110.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
111.所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
112.需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
113.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
114.以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1