IPRAN或PTN中必经节点和链路的最短业务路径确定方法和装置与流程

文档序号:16899895发布日期:2019-02-19 17:52阅读:468来源:国知局
IPRAN或PTN中必经节点和链路的最短业务路径确定方法和装置与流程

本发明涉及通信技术领域,特别涉及一种基于因特网协议的传送(ipran)或分组传送网(ptn)中必经节点和链路的最短业务路径确定方法和装置。



背景技术:

最短路径问题广泛应用于计算机科学、交通工程、通信工程、系统工程、运筹学、信息论、控制理论等众多领域。

在某些特殊情况下,会要求路径经过特定的节点或者特定的链路。

求解最短路径的经典算法是dijkstra算法,但是该算法只考虑了源点和宿点,不能满足经过特定节点和链路的特殊要求。

参见图1,图1为ptn网络拓扑示意图。假设图1中的各路径的权值相同,dijkstra算法可以得到源点s和宿点t之间的最短路径,如s-a-b-t,或者s-c-d-t等。若要求路径必须经过a、b、d三个节点,且必须经过a和d之间的链路,则dijkstra算法不能在上述前提下确定最短业务路径。



技术实现要素:

有鉴于此,本申请提供一种ipran或ptn中必经节点和链路的最短业务路径确定方法和装置,能够实现有条件的最短业务路径的确定。

为解决上述技术问题,本申请的技术方案是这样实现的:

一种ipran或ptn中必经节点和链路的最短业务路径确定方法,该方法包括:

根据待建立的最短业务路径必经节点和链路,建立必经节点集合和必经链路集合,并将必经链路的两个节点增加到所述必经节点集合中;

从源节点开始建立最短业务路径;将所述源节点存储到最短业务路径集合中;

针对当前节点,获取该节点对应的顶点集合;

确定该顶点集合中的节点个数;

若该顶点集合中的节点个数大于1,则确定在该顶点集合中是否存在所述必经节点集合中的节点;

当确定在该顶点集合中存在所述必经节点集合中的节点,且节点个数大于1时,若在该顶点集合与所述必经节点集合的交集中,存在所述必经链路集合中的链路的节点,则将对应节点确定为下一跳节点;

将确定的下一跳节点存储到最短业务路径集合中,直到将目的节点存储到最短路径业务集合中,确定所述最短路径业务集合中的节点对应的路径为最短业务路径。

一种ipran或ptn中必经节点和链路的最短业务路径确定装置,该装置包括:建立单元、获取单元和确定单元;

所述建立单元,用于根据待建立的最短业务路径必经节点和链路,建立必经节点集合和必经链路集合,并将必经链路的两个节点增加到所述必经节点集合中;将源节点存储到最短业务路径集合中;将确定的下一跳节点存储到最短业务路径集合中;

所述获取单元,用于从源节点开始建立最短业务路径;针对当前节点,获取该节点对应的顶点集合;

所述确定单元,用于确定所述获取单元获取的顶点集合中的节点个数;若该顶点集合中的节点个数大于1,则确定在该顶点集合中是否存在所述必经节点集合中的节点;当确定在该顶点集合中存在所述必经节点集合中的节点,且节点个数大于1时,若在该顶点集合与所述必经节点集合的交集中,存在所述必经链路集合中的链路的节点,则将对应节点确定为下一跳节点;直到所述建立单元将目的节点存储到最短路径业务集合中,确定所述最短路径业务集合中的节点对应的路径为最短业务路径。

由上面的技术方案可知,本申请中在确定下一跳节点时,加入必经节点和必经链路的判断,优先选择必经节点和必经链路对应的节点作为下一跳节点,能够实现有条件的最短业务路径的确定。

附图说明

图1为ptn网络拓扑示意图;

图2为本申请实施例中确定最短业务路径的流程示意图;

图3为本申请实施例中应用于上述技术的装置结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图并举实施例,对本发明的技术方案进行详细说明。

本申请实施例中提供一种ipran或ptn中必经节点和链路的最短业务路径确定方法,在确定下一跳节点时,加入必经节点和必经链路的判断,优先选择必经节点和必经链路对应的节点作为下一跳节点,能够实现有条件的最短业务路径的确定。

该方法可应用于ptn网络,以及ipran网络中,本申请实施例中确定最短业务路径的装置为实现最短业务路径确定方法的主体,可以为一台pc,也可以为一个节点,具有获取信息并判断信息的能力的装置即可,在下文统一称为确定装置。

本申请实施例中在确定最短业务路径之前,需要确定该最短业务路径需要满足的条件:必经节点和必经链路;

根据必经节点建立必经节点集合,根据必经链路建立必经链路集合,并将必经链路的两个节点增加到所述必经节点集合中。

如要求并经节点为a、b和c,必经链路为链路cd,则必经节点集合为{a、b、c、d},必经链路的集合为{ad}。

当必经链路的两个点中存在与已必经节点中的节点存在重复,则不将重复的节点加到必经节点集合中,或将必经节点集合中重复的节点删除,以保证必经节点中的节点不重复。

下面结合附图,详细说明本申请实施例中实现最短业务路径确定过程。

参见图2,图2为本申请实施例中确定最短业务路径的流程示意图。具体步骤为:

步骤201,确定装置从源节点开始建立最短业务路径;将所述源节点存储到最短业务路径集合中。

以图1为例,假设建立的最短业务路径要满足的条件为:并经节点a、b和d,并经链路为ad,则必经节点集合m为{a、b、d},必经链路集合n为{ad},以每条路径的权值相同为例。

源节点为节点s,则最短业务路径集合k为{s}。

步骤202,该确定装置针对当前节点,获取该节点对应的顶点集合。

初始时,当前节点为待确定的最短路径的源节点;之后为每次确定的下一跳节点。

本申请实施例中确定装置能够获取整个ptn网络的拓扑结构,即可获得每个节点的顶点集合,如节点s的顶点集合为{a、c}。

本步骤中获取该节点对应的顶点集合之后,执行步骤203确定该顶点集合中的节点个数之前,所述方法进一步包括:

若确定该顶点集合与所述最短业务路径集合的交集不为空时,将该顶点集合中所述交集中的节点删除,再确定该顶点集合中的节点个数。

也就是说确定最短业务路径集合与该顶点集合中是否存在相同的节点,如果存在,则从顶点集合中删除,这样以免走回路。

假设已经由节点s确定下一跳节点a,那么确定节点a的下一跳时,将节点a的顶点集合中节点s删除,以免再选择到节点s作为下一跳。

步骤203,该确定装置确定该顶点集合中的节点个数。

以节点s的顶点集合为例,则顶点集合{a、c}中的节点个数为2;

以节点a的顶点集合为{s、c、b、d};则删除其上一跳节点s后的顶点集合为{c、b、d},则节点a的顶点集合中的节点个数最终也确定为3。

若该顶点集合中的节点个数为1时,选择该节点作为下一跳节点。

当顶点集合中的节点个数为1个时,只能选择该节点作为下一跳节点。

步骤204,若该顶点集合中的节点个数大于1,则该确定装置确定在该顶点集合中是否存在所述必经节点集合中的节点。

当该确定装置确定在该顶点集合中存在所述必经节点集合中的节点,且节点个数为1时,确定所述节点为下一跳节点。

如节点s的顶点集合为{a、c},个数大于1,且节点a在必经节点集合中存在,节点c不在,则确定下一跳节点为节点a。

步骤205,当该确定装置确定在该顶点集合中存在所述必经节点集合中的节点,且节点个数大于1时,若在该顶点集合与所述必经节点集合的交集中,存在所述必经链路集合中的链路的节点,则将对应节点确定为下一跳节点。

如节点a的顶点集合为{c、b、d},节点个数大于1,且节点b和d在必经节点集合中,节点c不在,则进一步确定并经路径中链路为ad,则选择节点d作为下一跳节点,而不选择节点b作为下一跳节点,加入最短业务路径集合,现在的最短业务路径集合为{s、a、d}。

针对节点d的顶点集合为{a、c、b、t},将节点a删除后的顶点集合为:{c、b、t}。

由于节点b在必经节点的集合中,因此,确定节点d的下一跳节点为节点b。

针对节点b的顶点集合为{a、d、t},将最短业务路径集合中的节点a和d删除后的顶点集合为:{t}。

因此,确定节点b的下一跳节点为节点t。

当确定在该顶点集合中不存在所述必经节点集合中的节点时,确定是否存在目的节点,如果是,选择目的节点作为下一跳节点;否则,根据路径权值最小的原则选择一个节点作为下一跳节点。

假设存在一个节点的顶点集合中不存在必经节点,也不存在目的节点,则根据路径权值选择,选择路径权值最小的路径对应的节点作为下一跳节点。

步骤206,该确定装置将确定的下一跳节点存储到最短业务路径集合中,直到将目的节点存储到最短路径业务集合中,确定所述最短路径业务集合中的节点对应的路径为最短业务路径。

通过上述步骤最终确定的最短业务路径集合为{s、a、d、b、t},则最短路径为:s-a-d-b-t。

本申请上述实施例中实现了在附加条件的情况下确定最短业务路径。

基于同样的发明构思,本申请实施例中还提供了一种ipran或ptn中必经节点和链路的最短业务路径确定装置。参见图3,图3为本申请实施例中应用于上述技术的装置结构示意图。该装置包括:建立单元301、获取单元302和确定单元303;

建立单元301,用于根据待建立的最短业务路径必经节点和链路,建立必经节点集合和必经链路集合,并将必经链路的两个节点增加到所述必经节点集合中;将源节点存储到最短业务路径集合中;将确定的下一跳节点存储到最短业务路径集合中;

获取单元302,用于从源节点开始建立最短业务路径;针对当前节点,获取该节点对应的顶点集合;

确定单元303,用于确定获取单元302获取的顶点集合中的节点个数;若该顶点集合中的节点个数大于1,则确定在该顶点集合中是否存在所述必经节点集合中的节点;当确定在该顶点集合中存在所述必经节点集合中的节点,且节点个数大于1时,若在该顶点集合与所述必经节点集合的交集中,存在所述必经链路集合中的链路的节点,则将对应节点确定为下一跳节点;直到建立单元301将目的节点存储到最短路径业务集合中,确定所述最短路径业务集合中的节点对应的路径为最短业务路径。

较佳地,

确定单元303,进一步用于当确定在该顶点集合中不存在所述必经节点集合中的节点时,确定是否存在目的节点,如果是,选择目的节点作为下一跳节点;否则,根据路径权值最小的原则选择一个节点作为下一跳节点。

较佳地,

确定单元303,进一步用于当确定在该顶点集合中存在所述必经节点集合中的节点,且节点个数为1时,确定所述节点为下一跳节点;若确定该顶点集合中的节点个数为1时,选择该节点作为下一跳节点。

较佳地,

确定单元303,进一步用于确定该顶点集合中的节点个数之前,若确定该顶点集合与所述最短业务路径集合的交集不为空时,将该顶点集合中所述交集中的节点删除,再确定该顶点集合中的节点个数。

较佳地,

所述必经节点集合中不存在重复的节点。

上述实施例的单元可以集成于一体,也可以分离部署;可以合并为一个单元,也可以进一步拆分成多个子单元。

综上所述,本申请通过在确定下一跳节点时,加入必经节点和必经链路的判断,优先选择必经节点和必经链路对应的节点作为下一跳节点,能够实现有条件的最短业务路径的确定。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

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