作业处理方法、装置、设备及存储介质与流程
未命名
08-29
阅读:118
评论:0

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.第五方面,本技术提供一种计算机程序产品,包括计算机程序,所述计算机程序被计算机执行时实现如第一方面中任一项所述的方法。
61.本技术提供一种作业处理方法、装置、设备及存储介质,该方法可以从作业系统获取作业处理请求,并根据作业处理请求,确定数据库中是否存在待处理作业的历史作业信息,历史作业信息包括待处理作业的作业状态,作业状态为执行状态或者已完成状态;若数据库中不存在历史作业信息,则根据作业处理请求对待处理作业进行处理;若数据库中存在历史作业信息,则在作业状态为执行状态时,根据作业处理请求对待处理作业进行处理。上述方法中,可以根据数据库中存储的待处理作业的作业状态,确定是否对该待处理作业进行处理。通过上述方法,可以避免对已经处理完成的作业进行重复处理,提高了作业处理系统的可靠性。
附图说明
62.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
63.图1为本技术实施例提供的作业处理系统架构的示意图;
64.图2为本技术实施例提供的一种作业处理方法示意图;
65.图3为本技术实施例提供的一种作业处理方法的流程示意图;
66.图4为本技术实施例提供的另一种作业处理方法的流程示意图;
67.图5为本技术实施例提供的一种作业处理装置的结构示意图;
68.图6为本技术实施例提供的另一种作业处理装置的结构示意图;
69.图7为本技术提供的作业处理设备的硬件结构示意图。
70.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
71.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
72.本技术涉及的作业处理方法、装置、设备及存储介质可用于分布式领域,也可用于除分布式领域之外的任意领域,本技术对应用领域不做限定。本技术实施例涉及的作业处理方法可以旨在提高作业处理系统的可靠性。当然,本技术实施例描述的应用场景是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域普通技术人员可知,随着新业务场景的出现,本技术实施例提供的技术方案对于类似的问题,同样适用。
73.为了便于理解,首先结合图1对本技术实施例涉及的作业处理系统架构进行说明。
74.图1为本技术实施例提供的作业处理系统架构的示意图。如图1所示,所述作业处理系统包括作业下发应用以及至少一个作业处理应用(例如图1中的作业处理应用a、作业处理应用b和作业处理应用c)。应该理解的是,作业处理系统中的作业下发应用、以及作业处理应用的数量均可以为一个或多个,在本技术实施例中不做限定。
75.上述作业处理系统架构中,作业下发应用可以将作业处理系统接收的作业下发至作业处理应用,以便于作业处理应用对作业进行处理。例如,作业处理系统接收的作业可以为批处理作业。
76.作业处理系统中可以动态增减作业处理应用。例如,若某个作业处理应用所在的计算节点宕机,则可以从作业处理系统中删除该作业处理应用;若作业处理系统的业务量增加,可以为作业处理系统增加新的作业处理应用。
77.相关技术中,若作业处理应用所在的计算节点宕机,会导致作业处理应用丢失其
处理的作业的信息,使得其他作业处理应用无法判断该作业是否被正常执行完。这样,可能出现作业被重复执行的情况,导致作业处理系统出现业务逻辑错误,使得作业处理系统的可靠性较差。
78.有鉴于此,本技术实施例提供了一种作业处理方法,可以基于作业处理应用的心跳信息判断作业是否被正常执行完。避免了作业被重复执行的情况,使得作业处理系统的可靠性较高。
79.下面,结合图2对本技术实施例提供的作业处理方法进行说明。
80.图2为本技术实施例提供的一种作业处理方法示意图。请参见图2,作业处理系统中包括作业下发应用、作业处理应用a、作业作业处理应用b和数据库(database,db)。作业下发应用可以向作业处理应用a和作业处理应用b发送需要处理的作业。数据库可以用于存储作业处理应用a和作业处理应用b所处理的作业的作业状态、以及作业处理应用a和作业处理应用b的心跳信息等其他信息。例如,心跳信息可以为心跳时间戳。
81.如图2所示,假设作业下发应用第一次将作业1下发至作业处理应用a,则作业处理应用a在处理作业1时可以将作业1的作业状态、以及作业处理应用a的心跳信息写入数据库、并可以在数据中实时更新作业1的作业状态以及作业处理应用a的心跳信息。
82.若作业下发应用第二次将作业1又下发至作业处理应用b,作业处理应用b在处理作业1之前可以在数据库中查找作业1的作业状态、以及处理作业1的作业处理应用a的心跳信息,并可以根据作业1的作业状态和以及作业处理应用a的心跳信息判断作业1是否被正常处理。若作业1被正常处理,则作业处理应用b可以拒绝处理作业1;若作业1未被正常处理,则作业处理应用b可以对作业1重新处理。
83.通过上述方法,可以避免不同的作业处理应用对同一个作业进行重复处理,提高了作业处理系统的可靠性。
84.下面以具体地实施例对本技术的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
85.图3为本技术实施例提供的一种作业处理方法的流程示意图。该方法的执行主体可以为作业处理系统,也可以为设置在作业处理系统中的作业处理装置。作业处理装置可以通过软件实现,也可以通过软件和硬件的结合实现。请参见图3,该方法可以包括:
86.s301、从作业系统获取作业处理请求。
87.作业系统可以为,用于下发作业的系统。例如,作业系统可以为图2所示的作业下发应用,作业可以为批处理作业。
88.作业处理请求可以用于请求对作业进行处理。
89.作业处理请求中包括待处理作业、以及待处理作业的作业标识。
90.待处理作业的作业标识可以为,待处理作业的编号。例如,待处理作业的作业标识可以为001。
91.应该理解的是,作业标识可以唯一标识一个作业。即作业标识具有唯一性。
92.s302、根据作业处理请求,确定数据库中是否存在待处理作业的历史作业信息。
93.若否,执行s303;
94.若是,执行s304。
95.历史作业信息包括待处理作业的作业状态,作业状态为执行状态或者已完成状态。
96.历史作业信息可以为,该待处理作业前一次被处理时、所记录的信息。
97.本实施例中,可以在数据库中查找待处理作业的标识;若数据库中存在待处理作业的标识,则确定数据库中存在待处理作业的历史作业信息。
98.示例性的,假设待处理作业的作业标识为079,若数据库中存在该作业标识,则确定数据库中存在待处理作业的历史作业信息;若数据库中不存在该作业标识,则确定数据库中不存在待处理作业的历史作业信息。
99.s303、根据作业处理请求对待处理作业进行处理。
100.应该理解的是,作业处理应用处理待处理作业时,可以将待处理作业的历史信息存储至数据库中。反之,若数据库中不存在待处理作业的历史作业信息,则该待处理作业之前未被处理过。由此,在数据库中不存在待处理作业的历史作业信息时,本实施例中可以根据作业处理请求对待处理作业进行处理。
101.需要说明的是,根据作业处理请求对待处理作业进行处理的具体过程可也参见相关技术,本实施例在此不做赘述。
102.s304、在作业状态为执行状态时,根据作业处理请求对待处理作业进行处理。
103.本实施例中,作业执行状态可以为执行状态或已完成状态。
104.若作业状态为已完成状态,则待作业已经被处理完成,无需重复处理。
105.若作业状态为执行状态,则待作业可能正在被正常处理;或者,虽然作业状态为执行状态,但是处理该待作业的作业处理应用或者处理该待作业的作业处理应用所部署的服务器可能出现故障、且未能及时在数据库中更新作业状态。由此,本实施例中,在作业状态为执行状态时,需要进一步判断是否需要对该待处理作业进行处理,以便于根据作业处理请求对待处理作业进行处理。
106.需要说明的是,进一步判断是否需要对该待处理作业进行处理的过程可以参见图4实施例,本实施例中不做赘述。
107.本实施例提供的作业处理方法,可以从作业系统获取作业处理请求,并根据作业处理请求,确定数据库中是否存在待处理作业的历史作业信息,历史作业信息包括待处理作业的作业状态,作业状态为执行状态或者已完成状态;若数据库中不存在历史作业信息,则根据作业处理请求对待处理作业进行处理;若数据库中存在历史作业信息,则在作业状态为执行状态时,根据作业处理请求对待处理作业进行处理。上述方法中,可以根据数据库中存储的待处理作业的作业状态,确定是否对该待处理作业进行处理。通过上述方法,可以避免对已经处理完成的作业进行重复处理,提高了作业处理系统的可靠性。
108.在图3实施例的基础上,下面,结合图4,对上述方案进行进一步详细说明。
109.图4为本技术实施例提供的另一种作业处理方法的流程示意图。该方法的执行主体可以为作业处理系统,也可以为设置在作业处理系统中的作业处理装置。作业处理装置可以通过软件实现,也可以通过软件和硬件的结合实现。请参见图4,该方法可以包括:
110.s401、从作业系统获取作业处理请求。
111.s402、根据作业处理请求,确定数据库中是否存在待处理作业的历史作业信息。
112.若否,执行s403;
113.若是,执行s404。
114.s403、根据作业处理请求对待处理作业进行处理。
115.需要说明的是,s401-s403的具体实现方式,可以参见s301-s303,此处不再赘述。
116.s404、获取待处理作业对应的心跳信息,心跳信息包括初始心跳时间戳和最新心跳时间戳。
117.待处理作业对应的心跳信息可以为,待处理作业前一次被处理时,处理待处理作业的作业处理应用的心跳信息、或者处理待处理作业的作业处理应用所在的服务器的心跳信息。
118.需要说明的,历史作业信息中还可以包括前一次处理待处理作业的处理应用的网际互联协议(internet protocol,ip)地址。作业处理应用的ip地址可以为,作业处理应用所在的服务器的ip地址。
119.本实施例中,可以根据待处理作业的作业标识在数据库中查找待处理作业的历史作业信息,可以在历史作业信息中查找待处理作业前一次被处理时,处理待处理作业的作业处理应用的ip地址,并可以根据作业处理应用的ip地址查找待处理作业对应的心跳信息。
120.初始心跳时间戳可以为,作业处理应用第一次向数据库发送心跳信息的时间戳。
121.最新心跳时间戳可以为,作业处理应用最近一次向数据库发送心跳信息的时间戳。
122.示例性的,针对任意一个作业处理应用,假设作业处理应用在t时刻的心跳信息可以如表1所示:
123.表1
[0124][0125]
假设t+1时刻,该作业处理应用向数据库发送了最新的心跳信息,则该作业处理应用在t+1时刻的心跳信息可以如表2所示:
[0126]
表2
[0127][0128]
由表1和表2可知,作业处理应用在数据库中的初始心跳时间戳可以固定不变,但最新心跳时间戳可以不断更新。
[0129]
s405、判断系统当前时刻与最新心跳时间戳之间的时长是否超过第一阈值。
[0130]
若是,执行s403;
[0131]
若否,执行s406。
[0132]
需要说明的是,第一阈值所对应的时长可以根据实际需要进行设置。本实施例对
此不作限定。例如,第一阈值可以为1分钟,或者第一阈值可以为3分钟。
[0133]
本实施例中,若系统当前时刻与最新心跳时间戳之间的时长超过第一阈值,则可以确定前一次处理待处理作业的作业处理应用出现故障。也就是说,待处理作业没有被正常处理。由此,本实施例中可以执行s403,以根据作业处理请求对待处理作业及时处理。
[0134]
示例性的,假设第一阈值为3分钟、系统当前时刻与最新心跳时间戳之间的时长为4分钟。则可以确定前一次处理待处理作业的作业处理应用出现故障,并可以根据作业处理请求对待处理作业进行处理。
[0135]
s406、若初始心跳时间戳在作业开始时刻之后,则根据作业处理请求对待处理作业进行处理。
[0136]
作业开始时刻可以为,待处理作业前一次被处理时的开始时刻。
[0137]
本实施例中,历史作业信息中还可以包括作业开始时刻。
[0138]
需要说明的是,作业处理应用开始执行作业时,可以将作业开始时刻存储至数据库中。
[0139]
应该理解的是,若待处理作业被正常处理,则用于处理待处理作业的作业处理应用的初始心跳时间戳可以在作业开始时刻之前,或者用于处理待处理作业的作业处理应用的初始心跳时间戳可以与作业开始时刻相同。若初始心跳时间戳在作业开始时刻之后,则可以确定待处理作业未被正常处理,则可以根据作业处理请求对待处理作业进行处理。
[0140]
示例性的,假设初始心跳时间戳为t,作业开始时刻为t+6,则可以确定待处理作业被正常处理,本实施例中可以拒绝处理待处理作业。假设初始心跳时间戳为t,作业开始时刻为t-6,则可以确定待处理作业未被正常处理,本实施例中可以根据作业处理请求对待处理作业进行处理。
[0141]
本实施例中,根据作业处理请求对待处理作业进行处理之前,还可以生成历史作业信息,并将历史作业信息存储至数据库。
[0142]
一种可能的实现方式中,若数据库中不存在待处理作业的历史作业信息,则可以确定待处理作业未被处理过。本实施例中,处理待处理作业之前,可以将待处理作业的作业标识、待处理作业的作业状态(执行状态)、作业开始时刻、处理待处理作业的作业处理应用的ip地址、处理待处理作业的处理应用的心跳信息等作为历史作业信息存储至数据库中,并可以周期性更新作业处理应用的最新心跳时间戳。
[0143]
另一种可能的实现方式中,若数据库中存在待处理作业的历史作业信息,但可以确定待处理作业未被正常处理、并根据作业处理请求对待处理作业进行处理之前,可以更新数据库中的历史作业信息,并可以周期性更新作业处理应用的最新心跳时间戳。例如,可以将更新作业开始时刻、处理待处理作业的作业处理应用的ip地址等。
[0144]
本实施例中,根据作业处理请求对待处理作业进行处理之后,还可以在数据库中将作业状态更新为已完成状态;生成作业处理请求对应的作业处理响应,并向作业系统发送作业处理响应,作业处理响应用于指示待处理作业已完成。
[0145]
具体而言,可以将作业状态更新为已完成状态,避免其他作业处理应用对该作业进行重复处理。并可以向作业系统返回作业已完成的响应消息,避免作业系统重复向其他作业处理应用发送该作业。
[0146]
本实施例提供的作业处理方法,可以从作业系统获取作业处理请求,并根据作业
处理请求,确定数据库中是否存在待处理作业的历史作业信息,历史作业信息包括待处理作业的作业状态,作业状态为执行状态或者已完成状态;若数据库中不存在历史作业信息,则根据作业处理请求对待处理作业进行处理;若数据库中存在历史作业信息,可以根据待处理对应的心跳信息、作业开始时刻等信息进一步确定是否需要对待处理作业进行处理。通过上述方法,可以避免对已经处理完成的作业进行重复处理,提高了作业处理系统的可靠性。
[0147]
图5为本技术实施例提供的一种作业处理装置的结构示意图。请参见图5,该作业处理装置10包括:获取模块11、确定模块12和处理模块13,其中,
[0148]
所述获取模块11用于,从作业系统获取作业处理请求,所述作业处理请求中包括待处理作业、以及所述待处理作业的作业标识;
[0149]
所述确定模块12用于,根据所述作业处理请求,确定数据库中是否存在所述待处理作业的历史作业信息,所述历史作业信息包括所述待处理作业的作业状态,所述作业状态为执行状态或者已完成状态;
[0150]
若数据库中不存在所述历史作业信息,所述处理模块13用于,根据所述作业处理请求对所述待处理作业进行处理;
[0151]
若数据库中存在所述历史作业信息,所述处理模块13用于,在所述作业状态为执行状态时,根据所述作业处理请求对所述待处理作业进行处理。
[0152]
本实施例提供的作业处理装置,可用于执行上述方法实施例中的作业处理方法,其实现原理和技术效果类似,此处不作赘述。
[0153]
在一种可能的实现方式中,所述处理模块13具体用于:
[0154]
获取所述待处理作业对应的心跳信息;
[0155]
根据所述心跳信息和所述作业处理请求,对所述待处理作业进行处理。
[0156]
在一种可能的实现方式中,所述心跳信息包括初始心跳时间戳和最新心跳时间戳;所述处理模块13具体用于:
[0157]
获取所述最新心跳时间戳;
[0158]
判断系统当前时刻与所述最新心跳时间戳之间的时长是否超过第一阈值;
[0159]
若是,则根据所述作业处理请求对所述待处理作业进行处理;
[0160]
若否,则根据所述初始心跳时间戳和所述作业处理请求,对所述待处理作业进行处理。
[0161]
在一种可能的实现方式中,所述历史作业信息中还包括所述待处理作业的作业开始时刻;所述处理模块13具体用于:
[0162]
获取所述初始心跳时间戳和所述作业开始时刻;
[0163]
若所述初始心跳时间戳在所述作业开始时刻之后,则根据所述作业处理请求对所述待处理作业进行处理。
[0164]
在一种可能的实现方式中,所述确定模块12具体用于:
[0165]
在所述数据库中查找所述待处理作业的作业标识;
[0166]
若所述数据库中存在所述待处理作业的作业标识,则确定所述数据库中存在所述待处理作业的历史作业信息。
[0167]
图6为本技术实施例提供的另一种作业处理装置的结构示意图。请参见图6,该作
业处理装置10还包括存储模块14和更新模块15,其中,
[0168]
在所述作业状态为执行状态时,根据所述作业处理请求对所述待处理作业进行处理之前,所述存储模块14用于:
[0169]
生成所述历史作业信息;
[0170]
将所述历史作业信息存储至所述数据库。
[0171]
根据所述作业处理请求对所述待处理作业进行处理之后,所述更新模块15用于:
[0172]
在数据库中将所述作业状态更新为已完成状态;
[0173]
生成所述作业处理请求对应的作业处理响应,并向所述作业系统发送所述作业处理响应,所述作业处理响应用于指示所述待处理作业已完成。
[0174]
本实施例提供的作业处理装置,可用于执行上述方法实施例中的作业处理方法,其实现原理和技术效果类似,此处不作赘述。
[0175]
图7为本技术提供的作业处理设备的硬件结构示意图。请参见图6,该作业处理设备20可以包括:处理器21和存储器22,其中,处理器21和存储器22可以通信;示例性的,处理器21和存储器22通过通信总线23通信,所述存储器22用于存储计算机执行指令,所述处理器21用于调用存储器中的计算机执行指令执行上述任意方法实施例所示的作业处理方法。
[0176]
可选的,作业处理设备20还可以包括通信接口,通信接口可以包括发送器和/或接收器。
[0177]
可选的,上述处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
[0178]
本技术提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机执行指令;所述计算机执行指令用于实现如上述任意实施例所述的作业处理方法。
[0179]
本技术实施例提供一种计算机程序产品,所述计算机程序产品包括计算机程序,当所述计算机程序被执行时,使得计算机执行上述作业处理方法。
[0180]
实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一可读取存储器中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储器(存储介质)包括:只读存储器(英文:read-only memory,缩写:rom)、ram、快闪存储器、硬盘、固态硬盘、磁带(英文:magnetic tape)、软盘(英文:floppy disk)、光盘(英文:optical disc)及其任意组合。
[0181]
本技术实施例是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程终端设备的处理单元以产生一个机器,使得通过计算机或其他可编程终端设备的处理单元执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0182]
这些计算机程序指令也可存储在能引导计算机或其他可编程终端设备以特定方
式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0183]
这些计算机程序指令也可装载到计算机或其他可编程终端设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0184]
显然,本领域的技术人员可以对本技术实施例进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术实施例的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
[0185]
在本技术中,术语“包括”及其变形可以指非限制性的包括;术语“或”及其变形可以指“和/或”。本技术中术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。本技术中,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
[0186]
本领域技术人员在考虑说明书及实践里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。
技术特征:
1.一种作业处理方法,其特征在于,包括:从作业系统获取作业处理请求,所述作业处理请求中包括待处理作业、以及所述待处理作业的作业标识;根据所述作业处理请求,确定数据库中是否存在所述待处理作业的历史作业信息,所述历史作业信息包括所述待处理作业的作业状态,所述作业状态为执行状态或者已完成状态;若数据库中不存在所述历史作业信息,则根据所述作业处理请求对所述待处理作业进行处理;若数据库中存在所述历史作业信息,则在所述作业状态为执行状态时,根据所述作业处理请求对所述待处理作业进行处理。2.根据权利要求1所述的方法,其特征在于,在所述作业状态为执行状态时,根据所述作业处理请求对所述待处理作业进行处理,包括:获取所述待处理作业对应的心跳信息;根据所述心跳信息和所述作业处理请求,对所述待处理作业进行处理。3.根据权利要求2所述的方法,其特征在于,所述心跳信息包括初始心跳时间戳和最新心跳时间戳;根据所述心跳信息和所述作业处理请求,对所述待处理作业进行处理,包括:获取所述最新心跳时间戳;判断系统当前时刻与所述最新心跳时间戳之间的时长是否超过第一阈值;若是,则根据所述作业处理请求对所述待处理作业进行处理;若否,则根据所述初始心跳时间戳和所述作业处理请求,对所述待处理作业进行处理。4.根据权利要求3所述的方法,其特征在于,所述历史作业信息中还包括所述待处理作业的作业开始时刻;根据所述初始心跳时间戳和所述作业处理请求,对所述待处理作业进行处理,包括:获取所述初始心跳时间戳和所述作业开始时刻;若所述初始心跳时间戳在所述作业开始时刻之后,则根据所述作业处理请求对所述待处理作业进行处理。5.根据权利要求1-4任一项所述的方法,其特征在于,根据所述作业处理请求,确定数据库中是否存在所述待处理作业的作业信息,包括:在所述数据库中查找所述待处理作业的作业标识;若所述数据库中存在所述待处理作业的作业标识,则确定所述数据库中存在所述待处理作业的历史作业信息。6.根据权利要求1-5任一项所述的方法,其特征在于,在所述作业状态为执行状态时,根据所述作业处理请求对所述待处理作业进行处理之前,还包括:生成所述历史作业信息;将所述历史作业信息存储至所述数据库。7.根据权利要求1-6任一项所述的方法,其特征在于,根据所述作业处理请求对所述待处理作业进行处理之后,所述方法还包括:在数据库中将所述作业状态更新为已完成状态;生成所述作业处理请求对应的作业处理响应,并向所述作业系统发送所述作业处理响
应,所述作业处理响应用于指示所述待处理作业已完成。8.一种作业处理装置,其特征在于,所述装置包括获取模块、确定模块和处理模块,其中,所述获取模块用于,从作业系统获取作业处理请求,所述作业处理请求中包括待处理作业、以及所述待处理作业的作业标识;所述确定模块用于,根据所述作业处理请求,确定数据库中是否存在所述待处理作业的历史作业信息,所述历史作业信息包括所述待处理作业的作业状态,所述作业状态为执行状态或者已完成状态;若数据库中不存在所述历史作业信息,所述处理模块用于,根据所述作业处理请求对所述待处理作业进行处理;若数据库中存在所述历史作业信息,所述处理模块用于,在所述作业状态为执行状态时,根据所述作业处理请求对所述待处理作业进行处理。9.一种作业处理设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;所述存储器存储计算机执行指令;所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至7任一项所述的方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至7任一项所述的方法。
技术总结
本申请提供一种作业处理方法、装置、设备及存储介质,可用于分布式领域或其他领域。该方法包括从作业系统获取作业处理请求,所述作业处理请求中包括待处理作业、以及所述待处理作业的作业标识;根据所述作业处理请求,确定数据库中是否存在所述待处理作业的历史作业信息,所述历史作业信息包括所述待处理作业的作业状态,所述作业状态为执行状态或者已完成状态;若数据库中不存在所述历史作业信息,则根据所述作业处理请求对所述待处理作业进行处理;若数据库中存在所述历史作业信息,则在所述作业状态为执行状态时,根据所述作业处理请求对所述待处理作业进行处理。通过上述方法,提高了作业处理系统的可靠性。提高了作业处理系统的可靠性。提高了作业处理系统的可靠性。
技术研发人员:黄子卿 王丹 董友彤 马博宇 刘沛然 许鑫悦 马路
受保护的技术使用者:中国银行股份有限公司
技术研发日:2023.05.26
技术公布日:2023/8/28
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/