CN102694730A - 一种并行处理的方法及装置 - Google Patents
一种并行处理的方法及装置 Download PDFInfo
- Publication number
- CN102694730A CN102694730A CN2012101691099A CN201210169109A CN102694730A CN 102694730 A CN102694730 A CN 102694730A CN 2012101691099 A CN2012101691099 A CN 2012101691099A CN 201210169109 A CN201210169109 A CN 201210169109A CN 102694730 A CN102694730 A CN 102694730A
- Authority
- CN
- China
- Prior art keywords
- compressed
- heading
- feedback packet
- contextual information
- feedback
- 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
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种并行处理的方法及装置,涉及通信网络技术领域,可以提高加速引擎通道的性能。本发明实施例通过判断接收到的数据包的类型;当数据包的类型为反馈包时,将反馈包置于反馈包处理通道中的反馈包队列进行排队;当数据包的类型为待压缩报文头时,将待压缩报文头置于待压缩报文头处理通道中的待压缩报文头队列进行排队;从反馈包处理通道接收反馈包,并解析反馈包获得反馈信息,根据反馈信息更新反馈包对应的上下文信息;从待压缩报文头处理通道接收待压缩报文头,并解析待压缩报文头获得待压缩报文头信息,根据待压缩报文头信息,将待压缩报文头压缩并发送。本发明实施例提供的方案适于反馈包与待压缩报文头分离并行处理时采用。
Description
技术领域
本发明涉及通信网络技术领域,尤其涉及一种并行处理的方法及装置。
背景技术
ROHC(Robust Header Compression,鲁棒性头压缩)为对无线链路上的报文头压缩协议进行的规范,可以有效对抗压缩器和解压缩器之间的丢包现象。
ROHC主要对分组流进行报文头压缩,其功能实体分为两部分:压缩端和解压端。现有技术采用单个加速引擎通道的多级流水线结构进行报文头压缩以及反馈包的处理。例如可以采用三级流水线结构进行报文头压缩,具体的,第一级从外部存储器读取上下文,其中,上下文中保存着分组流报文中的报文头信息,然后读取报文头信息,完成数据准备工作;第二级根据上下文信息将报文头进行压缩编码或者解码处理;第三级将上下文信息写回外部存储器中。反馈包为解压端生成的维护上下文相关的反馈信息,以通知压缩端当前的上下文是否能满足成功解压,以及双方的上下文是否一致。压缩端收到反馈包后需要进行解析,并根据反馈信息决定当前的工作模式和工作状态,以及是否需要向解压端发送用于更新解压端上下文的数据包。
然而,压缩端从同一个加速引擎通道接收反馈包与待压缩报文头,反馈包越多,导致降低加速引擎通道性能。
发明内容
本发明的实施例提供一种并行处理的方法及装置,可以提高加速引擎通道的性能。
本发明的实施例采用如下技术方案:
一种并行处理的方法,包括:
判断接收到的数据包的类型;
当所述数据包的类型为反馈包时,将所述反馈包置于反馈包处理通道中的反馈包队列进行排队;以及当所述数据包的类型为待压缩报文头时,将所述待压缩报文头置于待压缩报文头处理通道中的待压缩报文头队列进行排队;
从所述反馈包处理通道接收所述反馈包,并解析所述反馈包获得反馈信息,根据所述反馈信息更新所述反馈包对应的上下文信息;
从所述待压缩报文头处理通道接收所述待压缩报文头,并解析所述待压缩报文头获得待压缩报文头信息,根据所述待压缩报文头信息,将所述待压缩报文头压缩并发送。
一种并行处理的装置,包括:
判断单元,用于判断接收到的数据包的类型;
分配单元,用于当所述数据包的类型为反馈包时,将所述反馈包置于反馈包处理通道中的反馈包队列进行排队;以及当所述数据包的类型为待压缩报文头时,将所述待压缩报文头置于待压缩报文头处理通道中的待压缩头队列进行排队;
反馈包处理单元,用于从所述反馈包处理通道接收所述反馈包,并解析所述反馈包获得反馈信息,根据所述反馈信息更新所述反馈包对应的上下文信息;
待压缩报文头处理单元,用于从所述待压缩报文头处理通道接收所述待压缩报文头,并解析所述待压缩报文头获得待压缩报文头信息,根据所述待压缩报文头信息,将所述待压缩报文头压缩并发送。
本发明实施例提供一种并行处理的方法及装置,通过判断接收到的数据包的类型;当所述数据包的类型为反馈包时,将所述反馈包置于反馈包处理通道中的反馈包队列进行排队;以及当所述数据包的类型为待压缩报文头时,将所述待压缩报文头置于待压缩报文头处理通道中的待压缩报文头队列进行排队;从反馈包处理通道接收反馈包,并解析所述反馈包获得反馈信息,根据所述反馈信息更新所述反馈包对应的上下文信息;从待压缩报文头处理通道接收待压缩报文头,并解析所述待压缩报文头获得待压缩报文头信息,根据所述待压缩报文头信息,将所述待压缩报文头压缩并发送。与现有技术中压缩端从同一个加速引擎通道接收反馈包与待压缩报文头,反馈包越多,导致降低加速引擎通道性能相比,本发明实施例将反馈包与待压缩报文头进行并行处理,可以提高加速引擎通道的性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1提供的一种并行处理的方法的流程图;
图2为本发明实施例1提供的一种并行处理的装置的框图;
图3为本发明实施例2提供的一种并行处理的方法的流程图;
图4为本发明实施例2提供的分离并行处理通道结构示意图;
图5A为本发明实施例2提供的反馈包处理的方法的流程图;
图5B为本发明实施例2提供的待压缩报文头的方法的流程图;
图6为本发明实施例2提供的一种并行处理的装置的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本发明实施例提供的一种并行处理的方法,该方法的执行主体为压缩端,具体可以为压缩器,如图1所示,该方法包括:
步骤101,判断接收到的数据包的类型;
接收到的数据包中包括报文,通过此报文头中的一个字段来判断数据包是反馈包,还是待压缩报文头。其中,此字段根据协议以不同的比特值代表不同的类型。
步骤102,当所述数据包的类型为反馈包时,将所述反馈包置于反馈包处理通道中的反馈包队列进行排队;
步骤103,当所述数据包的类型为待压缩报文头时,将所述待压缩报文头置于待压缩报文头处理通道中的待压缩报文头队列进行排队;
反馈包处理通道和待压缩报头处理通道为两条并行处理通道,反馈包处理通道与待压缩报文头处理通道处理的分组流没有相关性,可以并行处理。
步骤104,从所述反馈包处理通道接收所述反馈包,并解析所述反馈包获得反馈信息,根据所述反馈信息更新所述反馈包对应的上下文信息;
在本步骤从所述反馈包处理通道接收所述反馈包之后进一步包括:存储接收到的所述反馈包到反馈包缓存中;其中,所述反馈包缓存内可以至少缓存三个所述反馈包。
可选的,当处理所述反馈包时,读取所述反馈包并解析,获取所述反馈包的反馈信息与所述反馈包的上下文标识符CID;根据所述CID,获取所述CID对应的上下文存储地址,并读取上下文信息;
根据所述反馈信息更新所述上下文信息;
将更新的所述上下文信息回写到上下文存储器中所述上下文存储地址对应的缓存空间。
步骤105,从所述待压缩报文头处理通道接收所述待压缩报文头,并解析所述待压缩报文头获得待压缩报文头信息,根据所述待压缩报文头信息,将所述待压缩报文头压缩并发送。
在所述从所述待压缩报文头处理通道接收所述待压缩报文头之后还包括:存储接收到的所述待压缩报文头到在待压缩报文头缓存中,所述待压缩报文头缓存内至少缓存三个所述待压缩报文头。
可选的,当处理所述待压缩报文头时,解析所述待压缩报文头获得待压缩报文头信息,并获取分配的CID,根据所述CID获取所述CID对应的上下文存储地址;当所述上下文存储地址存在对应的上下文信息时,则读取所述上下文信息,当所述上下文存储地址不存在对应的上下文信息时,则将所述待压缩报文头信息保存在所述待压缩报文头缓存中;
根据所述待压缩报文头信息与所述上下文信息,将所述待压缩报文头压缩并发送;
将所述上下文信息回写到上下文存储器中所述上下文存储地址对应的缓存空间中。
进一步的,当反馈包处理通道与待压缩报文头处理通道同时对同一个上下文信息进行处理时,所述反馈包处理通道的优先级高于所述待压缩报文头处理通道的优先级。
当不同处理通道内,进入压缩处理阶段的待压缩报文头的CID与进入更新阶段的反馈包的CID相同时,则阻塞待压缩报文头处理通道,等待反馈包更新完成后再根据更新后的上下文信息进行所述待压缩报文头的处理。
当同一处理通道内不同处理阶段,连续接收的所述反馈包或者所述待压缩报文头为同一分组流时,则阻塞当前处理通道,等待前一个反馈包或者待压缩报文头完成上下文信息更新处理后,使用更新后的并且保存在所述反馈包缓存或者所述待压缩报文头缓存中的上下文信息,完成当前反馈包或者待压缩报文头的处理。
在读取上下文信息之前,所述反馈包缓存或者所述待压缩报文头缓存中存在待读取的所述上下文信息,则根据所述待读取的所述上下文信息进行进一步处理。
在读取上下文信息时,当前所述反馈包或者所述待压缩报文头的CID与上下文回写阶段的CID相同,则不将所述CID对应的上下文信息写回到上下文存储器中,并根据所述上下文信息对当前所述反馈包或者所述待压缩报文头进行进一步处理。
本发明实施例提供一种并行处理的方法,通过根据判断的数据包的类型,分别将反馈包置于反馈包处理通道中的反馈包队列进行排队,将待压缩报文头置于待压缩报文头处理通道中的待压缩报文头队列进行排队;从反馈包处理通道接收反馈包,并,解析所述反馈包获得反馈信息,根据所述反馈信息更新所述反馈包对应的上下文信息;从待压缩报文头处理通道接收待压缩报文头,并解析所述待压缩报文头获得待压缩报文头信息,根据所述待压缩报文头信息,将所述待压缩报文头压缩并发送,本发明实施例将反馈包与待压缩报文头进行并行处理,可以提高加速引擎通道的性能。
本发明实施例提供一种并行处理的装置,该装置可以为压缩器,如图2所示,该装置包括:判断单元201,分配单元202,反馈包处理单元203,待压缩报文头处理单元204;
判断单元201,用于判断接收到的数据包的类型;接收到的数据包中包括报文,通过此报文头中的一个字段来判断数据包是反馈包,还是待压缩报文头。其中,此字段根据协议以不同的比特值代表不同的类型。
分配单元202,用于当所述数据包的类型为反馈包时,将所述反馈包置于反馈包处理通道中的反馈包队列进行排队;以及当所述数据包的类型为待压缩报文头时,将所述待压缩报文头置于待压缩报文头处理通道中的待压缩头队列进行排队;
反馈包处理单元203,用于从所述反馈包处理通道接收所述反馈包,并解析所述反馈包获得反馈信息,根据所述反馈信息更新所述反馈包对应的上下文信息;
进一步的,反馈包缓存单元,用于存储接收到的所述反馈包到反馈包缓存中,以备所述反馈包处理单元进一步处理;其中,所述反馈包缓存内至少缓存三个所述反馈包。
具体的,所述反馈包处理单元203中的上下文读取模块,用于读取所述反馈包并解析,获取所述反馈包的反馈信息与所述反馈包的上下文标识符CID;以及根据所述CID,获取所述CID对应的上下文存储地址,并读取上下文信息;
所述反馈包处理单元203中的上下文更新模块,用于根据所述反馈信息更新所述上下文信息;
所述反馈包处理单元203中的上下文回写模块,用于将更新的所述上下文信息回写到上下文存储器中所述上下文存储地址对应的缓存空间。
待压缩报文头处理单元204,用于从所述待压缩报文头处理通道接收所述待压缩报文头,并解析所述待压缩报文头获得待压缩报文头信息,根据所述待压缩报文头信息,将所述待压缩报文头压缩并发送。
需要说明的是,反馈包处理通道与待压缩报头处理通道处理的分组流没有相关性,可以并行处理。
进一步的,待压缩报文头缓存单元,用于存储接收到的所述待压缩报文头到在待压缩报文头缓存中,以备所述待压缩报文头处理单元进一步处理。所述待压缩报文头缓存内至少缓存三个所述待压缩报文头
具体的,所述待压缩报文头处理单元204中的上下文读取模块,用于解析所述待压缩报文头获得待压缩报文头信息,并获取分配的CID,根据所述CID获取所述CID对应的上下文存储地址;当所述上下文存储地址存在对应的上下文信息时,则读取所述上下文信息,当所述上下文存储地址不存在对应的上下文信息时,则将所述待压缩报文头信息保存在所述待压缩报文头缓存中;
所述待压缩报文头处理单元204中的上下文压缩模块,用于根据所述待压缩报文头信息与所述上下文信息,将所述待压缩报文头压缩并发送;
所述待压缩报文头处理单元204中的上下文回写模块,用于将所述上下文信息回写到上下文存储器中所述上下文存储地址对应的缓存空间中。
本发明实施例提供一种并行处理的装置,通过根据判断单元判断的数据包的类型,分配单元将所述反馈包置于反馈包处理通道中的反馈包队列进行排队;以及将所述待压缩报文头置于待压缩报文头处理通道中的待压缩头队列进行排队;反馈包处理单元,用于从反馈包处理通道接收反馈包,并解析所述反馈包获得反馈信息,根据所述反馈信息更新所述反馈包对应的上下文信息;待压缩报文头处理单元,用于从待压缩报文头处理通道接收待压缩报文头,并解析所述待压缩报文头获得待压缩报文头信息,根据所述待压缩报文头信息,将所述待压缩报文头压缩并发送。本发明实施例将反馈包与待压缩报文头进行分离并行处理,可以提高加速引擎通道的性能。
实施例2
本发明实施例提供的一种并行处理的方法,该方法的执行主体为压缩端,具体可以为压缩器,如图3所示,该方法包括:
步骤301,判断接收到的数据包的类型;
通过无线接口接收PDCP(Packet Data Convergence Protocol,分组数据汇聚协议)层发送的数据包,数据包中包括报文,通过此报文头中的一个字段来判断数据包是反馈包,还是待压缩报文头。其中,此字段根据协议以不同的比特值代表不同的类型。
步骤302,当所述数据包的类型为反馈包时,将所述反馈包置于反馈包处理通道中的反馈包队列进行排队;
反馈包处理通道仅处理反馈包。
步骤303,当所述数据包的类型为待压缩报文头时,将所述待压缩报文头置于待压缩报文头处理通道中的待压缩报文头队列进行排队;
待压缩报文头处理通道仅处理待压缩报文头。
步骤304,从反馈包处理通道接收反馈包;
步骤305,从待压缩报文头处理通道接收待压缩报文头;
反馈包处理通道和待压缩报文头处理通道为两条并行处理通道,如图4所示的分离并行处理通道结构图,反馈包处理通道与待压缩报文头处理通道处理的分组流没有相关性,可以并行处理。
步骤306,存储接收到的所述反馈包到反馈包缓存中;
步骤307,存储接收到的所述待压缩报文头到在待压缩报文头缓存中;
本发明在现有技术单通道的基础上增加一倍的上下文内部缓存空间和读写控制逻辑,用于存储接收到的反馈包,并进行上下文的更新。具体的,如图4所示存储接收到的所述反馈包到反馈包缓存中;存储接收到的所述待压缩报文头到在待压缩报文头缓存中。
其中,所述反馈包缓存内至少缓存三个所述反馈包;所述待压缩报文头缓存内至少缓存三个所述待压缩报文头。反馈包缓存与待压缩报文头缓存的设置与本发明采用的多级流水线结构相关,例如,采用3级流水线结构时,可以设置反馈包缓存空间可以缓存三个所述反馈包,如上下文缓存1’,上下文缓存2’,上下文缓存3’,设置待压缩报文头缓存空间可以缓存三个所述待压缩报文头,如上下文缓存1,上下文缓存2,上下文缓存3,以使得反馈包或者待压缩报文头可以不间断的处理,节省时间。
步骤308,当处理所述反馈包时,解析所述反馈包获得反馈信息,根据所述反馈信息更新所述反馈包对应的上下文信息;
具体的,在压缩器内的反馈包处理单元中对接收到的反馈包进行更新处理,本发明实施例以3级流水线结构为例进行说明,如图5A所示的流程图:
步骤501,对所述反馈包的第一级处理;具体的,当处理所述反馈包时,读取所述反馈包并解析,获取所述反馈包的反馈信息与所述反馈包的上下文标识符CID;根据所述CID,获取所述CID对应的上下文存储地址,并读取上下文信息;
需要说明的是,一条通讯链路由多个信道组成,每一个信道可以有多个分组流,每个分组流对应一个上下文信息,一个上下文信息对应一个CID。上下文信息按照上下文存储地址存储在上下文存储器中,其中,上下文存储地址与CID一一对应,根据CID确定上下文存储地址,并根据上下文存储地址确定上下文信息。
如图4所示中,上下文存储器为外部存储器,存储每个分组流对应的上下文信息,其中上下文信息为分组流的报文头信息。
可选的,一个完整的报文由报文头和净荷组成,ROHC是针对报文头进行压缩的。由于在一些常用业务中报文头的长度很长,甚至超过了净荷的长度,报文头中很多字段的作用是确保端到端连接的正确性,对于某一段链路来说,这种字段不起具体作用,且一个分组流的每个报文中都相同,因此属于冗余内容。冗余内容可以不用每次发送,而可以采取在链路的另一端进行还原出来的办法来实现传输。
进一步的,所述反馈包为解压缩器端发送给压缩器的数据包,所述反馈包的CID与解压缩器端解压缩的报文头的CID相同,具备RFC3095协议规定标准格式,其中所述反馈包中包括当前该分组流压缩模式、当前该分组流压缩状态,以及解压器端是否能够成功解压报文头等信息。
步骤502,对所述反馈包的第二级处理;具体的,根据所述反馈信息更新所述上下文信息;
进一步的,将更新的所述上下文信息保存在反馈包缓存中,以备第三级进一步处理。
步骤503,对所述反馈包的第三级处理;具体的,将更新的所述上下文信息回写到上下文存储器中所述上下文存储地址对应的缓存空间。
需要说明的是,根据反馈包的CID对应的上下文存储地址进行上下文信息的存储。
步骤309,当处理所述待压缩报文头时,解析所述待压缩报文头获得待压缩报文头信息,根据所述待压缩报文头信息,将所述待压缩报文头压缩并发送。
具体的,在压缩器内的待压缩报文头处理单元中对接收到的待压缩报文头进行压缩处理,本发明实施例以3级流水线结构为例进行说明,如图5B所示的流程图:
步骤504,对所述待压缩报文头的第一级处理;具体的,当处理所述待压缩报文头时,解析所述待压缩报文头获得待压缩报文头信息,并获取分配的CID,根据所述CID获取所述CID对应的上下文存储地址;当所述上下文存储地址存在对应的上下文信息时,则读取所述上下文信息,当所述上下文存储地址不存在对应的上下文信息时,则将所述待压缩报文头信息保存在所述待压缩报文头缓存中;
需要说明的是,待压缩报文头对应的CID为分组流解析单元分配的。
步骤505,对所述待压缩报文头的第二级处理;具体的,根据所述待压缩报文头信息与所述上下文信息,将所述待压缩报文头压缩并发送;
具体的,根据待压缩报文头信息和上下文记录的信息,选择合适的压缩包类型,并填充对应的域,组成压缩包输出。可选的,上下文信息中记录的是报文头的固定字段,这些字段在一个分组流的所有报文的报文头中都是固定不变的,例如原地址、目地地址等;而待压缩报文头信息为报文头中的可变字段,例如当前待压缩报文头的序列号等。填充对应的域即填充可变字段的内容。
步骤506,对所述待压缩报文头的第三级处理;具体的,将所述上下文信息回写到上下文存储器中所述上下文存储地址对应的缓存空间中。
当上下文信息为根据待压缩报文头信息新建的,则在回写阶段时,需要先确定上下文存储器中的空闲空间的地址,作为上下文存储地址,根据此上下文存储地址分配缓存空间,并将所述上下文信息保存在所述缓存空间中。进一步的,需将此待压缩报文头的CID对应的上下文信息与上下文存储地址一一对应的关系进行保存。
需要说明的是,步骤308和步骤309为并行处理,当反馈包处理通道与待压缩报文头处理通道同时对同一个上下文信息进行处理时,即所述反馈包的CID与所述待压缩报文头的CID相同时,反馈包处理通道的优先级高于所述待压缩报文头处理通道的优先级,以保证进行进一步处理时采用的上下文信息为最新的上下文信息。
在反馈包和待压缩报文头并行处理过程中,可能出现如下两种数据冲突:
一种是在同一条处理通道内(反馈包处理通道或者待压缩报文头处理通道)不同级中存在属于同一个分组流的待压缩报文头或反馈包,此时该分组流的上下文信息已经从外部缓存读取到内部缓存,但还未完成更新回写,即步骤501和步骤504处理完成后,步骤502或者步骤505处理之前,此时需满足以下机制:
当同一处理通道内不同处理阶段,连续接收的所述反馈包或者所述待压缩报文头为同一分组流时,则阻塞当前处理通道,等待前一个反馈包或者待压缩报文头完成上下文信息(此上下文信息为已从外部缓存读取到内部缓存的上下文信息)更新处理后,使用更新后的并且保存在所述反馈包缓存或者所述待压缩报文头缓存中的上下文信息,完成当前反馈包或者待压缩报文头的处理。以反馈包处理为例:接收到反馈包1,根据步骤501的方法获取上下文信息并读取,准备执行步骤502,此时接收反馈包2,反馈包2与反馈包1属于同一个分组流,即上下文信息相同,则阻塞反馈包2的处理通道,即不处理反馈包2,等待反馈包1更新处理完成后,使用存储在反馈包缓存中的更新的上下文信息进行处理,直到反馈包2处理完成后,再将更新的上下文处理信息写回到上下文存储器中,即写回到外部缓存中。
在读取上下文信息之前,所述反馈包缓存或者所述待压缩报文头缓存中存在待读取的所述上下文信息,则不对该分组流的上下文存储器中上下文信息进行读取操作,根据所述待读取的所述上下文信息进行进一步处理。
在读取上下文信息时,当前所述反馈包或者所述待压缩报文头的CID与上下文信息回写阶段的CID相同,则不将所述CID对应的上下文信息写回到上下文存储器中,并根据所述上下文信息对当前所述反馈包或者所述待压缩报文头进行进一步处理。
另外一种数据冲突为两个通道间存在的冲突,即同一分组流的反馈包和待压报文头同时进入两个并行处理通道,这种情况下需满足以下机制:
当不同处理通道内,进入压缩处理阶段的待压缩报文头的CID与进入更新阶段的反馈包的CID相同时,则阻塞待压缩报文头处理通道,等待反馈包更新完成后再根据更新后的上下文信息进行所述待压缩报文头的处理。例如,待压缩报文头进入步骤505执行时,此时需判断进入步骤502处理阶段的反馈包的CID是否与此待压缩报文头的CID相同,当两者不相同时,则可以执行步骤506,当两者相同时,则阻塞待压缩报文头处理通道,等待步骤502处理完成后,再读取反馈包缓存中更新的上下文信息进一步进行步骤506的执行。
需要说明的是,无论是反馈包处理通道还是待压缩报文头处理通道,在读取上下文信息之前,所述反馈包缓存或者所述待压缩报文头缓存中存在待读取的所述上下文信息,则不对该分组流的上下文存储器中上下文信息进行读取操作,根据所述待读取的所述上下文信息进行进一步处理。
无论是反馈包处理通道还是待压缩报文头处理通道,在读取上下文信息时,当前所述反馈包或者所述待压缩报文头的CID与上下文信息回写阶段的CID相同,则不将所述CID对应的上下文信息写回到上下文存储器中,并根据所述上下文信息对当前所述反馈包或者所述待压缩报文头进行进一步处理。
本发明实施例提供的一种并行处理的方法,通过将反馈包与待压缩报文头进行分离并行处理,使得待压缩报文头处理通道的性能不受反馈包的影响,进一步提高加速引擎通道的性能。
本发明实施例提供一种并行处理的装置,该装置可以为压缩器,如图6所示,该装置包括:判断单元601,分配单元602,反馈包处理单元603,上下文读取模块6031,上下文更新模块6032,上下文回写模块6033,待压缩报文头处理单元604,上下文读取模块6041,上下文压缩模块6042,上下文回写模块6043,反馈包缓存单元605,待压缩报文头缓存单元606,监控单元607,阻塞单元608,判断处理单元609;
判断单元601,用于判断接收到的数据包的类型;
接收到的数据包中包括报文,通过此报文头中的一个字段来判断数据包是反馈包,还是待压缩报文头。其中,此字段根据协议以不同的比特值代表不同的类型。
分配单元602,用于当所述数据包的类型为反馈包时,将所述反馈包置于反馈包处理通道中的反馈包队列进行排队;以及当所述数据包的类型为待压缩报文头时,将所述待压缩报文头置于待压缩报文头处理通道中的待压缩头队列进行排队;
所述反馈包处理通道与所述待压缩报文头处理通道为两条并行处理通道。
反馈包处理单元603,用于从反馈包处理通道接收反馈包,并解析所述反馈包获得反馈信息,根据所述反馈信息更新所述反馈包对应的上下文信息;
进一步的,在所述反馈包处理单元603从反馈包处理通道接收反馈包后,反馈包缓存单元605,用于存储接收到的所述反馈包到反馈包缓存中,以备所述反馈包处理单元603进一步处理;其中,所述反馈包缓存内至少缓存三个所述反馈包。
进一步的,所述反馈包处理单元603中的上下文读取模块6031,用于当处理所述反馈包时,读取所述反馈包并解析,获取所述反馈包的反馈信息与所述反馈包的上下文标识符CID;以及根据所述CID,获取所述CID对应的上下文存储地址,并读取上下文信息;
所述反馈包处理单元603中的上下文更新模块6032,用于根据所述反馈信息更新所述上下文信息;
所述反馈包处理单元603中的上下文回写模块6033,用于将更新的所述上下文信息回写到上下文存储器中所述上下文存储地址对应的缓存空间。
待压缩报文头处理单元604,用于从待压缩报文头处理通道接收待压缩报文头,并解析所述待压缩报文头获得待压缩报文头信息,根据所述待压缩报文头信息,将所述待压缩报文头压缩并发送。
进一步的,所述待压缩报文头处理单元604从待压缩报文头处理通道接收待压缩报文头之后,待压缩报文头缓存单元,用于存储接收到的所述待压缩报文头到在待压缩报文头缓存中,以备所述待压缩报文头处理单元604进一步处理。
进一步的,所述待压缩报文头处理单元604中的上下文读取模块6041,用于当处理所述待压缩报文头时,解析所述待压缩报文头获得待压缩报文头信息,并获取分配的CID,根据所述CID获取所述CID对应的上下文存储地址;当所述上下文存储地址存在对应的上下文信息时,则读取所述上下文信息,当所述上下文存储地址不存在对应的上下文信息时,则将所述待压缩报文头信息保存在所述待压缩报文头缓存中;
所述待压缩报文头处理单元604中的上下文压缩模块6042,用于根据所述待压缩报文头信息与所述上下文信息,将所述待压缩报文头压缩并发送;
所述待压缩报文头处理单元604中的上下文回写模块6043,用于将所述上下文信息回写到上下文存储器中所述上下文存储地址对应的缓存空间中。
需要说明的是,所述反馈包处理单元603与所述待压缩报文头处理单元604为并行处理,在并行处理过程中,监控单元607,用于当反馈包处理通道与待压缩报文头处理通道同时对同一个上下文信息进行处理时,即所述反馈包的CID与所述待压缩报文头的CID相同时,控制所述反馈包处理通道的优先级高于所述待压缩报文头处理通道的优先级,以保证进行进一步处理时采用的上下文信息为最新的上下文信息。
当不同处理通道内,进入压缩处理阶段的待压缩报文头的CID与进入更新阶段的反馈包的CID相同时,阻塞单元608,则阻塞待压缩报文头处理通道,等待反馈包更新完成后再根据更新后的上下文信息进行所述待压缩报文头的处理;
当同一处理通道内不同处理阶段,连续接收的所述反馈包或者所述待压缩报文头为同一分组流时,所述阻塞单元608,则阻塞当前处理通道,等待前一个反馈包或者待压缩报文头完成上下文信息更新处理后,使用更新后的并且保存在所述反馈包缓存或者所述待压缩报文头缓存中的上下文信息,完成当前反馈包或者待压缩报文头的处理。
在读取上下文信息之前,判断处理单元609,用于所述反馈包缓存或者所述待压缩报文头缓存中存在待读取的所述上下文信息,则根据所述待读取的所述上下文信息进行进一步处理。
进一步的,所述判断处理单元609还用于在读取上下文信息时,当前所述反馈包或者所述待压缩报文头的CID与上下文信息回写阶段的CID相同,则不将所述CID对应的上下文信息写回到上下文存储器中,并根据所述上下文信息对当前所述反馈包或者所述待压缩报文头进行进一步处理。
本发明实施例提供一种并行处理的装置,将反馈包与待压缩报文头进行分离并行处理,可以提高加速引擎通道的性能。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (20)
1.一种并行处理的方法,其特征在于,包括:
判断接收到的数据包的类型;
当所述数据包的类型为反馈包时,将所述反馈包置于反馈包处理通道中的反馈包队列进行排队;以及当所述数据包的类型为待压缩报文头时,将所述待压缩报文头置于待压缩报文头处理通道中的待压缩报文头队列进行排队;
从所述反馈包处理通道接收所述反馈包,并解析所述反馈包获得反馈信息,根据所述反馈信息更新所述反馈包对应的上下文信息;
从所述待压缩报文头处理通道接收所述待压缩报文头,并解析所述待压缩报文头获得待压缩报文头信息,根据所述待压缩报文头信息,将所述待压缩报文头压缩并发送。
2.根据权利要求1所述的方法,其特征在于,在所述从所述反馈包处理通道接收所述反馈包之后还包括:
存储接收到的所述反馈包到反馈包缓存中;
在所述从所述待压缩报文头处理通道接收所述待压缩报文头之后还包括:
存储接收到的所述待压缩报文头到在待压缩报文头缓存中。
3.根据权利要求2所述的方法,其特征在于,所述反馈包缓存内至少缓存三个所述反馈包;
所述待压缩报文头缓存内至少缓存三个所述待压缩报文头。
4.根据权利要求1所述的方法,其特征在于,所述解析所述反馈包获得反馈信息,根据所述反馈信息更新所述反馈包对应的上下文信息包括:
读取所述反馈包并解析,获取所述反馈包的反馈信息与所述反馈包的上下文标识符CID;根据所述CID,获取所述CID对应的上下文存储地址,并读取上下文信息;
根据所述反馈信息更新所述上下文信息;
将更新的所述上下文信息回写到上下文存储器中所述上下文存储地址对应的缓存空间。
5.根据权利要求1所述的方法,其特征在于,所述解析所述待压缩报文头获得待压缩报文头信息,根据所述待压缩报文头信息,将所述待压缩报文头压缩并发送包括:
解析所述待压缩报文头获得待压缩报文头信息,并获取分配的CID,根据所述CID获取所述CID对应的上下文存储地址;当所述上下文存储地址存在对应的上下文信息时,则读取所述上下文信息,当所述上下文存储地址不存在对应的上下文信息时,则将所述待压缩报文头信息保存在所述待压缩报文头缓存中;
根据所述待压缩报文头信息与所述上下文信息,将所述待压缩报文头压缩并发送;
将所述上下文信息回写到上下文存储器中所述上下文存储地址对应的缓存空间中。
6.根据权利要求1-5中任一项所述的方法,其特征在于,当反馈包处理通道与待压缩报文头处理通道同时对同一个上下文信息进行处理时,所述反馈包处理通道的优先级高于所述待压缩报文头处理通道的优先级。
7.根据权利要求6所述的方法,其特征在于,
当不同处理通道内,进入压缩处理阶段的待压缩报文头的CID与进入更新阶段的反馈包的CID相同时,则阻塞待压缩报文头处理通道,等待反馈包更新完成后再根据更新后的上下文信息进行所述待压缩报文头的处理。
8.根据权利要求4或5所述的方法,其特征在于,
当同一处理通道内不同处理阶段,连续接收的所述反馈包或者所述待压缩报文头为同一分组流时,则阻塞当前处理通道,等待前一个反馈包或者待压缩报文头完成上下文信息更新处理后,使用更新后的并且保存在所述反馈包缓存或者所述待压缩报文头缓存中的上下文信息,完成当前反馈包或者待压缩报文头的处理。
9.根据权利要求4或5所述的方法,其特征在于,
在读取上下文信息之前,所述反馈包缓存或者所述待压缩报文头缓存中存在待读取的所述上下文信息,则根据所述待读取的所述上下文信息进行进一步处理。
10.根据权利要求4或5所述的方法,其特征在于,
在读取上下文信息时,当前所述反馈包或者所述待压缩报文头的CID与上下文信息回写阶段的CID相同,则不将所述CID对应的上下文信息写回到上下文存储器中,并根据所述上下文信息对当前所述反馈包或者所述待压缩报文头进行进一步处理。
11.一种并行处理的装置,其特征在于,包括:
判断单元,用于判断接收到的数据包的类型;
分配单元,用于当所述数据包的类型为反馈包时,将所述反馈包置于反馈包处理通道中的反馈包队列进行排队;以及当所述数据包的类型为待压缩报文头时,将所述待压缩报文头置于待压缩报文头处理通道中的待压缩头队列进行排队;
反馈包处理单元,用于从所述反馈包处理通道接收所述反馈包,并解析所述反馈包获得反馈信息,根据所述反馈信息更新所述反馈包对应的上下文信息;
待压缩报文头处理单元,用于从所述待压缩报文头处理通道接收所述待压缩报文头,并解析所述待压缩报文头获得待压缩报文头信息,根据所述待压缩报文头信息,将所述待压缩报文头压缩并发送。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
反馈包缓存单元,用于存储接收到的所述反馈包到反馈包缓存中,以备所述反馈包处理单元进一步处理;
待压缩报文头缓存单元,用于存储接收到的所述待压缩报文头到在待压缩报文头缓存中,以备所述待压缩报文头处理单元进一步处理。
13.根据权利要求12所述的装置,其特征在于,
所述反馈包缓存内至少缓存三个所述反馈包;
所述待压缩报文头缓存内至少缓存三个所述待压缩报文头。
14.根据权利要求11所述的装置,其特征在于,所述反馈包处理单元包括:
上下文读取模块,用于读取所述反馈包并解析,获取所述反馈包的反馈信息与所述反馈包的上下文标识符CID;以及根据所述CID,获取所述CID对应的上下文存储地址,并读取上下文信息;
上下文更新模块,用于根据所述反馈信息更新所述上下文信息;
上下文回写模块,用于将更新的所述上下文信息回写到上下文存储器中所述上下文存储地址对应的缓存空间。
15.根据权利要求11所述的装置,其特征在于,所述待压缩报文头处理单元包括:
上下文读取模块,用于解析所述待压缩报文头获得待压缩报文头信息,并获取分配的CID,根据所述CID获取所述CID对应的上下文存储地址;当所述上下文存储地址存在对应的上下文信息时,则读取所述上下文信息,当所述上下文存储地址不存在对应的上下文信息时,则将所述待压缩报文头信息保存在所述待压缩报文头缓存中;
上下文压缩模块,用于根据所述待压缩报文头信息与所述上下文信息,将所述待压缩报文头压缩并发送;
上下文回写模块,用于将所述上下文信息回写到上下文存储器中所述上下文存储地址对应的缓存空间中。
16.根据权利要求11-15中任一项所述的装置,其特征在于,所述装置还包括:
监控单元,用于当反馈包处理通道与待压缩报文头处理通道同时对同一个上下文信息进行处理时,控制所述反馈包处理通道的优先级高于所述待压缩报文头处理通道的优先级。
17.根据权利要求16所述的方法,其特征在于,所述装置还包括:
阻塞单元,用于当不同处理通道内,进入压缩处理阶段的待压缩报文头的CID与进入更新阶段的反馈包的CID相同时,则阻塞待压缩报文头处理通道,等待反馈包更新完成后再根据更新后的上下文信息进行所述待压缩报文头的处理。
18.根据权利要求17所述的方法,其特征在于,
所述阻塞单元,用于当同一处理通道内不同处理阶段,连续接收的所述反馈包或者所述待压缩报文头为同一分组流时,则阻塞当前处理通道,等待前一个反馈包或者待压缩报文头完成上下文信息更新处理后,使用更新后的并且保存在所述反馈包缓存或者所述待压缩报文头缓存中的上下文信息,完成当前反馈包或者待压缩报文头的处理。
19.根据权利要求14或15所述的装置,其特征在于,所述装置还包括:
判断处理单元,用于在读取上下文信息之前,所述反馈包缓存或者所述待压缩报文头缓存中存在待读取的所述上下文信息,则根据所述待读取的所述上下文信息进行进一步处理。
20.根据权利要求19所述的装置,其特征在于,
所述判断处理单元还用于在读取上下文信息时,当前所述反馈包或者所述待压缩报文头的CID与上下文信息回写阶段的CID相同,则不将所述CID对应的上下文信息写回到上下文存储器中,并根据所述上下文信息对当前所述反馈包或者所述待压缩报文头进行进一步处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210169109.9A CN102694730B (zh) | 2012-05-28 | 2012-05-28 | 一种并行处理的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210169109.9A CN102694730B (zh) | 2012-05-28 | 2012-05-28 | 一种并行处理的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102694730A true CN102694730A (zh) | 2012-09-26 |
CN102694730B CN102694730B (zh) | 2014-12-03 |
Family
ID=46860019
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210169109.9A Active CN102694730B (zh) | 2012-05-28 | 2012-05-28 | 一种并行处理的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102694730B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103763188A (zh) * | 2014-01-22 | 2014-04-30 | 四川九洲空管科技有限责任公司 | 一种多类型报文实时处理方法及装置 |
CN103780507B (zh) * | 2014-02-17 | 2017-03-15 | 杭州华三通信技术有限公司 | 缓存资源的管理方法及装置 |
CN107547425A (zh) * | 2017-08-24 | 2018-01-05 | 深圳市盛路物联通讯技术有限公司 | 一种汇聚层数据传输方法及系统 |
CN108241507A (zh) * | 2016-12-26 | 2018-07-03 | 英特尔公司 | 管理压缩加速器中的状态数据 |
CN112769743A (zh) * | 2019-11-06 | 2021-05-07 | 大唐移动通信设备有限公司 | 一种报头压缩方法、装置及设备 |
CN112866125A (zh) * | 2019-11-26 | 2021-05-28 | 大唐移动通信设备有限公司 | 一种下行数据传输方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050017083A (ko) * | 2003-08-14 | 2005-02-21 | 삼성전자주식회사 | 헤더가 압축된 패킷을 전송하는 네트워크 시스템 및 그의제어방법 |
CN101364937A (zh) * | 2007-08-10 | 2009-02-11 | 华为技术有限公司 | 保持鲁棒性头标压缩机制通信连续的方法、系统 |
US20100208798A1 (en) * | 2004-06-01 | 2010-08-19 | Stmicroelectronics S.R.L. | Method and system for communicating video data in a packet-switched network, related network and computer program product therefor |
CN102055568A (zh) * | 2009-11-02 | 2011-05-11 | 中兴通讯股份有限公司 | 反馈报文处理方法及装置 |
CN102202347A (zh) * | 2010-03-27 | 2011-09-28 | 中兴通讯股份有限公司 | 稳健头压缩业务流处理方法及装置 |
CN102244894A (zh) * | 2010-05-13 | 2011-11-16 | 华为技术有限公司 | 头压缩机制实现方法、网元和系统 |
-
2012
- 2012-05-28 CN CN201210169109.9A patent/CN102694730B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050017083A (ko) * | 2003-08-14 | 2005-02-21 | 삼성전자주식회사 | 헤더가 압축된 패킷을 전송하는 네트워크 시스템 및 그의제어방법 |
US20100208798A1 (en) * | 2004-06-01 | 2010-08-19 | Stmicroelectronics S.R.L. | Method and system for communicating video data in a packet-switched network, related network and computer program product therefor |
CN101364937A (zh) * | 2007-08-10 | 2009-02-11 | 华为技术有限公司 | 保持鲁棒性头标压缩机制通信连续的方法、系统 |
CN102055568A (zh) * | 2009-11-02 | 2011-05-11 | 中兴通讯股份有限公司 | 反馈报文处理方法及装置 |
CN102202347A (zh) * | 2010-03-27 | 2011-09-28 | 中兴通讯股份有限公司 | 稳健头压缩业务流处理方法及装置 |
CN102244894A (zh) * | 2010-05-13 | 2011-11-16 | 华为技术有限公司 | 头压缩机制实现方法、网元和系统 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103763188A (zh) * | 2014-01-22 | 2014-04-30 | 四川九洲空管科技有限责任公司 | 一种多类型报文实时处理方法及装置 |
CN103763188B (zh) * | 2014-01-22 | 2016-08-31 | 四川九洲空管科技有限责任公司 | 一种多类型报文实时处理方法及装置 |
CN103780507B (zh) * | 2014-02-17 | 2017-03-15 | 杭州华三通信技术有限公司 | 缓存资源的管理方法及装置 |
CN108241507A (zh) * | 2016-12-26 | 2018-07-03 | 英特尔公司 | 管理压缩加速器中的状态数据 |
CN108241507B (zh) * | 2016-12-26 | 2024-01-30 | 英特尔公司 | 管理压缩加速器中的状态数据 |
CN107547425A (zh) * | 2017-08-24 | 2018-01-05 | 深圳市盛路物联通讯技术有限公司 | 一种汇聚层数据传输方法及系统 |
CN112769743A (zh) * | 2019-11-06 | 2021-05-07 | 大唐移动通信设备有限公司 | 一种报头压缩方法、装置及设备 |
CN112769743B (zh) * | 2019-11-06 | 2022-05-24 | 大唐移动通信设备有限公司 | 一种报头压缩方法、装置及设备 |
CN112866125A (zh) * | 2019-11-26 | 2021-05-28 | 大唐移动通信设备有限公司 | 一种下行数据传输方法及装置 |
CN112866125B (zh) * | 2019-11-26 | 2023-01-06 | 大唐移动通信设备有限公司 | 一种下行数据传输方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102694730B (zh) | 2014-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102694730B (zh) | 一种并行处理的方法及装置 | |
US8718098B2 (en) | Method for compressing and decompressing time stamp and equipment thereof | |
CN102300256B (zh) | 一种头压缩反馈信息的反馈方法和设备 | |
EP1523148A1 (en) | Header compression/decompression device and header compression/decompression method | |
US8094607B2 (en) | Method and system for saving bandwidth during broadcasting/multicasting | |
CN110494845A (zh) | 控制装置、程序更新系统、程序更新方法 | |
CN101197773B (zh) | 基于多链路的报文压缩发送和接收解压缩方法及系统 | |
CN104618961A (zh) | 应用于智能电网的单通道tcp/ip头压缩方法及系统 | |
CN106657291A (zh) | 数据传输方法、系统及电子设备 | |
CN103369593A (zh) | 一种压缩和解压缩以太网报文的方法及网元设备 | |
CN103795655A (zh) | 数据传输方法及装置 | |
CN107094144B (zh) | 基带帧的封装方法及解封装方法 | |
US11620250B2 (en) | Systems and methods for data transfer over a shared interface | |
CN104023007A (zh) | 一种数据流的发送和接收方法及其终端和系统 | |
JP5382812B2 (ja) | データ圧縮転送システム、伝送装置及びそれらに用いるデータ圧縮転送方法 | |
CN107819697A (zh) | 数据传输方法、交换机及数据中心 | |
CN105072057B (zh) | 一种用于网络数据传输的中间交换设备及其方法和系统 | |
CN100401671C (zh) | 一种文件传送方法 | |
CN1316748C (zh) | 使用请求-应答通信模式用于数据压缩的通信系统和方法 | |
US9559857B2 (en) | Preprocessing unit for network data | |
KR101682508B1 (ko) | 라우팅 장치 및 네트워크 장치 | |
CN112188562B (zh) | 中继基站的多播调度方法和装置、存储介质及电子装置 | |
CN107360594B (zh) | 一种信息处理方法及装置 | |
CN109981481B (zh) | 一种多现场保护的设计方法 | |
CN116633808B (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 |