CN103748845A - 报文发送方法、接收方法、装置及系统 - Google Patents
报文发送方法、接收方法、装置及系统 Download PDFInfo
- Publication number
- CN103748845A CN103748845A CN201280001103.9A CN201280001103A CN103748845A CN 103748845 A CN103748845 A CN 103748845A CN 201280001103 A CN201280001103 A CN 201280001103A CN 103748845 A CN103748845 A CN 103748845A
- Authority
- CN
- China
- Prior art keywords
- message
- priority
- fragment message
- fragment
- queue
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/6215—Individual queue per QOS, rate or priority
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种报文发送方法、接收方法、装置及系统,涉及通信领域,所述方法包括:将至少一个携带有优先级的长报文进行分片,得到携带有所述优先级的分片报文;将所述分片报文按照对应优先级输入发送队列,相同优先级的所述分片报文依次输入相同的发送队列,不同优先级的所述分片报文依次输入不同的发送队列;按照优先级由高到低,依次发送不同发送队列中的分片报文。本发明通过在分片报文中添加分片报文的队列号和优先级标识,根据队列号将分片报文输入相应发送队列,再根据优先级标识发送分片报文,达到使报文发送装置能够按照报文优先级发送分片报文的目的,解决了现有技术中无法按照报文优先级发送报文的问题。
Description
报文发送方法、 接收方法、 装置及系统 技术领域
本发明涉及通信领域, 特别涉及一种报文发送方法、 接收方法、 装置及系统。 背景技术 说
报文传输过程中, 由于传输物理介质和链路层协议的差异, 每帧报文都会有最小和最 大长度限制。 因此, 当需要传输的报文长度大于最大长度限制时, 必须在报文发送侧进行 报文分片, 并在报文接收侧将分片的报文进行重组。
以以太网介质数据链路层为例, 请结合参见图 1书和图 2, 其分别示出了一种报文发送和 接收方法的实施示意图以及分片报文格式图。 现有的报文发送方法和接收方法如下: 第一、 报文发送装置对长报文进行分片并发送, 每个分片报文小于等于物理介质最大 报文长度。 其中, 分片报文由同一个分片实体完成分片, 保证分片报文之间不会乱序。 另 夕卜, 每个分片报文都有一个报文头, 分片报文的报文头中包含有分片序列号以及用于指示 该分片报文是否为分片首片或分片尾片的首尾指示标识。
第二、 报文接收装置接收分片报文并缓存, 再按照各个分片报文的报文头中的分片序 列号和首尾指示标识进行分片报文的排序和重组。
在实现本发明的过程中, 发明人发现现有技术至少存在以下问题:
当网络上存在的报文较多, 且各报文之间有优先级调度和传输的需要时, 一个优先级 较低的报文进入分片状态后, 其它优先级较高的报文必须等待已经进入分片状态的报文完 成分片并全部发送后, 才能开始分片和发送的过程, 在报文接收侧也存在同样的问题, 无 法按照报文优先级进行分片发送和重组。 发明内容
为了能够按照报文优先级对报文进行分片发送和重组, 本发明实施例提供了一种报文 发送方法、 接收方法、 装置及系统。 所述技术方案如下:
一方面, 提供一种报文发送方法, 所述方法包括:
将至少一个携带有优先级的长报文进行分片, 得到携带有所述优先级的分片报文; 将所述分片报文按照对应优先级输入发送队列, 相同优先级的所述分片报文依次输入
相同的发送队列, 不同优先级的所述分片报文依次输入不同的发送队列;
按照优先级由高到低, 依次发送不同发送队列中的分片报文。
所述将至少一个携带有优先级的长报文进行分片, 得到携带有所述优先级的分片报文, 具体包括:
将所述长报文进行分片得到至少一个分片报文, 每个分片报文的长度小于等于最大报 文长度;
在所述分片报文的报文头中添加队列号、 优先级标识、 分片序列号和首尾片标识, 得 到携带有所述优先级的分片报文;
其中, 所述队列号用于指示所述分片报文对应的发送队列, 所述优先级标识用于指示 所述分片报文的优先级, 相同优先级的分片报文具有相同的队列号。
所述将所述长报文进行分片得到至少一个分片报文, 具体包括:
将每个长报文中的单次分片任务交由至少两个进程中的当前空闲进程进行处理, 以得 到所述分片报文;
相应的, 所述在所述分片报文的报文头中, 添加队列号、 优先级标识、 分片序列号和 首尾片标识, 得到携带有所述优先级的分片报文, 包括:
将每个分片报文的报文头添加任务交由至少两个进程中的当前空闲进程进行处理, 以 得到携带有所述优先级的分片报文。
所述按照优先级由高到低, 依次发送不同发送队列中的分片报文, 具体包括: 当不同的发送队列中同时有分片报文需要发送时, 优先发送优先级较高的发送队列中 的分片报文。
另一方面, 提供了一种报文接收方法, 所述方法包括:
接收至少一个携带有优先级的分片报文;
将所述分片报文按照对应优先级输入重组队列, 相同优先级的所述分片报文依次输入 相同的重组队列, 不同优先级的所述分片报文依次输入不同的重组队列;
按照优先级由高到低, 依次重组不同重组队列中的分片报文, 得到至少一个长报文。 所述接收至少一个携带有优先级的分片报文, 具体包括:
接收至少一个分片报文, 每个分片报文的报文头中包含有: 队列号、 优先级标识、 分 片序列号和首尾片标识;
其中, 所述队列号用于指示所述分片报文对应的重组队列, 所述优先级标识用于指示 所述分片报文的优先级, 相同优先级的分片报文相同的队列号。
所述将所述分组报文按照对应优先级输入重组队列, 具体包括:
根据所述分片报文的队列号将所述分片报文输入相应的重组队列。
所述按照优先级由高到低, 依次重组不同重组队列中的分片报文, 得到至少一个长报 文, 具体包括:
根据所述分片序列号和首尾片标识判断每个重组队列中当前接收到的分片报文是否能 够组成完整的长报文;
如果是, 则根据所述分片序列号和首尾片标识将当前接收到的分片报文重组为一个长 报文。
又一方面, 提供一种报文发送装置, 所述装置包括:
分片模块, 用于将至少一个携带有优先级的长报文进行分片得到携带有所述优先级的 分片报文;
发送缓存器, 用于将所述分片报文按照对应优先级输入发送队列, 相同优先级的所述 分片报文依次输入相同的发送队列, 不同优先级的所述分片报文依次输入不同的发送队列; 发送模块, 用于当不同的发送队列中同时有分片报文需要发送时, 优先发送优先级较 高的发送队列中的分片报文。
所述分片模块, 具体包括:
分片单元, 用于将所述长报文进行分片得到至少一个分片报文, 每个分片报文的长度 小于等于最大报文长度;
添加单元, 用于在所述分片报文的报文头中添加队列号、 优先级标识、 分片序列号和 首尾片标识, 得到携带有所述优先级的分片报文;
其中, 所述队列号用于指示所述分片报文对应的发送队列, 所述优先级标识用于指示 所述分片报文的优先级, 相同优先级的分片报文具有相同的队列号。
所述分片单元, 具体用于将每个长报文中的单次分片任务交由至少两个进程中的当前 空闲进程进行处理, 以得到所述分片报文;
所述添加单元, 具体用于将每个分片报文的报文头添加任务交由至少两个进程中的当 前空闲进程进行处理, 以得到携带有所述优先级的分片报文。
又一方面, 提供一种报文接收装置, 其特征在于, 所述装置包括:
接收模块, 用于接收至少一个携带有优先级的分片报文;
接收缓存器, 用于将所述分片报文按照对应优先级输入重组队列, 相同优先级的所述 分片报文依次输入相同的重组队列, 不同优先级的所述分片报文依次输入不同的重组队列; 重组模块, 用于按照优先级由高到低, 依次重组不同重组队列中的分片报文, 得到至
少一个长报文。
所述接收模块, 具体用于接收至少一个分片报文, 每个分片报文的报文头中包含有: 队列号、 优先级标识、 分片序列号和首尾片标识;
其中, 所述队列号用于指示所述分片报文对应的重组队列, 所述优先级标识用于指示 所述分片报文的优先级, 相同优先级的分片报文相同的队列号。
所述接收缓存器, 具体用于根据所述分片报文的队列号将所述分片报文输入相应的重 组队列。
再一方面, 提供了一种报文发送系统, 其特征在于, 所述系统包括:
上述报文发送装置和报文接收装置。
本发明实施例提供的技术方案的有益效果是:
通过在分片报文中添加分片报文的队列号和优先级标识, 在报文发送侧, 根据队列号 将分片报文输入相应发送队列, 并根据优先级由高到低发送分片报文, 达到使报文发送装 置能够按照报文优先级发送分片报文的目的, 解决了现有技术中无法按照报文优先级发送 报文的问题; 在报文接收侧, 根据队列号将分片报文输入相应重组队列, 并根据优先级由 高到低重组分片报文, 达到使报文接收装置能够按照报文优先级重组分片报文的目的, 解 决了现有技术中无法按照报文优先级重组报文的问题。 附图说明
为了更清楚地说明本发明实施例中的技术方案, 下面将对实施例描述中所需要使用的 附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本发明的一些实施例, 对于本 领域普通技术人员来讲, 在不付出创造性劳动的前提下, 还可以根据这些附图获得其他的 附图。
图 1是本发明背景技术提供的报文发送和接收方法的实施示意图;
图 2是本发明背景技术提供的分片报文格式图;
图 3是本发明实施例一提供的报文发送方法的方法流程图;
图 4是本发明实施例二提供的报文发送方法的方法流程图;
图 5是本发明实施例二提供的分片报文格式示意图;
图 6是本发明实施例二提供的报文发送原理图;
图 7是本发明实施例二提供的一种多链路报文发送示意图;
图 8是本发明实施例二提供的另一种多链路报文发送示意图;
图 9是本发明实施例二提供的多链路优先级报文发送示意图;
图 10是本发明实施例三提供的报文接收方法的方法流程图;
图 11是本发明实施例四提供的报文接收方法的方法流程图;
图 12是本发明实施例四提供的报文接收原理图;
图 13是本发明实施例五提供的报文发送装置的装置结构图;
图 14是本发明实施例六提供的报文接收装置的装置结构图;
图 15是本发明实施例七提供的报文发送和接收系统的系统构成图。 具体实施方式
为使本发明的目的、 技术方案和优点更加清楚, 下面将结合附图对本发明实施方式作 进一步地详细描述。 实施例一
请参见图 2, 其示出了一种报文发送方法的方法流程图, 该报文发送方法可以用于在以 太网介质数据链路层中对报文进行分片和发送。 该报文发送方法具体可以包括如下步骤: 步骤 101,将至少一个携带有优先级的长报文进行分片,得到携带有优先级的分片报文; 当网络中有若干个具有各自的优先级的长报文需要发送时, 报文发送装置首先将长报 文进行分片得到至少一个分片报文, 每个分片报文的长度小于等于最大报文长度; 报文发 送装置还在分片报文的报文头中添加队列号、 优先级标识、 分片序列号和首尾片标识, 得 到携带有优先级的分片报文。
其中, 队列号用于指示该分片报文对应的发送队列, 优先级标识用于指示该分片报文 的优先级, 相同优先级的分片报文具有相同的队列号。
步骤 102, 将各分片报文按照对应优先级输入发送队列, 相同优先级的分片报文依次输 入相同的发送队列, 不同优先级的分片报文依次输入不同的发送队列;
为了便于对分片报文按照优先级进行发送, 报文发送装置还会根据每个分片报文的报 文头中的队列号, 将相同优先级的分片报文依次输入相同的发送队列, 将不同优先级的分 片报文依次输入不同的发送队列。
步骤 103, 按照优先级由高到低, 依次发送不同发送队列中的分片报文。
具体的, 当不同发送队列中同时有分片报文到达各自队列最右端的发送位置时, 根据 分片报文的报文头中的优先级标识发送优先级高的分片报文;
其中, 发送队列为预先设置, 并且, 每个发送队列对应一个优先级; 另外, 发送分片 报文时, 也可以按照发送队列对应的优先级, 优先发送优先级高的发送队列中处于队列最
右端发送位置的分片报文。
综上所述, 本发明实施例一提供的报文发送方法, 通过在分片报文中添加分片报文的 队列号和优先级标识, 根据队列号将分片报文输入相应发送队列, 再根据优先级标识发送 分片报文, 达到使报文发送装置能够按照报文优先级发送分片报文的目的, 解决了现有技 术中无法按照报文优先级发送报文的问题。 实施例二
请参见图 3, 其示出了一种报文发送方法的方法流程图, 该报文发送方法基于 IEEE
802.3ah协议并对其进行扩展,可以用于在以太网介质数据链路层中对报文进行分片和发送。 本实施例二提供的报文发送方法具体可以包括如下步骤:
步骤 201, 报文发送装置将至少一个携带有优先级的长报文进行分片;
当有长报文需要发送时, 报文发送装置首先将长报文进行分片, 生成一至多个分片报 文。 其中, 长报文都具有各自的优先级。
步骤 202, 在分片生成的分片报文的报文头中添加该分片报文的队列号、 优先级标识、 分片序列号和首尾片标识, 得到携带有优先级的分片报文;
本实施例二对现有 IEEE 802.3ah协议进行了扩展, 即除了在分片报文的报文头中添加 分片序列号和首尾片标识之外, 还添加该分片报文的队列号和优先级标识, 并且相同优先 级的分片报文, 队列号也相同。
具体的, 请参见图 4所示的一种分片报文的格式示意图。 在图 4所示的分片报文的报 文头中, Ti字段为分片报文的队列号 (lObits) 和优先级标识 (6bits), sn字段为分片报文 的分片序列号(14bits)和首尾片标识(2bit), 其中, 首尾片标识分为首片标识和尾片标识。
步骤 203, 根据分片报文的队列号将分片报文输入相应的发送队列;
报文发送装置预先根据优先级数量设置发送队列, 每个发送队列对应一个优先级; 分 片完成后, 报文发送装置根据分片报文的队列号将分片报文输入相应的发送队列。 由于相 同优先级的分片报文, 队列号也相同, 因此, 可以根据分片报文的队列号将相同优先级的 分片报文输入同一发送队列。
具体的, 图 5示出了一种报文发送原理图, 其中, 长报文共配置有 3个优先级, 且, 长报文 1为第二优先级, 长报文 2为第一优先级, 长报文 3为第三优先级。 分片时, 报文 发送装置将长报文 1、 2和 3分片为分片报文 1~15, 其中, 分片报文 1~5属于长报文 1, 分 片报文 6~10属于长报文 2, 分片报文 11~15属于长报文 3。 对应长报文的 3个优先级, 报 文发送装置预先设置了 3个发送队列 (队列 1~队列 3), 其中, 队列 1对应第一优先级, 队
列 2对应第二优先级, 队列 3对应第三优先级。 长报文分片完成之后, 报文发送装置根据 分片报文的队列号, 将分片报文 1~5输入队列 2, 将分片报文 6~10输入队列 1, 将分片报 文 11~15输入队列 3。
步骤 204, 根据分片报文头中的优先级标识优先发送优先级高的分片报文。
其中, 当某一发送时间点上只有一个队列中有分片报文需要发送时, 则发送该队列中 的分片报文, 当某一发送时间点上有多个队列中有分片报文需要发送时, 则根据分片报文 的优先级标识, 优先发送优先级高的分片报文。
具体的, 请参见图 5, 队列 1~3中的分片报文的位置体现其进入队列并在队列中向右推 进的先后顺序, 其中, 队列最右端为发送位置。 如果队列 2中的分片报文 1率先推进至队 列最右端的发送位置, 并且, 此刻只有分片报文 1 处于发送位置, 则报文发送装置发送分 片报文 1 ; 在分片报文 1发送完毕后, 由于分片报文在各自队列中的位置向右推进, 队列 1 中的分片报文 6和队列 2中的分片报文 2可能同时处于各自队列最右端的发送位置 (报文 的分片和分片报文在队列中推进的速度远远高于分片报文的发送速度), 此时, 报文发送装 置根据分片报文 6和分片报文 2的优先级标识, 选择发送优先级较高的分片报文 6; 在分片 报文 6发送完毕后, 同样由于分片报文在各队列中位置的向右推进, 队列 1中的分片报文 7 又推进至队列最右端的发送位置, 此时, 报文发送装置根据分片报文 7和分片报文 2的优 先级标识, 选择发送优先级较高的分片报文 7, 以此类推。
本实施例二提供的报文分片方法, 可以对长报文的分片和分片报文的发送这两个阶段 进行优化:
一方面, 在长报文分片阶段进行优化。 现有技术基于 IEEE 802.3ah协议在基于 IEEE
802.3ah协议对长报文进行分片时, 为了保证报文顺序, 同一时间只能由单个核心或线程对 长报文进行分片、 添加报文头等操作, 处理效率低。 通过本实施例二提供的报文分片方法, 可以支持多个核心或线程同时对长报文进行分片、 添加报文头等操作, 比如, 在本实施例 步骤 201,报文发送装置可以将每个长报文中的单次分片任务交由至少两个进程中的当前空 闲进程进行处理, 以得到分片报文; 再如本实施例步骤 202, 报文发送装置可以将每个分片 报文的报文头添加任务交由至少两个进程中的当前空闲进程进行处理, 以得到携带有优先 级的分片报文, 这样, 长报文的分片和报文头添加任务就可以由多个进程同时进行, 可以 有效利用硬件资源, 提高分片效率。
另一方面, 在分片报文发送阶段进行优化。 比如, 当报文发送装置绑定多条传输链路 进行报文传输时, 为了保证同一条数据流中各报文之间的报序, 现有技术有两种发送方案: 第一种方案是将不同数据流中的报文分配到不同的传输链路进行发送, 详见图 7 所示
的多链路报文发送示意图, 其中长报文 1、 3、 4和 5属于数据流一, 报文 2属于数据流二, 数据流一和数据流二分别通过链路 1和链路 2进行发送。
第二种方案是基于 IEEE 802.3ah协议将各长报文进行分片, 并按照原长报文的报序发 送, 详见图 8 所示的另一种多链路报文发送示意图, 将各长报文分别分成两组分片报文并 分别有链路 1和链路 2进行发送。
上述第一种方案中, 当数据流一和数据流二之间数据量相差较大 (数据流一的数据量 比数据流二多很多) 时, 链路 1和链路 2的负载不均衡, 而第二种方案则对此进行改进, 将所有的长报文均分成两组分片报文,并将同一长报文分成的两组分片报文分别通过链路 1 和链路 2进行发送, 并且各链路中的分片报文严格按照原长报文的报序进行发送, 这样就 可以解决方案一中链路 1和链路 2负载不均衡的问题。
但是, 当数据流一和数据流二有优先级发送的要求 (比如数据流二中的报文需要优先 发送) 时, 上述的方案二无法解决。 而通过本实施例二提供的报文发送方法, 在各分组报 文头中添加队列号和优先级标识, 就可以实现在方案二的基础上, 将高优先级的分片报文 优先推送入各链路进行发送, 详见图 9所示的多链路优先级报文发送示意图, 其中, 在分 片报文头中添加队列号和优先级标识后, 可以优先发送优先级较高的长报文 2 的两个分片 报文 21和 22。具体的按照优先级发送分片报文的过程与本实施例二所述方法类似, 此处不 再赘述。
综上所述, 本实施例二提供的报文发送方法, 通过在分片报文中添加分片报文的队列 号和优先级标识, 根据队列号将分片报文输入相应发送队列, 再根据优先级标识发送分片 报文, 达到使报文发送装置能够按照报文优先级发送分片报文的目的, 解决了现有技术中 无法按照报文优先级发送报文的问题; 同时, 通过在分片报文中添加分片报文的队列号和 优先级标识, 能够支持多核心或多线程对长报文进行分片、 添加报文头等操作, 达到有效 利用硬件资源, 提高分片效率的目的。 实施例三
请参见图 10, 其示出了一种报文接收方法的方法流程图, 该报文接收方法可以用于在 以太网介质数据链路层中对分片报文进行接收和重组。 该报文接收方法具体可以包括如下 步骤:
步骤 301, 接收至少一个携带有优先级的分片报文;
报文接收装置接收报文发送装置发送的至少一个分片报文, 接收到的分片报文的报文 头中包含有报文发送装置添加的该分片报文的队列号、 优先级标识、 分片序列号和首尾片
标识, 其中, 分片报文的队列号用于指示该分片报文对应的重组队列, 优先级标识用于指 示该分片报文的优先级, 相同优先级的分片报文具有相同的队列号。
步骤 302, 将分片报文按照对应优先级输入重组队列, 相同优先级的分片报文依次输入 相同的重组队列, 不同优先级的分片报文依次输入不同的重组队列;
具体的, 由于相同优先级的分片报文具有相同的队列号, 报文接收装置可以根据各分 片报文头中的分片队列号, 相同优先级的分片报文依次输入相同的重组队列, 将不同优先 级的分片报文依次输入不同的重组队列。
步骤 303, 按照优先级由高到低, 依次重组不同重组队列中的分片报文, 得到至少一个 长报文。
具体的, 报文接收装置根据分片序列号和首尾片标识判断每个重组队列中当前接收到 的分片报文是否能够组成完整的长报文; 如果是, 则根据分片序列号和首尾片标识将当前 接收到的能够组成完整长报文的分片报文重组为一个长报文。
综上所述, 本实施例三提供的报文接收方法, 通过根据分片报文的报文头中的队列号 将分片报文分别输入相应的重组队列, 再通过分片报文的报文头中的分片序列号和首尾片 标识, 按照优先级顺序将分片报文重组为长报文, 达到了按照优先级对报文进行重组的目 的。 实施例四
请参见图 11, 其示出了一种报文接收方法的方法流程图, 该报文接收方法基于 IEEE 802.3ah协议并对其进行扩展, 可以用于在以太网介质数据链路层中对分片报文进行接收和 重组。 该报文接收方法具体可以包括如下步骤:
步骤 401, 报文接收装置接收至少一个携带有优先级的分片报文;
报文接收装置接收并缓存至少一个分片报文。 接收到的分片报文的报文头中均包含有 该分片报文的队列号、 优先级标识、 分片序列号和首尾片标识, 并且相同优先级的分片报 文, 队列号也相同。 其中, 队列号用于指示分片报文对应的重组队列, 优先级标识用于指 示分片报文的优先级, 分片序号用于在报文重组时确定各分片报文的顺序, 首尾片标识用 于指示各分片报文是否为长报文的首片或尾片。
具体的, 请参见图 4所示的一种分片报文的格式示意图。 在图 4所示的报文头中, Ti 字段为分片报文的队列号 (lObits) 和优先级标识 (6bits), sn字段为分片报文的分片序列 号 (14bits) 和首尾片标识 (2bit), 其中, 首尾片标识分为首片标识和尾片标识。
步骤 402, 报文接收装置将分片报文按照对应优先级输入重组队列, 相同优先级的分片
报文依次输入相同的重组队列, 不同优先级的分片报文依次输入不同的重组队列; 报文接收装置根据分片报文的报文头中的队列号将接收到的分片报文分别输入相应的 重组队列, 其中, 重组队列为报文接收装置预先设置的。
具体的, 请参见图 12, 其示出了一种报文接收原理图, 其中, 分片报文 1~5属于长报 文 1, 分片报文 6~10属于长报文 2, 分片报文 11~15属于长报文 3。 另外, 长报文共配置为 3个优先级, 其中, 长报文 1为第二优先级, 长报文 2为第一优先级, 长报文 3为第三优先 级。 对应长报文的 3个优先级, 报文接收装置预先设置了 3个重组队列 (队列 1~队列 3), 其中, 队列 1对应第一优先级, 队列 2对应第二优先级, 队列 3对应第三优先级。 接收分 片报文之后, 报文接收装置根据分片报文的队列号, 将分片报文 1~5输入队列 2, 将分片报 文 6~10输入队列 1, 将分片报文 11~15输入队列 3。
步骤 403, 报文接收装置按照优先级由高到低, 依次重组不同重组队列中的分片报文, 得到至少一个长报文。
具体的, 参见图 12, 当队列 1~3中都有需要重组的报文时, 报文接收装置首先根据分 片序列号和首尾片标识判断个重组队列中的报文是否能够组成完整的长报文, 具体的, 若 某一重组队列中的多个报文序列号连续的分片报文中, 既有首片报文, 又有与之对应的尾 片报文, 则认为这连续的多个分片报文能够组成一个完整的长报文。 则此时, 报文接收装 置根据报文序列号和首尾片标识将这连续的多个分片报文重组为一个长报文。 另外, 如图 12所示, 3 个重组队列中的分片报文分别为分片报文 6~10、 分片报文 1~5 以及分片报文 11-15, 并且, 其中分片报文 1、 6和 11为首片报文, 分片报文 5、 10和 15为尾片报文, 3 个重组队列中的分片报文都能够重组为完整的长报文, 则报文接收装置可以根据各分片报 文的优先级, 先重组长报文 2, 再重组长报文 1, 最后重组长报文 3。
综上所述, 本实施例四提供的报文接收方法, 通过根据分片报文的报文头中的队列号 将分片报文分别输入相应的重组队列, 再通过分片报文的报文头中的优先级标识、 分片序 列号和首尾片标识, 按照优先级顺序将分片报文重组为长报文, 达到了按照优先级对报文 进行重组的目的。 实施例五
请参见图 13, 其示出了一种报文发送装置的装置结构图, 该报文发送装置可以应用于 在以太网介质数据链路层中对报文进行分片和发送。 该报文发送装置具体可以包括:
分片模块 501,用于将至少一个具有各自的优先级的长报文进行分片得到携带有优先级 的分片报文;
发送缓存器 502, 用于将分片报文按照对应优先级输入发送队列, 相同优先级的分片报 文依次输入相同的发送队列, 不同优先级的分片报文依次输入不同的发送队列;
发送模块 503, 用于按照优先级由高到低, 依次发送不同发送队列中的分片报文。 其中, 分片模块 501, 具体包括:
分片单元 501a, 用于将长报文进行分片得到至少一个分片报文, 每个分片报文的长度 小于等于最大报文长度;
添加单元 501b, 用于在分片报文的报文头中添加队列号、 优先级标识、 分片序列号和 首尾片标识, 得到携带有优先级的分片报文;
其中, 队列号用于指示分片报文对应的发送队列, 优先级标识用于指示分片报文的优 先级, 相同优先级的分片报文具有相同的队列号。
另外, 分片模块 501可以是一个多线程的实体, 具体的,
分片单元 501a, 用于将每个长报文中的单次分片任务交由至少两个进程中的当前空闲 进程进行处理, 以得到分片报文;
添加单元 501b, 用于将每个分片报文的报文头添加任务交由至少两个进程中的当前空 闲进程进行处理, 以得到携带有优先级的分片报文。
具体的, 请参见图 4所示的一种分片报文的格式示意图。 在图 4所示的报文头中, Ti 字段为分片报文的队列号 (lObits ) 和优先级标识 (6bits), sn字段为分片报文的分片序列 号 (14bits) 和首尾片标识 (2bit), 其中, 首尾片标识分为首片标识和尾片标识。
发送模块 503, 具体用于当不同的发送队列中同时有分片报文需要发送时, 优先发送优 先级较高的发送队列中的分片报文。
具体的, 当某一发送时间点上只有一个队列中有分片报文需要发送时, 则发送模块 503 发送该队列中的分片报文, 当某一发送时间点上有多个队列中有分片报文需要发送时, 则 发送模块 503根据分片报文的优先级标识, 优先发送优先级高的分片报文。
综上所述, 本实施例五提供的报文发送装置, 通过在分片报文中添加分片报文的队列 号和优先级标识, 达到使报文发送装置能够按照报文优先级发送分片报文的目的, 解决了 现有技术中无法按照报文优先级发送报文的问题。 实施例六
请参见图 14, 其示出了一种报文接收装置的装置结构图, 该报文接收装置可以用于在 以太网介质数据链路层中对分片报文进行接收重组。 该报文接收装置具体可以包括:
接收模块 601, 用于接收至少一个携带有优先级的分片报文;
接收缓存器 602, 用于将分片报文按照对应优先级输入重组队列, 相同优先级的分片报 文依次输入相同的重组队列, 不同优先级的分片报文依次输入不同的重组队列;
重组模块 603, 用于按照优先级由高到低, 依次重组不同重组队列中的分片报文, 得到 至少一个长报文。
接收模块 601, 具体用于接收至少一个分片报文, 每个分片报文的报文头中包含有: 队 列号、 优先级标识、 分片序列号和首尾片标识;
其中, 队列号用于指示分片报文对应的重组队列, 优先级标识用于指示分片报文的优 先级, 相同优先级的分片报文相同的队列号。
接收缓存器 602, 具体用于根据分片报文的队列号将分片报文输入相应的重组队列。 重组模块 603, 具体包括:
判断单元 603a, 用于根据分片序列号和首尾片标识判断每个重组队列中当前接收到的 分片报文是否能够组成完整的长报文;
重组单元 603b,用于如果判断单元 603a判断出重组队列中当前接收到的分片报文能够 组成完整的长报文, 则根据分片序列号和首尾片标识将当前接收到的分片报文重组为一个 长报文。
综上所述, 本实施例六提供的报文接收装置, 通过根据分片报文的报文头中的队列号 将分片报文分别输入相应的重组队列, 再通过分片报文的报文头中的优先级标识、 分片序 列号和首尾片标识, 按照优先级顺序将分片报文重组为长报文, 达到了按照优先级对报文 进行重组的目的。 实施例七
请参见图 15, 其示出了一种报文发送和接收系统的系统构成图, 该报文发送和接收系 统可以用于在以太网介质数据链路层中对报文进行分片发送与接收重组。 该报文发送和接 收系统可以包括:
如实施例五所示的报文发送装置 50和如实施例六所示的报文接收装置 60。
综上所述, 本实施例七提供的报文发送和接收系统, 通过在发送侧在分片报文中添加 分片报文的队列号和优先级标识, 根据队列号将分片报文输入相应发送队列, 根据优先级 标识发送分片报文, 达到使报文发送装置能够按照报文优先级发送分片报文的目的; 另外, 通过在接收侧根据分片报文的报文头中的队列号将分片报文分别输入相应的重组队列, 再 通过分片报文的报文头中的优先级标识、 分片序列号和首尾片标识, 按照优先级顺序将分 片报文重组为长报文, 达到了按照优先级对报文进行重组的目的。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完 成, 也可以通过程序来指令相关的硬件完成, 所述的程序可以存储于一种计算机可读存储 介质中, 上述提到的存储介质可以是只读存储器, 磁盘或光盘等。 以上所述仅为本发明的较佳实施例, 并不用以限制本发明, 凡在本发明的精神和原则 之内, 所作的任何修改、 等同替换、 改进等, 均应包含在本发明的保护范围之内。
Claims (10)
- 权 利 要 求 书1、 一种报文发送方法, 其特征在于, 所述方法包括:将至少一个携带有优先级的长报文进行分片, 得到携带有所述优先级的分片报文; 将所述分片报文按照对应优先级输入发送队列, 相同优先级的所述分片报文依次输入相 同的发送队列, 不同优先级的所述分片报文依次输入不同的发送队列;按照优先级由高到低, 依次发送不同发送队列中的分片报文。
- 2、根据权利要求 1所述的报文发送方法, 其特征在于, 所述将至少一个携带有优先级的 长报文进行分片, 得到携带有所述优先级的分片报文, 具体包括:将所述长报文进行分片得到至少一个分片报文, 每个分片报文的长度小于等于最大报文 长度;在所述分片报文的报文头中添加队列号、 优先级标识、 分片序列号和首尾片标识, 得到 携带有所述优先级的分片报文;其中, 所述队列号用于指示所述分片报文对应的发送队列, 所述优先级标识用于指示所 述分片报文的优先级, 相同优先级的分片报文具有相同的队列号。
- 3、根据权利要求 2所述的报文发送方法, 其特征在于, 所述将所述长报文进行分片得到 至少一个分片报文, 具体包括:将每个长报文中的单次分片任务交由至少两个进程中的当前空闲进程进行处理, 以得到 所述分片报文;相应的, 所述在所述分片报文的报文头中, 添加队列号、 优先级标识、 分片序列号和首 尾片标识, 得到携带有所述优先级的分片报文, 包括:将每个分片报文的报文头添加任务交由至少两个进程中的当前空闲进程进行处理, 以得 到携带有所述优先级的分片报文。
- 4、根据权利要求 1至 3任一所述的报文发送方法, 其特征在于, 所述按照优先级由高到 低, 依次发送不同发送队列中的分片报文, 具体包括:当不同的发送队列中同时有分片报文需要发送时, 优先发送优先级较高的发送队列中的 分片报文。 5、 一种报文接收方法, 其特征在于, 所述方法包括:接收至少一个携带有优先级的分片报文;将所述分片报文按照对应优先级输入重组队列, 相同优先级的所述分片报文依次输入相 同的重组队列, 不同优先级的所述分片报文依次输入不同的重组队列;按照优先级由高到低, 依次重组不同重组队列中的分片报文, 得到至少一个长报文。
- 6、根据权利要求 5所述的报文接收方法, 其特征在于, 所述接收至少一个携带有优先级 的分片报文, 具体包括:接收至少一个分片报文, 每个分片报文的报文头中包含有: 队列号、 优先级标识、 分片 序列号和首尾片标识;其中, 所述队列号用于指示所述分片报文对应的重组队列, 所述优先级标识用于指示所 述分片报文的优先级, 相同优先级的分片报文具有相同的队列号。 7、根据权利要求 6所述的报文接收方法, 其特征在于, 所述将所述分组报文按照对应优 先级输入重组队列, 具体包括:根据所述分片报文的队列号将所述分片报文输入相应的重组队列。
- 8、 根据权利要求 5或 6所述的报文接收方法, 其特征在于, 所述按照优先级由高到低, 依次重组不同重组队列中的分片报文, 得到至少一个长报文, 具体包括:根据所述分片序列号和首尾片标识判断每个重组队列中当前接收到的分片报文是否能够 组成完整的长报文;如果是, 则根据所述分片序列号和首尾片标识将当前接收到的分片报文重组为一个长报 文。
- 9、 一种报文发送装置, 其特征在于, 所述装置包括:分片模块, 用于将至少一个携带有优先级的长报文进行分片得到携带有所述优先级的分 片报文;发送缓存器, 用于将所述分片报文按照对应优先级输入发送队列, 相同优先级的所述分 片报文依次输入相同的发送队列, 不同优先级的所述分片报文依次输入不同的发送队列; 发送模块, 用于当不同的发送队列中同时有分片报文需要发送时, 优先发送优先级较高 的发送队列中的分片报文。
- 10、 根据权利要求 9所述的报文发送装置, 其特征在于, 所述分片模块, 具体包括: 分片单元, 用于将所述长报文进行分片得到至少一个分片报文, 每个分片报文的长度小 于等于最大报文长度;添加单元, 用于在所述分片报文的报文头中添加队列号、 优先级标识、 分片序列号和首 尾片标识, 得到携带有所述优先级的分片报文;其中, 所述队列号用于指示所述分片报文对应的发送队列, 所述优先级标识用于指示所 述分片报文的优先级, 相同优先级的分片报文具有相同的队列号。
- 11、 根据权利要求 10所述的报文发送装置, 其特征在于,所述分片单元, 具体用于将每个长报文中的单次分片任务交由至少两个进程中的当前空 闲进程进行处理, 以得到所述分片报文;所述添加单元, 具体用于将每个分片报文的报文头添加任务交由至少两个进程中的当前 空闲进程进行处理, 以得到携带有所述优先级的分片报文。
- 12、 一种报文接收装置, 其特征在于, 所述装置包括:接收模块, 用于接收至少一个携带有优先级的分片报文;接收缓存器, 用于将所述分片报文按照对应优先级输入重组队列, 相同优先级的所述分 片报文依次输入相同的重组队列, 不同优先级的所述分片报文依次输入不同的重组队列; 重组模块, 用于按照优先级由高到低, 依次重组不同重组队列中的分片报文, 得到至少 一个长报文。 13、 根据权利要求 12所述的报文接收装置, 其特征在于,所述接收模块, 具体用于接收至少一个分片报文, 每个分片报文的报文头中包含有: 队 列号、 优先级标识、 分片序列号和首尾片标识;其中, 所述队列号用于指示所述分片报文对应的重组队列, 所述优先级标识用于指示所 述分片报文的优先级, 相同优先级的分片报文相同的队列号。 14、 根据权利要求 13所述的报文接收装置, 其特征在于,所述接收存储器, 具体用于根据所述分片报文的队列号将所述分片报文输入相应的重组 队列。 15、 一种报文发送和接收系统, 其特征在于, 所述系统包括:如权利要求 9至 11任一所述的报文发送装置和如权利要求 12至 14任一所述的报文接收 装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2012/079191 WO2014015498A1 (zh) | 2012-07-26 | 2012-07-26 | 报文发送方法、接收方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103748845A true CN103748845A (zh) | 2014-04-23 |
CN103748845B CN103748845B (zh) | 2017-02-01 |
Family
ID=49996505
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280001103.9A Active CN103748845B (zh) | 2012-07-26 | 2012-07-26 | 报文发送方法、接收方法、装置及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103748845B (zh) |
WO (1) | WO2014015498A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107342955A (zh) * | 2017-06-29 | 2017-11-10 | 迈普通信技术股份有限公司 | 一种数据报文分片方法及装置、重组方法及装置 |
CN112714070A (zh) * | 2019-10-24 | 2021-04-27 | 北京华为数字技术有限公司 | 通信方法、装置、系统及存储介质 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3270565B1 (en) | 2015-03-28 | 2019-05-01 | Huawei Technologies Co., Ltd. | Multi-link aggregation message sending method and apparatus |
CN106533954A (zh) * | 2015-09-15 | 2017-03-22 | 深圳市中兴微电子技术有限公司 | 一种报文调度方法和装置 |
CN105827686A (zh) * | 2015-11-16 | 2016-08-03 | 广东亿迅科技有限公司 | 一种数据传输方法 |
CN107404446A (zh) * | 2016-05-19 | 2017-11-28 | 中兴通讯股份有限公司 | 一种处理分片报文的方法及装置 |
CN108632169A (zh) * | 2017-03-21 | 2018-10-09 | 中兴通讯股份有限公司 | 一种分片的服务质量保证方法及现场可编程逻辑门阵列 |
CN112653639B (zh) * | 2020-12-21 | 2022-10-14 | 北京华环电子股份有限公司 | 一种基于多线程交互处理的IPv6报文分片重组方法 |
CN113595932B (zh) * | 2021-08-06 | 2024-05-14 | 上海金仕达软件科技股份有限公司 | 数据乱序报文的处理方法及专用集成电路 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5956341A (en) * | 1996-12-13 | 1999-09-21 | International Business Machines Corporation | Method and system for optimizing data transmission line bandwidth occupation in a multipriority data traffic environment |
US20040264488A1 (en) * | 2003-06-25 | 2004-12-30 | Hyun-Min Yoon | Apparatus and method for processing packets |
US20080056192A1 (en) * | 2006-08-31 | 2008-03-06 | Piping Hot Networks Limited | Latency reduction by adaptive packet fragmentation |
US20080056295A1 (en) * | 2006-09-01 | 2008-03-06 | Dne Technologies, Inc. | Internet protocol quality of service apparatus and method |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101031092A (zh) * | 2006-02-28 | 2007-09-05 | 华为技术有限公司 | 一种语音报文的处理方法和报文处理器 |
CN101369962B (zh) * | 2007-08-13 | 2011-06-08 | 华为技术有限公司 | 转发报文的方法和网络设备 |
CN101170492A (zh) * | 2007-11-30 | 2008-04-30 | 中兴通讯股份有限公司 | 一种在网络拥塞时发送分片报文的方法 |
CN101252536B (zh) * | 2008-03-31 | 2010-06-02 | 清华大学 | 路由器多队列数据包缓存管理与输出队列调度系统 |
-
2012
- 2012-07-26 CN CN201280001103.9A patent/CN103748845B/zh active Active
- 2012-07-26 WO PCT/CN2012/079191 patent/WO2014015498A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5956341A (en) * | 1996-12-13 | 1999-09-21 | International Business Machines Corporation | Method and system for optimizing data transmission line bandwidth occupation in a multipriority data traffic environment |
US20040264488A1 (en) * | 2003-06-25 | 2004-12-30 | Hyun-Min Yoon | Apparatus and method for processing packets |
US20080056192A1 (en) * | 2006-08-31 | 2008-03-06 | Piping Hot Networks Limited | Latency reduction by adaptive packet fragmentation |
US20080056295A1 (en) * | 2006-09-01 | 2008-03-06 | Dne Technologies, Inc. | Internet protocol quality of service apparatus and method |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107342955A (zh) * | 2017-06-29 | 2017-11-10 | 迈普通信技术股份有限公司 | 一种数据报文分片方法及装置、重组方法及装置 |
CN107342955B (zh) * | 2017-06-29 | 2020-09-22 | 迈普通信技术股份有限公司 | 一种数据报文分片方法及装置、重组方法及装置 |
CN112714070A (zh) * | 2019-10-24 | 2021-04-27 | 北京华为数字技术有限公司 | 通信方法、装置、系统及存储介质 |
CN112714070B (zh) * | 2019-10-24 | 2024-01-09 | 北京华为数字技术有限公司 | 通信方法、装置、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2014015498A1 (zh) | 2014-01-30 |
CN103748845B (zh) | 2017-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103748845A (zh) | 报文发送方法、接收方法、装置及系统 | |
KR101696776B1 (ko) | 향상된 확인응답 및 재송신 메커니즘 | |
CN101932004B (zh) | 一种数据链路层的数据发送处理方法及设备 | |
CN104104479B (zh) | 经由无线网络和无线装置发送/接收数据的方法和设备 | |
WO2011120467A2 (zh) | 报文保序处理方法、保序协处理器和网络设备 | |
US20090060009A1 (en) | Aggregate data frame generation | |
CN102300259A (zh) | 一种数据块级联和拆解处理方法、装置及系统 | |
CN101932128A (zh) | 一种数据链路层的数据收发处理方法及设备 | |
CN102130833A (zh) | 一种高速路由器流量管理芯片链表存储管理方法及系统 | |
CN109547162B (zh) | 基于两套单向边界的数据通信方法 | |
CN107733813B (zh) | 报文转发方法及装置 | |
CN107404396B (zh) | 一种数据传输方法和装置 | |
CN101494579A (zh) | 总线调度装置及方法 | |
CN103944880B (zh) | 一种ZigBee数据传输的方法 | |
CN105635000B (zh) | 一种报文存储转发方法和电路及设备 | |
CN103178930A (zh) | 物理层链路汇聚传输方法及装置 | |
US20130250760A1 (en) | Communication link with intra-packet flow control | |
CN103079231A (zh) | 在ap中基于无线局域网的组播转单播的装置和方法 | |
CN101631074B (zh) | 一种多链路报文发送方法、装置和网络设备 | |
Gokhale et al. | Toward enabling high-five over WiFi: A tactile internet paradigm | |
CN102368742B (zh) | 一种公平性好效率高的多链路数据传输方法 | |
CN110858794A (zh) | 多频段传输方法及装置 | |
CN109274467A (zh) | 一种数据重传处理方法、rlc实体和mac实体 | |
CN103595519A (zh) | 无线链路汇聚方法和无线通信设备 | |
CN104798388B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |