一种快速处理报文的方法及装置的制作方法

文档序号:7660512阅读:112来源:国知局

专利名称::一种快速处理报文的方法及装置的制作方法
技术领域
:本发明涉及通信
技术领域
,尤其涉及一种快速处理报文的方法及装置。技术背景现有技术中,不同局域网之间通过互联网通信,如图1所示,局域网A和局域网B的网关负责报文处理。然而,数据报文在互联网中通常不会是简单的直接传递,而是会经过各种特殊的处理。比如考虑到互联网的不安全性,需要在源端对报文进行加密并在目的端进行解密;或者在源端对报文进行压缩,并在目的端进行解压缩等。这种对^^艮文的处理通常有多种实现方式,比如通过软件代码实现对报文的处理,这相当于把所有的工作都交给了处理器处理,这将给处理器带来极大的负担。为了减轻处理器的负担,目前业界也有釆用通过硬件实现对前述报文的处理工作,相当于起到协处理器的功能,通过此种实现方式,系统在收到报文后,不是交给处理器进行报文处理,而是把^t艮文交给协处理器单元,进行加、解密或其他处理工作,在处理完成以后再通知处理器把已完成处理的数据报文取走。由于在现有技术中,路由器或三层交换机系统主要是基于PCI(PeripheralComponentInterconnect,夕卜部组4牛互连)或PCI國X(PCI-eXpress,PCI扩展)总线技术,如图2所示,通过处理器加北桥的方式或直接选用SOC(SystemOnChip,系统芯片)处理器,并借由PCI或PCI-X总线与各种设备相连,比如PCI桥片、网卡或者是通过南桥连接更为普通的总线设备,如BootROM、CPLD(ComplexProgrammableLogicDevice,复杂可编程逻辑器件)等,处理器外挂的DDR(DoubleDataRate,双倍数据速率)SDRAM(SynchronousDynamicRandomAccessMemory,同步动态随机接入存储器)或DDR2SDRAM(第二代双倍速率同步动态随机存储器)内存条用于系统软件运行及暂存。而为完成某一特定业务处理功能的协处理器芯片则通常是作为一个设备挂在PCI或PCI-X总线上的。下面再结合图2说明上述现有技术关于报文加密的协处理器处理流程,包括以下步骤1、业务端口(如网口)在收到报文后将数据存入系统为其分配的指定内存空间,通常存在DIMM(DualIn-lineMemoryModule,双面引脚内存条)中,处理器通过双倍速总线存:f又数据。2、处理器首先对报文进行处理,例如对于转发业务,需要确定其目标地址,也就是出端口。3、如果该目标地址属于不安全区域,需要报文加密,处理器会通过PCI/PCI-X总线通知协处理器,指定内存空间存在待加密报文。4、协处理器通过其自身的DMA(DirectMemoryAccess,直接内存访问)控制器将报文从内存中取走,并进行相应的加密处理。存空间,并上报中断通知处理器报文已处理完毕。6、处理器响应中断,并通知目的端口将已完成处理报文取走并发送或进行其他处理。从上述协处理器处理的流程中,已看到为完成对数据报文的处理,无论是对数据的读取还是写入,会多次使用PCI这种低速、低带宽的总线(即使使用PCI-X总线,总线带宽依然不理想,且设计更为复杂)。因此,这种方案虽然能够在一定程度上将处理器从繁忙的工作中解脱出来,但随着当前互联网流量呈几何级倍数的增长,如果仍然使用PCI这种低速、低带宽的总线作为设备的接口,将必然使得协处理器件的处理能力成为新的系统瓶颈。另夕卜,由于报文处理的多样性,比如加解密、压缩解压缩、协议处理等,为适应不同场合的应用,有可能需要各种各样的协处理器,而如果事先在路由器等交换投备上添加处理各种业务的协处理器,一旦实际应用不需要,则会造成成本的浪费;而如果在某款交换设备上只设置一种协处理器的接口,一旦需要处理其他报文业务,由于无法对相应的协处理器进行扩展,则会造成该交换设备的通用性不强等不足。
发明内容本发明提供了一种协处理方法及装置,以提高协处理总线带宽,进而提升系统性能。本发明提供了一种处理装置,应用于对接收的数据快速进行相应业务的处理,包括处理器、协处理器和存储器,所述处理器、协处理器和存储器分别通过高速总线通信;所述处理器,在接收到需要进行业务处理的数据时,将该待处理的数据存储到存储器中,并通知所述协处理器对待处理数据进行相应的业务处理;存储器,分别与所述处理器和协处理器连接,用于存储前述待处理数据,供所述协处理器调用;所述协处理器,接收到处理器的数据业务处理通知后,通过高速总线从所述存储器中读取待协处理数据,并在协处理完成后,通知所述处理器通过高速总线进行读取。本发明还提供了一种应用上述处理装置的处理方法,所述方法包括以下步骤所述处理装置的处理器,根据事先确定的策略,判断出需要对接收的数据进行相应的业务处理时,将该待处理的数据存储到处理存储器中,并通知所述协处理器进行相应的业务处理;所述协处理器通过高速总线从所述处理存储器中读取待协处理数据,并在相应的业务处理完成后,通知所述处理器通过高速总线进行读取。与现有技术相比,本发明具有以下优点本发明实施例中,通过使用高速总线技术,大幅提高总线带宽,进而提升系统性能。另外通过使用板上DIMM(双面引脚内存条)插槽,可以在不同的场合下灵活的更换能带有实现不同协处理功能的DIMM条,从而增强整机在不同场合应用的通用性。图1是现有技术中不同局域网之间通过互联网通信示意图;图2是现有技术中基于PCI总线实现协处理功能的系统结构图;图3是本发明基于双倍速总线接口实现协处理功能的系统结构图;图4是本发明协处理器结构图;图5是本发明协处理器具体结构图;图6是本发明一种协处理方法实施例流程图。具体实施方式下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述本发明提供了一种处理装置,用于对接收的报文进行快速的业务处理,包括有处理器、协处理器和存储器等,其中处理器、协处理器和存储器分别通过高速总线(例如双倍速总线DDR或DDR2,或PC正总线等)通信。处理器除了用于自身的各种业务(如转发等)处理外,还需要根据预先设置的策略,将接收到的需要进行相应业务处理的报文存储到所述存储器相应空间内,并通知协处理器对该等需要处理的报文进行相应的业务处理;存储器,则分别与处理器和协处理器连接,用于存储需要进行相应业务处理的数据^^文,以供协处理器调用;协处理器,用于在接收到处理器的相应业务处理通知后,通过高速总线从存储器中读取待处理的数据报文,并在相应的业务处理完成后,通知处理器通过高速总线进行读取。协处理器通过存储器占用槽位以外的高速总线槽位与处理器实现通信连接。协处理器还包括协处理标识存储单元,用于系统启动时,通知处理器本槽位为协处理器。进一步地,本发明协处理器具体还包括处理单元,用于对需要处理的数据进行相应的业务处理;外部存储单元,用于存储需要处理的数据报文及经过业务处理的数据报文;中断接口单元,用于通知处理器读取经过相应业务处理的数据报文。处理单元具体包括收发控制子单元,用于接收需要处理的数据报文及处理器发来的业务处理通知;并发送经过相应业务处理的数据报文;内部緩存子单元,用于存储接收的需要进行业务处理的数据,及经过相应业务处理的数据;控制子单元,与内部緩存子单元或外部存储单元连接,用于调用外部存储单元或内部緩存子单元中的待处理数据,发送到协处理子单元;并将经过业务处理的数据存储到外部存储单元或内部緩存子单元,供处理器读取;协处理子单元,用于对待协处理数据进行协处理。下面结合图3对本发明处理装置进行具体描述,SOC处理器(除了内含中央处理单元外,还集成了多种控制器,为用户提供丰富的接口,如PCI控制器、DDR/DDR2控制器、串口控制器、网口控制器、DMA控制器等,相当于传统的CPU+北桥的架构)中的DDR/DDR2控制器通过DDR/DDR2总线插槽与DIMM1和DIMM2连接,DIMM1为SOC处理器的存储装置,用于存储緩存自身业务(如转发)的数据,并存储需要协处理器进行相应业务处理的数据,DIMM2为协处理器,用于对需要进行业务处理的数据进行处理。如表1所示,DDR或DDR2接口拥有比PCI总线高的多的总线带宽。表1:<table>tableseeoriginaldocumentpage8</column></row><table>协处理器具体结构如图4所示,包括DDR/DDR2标准接口、外部存储单元、控制单元(通常用FPGA(FieldProgrammableGateArray,现场可编程门阵歹'J)实现)和EEPROM(ElectricallyErasableProgrammableRead-OnlyMemory,电可擦写可编程只读存储器)。可以选用DDR/DDR2标准4妄口中间一个空闲引脚实现中断输出。EEPROM预先存储一个协处理器标识,当处理器初始化时,确认该槽位为协处理器。协处理器内的控制单元具体结构如图5所示,接收控制接口接收处理业务处理的数据,存入内部入FIFO存储单元,如果数据量超过FIFO存储域值,则存储到外部存储单元;接收的需要进行业务处理的通知通过CSR寄存器发送到控制单元。控制单元接收到需要进行业务处理的通知后,从内部入FIFO存储单元读取需要进行业务处理的数据,或通过外部存储接口控制单元从外部存储单元读取待协处理数据,发送到协处理单元进行协处理。经过协处理的数据也会被存储到外部存储单元,或内部出FIFO存储单元,当控制单元向处理器发送中断后,供所述处理器调用。由于上述协处理器直接通过DDR/DDR2总线与处理器连接,处理器的DMA完成对协处理器的通知和对经过相应业务处理的数据的调用。因此,通过本发明的方案,可以大幅提高数据业务处理的性能。另外,由于现有的交换设备中,处理器通过DDR/DDR2总线控制器支持外挂的插槽一般有多个,以方便用户以后对处理器内存的扩充,但在实际应用中,用户完全可以利用一条大容量的内存来满足处理器的需要,同时释放出其他插槽供协处理器使用,这样,利用这些空闲的槽位来实现与高性能的协处理器对接,不仅可以使用户在不增加冲殳资成本的情况下,大幅获得数据业务处理的性能,而且可以根据具体的需要,通过在这些槽位上插接不同的业务处理的协处理器,来增加现有交换i殳备的业务处理的灵活性。本发明还提供了一种通过上述处理装置进行报文处理的方法,其中所述方法包括以下步骤所述处理装置上的处理器在接收到数据^^文时,需要根据预先确定的策略判断是否需要对其所接收数据进行相应的业务处理,如果是,则将待处理的数据存储到处理存储器中,并通知所述协处理器进行协处理;否则,进行正常的业务转发或其他业务;所述协处理器通过高速总线从所述处理存储器中读取待处理数据,并在进行相应的业务处理完成后,通知所述处理器通过高速总线进行读取。所述通知处理器通过高速总线进行读取具体包括所述协处理器向所述处理器上报中断,所述中断包括经过协处理的数据存储的空间地址;所述处理器根据所述空间地址读取所述经过协处理的数据。其中上述业务处理可以包括压缩/解压缩、加密/解密等,也可以包括封装/解封装等业务。在源端进行压缩处理,则在目的端进行解压缩处理;在源端进行加密处理,则在目的端进行解密处理。由于这些业务处理的具体思路完全一致,因此,下面仅以加密/解密为例对本发明方案具体如何进行业务处理的方法予以进一步详细说明,如图6所示,包括步骤s101,处理器在上电初始化时首先读取DIMM槽位上每个DIMM条中EEPROM的信息,以确认DIMM条是否为协处理器DIMM条。如果存在协处理器DIMM,则对其进行初始化,并转步骤sl02;如果不存在,则按正常业务流程处理。步骤sl02,处理器业务端口(如网口)在收到报文后将数据存入存储器,并为其分配的指定内存空间。处理器首先对报文进行处理(如转发业务),以确定其目标地址,也就是出端口。步骤sl03,处理器判断出端口是否为安全区,如果该出端口对应的目标地址属于不安全区域,需要报文加密,转步骤sl04;否则,正常转发。步骤s104,处理器通知协处理器DIMM条专用的DMA控制器需要加密的报文所在地址。协处理器DIMM条专用的DMA控制器将报文从内存中(DIMM1)取走,并送入协处理器DIMM2进行相应的加密处理。步骤s105,数据通过FPGA的接收控制单元将数据緩存至内部FIFO存储单元,随后通过控制单元和外部存储器控制接口单元将数据存入协处理器DIMM条上的外部存储单元。在收到一个或多个数据包后,控制单元和外部存储器控制接口单元将数据取出并送往协处理单元进行加密处理。步骤s106,处理完成后,通知控制单元通过外部存储器控制接口单元将加密好的数据送外部存储单元或直接送内部出FIFO存储单元,并通过中断引脚上^t中断通知处理器。步骤sl07,处理器通过处理器专用的DMA控制器将已完成处理的报文写入指定内存空间,并上报中断通知处理器处理完毕的报文已存入指定内存空间。CPU响应中断,并通知目的出业务端口将已完成处理报文取走并发送或进行其他业务处理。对于解密的协处理流程,处理器首先判断接收的数据是加密数据,则将该数据存储到DIMM1中,然后通知协处理器调用该带解密数据进行解密,完成解密后,通过中断通知处理器读取解密后的数据。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。以上所述仅是本发明的优选实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。权利要求1、一种处理装置,应用于对接收的数据快速进行相应业务的处理,包括处理器、协处理器和存储器,其特征在于,所述处理器、协处理器和存储器分别通过高速总线通信;所述处理器,在接收到需要进行业务处理的数据时,将该待处理的数据存储到存储器中,并通知所述协处理器对待处理数据进行相应的业务处理;存储器,分别与所述处理器和协处理器连接,用于存储前述待处理数据,供所述协处理器调用;所述协处理器,接收到处理器的数据业务处理通知后,通过高速总线从所述存储器中读取待协处理数据,并在协处理完成后,通知所述处理器通过高速总线进行读取。2、如权利要求l所述协处理装置,其特征在于,所述协处理器通过所述处理存储器占用槽位以外的高速总线槽位与所述处理器连接。3、如权利要求1或2所述协处理装置,其特征在于,所述协处理器具体包括处理单元,用于对待协处理数据进^f于协处理;外部存储单元,用于存储待协处理数据及经过协处理的数据;中断接口单元,用于通知所述处理器读取所述经过协处理的数据。4、如权利要求3所述协处理装置,其特征在于,所述处理单元具体包括收发控制子单元,用于接收需要进行业务处理的数据及处理器发过来的业务处理通知;并发送经过业务处理的数据;内部緩存子单元,用于存储接收的待处理数据,及经过业务处理的数据;控制子单元,与所述内部緩存子单元或所述外部存储单元连接,用于调用外部存储单元或内部緩存子单元中的待协处理数据,发送到协处理子单元;并将经过协处理的数据存储到所述外部存储单元或内部緩存子单元,供所述处理器读取;协处理子单元,用于对待协处理数据进行协处理。5、如权利要求3所述协处理装置,其特征在于,所述协处理器还包括协处理标识存储单元,用于系统启动时,通知所述处理器本槽位为协处理器。6、如权利要求5所述协处理装置,其特征在于,所述协处理器对接在交换设备空闲的DIMM插槽。7、如权利要求l、2、4或5所述协处理装置,其特征在于,所述高速总线包括双倍速总线或PCIE总线。8、一种应用上述处理装置的处理方法,其特征在于,所述方法包括以下步骤所迷处理装置的处理器,根据事先确定的策略,判断出需要对接收的数据进行相应的业务处理时,将该待处理的数据存储到处理存储器中,并通知所述协处理器进行相应的业务处理;所述协处理器通过高速总线从所述处理存储器中读取待协处理数据,并在相应的业务处理完成后,通知所述处理器通过高速总线进行读取。9、如权利要求8所述协处理方法,其特征在于,所述处理器确定需要对接收数据进行协处理之前还包括通过读取协处理标识确定协处理器。10、如权利要求8所述协处理方法,其特征在于,所述通知处理器通过高速总线进行读取具体包括所述协处理器向所述处理器上^^艮中断,所迷中断包括经过协处理的数据存储的空间地址;所述处理器根据所述空间地址读取所述经过协处理的数据。11、如权利要求8所述协处理方法,其特征在于,所述协处理包括压缩/解压缩、加密/解密、封装/解封装。12、如权利要求8至11中任一项所述协处理方法,其特征在于,所迷高速总线包括双倍速总线或PC正总线。全文摘要本发明提供了一种快速处理报文的装置,应用于对接收的数据快速进行相应业务的处理,包括处理器、协处理器和存储器,所述处理器、协处理器和存储器分别通过高速总线通信;所述处理器,在收到需要进行业务处理的数据时,将其存储到存储器中,并通知所述协处理器对待处理数据进行相应的业务处理;存储器,分别与所述处理器和协处理器连接,用于存储前述待处理数据,供所述协处理器调用;所述协处理器,收到处理器的数据业务处理通知后,通过高速总线从所述存储器中读取待协处理数据,并在协处理完成后,通知所述处理器通过高速总线进行读取。本发明还提供一种快速处理报文的方法。本发明使用高速总线技术,大幅提高总线带宽,进而提升系统性能。文档编号H04L29/02GK101159729SQ200710145758公开日2008年4月9日申请日期2007年9月5日优先权日2007年9月5日发明者浩田申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1