高可用架构的任务处理方法及装置制造方法及图纸

技术编号:35266127 阅读:10 留言:0更新日期:2022-10-19 10:28
本发明专利技术公开了一种高可用架构的任务处理方法及装置,属于网络安全,其中该方法包括:在接收到HA架构下的任务时,将任务拆分为子任务,其中,各子任务在满足输入条件时开始执行,输出结果是每一子任务执行后产生的结果,在一个子任务的输出结果是另一个子任务的输入条件时,这个子任务与另一个子任务之间是有顺序的;将子任务放入子任务池中供HA架构下的节点选取执行;接收节点在执行各子任务后得到的输出结果;根据组成任务的各子任务的输出结果确定任务的执行结果。本发明专利技术可以提高效率,避免资源浪费。资源浪费。资源浪费。

【技术实现步骤摘要】
高可用架构的任务处理方法及装置


[0001]本专利技术涉及网络安全
,尤其涉及高可用架构的任务处理方法及装置。

技术介绍

[0002]HA(High Avaliablity,高可用)架构是共同为客户机提供网络资源的一组计算机系统。其中每一台提供服务的计算机称为节点。当一个节点不可用或者不能处理客户的请求时,该请求会及时转到另外的可用节点来处理,而这些对于客户端是透明的,客户不必关心要使用资源的具体位置,集群系统会自动完成。
[0003]HA架构是通过集群化即增加冗余设备、故障自动转移技术手段来实现系统高稳定的一种架构。目前广泛流行的分布式架构就是一种HA架构。
[0004]批量任务系统是指非联机的后台数据处理系统。例如,报表生成、文件解析、交易对账等等。目前的批量任务系统很多都使用HA架构,但是多数的批量系统HA架构比较简单。有的采用单点运行的冷备架构,即只有一个节点启用,所有的任务都由这个节点处理,其他节点处于休眠状态,如果这个节点宕机,其他节点才会被启用。还有一种批量HA架构就是实际意义上的多点多活架构,系统内节点都处于可用状态,但不同节点处理任务时互不干扰,如果遇到某一节点处理任务异常宕机,那么其他节点会接管这个任务,会从头开始该任务。
[0005]现有技术的不足在于,这种处理方式逻辑简单,但效率不高,浪费资源。

技术实现思路

[0006]本专利技术实施例提供一种高可用架构的任务处理方法,用以解决HA架构下任务处理效率不高,浪费资源的问题,该方法包括:
[0007]在接收到HA架构下的任务时,将任务拆分为子任务,其中,各子任务在满足输入条件时开始执行,输出结果是每一子任务执行后产生的结果,在一个子任务的输出结果是另一个子任务的输入条件时,这个子任务与另一个子任务之间是有顺序的;
[0008]将子任务放入子任务池中供HA架构下的节点选取执行;
[0009]接收节点在执行各子任务后得到的输出结果;
[0010]根据组成任务的各子任务的输出结果确定任务的执行结果。
[0011]本专利技术实施例还提供一种高可用架构的任务处理装置,用以解决HA架构下任务处理效率不高,浪费资源的问题,该装置包括:
[0012]拆分模块,用于在接收到HA架构下的任务时,将任务拆分为子任务,其中,各子任务在满足输入条件时开始执行,输出结果是每一子任务执行后产生的结果,在一个子任务的输出结果是另一个子任务的输入条件时,这个子任务与另一个子任务之间是有顺序的;
[0013]子任务池模块,用于将子任务放入子任务池中供HA架构下的节点选取执行;
[0014]接收模块,用于接收节点在执行各子任务后得到的输出结果;
[0015]任务结果模块,用于根据组成任务的各子任务的输出结果确定任务的执行结果。
[0016]本专利技术实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并
可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述高可用架构的任务处理方法。
[0017]本专利技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述高可用架构的任务处理方法。
[0018]本专利技术实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述高可用架构的任务处理方法。
[0019]本专利技术实施例中,与现有技术中任务中断后需要重新执行的技术方案相比,通过将大的复杂的业务任务的实施,拆解成一个个子任务,各节点执行的是子任务,即使有子任务中断、异常或者节点宕机等情况,也无需再次重复执行正常执行的子任务,从而可以提高效率,避免资源浪费。
[0020]进一步的,由于采用了去重,也即,子任务池中相同的子任务只保留一个,避免了不同任务中相同的子任务的重复执行,而是使用相同的结果即可,进一步提高效率,避免资源浪费。
附图说明
[0021]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
[0022]图1为本专利技术实施例中高可用架构的任务处理方法实施流程示意图;
[0023]图2为本专利技术实施例中高可用架构的任务处理架构示意图;
[0024]图3为本专利技术实施例中高可用架构的任务处理架构的处理流程示意图;
[0025]图4为本专利技术实施例中高可用架构的任务处理装置结构示意图;
[0026]图5为本专利技术实施例中计算机设备示意图。
具体实施方式
[0027]为使本专利技术实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本专利技术实施例做进一步详细说明。在此,本专利技术的示意性实施例及其说明用于解释本专利技术,但并不作为对本专利技术的限定。
[0028]专利技术人在专利技术过程中注意到:
[0029]目前基于高可用架构的批量系统大都只是任务级别,即当前应用节点处理一个任务时,其它节点不能干预,如果当前节点处理该任务时异常宕机,其它节点接管后从头重新开始任务。这样处理逻辑简单,但效率不高,浪费资源。
[0030]还有一种情况,例如同时给A、B2个系统生成报表文件,可能后台接口、生成文件的格式、文件命名等存在差异,但因为使用同样的源交易数据,数据准备、数据处理的过程是一样的。而现有的批量系统大都采用的策略是2个独立部署的任务,各自运行互不干扰。这样的情况虽然独立性有保证,但是也一样存在资源的浪费。
[0031]对于一个复杂的任务来说,可能执行过程要耗费相当多的资源和时间。比如一个大型银行下传每天的交易报表,处理交易数据量级可能上亿级,处理时间需要耗费数个小
时。如果意外发生宕机,其他应用节点重新开始任务,那么可能就意味着硬件资源、时间资源就浪费了。
[0032]如果一个任务被拆分成一个一个小的子任务,每个子任务完成都是一个小里程碑,当执行某个子任务时发生宕机,系统只需重新开始该子任务即可,无需将整个大的业务任务从头来过。
[0033]对于一个大型的批量系统,要处理很多复杂的业务场景,每个任务与任务之间,都是独立运行,互不干扰。
[0034]其实每个任务之间往往有可以复用的逻辑步骤,如果将复杂任务之间可以复用的子任务拆解出来,形成公共子任务,供各个复杂任务使用,可以有效的降低相关任务消耗的资源和时间,能够让系统整体上运行的更高效。
[0035]基于此,本专利技术实施例提供的技术方案中,针对当前HA架构批量系统的体现出的弊端,优化并设计出一套完整的批量处理系统。下面结合实施例进行说明。
[0036]图1为高可用架构的任务处理方法实施流程示意图,如图所示,可以包括:
[0037]步骤101、在接收到HA架构下的任务时,将任务本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种高可用架构的任务处理方法,其特征在于,包括:在接收到HA架构下的任务时,将任务拆分为子任务,其中,各子任务在满足输入条件时开始执行,输出结果是每一子任务执行后产生的结果,在一个子任务的输出结果是另一个子任务的输入条件时,这个子任务与另一个子任务之间是有顺序的;将子任务放入子任务池中供HA架构下的节点选取执行;接收节点在执行各子任务后得到的输出结果;根据组成任务的各子任务的输出结果确定任务的执行结果。2.如权利要求1所述的方法,其特征在于,将子任务放入子任务池中供HA架构下的节点选取执行时,进一步包括:子任务池中相同的子任务只保留一个。3.如权利要求1所述的方法,其特征在于,进一步包括:检测到节点执行子任务异常时,回收子任务到子任务池。4.如权利要求1所述的方法,其特征在于,将任务拆分为子任务时,进一步包括:将子任务与子任务池中已有的子任务关联,当子任务池中没有相应的子任务时,将该子任务放入子任务池中。5.如权利要求1所述的方法,其特征在于,进一步包括:检查子任务执行状态,关闭执行完的子任务。6.一种高可用架构的任务处理装置,其特征在于,包括:拆分模块,用于在接收到HA架构下的任务时,将任务拆分为子任务,其中,各子任务在满足输入条件时开始执行,输出结果是每一子任务执行后产生的结果,在一个子任务的输出结果是另一个子任务的输入条件时,这个子任务与另一个子任务之间是有顺序的;子...

【专利技术属性】
技术研发人员:王园
申请(专利权)人:中国银行股份有限公司
类型:发明
国别省市:

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

1