[发明专利]一种基于异步模式的ETL流程执行方法在审
| 申请号: | 202111279395.X | 申请日: | 2021-10-29 | 
| 公开(公告)号: | CN113918640A | 公开(公告)日: | 2022-01-11 | 
| 发明(设计)人: | 肖渊 | 申请(专利权)人: | 中电四川数据服务有限公司 | 
| 主分类号: | G06F16/25 | 分类号: | G06F16/25;G06F9/54 | 
| 代理公司: | 成都弘毅天承知识产权代理有限公司 51230 | 代理人: | 朱丹 | 
| 地址: | 610036 四川省成都市自由贸易试验*** | 国省代码: | 四川;51 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 一种 基于 异步 模式 etl 流程 执行 方法 | ||
本发明公开了一种基于异步模式的ETL流程执行方法,涉及医疗信息系统数据处理领域,解决现有Java语言中线程的暂停、恢复、停止都会消耗资源、且类似spark需要很多的资源进行运行的技术问题,包括一种基于异步模式的ETL流程执行方法,步骤1:配置解析;步骤2:任务初始化;步骤3:任务运行步骤4:当任务结束后,汇总任务结果发送到任务结果处理模块。Actor之间进行异步通信,即使Actor在发送消息后也无需阻塞或者等待就能够处理其他事情。每个Actor都会有一个mailbox进行消息存储,Actor调度器检索到Actor有消息后进行Actor事件调用,Actor接收消息后进行事件处理,处理完毕后再向其他Actor发送结果消息。
技术领域
本发明涉及医疗信息系统数据处理领域,更具体的是涉及一种基于异步模式的ETL流程执行方法。
背景技术
目前,相关专利中对于ETL任务执行主要以下方法:像kettle,采用每个任务一个线程加上每个节点启动一个子线程,一个任务可能启动几十上百个线程。该方法主要存在cpu使用率过高、任务启动时间长、单机任务无法执行过多的问题;采用类似spark的框架,需要很多的资源进行运算。
现有缺点如下:
1、java语言中一个ETL任务流程执行是主线程中任务流程的每个节点启动一个子线程进行数据处理,这种情况下一个任务可能启动几十上百个子线程,会导致cpu使用率非常高。
2、Java语言中线程的暂停、恢复、停止都会消耗资源
3、类似spark需要很多的资源进行运行。
发明内容
本发明的目的在于:本发明提供一种基于异步模式的ETL流程执行方法,应用于医疗信息系统数据处理领域,解决了数据ETL场景下,传统ETL任务占用cpu高的问题。
本发明为了实现上述目的具体采用以下技术方案:
一种基于异步模式的ETL流程执行方法,包括如下步骤:
步骤1:配置解析;
步骤2:任务初始化;
步骤3:任务运行,设置任务状态为开始状态,通过Actor管理器发送开始状态到关联节点的Actor容器中,此时标识此关联节点已经做好准备进行数据处理;
再发送开始状态到开始节点,开始节点接收到消息开始事件处理并进行数据读取;此时标识任务状态为运行中;
开始节点获取到数据、并组装成消息通过步骤2得到的地址发送到消息总线,消息总线处理器通过Actor管理器寻找到关联节的消息队列并推送到该队列中,关联节点接收到消息后进行数据写入;
以此往复进行ETL数据处理,当开始节点数据获取完毕后标识结束状态,并通过消息总线发送到开始节点,结束标识消息给关联节点,关联节点收到消息后查询自己消息队列中是否还有消息,如果没有消息后将此节点标识为结束状态;
任务控制器检测到所有节点已经变为结束状态后标识此任务为结束状态;
步骤4:当任务结束后,汇总任务结果发送到任务结果处理模块。
进一步地;步骤1具体包括,传入根据预先设置好的json格式,根据json解析器解析配置;配置包含任务运行参数、任务所有节点、节点之间的连接点和流转条件。
进一步地;步骤2具体包括,从开始节点开始查询与之关联的节点,并创建关联节点的数据接收通道id,并把关联节点的数据接收通道id设置到开始节点的数据发送通道集合中,这样开始节点就拥有关联节点的通道地址;
循环为每个节点创建Actor执行容器,并注册到Actor管理器中
本发明的有益效果如下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中电四川数据服务有限公司,未经中电四川数据服务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111279395.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:2.4G多模通信芯片及其通信方法
- 下一篇:一种湿润烧伤膏及制备方法





