CN109144704B - 一种分布式环境下自动调度定时任务的方法 - Google Patents

一种分布式环境下自动调度定时任务的方法 Download PDF

Info

Publication number
CN109144704B
CN109144704B CN201811123476.9A CN201811123476A CN109144704B CN 109144704 B CN109144704 B CN 109144704B CN 201811123476 A CN201811123476 A CN 201811123476A CN 109144704 B CN109144704 B CN 109144704B
Authority
CN
China
Prior art keywords
time
task
delivery
load
target system
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
CN201811123476.9A
Other languages
English (en)
Other versions
CN109144704A (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.)
Zhejiang Wanpeng Digital Intelligence Technology Co ltd
Original Assignee
Zhejiang Wanpeng Education Science And Technology Stock 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 Zhejiang Wanpeng Education Science And Technology Stock Co ltd filed Critical Zhejiang Wanpeng Education Science And Technology Stock Co ltd
Priority to CN201811123476.9A priority Critical patent/CN109144704B/zh
Publication of CN109144704A publication Critical patent/CN109144704A/zh
Application granted granted Critical
Publication of CN109144704B publication Critical patent/CN109144704B/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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4825Interrupt from clock, e.g. time of day

Abstract

本发明公开了一种分布式环境下自动调度定时任务的方法。本发明包括如下步骤:1、系统初始化:2、采用选举算法,选择分布式环境中的某一个系统作为Master,通过缓存监听分布式环境下各个系统的负载,并在本地维护一个排序二叉树的集合;3、Master采用时间窗格分析法开始执行调度计划;4、Master从负载集合中选择一个负载因子最小的系统作为目标系统,并尝试获取当前定时任务“所有权”;5、目标系统接收到当前定时任务后,需要验证是否投递超时;考虑到网络传输时间的影响,通过超时因子a判断是否需要执行该任务。本发明解决了单机模式下性能瓶颈问题;大大提升了系统执行任务的效率与稳定性;使集群资源可以得到充分利用,降低资源浪费。

Description

一种分布式环境下自动调度定时任务的方法
技术领域
本发明属于分布式系统领域,涉及到一种分布式环境下自动调度定时任务的方法。
背景技术
系统随着时间的演变,功能会越来越复杂,同时,也会伴随产生海量的数据,在传统单机模式下,由于受到单机计算能力的限制,系统的数据统计任务运行时间将不可控,并且,高负载下的系统稳定性也将大大折扣,业务失败率的大幅度提高,系统的数据统计将会是一个沉重的任务,为此,需要一种能充分利用分布式计算资源的方法来解决该问题。
发明内容
本发明主要目的是针对现在技术的不足,提供一种分布式环境下自动调度定时任务的方法。
本发明需要基于一个拥有主动通知能力的高速缓存,后文简称缓存,所采用的技术方案包括如下步骤:
步骤1、系统初始化:
1-1.生成唯一标识ID,并将标识ID和系统属性注册到高速缓存,并监听私有的任务投递地址以便接收投递的任务;
1-2.启动一个系统负载计算和上报的任务,以T为时间间隔上传系统自身负载信息到指定缓存区域,系统自身负载由负载因子表示,符号F,设参与负载因子计算的性能指标为x,权值为w,则可表示如下:
Figure BDA0001811784780000011
其中,xi表示第i个性能指标;wi表示第i个性能指标对应的权值;
步骤2、采用选举算法,选择分布式环境中的某一个系统作为Master,通过缓存监听分布式环境下各个系统的负载,并在本地维护一个排序二叉树的集合,用于存储各个系统的负载数据,设F为负载因子,ID为系统唯一标识,则集合表示如下:
Collection=SortTree<F,ID>
步骤3、Master开始执行调度计划,其中调度计划采用时间窗格分析法。即首次调度时,时间窗格以系统启动时间为开始时间,结束时间为开始时间加上时间间隔,采用半闭半开区间,最后记录该区间的结束时间作为下一个相邻区间的开始时间,以此类推,设Tlaunch为系统启动时间,Tend为上一个相邻区间的时间窗格结束时间,i为时间间隔,则可表示如下:
Figure BDA0001811784780000021
步骤4、Master从负载集合中选择一个负载因子最小的系统作为目标系统,并尝试获取当前定时任务“所有权”,若成功获得“所有权”,则标记当前定时任务为不可调度状态,并提交给投递线程;反之,则忽略本次调度。为了避免任务被投递到无效系统,导致调度跳空,投递线程接收到当前定时任务后,先设置投递开始时间t0和投递超时时间t1;再将当前定时任务发送到指定目标系统的任务监听地址,并等待目标系统反馈;若投递的目标系统在指定投递超时时间t1内进行了反馈,则投递成功;反之则将该目标系统的负载因子按需增加,再重新为投递不成功的当前定时任务选择新的目标系统,重新执行投递过程。
所述的目标系统的负载因子按需增加是为了降低该目标系统被选中的几率;且按需增加形式如下:若负载因子小于0.5,则置为0.5,若负载因子大于等于0.5,则置为1。
步骤5、目标系统(任务执行者)接收到当前定时任务之后,需要验证是否投递超时;考虑到网络传输时间的影响,故设置一个超时因子a,若实际投递的时间t3大于实际投递超时时间t4,则忽略该任务;反之则反馈Master,执行该任务,当任务执行完成,系统需要更新任务原信息并保证任务“所有权”的释放,完成本次任务调度。
所述的实际投递时间t3等于目标系统接收投递任务的时间t5减去投递开始时间t0,即t3=t5-t0;实际投递超时时间t4=t1*a;所述的超时因子根据网络情况而定,取值范围在(0,1)。
本发明有益效果如下:
(1)解决了单机模式下性能瓶颈问题;
(2)大大提升了系统执行任务的效率与稳定性;
(3)使集群资源可以得到充分利用,降低资源浪费;
(4)理论上可以随着集群无限扩展,大大提高集群运算效率。
具体实施方式
下面结合实施例对本发明作进一步说明。
一种分布式环境下自动调度定时任务的方法,具体实现步骤如下:
步骤1、系统初始化:
1-1.生成唯一标识ID,并将标识ID和系统属性注册到高速缓存,并监听私有的任务投递地址以便接收投递的任务;
1-2.启动一个系统负载计算和上报的任务,以T为时间间隔上传系统自身负载信息到指定缓存区域,系统自身负载由负载因子表示,符号F,设参与负载因子计算的性能指标为x,权值为w,则可表示如下:
Figure BDA0001811784780000031
其中,xi表示第i个性能指标;wi表示第i个性能指标对应的权值;
步骤2、采用选举算法,选择分布式环境中的某一个系统作为Master,通过缓存监听分布式环境下各个系统的负载,并在本地维护一个排序二叉树的集合,用于存储各个系统的负载数据,设F为负载因子,ID为系统唯一标识,则集合表示如下:
Collection=SortTree<F,ID>
步骤3、Master开始执行调度计划,其中调度计划采用时间窗格分析法。即首次调度时,时间窗格以系统启动时间为开始时间,结束时间为开始时间加上时间间隔,采用半闭半开区间,最后记录该区间的结束时间作为下一个相邻区间的开始时间,以此类推,设Tlaunch为系统启动时间,Tend为上一个相邻区间的时间窗格结束时间,i为时间间隔,则可表示如下:
Figure BDA0001811784780000041
步骤4、Master从负载集合中选择一个负载因子最小的系统作为目标系统,并尝试获取当前定时任务“所有权”,若成功获得“所有权”,则标记当前定时任务为不可调度状态,并提交给投递线程;反之,则忽略本次调度。为了避免任务被投递到无效系统,导致调度跳空,投递线程接收到当前定时任务后,先设置投递开始时间t0和投递超时时间t1;再将当前定时任务发送到指定目标系统的任务监听地址,并等待目标系统反馈;若投递的目标系统在指定投递超时时间t1内进行了反馈,则投递成功;反之则将该目标系统的负载因子按需增加,再重新为投递不成功的当前定时任务选择新的目标系统,重新执行投递过程。
所述的目标系统的负载因子按需增加是为了降低该目标系统被选中的几率;且按需增加形式如下:若负载因子小于0.5,则置为0.5,若负载因子大于等于0.5,则置为1。
步骤5、目标系统(任务执行者)接收到当前定时任务之后,需要验证是否投递超时;考虑到网络传输时间的影响,故设置一个超时因子a,若实际投递的时间t3大于实际投递超时时间t4,则忽略该任务;反之则反馈Master,执行该任务,当任务执行完成,系统需要更新任务原信息并保证任务“所有权”的释放,完成本次任务调度。
所述的实际投递时间t3等于目标系统接收投递任务的时间t5减去投递开始时间t0,即t3=t5-t0;实际投递超时时间t4=t1*a;所述的超时因子根据网络情况而定,取值范围在(0,1)。

Claims (5)

1.一种分布式环境下自动调度定时任务的方法,其特征在于包括如下步骤:
步骤1、系统初始化:
1-1.生成唯一标识ID,并将标识ID和系统属性注册到高速缓存,并监听私有的任务投递地址以便接收投递的任务;
1-2.启动一个系统负载计算和上报的任务,以T为时间间隔上传系统自身负载信息到指定缓存区域,系统自身负载由负载因子表示,符号F,设参与负载因子计算的性能指标为x,权值为w,则可表示如下:
Figure FDA0002947274540000011
其中,xi表示第i个性能指标;wi表示第i个性能指标对应的权值;
步骤2、采用选举算法,选择分布式环境中的某一个系统作为Master,通过缓存监听分布式环境下各个系统的负载,并在本地维护一个排序二叉树的集合,用于存储各个系统的负载数据,设F为负载因子,ID为系统唯一标识,则集合表示如下:
Collection=SortTree<F,ID>
步骤3、Master开始执行调度计划,其中调度计划采用时间窗格分析法;即首次调度时,时间窗格以系统启动时间为开始时间,结束时间为开始时间加上时间间隔,采用半闭半开区间,最后记录该区间的结束时间作为下一个相邻区间的开始时间,以此类推,设Tlaunch为系统启动时间,Tend为上一个相邻区间的时间窗格结束时间,i为时间间隔,则可表示如下:
Figure FDA0002947274540000012
步骤4、Master从负载集合中选择一个负载因子最小的系统作为目标系统,并尝试获取当前定时任务“所有权”,若成功获得“所有权”,则标记当前定时任务为不可调度状态,并提交给投递线程;反之,则忽略本次调度;
步骤5、目标系统接收到当前定时任务之后,需要验证是否投递超时;考虑到网络传输时间的影响,故设置一个超时因子a,若实际投递的时间t3大于实际投递超时时间t4,则忽略该任务;反之则反馈Master,执行该任务,当任务执行完成,系统需要更新任务原信息并保证任务“所有权”的释放,完成本次任务调度。
2.根据权利要求1所述的一种分布式环境下自动调度定时任务的方法,其特征在于为了避免任务被投递到无效系统,导致调度跳空,投递线程接收到当前定时任务后,先设置投递开始时间t0和投递超时时间t1;再将当前定时任务发送到指定目标系统的任务监听地址,并等待目标系统反馈;若投递的目标系统在指定投递超时时间t1内进行了反馈,则投递成功;反之则将该目标系统的负载因子按需增加,再重新为投递不成功的当前定时任务选择新的目标系统,重新执行投递过程。
3.根据权利要求2所述的一种分布式环境下自动调度定时任务的方法,其特征在于所述的目标系统的负载因子按需增加是为了降低该目标系统被选中的几率;且按需增加形式如下:若负载因子小于0.5,则置为0.5,若负载因子大于等于0.5,则置为1。
4.根据权利要求3所述的一种分布式环境下自动调度定时任务的方法,其特征在于所述的实际投递时间t3等于目标系统接收投递任务的时间t5减去投递开始时间t0,即t3=t5-t0;实际投递超时时间t4=t1*a;所述的超时因子根据网络情况而定,取值范围在(0,1)。
5.根据权利要求1或2或3或4所述的一种分布式环境下自动调度定时任务的方法,其特征在于所述缓存是拥有主动通知能力的高速缓存。
CN201811123476.9A 2018-09-26 2018-09-26 一种分布式环境下自动调度定时任务的方法 Active CN109144704B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811123476.9A CN109144704B (zh) 2018-09-26 2018-09-26 一种分布式环境下自动调度定时任务的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811123476.9A CN109144704B (zh) 2018-09-26 2018-09-26 一种分布式环境下自动调度定时任务的方法

Publications (2)

Publication Number Publication Date
CN109144704A CN109144704A (zh) 2019-01-04
CN109144704B true CN109144704B (zh) 2021-04-20

Family

ID=64812549

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811123476.9A Active CN109144704B (zh) 2018-09-26 2018-09-26 一种分布式环境下自动调度定时任务的方法

Country Status (1)

Country Link
CN (1) CN109144704B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103761148A (zh) * 2014-01-26 2014-04-30 北京京东尚科信息技术有限公司 集群定时调度任务的控制方法
CN105302638A (zh) * 2015-11-04 2016-02-03 国家计算机网络与信息安全管理中心 基于系统负载的mpp集群任务调度方法
CN106126332A (zh) * 2016-06-27 2016-11-16 北京京东尚科信息技术有限公司 分布式定时任务调度系统及方法
CN107092523A (zh) * 2017-04-14 2017-08-25 浙江数链科技有限公司 定时任务的调度方法和系统
CN108255592A (zh) * 2017-12-19 2018-07-06 武汉市烽视威科技有限公司 一种Quartz集群定时任务处理系统及方法
CN108345501A (zh) * 2017-01-24 2018-07-31 全球能源互联网研究院 一种分布式资源调度方法和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9047129B2 (en) * 2012-07-23 2015-06-02 Adobe Systems Incorporated Systems and methods for load balancing of time-based tasks in a distributed computing system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103761148A (zh) * 2014-01-26 2014-04-30 北京京东尚科信息技术有限公司 集群定时调度任务的控制方法
CN105302638A (zh) * 2015-11-04 2016-02-03 国家计算机网络与信息安全管理中心 基于系统负载的mpp集群任务调度方法
CN106126332A (zh) * 2016-06-27 2016-11-16 北京京东尚科信息技术有限公司 分布式定时任务调度系统及方法
CN108345501A (zh) * 2017-01-24 2018-07-31 全球能源互联网研究院 一种分布式资源调度方法和系统
CN107092523A (zh) * 2017-04-14 2017-08-25 浙江数链科技有限公司 定时任务的调度方法和系统
CN108255592A (zh) * 2017-12-19 2018-07-06 武汉市烽视威科技有限公司 一种Quartz集群定时任务处理系统及方法

Also Published As

Publication number Publication date
CN109144704A (zh) 2019-01-04

Similar Documents

Publication Publication Date Title
CN109828935B (zh) 一种基于can fd总线的并行刷写方法
CN110191148B (zh) 一种面向边缘计算的统计函数分布式执行方法及系统
CN105468450A (zh) 任务调度方法及系统
CN104969213A (zh) 用于低延迟数据存取的数据流分割
CN108023908A (zh) 数据更新方法、装置及系统
US11392414B2 (en) Cooperation-based node management protocol
WO2022141727A1 (zh) 一种基于云上成本的资源部署系统及方法
CN110417882B (zh) 主节点的确定方法、装置和存储介质
CN102750368A (zh) 一种数据库集群数据高速导入方法
CN109144704B (zh) 一种分布式环境下自动调度定时任务的方法
CN116974994A (zh) 一种基于集群的高效能文件协作系统
CN111475333A (zh) 一种基于openstack的数据库备份方法及装置
CN110750362A (zh) 生物信息的分析方法、装置和存储介质
CN115526586A (zh) 一种基于智能运算的业务流程处理方法
CN114237858A (zh) 一种基于多集群网络的任务调度方法及系统
WO2023273157A1 (zh) 一种工作流生成方法、装置、设备及存储介质
CN116089079A (zh) 一种基于大数据的计算机资源分配管理系统及方法
CN113238841B (zh) 一种基于云计算技术的任务调度方法
CN115357395A (zh) 故障设备任务转移方法及系统、电子设备和存储介质
CN110868395B (zh) 一种基于收发单框架的大并发业务处理方法、设备及介质
CN103577424A (zh) 分布式数据库视图的实现方法及系统
CN108683612B (zh) 一种消息获取方法和装置
CN113065848A (zh) 一种支持多类集群后端的深度学习调度系统及调度方法
CN113835896B (zh) 一种Gaia系统中面向迭代计算的并行度动态调整方法
CN112306720B (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
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 12 / F, building 8, No. 19, Jugong Road, Xixing street, Binjiang District, Hangzhou City, Zhejiang Province, 310051

Patentee after: ZHEJIANG WANPENG EDUCATION SCIENCE AND TECHNOLOGY STOCK CO.,LTD.

Address before: Room 1406, Hangzhou e-commerce building, 118 Wensan West Road, Xihu District, Hangzhou City, Zhejiang Province, 310013

Patentee before: ZHEJIANG WANPENG EDUCATION SCIENCE AND TECHNOLOGY STOCK CO.,LTD.

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 12 / F, building 8, No. 19, Jugong Road, Xixing street, Binjiang District, Hangzhou City, Zhejiang Province, 310051

Patentee after: Zhejiang Wanpeng Digital Intelligence Technology Co.,Ltd.

Address before: 12 / F, building 8, No. 19, Jugong Road, Xixing street, Binjiang District, Hangzhou City, Zhejiang Province, 310051

Patentee before: ZHEJIANG WANPENG EDUCATION SCIENCE AND TECHNOLOGY STOCK CO.,LTD.