一种负载均衡方法与系统的制作方法_2

文档序号:9436174阅读:来源:国知局
“Nodel#4”、“Node2#l”、“Node2#2”、“Node2#3”、“Node2#4”的哈希值,于是形成8个虚拟存储节点的环空间位置图,如图3所示。
[0044]步骤S104:将各虚拟存储节点映射到对应的物理存储节点。
[0045]将虚拟存储节点映射到物理存储节点。存储对象定位算法不变,只是多了一步由虚拟存储节点到物理存储节点的映射,例如定位到“ Node I# 1”、“ Node I#2 ”、“ Node I#3 ”和“Nodel#4”四个虚拟存储节点的数据对象均定位到Nodel上。这样就解决了存储节点少时数据分布不均衡的问题。在实际应用中,通常将虚拟存储节点数目设置为32或者更大,因此即使在存储节点很少的基于两级哈希的分布式对象存储系统中也能做到相对均匀的数据分布。
[0046]应用本实施例提供的一种负载均衡方法,将各物理存储节点使用预设的哈希函数进行计算一个哈希值,根据各所述哈希值分别确定各所述物理存储节点在哈希环上的位置,为每个所述物理存储节点分别增加预设数量的虚拟存储节点,根据每个所述物理存储节点对应的虚拟存储节点数量计算对应数量个哈希值,每个所述物理存储节点对应的各哈希值分别确定各虚拟存储节点的在哈希环上的位置,并将每个所述物理存储节点对应的虚拟存储节点存放至哈希环上的对应位置,将各虚拟存储节点映射到对应的物理存储节点,通过为物理将存储节点增加对应的虚拟存储节点对存储对象进行存储,增加虚拟存储节点到物理存储节点的映射,能够更加均衡地负载存储对象到各个存储节点,降低故障恢复过程中,存储对象重新定位的运算量。
[0047]图4不出了本发明负载均衡方法的又一实施例流程图,对应于图1,还包括:
[0048]步骤S105:当对各目标存储对象进行存储时,绕所述哈希环轮询,定位到各所述物理存储节点对应的各所述虚拟存储节点,将所述各目标存储对象均衡存储至各所述物理存储节点对应的各所述虚拟存储节点中。
[0049]对于副本式的分布式对象存储系统,引入虚拟存储节点后,采用绕着环轮询,直到找到N(副本数)个对应不同物理存储节点的虚拟存储节点进行存储。
[0050]本发明还提供了一种负载均衡系统,图5示出了本发明负载均衡系统一个实施例的结构示意图,包括:
[0051]物理节点位置确定模块101,用于将各物理存储节点使用预设的哈希函数进行计算一个哈希值,根据各所述哈希值分别确定各所述物理存储节点在哈希环上的位置;
[0052]虚拟节点增加模块102,为每个所述物理存储节点分别增加预设数量的虚拟存储节点;
[0053]虚拟节点位置确定模块103,根据每个所述物理存储节点对应的虚拟存储节点数量计算对应数量个哈希值,每个所述物理存储节点对应的各哈希值分别确定各虚拟存储节点的在哈希环上的位置,并将每个所述物理存储节点对应的虚拟存储节点存放至哈希环上的对应位置;
[0054]映射模块104,用于将各虚拟存储节点映射到对应的物理存储节点。
[0055]应用本实施例提供的一种负载均衡方法,将各物理存储节点使用预设的哈希函数进行计算一个哈希值,根据各所述哈希值分别确定各所述物理存储节点在哈希环上的位置,为每个所述物理存储节点分别增加预设数量的虚拟存储节点,根据每个所述物理存储节点对应的虚拟存储节点数量计算对应数量个哈希值,每个所述物理存储节点对应的各哈希值分别确定各虚拟存储节点的在哈希环上的位置,并将每个所述物理存储节点对应的虚拟存储节点存放至哈希环上的对应位置,将各虚拟存储节点映射到对应的物理存储节点,通过为物理将存储节点增加对应的虚拟存储节点对存储对象进行存储,增加虚拟存储节点到物理存储节点的映射,能够更加均衡地负载存储对象到各个存储节点,降低故障恢复过程中,存储对象重新定位的运算量。
[0056]图6不出了本发明负载均衡系统又一实施例的结构不意图,对应于图5,还包括:
[0057]负载均衡模块105,用于当对各目标存储对象进行存储时,绕所述哈希环轮询,定位到各所述物理存储节点对应的各所述虚拟存储节点,将所述各目标存储对象均衡存储至各所述物理存储节点对应的各所述虚拟存储节点中。
[0058]需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0059]最后,还需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0060]以上对本发明所提供的方法和系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
【主权项】
1.一种负载均衡方法,其特征在于,包括: 将各物理存储节点使用预设的哈希函数进行计算一个哈希值,根据各所述哈希值分别确定各所述物理存储节点在哈希环上的位置; 为每个所述物理存储节点分别增加预设数量的虚拟存储节点; 根据每个所述物理存储节点对应的虚拟存储节点数量计算对应数量个哈希值,每个所述物理存储节点对应的各哈希值分别确定各虚拟存储节点的在哈希环上的位置,并将每个所述物理存储节点对应的虚拟存储节点存放至哈希环上的对应位置; 将各虚拟存储节点映射到对应的物理存储节点。2.根据权利要求1所述的方法,其特征在于,将各虚拟存储节点映射到对应的物理存储节点后还包括: 当对各目标存储对象进行存储时,绕所述哈希环轮询,定位到各所述物理存储节点对应的各所述虚拟存储节点,将所述各目标存储对象均衡存储至各所述物理存储节点对应的各所述虚拟存储节点中。3.根据权利要求2所述的方法,其特征在于,将各物理存储节点使用预设的哈希函数进行计算一个哈希值包括: 根据所述物理存储节点的IP或主机名作为关键字进行一次哈希,计算一个哈希值。4.根据权利要求1所述的方法,其特征在于,将各物理存储节点使用预设的哈希函数进行计算一个哈希值之前还包括: 将哈希值空间组织成哈希环。5.一种负载均衡系统,其特征在于,包括: 物理节点位置确定模块,用于将各物理存储节点使用预设的哈希函数进行计算一个哈希值,根据各所述哈希值分别确定各所述物理存储节点在哈希环上的位置; 虚拟节点增加模块,为每个所述物理存储节点分别增加预设数量的虚拟存储节点; 虚拟节点位置确定模块,根据每个所述物理存储节点对应的虚拟存储节点数量计算对应数量个哈希值,每个所述物理存储节点对应的各哈希值分别确定各虚拟存储节点的在哈希环上的位置,并将每个所述物理存储节点对应的虚拟存储节点存放至哈希环上的对应位置; 映射模块,用于将各虚拟存储节点映射到对应的物理存储节点。6.根据权利要求5所述的系统,其特征在于,还包括: 负载均衡模块,用于当对各目标存储对象进行存储时,绕所述哈希环轮询,定位到各所述物理存储节点对应的各所述虚拟存储节点,将所述各目标存储对象均衡存储至各所述物理存储节点对应的各所述虚拟存储节点中。7.根据权利要求5所述的系统,其特征在于,还包括: 哈希环生成模块,用于将哈希值空间组织成哈希环。
【专利摘要】本发明公开了一种负载均衡方法与系统,将各物理存储节点使用预设的哈希函数进行计算一个哈希值,根据各所述哈希值分别确定各所述物理存储节点在哈希环上的位置,为每个所述物理存储节点分别增加预设数量的虚拟存储节点,根据每个所述物理存储节点对应的虚拟存储节点数量计算对应数量个哈希值,每个所述物理存储节点对应的各哈希值分别确定各虚拟存储节点的在哈希环上的位置,并将每个所述物理存储节点对应的虚拟存储节点存放至哈希环上的对应位置,将各虚拟存储节点映射到对应的物理存储节点,增加虚拟存储节点以及到物理存储节点的映射,能够更加均衡地负载存储对象到各个存储节点,降低故障恢复过程中,存储对象重新定位的运算量。
【IPC分类】H04L29/08
【公开号】CN105187547
【申请号】CN201510624318
【发明人】于涛, 张立强
【申请人】浪潮(北京)电子信息产业有限公司
【公开日】2015年12月23日
【申请日】2015年9月25日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1