划分节点子域归属的方法和装置的制作方法

文档序号:7867495阅读:133来源:国知局
专利名称:划分节点子域归属的方法和装置的制作方法
技术领域
本发明实施例涉及计算机网络领域,尤其涉及一种划分节点子域归属的方法和装置。
背景技术
在大规模分布式系统中,常常会采取子域的方式,将整个分布式系统划分成多个相对独立的子域,每个子域由若干个节点构成,子域内部各节点两两相关,而不同子域的节点只通过不同子域的某个节点相关,从而达到降低通信量、分担计算开销、故障隔离、方便
管理等目的。另外,在由子域构成的分布式系统中,系统初始部署以及扩容新的节点时,需要采取某种方法,将这些节点划分到某个子域中。现有技术中一种划分方法是各个待分配子域的节点独立计算自己应归属的子域。具体的,对于每个待分配子域的节点,在划分节点子域归属前,该待分配子域的节点获取节点列表信息,该节点列表信息包括待分配子域节点和已分配子域节点的信息,采用子域分配算法,对该节点列表信息进行计算,获取该待分配子域的节点所应归属的子域。但是,现有的节点列表信息获取方式由于采用用户手动配置,或者,由系统在运行时动态获取,因此,可能造成各个待分配子域的节点获取到的节点列表信息不一致,从而造成各节点计算的分配结果不一致的问题,进而易造成子域分配不均匀或者节点计算结果相互矛盾的问题。

发明内容
本发明实施例提供一种划分节点子域归属的方法及装置,以解决子域分配不均匀或者节点计算结果相互矛盾的问题,保证分配结果在各节点上的一致性。第一方面,本发明提供一种划分节点子域归属的方法,包括第一游离节点广播第一节点信息,并接收第二游离节点根据所述第一节点信息返回的第二节点信息,或者所述第二节点信息和普通节点根据所述第一节点信息返回的第三节点信息;所述第一游离节点根据第一节点信息、主节点条件和所述第二节点信息,确认所述第一游离节点为游离域主节点后,根据所述第二节点信息,或者所述第二节点信息和所述第三节点信息,采用分配算法,分别对所述第一游离节点和所述第二游离节点进行子域划分,获取子域划分结果; 所述第一游离域节点广播所述子域划分结果。在第一方面的第一种可能的实施方式中,所述根据所述第二节点信息,或者所述第二节点信息和所述第三节点信息,采用分配算法,分别对所述第一游离节点和所述第二游离节点进行子域划分,获取子域划分结果,包括根据所述第三节点信息,判断出当前已分配子域承载节点数量是否达到阈值;
在判断出所述当前已分配子域承载节点数量达到所述阈值时,根据所述第二节点信息,采用所述分配算法,创建新的子域,并将所述第一游离节点和所述第二游离节点分配到所述新的子域中,获取子域划分结果;其中,所述当前已分配子域所承载的节点为所述普通节点。结合第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,还包括在判断出当前已分配子域承载节点数量没有达到阈值时,根据所述第二节点信息和所述第三节点信息,采用所述分配算法,将所述第一游离节点和所述第二游离节点分配到所述当前已分配子域中,获取子域划分结果。结合第一方面至第一方面的第二种可能的实施方式中任一所述的分节点子域归属的方法,在第一方面的第三种可能的实施方式中,所述第一游离节点根据第一节点信息、主节点条件和所述第二节点信息,确认所述第一游离节点为游离域主节点,包括所述第一游离节点根据第一节点信息、主节点条件和所述第二节点信息,判断所述第一游离节点是否满足所述主节点条件;所述第一游离节点若判断出所述第一游离节点满足所述主节点条件,则向所述第二游离节点发送主节点申请请求;所述第一游离节点在接收到每个所述第二游离节点均发送的同意消息时,确认所述第一游离节点为游离域主节 点;其中,所述同意消息为所述第二游离节点根据所述主节点申请请求,判断所述第一游离节点为游离域主节点后生成的消息。结合第一方面,在第一方面的第四种可能的实施方式中,在所述第一游离节点根据第一节点信息、主节点条件和所述第二节点信息,确认所述第一游离节点为游离域主节点后,所述方法还包括所述第一游离节点广播通知消息,所述通知消息包括游离域主节点的标识为第一游离节点标识。第二方面,本发明提供一种划分节点子域归属的装置,包括广播模块,用于广播第一节点信息;接收模块,用于接收第二游离节点根据所述第一节点信息返回的第二节点信息,或者所述第二节点信息和普通节点根据所述第一节点信息返回的第三节点信息;确认模块,用于根据第一节点信息、主节点条件和所述第二节点信息,确认所述划分节点子域归属的装置是否为游离域主节点;划分模块,用于在所述确认模块确认所述划分节点子域归属的装置为所述游离域主节点时,根据所述第二节点信息,或者所述第二节点信息和所述第三节点信息,采用分配算法,分别对所述第一游离节点和所述第二游离节点进行子域划分,获取子域划分结果;所述广播模块还用于广播所述子域划分结果。在第二方面的第一种可能的实施方式中,所述划分模块包括第一判断单元,用于根据所述第三节点信息,判断出当前已分配子域承载节点数量是否达到阈值;处理单元,用于在所述第一判断单元判断出所述当前已分配子域承载节点数量达到所述阈值时,根据所述第二节点信息,采用所述分配算法,创建新的子域,并将所述第一游离节点和所述第二游离节点分配到所述新的子域中,获取子域划分结果;其中,所述当前已分配子域所承载的节点为所述普通节点。结合第二方面的第一种可能的实施方式,在第二方面的第二种可能的实施方式中,所述处理单元还用于在所述第一判断单元判断出当前已分配子域承载节点数量没有达到阈值时,根据所述第二节点信息和所述第三节点信息,采用所述分配算法,将所述第一游离节点和所述第二游离节点分配到所述当前已分配子域中,获取子域划分结果。结合第二方面至第二方面的第二种可能的实施方式中任一所述的分节点子域归属的装置,在第二方面的第三种可能的实施方式中,所述确认模块包括 第二判断单元,用于根据第一节点信息、主节点条件和所述第二节点信息,判断所述第一游离节点是否满足所述主节点条件;收发单元,用于若所述第二判断单元判断出所述第一游离节点满足所述主节点条件,则向所述第二游离节点发送主节点申请请求;确认单元,用于在所述收发单元接收到每个所述第二游离节点均发送的同意消息时,确认所述第一游离节点为游离域主节点;其中,所述同意消息为所述第二游离节点根据所述主节点申请请求,判断所述第一游离节点为游离域主节点后生成的消息。结合第二方面,在第二方面的第四种可能的实施方式中,所述广播模块还用于广播通知消息,所述通知消息包括游离域主节点的标识为划分节点子域归属的装置的标识。本发明实施例提供的划分节点子域归属的方法和装置,通过第一游离节点广播第一节点信息,并接收第二游离节点根据第一节点信息返回的第二节点信息,或者第二节点信息和普通节点根据第一节点信息返回的第三节点信息,第一游离节点根据第一节点信息、主节点条件和第二节点信息,确认第一游离节点为游离域主节点后,根据第二节点信息,或者第二节点信息和第三节点信息,采用分配算法,分别对第一游离节点和第二游离节点进行子域划分,获取子域划分结果,第一游离域节点广播子域划分结果。实现了在新的系统子域划分部署的场景和系统扩容的场景下单个节点进行子域分配,避免了多节点独立分配可能产生的不一致问题,并保证分配结果在各节点上的一致性。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明划分节点子域归属的方法实施例一的流程图;图2为本发明划分节点子域归属的方法实施例二的流程图;图3为本发明划分节点子域归属的方法实施例三的流程图;图4为本发明划分节点子域归属的方法实施例四的流程图;图5为本发明划分节点子域归属的装置实施例一的结构示意图;图6为本发明划分节点子域归属的装置实施例二的结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图1为本发明划分节点子域归属的方法实施例一的流程图,如图1所示,本实施例的方法可以包括S101、第一游离节点广播第一节点信息,并接收第二游离节点根据第一节点信息返回的第二节点信息,或者第二节点信息和普通节点根据第一节点信息返回的第三节点信息。具体来说,游离节点指的是还没有划分子域的节点,即将待分配子域的节点称为游离节点。游离域是指游离节点构成的域。普通节点指的是当前已分配子域所承载的节点,第一游离节点或第二游离节点和普通节点的数量均可以为多个。在新的系统子域划分部署的场景下,第一游离节点广播第一节点信息,并接收第二游离节点根据第一节点信息返回的第二节点信息;在系统已划分了子域,系统扩容的场景下,第一游离节点广播第一节点信息,并接收第二节点信息和普通节点根据第一节点信息返回的第三节点信息。其中,第一节点信息或第二节点信息随业务需求而定,要满足子域算法需要,例如可包括节点业务处理能力、节点的标识、物理地址等信息。普通节点返回的第三节点信息为节点自身保存的当前系统拓扑信息。另外,优选的,在第一游离节点广播第一节点信息之前,第一游离节点可以记录广播开始的时间,该时间用于限制广播的总时长,广播的总时长按照实际需求提前设定。S102、第一游离节点根据第一节点信息、主节点条件和第二节点信息,确认第一游离节点为游离域主节点后,根据第二节点信息,或者第二节点信息和第三节点信息,采用分配算法,分别对第一游离节点和第二游离节点进行子域划分,获取子域划分结果。优选的,第一游离节点根据第一节点信息、主节点条件和第二节点信息,确认第一游离节点为游离域主节点之前,可以检查广播的总时长是否超过设定值,如果超过则认为已经完整获取到所有游离节点或所有游离节点及当前系统的拓扑信息,否则继续循环广播第一节点信息。在本实施例中,需要说明的是,第一游离节点的数量可以是多个,但是作为游离域主节点的第一游离节点的数量只为一个。S103、第一游离域节点广播子域划分结果。本实施例提供的划分节点子域归属的方法,通过单个游离节点确认成为游离域主节点后,该游离域主节点采用分配算法对其他游离节点进行子域划分,获取子域划分结果。实现了在新的系统子域划分部署的场景和系统扩容的场景下单个节点进行子域分配,避免了多节点独立分配可能产生的不一致问题,并保证分配结果在各节点上的一致性。图2为本发明划分节点子域归属的方法实施例二的流程图,在上述图1所示实施例的基础上,以系统已经有划分的子域为例,如图2所示,S102的一种具体实现方式为S102a、根据第三节点信息,判断出当前已分配子域承载节点数量是否达到阈值;若达到,执行S102b ;若没有达到,则执行S102c。其中,阈值为子域最大节点数量,该阈值根据具体业务需求不同来确定。S102b、根据第二节点信息,采用分配算法,创建新的子域,并将第一游离节点和第二游离节点分配到新的子域,获取子域划分结果;其中,当前已分配子域所承载的节点为普通节点。S102C、根据第二节点信息和第三节点信息,采用分配算法,将第一游离节点和第二游离节点分配到当前已分配子域中,获取子域划分结果。在本实施例中,所采用的分配算法根据不同的业务需求进行不同设定,例如按子域节点数量均衡优先、子域负载均衡优先等,此处不做限制。进一步的,在S102中该第一游离节点根据第一节点信息、主节点条件和该第二节点信息,确认该第一游离节点为游离域主节点的一种具体实现方式为S102d、第一游离节点根据第一节点信息、主节点条件和第二节点信息,判断第一游离节点是否满足主节点条件。其中,主节点条件可根据具体业务需求进行设定,例如选择节点业务处理能力最强的节点或节点号(或者节点编号)最小的节点成为主节点。其中,每个节点对应一个唯一的节点号。该节点号可以用数字来表示。S102e 、第一游离节点若判断出第一游离节点满足主节点条件,则向第二游离节点发送主节点申请请求。S102f、第一游离节点在接收到每个第二游离节点均发送的同意消息时,确认第一游离节点为游离域主节点。其中,同意消息为第二游离节点根据主节点申请请求,判断第一游离节点为游离域主节点后生成的消息。该主节点申请请求中包含的参数需要满足选主算法的要求,随具体业务场景而定,例如参数可能包括节点号、处理能力、物理位置等。在确认第一游离节点为游离域主节点之后,第一游离节点广播通知消息,通知消息包括游离域主节点的标识为第一游离节点标识。下面采用两个具体的实施例,对上述所示方法实施例的技术方案进行详细说明。图3为本发明划分节点子域归属的方法实施例三的流程图,本实施例提供的是在新的系统子域划分部署的场景下划分节点子域归属的方法,如图3所示,本实施例的方法可以包括S201、第一游离节点记录广播开始的时间,该时间用于限制广播的总时长,广播的总时长按照实际需求提前设定。S202、第一游离节点广播第一节点信息。S203、第二游离节点接收到第一节点信息后,回复自身第二节点信息。其中,第一节点信息或第二节点信息随业务需求而定,要满足子域算法需要,例如可包括节点业务处理能力、节点的标识、物理地址等信息。S204、第一游离节点检查广播总时长是否超过设定值,并检查出广播总时长查过该设定值时,第一游离节点根据第一节点信息、主节点条件和第二节点信息,判断第一游离节点是否满足主节点条件。在本实施例中,如果超过则认为已经完整获取到所有游离节点的第二节点信息,否则继续循环广播第一节点信息。主节点条件可根据具体业务需求进行设定,例如选择节点业务处理能力最强的节点或节点号最小的节点成为主节点。S205、第一游离节点若判断出第一游离节点满足主节点条件,则向第二游离节点发送主节点申请请求。S206、第二游离节点检查第一游离节点申请请求是否满足条件,若满足则向第一游离节点发送同意消息。在本实施例中,需要说明的是,条件判断的算法需要与主节点选取算法保持一致,例如,如果在业务场景中,以最小节点编号作为主节点条件,则第二游离节点判断第一游离节点的节点编号是否比自己的编号小,如果小则返回同意消息,否则返回反对消息。还需要说明的是,若不满足则返回反对消息,返回反对消息时,则本次选游离域主节点失败,此时第一游离节点继续广播第一节点信息,等待一个周期后,如果发现游离域还没有产生游离域主节点,则其再次启动选游离域主节点过程。S207、第一游离节点在接收到每个第二游离节点均发送的同意消息时,确认第一游离节点为游离域主节点。其中,同意消息为第二游离节点根据主节点申请请求,判断第一游离节点为游离域主节点后生成的消息。S208、第一游离节点广播通知消息,该通知消息包括游离域主节点的标识为第一游离节点标识。在本实施例中,第一游离节点确认其为游离域主节点之后,如果收到其他第二游离节点广播的节点消息,直接将其加入自己的管理范围。S209、第一游离节点采用分配算法,对第一游离节点和第二游离节点进行子域划分,获取子域划分结果。其中,所采用的分配算法根据不同的业务需求进行不同设定,例如按子域节点数量均衡优先、子域负载均衡优先等,此处不做限制。S210、第一游离节点广播子域划分结果。S211、第二游离节点收到子域划分结果后,要对子域划分结果进行子域分配合理性检查,若检查通过,则向第一游离节点发送同意消息;在本实施例中,第二游离节点检查自身是否被合理分配,检查算法随具体业务需求设定,例如检查自身被分配的子域的节点数量是否超过阈值或者检查自身是否被分配到某个子域。若检查不通过,则向第一游离节点发送不同意消息。S212、第一游离节点若收到所有第二游离节点返回的同意消息,则广播确认消息;在本实施例中,还需要说明的是,若收到有的第二游离节点返回反对消息或者返回超时,则本次分配失败,等待一段时间后游离域再次选主节点并再次进行子域划分。S213、 第二游离节点收到第一游离节点发送的确认消息后,记录子域划分结果,子域划分结束。图4为本发明划分节点子域归属的方法实施例四的流程图,本实施例与图3所示实施例的区别在于场景不同,本实施提供的是在系统扩容的场景下划分节点子域归属的方法,如图4所示,本实施例的方法可以包括
S301、第一游离节点记录广播开始的时间,该时间用于限制广播的总时长,广播的总时长按照实际需求提前设定。S302、第一游离节点广播第一节点信息。S303、第二游离节点接收到第一节点信息后,回复自身第二节点信息。其中,第一节点信息或第二节点信息随业务需求而定,要满足子域算法需要,例如可包括节点业务处理能力、节点的标识、物理地址等信息。S304、普通节点接收到第一节点信息后,回复自身第三节点信息。其中,普通节点返回的第三节点信息为节点自身保存的当前系统拓扑信息。S305、第一游离节点检查广播总时长是否超过设定值,并检查出广播总时长查过该设定值时,第一游离节点根据第一节点信息、主节点条件和第二节点信息,判断第一游离节点是否满足主节点条件。在本实施例中,如果超过则认为已经完整获取到所有游离节点的第二节点信息,否则继续循环广播第一节点信息。其中,主节点条件可根据具体业务需求进行设定,例如选择节点业务处理能力最强的节点或节点号最小的节点成为主节点。S306、第一游离节点若判断出第一游离节点满足主节点条件,则向第二游离节点发送主节点申请请求。S307、第二游离节点检查第一游离节点申请请求是否满足条件,若满足则向第一游离节点发送同意消息。在本实施例中,还需要说明的是,若不满足则返回反对消息,返回反对消息时,则本次选游离域主节点失败,此时第一游离节点继续广播第一节点信息,等待一个周期后,如果发现游离域还没有产生游离域主节点,则其再次启动选游离域主节点过程。S308、第一游离节点在接收到每个第二游离节点均发送的同意消息时,确认第一游离节点为游离域主节点。其中,同意消息为第二游离节点根据主节点申请请求,判断第一游离节点为游离域主节点后生成的消息。S309、第一游离节点广播通知消息,该通知消息包括游离域主节点的标识为第一游离节点标识。在本实施例中,第一游离节点确认其为游离域主节点之后,如果收到其他第二游离节点广播的节点消息,直接将其加入自己的管理范围,第一游离节点广播通知消息,通知消息包括游离域主节点的标识为第一游离节点标识。S310、第一游离节点根据第三节点信息,判断出当前已分配子域承载节点数量是否达到阈值,若达到,则根据第二节点信息和第三节点信息,采用分配算法,将第一游离节点和第二游离节点分配到当前已分配子域中,获取子域划分结果;若没有达到,根据第二节点信息,采用分配算法,创建新的子域,并将第一游离节点和第二游离节点分配到新的子域,获取子域划分结果。其中,所采用的分配算法根据不同的业务需求进行不同设定,例如按子域节点数量均衡优先、子域负载均衡优先等,此处不做限制。S311、第一游离节点广播子域划分结果。 S312、第二游离节点收到子域划分结果后,要对子域划分结果进行子域分配合理性检查,若检查通过,则向第一游离节点发送同意消息;在本实施例中,第二游离节点检查自身是否被合理分配,检查算法随具体业务需求设定。若检查不通过,则向第一游离节点发送不同意消息。S313、普通节点收到子域划分结果后,要对子域划分结果进行子域分配合理性检查,若检查通过,则向第一游离节点发送同意消息;在本实施例中,普通节点检查自身是否被合理分配,检查算法随具体业务需求设定。若检查不通过,则向第一游离节点发送不同意消息。S314、第一游离节点若收到所有第二游离节点和普通节点返回的同意消息,则广播确认消息;在本实施例中,还需要说明的是,若收到有的第二游离节点和普通节点返回反对消息或者返回超时,则本次分配失败,等待一段时间后游离域再次选主节点并再次进行子域划分。S315、第二游离节点和普通节点收到成为主节点的第一游离节点发送的确认消息后,记录子域划分结果,子域划分结束。本领域普通技术人员可以理解实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者光盘等各种可以存储程序代码的 介质。图5为本发明划分节点子域归属的装置实施例一的结构示意图,如图5所示,本实施例的装置具体为上述的第一游离节点,则该装置可以包括广播模块11、接收模块12、确认模块13和划分模块14,其中,广播模块11用于广播第一节点信息。接收模块12用于接收第二游离节点根据第一节点信息返回的第二节点信息,或者第二节点信息和普通节点根据第一节点信息返回的第三节点信息。确认模块13用于根据第一节点信息、主节点条件和第二节点信息,确认划分节点子域归属的装置是否为游离域主节点。划分模块14用于在确认模块确认划分节点子域归属的装置为游离域主节点时,根据第二节点信息,或者第二节点信息和第三节点信息,采用分配算法,分别对第一游离节点和第二游离节点进行子域划分,获取子域划分结果。广播模块11还用于广播子域划分结果。本实施例的装置,可以用于执行图1所示方法实施例的技术方案,其实现原理类似,此处不再赘述。本实施例提供的划分节点子域归属的装置,通过广播模块广播第一节点信息。接收模块接收第二游离节点根据第一节点信息返回的第二节点信息,或者第二节点信息和普通节点根据第一节点信息返回的第三节点信息。确认模块根据第一节点信息、主节点条件和第二节点信息,确认划分节点子域归属的装置是否为游离域主节点。划分模块在确认模块确认划分节点子域归属的装置为游离域主节点时,根据第二节点信息,或者第二节点信息和第三节点信息,采用分配算法,分别对第一游离节点和第二游离节点进行子域划分,获取子域划分结果,广播模块再广播子域划分结果。实现了在新的系统子域划分部署的场景和系统扩容的场景下单个节点进行子域分配,避免了多节点独立分配可能产生的不一致问题,并保证分配结果在各节点上的一致性。图6为本发明划分节点子域归属的装置实施例二的结构示意图,如图6所示,本实施例的装置在图5所示装置结构的基础上,进一步地,划分模块14可以包括第一判断单元141和处理单元142。第一判断单元141用于根据第三节点信息,判断出当前已分配子域承载节点数量是否达到阈值。处理单元142用于在第一判断单元判断出当前已分配子域承载节点数量达到阈值时,根据第二节点信息,采用分配算法,创建新的子域,并将第一游离节点和第二游离节点分配到新的子域中,获取子域划分结果。其中,当前已分配子域所承载的节点为普通节点。处理单元142还用于在第一判断单元判断出当前已分配子域承载节点数量没有达到阈值时,根据第二节点信息和第三节点信息,采用分配算法,将第一游离节点和第二游离节点分配到当前已分·配子域中,获取子域划分结果。在上述装置结构的基础上,如图6所示,进一步地,本实施例的装置中确认模块13还可包括第二判断单元131、收发单元132和确认单元133,其中,第二判断单元131用于根据第一节点信息、主节点条件和第二节点信息,判断第一游离节点是否满足主节点条件。收发单元132用于若第二判断单元判断出第一游离节点满足主节点条件,则向第二游离节点发送主节点申请请求。确认单元133用于在收发单元接收到每个第二游离节点均发送的同意消息时,确认第一游离节点为游离域主节点。其中,同意消息为第二游离节点根据主节点申请请求,判断第一游离节点为游离域主节点后生成的消息。优选的,广播模块11还用于广播通知消息,该通知消息包括游离域主节点的标识为划分节点子域归属的装置的标识。本实施例的装置,可以用于执行图2所示方法实施例的技术方案,其实现原理类似,此处不再赘述。最后应说明的是以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
权利要求
1.一种划分节点子域归属的方法,其特征在于,包括 第一游离节点广播第一节点信息,并接收第二游离节点根据所述第一节点信息返回的第二节点信息,或者所述第二节点信息和普通节点根据所述第一节点信息返回的第三节点信息; 所述第一游离节点根据第一节点信息、主节点条件和所述第二节点信息,确认所述第一游离节点为游离域主节点后,根据所述第二节点信息,或者所述第二节点信息和所述第三节点信息,采用分配算法,分别对所述第一游离节点和所述第二游离节点进行子域划分,获取子域划分结果; 所述第一游离域节点广播所述子域划分结果。
2.根据权利要求1所述的划分节点子域归属的方法,所述根据所述第二节点信息,或者所述第二节点信息和所述第三节点信息,采用分配算法,分别对所述第一游离节点和所述第二游离节点进行子域划分,获取子域划分结果,包括 根据所述第三节点信息,判断出当前已分配子域承载节点数量是否达到阈值; 在判断出所述当前已分配子域承载节点数量达到所述阈值时,根据所述第二节点信息,采用所述分配算法,创建新的子域,并将所述第一游离节点和所述第二游离节点分配到所述新的子域中,获取子域划分结果; 其中,所述当前已分配子域所承载的节点为所述普通节点。
3.根据权利要求2所述的划分节点子域归属的方法,其特征在于,还包括 在判断出当前已分配子域承载节点数量没有达到阈值时,根据所述第二节点信息和所述第三节点信息,采用所述分配算法,将所述第一游离节点和所述第二游离节点分配到所述当前已分配子域中,获取子域划分结果。
4.根据权利要求1至3任一所述的划分节点子域归属的方法,其特征在于,所述第一游离节点根据第一节点信息、主节点条件和所述第二节点信息,确认所述第一游离节点为游离域主节点,包括 所述第一游离节点根据第一节点信息、主节点条件和所述第二节点信息,判断所述第一游离节点是否满足所述主节点条件; 所述第一游离节点若判断出所述第一游离节点满足所述主节点条件,则向所述第二游离节点发送主节点申请请求; 所述第一游离节点在接收到每个所述第二游离节点均发送的同意消息时,确认所述第一游离节点为游离域主节点; 其中,所述同意消息为所述第二游离节点根据所述主节点申请请求,判断所述第一游离节点为游离域主节点后生成的消息。
5.根据权利要求1所述的划分节点子域归属的方法,其特征在于,在所述第一游离节点根据第一节点信息、主节点条件和所述第二节点信息,确认所述第一游离节点为游离域主节点后,所述方法还包括 所述第一游离节点广播通知消息,所述通知消息包括游离域主节点的标识为第一游离节点标识。
6.一种划分节点子域归属的装置,其特征在于,包括 广播模块,用于广播第一节点信息;接收模块,用于接收第二游离节点根据所述第一节点信息返回的第二节点信息,或者所述第二节点信息和普通节点根据所述第一节点信息返回的第三节点信息; 确认模块,用于根据第一节点信息、主节点条件和所述第二节点信息,确认所述划分节点子域归属的装置是否为游离域主节点; 划分模块,用于在所述确认模块确认所述划分节点子域归属的装置为所述游离域主节点时,根据所述第二节点信息,或者所述第二节点信息和所述第三节点信息,采用分配算法,分别对所述第一游离节点和所述第二游离节点进行子域划分,获取子域划分结果; 所述广播模块还用于广播所述子域划分结果。
7.根据权利要求6所述的划分节点子域归属的装置,所述划分模块包括 第一判断单元,用于根据所述第三节点信息,判断出当前已分配子域承载节点数量是否达到阈值; 处理单元,用于在所述第一判断单元判断出所述当前已分配子域承载节点数量达到所述阈值时,根据所述第二节点信息,采用所述分配算法,创建新的子域,并将所述第一游离节点和所述第二游离节点分配到所述新的子域中,获取子域划分结果; 其中,所述当前已分配子域所承载的节点为所述普通节点。
8.根据权利要求7所述的划分节点子域归属的装置,其特征在于,所述处理单元还用于在所述第一判断单元判断出当前已分配子域承载节点数量没有达到阈值时,根据所述第二节点信息和所述第三节点信息,采用所述分配算法,将所述第一游离节点和所述第二游离节点分配到所述当前已分配子域中,获取子域划分结果。
9.根据权利要求6至8任一所述的划分节点子域归属的装置,其特征在于,所述确认模块包括 第二判断单元,用于根据第一节点信息、主节点条件和所述第二节点信息,判断所述第一游离节点是否满足所述主节点条件; 收发单元,用于若所述第二判断单元判断出所述第一游离节点满足所述主节点条件,则向所述第二游离节点发送主节点申请请求; 确认单元,用于在所述收发单元接收到每个所述第二游离节点均发送的同意消息时,确认所述第一游离节点为游离域主节点; 其中,所述同意消息为所述第二游离节点根据所述主节点申请请求,判断所述第一游离节点为游离域主节点后生成的消息。
10.根据权利要求6所述的划分节点子域归属的装置,其特征在于,所述广播模块还用于广播通知消息,所述通知消息包括游离域主节点的标识为划分节点子域归属的装置的标识。
全文摘要
本发明实施例提供一种划分节点子域归属的方法和装置。该方法包括第一游离节点广播第一节点信息,并接收第二游离节点根据第一节点信息返回的第二节点信息,或者第二节点信息和普通节点根据第一节点信息返回的第三节点信息,第一游离节点根据第一节点信息、主节点条件和第二节点信息,确认第一游离节点为游离域主节点后,根据第二节点信息,或者第二节点信息和第三节点信息,采用分配算法,分别对第一游离节点和第二游离节点进行子域划分,获取子域划分结果,第一游离域节点广播子域划分结果。本发明实施例提供的划分节点子域归属的方法和装置,实现了单个节点进行子域分配,避免了多节点独立分配可能产生的不一致问题。
文档编号H04L29/12GK103037024SQ20121051466
公开日2013年4月10日 申请日期2012年12月5日 优先权日2012年12月5日
发明者肖国栋 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1