具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明实施例作进一步详细的说明。
参考图1,在本发明实施例一中,实现本发明实施例一所提供的方法可以包括以下步骤:
步骤101:接收网络拓扑的构造信息,所述构造信息包括网络拓扑的节点位置信息。
本发明实施例适用于微波网络中节点的拓扑构造信息。其中,所述网络拓扑的构造信息可以由用户输入,该构造信息需要包括网络拓扑的节点位置信息,即是所有网络节点及其分布情况。该构造信息在不同的应用场景下还可以包括其他一些优选信息,例如,网络节点跳数和维数、链路容量和距离约束信息,等等。
其中,节点跳数指的是从当前网络节点到根节点需要经过的节点数,与节点时延有关;节点维数指的是从当前节点连到其他网络节点的方向数,与链路间干扰相关;链路容量指的是微波链路单路最大传输带宽;链路距离是微波链路最大传输的距离。依据接收到的构造信息,在后续可以建立初始的树型网络拓扑。
步骤102:依据所述构造信息将所述网络拓扑中的网络节点构造为初始树型拓扑结构。
在本步骤中,需要依据步骤101获取到的构造信息来确定一级节点位置,该处的一级节点在2G网络中可以是BSC节点,在3G网络中可以是RNC节点,从而构建出初始全网多约束拓扑树。本步骤在确定一级节点之后,可以按照现有技术的预置规则选择能使全网拓扑最优的与一级节点直连的二级节点,然后再对已经确定的一级节点及其直连的二级节点的拓扑结构,应用多约束生成树算法将除了一级节点及其二级节点之外的其余网络节点也连至已有拓扑。具体可以采用以下子步骤完成:
子步骤A1:从所述网络拓扑中的网络节点中确定出一级节点及其位置;
子步骤A2:获取到与所述一级节点直连的二级节点及其位置;
本步骤中即是选择与一级节点能够直连的网络节点及其位置。在实际应用中可以采用聚类(Cluster)算法划分和计算每个一级节点集合,以及相应的与一级节点直连的二级节点。
子步骤A3:依据所述一级节点及其位置和所述二级节点及其位置,将所述网络拓扑中的所有网络节点构造成多约束拓扑树结构。
在本步骤中将连接一级节点和二级节点分别连接为拓扑结构,并可以应用多约束生成树算法将微波网络的所有其他网络节点全部连接至一级节点和二级节点,以构建全网多约束拓扑树结构。
需要说明的是,在构造了多约束拓扑树结构之后,还可以在微波全网优化调整拓扑树枝;例如,可以采用对全网所有网络节点尝试改变父子节点之间的邻接关系,并在此基础上判断相应子树是否满足预置的约束条件,以使得每一个子树的结构都能满足更优解。
步骤103:在所述初始树型拓扑结构中选取满足预置的方向数要求和容量要求的网络节点作为备选环节点。
当初始树型拓扑结构生成之后,需要满足预置的方向数要求和容量要求的网络节点作为备选环节点,该方向数要求和容量要求可以预先设定好,后续重复多次使用,也可以在步骤101中由用户根据实际场景预先输入不同的数值。其中,方向数要求即是对于某个网络节点(hub点)与其邻接的网络节点的数量要大于某一阈值;容量要求即是对于该网络节点所能够下挂子节点的总的接入业务量需要大于某一阈值。需要说明的是,汇聚节点的容量较高,维数也较多,备选环节点一般情况下应是汇聚节点,该处的汇聚节点用于表示在网络拓扑结构中能够连接较多数目网络节点的节点。
需要说明的是,在本步骤中,在依据满足预置的方向数要求和容量要求得到网络节点时,用户也可以参考经验或者具体的需求而从这些网络节点中人工选取出备选环节点,可以再次输入满足人工经验或具体需求的筛选条件,从这些网络节点中筛选出备选环节点。如果由用户预先输入方向数要求和容量需求进行人工筛选,或者在后续人工选取出备选环节点,都可以在本发明实现过程中增加人工参与的过程,从而使得到的备选环节点也符合人工经验,从而使每一次网络拓扑规划都得到最优的备选环节点。请参考图2,为实际应用中Tashkent网络270个网络节点的单域网络规划结果,图中的圆形节点即是选取出的满足了一定的方向数要求和容量要求的备选环节点。图2中的具体方向数要求为3,容量要求为20M。
步骤104:依据所述备选环节点将初始树型拓扑结构更新为带环网络拓扑结构。
在本步骤中可以计算出基于所述备选环节点的网络拓扑。具体实现过程为:以所述备选环节点为子树根,自动计算和更新全网拓扑,依次查找并连接可以与备选环节点直接连接的网络节点,同时,将全网的其他网络节点也连接至所述备选环节点及其直连的网络节点;请参考图3,为根据图2中示出的所述备选环节点重新更新全网拓扑之后的带环网络拓扑结构,其中,所有的备选环节点均在带环拓扑的环上,并且为每个子树的根节点。
其中,在步骤104中依据备选环节点建立环型结构时每个环中的节点个数一般情况下应该为偶数,同时,所述带环网络拓扑结构中的各个环的夹角优选情况下应尽量小,并且,各个环之间尽量不能交叉,当然,在不同的应用场景中,依据备选环节点进行带环网络拓扑结构的生成时也可以设置不同的约束条件,因为实际应用场景千变万化,因此本发明在此也无需给出具体的限定条件,本领域技术人员可以根据需求自主设置。
在本实施例中,通过对初始树型拓扑结构采用满足方向数和容量要求的方式来选取出备选环节点,来依据该备选环节点再生成更新后的带环网络拓扑结构,就能使得本发明最终的拓扑结果,能够满足实际场景中的不同需求,同时本发明也可以支持用户对网络拓扑的自定义设置,例如,在构造信息中添加一些优选信息等,因此本实施例最终的网络拓扑结构可以满足不同的实际应用需求。同时,本实施例中的最终带环网络拓扑因为满足距离约束和链路需求,因此具有就近连接、无越站链路等特点;同时,采用本实施例中构造哇带环网络拓扑的方法还能提升微波网络规划的效率和质量,提高了中心网络节点的可靠性,实验证明本实施例的网络拓扑构造方法能够提升效率50%以上。
参考图4,在本发明实施例二中,实现本发明实施例二所提供的方法可以包括以下步骤:
步骤401:接收网络拓扑的构造信息,所述网络拓扑的构造信息具体包括:约束距离信息、各个网络节点的经纬度信息。
在本发明实施例中,所述构造信息具体可以包括约束距离信息,该信息可以用于限定直接相连的两个网络节点之间的距离,各个网络节点的经纬度信息为位置信息。在实际应用中,构造信息还可以包括接入业务类型和业务量,成本模型和BTS-BSC归属信息;其中,接入业务类型具体可以包括E1、FE、Ge等,业务量可以为10E1,30M等,成本模型表示链路容量、链路距离与微波设备成本的对应关系,BTS-BSC归属信息为为每个BTS站点归属于哪个BSC站点的域。
步骤402:按照所述各个网络节点之间的距离计算一级节点与其他各个网络节点的归属关系,并依据所述归属关系将所述网络拓扑的所有网络节点按照所述一级节点的个数对应地划分为若干个归属域。
在本步骤中可以根据各个网络节点之间的距离计算一级节点与其他各个网络节点的归属关系,该归属也可以在步骤401中由用户进行预先设置并输入,如果用户没有输入,则本步骤中可以采用现有技术计算各个网络节点之间的归属关系,并根据该归属关系将所有网络节点划分为若干个归属域,其中归属域的个数与一级节点的个数相同。
步骤403:依据所述各个网络节点的经纬度信息,分别针对每个归属域获取所述网络拓扑中所有满足约束距离信息的若干组拓扑链路信息。
在本步骤中,根据步骤401中接收到的各个网络节点的经纬度信息,可以计算步骤402中得到的每个域的全网所有的拓扑链路,并由此获得所有满足约束距离信息的拓扑链路信息。根据归属域的个数可以获取对应相同个数的多组拓扑链路信息。该拓扑链路信息表示出了每个归属域中拓扑连接情况。
步骤404:依据所述拓扑链路信息计算出每个归属域中与所述一级节点直连的二级节点的数量区间。
在本步骤中需要依据步骤403中得到的各个归属域的拓扑连接情况,计算每个归属域与一级节点直连的汇聚节点的最小数量值,同时获取接收到的节点方向数阈值作为汇聚节点的最大值,以确定出二级节点的数量区间。
步骤405:依据所述二级节点的数量区间,分别为每个域对应的确定出对应的一个二级节点集合。
根据步骤404中确定出的二级节点的数量区间的结果值,最终确定出与一级节点直连的二级节点集合,该集合中的二级节点都需要满足距离约束信息,即小于或等于步骤401中接收到的距离约束信息的数值。此步骤中确定出的二级节点集合的个数也和归属域的个数相同。
步骤406:按照每个域中确定出的二级节点集合,将每个域中的若干组网络节点对应的构造成若干个初始树型拓扑结构,所述初始树型拓扑结构的二级节点为对应的所述二级节点集合中的节点。
具体的本步骤中,需要将每个域中需要的二级节点的数量从最小值开始依次递增,随机选择与一级节点能够直连的汇聚节点,利用聚类(Cluster)算法可以划分并计算出每个cluster的节点集合和相应的与一级节点能够直连的二级节点,并生成一级节点和二级节点之间的网络拓扑。其中,Cluster的节点集合指得是这个汇聚节点所属的网络节点集合。在聚类算法中,随机选择的二级节点只是初始值,聚类算法会根据成本最优目标重新算出二级节点,是一个迭代过程。本步骤中生成的初始树型拓扑结构中的二级节点为所述对应的二级节点集合中的节点。
步骤407:在所述若干个初始树型拓扑结构中选取满足预置的方向数要求和容量要求的网络节点作为备选环节点。
在本步骤中,需要说明的是,要按照前述步骤生成的若干个初始树型拓扑结构分别选择若干组备选环节点,该若干组备选环节点也需要满足预置的方向数要求和容量要求,即是以归属域为单位进行备选环节点的选取。
步骤408:依据所述若干组备选环节点将初始树型拓扑结构更新为带环网络拓扑结构。
在本步骤中,因为所述备选环节点的组数即为对应的归属域的个数,因此,在本步骤中更新生成的带环网络拓扑结构也需要以归属域为单位,即是在每一个归属域中都生成一个带环网络拓扑结构。参考图5所示,图5中包括了814个网络节点的Jeddah的初始网络拓扑规划结果,图5中的网络拓扑共包括7个BSC归属域。图5中的圆形节点即是选取出的满足了一定的方向数要求和容量要求的备选环节点,图5中的具体方向数要求为4,容量要求为50M。同时参考图6,为根据图5中的备选环节点生成的最终带环网络拓扑结构的示意图。
需要说明的是,本发明实施例中最终生成的带环网络拓扑结构一般情况下均为偶数环,同时,每个环中环节点数量和夹角也可以根据需求自主设置,本领域技术人员还可以根据实际场景设定其他的约束条件。
在本实施例中,本实施例以为首先进行了BSC归属域的划分,可以完成多BSC或RNC归属域的带环拓扑结构的规划,同时本实施例因为只需要用户输入构造信息,这就可以方便了那些网络拓扑构造并不是很专业的网络规化人员,同时还能够提升网络规化质量,满足不同场景下的应用需求。
参考图7,在本发明实施例三中,实现本发明实施例三所提供的方法可以包括以下步骤:
步骤701:接收网络拓扑的构造信息,所述网络拓扑的构造信息具体包括:约束距离信息、各个网络节点的经纬度信息,网络节点跳数。
在本实施例中,所述构造信息还包括网络节点跳数。例如,网络节点跳数为5跳,可以设定为:环上二级节点小于或等于两跳,每个HUB点下挂的子树小于或等于三跳。
步骤702:依据所述构造信息将所述网络拓扑中的网络节点构造为初始树型拓扑结构。
因此,在本步骤中所述初始树型拓扑结构中每一个网络节点到其所处的根节点的节点数均应满足所述网络节点跳数的需求。
步骤703:对所述初始树型拓扑结构中的所有网络节点改变任意一对父子节点之间的邻接关系。
在本实施例中,在生成初始树型拓扑结构之后,还可以对该初始树型拓扑结构进行优化,优化时首先对对微波全网的所有节点已经连接的网络拓扑尝试改变每一对父子节点之间的邻接关系,降低树的成本。
步骤704:分别判断改变之后的父子节点是否满足预置的约束条件,如果是,则进入步骤705。
分别判断每一对改变了邻接关系的父子节点是否满足预置的约束条件,即是判断改变邻接关系之后相应子树的跳数、距离、链路容量和节点维数是否满足预置的约束条件,以使得每一对父子节点的邻接关系的成本更低。
步骤705:按照改变之后的邻接关系生成优化的初始树型拓扑结构。
当改变之后的网络节点邻接关系也满足预置的约束条件时,则按照该改变之后的网络父子节点之间的邻接关系,构造出优化后的初始树型拓扑结构。
步骤706:在所述初始树型拓扑结构中选取满足预置的方向数要求和容量要求的网络节点作为备选环节点。
步骤707:将所述备选环节点生成若干个网络环拓扑结构。
在本实施例中如果需要生成最后的带环网络拓扑结构,需要首先将备选环节点生成若干个网络环拓扑结构。当然,生成的网络环拓扑结构的个数与归属域的个数有关,可以是一个,也可以是多个。
步骤708:将所述网络环拓扑结构中的各个环节点分别作为一个根节点,将所述网络拓扑中的所有节点构造为对应个数的子树拓扑结构。
最终生成带环网络拓扑结构则需要将每一个环节点作为一个根节点,改变微波全网的网络节点的连接关系,以更新全网的网络节点并生成多个新的相应树型拓扑结构,即是全网的树结构个数与备选环节点的个数相同。同时,将带环网络拓扑结构输出给用户之后,用户还可以中手工修改相关链路,组成满足自己特定需求的网络拓扑结构。即是根据人工经验对环拓扑作局部调整;本发明实施例很好的结合了用户需求和规划规则,能够在生成优化的带环网络拓扑结构的基础上,满足不同场景的多种需求。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
与上述本发明实施例所提供的方法相对应,参见图8,本发明实施例还提供了一种构造网络拓扑结构的装置实施例的结构示意图,所述装置具体可以包括:
接收构造信息模块801,用于接收网络拓扑的构造信息,所述构造信息包括网络拓扑的节点位置信息;
构造初始树模块802,用于依据所述构造信息将所述网络拓扑中的网络节点构造为初始树型拓扑结构;
选取环节点模块803,用于在所述初始树型拓扑结构中选取满足预置的方向数要求和容量要求的网络节点作为备选环节点;
生成带环拓扑模块804,用于依据所述备选环节点将初始树型拓扑结构更新为带环网络拓扑结构。
与本发明方法实施例二相对应,参考图9所示,示出了本发明装置实施例二的结构示意图,如图所示,该装置可以包括:
接收构造信息模块801,用于接收网络拓扑的构造信息,所述构造信息包括网络拓扑的节点位置信息;所述网络拓扑的构造信息具体包括:约束距离信息、各个网络节点的经纬度信息。
所述装置还可以包括:
划分归属域模块901,用于按照所述各个网络节点之间的距离计算一级节点与其他各个网络节点的归属关系,并依据所述归属关系将所述网络拓扑的所有网络节点按照所述一级节点的个数对应地划分为若干个归属域。
获取拓扑链路信息模块902,用于依据所述各个网络节点的经纬度信息,分别针对每个归属域获取所述网络拓扑中所有满足约束距离信息的若干组拓扑链路信息。
确定数量区间模块903,用于依据所述拓扑链路信息计算出每个归属域中与所述一级节点直连的二级节点的数量区间。
确定汇聚节点集合模块904,用于依据所述二级节点的数量区间,分别为每个域对应的确定出对应的一个二级节点集合。
则所述构造初始树模块802,具体用于按照所述确定出的二级节点集合,将每个域中的若干组网络节点对应的构造成若干个初始树型拓扑结构,所述初始树型拓扑结构中的二级节点为对应的二级节点集合中的节点。所述构造初始树模块802具体可以包括:
确定一级节点模块905,用于从所述网络拓扑中的网络节点中确定出一级节点及其位置。
确定汇聚节点模块906,用于获取到与所述一级节点直连的二级节点及其位置。
构造多约束拓扑树模块907,用于依据所述一级节点及其位置和所述二级节点及其位置,将所述网络拓扑中的所有网络节点构造成多约束拓扑树结构。
选取环节点模块803,用于在所述初始树型拓扑结构中选取满足预置的方向数要求和容量要求的网络节点作为备选环节点。
生成带环拓扑模块804,用于依据所述备选环节点将初始树型拓扑结构更新为带环网络拓扑结构。
参考图10所示,示出了本发明装置实施例三的结构示意图,如图10所示,该装置可以包括:
接收构造信息模块801,用于接收网络拓扑的构造信息,所述构造信息包括网络拓扑的节点位置信息。
构造初始树模块802,用于依据所述构造信息将所述网络拓扑中的网络节点构造为初始树型拓扑结构。
变更邻接关系模块1001,用于对所述初始树型拓扑结构中的所有网络节点改变任意一对父子节点之间的邻接关系。
生成优化树模块1002,用于分别判断改变之后的父子节点是否满足预置的约束条件,如果是,则按照改变之后的邻接关系生成优化的初始树型拓扑结构。
生成环拓扑子模块1003,用于将所述备选环节点生成若干个网络环拓扑结构。
生成子树拓扑接口子模块1004,用于将所述网络环拓扑结构中的各个环节点分别作为一个根节点,将所述网络拓扑中的所有节点构造为对应个数的子树拓扑结构。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置及系统类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
还需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
以上对本发明实施例所提供的一种构造网络拓扑结构的方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明实施例的方法及其思想;同时,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。