[发明专利]多通道数据处理方法及装置有效
申请号: | 200710118610.1 | 申请日: | 2007-07-10 |
公开(公告)号: | CN101094176A | 公开(公告)日: | 2007-12-26 |
发明(设计)人: | 王彬;刘强;林晖;加玉涛 | 申请(专利权)人: | 杭州华三通信技术有限公司 |
主分类号: | H04L12/56 | 分类号: | H04L12/56 |
代理公司: | 北京德琦知识产权代理有限公司 | 代理人: | 宋志强;麻海明 |
地址: | 310053浙江省杭州市高新技术产业*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 通道 数据处理 方法 装置 | ||
技术领域
本发明涉及数据通信技术,尤其涉及一种多通道数据处理方法及装置。
背景技术
随着数据通信技术的发展,多通道数据处理的应用也越来越广泛。所谓多通道数据处理是指,从多个入通道接收报文,然后通过出通道将报文发送出去。在传统的多通道数据处理逻辑结构中,入通道和出通道是对应的。比如,参见图1所示的多通道数据处理逻辑结构示意图,入口侧共有两个数据通道RX0和RX1,出口侧也有两个数据通道TX0和TX1。其中,写缓存模块WR用于从入口侧的两个数据通道RX0和RX1接收报文,将收到的报文写入缓存模块中,如写入同步动态随机存储器SDRAM中,并在接收到的报文为包尾时,将该包信息如包长度、包缓存地址等写入队列管理模块QM;QM中包括两个包信息队列FIFO0和FIFO1,分别用于存储WR模块写入的来自RX0通道和RX1通道的报文的包信息;读数据模块RD0和RD1分别用于从QM中的FIFO0和FIFO1队列读取包信息,根据该包信息从缓存模块中读取报文,并分别将读出的报文发送给发送模块TX0和TX1;TX0和TX1用于通过自身连接的出通道将收到的报文发送出去。在图1中,缓存模块需要处理三个端口的请求仲裁:WR模块的写端口和两个RD模块的读端口,缓存模块的有效带宽在这三个端口之间分配。RD模块的数目越多,各个RD模块所分得的可以访问缓存模块的带宽就越少。
对于入通道报文允许交织、而出通道报文不允许交织的情况,即来自入通道的报文可以不按照整包来传输、而出通道却必须按照整包来发送报文的情况,上述多通道数据处理方法会耗费较多的缓存资源。比如,在图1中,假设RX0和RX1从10G带宽的SPI4接口接收数据;TX0和TX1分别对应一个10G带宽的XAUI接口。如果缓存模块的有效带宽为20G,则每个RD模块平均可以获得约7G的访问带宽。但是,由于TX0和TX1是以10G的速率在发包,其发送速率要大于RD模块从缓存模块中读出报文的速率7G,因此,为了保证TX0和TX1在最恶劣的情况下也能不断流地一次发送完一个完整的数据包,TX0和TX1就需要较大的缓存来存储RD模块读出的报文,直到整个包都被读出后,再将缓存中的整包按照10G的速率一次发送出去。
可见,在现有的多通道数据处理方法中,每个包信息队列都对应一个读数据模块,包信息队列的个数越多,读数据模块的个数相应也就越多。但是,由于缓存模块的有效带宽有限,且读数据模块的数量越多,各个读数据模块所能获得的可以访问缓存模块的带宽就越少,因此,在读数据模块很多、读数据模块从缓存模块中读取报文的速率达不到发送模块发送报文的速率的情况下,为了保证发送模块能够不断流地一次发送完一个完整的数据包,各个发送模块都需要较大的缓存来存储读数据模块从缓存模块中读出的报文,直到整个包都被读出为止。对于发送模块数量较多的情形,这种为各个发送模块都配置较大缓存的做法会耗费大量宝贵的缓存资源。并且,为每个包信息队列分别设置一个读数据模块和一个发送模块,会消耗大量的逻辑资源。
发明内容
有鉴于此,本发明的主要目的在于提供一种多通道数据处理方法及装置,以节省资源。
为达到上述目的,本发明提供的多通道数据处理方法如下:
对队列管理模块中的包信息队列进行分组,并为每组包信息队列分别设置一个读数据模块和一个对应的发送模块,其中,所分成的组数小于包信息队列的个数;
所述读数据模块从自身所对应组中的各个包信息队列中轮流读取包信息,根据读取的包信息读出报文,并将读出的报文发送给对应的发送模块;
发送模块收到读数据模块发送来的报文后,将收到的报文通过与该报文的入通道相对应的出通道发送出去。
其中,所述对队列管理模块中的包信息队列进行分组包括:
将队列管理模块中的所有包信息队列分成一组。
所述对队列管理模块中的包信息队列进行分组包括:
将队列管理模块中的包信息队列至少分成两组,且其中至少有一组中包括至少两个包信息队列。
所述根据读取的包信息读出报文包括:
读数据模块根据读取的包信息从缓存模块中读出报文。
所述读数据模块将读出的报文发送给对应的发送模块还包括:读数据模块将该报文的入通道所对应的出通道信息发送给发送模块;
所述发送模块将收到的报文通过与该报文的入通道相对应的出通道发送出去包括:发送模块将收到的报文通过与收到的出通道信息相对应的出通道发送出去。
当所分成的组数大于1时,各个读数据模块采用并行工作方式。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州华三通信技术有限公司,未经杭州华三通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710118610.1/2.html,转载请声明来源钻瓜专利网。