一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种批处理任务调度方法、装置及电子设备与流程

2022-06-02 12:27:43 来源:中国专利 TAG:


1.本发明涉及数据处理技术领域,尤其涉及一种批处理任务调度方法、装置及电子设备。


背景技术:

2.在现代企业应用中,面对复杂的业务以及海量的数据,经常需要使用批处理方式来处理那些对实时性要求不高、数据处理较为复杂的情况。批处理不需要人工干预,只需要定期读入大批量数据,然后完成相应业务处理并进行归档,是现代不可或缺的一种数据处理方式。但是在批处理任务非常多的情况下,如何进行批处理调度,是一个不容忽视的问题。
3.现有技术中的阿里开源任务调度框架tbschedule,当当网开源分布式任务调度框架elastic-job等。现有的任务调度框架非轻量级,甚至依赖其他开源组件(如zookeeper等),部署集成较为麻烦。目前分布式任务调度框架并没有大的基金会(如apache、cncf等)在维护,当出现漏洞的时候可能无法及时更新升级,甚至有些框架已经不再维护。当配置了任务的依赖关系后,必须等前置任务完成,才能继续后继任务,不支持当前置任务达到某一阶段后就可以触发后继任务的执行。
4.因此,现有技术还有待于改进和发展。


技术实现要素:

5.鉴于上述现有技术的不足,本发明的目的在于提供一种批处理任务调度方法、装置及电子设备,旨在解决现有技术中批任务调度方法部署麻烦,被调度的任务存在依赖关系,批处理效率低的技术问题。
6.本发明的技术方案如下:
7.一种批处理任务调度方法,所述方法包括:
8.预先对批处理任务进行配置;
9.检测到满足批处理任务的启动条件,启动批处理任务;
10.每隔一预定时间获取批处理任务的状态,判断批处理任务是否完成;
11.若批处理任务未完成,则继续执行批处理任务;
12.若批处理任务已完成,则判定批处理任务调度结束。
13.进一步地,所述预先对批处理任务进行配置,包括:
14.通过执行sql语句,在任务配置表中初始化任务,完成对批处理任务的配置。
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.图1为本发明一种批处理任务调度方法较佳实施例的流程图;
46.图2为本发明一种批处理任务调度装置的较佳实施例的结构示意图;
47.图3为本发明一种电子设备的较佳实施例的结构示意图。
具体实施方式
48.为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。以下结合附图对本发明实施例进行介绍。
49.本发明实施例提供了一种批处理任务调度方法。请参阅图1,图1为本发明一种批处理任务调度方法较佳实施例的流程图。如图1所示,其包括步骤:
50.步骤s100、预先对批处理任务进行配置;
51.步骤s200、检测到满足批处理任务的启动条件,启动批处理任务;
52.步骤s300、每隔一预定时间获取批处理任务的状态,判断批处理任务是否完成;
53.步骤s400、继续执行批处理任务;
54.步骤s500、继续执行批处理任务。
55.具体实施时,在清洁算系统中,由于每个批处理程序只完成某些基本的简单功能,如果要完成清结算系统要求的特定任务,就必须把多个批处理程序有机地结合起来,让它们像工作流那样工作。为了达到这个目的,必须解决以下技术问题:支持任务配置;处理一定的条件判断、分支调用和依赖关系等;纠错、恢复执行;分布式部署。
56.批处理任务又称批次处理任务,是指在计算机上无须人工干预而执行系列程序的作业。批处理任务无须人工交互,所有的输入数据预先设置于程序或命令行参数中。这是不同于需要用户输入数据的交互程序的概念。允许多用户共享计算机资源;可以把作业处理转移到计算机资源不太繁忙的时段;避免计算资源闲置,而且无须时刻有人工监视和干预;在昂贵的高端计算机上,使昂贵的资源保持高使用率,以减低平均开销。
57.本发明能够清结算系统中应用,完成商户账户的批处理清结算任务,可实现对任务进行配置,实现对大量的批处理任务进行有效的管理,满足大量批处理任务的执行需求。
58.进一步地,预先对批处理任务进行配置,包括:
59.通过执行sql语句,在任务配置表中初始化任务,完成对批处理任务的配置。
60.具体实施时,通过执行sql(structured query language,结构化查询语言)语句的方法,在任务配置表中初始化任务,。结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;sql语句就是对数据库进行操作的一种语言。
61.进一步地,在任务配置表中初始化任务,包括:
62.在任务配置表中设置开始任务和结束任务;
63.获取任务配置表中的每个任务,并对每个任务设置前置任务和后置任务。
64.具体实施时,在任务配置表中初始化任务,其中必需包含开始任务(“start”)和结束任务(“end”),每个任务包含前置任务、后置任务,由此来定义任务间的依赖关系。
65.进一步地,预先对批处理任务进行配置,还包括:
66.预先设置固定时间创建开始任务,并置任务状态为运行中。
67.具体实施时,预先设置在固定时间创建开始任务,可根据需要选择空闲的时间开始批处理任务。例如,可以在每天的22:00创建开始任务,并置任务状态为运行中。
68.进一步地,每隔一预定时间获取批处理任务的状态,判断批处理任务是否完成,包括:
69.每隔一预定时间获取当天已创建的批处理任务列表,循环处理执行中的任务;
70.判断当前任务是否为结束任务;
71.若当前任务是结束任务,则判定批处理任务完成;
72.若当前任务不是结束任务,则判定批处理任务未完成。
73.具体实施时,每隔一预定时间,例如每隔一分钟推进一次任务。即首先获取当天已创建的任务列表,循环处理执行中的任务,若任务名称为“end”则表示整个批处理任务已完成。若任务名称不为“end”,则当前批处理任务还存在未完成的任务。
74.进一步地,若当前任务不是结束任务,则判定批处理任务未完成后,包括:
75.判断当前执行的任务是否完成;
76.若当前执行的任务未完成,则继续运行当前执行的任务;
77.获取当前执行的任务的运行状态;
78.若运行失败,则发出告警;
79.若运行成功,则置任务状态为已完成,获取当前执行任务的后续任务,启动后继任务。
80.具体实施时,判断执行中的任务是否已完成,若执行中的任务未完成,则让其继续运行,若执行中的任务运行失败,则发出告警,若执行中的任务运行成功,则置任务状态为已完成,并获取其后继任务,并启动后续任务。
81.进一步地,判断当前执行的任务是否完成,还包括:
82.若当前执行的任务已完成,则置任务状态为已完成,获取当前执行任务的后续任务,启动后继任务。
83.具体实施时,若当前执行的任务已完成,则置任务状态为已完成,并获取其接下来要执行的后继任务,并启动后续任务。
84.本发明还提供了一种批处理任务调度方法的具体实施例,批处理任务调度流程如下:
85.执行开始操作;对待处理的数据进行备份后;同时进行入账和清分任务;
86.其中入账任务包括uit入账,uit对账,商户入账。依次进行uit入账,uit对账,商户入账处理;
87.清分任务完成后,进行单边数据导入;
88.将商户入账及导入的单边数据进行结算处理,结算处理完成后进行对账处理;
89.对账完成后,对一般数据进行清理,并进行银行日切换;
90.银行日切换完成后,同时进行会计数据导入、报表数据导入、es数据导入;
91.会计数据导入、报表数据导入、es数据导入完成后,进行大表数据清理操作,清理完成后,结束该任务。
92.需要说明的是,上述各步骤之间并不必然存在一定的先后顺序,本领域普通技术人员,根据本发明实施例的描述可以理解,不同实施例中,上述各步骤可以有不同的执行顺序,亦即,可以并行执行,变可以交换执行等等。
93.本发明另一实施例提供一种批处理任务调度装置,如图2所示,装置1包括:
94.配置模块11,用于预先对批处理任务进行配置;
95.批处理任务启动模块12,用于检测到满足批处理任务的启动条件,启动批处理任
务;
96.定时检测与判断模块13,用于每隔一预定时间获取批处理任务的状态,判断批处理任务是否完成;
97.执行模块14,用于若批处理任务未完成,则继续执行批处理任务;
98.判定模块15,用于若批处理任务已完成,则判定批处理任务调度结束。
99.具体实施方式上见述方法实施例,此处不再赘述。
100.可选地,配置模块11还用于通过执行sql语句,在任务配置表中初始化任务,完成对批处理任务的配置。
101.具体实施方式上见述方法实施例,此处不再赘述。
102.可选地,配置模块11还用于在任务配置表中设置开始任务和结束任务;
103.获取任务配置表中的每个任务,并对每个任务设置前置任务和后置任务。
104.具体实施方式上见述方法实施例,此处不再赘述。
105.可选地,配置模块11还用于预先设置固定时间创建开始任务,并置任务状态为运行中。
106.具体实施方式上见述方法实施例,此处不再赘述。
107.可选地,定时检测与判断模块13还用于每隔一预定时间获取当天已创建的批处理任务列表,循环处理执行中的任务;
108.判断当前任务是否为结束任务;
109.若当前任务是结束任务,则判定批处理任务完成;
110.若当前任务不是结束任务,则判定批处理任务未完成。
111.具体实施方式上见述方法实施例,此处不再赘述。
112.可选地,执行模块14还用于判断当前执行的任务是否完成;
113.若当前执行的任务未完成,则继续运行当前执行的任务;
114.获取当前执行的任务的运行状态;
115.若运行失败,则发出告警;
116.若运行成功,则置任务状态为已完成,获取当前执行任务的后续任务,启动后继任务。
117.具体实施方式上见述方法实施例,此处不再赘述。
118.可选地,执行模块14还用于若当前执行的任务已完成,则置任务状态为已完成,获取当前执行任务的后续任务,启动后继任务。
119.具体实施方式上见述方法实施例,此处不再赘述。
120.本发明另一实施例提供一种电子设备10,如图3所示,包括处理器110和存储器120;
121.存储器120,用于存储操作指令;
122.处理器110,用于通过调用所述操作指令,执行上述任一项所述的批处理任务调度方法。
123.处理器110用于完成电子设备10的各种控制逻辑,其可以为通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、单片机、arm(acorn risc machine)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的
任何组合。还有,处理器110还可以是任何传统处理器、微处理器或状态机。处理器110也可以被实现为计算设备的组合,例如,dsp和微处理器的组合、多个微处理器、一个或多个微处理器结合dsp核、或任何其它这种配置。
124.存储器120作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的批处理任务调度方法对应的程序指令。处理器110通过运行存储在存储器120中的非易失性软件程序、指令以及单元,从而执行电子设备10的各种功能应用以及数据处理,即实现上述方法实施例中的批处理任务调度方法。
125.存储器120可以包括存储程序区和存储数据区,其中,存储程序区可存储操作装置、至少一个功能所需要的应用程序;存储数据区可存储根据电子设备10使用所创建的数据等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器120可选包括相对于处理器110远程设置的存储器,这些远程存储器可以通过网络连接至电子设备10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
126.一个或者多个单元存储在存储器120中,当被处理器110执行时,执行上述任意方法实施例中的批处理任务调度方法,例如,执行以上描述的图1中的方法步骤s100至步骤s500。
127.本发明实施例提供了一种非易失性计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序令被处理器执行时实现上述任一项所述的批处理任务调度方法行,例如,执行以上描述的图1中的方法步骤s100至步骤s500。
128.作为示例,非易失性存储介质能够包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦rom(eeprom)或闪速存储器。易失性存储器能够包括作为外部高速缓存存储器的随机存取存储器(ram)。通过说明并非限制,ram可以以诸如同步ram(sram)、动态ram、(dram)、同步dram(sdram)、双数据速率sdram(ddr sdram)、增强型sdram(esdram)、synchlink dram(sldram)以及直接rambus(兰巴斯)ram(drram)之类的许多形式得到。本文中所描述的操作环境的所公开的存储器组件或存储器旨在包括这些和/或任何其他适合类型的存储器中的一个或多个。
129.以上所描述的实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际需要选择其中的部分或者全部模块来实现本实施例方案的目的。
130.通过以上的实施例的描述,本领域的技术人员可以清楚地了解到各实施例可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件实现。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存在于计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)执行各个实施例或者实施例的某些部分的方法。
131.除了其他之外,诸如"能够'、"能"、"可能"或"可以"之类的条件语言除非另外具体
地陈述或者在如所使用的上下文内以其他方式理解,否则一般地旨在传达特定实施方式能包括(然而其他实施方式不包括)特定特征、元件和/或操作。因此,这样的条件语言一般地还旨在暗示特征、元件和/或操作对于一个或多个实施方式无论如何都是需要的或者一个或多个实施方式必须包括用于在有或没有输入或提示的情况下判定这些特征、元件和/或操作是否被包括或者将在任何特定实施方式中被执行的逻辑。
132.已经在本文中在本说明书和附图中描述的内容包括能够提供批处理任务调度方法及装置的示例。当然,不能够出于描述本公开的各种特征的目的来描述元件和/或方法的每个可以想象的组合,但是可以认识到,所公开的特征的许多另外的组合和置换是可能的。因此,显而易见的是,在不脱离本公开的范围或精神的情况下能够对本公开做出各种修改。此外,或在替代方案中,本公开的其他实施例从对本说明书和附图的考虑以及如本文中所呈现的本公开的实践中可能是显而易见的。意图是,本说明书和附图中所提出的示例在所有方面被认为是说明性的而非限制性的。尽管在本文中采用了特定术语,但是它们在通用和描述性意义上被使用并且不用于限制的目的。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献