CN113595932B - 数据乱序报文的处理方法及专用集成电路 - Google Patents
数据乱序报文的处理方法及专用集成电路 Download PDFInfo
- Publication number
- CN113595932B CN113595932B CN202110901761.4A CN202110901761A CN113595932B CN 113595932 B CN113595932 B CN 113595932B CN 202110901761 A CN202110901761 A CN 202110901761A CN 113595932 B CN113595932 B CN 113595932B
- Authority
- CN
- China
- Prior art keywords
- message
- data message
- data
- buffer
- length
- 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
Links
- 238000003672 processing method Methods 0.000 title abstract description 20
- 238000005520 cutting process Methods 0.000 claims abstract description 68
- 238000012545 processing Methods 0.000 claims abstract description 59
- 238000012544 monitoring process Methods 0.000 claims abstract description 22
- 238000000034 method Methods 0.000 claims description 45
- 238000004458 analytical method Methods 0.000 abstract description 10
- 230000005540 biological transmission Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9057—Arrangements for supporting packet reassembly or resequencing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种数据乱序报文的处理方法及专用集成电路,通过获取数据报文并进行解析,得到第一数据报文的第一报文序列号和第一报文长度;若第一报文长度大于缓存块长度,对第一数据报文进行切包处理,得到具有第二报文序列号的第二数据报文;将第二数据报文依次分别写入缓存队列中空闲的缓存块;实时监测缓存队列,当缓存队列中存在与上一数据报文的报文序列号连续的第一数据报文或第二数据报文,提取并传输。在本方案中,利用第一数据报文的解析结果对第一数据报文进行切包处理,当监测到缓存队列中存在与上一数据报文的报文序列号连续的第一数据报文或第二数据报文,提取并传输,实现既减少空间消耗又能达到对乱序的数据报文进行传输的目的。
Description
技术领域
本发明涉及计算机技术领域,具体地说,涉及一种数据乱序报文的处理方法及专用集成电路。
背景技术
随着计算机技术的不断发展,越来越多的业务场景采用网络进行通信。
在进行网络通信时,通过数据报文的传输来实现。然而,数据报文在传输过程中会出现乱序现象(如因网络路由节点等路径差异原因所引起),进而导致数据报文在传输时不连续,从而无法对数据报文进行正常解析以获得业务数据。通常的计算机软件做法为利用操作系统的功能特性将报文采用动态内存空间进行存储,然后重组后发出,延时较高,最坏甚至可能达到毫秒级延时,对需要快速拿到业务数据进行处理的产品应用中,及其不利,但在专用集成电路处理中,因为是物理电路,没有操作系统的动态特性,所以通常使用满足最大数据报文的空间进行存储,导致占用集成电路空间过大,导致资源浪费,甚至产品因为资源不够而失败,为此,亟需一种对乱序的数据报文进行传输的快速简易又节约资源的方法。
发明内容
有鉴于此,本发明实施例提供一种数据乱序报文的处理方法及专用集成电路,以实现对乱序的数据报文进行传输的目的。
为实现上述目的,本发明实施例提供如下技术方案:
本发明第一方面公开了一种数据乱序报文的处理方法,应用于专用集成电路,所述方法包括:
获取第一数据报文并进行解析,得到所述第一数据报文的第一报文序列号和第一报文长度;
若所述第一报文长度大于缓存块长度,对所述第一数据报文进行切包处理,得到具有第二报文序列号的第二数据报文;
将所述第二数据报文依次分别写入缓存队列中空闲的缓存块;
实时监测所述缓存队列,当所述缓存队列中存在与上一数据报文的报文序列号连续的第一数据报文或第二数据报文,提取并传输。
可选的,还包括:
若所述第一报文长度小于等于缓存块长度,将所述第一数据报文和所述第一报文序列号写入缓存队列中空闲的缓存块。
可选的,所述对所述第一数据报文进行切包处理,得到具有第二报文序列号的第二数据报文,包括:
基于所述缓存块长度对所述第一数据报文进行切包处理,得到多个第二数据报文,所述每一第二数据报文的长度小于或等于缓存块长度;
根据所述第一数据报文的切包顺序为每一第二数据报文生成对应的第二报文序列号。
可选的,所述将所述第二数据报文依次分别写入缓存队列中空闲的缓存块,包括:
基于所述第二报文序列号的次序,将对应的第二数据报文依次写入缓存队列中空闲的缓存块;
若当前进行写入的第二数据报文已写完,则切换至下一空闲的缓存块继续写入下一个第二数据报文,直至进行切包处理后得到的所有第二数据报文写入缓存块。
可选的,所述实时监测所述缓存队列,当所述缓存队列中存在与所述上一数据报文的报文序列号连续的第一数据报文或第二数据报文,提取并传输,包括:
实时监测所述缓存队列的各个缓存块;
当任一缓存块中写入的第一数据报文的第一报文序列号与所述上一数据报文的报文序列号连续,提取所述第一数据报文并传输;
或者,当任一缓存块中写入的第二数据报文的第二报文序列号与所述上一数据报文的报文序列号连续,提取所述第二数据报文并传输。
本发明第二方面公开了一种专用集成电路,所述专用集成电路包括:
前级模块,用于获取第一数据报文并进行解析,得到所述第一数据报文的报文序列号和第一报文长度,若所述第一报文长度大于缓存块长度,对所述第一数据报文进行切包处理,得到具有第二报文序列号的第二数据报文,将所述第二数据报文依次分别写入缓存模块;
所述缓存模块,用于将所述第二数据报文依次分别写入缓存队列中空闲的缓存块;
后级模块,用于实时监测所述缓存队列,当所述缓存队列中存在与所述上一数据报文的报文序列号连续的第一数据报文或第二数据报文,提取并传输。
可选的,所述前级模块,还用于:
若所述第一报文长度小于等于缓存块长度,将所述第一数据报文和所述第一报文序列号写入缓存队列中空闲的缓存块。
可选的,所述对所述第一数据报文进行切包处理,得到具有第二报文序列号的第二数据报文的前级模块,具体用于:
基于所述缓存块长度对所述第一数据报文进行切包处理,得到多个第二数据报文,所述每一第二数据报文的长度小于或等于缓存块长度;根据所述第一数据报文的切包顺序为每一第二数据报文生成对应的第二报文序列号。
可选的,所述将所述第二数据报文依次分别写入缓存队列中空闲的缓存块的缓存模块,具体用于:
基于所述第二报文序列号的次序,将对应的第二数据报文依次写入缓存队列中空闲的缓存块;若当前进行写入的第二数据报文已写完,则切换至下一空闲的缓存块继续写入下一个第二数据报文,直至进行切包处理后得到的所有第二数据报文写入缓存块。
可选的,所述后级模块,具体用于:
实时监测所述缓存队列的各个缓存块;当任一缓存块中写入的第一数据报文的第一报文序列号与所述上一数据报文的报文序列号连续,提取所述数据报文并传输;
或者,所述后级模块,具体用于:
实时监测所述缓存队列的各个缓存块;当任一缓存块中写入的第二数据报文的第二报文序列号与所述上一数据报文的报文序列号连续,提取所述第二数据报文并传输。
基于上述本发明实施例提供的一种数据乱序报文的处理方法及专用集成电路,通过获取第一数据报文并进行解析,得到所述第一数据报文的第一报文序列号和第一报文长度;若所述第一报文长度大于缓存块长度,对所述数第一据报文进行切包处理,得到具有第二报文序列号的第二数据报文;将所述第二数据报文依次分别写入缓存队列中空闲的缓存块;实时监测所述缓存队列,当所述缓存队列中存在与所述上一数据报文的报文序列号连续的第一数据报文或第二数据报文,提取并传输。在本方案中,通过解析获取到的第一数据报文,利用得到的解析结果对第一数据报文进行切包处理,当监测到缓存队列中存在与上一数据报文的报文序列号连续的第一数据报文或第二数据报文,提取并传输,实现既减少空间消耗又能达到对乱序的数据报文进行传输的目的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种数据乱序报文的处理方法的流程示意图;
图2为本发明实施例提供的一种应用场景图;
图3为本发明实施例提供的另一种应用场景图;
图4为本发明实施例提供的一种对第一数据报文进行切包处理的流程示意图;
图5为本发明实施例提供的一种将第二数据报文写入缓存队列中空闲的缓存块的流程示意图;
图6为本发明实施例提供的另一种数据乱序报文的处理方法的流程示意图;
图7为本发明实施例提供的又一种数据乱序报文的处理方法的流程示意图;
图8为本发明实施例提供的一种专用集成电路的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。
由背景技术可知,通过数据报文的传输实现网络通信时,数据报文在传输过程中会出现乱序现象(如因网络路由节点等路径差异原因所引起),进而导致数据报文在传输时不连续,从而无法对数据报文进行正常解析以获得业务数据。
因此,本发明实施例提供一种数据乱序报文的处理方法及专用集成电路,在本方案中,通过解析获取到的第一数据报文,利用得到的解析结果对第一数据报文进行切包处理,当监测到缓存队列中存在与上一数据报文的报文序列号连续的第一数据报文或第二数据报文,提取并传输,以实现对乱序的数据报文进行传输的目的。
如图1所示,为本发明实施例提供的一种数据乱序报文的处理方法的流程示意图,该数据乱序报文的处理方法应用于专用集成电路,也就是说,该方法是一种在专用集成电路中进行数据乱序报文的切片处理方法,该方法主要包括以下步骤:
步骤S101:获取第一数据报文并进行解析,得到第一数据报文的第一报文序列号和第一报文长度。
在本发明实施例中,专用集成电路可以为FPGA(Field-Programmable GateArray,现场可编程门阵列),可选的,该专用集成电路还可以是ASIC(ApplicationSpecific Integrated Circuit,专用集成电路)。
在具体实现步骤S101的过程中,通过数据报文的传输实现网络传输,在传输时需要对数据报文进行相应的处理。具体可以为:先获取数据报文,对获取到的数据报文进行解析处理,得到数据报文的报文序列号和报文长度。
具体的,在本发明实施例中,先获取第一数据报文,对获取到的第一数据报文进行解析处理,得到第一数据报文的第一报文序列号和第一报文长度。
需要说明的是,当对获取到的第一数据报文进行解析后,具体操作为:一边直接将所获取的的第一数据报文写入在一个缓存块中,另一边提取第一数据报文进行传输,当第一数据报文不能写入在一个缓存块中,此时说明第一数据报文的第一报文长度大于缓存块长度,需要更多的存储空间写入第一数据报文,则需要执行后续操作。
例如,获取报文序列号为4的第一数据报文,通过对第一数据报文解析,得到第一数据报文的第一报文序列号为4,第一报文长度为9个字节。
步骤S102:判断第一报文长度是否大于缓存块长度,若是,执行步骤S104,若否,执行步骤S103。
在具体实现步骤S102的过程中,判断第一报文长度是否大于缓存块长度,若是,说明单个缓存块存不下第一数据报文,不能将第一数据报文直接写入在一个缓存块中,需要更多的存储空间写入第一数据报文,因此需要对第一数据报文进行切包处理,执行步骤S104;若否,说明单个缓存块存得下第一数据报文,不需要对第一数据报文进行切包处理,则可以一边直接将第一数据报文写入在一个缓存块中,另一边提取数据报文进行传输,由此可知,缓存队列中空闲的缓存块不会写满数据报文,执行步骤S103。
例如,如图2所示,已知数据报文4的报文长度为16个字节,假设缓存块长度为8个字节,判断数据报文4的报文长度是否大于缓存块长度,确定数据报文4的报文长度大于缓存块长度,说明单个缓存块存不下数据报文4,需要对数据报文4进行切包处理,则执行步骤S104。
又例如,如图2所示,已知数据报文2的报文长度为7个字节,假设缓存块长度为8个字节,判断数据报文2的报文长度是否大于缓存块长度,确定数据报文2的报文长度小于缓存块长度,说明单个缓存块存得下数据报文2,不需要对数据报文2进行切包处理,则执行步骤S103。
步骤S103:将第一数据报文和第一报文序列号写入缓存队列中空闲的缓存块。
在具体实现步骤S103的过程中,确定所得到的第一报文长度小于缓存块长,则不需要对所获取的第一数据报文进行切包处理,直接将第一数据报文和第一报文序列号写入缓存队列中空闲的缓存块。
以步骤S102的例子为例,确定数据报文2的报文长度小于缓存块长度,不需要对所获取的数据报文进行切包处理,则直接将数据报文2和数据报文2的报文序列号2写入缓存队列中空闲的缓存块。
步骤S104:对第一数据报文进行切包处理,得到具有第二报文序列号的第二数据报文。
在步骤S104中,同一第一数据报文切分的第二数据报文的第二报文序列号具有相同的标识号。
需要说明的是,切包后得到的第二数据报文虚拟成一个独立的数据报文,没有特别的标识表示这是切包后的数据报文,后续的操作都是根据新生成的报文序列号独立进行提取处理。
在具体实现步骤S104的过程中,确定所得到的第一报文长度大于缓存块长度,将所获取的第一数据报文进行切包处理,得到多个第二数据报文,其中,第二数据报文具有第二报文序列号。
以步骤S102的例子为例,如图2所示,已知数据报文4的报文长度大于缓存块长度,将数据报文4进行切包处理,得到数据报文4.1和数据报文4.2,此时,数据报文4.1和数据报文4.2为第二数据报文,其中,数据报文4.1和数据报文4.2具有独立的报文序列号,分别为4.1和4.2,而数据报文4切分得到的数据报文4.1和数据报文4.2的报文序列号具有相同的标识号4。
步骤S105:将第二数据报文依次分别写入缓存队列中空闲的缓存块。
在具体实现步骤S105的过程中,将所得到的多个第二数据报文依次分别写入缓存队列中空闲的缓存块。
以步骤S104的例子为例,得到数据报文4.1和数据报文4.2之后,将数据报文4.1和数据报文4.2依次分别写入缓存队列中空闲的缓存块。
步骤S106:实时监测缓存队列。
在具体实现步骤S106的过程中,将经过处理的第一数据报文或第二数据报文写入缓存队列中空闲的缓存块后,实时监测缓存队列。
步骤S107:判断缓存队列中是否存在与上一数据报文的报文序列号连续的第一数据报文或第二数据报文,若是,执行步骤S108,若否,返回执行步骤S106。
在具体实现步骤S107的过程中,判断缓存队列中是否存在与上一数据报文的报文序列号连续的第一数据报文或第二数据报文,若是,说明此时缓存队列需要进行数据报文的传输,执行步骤S108,若否,说明此时缓存队列不需要进行数据报文的传输,返回执行步骤S106。
步骤S108:提取并传输。
在具体实现步骤S108的过程中,确定缓存队列中存在与上一数据报文的报文序列号连续的第一数据报文或第二数据报文,提取与上一数据报文的报文序列号连续的第一数据报文或第二数据报文,并传输该数据报文。
举例说明步骤S107和步骤S108,如图2所示,缓存队列中已写入数据报文1、数据报文4.1、数据报文4.2、数据报文5、数据报文6、数据报文7、数据报文2和数据报文3,并确定其对应的报文序列号分别为1、4.1、4.2、5、6、7、2和3,由上一个数据报文6的报文序列号6确定与该报文序列号6连续的报文序列号为7,则判断缓存队列中是否存在报文序列号为7的数据报文,由缓存队列中已写入的数据报文可知,缓存队列中存在报文序列号为7的数据报文7,则提取数据报文7,并传输数据报文7。
在本方案中,通过解析获取到的第一数据报文,利用得到的解析结果对第一数据报文进行切包处理,当监测到缓存队列中存在与上一数据报文的报文序列号连续的第一数据报文或第二数据报文,提取并传输,以实现对乱序的数据报文进行传输的目的。同时,因为切片,所以实际所消耗的缓存块不需要设定到可能的最大的数据报文那么大。
为了更好地理解上述说明的数据报文的处理方法,下面举一例子进行详细说明。
假设在缓存队列中设置了16个缓存块,每个缓存块长度为8个字节。
如图3所示,数据报文在传输的过程中,FPGA对获取到的数据报文1、数据报文3、数据报文4、数据报文5、数据报文6、数据报文7和数据报文2进行解析,确定其对应的报文序列号分别为1、3、4、5、6、7和2,并确定其对应的报文长度分别为6个字节、7个字节、16个字节、7个字节、16个字节、6个字节和7个字节,由上一个数据报文1的报文序列号1可知,下一个需要处理的数据报文为报文序列号为3的数据报文3。
首先,对数据报文3进行处理。判断数据报文3的报文长度是否大于缓存块长度,因为数据报文3的报文长度(7个字节)小于缓存块长度(8个字节),因此,直接将数据报文3和数据报文3的报文序列号3写入缓存队列中空闲的缓存块。
此时,报文序列号为3的数据报文3为上一数据报文,由数据报文3的报文序列号3可知,下一个需要处理的数据报文为报文序列号为4的数据报文4。
接着,对数据报文4进行处理。判断数据报文4的报文长度是否大于缓存块长度,因为数据报文4的报文长度(16个字节)大于缓存块长度(8个字节),因此,需要按照缓存块长度对数据报文4进行切包处理。
根据缓存块长度以及数据报文4的报文长度,对数据报文4进行切包处理,得到数据报文4.1和数据报文4.2,此时,数据报文4.1和数据报文4.2都是独立的数据报文,具有独立的报文序列号,分别为4.1和4.2,然后将数据报文4.1和数据报文4.2依次分别写入缓存队列中空闲的缓存块。
此时,报文序列号为4.2的数据报文4.2为上一数据报文,由数据报文4.2的报文序列号4.2可知,下一个需要处理的数据报文为报文序列号为5的数据报文5。
接着,对数据报文5进行处理。断数据报文5的报文长度是否大于缓存块长度,因为数据报文5的报文长度(7个字节)小于缓存块长度(8个字节),因此,直接将数据报文5和数据报文5的报文序列号5写入缓存队列中空闲的缓存块。
此时,报文序列号为5的数据报文5为上一数据报文,由数据报文5的报文序列号5可知,下一个需要处理的数据报文为报文序列号为6的数据报文6。
再接着,对数据报文6进行处理。判断数据报文6的报文长度是否大于缓存块长度,因为数据报文6的报文长度(16个字节)大于缓存块长度(8个字节),为了更清楚地描述数据报文6写入缓存队列中空闲的缓存块,由于数据报文6的报文长度为16个字节,因此,需要将数据报文6和数据报文6的报文序列号6写入缓存队列中两个空闲的缓存块,具体为:报文序列号为6.1的数据报文6.1写入缓存队列中的一个空闲的缓存块,报文序列号为6.2的数据报文6.2写入缓存队列中的另一个空闲的缓存块,如图3所示。
此时,报文序列号为6.2的数据报文6.2为上一数据报文,由数据报文6.2的报文序列号6.2可知,下一个需要处理的数据报文为报文序列号为7的数据报文7。
再接着,对数据报文7进行处理。判断数据报文7的报文长度是否大于缓存块长度,因为数据报文7的报文长度(6个字节)小于缓存块长度(8个字节),因此,直接将数据报文7和数据报文7的报文序列号7写入缓存队列中空闲的缓存块。
此时,报文序列号为7的数据报文7为上一数据报文,由数据报文7的报文序列号7可知,下一个需要处理的数据报文为报文序列号为2的数据报文2。
再接着,对数据报文2进行处理。判断数据报文2的报文长度是否大于缓存块长度,因为数据报文2的报文长度(7个字节)小于缓存块长度(8个字节),因此,直接将数据报文7和数据报文7的报文序列号7写入缓存队列中空闲的缓存块。
综上所述,最终写入缓存队列中空闲的缓存块中的数据报文如图3所示。
最后,实时监测缓存队列,由上一数据报文1的报文序列号1确定与该报文序列号1连续的报文序列号为2,则判断缓存队列中是否存在报文序列号为2的数据报文,由缓存队列中已写入的数据报文可知,缓存队列中存在报文序列号为2的数据报文2,则提取数据报文2,并对数据报文2进行传输。
其他数据报文的传输处理过程同数据报文2的传输处理过程,这里不再赘述。
基于本发明实施例提供的一种数据乱序报文的处理方法,通过获取第一数据报文并进行解析,得到第一数据报文的第一报文序列号和第一报文长度;若第一报文长度大于缓存块长度,对第一数据报文进行切包处理,得到具有第二报文序列号的第二数据报文;将第二数据报文依次分别写入缓存队列中空闲的缓存块;实时监测缓存队列,当缓存队列中存在与上一数据报文的报文序列号连续的第一数据报文或第二数据报文,提取并传输。在本方案中,通过解析获取到的第一数据报文,利用得到的解析结果对第一数据报文进行切包处理,当监测到缓存队列中存在与上一数据报文的报文序列号连续的第一数据报文或第二数据报文,提取并传输,实现既减少空间消耗又能达到对乱序的数据报文进行传输的目的。
基于上述本发明实施例提供的一种数据报文的处理方法,执行步骤S104对第一数据报文进行切包处理,得到具有第二报文序列号的第二数据报文的过程。如图4所示,为本发明实施例提供的一种对第一数据报文进行切包处理的流程示意图,主要包括以下步骤:
步骤S401:基于缓存块长度对第一数据报文进行切包处理,得到多个第二数据报文。
在步骤S401中,每一第二数据报文的长度小于或等于缓存块长度。
在具体实现步骤S401的过程中,确定缓存块长度,以及确定第一数据报文的报文长度,基于缓存块长度切分第一数据报文的报文长度,也就是说,基于缓存块长度对第一数据报文进行切包处理,得到多个报文长度小于或等于缓存块长度的第二数据报文。
以步骤S102的例子为例,已知数据报文4的报文长度(16个字节)大于缓存块长度(8个字节),因此,根据缓存块长度以及数据报文4的报文长度,对数据报文4进行切包处理,得到数据报文4.1和数据报文4.2,此时,数据报文4.1和数据报文4.2为第二数据报文。
步骤S402:根据第一数据报文的切包顺序为每一第二数据报文生成对应的第二报文序列号。
在步骤S402中,每一第二报文序列号由相同的标识号和指示第二数据报文所处切包位置的次序号组成。
标识号为第一数据报文的报文序列号。
在具体实现步骤S402的过程中,对第一数据报文进行切包处理的过程中,每一次切包都存在切包顺序,根据第一数据报文的切包顺序,为每一第二数据报文生成对应的第二报文序列号,得到具有第二报文序列号的第二数据报文。
以步骤S401中的例子为例,已知数据报文4进行切包处理后得到数据报文4.1和数据报文4.2,由于在数据报文进行切包处理的过程中,每一次切包都存在切包顺序,而数据报文4.1和数据报文4.2的切包顺序为:先切包得到数据报文4.1,再切包得到数据报文4.2,因此,根据数据报文4.1和数据报文4.2的切包顺序,为数据报文4.1和数据报文4.2生成对应的报文序列号4.1和4.2,进而得到具有第二报文序列号的第二数据报文,即得到具有报文序列号4.1的数据报文4.1以及具有报文序列号4.2的数据报文4.2。
基于本发明实施例提供的一种数据乱序报文的处理方法,通过对第一数据报文进行切包处理,进而得到具有第二报文序列号的第二数据报文,避免数据报文写入缓存队列中空闲的缓存块出现不完整的情况,进而实现对乱序的数据报文进行传输。
基于上述本发明实施例提供的一种数据乱序报文的处理方法,执行步骤S105将第二数据报文依次分别写入缓存队列中空闲的缓存块的过程。如图5所示,为本发明实施例提供的一种将第二数据报文写入缓存队列中空闲的缓存块的流程示意图,主要包括以下步骤:
步骤S501:基于第二报文序列号的次序,将对应的第二数据报文依次写入缓存队列中空闲的缓存块。
在具体实现步骤S501的过程中,当生成每一第二数据报文对应的子报文序列号时,由每一第二数据报文对应的第二报文序列号可知,每一第二报文序列号的次序,根据每一第二报文序列号的次序,将对应的第二数据报文依次写入缓存队列中空闲的缓存块。
以步骤S402中的例子为例,由生成的数据报文4.1和数据报文4.2对应的报文序列号4.1和4.2得知,报文序列号4.1和报文序列号4.2的次序分别为1和2,因此,根据报文序列号4.1和报文序列号4.2的次序,将对应的数据报文4.1和数据报文4.2依次写入缓存队列中空闲的缓存块。
步骤S502:判断当前进行写入的第二数据报文是否已写完,若是,执行步骤S501,若否,返回执行步骤S503。
在具体实现步骤S502的过程中,判断当前进行写入的第二数据报文已写完,若是,说明当前进行写入的第二数据报文已经全部写入空闲的缓存块,则不需要其他空闲的缓存块写入其余的第二数据报文,执行步骤S501;若否,说明当前进行写入的第二数据报文没有全部写入空闲的缓存块,需要继续写入其余的第二数据报文,返回执行步骤S503。
步骤S503:切换至下一空闲的缓存块继续写入下一个第二数据报文,直至进行切包处理后得到的所有第二数据报文写入缓存块。
在具体实现步骤S503的过程中,第一数据报文的部分第二数据报文已写入缓存队列中空闲的缓存块,而对应第一数据报文的其余的第二数据报文未写入缓存队列中空闲的缓存块,则需切换至下一空闲的缓存块继续写入下一个对应第一数据报文的其余的第二数据报文,直至进行切包处理后得到的所有第二数据报文写入缓存块。
以步骤S501中的例子为例,由上述内容可知,需要将数据报文4.1和数据报文4.2依次写入缓存队列中空闲的缓存块,但是,将数据报文4.1写入缓存队列中空闲的缓存块之后,数据报文4.2还未写入缓存队列中空闲的缓存块,因此,需切换至下一空闲的缓存块继续写入数据报文4.2。
基于本发明实施例提供的一种数据乱序报文的处理方法,基于第二报文序列号的次序,将对应的第二数据报文依次写入缓存队列中空闲的缓存块,避免数据报文写入缓存队列中空闲的缓存块出现不完整的情况,进而实现对乱序的数据报文进行传输。
基于上述本发明实施例提供的一种数据乱序报文的处理方法,如图6所示,为本发明实施例提供的另一种数据乱序报文的处理的流程示意图,主要包括以下步骤:
步骤S601:获取第一数据报文并进行解析,得到第一数据报文的第一报文序列号和第一报文长度。
步骤S602:判断第一报文长度是否大于缓存块长度,若是,执行步骤S604,若否,执行步骤S603。
步骤S603:将第一数据报文和第一报文序列号写入缓存队列中空闲的缓存块。
步骤S604:对第一数据报文进行切包处理,得到具有第二报文序列号的第二数据报文。
步骤S605:将第二数据报文依次分别写入缓存队列中空闲的缓存块。
上述步骤S601至步骤S605的执行原理和过程与图1中公开的步骤S101至步骤S105的执行原理和过程相同,可参见,这里不再赘述。
步骤S606:实时监测缓存队列的各个缓存块。
在具体实现步骤S606的过程中,将经过处理的第一数据报文或者第二数据报文写入缓存队列中各个空闲的缓存块后,实时监测缓存队列的各个缓存块。
步骤S607:判断任一缓存块中写入的第一数据报文的第一报文序列号是否与上一数据报文的报文序列号连续,若是,执行步骤S608,若否,执行步骤S606。
在具体实现步骤S607的过程中,判断任一缓存块中写入的第一数据报文的第一报文序列号是否与上一数据报文的报文序列号连续,若是,说明此时缓存队列需要进行第一数据报文的传输,执行步骤S608,若否,说明此时缓存队列不需要进行第一数据报文的传输,执行步骤S606。
步骤S608:提取第一数据报文并传输。
在具体实现步骤S608的过程中,确定任一缓存块中写入的第一数据报文的第一报文序列号与上一数据报文的报文序列号连续,提取与上一数据报文的序列号连续的第一数据报文,并传输该数据报文。
举例说明步骤S607和步骤S608,如图2所示,缓存队列中已写入数据报文1、数据报文4.1、数据报文4.2、数据报文5、数据报文6、数据报文7、数据报文2和数据报文3,并确定其对应的报文序列号分别为1、4.1、4.2、5、6、7、2和3。由上一个数据报文5的报文序列号5确定与该报文序列号5连续的报文序列号为6,则判断缓存队列中任一缓存块中是否与报文序列号6的数据报文,由缓存队列中已写入的数据报文可知,缓存队列中存在报文序列号为6的数据报文6,则提取数据报文6,并传输数据报文6。
基于本发明实施例提供的一种数据乱序报文的处理方法,通过解析获取到的第一数据报文,利用得到的解析结果对第一数据报文进行切包处理,当监测到缓存队列中任一缓存块中写入的数据报文的报文序列号与上一数据报文的报文序列号连续的第一数据报文或第二数据报文,提取并传输,实现既减少空间消耗又能达到对乱序的数据报文进行传输的目的。
基于上述本发明实施例提供的一种数据乱序报文的处理方法,如图7所示,为本发明实施例提供的又一种数据报文的处理的流程示意图,主要包括以下步骤:
步骤S701:获取第一数据报文并进行解析,得到第一数据报文的第一报文序列号和第一报文长度。
步骤S702:判断第一报文长度是否大于缓存块长度,若是,执行步骤S704,若否,执行步骤S703。
步骤S703:将第一数据报文和第一报文序列号写入缓存队列中空闲的缓存块。
步骤S704:对第一数据报文进行切包处理,得到具有第二报文序列号的第二数据报文。
步骤S705:将第二数据报文依次分别写入缓存队列中空闲的缓存块。
上述步骤S701至步骤S705的执行原理和过程与图1中公开的步骤S101至步骤S105的执行原理和过程相同,可参见,这里不再赘述。
步骤S706:实时监测缓存队列的各个缓存块。
上述步骤S706的执行原理和过程与图6中公开的步骤S606的执行原理和过程相同,可参见,这里不再赘述。
步骤S707:判断任一缓存块中写入的第二数据报文的第二报文序列号是否与上一数据报文的报文序列号连续,若是,执行步骤S708,若否,执行步骤S706。
在具体实现步骤S707的过程中,判断任一缓存块中写入的第二数据报文的第二报文序列号是否与上一数据报文的报文序列号连续,若是,说明此时缓存队列需要进行第二数据报文的传输,执行步骤S708,若否,说明此时缓存队列不需要进行第二数据报文的传输,执行步骤S706。
步骤S708:提取第二数据报文并传输。
在具体实现步骤S708的过程中,确定任一缓存块中写入的第二数据报文的子报文序列号与上一数据报文的报文序列号连续,从缓存队列中的各个缓存块中提取与上一数据报文的序列号连续的第二数据报文,并传输该数据报文。
举例说明步骤S707和步骤S708,假设缓存队列中已写入数据报文1、数据报文4、数据报文5、数据报文6.1、数据报文6.2、数据报文7、数据报文2和数据报文3,并确定其对应的报文序列号分别为1、4、5、6.1、6.2、7、2和3。由上一个数据报文5的报文序列号5确定与该报文序列号5连续的报文序列号为6,则判断缓存队列中任一缓存块中是否与报文序列号6的数据报文,由缓存队列中已写入的数据报文可知,缓存队列中存在报文序列号为6.1的数据报文6.1和报文序列号为6.2的数据报文6.2,因为数据报文6.1和数据报文6.2由数据报文6经过切包处理后得到的,所以说明报文序列号为6.1与上一个数据报文5的报文序列号5连续,则依次提取数据报文6.1和数据报文6.2,并依次传输数据报文6.1和数据报文6.2。
基于本发明实施例提供的一种数据乱序报文的处理方法,通过解析获取到的第一数据报文,利用得到的解析结果对第一数据报文进行切包处理,当监测到缓存队列中任一缓存块中写入的第二数据报文的第二报文序列号与上一数据报文的报文序列号连续,提取并传输,实现既减少空间消耗又能达到对乱序的数据报文进行传输的目的。
与上述本发明实施例示出的一种数据乱序报文的处理方法相对应,本发明实施例还对应提供了一种专用集成电路,如图8所示,该专用集成电路包括:前级模块81、缓存模块82和后级模块83。
前级模块81,用于获取第一数据报文并进行解析,得到第一数据报文的第一报文序列号和第一报文长度,若第一报文长度大于缓存块长度,对第一数据报文进行切包处理,得到具有第二报文序列号的第二数据报文;将第二数据报文依次分别写入缓存模块82。
缓存模块82,用于将第二数据报文依次分别写入缓存队列中空闲的缓存块。
后级模块83,用于实时监测缓存队列,当缓存队列中存在与上一数据报文的报文序列号连续的第一数据报文或第二数据报文,提取并传输。
需要说明的是,上述本发明实施例公开的专用集成电路中的各个模块具体的原理和执行过程,与上述本发明实施数据乱序报文的处理方法相同,可参见上述本发明实施例公开的数据乱序报文的处理方法中相应的部分,这里不再进行赘述。
基于本发明实施例提供的一种专用集成电路,通过获取第一数据报文并进行解析,得到第一数据报文的第一报文序列号和第一报文长度;若第一报文长度大于缓存块长度,对第一数据报文进行切包处理,得到具有第二报文序列号的第二数据报文;将第二数据报文依次分别写入缓存队列中空闲的缓存块;实时监测缓存队列,当缓存队列中存在与上一数据报文的报文序列号连续的第一数据报文或第二数据报文,提取并传输。在本方案中,通过解析获取到的第一数据报文,利用得到的解析结果对第一数据报文进行切包处理,当监测到缓存队列中存在与上一数据报文的报文序列号连续的第一数据报文或第二数据报文,提取并传输,实现既减少空间消耗又能达到对乱序的数据报文进行传输的目的。
可选的,基于上述图8示出的前级模块81,所述前级模块81还用于:
若第一报文长度小于等于缓存块长度,将第一数据报文和第一报文序列号写入缓存队列中空闲的缓存块。
基于本发明实施例提供的一种专用集成电路,通过解析获取到的第一数据报文,确定解析出来的第一报文长度小于等于缓存块长度,直接将第一数据报文写入缓存队列中空闲的缓存块,实现既减少空间消耗又能达到对乱序的数据报文进行传输的目的。
可选的,基于上述图8示出的前级模块81,所述对第一数据报文进行切包处理,得到具有第二报文序列号的第二数据报文的前级模块81具体用于:
基于缓存块长度对第一数据报文进行切包处理,得到多个第二数据报文,每一第二数据报文的长度小于或等于缓存块长度;根据第一数据报文的切包顺序为每一第二数据报文生成对应的第二报文序列号。
基于本发明实施例提供的一种专用集成电路,通过对第一数据报文进行切包处理,进而得到具有第二报文序列号的第二数据报文,避免数据报文写入缓存队列中空闲的缓存块出现不完整的情况,进而实现对乱序的数据报文进行传输。
可选的,基于上述图8示出的缓存模块82,所述将第二数据报文依次分别写入缓存队列中空闲的缓存块的的缓存模块82具体用于:
基于第二报文序列号的次序,将对应的第二数据报文依次写入缓存队列中空闲的缓存块;若当前进行写入的第二数据报文已写完,则切换至下一空闲的缓存块继续写入下一个第二数据报文,直至进行切包处理后得到的所有第二数据报文写入缓存块。
基于本发明实施例提供的一种专用集成电路,基于第二报文序列号的次序,将对应的第二数据报文依次写入缓存队列中空闲的缓存块,避免数据报文写入缓存队列中空闲的缓存块出现不完整的情况,进而实现对乱序的数据报文进行传输。
可选的,基于上述图8示出的后级模块83,所述后级模块83具体用于:
实时监测缓存队列的各个缓存块;当任一缓存块中写入的第一数据报文的第一报文序列号与上一数据报文的报文序列号连续,提取数据报文并传输。
或者,所述后级模块83,具体用于:
实时监测缓存队列的各个缓存块;当任一缓存块中写入的第二数据报文的第二报文序列号与上一数据报文的报文序列号连续,提取第二数据报文并传输。
其中,上一数据报文的报文序列号包括第一报文序列号和第二报文序列号。
基于本发明实施例提供的一种专用集成电路,通过解析获取到的第一数据报文,利用得到的解析结果对第一数据报文进行切包处理,当监测到缓存队列中任一缓存块中写入的数据报文的报文序列号与上一数据报文的报文序列号连续的数据报文,提取并传输,实现既减少空间消耗又能达到对乱序的数据报文进行传输的目的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种数据乱序报文的处理方法,其特征在于,应用于专用集成电路,所述方法包括:
获取第一数据报文并进行解析,得到所述第一数据报文的第一报文序列号和第一报文长度;
若所述第一报文长度大于缓存块长度,基于所述缓存块长度对所述第一数据报文进行切包处理,得到多个第二数据报文,所述每一第二数据报文的长度小于或等于缓存块长度;
根据所述第一数据报文的切包顺序为每一第二数据报文生成对应的第二报文序列号,其中,同一所述第一数据报文切分的第二数据报文的第二报文序列号具有相同的标识号;
将所述第二数据报文依次分别写入缓存队列中空闲的缓存块;
实时监测所述缓存队列,当所述缓存队列中存在与上一数据报文的报文序列号连续的第一数据报文或第二数据报文,提取并传输。
2.根据权利要求1所述的方法,其特征在于,还包括:
若所述第一报文长度小于等于缓存块长度,将所述第一数据报文和所述第一报文序列号写入缓存队列中空闲的缓存块。
3.根据权利要求1所述的方法,其特征在于,所述将所述第二数据报文依次分别写入缓存队列中空闲的缓存块,包括:
基于所述第二报文序列号的次序,将对应的第二数据报文依次写入缓存队列中空闲的缓存块;
若当前进行写入的第二数据报文已写完,则切换至下一空闲的缓存块继续写入下一个第二数据报文,直至进行切包处理后得到的所有第二数据报文写入缓存块。
4.根据权利要求1所述的方法,其特征在于,所述实时监测所述缓存队列,当所述缓存队列中存在与所述上一数据报文的报文序列号连续的第一数据报文或第二数据报文,提取并传输,包括:
实时监测所述缓存队列的各个缓存块;
当任一缓存块中写入的第一数据报文的第一报文序列号与所述上一数据报文的报文序列号连续,提取所述第一数据报文并传输;
或者,当任一缓存块中写入的第二数据报文的第二报文序列号与所述上一数据报文的报文序列号连续,提取所述第二数据报文并传输。
5.一种专用集成电路,其特征在于,所述专用集成电路包括:
前级模块,用于获取第一数据报文并进行解析,得到所述第一数据报文的报文序列号和第一报文长度,若所述第一报文长度大于缓存块长度,对所述第一数据报文进行切包处理,得到具有第二报文序列号的第二数据报文,将所述第二数据报文依次分别写入缓存模块;
所述缓存模块,用于将所述第二数据报文依次分别写入缓存队列中空闲的缓存块;
后级模块,用于实时监测所述缓存队列,当所述缓存队列中存在与上一数据报文的报文序列号连续的第一数据报文或第二数据报文,提取并传输;
所述对所述第一数据报文进行切包处理,得到具有第二报文序列号的第二数据报文的前级模块,具体用于:基于所述缓存块长度对所述第一数据报文进行切包处理,得到多个第二数据报文,所述每一第二数据报文的长度小于或等于缓存块长度;根据所述第一数据报文的切包顺序为每一第二数据报文生成对应的第二报文序列号,其中,同一所述第一数据报文切分的第二数据报文的第二报文序列号具有相同的标识号。
6.根据权利要求5所述的专用集成电路,其特征在于,所述前级模块,还用于:
若所述第一报文长度小于等于缓存块长度,将所述第一数据报文和所述第一报文序列号写入缓存队列中空闲的缓存块。
7.根据权利要求5所述的专用集成电路,其特征在于,所述将所述第二数据报文依次分别写入缓存队列中空闲的缓存块的缓存模块,具体用于:
基于所述第二报文序列号的次序,将对应的第二数据报文依次写入缓存队列中空闲的缓存块;若当前进行写入的第二数据报文已写完,则切换至下一空闲的缓存块继续写入下一个第二数据报文,直至进行切包处理后得到的所有第二数据报文写入缓存块。
8.根据权利要求5所述的专用集成电路,其特征在于,所述后级模块,具体用于:
实时监测所述缓存队列的各个缓存块;当任一缓存块中写入的第一数据报文的第一报文序列号与所述上一数据报文的报文序列号连续,提取所述数据报文并传输;
或者,所述后级模块,具体用于:
实时监测所述缓存队列的各个缓存块;当任一缓存块中写入的第二数据报文的第二报文序列号与所述上一数据报文的报文序列号连续,提取所述第二数据报文并传输。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110901761.4A CN113595932B (zh) | 2021-08-06 | 2021-08-06 | 数据乱序报文的处理方法及专用集成电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110901761.4A CN113595932B (zh) | 2021-08-06 | 2021-08-06 | 数据乱序报文的处理方法及专用集成电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113595932A CN113595932A (zh) | 2021-11-02 |
CN113595932B true CN113595932B (zh) | 2024-05-14 |
Family
ID=78256050
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110901761.4A Active CN113595932B (zh) | 2021-08-06 | 2021-08-06 | 数据乱序报文的处理方法及专用集成电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113595932B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114598669B (zh) * | 2022-03-07 | 2024-03-19 | 潍柴动力股份有限公司 | 一种报文的存储方法、装置及设备 |
CN114726920A (zh) * | 2022-06-07 | 2022-07-08 | 恒生电子股份有限公司 | Tcp数据的处理方法及装置 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6279041B1 (en) * | 1998-11-13 | 2001-08-21 | International Business Machines Corporation | Methods, systems and computer program products for differencing data communications using a message queue |
CN101094183A (zh) * | 2007-07-25 | 2007-12-26 | 杭州华三通信技术有限公司 | 一种缓存管理方法及装置 |
WO2014015498A1 (zh) * | 2012-07-26 | 2014-01-30 | 华为技术有限公司 | 报文发送方法、接收方法、装置及系统 |
WO2014101090A1 (zh) * | 2012-12-28 | 2014-07-03 | 华为技术有限公司 | 缓存报文的方法和装置 |
CN103914341A (zh) * | 2013-01-06 | 2014-07-09 | 中兴通讯股份有限公司 | 数据队列出队管控方法和装置 |
CN105516023A (zh) * | 2014-09-24 | 2016-04-20 | 华为技术有限公司 | 一种报文转发方法和装置 |
WO2016202158A1 (zh) * | 2015-06-15 | 2016-12-22 | 深圳市中兴微电子技术有限公司 | 一种报文传输方法、装置及计算机可读存储介质 |
CN107220187A (zh) * | 2017-05-22 | 2017-09-29 | 北京星网锐捷网络技术有限公司 | 一种缓存管理方法、装置及现场可编程门阵列 |
WO2017198108A1 (zh) * | 2016-05-19 | 2017-11-23 | 中兴通讯股份有限公司 | 一种处理分片报文的方法及装置 |
CN107786471A (zh) * | 2017-10-23 | 2018-03-09 | 深圳市风云实业有限公司 | 多fpga芯片间数据处理方法及转换装置 |
CN109672629A (zh) * | 2018-12-04 | 2019-04-23 | 迈普通信技术股份有限公司 | 一种报文发送方法及通信设备 |
CN109936514A (zh) * | 2019-04-29 | 2019-06-25 | 新华三信息安全技术有限公司 | 一种报文处理方法和装置 |
CN111181682A (zh) * | 2019-12-31 | 2020-05-19 | 北京华环电子股份有限公司 | 一种基于fpga的gfp帧分片传输的实现方法 |
WO2020134755A1 (zh) * | 2018-12-29 | 2020-07-02 | 广州市百果园网络科技有限公司 | 数据传输方法和装置 |
CN112685358A (zh) * | 2020-12-24 | 2021-04-20 | 电信科学技术第五研究所有限公司 | 一种基于fpga的ddr3分组读写方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8339945B2 (en) * | 2003-07-01 | 2012-12-25 | Mworks Wireless Holdings Llc | Data link control architecture for integrated circuit devices |
US7912979B2 (en) * | 2003-12-11 | 2011-03-22 | International Business Machines Corporation | In-order delivery of plurality of RDMA messages |
US9996404B2 (en) * | 2016-09-01 | 2018-06-12 | Oracle International Corporation | Message cache management for message queues |
US10741280B2 (en) * | 2018-07-17 | 2020-08-11 | Icu Medical, Inc. | Tagging pump messages with identifiers that facilitate restructuring |
-
2021
- 2021-08-06 CN CN202110901761.4A patent/CN113595932B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6279041B1 (en) * | 1998-11-13 | 2001-08-21 | International Business Machines Corporation | Methods, systems and computer program products for differencing data communications using a message queue |
CN101094183A (zh) * | 2007-07-25 | 2007-12-26 | 杭州华三通信技术有限公司 | 一种缓存管理方法及装置 |
WO2014015498A1 (zh) * | 2012-07-26 | 2014-01-30 | 华为技术有限公司 | 报文发送方法、接收方法、装置及系统 |
WO2014101090A1 (zh) * | 2012-12-28 | 2014-07-03 | 华为技术有限公司 | 缓存报文的方法和装置 |
CN103914341A (zh) * | 2013-01-06 | 2014-07-09 | 中兴通讯股份有限公司 | 数据队列出队管控方法和装置 |
CN105516023A (zh) * | 2014-09-24 | 2016-04-20 | 华为技术有限公司 | 一种报文转发方法和装置 |
WO2016202158A1 (zh) * | 2015-06-15 | 2016-12-22 | 深圳市中兴微电子技术有限公司 | 一种报文传输方法、装置及计算机可读存储介质 |
WO2017198108A1 (zh) * | 2016-05-19 | 2017-11-23 | 中兴通讯股份有限公司 | 一种处理分片报文的方法及装置 |
CN107220187A (zh) * | 2017-05-22 | 2017-09-29 | 北京星网锐捷网络技术有限公司 | 一种缓存管理方法、装置及现场可编程门阵列 |
CN107786471A (zh) * | 2017-10-23 | 2018-03-09 | 深圳市风云实业有限公司 | 多fpga芯片间数据处理方法及转换装置 |
CN109672629A (zh) * | 2018-12-04 | 2019-04-23 | 迈普通信技术股份有限公司 | 一种报文发送方法及通信设备 |
WO2020134755A1 (zh) * | 2018-12-29 | 2020-07-02 | 广州市百果园网络科技有限公司 | 数据传输方法和装置 |
CN109936514A (zh) * | 2019-04-29 | 2019-06-25 | 新华三信息安全技术有限公司 | 一种报文处理方法和装置 |
CN111181682A (zh) * | 2019-12-31 | 2020-05-19 | 北京华环电子股份有限公司 | 一种基于fpga的gfp帧分片传输的实现方法 |
CN112685358A (zh) * | 2020-12-24 | 2021-04-20 | 电信科学技术第五研究所有限公司 | 一种基于fpga的ddr3分组读写方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113595932A (zh) | 2021-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113595932B (zh) | 数据乱序报文的处理方法及专用集成电路 | |
CN101432721B (zh) | 桥接网络中的潜在转发环路的检测 | |
US6003089A (en) | Method for constructing adaptive packet lengths in a congested network | |
US9742667B2 (en) | Packet processing method, device and system | |
EP2498457A1 (en) | Methods and Apparatus for Path Selection Within a Network Based on Flow Duration | |
CN113709057A (zh) | 网络拥塞的通告方法、代理节点、网络节点及计算机设备 | |
EP2668751B1 (en) | Communication system, forwarding node, control device, communication control method, and program | |
CN107370636B (zh) | 链路状态确定方法和装置 | |
US20210029052A1 (en) | Methods and apparatuses for packet scheduling for software- defined networking in edge computing environment | |
CN109525518B (zh) | 一种基于fpga的ip报文网络地址转换方法及装置 | |
EP2552054A2 (en) | Wide field indexing for packet tracking | |
US6694369B1 (en) | Tag echo discovery protocol to detect reachability of clients | |
US7032032B2 (en) | Method and apparatus for providing tandem connection, performance monitoring, and protection architectures over ethernet protocols | |
CN114070801A (zh) | 报文处理方法、报文传输方法、装置及电子设备 | |
CN114070799B (zh) | 优先级暂停帧的处理方法、处理装置及目标网络设备 | |
CN114143385A (zh) | 一种网络流量数据的识别方法、装置、设备和介质 | |
JP2007215142A (ja) | フレームバッファ監視方法及び装置 | |
JP2008136081A (ja) | データ転送装置およびデータ転送方法 | |
CN115687223A (zh) | 用于嵌入式设备串口通信的方法及装置、嵌入式设备、存储介质 | |
CN113965492A (zh) | 一种数据流统计方法及装置 | |
CN114448858B (zh) | 报文广播方法、装置、网络设备和存储介质 | |
EP3068079B1 (en) | Monitoring communication in a network comprising a plurality of nodes | |
CN114301960B (zh) | 集群非对称流量的处理方法及装置、电子设备及存储介质 | |
CN113596097B (zh) | 一种日志的传输方法及电子设备 | |
CN111445222B (zh) | 一种数据更新方法、数据更新装置及移动终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Country or region after: China Address after: No. 210, Liangjing Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai 200120 Applicant after: Shanghai Jinshida Software Technology Co.,Ltd. Address before: 201203 No. 210, Liangjing Road, Pudong New Area, Shanghai Applicant before: Shanghai Kingstar Software Technology Co.,Ltd. Country or region before: China |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |