本发明涉及计算机通信领域,具体而言,涉及一种网络带宽评估方法、装置、计算机设备及存储介质。
背景技术:
1、网络的网络带宽是指在单位时间内能传输的数据量,网络带宽作为衡量网络特征的一个重要指标,日益受到人们的普遍关注,通常情况下,互联网用户会对网络的网络带宽的使用情况进行评估,以确定当前网络带宽是否能够正常进行数据传输。
2、现有技术中,在对网络的使用情况进行评估时,通常仅基于该网络带宽在单位时间内的整体传输码率与标准传输码率之间的差值判断当前网络带宽是否处于饱和状态;发明人在研究中发现,上述方法只能判断出在网络带宽在不存在丢包情况下的饱和状态,而数据通过网络传输时很可能会出现丢包的情况,此时若使用上述方法进行饱和状态的判断,会导致状态判断出现不准确的情况,从而降低了对网络带宽的状态进行评估的准确性。
技术实现思路
1、有鉴于此,本发明的目的在于提供一种网络带宽评估方法、装置、计算机设备及存储介质,有利于提高对网络带宽的状态进行评估的准确性。
2、第一方面,本技术实施例提供了一种网络带宽评估方法,所述方法包括:
3、将待评估网络带宽均分为至少两个网络带宽组,每个所述网络带宽组中包括带宽大小相同的第一网络带宽和第二网络带宽;
4、针对每个所述网络带宽组,利用所述第一网络带宽以第一码率向数据接收端发送第一发送数据包组,以及,利用所述第二网络带宽以第二码率向所述数据接收端发送第二发送数据包组,所述第一码率大于所述第二码率;
5、根据第一数据包组的第一发送数据包数量、第二数据包组的第二发送数据数量、所述接收端接收到的第一发送数据包组中的第一接收数据包数量以及第二发送数据包组中的第二接收数据包数量,确定该网络带宽组的码率调整方向;
6、根据确定的每个网络带宽组的码率调整方向,确定所述待评估网络带宽的饱和等级。
7、可选地,所述确定该网络带宽组的码率调整方向,具体包括:
8、根据所述第一发送数据包数量和所述第一接收数据包数量,确定用于描述所述第一网络带宽稳定性的第一丢包率,以及,根据所述第二发送数据包数量和所述第二接收数据包数量,确定用于描述所述第二网络带宽稳定性的第二丢包率;
9、根据所述第一发送数据包数量、所述第一丢包率和所述第一接收数据包数量,确定所述第一网络带宽的第一饱和分数,以及,根据所述第二发送数据包数量、所述第二丢包率和所述第二接收数据包数量,确定所述第二网络带宽的第二饱和分数,所述第一饱和分数越高表示所述第一网络带宽的饱和程度越低,所述第二饱和分数越高表示所述第二网络带宽的饱和程度越低;
10、当确定所述第一饱和分数大于所述第二饱和分数时,将该网络带宽组的码率调整方向确定为提高码率;
11、当所述第一饱和分数小于所述第二饱和分数时,将该组网络带宽组的码率调整方向确定为降低码率;
12、当所述第一饱和分数等于所述第二饱和分数时,判断所述第一接收数据包数量是否大于所述第二接收数据包数量;
13、若所述第一接收数据包数量大于所述第二接收数据包数量,则将该网络带宽组的码率调整方向确定为提高码率;
14、若所述第一接收数据包数量不大于所述第二接收数据包数量,则将该网络带宽组的码率调整方向确定为降低码率。
15、可选地,所述确定用于描述所述第一网络带宽稳定性的第一丢包率,具体包括:
16、根据下述公式确定所述第一丢包率:
17、
18、其中,m1为所述第一发送数据包数量,n1所述第一接收数据包数量;
19、所述确定用于描述所述第二网络带宽稳定性的第二丢包率,具体包括:
20、根据下述公式确定所述第二丢包率:
21、
22、其中,m2为所述第二发送数据包数量,n2所述第二接收数据包数量。
23、可选地,所述确定所述第一网络带宽的第一饱和分数,具体包括:
24、根据下述公式确定所述第一饱和分数:
25、
26、其中,x0为1,y0为1,z0为所述第一发送数据包数量,x1为将所述第一网络带宽的网络延时与预设的最大网络延时相除得到的商向上取整的数值,当所述数据接收端接收到的每个第一接收数据包的第一延迟时间与时间呈预设正相关关系时,y1为1,否则y1为0,z1为利用一次指数平滑函数对每个所述第一延迟时间进行计算后得到数值,x2为所述第一发送数据包数量除以100的商向上取整的数值,当所述第一丢包率成正态分布时,y2为0,否则y2为1,z2为所述第一丢包率与预设的固有丢包率之间的差值;
27、所述确定所述第二网络带宽的第二饱和分数,具体包括:
28、根据下述公式确定所述第二饱和分数:
29、
30、其中,x3为1,y3为1,z3为所述第二发送数据包数量,x4为将所述第二网络带宽的网络延时与预设的最大网络延时相除得到的商向上取整的数值,当所述数据接收端接收到的每个第二接收数据包的第二延迟时间与时间呈预设正相关关系时,y4为1,否则y4为0,z4为利用一次指数平滑函数对每个所述第二延迟时间进行计算后得到数值,x5为所述第二发送数据包数量除以100的商向上取整的数值,当所述第二丢包率成正态分布时,y5为0,否则y5为1,z5为所述第二丢包率与预设的固有丢包率之间的差值。
31、可选地,所述确定所述待评估网络带宽的饱和等级,具体包括:
32、若任意两个所述网络带宽组的码率调整方向不同,则确定所述待评估网络带宽的饱和等级为饱和;
33、若每个所述网络带宽组的码率调整方向均为提高码率,则确定所述待评估网络带宽的饱和等级为不饱和;
34、若每个所述网络带宽组的码率调整方向均为降低码率,则确定所述待评估网络带宽的饱和等级为过饱和。
35、第二方面,本技术实施例提供了一种网络带宽评估装置,所述装置包括:
36、待评估网络带宽均分模块,用于将待评估网络带宽均分为至少两个网络带宽组,每个所述网络带宽组中包括带宽大小相同的第一网络带宽和第二网络带宽;
37、数据包组发送模块,用于针对每个所述网络带宽组,利用所述第一网络带宽以第一码率向数据接收端发送第一发送数据包组,以及,利用所述第二网络带宽以第二码率向所述数据接收端发送第二发送数据包组,所述第一码率大于所述第二码率;
38、码率调整方向确定模块,用于根据第一数据包组的第一发送数据包数量、第二数据包组的第二发送数据数量、所述接收端接收到的第一发送数据包组中的第一接收数据包数量以及第二发送数据包组中的第二接收数据包数量,确定该网络带宽组的码率调整方向;
39、饱和等级确定模块,用于根据确定的每个网络带宽组的码率调整方向,确定所述待评估网络带宽的饱和等级。
40、可选地,所述码率调整方向确定模块在用于确定该网络带宽组的码率调整方向时,具体用于:
41、根据所述第一发送数据包数量和所述第一接收数据包数量,确定用于描述所述第一网络带宽稳定性的第一丢包率,以及,根据所述第二发送数据包数量和所述第二接收数据包数量,确定用于描述所述第二网络带宽稳定性的第二丢包率;
42、根据所述第一发送数据包数量、所述第一丢包率和所述第一接收数据包数量,确定所述第一网络带宽的第一饱和分数,以及,根据所述第二发送数据包数量、所述第二丢包率和所述第二接收数据包数量,确定所述第二网络带宽的第二饱和分数,所述第一饱和分数越高表示所述第一网络带宽的饱和程度越低,所述第二饱和分数越高表示所述第二网络带宽的饱和程度越低;
43、当确定所述第一饱和分数大于所述第二饱和分数时,将该网络带宽组的码率调整方向确定为提高码率;
44、当所述第一饱和分数小于所述第二饱和分数时,将该组网络带宽组的码率调整方向确定为降低码率;
45、当所述第一饱和分数等于所述第二饱和分数时,判断所述第一接收数据包数量是否大于所述第二接收数据包数量;
46、若所述第一接收数据包数量大于所述第二接收数据包数量,则将该网络带宽组的码率调整方向确定为提高码率;
47、若所述第一接收数据包数量不大于所述第二接收数据包数量,则将该网络带宽组的码率调整方向确定为降低码率。
48、可选地,所述码率调整方向确定模块在用于确定用于描述所述第一网络带宽稳定性的第一丢包率时,具体用于:
49、根据下述公式确定所述第一丢包率:
50、
51、其中,m1为所述第一发送数据包数量,n1所述第一接收数据包数量;
52、所述码率调整方向确定模块在用于确定用于描述所述第二网络带宽稳定性的第二丢包率时,具体用于:
53、根据下述公式确定所述第二丢包率:
54、
55、其中,m2为所述第二发送数据包数量,n2所述第二接收数据包数量。
56、可选地,所述码率调整方向确定模块在用于确定所述第一网络带宽的第一饱和分数时,具体用于:
57、根据下述公式确定所述第一饱和分数:
58、
59、其中,x0为1,y0为1,z0为所述第一发送数据包数量,x1为将所述第一网络带宽的网络延时与预设的最大网络延时相除得到的商向上取整的数值,当所述数据接收端接收到的每个第一接收数据包的第一延迟时间与时间呈预设正相关关系时,y1为1,否则y1为0,z1为利用一次指数平滑函数对每个所述第一延迟时间进行计算后得到数值,x2为所述第一发送数据包数量除以100的商向上取整的数值,当所述第一丢包率成正态分布时,y2为0,否则y2为1,z2为所述第一丢包率与预设的固有丢包率之间的差值;
60、所述码率调整方向确定模块在用于确定所述第二网络带宽的第二饱和分数时,具体用于:
61、根据下述公式确定所述第二饱和分数:
62、
63、其中,x3为1,y3为1,z3为所述第二发送数据包数量,x4为将所述第二网络带宽的网络延时与预设的最大网络延时相除得到的商向上取整的数值,当所述数据接收端接收到的每个第二接收数据包的第二延迟时间与时间呈预设正相关关系时,y4为1,否则y4为0,z4为利用一次指数平滑函数对每个所述第二延迟时间进行计算后得到数值,x5为所述第二发送数据包数量除以100的商向上取整的数值,当所述第二丢包率成正态分布时,y5为0,否则y5为1,z5为所述第二丢包率与预设的固有丢包率之间的差值。
64、可选地,所述饱和等级确定模块在用于确定所述待评估网络带宽的饱和等级时,具体用于:
65、若任意两个所述网络带宽组的码率调整方向不同,则确定所述待评估网络带宽的饱和等级为饱和;
66、若每个所述网络带宽组的码率调整方向均为提高码率,则确定所述待评估网络带宽的饱和等级为不饱和;
67、若每个所述网络带宽组的码率调整方向均为降低码率,则确定所述待评估网络带宽的饱和等级为过饱和。
68、第三方面,本技术实施例提供了一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面中任一种可选地实施方式中所述的网络带宽评估方法的步骤。
69、第四方面,本技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面中任一种可选地实施方式中所述的网络带宽评估方法的步骤。
70、本技术提供的技术方案包括但不限于以下有益效果:
71、首先,将待评估网络带宽均分为至少两个网络带宽组,每个所述网络带宽组中包括带宽大小相同的第一网络带宽和第二网络带宽,将网络带宽进行拆分后能够对每个部分的带宽情况进行单独评估,提高了对网络带宽进行评估时的精度。
72、针对每个所述网络带宽组,利用所述第一网络带宽以第一码率向数据接收端发送第一发送数据包组,以及,利用所述第二网络带宽以第二码率向所述数据接收端发送第二发送数据包组,所述第一码率大于所述第二码率;通过上述步骤,将每组网络带宽组中的两个网络带宽分别进行码率提高和码率降低后进行数据传输,能够得到在高码率和低码率两个相反变化方向的带宽传输情况,便于对不同码率下网络带宽进行数据传输的情况进行对比。
73、根据第一数据包组的第一发送数据包数量、第二数据包组的第二发送数据数量、所述接收端接收到的第一发送数据包组中的第一接收数据包数量以及第二发送数据包组中的第二接收数据包数量,确定该网络带宽组的码率调整方向,通过上述步骤,能够确定出每个网络带宽的丢包情况,并能够根据丢包情况确定出网络带宽在进行数据传输时最适宜的传输码率;根据确定的每个网络带宽组的码率调整方向,确定所述待评估网络带宽的饱和等级;采用上述方法,通过网络带宽中的每个部分带宽的传输码率和丢包情况确定每个部分带宽的调整方向,然后根据每个部分带宽的调整方向确定待评估网络带宽的饱和情况,有利于提高对可用网络带宽的状态进行评估的准确性。
74、为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。