一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

报文处理方法、线卡、设备及存储介质与流程

2021-11-15 14:30:00 来源:中国专利 TAG:


1.本发明涉及通信技术领域,尤其涉及一种报文处理方法、线卡、设备及存储介质。


背景技术:

2.目前,分布式设备中发送广播或组播报文的方式为:根据协议确定待发送的广播或组播报文,分布式设备的主控处理器通过查询虚拟局域网(virtual local area network,vlan)或组播表得到线卡上发送广播或组播报文的端口范围和端口数量,基于端口数量复制广播或组播报文,并对复制完成的广播或组播报文进行封装,得到多个广播包或组播报文包,将多个广播包或组播报文包发送给各个端口所在的线卡,以使线卡通过各个端口将广播包或组播报文包发出。
3.由上可知,主控处理器发送待发送的广播或组播报文前,需要对广播或组播报文进行复制,如果一个线卡上存在多个发送广播或组播报的端口,主控处理器与线卡之间需要进行多次报文的传输,导致占用主控处理器和线卡之间的传输通道,特别在虚拟扩展局域网(virtual extensible local area network,vxlan)和多协议标签交换(multi

protocol label switching,mpls)等业务中,一个线卡中有多个子接口或者多个隧道需要发送报文,主控处理器中也需要对广播或组播报文进行成百上千次的复制,之后主控处理器与一个线卡进行成百上千次的广播包或组播报文包的传输,导致主控处理器与线卡之间的传输通道堵塞。因此,如何保证主控处理器与线卡之间的传输通道畅通是目前亟待解决的问题。


技术实现要素:

4.本发明实施例在于提供一种报文处理方法、线卡、设备及存储介质,旨在保证主控处理器与线卡之间的传输通道畅通,以提高分布式设备的稳定性和安全性。
5.第一方面,本发明提供一种报文处理方法,应用于线卡,所述线卡与分布式网络设备中的主控处理器通信连接,所述方法包括:获取所述主控处理器发送的目标报文,并确定所述目标报文在所述线卡上的目的端口;若所述目的端口为多个,则对所述目标报文进行复制,得到与所述目的端口的数量相匹配的多个所述目标报文;通过多个所述目的端口发送多个所述目标报文,其中,一个所述目的端口发送一个所述目标报文。
6.第二方面,本发明实施例还提供一种线卡,所述线卡包括处理器、存储器、存储在所述存储器上并可被所述处理器执行的计算机程序以及用于实现所述处理器和所述存储器之间的连接通信的数据总线,其中所述计算机程序被所述处理器执行时,实现如本发明说明书提供的任一项报文处理方法的步骤。
7.第三方面,本发明实施例还提供一种分布式设备,所述分布式设备包括主控处理
器和多个线卡,所述主控处理器与所述线卡通信连接。
8.第四方面,本发明实施例还提供一种存储介质,用于计算机可读存储,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如本发明说明书提供的任一项报文处理的方法的步骤。
9.本发明实施例提供一种报文处理方法、线卡、设备及存储介质,本发明实施例获取主控处理器发送的目标报文,并确定目标报文在线卡上的目的端口;若目的端口为多个,则对目标报文进行复制,能够得到与目的端口的数量相匹配的多个目标报文;并通过一个目的端口发送一个目标报文的方式将多个目标报文通过多个目的端口发送。本方案中主控处理器与目标线卡只需要发送一个目标报文,并在线卡中进行目标报文的复制,就能够准确的得到与目的端口的数量相匹配的多个目标报文,然后将多个目标报文通过多个目的端口发送出去,既完成了目标报文的发送,也减少了主控处理器与线卡之间目标报文传输的次数,从而保证主控处理器与线卡之间的传输通道畅通,极大地提高分布式设备的稳定性和安全性。
附图说明
10.图1为本发明实施例提供的一种报文处理方法的流程示意图;图2为图1中的报文处理方法的子步骤流程示意图;图3为本发明实施例提供的报文处理方法的一场景示意图;图4为本发明实施例提供的一种线卡的结构示意性框图;图5为本发明实施例提供的一种分布式设备的结构示意性框图。
具体实施方式
11.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
12.附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
13.应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
14.本发明实施例提供一种报文处理方法、线卡、设备及存储介质。其中,该报文处理方法可应用于分布式设备中,该分布式设备可以是分布式交换机、分组传送网(packet transport network,ptn)设备和无线接入网ip化(ip radio access network,ipran)设备等设备。
15.下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
16.请参照图1,图1为本发明实施例提供的一种报文处理方法的流程示意图。
17.如图1所示,该报文处理方法包括步骤s101至步骤s103。
18.步骤s101、获取所述主控处理器发送的目标报文,并确定所述目标报文在所述线卡上的目的端口。
19.其中,本方案应用于分布式设备,分布式设备包括主控处理器和多个线卡,主控处理器与多个线卡通信连接,线卡包括多个通信的端口,该目标报文可以根据实际情况进行选择,本实施例对此不做具体限定,例如,该目标报文包括广播报文和组播报文中的任一种。
20.在一实施例中,当主控处理器生成目标报文时,获取预设的报文与线卡之间的第三映射关系表,从该第三映射关系表中查询发送目标报文的目标线卡,若目标线卡为多个,则对该目标报文进行复制,得到与目标线卡的数量匹配的多个目标报文,并通过主控处理器与线卡之间的通道将多个目标报文发送至多个目标线卡,以使每个目标线卡接收到一个目标报文。其中,第三映射关系表是预先根据报文和线卡建立好的,该第三映射关系表的建立本实施例对此不做具体限定。主控处理器只需要个每个线卡发送一个目标报文,使得主控处理器与线卡之间的通信通道上的报文大大的被减少,进而保证通信通道的畅通,提高了分布式设备信息传输的稳定性和安全性。
21.在一实施例中,主控处理器生成目标报文的方式为:根据通信协议计算,生成目标报文,其中,通信协议可以根据实际情况进行选择,本实施例对此不做具体限定,例如该通信协议是地址解析协议(address resolution protocol,arp)和开放最短路径优先(open shortest path first,ospf)等协议。例如,主控处理器需要请求一个地址,则根据arp生成广播报文。又例如,主控处理器需要链路状态,则根据ospf生成组播报文。主控处理器能够根据协议准确的生成目标报文。
22.示例性的,分布式设备包括主控处理器和线卡1、线卡2、线卡3、线卡4、线卡5、线卡6、线卡7、线卡8、线卡9和线卡10,主控处理器生成的目标报文为广播报文,从第三映射关系表中查询到的广播报文对应的目标线卡包括线卡2、线卡3、线卡7和线卡3,对该广播报文进行复制,到的四个广播报文,并将该四个广播报文随机发送给线卡2、线卡3、线卡7和线卡3,以使线卡2、线卡3、线卡7和线卡3均接收到一个广播报文。
23.在一实施例中,在目标报文进行复制之前,获取目标报文对应标志位字段,对目标报文和标志位字段进行拼接,得到添加标志位字段的目标报文,对添加标志位字段的目标报文进行复制,并将复制后的添加标志位字段的目标报文发送给各个目标线卡。通过在目标报文中加入标志位字段,便于线卡对目标报文进行复制,提高了报文发送处理的效率。
24.在一实施例中,线卡接收到主控处理器发送的目标报文,并确定发送目标报文在线卡上的目的端口。其中,线卡上存在多个报文的传输端口,目标端口为发送该目标报文的端口。例如,线卡上有端口1、端口2、端口3、端口4、端口5、端口6、端口7、端口8、端口9和端口10,发送目标报文的端口有端口4、端口6和端口9,则端口4、端口6和端口9为目的端口。
25.在一实施例中,参照图2,步骤s101包括:子步骤s1011至子步骤s1012。
26.子步骤s1011,根据所述目标报文,获取报文转发表。
27.其中,该报文转发表是报文转发端口的端口表。
28.在一实施例中,获取目标报文携带的标志位字段;获取预设的标志位字段与报文转发表之间的第一映射关系表;从第一映射关系表中查询得到标志位字段对应的报文转发
表。其中,该第一映射关系表是预先根据标志位字段与报文转发表建立好的,该第一映射关系表的建立可以根据实际情况进行建立,本实施例对此不做具体限定,通过该第一映射关系表能够准确的得到标志位字段对应的报文转发表,提高了目标报文转发的准确性。
29.在一实施例中,获取目标报文携带的标志位字段的方式是可以为:从目标报文中提取标志位字段,得到目标报文所携带的标志位字段。通过从目标报文中提取标志位字段,能够准确的得到目标报文所携带的标志位字段,提高了目标报文发送的准确性。
30.需要说明的是,当主控处理器未在目标报文中添加标志位字段时,获取主控处理器发送的标志位字段,得到该目标报文对应的标志位字段。通过直接获取主控处理器发送的标志位字段,能够在目标报文未携带标志位字段时,准确的得到标志位字段,提高了目标报文发送的效率。
31.在一实施例中,获取目标报文的报文类型;获取预设的报文类型与报文转发表之间的第二映射关系表;从第二映射关系表中查询得到报文类型对应的所述报文转发表。其中,该第二映射关系表是预先根据报文类型和报文转发表建立的,该第二映射关系表的建立可以根据实际情况进行建立,本实施例对此不做具体限定,通过第二映射关系表能够准确的查询到报文类型所对应的报文转发表,通过报文类型确定报文转发表,主控处理器可以省去在目标报文上添加标志位字段的步骤或者省去将标志位字段发给线卡的步骤,减少主控处理器功耗,提高了目标报文发送的效率。
32.子步骤s1012、从所述报文转发表中查询发送所述目标报文的端口,得到所述目标报文在所述线卡上的目的端口。
33.示例性的,目标报文为广播报文,线卡包括端口1、端口2、端口3、端口4、端口5、端口6、端口7、端口8、端口9和端口10,从报文转发表中查询发送广播报文的端口,得到目标端口包括端口1、端口5、端口6和端口8。
34.示例性的,目标报文为组播报文,线卡包括端口1、端口2、端口3、端口4、端口5、端口6、端口7、端口8、端口9、端口10、端口11、端口12、端口13、端口14和端口15,从报文转发表中查询发送该组播报文的端口,得到目标端口包括端口2、端口6、端口9和端口13。
35.步骤s102、若所述目的端口为多个,则对所述目标报文进行复制,得到与所述目的端口的数量相匹配的多个所述目标报文。
36.一个目的端口发送一个目标报文,若目标端口为多个时,则对目标报文进行复制,得到与目的端口数量相匹配的多个目标报文。例如,目的端口为5个,对目标报文进行复制,得到5个目标报文。
37.步骤s103、通过多个所述目的端口发送多个所述目标报文,其中,一个所述目的端口发送一个所述目标报文。
38.在得到与目的端口的数量相匹配的多个目标报文时,通过一个目的端口发送一个目标报文的方式将多个目标报文从多个目的端口发送,以完成目标报文的传输。
39.在一是实施例中,确定各目的端口的端口类型;将端口类型不为预设端口类型的目的端口确定为第一目的端口,并将端口类型为预设端口类型的目的端口确定为第二目的端口;通过第一目的端口发送目标报文,对目标报文进行隧道封装处理,并通过第二目的端口发送经过隧道封装后的目标报文。其中,预设端口类型可以根据实际情况进行设置,本实施例对不做具体限定,例如,该预设端口类型可以是隧道端口。对由隧道端口发送的目标报
文进行封装,以使目标报文能够成功的发送出去,提高了报文发送的准确性和效率。
40.在一实施例中,对目标报文进行隧道封装处理的方式可以为:获取第二目的端口对应的隧道头部信息,根据隧道头部信息对目标报文进行隧道封装处理,能够准确的得到隧道封装后的目标报文。
41.示例性的,目标报文包括目标报文1、目标报文2、目标报文3、目标报文4和目标报文5,其中,目标报文1、目标报文2、目标报文3、目标报文4和目标报文5为相同的报文,目的端口包括端口1、端口2、端口3、端口4和端口5,其中,端口2和端口5为目的端口,通过端口1发送目标报文1,通过端口3发送目标报文3,通过端口4发送目标报文4,获取端口2的隧道头部信息和端口5的隧道头部信息,根据端口2的隧道头部信息对目标报文2进行封装,得到封装后的目标报文2,并从端口2发送封装后的目标报文2,根据端口5的隧道头部信息对目标报文5进行封装,得到封装后的目标报文5,并从端口5发送封装后的目标报文。
42.示例性的,如图3所示,分布式设备200中的主控处理器210生成目标报文,从第三映射关系表中查询到发送该目标报文的目标线卡包括线卡a220和线卡c240,对该目标报文进行复制,得到两个目标报文,并将目标报文发送至线卡a220和线卡c240,线卡a220和线卡c240接收到目标报文,线卡a220和线卡c240分别根据该目标报文获取报文转发表,线卡a220查询该报文转发表,得到端口a222和端口c224为发送目标报文的目的端口,线卡a220中的线卡处理器221对目标报文进行复制,得到两个目标报文,并通过端口a222和端口c224分别将两个目标报文发出,以完成线卡a220上的目标报文的发送;同理,线卡c240查询该报文转发表,得到端口f242和端口g243为发送目标报文的目的端口,线卡c240中的线卡处理器241对目标报文进行复制,得到两个目标报文,并通过端口f242和端口g243分别将两个目标报文发出,以完成线卡c240上的目标报文的发送。
43.上述实施例中的报文处理方法,获取主控处理器发送的目标报文,并确定目标报文在线卡上的目的端口;若目的端口为多个,则对目标报文进行复制,能够得到与目的端口的数量相匹配的多个目标报文;并通过一个目的端口发送一个目标报文的方式将多个目标报文通过多个目的端口发送。本方案中主控处理器与目标线卡只需要发送一个目标报文,并在线卡中进行目标报文的复制,就能够准确的得到与目的端口的数量相匹配的多个目标报文,然后将多个目标报文通过多个目的端口发送出去,既完成了目标报文的发送,也减少了主控处理器与线卡之间目标报文传输的次数,从而保证主控处理器与线卡之间的传输通道畅通,极大地提高分布式设备的稳定性和安全性。
44.请参阅图4,图4为本发明实施例提供的一种线卡的结构示意性框图。
45.如图4所示,线卡300包括处理器301和存储器302,处理器301和存储器302通过总线303连接,该总线比如为i2c(inter

integrated circuit)总线。
46.具体地,处理器301用于提供计算和控制能力,支撑整个线卡的运行。处理器301可以是中央处理单元 (central processing unit,cpu),该处理器301还可以是其他通用处理器、数字信号处理器 (digital signal processor,dsp)、专用集成电路 (application specific integrated circuit,asic)、现场可编程门阵列 (field

programmable gate array,fpga) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
47.具体地,存储器302可以是flash芯片、只读存储器 (rom,read

only memory)磁
盘、光盘、u盘或移动硬盘等。
48.本领域技术人员可以理解,图4中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的线卡的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
49.其中,所述处理器用于运行存储在存储器中的计算机程序,并在执行所述计算机程序时实现本发明实施例提供的任意一种所述的报文处理方法。
50.在一实施方式中,所述处理器用于运行存储在存储器中的计算机程序,并在执行所述计算机程序时实现如下步骤:获取所述主控处理器发送的目标报文,并确定所述目标报文在所述线卡上的目的端口;若所述目的端口为多个,则对所述目标报文进行复制,得到与所述目的端口的数量相匹配的多个所述目标报文;通过多个所述目的端口发送多个所述目标报文,其中,一个所述目的端口发送一个所述目标报文。
51.在一实施例中,所述处理器在实现所述确定所述目标报文在所述线卡上的目的端口时,用于实现:根据所述目标报文,获取报文转发表;从所述报文转发表中查询发送所述目标报文的端口,得到所述目标报文在所述线卡上的目的端口。
52.在一实施例中,所述处理器在实现所述根据所述目标报文,获取报文转发表时,用于实现:获取所述目标报文携带的标志位字段;获取预设的标志位字段与报文转发表之间的第一映射关系表;从所述第一映射关系表中查询得到所述标志位字段对应的所述报文转发表。
53.在一实施例中,所述处理器在实现所述根据所述目标报文,获取报文转发表时,用于实现:获取所述目标报文的报文类型;获取预设的报文类型与报文转发表之间的第二映射关系表;从所述第二映射关系表中查询得到所述报文类型对应的所述报文转发表。
54.在一实施例中,所述处理器在实现所述通过多个所述目的端口发送多个所述目标报文时,用于实现:确定各所述目的端口的端口类型;将所述端口类型不为预设端口类型的所述目的端口确定为第一目的端口,并将所述端口类型为预设端口类型的所述目的端口确定为第二目的端口;通过所述第一目的端口发送所述目标报文,对所述目标报文进行隧道封装处理,并通过所述第二目的端口发送经过隧道封装后的所述目标报文。
55.在一实施例中,所述处理器在实现所述对所述目标报文进行隧道封装处理时,用于实现:获取所述第二目的端口对应的隧道头部信息;
根据所述隧道头部信息对所述目标报文进行隧道封装处理。
56.在一实施例中,所述处理器用于实现:所述目标报文包括广播报文和组播报文中的任一种。
57.需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的线卡的具体工作过程,可以参考前述报文处理方法实施例中的对应过程,在此不再赘述。
58.请参阅图5,图5为本发明实施例提供的一种分布式设备的结构示意性框图。
59.如图5所示,分布式设备400包括主控处理器401、线卡a402、线卡b403和线卡c404,所述主控处理器401分别与线卡a402、线卡b403和线卡c404通信连接,其中,所述线卡a402、线卡b403和线卡c404可以为如图4所示的线卡300。需要说明的是,分布式设备400还可以包括更多的线卡与主控处理器401通信连接。
60.需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的分布式设备的具体工作过程,可以参考前述报文处理方法实施例中的对应过程,在此不再赘述。
61.本发明实施例还提供一种存储介质,用于计算机可读存储,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如本发明说明书提供的任一项报文处理的方法的步骤。
62.其中,所述存储介质可以是前述实施例所述的线卡或分布式设备的内部存储单元,例如所述线卡或分布式设备的硬盘或内存。所述存储介质也可以是所述线卡或分布式设备的外部存储设备,例如所述线卡或分布式设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。
63.本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd

rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
64.应当理解,在本发明说明书和所附权利要求书中使用的术语“和/ 或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使
得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
65.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献