[发明专利]一种基于数据分布的分布式数据存储系统的扩容方法有效
申请号: | 201310661131.X | 申请日: | 2013-12-09 |
公开(公告)号: | CN103810244B | 公开(公告)日: | 2017-10-27 |
发明(设计)人: | 牛振东;束博 | 申请(专利权)人: | 北京理工大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F3/06 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100081 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种分布式数据存储系统的扩容方法,特别涉及一种基于数据分布的分布式数据存储系统的扩容方法,属于数据库领域。该方法通过拟合数据的产生概率,根据此概率计算具有最大溢出概率的存储节点,在此节点的数据存储区间上添加新的存储节点以分担负载,在不管数据是否为均匀分布以及存储节点的负载能力是否相同的情况下,都可以提高系统的利用率,维持负载均衡,以及减少节点之间数据移动次数。 | ||
搜索关键词: | 一种 基于 数据 分布 分布式 存储系统 扩容 方法 | ||
【主权项】:
一种基于数据分布的分布式数据存储系统的扩容方法,其特征在于:包括3个操作:A、系统初始化;B、存储数据并保存数据存储历史;C、添加存储节点;具体过程为:A、系统初始化;具体为:步骤A1:选择一个哈希函数,此哈希函数可以根据数据的某个特征计算其哈希值将数据映射到区间(a,b]上,其中a,b为整数,a<b;这样可以将每个数据用标志符k来表示,k位于标识符区间(a,b]上,整个数据集合可表示为一个标识符集合K,K={k1,…km},数据k1的数量为si;分布式存储系统包含若干个保存数据的存储节点,将每个数据存储节点用一个标识符n来表示,整个存储节点集合可表示为一个标志符集合N,N={n1,…,nd},存储节点的标志符n也位于标志符区间(a,b]上;如果存储节点标志符按升序排列为n1,…,nd,规定标志符k位于区间(nj‑1,nj]中的数据会被存储在nj上,称nj的存储区间为(nj‑1,nj];nj的负载lj定义为目前nj上存储的数据的数量,cj为nj的最大可以承受的负载,或称为nj的容量;L定义为系统负载,即系统中数据的总数,可知:定义在系统负载为L时kj的产生概率函数为:pi=p(ki,L) (2)可知,si=L×p(ki,L) (3)对于存储节点nj上,在系统总负载为L时,步骤A2:构建存储节点的索引;存储节点的查询索引使用二叉树结构,其中叶子节点保存储节点的信息,包括容量、目前负载、IP、端口位置信息,非叶子节点存储器左子树的叶子节点可以存储的数据标志符的最大值;经过步骤A1至步骤A2的操作,完成存储系统初始化的操作;B、存储数据并保存数据存储历史;具体为:步骤B1:查询数据所在存储节点位置,详细过程为:根据数据的标志符从根节点开始查询,如果目前查询的节点不是叶子节点的话,判断所要查询的标志符是否大于非叶子节点中的值,如果是则继续查询其右子树,否则继续查询其左子树;直到所访问的是叶子节点时停止查询,返回此节点;步骤B2:添加数据;将数据存储在步骤B1所返回的节点上;步骤B3:记录添加历史;每次添加数据时记录系统负载Lz和每个数据的数量siz,具体定义如下:如果系统添加数据的次数为q,那么在每一次添加数据时,系统负载为Lz,z∈[1,q],此时每一个数据ki,i∈[1,m]时会对应一个数据量siz,i∈[1,m],z∈[1,q],即siz是指在第z次添加数据时ki的数量;经过步骤B1至步骤B3的操作,完成存储数据并记录各种参数的操作;C、添加存储节点;具体为:步骤C1:拟合数据产生概率;根据步骤B3所得到的数据存储历史,计算出每次添加数据时的产生概率p(ki,L),即piz;piz=piz/Lz,z∈[1,q] (6)再使用曲线回归的方法来拟合数据产生概率p(ki,L),定义;求出其中的向量β和阶数t,可得到每个数据的产生概率p(ki,L);步骤C2:计算插入位置;设需要添加容量为cx的节点x,需要求出其插入位置y,计算方法为首先对节点nj,j∈[1,d],根据(5),求出其对应的负载L,表示为Lj,插入位置y为对应负载Lj最小的节点,即:步骤C3:计算新加入存储节点的标志符,此标志符为x,根据(5)可知,根据(9)计算出L,再根据(10),计算出新加入节点的标志符;步骤C4:插入节点;即在索引中插入存储节点,详细过程为:首先根据插入节点的标志符在索引中查询节点,此节点即为插入位置;在此节点上生成2个子节点,以插入节点的标识符作为中间点,将原节点的区间信息分别写入其左子节点和右节点,插入节点的标志符写入原节点;将原节点所保存的数据中标志符小于等于插入节点标志符的部分由原节点移动到其左子节点上,其余的移动到其右子节点上,并更新原节点和插入节点的负载。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310661131.X/,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置