一种任务调度方法和装置制造方法及图纸

技术编号:19009000 阅读:37 留言:0更新日期:2018-09-22 08:54
本发明专利技术实施例涉及任务调度领域,尤其涉及一种任务调度方法和装置,用以解决现有技术中存在生成任务时刻的不准确性问题。本发明专利技术实施例中,调度节点获取任务数据库中待处理任务对应的当前记录;当前记录中包括生成任务标识、乐观锁版本号;调度节点确定生成任务标识与调度节点本地存储的本地生成任务标识一致时,更新乐观锁版本号和生成任务标识;调度节点向任务数据库发送更新消息;其中,更新消息中包括更新后的乐观锁版本号和更新后的生成任务标识;更新消息用于使任务数据库确定是否更新当前记录;调度节点接收任务数据库发送的更新响应;并根据更新响应确定是否触发待处理任务。可避免现有技术中生成任务时刻的不准确性及漏任务的问题。

A task scheduling method and device

The embodiment of the invention relates to the field of task scheduling, in particular to a task scheduling method and device for solving the problem of inaccuracy in generating task time in the prior art. In the embodiment of the invention, the scheduling node obtains the current record corresponding to the task to be processed in the task database; the current record includes the generation task identification and optimistic lock version number; and the scheduling node updates the optimistic lock version number and generation when it determines that the generation task identification is consistent with the locally generated task identification stored by the scheduling node. Task ID; Scheduling node sends update message to the task database; the update message includes the updated optimistic lock version number and the updated generated task ID; update message is used to make the task database determine whether to update the current record; Scheduling node receives the update response sent by the task database; and according to the update message Update response to determine whether to trigger the task to be processed. It can avoid the inaccuracy of task time and the task of missing tasks in the existing technology.

【技术实现步骤摘要】
一种任务调度方法和装置
本专利技术实施例涉及任务调度领域,尤其涉及一种任务调度方法和装置。
技术介绍
目前,经常会有许多需要定时处理的任务。定时处理的任务比如:生成周报的任务需要每周执行一次,发送邮件的任务需要每天凌晨3点执行一次、分析日志的任务需要每天凌晨1点执行一次,日志清理的任务需要每天凌晨12点执行一次;信息采集的任务需要每两个小时执行一次等。这些任务有一些相同点:需要周期性定时执行。对于这类需要周期性定时执行的任务,现有技术中一般有两种常用的方式。第一种方式是:以调度节点生成任务完成后的一个周期后生成下一次任务。第二种方式是:以调度节点生成任务开始后的一个周期后生成下一次任务。对于第一种方式,由于调度节点生成任务开始到生成任务完成的这个过程中会消耗一定的时长,因此,第一次生成任务之后的每次生成任务均会出现延时,这种延时会随着时间的积累不断累加,使得生成任务的时间越来越迟,进而造成周期性定时执行任务的时间不准确的问题。对于第二种方式:在调度节点唤醒后,发现本次开始生成任务的时间距离上一次生成任务的时间不够一个周期时,就不会生成本次任务。这样,会造成漏任务的问题。
技术实现思路
本专利技术实施例提供一种任务调度方法和装置,用以解决现有技术中存在处理任务时刻的不准确性及漏任务的问题。本专利技术实施例提供一种任务调度方法,包括:调度节点获取任务数据库中待处理任务对应的当前记录;所述当前记录中包括生成任务标识、乐观锁版本号;所述调度节点确定所述生成任务标识与所述调度节点本地存储的本地生成任务标识一致时,更新所述乐观锁版本号和所述生成任务标识;所述调度节点向所述任务数据库发送更新消息;其中,所述更新消息中包括更新后的乐观锁版本号和更新后的生成任务标识;所述更新消息用于使所述任务数据库确定是否更新所述当前记录;所述调度节点接收所述任务数据库发送的更新响应;并根据所述更新响应确定是否触发所述待处理任务。可选地,所述更新响应中包括所述任务数据库中当前生成任务标识;所述方法还包括:所述调度节点根据接收到的所述更新响应中的所述当前生成任务标识更新本地存储的所述本地生成任务标识。可选地,所述更新响应包括更新成功或更新失败;所述根据所述更新响应确定是否触发所述待处理任务,包括:当所述调度节点接收到所述任务数据库发送的更新响应为更新成功时,触发所述待处理任务,以使业务节点执行所述待处理任务;当所述调度节点接收到的所述任务数据库发送的更新响应为更新失败时,确定所述待处理任务生成失败。可选地,所述调度节点获取任务数据库中待处理任务对应的当前记录之前,还包括:所述调度节点首次启动时,获取所述任务数据库的当前时刻和所述当前记录;所述当前记录中还包括生成任务周期以及预定生成任务时刻;所述调度节点根据所述任务数据库的当前时刻以及所述预定生成任务时刻,确定首次唤醒所述调度节点的时刻;根据所述生成任务周期确定后续唤醒所述调度节点的时刻。本专利技术实施例提供一种任务调度方法,包括:任务数据库向调度节点发送待处理任务对应的当前记录;所述当前记录中包括生成任务标识、乐观锁版本号;所述任务数据库接收调度节点发送的更新消息;所述更新消息中包括更新后的乐观锁版本号和更新后的生成任务标识;其中,所述更新后的乐观锁版本号和更新后的生成任务标识是所述调度节点确定所述生成任务标识与所述调度节点本地存储的本地生成任务标识一致时,更新所述乐观锁版本号和所述生成任务标识得到的;所述任务数据库根据所述更新后的乐观锁的版本号是否大于所述乐观锁版本号,确定是否更新所述待处理任务对应的当前记录中的乐观锁版本号和生成任务标识;所述任务数据库生成更新响应。本专利技术实施例提供一种任务调度装置,包括:获取单元,用于获取任务数据库中待处理任务对应的当前记录;所述当前记录中包括生成任务标识、乐观锁版本号;处理单元,用于确定所述生成任务标识与所述调度节点本地存储的本地生成任务标识一致时,更新所述乐观锁版本号和所述生成任务标识;发送单元,用于向所述任务数据库发送更新消息;其中,所述更新消息中包括更新后的乐观锁版本号和更新后的生成任务标识;所述更新消息用于使所述任务数据库确定是否更新所述当前记录;接收单元,用于接收所述任务数据库发送的更新响应;并根据所述更新响应确定是否触发所述待处理任务。可选地,所述更新响应中包括所述任务数据库中当前生成任务标识;所述处理单元,还用于:根据接收到的所述更新响应中的所述当前生成任务标识更新本地存储的所述本地生成任务标识。可选地,所述更新响应包括更新成功或更新失败;所述接收单元,还用于当接收到所述任务数据库发送的更新响应为更新成功时,触发所述待处理任务,以使业务节点执行所述待处理任务;当接收到的所述任务数据库发送的更新响应为更新失败时,确定所述待处理任务生成失败。可选地,所述获取单元,还用于:首次启动时,获取所述任务数据库的当前时刻和所述当前记录;所述当前记录中还包括生成任务周期以及预定生成任务时刻;所述处理单元,用于:根据所述任务数据库的当前时刻以及所述预定生成任务时刻,确定首次唤醒所述调度节点的时刻;根据所述生成任务周期确定后续唤醒所述调度节点的时刻。本专利技术实施例提供一种任务调度装置,包括:发送单元,用于向调度节点发送待处理任务对应的当前记录;所述当前记录中包括生成任务标识、乐观锁版本号;接收单元,用于接收调度节点发送的更新消息;所述更新消息中包括更新后的乐观锁版本号和更新后的生成任务标识;其中,所述更新后的乐观锁版本号和更新后的生成任务标识是所述调度节点确定所述生成任务标识与所述调度节点本地存储的本地生成任务标识一致时,更新所述乐观锁版本号和所述生成任务标识得到的;处理单元,用于根据所述更新后的乐观锁的版本号是否大于所述乐观锁版本号,确定是否更新所述待处理任务对应的当前记录中的乐观锁版本号和生成任务标识;生成更新响应。本专利技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行上述所述的方法。本专利技术实施例提供了一种计算机设备,包括:存储器,用于存储程序指令;处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述所述的方法。由于本专利技术实施例中,调度节点获取任务数据库中待处理任务对应的当前记录,在确定所述当前记录中的生成任务标识与所述调度节点本地存储的本地生成任务标识一致时,更新所述乐观锁版本号和所述生成任务标识;所述调度节点向所述任务数据库发送更新消息,所述更新消息用于使所述任务数据库确定是否更新所述当前记录。即本专利技术实施例中,通过调度节点本地存储的本地生成任务标识与获取到的任务数据库中的当前记录中的生成任务标识是否一致来确定所述待处理任务是否生成,不需要考虑生成任务的时刻,避免了现有技术中使用上次生成任务时刻来确定下一次生成任务时刻造成生成任务时刻的不准确性及漏任务的问题。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种分布式调度系统架构示意图;图2为本专利技术本文档来自技高网...
一种任务调度方法和装置

【技术保护点】
1.一种任务调度方法,其特征在于,包括:调度节点获取任务数据库中待处理任务对应的当前记录;所述当前记录中包括生成任务标识、乐观锁版本号;所述调度节点确定所述生成任务标识与所述调度节点本地存储的本地生成任务标识一致时,更新所述乐观锁版本号和所述生成任务标识;所述调度节点向所述任务数据库发送更新消息;其中,所述更新消息中包括更新后的乐观锁版本号和更新后的生成任务标识;所述更新消息用于使所述任务数据库确定是否更新所述当前记录;所述调度节点接收所述任务数据库发送的更新响应;并根据所述更新响应确定是否触发所述待处理任务。

【技术特征摘要】
1.一种任务调度方法,其特征在于,包括:调度节点获取任务数据库中待处理任务对应的当前记录;所述当前记录中包括生成任务标识、乐观锁版本号;所述调度节点确定所述生成任务标识与所述调度节点本地存储的本地生成任务标识一致时,更新所述乐观锁版本号和所述生成任务标识;所述调度节点向所述任务数据库发送更新消息;其中,所述更新消息中包括更新后的乐观锁版本号和更新后的生成任务标识;所述更新消息用于使所述任务数据库确定是否更新所述当前记录;所述调度节点接收所述任务数据库发送的更新响应;并根据所述更新响应确定是否触发所述待处理任务。2.如权利要求1所述的方法,其特征在于,所述更新响应中包括所述任务数据库中当前生成任务标识;所述方法还包括:所述调度节点根据接收到的所述更新响应中的所述当前生成任务标识更新本地存储的所述本地生成任务标识。3.如权利要求1所述的方法,其特征在于,所述更新响应包括更新成功或更新失败;所述根据所述更新响应确定是否触发所述待处理任务,包括:当所述调度节点接收到所述任务数据库发送的更新响应为更新成功时,触发所述待处理任务,以使业务节点执行所述待处理任务;当所述调度节点接收到的所述任务数据库发送的更新响应为更新失败时,确定所述待处理任务生成失败。4.如权利要求1至3任一项所述的方法,其特征在于,所述调度节点获取任务数据库中待处理任务对应的当前记录之前,还包括:所述调度节点首次启动时,获取所述任务数据库的当前时刻和所述当前记录;所述当前记录中还包括生成任务周期以及预定生成任务时刻;所述调度节点根据所述任务数据库的当前时刻以及所述预定生成任务时刻,确定首次唤醒所述调度节点的时刻;根据所述生成任务周期确定后续唤醒所述调度节点的时刻。5.一种任务调度方法,其特征在于,包括:任务数据库向调度节点发送待处理任务对应的当前记录;所述当前记录中包括生成任务标识、乐观锁版本号;所述任务数据库接收调度节点发送的更新消息;所述更新消息中包括更新后的乐观锁版本号和更新后的生成任务标识;其中,所述更新后的乐观锁版本号和更新后的生成任务标识是所述调度节点确定所述生成任务标识与所述调度节点本地存储的本地生成任务标识一致时,更新所述乐观锁版本号和所述生成任务标识得到的;所述任务数据库根据所述更新后的乐观锁的版本号是否大于所述乐观锁版本号,确定是否更新所述待处理任务对应的当前记录中的乐观锁版本号和生成任务标识;所述任务数据库生成更新响应。6.一种任务调度装置,其特征在于,包括:获取单元,用于获取任务数据库中待处理任务对应的当前记录;所述当前记录中包...

【专利技术属性】
技术研发人员:田龙辉李松倪向远田丰
申请(专利权)人:中国银联股份有限公司
类型:发明
国别省市:上海,31

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

1