一种基于分布式架构的任务调度实时追踪方法及系统技术方案

技术编号:29497400 阅读:32 留言:0更新日期:2021-07-30 19:10
本发明专利技术公开了一种基于分布式架构的任务调度实时追踪方法,其特征在于,包括步骤1:建立用于记录调度进程的数据库表,步骤2:建立用于监控调度进程的远程监控接口并配置在调度管理器中,步骤3:调度任务启动后,监控执行器对调度任务的接收情况,步骤4:根据任务下发的成功与否,上报调度日志数据表和调度详情表中的任务下发数据;步骤5:监控执行器对任务的执行,调用远程监控接口,完成调度状态及调度运行详情的数据上报;步骤6:根据执行结果的不同做不同的处理。达到突破原有依赖文本日志对调度进程的难追踪问题,能以低成本的方式应对集群环境中对各调度任务的全流程跟踪和实时监测,防止补偿不及时导致的服务延迟的效果。

【技术实现步骤摘要】
一种基于分布式架构的任务调度实时追踪方法及系统
本专利技术属于分布式系统设计领域的任务调度领域,具体涉及一种基于分布式架构的任务调度实时追踪方法及系统。
技术介绍
任务调度是指系统为了自动完成特定任务,在约定的特定时刻去执行任务的过程。有了任务调度即可解放更多的人力由系统自动去执行任务。软件系统早期一般基于Quartz实现定时任务调度,所述Quartz,是OpenSymphony开源组织在Jobscheduling领域的一个开源项目,它可以与J2EE与J2SE应用程序相结合,也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的定时任务程序,然而由于其存在单点故障、任务量有限等问题逐渐被分布式调度所取代。在软件架构逐步转变为分布式架构的进程中,单体结构被划分为若干服务,服务之间通过网络交互来完成用户的业务处理,比如电商系统为分布式架构,它由订单服务、商品服务、用户服务等组成,这种分布式系统环境下运行任务调度,我们称之为分布式任务调度。分布式调度由分布式调度系统执行,分布式调度系统主要由管理系统、本文档来自技高网...

【技术保护点】
1.一种基于分布式架构的任务调度实时追踪方法,其特征在于,在分布式调度系统中对任务调度进行全流程的实时追踪,具体步骤包括:/n步骤1:建立用于记录调度进程的数据库表,所述数据库表包括调度日志表和调度详情表;所述数据库表根据调度状态的变化更新;所述调度日志表记录每个调度任务所处的调度状态,以调度日志ID定位每一个调度任务,所述调度任务以任务名命名,所述调度状态包含任务下发、任务执行中、任务成功、任务失败,记录每个调度状态相应的操作时间;所述调度日志ID在一个新任务被调度发起时自动生成,用于标识每个任务的调度过程;所述调度详情表通过调度日志ID与调度日志表关联,记录一个调度任务在不同调度状态中的运...

【技术特征摘要】
1.一种基于分布式架构的任务调度实时追踪方法,其特征在于,在分布式调度系统中对任务调度进行全流程的实时追踪,具体步骤包括:
步骤1:建立用于记录调度进程的数据库表,所述数据库表包括调度日志表和调度详情表;所述数据库表根据调度状态的变化更新;所述调度日志表记录每个调度任务所处的调度状态,以调度日志ID定位每一个调度任务,所述调度任务以任务名命名,所述调度状态包含任务下发、任务执行中、任务成功、任务失败,记录每个调度状态相应的操作时间;所述调度日志ID在一个新任务被调度发起时自动生成,用于标识每个任务的调度过程;所述调度详情表通过调度日志ID与调度日志表关联,记录一个调度任务在不同调度状态中的运行详情,记录每一次调度状态更新所匹配的运行详情的;所述运行详情包含详情ID、任务运行方、、任务类型、任务运行时间、任务运行结果、任务异常原因;所述详情ID在新增运行详情的记录时自动生成;所述任务类型包含调度和执行,任务类型根据任务运行方自动生成;所述任务运行方包含调度器和由不止一个执行器组成的执行器集群;
步骤2:建立用于监控调度进程的远程监控接口并配置在调度管理器中,所述远程监控接口之间是并行关系,所述远程监控接口包括任务下发成功监控接口、任务下发失败监控接口、任务执行监控接口、执行成功监控接口及执行失败监控接口;任一远程监控接口的调用,传入调度参数,触发调度日志表和调度详情表中数据记录的变更;当监控到调度任务进入指定调度运行进程时,由当前任务运行方调用相应的远程监控接口;所述调度运行进程包括:任务下发成功、任务下发失败、任务执行开始、任务执行成功、任务执行失败;
步骤3:调度任务启动后,待监控到调度器下发任务至执行器集群中任一执行器,获取调度任务的任务名和任务下发时间,所述任务下发时间为任务下发的当前时间点,精确至秒;由调度器自动生成该调度任务的调度日志ID,监控执行器对调度任务的接收情况,若监控到执行器集群中任一执行器接收到任务时,视为任务下发成功;若监控到执行器集群中任一执行器未接收到任务时,视为任务下发异常;
步骤4:根据任务下发的成功与否,调用相应调度运行进程的远程监控接口,上报调度日志数据表和调度详情表中的任务下发数据,具体为:
步骤401:若任务下发成功,调用任务下发成功监控接口,触发在调度日志数据表中新增数据记录,数据记录中的调度状态记为任务下发,数据记录中的调度状态时间为任务下发时间;同时触发在调度详情表中插入数据记录,数据记录中的任务运行方记为调度器IP地址、任务运行时间记为任务下发时间、任务异常原因记为空值;继续执行步骤6;
步骤402:若任务下发异常,调用任务下发失败监控接口,触发在调度日志数据表中新增数据记录,数据记录中的调度状态记为任务失败,数据记录中的调度状态时间为任务下发时间;同时触发在调度详情表中插入数据记录,数据记录中的任务运行方记为调度器IP地址、任务运行时间记为任务下发时间、任务异常记为引起异常的线程堆栈信息;
步骤5:执行器接收调度任务时,获取由调度器下发的任务名及调度日志ID;监控执行器对任务的执行,在任务开始执行和任务结束执行这两个时间点,通过传入包含调度日志ID、执行器IP、执行开始时间的调度参数,调用远程监控接口,完成调度状态及调度运行详情的数据上报;具体为:
监控到任务开始执行时获取执行器IP和任务执行的当前时间,由当前执行任务的执行器调用远程的任务开始执行监控接口,通过调度日志ID,匹配调度日志表中调度日志ID所对应的数据记录,触发该数据记录中的任务状态值变更为执行中,更新数据记录中的执行开始时间;进一步地,任务状态值的变更,触发调度详情表中数据记录新增,数据记录中的任务运行方记为调度器IP地址、任务类型为执行,任务运行时间记为任务开始时间,任务异常原因记为空值;监控到任务执行结束时,获取任务执行结果,执行步骤6;
步骤6:根据执行结果的不同做不同的处理,具体为:
若任务执行结果为成功,传入调度参数,所述调度参数包含任务名、调度日志ID、执行结果、执行器IP地址和任务结束时间,调用远程的执行成功监控接口,通过调度日志ID在调度日志表中定位该任务所在的数据记录,触发该数据记录中的任务状态值变更为任务成功,数据记录中的执行结束时间记为任务结束时间;任务状态值的变更同时触发调度详情表中新增一条数据记录,数据记录中任务运行方记为执行器IP地址、任务运行时间记为任务结束时间、任务类型为执行,任务异常记为空值;
若任务执行结果为失败,传入调度参数,所述调度参数包含任务名、调度日志ID、执行结果、执行器...

【专利技术属性】
技术研发人员:王亚军
申请(专利权)人:焦点科技股份有限公司
类型:发明
国别省市:江苏;32

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

1