分布式任务调度系统中任务处理方法及相关装置制造方法及图纸

技术编号:25708109 阅读:18 留言:0更新日期:2020-09-23 02:55
本申请是关于一种分布式任务调度系统中任务处理方法及相关装置,属于计算机技术领域,该方法包括:当客户端通过存储任务的运行中状态消息至延时队列及将任务的标识存入任务缓存,开始执行任务;从延时队列获取延时的运行中状态消息,并确定任务的标识是否存在于任务缓存中;如果任务的标识存在于所述任务缓存中,则将延时的运行中状态消息发送给服务端;当任务执行结束后,将任务的标识从所述任务缓存中删除,并将所述任务的执行结果反馈至所述服务端,以使得所述服务端再次更新所述任务的执行记录,完成所述任务在分布式任务调度系统的执行。本申请的实施例有效降低分布式系统中任务调度时消息处理负荷,提升任务吞吐量。

【技术实现步骤摘要】
分布式任务调度系统中任务处理方法及相关装置
本申请涉及计算机
,具体而言,涉及一种分布式任务调度系统中任务处理方法、装置、介质及电子设备。
技术介绍
分布式任务调度系统,实现了任务调度与任务运行分离,即服务端负责任务调度,客户端负责具体任务运行。这样在任务执行与任务调度分离的状态下,任务执行状态需要进行有效的监管,目前,通常在任务执行时的各个节点由客户端向服务端反馈任务执行状态消息,这样由于任务执行情况复杂多样,状态消息的反馈会比较混乱,导致分布式系统中任务调度时消息处理负荷较大,任务吞吐量有限。需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
本申请的目的在于提供一种分布式任务调度系统中任务处理方案,进而至少在一定程度上保证分布式系统任务调度的可靠性的情况下,有效降低分布式系统中任务调度时消息处理负荷,提升任务吞吐量。根据本申请的一个方面,提供一种分布式任务调度系统中任务处理方法,包括:当客户端接收到服务端发送的任务的触发消息,通过存储所述任务的运行中状态消息至延时队列及将所述任务的标识存入任务缓存,开始执行所述任务,所述任务缓存用于缓存未完成任务的标识;从所述延时队列获取延时的运行中状态消息,并确定所述任务的标识是否存在于所述任务缓存中;如果所述任务的标识存在于所述任务缓存中,则将所述延时的运行中状态消息发送给服务端,以使得所述服务端根据接收到的所述运行中状态消息更新所述任务的执行记录;当所述任务执行结束后,将所述任务的标识从所述任务缓存中删除,并将所述任务的执行结果反馈至所述服务端,以使得所述服务端再次更新所述任务的执行记录,完成所述任务在分布式任务调度系统的执行。在本申请的一种示例性实施例中,所述当客户端接收到服务端发送的任务的触发消息,通过存储所述任务的运行中状态消息至延时队列及将所述任务的标识存入任务缓存,开始执行所述任务,包括:当客户端接收到服务端发送的任务的触发消息,获取所述触发消息中任务的预测运行时长,所述预测预测运行时长通过将所述任务的执行相关参数输入预设时长预测模型得到;当所述预测运行时长小于预定阈值时,通过存储所述任务的运行中状态消息至所述延时队列并将所述任务的标识存入所述任务缓存,开始执行所述任务。在本申请的一种示例性实施例中,所述从所述延时队列获取延时的运行中状态消息,包括:基于守护线程从所述延时队列获取延时的运行中状态消息。在本申请的一种示例性实施例中,在所述从所述延时队列获取延时的运行中状态消息,并确定所述任务的标识是否存在于所述任务缓存中之后,还包括:如果所述任务的标识不存在于所述任务缓存中,则不发送所述延时的运行中状态消息给服务端。根据本申请的一个方面,提供一种分布式任务调度系统中任务处理方法,其包括:服务端在任务到点触发时,将所述任务的执行记录保存到数据库,所述执行记录中所述任务的状态为待通知;构造所述任务的触发消息发送到客户端,并更新所述执行记录中所述任务的状态为待运行;当接收到客户端发送的运行中状态消息,根据接收到的所述运行中状态消息更新所述执行记录中所述任务的状态为运行中;接收客户端发送的所述任务的执行结果,通过根据接收到的所述执行结果更新所述任务的执行记录中所述任务的状态为执行结束,完成所述任务在分布式任务调度系统的执行。根据本申请的一个方面,提供一种分布式任务调度系统中任务处理方法,其包括:消息服务器接收到服务端发送的任务的触发消息时,将所述触发消息发送至客户端,以使得所述客户端通过存储所述任务的运行中状态消息至延时队列及将所述任务的标识存入任务缓存,开始执行所述任务;当接收到所述客户端发送的延时的运行中状态消息时,将所述延时的运行中状态消息发送至服务端,以使得所述服务端根据接收到的所述运行中状态消息更新所述任务的执行记录,所述延时的运行中状态消息为所述客户端从所述延时队列获取且在确定所述任务的标识存在于所述任务缓存中后发送的;接收所述客户端发送的所述任务的执行结果,将所述任务执行结果发送给服务端,以使得所述服务端根据接收到的所述执行结果更新所述任务的执行记录中所述任务的状态为执行结束,完成所述任务在分布式任务调度系统的执行。在本申请的一种示例性实施例中,所述消息服务器包括zookeeper消息服务器和/或MQ消息服务器。根据本申请的一个方面,提供一种分布式任务调度系统中任务处理装置,其包括:启动模块,用于当客户端接收到服务端发送的任务的触发消息,通过存储所述任务的运行中状态消息至延时队列及将所述任务的标识存入任务缓存,开始执行所述任务,所述任务缓存用于缓存未完成任务的标识;确定模块,用于从所述延时队列获取延时的运行中状态消息,并确定所述任务的标识是否存在于所述任务缓存中;第一发送模块,用于如果所述任务的标识存在于所述任务缓存中,则将所述延时的运行中状态消息发送给服务端,以使得所述服务端根据接收到的所述运行中状态消息更新所述任务的执行记录;结束模块,用于当所述任务执行结束后,将所述任务的标识从所述任务缓存中删除,并将所述任务的执行结果反馈至所述服务端,以使得所述服务端再次更新所述任务的执行记录,完成所述任务在分布式任务调度系统的执行。根据本申请的一个方面,提供一种分布式任务调度系统中任务处理装置,其包括:触发模块,用于服务端在任务到点触发时,将所述任务的执行记录保存到数据库,所述执行记录中所述任务的状态为待通知;构造模块,用于构造所述任务的触发消息发送到客户端,并更新所述执行记录中所述任务的状态为待运行;第一更新模块,用于当接收到客户端发送的运行中状态消息,根据接收到的所述运行中状态消息更新所述执行记录中所述任务的状态为运行中;第二更新模块,用于接收客户端发送的所述任务的执行结果,通过根据接收到的所述执行结果更新所述任务的执行记录中所述任务的状态为执行结束,完成所述任务在分布式任务调度系统的执行。根据本申请的一个方面,提供一种分布式任务调度系统中任务处理装置,其包括:第二发送模块,用于消息服务器接收到服务端发送的任务的触发消息时,将所述触发消息发送至客户端,以使得所述客户端通过存储所述任务的运行中状态消息至延时队列及将所述任务的标识存入任务缓存,开始执行所述任务;第三发送模块,用于当接收到所述客户端发送的延时的运行中状态消息时,将所述延时的运行中状态消息发送至服务端,以使得所述服务端根据接收到的所述运行中状态消息更新所述任务的执行记录,所述延时的运行中状态消息为所述客户端从所述延时队列获取且在确定所述任务的标识存在于所述任务缓存中后发送的;第四发送模块,用于接收所述客户端发送的所述任务的执行结果,将所述任务执行结果发送给服务端,以使得所述服务端根据接收到的所述执行结果更新所述任务的执行记录中所述任务的状本文档来自技高网...

【技术保护点】
1.一种分布式任务调度系统中任务处理方法,其特征在于,包括:/n当客户端接收到服务端发送的任务的触发消息,通过存储所述任务的运行中状态消息至延时队列及将所述任务的标识存入任务缓存,开始执行所述任务,所述任务缓存用于缓存未完成任务的标识;/n从所述延时队列获取延时的运行中状态消息,并确定所述任务的标识是否存在于所述任务缓存中;/n如果所述任务的标识存在于所述任务缓存中,则将所述延时的运行中状态消息发送给服务端,以使得所述服务端根据接收到的所述运行中状态消息更新所述任务的执行记录;/n当所述任务执行结束后,将所述任务的标识从所述任务缓存中删除,并将所述任务的执行结果反馈至所述服务端,以使得所述服务端再次更新所述任务的执行记录,完成所述任务在分布式任务调度系统的执行。/n

【技术特征摘要】
1.一种分布式任务调度系统中任务处理方法,其特征在于,包括:
当客户端接收到服务端发送的任务的触发消息,通过存储所述任务的运行中状态消息至延时队列及将所述任务的标识存入任务缓存,开始执行所述任务,所述任务缓存用于缓存未完成任务的标识;
从所述延时队列获取延时的运行中状态消息,并确定所述任务的标识是否存在于所述任务缓存中;
如果所述任务的标识存在于所述任务缓存中,则将所述延时的运行中状态消息发送给服务端,以使得所述服务端根据接收到的所述运行中状态消息更新所述任务的执行记录;
当所述任务执行结束后,将所述任务的标识从所述任务缓存中删除,并将所述任务的执行结果反馈至所述服务端,以使得所述服务端再次更新所述任务的执行记录,完成所述任务在分布式任务调度系统的执行。


2.根据权利要求1所述的方法,其特征在于,所述当客户端接收到服务端发送的任务的触发消息,通过存储所述任务的运行中状态消息至延时队列及将所述任务的标识存入任务缓存,开始执行所述任务,包括:
当客户端接收到服务端发送的任务的触发消息,获取所述触发消息中任务的预测运行时长,所述预测预测运行时长通过将所述任务的执行相关参数输入预设时长预测模型得到;
当所述预测运行时长小于预定阈值时,通过存储所述任务的运行中状态消息至所述延时队列并将所述任务的标识存入所述任务缓存,开始执行所述任务。


3.根据权利要求1所述的方法,其特征在于,所述从所述延时队列获取延时的运行中状态消息,包括:
基于守护线程从所述延时队列获取延时的运行中状态消息。


4.根据权利要求1所述的方法,其特征在于,在所述从所述延时队列获取延时的运行中状态消息,并确定所述任务的标识是否存在于所述任务缓存中之后,还包括:
如果所述任务的标识不存在于所述任务缓存中,则不发送所述延时的运行中状态消息给服务端。


5.一种分布式任务调度系统中任务处理方法,其特征在于,包括:
服务端在任务到点触发时,将所述任务的执行记录保存到数据库,所述执行记录中所述任务的状态为待通知;
构造所述任务的触发消息发送到客户端,并更新所述执行记录中所述任务的状态为待运行;
当接收到客户端发送的运行中状态消息,根据接收到的所述运行中状态消息更新所述执行记录中所述任务的状态为运行中;
接收客户端发送的所述任务的执行结果,通过根据接收到的所述执行结果更新所述任...

【专利技术属性】
技术研发人员:赖咸立
申请(专利权)人:平安普惠企业管理有限公司
类型:发明
国别省市:广东;44

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

1