跨平台空间的定时任务调度管理系统的制作方法

文档序号:31126260发布日期:2022-08-13 03:33阅读:89来源:国知局
跨平台空间的定时任务调度管理系统的制作方法
跨平台空间的定时任务调度管理系统
[技术领域]
[0001]
本发明涉及跨平台空间的定时任务调度管理系统。
[

背景技术:
]
[0002]
定时任务调度在软件技术工程中使用非常广泛,很多应用场景中被使用,例如数据同步、数据汇总、定时执行逻辑过程等。定时任务调度主要由以下模块构成。
[0003]
1、任务名称,用于任务标识;
[0004]
2、任务执行单元,具体实现逻辑运行的模块,可以接收任务调度器传入的固定参数;
[0005]
3、任务频次模块,按照应用场景预设的执行时间和频率,决定什么时候开始触发执行和多久执行一次;
[0006]
4、日志功能模块,监控任务启动、执行、结束的情况以及记录概况;
[0007]
5、通知模块,当执行失败时会触发通知功能,给相关的人员推送异常情况,及时排查问题。
[0008]
针对大多数场景,任务调度管理模块和执行单元模块需要处于同一个局域网内,且要求使用相同的开发语言平台,所以常规的任务调度管理功能基本能满足这类场景的定时任务的需要。但是当任务调度管理模块和执行单元不在同一个局域网内,或者调度管理模块与执行单元的开发语言平台不一样时,或者执行单元的执行依赖外传的动态参数时,现有的定时任务调度系统就无法满足使用场景需要。
[

技术实现要素:
]
[0009]
本发明克服了上述技术的不足,提供了可跨平台、跨空间、动态传递执行单元参数等场景下使用的定时任务调度管理系统。
[0010]
为实现上述目的,本发明采用了下列技术方案:
[0011]
跨平台空间的定时任务调度管理系统,其特征在于:包括有任务调度管理服务器以及至少一个与任务调度管理服务器数据交互的任务执行器,任务调度管理服务器包括有用于接收不同用户任务配置信息的任务配置模块、根据接收的任务配置信息定时生成任务清单的任务清单生成模块、用于装载任务清单的任务清单列表容器模块、用于对外数据交互的任务调度管理服务器交互模块,任务执行器包括有与任务调度管理服务器交互模块进行数据交互的任务执行器交互模块、预设获取条件并从任务清单列表容器模块中获取符合获取条件的任务清单的任务轮询器模块、根据任务轮询器模块获取的任务清单执行任务并在完成后向任务清单列表容器模块反馈任务完成信息的执行单元模块。
[0012]
如上所述的跨平台空间的定时任务调度管理系统,其特征在于:任务调度管理服务器中还设有用于定时监控任务清单列表容器模块内的任务清单并在其中一个任务清单到点且未被执行时向管理员反馈信息的任务监控管理模块。
[0013]
如上所述的跨平台空间的定时任务调度管理系统,其特征在于:任务调度管理服
务器中还设有用于记录任务清单生成模块生成任务清单的日志信息以及记录各任务执行器反馈任务完成的日志信息的日志模块。
[0014]
如上所述的跨平台空间的定时任务调度管理系统,其特征在于:任务配置模块接收的任务配置信息包括有任务标识、任务执行频次以及参数生成表达式。
[0015]
如上所述的跨平台空间的定时任务调度管理系统,其特征在于:任务清单中包括的数据有任务标识数据、任务参数数据、任务状态数据、执行时间点数据以及用于记录被执行时间的任务实例标识。
[0016]
如上所述的跨平台空间的定时任务调度管理系统,其特征在于:任务轮询器模块的预设获取条件为任务标识数据。
[0017]
如上所述的跨平台空间的定时任务调度管理系统,其特征在于:任务执行器为电脑终端或手机终端。
[0018]
本发明的有益效果是:
[0019]
1、本发明中的任务调度管理服务器与任务执行器彻底分离,通过网络交互非内网即可实现类似管理者安排任务,执行者定期领取任务并且执行的定时任务调度场景。
[0020]
2、本发明可实现跨平台使用,由于任务调度管理服务器与任务执行器彻底分离,两者之间没有任务依赖,所以实现的语言不再局限于同一个平台,并且可维护性强。例如:任务调度管理服务器是用通过java语言实现的web服务,任务执行器可以是桌面电脑终端,也可以是手机终端。
[附图说明]
[0021]
图1为本发明的结构示意图;
[0022]
图2为任务清单生成模块的处理流程图。
[具体实施方式]
[0023]
下面将结合附图,对本发明实施例中的技术方案进行清楚、完整地描述。
[0024]
需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后

)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。另外,在本发明中涉及“优选”、“次优选”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“优选”、“次优选”的特征可以明示或者隐含地包括至少一个该特征。
[0025]
如图1所示,跨平台空间的定时任务调度管理系统,其特征在于:包括有任务调度管理服务器1以及至少一个与任务调度管理服务器1数据交互的任务执行器2,同时任务调度管理服务器1可同时与多个任务调度管理服务器1进行数据交互通信连接,且任务执行器2为电脑终端或手机终端。
[0026]
如图1所示,任务调度管理服务器1包括有用于接收不同用户任务配置信息的任务配置模块11、根据输入的任务配置信息定时生成任务清单的任务清单生成模块12、用于装载包括执行的和未被执行的任务清单的任务清单列表容器模块13、用于对外数据交互的任务调度管理服务器交互模块14。其中任务配置模块11接收的任务配置信息包括有作为任务
名称的任务标识;用于在某个时间基础上预生成未来n个任务,且每个任务之间的间隔为m时长的任务执行频次;根据任务执行时间及任务标识,生成任务所需参数的参数生成表达。
[0027]
任务清单生成模块12本质上是一个内置的定时任务,每隔一段相对小的时间就执行一次任务,而执行的任务就是获取用户输入的有效任务配置列表,并逐个进行处理,如图2所示流程如下:
[0028]
a1、任务清单生成模块12根据任务标识获取任务清单列表容器模块13中的未被执行的任务列表;
[0029]
a2、任务清单生成模块12判断是否还有存在未被执行的任务列表,如果不存在,则在当前时间下根据任务配置信息中对应的频次信息生成待执行任务清单存放到任务清单列表容器模块13的任务队列中,如果存在,则在存在任务列表的最后需要执行时间的基础上,结合任务配置信息中的频次信息,生成补充的任务清单,然后存放到任务清单列表容器模块13中。
[0030]
其中,任务清单生成模块12生成的任务清单中包括的数据有任务标识数据、任务参数数据、任务状态数据、执行时间点数据以及用于记录被执行时间的任务实例标识。
[0031]
如设定任务配置模块11接收到的任务配置信息有任务标识,未来十小时内每小时生成一个执行任务的任务执行频次,任务执行时候需要依据传入日期的参数生成表达。当任务清单列表容器模块13中不存在任务标识相同且未被执行的任务列表时,任务清单生成模块12生成十个待执行任务清单,并存放到任务清单列表容器模块13内;当任务清单列表容器模块13中存在任务标识相同且未被执行的任务列表时,在任务列表的最后需要执行时间的基础上,结合频次信息,生成补充的任务清单,并存放到任务清单列表容器模块13内。
[0032]
如图1所示,任务执行器2包括有与任务调度管理服务器交互模块14进行数据交互的任务执行器交互模块21、预设获取条件并从任务清单列表容器模块13中获取符合获取条件的任务清单的任务轮询器模块22、根据任务轮询器模块22获取的任务清单执行任务并在完成后向任务清单列表容器模块13反馈任务完成信息的执行单元模块23。
[0033]
任务执行器2为用于远程部署到任意空间的执行器,只要实现满足与任务调度管理服务器1的数据交互协议,任务执行器2可以是在任何平台上实现的功能模块,其定时运行步骤如下:
[0034]
b1、任务轮询器模块22通过任务执行器交互模块21定时从任务清单列表容器模块13中获取符合获取条件且需要执行的任务清单。其中任务轮询器模块22的预设获取条件为任务标识数据,即任务轮询器模块22定时从任务清单列表容器模块13获取具有对应任务标识数据且需要执行的任务清单;
[0035]
b2、执行单元模块23判断是否需要执行任务轮询器模块22获取的任务清单,其判断逻辑为此任务清单是否执行时间,如果未到执行时间则忽略;
[0036]
b3、如果有需要执行该任务清单,执行单元模块23会结合任务清单上的参数,执行对应的逻辑业务;
[0037]
b4、任务清单执行完成后,通过任务执行器交互模块21将任务清单列表容器模块13对应的任务清单状态变更为完成状态。
[0038]
如图1所示,任务调度管理服务器1中还设有任务监控管理模块15,任务监控管理模块15本质上也是一个内置的定时任务,每个一段相对小的时间就会执行一次任务,其任
务是获取任务清单列表容器模块13中异常的任务数据,如已经到点需要执行而又未被开始执行的任务清单数据,当发现次异常的任务数据时则会发送通知或者处罚异常处理的逻辑,向管理员反馈信息的。
[0039]
任务调度管理服务器1中还设有用于记录任务清单生成模块12生成任务清单的日志信息以及记录各任务执行器2反馈任务完成的日志信息的日志模块16,以便于追踪每一个任务清单的执行情况。
[0040]
案例示范,场景为从a系统同步每日的库存数据到b系统。
[0041]
任务配置:库存同步,每日执行一次,每次执行时获取前天的库存信息,预安排5天。
[0042]
任务调度管理服务器1中的任务配置模块11接收到这个任务配置信息之后,任务清单生成模块12根据当前的时间会预先生成5个任务清单,从5号到10号分别每天执行一次,并且每个任务清单上对应的参数都已经由任务清单生成模块12预先计算好,例如5号的任务记录的参数是3号的日期。依次类推。任务清单生成后,就会保存到任务清单列表容器模块13当中,等待任务执行器2领取。
[0043]
负责库存同步的任务执行器2定期会轮询任务调度管理服务器1,任务轮询器模块22轮询是否有对应任务标识数据且需要当前处理的任务清单,如果有则获取该任务清单,根据任务清单上的日期,去执行具体的库存数据获取逻辑,然后将数据从a系统提交到b系统具体的目的位置,同时记录日志信息,提交到任务管理器保存,当数据同步完成时,将执行的结果提交到任务调度管理服务器1中。任务调度管理服务器1会关闭此任务,并且将提交过来的执行结果保存到相应的任务清单中。以完成一天的库存同步任务。
[0044]
当在同一天内的第二次轮询,如果没有发现需要今天执行的任务,就会跳过忽略,一直轮询到第二天,以此类推。
[0045]
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接或间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1