JOB分配系统及方法技术方案

技术编号:12025502 阅读:158 留言:0更新日期:2015-09-10 10:23
本发明专利技术提供一种JOB分配系统及方法,每一JOB服务器每隔第一时间段将自身的状态信息和当前执行的JOB的ID传输至调度服务器;每一JOB服务器每隔第二时间段访问调度服务器,计算模块根据最新采集到的JOB服务器的状态信息和当前执行的JOB等级算出JOB服务器的压力值,获取模块获取JOB执行时间点在当前访问时间点起的第二时间段内的JOB,分配模块循环地:将预计压力值最大的JOB分配给压力值最小的JOB服务器,将接受分配后的JOB服务器的压力值更新为JOB服务器在接受分配前的压力值与已分配的JOB的预计压力值之和,直至待分配的JOB均完成分配。本发明专利技术分配合理、资源利用率高。

【技术实现步骤摘要】

本专利技术涉及一种JOB (作业)分配系统及利用该JOB分配系统实现的JOB分配方法。
技术介绍
目前,分配JOB的方法是根据JOB服务器的链路数进行分配,而不是根据JOB服务器的负载进行分配,根据链路数分配JOB的方式是一种被动分配方式,经常会出现一台JOB服务器上分配到了多个高资源消耗的JOB的现象,导致该台JOB服务器上的CPU(中央处理器)和Memory (内存)的占用率均很高,影响该台JOB服务器执行JOB的处理效率和各JOB服务器之间的合理分配,同时降低JOB服务器的资源利用率,甚至若是该台JOB服务器上的CPU和Memory的占用率过高,将导致该台JOB服务器执行JOB失败。
技术实现思路
本专利技术要解决的技术问题是为了克服现有技术中根据JOB服务器的链路数分配JOB导致多个高资源消耗的JOB同时在一台JOB服务器上执行的缺陷,提供一种具有分配合理、提高JOB服务器的资源利用率以及JOB的执行效率的功能的JOB分配系统及方法。本专利技术是通过下述技术方案来解决上述技术问题的:本专利技术提供一种JOB分配系统,其特点在于,其包括一 JOB数据库、一调度服务器和多个JOB服务器,该JOB数据库存储有多个JOB和每一 JOB对应的属性信息,该属性信息包括JOB的ID(身份识别)、执行时间点、等级和预计压力值,该调度服务器包括一计算模块、一获取模块和一分配模块;每一 JOB服务器用于每隔一第一时间段将自身的状态信息和当前执行的JOB的ID传输至该调度服务器;每一 JOB服务器用于每隔一第二时间段访问该调度服务器,该计算模块用于根据最新采集到的各JOB服务器的状态信息和当前执行的JOB的等级计算出各JOB服务器的压力值,该获取模块用于获取JOB执行时间点在当前访问时间点起的第二时间段内的待分配的J0B,该分配模块用于循环地:将待分配的JOB中预计压力值最大的JOB分配给JOB服务器中压力值最小的JOB服务器,并将接受分配后的JOB服务器的压力值更新为JOB服务器在接受分配前的压力值与已分配的JOB的预计压力值之和,直至待分配的JOB全部完成分配。在本方案中,JOB的执行时间点不仅仅是指直接存储有每一次执行JOB的时刻,还可以是通过存储的上一次执行JOB的时刻加上存储的JOB的执行周期计算出的时刻。JOB服务器自身的状态信息是指除了正在运行的表示JOB服务器压力的JOB的等级之外的所有表征JOB服务器压力的信息,例如JOB服务器的CPU占用率、Memory占用率等。较佳地,JOB服务器的状态信息包括JOB服务器的CPU占用率和Memory占用率,JOB服务器的压力值为CPU占用率、Memory占用率及当前执行的JOB的等级之和。较佳地,JOB的预计压力值为JOB的预计CPU占用率、JOB的预计Memory占用率及JOB的等级之和。 较佳地,该属性信息还包括下一次执行JOB的JOB服务器ID,每一 JOB服务器具有一唯一的识别信息,该调度服务器还包括一赋值模块,该赋值模块用于将待分配的JOB中预计压力值最大的JOB的下一次执行JOB的JOB服务器ID赋值为压力值最小的JOB服务器的识别信息。本专利技术还提供一种JOB分配方法,其特点在于,其利用上述的JOB分配系统实现,该JOB分配方法包括以下步骤:每一 JOB服务器每隔一第一时间段将自身的状态信息和当前执行的JOB的ID传输至该调度服务器;每一 JOB服务器每隔一第二时间段访问该调度服务器,该调度服务器实施的操作包括:S1、根据最新采集到的各JOB服务器的状态信息和当前执行的JOB的等级计算出各JOB服务器的压力值;S2、获取JOB执行时间点在当前访问时间点起的第二时间段内的待分配的JOB ;S3、循环地:将待分配的JOB中预计压力值最大的JOB分配给JOB服务器中压力值最小的JOB服务器,并将接受分配后的JOB服务器的压力值更新为JOB服务器在接受分配前的压力值与已分配的JOB的预计压力值之和,直至待分配的JOB全部完成分配。较佳地,JOB服务器的状态信息包括JOB服务器的CPU占用率和Memory占用率,JOB服务器的压力值为CPU占用率、Memory占用率及当前执行的JOB的等级之和。较佳地,JOB的预计压力值为JOB的预计CPU占用率、JOB的预计Memory占用率及JOB的等级之和。较佳地,该属性信息还包括下一次执行JOB的JOB服务器ID,每一 JOB服务器具有一唯一的识别信息,在步骤S3中,将待分配的JOB中预计压力值最大的JOB的下一次执行JOB的JOB服务器ID赋值为压力值最小的JOB服务器的识别信息。在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本专利技术各较佳实例。本专利技术的积极进步效果在于:本专利技术提供一种JOB分配系统及方法,避免了多个高资源消耗的JOB同时在一台JOB服务器上执行的弊端,同时避免了盲目地增加JOB服务器的弊端,使得各JOB服务器上的负载均衡,提高了 JOB服务器的资源利用率,提高了 JOB的执行效率,以及降低了 JOB的执行失败率。【附图说明】图1为本专利技术较佳实施例的JOB分配系统的结构框图。图2为本专利技术较佳实施例的调度服务器实施的操作的流程图。【具体实施方式】下面通过实施例的方式进一步说明本专利技术,但并不因此将本专利技术限制在所述的实施例范围之中。如图1所示,本实施例提供一种JOB分配系统,其包括一 JOB数据库1、一调度服务器2和多个JOB服务器3,该JOB数据库I存储有多个JOB和每一 JOB对应的属性信息,该属性信息包括JOB的ID、执行时间点、等级、预计压力值和下一次执行JOB的JOB服务器ID,该调度服务器2包括一计算模块21、一获取模块22、一分配模块23和一赋值模块24,每一 JOB服务器具有一唯一的识别信息。其中,JOB的预计压力值为JOB的预计CPU占用率、JOB的预计Memory占用率及JOB的等级之和。上面介绍了该JOB分配系统包括的部件,下面具体介绍各部件所实现的功能:每一 JOB服务器3用于每隔一第一时间段(如5秒)将自身的状态信息和当前执行的JOB的ID传输至该调度服务器2,该状态信息包括JOB服务器的CPU占用率和Memory占用率。每一 JOB服务器3用于每隔一第二时间段(如30秒)访问该调度服务器2,该计算模块21用于根据最新采集到的各JOB服务器的CPU占用率、Memory占用率和当前执行的JOB的等级之和计算出各JOB服务器的压力值,该获取模块22用于获取JOB执行时间点在当前访问时间点起的第二时间段内的待分配的J0B,该分配模块23用于循环地:将待分配的JOB中预计压力值最大的JOB分配给JOB服务器中压力值最小的JOB服务器,并将接受分配后的JOB服务器的压力值更新为JOB服务器在接受分配前的压力值与已分配的JOB的预计压力值之和,直至待分配的JOB全部完成分配,该赋值模块24用于将待分配的JOB中预计压力值最大的JOB的下一次执行JOB的JOB服务器ID赋值为压力值最小的JOB服务器的识别信息。参考图2所示,本实施例还提供一种JOB分配方法,其利用上述的JOB分配系统实现,该JOB分配方法包括以下步骤:每一 JOB服务器每隔一第一时间段将自身的状态信息和当前本文档来自技高网...

【技术保护点】
一种JOB分配系统,其特征在于,其包括一JOB数据库、一调度服务器和多个JOB服务器,该JOB数据库存储有多个JOB和每一JOB对应的属性信息,该属性信息包括JOB的ID、执行时间点、等级和预计压力值,该调度服务器包括一计算模块、一获取模块和一分配模块;每一JOB服务器用于每隔一第一时间段将自身的状态信息和当前执行的JOB的ID传输至该调度服务器;每一JOB服务器用于每隔一第二时间段访问该调度服务器,该计算模块用于根据最新采集到的各JOB服务器的状态信息和当前执行的JOB的等级计算出各JOB服务器的压力值,该获取模块用于获取JOB执行时间点在当前访问时间点起的第二时间段内的待分配的JOB,该分配模块用于循环地:将待分配的JOB中预计压力值最大的JOB分配给JOB服务器中压力值最小的JOB服务器,并将接受分配后的JOB服务器的压力值更新为JOB服务器在接受分配前的压力值与已分配的JOB的预计压力值之和,直至待分配的JOB全部完成分配。

【技术特征摘要】

【专利技术属性】
技术研发人员:俆遐龄周伟
申请(专利权)人:携程计算机技术上海有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1