一种用于财险核心系统的批处理方法及系统与流程

文档序号:25585826发布日期:2021-06-22 17:00阅读:238来源:国知局
一种用于财险核心系统的批处理方法及系统与流程

本发明涉及批处理领域,尤其涉及一种用于财险核心系统的批处理方法及系统。



背景技术:

springbatch提供大量的、可复用的数据处理功能,包括事务管理、作业处理统计工作重新启动、跳过和资源管理等重要功能,常用于数据的离线迁移,和数据处理。其提供了大量且丰富的系统接口,提供了大量的定制化作业能力,通过将一个批次任务分片、分步并发调度,实现了批处理任务的高效处理。但其在保险系统的应用中也存在一些缺点:与保险业务结合不够深入,开发人员需要提供大量其他配置或接口开发才能正常使用、技术框架体系与建行新一代项目框架体系需要做深入改造适配,不利于后续改进,其没有提供合适监控与管理平台方案,用于生产运维。

本申请发明人在实现本申请实施例中发明技术方案的过程中,发现上述技术至少存在如下技术问题:

现有寿险核心系统的批处理任务使用简单定时器进行调度,处理逻辑简陋,批处理任务存在单点故障、处理效率低下、容错能力差的问题。



技术实现要素:

本申请实施例通过提供一种用于财险核心系统的批处理方法及系统,解决了现有技术中现有寿险核心系统的批处理任务使用简单定时器进行调度,处理逻辑简陋,批处理任务存在单点故障、处理效率低下、容错能力差的技术问题,达到了采用多线程分布式方案,分片分块进行调度,合理容错,定期重试,将异常或错误的影响降低,从而提高常规定时任务的处理效率及高效监控,满足日益增长的业务需求的技术目的。

本申请实施例通过提供一种用于财险核心系统的批处理方法,所述方法应用于一财险核心系统,其中,所述方法包括:获得第一任务调度指令和第一任务信息,其中,所述第一任务信息包括第一任务数据;根据所述第一任务调度指令,获得所述第一任务信息的第一流程状态数据信息;判断所述第一流程状态数据信息是否为重跑数据;如果不是所述重跑数据,获得第一输出信息,其中,所述第一输出信息为预检通过信息;根据所述第一输出信息,获得所述第一任务的配置数据;提取所述第一任务数据中的主档数据并建立第一主档表之后,根据所述配置数据,对所述主档数据进行分片操作处理;当所述分片操作处理完成之后,获得第一分片数据,其中,所述第一分片数据中包括多个分片数据;获得第二任务调度指令和第二任务信息,并根据所述第二任务调度指令和所述第二任务信息,检索所述财险核心系统中的所有缓存器信息;将所述所有缓存器信息存储至第一内存中之后,获得第一分块指令;根据所述第一分块指令,对所述第一分片数据进行分块并获得第一分块数据之后,采用线程池对所述第一分块数据进行并行调度;当所述并行调度结束之后,判断所述第二任务中的失败次数是否超过预设数量;如果未超过,调用预定业务逻辑并获得第一任务结果信息;获得第三任务调度指令和第三任务信息,并根据所述第三任务调度指令,对所述第一任务结果信息进行汇总之后,获得第二输出信息。

另一方面,本申请还提供了一种用于财险核心系统的批处理系统,其中,所述系统包括:第一获得单元,所述第一获得单元用于获得第一任务调度指令和第一任务信息,其中,所述第一任务信息包括第一任务数据;第二获得单元,所述第二获得单元用于根据所述第一任务调度指令,获得所述第一任务信息的第一流程状态数据信息;第一判断单元,所述第一判断单元用于判断所述第一流程状态数据信息是否为重跑数据;第三获得单元,所述第三获得单元用于如果不是所述重跑数据,获得第一输出信息,其中,所述第一输出信息为预检通过信息;第四获得单元,所述第四获得单元用于根据所述第一输出信息,获得所述第一任务的配置数据;第一执行单元,所述第一执行单元用于提取所述第一任务数据中的主档数据并建立第一主档表之后,根据所述配置数据,对所述主档数据进行分片操作处理;第五获得单元,所述第五获得单元用于当所述分片操作处理完成之后,获得第一分片数据,其中,所述第一分片数据中包括多个分片数据;第六获得单元,所述第六获得单元用于获得第二任务调度指令和第二任务信息,并根据所述第二任务调度指令和所述第二任务信息,检索所述财险核心系统中的所有缓存器信息;第七获得单元,所述第七获得单元用于将所述所有缓存器信息存储至第一内存中之后,获得第一分块指令;第八获得单元,所述第八获得单元用于根据所述第一分块指令,对所述第一分片数据进行分块并获得第一分块数据之后,采用线程池对所述第一分块数据进行并行调度;第二判断单元,所述第二判断单元用于当所述并行调度结束之后,判断所述第二任务中的失败次数是否超过预设数量;第九获得单元,所述第九获得单元用于如果未超过,调用预定业务逻辑并获得第一任务结果信息;第十获得单元,所述第十获得单元用于获得第三任务调度指令和第三任务信息,并根据所述第三任务调度指令,对所述第一任务结果信息进行汇总之后,获得第二输出信息。

另一方面,本申请实施例还提供了一种用于财险核心系统的批处理系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现上述第一方面所述方法的步骤。

本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:

由于采用了在任务调度上,使用了先分片后分块并行调度的方案,充分使用了所有服务器的处理能力,将任务处理速度提升到极致;同时针对错误和异常,框架提供了指定的容错能力,并在分片任务失败的情况下提供了重试的能力,保障业务的正常进行。

上述说明是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。

附图说明

图1为本申请实施例一种用于财险核心系统的批处理方法的流程示意图;

图2为本申请实施例一种用于财险核心系统的批处理系统的结构示意图;

图3为本申请实施例示例性电子设备的结构示意图。

附图标记说明:第一获得单元11,第二获得单元12,第一判断单元13,第三获得单元14,第四获得单元15,第一执行单元16,第五获得单元17,第六获得单元18,第七获得单元19,第八获得单元20,第二判断单元21,第九获得单元22,第十获得单元23,总线300,接收器301,处理器302,发送器303,存储器304,总线接口305。

具体实施方式

本申请实施例通过提一种用于财险核心系统的批处理方法及系统,解决了现有技术中现有寿险核心系统的批处理任务使用简单定时器进行调度,处理逻辑简陋,批处理任务存在单点故障、处理效率低下、容错能力差的技术问题,达到了采用多线程分布式方案,分片分块进行调度,合理容错,定期重试,将异常或错误的影响降低,从而提高常规定时任务的处理效率及高效监控,满足日益增长的业务需求的技术目的。下面,将参考附图详细的描述本申请的示例实施例。显然,所描述的实施例仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解,本申请不受这里描述的示例实施例的限制。

申请概述

springbatch在保险系统的应用中也存在一些缺点:与保险业务结合不够深入,开发人员需要提供大量其他配置或接口开发才能正常使用、技术框架体系与建行新一代项目框架体系需要做深入改造适配,不利于后续改进,其没有提供合适监控与管理平台方案,用于生产运维。现有技术中还存在着现有寿险核心系统的批处理任务使用简单定时器进行调度,处理逻辑简陋,批处理任务存在单点故障、处理效率低下、容错能力差的技术问题。

针对上述技术问题,本申请提供的技术方案总体思路如下:

本申请实施例通过提供一种用于财险核心系统的批处理方法,所述方法应用于一财险核心系统,其中,所述方法包括:获得第一任务调度指令和第一任务信息,其中,所述第一任务信息包括第一任务数据;根据所述第一任务调度指令,获得所述第一任务信息的第一流程状态数据信息;判断所述第一流程状态数据信息是否为重跑数据;如果不是所述重跑数据,获得第一输出信息,其中,所述第一输出信息为预检通过信息;根据所述第一输出信息,获得所述第一任务的配置数据;提取所述第一任务数据中的主档数据并建立第一主档表之后,根据所述配置数据,对所述主档数据进行分片操作处理;当所述分片操作处理完成之后,获得第一分片数据,其中,所述第一分片数据中包括多个分片数据;获得第二任务调度指令和第二任务信息,并根据所述第二任务调度指令和所述第二任务信息,检索所述财险核心系统中的所有缓存器信息;将所述所有缓存器信息存储至第一内存中之后,获得第一分块指令;根据所述第一分块指令,对所述第一分片数据进行分块并获得第一分块数据之后,采用线程池对所述第一分块数据进行并行调度;当所述并行调度结束之后,判断所述第二任务中的失败次数是否超过预设数量;如果未超过,调用预定业务逻辑并获得第一任务结果信息;获得第三任务调度指令和第三任务信息,并根据所述第三任务调度指令,对所述第一任务结果信息进行汇总之后,获得第二输出信息。

在介绍了本申请基本原理后,下面将结合说明书附图来具体介绍本申请的各种非限制性的实施方式。

实施例一

如图1所示,本申请实施例提供了一种用于财险核心系统的批处理方法,其中,所述方法包括:

步骤s100:获得第一任务调度指令和第一任务信息,其中,所述第一任务信息包括第一任务数据;

具体而言,本申请实施例中,批处理框架总体将一个批处理任务分为3个阶段:即数据抽取与分片、数据分块调度处理、数据分片汇总。批处理是对某类对象进行批量处理,在所述数据抽取阶段,由所述财险核心系统依据所述第一任务调度指令调用任务状态管理器,并获得所述第一任务信息的任务数据信息,用于检查所述第一任务信息是否可以执行,所述第一任务信息为可执行时,执行具体的分片逻辑。

步骤s200:根据所述第一任务调度指令,获得所述第一任务信息的第一流程状态数据信息;

具体而言,若所述任务状态管理器判定所述第一任务信息为可执行时,将所述第一任务信息的所述第一流程状态数据信息进行记录,并定时刷新所述第一任务的所述第一流程状态数据信息。

步骤s300:判断所述第一流程状态数据信息是否为重跑数据;

步骤s400:如果不是所述重跑数据,获得第一输出信息,其中,所述第一输出信息为预检通过信息;

具体而言,由所述任务状态管理器判断所述第一任务信息的所述第一流程状态数据信息是否重复执行,若重复执行,则为所述重跑数据,若通过判断所述第一流程状态数据信息不是重跑数据,则获得所述预检通过信息。

步骤s500:根据所述第一输出信息,获得所述第一任务的配置数据;

具体而言,所述第一任务信息预检通过之后,初始化所述第一任务信息的配置数据,并检查数据是否符合规范。

步骤s600:提取所述第一任务数据中的主档数据并建立第一主档表之后,根据所述配置数据,对所述主档数据进行分片操作处理;

具体而言,job是封装整个批处理过程的一个概念,在job这个接口当中定义了五个方法,它的实现类主要有两种类型的job,一个是simplejob,另一个是flowjob。完成所述第一任务信息数据的初始化之后,应用仅需提供并指定job接口的buildextractsql()实现提取所述第一任务数据中的主档数据,并建立所述第一主档表,并依据所述配置数据,对所述主档数据进行分片操作处理,并判断流程是否有异常,若流程中存在异常,则清理本次执行的内容,并启动ctm机制,进行任务重跑。其中,分片为对一个数据集合进行物理切割,形成多个数据集合,ctm:control-m,control-m是bmcsoftware提供的企业级集中作业调度管理解决方案。它通过单一控制节点,集中地管理跨平台、跨应用的生产控制和调度过程,并凭借其优异的高性能、高可靠性、高稳定性、高扩展性以及高安全性,有效的帮助企业整合、规范并自动化企业批量作业管理,防止作业调度问题演变成为业务问题,切实提高企业业务服务的效率。

步骤s700:当所述分片操作处理完成之后,获得第一分片数据,其中,所述第一分片数据中包括多个分片数据;

步骤s800:获得第二任务调度指令和第二任务信息,并根据所述第二任务调度指令和所述第二任务信息,检索所述财险核心系统中的所有缓存器信息;

具体而言,完成数据分片并获得所述第一分片数据之后,所述ctm平台将不同分片数据调度到不同服务器上执行,进行所述第一分片数据的分块调度处理。在该阶段,应用需提供并指定job接口的execute()事先以及dataloader接口的load()实现和getcachetype()实现,在获得所述第二任务调度指令和第二任务信息之后,由所述任务状态管理器对所述第二任务信息进行核验之后,检索所述财险核心系统中的所有缓存器信息。

步骤s900:将所述所有缓存器信息存储至第一内存中之后,获得第一分块指令;

具体而言,通过检索系统中所有的缓存器信息,将所有缓存器调度起来,将数据缓存到内存中,继而依据系统配置,对所述第一分片数据进行分块处理。

步骤s1000:根据所述第一分块指令,对所述第一分片数据进行分块并获得第一分块数据之后,采用线程池对所述第一分块数据进行并行调度;

具体而言,所述ctm平台将所述第一分片数据中的不同分片数据调度到不同服务器上执行,执行时将数据分片进行分块后使用线程池并行调度业务逻辑,其中,分块是对分片内的数据进行逻辑切割,输入到不同的处理器内;线程,程序执行流的最小执行单位,是行程中的实际运作单位,java中开辟出了一种管理线程的概念,这个概念叫做线程池,线程池的好处,就是可以方便的管理线程,也可以减少内存的消耗。

步骤s1100:当所述并行调度结束之后,判断所述第二任务中的失败次数是否超过预设数量;

步骤s1200:如果未超过,调用预定业务逻辑并获得第一任务结果信息;

具体而言,将所述第一分块数据从数据库中加载到内存,并检查所述第二任务是否取消或者失败任务数量是否超过所述预设数量,如果是,则退出循环并且结束分块任务,如果未超过,则调用业务代码执行具体的业务逻辑并获得所述第一任务结果信息。

步骤s1300:获得第三任务调度指令和第三任务信息,并根据所述第三任务调度指令,对所述第一任务结果信息进行汇总之后,获得第二输出信息。

具体而言,所有分块都执行结束后,执行汇总逻辑,汇总执行成功和失败的数据量,并结束检查任务,结束刷新任务流数据,获得所述第二输出信息。

进一步而言,本申请实施例步骤s200还包括:

步骤s201a:根据所述第一任务调度指令,对所述第一任务数据进行初始化之后,判断所述财险核心系统中是否包括第四任务信息,其中,所述第四任务信息与所述第一任务信息具有相同的服务编码;

步骤s202a:如果不包括所述第四任务信息,则获得所述第一流程状态数据信息;

步骤s203a:如果包括所述第四任务信息,则获得第一输出指令;

步骤s204a:根据所述第一输出指令,终止所述第一任务并返回执行失败结果信息。

具体而言,若所述财险核心系统中还存在正在执行的同类(相同服务编码的)任务,即所述第四任务信息,则所述第一任务不能执行,终止所述第一任务并返回执行失败结果信息。

进一步而言,本申请实施例步骤s200还包括:

步骤s201b:获得第一启动指令;

步骤s202b:根据所述第一启动指令,启动第一异步任务;

步骤s203b:按照第一预设频率,通过所述第一异步任务对所述第一流程状态数据信息进行维护。

具体而言,获得并记录所述第一任务信息的第一流程状态数据信息之后,启动所述第一异步任务,并依据所述第一预设频率定时维护状态数据,以告知其他处理器本次任务正在执行中,从而实现任务保护功能。

进一步而言,本申请实施例步骤s500还包括:

步骤s501:对所述配置数据进行初始化之后,获得第一检查指令,其中,所述第一检查指令用于检查所述配置数据是否满足预设规则;

步骤s502:如果所述配置数据满足所述预设规则,则获得第一操作指令;

步骤s503:根据所述第一操作指令,提取所述第一任务数据中的主档数据并建立第一主档表之后,根据所述配置数据,对所述主档数据进行分片操作处理。

具体而言,将所述配置数据进行初始化之后,通过所述预设规则对所述配置数据进行规范检查,若所述配置数据满足规范,则依据所述第一操作指令提取所述第一任务数据中的主档数据并建立第一主档表之后,根据所述配置数据,对所述主档数据进行分片操作处理。

进一步而言,本申请实施例步骤s300还包括:

步骤s301:如果所述第一流程状态数据信息为所述重跑数据,则获得第三输出信息;

步骤s302:根据所述第三输出信息,将所述第一任务的流程状态设定为待执行状态之后,返回执行成功信息。

具体而言,若所述第一流程状态数据为所述重跑数据,则将任务状态重置为待执行状态,并结束此次流程。

进一步而言,本申请实施例步骤s203b还包括:

步骤s203b1:获得第一终止指令;

步骤s203b2:根据所述第一终止指令,终止所述第一异步任务。

具体而言,对所述主档数据进行分片操作处理并获得所述第一分片数据之后,终止所述第一异步任务。

进一步而言,本申请实施例步骤s700还包括:

步骤s701:判断所述第一任务的各个流程是否存在异常;

步骤s702:如果存在异常,获得第一清理指令;

步骤s703:根据所述第一清理指令,对所述第一任务的各个流程的执行内容进行清除之后,获得第二启动指令;

步骤s704:根据所述第二启动指令,启动ctm的重试机制。

具体而言,所述财险核心系统若在所述第一任务进行流程中检测到流程异常,则清理本次执行的内容,并且启动ctm重试机制,重新执行所述第一任务。

进一步而言,本申请实施例步骤s704还包括:

步骤s7041:根据所述第二任务调度指令,获得所述第二任务信息的第二任务状态信息;

步骤s7042:判断所述第二任务状态信息是否满足执行所述第二任务的状态;

步骤s7043:如果满足,则判断所述财险核心系统中是否包括第五任务信息,其中,所述第五任务信息和所述第二任务信息具有相同的分片任务;

步骤s7044:如果包括所述第五任务信息,则获得第一返回指令,并根据所述第一返回指令返回至所述ctm之后,获得所述第二任务的第二流程状态数据信息。

具体而言,在分片数据的分块调度处理模块,应用需提供并指定job接口的execute()事先以及dataloader接口的load()实现和getcachetype()实现。判定任务状态,为判断所述第二任务是否为可以执行分片任务的状态,同时判定是否有相同的分片任务正在执行中,如果有则依据所述第一返回指令返回ctm,并获得所述第二任务的第二流程状态数据信息。

进一步而言,本申请实施例步骤s7041还包括:

步骤s7041a1:根据所述第二流程状态数据信息,获得第三启动指令;

步骤s7041a2:根据所述第三启动指令,启动第二异步任务;

步骤s7041a3:按照第二预设频率,通过所述第二异步任务对所述第二流程状态数据信息进行维护。

具体而言,获得所述第二任务的第二流程状态数据信息之后,所述第二流程状态数据更新到执行中,并启动所述第二异步任务,定时维护状态数据,以告知其他处理器,本次任务正在执行中。

进一步而言,本申请实施例步骤s7041还包括:

步骤s7041b1:获得第四启动指令;

步骤s7041b2:根据所述第四启动指令,启动第三异步任务;

步骤s7041b3:按照第三预设频率,通过所述第三异步任务判断所述第二任务信息是否取消;

步骤s7041b4:如果所述第二任务信息取消,则获得第一提醒信息;

步骤s7041b5:将所述第一提醒信息发送给主流程。

具体而言,通过启动所述第三异步任务,来定时检查所述第二任务信息是否被取消,若取消,则通知主流程任务被取消。

进一步而言,本申请实施例步骤s1100还包括:

步骤s1101:将所述并行调度完后的所述第一分块数据从数据库中加载至所述第一内存中之后,获得第二检查指令;

步骤s1102:根据所述第二检查指令,判断所述第二任务是否取消,或,判断所述第二任务中的失败次数是否超过预设数量;

步骤s1103:如果超过,则获得第二终止指令,其中,所述第二终止指令用于终止分块任务。

具体而言,所述第一分块数据一次从数据库中加载到所述第一内存之后,检查任务是否取消或者失败任务数量是否超过所述预设数量,如果是,则退出循环并且结束分块任务。

进一步而言,本申请实施例步骤s1300还包括:

步骤s1301:获得所述第三任务的第三流程状态数据信息之后,获得第三检查指令;

步骤s1302:根据所述第三检查指令,检查所述第一分片数据是否全部分片完成;

步骤s1303:如果全部完成,获得所述第一分片数据的多个分片数据的第一数据状态信息和第一执行内容信息;

步骤s1304:获得第一存储指令;

步骤s1305:根据所述第一存储指令,将所述第一数据状态信息和所述第一执行内容信息保存。

具体而言,在执行完、被取消或者分片任务执行失败后,整体流程进入汇总阶段。在获得所述第三流程状态数据信息之后,检查分片任务是否全部完成,并识别任务的状态,继而获得汇总数据。另外,在任务启动后,将每个分片的数据状态和执行详细信息保存到主档数据中。

进一步而言,本申请实施例步骤s1303还包括:

步骤s13031:获得第一汇总指令;

步骤s13032:根据所述第一汇总指令,按照预设汇总逻辑,对所述第一分片数据的多个分片数据的分片执行结果进行统计,其中,所述分片执行结果包括第一结果和第二结果,且所述第一结果为执行成功,所述第二结果为执行失败;

步骤s13033:判断所述第二结果的数量是否超过预设重试次数;

步骤s13034:如果超过,则获得第四输出信息,其中,所述第四输出信息为执行成功信息;

步骤s13035:如果未超过,则获得第五输出信息,其中,所述第五输出信息为执行失败信息。

具体而言,所有分块都执行结束后,依据所述预设汇总逻辑,汇总所述第一分片数据的多个分片数据执行成功和失败的数据量,并评估任务状态。如果执行失败次数超过允许的最大重试次数,则强制执行成功,如果执行失败次数小于等于允许的最大重试次数,则执行所述失败信息。

综上所述,本申请实施例所提供的一种用于财险核心系统的批处理方法具有如下技术效果:

1、由于采用了在任务调度上,使用了先分片后分块并行调度的方案,充分使用了所有服务器的处理能力,将任务处理速度提升到极致;同时针对错误和异常,框架提供了指定的容错能力,并在分片任务失败的情况下提供了重试的能力,保障业务的正常进行。

2、由于采用了通过与ctm的结合,充分复用了现有技术的调度监控能力,在发生重大问题的情况下,运维人员能够及时发现与处理。深入结合保险系统的业务,贴近开发的实际情况,集成新一代核心框架系统,简单化开发与配置,最终实现提升常规定时任务的处理效率和高效监控,满足日益增长的业务需求。

实施例二

基于与前述实施例中一种用于财险核心系统的批处理方法同样发明构思,本发明还提供了一种用于财险核心系统的批处理系统,如图2所示,所述系统包括:

第一获得单元11,所述第一获得单元11用于获得第一任务调度指令和第一任务信息,其中,所述第一任务信息包括第一任务数据;

第二获得单元12,所述第二获得单元12用于根据所述第一任务调度指令,获得所述第一任务信息的第一流程状态数据信息;

第一判断单元13,所述第一判断单元13用于判断所述第一流程状态数据信息是否为重跑数据;

第三获得单元14,所述第三获得单元14用于如果不是所述重跑数据,获得第一输出信息,其中,所述第一输出信息为预检通过信息;

第四获得单元15,所述第四获得单元15用于根据所述第一输出信息,获得所述第一任务的配置数据;

第一执行单元16,所述第一执行单元16用于提取所述第一任务数据中的主档数据并建立第一主档表之后,根据所述配置数据,对所述主档数据进行分片操作处理;

第五获得单元17,所述第五获得单元17用于当所述分片操作处理完成之后,获得第一分片数据,其中,所述第一分片数据中包括多个分片数据;

第六获得单元18,所述第六获得单元18用于获得第二任务调度指令和第二任务信息,并根据所述第二任务调度指令和所述第二任务信息,检索所述财险核心系统中的所有缓存器信息;

第七获得单元19,所述第七获得单元19用于将所述所有缓存器信息存储至第一内存中之后,获得第一分块指令;

第八获得单元20,所述第八获得单元20用于根据所述第一分块指令,对所述第一分片数据进行分块并获得第一分块数据之后,采用线程池对所述第一分块数据进行并行调度;

第二判断单元21,所述第二判断单元21用于当所述并行调度结束之后,判断所述第二任务中的失败次数是否超过预设数量;

第九获得单元22,所述第九获得单元22用于如果未超过,调用预定业务逻辑并获得第一任务结果信息;

第十获得单元23,所述第十获得单元23用于获得第三任务调度指令和第三任务信息,并根据所述第三任务调度指令,对所述第一任务结果信息进行汇总之后,获得第二输出信息。

进一步的,所述系统还包括:

第三判断单元,所述第三判断单元用于根据所述第一任务调度指令,对所述第一任务数据进行初始化之后,判断所述财险核心系统中是否包括第四任务信息,其中,所述第四任务信息与所述第一任务信息具有相同的服务编码;

第十一获得单元,所述第十一获得单元用于如果不包括所述第四任务信息,则获得所述第一流程状态数据信息;

第十二获得单元,所述第十二获得单元用于如果包括所述第四任务信息,则获得第一输出指令;

第二执行单元,所述第二执行单元用于根据所述第一输出指令,终止所述第一任务并返回执行失败结果信息。

进一步的,所述系统还包括:

第十三获得单元,所述第十三获得单元用于获得第一启动指令;

第三执行单元,第三执行单元用于根据所述第一启动指令,启动第一异步任务;

第四执行单元,所述第四执行单元用于按照第一预设频率,通过所述第一异步任务对所述第一流程状态数据信息进行维护。

进一步的,所述系统还包括:

第十四获得单元,所述第十四获得单元用于对所述配置数据进行初始化之后,获得第一检查指令,其中,所述第一检查指令用于检查所述配置数据是否满足预设规则;

第十五获得单元,所述第十五获得单元用于如果所述配置数据满足所述预设规则,则获得第一操作指令;

第五执行单元,所述第五执行单元用于根据所述第一操作指令,提取所述第一任务数据中的主档数据并建立第一主档表之后,根据所述配置数据,对所述主档数据进行分片操作处理。

进一步的,所述系统还包括:

第十六获得单元,所述第十六获得单元用于如果所述第一流程状态数据信息为所述重跑数据,则获得第三输出信息;

第六执行单元,所述第六执行单元用于根据所述第三输出信息,将所述第一任务的流程状态设定为待执行状态之后,返回执行成功信息。

进一步的,所述系统还包括:

第十七获得单元,所述第十七获得单元用于获得第一终止指令;

第七执行单元,所述第七执行单元用于根据所述第一终止指令,终止所述第一异步任务。

进一步的,所述系统还包括:

第四判断单元,所述第四判断单元用于判断所述第一任务的各个流程是否存在异常;

第十八获得单元,所述第十八获得单元用于如果存在异常,获得第一清理指令;

第十九获得单元,所述第十九获得单元用于根据所述第一清理指令,对所述第一任务的各个流程的执行内容进行清除之后,获得第二启动指令;

第八执行单元,所述第八执行单元用于根据所述第二启动指令,启动ctm的重试机制。

进一步的,所述系统还包括:

第二十获得单元,所述第二十获得单元用于根据所述第二任务调度指令,获得所述第二任务信息的第二任务状态信息;

第五判断单元,所述第五判断单元用于判断所述第二任务状态信息是否满足执行所述第二任务的状态;

第六判断单元,所述第六判断单元用于如果满足,则判断所述财险核心系统中是否包括第五任务信息,其中,所述第五任务信息和所述第二任务信息具有相同的分片任务;

第二十一获得单元,所述第二十一获得单元用于如果包括所述第五任务信息,则获得第一返回指令,并根据所述第一返回指令返回至所述ctm之后,获得所述第二任务的第二流程状态数据信息。

进一步的,所述系统还包括:

第二十二获得单元,所述第二十二获得单元用于根据所述第二流程状态数据信息,获得第三启动指令;

第九执行单元,所述第九执行单元用于根据所述第三启动指令,启动第二异步任务;

第十执行单元,所述第十执行单元用于按照第二预设频率,通过所述第二异步任务对所述第二流程状态数据信息进行维护。

进一步的,所述系统还包括:

第二十三获得单元,所述第二十三获得单元用于获得第四启动指令;

第十一执行单元,所述第十一执行单元用于根据所述第四启动指令,启动第三异步任务;

第七判断单元,所述第七判断单元用于按照第三预设频率,通过所述第三异步任务判断所述第二任务信息是否取消;

第二十四获得单元,所述第二十四获得单元用于如果所述第二任务信息取消,则获得第一提醒信息;

第一发送单元,所述第一发送单元用于将所述第一提醒信息发送给主流程。

进一步的,所述系统还包括:

第二十五获得单元,所述第二十五获得单元用于将所述并行调度完后的所述第一分块数据从数据库中加载至所述第一内存中之后,获得第二检查指令;

第八判断单元,所述第八判断单元用于根据所述第二检查指令,判断所述第二任务是否取消,或,判断所述第二任务中的失败次数是否超过预设数量;

第二十六获得单元,所述第二十六获得单元用于如果超过,则获得第二终止指令,其中,所述第二终止指令用于终止分块任务。

进一步的,所述系统还包括:

第二十七获得单元,所述第二十七获得单元用于获得所述第三任务的第三流程状态数据信息之后,获得第三检查指令;

第十二执行单元,所述第十二执行单元用于根据所述第三检查指令,检查所述第一分片数据是否全部分片完成;

第二十八获得单元,所述第二十八获得单元用于如果全部完成,获得所述第一分片数据的多个分片数据的第一数据状态信息和第一执行内容信息;

第二十九获得单元,所述第二十九获得单元用于获得第一存储指令;

第十三执行单元,所述第十三执行单元用于根据所述第一存储指令,将所述第一数据状态信息和所述第一执行内容信息保存。

进一步的,所述系统还包括:

第三十获得单元,所述第三十获得单元用于获得第一汇总指令;

第十三执行单元,所述第十三执行单元用于根据所述第一汇总指令,按照预设汇总逻辑,对所述第一分片数据的多个分片数据的分片执行结果进行统计,其中,所述分片执行结果包括第一结果和第二结果,且所述第一结果为执行成功,所述第二结果为执行失败;

第九判断单元,所述第九判断单元用于判断所述第二结果的数量是否超过预设重试次数;

第三十一获得单元,所述第三十一获得单元用于如果超过,则获得第四输出信息,其中,所述第四输出信息为执行成功信息;

第三十二获得单元,所述第三十二获得单元用于如果未超过,则获得第五输出信息,其中,所述第五输出信息为执行失败信息。

前述图1实施例一中的一种用于财险核心系统的批处理方法的各种变化方式和具体实例同样适用于本实施例的一种用于财险核心系统的批处理系统,通过前述对一种用于财险核心系统的批处理方法的详细描述,本领域技术人员可以清楚的知道本实施例中一种用于财险核心系统的批处理系统,所以为了说明书的简洁,在此不再详述。

示例性电子设备

下面参考图3来描述本申请实施例的电子设备。

图3图示了根据本申请实施例的电子设备的结构示意图。

基于与前述实施例中一种用于财险核心系统的批处理方法的发明构思,本发明还提供一种用于财险核心系统的批处理系统,其上存储有计算机程序,该程序被处理器执行时实现前文所述一种用于财险核心系统的批处理方法的任一方法的步骤。

其中,在图3中,总线架构(用总线300来代表),总线300可以包括任意数量的互联的总线和桥,总线300将包括由处理器302代表的一个或多个处理器和存储器304代表的存储器的各种电路链接在一起。总线300还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口305在总线300和接收器301和发送器303之间提供接口。接收器301和发送器303可以是同一个元件,即收发机,提供用于在传输介质上与各种其他系统通信的单元。

处理器302负责管理总线300和通常的处理,而存储器304可以被用于存储处理器302在执行操作时所使用的数据。

本申请实施例通过提供一种用于财险核心系统的批处理方法,所述方法应用于一财险核心系统,其中,所述方法包括:获得第一任务调度指令和第一任务信息,其中,所述第一任务信息包括第一任务数据;根据所述第一任务调度指令,获得所述第一任务信息的第一流程状态数据信息;判断所述第一流程状态数据信息是否为重跑数据;如果不是所述重跑数据,获得第一输出信息,其中,所述第一输出信息为预检通过信息;根据所述第一输出信息,获得所述第一任务的配置数据;提取所述第一任务数据中的主档数据并建立第一主档表之后,根据所述配置数据,对所述主档数据进行分片操作处理;当所述分片操作处理完成之后,获得第一分片数据,其中,所述第一分片数据中包括多个分片数据;获得第二任务调度指令和第二任务信息,并根据所述第二任务调度指令和所述第二任务信息,检索所述财险核心系统中的所有缓存器信息;将所述所有缓存器信息存储至第一内存中之后,获得第一分块指令;根据所述第一分块指令,对所述第一分片数据进行分块并获得第一分块数据之后,采用线程池对所述第一分块数据进行并行调度;当所述并行调度结束之后,判断所述第二任务中的失败次数是否超过预设数量;如果未超过,调用预定业务逻辑并获得第一任务结果信息;获得第三任务调度指令和第三任务信息,并根据所述第三任务调度指令,对所述第一任务结果信息进行汇总之后,获得第二输出信息。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的系统。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令系统的制造品,该指令系统实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1