CN104899092B - Job分配系统及方法 - Google Patents

Job分配系统及方法 Download PDF

Info

Publication number
CN104899092B
CN104899092B CN201410075186.7A CN201410075186A CN104899092B CN 104899092 B CN104899092 B CN 104899092B CN 201410075186 A CN201410075186 A CN 201410075186A CN 104899092 B CN104899092 B CN 104899092B
Authority
CN
China
Prior art keywords
job
server
pressure value
allocated
distribution
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
CN201410075186.7A
Other languages
English (en)
Other versions
CN104899092A (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.)
Shanghai Ctrip Business Co Ltd
Original Assignee
Shanghai Ctrip Business 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 Shanghai Ctrip Business Co Ltd filed Critical Shanghai Ctrip Business Co Ltd
Priority to CN201410075186.7A priority Critical patent/CN104899092B/zh
Publication of CN104899092A publication Critical patent/CN104899092A/zh
Application granted granted Critical
Publication of CN104899092B publication Critical patent/CN104899092B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Computer And Data Communications (AREA)

Abstract

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

Description

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执行时间点在当前访问时间点起的第二时间段内的待分配的JOB,该分配模块用于循环地:将待分配的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数据库1存储有多个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执行时间点在当前访问时间点起的第二时间段内的待分配的JOB,该分配模块23用于循环地:将待分配的JOB中预计压力值最大的JOB分配给JOB服务器中压力值最小的JOB服务器,并将接受分配后的JOB服务器的压力值更新为JOB服务器在接受分配前的压力值与已分配的JOB的预计压力值之和,直至待分配的JOB全部完成分配,该赋值模块24用于将待分配的JOB中预计压力值最大的JOB的下一次执行JOB的JOB服务器ID赋值为压力值最小的JOB服务器的识别信息。
参考图2所示,本实施例还提供一种JOB分配方法,其利用上述的JOB分配系统实现,该JOB分配方法包括以下步骤:
每一JOB服务器每隔一第一时间段将自身的状态信息和当前执行的JOB的ID传输至该调度服务器;
每一JOB服务器每隔一第二时间段访问该调度服务器,该调度服务器实施的操作包括:
步骤101、根据最新采集到的各JOB服务器的CPU占用率、Memory占用率和当前执行的JOB的等级之和计算出各JOB服务器的压力值;
步骤102、获取JOB执行时间点在当前访问时间点起的第二时间段内的待分配的JOB;
步骤103、循环地:将待分配的JOB中预计压力值最大的JOB分配给JOB服务器中压力值最小的JOB服务器,并将接受分配后的JOB服务器的压力值更新为JOB服务器在接受分配前的压力值与已分配的JOB的预计压力值之和,同时将待分配的JOB中预计压力值最大的JOB的下一次执行JOB的JOB服务器ID赋值为压力值最小的JOB服务器的识别信息,直至待分配的JOB全部完成分配。
下面举一具体的例子来说明本发明,以使得本领域的技术人员能够更好地理解本发明:
假设该JOB分配系统包括5个JOB服务器3,各个JOB服务器的ID为JOBS1、JOBS2、JOBS3、JOBS4、JOBS5,该JOB数据库1存储有8个JOB,这8个JOB的ID为JOB1、JOB2、JOB3、JOB4、JOB5、JOB6、JOB7、JOB8,JOB1的等级为5,JOB2的等级为3,JOB3的等级为2,JOB4的等级为7,JOB5的等级为9,JOB6的等级为5,JOB7的等级为8,JOB8的等级为4。
每一JOB服务器3每隔5秒将自身的CPU占用率、Memory占用率和当前执行的JOB的ID传输至该调度服务器2,当前,JOBS1的CPU占用率和Memory占用率分别为10和20(这里的CPU占用率和Memory占用率均由数值部分和%组成,但在计算时只取CPU占用率和Memory占用率的数值部分),JOBS1当前执行的JOB的ID为JOB1,JOBS2的CPU占用率和Memory占用率分别为8和15,JOBS2当前执行的JOB的ID为JOB2,JOBS3的CPU占用率和Memory占用率分别为7和10,JOBS3当前执行的JOB的ID为JOB3,JOBS4的CPU占用率和Memory占用率分别为15和25,JOBS4当前执行的JOB的ID为JOB4,JOBS5的CPU占用率和Memory占用率分别为20和30,JOBS5当前执行的JOB的ID为JOB5。
每一JOB服务器3每隔30秒访问该调度服务器2,该计算模块21根据最新采集到的各JOB服务器的CPU占用率、Memory占用率和当前执行的JOB的等级之和分别计算出各JOB服务器的压力值,具体为:JOBS1的压力值=10+20+5=35,JOBS2的压力值=8+15+3=26,JOBS3的压力值=7+10+2=19,JOBS4的压力值=15+25+7=47,JOBS5的压力值=20+30+9=59。
该获取模块22获取JOB执行时间点在该当前访问时间点(设9:30)起的30秒内的待分配的JOB,假设JOB6的执行时间点为9:30:15,JOB7的执行时间点为9:30:25,JOB8的执行时间点为9:30:40,JOB6的预计压力值35,JOB7的预计压力值51,JOB8的预计压力值30,则待分配的JOB为JOB6和JOB7,该分配模块23将待分配的JOB中预计压力值最大的JOB(即JOB7)分配给JOB服务器中压力值最小的JOB服务器(即JOBS3),并将接受分配后的JOBS3的压力值更新为JOBS3在接受分配前的压力值(即19)与已分配的JOB的预计压力值(即51)之和即70;同时,该赋值模块24将JOB7的下一次执行JOB的JOB服务器ID赋值为JOBS3。
该分配模块23再将待分配的JOB中预计压力值最大的JOB(即JOB6)分配给JOB服务器中压力值最小的JOB服务器(即JOBS2),并将接受分配后的JOBS2的压力值更新为JOBS2在接受分配前的压力值(即26)与已分配的JOB的预计压力值(即35)之和即61,同时,该赋值模块24将JOB6的下一次执行JOB的JOB服务器ID赋值为JOBS2,到此此次循环结束,且在9:30:30这一时间点再次访问该调度服务器2,进入下一循环。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

Claims (6)

1.一种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全部完成分配;
JOB的预计压力值为JOB的预计CPU占用率、JOB的预计Memory占用率及JOB的等级之和。
2.如权利要求1所述的JOB分配系统,其特征在于,JOB服务器的状态信息包括JOB服务器的CPU占用率和Memory占用率,JOB服务器的压力值为CPU占用率、Memory占用率及当前执行的JOB的等级之和。
3.如权利要求1或2所述的JOB分配系统,其特征在于,该属性信息还包括下一次执行JOB的JOB服务器ID,每一JOB服务器具有一唯一的识别信息,该调度服务器还包括一赋值模块,该赋值模块用于将待分配的JOB中预计压力值最大的JOB的下一次执行JOB的JOB服务器ID赋值为压力值最小的JOB服务器的识别信息。
4.一种JOB分配方法,其特征在于,其利用如权利要求1所述的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占用率、JOB的预计Memory占用率及JOB的等级之和。
5.如权利要求4所述的JOB分配方法,其特征在于,JOB服务器的状态信息包括JOB服务器的CPU占用率和Memory占用率,JOB服务器的压力值为CPU占用率、Memory占用率及当前执行的JOB的等级之和。
6.如权利要求4或5所述的JOB分配方法,其特征在于,该属性信息还包括下一次执行JOB的JOB服务器ID,每一JOB服务器具有一唯一的识别信息,在步骤S3中,将待分配的JOB中预计压力值最大的JOB的下一次执行JOB的JOB服务器ID赋值为压力值最小的JOB服务器的识别信息。
CN201410075186.7A 2014-03-03 2014-03-03 Job分配系统及方法 Active CN104899092B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410075186.7A CN104899092B (zh) 2014-03-03 2014-03-03 Job分配系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410075186.7A CN104899092B (zh) 2014-03-03 2014-03-03 Job分配系统及方法

Publications (2)

Publication Number Publication Date
CN104899092A CN104899092A (zh) 2015-09-09
CN104899092B true CN104899092B (zh) 2019-08-20

Family

ID=54031770

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410075186.7A Active CN104899092B (zh) 2014-03-03 2014-03-03 Job分配系统及方法

Country Status (1)

Country Link
CN (1) CN104899092B (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101938504A (zh) * 2009-06-30 2011-01-05 深圳市融创天下科技发展有限公司 集群服务器智能调度的方法及系统
CN102891779B (zh) * 2012-09-27 2014-10-22 北京网瑞达科技有限公司 用于ip网络的大规模网络性能测量系统的测量方法
CN103036979B (zh) * 2012-12-12 2015-07-01 广州尚融网络科技有限公司 一种服务器负载均衡方法及负载均衡器
CN103118124B (zh) * 2013-02-22 2015-08-05 桂林电子科技大学 一种基于分层多代理的云计算负载均衡方法

Also Published As

Publication number Publication date
CN104899092A (zh) 2015-09-09

Similar Documents

Publication Publication Date Title
CN107291546B (zh) 一种资源调度方法及装置
CN102902587B (zh) 分布式任务调度方法、系统和装置
US9396039B1 (en) Scalable load testing using a queue
CN103064745B (zh) 一种任务分配处理的方法及系统
CN106156115B (zh) 一种资源调度方法及装置
CN103336722B (zh) 一种虚拟机cpu资源监控和动态分配方法
CN104536804A (zh) 面向关联任务请求的虚拟资源调度系统及调度和分配方法
CN105320570B (zh) 资源管理方法和系统
CN104253850A (zh) 一种任务分布式调度方法和系统
TWI735531B (zh) 藉動態負載平衡之處理器功率監控及控制的技術
CN105975340A (zh) 一种虚拟机应用分配部署算法
CN105516325A (zh) 一种根据应用负载进行弹性扩容和流量分发扩展的云负载平衡手段
CN104346214B (zh) 用于分布式环境的异步任务管理装置及方法
CN104462302A (zh) 一种分布式数据处理协调方法及系统
CN103077083A (zh) 一种任务处理的方法及系统
CN106293947B (zh) 虚拟化云环境下gpu-cpu混合资源分配系统和方法
CN105242954B (zh) 一种虚拟cpu与物理cpu之间的映射方法及电子设备
CN107807854A (zh) 一种自动调度节点机的方法及渲染任务处理方法
CN105243499A (zh) 订单分配方法及系统
CN107316124A (zh) 大数据环境下大规模事务型作业调度与处理通用平台
CN105404549A (zh) 基于yarn架构的虚拟机调度系统
CN105404554B (zh) 用于Storm流计算框架的方法和装置
CN103823712A (zh) 一种多cpu虚拟机系统的数据流处理方法和装置
CN106133715A (zh) 基于来自多个数据中心的信息的虚拟机放置
CN104899092B (zh) Job分配系统及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20160201

Address after: 200335 Shanghai city Changning District Admiralty Road No. 968 Building No. 16 10 floor

Applicant after: SHANGHAI XIECHENG BUSINESS CO., LTD.

Address before: 200335 Shanghai City, Changning District Fuquan Road No. 99, Ctrip network technology building

Applicant before: Ctrip computer technology (Shanghai) Co., Ltd.

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant