一种多通道报文转发的方法技术

技术编号:11971715 阅读:70 留言:0更新日期:2015-08-28 01:30
本发明专利技术公开了一种多通道报文转发的方法,其具体实现过程为:报文首先进入多个输入通道,该输入通道为报文的始发端,控制报文的数量;多个输入通道内的报文输送到判别器,判别器判断该多通道输入的报文并行传输还是串行传输;当报文为并行传输,即为不同通道的输出报文时,直接将输入通道的报文传递给相应的输出通道;当报文为串行传输,即同一通道的输出报文时,将报文写入到串行通道中,由串行通道将报文转发到相应输出通道。该一种多通道报文转发的方法与现有技术相比,避免属于相同输出通道的报文串行传输而导致的报文长时间滞留串行通道,实用性强。

【技术实现步骤摘要】
一种多通道报文转发的方法
本专利技术涉及数据传输
,具体地说是一种实用性强、多通道报文转发的方法。
技术介绍
随着计算机的数据处理能力越来越强,处理器需要和Cache、内存、外设以及处理器之间交换的数据传输量越来越大,为了满足这种需求,近年来出现了PCIE、QPI等高速数据传输总线。在基于这种高速总线的接口上的一些应用,可以会导致整个总线系统的性能下降。传统方式上,多通道报文的转发通过并行输入通道写入到FIFO中,再从FIFO中转发到多输出通道的方式限制了数据的传输速率。基于此,现提出一种多通道报文转发的方法,通过使用该方法,将多个属于不同输出通道的报文的输入通道报文并行传输,多个属于相同输出通道的报文的输入通道报文串行传输,从而使数据传输速率明显提高。
技术实现思路
本专利技术的技术任务是针对以上不足之处,提供一种实用性强、多通道报文转发的方法。一种多通道报文转发的方法,其具体实现过程为:报文首先进入多个输入通道,该输入通道为报文的始发端,控制报文的数量;多个输入通道内的报文输送到判别器,判别器判断该多通道输入的报文并行传输还是串行传输;当报文为并行传输,即为不同通道的输出报文时,直接将输入通道的报文传递给相应的输出通道,这里的输出通道即为报文的接收端;当报文为串行传输,即同一通道的输出报文时,将报文写入到串行通道中,由串行通道将报文转发到相应输出通道。当串行通道中有数据驻留时,首先判断输入通道的报文类型:如果和串行通道将要转发的报文类型属于同一输出通道时,将输入通道的报文写入串行通道,而将串行通道的报文输出到输出通道中。所述判别器与输出通道之间还设置有数据缓冲器,当判别器判断多通道输入的报文为并行传输时,不同通道的报文发往不同通道对应的数据缓冲器,然后不同的数据缓冲器将报文直接转发到对应输出通道中。当输出通道数小于输入通道数,即串行通道被写满时,先中断输入通道报文的传输,串行通道被释放后,输入通道再开始传输数据。本专利技术的一种多通道报文转发的方法,具有以下优点:该专利技术的一种多通道报文转发的方法通过将多个属于不同输出通道的报文的输入通道报文并行传输,多个属于相同输出通道的报文的输入通道报文串行传输,该种串并共用的报文传输方式比传统方式的纯串行报文传输方式的速度提升了N倍(N为输入通道数和输出通道数中较小的值);避免属于相同输出通道的报文串行传输而导致的报文长时间滞留串行通道;设计了优先传输和串行通道清空后再传输两种方式来确保串行通道中的报文不会被死锁,且同时提高了报文传输的效率;实用性强,易于推广。附图说明附图1为经典的2-5通道报文转发结构图。附图2为本专利技术的方法改进后的2-5通道报文转发结构图。具体实施方式下面结合附图和具体实施例对本专利技术作进一步说明。一种多通道报文转发的方法,将多个属于不同输出通道的报文的输入通道报文并行传输,多个属于相同输出通道的报文的输入通道报文串行传输,本专利技术更适用于输入通道数小于输出通道数的系统,对于输出通道数大于输入通道数的系统,需要在成本和性能这两者之间进行权衡。如附图1、图2所示,其具体实现过程为:报文首先进入多个输入通道,该输入通道为报文的始发端,控制报文的数量;多个输入通道内的报文输送到判别器,判别器判断该多通道输入的报文并行传输还是串行传输;当报文为并行传输,即为不同通道的输出报文时,直接将输入通道的报文传递给相应的输出通道;当报文为串行传输,即同一通道的输出报文时,将报文写入到串行通道中,由串行通道将报文转发到相应输出通道。上述步骤中提到的输入通道为报文的始发端,用于控制报文的数量;输出通道为报文的接收端,接收来自输入通道某一特定种类的报文;串行通道为独立于输入、输出通道,用以存储一定数量报文的FIFO;判别器为判断多通道输入的报文并行传输还是串行传输。本专利技术是通过判断报文的种类,如果是不同通道的输出报文,可以直接将输入通道的报文传递给相应的输出通道,如果是同一通道的输出报文,则将报文写入到串行通道中去,由串行通道将报文转发到相应输出通道。串行通道转发报文时,如果输入报文和串行通道转发的报文不属于同一输出通道,则不影响输入通道报文的转发。所以,在特定场景下,这种串并共用的报文传输方式对传输速度的增益不止于最小通道数。为了保证报文不长期驻留串行通道且先传输的报文可以及时处理,提出了优先传输的方法。即当串行通道中有数据驻留时,会判断输入通道的报文类型,如果和串行通道将要转发的报文类型属于同一输出通道时,会将输入通道的报文写入串行通道,而将串行通道的报文输出到输出通道中。在输出通道数小于输入通道数时,串行通道的负载量增大,甚至有可以导致串行通道死锁的情况。因此,本专利技术提出了一种当串行通道被写满时,先中断输入通道报文的传输,串行通道被释放后,输入通道再开始传输数据。实施例:如附图1所示的经典的2输入5输出通道报文转发结构图,图中,2输入通道中的两个通道以一定的规则得到串行的通道的控制权,将报文写入串行通道中,再由串行通道将报文转发到对应输出通道。这种传输方式易于实现,且不易出错,但这种方式将多条输入通道转换成了一条串行通道转发报文,所以,随着输入通道数量的增加,大大影响了数据的传输速率。附图2为改进后的2输入通道5输出通道的报文转发结构图,通道1和通道2在传输时,会先进入判别器中判断报文的种类,如果通道1和通道2的报文属于同一输出通道,则先把通道1和通道2中的报文写入到串行通道中去。如果通道1和通道2中的报文不属于同一输出通道,则通道1的报文会发往通道1的数据缓冲器,通道2的报文会发往通道2的数据缓冲器,然后,通道1和通道2的数据缓冲器会将报文直接转发到对应输出通道中。本专利技术中优先传输串行通道中的报文优先转发,如图2所示,在多输入报文入到转发器中时,先会判别每个输入通道的报文与串行通道中将要传输的报文是否属于同一输出通道,如果属于同一输出通道,比如通道1的报文与串行通道中的报文属于同一输出报文,会优先转发串行通道中的报文,而通道1中的报文会传输到串行通道中去,而不会传输到通道1缓冲器中。当图2中的串行通道在特定的场景下被写满后,会控制输入通道1和通道2暂停发送报文,直到串行通道被清空后,通道1和通道2才会继续发送报文,这种方式有效的避免了串行通道被死锁。本专利技术提供的一种多通道报文转发的方法,将多个属于不同输出通道的报文的输入通道报文并行传输,多个属于相同输出通道的报文的输入通道报文串行传输的传输系统将数据传输速率明显提高,通过判断多输入通道的报文类型,从而选择数据并行传输或者串行传输来提高数据传输的速率,将对总线的速度影响降到最低。同时,提出了优先传输和串行通道注满后清空再传输两种方式来解决数据长期驻留串行通道而不能处理的问题。同时兼顾数据传输的速率和数据处理的效率,实用性强。上述具体实施方式仅是本专利技术的具体个案,本专利技术的专利保护范围包括但不限于上述具体实施方式,任何符合本专利技术的一种多通道报文转发的方法的权利要求书的且任何所述
的普通技术人员对其所做的适当变化或替换,皆应落入本专利技术的专利保护范围。本文档来自技高网
...
一种多通道报文转发的方法

【技术保护点】
一种多通道报文转发的方法,其特征在于,其具体实现过程为:报文首先进入多个输入通道,该输入通道为报文的始发端,控制报文的数量;多个输入通道内的报文输送到判别器,判别器判断该多通道输入的报文并行传输还是串行传输;当报文为并行传输,即为不同通道的输出报文时,直接将输入通道的报文传递给相应的输出通道,这里的输出通道即为报文的接收端;当报文为串行传输,即同一通道的输出报文时,将报文写入到串行通道中,由串行通道将报文转发到相应输出通道。

【技术特征摘要】
1.一种多通道报文转发的方法,其特征在于,其具体实现过程为:报文首先进入多个输入通道,该输入通道为报文的始发端,控制报文的数量;多个输入通道内的报文输送到判别器,判别器判断该多通道输入的报文并行传输还是串行传输;当报文为并行传输,即为不同通道的输出报文时,直接将输入通道的报文传递给相应的输出通道,这里的输出通道即为报文的接收端;当报文为串行传输,即同一通道的输出报文时,将报文写入到串行通道中,由串行通道将报文转发到相应输出通道。2.根据权利要求1所述的一种多通道报文转发的方法,其特征在于,当串行通道中有数据驻留时,首先判断输入通道的报文类...

【专利技术属性】
技术研发人员:康松松屈斌王振江
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1