[发明专利]一种数据包的并发处理方法及设备有效
申请号: | 201180001485.0 | 申请日: | 2011-08-26 |
公开(公告)号: | CN102395958A | 公开(公告)日: | 2012-03-28 |
发明(设计)人: | 王工艺;侯新宇;常胜;杨宝川 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02;G06F13/16;G06F5/06 |
代理公司: | 北京凯特来知识产权代理有限公司 11260 | 代理人: | 郑立明;孟丽娟 |
地址: | 518129 中国广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据包 并发 处理 方法 设备 | ||
技术领域
本发明涉及计算机技术领域,更具体的说,涉及一种数据包的并发处理方法及设备。
背景技术
目前,在ASIC(Application Specific Integrated Circuit,特殊应用集成电路)或者FPGA(Field-Programmable Gate Array,现场可编程门阵列)的设计中,经常需要处理各种各样协议规定的数据包,这些数据包通常具有两个共性:一是数据包长度不同;二是不同数据包可以不按照一定顺序来处理。
在硬件设计中,能否对这些协议数据包进行快速高效的处理,对系统的性能有很大影响。
目前:所有不同类型的数据包共享一个大的存储器,并针对不同的数据包建立各自对应的单向链表,将各自的消息类按按顺序串起来;同时建立一个地址池,所述地址池用于对共享存储器的地址进行维护,其中,用一个空闲链表将共享存储器中所有的空闲地址串起来,用于指示共享存储器中的空闲位置;其中,基于地址池对所有链表进行维护操作。
当有消息要写入共享存储器时,首先从地址池中的空闲链表头取出一个空闲地址作为写入共享存储器的地址,并将此空闲地址写入到地址池中对应消息类的链表尾;当有消息要读出共享存储器时,首先从地址池中对应消息类的链表头取出一个消息地址作为读出共享缓冲器的地址,并将此地址写入到地址池中的空闲链表尾。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
由于现有技术中所有链表的操作均是基于一个地址池作出的,由于地址池的端口有限,能够支持同时对地址池的双读双写,也就是说只能支持同时进行读取一个消息和写入一个消息的操作。当一个消息要写入共享存储器时,对地址池分别做一次读操作和写操作;当一个消息要读出共享存储器时,也会分别对地址池做一次读操作和写操作,因此,现有方案无法实现共享存储器中同时读取两个消息和写入两个消息,消息的读写速度受到极大的限制,从而影响系统的性能。
发明内容
本发明的目的是提供一种数据包的并发处理方法及设备,通过提高数据包的读写速度来提升系统性能。
本发明实施例一方面提供了一种数据包的并发处理方法,包括:
在地址池中采用至少两个单向空闲链表存储共享存储器的空闲地址,所述地址池用于存储共享存储器中所有的空闲地址;
获取所述共享存储器的消息类型,并根据所述共享存储器中的消息类型建立对应的地址先进先出队列FIFO;
在接收到要同时写入所述共享存储器的至少两个消息时,由所述至少两个单向空闲链表为所述至少两个消息分别提供写入共享存储器的空闲地址,并将分别与所述至少两个消息对应的所述地址更新到所述消息对应的地址FIFO中。
本发明实施例另一方面提供了一种数据包的并发处理设备,包括:
配置处理模块,用于采用至少两个单向空闲链表存储共享存储器的空闲地址,所述地址池用于存储共享存储器中所有的空闲地址;获取所述共享存储器的消息类型,并根据所述共享存储器中的消息类型建立对应的地址先进先出队列FIFO;
消息控制模块,用于在接收到要同时写入所述共享存储器的至少两个消息时,由所述配置处理模块配置的所述至少两个单向空闲链表为所述至少两个消息分别提供写入共享存储器的空闲地址,并将分别与所述至少两个消息对应的所述地址更新到所述消息对应的所述配置处理模块建立的所述地址FIFO中。
由上述本发明的实施例提供的技术方案可以看出,通过在地址池中采用至少两个单向空闲链表存储共享存储器的空闲地址;并针对所述共享存储器中的消息类型建立对应的地址先进先出队列FIFO;在接收到要同时写入所述共享存储器的至少两个消息时,两个单向空闲链表可以分别向两个消息提供写入共享存储器的地址,并将每个消息的写入地址更新到对应的地址FIFO中,解决了现有方案中只能支持同时读取和写入一个消息的技术问题,实现了共享存储器中对两个消息的同时读取和写入,能够提高消息的读写速度,从而有利于进一步提高系统的性能。
附图说明
图1为本发明实施例一种数据包的并发处理方法流程图;
图2为本发明实施例的一种应用场景图;
图3为本发明实施例的另一种应用场景图;
图4为本发明实施例一种数据包的并发处理设备结构示意图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201180001485.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:电源电路
- 下一篇:数据处理的方法和装置