CN101662461A - 一种多链路协议分片数据的重组方法、装置及系统 - Google Patents

一种多链路协议分片数据的重组方法、装置及系统 Download PDF

Info

Publication number
CN101662461A
CN101662461A CN200810198050A CN200810198050A CN101662461A CN 101662461 A CN101662461 A CN 101662461A CN 200810198050 A CN200810198050 A CN 200810198050A CN 200810198050 A CN200810198050 A CN 200810198050A CN 101662461 A CN101662461 A CN 101662461A
Authority
CN
China
Prior art keywords
burst
descriptor
sequence number
data block
data
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
Application number
CN200810198050A
Other languages
English (en)
Other versions
CN101662461B (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.)
Guangdong Gao Xin Touchplus information Corp
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
Priority to CN200810198050XA priority Critical patent/CN101662461B/zh
Priority to PCT/CN2009/073247 priority patent/WO2010022629A1/zh
Publication of CN101662461A publication Critical patent/CN101662461A/zh
Application granted granted Critical
Publication of CN101662461B publication Critical patent/CN101662461B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

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

Abstract

本发明实施例公开了一种多链路协议分片数据的重组方法、装置及系统。其中,所述多链路协议分片数据的重组方法包括:从各分片描述信息数据块的数据块首中,提取出序号最小的分片的分片描述信息,其中,一个分片描述信息数据块用于依据接收的同一链路的分片的序号,顺序存储所述同一链路的分片的分片描述信息;将所述提取出的序号最小的分片的分片描述信息加入到有序数据块的尾部,所述有序数据块将分片描述信息依据分片的序号进行顺序存储;根据所述有序数据块中的分片描述信息,确定已接收完一个报文的所有分片,重组所述报文。实施本发明实施例可减小MP组重组的复杂度。

Description

一种多链路协议分片数据的重组方法、装置及系统
技术领域
本发明涉及通信领域,尤其涉及一种多链路协议分片数据的重组方法、装置及系统。
背景技术
点对点协议(PPP,Point-to-Point Protocol)在使用中产生了一种扩展特性的多链路协议(MP,Multilink Protocol),其原理是将多个物理上独立的PPP链路通过捆绑,对外表现为一条逻辑链路。在此链路上传送的报文,会先被分片,然后将分片发送到各个子链路上传送从而增加了报文转发的效率。这几个物理通道称为一个MP组。
现有技术对MP绑定的PPP链路上收到的分片数据,采用固定线性表存储的方案,按照收到分片的序号存储,每个分片都有一个固定的空间分配。当一个分片未收到时,此分片对应的存储地址空闲,不存放任何其他信息。理论上来说,支持的链路延时时间越长,则接收到的分片数量越多,那么用于存储分片的空间越大。并且,在对MP组的各条链路收到的分片进行重组排序处理时,不区分分片入队时间先后顺序,而是对所有收到分片按序号进行排序处理。
本发明的发明人在实施本发明实施例时发现,现有技术所采用的报文分片存储方式,为报文的每个分片分配固定的存储空间,且不区分分片入队时间先后顺序,这使得在对分片进行报文重组时,重组需要遍历所有分片的存储的空间,非常复杂。
发明内容
鉴于此,本发明实施例提供一种多链路协议分片数据的重组方法、装置及系统。可减小多链路协议数据的重组的复杂度。
为了解决上述技术问题,本发明实施例提供了一种多链路协议分片数据的重组方法,该重组方法包括:
从各分片描述信息数据块的数据块首中,提取出序号最小的分片的分片描述信息,其中,一个分片描述信息数据块用于依据接收的同一链路的分片的序号,顺序存储所述同一链路的分片的分片描述信息;
将所述提取出的序号最小的分片的分片描述信息加入到有序数据块的尾部,所述有序数据块将分片描述信息依据分片的序号进行顺序存储;
根据所述有序数据块中的分片描述信息,确定已接收完一个报文的所有分片,重组所述报文。
相应的,本发明实施例还提供了一种多链路协议分片数据的重组装置,该装置包括:
提取单元,用于从存储的各分片描述信息数据块的数据块首中,提取出序号最小的分片的分片描述信息,其中,一个分片描述信息数据块用于依据接收的同一链路的分片的序号,顺序存储所述同一链路的分片的分片描述信息;
添加单元,用于将所述提取单元提取出的序号最小的分片的分片描述信息加入到有序数据块的尾部,所述有序数据块将分片描述信息依据分片的序号进行顺序存储;
重组处理单元,用于根据所述有序数据块中的分片描述信息,确定已接收完一个报文的所有分片,重组所述报文。
相应的,本发明实施例还提供了一种多链路协议分片数据的重组系统,该系统包括:
存储装置,用于存储接收的分片数据、多个分片描述信息数据块及有序数据块,其中所述一个分片描述信息数据块用于依据接收的同一链路的分片的序号,顺序存储所述同一链路的分片的分片描述信息,所述有序数据块将分片描述信息依据分片的序号进行顺序存储;
重组装置,用于从所述存储装置所存储的各分片描述信息数据块的数据块首中,提取出序号最小的分片的分片描述信息;并将所述提取出的序号最小的分片的分片描述信息加入到有序数据块的尾部,并根据所述有序数据块中的分片描述信息,确定已接收完一个报文的所有分片时,重组所述报文。
本发明实施例采用多个分片描述信息数据块分别根据接收的同一链路的分片的序号,顺序存储所述同一链路的分片的分片描述信息,在重组过程中,由于每个分片描述信息数据块的数据块首的分片描述信息对应于从某条链路的接收的分片中序号最小的分片,因此本发明实施例可以通过比较各分片描述信息数据块的数据块首的信息,来找出一个最小序号的分片,而避免了现有技术需要对所有分片进行排序的复杂工作,因此,本发明实施例与现有技术需要遍历整个分片的存储范围对分片进行排序相比,可以简化对多链路协议数据进行重组的复杂度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明的一个实施例的多链路协议分片数据的重组系统的结构组成示意图;
图2是根据本发明的一个实施例的多链路协议分片数据的存储装置的结构组成示意图;
图3是一个包括三条链路的动态链表及其指示单元的示意图;
图4是根据本发明的一个实施例的多链路协议分片数据的重组装置的结构组成示意图;
图5是根据图4中提取单元33的一个实施例的结构组成示意图;
图6是根据图4中重组处理单元36的一个实施例的结构组成示意图;
图7是根据本发明的一个实施例的多链路协议分片数据的重组方法的简化流程示意图;
图8是根据图7中的步骤S200的一个实施例流程细化示意图;
图9是根据图7中的步骤S230的一个实施例流程细化示意图;
图10是根据本发明的一个实施例的多链路协议分片数据的重组方法的一个详细流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是根据本发明的一个实施例的多链路协议分片数据的重组系统的结构组成示意图;如图1所示,本实施例的重组系统包括存储装置1和重组装置2,其中:
所述存储装置1,用于存储接收的分片数据、多个分片描述信息数据块及有序数据块,其中所述一个分片描述信息数据块用于依据接收的同一链路的分片的序号,顺序存储所述同一链路的分片的分片描述信息,所述有序数据块将分片描述信息依据分片的序号进行顺序存储;具体实现中,一个MP组内绑定的不同PPP链路上收到的分片的序号大小与接收时间相对应,即一条链路时间上先收到的分片的序号比后收到的分片的序号小。这是由于发送端的发送机制是先分片,为每一个分片分配一个序号,然后先发送序列号小的分片到一条链路上,发送到接收之间从逻辑上来看是一条固定的链路,而不同于以太网会经过不同路由到达对端的机制。因此从时间上来看,在一条链路前一个分片发送完成后,后一个分片才能在此链路上发送,因此后一个分片的序列号是大于前一个分片序列号的。这样本发明实施例中当从同一条链路上接收到分片数据后,通过本发明实施例的存储装置生成分片描述信息,并依据接收的同一链路的分片的序号,顺序存储所述同一链路各分片的分片描述信息。本发明实施例的存储装置可包括两块,第一块位于芯片的外部,比如为芯片外的同步静态随机访问存储器(SSRAM,Synchronous Static Random Access Memory),用于存储接收的分片数据;第二块位于芯片的内部,比如可为芯片内部的静态随机访问存储器(SRAM,Static Random Access Memory),用于存储所述分片数据的分片描述信息和有序数据块,其中所述存储的分片描述信息至少包括该分片的MP头信息和所述分片描述信息对应的分片数据的存储地址信息,所述MP头信息中包括分片的序号,所述分片描述信息还可进一步包括分片的接收时间。
所述重组装置2,用于从所述存储装置1所存储的各分片描述信息数据块的数据块首中,提取出序号最小的分片的分片描述信息;并将所述提取出的序号最小的分片的分片描述信息加入到有序数据块的尾部,并根据所述有序数据块中的分片描述信息,确定已接收完一个报文的所有分片时,重组所述报文。
本发明实施例采用多个分片描述信息数据块分别根据接收的同一链路的分片的序号,顺序存储所述同一链路的分片的分片描述信息,在重组过程中,由于每个分片描述信息数据块的数据块首的分片描述信息对应于从某条链路的接收的分片中序号最小的分片,因此本发明实施例可以通过比较各分片描述信息数据块的数据块首的信息,来找出一个最小序号的分片,而避免了现有技术需要对所有分片进行排序的复杂工作,因此,本发明实施例与现有技术需要遍历整个分片的存储范围对分片进行排序相比,可以简化对多链路协议数据进行重组的复杂度。
具体实现中,本实施例的存储装置可内置于所述重整装置中,作为所述重组装置的结构模块。
下面对系统中存储装置和重组装置的结构分别进行说明。
图2是根据本发明的一个实施例的多链路协议分片数据的存储装置的结构组成示意图;如图2所示,本实施例的存储装置包括分片数据存储单元10、分片描述信息存储单元11以及指示单元12,其中:
所述分片数据存储单元10用于接收并存储分片数据;
所述分片描述信息存储单元11,用于存储多个分片描述信息数据块及有序数据块,其中所述一个分片描述信息数据块用于依据接收的同一链路的分片的序号,顺序存储所述同一链路的分片的分片描述信息,所述有序数据块将分片描述信息依据分片的序号进行顺序存储。所述分片描述信息至少包括该分片的MP头信息和所述分片描述信息对应的分片数据的存储地址信息,所述MP头信息中包括分片的序号,所述分片描述信息还可进一步包括分片的接收时间。
所述指示单元12,用于针对每个分片描述信息数据块,设置第一指示信息用于指示所述分片描述信息数据块的数据块首,设置第二指示信息用于指示所述分片描述信息数据块的数据块尾。当所述分片描述信息数据块为动态链表时,该指示单元12可为另一个SRAM,该SRAM为每一个分片描述信息链表设置头指针(Head)、用于指示所述分片描述信息数据块的数据块首,设置尾指针(Tail),用于指示所述分片描述信息数据块的尾部。
较佳的,本实施例的存储装置还包括一计数单元(图中未示出),用于对每个分片描述信息数据块包含的分片描述信息的个数进行计数(用Cnt表示),当某个分片描述信息数据块中新增一个分片描述信息,则对应于该分片描述信息数据块的计数模块的计数会增加1,当某个分片描述信息数据块中减少一个分片描述信息时,对应于该分片描述信息数据块的计数模块的计数会减1。
如图3所示为一个包括三条链路的动态链表及其指示单元的示意图,其中,每个链路接收的分片按照接收先后存储在一个动态链表中,每个动态链表的中分片的序号(PD_i)由小到大排序,比如从第一链路接收的分片在链表中的排序为PD_1、PD_4,……PD_i;从第二链路接收的分片在链表中的排序为PD 2、PD_5,……PD_j,且对应于每个动态链表均有一个指示单元,所述指示单元包括指向所述链表的链表头以指示所述链表的链表首的头指针(Head),指向所述链表的链表尾以指示所述链表的尾部的尾指针(Tail)以及对所述链表包含的分片描述信息的计数参数Cnt。从图2中可以看出,每个链表的链表首的分片描述信息必然是从某链路接收的最小序号分片的分片描述信息。
图4是根据本发明的一个实施例的多链路协议分片数据的重组装置的结构组成示意图;如图4所示,本实施例的重组装置包括提取单元33、更新单元34、添加单元35以及重组处理单元36,其中:
所述提取单元33,用于从存储的各分片描述信息数据块的数据块首中,提取出序号最小的分片的分片描述信息;
本实施例的重组装置还可包括第一判断单元,用于判断是否至少有一个分片描述信息数据块的数据块首发生更新,如果判断为是,则通知所述提取单元33从各分片描述信息数据块的数据块首中,提取出序号最小的分片的分片描述信息。如前所述,所述分片描述信息数据块可为动态链表。
所述更新单元34,用于当所述提取单元33提取出序号最小的分片的分片描述信息后,将所述序号最小的分片的分片描述信息所在的数据块的数据块首更新为所述序号最小分片的分片描述信息指向的下一分片描述信息;当分片描述信息数据块为动态链表时,所述更新单元34,可通过修改Head指针,使Head指针指向所述被提取出的序号最小的分片描述信息所指向的下一分片描述信息,这样更新后Head指针指向的分片描述信息成为分片描述信息链表的链表首。具体实现中,所述存储装置可包括第一计数单元,对每个分片描述信息数据块包含的分片描述信息的个数进行计数(用Cnt表示),当所述更新单元34更新完分片描述信息数据块的数据块首后,所述第一计数单元的计数自动减1。
所述添加单元35,用于将所述提取单元33提取出的序号最小的分片的分片描述信息加入已排序分片的分片描述信息所在的有序数据块的尾部;当分片描述信息数据块和有序数据块均为动态链表时,所述添加单元35可将指示所述有序数据块尾部的Tail指针和所述有序数据块尾部分片描述信息的指针指向所述提取出的序号最小的分片的分片描述信息,这样所述提取出的序号最小的分片的分片描述信息即加入到所述有序数据块的尾部。相应的,所述重组装置可包括第二计数单元,用于对所述有序数据块中的分片描述信息的个数进行计数。当所述添加单元35将所述提取出的序号最小的分片的分片描述信息加入到所述有序数据块的尾部后,所述第二计数单元的计数加1。
所述重组处理单元36,用于根据所述有序数据块中的分片描述信息,确定已接收完一个报文的所有分片,重组所述报文。具体实现中,接收的分片描述信息中的MP头可包括B标识和E标识,当MP头中的B标识有效时,表示接收的是一个报文的第一个分片,当MP头中的E标识有效时,表示接收的是一个报文的最后一个分片,因此,具体实现中,所述重组处理单元36可通过判断接收是否接收到一个B标识有效的分片后,又接收到同一个报文的一个E标识有效的分片,如果是,则判定已经接收完一个报文的所有分片,此时重组处理单元36根据所述报文的各分片描述信息对应的分片的地址信息找到各分片,重组所述报文。否则,通知所述提取单元33继续从各分片描述信息数据块的数据块首中,提取出序号最小的分片的分片描述信息。
具体实现中,本实施例的重组装置还可包括第七处理单元,用于当所述重组处理单元重组所述报文后,释放所述报文各分片占用的存储资源。
较佳的,图4中的提取单元33可包括图5所示的结构组成,参考图5,提取单元33进一步可包括确定单元330、第二判断单元331、第一处理单元332以及第二处理单元333,其中:
所述确定单元330,用于从各分片描述信息数据块的数据块首中,确定序号最小的分片;如前所述,每个分片描述信息数据块的数据块首是从某链路接收的最小序号分片的分片描述信息,且各分片描述信息中包含对应分片的序号,因此,确定单元330可通过比较各分片描述信息数据块的数据块首的方式,确定序号最小的分片。
所述第二判断单元331,用于判断所述确定单元330确定的序号最小的分片是否为目标分片,所述目标分片的序号为所述有序数据块的尾部的分片描述信息对应的分片的序号增1;
所述第一处理单元332,用于当所述第二判断单元331的判断结果为是时,从各分片描述信息数据块的数据块首中提取出所述序号最小的分片的分片描述信息;
所述第二处理单元333,用于当所述第二判断单元的判断结果为否时,丢弃所述确定的序号最小的分片,并释放所述分片占用的存储资源。本实施例的第二处理单元333在丢弃某个分片时,及时释放所述分片占用的内部存储装置的存储空间,与现有技术采用固定线性链表存储分片信息相比,,降低了资源消耗,从而降低了芯片成本。
较佳的,本实施例的重组装置还可包括第三判断单元,用于当所述第二判断单元331的判断结果为否时,判断该分片的序号与所述有序数据块尾部的分片描述信息对应的分片的序号的差值是否大于预设的门限值,如果判断为是,通知所述第二处理单元333丢弃所述确定的序号最小的分片,并释放所述分片占用的存储资源。
较佳的,本实施例的重组装置还可包括第四判断单元,用于当所述第二判断单元331的判断结果为否时,判断所述确定单元330确定的序号最小的分片是否超时,如果判断为是,通知所述第二处理单元333丢弃所述确定的序号最小的分片,并释放所述分片占用的存储资源。
较佳的,本实施例的重组装置还可包括第五判断单元,用于当所述第二判断单元331的判断结果为否时,判断是否到达所述分片的更新时间点,如果判断为是,通知所述第四判断单元,判断该分片是否超时。
图6是根据图4中重组处理单元36的一个实施例的结构组成示意图;参考图6,所述重组处理单元36至少可包括第六判断单元360、第三处理单元361、第四处理单元362,其中:
所述第六判断单元360,用于根据所述有序数据块中的分片描述信息,判断是否已接收完一个报文的所有分片;
所述第三处理单元361,用于当所述第六判断单元360的判断结果为是时,重组所述报文;
所述第四处理单元362,用于当所述第六判断单元360的判断结果为否时,所述提取单元33从各分片描述信息数据块的数据块首中,提取出序号最小的分片的分片描述信息。
较佳的,所述第四处理单元还包括:
第七判断单元,用于当所述第六判断单元360的判断结果为否时,判断报文分片是否出错;
第五处理单元,用于当所述第七判断单元的判断结果为是时,丢弃出错分片并释放所述分片占用的存储资源;
第七判断单元可判断接收的序号是连续的分片中是否包括有两个标识为第一分片的分片,而未包括标识为最后分片的分片,如果判断为是,将前一个第一分片的序号到后一个第一分片的序号之间的所有分片丢弃,并释放所述分片占用的存储资源;
或,判断接收的序号是连续的分片中是否包括有两个标识为最后分片的分片,而未包括标识为第一分片的分片,如果判断为是,将前一个最后序号到后一个最后序号之间的所有分片,连同所述后一个最后分片一起丢弃,并释放所述分片占用的存储资源。
如前所述,当接收到一个B标识有效的分片后,又接收到一个E标识有效的分片,则判定已经接收完一个报文的所有分片;相反的,在接收的多个序号连续的情况下,当接收到一个B标识有效的分片后,未接收到一个E标识有效的分片时,又接收到另一个B标识有效的分片,则可判定报文出错;或者在接收的多个序号连续的情况下,当接收到一个E标识有效的分片后,在未接收到一个B标识有效的分片时,又接收到另一个E标识有效的分片,则可判定报文出错。
第六处理单元,用于当所述第七判断单元的判断结果为否时,通知所述提取单元从各分片描述信息数据块的数据块首中,提取出序号最小的分片的分片描述信息。本实施例采用多个分片描述信息数据块分别根据接收的同一链路的分片的序号,顺序存储所述同一链路的分片的分片描述信息,在重组过程中,由于每个分片描述信息数据块的数据块首的分片描述信息对应于从某条链路的接收的分片中序号最小的分片,因此本发明实施例可以通过比较各分片描述信息数据块的数据块首的信息,来找出一个最小序号的分片,而避免了现有技术需要对所有分片进行排序的复杂工作,因此,本发明实施例与现有技术需要遍历整个分片的存储范围对分片进行排序相比,可以简化对多链路协议数据进行重组的复杂度。
另外,本实施例方案在丢弃某个分片时,及时释放所述分片占用的内部存储装置的存储空间,与现有技术采用固定线性链表存储分片信息相比,降低了资源消耗,从而降低了芯片成本。
本实施例中,重组装置和存储装置分别为独立的设备,在具体实现中,所述存储装置和所述重组装置可设置在一个设备中,或者所述存储装置可作为所述重组装置的内部模块。
相应的,图7是根据本发明的一个实施例的多链路协议分片数据的重组方法的流程示意图;如图7所示,本实施例的方法至少包括:
步骤S200、从各分片描述信息数据块的数据块首中,提取出序号最小的分片的分片描述信息;具体实现中,在步骤S200之前还可包括判断是否至少有一个分片描述信息数据块的数据块首发生更新,如果判断为是,则执行步骤S200。如前所述,所述分片描述信息数据块可为动态链表。
步骤S210,将所述序号最小的分片的分片描述信息所在的分片描述信息数据块的数据块首更新为所述序号最小分片的分片描述信息指向的下一分片描述信息;当分片描述信息数据块为动态链表时,可通过修改Head指针,使Head指针指向所述被提取出的序号最小的分片描述信息所指向的下一分片描述信息,这样更新后Head指针指向的分片描述信息成为分片描述信息链表的链表首。具体实现中,步骤S210在更新数据块首后还可包括,对每个分片描述信息数据块包含的分片描述信息的个数进行计数(用Cnt表示)的步骤,具体的,当更新完分片描述信息数据块的数据块首后,将对应的分片描述信息数据块的分片描述信息的计数自动减1。
步骤S220,将所述提取出的序号最小的分片的分片描述信息加入有序数据块的尾部,所述有序数据块将分片描述信息按序号顺序存储;当分片描述信息数据块和有序数据块均为动态链表时,可将指示所述有序数据块尾部的Tail指针和所述有序数据块尾部分片描述信息的指针指向所述提取出的序号最小的分片的分片描述信息,这样所述提取出的序号最小的分片的分片描述信息即加入到所述有序数据块的尾部。相应的,步骤S220在将分片描述信息加入有序数据块尾部之后还可包括,对所述有序数据块中的分片描述信息的个数进行计数。具体的,当将所述提取出的序号最小的分片的分片描述信息加入到所述有序数据块的尾部后,将所述有序数据块中的分片描述信息的个数计数加1。
步骤S230,根据所述有序数据块中的分片描述信息,判断是否已接收完一个报文的所有分片,如果判断为是,执行步骤S240;否则,返回执行步骤S200。具体实现中,接收的分片描述信息中的MP头可包括B标识和E标识,当MP头中的B标识有效时,表示接收的是一个报文的第一个分片,当MP头中的E标识有效时,表示接收的是一个报文的最后一个分片,在步骤S230,可通过判断接收是否接收到一个B标识有效的分片后,又接收到同一个报文的一个E标识有效的分片,如果是,则判定已经接收完一个报文的所有分片。
步骤S240,重组所述报文。
具体实现中,所述步骤S240在重组所述报文之后还可包括:释放所述报文各分片占用的存储资源。
进一步,图8是根据图7中的步骤S200的一个实施例流程细化示意图;如图8所示,步骤S200进一步可包括:
步骤S211,从各分片描述信息数据块的数据块首中,确定序号最小的分片;如前所述,每个分片描述信息数据块的数据块首是从某链路接收的最小序号分片的分片描述信息,且各分片描述信息中包含对应分片的序号,因此,可通过比较各分片描述信息数据块的数据块首的方式,确定序号最小的分片。
步骤S212,判断所述确定的序号最小的分片是否为目标分片,所述目标分片的序号为所述有序数据块的尾部的分片描述信息对应的分片的序号增1;如果判断为是,执行步骤S213;如果判断为否,执行步骤S214。
步骤S213,从各分片描述信息数据块的数据块首中提取出所述序号最小的分片的分片描述信息;
步骤S214,丢弃所述确定的序号最小的分片,并释放所述分片占用的存储资源。
较佳的,步骤S214可进一步包括:
判断该分片的序号与所述有序数据块尾部的分片描述信息对应的分片的序号的差值是否大于预设的门限值,如果判断为是,丢弃所述确定的序号最小的分片,并释放所述分片占用的存储资源。
或,判断所述确定的序号最小的分片是否超时,如果判断为是,丢弃所述确定的序号最小的分片,并释放所述分片占用的存储资源。且在判断超时之前还需确定是否到达所述序号最小的分片的更新时间点,如果是,对所述序号最小的分片是否超时进行判断。
图9是根据图7中的步骤S230的一个实施例流程细化示意图;如图9所示,步骤S230可进一步包括:
步骤S231、根据所述有序数据块中的分片描述信息,判断是否已接收完一个报文的所有分片,如果判断为是,转到图7中步骤S240;如果判断为否,执行步骤S232;
步骤S232,判断报文分片是否出错,如果判断为是,执行步骤S233;如果判断为否,转到图7中步骤S200。具体实现中,在步骤S232可判断是否将同一报文的第一个分片接收两次,而未接收到所述报文的最后一个分片,如果判断为是,判定报文出错;或,在步骤S232可判断是否将同一报文的最后一个分片接收两次,而未接收到所述报文的第一个分片,如果判断为是,判定报文出错。
步骤S233,丢弃所述出错的分片,并释放所述分片占用的存储资源。
图10是根据本发明的一个实施例的多链路协议分片数据的重组方法的一个详细流程示意图。
步骤S300,判断是否至少有一个分片描述信息数据块的数据块首发生更新,如果判断为是,执行步骤S301;如果判断为否,步骤S300继续进行判断;
步骤S301,从各分片描述信息数据块的数据块首中,确定序号最小的分片;
步骤S302,判断所述确定的序号最小的分片是否为目标分片,所述目标分片的序号为所述有序数据块的尾部的分片描述信息对应的分片的序号增1;如果判断为是,执行步骤S303;如果判断为否,执行步骤S308;
步骤S303,从各分片描述信息数据块的数据块首中提取出所述序号最小的分片的分片描述信息;
步骤S304,将所述提取出的序号最小的分片的分片描述信息加入有序数据块的尾部;
步骤S305,判断是否已接收完一个报文的所有分片,如果判断为是,执行步骤S306;如果判断为否,执行步骤S312;
步骤S306,重组所述报文;
步骤S307,释放所述报文各分片占用的存储资源,后停止,或返回步骤S300;
步骤S308,判断所述分片的序号与所述有序数据块尾部的分片描述信息对应的分片的序号的差值是否大于预设的门限值,如果判断为是,执行步骤S310;如果判断为否,执行步骤S309;
步骤S309,判断所述确定的序号最小的分片是否超时,如果判断为是,执行步骤S310;如果判断为否,执行步骤S300;
步骤S310,丢弃所述确定的序号最小的分片,并释放所述分片占用的存储资源,返回步骤S300;
步骤S312,判断报文分片是否出错,如果判断为是,执行步骤S313;如果判断为否,执行步骤S300。
步骤S313,丢弃所述出错报文,并释放所述报文所占存储资源。
本实施例采用多个分片描述信息数据块分别根据接收的同一链路的分片的序号,顺序存储所述同一链路的分片的分片描述信息,在重组过程中,由于每个分片描述信息数据块的数据块首的分片描述信息对应于从某条链路的接收的分片中序号最小的分片,因此本发明实施例可以通过比较各分片描述信息数据块的数据块首的信息,来找出一个最小序号的分片,而避免了现有技术需要对所有分片进行排序的复杂工作,因此,本发明实施例与现有技术需要遍历整个分片的存储范围对分片进行排序相比,可以简化对多链路协议数据进行重组的复杂度。
另外,本实施例方案在丢弃某个分片时,及时释放所述分片占用的内部存储装置的存储空间,与现有技术采用固定线性链表存储分片信息相比,降低了资源消耗,从而降低了芯片成本。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

Claims (22)

1、一种多链路协议分片数据的重组方法,其特征在于,该方法包括:
从各分片描述信息数据块的数据块首中,提取出序号最小的分片的分片描述信息,其中,一个分片描述信息数据块用于依据接收的同一链路的分片的序号,顺序存储所述同一链路的分片的分片描述信息;
将所述提取出的序号最小的分片的分片描述信息加入到有序数据块的尾部,所述有序数据块将分片描述信息依据分片的序号进行顺序存储;
根据所述有序数据块中的分片描述信息,确定已接收完一个报文的所有分片,重组所述报文。
2、如权利要求1所述的多链路协议分片数据的重组方法,其特征在于,所述从各分片描述信息数据块的数据块首中,提取出序号最小的分片的分片描述信息之后还包括:
将所述提取出的序号最小的分片的分片描述信息所在的分片描述信息数据块的数据块首更新为所述分片描述信息指向的下一个分片描述信息。
3、如权利要求2所述的多链路协议分片数据的重组方法,其特征在于,所述从各分片描述信息数据块的数据块首中,提取出序号最小的分片的描述信息之前还包括:
判断是否至少有一个分片描述信息数据块的数据块首发生更新,如果判断为是,从各分片描述信息数据块的数据块首中,提取出序号最小的分片的描述信息。
4、如权利要求1所述的多链路协议分片数据的重组方法,其特征在于,所述从各分片描述信息数据块的数据块首中,提取出序号最小的分片的描述信息包括:
从各分片描述信息数据块的数据块首中,确定序号最小的分片;
判断所述分片是否是目标分片,所述目标分片的序号为所述有序数据块的尾部的分片描述信息对应的分片的序号增1,如果判断为是,从各分片描述信息数据块的数据块首中提取出所述序号最小的分片的描述信息。
5、如权利要求4所述的多链路协议分片数据的重组方法,其特征在于,还包括:
当判断所述分片是否是目标分片的判断结果为否时,丢弃所述确定的序号最小的分片,并释放所述分片占用的存储资源。
6、如权利要求5所述的多链路协议分片数据的重组方法,其特征在于,所述丢弃所述确定的序号最小的分片包括:
判断该分片的序号与所述有序数据块的尾部的分片描述信息对应的分片的序号的差值是否大于预设的门限值,如果判断为是,丢弃所述确定的序号最小的分片;
或,判断该确定的序号最小的分片是否超时,如果判断为是,丢弃所述分片。
7、如权利要求2所述的多链路协议分片数据的重组方法,其特征在于,还包括:
当根据所述有序数据块中的分片描述信息,确定未接收完一个报文的所有分片,判断所述报文的分片是否出错,如果判断为是,丢弃出错分片并释放所述分片占用的存储资源;如果判断为否,从各分片描述信息数据块的数据块首中,提取出序号最小的分片的分片描述信息。
8、如权利要求7所述的多链路协议分片数据的重组方法,其特征在于,所述判断报文分片是否出错,如果判断为是,丢弃出错分片并释放所述分片占用的存储资源包括:
判断接收的序号是连续的分片中是否包括有两个标识为第一分片的分片,而未包括标识为最后分片的分片,如果判断为是,将前一个第一分片的序号到后一个第一分片的序号之间的所有分片丢弃,并释放所述分片占用的存储资源;
或,判断接收的序号是连续的分片中是否包括有两个标识为最后分片的分片,而未包括标识为第一分片的分片,如果判断为是,将前一个最后序号到后一个最后序号之间的所有分片,连同所述后一个最后分片一起丢弃,并释放所述分片占用的存储资源。
9、如权利要求1所述的多链路协议分片数据的重组方法,其特征在于,所述重组所述报文之后包括:
释放所述报文各分片占用的存储资源。
10、如权利要求1-9中任一项所述的多链路协议分片数据的重组方法,其特征在于,所述数据块为动态链表。
11、一种多链路协议分片数据的重组装置,其特征在于,包括:
提取单元,用于从存储的各分片描述信息数据块的数据块首中,提取出序号最小的分片的分片描述信息,其中,一个分片描述信息数据块用于依据接收的同一链路的分片的序号,顺序存储所述同一链路的分片的分片描述信息;
添加单元,用于将所述提取单元提取出的序号最小的分片的分片描述信息加入到有序数据块的尾部,所述有序数据块将分片描述信息依据分片的序号进行顺序存储;
重组处理单元,用于根据所述有序数据块中的分片描述信息,确定已接收完一个报文的所有分片,重组所述报文。
12、如权利要求11所述的多链路协议分片数据的重组装置,其特征在于,还包括:
更新单元,用于当所述提取单元提取出的序号最小的分片的分片描述信息后,将所述分片描述信息所在的分片描述信息数据块的数据块首更新为所述分片描述信息指向的下一个分片描述信息。
13、如权利要求12所述的多链路协议分片数据的重组装置,其特征在于,还包括:
第一判断单元,用于判断是否至少有一个分片描述信息数据块的数据块首发生更新,如果判断为是,通知所述提取单元提取出序号最小的分片的分片描述信息。
14、如权利要求11所述的多链路协议分片数据的重组装置,其特征在于,所述提取单元包括:
确定单元,用于从各分片描述信息数据块的数据块首中,确定序号最小的分片;
第二判断单元,判断所述确定的序号最小的分片是否为目标分片,所述目标分片的序号为所述有序数据块的尾部的分片描述信息对应的分片的序号增1;
第一处理单元,用于当所述第二判断单元的判断结果为是时,从各分片描述信息数据块的数据块首中提取出所述序号最小的分片的分片描述信息。
15、如权利要求14所述的多链路协议分片数据的重组装置,其特征在于,还包括:
第二处理单元,用于当所述第二判断单元的判断结果为否时,丢弃所述确定的序号最小的分片,并释放所述分片占用的存储资源。
16、如权利要求15所述的多链路协议分片数据的重组装置,其特征在于,还包括:
第三判断单元,用于当所述第二判断单元的判断结果为否时,判断该分片的序号与所述有序数据块尾部的分片描述信息对应的分片的序号的差值是否大于预设的门限值,如果判断为是,通知所述第二处理单元丢弃所述确定的序号最小的分片,并释放所述分片占用的存储资源。
17、如权利要求15所述的多链路协议分片数据的重组装置,其特征在于,还包括:
第四判断单元,用于当所述第二判断单元的判断结果为否时,判断该确定的序号最小的分片是否超时,如果判断为是,通知所述第二处理单元丢弃所述确定的序号最小的分片,并释放所述分片占用的存储资源。
18、如权利要求12所述的多链路协议分片数据的重组装置,其特征在于,所述重组处理单元包括:
第六判断单元,用于根据所述有序数据块中的分片描述信息,判断是否已接收完一个报文的所有分片;
第三处理单元,用于当所述第六判断单元的判断结果为是时,重组所述报文;
第四处理单元,用于当所述第六判断单元的判断结果为否时,通知所述提取单元从各分片描述信息数据块的数据块首中,提取出序号最小的分片的分片描述信息。
19、如权利要求18所述的多链路协议分片数据的重组装置,其特征在于,所述第四处理单元包括:
第七判断单元,用于当所述第六判断单元的判断结果为否时,判断报文分片是否出错;
第五处理单元,用于当所述第七判断单元的判断结果为是时,丢弃出错分片并释放所述分片占用的存储资源;
第六处理单元,用于当所述第七判断单元的判断结果为否时,通知所述提取单元从各分片描述信息数据块的数据块首中,提取出序号最小的分片的分片描述信息。
20、如权利要求11所述的多链路协议分片数据的重组装置,其特征在于,还包括:
第七处理单元,用于当所述重组处理单元重组所述报文后,释放所述报文各分片占用的存储资源。
21,如权利要求11-20中任一项所述的多链路协议分片数据的重组装置,其特征在于,还包括:
存储单元,用于存储接收的多个分片数据、多个分片描述信息数据块及有序数据块,其中所述一个分片描述信息数据块用于依据接收的同一链路的分片的序号,顺序存储所述同一链路的分片的分片描述信息,所述有序数据块将分片描述信息依据分片的序号进行顺序存储。
22、一种多链路协议分片数据的重组系统,其特征在于,包括:
存储装置,用于存储接收的分片数据、多个分片描述信息数据块及有序数据块,其中所述一个分片描述信息数据块用于依据接收的同一链路的分片的序号,顺序存储所述同一链路的分片的分片描述信息,所述有序数据块将分片描述信息依据分片的序号进行顺序存储;
重组装置,用于从所述存储装置所存储的各分片描述信息数据块的数据块首中,提取出序号最小的分片的分片描述信息;并将所述提取出的序号最小的分片的分片描述信息加入到有序数据块的尾部,并根据所述有序数据块中的分片描述信息,确定已接收完一个报文的所有分片时,重组所述报文。
CN200810198050XA 2008-08-27 2008-08-27 一种多链路协议分片数据的重组方法、装置及系统 Expired - Fee Related CN101662461B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN200810198050XA CN101662461B (zh) 2008-08-27 2008-08-27 一种多链路协议分片数据的重组方法、装置及系统
PCT/CN2009/073247 WO2010022629A1 (zh) 2008-08-27 2009-08-13 一种多链路协议分片数据的重组方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200810198050XA CN101662461B (zh) 2008-08-27 2008-08-27 一种多链路协议分片数据的重组方法、装置及系统

Publications (2)

Publication Number Publication Date
CN101662461A true CN101662461A (zh) 2010-03-03
CN101662461B CN101662461B (zh) 2012-08-08

Family

ID=41720826

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200810198050XA Expired - Fee Related CN101662461B (zh) 2008-08-27 2008-08-27 一种多链路协议分片数据的重组方法、装置及系统

Country Status (2)

Country Link
CN (1) CN101662461B (zh)
WO (1) WO2010022629A1 (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101917472A (zh) * 2010-08-12 2010-12-15 北京星网锐捷网络技术有限公司 一种多链路报文的重组方法、装置及设备
CN102647353A (zh) * 2012-04-06 2012-08-22 华为技术有限公司 报文分片获取方法及装置
CN104639511A (zh) * 2013-11-13 2015-05-20 安凯(广州)微电子技术有限公司 一种节省内存的实现方法及装置
CN105376165A (zh) * 2015-10-15 2016-03-02 深圳市金证科技股份有限公司 Udp组播方法、系统、发送装置及接收装置
CN105871739A (zh) * 2016-06-17 2016-08-17 华为技术有限公司 一种处理报文的方法及计算设备
CN107666626A (zh) * 2016-07-27 2018-02-06 中国电信股份有限公司 多波长通道的数据传输方法、光线路终端以及系统
CN108616327A (zh) * 2016-12-12 2018-10-02 中国航空工业集团公司西安航空计算技术研究所 基于fc-asm协议的并发分片消息接收方法及电路
CN112311692A (zh) * 2019-07-31 2021-02-02 华为技术有限公司 报文处理方法及装置、端设备
CN112996053A (zh) * 2019-12-16 2021-06-18 成都鼎桥通信技术有限公司 语音数据包的重排序方法、装置及设备
CN113259715A (zh) * 2021-05-07 2021-08-13 广州小鹏汽车科技有限公司 多路视频数据的处理方法、装置、电子设备及介质
CN114584560A (zh) * 2022-03-11 2022-06-03 西南科技大学 一种分片帧重组方法及装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103491096A (zh) * 2013-09-29 2014-01-01 中国科学院信息工程研究所 一种IPv6分片报文抗攻击重组方法及装置
CN108667755B (zh) * 2017-03-27 2021-10-22 中兴通讯股份有限公司 一种报文分片存储及重组的方法和装置
CN114731334B (zh) * 2020-02-14 2023-10-20 华为技术有限公司 报文保序方法和装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4703475A (en) * 1985-12-04 1987-10-27 American Telephone And Telegraph Company At&T Bell Laboratories Data communication method and apparatus using multiple physical data links
US7142565B2 (en) * 2002-02-21 2006-11-28 Qualcomm, Incorporated Method and apparatus for radio link control of signaling messages and short messages data services in a communication system
CN1268097C (zh) * 2002-12-18 2006-08-02 华为技术有限公司 一种实现报文分片组包的方法
CN100502297C (zh) * 2003-08-05 2009-06-17 华为技术有限公司 因特网协议(ip)包进行重组的装置和方法
CN100502391C (zh) * 2004-06-27 2009-06-17 华为技术有限公司 一种分片报文的重组方法

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101917472A (zh) * 2010-08-12 2010-12-15 北京星网锐捷网络技术有限公司 一种多链路报文的重组方法、装置及设备
CN101917472B (zh) * 2010-08-12 2013-05-29 北京星网锐捷网络技术有限公司 一种多链路报文的重组方法、装置及设备
CN102647353A (zh) * 2012-04-06 2012-08-22 华为技术有限公司 报文分片获取方法及装置
CN102647353B (zh) * 2012-04-06 2015-01-21 华为技术有限公司 报文分片获取方法及装置
CN104639511B (zh) * 2013-11-13 2018-08-03 安凯(广州)微电子技术有限公司 一种节省内存的实现方法及装置
CN104639511A (zh) * 2013-11-13 2015-05-20 安凯(广州)微电子技术有限公司 一种节省内存的实现方法及装置
CN105376165A (zh) * 2015-10-15 2016-03-02 深圳市金证科技股份有限公司 Udp组播方法、系统、发送装置及接收装置
CN105871739A (zh) * 2016-06-17 2016-08-17 华为技术有限公司 一种处理报文的方法及计算设备
CN105871739B (zh) * 2016-06-17 2018-12-07 华为技术有限公司 一种处理报文的方法及计算设备
CN107666626A (zh) * 2016-07-27 2018-02-06 中国电信股份有限公司 多波长通道的数据传输方法、光线路终端以及系统
CN108616327A (zh) * 2016-12-12 2018-10-02 中国航空工业集团公司西安航空计算技术研究所 基于fc-asm协议的并发分片消息接收方法及电路
CN108616327B (zh) * 2016-12-12 2021-03-26 中国航空工业集团公司西安航空计算技术研究所 基于fc-asm协议的并发分片消息接收方法及电路
CN112311692A (zh) * 2019-07-31 2021-02-02 华为技术有限公司 报文处理方法及装置、端设备
CN112996053A (zh) * 2019-12-16 2021-06-18 成都鼎桥通信技术有限公司 语音数据包的重排序方法、装置及设备
CN113259715A (zh) * 2021-05-07 2021-08-13 广州小鹏汽车科技有限公司 多路视频数据的处理方法、装置、电子设备及介质
CN114584560A (zh) * 2022-03-11 2022-06-03 西南科技大学 一种分片帧重组方法及装置
CN114584560B (zh) * 2022-03-11 2023-12-22 西南科技大学 一种分片帧重组方法及装置

Also Published As

Publication number Publication date
WO2010022629A1 (zh) 2010-03-04
CN101662461B (zh) 2012-08-08

Similar Documents

Publication Publication Date Title
CN101662461B (zh) 一种多链路协议分片数据的重组方法、装置及系统
CN103069757B (zh) 一种报文重组重排序方法、装置和系统
CN101291546A (zh) 核心路由器交换结构协处理器
CN113347164B (zh) 基于区块链的分布式共识系统及方法、设备、存储介质
EP0884924B1 (en) ATM Communication apparatus
CN109903049A (zh) 一种区块链交易数据存储方法、装置、设备及存储介质
CN101160856B (zh) 一种网络处理器
CN102549552A (zh) 用于处理流感知网络节点中的数据分组的方法
CN111130790B (zh) 基于区块链节点网络的共识出块方法
JP2001223749A (ja) パケット分類エンジン
CN112732241B (zh) 一种多级并行高速处理下的可编程解析器及其解析方法
CN100405786C (zh) 支持多队列的共享缓存动态门限早期丢弃装置
CN101707513B (zh) 基于正则表达式的深度包检测方法及设备
CN100589477C (zh) 一种基于绑定链路实现数据发送的方法
CN106325758A (zh) 一种队列存储空间管理方法及装置
CN109961364A (zh) 一种基于有向无环图的交易方法及系统
CN101594201B (zh) 链式队列管理结构整合错误数据过滤的方法
CN104050193B (zh) 生成报文的方法和实现该方法的数据处理系统
CN110784501B (zh) 含交易组区块的打包和广播方法及系统、设备和存储介质
CN109246036A (zh) 一种处理分片报文的方法和装置
CN100349442C (zh) 一种乒乓缓冲装置
CN100375466C (zh) 一种数据包转发控制装置和方法
CN110336677B (zh) 区块打包、广播方法和系统、设备及存储介质
CN106533957A (zh) 片上网络的拥塞信息传输控制方法和相关装置
CN110490734A (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
TR01 Transfer of patent right

Effective date of registration: 20180717

Address after: 511400 room 204-1, building 1, Guangdong Pharmaceutical University, No. 280 outer ring road, Panyu District, Guangzhou, Guangdong.

Patentee after: Guangdong Gao Xin Touchplus information Corp

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: Huawei Technologies Co., Ltd.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120808

Termination date: 20190827

CF01 Termination of patent right due to non-payment of annual fee