CN105656994B - 一种业务加速方法和装置 - Google Patents

一种业务加速方法和装置 Download PDF

Info

Publication number
CN105656994B
CN105656994B CN201510991878.0A CN201510991878A CN105656994B CN 105656994 B CN105656994 B CN 105656994B CN 201510991878 A CN201510991878 A CN 201510991878A CN 105656994 B CN105656994 B CN 105656994B
Authority
CN
China
Prior art keywords
message
accelerating
accelerating engine
routing iinformation
engine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510991878.0A
Other languages
English (en)
Other versions
CN105656994A (zh
Inventor
石仔良
王�琦
刘涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN105656994A publication Critical patent/CN105656994A/zh
Application granted granted Critical
Publication of CN105656994B publication Critical patent/CN105656994B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种业务加速装置,与多个业务处理模块和多个加速引擎相连,多个加速引擎之间进行全互连,多个加速引擎对应多种加速类型;该装置包括:接收模块,用于接收多个业务处理模块中的第一业务处理模块请求对第一报文进行加速处理的加速申请,根据该加速申请确定第一业务处理模块请求对第一报文进行加速处理的第一加速类型;确定模块,用于确定第一加速类型所对应的目标加速引擎;信息添加模块,用于根据目标加速引擎的标识信息生成路由信息,并根据路由信息和第一报文中生成第二报文,并将第二报文发送给多个加速引擎中的其中一个;使得接收到第二报文的加速引擎根据路由信息对第二报文进行加速处理或者是转发给多个加速引擎中的其他加速引擎进行处理。

Description

一种业务加速方法和装置
技术领域
本发明涉及电子技术领域,尤其涉及一种业务加速方法和装置。
背景技术
当前电信和互联网业务一方面发展朝着超带宽方向发展,另一方业务类型不断增多,传统基于专用业务开发专用硬件加速设备的方式因已经难以为继。在在这种背景下,运营商阵营提出了网络功能虚拟化(NFV)的概念,通过借用IT的虚拟化技术,在标准的IT服务器上通过软件实现诸如路由器、交换机、防火墙和网络存储设备等网络功能,来实现通信网络硬件设备的标准化和简单化,以实现降成本和业务的快速部署、创新,然而,标准的IT服务器运行的软件许多场景下难以满足通信网络的性能和延时目标,因此需要硬件加速设备对业务进行加速。
将不同类型的加速器资源通过互连网络(如以太网等)和业务处理单元相连,解除加速器资源和业务单元一对一的绑定关系,提供加速器资源和业务单元的灵活分配机制。加速器资源与业务处理单元互联的系统如图1所示。
该系统初始化完成后,会固定的给每个业务处理单元分配默认的加速器资源,如初始化地将加速器资源A指派给业务处理单元A,将加速器资源B指派给业务处理单元B,将加速器资源C指派给业务处理单元C。对于需要多种硬件加速的业务,需要业务不断的在业务处理单元和加速器之间通过网络来回传输。
基于现有技术方案虽然可以实现加速器资源的动态分配,但是对于需要多种加速的业务,需要将业务来回的在业务处理单元和加速器资源之间进行网络传输,导致业务加速处理占用了大量的网络资源,并且时延很大。
发明内容
本发明提供一种业务加速方法和装置,本发明所提供的方法和装置解决现有技术中对于需要多种加速的业务,需要将业务来回的在业务处理单元和加速器资源之间进行网络传输,导致业务加速处理占用了大量的网络资源,并且时延很大的问题。
第一方面,提供一种业务加速装置,该装置与多个业务处理模块和多个加速引擎相连,并且所述多个加速引擎对多种加速类型;该装置包括:
接收模块,用于接收所述多个业务处理模块中的第一业务处理模块请求对第一报文进行加速处理的加速申请,根据该加速申请确定所述第一业务处理模块请求对所述第一报文进行加速处理的第一加速类型;
确定模块,用于确定所述第一加速类型所对应的目标加速引擎;
信息添加模块,用于根据所述目标加速引擎的标识信息生成路由信息,并将所述路由信息添加到所述第一报文中生成第二报文,并将所述第二报文发送给所述多个加速引擎中的任意一个;使得接收到所述第二报文的加速引擎根据所述路由信息对所述第二报文进行加速处理或者是转发到所述多个加速引擎中的其他加速引擎。
结合第一方面,在第一种可能的实现方式中,当所述第一加速类型中包括多种加速类型时,则所述确定模块还用于获取所述加速申请携带的顺序信息,其中,所述顺序信息用于标示对所述第一报文进行多种加速类型的加速处理时,进行不同加速类型处理的先后顺序;
对应的所述信息添加模块还用于根据所述顺序信息将所述目标加速引擎的标识信息组合后生成所述路由信息。
结合第一方面,或者第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述信息添加模块还用于将所述多个加速引擎的总数添加到所述路由信息中,使得接收到所述第二报文的加速引擎根据所述总数确定所述路由信息是否正确。
第二方面,提供一种加速引擎,该加速引擎为第一加速引擎,该第一加速引擎与多个加速引擎连接,该第一加速引擎包括:
接收模块,用于接收待加速的第一报文;
解析模块,用于从所述第一报文中获取路由信息,检测所述路由信息中是否包括自身的标识信息,如果包括,则对所述第一报文进行加速处理,并将加速处理后得到的第二报文转发到所述多个加速引擎中的第二加速引擎;否则,直接将所述第二报文转发到所述第二加速引擎;其中,所述第二加速引擎为所述路由信息中下一个目的加速引擎编号对应的加速引擎。
结合第二方面,在第一种可能的实现方式中,该第一加速引擎还包括:
路由信息调整模块,用于将加速处理后得到的第二报文转发到所述多个加速引擎中的第二加速引擎之前,将所述自身的标识信息从所述路由信息中删除。
第三方面,提供一种业务加速方法,该方法应用于业务加速装置中,该装置与多个业务处理模块和多个加速引擎相连,并且所述多个加速引擎对多种加速类型;该方法包括:
接收所述多个业务处理模块中的第一业务处理模块请求对第一报文进行加速处理的加速申请,根据该加速申请确定所述第一业务处理模块请求对所述第一报文进行加速处理的第一加速类型;
确定所述第一加速类型所对应的目标加速引擎;
根据所述目标加速引擎的标识信息生成路由信息,并将所述路由信息添加到所述第一报文中生成第二报文,并将所述第二报文发送给所述多个加速引擎中的任意一个;使得接收到所述第二报文的加速引擎根据所述路由信息对所述第二报文进行加速处理或者是转发到所述多个加速引擎中的其他加速引擎。
结合第三方面,在第一种可能的实现方式中,当所述第一加速类型包括多种加速类型时,所述根据所述目标加速引擎的标识信息生成路由信息包括:
获取所述加速申请中携带的顺序信息;其中,所述顺序信息用于标示对所述第一报文进行多种类型的加速处理时,进行不同加速类型处理的先后顺序;
所述顺序信息将所述目标加速引擎的标识信息组合后生成所述路由信息。
结合第三方面,或者第三方面的第一种可能的实现方式,在第二种可能的实现方式中,该方法进一步包括:
将所述多个加速引擎的总数添加到所述路由信息中,使得接收到所述第二报文的加速引擎根据所述总数确定所述路由信息是否正确。
第四方面,提供一种报文转发方法,该方法应用于第一加速引擎中,该第一加速引擎与多个加速引擎连接,该方法包括:
接收待加速的第一报文;
从所述第一报文中获取路由信息,检测所述路由信息中是否包括自身的标识信息,如果包括,则对所述第一报文进行加速处理,并将加速处理后得到的第二报文转发到所述多个加速引擎中的第二加速引擎;否则,直接将所述第二报文转发到所述第二加速引擎;其中,所述第二加速引擎为所述路由信息中下一个目的加速引擎编号对应的加速引擎。
结合第四方面,在第一种可能的实现方式中,所述将加速处理后得到的第二报文转发到所述多个加速引擎中的第二加速引擎之前,该方法还进一步包括:将所述自身的标识信息从所述路由信息中删除。
第五方面,本发明实施例提供了一种业务加速装置,该装置与多个业务处理模块和多个加速引擎相连,所述多个加速引擎之间进行全互连,并且所述多个加速引擎对应多种加速类型;该装置包括:
接收模块,用于接收所述多个业务处理模块中的第一业务处理模块请求对第一报文进行加速处理的加速申请,根据该加速申请确定所述第一业务处理模块请求对所述第一报文进行加速处理的第一加速类型;
确定模块,用于确定所述第一加速类型所对应的目标加速引擎;
信息添加模块,用于根据所述目标加速引擎的标识信息生成路由信息,并根据所述路由信息和所述第一报文中生成第二报文,并将所述第二报文发送给所述多个加速引擎中的其中一个;使得接收到所述第二报文的加速引擎根据所述路由信息对所述第二报文进行加速处理或者是转发给所述多个加速引擎中的其他加速引擎进行处理。
结合第五方面,第一种可能的形式中,当所述第一加速类型中包括多种加速类型时,则所述确定模块还用于获取所述加速申请携带的顺序信息,其中,所述顺序信息用于标示对所述第一报文进行多种加速类型的加速处理时,进行不同加速类型处理的先后顺序;
对应的所述信息添加模块还用于根据所述顺序信息将所述目标加速引擎的标识信息组合后生成所述路由信息。
结合第五方面以及第一方面的第一种可能的实现形式,在第二种可能的实现形式中,所述信息添加模块还用于将所述多个加速引擎的总数添加到所述路由信息中,使得接收到所述第二报文的加速引擎根据所述总数确定所述路由信息是否正确并在不正确时进行出错处理。
结合第五方面第一种可能的实现形式,在第三种可能的实现形式中,所述信息添加模块用于将所述第二报文发送给所述多个加速引擎中的其中一个时,具体用于:
将所述第二报文发送给所述多个加速引擎中的、所述顺序信息标示的第一个进行加速处理的加速引擎。
结合第五方面及第五方面第一到第三种任一种可能的实现形式,在第四种可能的实现形式中,信息添加模块根据路由信息以及第一报文生成第二报文时,具体用于:
利用所述路由信息、所述第一报文的数据净荷以及其他传输协议所需的控制字段一起生成所述第二报文;或者,
当所述第一报文也通过一个字段携带有第一报文的路由信息时,将所述第一报文的路由信息更新为信息添加模块生成的所述路由信息,并基于所述路由信息以及所述第一报文中的数据净荷生成所述第二报文。
第六方面,本发明实施例公开了一种加速系统,包括第五方面及第五方面第一到第四任一所述的加速装置,以及第二方面以及第二方面第一方面所述的加速引擎。
上述技术方案中的一个或多个,至少具有如下技术效果:
本发明实施例所提供的方法和装置,各个加速引擎之间是互联的,所以将报文发送给加速引擎之前可以获取需要对报文进行加速处理的目标引擎的唯一标识,然后通过该位移标识生成路由信息,然后接收到路由信息的加速引擎就可以根据该路由信息将报文转发到对应的加速引擎对报文加速处理。从而能够优化需要多次加速报文的处理流程,使需要多次加速的业务报文不需要在业务处理单元和加速器之间的多次传输,也不需要报文在加速器内部的加速器管理模块的多次转发,简化了多次加速业务的处理延时,提升了系统的性能。
附图说明
图1为现有技术中动态分配加速器资源的业务加速系统结构示意图;
图2为本发明实施例提供一种业务加速装置的结构示意图;
图3为本发明实施例提供一种加速引擎的结构示意图;
图4为本发明实施例提供一种业务加速方法的流程示意图;
图5为本发明实施例提供一种报文转发方法的流程示意图;
图6为本发明实施例提供的一种加速系统的架构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合说明书附图对本发明实施例作进一步详细描述。
实施例一
如图2所示,本发明实施例提供一种业务加速装置,该装置与多个业务处理模块和多个加速引擎相连,并且所述多个加速引擎对多种加速类型;该装置包括:
接收模块201,用于接收所述多个业务处理模块中的第一业务处理模块请求对第一报文进行加速处理的加速申请,根据该加速申请确定所述第一业务处理模块请求对所述第一报文进行加速处理的第一加速类型;
在本发明实施例中,加速处理的类型可以包括但不限于以下内容:压缩、解压缩、加密、解密、编码和解码等加速类型。
确定模块202,用于确定所述第一加速类型所对应的目标加速引擎;
在该实施例中,可以通过获取预存的加速引擎与加速类型的对应关系确定可以执行某种加速类型的加速引擎;例如:预先存储的对应关系中加速引擎1对应的加速类型为解码;加速引擎2对应的加速类型为编码,则如果对第一报文进行加速处理的加速申请中,要求对第一报文进行编解码的加速处理,则可以通过预存的对应的关系确定加速引擎1和加速引擎2。
信息添加模块203,用于根据所述目标加速引擎的标识信息生成路由信息,并将所述路由信息添加到所述第一报文中生成第二报文,并将所述第二报文发送给所述多个加速引擎中的任意一个;使得接收到所述第二报文的加速引擎根据所述路由信息对所述第二报文进行加速处理或者是转发到所述多个加速引擎中的其他加速引擎。
在本发明实施例中,各个加速引擎之间是互联的,所以将报文发送给加速引擎之前可以获取需要对报文进行加速处理的目标引擎的唯一标识,然后通过该位移标识生成路由信息,然后接收到路由信息的加速引擎就可以根据该路由信息将报文转发到对应的加速引擎对报文加速处理。从而能够优化需要多次加速报文的处理流程,使需要多次加速的业务报文不需要在业务处理单元和加速器之间的多次传输,也不需要报文在加速器内部的加速器管理模块的多次转发,简化了多次加速业务的处理延时,提升了系统的性能。
对报文进行不同加速类型的加速处理时,基于每种加速类型的特征各种加速类型一起处理时,需要提前确定各加速处理的先后顺序,所以当所述第一加速类型中包括多种加速类型时:
确定模块202,还用于获取所述加速申请携带的顺序信息,其中,所述顺序信息用于标示对所述第一报文进行多种加速类型的加速处理时,进行不同加速类型处理的先后顺序;
在实施例中,顺序信息可以是业务处理单元在发送报文时候,根据报文所需要加速类型的特性进行设置的,而且该顺序信息携带在报文中发送到加速引擎。
对应的所述信息添加模块203还用于根据所述顺序信息将所述目标加速引擎的标识信息组合后生成所述路由信息。
进一步,因为在加速引擎之间转发报文,可能会出现报文出错的情况为了避免出错的报文在系统中循环处理浪费系统资源,则进一步包括:
所述信息添加模块203还用于将所述多个加速引擎的总数添加到所述路由信息中,使得接收到所述第二报文的加速引擎根据所述总数确定所述路由信息是否正确,如果不正确,则接收到所述第二报文的加速引擎进行出错处理(如丢弃报文、要求重传报文等)。
在具体实现中,目标引擎的个数是要小于加速引擎的总数的,所以当加速引擎接收到报文,如果根据路由信息确定加速引擎总数小于目标引擎的个数,则认为路由信息错误,则可对该报文进行丢弃或要求重传等出错处理。
实施例二
基于上述实施例,如图3所示,本发明实施例还提供一种加速引擎,该加速引擎为第一加速引擎,该第一加速引擎与多个加速引擎连接,该第一加速引擎包括:
接收模块301,用于接收待加速的第一报文;
解析模块302,用于从所述第一报文中获取路由信息,检测所述路由信息中是否包括自身的标识信息,如果包括,则对所述第一报文进行加速处理,并将加速处理后得到的第二报文转发到所述多个加速引擎中的第二加速引擎;否则,直接将所述第二报文转发到所述第二加速引擎;其中,所述第二加速引擎为所述路由信息中下一个目的加速引擎编号对应的加速引擎。
在该实施例中,加速引擎接收到报文解析报文中携带的路由信息,根据路由信息中携带的标识确定自身是否需要对报文进行加速处理,如果路由信息中包括自身标识,则说明自身是需要对报文进行加速处理的目标加速引擎,则对报文进行加速处理;如果路由信息中没有自身标识,则将报文转发到需要对报文进行加速处理的目标加速引擎(路由信息中的加速引擎标识对应的加速引擎)。
在具体的实现中,当前加速引擎对报文进行加速处理后,路由信息中当前加速引擎对应的标识则失效了,该第一加速引擎还包括:
路由信息调整模块,用于在将加速处理后得到的第二报文转发到所述多个加速引擎中的第二加速引擎之前,将所述自身的标识信息从所述路由信息中删除。
实施例三
基于上述各实施例,如图4所示,本发明实施例还提供一种业务加速方法,该方法应用于业务加速装置中,该装置与多个业务处理模块和多个加速引擎相连,并且所述多个加速引擎对多种加速类型;该方法包括:
步骤401,接收所述多个业务处理模块中的第一业务处理模块请求对第一报文进行加速处理的加速申请,根据该加速申请确定所述第一业务处理模块请求对所述第一报文进行加速处理的第一加速类型;
步骤402,确定所述第一加速类型所对应的目标加速引擎;
步骤403,根据所述目标加速引擎的标识信息生成路由信息,并将所述路由信息添加到所述第一报文中生成第二报文,并将所述第二报文发送给所述多个加速引擎中的任意一个;使得接收到所述第二报文的加速引擎根据所述路由信息对所述第二报文进行加速处理或者是转发到所述多个加速引擎中的其他加速引擎。
在实施例中,顺序信息可以是业务处理单元在发送报文时候,根据报文所需要加速类型的特性进行设置的,而且该顺序信息携带在报文中发送到加速引擎;所以当所述第一加速类型包括多种加速类型时,所述根据所述目标加速引擎的标识信息生成路由信息包括:
获取所述加速申请中携带的顺序信息;其中,所述顺序信息用于标示对所述第一报文进行多种类型的加速处理时,进行不同加速类型处理的先后顺序;
所述顺序信息将所述目标加速引擎的标识信息组合后生成所述路由信息。
进一步,因为在加速引擎之间转发报文,可能会出现报文出错的情况为了避免出错的报文在系统中循环处理浪费系统资源,该方法进一步包括:
将所述多个加速引擎的总数添加到所述路由信息中,使得接收到所述第二报文的加速引擎根据所述总数确定所述路由信息是否正确。
在具体实现中,目标引擎的个数是要小于加速引擎的总数的,所以当加速引擎接收到报文,如果根据路由信息确定加速引擎总数小于目标引擎的个数,则认为路由信息错误,则可对该报文进行丢弃或要求重传等校正处理。
实施例四
基于上述各实施例,如图5所示,本发明实施例提一种报文转发方法,该方法应用于第一加速引擎中,该第一加速引擎与多个加速引擎连接,该方法包括:
步骤501,接收待加速的第一报文;
步骤502,从所述第一报文中获取路由信息,检测所述路由信息中是否包括自身的标识信息,如果包括,则对所述第一报文进行加速处理,并将加速处理后得到的第二报文转发到所述多个加速引擎中的第二加速引擎;否则,直接将所述第二报文转发到所述第二加速引擎;其中,所述第二加速引擎为所述路由信息中下一个目的加速引擎编号对应的加速引擎。
在具体的实现中,当前加速引擎对报文进行加速处理后,路由信息中当前加速引擎对应的标识则失效了,则所述将加速处理后得到的第二报文转发到所述多个加速引擎中的第二加速引擎之前,该方法还进一步包括:将所述自身的标识信息从所述路由信息中删除。
在具体的应用环境中,可以预先对各加速引擎统一编号,统一编号后各加速引擎对应的编号即为每个加速引擎的标识信息;例如:加速器管理模块(该模块用于对报文进行转发和加速类型确定等功能,实现加速引擎和业务处理单元之间的连接)编号为0,各加速引擎统一顺序编号1、2、3、4……等。
加速器管理模块每接收到一个待加速处理的业务报文,首先解析该业务报文的加速类型和加速类型的加速顺序信息,然后将解析得到的信息放在报文的路由头中,然后将业务报文发送到下一个目的地,路由头具体包含加速的数目、加速的顺序信息和长度信息。
在具体实例中,如果一个加速业务需要三种加速,分别是解压缩、解密、压缩三种加速,三种加速独有的加速引擎编号分别为1、3、7,加速器管理模块连接有8个加速引擎,则路由信息如下表1所示。
表1
其中,加速引擎个数,表示加速引擎管理模块所连接的加速引擎的总数;
目的地址的个数,表示该业务需要转发的目的地址的个数,在该实例中,目的地址包含3个加速引擎和加速引擎管理模块。1、3、7表示需要一次经过加速引擎1、加速引擎3、加速引擎7的加速处理。0表示最后转发目的端为加速引擎管理模块。
在具体的应用环境中,如果加速引擎管理模块检测到加速引擎1、加速引擎3、加速引擎7都没有和自身直接互连,则将报文随机发送到一个和自设直接互连的加速引擎中,然后再通过这个加速引擎将报文转发到目的地址。
当报文首达到加速引擎1完成加速处理后,加速引擎1会将报文中的路由信息修改成如下表2所示格式:
表2
因为加速引擎1对报文进行加速处理后,加速引擎1的标识信息则失效了,所以加速引擎1在转发报文之前,会将路由信息中的内容进行调整。然后将报文转发到加速引擎3,加速引擎7同样的处理后,当检测到下一个目的地址为0,就将报文直接转发到加速引擎管理模块。然后加速引擎管理模块将完成所有加速处理的报文转发到业务处理单元。
通过这种方式,对于需要多种加速的报文可以直接在加速引擎之间路由,不需要在业务处理单元和加速引擎之间多次传输,简化了多次加速业务的处理延时,提升了系统的性能。
本申请实施例中的上述一个或多个技术方案,至少具有如下的技术效果:
在本发明实施例中,各个加速引擎之间是互联的,所以将报文发送给加速引擎之前可以获取需要对报文进行加速处理的目标引擎的唯一标识,然后通过该位移标识生成路由信息,然后接收到路由信息的加速引擎就可以根据该路由信息将报文转发到对应的加速引擎对报文加速处理。从而能够优化需要多次加速报文的处理流程,使需要多次加速的业务报文不需要在业务处理单元和加速器之间的多次传输,也不需要报文在加速器内部的加速器管理模块的多次转发,简化了多次加速业务的处理延时,提升了系统的性能。
实施例五
基于上述各实施例,本发明实施例提供了一种业务加速装置62,该装置用于业务加速系统60中,其中,如图6所示,为业务加速系统60结构示意图,除了包括业务加速装置62以外,还包括多个加速引擎61,各个加速引擎之间进行全互连(即每个加速引擎都与所有的其他加速引擎互连),优选地,业务加速装置62与每个加速引擎都互连,当然,另一实施例中,业务加速装置也可以与其中一个或多个加速引擎互连。图中所示的业务处理模块64在产品形态上可以是服务器、终端等需要完成业务处理的产品,这些业务处理模块在处理业务时,如果需要对业务进行加速,可以将请求发送给本实施例提供的系统60,通过系统内的业务加速装置62以及一个或多个业务加速引擎61来对业务进行加速处理。
多个加速引擎对应于多种加速类型,优选地,为一一对应,即每个加速引擎对应于一种加速类型;在另一种实现方式中,也可以让一个加速引擎对应多种加速类型,即同时具备多种加速能力。
为了加快处理速度,系统60内的各个加速引擎61以及业务加速装置62都用FPGA或者ASIC进行实现,当然,如果在一些对速度要求不是特别高的场景下,其中一部分单元(如一部分加速引擎或者业务加速装置)可由通用的CPU、DSP之类的处理器来实现。但需要注意的是,无论是用什么器件实现,优选地,基于这些硬件器件实现的加速器处理请求报文的速度在通常情况下都要快于业务处理模块64本身处理报文的速度,否则,业务处理模块64就不需要将报文转发给加速系统来进行“加速”处理了,其自己处理就能够满足“加速”需求了。
参见图2,为业务加速装置62的结构示意图,业务加速装置62包括:
接收模块201,用于接收所述多个业务处理模块中的第一业务处理模块请求对第一报文进行加速处理的加速申请,根据该加速申请确定所述第一业务处理模块请求对所述第一报文进行加速处理的第一加速类型;
确定模块202,用于确定所述第一加速类型所对应的目标加速引擎;
信息添加模块203,用于根据所述目标加速引擎的标识信息(例如,可以是加速引擎的编号)生成路由信息,并根据所述路由信息以及所述第一报文生成第二报文,其中,所述第二报文携带有所述路由信息;并将所述第二报文发送给所述多个加速引擎中的其中一个;使得接收到所述第二报文的加速引擎根据所述路由信息对所述第二报文进行加速处理或者是转发给所述多个加速引擎中的其他加速引擎进行处理。
后续加速引擎处理后的,最后一个处理引擎将处理结构返回给业务加速装置62(也可以通过接收模块201来接收这个返回结果),并将该结果通过互连网络63返回给业务处理模块。
其中,信息添加模块203根据路由信息以及第一报文生成第二报文时,具体可以利用路由信息、第一报文的数据净荷以及其他传输协议所需的控制字段一起生成第二报文;或者如果第一报文中也通过一个字段携带有路由信息,此时,可以把这个携带的路由信息更新为信息添加模块203生成的路由信息,并基于这个路由信息以及第一报文中的数据净荷生成第二报文。需要说明的是,路由信息可以携带在一些预定义的字段上,例如预留的字段,或者也可以跟数据净荷一样都通过净荷字段来实现。
每个加速引擎也都具有解析报文的能力,通过解析报文,可以得到路由信息,并根据路由信息进行转发(具体可参见实施例四中的具体示例。优选地,信息添加模块203将第二报文发送给路由信息中定义的第一个待处理的加速引擎,这样可以减少转发跳数,加快处理过程。
例如,第二报文中的路由信息中定义先发给2号加速引擎,再发1号加速引擎,最后发给3号加速引擎,此时信息添加模块203通过解析路由信息就可以这个第二报文应该先被2号加速引擎处理,这样,在转发的时候,先转发给2号加速引擎,然后2号加速引擎再转发给1号加速引擎,然后1加速引擎再转发给3号加速引擎。在这过程中,每个加速引擎收到报文后,可以更新一下里面的路由信息,例如,2号加速引擎收到第二报文后,将当前路由信息中需要自己处理的部分去除,留下其他加速引擎需要处理的部分;然后再生成包括这个更新后的路由信息报文;同理,其他加速引擎也进行类似处理,从而实现一个报文在多个加速引擎中的转发。
这些各个模块优选地基于FPGA、ASIC等基于硬件处理的芯片来实现,这样,相比于用CPU等通用的基于软件的处理器来说速度更快。
本发明实施例中,业务加速装置在收到业务处理模块发送的请求时,只将该请求转发到其中一个业务加速引擎,后续由加速引擎通过全连接的加速引擎之间的网络转发给其他的加速引擎,这样,转发报文的任务就不会都由业务加速装置承担,降低了在流量很大的情况下,业务加速装置无法及时处理,造成业务中断的情况的发生。
本发明所述的方法并不限于具体实施方式中所述的实施例,本领域技术人员根据本发明的技术方案得出其它的实施方式,同样属于本发明的技术创新范围。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (13)

1.一种业务加速装置,其特征在于,该装置与多个业务处理模块和多个加速引擎相连,所述多个加速引擎之间进行全互连,并且所述多个加速引擎对应多种加速类型;该装置包括:
接收模块,用于接收所述多个业务处理模块中的第一业务处理模块请求对第一报文进行加速处理的加速申请,根据该加速申请确定所述第一业务处理模块请求对所述第一报文进行加速处理的第一加速类型;
确定模块,用于确定所述第一加速类型所对应的目标加速引擎;
信息添加模块,用于根据所述目标加速引擎的标识信息生成路由信息,并根据所述路由信息和所述第一报文生成第二报文,并将所述第二报文发送给所述多个加速引擎中的其中一个;使得接收到所述第二报文的加速引擎根据所述路由信息对所述第二报文进行加速处理或者是转发给所述多个加速引擎中的其他加速引擎进行处理。
2.如权利要求1所述的装置,其特征在于,当所述第一加速类型中包括多种加速类型时,则所述确定模块还用于获取所述加速申请携带的顺序信息,其中,所述顺序信息用于标示对所述第一报文进行多种加速类型的加速处理时,进行不同加速类型处理的先后顺序;
对应的所述信息添加模块还用于根据所述顺序信息将所述目标加速引擎的标识信息组合后生成所述路由信息。
3.如权利要求1或2任一所述的装置,其特征在于,所述信息添加模块还用于将所述多个加速引擎的总数添加到所述路由信息中,使得接收到所述第二报文的加速引擎根据所述总数确定所述路由信息是否正确并在不正确时进行出错处理。
4.如权利要求2所述的装置,其特征在于,所述信息添加模块用于将所述第二报文发送给所述多个加速引擎中的其中一个时,具体用于:
将所述第二报文发送给所述多个加速引擎中的、所述顺序信息标示的第一个进行加速处理的加速引擎。
5.如权利要求1或2所述的加速装置,其特征在于,所述信息添加模块根据路由信息以及第一报文生成第二报文时,具体用于:
利用所述路由信息、所述第一报文的数据净荷以及其他传输协议所需的控制字段一起生成所述第二报文;或者,
当所述第一报文也通过一个字段携带有第一报文的路由信息时,将所述第一报文的路由信息更新为信息添加模块生成的所述路由信息,并基于所述路由信息以及所述第一报文中的数据净荷生成所述第二报文。
6.一种加速引擎,其特征在于,该加速引擎为第一加速引擎,该第一加速引擎与多个加速引擎连接,该第一加速引擎包括:
接收模块,用于接收待加速的第一报文;
解析模块,用于从所述第一报文中获取路由信息,检测所述路由信息中是否包括自身的标识信息,如果包括,则对所述第一报文进行加速处理,并将加速处理后得到的第二报文转发到所述多个加速引擎中的第二加速引擎;否则,直接将所述第二报文转发到所述第二加速引擎;其中,所述第二加速引擎为所述路由信息中下一个目的加速引擎编号对应的加速引擎。
7.如权利要求6所述的加速引擎,其特征在于,该第一加速引擎还包括:
路由信息调整模块,用于将加速处理后得到的第二报文转发到所述多个加速引擎中的第二加速引擎之前,将所述自身的标识信息从所述路由信息中删除。
8.一种业务加速方法,其特征在于,该方法应用于业务加速装置中,该装置与多个业务处理模块和多个加速引擎相连,并且所述多个加速引擎对多种加速类型;该方法包括:
接收所述多个业务处理模块中的第一业务处理模块请求对第一报文进行加速处理的加速申请,根据该加速申请确定所述第一业务处理模块请求对所述第一报文进行加速处理的第一加速类型;
确定所述第一加速类型所对应的目标加速引擎;
根据所述目标加速引擎的标识信息生成路由信息,并根据所述路由信息和所述第一报文中生成第二报文,并将所述第二报文发送给所述多个加速引擎中的其中一个;使得接收到所述第二报文的加速引擎根据所述路由信息对所述第二报文进行加速处理或者是转发给所述多个加速引擎中的其他加速引擎进行处理。
9.如权利要求8所述的方法,其特征在于,当所述第一加速类型包括多种加速类型时,所述根据所述目标加速引擎的标识信息生成路由信息包括:
获取所述加速申请中携带的顺序信息;其中,所述顺序信息用于标示对所述第一报文进行多种类型的加速处理时,进行不同加速类型处理的先后顺序;
所述顺序信息将所述目标加速引擎的标识信息组合后生成所述路由信息。
10.如权利要求8或9任一所述的方法,其特征在于,该方法进一步包括:
将所述多个加速引擎的总数添加到所述路由信息中,使得接收到所述第二报文的加速引擎根据所述总数确定所述路由信息是否正确并在不正确时进行出错处理。
11.一种报文转发方法,其特征在于,该方法应用于第一加速引擎中,该第一加速引擎与多个加速引擎连接,该方法包括:
接收待加速的第一报文;
从所述第一报文中获取路由信息,检测所述路由信息中是否包括自身的标识信息,如果包括,则对所述第一报文进行加速处理,并将加速处理后得到的第二报文转发到所述多个加速引擎中的第二加速引擎;否则,直接将所述第二报文转发到所述第二加速引擎;其中,所述第二加速引擎为所述路由信息中下一个目的加速引擎编号对应的加速引擎。
12.如权利要求11所述的方法,其特征在于,所述将加速处理后得到的第二报文转发到所述多个加速引擎中的第二加速引擎之前,该方法还进一步包括:将所述自身的标识信息从所述路由信息中删除。
13.一种加速系统,其特征在于,包括权利要求1-5任一所述的加速装置以及权利要求6-7任一所述的加速引擎。
CN201510991878.0A 2014-12-31 2015-12-25 一种业务加速方法和装置 Active CN105656994B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2014108566510 2014-12-31
CN201410856651 2014-12-31

Publications (2)

Publication Number Publication Date
CN105656994A CN105656994A (zh) 2016-06-08
CN105656994B true CN105656994B (zh) 2019-02-05

Family

ID=56477603

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510991878.0A Active CN105656994B (zh) 2014-12-31 2015-12-25 一种业务加速方法和装置

Country Status (1)

Country Link
CN (1) CN105656994B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105979007B (zh) 2016-07-04 2020-06-02 华为技术有限公司 加速资源处理方法、装置及网络功能虚拟化系统
CN111901240B (zh) * 2020-07-17 2023-04-18 厦门网宿有限公司 一种路由更新方法、网络加速系统、服务器及交换机
CN114978806A (zh) * 2022-05-05 2022-08-30 上海联虹技术有限公司 基于硬件加速的数据传输方法及其装置、处理器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101237346A (zh) * 2008-02-29 2008-08-06 中兴通讯股份有限公司 网络处理器及网络处理器的读写串口的方法
CN101262352A (zh) * 2008-03-04 2008-09-10 浙江大学 一体化安全管理中数据统一加速处理方法
CN101668005A (zh) * 2009-09-25 2010-03-10 东南大学 一种基于发送端多接入通道的数据传输加速引擎方法
CN102932458A (zh) * 2012-11-02 2013-02-13 上海电机学院 一种ppp协议的硬件加速系统及其实现方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101237346A (zh) * 2008-02-29 2008-08-06 中兴通讯股份有限公司 网络处理器及网络处理器的读写串口的方法
CN101262352A (zh) * 2008-03-04 2008-09-10 浙江大学 一体化安全管理中数据统一加速处理方法
CN101668005A (zh) * 2009-09-25 2010-03-10 东南大学 一种基于发送端多接入通道的数据传输加速引擎方法
CN102932458A (zh) * 2012-11-02 2013-02-13 上海电机学院 一种ppp协议的硬件加速系统及其实现方法

Also Published As

Publication number Publication date
CN105656994A (zh) 2016-06-08

Similar Documents

Publication Publication Date Title
CN108377671B (zh) 处理报文的方法和计算机设备
CN104243281B (zh) 基于移动互联网的语音通信方法
CN111083161A (zh) 数据传输的处理方法及装置、物联网设备
EP3142300A1 (en) Video signal transmission system
CN108494817A (zh) 数据传输方法、相关装置及系统
CN102638582B (zh) 数据通信方法及通信端
CN109196842B (zh) 一种会话保持方法、设备及存储介质
JP6395867B2 (ja) OpenFlow通信方法及びシステム、制御部、並びにサービスゲートウェイ
CN105847142B (zh) 一种报文传输方法及装置
EP2710776A1 (en) Anonymous signalling
CN105656994B (zh) 一种业务加速方法和装置
CN107181971A (zh) 一种iptv终端的升级方法及相关设备
CN113992733A (zh) 边缘网关接入物联网设备的方法、装置、电子设备和介质
US9548921B2 (en) Compression of routing information exchanges
CN102427452B (zh) 同步报文发送方法、装置和网络设备
CN109089299A (zh) 一种基于SmartConfig模式让设备注册到云端的配网方法
CN107483628A (zh) 基于dpdk的单向代理方法及系统
EP3672189A1 (en) Data transmission method, device and system
CN115865334A (zh) 量子密钥分发方法、装置及电子设备
US9148366B2 (en) Interactive header compression in peer-to-peer communications
CN101783763B (zh) 防拥塞的处理方法及系统
CN105634911B (zh) 会话建立方法及装置
CN101860544A (zh) 会话启动协议消息的发送系统及方法
CN111865884B (zh) 一种报文处理方法、装置及设备
CN110830295B (zh) 一种设备管理方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant