Document
拖动滑块完成拼图
首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种Interlaken切包和调度方法及装置 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:深圳市中兴微电子技术有限公司

摘要:本发明实施例公开了一种Interlaken切包和调度方法及装置,该方法包括:接收由上游至少一个端口发送的数据包,并分别对每个上游端口对应的数据包进行切包处理,获取每个上游端口对应的切片数据;从预设的Interlaken接口组中获取每个上游端口对应的接口;其中,所述Interlaken接口组包含至少两个Interlaken接口;将所述每个上游端口对应的切片数据调度到所述每个上游端口对应的Interlaken接口;通过所述每个上游端口对应的Interlaken接口将所述每个上游端口对应的切片数据进行发送。

主权项:一种Interlaken切包和调度方法,其特征在于,所述方法包括:接收由上游至少一个端口发送的数据包,并分别对每个上游端口对应的数据包进行切包处理,获取每个上游端口对应的切片数据;从预设的Interlaken接口组中获取每个上游端口对应的接口;其中,所述Interlaken接口组包含至少两个Interlaken接口;将所述每个上游端口对应的切片数据调度到所述每个上游端口对应的Interlaken接口;通过所述每个上游端口对应的Interlaken接口将所述每个上游端口对应的切片数据进行发送。

全文数据:一种InterIaken切包和调度方法及装置技术领域[0001]本发明涉及Interlaken调度的集成电路领域,尤其涉及一种Interlaken切包和调度方法及装置。背景技术[0002]随着56Gbps的串行器解串器(SERDES,SerializerDeserializer的推出,大数据、多端口的数据传输,以及28Gbps的SERDES的广泛应用和Interlaken接口的灵活性和易用性,催生了Interlaken接口在背板中被大量使用。而现有技术中所设计的InterIaken接口受限于数据位宽最大只能每秒钟传输200G至300G比特的数据,从而无法满足400Gbps甚至更高的600Gbps的接口传输。发明内容[0003]为解决上述技术问题,本发明实施例期望提供一种Interlaken切包和调度方法及装置,旨在将原有Interlaken接口扩展复用为多个Interlaken接口,并将上游至少一个端口发送的数据包分别调度到每个上游端口对应的Interlaken接口,从而提高数据传输的速率。[0004]本发明的技术方案是这样实现的:[0005]第一方面,本发明实施例提供了一种InterIaken切包和调度方法,所述方法包括:[0006]接收由上游至少一个端口发送的数据包,并分别对每个上游端口对应的数据包进行切包处理,获取每个上游端口对应的切片数据;[0007]从预设的Interlaken接口组中获取每个上游端口对应的接口;其中,所述Interlaken接口组包含至少两个Interlaken接口;[0008]将所述每个上游端口对应的切片数据调度到所述每个上游端口对应的Interlaken接口;[0009]通过所述每个上游端口对应的Interlaken接口将所述每个上游端口对应的切片数据进行发送。[0010]在上述方案中,所述接收由上游至少一个端口发送的数据包,并分别对每个上游端口对应的数据包进行切包处理,获取每个上游端口对应的切片数据,具体包括:[0011]接收由上游至少一个端口发送的数据包,并分别获取每个上游端口对应的数据包的包描述信息;其中,所述包描述信息包括包头、包尾和包长度信息;[0012]根据预设的轮询调度表获取当前待调度端口的端口标识,并根据所述当前待调度端口的端口标识获取所述待调度端口的端口标识所对应的待调度数据包和所述待调度数据包的包描述信息;[0013]根据预设的切包信息和所述待调度数据包的包描述信息对所述当前待调度端口所对应的待调度数据包进行切包处理,获取所述当前待调度端口对应的切片数据;其中,所述切包信息包括最大突发长度Burstmax、最小突发长度Burstmin、普通型或增强型调度模式的参数值;[0014]更新所述轮询调度表的信息,并根据更新后的轮询调度表获取下一个待调度端口的端口标识。[0015]在上述方案中,所述预设的轮询调度表由上游端口的端口标识和所述端口标识对应的调度指示值组成,用于获取当前待调度端口的端口标识。[0016]在上述方案中,所述根据预设的轮询调度表获取当前待调度端口的端口标识,具体包括:[0017]根据预设的第一轮询规则从预设的轮询调度表中获取一行由调度指示值组成的调度指示序列;其中,每行调度指示序列都分别对应了一行端口标识序列;[0018]根据预设的第二轮询规则从获取的该行调度指示序列中获取当前待调度端口的端口标识。[0019]在上述方案中,所述根据预设的切包信息和所述待调度数据包的包描述信息对所述当前待调度端口所对应的待调度数据包进行切包处理,获取所述当前待调度端口对应的切片数据,具体包括:[0020]当所述切包信息中普通型调度模式的参数值为有效值时,以所述切包信息中Burstmax的参数值为切片数据的单位长度对所述待调度数据包进行均匀切割,且当所述均匀切割后剩余的包数据的长度小于所述Burstmax的参数值时,将所述剩余的包数据作为一个切片数据;[0021]当所述切包信息中增强型调度模式的参数值为有效值时,以所述切包信息中Burstmax的参数值为切片数据的单位长度对所述待调度数据包进行均匀切割,且当所述均勾切割后剩余的包数据的长度大于Burstmax且小于Burstmax+Burstmin时,将所述剩余的包数据切割成两片数据;其中,所述剩余的包数据对应的第一片切片数据的长度等于Burstmax-Burstmin,所述剩余的包数据对应的第二片切片数据的长度等于所述剩余的包数据长度减去所述第一片切片数据的长度。[0022]在上述方案中,所述将所述每个上游端口对应的切片数据调度到所述每个上游端口对应的InterIaken接口,包括:[0023]根据预设的数据调度模式信息将所述每个上游端口对应的切片数据调度到所述每个上游端口对应的Interlaken接口;其中,所述数据调度模式信息用于指示所述每个上游端口对应的切片数据是以整包模式还是以交织模式调度到所述每个上游端口对应的Interlaken接口。[0024]在上述方案中,所述根据预设的数据调度模式信息将所述每个上游端口对应的切片数据调度到所述每个上游端口对应的InterIaken接口,具体包括:[0025]当所述数据调度模式信息指示的是整包模式时,将所述每个上游端口的整包数据对应的所有切片数据拼接成一片数据,并将拼接后的整片数据调度到所述每个上游端口对应的Interlaken接口;[0026]当所述数据调度模式信息指示的是交织模式时,以交织的形式将所述每个上游端口的切片数据--均勾调度到每个上游端口对应的InterIaken接口。[0027]第二方面,本发明实施例提供了一种Interlaken切包和调度装置,所述装置包括:数据包切包模块、数据包调度模块和Interlaken接口模块;其中,[0028]所述数据包切包模块,用于接收由上游至少一个端口发送的数据包,并分别对每个上游端口对应的数据包进行切包处理,获取每个上游端口对应的切片数据;[0029]所述数据包调度模块,用于从预设的Interlaken接口组中获取每个上游端口对应的接口;[0030]所述数据包调度模块,还用于将所述每个上游端口对应的切片数据调度到所述每个上游端口对应的InterIaken接口;[0031]所述Interlaken接口模块,用于将所述每个上游端口对应的切片数据进行发送。[0032]在上述方案中,所述数据包切包模块,具体包括:数据包处理子模块、InterIaken切包控制子模块和数据包切包子模块;其中,[0033]所述数据包处理子模块,用于接收由上游至少一个端口发送的数据包,并分别获取每个上游端口对应的数据包的包描述信息;[0034]所述Interlaken切包控制子模块,根据预设的轮询调度表获取当前待调度端口的端口标识,并根据所述当前待调度端口的端口标识获取所述待调度端口的端口标识所对应的待调度数据包和所述待调度数据包的包描述信息;[0035]所述数据包切包子模块,用于根据预设的切包信息和所述待调度数据包的包描述信息对所述当前待调度端口所对应的待调度数据包进行切包处理,获取所述当前待调度端口对应的切片数据;其中,所述切包信息包括最大突发长度Burstmax、最小突发长度Burstmin、普通型或增强型调度模式的参数值;[0036]所述Interlaken切包控制子模块,还用于更新所述轮询调度表的信息。[0037]在上述方案中,所述Interlaken切包控制子模块,具体用于:[0038]根据预设的第一轮询规则从预设的轮询调度表中获取一行由调度指示值组成的调度指示序列;其中,每行调度指示序列都分别对应了一行端口标识序列;[0039]根据预设的第二轮询规则从获取的该行调度指示序列中获取当前待调度端口的端口标识。[0040]在上述方案中,所述数据包切包子模块,具体用于:[0041]当所述切包信息中普通型调度模式的参数值为有效值时,以所述切包信息中Burstmax的参数值为切片数据的单位长度对所述待调度数据包进行均匀切割,且当所述均匀切割后剩余的包数据的长度小于所述Burstmax的参数值时,将所述剩余的包数据作为一个切片数据;[0042]当所述切包信息中增强型调度模式的参数值为有效值时,以所述切包信息中Burstmax的参数值为切片数据的单位长度对所述待调度数据包进行均匀切割,且当所述均勾切割后剩余的包数据的长度大于Burstmax且小于Burstmax+Burstmin时,将所述剩余的包数据切割成两片数据;其中,所述剩余的包数据对应的第一片切片数据的长度等于Burstmax-Burstmin,所述剩余的包数据对应的第二片切片数据的长度等于所述剩余的包数据长度减去所述第一片切片数据的长度。[0043]在上述方案中,所述数据包调度模块,具体用于:[0044]根据预设的数据调度模式信息将所述每个上游端口对应的切片数据调度到所述每个上游端口对应的Interlaken接口;其中,所述数据调度模式信息用于指示所述每个上游端口对应的切片数据是以整包模式还是以交织模式调度到所述每个上游端口对应的Interlaken接口。[0045]在上述方案中,所述数据包调度模块,具体用于:[0046]当所述数据调度模式信息指示的是整包模式时,将所述每个上游端口的整包数据对应的所有切片数据拼接成一片数据,并将拼接后的整片数据调度到所述每个上游端口对应的Interlaken接口;[0047]当所述数据调度模式信息指示的是交织模式时,以交织的形式将所述每个上游端口的切片数据--均勾调度到每个上游端口对应的InterIaken接口。[0048]在上述方案中,所述装置还包括:数据包缓存模块、数据包信息缓存模块和Interlaken调度信息管理模块;其中,[0049]所述数据包缓存模块,用于存储由上游至少一个端口发送的数据包;[0050]所述数据包信息缓存模块,用于存储每个上游端口对应的数据包的包描述信息;[0051]所述Interlaken调度信息管理模块,用于存储预设的切包信息和数据调度模式信息。[0052]本发明实施例提供了一种Interlaken切包和调度方法及装置,该方法同时利用了多个小位宽小容量的Interlaken接口对接收的上游至少一个端口发送的数据包分别进行传输,从而明显提高了数据传输的速率;另外,由于每个Interlaken接口的设计方法类似,因此大大缩短了集成电路的设计周期。附图说明[0053]图1为本发明实施例提供的一种Interlaken切包和调度的方法示意图;[0054]图2为本发明实施例提供的一种切包方法示意图;[0055]图3为本发明实施例提供的一种获取当前待调度端口的端口标识的方法示意图;[0056]图4为本发明实施例提供的一种轮询调度表的结构示意图;[0057]图5为本发明实施例提供的另一种获取当前待调度端口的端口标识的方法示意图;[0058]图6为本发明实施例提供的一种对待调度数据包进行切包处理的具体方法示意图;[0059]图7为本发明实施例提供的一种切包结果示意图;[0060]图8为本发明实施例提供的另一种切包结果示意图;[0061]图9为本发明实施例提供的一种Interlaken切包和调度装置的结构示意图;[0062]图10为本发明实施例提供的另一种Interlaken切包和调度装置的结构示意图;[0063]图11为本发明实施例提供的又一种Interlaken切包和调度装置的结构示意图;[0064]图12为本发明实施例提供的一种Interlaken切包和调度装置的工作流程示意图。具体实施方式[0065]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。[0066]实施例一[0067]如图1所示,该图给出了本发明实施例提供的一种Interlaken切包和调度方法,所述方法可以包括:[0068]SI10、接收由上游至少一个端口发送的数据包,并分别对每个上游端口对应的数据包进行切包处理,获取每个上游端口对应的切片数据;[0069]S120、从预设的InterIaken接口组中获取每个上游端口对应的接口;其中,所述Interlaken接口组包含至少两个Interlaken接口;[0070]S130、将所述每个上游端口对应的切片数据调度到所述每个上游端口对应的Interlaken接口;[0071]需要说明的是,在对所述上游端口对应的切片数据进行调度时,可以根据所述上游端口带宽与Interlaken子接口位宽的比例关系将所述上游端口的切片数据调度到合适的Interlaken接口上进行传输,以避免数据传输过程出现拥塞。例如,当前正在被调度的上游端口的带宽为IOOGbps,所述Interlaken接口组中的某个InterIaken接口的位宽也是IOOGbps,那么,此时就可以将带宽为IOOGbps的上游端口的切片数据调度到位宽为IOOGbps的InterIaken接口上进行传输。[0072]S140、通过所述每个上游端口对应的InterIaken接口将所述每个上游端口对应的切片数据进行发送。[0073]示例性地,所述接收由上游至少一个端口发送的数据包,并分别对每个上游端口对应的数据包进行切包处理,获取每个上游端口对应的切片数据,如图2所示,具体可以包括:[0074]S210、接收由上游至少一个端口发送的数据包,并分别获取每个上游端口对应的数据包的包描述信息;[0075]具体地,所述数据包的包描述信息可以包括:包头信息、包尾信息和包长度信息等。[0076]S220、根据预设的轮询调度表获取当前待调度端口的端口标识,并根据所述当前待调度端口的端口标识获取所述待调度端口的端口标识所对应的待调度数据包和所述待调度数据包的包描述信息;[0077]S230、根据预设的切包信息和所述待调度数据包的包描述信息对所述当前待调度端口所对应的待调度数据包进行切包处理,获取所述当前待调度端口对应的切片数据;[0078]具体地,所述预设的切包信息可以包括:最大突发长度Burstmax、最小突发长度Burstmin、普通型或增强型调度模式的参数值。[0079]S240、更新所述轮询调度表的信息,并返回执行步骤S220。[0080]具体地,对于步骤S220,所述预设的轮询调度表由上游端口的端口标识和所述端口标识对应的调度指示值组成,用于获取当前待调度端口的端口标识。[0081]需要说明的是,所述轮询调度表中的所有端口标识对应了CPU配置的端口表中所配置的所有端口。[0082]相应地,所述根据预设的轮询调度表获取当前待调度端口的端口标识,如图3所示,具体可以包括:[0083]S310、根据预设的第一轮询规则从预设的轮询调度表中获取一行由调度指示值组成的调度指示序列;其中,每行调度指示序列都分别对应了一行端口标识序列;[0084]S320、根据预设的第二轮询规则从获取的该行调度指示序列中获取当前待调度端口的端口标识。[0085]需要说明的是,所述预设的第一轮询规则可以是由上而下的顺序,也可以是由下而上的顺序,其目的是为了获取一行调度指示序列。类似地,所述预设的第二轮询规则可以是由左向右的顺序,也可以是由右向左的顺序,其目的是为了获取当前待调度端口的端口标识。[0086]如图4所示,该图给出了所述轮询调度表的一种结构,从图中可以看出,该轮询调度表由端口表cfg_rd_port_jj=l,2,...,n和所述端口表cfg_rd_port_jj=l,2,...,η对应的调度指示表cfg_rd_order_jj=l,2,...,n组成,且该轮询调度表中的cfg_rd_portj至cf8』1_?〇^_11包含的端口标识对应了CPU配置的端口表中所包含的所有端口;cfg_rd_order_l至cfg_rd_order_n对应指不cfg_rd_port_l至cfg_rd_port_n中的端口标识所对应的端口数据包当前是否可以被调度。例如,图4中?!2位置处对应的cfg_rd_order_l中的指示值为1,表示该位置处对应的cfg_rd_port_l中的端口标识zf所对应的端口数据包当前是可以被调度的。反之,当Pi2位置处对应的cfg_rd_order_l中的指示值为0时,表明该端口标识Zf所对应的端口数据包当前是不可以被调度的。[0087]因此,基于图4所示的轮询调度表,可以通过两个方向的轮询获取当前待调度端口的端口标识,如图5所示,具体可以包括:[0088]S510、根据预设的轮询调度表按照cfg_rd_order_l至cfg_rd_order_n自上而下的顺序轮询获取一行调度指示序列cfg_rd_order_j;其中,j=l,2,...,n;[0089]S520、根据获取的该行调度指示序列cfg_rd_order_j中按照由左到右的顺序轮询获取待调度端口的端口标识。[0090]需要说明的是,对于轮询的方向可以是任意的,其目的主要是为了能够将所有端口的数据均勾地调度输出。另外,所述调度指示表cfg_rd_order_jj=l,2,...,n中每个端口所对应的调度指示值是实时更新的,例如,Pi2位置处对应的端口当前时刻没有缓存的数据包,此时,该位置处对应的cfg_rd_order_l中的指示值将更新为0。[0091]具体地,对于步骤S230,所述根据预设的切包信息和所述待调度数据包的包描述信息对所述当前待调度端口所对应的待调度数据包进行切包处理,获取所述当前待调度端口对应的切片数据,如图6所示,具体可以包括:[0092]S610、读取所述切包信息中普通型和增强型调度模式的参数值;[0093]S620、当所述切包信息中普通型调度模式的参数值为有效值时,以所述切包信息中Burstmax的参数值为切片数据的单位长度对所述待调度数据包进行均匀切割,且当所述均匀切割后剩余的包数据的长度小于所述Burstmax的参数值时,将所述剩余的包数据作为一个切片数据;[0094]S630、当所述切包信息中增强型调度模式的参数值为有效值时,以所述切包信息中Burstmax的参数值为切片数据的单位长度对所述待调度数据包进行均匀切割,且当所述均勾切割后剩余的包数据的长度大于13虹81:1]^1且小于131^81:11^1+131^81:111;[11时,将所述剩余的包数据切割成两片数据;其中,所述剩余的包数据对应的第一片切片数据的长度等于Burstmax-Burstmin,所述剩余的包数据对应的第二片切片数据的长度等于所述剩余的包数据长度减去所述第一片切片数据的长度。[0095]可以理解地,所述普通型或增强型调度模式的参数值用于指示按照哪种调度模式下的切割方法对所述待调度数据包进行切片。例如,当前需要进行切包处理的待调度数据包的长度为520字节,所述切包信息中的Burstmax=256字节,Burstmin=16字节,此时,当所述切包信息中的普通型调度模式的参数值为有效值如参数值等于〇时,该数据包的切包结果如图7所示,即该数据包的切包结果为:第一片切片数据长度为256字节,第二片切片数据长度为256字节,第三片切片数据长度为8字节;当所述切包信息中的增强型调度模式的参数值为有效值如参数值等于1时,该数据包的切包结果如图8所示,即该数据包的切包结果为:第一片切片数据长度为256字节,第二片切片数据长度为240字节(S卩Burstmax-Burstmin,第三片切片数据长度为24字节(S卩520-256-240。[0096]示例性地,所述将所述每个上游端口对应的切片数据调度到所述每个上游端口对应的InterIaken接口,优选地,可以根据预设的数据调度模式信息将所述每个上游端口对应的切片数据调度到所述每个上游端口对应的Interlaken接口;其中,所述数据调度模式信息用于指示所述每个上游端口对应的切片数据是以整包模式还是以交织模式调度到所述每个上游端口对应的InterIaken接口。[0097]具体地,当所述数据调度模式信息指示的是整包模式时,将所述每个上游端口的整包数据对应的所有切片数据拼接成一片数据,并将拼接后的整片数据调度到所述每个上游端口对应的Interlaken接口;当所述数据调度模式信息指示的是交织模式时,以交织的形式将所述每个上游端口的切片数据一一均匀调度到每个上游端口对应的Interlaken接□〇[0098]本发明实施例提供了一种Interlaken切包和调度方法,该方法能够将接收的上游至少一个端口发送的数据包分别调度到每个上游端口对应的Interlaken接口,该方法同时利用了多个小位宽小容量的Interlaken接口对接收的上游至少一个端口发送的数据包分别进行传输,从而明显提高了数据传输的速率;另外,由于每个Interlaken接口的设计方法类似,因此大大缩短了集成电路的设计周期。[0099]实施例二[0100]基于前述相同的技术构思,参见图9,其示出了本发明实施例提供的一种Interlaken切包和调度装置10,所述装置可以包括:数据包切包模块110、数据包调度模块120和InterIaken接口模块130;其中,[0101]所述数据包切包模块110,用于接收由上游至少一个端口发送的数据包,并分别对每个上游端口对应的数据包进行切包处理,获取每个上游端口对应的切片数据;[0102]所述数据包调度模块120,用于从预设的Interlaken接口组中获取每个上游端口对应的接口;[0103]所述数据包调度模块120,还用于将所述每个上游端口对应的切片数据调度到所述每个上游端口对应的InterIaken接口;[0104]所述Interlaken接口模块130,用于将所述每个上游端口对应的切片数据进行发送。[0105]在上述方案中,所述数据包切包模块110,如图10所示,具体可以包括:数据包处理子模块1101、Interlaken切包控制子模块1102和数据包切包子模块1103;其中,[0106]所述数据包处理子模块1101,用于接收由上游至少一个端口发送的数据包,并分别获取每个上游端口对应的数据包的包描述信息;[0107]所述Interlaken切包控制子模块1102,根据预设的轮询调度表获取当前待调度端口的端口标识,并根据所述当前待调度端口的端口标识获取所述待调度端口的端口标识所对应的待调度数据包和所述待调度数据包的包描述信息;[0108]所述数据包切包子模块1103,用于根据预设的切包信息和所述待调度数据包的包描述信息对所述当前待调度端口所对应的待调度数据包进行切包处理,获取所述当前待调度端口对应的切片数据;其中,所述切包信息包括最大突发长度Burstmax、最小突发长度Burstmin、普通型或增强型调度模式的参数值;[0109]所述Interlaken切包控制子模块1102,还用于更新所述轮询调度表的信息。[0110]在上述方案中,所述Interlaken切包控制子模块1102,具体用于:[0111]根据预设的第一轮询规则从预设的轮询调度表中获取一行由调度指示值组成的调度指示序列;其中,每行调度指示序列都分别对应了一行端口标识序列;[0112]根据预设的第二轮询规则从获取的该行调度指示序列中获取当前待调度端口的端口标识。[0113]在上述方案中,所述数据包切包子模块1103,具体用于:[0114]当所述切包信息中普通型调度模式的参数值为有效值时,以所述切包信息中Burstmax的参数值为切片数据的单位长度对所述待调度数据包进行均匀切割,且当所述均匀切割后剩余的包数据的长度小于所述Burstmax的参数值时,将所述剩余的包数据作为一个切片数据;[0115]当所述切包信息中增强型调度模式的参数值为有效值时,以所述切包信息中Burstmax的参数值为切片数据的单位长度对所述待调度数据包进行均匀切割,且当所述均勾切割后剩余的包数据的长度大于Burstmax且小于Burstmax+Burstmin时,将所述剩余的包数据切割成两片数据;其中,所述剩余的包数据对应的第一片切片数据的长度等于Burstmax-Burstmin,所述剩余的包数据对应的第二片切片数据的长度等于所述剩余的包数据长度减去所述第一片切片数据的长度。[0116]在上述方案中,所述数据包调度模块120,具体用于:[0117]根据预设的数据调度模式信息将所述每个上游端口对应的切片数据调度到所述每个上游端口对应的Interlaken接口;其中,所述数据调度模式信息用于指示所述每个上游端口对应的切片数据是以整包模式还是以交织模式调度到所述每个上游端口对应的Interlaken接口。[0118]在上述方案中,所述数据包调度模块120,具体用于:[0119]当所述数据调度模式信息指示的是整包模式时,将所述每个上游端口的整包数据对应的所有切片数据拼接成一片数据,并将拼接后的整片数据调度到所述每个上游端口对应的Interlaken接口;[0120]当所述数据调度模式信息指示的是交织模式时,以交织的形式将所述每个上游端口的切片数据--均勾调度到每个上游端口对应的InterIaken接口。[0121]在上述方案中,如图11所示,所述装置10还可以包括:数据包缓存模块140、数据包信息缓存模块150和Interlaken调度信息管理模块160;其中,[0122]所述数据包缓存模块140,用于存储由上游至少一个端口发送的数据包;[0123]需要说明的是,为了最高效地利用所述数据包缓存,通常将每个上游端口发送的数据包按端口标识以链表的形式存储在所述数据包缓存模块中。[0124]所述数据包信息缓存模块150,用于存储每个上游端口对应的数据包的包描述信息;[0125]所述Interlaken调度信息管理模块160,用于存储预设的切包信息和数据调度模式信息。[0126]实施例三[0127]为了便于对上述方案的理解,本实施例将结合图12对上述装置10的一种工作流程进行描述,所述工作流程具体可以包括:[0128]S710、数据包处理子模块1101接收由上游至少一个端口发送的数据包,并对当前接收的数据包进行包头和包尾的配对处理以及包长度的计算;[0129]S711、所述数据包处理子模块1101按当前接收的数据包所对应的端口标识将当前接收的数据包写入链表;其中,所述链表存储于数据包缓存模块140;[0130]S712、当所述当前接收的数据包的包尾数据写入所述链表时,所述数据包处理子模块1101按端口标识将所述当前接收的数据包的包头、包尾和包长度信息写入数据包信息缓存模块150;[0131]S713、Interlaken切包控制子模块1102根据预设的轮询调度表获取当前待调度端口的端口标识,并根据当前待调度端口的端口标识从所述数据包信息缓存模块150中获取所述当前待调度端口的端口标识所对应的包头、包尾和包长度信息;[0132]S714、所述Interlaken切包控制子模块1102根据获取的包头、包尾和包长度信息产生一组与当前待调度数据包包头数据对齐的读链表端口标识和读链表使能信号;[0133]S715、所述Interlaken切包控制子模块1102根据产生的读链表端口标识和读链表使能信号通过时钟控制从所述链表中持续读取所述当前待调度数据包的数据,并将读取的所述当前待调度数据包的数据发送给数据包切包子模块1103;[0134]S715、当所述Interlaken切包控制子模块1102完成所述当前待调度数据包的数据读取时,所述InterIaken切包控制子模块1102从所述InterIaken调度信息管理模块160中获取切包信息;其中,所述切包信息包括:Burstmax、Burstmin和普通型或增强型调度模式的参数值;[0135]S716、所述Interlaken切包控制子模块1102根据获取的切包信息产生对齐的切包控制信号,并发送给所述数据包切包子模块1103;[0136]S717、所述数据包切包子模块1103根据所述对齐的切包控制信号对所述当前待调度数据包进行切包处理,并获取所述当前待调度端口对应的切片数据;[0137]需要说明的是,所述数据包切包子模块1103对于普通型调度模式和增强型调度模式下对所述当前待调度数据包的切包处理方法是不同,具体地切包处理方法已在上述实施例中进行了详细描述,为避免重复,此处不再赘述。[0138]S718、数据包调度模块120将所述当前待调度端口对应的切片数据调度到所述当前待调度端口对应的Interlaken接口。[0139]需要说明的是,同一端口的数据包必须调度到同一Interlaken接口,在具体实现中,可以根据当前待调度端口的带宽与InterIaken接口位宽的比例关系,将当前待调度端口的数据调度到合适的Interlaken接口。另外,由实施例二可知,所述数据包处理子模块1101、Interlaken切包控制子模块1102和数据包切包子模块1103是所述数据包切包模块110的子模块。[0140]还需要说明的是,所述数据包调度模块120可以根据所述Interlaken调度信息管理模块160中的数据调度模式信息包括整包模式和交织模式的参数值判断是以整包模式的形式将切片数据调度出去,还是以交织模式的形式将切片数据调度出去。[0M1]本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质包括但不限于磁盘存储器和光学存储器等上实施的计算机程序产品的形式。[0142]本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和或方框图来描述的。应理解可由计算机程序指令实现流程图和或方框图中的每一流程和或方框、以及流程图和或方框图中的流程和或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和或方框图一个方框或多个方框中指定的功能的装置。[0143]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和或方框图一个方框或多个方框中指定的功能。[0144]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和或方框图一个方框或多个方框中指定的功能的步骤。[0145]以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

权利要求:1.一种Interlaken切包和调度方法,其特征在于,所述方法包括:接收由上游至少一个端口发送的数据包,并分别对每个上游端口对应的数据包进行切包处理,获取每个上游端口对应的切片数据;从预设的Interlaken接口组中获取每个上游端口对应的接口;其中,所述Interlaken接口组包含至少两个Interlaken接口;将所述每个上游端口对应的切片数据调度到所述每个上游端口对应的InterIaken接P;通过所述每个上游端口对应的Interlaken接口将所述每个上游端口对应的切片数据进行发送。2.根据权利要求1所述的方法,其特征在于,所述接收由上游至少一个端口发送的数据包,并分别对每个上游端口对应的数据包进行切包处理,获取每个上游端口对应的切片数据,具体包括:接收由上游至少一个端口发送的数据包,并分别获取每个上游端口对应的数据包的包描述信息;其中,所述包描述信息包括包头、包尾和包长度信息;根据预设的轮询调度表获取当前待调度端口的端口标识,并根据所述当前待调度端口的端口标识获取所述待调度端口的端口标识所对应的待调度数据包和所述待调度数据包的包描述信息;根据预设的切包信息和所述待调度数据包的包描述信息对所述当前待调度端口所对应的待调度数据包进行切包处理,获取所述当前待调度端口对应的切片数据;其中,所述切包信息包括最大突发长度Burstmax、最小突发长度Burstmin、普通型或增强型调度模式的参数值;更新所述轮询调度表的信息,并根据更新后的轮询调度表获取下一个待调度端口的端口标识。3.根据权利要求2所述的方法,其特征在于,所述预设的轮询调度表由上游端口的端口标识和所述端口标识对应的调度指示值组成,用于获取当前待调度端口的端口标识。4.根据权利要求2所述的方法,其特征在于,所述根据预设的轮询调度表获取当前待调度端口的端口标识,具体包括:根据预设的第一轮询规则从预设的轮询调度表中获取一行由调度指示值组成的调度指示序列;其中,每行调度指示序列都分别对应了一行端口标识序列;根据预设的第二轮询规则从获取的该行调度指示序列中获取当前待调度端口的端口标识。5.根据权利要求2所述的方法,其特征在于,所述根据预设的切包信息和所述待调度数据包的包描述信息对所述当前待调度端口所对应的待调度数据包进行切包处理,获取所述当前待调度端口对应的切片数据,具体包括:当所述切包信息中普通型调度模式的参数值为有效值时,以所述切包信息中Burstmax的参数值为切片数据的单位长度对所述待调度数据包进行均匀切割,且当所述均匀切割后剩余的包数据的长度小于所述Burstmax的参数值时,将所述剩余的包数据作为一个切片数据;当所述切包信息中增强型调度模式的参数值为有效值时,以所述切包信息中Burstmax的参数值为切片数据的单位长度对所述待调度数据包进行均匀切割,且当所述均匀切割后剩余的包数据的长度大于Burstmax且小于Burstmax+Burstmin时,将所述剩余的包数据切割成两片数据;其中,所述剩余的包数据对应的第一片切片数据的长度等于Burstmax-Burstmin,所述剩余的包数据对应的第二片切片数据的长度等于所述剩余的包数据长度减去所述第一片切片数据的长度。6.根据权利要求1所述的方法,其特征在于,所述将所述每个上游端口对应的切片数据调度到所述每个上游端口对应的InterIaken接口,包括:根据预设的数据调度模式信息将所述每个上游端口对应的切片数据调度到所述每个上游端口对应的Interlaken接口;其中,所述数据调度模式信息用于指示所述每个上游端口对应的切片数据是以整包模式还是以交织模式调度到所述每个上游端口对应的Interlaken接口。7.根据权利要求6所述的方法,其特征在于,所述根据预设的数据调度模式信息将所述每个上游端口对应的切片数据调度到所述每个上游端口对应的Interlaken接口,具体包括:当所述数据调度模式信息指示的是整包模式时,将所述每个上游端口的整包数据对应的所有切片数据拼接成一片数据,并将拼接后的整片数据调度到所述每个上游端口对应的Interlaken接口;当所述数据调度模式信息指示的是交织模式时,以交织的形式将所述每个上游端口的切片数据--均勾调度到每个上游端口对应的InterIaken接口。8.—种Interlaken切包和调度装置,其特征在于,所述装置包括:数据包切包模块、数据包调度模块和Interlaken接口模块;其中,所述数据包切包模块,用于接收由上游至少一个端口发送的数据包,并分别对每个上游端口对应的数据包进行切包处理,获取每个上游端口对应的切片数据;所述数据包调度模块,用于从预设的Interlaken接口组中获取每个上游端口对应的接P;所述数据包调度模块,还用于将所述每个上游端口对应的切片数据调度到所述每个上游端口对应的InterIaken接口;所述InterIaken接口模块,用于将所述每个上游端口对应的切片数据进行发送。9.根据权利要求8所述的装置,其特征在于,所述数据包切包模块,具体包括:数据包处理子模块、Interlaken切包控制子模块和数据包切包子模块;其中,所述数据包处理子模块,用于接收由上游至少一个端口发送的数据包,并分别获取每个上游端口对应的数据包的包描述信息;所述Interlaken切包控制子模块,根据预设的轮询调度表获取当前待调度端口的端口标识,并根据所述当前待调度端口的端口标识获取所述待调度端口的端口标识所对应的待调度数据包和所述待调度数据包的包描述信息;所述数据包切包子模块,用于根据预设的切包信息和所述待调度数据包的包描述信息对所述当前待调度端口所对应的待调度数据包进行切包处理,获取所述当前待调度端口对应的切片数据;其中,所述切包信息包括最大突发长度Burstmax、最小突发长度Burstmin、普通型或增强型调度模式的参数值;所述Interlaken切包控制子模块,还用于更新所述轮询调度表的信息。10.根据权利要求9所述的装置,其特征在于,所述InterIaken切包控制子模块,具体用于:根据预设的第一轮询规则从预设的轮询调度表中获取一行由调度指示值组成的调度指示序列;其中,每行调度指示序列都分别对应了一行端口标识序列;根据预设的第二轮询规则从获取的该行调度指示序列中获取当前待调度端口的端口标识。11.根据权利要求9所述的装置,其特征在于,所述数据包切包子模块,具体用于:当所述切包信息中普通型调度模式的参数值为有效值时,以所述切包信息中Burstmax的参数值为切片数据的单位长度对所述待调度数据包进行均匀切割,且当所述均匀切割后剩余的包数据的长度小于所述Burstmax的参数值时,将所述剩余的包数据作为一个切片数据;当所述切包信息中增强型调度模式的参数值为有效值时,以所述切包信息中Burstmax的参数值为切片数据的单位长度对所述待调度数据包进行均匀切割,且当所述均匀切割后剩余的包数据的长度大于Burstmax且小于Burstmax+Burstmin时,将所述剩余的包数据切割成两片数据;其中,所述剩余的包数据对应的第一片切片数据的长度等于Burstmax-Burstmin,所述剩余的包数据对应的第二片切片数据的长度等于所述剩余的包数据长度减去所述第一片切片数据的长度。12.根据权利要求8所述的装置,其特征在于,所述数据包调度模块,具体用于:根据预设的数据调度模式信息将所述每个上游端口对应的切片数据调度到所述每个上游端口对应的Interlaken接口;其中,所述数据调度模式信息用于指示所述每个上游端口对应的切片数据是以整包模式还是以交织模式调度到所述每个上游端口对应的Interlaken接口。13.根据权利要求12所述的装置,其特征在于,所述数据包调度模块,具体用于:当所述数据调度模式信息指示的是整包模式时,将所述每个上游端口的整包数据对应的所有切片数据拼接成一片数据,并将拼接后的整片数据调度到所述每个上游端口对应的Interlaken接口;当所述数据调度模式信息指示的是交织模式时,以交织的形式将所述每个上游端口的切片数据--均勾调度到每个上游端口对应的InterIaken接口。14.根据权利要求8所述的装置,其特征在于,所述装置还包括:数据包缓存模块、数据包信息缓存模块和Interlaken调度信息管理模块;其中,所述数据包缓存模块,用于存储由上游至少一个端口发送的数据包;所述数据包信息缓存模块,用于存储每个上游端口对应的数据包的包描述信息;所述Interlaken调度信息管理模块,用于存储预设的切包信息和数据调度模式信息。

百度查询: 深圳市中兴微电子技术有限公司 一种Interlaken切包和调度方法及装置

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。