1.一种分布式连接方法,其特征在于,包括:
将目标输入表集合中的每一个输入表按照各自的参考列进行排序;其中,所述输入表的参考列是所述输入表中被目标连接谓词使用的列;
以行为基本单位,对排序后的每一个输入表进行分块,得到所述目标输入表集合对应的全部块组合;其中,一个块组合表示为:(K1,K2,…,Kn),Km代表所述目标输入表集合中的输入表Rm中的任意一个块,m是正整数,m小于等于n;
根据各个块的参考列的数值信息,从所述全部块组合中筛选出有效块组合;所述有效块组合是指各个块的参考列的数值信息满足所述目标连接谓词的块组合;
将筛选出的有效块组合调度给分布式系统中的各个节点,使得所述各个节点根据所述目标连接谓词对各自对应的有效块组合执行连接操作。
2.如权利要求1所述的方法,其特征在于,所述将目标输入表集合中的每一个输入表按照各自的参考列进行排序,包括:对于每一个输入表,将所述输入表的行按照所述输入表的参考列的数值大小进行升序或降序排序。
3.如权利要求1所述的方法,其特征在于,所述对排序后的每一个输入表进行分块,包括:根据预先设定的块大小B对排序后的每一个输入表进行分块,其中,|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中任一项所述的方法,其特征在于,所述目标输入表集合中,每一个输入表的参考列是所述输入表中被所述目标连接谓词使用次数最多的列。
8.一种分布式连接系统,其特征在于,包括:
排序模块,用于将目标输入表集合中的每一个输入表按照各自的参考列进行排序;其中,所述输入表的参考列是所述输入表中被目标连接谓词使用的列;
分块模块,用于以行为基本单位,对排序后的每一个输入表进行分块,得到所述目标输入表集合对应的全部块组合;其中,一个块组合表示为:(K1,K2,…,Kn),Km代表所述目标输入表集合中的输入表Rm中的任意一个块,m是正整数,m小于等于n;
筛选模块,用于根据各个块的参考列的数值信息,从所述全部块组合中筛选出有效块组合;所述有效块组合是指各个块的参考列的数值信息满足所述目标连接谓词的块组合;
调度模块,用于将筛选出的有效块组合调度给分布式系统中的各个节点,使得所述各个节点根据所述目标连接谓词对各自对应的有效块组合执行连接操作。
9.如权利要求8所述的系统,其特征在于,所述排序模块具体用于:对于每一个输入表,将所述输入表的行按照所述输入表的参考列的数值大小进行升序或降序排序。
10.如权利要求8所述的系统,其特征在于,所述分块模块具体用于:根据预先设定的块大小B对排序后的所述各个输入表进行分块,其中,|R|是输入表R的大小,
是取上限整数符号。
11.如权利要求10所述的系统,其特征在于,所述调度模块包括:负载确定模块和选取模块,其中:
所述负载确定模块,用于确定出所述各个节点的负载;一个节点的负载是指所述节点需要运行的块组合个数;
所述选取模块,用于从所述有效块组合中选取出所述各个节点各自对应的块组合集合;一个节点对应的块组合集合中的块组合个数与所述节点的负载一致。
12.如权利要求11所述的系统,其特征在于,所述分布式系统中的节点个数是M,筛选出的所述有效块组合的个数是N;
所述负载确定模块具体用于:在M个节点中,将N%M个节点的负载确定为:将(M-N%M)个节点的负载确定为:
是取下限整数符号。
13.如权利要求11所述的系统,其特征在于,所述选取模块具体用于:对于所述分布式系统中的任意一个节点A,通过下述步骤得到节点A对应的块组合集合:
步骤一:确定当前剩余的有效块组合,从当前剩余的有效块组合中选取出一个有效块组合作为节点A对应的初始的块组合集合;
步骤二:确定当前剩余的有效块组合,从当前剩余的有效块组合中,将与节点A对应的块组合集合的相似度最高的有效块组合添加到节点A对应的块组合集合中;
重复执行所述步骤二直到节点A对应的块组合集合中的块组合个数与节点A的负载一致;
其中,所述当前剩余的有效块组合是指所述有效块组合中当前还未被调度的块组合。
14.如权利要求8-13中任一项所述的系统,其特征在于,所述目标输入表集合中,每一个输入表的参考列是所述输入表中被所述目标连接谓词使用次数最多的列。