一种资源调度方法及服务器与流程

文档序号:16087194发布日期:2018-11-27 22:34阅读:352来源:国知局

本申请涉及云计算领域,尤其涉及一种资源调度方法及服务器。



背景技术:

云计算(cloud computing)是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。云是网络、互联网的一种比喻说法。过去在图中往往用云来表示电信网,后来也用来表示互联网和底层基础设施的抽象。因此,云计算甚至可以让你体验每秒10万亿次的运算能力,拥有这么强大的计算能力可以模拟核爆炸、预测气候变化和市场发展趋势。用户通过电脑、笔记本、手机等方式接入数据中心,按自己的需求进行运算。

对云计算的定义有多种说法。现阶段广为接受的是美国国家标准与技术研究院(NIST)定义:云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池(资源包括网络、服务器、存储、应用软件、服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。

当前,云计算逐渐被行业认可,云数据中心操作系统逐渐实现并付诸于实践。云数据中心中计算资源利用率的提升,对于云计算操作系统给的健壮性和高效性起着非常关键的作用。

大多数同类系统的计算资源调度方法没有对对用户已有的调度信息进行充分的分析和比较,资源调度策略盲目、调度方式不合理,存在着存储资源利用率低下的问题。



技术实现要素:

本申请实施例提供了一种资源调度方法及服务器,用于提高资源调度的利用率。

有鉴于此,本申请实施例第一方面提供了一种资源调度方法,可以包括:服务器获取业务资源请求,该业务资源请求包括资源请求值和当前业务类别;若该当前业务类别为历史业务类别,则该服务器获取该当前业务类别对应的历史资源调度信息记录;该服务器根据该历史资源调度信息记录,获取可用主机节点队列;该服务器根据该资源请求值和该可用主机节点队列,确定目标可用主机节点;该服务器根据该目标可用主机节点为终端调用资源。

可选的,在本申请的一些实施例中,该服务器根据该资源请求值和该可用主机节点队列,确定目标可用主机节点,可以包括:该服务器确定该可用主机节点对列中的元素对应的取值与该资源请求值的差值,得到差值结果队列;该服务器确定该差值结果队列中非负值对应的主机节点为该目标可用主机节点。

可选的,在本申请的一些实施例中,该方法还可以包括:若该当前业务类别为新业务类别,则该服务器根据预置的配置信息选择未被配置的主机节点;该服务器根据该未被配置的主机节点为该终端调用资源。

可选的,在本申请的一些实施例中,该可用主机节点中的元素按照对应的可用资源值降序排列。

可选的,在本申请的一些实施例中,该服务器根据该目标可用主机节点为终端调用资源之后,该方法还可以包括:该服务器更新该历史资源调度信息记录,得到当前资源调度记录。

本申请实施例第二方面提供一种服务器,可以包括:

获取模块,用于获取业务资源请求,该业务资源请求包括资源请求值和当前业务类别;若该当前业务类别为历史业务类别,则获取该当前业务类别对应的历史资源调度信息记录;根据该历史资源调度信息记录,获取可用主机节点队列;

确定模块,用于根据该资源请求值和该可用主机节点队列,确定目标可用主机节点;

调用模块,用于根据该目标可用主机节点为终端调用资源。

可选的,在本申请的一些实施例中,

该确定模块,具体用于确定该可用主机节点对列中的元素对应的取值与该资源请求值的差值,得到差值结果队列;确定该差值结果队列中非负值对应的主机节点为该目标可用主机节点。

可选的,在本申请的一些实施例中,该服务器还可以包括:

选择模块,用于若该当前业务类别为新业务类别,则根据预置的配置信息选择未被配置的主机节点;

该调用模块,还用于根据该未被配置的主机节点为该终端调用资源。

可选的,在本申请的一些实施例中,该可用主机节点中的元素按照对应的可用资源值降序排列。

可选的,在本申请的一些实施例中,该服务器还可以包括:

更新模块,用于更新该历史资源调度信息记录,得到当前资源调度记录。

本申请实施例第三方面提供一种服务器,可以包括:存储器和处理器,其中,该存储器和该处理器通过总线连接;

该存储器,用于存储指令;

该处理器,用于调用该指令,执行上述第一方面及第一方面任一可选实现方式中该的方法。

本申请实施例第四方面提供一种存储介质,需要说明的是,本申请技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产口的形式体现出来,该计算机软件产品存储在一个存储介质中,用于储存为上述服务器所用的计算机软件指令,其包含用于执行上述各方面为服务器所设计的程序。

该存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

本申请实施例第五方面提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如上述各方面或各方面任一可选实现方式中该的方法。

从以上技术方案可以看出,本申请实施例具有以下优点:

在本申请实施例中,服务器获取业务资源请求,所述业务资源请求包括资源请求值和当前业务类别;若所述当前业务类别为历史业务类别,则所述服务器获取所述当前业务类别对应的历史资源调度信息记录;所述服务器根据所述历史资源调度信息记录,获取可用主机节点队列;所述服务器根据所述资源请求值和所述可用主机节点队列,确定目标可用主机节点;所述服务器根据所述目标可用主机节点为终端调用资源。本发明通过对用户申请的当前业务类别和历史资源调度信息记录的分析,确定可用主机节点,进而确定目标可用主机节点,有效改进了大多数同类算法资源调度方式不合理、资源利用率较低的问题。

附图说明

为了更清楚地说明本申请实施例技术方案,下面将对实施例和现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,还可以根据这些附图获得其它的附图。

图1为本申请实施例中资源调度方法的一个实施例示意图;

图2为本申请实施例中资源调度方法的另一个实施例示意图;

图3为本申请实施例中服务器的一个实施例示意图;

图4为本申请实施例中服务器的另一个实施例示意图;

图5为本申请实施例中服务器的另一个实施例示意图;

图6为本申请实施例中服务器的另一个实施例示意图。

具体实施方式

本申请实施例提供了一种资源调度方法及服务器,用于提高资源调度的利用率。

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,都应当属于本申请保护的范围。

为了保证云计算操作系统的高可用性、稳定性,本申请提出了一种云计算下的资源调度方法。

本发明提出一种云计算下的资源调度方法,具体为通过对云数据中心中计算资源相关信息的收集与分析,基于用户的当前业务类别和历史资源调度信息记录,自动调度发现数据中心中的可用主机节点,即可用主机节点中包括可用的调度资源,提高数据中心中的调度资源利用率和主机节点的使用效率。

需要说明的是,在本发明中,主机节点也称为计算节点、计算资源节点,主机节点指的是数据中心中物理主机节点资源。

下面以实施例的方式,对本申请技术方案做进一步的说明,如图1所示,图1为本申请实施例中资源调度方法的一个实施例示意图,可以包括:

101、服务器获取业务资源请求,业务资源请求包括资源请求值和当前业务类别。

在本申请实施例中,用户可以在终端上登陆云计算操作系统门户,输入该次业务资源请求的当前业务类别、资源请求值等详情。

102、若当前业务类别为历史业务类别,则服务器获取当前业务类别对应的历史资源调度信息记录。

服务器中的业务类别识别模块判断该业务的当前业务类别是否为新业务类别,若所述当前业务类别不是新业务类别,则服务器可以获取当前业务类别对应的历史资源调度信息记录。

若所述当前业务类别为新业务类别,则所述服务器根据预置的配置信息选择未被配置的主机节点;所述服务器根据所述未被配置的主机节点为所述终端调用资源。

103、服务器根据历史资源调度信息记录,获取可用主机节点队列。

服务器可以根据历史资源调度信息记录,确定可用主机节点,即存在可用中央处理器资源的主机都可以称呼为可用主机节点。从而,得到可用主机节点队列。需要说明的是,所述可用主机节点中的元素按照对应的可用资源值降序排列。

示例性的,服务器中的资源调度记录模块,获取该业务类别下已有的资源调度信息记录,即历史资源调度信息记录;分析并获得与该当前业务类别相关的可用主机节点队列。

需要说明的是,可用主机节点可以按照可调度次数降序排列,也可以按照可用调度资源的值从大到小排列。例如:可用主机节点队列C={C1,C2,…,Cn},其中,C1为标志被调用次数最少的主机节点的信息。

104、服务器根据资源请求值和可用主机节点队列,确定目标可用主机节点。

服务器根据资源请求值和可用主机节点队列,确定目标可用主机节点,可以包括:所述服务器确定所述可用主机节点对列中的元素对应的取值与所述资源请求值的差值,得到差值结果队列;所述服务器确定所述差值结果队列中非负值对应的主机节点为所述目标可用主机节点。

示例性的,服务器可以依次取C中的记录Ci,与用户申请的资源请求值B做差值,得到差值结果队列。如果差值为正值或者0,则服务器可以确定对应的主机节点为目标可用主机节点。

105、服务器根据目标可用主机节点为终端调用资源。

在本申请实施例中,服务器可以根据目标主机节点中的任一个主机节点为终端调度资源。也可以是,服务器将上述差值结果队列中第一个大于等于0的值(可用主机节点的可调用次数最大,或者,可用主机节点的可用调度资源最大)所对应的可用主机节点信息记录至最优磁盘队列中{[C1,B1],…,[Ci,Bi]}(格式为[节点信息,调度使用量])。优先使用可调用次数高的主机节点,或者,优先使用可用调度资源高的主机节点,最大化利用物理节点资源。

进一步的,服务器还可以更新该业务相关的主机节点队列信息,即删掉上一步中已经记录至最优队列中的主机节点信息,得到新的与该业务相关的主机节点队列CN。

可选的,服务器可以记录此次资源调度信息,并更新资源调度模块中的记录,完成此次算法调用。

在本申请实施例中,本发明通过对用户申请的当前业务类别和历史资源调度信息记录的分析,确定可用主机节点,进而确定目标可用主机节点,有效改进了大多数同类算法资源调度方式不合理、资源利用率较低的问题。

如图2所示,图2为本申请实施例中资源调度方法的另一个实施例示意图,可以包括:

201、服务器获取业务资源请求,业务资源请求包括资源请求值和当前业务类别。

202、服务器判断当前业务类别是否为新业务类别。

203、若否,则服务器获取当前业务类别对应的历史资源调度信息记录。

204、若是,则服务器根据预置的配置信息选择未被配置的主机节点。

服务器根据预置的配置信息,从资源池中随机选择一个未被分配的主机节点资源进行配置。

205、服务器根据历史资源调度信息记录,获取可用主机节点队列。

服务器中的资源调度记录模块,获取该当前业务类别下已有的资源历史调度信息记录;分析并获得与该当前业务类别相关的可用主机节点队列,并基于可用主机节点可调度次数降序排列,如C={C1,C2,…,Cn},C1即标志可调用次数最多的主机节点的信息。

206、服务器确定可用主机节点队列中的元素对应的取值与资源请求值的差值,得到差值结果队列。

服务器依次取C中的记录Ci,与用户申请的资源请求值B做差值,得到一差值结果队列。

207、服务器判断差值结果队列中是否全为负值。

需要说明的是,步骤205-207上接步骤203。

208、服务器根据未被配置的主机节点为所述终端调用资源。

服务器可以记录此次资源调度信息,并更新资源调度模块中的记录,完成此次算法调用。

需要说明的是,步骤208上接步骤204。

209、若否,则服务器将差值结果队列中第一个元素对应的大于等于0的值所对应的主机节点信息记录至最优磁盘队列中。

服务器将上述差值结果队列中第一个大于等于0的值(主机节点可调用次数最大,且由于队列是按次数降序排列,优先使用可调用次数大的主机节点)所对应的主机节点信息记录至最优磁盘队列中。{[C1,B1],…,[Ci,Bi]}(格式为[节点信息,调度使用量]),优先使用可调用次数高的主机节点,最大化利用物理节点资源。接着进入步骤211。

210、若是,则服务器判断该业务相关的主机节点队列是否为空。

需要说明的是,步骤209和210上接步骤207。下接步骤213和步骤214。

211、服务器根据最优磁盘队列中的主机节点信息为终端调度资源。

服务器根据最优磁盘队列记录的主机节点信息:{[主机节点信息,调度使用量],[]…[]},为终端配置主机节点资源。

212、服务器更新历史资源调度记录,得到当前资源调度记录。

服务器记录此次资源调度信息,并更新资源调度模块中的记录,完成此次算法调用。

需要说明的是,步骤211和212上接步骤209。

213、若是,服务器选择一未被分配的主机节点为终端进行资源调度。

服务器确定已有业务相关主机节点队列不符合要求,在计算资源池中随机选择一未被分配的主机节点资源进行配置。进入步骤208。

214、若否,服务器将差值结果队列中的最大的负值对应的主机节点记录至最优主机节点队列中。

服务器取上一步得到的差值结果队列中值最大的记录Li(负值),将其对应的Ci所对应的主机节点信息记录信息—[Ci节点信息,Ci值]记录至最优主机节点队列中。

需要说明的是,步骤213和214上接步骤210。

215、服务器更新该业务相关的主机节点队列信息。

即服务器删掉上一步中已经记录至最优队列中的主机节点信息,得到新的与该业务相关的主机节点队列CN。

216、服务器将最新得到的主机节点队列CN中的记录与前述步骤中得到的差值记录Li的绝对值作差,得到新的差值队列F。再进入步骤207。

需要说明的是,步骤215和216上接步骤214。

在本申请实施例中,算法举例如下所示:

假设:与用户业务i对应的基于被调用次数降序排列的主机节点信息队列为C={C1,C2,C3,C4,C5},其中C1=2,C2=4,C3=3,C4=5,C5=7(即{2,4,3,5,7})。

当用户申请的计算资源(中央处理器CPU)大小为B=3时:C中值Ci与B作差得{-1,1,0,2,4},则取第二个数值1对应的主机节点信息(即第一个非空的主机节点信息)放入最优队列{[C2,3]},结束。

当用户申请的计算资源大小为B=8时:C中值Ci与B作差得{-6,-4,-5,-3,-1},则

首先取队列中最大的值Li=-1对应的节点信息放入最优队列中,即{[C5,7]};

然后更新业务相关的主机节点队列CN={C1,C2,C3,C4}(C5已经删除更新掉),将CN与Li的绝对值1作差得队列{1,3,2,4},取第一个数值1对应的主机节点信息(同样,也是第一个非空的主机节点信息)放入最优队列中,即最终得到的最优队列为{[C5,7],[C1,1]},最终按照最优队列进行计算资源的调度、分配。

本发明方法通过对云数据中心中的计算(主机)节点、用户申请业务类别和用户历史的调度信息的收集和分析,采用综合考虑用户业务类别信息和计算资源历史调度信息的计算资源调度发现算法,自动发现最优化的可用主机节点,有效改进了大多数同类算法资源调度方式不合理、资源利用率较低的问题。

本发明通过对云数据中心中计算资源相关信息的收集与分析,基于用户申请的业务类别请求信息和计算资源历史调度信息,自动调度发现最优化的可用计算资源,提高计算资源利用率和计算节点使用效率。

本发明提出的一种云计算下的资源调度方法;该方法包括基于用户业务类别的计算资源调度优化算法。其中,基于用户业务类别的计算资源调度优化算法,即通过对用户申请的业务类别特征和用户已有的计算资源历史调度信息的综合分析,并基于数据中心计算资源(主机节点)相关信息的分析,为用户自动选择调度最优化的计算资源并分配的算法。本算法能够保证为用户调度、分配最优的计算资源节点。

上面对本申请实施例中的资源调度方法进行了说明,下面对本申请实施例中的服务器进行说明,如图3所示,图3为本申请实施例中服务器的一个实施例示意图,可以包括:

获取模块301,用于获取业务资源请求,业务资源请求包括资源请求值和当前业务类别;若当前业务类别为历史业务类别,则获取当前业务类别对应的历史资源调度信息记录;根据历史资源调度信息记录,获取可用主机节点队列;

确定模块302,用于根据资源请求值和可用主机节点队列,确定目标可用主机节点;

调用模块303,用于根据目标可用主机节点为终端调用资源。

可选的,在本申请的一些实施例中,

确定模块302,具体用于确定可用主机节点对列中的元素对应的取值与资源请求值的差值,得到差值结果队列;确定差值结果队列中非负值对应的主机节点为目标可用主机节点。

可选的,在本申请的一些实施例中,如图4所示,图4为本申请实施例中服务器的另一个实施例示意图。服务器还包括:

选择模块304,用于若当前业务类别为新业务类别,则根据预置的配置信息选择未被配置的主机节点;

调用模块303,还用于根据未被配置的主机节点为终端调用资源。

可选的,在本申请的一些实施例中,可用主机节点中的元素按照对应的可用资源值降序排列。

可选的,在本申请的一些实施例中,如图5所示,图5为本申请实施例中服务器的另一个实施例示意图。服务器还包括:

更新模块305,用于更新历史资源调度信息记录,得到当前资源调度记录。

如图6所示,图6为本申请实施例中服务器的另一个实施例示意图,可以包括:

存储器601和处理器602,其中,存储器601和处理器602通过总线连接;

存储器601,用于存储指令;

处理器602,用于调用所述指令,执行上述图1或图2所示实施例及任一可选实现方式中所述的方法。

本申请实施例提供一种计算机程序产品,当其在计算机上运行时,使得计算机执行如前述图1或图2所示实施例及任一可选实现方式中所述的方法。

本申请实施例提供一种计算机存储介质,包括指令,当其在计算机上运行时,使得计算机执行如前述图1或图2所示实施例及任一可选实现方式中所述的方法。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1