[发明专利]一种数据分布方法和管理节点在审

专利信息
申请号: 201210351902.0 申请日: 2012-09-20
公开(公告)号: CN103678395A 公开(公告)日: 2014-03-26
发明(设计)人: 曲文武 申请(专利权)人: 中兴通讯股份有限公司
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 北京派特恩知识产权代理事务所(普通合伙) 11270 代理人: 蒋雅洁;王黎延
地址: 518057 广东省深圳市南山*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 数据 分布 方法 管理 节点
【说明书】:

技术领域

发明涉及分布式数据管理技术领域,尤其涉及一种数据分布方法和管理节点。

背景技术

通常,使用一台普通的计算机处理几百GB(吉比特)的数据,例如日志文件,往往需要几个小时或者更长的时间,而处理几十TB(太比特)的数据,可能需要几百个小时,处理用时太长,为此,人们采用数据分布的方法来解决上述问题,所述数据分布是指,全部数据的集合称为表,全部数据中的一部分的集合称为子表,一个表包括若干个子表,把若干个子表分布到若干个计算节点上,例如100个计算节点,每个计算节点只负责全部数据中的一部分数据的计算。这样,这些计算节点可以同时进行计算,可以大大减少处理用时。

数据分布系统通常包括一个管理节点和若干计算节点,参见图5所示,管理节点和计算节点通过网络相互连接。管理节点负责数据的分布、计算任务的调度等,管理节点往往与数据存储管理节点、集群管理节点在物理上是重合的,其中数据管理节点记录表的子表数目以及子表的位置等信息,集群管理节点记录节点的地址、内存大小、CPU能力等信息。计算节点负责在本地的硬盘或内存中存储子表,以及执行管理节点分配的任务,并将执行结果保存在本地的硬盘或内存中。所述管理节点和计算节点可以是计算机,也可以是处理器。

例如,{中国所有人的姓名}就是一个表,这个表包括16亿个名字,由于数据量太大了,需要把它分成一些子表,每个子表的姓名总数不超过1万。这样就形成了子表{{姓张的人1},{姓张的人2},...{姓钱的人1},...},一个表包括16万个子表。把这些子表分布到1000个计算节点上,可以把前160个子表存储在第一个计算节点,依此类推,这个过程就是数据分布。把一个子表放到一个计算节点上需要通过网络传输完成,如果一个计算节点存储160个子表,那么,就需要向这个计算节点传输160个子表的数据量,数据量越大网络传输的负担越大。

交叉连接(cross join)是两个表之间的一个标准操作命令,它的功能与日常算术中的乘法比较相近,但cross join是两个表之间的乘积(笛卡儿积)。例如,表1为(5,4),表2为(3,2,6),表1包括5和4两个元素,表2包括3、2、6三个元素。日常算术中5×5=25,但是,(5,4)cross join(3,2,6)的结果可能是(5×3,4×3,5×2,4×2,5×6,4×6)=(15,12,10,8,30,24),或者是(5+3,4+3,5+2,4+2,5+6,4+6)=(8,7,7,6,11,10)。这些实例得到的结果都是一个表,得到的表都包括2×3=6个元素。

假设有两个计算节点,计算节点N1和计算节点N2,如果把上述表1和表2里的元素当作子表,子表{5}、{3}、{2}分布在N1上,子表{4}、{6}分布在N2上。当需要进行两个表之间的cross join计算时,即({5},{4})cross join({3},{2},{6})时,会出现以下问题:完成cross join计算需要进行{5}和{6}、{4}和{3}和{4}和{2}之间的计算,而这两个子表在不同的计算节点上,导致无法进行计算。目前,为了正常进行cross join计算,通常使每个计算节点都存储其中一个表里的所有子表,另一个表里的子集均匀的分布在各计算节点上,例如N1和N2都存储{3}、{2}、{6},N1存储{5},N2存储{4},或者,N1和N2都存储{5}和{4},N1存储{3}、{2},N2存储{6}等数据分布方式。但是现有这种数据分布方式,会使需要传输到计算节点上的数据量很大,网络传输的负担很重,尤其是数据分布的计算节点数量越多,两个表的子表数目接近时,数据量过大的问题更为明显。目前还没有一种能够减少传输的数据量的技术。

发明内容

有鉴于此,本发明的主要目的在于提供一种数据分布方法和管理节点,能够减少传输的数据量,减轻网络传输负担。

为达到上述目的,本发明的技术方案是这样实现的:

本发明提供了一种数据分布方法,应用于节点,所述方法包括:

根据收到的交叉连接请求,获取需要进行交叉连接的表A和表B各自包括的子表的数目、子表的序列号、节点的数目和节点的序列号;

将表A或表B包括的子表的序列号依次设置在横坐标或纵坐标方向,分别作为大矩形的长或宽,生成一个大矩形;

根据构造的方法把所述大矩形分为两个子矩形,分别为第一子矩形和第二子矩形;

对所述第一子矩形和第二子矩形分别进行均匀分割,形成若干小矩形,每个小矩形对应一个计算节点的序列号,并且与子表的序列号对应;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201210351902.0/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top