自动扩容的方法、管理设备及系统的制作方法

文档序号:7712653阅读:290来源:国知局
专利名称:自动扩容的方法、管理设备及系统的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及一种自动扩容的方法,一种管理设备及一 种管理系统。
背景技术
全球数据量爆炸式增长,人们对网络系统中数据存储能力的要求也越来越高。 然而,随着数据存储能力的提高,如何对网络系统中存储的海量数据进行管理的问题也 相应而生。对于网络系统中存储的海量数据,需要一种管理系统,通过该管理系统方便管 理员管理存储的数据内容,了解网络系统的运营状况、数据的分布情况,对应用情况的 查看和修改等功能进行管理。然而不断上升的数据量却使管理系统的存储容量和管理质 量出现瓶颈。此时,便需要通过扩大管理系统的存储容量,即在管理系统中增加新节点 的方案来解决上述问题。在现有技术中,扩大管理系统的存储容量的方案主要包括当管理系统的负载过重时,在管理系统中增加新节点,在该管理系统的原有节 点中随机选择几个负载较重的节点,并将其上的部分负载迁移到新节点中。在实现上述方案的过程中,发明人发现现有技术中至少存在如下问题因为每 个原有节点管理的索引的ID段是连续的,所以当从几个原有节点上各迁移部分索引(即 负载)到新节点上后,新节点上的索引的ID段是不连续的,由此导致查找文件时效率 低。

发明内容
本发明的实施例提供一种自动扩容的方法,一种管理设备及一种管理系统。可 实现快速查找。为达到上述目的,本发明的实施例采用如下技术方案一种自动扩容的方法,包括在新节点加入时,接收来自节点管理服务器的已加入的管理节点信息,所述已 加入的管理节点信息至少包括已加入的管理节点的地址信息;利用所述已加入的管理节点的地址信息获取ID段连续的索引;发送所述新节点的加入消息到所有已加入的管理节点,所述加入消息中至少包 含所述新节点所管理的连续的ID段和所述新节点的地址信息。一种管理设备,包括接收模块,用于接收来自节点管理服务器的已加入的管理节点信息,所述已加 入的管理节点的信息至少包括已加入的管理节点的地址信息;获取模块,用于利用所述已加入的管理节点的地址信息获取ID段连续的索引;发送模块,用于发送所述新节点的加入消息到所有已加入的管理节点,所述加入消息中至少包含所述新节点所管理的连续的ID段和所述新节点的地址信息。本发明实施例提供的方案具有如下有益效果新节点获取索引的ID段是连续 的,便于查找文件时快速定位到需要查询的文件的ID;新节点在加入管理系统的过程 中,一般获取的对应所述ID的索引为整个系统索引的一部分,因此在进行的获取索引的 过程中,对整个的管理系统的影响小,相应的扩容过程中的工作量也较少。
-


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或 现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅 是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提 下,还可以根据这些附图获得其他的附图。图1为本发明的第一实施方案中自动扩容方法的流程示意图;图2为本发明的第二实施方案中自动扩容方法的流程示意图;图3为本发明的第三实施方案中自动扩容方法的流程示意图;图4为本发明的第四实施方案中自动扩容的方法流程示意图;图5为本发明的第四实施方案中多个新节点同时请求加入管理系统的等待方案 的示意图;图6为本发明的第四实施方案中多个新节点同时请求加入管理系统的退出方案 的示意图;图7为本发明的第四实施方案中管理节点退出管理系统的方案的示意图;图8为本发明的第四实施方案中管理设备的结构示意图。
具体实施例方式海量数据的存储平台中,每个文件都有一个唯一的文件标识——文件的ID。文 件的ID可是一个160bit的二进制数,由文件Hash值构成。当用户需要上传文件到存储 平台时,首先对文件内容计算160bit的Hash值,然后把这个Hash作为文件的唯一标识请 求上传到存储平台上。上传成功后,存储平台自动的将上传的一系列文件的信息及其所 属应用服务器(Application,APP)的一些信息登记到管理系统中。登记的属性值包括 文件的ID、文件类型、APP的ID、通用资源定位符、是否公开等信息。负责管理此文 件的ID的管理节点收到登记请求后,把对应所述文件的索引插入到有序的内容列表中。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、 完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施 例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得 的所有其他实施例,都属于本发明保护的范围。值得指出的是以下各实施例均为本发明 的可选方案,实施例的排列顺序及实施例的编号与其优选执行顺序无关。在本发明的实施例中每一个加入管理系统的新节点在启动时,都要先初始化本 地数据结构(第一个加入管理系统的新节点也不例外),包括建立管理的内容空间用于记录本节点管理的ID段,包括ID段的起始ID和ID 段的终止ID;
建立其它管理节点的信息列表用于记录管理系统内每个管理节点的地址端口 信息,至少包括每个管理节点的IP端口,IP-TCP端口,IP-UDP端口;及每个管理节 点管理的ID段;建立内容列表用于按文件的ID顺序记录存储平台中每个文件的基本索引信 息,至少包括文件ID、文件效验和、文件类型、副本数量、文件大小、是否公开、应 用ID。新节点在本地数据结构初始化之后,向节点管理服务器发送消息请求获取已加 入的管理节点信息,节点管理服务器在收到所述消息后,从自身建立的已加入的管理节 点列表中选取至少三个已加入的管理节点的信息返回到请求的新节点,并记录请求的新 节点到所述已加入的管理节点列表中。当节点管理服务器中的已加入的管理节点列表中 管理节点的数量不足三个时,节点管理服务器则将所述已加入的管理节点列表中的所有 信息作为已加入的管理节点信息返回到请求的新节点。所述节点管理服务器返回的已加 入的管理节点信息至少包括每个已加入的管理节点的地址信息。本实施例提供本发明的第一实施方案一种自动扩容的方法。如图1所示,该 方法包括在新节点初始化本地数据结构后,S101,新节点接收来自节点管理服务器的已加入的管理节点信息,在所述已加 入的管理节点信息中至少包括已加入的管理节点的地址信息。S102,所述新节点利用所述已加入的管理节点的地址信息获取ID段连续的索 引。S103,所述新节点发送加入消息到已在管理系统中的所有管理节点,以使已在 管理系统中的所有管理节点获知所述新节点的加入,所述加入消息中至少包含所述新节 点所管理的连续的ID段(即S102中新节点获取的所述ID段)和所述新节点的地址信息。本实施例提供的自动扩容的方法通过采用使新节点获取的索引的ID连续的技术 方案,解决了现有技术中,由于ID段不连续导致的查找文件时定位文件对应ID速度较慢 的技术问题,同时,由于获取的索引为对应所述ID段的索引,即对管理系统的影响仅限 于获取的索引所在的管理节点,所以对整个管理系统的影响小,可取得在扩容过程中降 低工作量的技术效果。下面的实施例将介绍本发明的第二实施方案,一种自动扩容的方法。在该方案 中,详细介绍了在初建管理系统时,即在管理系统内没有任何管理节点的情况下,第一 个新节点加入管理系统的扩容过程。在这里需要说明的是,因为此时该管理系统中没有其他已加入的管理节点,所 以,节点管理服务器返回的已加入的管理节点信息是为空的。如图2所示,该方法包 括新节点已完成初始化本地数据结构,即新节点已建立了管理的内容空间,其它 管理节点的信息列表和内容列表。S201,新节点接收到从节点管理服务器返回的已加入的管理节点信息,并且该
信息为空。S202,新节点根据该为空的已加入的管理节点信息可判定自己是第一个加入管理系统的管理节点,管理对应整个文件ID段的索引,例如处理所有的文件管理请求, 并将在存储平台上登记的所有索引按顺序记录在已建立的内容列表中;并配置已建立的 管理的内容空间为整个文件的ID段(00......00-11......11);配置已建立的其它管理节点的
信息列表为空。本实施例所提供的方案具有如下有益效果提供了在初建管理系统时新节点加 入过程中的扩容方案,在本实施例中的新节点的ID段是连续的,可进行查找所有ID的 处理,扩容过程的需进行索引的迁移,工作量少,并且扩容过程自动进行,无需人工干 预,提高了管理系统的可用性。本实施例继续公开本发明的第三实施方案一种自动扩容的方法。在该方案 中,详细介绍了在管理系统中仅有一个管理节点的情况下,新节点作为第二个管理节点 加入管理系统的扩容过程。在这里需要说明的是,因为此时该管理系统中仅有一个已加入的管理节点,所 以,节点管理服务器返回的已加入的管理节点信息中仅包括了一个管理节点的地址信 息,即第一个管理节点的已加入的管理节点信息,该信息中至少包括了第一个管理节点 管理的整个ID段和第一个管理节点的地址信息。如图3所示,该方法包括新节点已完成初始化本地数据结构,即新节点已建立了管理的内容空间,其它 管理节点的信息列表和内容列表。S301,新节点接收到从节点管理服务器返回的已加入的管理节点信息,该信息 中包括了第一个管理节点管理的地址信息。S302,新节点根据上述信息可判断自己是第二个加入管理系统的管理节点,并 获取所述第一个管理节点所管理的ID段(也是整个文件的ID段)的前半段ID段的索引, 或者后半段ID段的索引作为自身所管理的ID段连续的索引,同时配置已建立的管理的内 容空间为整个文件ID段的前,或者后半段ID段;新节点根据接收到的一个管理节点信息 配置其它管理节点的信息列表,该配置出的其他管理节点的信息列表中只有一项,即已 在管理系统中的第一个管理节点的信息;新节点向所述第一个管理节点发送请求消息, 请求第一管理节点将对应所述前半段ID段的索引,或者对应所述后半段ID的索引迁移到 新节点。S303,第一个管理节点接收到所述请求消息后,先确认请求的ID段由其进行管 理,然后锁定本节点,即不响应其它节点的请求,进行迁移过程——查找新节点请求的 索引,并将请求的索引迁移到新节点,迁移完成后,第一个管理节点解锁定。同时,因为第一个管理节点所管理的ID段发生也发生变化,所以第一个管理节 点将发送变更消息到新节点和节点管理服务器,通知新节点和节点管理服务器自身所管 理的ID段发生了变化,新节点根据该变更消息可更新自身的其他管理节点的信息列表, 节点管理服务器根据该变更消息可维护自身的已加入的管理节点列表。S304,新节点接收到第一个管理节点返回的索引,并将所述索引按顺序记录在 已建立的内容列表中。S305,新节点发送加入消息到第一个管理节点,所述加入消息中至少包括新节 点的地址信息和新节点所管理的连续的ID段。本实施例提供的技术方案具有如下有益效果每个管理节点管理的ID段是一个连续的ID段,具有很好的稳定性,可提高查找速度;新节点加入的扩容过程是自动的, 新节点初始化之后接入管理系统时可以实现自动扩容,扩容过程无需人工干预;管理系 统在扩容的时候考虑了系统中各个节点之间的负载差异,迁移的索引为整个系统负载的 一部分对整个管理系统的影响小,也相应的减少了扩容过程中的工作量。本实施例继续公开本发明的第四实施方案一种自动扩容的方法。在该方案 中,详细介绍了在管理系统中至少有两个管理节点的情况下,新节点加入管理系统的扩 容过程。在这里需要说明的是,因为此时该管理系统中已有多个已加入的管理节点,所 以,节点管理服务器返回的已加入的管理节点信息中至少包括了两个管理节点中的每个 管理节点其所管理的连续的ID段和地址信息。如图4所示,该方法包括新节点已完成初始化本地数据结构,即新节点已建立了管理的内容空间,其它 管理节点的信息列表和内容列表。S401,新节点接收到节点管理服务器返回的已加入的管理节点信息后,通过任 意一个管理节点的地址信息可向该任意一个管理节点发送请求,在本实施例中,设该请 求的管理节点为管理节点A,所述新节点请求管理节点A获取管理系统中每个管理节点 的负载及信息。S402,管理节点A向管理系统中的每个管理节点请求负载和信息,所述信息至 少包括请求的管理节点的地址信息和该请求的管理节点所管理的ID段。收到管理节点A 请求的各个管理节点判断自身是否处于锁定状态,如果是,则对所述请求直接返回空, 如果不是,则将自身的负载和信息返回到管理节点A。所述负载是管理节点计算自身的 事务队列长度、内容记录数、一个周期内的告警次数和收到的请求次数的加权平均和所 得到的。管理节点A用接收到的每个管理节点返回的负载和信息,管理节点A的负载和 信息配置管理节点负载列表,并将所述管理节点负载列表发送到所述新节点。S403,所述新节点根据所述管理节点负载列表上的信息配置自身的其他管理节 点的信息列表,并在所述管理节点负载列表中查找出两个ID段相互连续且负载之和最大 的管理节点,然后根据查找出的两个管理节点的负载计算出需向所述两个管理节点请求 迁移的索引的ID段长度,即可从所述两个管理节点那里接管而来的两段ID段的长度,并 将所述两段ID段的长度所对应的连续的ID段作为获取的ID段,同时根据所述获取的ID 段配置管理的内容空间。所述根据查找出的两个管理节点的负载计算出需向所述两个管理节点请求迁移 的索引的ID段长度的具体过程可为设查找到M、N两个管理节点,M的ID段排在N 的ID段的前面且与N的ID段相连续,并且对应的负载分别为m和n,则向M请求的索 引的ID段长度为M的ID段的后面m/(m+n)*2/3;向N请求的索引的ID段长度为 N的ID段的前面n/(m+n)*2/3。从上述内容可以看出从两个管理节点中负载较大的那个 管理节点迁移的索引的ID段较长。所述将所述两段ID段的长度所对应的连续的ID段作为获取的ID段具体可为 将上述m/ (m+n) *2/3和n/ (m+n) *2/3的组合作为新节点接管的ID段的长度,并将对应 所述长度的连续的ID段作为新节点可接管的ID段。因为查找到的两个管理节点的ID段是相互连续的,所以从所述两个管理节点上对应各接管下来的部分的ID段也是连续的。S404,新节点根据计算得出的两段ID段的长度分别向查找到的两个管理节点发 送相应的迁移请求,请求管理节点迁移对应所述两端ID段长度的索引。即向M请求对应其ID段的后面的m/(m+n)*2/3个索引;向N请求对应其ID 段的前面的n/(m+n)*2/3个索引。S405,接收到所述请求的管理节点先确认请求的ID段由其进行管理,然后锁定 本节点,即不响应其它节点的请求,进行迁移过程——查找新节点请求的索引,并将请 求的索引迁移到新节点,迁移完成后,管理节点解锁定。同时,因为接收到请求的两个管理节点所管理的ID段发生也发生变化,所以所 述两个管理节点将发送变更消息到新节点和节点管理服务器,通知新节点和节点管理服 务器自身所管理的ID段发生了变化,新节点根据该变更消息可更新自身的其他管理节点 的信息列表,节点管理服务器根据该变更消息可维护自身的已加入的管理节点列表。S406,所述新节点接收到所述两个管理节点返回的索引,并将所述索引按顺序 记录在已建立的内容列表中。S407,所述新节点发送加入消息到管理系统中的每个管理节点,所述加入消息 中至少包括新节点的地址信息和新节点所管理的连续的ID段。接收到所述加入消息的管理节点可根据该加入消息里包含的新节点信息更新自 身的其他管理节点的信息列表。本发明实施例提供的自动扩容的方法可以用于管理系统对海量数据存储平台进 行自动扩容的过程,扩容过程无需人工干预,可用性高;整个管理系统是分布式的,每 个管理节点管理一个连续的ID段,且每个管理节点也记录了其它所有管理节点的信息及 其管理的ID段,所以任何一个管理节点都可以作为一个入口快速定位到需要查询的文件 的ID所在的管理节点;扩容时,根据确定的两个管理节点的负载来决定迁移的ID段长 度,使得新节点加入后能更好的平衡管理系统的负载,同时也降低了扩容过程中的工作 量;并且由于本实施例提供的方案在扩容的时候考虑了管理系统中各个管理节点之间的 负载差异,所以每个新节点加入时,只选择负载最重的两个管理节点的索引进迁移,对 其它管理节点没有影响,其它管理节点可以进行正常处理,提供管理服务,从而对整个 管理系统的服务性能影响也较低。若有多个新节点同时请求加入管理系统,则容易引发扩容过程出现干扰和异 常,本实施例还提供了两种可选的方案用于来解决上述问题。第一种,多个新节点同时请求加入管理系统的等待方案。如图5所示,包括对于多个新节点中的每一个新节点来说,在进行初始化本地数据结构后,S4011,新节点向任意一个管理节点请求获取管理系统中每个管理节点的负载及 其fe息。具体执行过程可参照上述S401。S4021,所述任意一个管理节点获取每个管理节点负载和信息,并根据所述负载 和信息配置管理节点负载列表,将所述列表发送到新节点。具体执行过程可参照上述S402。S408,新节点收到请求的管理节点发来的管理节点负载列表。
S409,新节点根据该管理节点负载列表判断是否有负载为空的管理节点,如果 是,则执行S410;否则执行S411。负载为空的管理节点可代表该管理节点处于锁定的状态,即该管理节点正在进 行迁移过程,此时该管理节点是不处理来自其它管理节点的请求的。S410,新节点等待一个预设第一周期,在预设第一周期到时后执行S4011。S411,新节点根据所述管理节点负载列表上的信息配置自身的其他管理节点的 信息列表,并在所述管理节点负载列表中查找出两个ID段连续且负载之和最大的管理节 点,然后根据查找出的两个管理节点的负载计算出需向所述两个管理节点请求迁移的索 引的ID段长度,S卩,可从所述两个管理节点那里接管而来的两段ID段的长度,并将所述 两段ID段的长度所对应的连续的ID段作为获取的ID段,同时根据所述获取的ID段配置 管理的内容空间。S412,新节点根据计算得出的两段ID段的长度分别向查找到的两个管理节点发 送相应的迁移请求,请求管理节点迁移对应所述ID段长度的索引。S413,如果新节点接收到来自请求的管理节点的拒绝响应(请求的管理节点的 拒绝响应可代表该管理节点正处于锁定状态,即在进行迁移过程,因此不响应其它管理 节点的请求),则等待一个预设第二周期,并累计等待的预设第二周期的次数,若预设第 二周期到时,并且累计等待的预设周期的次数未达到预设的次数,则执行S412;若预设 第二周期到时,并且累计等待的预设第二周期的次数达到预设的次数,则执行S4011; 如果新节点接收到来自请求的管理节点的返回的索引,则可接续本实施例上述的S406开 始执行。第二种,多个新节点同时请求加入管理系统的排除方案。如图6所示,包括对于多个新节点中的每一个新节点来说,在进行初始化本地数据结构后, S4012,新节点向任意一个管理节点请求获取管理系统中每个管理节点的负载及其信息。具体执行过程可参照上述S401。S4022,所述任意一个管理节点获取每个管理节点负载和信息,并根据所述负载 和信息配置管理节点负载列表,将所述列表发送到新节点。具体执行过程可参照上述S402。S413,新节点收到请求的管理节点发来的管理节点负载列表。S414,新节点根据该管理节点负载列表判断是否有负载为空的管理节点,如果 是,则执行S415;否则执行S416。负载为空的管理节点可代表该管理节点处于锁定的状态,即该管理节点正在进 行迁移过程,此时该管理节点是不处理来自其它管理节点的请求的。S415,新节点在管理节点负载列表中将负载为空的管理节点的负载和信息排 除。S416,新节点根据所述管理节点负载列表上的信息配置自身的其他管理节点的 信息列表,并在所述管理节点负载列表中查找出两个ID段连续且负载之和最大的管理节 点,然后根据查找出的两个管理节点的负载计算出需向所述两个管理节点请求迁移的索 引的ID段长度,S卩,可从所述两个管理节点那里接管而来的两段ID段的长度,并将所述 两段ID段的长度所对应的连续的ID段作为获取的ID段,同时根据所述获取的ID段配置管理的内容空间。S417,新节点根据计算得出的两段ID段的长度分别向查找到的两个管理节点发 送相应的迁移请求,请求管理节点迁移对应所述ID段长度的索引。S418,如果新节点接收到来自请求的管理节点的拒绝响应,则等待一个预设第 二周期,并累计等待的预设第二周期的次数,若预设周期到时,并且累计等待的预设第 二周期的次数未达到预设的次数,则执行S417;若预设第二周期到时,并且累计等待的 预设第二周期的次数达到预设的次数,则执行S4012;如果新节点接收到来着请求的管 理节点的返回的索引,则可接续本实施例上述的S406开始执行。上述第一种和第二种方案中提到的预设第一周期和预设第二周期可以为相同的 周期,也可以为不同的周期,可以通过相同的程序或装置实现,也可以通过不同的程序 或者装置实现。本发明实施例对所述部分不做限定。本实施例提供的两种多个新节点同时加入管理系统时的扩容方案具有如下有益 效果可使多个新节点同时加入管理系统时不会出现干扰、异常以及造成ID段不连续的 或重叠的情况发生。下面继续描述在本实施中,若由于某个管理节点老化,需要被淘汰等原因,所 述管理节点退出管理系统的方案。如图7所示,该方案包括S41,管理节点接收到节点管理服务器发送的退出消息。具体可为在本实施例中,设需要退出管理系统的管理节点为S,则S接收到节 点管理服务器发送的退出消息。S42,接收到退出消息的管理节点在自身的其它管理节点列表中查找与自身管 理的ID段相连续的两个管理节点,并发送负载请求,向所述两个管理节点分别请求其负 载。具体可为设该查找到的两个管理节点分别为Ml、Ni。即Ml和Nl各自所 管理的ID段分别与S的ID段相连续,且设上述三个管理节点的ID段相连续的顺序为 Ml的ID段、S的ID段、Nl的ID段。S向Ml发送负载请求,请求Ml的负载,S向 Nl发送负载请求,请求Nl的负载。S43,接收到退出消息的管理节点根据所述两个管理节点各自返回的负载,计算 可向所述两个管理节点迁移的两段ID段的长度,并分别向发送包含与所述ID段的长度 相对应的ID段的消息到所述两个管理节点,通知所述两个管理节点将要划分到其上的ID 段。具体可为设Ml和m返回的负载分别为ml和nl,则S可向Ml迁移的ID 段长度为Ml的ID段的后面ml/(ml+nl)*2/3 ; S可向Nl迁移的ID段长度为m的 ID段的前面nl/ (ml+nl) *2/3 ; S发送包含与ml/ (ml+nl) *2/3相对应的ID段的消息到 Ml, S发送包含与nl/(ml+nl) *2/3相对应的ID段的消息到Ni。在某些特殊情况下,例如Ml和m的负载较重,那么S根据其负载ml和nl对 应计算得出的两段ID段的长度之和可能会小于自身ID段的长度,此时则代表S上所记录 的索引将无法全部迁移到Ml和Nl上,在这样的情况下,为了保证迁移后的ID段的连续 性,可采用如下方案S等待Ml,Nl的负载降低,直到计算得出的两段ID段的长度之 和不小于自身ID段的长度,即直到S上的索引可以全部迁移到Ml、Nl上为止,在进行下述步骤,以便退出管理系统。S44,接收到所述包含ID段的消息的所述两个管理节点分别返回响应消息到接 收到退出消息的管理节点。具体可为Ml返回响应消息到S ; Nl返回响应消息到S。在这里需要说明的是,若所述两个管理节点中的某个管理节点正处于锁定状 态,则处于锁定状态的所述管理节点将在接收到包含ID段的消息后发送拒绝消息到接收 到退出消息的管理节点,此时,所述接收到推出消息的管理节点将等待一个周期,并再 次向所述发送拒绝消息的管理节点发送包含ID段的消息,直到所述发送拒绝消息的管理 节点可进行迁移,返回响应消息到接收到退出消息的管理节点。S45,接收到退出消息的管理节点锁定本节点,即不响应其它节点的请求,并分 别迁移对应两段ID段的索引到相应的管理节点。具体可为S锁定自身,并迁移对应划分到Ml的ID段的索引到M1,迁移对应 划分到Nl的ID段的索引到Ni。S46,迁移结束后,接收到退出消息的管理节点解锁定,并发送退出消息到管理 系统中的每个管理节点和节点管理服务器,通知每个管理节点和节点管理服务器本管理 节点退出。具体可为S发送退出消息到管理系统中的每个管理节点和节点管理服务器, 通知每个管理节点和节点管理服务器S的退出。在这里需要说明的是,迁移结束后,接收到迁移的所述两个管理节点,即Ml和 Nl因为其所管理的ID段和索引发生的变化,所以Ml和Nl将发送变更消息到管理系统 中的每个管理节点和节点管理服务器,所述变更消息中至少包括管理节点管理的ID段和 地址信息,接收到该变更消息的管理节点可根据该变更消息中的管理节点管理的ID段和 地址信息更新自身的其它管理节点的信息列表,接收到该变更消息的节点管理服务器可 根据该变更消息中的管理节点管理的ID段和地址信息维护已加入的管理节点列表。S47,接收到所述退出消息的管理节点删除自身其它管理节点的信息列表中关于 退出的管理节点的信息,接收到所述退出消息的节点管理服务器删除已加入的管理节点 列表中关于退出的管理节点的信息。删除关于退出的管理节点的信息后,管理节点和节点管理服务器还可回复响应 消息到退出的管理节点。本实施例提供的管理节点退出管理系统的技术方案可以使管理节点退出过程不 会影响管理系统的正常工作,以便保证管理系统可提供的管理服务。下面的实施例将介绍本发明的第五实施方案,一种管理设备。一般上述各方法 实施方案的实施。如图8所示,该管理设备包括接收模块81,获取模块82,发送模块 83。接收模块81用于接收来自节点管理服务器的已加入的管理节点信息,所述已加 入的管理节点信息至少包括已加入的管理节点的地址信息;获取模块82用于利用接收模 块81接收到的所述已加入的管理节点的地址信息获取ID段连续的索引;发送模块83用 于发送加入消息到所有管理节点,所述加入消息中至少包含获取模块82获取的其所管理 的连续的ID段和地址信息。
进一步,在本实施例中获取模块82包括第一索引获取单元822。当接收模块81接收到的已加入的管理节点的地址信息为空时,第一索引获取单 元822用于将对应所述整个ID段的索引作为获取的对应所述ID段的索引。在本实施例中获取模块82还包括第二 ID获取单元823,第二索引获取单元 824。当接收模块81接收到的已加入的管理节点信息中包含一个管理节点的地址信息 时,第二 ID获取单元823用于将所述一个管理节点的前半段或者后半段的ID的索引段作 为获取的ID段连续的索引;第二索引获取单元824用于通过所述一个管理节点的地址信 息向所述一个管理节点请求迁移对应第二 ID获取单元823获取的对应所述ID段连续的索 引。在本实施例中获取模块82还包括第三获取单元825,第三确定单元826,第三 ID获取单元827,第三索引获取单元828。当接收模块81接收到的已加入的管理节点信息中包含至少两个管理节点的地址 信息时,第三获取单元825用于通过所述至少两个管理节点中的任意一个管理节点的地 址信息向所述任意一个管理节点请求获取所有管理节点的负载和信息,所述所有管理节 点的负载和信息中包括已加入的管理节点的负载和信息;第三确定单元826用于根据第 三获取单元825获取的所述所有管理节点的负载和信息确定两个负载之和最大且ID段相 互连续的管理节点;第三ID获取单元827用于根据第三确定单元826确定的所述两个管 理节点的负载计算可从其接管的两段ID段的长度;第三索引获取单元828用于通过向 所述两个管理节点分别请求迁移对应第三获取单元827获取的所述两段ID段的长度的索 引,获取对应所述两段ID段的索引。进一步,本实施例的管理设备还包括如下可选模块第一配置模块84,第二配 置模块85,第三配置模块86,更新模块87,锁定模块88。第一配置模块84用于利用接收模块81接收到的所述已加入的管理节点信息配置 其它管理节点的信息列表;第二配置模块85用于根据获取模块82获取的连续的ID段配 置管理的内容空间;第三配置模块86用于根据获取模块82获取的对应所述ID段的索引 配置内容列表。更新模块87用于根据接收到的所述加入消息中包含的所述ID段和地址信息更新 其它管理节点的信息列表;所述更新模块87还用于根据接收到的变更消息和/或退出消 息中包含的所述ID段和地址信息更新其它管理节点的信息列表;锁定模块88用于在进行 索引迁移时锁定本节点,即不响应其它管理节点的请求。进一步,为了便于本实施例中的管理设备在必要时退出管理系统,本实施例提 供的管理设备还包括如下可选模块退出接收模块814,退出确定模块89,退出获取模 块810,退出计算模块811,退出迁移模块812,退出发送模块813。退出接收模块814用于接收来自节点管理服务器的退出消息;退出确定模块89 用于在退出接收模块814接收到所述退出消息后从其它管理节点的信息列表中确定与本 节点ID段相连续的两个管理节点;退出获取模块810用于获取退出确定模块89所确定的 两个管理节点的负载;退出计算模块811用于根据退出获取模块810获取的所述两个管理 节点负载,计算可迁移到所述两个管理节点的两段ID段;退出迁移模块812用于分别迁移对应退出计算模块811计算得到的所述两段ID段的索引到对应的所述两个管理节点; 退出发送模块813用于在退出迁移模块812完成迁移后发送退出消息到所有管理节点和节 点管理服务器。本实施例提供的管理设备具有如下有益效果管理设备所管理的ID段是一个连 续的ID段,可快速定位到需要查询的文件的ID;管理设备加入管理系统的扩容过程和退 出管理系统的过程均是自动的,不需要人工干预,提高了管理设备的可用性;管理设备 在扩容的时候选择负载最重的两个管理节点进行索引的迁移,工作量少,对其它管理节 点也没有影响,因此对整个管理系统的管理性能也不会产生大的影响。通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可 借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前 者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做 出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储 介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台设备(可以是服 务器,也可以是主机等)执行本发明各个实施例的部分或全部所述的方法。以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替 换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的 保护范围为准。
权利要求
1.一种自动扩容的方法,其特征在于,包括在新节点加入时,接收来自节点管理服务器的已加入的管理节点信息,所述已加入 的管理节点信息至少包括已加入的管理节点的地址信息;利用所述已加入的管理节点的地址信息获取ID段连续的索引;发送所述新节点的加入消息到所有已加入的管理节点,所述加入消息中至少包含所 述新节点所管理的连续的ID段和所述新节点的地址信息。
2.根据权利要求1所述的自动扩容的方法,其特征在于,若获取的已加入的管理节点 信息中包含一个管理节点的地址信息,则所述利用所述已加入的管理节点的地址信息获 取ID段连续的索引包括将所述一个管理节点的前半段或者后半段的ID段的索引作为获取的ID段连续的索引;通过所述一个管理节点的地址信息向所述一个管理节点请求迁移对应所述ID段连续 的索引。
3.根据权利要求1所述的自动扩容的方法,其特征在于,若获取的已加入的管理节点 信息中包含至少两个管理节点的地址信息,则所述利用所述已加入的管理节点的地址信 息获取ID段连续的索引包括通过所述至少两个管理节点中的任意一个管理节点的地址信息向所述任意一个管理 节点请求获取所有管理节点的负载和信息,所述所有管理节点的负载和信息中包括所有 已加入的管理节点的负载和信息;根据所述任意一个管理返回的所有管理节点的负载和信息确定两个负载之和最大且 ID段相互连续的管理节点;根据所述确定的两个管理节点的负载计算可从其接管的两段ID段的长度;通过向所述两个管理节点分别请求迁移对应所述两段ID段的长度的索引,获取对应 所述两段ID段的索引。
4.根据权利要求2或3所述的自动扩容的方法,其特征在于,当有多个新节点同时参 与自动扩容的过程时,对于每一个新节点,该方法还包括当有管理节点处于锁定状态时,直到没有管理节点处于锁定状态后新节点再参与自 动扩容的过程;或者当有管理节点处于锁定状态时,新节点排除处于锁定状态的管理节点,参与自动扩 容的过程。
5.根据权利要求1至4中任意一项所述的自动扩容的方法,其特征在于,新节点利用 所述已加入的管理节点的地址信息建立其它管理节点的信息列表;该方法还包括接收到所述加入消息的管理节点根据所述新节点所管理的连续的ID段和所述新节点 的地址信息更新其它管理节点的信息列表;接收到所述加入消息的节点管理服务器根据所述ID段和地址信息建立或维护已加入 的管理节点列表,所述已加入的管理节点信息来自所述已加入的管理节点列表。
6.根据权利要求5所述的自动扩容的方法,其特征在于,该方法还包括收到退出消息后,从所述其它管理节点的信息列表中确定与本节点ID段相连续的两 个管理节点;获取所述两个管理节点的负载;根据获取的所述两个管理节点负载,计算可迁移到所述两个管理节点的两段ID段; 分别迁移对应所述两段ID段的索引到对应的所述两个管理节点; 发送退出消息到所有管理节点和节点管理服务器。
7.—种管理设备,其特征在于,包括接收模块,用于接收来自节点管理服务器的已加入的管理节点信息,所述已加入的 管理节点的信息至少包括已加入的管理节点的地址信息;获取模块,用于利用所述已加入的管理节点的地址信息获取ID段连续的索引; 发送模块,用于发送所述新节点的加入消息到所有已加入的管理节点,所述加入消 息中至少包含所述新节点所管理的连续的ID段和所述新节点的地址信息。
8.根据权利要求7所述的管理设备,其特征在于,所述接收模块接收到的已加入的管 理节点信息中包含至少两个管理节点的地址信息;所述获取模块包括第三获取单元,用于通过所述至少两个管理节点中的任意一个管理节点的地址信息 向所述任意一个管理节点请求获取所有管理节点的负载和信息,所述所有管理节点的负 载和信息中包括所有已加入的管理节点的负载和信息;第三确定单元,用于根据所述任意一个管理节点返回的所有管理节点的负载和信息 确定两个负载之和最大且ID段连续的管理节点;第三ID获取单元,用于根据所述确定的两个管理节点的负载计算可从其接管的两段 ID段的长度;第三索引获取单元,用于通过向所述两个管理节点分别请求迁移对应所述两段ID段 的索引,获取对应所述两段ID段的索引。
9.根据权利要求7至8中任意一项所述的管理设备,其特征在于,该设备还包括 第一配置模块,用于利用所述已加入的管理节点的地址信息配置其它管理节点的信息列表;更新模块,用于根据接收到的所述加入消息中包含的所述ID段和地址信息更新其它 管理节点的信息列表。
10.根据权利要求9所述的管理设备,其特征在于,该设备还包括退出确定模块,用于收到退出消息后,从所述其它管理节点的信息列表中确定与本 节点ID段相连续的两个管理节点;退出获取模块,用于获取所述两个管理节点的负载;退出计算模块,用于根据获取的所述两个管理节点负载,计算可迁移到所述两个管 理节点的两段ID段;退出迁移模块,用于分别迁移对应所述两段ID段的索引到对应的所述两个管理节点。退出发送模块,用于发送退出消息到所有管理节点和节点管理服务器。
全文摘要
本发明的实施例公开了一种自动扩容的方法,管理设备及系统,涉及通信技术领域,解决了现有技术中由于管理节点上的管理的ID段不连续而导致的查找效率低的技术问题。本发明实施例在新节点加入时,接收来自节点管理服务器的已加入的管理节点信息,所述已加入的管理节点信息至少包括已加入的管理节点的地址信息;利用所述已加入的管理节点的地址信息获取ID段连续的索引;发送所述新节点的加入消息到所有已加入的管理节点,所述加入消息中至少包含所述新节点所管理的连续的ID段和所述新节点的地址信息。本发明实施例主要用于管理数据存储。
文档编号H04L12/24GK102013991SQ20091016990
公开日2011年4月13日 申请日期2009年9月8日 优先权日2009年9月8日
发明者严哲峰, 李丽娟, 王铁英 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1