CN109905257A - 带宽传输能力的确定方法和装置 - Google Patents
带宽传输能力的确定方法和装置 Download PDFInfo
- Publication number
- CN109905257A CN109905257A CN201711288433.1A CN201711288433A CN109905257A CN 109905257 A CN109905257 A CN 109905257A CN 201711288433 A CN201711288433 A CN 201711288433A CN 109905257 A CN109905257 A CN 109905257A
- Authority
- CN
- China
- Prior art keywords
- data packet
- packet sequence
- bandwidth
- linear regression
- time interval
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种带宽传输能力的确定方法和装置。其中,该方法包括:按照时间间隔参数发送探测数据包序列,对探测数据包序列以及探测数据包序列对应的响应数据包序列进行回归分析,确定待探测带宽的传输能力,其中,时间间隔参数用于表示在发送接收端发送的探测数据包序列中每相邻两个探测数据包之间的发送时间间隔。本发明解决了现有的探测带宽的模型参数不能自适应调整导致带宽传输能力探测不准确的技术问题。
Description
技术领域
本发明涉及带宽探测领域,具体而言,涉及一种带宽传输能力的确定方法和装置。
背景技术
随着计算机技术的快速发展,物联网在人们的生活、工作以及学习中得到了广泛的应用,例如,智能家居广泛应用到了人们日常生活中。使用物联网的过程实质上是物联网设备之间通过网络进行数据传输的过程,而传输数据需要一定的网络带宽。由于物联网设备连接的网络质量不同,在物联网设备之间在传输数据时之前,需要首先确定网络的质量以及传输数据的能力,即需要对带宽的传输能力进行探测,并在确定带宽的传输能力之后,物联网设备将所有的数据统一按照既定策略发送至另一个物联网设备。
然而现有的探测带宽传输能力的方法大多使用的是私有协议,并且需要将带宽探测的程序分别放置在客户端和服务器端,即只有在客户端与服务器端相配合的情况下才可以对带宽进行探测,通用性不强。
此外,现有的带宽探测算法是基于固定模型参数的,如果服务器端和客户端设备所处的网络环境发生了变化,而固定模型参数不能跟随网络环境的变化进行适应性修改,从而导致对带宽的探测结果出现偏差。
另外,现有技术中,网络设备(包括服务器和客户端)之间的数据传输均采用统一的发送策略,对于大数据而言,可能会造成数据拥塞,尤其是基于UDP(User DatagramProtocol,即用户数据报协议)数据的传输。
针对上述现有的探测带宽的模型参数不能自适应调整导致带宽传输能力探测不准确的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种带宽传输能力的确定方法和装置,以至少解决现有的探测带宽的模型参数不能自适应调整导致带宽传输能力探测不准确的技术问题。
根据本发明实施例的一个方面,提供了一种带宽传输能力的确定方法,包括:按照时间间隔参数发送探测数据包序列,其中,时间间隔参数用于表示在发送端向接收端发送的探测数据包序列中每相邻两个探测数据包之间的发送时间间隔;对探测数据包序列以及与探测数据包序列对应的响应数据包序列进行回归分析,确定待探测带宽的传输能力。
根据本发明实施例的另一方面,还提供了一种带宽传输能力的确定装置,包括:第一发送模块,用于按照时间间隔参数发送探测数据包序列,其中,时间间隔参数用于表示在发送端向接收端发送的探测数据包序列中每相邻两个探测数据包之间的发送时间间隔;分析模块,用于对探测数据包序列以及与探测数据包序列对应的响应数据包序列进行回归分析,确定待探测带宽的传输能力。
根据本发明实施例的另一方面,还提供了一种带宽传输能力的确定方法,包括:按照时间间隔参数发送探测数据包序列,其中,时间间隔参数用于表示在发送端向接收端发送的探测数据包序列中每相邻两个探测数据包之间的发送时间间隔;若与探测数据包序列对应的响应数据包序列中出现部分数据包丢失和/或部分数据包从接收端返回至发送端的顺序发生改变时,确定待探测带宽大于实际带宽的剩余带宽。
根据本发明实施例的另一方面,还提供了一种带宽传输能力的确定装置,包括:第二发送模块,用于按照时间间隔参数发送探测数据包序列,其中,时间间隔参数用于表示在发送端向接收端发送的探测数据包序列中每相邻两个探测数据包之间的发送时间间隔;确定模块,用于若与探测数据包序列对应的响应数据包序列中出现部分数据包丢失和/或部分数据包从接收端返回至发送端的顺序发生改变时,确定待探测带宽大于实际带宽的剩余带宽。
根据本发明实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行带宽传输能力的确定方法。
根据本发明实施例的另一方面,还提供了一种处理器,该处理器用于运行程序,其中,程序运行时执行带宽传输能力的确定方法。
根据本发明实施例的另一方面,还提供了一种系统,包括:处理器;以及存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:步骤1,按照时间间隔参数发送探测数据包序列,其中,时间间隔参数用于表示在发送端向接收端发送的探测数据包序列中每相邻两个探测数据包之间的发送时间间隔;步骤2,对探测数据包序列以及与探测数据包序列对应的响应数据包序列进行回归分析,确定待探测带宽的传输能力。
在本发明实施例中,采用对探测数据包序列和响应数据包序列进行回归分析的方式,通过按照时间间隔参数发送探测数据包序列,对探测数据包序列以及与探测数据包序列对应的响应数据包序列进行回归分析,确定待探测带宽的传输能力,其中,时间间隔参数用于表示在发送端向接收端发送的探测数据包序列中每相邻两个探测数据包之间的发送时间间隔,达到了不依赖其他探测带宽的工具即实现探测带宽的目的,从而实现了准确探测带宽传输能力的技术效果,进而解决了现有的探测带宽的模型参数不能自适应调整导致带宽传输能力探测不准确的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种带宽传输能力的确定方法的流程图;
图2是根据本发明实施例的一种可选的探测数据包的数据格式示意图;
图3是根据本发明实施例的一种可选的带宽传输能力的确定系统示意图;
图4是根据本发明实施例的一种可选的带宽传输能力的确定系统的交互图;
图5是根据本发明实施例的一种可选的带宽传输能力的确定方法流程图;
图6(a)是根据本发明实施例的一种可选的基于探测数据包序列的时间间隔参数的示意图;
图6(b)是根据本发明实施例的一种可选的基于响应数据包序列的时间间隔参数的示意图;
图7是根据本发明实施例的一种可选的带宽传输能力的确定方法的流程图;
图8是根据本发明实施例的一种可选的回归分析的坐标示意图;
图9是根据本发明实施例的一种可选的优选的带宽传输能力的确定方法的流程图;
图10是根据本发明实施例的一种带宽传输能力的确定装置的结构示意图;
图11是根据本发明实施例的一种带宽传输能力的确定方法流程图;
图12是根据本发明实施例的一种带宽传输能力的确定装置的结构示意图;以及
图13是根据本发明实施例的一种带宽传输能力的确定装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本申请实施例,还提供了一种带宽传输能力的确定方法的实施例,需要说明的是,本申请所提出的带宽传输能力的确定方法使用通用的ICMP(Internet ControlMessage Protocol,即Internet控制报文协议),只需在发送端上执行探测带宽能力的方法即可,而不需要接收端与发送端之间的相互配合。另外,本申请所提出的带宽传输能力的确定方法可根据实际情况下发送端发送数据的发送速率来来实时修改探测带宽的模型参数,从而使模型参数可根据网络环境进行自适应调整,进而可以准确探测带宽的传输能力。
此外,还需要说明的是,本申请所提出的带宽传输能力的确定方法可以广泛应用在网络中的数据传输方面。具体的,发送端在向接收端发送探测数据包序列时,产生指定速率的探测报文,并在接收到接收端所反馈的数据(即响应数据包序列)后,基于回归分析方法分析探测报文的时间间隔,进而根据探测报文的时间间隔来确定带宽的传输能力。最后,在得到发送端与接收端的带宽传输能力之后,发送端按照探测报文的时间间隔指定发送策略,并根据发送策略向接收端发送数据。
由上述内容可知,本申请通过采用对探测数据包序列和响应数据包序列进行回归分析的方法来确定带宽的传输能力。其中,图1示出了带宽传输能力的确定方法的流程图,由图1可知,带宽传输能力的确定方法具体包括如下步骤:
步骤S102,按照时间间隔参数发送探测数据包序列,其中,时间间隔参数用于表示在发送端向接收端发送的探测数据包序列中每相邻两个探测数据包之间的发送时间间隔。
需要说明的是,探测数据包序列包含了至少一个探测数据包,即探测数据包序列是由多个探测数据包所组成的数据包序列。上述探测数据包可以为但不限于ICMP协议中的Echo request数据包,其中,图2示出了探测数据包的数据格式,如图2所示,探测数据包至少包括如下字段:类型(即Type)字段、编码(即Code)字段、校验和(即Checksum)字段、标识符(即Ident ifier)字段、序列号(即Sequence number)字段以及数据(即Data)字段,其中,类型(即Type)字段为8字节,编码(即Code)字段为0字节,数据(即Data)字段为负载数据,其大小可以为但不限于1000字节。另外,序列号字段内的数据以递增的形式存储。
在一种可选的实施例中,图3示出了一种可选的带宽传输能力的确定系统示意图,该系统包括发送端301和接收端303,其中,发送端301和接收端302通过网络来完成数据的传输。此处需要说明的是,上述发送端可以为但不限于服务器、客户端以及任何能够发送数据的终端设备,上述接收端可以为但不限于客户端、服务器以及任何能够接收数据的终端设备。
在另一种可选的实施例中,发送端在向接收端发送数据之前,首先确定发送端所处网络内带宽的传输能力,在确定带宽的传输能力之后,发送端在基于带宽的传输能力制定发送策略,从而达到以最优的数据传输方案传输数据,进而避免数据拥塞的现象出现。具体的,发送端按照时间间隔参数向接收端发送探测数据包序列,以根据接收端所反馈的响应数据包序列确定带宽的传输能力。其中,带宽的传输能力可以以剩余带宽来表示。剩余带宽为当前网络内可使用的带宽。
步骤S104,对探测数据包序列以及与探测数据包序列对应的响应数据包序列进行回归分析,确定待探测带宽的传输能力。
需要说明的是,与探测数据包序列类似,上述响应数据包序列由多个响应数据包组成,其中,响应数据包可以为但不限于ICMP协议中的Echo response数据包,响应数据包与探测数据包的数据包格式相同,并且,响应数据包的序列号字段、数据字段与探测数据包的序列号字段、数据字段的字节数相同,但响应数据包的类型字段和编码字段的字节均为0。此外,上述分析可以为但不限于线性回归分析。
在一种可选的实施例中,接收端在接收到发送端发送的探测数据包序列之后,对探测数据包进行处理,得到与探测数据包相对应的响应数据包序列,并将响应数据包序列反馈给发送端,发送端对探测数据包序列和响应数据包序列进行回归分析,根据分析结果确定待探测带宽的传输能力。
在另一种可选的实施例中,图4示出了一种基于图3所示的带宽传输能力的确定系统的交互图,由图4可知,发送端与接收端之间的交互过程具体包括如下步骤:
步骤S40,发送端发送探测数据包序列至接收端;
步骤S42,接收端根据接收到的探测数据包序列得到响应数据包序列;
步骤S44,接收端发送响应数据包序列至发送端;
步骤S46,发送端对探测数据包序列以及响应数据包序列进行回归分析,并根据分析结果确定带宽的传输能力。
基于上述步骤S102至步骤S104所限定的方案,可以获知,通过按照时间间隔参数发送探测数据包序列,对探测数据包序列以及与探测数据包序列对应的响应数据包序列进行回归分析,确定待探测带宽的传输能力,其中,时间间隔参数用于表示在发送端向接收端发送的探测数据包序列中每相邻两个探测数据包之间的发送时间间隔。
容易注意到的是,发送端是根据探测数据包序列以及接收端所返回的响应数据包序列来确定待探测带宽的传输能力的,在发送端向接收端发送探测数据包之前,不需要在接收端上设置与发送端相同的探测带宽的程序,即只需要在发送端一侧设置探测带宽的程序即可。另外,由于是根据探测数据包序列以及响应数据包序列进行回归分析,在得到回归分析的结果之后,可进一步对时间间隔参数进行修改或更新,从而可以使时间间隔参数能够与网络环境相适应。
由上述内容可知,本申请可以达到不依赖其他探测带宽的工具即实现探测带宽的目的,从而实现了准确探测带宽传输能力的技术效果,进而解决了现有的探测带宽的模型参数不能自适应调整导致带宽传输能力探测不准确的技术问题。
在一种可选的实施例中,在按照时间间隔参数发送探测数据包序列之前,还需要确定时间间隔参数,如图5所示的一种可选的带宽传输能力的确定方法流程图,确定时间间隔参数的方法具体包括如下步骤:
步骤S502,获取待探测速率和探测数据包序列中每个探测数据包的大小,其中,待探测速率与待探测带宽相关联;
步骤S504,采用待探测速率和探测数据包序列中每个探测数据包的大小计算得到时间间隔参数。
需要说明的是,上述待探测带宽可由待探测速率表征例如,待探测带宽为8M,则待探测速率v为:v=8×1024×1024bit/s,即每秒钟传输8×1024×1024bit的数据。其中,待探测带宽可为用户预先确定所要探测的带宽,即用户需要探测当前网络带宽是否具有待探测带宽的传输能力。其中,在发送端发送探测数据包的过程中,可获取到每个探测数据包的大小,进而根据每个探测数据包的大小计算得到时间间隔参数。
在一种可选的实施例中,发送端所发送的每个探测数据包的大小为S字节,待探测带宽所对应的待探测速率为v,则时间间隔参数T可由下式确定:
例如,待探测速率v=8×1024×1024bit/s,S=1024×8bit,则 即如果用户想用探测8Mbit/s的带宽的传输能力,可使用1024Byte的探测数据包,并以1的时间间隔发送。
需要说明的是,发送端以时间间隔参数T发送N个数据包,接收端每收到一个数据包便向发送端回复响应数据包。发送端在接收到响应数据包之后,记录每个响应数据包的达到时间,由此便可得到接收端的时间间隔参数。其中,在Linux系统下调用gett imeofday函数可获得时间精度为us的时间间隔参数。
在另一种可选的实施例中,如图6(a)所示的基于探测数据包序列的时间间隔参数的示意图以及图6(b)所示的基于响应数据包序列的时间间隔参数的示意图。其中,在图6(a)中,S表示探测数据包的大小,N表示探测数据包序列中探测数据包的数量,T表示发送探测数据包的时间间隔。在图6(b)中,Y1、Y2、Y3以及YN表示接收端发送响应数据包的时间间隔。具体的,发送探测数据包的时间为:1、3、6、8、10,接收响应数据包的时间为:22、30、44、50、67,则接收响应数据包的时间间隔为8、14、6、17。
此外,还需要说明的是,在发送探测数据包序列的过程中,可以等间隔时间采样,即发送探测数据包的时间间隔相同。
需要说明的是,在确定时间间隔参数之后,发送端便根据时间间隔参数来向接收端发送探测数据包序列,接收端在接收到探测数据包序列之后,向发送端发送与探测数据包相对应的响应数据包,发送端在对探测数据包序列和响应数据包序列进行回归分析之前,进一步确定响应数据包序列中的全部数据包均未丢失且全部数据包从接收端返回至发送端的顺序未发生改变。
具体的,发送端获取发送的探测数据包的数量以及接收到的响应数据包的数量,并比较探测数据包的数量和响应数据包的数量是否一致,如果响应数据包的数量小于探测数据包的数量,则确定接收端在向发送端发送响应数据包的过程中出现了数据包丢失(即丢包)的问题,此时,发送端确定当前带宽受限,即待探测带宽已超出发送端与接收端之间的剩余带宽。如果响应数据包序列中的全部数据包均未丢失,即响应数据包的数量与探测数据包的数量一致,则发送端进一步判断接收到的与探测数据包相对应的响应数据包的接收顺序是否与探测数据包的发送顺序一致。如果响应数据包序列中的数据包从接收端返回至发送端的顺序发生了改变,则确定当前带宽受限。即只有在确定响应数据包序列中的全部数据包均未丢失且全部数据包从接收端返回至发送端的顺序未发生改变的情况下,发送端才会对探测数据包序列和响应数据包序列进行回归分析。
需要说明的是,通过对比探测数据包中的序列号字段与响应数据包中的序列号字段来确定响应数据包序列中的数据包是否发生丢失,以及确定从接收端返回至发送端的数据包的顺序是否发生变化。
此外,还需要说明的是,在确定响应数据包序列中的全部数据均未丢失且全部数据包从接收端返回至发送端的顺序未发生改变之后,发送端可对探测数据包序列以及响应数据包序列进行回归分析,确定传输能力,如图7所示的带宽传输能力的确定方法的流程图,该方法具体包括如下步骤:
步骤S702,从探测数据包序列中等间隔选取多个探测数据包,并计算间隔数量参数与时间间隔参数的乘积结果,以及计算在响应数据包序列中与选取的每个探测数据包对应的响应时间间隔差值,得到待测试数据集,其中,间隔数量参数用于表示选取的相邻两个探测数据包在探测数据包序列中所间隔的探测数据包的数量,响应时间间隔差值为选取的相邻两个探测数据包分别对应的响应数据包到达发送端的时间差值;
需要说明的是,根据间隔数量参数与时间间隔参数的乘积结果来对探测数据包进行等间隔抽样,例如,探测数据包的数量为N,间隔数量参数为m,即每间隔m个探测数据包获取一个探测数据包,发送端发送探测数据包的时间间隔参数为T,则mT为对选取的探测数据包进行等间隔抽样的抽样间隔,例如,m=3,T=1,即发送端每隔1s发送一个探测数据包,而等间隔抽样的抽样间隔为3,即如果发送端发送探测数据包的时间为:1、2、3、4、5、6、7、8、9、10、11、12、13,则等间隔抽样得到的发送探测数据包的时间为:1、4、7、10、13。
此外,还需要说明的是,发送端发送探测数据包的时间为:1、2、3、4、5、6、7、8、9、10、11、12、13,间隔抽样后的结果为:1、4、7、10、13,与探测数据包相对应的接收到的响应数据包的时间为:20、23、30、35、42、49、51、55、56、62、66、69、74,则响应时间间隔差值为:15、16、9、12。
在一种可选的实施例中,将根据间隔数量参数与时间间隔参数的乘积结果对发送端发送的探测数据包进行抽样后时间作为X坐标,将响应时间间隔差值作为Y坐标,即可得到如图8所示的回归分析的坐标示意图。其中,图8中的黑点表示在时刻为X等时,响应时间间隔差值为Y。对选取的每个探测数据包与时间间隔参数的乘积结果以及响应时间间隔差值(如图8中的y2-Y2)进行线性拟合即可得到图8中拟合后的直线。其中,可基于线性回归方程Y=aX+b对上述乘积结果以及响应时间间隔差值进行线性拟合。
另外,还需要说明的是,对探测数据包采用等间隔抽样可以有效的减少在间隔时间上的随机误差。
步骤S704,计算待测试数据集的线性回归误差与线性回归斜率并获取与时间间隔参数对应的线性回归误差阈值和线性回归斜率阈值,其中,线性回归误差阈值与线性回归斜率阈值是由实际带宽确定的,待探测带宽小于实际带宽;
具体的,可通过如下公式确定待测试数据集的线性回归误差:
在上式中,Ew表示待测试数据集的线性回归误差,N表示待测试数据集的个数,yn表示响应时间间隔差值,Yn表示基于线性回归方程Y=aX+b得到的响应时间间隔差值。其中,yn-Yn表示实际得到的响应时间间隔差值与回归分析之后得到的响应时间间隔差值的差值,例如,图8示出了x2时刻,实际得到的响应时间间隔差值y2与回归分析之后得到的响应时间间隔差值Y2的差值。
通过如下公式得到线性回归斜率:
E=a
在上式中,E表示线性回归斜率,a为线性回归方程Y=aX+b的系数。
步骤S706,根据计算得到的线性回归误差与线性回归误差阈值的比较结果以及计算得到的线性回归斜率与线性回归斜率阈值的比较结果,确定传输能力。
在一种可选的实施例中,对于不同的数据传输速率进行划分,即建立探测模型。其中,在探测模型中,基于数据传输速率得到多个时间区间,每个时间区间以时间间隔参数表示,并且每个时间区间对应两个参数,即线性回归误差阈值和线性回归斜率阈值。其中,线性回归误差用于衡量经过回归分析得到的拟合直线与实际的响应时间间隔差值之间的误差大小,而线性回归斜率用于表征响应数据包序列的时间间隔趋势。
需要说明的是,对每个时间区间内所对应的探测数据包序列以及响应数据包序列进行回归分析可得到探测模型中相应的时间区间内的线性回归误差阈值与线性回归斜率阈值,并将此时的线性回归误差阈值作为线性回归误差阈值的初始值,将此时的线性回归斜率阈值作为线性回归误差阈值的初始值。
此外,还需要说明的是,在确定了计算得到的线性回归误差与线性回归误差阈值的比较结果以及计算得到的线性回归斜率与线性回归斜率阈值的比较结果之后,可进一步确定传输能力,其中,确定带宽的传输能力方法具体包括以下之一:
方式一:如果计算得到的线性回归误差小于线性回归误差阈值且计算得到的线性回归斜率小于线性回归斜率阈值,则确定待探测带宽小于实际带宽的剩余带宽;
方式二:如果计算得到的线性回归误差小于线性回归误差阈值且计算得到的线性回归斜率大于或等于线性回归斜率阈值,则确定待探测带宽大于或等于实际带宽的剩余带宽;
方式三:如果计算得到的线性回归误差大于线性回归误差阈值,则从探测数据包序列中等间隔重新选取多个探测数据包,直至计算得到的线性回归误差小于线性回归误差阈值。
需要说明的是,根据线性回归误差与线性回归误差阈值可确定当前回归分析的模型是否合理。如果线性回归误差小于线性回归误差阈值,则进一步对线性回归斜率进行判断;如果线性回归斜率大于或等于线性回归斜率阈值,则确定待探测带宽小于实际带宽的剩余带宽,即待探测带宽受限;如果线性回归斜率小于线性回归斜率阈值,则确定待探测带宽正常;如果线性回归误差大于等于线性回归误差阈值,则重新选取抽样数据,即增加抽样间隔,重新选取探测数据包序列中的探测包数据,直到线性回归误差小于线性回归误差阈值为止。
此外,还需要说明的是,如果待探测带宽小于实际带宽的剩余带宽,则确定当前带宽受限,否则,确定当前带宽可正常传输数据。另外,上述回归分析的模型可以为上述探测模型,即根据线性回归误差以及线性回归斜率来确定时间间隔参数。
在一种优选的实施例中,如图9所示的一种优选的带宽传输能力的确定方法的流程图,由图9可知,带宽传输能力的确定方法分为两个分支,第一个分支主要包括步骤S901至步骤S910的内容,第二个分支主要包括步骤S911至步骤S915所包含的内容。其中,第二个分支主要用于更新线性回归斜率阈值。基于图9的方法流程图,本申请所提出的带宽传输能力的确定方法具体包括如下步骤:
步骤S901,发送端向接收端发送探测数据包序列;
步骤S902,接收端在接收到探测数据包序列后,向发送端发送与探测数据包序列相对应的响应数据包序列,同时,发送端并接收响应数据包序列;
步骤S903,发送端在接收到响应数据包序列后确定响应数据包序列是否完整,即确定响应数据包序列是否存在丢包或乱序的现象。如果响应数据包序列存在丢包或乱序的问题,则确定待探测带宽受限,此时,执行步骤S910;否则,执行步骤S904。
步骤S904,在确定响应数据包序列完整之后,发送端对探测数据包进行等间隔抽样处理,并得到等间隔抽样后的探测数据包以及与抽样后的探测数据包相对应的响应数据包;
步骤S905,发送端对步骤S904得到的探测数据包和响应数据包进行回归分析,得到线性回归误差以及线性回归斜率;
步骤S906,发送端根据待探测速率确定探测模型的时间区间,并基于时间区间确定线性回归误差阈值以及线性回归斜率阈值;
步骤S907,如果发送端确定线性回归误差大于或等于线性回归误差阈值,则重新执行步骤S904,重新确定抽样间隔,并对探测数据包序列进行抽样处理;如果线性回归误差小于线性回归误差阈值,则执行步骤S908。
步骤S908,在确定线性回归误差小于线性回归误差阈值之后,进一步确定线性回归斜率是否小于线性回归斜率阈值。如果线性回归斜率小于线性回归斜率阈值,则确定带宽受限,即执行步骤S910;否则,确定带宽正常,执行步骤S909。
步骤S909,在确定带宽正常之后,发送端通过与时间间隔参数相对应的发送策略向接收端发送数据。
步骤S910,在确定带宽受限之后,发送端以该待探测带宽向接收端发送数据,此时,发送端可探测其他带宽,以确定与发送端相匹配的发送速率。
步骤S911,在确定网络带宽正常之后,发送端向接收端发送数据;
步骤S912,如果此时接收端接收到的数据异常,则接收端向发送端反馈网络数据异常的信息,发送端接收网络数据异常的反馈信息;
步骤S913,在接收到网路数据异常的反馈信息之后,发送端获取线性回归斜率;
步骤S914,发送端根据待探测速率来确定时间区间,并根据时间区间确定线性回归斜率阈值;
步骤S915,发送端根据线性回归斜率阈值对线性回归斜率阈值进行修改,修改之后的线性回归斜率阈值作为步骤S908中的线性回归斜率阈值以确定带宽是否受限。
需要说明的是,除对线性回归斜率阈值进行修正外,还可对线性回归误差阈值进行修订,其中,对线性回归误差阈值和线性回归斜率阈值进行修正的方法具体包括如下步骤:
步骤S90,根据网络异常反馈信息确定当前网络的实际传输能力与传输能力并不相符;
步骤S92,通过对新的探测数据包序列以及对应的响应数据包序列进行回归分析,修正线性回归误差阈值和线性回归斜率阈值。
需要说明的是,当发送端向接收端发送数据时,接收端检测到接收端的数据异常,此时,接收端会向发送端发送网络异常反馈信息,发送端根据网络异常反馈信息可确定当前网络的实际传输能力与待探测带宽的传输能力不相符。另外,在对线性回归误差阈值和线性回归斜率阈值修正之后,上述两个阈值将更新至探测模型中,以对带宽是否受限进行判断。
此外,还需要说明的是,在对探测数据包序列以及响应数据包序列进行回归分析,确定传输能力之后,可按照传输能力调整待传输文件的发送速率。例如,确定当前带宽的传输速率为8Mbit/s,则将待输出文件的发送速率调节为小于等于8Mbit/s。又例如,发送端以4Mbit/s的速率向接收端发送数据的过程中,发送端接收到了接收端发送网络异常的反馈信息,此时,发送端以3Mbit/s的速率向接收端发送数据,而此时可正常发送,则发送端将传输速率4Mbit/s修改为3Mbit/s。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的带宽传输能力的确定方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
根据本发明实施例,还提供了一种用于实施上述带宽传输能力的确定方法的带宽传输能力的确定装置,如图10所示,该装置包括:第一发送模块1001以及分析模块1003。
其中,第一发送模块1001,用于按照时间间隔参数发送探测数据包序列,其中,时间间隔参数用于表示在发送端向接收端发送的探测数据包序列中每相邻两个探测数据包之间的发送时间间隔;分析模块1003,用于对探测数据包序列以及与探测数据包序列对应的响应数据包序列进行回归分析,确定待探测带宽的传输能力。
此处需要说明的是,上述第一发送模块1001以及分析模块1003对应于实施例1中的步骤S102至步骤S104,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。
在一种可选的实施例中,带宽传输能力的确定装置还包括:获取模块以及第一计算模块。其中,获取模块,用于获取待探测速率和探测数据包序列中每个探测数据包的大小,其中,待探测速率与待探测带宽相关联;第一计算模块,用于采用待探测速率和探测数据包序列中每个探测数据包的大小计算得到时间间隔参数。
此处需要说明的是,上述获取模块以及第一计算模块对应于实施例1中的步骤S502至步骤S504,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。
在一种可选的实施例中,带宽传输能力的确定装置还包括:第一确定模块。其中,第一确定模块,用于确定响应数据包序列中的全部数据包均未丢失且全部数据包从接收端返回至发送端的顺序未发生改变。
在一种可选的实施例中,分析模块包括:第二计算模块、第三计算模块以及第二确定模块。其中,第二计算模块,用于从探测数据包序列中等间隔选取多个探测数据包,并计算选取的每个探测数据包与时间间隔参数的乘积结果,以及计算在响应数据包序列中与选取的每个探测数据包对应的响应时间间隔差值,得到待测试数据集,其中,响应时间间隔差值为选取的相邻两个探测数据包分别对应的响应数据包到达发送端的时间差值;第三计算模块,用于计算待测试数据集的线性回归误差与线性回归斜率并获取与时间间隔参数对应的线性回归误差阈值和线性回归斜率阈值,其中,线性回归误差阈值与线性回归斜率阈值是由实际带宽确定的,待探测带宽小于实际带宽;第二确定模块,用于根据计算得到的线性回归误差与线性回归误差阈值的比较结果以及计算得到的线性回归斜率与线性回归斜率阈值的比较结果,确定传输能力。
此处需要说明的是,上述第二计算模块、第三计算模块以及第二确定模块对应于实施例1中的步骤S702至步骤S706,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。
在一种可选的实施例中,第二确定模块包括:第三确定模块、第四确定模块以及第五确定模块。其中,第三确定模块,用于如果计算得到的线性回归误差小于线性回归误差阈值且计算得到的线性回归斜率小于线性回归斜率阈值,则确定待探测带宽小于实际带宽的剩余带宽;第四确定模块,用于如果计算得到的线性回归误差小于线性回归误差阈值且计算得到的线性回归斜率大于或等于线性回归斜率阈值,则确定待探测带宽大于或等于实际带宽的剩余带宽;第五确定模块,用于如果计算得到的线性回归误差大于线性回归误差阈值,则从探测数据包序列中等间隔重新选取多个探测数据包,直至计算得到的线性回归误差小于线性回归误差阈值。
在一种可选的实施例中,带宽传输能力的确定装置还包括:第六确定模块以及修正模块。其中,第六确定模块,用于根据网络异常反馈信息确定当前网络的实际传输能力与传输能力并不相符;修正模块,用于通过对新的探测数据包序列以及对应的响应数据包序列进行回归分析,修正线性回归误差阈值和线性回归斜率阈值。
此处需要说明的是,上述第六确定模块以及修正模块对应于实施例1中的步骤S90至步骤S92,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。
在一种可选的实施例中,带宽传输能力的确定装置还包括:调整模块。其中,调整模块,用于按照传输能力调整待传输文件的发送速率。
实施例3
根据本发明实施例,还提供了一种带宽传输能力的确定方法,其中,图11示出了带宽传输能力的确定方法流程图,如图11所示,该方法具体包括如下步骤:
步骤S1102,按照时间间隔参数发送探测数据包序列,其中,时间间隔参数用于表示在发送端向接收端发送的探测数据包序列中每相邻两个探测数据包之间的发送时间间隔;
步骤S1104,若与探测数据包序列对应的响应数据包序列中出现部分数据包丢失和/或部分数据包从接收端返回至发送端的顺序发生改变时,确定待探测带宽大于实际带宽的剩余带宽。
需要说明的是,上述探测数据包可以为但不限于ICMP协议中的Echo request数据包,上述响应数据包可以为但不限于ICMP协议中的Echo response数据包。响应数据包的数据包格式与探测数据包的数据包格式相同,均包括类型字段、编码字段、校验和字段、标识符字段、序列号字段以及数据字段。所不同的是,探测数据包中的类型字段的大小为8字节,编码字段为0字节,而响应数据包中的类型字段和编码字段的字节大小均为0。另外,探测数据包序列由至少一个探测数据包组成的数据包序列,响应数据包序列为接收端所发送的由至少一个响应数据包组成的数据包序列。
在一种可选的实施例中,发送端按照时间间隔参数向接收端发送探测数据包序列,接收端在接收到探测数据包序列之后,向发送端发送与探测数据包序列相对应的响应数据包序列。发送端在接收到响应数据包序列后,通过检测响应数据包序列中每个响应数据包序列中的序列号字段,可确定响应数据包是否丢失或响应数据包的发送顺序是否发生改变,即对响应数据包序列进行完整性检测。在确定响应数据包序列未出现数据包丢失,也没有出现乱序时,则确定待探测带宽小于或等于实际带宽的剩余带宽,即发送端可以以待探测带宽所对应的发送速率向接收端发送数据。如果响应数据包序列出现丢包和/或乱序,则待探测带宽大于实际带宽的剩余带宽,即带宽受限,发送端不能以待探测带宽向接收端发送数据。如果发送端仍需要向接收端发送数据,此时,发送端可重新确定待探测带宽,并对新确定的待探测带宽进行探测,直到待探测带宽小于或等于实际带宽的剩余带宽为止。
基于上述步骤S1102至步骤S1104所限定的方案,可以获知,通过按照时间间隔参数发送探测数据包序列,若与探测数据包序列对应的响应数据包序列中出现部分数据包丢失和/或部分数据包从接收端返回至发送端的顺序发生改变时,确定待探测带宽大于实际带宽的剩余带宽,其中,时间间隔参数用于表示在发送端向接收端发送的探测数据包序列中每相邻两个探测数据包之间的发送时间间隔。
容易注意到的是,发送端是根据探测数据包序列以及接收端所返回的响应数据包序列来确定待探测带宽的传输能力的,在发送端向接收端发送探测数据包之前,不需要在接收端上设置与发送端相同的探测带宽的程序,即只需要在发送端一侧设置探测带宽的程序即可。另外,由于是根据探测数据包序列以及响应数据包序列进行回归分析,在得到回归分析的结果之后,可进一步对时间间隔参数进行修改或更新,从而可以使时间间隔参数能够与网络环境相适应。
由上述内容可知,本申请可以达到不依赖其他探测带宽的工具即实现探测带宽的目的,从而实现了准确探测带宽传输能力的技术效果,进而解决了现有的探测带宽的模型参数不能自适应调整导致带宽传输能力探测不准确的技术问题。
实施例4
根据本发明实施例,还提供了一种用于实施上述带宽传输能力的确定方法的带宽传输能力的确定装置,如图12所示,该装置包括:第二发送模块1201以及确定模块1203。
其中,第二发送模块1201,用于按照时间间隔参数发送探测数据包序列,其中,时间间隔参数用于表示在发送端向接收端发送的探测数据包序列中每相邻两个探测数据包之间的发送时间间隔;确定模块1203,用于若与探测数据包序列对应的响应数据包序列中出现部分数据包丢失和/或部分数据包从接收端返回至发送端的顺序发生改变时,确定待探测带宽大于实际带宽的剩余带宽。
此处需要说明的是,上述第二发送模块1201以及确定模块1203对应于实施例3中的步骤S1102至步骤S1104,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例三所公开的内容。
实施例5
根据本发明实施例,还提供了一种用于实施上述带宽传输能力的确定方法的系统,该系统包括:处理器;以及存储器。其中,存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:
步骤1,按照时间间隔参数发送探测数据包序列,其中,时间间隔参数用于表示在发送端向接收端发送的探测数据包序列中每相邻两个探测数据包之间的发送时间间隔;
步骤2,对探测数据包序列以及与探测数据包序列对应的响应数据包序列进行回归分析,确定待探测带宽的传输能力。
实施例6
本发明的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
图13示出了一种计算机终端的硬件结构框图。如图13所示,计算机终端A可以包括一个或多个(图中采用1302a、1302b,……,1302n来示出)处理器1302(处理器1302可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器1304、以及用于通信功能的传输装置1306。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图13所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端A还可包括比图13中所示更多或者更少的组件,或者具有与图13所示不同的配置。
应当注意到的是上述一个或多个处理器1302和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端A中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
处理器1302可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:按照时间间隔参数发送探测数据包序列,其中,时间间隔参数用于表示在发送端向接收端发送的探测数据包序列中每相邻两个探测数据包之间的发送时间间隔;对探测数据包序列以及与探测数据包序列对应的响应数据包序列进行回归分析,确定待探测带宽的传输能力。
存储器1304可用于存储应用软件的软件程序以及模块,如本申请实施例中的带宽传输能力的确定方法对应的程序指令/数据存储装置,处理器1302通过运行存储在存储器1304内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的带宽传输能力的确定方法。存储器1304可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1304可进一步包括相对于处理器1302远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端A。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置1306用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端A的通信供应商提供的无线网络。在一个实例中,传输装置1306包括一个网络适配器(Network Interface Control ler,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置1306可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端A的用户界面进行交互。
此处需要说明的是,在一些可选实施例中,上述图13所示的计算机终端A可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图13仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算机终端A中的部件的类型。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:按照时间间隔参数发送探测数据包序列,其中,时间间隔参数用于表示在发送端向接收端发送的探测数据包序列中每相邻两个探测数据包之间的发送时间间隔;对探测数据包序列以及与探测数据包序列对应的响应数据包序列进行回归分析,确定待探测带宽的传输能力。
可选的,上述处理器还可以执行如下步骤的程序代码:获取待探测速率和探测数据包序列中每个探测数据包的大小,其中,待探测速率与待探测带宽相关联;采用待探测速率和探测数据包序列中每个探测数据包的大小计算得到时间间隔参数。
可选的,上述处理器还可以执行如下步骤的程序代码:确定响应数据包序列中的全部数据包均未丢失且全部数据包从接收端返回至发送端的顺序未发生改变。
可选的,上述处理器还可以执行如下步骤的程序代码:从探测数据包序列中等间隔选取多个探测数据包,并计算间隔数量参数与时间间隔参数的乘积结果,以及计算在响应数据包序列中与选取的每个探测数据包对应的响应时间间隔差值,得到待测试数据集,其中,间隔数量参数用于表示选取的相邻两个探测数据包在探测数据包序列中所间隔的探测数据包的数量,响应时间间隔差值为选取的相邻两个探测数据包分别对应的响应数据包到达发送端的时间差值;计算待测试数据集的线性回归误差与线性回归斜率并获取与时间间隔参数对应的线性回归误差阈值和线性回归斜率阈值,其中,线性回归误差阈值与线性回归斜率阈值是由实际带宽确定的,待探测带宽小于实际带宽;根据计算得到的线性回归误差与线性回归误差阈值的比较结果以及计算得到的线性回归斜率与线性回归斜率阈值的比较结果,确定传输能力。
可选的,上述处理器还可以执行如下步骤的程序代码:如果计算得到的线性回归误差小于线性回归误差阈值且计算得到的线性回归斜率小于线性回归斜率阈值,则确定待探测带宽小于实际带宽的剩余带宽;如果计算得到的线性回归误差小于线性回归误差阈值且计算得到的线性回归斜率大于或等于线性回归斜率阈值,则确定待探测带宽大于或等于实际带宽的剩余带宽;如果计算得到的线性回归误差大于线性回归误差阈值,则从探测数据包序列中等间隔重新选取多个探测数据包,直至计算得到的线性回归误差小于线性回归误差阈值。
可选的,上述处理器还可以执行如下步骤的程序代码:根据网络异常反馈信息确定当前网络的实际传输能力与传输能力并不相符;通过对新的探测数据包序列以及对应的响应数据包序列进行回归分析,修正线性回归误差阈值和线性回归斜率阈值。
可选的,上述处理器还可以执行如下步骤的程序代码:按照传输能力调整待传输文件的发送速率。
本领域普通技术人员可以理解,图13所示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(Mobi leInternet Devices,MID)、PAD等终端设备。图13其并不对上述电子装置的结构造成限定。例如,计算机终端A还可包括比图13中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图13所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例7
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的带宽传输能力的确定方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:按照时间间隔参数发送探测数据包序列,其中,时间间隔参数用于表示在发送端向接收端发送的探测数据包序列中每相邻两个探测数据包之间的发送时间间隔;对探测数据包序列以及与探测数据包序列对应的响应数据包序列进行回归分析,确定待探测带宽的传输能力。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取待探测速率和探测数据包序列中每个探测数据包的大小,其中,待探测速率与待探测带宽相关联;采用待探测速率和探测数据包序列中每个探测数据包的大小计算得到时间间隔参数。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:确定响应数据包序列中的全部数据包均未丢失且全部数据包从接收端返回至发送端的顺序未发生改变。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:从探测数据包序列中等间隔选取多个探测数据包,并计算间隔数量参数与时间间隔参数的乘积结果,以及计算在响应数据包序列中与选取的每个探测数据包对应的响应时间间隔差值,得到待测试数据集,其中,间隔数量参数用于表示选取的相邻两个探测数据包在探测数据包序列中所间隔的探测数据包的数量,响应时间间隔差值为选取的相邻两个探测数据包分别对应的响应数据包到达发送端的时间差值;计算待测试数据集的线性回归误差与线性回归斜率并获取与时间间隔参数对应的线性回归误差阈值和线性回归斜率阈值,其中,线性回归误差阈值与线性回归斜率阈值是由实际带宽确定的,待探测带宽小于实际带宽;根据计算得到的线性回归误差与线性回归误差阈值的比较结果以及计算得到的线性回归斜率与线性回归斜率阈值的比较结果,确定传输能力。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:如果计算得到的线性回归误差小于线性回归误差阈值且计算得到的线性回归斜率小于线性回归斜率阈值,则确定待探测带宽小于实际带宽的剩余带宽;如果计算得到的线性回归误差小于线性回归误差阈值且计算得到的线性回归斜率大于或等于线性回归斜率阈值,则确定待探测带宽大于或等于实际带宽的剩余带宽;如果计算得到的线性回归误差大于线性回归误差阈值,则从探测数据包序列中等间隔重新选取多个探测数据包,直至计算得到的线性回归误差小于线性回归误差阈值。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:根据网络异常反馈信息确定当前网络的实际传输能力与传输能力并不相符;通过对新的探测数据包序列以及对应的响应数据包序列进行回归分析,修正线性回归误差阈值和线性回归斜率阈值。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:按照传输能力调整待传输文件的发送速率。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (13)
1.一种带宽传输能力的确定方法,其特征在于,包括:
按照时间间隔参数发送探测数据包序列,其中,所述时间间隔参数用于表示在发送端向接收端发送的所述探测数据包序列中每相邻两个探测数据包之间的发送时间间隔;
对所述探测数据包序列以及与所述探测数据包序列对应的响应数据包序列进行回归分析,确定待探测带宽的传输能力。
2.根据权利要求1所述的方法,其特征在于,在按照所述时间间隔参数发送所述探测数据包序列之前,还包括:
获取待探测速率和所述探测数据包序列中每个探测数据包的大小,其中,所述待探测速率与所述待探测带宽相关联;
采用所述待探测速率和所述探测数据包序列中每个探测数据包的大小计算得到所述时间间隔参数。
3.根据权利要求1所述的方法,其特征在于,在对所述探测数据包序列以及所述响应数据包序列进行回归分析之前,还包括:
确定所述响应数据包序列中的全部数据包均未丢失且全部数据包从所述接收端返回至所述发送端的顺序未发生改变。
4.根据权利要求1所述的方法,其特征在于,对所述探测数据包序列以及所述响应数据包序列进行回归分析,确定所述传输能力包括:
从所述探测数据包序列中等间隔选取多个探测数据包,并计算间隔数量参数与所述时间间隔参数的乘积结果,以及计算在所述响应数据包序列中与选取的每个探测数据包对应的响应时间间隔差值,得到待测试数据集,其中,所述间隔数量参数用于表示选取的相邻两个探测数据包在所述探测数据包序列中所间隔的探测数据包的数量,所述响应时间间隔差值为选取的相邻两个探测数据包分别对应的响应数据包到达所述发送端的时间差值;
计算所述待测试数据集的线性回归误差与线性回归斜率并获取与所述时间间隔参数对应的线性回归误差阈值和线性回归斜率阈值,其中,所述线性回归误差阈值与所述线性回归斜率阈值是由实际带宽确定的,所述待探测带宽小于所述实际带宽;
根据计算得到的线性回归误差与所述线性回归误差阈值的比较结果以及计算得到的线性回归斜率与所述线性回归斜率阈值的比较结果,确定所述传输能力。
5.根据权利要求4所述的方法,其特征在于,根据计算得到的线性回归误差与所述线性回归误差阈值的比较结果以及计算得到的线性回归斜率与所述线性回归斜率阈值的比较结果,确定所述传输能力包括以下之一:
如果所述计算得到的线性回归误差小于所述线性回归误差阈值且所述计算得到的线性回归斜率小于所述线性回归斜率阈值,则确定所述待探测带宽小于所述实际带宽的剩余带宽;
如果所述计算得到的线性回归误差小于所述线性回归误差阈值且所述计算得到的线性回归斜率大于或等于所述线性回归斜率阈值,则确定所述待探测带宽大于或等于所述实际带宽的剩余带宽;
如果所述计算得到的线性回归误差大于所述线性回归误差阈值,则从所述探测数据包序列中等间隔重新选取多个探测数据包,直至所述计算得到的线性回归误差小于所述线性回归误差阈值。
6.根据权利要求5所述的方法,其特征在于,在对所述探测数据包序列以及所述响应数据包序列进行回归分析,确定所述传输能力之后,还包括:
根据网络异常反馈信息确定当前网络的实际传输能力与所述传输能力并不相符;
通过对新的探测数据包序列以及对应的响应数据包序列进行回归分析,修正所述线性回归误差阈值和所述线性回归斜率阈值。
7.根据权利要求5所述的方法,其特征在于,在对所述探测数据包序列以及所述响应数据包序列进行回归分析,确定所述传输能力之后,还包括:
按照所述传输能力调整待传输文件的发送速率。
8.一种带宽传输能力的确定装置,其特征在于,包括:
第一发送模块,用于按照时间间隔参数发送探测数据包序列,其中,所述时间间隔参数用于表示在发送端向接收端发送的所述探测数据包序列中每相邻两个探测数据包之间的发送时间间隔;
分析模块,用于对所述探测数据包序列以及与所述探测数据包序列对应的响应数据包序列进行回归分析,确定待探测带宽的传输能力。
9.一种带宽传输能力的确定方法,其特征在于,包括:
按照时间间隔参数发送探测数据包序列,其中,所述时间间隔参数用于表示在发送端向接收端发送的所述探测数据包序列中每相邻两个探测数据包之间的发送时间间隔;
若与所述探测数据包序列对应的响应数据包序列中出现部分数据包丢失和/或部分数据包从所述接收端返回至所述发送端的顺序发生改变时,确定待探测带宽大于实际带宽的剩余带宽。
10.一种带宽传输能力的确定装置,其特征在于,包括:
第二发送模块,用于按照时间间隔参数发送探测数据包序列,其中,所述时间间隔参数用于表示在发送端向接收端发送的所述探测数据包序列中每相邻两个探测数据包之间的发送时间间隔;
确定模块,用于若与所述探测数据包序列对应的响应数据包序列中出现部分数据包丢失和/或部分数据包从所述接收端返回至所述发送端的顺序发生改变时,
确定待探测带宽大于实际带宽的剩余带宽。
11.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至7中任意一项所述的带宽传输能力的确定方法。
12.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至7中任意一项所述的带宽传输能力的确定方法。
13.一种系统,其特征在于,包括:
处理器;以及
存储器,与所述处理器连接,用于为所述处理器提供处理以下处理步骤的指令:
步骤1,按照时间间隔参数发送探测数据包序列,其中,所述时间间隔参数用于表示在发送端向接收端发送的所述探测数据包序列中每相邻两个探测数据包之间的发送时间间隔;
步骤2,对所述探测数据包序列以及与所述探测数据包序列对应的响应数据包序列进行回归分析,确定待探测带宽的传输能力。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711288433.1A CN109905257B (zh) | 2017-12-07 | 2017-12-07 | 带宽传输能力的确定方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711288433.1A CN109905257B (zh) | 2017-12-07 | 2017-12-07 | 带宽传输能力的确定方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109905257A true CN109905257A (zh) | 2019-06-18 |
CN109905257B CN109905257B (zh) | 2022-06-14 |
Family
ID=66939670
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711288433.1A Active CN109905257B (zh) | 2017-12-07 | 2017-12-07 | 带宽传输能力的确定方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109905257B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112954397A (zh) * | 2021-02-05 | 2021-06-11 | 广州市奥威亚电子科技有限公司 | 数据传输调整方法及装置 |
CN113259365A (zh) * | 2021-05-27 | 2021-08-13 | 中国电子科技集团公司第二十八研究所 | 一种窄带弱连接自适应服务框架及服务调用方法 |
CN115174429A (zh) * | 2022-05-25 | 2022-10-11 | 深信服科技股份有限公司 | 网络带宽检测方法、装置、系统、设备及存储介质 |
CN116032800A (zh) * | 2021-10-25 | 2023-04-28 | 慧与发展有限责任合伙企业 | 用于利用令牌桶的通信网络带宽估计的逆向丢失检测 |
CN116192698A (zh) * | 2022-11-30 | 2023-05-30 | 华能信息技术有限公司 | 一种带宽自动侦测方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101026509A (zh) * | 2007-02-28 | 2007-08-29 | 西南科技大学 | 一种端到端低可用带宽测量方法 |
CN101237358A (zh) * | 2008-02-01 | 2008-08-06 | 北京工业大学 | 网络参数测量系统与对点接入时间序列可用带宽分析方法 |
US8068440B2 (en) * | 2009-06-12 | 2011-11-29 | Cygnus Broadband, Inc. | Systems and methods for intelligent discard in a communication network |
CN106549827A (zh) * | 2016-10-21 | 2017-03-29 | 乐视控股(北京)有限公司 | 网络状态的探测方法及装置 |
CN106656679A (zh) * | 2017-02-08 | 2017-05-10 | 北京邮电大学 | 可用带宽测量方法和装置 |
-
2017
- 2017-12-07 CN CN201711288433.1A patent/CN109905257B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101026509A (zh) * | 2007-02-28 | 2007-08-29 | 西南科技大学 | 一种端到端低可用带宽测量方法 |
CN101237358A (zh) * | 2008-02-01 | 2008-08-06 | 北京工业大学 | 网络参数测量系统与对点接入时间序列可用带宽分析方法 |
US8068440B2 (en) * | 2009-06-12 | 2011-11-29 | Cygnus Broadband, Inc. | Systems and methods for intelligent discard in a communication network |
CN106549827A (zh) * | 2016-10-21 | 2017-03-29 | 乐视控股(北京)有限公司 | 网络状态的探测方法及装置 |
CN106656679A (zh) * | 2017-02-08 | 2017-05-10 | 北京邮电大学 | 可用带宽测量方法和装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112954397A (zh) * | 2021-02-05 | 2021-06-11 | 广州市奥威亚电子科技有限公司 | 数据传输调整方法及装置 |
CN113259365A (zh) * | 2021-05-27 | 2021-08-13 | 中国电子科技集团公司第二十八研究所 | 一种窄带弱连接自适应服务框架及服务调用方法 |
CN113259365B (zh) * | 2021-05-27 | 2021-10-01 | 中国电子科技集团公司第二十八研究所 | 一种窄带弱连接自适应服务框架装置及服务调用方法 |
CN116032800A (zh) * | 2021-10-25 | 2023-04-28 | 慧与发展有限责任合伙企业 | 用于利用令牌桶的通信网络带宽估计的逆向丢失检测 |
CN115174429A (zh) * | 2022-05-25 | 2022-10-11 | 深信服科技股份有限公司 | 网络带宽检测方法、装置、系统、设备及存储介质 |
CN115174429B (zh) * | 2022-05-25 | 2024-04-09 | 深信服科技股份有限公司 | 网络带宽检测方法、装置、系统、设备及存储介质 |
CN116192698A (zh) * | 2022-11-30 | 2023-05-30 | 华能信息技术有限公司 | 一种带宽自动侦测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109905257B (zh) | 2022-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109905257A (zh) | 带宽传输能力的确定方法和装置 | |
CN103067214B (zh) | 用于测试网站性能的方法、客户端、服务器和系统 | |
CN109491905A (zh) | 前端测试方法、装置及电子设备 | |
CN103152392B (zh) | 安装包提供方法、获取方法、设备及系统 | |
CN109977435B (zh) | 工厂运行仿真方法、工厂运行仿真装置及计算机存储介质 | |
CN107203470B (zh) | 页面调试方法和装置 | |
JP7046073B2 (ja) | リアルタイムデータ処理方法及び装置 | |
CN108052094A (zh) | 一种扩展卡识别方法、装置及变频器 | |
WO2018028072A1 (zh) | 弯曲检测方法及装置、终端 | |
CN107251456B (zh) | 用于对控制网络中的装置进行时间同步的方法 | |
CN108306787A (zh) | 一种应用监测方法及相关设备 | |
CN108965283A (zh) | 一种通讯方法、装置、应用服务器及通讯系统 | |
CN109787900A (zh) | 传输方法、装置、设备和机器可读介质 | |
CN107332739B (zh) | 网络检测方法、网络检测装置及智能终端 | |
CN107122305A (zh) | 软件测试装置及方法 | |
CN109451025A (zh) | 消息推送方法、装置及存储介质 | |
EP3869740A1 (en) | Network reliability testing method and apparatus | |
CN109299195A (zh) | 数据处理方法、装置及存储介质 | |
CN103428036A (zh) | 测试响应时间的方法和装置 | |
CN108075852A (zh) | 网络标准时间的获取方法、装置、电子设备及存储介质 | |
CN104252227A (zh) | 信息处理方法、信息处理设备和穿戴式电子设备 | |
CN103885896B (zh) | 匹配设备的方法和电子设备 | |
CN111124592B (zh) | 仿真任务执行方法和装置 | |
CN110971716B (zh) | 地址配置方法、装置、系统和计算机可读存储介质 | |
CN102761672B (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 |