数据传输方法、数据接收装置及数据发送装置转让专利

申请号 : CN202311386080.4

文献号 : CN117155882B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 郑智海郑陈菲吴盛辉杨永欢冯纪强潘伟涛高峥张小煜区健川

申请人 : 鹏城实验室

摘要 :

本发明涉及通信技术领域,公开了一种数据传输方法、数据接收装置及数据发送装置,该方法通过多路以太网接口接收多路初始待汇聚数据,并将多路初始待汇聚数据的位宽转换为支持单路汇聚的位宽,获得多路待汇聚数据;将各路待汇聚数据缓存至各路以太网接口对应的通道;在依次读取各路通道中缓存的待汇聚数据时,根据等待各路通道缓存待汇聚数据的所用时长切换所读取的通道;在完成各路待汇聚数据的读取后,对各路待汇聚数据进行汇聚,获得所述单路聚合数据;基于原始单路数据的位宽对单路聚合数据的位宽进行转换,获得所述原始单路数据。本发明通过等待各路通道缓存待汇聚数据的所用时长对所读取的通道进行切换,提高了数据传输的准确率。

权利要求 :

1.一种数据传输方法,其特征在于,所述方法应用于数据接收端,所述方法包括以下步骤:通过多路以太网接口接收多路初始待汇聚数据,并将所述多路初始待汇聚数据的位宽转换为支持单路汇聚的位宽,获得多路待汇聚数据,所述多路初始待汇聚数据基于原始单路数据进行拆分获得;

将各路待汇聚数据缓存至各路以太网接口对应的通道;

在依次读取各路通道中缓存的待汇聚数据时,根据等待各路通道缓存待汇聚数据的所用时长切换所读取的通道;

在完成各路待汇聚数据的读取后,对各路待汇聚数据进行汇聚,获得单路聚合数据;

基于所述原始单路数据的位宽对所述单路聚合数据的位宽进行转换,获得所述原始单路数据;

其中,所述方法还包括:

在读取出同一组待汇聚数据时,提取所述同一组待汇聚数据中各待汇聚数据的组标识序列号;

判断所述同一组待汇聚数据中是否存在组标识序列号与其他待汇聚数据组标识序列号不一致的目标待汇聚数据;

若存在所述目标待汇聚数据,则判定所述目标待汇聚数据出现延迟,并反馈判定结果至目标上位机,以使测试人员基于目标上位机对接收所述目标待汇聚数据的通道进行调整;

若不存在所述目标待汇聚数据,则提取所述同一组待汇聚数据的通道序列号;

通过所述通道序列号判断接收所述同一组待汇聚数据的通道与数据发送端中发送所述同一组待汇聚数据的通道是否一致;

若不一致,则反馈通道异常判断结果至目标上位机,以使测试人员基于所述目标上位机对接收通道进行调整。

2.如权利要求1所述的数据传输方法,其特征在于,所述在依次读取各路通道中缓存的待汇聚数据时,根据等待各路通道缓存待汇聚数据的所用时长切换所读取的通道的步骤,包括:在依次读取各路通道中缓存的待汇聚数据时,若选择的当前通道完成待汇聚数据的读取,则等待所述当前通道的下一通道完成下一待汇聚数据的缓存;

判断等待所述下一待汇聚数据完成缓存的所用时长是否低于预设等待时长;

若低于所述预设等待时长,则将所述当前通道切换为所述下一通道。

3.如权利要求2所述的数据传输方法,其特征在于,所述判断等待所述下一待汇聚数据完成缓存的所用时长是否低于预设等待时长的步骤之后,还包括:若未低于所述预设等待时长,则将所述当前通道的下一通道作为当前通道,并返回所述等待所述当前通道的下一通道完成下一待汇聚数据的缓存的步骤,直至切换后的所用时长低于所述预设等待时长。

4.如权利要求1所述的数据传输方法,其特征在于,所述基于所述原始单路数据的位宽对所述单路聚合数据的位宽进行转换,获得所述原始单路数据的步骤之前,还包括:对所述单路聚合数据进行循环冗余校验,其中,所述循环冗余校验为基于预设多项式对所述单路聚合数据进行计算,获得计算结果,并通过拆分所述原始单路数据时添加的预设校验码对所述计算结果进行校验的过程;

相应的,所述基于所述原始单路数据的位宽对所述单路聚合数据的位宽进行转换,获得所述原始单路数据的步骤,包括:在所述单路聚合数据通过循环冗余校验时,基于所述原始单路数据的位宽对所述单路聚合数据的位宽进行转换,获得所述原始单路数据。

5.一种数据传输方法,其特征在于,所述方法应用于数据发送端,所述方法包括以下步骤:接收原始单路数据,并基于传输通道数目将所述原始单路数据的位宽转换为支持单路拆分的位宽,获得目标位宽数据;

基于预设字节数对所述目标位宽数据进行组帧,获得尾部包含组标识序列号以及通道序列号的组帧后数据;

根据所述组标识序列号和所述通道序列号对所述组帧后数据进行拆分,并将拆分获得的多路拆分数据传输至多路传输通道中;

在各路传输通道中将拆分数据的位宽转换为以太网接口支持的位宽,获得多路初始待汇聚数据,并通过各路传输通道对应的以太网接口发送所述多路初始待汇聚数据至数据接收端;

其中,所述数据接收端通过多路以太网接口接收多路初始待汇聚数据,并将所述多路初始待汇聚数据的位宽转换为支持单路汇聚的位宽,获得多路待汇聚数据;在读取出同一组待汇聚数据时,提取所述同一组待汇聚数据中各待汇聚数据的组标识序列号;判断所述同一组待汇聚数据中是否存在组标识序列号与其他待汇聚数据组标识序列号不一致的目标待汇聚数据;若存在所述目标待汇聚数据,则判定所述目标待汇聚数据出现延迟,并反馈判定结果至目标上位机,以使测试人员基于目标上位机对接收所述目标待汇聚数据的通道进行调整;若不存在所述目标待汇聚数据,则提取所述同一组待汇聚数据的通道序列号;通过所述通道序列号判断接收所述同一组待汇聚数据的通道与数据发送端中发送所述同一组待汇聚数据的通道是否一致;若不一致,则反馈通道异常判断结果至目标上位机,以使测试人员基于所述目标上位机对接收通道进行调整。

6.一种数据接收装置,其特征在于,所述装置包括:

以太网接收模块,用于通过多路以太网接口接收多路初始待汇聚数据,并将所述多路初始待汇聚数据的位宽转换为支持单路汇聚的位宽,获得多路待汇聚数据,所述多路初始待汇聚数据基于原始单路数据进行拆分获得;

以太网接收模块,还用于将各路待汇聚数据缓存至各路以太网接口对应的通道;

以太网数据汇聚模块,用于在依次读取各路通道中缓存的待汇聚数据时,根据等待各路通道缓存待汇聚数据的所用时长切换所读取的通道;

以太网数据汇聚模块,还用于在完成各路待汇聚数据的读取后,对各路待汇聚数据进行汇聚,获得单路聚合数据;

数据位宽转换模块,用于基于所述原始单路数据的位宽对所述单路聚合数据的位宽进行转换,获得所述原始单路数据;

其中,所述以太网数据汇聚模块,还用于:

在读取出同一组待汇聚数据时,提取所述同一组待汇聚数据中各待汇聚数据的组标识序列号;

判断所述同一组待汇聚数据中是否存在组标识序列号与其他待汇聚数据组标识序列号不一致的目标待汇聚数据;

若存在所述目标待汇聚数据,则判定所述目标待汇聚数据出现延迟,并反馈判定结果至目标上位机,以使测试人员基于目标上位机对接收所述目标待汇聚数据的通道进行调整;

若不存在所述目标待汇聚数据,则提取所述同一组待汇聚数据的通道序列号;

通过所述通道序列号判断接收所述同一组待汇聚数据的通道与数据发送端中发送所述同一组待汇聚数据的通道是否一致;

若不一致,则反馈通道异常判断结果至目标上位机,以使测试人员基于所述目标上位机对接收通道进行调整。

7.一种数据发送装置,其特征在于,所述装置包括:

数据位宽转换模块,用于接收原始单路数据,并基于传输通道数目将所述原始单路数据的位宽转换为支持单路拆分的位宽,获得目标位宽数据;

以太网组帧模块,用于基于预设字节数对所述目标位宽数据进行组帧,获得尾部包含组标识序列号以及通道序列号的组帧后数据;

以太网组帧模块,还用于根据所述组标识序列号和所述通道序列号对所述组帧后数据进行拆分,并将拆分获得的多路拆分数据传输至多路传输通道中;

轮询发送模块,用于在各路传输通道中将拆分数据的位宽转换为以太网接口支持的位宽,获得多路初始待汇聚数据,并通过各路传输通道对应的以太网接口发送所述多路初始待汇聚数据至数据接收端;

其中,所述数据接收端通过多路以太网接口接收多路初始待汇聚数据,并将所述多路初始待汇聚数据的位宽转换为支持单路汇聚的位宽,获得多路待汇聚数据;在读取出同一组待汇聚数据时,提取所述同一组待汇聚数据中各待汇聚数据的组标识序列号;判断所述同一组待汇聚数据中是否存在组标识序列号与其他待汇聚数据组标识序列号不一致的目标待汇聚数据;若存在所述目标待汇聚数据,则判定所述目标待汇聚数据出现延迟,并反馈判定结果至目标上位机,以使测试人员基于目标上位机对接收所述目标待汇聚数据的通道进行调整;若不存在所述目标待汇聚数据,则提取所述同一组待汇聚数据的通道序列号;通过所述通道序列号判断接收所述同一组待汇聚数据的通道与数据发送端中发送所述同一组待汇聚数据的通道是否一致;若不一致,则反馈通道异常判断结果至目标上位机,以使测试人员基于所述目标上位机对接收通道进行调整。

8.一种FPGA系统,其特征在于,所述系统包括权利要求6所述的数据接收装置以及权利要求7所述的数据发送装置。

说明书 :

数据传输方法、数据接收装置及数据发送装置

技术领域

[0001] 本发明涉及通信技术领域,尤其涉及一种数据传输方法、数据接收装置及数据发送装置。

背景技术

[0002] 目前,在通信网络系统中,当百兆、千兆或万兆以太网使用受限时,现有技术通过使用较低速的以太网接口进行汇聚,以达到高速以太网接口的传输带宽,例如,为了达到标准千兆以太网口的传输带宽,需要用十个百兆网口进行汇聚。
[0003] 但是,上述方法在某接口对应通道的数据因为网线或硬件问题出现长时间的延时或丢失时,会一直等待该通道的数据,使得后续该通道的数据均会出现延时或丢失,导致该接口传输的数据与其他接口传输的数据不同步,降低了数据传输的准确率。
[0004] 上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。

发明内容

[0005] 本发明的主要目的在于提供了一种数据传输方法、数据接收装置及数据发送装置,旨在解决现有技术在通道数据延迟或丢失时,会一直等待该通道的数据,使得后续该通道的数据均会出现延时或丢失,导致该接口传输的数据与其他接口传输的数据不同步,降低了数据传输的准确率的技术问题。
[0006] 为实现上述目的,本发明提供了一种数据传输方法,所述方法应用于数据接收端,所述方法包括以下步骤:
[0007] 通过多路以太网接口接收多路初始待汇聚数据,并将所述多路初始待汇聚数据的位宽转换为支持单路汇聚的位宽,获得多路待汇聚数据,所述多路初始待汇聚数据基于原始单路数据进行拆分获得;
[0008] 将各路待汇聚数据缓存至各路以太网接口对应的通道;
[0009] 在依次读取各路通道中缓存的待汇聚数据时,根据等待各路通道缓存待汇聚数据的所用时长切换所读取的通道;
[0010] 在完成各路待汇聚数据的读取后,对各路待汇聚数据进行汇聚,获得所述单路聚合数据;
[0011] 基于所述原始单路数据的位宽对所述单路聚合数据的位宽进行转换,获得所述原始单路数据。
[0012] 可选地,所述在依次读取各路通道中缓存的待汇聚数据时,根据等待各路通道缓存待汇聚数据的所用时长切换所读取的通道的步骤,包括:
[0013] 在依次读取各路通道中缓存的待汇聚数据时,若选择的当前通道完成待汇聚数据的读取,则等待所述当前通道的下一通道完成下一待汇聚数据的缓存;
[0014] 判断等待所述下一待汇聚数据完成缓存的所用时长是否低于预设等待时长;
[0015] 若低于所述预设等待时长,则将所述当前通道切换为所述下一通道。
[0016] 可选地,所述判断等待所述下一待汇聚数据完成缓存的所用时长是否低于预设等待时长的步骤之后,还包括:
[0017] 若未低于所述预设等待时长,则将所述当前通道的下一通道作为当前通道,并返回所述等待所述当前通道的下一通道完成下一待汇聚数据的缓存的步骤,直至切换后的所用时长低于所述预设等待时长。
[0018] 可选地,所述基于所述原始单路数据的位宽对所述单路聚合数据的位宽进行转换,获得所述原始单路数据的步骤之前,还包括:
[0019] 对所述单路聚合数据进行循环冗余校验,其中,所述循环冗余校验为基于预设多项式对所述单路聚合数据进行计算,获得计算结果,并通过拆分所述原始单路数据时添加的预设校验码对所述计算结果进行校验的过程;
[0020] 相应的,所述基于所述原始单路数据的位宽对所述单路聚合数据的位宽进行转换,获得所述原始单路数据的步骤,包括:
[0021] 在所述单路聚合数据通过循环冗余校验时,基于所述原始单路数据的位宽对所述单路聚合数据的位宽进行转换,获得所述原始单路数据。
[0022] 可选地,所述方法还包括:
[0023] 在读取出同一组待汇聚数据时,提取所述同一组待汇聚数据中各待汇聚数据的组标识序列号;
[0024] 判断所述同一组待汇聚数据中是否存在组标识序列号与其他待汇聚数据组标识序列号不一致的目标待汇聚数据;
[0025] 若存在所述目标待汇聚数据,则判定所述目标待汇聚数据出现延迟,并反馈判定结果至目标上位机,以使测试人员基于目标上位机对接收所述目标待汇聚数据的通道进行调整。
[0026] 可选地,所述判断所述同一组待汇聚数据中是否存在组标识序列号与其他待汇聚数据组标识序列号不一致的目标待汇聚数据的步骤之后,还包括:
[0027] 若不存在所述目标待汇聚数据,则提取所述同一组待汇聚数据的通道序列号;
[0028] 通过所述通道序列号判断接收所述同一组待汇聚数据的通道与数据发送端中发送所述同一组待汇聚数据的通道是否一致;
[0029] 若不一致,则反馈通道异常判断结果至目标上位机,以使测试人员基于所述目标上位机对接收通道进行调整。
[0030] 此外,为实现上述目的,本发明还提出一种数据传输方法,所述方法应用于数据发送端,所述方法包括以下步骤:
[0031] 接收原始单路数据,并基于传输通道数目将所述原始单路数据的位宽转换为支持单路拆分的位宽,获得目标位宽数据;
[0032] 基于预设字节数对所述目标位宽数据进行组帧,获得尾部包含组标识序列号以及通道序列号的组帧后数据;
[0033] 根据所述组标识序列号和所述通道序列号对所述组帧后数据进行拆分,并将拆分获得的多路拆分数据传输至多路传输通道中;
[0034] 在各路传输通道中将拆分数据的位宽转换为以太网接口支持的位宽,获得多路初始待汇聚数据,并通过各路传输通道对应的以太网接口发送所述多路初始待汇聚数据至数据接收端。
[0035] 此外,为实现上述目的,本发明还提出一种数据接收装置,所述装置包括:
[0036] 以太网接收模块,用于通过多路以太网接口接收多路初始待汇聚数据,并将所述多路初始待汇聚数据的位宽转换为支持单路汇聚的位宽,获得多路待汇聚数据,所述多路初始待汇聚数据基于原始单路数据进行拆分获得;
[0037] 以太网接收模块,还用于将各路待汇聚数据缓存至各路以太网接口对应的通道;
[0038] 以太网数据汇聚模块,用于在依次读取各路通道中缓存的待汇聚数据时,根据等待各路通道缓存待汇聚数据的所用时长切换所读取的通道;
[0039] 以太网数据汇聚模块,还用于在完成各路待汇聚数据的读取后,对各路待汇聚数据进行汇聚,获得所述单路聚合数据;
[0040] 数据位宽转换模块,用于基于所述原始单路数据的位宽对所述单路聚合数据的位宽进行转换,获得所述原始单路数据。
[0041] 此外,为实现上述目的,本发明还提出一种数据发送装置,所述装置包括:
[0042] 数据位宽转换模块,用于接收原始单路数据,并基于传输通道数目将所述原始单路数据的位宽转换为支持单路拆分的位宽,获得目标位宽数据;
[0043] 以太网组帧模块,用于基于预设字节数对所述目标位宽数据进行组帧,获得尾部包含组标识序列号以及通道序列号的组帧后数据;
[0044] 以太网组帧模块,还用于根据所述组标识序列号和所述通道序列号对所述组帧后数据进行拆分,并将拆分获得的多路拆分数据传输至多路传输通道中;
[0045] 轮询发送模块,用于在各路传输通道中将拆分数据的位宽转换为以太网接口支持的位宽,获得多路初始待汇聚数据,并通过各路传输通道对应的以太网接口发送所述多路初始待汇聚数据至数据接收端。
[0046] 此外,为实现上述目的,本发明还提出一种FPGA系统,所述系统包括上文所述的接收装置和发送装置。
[0047] 本发明提供了一种数据传输方法、数据接收装置及数据发送装置,通过多路以太网接口接收多路初始待汇聚数据,并将多路初始待汇聚数据的位宽转换为支持单路汇聚的位宽,获得多路待汇聚数据;然后将各路待汇聚数据缓存至各路以太网接口对应的通道;在依次读取各路通道中缓存的待汇聚数据时,根据等待各路通道缓存待汇聚数据的所用时长切换所读取的通道;然后在完成各路待汇聚数据的读取后,对各路待汇聚数据进行汇聚,获得所述单路聚合数据;最后基于原始单路数据的位宽对单路聚合数据的位宽进行转换,获得所述原始单路数据。本发明通过在依次读取各路通道中缓存的待汇聚数据的过程中,根据等待各路通道缓存待汇聚数据的所用时长对所读取的通道进行切换,相较于现有技术在某接口对应通道的数据因为网线或硬件问题出现长时间的延时或丢失时,会一直等待该通道的数据,存在后续该通道的数据均会出现延时或丢失的情况,本发明上述方法有效避免了该通道的数据均会出现延时或丢失导致该接口传输的据与其他接口传输的数据不同步的情况,有效提高了数据传输的准确率。

附图说明

[0048] 图1为本发明实施例方案涉及的硬件运行环境的数据传输设备结构示意图;
[0049] 图2为本发明数据传输方法第一实施例的流程示意图;
[0050] 图3为本发明数据传输方法第一实施例中多通道轮询状态机示意图;
[0051] 图4为本发明数据传输方法第二实施例的流程示意图;
[0052] 图5为本发明应用于数据发送端的数据传输方法第一实施例的流程示意图;
[0053] 图6为本发明应用于数据发送端的数据传输方法第一实施例的中数据帧的帧格式示意图;
[0054] 图7为本发明数据接收装置第一实施例的结构框图;
[0055] 图8为本发明数据发送装置第一实施例的结构示意图;
[0056] 图9为本发明FPGA系统的结构示意图。
[0057] 本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

[0058] 应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0059] 参照图1,图1为本发明实施例方案涉及的硬件运行环境的数据传输设备结构示意图。
[0060] 如图1所示,该数据传输设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(Wireless‑Fidelity,Wi‑Fi)接口)。存储器1005可以是高速的随机存取存储器(Random Access Memory,RAM),也可以是稳定的非易失性存储器(Non‑Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
[0061] 本领域技术人员可以理解,图1中示出的结构并不构成对数据传输设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0062] 如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据传输程序。
[0063] 在图1所示的数据传输设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明数据传输设备中的处理器1001、存储器1005可以设置在数据传输设备中,所述数据传输设备通过处理器1001调用存储器1005中存储的数据传输程序,并执行本发明实施例提供的数据传输方法。
[0064] 本发明实施例提供了一种数据传输方法,参照图2,图2为本发明数据传输方法第一实施例的流程示意图。
[0065] 本实施例中,所述数据传输方法应用于数据接收端,所述方法包括以下步骤:
[0066] 步骤S10:通过多路以太网接口接收多路初始待汇聚数据,并将所述多路初始待汇聚数据的位宽转换为支持单路汇聚的位宽,获得多路待汇聚数据,所述多路初始待汇聚数据基于原始单路数据进行拆分获得。
[0067] 需要说明的是,本实施例方法的执行主体可以是具有数据传输、网络通信以及程序运行功能的计算服务设备,例如手机、平板电脑、个人电脑等,还可以是实现相同或相似功能的其他电子设备。以下以上述数据传输设备对本实施例和下述各实施例进行说明。
[0068] 可理解的是,上述原始单路数据可为经过数字信号处理,且携带有用户请求的数据。
[0069] 需要说明的是,上述初始待汇聚数据可为对上述原始单路数据进行拆分获得的数据,其中,所拆分出来的数据数量可基于所选定的以太网接口数量确定,以实现通过任意复用多个(百兆、千兆)并行的以太网接口组成与高速连续数据流相匹配的传输速率。
[0070] 可理解的是,上述以太网接口可为数据发送端向数据接收端传输数据的接口。其中,上述数据发送端即可为用于对外发送数据的终端,相应的,上述数据接收端即可为接收数据发送端所发送的数据的终端。上述数据接收端的以太网接口与上述数据发送端的以太网接口对应,以确保数据接收端能够准确接收到数据发送端所发送的初始待汇聚数据。
[0071] 在具体实现中,上述数据发送端可接收携带用户请求的原始单路数据,然后对该原始单路数据进行拆分后,将拆分获得的多路初始待汇聚数据通过对应的以太网接口发送至上述数据接收端。上述数据传输设备可应用于上述数据接收端,可通过与数据发送端对应的多路以太网接口接收上述初始待汇聚数据。进一步地,在数据发送端为了确保拆分后数据能够被准确发送,需要将拆分后数据的位宽转换为以太网接口所支持的位宽,如32bits,而以太网接口所支持的位宽并不能直接用于后续的多路数据的汇聚,故而上述数据传输设备可将接收到的多路初始待汇聚数据的位宽转换为支持单路汇聚的位宽,如支持单路汇聚的位宽为96bits,则可将32bits初始待汇聚数据转换为96bits待汇聚数据,其中,上述32bits和96bits均为举例说明,并不对本方案进行限定。
[0072] 应理解的是,上述数据发送端和上述数据接收端均应用于可编程阵列逻辑(Field Programmable Gate Array,FPGA)环境中,上述初始待汇聚数据位宽转换为单路汇聚位宽的过程可通过FPGA中的先入先出(First Input First Output,FIFO)以状态机方式进行转换,根据初始待汇聚数据位宽与单路汇聚位宽的比例调整FIFO的时序。为了便于理解,以初始待汇聚数据位宽为32bits,单路汇聚位宽为96bits进行举例说明,但并不对本方案进行限定,对于初始待汇聚数据,其FIFO的时序为1个时钟的数据位宽为32bits,若转换为96bits,由于96bits为32bits的3倍,因此,可通过状态机方式,分3个状态,让每3个数据位宽为32bits的数据组建成1个数据位宽的数据,该1个数据位宽即为96bits的待汇聚数据。
[0073] 步骤S20:将各路待汇聚数据缓存至各路以太网接口对应的通道。
[0074] 需要说明的是,上述通道即可为缓存上述待汇聚数据的通道。该通道中存在FIFO缓存,可将传输的数据写入该FIFO缓存,并且,也可通过该通道读取FIFO缓存中的缓存数据。其中,各以太网接口与各通道相互对应。
[0075] 在具体实现中,各通道均对应一个FIFO缓存,上述数据传输设备可将各路待汇聚数据传输至各路以太网接口对应的通道,并通过该通道将各路待汇聚数据写入FIFO缓存中。
[0076] 步骤S30:在依次读取各路通道中缓存的待汇聚数据时,根据等待各路通道缓存待汇聚数据的所用时长切换所读取的通道。
[0077] 在具体实现中,上述数据传输设备可轮询各路通道,在当前通道的待汇聚数据读取完成后,便可进入等待下一通道缓存上述待汇聚数据,然后根据等待所用时长进行通道的切换,即若所用时长较短,则切换至下一通道,若所用时长较长,则跳过下一通道,以避免等待下一通道缓存完成的时间过长,导致后续通道的数据到达时没有及时被读取,从而错过后续更多的数据。
[0078] 进一步地,本实施例中,所述步骤S30包括:
[0079] 步骤S301:在依次读取各路通道中缓存的待汇聚数据时,若选择的当前通道完成待汇聚数据的读取,则等待所述当前通道的下一通道完成下一待汇聚数据的缓存。
[0080] 需要说明的是,上述下一待汇聚数据即可为下一通道中所需缓存的待汇聚数据。
[0081] 在具体实现中,上述数据传输设备可在依次读取各路通道中缓存的待汇聚数据的过程中,首先对选定的当前通道进行待汇聚数据的读取,在读取完成后,判断当前通道的下一通道的缓存中是否存在下一待汇聚数据,若存在下一待汇聚数据,则直接读取下一通道中的下一待汇聚数据,相反,若不存在下一待汇聚数据,由于数据传输是连续不断的,可认定下一待汇聚数据出现了延迟,因此可等待下一通道完成下一待汇聚数据的缓存。
[0082] 步骤S302:判断等待所述下一待汇聚数据完成缓存的所用时长是否低于预设等待时长。
[0083] 需要说明的是,上述预设等待时长可为判断待汇聚数据是否存在较长延迟的时长阈值。该预设等待时长可由测试人员基于数据延时的可控范围配置,各通道均配置同一预设等待时长。可通过通道读取以太网帧所需时间和读取完后进入等待的时间确定相邻通道的各自一帧数据入口侧理论上最大相对延迟,将该最大相对延迟作为预设等待时长,例如,通道读取以太网帧所需时间为1.048us,读取完后进入等待的时间为2us,故而相邻通道的各自一帧数据入口侧理论上最大相对延迟是3.048us,超过该时间视为丢帧。
[0084] 在具体实现中,上述数据传输设备可记录等待下一待汇聚数据缓存下一待汇聚数据的所用时长,然后判断该所用时长是否低于上述预设等待时长,从而判断所需传输至下一通道的下一待汇聚数据是否出现较长延迟。
[0085] 步骤S303:若低于所述预设等待时长,则将所述当前通道切换为所述下一通道。
[0086] 在具体实现中,上述数据传输设备在判断出上述所用时长低于上述预设等待时长时,判定上述下一待汇聚数据虽然出现了延迟,但延迟较短,属于可控范围,该等待的所用时长并不会影响后续通道数据的读取,因此下一通道在预设等待时长内完成下一待汇聚数据的缓存后,数据传输设备便可将当前通道切换为下一通道,并开始读取下一通道中缓存的待汇聚数据,以避免原本能够顺利读取的待汇聚数据,由于并未给予足够的等待时间而被直接丢弃。
[0087] 进一步地,本实施例中,所述步骤S302之后,还包括:
[0088] 步骤S303':若未低于所述预设等待时长,则将所述当前通道的下一通道作为当前通道,并返回所述等待所述当前通道的下一通道完成下一待汇聚数据的缓存的步骤,直至切换后的所用时长低于所述预设等待时长。
[0089] 在具体实现中,上述数据传输设备在判断出上述所用时长未低于上述预设等待时长时,可判定下一待汇聚数据存在较长延迟,会影响后续通道的数据读取,因此,可跳过该下一通道,顺延至该下一通道的下一通道,也即,将此时的下一通道作为当前通道,然后返回上述等待所述当前通道的下一通道完成下一待汇聚数据的缓存的步骤,直至所切换后的首个通道等待所用的时长低于上述预设等待时长,在确定符合上述预设等待时长的通道后,读取该通道中的待汇聚数据,读取该通道中的数据后,便可进行重复上述过程,直至遍历完所有通道。其中,若切换后的首个通道无需等待,便已缓存待汇聚数据,可判定所用时长为0,仍然符合低于预设等待时长的要求。
[0090] 为了便于理解,参考图3,以8个通道进行说明,但并不对本方案进行限定。图3为本发明数据传输方法第一实施例中多通道轮询状态机示意图,图3中,各通道中待汇聚数据的读取过程如下:
[0091] 上述各通道的轮询过程可通过状态机实现,上述数据传输设备首先进入初始状态,在该初始状态下等待通道0完成待汇聚数据的缓存。
[0092] 在通道0完成待汇聚数据的缓存后,切换初始状态为通道0状态,并读取通道0中缓存的待汇聚数据,在通道0中缓存的待汇聚数据读取完成后,将通道0状态切换为等待通道1完成待汇聚数据的缓存的等待状态。
[0093] 在通道1完成待汇聚数据的缓存后,切换等待状态为通道1状态,并在通道1状态下读取通道1中缓存的待汇聚数据,在通道1中缓存的待汇聚数据读取完成后,将通道1状态切换为等待通道2完成待汇聚数据的缓存的等待状态。
[0094] 在通道2完成待汇聚数据的缓存后,切换等待状态为通道2状态,并在通道2状态下读取通道2中缓存的待汇聚数据,在通道2中缓存的待汇聚数据读取完成后,将通道2状态切换为等待通道3完成待汇聚数据的缓存的等待状态。
[0095] 在通道3完成待汇聚数据的缓存后,切换等待状态为通道3状态,并在通道3状态下读取通道3中缓存的待汇聚数据,在通道3中缓存的待汇聚数据读取完成后,将通道3状态切换为等待通道4完成待汇聚数据的缓存的等待状态。
[0096] 在通道4完成待汇聚数据的缓存后,切换等待状态为通道4状态,并在通道4状态下读取通道4中缓存的待汇聚数据,在通道4中缓存的待汇聚数据读取完成后,将通道4状态切换为等待通道5完成待汇聚数据的缓存的等待状态。
[0097] 在通道5完成待汇聚数据的缓存后,切换等待状态为通道5状态,并在通道5状态下读取通道5中缓存的待汇聚数据,在通道5中缓存的待汇聚数据读取完成后,将通道5状态切换为等待通道6完成待汇聚数据的缓存的等待状态。
[0098] 在通道6完成待汇聚数据的缓存后,切换等待状态为通道6状态,并在通道6状态下读取通道6中缓存的待汇聚数据,在通道6中缓存的待汇聚数据读取完成后,将通道6状态切换为等待通道7完成待汇聚数据的缓存的等待状态。
[0099] 在通道7完成待汇聚数据的缓存后,切换等待状态为通道7状态,并在通道7状态下读取通道7中缓存的待汇聚数据,在通道7中缓存的待汇聚数据读取完成后,判定完成一组待汇聚数据的读取,于是将通道7状态切换为等待通道0完成待汇聚数据的缓存的等待状态,并返回上述等待通道0完成待汇聚数据的缓存的过程,开始新一轮待汇聚数据的读取,重复上述过程,直至完成各组待汇聚数据的读取。
[0100] 需要理解的是,上述各等待状态均为等待下一通道完成待汇聚数据的缓存,并随时准备跳转到下一通道的状态,若下一通道的等待所用时长超过预设等待时长,而下下通道(下一通道的下一通道)的数据已经到达,则可以直接跳过下一通道的状态,顺延至下下通道状态,若后续通道的等待所用时长也超过预设等待时长,则继续跳过后续通道的状态,直到通道中有待汇聚数据,并进入该有待汇聚数据的通道中进行数据的读取。
[0101] 可理解的是,以通道1、通道2和预设等待时长为2us为例进行说明,但并不对本方案进行限定,当通道1的待汇聚数据由于突发情况,导致数据延迟了3us,当状态机跳转到通道1时,由于3us大于2us,因此,所需进入通道1的待汇聚数据超过了最大等待延时,便可丢弃此次通道1中的待汇聚数据,避免影响后续通道数据的读取,并将状态机顺延至通道7。若此时通道1和通道2的待汇聚数据同时到达,当前状态机跳转至通道1状态,数据传输设备对通道1中的待汇聚数据进行读取,此时通道2的待汇聚数据也会进行缓存,但不进行读取,直到通道1的待汇聚数据读取完成时,才会对通道2中的待汇聚数据进行读取;若通道2的待汇聚数据比通道1的待汇聚数据延迟2us到达,状态机会在完成通道1的待汇聚数据读取后进入等待状态,等待通道2缓存完成后方可跳转至通道2状态;若通道2的待汇聚数据比通道1的待汇聚数据提前2us到达,由于此时状态机尚未跳转到通道2,及时通道2的待汇聚数据提前到达,仍优先或等待处理通道1的待汇聚数据;若通道1的待汇聚数据由于突发延迟暂未收到,且超过预设等待时长(即通道1的待汇聚数据仍然在传输至数据接收端的过程中),但通道2已完成待汇聚数据的缓存,并且通道1的待汇聚数据在状态机跳转至通道2后才到达数据接收端,若此时尚未设定上述预设等待时长,数据传输设备会一直等待通道1的数据,导致后续通道的数据都会出现延时或丢失,进而使得数据传输的准确率降低。
[0102] 需要说明的是,可预先为各通道配置延时丢弃计数器,当通道中的数据传输延时过大而被跳过时,该延时丢弃计数器加1,并以寄存器的形式上传至上位机,从而使测试人员基于延时丢弃计数器的记录情况对通道进行配置,从而实现多路通道可自由配置,进而来保证系统传输的可靠性,例如,当状态机跳过某一通道的数据时,测试人员便可通过该通道的延时丢弃计数器加1而得知该通道的数据出现丢失,于是操控上位机对该异常通道下发复位指令以及停止该通道传输的指令,以降低系统总带宽的方式防止该通道所有数据的延迟对后续数据造成作为的影响,进一步提高数据传输的容错率,保证数据传输的可靠性。
[0103] 步骤S40:在完成各路待汇聚数据的读取后,对各路待汇聚数据进行汇聚,获得所述单路聚合数据。
[0104] 在具体实现中,上述数据发送端通过将原始单路数据进行拆分,以实现任意复用多个并行的以太网接口组成与高速连续数据流相匹配的传输速率,故而,处于数据接收端的数据传输设备需要将读取到的多路待汇聚数据进行汇聚,形成单路聚合数据,以与原始单路数据对应。
[0105] 步骤S50:基于所述原始单路数据的位宽对所述单路聚合数据的位宽进行转换,获得所述原始单路数据。
[0106] 在具体实现中,由于上述原始单路数据的位宽为单路汇聚所支持的位宽,并非原始单路数据的位宽,因此,上述数据传输设备可预先确定所需恢复的原始单路数据的位宽,然后将单路聚合数据的位宽转换为原始单路数据的位宽,从而获得原始单路数据,进而可对该原始单路数据中的用户请求进行处理。例如,以8通道为例,单路聚合数据的位宽为96bits,原始单路数据的位宽为60bits进行举例说明,但并不对本方案进行限定,可将位宽为96bits的单路聚合数据写入缓冲FIFO中,8个时钟即对应8个通道,该FIFO每5个时钟读出
96bits的数据,每3个时钟不读,可以理解为一个480bits(96bits×5)的数据分成8个
60bits的数据,因此,可通过8个时钟,每个时钟输出60bits数据,从而完成96bits的位宽转换为60bits的位宽。
[0107] 应理解的是,本实施例上述数据传输设备也可应用于具备数据接收功能和数据发送功能的终端中,如手机。该数据传输设备可通过上述方式接收多路数据,并将多路数据还原成原始数据,也可以在对原始数据进行处理后,将原始数据拆分为多路数据通过以太网接口对外发送,由其他具备数据接收功能的终端所接收。
[0108] 进一步地,本实施例中,所述步骤S50之前,还包括:
[0109] 步骤S51:对所述单路聚合数据进行循环冗余校验,其中,所述循环冗余校验为基于预设多项式对所述单路聚合数据进行计算,获得计算结果,并通过拆分所述原始单路数据时添加的预设校验码对所述计算结果进行校验的过程。
[0110] 需要说明的是,上述预设校验码可为校验单路聚合数据在传输过程中是否错误的循环冗余校验(Cyclic Redundancy Checksum,CRC)码。
[0111] 可理解的是,上述预设多项式可为生成上述预设校验码的多项式。
[0112] 在具体实现中,上述数据发送端在对原始单路数据进行拆分时,为了能够对数据在链路传输过程中是否出现错误进行判断,可在对原始单路数据拆分过程中,在各拆分后的初始待汇聚数据的尾部添加CRC字段。上述数据传输设备在获得单路聚合数据后,可遍历单路聚合数据中的各待汇聚数据对应的字段,对各待汇聚数据对应字段进行CRC校验,通过上述预设多项式对上述待汇聚数据对应字段进行模2除法运算,获得二进制的计算结果,然后比较该计算结果是否与预设校验码一致,若一致,则判定上述单路聚合数据通过CRC校验,反正,若不一致,则判定上述单路聚合数据未通过CRC校验,数据传输出现错误,从而实现了对数据在链路传输过程中是否出现错误进行判断。
[0113] 应理解的是,若上述单路聚合数据未通过CRC校验,则判定未通过校验的待汇聚数据对应字段出现异常,并丢弃出单路聚合数据中出现异常的待汇聚数据对应字段,同时通过延时丢弃计数器对错误数据进行统计,并以寄存器方式上传至上位机,由测试人员进行确认。其中,上述上位机可为与数据接收端连接,由于管理和控制数据接收端的数据接收。
[0114] 相应的,本实施例中,所述步骤S50包括:
[0115] 步骤S501:在所述单路聚合数据通过循环冗余校验时,基于所述原始单路数据的位宽对所述单路聚合数据的位宽进行转换,获得所述原始单路数据。
[0116] 在具体实现中,上述数据传输设备可通过循环冗余校验的单路聚合数据,或对丢弃未通过循环冗余校验的待汇聚数据字段后的单路聚合数据进行位宽转换,将单路聚合数据的位宽转换为原始单路数据的位宽,获得原始单路数据。
[0117] 本实施例通过多路以太网接口接收多路初始待汇聚数据,并将多路初始待汇聚数据的位宽转换为支持单路汇聚的位宽,获得多路待汇聚数据;然后将各路待汇聚数据缓存至各路以太网接口对应的通道;在依次读取各路通道中缓存的待汇聚数据时,根据等待各路通道缓存待汇聚数据的所用时长切换所读取的通道;然后在完成各路待汇聚数据的读取后,对各路待汇聚数据进行汇聚,获得所述单路聚合数据;最后基于原始单路数据的位宽对单路聚合数据的位宽进行转换,获得所述原始单路数据。本实施例通过在依次读取各路通道中缓存的待汇聚数据的过程中,根据等待各路通道缓存待汇聚数据的所用时长对所读取的通道进行切换,相较于现有技术在某接口对应通道的数据因为网线或硬件问题出现长时间的延时或丢失时,会一直等待该通道的数据,存在后续该通道的数据均会出现延时或丢失的情况,本实施例上述方法有效避免了该通道的数据均会出现延时或丢失导致该接口传输的据与其他接口传输的数据不同步的情况,有效提高了数据传输的准确率。
[0118] 参考图4,图4为本发明数据传输方法第二实施例的流程示意图。
[0119] 基于上述第一实施例,在本实施例中,所述方法还包括:
[0120] 步骤S41:在读取出同一组待汇聚数据时,提取所述同一组待汇聚数据中各待汇聚数据的组标识序列号。
[0121] 需要说明的是,上述组标识序列号可为处于待汇聚数据组尾部,标识各待汇聚数据是否为同一组的数据的序列号,即,若各通道读取出来的待汇聚数据的尾部组标识序列号一致,则判定所读取出来的待汇聚数据为同一组数据。其中,该组标识序列号可由数据发送端在对原始单路数据进行拆分前对原始单路数据进行组帧时添加,添加组标识序列号后,数据发送端便可根据原始单路数据中的各组标识序列号对原始单路数据按组进行拆分。
[0122] 在具体实现中,以8通道为例进行说明,但并不对本方案进行限定。上述数据传输设备一次读取一组数据,读取完一组数据后重新返回通道0读取下一组数据。由于通道数目为8,因此同一组8个待汇聚数据的组标识序列号应当一致,若不一致,则判定同一组8个待汇聚数据中某一数据出现错误。故而在读取出同一组待汇聚数据时,可提取同一组待汇聚数据中各待汇聚数据的组标识序列号,以判断同一组待汇聚数据中的各待汇聚数据是否错误。
[0123] 步骤S42:判断所述同一组待汇聚数据中是否存在组标识序列号与其他待汇聚数据组标识序列号不一致的目标待汇聚数据。
[0124] 在具体实现中,上述数据传输设备可比较上述同一组待汇聚数据中各数据的组标识序列号,判断是否存在组标识序列号与其他待汇聚数据组标识序列号不一致的目标待汇聚数据,进而判断是否出现组标识序列号有误的数据。
[0125] 步骤S43:若存在所述目标待汇聚数据,则判定所述目标待汇聚数据出现延迟,并反馈判定结果至目标上位机,以使测试人员基于目标上位机对接收所述目标待汇聚数据的通道进行调整。
[0126] 在具体实现中,上述数据传输设备在检测到存在组标识序列号与其他数据组标识序列号不一致的目标待汇聚数据时,判定该目标待汇聚数据出现了较大的延迟,该目标待汇聚数据为上一组尚未读取出去的数据,此时仍然留在了当前通道,使得该目标待汇聚数据与当前同一组的其他待汇聚数据产生了冲突,会导致缓存该目标待汇聚数据的目标通道中后续的数据与其他通道的数据均不为同一组,在此之前,可预先为各通道增设一个数据接收计数器,每当通道有数据到达时,该数据接收计数器会递增,此时,由于该目标通道的数据接收计数器在目标通道的数据读取成功时会加1,而目标待汇聚数据在上一次并未被读取出去,便会少加1,因此,上述数据传输设备可将此时目标通道的数据接收计数器记录的数据作为判定结果反馈至目标上位机,由测试人员基于该判定结果即可得知目标通道的数据出现丢失或延迟,因此测试人员可调过目标上位机对目标通道进行调整,可下发所有通道的缓冲FIFO复位指令,从而清空当前所用FIFO存储的数据,清空后继续判断目标通道的数据是否出现延迟,若仍然出现延迟,则关闭目标通道,避免目标通道对后续其他通道的数据造成影响。
[0127] 进一步地,本实施例中,所述步骤S42之后,还包括:
[0128] 步骤S43':若不存在所述目标待汇聚数据,则提取所述同一组待汇聚数据的通道序列号。
[0129] 需要说明的是,上述通道序列号可为处于待汇聚数据组尾部,标识同一组待汇聚数据中各待汇聚数据的序列号,该通道序列号与通道数目一致,即,若与通道数目一致的若干待汇聚数据处于同一组或组标识序列号一致,则该若干待汇聚数据的通道序列号应当按读取的先后顺序递增。其中,该通道序列号可由数据发送端在对原始单路数据进行拆分前对原始单路数据进行组帧时添加,添加组标识序列号和通道序列号后,数据发送端便可根据原始单路数据中的各组标识序列号对原始单路数据按组进行拆分,然后对各组数据中的待汇聚数据基于通道序列号进行划分,从而能够划分出若干待汇聚数据组,且各组数据中的待汇聚数据数目与待传输的通道数目一致,确保了数据拆分的准确性。
[0130] 在具体实现中,上述数据传输设备在判定所读取出的同一组待汇聚数据中的各数据组标识序列号均一致,即不存在组标识序列号与其他组标识序列号不一致的目标待汇聚数据时,可再次提取同一组待汇聚数据中各数据的通道序列号,以进一步判断同一组待汇聚数据是否按对应通道传输。
[0131] 步骤S44':通过所述通道序列号判断接收所述同一组待汇聚数据的通道与数据发送端中发送所述同一组待汇聚数据的通道是否一致。
[0132] 在具体实现中,上述数据传输设备可通过判断所提取出的通道序列号是否按读取的先后顺序递增来判断同一组待汇聚数据的通道与数据发送端中发送所述同一组待汇聚数据的通道是否一致。
[0133] 步骤S45':若不一致,则反馈通道异常判断结果至目标上位机,以使测试人员基于所述目标上位机对接收通道进行调整。
[0134] 在具体实现中,上述数据传输设备可判断出同一组待汇聚数据中的各数据通道序列号并非按读取的先后顺序递增时,判定同一组待汇聚数据的通道与数据发送端中发送所述同一组待汇聚数据的通道不一致,例如通道1的数据传输到通道4,或通道2的数据传输到通道5均会使读取的数据的通道序列号并未按读取的先后顺序递增,此时,可反馈该通道接收异常的判断结果至目标上位机,由测试人员基于所述目标上位机对接收通道进行调整,如确认数据发送端和数据接收端的网线是否一致。
[0135] 本实施例通过在读取出同一组待汇聚数据时,提取同一组待汇聚数据中各待汇聚数据的组标识序列号;若同一组待汇聚数据中存在组标识序列号与其他待汇聚数据组标识序列号不一致的目标待汇聚数据,则判定目标待汇聚数据出现延迟,并反馈判定结果至目标上位机,以使测试人员基于目标上位机对接收目标待汇聚数据的通道进行调整,若同一组待汇聚数据中不存在组标识序列号与其他待汇聚数据组标识序列号不一致的目标待汇聚数据,则在通过通道序列号判断接收同一组待汇聚数据的通道与数据发送端中发送同一组待汇聚数据的通道不一致时,反馈通道异常判断结果至目标上位机,以使测试人员基于所述目标上位机对接收通道进行调整,从而实现了通过多维度的方法对各类数据进行校验,同时,支持与上位机进行实时交互,保证测试人员能够实时监控多路以太网汇聚的工作情况,提高了用户的使用体验。
[0136] 本发明实施例还提供了一种应用于数据发送端的数据传输方法,参照图5,图5为本发明应用于数据发送端的数据传输方法第一实施例的流程示意图。
[0137] 本实施例中,所述数据传输方法应用于数据发送端,所述方法包括以下步骤:
[0138] 步骤S10':接收原始单路数据,并基于传输通道数目将所述原始单路数据的位宽转换为支持单路拆分的位宽,获得目标位宽数据。
[0139] 需要说明的是,本实施例方法的执行主体可以是具有数据传输、网络通信以及程序运行功能的计算服务设备,例如手机、平板电脑、个人电脑等,还可以是实现相同或相似功能的其他电子设备。以下以应用于数据发送端的数据传输设备对本实施例和下述各实施例进行说明。
[0140] 需要说明的是,上述支持单路拆分的位宽可为以太网接口支持位宽的倍数。
[0141] 在具体实现中,上述原始单路数据的位宽与支持单路拆分的位宽并不一致,因此,需要对原始单路数据的位宽进行转换,可根据将原始单路数据的位宽与以太网支持的位宽的最小公倍数确定所需转换的位宽,然后所需传输的通道数目确定所需调整的时钟,通过调整时钟的输出情况完成位宽的转换,所转换获得的支持单路拆分位宽的数据即可为上述目标位宽数据。以原始单路数据的位宽为60bits,以太网接口支持的位宽为32bits,传输通道数目为8,即8通道为例进行说明,但并不对本方案进行限定,由于以太网接口支持的位宽为32bits,因此,需要将原始单路数据的60bits位宽转换为32bits的倍数,由于60和96的最小公倍数容易确定,因此可将96bits作为原始单路数据所需转换的位宽,在确定所需转换的位宽后,可通过数据位宽转换FIFO进行位宽转换,需要通过数据位宽转换FIFO实现写入的是连续60bits的数据,读出的是96bits的数据,具体方式可为:前5个时钟输出96bits,后3个时钟数据不输出,总共为8个时钟(各时钟对应各传输通道),刚好处理数据满足60bits×8clk=96bits×5clk+0bits×3clk,其中,可通过三段式状态机的方式,用8个状态,分别将60bits的数据寄存在5个宽度为96bits的存储器中,从而实现60bits与96bits的转换。
[0142] 步骤S20':基于预设字节数对所述目标位宽数据进行组帧,获得尾部包含组标识序列号以及通道序列号的组帧后数据。
[0143] 需要说明的是,上述组标识序列号可为标识各待汇聚数据是否为同一组的数据的序列号。
[0144] 可理解的是,上述通道序列号可为标识同一组待汇聚数据中各待汇聚数据的序列号。
[0145] 在具体实现中,上述数据传输设备可将上述目标位宽数据存入FIFO中,然后每隔预设字节数添加上述组标识序列号,通过该组标识序列号对目标位宽数据进行分组,在各分组字段的尾部添加上述的通道序列号和预设校验码,从而完成组帧,然后每存入预设字节数后进行输出,获得的组帧后数据,组帧后数据中一组数据的字节数即为上述预设字节数,该预设字节数中包括上述组标识序列号、上述通道序列号和上述预设校验码。
[0146] 应理解的是,上述预设字节数可为根据数据组帧需求由测试人员预先设定的字节数。上述预设校验码可为校验单路聚合数据在传输过程中是否错误的循环冗余校验(Cyclic Redundancy Checksum,CRC)码。
[0147] 为了便于理解,参考图6进行说明,但并不对本方案进行限定。图6为本发明应用于数据发送端的数据传输方法第一实施例的中数据帧的帧格式示意图,图6中,以太网帧格式即可为预设字节数的数据格式,该预设字节数包括前导码、帧间符、目的地址、源地址、帧类型以及数据,该数据格式的尾部即为序列号和CRC,序列号即为上述组标识序列号和通道序列号,CRC即为上述预设校验码。
[0148] 需要说明的是,上述预设校验码可采用多项式对整个数据帧进行校验码的计算,该多项式与MAC层对数据校验时的多项式保持一致,通过该多项式的参数即可确定预设校验码的位数,例如,若该预设多项式为x^32 + x^26 + x^23 + x^22 + x^16 + x^12 + x^11 + x^10 + x^8 + x^7 + x^5 + x^4 + x^2 + x^1 + 1,则预设校验码的位数即为最高位的幂次加1,即32+1=33位。
[0149] 可理解的是,为了便于理解,以数据汇聚的高速连续传输系统为8通道的多路汇聚系统,组标识序列号为3bit为例进行说明,但并不对本方案进行限定。同一组8个通道数据的组标识序列号应当保持一致,组标识序列号从000开始递增,到111后为8组,然后再返回到000,例如,当传输第一组数据时,所携带的组标识序列号为000,则下一组数据的组标识序列号递增为001,以此类推,同时,同一组8个通道数据的通道序列号从1顺序递增到8。
[0150] 步骤S30':根据所述组标识序列号和所述通道序列号对所述组帧后数据进行拆分,并将拆分获得的多路拆分数据传输至多路传输通道中。
[0151] 在具体实现中,上述数据传输设备可根据上述组标识序列号拆分组帧后数据,获得若干组数据,然后根据通道序列号划分同一组数据中的各数据,从而实现对组帧后数据的拆分,并将拆分后的同一组数据以通道序列号划分为多路,然后将获得的多路拆分数据传输至通道序列号对应的传输通道中。
[0152] 应理解的是,上述数据传输设备在读取通道中的数据时,由于数据是连续输入的,因此在当前通道读出的拆分数据到达以太网接口时,也需要在下一通道中写入数据帧,即当前通道数据正在发送时,还需要不断接收新的数据进行组帧及拆分,并将拆分后的数据写入下一通道中,以保证数据传输的连贯性,进而降低数据帧丢失的可能性。
[0153] 步骤S40':在各路传输通道中将拆分数据的位宽转换为以太网接口支持的位宽,获得多路初始待汇聚数据,并通过各路传输通道对应的以太网接口发送所述多路初始待汇聚数据至数据接收端。
[0154] 在具体实现中,由于支持单路拆分的位宽为以太网接口支持位宽的倍数即拆分数据的位宽为以太网接口支持位宽的倍数,故而,上述数据传输设备会在各通道内将拆分数据的位宽转换为以太网接口支持的位宽。位宽中过程可为基于传输通道说明对数据位宽转换FIFO的时序进行调整,从而实现位宽转换,然后将位宽转换后的初始待汇聚数据传输至各路传输通道对应的以太网接口,通过多路以太网接口发送上述多路初始待汇聚数据至数据接收端。
[0155] 应理解的是,以拆分数据的位宽为96bits,以太网接口支持的位宽为32bits,数据初始通道为8通道(对应8个FIFO时序的时钟)为例进行说明,但并不对本方案进行限定,拆分数据的FIFO时序为每3个时钟读取一个96bits的数据,将其切分为每个时钟读取一个32bit的数据,从而实现96bits位宽的拆分数据向32bit位宽的初始待汇聚数据的转换,确保以太网即可能够传输初始待汇聚数据。
[0156] 需要说明的是,本实施例上述数据传输设备也应用于具备数据接收功能和数据发送功能的终端中,如手机。该数据传输设备可通过上述方式发送多路数据,也可以接收其他具备数据发送功能的终端发送的多路数据,并对多路数据进行聚合获得原始数据。
[0157] 本实施例通过接收原始单路数据,并基于传输通道数目将原始单路数据的位宽转换为支持单路拆分的位宽,获得目标位宽数据;基于预设字节数对目标位宽数据进行组帧,获得尾部包含组标识序列号以及通道序列号的组帧后数据;根据组标识序列号和通道序列号对所述组帧后数据进行拆分,并将拆分获得的多路拆分数据传输至多路传输通道中;在各路传输通道中将拆分数据的位宽转换为以太网接口支持的位宽,获得多路初始待汇聚数据,并通过各路传输通道对应的以太网接口发送所述多路初始待汇聚数据至数据接收端。本实施例通过将目标位宽数据组帧为尾部包含组标识序列号以及通道序列号的组帧后数据,并对该组帧后的数据进行位宽转换后通过多路以太网接口进行发送,由于组标识序列号可用于标识各待汇聚数据是否为同一组的数据的序列号,通道序列号可为标识同一组待汇聚数据中各待汇聚数据的序列号,数据接收端接收到多路初始待汇聚数据后便可基于组标识序列号和通道序列号对接收到的初始待汇聚数据进行校验,有效提高了数据传输的准确性。
[0158] 参照图7,图7为本发明数据接收装置第一实施例的结构框图。
[0159] 如图7所示,本发明实施例提出的数据接收装置包括:
[0160] 以太网接收模块501,用于通过多路以太网接口接收多路初始待汇聚数据,并将所述多路初始待汇聚数据的位宽转换为支持单路汇聚的位宽,获得多路待汇聚数据,所述多路初始待汇聚数据基于原始单路数据进行拆分获得。
[0161] 以太网接收模块501,还用于将各路待汇聚数据缓存至各路以太网接口对应的通道。
[0162] 以太网数据汇聚模块502,用于在依次读取各路通道中缓存的待汇聚数据时,根据等待各路通道缓存待汇聚数据的所用时长切换所读取的通道。
[0163] 以太网数据汇聚模块502,还用于在完成各路待汇聚数据的读取后,对各路待汇聚数据进行汇聚,获得所述单路聚合数据。
[0164] 第一数据位宽转换模块503,用于基于所述原始单路数据的位宽对所述单路聚合数据的位宽进行转换,获得所述原始单路数据。
[0165] 本实施例通过多路以太网接口接收多路初始待汇聚数据,并将多路初始待汇聚数据的位宽转换为支持单路汇聚的位宽,获得多路待汇聚数据;然后将各路待汇聚数据缓存至各路以太网接口对应的通道;在依次读取各路通道中缓存的待汇聚数据时,根据等待各路通道缓存待汇聚数据的所用时长切换所读取的通道;然后在完成各路待汇聚数据的读取后,对各路待汇聚数据进行汇聚,获得所述单路聚合数据;最后基于原始单路数据的位宽对单路聚合数据的位宽进行转换,获得所述原始单路数据。本实施例通过在依次读取各路通道中缓存的待汇聚数据的过程中,根据等待各路通道缓存待汇聚数据的所用时长对所读取的通道进行切换,相较于现有技术在某接口对应通道的数据因为网线或硬件问题出现长时间的延时或丢失时,会一直等待该通道的数据,存在后续该通道的数据均会出现延时或丢失的情况,本实施例上述装置有效避免了该通道的数据均会出现延时或丢失导致该接口传输的据与其他接口传输的数据不同步的情况,有效提高了数据传输的准确率。
[0166] 作为一种实施方式,所述以太网数据汇聚模块502,还用于在依次读取各路通道中缓存的待汇聚数据时,若选择的当前通道完成待汇聚数据的读取,则等待所述当前通道的下一通道完成下一待汇聚数据的缓存;判断等待所述下一待汇聚数据完成缓存的所用时长是否低于预设等待时长;若低于所述预设等待时长,则将所述当前通道切换为所述下一通道。
[0167] 作为一种实施方式,所述以太网数据汇聚模块502,还用于若未低于所述预设等待时长,则将所述当前通道的下一通道作为当前通道,并返回所述等待所述当前通道的下一通道完成下一待汇聚数据的缓存的步骤,直至切换后的所用时长低于所述预设等待时长。
[0168] 作为一种实施方式,所述第一数据位宽转换模块503,还用于对所述单路聚合数据进行循环冗余校验,其中,所述循环冗余校验为基于预设多项式对所述单路聚合数据进行计算,获得计算结果,并通过拆分所述原始单路数据时添加的预设校验码对所述计算结果进行校验的过程;在所述单路聚合数据通过循环冗余校验时,基于所述原始单路数据的位宽对所述单路聚合数据的位宽进行转换,获得所述原始单路数据。
[0169] 基于本发明上述数据接收装置第一实施例,提出本发明数据接收装置的第二实施例。
[0170] 在本实施例中,所述以太网数据汇聚模块502,还用于在读取出同一组待汇聚数据时,提取所述同一组待汇聚数据中各待汇聚数据的组标识序列号;判断所述同一组待汇聚数据中是否存在组标识序列号与其他待汇聚数据组标识序列号不一致的目标待汇聚数据;若存在所述目标待汇聚数据,则判定所述目标待汇聚数据出现延迟,并反馈判定结果至目标上位机,以使测试人员基于目标上位机对接收所述目标待汇聚数据的通道进行调整。
[0171] 作为一种实施方式,所述以太网数据汇聚模块502,还用于若不存在所述目标待汇聚数据,则提取所述同一组待汇聚数据的通道序列号;通过所述通道序列号判断接收所述同一组待汇聚数据的通道与数据发送端中发送所述同一组待汇聚数据的通道是否一致;若不一致,则反馈通道异常判断结果至目标上位机,以使测试人员基于所述目标上位机对接收通道进行调整。
[0172] 本发明数据接收装置各实施例的具体实现方式可参照上述方法实施例,此处不再赘述。
[0173] 参照图8,图8为本发明数据发送装置第一实施例的结构示意图。
[0174] 如图8所示,本发明实施例提出的数据发送装置包括:
[0175] 第二数据位宽转换模块501',用于接收原始单路数据,并基于传输通道数目将所述原始单路数据的位宽转换为支持单路拆分的位宽,获得目标位宽数据。
[0176] 以太网组帧模块502',用于基于预设字节数对所述目标位宽数据进行组帧,获得尾部包含组标识序列号以及通道序列号的组帧后数据。
[0177] 以太网组帧模块502',还用于根据所述组标识序列号和所述通道序列号对所述组帧后数据进行拆分,并将拆分获得的多路拆分数据传输至多路传输通道中。
[0178] 轮询发送模块503',用于在各路传输通道中将拆分数据的位宽转换为以太网接口支持的位宽,获得多路初始待汇聚数据,并通过各路传输通道对应的以太网接口发送所述多路初始待汇聚数据至数据接收端。
[0179] 本实施例通过接收原始单路数据,并基于传输通道数目将原始单路数据的位宽转换为支持单路拆分的位宽,获得目标位宽数据;基于预设字节数对目标位宽数据进行组帧,获得尾部包含组标识序列号以及通道序列号的组帧后数据;根据组标识序列号和通道序列号对所述组帧后数据进行拆分,并将拆分获得的多路拆分数据传输至多路传输通道中;在各路传输通道中将拆分数据的位宽转换为以太网接口支持的位宽,获得多路初始待汇聚数据,并通过各路传输通道对应的以太网接口发送所述多路初始待汇聚数据至数据接收端。本实施例通过将目标位宽数据组帧为尾部包含组标识序列号以及通道序列号的组帧后数据,并对该组帧后的数据进行位宽转换后通过多路以太网接口进行发送,由于组标识序列号可用于标识各待汇聚数据是否为同一组的数据的序列号,通道序列号可为标识同一组待汇聚数据中各待汇聚数据的序列号,数据接收端接收到多路初始待汇聚数据后便可基于组标识序列号和通道序列号对接收到的初始待汇聚数据进行校验,有效提高了数据传输的准确性。
[0180] 本发明数据接收装置的具体实现方式可参照上述方法实施例,此处不再赘述。
[0181] 此外,本发明还提出了一种FPGA系统,参照图9,图9为本发明FPGA系统的结构示意图。
[0182] 如图9所示,本发明实施例提出的FPGA系统包括上文所述的数据接收装置500以及上文所述的数据发送装置500'。
[0183] 其中,所述FPGA系统还包括目标上位机600。
[0184] 需要说明的是,上述目标上位机600用于与上述数据接收装置500和上述数据发送装置500'进行交互,以使测试人员可通过操控该目标上位机600对上述数据接收装置500和上述数据发送装置500'进行控制,例如通过操控上位机600的专属软件界面完成所需信息的配置,并下发对系统内部的一系列操作指令,并且可以通过上位机600实时了解多路以太网汇聚与解汇聚的情况,获得所需的测试结果,包括各路数据的通信是否顺利,从而提升多路以太网汇聚与解汇聚的准确性。
[0185] 在具体实现中,上述FPGA系统可通过数据发送装置500'对原始数据进行组帧和拆分,获得多路数据,然后向外部具备数据接收功能的设备发送该多路数据,同时,也可通过数据接收装置接收外部具备数据发送功能的设备发送的多路数据,然后将多路数据还原成原始数据。
[0186] 需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
[0187] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0188] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器/随机存取存储器、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0189] 以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。