一种资源调度方法及系统与流程

文档序号:19250073发布日期:2019-11-27 20:06阅读:170来源:国知局
一种资源调度方法及系统与流程

本公开涉及资源调度领域,具体涉及一种资源调度方法及系统。



背景技术:

随着互联网技术的飞速发展,以及用户数量和用户需求的日益增加,云计算应运而生。在这个数据急速增长的时代,处理这些数量巨大的数据需要耗费巨大的资源,如何实现资源的合理利用是云计算领域所共同面对的一个难题。



技术实现要素:

有鉴于此,本公开实施例提供了一种资源调度方法及系统,以克服现有技术中在云计算领域难以实现资源的合理利用的问题。

根据第一方面,本公开实施例提供了一种资源调度方法,包括:获取待执行任务的任务信息;根据所述任务信息确定所述待执行任务的分类结果;获取资源池中与所述分类结果对应的各个待调度资源的资源占用信息;根据所述资源占用信息从所述各个待调度资源中选择至少一个目标资源,调用所述目标资源执行所述待执行任务。

可选地,所述资源池中各个待调度资源的所述资源占用信息为动态更新的。

可选地,所述资源占用信息包括资源占用评估权重,每个待调度资源的资源占用评估权重的确定方法包括:获取该待调度资源的资源状态信息;对所述资源状态信息进行综合权重计算,得到所述资源占用评估权重。

可选地,所述资源状态信息包括:待调度资源所在的物理机的内存信息、cpu信息、磁盘信息、网络信息及任务执行时间信息中的一种或多种。

可选地,当所述资源状态信息包括:待调度资源所在的物理机的内存信息、cpu信息、磁盘信息、网络信息及任务执行时间信息时,所述对所述资源状态信息进行综合权重计算,得到所述资源占用评估权重,包括:根据所述待调度资源的所述内存信息、cpu信息、任务执行时间信息、网络信息及磁盘信息,分别对应确定所述待调度资源所在物理机的内存利用率、cpu利用率、任务执行时间比率、网络利用率及磁盘利用率;根据设定的评分规则分别对所述内存利用率、cpu利用率、任务执行时间比率、网络利用率及磁盘利用率进行评分;根据设定的权重赋值规则,分别对所述内存利用率、cpu利用率、任务执行时间比率、网络利用率及磁盘利用率的评分结果进行权重赋值,生成所述资源占用评估权重。

可选地,所述根据所述资源占用信息在所述各待调度资源中选择至少一个目标资源,调用所述目标资源执行所述待执行任务,包括:对各待调度资源对应的资源占用评估权重按照从大到小进行排序,生成排序结果;根据所述排序结果依次调用所述至少一个目标资源执行所述待执行任务。

可选地,在执行所述获取待执行任务的任务信息之前,所述的资源调度方法还包括:根据所述待执行任务的任务分类规则及所述资源池中各待调度资源的资源信息,确定所述各个待调度资源的分类结果。

可选地,所述的资源调度方法还包括:当所述目标资源执行完所述待执行任务时,生成任务执行结果,并将所述任务执行结果反馈至用户端。

根据第二方面,本公开实施例还提供了一种资源调度系统,包括:任务队列、资源排序器及资源任务解析器,其中,所述资源任务解析器用于从所述任务队列中获取待执行任务的任务信息,并根据所述任务信息确定所述待执行任务的分类结果;所述资源排序器用于获取资源池中与所述分类结果对应的各个待调度资源的资源占用信息,并将所述资源占用信息发送至所述资源任务解析器;所述资源任务解析器还用于根据所述资源占用信息从所述各待调度资源中选择至少一个目标资源,调用所述目标资源执行所述待执行任务。

可选地,所述资源池中各个待调度资源的所述资源占用信息为动态更新的。

可选地,所述资源排序器获取的所述资源占用信息包括资源占用评估权重,所述资源排序器还用于确定每个待调度资源的资源占用评估权重,具体包括:获取该待调度资源的资源状态信息;对所述资源状态信息进行综合权重计算,得到所述资源占用评估权重。

可选地,所述资源状态信息包括:待调度资源所在的物理机的内存信息、cpu信息、磁盘信息、网络信息及任务执行时间信息中的一种或多种。

可选地,当所述资源状态信息包括:待调度资源所在的物理机的内存信息、cpu信息、磁盘信息、网络信息及任务执行时间信息时,所述资源排序器根据所述资源状态信息对所述待调度资源进行综合权重计算,生成所述资源占用评估权重,具体包括:根据所述待调度资源的所述内存信息、cpu信息、任务执行时间信息、网络信息及磁盘信息,分别对应确定所述待调度资源所在物理机的内存利用率、cpu利用率、任务执行时间比率、网络利用率及磁盘利用率;根据设定的评分规则分别对所述内存利用率、cpu利用率、任务执行时间比率、网络利用率及磁盘利用率进行评分;根据设定的权重赋值规则,分别对所述内存利用率、cpu利用率、任务执行时间比率、网络利用率及磁盘利用率的评分结果进行权重赋值,得到所述资源占用评估权重。

可选地,所述资源任务解析器根据所述资源占用信息在所述各待调度资源中选择至少一个目标资源,调用所述目标资源执行所述待执行任务,具体包括:对各待调度资源对应的资源占用评估权重按照从大到小进行排序,生成排序结果;根据所述排序结果依次调用所述至少一目标资源执行所述待执行任务。

可选地,所述资源排序器还用于根据所述待执行任务的任务分类规则及所述资源池中各个待调度资源的资源信息,确定所述各个待调度资源的分类结果。

可选地,所述资源调度系统还包括:执行反馈器,当所述目标资源执行完所述待执行任务时,所述执行反馈器用于生成任务执行结果,并将所述任务执行结果反馈至用户端。

根据第三方面,本公开实施例还提供了一种电子设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面或者其任意一种可选实施方式中所述的资源调度方法。

根据第四方面,本公开实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行第一方面,或者其任意一种可选实施方式中所述的资源调度方法。

本公开技术方案,具有如下优点:

本公开实施例提供的资源调度方法,通过获取待执行任务的任务信息,确定待执行任务的分类结果,获取资源池中与该分类结果对应的各个待调度资源的资源占用信息,根据资源占用信息从各个待调度资源中选择至少一个目标资源执行待执行任务,由于每一分类结果均对应一些待调度资源,这样当确定出待执行任务的分类结果后,方便寻找与待执行任务相匹配的资源,并且通过利用各个待调度资源的资源占用信息,保证所调用的资源为待执行任务的最优匹配资源,进而避免了资源使用过程中的资源利用不足、资源浪费过多以及性价比不高的问题,降低了资源使用的成本,同时也使资源有效的得到了充分的利用,大大提高了资源的利用效率。

附图说明

为了更清楚地说明本公开具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本公开实施例的一种资源调度方法的具体应用场景示意图;

图2为本公开实施例的一种资源调度方法的流程图;

图3为本公开实施例的资源排序器对资源池的各个资源进行动态更新的示意图;

图4为本公开实施例的一种资源调度系统的结构示意图;

图5为本公开实施例的一种资源调度系统的工作流程示意图;

图6为本公开实施例的一种资源调度系统的具体工作示意图;

图7为本公开实施例的资源排序器的工作流程图;

图8为本公开实施例的一种电子设备的结构示意图。

具体实施方式

为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。

下面所描述的本公开不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。

发明人发现,在现有技术中,关于云环境下资源使用问题的解决方案为,在云环境下实现资源的混合调度方案的实现原理是,根据任务对资源需求的因素,对任务池中的各种任务进行分类和分级,按照任务的分类和分级给各个任务制定对应的调度策略和规则,并形成规则调度参数,然后基于根据调度规则参数为任务分配调度资源。上述的方案虽然解决了目前云计算任务调度单一的问题对任务进行解析,以便能够实现对任务调度策略的正确执行,当任务量急剧增大时,这些操作将会耗费大量的时间去对任务进行分析,消耗的资源较多,时间较长;其次,难以保障资源和任务之间的最佳匹配,由于它是针对任务分级和分类来调度资源的,是从任务的角度出发来考虑的,所以它并不能实现任务和资源利用之间的最佳匹配,可能会出现有些资源利用率高有些资源利用率低的问题,即资源的利用率不稳定,例如,云计算环境下资源是动态变化的,当前边执行已经执行过的任务再次在云环境下执行时,这种方案就不能保证第二次执行的时候资源利用率是最佳的,即它不能够根据云环境资源的变化而变化,以实现对云环境资源与任务之间的最大化利用等。

有鉴于此,本发明提供了一种资源调度方法,图1示出了本公开实施例的应用场景示意图,多个用户终端将需要执行的待执行任务的请求发送至服务器,服务器根据资源池中各个待调度资源的资源占用信息对不同待执行任务进行资源的匹配调度,将各个目标资源分配给不同的用户终端执行待执行任务。

图2示出了根据本公开实施例的一种资源调度方法的流程图,如图2所示,该资源调度方法应用于服务器端,具体包括如下步骤:

步骤s101:获取待执行任务的任务信息。

在实际应用中,用户通过用户端将各个待执行任务上传至服务器,服务器中设置的任务队列根据各个待执行任务上传的时间顺序进行排序,并获取各个待执行任务的任务信息,该任务信息包括但不限于任务类型等。

步骤s102:根据任务信息确定待执行任务的分类结果。

具体地,用户可以主动确定该待执行任务的任务类型,然后在基于用户终端上传待执行任务时,将任务类型一同发送给服务器,这样服务器就可以获取到待执行任务的任务类型;可选地,当用户无法确定待执行的任务类型时,可以对待执行任务进行任务描述,然后将任务描述信息携带在任务信息中发送给服务器,这样,服务器在获取到待执行任务的任务描述信息时,可以将任务描述信息与预设的各类型的参考任务描述信息进行匹配,将匹配度最到的参考任务描述信息对应的任务类型确定为待执行任务的任务类型,即步骤s102中的分类结果。

在实际应用中,该步骤应用于服务器中的资源任务解析器,上述的任务类型包括:计算任务、读写任务、查询任务和分析任务等,根据该待执行任务的任务类型对该待执行任务进行编码标记,然后将相同任务类型的各个待执行任务进行分类存储,以便于在后续对待执行任务及资源进行调用时可快速查找匹配。

步骤s103:获取资源池中与分类结果对应的各个待调度资源的资源占用信息。在实际应用中,该步骤应用于服务器中的资源排序器。

具体地,在一实施例中,上述的步骤s103中的资源占用信息包括资源占用评估权重,每个待调度资源的资源占用评估权重的确定方法具体包括如下步骤:

步骤s201:获取该待调度资源的资源状态信息。具体地,该资源状态信息包括:待调度资源所在的物理机的内存信息、cpu信息、磁盘信息、网络信息及任务执行时间信息中的一种或多种。其中,待调度资源所在的物理机的内存信息、cpu信息、磁盘信息及网络信息分别表示该待调度资源在物理机中需要的内存、cpu、磁盘及网络的占用情况,而任务执行时间信息表示该待调度资源预计执行某一类任务的预估执行时间。

需要说明的是,在实际应用中,待调度资源所在的物理机所占用的内存信息、cpu信息及任务执行时间信息通常都是对资源利用影响较大的信息,因此为了更好地评价各个待调度资源,可以基于前述三项信息来确定每个待调度资源的资源占用评估权重,而网络信息及磁盘信息可以根据实际需要进行选择,本公开中的所有实施例均是以所有的资源状态信息均考虑为例进行的说明,在实际应用中,可以根据实际需要进行相应的调整,本公开并不以此为限。

步骤s202:对资源状态信息进行综合权重计算,得到资源占用评估权重。

在实际应用中,当资源状态信息包括:内存信息、cpu信息、任务执行时间信息、网络信息及磁盘信息时,步骤s202具体包括如下步骤:

步骤s301:根据待调度资源的内存信息、cpu信息、任务执行时间信息、网络信息及磁盘信息,分别对应确定待调度资源所在物理机的内存利用率、cpu利用率、任务执行时间比率、网络利用率及磁盘利用率。在实际应用中,根据获取的待调度资源的资源状态信息计算该资源所在物理机相应的内存利用率、cpu利用率、任务执行时间比率、网络利用率及磁盘利用率,为后续对该待调度资源的资源利用情况评价提供数据基础。

步骤s302:根据设定的评分规则分别对内存利用率、cpu利用率、任务执行时间比率、网络利用率及磁盘利用率进行评分。在实际应用中,假设内存利用率用r表示,cpu利用率用c表示,任务执行时间比率用t表示,网络利用率用n表示,磁盘利用率用d表示。上述t的具体含义为待执行任务的实际执行时间与预估执行时间的比值。

当待调度资源所在物理机的内存利用率、cpu利用率及网络利用率的数值为50%到80%之间则,被认为该待调度资源是处于良好状态,则该预先设定的评分规则为,将r、c及n的数值为50%到80%之间的待调度资源的对应的评分为最高分例如5分为最高分则评分为5,当利用率达到80%以上时,则被认为是资源不足,此时根据利用率的具体数值,评分为4或更低,而当利用率在50%以下时,则被认为是资源浪费状态(即资源未得到有效利用),此时根据利用率的具体数值,评分为4或更低。与上述r、c及n的预先设定的评分规则类似,当磁盘利用率d的值低于80%,则任为处于良好状态,具体数值越小评分越高,例如d=70%时评分为3,而当d=30%时评分为5,当d的值高于80%,则认为该待调度资源的磁盘可能处于不足状态,此时,根据d的具体数值评分为0或1。此外,上述任务执行时间比率t的数值如果小于等于1,则被认为处于良好状态,如果大于1小于1.2则被认为是处于一种亚健康状态(即时间超过预期,会导致任务处理延时),如果大于1.2则被认为是任务严重超时,等待时间及长甚至会一直等待下去。在这里实际执行时间是本次任务执行结束一共消耗的时间,预估执行时间是所有执行次数中耗时最少的时间,如果预估时间还没有值,则默认为是任务的实际执行时间,该参数t的具体评分过程与上述r、c及n的预先设定的评分规则类似,在此不再进行赘述。需要说明的是,上述所预先设定的评分规则仅用于具体说明本公开的技术方案,在实际应用中,该评分规则可以根据实际需要进行调整设置,例如可以是对各个参数的执行优先级的评价,本公开并不以此为限。

步骤s303:根据预设权重赋值规则,分别对内存利用率、cpu利用率、任务执行时间比率、网络利用率及磁盘利用率的评分结果进行权重赋值,生成资源占用评估权重。需要说明的是,本公开实施例是以上述5个参数作为资源调度的参数依据为例进行的说明,在本公开实施例中该预先设定的权重赋值规则为分别为上述各个参数按照不同的权重值进行分配,保证总权重值为1,例如:将上述每个参数分配的权重值均一致,即各占五分之一(20%)。在实际应用中,这个权重值的权重赋值规则不是唯一的,可根据实际情况对不同参数的权重值进行调整分配,假设内存利用率为此次资源调度最为关注的指标,则可以通过增加内存利用率对应的权重值,如果该待执行任务对网络利用率要求较低,则可以降低网络利用率对应的权重值,权重值越大表示该权重值对应的参数对最终资源调度结果的影响程度越大,权重值越小则表示该权重值对应的参数对最终资源调度结果的影响因素越小。假设每个待调度资源的资源占用评估权重用w表示,则资源占用评估权重w可由如下公式表示:

w=r*a+c*b+n*c+d*d+t*e

其中,r、c、n、d分别表示内存利用率、cpu利用率、任务执行时间比率、网络利用率及磁盘利用率对应的评分结果;a、b、c、d及e分别表示对应参数评分结果的权重值,各个参数的具体评分过程参见上述步骤s302的相关描述,在此不再进行赘述。例如:假设上述的内存利用率用r为80%,按照预设评分规则其对应的评分结果为5,则上述公式中的r值为5,同理,可得到c、n、d及t对应的具体数值,代入上述公式即可得到资源占用评估权重值。然而在实际应用中,上述公式中的各个参数值是可以根据实际需要进行选择的,如果某个或多个参数值为空,表示该参数在实际应用中没有选取,则会对该参数统一赋予默认值,以表示该参数所表述的资源状态为良好,此时并不会对w值计算产生任何影响。

作为本公开实施例的一种可替换实施方式,也可以不执行上述步骤s302,即不执行根据设定的评分规则分别对内存利用率、cpu利用率、任务执行时间比率、网络利用率及磁盘利用率进行评分的步骤,而是在确定上述各个利用率分别满足各自的利用率取值范围时,直接根据预设权重赋值规则对内存利用率、cpu利用率、任务执行时间比率、网络利用率及磁盘利用率进行权重赋值,得到资源占用评估权重,若任一利用率不在其对应的利用率取值范围时,则按照步骤s301~s303的实施过程确定资源占用评估权重。例如,设定cpu利用率的利用率取值范围是a%~b%,当计算得到的cpu利用率在上述范围内时,则采用本实施例提供的资源占用评估权重计算方法。具体地,假设每个待调度资源的资源占用评估权重用w表示,而资源占用评估权重w还参考上述公式,但公式中的参数的含义有所不同,在本实施例下,r、c、n、d分别表示内存利用率、cpu利用率、任务执行时间比率、网络利用率及磁盘利用率;a、b、c、d及e分别表示对应参数的权重值。具体地,在本实施例下上述公式中的r、c、n、d的计算方法为:

r=使用的内存/该待调度资源所在物理机的总的内存*100%

c=已使用的cpu/该待调度资源所在物理机的总的cpu*100%

n=当前的网络速率/该待调度资源所在物理机的网卡的最大速率*100%

d=已用的磁盘量/该待调度资源所在物理机的总的磁盘量*100%

通过上述资源占用评估权重用w的计算,该资源占用评估权重用w的数值可以全面的了解各个待调用资源的资源利用的整体情况,在实际应用中,该w值的数值越大则表明该待调用资源的资源利用情况越好,相应的调用优先级也越高。

需要说明的是,步骤s301中涉及的内存利用率、cpu利用率、任务执行时间比率、网络利用率及磁盘利用率的确定方法可以参考上述利用率计算公式。

步骤s104:根据资源占用信息从各个待调度资源中选择至少一个目标资源,调用目标资源执行待执行任务。在实际应用中,该步骤应用于上述的资源任务解析器。

具体地,在一实施例中,上述的步骤s104,具体包括如下步骤:

步骤s401:对各个待调度资源对应的资源占用评估权重按照从大到小进行排序,生成排序结果。在实际应用中,上述的资源任务解析器根据上述资源排序器所得到的资源占用评估权重的具体数值进行排序,生成各待调用资源的排序结果,为选择待执行任务的目标资源提供数据基础。

步骤s402:根据排序结果依次调用一个或多个目标资源执行待执行任务。在实际应用中,可以根据待执行任务所需要的目标资源的数量,从上述的排序结果中选择w值排序最高的指定数量的待调用资源作为目标资源执行该待执行任务,从而保证所选取的目标资源为执行该待执行任务最匹配的资源,同时保证资源池中各个资源的利用率。

通过上述步骤s101至步骤s104,本公开实施例提供的资源调度方法,通过获取待执行任务的任务信息,确定待执行任务的分类结果,获取资源池中与该分类结果对应的各个待调度资源的资源占用信息,根据资源占用信息从各个待调度资源中选择至少一个目标资源执行待执行任务,由于每一分类结果均对应一些待调度资源,这样当确定出待执行任务的分类结果后,方便寻找与待执行任务相匹配的资源,并且通过利用各个待调度资源的资源占用信息,保证所调用的资源为待执行任务的最优匹配资源,进而避免了资源使用过程中的资源利用不足、资源浪费过多以及性价比不高的问题,降低了资源使用的成本,同时也使资源有效的得到了充分的利用,大大提高了资源的利用效率。

作为本公开实施例的一种可选实施方式,上述的资源调度方法,在执行上述步骤s101之前,具体还包括如下步骤:

步骤s105:根据待执行任务的任务分类规则及资源池中各个待调度资源的资源信息,确定各个待调度资源的分类结果。在实际应用中,该步骤应用于上述的资源排序器,该资源信息为该待调度资源本身的信息,例如该待调度资源所具备的资源特点,所适用的任务等。具体地,上述的预先设定的任务分类规则与上述待执行任务的分类结果相同,根据各个待调度资源适用于不同的任务类型对该待调度资源进行编码标记,然后将相同任务类型的各个待调度资源进行分类存储,以便于在后续对待执行任务及资源进行调用时可快速查找匹配。在实际应用中,可以直接为待执行任务匹配带有相同编码标记的待调度资源。

作为本公开实施例的一种可选实施方式,上述的资源调度方法,具体还包括如下步骤:

步骤s106:对资源池中各个待调度资源的资源占用信息进行更新。在实际应用中,该步骤应用于上述的资源排序器。资源排序器对资源占用信息进行更新的动态调整过程为:根据服务器中监控资源池的资源监控器传来的待调度资源的资源信息以及当前待执行任务的信息,动态的更新w的值,以自适应云环境的动态变化。同时资源监控器对资源池内的各个待调度资源进行动态监控,资源排序器对已经编码标记的待调度资源进行动态的更新,比如当该待调度资源不可用时,会将该待调度资源从资源排序器中移除,当资源池中添加新的待调度资源的时候,会将该待调度资源加入到资源排序器中,并对其赋值进行初始化。在整个运行期间,它会不断地更新自身的数据,并不断地进行资源优化,进而保证不同分类中的待调度资源在所有可用的待调度资源中是最优的,上述的资源排序器对资源池中的各个待调度资源的资源占用信息进行动态的更新的流程如图3所示。

步骤s107:当目标资源执行完待执行任务时,生成任务执行结果,并将任务执行结果反馈至用户端。该步骤应用于服务器,当待执行任务执行完成后,服务器会把执行完的结果返回给用户端供用户查阅。

图4示出了根据本公开实施例的一种资源调度系统,如图4所示,该系统包括:任务队列1、资源排序器2及资源任务解析器3,其中,

资源任务解析器3用于从任务队列1中获取待执行任务的任务信息,并根据任务信息确定待执行任务的分类结果。详细内容参见方法实施例中步骤s102的相关描述。

一种实施方式中,任务队列1可以主动获取待执行任务的任务信息,然后将任务信息发送至资源任务解析器3。另一种实施方式中,任务解析器3可以主动从任务队列中获取待执行任务的任务信息。

资源排序器2用于获取资源池中与分类结果对应的各个待调度资源的资源占用信息,并将资源占用信息发送至资源任务解析器。详细内容参见方法实施例中步骤s103的相关描述。

资源任务解析器3还用于根据资源占用信息从各个待调度资源中选择至少一个目标资源,调用目标资源执行待执行任务。详细内容参见方法实施例中步骤s104的相关描述。

作为本公开实施例的一种可选实施方式,上述的资源排序器2还用于对资源池中各个待调度资源的资源占用信息进行动态更新。

作为本公开实施例的一种可选实施方式,资源排序器2获取的资源占用信息包括资源占用评估权重,资源排序器2还用于获取该待调度资源的资源状态信息;对资源状态信息进行综合权重计算,得到资源占用评估权重。详细内容参见方法实施例中步骤s201和步骤s202的相关描述。

作为本公开实施例的一种可选实施方式,资源状态信息包括:待调度资源所在的物理机的内存信息、cpu信息、磁盘信息、网络信息及任务执行时间信息中的一种或多种。

作为本公开实施例的一种可选实施方式,当资源状态信息包括:待调度资源所在的物理机的内存信息、cpu信息、磁盘信息、网络信息及任务执行时间信息时,资源排序器2,具体用于:

根据待调度资源的内存信息、cpu信息、任务执行时间信息、网络信息及磁盘信息,分别对应确定待调度资源所在物理机的内存利用率、cpu利用率、任务执行时间比率、网络利用率及磁盘利用率。详细内容参见方法实施例中步骤s301的相关描述。

根据设定的评分规则分别对内存利用率、cpu利用率、任务执行时间比率、网络利用率及磁盘利用率进行评分。详细内容参见方法实施例中步骤s302的相关描述。

根据设定的权重赋值规则,分别对内存利用率、cpu利用率、任务执行时间比率、网络利用率及磁盘利用率的评分结果进行权重赋值,得到资源占用评估权重。详细内容参见方法实施例中步骤s303的相关描述。

作为本公开实施例的一种可选实施方式,资源任务解析器3,具体用于:

对各待调度资源对应的资源占用评估权重按照从大到小进行排序,生成排序结果。详细内容参见方法实施例中步骤s401的相关描述。

根据排序结果依次调用至少一个目标资源执行待执行任务。详细内容参见方法实施例中步骤s402的相关描述。

作为本公开实施例的一种可选实施方式,上述的资源排序器2还用于根据待执行任务的任务分类规则及资源池中各个待调度资源的资源信息,确定各个待调度资源的分类结果。详细内容参见方法实施例中步骤s105的相关描述。

作为本公开实施例的一种可选实施方式,上述的资源排序器2还用于对资源池中各个待调度资源的资源占用信息进行更新。详细内容参见方法实施例中步骤s106的相关描述。

作为本公开实施例的一种可选实施方式,上述的资源调度系统还包括:当上述的当目标资源执行完待执行任务时,服务器会生成任务执行结果,并将任务执行结果反馈至用户端。详细内容参见方法实施例中步骤s107的相关描述。

在实际应用中,如图5所示,上述资源调度系统的整体工作流程为:首先用户将要执行的任务通过用户端上传到任务队列1,然后资源任务解析器3会对待执行任务进行分类,然后根据由资源排序器2传递过来的待调度资源的资源占用信息对资源进行排序,接下来根据待调度资源的排序结果由资源任务解析器3将对应的调用信息传递到资源池4进行执行,然后服务器把资源池4目标资源执行完的结果返回给用户,这整个任务的执行流程就完成了。其中资源排序器2会根据资源监控器5监控资源池4传来的信息,不断地对资源池4中的待调度资源进行一个动态的变化调整,然后把最新各个待调度资源的资源占用信息传递给资源任务解析器3,由资源任务解析器3选择最佳的待调度资源。图6示出了上述资源调度系统的详细工作过程。

上述资源调度系统的工作原理为通过对待执行任务进行分类,得到带有编码标记的分类结果;将待执行任务和待调度资源进行查找比较,然后根据资源排序器传过来与该待执行任务具有相同编码标记的待调度资源,从中找出最适合执行该待执行任务的待调度资源;最后,把该待调度资源分配给该待执行任务以执行待执行任务,在执行结束后资源排序器会动态更新待调度资源的资源占用信息。

具体地,在实际应用中,上述资源排序器2的工作流程图如图7所示,资源排序器2需要从资源监控器5获取到待调度资源的一些信息,包括待调度资源所在物理机的内存信息、磁盘信息、网络信息、cpu信息和任务执行的时间信息,资源排序器2在获取到待调度资源的上述信息后,会对这些信息进行处理,包括计算待调度资源所在物理机的内存利用率、cpu利用率、任务执行时间比率、网络利用率及磁盘利用率及计算资源占用评估权重,然后汇总得到一个标记该待调度资源的最终结果,将这个最终的结果(最终的资源占用评估权重)标记给该待调度资源。

图8示出了本公开实施例的一种电子设备,如图8所示,该电子设备可以包括处理器901和存储器902,其中处理器901和存储器902可以通过总线或者其他方式连接,图8中以通过总线连接为例。

处理器901可以为中央处理器(centralprocessingunit,cpu)。处理器901还可以为其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。

存储器902作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本公开实施例中的资源调度方法所对应的程序指令/模块。处理器901通过运行存储在存储器902中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的资源调度方法。

存储器902可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器901所创建的数据等。此外,存储器902可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器902可选包括相对于处理器901远程设置的存储器,这些远程存储器可以通过网络连接至处理器901。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

一个或者多个模块存储在存储器902中,当被处理器901执行时,执行上述方法实施例中的资源调度方法。

上述电子设备具体细节可以对应参阅上述方法实施例中对应的相关描述和效果进行理解,此处不再赘述。

本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)、随机存储记忆体(randomaccessmemory,ram)、快闪存储器(flashmemory)、硬盘(harddiskdrive,缩写:hdd)或固态硬盘(solid-statedrive,ssd)等;存储介质还可以包括上述种类的存储器的组合。

虽然结合附图描述了本公开的实施例,但是本领域技术人员可以在不脱离本公开的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

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