CN105138392B - 一种带宽控制方法及电子设备 - Google Patents

一种带宽控制方法及电子设备 Download PDF

Info

Publication number
CN105138392B
CN105138392B CN201510531674.9A CN201510531674A CN105138392B CN 105138392 B CN105138392 B CN 105138392B CN 201510531674 A CN201510531674 A CN 201510531674A CN 105138392 B CN105138392 B CN 105138392B
Authority
CN
China
Prior art keywords
information
virtual machine
bandwidth
bandwidth value
destination address
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.)
Active
Application number
CN201510531674.9A
Other languages
English (en)
Other versions
CN105138392A (zh
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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing 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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN201510531674.9A priority Critical patent/CN105138392B/zh
Publication of CN105138392A publication Critical patent/CN105138392A/zh
Application granted granted Critical
Publication of CN105138392B publication Critical patent/CN105138392B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种带宽控制方法及电子设备,所述方法包括:获得第一虚拟机发送的第一信息,其中所述第一信息具体为第一数据请求信息或第一待传输的数据信息;基于所述第一信息获取第一带宽值;设置所述第一虚拟机的第一虚拟通道的当前带宽为所述第一带宽值。用于解决现有技术中存在无法对同一物理主机上的多个虚拟机中的每个虚拟机的带宽进行灵活分配的技术问题的技术问题,实现根据每个虚拟机的使用需求来分配带宽的技术效果。

Description

一种带宽控制方法及电子设备
技术领域
本发明涉及电子技术领域,特别涉及一种带宽控制方法及电子设备。
背景技术
随着科学技术的不断发展,电子技术也得到了飞速的发展,很多电子设备,如智能手机、笔记本电脑等,逐渐成为了人们日常生活的必需品。为了最大化利用电子设备的物理硬件,通常使用KVM虚拟化技术,将一个物理主机虚拟化成多个虚拟机。
在现有技术中,在对基于KVM的虚拟化技术虚拟机进行带宽控制时,通常使用Linux上的TC命令,而TC命令的实现是基于流量出口限制不同物理主机之间的带宽,即限制同一物理主机上多个虚拟机的对外通信的整体带宽;或者使用TC命令预先设定好每个虚拟机对应的带宽值,使虚拟机通过预设的带宽值进行数据传输。
可见,当同一物理主机上的多个虚拟机同时与Internet网络或者局域网进行信息交换时,TC命令只能控制所述多个虚拟机的总带宽不超过所述物理主机的总带宽值或者使各个虚拟机按照预设的带宽值进行数据传输,而无法根据各个虚拟机的实际使用需求对各个虚拟机的带宽进行实时控制。
所以,现有技术中存在无法对同一物理主机上的多个虚拟机中的每个虚拟机的带宽进行灵活分配的技术问题。
发明内容
本申请实施例提供一种宽带控制方法及电子设备,用于解决现有技术中存在无法对同一物理主机上的多个虚拟机中的每个虚拟机的带宽进行灵活分配的技术问题,实现根据每个虚拟机的使用需求来分配带宽的技术效果。
一方面,本申请实施例提供了一种带宽控制方法,包括以下步骤:
获得第一虚拟机发送的第一信息,其中所述第一信息具体为第一数据请求信息或第一待传输的数据信息;
基于所述第一信息获取第一带宽值;
设置所述第一虚拟机的第一虚拟通道的当前带宽为所述第一带宽值。
可选的,所述基于所述第一信息获取第一带宽值,具体包括:
从所述第一信息中获取第一目的地址;
基于所述第一目的地址,确定所述第一信息的信息类别为第一信息类别,其中,所述第一信息类别具体为局域网信息类别或广域网信息类别;
基于预设的信息类别与带宽值的第一对应关系,确定与所述第一信息类别对应的第一带宽值。
可选的,所述设置所述第一虚拟机的第一虚拟通道的当前带宽为所述第一带宽值,具体包括:
为所述第一信息类别分配第一队列;
设置所述第一队列的第一队列带宽为所述第一带宽值。
可选的,所述基于所述第一信息获取第一带宽值,具体包括:
从所述第一信息中获取端口号;
基于所述端口号,确定用于发送所述第一信息的应用程序为第一程序类型;
基于预设的程序类型与带宽值的第二对应关系,确定与所述第一程序类型对应的第一带宽值。
可选的,所述设置所述第一虚拟机的第一虚拟通道的当前带宽为所述第一带宽值,具体包括:
为所述第一程序类型分配第二队列;
设置所述第二队列的第二队列带宽为所述第一带宽值。
另一方面,本申请实施例还提供了一种电子设备设备,包括:
第一获取单元,用于获得第一虚拟机发送的第一信息;
第二获取单元,用于基于所述第一信息获取第一带宽值;
第一设置单元,用于设置所述第一虚拟机的第一虚拟通道的当前带宽为所述第一带宽值。
本申请实施例还提供了一种电子设备,包括:
壳体;
存储器,设置在所述壳体内;
处理器,设置在所述壳体内;
虚拟机管理模块,设置在所述壳体内,所述虚拟机管理模块将所述存储器虚拟化成多个虚拟存储器及将所述处理器虚拟化成多个虚拟处理器,进而形成包括第一虚拟机在内的至少一个虚拟机;
其中,所述虚拟机管理模块在获得所述第一虚拟机发送的第一信息时,基于所述第一信息获取第一带宽值,并设置所述第一虚拟机的第一虚拟通道的当前带宽为所述第一带宽值,所述第一信息具体为第一数据请求信息或第一待传输的数据信息。
可选的,所述虚拟机管理模块具体用于:
从所述第一信息中获取第一目的地址;
基于所述第一目的地址,确定所述第一信息的信息类别为第一信息类别,其中,所述第一信息类别具体为局域网信息类别或广域网信息类别;
基于预设的信息类别与带宽值的第一对应关系,确定与所述第一信息类别对应的第一带宽值。
可选的,所述虚拟机管理模块具体用于:
为所述第一信息类别分配第一队列;
设置所述第一队列的第一队列带宽为所述第一带宽值。
可选的,所述虚拟机管理模块具体用于:
从所述第一信息中获取端口号;
基于所述端口号,确定用于发送所述第一信息的应用程序为第一程序类型;
基于预设的程序类型与带宽值的第二对应关系,确定与所述第一程序类型对应的第一带宽值。
可选的,所述虚拟机管理模块具体用于:
为所述第一程序类型分配第二队列;
设置所述第二队列的第二队列带宽为所述第一带宽值。
本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
一、由于本申请实施例中的技术方案,采用获得第一虚拟机发送的第一信息,其中所述第一信息具体为第一数据请求信息或第一待传输的数据信息;基于所述第一信息获取第一带宽值;设置所述第一虚拟机的第一虚拟通道的当前带宽为所述第一带宽值的技术手段,这样,无论虚拟机进行数据交换的对象是同一物理主机上的另一虚拟机还是不同物理主机上的虚拟机,只要虚拟机管理器检测到虚拟机需要进行数据交换,虚拟机管理器便会根据实际需要交换的数据的类别或者大小,为该虚拟机分配与交换数据相匹配的带宽值,所以,有效解决了现有技术中存在无法对同一物理主机上的多个虚拟机中的每个虚拟机的带宽进行灵活分配的技术问题,实现了根据每个虚拟机的使用需求来分配带宽的技术效果。
二、由于本申请实施例中的技术方案,采用从所述第一信息中获取第一目的地址;基于所述第一目的地址,确定所述第一信息的信息类别为第一信息类别,其中,所述第一信息类别具体为局域网信息类别或广域网信息类别;基于预设的信息类别与带宽值的第一对应关系,确定与所述第一信息类别对应的第一带宽值的技术手段,这样,虚拟机管理器能够根据交换数据的目的地址区分出当前数据是需要内网带宽还是外网带宽,由于内网带宽资源较丰富,若确定出当前交换数据需要内网带宽时,则可以为该虚拟机分配较大的带宽,最大化的满足交换数据的需求;若确定出当前交换数据需要外网带宽时,则可以为该虚拟机分配较小的带宽,例如,能满足交换数据需求的最低带宽,所以,实现了区分内外网数据,并根据内外网带宽的不同为数据分配带宽的技术效果。
三、由于本申请实施例中的技术方案,采用从所述第一信息中获取端口号;基于所述端口号,确定用于发送所述第一信息的应用程序为第一程序类型;基于预设的程序类型与带宽值的第二对应关系,确定与所述第一程序类型对应的第一带宽值的技术手段,这样,虚拟机管理器能够根据发送交换数据的端口,区分出发送该数据的应用程序,例如,当该数据是由视频应用程序发送的数据请求时,此时需要分配较大的带宽;若该数据是由小说应用程序发送的数据请求时,此时便可以分配较小的带宽,所以,实现了区分不同应用程序的数据,并根据不同的应用程序合理分配带宽的技术效果。
四、由于本申请实施例中的技术方案,采用为所述第一信息类别分配第一队列;设置所述第一队列的第一队列带宽为所述第一带宽值的技术手段,这样,虚拟机管理器的入口在接收到由虚拟机发送的交换数据时,会将每个数据分配到与之相对应的队列中,并为各个队列分配相应的带宽,使数据按照预设的控制策略出队列,实现了通过虚拟机管理器的入口队列控制带宽的技术效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例。
图1为本申请实施例一中提供的一种带宽控制方法的流程图;
图2为本申请实施例一中步骤S102的第一种具体实现方式流程图;
图3为本申请实施例一中步骤S102的第二种具体实现方式流程图;
图4为本申请实施例一中步骤S103的第一种具体实现方式流程图;
图5为本申请实施例一中步骤S103的第一种具体实现方式示意图;
图6为本申请实施例一中步骤S103的第二种具体实现方式流程图;
图7为本申请实施例一中步骤S103的第二种具体实现方式示意图;
图8为本申请实施例二提供的一种电子设备的结构框图;
图9为本申请实施例三提供的一种电子设备的结构示意图。
具体实施方式
本申请实施例提供一种宽带控制方法及电子设备,用于解决现有技术中存在无法对同一物理主机上的多个虚拟机中的每个虚拟机的带宽进行灵活分配的技术问题,实现根据每个虚拟机的使用需求来分配带宽的技术效果。
本申请实施例中的技术方案为解决上述的技术问题,总体思路如下:
获得第一虚拟机发送的第一信息,其中所述第一信息具体为第一数据请求信息或第一待传输的数据信息;
基于所述第一信息获取第一带宽值;
设置所述第一虚拟机的第一虚拟通道的当前带宽为所述第一带宽值。
在上述技术方案中,采用获得第一虚拟机发送的第一信息,其中所述第一信息具体为第一数据请求信息或第一待传输的数据信息;基于所述第一信息获取第一带宽值;设置所述第一虚拟机的第一虚拟通道的当前带宽为所述第一带宽值的技术手段,这样,无论虚拟机进行数据交换的对象是同一物理主机上的另一虚拟机还是不同物理主机上的虚拟机,只要虚拟机管理器检测到虚拟机需要进行数据交换,虚拟机管理器便会根据实际需要交换的数据的类别或者大小,为该虚拟机分配与交换数据相匹配的带宽值,所以,有效解决了现有技术中存在无法对同一物理主机上的多个虚拟机中的每个虚拟机的带宽进行灵活分配的技术问题,实现了根据每个虚拟机的使用需求来分配带宽的技术效果。
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本申请技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互结合。
实施例一
本申请实施例提供的一种带宽控制方法具体可以应用于具有多个虚拟机的物理服务器,所述物理服务器具体可以是计算机,也可以是其他具有存储器及处理器的电子设备。在本申请实施例中,将以所述带宽控制方法应用于具有多个虚拟机的计算机为例来对本申请实施例中的方法进行详细描述。
在计算机中,一般使用Hypervisor(虚拟机管理器)来对多个虚拟机进行管理。Hypervisor是一种运行在物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享一套基础物理硬件,能够访问物理主机上包括磁盘和内存在内的所有物理设备。当物理主机启动并执行Hypervisor时,它会加载物理主机上所有虚拟机客户端的操作系统,并分配给每一台虚拟机适当的内存、CPU、网络和磁盘。
由于每个计算机都对应有一个固定的带宽值,当计算机中存在多个虚拟机时,Hypervisor需要控制各个虚拟机的带宽值不超过计算机的固定带宽值。通常来说,Hypervisor会为每个虚拟机预先分配好一个具有固定带宽值的虚拟通道,当某一虚拟机上需要交换数据时,便能使用与该虚拟机对应的虚拟通道进行数据传输。这样,当同时有多个虚拟机进行数据交换时,如虚拟机1需要看电影,虚拟机2需要看小说,若虚拟机1的虚拟通道和虚拟机2的虚拟通道具有相同的带宽值,如1M,那么,虚拟机1就会面临带宽较小导致电影播放不刘畅,而虚拟机2根本不需要那么大的带宽,进而导致带宽浪费。
当计算机面临上述问题时,便可采用本申请实施例一提供的宽带控制方法,请参考图1,包括:
S101:获得第一虚拟机发送的第一信息,其中所述第一信息具体为第一数据请求信息或第一待传输的数据信息;
S102:基于所述第一信息获取第一带宽值;
S103:设置所述第一虚拟机的第一虚拟通道的当前带宽为所述第一带宽值。
在采用本申请实施例中的带宽控制方法为各个虚拟机分配带宽时,首先执行步骤S101,即:获得第一虚拟机发送的第一信息,其中所述第一信息具体为第一数据请求信息或第一待传输的数据信息。
在具体实施过程中,当计算机上的虚拟机需要进行数据交换时,虚拟机会将交换数据发送至Hypervisor的入口,此时,Hypervisor便通过入口获得了虚拟机发送的交换数据,具体的,当虚拟机需要通过优酷看电影时,Hypervisor将接收到由虚拟机发送的由发送请求的端口及目的地址组成的请求获取电影资源的请求信息,如“端口1;http://www.360kan.com/15454.XXXXX”;当虚拟机需要向另一虚拟机传输word文件时,Hypervisor将接收到由虚拟机发送的由发送请求的端口、传输内容及目的地址端口组成数据传输信息,如“端口2;word文档1;端口9”。
在执行完成步骤S101之后,本申请实施例中的方法便执行步骤S102,即:基于所述第一信息获取第一带宽值。
在本申请实施例中,步骤S102有如下两种具体实现方式:
第一种方式,请参考图2:
S201:从所述第一信息中获取第一目的地址;
S202:基于所述第一目的地址,确定所述第一信息的信息类别为第一信息类别,其中,所述第一信息类别具体为局域网信息类别或广域网信息类别;
S203:基于预设的信息类别与带宽值的第一对应关系,确定与所述第一信息类别对应的第一带宽值。
在具体实施过程中,沿用上述例子,当Hypervisor接收到由虚拟机发送的“端口1;http://www.360kan.com/15454.XXXXX”的请求信息后,Hypervisor从请求信息中提取目的地址,如“http://www.360kan.com/15454.XXXXX”。在Hypervisor中,可以预先存储一些用于判断目的地址类别的关键词,如“http://www”开头的目的地址对应为广域网信息,“http://192.168.1.XX”及“192.168.0.XX”开头的目的地址对应为局域网信息,由于当前获取的目的地址信息为“http://www.360kan.com/15454.XXXXX”,因此,Hypervisor确定出当前请求信息的信息类别为广域网信息。在Hypervisor中还预先存储有信息类别与带宽值的对应关系,以计算机所在的局域网的最大带宽值为20M,计算机的最大广域网带宽值为10M为例,Hypervisor中存储的对应关系可以为:“广域网信息的带宽值为10/K(K为请求信息的个数);局域网信息的带宽值为20/K”,由于此时只接收到一个广域网请求数据,Hypervisor确定当前请求信息的带宽值为10M。
第二种方式,请参考图3:
S301:从所述第一信息中获取端口号;
S302:基于所述端口号,确定用于发送所述第一信息的应用程序为第一程序类型;
S303:基于预设的程序类型与带宽值的第二对应关系,确定与所述第一程序类型对应的第一带宽值。
在具体实施过程中,沿用上述例子,当Hypervisor接收到由虚拟机发送的“端口2;word文档1;端口9”的请求信息后,Hypervisor从请求信息中提取发送请求信息的发送端口号,如“端口2”。在Hypervisor中,可以预先存储端口号与程序类型的对应关系,如“端口1及端口2对应网页浏览应用程序;端口3及端口5对应视频播放应用程序;端口4、端口6及端口7对应网络游戏应用程序”,由于当前获取的发送请求信息的端口号为“端口2”,因此,Hypervisor确定出当前请求信息的程序类型为网页浏览应用程序。在Hypervisor中还预先存储有程序类型与带宽值的对应关系,以计算机的最大广域网带宽值为10M为例,Hypervisor中存储的对应关系可以为:“网页浏览应用程序的带宽值为2/K(K为请求信息的个数);视频播放应用程序的带宽值为4/K;网络游戏应用程序的带宽值为4/K”,由于此时只接收到一个由端口2发送的请求数据,Hypervisor确定当前请求信息的带宽值为4M。
在执行完成步骤S102之后,本申请实例中的方法便执行步骤S103,即:设置所述第一虚拟机的第一虚拟通道的当前带宽为所述第一带宽值。
在本申请实施例中,由于步骤S102有两种具体实现方式,因此,步骤S103也对应有两种具体实现方式:
第一种方式,在确定出所述第一信息的信息类别后,请参考图4,步骤S103的具体实现方式为:
S401:为所述第一信息类别分配第一队列;
S402:设置所述第一队列的第一队列带宽为所述第一带宽值。
在具体实施过程中,沿用上述例子,当Hypervisor接收到由虚拟机发送的“端口1;http://www.360kan.com/15454.XXXXX”的请求信息,并确定当前请求信息的带宽值为10M,则Hypervisor将所述请求信息分配到“http服务外网访问”的队列中,如图5所示,并设置“http服务外网访问”队列的带宽值为10M,然后控制所述虚拟机以10M的带宽与目的地址所在的电子设备或虚拟机进行数据交换,从而实现了根据内外网类别分配带宽的技术效果。
第二种方式,在确定出所述第一信息对应的程序类型后,请参考图6,步骤S103的具体实现方式为:
S601:为所述第一程序类型分配第二队列;
S602:设置所述第二队列的第二队列带宽为所述第一带宽值。
在具体实施过程中,沿用上述例子,当Hypervisor接收到由虚拟机发送的“端口2;word文档1;端口9”的请求信息,并确定出当前请求信息的带宽值为4M,则Hypervisor将所述请求信息分配到“网页浏览应用程序”的队列中,如图7所示,并设置“网页浏览应用程序”队列的带宽值为4M,然后控制所述虚拟机以4M的带宽与目的端口对应的电子设备或虚拟机进行数据交换,从而实现了根据程序类型分配带宽的技术效果。
实施例二
基于本申请实施例一相同的发明构思,本申请实施例二提供一种电子设备,请参考图8,包括:
第一获取单元101,用于获得第一虚拟机发送的第一信息;
第二获取单元102,用于基于所述第一信息获取第一带宽值;
第一设置单元103,用于设置所述第一虚拟机的第一虚拟通道的当前带宽为所述第一带宽值。
在本申请实施例二中,第二获取单元102具体包括:
第一获取模块,用于从所述第一信息中获取第一目的地址;
第一确定模块,用于基于所述第一目的地址,确定所述第一信息的信息类别为第一信息类别,其中,所述第一信息类别具体为局域网信息类别或广域网信息类别;
第二确定模块,用于基于预设的信息类别与带宽值的第一对应关系,确定与所述第一信息类别对应的第一带宽值。
在本申请实施例二中,第一设置单元103具体包括:
第一分配模块,用于为所述第一信息类别分配第一队列;
第一设置模块,用于设置所述第一队列的第一队列带宽为所述第一带宽值。
在本申请实施例二中,第二获取单元102具体包括:
第二获取模块,用于从所述第一信息中获取端口号;
第三确定模块,用于基于所述端口号,确定用于发送所述第一信息的应用程序为第一程序类型;
第四确定模块,用于基于预设的程序类型与带宽值的第二对应关系,确定与所述第一程序类型对应的第一带宽值。
在本申请实施例二中,第一设置单元103具体包括:
第二分配模块,用于为所述第一程序类型分配第二队列;
第二设置模块,用于设置所述第二队列的第二队列带宽为所述第一带宽值。
实施例三
基于本申请实施例一相同的发明构思,本申请实施例三提供一种电子设备,请参考图9,包括:
壳体10;
存储器20,设置在壳体10内;
处理器30,设置在壳体10内;
虚拟机管理模块40,设置在壳体10内,虚拟机管理模块40将存储器20虚拟化成多个虚拟存储器及将处理器30虚拟化成多个虚拟处理器,进而形成包括第一虚拟机在内的至少一个虚拟机;
其中,虚拟机管理模块40在获得所述第一虚拟机发送的第一信息时,基于所述第一信息获取第一带宽值,并设置所述第一虚拟机的第一虚拟通道的当前带宽为所述第一带宽值,所述第一信息具体为第一数据请求信息或第一待传输的数据信息。
在本申请实施例三中,虚拟机管理模块40具体用于:
从所述第一信息中获取第一目的地址;
基于所述第一目的地址,确定所述第一信息的信息类别为第一信息类别,其中,所述第一信息类别具体为局域网信息类别或广域网信息类别;
基于预设的信息类别与带宽值的第一对应关系,确定与所述第一信息类别对应的第一带宽值。
在本申请实施例三中,虚拟机管理模块40具体用于:
为所述第一信息类别分配第一队列;
设置所述第一队列的第一队列带宽为所述第一带宽值。
在本申请实施例三中,虚拟机管理模块40具体用于:
从所述第一信息中获取端口号;
基于所述端口号,确定用于发送所述第一信息的应用程序为第一程序类型;
基于预设的程序类型与带宽值的第二对应关系,确定与所述第一程序类型对应的第一带宽值。
在本申请实施例三中,虚拟机管理模块40具体用于:
为所述第一程序类型分配第二队列;
设置所述第二队列的第二队列带宽为所述第一带宽值。
通过本申请实施例中的一个或多个技术方案,可以实现如下一个或多个技术效果:
一、由于本申请实施例中的技术方案,采用获得第一虚拟机发送的第一信息,其中所述第一信息具体为第一数据请求信息或第一待传输的数据信息;基于所述第一信息获取第一带宽值;设置所述第一虚拟机的第一虚拟通道的当前带宽为所述第一带宽值的技术手段,这样,无论虚拟机进行数据交换的对象是同一物理主机上的另一虚拟机还是不同物理主机上的虚拟机,只要虚拟机管理器检测到虚拟机需要进行数据交换,虚拟机管理器便会根据实际需要交换的数据的类别或者大小,为该虚拟机分配与交换数据相匹配的带宽值,所以,有效解决了现有技术中存在无法对同一物理主机上的多个虚拟机中的每个虚拟机的带宽进行灵活分配的技术问题,实现了根据每个虚拟机的使用需求来分配带宽的技术效果。
二、由于本申请实施例中的技术方案,采用从所述第一信息中获取第一目的地址;基于所述第一目的地址,确定所述第一信息的信息类别为第一信息类别,其中,所述第一信息类别具体为局域网信息类别或广域网信息类别;基于预设的信息类别与带宽值的第一对应关系,确定与所述第一信息类别对应的第一带宽值的技术手段,这样,虚拟机管理器能够根据交换数据的目的地址区分出当前数据是需要内网带宽还是外网带宽,由于内网带宽资源较丰富,若确定出当前交换数据需要内网带宽时,则可以为该虚拟机分配较大的带宽,最大化的满足交换数据的需求;若确定出当前交换数据需要外网带宽时,则可以为该虚拟机分配较小的带宽,例如,能满足交换数据需求的最低带宽,所以,实现了区分内外网数据,并根据内外网带宽的不同为数据分配带宽的技术效果。
三、由于本申请实施例中的技术方案,采用从所述第一信息中获取端口号;基于所述端口号,确定用于发送所述第一信息的应用程序为第一程序类型;基于预设的程序类型与带宽值的第二对应关系,确定与所述第一程序类型对应的第一带宽值的技术手段,这样,虚拟机管理器能够根据发送交换数据的端口,区分出发送该数据的应用程序,例如,当该数据是由视频应用程序发送的数据请求时,此时需要分配较大的带宽;若该数据是由小说应用程序发送的数据请求时,此时便可以分配较小的带宽,所以,实现了区分不同应用程序的数据,并根据不同的应用程序合理分配带宽的技术效果。
四、由于本申请实施例中的技术方案,采用为所述第一信息类别分配第一队列;设置所述第一队列的第一队列带宽为所述第一带宽值的技术手段,这样,虚拟机管理器的入口在接收到由虚拟机发送的交换数据时,会将每个数据分配到与之相对应的队列中,并为各个队列分配相应的带宽,使数据按照预设的控制策略出队列,实现了通过虚拟机管理器的入口队列控制带宽的技术效果。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
具体来讲,本申请实施例中的带宽控制方法对应的计算机程序指令可以被存储在光盘,硬盘,U盘等存储介质上,当存储介质中的与带宽控制方法对应的计算机程序指令被一电子设备读取或被执行时,包括如下步骤:
获得第一虚拟机发送的第一信息,其中所述第一信息具体为第一数据请求信息或第一待传输的数据信息;
基于所述第一信息获取第一带宽值;
设置所述第一虚拟机的第一虚拟通道的当前带宽为所述第一带宽值。
可选的,所述存储介质中存储的与步骤:基于所述第一信息获取第一带宽值,对应的计算机程序指令在被执行时,具体包括:
从所述第一信息中获取第一目的地址;
基于所述第一目的地址,确定所述第一信息的信息类别为第一信息类别,其中,所述第一信息类别具体为局域网信息类别或广域网信息类别;
基于预设的信息类别与带宽值的第一对应关系,确定与所述第一信息类别对应的第一带宽值。
可选的,所述存储介质中存储的与步骤:设置所述第一虚拟机的第一虚拟通道的当前带宽为所述第一带宽值,对应的计算机程序指令在被执行时,具体包括:
为所述第一信息类别分配第一队列;
设置所述第一队列的第一队列带宽为所述第一带宽值。
可选的,所述存储介质中存储的与步骤:基于所述第一信息获取第一带宽值,对应的计算机程序指令在被执行时,具体包括:
从所述第一信息中获取端口号;
基于所述端口号,确定用于发送所述第一信息的应用程序为第一程序类型;
基于预设的程序类型与带宽值的第二对应关系,确定与所述第一程序类型对应的第一带宽值。
可选的,所述存储介质中存储的与步骤:设置所述第一虚拟机的第一虚拟通道的当前带宽为所述第一带宽值,对应的计算机程序指令在被执行时,具体包括:
为所述第一程序类型分配第二队列;
设置所述第二队列的第二队列带宽为所述第一带宽值。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (5)

1.一种带宽控制方法,包括:
获得第一虚拟机发送的第一信息,其中所述第一信息具体为所述第一虚拟机发送的由发送请求的端口及目的地址组成的第一数据请求信息或由所述第一虚拟机发送的由发送请求的端口、传输内容及目的地址端口组成的第一待传输的数据信息;
基于所述第一信息获取第一带宽值;
设置所述第一虚拟机的第一虚拟通道的当前带宽为所述第一带宽值,
所述基于所述第一信息获取第一带宽值,具体包括:
从所述第一信息中获取第一目的地址;
基于所述第一目的地址,确定所述第一信息的信息类别为第一信息类别,其中,所述第一信息类别具体为局域网信息类别或广域网信息类别;
基于预设的信息类别与带宽值的第一对应关系,确定与所述第一信息类别对应的第一带宽值。
2.如权利要求1所述的方法,其特征在于,所述设置所述第一虚拟机的第一虚拟通道的当前带宽为所述第一带宽值,具体包括:
为所述第一信息类别分配第一队列;
设置所述第一队列的第一队列带宽为所述第一带宽值。
3.一种电子设备,包括:
第一获取单元,用于获得第一虚拟机发送的第一信息,其中所述第一信息具体为所述第一虚拟机发送的由发送请求的端口及目的地址组成的第一数据请求信息或由所述第一虚拟机发送的由发送请求的端口、传输内容及目的地址端口组成的第一待传输的数据信息;
第二获取单元,用于基于所述第一信息获取第一带宽值;
第一设置单元,用于设置所述第一虚拟机的第一虚拟通道的当前带宽为所述第一带宽值,
所述第二获取单元包括:
第一获取模块,用于从所述第一信息中获取第一目的地址;
第一确定模块,用于基于所述第一目的地址,确定所述第一信息的信息类别为第一信息类别,其中,所述第一信息类别具体为局域网信息类别或广域网信息类别;
第二确定模块,用于基于预设的信息类别与带宽值的第一对应关系,确定与所述第一信息类别对应的第一带宽值。
4.一种电子设备,包括:
壳体;
存储器,设置在所述壳体内;
处理器,设置在所述壳体内;
虚拟机管理模块,设置在所述壳体内,所述虚拟机管理模块将所述存储器虚拟化成多个虚拟存储器及将所述处理器虚拟化成多个虚拟处理器,进而形成包括第一虚拟机在内的至少一个虚拟机;
其中,所述虚拟机管理模块在获得所述第一虚拟机发送的第一信息时,基于所述第一信息获取第一带宽值,并设置所述第一虚拟机的第一虚拟通道的当前带宽为所述第一带宽值,所述第一信息具体为所述第一虚拟机发送的由发送请求的端口及目的地址组成的第一数据请求信息或由所述第一虚拟机发送的由发送请求的端口、传输内容及目的地址端口组成的第一待传输的数据信息,
所述虚拟机管理模块具体用于:
从所述第一信息中获取第一目的地址;
基于所述第一目的地址,确定所述第一信息的信息类别为第一信息类别,其中,所述第一信息类别具体为局域网信息类别或广域网信息类别;
基于预设的信息类别与带宽值的第一对应关系,确定与所述第一信息类别对应的第一带宽值。
5.如权利要求4所述的电子设备,其特征在于,所述虚拟机管理模块具体用于:
为所述第一信息类别分配第一队列;
设置所述第一队列的第一队列带宽为所述第一带宽值。
CN201510531674.9A 2015-08-26 2015-08-26 一种带宽控制方法及电子设备 Active CN105138392B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510531674.9A CN105138392B (zh) 2015-08-26 2015-08-26 一种带宽控制方法及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510531674.9A CN105138392B (zh) 2015-08-26 2015-08-26 一种带宽控制方法及电子设备

Publications (2)

Publication Number Publication Date
CN105138392A CN105138392A (zh) 2015-12-09
CN105138392B true CN105138392B (zh) 2019-09-24

Family

ID=54723749

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510531674.9A Active CN105138392B (zh) 2015-08-26 2015-08-26 一种带宽控制方法及电子设备

Country Status (1)

Country Link
CN (1) CN105138392B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105978825A (zh) * 2016-07-15 2016-09-28 国云科技股份有限公司 一种云平台访问入口带宽共享方法
CN115913817B (zh) * 2023-01-28 2023-05-26 南京芯驰半导体科技有限公司 多通路虚拟化总线系统、控制方法、芯片及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101499021A (zh) * 2008-01-31 2009-08-05 国际商业机器公司 在多个虚拟机上动态分配资源的方法和装置
CN104281496A (zh) * 2014-10-27 2015-01-14 深圳中兴网信科技有限公司 虚拟资源的分配方法及分配装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5182162B2 (ja) * 2009-03-10 2013-04-10 日本電気株式会社 計算機システム及びi/o制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101499021A (zh) * 2008-01-31 2009-08-05 国际商业机器公司 在多个虚拟机上动态分配资源的方法和装置
CN104281496A (zh) * 2014-10-27 2015-01-14 深圳中兴网信科技有限公司 虚拟资源的分配方法及分配装置

Also Published As

Publication number Publication date
CN105138392A (zh) 2015-12-09

Similar Documents

Publication Publication Date Title
US11029990B2 (en) Delivering a single end user experience to a client from multiple servers
US10572290B2 (en) Method and apparatus for allocating a physical resource to a virtual machine
CN110235104B (zh) 用于虚拟化的图形处理单元分区
US10601885B2 (en) Adaptive scene complexity based on service quality
CN105159753B (zh) 加速器虚拟化的方法、装置及集中资源管理器
CN109445905B (zh) 虚拟机数据通信方法和系统以及虚拟机配置方法和装置
CN109729106B (zh) 处理计算任务的方法、系统和计算机程序产品
US8640128B2 (en) Dynamic network adapter queue pair allocation
US20150133214A1 (en) Video encoding based on areas of interest
KR20130108609A (ko) 범용 프로세서와 그래픽 프로세서 사이의 부하 분산
US10218674B2 (en) MAC address allocation for virtual machines
US9507625B2 (en) Apparatus and method for generating software defined network(SDN)-based virtual network according to user demand
CN116320469B (zh) 一种虚拟化视频编解码系统及方法、电子设备和存储介质
CN103294444A (zh) 计算机共享平台中音频数据的提供方法及装置
CN102270153A (zh) 一种虚拟环境下加密卡共享的方法和装置
CN105138392B (zh) 一种带宽控制方法及电子设备
CN116860391A (zh) Gpu算力资源调度方法、装置、设备和介质
CN105653347B (zh) 一种服务器、资源管理方法及虚拟机管理器
US10729976B1 (en) Coordination of content presentation operations
US9839843B1 (en) Coordination of content presentation operations
CN106331764A (zh) 一种全景视频分享方法及其分享装置
EP4109255A1 (en) Scheduling in a container orchestration system utilizing hardware topology hints
CN108932149A (zh) 数据传输方法及装置
KR101488664B1 (ko) 가상 머신별 데이터 경로 가상화 처리를 위한 네트워크 인터페이스 카드 및 상기 네트워크 인터페이스 카드에서의 가상 머신별 데이터 경로 가상화 처리 방법
KR20150113783A (ko) 테넌트 기반의 동적 프로세서 할당 장치 및 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant