容量扩展方法及装置制造方法及图纸

技术编号:15638683 阅读:190 留言:0更新日期:2017-06-15 18:47
本发明专利技术提供了一种容量扩展方法及装置,其中,该方法包括:获取在增加服务器节点后的当前分布式数据存储系统中服务器节点的节点数量,其中,当前分布式数据存储系统中包括新增服务器节点和初始服务器节点;根据服务器节点的节点数量对当前分布式数据存储系统中初始服务器节点上的分片数据进行分裂扩展,以得到扩展后的分片数据;在当前分布式数据存储系统中重新分布扩展后的分片数据,以使该新增服务器节点和该初始服务器节点中每一个节点上的分片数据的分片数量满足预定条件。通过本发明专利技术,解决了相关技术在系统运行初期预先设置大量分片,导致分片开销太大的问题,进而达到了减小分片开销的效果。

【技术实现步骤摘要】
容量扩展方法及装置
本专利技术涉及通信领域,具体而言,涉及一种容量扩展方法及装置。
技术介绍
云计算(CloudComputing)是网格计算(GridComputing)、分布式计算(DistributedComputing)、并行计算(ParallelComputing)、效用计算(UtilityComputing)网络存储(NetworkStorageTechnologies)、虚拟化(Virtualization)、负载均衡(LoadBalance)等传统计算机技术和网络技术发展融合的产物。它旨在通过网络把多个成本相对较低的计算实体整合成一个具有强大计算能力的系统。分布式存储是云计算范畴中的一个领域,其作用是提供海量数据的分布式存储服务以及高速读写访问的能力。分布式存储系统是由若干服务器节点(以下简称“节点”)和客户端互相连接构成的。所述数据由键(Key)和值(Value)构成,Key相当于数据的索引,Value是Key所代表的数据内容。逻辑上Key和Value是一对一的关系。为方便管理数据,将数据按不同应用划分为不同的空间,每个空间划分为多个分片,然后将数据按分片放入节点进行存储和管理,节点和分片是一对多的关系。为实现分片间数据的均衡分布,将key通过一定算法(MD5等)生成key的Hash值,通过一定的算法计算该hash值对应的分片ID(如对hash值按分片总数取模),从而将数据均匀分布在空间的各个分片上,这样只要按节点存储能力调整其上分片的个数即可充分利用系统资源。在分布式存储系统中,一个常见的问题是随着应用规模的扩大原有存储系统无法承担更多的应用数据,最简单的方法就是向分布式存储系统中增加节点,而问题的关键在于如何在不影响系统正常工作的前提下让新增加的节点承担起数据存储服务。如果系统中分片的数量远大于节点个数则可以将部分分片通过迁移的方式调整到新的节点上使新节点承担起数据存储服务,而如果分片数较少呢?在分片数仅比节点多一些的情况下,迁移分片至新节点虽然能让新节点承担起数据存储服务,但很难根据节点能力调整节点负荷,容易导致节点间负荷不均;更严重的情况是分片数小于系统当前节点数,同一个分片只能在一个节点上,这样就导致部分节点没有分片,严重浪费资源。针对上述问题,相关技术方案中,数据迁移一般采用以下解决方法:通过预估将来系统的规模,按将来的规模对初始分片数进行配置;当前系统可能只有三个节点,但是预计将来可能扩容为1000个节点的大型分布式系统,故现在就将分片数配置为10000个或者更多,从而使新节点的加入只需要通过迁移分片就可以简单完成。这种方案的问题在于分片本身是有额外开销的,节点每多一个分片就会多一份开销,原来1G数据存储的额外开销可能是10M,而现在因为单个节点分片多了则可能变成100M甚至更多,需要等到预估的将来才能降至10M;原来新增加一个节点可能只需要迁移10个分片,而现在则是1000个甚至更多,虽然数据量上来看可能相差不多,但流程上增加了100倍,出问题的概率也增加了100倍。随着技术的发展,目前方案1还出现了一种演进版本,即轻量级的分片。分片的开销低了,同样规模的分布式系统就可以有更多的分片,但分片的开销并不会凭空消失,如原来需要分片管理的资源分配现在分片不管理了交给了节点,因为范围扩大了,分配资源可能遭遇更大的锁冲突。针对相关技术中,在系统运行初期预先设置大量分片,导致分片开销太大的问题,尚未提出有效地解决方案。
技术实现思路
本专利技术提供了一种容量扩展方法及装置,以至少解决相关技术中在扩容过程中,需要预先设置大量分片,导致分片开销太大的问题。根据本专利技术的一个方面,提供了一种容量扩展方法,包括:获取在增加服务器节点后的当前分布式数据存储系统中服务器节点的节点数量,其中,所述当前分布式数据存储系统中包括新增服务器节点和初始服务器节点;根据所述服务器节点的节点数量对所述当前分布式数据存储系统中所述初始服务器节点上的分片数据进行分裂扩展,以得到扩展后的分片数据;在所述当前分布式数据存储系统中重新分布所述扩展后的分片数据,以使所述新增服务器节点和所述初始服务器节点中每一个节点上的分片数据的分片数量满足预定条件。可选地,根据所述服务器节点的节点数量对所述当前分布式数据存储系统中所述初始服务器节点上的分片数据进行分裂扩展,以得到扩展后的分片数据包括:判断所述初始服务器节点上的分片数据的分片数量是否大于所述服务器节点的节点数量;若所述初始服务器节点上的分片数据的分片数量小于所述服务器节点的节点数量,则在所述初始服务器节点中按照所述初始服务器节点中的分片数据的分片数量的预定倍数进行分裂扩展,以得到所述扩展后的分片数据。可选地,所述在所述初始服务器节点中按照所述初始服务器节点中的分片数据的分片数量的预定倍数进行分裂扩展包括:对所述初始服务器节点中分片号为i的分片数据按照预定倍数X进行分裂扩展,以得到扩展后的分片号集合(i*X,i*X+X-1),其中,所述i为0到所述初始服务器节点中的分片数据的分片总量之间的任意一个自然数;建立与扩展后的所述分片号集合中每一个分片号对应的过滤器和指针,以得到用于访问扩展后的每一个分片号对应的分片数据的连接。可选地,在所述当前分布式数据存储系统中重新分布所述扩展后的分片数据包括:根据最小迁移路径生成迁移列表,其中,所述迁移列表中至少包括待迁移的分片数据,以及所述待迁移的分片数据在迁移前的源服务器节点地址和在迁移后的目标服务器节点地址;将所述待迁移的分片数据按照所述迁移列表由所述源服务器节点复制迁移至所述目标服务器节点。可选地,在将所述待迁移的分片数据按照所述迁移列表由所述源服务器节点复制迁移至所述目标服务器节点时,还包括:接收客户端发送的操作请求,其中,所述操作请求用于对所述待迁移的分片数据执行预定操作;响应所述操作请求对所述初始服务器中的分片数据执行所述预定操作,并将所述预定操作的操作记录保存到Redo日志中,其中,所述操作记录用于对迁移后的所述服务器节点中的分片数据执行所述预定操作。可选地,在将所述待迁移的分片数据按照所述迁移列表由所述源服务器节点复制迁移至所述目标服务器节点时,还包括:若已完成所述迁移的分片数据的分片数量大于等于预定阈值,则锁定所述初始服务器节点中的分片数据,其中,在锁定所述初始服务器节点中的分片数据之后,所述初始服务器节点中的分片数据将拒绝执行所述操作。根据本专利技术的另一方面,提供了一种容量扩展装置,包括:获取模块,用于获取在增加服务器节点后的当前分布式数据存储系统中服务器节点的节点数量,其中,所述当前分布式数据存储系统中包括新增服务器节点和初始服务器节点;第一处理模块,用于根据所述服务器节点的节点数量对所述当前分布式数据存储系统中所述初始服务器节点上的分片数据进行分裂扩展,以得到扩展后的分片数据;第二处理模块,用于在所述当前分布式数据存储系统中重新分布所述扩展后的分片数据,以使所述新增服务器节点和所述初始服务器节点中每一个节点上的分片数据的分片数量满足预定条件。可选地,所述第一处理模块包括:判断单元,用于判断所述初始服务器节点上的分片数据的分片数量是否大于所述服务器节点的节点数量;处理单元,用于在所述初始服务器节点上的本文档来自技高网
...
容量扩展方法及装置

【技术保护点】
一种容量扩展方法,其特征在于,包括:获取在增加服务器节点后的当前分布式数据存储系统中服务器节点的节点数量,其中,所述当前分布式数据存储系统中包括新增服务器节点和初始服务器节点;根据所述服务器节点的节点数量对所述当前分布式数据存储系统中所述初始服务器节点上的分片数据进行分裂扩展,以得到扩展后的分片数据;在所述当前分布式数据存储系统中重新分布所述扩展后的分片数据,以使所述新增服务器节点和所述初始服务器节点中每一个节点上的分片数据的分片数量满足预定条件。

【技术特征摘要】
1.一种容量扩展方法,其特征在于,包括:获取在增加服务器节点后的当前分布式数据存储系统中服务器节点的节点数量,其中,所述当前分布式数据存储系统中包括新增服务器节点和初始服务器节点;根据所述服务器节点的节点数量对所述当前分布式数据存储系统中所述初始服务器节点上的分片数据进行分裂扩展,以得到扩展后的分片数据;在所述当前分布式数据存储系统中重新分布所述扩展后的分片数据,以使所述新增服务器节点和所述初始服务器节点中每一个节点上的分片数据的分片数量满足预定条件。2.根据权利要求1所述的方法,其特征在于,根据所述服务器节点的节点数量对所述当前分布式数据存储系统中所述初始服务器节点上的分片数据进行分裂扩展,以得到扩展后的分片数据包括:判断所述初始服务器节点上的分片数据的分片数量是否大于所述服务器节点的节点数量;若所述初始服务器节点上的分片数据的分片数量小于所述服务器节点的节点数量,则在所述初始服务器节点中按照所述初始服务器节点中的分片数据的分片数量的预定倍数进行分裂扩展,以得到所述扩展后的分片数据。3.根据权利要求2所述的方法,其特征在于,所述在所述初始服务器节点中按照所述初始服务器节点中的分片数据的分片数量的预定倍数进行分裂扩展包括:对所述初始服务器节点中分片号为i的分片数据按照预定倍数X进行分裂扩展,以得到扩展后的分片号集合(i*X,i*X+X-1),其中,所述i为0到所述初始服务器节点中的分片数据的分片总量之间的任意一个自然数;建立与扩展后的所述分片号集合中每一个分片号对应的过滤器和指针,以得到用于访问扩展后的每一个分片号对应的分片数据的连接。4.根据权利要求1所述的方法,其特征在于,在所述当前分布式数据存储系统中重新分布所述扩展后的分片数据包括:根据最小迁移路径生成迁移列表,其中,所述迁移列表中至少包括待迁移的分片数据,以及所述待迁移的分片数据在迁移前的源服务器节点地址和在迁移后的目标服务器节点地址;将所述待迁移的分片数据按照所述迁移列表由所述源服务器节点复制迁移至所述目标服务器节点。5.根据权利要求4所述的方法,其特征在于,在将所述待迁移的分片数据按照所述迁移列表由所述源服务器节点复制迁移至所述目标服务器节点时,还包括:接收客户端发送的操作请求,其中,所述操作请求用于对所述待迁移的分片数据执行预定操作;响应所述操作请求对所述初始服务器中的分片数据执行所述预定操作,并将所述预定操作的操作记录保存到Redo日志中,其中,所述操作记录用于对迁移后的所述服务器节点中的分片数据执行所述预定操作。6.根据权利要求5所述的方法,其特征在于,在将所述待迁移的分片数据按照所述迁移列表由所述源服务器节点复制迁移至所述目标服务器节点时,还包括:若已完成所述迁移的分片数据的分片数量大于等于预定阈值,则锁定所述初始服务器节点中的分...

【专利技术属性】
技术研发人员:陈典强郭斌韩银俊
申请(专利权)人:南京中兴新软件有限责任公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1