[发明专利]一种数据交换系统的任务拆分方法及装置有效
申请号: | 201910686475.3 | 申请日: | 2019-07-26 |
公开(公告)号: | CN110597618B | 公开(公告)日: | 2022-06-07 |
发明(设计)人: | 徐伟;孙迁;郭文凭;刘啊龙 | 申请(专利权)人: | 苏宁云计算有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F16/242;G06F16/28 |
代理公司: | 北京市万慧达律师事务所 11111 | 代理人: | 顾友 |
地址: | 210000 江苏省南*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 交换 系统 任务 拆分 方法 装置 | ||
1.一种数据交换系统的任务拆分方法,其特征在于,所述方法包括如下步骤:
判断当前任务的数据表中待交换数据的数据源的类型,若所述数据源是关系数据库,则根据所述待交换数据的类型选择相应的查询语句;
解析所述查询语句,根据解析结果判定所述查询语句的复杂度;
若所述复杂度满足预设条件,则查询所述待交换数据的数据量;
根据所述待交换数据的数据量,从预设的拆分策略中选取对应的拆分策略,所述预设的拆分策略包括分页拆分策略、主键字段拆分策略和不拆分策略;
根据选取的所述拆分策略对所述当前任务进行拆分;
若拆分策略为主键字段拆分策略,则所述根据选取的所述拆分策略对所述当前任务进行拆分包括:查询所述当前任务的数据表的主键字段,获取所述主键字段中的最大值以及最小值,设置并发子任务个数,根据所述并发子任务个数、所述最大值以及所述最小值计算得到步长,根据所述步长对所述当前任务的数据表进行拆分,将拆分得到的子数据表分配至各并发子任务;
若查询到的所述当前任务的数据表的主键字段为字符类型的主键字段,则所述根据选取的所述拆分策略对所述当前任务进行拆分包括:将所述字符类型的主键字段转换成Ascii码数值类型,设置主键字段中各个字段的权重后根据所述权重计算得到所述Ascii码的值,将所述Ascii码的值转换成新的字符串,若所述新的字符串的长度大于1,则获取并发子任务个数,按照所述并发子任务个数从左向右截取所述新的字符串,对所述当前任务的数据表进行拆分,将拆分得到的子数据表分配至各并发子任务。
2.根据权利要求1所述的数据交换系统的任务拆分方法,其特征在于,所述解析所述查询语句的,根据解析结果判定所述查询语句的复杂度包括:
解析所述查询语句,至少获取所述查询语句中的表关联次数以及分析函数个数,根据所述表关联次数和/或所述分析函数个数判定所述查询语句的复杂度。
3.根据权利要求1或2所述的数据交换系统的任务拆分方法,其特征在于,所述根据所述待交换数据的数据量,从预设的拆分策略中选取对应的拆分策略包括:
获取数据量阈值(n,m],其中n和m为正整数,且n<m,将所述待交换数据的数据量与所述数据量阈值进行比较,若所述数据表的数据量在所述数据量阈值范围内,则选取分页拆分策略,若所述数据表的数据量>m,则选取主键字段拆分策略,若所述数据表的数据量≤n,则选取不拆分策略。
4.根据权利要求3所述的数据交换系统的任务拆分方法,其特征在于,若拆分策略为分页拆分策略,则所述根据选取的所述拆分策略对所述当前任务进行拆分包括:
根据所述待交换数据的数据量设置并发子任务的数量,将所述待交换数据按照所述并发子任务的数量进行等份拆分后分配至各并发子任务。
5.根据权利要求1所述的数据交换系统的任务拆分方法,其特征在于,所述方法还包括:
若查询到所述当前任务的数据表没有主键,则将预设的字段设置为主键字段。
6.根据权利要求1或2所述的数据交换系统的任务拆分方法,
其特征在于,所述方法还包括:
若所述数据源是文件系统,则按照文件大小对当前任务包含的所有文件进行排序;
设置并发子任务个数,根据所述并发子任务个数对排序后的文件进行拆分,并将拆分后的文件分配至各并发子任务。
7.根据权利要求1或2所述的数据交换系统的任务拆分方法,
其特征在于,所述方法还包括:
若所述复杂度不满足所述预设条件,则不对所述当前任务进行拆分。
8.一种数据交换系统的任务拆分装置,所述装置执行权利要求1至7任一所述的方法,其特征在于,所述装置包括:
类型判断模块,用于当前任务的数据表中待交换数据的数据源的类型;
语句选取模块,用于若所述数据源是关系数据库,则根据所述待交换数据的类型选择相应的查询语句;
复杂度判定模块,用于解析所述查询语句,根据解析结果判定所述查询语句的复杂度;
数据量查询模块,用于若所述复杂度满足预设条件,则查询所述待交换数据的数据量;
策略选取模块,用于根据所述待交换数据的数据量,从预设的拆分策略中选取对应的拆分策略,所述预设的拆分策略包括分页拆分策略、主键字段拆分策略和不拆分策略;
任务拆分模块,用于根据选取的所述拆分策略对所述当前任务进行拆分。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏宁云计算有限公司,未经苏宁云计算有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910686475.3/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置