CN106886452A - 一种简化云化系统任务调度的方法 - Google Patents

一种简化云化系统任务调度的方法 Download PDF

Info

Publication number
CN106886452A
CN106886452A CN201710059093.9A CN201710059093A CN106886452A CN 106886452 A CN106886452 A CN 106886452A CN 201710059093 A CN201710059093 A CN 201710059093A CN 106886452 A CN106886452 A CN 106886452A
Authority
CN
China
Prior art keywords
task
main frame
scheduling
information
host
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.)
Granted
Application number
CN201710059093.9A
Other languages
English (en)
Other versions
CN106886452B (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.)
Beijing Si Tech Information Technology Co Ltd
Original Assignee
Beijing Si Tech Information Technology 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 Beijing Si Tech Information Technology Co Ltd filed Critical Beijing Si Tech Information Technology Co Ltd
Priority to CN201710059093.9A priority Critical patent/CN106886452B/zh
Publication of CN106886452A publication Critical patent/CN106886452A/zh
Application granted granted Critical
Publication of CN106886452B publication Critical patent/CN106886452B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及一种简化云化系统任务调度的方法,该方法包括:S1,配置调度任务记录表和主机资源信息表;S2,主机系统启动后自动创建资源上报线程,将主机内的基本资源信息进行上报,存放在主机资源信息表中;S3,根据S1调度任务记录表中已记录的调度任务名称和S2中上报的基本资源信息进行权值计算,根据计算的结果执行任务调度;S4,执行S3中的任务调度后,将调度结果信息存储到调度结果表中。通过本发明的配置调度任务记录表,创建线程,自动上报资源信息,有效避免了主机调度任务数量较多时,主机不灵活的缺点,另外利用计算权值自动调度任务的方法避免了出现异常情况时需要补跑任务的缺点。

Description

一种简化云化系统任务调度的方法
技术领域
本发明涉及电信BOSS(业务运营支撑系统)云化技术领域,尤其涉及了一种简化云化系统任务调度的方法。
背景技术
传统任务调度使用linux或者unix主机crontab功能,此功能有以下缺陷:一是部署和修改麻烦,云化主机数量较多,导致调整一个任务特别麻烦。二是异常情况需要补跑任务,即当目前有一个主机部署了数据统计功能任务,但是此主机出现异常时,就需要手工去补跑此类任务。三是固定周期单次执行任务时,只能部署在一个主机,无法选用主机资源空闲的主机,造成主机繁忙。
发明内容
本发明所要解决的技术问题是:当云化主机数量较多时,调整一个任务麻烦;当出现异常情况需要补跑任务;当固定周期单次执行任务时,无法选用主机资源空闲的主机,造成主机繁忙。
为解决上面的技术问题,本发明提供了一种简化云化系统任务调度的方法,该方法包括如下步骤:
S1,配置调度任务记录表和主机资源信息表;
S2,主机系统启动后自动创建资源上报线程,将主机内的基本资源信息进行上报,存放在主机资源信息表中;
S3,根据S1调度任务记录表中已记录的调度任务名称和S2中上报的基本资源信息进行权值计算,根据计算的结果执行任务调度;
S4,执行S3中的任务调度后,将调度结果信息存储到调度结果表中。
上述发明的有益效果:配置调度任务记录表,创建线程,自动上报资源信息,有效避免了主机调度任务数量较多时,主机不灵活的缺点,另外利用计算权值自动调度任务的方法避免了出现异常情况时需要补跑任务的缺点。
进一步,所述的S1中还包括:配置定时任务与用户的对应关系、用户与主机的对应关系,将定时任务、用户和主机三者的归属集群信息配置在调度任务记录表和主机资源信息表中。
进一步,所述的S1中还包括:将需进行调度任务的集群主机的IP地址信息配置到分布式内存数据库的主机资源信息表中。
进一步,S2中资源上报线程包括:
S21,依次获取主机对应集群ID的使用率:主机CPU的使用率、主机内存使用率、主机文件句柄使用率、主机网络带宽使用率;
S22,在获取主机网络带宽使用率后,判断当前主机资源是否应该上报,校验当前主机的IP配置信息是否存在;
S23,当判断当前主机的IP配置信息存在时,将S21中获取到的使用率更新到S1中的主机资源信息表中。
上述进一步的有益效果:合理地利用了主机的资源,有效地集中了调度的信息,将信息分类规划,克服了部署和修改麻烦,降低了调度任务时的麻烦。
进一步,所述S3中包括:
所述S3中包括:
S31,遍历S1中的调度任务记录表中的定时任务,判断定时任务是否是在每个主机中都启动;若是,则在当前主机执行任务调度;若否,则执行下一步S32;
S32,遍历主机计算S1中的调度任务记录表中已记录的调度任务名称和S2中上报的基本资源信息之间的第一权值;
S33,根据S32的第一权值,计算获取当前主机脚本的ascii值,并根据ascii值计算出第二权值;
S34,遍历主机,将第二权值与第一权值相减,判断结果是否出现负值,若是,则在当前主机执行任务调度;若否,则删掉当前的定时任务,则返回步骤S31。
上述进一步的有益效果:避免了主机异常时任务调度需要手工补跑的问题,选用主机资源空闲的主机,避免了主机系统的繁忙。
进一步,S31中还包括:在当前主机执行任务调度后,将该任务调度的信息存储在主机内存的数据库中。
进一步,S34中还包括:在当前主机执行任务调度后,将该任务调度的信息存储在主机内存的数据库中。
进一步,S2中获取主机网络带宽使用率包括:每2秒钟或取一次流量信息,一共获取4次,求出平均值作为这1分钟内的网络带宽使用率,供下次更新使用。
进一步,S2中的资源上报线程,在每分钟内的第1-10秒的获取主机内的基本资源信息。
进一步,S3中的任务调度是在每分钟内的第20-55秒进行。
本发明的有益效果:配置调度任务记录表,创建线程,自动上报资源信息,有效避免了主机调度任务数量较多时,主机不灵活的缺点,另外利用计算权值的方法避免了出现异常情况时需要补跑任务的缺点,有效地选用主机资源空闲的主机,避免了主机系统的繁忙,合理地利用了主机的资源。
附图说明
图1为本发明的一种简化云化系统任务调度的方法流程图;
图2为本发明的自动创建资源上报线程的流程图;
图3为本发明的执行任务调度的流程图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
实施例
如图1所示,一种简化云化系统任务调度的方法,该方法包括如下步骤:
S1,配置定时任务和用户、主机的对应关系,将定时任务、用户和主机三者的归属集群信息配置在对应的分布式内存数据库中的调度任务记录表中,将需进行调度任务的集群主机的IP地址信息配置到分布式内存数据库的主机资源信息表中;其中,定时任务是按用户进行执行的,就跟某一个主机上面的用户有A,B两个用户,这两个用户是对应不同的定时任务和主机环境变量的。A用户可能安装了某些应用,但是B用户可能安装的是另外一些应用,A、B用户任务不同。
S2,主机系统启动后自动创建资源上报线程,将主机内的基本资源信息进行上报,存放在S1中的主机资源信息表中;
S3,根据S1调度任务记录表中已记录的调度任务名称和S2中上报的基本资源信息进行权值计算,计算出当前任务调度是否应该是在本主机执行的任务调度,如果是,则在本主机执行任务调度;
S4,执行S3中的任务调度后,将调度结果信息存储到调度结果表中,进行下一次调度进程的互斥校验。其中,互斥校验:就是说只能运行一个,存在这样的任务,任务是常驻内存的,系统要求你只能运行一个,所以启动后的我们存储在调度结果表,标识我们已经启动了,下一次启动的时候,调度脚本要先去校验下已经启动的这个进程是不是还在,如果在的话就不能运行了。
如图2所示的,自动创建资源上报线程的步骤包括:
S21,依次获取主机对应集群ID的使用率:主机CPU的使用率、主机内存使用率、主机文件句柄使用率、主机网络带宽使用率,每2秒钟取一次流量信息,一共获取4次,求出平均值作为这1分钟内的网络带宽使用率,供下次更新使用;
S22,在获取主机网络带宽使用率后,判断当前主机资源是否应该上报,校验当前主机的IP配置信息是否存在;
S23,当判断当前主机的IP配置信息存在时,将S21中获取到的主机资源信息更新到S1中的主机资源信息表中;当不存在时,则不更新主机资源。例如:我们把系统部署到了172.21.4.113这个IP上面的主机,但是我们在任务配置的时候,没有配置172.21.4.113这个主机IP,那么我们程序校验在分布式内存库中没有这个主机的IP信息,那么我们就不更新这个主机的资源使用信息了。
如图3所示的,在主机上执行任务调度的步骤包括:
S31,遍历S1中的调度任务记录表中的定时任务,判断定时任务是否是在每个主机中都启动;若是,则在当前主机执行任务调度;若否,则执行下一步S32;
S32,遍历主机计算S1中的调度任务记录表中已记录的调度任务名称和S2中上报的基本资源信息之间的第一权值B;
S33,根据S32的第一权值,计算获取当前主机脚本的ascii值,并根据ascii值计算出第二权值D;
S34,遍历主机,将第二权值与第一权值相减,判断结果是否出现负值,若是,则在当前主机执行任务调度;若否,则删掉当前的定时任务,并继续执行步骤S31。
其中上述的调度任务记录表:DSPE_CRON表
功能:存放对应Cluster_Id的调度任务信息。
维护:表中数据由应用开发人员进行后台配置,存放所有的用户、集群、crontab的对应关系。
主机资源信息表:DSPE_HOST表
功能:存放调度任务主机信息
维护:由DSPE_OP界面更新主机和Cluster_Id对应关系,DSPE_CRON更新主机资源信息。存放所有主机和集群的对应关系。
调度结果表:DSPE_RESULT表
功能:存放调度任务处理结果,对于只在集群一台主机启动的脚本和应用信息启动完成后在此表进行记录,此表主要是统一调度脚本框架使用。
另外,对于上述的自动创建资源上报线程的步骤中是系统启动后自动创建资源上报线程,在每分钟的第1秒到第10秒获取主机的CPU、内存、IO、网络带宽等使用率,以时间戳的方式进行更新,更新至内存数据库,数据存储到DSPE_HOST表中;对于在主机上执行任务调度步骤是:在每1分钟的第20秒到第55秒进行任务调度处理,根据上报的资源进行权值计算,根据算法计算出当前任务调度是否应该是本主机执行,如果是本主机执行,则在本主机进行执行,并将此类信息添加到内存数据库的结果表中;在任务调度后将调度结果信息存储到调度结果表中,进行下一次调度的进程依赖性校验。
根据前一个分钟上报的CPU、内存、IO等信息计算得到综合负载权值A(目前按照A=CPU*0.5+Mem*0.3+IO*0.1+FD_FILE*0.1),参考如下算法得到第一权值B:
B初始化=0;当0%<A≤20%时,B=81;当20%<A≤40%时,B=27;当40%<A≤60%时,B=9;当60%<A≤80%时,B=3;当80%<A≤100%时,B=1;得到主机的权值B。
假设有m台主机,设C=B1+B2+...+Bm,并且B1~Bm按照从小到大顺序排列。第二权值D=C*rnd(time_stamp+to_number(进程名)),然后用D顺序-B1-B2-...-Bm,当D一旦小于0时退出循环,得到当前下标t、权值Bt以及对应的主机假设是主机s。此s主机即为要执行程序的主机对象。特别注意上面的rnd(time_stamp),里面的time_stamp即为查询时用到的上一个分钟的时间戳。to_number(进程名)指把进程名通过函数转换成一个数字。
在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种简化云化系统任务调度的方法,其特征在于,该方法包括如下步骤:
S1,配置调度任务记录表和主机资源信息表;
S2,主机系统启动后自动创建资源上报线程,将主机内的基本资源信息进行上报,存放在主机资源信息表中;
S3,根据S1调度任务记录表中已记录的调度任务名称和S2中上报的基本资源信息进行权值计算,根据计算的结果执行任务调度;
S4,执行S3中的任务调度后,将调度结果信息存储到调度结果表中。
2.根据权利要求1所述的一种简化云化系统任务调度的方法,其特征在于,所述的S1中还包括:配置定时任务与用户的对应关系、用户与主机的对应关系,将定时任务、用户和主机三者的归属集群信息配置在调度任务记录表中。
3.根据权利要求2所述的一种简化云化系统任务调度的方法,其特征在于,所述的S1中还包括:将需进行调度任务的集群主机的IP地址信息配置到分布式内存数据库的主机资源信息表中。
4.根据权利要求3所述的一种简化云化系统任务调度的方法,其特征在于,S2中资源上报线程包括:
S21,依次获取主机对应集群ID的使用率:主机CPU的使用率、主机内存使用率、主机文件句柄使用率、主机网络带宽使用率;
S22,在获取主机网络带宽使用率后,判断当前主机资源是否应该上报,校验当前主机的IP配置信息是否存在;
S23,当判断当前主机的IP配置信息存在时,将S21中获取到的使用率更新到S1中的主机资源信息表中。
5.根据权利要求4所述的一种简化云化系统任务调度的方法,其特征在于,所述S3中包括:
S31,遍历S1中的调度任务记录表中的定时任务,判断定时任务是否是在每个主机中都启动;若是,则在当前主机执行任务调度;若否,则执行下一步S32;
S32,遍历主机计算S1中的调度任务记录表中已记录的调度任务名称和S2中上报的基本资源信息之间的第一权值;
S33,根据S32的第一权值,计算获取当前主机脚本的ascii值,并根据ascii值计算出第二权值;
S34,遍历主机,将第二权值与第一权值相减,判断结果是否出现负值,若是,则在当前主机执行任务调度;若否,则删掉当前的定时任务,则返回步骤S31。
6.根据权利要求5所述的一种简化云化系统任务调度的方法,其特征在于,步骤S31中还包括:在当前主机执行任务调度后,将该任务调度的信息存储在主机内存的数据库中。
7.根据权利要求6所述的一种简化云化系统任务调度的方法,其特征在于,步骤S34中还包括:在当前主机执行任务调度后,将该任务调度的信息存储在主机内存的数据库中。
8.根据权利要求4所述的一种简化云化系统任务调度的方法,其特征在于,S2中获取主机网络带宽使用率包括:每2秒钟或取一次流量信息,一共获取4次,求出平均值作为这1分钟内的网络带宽使用率,供下次更新使用。
9.根据权利要求8所述的一种简化云化系统任务调度的方法,其特征在于,S2中的资源上报线程,在每分钟内的第1-10秒的获取主机内的基本资源信息。
10.根据权利要求5或7所述的一种简化云化系统任务调度的方法,其特征在于,S3中的任务调度是在每分钟内的第20-55秒进行。
CN201710059093.9A 2017-01-23 2017-01-23 一种简化云化系统任务调度的方法 Active CN106886452B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710059093.9A CN106886452B (zh) 2017-01-23 2017-01-23 一种简化云化系统任务调度的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710059093.9A CN106886452B (zh) 2017-01-23 2017-01-23 一种简化云化系统任务调度的方法

Publications (2)

Publication Number Publication Date
CN106886452A true CN106886452A (zh) 2017-06-23
CN106886452B CN106886452B (zh) 2020-08-18

Family

ID=59176495

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710059093.9A Active CN106886452B (zh) 2017-01-23 2017-01-23 一种简化云化系统任务调度的方法

Country Status (1)

Country Link
CN (1) CN106886452B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110908806A (zh) * 2019-12-02 2020-03-24 北京蜜莱坞网络科技有限公司 一种混流任务的管理方法、装置、设备和存储介质
CN111625391A (zh) * 2020-05-29 2020-09-04 北京思特奇信息技术股份有限公司 一种任务处理方法、系统和电子设备
CN113301154A (zh) * 2021-05-24 2021-08-24 建信金融科技有限责任公司 公有云资源创建方法、装置、存储介质及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101957780A (zh) * 2010-08-17 2011-01-26 中国电子科技集团公司第二十八研究所 一种基于资源状态信息的网格任务调度处理器及方法
CN104331327A (zh) * 2014-12-02 2015-02-04 山东乾云启创信息科技有限公司 大规模虚拟化环境中任务调度的优化方法及优化系统
CN104657214A (zh) * 2015-03-13 2015-05-27 华存数据信息技术有限公司 一种基于多队列和多优先级的大数据任务管理系统和方法
CN105959395A (zh) * 2016-06-15 2016-09-21 徐州医科大学 一种集群自反馈式负载均衡调度系统及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101957780A (zh) * 2010-08-17 2011-01-26 中国电子科技集团公司第二十八研究所 一种基于资源状态信息的网格任务调度处理器及方法
CN104331327A (zh) * 2014-12-02 2015-02-04 山东乾云启创信息科技有限公司 大规模虚拟化环境中任务调度的优化方法及优化系统
CN104657214A (zh) * 2015-03-13 2015-05-27 华存数据信息技术有限公司 一种基于多队列和多优先级的大数据任务管理系统和方法
CN105959395A (zh) * 2016-06-15 2016-09-21 徐州医科大学 一种集群自反馈式负载均衡调度系统及方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110908806A (zh) * 2019-12-02 2020-03-24 北京蜜莱坞网络科技有限公司 一种混流任务的管理方法、装置、设备和存储介质
CN111625391A (zh) * 2020-05-29 2020-09-04 北京思特奇信息技术股份有限公司 一种任务处理方法、系统和电子设备
CN113301154A (zh) * 2021-05-24 2021-08-24 建信金融科技有限责任公司 公有云资源创建方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
CN106886452B (zh) 2020-08-18

Similar Documents

Publication Publication Date Title
CN108132830B (zh) 一种任务调度方法、装置及系统
CN105429780B (zh) 一种虚拟化网络服务业务自动生成和动态监控的方法
CN106844198B (zh) 一种分布式调度自动化测试平台及方法
CN109756366A (zh) 基于caas的智能网scp云服务实现系统
CN110287029A (zh) 一种基于kubernetes容器资源动态调整的方法
CN106502769A (zh) 分布式事务处理方法、装置及系统
CN106886452A (zh) 一种简化云化系统任务调度的方法
CN103561055B (zh) 基于会话的云计算环境下Web应用自动弹性扩展方法
CN103023980B (zh) 一种云平台处理用户服务请求的方法和系统
CN104503832B (zh) 一种公平和效率均衡的虚拟机调度系统及方法
CN105991707B (zh) 多媒体交互方法、服务器及系统
CN105404549B (zh) 基于yarn架构的虚拟机调度系统
CN109901918A (zh) 一种处理超时任务的方法和装置
CN107967175A (zh) 一种基于多目标优化的资源调度系统及方法
CN100518132C (zh) 分布式交通信息存储文件系统
CN102026228B (zh) 通信网络性能数据的统计方法和设备
CN109902919A (zh) 服务器资产管理方法、装置、设备及可读存储介质
CN106294708A (zh) 一种基于Torque的集群记账管理方法及系统
CN112650545A (zh) 一种配置管理系统、方法及存储介质
CN109857802A (zh) 日志数据同步方法、装置、设备及计算机可读存储介质
CN111967830A (zh) 一种线上线下库存同步方法
CN101212342B (zh) 多版本网元的网络管理方法
CN115146000A (zh) 一种数据库数据同步方法、装置、电子设备及存储介质
CN105450733B (zh) 一种业务数据分发处理方法及系统
CN109710623A (zh) 一种智能订单同步方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant