CN101136856B - 单板间合并报文传输方法和*** - Google Patents
单板间合并报文传输方法和*** Download PDFInfo
- Publication number
- CN101136856B CN101136856B CN2007101104436A CN200710110443A CN101136856B CN 101136856 B CN101136856 B CN 101136856B CN 2007101104436 A CN2007101104436 A CN 2007101104436A CN 200710110443 A CN200710110443 A CN 200710110443A CN 101136856 B CN101136856 B CN 101136856B
- Authority
- CN
- China
- Prior art keywords
- message
- user datagram
- datagram protocol
- data field
- head
- 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
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出了一种单板间合并报文传输方法和***,其中,该方法包括以下步骤:步骤1,当第一单板向第二单板发送多个用户数据包协议报文时,将多个用户数据包协议报文以预定方式组合成IP报文的数据区;以及步骤2,使用与多个用户数据包协议报文的IP头相同的一个IP头,按照一个IP报文的方式,调用发送口传输IP报文。因而,通过这种在内部进行报文合并和报文分解的方案,极大减少了报文处理能力较差的单板调用发送报文的频率,从而有效提高了单板处理能力。
Description
技术领域
本发明涉及一种单板间合并报文传输方法和***,用于在通信***内具有不同报文处理能力的单板间,通过合并报文减少对底层发送口的调用来提高单板处理能力。
背景技术
随着通讯***向全IP的不断演进,通讯***中用到的单板对报文的处理能力要求越来越高。但由于在通讯***内部需要使用不同的报文处理能力和处理目的的单板,从而也带来了报文间处理能力的不平衡。目前我们在传输语音报文时,使用用户数据报协议(UserDatagram Protocol,UDP)报文传输,一个传送帧里面包括一个UDP数据区,即一个语音报文,如图1所示,给出了报文的组合结构图。由于语音报文发送极为频繁,导致应用程序频繁的调用底层发送接口,更进一步的凸显了部分单板性能低下,满足不了***的需求。
为了提高处理能力较差的单板对报文的处理能力,针对不需要重传及分片的网络环境,在目的地址相同的情况下,需要一种在一个大包中包括多个UDP数据区即合并报文进行板间传输的方案。
发明内容
为了解决上述频繁调用发送口以及单板处理能力低的问题,本发明提出了一种单板间合并报文传输方法和***,用于在通信*** 内具有不同报文处理能力的单板间,通过合并报文减少对底层发送口的调用来提高单板处理能力。
本发明的一个方面提供了一种单板间合并报文传输方法,其可以包括以下步骤:步骤1,当第一单板向第二单板发送多个用户数据包协议报文时,将多个用户数据包协议报文以预定方式组合成IP报文的数据区;以及步骤2,使用与多个用户数据包协议报文的IP头相同的一个IP头,按照一个IP报文的方式,调用发送口传输IP报文。
该单板间合并报文传输方法还可以包括以下步骤:步骤3,当第二单板接收到IP报文时,将IP报文分解成多个用户数据包协议报文。
在步骤1中,执行以下处理:判断第一单板上的时间片是否到时,如果已到时,则组合多个用户数据包协议报文。
而如果时间片没有到时,执行以下至少一种处理:判断多个用户数据包协议报文的总长度是否已达到最大值,如果已达到,则组合多个用户数据包协议报文;以及判断多个用户数据包协议报文的个数是否已达到最多,如果已达到,则组合多个用户数据包协议报文。
预定方式为:IP报文的数据区=(用户数据包协议头+用户数据包协议数据区+填充区)×n,其中,n是报文的个数,以及填充区用于将用户数据包协议数据区补齐。
在步骤3中,包括以下处理:复制IP头;以及根据IP报文的数据区的约定方式,将IP报文的数据区分解成多个用户数据包协议报文。
约定方式为:对需要分解的IP报文,创建新的报文存储区,将IP头复制到新的报文存储区,并更新IP头中的报文长度为多个用户数据包协议报文的长度与IP头的长度之和;根据多个用户数据包协议报文中的一个长度,将多个用户数据包协议中的一个的数据区复制到新的报文存储区,构建一个完整的用户数据包协议报文;判断剩余IP报文的长度是否大于下一个要处理的用户数据包协议报文的长度与IP头的长度之和;以及如果判断结果是剩余IP报文的长度大于下一个要处理的用户数据包协议报文的长度与IP头的长度之和,则返回继续分解,否则分解完成。
其中,第一单板的报文处理能力低于第二单板的报文处理能力。
本发明还提供了一种单板间合并报文传输***,应用于不需要重传及分片的网络环境,在目的地址相同的情况,其可以包括:组合模块,用于将多个用户数据包协议报文以预定方式组合成IP报文的数据区;以及传输模块,用于在组合模块执行组合之后,使用与多个用户数据包协议报文的IP头相同的一个IP头,按照一个IP报文的方式,调用发送口传输IP报文。
该单板间合并报文传输***还可以包括:接收分解模块,用于当接收到来自传输模块的IP报文时,将IP报文分解成多个用户数据包协议报文,其中,复制IP头;以及根据IP报文的数据区的约定方式,将IP报文的数据区分解成多个用户数据包协议报文。
在组合模块中包括:第一判断单元,用于判断单板上的时间片是否到时。第二判断单元,用于判断多个用户数据包协议报文的总长度是否已达到最大值;以及第三判断单元,用于判断多个用户数据包协议报文的个数是否已达到最多。
预定方式为:IP报文的数据区=(用户数据包协议头+用户数据包协议数据区+填充区)×n,其中,n是报文的个数,以及填充区用于将用户数据包协议数据区补齐。
因而,通过本发明的方法和***,能够利用内部网络的网络环境,很好地减少在内部***网络中报文处理能力不平衡的问题,从而提高***的处理能力。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1是现有技术中的报文组合结构的示图;
图2是根据本发明的报文组合结构的示图;
图3是根据本发明的单板间合并报文传输方法的流程图;
图4是根据本发明实施例的合并报文的发送流程图;以及
图5是根据本发明的单板间合并报文传输***的框图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明采用在报文处理能力较低的单板处理报文发送时,合并报文,在报文处理能力较高的单板(例如,网络处理器)将合并的报文分解成正常的报文进行板间传输。
图2是根据本发明的报文组合结构的示图。如图2所示,将标准协议的UDP报文与本发明定义的报文结构进行对比,标准的UDP报文仅包括一个UDP头和一个UDP数据区,而本发明定义的报文则包括多个UDP头和多个UDP数据区,并且为了便于内存拷贝,将UDP的数据区补齐到4个字节对齐。
图3是根据本发明的单板间合并报文传输方法的流程图。如图3所示,该方法包括以下步骤:
步骤S302,当第一单板向第二单板发送多个用户数据包协议报文时,将多个用户数据包协议报文以预定方式组合成IP报文的数据区;以及
步骤S304,使用与多个用户数据包协议报文的IP头相同的一个IP头,按照一个IP报文的方式,调用发送口传输IP报文。
进一步,该单板间合并报文传输方法还可以包括以下步骤:步骤S306,当第二单板接收到IP报文时,将IP报文分解成多个用户数据包协议报文。
在步骤S302中,执行以下处理:判断第一单板上的时间片是否到时,如果已到时,则组合多个用户数据包协议报文。
而如果时间片没有到时,则执行以下处理:判断多个用户数据包协议报文的总长度是否已达到最大值,如果已达到,则组合多个用户数据包协议报文;以及判断多个用户数据包协议报文的个数是否已达到最多,如果已达到,则组合多个用户数据包协议报文。
预定方式为:IP报文的数据区=(用户数据包协议头+用户数据包协议数据区+填充区)×n,其中,n是报文的个数,以及填充区用于将用户数据包协议数据区补齐。
在步骤S306中,包括以下处理:复制IP头;以及根据IP报文的数据区的约定方式,将IP报文的数据区分解成多个用户数据包协议报文。
其中,约定方式为:对需要分解的IP报文,创建新的报文存储区,将IP头复制到新的报文存储区,并更新IP头中的报文长度为多个用户数据包协议报文的长度与IP头的长度之和;根据多个用户数据包协议报文中的一个长度,将多个用户数据包协议中的一个的数据区复制到新的报文存储区,构建一个完整的用户数据包协议报文;判断剩余IP报文的长度是否大于下一个要处理的用户数据包协议报文的长度与IP头的长度之和;以及如果判断结果是剩余IP报文的长度大于下一个要处理的用户数据包协议报文的长度与IP头的长度之和,则返回继续分解,否则分解完成。
第一单板的报文处理能力低于第二单板的报文处理能力。
图4是根据本发明实施例的合并报文的发送流程图。如图4所示,在发送口包括以下步骤:
S402,当报文处理能力较低的单板发包时,运行在单板上的应用层程序按小段的时间片发送报文,将该小段时间内的报文按UDP头+UDP数据区+对齐填充部分+UDP头+UDP数据区...的方式组合IP报文数据区;
S404,使用同一个IP头,按一个IP报文的方式,调用发送接口发送该报文,以减少对发送接口的调用次数,降低CPU利用率。
在发送口中具体执行以下处理:
一、在处理能力较弱的单板上,判断时间片是否已到时,如果已到时,则发送当前组合的报文;
二、如果时间片没有到时,则判断组合的报文长度是否已到最大值,如果已达到,则发送当前组合的报文;
三、判断组合的报文的个数是否已经到达最大值,如果已达到,则发送当前组合的报文;
四、按正常的UDP构造UDP包头;
五、将UDP包头,要发送的UDP数据区复制到累积发送UDP数据区中,为了便于接口板对内存的处理,UDP数据区按4字节补齐(如图2所示,在中间的UDP数据区可能存在字节对齐补齐区);以及
六、封装IP头,此时IP报文的长度为总的UDP数据,发送IP报文。
如图4所示,在接收口包括以下步骤:
S406,当报文处理能力较高的单板在接收到合并报文后,利用其优异的报文处理能力,将合并的报文分解,首先是复制IP头;以及
S408,根据IP数据区的约定格式,将数据区拆解到单个报文中,按正常的UDP报文发送。
在接收口中具体执行以下处理:
1、首先判断IP包的长度是否大于IP的包头长度与IP包头后的紧临UDP报文长度之和,如果大于,则进入拆包流程,否则按正常流程处理;
2、对需要拆包的报文,创建新的报文存储区,复制IP头到新的报文存储区,并更新IP头中的报文长度为UDP长度与IP头的长度之和;
3、根据该UDP长度拷贝UDP数据区到新的报文存储区,这样就构建了一个完整的UDP报文;
4、在需要拆分的报文,将原始的IP报文总长度减去已经拷贝的UDP长度及其补齐值。判断这个长度是否等于下一个要处理的UDP报文与IP头的长度之和,如果大于,则继续步骤2的流程;
5、如果IP报文长度与UDP长度和IP头长度之和相等,说明是最后一个UDP,则将最后一个UDP拷贝到当前IP头紧临的数据区,对报文的拆解工作完成;以及
6、通过接口板发送拆解的报文。
图5是根据本发明的单板间合并报文传输***500的框图。如图5所示,该***包括:组合模块502,用于将多个用户数据包协议报文以预定方式组合成IP报文的数据区;以及传输模块504,用于在组合模块502执行组合之后,使用与多个用户数据包协议报文的IP头相同的一个IP头,按照一个IP报文的方式,调用发送口传输IP报文。
该单板间合并报文传输***500还包括:接收分解模块506,用于当接收到来自传输模块504的IP报文时,将IP报文分解成多个用户数据包协议报文。
在组合模块502中包括:第一判断单元,用于判断单板上的时间片是否到时。
在组合模块502中还包括:第二判断单元,用于判断多个用户数据包协议报文的总长度是否已达到最大值;以及第三判断单元,用于判断多个用户数据包协议报文的个数是否已达到最多。
其中,预定方式为:IP报文的数据区=(用户数据包协议头+用户数据包协议数据区+填充区)×n,其中,n是报文的个数,以及填充区用于将用户数据包协议数据区补齐。
综上所述,与在通信***中,语音报文在没有合并前,通常只有34byte的情况相比,通过这种在内部进行报文合并和报文分解的方案,极大减少了报文处理能力较差的单板调用发送报文的频率,从而有效提高了单板处理能力。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (12)
1.一种单板间合并报文传输方法,应用于不需要重传及分片的网络环境,在目的地址相同的情况,其特征在于,包括以下步骤:
步骤1,当第一单板向第二单板发送多个用户数据包协议报文时,将所述多个用户数据包协议报文以预定方式组合成IP报文的数据区;以及
步骤2,使用与所述多个用户数据包协议报文的IP头相同的一个IP头,按照一个IP报文的方式,调用发送口传输所述IP报文。
2.根据权利要求1所述的方法,其特征在于,还包括以下步骤:
步骤3,当所述第二单板接收到所述IP报文时,将所述IP报文分解成多个用户数据包协议报文,在所述步骤3中,包括以下处理:
复制所述IP头;以及
根据所述IP报文的数据区的约定方式,将所述IP报文的数据区分解成多个用户数据包协议报文。
3.根据权利要求1所述的方法,其特征在于,在所述步骤1中,执行以下处理:
判断所述第一单板上的时间片是否到时,如果已到时,则组合所述多个用户数据包协议报文。
4.根据权利要求3所述的方法,其特征在于,如果所述时间片没有到时,执行以下至少一种处理:
判断所述多个用户数据包协议报文的总长度是否已达到最大值,如果已达到,则组合所述多个用户数据包协议报文;以及
判断所述多个用户数据包协议报文的个数是否已达到最多,如果已达到,则组合所述多个用户数据包协议报文。
5.根据权利要求1所述的方法,其特征在于,所述预定方式为:IP报文的数据区=(用户数据包协议头+用户数据包协议数据区+填充区)×n,
其中,n是报文的个数,以及所述填充区用于将所述用户数据包协议数据区补齐。
6.根据权利要求2所述的方法,其特征在于,所述约定方式为:
对需要分解的所述IP报文,创建新的报文存储区,将所述IP头复制到所述新的报文存储区,并更新IP头中的报文长度为所述多个用户数据包协议报文的长度与所述IP头的长度之和;
根据所述多个用户数据包协议报文中的一个长度,将所述多个用户数据包协议中的一个的数据区复制到所述新的报文存储区,构建一个完整的用户数据包协议报文;
判断剩余IP报文的长度是否大于下一个要处理的用户数据包协议报文的长度与所述IP头的长度之和;以及
如果判断结果是所述剩余IP报文的长度大于所述下一个要处理的用户数据包协议报文的长度与所述IP头的长度之和,则返回继续分解,否则分解完成。
7.根据权利要求1所述的方法,其特征在于,所述第一单板的报文处理能力低于所述第二单板的报文处理能力。
8.一种单板间合并报文传输***,应用于不需要重传及分片的网络环境,在目的地址相同的情况,其特征在于,包括:
组合模块,用于将多个用户数据包协议报文以预定方式组合成IP报文的数据区;以及
传输模块,用于在所述组合模块执行组合之后,使用与所述多个用户数据包协议报文的IP头相同的一个IP头,按照一个IP报文的方式,调用发送口传输所述IP报文。
9.根据权利要求8所述的***,其特征在于,还包括:
接收分解模块,用于当接收到来自所述传输模块的所述IP报文时,将所述IP报文分解成多个用户数据包协议报文,其中,复制所述IP头;以及根据所述IP报文的数据区的约定方式,将所述IP报文的数据区分解成多个用户数据包协议报文。
10.根据权利要求8所述的***,其特征在于,在所述组合模块中包括:
第一判断单元,用于判断单板上的时间片是否到时。
11.根据权利要求10所述的***,其特征在于,在所述组合模块中还包括:
第二判断单元,用于判断所述多个用户数据包协议报文的总长度是否已达到最大值;以及
第三判断单元,用于判断所述多个用户数据包协议报文的个数是否已达到最多。
12.根据权利要求8所述的***,其特征在于,所述预定方式为:
IP报文的数据区=(用户数据包协议头+用户数据包协议数据区+填充区)×n,
其中,n是报文的个数,以及所述填充区用于将所述用户数据包协议数据区补齐。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101104436A CN101136856B (zh) | 2007-06-05 | 2007-06-05 | 单板间合并报文传输方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101104436A CN101136856B (zh) | 2007-06-05 | 2007-06-05 | 单板间合并报文传输方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101136856A CN101136856A (zh) | 2008-03-05 |
CN101136856B true CN101136856B (zh) | 2011-06-22 |
Family
ID=39160699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101104436A Expired - Fee Related CN101136856B (zh) | 2007-06-05 | 2007-06-05 | 单板间合并报文传输方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101136856B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101800750B (zh) * | 2010-03-03 | 2012-04-18 | 华为技术有限公司 | 数据传输方法、装置及*** |
CN103379046A (zh) * | 2012-04-20 | 2013-10-30 | 唐漫宇 | Ip报文合并和分拆的技术提高报文发送效率的方法 |
CN103532784A (zh) * | 2013-10-17 | 2014-01-22 | 中国联合网络通信集团有限公司 | 一种发送心跳消息的方法、***、终端及网络设备 |
CN106817726A (zh) * | 2015-11-27 | 2017-06-09 | 中兴通讯股份有限公司 | 数据报文发送接收的处理方法及装置 |
CN107483515A (zh) * | 2017-10-18 | 2017-12-15 | 张洋 | 报文传输方法及***、报文解析方法及装置 |
CN112737978B (zh) * | 2020-12-31 | 2022-08-16 | 中国电子科技集团公司第七研究所 | 面向数据报文的双队列同步方法、***、设备、存储介质 |
CN113438521B (zh) * | 2021-05-28 | 2023-04-18 | 曙光网络科技有限公司 | 视频文件生成方法、装置、计算机设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1275283A (zh) * | 1998-06-19 | 2000-11-29 | 尤尼斯菲尔解决方案公司 | 在执行ip转发和atm交换的设备中的服务设施质量 |
CN1504034A (zh) * | 2001-03-12 | 2004-06-09 | �����ɷ� | 基于宽带调制的时分复用方法和装置 |
-
2007
- 2007-06-05 CN CN2007101104436A patent/CN101136856B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1275283A (zh) * | 1998-06-19 | 2000-11-29 | 尤尼斯菲尔解决方案公司 | 在执行ip转发和atm交换的设备中的服务设施质量 |
CN1504034A (zh) * | 2001-03-12 | 2004-06-09 | �����ɷ� | 基于宽带调制的时分复用方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101136856A (zh) | 2008-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101136856B (zh) | 单板间合并报文传输方法和*** | |
CN107046542B (zh) | 一种在网络级采用硬件实现共识验证的方法 | |
CN101047714B (zh) | 一种处理网络数据的方法及*** | |
US20020118671A1 (en) | Extending office telephony and network data services to a remote client through the internet | |
CN107347046A (zh) | 一种跨网段的数据报头压缩实现方法 | |
CA2315722A1 (en) | A method for packet authentication in the presence of network address translations and protocol conversions | |
KR20060054662A (ko) | 광대역 무선 통신 시스템에서 헤더 압축 장치 및 방법 | |
TW546932B (en) | Method and apparatus for reducing transmission overhead in a communication system | |
CN105162883A (zh) | 网络负载均衡处理***及其方法和装置 | |
CN108462642A (zh) | 基于fpga的udp/ip硬件协议栈及实现方法 | |
WO2002025889A3 (en) | Communication management system for computer network based telephones | |
CN102025641B (zh) | 一种报文过滤方法和交换设备 | |
US20080014998A1 (en) | Ip multimedia subsystem service apparatus and method in mobile terminal | |
CN113949523A (zh) | 一种单兵使用的跨网传输***及方法 | |
CN101465858B (zh) | 监控业务中实现私网穿越的方法、网络设备和服务器 | |
GB2428537A (en) | Transmitting DUA messages with protocol identification information | |
CN102238164A (zh) | 面向ip电信网的多协议报文适配方法 | |
CN1606304A (zh) | 下一代网络业务穿越网络地址转换设备/防火墙的方法 | |
CN100525296C (zh) | 网间互联协议报文处理装置及其方法 | |
CN1180605C (zh) | 一种ip电话***及其通信方法 | |
CN110602225A (zh) | 一种适用于工控环境的linux***高效收发包方法 | |
CN101616072A (zh) | 网络地址转换装置及其封包处理方法 | |
KR101396995B1 (ko) | 게이트웨이에서의 프로토콜 변환 방법, 및 게이트웨이 | |
CN101860544A (zh) | 会话启动协议消息的发送***及方法 | |
GB2416459B (en) | Communication system, exchange apparatus, and communication method |
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 |
Granted publication date: 20110622 Termination date: 20160605 |