1.本发明涉及批量文件调度方法,尤其是涉及一种批量文件调度处理方法、系统。
背景技术:
2.银行系统在处理多个上游系统的批量文件时,上游文件到达时间不稳定、多个文件处理任务相互依赖,如何实现批量文件的加载、多任务的调度,在合理利用资源的同时高效处理文件是一项重要问题。
3.现有的jobcontrol批量调度方式是将相关参数配置在数据库中,用来处理批量存储过程的调度。最主要的缺点有以下几点:
4.1、只适用于存储过程调度,不适用于当前主流的java程序;
5.2、受限于单一的系统环境。
6.因此,需要研究一种适用于java程序,可灵活配置及迁移的批量文件调度处理方法。
技术实现要素:
7.本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种批量文件调度处理方法。
8.本发明的目的可以通过以下技术方案来实现:
9.一种批量文件调度处理方法,该方法包括:
10.任务配置:包括任务调起时间配置、前驱任务配置;
11.任务调度:扫描任务配置,通过定时调起及前驱任务状态判断相结合的方式进行任务调度;
12.文件处理:基于当前任务,进行任务处理所需文件的批量加载与处理;
13.所述的任务调度和文件处理流程通过java程序执行。
14.优选地,所述的任务配置包括配置任务调度表和任务驱动表,所述的任务调度表中包括任务名称、任务调起时间、任务执行动作,所述的任务驱动表包括任务编号、任务名称、依赖的前驱任务编号、依赖的前驱任务状态。
15.优选地,所述的配置任务调度表和任务驱动表配置于oracle数据库中。
16.优选地,所述的任务调度具体包括:扫描任务配置表,判断是否满足执行时间,若是则扫描任务驱动表,查询所有前驱任务编号,前驱任务状态,当前驱任务均已完成则执行文件处理。
17.优选地,文件处理时采用springbatch进行批量文件的加载及处理。
18.优选地,该方法还包括不同上游系统的不同文件接口统一配置,具体为:在java配置文件中进行文件接口配置,包括配置上游文件名、文件格式、本地表名、对应数据库操作。
19.一种批量文件调度处理系统,该系统包括:
20.任务配置模块:用于任务调起时间配置、前驱任务配置;
21.任务调度模块:用于扫描任务配置,通过定时调起及前驱任务状态判断相结合的方式进行任务调度;
22.文件处理模块:用于基于当前任务进行任务处理所需文件的批量加载与处理;
23.所述的任务调度模块和文件处理模块基于java平台构建。
24.优选地,所述的任务配置模块包括:
25.任务调度表配置子模块:用于配置任务调度表,所述的任务调度表中包括任务名称、任务调起时间、任务执行动作;
26.任务驱动表配置子模块:用于配置任务驱动表,所述的任务驱动表包括任务编号、任务名称、依赖的前驱任务编号、依赖的前驱任务状态。
27.优选地,所述的任务配置模块设置在oracle数据库中。
28.优选地,该系统还包括文件接口配置模块:在java配置文件中进行文件接口配置,包括配置上游文件名、文件格式、本地表名、对应数据库操作。
29.与现有技术相比,本发明具有如下优点:
30.(1)本发明通过任务配置和任务调度实现任务运行时间及频率的可配置化以及多个任务相互依赖的调度,实现高效的批量文件处理,配置完成后启动相关程序即可执行,易用性强;
31.(2)本发明基于java平台进行开发,可移植性强,实用所有可运行java的环境;
32.(3)本发明在java配置文件中进行文件接口配置,后续新增批量文本只需要添加相关配置即可,可扩展性强。
附图说明
33.图1为本发明一种批量文件调度处理方法的流程框图。
34.图2为本发明任务调度和文件处理的执行流程图;
35.图3为本发明一种批量文件调度处理系统的结构框图。
36.图中,1为任务配置模块,2为任务调度模块,3为文件处理模块
具体实施方式
37.下面结合附图和具体实施例对本发明进行详细说明。注意,以下的实施方式的说明只是实质上的例示,本发明并不意在对其适用物或其用途进行限定,且本发明并不限定于以下的实施方式。
38.实施例1
39.如图1所示,本实施例提供一种批量文件调度处理方法,该方法包括:
40.任务配置:包括任务调起时间配置、前驱任务配置;
41.任务调度:扫描任务配置,通过定时调起及前驱任务状态判断相结合的方式进行任务调度;
42.文件处理:基于当前任务,进行任务处理所需文件的批量加载与处理;
43.任务调度和文件处理流程通过java程序执行。
44.本发明基于java平台进行开发,可移植性强,实用所有可运行java的环境。通过任务配置和任务调度实现任务运行时间及频率的可配置化以及多个任务相互依赖的调度,实
现高效的批量文件处理,配置完成后启动相关程序即可执行,易用性强。
45.作为优选的实时方式,配置任务调度表和任务驱动表配置于oracle数据库中,任务配置包括配置任务调度表和任务驱动表,任务调度表中包括任务名称、任务调起时间、任务执行动作,任务驱动表包括任务编号、任务名称、依赖的前驱任务编号、依赖的前驱任务状态。
46.任务调度表中每一条记录对应一个加载任务,系统读取表中配置时间,自动调起相应java程序。
47.如图2所示,任务调度具体包括:扫描任务配置表,判断是否满足执行时间,若是则扫描任务驱动表,查询所有前驱任务编号,前驱任务状态,当前驱任务均已完成则执行文件处理。
48.总结来说:java程序被调起后,读取任务驱动表中该任务所有前驱,当所有前驱任务的状态都已完成时,开始执行加载程序,通过java配置采用springbatch实现动态加载批量文件。批量加载程序结束,将文本相关信息记录在数据库中,并更新当前批量程序状态。
49.此外,该方法还包括不同上游系统的不同文件接口统一配置,具体为:在java配置文件中进行文件接口配置,包括配置上游文件名、文件格式、本地表名、对应数据库操作。通过灵活配置参数实现批量文件的高效处理,后续新增批量文本只需要添加相关配置即可,可扩展性强。
50.实施例2
51.如图3所示,本实施例提供一种批量文件调度处理系统,该系统包括:
52.任务配置模块:用于任务调起时间配置、前驱任务配置;
53.任务调度模块:用于扫描任务配置,通过定时调起及前驱任务状态判断相结合的方式进行任务调度;
54.文件处理模块:用于基于当前任务进行任务处理所需文件的批量加载与处理;
55.任务调度模块和文件处理模块基于java平台构建。
56.其中,任务配置模块设置在oracle数据库中,任务配置模块是整个程序的前提,任务配置模块包括:
57.任务调度表配置子模块:用于配置任务调度表,任务调度表中包括任务名称、任务调起时间、任务执行动作;
58.任务驱动表配置子模块:用于配置任务驱动表,任务驱动表包括任务编号、任务名称、依赖的前驱任务编号、依赖的前驱任务状态。
59.任务调度模块是程序的中枢,主要通过定时调起及前驱作业状态判断相结合的方式,进行任务调度。
60.文件处理模型是程序的基础,主要通过java的springbatch进行批量文件的加载及处理,通过灵活配置参数实现批量文件的高效处理。
61.采用该系统还包括文件接口配置模块:在java配置文件中进行文件接口配置,包括配置上游文件名、文件格式、本地表名、对应数据库操作。通过灵活配置参数实现批量文件的高效处理,后续新增批量文本只需要添加相关配置即可,可扩展性强。
62.采用本实施例一种批量文件调度处理系统进行批量文件调度处理时执行实施例1中记载的一种批量文件调度处理方法,该方法在实施例1中已具体说明,本实施例不再赘
述。
63.上述实施方式仅为例举,不表示对本发明范围的限定。这些实施方式还能以其它各种方式来实施,且能在不脱离本发明技术思想的范围内作各种省略、置换、变更。
技术特征:
1.一种批量文件调度处理方法,其特征在于,该方法包括:任务配置:包括任务调起时间配置、前驱任务配置;任务调度:扫描任务配置,通过定时调起及前驱任务状态判断相结合的方式进行任务调度;文件处理:基于当前任务,进行任务处理所需文件的批量加载与处理;所述的任务调度和文件处理流程通过java程序执行。2.根据权利要求1所述的一种批量文件调度处理方法,其特征在于,所述的任务配置包括配置任务调度表和任务驱动表,所述的任务调度表中包括任务名称、任务调起时间、任务执行动作,所述的任务驱动表包括任务编号、任务名称、依赖的前驱任务编号、依赖的前驱任务状态。3.根据权利要求2所述的一种批量文件调度处理方法,其特征在于,所述的配置任务调度表和任务驱动表配置于oracle数据库中。4.根据权利要求2所述的一种批量文件调度处理方法,其特征在于,所述的任务调度具体包括:扫描任务配置表,判断是否满足执行时间,若是则扫描任务驱动表,查询所有前驱任务编号,前驱任务状态,当前驱任务均已完成则执行文件处理。5.根据权利要求1所述的一种批量文件调度处理方法,其特征在于,文件处理时采用springbatch进行批量文件的加载及处理。6.根据权利要求1所述的一种批量文件调度处理方法,其特征在于,该方法还包括不同上游系统的不同文件接口统一配置,具体为:在java配置文件中进行文件接口配置,包括配置上游文件名、文件格式、本地表名、对应数据库操作。7.一种批量文件调度处理系统,其特征在于,该系统包括:任务配置模块:用于任务调起时间配置、前驱任务配置;任务调度模块:用于扫描任务配置,通过定时调起及前驱任务状态判断相结合的方式进行任务调度;文件处理模块:用于基于当前任务进行任务处理所需文件的批量加载与处理;所述的任务调度模块和文件处理模块基于java平台构建。8.根据权利要求7所述的一种批量文件调度处理系统,其特征在于,所述的任务配置模块包括:任务调度表配置子模块:用于配置任务调度表,所述的任务调度表中包括任务名称、任务调起时间、任务执行动作;任务驱动表配置子模块:用于配置任务驱动表,所述的任务驱动表包括任务编号、任务名称、依赖的前驱任务编号、依赖的前驱任务状态。9.根据权利要求7所述的一种批量文件调度处理系统,其特征在于,所述的任务配置模块设置在oracle数据库中。10.根据权利要求7所述的一种批量文件调度处理系统,其特征在于,该系统还包括文件接口配置模块:在java配置文件中进行文件接口配置,包括配置上游文件名、文件格式、本地表名、对应数据库操作。
技术总结
本发明涉及一种批量文件调度处理方法、系统,该方法包括:任务配置:包括任务调起时间配置、前驱任务配置;任务调度:扫描任务配置,通过定时调起及前驱任务状态判断相结合的方式进行任务调度;文件处理:基于当前任务,进行任务处理所需文件的批量加载与处理;所述的任务调度和文件处理流程通过java程序执行。与现有技术相比,本发明方法执行方便,可移植性和可扩展性强。扩展性强。扩展性强。
技术研发人员:邢文倩 付兴顺 姜华华 徐美美 刘瑛迪 孙一静 陈哲皓
受保护的技术使用者:中银金融科技有限公司
技术研发日:2022.01.28
技术公布日:2022/5/25
转载请注明原文地址:https://tc.8miu.com/read-24645.html