路径确定方法、装置、设备、系统及计算机可读存储介质转让专利

申请号 : CN202110844837.4

文献号 : CN115701057A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张杰王肖飞张潇潇

申请人 : 华为技术有限公司

摘要 :

本申请提供了一种路径确定方法、装置、设备、系统及计算机可读存储介质。该方法包括:第一设备获取源网元至目的网元之间的转发路径的路径健康度,该转发路径的路径健康度是根据该转发路径包括的网元的网元健康度和链路的链路健康度获取的;其中,网元健康度基于第一监测周期内的网元故障类型和网元故障发生频次确定,链路健康度基于第二监测周期内的链路故障类型和链路故障发生频次确定;根据约束信息和该转发路径的路径健康度,确定目标转发路径,约束信息包括健康度约束信息,健康度约束信息用于指示该目标转发路径的路径健康度需要满足的条件。该方法能够确定稳定性较高的转发路径,保证业务数据的稳定传输。

权利要求 :

1.一种路径确定方法,其特征在于,所述方法应用于第一设备,所述方法包括:

获取第一候选路径的路径健康度,所述第一候选路径为源网元至目的网元之间的一条转发路径,所述第一候选路径的路径健康度是基于所述第一候选路径包括的各个网元的网元健康度和各条链路的链路健康度得到;

其中,所述网元健康度是基于第一监测周期内的网元故障类型和网元故障发生频次确定的,所述链路健康度是基于第二监测周期内的链路故障类型和链路故障发生频次确定的;

根据约束信息和所述第一候选路径的路径健康度,确定目标转发路径,所述约束信息包括健康度约束信息,所述健康度约束信息用于指示所述目标转发路径的路径健康度需要满足的条件,所述目标转发路径的路径健康度用于指示所述目标转发路径的稳定性。

2.根据权利要求1所述的方法,其特征在于,所述获取第一候选路径的路径健康度,包括:获取所述第一监测周期内所述第一候选路径的各个网元的网元健康数据,所述网元健康数据用于指示网元的故障信息;

获取所述第二监测周期内所述第一候选路径的各条链路的链路健康数据,所述链路健康数据用于指示链路的故障信息;

基于所述各个网元的网元健康数据获得所述各个网元的网元健康度;

基于所述各条链路的链路健康数据获得所述各条链路的链路健康度;

根据所述各个网元的网元健康度和所述各条链路的链路健康度,获取所述第一候选路径的路径健康度。

3.根据权利要求2所述的方法,其特征在于,所述基于所述各个网元的网元健康数据获得所述各个网元的网元健康度,包括:根据所述各个网元的网元健康数据确定所述各个网元的网元健康度影响因子;

基于所述各个网元的网元健康度影响因子获取所述各个网元的网元健康度;

所述基于所述各条链路的链路健康数据获得所述各条链路的链路健康度,包括:

根据所述各条链路的链路健康数据确定所述各条链路的链路健康度影响因子;

基于所述各条链路的链路健康度影响因子获取所述各条链路的链路健康度。

4.根据权利要求3所述的方法,其特征在于,所述根据所述各个网元的网元健康数据确定所述各个网元的网元健康度影响因子,包括:根据所述第一监测周期内第一网元的网元健康数据获得所述第一网元的网元故障类型和所述第一网元的网元故障发生频次;

根据所述第一网元的网元故障类型和所述第一网元的网元故障发生频次确定所述第一网元的网元健康度影响因子,所述第一网元是所述第一候选路径的各个网元中的任意一个网元;

所述根据所述各条链路的链路健康数据确定所述各条链路的链路健康度影响因子,包括:根据所述第二监测周期内第一链路的链路健康数据获得所述第一链路的链路故障类型和所述第一链路的链路故障发生频次;

根据所述第一链路的链路故障类型和所述第一链路的链路故障发生频次确定所述第一链路的链路健康度影响因子,所述第一链路是所述第一候选路径的各条链路中的任意一条链路。

5.根据权利要求3或4所述的方法,其特征在于,所述基于所述各个网元的网元健康度影响因子获取所述各个网元的网元健康度,包括:基于所述各个网元的网元健康度影响因子按照第一健康度算法获取所述各个网元的网元健康度;

所述基于所述各条链路的链路健康度影响因子获取所述各条链路的链路健康度,包括:基于所述各条链路的链路健康度影响因子按照第二健康度算法获取所述各条链路的链路健康度。

6.根据权利要求3或4所述的方法,其特征在于,所述基于所述各个网元的网元健康度影响因子获取所述各个网元的网元健康度,包括:基于所述各个网元的网元健康度影响因子以及第一健康度模型获取所述各个网元的网元健康度;

所述基于所述各条链路的链路健康度影响因子获取所述各条链路的链路健康度,包括:基于所述各条链路的链路健康度影响因子以及第二健康度模型获取所述各条链路的链路健康度。

7.根据权利要求5所述的方法,其特征在于,所述基于所述各个网元的网元健康度影响因子按照第一健康度算法获取所述各个网元的网元健康度,包括:根据所述第一网元的网元健康度影响因子的健康度量结果获得网元健康度统计值,将所述网元健康度统计值作为所述第一网元的网元健康度;

所述基于所述各条链路的链路健康度影响因子按照第二健康度算法获取所述各条链路的链路健康度,包括:所述根据所述第一链路的链路健康度影响因子的健康度量结果获得链路健康度统计值,将所述链路健康度统计值作为所述第一链路的链路健康度。

8.根据权利要求7所述的方法,其特征在于,所述根据所述第一网元的网元健康度影响因子的健康度量结果获得网元健康度统计值,包括:将所述第一网元的各个网元健康度影响因子的健康度量结果进行累加得到所述网元健康度统计值;

所述根据所述第一链路的链路健康度影响因子的健康度量结果获得链路健康度统计值,包括:将所述第一链路的各个链路健康度影响因子的健康度量结果进行累加得到所述链路健康度统计值。

9.根据权利要求7所述的方法,其特征在于,所述根据所述第一网元的网元健康度影响因子的健康度量结果获得网元健康度统计值,包括:将所述第一网元的各个网元健康度影响因子的健康度量结果与所述各个网元健康度影响因子的权重值之间的乘积累加,得到第一累加结果;

将第一健康度参考值与所述第一累加结果的差值作为所述网元健康度统计值;

所述根据所述第一链路的链路健康度影响因子的健康度量结果获得链路健康度统计值,包括:将所述第一链路的各个链路健康度影响因子的健康度量结果与所述各个链路健康度影响因子的权重值之间的乘积累加,得到第二累加结果;

将第二健康度参考值与所述第二累加结果的差值作为所述链路健康度统计值。

10.根据权利要求2‑9任一所述的方法,其特征在于,所述各个网元的网元健康数据基于所述各个网元的告警、日志或关键性能指标KPI数据中的至少一项得到,所述各条链路的链路健康数据基于所述各条链路的告警、日志或KPI数据中的至少一项得到。

11.根据权利要求3‑10任一所述的方法,其特征在于,所述网元健康度影响因子包括第一故障类型因子和第一故障概率因子,所述链路健康度影响因子包括第二故障类型因子和第二故障概率因子,所述第一故障概率因子包括故障累计时长、故障累计次数或故障平均间隔时间中的至少一项,所述第二故障概率因子包括故障累计时长、故障累计次数或故障平均间隔时间中的至少一项。

12.根据权利要求2‑11任一所述的方法,其特征在于,所述根据所述各个网元的网元健康度和所述各条链路的链路健康度,获取所述第一候选路径的路径健康度,包括:将所述各个网元的网元健康度和所述各条链路的链路健康度中满足第一条件的健康度作为所述第一候选路径的路径健康度。

13.根据权利要求1‑12任一所述的方法,其特征在于,所述根据约束信息和所述第一候选路径的路径健康度,确定目标转发路径,包括:如果所述第一候选路径的路径健康度满足所述健康度约束信息,将所述第一候选路径作为所述目标转发路径。

14.根据权利要求1‑13任一所述的方法,其特征在于,所述确定目标转发路径之后,还包括:向第二设备发送所述目标转发路径,所述目标转发路径用于所述第二设备转发业务数据;或监测所述目标转发路径的路径健康度;

如果所述路径健康度不满足所述健康度约束信息,根据所述健康度约束信息,更新目标转发路径。

15.一种路径确定装置,其特征在于,所述装置应用于第一设备,所述装置包括:获取模块,用于获取第一候选路径的路径健康度,所述第一候选路径为源网元至目的网元之间的一条转发路径,所述第一候选路径的路径健康度是基于所述第一候选路径包括的各个网元的网元健康度和各条链路的链路健康度得到;其中,所述网元健康度是基于第一监测周期内的网元故障类型和网元故障发生频次确定的,所述链路健康度是基于第二监测周期内的链路故障类型和链路故障发生频次确定的;

确定模块,用于根据约束信息和所述第一候选路径的路径健康度,确定目标转发路径,所述约束信息包括健康度约束信息,所述健康度约束信息用于指示所述目标转发路径的路径健康度需要满足的条件,所述目标转发路径的路径健康度用于指示所述目标转发路径的稳定性。

16.根据权利要求15所述的装置,其特征在于,所述获取模块,用于获取所述第一监测周期内所述第一候选路径的各个网元的网元健康数据,所述网元健康数据用于指示网元的故障信息;获取所述第二监测周期内所述第一候选路径的各条链路的链路健康数据,所述链路健康数据用于指示链路的故障信息;基于所述各个网元的网元健康数据获得所述各个网元的网元健康度;基于所述各条链路的链路健康数据获得所述各条链路的链路健康度;

根据所述各个网元的网元健康度和所述各条链路的链路健康度,获取所述第一候选路径的路径健康度。

17.根据权利要求16所述的装置,其特征在于,所述获取模块,用于根据所述各个网元的网元健康数据确定所述各个网元的网元健康度影响因子;基于所述各个网元的网元健康度影响因子获取所述各个网元的网元健康度;根据所述各条链路的链路健康数据确定所述各条链路的链路健康度影响因子;基于所述各条链路的链路健康度影响因子获取所述各条链路的链路健康度。

18.根据权利要求17所述的装置,其特征在于,所述获取模块,用于根据所述第一监测周期内第一网元的网元健康数据获得所述第一网元的网元故障类型和所述第一网元的网元故障发生频次;根据所述第一网元的网元故障类型和所述第一网元的网元故障发生频次确定所述第一网元的网元健康度影响因子,所述第一网元是所述第一候选路径的各个网元中的任意一个网元;根据所述第二监测周期内第一链路的链路健康数据获得所述第一链路的链路故障类型和所述第一链路的链路故障发生频次;根据所述第一链路的链路故障类型和所述第一链路的链路故障发生频次确定所述第一链路的链路健康度影响因子,所述第一链路是所述第一候选路径的各条链路中的任意一条链路。

19.根据权利要求17或18所述的装置,其特征在于,所述获取模块,用于基于所述各个网元的网元健康度影响因子按照第一健康度算法获取所述各个网元的网元健康度;基于所述各条链路的链路健康度影响因子按照第二健康度算法获取所述各条链路的链路健康度。

20.根据权利要求17或18所述的装置,其特征在于,所述获取模块,用于基于所述各个网元的网元健康度影响因子以及第一健康度模型获取所述各个网元的网元健康度;基于所述各条链路的链路健康度影响因子以及第二健康度模型获取所述各条链路的链路健康度。

21.根据权利要求19所述的装置,其特征在于,所述获取模块,用于根据所述第一网元的网元健康度影响因子的健康度量结果获得网元健康度统计值,将所述网元健康度统计值作为所述第一网元的网元健康度;根据所述第一链路的链路健康度影响因子的健康度量结果获得链路健康度统计值,将所述链路健康度统计值作为所述第一链路的链路健康度。

22.根据权利要求21所述的装置,其特征在于,所述获取模块,用于将所述第一网元的各个网元健康度影响因子的健康度量结果进行累加得到所述网元健康度统计值;将所述第一链路的各个链路健康度影响因子的健康度量结果进行累加得到所述链路健康度统计值。

23.根据权利要求21所述的装置,其特征在于,所述获取模块,用于将所述第一网元的各个网元健康度影响因子的健康度量结果与所述各个网元健康度影响因子的权重值之间的乘积累加,得到第一累加结果;将第一健康度参考值与所述第一累加结果的差值作为所述网元健康度统计值;将所述第一链路的各个链路健康度影响因子的健康度量结果与所述各个链路健康度影响因子的权重值之间的乘积累加,得到第二累加结果;将第二健康度参考值与所述第二累加结果的差值作为所述链路健康度统计值。

24.一种路径确定设备,其特征在于,所述路径确定设备包括:处理器,所述处理器与存储器耦合,所述存储器中存储有至少一条程序指令或代码,所述至少一条程序指令或代码由所述处理器加载并执行,以使所述路径确定设备实现权利要求1‑14中任一所述的路径确定方法。

25.一种路径确定系统,其特征在于,所述路径确定系统包括第一设备和第二设备,所述第一设备用于执行如权利要求1‑14任一所述的路径确定方法。

26.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条程序指令或代码,所述程序指令或代码由处理器加载并执行,以使计算机实现如权利要求1‑14中任一所述的路径确定方法。

说明书 :

路径确定方法、装置、设备、系统及计算机可读存储介质

技术领域

[0001] 本申请涉及通信技术领域,特别涉及路径确定方法、装置、设备、系统及计算机可读存储介质。

背景技术

[0002] 在通信网络中进行业务传输时,需要确定业务在网络中的转发路径,以使业务数据按照确定的转发路径由源网元转发至目的网元。相关技术中,根据带宽约束信息和时延约束信息确定源网元至目的网元的转发路径。
[0003] 然而,采用上述路径确定方法确定的转发路径中存在故障概率较高的链路时,该转发路径的稳定性较差,出现故障的概率较高,从而业务按照该转发路径进行传输时的稳定性较低。

发明内容

[0004] 本申请提出一种路径确定方法、装置、设备、系统及计算机可读存储介质,用于确定稳定性较高的转发路径,保证业务数据的稳定传输。
[0005] 第一方面,提供了一种路径确定方法,该方法应用于第一设备,该方法包括:获取第一候选路径的路径健康度,该第一候选路径是源网元至目的网元之间的一条转发路径,第一候选路径的路径健康度是根据第一候选路径包括的各个网元的网元健康度和各条链路的链路健康度得到的。其中,网元健康度是基于第一监测周期内的网元故障类型和网元故障发生频次确定的,链路健康度是基于第二监测周期内的链路故障类型和链路故障发生频次确定的。在获取第一候选路径的路径健康度之后,根据约束信息和第一候选路径的路径健康度,确定目标转发路径,该约束信息包括健康度约束信息,该健康度约束信息用于指示目标转发路径的路径健康度需要满足的条件,目标转发路径的路径健康度用于指示目标转发路径的稳定性。
[0006] 该方法通过获取源网元至目的网元的转发路径的路径健康度,进而根据健康度约束信息和转发路径的路径健康度确定路径健康度满足条件的目标转发路径,以确定稳定性较高的转发路径,保证业务数据的稳定传输。并且,由于该转发路径的稳定性较高,业务数据传输时切换转发路径的概率较低,降低了路径切换时丢失业务数据的概率,进一步保证了业务数据的稳定传输。
[0007] 在一种可能的实现方式中,获取第一候选路径的路径健康度,包括:获取第一监测周期内第一候选路径的各个网元的网元健康数据,网元健康数据用于指示网元的故障信息;获取第二监测周期内第一候选路径的各条链路的链路健康数据,链路健康数据用于指示链路的故障信息;基于各个网元的网元健康数据获得各个网元的网元健康度;基于各条链路的链路健康数据获得各条链路的链路健康度;根据各个网元的网元健康度和各条链路的链路健康度,获取第一候选路径的路径健康度。
[0008] 在一种可能的实现方式中,基于各个网元的网元健康数据获得各个网元的网元健康度,包括:根据各个网元的网元健康数据确定各个网元的网元健康度影响因子;基于各个网元的网元健康度影响因子获取各个网元的网元健康度;基于各条链路的链路健康数据获得各条链路的链路健康度,包括:根据各条链路的链路健康数据确定各条链路的链路健康度影响因子;基于各条链路的链路健康度影响因子获取各条链路的链路健康度。
[0009] 在一种可能的实现方式中,根据各个网元的网元健康数据确定各个网元的网元健康度影响因子,包括:根据第一监测周期内第一网元的网元健康数据获得第一网元的网元故障类型和第一网元的网元故障发生频次;根据第一网元的网元故障类型和第一网元的网元故障发生频次确定第一网元的网元健康度影响因子,第一网元是第一候选路径的各个网元中的任意一个网元;根据各条链路的链路健康数据确定各条链路的链路健康度影响因子,包括:根据第二监测周期内第一链路的链路健康数据获得第一链路的链路故障类型和第一链路的链路故障发生频次;根据第一链路的链路故障类型和第一链路的链路故障发生频次确定第一链路的链路健康度影响因子,第一链路是第一候选路径的各条链路中的任意一条链路。
[0010] 在一种可能的实现方式中,基于各个网元的网元健康度影响因子获取各个网元的网元健康度,包括:基于各个网元的网元健康度影响因子按照第一健康度算法获取各个网元的网元健康度;基于各条链路的链路健康度影响因子获取各条链路的链路健康度,包括:基于各条链路的链路健康度影响因子按照第二健康度算法获取各条链路的链路健康度。
[0011] 在一种可能的实现方式中,基于各个网元的网元健康度影响因子获取各个网元的网元健康度,包括:基于各个网元的网元健康度影响因子以及第一健康度模型获取各个网元的网元健康度;基于各条链路的链路健康度影响因子获取各条链路的链路健康度,包括:基于各条链路的链路健康度影响因子以及第二健康度模型获取各条链路的链路健康度。
[0012] 由于网元的网元健康度可以通过第一健康度算法获取,也可以通过第一健康度模型获取,该方法获取网元的网元健康度的方式较为灵活。由于链路的链路健康度可以通过第二健康度算法获取,也可以通过第二健康度模型获取,该方法获取链路的链路健康度的方式较为灵活。
[0013] 在一种可能的实现方式中,第一健康度模型和第二健康度模型为AI模型。
[0014] 在一种可能的实现方式中,基于各个网元的网元健康度影响因子按照第一健康度算法获取各个网元的网元健康度,包括:根据第一网元的网元健康度影响因子的健康度量结果获得网元健康度统计值,将网元健康度统计值作为第一网元的网元健康度;基于各条链路的链路健康度影响因子按照第二健康度算法获取各条链路的链路健康度,包括:根据第一链路的链路健康度影响因子的健康度量结果获得链路健康度统计值,将链路健康度统计值作为第一链路的链路健康度。
[0015] 在一种可能的实现方式中,根据第一网元的网元健康度影响因子的健康度量结果获得网元健康度统计值,包括:将第一网元的各个网元健康度影响因子的健康度量结果进行累加得到网元健康度统计值;根据第一链路的链路健康度影响因子的健康度量结果获得链路健康度统计值,包括:将第一链路的各个链路健康度影响因子的健康度量结果进行累加得到链路健康度统计值。
[0016] 在一种可能的实现方式中,根据第一网元的网元健康度影响因子的健康度量结果获得网元健康度统计值,包括:将第一网元的各个网元健康度影响因子的健康度量结果与各个网元健康度影响因子的权重值之间的乘积累加,得到第一累加结果;将第一健康度参考值与第一累加结果的差值作为网元健康度统计值;根据第一链路的链路健康度影响因子的健康度量结果获得链路健康度统计值,包括:将第一链路的各个链路健康度影响因子的健康度量结果与各个链路健康度影响因子的权重值之间的乘积累加,得到第二累加结果;将第二健康度参考值与第二累加结果的差值作为链路健康度统计值。
[0017] 在一种可能的实现方式中,各个网元的网元健康数据基于各个网元的告警、日志或KPI数据中的至少一项得到,各条链路的链路健康数据基于各条链路的告警、日志或KPI数据中的至少一项得到。由于网元健康数据和链路健康数据能够根据不同的记录获取,网元健康数据和链路健康数据的获取方式较为灵活。
[0018] 在一种可能的实现方式中,网元健康度影响因子包括第一故障类型因子和第一故障概率因子,链路健康度影响因子包括第二故障类型因子和第二故障概率因子,第一故障概率因子包括故障累计时长、故障累计次数或故障平均间隔时间中的至少一项,第二故障概率因子包括故障累计时长、故障累计次数或故障平均间隔时间中的至少一项。
[0019] 在一种可能的实现方式中,根据各个网元的网元健康度和各条链路的链路健康度,获取第一候选路径的路径健康度,包括:将各个网元的网元健康度和各条链路的链路健康度中满足第一条件的健康度作为第一候选路径的路径健康度。
[0020] 在一种可能的实现方式中,根据约束信息和第一候选路径的路径健康度,确定目标转发路径,包括:如果第一候选路径的路径健康度满足健康度约束信息,将该第一候选路径作为目标转发路径。通过将路径健康度满足健康度约束信息的第一候选路径作为目标转发路径,能够确定稳定性较高的转发路径,保证业务数据的稳定传输。
[0021] 在一种可能的实现方式中,确定目标转发路径之后,还包括:向第二设备发送目标转发路径,目标转发路径用于第二设备转发业务数据;或监测目标转发路径的路径健康度;如果路径健康度不满足健康度约束信息,根据健康度约束信息,更新目标转发路径。由于该方法能够更新目标转发路径,当原有目标转发路径的稳定性下降时,可以对目标转发路径进行更新,使业务数据按照更新后的转发路径进行传输,保证业务数据的稳定传输。
[0022] 在一种可能的实现方式中,确定目标转发路径之后,还包括:接收更新转发路径的消息,该更新转发路径的消息用于指示更新目标转发路径。由于更新转发路径的消息指示了更新目标转发路径,第一设备能够响应于该更新转发路径的消息,更新目标转发路径。并且该更新后的目标转发路径可以为满足健康度约束信息的转发路径中路径健康度较高的转发路径,该方法能够保持业务数据按照路径健康度较高的转发路径进行传输,按照该转发路径传输业务数据的稳定性较高。
[0023] 在一种可能的实现方式中,确定目标转发路径之后,还包括:按照第一时间周期,根据健康度约束信息更新目标转发路径。由于按照第一时间周期更新目标转发路径,该更新后的目标转发路径可以为满足健康度约束信息的转发路径中路径健康度较高的转发路径,该方法能够保持业务数据按照路径健康度较高的转发路径进行传输,按照该转发路径传输业务数据的稳定性较高。
[0024] 在一种可能的实现方式中,更新目标转发路径之后,还包括:根据MBB,由更新前的目标转发路径切换至更新后的目标转发路径。根据MBB进行路径切换,能够保证在路径切换时的业务数据的传输,避免丢失业务数据。
[0025] 在一种可能的实现方式中,约束信息还包括质量约束信息或代价约束信息中的至少一种,质量约束信息用于约束确定的转发路径的质量,代价约束信息用于约束确定的转发路径传输业务数据所需的代价;根据约束信息和第一候选路径的路径健康度,确定目标转发路径,包括:根据质量约束信息或代价约束信息中的至少一种、健康度约束信息和第一候选路径的路径健康度,确定目标转发路径。由于该方法的约束信息能够包括不同类型的约束信息,约束信息的灵活性较高,基于该约束信息确定的转发路径更加满足业务需求。
[0026] 第二方面,提供了一种路径确定方法,该方法应用于第二设备,该方法包括:第二设备接收源网元至目的网元之间的目标转发路径,目标转发路径基于约束信息和第一候选路径的路径健康度确定,第一候选路径为源网元至目的网元之间的一条转发路径;其中,第一候选路径的路径健康度是基于第一候选路径包括的各个网元的网元健康度和各条链路的链路健康度得到,网元健康度是基于第一监测周期内的网元故障类型和网元故障发生频次确定的,链路健康度是基于第二监测周期内的链路故障类型和链路故障发生频次确定的,约束信息包括健康度约束信息,健康度约束信息用于指示目标转发路径的路径健康度需要满足的条件,目标转发路径的路径健康度用于指示目标转发路径的稳定性;第二设备根据目标转发路径转发业务数据。
[0027] 在一种可能的实现方式中,根据目标转发路径转发业务数据之后,还包括:接收更新后的目标转发路径;根据更新后的目标转发路径转发业务数据。
[0028] 第三方面,提供了一种路径确定装置,该装置应用于第一设备,该装置包括:
[0029] 获取模块,用于获取第一候选路径的路径健康度,第一候选路径为源网元至目的网元之间的一条转发路径,第一候选路径的路径健康度是基于第一候选路径包括的各个网元的网元健康度和各条链路的链路健康度得到;其中,网元健康度是基于第一监测周期内的网元故障类型和网元故障发生频次确定的,链路健康度是基于第二监测周期内的链路故障类型和链路故障发生频次确定的;
[0030] 确定模块,用于根据约束信息和第一候选路径的路径健康度,确定目标转发路径,约束信息包括健康度约束信息,健康度约束信息用于指示目标转发路径的路径健康度需要满足的条件,目标转发路径的路径健康度用于指示目标转发路径的稳定性。
[0031] 在一种可能的实现方式中,获取模块,用于获取第一监测周期内第一候选路径的各个网元的网元健康数据,网元健康数据用于指示网元的故障信息;获取第二监测周期内第一候选路径的各条链路的链路健康数据,链路健康数据用于指示链路的故障信息;基于各个网元的网元健康数据获得各个网元的网元健康度;基于各条链路的链路健康数据获得各条链路的链路健康度;根据各个网元的网元健康度和各条链路的链路健康度,获取第一候选路径的路径健康度。
[0032] 在一种可能的实现方式中,获取模块,用于根据各个网元的网元健康数据确定各个网元的网元健康度影响因子;基于各个网元的网元健康度影响因子获取各个网元的网元健康度;根据各条链路的链路健康数据确定各条链路的链路健康度影响因子;基于各条链路的链路健康度影响因子获取各条链路的链路健康度。
[0033] 在一种可能的实现方式中,获取模块,用于根据第一监测周期内第一网元的网元健康数据获得第一网元的网元故障类型和第一网元的网元故障发生频次;根据第一网元的网元故障类型和第一网元的网元故障发生频次确定第一网元的网元健康度影响因子,第一网元是第一候选路径的各个网元中的任意一个网元;根据第二监测周期内第一链路的链路健康数据获得第一链路的链路故障类型和第一链路的链路故障发生频次;根据第一链路的链路故障类型和第一链路的链路故障发生频次确定第一链路的链路健康度影响因子,第一链路是第一候选路径的各条链路中的任意一条链路。
[0034] 在一种可能的实现方式中,获取模块,用于基于各个网元的网元健康度影响因子按照第一健康度算法获取各个网元的网元健康度;基于各条链路的链路健康度影响因子按照第二健康度算法获取所述各条链路的链路健康度。
[0035] 在一种可能的实现方式中,获取模块,用于基于各个网元的网元健康度影响因子以及第一健康度模型获取各个网元的网元健康度;基于各条链路的链路健康度影响因子以及第二健康度模型获取各条链路的链路健康度。
[0036] 在一种可能的实现方式中,第一健康度模型和第二健康度模型为AI模型。
[0037] 在一种可能的实现方式中,获取模块,用于根据第一网元的网元健康度影响因子的健康度量结果获得网元健康度统计值,将网元健康度统计值作为第一网元的网元健康度;根据第一链路的链路健康度影响因子的健康度量结果获得链路健康度统计值,将链路健康度统计值作为第一链路的链路健康度。
[0038] 在一种可能的实现方式中,获取模块,用于将第一网元的各个网元健康度影响因子的健康度量结果进行累加得到网元健康度统计值;将第一链路的各个链路健康度影响因子的健康度量结果进行累加得到链路健康度统计值。
[0039] 在一种可能的实现方式中,获取模块,用于将第一网元的各个网元健康度影响因子的健康度量结果与各个网元健康度影响因子的权重值之间的乘积累加,得到第一累加结果;将第一健康度参考值与第一累加结果的差值作为网元健康度统计值;将第一链路的各个链路健康度影响因子的健康度量结果与各个链路健康度影响因子的权重值之间的乘积累加,得到第二累加结果;将第二健康度参考值与第二累加结果的差值作为链路健康度统计值。
[0040] 在一种可能的实现方式中,各个网元的网元健康数据基于各个网元的告警、日志或KPI数据中的至少一项得到,各条链路的链路健康数据基于各条链路的告警、日志或KPI数据中的至少一项得到。由于网元健康数据和链路健康数据能够根据不同的记录获取,网元健康数据和链路健康数据的获取方式较为灵活。
[0041] 在一种可能的实现方式中,网元健康度影响因子包括第一故障类型因子和第一故障概率因子,链路健康度影响因子包括第二故障类型因子和第二故障概率因子,第一故障概率因子包括故障累计时长、故障累计次数或故障平均间隔时间中的至少一项,第二故障概率因子包括故障累计时长、故障累计次数或故障平均间隔时间中的至少一项。
[0042] 在一种可能的实现方式中,获取模块,用于将各个网元的网元健康度和各条链路的链路健康度中满足第一条件的健康度作为第一候选路径的路径健康度。
[0043] 在一种可能的实现方式中,确定模块,用于如果第一候选路径的路径健康度满足健康度约束信息,将第一候选路径作为目标转发路径。
[0044] 在一种可能的实现方式中,该装置还包括:发送模块,用于向第二设备发送目标转发路径,目标转发路径用于第二设备转发业务数据;或第一更新模块,用于监测目标转发路径的路径健康度;如果路径健康度不满足健康度约束信息,根据健康度约束信息,更新目标转发路径。
[0045] 在一种可能的实现方式中,该装置还包括:第二更新模块,用于接收更新转发路径的消息,更新转发路径的消息用于指示更新目标转发路径。
[0046] 在一种可能的实现方式中,该装置还包括:第三更新模块,用于按照第一时间周期,根据健康度约束信息更新目标转发路径。
[0047] 在一种可能的实现方式中,该装置还包括:切换模块,用于根据MBB,由更新前的目标转发路径切换至更新后的目标转发路径。
[0048] 在一种可能的实现方式中,约束信息还包括质量约束信息或代价约束信息中的至少一种,质量约束信息用于约束确定的转发路径的质量,代价约束信息用于约束确定的转发路径传输业务数据所需的代价;确定模块,用于根据质量约束信息或代价约束信息中的至少一种、健康度约束信息和第一候选路径的路径健康度,确定目标转发路径。
[0049] 第四方面,提供了一种路径确定装置,该装置应用于第二设备,该装置包括:
[0050] 接收模块,用于接收源网元至目的网元之间的目标转发路径,目标转发路径基于约束信息和第一候选路径的路径健康度确定,第一候选路径为源网元至目的网元之间的一条转发路径;其中,第一候选路径的路径健康度是基于第一候选路径包括的各个网元的网元健康度和各条链路的链路健康度得到,网元健康度是基于第一监测周期内的网元故障类型和网元故障发生频次确定的,链路健康度是基于第二监测周期内的链路故障类型和链路故障发生频次确定的,约束信息包括健康度约束信息,健康度约束信息用于指示目标转发路径的路径健康度需要满足的条件,目标转发路径的路径健康度用于指示目标转发路径的稳定性;
[0051] 发送模块,用于根据目标转发路径转发业务数据。
[0052] 在一种可能的实现方式中,该装置还包括:更新模块,用于接收更新后的目标转发路径;根据更新后的目标转发路径转发业务数据。
[0053] 第五方面,提供了一种路径确定设备,该路径确定设备包括:处理器,处理器与存储器耦合,存储器中存储有至少一条程序指令或代码,至少一条程序指令或代码由处理器加载并执行,以使路径确定设备实现如上第一方面或第二方面任一的路径确定方法。
[0054] 第六方面,提供了一种路径确定系统,该路径确定系统包括:第一设备和第二设备,第一设备用于执行上述第一方面或第一方面任一的路径确定方法,第二设备用于执行上述第二方面或第二方面任一的路径确定方法。
[0055] 第七方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条程序指令或代码,程序指令或代码由处理器加载并执行时以使计算机实现如第一方面或第二方面中任一的路径确定方法。
[0056] 第八方面,提供了一种计算机程序产品,包括计算机程序,计算机程序被计算机执行时,以使计算机实现如上第一方面或第二方面任一的路径确定方法。
[0057] 第九方面,提供了一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行第一方面或第一方面的任一种可能的实施方式中的方法,或者执行第二方面或第二方面的任一种可能的实施方式中的方法。
[0058] 在一种可能的实现方式中,处理器为一个或多个,存储器为一个或多个。
[0059] 在一种可能的实现方式中,存储器可以与处理器集成在一起,或者存储器与处理器分离设置。
[0060] 在具体实现过程中,存储器可以为存储器,例如,只读存储器(read only memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请对存储器的类型以及存储器与处理器的设置方式不做限定。
[0061] 第十方面,提供了一种芯片,包括处理器,用于从存储器中调用并运行存储器中存储的指令,使得安装有芯片的通信设备执行上述第一方面或第一方面的任一种可能的实施方式中的方法,或者执行上述第二方面或第二方面的任一种可能的实施方式中的方法。
[0062] 第十一方面,提供了另一种芯片,包括:输入接口、输出接口、处理器和存储器,输入接口、输出接口、处理器以及存储器之间通过内部连接通路相连,处理器用于执行存储器中的代码,当代码被执行时,处理器用于执行上述第一方面或第一方面的任一种可能的实施方式中的方法,或者执行上述第二方面或第二方面的任一种可能的实施方式中的方法。

附图说明

[0063] 图1是本申请实施例提供的一种路径确定方法的实施场景示意图;
[0064] 图2是本申请实施例提供的一种路径确定方法的流程图;
[0065] 图3是本申请实施例提供的一种获取的第一候选路径的示意图;
[0066] 图4是本申请实施例提供的一种网元的网元健康度和链路的链路健康度的示意图;
[0067] 图5是本申请实施例提供的一种路径确定方法的流程图;
[0068] 图6是本申请实施例提供的另一种路径确定方法的流程图;
[0069] 图7是本申请实施例提供的一种确定的目标转发路径的示意图;
[0070] 图8是本申请实施例提供的一种链路的带宽和链路的时延的示意图;
[0071] 图9是本申请实施例提供的另一种路径确定方法的流程图;
[0072] 图10是本申请实施例提供的一种更新后的目标转发路径的示意图;
[0073] 图11是本申请实施例提供的一种路径确定装置的结构示意图;
[0074] 图12是本申请实施例提供的另一种路径确定装置的结构示意图;
[0075] 图13是本申请实施例提供的一种路径确定设备的结构示意图;
[0076] 图14是本申请实施例提供的一种路径确定设备的结构示意图。

具体实施方式

[0077] 为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
[0078] 在互联网协议(internet protocol,IP)网络中,需要确定网络层上的转发路径,以实现业务数据从发送方(源网元)至接收方(目的网元)的传输。该转发路径的稳定性是业务数据沿该转发路径转发的稳定性的重要影响因素。转发路径的稳定性越高,该转发路径发生故障的概率越低,业务数据沿该转发路径转发的稳定性越高。转发路径的稳定性越低,该转发路径发生故障的概率越高,业务数据沿该转发路径转发的稳定性越低。
[0079] 本申请实施例提供了一种路径确定方法,该方法通过获取源网元至目的网元的转发路径的路径健康度,进而根据包括健康度约束信息的约束信息和转发路径的路径健康度,确定满足约束信息的目标转发路径,提高确定的转发路径的稳定性。转发路径包括多个网元和多个网元之间的链路,其中,该链路为两个相邻的网元之间的链路。多个网元和多个网元之间的链路均有对应的健康度,其中,网元的网元健康度用于表示网元的稳定性,链路的链路健康度用于表示链路的稳定性,路径健康度用于指示路径的稳定性。例如,目标转发路径的路径健康度用于指示该目标转发路径的稳定性。网元健康度基于网元上的器件或软件的健康状态、故障类型和故障发生频次等确定。例如,单板的异常告警情况、子卡的异常告警情况、器件温度的稳定性、器件电压的稳定性、软件的异常告警情况以及转发引擎的丢包情况。链路健康度基于链路的循环冗余码校验(cyclic redundancy check,CRC)情况、以太网端口连接丢失(ethernet port connection lost,ETH‑LOS)告警情况、链路上的队列丢包情况和链路的历史震荡情况等确定。其中,历史震荡情况包括但不限于震荡频次和震荡间隔。需要说明的是,若链路在当前情况下和历史情况下均未出现故障,则该链路的链路健康度继承该链路所连接的网元的网元健康度。示例性地,链路的链路健康度继承链路所连接的网元的网元健康度包括:链路的链路健康度等于该链路所连接的入方向的网元的网元健康度。例如,链路A为网元1和网元2之间的链路,其中,网元1与网元2为两个相邻的两个网元,网元1为入方向的网元,也即业务数据的发送方向为由网元1发送至网元2;若链路A在当前情况下和历史情况下均未出现故障,则该链路的链路健康度等于网元1的网元健康度。当然,若链路在当前情况下和历史情况下均未出现故障,该链路的链路健康度还可以为该链路所连接的两个网元的网元健康度中的较小值,或两个网元的网元健康度的平均值。
[0080] 本申请实施例提供的方法可应用在图1所示的实施场景中,该实施场景包括第一设备101和第二设备102A‑102F(统称为第二设备102),第一设备101和第二设备102之间能够进行信息的交互。
[0081] 示例性地,第一设备101包括但不限于控制器、分析器或网络设备,例如,第一设备101为软件定义网络(software‑defined networking,SDN)控制器;第二设备102包括多种类型的网元,例如,第二设备102包括但不限于路由器和交换机。第一设备101从第二设备
102获取数据的方式包括但不限于简单网络管理协议(simple network management protocol,SNMP)、网络配置协议(network configuration protocol,NETCONF)、安全文件传输协议(secure file transfer protocol,SFTP)、简单文件传输协议(trivial file transfer protocol,TFTP)、文件传输协议(file transfer protocol,FTP)和遥测(telemery);第一设备101向第二设备102发送数据的方式包括但不限于边界网关协议分段路由策略(border gateway protocol segment routing policy,BGP SR Policy)协议。
[0082] 结合图1所示的实施场景,本申请实施例提供的路径确定方法如图2所示,包括但不限于步骤201和步骤202。
[0083] 步骤201,获取第一候选路径的路径健康度,第一候选路径为源网元至目的网元之间的一条转发路径,第一候选路径的路径健康度是基于第一候选路径包括的各个网元的网元健康度和各条链路的链路健康度得到。
[0084] 其中,网元健康度是基于第一监测周期内的网元故障类型和网元故障发生频次确定的,链路健康度是基于第二监测周期内的链路故障类型和链路故障发生频次确定的。示例性地,第一监测周期和第二监测周期可以为相同的监测周期,或不同的监测周期。例如,第一监测周期为2周,第二监测周期为48h。需要说明的是,对于不同的网元,该网元的第一监测周期可以相同,也可以不同;对于不同的链路,该链路的第二监测周期可以相同,也可以不同。例如,网元1的第一监测周期为2周,网元2的第一监测周期为1周;链路A的第二监测周期为48小时(h),链路B的第二监测周期为36h。
[0085] 在一种可能的实现方式中,获取第一候选路径的路径健康度之前,该方法还包括:获取第一候选路径。
[0086] 示例性地,第一设备获取第一候选路径的方式包括但不限于:获取用户输入的至少一条源网元至目的网元之间的转发路径,或获取根据除健康度约束信息以外的其他约束信息获取的源网元至目的网元之间的转发路径,或通过指定算法获取源网元至目的网元之间的转发路径。例如,第一设备通过多路径部分传播算法(multipath  partial dissemination algorithm,MPDA)获取源网元至目的网元之间的转发路径。
[0087] 例如,如图3所示,源网元为第二设备102A,目的网元为第二设备102C,获取的源网元至目的网元之间的转发路径包括但不限于:
[0088] 路径1:第二设备102A→第二设备102B→第二设备102C;
[0089] 路径2:第二设备102A→第二设备102B→第二设备102E→第二设备102F→第二设备102C;
[0090] 路径3:第二设备102A→第二设备102D→第二设备102E→第二设备102F→第二设备102C;和
[0091] 路径4:第二设备102A→第二设备102D→第二设备102E→第二设备102B→第二设备102C。
[0092] 其中,第二设备102A与第二设备102B之间的链路为链路1,第二设备102B与第二设备102C之间的链路为链路2,第二设备102A与第二设备102D之间的链路为链路3,第二设备102B与第二设备102E之间的链路为链路4,第二设备102C与第二设备102F之间的链路为链路5,第二设备102D与第二设备102E之间的链路为链路6,第二设备102E与第二设备102F之间的链路为链路7。
[0093] 因此,对于每条源网元至目的网元之间的转发路径中包括的网元和链路如下:
[0094] 对于路径1,该路径1包括的网元和链路为:第二设备102A、链路1、第二设备102B、链路2和第二设备102C。
[0095] 对于路径2,该路径2包括的网元和链路为:第二设备102A、链路1、第二设备102B、链路4、第二设备102E、链路7、第二设备102F、链路5和第二设备102C。
[0096] 对于路径3,该路径3包括的网元和链路为:第二设备102A、链路3、第二设备102D、链路6、第二设备102E、链路7、第二设备102F、链路5和第二设备102C。
[0097] 对于路径4,该路径4包括的网元和链路为:第二设备102A、链路3、第二设备102D、链路6、第二设备102E、链路4、第二设备102B、链路2和第二设备102C。
[0098] 在一种可能的实现方式中,获取第一候选路径的路径健康度,包括但不限于步骤2011至步骤2014。
[0099] 步骤2011,获取第一监测周期内第一候选路径的各个网元的网元健康数据,网元健康数据用于指示网元的故障信息;获取第二监测周期内第一候选路径的各条链路的链路健康数据,链路健康数据用于指示链路的故障信息。
[0100] 在一种可能的实现方式中,第一设备获取各个网元的网元健康数据和各条链路的链路健康数据的方式包括但不限于SNMP、NETCONF、SFTP、TFTP、FTP或遥测中的任一种。示例性地,网元健康数据可以存储在网元运行过程中产生的告警、日志或关键性能指标(key performance indicator,KPI)数据的至少一种记录中,则各个网元的网元健康数据为基于各个网元的告警、日志或KPI数据中的至少一项得到。也就是说,第一设备获取第一监测周期内第一候选路径的各个网元的网元健康数据,包括:第一设备获取第一监测周期内第一候选路径的各个网元的告警、日志或KPI数据中的至少一项。由于网元健康数据能够根据不同的记录获取,网元健康数据的获取方式较为灵活。
[0101] 在一种可能的实现方式中,链路健康数据可以存储在链路运行过程中产生的告警、日志、或KPI数据的至少一种记录中,则各条链路的链路健康数据为基于各条链路的告警、日志或KPI数据中的至少一项得到。也就是说,第一设备获取第二监测周期内第一候选路径的各条链路的链路健康数据,包括:第一设备获取第二监测周期内第一候选路径的各条链路的告警、日志和KPI数据中的至少一项。其中,存储有链路健康数据的记录可以存储在链路连接的至少一个网元上。由于链路健康数据能够根据不同的记录获取,链路健康数据的获取方式较为灵活。
[0102] 步骤2012,基于各个网元的网元健康数据获得各个网元的网元健康度。
[0103] 在一种可能的实现方式中,该步骤2012包括但不限于步骤20121和步骤20122。
[0104] 步骤20121,根据各个网元的网元健康数据确定各个网元的网元健康度影响因子。
[0105] 在一种可能的实现方式中,根据各个网元的网元健康数据确定各个网元的网元健康度影响因子,包括:根据第一监测周期内第一网元的网元健康数据获得第一网元的网元故障类型和第一网元的网元故障发生频次;根据第一网元的网元故障类型和第一网元的网元故障发生频次确定第一网元的网元健康度影响因子,第一网元是第一候选路径的各个网元中的任意一个网元。
[0106] 示例性地,第一网元的网元健康数据中包括第一网元的网元故障类型和网元故障发生频次。其中,网元故障发生频次包括网元故障发生的时间和次数。例如,第一监测周期内第一网元的网元健康数据包括:网元1在9:00发生1次故障1,持续时间为1min,在10:00发生1次故障2,持续时间为1min,在11:00发生一次故障1,持续时间为1min。
[0107] 示例性地,确定的网元健康度影响因子包括第一故障类型因子和第一故障概率因子,第一故障概率因子包括故障累计时长、故障累计次数或故障平均间隔时间中至少一项。在一种可能的实现方式中,故障累计时长是根据发生故障的时间点确定的时长,故障累计次数是发生的故障累计次数,故障平均间隔时间是根据多次故障的间隔时间和故障发生的次数确定的间隔时间。例如,确定的网元健康度影响因子包括:故障类型、第一时间段内故障累计时长、第一时间段内故障累计次数、第一时间段内故障平均间隔时间和第二时间段内故障累计次数;其中,第一故障类型因子包括故障类型,第一故障概率因子包括第一时间段内故障累计时长、第一时间段内故障累计次数、第一时间段内故障平均间隔时间和第二时间段内故障累计次数。
[0108] 需要说明的是,第一网元的网元健康度影响因子是根据第一监测周期内第一网元的网元健康数据确定的。对于不同的监测周期,根据该监测周期内确定的第一网元的网元健康度影响因子可能相同,也可能不同。
[0109] 步骤20122,基于各个网元的网元健康度影响因子获取各个网元的网元健康度。
[0110] 在一种可能的实现方式中,基于各个网元的网元健康度影响因子获取各个网元的网元健康度,包括但不限于如下两种方式。
[0111] 方式A,基于各个网元的网元健康度影响因子按照第一健康度算法获取各个网元的网元健康度。
[0112] 示例性地,基于各个网元的网元健康度影响因子按照第一健康度算法获取各个网元的网元健康度,包括:根据第一网元的网元健康度影响因子的健康度量结果获得网元健康度统计值,将网元健康度统计值作为第一网元的网元健康度。
[0113] 在一种可能的实现方式中,根据第一网元的网元健康度影响因子的健康度量结果获得网元健康度统计值,包括:将第一网元的各个网元健康度影响因子的健康度量结果进行累加得到网元健康度统计值。例如,网元健康度影响因子的类型和各个网元健康度影响因子的健康度量结果如表一所示。
[0114] 表一
[0115]
[0116]
[0117] 在一种可能的实现方式中,若网元出现多个故障类型,根据健康度量结果最高的故障类型获取该网元的网元健康度统计值。例如,若网元出现CPU利用率越限和单板温度越限,则采用CPU利用率越限对应的健康度量结果7获取该网元的网元健康度统计值。在另一种可能的实现方式中,若网元出现多个故障类型,根据各个故障类型的健康度量结果平均值获取该网元的网元健康度统计值。
[0118] 需要说明的是,上述表一中示出的网元健康度影响因子的类型和网元健康度影响因子的健康度量结果仅为本申请实施例举例说明的网元健康度影响因子的类型和网元健康度影响因子的健康度量结果,本申请实施例对此不加以限定。
[0119] 例如,第一网元在9:00发生1次CPU利用率越限,持续时间为1min,第一时间段为24h,第二时间段为2周;则该第一网元在第一时间段内故障累计时长为1min,故障累计次数为1次,第二时间段内故障累计次数为1次。由于网元CPU利用率越限的健康度量结果为7,
24h内故障累计时长1min的健康度量结果为6,24h内故障累计次数为1次的健康度量结果为
6,2周内故障累计次数为1次的健康度量结果为6,该第一网元的网元健康度统计值=7+6+6+6=25。
[0120] 又例如,第一网元在9:00发生1次CPU利用率越限,持续时间为3min,在9:02发生1次电源功能异常,持续时间为2min,第一时间段为24h,第二时间段为2周;则该第一网元在第一时间段内故障累计时长为4min,故障累计次数为2次,故障平均间隔时间为2min/2=1min,第二时间段内故障累计次数为2次。由于网元CPU利用率越限的健康度量结果高于电源功能异常的健康度量结果,采用网元CPU利用率越限的健康度量结果计算该第一网元的网元健康度统计值。参照表一,网元CPU利用率越限的健康度量结果为7,24h内故障累计时长4min的健康度量结果为8,24h内故障累计次数为2次的健康度量结果为8,24h内故障平均间隔时间为1min的健康度量结果为10,2周内故障累计次数为2次的健康度量结果为8,该第一网元的网元健康度统计值=7+8+8+10+8=41。
[0121] 在另一种可能的实现方式中,根据第一网元的网元健康度影响因子的健康度量结果获得网元健康度统计值,包括:将第一网元的各个网元健康度影响因子的健康度量结果与各个网元健康度影响因子的权重值之间的乘积累加,得到第一累加结果;将第一健康度参考值与第一累加结果的差值作为网元健康度统计值。
[0122] 例如,网元健康度影响因子的类型,各个网元健康度影响因子的健康度量结果以及各个网元健康度影响因子的权重如表二所示。
[0123] 表二
[0124]
[0125] 示例性地,,若网元出现多个故障类型,根据健康度量结果最高的故障类型获取该网元的网元健康度统计值,或根据各个故障类型的健康度量结果平均值获取该网元的网元健康度统计值。
[0126] 需要说明的是,上述表二中示出的网元健康度影响因子的类型、网元健康度影响因子的健康度量结果和网元健康度影响因子的权重仅为本申请实施例举例说明的网元健康度影响因子的类型、网元健康度影响因子的健康度量结果和网元健康度影响因子的权重,本申请实施例对此不加以限定。
[0127] 例如,第一时间段为24h,第二时间段为2周,第一健康度参考值为100,第一网元在24h内CPU利用率越限1次,持续时间为1min。由于网元CPU利用率越限的健康度量结果为70,权重为30%;24h内故障累计时长1min的健康度量结果为60,权重为20%;24h内故障累计次数为1次的健康度量结果为60,权重为20%;2周内故障累计次数为1次的健康度量结果为
60,权重为10%;则网元健康度统计值=100‑(70×30%+60×20%+60×20%+60×10%)=
49。
[0128] 方式B,基于各个网元的网元健康度影响因子以及第一健康度模型获取各个网元的网元健康度。
[0129] 示例性地,第一健康度模型为人工智能(artificial intelligence,AI)模型。例如,将第一网元的网元健康数据输入该第一健康度模型,根据第一网元的网元故障类型和网元故障发生频次通过第一健康度模型确定该第一网元的网元健康度影响因子,获取第一健康度模型输出的网元健康度。本申请实施例不对第一健康度模型的类型进行限定,可以是任何能够实现网元健康度的获取的AI模型。关于第一健康度模型的获取方式,包括但不限于基于训练样本对初始AI模型进行训练得到。其中,训练样本可以是已知网元健康度的网元健康数据,通过基于该训练样本对初始AI模型进行训练得到满足要求的第一健康度模型。示例性地,满足要求是指准确度达到阈值,或者训练次数达到预定次数,或者模型收敛等。通过该第一健康度模型来获取各个网元的网元健康度的效率较高。
[0130] 此外,由于网元的网元健康度可以通过第一健康度算法获取,也可以通过第一健康度模型获取,本申请实施例提供的方法获取网元的网元健康度的方式较为灵活。
[0131] 步骤2013,基于各条链路的链路健康数据获得各条链路的链路健康度。
[0132] 示例性地,若链路在当前情况下和历史情况下均未出现故障,无需基于该链路的链路健康数据获取该链路的链路健康度,该链路的链路健康度可以直接继承链路所连接的网元的网元健康度。
[0133] 在一种可能的实现方式中,该步骤2013包括但不限于步骤20131和步骤20132。
[0134] 步骤20131,根据各条链路的链路健康数据确定各条链路的链路健康度影响因子。
[0135] 在一种可能的实现方式中,根据各条链路的链路健康数据确定各条链路的链路健康度影响因子,包括:根据第二监测周期内第一链路的链路健康数据获得第一链路的链路故障类型和第一链路的链路故障发生频次;根据第一链路的链路故障类型和第一链路的链路故障发生频次确定第一链路的链路健康度影响因子,第一链路是第一候选路径的各条链路中的任意一条链路。
[0136] 示例性地,第一链路的链路健康数据中包括第一链路的链路故障类型和链路故障发生频次。其中,链路故障发生频次包括链路故障发生的时间和次数。例如,第二监测周期内第一链路的链路健康数据包括:链路A在9:00发生1次故障3,持续时间为1min,在10:00发生1次故障4,持续时间为1min,在11:00发生一次故障3,持续时间为1min。
[0137] 示例性地,确定的链路健康度影响因子包括第二故障类型因子和第二故障概率因子,第二故障概率因子包括故障累计时长、故障累计次数或故障平均间隔时间中至少一项。在一种可能的实现方式中,故障累计时长是根据发生故障的时间点确定的时长,故障累计次数是发生的故障累计次数,故障平均间隔时间是根据多次故障的间隔时间和故障发生的次数确定的间隔时间。例如,确定的链路健康度影响因子包括:故障类型、第三时间段内故障累计时长、第三时间段内故障累计次数、第三时间段内故障平均间隔时间和第四时间段内故障累计次数;其中,第二故障类型因子包括故障类型,第二故障概率因子包括第三时间段内故障累计时长、第三时间段内故障累计次数、第三时间段内故障平均间隔时间和第四时间段内故障累计次数。
[0138] 需要说明的是,第一链路的链路健康度影响因子是根据第二监测周期内第一链路的链路健康数据确定的。对于不同的监测周期,根据该监测周期内确定的第一链路的链路健康度影响因子可能相同,也可能不同。
[0139] 步骤20132,基于各条链路的链路健康度影响因子获取各条链路的链路健康度。
[0140] 在一种可能的实现方式中,基于各条链路的链路健康度影响因子获取各条链路的链路健康度,包括但不限于如下两种方式。
[0141] 方式C,基于各条链路的链路健康度影响因子按照第二健康度算法获取各条链路的链路健康度。
[0142] 示例性地,基于各条链路的链路健康度影响因子按照第二健康度算法获取各条链路的链路健康度,包括:根据第一链路的链路健康度影响因子的健康度量结果获得链路健康度统计值,将链路健康度统计值作为第一链路的链路健康度。
[0143] 在一种可能的实现方式中,根据第一链路的链路健康度影响因子的健康度量结果获得链路健康度统计值,包括:将第一链路的各个链路健康度影响因子的健康度量结果进行累加得到链路健康度统计值。例如,链路健康度影响因子的类型和各个链路健康度影响因子的健康度量结果如表三所示。
[0144] 表三
[0145]
[0146]
[0147] 在一种可能的实现方式中,若链路出现多个故障类型,根据健康度量结果最高的故障类型获取该链路的链路健康度统计值。例如,若链路出现CRC和链路震荡,则采用链路震荡对应的健康度量结果7获取该链路的链路健康度统计值。在另一种可能的实现方式中,若链路出现多个故障类型,根据各个故障类型的健康度量结果平均值获取链路的链路健康度统计值。
[0148] 需要说明的是,上述表三中示出的链路健康度影响因子的类型和链路健康度影响因子的健康度量结果仅为本申请实施例举例说明的链路健康度影响因子的类型和链路健康度影响因子的健康度量结果,本申请实施例对此不加以限定。
[0149] 例如,第一链路在9:00发生1次链路震荡,持续时间为1min,第三时间段为24h,第四时间段为2周;则该第一链路在第三时间段内故障累计时长为1min,故障累计次数为1次,第四时间段内故障累计次数为1次。由于链路震荡的健康度量结果为7,24h内故障累计时长1min的健康度量结果为6,24h内故障累计次数为1次的健康度量结果为6,2周内故障累计次数为1次的健康度量结果为6,该第一链路的链路健康度统计值=7+6+6+6=25。
[0150] 又例如,第一链路在9:00发生1次链路震荡,持续时间为3min,在9:02发生1次链路的CRC,持续时间为2min,第三时间段为24h,第四时间段为2周;则该第一链路在第三时间段内故障累计时长为4min,故障累计次数为2次,故障平均间隔时间为2min/2=1min,第四时间段内故障累计次数为2次。由于链路震荡的健康度量结果高于链路的CRC的健康度量结果,采用链路震荡的健康度量结果计算该第一链路的链路健康度统计值。参照表三,链路震荡的健康度量结果为7,24h内故障累计时长4min的健康度量结果为8,24h内故障累计次数为2次的健康度量结果为8,24h内故障平均间隔时间为1min的健康度量结果为10,2周内故障累计次数为2次的健康度量结果为8,该第一链路的链路健康度统计值=7+8+8+10+8=41。
[0151] 在另一种可能的实现方式中,根据第一链路的链路健康度影响因子的健康度量结果获得链路健康度统计值,包括:将第一链路的各个链路健康度影响因子的健康度量结果与各个链路健康度影响因子的权重值之间的乘积累加,得到第二累加结果;将第二健康度参考值与第二累加结果的差值作为链路健康度统计值。
[0152] 例如,链路健康度影响因子的类型,各个链路健康度影响因子的健康度量结果以及各个链路健康度影响因子的权重如表四所示。
[0153] 表四
[0154]
[0155]
[0156] 示例性地,若链路出现多个故障类型,根据健康度量结果最高的故障类型获取该链路的链路健康度统计值,或根据各个故障类型的健康度量结果平均值获取该链路的链路健康度统计值。
[0157] 需要说明的是,上述表四中示出的链路健康度影响因子的类型、链路健康度影响因子的健康度量结果和链路健康度影响因子的权重仅为本申请实施例举例说明的链路健康度影响因子的类型、链路健康度影响因子的健康度量结果和链路健康度影响因子的权重,本申请实施例对此不加以限定。
[0158] 例如,第三时间段为24h,第四时间段为2周,第二健康度参考值为100,第一链路在24h内发生1次链路震荡,持续时间为1min。由于链路震荡的健康度量结果为70,权重为
30%;24h内故障累计时长1min的健康度量结果为60,权重为20%;24h内故障累计次数为1次的健康度量结果为60,权重为20%;2周内故障累计次数为1次的健康度量结果为60,权重为10%;则链路健康度统计值=100‑(70×30%+60×20%+60×20%+60×10%)=49。
[0159] 方式D,基于各条链路的链路健康度影响因子以及第二健康度模型获取各条链路的链路健康度。
[0160] 示例性地,第二健康度模型为AI模型。例如,将第一链路的链路健康数据输入该第二健康度模型,根据第一链路的链路故障类型和链路故障发生频次通过第二健康度模型确定该第一链路的链路健康度影响因子,获取第二健康度模型输出的链路健康度。示例性地,第一健康度模型和第二健康度模型为相同或者不同的健康度模型。本申请实施例不对第二健康度模型的类型进行限定,可以是任何能够实现链路健康度的获取的AI模型。关于第二健康度模型的获取方式,包括但不限于基于训练样本对初始AI模型进行训练得到。其中,训练样本可以是已知链路健康度的链路健康数据,通过基于该训练样本对初始AI模型进行训练得到满足要求的第二健康度模型。示例性地,满足要求是指准确度达到阈值,或者训练次数达到预定次数,或者模型收敛等。通过该第二健康度模型来获取各条链路的链路健康度的效率较高。
[0161] 此外,由于链路的链路健康度可以通过第二健康度算法获取,也可以通过第二健康度模型获取,本申请实施例提供的方法获取链路的链路健康度的方式较为灵活。
[0162] 在一种可能的实现方式中,获取第一候选路径的路径健康度之前,第一设备获取第一监测周期内所有网元的网元健康数据和第二监测周期内所有链路的链路健康数据,根据各个网元的网元健康数据获取各个网元的网元健康度,根据各条链路的链路健康数据获取各条链路的链路健康度。其中,第一设备获取各个网元的网元健康度和各条链路的链路健康度的过程与上述方式A至方式D中的相关过程原理相同,此处不再赘述。示例性地,,第一设备获取所有网元的网元健康度和所有链路的链路健康度之后,第一设备存储所有网元的网元健康度和所有链路的链路健康度。第一设备获取第一候选路径的路径健康度,包括:第一设备获取存储的第一候选路径的各个网元的网元健康度和各条链路的链路健康度。
[0163] 需要说明的是,第一设备获取第一监测周期内所有网元的网元健康度和第二监测周期内所有链路的链路健康度的步骤可以在获取第一候选路径之前执行,也可以在获取第一候选路径之后执行,本申请实施例对此不加以限定。由于第一设备中存储有所有网元的网元健康度和所有链路的链路健康度,对于一条转发路径包括的各个网元和各条链路,第一设备可以直接获取存储的各个网元的网元健康度和各条链路的链路健康度。因此,在多条转发路径包括相同的网元和/或链路时,对于相同的网元和/或链路,无需重复根据网元的网元健康数据获取网元的网元健康度,和/或,根据链路的链路健康度数据获取链路的链路健康度的过程,该获取方式的效率更高。
[0164] 步骤2014,根据各个网元的网元健康度和各条链路的链路健康度,获取第一候选路径的路径健康度。
[0165] 在一种可能的实现方式中,步骤2014包括:将各个网元的网元健康度和各条链路的链路健康度中满足第一条件的健康度作为第一候选路径的路径健康度。
[0166] 例如,第一条件包括但不限于如下4种情况:如果数值越大表示健康度越高,则第一条件为各个网元的网元健康度和各条链路的链路健康度中的最小值;如果数值越大表示健康度越低,则第一条件为各个网元的网元健康度和各条链路的链路健康度中的最大值;或第一条件为各个网元的网元健康度和各条链路的链路健康度的平均值;或第一条件为指定网元的网元健康度和/或指定链路的链路健康度的平均值,其中,指定网元为各个网元中指定的至少一个网元,指定链路为各条链路中的指定的至少一条链路。
[0167] 例如,各个网元的网元健康度和各条链路的链路健康度如图4所示,其中,第二设备102A的网元健康度为92,第二设备102B的网元健康度为90,第二设备102C的网元健康度为100,第二设备102D的网元健康度为92,第二设备102E的网元健康度为94,第二设备102F的网元健康度为92,链路1的链路健康度为100,链路2的链路健康度为100,链路3的链路健康度为95,链路4的链路健康度为95,链路5的链路健康度为92,链路6的链路健康度为100,链路7的链路健康度为100。
[0168] 其中,第一条件为各个网元的网元健康度和各条链路的链路健康度中的最小值,则对于路径1,该路径1的路径健康度为第二设备102A的网元健康度、链路1的链路健康度、第二设备102B的网元健康度、链路2的链路健康度和第二设备102C的网元健康度中的最小值,也即路径1的路径健康度为90。类似地,路径2的路径健康度为90,路径3的路径健康度为92,路径4的路径健康度为90。需要说明的是,本申请实施例中的第一条件为其他情况时,确定第一候选路径的路径健康度的原理与上述过程原理相同,此处不再赘述。
[0169] 步骤202,根据约束信息和第一候选路径的路径健康度,确定目标转发路径,约束信息包括健康度约束信息,健康度约束信息用于指示目标转发路径的路径健康度需要满足的条件,目标转发路径的路径健康度用于指示目标转发路径的稳定性。
[0170] 在一种可能的实现方式中,如图5和图6所示,在步骤202之前,该方法还包括步骤203:获取约束信息。其中,该步骤203的执行顺序可以为图5示出的在步骤201之后执行,也可以为图6示出的在步骤201之前执行,获取约束信息的时机较为灵活。
[0171] 例如,第一设备获取用户输入的约束信息。又例如,第一设备获取业务需求,根据业务需求获取约束信息。其中,第一设备获取业务需求的方式包括但不限于:接收用户输入的业务需求,或接收其他设备发送的业务需求。示例性地,图1所示的实施场景中还包括第三设备,该第三设备与第一设备能够进行信息的交互。例如,第一设备接收第三设备发送的业务需求,进而根据接收的业务需求获取约束信息。例如,第三设备为编排器。
[0172] 在一种可能的实现方式中,业务需求包括但不限于业务优先级、传输业务数据的质量要求和传输业务数据的代价要求。其中,质量要求包括但不限于带宽要求、时延(delay)要求、丢包率要求和亲和属性要求;代价要求包括但不限于跳数限制(hop limit)要求、成本(cost)要求和必经节点要求。示例性地,一个业务优先级对应于一个健康度阈值,例如业务优先级与健康度阈值的对应关系如表五所示。
[0173] 表五
[0174]业务优先级 健康度阈值
第一优先级 90
第二优先级 85
第三优先级 80
第四优先级 75
[0175] 在上述表五中,第一优先级对应的业务优先级高于第二优先级对应的业务,健康度预置的数值越高表明业务对路径的稳定性要求越高。例如,第一优先级对应的业务是音视频业务,第一优先级对应的健康度阈值为90;第二优先级对应的业务是万维网(world wide web,WEB)访问业务,第二优先级对应的健康度阈值为85。音视频业务对转发路径的稳定性要求比WEB访问业务对转发路径的稳定性要求高,所以音视频业务对应的转发路径的健康度阈值的数值高于WEB访问业务对应的转发路径的健康度阈值的数值。通过表五可知,可以通过业务需求信息获得不同业务对路径健康度的要求,对路径健康度的要求和约束可以通过健康度阈值的数值来标识。表五中的其他业务优先级对应的健康度阈值与第一优先级对应的健康度阈值原理相同,此处不再赘述。需要说明的是,表五示出的业务优先级的类型以及各个业务优先级对应的健康度阈值仅为示例性说明,业务需求可以包括更多或更少的业务优先级类型,各个业务优先级对应的健康度阈值可以根据经验或实际需求确定,本申请对此不加以限定。
[0176] 在一种可能的实现方式中,第一设备获取的业务需求包括业务优先级,则基于该业务需求获取的约束信息包括健康度约束信息。示例性地,该健康度约束信息包括健康度阈值。其中,该健康度约束信息包括的健康度阈值为业务优先级对应的健康度阈值。例如,第一设备获取的业务需求包括业务优先级,该业务优先级为第一优先级,则基于该业务需求获取的约束信息包括健康度约束信息,其中,该健康度约束信息包括的健康度阈值为90。
[0177] 由于业务需求中还可以包括传输业务数据的质量要求或代价要求中的至少一种,因此,如果业务需求包括传输业务数据的质量要求,则获取的约束信息包括质量约束信息;如果业务需求包括传输业务数据的代价要求,则获取的约束信息包括代价约束信息。其中,质量约束信息用于约束确定的转发路径的质量,代价约束信息用于约束确定的转发路径传输业务数据所需的代价。需要说明的是,如果业务需求中包括多种质量要求,则获取的约束信息包括多种质量约束信息;如果业务需求中包括多种代价要求,则获取的约束信息包括多种代价约束信息。
[0178] 示例性地,如果质量要求包括带宽要求,则获取的质量约束信息包括带宽约束信息;如果质量要求包括时延要求,则获取的质量约束信息包括时延约束信息;如果质量要求包括丢包率要求,则获取的质量约束信息包括丢包率约束信息;如果质量要求包括亲和属性要求,则获取的质量约束信息包括亲和属性约束信息。示例性地,如果代价要求包括跳数限制要求,则获取的代价约束信息包括跳数限制约束信息;如果代价要求包括cost要求,则获取的代价约束信息包括cost约束信息;如果代价要求包括必经节点要求,则获取的代价约束信息包括必经节点约束信息。
[0179] 例如,第一设备获取的业务需求包括业务优先级和传输业务数据的带宽要求,则基于该业务需求获取的约束信息包括健康度约束信息和带宽约束信息。示例性地,带宽约束信息包括带宽阈值,该带宽阈值为根据带宽要求获取的。例如,第一设备获取的业务需求包括业务优先级和传输业务数据的带宽要求,其中,该业务优先级为第一优先级,该带宽要求为500M,则基于该业务需求获取的约束信息包括健康度约束信息和带宽约束信息,其中,健康度约束信息包括的健康度阈值为90,带宽约束信息包括的带宽阈值为500M。
[0180] 又例如,第一设备获取的业务需求包括业务优先级和传输业务数据的时延要求,则基于该业务需求获取的约束信息包括健康度约束信息和时延约束信息。示例性地,时延约束信息包括时延阈值,该时延阈值为根据时延要求获取的。例如,第一设备获取的业务需求包括业务优先级和传输业务数据的时延要求,其中,该业务优先级为第一优先级,该时延要求为100毫秒(ms),则基于该业务需求获取的约束信息包括健康度约束信息和时延约束信息,其中,健康度约束信息包括的健康度阈值为90,时延约束信息包括的时延阈值为100ms。
[0181] 又例如,第一设备获取的业务需求包括业务优先级、传输业务数据的带宽要求和传输业务数据的时延要求,则基于该业务需求获取的约束信息包括健康度约束信息、带宽约束信息和时延约束信息。例如,第一设备获取的业务需求包括业务优先级、传输业务数据的带宽要求和传输业务数据的时延要求,其中,该业务优先级为第一优先级,该带宽要求为500M,该时延要求为100毫秒(ms),则基于该业务需求获取的约束信息包括健康度约束信息、带宽约束信息和时延约束信息,其中,健康度约束信息包括的健康度阈值为90,带宽约束信息包括的带宽阈值为500M,时延约束信息包括的时延阈值为100ms。
[0182] 需要说明的是,本申请实施例不对约束信息的具体约束内容进行限定,可基于应用场景或实际应用需求来确定。由于本申请实施例的约束信息能够包括不同类型的约束信息,该约束信息的灵活性较高,基于该约束信息确定的转发路径更加满足业务需求。
[0183] 在一种可能的实现方式中,获取约束信息之后,第一设备执行根据约束信息和第一候选路径的路径健康度,确定目标转发路径的操作。
[0184] 示例性地,获取的业务需求中还包括指示信息,该指示信息用于指示源网元和目的网元。第一设备基于该指示信息获取源网元和目的网元。例如,该指示信息指示源网元为第二设备102A,目的网元为第二设备102C。关于指示信息的具体表现形式,可根据实际需要确定,本申请实施例对此不加以限定。
[0185] 在一种可能的实现方式中,根据约束信息和第一候选路径的路径健康度,确定目标转发路径,包括:如果第一候选路径的路径健康度满足健康度约束信息,将该第一候选路径作为目标转发路径。
[0186] 示例性地,第一候选路径的路径健康度满足健康度约束信息,包括:第一候选路径的路径健康度满足第二条件。示例性地,第二条件包括但不限于如下4种情况:如果数值越大表示健康度越高,则第二条件为路径健康度大于等于第一健康度阈值;如果数值越大表示健康度越低,则第二条件为路径健康度小于等于第二健康度阈值。其中,第一健康度阈值和第二健康度阈值可以根据经验或实际需求确定,本申请对此不加以限定。
[0187] 例如,数值越大表示健康度越高,第一健康度阈值为90,由于路径1的路径健康度为90,路径2的路径健康度为90,路径3的路径健康度为92,路径4的路径健康度为90,因此,路径1、路径2、路径3和路径4的路径健康度均满足健康度约束信息。
[0188] 在一种可能的实现方式中,若存在多条路径健康度满足健康度约束信息的转发路径,将该多条转发路径中路径健康度较高的转发路径作为目标转发路径。示例性地,将该多条转发路径中路径健康度最高的转发路径作为目标转发路径。例如,如图7所示,在路径1、路径2、路径3和路径4的路径健康度均满足健康度约束信息的条件下,将路径健康度最高的路径3作为目标转发路径,也即目标转发路径为:第二设备102A→第二设备102D→第二设备102E→第二设备102F→第二设备102C。示例性地,若存在多条路径健康度满足健康度约束信息的转发路径,也可以将该多条转发路径中的任一条转发路径作为目标转发路径。
[0189] 由于约束信息还可以包括质量约束信息或代价约束信息中的至少一种,因此,在一种可能的实现方式中,根据约束信息和第一候选路径的路径健康度,确定目标转发路径,包括:根据质量约束信息或代价约束信息中的至少一种、健康度约束信息和第一候选路径的路径健康度,确定目标转发路径。
[0190] 例如,根据约束信息包括的约束信息的情况,根据质量约束信息或代价约束信息中的至少一种、健康度约束信息和第一候选路径的路径健康度,确定目标转发路径包括但不限于如下三种情况。
[0191] 情况1,约束信息包括质量约束信息和健康度约束信息。
[0192] 示例性地,针对情况1,根据质量约束信息、健康度约束信息和第一候选路径的路径健康度,确定目标转发路径。其中,根据质量约束信息、健康度约束信息和第一候选路径的路径健康度,确定目标转发路径包括但不限于步骤1‑1和步骤1‑2。
[0193] 步骤1‑1,确定第一候选路径的质量信息。
[0194] 示例性地,第一设备获取第一候选路径包括的各条链路的质量信息,根据各条链路的质量信息确定第一候选路径的质量信息。
[0195] 例如,质量信息包括带宽,则第一候选路径的质量信息为第一候选路径的带宽;根据各条链路的质量信息确定第一候选路径的质量信息包括:根据各条链路的带宽确定第一候选路径的带宽。示例性地,将各条链路的带宽中的最小值确定为第一候选路径的带宽。需要说明的是,也可以采用其他方式根据各条链路的带宽确定第一候选路径的带宽,本申请实施例对此不加以限定。
[0196] 又例如,质量信息包括时延,则第一候选路径的质量信息为第一候选路径的时延;根据各条链路的质量信息确定第一候选路径的质量信息包括:根据各条链路的时延确定第一候选路径的时延。示例性地,将各条链路的时延的和确定为第一候选路径的时延。需要说明的是,也可以采用其他方式根据各条链路的时延确定第一候选路径的时延,本申请实施例对此不加以限定。
[0197] 步骤1‑2,如果第一候选路径的路径健康度满足健康度约束信息且质量信息满足质量约束信息,将第一候选路径作为目标转发路径。
[0198] 其中,确定第一候选路径的路径健康度满足健康度约束信息的过程与前文中的确定第一候选路径的路径健康度满足健康度约束信息的过程原理相同,此处不再赘述。示例性地,第一候选路径的质量信息满足质量约束信息包括:第一候选路径的质量信息满足第三条件。例如,若质量信息为带宽,第三条件为第一候选路径的带宽大于等于带宽阈值;若质量信息为时延,第三条件为第一候选路径的时延小于等于时延阈值。
[0199] 情况2,约束信息包括代价约束信息和健康度约束信息。
[0200] 示例性地,针对情况2,根据代价约束信息、健康度约束信息和第一候选路径的路径健康度,确定目标转发路径。其中,根据代价约束信息、健康度约束信息和第一候选路径的路径健康度,确定目标转发路径包括但不限于步骤2‑1和步骤2‑2。
[0201] 步骤2‑1,确定第一候选路径的代价信息。
[0202] 示例性地,第一设备获取第一候选路径包括的各条链路的代价信息,根据各条链路的代价信息确定第一候选路径的代价信息。
[0203] 例如,代价信息为cost,则第一候选路径的代价信息为第一候选路径的cost;根据各条链路的代价信息确定第一候选路径的代价信息包括:根据各条链路的cost确定第一候选路径的cost。示例性地,将各条链路的cost的和确定为第一候选路径的cost。需要说明的是,也可以采用其他方式根据各条链路的cost确定第一候选路径的cost,本申请实施例对此不加以限定。
[0204] 步骤2‑2,如果第一候选路径的路径健康度满足健康度约束信息且代价信息满足代价约束信息,将第一候选路径作为目标转发路径。
[0205] 其中,确定第一候选路径的路径健康度满足健康度约束信息的过程与前文中的确定第一候选路径的路径健康度满足健康度约束信息的过程原理相同,此处不再赘述。示例性地,第一候选路径的代价信息满足代价约束信息包括:第一候选路径的代价信息满足第四条件。例如,若代价信息为cost,第四条件为第一候选路径的cost小于等于cost阈值。
[0206] 情况3,约束信息包括质量约束信息、代价约束信息和健康度约束信息。
[0207] 示例性地,针对情况3,根据质量约束信息、代价约束信息、健康度约束信息和第一候选路径的路径健康度,确定目标转发路径。其中,根据质量约束信息、代价约束信息、健康度约束信息和第一候选路径的路径健康度,确定目标转发路径包括但不限于步骤3‑1和步骤3‑2。
[0208] 步骤3‑1,确定第一候选路径的质量信息和第一候选路径的代价信息。
[0209] 其中,确定第一候选路径的质量信息的过程和情况1中的相关过程原理相同,确定第一候选路径的代价信息的过程和情况2中的相关过程原理相同,此处不再赘述。
[0210] 步骤3‑2,如果第一候选路径的路径健康度满足健康度约束信息、质量信息满足质量约束信息且代价信息满足代价约束信息,将第一候选路径作为目标转发路径。
[0211] 其中,确定第一候选路径的路径健康度满足健康度约束信息的过程与前文中的确定第一候选路径的路径健康度满足健康度约束信息的过程原理相同,确定质量信息满足质量约束信息的相关过程与情况1中的相关过程原理相同,确定代价信息满足代价约束信息的相关过程与情况2中的相关过程原理相同,此处不再赘述。
[0212] 例如,如图8所示,质量信息包括带宽和时延,链路1至链路7的带宽均为10G,则路径1至路径4的带宽均为10G。链路1的时延为10ms,链路2的时延为10ms,链路3的时延为10ms,链路4的时延为100ms,链路5的时延为10ms,链路6的时延为10ms,链路7的时延为
10ms,则路径1的时延为20ms,路径2的时延为130ms,路径3的时延为40ms,路径4的时延为
130ms。响应于第三条件包括第一候选路径的带宽大于等于带宽阈值和第一候选路径的时延小于等于时延阈值,其中,带宽阈值为500M,时延阈值为100ms,路径1和路径3的质量信息均满足质量约束信息。又由于路径1的路径健康度为90,路径2的路径健康度为90,路径3的路径健康度为92,路径4的路径健康度为90,因此响应于第一条件包括第一候选路径的路径健康度大于等于第一健康度阈值,第一健康度阈值为90,该路径1至路径4的路径健康度均满足健康度约束信息。
[0213] 综上,路径1和路径3为路径健康度满足健康度约束信息、质量信息满足质量约束信息且代价信息满足代价约束信息的转发路径。示例性地,将路径健康度最高的路径3作为目标转发路径。
[0214] 需要说明的是,无论是上述哪种情况,判断路径健康度是否满足健康度约束信息、质量信息是否满足质量约束信息和代价信息是否满足代价约束信息的过程可以同时执行,也可以先判断是否满足某一种约束信息,在满足该种约束信息的情况下判断是否满足下一种约束信息。本申请实施例对判断路径健康度是否满足健康度约束信息、质量信息是否满足质量约束信息和代价信息是否满足代价约束信息的过程的顺序不加以限定。通过将路径健康度满足健康度约束信息的转发路径作为目标转发路径,能够确定稳定性较高的转发路径,保证业务数据的稳定传输。
[0215] 在一种可能的实现方式中,如图9所示,在步骤202之后,该路径确定方法还包括:
[0216] 步骤204,向第二设备发送目标转发路径,目标转发路径用于第二设备转发业务数据。
[0217] 在一种可能的实现方式中,第一设备根据健康度约束信息获得目标转发路径,并将与目标转发路径严格对应的标签信息下发给第二设备,第二设备根据标签信息对业务报文进行转发。该第二设备为源网元或转发路径包括的所有网元。
[0218] 示例性地,第一设备通过BGP SR Policy协议向第二设备发送转发路径。例如,路径3为目标转发路径,因此,第一设备通过BGP SR Policy协议向第二设备102A、第二设备102D、第二设备102E、第二设备102F和第二设备102C发送目标转发路径。
[0219] 在一种可能的实现方式中,在步骤202之后,该方法还包括:更新目标转发路径。其中,更新目标转发路径的方式包括但不限于如下三种方式。
[0220] 方式1,根据转发路径的路径健康度变化,更新目标转发路径。
[0221] 示例性地,该方式1包括但不限于步骤4‑1和步骤4‑2。
[0222] 步骤4‑1,监测目标转发路径的路径健康度。
[0223] 在一种可能的实现方式中,第一设备中存储目标转发路径的路径健康度,第一设备周期性重新执行获取目标转发路径的路径健康度的过程,响应于重新获取的目标转发路径的路径健康度与存储的路径健康度不同,该目标转发路径的路径健康度发生变化。例如,如图10所示,目标转发路径为路径3,由于该目标转发路径包括的第二设备102E的网元健康度变为70,因此监测到的目标转发路径的路径健康度变为70。
[0224] 步骤4‑2,如果路径健康度不满足健康度约束信息,根据健康度约束信息,更新目标转发路径。
[0225] 在一种可能的实现方式中,根据健康度约束信息,更新目标转发路径,包括:重新执行获取第一候选路径的路径健康度,根据健康度约束信息和第一候选路径的路径健康度,确定目标转发路径的步骤;将重新确定的目标转发路径作为更新的目标转发路径。
[0226] 示例性地,根据健康度约束信息,更新目标转发路径,包括:重新获取上一次获取的转发路径中除目标转发路径外其余的满足健康度约束信息的转发路径的路径健康度;如果该转发路径的路径健康度满足健康度约束信息,将该转发路径作为更新的目标转发路径;如果该转发路径的路径健康度不满足健康度约束信息,重新执行获取第一候选路径的路径健康度,根据健康度约束信息和第一候选路径的路径健康度,确定目标转发路径的步骤。
[0227] 例如,上一次获取的转发路径中除目标转发路径外的满足健康度约束信息的转发路径为路径1,重新获取该路径1的路径健康度,如果该路径1的路径健康度满足健康度约束信息,将路径1作为更新的目标转发路径。由于上一次能够满足健康度约束信息的转发路径的路径健康度仍能满足健康度约束信息的概率较高,该更新目标转发路径的效率较高。例如,如图10所示,更新后的目标转发路径为路径1。
[0228] 方式2,根据接收的更新转发路径的消息,更新目标转发路径。
[0229] 在一种可能的实现方式中,确定目标转发路径之后,该方法还包括:接收更新转发路径的消息,该更新转发路径的消息用于指示更新目标转发路径。示例性地,该更新转发路径的消息可以为第三设备周期性发送的消息。
[0230] 示例性地,在接收更新转发路径的消息之后,第一设备执行更新目标转发路径的操作。例如,响应于该更新转发路径的消息,第一设备根据健康度约束信息,更新目标转发路径。
[0231] 其中,该根据健康度约束信息,更新目标转发路径的步骤与步骤201中的获取第一候选路径的路径健康度,和步骤202中的根据约束信息和第一候选路径的路径健康度,确定目标转发路径的相关过程原理相同,此处不再赘述。由于响应于更新转发路径的消息,更新目标转发路径,该更新后的目标转发路径可以为路径健康度满足健康度约束信息的转发路径中路径健康度较高的转发路径,也就是说,该方法能够保持业务数据按照路径健康度较高的转发路径进行传输,按照该转发路径传输业务数据的稳定性高。
[0232] 方式3,按照第一时间周期,根据健康度约束信息更新目标转发路径。
[0233] 示例性地,第一时间周期可以为根据经验或实际需求设置的时间周期,本申请实施例对此不加以限定。例如,第一时间周期为1周,也即,第一设备每1周根据健康度约束信息更新一次目标转发路径。
[0234] 其中,根据健康度约束信息更新目标转发路径的步骤与步骤201中的获取第一候选路径的路径健康度,和步骤202中的根据约束信息和第一候选路径的路径健康度,确定目标转发路径的相关过程原理相同,此处不再赘述。由于按照第一时间周期更新目标转发路径,该更新后的目标转发路径可以为路径健康度满足健康度约束信息的转发路径中路径健康度较高的转发路径,该方法能够保持业务数据按照路径健康度较高的转发路径进行传输,按照该转发路径传输业务数据的稳定性高。
[0235] 需要说明的是,无论采用上述三种方式中的哪一种方式更新目标转发路径,更新目标转发路径后,该路径确定方法还包括:根据先建后断机制(make before break,MBB),由更新前的目标转发路径切换至更新后的目标转发路径。例如,更新前的目标转发路径为路径3,更新后的目标转发路径为路径1,先建立路径1再断开路径3,实现由路径3切换至路径1。根据MBB进行路径切换,能够保证在路径切换时的业务数据的传输,避免丢失业务数据。
[0236] 上述步骤201至步骤204均为第一设备侧执行路径确定的过程,请继续参照图9,接下来,以第二设备侧为例,对该路径确定方法进行说明。
[0237] 步骤205,接收源网元至目的网元之间的目标转发路径。
[0238] 其中,目标转发路径基于约束信息和第一候选路径的路径健康度确定,第一候选路径为源网元至目的网元之间的一条转发路径;其中,第一候选路径的路径健康度是基于第一候选路径包括的各个网元的网元健康度和各条链路的链路健康度得到,网元健康度是基于第一监测周期内的网元故障类型和网元故障发生频次确定的,链路健康度是基于第二监测周期内的链路故障类型和链路故障发生频次确定的,约束信息包括健康度约束信息,健康度约束信息用于指示目标转发路径的路径健康度需要满足的条件,目标转发路径的路径健康度用于指示目标转发路径的稳定性。示例性地,第二设备根据BGP SR Policy协议接收源网元至目的网元之间的目标转发路径。
[0239] 步骤206,根据该目标转发路径转发业务数据。
[0240] 在一种可能的实现方式中,根据目标转发路径转发业务数据之后,该路径确定方法还包括:接收更新后的目标转发路径;根据更新后的目标转发路径转发业务数据。示例性地,第二设备根据BGP SR Policy协议接收更新后的目标转发路径。
[0241] 本申请实施例提供的方法,通过获取源网元至目的网元的转发路径的路径健康度,进而根据健康度约束信息和转发路径的路径健康度确定路径健康度满足条件的目标转发路径,以确定稳定性较高的转发路径,保证业务数据的稳定传输。并且,由于该转发路径的稳定性较高,业务数据传输时切换转发路径的概率较低,降低了路径切换时丢失业务数据的概率,进一步保证了业务数据的稳定传输。
[0242] 此外,由于本申请实施例提供的方案能够更新目标转发路径,当原有目标转发路径的稳定性下降时,可以对目标转发路径进行更新,使业务数据按照更新后的目标转发路径进行传输,保证业务数据的传输稳定性。
[0243] 图11是本申请实施例提供的一种路径确定装置的结构示意图,该装置应用于第一设备,该第一设备为上述图2‑10所示的第一设备。基于图11所示的如下多个模块,该图11所示的路径确定装置能够执行第一设备所执行的全部或部分操作。应理解到,该装置可以包括比所示模块更多的附加模块或者省略其中所示的一部分模块,本申请实施例对此并不进行限制。
[0244] 如图11所示,该装置包括:
[0245] 获取模块1101,用于获取第一候选路径的路径健康度,第一候选路径为源网元至目的网元之间的一条转发路径,第一候选路径的路径健康度是基于第一候选路径包括的各个网元的网元健康度和各条链路的链路健康度得到;其中,网元健康度是基于第一监测周期内的网元故障类型和网元故障发生频次确定的,链路健康度是基于第二监测周期内的链路故障类型和链路故障发生频次确定的;
[0246] 确定模块1102,用于根据约束信息和第一候选路径的路径健康度,确定目标转发路径,约束信息包括健康度约束信息,健康度约束信息用于指示目标转发路径的路径健康度需要满足的条件,目标转发路径的路径健康度用于指示目标转发路径的稳定性。
[0247] 在一种可能的实现方式中,获取模块1101,还用于获取约束信息。
[0248] 在一种可能的实现方式中,获取模块1101,用于获取第一监测周期内第一候选路径的各个网元的网元健康数据,网元健康数据用于指示网元的故障信息;获取第二监测周期内第一候选路径的各条链路的链路健康数据,链路健康数据用于指示链路的故障信息;基于各个网元的网元健康数据获得各个网元的网元健康度;基于各条链路的链路健康数据获得各条链路的链路健康度;根据各个网元的网元健康度和各条链路的链路健康度,获取第一候选路径的路径健康度。
[0249] 在一种可能的实现方式中,获取模块1101,用于根据各个网元的网元健康数据确定各个网元的网元健康度影响因子;基于各个网元的网元健康度影响因子获取各个网元的网元健康度;根据各条链路的链路健康数据确定各条链路的链路健康度影响因子;基于各条链路的链路健康度影响因子获取各条链路的链路健康度。
[0250] 在一种可能的实现方式中,获取模块1101,用于根据第一监测周期内第一网元的网元健康数据获得第一网元的网元故障类型和第一网元的网元故障发生频次;根据第一网元的网元故障类型和第一网元的网元故障发生频次确定第一网元的网元健康度影响因子,第一网元是第一候选路径的各个网元中的任意一个网元;根据第二监测周期内第一链路的链路健康数据获得第一链路的链路故障类型和第一链路的链路故障发生频次;根据第一链路的链路故障类型和第一链路的链路故障发生频次确定第一链路的链路健康度影响因子,第一链路是第一候选路径的各条链路中的任意一条链路。
[0251] 在一种可能的实现方式中,获取模块1101,用于基于各个网元的网元健康度影响因子按照第一健康度算法获取各个网元的网元健康度;基于各条链路的链路健康度影响因子按照第二健康度算法获取所述各条链路的链路健康度。
[0252] 在一种可能的实现方式中,获取模块1101,用于基于各个网元的网元健康度影响因子以及第一健康度模型获取各个网元的网元健康度;基于各条链路的链路健康度影响因子以及第二健康度模型获取各条链路的链路健康度。
[0253] 在一种可能的实现方式中,第一健康度模型和第二健康度模型为AI模型。
[0254] 在一种可能的实现方式中,获取模块1101,用于根据第一网元的网元健康度影响因子的健康度量结果获得网元健康度统计值,将网元健康度统计值作为第一网元的网元健康度;根据第一链路的链路健康度影响因子的健康度量结果获得链路健康度统计值,将链路健康度统计值作为第一链路的链路健康度。
[0255] 在一种可能的实现方式中,获取模块1101,用于将第一网元的各个网元健康度影响因子的健康度量结果进行累加得到网元健康度统计值;将第一链路的各个链路健康度影响因子的健康度量结果进行累加得到链路健康度统计值。
[0256] 在一种可能的实现方式中,获取模块1101,用于将第一网元的各个网元健康度影响因子的健康度量结果与各个网元健康度影响因子的权重值之间的乘积累加,得到第一累加结果;将第一健康度参考值与第一累加结果的差值作为网元健康度统计值;将第一链路的各个链路健康度影响因子的健康度量结果与各个链路健康度影响因子的权重值之间的乘积累加,得到第二累加结果;将第二健康度参考值与第二累加结果的差值作为链路健康度统计值。
[0257] 在一种可能的实现方式中,各个网元的网元健康数据基于各个网元的告警、日志或KPI数据中的至少一项得到,各条链路的链路健康数据基于各条链路的告警、日志或KPI数据中的至少一项得到。由于网元健康数据和链路健康数据能够根据不同的记录获取,网元健康数据和链路健康数据的获取方式较为灵活。
[0258] 在一种可能的实现方式中,网元健康度影响因子包括第一故障类型因子和第一故障概率因子,链路健康度影响因子包括第二故障类型因子和第二故障概率因子,第一故障概率因子包括故障累计时长、故障累计次数或故障平均间隔时间中的至少一项,第二故障概率因子包括故障累计时长、故障累计次数或故障平均间隔时间中的至少一项。
[0259] 在一种可能的实现方式中,获取模块1101,用于将各个网元的网元健康度和各条链路的链路健康度中满足第一条件的健康度作为第一候选路径的路径健康度。
[0260] 在一种可能的实现方式中,确定模块1102,用于如果第一候选路径的路径健康度满足健康度约束信息,将第一候选路径作为目标转发路径。
[0261] 在一种可能的实现方式中,第一候选路径的路径健康度满足健康度约束信息,包括:第一候选路径的路径健康度满足第二条件。
[0262] 在一种可能的实现方式中,该装置还包括:发送模块,用于向第二设备发送目标转发路径,目标转发路径用于第二设备转发业务数据;和/或,第一更新模块,用于监测目标转发路径的路径健康度;如果路径健康度不满足健康度约束信息,根据健康度约束信息,更新目标转发路径。
[0263] 在一种可能的实现方式中,该装置还包括:第二更新模块,用于接收更新转发路径的消息,更新转发路径的消息用于指示更新目标转发路径。
[0264] 在一种可能的实现方式中,该装置还包括:第三更新模块,用于按照第一时间周期,根据健康度约束信息更新目标转发路径。
[0265] 在一种可能的实现方式中,该装置还包括:切换模块,用于根据MBB,由更新前的目标转发路径切换至更新后的目标转发路径。
[0266] 在一种可能的实现方式中,约束信息还包括质量约束信息或代价约束信息中的至少一种,质量约束信息用于约束确定的转发路径的质量,代价约束信息用于约束确定的转发路径传输业务数据所需的代价;确定模块1102,用于根据质量约束信息或代价约束信息中的至少一种、健康度约束信息和第一候选路径的路径健康度,确定目标转发路径。
[0267] 图12是本申请实施例提供的一种路径确定装置的结构示意图,该装置应用于第二设备,该第二设备为上述图3‑4,7‑10所示的第二设备。基于图12所示的如下多个模块,该图12所示的路径确定装置能够执行第二设备所执行的全部或部分操作。应理解到,该装置可以包括比所示模块更多的附加模块或者省略其中所示的一部分模块,本申请实施例对此并不进行限制。如图12所示,该装置包括:
[0268] 接收模块1201,用于接收源网元至目的网元之间的目标转发路径,目标转发路径基于约束信息和第一候选路径的路径健康度确定,第一候选路径为源网元至目的网元之间的一条转发路径;其中,第一候选路径的路径健康度是基于第一候选路径包括的各个网元的网元健康度和各条链路的链路健康度得到,网元健康度是基于第一监测周期内的网元故障类型和网元故障发生频次确定的,链路健康度是基于第二监测周期内的链路故障类型和链路故障发生频次确定的,约束信息包括健康度约束信息,健康度约束信息用于指示目标转发路径的路径健康度需要满足的条件,目标转发路径的路径健康度用于指示目标转发路径的稳定性;
[0269] 发送模块1202,用于根据目标转发路径转发业务数据。
[0270] 在一种可能的实现方式中,该装置还包括:更新模块,用于接收更新后的目标转发路径;根据更新后的目标转发路径转发业务数据。
[0271] 应理解的是,上述图11和图12提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0272] 参见图13,图13示出了本申请一个示例性实施例提供的路径确定设备2000的结构示意图。图13所示的路径确定设备2000用于执行上述图2‑10所示的路径确定方法所涉及的操作。该路径确定设备2000例如是交换机、路由器等,该路径确定设备2000可以由一般性的总线体系结构来实现。
[0273] 如图13所示,路径确定设备2000包括至少一个处理器2001、存储器2003以及至少一个通信接口2004。
[0274] 处理器2001例如是通用中央处理器(central processing unit,CPU)、数字信号处理器(digital signal processor,DSP)、网络处理器(network processer,NP)、图形处理器(graphics processing unit,GPU)、神经网络处理器(neural‑network processing units,NPU)、数据处理单元(data processing unit,DPU)、微处理器或者一个或多个用于实现本申请方案的集成电路。例如,处理器2001包括专用集成电路(application‑specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。PLD例如是复杂可编程逻辑器件(complex programmable logic device,CPLD)、现场可编程逻辑门阵列(field‑programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合。其可以实现或执行结合本发明实施例公开内容所描述的各种逻辑方框、模块和电路。该处理器也可以是实现计算功能的组合,例如包括一个或多个微处理器组合,DSP和微处理器的组合等等。
[0275] 可选的,路径确定设备2000还包括总线。总线用于在路径确定设备2000的各组件之间传送信息。总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图13中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0276] 存储器2003例如是只读存储器(read‑only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,又如是随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,又如是电可擦可编程只读存储器(electrically erasable programmable read‑only memory,EEPROM)、只读光盘(compact disc read‑only memory,CD‑ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器2003例如是独立存在,并通过总线与处理器2001相连接。存储器2003也可以和处理器2001集成在一起。
[0277] 通信接口2004使用任何收发器一类的装置,用于与其它设备或通信网络通信,通信网络可以为以太网、无线接入网(RAN)或无线局域网(wireless local area network,WLAN)等。通信接口2004可以包括有线通信接口,还可以包括无线通信接口。具体的,通信接口2004可以为以太(ethernet)接口、快速以太(fast ethernet,FE)接口、千兆以太(gigabit ethernet,GE)接口,异步传输模式(asynchronous transfer mode,ATM)接口,无线局域网(wireless local area networks,WLAN)接口,蜂窝网络通信接口或其组合。以太网接口可以是光接口,电接口或其组合。在本申请实施例中,通信接口2004可以用于路径确定设备2000与其他设备进行通信。
[0278] 在具体实现中,作为一种实施例,处理器2001可以包括一个或多个CPU,如图13中所示的CPU0和CPU1。这些处理器中的每一个可以是一个单核(single‑CPU)处理器,也可以是一个多核(multi‑CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
[0279] 在具体实现中,作为一种实施例,路径确定设备2000可以包括多个处理器,如图13中所示的处理器2001和处理器2005。这些处理器中的每一个可以是一个单核处理器(single‑CPU),也可以是一个多核处理器(multi‑CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
[0280] 在具体实现中,作为一种实施例,路径确定设备2000还可以包括输出设备和输入设备。输出设备和处理器2001通信,可以以多种方式来显示信息。例如,输出设备可以是液晶显示器(liquid crystal display,LCD)、发光二级管(light emitting diode,LED)显示设备、阴极射线管(cathode ray tube,CRT)显示设备或投影仪(projector)等。输入设备和处理器2001通信,可以以多种方式接收用户的输入。例如,输入设备可以是鼠标、键盘、触摸屏设备或传感设备等。
[0281] 在一些实施例中,存储器2003用于存储执行本申请方案的程序代码2010,处理器2001可以执行存储器2003中存储的程序代码2010。也即是,路径确定设备2000可以通过处理器2001以及存储器2003中的程序代码2010,来实现方法实施例提供的路径确定方法。程序代码2010中可以包括一个或多个软件模块。可选地,处理器2001自身也可以存储执行本申请方案的程序代码或指令。
[0282] 在具体实施例中,本申请实施例的路径确定设备2000可对应于上述各个路径确定方法实施例中的路径确定设备,路径确定设备2000中的处理器2001读取存储器2003中的指令,使图13所示的路径确定设备2000能够执行路径确定设备所执行的全部或部分操作。
[0283] 路径确定设备2000还可以对应于上述图11‑12所示的路径确定装置,路径确定装置中的每个功能模块采用路径确定设备2000的软件实现。换句话说,路径确定装置中包括的功能模块为路径确定设备2000的处理器2001读取存储器2003中存储的程序代码2010后生成的。
[0284] 其中,图2‑10所示的路径确定方法的各步骤通过路径确定设备2000的处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤,为避免重复,这里不再详细描述。
[0285] 参见图14,图14示出了本申请另一个示例性实施例提供的路径确定设备2100的结构示意图。图14所示的路径确定设备2100用于执行上述图2‑10所示的路径确定方法所涉及的全部或部分操作。该路径确定设备2100例如是交换机、路由器等,该路径确定设备2100可以由一般性的总线体系结构来实现。
[0286] 如图14所示,路径确定设备2100包括:主控板2110和接口板2130。
[0287] 主控板也称为主处理单元(main processing unit,MPU)或路由处理卡(route processor card),主控板2110用于对路径确定设备2100中各个组件的控制和管理,包括路由计算、设备管理、设备维护、协议处理功能。主控板2110包括:中央处理器2111和存储器2112。
[0288] 接口板2130也称为线路接口单元卡(line processing unit,LPU)、线卡(line card)或业务板。接口板2130用于提供各种业务接口并实现数据包的转发。业务接口包括而不限于以太网接口、POS(packet over SONET/SDH)接口等,以太网接口例如是灵活以太网业务接口(flexible ethernet clients,FlexE Clients)。接口板2130包括:中央处理器2131网络处理器2132、转发表项存储器2134和物理接口卡(physical interface card,PIC)2133。
[0289] 接口板2130上的中央处理器2131用于对接口板2130进行控制管理并与主控板2110上的中央处理器2111进行通信。
[0290] 网络处理器2132用于实现报文的转发处理。网络处理器2132的形态可以是转发芯片。转发芯片可以是网络处理器(network processor,NP)。在一些实施例中,转发芯片可以通过专用集成电路(application‑specific integrated circuit,ASIC)或现场可编程门阵列(field programmable gate array,FPGA)实现。具体而言,网络处理器2132用于基于转发表项存储器2134保存的转发表转发接收到的报文,如果报文的目的地址为路径确定设备2100的地址,则将该报文上送至CPU(如中央处理器2131)处理;如果报文的目的地址不是路径确定设备2100的地址,则根据该目的地址从转发表中查找到该目的地址对应的下一跳和出接口,将该报文转发到该目的地址对应的出接口。其中,上行报文的处理可以包括:报文入接口的处理,转发表查找;下行报文的处理可以包括:转发表查找等等。在一些实施例中,中央处理器也可执行转发芯片的功能,比如基于通用CPU实现软件转发,从而接口板中不需要转发芯片。
[0291] 物理接口卡2133用于实现物理层的对接功能,原始的流量由此进入接口板2130,以及处理后的报文从该物理接口卡2133发出。物理接口卡2133也称为子卡,可安装在接口板2130上,负责将光电信号转换为报文并对报文进行合法性检查后转发给网络处理器2132处理。在一些实施例中,中央处理器2131也可执行网络处理器2132的功能,比如基于通用CPU实现软件转发,从而物理接口卡2133中不需要网络处理器2132。
[0292] 示例性地,路径确定设备2100包括多个接口板,例如路径确定设备2100还包括接口板2140,接口板2140包括:中央处理器2141、网络处理器2142、转发表项存储器2144和物理接口卡2143。接口板2140中各部件的功能和实现方式与接口板2130相同或相似,在此不再赘述。
[0293] 示例性地,路径确定设备2100还包括交换网板2120。交换网板2120也可以称为交换网板单元(switch fabric unit,SFU)。在路径确定设备有多个接口板的情况下,交换网板2120用于完成各接口板之间的数据交换。例如,接口板2130和接口板2140之间可以通过交换网板2120通信。
[0294] 主控板2110和接口板耦合。例如。主控板2110、接口板2130和接口板2140,以及交换网板2120之间通过系统总线与系统背板相连实现互通。在一种可能的实现方式中,主控板2110和接口板2130及接口板2140之间建立进程间通信协议(inter‑process communication,IPC)通道,主控板2110和接口板2130及接口板2140之间通过IPC通道进行通信。
[0295] 在逻辑上,路径确定设备2100包括控制面和转发面,控制面包括主控板2110和中央处理器2111,转发面包括执行转发的各个组件,比如转发表项存储器2134、物理接口卡2133和网络处理器2132。控制面执行路由器、生成转发表、处理信令和协议报文、配置与维护网络设备的状态等功能,控制面将生成的转发表下发给转发面,在转发面,网络处理器
2132基于控制面下发的转发表对物理接口卡2133收到的报文查表转发。控制面下发的转发表可以保存在转发表项存储器2134中。在有些实施例中,控制面和转发面可以完全分离,不在同一网络设备上。
[0296] 值得说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,路径确定设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,路径确定设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,路径确定设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的路径确定设备的数据接入和处理能力要大于集中式架构的路径确定设备。示例性地,路径确定设备的形态也可以是只有一块板卡,即没有交换网板,接口板和主控板的功能集成在该一块板卡上,此时接口板上的中央处理器和主控板上的中央处理器在该一块板卡上可以合并为一个中央处理器,执行两者叠加后的功能,这种形态路径确定设备的数据交换和处理能力较低(例如,低端交换机或路由器等网络设备)。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
[0297] 在具体实施例中,路径确定设备2100对应于上述图11所示的应用于第一设备的路径确定装置。在一些实施例中,图11所示的路径确定装置中的获取模块1101相当于路径确定设备2100中的物理接口卡2133;确定模块1102相当于路径确定设备2100中的中央处理器2111或网络处理器2132。
[0298] 在一些实施例中,路径确定设备2100还对应于上述图12所示的应用于第二设备的路径确定装置。在一些实施例中,图12所示的路径确定装置中的接收模块1201相当于路径确定设备2100中的物理接口卡2133;发送模块1202相当于路径确定设备2100中的中央处理器2111或网络处理器2132。
[0299] 基于上述图13及图14所示的路径确定设备,本申请实施例还提供了一种路径确定系统,该系统包括:第一设备和第二设备。可选的,第一设备为图13所示的路径确定设备2000或图14所示的路径确定设备2100,第二设备为图13所示的路径确定设备2000或图14所示的路径确定设备2100。
[0300] 路径确定设备所执行的路径确定方法可参见上述图2‑10所示实施例的相关描述,此处不再加以赘述。
[0301] 本申请实施例还提供了一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行控制设备所需执行的路径确定方法。
[0302] 本申请实施例还提供了一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行显示界面所需执行的路径确定方法。
[0303] 应理解的是,上述处理器可以是中央处理器(central processing unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field‑programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(advanced RISC machines,ARM)架构的处理器。
[0304] 进一步地,在一种可选的实施例中,上述存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。
[0305] 该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read‑only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用。例如,静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic random access memory,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data date SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
[0306] 本申请实施例还提供了一种计算机可读存储介质,存储介质中存储有至少一条指令,指令由处理器加载并执行以实现如上任一所述的路径确定方法。
[0307] 本申请实施例还提供了一种计算机程序(产品),当计算机程序被计算机执行时,可以使得处理器或计算机执行上述方法实施例中对应的路径确定方法的各个步骤和/或流程。
[0308] 本申请实施例还提供了一种芯片,包括处理器,用于从存储器中调用并运行所述存储器中存储的指令,使得安装有所述芯片的通信设备执行上述各方面中的路径确定方法。
[0309] 本申请实施例还提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,所述输入接口、输出接口、所述处理器以及所述存储器之间通过内部连接通路相连,所述处理器用于执行所述存储器中的代码,当所述代码被执行时,所述处理器用于执行上述各方面中的路径确定方法。
[0310] 在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘solid state disk)等。
[0311] 本领域普通技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步骤和模块,能够以软件、硬件、固件或者其任意组合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0312] 本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0313] 当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机程序指令。作为示例,本申请实施例的方法可以在机器可执行指令的上下文中被描述,机器可执行指令诸如包括在目标的真实或者虚拟处理器上的器件中执行的程序模块中。一般而言,程序模块包括例程、程序、库、对象、类、组件、数据结构等,其执行特定的任务或者实现特定的抽象数据结构。在各实施例中,程序模块的功能可以在所描述的程序模块之间合并或者分割。用于程序模块的机器可执行指令可以在本地或者分布式设备内执行。在分布式设备中,程序模块可以位于本地和远程存储介质二者中。
[0314] 用于实现本申请实施例的方法的计算机程序代码可以用一种或多种编程语言编写。这些计算机程序代码可以提供给通用计算机、专用计算机或其他可编程的数据处理装置的处理器,使得程序代码在被计算机或其他可编程的数据处理装置执行的时候,引起在流程图和/或框图中规定的功能/操作被实施。程序代码可以完全在计算机上、部分在计算机上、作为独立的软件包、部分在计算机上且部分在远程计算机上或完全在远程计算机或服务器上执行。
[0315] 在本申请实施例的上下文中,计算机程序代码或者相关数据可以由任意适当载体承载,以使得设备、装置或者处理器能够执行上文描述的各种处理和操作。载体的示例包括信号、计算机可读介质等等。
[0316] 信号的示例可以包括电、光、无线电、声音或其它形式的传播信号,诸如载波、红外信号等。
[0317] 机器可读介质可以是包含或存储用于或有关于指令执行系统、装置或设备的程序的任何有形介质。机器可读介质可以是机器可读信号介质或机器可读存储介质。机器可读介质可以包括但不限于电子的、磁的、光学的、电磁的、红外的或半导体系统、装置或设备,或其任意合适的组合。机器可读存储介质的更详细示例包括带有一根或多根导线的电气连接、便携式计算机磁盘、硬盘、随机存储存取器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光存储设备、磁存储设备,或其任意合适的组合。
[0318] 所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、设备和模块的具体工作过程,可以参见前述方法实施例中的对应过程,在此不再赘述。
[0319] 在本申请所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、设备或模块的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
[0320] 该作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请实施例方案的目的。
[0321] 另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以是两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
[0322] 该集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例中方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read‑only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0323] 本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。这些术语只是用于将一元素与另一元素区别分开。
[0324] 还应理解,在本申请的各个实施例中,各个过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
[0325] 本申请中术语“至少一个”的含义是指一个或多个,本申请中术语“多个”的含义是指两个或两个以上,例如,多个第二设备是指两个或两个以上的第二设备。本文中术语“系统”和“网络”经常可互换使用。
[0326] 应理解,在本文中对各种所述示例的描述中所使用的术语只是为了描述特定示例,而并非旨在进行限制。如在对各种所述示例的描述和所附权利要求书中所使用的那样,单数形式“一个(“a”,“an”)”和“该”旨在也包括复数形式,除非上下文另外明确地指示。
[0327] 还应理解,本文中所使用的术语“和/或”是指并且涵盖相关联的所列出的项目中的一个或多个项目的任何和全部可能的组合。术语“和/或”,是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本申请中的字符“/”,一般表示前后关联对象是一种“或”的关系。
[0328] 还应理解,术语“包括”(也称“includes”、“including”、“comprises”和/或“comprising”)当在本说明书中使用时指定存在所陈述的特征、整数、步骤、操作、元素、和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元素、部件、和/或其分组。
[0329] 还应理解,术语“若”和“如果”可被解释为意指“当...时”(“when”或“upon”)或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“若确定...”或“若检测到[所陈述的条件或事件]”可被解释为意指“在确定...时”或“响应于确定...”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
[0330] 应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
[0331] 还应理解,说明书通篇中提到的“一个实施例”、“一实施例”、“一种可能的实现方式”意味着与实施例或实现方式有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”、“一种可能的实现方式”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
[0332] 以上描述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。