CN104899092B - Job分配系统及方法 - Google Patents
Job分配系统及方法 Download PDFInfo
- 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
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服务器上的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服务器的识别信息。
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)
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 | 桂林电子科技大学 | 一种基于分层多代理的云计算负载均衡方法 |
-
2014
- 2014-03-03 CN CN201410075186.7A patent/CN104899092B/zh active Active
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 |