路由器的报文分发方法、电子设备及计算机可读存储介质与流程

摘要: 本发明涉及通信领域,具体而言,涉及一种路由器的报文分发方法、电子设备及计算机可读存储介质。背景技术:1、在相关技术中,为降低控制面执行体单点失效风险,通常采用分...
路由器的报文分发方法、电子设备及计算机可读存储介质与流程

本发明涉及通信领域,具体而言,涉及一种路由器的报文分发方法、电子设备及计算机可读存储介质。

背景技术:

1、在相关技术中,为降低控制面执行体单点失效风险,通常采用分布式部署方式对控制面执行体进行横向扩展,即由多个独立的执行体构成多余度控制面。但相关技术中,在采用分布式部署后的路由器进行报文分发时,存在多个执行体协同效果差,导致报文分发不可靠的技术问题。

2、针对上述的问题,目前尚未提出有效的解决方案。

技术实现思路

1、本发明实施例提供了一种路由器的报文分发方法、电子设备及计算机可读存储介质,以至少解决相关技术中,对路由器的报文分发时,存在报文分发不可靠的技术问题。

2、根据本发明实施例的一个方面,提供了一种路由器的报文分发方法,包括:接收上行协议报文;将所述上行协议报文的报文内容与分发规则库中的各已注册规则进行匹配,得到规则匹配结果;在所述规则匹配结果为所述分发规则库中存在目标分发规则与所述上行协议报文的报文内容匹配的情况下,将所述上行协议报文复制n份,得到n个待分发协议报文;分别在所述n个待分发协议报文中添加第一报文头,得到n个更新协议报文,其中,所述第一报文头包括执行对应的待分发协议报文对应的执行体的直连物理接口地址;按照所述n个更新协议报文对应的第一报文头中的直连物理接口地址,分别向n个执行体分发对应的更新协议报文,以使主执行体对路由器进行路由协议更新,以及m个备执行体同步所述主执行体的路由协议更新状态,其中,所述n个执行体部署于路由器的控制面中,所述n个执行体包括所述主执行体,以及与所述主执行体对应的m个备执行体,n为大于1的整数,m取值为n-1。

3、可选地,按照所述n个更新协议报文对应的第一报文头中的直连物理接口地址,分别向控制面的n个执行体分发对应的更新协议报文之后,包括:确定与所述n个执行体分别对应的报文代理操作,其中,所述报文代理操作包括以下任一种:报文处理操作,报文丢弃操作,以使得在报文代理操作为报文处理操作的情况下,实现主执行体对路由器进行路由协议更新,以及m个备执行体与所述主执行体的路由协议更新状态的同步,以及,以使得在报文代理操作为报文丢弃操作的情况下,丢弃所述更新协议报文;所述报文处理操作,包括以下任一种:在对应的执行体为备执行体的情况下,按照对应的更新协议报文,对所述备执行体进行路由协议更新的状态同步;在所述对应的执行体为主执行体的情况下,确定对应的更新协议报文的报文头中物理业务接口地址对应的业务接口编号,并按照业务接口编号,从接口标识映射表中匹配出所述对应的更新协议报文对应的目标标识符;基于所述目标标识符对应的虚拟业务接口地址,将所述对应的更新协议报文转发至所述主执行体中的协议应用程序,以通过所述协议应用程序对路由器进行路由协议更新,其中,所述业务接口编号为用于唯一标识物理业务接口地址,所述目标标识符用于唯一标识虚拟业务接口地址,所述协议应用程序为实现协议报文交互的应用程序。

4、可选地,基于所述目标标识符对应的虚拟业务接口地址,将所述对应的更新协议报文转发至所述主执行体中的协议应用程序,包括:确定与所述协议应用程序对应的待注册分发规则;确定所述分发规则库中是否存在与待注册分发规则相同的已注册规则,得到注册确定结果;执行与所述注册确定结果对应的管道确定操作,得到所述目标数据管道;基于所述目标数据管道,以及所述目标标识符对应的虚拟业务接口地址,将所述对应的更新协议报文转发至所述主执行体中的协议应用程序。

5、可选地,所述执行与所述注册确定结果对应的管道确定操作,得到所述目标数据管道,包括:在所述注册确定结果为所述分发规则库中存在与待注册分发规则相同的已注册规则的情况下,复用与所述已注册规则对应的数据管道,作为目标数据管道;在所述注册确定结果为所述分发规则库中不存在与待注册分发规则相同的已注册规则的情况下,创建新的数据管道,作为目标数据管道。

6、可选地,所述方法,还包括:接收下行协议报文,其中,所述下行协议报文包括待同步协议报文和第二报文头,所述第二报文头包括状态标识,目的接口地址,所述状态标识用于区分主执行体和备执行体;将所述下行协议报文复制m份,得到m个第一协议报文,其中,所述主状态为所述主执行体对应的状态;分别将所述m个第一协议报文分别对应的目的接口地址,改为与对应的备执行体分别对应的同步接口地址,得到m个第二协议报文;按照对应的同步接口地址,向对应的备执行体分发对应的第二协议报文中的待同步协议报文,得到同步结果;确定所述第二报文头中的状态标识是否为主状态,并在所述状态标识为主状态的情况下,基于所述同步结果,以及所述目的接口地址,对所述下行协议报文中的待同步协议报文进行报文分发。

7、可选地,所述基于所述同步结果,以及所述目的接口地址,对所述下行协议报文中的待同步协议报文进行报文分发,包括:在所述同步结果包括裁决结果的情况下,确定所述裁决结果是否为预定结果,并在所述裁决结果为预定结果的情况下,按照所述目的接口地址,对所述下行协议报文中的待同步协议报文进行报文分发,其中,所述裁决结果通过以下方式确定得到:确定所述m个备执行体分别在目标场景下的输出报文,其中,所述目标场景为所述主执行体下发所述下行协议报文的场景;将所述m个备执行体分别对应的输出报文分别与所述下行协议报文进行一致性裁决,得到裁决结果。

8、可选地,对于所述各已注册规则中的任一个已注册规则,采用以下方式将所述上行协议报文的报文内容与任一个已注册规则进行匹配:在所述任一个已注册规则包括多个子规则的情况下,按照多个子规则的执行顺序,对于所述多个子规则中的任一个子规则,将所述上行协议报文中的待匹配内容与所述任一个子规则中的参照内容进行内容一致性匹配,直至达到目标条件,得到所述任一个已注册规则与所述上行协议报文之间的匹配结果,其中,所述待匹配内容为所述上行协议报文的报文内容中,与所述任一个子规则对应的待匹配位置处的内容,所述任一个子规则包括所述待匹配位置和所述参照内容,所述目标条件包括以下任一种:所述匹配结果为所述待匹配内容与所述参照内容不一致;所述多个子规则执行完毕。

9、根据本发明实施例的一个方面,提供了一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现上述任一项所述的路由器的报文分发方法。

10、根据本发明实施例的一个方面,提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述任一项所述的路由器的报文分发方法。

11、根据本发明实施例的一个方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的路由器的报文分发方法的步骤。

12、在本发明实施例中,将接收到的上行协议报文的报文内容与分发规则库中的各已注册规则进行匹配,确定分发规则库中是否存在与报文内容匹配的目标分发规则;在匹配成功的情况下才对该上行协议报文执行复制分发操作,能够避免无关报文占用执行体处理资源;在匹配成功后将该上行协议报文复制n份并分别添加包含直连物理接口地址的第一报文头,按照第一报文头中的直连物理接口地址分别向控制面的n个执行体分发对应的更新协议报文,使得主执行体和m个备执行体均能收到该上行协议报文,由于n个执行体均收到相同的上行协议报文,因此m个备执行体能够同步获取主执行体收到的协议报文内容,从而保持与主执行体一致的路由协议状态;同时,由于m个备执行体分别用于在主执行体为故障状态时替换主执行体进行协议报文交互,因此m个备执行体在同步协议报文状态后能够在主执行体发生故障时无缝接管协议报文交互功能,解决因备执行体缺少上行协议报文导致切换时路由协议状态不一致导致的路由震荡,进而提高报文分发的可靠性,进而解决了相关技术中,对路由器的报文分发时,存在报文分发不可靠的技术问题。