一种批量作业续跑方法及装置与流程

文档序号:11154590阅读:1211来源:国知局
一种批量作业续跑方法及装置与制造工艺

本发明涉及软件开发技术领域,更具体地说,涉及一种批量作业续跑方法及装置。



背景技术:

银行系统在日终时,会以批量形式统一对日间联机业务进行业务处理。在批量应用程序运行过程中,可能会由于系统资源限制或者问题业务数据等故障导致应用程序中断。

目前,当运行维护人员排除完故障重新触发批量应用程序时,批量应用程序会将之前生成的数据全部清除并重新进行业务处理,而往往出错的数据只是小部分,这样就会给银行系统带来不必要的负担,从而降低执行效率。



技术实现要素:

有鉴于此,本发明提供一种批量作业续跑方法及装置,以解决现有的技术方案中批量应用程序重新作业导致执行效率低的问题。技术方案如下:

一种批量作业续跑方法,包括:

当接收到批量作业续跑请求时,调取预先构建的至少一个状态任务表,其中,所述状态任务表存储有相应数据库的标志位以及所述数据库中的至少一个数据表的作业标识,所述标志位用于表征所述数据库的运行状态,所述运行状态包括数据表全部处理或数据表未全部处理,所述作业标识用于表征数据表的作业状态,所述作业状态包括处理未完成或处理完成;

针对每一个所述状态任务表,解析其中存储的所述标志位,确定相应所述数据库的运行状态;

针对运行状态为数据表未全部处理的每一个所述数据库,获取对应的所述状态任务表中存储的至少一个所述数据表的作业标识,依据所述作业标识确定各个所述数据表的作业状态,并对作业状态为处理未完成的各个所述数据表进行处理。

优选的,还包括:

当对作业状态为处理未完成的各个所述数据表处理成功之后,对处理成功的各个所述数据表的作业标识进行更新。

优选的,还包括:

针对运行状态为数据表未全部处理的每一个所述数据库,当对所述数据库中作业状态为处理未完成的各个所述数据表全部处理成功之后,对所述数据库的标志位进行更新。

优选的,所述预先构建至少一个状态任务表的过程,包括:

从目标数据源处获取待处理数据;

对所述待处理数据进行分库分表处理,得到至少一个数据库,所述数据库中包含至少一个数据表;

为每一个所述数据表分配一个状态任务表。

一种批量作业续跑装置,包括:状态任务表调取模块、运行状态确定模块和数据处理模块,所述状态任务表调取模块中包括状态任务表构建单元;

所述状态任务表构建单元,用于预先构建至少一个状态任务表;

所述状态任务表调取模块,用于当接收到批量作业续跑请求时,调取预先构建的至少一个状态任务表,其中,所述状态任务表存储有相应数据库的标志位以及所述数据库中的至少一个数据表的作业标识,所述标志位用于表征所述数据库的运行状态,所述运行状态包括数据表全部处理或数据表未全部处理,所述作业标识用于表征数据表的作业状态,所述作业状态包括处理未完成或处理完成;

所述运行状态确定模块,用于针对每一个所述状态任务表,解析其中存储的所述标志位,确定相应所述数据库的运行状态;

所述数据处理模块,用于针对运行状态为数据表未全部处理的每一个所述数据库,获取对应的所述状态任务表中存储的至少一个所述数据表的作业标识,依据所述作业标识确定各个所述数据表的作业状态,并对作业状态为处理未完成的各个所述数据表进行处理。

优选的,还包括:作业标识更新模块;

所述作业标识更新模块,用于当对作业状态为处理未完成的各个所述数据表处理成功之后,对处理成功的各个所述数据表的作业标识进行更新。

优选的,标志位更新模块;

所述标志位更新模块,用于针对运行状态为数据表未全部处理的每一个所述数据库,当对所述数据库中作业状态为处理未完成的各个所述数据表全部处理成功之后,对所述数据库的标志位进行更新。

优选的,状态任务表构建单元包括:待处理数据获取子单元、分库分表子单元和状态任务表分配子单元;

所述待处理数据获取子单元,用于从目标数据源处获取待处理数据;

所述分库分表子单元,用于对所述待处理数据进行分库分表处理,得到至少一个数据库,所述数据库中包含至少一个数据表;

所述状态任务表分配子单元,用于为每一个所述数据表分配一个状态任务表。

相较于现有技术,本发明实现的有益效果为:

以上本发明提供的一种批量作业续跑方法及装置,该方法预先为各数据库构建一个状态任务表来记录数据库中所有数据表的作业状态,当接收到批量作业续跑请求时,通过查询各个状态任务表即可确定各数据库的运行状态以及各数据库中所有数据表的作业状态,从而实现对未处理完成的各个数据表继续处理。基于本发明公开的方法,通过断点续跑减少了银行系统的负担,从而提高了执行效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例一公开的一种批量作业续跑方法流程图;

图2为本发明实施例二公开的一种批量作业续跑方法流程图;

图3为本发明实施例二公开的另一种批量作业续跑方法流程图;

图4为本发明实施例三公开的一种批量作业续跑方法部分流程图;

图5为本发明实施例四公开的一种批量作业续跑装置结构示意图;

图6为本发明实施例五公开的一种批量作业续跑装置结构示意图;

图7为本发明实施例五公开的另一种批量作业续跑装置结构示意图;

图8为本发明实施例六公开的一种批量作业续跑装置部分结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

批处理,指的是利用营业结束后集中对当日业务进行批量处理,通常安排在晚间进行,包括代收代付、利息结算、批量还款、更新总账、备份、清理等操作,是银行业务完整性的一个必要环节。

批量作业,指的是组合调用多个批处理服务的程序单元。

续跑,指的是批量作业遇到异常情况停止的场景下,排除问题之后重启批量作业,从上次出错的位置继续处理。

分库分表,指的是将原来存储有大量数据的数据源,按照某种规则,拆分成多个小数据量的表,并存储在多个数据库中。

实施例一

本发明实施例一公开了一种批量作业续跑方法,该方法应用于批量作业续跑装置,方法流程图如图1所示,包括如下步骤:

S101,当接收到批量作业续跑请求时,调取预先构建的至少一个状态任务表,其中,状态任务表存储有相应数据库的标志位以及数据库中的至少一个数据表的作业标识,标志位用于表征数据库的运行状态,运行状态包括数据表全部处理或数据表未全部处理,作业标识用于表征数据表的作业状态,作业状态包括处理未完成或处理完成;

在执行步骤S101的过程中,预先对目标数据源的数据按照预设规则进行处理,得到包含至少一个数据表的数据库,数据库为一个或多个,并为每个数据库分配一个状态任务表,状态任务表以标志位的方式表示数据库的运行状态,以作业标识的方式表示该数据库中各个数据表的作业状态;

例如,将数据源的1000条数据平均存储到100个数据表中,并将这100个数据表分配到5个数据库,也就是说每个数据表中存储有10条数据,每个数据库中存储有20个数据表;为上述每个数据库分配一个对应的状态任务表,该状态任务表是用来记录该数据库中20个数据表的作业状态,并且,对于每个数据库来说,可利用状态任务表的标志位来表示运行状态,例如,标志位0表示数据表未全部处理,标志位1表示数据表全部处理。

S102,针对每一个状态任务表,解析其中存储的标志位,确定相应数据库的运行状态;

在执行步骤S102的过程中,对于每一个状态任务表来说,其中存储的标志位可表示对应数据库的运行状态,例如,数据库A对应的状态任务表的标志位为0,表示该数据库A中的数据表未全部处理。

S103,针对运行状态为数据表未全部处理的每一个数据库,获取对应的状态任务表中存储的至少一个数据表的作业标识,依据作业标识确定各个数据表的作业状态,并对作业状态为处理未完成的各个数据表进行处理;

在执行步骤S103的过程中,例如,数据库A中包含20个数据表,数据库A的状态任务表的标志位为0,即该数据库A中的数据表未全部处理,然后根据数据库A的状态任务表中20个数据表的作业标识,即可确定20个数据表中哪个是处理完成的,哪个是未处理完成的,最后对未处理完成的数据表继续处理,例如,作业标识D表示数据表处理未完成,作业标识R标识数据表处理完成。

本发明实施例公开的批量作业续跑方法,通过预先为各数据库构建一个状态任务表来记录数据库中所有数据表的作业状态,当接收到批量作业续跑请求时,通过查询各个状态任务表即可确定各数据库的运行状态以及各数据库中所有数据表的作业状态,从而实现对未处理完成的各个数据表继续处理。基于本发明公开的方法,通过断点续跑减少了银行系统的负担,从而提高了执行效率。

实施例二

结合上述实施例一公开的批量作业续跑方法和附图1,本发明实施例二还提供一种批量作业续跑方法,方法流程图如图2所示,包括如下步骤:

S101,当接收到批量作业续跑请求时,调取预先构建的至少一个状态任务表,其中,状态任务表存储有相应数据库的标志位以及数据库中的至少一个数据表的作业标识,标志位用于表征数据库的运行状态,运行状态包括数据表全部处理或数据表未全部处理,作业标识用于表征数据表的作业状态,作业状态包括处理未完成或处理完成;

S102,针对每一个状态任务表,解析其中存储的标志位,确定相应数据库的运行状态;

S103,针对运行状态为数据表未全部处理的每一个数据库,获取对应的状态任务表中存储的至少一个数据表的作业标识,依据作业标识确定各个数据表的作业状态,并对作业状态为处理未完成的各个数据表进行处理;

S104,当对作业状态为处理未完成的各个数据表处理成功之后,对处理成功的各个数据表的作业标识进行更新。

在执行步骤S104的过程中,例如,作业标识D表示数据表处理未完成,作业标识R标识数据表处理完成,当根据作业标识D对相应数据表处理成功之后,在状态任务表中将该数据表的作业标识由D改为R。

需要说明的是,本发明实施例二提供的批量作业续跑方法中,步骤S101~步骤S103的具体执行过程与上述实施例一公开的步骤S101~步骤S103一致,在此不再赘述,请参见本发明实施例一公开的部分。

本发明实施例公开的批量作业续跑方法,通过预先为各数据库构建一个状态任务表来记录数据库中所有数据表的作业状态,当接收到批量作业续跑请求时,通过查询各个状态任务表即可确定各数据库的运行状态以及各数据库中所有数据表的作业状态,从而实现对未处理完成的各个数据表继续处理,并对处理成功的数据表的作业标识进行更新。基于本发明公开的方法,通过断点续跑减少了银行系统的负担,从而提高了执行效率。

结合上述实施例一公开的批量作业续跑方法和附图1,本发明实施例二还提供一种批量作业续跑方法,方法流程图如图3所示,包括如下步骤:

S101,当接收到批量作业续跑请求时,调取预先构建的至少一个状态任务表,其中,状态任务表存储有相应数据库的标志位以及数据库中的至少一个数据表的作业标识,标志位用于表征数据库的运行状态,运行状态包括数据表全部处理或数据表未全部处理,作业标识用于表征数据表的作业状态,作业状态包括处理未完成或处理完成;

S102,针对每一个状态任务表,解析其中存储的标志位,确定相应数据库的运行状态;

S103,针对运行状态为数据表未全部处理的每一个数据库,获取对应的状态任务表中存储的至少一个数据表的作业标识,依据作业标识确定各个数据表的作业状态,并对作业状态为处理未完成的各个数据表进行处理;

S105,针对运行状态为数据表未全部处理的每一个数据库,当对数据库中作业状态为处理未完成的各个数据表全部处理成功之后,对数据库的标志位进行更新;

在执行步骤S105的过程中,例如,标志位0表示数据表未全部处理,标志位1表示数据表全部处理,当根据标志位0对该数据库中的作业状态为处理未完成的各个数据表全部处理成功之后,在状态任务表中将该数据表的标志位由0改为1。

需要说明的是,本发明实施例二提供的批量作业续跑方法中,步骤S101~步骤S103的具体执行过程与上述实施例一公开的步骤S101~步骤S103一致,在此不再赘述,请参见本发明实施例一公开的部分。

本发明实施例公开的批量作业续跑方法,通过预先为各数据库构建一个状态任务表来记录数据库中所有数据表的作业状态,当接收到批量作业续跑请求时,通过查询各个状态任务表即可确定各数据库的运行状态以及各数据库中所有数据表的作业状态,从而实现对未处理完成的各个数据表继续处理,并对数据表全部处理成功的数据库的标志位进行更新。基于本发明公开的方法,通过断点续跑减少了银行系统的负担,从而提高了执行效率。

实施例三

结合上述实施例一和实施例二公开的批量作业续跑方法,如图1至图3所示出的步骤S101中,预先构建至少一个状态任务表的具体执行过程,如图4所示,包括如下步骤:

S201,从目标数据源处获取待处理数据;

S202,对待处理数据进行分库分表处理,得到至少一个数据库,数据库中包含至少一个数据表;

S203,为每一个数据表分配一个状态任务表。

本发明实施例公开的批量作业续跑方法,通过预先为各数据库构建一个状态任务表来记录数据库中所有数据表的作业状态,当接收到批量作业续跑请求时,通过查询各个状态任务表即可确定各数据库的运行状态以及各数据库中所有数据表的作业状态,从而实现对未处理完成的各个数据表继续处理。基于本发明公开的方法,通过断点续跑减少了银行系统的负担,从而提高了执行效率。

实施例四

基于上述各实施例提供的批量作业续跑方法,本发明实施例四则对应公开执行上述批量作业续跑方法的装置,其结构示意图如图5所示,批量作业续跑装置100包括:状态任务表调取模块101、运行状态确定模块102和数据处理模块103,状态任务表调取模块101中包括状态任务表构建单元1011;

状态任务表构建单元1011,用于预先构建至少一个状态任务表;

状态任务表调取模块101,用于当接收到批量作业续跑请求时,调取预先构建的至少一个状态任务表,其中,状态任务表存储有相应数据库的标志位以及数据库中的至少一个数据表的作业标识,标志位用于表征数据库的运行状态,运行状态包括数据表全部处理或数据表未全部处理,作业标识用于表征数据表的作业状态,作业状态包括处理未完成或处理完成;

运行状态确定模块102,用于针对每一个状态任务表,解析其中存储的标志位,确定相应数据库的运行状态;

数据处理模块103,用于针对运行状态为数据表未全部处理的每一个数据库,获取对应的状态任务表中存储的至少一个数据表的作业标识,依据作业标识确定各个数据表的作业状态,并对作业状态为处理未完成的各个数据表进行处理。

本发明实施例公开的批量作业续跑装置,通过预先为各数据库构建一个状态任务表来记录数据库中所有数据表的作业状态,当接收到批量作业续跑请求时,通过查询各个状态任务表即可确定各数据库的运行状态以及各数据库中所有数据表的作业状态,从而实现对未处理完成的各个数据表继续处理。基于本发明公开的装置,通过断点续跑减少了银行系统的负担,从而提高了执行效率。

实施例五

结合上述实施例四公开的批量作业续跑装置和图5,本发明实施例五还提供一种批量作业续跑装置,其结构示意图如图6所示,批量作业续跑装置100还包括:作业标识更新模块104;

作业标识更新模块104,用于当对作业状态为处理未完成的各个数据表处理成功之后,对处理成功的各个数据表的作业标识进行更新。

本发明实施例公开的批量作业续跑装置,通过预先为各数据库构建一个状态任务表来记录数据库中所有数据表的作业状态,当接收到批量作业续跑请求时,通过查询各个状态任务表即可确定各数据库的运行状态以及各数据库中所有数据表的作业状态,从而实现对未处理完成的各个数据表继续处理,并对处理成功的数据表的作业标识进行更新。基于本发明公开的装置,通过断点续跑减少了银行系统的负担,从而提高了执行效率。

结合上述实施例四公开的批量作业续跑装置和图5,本发明实施例五还提供一种批量作业续跑装置,其结构示意图如图7所示,批量作业续跑装置100还包括:标志位更新模块105;

标志位更新模块105,用于针对运行状态为数据表未全部处理的每一个数据库,当对数据库中作业状态为处理未完成的各个数据表全部处理成功之后,对数据库的标志位进行更新。

本发明实施例公开的批量作业续跑装置,通过预先为各数据库构建一个状态任务表来记录数据库中所有数据表的作业状态,当接收到批量作业续跑请求时,通过查询各个状态任务表即可确定各数据库的运行状态以及各数据库中所有数据表的作业状态,从而实现对未处理完成的各个数据表继续处理,并对数据表全部处理成功的数据库的标志位进行更新。基于本发明公开的装置,通过断点续跑减少了银行系统的负担,从而提高了执行效率。

实施例六

结合上述实施例四和实施例五公开的批量作业续跑装置,如图5至图7所示出的状态任务表构建单元1011,其结构示意如图8所示,包括:待处理数据获取子单元201、分库分表子单元202和状态任务表分配子单元203;

待处理数据获取子单元201,用于从目标数据源处获取待处理数据;

分库分表子单元202,用于对待处理数据进行分库分表处理,得到至少一个数据库,数据库中包含至少一个数据表;

状态任务表分配子单元203,用于为每一个数据表分配一个状态任务表。

本发明实施例公开的批量作业续跑装置,通过预先为各数据库构建一个状态任务表来记录数据库中所有数据表的作业状态,当接收到批量作业续跑请求时,通过查询各个状态任务表即可确定各数据库的运行状态以及各数据库中所有数据表的作业状态,从而实现对未处理完成的各个数据表继续处理。基于本发明公开的装置,通过断点续跑减少了银行系统的负担,从而提高了执行效率。

以上对本发明所提供的一种批量作业续跑方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素,或者是还包括为这些过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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