分布式关系数据库的数据处理方法和装置与流程

文档序号:11063586阅读:来源:国知局

技术特征:

1.一种分布式关系数据库的数据处理方法,源数据经过分布键的水平切分操作后分布于第一表的分片数据和第二表的分片数据中,所述第一表和所述第二表的连接字段分别为所述源数据中的第一属性字段和第二属性字段,并且所述第一属性字段和所述第二属性字段均不是所述分布键,所述分布式关系数据库包括一个主节点和多个子节点,其特征在于,所述分布式关系数据库的数据处理方法包括:

在检测到所述第一表的数据量小于所述第二表的数据量时,确定所述第一表为待重分布的表;

确定所述第一属性字段在所述第一表上的分布信息,根据预设映射关系将所述分布信息发送至对应的子节点,以制定任两个所述子节点之间的数据重分布计划;

根据所述数据重分布计划控制任两个所述子节点之间并行地对所述第一属性字段所属的分片数据重新分发。

2.根据权利要求1所述的分布式关系数据库的数据处理方法,其特征在于,所述确定所述第一属性字段在所述第一表上的分布信息,根据预设映射关系将所述分布信息发送至对应的子节点,以制定任两个所述子节点之间的数据重分布计划的步骤包括:

在所述第一属性字段在所述第一表上的分布信息为直方图时,对所述第一属性字段的直方图的任一元素的键值进行加1运算,并将运算结果确定为待接收所述直方图的元素的子节点的标识信息;

根据所述标识信息将所述第一属性字段对应的直方图的元素发送至对应的子节点,以制定任两个所述子节点之间的数据重分布计划。

3.根据权利要求2所述的分布式关系数据库的数据处理方法,其特征在于,所述根据所述标识信息将所述第一属性字段对应的直方图的元素发送至对应的子节点,以制定任两个所述子节点之间的数据重分布计划的步骤包括:

在根据所述标识信息将所述第一属性字段对应的直方图的元素发送至对应的子节点后,确定全部所述子节点的个数,并记作N;

在检测到所述第一属性字段的直方图的任一元素的键值出现的个数大于或等于所述N时,确定不存在所述第一属性字段的子节点为第一类子节点,将包括所述第一属性字段的分片数据发送至所述第一类子节点,并记作普通数据;

在检测到所述第一属性字段的直方图的任一元素的键值出现的个数小于所述N时,确定不存在所述第一属性字段的子节点为第二类子节点,将包括所述第一属性字段的分片数据发送至所述第二类子节点,并记作特殊数据,以及生成相应的属性标识。

4.根据权利要求3所述的分布式关系数据库的数据处理方法,其特征在于,所述根据所述数据重分布计划控制任两个所述子节点之间并行地对所述第一属性字段所属的分片数据重新分发的步骤包括:

在全部所述子节点获取所述数据重分布计划后,创建所述第一表对应的待填充的第一临时表;

采用查询算法将所述普通数据发送至对应的所述第一类子节点,并在所述第一类子节点将普通数据填充至所述第一临时表;

以及采用所述查询算法将所述特殊数据发送至对应的第二类子节点,并在第二类子节点将特殊数据填充至所述第一临时表后,保留所述特殊数据的属性标识;

对所述第一临时表和所述第二表执行半连接操作,以确定所述第二表上参与原有连接操作的连接记录,并将所述连接记录发送至全部所述子节点;

创建所述第二表模式相同的第二临时表,全部所述子节点根据所述连接记录将所述第二表上参与所述原有连接操作的分片数据填充至所述第二临时表。

5.根据权利要求4所述的分布式关系数据库的数据处理方法,其特征在于,所述分布式关系数据库的数据处理方法还包括:

根据所述属性标识删除所述第一临时表中的特殊数据,并对所述第一临时表的分片数据与所述第二临时表的分片数据执行原有连接操作;

在完成对所述第一临时表的分片数据与所述第二临时表的分片数据之间的原有连接操作后,将执行所述原有连接操作的结果反馈至所述主节点。

6.一种分布式关系数据库的数据处理装置,源数据经过分布键的水平切分操作后分布于第一表的分片数据和第二表的分片数据中,所述第一表和所述第二表的连接字段分别为所述源数据中的第一属性字段和第二属性字段,并且所述第一属性字段和所述第二属性字段均不是所述分布键,所述分布式关系数据库包括一个主节点和多个子节点,其特征在于,所述分布式关系数据库的数据处理装置包括:

判断单元,用于在检测到所述第一表的数据量小于所述第二表的数据量时,确定所述第一表为待重分布的表;

确定单元,用于确定所述第一属性字段在所述第一表上的分布信息,根据预设映射关系将所述分布信息发送至对应的子节点,以制定任两个所述子节点之间的数据重分布计划;

发送单元,用于根据所述数据重分布计划控制任两个所述子节点之间并行地对所述第一属性字段所属的分片数据进行重新分发。

7.根据权利要求6所述的分布式关系数据库的数据处理装置,其特征在于,所述确定单元包括:

运算子单元,用于在所述第一属性字段在所述第一表上的分布信息为直方图时,对所述第一属性字段的直方图的任一元素的键值进行加1运算,并将运算结果确定为待接收所述直方图的元素的子节点的标识信息;

制定子单元,用于根据所述标识信息将所述第一属性字段对应的直方图的元素发送至对应的子节点,以制定任两个所述子节点之间的数据重分布计划。

8.根据权利要求7所述的分布式关系数据库的数据处理装置,其特征在于,所述确定单元还包括:

统计子单元,用于在根据所述标识信息将所述第一属性字段对应的直方图的元素发送至对应的子节点后,确定全部所述子节点的个数,并记作N;

第一预设子单元,用于在检测到所述第一属性字段的直方图的任一元素的键值出现的个数大于或等于所述N时,确定不存在所述第一属性字段的子节点为第一类子节点,将包括所述第一属性字段的分片数据发送至所述第一类子节点,并记作普通数据;

第二预设子单元,用于在检测到所述第一属性字段的直方图的任一元素的键值出现的个数小于所述N时,确定不存在所述第一属性字段的子节点为第二类子节点,将包括所述第一属性字段的分片数据发送至所述第二类子节点,并记作特殊数据,以及生成相应的属性标识。

9.根据权利要求8所述的分布式关系数据库的数据处理装置,其特征在于,所述确定单元还包括:

第一创建子单元,用于在全部所述子节点获取所述数据重分布计划后,创建所述第一表对应的待填充的第一临时表;

第一查询子单元,用于采用查询算法将所述普通数据发送至对应的所述第一类子节点,并在所述第一类子节点将所述普通数据填充至所述第一临时表;

第二查询子单元,用于以及采用所述查询算法将所述特殊数据发送至对应的第二类子节点,并在第二类子节点将所述特殊数据填充至所述第一临时表后,保留所述特殊数据的属性标识;

半连接子单元,用于对所述第一临时表和所述第二表执行半连接操作,以确定所述第二表上参与原有连接操作的连接记录,并将所述连接记录发送至全部所述子节点;

第二创建子单元,用于创建所述第二表模式相同的第二临时表,全部所述子节点根据所述连接记录将所述第二表上参与所述原有连接操作的分片数据填充至所述第二临时表。

10.根据权利要求9所述的分布式关系数据库的数据处理装置,其特征在于,所述分布式关系数据库的数据处理装置还包括:

连接单元,用于根据所述属性标识删除所述第一临时表中的特殊数据,并对所述第一临时表的分片数据与所述第二临时表的分片数据执行原有连接操作;

反馈单元,用于在完成对所述第一临时表的分片数据与所述第二临时表的分片数据之间的原有连接操作后,将执行所述原有连接操作的结果反馈至所述主节点。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1