CN109634714B - 一种智能调度的方法及装置 - Google Patents

一种智能调度的方法及装置 Download PDF

Info

Publication number
CN109634714B
CN109634714B CN201811301726.3A CN201811301726A CN109634714B CN 109634714 B CN109634714 B CN 109634714B CN 201811301726 A CN201811301726 A CN 201811301726A CN 109634714 B CN109634714 B CN 109634714B
Authority
CN
China
Prior art keywords
virtual machine
time consumption
task
virtual machines
selecting
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
CN201811301726.3A
Other languages
English (en)
Other versions
CN109634714A (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.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo 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 Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201811301726.3A priority Critical patent/CN109634714B/zh
Publication of CN109634714A publication Critical patent/CN109634714A/zh
Application granted granted Critical
Publication of CN109634714B publication Critical patent/CN109634714B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明涉及自动化信息技术领域,尤其涉及一种智能调度的方法,包括:在分配待执行用例时,获取M个虚拟机中每个虚拟机的当前环境参数,M为正整数;基于每个虚拟机的当前环境参数,预测每个虚拟机完成指定任务的耗时;基于每个虚拟机完成指定任务的耗时,从M个虚拟机中选出耗时最短的虚拟机作为目标虚拟机;将待执行用例分配给目标虚拟机,以使得目标虚拟机执行该待执行用例,进而使得该目标虚拟机在执行该用例时相较于其他非目标虚拟机执行用例的速度要快很多,因此,提高了虚拟机执行用例的效率,当然,也提高了虚拟机所在的服务器执行用例的效率,提高了系统的整体运行速度。

Description

一种智能调度的方法及装置
技术领域
本发明涉及自动化信息技术领域,尤其涉及一种智能调度的方法及装置。
背景技术
现有的自动化系统日均运行用例1万以上,具体有45台服务器来分配执行,在这些服务器中共有虚拟机节点数量大约2867个。在执行用例时,可以有多个可选的虚拟机来执行,该多个可选的虚拟机分布在不同的服务器上。现有技术中是采用可用数量倒排分配策略对用例进行分配,比如,根据当前正在执行用例的虚拟机执行用例的数量,按照数量由小到大的顺序排列,在需要分配用例时,将该用例分配给执行用例数量最少的虚拟机进行执行。但是,这样的分配策略并没有兼顾虚拟机的运行速度以及能够承担的任务量,因此,执行的效率并不高。
因此,如何提高虚拟机执行用例的效率,提高系统整体运行速度是目前亟待解决的技术问题。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的智能调度的方法及装置。
第一方面,本发明实施例提供一种智能调度的方法,包括:
在分配待执行用例时,获取M个虚拟机中每个虚拟机的当前环境参数,M为正整数;
基于所述每个虚拟机的当前环境参数,预测所述每个虚拟机完成指定任务的耗时;
基于所述每个虚拟机完成指定任务的耗时,从所述M个虚拟机中选出耗时最短的虚拟机作为目标虚拟机;
将所述待执行用例分配给所述目标虚拟机,以使得所述目标虚拟机执行所述待执行用例。
优选的,所述M个虚拟机分布在N个服务器中,N为小于M的正整数,所述每个虚拟机的当前环境参数,包括:
在当前时刻每个虚拟机的第一环境参数;和/或
在当前时刻每个所在的服务器的第二环境参数。
优选的,所述第一环境参数,包括以下信息中的一种或多种:
虚拟机的CPU数量、虚拟机的内存容量、虚拟机采用的系统类型、虚拟机所在的硬盘的使用率。
优选的,所述第二环境参数,包括以下信息中的一种或多种:
服务器磁盘读写速度、服务器网络读写速度、服务器的系统盘的使用率、服务器的内存容量和所述内存的使用率、服务器的CPU数量和所述CPU的使用率。
优选的,所述基于所述每个虚拟机的当前环境参数,预测所述每个虚拟机完成指定任务的耗时,具体包括:
将所述每个虚拟机的当前环境参数输入预先训练得到的预测模型;
获得所述预测模型输出的每个虚拟机完成指定任务的耗时。
优选的,所述指定任务,包括:
回滚快照任务;和/或
系统登陆任务。
优选的,所述基于所述每个虚拟机完成指定任务的耗时,从所述M个虚拟机中选出耗时最短的虚拟机作为目标虚拟机,具体包括:
基于所述每个虚拟机完成回滚快照任务的耗时和系统登录任务的耗时,从所述M个虚拟机中选出完成回滚快照任务的耗时和系统登录任务的耗时的总耗时最短的虚拟机作为目标虚拟机;或
基于所述每个虚拟机完成回滚快照任务的耗时,从所述M个虚拟机中选出完成回滚快照任务的耗时最短的虚拟机作为目标虚拟机;或
基于所述每个虚拟机完成系统登录任务的耗时,从所述M个虚拟机中选出完成系统登录任务的耗时最短的虚拟机作为目标虚拟机。
第二方面,本发明提供了一种智能调度的装置,包括:
获取模块,用于在分配待执行用例时,获取M个虚拟机中每个虚拟机的当前环境参数,M正整数;
预测模块,用于基于所述每个虚拟机的当前环境参数,预测所述每个虚拟机完成指定任务的耗时;
选取模块,用于基于所述每个虚拟机完成指定任务的耗时,从所述M个虚拟机中选出耗时最短的虚拟机作为目标虚拟机;
分配模块,用于将所述待执行用例分配给所述目标虚拟机,以使得所述目标虚拟机执行所述待执行用例。
优选的,所述M个虚拟机分布在N个服务器中,N为小于M的正整数,所述每个虚拟机的当前环境参数,包括:
在当前时刻每个虚拟机的第一环境参数;和/或
在当前时刻每个所在的服务器的第二环境参数。
优选的,所述第一环境参数,包括以下信息中的一种或多种:
虚拟机的CPU数量、虚拟机的内存容量、虚拟机采用的系统类型、虚拟机所在的硬盘的使用率。
优选的,所述第二环境参数,包括以下信息中的一种或多种:
服务器磁盘读写速度、服务器网络读写速度、服务器的系统盘的使用率、服务器的内存容量和所述内存的使用率、服务器的CPU数量和所述CPU的使用率。
优选的,所述预测模块具体包括:
输入单元,用于将所述每个虚拟机的当前环境参数输入预先训练得到的预测模型;
获得单元,用于获得所述预测模型输出的每个虚拟机完成指定任务的耗时。
优选的,所述指定任务,包括:
回滚快照任务;和/或
系统登陆任务。
优选的,所述选取模块具体包括:
第一选取单元,用于基于所述每个虚拟机完成回滚快照任务的耗时和系统登录任务的耗时,从所述M个虚拟机中选出完成回滚快照任务的耗时和系统登录任务的耗时的总耗时最短的虚拟机作为目标虚拟机;
第二选取单元,用于基于所述每个虚拟机完成回滚快照任务的耗时,从所述M个虚拟机中选出完成回滚快照任务的耗时最短的虚拟机作为目标虚拟机;
第三选取单元,用于基于所述每个虚拟机完成系统登录任务的耗时,从所述M个虚拟机中选出完成系统登录任务的耗时最短的虚拟机作为目标虚拟机。
第三方面,本发明实施例还提供了一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现智能调度的方法步骤。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现智能调度的方法步骤。
本发明实施例中的一个或多个技术方案,至少具有如下技术效果或优点:
本发明提供一种智能调度的方法,根据获取的M个虚拟机中每个虚拟机的当前环境参数,然后,基于每个虚拟机当前环境参数,预测每个虚拟机在完成指定任务时的耗时,基于该每个虚拟机完成指定任务的耗时,从M个虚拟机中选出耗时最短的虚拟机作为目标虚拟机,最后将待执行用例分配给目标虚拟机,以使得该目标虚拟机执行该待执行用例,通过采用这样的分配策略,进而使得该目标虚拟机在执行该用例时相较于其他非目标虚拟机执行用例的速度要快很多,因此,提高了虚拟机执行用例的效率,当然,也提高了虚拟机所在的服务器执行用例的效率,提高了系统的整体运行速度。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考图形表示相同的部件。在附图中:
图1示出了本发明实施例中的智能调度的方法的步骤流程示意图;
图2示出了本发明实施例中的智能调度的装置的结构示意图;
图3示出了本发明实施例中的一种计算机设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
实施例一
本发明第一实施例提供了一种智能调度的方法,如图1所示,包括:
S101,在分配待执行用例时,获取M个虚拟机中每个虚拟机的当前环境参数,M为正整数;
S102,基于每个虚拟机的当前环境参数,预测每个虚拟机完成指定任务的耗时;
S103,基于每个虚拟机完成指定任务的耗时,从M个虚拟机中选出耗时最短的虚拟机作为目标虚拟机;
S104,将待执行用例分配给该目标虚拟机,以使得该目标虚拟机执行该待执行用例。
在具体的实施方式中,服务器会分配多个用例给多个虚拟机执行,当需要分配待执行用例时,首先获取M个虚拟机中每个虚拟机的当前环境参数,根据每个虚拟机的当前环境参数,确认每个虚拟机当前的外在环境条件。
具体地,该M个虚拟机分布在N个服务器中,N为小于M的正整数,每个虚拟机的当前环境参数,包括:在当前时刻每个虚拟机的第一环境参数;和/或;在当前时刻每个所在的服务器的第二环境参数。
该第一环境参数包括以下信息中的一种或多种:虚拟机的CPU数量、虚拟机的内存容量、虚拟机采用的系统类型、虚拟机所在的硬盘的使用率。
该第二环境参数包括以下信息中的一种或多种,服务器磁盘读写速度、服务器网络读写速度、服务器的系统盘的使用率、服务器的内存容量和所述内存的使用率、服务器的CPU数量和CPU的使用率。
上述的环境参数能表现虚拟机工作的外在环境条件,该外在环境条件能够直接影响虚拟机的工作效率。在获取虚拟机当前的环境参数时,可以只获取虚拟机的第一环境参数,也可以只获取虚拟机所在的服务器的第二环境参数,当然也可以获取虚拟机的第一环境参数和虚拟机所在的服务器的第二环境参数。
在获得M个虚拟机中每个虚拟机的当前环境参数之后,预测每个虚拟机在当前环境参数下完成指定任务的耗时,该预测的过程可以通过机器学习模型进行预测。
采用机器学习模型来预测每个虚拟机完成指定任务的耗时。具体地,首先将每个虚拟机的当前环境参数输入预先训练得到的预测模型;然后,获得该预测模型输出的每个虚拟机完成指定任务的耗时。
该指定任务具体是指回滚快照任务和/或系统登录任务。因此,可以仅将虚拟机在执行用例过程中的回滚快照任务作为指定任务,该回滚快照任务是指将备份和创建快照的时刻与回滚时刻之间的数据进行恢复,而且将这些数据恢复的过程需要花费时间;当然,还可以仅将虚拟机在执行用例过程中的系统登录任务作为指定任务,该系统登录任务是指在执行用例时,需要与服务器之间进行数据交互,即数据交互时,也需要花费时间;当然,还包括将虚拟机在执行用例过程中的系统登录任务和回滚快照任务共同作为指定任务。
在进行预测之前,首先需要获得该预先训练的预测模型,具体的步骤如下:
首先,在每个虚拟机执行用例的过程中,定时获取每个虚拟机在执行指定任务时的环境参数以及对应的完成指定任务的耗时。将每个虚拟机在执行指定任务时的环境参数以及对应的完成指定任务的耗时作为训练样本,然后,将该训练样本输入机器学习模型,将每个虚拟机完成指定任务的耗时作为机器学习模型的输出,从而对该机器学习模型进行训练,最终获得训练后的预测模型。
比如,第一时刻共有5个虚拟机在执行用例,有5个虚拟机分别所对应的环境参数;第二时刻共有6个虚拟机在执行用例,有6个虚拟机分别所对应的环境参数;第P时刻共有Q个虚拟机在执行用例,有Q个虚拟机分别所对应的环境参数。因此,将这些环境参数作为机器学习模型的输入参数。对应的,在第一时刻,会获得与这5个虚拟机对应的完成指定任务的5个耗时;在第二时刻,获得与这6个虚拟机对应的完成指定任务的6个耗时;在第P时刻,获得与这Q个虚拟机对应的完成指定任务的Q个耗时。将每个时刻每个虚拟机在执行用例过程中完成指定任务的耗时作为该机器学习模型的输出参数。由此来训练机器学习模型。
在获得该预测模型之后,执行S102,基于每个虚拟机的当前环境参数,预测每个虚拟机完成指定任务的耗时。
也就是将当前时刻每个虚拟机的环境参数输入该预先训练得到的预测模型,由该预测模型输出对应的每个虚拟机完成指定任务的耗时。
该机器学习模型具体可以是GBDT(Gradient Boosting Decision Tree,迭代的决策树算法模型)、CNN(Convolutional Neural Network,卷积神经网络模型)或RNN(Recurrent Neural Network,递归神经网络模型)等。本发明实施例并不仅限于这些机器学习模型。
在获得当前时刻每个虚拟机完成指定任务的耗时之后,执行S103,基于每个虚拟机完成指定任务的耗时,从M个虚拟机中选出耗时最短的虚拟机作为目标虚拟机。
该耗时具体可以是回滚快照任务的耗时,可以是完成系统登录任务的耗时,还可以是完成回滚快照任务和系统登录任务的耗时的总耗时。因此,在选取耗时最短的虚拟机时,有如下几种情况:
第一种,基于每个虚拟机完成回滚快照任务的耗时和系统登录任务的耗时,从M个虚拟机中选出完成回滚快照任务的耗时和系统登录任务的耗时的总耗时最短的虚拟机作为目标虚拟机。
由于回滚快照任务和系统登录任务均是执行用例过程中的固定任务,当前执行这两个任务的耗时均最短时,则这两个任务的总耗时就最短。可根据这两个任务的总耗最短来选取目标虚拟机。
第二种,基于每个虚拟机完成回滚快照任务的耗时,从M个虚拟机中选出完成回滚快照任务的耗时最短的虚拟机作为目标虚拟机。
第三种,基于每个虚拟机完成系统登录任务的耗时,从M个虚拟机中选出完成系统登录任务的耗时最短的虚拟机作为目标虚拟机。
由于回滚快照任务的耗时和系统登录任务的耗时均能反应虚拟机执行用例的效率,因此,仅考虑回滚快照任务的耗时或仅考虑系统登录任务的耗时,也能获得当前执行用例的效率最高的虚拟机。
在选取完成指定任务的耗时最短的虚拟机时,可以按照上述的三种情况对耗时最短虚拟机进行选取。在选取耗时最短的虚拟机的过程中,可以有两种选取的方式,第一种是划定预设值的方式,第二种是通过两两比较取最小值的方式。
在第一种方式中,针对每个虚拟机完成指定任务的耗时,划定一个预设值,该预设值可根据当前时刻所有的虚拟机完成指定任务的耗时的数值范围进行划定,具体是划定在该数值范围的中下游阶段,比如,当前时刻所有的虚拟机完成指定任务的耗时的数值范围为10ms~5s之间,在划定预设值时,可以按照保留不大于该预设值的耗时的个数为1~3个的标准进行划分,由此获得的至少一个耗时最短的虚拟机作为目标虚拟机。这种情况为多个耗时相等且最小的情况。
在第二种方式中,将每两个耗时作为一组,首先计算获得每组的平均耗时,然后,将每组中的两个耗时分别与该平均耗时进行比较,保留其中小于或等于该平均耗时的一个或两个耗时,将每两个耗时分别进行比较之后,将保留的其中一个或者两个耗时再次分组,最终直到获得无法舍弃的耗时,将最终获得的一个或多个耗时所对应的虚拟机作为耗时最短的虚拟机,将该耗时最短的虚拟机作为目标虚拟机。
在获得该目标虚拟机之后,执行S104,将待执行用例分配给目标虚拟机,以使得该目标虚拟机执行该待执行用例。此时获得的目标虚拟机即为执行效率最高的虚拟机,将该待执行用例分配给该目标虚拟机进行执行时,可有效提高系统执行用例的效率。
实施例二
基于相同的发明构思,本发明第二实施例还提供了一种智能调度的方法,如图2所述,包括:
获取模块201,用于在分配待执行用例时,获取M个虚拟机中每个虚拟机的当前环境参数,M正整数;
预测模块202,用于基于所述每个虚拟机的当前环境参数,预测所述每个虚拟机完成指定任务的耗时;
选取模块203,用于基于所述每个虚拟机完成指定任务的耗时,从所述M个虚拟机中选出耗时最短的虚拟机作为目标虚拟机;
分配模块204,用于将所述待执行用例分配给所述目标虚拟机,以使得所述目标虚拟机执行所述待执行用例。
优选的,所述M个虚拟机分布在N个服务器中,N为小于M的正整数,所述每个虚拟机的当前环境参数,包括:
在当前时刻每个虚拟机的第一环境参数;和/或
在当前时刻每个所在的服务器的第二环境参数。
优选的,所述第一环境参数,包括以下信息中的一种或多种:
虚拟机的CPU数量、虚拟机的内存容量、虚拟机采用的系统类型、虚拟机所在的硬盘的使用率。
优选的,所述第二环境参数,包括以下信息中的一种或多种:
服务器磁盘读写速度、服务器网络读写速度、服务器的系统盘的使用率、服务器的内存容量和所述内存的使用率、服务器的CPU数量和所述CPU的使用率。
优选的,所述预测模块202具体包括:
输入单元,用于将所述每个虚拟机的当前环境参数输入预先训练得到的预测模型;
获得单元,用于获得所述预测模型输出的每个虚拟机完成指定任务的耗时。
优选的,所述指定任务,包括:
回滚快照任务;和/或
系统登陆任务。
优选的,所述选取模块203具体包括:
第一选取单元,用于基于所述每个虚拟机完成回滚快照任务的耗时和系统登录任务的耗时,从所述M个虚拟机中选出完成回滚快照任务的耗时和系统登录任务的耗时的总耗时最短的虚拟机作为目标虚拟机;
第二选取单元,用于基于所述每个虚拟机完成回滚快照任务的耗时,从所述M个虚拟机中选出完成回滚快照任务的耗时最短的虚拟机作为目标虚拟机;
第三选取单元,用于基于所述每个虚拟机完成系统登录任务的耗时,从所述M个虚拟机中选出完成系统登录任务的耗时最短的虚拟机作为目标虚拟机。
实施例三
基于相同的发明构思,本发明第三实施例还提供了一种服务器,如图3所示,包括存储器304、处理器302及存储在存储器304上并可在处理器302上运行的计算机程序,所述处理器302执行所述程序时实现上述实施例一中的智能调度的方法中的任一方法的步骤。
其中,在图3中,总线架构(用总线300来代表),总线300可以包括任意数量的互联的总线和桥,总线300将包括由处理器302代表的一个或多个处理器和存储器304代表的存储器的各种电路链接在一起。总线300还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口306在总线300和接收器301和发送器303之间提供接口。接收器301和发送器303可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器302负责管理总线300和通常的处理,而存储器304可以被用于存储处理器302在执行操作时所使用的数据。
实施例四
基于相同的发明构思,本发明第四实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文实施例一中的所述智能调度的方法的任一方法的步骤。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的智能调度的装置、服务器中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了A1、一种智能调度的方法,其特征在于,包括:
在分配待执行用例时,获取M个虚拟机中每个虚拟机的当前环境参数,M为正整数;
基于所述每个虚拟机的当前环境参数,预测所述每个虚拟机完成指定任务的耗时;
基于所述每个虚拟机完成指定任务的耗时,从所述M个虚拟机中选出耗时最短的虚拟机作为目标虚拟机;
将所述待执行用例分配给所述目标虚拟机,以使得所述目标虚拟机执行所述待执行用例。
A2、如A1所述的智能调度的方法,其特征在于,所述M个虚拟机分布在N个服务器中,N为小于M的正整数,所述每个虚拟机的当前环境参数,包括:
在当前时刻每个虚拟机的第一环境参数;和/或
在当前时刻每个所在的服务器的第二环境参数。
A3、如A2所述的智能调度的方法,其特征在于,所述第一环境参数,包括以下信息中的一种或多种:
虚拟机的CPU数量、虚拟机的内存容量、虚拟机采用的系统类型、虚拟机所在的硬盘的使用率。
A4、如A2所述的智能调度的方法,其特征在于,所述第二环境参数,包括以下信息中的一种或多种:
服务器磁盘读写速度、服务器网络读写速度、服务器的系统盘的使用率、服务器的内存容量和所述内存的使用率、服务器的CPU数量和所述CPU的使用率。
A5、如A1所述的方法,其特征在于,所述基于所述每个虚拟机的当前环境参数,预测所述每个虚拟机完成指定任务的耗时,具体包括:
将所述每个虚拟机的当前环境参数输入预先训练得到的预测模型;
获得所述预测模型输出的每个虚拟机完成指定任务的耗时。
A6、如A1~A5中任一所述的方法,其特征在于,所述指定任务,包括:
回滚快照任务;和/或
系统登陆任务。
A7、如A6所述的方法,其特征在于,所述基于所述每个虚拟机完成指定任务的耗时,从所述M个虚拟机中选出耗时最短的虚拟机作为目标虚拟机,具体包括:
基于所述每个虚拟机完成回滚快照任务的耗时和系统登录任务的耗时,从所述M个虚拟机中选出完成回滚快照任务的耗时和系统登录任务的耗时的总耗时最短的虚拟机作为目标虚拟机;或
基于所述每个虚拟机完成回滚快照任务的耗时,从所述M个虚拟机中选出完成回滚快照任务的耗时最短的虚拟机作为目标虚拟机;或
基于所述每个虚拟机完成系统登录任务的耗时,从所述M个虚拟机中选出完成系统登录任务的耗时最短的虚拟机作为目标虚拟机。
B8、一种智能调度的装置,其特征在于,包括:
获取模块,用于在分配待执行用例时,获取M个虚拟机中每个虚拟机的当前环境参数,M正整数;
预测模块,用于基于所述每个虚拟机的当前环境参数,预测所述每个虚拟机完成指定任务的耗时;
选取模块,用于基于所述每个虚拟机完成指定任务的耗时,从所述M个虚拟机中选出耗时最短的虚拟机作为目标虚拟机;
分配模块,用于将所述待执行用例分配给所述目标虚拟机,以使得所述目标虚拟机执行所述待执行用例。
B9、如B8所述的装置,其特征在于,所述M个虚拟机分布在N个服务器中,N为小于M的正整数,所述每个虚拟机的当前环境参数,包括:
在当前时刻每个虚拟机的第一环境参数;和/或
在当前时刻每个所在的服务器的第二环境参数。
B10、如B9所述的装置,其特征在于,所述第一环境参数,包括以下信息中的一种或多种:
虚拟机的CPU数量、虚拟机的内存容量、虚拟机采用的系统类型、虚拟机所在的硬盘的使用率。
B11、如B9所述的装置,其特征在于,所述第二环境参数,包括以下信息中的一种或多种:
服务器磁盘读写速度、服务器网络读写速度、服务器的系统盘的使用率、服务器的内存容量和所述内存的使用率、服务器的CPU数量和所述CPU的使用率。
B12、如B8所述的装置,其特征在于,所述预测模块具体包括:
输入单元,用于将所述每个虚拟机的当前环境参数输入预先训练得到的预测模型;
获得单元,用于获得所述预测模型输出的每个虚拟机完成指定任务的耗时。
B13、如B8-B12中任一所述的装置,其特征在于,所述指定任务,包括:
回滚快照任务;和/或
系统登陆任务。
B14、如B13所述的装置,其特征在于,所述选取模块具体包括:
第一选取单元,用于基于所述每个虚拟机完成回滚快照任务的耗时和系统登录任务的耗时,从所述M个虚拟机中选出完成回滚快照任务的耗时和系统登录任务的耗时的总耗时最短的虚拟机作为目标虚拟机;
第二选取单元,用于基于所述每个虚拟机完成回滚快照任务的耗时,从所述M个虚拟机中选出完成回滚快照任务的耗时最短的虚拟机作为目标虚拟机;
第三选取单元,用于基于所述每个虚拟机完成系统登录任务的耗时,从所述M个虚拟机中选出完成系统登录任务的耗时最短的虚拟机作为目标虚拟机。
C15、一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如A1-A7中任一所述的方法步骤。
D16、一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,该程序被处理器执行时实现如A1-A7中任一所述的方法步骤。

Claims (12)

1.一种智能调度的方法,其特征在于,包括:
在分配待执行用例时,获取M个虚拟机中每个虚拟机的当前环境参数,M为正整数;
基于所述每个虚拟机的当前环境参数,预测所述每个虚拟机完成指定任务的耗时;
基于所述每个虚拟机完成指定任务的耗时,从所述M个虚拟机中选出耗时最短的虚拟机作为目标虚拟机;
将所述待执行用例分配给所述目标虚拟机,以使得所述目标虚拟机执行所述待执行用例;
所述指定任务,包括:
回滚快照任务;和/或
系统登陆任务;
所述基于所述每个虚拟机完成指定任务的耗时,从所述M个虚拟机中选出耗时最短的虚拟机作为目标虚拟机,具体包括:
基于所述每个虚拟机完成回滚快照任务的耗时和系统登录任务的耗时,从所述M个虚拟机中选出完成回滚快照任务的耗时和系统登录任务的耗时的总耗时最短的虚拟机作为目标虚拟机;或
基于所述每个虚拟机完成回滚快照任务的耗时,从所述M个虚拟机中选出完成回滚快照任务的耗时最短的虚拟机作为目标虚拟机;或
基于所述每个虚拟机完成系统登录任务的耗时,从所述M个虚拟机中选出完成系统登录任务的耗时最短的虚拟机作为目标虚拟机。
2.如权利要求1所述的智能调度的方法,其特征在于,所述M个虚拟机分布在N个服务器中,N为小于M的正整数,所述每个虚拟机的当前环境参数,包括:
在当前时刻每个虚拟机的第一环境参数;和/或
在当前时刻每个所在的服务器的第二环境参数。
3.如权利要求2所述的智能调度的方法,其特征在于,所述第一环境参数,包括以下信息中的一种或多种:
虚拟机的CPU数量、虚拟机的内存容量、虚拟机采用的系统类型、虚拟机所在的硬盘的使用率。
4.如权利要求2所述的智能调度的方法,其特征在于,所述第二环境参数,包括以下信息中的一种或多种:
服务器磁盘读写速度、服务器网络读写速度、服务器的系统盘的使用率、服务器的内存容量和所述内存的使用率、服务器的CPU数量和所述CPU的使用率。
5.如权利要求1所述的方法,其特征在于,所述基于所述每个虚拟机的当前环境参数,预测所述每个虚拟机完成指定任务的耗时,具体包括:
将所述每个虚拟机的当前环境参数输入预先训练得到的预测模型;
获得所述预测模型输出的每个虚拟机完成指定任务的耗时。
6.一种智能调度的装置,其特征在于,包括:
获取模块,用于在分配待执行用例时,获取M个虚拟机中每个虚拟机的当前环境参数,M正整数;
预测模块,用于基于所述每个虚拟机的当前环境参数,预测所述每个虚拟机完成指定任务的耗时;
选取模块,用于基于所述每个虚拟机完成指定任务的耗时,从所述M个虚拟机中选出耗时最短的虚拟机作为目标虚拟机;
分配模块,用于将所述待执行用例分配给所述目标虚拟机,以使得所述目标虚拟机执行所述待执行用例;
所述指定任务,包括:
回滚快照任务;和/或
系统登陆任务;
所述选取模块具体包括:
第一选取单元,用于基于所述每个虚拟机完成回滚快照任务的耗时和系统登录任务的耗时,从所述M个虚拟机中选出完成回滚快照任务的耗时和系统登录任务的耗时的总耗时最短的虚拟机作为目标虚拟机;
第二选取单元,用于基于所述每个虚拟机完成回滚快照任务的耗时,从所述M个虚拟机中选出完成回滚快照任务的耗时最短的虚拟机作为目标虚拟机;
第三选取单元,用于基于所述每个虚拟机完成系统登录任务的耗时,从所述M个虚拟机中选出完成系统登录任务的耗时最短的虚拟机作为目标虚拟机。
7.如权利要求6所述的装置,其特征在于,所述M个虚拟机分布在N个服务器中,N为小于M的正整数,所述每个虚拟机的当前环境参数,包括:
在当前时刻每个虚拟机的第一环境参数;和/或
在当前时刻每个所在的服务器的第二环境参数。
8.如权利要求7所述的装置,其特征在于,所述第一环境参数,包括以下信息中的一种或多种:
虚拟机的CPU数量、虚拟机的内存容量、虚拟机采用的系统类型、虚拟机所在的硬盘的使用率。
9.如权利要求7所述的装置,其特征在于,所述第二环境参数,包括以下信息中的一种或多种:
服务器磁盘读写速度、服务器网络读写速度、服务器的系统盘的使用率、服务器的内存容量和所述内存的使用率、服务器的CPU数量和所述CPU的使用率。
10.如权利要求6所述的装置,其特征在于,所述预测模块具体包括:
输入单元,用于将所述每个虚拟机的当前环境参数输入预先训练得到的预测模型;
获得单元,用于获得所述预测模型输出的每个虚拟机完成指定任务的耗时。
11.一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-5中任一权利要求所述的方法步骤。
12.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一权利要求所述的方法步骤。
CN201811301726.3A 2018-11-02 2018-11-02 一种智能调度的方法及装置 Active CN109634714B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811301726.3A CN109634714B (zh) 2018-11-02 2018-11-02 一种智能调度的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811301726.3A CN109634714B (zh) 2018-11-02 2018-11-02 一种智能调度的方法及装置

Publications (2)

Publication Number Publication Date
CN109634714A CN109634714A (zh) 2019-04-16
CN109634714B true CN109634714B (zh) 2023-10-31

Family

ID=66067261

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811301726.3A Active CN109634714B (zh) 2018-11-02 2018-11-02 一种智能调度的方法及装置

Country Status (1)

Country Link
CN (1) CN109634714B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111930476B (zh) * 2019-05-13 2024-02-27 百度(中国)有限公司 一种任务调度方法、装置及电子设备
CN111760276B (zh) * 2020-07-16 2022-06-14 腾讯科技(深圳)有限公司 游戏行为控制方法、装置、终端、服务器和存储介质
CN112286658A (zh) * 2020-10-28 2021-01-29 北京字节跳动网络技术有限公司 一种集群任务调度方法、装置、计算机设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102929701A (zh) * 2012-10-17 2013-02-13 北京搜狐新媒体信息技术有限公司 一种批量虚拟机的调度方法及装置
CN103605574A (zh) * 2013-11-18 2014-02-26 浪潮(北京)电子信息产业有限公司 一种服务器集群中的虚拟机资源调度方法及系统
CN103763346A (zh) * 2013-12-31 2014-04-30 华为技术有限公司 一种分布式资源调度方法及装置
CN104065745A (zh) * 2014-07-07 2014-09-24 电子科技大学 云计算动态资源调度系统和方法
CN107908464A (zh) * 2017-10-12 2018-04-13 华东师范大学 一种考虑可靠性的云计算工作流节能调度方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102929701A (zh) * 2012-10-17 2013-02-13 北京搜狐新媒体信息技术有限公司 一种批量虚拟机的调度方法及装置
CN103605574A (zh) * 2013-11-18 2014-02-26 浪潮(北京)电子信息产业有限公司 一种服务器集群中的虚拟机资源调度方法及系统
CN103763346A (zh) * 2013-12-31 2014-04-30 华为技术有限公司 一种分布式资源调度方法及装置
CN104065745A (zh) * 2014-07-07 2014-09-24 电子科技大学 云计算动态资源调度系统和方法
CN107908464A (zh) * 2017-10-12 2018-04-13 华东师范大学 一种考虑可靠性的云计算工作流节能调度方法

Also Published As

Publication number Publication date
CN109634714A (zh) 2019-04-16

Similar Documents

Publication Publication Date Title
US9715408B2 (en) Data-aware workload scheduling and execution in heterogeneous environments
CN110727512B (zh) 集群资源调度方法、装置、设备及储存介质
US20200257968A1 (en) Self-learning scheduler for application orchestration on shared compute cluster
US9262220B2 (en) Scheduling workloads and making provision decisions of computer resources in a computing environment
CN109634714B (zh) 一种智能调度的方法及装置
WO2016205978A1 (en) Techniques for virtual machine migration
Tao et al. Dynamic resource allocation algorithm for container-based service computing
JP2021521518A (ja) 仮想マシンスケジューリング方法および装置
CN105988872A (zh) 一种cpu资源分配的方法、装置及电子设备
CN113515382B (zh) 云资源的分配方法、装置、电子设备及存储介质
DE102020108374A1 (de) Verfahren und vorrichtung zur laufzeitmehrfachplanung von software, die in einem heterogenen system ausgeführt wird
US10628766B2 (en) Method and system for enabling dynamic capacity planning
CN113946431B (zh) 一种资源调度方法、系统、介质及计算设备
CN111198754B (zh) 一种任务调度方法及装置
CN115543577B (zh) 基于协变量的Kubernetes资源调度优化方法、存储介质及设备
CN111861412A (zh) 面向完成时间优化的科学工作流调度方法及系统
CN113157379A (zh) 集群节点资源调度方法及装置
CN116467061B (zh) 一种任务执行的方法、装置、存储介质及电子设备
US9983908B1 (en) Adjusting allocation of selected resources for capped and uncapped virtual machines
US10635501B2 (en) Adaptive scaling of workloads in a distributed computing environment
CA3136666A1 (en) Techniques for increasing the isolation of workloads within a multiprocessor instance
CN117149378A (zh) 智能汽车操作系统的任务调度方法、装置、设备及介质
CN112580816A (zh) 机器学习训练资源管理
CN108268316A (zh) 作业调度的方法及装置
CN116010020A (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
GR01 Patent grant
GR01 Patent grant