一种动态化任务配置及调度方法技术

技术编号:28372830 阅读:13 留言:0更新日期:2021-05-07 23:59
本发明专利技术涉及Java开发技术领域,具体为一种动态化任务配置及调度方法,包括有任务制定和任务执行,其中任务制定中,根据各个任务中的属性,通过抽象共有属性生成抽象类,不同属性生成具体的实现对象。本发明专利技术对任务进行最小粒度的拆分,拆分完的子任务进行抽象处理,最后对抽象的子任务进行模块化,组件化,任务模块化、组件化后能够提高组件的可复用性;针对不同的任务流程通过动态配置业务数据来源,选择任务处理组件实现业务数据与任务组件的解耦,使数据整合更加简单,更加趋向于数据本身;多任务的组合使得数据处理流程化,通过接口或定时任务的方式处理数据整合中遇到的各种复杂任务。

【技术实现步骤摘要】
一种动态化任务配置及调度方法
本专利技术涉及Java开发
,具体为一种动态化任务配置及调度方法。
技术介绍
当前大数据发展的时代背景下,各种业务系统之间的数据整合共享已经成为一种趋势,而在这个过程中会用到大量数据抽取、归并、整理、聚合、加密、发布、分析等需求,但在一般业务系统中,大部分的需求实现都是通过硬编码的方式或者借助第三方ETL工具去实现。这类系统在用户的实际使用过程中,需要根据客户需求进行代码修改和调整,效率低下而且必须由编码人员完成,受到的限制比较多;而第三方工具往往无法处理多源异构数据的情况,因此开发一种动态生成任务调度的设计方法显得尤为重要。
技术实现思路
本专利技术的目的在于提供一种动态化任务配置及调度方法,结合政务资源目录,解决政府、企业客户单位数据来源和去向不固定,以及处理方式多样化的痛点,构建基于互联网的任务定义、任务调度平台,提供组件定制、任务定义、任务调度、自定义任务执行等功能。通过组件的动态组合生成多样化的任务,由接口或定时器执行实现任务调度。为解决上述技术问题,本专利技术一种动态化任务配置及调度方法包括有:包括有任务制定和任务执行,其中任务制定中,根据各个任务中的属性,通过抽象共有属性生成抽象类,不同属性生成具体的实现对象。进一步的,所述的任务制定中每一个并行任务都视为任务组件实现任务实现接口的同时继承任务抽象类,所有实现类分为查询任务和处理任务两大类,各子类分别有自己的派生类和子类体系,子类实现了RMDB的ETL和DLL,数据的打包导出导入和非关系型数据库的ETL,其中包括Hadoop体系和Neo4j,包含数据治理过程、数据清洗过程、统计分析过程等。进一步的,所述的任务执行包括有如下步骤:S1.任务通过接口或定时任务来启动执行;S2.任务开始执行时对任务进行解析,把任务抽象为XML字符串;S3.解析XML字符串并生成执行任务,任务由多个层级子任务组成,每个层级子任务又包含若干个并行子任务,任务是逐层执行的,如果当前层级的任务都完成,那么就会执行下一层级任务,直到所有层级的任务都完成;S4.每个层级的任务都设置超时时间,并且设置超时后的处理方式;S4.1.设置当前层级超时后中断后面任务的执行,则出现超时整个任务结束;S4.2.设置当前层级超时后不中断后面任务的执行,则执行下一层级的任务,直到所有层级任务执行完成。本专利技术的有益效果是:1.对任务进行最小粒度的拆分,拆分完的子任务进行抽象处理,最后对抽象的子任务进行模块化,组件化,任务模块化、组件化后能够提高组件的可复用性;2.针对不同的任务流程通过动态配置业务数据来源,选择任务处理组件实现业务数据与任务组件的解耦,使数据整合更加简单,更加趋向于数据本身;3.多任务的组合使得数据处理流程化,通过接口或定时任务的方式处理数据整合中遇到的各种复杂任务。附图说明图1为本专利技术任务指定原理图;图2为本专利技术任务执行流程图。具体实施方式如图1、图2所示,本专利技术一种动态化任务配置及调度方法包括有:包括有任务制定和任务执行,其中任务制定中,根据各个任务中的属性,通过抽象共有属性生成抽象类,不同属性生成具体的实现对象。进一步的,所述的任务制定中每一个并行任务都视为任务组件实现任务实现接口的同时继承任务抽象类,所有实现类分为查询任务和处理任务两大类,各子类分别有自己的派生类和子类体系,子类实现了RMDB的ETL和DLL,数据的打包导出导入和非关系型数据库的ETL,其中包括Hadoop体系和Neo4j,包含数据治理过程、数据清洗过程、统计分析过程等。进一步的,所述的任务执行包括有如下步骤:S1.任务通过接口或定时任务来启动执行;S2.任务开始执行时对任务进行解析,把任务抽象为XML字符串;S3.解析XML字符串并生成执行任务,任务由多个层级子任务组成,每个层级子任务又包含若干个并行子任务,任务是逐层执行的,如果当前层级的任务都完成,那么就会执行下一层级任务,直到所有层级的任务都完成;S4.每个层级的任务都设置超时时间,并且设置超时后的处理方式;S4.1.设置当前层级超时后中断后面任务的执行,则出现超时整个任务结束;S4.2.设置当前层级超时后不中断后面任务的执行,则执行下一层级的任务,直到所有层级任务执行完成。本专利技术对任务进行最小粒度的拆分,拆分完的子任务进行抽象处理,最后对抽象的子任务进行模块化,组件化。任务模块化、组件化后能够提高组件的可复用性;针对不同的任务流程通过动态配置业务数据来源,选择任务处理组件实现业务数据与任务组件的解耦,使数据整合更加简单,更加趋向于数据本身;多任务的组合使得数据处理流程化,通过接口或定时任务的方式处理数据整合中遇到的各种复杂任务。实施例一:数据同步中任务目标是从一个数据库抽取数据同步到另一个数据库中,两个数据库可以是同构或异构数据库。整个任务实现步骤:1)任务界面化配置。新建任务,选取数据删除及新增执行组件,配置组件所需属性:是否异步、超时时间、数据来源、来源sql、去向数据源、目标表名、字段名称、分割符号及操作类型。2)任务执行S1.点击任务执行按钮,调用任务执行接口。S2.任务开始执行时对任务进行解析,把任务抽象为XML字符串;S3.解析XML字符串并生成执行任务,任务首先连接数据来源库,执行来源sql语句,然后连接去向数据源,根据目标表名、字段名称、分割符号及操作类型生成相应的插入sql语句并执行。实现从一个数据抽取数据同步到另一个数据库中。S4.层级的任务设置超时时间为180秒,并且设置当前层级超时后中断任务的执行,以避任务未执行成功,导致任务死锁的情况发生。3)该任务组件可以处理所有的数据同步任务,只需要在任务定义时配置不同的组件属性,执行任务即可。实施例二:索引创建及生成的任务目标是:1)从数据库查询抽取数据文件内容生成不同类型的文件;2)对已生成的文件创建文件索引并提供全文检索功能。整个任务实现步骤:1)任务界面化配置。新建任务,选取组件并配置组件所需属性。该任务由一个数据源生成DB文件组件和一个全文检索建立索引组件组合而成。数据源生成DB文件组件:节点名称、是否异步、超时时间、节点备注及生成文件存放地址;数据源生成DB文件组件:节点名称、是否异步、超时时间、节点备注及调用方法。2)任务执行S1.点击任务执行按钮,调用任务执行接口。S2.任务开始执行时对任务进行解析,把任务抽象为XML字符串;当前任务是有两个节点,所以会出现两个序列。S3.解析XML字符串并生成执行任务,当前任务有两个子任务组成,第一个任务是数据源生DB文件,首先根据配置属性查询数据内容,获取到数据内容后根据文件类型生成相应文件到磁盘上;第二个任务是全文检索创建索引,本文档来自技高网...

【技术保护点】
1.一种动态化任务配置及调度方法,其特征在于:包括有任务制定和任务执行,其中任务制定中,根据各个任务中的属性,通过抽象共有属性生成抽象类,不同属性生成具体的实现对象。/n

【技术特征摘要】
1.一种动态化任务配置及调度方法,其特征在于:包括有任务制定和任务执行,其中任务制定中,根据各个任务中的属性,通过抽象共有属性生成抽象类,不同属性生成具体的实现对象。


2.根据权利要求1所述的一种动态化任务配置及调度方法,其特征在于:所述的任务制定中每一个并行任务都视为任务组件实现任务实现接口的同时继承任务抽象类,所有实现类分为查询任务和处理任务两大类,各子类分别有自己的派生类和子类体系,子类实现了RMDB的ETL和DLL,数据的打包导出导入和非关系型数据库的ETL,其中包括Hadoop体系和Neo4j,包含数据治理过程、数据清洗过程、统计分析过程等。


3.根据权利要求1所述的一种动态化任...

【专利技术属性】
技术研发人员:郭磊舒彬辛北军秦瑾张少杰张佳杰火照磊代幸福马金亮刘鹏
申请(专利权)人:中电万维信息技术有限责任公司
类型:发明
国别省市:甘肃;62

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

1