一种数据处理方法和装置与流程

文档序号:17954782发布日期:2019-06-19 00:21阅读:380来源:国知局
一种数据处理方法和装置与流程

本发明涉及通信技术领域,尤其是涉及一种数据处理方法和设备。



背景技术:

在以太网中,根据需求的不同,存在具有支持不同传输速率或者位宽的装置,所述装置用于接收和/或发送数据。在以太网总速率一定的前提下,所述装置的单个数据接口所支持的传输速率大小与所述装置包括的数据接口的数量成反比。比如总速率为400千兆比特(英文:gigabit,简称:G) 的以太网中,设备A包括16个支持25G速率的第一数据接口,设备B包括8个支持50G速率的第二数据接口。所述设备A通过所述第一数据接口接收第一数据流,所述设备A通过所述16个第一数据接口接收到的16条第一数据流的位宽相同。当所述设备A需要向所述设备B发送数据时,将所述接收到的16条第一数据流变换为8条第二数据流。所述设备A向所述设备B发送所述8条第二数据流。所述设备B的每个第二数据接口接收一条所述第二数据流。所述变换可称为数据处理。所述设备A将所述第一数据流变换为所述第二数据流的过程中,所述第二数据流的位宽相比于所述第一数据流的位宽发生了改变。由此,所述数据处理也可以被称为位宽变换。

目前主要通过对数据流包括的数据单元的分发复用来实现位宽变换。以所述设备A将所述16条第一数据流变换到所述8条第二数据流的位宽变换为例,分发复用的位宽变换方式具体包括:所述设备A包括的所述16 个第一数据接口可连接16条通道,每条通道用于传输一条所述第一数据流。所述第一数据流的数据单元中可携带对齐标识(Alignment Marker, AM)。以所述16条第一数据流中的一条第一数据流为例,所述一条第一数据流携带的AM与传输所述一条第一数据流的通道对应。所述16条第一数据流中的每条第一数据流均携带一个AM。所述设备A根据每条所述第一数据流携带的AM,将16个所述AM对齐,即进行对齐标志锁定(Alignment Marker Lock,AM Lock)的消除偏移(deskew)操作,使得所述设备A在对所述16条第一数据流进行位宽变换前,能够在同一时刻读取到所述16 个AM,由此消除所述16条第一数据流在传输过程中形成的偏移(skew)。所述设备A可将对齐后的所述16条第一数据流进行复用,生成所述8条第二数据流。现有的分发复用的位宽变换方式中,所述设备A在进行位宽变换前,需要获得所述16条第一数据流中每条所述第一数据流携带的AM的相对位置。所述设备A根据获得的所述相对位置,对所述16条第一数据流进行一次AM Lock的deskew操作,以消除每条所述第一数据流的skew。现有的用于消除数据流的skew的方法增加了操作复杂性和成本,使得分发复用的位宽变换方式难以部署和实施。



技术实现要素:

本发明实施例解决的技术问题在于提供一种数据处理方法和设备,有助于实现灵活的数据处理,降低处理数据的难度。

第一方面,本发明实施例提供了一种数据处理方法,所述方法包括:

数据处理设备接收第一数据流,所述第一数据流包括第一数据单元和第二数据单元,所述第一数据单元和所述第二数据单元的长度相同;

所述数据处理设备获得所述第一数据单元的边界;

所述数据处理设备根据第一数据量以及所述第一数据单元的边界,获得第一skew,所述第一数据量是所述数据处理设备在预先设定的时间内接收到的数据,所述第一数据量中包括所述第一数据单元的边界;

所述数据处理设备根据所述第一skew调整所述第一数据流,使得所述第一数据单元的边界与所述第一数据量的边界之间相差整数个所述第一数据单元的长度。

在第一方面的第一种可能的实现方式中,所述第一数据单元携带AM,所述数据处理设备获得所述第一数据单元的边界包括:

所述数据处理设备通过AM Lock的方式,识别出所述第一数据单元携带的所述AM的边界,所述AM的边界为所述第一数据单元的边界。

结合第一方面或者第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述数据处理设备根据所述第一skew调整所述第一数据流包括:

所述数据处理设备根据所述第一skew的长度和整数个所述第一数据单元的长度的差值,获得第一长度,所述第一长度小于所述第一数据单元的长度;

所述数据处理设备移除以所述第一数据量的边界开始、长度为第一长度的数据,获得调整后的第一数据流。

结合第一方面或者第一方面的第一种可能的实现方式,在第三种可能的实现方式中,所述数据处理设备根据所述第一skew调整所述第一数据流包括:

所述数据处理设备移除以所述第一数据量的边界开始、长度为第二长度的数据,获得调整后的第一数据流,所述第二长度为所述第一skew的长度。

结合第一方面或者第一方面的第一种或第二种或第三种可能的实现方式,在第四种可能的实现方式中,

所述第一数据量的长度为所述第一数据单元长度的正整数倍。

结合第一方面或者第一方面的第一种或第二种或第三种或第四种可能的实现方式,在第五种可能的实现方式中,所述方法还包括:

所述数据处理设备接收第二数据流,所述第二数据流包括第一数据单元和第二数据单元,所述第二数据流的第一数据单元和所述第二数据流的第二数据单元的长度相同;

所述数据处理设备获得所述第二数据流的第一数据单元的边界;

所述数据处理设备根据第二数据量以及所述第二数据流的第一数据单元的边界,获得第二skew,所述第二数据量是所述数据处理设备在所述预先设定的时间内接收到的数据,所述第二数据量中包括所述第二数据流的第一数据单元的边界;

所述数据处理设备根据所述第二skew调整所述第二数据流,使得所述第二数据流的第一数据单元的边界与所述第二数据量的边界相差整数个所述第二数据流的第一数据单元的长度。

结合第一方面的第五种可能的实现方式,在第六种可能的实现方式中,所述方法还包括:

所述数据处理设备以所述第一数据流的第一数据单元的长度为粒度,发送调整后的第一数据流和调整后的第二数据流,所述第一数据流的第一数据单元的长度和所述第二数据流的第一数据单元的长度相同。

结合第一方面的第五种可能的实现方式,在第七种可能的实现方式中,所述方法还包括:

所述数据处理设备向多路复用器发送调整后的第一数据流和调整后的第二数据流,所述多路复用器用于将所述调整后的第一数据流和所述调整后的第二数据流复用生成第三数据流。

第二方面,本发明实施例提供了一种数据处理设备,所述设备包括:

第一接收单元,用于接收第一数据流,所述第一数据流包括第一数据单元和第二数据单元,所述第一数据单元和所述第二数据单元的长度相同;

第一获得单元,用于获得所述第一数据单元的边界;

第二获得单元,用于根据第一数据量以及所述第一数据单元的边界,获得第一skew,所述第一数据量是所述数据处理设备在预先设定的时间内接收到的数据,所述第一数据量中包括所述第一数据单元的边界;

第一调整单元,用于根据所述第一skew调整所述第一数据流,使得所述第一数据单元的边界与所述第一数据量的边界之间相差整数个所述第一数据单元的长度。

在第二方面的第一种可能的实现方式中,所述第一数据单元携带AM,

所述第一获得单元具体用于通过AM Lock的方式,识别出所述第一数据单元携带的所述AM的边界,所述AM的边界为所述第一数据单元的边界。

结合第二方面或者第二方面的第一种可能的实现方式,在第二种可能的实现方式中,

所述第一调整单元具体用于根据所述第一skew的长度和整数个所述第一数据单元的长度的差值,获得第一长度,所述第一长度小于所述第一数据单元的长度;

所述第一调整单元具体用于移除以所述第一数据量的边界开始、长度为第一长度的数据,获得调整后的第一数据流。

结合第二方面或者第二方面的第一种可能的实现方式,在第三种可能的实现方式中,

所述第一调整单元具体用于移除以所述第一数据量的边界开始、长度为第二长度的数据,获得调整后的第一数据流,所述第二长度为所述第一skew的长度。

结合第二方面或者第二方面的第一种或第二种或第三种可能的实现方式,在第四种可能的实现方式中,

所述第一数据量的长度为所述第一数据单元的长度的正整数倍。

结合第二方面或者第二方面的第一种或第二种或第三种或第四种可能的实现方式,在第五种可能的实现方式中,所述设备还包括:

第二接收单元,用于接收第二数据流,所述第二数据流包括第一数据单元和第二数据单元,所述第二数据流的第一数据单元和所述第二数据流的第二数据单元的长度相同;

第三获得单元,用于获得所述第二数据流的第一数据单元的边界;

第四获得单元,用于根据第二数据量以及所述第二数据流的第一数据单元的边界,获得第二skew,所述第二数据量是所述数据处理设备在所述预先设定的时间内接收到的数据,所述第二数据量中包括所述第二数据流的第一数据单元的边界;

第二调整单元,用于根据所述第二skew调整所述第二数据流,使得所述第二数据流的第一数据单元的边界与所述第二数据量的边界相差整数个所述第二数据流的第一数据单元的长度。

结合第二方面的第五种可能的实现方式,在第六种可能的实现方式中,所述设备还包括:

发送单元,用于以所述第一数据流的第一数据单元的长度为粒度,发送调整后的第一数据流和调整后的第二数据流,所述第一数据流的第一数据单元的长度和所述第二数据流的第一数据单元的长度相同。

结合第二方面的第五种可能的实现方式,在第七种可能的实现方式中,所述设备还包括:

发送单元,用于向多路复用器发送调整后的第一数据流和调整后的第二数据流,所述多路复用器用于将所述调整后的第一数据流和所述调整后的第二数据流复用生成第三数据流。

结合第一方面或者第一方面的第一种或第二种或第三种或第四种或第五种或第六种或第七种可能的实现方式,在第八种可能的实现方式中,所述数据处理设备为路由设备、交换机或电芯片。

由上述技术方案可以看出,数据处理设备在预设时间内获取包括第一数据单元的第一数据量,并根据所述第一数据量的边界以及所述第一数据单元的边界确定出第一skew。所述数据处理设备根据所述第一skew调整所述第一数据流,使得所述第一数据单元的边界与第一数据量的边界之间相差整数个所述第一数据单元的长度,这样的调整所需处理的数据较少,即对一条数据流进行调整,调整后的数据流可以满足复用的基本条件,降低了操作复杂性和成本,有利于位宽变换的部署和实施。

附图说明

图1为一种对数据流进行deskew操作的示意图;

图2为本发明实施例提供的一种数据处理方法的方法流程图;

图3为本发明实施例提供的一种第一数据流的结构示意图;

图4为本发明实施例提供的一种携带AM的第一数据流的结构示意图;

图5a为本发明实施例提供的一种第一数据流的示意图;

图5b为本发明实施例提供的一种调整后的第一数据流的示意图;

图5c为本发明实施例提供的一种调整后的第一数据流的示意图;

图6为本发明实施例提供的一种数据处理方法的方法流程图;

图7a为本发明实施例提供的一种并行处理数据流的示意图;

图7b为本发明实施例提供的一种调整后的并行数据流的示意图;

图8为本发明实施例提供的一种位宽变换场景的示意图;

图9为本发明实施例提供的一种数据处理设备的设备结构图;

图10为本发明实施例提供的一种数据处理设备的设备结构图;

图11为本发明实施例提供的一种数据处理设备的设备结构图;

图12为本发明实施例提供的一种数据处理设备的硬件结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。

图1为一种对数据流进行deskew操作的示意图。图1所示的场景是对3 条数据流进行deskew操作的场景。图1所示的场景中,数据流A和数据流B 是deskew操作前的2条数据流。数据流A携带有AM1,数据流B携带有AM2。数据流A′是所述数据流A经过deskew操作后获得的数据流。数据流B′是所述数据流B经过deskew操作后获得的数据流。所述AM1的前边界与携带所述AM1的数据单元的边界相同。所述AM2的前边界与携带所述AM2的数据单元的边界相同。任意一个AM的前边界为所述任意一个AM在传输方向上位置较为靠前的边界。所述传输方向为数据流的传输方向,如图1所示,可以是所述数据流A的传输方向,或者是所述数据流B的传输方向。所述数据流A的传输方向和所述数据流B的传输方向相同。如图1所示,所述AM1 的前边界可表示为B1,所述AM1的后边界可表示为B2。所述AM2的前边界可表示为B3,所述AM2的后边界可表示为B4。

某一设备可接收所述数据流A和所述数据流B,并能够对所述数据流A 和所述数据流B进行deskew操作。以所述AM1作为参考AM为例,所述设备可获得所述B3相对于所述B1的相对位置。所述设备根据所述B3相对于所述B1的相对位置,将所述B3调整为与所述B1对齐,获得所述数据流B′。所述数据流A′可以与所述数据流A相同,即所述数据流A的AM1为所述参考AM,所述设备可不对所述数据流A进行deskew操作。所述数据流A′携带的AM1的前边界与所述数据流B′携带的AM2的前边界对齐。

由于所述B1与携带所述AM1的数据单元的边界重合,所述B3与携带所述AM2的数据单元的边界重合,所以,所述数据流A′包括的数据单元的边界和所述数据流B′包括的数据单元的边界处于同一个位置,即所述数据流A ′包括的数据单元的边界和所述数据流B′包括的数据单元的边界之前不存在skew。

图1所示的场景中,所述设备在对所述数据流A和所述数据流B进行 deskew操作时,需要同时存储所述数据流A和所述数据流B。所述设备还需要分析所述数据流A和所述数据流B中每条数据流携带的AM的相对位置,增加了操作复杂性和成本,浪费较多的先入先出队列(First Input First Output,FIFO)资源。

针对上述问题,提出了有助于简化deskew操作的复杂性和节省FIFO 资源的方法。该解决方法中,数据处理设备接收第一数据流,所述第一数据流包括第一数据单元和第二数据单元,所述第一数据单元和所述第二数据单元的长度相同;所述数据处理设备获得所述第一数据单元的边界;所述数据处理设备根据第一数据量以及所述第一数据单元的边界,获得第一偏移skew,所述第一数据量是所述数据处理设备在预先设定的时间内接收到的数据,所述第一数据量中包括所述第一数据单元的边界;所述数据处理设备根据所述第一 skew调整所述第一数据流,使得所述第一数据单元的边界与所述第一数据量的边界之间相差整数个所述第一数据单元的长度。这样,所述数据处理设备无需以某一数据流为参考对另一数据流进行deskew操作,所述数据处理单元可对单一的数据流进行调整,有助于减少所需处理的数据量,降低了操作复杂性和成本,有助于节省FIFO资源,有利于位宽变换的部署和实施。

实施例一

图2为本发明实施例提供的一种数据处理方法的方法流程图,所述方法包括:

S201:数据处理设备接收第一数据流,所述第一数据流包括第一数据单元和第二数据单元,所述第一数据单元和所述第二数据单元的长度相同。

举例说明,所述第一数据流可以为经前向纠错(Forward Error Correction,FEC)处理后得到的并行数据流中的任意一条数据流。比如:FEC模块可以接收或生成码字(codeword,CW)。所述FEC模块将所述码字转换为多个数据单元后,将所述多个数据单元以并行方式输出至所述数据处理设备,所述并行数据流中的任意一条数据流可以为所述第一数据流。如果一个码字的大小为5280比特(bit),一个数据单元的大小为10bit,则一个码字可包括528个数据单元,所述FEC模块可以通过两条并行的数据流,输出所述528 个数据单元至所述数据处理设备。

所述第一数据流可以是用于进行位宽变换的至少两条数据流中的一条。所述第一数据流可以是经FEC处理后获得的一条数据流。所述第一数据流可包括多个数据单元,比如所述第一数据单元和所述第二数据单元。所述第一数据流的第一数据单元的长度可以是至少一个比特(bit),即所述第一数据流的第一数据单元可包括一个bit或一个以上bit。例如:所述第一数据流的第一数据单元可以是一个符号(symbol),所述symbol的长度可以为10bit。所述第一数据流的第一数据单元的长度也可以是一个bit。在此不再对所述第一数据流的第一数据单元的长度进行举例说明。所述第一数据流的第一数据单元的长度和所述第一数据流的第二数据单元的长度相同,可以为所述第一数据流的第一数据单元和所述第一数据流的第二数据单元具有相同的bit数,比如所述第一数据流的第一数据单元为一个symbol,所述第一数据流的第二数据单元也为一个symbol。

S202:所述数据处理设备获得所述第一数据单元的边界。

举例说明,所述第一数据单元的边界可以为所述第一数据流的第一数据单元的前边界,或者为所述第一数据流的第一数据单元的后边界。所述第一数据单元的前边界可以理解为所述第一数据单元包括的两条边界中,在传输方向上位置较为靠前的边界。所述传输方向为所述第一数据流的传输方向。所述第一数据单元的后边界可以理解为所述第一数据单元包括的两条边界中,在所述传输方向上位置较为靠后的边界。

图3为本发明实施例提供的一种第一数据流的结构示意图,设定所述第一数据流的传输方向如图3所示箭头方向,即所示第一数据流的传输方向可以为从右向左。a和b可分别用于标识所述第一数据流的第一数据单元的边界。若所述第一数据流的传输方向如图3所示箭头方向,所述a可用于标识所述第一数据流的第一数据单元的前边界,所述b可用于标识所述第一数据流的第一数据单元的后边界。以图3所示的传输方向为例,所述a可以先于所述b被所述数据处理设备接收到,或者在所述传输方向上,所述a相对于所述b的位置较为靠前。如果所述第一数据流的传输方向与图3所示的传输方向相反,则所述 a可用于标识所述第一数据流的第一数据单元的后边界,所述b可用于标识所述第一数据流的第一数据单元的前边界。

举例说明,所述数据处理设备可通过AM Lock的方式或前向纠错码字锁定(FEC_CW Lock)的方式,获得所述第一数据流的第一数据单元的边界,在下述实施例二中进行详细说明,在此不再赘述。本发明实施例不限定获得所述第一数据流的第一数据单元边界的方法。

S203:所述数据处理设备根据第一数据量以及所述第一数据单元的边界,获得第一skew,所述第一数据量是所述数据处理设备在预先设定的时间内接收到的数据,所述第一数据量中包括所述第一数据单元的边界。

举例说明,所述第一数据量可以为所述第一数据流的一部分连续数据;所述第一数据量的边界可以为所述第一数据量的前边界,或者为所述第一数据量的后边界。所述第一数据量的前边界可以为所述第一数据量包括的两条边界中,在传输方向上位置较为靠前的边界。所述传输方向为所述第一数据流的传输方向。所述第一数据量的后边界可以理解为所述第一数据量包括的两条边界中,在所述传输方向上位置较为靠后的边界。

可选的,所述预先设定的时间可以包括一个或多个时钟周期,所述时钟周期可以理解为所述数据处理设备的工作时钟的周期。

可选的,所述第一数据量的长度为所述第一数据单元的长度的正整数倍。本发明实施例中的所述第一数据量的长度也可以为所述第一数据量的大小,即所述第一数据量的长度可以为所述第一数据量包括的bit数。同理,本发明实施例中的所述第一数据单元的长度也可以为所述第一数据量的大小,即所述第一数据单元的长度为所述第一数据单元包括的bit数。

图3中,设定所述第一数据流的传输方向如图3所示箭头方向,即所示第一数据流的传输方向可以为从右向左。c和d可分别用于标识所述第一数据量的边界。以图3所示的传输方向为例,所述c可用于标识所述第一数据量的前边界,所述d可用于标识所述第一数据量的后边界。在所述第一数据量包括的两条边界中,比如所述c和所述d中,所述c可先于所述d被所述数据处理设备接收,或者,在传输方向上,所述c的位置较所述d的位置靠前。如果所述第一数据流的传输方向与图3所示的传输方向相反,则所述c为所述第一数据量的后边界,所述d为所述第一数据量的前边界。

举例说明,所述数据处理设备根据第一数据量以及所述第一数据单元的边界,获得第一skew包括:所述数据处理设备根据所述第一数据量的前边界和所述第一数据流的第一数据单元的前边界,获得所述第一skew。如图3所示,所述第一skew可以如图3所示的c至a之间的长度,即图3所示的c和a之间的bit数量。或者,

所述数据处理设备根据第一数据量以及所述第一数据单元的边界,获得第一skew包括:所述数据处理设备根据所述第一数据量的后边界和所述第一数据流的第一数据单元的后边界,获得所述第一skew。如图3所示,所述第一 skew可以如图3所示的b至d之间的长度,即图3所示的b和d之间的bit数量。或者,

所述数据处理设备根据第一数据量以及所述第一数据单元的边界,获得第一skew包括:所述数据处理设备根据所述第一数据量的前边界和所述第一数据流的第一数据单元的后边界,获得所述第一skew。如图3所示,所述第一 skew可以如图3所示的c至b之间的长度,即图3所示的c和b之间的bit数量。或者,

所述数据处理设备根据第一数据量以及所述第一数据单元的边界,获得第一skew包括:所述数据处理设备根据所述第一数据量的后边界和所述第一数据流的第一数据单元的前边界,获得所述第一skew。如图3所示,所述第一 skew可以如图3所示的a至d之间的长度,即图3所示的a和d之间的bit数量。

S204:所述数据处理设备根据所述第一skew调整所述第一数据流,使得所述第一数据单元的边界与所述第一数据量的边界之间相差整数个所述第一数据单元的长度。

举例说明,S204中的所述第一数据流的第一数据单元的边界可以与S203 中获得第一skew所采用的所述第一数据流的第一数据单元的边界相同。S204 中的所述第一数据量的边界可以与S203中获得所述第一skew所采用的所述第一数据量的边界相同。比如:若S203中,所述数据处理设备根据所述第一数据量的前边界和所述第一数据流的第一数据单元的前边界获得所述第一 skew,则在S204中,所述数据处理设备通过所述第一skew调整所述第一数据流,使得所述第一数据流的第一数据单元的前边界与所述第一数据量的前边界之间相差整数个所述第一数据流的第一数据单元的长度。

举例说明,S204中的所述第一数据流的第一数据单元的边界可以与S203 中获得所述第一skew所采用的所述第一数据流的第一数据单元的边界不同。 S204中的所述第一数据量的边界可以与S203中获得所述第一skew所采用的所述第一数据量以及所述第一数据流的第一数据单元的边界不同。比如:若 S203中,所述数据处理设备根据所述第一数据量的后边界和所述第一数据流的第一数据单元的后边界获得所述第一skew,则在S204中,所述数据处理设备通过所述第一skew调整所述第一数据流,使得所述第一数据流的第一数据单元的前边界与所述第一数据量的前边界之间相差整数个所述第一数据流的第一数据单元的长度。若S203中,所述数据处理设备根据所述第一数据量的前边界和所述第一数据流的第一数据单元的后边界获得所述第一skew,则在 S204中,所述数据处理设备通过所述第一skew调整所述第一数据流,使得所述第一数据流的第一数据单元的前边界与所述第一数据量的前边界之间相差整数个所述第一数据流的第一数据单元的长度。若S203中,所述数据处理设备根据所述第一数据量的后边界和所述第一数据流的第一数据单元的前边界获得所述第一skew,则在S204中,所述数据处理设备通过所述第一skew调整所述第一数据流,使得所述第一数据流的第一数据单元的前边界与所述第一数据量的前边界之间相差整数个所述第一数据流的第一数据单元的长度。若 S203中,所述数据处理设备根据所述第一数据量的前边界和所述第一数据流的第一数据单元的前边界获得所述第一skew,则在S204中,所述数据处理设备通过所述第一skew调整所述第一数据流,可使得所述第一数据流的第一数据单元的后边界与所述第一数据量的后边界之间相差整数个所述第一数据流的第一数据单元的长度。在此不再对可能的实现方式进行逐一举例说明。

本发明的实施例中,若所述第一skew的长度为所述第一数据单元的长度的K倍,所述K为大于或等于1的整数,则所述数据处理设备可不对所述第一数据流进行调整。

本发明的实施例中,数据处理设备在预设时间内获取包括第一数据单元的边界的第一数据量;所述数据处理设备根据所述第一数据量以及所述第一数据单元的边界,确定出第一skew;所述数据处理设备根据所述第一 skew调整所述第一数据流,使得所述第一数据单元的边界与所述第一数据量的边界之间相差整数个所述第一数据单元的长度。所述数据处理设备以所述第一数据量为参考,调整所述第一数据单元的边界相对于所述第一数据量的边界的skew,有助于降低需处理的数据,所述数据处理设备获得的调整后的第一数据流可以满足后续位宽变换的条件,降低了操作复杂性和成本,有利于位宽变换的部署和实施,有助于减少占用FIFO资源。

实施例二

本发明实施例二提供了一种获得所述第一数据流的第一数据单元的边界的方式。本发明实施例二提供的获得所述第一数据单元的边界的方式可应用于实施例一提供的方法中,也可应用于获取其它数据流的第一数据单元的边界,在此不再赘述。本发明实施例二中的第一数据单元可携带AM,所述AM的前边界可与所述第一数据单元的前边界重合,或者所述AM的后边界可与所述第一数据单元的后边界重合。所述数据处理设备可通过在确定所述AM边界的同时或之后,获知所述第一数据流的第一数据单元的边界。本发明实施例二中提及的第一数据单元为所述第一数据流的第一数据单元。

举例说明,所述数据处理设备可以通过AM Lock的方式,识别出所述第一数据单元携带的所述AM的边界。所述数据处理设备也可以通过FEC_CW Lock的方式,识别出所述第一数据流携带的FEC_CW的边界,并根据所述 FEC_CW的边界确定出所述第一数据单元的边界。

举例说明,所述第一数据流的AM可用于标识所述第一数据流。所述数据处理设备可利用所述AM,识别所述第一数据流。若所述AM的前边界与所述第一数据单元的前边界重合,则所述数据处理设备可识别出所述AM的前边界,并根据所述AM的前边界对所述第一数据流进行对齐操作。若所述AM 的后边界与所述第一数据单元的后边界重合,则所述数据处理设备可识别出所述AM的后边界,根据所述AM的后边界对所述第一数据流进行对齐操作。

图4为本发明实施例提供的一种携带AM的第一数据流的结构示意图。如图4所示,所述第一数据流的传输方向为图4中的箭头方向,即所示第一数据流的传输方向为从右向左。图4中的42可用于标识所述AM。图4中的41、 43和44分别用于标识所述第一数据流的一个数据单元。41所标识的数据单元的长度与43所标识的数据单元的长度相同,43所标识的数据单元的长度和44 所标识的数据单元的长度相同。图4中的41所标识的数据单元可携带所述AM 的部分数据。图4中的43所标识的数据单元可携带所述AM的部分数据。图 4中的44所标识的数据单元可携带所述AM的部分数据。a和b可分别用于标识41所标识的数据单元的边界。如图4所示的所述第一数据流的传输方向,所述a为41所标识的数据单元的前边界,所述b为41所标识的数据单元的后边界。所述a和c可分别用于标识所述AM的边界。如图4所示所述第一数据流的传输方向,所述a可用于标识所述AM的前边界,所述c可用于标识所述 AM的后边界。e和f可分别用于标识所述第一数据量的边界。如图4所示的所述第一数据流的传输方向,所述e为所述第一数据量的前边界,所述f为所述第一数据量的后边界。

举例说明,所述AM可占用所述第一数据流中的一个或多个数据单元,比如所述AM可占用3个所述数据单元,如图4中的41、43和44分别标识的数据单元,或者所述AM可占用3.5个所述数据单元。比如:若所述AM的长度大于或等于所述第一数据流的第一数据单元的长度,则所述AM的边界和所述第一数据流的第一数据单元的边界重合可包括:第一种情况,所述AM的前边界和所述第一数据流的第一数据单元的前边界重合。所述第一数据流的第一数据单元为图4中41所标识的数据单元,所述AM为图4中的42,所述第一数据流的第一数据单元为携带了所述AM的前边界的数据单元。所述AM的前边界和所述第一数据流的第一数据单元的前边界均为a。所述AM的后边界可以和所述第一数据流的第一数据单元的后边界重合,也可以和所述第一数据流的第一数据单元的后边界不重合。第二种情况,所述AM的后边界和所述第一数据流的第一数据单元的后边界可重合。所述第一数据单元可以为图4中的 44所标识的数据单元,所述AM为图4中的42,所述第一数据流的第一数据单元为携带所述AM后边界的数据单元。所述AM的后边界和所述第一数据流的第一数据单元的后边界均为c。所述AM的前边界可以和所述第一数据流的第一数据单元的前边界重合,也可以和所述第一数据流的第一数据单元的前边界不重合。若所述AM的长度小于所述第一数据流的第一数据单元的长度,则所述AM的前边界和所述第一数据流的第一数据单元的前边界重合,或者所述AM的后边界和所述第一数据流的第一数据单元的后边界重合。所述数据处理设备在读取所述第一数据流的所述第一数据量时,可以通过识别所述第一数据流携带的AM的边界,确定所述第一数据流中携带所述AM的第一数据单元的边界。

所述AM Lock的方式可以是对所述第一数据流携带的AM的锁定过程。所述数据处理设备可通过所述AM Lock的方式,确定出所述AM的边界的位置。举例说明,所述数据处理设备预先配置有所述第一数据流的AM图案。所述数据处理设备可将所述第一数据流与所述AM图案进行匹配,来识别所述第一数据流的所述AM。比如:所述第一数据流上携带至少两个AM,比如AM1 和AM2,所述AM1与所述AM2相邻,且所述AM1的后边界和所述AM2的前边界位于不同的数据量中。若所述数据处理设备在采用所述AM Lock方式,确定所述AM1和所述AM2分别与所述AM图案匹配,则所述数据处理设备将所述第一数据流锁定。如果所述数据处理设备需要获知所述第一数据流的第一数据单元的前边界,则所述数据处理设备可以将所述AM1和所述AM2中任意一个AM的前边界作为所述第一数据流的第一数据单元的前边界。如果所述数据处理设备需要获知所述第一数据流的第一数据单元的后边界,则所述数据处理设备可以将所述AM1和所述AM2中任意一个AM的后边界作为所述第一数据流的第一数据单元的后边界。

举例说明,若所述AM的前边界和所述第一数据流的第一数据单元的前边界重合,即所述第一数据流的第一数据单元携带了所述AM的前边界,则所述数据处理设备通过所述AM Lock的方式,识别出所述AM的前边界,所述AM 的前边界所述第一数据流的第一数据单元的前边界。第一skew可以为所述第一数据流的第一数据单元的前边界和所述第一数据量的前边界之间的长度,比如所述第一skew可以为如图4所示的e至a之间的长度。或者,第一skew可以为所述第一数据流的第一数据单元的前边界和所述第一数据量的后边界之间的长度,比如所述第一skew可以为如图4所示的a至f之间的长度。

举例说明,若所述AM的后边界和所述第一数据流的第一数据单元的后边界重合,即所述第一数据流的第一数据单元携带了所述AM的后边界,则所述数据处理设备通过上述AM Lock的方式,识别出所述AM的后边界,所述AM 的后边界可以为所述第一数据流的第一数据单元的后边界。第一skew为所述第一数据流的第一数据单元的后边界和所述第一数据量的后边界之间的长度,比如所述第一skew可以为如图4所示的c至f之间的长度。或者,第一skew 可以为所述第一数据流的第一数据单元的后边界和所述第一数据量的前边界之间的长度,比如所述第一skew可以为如图4所示的e至c之间的长度。

本发明的实施例中,数据处理设备可通过AM Lock的方式,快速准确的识别出所述第一数据流携带的AM的边界。所述数据处理设备可利用所述AM 的边界,确定所述第一数据流的第一数据单元的边界,所述第一数据流的第一数据单元携带了所述AM的边界。这样,所述数据处理设备可利用所述第一数据量的边界以及识别出的所述AM的边界,获得所述第一数据流的所述第一数据单元相对于所述第一数据量的skew,无需以其它数据流中的AM作为参考 AM,有助于节省FIFO资源,降低处理的复杂性和成本,有助于节约系统资源。

实施例三

本发明实施例三提供了一种调整所述第一数据流的方式。本发明实施例并不限定根据第一skew调整所述第一数据流的方式,能够实现第一数据量的前边界与调整后的第一数据流中的第一数据单元的前边界之间相差整数个所述第一数据单元的长度即可。本发明实施例三提供的调整所述第一数据流的方式,可应用于实施例一提供的方法中,也可应用于实施例一与实施例二结合的方法,还可应用于调整其它数据流,在此不再赘述。实施例三中的所述第一数据量可以与实施例一或实施例二中的第一数据量相同,在此不再赘述。实施例三中的所述第一数据流的第一数据单元可以与实施例一或实施例二中的第一数据单元相同,在此不再赘述。

本发明实施例三提供了至少三种所述数据处理设备根据所述第一skew调整所述第一数据流的方式。

第一种方式可以包括:所述数据处理设备根据所述第一skew的长度和整数个所述第一数据单元的长度的差值,获得第一长度,所述第一长度小于所述第一数据单元的长度;所述数据处理设备移除以所述第一数据量的边界开始、长度为第一长度的数据,获得调整后的第一数据流。

举例说明,所述调整后的第一数据流中,所述第一数据单元的边界与所述第一数据量的边界之间的数据的长度为整数个所述第一数据单元的长度,比如:所述第一数据量的长度是所述第一数据单元的长度的M倍,所述M为大于或等于1的整数。若所述M为1,则所述第一skew的长度为所述第一长度。

举例说明,若所述第一skew是根据所述第一数据单元的前边界和所述第一数据量的前边界获得的skew,所述第一skew的长度大于所述第一数据单元的长度,则所述第一长度为所述第一skew的长度和N个所述第一数据单元的长度的差值,所述N为所述第一skew所包含的所述第一数据单元的个数最大值。比如:若所述第一skew的长度为2.4个所述第一数据单元的长度,N为2,则所述第一长度为0.4个所述第一数据单元的长度。

举例说明,若所述第一skew是根据所述第一数据单元的后边界和所述第一数据量的后边界获得的skew,所述第一skew的长度大于所述第一数据单元的长度,所述AM的长度是所述第一数据单元的长度的整数倍,则所述第一长度为所述第一数据单元的长度与第一差值的差,所述第一差值为所述第一 skew的长度和L个所述第一数据单元的长度的差值,所述L个所述第一数据单元的长度大于或等于所述第一skew的长度。比如:若所述第一skew的长度为2.4个所述第一数据单元的长度,L为3,则所述第一差值为0.6个所述第一数据单元的长度,所述第一长度为0.4个所述第一数据单元的长度。若所述第一skew是根据所述第一数据单元的后边界和所述第一数据量的后边界获得的 skew,所述第一skew的长度小于所述第一数据单元的长度,所述AM的长度是所述第一数据单元的长度的整数倍,则所述第一长度为所述第一数据单元的长度与第一差值的差,所述第一差值为所述第一skew的长度。比如:若所述第一skew的长度为0.4个所述第一数据单元的长度,则所述第一差值为0.6 个所述第一数据单元的长度,所述第一长度为0.4个所述第一数据单元的长度。

举例说明,若所述第一skew是根据所述第一数据单元的后边界和所述第一数据量的后边界获得的skew,所述AM的长度是所述第一数据单元的长度的小数倍,所述数据处理设备可根据所述第一数据单元的后边界、所述AM的长度以及所述第一数据量的长度,获得所述AM的前边界相对于所述第一数据量的前边界间的数据的长度,即获得所述第一长度。在此不再对获得所述第一长度的方法进行逐一举例说明。

第二种方式可以包括:所述数据处理设备移除以所述第一数据量的边界开始、长度为第二长度的数据,获得调整后的第一数据流,所述第二长度为所述第一skew的长度。举例说明,所述数据处理设备根据所述第二长度,获得所述调整后的第一数据流。所述调整后的第一数据流中,所述第一数据量的前边界和所述第一数据流的第一数据单元的前边界重合。

第三种方式可以包括:所述数据处理设备根据所述第一skew的长度和X 个所述第一数据单元的长度的差值,获得第三长度,所述第三长度大于所述第一数据单元的长度,所述X大于或等于1且小于所述N;所述数据处理设备移除以所述第一数据量的边界开始、长度为第三长度的数据,获得调整后的第一数据流。举例说明,所述数据处理设备根据所述第三长度,获得所述调整后的第一数据流。所述调整后的第一数据流中,所述第一数据量的前边界和所述第一数据流的第一数据单元的前边界之间包括至少一个所述第一数据单元的长度。举例说明,若所述第一skew是根据所述第一数据单元的前边界和所述第一数据量的前边界获得的skew,所述第一skew的长度为2.4个所述第一数据单元的长度,X为1,则所述第三长度为1.4个所述第一数据单元的长度。

本发明实施例中的第一数据流可包括至少两个数据单元,比如图2对应的实施例中提及的所述第一数据流包括第一数据单元和第二数据单元,所述第一数据单元的长度和所述第二数据单元的长度相同。

图5a为本发明实施例提供的一种第一数据流的示意图。图5a中所示的所述第一数据流的传输方向为从右至左,即图5a中箭头所示的方向。若所述第一数据流的第一数据单元的长度为10bit,所述第一数据量的长度为10个所述第一数据流的第一数据单元的长度,则所述第一数据量的长度为100bit。如图 5a所示,所述第一skew是根据所述第一数据量的前边界以及所述第一数据流的第一数据单元的前边界确定的skew,所述第一skew的长度为43bit。

若所述数据处理设备采用所述第一种方式获得所述第一长度,则所述第一长度可以为3bit。若所述第一长度为3bit,则所述第一长度可以是根据所述第一skew的长度减去4个所述第一数据单元的长度获得的长度。所述数据处理设备可根据所述第一长度,移除以所述第一数据量的前边界开始、长度为3bit 的数据。所述调整后的第一数据流如图5b所示。图5b为本发明实施例提供的一种调整后的第一数据流的示意图。所述调整后的所述第一数据流的第一数据单元的前边界与所述第一数据量的前边界之间的数据长度表示为D,所述D 为所述第一数据流的第一数据单元的长度的4倍。若所述数据处理设备采用所述第二种方式获得所述第二长度,则所述第二长度可以为43bit。所述数据处理单元可根据所述第二长度,移除以所述第一数据量的前边界开始、长度为 43bit的数据。若所述数据处理设备采用所述第三种方式获得所述第三长度,则所述第三长度可以为13bit、23bit或33bit。所述第三长度为13bit、23bit或 33bit的处理方式与所述第一长度为3bit相同,在此不再赘述。

可选地,所述数据处理设备可采用第一数据流的第一数据单元的前边界和第一数据量的前边界,获得第一skew。如图5a所示,所述第一skew为43bit。所述数据处理设备可采用所述第一种方式获得调整后的第一数据流,即所述数据处理设备可移除以所述第一数据量的后边界开始、长度为第一长度的数据。这种情况下,所述第一长度可以为-7bit、-17bit等。若所述第一长度为-7bit,则所述第一长度可以是根据所述第一skew的长度减去5个所述第一数据单元的长度获得的长度。所述数据处理设备可以移除以所述第一数据量的后边界开始、长度为7bit的数据,获得调整后的第一数据流。所述调整后的第一数据流中,所述第一数据流的第一数据单元的后边界与所述第一数据量的后边界之间相差4个所述第一数据流的第一数据单元的长度。所述第一长度为-17bit等的处理方式与所述第一长度为-7bit相同,在此不再赘述。

若所述数据处理设备采用所述第二种方式,则所述第二长度为所述第一 skew的长度,即所述第二长度为43bit。若所述第一skew是根据第一数据量的前边界以及所述第一数据流的第一数据单元的前边界所确定,则所述数据处理设备采用所述第二种方式,移除以所述第一数据量的前边界开始、长度为所述第二长度的数据。所述调整后的第一数据流可以参阅图5c,图5c为本发明实施例提供的一种调整后的第一数据流的示意图。所述调整后的所述第一数据流的第一数据单元的前边界与所述第一数据量的前边界重合。

本发明的实施例中,所述数据处理设备根据第一skew调整所述第一数据流,使得调整后所述第一数据流中的第一数据单元的边界与所述第一数据量的边界之间相差整数个所述第一数据流的第一数据单元的长度,可以满足复用的条件,降低了操作复杂性和成本,有利于位宽变换的部署和实施。

实施例四

本发明实施例四中的数据处理设备可以并行处理多条数据流。本发明实施例四中,所述数据处理设备可在处理第一数据流的同时或之后,处理第二数据流。如图6所示,本发明实施例四提供了所述数据处理设备处理所述第二数据流的方法,本发明实施例四未对所述数据处理设备处理所述第一数据流的方法进行说明,所述数据处理设备处理所述第一数据流的方法可参见实施例一至实施例三中的任意一个实施例,在此不再赘述。

图6为本发明实施例提供的一种数据处理方法的方法流程图,包括:

S601:所述数据处理设备接收第二数据流,所述第二数据流包括第一数据单元和第二数据单元,所述第二数据流的第一数据单元和所述第二数据流的第二数据单元的长度相同。

举例说明,所述第二数据流和所述第一数据流可以为经同一次FEC处理后得到的并行数据流中的数据流,可以用于位宽变换。所述第二数据流的第一数据单元和所述第一数据流的第一数据单元的长度可以相同。所述第二数据流的第一数据单元的长度可以是至少一个bit。即所述第二数据流的第一数据单元可包括一个bit或一个以上bit。例如:所述第二数据流的第一数据单元可以是一个symbol,所述symbol的长度可以为10bit。所述第二数据流的第一数据单元的长度也可以是一个bit。在此不再对所述第二数据流的第一数据单元的长度进行举例说明。所述第二数据流的第一数据单元长度和所述第二数据流的第二数据单元的长度相同,可以为所述第二数据流的第一数据单元和所述第二数据流的第二数据单元具有相同的bit数。

举例说明,所述数据处理设备可以同时接收所述第一数据流和所述第二数据流,并对所述第一数据流和所述第二数据流同时进行调整。在具体的实施场景下,所述第一数据流和所述第二数据流可以是FEC处理后的数据流。

S602:所述数据处理设备获得所述第二数据流的第一数据单元的边界。

所述数据处理设备获得所述第二数据流的第一数据单元的边界的方式与S202中获得所述第一数据流的第一数据单元的边界的方式相似,这里不再赘述。

S603:所述数据处理设备根据第二数据量以及所述第二数据流的第一数据单元的边界,获得第二skew,所述第二数据量是所述数据处理设备在预先设定的时间内接收到的数据,所述第二数据量中包括所述第二数据流的第一数据单元的边界。

举例说明,所述预先设定的时间可以与实施例一中预先设定的时间相同。所述数据处理设备可采用实施例一至实施例三中任一实施例提供的获得第一 skew的方法,获得所述第二skew的方式,在此不再赘述。

举例说明,所述数据处理设备根据第二数据量以及所述第二数据流的第一数据单元的边界,获得第二skew:所述数据处理设备根据所述第二数据量的前边界和所述第二数据流的第一数据单元的前边界,获得所述第二skew。如图3所示,所述第二skew可以如图3所示的c至a之间的长度,即图3所示的c和a之间的bit数量。或者,

所述数据处理设备根据第二数据量以及所述第二数据流的第一数据单元的边界,获得第二skew:所述数据处理设备根据所述第二数据量的后边界和所述第二数据流的第一数据单元的后边界,获得所述第二skew。如图3所示,所述第二skew可以如图3所示的b至d之间的长度,即图3所示的b和d之间的bit数量。或者,

所述数据处理设备根据第二数据量以及所述第二数据流的第一数据单元的边界,获得第二skew:所述数据处理设备根据所述第二数据量的前边界和所述第二数据流的第一数据单元的后边界,获得所述第二skew。如图3所示,所述第二skew可以如图3所示的c至b之间的长度,即图3所示的c和b之间的bit数量。或者,

所述数据处理设备根据第二数据量以及所述第二数据流的第一数据单元的边界,获得第二skew:所述数据处理设备根据所述第二数据量的后边界和所述第二数据流的第一数据单元的前边界,获得所述第二skew。如图3所示,所述第二skew可以如图3所示的a至d之间的长度,即图3所示的a和d之间的bit数量。

可选的,所述第二数据量和所述第一数据量的长度可以相同,有助于所述数据处理设备并行处理所述第一数据流和所述第二数据流时,简化处理和节约系统资源。

S604:所述数据处理设备根据所述第二skew调整所述第二数据流,使得所述第二数据流的第一数据单元的边界与所述第二数据量的边界相差整数个所述第二数据流的第一数据单元的长度。

举例说明,所述数据处理设备可采用实施例一至实施例三中任一实施例提供的方法,调整所述第二数据流,在此不再赘述。

图7a为本发明实施例提供的一种并行处理数据流的示意图。在图7a中,所述第一数据量和所述第二数据量的长度可以相同,比如所述第一数据量和所述第二数据量均为100bit。701用于标识所述第一数据流的第一数据单元。702 用于标识所述第二数据流的第一数据单元。701所标识的第一数据单元和702 所标识的第一数据单元的长度相同,比如均为10bit。所述第一数据流和所述第二数据流的传输方向均为从右向左,如图7a所示箭头方向。所述数据处理设备可采用AM Lock的方式,获得701所标识的第一数据单元的边界和702 所标识的第一数据单元的边界。在图7a中,所述数据处理设备根据所述第一数据量的前边界和701所标识的第一数据单元的前边界,获得第一skew,所述第一skew可表示为图7a中的A。所述数据处理设备根据所述第二数据量的前边界和702所标识的第一数据单元的前边界,获得所述第二skew,所述第二skew可表示为图7a中的B。其中,所述A的长度可以为43bit,所述B的长度可以为71bit。

如图7a所示,若所述数据处理设备采用本发明实施例三中的第一种方式,调整所述第一数据流和所述第二数据流,则所述数据处理设备获得的第一长度可以为3bit,所述第一长度为用于调整所述第一数据流的长度。所述数据处理设备还获得用于调整所述第二数据流的长度,所述用于调整所述第二数据流的长度可以为1bit。所述数据处理设备移除以所述第一数据量的前边界开始、长度为所述第一长度的数据,比如移除3bit的数据,获得调整后的第一数据流。所述数据处理设备移除以所述第二数据量的前边界开始、长度为用于调整所述第二数据流的长度,比如移除1bit的数据,获得调整后的第二数据流。

图7b为本发明实施例提供的一种调整后的并行数据流的示意图。如图7b 所示,调整后的第一数据流的第一数据单元的前边界和所述第一数据量的前边界之间的长度是所述第一数据流的第一数据单元的长度的4倍,比如所述第一数据流的第一数据单元的长度为10bit,图7b中的A′表示调整后的第一数据流的第一数据单元的前边界和所述第一数据量的前边界之间的长度,所述A′可以为40bit。如图7b所示,调整后的第二数据流的第一数据单元的前边界和所述第二数据量的前边界之间的长度是所述第二数据流的第一数据单元的长度的7倍,比如所述第二数据流的第一数据单元的长度为10bit,图7b中的B ′表示调整后的第二数据流的第一数据单元的前边界和所述第一数据量的前边界之间的长度,所述B′可以为70bit。

本发明的实施例中,数据处理设备在预设时间内获取包括第二数据流的第一数据单元的边界的第一数据量;所述数据处理设备根据所述第一数据量以及所述第二数据流的第一数据单元的边界,确定出第二skew;所述数据处理设备根据所述第二skew调整所述第二数据流,使得所述第二数据流的第一数据单元的边界与所述第一数据量的边界之间相差整数个所述第二数据流的第一数据单元的长度。所述数据处理设备以所述第一数据量为参考,调整所述第二数据流的第一数据单元的边界相对于所述第一数据量的边界的 skew,有助于降低需处理的数据,所述数据处理设备获得的调整后的第二数据流可以满足后续位宽变换的条件,降低了操作复杂性和成本,有利于位宽变换的部署和实施,有助于减少占用FIFO资源。

在进行所述数据处理的过程中,对于不同的应用场景,数据处理后获得的调整后的数据流中的粒度可以不同。所述粒度可以理解为数据流的基本单位,例如数据处理后获得的调整后的数据流的粒度可以为10bit长度的symbol。粒度越小,数据流中的基本单位就越小。粒度越大,数据流中的基本单位就越大。可选的,所述数据处理设备以第一数据单元为粒度,发送调整后的第一数据流和调整后的第二数据流。由于所述第一数据流的第一数据单元的长度和所述第二数据流的第一数据单元的长度相同,所以所述第一数据单元可以是所述第一数据流的第一数据单元,或者是所述第二数据流的第一数据单元。所述数据处理设备以轮询的方式发送调整后的第一数据流和调整后的第二数据流。所述轮询的发送方式可以为所述数据处理设备依次发送调整后的第一数据流和调整后的第二数据流中的数据单元。比如:所述数据处理设备可以依次发送调整后的第一数据流中的一个数据单元、调整后的第二数据流中的一个数据单元、调整后的第一数据流中的另一数据单元和调整后的第二数据流中的另一个数据单元。所述调整后的第一数据流中的一个数据单元和所述调整后的第一数据流中的另一个数据单元相邻;所述调整后的第二数据流中的一个数据单元和所述调整后的第二数据流中的另一个数据单元相邻。如果所述数据处理设备采用轮询的发送方式,接收所述调整后的第一数据流和调整后的第二数据流的可以是调制器、编码器或预编码器。

在位宽变换的场景下,所述数据处理设备可以向多路复用器发送调整后的所述第一数据流和调整后的所述第二数据流,以便所述多路复用器进行位宽变换操作。换句话说,所述数据处理设备可以向多路复用器发送调整后的第一数据流和调整后的第二数据流,所述多路复用器用于将所述调整后的第一数据流和所述调整后的第二数据流复用生成第三数据流。所述多路复用器与所述数据处理设备对应,即所述多路复用器可接收所述数据处理设备发送的所述调整后的第一数据流和所述调整后的第二数据流。

所述数据处理设备发送调整后的数据流的粒度可以和所述多路复用器的复用调整后的数据流的粒度不同,也可以相同。比如,所述数据处理设备发送调整后的第一数据流的粒度为所述第一数据流的第一数据单元,所述数据处理设备发送调整后的第二数据流的粒度为所述第二数据流的第一数据单元,所述第一数据流的第一数据单元和所述第二数据流的第一数据单元的长度可均为 10bit。所述多路复用器复用调整后的第一数据流和调整后的第二数据流的粒度可以为10bit,也可以为小于10bit的粒度,比如1bit,也可以为大于10bit的粒度,比如20bit。

实施例五

本发明实施例可以应用于对数据流的位宽变换之前,本发明实施例五将通过位宽变换这一具体应用场景,进一步描述在位宽变换的过程中,变换电路、多路复用器(Multiplexer,Mux)和数据处理设备之间的关系。

变换电路可包括多路复用器和数据处理设备。如果一个变换电路需要将接收到的M’条数据流复用生成N’条数据流时,所述变换电路包括N’个所述多路复用器,每个多路复用器将接收到的K’条数据流复用成一条数据流,所述 K’为大于或等于2的整数,所述K’为M’除以N’所获得的商,即所述K’可以为M’/N’的商。在多路复用器复用数据流之前,所述变换电路中的数据处理设备可对用于复用的数据流进行调整。本发明实施例中的所述数据处理设备与所述多路复用器一一对应,即所述变换电路可包括N’个数据处理设备。其中,所述N’为大于等于1的整数,M’为大于N’的整数。所述数据处理设备不需要以M’条数据流中的一条数据流为参考,对M’条数据流中的剩余数据流进行调整。所述数据处理设备可采用本发明实施例提供的方法,对K’条数据流中的每条数据流进行调整,有助于降低了所述数据处理设备的处理负担和处理复杂程度。

如图8所示,图8为本发明实施例提供的一种位宽变换场景的示意图。在图8中,M’为16,N’为8,K’为2。8个多路复用器分别为Mux Group_1至 Mux Group_8。以Mux Group_1对应的数据处理设备为例,所述数据处理设备可读取两条数据流,比如Mux Group_1对应的数据处理设备读取的为第一数据流和第二数据流。所述数据处理设备以预先设定的时间为周期,可从所述第一数据流中读取第一数据量,从所述第二数据流中读取第二数据量。所述第一数据量和所述第二数据量可以为所述数据处理设备在同一个预先设定的时间内读取的数据量。所述第一数据量的长度和所述第二数据量的长度相同。

举例来说,所述数据处理的执行主体可以是数据处理设备。所述数据处理设备可以设于变换电路中。所述数据处理设备可以是物理层(physical layer, PHY)、PHY芯片(PHY chip)、系统芯片(system chip)或者多端口以太网设备(multi-port Ethernet device)中的部件。所述PHY可以通过现场可编程门阵列(field programmable gate array,FPGA)或者专用集成电路(application-specific integrated circuit,ASIC)实现。所述PHY可以是网络接口卡(Network Interface Card,NIC)中的部件,所述NIC可以是线卡(Line Card)或者PIC(Physical Interface Card,物理接口卡)。所述PHY可以包含用于连接到介质访问控制 (Medium Access Control,MAC)的媒体无关接口(Media-Independent Interface,MII)。

本发明的实施例除了可以应用于以太网和光传输网络(Optical Transport Network,OTN)以外,还可以应用于其他需要进行位宽变换的网络环境中。

所述变换电路在进行数据流复用的位宽变换操作时,所述多路复用器用于输出复用后的数据流,比如说在进行M’到N’的位宽变换的变换电路中,Mux Group_1至Mux Group_8输出条数据流后,所述变换电路将所述8条数据流向下一个网络节点发送,所述下一个网络节点可以是其他变换电路或接收设备等。每个所述数据处理设备可用于接收所述K’条数据流,对所述K’条数据流进行调整。

本发明实施例提供的数据处理方法可应用与光模块中。通过应用本发明实施例提供的数据处理方法,所述光模块中不需要进行完整的deskew操作,所述光模块在对所述第一数据流进行调整时可无需参考其它数据流,能够实现调整后的所述第一数据流的第一数据单元的边界与第一数据量的边界之间相差整数个所述第一数据单元的长度。这样,所述调整后的第一数据流就已经满足位宽变化的基本条件。本发明实施例提供的方法,无需光模块具有较高的数据处理能力,简化了数据处理操作,有助于降低光模块内部数据处理结构的复杂程度,节约成本。在光模块的应用场景下,所述第一数据流和所述第二数据流可以为电芯片中的数据流,第三数据流可以为光芯片中的数据流,所述第三数据流为所述第一数据流和所述第二数据流复用后获得的数据流。

实施例六

图9为本发明实施例提供的一种数据处理设备的设备结构图。所述数据处理设备900可以包括:

第一接收单元901,用于接收第一数据流,所述第一数据流包括第一数据单元和第二数据单元,所述第一数据单元和所述第二数据单元的长度相同。

举例说明,所述第一数据流可以为经FEC处理后获得的并行数据流中的任意一条数据流。比如:FEC模块可以接收或生成码字(codeword,CW)。所述FEC模块将所述码字转换为多个数据单元后,将所述多个数据单元以并行方式输出至所述数据处理设备,所述并行数据流中的任意一条数据流可以为所述第一数据流。如果一个码字的大小为5280比特(bit),一个数据单元的大小为10bit,则一个码字可包括528个数据单元,所述FEC模块可以通过两条并行的数据流,输出所述528个数据单元至所述数据处理设备。

所述第一数据流可以是用于进行位宽变换的至少两条数据流中的一条。所述第一数据流可以是经FEC处理后获得的一条数据流。所述第一数据流可包括多个数据单元,比如所述第一数据单元和所述第二数据单元。所述第一数据流的第一数据单元的长度可以是至少一个比特(bit),即所述第一数据流的第一数据单元可包括一个bit或一个以上bit。例如:所述第一数据流的第一数据单元可以是一个symbol,所述symbol的长度可以为10bit。所述第一数据流的第一数据单元的长度也可以是一个bit。在此不再对所述第一数据流的第一数据单元的长度进行举例说明。所述第一数据流的第一数据单元的长度和所述第一数据流的第二数据单元的长度相同,可以为所述第一数据流的第一数据单元和所述第一数据流的第二数据单元具有相同的bit数,比如所述第一数据流的第一数据单元为一个symbol,所述第一数据流的第二数据单元也为一个 symbol。

第一获得单元902,用于获得所述第一数据单元的边界。

举例说明,所述第一数据单元的边界可以为所述第一数据流的第一数据单元的前边界,或者为所述第一数据流的第一数据单元的后边界。所述第一数据单元的前边界可以理解为所述第一数据单元包括的两条边界中,在传输方向上位置较为靠前的边界。所述传输方向为所述第一数据流的传输方向。所述第一数据单元的后边界可以理解为所述第一数据单元包括的两条边界中,在所述传输方向上位置较为靠后的边界。

举例说明,本发明不限定所述第一获得单元902获得所述第一数据流的第一数据单元边界的方法。本发明实施例也提供了一种优选的所述第一获得单元 902获取所述第一数据流的第一数据单元边界的方式,将在实施例七中详细说明,这里不再赘述。

举例说明,所述第一获得单元902可通过AM Lock的方式或FEC_CW Lock的方式,获得所述第一数据流的第一数据单元的边界,在下述实施例七中进行详细说明,在此不再赘述。

第二获得单元903,用于根据第一数据量以及所述第一数据单元的边界,获得第一偏移skew,所述第一数据量是所述数据处理设备在预先设定的时间内接收到的数据,所述第一数据量中包括所述第一数据单元的边界。

举例说明,所述第一数据量可以理解为所述第一数据流的一部分连续数据;所述第一数据量的边界可以为所述第一数据量的前边界,或者为所述第一数据量的后边界。所述第一数据量的前边界可以理解为所述第一数据量包括的两条边界中,在传输方向上位置较为靠前的边界。所述传输方向为所述第一数据流的传输方向。所述第一数据量的后边界可以理解为所述第一数据量包括的两条边界中,在所述传输方向上位置较为靠后的边界。

可选的,所述预先设定的时间可以包括一个或多个时钟周期,所述时钟周期可以理解为所述数据处理设备的工作时钟的周期。

可选的,所述第一数据量的长度为所述第一数据单元长度的正整数倍。

举例说明,所述第一数据量的边界可以为所述第一数据量的前边界,或者为所述第一数据量的后边界。所述第一数据量的前边界可以理解为所述第一数据量包括的两条边界中,在所述传输方向上位置较为靠前的边界。所述第一数据量的后边界可以理解为所述第一数据量包括的两条边界中,在所述传输方向上位置较为靠后的边界。

举例说明,所述第二获得单元903根据第一数据量以及所述第一数据单元的边界,获得第一skew包括:所述第二获得单元903根据所述第一数据量的前边界和所述第一数据流的第一数据单元的前边界,获得所述第一skew。如图3所示,所述第一skew可以如图3所示的c至a之间的长度,即图3所示的c和a之间的bit数量。或者,

所述第二获得单元903根据第一数据量以及所述第一数据单元的边界,获得第一skew包括:所述第二获得单元903根据所述第一数据量的后边界和所述第一数据流的第一数据单元的后边界,获得所述第一skew。如图3所示,所述第一skew可以如图3所示的b至d之间的长度,即图3所示的b和d之间的bit数量。或者,

所述第二获得单元903根据第一数据量以及所述第一数据单元的边界,获得第一skew包括:所述第二获得单元903根据所述第一数据量的前边界和所述第一数据流的第一数据单元的后边界,获得所述第一skew。如图3所示,所述第一skew可以如图3所示的c至b之间的长度,即图3所示的c和b之间的bit数量。或者,

所述第二获得单元903根据第一数据量以及所述第一数据单元的边界,获得第一skew包括:所述第二获得单元903根据所述第一数据量的后边界和所述第一数据流的第一数据单元的前边界,获得所述第一skew。如图3所示,所述第一skew可以如图3所示的a至d之间的长度,即图3所示的a和d之间的bit数量。

第一调整单元904,用于根据所述第一skew调整所述第一数据流,使得所述第一数据单元的边界与所述第一数据量的边界之间相差整数个所述第一数据单元的长度。

举例说明,所述第一调整单元904处理的所述第一数据流的第一数据单元的边界可以与所述第二获得单元903获得第一skew所采用的所述第一数据流的第一数据单元的边界相同。所述第一调整单元904处理的所述第一数据量的边界可以与所述第二获得单元903获得所述第一skew所采用的所述第一数据量的边界相同。比如:若所述第二获得单元903根据所述第一数据量的前边界和所述第一数据流的第一数据单元的前边界获得所述第一skew,则所述所述第一调整单元904通过所述第一skew调整所述第一数据流,使得所述第一数据流的第一数据单元的前边界与所述第一数据量的前边界之间相差整数个所述第一数据流的第一数据单元的长度。

举例说明,所述第一调整单元904处理的所述第一数据流的第一数据单元的边界可以与所述第二获得单元903获得所述第一skew所采用的所述第一数据流的第一数据单元的边界不同。所述第一调整单元904处理的所述第一数据量的边界可以与所述第二获得单元903获得所述第一skew所采用的所述第一数据量以及所述第一数据流的第一数据单元的边界不同。比如:若所述第二获得单元903根据所述第一数据量的后边界和所述第一数据流的第一数据单元的后边界获得所述第一skew,则所述第一调整单元904通过所述第一skew调整所述第一数据流,使得所述第一数据流的第一数据单元的前边界与所述第一数据量的前边界之间相差整数个所述第一数据流的第一数据单元的长度。若所述第二获得单元903根据所述第一数据量的前边界和所述第一数据流的第一数据单元的后边界获得所述第一skew,则所述第一调整单元904通过所述第一skew调整所述第一数据流,使得所述第一数据流的第一数据单元的前边界与所述第一数据量的前边界之间相差整数个所述第一数据流的第一数据单元的长度。若所述第二获得单元903根据所述第一数据量的后边界和所述第一数据流的第一数据单元的前边界获得所述第一skew,则所述第一调整单元904 通过所述第一skew调整所述第一数据流,使得所述第一数据流的第一数据单元的前边界与所述第一数据量的前边界之间相差整数个所述第一数据流的第一数据单元的长度。若所述第二获得单元903根据所述第一数据量的前边界和所述第一数据流的第一数据单元的前边界获得所述第一skew,则所述第一调整单元904通过所述第一skew调整所述第一数据流,可使得所述第一数据流的第一数据单元的后边界与所述第一数据量的后边界之间相差整数个所述第一数据流的第一数据单元的长度。在此不再对可能的实现方式进行逐一举例说明。

本发明的实施例中,数据处理设备在预设时间内获取包括第一数据单元的边界的第一数据量;所述数据处理设备根据所述第一数据量以及所述第一数据单元的边界,确定出第一skew;所述数据处理设备根据所述第一 skew调整所述第一数据流,使得所述第一数据单元的边界与所述第一数据量的边界之间相差整数个所述第一数据单元的长度。所述数据处理设备以所述第一数据量为参考,调整所述第一数据单元的边界相对于所述第一数据量的边界的skew,有助于降低需处理的数据,所述数据处理设备获得的调整后的第一数据流可以满足后续位宽变换的条件,降低了操作复杂性和成本,有利于位宽变换的部署和实施,有助于减少占用FIFO资源。

实施例七

本发明实施例七提供了一种所述第一获得单元902获得所述第一数据流的第一数据单元的边界的方式。本发明实施例七提供的所述第一获得单元902 获得所述第一数据单元的边界的方式可应用于实施例六提供的所述第一获得单元902中,也可应用于所述第一获得单元902获取其它数据流的第一数据单元的边界,在此不再赘述。本发明实施例七中,所述AM的前边界与所述第一数据单元的前边界重合,或者所述AM的后边界与所述第一数据单元的后边界重合。本发明实施例七中提及的第一数据单元为所述第一数据流的第一数据单元。

举例说明,所述第一获得单元902可以通过AM Lock的方式,识别出所述第一数据单元携带的所述AM的边界。所述第一获得单元902也可以通过 FEC_CW Lock的方式,识别出所述第一数据流携带的FEC_CW的边界,并根据所述FEC_CW的边界确定出所述第一数据单元的边界。

举例说明,所述AM所述第一数据流中的一个或多个数据单元,比如所述 AM可占用3个所述数据单元,如图4中的41、43和44分别标识的数据单元,或者所述AM可占用3.5个所述数据单元。比如:若所述AM的长度大于或等于所述第一数据流的第一数据单元的长度,则所述AM的边界和所述第一数据流的第一数据单元的边界重合可包括:第一种情况,所述AM的前边界和所述第一数据流的第一数据单元的前边界重合。所述第一数据流的第一数据单元为图4中41所标识的数据单元,所述AM为图4中的42,所述第一数据流的第一数据单元为携带了所述AM的前边界的数据单元。所述AM的前边界和所述第一数据流的第一数据单元的前边界均为a。所述AM的后边界可以和所述第一数据流的第一数据单元的后边界重合,也可以和所述第一数据流的第一数据单元的后边界不重合。第二种情况,所述AM的后边界和所述第一数据流的第一数据单元的后边界可重合。所述第一数据单元可以为图4中的44所标识的数据单元,所述AM为图4中的42,所述第一数据流的第一数据单元为携带所述AM后边界的数据单元。所述AM的后边界和所述第一数据流的第一数据单元的后边界均为c。所述AM的前边界可以和所述第一数据流的第一数据单元的前边界重合,也可以和所述第一数据流的第一数据单元的前边界不重合。若所述AM的长度小于所述第一数据流的第一数据单元的长度,则所述 AM的前边界和所述第一数据流的第一数据单元的前边界重合,或者所述AM 的后边界和所述第一数据流的第一数据单元的后边界重合。所述第二获得单元 903在读取所述第一数据流的所述第一数据量时,可以通过识别所述第一数据流携带的AM的边界,确定所述第一数据流中携带所述AM的第一数据单元的边界。

所述AM Lock的方式可以是对所述第一数据流携带的AM的锁定过程。所述第一获得单元902可通过所述AM Lock的方式,确定出所述AM的边界的位置。举例说明,所述第一获得单元902预先配置有所述第一数据流的AM 图案。所述第一获得单元902可将所述第一数据流与所述AM图案进行匹配,来识别所述第一数据流的所述AM。比如:所述第一数据流上携带至少两个 AM,比如AM1和AM2,所述AM1与所述AM2相邻,且所述AM1的后边界和所述AM2的前边界位于不同的数据量中。在采用所述AM Lock方式,确定所述AM1和所述AM2分别与所述AM图案匹配,则所述第一获得单元902 将所述第一数据流锁定。如果所述第一获得单元902需要获知所述第一数据流的第一数据单元的前边界,则所述第一获得单元902可以将所述AM1和所述 AM2中任意一个AM的前边界作为所述第一数据流的第一数据单元的前边界。如果所述第一获得单元902需要获知所述第一数据流的第一数据单元的后边界,则所述第一获得单元902可以将所述AM1和所述AM2中任意一个AM 的后边界作为所述第一数据流的第一数据单元的后边界。

举例说明,若所述AM的前边界和所述第一数据流的第一数据单元的前边界重合,即所述第一数据流的第一数据单元携带了所述AM的前边界,则所述第一获得单元902通过所述AM Lock的方式,识别出所述AM的前边界,所述AM的前边界可以为所述第一数据流的第一数据单元的前边界。第一skew 可以为所述第一数据流的第一数据单元的前边界和所述第一数据量的前边界之间的长度,比如所述第一skew可以为如图4所示的e至a之间的长度。或者所述第一skew可以为所述第一数据流的第一数据单元的前边界和所述第一数据量的后边界之间的长度,比如所述第一skew可以为如图4所示的a至f 之间的长度。

举例说明,若所述AM的后边界和所述第一数据流的第一数据单元的后边界重合,即所述第一数据流的第一数据单元携带了所述AM的后边界,则所述第一获得单元902通过上述AM Lock的方式,识别出所述AM的后边界,所述AM的后边界可以为所述第一数据流的第一数据单元的后边界。第一skew 可以为所述第一数据流的第一数据单元的后边界和所述第一数据量的后边界之间的长度,比如所述第一skew可以为如图4所示的c至f之间的长度。或者,第一skew可以为所述第一数据流的第一数据单元的后边界和所述第一数据量的前边界之间的长度,比如所述第一skew可以为如图4所示的e至f之间的长度。

本发明的实施例中,数据处理设备可通过AM Lock的方式,快速准确的识别出所述第一数据流携带的AM的边界。所述数据处理设备可利用所述AM 的边界,确定所述第一数据流的第一数据单元的边界,所述第一数据流的第一数据单元携带了所述AM的边界。这样,所述数据处理设备可利用所述第一数据量的边界以及识别出的所述AM的边界,获得所述第一数据流的所述第一数据单元相对于所述第一数据量的skew,无需以其它数据流中的AM作为参考 AM,有助于节省FIFO资源,降低处理的复杂性和成本,有助于节约系统资源。

实施例八

本发明实施例八提供了一种所述第一调整单元904调整所述第一数据流的方式。本发明实施例并不限定所述第一调整单元904根据第一skew调整所述第一数据流的具体方式,能够实现调整后的第一数据流中的第一数据单元的边界与第一数据量的边界之间相差整数个所述第一数据单元的长度即可。本发明实施例八提供的调整所述第一数据流的方式,可应用于实施例六提供的所述第一调整单元904中,也可应用于实施例六与实施例七结合的所述第一调整单元904中,还可应用于所述第一调整单元904调整其它数据流,在此不再赘述。所述第一数据量可以与实施例六或实施例七中的第一数据量相同,在此不再赘述。所述第一数据流的第一数据单元可以与实施例六或实施例七中的第一数据单元相同,在此不再赘述。本发明实施例八中提及的第一数据单元为所述第一数据流中的第一数据单元。

本发明实施例八提供了以下所述第一调整单元904根据所述第一skew调整所述第一数据流的方式。

第一种方式可以包括:所述第一调整单元904根据所述第一skew的长度和整数个所述第一数据单元的长度的差值,获得第一长度,所述第一长度小于所述第一数据单元的长度;所述第一调整单元904移除以所述第一数据量的边界开始、长度为第一长度的数据,获得调整后的第一数据流。

第二种方式可以包括:所述第一调整单元904移除以所述第一数据量的边界开始、长度为第二长度的数据,获得调整后的第一数据流,所述第二长度为所述第一skew的长度。举例说明,所述第一调整单元904根据所述第二长度,获得所述调整后的第一数据流。所述调整后的第一数据流中,所述第一数据量的前边界和所述第一数据流的第一数据单元的前边界重合。

第三种方式可以包括:所述第一调整单元904根据所述第一skew的长度和X个所述第一数据单元的长度的差值,获得第三长度,所述第三长度大于所述第一数据单元的长度,所述X大于或等于1且小于所述N;所述第一调整单元904移除以所述第一数据量的边界开始、长度为第三长度的数据,获得调整后的第一数据流。举例说明,所述第一调整单元904根据所述第三长度,获得所述调整后的第一数据流。所述调整后的第一数据流中,所述第一数据量的前边界和所述第一数据流的第一数据单元的前边界之间包括至少一个所述第一数据单元的长度。

本发明实施例中的第一调整单元904可采用实施例三中的三种方式进行调整,在此不再对具体实例进行赘述。

本发明的实施例中,所述第一调整单元904根据第一skew调整所述第一数据流,使得调整后所述第一数据流中的第一数据单元的边界与所述第一数据量的边界之间相差整数个所述第一数据流的第一数据单元的长度,可以满足复用的条件,降低了操作复杂性和成本,有利于位宽变换的部署和实施。

实施例九

本发明实施例九中的数据处理设备900可以并行处理多条数据流。本发明实施例九中,所述数据处理设备900可在处理第一数据流的同时或之后,处理第二数据流。如图10所示,本发明实施例九提供了所述数据处理设备900处理所述第二数据流的方法,本发明实施例九未对所述数据处理设备900处理所述第一数据流的方法进行说明,所述数据处理设备900处理所述第一数据流的方法可参见实施例六至实施例八中的任意一个实施例,在此不再赘述。

图10为本发明实施例提供的一种数据处理设备的设备结构图,所述数据处理设备900还包括:

第二接收单元1001,用于接收第二数据流,所述第二数据流包括第一数据单元和第二数据单元,所述第二数据流的第一数据单元和所述第二数据流的第二数据单元的长度相同。

举例说明,所述第二数据流和所述第一数据流可以为经同一次FEC处理后得到的并行数据流中的数据流,可以用于位宽变换。所述第二数据流的第一数据单元和所述第一数据流的第一数据单元的长度可以相同。所述第二数据流的第一数据单元的长度可以是至少一个bit。即所述第二数据流的第一数据单元可包括一个bit或一个以上bit。例如:所述第二数据流的第一数据单元可以是一个symbol,所述symbol的长度可以为10bit。所述第二数据流的第一数据单元的长度也可以是一个bit。在此不再对所述第二数据流的第一数据单元的长度进行举例说明。所述第二数据流的第一数据单元长度和所述第二数据流的第二数据单元的长度相同,可以为所述第二数据流的第一数据单元和所述第二数据流的第二数据单元具有相同的bit数。所述第二接收单元1001与实施例六中的所述第一接收单元901可以相同,也可以不同。

举例说明,所述数据处理设备900可以通过所述第一接收单元901和所述第二接收单元1001同时接收所述第一数据流和所述第二数据流,并对所述第一数据流和所述第二数据流同时进行调整。在具体的实施场景下,所述第一数据流和所述第二数据流可以是FEC处理后的数据流。

第三获得单元1002,用于获得所述第二数据流的第一数据单元的边界。

所述第三获得单元1002获得所述第二数据流的第一数据单元的边界的方式与实施例六中的所述第一获得单元902获得所述第一数据流的第一数据单元的边界的方式相似,这里不再赘述。所述第三获得单元1002与实施例六中的所述第一获得单元902可以相同,也可以不同。

第四获得单元1003,用于根据第二数据量以及所述第二数据流的第一数据单元的边界,获得第二skew,所述第二数据量是所述数据处理设备在所述预先设定的时间内接收到的数据,所述第二数据量中包括所述第二数据流的第一数据单元的边界。

举例说明,所述预先设定的时间可以与实施例六中预先设定的时间相同。所述第四获得单元1003可采用实施例六至实施例八中任一实施例提供的所述第二获得单元903获得第一skew的方法,获得所述第二skew,在此不再赘述。所述第四获得单元1003与实施例六中的所述第二获得单元903可以相同,也可以不同。

举例说明,所述第四获得单元1003根据第二数据量以及所述第二数据流的第一数据单元的边界,获得第二skew:所述第四获得单元1003根据所述第二数据量的前边界和所述第二数据流的第一数据单元的前边界,获得所述第二 skew。如图3所示,所述第二skew可以如图3所示的c至a之间的长度,即图3所示的c和a之间的bit数量。或者,

所述第四获得单元1003根据第二数据量以及所述第二数据流的第一数据单元的边界,获得第二skew:所述第四获得单元1003根据所述第二数据量的后边界和所述第二数据流的第一数据单元的后边界,获得所述第二skew。如图3所示,所述第二skew可以如图3所示的b至d之间的长度,即图3所示的b和d之间的bit数量。或者,

所述第四获得单元1003根据第二数据量以及所述第二数据流的第一数据单元的边界,获得第二skew:所述第四获得单元1003根据所述第二数据量的前边界和所述第二数据流的第一数据单元的后边界,获得所述第二skew。如图3所示,所述第二skew可以如图3所示的c至b之间的长度,即图3所示的c和b之间的bit数量。或者,

所述第四获得单元1003根据第二数据量以及所述第二数据流的第一数据单元的边界,获得第二skew:所述第四获得单元1003根据所述第二数据量的后边界和所述第二数据流的第一数据单元的前边界,获得所述第二skew。如图3所示,所述第二skew可以如图3所示的a至d之间的长度,即图3所示的a和d之间的bit数量。

可选的,所述第二数据量和所述第一数据量的长度可以相同,有助于所述数据处理设备并行处理所述第一数据流和所述第二数据流时,简化处理和节约系统资源。

第二调整单元1004,用于根据所述第二skew调整所述第二数据流,使得所述第二数据流的第一数据单元的边界与所述第二数据量的边界相差整数个所述第二数据流的第一数据单元的长度。

举例说明,所述第二调整单元1004可采用实施例六至实施例八中任一实施例提供的所述第一调整单元904调整所述第一数据量的方式调整所述第二数据流,在此不再赘述。所述第二调整单元1004与实施例六中的所述第一调整单元904可以相同,也可以不同。

本发明的实施例中,数据处理设备在预设时间内获取包括第二数据流的第一数据单元的边界的第一数据量;所述数据处理设备根据所述第一数据量以及所述第二数据流的第一数据单元的边界,确定出第二skew;所述数据处理设备根据所述第二skew调整所述第二数据流,使得所述第二数据流的第一数据单元的边界与所述第一数据量的边界之间相差整数个所述第二数据流的第一数据单元的长度。所述数据处理设备以所述第一数据量为参考,调整所述第二数据流的第一数据单元的边界相对于所述第一数据量的边界的 skew,有助于降低需处理的数据,所述数据处理设备获得的调整后的第二数据流可以满足后续位宽变换的条件,降低了操作复杂性和成本,有利于位宽变换的部署和实施,有助于减少占用FIFO资源。

在进行所述数据处理的过程中,对于不同的应用场景,数据处理后获得的调整后的数据流中的粒度可以不同。所述粒度可以理解为数据流的基本单位,例如数据处理后获得的调整后的数据流的粒度可以为10bit长度的symbol。粒度越小,数据流中的基本单位就越小。粒度越大,数据流中的基本单位就越大。可选的,在图9和图10的基础上,图11为本发明实施例提供的一种数据处理设备的设备结构图,所述数据处理设备900还包括发送单元1101:

所述发送单元1101,用于以第一数据单元为粒度,发送调整后的第一数据流和调整后的第二数据流。

举例说明,由于所述第一数据流的第一数据单元的长度和所述第二数据流的第一数据单元的长度相同,所以所述第一数据单元可以是所述第一数据流的第一数据单元,或者是所述第二数据流的第一数据单元。所述发送单元1101 可以以轮询的方式发送调整后的第一数据流和调整后的第二数据流。所述轮询的发送方式可以与实施例四中的轮询的发送方式相同,在此不再赘述。

在位宽变换的场景下,所述发送单元1101可以向多路复用器发送调整后的所述第一数据流和调整后的所述第二数据流,以便所述多路复用器进行位宽变换操作。换句话说,所述发送单元1101可以向多路复用器发送调整后的第一数据流和调整后的第二数据流,所述多路复用器用于将所述调整后的第一数据流和所述调整后的第二数据流复用生成第三数据流。所述多路复用器与所述发送单元1101对应,即所述多路复用器可接收所述发送单元1101发送的所述调整后的第一数据流和所述调整后的第二数据流。

所述发送单元1101发送调整后的数据流的粒度可以和所述多路复用器的复用调整后的数据流的粒度不同,也可以相同。比如,所述发送单元1101发送调整后的第一数据流的粒度为所述第一数据流的第一数据单元,所述发送单元1101发送调整后的第二数据流的粒度为所述第二数据流的第一数据单元,所述第一数据流的第一数据单元和所述第二数据流的第一数据单元的长度可均为10bit。所述多路复用器复用调整后的第一数据流和调整后的第二数据流的粒度可以为10bit,也可以为小于10bit的粒度,比如1bit,也可以为大于10bit 的粒度,比如20bit。

实施例十

参阅图12,图12为本发明实施例提供的一种数据处理设备的硬件结构示意图,所述数据处理设备1200包括存储器1201和接收器1202,以及分别与所述存储器1201和所述接收器1202连接的处理器1203,所述存储器1201用于存储一组程序指令,所述处理器1203用于调用所述存储器1201存储的程序指令执行如下操作:

触发所述接收器1202接收第一数据流,所述第一数据流包括第一数据单元和第二数据单元,所述第一数据单元和所述第二数据单元的长度相同;

获得所述第一数据单元的边界;

根据第一数据量以及所述第一数据单元的边界,获得第一偏移skew,所述第一数据量是所述数据处理设备在预先设定的时间内接收到的数据,所述第一数据量中包括所述第一数据单元的边界;

根据所述第一skew调整所述第一数据流,使得所述第一数据单元的边界与所述第一数据量的边界之间相差整数个所述第一数据单元的长度。

可选地,所述处理器1203可以为中央处理器(Central Processing Unit, CPU),所述存储器1201可以为随机存取存储器(Random Access Memory, RAM)类型的内部存储器,所述接收器1202可以包含普通物理接口,所述物理接口可以为以太(Ethernet)接口或异步传输模式(Asynchronous Transfer Mode,ATM)接口。所述处理器1203、接收器1202和存储器1201可以集成为一个或多个独立的电路或硬件,如:专用集成电路(Application Specific Integrated Circuit,ASIC)。

所述数据处理设备1200可以采用实施例一至实施例四中任意一个实施例提供的方法。所述数据处理设备1200可以是从逻辑角度显示所述数据处理设备宝库的内容,实施例六至实施例九中的数据处理设备可以是从物理角度显示所述数据处理设备包括的内容。

本发明实施例中提到的第一数据流、第一数据单元、第一数据量、第一 skew和第一长度的“第一”只是用来做名字标识,并不代表顺序上的第一。该规则同样适用于“第二”和“第三”。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(Read-Only Memory,ROM)、 RAM、磁碟或者光盘等各种可以存储程序代码的介质。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅是本发明的优选实施方式,并非用于限定本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1