本公开涉及通信,尤其涉及一种带宽的测试方法和电子设备。
背景技术:
1、相关技术中,带宽测试方法通常使用应用层的流量测试工具(例如,iperf3)进行测试,然而通过该方法进行测试时,测试数据需要在通过多层协议处理后,再传输到应用层进行流量统计,当cpu主频较低时会无法准确测出真实的网口带宽;另外,由于在实际测试时,网口带宽通常为一个动态变化的值,从而无法区分是网口硬件原因导致带宽变化还是cpu资源的原因导致带宽变化。
技术实现思路
1、本公开实施例提供了一种带宽的测试方法和电子设备。
2、第一方面,本公开实施例提供了一种带宽的测试方法,应用于发送端,所述发送端包括第一数据链路层,所述方法包括:
3、在所述第一数据链路层中增加第一io控制操作;
4、通过所述第一io控制操作,设置预设数据流的参数;所述预设数据流用于计算所述带宽,所述参数包括所述预设数据流的格式;
5、通过设置的所述参数,控制所述第一数据链路层生成并发出所述预设数据流。
6、在一些实施例中,在所述第一数据链路层中增加第一io控制操作,包括:
7、根据所述第一io控制操作的功能,定义所述第一io控制操作的参数;
8、基于所述第一io控制操作的参数,在所述第一数据链路层中集成所述第一io控制操作。
9、在一些实施例中,所述预设数据流由多个所述预设数据帧构成,所述参数包括所述预设数据帧的格式和预设时间间隔;通过所述第一io控制操作,设置预设数据流的参数;包括:
10、通过所述第一io控制操作接收用户的测试命令;
11、基于所述测试命令,设置多个所述预设数据帧的格式和所述预设时间间隔;所述预设时间间隔为发出的相邻两个所述预设数据帧之间的时间间隔。
12、在一些实施例中,所述预设数据帧的格式依次由起始标识、总包数、当前包号、随机数以及crc校验值构成;
13、其中,所述起始标识用于标示每一所述预设数据帧的起始位置;所述总包数用于指示将要发送所述预设数据帧的总数;所述当前包号用于标识当前正在发送所述预设数据帧的序号;所述随机数用于使每一所述预设数据帧的具有唯一性;所述crc校验值用于检查每一所述预设数据帧的完整性。
14、在一些实施例中,通过设置的所述参数,控制所述第一数据链路层生成并发出所述预设数据流,包括:
15、基于所述预设数据帧的格式,每经过所述预设时间间隔,控制所述第一数据链路层生成并发出所述预设数据帧,直至发出最后一个所述预设数据帧;
16、其中,每生成一个所述预设数据帧,所述预设数据帧中的当前包号加1;最后一个所述预设数据帧中的当前包号与总包数相等。
17、第二方面,本公开实施例提供了一种带宽的测试方法,应用于接收端,所述接收端包括第二数据链路层,所述方法包括:
18、在所述第二数据链路层中增加第二io控制操作;
19、通过所述第二io控制操作,接收预设数据流;
20、控制所述第二数据链路层读取所述预设数据流,并根据读取的结果计算所述带宽。
21、在一些实施例中,在所述第二数据链路层中增加第二io控制操作,包括:
22、根据所述第二io控制操作的功能,定义所述第二io控制操作的参数;
23、基于所述第二io控制操作的参数,在所述第二数据链路层中集成所述第二io控制操作。
24、在一些实施例中,所述预设数据流由多个预设数据帧构成;所述预设数据帧的格式依次由起始标识、总包数、当前包号、随机数以及crc校验值构成;控制所述第二数据链路层读取所述预设数据流,包括:
25、控制所述第二数据链路层读取每一所述预设数据帧中的所述起始标识、所述总包数、所述当前包号、所述随机数以及所述crc校验值;同时,
26、在读取所述预设数据帧中的所述当前包号为1时开始计时,在读取所述预设数据帧中的所述当前包号与所述总包数相等时停止计时,获得目标间隔时间。
27、在一些实施例中,所述根据读取的结果计算所述带宽,包括:
28、基于所述预设数据帧的格式确定接收到的总字节数;
29、基于总字节数和所述目标间隔时间之商,确定所述带宽。。
30、第三方面,本公开实施例提供了一种电子设备,包括存储器和处理器,所述存储器上存储有可被所述处理器执行的计算机可读程序;所述处理器执行所述计算机可读程序时实现如第一方面和第二方面所述的带宽的测试方法中的步骤。
31、本公开实施例中,由于在第一数据链路层中增加第一io控制操作,从而可以通过第一io控制操作控制第一数据链路层生成并发出预设数据流,以通过预设数据流来计算带宽;这样,一方面,无需通过多层协议对预设数据流进行处理,减少了cpu资源对检测结果的影响,使得带宽测试准确性较高;另一方面,在带宽波动时,可以通过设置预设数据流的格式,改变预设数据流的数据量,从而可以简单、快速地分析出造成带宽波动的原因。
1.一种带宽的测试方法,其特征在于,应用于发送端,所述发送端包括第一数据链路层,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,在所述第一数据链路层中增加第一io控制操作,包括:
3.根据权利要求1所述的方法,其特征在于,所述预设数据流由多个所述预设数据帧构成,所述参数包括所述预设数据帧的格式和预设时间间隔;通过所述第一io控制操作,设置预设数据流的参数;包括:
4.根据权利要求3所述的方法,其特征在于,所述预设数据帧的格式依次由起始标识、总包数、当前包号、随机数以及crc校验值构成;
5.根据权利要求4所述的方法,其特征在于,通过设置的所述参数,控制所述第一数据链路层生成并发出所述预设数据流,包括:
6.一种带宽的测试方法,其特征在于,应用于接收端,所述接收端包括第二数据链路层,所述方法包括:
7.根据权利要求6所述的方法,其特征在于,在所述第二数据链路层中增加第二io控制操作,包括:
8.根据权利要求6所述的方法,其特征在于,所述预设数据流由多个预设数据帧构成;所述预设数据帧的格式依次由起始标识、总包数、当前包号、随机数以及crc校验值构成;控制所述第二数据链路层读取所述预设数据流,包括:
9.根据权利要求8所述的方法,其特征在于,所述根据读取的结果计算所述带宽,包括:
10.一种电子设备,其特征在于,包括存储器和处理器,所述存储器上存储有可被所述处理器执行的计算机可读程序;所述处理器执行所述计算机可读程序时实现如权利要求1至5或权利要求6至9中任一项所述的带宽的测试方法中的步骤。