CN102013991B - 自动扩容的方法、管理设备及*** - Google Patents
自动扩容的方法、管理设备及*** Download PDFInfo
- Publication number
- CN102013991B CN102013991B CN200910169906A CN200910169906A CN102013991B CN 102013991 B CN102013991 B CN 102013991B CN 200910169906 A CN200910169906 A CN 200910169906A CN 200910169906 A CN200910169906 A CN 200910169906A CN 102013991 B CN102013991 B CN 102013991B
- Authority
- CN
- China
- Prior art keywords
- management
- node
- information
- section
- nodes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/042—Network management architectures or arrangements comprising distributed management centres cooperatively managing the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1046—Joining mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明的实施例公开了一种自动扩容的方法,管理设备及***,涉及通信技术领域,解决了现有技术中由于管理节点上的管理的ID段不连续而导致的查找效率低的技术问题。本发明实施例在新节点加入时,接收来自节点管理服务器的已加入的管理节点信息,所述已加入的管理节点信息至少包括已加入的管理节点的地址信息;利用所述已加入的管理节点的地址信息获取ID段连续的索引;发送所述新节点的加入消息到所有已加入的管理节点,所述加入消息中至少包含所述新节点所管理的连续的ID段和所述新节点的地址信息。本发明实施例主要用于管理数据存储。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种自动扩容的方法,一种管理设备及一种管理***。
背景技术
全球数据量***式增长,人们对网络***中数据存储能力的要求也越来越高。然而,随着数据存储能力的提高,如何对网络***中存储的海量数据进行管理的问题也相应而生。
对于网络***中存储的海量数据,需要一种管理***,通过该管理***方便管理员管理存储的数据内容,了解网络***的运营状况、数据的分布情况,对应用情况的查看和修改等功能进行管理。然而不断上升的数据量却使管理***的存储容量和管理质量出现瓶颈。此时,便需要通过扩大管理***的存储容量,即在管理***中增加新节点的方案来解决上述问题。
在现有技术中,扩大管理***的存储容量的方案主要包括:
当管理***的负载过重时,在管理***中增加新节点,在该管理***的原有节点中随机选择几个负载较重的节点,并将其上的部分负载迁移到新节点中。
在实现上述方案的过程中,发明人发现现有技术中至少存在如下问题:因为每个原有节点管理的索引的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,新节点向任意一个管理节点请求获取管理***中每个管理节点的负载及其信息。
具体执行过程可参照上述S401。
S4021,所述任意一个管理节点获取每个管理节点负载和信息,并根据所述负载和信息配置管理节点负载列表,将所述列表发送到新节点。
具体执行过程可参照上述S402。
S408,新节点收到请求的管理节点发来的管理节点负载列表。
S409,新节点根据该管理节点负载列表判断是否有负载为空的管理节点,如果是,则执行S410;否则执行S411。
负载为空的管理节点可代表该管理节点处于锁定的状态,即该管理节点正在进行迁移过程,此时该管理节点是不处理来自其它管理节点的请求的。
S410,新节点等待一个预设第一周期,在预设第一周期到时后执行S4011。
S411,新节点根据所述管理节点负载列表上的信息配置自身的其他管理节点的信息列表,并在所述管理节点负载列表中查找出两个ID段连续且负载之和最大的管理节点,然后根据查找出的两个管理节点的负载计算出需向所述两个管理节点请求迁移的索引的ID段长度,即,可从所述两个管理节点那里接管而来的两段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段长度,即,可从所述两个管理节点那里接管而来的两段ID段的长度,并将所述两段ID段的长度所对应的连续的ID段作为获取的ID段,同时根据所述获取的ID段配置管理的内容空间。
S417,新节点根据计算得出的两段ID段的长度分别向查找到的两个管理节点发送相应的迁移请求,请求管理节点迁移对应所述ID段长度的索引。
S418,如果新节点接收到来自请求的管理节点的拒绝响应,则等待一个预设第二周期,并累计等待的预设第二周期的次数,若预设周期到时,并且累计等待的预设第二周期的次数未达到预设的次数,则执行S417;若预设第二周期到时,并且累计等待的预设第二周期的次数达到预设的次数,则执行S4012;如果新节点接收到来着请求的管理节点的返回的索引,则可接续本实施例上述的S406开始执行。
上述第一种和第二种方案中提到的预设第一周期和预设第二周期可以为相同的周期,也可以为不同的周期,可以通过相同的程序或装置实现,也可以通过不同的程序或者装置实现。本发明实施例对所述部分不做限定。
本实施例提供的两种多个新节点同时加入管理***时的扩容方案具有如下有益效果:可使多个新节点同时加入管理***时不会出现干扰、异常以及造成ID段不连续的或重叠的情况发生。
下面继续描述在本实施中,若由于某个管理节点老化,需要被淘汰等原因,所述管理节点退出管理***的方案。如图7所示,该方案包括:
S41,管理节点接收到节点管理服务器发送的退出消息。
具体可为:在本实施例中,设需要退出管理***的管理节点为S,则S接收到节点管理服务器发送的退出消息。
S42,接收到退出消息的管理节点在自身的其它管理节点列表中查找与自身管理的ID段相连续的两个管理节点,并发送负载请求,向所述两个管理节点分别请求其负载。
具体可为:设该查找到的两个管理节点分别为M1、N1。即M1和N1各自所管理的ID段分别与S的ID段相连续,且设上述三个管理节点的ID段相连续的顺序为:M1的ID段、S的ID段、N1的ID段。S向M1发送负载请求,请求M1的负载,S向N1发送负载请求,请求N1的负载。
S43,接收到退出消息的管理节点根据所述两个管理节点各自返回的负载,计算可向所述两个管理节点迁移的两段ID段的长度,并分别向发送包含与所述ID段的长度相对应的ID段的消息到所述两个管理节点,通知所述两个管理节点将要划分到其上的ID段。
具体可为:设M1和N1返回的负载分别为m1和n1,则S可向M1迁移的ID段长度为:M1的ID段的后面m1/(m1+n1)*2/3;S可向N1迁移的ID段长度为:N1的ID段的前面n1/(m1+n1)*2/3;S发送包含与m1/(m1+n1)*2/3相对应的ID段的消息到M1,S发送包含与n1/(m1+n1)*2/3相对应的ID段的消息到N1。
在某些特殊情况下,例如M1和N1的负载较重,那么S根据其负载m1和n1对应计算得出的两段ID段的长度之和可能会小于自身ID段的长度,此时则代表S上所记录的索引将无法全部迁移到M1和N1上,在这样的情况下,为了保证迁移后的ID段的连续性,可采用如下方案:S等待M1,N1的负载降低,直到计算得出的两段ID段的长度之和不小于自身ID段的长度,即直到S上的索引可以全部迁移到M1、N1上为止,在进行下述步骤,以便退出管理***。
S44,接收到所述包含ID段的消息的所述两个管理节点分别返回响应消息到接收到退出消息的管理节点。
具体可为:M1返回响应消息到S;N1返回响应消息到S。
在这里需要说明的是,若所述两个管理节点中的某个管理节点正处于锁定状态,则处于锁定状态的所述管理节点将在接收到包含ID段的消息后发送拒绝消息到接收到退出消息的管理节点,此时,所述接收到推出消息的管理节点将等待一个周期,并再次向所述发送拒绝消息的管理节点发送包含ID段的消息,直到所述发送拒绝消息的管理节点可进行迁移,返回响应消息到接收到退出消息的管理节点。
S45,接收到退出消息的管理节点锁定本节点,即不响应其它节点的请求,并分别迁移对应两段ID段的索引到相应的管理节点。
具体可为:S锁定自身,并迁移对应划分到M1的ID段的索引到M1,迁移对应划分到N1的ID段的索引到N1。
S46,迁移结束后,接收到退出消息的管理节点解锁定,并发送退出消息到管理***中的每个管理节点和节点管理服务器,通知每个管理节点和节点管理服务器本管理节点退出。
具体可为:S发送退出消息到管理***中的每个管理节点和节点管理服务器,通知每个管理节点和节点管理服务器S的退出。
在这里需要说明的是,迁移结束后,接收到迁移的所述两个管理节点,即M1和N1因为其所管理的ID段和索引发生的变化,所以M1和N1将发送变更消息到管理***中的每个管理节点和节点管理服务器,所述变更消息中至少包括管理节点管理的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;管理设备加入管理***的扩容过程和退出管理***的过程均是自动的,不需要人工干预,提高了管理设备的可用性;管理设备在扩容的时候选择负载最重的两个管理节点进行索引的迁移,工作量少,对其它管理节点也没有影响,因此对整个管理***的管理性能也不会产生大的影响。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台设备(可以是服务器,也可以是主机等)执行本发明各个实施例的部分或全部所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种自动扩容的方法,其特征在于,包括:
在新节点加入时,接收来自节点管理服务器的已加入的管理节点信息,所述已加入的管理节点信息至少包括已加入的管理节点的地址信息;
利用所述已加入的管理节点的地址信息获取ID段连续的索引;
发送所述新节点的加入消息到所有已加入的管理节点,所述加入消息中至少包含所述新节点所管理的连续的ID段和所述新节点的地址信息。
2.根据权利要求1所述的自动扩容的方法,其特征在于,若获取的已加入的管理节点信息中包含一个管理节点的地址信息,则所述利用所述已加入的管理节点的地址信息获取ID段连续的索引包括:
将所述一个管理节点的前半段或者后半段的ID段的索引作为获取的ID段连续的索引;
通过所述一个管理节点的地址信息向所述一个管理节点请求迁移对应所述ID段连续的索引。
3.根据权利要求1所述的自动扩容的方法,其特征在于,若获取的已加入的管理节点信息中包含至少两个管理节点的地址信息,则所述利用所述已加入的管理节点的地址信息获取ID段连续的索引包括:
通过所述至少两个管理节点中的任意一个管理节点的地址信息向所述任意一个管理节点请求获取所有管理节点的负载和信息,所述所有管理节点的负载和信息中包括所有已加入的管理节点的负载和信息;
根据所述任意一个管理节点返回的所有管理节点的负载和信息确定两个负载之和最大且ID段相互连续的管理节点;
根据所述确定的两个管理节点的负载计算可从其接管的两段ID段的长度;
通过向所述两个管理节点分别请求迁移对应所述两段ID段的长度的索引,获取对应所述两段ID段的索引。
4.根据权利要求2或3所述的自动扩容的方法,其特征在于,当有多个新节点同时参与自动扩容的过程时,对于每一个新节点,该方法还包括:
当有管理节点处于锁定状态时,直到没有管理节点处于锁定状态后新节点再参与自动扩容的过程;或者
当有管理节点处于锁定状态时,新节点排除处于锁定状态的管理节点,参与自动扩容的过程。
5.根据权利要求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段的索引到对应的所述两个管理节点;
退出发送模块,用于发送退出消息到所有管理节点和节点管理服务器。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910169906A CN102013991B (zh) | 2009-09-08 | 2009-09-08 | 自动扩容的方法、管理设备及*** |
PCT/CN2010/076517 WO2011029371A1 (zh) | 2009-09-08 | 2010-09-01 | 自动扩容的方法、管理设备及*** |
US13/415,509 US9225586B2 (en) | 2009-09-08 | 2012-03-08 | Automatic expansion method, management device, management system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910169906A CN102013991B (zh) | 2009-09-08 | 2009-09-08 | 自动扩容的方法、管理设备及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102013991A CN102013991A (zh) | 2011-04-13 |
CN102013991B true CN102013991B (zh) | 2012-10-17 |
Family
ID=43731997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910169906A Active CN102013991B (zh) | 2009-09-08 | 2009-09-08 | 自动扩容的方法、管理设备及*** |
Country Status (3)
Country | Link |
---|---|
US (1) | US9225586B2 (zh) |
CN (1) | CN102013991B (zh) |
WO (1) | WO2011029371A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102013991B (zh) * | 2009-09-08 | 2012-10-17 | 华为技术有限公司 | 自动扩容的方法、管理设备及*** |
CN102710438B (zh) * | 2012-05-28 | 2015-01-21 | 华为技术有限公司 | 一种节点管理方法、装置及*** |
CN103345519B (zh) * | 2013-07-11 | 2017-07-21 | 华为技术有限公司 | 无共享分布式数据库的数据分布的方法和装置 |
CN103810244B (zh) * | 2013-12-09 | 2017-10-27 | 北京理工大学 | 一种基于数据分布的分布式数据存储***的扩容方法 |
US11095715B2 (en) * | 2014-09-24 | 2021-08-17 | Ebay Inc. | Assigning storage responsibility in a distributed data storage system with replication |
CN106101175B (zh) * | 2016-05-25 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 设备管控方法、装置和*** |
CN106210119B (zh) * | 2016-07-29 | 2019-10-01 | 深圳前海微众银行股份有限公司 | 消息中间件的平滑扩容方法及*** |
US11126623B1 (en) * | 2016-09-28 | 2021-09-21 | Amazon Technologies, Inc. | Index-based replica scale-out |
CN108008913B (zh) * | 2016-10-27 | 2020-12-18 | 杭州海康威视数字技术股份有限公司 | 一种基于管理节点的扩容方法、装置及存储*** |
CN109495306B (zh) * | 2018-11-27 | 2022-02-01 | 平安科技(深圳)有限公司 | 一种业务网络的扩容方法及设备 |
US11811676B2 (en) | 2022-03-30 | 2023-11-07 | International Business Machines Corporation | Proactive auto-scaling |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6041358A (en) * | 1996-11-12 | 2000-03-21 | Industrial Technology Research Inst. | Method for maintaining virtual local area networks with mobile terminals in an ATM network |
CN1638353A (zh) * | 2004-01-09 | 2005-07-13 | 株式会社Ntt都科摩 | 网络拓扑构成方法及节点 |
CN101452406A (zh) * | 2008-12-23 | 2009-06-10 | 北京航空航天大学 | 一种对操作***透明的机群负载平衡方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5908469A (en) * | 1997-02-14 | 1999-06-01 | International Business Machines Corporation | Generic user authentication for network computers |
CN100536441C (zh) | 2004-05-18 | 2009-09-02 | 中兴通讯股份有限公司 | 一种大容量电子邮件的存储管理方法及其*** |
CN100452741C (zh) * | 2006-06-29 | 2009-01-14 | 腾讯科技(深圳)有限公司 | 一种可扩展的p2p流媒体*** |
JP4806605B2 (ja) * | 2006-08-30 | 2011-11-02 | 株式会社日立製作所 | センサネットワークシステム及びセンサネットワークのデータ管理方法 |
JP4696089B2 (ja) * | 2007-03-30 | 2011-06-08 | 三菱電機インフォメーションシステムズ株式会社 | 分散ストレージシステム |
CN101251789A (zh) | 2008-03-28 | 2008-08-27 | 清华大学 | 廉价磁盘冗余阵列raid5卷快速扩容方法 |
CN102013991B (zh) * | 2009-09-08 | 2012-10-17 | 华为技术有限公司 | 自动扩容的方法、管理设备及*** |
-
2009
- 2009-09-08 CN CN200910169906A patent/CN102013991B/zh active Active
-
2010
- 2010-09-01 WO PCT/CN2010/076517 patent/WO2011029371A1/zh active Application Filing
-
2012
- 2012-03-08 US US13/415,509 patent/US9225586B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6041358A (en) * | 1996-11-12 | 2000-03-21 | Industrial Technology Research Inst. | Method for maintaining virtual local area networks with mobile terminals in an ATM network |
CN1638353A (zh) * | 2004-01-09 | 2005-07-13 | 株式会社Ntt都科摩 | 网络拓扑构成方法及节点 |
CN101452406A (zh) * | 2008-12-23 | 2009-06-10 | 北京航空航天大学 | 一种对操作***透明的机群负载平衡方法 |
Non-Patent Citations (1)
Title |
---|
李丽娟等.结构化P2P***中基于网络定位的负载均衡算法.《计算机应用研究》.2008,第25卷(第8期),第2页. * |
Also Published As
Publication number | Publication date |
---|---|
WO2011029371A1 (zh) | 2011-03-17 |
US20120173695A1 (en) | 2012-07-05 |
CN102013991A (zh) | 2011-04-13 |
US9225586B2 (en) | 2015-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102013991B (zh) | 自动扩容的方法、管理设备及*** | |
CN106233264B (zh) | 使用可变条带大小的文件存储装置 | |
CN106255967B (zh) | 分布式存储***中的命名空间管理 | |
CN106599308B (zh) | 一种分布式元数据管理方法及*** | |
CN100496004C (zh) | 结构化对等网络***及其负载查询、转移及资源查找方法 | |
US11003367B2 (en) | Data storage, reading, and cleansing method and device, and cloud storage system | |
CN103647797A (zh) | 一种分布式文件***及其数据访问方法 | |
CN107247778A (zh) | 用于实施可扩展数据存储服务的***和方法 | |
CN104065685A (zh) | 面向云计算环境的分层存储***中的数据迁移方法 | |
CN101620609A (zh) | 多租户数据存储和访问方法和装置 | |
CN110321225B (zh) | 负载均衡方法、元数据服务器及计算机可读存储介质 | |
CN103473239A (zh) | 一种非关系型数据库数据更新方法和装置 | |
CN105138678A (zh) | 一种地图瓦片数据的读取、分发方法及读取、分发*** | |
CN105978981B (zh) | 基于公有云存储账户的数据备份的线性扩容方法及*** | |
CN102739622A (zh) | 一种可扩展的数据存储*** | |
CN109271106A (zh) | 消息存储、读取方法及装置、服务器、存储介质 | |
CN106302659A (zh) | 一种基于云存储***中提升访问数据快速存储方法 | |
CN109542861A (zh) | 一种文件管理方法、装置和*** | |
CN105956491B (zh) | 对公有云存储***的数据进行多账号备份的方法及*** | |
CN108319634B (zh) | 分布式文件***的目录访问方法和装置 | |
CN103049574A (zh) | 实现文件动态副本的键值文件***及方法 | |
CN111444157A (zh) | 分布式文件***及数据访问方法 | |
CN106341485A (zh) | 一种云存储的方法及装置 | |
CN103365740A (zh) | 一种数据冷备方法及装置 | |
CN111737052B (zh) | 分布式对象存储***及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |