[发明专利]一种分布式系统中资源配置方法及系统有效
申请号: | 201410154901.6 | 申请日: | 2014-04-17 |
公开(公告)号: | CN104793926B | 公开(公告)日: | 2018-06-01 |
发明(设计)人: | 刘自明 | 申请(专利权)人: | 厦门极致互动网络技术股份有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;H04L29/08 |
代理公司: | 北京超凡志成知识产权代理事务所(普通合伙) 11371 | 代理人: | 吴开磊 |
地址: | 361008 福建省厦*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式系统 资源配置 资源量 分配处理 系统扩容 重新计算 节点数 | ||
本公开示出了一种分布式系统中资源配置方法,所述方法包括:从分布式系统中获取各个节点;对获取的系统中的所有节点依次编号,其中若系统中包括节点数为n个,依次编号为0到n‑1;将所有获取的节点按照各个节点对应的编号顺序排列为环状,将所述节点的资源编号除n得到的商作为其对应节点的获取资源量的对应的节点编号,所述资源编号为对应该系统中各个节点待分配处理的所有资源对应的标识;当系统扩容后,对增加节点后的各个节点重新编号,并重新计算每个节点上获取资源量的节点编号。
技术领域
本公开涉及互联网终端领域,特别涉及一种分布式系统中资源配置方法及系统。
背景技术
分布式系统中,如何将资源分散定位到系统中的各节点,是其核心问题之一。目前的各种主流解决方案,都是基于不同的hash算法,在各资源与各节点之间形成映射,其不同之处,主要在于对资源分布均匀性、扩容支持等问题的处理,我们选取直接取余算法和Dynamo算法作为背景方案的两个典型代表。
关于直接取余算法
直接取余算法是最简单的hash分布算法之一,其基本思路是将分布式系统中的节点进行连续编号,将节点数作为直接取余算法中的除数因子,从而形成多个资源与多个节点的稳定映射关系。该算法方案中,系统各节点如图1所示,被编号形成一个线性序列。通过将资源编号对节点总数n取余,得到该资源对应的节点编号。该方案在系统初始阶段,资源分布是均匀的,但在扩容时,由于系统节点总数从n增加到n+1,每个节点有大约n/(n+1)的资源需要转移到相邻节点,而对整个系统来说,几乎所有的资源都需要移动,从而造成很大的系统负担。
关于Dynamo算法
Dynamo算法源于亚马逊的研究论文,其基本思路是,在给定的值空间中,将各节点与某一给定值绑定,然后将所有节点排列成环状。对资源应用稳定不变的hash算法及参数,然后取邻近的节点作为其资源的存放节点。在该算法方案中,系统各节点如图2所示,被编号形成一个环状序列,每个节点对应一个资源编号,并负责接纳后序所有编号的资源,直到下一个节点对应的编号。。
图2中,编号为0的节点,将负责存放编号0-99的资源,编号为100的节点负责存放编号100-299的资源,而编号为300的节点则负责存放所有编号在300以上的资源。
该系统在扩容时,将增加一个节点到环中,例如,插入一个节点在编号100与编号300的节点之间,并将其编号设定为200,则扩容过程将导致编号为100的节点上的部分资源需要转移到新的节点上,而其系统中的其它节点无需变动,扩容过程需要转移的资源较少。但会因为扩容过程造成节点分布不均匀。相比较而言,背景1所述方案中,各节点的分布是均匀的。
发明内容
为克服相关技术中存在的问题,本公开提供一种分布式系统中资源配置方法及系统。所述技术方案如下:
根据本公开实施例的第一方面,提供了一种分布式系统中资源配置方法,所述方法包括:
从分布式系统中获取各个节点;
对获取的系统中的所有节点依次编号,其中若系统中包括节点数为n个,依次编号为0到n-1;
将所有获取的节点按照各个节点对应的编号顺序排列为环状,将所述节点的资源编号除n得到的商作为其对应节点的获取资源量的对应的节点编号,所述资源编号为对应该系统中各个节点待分配处理的所有资源对应的标识;
当系统扩容后,对增加节点后的各个节点重新编号,并重新计算每个节点上获取资源量的节点编号。
作为优选的,所述当系统扩容后,对增加节点后的各个节点重新编号,并重新计算每个节点上获取资源量的节点编号,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门极致互动网络技术股份有限公司,未经厦门极致互动网络技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410154901.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:应用界面显示信息的自定义方法及装置
- 下一篇:一种微博功能的分配方法和装置