掌桥专利:专业的专利平台
掌桥专利
首页

一种APS切换方法、装置、电子设备及计算机可读存储介质

文献发布时间:2023-06-19 19:18:24


一种APS切换方法、装置、电子设备及计算机可读存储介质

技术领域

本申请涉及通讯技术领域,具体而言,涉及一种APS切换方法、装置、电子设备及计算机可读存储介质。

背景技术

现有技术中,针对批量自动保护切换(Automatic Protection Switching,简称:APS)组的切换,需要CPU占用大量的I/O资源,针对每个APS组进行逐个修改,进而完成工作路径与保护路径的切换,导致切换效率较低。

发明内容

本申请的目的在于提供一种APS切换方法、装置、电子设备及计算机可读存储介质,用于提高APS组路径切换的效率。

为了实现上述目的,本申请实施例采用的技术方案如下:

第一方面,本申请实施例提供一种APS切换方法,所述方法应用于CPU,所述CPU与DMA控制器通讯连接,所述方法包括:

接收APS修改指令,所述APS修改指令用于指示待修改APS组标识;所述待修改APS组标识表征对应的目标APS组是否进行切换;

根据所述待修改APS组标识,对内存中的第一APS组表项中所述目标APS组的切换信息进行修改;其中,所述第一APS组表项包含全部APS组对应的切换信息;所述第一APS组表项存储于所述内存中连续物理地址上;所述第一APS组表项与所述交换芯片包含的第二APS组表项一对一映射;所述第二APS组表项存储于所述交换芯片中连续物理地址上;

触发所述DMA控制器将修改后的第一APS组表项回写至所述第二APS组表项。

结合第一方面,在第一种可能的实现方式中,在所述接收APS修改指令的步骤之前,还包括:

触发所述DMA控制器读取所述第二APS组表项;

根据所述第二APS组表项生成所述第一APS组表项。

结合第一方面,在第二种可能的实现方式中,在所述接收APS修改指令的步骤之前,还包括:

根据所述第一APS组表项中每个APS组的切换信息,生成比特数组;所述比特数组中的每一位与一个所述切换信息对应;

所述接收APS修改指令的步骤,包括:

根据SDK接口层输出所述比特数组;

接收基于所述比特数组确定的所述APS修改指令。

结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,还包括:

将所述比特数组存储与所述内存中。

第二方面,本申请实施例提供一种APS切换装置,包含CPU、DMA控制器及交换芯片;其中,所述CPU与DMA控制器通讯连接;

所述CPU,用于接收APS修改指令,所述APS修改指令用于指示待修改APS组标识;所述待修改APS组标识表征对应的目标APS组是否进行切换;根据所述待修改APS组标识,对内存中的第一APS组表项中所述目标APS组的切换信息进行修改;其中,所述第一APS组表项包含全部APS组对应的切换信息;所述第一APS组表项存储于所述内存中连续物理地址上;所述第一APS组表项与所述交换芯片包含的第二APS组表项一对一映射;所述第二APS组表项存储于所述交换芯片中连续物理地址上;触发所述DMA控制器将修改后的第一APS组表项回写至所述第二APS组表项。

结合第二方面,在第一种可能的实现方式中,所述CPU,还用于在所述接收APS修改指令的之前,触发所述DMA控制器读取所述第二APS组表项;

根据所述第二APS组表项生成所述第一APS组表项。

结合第二方面,在第二种可能的实现方式中,所述CPU,还用于在所述接收APS修改指令之前,根据所述第一APS组表项中每个APS组的切换信息,生成比特数组;所述比特数组中的每一位与一个所述切换信息对应;根据SDK接口层输出所述比特数组;接收基于所述比特数组确定的所述APS修改指令。

结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述CPU,还用于将所述比特数组存储与所述内存中。

第三方面,本申请实施例提供一种电子设备,包括:

存储器,用于存储一个或多个程序;

处理器;

当所述一个或多个程序被所述处理器执行时,实现如第一方面及任意一种可能的实现方式中所述的方法。

第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如第一方面及任意一种可能的实现方式中所述的方法。

相对于现有技术,本申请实施例所提供的一种APS切换方法、装置、电子设备及计算机可读存储介质,由于由CPU修改内存中的第一APS组表项,对于10K的APS组表项修改,常规CPU的性能上可以确保这个操作耗时在10m以内。进而对于交换芯片的第二APS组表项读写,均由DMA控制器完成,DMA无需CPU I/O操作,耗时很短。进而10K的APS倒换可以控制在10ms左右。同时,该方案可以针对一个APS组、多个不连续的APS组或连续的APS组等不同场景,从而提高了场景的适配性。

为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。

图1为一种网络架构示意图;

图2为另一种网络架构示意图;

图3为一种APS保护组处理流程示意图;

图4为本发明实施例提供的一种APS切换装置的结构示意图;

图5为本发明实施例提供的一种位于交换芯片的APS表项示意图;

图6为本发明实施例提供的一种APS表项映射示意图;

图7为本发明实施例提供的一种APS切换方法的流程示意图;

图8为本发明实施例提供的另一种APS切换方法的流程示意图;

图9为本发明实施例提供的另一种APS切换方法的流程示意图;

图10为本发明实施例提供的另一种APS表项映射示意图;

图11为本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

在本申请的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。

自动保护切换(Automatic Protection Switching,简称:APS),是为了保证业务的可靠性,在工作链路发生中断或信号劣化的情况下,在50毫秒内自动切换到保护链路的机制。其基本原理是当点到点或者是点到多点之间存在多条路径时,多条路径之间可形成保护备份。一般将正在使用的路径定义为工作路径,将其他备份路径定义为保护路径。当工作路径失效后,需要快速切换到保护路径上,确保业务的连续性。

在现有供应商网络中,部署上存在供应商网络边缘(Provider Edge,简称:PE)设备和供应商(Provider,简称:P)设备。两端的PE设备之间建立有隧道保护组,隧道保护组中包括工作路径隧道和保护路径隧道,当P设备链路异常时,会通过APS协议向对端PE设备进行通告,以触发对端PE设备的保护倒换。

图1为一种网络架构示意图,参见图1,PE1接入的业务可以通过P1或者P2转发到PE2,P1/P2之间建立保护组隧道,当PE1节点感知到去往P1节点链路异常时,会将所有流量倒换到P2节点。

随着业务报文多样性的增加,在两侧的PE设备之间所设置隧道保护组数量逐渐增加。

进一步的,图2为另一种网络架构示意图,参见图2,PE1设备上创建了多个APS保护组,此时如果出现P1设备故障,PE1设备需要依次对多个隧道保护组进行保护倒换。当存在大量隧道保护组的情况下,保护倒换的性能很难满足50ms的电信级要求,从而出现业务报文丢包的情况,组网的可靠性下降的情况。

图3为一种APS保护组处理流程示意图,参见图3,流量通过转发表,例如二层转发、三层转发及多协议标签交换(Multi-Protocol Label Switching,简称:MPLS)转发,利用APS组ID直接关联APS组(Group),每个APS组下挂工作路径和保护路径,例如图3中所示,APS组1:工作路径1和保护路径1;APS组n:工作路径n和保护路径n。可选地,对于APS表,其维护的信息可以如表一所示,其中通过写APS组表中的protectionEn字段,可以实现工作路径和保护路径的切换。

表一

所以通过CPU进行一次高速串行计算机扩展总线(Peripheral ComponentInterconnect Express,简称:PCIe)写表操作可以完成单个APS保护组的倒换。但是在批量倒换几K甚至几十K的APS组时,需要CPU进行大量的PCIE I/O操作,由于I/O操作是比较耗时的,所以批量APS倒换很难满足50ms的要求。

批量的APS倒换,存在大量的PCIE I/O读写操作。即使通过一个性能强劲的CPU可以提高PCIE写表的效率,但是不能从本质上解决问题。

为了解决上述问题,本发明引入直接存储器访问(Direct Memory Access,简称:DMA)控制器写表的方式及相关软件方案,解决了大量I/O操作的问题,用户只需简单的操作即可实现50ms内完成批量的APS组倒换。

具体的,图4为本发明实施例提供的一种APS切换装置的结构示意图,参见图4,该装置包括:CPU 10与交换芯片12;CPU 10具有内存11,交换芯片12具有DMA控制器13与随机存取存储器(Random Access Memory,简称:RAM)14;

具体的,图5为本发明实施例提供的一种位于交换芯片的APS表项示意图,结合图5,RAM 14用于在连续的物理地址上存储APS组表项,其维护包含APS组1至APS组n的相关信息。由于存储的物理地址连续,从而使得DMA控制器仅需要一个基地址,就可以一次性读/写完所有的APS表项。

进一步的,该DMA控制器13可以将RAM 14中的APS组表项读取出来,继而由CPU的内存维护与其1:1映射的APS组表项。具体的,图6为本发明实施例提供的一种APS表项映射示意图,结合图6,其展示了将RAM 14中的APS组表项映射至内存11中的映射关系。

基于上述图4、图5及图6所示本发明核心改进,下面结合可能的实现方式,对本发明提供的APS切换方法进行示例性说明,具体的,图7为本发明实施例提供的一种APS切换方法的流程示意图,参见图7,该方法包括:

步骤204、接收APS修改指令;

其中,APS修改指令用于指示待修改APS组标识;待修改APS组标识表征对应的目标APS组是否进行切换;切换指对目标APS组是否从工作路径切换至保护路径;或,从保护路径切换至工作路径。

步骤205、根据待修改APS组标识,对内存中的第一APS组表项中目标APS组的切换信息进行修改;

该切换信息可以为上文所述“ProtectingEn”。

可选地,该第一APS组表项可以为上文内存11中的APS组表项,第一APS组表项包含全部APS组对应的切换信息;第一APS组表项存储于内存中连续物理地址上;第一APS组表项与交换芯片包含的第二APS组表项一对一映射;第二APS组表项可以为上文RAM 14中的APS组表项;

步骤206、触发DMA控制器将修改后的第一APS组表项回写至第二APS组表项。

本发明实施例提供的APS切换方法,由于由CPU修改内存中的第一APS组表项,对于10K的APS组表项修改,常规CPU的性能上可以确保这个操作耗时在10m以内。进而对于交换芯片的第二APS组表项读写,均由DMA控制器完成,DMA无需CPU I/O操作,耗时很短。进而10K的APS倒换可以控制在10ms左右。

同时,该方案可以针对一个APS组、多个不连续的APS组或连续的APS组等不同场景,从而提高了场景的适配性。

可选地,下面提供一种CPU构建第一APS组表项的可能的实现方式,具体的,在图7的基础上,图8为本发明实施例提供的另一种APS切换方法的流程示意图,参见图8,步骤204之前,还包括:

步骤201、触发DMA控制器读取第二APS组表项;

步骤202、根据第二APS组表项生成第一APS组表项。

可选地,为了便于用户进行切换配置,下面引入“比特数组(bitmap)”的概念,对如何获得APS修改指令进行示例性说明,具体的,在图7的基础上,图9为本发明实施例提供的另一种APS切换方法的流程示意图,参见图9,步骤204之前,还包括:

步骤203、根据第一APS组表项中每个APS组的切换信息,生成比特数组;

其中,具体的,图10为本发明实施例提供的另一种APS表项映射示意图,结合图10,该比特数组被存储与内存中。比特数组中的每一位与一个切换信息(ProtectingEn)对应;该比特数组的宽度与APS组的规格相同,如果有10K的APS组,那么Bitmap的宽度就是10K。每一位的取值对应是否切换,例如,取“0”代表不切换,取“1”代表切换。

相应的,步骤204,包括:

步骤204-1、根据SDK接口层输出比特数组;

具体的,输出该比特数组,以供用户进行切换配置。

步骤204-2、接收基于比特数组确定的APS修改指令。

参见上文图4,本发明实施例还提供一种APS切换装置,包含CPU10、DMA控制器13及交换芯片12;其中,CPU 10与DMA控制器13通讯连接;

CPU 10,用于接收APS修改指令,APS修改指令用于指示待修改APS组标识;待修改APS组标识表征对应的目标APS组是否进行切换;根据待修改APS组标识,对内存11中的第一APS组表项中目标APS组的切换信息进行修改;其中,第一APS组表项包含全部APS组对应的切换信息;第一APS组表项存储于内存11中连续物理地址上;第一APS组表项与交换芯片12包含的第二APS组表项一对一映射;第二APS组表项存储于交换芯片12中连续物理地址上;触发DMA控制器13将修改后的第一APS组表项回写至第二APS组表项。

本发明实施例提供的APS切换装置,由于CPU修改内存中的第一APS组表项,对于10K的APS组表项修改,可以控制在10m以内。进而对于交换芯片的第二APS组表项读写,均由DMA控制器完成,节省了大量I/O操作。

同时,该方案可以针对一个APS组、多个不连续的APS组或连续的APS组等不同场景,从而提高了场景的适配性。

可选地,CPU 10,还用于在接收APS修改指令的之前,触发DMA控制器读取第二APS组表项;根据第二APS组表项生成第一APS组表项。

可选地,CPU 10,还用于在接收APS修改指令之前,根据第一APS组表项中每个APS组的切换信息,生成比特数组;比特数组中的每一位与一个切换信息对应;根据SDK接口层输出比特数组;接收基于比特数组确定的APS修改指令。

可选地,CPU 10,还用于将比特数组存储与内存11中。

请参阅图11,图11为本申请实施例提供的一种电子设备的结构示意图。电子设备包括存储器201与处理器202,该存储器201与处理器202相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器101可用于存储软件程序及模块,如本申请实施例所提供的APS切换装置对应的程序指令/模块,处理器202通过执行存储在存储器201内的软件程序及模块,从而执行各种功能应用以及数据处理。

其中,存储器201可以是但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。

处理器202可以是一种集成电路芯片,具有信号处理能力。该处理器102可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其它的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

技术分类

06120115863675