CN101442547B - 一种报文处理方法、系统及设备 - Google Patents
一种报文处理方法、系统及设备 Download PDFInfo
- Publication number
- CN101442547B CN101442547B CN2008101831488A CN200810183148A CN101442547B CN 101442547 B CN101442547 B CN 101442547B CN 2008101831488 A CN2008101831488 A CN 2008101831488A CN 200810183148 A CN200810183148 A CN 200810183148A CN 101442547 B CN101442547 B CN 101442547B
- Authority
- CN
- China
- Prior art keywords
- protocol stack
- message
- app
- mapping table
- distributed protocol
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种报文处理方法,包括:提取接收报文的特征信息;根据所述特征信息及特征映射表确定目的APP对应的分布式协议栈的逻辑地址,将所述报文通过所述分布式协议栈发送到所述目的APP;将所述目的APP中的信息通过所述分布式协议栈完成发送处理。本发明实施例中,由于各个APP独立收发包,互不影响,报文接收时大部分情况下不需要经过主协议栈,性能较之集中协议栈会有较大提高。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种报文处理方法、系统及设备。
背景技术
目前,进程分布式,单板分布式都已经很普及,但协议栈却为集中式,所有报文都需要送到主协议栈进行处理,具体为:将各个端口接收到的报文,都送到主协议栈进行处理后,才能送到APP(基于协议栈的上层应用),而各APP发送的报文也都要送到主协议栈处理之后,通过对应端口发送。
在实现本发明的过程中,发明人发现现有技术中至少存在以下问题:
现有技术中,所有收、发报文都集中到主协议栈处理,容易造成性能瓶颈;各APP收发报文相互影响,可靠性低;对于将被丢弃的报文,也需要经过协议栈的处理后,才能识别出来,可能带来不必要的资源开销。
发明内容
本发明提供了一种报文处理方法、系统及设备,实现分布式协议栈,并可以在分布式协议栈中将收到的报文快速定位到目的APP。
为达到上述目的,本发明实施例提供了一种报文处理方法,包括:
提取接收报文的特征信息;
根据所述特征信息及特征映射表确定目的APP对应的分布式协议栈的逻辑地址,将所述报文通过所述分布式协议栈发送到所述目的APP。
本发明实施例提供了一种报文处理系统,包括:分发单元、至少一个APP、至少一个分布式协议栈,所述APP与所述分布式协议栈一一对应,
所述APP,用于生成特征映射表,所述特征映射表包括所述APP能够处理的报文的特征信息和所述报文的目的APP逻辑地址及分布式协议栈的逻辑地址,并将所述特征映射表通过对应的分布式协议栈发送给分发单元;或通知对应的分布式协议栈生成特征映射表,使所述分布式协议栈将所述特征映射表发送给分发单元;
所述分发单元,用于提取接收外部报文的特征信息,根据所述特征信息及特征映射表确定目的APP对应的分布式协议栈的逻辑地址,将所述报文通过所述分布式协议栈发送到所述目的APP。
本发明实施例提供了一种报文处理装置,包括:
提取单元,用于提取接收报文的特征信息;
查找单元,用于根据所述特征信息及特征映射表确定目的APP对应的分布式协议栈的逻辑地址;
发送单元,用于将所述报文通过所述分布式协议栈发送到所述目的APP。
与现有技术相比,本发明至少存在以下优点:
本发明实施例中,由于各个APP独立发包,互不影响,报文接收时大部分情况下不需要经过主协议栈,性能较之集中协议栈会有较大提高;另外,由于分发单元通过查询特征表,能够快速判断出报文的目的APP,并直接送达目的地进行处理,对于不被接收的报文,可以提前丢弃,避免一定的内存拷贝和进程切换。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中一种报文处理方法流程图;
图2是本发明实施例中一种分布式协议栈特征表下发示意图;
图3是本发明实施例中一种分布式协议栈部署系统收到报文快速定位APP的示意图;
图4是本发明实施例中一种报文处理系统示意图;
图5是本发明实施例中另一种报文处理系统示意图;
图6是本发明实施例中一种报文处理装置结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种报文处理方法,如图1所示,包括:
101,提取接收报文的特征信息;
102,根据特征信息及特征映射表确定目的APP对应的分布式协议栈的逻辑地址;
103,将报文通过分布式协议栈发送到目的APP。
其中,103之后还包括:将目的APP中的待发送信息通过与该目的APP对应的分布式协议栈完成发送处理。
其中,101之前还包括:获取由至少一个APP生成的特征映射表,所述特征映射表包括报文的特征信息和所述报文的目的APP逻辑地址及目的分布式协议栈逻辑地址;或获取由所述APP通知对应的分布式协议栈生成的特征映射表,所述特征映射表包括报文的特征信息和所述报文的目的APP逻辑地址及目的分布式协议栈逻辑地址。
其中,当根据特征信息及从分布式协议栈获取的特征映射表不能确定目的APP对应的分布式协议栈的逻辑地址时,将报文发送到主协议栈。
其中,当接收报文是分片报文或选项报文时,将报文送到主协议栈。该选项报文是在现有报文中增加一些扩展参数,例如该报文的转发路径信息、该报文的时间戳信息等。
其中,从APP获取的特征映射表具体包括:
表项管理中心接收各APP生成,并通过对应的分布式协议栈发送的特征映射表,或由APP对应的分布式协议栈生成并发送的特征映射表;
表项管理中心根据各分发单元的订阅请求下发特征映射表,或主动下发特征映射表。
其中,将报文通过所述分布式协议栈发送到所述目的APP之前还包括:
将分片报文和选项报文发送到主协议栈进行处理。
本发明实施例中提供了一种分布式协议栈特征表下发过程如图2所示,包括APP1、APP2和APP3(本实施例中以3个为例说明,实际应用中不限于此),分别位于两个物理单板,每个APP所在进程各有一个分布式协议栈。每一个APP对自己期望接收到的报文,建立一个“报文特征”到“报文归属”的特征映射表。该特征映射表中的每一个表项,都包含一类报文的特征信息和该类报文的目的APP逻辑地址。APP将这些特征映射表下发到每一个物理单板的报文分发单元。
本发明实施例中提供了一种报文处理系统将收到的报文快速定位到APP示意图,如图3所示,当物理单板的端口收到报文后,从物理层送到分发单元,分发单元提取报文的特征信息(包括报文的来源、承载协议、目的端口、接收报文的接口索引等;不同类型的报文,提取的信息可能是不同的;例如Ping报文,其特征信息包括报文中携带的一个ID标识),并查询特征映射表,如果查找到,则根据特征表中保存的APP逻辑地址,直接送到APP所在的分布式协议栈进行处理(分片报文和选项报文送到主协议栈进行处理);如果查找不到匹配的特征映射表,说明没有APP期望收到该报文,可以根据报文的类型(例如,需要丢弃的报文类型:OSPF协议报文、ISIS协议报文等;需要发送到主协议栈进行差错报文处理的报文类型有:TCP报文、UDP单播报文等),决定直接丢弃,或送到主协议栈发送差错报文。当各APP发送报文时,直接通过分布式协议栈完成处理。
本发明实施例中,提供了一种报文处理系统,如图4所示,每个APP对于一个分布式协议栈,部署一个表项管理中心。在该分布式协议栈中,各APP各自下发自己生成的特征映射表到表项管理中心,表项管理中心对特征映射表进行汇总和整理。各物理单板的分发单元根据自己的策略,向表项管理中心进行特征映射表订阅,表项管理中心对特征映射表进行选择性的下发。因此,各物理单板的分发单元中保存的特征表项可能只是特征表管理中心的子集,且各物理单板所持有的特征映射表可能不完全一样。
其中,表项管理中心的部署,可以是集中式部署,也可以是分布式部署,如果是分布式部署,各单元的功能可以是等价,也可以是协作;特征表管理中心的下发行为,可以是根据接口板的订阅,也可以根据是根据自己的策略,进行主动下发。
本发明实施例中,提供了另一种报文处理系统,如图5所示,各APP生成特征表后,根据自身策略的判断,独立下发特征映射表到所有或部分报文分发单元。分发单元根据报文特征,如果能够定位到APP,则直接交给APP对应的分布式协议栈处理。如果不能定位到APP,则根据报文类型,选择丢弃,或者发送给主协议栈,完成处理(发送差错报文等)。
本发明实施例提供了一种报文处理系统,包括:分发单元、至少一个APP、至少一个分布式协议栈,所述APP与所述分布式协议栈一一对应,
其中,APP,用于生成特征映射表,所述特征映射表包括该APP能够处理的报文的特征信息和所述报文的目的APP逻辑地址及分布式协议栈的逻辑地址,并将所述特征映射表通过对应的分布式协议栈发送给分发单元;或通知对应的分布式协议栈生成特征映射表,使所述分布式协议栈将所述特征映射表发送给分发单元;
分发单元,用于提取接收外部报文的特征信息,根据所述特征信息及特征映射表确定目的APP对应的分布式协议栈的逻辑地址,将所述报文通过所述分布式协议栈发送到所述目的APP。
该系统还包括:
主协议栈,用于接收分发单元发送的不能确定目的APP的逻辑地址的报文,发送差错指示报文;或对分片报文、或对选项报文进行处理。
该系统还包括:
表项管理中心,用于各APP生成,并通过对应的分布式协议栈发送的特征映射表,或由APP对应的分布式协议栈生成并发送的特征映射表,并根据分发单元的订阅请求下发特征映射表,或主动向分发单元下发特征映射表。
本发明实施例提供了一种报文处理装置,如图6所示,包括:提取单元610,用于提取接收报文的特征信息;查找单元620,用于根据所述特征信息及特征映射表确定目的APP对应的分布式协议栈的逻辑地址;发送单元630,将所述报文通过所述分布式协议栈发送到所述目的APP,可以将分片标记纳入特征映射表中,当收到一个报文,直接查特征映射表,就能判断是送到分布式协议栈,还是主协议栈。
该装置还包括:
获取单元640,用于获取由至少一个APP生成的特征映射表,或获取由所述APP通知对应的分布式协议栈生成的特征映射表,所述特征映射表包括报文的特征信息和所述报文的目的APP逻辑地址及目的分布式协议栈逻辑地址。
发送单元630,还用于当根据特征信息及从分布式协议栈获取的特征映射表不能确定目的APP对应的分布式协议栈的逻辑地址时,将报文发送到主协议栈。
该装置还包括:
订阅单元650,用于从表项管理中心订阅特征映射表。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来。该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (12)
1.一种报文处理方法,其特征在于,包括:
提取接收报文的特征信息;
根据所述特征信息及特征映射表确定目的基于协议栈的上层应用APP对应的分布式协议栈的逻辑地址,将所述报文通过所述分布式协议栈发送到所述目的APP;
其中所述提取接收报文的特征信息之前还包括:
获取由至少一个APP生成的特征映射表,所述特征映射表包括报文的特征信息和所述报文的目的APP逻辑地址及目的分布式协议栈逻辑地址;或
获取由所述APP通知对应的分布式协议栈生成的特征映射表,所述特征映射表包括报文的特征信息和所述报文的目的APP逻辑地址及目的分布式协议栈逻辑地址。
2.如权利要求1所述的方法,其特征在于,所述将报文通过所述分布式协议栈发送到所述目的APP,之后还包括:
将所述目的APP中的待发送信息通过与所述该目的APP对应分布式协议栈完成发送处理。
3.如权利要求1所述的方法,其特征在于,所述确定目的APP对应的分布式协议栈的逻辑地址,将所述报文通过所述分布式协议栈发送到所述目的APP,具体为:
直接确定目的APP对应的分布式协议栈的逻辑地址,将所述报文发送到所述分布式协议栈,由所述分布式协议栈处理后发送到所述目的APP;或
确定目的APP的逻辑地址,将所述报文发送到所述目的APP对应的分布式协议栈,由所述分布式协议栈处理后发送到所述目的APP。
4.如权利要求1所述的方法,其特征在于,还包括:
当根据所述特征信息及特征映射表不能确定目的APP及对应的分布式协议栈的逻辑地址时,将所述报文发送到主协议栈。
5.如权利要求1所述的方法,其特征在于,所述从分布式协议栈获取的特征映射表具体包括:
表项管理中心接收各APP生成,并通过对应的分布式协议栈发送的特征映射表,或由APP对应的分布式协议栈生成并发送的特征映射表;
所述表项管理中心根据各分发单元的订阅请求下发所述特征映射表,或主动下发所述特征映射表。
6.如权利要求1所述的方法,其特征在于,所述将报文通过所述分布式协议栈发送到所述目的APP之前还包括:
将分片报文和选项报文发送到主协议栈进行处理。
7.一种报文处理系统,其特征在于,包括:分发单元、至少一个基于协议栈的上层应用APP、至少一个分布式协议栈,所述APP与所述分布式协议栈一一对应,
所述APP,用于生成特征映射表,所述特征映射表包括所述APP能够处理的报文的特征信息和所述报文的目的APP逻辑地址及分布式协议栈的逻辑地址,并将所述特征映射表通过对应的分布式协议栈发送给分发单元;或通知对应的分布式协议栈生成特征映射表,使所述分布式协议栈将所述特征映射表发送给分发单元;
所述分发单元,用于提取接收外部报文的特征信息,根据所述特征信息及特征映射表确定目的APP对应的分布式协议栈的逻辑地址,将所述报文通过所述分布式协议栈发送到所述目的APP。
8.如权利要求7所述的系统,其特征在于,还包括:
主协议栈,用于接收所述分发单元发送的不能确定目的APP对应的分布式协议栈的逻辑地址的报文、分片报文或选项报文。
9.如权利要求7所述的系统,其特征在于,还包括:
表项管理中心,用于接收各APP生成,并通过对应的分布式协议栈发送的特征映射表,或由APP对应的分布式协议栈生成并发送的特征映射表,并根据分发单元的订阅请求下发所述特征映射表,或主动向分发单元下发所述特征映射表。
10.一种报文处理装置,其特征在于,包括:
提取单元,用于提取接收报文的特征信息;
查找单元,用于根据所述特征信息及特征映射表确定目的基于协议栈的上层应用APP对应的分布式协议栈的逻辑地址;
发送单元,将所述报文通过所述分布式协议栈发送到所述目的APP;
获取单元,用于获取由至少一个APP生成的特征映射表,或获取由所述APP通知对应的分布式协议栈生成的特征映射表,所述特征映射表包括报文的特征信息和所述报文的目的APP逻辑地址及目的分布式协议栈逻辑地址。
11.如权利要求10所述的装置,其特征在于,还包括:
所述发送单元,还用于当根据所述特征信息及从分布式协议栈获取的特征映射表不能确定目的APP对应的分布式协议栈的逻辑地址时,将所述报文发送到主协议栈。
12.如权利要求10所述的装置,其特征在于,还包括:
订阅单元,用于从表项管理中心订阅所述特征映射表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101831488A CN101442547B (zh) | 2008-12-12 | 2008-12-12 | 一种报文处理方法、系统及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101831488A CN101442547B (zh) | 2008-12-12 | 2008-12-12 | 一种报文处理方法、系统及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101442547A CN101442547A (zh) | 2009-05-27 |
CN101442547B true CN101442547B (zh) | 2012-04-04 |
Family
ID=40726785
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101831488A Expired - Fee Related CN101442547B (zh) | 2008-12-12 | 2008-12-12 | 一种报文处理方法、系统及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101442547B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101877726B (zh) * | 2010-05-25 | 2015-03-25 | 中兴通讯股份有限公司 | 链接地址处理方法及设备 |
WO2015096058A1 (zh) * | 2013-12-25 | 2015-07-02 | 华为技术有限公司 | 一种数据包处理方法和装置 |
CN105991755B (zh) * | 2015-05-21 | 2019-03-15 | 杭州迪普科技股份有限公司 | 业务报文分发方法及装置 |
CN112637329B (zh) * | 2020-12-21 | 2022-08-23 | 网络通信与安全紫金山实验室 | 一种多应用程序的标识方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1691635A (zh) * | 2004-04-23 | 2005-11-02 | 华为技术有限公司 | 一种汇聚业务的路由方法 |
CN1925452A (zh) * | 2006-10-11 | 2007-03-07 | 杭州华为三康技术有限公司 | 数据转发系统、方法以及网络转发设备 |
CN101119290A (zh) * | 2006-08-01 | 2008-02-06 | 华为技术有限公司 | 以太网支持源特定组播转发的方法及系统 |
CN101227407A (zh) * | 2008-01-25 | 2008-07-23 | 华为技术有限公司 | 基于二层隧道协议的报文发送方法及装置 |
-
2008
- 2008-12-12 CN CN2008101831488A patent/CN101442547B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1691635A (zh) * | 2004-04-23 | 2005-11-02 | 华为技术有限公司 | 一种汇聚业务的路由方法 |
CN101119290A (zh) * | 2006-08-01 | 2008-02-06 | 华为技术有限公司 | 以太网支持源特定组播转发的方法及系统 |
CN1925452A (zh) * | 2006-10-11 | 2007-03-07 | 杭州华为三康技术有限公司 | 数据转发系统、方法以及网络转发设备 |
CN101227407A (zh) * | 2008-01-25 | 2008-07-23 | 华为技术有限公司 | 基于二层隧道协议的报文发送方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101442547A (zh) | 2009-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2968964C (en) | Source ip address transparency systems and methods | |
CN101207604B (zh) | 一种虚拟机系统及其通信处理方法 | |
EP3352431B1 (en) | Network load balance processing system, method, and apparatus | |
CN103139157B (zh) | 一种基于socket的网络通信方法、装置及系统 | |
CN104052667A (zh) | 报文处理方法及设备 | |
KR20170076666A (ko) | 서브넷 관리(sa) 쿼리 캐싱을 통한 동적 클라우드 제공을 위한 시스템 및 방법 | |
CN105915658A (zh) | 获取客户端ip地址的数据调用方法、数据传输方法 | |
CN104270302B (zh) | 在线订单的传送系统及传送方法 | |
CN101442547B (zh) | 一种报文处理方法、系统及设备 | |
CN103795622A (zh) | 一种报文转发方法及其装置 | |
CN104954155B (zh) | 具有多个业务板的网络设备以及多业务板分担方法 | |
CN103503421A (zh) | 负荷平衡系统中的sctp关联端点重定位 | |
US9350606B2 (en) | System and method for assigning server to terminal and efficiently delivering messages to the terminal | |
CN103503413B (zh) | 传输网络信息的方法及装置 | |
JP2012083891A (ja) | フェイルオーバシステム、記憶処理装置及びフェイルオーバ制御方法 | |
CN102752188A (zh) | 一种传输控制协议连接迁移方法及系统 | |
CN105357329A (zh) | 跨idc网络环境下业务数据的传输方法、装置及系统 | |
CN102938711B (zh) | 网口信息配置方法及网络设备 | |
CN104717312A (zh) | 一种确定访问网络资源接口的方法及装置 | |
CN109246024A (zh) | 一种组网中负载分担方法、装置、终端设备及存储介质 | |
CN104184565A (zh) | 一种处理重传信息的方法及装置 | |
CN102790722A (zh) | 转发dhcp报文的方法和无线接入控制设备 | |
CN102647346A (zh) | 一种对报文分流的方法及系统 | |
KR20190075391A (ko) | 데이터 분산 서비스를 위한 장치 및 방법, 데이터 분산 서비스 시스템 | |
CN105991629B (zh) | Tcp连接建立方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120404 Termination date: 20181212 |