[发明专利]一种分布式连接方法及系统有效
申请号: | 201510916671.7 | 申请日: | 2015-12-10 |
公开(公告)号: | CN106874272B | 公开(公告)日: | 2020-02-14 |
发明(设计)人: | 王国平;朱俊华 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22 |
代理公司: | 44202 广州三环专利商标代理有限公司 | 代理人: | 郝传鑫;熊永强 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 连接 方法 系统 | ||
1.一种分布式连接方法,其特征在于,包括:
将目标输入表集合中的每一个输入表按照各自的参考列进行排序;其中,所述输入表的参考列是所述输入表中被目标连接谓词使用的列;
以行为基本单位,对排序后的每一个输入表进行分块,得到所述目标输入表集合对应的全部块组合;其中,一个块组合表示为:(K1,K2,…,Kn),Km代表所述目标输入表集合中的输入表Rm中的任意一个块,m是正整数,m小于等于n;
根据各个块的参考列的数值信息,从所述全部块组合中筛选出有效块组合;所述有效块组合是指各个块的参考列的数值信息满足所述目标连接谓词的块组合;
将筛选出的有效块组合调度给分布式系统中的各个节点,使得所述各个节点根据所述目标连接谓词对各自对应的有效块组合执行连接操作。
2.如权利要求1所述的方法,其特征在于,所述将目标输入表集合中的每一个输入表按照各自的参考列进行排序,包括:对于每一个输入表,将所述输入表的行按照所述输入表的参考列的数值大小进行升序或降序排序。
3.如权利要求1所述的方法,其特征在于,所述对排序后的每一个输入表进行分块,包括:根据预先设定的块大小B对排序后的每一个输入表进行分块,其中,排序后的输入表R分块后得到的块数量=|R|是输入表R的大小,是取上限整数符号。
4.如权利要求1所述的方法,其特征在于,所述将筛选出的有效块组合调度给分布式系统中的各个节点,包括:
确定出所述各个节点的负载;一个节点的负载是指所述节点需要运行的块组合个数;
从所述有效块组合中选取出所述各个节点各自对应的块组合集合;一个节点对应的块组合集合中的块组合个数与所述节点的负载一致。
5.如权利要求4所述的方法,其特征在于,所述分布式系统中的节点个数是M,筛选出的所述有效块组合的个数是N;所述确定出所述各个节点的负载,包括:在M个节点中,将N%M个节点的负载确定为将(M-N%M)个节点的负载确定为是取下限整数符号。
6.如权利要求4所述的方法,其特征在于,所述从所述有效块组合中选取出所述各个节点各自对应的块组合集合,包括:
对于所述分布式系统中的任意一个节点A,通过下述步骤得到节点A对应的块组合集合:
步骤一:确定当前剩余的有效块组合,从当前剩余的有效块组合中选取出一个有效块组合作为节点A对应的初始的块组合集合;
步骤二:确定当前剩余的有效块组合,从当前剩余的有效块组合中,将与节点A对应的块组合集合的相似度最高的有效块组合添加到节点A对应的块组合集合中;
重复执行所述步骤二直到节点A对应的块组合集合中的块组合个数与节点A的负载一致;
其中,所述当前剩余的有效块组合是指所述有效块组合中当前还未被调度的块组合。
7.如权利要求1-6中任一项所述的方法,其特征在于,所述目标输入表集合中,每一个输入表的参考列是所述输入表中被所述目标连接谓词使用次数最多的列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510916671.7/1.html,转载请声明来源钻瓜专利网。