本发明涉及通信领域,尤其涉及一种任务执行方法、装置、电子设备及计算机可读存储介质。
背景技术:
1、现有的系统在进行开发时,不同系统之间通过接口的同步调用实现通信,而这种通过接口实现同步调用的方式存在链路长的问题,使得开发过程耗时较长。
技术实现思路
1、本发明的主要目的在于提出一种任务执行方法、装置、电子设备及计算机可读存储介质,旨在解决现有技术中接口调用耗时过长的问题。
2、为实现上述目的,本发明提供一种任务执行方法,所述方法包括步骤:
3、创建任务列表,并在接收到生产系统发送的目标任务时,将所述目标任务插入到所述任务列表中;
4、调用与所述目标任务对应的消费系统,并创建与所述消费系统对应的临时节点;
5、创建与所述目标任务对应的线程任务池,并从所述任务列表中拉取所述目标任务添加到所述线程任务池中;
6、将所述目标任务发送至所述临时节点对应的消费系统,以使所述消费系统执行所述目标任务。
7、可选地,所述将所述目标任务发送至所述临时节点对应的消费系统包括:
8、确定所述临时节点的节点数量,并判断所述临时节点的节点数量是否为多个;
9、若所述临时节点的节点数量为多个,则对所述目标任务进行分片操作,得到多个任务分片,其中,所述任务分片的数量与所述节点数量相同;
10、确定各所述任务分片对应的临时节点,并将所述任务分片分别发送至所述临时节点对应的所述消费系统。
11、可选地,所述将所述任务分片分别发送至对应的所述消费系统之后包括:
12、对所述临时节点的节点数量进行监测,并判断所述临时节点的节点数量是否发生变化;
13、若所述临时节点的节点数量发生变化,则确定所述临时节点的最新节点数量,并重新对所述目标任务进行分片操作得到多个最新任务分片,其中,所述最新任务分片的数量与所述最新节点数量相同;
14、确定各所述最新任务分片对应的临时节点,并将所述最新任务分片分别发送至所述临时节点对应的所述消费系统。
15、可选地,所述将所述目标任务发送至所述临时节点对应的消费系统之后包括:
16、获取所述消费系统对所述目标任务的执行结果;
17、判断所述执行结果为执行成功或执行失败;
18、若所述执行结果为执行失败,则从所述任务列表中拉取所述目标任务添加到所述线程任务池中。
19、可选地,所述若所述执行结果为执行失败,则从所述任务列表中拉取所述目标任务添加到所述线程任务池中包括:
20、若所述执行结果为执行失败,则确定所述执行结果为执行失败的失败次数;
21、确定所述失败次数对应的等待时长,其中,所述等待时长的长度与所述失败次数正相关;
22、在上次添加时长达到所述等待时长时,从所述任务列表中拉取所述目标任务添加到所述线程任务池中,其中,所述上次添加时长为上次从所述任务列表中拉取所述目标任务添加到所述线程任务池中与当前系统时刻之间的间隔时长。
23、可选地,所述方法还包括:
24、对所述消费系统的启动状态进行监测,并判断所述消费系统的启动状态是否发生切换;
25、若所述消费系统的启动状态从启动切换为下线,则将所述消费系统对应的临时节点删除;
26、若所述消费系统的启动状态从下线切换为启动,则创建与所述消费系统对应的临时节点。
27、可选地,所述方法还包括:
28、对所述消费系统的运行状态进行监测,并判断所述消费系统是否出现故障;
29、若所述消费系统出现故障,则将所述消费系统的启动状态从启动切换为下线,并将所述消费系统对应的临时节点删除。
30、为实现上述目的,本发明还提供一种任务执行装置,所述任务执行装置包括:
31、第一创建模块,用于创建任务列表,并在接收到生产系统发送的目标任务时,将所述目标任务插入到所述任务列表中;
32、第一调用模块,用于调用与所述目标任务对应的消费系统,并创建与所述消费系统对应的临时节点;
33、第二创建模块,用于创建与所述目标任务对应的线程任务池,并从所述任务列表中拉取所述目标任务添加到所述线程任务池中;
34、第一发送模块,用于将所述目标任务发送至所述临时节点对应的消费系统,以使所述消费系统执行所述目标任务。
35、可选地,所述第一发送模块包括:
36、第一确定单元,用于确定所述临时节点的节点数量,并判断所述临时节点的节点数量是否为多个;
37、第一分片单元,用于若所述临时节点的节点数量为多个,则对所述目标任务进行分片操作,得到多个任务分片,其中,所述任务分片的数量与所述节点数量相同;
38、第二确定单元,用于确定各所述任务分片对应的临时节点,并将所述任务分片分别发送至所述临时节点对应的所述消费系统。
39、可选地,所述第一发送模块还包括:
40、第一监测单元,用于对所述临时节点的节点数量进行监测,并判断所述临时节点的节点数量是否发生变化;
41、第三确定单元,用于若所述临时节点的节点数量发生变化,则确定所述临时节点的最新节点数量,并重新对所述目标任务进行分片操作得到多个最新任务分片,其中,所述最新任务分片的数量与所述最新节点数量相同;
42、第四确定单元,用于确定各所述最新任务分片对应的临时节点,并将所述最新任务分片分别发送至所述临时节点对应的所述消费系统。
43、可选地,所述装置还包括:
44、第一获取模块,用于获取所述消费系统对所述目标任务的执行结果;
45、第一判断模块,用于判断所述执行结果为执行成功或执行失败;
46、第一拉取模块,用于若所述执行结果为执行失败,则从所述任务列表中拉取所述目标任务添加到所述线程任务池中。
47、可选地,所述第一拉取模块包括:
48、第四确定单元,用于若所述执行结果为执行失败,则确定所述执行结果为执行失败的失败次数;
49、第五确定单元,用于确定所述失败次数对应的等待时长,其中,所述等待时长的长度与所述失败次数正相关;
50、第一拉取单元,用于在上次添加时长达到所述等待时长时,从所述任务列表中拉取所述目标任务添加到所述线程任务池中,其中,所述上次添加时长为上次从所述任务列表中拉取所述目标任务添加到所述线程任务池中与当前系统时刻之间的间隔时长。
51、可选地,所述装置还包括:
52、第二判断模块,用于对所述消费系统的启动状态进行监测,并判断所述消费系统的启动状态是否发生切换;
53、第一删除模块,用于若所述消费系统的启动状态从启动切换为下线,则将所述消费系统对应的临时节点删除;
54、第三创建模块,用于若所述消费系统的启动状态从下线切换为启动,则创建与所述消费系统对应的临时节点。
55、可选地,所述装置还包括:
56、第一监测模块,用于对所述消费系统的运行状态进行监测,并判断所述消费系统是否出现故障;
57、第二删除模块,用于若所述消费系统出现故障,则将所述消费系统的启动状态从启动切换为下线,并将所述消费系统对应的临时节点删除。
58、为实现上述目的,本发明还提供一种电子设备,所述电子设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的任务执行方法的步骤。
59、为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的任务执行方法的步骤。
60、本发明提出的一种任务执行方法、装置、电子设备及计算机可读存储介质,创建任务列表,并在接收到生产系统发送的目标任务时,将所述目标任务插入到所述任务列表中;调用与所述目标任务对应的消费系统,并创建与所述消费系统对应的临时节点;创建与所述目标任务对应的线程任务池,并从所述任务列表中拉取所述目标任务添加到所述线程任务池中;将所述目标任务发送至所述临时节点对应的消费系统,以使所述消费系统执行所述目标任务。通过构建分布式任务执行框架,实现生产系统与消费系统之间的接口的同步调用以及任务执行的异步化,从而降低了调用时长,提高开发效率。
1.一种任务执行方法,其特征在于,所述任务执行方法包括:
2.如权利要求1所述的任务执行方法,其特征在于,所述将所述目标任务发送至所述临时节点对应的消费系统包括:
3.如权利要求2所述的任务执行方法,其特征在于,所述将所述任务分片分别发送至对应的所述消费系统之后包括:
4.如权利要求1所述的任务执行方法,其特征在于,所述将所述目标任务发送至所述临时节点对应的消费系统之后包括:
5.如权利要求4所述的任务执行方法,其特征在于,所述若所述执行结果为执行失败,则从所述任务列表中拉取所述目标任务添加到所述线程任务池中包括:
6.如权利要求1所述的任务执行方法,其特征在于,所述方法还包括:
7.如权利要求1所述的任务执行方法,其特征在于,所述方法还包括:
8.一种任务执行方法,其特征在于,所述任务执行方法包括:
9.一种电子设备,其特征在于,所述电子设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的任务执行方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的任务执行方法的步骤。
