消除头阻塞的数据发送方法和装置的制作方法

文档序号:7768347阅读:108来源:国知局
专利名称:消除头阻塞的数据发送方法和装置的制作方法
技术领域
本发明涉及通信技术领域,尤其是涉及一种消除头阻塞的数据发送方法和装置。
背景技术
现有的交换网络一般包括交换接入芯片和交换转发芯片两部分。源交换接入芯片上行侧负责信元的封装和调度发送,通过几十个高速串行接口把信元送到交换转发芯片;再由交换转发芯片通过高速串行接口将信元转发到目的交换接入芯片下行侧,以完成数据交换的过程。现有数据交换过程中,源交换接入芯片上行侧封装信元后,将单播信元和多播信元分开缓存;信元发送和调度时,将缓存的单、多播信元调度出来,并将其发送到位宽转换缓存中进行混合缓存;根据调度出来的信元中的单播目的ID或者多播组ID,查询路由表,得到可以正常向交换转发芯片发送单播或多播信元的高速串行接口链路集合,即可达链路。然后根据可达链路、单播链路流控、多播链路流控以及链路状态,构造可用链路,即当前可通过构造好的可用链路将信元发送到交换转发芯片。在上述现有的方法中,调度出来的单播信元和多播信元根据调度先后顺序通过FIFO的方式进行位宽转换缓存,在对位宽转换后信元调度时,根据FIFO先入先出的原理进行调度,即若在前进行位宽转换缓存的信元没有调度出来,则在后进行位宽转换缓存的信元无法调度出来,从而导致数据转发过程的头阻塞。

发明内容
本发明的主要目的在于提供一种消除头阻塞的数据发送方法和装置,以解决因单、多播信元共用信元发送通道时,导致头阻塞的问题。本发明提出一种消除头阻塞的数据发送方法,其包括步骤选择信元发送链路;将所选信元发送链路对应的信元进行位宽转换;将位宽转换后的信元从所选信元发送链路进行发送。优选地,所述选择信元发送链路的步骤具备包括根据信元的ID地址查找信元可达链路;根据所述信元可达链路中的各信元链路流控情况和各链路状态,查找信元可用链路;从所述信元可用链路中选择其中之一为信元发送链路。优选地,所述信元可用链路包括单播信元可用链路和/或多播信元可用链路;所述信元发送链路为单播信元发送链路或多播信元发送链路。优选地,所述从所述信元可达链路中选择其中之一为信元发送链路具体包括当信元可用链路包括单播信元可用链路和多播信元可用链路时,判断前次信元发送链路为单播信元发送链路或为多播信元发送链路;
当前次信元发送链路为单播信元发送链路,则从多播信元可用链路中选择其中之一为多播信元发送链路;当前次信元发送链路为多播信元发送链路,则从单播信元可用链路中选择其中之一为单播信元发送链路。优选地,所述从所述信元可达链路中选择其中之一为信元发送链路具体包括当信元可用链路为单播信元可用链路时,则从该单播信元可用链路中选择其中之一为单播信元发送链路;当信元可用链路为多播信元可用链路,则从该多播信元可用链路中选择其中之一为多播信元发送链路。本发明另提出一种消除头阻塞的数据发送装置,其包括选择模块,用于选择信元发送链路;位宽转换模块,用于将所选信元发送链路对应的信元进行位宽转换;发送模块,用于将位宽转换后的信元从所选信元发送链路进行发送。优选地,所述选择模块包括第一查找子模块,用于根据信元的ID地址查找信元可达链路;第二查找子模块,用于根据所述信元可达链路中的各信元链路流控情况和各链路状态,查找信元可用链路;选择子模块,用于从所述信元可用链路中选择其中之一为信元发送链路。优选地,所述信元可用链路包括单播信元可用链路和/或多播信元可用链路;所述信元发送链路为单播信元发送链路或多播信元发送链路。优选地,所述选择子模块,具体用于当信元可用链路包括单播信元可用链路和多播信元可用链路时,判断前次信元发送链路为单播信元发送链路或为多播信元发送链路;当前次信元发送链路为单播信元发送链路,则从多播信元可用链路中选择其中之一为多播信元发送链路;以及当前次信元发送链路为多播信元发送链路,则从单播信元可用链路中选择其中之一为单播信元发送链路。优选地,所述选择子模块,具体还用于当信元可用链路为单播信元可用链路时,则从该单播信元可用链路中选择其中之一为单播信元发送链路;以及当信元可用链路为多播信元可用链路,则从该多播信元可用链路中选择其中之一为多播信元发送链路。由上可知,本发明提供的消除头阻塞的数据发送方法和装置,通过为信元选择信元发送链路,将信元进行位宽转换,并将位宽转换后的信元从所选的信元发送链路进行发送;有效地解决了因单、多播信元共用信元发送通道时,导致头阻塞的问题。


图1是本发明的消除头阻塞的数据发送方法一实施例的流程图;图2是本发明的消除头阻塞的数据发送方法实施例的另一流程图;图3是本发明的消除头阻塞的数据发送装置一实施例的结构示意图;图4是本发明的消除头阻塞的数据发送装置实施例的另一结构示意图。本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施例方式应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。参见图1,提出本发明的消除头阻塞的数据发送方法一实施例,其包括步骤步骤S101、选择信元发送链路;步骤S102、将所选信元发送链路对应的信元进行位宽转换;步骤S103、将位宽转换后的信元从所选信元发送链路进行发送。上述消除头阻塞的数据发送装置100实施例中,位宽转换之前其信元的位宽很大,如SA40为1152bit,若共N条发送链路,则需将N*1152条布线送到链路层,同时布线时不同链路之间不同数据bit会出现交叉现象,布线层次平均达到N-I层,布线难度大。另外,发送到高速串行接口的信元位宽只有20bit,信元发送链路无法直接将位宽较大的信元进行发送,因此在发送信元之前必须通过位宽转换模块将位宽大的信元转换为多个小位宽的信元,然后将多个小位宽的信元分多个周期,通过所选信元发送链路进行发送。本实施例,通过先为信元选择信元发送链路,再将该信元进行位宽转换,然后将位宽转换后的信元从所选的信元发送链路进行发送;其中信元包括单播信元和/或多播信元,有效地解决了因单、多播信元共用信元发送通道时,导致头阻塞的问题。即有效地解决了现有技术中,因单播、多播信元通过FIFO方式进行位宽转换缓存,在对位宽转换后信元调度时,需根据FIFO原理进行调度,在前缓存的信元没调度出来,在后缓存的信元无法调度,导致头阻塞的问题。进一步地,参见图2、上述消除头阻塞的数据发送方法实施例中,所述选择信元发送链路的步骤具备包括步骤S201、根据信元的ID地址查找信元可达链路;步骤S202、根据所述信元可达链路中的各信元链路流控情况和各链路状态,查找信元可用链路;步骤S203、从所述信元可用链路中选择其中之一为信元发送链路。进一步地,上述消除头阻塞的数据发送方法实施例中,所述信元可用链路包括单播信元可用链路和/或多播信元可用链路;所述信元发送链路为单播信元发送链路或多播信元发送链路。上述消除头阻塞的数据发送方法实施例中,单播信元对应有单播信元ID地址、单播信元可达链路和单播信元可用链路。同理多播信元对应有多播信元ID地址、多播信元可达链路和多播信元可用链路。本上述消除头阻塞的数据发送方法实施例中,单播信元、单播信元ID地址、多播信元和多播信元ID地址分别单独缓存。其中,单播信元与单播信元ID地址一一对应;多播信元与多播信元ID地址一一对应。上述消除头阻塞的数据发送方法实施例的具体过程如下根据单播信元ID地址查找对应的单播信元可达链路;根据所述单播信元可达链路中的各单播信元链路流控情况和各链路状态,查找单播信元可用链路。和/或,根据多播信元ID地址查找对应的多播信元可达链路;根据所述多播信元可达链路中的各多播信元链路流控情况和各链路状态,查找多播信元可用链路。然后根据查找到的单播信元可用链路和/或多播信元可用链路,从单播信元可用链路中选择其中之一为单播信元发送链路;或者,从多播信元可用链路中选择其中之一为多播信元发送链路。以上所述的链路状态为忙碌状态或空闲状态,忙碌状态的链路不可用,空闲状态的链路可用。上述根据所述信元可达链路中的各信元链路流控情况和各链路状态,查找信元可用链路的步骤具体为查找多播信元可达链路中所有链路的多播流控情况和所有链路状态,找出被多播流控的链路和处于忙碌状态的链路,其余的则为多播可用链路;和/或,查找单播信元可达链路中所有链路的单播流控情况和所有链路状态,找出被单播流控的链路和处于忙碌状态的链路,其余的则为单播可用链路。进一步地,上述消除头阻塞的数据发送方法实施例中,所述从所述信元可达链路中选择其中之一为信元发送链路具体包括如下处理当信元可用链路包括单播信元可用链路和多播信元可用链路时,判断前次信元发送链路为单播信元发送链路或为多播信元发送链路;当前次信元发送链路为单播信元发送链路,则从多播信元可用链路中选择其中之一为多播信元发送链路;当前次信元发送链路为多播信元发送链路,则从单播信元可用链路中选择其中之一为单播信元发送链路。进一步地,上述消除头阻塞的数据发送方法实施例中,所述从所述信元可达链路中选择其中之一为信元发送链路具体包括如下处理当信元可用链路为单播信元可用链路时,则从该单播信元可用链路中选择其中之一为单播信元发送链路;当信元可用链路为多播信元可用链路,则从该多播信元可用链路中选择其中之一为多播信元发送链路。进一步地,在上述的从单播信元可用链路中选择其中之一为单播信元发送链路之后还包括如下处理记录该单播信元发送链路为忙碌状态,直到所有的其他单播信元可用链路都被选为单播信元发送链路,且已将单播信元通过该单播信元发送链路发送出去,即该单播信元发送链路处于空闲状态,记录该单播信元发送链路为空闲状态。以使所有的所述单播信可用链路在一个轮询周期内都有机会被选择,从而可实现各个单播信元可用链路的负载均衡。同理,在上述的从多播信元可用链路中选择其中之一为多播信元发送链路之后还包括如下处理记录该多播信元发送链路为忙碌状态,直到所有的其他多播信元可用链路都被选为多播信元发送链路,且已将多播信元通过该多播信元发送链路发送出去,即该多播信元发送链路处于空闲状态,记录该多播信元发送链路为空闲状态。以使所有的所述多播信可用链路在一个轮询周期内都有机会被选择,从而可实现各个多播信元可用链路的负载均衡。参见图3,提出本发明的消除头阻塞的数据发送装置100 —实施例,其包括选择模块110、位宽转换模块120和发送模块130。其中,选择模块110,用于选择信元发送链路。 位宽转换模块120,用于将所选信元发送链路对应的信元进行位宽转换。发送模块130,用于将位宽转换后的信元从所选信元发送链路进行发送。上述消除头阻塞的数据发送装置100实施例中,位宽转换之前其信元的位宽很大,如SA40为1152bit,若共N条发送链路,则需将N*1152条布线送到链路层,同时布线时不同链路之间不同数据bit会出现交叉现象,布线层次平均达到N-I层,布线难度大。另外,发送到高速串行接口的信元位宽只有20bit,信元发送链路无法直接将位宽较大的信元进行发送,因此在发送信元之前必须通过位宽转换模块将位宽大的信元转换为多个小位宽的信元,然后将多个小位宽的信元分多个周期,通过所选信元发送链路进行发送。上述消除头阻塞的数据发送装置100实施例,通过先为信元选择信元发送链路, 再将该信元进行位宽转换,然后将位宽转换后的信元从所选的信元发送链路进行发送;其中信元包括单播信元和/或多播信元,有效地解决了因单、多播信元共用信元发送通道时, 导致头阻塞的问题。即有效地解决了现有技术中,因单播、多播信元通过FIFO方式进行位宽转换缓存,在对位宽转换后信元调度时,需根据FIFO原理进行调度,在前缓存的信元没调度出来,在后缓存的信元无法调度,导致头阻塞的问题。进一步地,参见图4,上述消除头阻塞的数据发送装置100 —实施例中,所述选择模块Iio包括第一查找子模块111、第二查找子模块112和选择子模块113。其中,第一查找子模块111,用于根据信元的ID地址查找信元可达链路。第二查找子模块112,用于根据所述信元可达链路中的各信元链路流控情况和各链路状态,查找信元可用链路。选择子模块113,用于从所述信元可用链路中选择其中之一为信元发送链路。进一步地,上述消除头阻塞的数据发送装置100实施例中,所述信元可用链路包括单播信元可用链路和/或多播信元可用链路;所述信元发送链路为单播信元发送链路或多播信元发送链路。上述消除头阻塞的数据发送装置100实施例中,单播信元对应有单播信元ID地址、单播信元可达链路和单播信元可用链路。同理多播信元对应有多播信元ID地址、多播信元可达链路和多播信元可用链路。上述消除头阻塞的数据发送装置100实施例中,单播信元、单播信元ID地址、多播信元和多播信元ID地址分别单独缓存。其中,单播信元与单播信元ID地址一一对应;多播信元与多播信元ID地址一一对应。上述消除头阻塞的数据发送装置100实施例的具体过程如下第一查找子模块 111根据单播信元ID地址查找对应的单播信元可达链路;第二查找子模块112根据所述单播信元可达链路中的各单播信元链路流控情况和各链路状态,查找单播信元可用链路。和 /或,第一查找子模块111根据多播信元ID地址查找对应的多播信元可达链路;第二查找子模块112根据所述多播信元可达链路中的各多播信元链路流控情况和各链路状态,查找多播信元可用链路。然后选择子模块113根据查找到的单播信元可用链路和/或多播信元可用链路,从单播信元可用链路中选择其中之一为单播信元发送链路;或者,从多播信元可用链路中选择其中之一为多播信元发送链路。以上所述的链路状态为忙碌状态或空闲状态,忙碌状态的链路不可用,空闲状态的链路可用。上述根据所述信元可达链路中的各信元链路流控情况和各链路状态,查找信元可用链路的步骤具体为查找多播信元可达链路中所有链路的多播流控情况和所有链路状态,找出被多播流控的链路和处于忙碌状态的链路,其余的则为多播可用链路;和/或,查找单播信元可达链路中所有链路的单播流控情况和所有链路状态,找出被单播流控的链路和处于忙碌状态的链路,其余的则为单播可用链路。进一步地,上述消除头阻塞的数据发送装置100 —实施例中,所述选择子模块 113,具体用于当信元可用链路包括单播信元可用链路和多播信元可用链路时,判断前次信元发送链路为单播信元发送链路或为多播信元发送链路;当前次信元发送链路为单播信元
8发送链路,则从多播信元可用链路中选择其中之一为多播信元发送链路;以及当前次信元发送链路为多播信元发送链路,则从单播信元可用链路中选择其中之一为单播信元发送链路。进一步地,上述消除头阻塞的数据发送装置100实施例中,所述选择子模块113, 具体还用于当信元可用链路为单播信元可用链路时,则从该单播信元可用链路中选择其中之一为单播信元发送链路;以及当信元可用链路为多播信元可用链路,则从该多播信元可用链路中选择其中之一为多播信元发送链路。进一步地,上述选择子模块113还用于在上述的从单播信元可用链路中选择其中之一为单播信元发送链路之后,记录该单播信元发送链路为忙碌状态;以及在所有的其他单播信元可用链路都被选为单播信元发送链路,且已将单播信元通过该单播信元发送链路发送出去,即该单播信元发送链路处于空闲状态,记录该单播信元发送链路为空闲状态。以使所有的所述单播信可用链路在一个轮询周期内都有机会被选择,从而可实现各个单播信元可用链路的负载均衡。同理,上述选择子模块113还用于在上述的从多播信元可用链路中选择其中之一为多播信元发送链路之后,记录该多播信元发送链路为忙碌状态;以及在所有的其他多播信元可用链路都被选为多播信元发送链路,且已将多播信元通过该多播信元发送链路发送出去,即该多播信元发送链路处于空闲状态,记录该多播信元发送链路为空闲状态。以使所有的所述多播信可用链路在一个轮询周期内都有机会被选择,从而可实现各个多播信元可用链路的负载均衡。应当理解的是,以上仅为本发明的优选实施例,不能因此限制本发明的专利范围, 凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
权利要求
1.一种消除头阻塞的数据发送方法,其特征在于,包括步骤选择信元发送链路;将所选信元发送链路对应的信元进行位宽转换;将位宽转换后的信元从所选信元发送链路进行发送。
2.根据权利要求1所述的消除头阻塞的数据发送方法,其特征在于,所述选择信元发送链路的步骤具备包括根据信元的ID地址查找信元可达链路;根据所述信元可达链路中的各信元链路流控情况和各链路状态,查找信元可用链路;从所述信元可用链路中选择其中之一为信元发送链路。
3.根据权利要2所述的消除头阻塞的数据发送方法,其特征在于,所述信元可用链路包括单播信元可用链路和/或多播信元可用链路;所述信元发送链路为单播信元发送链路或多播信元发送链路。
4.根据权利要求3所述的消除头阻塞的数据发送方法,其特征在于,所述从所述信元可达链路中选择其中之一为信元发送链路具体包括当信元可用链路包括单播信元可用链路和多播信元可用链路时,判断前次信元发送链路为单播信元发送链路或为多播信元发送链路;当前次信元发送链路为单播信元发送链路,则从多播信元可用链路中选择其中之一为多播信元发送链路;当前次信元发送链路为多播信元发送链路,则从单播信元可用链路中选择其中之一为单播信元发送链路。
5.根据权利要求3所述的消除头阻塞的数据发送方法,其特征在于,所述从所述信元可达链路中选择其中之一为信元发送链路具体包括当信元可用链路为单播信元可用链路时,则从该单播信元可用链路中选择其中之一为单播信元发送链路;当信元可用链路为多播信元可用链路,则从该多播信元可用链路中选择其中之一为多播信元发送链路。
6.一种消除头阻塞的数据发送装置,其特征在于,包括选择模块,用于选择信元发送链路;位宽转换模块,用于将所选信元发送链路对应的信元进行位宽转换;发送模块,用于将位宽转换后的信元从所选信元发送链路进行发送。
7.根据权利要求6所述的消除头阻塞的数据发送装置,其特征在于,所述选择模块包括第一查找子模块,用于根据信元的ID地址查找信元可达链路;第二查找子模块,用于根据所述信元可达链路中的各信元链路流控情况和各链路状态,查找信元可用链路;选择子模块,用于从所述信元可用链路中选择其中之一为信元发送链路。
8.根据权利要求7所述的消除头阻塞的数据发送装置,其特征在于,所述信元可用链路包括单播信元可用链路和/或多播信元可用链路;所述信元发送链路为单播信元发送链路或多播信元发送链路。
9.根据权利要求8所述的消除头阻塞的数据发送装置,其特征在于,所述选择子模块,具体用于当信元可用链路包括单播信元可用链路和多播信元可用链路时,判断前次信元发送链路为单播信元发送链路或为多播信元发送链路;当前次信元发送链路为单播信元发送链路,则从多播信元可用链路中选择其中之一为多播信元发送链路;以及当前次信元发送链路为多播信元发送链路,则从单播信元可用链路中选择其中之一为单播信元发送链路。
10.根据权利要求8所述的消除头阻塞的数据发送装置,其特征在于,所述选择子模块,具体还用于当信元可用链路为单播信元可用链路时,则从该单播信元可用链路中选择其中之一为单播信元发送链路;以及当信元可用链路为多播信元可用链路,则从该多播信元可用链路中选择其中之一为多播信元发送链路。
全文摘要
本发明公开了一种消除头阻塞的数据发送方法和装置,消除头阻塞的数据发送方法如下选择信元发送链路;将所选信元发送链路对应的信元进行位宽转换;将位宽转换后的信元从所选信元发送链路进行发送。本发明提供的消除头阻塞的数据发送方法和装置,通过为信元选择信元发送链路,将信元进行位宽转换,并将位宽转换后的信元从所选的信元发送链路进行发送;有效地解决了因单、多播信元共用信元发送通道时,导致头阻塞的问题。
文档编号H04L12/56GK102571529SQ20101058226
公开日2012年7月11日 申请日期2010年12月10日 优先权日2010年12月10日
发明者何开江, 赖伟, 黄炜 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1