CN112199432A - 一种基于分布式的高性能数据etl装置及控制方法 - Google Patents
一种基于分布式的高性能数据etl装置及控制方法 Download PDFInfo
- Publication number
- CN112199432A CN112199432A CN202011119302.2A CN202011119302A CN112199432A CN 112199432 A CN112199432 A CN 112199432A CN 202011119302 A CN202011119302 A CN 202011119302A CN 112199432 A CN112199432 A CN 112199432A
- Authority
- CN
- China
- Prior art keywords
- task
- distributed
- data
- controller
- current
- 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 32
- 238000009826 distribution Methods 0.000 title claims description 3
- 238000000605 extraction Methods 0.000 claims abstract description 13
- 230000007246 mechanism Effects 0.000 claims abstract description 7
- 239000012634 fragment Substances 0.000 claims description 36
- 238000012544 monitoring process Methods 0.000 claims description 27
- 238000004140 cleaning Methods 0.000 claims description 14
- 238000004458 analytical method Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 9
- 230000002159 abnormal effect Effects 0.000 claims description 8
- 238000012423 maintenance Methods 0.000 claims description 6
- 230000000007 visual effect Effects 0.000 claims description 6
- 238000003780 insertion Methods 0.000 claims description 4
- 230000037431 insertion Effects 0.000 claims description 4
- 230000003044 adaptive effect Effects 0.000 claims description 3
- 238000004422 calculation algorithm Methods 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000005520 cutting process Methods 0.000 claims description 3
- 230000006837 decompression Effects 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 238000005457 optimization Methods 0.000 claims description 3
- 230000002085 persistent effect Effects 0.000 claims description 3
- 238000013468 resource allocation Methods 0.000 claims description 3
- 230000001502 supplementing effect Effects 0.000 claims description 3
- 238000013075 data extraction Methods 0.000 abstract description 8
- 238000005192 partition Methods 0.000 abstract description 5
- 238000012546 transfer Methods 0.000 abstract description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/544—Remote
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于分布式的高性能数据ETL装置及控制方法,包括分布式任务配置器、分布式任务调度器、分布式任务监控器、分布式定时任务控制器、分布式任务抽取控制器、分布式任务消费控制器、分布式任务写入控制器、数据源路由控制器。本发明的优点如下:1.支持海量大数据、多用户、多任务等复杂、大数据ETL场景;2.支持实现多种异构数据库、多种数据格式,并能动态配置适应数据结构变化、新业务接入;3.能够按预设的配置精准的实现按指定库、用户、表、分区落地;4.支持“无状态”、“分布式”、“可自动水平扩展”的实现数据抽取和写入能力;5.可实现“自动错误转移”、“失败重试”等自动容错机制的数据抽取和写入能力,无单点故障风险。
Description
技术领域
本发明涉及计算机软件应用技术领域,特别涉及一种基于分布式的高性能数据ETL装置及控制方法。
背景技术
信息是现代企业的重要资源,是企业运用科学管理、决策分析的基础。目前,大多数企业花费大量的资金和时间来构建联机事务处理OLTP的业务系统和办公自动化系统,用来记录事务处理的各种相关数据。据统计,数据量每2~3年时间就会成倍增长,这些数据蕴含着巨大的商业价值,而企业所关注的通常只占在总数据量的2%~4%左右。因此,企业仍然没有最大化地利用已存在的数据资源,以致于浪费了更多的时间和资金,也失去制定关键商业决策的最佳契机。于是,企业如何通过各种技术手段,并把数据转换为信息、知识,已经成了提高其核心竞争力的瓶颈。在现有技术中,数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程尤其关键,但是面临着如下问题:(1)很难分布式实现源端海量数据,能够根据目的端存储数据库的性能动态的调整写入I/O,并且能够满足写入QPS达到10W以上;(2)无法分布式灵活动态的快速接入多种异构数据;(3)无法支分布式持“无状态”、“分布式”、“可自动水平扩展”的实现数据抽取、清洗和写入能力;(4)无法支持 “自动错误转移”、“失败重试”分布式的容错机制数据抽取和写入能力;并且近年来随着网络技术的发展,分布式技术得到了深入的研究和广泛的应用,分布式系统中的各个计算机都具有独立计算能力,具有多种运行模式,其中一个控制节点和多个计算节点是比较常见的运行模式,由控制节点实现任务的调度、分配和资源控制等,计算节点实现任务处理、数据计算等。基于上述问题,现在亟需一种新的分布式系统实现数据ETL方法,减轻控制节点的运行负载,加快系统装载处理速度。
发明内容
本发明要解决的技术问题是克服现有技术的缺陷,提供一种基于分布式的高性能数据ETL装置及控制方法。
为了解决上述技术问题,本发明提供了如下的技术方案:
本发明一种基于分布式的高性能数据ETL装置及控制方法,包括分布式任务配置器、分布式任务调度器、分布式任务监控器、分布式定时任务控制器、分布式任务抽取控制器、分布式任务消费控制器、分布式任务写入控制器、数据源路由控制器,控制方法具体包括以下步骤:
S11、分布式任务配置器:配置器具备加载目标表配置、任务配置、任务依赖配置、数据源配置;加载目标表配置,可以设置目标表的表名、源文件中字段和目标字段的映射关系、支持配置是否需要进行特殊转换和加工,并将该配置信息先存储至缓存中,以备后期写入操作时能按需进行精准的按配置意愿实现数据的落地;任务配置设置任务的基本信息包含了任务编号、名称类型、数据来源、优先级、加载文件数量信息,源文件信息、解压缩参数、数据处理参数配置;转换任务配置可以设置当前任务的父任务,并且可以支持可视化依赖图谱;数据源配置可以设置多种异构的持久化数据库,可以配置数据源的名称、数据源类型、数据源驱动、URL、用户名、密码信息,为数据源路由器提供基础的匹配信息;
S12、分布式任务调度器:(1)提供并发策略维护,提供并发度控制,根据环境资源、计算时段、任务体量不同维度约束来灵活控制每个任务流、计算节点的并发度和资源分配策略;(2)提供守护进程监控,在主进程之外提供守护进程服务,用于监控主进程的运行情况并在必要环节进行一定的介入,保证整体服务的健壮性;(3)提供资源动态平衡,能够根据资源池当下状况以及任务流资源需求度来动态调整资源节点的消耗情况,实现智能化调配;
S13、分布式任务监控器:(1)提供监测埋点与日志分析,针对每个策略、逻辑、必要的条件判断环节配置必要的监测埋点及日志在线分析能力;(2)提供性能监控与分析优化,提供可视化资源监控、进度监控、性能分析、异常在线跟踪能力,保证运维可控度;(3)支持告警机制与策略设定,提供灵活的API接口服务,可对接第三方监控平台,提供异常报警和自动决策能力;
S14、分布式定时任务控制器:定时任务控制器有多个监控节点,每个节点均利用elastic-job配置一个守候线程Job,Job的粒度为妙级,每个节点每秒都会执行一次任务去扫描当前时点是否有需要执行的任务,如果有这通过分布式锁将当前任务Job_clock_ip锁定,并将当前的Job信息体交由本节点的任务抽取控制器;
S15、分布式任务抽取控制器:拿到分布式节点中定时任务控制器提交的Job信息体,从配置的任务信息中查询到源文件信息,当前任务抽取控制器读取源文件到当前节点本地,按分片逐片的读取源文件并做如下处理:1)读取单片后,并发送单片信息到消息队列资源池中,并且将当前任务的分片ID存储到Redis中;2)发送成功后记录当日任务的发送总片数;3)发送完毕后得出任务源文件总条数MetaDataCount,并且将当前的Job_clock_ip锁移除,继续通过定时任务获取到下一个可执行的任务并循环执行上面的操作;
S16、分布式任务消费控制器:分布式多节点中的任务消费控制器,作为消息队列的消费中可以根据需要动态的扩充消费控制器work的成员数量;消费work监听器监听到有消息是就会主动的从消息队列资源池中任意的取空闲的消息;拿到消息后读取当前任务的清洗配置信息,使用groovy动态语音进行清洗操作,清洗后进行数据裁剪,补录、修复后得到标准化数据,再使用RPC方式调用写入服务;
S17、分布式任务写入控制器:写入服务在接受到请求后,会得到清洗后的标准化分片任务信息,按分片进行迭代逐条的将每行信息组装成目标数据源的语句或脚本,使用以下的数据路由器找到适配的数据源插入接口,并调用接口进行写入操作,1)如果单片插入成功则记录MetaDataSuccCount自增一个pagesize分片数,并且移除Redis中jobid中当前pageId的元素;2)如果写入失败则记录MetaDatUnSuccCount自增一个pagesize,将当前任务分片信息调用并发送数据至数据回放控制器;3)如果当前MetaDatauccUnSuccCount>MetaDataUnSuccMaxCount即为当前任务的总错误数已经大于最大错误数阈值,则停止当前任务;4)MetaDataSuccCount+ MetaDataUnSuccMaxCount=任务源文件总条数MetaDataCount,即为当前任务成功总数据加上运行错误总数刚好等于任务源文件总数,则任务成功结束,删除本地源文件,消费器开始消费下一个消息分片;5)任务进度占比算法:(MetaDataSuccCount+ MetaDataUnSuccMaxCount)*100%/MetaDataCount;
S18、分布式数据回放控制器:分布式回放器服务接口得到回放服务请求后,将根据分片ID将重新读取源文件并将读取到分片信息重新发送到消息队列资源池中,重新执行以上S15、S16、S17步骤,实现数据重放重新对分片数据进行清洗和写入操作。
与现有技术相比,本发明的有益效果如下:
1.支持海量数据源,适应多种类业务、用户基数大、任务数量多、任务依赖执行等场景;
2.灵活配置、满足多种异构数据库、多种数据格式。适应不断有新业务接入,当有新业务方数据接入时能够灵活通用的增加配置信息就可以对新业务数据进行清洗落地,满足不同业务ETL的需求;
3.能够按指定的约束和规范精准ETL落地。满足按预设的配置按指定库、用户、表、分区(必须指定时间分区)实现精准落地;
4. 支持“无状态”、“分布式”、“可自动水平扩展”的实现数据抽取和写入、清洗能力;
5.实现 “自动错误转移”、“失败重试”的分布式“容错”机制数据抽取和写入、清洗能力,无单点故障风险。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1是本发明的架构图;
图2是本发明的流程图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
实施例1
如图1-2所示,本发明提供一种基于分布式的高性能数据ETL装置及控制方法,包括分布式任务配置器、分布式任务调度器、分布式任务监控器、分布式定时任务控制器、分布式任务抽取控制器、分布式任务消费控制器、分布式任务写入控制器、数据源路由控制器,控制方法具体包括以下步骤:
S11、分布式任务配置器:配置器具备加载目标表配置、任务配置、任务依赖配置、数据源配置;加载目标表配置,可以设置目标表的表名、源文件中字段和目标字段的映射关系、支持配置是否需要进行特殊转换和加工,并将该配置信息先存储至缓存中,以备后期写入操作时能按需进行精准的按配置意愿实现数据的落地;任务配置设置任务的基本信息包含了任务编号、名称类型、数据来源、优先级、加载文件数量信息,源文件信息、解压缩参数、数据处理参数配置;转换任务配置可以设置当前任务的父任务,并且可以支持可视化依赖图谱;数据源配置可以设置多种异构的持久化数据库,可以配置数据源的名称、数据源类型、数据源驱动、URL、用户名、密码信息,为数据源路由器提供基础的匹配信息;
S12、分布式任务调度器:(1)提供并发策略维护,提供并发度控制,根据环境资源、计算时段、任务体量不同维度约束来灵活控制每个任务流、计算节点的并发度和资源分配策略;(2)提供守护进程监控,在主进程之外提供守护进程服务,用于监控主进程的运行情况并在必要环节进行一定的介入,保证整体服务的健壮性;(3)提供资源动态平衡,能够根据资源池当下状况以及任务流资源需求度来动态调整资源节点的消耗情况,实现智能化调配;
S13、分布式任务监控器:(1)提供监测埋点与日志分析,针对每个策略、逻辑、必要的条件判断环节配置必要的监测埋点及日志在线分析能力;(2)提供性能监控与分析优化,提供可视化资源监控、进度监控、性能分析、异常在线跟踪能力,保证运维可控度;(3)支持告警机制与策略设定,提供灵活的API接口服务,可对接第三方监控平台,提供异常报警和自动决策能力;
S14、分布式定时任务控制器:定时任务控制器有多个监控节点,每个节点均利用elastic-job配置一个守候线程Job,Job的粒度为妙级,每个节点每秒都会执行一次任务去扫描当前时点是否有需要执行的任务,如果有这通过分布式锁将当前任务Job_clock_ip锁定,并将当前的Job信息体交由本节点的任务抽取控制器;
S15、分布式任务抽取控制器:拿到分布式节点中定时任务控制器提交的Job信息体,从配置的任务信息中查询到源文件信息,当前任务抽取控制器读取源文件到当前节点本地,按分片逐片的读取源文件并做如下处理:1)读取单片后,并发送单片信息到消息队列资源池中,并且将当前任务的分片ID存储到Redis中;2)发送成功后记录当日任务的发送总片数;3)发送完毕后得出任务源文件总条数MetaDataCount,并且将当前的Job_clock_ip锁移除,继续通过定时任务获取到下一个可执行的任务并循环执行上面的操作;
S16、分布式任务消费控制器:分布式多节点中的任务消费控制器,作为消息队列的消费中可以根据需要动态的扩充消费控制器work的成员数量;消费work监听器监听到有消息是就会主动的从消息队列资源池中任意的取空闲的消息;拿到消息后读取当前任务的清洗配置信息,使用groovy动态语音进行清洗操作,清洗后进行数据裁剪,补录、修复后得到标准化数据,再使用RPC方式调用写入服务;
S17、分布式任务写入控制器:写入服务在接受到请求后,会得到清洗后的标准化分片任务信息,按分片进行迭代逐条的将每行信息组装成目标数据源的语句或脚本,使用以下的数据路由器找到适配的数据源插入接口,并调用接口进行写入操作,1)如果单片插入成功则记录MetaDataSuccCount自增一个pagesize分片数,并且移除Redis中jobid中当前pageId的元素;2)如果写入失败则记录MetaDatUnSuccCount自增一个pagesize,将当前任务分片信息调用并发送数据至数据回放控制器;3)如果当前MetaDatauccUnSuccCount>MetaDataUnSuccMaxCount即为当前任务的总错误数已经大于最大错误数阈值,则停止当前任务;4)MetaDataSuccCount+ MetaDataUnSuccMaxCount=任务源文件总条数MetaDataCount,即为当前任务成功总数据加上运行错误总数刚好等于任务源文件总数,则任务成功结束,删除本地源文件,消费器开始消费下一个消息分片;5)任务进度占比算法:(MetaDataSuccCount+ MetaDataUnSuccMaxCount)*100%/MetaDataCount;
S18、分布式数据回放控制器:分布式回放器服务接口得到回放服务请求后,将根据分片ID将重新读取源文件并将读取到分片信息重新发送到消息队列资源池中,重新执行以上S15、S16、S17步骤,实现数据重放重新对分片数据进行清洗和写入操作。
相应的,实现任务异常或正常结束和查看任务进度的技术方案为:(1)判断任务正常结束:如果单片插入成功则记录MetaDataSuccCount自增一个pagesize分片数,并且移除Redis中jobid中当前pageId的元素; 当满足MetaDataSuccCount+MetaDataUnSuccMaxCount(运行最大错误量)=任务源文件总条数MetaDataCount并且满足Redis中jobid中当前pageId的元素量为空则Redis移除该任务ID,任务成功结束,任务状态改为完成;(2)查看任务进度的技术方案为,通过任务进度占比算法:(MetaDataSuccCount+MetaDataUnSuccMaxCount)*100%/MetaDataCount实时的现场任务完成进度,可以前端通过进度条进行显示;
容错处理方案:(1)如果当前MetaDatauccUnSuccCount>MetaDataUnSuccMaxCount,则停止当前任务(用于保护整体服务的健康性和健壮性),则判断当前任务已经失败次数超过预设最大容错值需要进行异常结束,需要人工排查失败原因,或者人工进行错任务重试;(2)如果分布式任务写入控制器,如果写入失败则记录MetaDatUnSuccCount(错误数据)自增一个pagesize,将当前任务分片信息调用发送数据回放控制器,分布式回放器服务接口得到回放服务请求后,将根据分片ID将重新读取源文件并将读取到分片信息重新发送到消息队列资源池中重新开始使用Work执行消费操作;(3)如果消费work所在的节点出现了异常宕机,任务监控器中的定时任务会定时扫描遍历Redis中所有jobid判断元素为空,不为空则判断下当前的任务执行的持续时间(当前时间-Redis初次设置时间)是否已经操过预设任务最大可执行时间,如果超过则遍历jobid中的元素及任务分片信息重新调用任务回放器将任务分片重新写入到异步消息资源池。
与现有技术相比,本发明的有益效果如下:
1.支持海量数据源,适应多种类业务、用户基数大、任务数量多、任务依赖执行等场景;
2.灵活配置、满足多种异构数据库、多种数据格式。适应不断有新业务接入,当有新业务方数据接入时能够灵活通用的增加配置信息就可以对新业务数据进行清洗落地,满足不同业务ETL的需求;
3.能够按指定的约束和规范精准ETL落地。满足按预设的配置按指定库、用户、表、分区(必须指定时间分区)实现精准落地;
4. 支持“无状态”、“分布式”、“可自动水平扩展”的实现数据抽取和写入、清洗能力;
5.实现 “自动错误转移”、“失败重试”的分布式“容错”机制数据抽取和写入、清洗能力,无单点故障风险。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (1)
1.一种基于分布式的高性能数据ETL装置及控制方法,其特征在于,包括分布式任务配置器、分布式任务调度器、分布式任务监控器、分布式定时任务控制器、分布式任务抽取控制器、分布式任务消费控制器、分布式任务写入控制器、数据源路由控制器,控制方法具体包括以下步骤:
S11、分布式任务配置器:配置器具备加载目标表配置、任务配置、任务依赖配置、数据源配置;加载目标表配置,可以设置目标表的表名、源文件中字段和目标字段的映射关系、支持配置是否需要进行特殊转换和加工,并将该配置信息先存储至缓存中,以备后期写入操作时能按需进行精准的按配置意愿实现数据的落地;任务配置设置任务的基本信息包含了任务编号、名称类型、数据来源、优先级、加载文件数量信息,源文件信息、解压缩参数、数据处理参数配置;转换任务配置可以设置当前任务的父任务,并且可以支持可视化依赖图谱;数据源配置可以设置多种异构的持久化数据库,可以配置数据源的名称、数据源类型、数据源驱动、URL、用户名、密码信息,为数据源路由器提供基础的匹配信息;
S12、分布式任务调度器:(1)提供并发策略维护,提供并发度控制,根据环境资源、计算时段、任务体量不同维度约束来灵活控制每个任务流、计算节点的并发度和资源分配策略;(2)提供守护进程监控,在主进程之外提供守护进程服务,用于监控主进程的运行情况并在必要环节进行一定的介入,保证整体服务的健壮性;(3)提供资源动态平衡,能够根据资源池当下状况以及任务流资源需求度来动态调整资源节点的消耗情况,实现智能化调配;
S13、分布式任务监控器:(1)提供监测埋点与日志分析,针对每个策略、逻辑、必要的条件判断环节配置必要的监测埋点及日志在线分析能力;(2)提供性能监控与分析优化,提供可视化资源监控、进度监控、性能分析、异常在线跟踪能力,保证运维可控度;(3)支持告警机制与策略设定,提供灵活的API接口服务,可对接第三方监控平台,提供异常报警和自动决策能力;
S14、分布式定时任务控制器:定时任务控制器有多个监控节点,每个节点均利用elastic-job配置一个守候线程Job,Job的粒度为妙级,每个节点每秒都会执行一次任务去扫描当前时点是否有需要执行的任务,如果有这通过分布式锁将当前任务Job_clock_ip锁定,并将当前的Job信息体交由本节点的任务抽取控制器;
S15、分布式任务抽取控制器:拿到分布式节点中定时任务控制器提交的Job信息体,从配置的任务信息中查询到源文件信息,当前任务抽取控制器读取源文件到当前节点本地,按分片逐片的读取源文件并做如下处理:1)读取单片后,并发送单片信息到消息队列资源池中,并且将当前任务的分片ID存储到Redis中;2)发送成功后记录当日任务的发送总片数;3)发送完毕后得出任务源文件总条数MetaDataCount,并且将当前的Job_clock_ip锁移除,继续通过定时任务获取到下一个可执行的任务并循环执行上面的操作;
S16、分布式任务消费控制器:分布式多节点中的任务消费控制器,作为消息队列的消费中可以根据需要动态的扩充消费控制器work的成员数量;消费work监听器监听到有消息是就会主动的从消息队列资源池中任意的取空闲的消息;拿到消息后读取当前任务的清洗配置信息,使用groovy动态语音进行清洗操作,清洗后进行数据裁剪,补录、修复后得到标准化数据,再使用RPC方式调用写入服务;
S17、分布式任务写入控制器:写入服务在接受到请求后,会得到清洗后的标准化分片任务信息,按分片进行迭代逐条的将每行信息组装成目标数据源的语句或脚本,使用以下的数据路由器找到适配的数据源插入接口,并调用接口进行写入操作,1)如果单片插入成功则记录MetaDataSuccCount自增一个pagesize分片数,并且移除Redis中jobid中当前pageId的元素;2)如果写入失败则记录MetaDatUnSuccCount自增一个pagesize,将当前任务分片信息调用并发送数据至数据回放控制器;3)如果当前MetaDatauccUnSuccCount>MetaDataUnSuccMaxCount即为当前任务的总错误数已经大于最大错误数阈值,则停止当前任务;4)MetaDataSuccCount+ MetaDataUnSuccMaxCount=任务源文件总条数MetaDataCount,即为当前任务成功总数据加上运行错误总数刚好等于任务源文件总数,则任务成功结束,删除本地源文件,消费器开始消费下一个消息分片;5)任务进度占比算法:(MetaDataSuccCount+ MetaDataUnSuccMaxCount)*100%/MetaDataCount;
S18、分布式数据回放控制器:分布式回放器服务接口得到回放服务请求后,将根据分片ID将重新读取源文件并将读取到分片信息重新发送到消息队列资源池中,重新执行以上S15、S16、S17步骤,实现数据重放重新对分片数据进行清洗和写入操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011119302.2A CN112199432A (zh) | 2020-10-19 | 2020-10-19 | 一种基于分布式的高性能数据etl装置及控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011119302.2A CN112199432A (zh) | 2020-10-19 | 2020-10-19 | 一种基于分布式的高性能数据etl装置及控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112199432A true CN112199432A (zh) | 2021-01-08 |
Family
ID=74009027
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011119302.2A Pending CN112199432A (zh) | 2020-10-19 | 2020-10-19 | 一种基于分布式的高性能数据etl装置及控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112199432A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113220757A (zh) * | 2021-04-24 | 2021-08-06 | 上海钢银科技发展有限公司 | 实时数仓自动etl方法、系统、设备及计算机存储介质 |
CN113961383A (zh) * | 2021-09-07 | 2022-01-21 | 浙江吉利控股集团有限公司 | 一种写入作业的状态信息的确定方法、装置及存储介质 |
CN116383295A (zh) * | 2023-06-06 | 2023-07-04 | 工业富联(佛山)创新中心有限公司 | 数据处理方法、装置、电子设备和计算机可读存储介质 |
-
2020
- 2020-10-19 CN CN202011119302.2A patent/CN112199432A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113220757A (zh) * | 2021-04-24 | 2021-08-06 | 上海钢银科技发展有限公司 | 实时数仓自动etl方法、系统、设备及计算机存储介质 |
CN113961383A (zh) * | 2021-09-07 | 2022-01-21 | 浙江吉利控股集团有限公司 | 一种写入作业的状态信息的确定方法、装置及存储介质 |
CN116383295A (zh) * | 2023-06-06 | 2023-07-04 | 工业富联(佛山)创新中心有限公司 | 数据处理方法、装置、电子设备和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6816860B2 (en) | Database load distribution processing method and recording medium storing a database load distribution processing program | |
US11016956B2 (en) | Database management system with database hibernation and bursting | |
CN110806933B (zh) | 一种批量任务处理方法、装置、设备和存储介质 | |
US6820215B2 (en) | System and method for performing automatic rejuvenation at the optimal time based on work load history in a distributed data processing environment | |
CN112650576B (zh) | 资源调度方法、装置、设备、存储介质及计算机程序产品 | |
US6694345B1 (en) | External job scheduling within a distributed processing system having a local job control system | |
US7313560B2 (en) | Data migration system and method | |
US7502824B2 (en) | Database shutdown with session migration | |
US9940598B2 (en) | Apparatus and method for controlling execution workflows | |
CN112199432A (zh) | 一种基于分布式的高性能数据etl装置及控制方法 | |
CN109325016B (zh) | 数据迁移方法、装置、介质及电子设备 | |
US20090204694A1 (en) | Grid computing system, management server, processing server, control method, control program and recording medium | |
US20100251248A1 (en) | Job processing method, computer-readable recording medium having stored job processing program and job processing system | |
CN113157411B (zh) | 一种基于Celery的可靠可配置任务系统及装置 | |
CN111600957A (zh) | 文件传输方法、装置、系统和电子设备 | |
CN113127057B (zh) | 多任务并行执行的方法和装置 | |
US10733554B2 (en) | Information processing apparatus and method for managing connections | |
CN111324668B (zh) | 数据库数据同步处理方法、装置及存储介质 | |
CN112948096A (zh) | 一种批量调度方法、装置和设备 | |
CN116501783A (zh) | 一种分布式数据库数据导入方法及系统 | |
US8359601B2 (en) | Data processing method, cluster system, and data processing program | |
CN113485812B (zh) | 基于大数据量任务的分区并行处理方法及系统 | |
US20070174836A1 (en) | System for controlling computer and method therefor | |
US7386615B1 (en) | Method and system for reliably de-allocating resources in a networked computing environment | |
CN115437766A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20210108 |
|
WD01 | Invention patent application deemed withdrawn after publication |