一种分布式网络及其构建方法转让专利

申请号 : CN202111147092.2

文献号 : CN113596857B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 谢玮琦唐庆丰

申请人 : 正链科技(深圳)有限公司

摘要 :

本发明提供一种分布式网络及构建方法,该分布式网络包括分布的网络节点;每个所述的网络节点都分配有固定的节点ID,所述的节点ID遵循在选定范围内均匀分布的规则;所述的网络节点包括移动节点和基站节点;整个分布式网络按照节点ID号将所有的节点ID号平均分配成设定数量的区域;在任意区域内所有的网络节点按照其节点ID号从小到大进行排序;每个基站节点中的索引表包括实现区域内网络节点管理的局域管理节点表和广域管理节点表;所述的移动节点入网链接通过基站节点作为中继接入分布式网络,在移动节点中只需存储局域管理节点表。该方法构建该分布式网络。本发明提供一种全新的分布式网络及构建方法。

权利要求 :

1.一种分布式网络,包括分布在互联网中的网络节点;其特征在于:每个所述的网络节点都生成有固定的节点ID,所述的节点ID遵循在选定范围内均匀分布的规则;

所述的网络节点包括移动节点和基站节点;基站节点又分为云基站节 点、企业基站节点和家庭基站节点;

当分布式网络整体网络节点规模小于62000时,无需区域的划分;从区域表内的基站节点中选取100个共集节点,作为自身区域内的共识更新节点;

当分布式网络整体网络节点规模大于62000而小于16000000时,需要将0个区域拆分为

256区域,其拆分方法包括:

取每个节点ID的第一个字节进行区域归类、从而形成256个区域,每个区域中包括了属于本域内的节点;取本节点ID的第一个字节来计算自己所属区域,然后把自己所属区域的局域管理节点表留下形成新的局域管理节点表,其他区域的局域管理节点表依照共集节点选定原则初步选定相应区域的共集节点序列后形成一个新的广域管理节点表、至此新的索引表结构形成;

当分布式网络整体网络节点规模大于16000000时,需要将256个区域扩展到65536个区域,其拆分方法包括:

根据自身256区域规模的局域管理节点表,取其范围内每个节点ID的第二个字节进行进一步的归类、从而形成新的256个区域;取本节点ID的第二个字节来计算自己所属子区域,然后把自己所属区域的局域管理节点表留下形成新的局域管理节点表,其他区域的局域管理节点表依照共集节点选定原则选定共集节点后形成一个新的广域管理节点表,至此基于256区域规模的本域范围内的新索引结构形成;

在任意区域内所有的网络节点按照其节点ID号从小到大进行排序;

每个基站节点中的索引表包括实现区域内网络节点管理的局域管理节点表和对其它所有区域内节点管理的广域管理节点表;在所述的局域管理节点表和广域管理节点表中,管理节点的信息以其节点ID的顺序依次排列;

局域管理节点表是实现其所属区域范围内节点查找,而广域管理节点表则是实现跨区域范围内的节点查找;

所述的移动节点入网链接通过基站节点作为中继接入分布式网络,在移动节点中只需存储局域管理节点表;

移动节点打包安装程序时,将默认获取100条共集节点信息打入安装包;

移动节点的入网链接是通过基站节点作为中继进行入网管理,移动节点上线后找到相应的临近中继节点就行,链接上中继节点后即可通过中继基站找到跨区域的点。

2.根据权利要求1所述的分布式网络,其特征在于:节点ID长度为20个字节。

3.根据权利要求2所述的分布式网络,其特征在于:节点ID所在的区域号为该节点的前面的一到两个字节或者后面的一到两个字节。

4.一种根据权利要求1所述分布式网络的构建方法,该方法利用互联网中的网络节点构建分布式网络;构建分布式网络是从第一个节点开始,并逐步增加节点的过程,其特征在于:

首个基站节点自己构成一个网络,其他节点的上线需有一个基础表,基础表记录当前分布式网络中部分在线的节点;

当分布式网络整体网络节点规模小于设定数量时无需区域的划分,生成0区域,从0区域表内的基站节点中选取设定个数共集节点,作为0区域内的共识更新节点;

当分布式网络整体网络节点规模大于设定数量时,需要从0区域到设定的N区域,N为大于1的自然数,分拆方法是按照节点数的顺序平均分配;从每个区域表内的基站节点中选取设定个数共集节点,作为该区域内的共识更新节点;

当分布式网络整体网络节点规模大于更大的设定数量时,需要从0区域到设定的M×N区域,M为大于1的自然数;从每个区域表内的基站节点中选取设定个数共集节点,作为该区域内的共识更新节点;

节点加入网络时包括以下步骤:

步骤1、准备上线的节点生成节点ID,获得原始共用信息表;

步骤2、准备上线的节点通过基原始共用信息表里的某个节点获取自身区域的共集列表;

步骤3、向共集列表中的某个节点发起上线请求。

5.根据权利要求4所述的分布式网络的构建方法,其特征在于:当分布式网络整体网络节点规模小于62000时,无需区域的划分;

当分布式网络整体网络节点规模大于62000而小于16000000时,需要将0个区域拆分为

256区域,其拆分方法包括:

取每个节点ID的第一个字节进行区域归类、从而形成256个区域,每个区域中包括了属于本域内的节点;取本节点ID的第一个字节来计算自己所属区域,然后把自己所属区域的局域管理节点表留下形成新的局域管理节点表,其他区域的局域管理节点表依照共集节点选定原则初步选定相应区域的共集节点序列后形成一个新的广域管理节点表、至此新的索引表结构形成;

当分布式网络整体网络节点规模大于16000000时,需要将256个区域扩展到65536个区域,其拆分方法包括:

根据自身256区域规模的局域管理节点表,取其范围内每个节点ID的第二个字节进行进一步的归类、从而形成新的256个区域;取本节点ID的第二个字节来计算自己所属子区域,然后把自己所属区域的局域管理节点表留下形成新的局域管理节点表,其他区域的局域管理节点表依照共集节点选定原则选定共集节点后形成一个新的广域管理节点表,至此基于256区域规模的本域范围内的新索引结构形成。

6.根据权利要求5所述的分布式网络的构建方法,其特征在于:局域管理节点表是实现其所属区域范围内节点查找,而广域管理节点表则是实现跨区域范围内的节点查找;当一个目标点查找时包括以下步骤:

首先判定目标点的ID和源节点ID是否属于同一个区域范围内,如果是则通过本域内的局域管理节点表就可以查找到链接信息,否则就要根据广域管理节点表的共集节点查找目标点位置。

7.根据权利要求5所述的分布式网络的构建方法,其特征在于:移动节点的入网链接是通过基站节点作为中继进行入网管理,移动节点上线后找到相应的临近中继节点就行,链接上中继节点后即可通过中继基站找到跨区域的点。

8.根据权利要求7所述的分布式网络的构建方法,其特征在于:移动节点打包安装程序时,将默认获取100条共集节点信息打入安装包;移动节点上线后找到相应的临近中继节点包括以下步骤:

步骤S1、启动程序生成移动节点ID,遵循在选定范围内均匀分布的规则启动程序生成移动节点ID;

步骤S2、获取一个共集节点,携带自身移动节点Id向其发送更新局域管理节点表请求,如果返回超时,则继续向下一个共集节点请求,直到有返回为止;

步骤S3、共集节点收到请求后,判断移动节点是否和自己属于同一区域,如果是则返回本区域的局域管理节点表,如果不是则通过广域管理节点表查找对应区域的共集节点,返回给移动节点;

步骤S4、移动节点收到局域管理节点表则更新本地局域管理节点表。

说明书 :

一种分布式网络及其构建方法

技术领域

[0001] 本发明涉及分布式网络领域,特别是一种分布式网络及节点路由。

背景技术

[0002] 分布式网络是由分布在不同地点且具有多个终端的节点机互连而成的。网中任一点均至少与两条线路相连,当任意一条线路发生故障时,通信可转经其他链路完成,具有较
高的可靠性。同时,网络易于扩充。
[0003] ad hoc网络是目前研究较多的分布式网络,“ad hoc”源于拉丁语,意为“特殊的”,它由一系列可任意移动的节点组成,网络节点动态且任意分布,节点之间通过无线方式互
连,每个网络节点同时具有终端和路由器的双重功能。由于自组织特性,adhoc的网络拓扑、
信道环境、业务模式随节点的移动而动态改变。ad hoc网络研究的最初目的是满足战场生
存的军事需求,在战场恶劣的环境下通信无法依赖已经敷设的通信基础设施,因为一方面
这些设施可能根本不存在,另一方面这些设施随时可能遭到破坏。由于组网快速、灵活、使
用方便,目前ad hoc网络已得到学术界和工业界的广泛关注,并得到越来越多应用,逐渐成
为移动通信领域发展的重要方向。

发明内容

[0004] 本发明的目的是提供一种分布式网络的构建方法及节点路由方法。
[0005] 本发明实现其技术目的技术方案是:一种分布式网络,包括分布的网络节点;每个所述的网络节点都分配有固定的节点ID,所述的节点ID遵循在选定范围内均匀分布的规
则;所述的网络节点包括移动节点和基站节点;整个分布式网络按照节点ID号将所有的节
点ID号平均分配成设定数量的区域;在任意区域内所有的网络节点按照其节点ID号从小到
大进行排序;每个基站节点中的索引表包括实现区域内网络节点管理的局域管理节点表和
广域管理节点表;所述的移动节点入网链接通过基站节点作为中继接入分布式网络,在移
动节点中只需存储局域管理节点表。
[0006] 进一步的,上述的分布式网络中:节点ID长度为20个字节。
[0007] 进一步的,上述的分布式网络中:节点ID所在的区域号为该节点的前面的一到两个字节或者后面的一到两个字节。
[0008] 本发明还提供一种根据权利要求1所述分布式网络的构建方法,该方法利用节点构建分布式网络;构建分布式网络是从第一个节点开始,并逐步增加节点的过程,
[0009] 首个基站节点自己构成一个网络,其他节点的上线需有一个基础表,基础表记录当前分布式网络中部分在线的节点;
[0010] 当分布式网络整体网络节点规模小于设定数量时无需区域的划分,生成0区域,从0区域表内的基站节点中选取设定个数共集节点,作为0区域内的共识更新节点;
[0011] 当分布式网络整体网络节点规模大于设定数量时,需要从0区域到设定的N区域,N为大于1的自然数,分拆方法是按照节点数的顺序平均分配;从每个区域表内的基站节点中
选取设定个数共集节点,作为该区域内的共识更新节点;
[0012] 当分布式网络整体网络节点规模大于更大的设定数量时,需要从0区域到设定的M×N区域,M为大于1的自然数;从每个区域表内的基站节点中选取设定个数共集节点,作为
该区域内的共识更新节点;
[0013] 节点加入网络时包括以下步骤:
[0014] 步骤1、给准备上线的节点分配节点ID;
[0015] 步骤2、准备上线的节点通过基础表里的某个节点获取自身区域的共集列表;
[0016] 步骤3、向共集列表中的某个节点发起上线请求。
[0017] 进一步的,上述的分布式网络的构建方法中:
[0018] 当分布式网络整体网络节点规模小于62000时,无需区域的划分;
[0019] 当分布式网络整体网络节点规模大于62000而小于16000000时,需要将0个区域拆分为256区域,其拆分方法包括:
[0020] 取每个节点ID的第一个字节进行区域归类、从而形成256个区域,每个区域中包括了属于本域内的节点;取本节点ID的第一个字节来计算自己所属区域,然后把自己所属区
域的局域管理节点表留下形成新的局域管理节点表,其他区域的局域管理节点表依照共集
节点选定原则初步选定相应区域的共集节点序列后形成一个新的广域管理节点表、至此新
的索引表结构形成;
[0021] 当分布式网络整体网络节点规模大于16000000时,需要将256个区域扩展到65536个区域,其拆分方法包括:
[0022] 根据自身256区域规模的局域管理节点表,取其范围内每个节点ID的第二个字节进行进一步的归类、从而形成新的256个区域;取本节点ID的第二个字节来计算自己所属子
区域,然后把自己所属区域的局域管理节点表留下形成新的局域管理节点表,其他区域的
局域管理节点表依照共集节点选定原则选定共集节点后形成一个新的广域管理节点表,至
此基于256区域规模的本域范围内的新索引结构形成。
[0023] 进一步的,上述的分布式网络的构建方法中:局域管理节点表是实现其所属区域范围内节点查找,而广域管理节点表则是实现跨区域范围内的节点查找;当一个目标点查
找时包括以下步骤:
[0024] 首先判定目标点的ID和源节点ID是否属于同一个区域范围内,如果是则通过本域内的局域管理节点表就可以查找到链接信息,否则就要根据广域管理节点表的共集节点查
找目标点位置;
[0025] 当确定目标点位置时,以目标位置为中心,向左右方向查找临近点,直到数量达到需要查找的个数为止,其中左右都有点时,左边点分配优先。
[0026] 进一步的,上述的分布式网络的构建方法中:移动节点的入网链接是通过基站节点作为中继进行入网管理,移动节点上线后找到相应的临近中继节点就行,链接上中继节
点后即可通过中继基站找到跨区域的点。
[0027] 进一步的,上述的分布式网络的构建方法中:移动节点打包安装程序时,将默认获取100条共集节点信息打入安装包;移动节点上线后找到相应的临近中继节点包括以下步
骤:
[0028] 步骤S1、启动程序生成移动节点ID,遵循在选定范围内均匀分布的规则启动程序生成移动节点ID;
[0029] 步骤S2、获取一个共集节点,携带自身移动节点Id向其发送更新局域管理节点表请求,如果返回超时,则继续向下一个共集节点请求,直到有返回为止;
[0030] 步骤S3、共集节点收到请求后,判断移动节点是否和自己属于同一区域,如果是则返回本区域的局域管理节点表,如果不是则通过广域管理节点表查找对应区域的共集节
点,返回给移动节点;
[0031] 步骤S4、移动节点收到局域管理节点表则更新本地局域管理节点表,如果返回共集节点列表。
[0032] 本发明提供一种全新的分布式网络以及其构造方法。
[0033] 以下将结合附图和实施例,对本发明进行较为详细的说明。

附图说明

[0034] 附图1为本发明实施例分布式网络。
[0035] 附图2为移动节点上线示意图。

具体实施方式

[0036] 实施例1本施例是分布式网络,各节点分布在互联网的汪洋大海中,如图1所示。
[0037] 本实施例中,分布式网络系统是由诸多分布式节点组成,每个节点都有其固定的节点ID(也就是NodeID)号来做唯一标识,当从一个源节点到目标节点时可能相隔甚远,那
用什么样的方法定位其位置而找到其通讯的IP和端口呢,那就需要一套行之有效的办法来
找到其节点位置(因为其底层终究还是通过IP网络进行通讯和处理),这就是我们所要解决
的问题;要解决这个问题,首先我们要确定基于ID的管理规则,然后基于这个管理规则、设
计出一套管理办法,以下将详细的介绍这套管理办法,并作出处理的流程设计等。
[0038] 本实施例中入网节点类型包括:移动节点,云基站节点,企业基站节点,家庭基站节点和Make系统节点;其中Make系统节点是系统平台编译生成安装包时对接分布式应用系
统而入网的节点,主要是从分布式应用网络中获取原始共用信息表(此信息表主要是用于
节点初次入网时获取对应局域表和广域表)之用的。
[0039] 边界节点类型包括:左边缘节点,右边缘节点,本域节点。
[0040] 区域管理节点类型包括:共集节点,组长节点,其他类型节点。
[0041] 节点状态定义包括:离线,在线,同步,系统升级、升级请求5种状态;
[0042] 1、当节点处于离线状态时,他点是找不到本节点的;
[0043] 2、当节点处于在线时,节点就是正常状态;
[0044] 3、同步状态是指节点上线时,数据库处于同步状态;
[0045] 4、系统升级状态是指,系统整体或者某个模块处于升级时,所处的状态。
[0046] 注意:节点处于系统升级状态时是不允许其他节点的访问,节点处于同步状态时只能进行写入操作不能进行读数据操作。
[0047] 本实施例中,节点ID生成算法进行的长时间实验数据验证,其生成的ID号是遵循一定范围内的均匀分布规则,以8192个区域为例、要每个区域都有ID号,至少要有7万个以
上的ID号才能保证95%以上的概率、期间节点分布差率(不平衡率)高达95%左右((区域最大
数‑区域最小数)/ 区域最大数)、此百分比会随着节点的增加减小、在生成5000万个以上ID
时会在5%左右(在此百分比情况下很难降下来了);根据以上特征和实际实验数据结合分
析、要达到每个区域都有ID号的情况下,实际情况是生成的ID号与区域号在9.5:1之间,区
域越小这个比例会有所减小,区域越大这个比例会有所增大,本申请人公开了一种这样的
算法,本领域技术人员也可以根据上面要求自己设计算法获得ID。
[0048] 本实施例的分布式网络中基础条件说明:
[0049] a、所有被管理节点将按照其ID号从小到大进行排序;
[0050] b、节点ID的生成符合一定范围的均匀分布规则。
[0051] 将被管理节点划分为基站节点和移动节点两种大类型,基站节点又分为云基站节点、企业基站节点和家庭基站节点;以此划分来解决节点大量上线和下线时带来的数据动
荡问题(因为只有移动节点才会出现大量上线和下线操作问题),至少可以控制在一定范围
内;这样就有基础来做如下设计。
[0052] 将基站节点依照其规模大小进行区域划分管理(区域规模由1=>256=>65536进行区域范围动态管理),区域内则实现节点管理(区域内其节点规模最大为65536);当0个区域
形成的局域管理节点表为最为原始的局域管理节点表;区域内节点超过62000时实现区域
拆分,拆分时按照0bit到8bit(256个区域),再到16bit(65536个区域)进行拆分;其拆表规
则为:
[0053] A、0区域的生成,当系统平台整体节点规模小于62000时无需区域的划分,从该区域表内的基站节点中选取100个共集节点,作为自身区域内的共识更新节点(其作用在状态
更新机制和节点查询流程中有说明,节点上线和下线)即可,以此规则形成最初的局域管理
节点表;
[0054] B、当节点规模超过62000时,需要从0个区域到256(8bit)个区域进行拆分,其拆分方法为:取每个节点ID的第一个字节进行区域归类(同一个区域内依然按照内部小到大进
行排序)、从而形成256个区域,每个区域中包括了属于本域内的节点;取本节点ID的第一个
字节来计算自己所属区域,然后把自己所属区域的局域管理节点表留下形成新的局域管理
节点表,其他区域的局域管理节点表依照共集节点选定原则初步选定相应区域的共集节点
序列后形成一个新的广域管理节点表、至此新的索引表结构形成;
[0055] C、当节点管理规模达到1600万以上时,需要将索引管理结构从256个区域扩展到65536个区域,其拆分方法为:
[0056] (1)根据自身256区域规模的局域管理节点表,取其范围内每个节点ID的第二个字节进行进一步的归类(同一个区域内依然按照内部小到大进行排序)、从而形成新的256个
区域;取本节点ID的第二个字节来计算自己所属子区域,然后把自己所属区域的局域管理
节点表留下形成新的局域管理节点表,其他区域的局域管理节点表依照共集节点选定原则
选定共集节点后形成一个新的广域管理节点表,至此基于256区域规模的本域范围内的新
索引结构形成;
[0057] (2)基于256区域规模非本域范围内其他区域管理的形成办法为基于原有的广域管理节点表,依次对每个区域进行如下操作,直到新的整个广域管理节点表形成(65536规
模)为止:
[0058] Ⅰ取出原有区域的共集节点,在100个共集点中找出一个在线活跃节点,向其发起获取其所属256规模区域范围的广域管理节点表(不是全部,是第一个字节的下属256个子
区域范围,即第二个字节)最新广域管理节点表请求;
[0059] Ⅱ对端接受到请求之后,判别自身是否为65536规模的广域管理模式或者已经完成自身区域内的65536规模构建,如果条件满足则直接取出自己所属范围内的局部广域管
理节点表序列、并返回给请求端,如果条件没有满足则触发自身构建65536规模的广域管理
模式,待自身区域内的65536规模构建完成后回应请求端;
[0060] Ⅲ请求端接收到回应之后,用回应到的数据构建处理区域范围内的广域管理表项(所属第一个字节范围内的第二个字节范围)。
[0061] 本实施例节点查找基本原理:
[0062] 1、局域管理节点表是实现其所属区域范围内节点查找,而广域管理节点表则是实现跨区域范围内的节点查找。
[0063] 2、当一个目标点查找时,首先判定目标点的ID和源节点ID是否属于同一个区域范围内,如果是则通过本域内的局域管理节点表就可以查找到链接信息,否则就要根据广域
管理节点表的共集节点查找目标点位置。
[0064] 3、当确定目标点位置时,以目标位置为中心,向左右方向查找临近点,直到数量达到需要查找的个数为止,其中左右都有点时,左边点分配优先。
[0065] 本实施例中,移动节点管理如图2所示,管理过程如下:
[0066] 1、移动节点的入网链接是通过基站节点作为中继进行入网管理(其本质原因是由于移动节点之间的稳定穿透通讯是很难达到一定的程度)。
[0067] 2、移动节点只需要存储局域管理节点表即可,因为他只要上线后找到相应的临近中继节点就行,链接上中继节点后即可通过中继基站找到跨区域的点,为了减少移动节点
耗用资源而采取的措施。
[0068] 3、移动节点打包安装程序时,将默认获取100条共集节点(都是带公IP地址节点)信息打入安装包。
[0069] 4、用户下载安装包安装程序后,启动程序生成NodeId。
[0070] 5、从默认的100条共集节点中依次执行如下操作,直到成功为止:
[0071] (1)获取一个共集节点,携带自身NodeId向其发送更新局域管理节点表请求,如果返回超时,则继续向下一个共集节点请求,直到有返回为止;
[0072] (2)共集节点收到请求后,判断移动节点是否和自己属于同一区域,如果是则返回本区域的局域管理节点表,如果不是则通过广域管理节点表查找对应区域的共集节点,选
择带公IP地址的12个节点、并返回给移动节点;
[0073] (3)移动节点收到局域管理节点表则更新本地局域管理节点表,如果返回共集节点列表,则用新的共集节点列表重复到(1)步骤操作;直到返回局域管理节点。
[0074] 6、更新局域管理节点表后,根据此表获取本移动节点的临近链接基站节点5个点(5个节点也有优先级,越临近优先级越高,同样临近的靠左边优先级高),得到5个点后依照
优先级和对应的基站的中继模块进行链接,直到链接一个成功为止,链接成功保持长连接;
如果过程中中继节点下线,移动节点按照5点的顺序再次寻求新的链接即可。
[0075] 7、基站的中继模块接收到移动节点的链接后,会记录此移动基站的链接和NodeId信息,同通知本系统模块(目前定名为ZVR系统),以便本系统模块对移动节点的查询和通
讯;也就是下面提到“移动节点上线消息”和“移动节点下线消息”的消息接口。
[0076] 8、移动节点之间的通讯流程,当移动节点A访问移动节点B时,节点A首先在本地局域管理节点表查找目标点是否在本区域内,如果在则直接返回目标中继基站点序列(最多5
个点),然后向目标中继基站点序列中发送业务数据请求,目标中继基站点接受到请求之后
判别节点B是否通过自身链接入网,如果是则转发请求、否则忽略请求,如果5个点都没有返
回,说明节点B已经下线;节点B处理完后,返回数据给目标中继基站点、目标中继基站点接
受后原路返回给节点A,到此整个数据处理完毕;当节点A判别节点B不在同一个区域时,节
点A向自身链接的中继基站点发送获取节点B位置请求,中继基站点接受到请求之后通过广
域管理节点表找到节点B所属区域共集节点,然后通过区域共集节点获取节点B链接的位置
(5个临近连接点),获得位置后返回给节点A,节点A收到返回后然后向目标中继基站点序列
中发送业务数据请求,目标中继基站点接受到请求之后判别节点B是否通过自身链接入网,
如果是则转发请求、否则忽略请求,如果5个点都没有返回,说明节点B已经下线;节点B处理
完后,返回数据给目标中继基站点、目标中继基站点接受后原路返回给节点A,到此整个数
据处理完毕。
[0077] 9、移动节点下线后的重新上线时,需要判别自身局域管理节点表是否为最新,如果超过2天没有更新,则在自身旧表中选定一个共集节点、与之通讯请求更新局域管理节点
表,如果此共集节点不在线、则找下一个共集节点直到成功为止。
[0078] 本实施例中,共集节点选择如下:
[0079] 1、30%为云基站节点,20%为企业基站节点,50%为家庭基站节点,如果家庭基站不够,用企业基站填充,企业基站不够用云集站填充,总之保证100个共集基站节点即可。
[0080] 2、企业基站节点和家庭基站节点又以在线时长越长者优先选定。
[0081] 3、当某共集节点下线时、则系统需要在自己区域中选定一个相同类型节点进行补充、以满足100个点的要求。
[0082] 4、每种类型节点的选定,根据节点ID的均衡原则进行刷新,不能达到均衡的,靠左优先。
[0083] 新区域时,本域内共集节点形成的流程如下:
[0084] 一个区域形成(局域管理节点表和广域管理节点表都已建立),查找所有家庭基站,如果数量大于40的点,则计算跨步长度=实际总数/40,然后从第一个家庭基站开始选
择,每选择一个加上其跨度值,以此类推找到所有基站为止。
[0085] 家庭基站选择完毕,如果家庭基站不够,将剩余的数量计入到企业基站(实际数量N=30+家庭基站计入数量),查找所有企业基站,如果数量大于实际数量的点,则计算跨步长
度=实际总数/实际数量,然后从第一个企业基站开始选择,每选择一个加上其跨度值,以此
类推找到所有基站为止。
[0086] 企业基站选择完毕,如果企业基站不够,将剩余的数量计入到云基站(实际数量=30+企业基站计入数量) ,查找所有云基站,如果数量大于实际数量的点,则计算跨步长度=
实际总数/实际数量,然后从第一个云基站开始选择,每选择一个加上其跨度值,以此类推
找到所有基站为止。
[0087] 以上述流程进行处理,形成本域内的初始化共集节点表。
[0088] 旧区域时,会随着云基站、企业基站和家庭基站的不断上线和下线不断更新此列表,在此区域内每新进来的节点都会从这些共集节点中获得最新的本域内的共集节点表。
[0089] 共集区域点在本区域内每个节点能够保证一定程度的一致性,但是在区域外的不同节点、对应相应区域的共集点不一定一样,会存在很多差异。
[0090] 本实施例中,节点临近取点的方法(指定取点的数量定义为N),因为节点的排序是从小到大进行的排序,所以其取点的方法可以按照以下流程进行(基于ID的逻辑方法),此
方法为修正查找法(根据节点ID生成的一定均匀特征而设计的查询方法):
[0091] 1)、找到源节点在排序当中的位置;
[0092] 2)、以此位置为中心,向左偏移N/2个位置,如果左边不够点数,则偏移左边实际具有的点数;其左偏移量定义为Y;
[0093] 3)、如果左边不够点数,则直接从右边取出差额点数补充即可;
[0094] 4)、如果左边点数足够,则从右边开始依次查找(其右边查找位置定义为X),确定X位置与Y位置的绝对值更小则取X位置点、同时X往前偏移一个位置,否则就取Y位置点、同时
Y往后偏移一个位置,以此类推直到取点数量达到N时为止,其过程中当X或者Y值达到边界
时则直接取相反方向剩余点数即可。
[0095] 本实施例分布式网的构建如下:
[0096] 一个系统终究有一个开头,分布式系统也有一个节点的开始,我们并把其称为创世点;创世点的引入可以解决,系统的维护和部署问题,不至于增加前期运营的难度,还可
以减少其出错的可能。
[0097] 每个节点都有一个原始共用信息表(实际也是动态变化的,每次通过打安装包是获取最新的表即可),整个系统第一个启动节点除外。
[0098] 其系统的支持主要是通过make系统来控制:开发系统中的make也是作为整个系统当中的一个普通节点、但是有他的特殊性,他是一个最精简的运行系统、只具备获取广域管
理节点表和局域管理节点表功能,是直接连接到分布式系统当中的;他的主要作用是构建
原始共用信息表,给每次打包的程序形成不同的原始共用信息表(节点表序列),他会随着
分布式节点数量的增加,其原始共用信息表也会规模扩大,但是当规模扩大到100个节点
时,再无需增大;其扩展规模等级为1=>10=>100;版本发布人员会根据make系统编译结果,
每隔一天进行版本发布处理(不管程序有什么变化,主要是处理原始共用信息表的变化)。
[0099] 第一个节点启动之后,make系统记录第一个节点的信息,规模小于等于10时,make构建的原始共用信息表就是最初的第一个节点信息;当节点规模达超过10时,make构建的
原始共用信息表就是前10个节点信息;当规模超过100的时候,make构建的原始共用信息表
就是前100个节点信息;当节点规模超过500和小于62000时,make系统接口将按照跨度选择
节点信息,从而形成原始共用信息表;跨度是实际在线点数/100;make系统以此原始共用信
息表为基础将其打入到安装包中,系统启动后首先读取这个原始共用信息表,从中找出与
自己节点ID最临近的在线节点、并与之链接、获取分布式网络最新的局域管理节点表和广
域管理节点表信息(自己所属区域内);如果此节点不通,再找下一个临近点,直到临近点存
在为止。
[0100] make系统同时提供命令行类型的接口,供操作员方式获取最新的原始共用信息表;以此方式来支持移动节点安装包。