CN112882767A - 一种spring batch批处理作业网页维护的方法及系统 - Google Patents
一种spring batch批处理作业网页维护的方法及系统 Download PDFInfo
- Publication number
- CN112882767A CN112882767A CN202110178208.2A CN202110178208A CN112882767A CN 112882767 A CN112882767 A CN 112882767A CN 202110178208 A CN202110178208 A CN 202110178208A CN 112882767 A CN112882767 A CN 112882767A
- Authority
- CN
- China
- Prior art keywords
- information
- obtaining
- job
- job2
- batch
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000012544 monitoring process Methods 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 11
- 238000012423 maintenance Methods 0.000 claims description 6
- 238000003860 storage Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000010923 batch production Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种spring batch批处理作业网页维护的方法及系统,其中,所述方法包括:新增第一表数据;根据所述第一表数据,获得批量串jobs信息;获得预定job信息启动条件;根据所述批量串jobs信息,获得job1信息;当所述job1信息执行后,获得job2信息;判断所述job2信息是否符合所述预定job信息启动条件;如果所述job2信息符合所述预定job信息启动条件,获得第一执行指令;根据所述第一执行指令,执行所述job2信息;如果所述job2信息不符合所述预定job信息启动条件,获得第一跳过指令;根据所述第一跳过指令,跳过所述job2信息,执行job3信息。解决了现有的springbatch只有job与step步骤之间的关系,不能对多个job执行设置条件的技术问题。
Description
技术领域
本发明涉及spring batch技术领域,尤其涉及一种spring batch批处理作业网页维护的方法及系统。
背景技术
由于国内商业银行交易数量较大,大部分国内商业银行现阶段还是采用的是日终批处理方式计算当日总账,一个Batch(批处理)过程由一个Job(作业)组成,这个实体封装了整个批处理过程。
但本申请发明人在实现本申请实施例中发明技术方案的过程中,发现上述技术至少存在如下技术问题:
现有的springbatch只有job与step步骤之间的关系,不能对多个job执行设置条件。
发明内容
本申请实施例通过提供一种spring batch批处理作业网页维护的方法及系统,解决了现有的springbatch只有job与step步骤之间的关系,不能对多个job执行设置条件的技术问题,达到了通过批量串的方式,多线程的运行多个job,提高运行效率,减少日间批总体时间的技术效果。
本申请实施例提供了一种spring batch批处理作业网页维护的方法,其中,所述方法包括:新增第一表数据;根据所述第一表数据,获得批量串jobs信息,其中所述批量串jobs信息包含多个job信息;获得预定job信息启动条件;根据所述批量串jobs信息,获得job1信息;当所述job1信息执行后,获得job2信息;判断所述job2信息是否符合所述预定job信息启动条件;如果所述job2信息符合所述预定job信息启动条件,获得第一执行指令;根据所述第一执行指令,执行所述job2信息;如果所述job2信息不符合所述预定job信息启动条件,获得第一跳过指令;根据所述第一跳过指令,跳过所述job2信息,执行job3信息,其中,所述job3信息为所述job2信息之后的相邻job信息。
另一方面,本申请还提供了一种spring batch批处理作业网页维护系统,其中,所述系统包括:第一新增单元:所述第一新增单元用于新增第一表数据;第一获得单元:所述第一获得单元用于根据所述第一表数据,获得批量串jobs信息,其中所述批量串jobs信息包含多个job信息;第二获得单元:所述第二获得单元用于获得预定job信息启动条件;第三获得单元:所述第三获得单元用于根据所述批量串jobs信息,获得job1信息;第四获得单元:所述第四获得单元用于当所述job1信息执行后,获得job2信息;第一判断单元:所述第一判断单元用于判断所述job2信息是否符合所述预定job信息启动条件;第五获得单元:所述第五获得单元用于如果所述job2信息符合所述预定job信息启动条件,获得第一执行指令;第一执行单元:所述第一执行单元用于根据所述第一执行指令,执行所述job2信息;第六获得单元:所述第六获得单元用于如果所述job2信息不符合所述预定job信息启动条件,获得第一跳过指令;第二执行单元:所述第二执行单元用于根据所述第一跳过指令,跳过所述job2信息,执行job3信息,其中,所述job3信息为所述job2信息之后的相邻job信息。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
通过新增一张表,不停机下动态加载job运行时间,通过新增批量串jobs,来定义与job之间的先后关系,通过jobs来灵活的管理job,可以一次调用多个job,提高效率,减少批量运行时间,同时通过监听job的方案将job运行状态提取后,采取前后端交互的方式,使得job运行状态可视化。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
图1为本申请实施例一种spring batch批处理作业网页维护的方法的流程示意图;
图2为本申请实施例一种spring batch批处理作业网页维护系统的结构示意图;
图3为本申请实施例示例性电子设备的结构示意图。
附图标记说明:第一新增单元11,第一获得单元12,第二获得单元13,第三获得单元14,第四获得单元15,第一判断单元16,第五获得单元17,第一执行单元18,第六获得单元19,第二执行单元20,总线300,接收器301,处理器302,发送器303,存储器304,总线接口305。
具体实施方式
本申请实施例通过提供一种spring batch批处理作业网页维护的方法及系统,解决了现有的springbatch只有job与step步骤之间的关系,不能对多个job执行设置条件的技术问题,达到了通过批量串的方式,多线程的运行多个job,提高运行效率,减少日间批总体时间的技术效果。
下面,将参考附图详细的描述根据本申请的示例实施例。显然,所描述的实施例仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解,本申请不受这里描述的示例实施例的限制。
申请概述
由于国内商业银行交易数量较大,大部分国内商业银行现阶段还是采用的是日终批处理方式计算当日总账,一个Batch(批处理)过程由一个Job(作业)组成,这个实体封装了整个批处理过程。现有的springbatch只有job与step步骤之间的关系,不能对多个job执行设置条件。
针对上述技术问题,本申请提供的技术方案总体思路如下:
本申请实施例提供了一种spring batch批处理作业网页维护的方法,其中,所述方法包括:新增第一表数据;根据所述第一表数据,获得批量串jobs信息,其中所述批量串jobs信息包含多个job信息;获得预定job信息启动条件;根据所述批量串jobs信息,获得job1信息;当所述job1信息执行后,获得job2信息;判断所述job2信息是否符合所述预定job信息启动条件;如果所述job2信息符合所述预定job信息启动条件,获得第一执行指令;根据所述第一执行指令,执行所述job2信息;如果所述job2信息不符合所述预定job信息启动条件,获得第一跳过指令;根据所述第一跳过指令,跳过所述job2信息,执行job3信息,其中,所述job3信息为所述job2信息之后的相邻job信息。
为了更好地理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
实施例一
如图1所示,本申请实施例提供了一种spring batch批处理作业网页维护的方法,其中,所述方法还包括:
步骤S100:新增第一表数据;
步骤S200:根据所述第一表数据,获得批量串jobs信息,其中所述批量串jobs信息包含多个job信息;
具体而言,因现有的springbatch只有job与step步骤之间的关系,无法对多个job执行设置条件,因此可新增第一表数据,所述第一表数据为由批量串jobs构成的数据,其中,一个批量串包含多个job。其中,所述springbatch,是一个轻量级的、完善的批处理框架,提供了大量可重用的组件,包括了日志、追踪、事务、任务作业统计、任务重启、跳过、重复、资源管理,对于大数据量和高性能的批处理任务,Spring Batch同样提供了高级功能和特性来支持。通过新增一张表,使得启动应用时,加载数据库,动态加载job时间。
步骤S300:获得预定job信息启动条件;
具体而言,已知在job的基础上,新增批量串jobs概念,同时设置job启动的条件,所述预定job信息启动条件为通过配置job之间的先后运行关系和单个job的执行频率来确定启动条件,进一步可理解为,当执行job前判定job的执行频率和上一个job已经完成,即可执行job。
步骤S400:根据所述批量串jobs信息,获得job1信息;
步骤S500:当所述job1信息执行后,获得job2信息;
具体而言,一个批量串Jobs,由多个job组成,单个job封装了单个批处理过程。一个Job(作业)可以由一个或多个Step(步骤)组成。在大多数情况下,一个步骤将读取数据(通过ItemReader),处理数据(使用ItemProcessor),然后写入数据(通过ItemWriter),JobLauncher处理启动一个Job(作业),JobRepository存储关于配置和执行的Job(作业)的元数据。所述job1信息为即将执行的第一个job,当所述job1信息执行结束之后,可获得job2信息,其中,所述job1信息与所述job2信息前后相继,job2为job1的后续执行作业。
步骤S600:判断所述job2信息是否符合所述预定job信息启动条件;
具体而言,执行所述job2信息之前,可先判断其是否符合启动条件,即所述job1信息是否执行完毕,以及所述job2信息的执行频率是否符合条件,其中,job2信息的执行频率包括每日、月初以及月末等,若符合启动条件,可继续执行所述job2信息。
步骤S700:如果所述job2信息符合所述预定job信息启动条件,获得第一执行指令;
步骤S800:根据所述第一执行指令,执行所述job2信息;
具体而言,对所述job2信息是否符合所述预定job信息启动条件进行判断,若所述job2信息符合所述预定job信息启动条件,即所述job1信息执行完毕,同时所述job2信息的执行频率也符合条件,可获得第一执行指令,所述第一执行指令为执行所述job2信息。
步骤S900:如果所述job2信息不符合所述预定job信息启动条件,获得第一跳过指令;
步骤S1000:根据所述第一跳过指令,跳过所述job2信息,执行job3信息,其中,所述job3信息为所述job2信息之后的相邻job信息。
具体而言,对所述job2信息是否符合所述预定job信息启动条件进行判断,若所述job2信息不符合所述预定job信息启动条件,即所述job1信息未执行完毕,和/或所述job2信息的执行频率不符合条件,需要注意,只有当所述job1信息执行完毕,同时所述job2信息的执行频率也符合条件,这两个条件均满足时,才可执行下一个job,否则获得第一跳过指令,所述第一跳过指令为,跳过所述job2信息,执行job3信息,所述job3信息为所述job2信息之后的相邻job信息,以此类推,直到执行完所述批量串jobs信息,达到了灵活管理job,提高执行效率的技术效果。
进一步,本申请实施例还包括:
步骤S110:所述第一表数据包括:job信息、job实例信息、批量串jobs信息、批量串jobs实例信息和批量串jobs与job关系配置信息。
具体而言,新增的所述第一表数据包含多种信息,包括:所述job信息,即job是一个封装整个批处理过程的一个概念,job在spring batch的体系当中只是一个最顶层的一个抽象概念,体现在代码当中则它只是一个最上层的接口;job实例信息,即在springbatch当中,job是最顶层的抽象,除job之外还有jobinstance以及jobexecution这两个更加底层的抽象;批量串jobs信息,即由多个job信息集合而成;批量串jobs实例信息,即由多个jobinstance集合而成;批量串jobs与job关系配置信息,即job信息在批量串jobs信息中的配置关系。
进一步,本申请实施例还包括:
步骤S120:当启动应用服务时,根据所述第一表数据,动态加载job信息与批量串jobs信息的运行时间。
具体而言,通过新增一张表,在启动应用服务时,通过实现接口SchedulingConfigurer,并重写configureTasks方法,加载batch_job和batch_jobs的表数据,实现job与jobs运行时间的动态加载。
进一步,所述根据所述第一表数据,动态加载job信息与批量串jobs信息的运行时间,步骤S120还包括:
步骤S121:通过实现接口SchedulingConfigurer,重写configureTasks方法;
步骤S122:加载job信息与批量串jobs信息的表数据;
步骤S123:动态加载job信息与批量串jobs信息的运行时间。
具体而言,为了对job信息与批量串jobs信息的运行时间进行动态加载,可先通过实现接口SchedulingConfigurer,重写configureTasks方法,因为在Spring中,创建定时任务除了使用@Scheduled注解外,还可以使用SchedulingConfigurer,@Schedule注解有一个缺点,其定时的时间不能动态的改变,而基于SchedulingConfigurer接口的方式可以做到。SchedulingConfigurer接口可以实现在@Configuration类上,同时还需要@EnableScheduling注解的支持。进而加载job信息与批量串jobs信息的表数据,表数据信息加载完成之后,对job信息与批量串jobs信息的运行时间进行动态加载。
进一步,所述获得预定job信息启动条件,步骤S310还包括:
步骤S311:根据所述批量串jobs与job关系配置信息,获得预定相邻job信息之间的顺序关系;
步骤S312:根据所述批量串jobs与job关系配置信息,获得各job信息的预定执行频率;
步骤S313:根据所述预定相邻job信息之间的顺序关系和所述各job信息的预定执行频率,获得所述预定job信息启动条件。
具体而言,需要获得预定job信息启动条件,可先根据所述批量串jobs与job关系配置信息,获得预定相邻job信息之间的顺序关系,即获得批量串jobs内部各job之间的先后顺序关系,举例而言,job1之后是并行的job2和job3,进而job2之后是job4,job3之后是job5的顺序关系等,进而根据所述批量串jobs与job关系配置信息,获得各job信息的预定执行频率,所述预定执行频率为单个job的执行频率,可以是每日、月初或月末等频率,进而根据所述预定相邻job信息之间的顺序关系和所述各job信息的预定执行频率,获得所述预定job信息启动条件,即在明确预定相邻job信息之间的顺序关系和各job信息的预定执行频率之后,启动job信息。
进一步,所述判断所述job2信息是否符合所述预定job信息启动条件,步骤S600还包括:
步骤S610:判断所述job2信息的执行频率是否符合所述job2信息的预定执行频率,且;
步骤S620:判断所述job1信息是否完成。
步骤S630:如果所述job2信息执行频率符合所述job2信息的预定执行频率,获得第一执行指令。
具体而言,在执行所述job2信息之前,需判断所述job2信息的执行频率是否符合所述job2信息的预定执行频率,举例而言,若所述job2信息的预定频率为月初,而所述job2信息的执行频率为每日,则频率信息不一致,无法执行所述job2信息,同时还需判断所述job1信息是否完成,举例而言,若所述job1信息执行到一半,则无法执行所述job2信息,若所述job2信息执行频率符合所述job2信息的预定执行频率,即执行频率一致,可获得第一执行指令,所述第一执行指令为执行所述job2信息。
进一步,所述获得第一执行指令之前,步骤S630还包括:
步骤S631:判断所述job1信息是否完成;
步骤S632:如果所述job1信息已完成,获得第一执行指令。
具体而言,在执行所述第一执行指令即执行所述job2信息之前,除了判断所述job2信息的执行频率是否符合所述job2信息的预定执行频率,还需判断所述job1信息是否完成,若所述job1信息还未完成,是无法执行所述job2信息的,只有当所述job1信息已经完成,才可获得第一执行指令,进而执行所述job2信息。
进一步,所述如果所述job2信息不符合所述预定job信息启动条件,获得第一跳过指令,步骤S900还包括:
步骤S910:如果所述job2信息执行频率不符合所述job2信息的预定执行频率,获得第一跳过指令。
具体而言,如果所述job2信息不符合所述预定job信息启动条件,可具体判定所述job2信息不符合哪种条件,因启动条件包含两种条件,即所述job1信息是否完成和所述job2信息执行频率是否符合所述job2信息的预定执行频率,可先判断所述job2信息执行频率是否符合所述job2信息的预定执行频率,若所述job2信息执行频率不符合所述job2信息的预定执行频率,则获得第一跳过指令,自动跳过所述job2信息,执行下一个job。
进一步,所述获得第一跳过指令之前,步骤S910还包括:
步骤S911:判断所述job1信息是否完成;
步骤S912:如果所述job1信息已完成,获得第一跳过指令。
具体而言,获得第一跳过指令之前,判断所述job2信息执行频率是否符合所述job2信息的预定执行频率之后,还需判断所述job1信息是否完成,若所述job1信息未完成,则不可跳过,待所述job1信息执行完毕之后,在获得第一跳过指令,总之,只有当所述job1信息执行完毕,且所述job2信息执行频率不符合所述job2信息的预定执行频率,才可获得第一跳过指令,自动跳过所述job2信息,执行下一个job。
进一步,本申请实施例还包括:
步骤S1110:获得第一监听信息,所述第一监听信息用于监听所述job信息的运行状态;
步骤S1120:根据所述第一监听信息,获得监听数据信息;
步骤S1130:将所述监听数据信息加载到所述job实例信息。
具体而言,为了实现job状态的可视化页面,还可获得第一监听信息,所述第一监听信息用于监听所述job信息的运行状态,进而获得监听数据信息,通过监听job信息的运行状态,进而将监听数据保存到数据库,通过前后端交互的方式,达到可视化查看批量运行状态,进而对状态异常的job进行处理。
进一步,所述获得第一监听信息,步骤S1110还包括:
步骤S1111:实现接口org.springframework.batch.core.JobExecutionListen,重写beforeJob与afterJob方法,获得所述第一监听信息。
具体而言,要进一步对job运行状态进行监听,可通过实现接口org.springframework.batch.core.JobExecutionListen,重写beforeJob与afterJob方法,beforeJob与配置的顺序一样,afterJob与配置的顺序相反,进而获得所述第一监听信息。job监听器有两种实现方式:使用注解@BeforeJob、@AfterJob和实现接口JobExecutionListener。需要注意的是,无论Job是否成功执行,afterJob方法都会执行,Job是否执行成功,可以从JobExecution中获取。
综上所述,本申请实施例所提供的一种spring batch批处理作业网页维护的方法及系统具有如下技术效果:
1、通过新增一张表,不停机下动态加载job运行时间,通过新增批量串jobs,来定义与job之间的先后关系,通过jobs来灵活的管理job,可以一次调用多个job,提高效率,减少批量运行时间,同时通过监听job的方案将job运行状态提取后,采取前后端交互的方式,使得job运行状态可视化。
2、通过判断所述job1信息是否完成,进而判断所述job2信息的执行频率是否符合所述job2信息的预定执行频率,以确保在同时满足执行条件的情况下,执行所述job2信息,进而确保批量串jobs顺利执行,以提高执行效率。
实施例二
基于与前述实施例中一种spring batch批处理作业网页维护的方法同样发明构思,本发明还提供了一种spring batch批处理作业网页维护系统,如图2所示,所述系统包括:
第一新增单元11:所述第一新增单元11用于新增第一表数据;
第一获得单元12:所述第一获得单元12用于根据所述第一表数据,获得批量串jobs信息,其中所述批量串jobs信息包含多个job信息;
第二获得单元13:所述第二获得单元13用于获得预定job信息启动条件;
第三获得单元14:所述第三获得单元14用于根据所述批量串jobs信息,获得job1信息;
第四获得单元15:所述第四获得单元15用于当所述job1信息执行后,获得job2信息;
第一判断单元16:所述第一判断单元16用于判断所述job2信息是否符合所述预定job信息启动条件;
第五获得单元17:所述第五获得单元17用于如果所述job2信息符合所述预定job信息启动条件,获得第一执行指令;
第一执行单元18:所述第一执行单元18用于根据所述第一执行指令,执行所述job2信息;
第六获得单元19:所述第六获得单元19用于如果所述job2信息不符合所述预定job信息启动条件,获得第一跳过指令;
第二执行单元20:所述第二执行单元20用于根据所述第一跳过指令,跳过所述job2信息,执行job3信息,其中,所述job3信息为所述job2信息之后的相邻job信息。
进一步的,所述系统还包括:
第一加载单元:所述第一加载单元用于当启动应用服务时,根据所述第一表数据,动态加载job信息与批量串jobs信息的运行时间。
进一步的,所述系统还包括:
第一重写单元:所述第一重写单元用于通过实现接口SchedulingConfigurer,重写configureTasks方法;
第二加载单元:所述第二加载单元用于加载job信息与批量串jobs信息的表数据;
第三加载单元:所述第三加载单元用于动态加载job信息与批量串jobs信息的运行时间。
进一步的,所述系统还包括:
第二重写单元:所述第二重写单元用于通过实现接口SchedulingConfigurer,重写configureTasks方法;
第四加载单元:所述第四加载单元用于加载job信息与批量串jobs信息的表数据;
第五加载单元:所述第五加载单元用于动态加载job信息与批量串jobs信息的运行时间。
进一步的,所述系统还包括:
第六获得单元:所述第六获得单元用于根据所述批量串jobs与job关系配置信息,获得预定相邻job信息之间的顺序关系;
第七获得单元:所述第七获得单元用于根据所述批量串jobs与job关系配置信息,获得各job信息的预定执行频率;
第八获得单元:所述第八获得单元用于根据所述预定相邻job信息之间的顺序关系和所述各job信息的预定执行频率,获得所述预定job信息启动条件。
进一步的,所述系统还包括:
第一判断单元:所述第一判断单元用于判断所述job2信息的执行频率是否符合所述job2信息的预定执行频率,且;
第二判断单元:所述第二判断单元用于判断所述job1信息是否完成。
进一步的,所述系统还包括:
第九获得单元:所述第九获得单元用于如果所述job2信息执行频率符合所述job2信息的预定执行频率,获得第一执行指令。
进一步的,所述系统还包括:
第三判断单元:所述第三判断单元用于判断所述job1信息是否完成;
第十获得单元:所述第十获得单元用于如果所述job1信息已完成,获得第一执行指令。
进一步的,所述系统还包括:
第十一获得单元:所述第十一获得单元用于如果所述job2信息执行频率不符合所述job2信息的预定执行频率,获得第一跳过指令。
进一步的,所述系统还包括:
第四判断单元:所述第四判断单元用于判断所述job1信息是否完成;
第十二获得单元:所述第十二获得单元用于如果所述job1信息已完成,获得第一跳过指令。
进一步的,所述系统还包括:
第十三获得的单元:所述第十三获得单元用于获得第一监听信息,所述第一监听信息用于监听所述job信息的运行状态;
第十四获得单元:所述第十四获得单元用于根据所述第一监听信息,获得监听数据信息;
第六加载单元:所述第六加载单元用于将所述监听数据信息加载到所述job实例信息。
进一步的,所述系统还包括:
第十五获得单元:所述第十五获得单元用于实现接口org.springframework.batch.core.JobExecutionListen,重写beforeJob与afterJob方法,获得所述第一监听信息。
前述图1实施例一中的一种spring batch批处理作业网页维护的方法的各种变化方式和具体实例同样适用于本实施例的一种spring batch批处理作业网页维护系统,通过前述对一种spring batch批处理作业网页维护的方法的详细描述,本领域技术人员可以清楚的知道本实施例中一种spring batch批处理作业网页维护系统的实施方法,所以为了说明书的简洁,再次不再详述。
实施例三
下面参考图3来描述本申请实施例的电子设备。
图3图示了根据本申请实施例的电子设备的结构示意图。
基于与前述实施例中一种spring batch批处理作业网页维护的方法的发明构思,本发明还提供一种spring batch批处理作业网页维护系统,其上存储有计算机程序,该程序被处理器执行时实现前文所述一种spring batch批处理作业网页维护的方法的任一方法的步骤。
其中,在图3中,总线架构(用总线300来代表),总线300可以包括任意数量的互联的总线和桥,总线300将包括由处理器302代表的一个或多个处理器和存储器304代表的存储器的各种电路链接在一起。总线300还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口305在总线300和接收器301和发送器303之间提供接口。接收器301和发送器303可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器302负责管理总线300和通常的处理,而存储器304可以被用于存储处理器302在执行操作时所使用的数据。
本申请实施例提供了一种spring batch批处理作业网页维护的方法,其中,所述方法包括:新增第一表数据;根据所述第一表数据,获得批量串jobs信息,其中所述批量串jobs信息包含多个job信息;获得预定job信息启动条件;根据所述批量串jobs信息,获得job1信息;当所述job1信息执行后,获得job2信息;判断所述job2信息是否符合所述预定job信息启动条件;如果所述job2信息符合所述预定job信息启动条件,获得第一执行指令;根据所述第一执行指令,执行所述job2信息;如果所述job2信息不符合所述预定job信息启动条件,获得第一跳过指令;根据所述第一跳过指令,跳过所述job2信息,执行job3信息,其中,所述job3信息为所述job2信息之后的相邻job信息。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
实施例四
示例性可读存储介质
基于与前述实施例中一种spring batch批处理作业网页维护的方法同样的发明构思,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:
新增第一表数据;根据所述第一表数据,获得批量串jobs信息,其中所述批量串jobs信息包含多个job信息;获得预定job信息启动条件;根据所述批量串jobs信息,获得job1信息;当所述job1信息执行后,获得job2信息;判断所述job2信息是否符合所述预定job信息启动条件;如果所述job2信息符合所述预定job信息启动条件,获得第一执行指令;根据所述第一执行指令,执行所述job2信息;如果所述job2信息不符合所述预定job信息启动条件,获得第一跳过指令;根据所述第一跳过指令,跳过所述job2信息,执行job3信息,其中,所述job3信息为所述job2信息之后的相邻job信息。
Claims (15)
1.一种spring batch批处理作业网页维护的方法,其中,所述方法包括:
新增第一表数据;
根据所述第一表数据,获得批量串jobs信息,其中所述批量串jobs信息包含多个job信息;
获得预定job信息启动条件;
根据所述批量串jobs信息,获得job1信息;
当所述job1信息执行后,获得job2信息;
判断所述job2信息是否符合所述预定job信息启动条件;
如果所述job2信息符合所述预定job信息启动条件,获得第一执行指令;
根据所述第一执行指令,执行所述job2信息;
如果所述job2信息不符合所述预定job信息启动条件,获得第一跳过指令;
根据所述第一跳过指令,跳过所述job2信息,执行job3信息,其中,所述job3信息为所述job2信息之后的相邻job信息。
2.如权利要求1所述的方法,其中,所述第一表数据包括:job信息、job实例信息、批量串jobs信息、批量串jobs实例信息和批量串jobs与job关系配置信息。
3.如权利要求2所述的方法,其中,所述方法包括:
当启动应用服务时,根据所述第一表数据,动态加载job信息与批量串jobs信息的运行时间。
4.如权利要求3所述的方法,其中,所述根据所述第一表数据,动态加载job信息与批量串jobs信息的运行时间,包括:
通过实现接口SchedulingConfigurer,重写configureTasks方法;
加载job信息与批量串jobs信息的表数据;
动态加载job信息与批量串jobs信息的运行时间。
5.如权利要求2所述的方法,其中,所述获得预定job信息启动条件,包括:
根据所述批量串jobs与job关系配置信息,获得预定相邻job信息之间的顺序关系;
根据所述批量串jobs与job关系配置信息,获得各job信息的预定执行频率;
根据所述预定相邻job信息之间的顺序关系和所述各job信息的预定执行频率,获得所述预定job信息启动条件。
6.如权利要求5所述的方法,其中,所述判断所述job2信息是否符合所述预定job信息启动条件,包括:
判断所述job2信息的执行频率是否符合所述job2信息的预定执行频率,且;
判断所述job1信息是否完成。
7.如权利要求6所述的方法,其中,所述如果所述job2信息符合所述预定job信息启动条件,获得第一执行指令,包括:
如果所述job2信息执行频率符合所述job2信息的预定执行频率,获得第一执行指令。
8.如权利要求7所述的方法,其中,在获得第一执行指令之前,包括:
判断所述job1信息是否完成;
如果所述job1信息已完成,获得第一执行指令。
9.如权利要求6所述的方法,其中,所述如果所述job2信息不符合所述预定job信息启动条件,获得第一跳过指令,包括:
如果所述job2信息执行频率不符合所述job2信息的预定执行频率,获得第一跳过指令。
10.如权利要求9所述的方法,其中,在获得第一跳过指令之前,包括:
判断所述job1信息是否完成;
如果所述job1信息已完成,获得第一跳过指令。
11.如权利要求2所述的方法,其中,所述方法包括:
获得第一监听信息,所述第一监听信息用于监听所述job信息的运行状态;
根据所述第一监听信息,获得监听数据信息;
将所述监听数据信息加载到所述job实例信息。
12.如权利要求11所述的方法,其中,所述获得第一监听信息,包括:
实现接口org.springframework.batch.core.JobExecutionListen,重写beforeJob与afterJob方法,获得所述第一监听信息。
13.一种spring batch批处理作业网页维护系统,其中,所述系统包括:
第一新增单元:所述第一新增单元用于新增第一表数据;
第一获得单元:所述第一获得单元用于根据所述第一表数据,获得批量串jobs信息,其中所述批量串jobs信息包含多个job信息;
第二获得单元:所述第二获得单元用于获得预定job信息启动条件;
第三获得单元:所述第三获得单元用于根据所述批量串jobs信息,获得job1信息;
第四获得单元:所述第四获得单元用于当所述job1信息执行后,获得job2信息;
第一判断单元:所述第一判断单元用于判断所述job2信息是否符合所述预定job信息启动条件;
第五获得单元:所述第五获得单元用于如果所述job2信息符合所述预定job信息启动条件,获得第一执行指令;
第一执行单元:所述第一执行单元用于根据所述第一执行指令,执行所述job2信息;
第六获得单元:所述第六获得单元用于如果所述job2信息不符合所述预定job信息启动条件,获得第一跳过指令;
第二执行单元:所述第二执行单元用于根据所述第一跳过指令,跳过所述job2信息,执行job3信息,其中,所述job3信息为所述job2信息之后的相邻job信息。
14.一种spring batch批处理作业网页维护系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现权利要求1-12任一项所述方法的步骤。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-12任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110178208.2A CN112882767A (zh) | 2021-02-08 | 2021-02-08 | 一种spring batch批处理作业网页维护的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110178208.2A CN112882767A (zh) | 2021-02-08 | 2021-02-08 | 一种spring batch批处理作业网页维护的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112882767A true CN112882767A (zh) | 2021-06-01 |
Family
ID=76056252
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110178208.2A Pending CN112882767A (zh) | 2021-02-08 | 2021-02-08 | 一种spring batch批处理作业网页维护的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112882767A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006065566A (ja) * | 2004-08-26 | 2006-03-09 | Casio Comput Co Ltd | バッチ処理装置、および、プログラム |
US20070234363A1 (en) * | 2006-03-31 | 2007-10-04 | Ebay Inc. | Batch scheduling |
CN104933618A (zh) * | 2015-06-03 | 2015-09-23 | 中国银行股份有限公司 | 核心银行系统批量作业运行数据的监控方法及装置 |
CN109814983A (zh) * | 2019-01-02 | 2019-05-28 | 深圳壹账通智能科技有限公司 | 任务批处理方法、装置、计算机设备和存储介质 |
CN111309372A (zh) * | 2020-01-15 | 2020-06-19 | 中国平安财产保险股份有限公司 | 定时任务执行方法、装置、计算机设备和存储介质 |
CN111400139A (zh) * | 2020-03-18 | 2020-07-10 | 中国建设银行股份有限公司 | 多数据中心批量作业的管控和调度系统、方法及存储介质 |
CN112035233A (zh) * | 2020-09-01 | 2020-12-04 | 中国银行股份有限公司 | 大数据批量作业任务调度方法及装置 |
-
2021
- 2021-02-08 CN CN202110178208.2A patent/CN112882767A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006065566A (ja) * | 2004-08-26 | 2006-03-09 | Casio Comput Co Ltd | バッチ処理装置、および、プログラム |
US20070234363A1 (en) * | 2006-03-31 | 2007-10-04 | Ebay Inc. | Batch scheduling |
CN104933618A (zh) * | 2015-06-03 | 2015-09-23 | 中国银行股份有限公司 | 核心银行系统批量作业运行数据的监控方法及装置 |
CN109814983A (zh) * | 2019-01-02 | 2019-05-28 | 深圳壹账通智能科技有限公司 | 任务批处理方法、装置、计算机设备和存储介质 |
CN111309372A (zh) * | 2020-01-15 | 2020-06-19 | 中国平安财产保险股份有限公司 | 定时任务执行方法、装置、计算机设备和存储介质 |
CN111400139A (zh) * | 2020-03-18 | 2020-07-10 | 中国建设银行股份有限公司 | 多数据中心批量作业的管控和调度系统、方法及存储介质 |
CN112035233A (zh) * | 2020-09-01 | 2020-12-04 | 中国银行股份有限公司 | 大数据批量作业任务调度方法及装置 |
Non-Patent Citations (1)
Title |
---|
黎冰等: "基于灰色机会约束规划的不确定条件下车间作业调度", 《高技术通讯》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103034554B (zh) | 一种纠错重启以及自动判断启动的etl调度系统及方法 | |
US7979864B2 (en) | Apparatus for setting used license of executing job into unused license state and allocating the set unused license to a to be executed job based on priority | |
CN109032914A (zh) | 资源占用数据预测方法、电子设备、存储介质 | |
CN110806933B (zh) | 一种批量任务处理方法、装置、设备和存储介质 | |
CN110427258B (zh) | 基于云平台的资源调度控制方法及装置 | |
WO2010058222A2 (en) | Updating data within a business planning tool | |
CN110362531A (zh) | 一种自动归档方法及装置 | |
CN110599341A (zh) | 交易调用方法及系统 | |
CN112748993A (zh) | 任务执行方法、装置、存储介质及电子设备 | |
CN111488323A (zh) | 一种数据处理方法、装置及电子设备 | |
US10313261B1 (en) | Tenant assignment system | |
CN114139923A (zh) | 任务关联性分析方法、装置及计算机可读存储介质 | |
CN112150262B (zh) | 账实核对数据处理方法及装置 | |
CN112882767A (zh) | 一种spring batch批处理作业网页维护的方法及系统 | |
CN113342512B (zh) | 一种io任务静默与驱动方法、装置及相关设备 | |
CN115185825A (zh) | 接口测试的调度方法及装置 | |
JP2023537956A (ja) | データクエリの予期的な事前実行 | |
CN112131051A (zh) | 基于参数化配置的数据备份方法及装置 | |
US8296336B2 (en) | Techniques for efficient dataloads into partitioned tables using swap tables | |
CN110837399A (zh) | 一种管理流式计算应用程序的方法、装置及计算设备 | |
CN110971664A (zh) | 一种接口服务管理系统 | |
CN112860779B (zh) | 一种批量数据导入方法及装置 | |
CN113918299A (zh) | 一种批量作业的处理方法及系统 | |
CN117194002A (zh) | 一种应用于分布式计算引擎的处理方法及装置 | |
CN116303361A (zh) | 业务数据迁移方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210601 |
|
RJ01 | Rejection of invention patent application after publication |