[发明专利]数据交换方法和装置在审
申请号: | 202110697432.2 | 申请日: | 2021-06-23 |
公开(公告)号: | CN113342886A | 公开(公告)日: | 2021-09-03 |
发明(设计)人: | 林鹏程;潘雅萍;陈振洲 | 申请(专利权)人: | 杭州数梦工场科技有限公司 |
主分类号: | G06F16/25 | 分类号: | G06F16/25;G06F9/50;G06F9/54 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 刘秀玲 |
地址: | 310024 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 交换 方法 装置 | ||
本发明实施例提供一种数据交换方法和装置。本发明实施例通过响应于在所述多个线程中检测到第一线程处于空闲状态,在所述多个线程中处于运行状态的线程中确定第二线程,将所述第二线程对应的分片中的未交换数据划分为至少两个分片,为所述至少两个分片中的每个分片创建一个二级子任务,得到至少两个二级子任务,将所述至少两个二级子任务分别下发给第一数量个目标线程,以由所述第一数量个目标线程并行进行数据交换,利用空闲线程对运行线程的剩余数据进行动态分片调节,并行处理,缩短了多线程并行处理方案中完成数据交换所需的时间,提高了交换效率。
技术领域
本发明涉及数据交换技术领域,尤其涉及一种数据交换方法和装置。
背景技术
ETL(Extract-Transform-Load,抽取-转换-加载)用来描述将数据从来源端经过抽取、转换、加载至目的端的过程。为提高ETL交换的能力,支持更多的数据源接入,ETL工具会采用集群的方式进行部署,由控制节点统一管理多个工作节点,把数据交换任务(也称为数据交换作业)分配给1个或多个工作节点进行数据交换。
工作节点可以横向扩展,进行具体的数据交换工作,连接源端数据库和目的端数据库,根据数据交换任务周期性的进行抽取、转换和加载。
ETL工具可以单线程抽取与加载数据,为提高ETL交换的效率,ETL工具会采用在任务运行时将任务拆分成多份,由多个线程并行进行数据抽取和加载,效率更高。
多线程并行处理方案中,需要进行数据分片,每个线程处理一个分片。在分片过程中,由于分片算法的原因,会造成不同分片的数据分布不均匀,有的分片数据较多,有的分片数据较少,形成倾斜。这样,并行处理的多线程中处理数据较多分片的线程耗时较长,导致其他线程长时间等待,既浪费资源,又降低了交换效率。
发明内容
为克服相关技术中存在的问题,本发明提供了一种数据交换方法和装置,提高数据交换的效率。
根据本发明实施例的第一方面,提供一种数据交换方法,应用于第一节点,所述第一节点将一个数据交换任务对应的全部数据划分为多个分片,为每个分片创建一个一级子任务,将所述多个分片对应的多个一级子任务下发给多个线程并行进行数据交换,每个线程对应一个一级子任务和一个分片,所述方法包括:
响应于在所述多个线程中检测到第一线程处于空闲状态,在所述多个线程中处于运行状态的线程中确定第二线程;
将所述第二线程对应的分片中的未交换数据划分为至少两个分片;
为所述至少两个分片中的每个分片创建一个二级子任务,得到至少两个二级子任务;
将所述至少两个二级子任务分别下发给第一数量个目标线程,以由所述第一数量个目标线程并行进行数据交换;所述目标线程为从所述第一线程和所述第二线程组成的线程集合中选择的线程,所述第一数量等于所述二级子任务的总数量。
根据本发明实施例的第二方面,提供一种数据交换装置,应用于第一节点,所述第一节点将一个数据交换任务对应的全部数据划分为多个分片,为每个分片创建一个一级子任务,将所述多个分片对应的多个一级子任务下发给多个线程并行进行数据交换,每个线程对应一个一级子任务和一个分片,所述装置包括:
确定模块,用于响应于在所述多个线程中检测到第一线程处于空闲状态,在所述多个线程中处于运行状态的线程中确定第二线程;
分片模块,用于将所述第二线程对应的分片中的未交换数据划分为至少两个分片;
创建模块,用于为所述至少两个分片中的每个分片创建一个二级子任务,得到至少两个二级子任务;
下发模块,用于将所述至少两个二级子任务分别下发给第一数量个目标线程,以由所述第一数量个目标线程并行进行数据交换;所述目标线程为从所述第一线程和所述第二线程组成的线程集合中选择的线程,所述第一数量等于所述二级子任务的总数量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州数梦工场科技有限公司,未经杭州数梦工场科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110697432.2/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置