虚拟机任务调度方法、虚拟机系统的制作方法

文档序号:9910837阅读:780来源:国知局
虚拟机任务调度方法、虚拟机系统的制作方法
【技术领域】
[0001]本发明属于虚拟机任务调度技术领域,具体涉及一种虚拟机任务调度方法、虚拟机系统。
【背景技术】
[0002]在云技术、大数据等领域中,大量采用虚拟机(VM)技术,即将实体的物理机的CPU、内存、硬盘等资源分为多份,用每份资源虚拟出一个虚拟机,每个虚拟机可独立执行一个或多个任务。以通过分时复用技术提高整体的资源利用率。
[0003]在搜索引擎、电子商务等业务中,存在明显的长尾效应(LongTail Effect,指任务种类多,但每种任务的量不大的现象),从而导致虚拟机本身出现严重的时延。而且,由于虚拟机的特性,故随着运行任务状况的不同,具有同样资源的虚拟机的时延可能不同,甚至同一虚拟机在不同时刻的时延也不同。因此,目前进行虚拟机任务调度时都不考虑虚拟机的时延,由此导致任务的时延超出允许范围,服务质量下降,影响用户体验。

【发明内容】

[0004]本发明针对现有的虚拟机任务调度方法会因虚拟机的时延导致服务质量下降,影响用户体验的问题,提供一种可使各任务都分配入具有适当的时延的虚拟机的虚拟机任务调度方法、虚拟机系统。
[0005]解决本发明技术问题所采用的技术方案是一种虚拟机任务调度方法,其包括:
[0006]接受任务,并根据所述任务对时延的要求将其分入相应的需求类型;
[0007]使虚拟机执行L次时钟挂起a毫秒的操作,并记录其中实际挂起时间大于b毫秒的时钟挂起操作的次数X,其中b大于等于a;
[0008]根据X将所述虚拟机分入相应的性能类型;
[0009]根据任务的需求类型,将其分配给具有对应性能类型的虚拟机。
[0010]优选的是,所述根据所述任务对时延的要求将其分入相应的需求类型包括:根据预先设定的任务的种类与需求类型的关系,将任务分入与其种类相对应的需求类型。
[0011 ]优选的是,所述根据X将所述虚拟机分入相应的性能类型包括:根据X与预先设定的阈值间的关系,将虚拟机分入相应的性能类型。
[0012]进一步优选的是,所述阈值包括第一阈值,以及大于第一阈值的第二阈值;所述根据X将所述虚拟机分入相应的性能类型包括:若所述X小于第一阈值,则将所述虚拟机分入高性能类型;若所述X大于等于第一阈值而小于等于第二阈值,则将所述虚拟机分入中性能类型;若所述X大于第二阈值,则将所述虚拟机分入低性能类型。
[0013]进一步优选的是,所述L在12000至17000;所述b与a相等;所述第一阈值在11至15;所述第二阈值在55至75。
[0014]优选的是,所述1^在12000至17 000 ;所述a在6至8 ;所述b与a相等。
[0015]解决本发明技术问题所采用的技术方案是一种虚拟机系统,其包括:
[0016]多个物理机,用于建立多个虚拟机;
[0017]任务分类单元,用于接受任务,并根据所述任务对时延的要求将其分入相应的需求类型;
[0018]虚拟机测试单元,用于使虚拟机执行L次时钟挂起a毫秒的操作,并记录其中实际挂起时间大于b毫秒的时钟挂起操作的次数X,其中b大于等于a;
[0019]虚拟机分类单元,用于根据X将所述虚拟机分入相应的性能类型;
[0020]任务分配单元,用于根据任务的需求类型,将其分配给具有对应性能类型的虚拟机。
[0021]优选的是,所述任务分类单元用于根据预先设定的任务的种类与需求类型的关系,将任务分入与其种类相对应的需求类型。
[0022]优选的是,所述虚拟机分类单元用于根据X与预先设定的阈值间的关系,将虚拟机分入相应的性能类型。
[0023]进一步优选的是,所述阈值包括第一阈值,以及大于第一阈值的第二阈值;所述虚拟机测试单元用于按照以下方式根据X将所述虚拟机分入相应的性能类型:若所述X小于第一阈值,则将所述虚拟机分入高性能类型;若所述X大于等于第一阈值而小于等于第二阈值,则将所述虚拟机分入中性能类型;若所述X大于第二阈值,则将所述虚拟机分入低性能类型。
[0024]本发明的虚拟机任务调度方法中,在分配任务前先通过使各虚拟机执行多次时钟挂起操作检测出各虚拟机当前的时延状况,并据此进行任务分配,将对时延要求高的任务分入时延低的虚拟机,将对时延要求低的任务分入时延高的虚拟机,从而可使各任务都获得可接受的时延,改善服务质量和用户体验。
[0025]本发明的虚拟机系统中,在分配任务前先通过使各虚拟机执行多次时钟挂起操作检测出各虚拟机当前的时延状况,并据此进行任务分配,将对时延要求高的任务分入时延低的虚拟机,将对时延要求低的任务分入时延高的虚拟机,从而可使各任务都获得可接受的时延,改善服务质量和用户体验。
【附图说明】
[0026]图1为本发明的实施例的一种虚拟机任务调度方法的流程示意图;
[0027]图2为本发明的实施例的另一种虚拟机任务调度方法的流程示意图;
[0028]图3为本发明的实施例的一种虚拟机系统的组成示意框图。
【具体实施方式】
[0029]为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和【具体实施方式】对本发明作进一步详细描述。
[0030]实施例1:
[0031 ]如图1所示,本实施例提供一种虚拟机任务调度方法,其包括:
[0032]S101、接受任务,并根据任务对时延的要求将其分入相应的需求类型。
[0033]S102、使虚拟机执行L次时钟挂起a毫秒的操作,并记录其中实际挂起时间大于b毫秒的时钟挂起操作的次数X,其中b大于等于a。
[0034]S103、根据X将虚拟机分入相应的性能类型。
[0035]S104、根据任务的需求类型,将其分配给具有对应性能类型的虚拟机。
[0036]本实施例的虚拟机任务调度方法中,在分配任务前先通过使各虚拟机执行多次时钟挂起操作检测出各虚拟机当前的时延状况,并据此进行任务分配,将对时延要求高的任务分入时延低的虚拟机,将对时延要求低的任务分入时延高的虚拟机,从而可使各任务都获得可接受的时延,改善服务质量和用户体验。
[0037]实施例2:
[0038]如图2所示,本实施例提供一种虚拟机任务调度方法,其用于将任务分配给相应的虚拟机。
[0039]例如,以当前要将M个任务分配到N个虚拟机上为例进行说明,以上虚拟机任务调度方法包括:
[0040]S201、接受任务,并根据任务对时延的要求将其分入相应的需求类型。
[0041]优选的,本步骤包括:接受M个任务,并根据预先设定的任务的种类与需求类型的关系,将任务分入与其种类相对应的需求类型(如高需求类型、中需求类型、低需求类型)。
[0042]显然,不同类型的任务对时延有不同的要求,且该要求是可知的:例如,网上支付类的任务对时延的要求就很高(即允许的时延低),因为不论支付是否成功,都应当很快得到确定的反馈,否则可能产生严重的安全问题;相对的,电子邮件类任务一般对时延的要求就较低(即允许的时延高),因为一般都不会要求电子邮件必须立刻达到。
[0043]因此,本步骤就是依照预先设定的任务的种类与需求类型的关系,根据任务的种类,将以上M个任务分入不同的需求类型中,如高需求类型(即允许的时延较低)、中需求类型(即允许的时延一般)、低需求类型(即允许的时延较高)。
[0044]S202、使虚拟机执行L次时钟挂起a毫秒的操作,并记录其中实际挂起时间大于b毫秒的时钟挂起操作的次数X,其中b大于等于a。
[0045]也就是说,使每个虚拟机都分别循环执行SleeP(a)函数L次,以此作为对虚拟机的“测试”(当然各虚拟机的测试可同时进行)。其中,sleep()函数可将处理时钟中断,而不影响虚拟机正在运行的任务。当虚拟机的CPU等资源压力较大时,会导致虚拟机的实际醒来时间比预定时间晚,即实际挂起时间比理论时间长。因此,虚拟机整体的时延越大,则其实际挂起时间超过预定时间(13_秒)的概率就越大,故通过实际挂起时间大于b_秒的时钟挂起操作的次数X,即可判断出虚拟机的性能。
[0046]当然,实际挂起时间显然不可能小于理论的时钟挂起时间(a毫秒),故b不能小于a。而b之所以可能大于a,是因为其可根据需求设定,例如,若认为存在微小时延并不影响虚拟机的使用,则可以将b定为略大于a的值。
[0047]以上的挂起测试的方法是在虚拟机本地进行的,不需要通过网络,因此其一方面不受网络拥堵的影响,另一方面也不会增大网络压力,故该测试方法简单易行,且测试结果准确可靠。
[0048]S203、根据X将虚拟机分入相应的性能类型。
[0049]如前,X代表了虚拟机当前的时延状况,故可根据X的值将虚拟机分入不同的性能类型中(如该高性能类型、中性能类型、低性能类型)。
[0050]其中,优选的,时钟挂起操作的循环次数L在12000至17000,挂起操作的时间a在6至8,而b等于a。
[0051 ]显然,时钟挂起操作的次数越多越能准确的判断虚拟机的性能;但若其次数过多,则会导致测试时间过长,任务分配过慢。因此,一般循环次数L优选在以上12000至17000的范围,例如为15000,其相应的实际测试时间一般在3分钟以内。
[0052]显然,每次时钟挂起操作的时间a越短,则在相同时间内进行的时钟挂起操作次数就越多,测试结果越准确;但是,由于时间测试本身也存在不可避免的误差、波动等,故若a过短,则以上误差对其的影响就太大
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1