[发明专利]一种数据交换系统的任务拆分方法及装置有效
申请号: | 201910686475.3 | 申请日: | 2019-07-26 |
公开(公告)号: | CN110597618B | 公开(公告)日: | 2022-06-07 |
发明(设计)人: | 徐伟;孙迁;郭文凭;刘啊龙 | 申请(专利权)人: | 苏宁云计算有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F16/242;G06F16/28 |
代理公司: | 北京市万慧达律师事务所 11111 | 代理人: | 顾友 |
地址: | 210000 江苏省南*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 交换 系统 任务 拆分 方法 装置 | ||
本发明公开了一种数据交换系统的任务拆分方法及装置,该方法包括:判断当前任务的数据表中待交换数据的数据源的类型,若数据源是关系数据库,则根据待交换数据的类型选择相应的查询语句;解析查询语句,根据解析结果判定查询语句的复杂度;若复杂度满足预设条件,则查询待交换数据的数据量;根据待交换数据的数据量,从预设的拆分策略中选取对应的拆分策略,预设的拆分策略包括分页拆分策略、主键字段拆分策略和不拆分策略;根据选取的拆分策略对所述当前任务进行拆分。本发明通过根据待交换数据对应的查询语句的复杂度以及待交换数据的数据量从预设的拆分策略中选取对应的拆分策略,实现动态的对当前任务进行拆分,获取最优拆分效果。
技术领域
本发明涉及数据交换技术领域,特别涉及一种数据交换系统的任务拆分方法及装置。
背景技术
在大数据背景下,对数据交换的效率要求越来越高,需要任务可以分布式并发执行。在并发执行时,合理的任务分拆策略显得尤为重要。目前通用异构数据交换技术市场上主要有datax、flinkx、datastage等,上述数据交换技术虽然支持异构数据源传输,但是也存在其局限性,如上述方法均为静态数据策略,不会根据数据量大小动态的设置数据分配策略等。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种数据交换系统的任务拆分方法及装置,以克服现有技术中不会根据数据量大小动态的设置数据分配策略等问题。
为解决上述一个或多个技术问题,本发明采用的技术方案是:
一方面,提供了一种数据交换系统的任务拆分方法,该方法包括如下步骤:
判断当前任务的数据表中待交换数据的数据源的类型,若所述数据源是关系数据库,则根据所述待交换数据的类型选择相应的查询语句;
解析所述查询语句,根据解析结果判定所述查询语句的复杂度;
若所述复杂度满足预设条件,则查询所述待交换数据的数据量;
根据所述待交换数据的数据量,从预设的拆分策略中选取对应的拆分策略,所述预设的拆分策略包括分页拆分策略、主键字段拆分策略和不拆分策略;
根据选取的所述拆分策略对所述当前任务进行拆分。
进一步的,所述解析所述查询语句的,根据解析结果判定所述查询语句的复杂度包括:
解析所述查询语句,至少获取所述查询语句中的表关联次数以及分析函数个数,根据所述表关联次数和/或所述分析函数个数判定所述查询语句的复杂度。
进一步的,所述根据所述待交换数据的数据量,从预设的拆分策略中选取对应的拆分策略包括:
获取数据量阈值(n,m],其中n和m为正整数,且n<m,将所述待交换数据的数据量与所述数据量阈值进行比较,若所述数据表的数据量在所述数据量阈值范围内,则选取分页拆分策略,若所述数据表的数据量>m,则选取主键字段拆分策略,若所述数据表的数据量≤n,则选取不拆分策略。
进一步的,若拆分策略为分页拆分策略,则所述根据选取的所述拆分策略对所述当前任务进行拆分包括:
根据所述待交换数据的数据量设置并发子任务的数量,将所述待交换数据按照所述并发子任务的数量进行等份拆分后分配至各并发子任务。
进一步的,若拆分策略为主键字段拆分策略,则所述根据选取的所述拆分策略对所述当前任务进行拆分包括:
查询所述当前任务的数据表的主键字段,获取所述主键字段中的最大值以及最小值;
设置并发子任务个数,根据所述并发子任务个数、所述最大值以及所述最小值计算得到步长;
根据所述步长对所述当前任务的数据表进行拆分,将拆分得到的子数据表分配至各并发子任务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏宁云计算有限公司,未经苏宁云计算有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910686475.3/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置