System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于FPGA的网络数据流录制装置及回放装置制造方法及图纸_技高网

一种基于FPGA的网络数据流录制装置及回放装置制造方法及图纸

技术编号:40658203 阅读:4 留言:0更新日期:2024-03-18 18:50
本发明专利技术涉及一种基于FPGA的网络数据流录制装置及回放装置,录制装置包括:软硬件交互模块;录制模块,用于响应于录制启动指令,接收网络数据流,基于录制装置的时钟确定网络数据流中的数据包的时间参数,将数据包的时间参数与数据包的原始数据进行合并,生成数据单元,并将数据单元写入存储器中;其中,每个数据单元对应一个数据包。回放装置包括:软硬件交互模块,回放模块,用于从存储器中读取数据单元,对数据单元进行拆分,获取每个数据单元对应的数据包的原始数据以及时间参数,基于回放装置的时钟、每个数据包的时间参数控制该数据包的原始数据的发送。通过该方式可以实现对流量密集型的低延时高并发数据流量进行有效录放,提高录放精度。

【技术实现步骤摘要】

本专利技术涉及网络数据仿真,尤其是一种基于fpga(fieldprogrammablegatearray,现场可编程逻辑门阵列)的网络数据流录制装置及回放装置。


技术介绍

1、网络数据流的录制回放测试技术已经被广泛应用于仿真测试、故障排查、性能优化等领域。首先,在进行新系统开发或者旧系统升级时,通过录制实网环境中的数据,并在测试环境中回放这些数据,可以模拟真实场景,帮助开发团队发现和修复潜在问题;其次,当系统出现问题时,往往需要追踪和分析问题发生时的具体情况。通过录制并回放网络数据流,可以帮助工程师们重现问题并找到解决方案;此外,在高并发、低延时的应用场景下,通过录制实网数据并在测试环境中模拟回放,可以有效评估系统的性能表现,发现瓶颈并进行优化。

2、现有的软件录制回放测试方案可以在测试环境中复原数据内容,但是专利技术人在实际研究中发现,通过软件录制回放的方式,精度不高,即无法高精度复原网络数据流的时间序列、无法对流量密集型的低延时高并发数据流量进行有效回放测试。


技术实现思路

1、为解决上述现有技术问题,本专利技术提供一种基于fpga的网络数据流录制装置及回放装置。

2、第一方面,本申请实施例提供一种基于fpga的网络数据流录制装置,所述录制装置用于配置在网口以及终端设备之间,所述录制装置包括:软硬件交互模块,用于接收所述终端设备中配置的软件下发的录制启动指令;录制模块,用于响应于所述录制启动指令,接收网络数据流,基于所述录制装置的时钟确定所述网络数据流中的数据包的时间参数,将所述数据包的时间参数与所述数据包的原始数据进行合并,生成数据单元,并将所述数据单元写入存储器中;其中,每个所述数据单元对应一个数据包;所述软硬件交互模块,还用于将所述存储器中存储的数据单元发送给所述软件。

3、在第一方面的一种可选的实施方式中,所述录制模块包括:网络包收发模块以及网络包处理模块;所述网络包收发模块,用于响应于所述录制启动指令,接收所述网络数据流,基于所述录制装置的时钟确定所述网络数据流中的数据包的时间参数,以及将所述数据包的原始数据写入数据缓存区,将所述数据包的时间参数写入标识缓存区;所述网络包处理模块,用于读取所述数据缓存区和所述标识缓存区中的数据,并进行数据合并,生成数据单元,以及将所述数据单元写入所述存储器中。

4、在第一方面的一种可选的实施方式中,所述网络包收发模块还用于在接收到一个数据包的sop信号后,获取当前时钟周期计数,并与寄存器读取的最近一次时钟周期计数计算差值,生成时间差序列;其中,所述时间差序列为所述数据包的时间参数;所述寄存器中存储每个数据包的时钟周期计数。

5、在第一方面的一种可选的实施方式中,所述网络收发包模块还用于在接收该数据包的eop信号后,基于所述数据包的sop信号以及所述数据包的eop信号获取所述该数据包的数据包长度,并将该数据包的数据包长度写入所述标识缓存区。

6、在第一方面的一种可选的实施方式中,所述网络包处理模块的执行启动条件为所述数据缓存区和/或所述标识缓存区中的数据不为空。

7、在第一方面下,本专利技术的有益效果包括:本申请实施例提供一种基于fpga的网络数据流录制装置,其被配置于网口以及终端设备之间,其用于接收软件下发的录制启动指令,接收网络数据流,基于录制装置自身的时钟确定网络数据流中的数据包的时间参数,然后将数据包的时间参数与数据包的原始数据进行合并,生成数据单元,并将数据单元写入存储器中,最后将存储器中的数据单元发送给软件,以实现录制。可见,本申请实施例提供一种基于硬件实现的网络数据流录制过程,fpga硬件计时精度高,抖动小,且时间误差远远小于软件实现。并且,本申请实施例所提供的录制装置被配置于网口以及终端设备之间,录制装置与网口之间无其他中间环节,其延时也远小于软件实现。换言之,通过录制装置进行录制可以有效地解决由于软件录制存在多层级缓存复制,进而使得网络数据包从网口接收到软件接收,受软件性能、系统波动、网络包长度、网络流量等多因素影响的问题。因此,通过本申请实施例提供的方案能够对流量密集型的低延时高并发数据流量进行有效录制。

8、第二方面,本申请实施例提供一种基于fpga的网络数据流回放装置,所述回放装置用于配置在网口以及终端设备之间,所述回放装置包括:软硬件交互模块,用于接收所述终端设备中配置的软件传输的回放数据流,并将所述回放数据流写入存储器中;其中,所述回放数据流中包括多个数据单元,每个所述数据单元包括对应数据包的原始数据以及时间参数;回放模块,用于从所述存储器中读取所述数据单元,对所述数据单元进行拆分,获取每个所述数据单元对应的数据包的原始数据以及时间参数,以及基于所述回放装置的时钟、每个所述数据包的时间参数控制该数据包的原始数据的发送。

9、在第二方面的一种可选的实施方式中,所述回放模块包括:网络包处理模块以及网络包收发模块;所述网络包处理模块,用于从所述存储器中读取所述数据单元,对所述数据单元进行拆分,获取每个所述数据单元对应的数据包的原始数据以及时间参数,将每个所述数据包的原始数据写入数据缓存区,以及将每个所述数据包的时间参数写入标识缓存区;所述网络包收发模块,用于从所述标识缓存区中读取每个所述数据包的时间参数,并结合所述回放装置的时钟,将所述数据缓存区中对应的数据包的原始数据发送至所述网口。

10、在第二方面的一种可选的实施方式中,所述网络包收发模块还用于在所述标识缓存区中读取到一个数据包的时间参数后,获取寄存器中读取的最近一次时钟周期计数,若所述回放装置的时钟的当前时钟周期计数与读取的最近一次时钟周期计数等于该数据包的时间参数后,将所述数据缓存区中对应的数据包的原始数据发送至所述网口。

11、在第二方面的一种可选的实施方式中,每个所述数据单元包括对应数据包的原始数据、数据包长度以及时间参数;所述网络包处理模块还用于从所述存储器中读取所述数据单元,对所述数据单元进行拆分,获取每个所述数据单元对应的数据包的原始数据、数据包长度以及时间参数,将每个所述数据包的原始数据写入所述数据缓存区,以及将每个所述数据包的数据包长度和时间参数写入所述标识缓存区;所述网络包收发模块还具体用于在将所述数据缓存区中对应的数据包的原始数据发送至所述网口之前,向所述网口发送sop信号,以及在从所述数据缓存区中提取的数据字节达到该数据包对应的数据包长度后,向所述网口发送eop信号,以完成该数据包的原始数据的发送。

12、在第二方面的一种可选的实施方式中,所述网络包收发模块的开始条件为所述数据缓存区中的数据量达到预设阈值。

13、在第二方面下,本专利技术的有益效果包括:本申请实施例提供一种基于fpga的网络数据流回放装置,其被配置于网口以及终端设备之间,其用于接收软件传输的数据单元,并将其写入存储器中,然后,回放模块,用于从存储器中读取数据单元,对数据单元进行拆分,获取每个数据单元对应的数据包的原始数据以及时间参数,以及基于回放装置的时钟、每个数本文档来自技高网...

【技术保护点】

1.一种基于FPGA的网络数据流录制装置,其特征在于,所述录制装置用于配置在网口以及终端设备之间,所述录制装置包括:

2.根据权利要求1所述的录制装置,其特征在于,所述录制模块包括:网络包收发模块以及网络包处理模块;

3.根据权利要求2所述的录制装置,其特征在于,所述网络包收发模块还用于在接收到一个数据包的SOP信号后,获取当前时钟周期计数,并与寄存器读取的最近一次时钟周期计数计算差值,生成时间差序列;其中,所述时间差序列为所述数据包的时间参数;所述寄存器中存储每个数据包的时钟周期计数。

4.根据权利要求3所述的录制装置,其特征在于,所述网络收发包模块还用于在接收该数据包的EOP信号后,基于所述数据包的SOP信号以及所述数据包的EOP信号获取所述该数据包的数据包长度,并将该数据包的数据包长度写入所述标识缓存区。

5.根据权利要求2所述的录制装置,其特征在于,所述网络包处理模块的执行启动条件为所述数据缓存区和/或所述标识缓存区中的数据不为空。

6.一种基于FPGA的网络数据流回放装置,其特征在于,所述回放装置用于配置在网口以及终端设备之间,所述回放装置包括:

7.根据权利要求6所述的回放装置,其特征在于,所述回放模块包括:网络包处理模块以及网络包收发模块;

8.根据权利要求7所述的回放装置,其特征在于,所述网络包收发模块还用于在所述标识缓存区中读取到一个数据包的时间参数后,获取寄存器中读取的最近一次时钟周期计数,若所述回放装置的时钟的当前时钟周期计数与读取的最近一次时钟周期计数等于该数据包的时间参数后,将所述数据缓存区中对应的数据包的原始数据发送至所述网口。

9.根据权利要求8所述的回放装置,其特征在于,每个所述数据单元包括对应数据包的原始数据、数据包长度以及时间参数;

10.根据权利要求7所述的回放装置,其特征在于,所述网络包收发模块的开始条件为所述数据缓存区中的数据量达到预设阈值。

...

【技术特征摘要】

1.一种基于fpga的网络数据流录制装置,其特征在于,所述录制装置用于配置在网口以及终端设备之间,所述录制装置包括:

2.根据权利要求1所述的录制装置,其特征在于,所述录制模块包括:网络包收发模块以及网络包处理模块;

3.根据权利要求2所述的录制装置,其特征在于,所述网络包收发模块还用于在接收到一个数据包的sop信号后,获取当前时钟周期计数,并与寄存器读取的最近一次时钟周期计数计算差值,生成时间差序列;其中,所述时间差序列为所述数据包的时间参数;所述寄存器中存储每个数据包的时钟周期计数。

4.根据权利要求3所述的录制装置,其特征在于,所述网络收发包模块还用于在接收该数据包的eop信号后,基于所述数据包的sop信号以及所述数据包的eop信号获取所述该数据包的数据包长度,并将该数据包的数据包长度写入所述标识缓存区。

5.根据权利要求2所述的录制装置,其特征在于,所述网络包处理模块的执行启动条件为所述数据缓...

【专利技术属性】
技术研发人员:金大宇应根军赵金龙张鑫邓冲
申请(专利权)人:上海全创信息科技有限公司
类型:发明
国别省市:

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

1