本发明涉及以太网交换机技术领域,尤其涉及一种以太网交换机的业务数据通信方法及系统。
背景技术:
目前,部分的以太网交换机的协议栈和交换芯片驱动运行在一个处理器上,通过网络链接和回调函数等方式进行通信。但是有部分以太网交换机(如,内生安全交换机)的协议栈运行在三个异构处理器上,交换芯片驱动运行在另一个处理器上,对于这种类型的以太网交换机,现有的网络链接和回调函数通信方式已不再适用。
因此,如何实现协议栈运行在三个异构处理器上,交换芯片驱动运行在另一个处理器上的以太网交换机的业务数据通信,是一项亟待解决的问题。
技术实现要素:
有鉴于此,本发明提供了一种以太网交换机的业务数据通信方法,能够实现协议栈运行在三个异构处理器上,交换芯片驱动运行在另一个处理器上的以太网交换机的业务数据通信。
本发明提供了一种以太网交换机的业务数据通信方法,包括:
通过交换芯片驱动对接收到的业务数据封装私有以太网头后发送至判决器;
所述判决器将封装有私有以太网头的业务数据分发至三个异构处理器;
所述异构处理器通过去除私有以太网头提取业务数据,并将提取出的业务数据分发给相应的应用程序。
优选地,所述方法还包括:
三个异构处理器的协议栈应用程序分别将业务数据网卡驱动封装私有以太网头后发送至所述判决器;
所述判决器将封装有私有以太网头的业务数据发送至所述交换芯片驱动;
所述交换芯片驱动通过去除私有以太网头提取业务数据,并将提取出的业务数据发送至远端。
优选地,所述通过交换芯片驱动对接收到的业务数据封装私有以太网头后发送至判决器包括:
通过交换芯片驱动对接收到的业务数据封装一层bridgeheader;
通过直接存储器访问将所述业务数据从所述交换芯片驱动的缓存搬移至双倍速率同步动态随机存储器;
利用中断通知可扩展处理平台的arm处理器;
通过arm处理器解析报文的bridgeheader的数据,提取出原始业务数据;
将所述原始业务数据封装一层私有以太网头后发送至判决器。
优选地,所述将所述原始业务数据封装一层私有以太网头后发送至判决器,包括:
将所述原始业务数据封装一层私有以太网头后,通过网卡驱动函数发送至判决器。
优选地,所述判决器将封装有私有以太网头的业务数据发送至所述交换芯片驱动,包括:
所述判决器将封装有私有以太网头的业务数据发送至可扩展处理平台的arm处理器;
所述arm处理器利用钩子函数将封装有私有以太网头的业务数据发送至交换芯片驱动。
一种以太网交换机的业务数据通信系统,包括:
交换芯片驱动,用于对接收到的业务数据封装私有以太网头后发送至判决器;
判决器,用于将封装有私有以太网头的业务数据分发至三个异构处理器;
异构处理器,用于通过去除私有以太网头提取业务数据,并将提取出的业务数据分发给相应的应用程序。
优选地,三个所述异构处理器,还用于分别通过协议栈应用程序将业务数据网卡驱动封装私有以太网头后发送至所述判决器;
所述判决器,还用于将封装有私有以太网头的业务数据发送至所述交换芯片驱动;
所述交换芯片驱动,还用于通过去除私有以太网头提取业务数据,并将提取出的业务数据发送至远端。
优选地,所述交换芯片驱动在执行对接收到的业务数据封装私有以太网头后发送至判决器时,具体用于:
通过交换芯片驱动对接收到的业务数据封装一层bridgeheader;
通过直接存储器访问将所述业务数据从所述交换芯片驱动的缓存搬移至双倍速率同步动态随机存储器;
利用中断通知可扩展处理平台的arm处理器;
通过arm处理器解析报文的bridgeheader的数据,提取出原始业务数据;
将所述原始业务数据封装一层私有以太网头后发送至判决器。
优选地,所述交互驱动芯片在执行将所述原始业务数据封装一层私有以太网头后发送至判决器时,具体用于:
将所述原始业务数据封装一层私有以太网头后,通过网卡驱动函数发送至判决器。
优选地,所述判决器在执行将封装有私有以太网头的业务数据发送至所述交换芯片驱动时,具体用于:
所述判决器将封装有私有以太网头的业务数据发送至可扩展处理平台的arm处理器;
所述arm处理器利用钩子函数将封装有私有以太网头的业务数据发送至交换芯片驱动。
综上所述,本发明公开了一种以太网交换机的业务数据通信方法,首先通过交换芯片驱动对接收到的业务数据封装私有以太网头后发送至判决器,然后判决器将封装有私有以太网头的业务数据分发至三个异构处理器,异构处理器通过去除私有以太网头提取业务数据,并将提取出的业务数据分发给相应的应用程序。本发明能够实现协议栈运行在三个异构处理器上,交换芯片驱动运行在另一个处理器上的以太网交换机的业务数据通信。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明公开的一种以太网交换机的业务数据通信方法实施例1的方法流程图;
图2为本发明公开的一种以太网交换机的业务数据通信方法实施例2的方法流程图;
图3为本发明公开的一种以太网交换机的业务数据通信方法实施例3的方法流程图;
图4为本发明公开的一种以太网交换机的业务数据通信方法实施例4的方法流程图;
图5为本发明公开的一种以太网交换机的业务数据通信系统实施例1的结构示意图;
图6为本发明公开的一种以太网交换机的业务数据通信系统实施例2的结构示意图;
图7为本发明公开的一种以太网交换机的业务数据通信系统实施例3的结构示意图;
图8为本发明公开的一种以太网交换机的业务数据通信系统实施例4的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明公开的一种以太网交换机的业务数据通信方法实施例1的方法流程图,所述方法可以包括以下步骤:
s101、通过交换芯片驱动对接收到的业务数据封装私有以太网头后发送至判决器;
当需要实现协议栈运行在三个异构处理器上,交换芯片驱动运行在另一个处理器上的以太网交换机的业务数据通信时,首先通过交换芯片驱动接收来自远端的业务数据,并将接收到的业务数据封装一层私有以太网头后发送至判决器。
s102、判决器将封装有私有以太网头的业务数据分发至三个异构处理器;
判决器在接收到封装有一层私有以太网头的业务数据后,将封装有私有以太网头的业务数据分发至三个异构处理器。
s103、异构处理器通过去除私有以太网头提取业务数据,并将提取出的业务数据分发给相应的应用程序。
三个异构处理器在接收到封装有私有以太网头的业务数据后,分别将接收到的封装有私有以太网头的业务数据剥掉私有以太网头,提取出私有以太网头中的业务数据,并将提取出的数据发送给相应的应用程序。
综上所述,在上述实施例中,首先通过交换芯片驱动对接收到的业务数据封装私有以太网头后发送至判决器,然后判决器将封装有私有以太网头的业务数据分发至三个异构处理器,异构处理器通过去除私有以太网头提取业务数据,并将提取出的业务数据分发给相应的应用程序。本发明能够实现协议栈运行在三个异构处理器上,交换芯片驱动运行在另一个处理器上的以太网交换机的业务数据通信。
如图2所示,为本发明公开的一种以太网交换机的业务数据通信方法实施例2的方法流程图,所述方法可以包括以下步骤:
s201、通过交换芯片驱动对接收到的业务数据封装一层bridgeheader;
当需要实现协议栈运行在三个异构处理器上,交换芯片驱动运行在另一个处理器上的以太网交换机的业务数据通信时,首先通过交换芯片驱动接收来自远端的业务数据,并将接收到的业务数据封装一层bridgeheader。
s202、通过直接存储器访问将业务数据从交换芯片驱动的缓存搬移至双倍速率同步动态随机存储器;
然后,通过dma(directmemoryaccess,直接存储器访问)将封装有一层bridgeheader的业务数据从交互芯片驱动的缓存搬移到ddrsdram(doubledataratesynchronousdynamicrandomaccessmemory,双倍速率同步动态随机存储器)中。
s203、利用中断通知可扩展处理平台的arm处理器;
然后,通过终端通知zynq系列的可扩展处理平台的arm处理器。
s204、通过arm处理器解析报文的bridgeheader的数据,提取出原始业务数据;
arm处理器对封装有一层bridgeheader的业务数据进行解析,提取出原始业务数据vlan和port。
s205、将原始业务数据封装一层私有以太网头后发送至判决器;
然后将提取出的原始业务数据vlan和port封装一层私有以太网头后发送至判决器。其中,在将原始业务数据封装一层私有以太网头后发送至判决器的其中一种实现方式可以是,将原始业务数据封装一层私有以太网头后,通过网卡驱动函数发送至判决器。
s206、判决器将封装有私有以太网头的业务数据分发至三个异构处理器;
判决器在接收到封装有一层私有以太网头的业务数据后,将封装有私有以太网头的业务数据分发至三个异构处理器。
s207、异构处理器通过去除私有以太网头提取业务数据,并将提取出的业务数据分发给相应的应用程序。
三个异构处理器在接收到封装有私有以太网头的业务数据后,分别将接收到的封装有私有以太网头的业务数据剥掉私有以太网头,提取出私有以太网头中的业务数据,并将提取出的数据发送给相应的应用程序。
综上所述,本发明能够实现协议栈运行在三个异构处理器上,交换芯片驱动运行在另一个处理器上的以太网交换机的业务数据通信。
如图3所示,为本发明在上述实施例的基础上公开的一种以太网交换机的业务数据通信方法实施例3的方法流程图,所述方法还可以包括以下步骤:
s301、三个异构处理器的协议栈应用程序分别将业务数据网卡驱动封装私有以太网头后发送至判决器;
三个异构处理器的协议栈应用程序分别发送业务数据网卡驱动,网卡驱动封装一层私有以太网头,并通过网卡将封装有一层私有以太网头的业务数据发送至判决器。
s302、判决器将封装有私有以太网头的业务数据发送至交换芯片驱动;
判决器在接收到封装有一层私有以太网头的业务数据后,将封装有私有以太网头的业务数据发送至交换芯片驱动。
s303、交换芯片驱动通过去除私有以太网头提取业务数据,并将提取出的业务数据发送至远端。
交换芯片驱动在接收到封装有私有以太网头的业务数据后,将接收到的封装有私有以太网头的业务数据剥掉私有以太网头,提取出私有以太网头中的业务数据,并将提取出的数据发送至远端。
综上所述,本发明能够进一步实现协议栈运行在三个异构处理器上,交换芯片驱动运行在另一个处理器上的以太网交换机的业务数据通信。
如图4所示,为本发明在上述实施例的基础上公开的一种以太网交换机的业务数据通信方法实施例4的方法流程图,所述方法还可以包括以下步骤:
s401、三个异构处理器的协议栈应用程序分别将业务数据网卡驱动封装私有以太网头后发送至判决器;
三个异构处理器的协议栈应用程序分别发送业务数据网卡驱动,网卡驱动封装一层私有以太网头,并通过网卡将封装有一层私有以太网头的业务数据发送至判决器。
s402、判决器将封装有私有以太网头的业务数据发送至可扩展处理平台的arm处理器;
判决器在接收到封装有一层私有以太网头的业务数据后,将封装有私有以太网头的业务数据发送至zynq系列的可扩展处理平台的arm处理器。
s403、arm处理器利用钩子函数将封装有私有以太网头的业务数据发送至交换芯片驱动;
然后,arm处理器利用钩子函数将封装有私有以太网头的业务数据发送至交换芯片驱动。
s404、交换芯片驱动通过去除私有以太网头提取业务数据,并将提取出的业务数据发送至远端。
交换芯片驱动在接收到封装有私有以太网头的业务数据后,将接收到的封装有私有以太网头的业务数据剥掉私有以太网头,提取出私有以太网头中的业务数据vlan和port,并将提取出的数据vlan和port通过高速串行计算机扩展总线标准通路发送至远端。
综上所述,本发明能够进一步实现协议栈运行在三个异构处理器上,交换芯片驱动运行在另一个处理器上的以太网交换机的业务数据通信。
如图5所示,为本发明公开的一种以太网交换机的业务数据通信系统实施例1的结构示意图,所述系统可以包括:
交换芯片驱动501,用于通过交换芯片驱动对接收到的业务数据封装私有以太网头后发送至判决器;
当需要实现协议栈运行在三个异构处理器上,交换芯片驱动运行在另一个处理器上的以太网交换机的业务数据通信时,首先通过交换芯片驱动接收来自远端的业务数据,并将接收到的业务数据封装一层私有以太网头后发送至判决器。
判决器502,用于将封装有私有以太网头的业务数据分发至三个异构处理器;
判决器在接收到封装有一层私有以太网头的业务数据后,将封装有私有以太网头的业务数据分发至三个异构处理器。
异构处理器503,用于通过去除私有以太网头提取业务数据,并将提取出的业务数据分发给相应的应用程序。
三个异构处理器在接收到封装有私有以太网头的业务数据后,分别将接收到的封装有私有以太网头的业务数据剥掉私有以太网头,提取出私有以太网头中的业务数据,并将提取出的数据发送给相应的应用程序。
综上所述,在上述实施例中,首先通过交换芯片驱动对接收到的业务数据封装私有以太网头后发送至判决器,然后判决器将封装有私有以太网头的业务数据分发至三个异构处理器,异构处理器通过去除私有以太网头提取业务数据,并将提取出的业务数据分发给相应的应用程序。本发明能够实现协议栈运行在三个异构处理器上,交换芯片驱动运行在另一个处理器上的以太网交换机的业务数据通信。
如图6所示,为本发明公开的一种以太网交换机的业务数据通信系统实施例2的结构示意图,所述系统可以包括:
交换芯片驱动601,用于对接收到的业务数据封装一层bridgeheader;
当需要实现协议栈运行在三个异构处理器上,交换芯片驱动运行在另一个处理器上的以太网交换机的业务数据通信时,首先通过交换芯片驱动接收来自远端的业务数据,并将接收到的业务数据封装一层bridgeheader。
交换芯片驱动601,还用于通过直接存储器访问将业务数据从交换芯片驱动的缓存搬移至双倍速率同步动态随机存储器;
然后,通过dma(directmemoryaccess,直接存储器访问)将封装有一层bridgeheader的业务数据从交互芯片驱动的缓存搬移到ddrsdram(doubledataratesynchronousdynamicrandomaccessmemory,双倍速率同步动态随机存储器)中。
交换芯片驱动601,还用于利用中断通知可扩展处理平台的arm处理器;
然后,通过终端通知zynq系列的可扩展处理平台的arm处理器。
交换芯片驱动601,还用于通过arm处理器解析报文的bridgeheader的数据,提取出原始业务数据;
arm处理器对封装有一层bridgeheader的业务数据进行解析,提取出原始业务数据vlan和port。
交换芯片驱动601,还用于将原始业务数据封装一层私有以太网头后发送至判决器;
然后将提取出的原始业务数据vlan和port封装一层私有以太网头后发送至判决器。其中,在将原始业务数据封装一层私有以太网头后发送至判决器的其中一种实现方式可以是,将原始业务数据封装一层私有以太网头后,通过网卡驱动函数发送至判决器。
判决器602,用于将封装有私有以太网头的业务数据分发至三个异构处理器;
判决器在接收到封装有一层私有以太网头的业务数据后,将封装有私有以太网头的业务数据分发至三个异构处理器。
异构处理器603,用于通过去除私有以太网头提取业务数据,并将提取出的业务数据分发给相应的应用程序。
三个异构处理器在接收到封装有私有以太网头的业务数据后,分别将接收到的封装有私有以太网头的业务数据剥掉私有以太网头,提取出私有以太网头中的业务数据,并将提取出的数据发送给相应的应用程序。
综上所述,本发明能够实现协议栈运行在三个异构处理器上,交换芯片驱动运行在另一个处理器上的以太网交换机的业务数据通信。
如图7所示,为本发明在上述实施例的基础上公开的一种以太网交换机的业务数据通信系统实施例3的结构示意图,所述系统还可以包括:
三个异构处理器701,用于分别通过协议栈应用程序将业务数据网卡驱动封装私有以太网头后发送至判决器;
三个异构处理器的协议栈应用程序分别发送业务数据网卡驱动,网卡驱动封装一层私有以太网头,并通过网卡将封装有一层私有以太网头的业务数据发送至判决器。
判决器702,用于将封装有私有以太网头的业务数据发送至交换芯片驱动;
判决器在接收到封装有一层私有以太网头的业务数据后,将封装有私有以太网头的业务数据发送至交换芯片驱动。
交换芯片驱动,用于通过去除私有以太网头提取业务数据,并将提取出的业务数据发送至远端。
交换芯片驱动在接收到封装有私有以太网头的业务数据后,将接收到的封装有私有以太网头的业务数据剥掉私有以太网头,提取出私有以太网头中的业务数据,并将提取出的数据发送至远端。
综上所述,本发明能够进一步实现协议栈运行在三个异构处理器上,交换芯片驱动运行在另一个处理器上的以太网交换机的业务数据通信。
如图8所示,为本发明在上述实施例的基础上公开的一种以太网交换机的业务数据通信系统实施例4的结构示意图,所述系统还可以包括:
三个异构处理器801,用于分别通过协议栈应用程序将业务数据网卡驱动封装私有以太网头后发送至判决器;
三个异构处理器的协议栈应用程序分别发送业务数据网卡驱动,网卡驱动封装一层私有以太网头,并通过网卡将封装有一层私有以太网头的业务数据发送至判决器。
判决器802,用于将封装有私有以太网头的业务数据发送至可扩展处理平台的arm处理器;
判决器在接收到封装有一层私有以太网头的业务数据后,将封装有私有以太网头的业务数据发送至zynq系列的可扩展处理平台的arm处理器。
判决器802,还用于通过arm处理器利用钩子函数将封装有私有以太网头的业务数据发送至交换芯片驱动;
然后,arm处理器利用钩子函数将封装有私有以太网头的业务数据发送至交换芯片驱动。
交换芯片驱动803,用于通过去除私有以太网头提取业务数据,并将提取出的业务数据发送至远端。
交换芯片驱动在接收到封装有私有以太网头的业务数据后,将接收到的封装有私有以太网头的业务数据剥掉私有以太网头,提取出私有以太网头中的业务数据vlan和port,并将提取出的数据vlan和port通过高速串行计算机扩展总线标准通路发送至远端。
综上所述,本发明能够进一步实现协议栈运行在三个异构处理器上,交换芯片驱动运行在另一个处理器上的以太网交换机的业务数据通信。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
1.一种以太网交换机的业务数据通信方法,其特征在于,包括:
通过交换芯片驱动对接收到的业务数据封装私有以太网头后发送至判决器;
所述判决器将封装有私有以太网头的业务数据分发至三个异构处理器;
所述异构处理器通过去除私有以太网头提取业务数据,并将提取出的业务数据分发给相应的应用程序。
2.根据权利要求1所述的方法,其特征在于,还包括:
三个异构处理器的协议栈应用程序分别将业务数据网卡驱动封装私有以太网头后发送至所述判决器;
所述判决器将封装有私有以太网头的业务数据发送至所述交换芯片驱动;
所述交换芯片驱动通过去除私有以太网头提取业务数据,并将提取出的业务数据发送至远端。
3.根据权利要求1所述的方法,其特征在于,所述通过交换芯片驱动对接收到的业务数据封装私有以太网头后发送至判决器包括:
通过交换芯片驱动对接收到的业务数据封装一层bridgeheader;
通过直接存储器访问将所述业务数据从所述交换芯片驱动的缓存搬移至双倍速率同步动态随机存储器;
利用中断通知可扩展处理平台的arm处理器;
通过arm处理器解析报文的bridgeheader的数据,提取出原始业务数据;
将所述原始业务数据封装一层私有以太网头后发送至判决器。
4.根据权利要求3所述的方法,其特征在于,所述将所述原始业务数据封装一层私有以太网头后发送至判决器,包括:
将所述原始业务数据封装一层私有以太网头后,通过网卡驱动函数发送至判决器。
5.根据权利要求2所述的方法,其特征在于,所述判决器将封装有私有以太网头的业务数据发送至所述交换芯片驱动,包括:
所述判决器将封装有私有以太网头的业务数据发送至可扩展处理平台的arm处理器;
所述arm处理器利用钩子函数将封装有私有以太网头的业务数据发送至交换芯片驱动。
6.一种以太网交换机的业务数据通信系统,其特征在于,包括:
交换芯片驱动,用于对接收到的业务数据封装私有以太网头后发送至判决器;
判决器,用于将封装有私有以太网头的业务数据分发至三个异构处理器;
异构处理器,用于通过去除私有以太网头提取业务数据,并将提取出的业务数据分发给相应的应用程序。
7.根据权利要求6所述的系统,其特征在于,三个所述异构处理器,还用于分别通过协议栈应用程序将业务数据网卡驱动封装私有以太网头后发送至所述判决器;
所述判决器,还用于将封装有私有以太网头的业务数据发送至所述交换芯片驱动;
所述交换芯片驱动,还用于通过去除私有以太网头提取业务数据,并将提取出的业务数据发送至远端。
8.根据权利要求6所述的系统,其特征在于,所述交换芯片驱动在执行对接收到的业务数据封装私有以太网头后发送至判决器时,具体用于:
通过交换芯片驱动对接收到的业务数据封装一层bridgeheader;
通过直接存储器访问将所述业务数据从所述交换芯片驱动的缓存搬移至双倍速率同步动态随机存储器;
利用中断通知可扩展处理平台的arm处理器;
通过arm处理器解析报文的bridgeheader的数据,提取出原始业务数据;
将所述原始业务数据封装一层私有以太网头后发送至判决器。
9.根据权利要求8所述的系统,其特征在于,所述交互驱动芯片在执行将所述原始业务数据封装一层私有以太网头后发送至判决器时,具体用于:
将所述原始业务数据封装一层私有以太网头后,通过网卡驱动函数发送至判决器。
10.根据权利要求7所述的系统,其特征在于,所述判决器在执行将封装有私有以太网头的业务数据发送至所述交换芯片驱动时,具体用于:
所述判决器将封装有私有以太网头的业务数据发送至可扩展处理平台的arm处理器;
所述arm处理器利用钩子函数将封装有私有以太网头的业务数据发送至交换芯片驱动。
技术总结