CN107734537A - 网络性能参数的测量方法、发送端及接收端 - Google Patents
网络性能参数的测量方法、发送端及接收端 Download PDFInfo
- Publication number
- CN107734537A CN107734537A CN201610657658.9A CN201610657658A CN107734537A CN 107734537 A CN107734537 A CN 107734537A CN 201610657658 A CN201610657658 A CN 201610657658A CN 107734537 A CN107734537 A CN 107734537A
- Authority
- CN
- China
- Prior art keywords
- packet
- receiving
- data
- transmission rate
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/08—Testing, supervising or monitoring using real traffic
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种网络性能参数的测量方法、发送端及接收端,属于互联网技术领域。该方法包括:接收发送端发送的探测包序列,探测包序列包括多组数据包对,每组数据包对包括多个数据量相等且首尾相连的数据包;在接收探测包序列的过程中,获取已接收数据包的数据信息;根据已接收数据包的数据信息,计算数据包的发送速率、接收速率及当前网络的瓶颈带宽;根据发送速率、接收速率及瓶颈带宽,计算当前网络的可用带宽。本发明通过获取已接收数据包的数据信息,进而根据已接收数据包的数据信息,计算可用带宽等网络性能参数。由于无需向接收端发送大量的数据包以制造网络拥塞,因而测量时间较短,且节省了测量过程资源消耗。
Description
技术领域
本发明涉及互联网技术领域,特别涉及一种网络性能参数的测量方法、发送端及接收端。
背景技术
随着互联网技术的发展及网络业务的拓展,互联网上用户和应用数量急剧增加,与此同时对网络资源的需求量也飞速增长。然而,不断增加的用户和应用,增加了网络负担沉重,导致网络设备负荷运转。为了提升网络性能,提高服务质量,需要对网络性能参数进行测量。
以网络性能参数为可用带宽为例,目前主要基于自拥塞原理对可用带宽进行测量,其中,自拥塞原理如下:对于一条从发送端到接收端的网络传输路径,如果发送端以小于等于可用带宽的发送速率向接收端发送一组数据包对,则接收端接收数据包对的接收速率与发送速率接近;如果发送端以大于可用带宽的发送速率向接收端发送一组数据包对,则接收端接收数据包对的接收速率小于发送速率。基于该原理,现有技术可通过线性增加发送速率的方式,向发送端发送多组数据包对,并计算每组数据包对对应的接收速率,获取接收速率接近发送速率时最大的发送速率,将最大的发送速率作为可用带宽。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
基于自拥塞原理对可用带宽进行测量时,需要发送大量的数据包对,以制造网络拥塞,因而测量时间较长,且测量过程资源消耗较大。
发明内容
为了解决现有技术中对网络性能参数测量时测量时间过长、资源消耗较大的问题,本发明实施例提供了一种网络性能参数的测量方法、发送端及接收端。所述技术方案如下:
第一方面,提供了一种网络性能参数的测量方法,所述方法包括:
接收发送端发送的探测包序列,所述探测包序列包括多组数据包对,每组数据包对包括多个数据量相等且首尾相连的数据包,相邻两组数据包对的发送时间间隔预设时长;
在接收所述探测包序列的过程中,获取已接收数据包的数据信息,所述数据信息包括发送时间、接收时间;
根据所述已接收数据包的数据信息,计算数据包的发送速率、接收速率及当前网络的瓶颈带宽;
根据所述发送速率、所述接收速率及所述瓶颈带宽,计算当前网络的可用带宽。
第二方面,提供了一种网络性能参数的测量方法,所述方法包括:
在指定时间内向接收端发送探测包序列,所述探测包序列用于所述接收端计算网络性能参数并返回,所述网络性能参数包括当前网络的瓶颈带宽、可用带宽、当前的网络场景、抖动程度及丢包率,所述探测包序列包括多组数据包对,每组数据包对包括多个数据量相等且首尾相连的数据包,相邻两组数据包对的发送时间间隔预设时长;
接收所述接收端发送的所述网络性能参数;
根据所述网络性能参数,对本地存储器中的网络性能参数进行更新;
根据更新后的网络性能参数,调整下一次测量时探测数据包的发送方式。
第三方面,提供了一种接收端,所述接收端包括:
接收模块,用于接收发送端发送的探测包序列,所述探测包序列包括多组数据包对,每组数据包对包括多个数据量相等且首尾相连的数据包,相邻两组数据包对的发送时间间隔预设时长;
第一获取模块,用于在接收所述探测包序列的过程中,获取已接收数据包的数据信息,所述数据信息包括发送时间、接收时间;
第一计算模块,用于根据所述已接收数据包的数据信息,计算数据包的发送速率、接收速率及当前网络的瓶颈带宽;
第二计算模块,用于根据所述发送速率、所述接收速率及所述瓶颈带宽,计算当前网络的可用带宽。
第四方面,提供了一种发送端,所述发送端包括:
发送模块,用于在指定时间内向接收端发送探测包序列,所述探测包序列用于所述接收端计算网络性能参数并返回,所述网络性能参数包括当前网络的瓶颈带宽、可用带宽、当前的网络场景、抖动程度及丢包率,所述探测包序列包括多组数据包对,每组数据包对包括多个数据量相等且首尾相连的数据包,相邻两组数据包对的发送时间间隔预设时长;
第一接收模块,用于接收所述接收端发送的所述网络性能参数;
更新模块,用于根据所述网络性能参数,对本地存储器中的网络性能参数进行更新;
调整模块,用于根据更新后的网络性能参数,调整下一次测量时探测数据包的发送方式。
本发明实施例提供的技术方案带来的有益效果是:
通过获取已接收数据包的数据信息,进而根据已接收数据包的数据信息,计算可用带宽等网络性能参数。由于无需向接收端发送大量的数据包以制造网络拥塞,因而测量时间较短,且节省了测量过程资源消耗。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种网络性能参数的测量方法的流程图;
图2是本发明另一个实施例提供的一种网络性能参数的测量方法的流程图;
图3是本发明另一个实施例提供的一种网络性能参数的测量方法的流程图;
图4是本发明另一个实施例提供的一种探测包序列的示意图;
图5是本发明另一个实施例提供的一种发送速率与瓶颈带宽的示意图;
图6是本发明另一个实施例提供的另一种发送速率与瓶颈带宽的示意图;
图7是本发明另一个实施例提供的另一种发送速率与瓶颈带宽的示意图;
图8是本发明另一个实施例提供的另一种发送速率与瓶颈带宽的示意图;
图9是本发明另一个实施例提供的一种网络性能参数测量过程的示意图;
图10是本发明另一个实施例提供的一种接收端的装置结构示意图;
图11是本发明另一个实施例提供的一种发送端的装置结构示意图;
图12是本发明另一个实施例所涉及的网络性能参数的测量终端的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
随着互联网技术的发展,用户对互联网提供的服务质量要求越来越高。为了能够向用户提供优质的服务,同时提高网络利用率,在互联网技术领域,常常会对用于表征网络状况的网络性能参数进行测量。
网络性能参数一般包括瓶颈带宽、可用带宽等。以网络性能参数为瓶颈带宽为例,现有技术可基于包对技术对瓶颈带宽进行测量,具体测量过程如下:发送端按照指定时间间隔向接收端发送一对大小相等的数据包,该指定时间间隔要小于一个数据包在瓶颈链路中的传输时间,使得在瓶颈链路处两个数据包能够首尾相接,记录第二个数据包在瓶颈链路中的传输时间,该传输时间即为两个数据包能够散开的时间间隔,根据传输时间和数据包大小,计算出瓶颈带宽。对于网络性能参数中的可用带宽,现有技术可基于自拥塞原理,通过制造网络拥塞,获取接收速率接近发送速率时最大的发送速率,进而将最大的发送速率最为可用带宽。
基于包对技术的瓶颈带宽测量方法时,由于受到抖动、丢包等因素影响,导致测量结果不够准确、稳定性较差;而基于自拥塞原理的可用带宽测量方法,由于需要发送大量的数据包对,导致测量时间较长,资源消耗较大。
为了解决上述问题,本发明实施例提供了一种网络性能参数的测量方法,参见图1,本发明实施例提供的方法流程包括:
101、接收发送端发送的探测包序列,该探测包序列包括多组数据包对,每组数据包对包括多个数据量相等且首尾相连的数据包,相邻两组数据包对的发送时间间隔预设时长。
102、在接收探测包序列的过程中,获取已接收数据包的数据信息,该数据信息包括发送时间、接收时间。
103、根据已接收数据包的数据信息,计算数据包的发送速率、接收速率及当前网络的瓶颈带宽。
104、根据发送速率、接收速率及瓶颈带宽,计算当前网络的可用带宽。
本发明实施例提供的方法,通过获取已接收数据包的数据信息,进而根据已接收数据包的数据信息,计算可用带宽等网络性能参数。由于无需向接收端发送大量的数据包以制造网络拥塞,因而测量时间较短,且节省了测量过程资源消耗。
在本发明的另一个实施例中,根据已接收数据包的数据信息,计算数据包的发送速率、接收速率及当前网络的瓶颈带宽,包括:
从已接收数据包的发送时间中,获取最小发送时间和最大发送时间,将最小发送时间和最大发送时间之间的时间间隔作为数据包的发送时长;
从已接收数据包的接收时间中,获取最小接收时间和最大接收时间,将最小接收时间和最大接收时间之间的时间间隔作为数据包的接收时长;
获取已接收数据包的总数据量;
根据已接收数据包的总数据量和数据包的发送时长,计算数据包的发送速率;
根据已接收数据包的总数据量和数据包的接收时长,计算数据包的接收速率。
在本发明的另一个实施例中,根据已接收数据包的数据信息,计算数据包的发送速率、接收速率及当前网络的瓶颈带宽,包括:
从已接收数据包中,获取已接收的多组数据包对;
对于已接收的任一组数据包对,获取数据包对中第一个数据包的接收时间和最后一个数据包的接收时间,将第一个数据包的接收时间和最后一个数据包的接收时间之间的时间间隔作为数据包对的散开时间间隔;
获取已接收的多组数据包对的散开总时间间隔;
获取已接收的多组数据包对的散开总时间间隔对应的总数据量;
根据已接收的多组数据包对的散开总时间间隔和总数据量,计算当前网络的瓶颈带宽。
在本发明的另一个实施例中,该方法还包括:
获取已接收的每组数据包对的散开时间间隔;
根据已接收的每组数据包对的散开时间间隔,计算已接收多组数据包对的散开时间间隔的标准差,得到当前网络的抖动程度。
在本发明的另一个实施例中,根据发送速率、接收速率及瓶颈带宽,计算当前网络的可用带宽,包括:
当发送速率大于等于瓶颈带宽时,计算接收速率与瓶颈带宽的比值;
如果接收速率与瓶颈带宽的比值大于第一阈值,则将瓶颈带宽作为可用带宽;
如果接收速率与瓶颈带宽的比值小于第一阈值,则应用以下公式计算可用带宽:
其中,A表示可用带宽,C表示瓶颈带宽,S表示发送速率,R表示接收速率。
在本发明的另一个实施例中,根据发送速率、接收速率及瓶颈带宽,计算当前网络的可用带宽,包括:
当发送速率小于瓶颈带宽时,计算发送速率与接收速率的比值;
如果发送速率与接收速率的比值小于第二阈值,则将发送速率作为可用带宽;
如果发送速率与接收速率的比值大于第二阈值,则应用以下公式计算可用带宽:
其中,A表示可用带宽,C表示瓶颈带宽,S表示发送速率,R表示接收速率。
在本发明的另一个实施例中,该方法还包括:
根据发送速率、接收速率及瓶颈带宽,确定当前的网络场景。
在本发明的另一个实施例中,根据发送速率、接收速率及瓶颈带宽,确定当前的网络场景,包括:
当发送速率大于等于瓶颈带宽时,如果接收速率与瓶颈带宽的比值大于第一阈值,则确定当前的网络场景为无竞争场景;
如果接收速率与瓶颈带宽的比值小于第一阈值,则确定当前的网络场景为有竞争场景。
在本发明的另一个实施例中,根据发送速率、接收速率及瓶颈带宽,确定当前的网络场景,包括:
当发送速率小于瓶颈带宽时,如果发送速率与接收速率的比值大于第二阈值,则确定当前的网络场景为有竞争场景;
如果发送速率与接收速率的比值小于第二阈值,则无法确定当前的网络场景。
在本发明的另一个实施例中,该方法还包括:
当接收到探测包序列中的第一个数据包时,向发送端发送确认信息,确认信息用于发送端计算往返时延。
在本发明的另一个实施例中,该方法还包括:
根据发送端发送的数据包和已接收数据包,计算丢包率。
在本发明的另一个实施例中,该方法还包括:
将包括瓶颈带宽、可用带宽、当前的网络场景、抖动程度及丢包率的网络性能参数发送至发送端,由发送端进行更新,并根据更新后的网络性能参数调整下一次测量时探测数据包的发送方式。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
本发明实施例提供了一种网络性能参数的测量方法,参见图2,本发明实施例提供的方法流程包括:
201、在指定时间内向接收端发送探测包序列,该探测包序列用于接收端计算网络性能参数并返回,该网络性能参数包括当前网络的瓶颈带宽、可用带宽、当前的网络场景、抖动程度及丢包率,该探测包序列包括多组数据包对,每组数据包对包括多个数据量相等且首尾相连的数据包,相邻两组数据包对的发送时间间隔预设时长。
202、接收接收端发送的网络性能参数。
203、根据网络性能参数,对本地存储器中的网络性能参数进行更新。
204、根据更新后的网络性能参数,调整下一次测量时探测数据包的发送方式。
本发明实施例提供的方法,通过向接收端发送探测包序列,使发送端能够根据已接收数据包的数据信息,计算可用带宽等网络性能参数。由于无需向接收端发送大量的数据包以制造网络拥塞,因而测量时间较短,且节省了测量过程资源消耗。
在本发明另一个实施例中,该方法还包括:
接收接收端发送的确认信息,确认信息由接收端接收到探测包序列中的第一个数据包时发送;
根据确认信息,计算往返时延。
在本发明另一个实施例中,根据更新后的网络性能参数,调整下一次测量时探测数据包的发送方式,包括:
如果更新后的网络场景为一种确定的网络场景,则停止向接收端发送探测包序列;
如果更新后的网络场景为一种不确定的网络场景,则下一次向接收端发送探测包序列时,采用大于瓶颈带宽的发送速率进行发送。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
本发明实施例提供了一种网络性能参数的测量方法,以网络传输路径中的发送端和接收端执行本方法为例,参见图3,本发明实施例提供的方法流程包括:
301、发送端在指定时间内向接收端发送探测包序列。
其中,发送端和接收端可以为笔记本电脑、台式电脑、智能手机、平板电脑等具有网络通信功能的设备,本实施例不对发送端和接收端的产品类型作具体的限定。
在本发明的一个实施例中,发送端和接收端可具有数据传输能力,基于数据传输能力,发送端和接收端可彼此传输数据。
在本发明的另一个实施例中,发送端和接收端还可具有计时能力,基于计时能力,发送端每发送一个数据包,将标记该数据包的发送时间;接收端每接收到一个数据包,将标记接收该数据包的接收时间。
在本发明的另一个实施例中,发送端和接收端还可具有计算处理能力,基于计算处理能力,发送端能够采用一定的策略向接收端发送探测包序列,并在接收到接收端发送测量结果后,调整测量策略;接收端能够根据接收到的数据包,计算网络性能参数。
当然,除了具有网络通信能力、数据传输能力、计时能力、计算处理能力外,发送端和接收端还可以具有其他能力,本实施例不再进行一一说明。
需要说明的是,在一个端到端的网络传输路径中,通信的任一方均可作为发送端,也可作为接收端,例如,在终端A与终端B通信过程中,终端A作为发送端会向终端B发送探测包序列,对终端A到终端B的网络状况进行探测,终端B在作为接收端的同时也可以作为发送端,也可以向终端A发送探测包序列,对终端B到终端A的网络状况进行探测,终端A和终端B通过彼此向对方发送探测包序列,探测本端到对端的网络状况,快速调整向对方发送数据的编码码率,从而向用户提供良好的通信服务。
在发送端与接收端建立网络通信时,发送端可通过在指定时间内向接收端发送探测包序列,以探测接收端的网络状况。在此之前,发送端需要构造一个探测包序列,该探测包序列包括多组数据包对,每组数据包对的数据结构相同,均包括多个数据量相等且首尾相连的数据包。其中,指定时间可以为0.5s、1s等。当超过指定时间后发送端将停止向接收端发送数据包,直至接收到接收端发送的测量结果并再一次向接收端发送探测包序列为止。另外,为了避免网络拥堵,发送端在指定时间内以预设时长为单位,每隔预设时长向接收端发送一组数据包对,也即是相邻两组数据包对的发送时间间隔预设时长。图4为本发明实施例中发送端向接收端发送的探测包序列的示意图,由图4可知,在指定时间T内,发送端发送的探测包序列包括多组数据包对,每组数据包包括两个数据量相等且首尾相连的数据包,以每组数据包对的第一个数据包的发送时间为依据,相邻两组数据包对的发送时间间隔预设时长τ。
在本实施例中,发送端维护一个发送码表,该发送码表包括多个码率,每个码率对应一个发送速率,该发送速率为理想发送速率,发送端每次在向接收端发送探测包序列时,均会从该发送码表中,选取一个发送速率,并采用该发送速率向接收端均匀发送数据包。然而,在实际发送过程中,实际发送速率可能大于或者小于该理想发送速率,因此,对于数据包的实际发送速率也需要接收端进行测量。
基于发送端的计时能力,发送端每发送一个数据包,都会给该数据包标记上发送时间。为了便于记录和存储,发送端可将发送的第一个数据包中第一个字节的发送时间标记为0,后续发送的每个数据包的发送时间为距离第一个数据包中第一字节发送时间点的差值。为使测量结果更为准确,发送端可采用高精度计时器记录每个数据包的发送时间。
302、在接收探测包序列的过程中,接收端获取已接收数据包的数据信息。
在接收探测包序列的过程中,接收端会标记每个数据包的接收时间,为了便于记录和存储,接收端将接收到的第一个数据包中最后一个字节的接收时间标记为0,后续接收到的每个数据包的接收时间为距离第一个数据包中最后一个字节的接收时间点的差值。为使测量结果更为准确,接收端也可采用高精度计时器记录每个数据包的接收时间。
其中,数据包的数据信息不仅包括发送时间、接收时间,还包括数据包本身的属性信息,例如,数据量、编码格式等等。在发送端向接收端发送探测包序列的过程中,接收端接收数据包,并根据接收数据包的数据信息,更新本地存储器中存储的数据包的数据信息,直至接收到探测包序列中的最后一个数据包,或者超过一定的时长未接收到最后一个数据包。
在本实施例中,当接收到探测包序列中的第一个数据包时,接收端还将向发送端发送确认信息,该确认信息中携带第一数据包的发送时间及接收时间等,当接收到该确认信息后,发送端记录接收到确认信息的时间,并根据第一数据包的发送时间及接收到确认信息的时间,计算往返时延,该往返时延为接收端衡量当前的网络状况的一项重要指标。
303、接收端根据已接收数据包的数据信息,计算数据包的发送速率、接收速率及当前网络的瓶颈带宽。
其中,数据包的发送速率为探测包序列中数据包的实际发送速率。基于所获取的数据包的数据信息,接收端在根据已接收数据包的数据信息,计算数据包的发送速率时,可采用如下步骤30311~30313:
30311、接收端从已接收数据包的发送时间中,获取最小发送时间和最大发送时间,并将最小发送时间和最大发送时间之间的时间间隔作为数据包的发送时长。
例如,接收端依次接收到10个数据包,其中,第1个数据包的发送时间为0,第10个数据包的发送时间为30ms,如果第1个数据包的发送时间为最小发送时间,第10个数据包的发送时间为最大发送时间,则通过将最大发送时间减去最小的发送时间,可得到最小发送时间和最大发送时间之间的时间间隔30ms,并将30ms作为数据包的发送时长。
30312、接收端获取已接收数据包的总数据量。
对于探测包序列,设定每个数据包的数据量为pi,如果接收到10个数据包,则已接收数据包的数据量为10pi。
30313、接收端根据已接收数据包的总数据量和数据包的发送时长,计算数据包的发送速率。
基于已接收数据包的数据量及数据包的发送时长,接收端通过将已接收数据包的数据量除以数据包的发送时长,可得到数据包的发送速率。仍以接收到10个数据包为例,每个数据包的数据量为30K,10个数据包的总数据量为300K,若10个数据包的最小发送时间和最大发送时间之间的时间间隔为30ms,则数据包的发送速率为300K/30ms=10K/ms。
其中,数据包的接收速率为接收端接收探测包序列中数据包的速率。基于所获取的数据包信息,接收端在根据已接收数据包的数据信息,计算数据包的接收速率时,可采用如下步骤30321~30323:
30321、接收端从已接收数据包的接收时间中,获取最小接收时间和最大接收时间,并将最小接收时间和最大接收时间之间的时间间隔作为数据包的接收时长。
30322、接收端获取已接收数据包的总数据量。
30323、接收端根据已接收数据包的总数据量和数据包的接收时长,计算数据包的接收速率。
基于已接收数据包的数据量及数据包的接收时长,接收端通过将已接收数据包的数据量除以数据包的接收时长,可得到数据包的接收速率。
其中,瓶颈带宽为在无干扰业务的情况下,网络传输路径上最窄链路所能提供的最大带宽。基于所获取到的数据包信息,接收端在根据已接收数据包的数据信息,计算当前网络的瓶颈带宽时,可采用如下步骤30331~30335:
30331、接收端从已接收数据包中,获取已接收的多组数据包对。
由于网络情况较为复杂,数据包在传输过程中,经常会发生丢包的情况,对于一个包含多个数据包的数据包对,在传输过程中,任一个数据包可能会丢失,这样接收端接收到的数据包中,可能会包括并不是完整的数据包对,而在互联网领域,对瓶颈带宽进行计算时,均根据接收到的完成数据包对进行计算,因此,在对瓶颈带宽进行计算时,需要从已接收数据包中,获取多组完整的数据包对。
一般情况下,同一数据包对包括的数据包具有相同的标识或字符,因此,接收端可根据数据包对的标识或字符,从已接收数据包中,获取多组完整数据包对。
30332、对于已接收的任一组数据包对,接收端获取数据包对中第一个数据包的接收时间和最后一个数据包的接收时间,并将第一个数据包的接收时间和最后一个数据包的接收时间之间的时间间隔作为数据包对的散开时间间隔。
其中,散开时间间隔为数据包对在瓶颈带宽中传输时每个数据包彼此分开所用的时间。对于接收到的任一数据包对,接收端通过将最后一个数据包的接收时间减去第一数据包的接收时间,可得到该数据包对的散开时间间隔。例如,数据包对包括两个数据包,第1个数据包的接收时间为20ms,第2个数据包的接收时间为25ms,接收端通过将第2个数据包的接收时间减去第1个数据包的接收时间,可得到该数据包对的散开时间为25ms-20ms=5ms。
30333、接收端获取已接收的多组数据包对的散开总时间间隔。
对于已接收到的多组数据包对,可采用步骤30332的方法获取每组数据包对的散开时间间隔。接收端通过将多组数据包对的散开时间间隔相加,得到已接收的多组数据包对的散开总时间间隔。
例如,已接收4组数据包对,第1组数据数据包对的散开时间间隔为3ms,第2组数据包对的散开时间间隔为3.5ms,第3组数据包对的散开时间间隔为4ms,第4组数据包对的散开时间间隔为2.5ms,接收端通过将已接收的4组数据包对的散开时间间隔相加,可得到4组数据包对的散开总时间间隔为3ms+3.5ms+4ms+2.5ms=13ms。
30334、接收端获取已接收的多组数据包对散开总时间间隔对应的的总数据量。
设定接收到n个数据包对,每个数据包对中包括m个数据包,每个数据包的数据量为pi,则已接收的n组数据包对的总数据量=mnpi,而步骤30333所计算的包对总散开时间间隔对应的总数据量应是扣除每组包对首包后的数据量,即为:(m-1)npi。
30335、接收端根据已接收的多组数据包对的散开总时间间隔和对应的总数据量,计算当前网络的瓶颈带宽。
在互联网技术领域,每组数据包对的散开时间受抖动影响较大。当网络中抖动较小时,各组数据包对的散开时间间隔比较接近;当网络中抖动较大时,各组数据包对的散开时间间隔差距较大。为了更好地适应抖动场景,本实施例中将采用总体求平均值的方式计算当前网络的瓶颈带宽。具体计算时,可将已接收的多组数据包对的总数据量除以已接收的多组数据包对散开总时间间隔,以得到当前网络的瓶颈带宽。
例如,接收端接收到4组数据包对,每组数据包对包括2个数据包,每个数据包的数据量为20K,根据上述内容,可得到散开总时间间隔对应的总数据量4*(2-1)*20K=80K;如果接收端获取到4组数据包对的总散开时间间隔为40ms,则可计算出当前网络的瓶颈带宽=80K/40ms=2K/ms。
在网络场景中,当网络中的抖动影响探测包序列中每组数据报对的散开时间,在网络中的抖动较小时,一组探测包序列中每组数据包对的散开时间间隔都很接近,在网络中的抖动较大时,受到抖动影响,一组探测包序列中每组数据包对的散开时间间隔可能变大也可能变小,基于该种时间特性,本实施例提供的方法可通过已接收多组数据包对的散开时间间隔,计算当前网络的抖动程度。具体计算时,参见下述步骤30341~30342:
30341、接收端获取已接收的每组数据包对的散开时间间隔。
30342、接收端根据已接收的每组数据包对的散开时间间隔,计算已接收多组数据包对的散开时间间隔的标准差,得到当前网络的抖动程度。
设定接收端获取到n组数据包对,第1组数据包对的散开时间间隔为t1,第2组数据包对的散开时间间隔为t2,第3组数据包对的散开时间间隔为t3,…,第n组数据包对的散开时间间隔为tn,根据n组数据包对的散开时间间隔,得到n组数据包的散开时间间隔的平均值为则可得到当前网络的抖动程度为
例如,接收端获取到4组数据包对,第1组数据包对的散开时间间隔为3ms,第2组数据包对的散开时间间隔为4ms,第3组数据包的散开时间间隔为2ms,第4组数据包对的散开时间间隔为3ms,已获取4组数据包对的散开时间间隔的平均值为3ms,通过计算4组数据包对的散开时间间隔的标准差,可得到当前网络的抖动程度为:
304、接收端根据发送速率、接收速率及瓶颈带宽,计算当前网络的可用带宽。
基于上述步骤303中计算得到的发送速率、接收速率及瓶颈带宽,接收端通过将发送速率与瓶颈带宽进行比较,可得到两种比较结果,一种比较结果为发送速率大于等于瓶颈带宽,另一种比较结果为发送速率小于瓶颈带宽。针对这两种比较结果,接收端可结合共享带宽机制,计算当前网络的可用带宽。其中,共享带宽机制是指当发送速率S和竞争背景流的速率V之和超过瓶颈带宽C时,接收速率R满足如下规律:
第一种情况、发送速率大于等于瓶颈带宽。
针对发送速率大于等于瓶颈带宽的情况,接收端根据发送速率、接收速率及瓶颈带宽,计算当前网络的可用带宽时,采用如下步骤30411~30413:
30411、接收端计算接收速率与瓶颈带宽的比值。
接收端通过计算接收速率与瓶颈带宽的比值,比较接收速率与瓶颈带宽的之间的接近程度,并根据接收速率与瓶颈带宽的之间的接近程度,采用步骤30412和30413计算当前网络的可用带宽。
30412、如果接收速率与瓶颈带宽的比值大于第一阈值,则接收端将瓶颈带宽作为可用带宽。
其中,第一阈值可以为0.5、0.7、1等任意不大于1的数值。当接收速率与瓶颈带宽的比值大于第一阈值时,说明接收速率与瓶颈带宽比较接近,此时可认为瓶颈带宽与可用带宽相等。
参见图5,其示出了发送速率与瓶颈带宽的示意图,由图5可知,发送速率S大于瓶颈带宽C,接收速率R与瓶颈带宽C接近,此时可将瓶颈带宽C作为当前网络的可用带宽A。
30413、如果接收速率与瓶颈带宽的比值小于第一阈值,说明接收速率远远小于瓶颈带宽,此时可根据接收速率、发送速率及瓶颈带宽,并利用共享带宽机制计算当前网络的竞争背景流进而通过将瓶颈带宽减去竞争背景流,得到可用带宽
在本实施例中,在发送速率大于瓶颈带宽的情况下,当接收速率与瓶颈带宽的比值小于第一阈值时,接收端可采用上述公式计算当前网络的可用带宽。
参见图6,其示出了发送速率与瓶颈带宽的示意图,由图6可知,发送速率S大于瓶颈带宽C,接收速率R小于瓶颈带宽C,此时可应用公式计算当前网络的可用带宽。
第二种情况、发送速率小于瓶颈带宽。
针对发送速率小于瓶颈带宽的情况,接收端根据发送速率、接收速率及瓶颈带宽,计算当前网络的可用带宽时,采用如下步骤30421~30423:
30421、接收端计算发送速率与接收速率的比值。
接收端通过计算发送速率与接收速率的比值,比较发送速率与接收速率之间的接近程度,并根据发送速率与接收速率之间的接近程度,采用步骤30422和30423计算当前网络的可用带宽。
30422、如果发送速率与接收速率的比值小于第二阈值,则接收端将发送速率作为可用带宽。
其中,第二阈值可以为1、1.2、1.3等任意接近1的数值。当发送速率与接收速率的比值小于第二阈值,说明发送速率与接收速率比较接近,此时可将发送速率作为可用带宽。
参见图7,其示出了发送速率与瓶颈带宽的示意图,由图7可知,发送速率与接收速率接近,此时可将发送速率作为可用带宽。
30423、如果发送速率与接收速率的比值大于第二阈值,说明接收速率远小于发送速率,此时可根据发送速率、接收速率及瓶颈带宽,并利用共享宽带机制计算当前网络的竞争背景流进而通过将瓶颈带宽减去竞争背景流,得到可用带宽
在本实施例中,在发送速率小于瓶颈带宽的情况下,当发送速率与接收速率的比值大于第二阈值时,接收端可采用上述公式计算当前网络的可用带宽。
参见图8,其示出了发送速率与瓶颈带宽的示意图,由图8可知,发送速率S小于瓶颈带宽C,发送速率S大于接收速率R,此时可应用公式计算当前网络的可用带宽。
本发明实施例提供的方法在根据发送速率、接收速率及瓶颈带宽,计算当前网络的可用带宽的过程中,还能够确定当前的网络场景。其中,当前的网络场景类型包括竞争场景、无竞争场景等,本实施例不对当前的网络场景类型作具体的限定。
与上述计算当前网络的可用带宽相同,接收端在根据发送速率、接收速率及瓶颈带宽,确定当前的网络场景时,也分为两种情况。
第一种情况、发送速率大于等于瓶颈带宽。
当发送速率大于等于瓶颈带宽时,如果接收速率与瓶颈带宽的比值大于第一阈值,说明当前网络中不存在竞争背景流,此时可确定当前的网络场景为无竞争场景;如果接收速率与瓶颈带宽的比值小于第一阈值,说明当前网络中存在竞争背景流,此时可确定当前的网络场景为有竞争场景。
第二种情况、发送速率小于瓶颈带宽。
当发送速率小于瓶颈带宽时,如果发送速率与接收速率的比值大于第二阈值,说明当前网络中存在竞争背景流,此时可确定当前的网络场景为有竞争场景;如果发送速率与接收速率的比值小于第二阈值,此时无法确定当前网络中是否存在竞争背景流,此时也无法确定当前的网络场景。
另外,本实施例提供的方法还可根据发送端发送的数据包和已接收数据包,计算当前网络的丢包率。设定发送端发送a个数据包,接收端接收到b个数据包(a>=b),则可计算出当前网络的丢包率=1-b/a。
305、接收端将包括瓶颈带宽、可用带宽、当前的网络场景、抖动程度及丢包率的网络性能参数发送至发送端。
通过上述步骤301~304,接收端根据数据包的数据信息,能够获取到当前网络的瓶颈带宽、可用带宽、当前的网络场景、抖动程度及丢包率等网络性能参数,而发送端向接收端发送探测包序列的目的在于测量与接收端之间网络传输路径上的网络状况,从而根据当前的网络状况,调整向接收端发送数据的码率,以为接收端用户提供良好的服务。为了实现这一目的,接收端需要将获取到的包括瓶颈带宽、可用带宽、当前网络场景、抖动程度及丢包率等网络性能参数发送至发送端。
306、当接收到接收端发送的网络性能参数,发送端根据网络性能参数,对本地存储器中的网络性能参数进行更新。
其中,本地存储器包括为易失性存储器(如内存,memory)和非易失性存储器(如硬盘,storage)中的一种。当接收到接收端发送的网络性能参数,发送端根据本次接收到的网络性能参数,对本地存储器中存储的网络性能参数进行更新。针对网络性能参数中的瓶颈带宽、可用带宽及当前的网络场景,发送端可直接根据接收到的瓶颈带宽、可用带宽及当前的网络场景,对本地存储器中存储的瓶颈带宽、可用带宽及当前网络场景进行更新;针对网络性能参数中的抖动程度,发送端将接收到的抖动程度与本地存储器中存储的抖动程度求平均,并根据抖动程度的平均值,对本地存储器中存储的抖动程度进行更新;针对网络性能参数中的丢包率,发送端将接收到的丢包率与本地存储器中存储的丢包列表求平均值,并根据丢包率的平均值,对本地存储器中存储的丢包率进行更新。
另外,本次发送端对接收端的网络性能参数进行测量时,发送端还计算出往返时延,该往返时延作为网络性能参数中的一种,也可用于发送端对接收端的网络性能参数进行测量。对于本次计算出的往返时延,发送端将本次计算的往返时延与本地存储器中存储的往返时延求平均值,并根据往返时延的平均值,对本地存储器中存储的往返时延进行更新。
307、发送端根据更新后的网络性能参数,调整下一次测量时探测数据包的发送方式。
针对网络性能参数中的当前的网络场景,发送端在调整下一次测量时探测数据包的发送方式时,包括以下几种情况。
在本发明的一个实施例中,如果更新后的当前的网络场景为一种确定的网络场景,如竞争场景或无竞争场景,则发送端将停止向接收端发送探测包序列。
在本发明另一个实施例中,如果更新后的网络场景为一种不确定的网络场景,且发送端向接收端发送探测包序列的次数超过预设次数如3次等,则发送端也将停止向接收端发送探测包序列。
在本发明的另一个实施例中,如果更新后的网络场景为一种不确定的网络场景,说明发送端向接收端发送探测包序列的发送速率小于当前网络的瓶颈带宽,若发送端向接收端发送探测包序列的次数小于预设次数,则发送端下一次向接收端发送探测包序列时,将采用大于瓶颈带宽的发送速率进行发送。在本实施例中,发送端维护一个发送码表,该发送码表中包括多个码率,每个码率对应一个发送速率,下一次发送端向接收端发送探测包序列时,可从该发送码表中选取一个大于更新后的瓶颈带宽的最小码率发送,若更新后的瓶颈带宽大于发送码表中最大的码率值,则采用最大的码率发送。
基于更新后的网络性能参数,本实施例提供的方法还将根据更新后的网络性能参数自适应调整探测策略,如果更新后的抖动程度和丢包率较大,则增大下一次探测时探测包序列的发包时间长度及发包个数,以使更长的时间长度和更多的数据包能够提高对瓶颈带宽的丢包和抖动抗性,提高对瓶颈带宽和可用带宽测量的准确性;如果更新后的抖动程度和丢包率较小,则适当减小下一次探测时探测包序列的发包时间长度及发包个数,以避免网络拥塞,节省网络资源。
图9为本发明实施例提供网络性能的测量过程的示意图,该过程如下:
在发送端与接收端通信过程中,发送端先构造一个探测包序列,并将所构造的探测包序列均匀地发送至接收端,接收端接收发送端发送的探测流,并实时更新已接收数据包的数据信息,当接收到探测包序列中的最后一个数据包或者超过一定的时长未接收到最后一个数据包,接收端停止更新已接收数据包的数据信息,并根据已接收数据包的数据信息,计算数据包的发送速率、接收速率,并计算瓶颈带宽和抖动程度。基于已计算出的发送速率、接收速率及瓶颈带宽,接收端计算当前网络的可用带宽,同时确定出当前网络的网络场景。在此过程中,接收端还根据数据包的数据信息,计算丢包率,进而将包括当前网络的瓶颈带宽、可用带宽、抖动程度、当前的网络场景、丢包率等网络性能参数发送至发送端,发送端接收到接收端发送的网络性能参数,对本地存储器中存储的网络性能参数进行更新,并根据更新后的网络性能参数调整下一次向接收端发送探测包序列的发送方式。
对于直观对比出采用本发明实施例提供的方法对网络性能参数进行测量后,用户体验上的不同,下面以双人视频聊天为例进行说明。
在双人视频聊天场景下,现有技术中的通信双方采用一个很低的初始码率启动,然后逐步提升视频码率,这种从低码率开始不断尝试上调码率的方法,虽然行之有效,但对于一些网络状态很好的用户而言,从低码率开启用户体验效果不佳。而将本发明实施例提供的方法应用于双人视频聊天场景下,在通信双方接通视频聊天的瞬间,利用1~2s的时间快速地探测用户的端到端的网络状况,然后根据探测到的网络状况,配置用户的初始视频编码码率。对于网络状况较好且设备支持高清视频的用户,可直接发送高清的视频码流,使得用户可以实现“秒级别”的高清视频聊天,提高宽带利用率的同时,改善了用户的聊天体验。
本发明实施例提供的方法,通过获取已接收数据包的数据信息,进而根据已接收数据包的数据信息,计算可用带宽等网络性能参数。由于无需向接收端发送大量的数据包以制造网络拥塞,因而测量时间较短,且节省了测量过程资源消耗。
参见图10,本发明实施例提供了一种接收端,该接收端包括:
接收模块1001,用于接收发送端发送的探测包序列,探测包序列包括多组数据包对,每组数据包对包括多个数据量相等且首尾相连的数据包,相邻两组数据包对的发送时间间隔预设时长;
第一获取模块1002,用于在接收探测包序列的过程中,获取已接收数据包的数据信息,数据信息包括发送时间、接收时间;
第一计算模块1003,用于根据已接收数据包的数据信息,计算数据包的发送速率、接收速率及当前网络的瓶颈带宽;
第二计算模块1004,用于根据发送速率、接收速率及瓶颈带宽,计算当前网络的可用带宽。
在本发明的另一个实施例中,第一计算模块1003,用于从已接收数据包的发送时间中,获取最小发送时间和最大发送时间,将最小发送时间和最大发送时间之间的时间间隔作为数据包的发送时长;从已接收数据包的接收时间中,获取最小接收时间和最大接收时间,
将最小接收时间和最大接收时间之间的时间间隔作为数据包的接收时长;获取已接收数据包的总数据量;根据已接收数据包的总数据量和数据包的发送时长,计算数据包的发送速率;根据已接收数据包的总数据量和数据包的接收时长,计算数据包的接收速率。
在本发明的另一个实施例中,第一计算模块1003,用于从已接收数据包中,获取已接收的多组数据包对;对于已接收的任一组数据包对,获取数据包对中第一个数据包的接收时间和最后一个数据包的接收时间,将第一个数据包的接收时间和最后一个数据包的接收时间之间的时间间隔作为数据包对的散开时间间隔;获取已接收的多组数据包对的散开总时间间隔;获取已接收的多组数据包对的散开总时间间隔对应的总数据量;根据已接收的多组数据包对的散开总时间间隔和总数据量,计算当前网络的瓶颈带宽。
在本发明的另一个实施例中,接收端还包括:
第二获取模块,用于获取已接收的每组数据包对的散开时间间隔;
第三计算模块,用于根据已接收的每组数据包对的散开时间间隔,计算已接收多组数据包对的散开时间间隔的标准差,得到当前网络的抖动程度。
在本发明的另一个实施例中,第二计算模块1004,用于当发送速率大于等于瓶颈带宽时,计算接收速率与瓶颈带宽的比值;当接收速率与瓶颈带宽的比值大于第一阈值时,将瓶颈带宽作为可用带宽;当接收速率与瓶颈带宽的比值小于第一阈值时,应用以下公式计算可用带宽:
其中,A表示可用带宽,C表示瓶颈带宽,S表示发送速率,R表示接收速率。
在本发明的另一个实施例中,第二计算模块1004,用于当发送速率小于瓶颈带宽时,计算发送速率与接收速率的比值;当发送速率与接收速率的比值小于第二阈值时,将发送速率作为可用带宽;当发送速率与接收速率的比值大于第二阈值时,应用以下公式计算可用带宽:
其中,A表示可用带宽,C表示瓶颈带宽,S表示发送速率,R表示接收速率。
在本发明的另一个实施例中,接收端还包括:
确定模块,用于根据发送速率、接收速率及瓶颈带宽,确定当前的网络场景。
在本发明的另一个实施例中,确定模块,用于当发送速率大于等于瓶颈带宽时,当接收速率与瓶颈带宽的比值大于第一阈值时,确定当前的网络场景为无竞争场景;当接收速率与瓶颈带宽的比值小于第一阈值时,确定当前的网络场景为有竞争场景。
在本发明的另一个实施例中,确定模块,用于当发送速率小于瓶颈带宽时,当发送速率与接收速率的比值大于第二阈值时,确定当前的网络场景为有竞争场景;当发送速率与接收速率的比值小于第二阈值时,无法确定当前的网络场景。
在本发明的另一个实施例中,接收端还包括:
第一发送模块,用于当接收到探测包序列中的第一个数据包时,向发送端发送确认信息,确认信息用于发送端计算往返时延。
在本发明的另一个实施例中,接收端还包括:
第四计算模块,用于根据发送端发送的数据包和已接收数据包,计算丢包率。
在本发明的另一个实施例中,接收端还包括:
第二发送模块,用于将包括瓶颈带宽、可用带宽、当前的网络场景、抖动程度及丢包率的网络性能参数发送至发送端,由发送端进行更新,并根据更新后的网络性能参数调整下一次测量时探测数据包的发送方式。
综上所述,本发明实施例提供的接收端,通过获取已接收数据包的数据信息,进而根据已接收数据包的数据信息,计算可用带宽等网络性能参数。由于无需向接收端发送大量的数据包以制造网络拥塞,因而测量时间较短,且节省了测量过程资源消耗。
参见图11,本发明实施例提供了一种发送端,该发送端包括:
发送模块1101,用于在指定时间内向接收端发送探测包序列,探测包序列用于接收端计算网络性能参数并返回,网络性能参数包括当前网络的瓶颈带宽、可用带宽、当前的网络场景、抖动程度及丢包率,探测包序列包括多组数据包对,每组数据包对包括多个数据量相等且首尾相连的数据包,相邻两组数据包对的发送时间间隔预设时长;
第一接收模块1102,用于接收接收端发送的网络性能参数;
更新模块1103,用于根据网络性能参数,对本地存储器中的网络性能参数进行更新;
调整模块1104,用于根据更新后的网络性能参数,调整下一次测量时探测数据包的发送方式。
在本发明的另一个实施例中,发送端还包括:
第二接收模块,用于接收接收端发送的确认信息,确认信息由接收端接收到探测包序列中的第一个数据包时发送;
计算模块,用于根据确认信息,计算往返时延。
在本发明的另一个实施例中,调整模块,用于当更新后的网络场景为一种确定的网络场景时,停止向接收端发送探测包序列;当更新后的网络场景为一种不确定的网络场景时,下一次向接收端发送探测包序列时,采用大于瓶颈带宽的发送速率进行发送。
本发明实施例提供的发送端,通过向接收端发送探测包序列,使发送端能够根据已接收数据包的数据信息,计算可用带宽等网络性能参数。由于无需向接收端发送大量的数据包以制造网络拥塞,因而测量时间较短,且节省了测量过程资源消耗。
参见图12,其示出了本发明实施例所涉及的网络性能参数的测量终端的结构示意图,该终端可以用于实施上述实施例中提供的网络性能参数的测量方法。具体来讲:
终端1200可以包括RF(Radio Frequency,射频)电路110、包括有一个或一个以上计算机可读存储介质的存储器120、输入单元130、显示单元140、传感器150、音频电路160、WiFi(Wireless Fidelity,无线保真)模块170、包括有一个或者一个以上处理核心的处理器180、以及电源190等部件。本领域技术人员可以理解,图12中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器180处理;另外,将涉及上行的数据发送给基站。通常,RF电路110包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(CodeDivision Multiple Access,码分多址)、WCDMA(Wideband Code Division MultipleAccess,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(ShortMessaging Service,短消息服务)等。
存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端1200的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器120还可以包括存储器控制器,以提供处理器180和输入单元130对存储器120的访问。
输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括触敏表面131以及其他输入设备132。触敏表面131,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面131上或在触敏表面131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面131。除了触敏表面131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元140可用于显示由用户输入的信息或提供给用户的信息以及终端1200的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板141。进一步的,触敏表面131可覆盖显示面板141,当触敏表面131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图12中,触敏表面131与显示面板141是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面131与显示面板141集成而实现输入和输出功能。
终端1200还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在终端1200移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端1200还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路160、扬声器161,传声器162可提供用户与终端1200之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一终端,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与终端1200的通信。
WiFi属于短距离无线传输技术,终端1200通过WiFi模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图12示出了WiFi模块170,但是可以理解的是,其并不属于终端1200的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器180是终端1200的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行终端1200的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理核心;可选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
终端1200还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端1200还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端1200的显示单元是触摸屏显示器,终端1200还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。所述一个或者一个以上程序包含用于执行以下操作的指令:
接收发送端发送的探测包序列,探测包序列包括多组数据包对,每组数据包对包括多个数据量相等且首尾相连的数据包,相邻两组数据包对的发送时间间隔预设时长;
在接收探测包序列的过程中,获取已接收数据包的数据信息,数据信息包括发送时间、接收时间;
根据已接收数据包的数据信息,计算数据包的发送速率、接收速率及当前网络的瓶颈带宽;
根据发送速率、接收速率及瓶颈带宽,计算当前网络的可用带宽。
假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
根据已接收数据包的数据信息,计算数据包的发送速率、接收速率及当前网络的瓶颈带宽,包括:
从已接收数据包的发送时间中,获取最小发送时间和最大发送时间,将最小发送时间和最大发送时间之间的时间间隔作为数据包的发送时长;
从已接收数据包的接收时间中,获取最小接收时间和最大接收时间,将最小接收时间和最大接收时间之间的时间间隔作为数据包的接收时长;
获取已接收数据包的总数据量;
根据已接收数据包的总数据量和数据包的发送时长,计算数据包的发送速率;
根据已接收数据包的总数据量和数据包的接收时长,计算数据包的接收速率。
假设上述为第二种可能的实施方式,则在第二种可能的实施方式作为基础而提供的第三种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
根据已接收数据包的数据信息,计算数据包的发送速率、接收速率及当前网络的瓶颈带宽,包括:
从已接收数据包中,获取已接收的多组数据包对;
对于已接收的任一组数据包对,获取数据包对中第一个数据包的接收时间和最后一个数据包的接收时间,将第一个数据包的接收时间和最后一个数据包的接收时间之间的时间间隔作为数据包对的散开时间间隔;
获取已接收的多组数据包对的散开总时间间隔;
获取已接收的多组数据包对的散开总时间间隔对应的总数据量;
根据已接收的多组数据包对的散开总时间间隔和总数据量,计算当前网络的瓶颈带宽。
假设上述为第三种可能的实施方式,则在第三种可能的实施方式作为基础而提供的第四种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
获取已接收的每组数据包对的散开时间间隔;
根据已接收的每组数据包对的散开时间间隔,计算已接收多组数据包对的散开时间间隔的标准差,得到当前网络的抖动程度。
假设上述为第四种可能的实施方式,则在第四种可能的实施方式作为基础而提供的第五种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
根据发送速率、接收速率及瓶颈带宽,计算当前网络的可用带宽,包括:
当发送速率大于等于瓶颈带宽时,计算接收速率与瓶颈带宽的比值;
如果接收速率与瓶颈带宽的比值大于第一阈值,则将瓶颈带宽作为可用带宽;
如果接收速率与瓶颈带宽的比值小于第一阈值,则应用以下公式计算可用带宽:
其中,A表示可用带宽,C表示瓶颈带宽,S表示发送速率,R表示接收速率。
假设上述为第五种可能的实施方式,则在第五种可能的实施方式作为基础而提供的第六种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
根据发送速率、接收速率及瓶颈带宽,计算当前网络的可用带宽,包括:
当发送速率小于瓶颈带宽时,计算发送速率与接收速率的比值;
如果发送速率与接收速率的比值小于第二阈值,则将发送速率作为可用带宽;
如果发送速率与接收速率的比值大于第二阈值,则应用以下公式计算可用带宽:
其中,A表示可用带宽,C表示瓶颈带宽,S表示发送速率,R表示接收速率。
假设上述为第六种可能的实施方式,则在第六种可能的实施方式作为基础而提供的第七种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
根据发送速率、接收速率及瓶颈带宽,确定当前的网络场景。
假设上述为第七种可能的实施方式,则在第七种可能的实施方式作为基础而提供的第八种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
根据发送速率、接收速率及瓶颈带宽,确定当前的网络场景,包括:
当发送速率大于等于瓶颈带宽时,如果接收速率与瓶颈带宽的比值大于第一阈值,则确定当前的网络场景为无竞争场景;
如果接收速率与瓶颈带宽的比值小于第一阈值,则确定当前的网络场景为有竞争场景。
假设上述为第八种可能的实施方式,则在第八种可能的实施方式作为基础而提供的第九种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
根据发送速率、接收速率及瓶颈带宽,确定当前的网络场景,包括:
当发送速率小于瓶颈带宽时,如果发送速率与接收速率的比值大于第二阈值,则确定当前的网络场景为有竞争场景;
如果发送速率与接收速率的比值小于第二阈值,则无法确定当前的网络场景。
假设上述为第九种可能的实施方式,则在第九种可能的实施方式作为基础而提供的第十种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
当接收到探测包序列中的第一个数据包时,向发送端发送确认信息,确认信息用于发送端计算往返时延。
假设上述为第十种可能的实施方式,则在第十种可能的实施方式作为基础而提供的第十一种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
根据发送端发送的数据包和已接收数据包,计算丢包率。
假设上述为第十一种可能的实施方式,则在第十一种可能的实施方式作为基础而提供的第十二种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
该方法还包括:
将包括瓶颈带宽、可用带宽、当前的网络场景、抖动程度及丢包率的网络性能参数发送至发送端,由发送端进行更新,并根据更新后的网络性能参数调整下一次测量时探测数据包的发送方式。
本发明实施例提供的终端,通过获取已接收数据包的数据信息,进而根据已接收数据包的数据信息,计算可用带宽等网络性能参数。由于无需向接收端发送大量的数据包以制造网络拥塞,因而测量时间较短,且节省了测量过程资源消耗。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。该计算机可读存储介质存储有一个或者一个以上程序,该一个或者一个以上程序被一个或者一个以上的处理器用来执行网络性能参数的测量方法,该方法包括:
接收发送端发送的探测包序列,探测包序列包括多组数据包对,每组数据包对包括多个数据量相等且首尾相连的数据包,相邻两组数据包对的发送时间间隔预设时长;
在接收探测包序列的过程中,获取已接收数据包的数据信息,数据信息包括发送时间、接收时间;
根据已接收数据包的数据信息,计算数据包的发送速率、接收速率及当前网络的瓶颈带宽;
根据发送速率、接收速率及瓶颈带宽,计算当前网络的可用带宽。
假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
根据已接收数据包的数据信息,计算数据包的发送速率、接收速率及当前网络的瓶颈带宽,包括:
从已接收数据包的发送时间中,获取最小发送时间和最大发送时间,将最小发送时间和最大发送时间之间的时间间隔作为数据包的发送时长;
从已接收数据包的接收时间中,获取最小接收时间和最大接收时间,将最小接收时间和最大接收时间之间的时间间隔作为数据包的接收时长;
获取已接收数据包的总数据量;
根据已接收数据包的总数据量和数据包的发送时长,计算数据包的发送速率;
根据已接收数据包的总数据量和数据包的接收时长,计算数据包的接收速率。
假设上述为第二种可能的实施方式,则在第二种可能的实施方式作为基础而提供的第三种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
根据已接收数据包的数据信息,计算数据包的发送速率、接收速率及当前网络的瓶颈带宽,包括:
从已接收数据包中,获取已接收的多组数据包对;
对于已接收的任一组数据包对,获取数据包对中第一个数据包的接收时间和最后一个数据包的接收时间,将第一个数据包的接收时间和最后一个数据包的接收时间之间的时间间隔作为数据包对的散开时间间隔;
获取已接收的多组数据包对的散开总时间间隔;
获取已接收的多组数据包对的散开总时间间隔对应的总数据量;
根据已接收的多组数据包对的散开总时间间隔和总数据量,计算当前网络的瓶颈带宽。
假设上述为第三种可能的实施方式,则在第三种可能的实施方式作为基础而提供的第四种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
获取已接收的每组数据包对的散开时间间隔;
根据已接收的每组数据包对的散开时间间隔,计算已接收多组数据包对的散开时间间隔的标准差,得到当前网络的抖动程度。
假设上述为第四种可能的实施方式,则在第四种可能的实施方式作为基础而提供的第五种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
根据发送速率、接收速率及瓶颈带宽,计算当前网络的可用带宽,包括:
当发送速率大于等于瓶颈带宽时,计算接收速率与瓶颈带宽的比值;
如果接收速率与瓶颈带宽的比值大于第一阈值,则将瓶颈带宽作为可用带宽;
如果接收速率与瓶颈带宽的比值小于第一阈值,则应用以下公式计算可用带宽:
其中,A表示可用带宽,C表示瓶颈带宽,S表示发送速率,R表示接收速率。
假设上述为第五种可能的实施方式,则在第五种可能的实施方式作为基础而提供的第六种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
根据发送速率、接收速率及瓶颈带宽,计算当前网络的可用带宽,包括:
当发送速率小于瓶颈带宽时,计算发送速率与接收速率的比值;
如果发送速率与接收速率的比值小于第二阈值,则将发送速率作为可用带宽;
如果发送速率与接收速率的比值大于第二阈值,则应用以下公式计算可用带宽:
其中,A表示可用带宽,C表示瓶颈带宽,S表示发送速率,R表示接收速率。
假设上述为第六种可能的实施方式,则在第六种可能的实施方式作为基础而提供的第七种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
根据发送速率、接收速率及瓶颈带宽,确定当前的网络场景。
假设上述为第七种可能的实施方式,则在第七种可能的实施方式作为基础而提供的第八种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
根据发送速率、接收速率及瓶颈带宽,确定当前的网络场景,包括:
当发送速率大于等于瓶颈带宽时,如果接收速率与瓶颈带宽的比值大于第一阈值,则确定当前的网络场景为无竞争场景;
如果接收速率与瓶颈带宽的比值小于第一阈值,则确定当前的网络场景为有竞争场景。
假设上述为第八种可能的实施方式,则在第八种可能的实施方式作为基础而提供的第九种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
根据发送速率、接收速率及瓶颈带宽,确定当前的网络场景,包括:
当发送速率小于瓶颈带宽时,如果发送速率与接收速率的比值大于第二阈值,则确定当前的网络场景为有竞争场景;
如果发送速率与接收速率的比值小于第二阈值,则无法确定当前的网络场景。
假设上述为第九种可能的实施方式,则在第九种可能的实施方式作为基础而提供的第十种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
当接收到探测包序列中的第一个数据包时,向发送端发送确认信息,确认信息用于发送端计算往返时延。
假设上述为第十种可能的实施方式,则在第十种可能的实施方式作为基础而提供的第十一种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
根据发送端发送的数据包和已接收数据包,计算丢包率。
假设上述为第十一种可能的实施方式,则在第十一种可能的实施方式作为基础而提供的第十二种可能的实施方式中,终端的存储器中,还包含用于执行以下操作的指令:
该方法还包括:
将包括瓶颈带宽、可用带宽、当前的网络场景、抖动程度及丢包率的网络性能参数发送至发送端,由发送端进行更新,并根据更新后的网络性能参数调整下一次测量时探测数据包的发送方式。
本发明实施例提供的计算机可读存储介质,通过获取已接收数据包的数据信息,进而根据已接收数据包的数据信息,计算可用带宽等网络性能参数。由于无需向接收端发送大量的数据包以制造网络拥塞,因而测量时间较短,且节省了测量过程资源消耗。
本发明实施例中提供了一种图形用户接口,该图形用户接口用在网络性能的测量终端上,该执行网络性能的测量终端包括触摸屏显示器、存储器和用于执行一个或者一个以上的程序的一个或者一个以上的处理器;该图形用户接口包括:
接收发送端发送的探测包序列,探测包序列包括多组数据包对,每组数据包对包括多个数据量相等且首尾相连的数据包,相邻两组数据包对的发送时间间隔预设时长;
在接收探测包序列的过程中,获取已接收数据包的数据信息,数据信息包括发送时间、接收时间;
根据已接收数据包的数据信息,计算数据包的发送速率、接收速率及当前网络的瓶颈带宽;
根据发送速率、接收速率及瓶颈带宽,计算当前网络的可用带宽。
本发明实施例提供的图形用户接口,通过获取已接收数据包的数据信息,进而根据已接收数据包的数据信息,计算可用带宽等网络性能参数。由于无需向接收端发送大量的数据包以制造网络拥塞,因而测量时间较短,且节省了测量过程资源消耗。
需要说明的是:上述实施例提供的接收端、发送端在测量网络性能参数时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将接收端、发送端的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的接收端、发送端与网络性能参数的测量方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (30)
1.一种网络性能参数的测量方法,其特征在于,所述方法包括:
接收发送端发送的探测包序列,所述探测包序列包括多组数据包对,每组数据包对包括多个数据量相等且首尾相连的数据包,相邻两组数据包对的发送时间间隔预设时长;
在接收所述探测包序列的过程中,获取已接收数据包的数据信息,所述数据信息包括发送时间、接收时间;
根据所述已接收数据包的数据信息,计算数据包的发送速率、接收速率及当前网络的瓶颈带宽;
根据所述发送速率、所述接收速率及所述瓶颈带宽,计算当前网络的可用带宽。
2.根据权利要求1所述的方法,其特征在于,所述根据所述已接收数据包的数据信息,计算数据包的发送速率、接收速率及当前网络的瓶颈带宽,包括:
从所述已接收数据包的发送时间中,获取最小发送时间和最大发送时间,将所述最小发送时间和所述最大发送时间之间的时间间隔作为数据包的发送时长;
从所述已接收数据包的接收时间中,获取最小接收时间和最大接收时间,将所述最小接收时间和所述最大接收时间之间的时间间隔作为数据包的接收时长;
获取已接收数据包的总数据量;
根据所述已接收数据包的总数据量和所述数据包的发送时长,计算所述数据包的发送速率;
根据所述已接收数据包的总数据量和所述数据包的接收时长,计算所述数据包的接收速率。
3.根据权利要求1所述的方法,其特征在于,所述根据所述已接收数据包的数据信息,计算数据包的发送速率、接收速率及当前网络的瓶颈带宽,包括:
从所述已接收数据包中,获取已接收的多组数据包对;
对于已接收的任一组数据包对,获取所述数据包对中第一个数据包的接收时间和最后一个数据包的接收时间,将所述第一个数据包的接收时间和所述最后一个数据包的接收时间之间的时间间隔作为所述数据包对的散开时间间隔;
获取所述已接收的多组数据包对的散开总时间间隔;
获取所述已接收的多组数据包对的散开总时间间隔对应的总数据量;
根据所述已接收的多组数据包对的散开总时间间隔和总数据量,计算所述当前网络的瓶颈带宽。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
获取已接收的每组数据包对的散开时间间隔;
根据已接收的每组数据包对的散开时间间隔,计算已接收多组数据包对的散开时间间隔的标准差,得到当前网络的抖动程度。
5.根据权利要求1所述的方法,其特征在于,所述根据所述发送速率、所述接收速率及所述瓶颈带宽,计算当前网络的可用带宽,包括:
当所述发送速率大于等于所述瓶颈带宽时,计算所述接收速率与所述瓶颈带宽的比值;
如果所述接收速率与所述瓶颈带宽的比值大于第一阈值,则将所述瓶颈带宽作为所述可用带宽;
如果所述接收速率与所述瓶颈带宽的比值小于所述第一阈值,根据所述发送速率、所述接收速率及所述瓶颈带宽,计算所述可用带宽。
6.根据权利要求1所述的方法,其特征在于,所述根据所述发送速率、所述接收速率及所述瓶颈带宽,计算当前网络的可用带宽,包括:
当所述发送速率小于所述瓶颈带宽时,计算所述发送速率与所述接收速率的比值;
如果所述发送速率与所述接收速率的比值小于第二阈值,则将所述发送速率作为所述可用带宽;
如果所述发送速率与所述接收速率的比值大于所述第二阈值,根据所述发送速率、所述接收速率及所述瓶颈带宽,计算所述可用带宽。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述发送速率、所述接收速率及所述瓶颈带宽,确定当前的网络场景。
8.根据权利要求7所述的方法,其特征在于,所述根据所述发送速率、所述接收速率及所述瓶颈带宽,确定当前的网络场景,包括:
当所述发送速率大于等于所述瓶颈带宽时,如果所述接收速率与所述瓶颈带宽的比值大于第一阈值,则确定当前的网络场景为无竞争场景;
如果所述接收速率与所述瓶颈带宽的比值小于所述第一阈值,则确定当前的网络场景为有竞争场景。
9.根据权利要求7所述的方法,其特征在于,所述根据所述发送速率、所述接收速率及所述瓶颈带宽,确定当前的网络场景,包括:
当所述发送速率小于所述瓶颈带宽时,如果所述发送速率与所述接收速率的比值大于第二阈值,则确定当前的网络场景为有竞争场景;
如果所述发送速率与所述接收速率的比值小于所述第二阈值,则无法确定当前的网络场景。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当接收到所述探测包序列中的第一个数据包时,向所述发送端发送确认信息,所述确认信息用于所述发送端计算往返时延。
11.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述发送端发送的数据包和所述已接收数据包,计算丢包率。
12.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将包括所述瓶颈带宽、所述可用带宽、当前的网络场景、抖动程度及丢包率的网络性能参数发送至所述发送端,由所述发送端进行更新,并根据更新后的网络性能参数调整下一次测量时探测数据包的发送方式。
13.一种网络性能的测量方法,其特征在于,所述方法包括:
在指定时间内向接收端发送探测包序列,所述探测包序列用于所述接收端计算网络性能参数并返回,所述网络性能参数包括当前网络的瓶颈带宽、可用带宽、当前的网络场景、抖动程度及丢包率,所述探测包序列包括多组数据包对,每组数据包对包括多个数据量相等且首尾相连的数据包,相邻两组数据包对的发送时间间隔预设时长;
接收所述接收端发送的所述网络性能参数;
根据所述网络性能参数,对本地存储器中的网络性能参数进行更新;
根据更新后的网络性能参数,调整下一次测量时探测数据包的发送方式。
14.根据权利要求13所述的方法,其特征在于,所述方法还包括:
接收所述接收端发送的确认信息,所述确认信息由所述接收端接收到所述探测包序列中的第一个数据包时发送;
根据所述确认信息,计算往返时延。
15.根据权利要求13所述的方法,其特征在于,所述根据更新后的网络性能参数,调整下一次测量时探测数据包的发送方式,包括:
如果更新后的网络场景为一种确定的网络场景,则停止向所述接收端发送探测包序列;
如果更新后的网络场景为一种不确定的网络场景,则下一次向所述接收端发送探测包序列时,采用大于所述瓶颈带宽的发送速率进行发送。
16.一种接收端,其特征在于,所述接收端包括:
接收模块,用于接收发送端发送的探测包序列,所述探测包序列包括多组数据包对,每组数据包对包括多个数据量相等且首尾相连的数据包,相邻两组数据包对的发送时间间隔预设时长;
第一获取模块,用于在接收所述探测包序列的过程中,获取已接收数据包的数据信息,所述数据信息包括发送时间、接收时间;
第一计算模块,用于根据所述已接收数据包的数据信息,计算数据包的发送速率、接收速率及当前网络的瓶颈带宽;
第二计算模块,用于根据所述发送速率、所述接收速率及所述瓶颈带宽,计算当前网络的可用带宽。
17.根据权利要求16所述的接收端,其特征在于,所述第一计算模块,用于从所述已接收数据包的发送时间中,获取最小发送时间和最大发送时间,将所述最小发送时间和所述最大发送时间之间的时间间隔作为数据包的发送时长;从所述已接收数据包的接收时间中,获取最小接收时间和最大接收时间,将所述最小接收时间和所述最大接收时间之间的时间间隔作为数据包的接收时长;获取已接收数据包的总数据量;根据所述已接收数据包的总数据量和所述数据包的发送时长,计算所述数据包的发送速率;根据所述已接收数据包的总数据量和所述数据包的接收时长,计算所述数据包的接收速率。
18.根据权利要求16所述的接收端,其特征在于,所述第一计算模块,用于从所述已接收数据包中,获取已接收的多组数据包对;对于已接收的任一组数据包对,获取所述数据包对中第一个数据包的接收时间和最后一个数据包的接收时间,将所述第一个数据包的接收时间和所述最后一个数据包的接收时间之间的时间间隔作为所述数据包对的散开时间间隔;获取所述已接收的多组数据包对的散开总时间间隔;获取所述已接收的多组数据包对的散开总时间间隔对应的总数据量;根据所述已接收的多组数据包对的散开总时间间隔和总数据量,计算所述当前网络的瓶颈带宽。
19.根据权利要求18所述的接收端,其特征在于,所述接收端还包括:
第二获取模块,用于获取已接收的每组数据包对的散开时间间隔;
第三计算模块,用于根据已接收的每组数据包对的散开时间间隔,计算已接收多组数据包对的散开时间间隔的标准差,得到当前网络的抖动程度。
20.根据权利要求16所述的接收端,其特征在于,所述第二计算模块,用于当所述发送速率大于等于所述瓶颈带宽时,计算所述接收速率与所述瓶颈带宽的比值;当所述接收速率与所述瓶颈带宽的比值大于第一阈值时,将所述瓶颈带宽作为所述可用带宽;当所述接收速率与所述瓶颈带宽的比值小于所述第一阈值时,根据所述发送速率、所述接收速率及所述瓶颈带宽,计算所述可用带宽。
21.根据权利要求16所述的接收端,其特征在于,所述第二计算模块,用于当所述发送速率小于所述瓶颈带宽时,计算所述发送速率与所述接收速率的比值;当所述发送速率与所述接收速率的比值小于第二阈值时,将所述发送速率作为所述可用带宽;当所述发送速率与所述接收速率的比值大于所述第二阈值时,根据所述发送速率、所述接收速率及所述瓶颈带宽,计算所述可用带宽。
22.根据权利要求16所述的接收端,其特征在于,所述接收端还包括:
确定模块,用于根据所述发送速率、所述接收速率及所述瓶颈带宽,确定当前的网络场景。
23.根据权利要求22所述的接收端,其特征在于,所述确定模块,用于当所述发送速率大于等于所述瓶颈带宽时,当所述接收速率与所述瓶颈带宽的比值大于第一阈值时,确定当前的网络场景为无竞争场景;当所述接收速率与所述瓶颈带宽的比值小于所述第一阈值时,确定当前的网络场景为有竞争场景。
24.根据权利要求22所述的接收端,其特征在于,所述确定模块,用于当所述发送速率小于所述瓶颈带宽时,当所述发送速率与所述接收速率的比值大于第二阈值时,确定当前的网络场景为有竞争场景;当所述发送速率与所述接收速率的比值小于所述第二阈值时,无法确定当前的网络场景。
25.根据权利要求16所述的接收端,其特征在于,所述接收端还包括:
第一发送模块,用于当接收到所述探测包序列中的第一个数据包时,向所述发送端发送确认信息,所述确认信息用于所述发送端计算往返时延。
26.根据权利要求16所述的接收端,其特征在于,所述接收端还包括:
第四计算模块,用于根据所述发送端发送的数据包和所述已接收数据包,计算丢包率。
27.根据权利要求16所述的接收端,其特征在于,所述接收端还包括:
第二发送模块,用于将包括所述瓶颈带宽、所述可用带宽、当前的网络场景、抖动程度及丢包率的网络性能参数发送至所述发送端,由所述发送端进行更新,并根据更新后的网络性能参数调整下一次测量时探测数据包的发送方式。
28.一种发送端,其特征在于,所述发送端包括:
发送模块,用于在指定时间内向接收端发送探测包序列,所述探测包序列用于所述接收端计算网络性能参数并返回,所述网络性能参数包括当前网络的瓶颈带宽、可用带宽、当前的网络场景、抖动程度及丢包率,所述探测包序列包括多组数据包对,每组数据包对包括多个数据量相等且首尾相连的数据包,相邻两组数据包对的发送时间间隔预设时长;
第一接收模块,用于接收所述接收端发送的所述网络性能参数;
更新模块,用于根据所述网络性能参数,对本地存储器中的网络性能参数进行更新;
调整模块,用于根据更新后的网络性能参数,调整下一次测量时探测数据包的发送方式。
29.根据权利要求28所述的发送端,其特征在于,所述发送端还包括:
第二接收模块,用于接收所述接收端发送的确认信息,所述确认信息由所述接收端接收到所述探测包序列中的第一个数据包时发送;
计算模块,用于根据所述确认信息,计算往返时延。
30.根据权利要求28所述的发送端,其特征在于,所述调整模块,用于当更新后的网络场景为一种确定的网络场景时,停止向所述接收端发送探测包序列;当更新后的网络场景为一种不确定的网络场景时,下一次向所述接收端发送探测包序列时,采用大于所述瓶颈带宽的发送速率进行发送。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610657658.9A CN107734537B (zh) | 2016-08-10 | 2016-08-10 | 网络性能参数的测量方法、发送端及接收端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610657658.9A CN107734537B (zh) | 2016-08-10 | 2016-08-10 | 网络性能参数的测量方法、发送端及接收端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107734537A true CN107734537A (zh) | 2018-02-23 |
CN107734537B CN107734537B (zh) | 2019-08-20 |
Family
ID=61199640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610657658.9A Active CN107734537B (zh) | 2016-08-10 | 2016-08-10 | 网络性能参数的测量方法、发送端及接收端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107734537B (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110138590A (zh) * | 2019-04-09 | 2019-08-16 | 上海交通大学 | 一种通用的tcp性能诊断方法及装置 |
CN110290428A (zh) * | 2019-06-26 | 2019-09-27 | 腾讯科技(深圳)有限公司 | 一种拥塞控制方法、装置、终端及存储介质 |
CN111211936A (zh) * | 2019-12-27 | 2020-05-29 | 视联动力信息技术股份有限公司 | 一种基于网络状态的数据处理方法和装置 |
CN111212330A (zh) * | 2018-11-22 | 2020-05-29 | 华为技术有限公司 | 一种网络性能瓶颈值的确定方法及装置 |
CN111224820A (zh) * | 2019-12-30 | 2020-06-02 | 视联动力信息技术股份有限公司 | 一种带宽计算的方法和装置 |
CN111756595A (zh) * | 2019-03-29 | 2020-10-09 | 华为技术有限公司 | 可用带宽的测量方法和通信装置 |
WO2020211535A1 (zh) * | 2019-04-15 | 2020-10-22 | 北京达佳互联信息技术有限公司 | 网络延迟控制方法、装置、电子设备及存储介质 |
CN113132256A (zh) * | 2019-12-30 | 2021-07-16 | 深圳Tcl新技术有限公司 | 一种数据传输方法、终端及存储介质 |
CN113872870A (zh) * | 2020-06-30 | 2021-12-31 | 华为技术有限公司 | 控制网络拥塞的方法和相关装置 |
CN113994274A (zh) * | 2019-04-10 | 2022-01-28 | 豪倍公司 | 网络压力测试 |
CN114338654A (zh) * | 2021-12-31 | 2022-04-12 | 中国电信股份有限公司 | 文件传输方法、存储服务分配方法、装置、设备及介质 |
CN114363214A (zh) * | 2021-12-31 | 2022-04-15 | 中国信息通信研究院 | 用于交换机抗震测试的方法及装置、计算机设备、存储介质 |
CN114363209A (zh) * | 2022-01-07 | 2022-04-15 | 北京百度网讯科技有限公司 | 基于tcp网络的性能探测方法、装置、设备和存储介质 |
CN114679768A (zh) * | 2022-03-03 | 2022-06-28 | 广州安凯微电子股份有限公司 | 一种低功耗蓝牙通信带宽动态调整方法与系统、电子设备 |
CN115150283A (zh) * | 2022-09-05 | 2022-10-04 | 腾讯科技(深圳)有限公司 | 网络带宽探测方法、装置、计算机设备和存储介质 |
CN115174429A (zh) * | 2022-05-25 | 2022-10-11 | 深信服科技股份有限公司 | 网络带宽检测方法、装置、系统、设备及存储介质 |
CN116055364A (zh) * | 2023-03-06 | 2023-05-02 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种测量最大上行带宽的方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1545277A (zh) * | 2003-11-19 | 2004-11-10 | 北京邮电大学 | 一种端到端的网络瓶颈带宽测量方法 |
CN102263676A (zh) * | 2011-07-11 | 2011-11-30 | 北京邮电大学 | 网络瓶颈检测方法 |
US20120063347A1 (en) * | 2003-10-15 | 2012-03-15 | Microsoft Corporation | Methods and Systems for Estimating Network Available Bandwidth Using Packet Pairs and Spatial Filtering |
CN105634865A (zh) * | 2015-12-29 | 2016-06-01 | 广州华多网络科技有限公司 | 获得带宽的方法及系统 |
-
2016
- 2016-08-10 CN CN201610657658.9A patent/CN107734537B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120063347A1 (en) * | 2003-10-15 | 2012-03-15 | Microsoft Corporation | Methods and Systems for Estimating Network Available Bandwidth Using Packet Pairs and Spatial Filtering |
CN1545277A (zh) * | 2003-11-19 | 2004-11-10 | 北京邮电大学 | 一种端到端的网络瓶颈带宽测量方法 |
CN102263676A (zh) * | 2011-07-11 | 2011-11-30 | 北京邮电大学 | 网络瓶颈检测方法 |
CN105634865A (zh) * | 2015-12-29 | 2016-06-01 | 广州华多网络科技有限公司 | 获得带宽的方法及系统 |
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111212330A (zh) * | 2018-11-22 | 2020-05-29 | 华为技术有限公司 | 一种网络性能瓶颈值的确定方法及装置 |
CN111756595B (zh) * | 2019-03-29 | 2022-03-25 | 华为技术有限公司 | 可用带宽的测量方法和通信装置 |
CN111756595A (zh) * | 2019-03-29 | 2020-10-09 | 华为技术有限公司 | 可用带宽的测量方法和通信装置 |
US11463338B2 (en) | 2019-03-29 | 2022-10-04 | Huawei Technologies Co., Ltd. | Method for measuring available bandwidth and communications apparatus |
CN110138590A (zh) * | 2019-04-09 | 2019-08-16 | 上海交通大学 | 一种通用的tcp性能诊断方法及装置 |
CN113994274A (zh) * | 2019-04-10 | 2022-01-28 | 豪倍公司 | 网络压力测试 |
CN113994274B (zh) * | 2019-04-10 | 2024-03-29 | 豪倍公司 | 网络压力测试 |
WO2020211535A1 (zh) * | 2019-04-15 | 2020-10-22 | 北京达佳互联信息技术有限公司 | 网络延迟控制方法、装置、电子设备及存储介质 |
US11496380B2 (en) | 2019-04-15 | 2022-11-08 | Beijing Dajia Internet Information Technology Co., Ltd. | Network delay control method and apparatus, electronic device, and storage medium |
CN110290428B (zh) * | 2019-06-26 | 2021-08-20 | 腾讯科技(深圳)有限公司 | 一种拥塞控制方法、装置、终端及存储介质 |
CN110290428A (zh) * | 2019-06-26 | 2019-09-27 | 腾讯科技(深圳)有限公司 | 一种拥塞控制方法、装置、终端及存储介质 |
CN111211936B (zh) * | 2019-12-27 | 2022-06-21 | 视联动力信息技术股份有限公司 | 一种基于网络状态的数据处理方法和装置 |
CN111211936A (zh) * | 2019-12-27 | 2020-05-29 | 视联动力信息技术股份有限公司 | 一种基于网络状态的数据处理方法和装置 |
CN113132256A (zh) * | 2019-12-30 | 2021-07-16 | 深圳Tcl新技术有限公司 | 一种数据传输方法、终端及存储介质 |
CN113132256B (zh) * | 2019-12-30 | 2023-08-01 | 深圳Tcl新技术有限公司 | 一种数据传输方法、终端及存储介质 |
CN111224820A (zh) * | 2019-12-30 | 2020-06-02 | 视联动力信息技术股份有限公司 | 一种带宽计算的方法和装置 |
CN111224820B (zh) * | 2019-12-30 | 2023-10-13 | 视联动力信息技术股份有限公司 | 一种带宽计算的方法和装置 |
CN113872870B (zh) * | 2020-06-30 | 2023-10-13 | 华为技术有限公司 | 控制网络拥塞的方法和相关装置 |
WO2022001291A1 (zh) * | 2020-06-30 | 2022-01-06 | 华为技术有限公司 | 控制网络拥塞的方法和相关装置 |
CN113872870A (zh) * | 2020-06-30 | 2021-12-31 | 华为技术有限公司 | 控制网络拥塞的方法和相关装置 |
CN114338654A (zh) * | 2021-12-31 | 2022-04-12 | 中国电信股份有限公司 | 文件传输方法、存储服务分配方法、装置、设备及介质 |
CN114363214A (zh) * | 2021-12-31 | 2022-04-15 | 中国信息通信研究院 | 用于交换机抗震测试的方法及装置、计算机设备、存储介质 |
CN114363209A (zh) * | 2022-01-07 | 2022-04-15 | 北京百度网讯科技有限公司 | 基于tcp网络的性能探测方法、装置、设备和存储介质 |
CN114679768A (zh) * | 2022-03-03 | 2022-06-28 | 广州安凯微电子股份有限公司 | 一种低功耗蓝牙通信带宽动态调整方法与系统、电子设备 |
CN114679768B (zh) * | 2022-03-03 | 2023-10-17 | 广州安凯微电子股份有限公司 | 一种低功耗蓝牙通信带宽动态调整方法与系统、电子设备 |
CN115174429A (zh) * | 2022-05-25 | 2022-10-11 | 深信服科技股份有限公司 | 网络带宽检测方法、装置、系统、设备及存储介质 |
CN115174429B (zh) * | 2022-05-25 | 2024-04-09 | 深信服科技股份有限公司 | 网络带宽检测方法、装置、系统、设备及存储介质 |
CN115150283A (zh) * | 2022-09-05 | 2022-10-04 | 腾讯科技(深圳)有限公司 | 网络带宽探测方法、装置、计算机设备和存储介质 |
CN115150283B (zh) * | 2022-09-05 | 2022-11-22 | 腾讯科技(深圳)有限公司 | 网络带宽探测方法、装置、计算机设备和存储介质 |
CN116055364A (zh) * | 2023-03-06 | 2023-05-02 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种测量最大上行带宽的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107734537B (zh) | 2019-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107734537B (zh) | 网络性能参数的测量方法、发送端及接收端 | |
CN110198275B (zh) | 一种流量控制方法、系统、服务器及存储介质 | |
KR20200112933A (ko) | 다운링크 채널의 수신 방법, 송신 방법, 단말 및 기지국 | |
CN103402190B (zh) | 网络选择方法、装置和终端 | |
CN110099421A (zh) | 一种信号处理方法、装置和终端设备 | |
CN110035447A (zh) | 一种测量配置方法及终端设备 | |
CN109803275A (zh) | 一种波束失败恢复请求发送、接收方法、装置及系统 | |
CN110402593A (zh) | 测量配置方法及相关产品 | |
CN110166192A (zh) | 小区处理方法、终端设备及网络设备 | |
CN109951881A (zh) | 一种信道切换方法、终端设备及路由设备 | |
CN109729544A (zh) | 丢包率计算方法、网络设备及终端 | |
WO2020143579A1 (zh) | 链路聚合实现方法及相关产品 | |
CN110505076A (zh) | 数据包丢失率的测量方法、获取方法、终端及网络设备 | |
CN107132974A (zh) | 终端冻屏处理方法、终端及计算机可读存储介质 | |
CN110475283A (zh) | 一种处理csi处理单元、资源的方法、装置及系统 | |
CN108270696A (zh) | 网络带宽分配方法、移动终端及计算机存储介质 | |
CN109729583A (zh) | 一种无线资源配置方法、基站和用户终端 | |
CN109922504A (zh) | 数据分流方法及相关产品 | |
CN109640329A (zh) | 链路聚合实现方法及相关产品 | |
CN109756977A (zh) | 随机接入方法和用户终端 | |
WO2020164521A1 (zh) | 数据包分配方法、装置、移动终端及存储介质 | |
CN107104763A (zh) | 一种设置超时重传时长的方法和装置 | |
CN109347606A (zh) | 一种数据处理方法、装置、网络侧设备及终端设备 | |
WO2018201411A1 (zh) | 调度请求传输控制方法及相关产品 | |
CN109617802A (zh) | 链路聚合实现方法及相关产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |