一种网络带宽测试方法、客户端及网络带宽测试系统与流程

文档序号:11253805阅读:1231来源:国知局
一种网络带宽测试方法、客户端及网络带宽测试系统与流程

本发明涉及网络通信领域,特别是涉及一种网络带宽测试方法、客户端及网络带宽测试系统。



背景技术:

精确地测量应用程序的带宽是很有意义的,它不仅可以帮助应用程序的使用者了解应用程序的性能,更重要的是可以让应用程序的开发者发现网络带宽的瓶颈所在,从而对应用程序进行优化,避免拥塞的发生,实现更好的拥塞控制策略。现有的带宽测试方法主要有两种,其他的算法都是在它们的基础之上的改进。一种是单数据包技术,另一种是数据包对技术。

单数据包技术通常称为可变大小数据包技术,因为它向网络发送大小变化的探测数据包并统计达到目的端的时延来测试网络的带宽,而网络的时延由传播时延、排队时延、发送时延组成。其基本原理是如果一个大小已知的数据包经过一条链路的时间已知,则该链路的带宽就可以计算出来,其测试到的结果是网络的容量。

数据包对技术则是利用数据包在传输过程中形成的时间间隔来测试带宽。其基本原理是在前后两个数据包的传播时延与排队时延相同的条件下,接收端接收两个数据包的时间间隔与数据包的大小成正比,和链路的带宽成反比。数据包对技术所测试的是链路的瓶颈带宽或是可用带宽,而不是单个数据包技术所测得的链路的容量。

这两种测试技术可以用来测试每一条链路的带宽,也可用来测试端到端的带宽。无论哪种方法,数据包传输时间的确定都需要客户端与服务端积极参与,不仅要确保两端的测试主机具有精确的时钟,而且需要两端测试主机的时钟必须同步,另外在每一端的测试主机上还必须部署测试软件,而在测量分布式集群的带宽时,由于服务端节点一般大于三个,网络带宽的测试过程将更加复杂,因而不能够直接应用于分布式集群的带宽测试。



技术实现要素:

有鉴于此,本发明的目的在于提供一种网络带宽测试方法、客户端及网络带宽测试系统,可以保证测试结果的可靠性、完整性,测试过程简单化,提高了网络带宽的测试效率。其具体方案如下:

一种网络带宽测试方法,包括:

向服务端发送测试信息后,统计所述服务端的反馈模块在预定时间内传递来的反馈信息的数量;

根据统计的所述反馈信息的数量,确定在所述预定时间内发送的测试信息的数量;

根据所述预定时间、在所述预定时间内发送的测试信息的数量以及每条测试消息的字节长度,计算出网络带宽。

优选地,在本发明实施例提供的上述网络带宽测试方法中,采用下列公式计算网络带宽:

bw=n·m/t

其中,bw表示所述网络带宽,t表示所述预定时间,n表示在所述预定时间内发送的测试信息的数量,m表示每条测试信息的字节长度。

优选地,在本发明实施例提供的上述网络带宽测试方法中,统计所述服务端的反馈模块在预定时间内传递来的反馈信息的数量,具体包括:

多次统计所述服务端的反馈模块在预定时间内传递来的反馈信息的数量;

在计算出网络带宽之后,还包括:

根据统计的次数、以及计算出的网络带宽,确定平均网络带宽值,所述平均网络带宽值作为最终的网络带宽。

优选地,在本发明实施例提供的上述网络带宽测试方法中,采用下列方式计算平均网络带宽值:

ave.bw=bw/n

其中,ave.bw表示所述平均网络带宽值,bw表示所述网络带宽,n表示所述统计的次数。

优选地,在本发明实施例提供的上述网络带宽测试方法中,在预定时间内,所述反馈信息的数量等于所述测试信息的数量。

优选地,在本发明实施例提供的上述网络带宽测试方法中,所述反馈信息的字节长度小于所述测试信息的字节长度。

优选地,在本发明实施例提供的上述网络带宽测试方法中,所述反馈模块设置在所述服务端的集群各节点中。

本发明实施例还提供了一种客户端,包括:

反馈信息统计模块,用于向服务端发送测试信息后,统计所述服务端的反馈模块在预定时间内传递来的反馈信息的数量;

测试信息确定模块,用于根据统计的所述反馈信息的数量,确定在所述预定时间内发送的测试信息的数量;

网络带宽计算模块,用于根据所述预定时间、在所述预定时间内发送的测试信息的数量以及每条测试消息的字节长度,计算出网络带宽。

本发明实施例还提供了一种网络带宽测试系统,包括:本发明实施例提供的上述客户端以及服务端。

本发明所提供的一种网络带宽测试方法、客户端及网络带宽测试系统,包括:向服务端发送测试信息后,统计服务端的反馈模块在预定时间内传递来的反馈信息的数量;根据统计的反馈信息的数量,确定在预定时间内发送的测试信息的数量;根据预定时间、在预定时间内发送的测试信息的数量以及每条测试消息的字节长度,计算出网络带宽。本发明通过测试客户端在预定时间内成功发送的信息数,来计算网络带宽,保证了测试结果的可靠性;同时,避免了统计服务端集群中各个节点的接收信息数,只需统计客户端在预定时间接收的反馈信息数,从而保证了测试结果的完整性,测试过程简单化,提高了网络带宽的测试效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的网络带宽测试方法的流程图之一;

图2为本发明实施例提供的网络带宽测试方法的流程图之二;

图3为本发明实施例提供的客户端的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供一种网络带宽测试方法,如图1所示,包括以下步骤:

s101、向服务端发送测试信息后,统计服务端的反馈模块在预定时间内传递来的反馈信息的数量;

s102、根据统计的反馈信息的数量,确定在预定时间内发送的测试信息的数量;

s103、根据预定时间、在预定时间内发送的测试信息的数量以及每条测试消息的字节长度,计算出网络带宽。

在本发明实施例提供的上述网络带宽测试方法中,首先向服务端发送测试信息后,统计服务端的反馈模块在预定时间内传递来的反馈信息的数量;然后根据统计的反馈信息的数量,确定在预定时间内发送的测试信息的数量;最后根据预定时间、在预定时间内发送的测试信息的数量以及每条测试消息的字节长度,计算出网络带宽。本发明通过测试在预定时间内成功发送的信息数来计算网络带宽,保证了测试结果的可靠性;同时,避免了统计服务端集群中各个节点接收到的测试信息数,只需统计在预定时间接收的反馈信息数,从而保证了测试结果的完整性,测试过程简单化,提高了网络带宽的测试效率。另外,该测试方法保持特定的复杂度不会随着服务端节点的增加而不断增大。

进一步地,在具体实施时,在本发明实施例提供的上述网络带宽测试方法中,采用下列公式计算网络带宽:

bw=n·m/t

其中,bw表示网络带宽,t表示预定时间,n表示在预定时间内发送的测试信息的数量,m表示每条测试信息的字节长度。

在具体实施时,在本发明实施例提供的上述网络带宽测试方法中,为了保证统计的灵活性与测试结果的可靠性,如图2所示,步骤s101统计服务端的反馈模块在预定时间内传递来的反馈信息的数量,具体可以包括:

s201、多次统计服务端的反馈模块在预定时间内传递来的反馈信息的数量;

在执行步骤s103计算出网络带宽之后,还包括:

s202、根据统计的次数、以及计算出的网络带宽,确定平均网络带宽值,平均网络带宽值作为最终的网络带宽。

上述步骤可以理解为每隔一段时间统计一次结果,在整个测试时间段内统计多次结果,这样可以提高测试的准确性。

进一步地,在具体实施时,在本发明实施例提供的上述网络带宽测试方法中,采用下列方式计算平均网络带宽值:

ave.bw=bw/n

其中,ave.bw表示平均网络带宽值,bw表示网络带宽,n表示统计的次数。

在具体实施时,在本发明实施例提供的上述网络带宽测试方法中,为了测试简单化,在预定时间内,反馈信息的数量可以等于测试信息的数量,也就是说,向服务端发送一条测试信息后,服务端的反馈模块会传递来一条反馈信息,反馈信息与测试信息是一一对应的关系。

在具体实施时,在本发明实施例提供的上述网络带宽测试方法中,反馈信息的字节长度可以小于测试信息的字节长度,这样避免对测试带宽产生影响。

在具体实施时,在本发明实施例提供的上述网络带宽测试方法中,反馈模块设置在服务端的集群各节点中。

基于同一发明构思,本发明实施例还提供了一种客户端,由于该客户端解决问题的原理与前述一种网络带宽测试方法相似,因此该客户端的实施可以参见网络带宽测试方法的实施,重复之处不再赘述。

在具体实施时,本发明实施例提供的客户端,如图3所示,可以包括:

反馈信息统计模块11,用于向服务端发送测试信息后,统计服务端的反馈模块在预定时间内传递来的反馈信息的数量;

测试信息确定模块12,用于根据统计的反馈信息的数量,确定在预定时间内发送的测试信息的数量;

网络带宽计算模块13,用于根据预定时间、在预定时间内发送的测试信息的数量以及每条测试消息的字节长度,计算出网络带宽。

在本发明实施例提供的上述客户端中,可以只通过测试该客户端在预定时间内成功发送的信息数,来计算网络带宽,保证了测试结果的可靠性;同时,避免了统计服务端集群中各个节点的接收信息数,只需统计该客户端在预定时间接收的反馈信息数,从而保证了测试结果的完整性,测试过程简单化,提高了网络带宽的测试效率。

基于同一发明构思,本发明实施例还提供了一种网络带宽测试系统,包括:本发明实施例提供的上述客户端以及服务端。

本发明实施例提供的一种网络带宽测试方法、客户端及网络带宽测试系统,包括:向服务端发送测试信息后,统计服务端的反馈模块在预定时间内传递来的反馈信息的数量;根据统计的反馈信息的数量,确定在预定时间内发送的测试信息的数量;根据预定时间、在预定时间内发送的测试信息的数量以及每条测试消息的字节长度,计算出网络带宽。本发明通过测试客户端在预定时间内成功发送的信息数,来计算网络带宽,保证了测试结果的可靠性;同时,避免了统计服务端集群中各个节点的接收信息数,只需统计客户端在预定时间接收的反馈信息数,从而保证了测试结果的完整性,测试过程简单化,提高了网络带宽的测试效率。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本发明所提供的网络带宽测试方法、客户端及网络带宽测试系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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