一种树结构网络的管理结构分裂方法与流程

文档序号:15907464发布日期:2018-11-13 19:54阅读:147来源:国知局
一种树结构网络的管理结构分裂方法与流程

本发明涉及计算机网络技术,特别涉及一种树结构网络的管理结构分裂方法。



背景技术:

随着计算机和网络的不断发展,互联网中节点的规模不断增加,服务质量的要求也逐渐提高。大规模节点的协同处理和管理在许多系统中都是一个关键问题,在实际网络中,节点的管理结构和拓扑通常呈树形,而在树结构中,根节点经常承担检索、查询、定位、服务响应等工作,当网络规模变大时,根节点的压力也呈快速上升趋势。因此,当规模超过一定程度时,需要额外部署根节点或者选择新的节点缓解根节点压力。近年来,诸如P2P网络的网络节点自治管理系统发展迅速,在这些存在大量子节点的树形结构中,如何对原有树结构分裂,从而部署或者指派新的根节点对原有节点管理进行分流,是一个重要问题。



技术实现要素:

本发明的目的在于克服现有技术中的树结构网络在规模过大时根节点压力过大的缺陷,从而提供一种树结构网络的管理结构分裂方法。

为了实现上述目的,本发明提供了一种树结构网络的管理结构分裂方法,所述树结构网络包括一根节点R与若干个子节点,各个节点均包括子节点列表、子节点数计数器、邻居节点列表和父节点指针;该方法包括:

步骤1)、如果Q(R)大于一预设参数L,则转步骤2),否则,退出本操作;其中, Q(x)用于表示以x为根节点的树中,根节点以下子代的所有节点总数目的计算函数;

步骤2)、假设一节点o为动态根节点,以节点o为父节点的子节点列表为 P={p1,p2,...,pi,...};其中,在初始时,所述节点o为根节点R;

步骤3)、对于节点o的下一代的所有子节点pi,若均满足Q(pi)<Q(o)/2,则对所有子节点聚成两类,聚类时的聚类优化目标为两类的节点子代节点总数之差最小;聚成两类后,部署或指派一个新的节点o′作为新分裂出的管理根节点,所聚出的两类中的其中一类节点在管理结构中的父节点指向该新的管理根节点o′,然后结束本操作;否则,执行步骤4);

步骤4)、对于节点o的下一代中的任意一个子节点pi,若Q(pi)=Q(o)/2,则将pi及其子树提出,作为一颗新的管理树,接着在pi位置或者pi之上的网络位置部署新的管理根节点,将pi指向该新的管理根节点,然后结束本操作;否则,执行步骤 5);

步骤5)、对于节点o的下一代中的任意一个子节点pi,若Q(pi)>Q(o)/2,则将该节点pi设为动态根节点o,然后重新执行步骤3)。

本发明的优点在于:

本发明的方法能够提高网络中节点管理效率,缓解根节点服务压力。

附图说明

图1是本发明的树结构网络的管理结构分裂方法的流程图。

具体实施方式

现结合附图对本发明作进一步的描述。

一个网络中的所有节点能够形成一个树形网络,在该树形网络中,根节点承担管理作用,除了根节点外,每个节点都有一个父节点和可能有多个子节点,树中同一层节点才有可能构成邻居节点关系,即邻居节点是指与某一节点在树中的同一层中其他节点。组成树的各个节点均包含以下数据结构:子节点列表,子节点数计数器,邻居节点列表和父节点指针。顾名思义,子节点列表用于描述所在节点所包含的子节点的信息;子节点数计数器用于描述所在节点所包含的子节点的数目;邻居节点列表用于描述所在节点所包含的邻居节点的信息;父节点指针用于描述所在节点的父节点的指针。

当一个树形网络中的节点数过多时,整个网络的规模会变得十分庞大,这不利于对网络进行管理。因此需要采用本发明的方法对树形网络进行分裂,分裂后所生成的两个新的树形网络中的子代节点数应当尽量均衡。

下面结合图1对本发明的方法做进一步说明。

假设一树形网络有M层,该树形网络有一唯一的根节点R;Q(x)用于表示以x 为根节点的树中,根节点以下子代的所有节点总数目的计算函数,其大小可以通过设置子节点数计数器来累积得到。这一树形网络可通过如下步骤完成分裂:

步骤1)、如果Q(R)>L(其中L为预设参数),则转步骤2),否则,退出本操作;

步骤2)、假设一节点o为动态根节点,以节点o为父节点的子节点列表为 P={p1,p2,...,pi,...};其中,在初始时,所述节点o为根节点R;

步骤3)、对于节点o的下一代的所有子节点pi,若均满足Q(pi)<Q(o)/2,则对所有子节点(树形网络中除根节点以外的所有节点)聚成两类,聚类时的聚类优化目标为两类的节点子代节点总数之差最小;聚成两类后,部署或指派一个新的节点o′作为新分裂出的管理根节点,所聚出的两类中的其中一类节点在管理结构中的父节点指向该新的管理根节点o′(所聚出两类中的另一类节点保留之前的管理根节点),然后结束本操作;否则,执行步骤4);

步骤4)、对于节点o的下一代中的任意一个子节点pi,若Q(pi)=Q(o)/2,则,然后结束本操作;否则,执行步骤5);

步骤5)、对于节点o的下一代中的任意一个子节点pi,若Q(pi)>Q(o)/2,则将该节点pi设为动态根节点o,然后重新执行步骤3)。

最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1