CN101964732A - 计算丢包率的方法及装置、控制网络传输的方法及装置 - Google Patents
计算丢包率的方法及装置、控制网络传输的方法及装置 Download PDFInfo
- Publication number
- CN101964732A CN101964732A CN2010102704843A CN201010270484A CN101964732A CN 101964732 A CN101964732 A CN 101964732A CN 2010102704843 A CN2010102704843 A CN 2010102704843A CN 201010270484 A CN201010270484 A CN 201010270484A CN 101964732 A CN101964732 A CN 101964732A
- Authority
- CN
- China
- Prior art keywords
- time period
- packet loss
- span
- change
- predefined
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 139
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000003908 quality control method Methods 0.000 abstract description 2
- 238000001514 detection method Methods 0.000 description 9
- 238000000205 computational method Methods 0.000 description 8
- 239000012467 final product Substances 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000001914 filtration Methods 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- RTZKZFJDLAIYFH-UHFFFAOYSA-N Diethyl ether Chemical compound CCOCC RTZKZFJDLAIYFH-UHFFFAOYSA-N 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 230000035772 mutation Effects 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种计算丢包率的方法及装置、控制网络传输的方法及装置。涉及网络传输质量控制领域,能够在存在网络带宽波动的情况下计算丢包率和提高网络的传输质量。一种计算丢包率的方法,包括:计算预定时间范围内的多个时间段的丢包率,计算每个时间段的丢包率相对于其前一时间段的丢包率的变化率,判断所述变化率是否在预先设定的第一取值范围以内,获取所述变化率在预先设定的第一取值范围以内的丢包率,并计算在所述预定时间范围内获取到的丢包率的平均值。主要应用于网络传输质量的检测和控制。
Description
技术领域
本发明涉及网络传输质量控制领域,尤其涉及计算丢包率的方法及装置、控制网络传输的方法及装置。
背景技术
随着网络应用范围的不断扩大,网络传输质量也变得越来越重要。要想改善网络传输的质量,首先要对网络通信质量进行检测,检测网络通信质量的方法有很多,通过计算丢包率来检测网络通信质量的方法是一种基本的、易实现的、重要的方法。
传统的计算丢包率的方法,通过对丢包数进行计算得到丢包率。即:根据接收端接收到的包数得出丢包数,再将所述丢包数与发送端发送的总包数进行比较,得出丢包率。
上述计算丢包率的方法较为简单,但是,只有在较为稳定的网络环境中才能较为准确的反映出网络通信的质量。然而现实中的网络有很多并不是很稳定,会出现较多的带宽波动。比如在有些无线网路中,信号的强度与天气等外界因素有关,受外界因素的影响,传输带宽会发生短时间的波动,使网络传输过程中的丢包数值偏离网络正常通信时的丢包数值。按照上述计算丢包率的方法,无法将带宽波动时突变的丢包率排除在外,导致无法准确的得出丢包率,从而引起对网络通信质量的错误判断,进而无法有效的改善网络传输的质量。
发明内容
本发明的实施例提供一种计算丢包率的方法及装置、控制网络传输的方法及装置,能够在存在网络带宽波动的情况下较准确的计算网络传输丢包率。
为达到上述目的,本发明的实施例提供一种计算丢包率的方法,包括:
计算预定时间范围内的多个时间段的丢包率;
计算每个时间段的丢包率相对于其前一时间段的丢包率的变化率;
判断所述变化率是否在预先设定的第一取值范围以内;
获取所述变化率在预先设定的第一取值范围以内的丢包率,并计算在所述预定时间范围内获取到的丢包率的平均值。
进一步的,在所述计算所述变化率在预先设定的第一取值范围以内的时间段的丢包率的平均值之前,所述方法还包括:
计算所述变化率在预先设定的第一取值范围以内的时间段的个数;
判断所述变化率在预先设定的第一取值范围以内的时间段的个数是否超出预先设定的第二取值范围;
所述计算在所述预定时间范围内获取到的丢包率的平均值为:当所述变化率在预先设定的第一取值范围以内的时间段的个数超出预先设定的第二取值范围时,计算在所述预定时间范围内获取到的丢包率的平均值。
进一步的,所述预定时间范围和所述时间段的选取根据所述变化率在预先设定的第一取值范围以内的时间段的个数确定。
进一步的,当所述变化率超出预先设定的第一取值范围的时间段的个数超出预先设定的第二取值范围时,在每个时间段发送数据帧前,判断前一预定时间范围内对应时间段中计算出的所述变化率是否超出预先设定的第一取值范围;
如果所述变化率超出预先设定的第一取值范围,则将该时间段内发送的数据帧标识为关键帧。
进一步的,可以将所述关键帧拆分成至少两个数据块,并将每个数据块分别编号,分别发送每个数据块,由数据本身的长度以及对应时间段的丢包率计算所述数据块的个数,根据丢包率分配所述数据块的大小;
根据接收端返回的消息,确定并重新发送所述接收端未接收到的数据块。
本发明实施例还提供一种控制网络传输的方法,包括:
计算预定时间范围内的多个时间段的丢包率,其中每个所述预定时间范围包括相同个数的时间段;
计算每个时间段的丢包率相对于其前一时间段的丢包率的变化率;
在每个时间段发送数据帧前,判断前一预定时间范围内对应时间段中计算出的所述变化率是否超出预先设定的第一取值范围;
当所述变化率超出预先设定的第一取值范围时,则将该时间段内发送的数据帧标识为关键帧。
进一步的,在所述在每个时间段发送数据帧前,判断前一预定时间范围内对应时间段中计算出的所述变化率是否超出预先设定的第一取值范围之前,所述方法还包括:
计算所述变化率在预先设定的第一取值范围以内的时间段的个数;
判断所述变化率在预先设定的第一取值范围以内的时间段的个数是否超出预先设定的第二取值范围;
所述在每个时间段发送数据帧前,判断前一预定时间范围内对应时间段中计算出的所述变化率是否超出预先设定的第一取值范围为:当所述变化率超出预先设定的第一取值范围的时间段的个数超出预先设定的第二取值范围时,在每个时间段发送数据帧前,判断前一预定时间范围内对应时间段中计算出的所述变化率是否超出预先设定的第一取值范围。
进一步的,所述方法还包括:
将所述关键帧拆分成至少两个数据块,并将每个数据块分别编号,分别发送每个数据块,由数据本身的长度以及对应时间段的丢包率计算所述数据块的个数,根据丢包率分配所述数据块的大小;
根据接收端返回的消息,确定并重新发送所述接收端未接收到的数据块。
本发明实施例又提供了一种计算丢包率的装置,包括:
第一计算单元,用于计算预定时间范围内的多个时间段的丢包率;
第二计算单元,用于计算每个时间段的丢包率相对于其前一时间段的丢包率的变化率;
第一判断单元,用于判断所述变化率是否在预先设定的取值范围内;
获取单元,用于获取所述变化率在预先设定的第一取值范围以内的丢包率;
第三计算单元,用于计算在所述预定时间范围内获取到的丢包率的平均值。
进一步的,所述计算丢包率的装置还包括:
第四计算单元,用于当所述变化率超出预先设定的第一取值范围时,计算所述变化率超出预先设定的第一取值范围的时间段的个数;
第二判断单元,用于判断所述变化率超出预先设定的第一取值范围的时间段的个数是否在预先设定的第二取值范围以内;
所述第三计算单元计算在所述预定时间范围内获取到的丢包率的平均值为:当所述第二判断单元判断出变化率超出预先设定的第一取值范围的时间段的个数在预先设定的第二取值范围以内时,所述第三计算单元计算在所述预定时间范围内获取到的丢包率的平均值。
进一步的,所述第三计算单元计算在所述预定时间范围内获取到的丢包率的平均值为:所述第三计算单元获取所述变化率在预先设定的第一取值范围以内的丢包率的和,并用所述丢包率的和除以所述变化率在预先设定的第一取值范围以内的丢包率的个数,得到在所述预定时间范围内获取到的丢包率的平均值。
进一步的,所述计算丢包率的装置还包括:
第四计算单元,用于当所述变化率超出预先设定的第一取值范围时,计算所述变化率超出预先设定的第一取值范围的时间段的个数;
第二判断单元,用于判断所述变化率超出预先设定的第一取值范围的时间段的个数是否在预先设定的第二取值范围以内;
所述第三计算单元计算在所述预定时间范围内获取到的丢包率的平均值为:当所述第二判断单元判断出变化率超出预先设定的第一取值范围的时间段的个数在预先设定的第二取值范围以内时,所述第三计算单元计算在所述预定时间范围内获取到的丢包率的平均值。
进一步的,所述计算丢包率的装置还包括:
第三判断单元,用于在每个时间段发送数据帧前,判断前一预定时间范围内对应时间段中计算出的所述变化率是否超出预先设定的第一取值范围;
标识单元,用于当所述变化率超出预先设定的第一取值范围时,将该时间段内发送的数据帧标识为关键帧。
进一步的,所述第三判断单元在每个时间段发送数据帧前,判断前一预定时间范围内对应时间段中计算出的所述变化率是否超出预先设定的第一取值范围为:当所述第二判断单元判断出变化率超出预先设定的第一取值范围的时间段的个数超出预先设定的第二取值范围时,所述第三判断单元在每个时间段发送数据帧前,判断前一预定时间范围内对应时间段中计算出的所述变化率是否超出预先设定的第一取值范围。
进一步的,所述计算丢包率的装置还包括:拆分单元将所述关键帧拆分成至少两个数据块,并将每个数据块分别编号,分别发送每个数据块,由数据本身的长度以及对应时间段的丢包率计算所述数据块的数量,所述数据块的大小根据丢包率分配;
重发单元,用于根据接收端返回的消息,确定所述接收端未接收到的数据块,并重新发送所述。
本发明实施例又提供了一种控制网络传输的装置,包括:
第一计算单元,用于计算预定时间范围内的多个时间段的丢包率,其中每个所述预定时间范围包括相同个数的时间段;
第二计算单元,用于计算每个时间段的丢包率相对于其前一时间段的丢包率的变化率;
第一判断单元,用于在每个时间段发送数据帧前,判断前一预定时间范围内对应时间段中计算出的所述变化率是否超出预先设定的第一取值范围;
标识单元,用于当所述变化率超出预先设定的第一取值范围时,将该时间段内发送的数据帧标识为关键帧。
进一步的,所述控制网络传输的装置还包括:
第三计算单元,用于计算所述变化率在预先设定的第一取值范围以内的时间段的个数;
第二判断单元,用于判断所述变化率在预先设定的第一取值范围以内的时间段的个数是否超出预先设定的第二取值范围;
所述第一判断单元在每个时间段发送数据帧前,判断前一预定时间范围内对应时间段中计算出的所述变化率是否超出预先设定的第一取值范围为:当所述第二判断单元判断出变化率超出预先设定的第一取值范围的时间段的个数超出预先设定的第二取值范围时,所述第一判断单元在每个时间段发送数据帧前,判断前一预定时间范围内对应时间段中计算出的所述变化率是否超出预先设定的第一取值范围。
进一步的,所述控制网络传输的装置还包括:
拆分单元,用于将所述关键帧拆分成至少两个数据块,并将每个数据块分别编号,分别发送每个数据块,由数据本身的长度以及对应时间段的丢包率计算所述数据块的数量,所述数据块的大小根据丢包率分配;
重发单元,用于根据接收端返回的消息,确定所述接收端未接收到的数据块,并重新发送所述。
本发明实施例提供的计算丢包率的方法及装置、控制网络传输的方法及装置,根据需求预先设定待检测的时间范围,并从所述时间范围内选取多个时间段。首先,根据丢包率的变化率判断每个时间段的网络传输是否出现带宽波动,当某个时间段的丢包率的变化率超出预定取值范围时,说明所述时间段内的网络传输出现了带宽波动当某个时间段的丢包率的变化率在预定取值范围以内时,说明所述时间段内的网络传输没有出现带宽波动。
计算所述时间范围的丢包率时,将出现网络带宽波动的时间段的丢包率忽略,只计算未出现网络传输带宽波动的所有时间段的丢包率的平均值,将所述丢包率的平均值作为所述时间范围内的丢包率。
采用本发明实施例提供的计算丢包率的方法及装置计算得出的丢包率,由于计算所述时间范围的丢包率的过程滤除了出现网络带宽波动的时间段的丢包率,使计算得到的所述时间范围的丢包率更接近网络传输无干扰状态时的丢包率。
当某个时间段的带宽出现波动时,将所说时间段要发送的数据帧标识为关键帧,关键帧在发送失败的情况下会自动重新发送,可以降低丢包数,于是能够有效的提高网络传输质量。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例所述计算丢包率的方法的流程图;
图2为本发明实施例所述计算丢包率的方法的优选实施方式的流程图;
图3为本发明实施例所述控制网络传输的方法的流程图;
图4为本发明实施例所述控制网络传输的方法的优选实施方式的流程图;
图5为本发明实施例所述计算丢包率的装置的结构图;
图6为本发明实施例所述计算丢包率的装置的优选实施方式的结构图;
图7为本发明实施例所述控制网络传输的装置的结构图;
图8为本发明实施例所述控制网络传输的装置的优选实施方式的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种计算丢包率的方法,如图1所示,包括如下步骤:
101、根据检测需求预先设定取值的时间范围,从所述时间范围内选择多个时间段,并计算每个时间段的丢包率。
丢包率的计算方法可以通过一个时间段内的丢包数进行计算。即通过接收端返回的信息,读出每个时间段的丢包数,再将所述丢包数与相同时间段内发送端发送的总包数进行比较,得出所述时间段的丢包率。
102、计算出每个时间段的丢包率相对于其前一时间段的丢包率的变化率。
103、根据检测需求,预先设定一个被允许的丢包率变化率的第一取值范围。判断每个时间段的丢包率相对于其前一时间段的丢包率的变化率是否落在预先设定的第一取值范围以内。
当所述丢包率的变化率落在预先设定的第一取值范围以内时,代表被测时间段内的网络传输带宽没有出现不应有的波动;当所述丢包率的变化率超出预先设定的第一取值范围时,代表被测时间段内的网络传输带宽出现了不应有的波动。
104、在所述预定时间范围内,获取丢包率相对于其前一时间段的丢包率的变化率在预先设定的第一取值范围以内的丢包率。
105、计算在所述预定时间范围内获取到的所有丢包率的平均值。
通常,可以采用设计一个低通滤波器的方式,所述低通滤波器能够将网络传输出现突变的部分滤掉,得到比较准确的丢包率。但是,低通滤波器的实现在小型系统或是在嵌入式系统中,耗费资源较大,缺少通用性,并且由于所述低通滤波器将网络传输出现突变的部分滤掉了,会将相应部分的网络传输的数据一同丢掉,造成数据的丢失。
本实施例提供的计算丢包率的方法及装置,根据需求预先设定待检测的时间范围,并从所述时间范围内选取多个时间段。首先,根据丢包率的变化率判断每个时间段的网络传输是否出现带宽波动,当某个时间段的丢包率的变化率超出预定取值范围时,说明所述时间段内的网络传输出现了带宽波动;当某个时间段的丢包率的变化率在预定取值范围以内时,说明所述时间段内的网络传输没有出现带宽波动。计算所述时间范围的丢包率时,将出现网络带宽波动的时间段的丢包率忽略,只计算未出现网络传输带宽波动性变化的所有时间段的丢包率的平均值,将所述丢包率的平均值作为所述时间范围内的丢包率。
采用本实施例提供的计算丢包率的方法及装置计算得出的丢包率,由于计算所述时间范围的丢包率的过程滤除了出现网络带宽波动的时间段的丢包率,使计算得到的所述时间范围的丢包率更接近网络传输无干扰状态时的丢包率。
作为本实施例的一种改进的实施方式,本发明实施例提供了另一种计算丢包率的方法,如图2所示,包括如下步骤:
201、根据检测需求预先设定取值的时间范围,从所述时间范围内选择多个时间段,并计算每个时间段的丢包率。
为了清楚的说明本实施例所述的计算丢包率的方法,下面举例说明,预先设定时间范围T,并从所述时间范围T内选取十个时间段,{t1,t2,t3,t4,t5,t6,t7,t8,t9,t10}。
作为本实施例的优选实施方式,所述预定时间范围和所述时间段的选取根据所述变化率在预先设定的第一取值范围以内的时间段的个数确定。具体有以下几种方式:
1.根据所述变化率在预先设定的第一取值范围以内的时间段的个数,判断对应预定时间范围的网络传输状态的好与坏,如果连续10段时间内都是网络状况较好的情况,则从下一预定时间范围开始,无需计算每个预定时间范围内的丢包率,每隔一个预定时间范围计算一次丢包率即可,以节省系统资源。
2.如果网络传输状态一直较好,可以少采集些丢包率的样本值,所述预定时间范围内的时间段的长度可以逐渐增大。比如,所述预定时间范围为60秒,平均分成10份,其中每一份为一个时间段,即6秒。如果网络传输状态一直较好,则在下一个预定时间范围内,可以把所述预定时间范围平均分成5份,其中每一份为一个时间段,即12秒。
但是,所述时间段的最大取值不会超出预先设定的预定时间范围的一半。即所述时间段的长度不会超过30秒。
3.如果网络传输状态一直较差,所述预定时间范围内的时间段的长度可以逐渐减小,尽量多的提供网络的变化情况。比如,所述预定时间范围为60秒,平均分成10份,其中每一份为一个时间段,即6秒。如果网络传输状态一直较差,则在下一个预定时间范围内,可以把所述预定时间范围平均分成20份,其中每一份为一个时间段,即3秒。
根据检测的需求,这里的时间范围T是可以调节的。如果需要很频繁的丢包率的反馈,那么这个时间范围可以取得短一些,反之,则这个时间范围可以取得长一些。当这个时间取得比较长的时候,需要计算的次数就比较多,对资源的要求就比较高。
所述时间段t的选取也可以根据检测的需求而定。可以将所述时间范围T等分成多个时间段,将每个时间段作为计算用的t时间段;也可以从所有等分时间段中选择一部分作为计算用的时间段t。
丢包率的计算方法可以通过一个时间段内的丢包数进行计算。即通过接收端返回的信息,读出每个时间段的丢包数,再将所述丢包数与相同时间段内发送端发送的总包数进行比较,得出所述时间段的丢包率。
首先,假设在t1时间段内发送方总共发送的报文数为m1,接收到的反馈信息中的丢包数为n1,由此我们得出t1时间段的丢包率λ1=n1/m1。同样的,我们可以得出在下一个时间段t2里面,丢包率为λ2=n2/m2.。
根据上述方法计算得出十个时间段对应的丢包率为:{λ1,λ2,λ3,λ4,λ5,λ6,λ7,λ8,λ9,λ10}。
202、计算出每个时间段的丢包率相对于其前一时间段的丢包率的变化率。
作为本步骤的优选的实施方式,所述变化率的计算方法为:计算前后相邻两个时间段的丢包率的差值的绝对值,并用所述差值的绝对值除以前一时间段的丢包率,得到后一时间段的丢包率相对于其前一时间段的丢包率的变化率。
设λ2相对于λ1的变化率为a1,按照上述计算方法,则a1=λ2-λ1/λ1。
本步骤所述变化率的计算方法还可以有其它的方式,比如a1=λ2-λ1或者a1=λ2-λ1/λ2。
203、根据检测需求,预先设定一个代表丢包率变化率的第一取值范围。判断每个时间段的丢包率相对于其前一时间段的丢包率的变化率是否落在预先设定的第一取值范围以内。当一个时间段的丢包率相对于其前一时间段的丢包率的变化率落在预先设定的第一取值范围以内时,执行204,否则,流程结束。
当所述丢包率的变化率落在预先设定的第一取值范围以内时,代表被测时间段内的网络传输带宽没有出现不应有的波动;当所述丢包率的变化率超出预先设定的第一取值范围时,代表被测时间段内的网络传输带宽出现了不应有的波动。
因为网络的稳定程度是随着不同的网络类型以及网络通信的环境而不同的。所以,所述第一取值范围是可以调整的。具体的调整方法需要根据实际情况而定。在网络传输带宽波动比较大,或是带宽波动比较频繁时,所述第一取值范围的取值可以适当取较宽一些。
例如,当我们认为网络可能非常不稳定时,每个时间段的丢包率相对于其前一时间段的丢包率的变化率到达40%时,仍然认为网络是正常的波动,不是偶然的、突发的波动。那么所述第一取值范围就可以设为。再比如说,当网络情况比较稳定的时候,所述第一取值范围可以取较小些。例如,当每个时间段的丢包率相对于其前一时间段的丢包率的变化率小于15%时,我们认为出现了不应当出现的波动,那么我们就可以将所述第一取值范围定为。这里假设所述第一取值范围为:,即当每个时间段的丢包率相对于其前一时间段的丢包率的变化率超过20%时,就认为网络传输出现了不应有的波动。
204、获取丢包率相对于其前一时间段的丢包率的变化率在预先设定的第一取值范围以内的丢包率。
获取λ1、λ2、λ3、λ4、λ5、λ6、λ7、λ8、λ9、λ10中相对于其前一时间段的丢包率的变化率在预先设定的第一取值范围以内的丢包率。
比如获取得到λ4、λ5、λ6、λ8、λ9、λ10为相对于其前一时间段的丢包率的变化率在预先设定的第一取值范围以内的丢包率。即计算得到的λ4、λ5、λ6、λ8、λ9、λ10相对于其前一时间段的丢包率的变化率均在以内。
205、计算所述变化率在预先设定的第一取值范围以内的时间段的个数。本实施例中所述变化率在预先设定的第一取值范围以内的时间段λ4、λ5、λ6、λ8、λ9、λ10的个数为六个。
判断所述变化率超出预先设定的第一取值范围以内的时间段的个数是否超出预先设定的第二取值范围。当所述变化率在预先设定的第一取值范围以内的时间段的个数超出预先设定的第二取值范围时,执行207。当所述变化率在预先设定的第一取值范围以内的时间段的个数在预先设定的第二取值范围时,执行208。
本实施例中所述变化率超出预先设定的第一取值范围的时间段的个数为四个,没有超出所述第二取值范围。
207、计算在所述预定时间范围内获取到的所有丢包率的平均值。
设所述预定时间范围内获取到的所有丢包率的平均值为λ,则λ=(λ4+λ5+λ6+λ8+λ9+λ10)/6。
在计算所述预定时间范围内的丢包率前,先判断变化率在预先设定的第一取值范围以内的时间段的个数是否在所述第二取值范围以内。当变化率在预先设定的第一取值范围以内的时间段的个数超出所述第二取值范围时,所述时间范围的时间段网路传输带宽波动次数太多,也就是说,可以代表网络正常传输状态的时间段个数太少,不能代表所述预定时间范围内的丢包率,计算已经没有意义。
本发明实施例提供的计算丢包率的方法,根据需求预先设定待检测的时间范围,并从所述时间范围内选取多个时间段。首先,根据丢包率的变化率判断每个时间段的网络传输是否出现带宽波动性变化,当某个时间段的丢包率的变化率超出预定取值范围时,说明所述时间段内的网络传输出现了带宽波动;当某个时间段的丢包率的变化率在预定取值范围以内时,说明所述时间段内的网络传输没有出现带宽波动。计算所述时间范围的丢包率时,将出现网络带宽波动时间段的丢包率忽略,只计算未出现网络传输带宽波动的所有时间段的丢包率的平均值,将所述丢包率的平均值作为所述时间范围内的丢包率。
采用本发明实施例提供的计算丢包率的方法计算得出的丢包率,由于计算所述时间范围的丢包率的过程滤除了出现网络带宽波动的时间段的丢包率,使计算得到的所述时间范围的丢包率更接近网络传输无干扰状态时的丢包率。
本发明实施例提供了一种控制网络传输的方法,如图3所示,包括:
301、根据检测需求预先设定取值的时间范围,从所述时间范围内选择多个时间段,并计算每个时间段的丢包率,其中,每个预定时间范围包括相同个数的时间段。
为了清楚的说明本实施例所述的计算丢包率的方法,下面举例说明,预先设定时间范围T,并从所述时间范围T内选取十个时间段,{t1,t2,t3,t4,t5,t6,t7,t8,t9,t10}。
根据得出的丢包率,如果连续10段时间内都是网络状况较好的情况,从下一时间间隔开始,将每隔一时间间隔计算一次平均丢包率,以节省系统资源。如果网络一直较好,最大时间间隔不会超出预先设定的最大时间间隔的一半。即如果预先最大时间间隔为1分钟,那么时间间隔将不会30秒。
如果连续10段时间内都是网络状况较差的情况,从下一时间间隔开始,时间段的长短将会降低为原时间段长短的一半,尽量多的提供网络的变化情况。
根据检测的需求,这里的时间范围T是可以调节的。如果需要很频繁的丢包率的反馈,那么这个时间范围可以取得短一些,反之,则这个时间范围可以取得长一些。当这个时间取得比较长的时候,需要计算的次数就比较多,对资源的要求就比较高。
所述时间段t的选取也可以根据检测的需求而定。可以将所述时间范围T等分成多个时间段,将每个时间段作为计算用的t时间段;也可以从所有等分时间段中选择一部分作为计算用的时间段t。
丢包率的计算方法可以通过一个时间段内的丢包数进行计算。即通过接收端返回的信息,读出每个时间段的丢包数,再将所述丢包数与相同时间段内发送端发送的总包数进行比较,得出所述时间段的丢包率。
首先,假设在t1时间段内发送方总共发送的报文数为m1,接收到的反馈信息中的丢包数为n1,由此我们得出t1时间段的丢包率λ1=n1/m1。同样的,我们可以得出在下一个时间段t2里面,丢包率为λ2=n2/m2.。
根据上述方法计算得出十个时间段对应的丢包率为:{λ1,λ2,λ3,λ4,λ5,λ6,λ7,λ8,λ9,λ10}。
302、计算每个时间段的丢包率相对于其前一时间段的丢包率的变化率。
303、为了改善出现带宽波动的时间段的网络传输质量,将每个所述预定时间范围选取相同个数并一一对应的时间段。在每个时间段发送数据帧前,判断前一预定时间范围内对应时间段中计算出的所述变化率是否超出预先设定的第一取值范围。
当所述丢包率的变化率落在预先设定的第一取值范围以内时,代表被测时间段内的网络传输带宽没有出现不应有的波动;当所述丢包率的变化率超出预先设定的第一取值范围时,代表被测时间段内的网络传输带宽出现了不应有的波动。
304、如果前一预定时间范围内对应时间段中计算出的变化率超出预先设定的第一取值范围,则将该时间段内发送的数据帧标识为关键帧。
本实施例所述的控制网络传输的方法,根据计算出的前一预定时间范围内的丢包率的变化规律,决定数据帧的发送方式,在网络传输发生带宽波动时,将要发送的数据帧标识为关键帧,关键帧在发送失败的情况下会自动重新发送,降低丢包率。能够在网络传输带宽突变时,减少数据的发送量和数据包的丢失。
按照该方法不断地处理将要发送的数据,就可以实现不停的预测网络传输带宽变化的情况,及时的更改数据的发送方式,直到网络带宽波动消失。
作为本实施例的一种改进,本发明提供了另一种控制网络传输的方法,如图4所示,包括:
401、根据检测需求预先设定取值的时间范围,从所述时间范围内选择多个时间段,其中每个所述预定时间范围包括相同个数的时间段,并计算每个时间段的丢包率。
丢包率的计算方法可以通过一个时间段内的丢包数进行计算。即通过接收端返回的信息,读出每个时间段的丢包数,再将所述丢包数与相同时间段内发送端发送的总包数进行比较,得出所述时间段的丢包率。
作为本实施例的优选实施方式,所述预定时间范围和所述时间段的选取根据所述变化率在预先设定的第一取值范围以内的时间段的个数确定。具体有以下几种方式:
1.根据所述变化率在预先设定的第一取值范围以内的时间段的个数,判断对应预定时间范围的网络传输状态的好与坏,如果连续10段时间内都是网络状况较好的情况,则从下一预定时间范围开始,无需计算每个预定时间范围内的丢包率,每隔一个预定时间范围计算一次丢包率即可,以节省系统资源。
2.如果网络传输状态一直较好,可以少采集些丢包率的样本值,所述预定时间范围内的时间段的长度可以逐渐增大。比如,所述预定时间范围为60秒,平均分成10份,其中每一份为一个时间段,即6秒。如果网络传输状态一直较好,则在下一个预定时间范围内,可以把所述预定时间范围平均分成5份,其中每一份为一个时间段,即12秒。
但是,所述时间段的最大取值不会超出预先设定的预定时间范围的一半。即所述时间段的长度不会超过30秒。
3.如果网络传输状态一直较差,所述预定时间范围内的时间段的长度可以逐渐减小,尽量多的提供网络的变化情况。比如,所述预定时间范围为60秒,平均分成10份,其中每一份为一个时间段,即6秒。如果网络传输状态一直较差,则在下一个预定时间范围内,可以把所述预定时间范围平均分成20份,其中每一份为一个时间段,即3秒。
402、计算出每个时间段的丢包率相对于其前一时间段的丢包率的变化率。
作为本步骤的优选的实施方式,所述变化率的计算方法为:计算前后相邻两个时间段的丢包率的差值的绝对值,并用所述差值的绝对值除以前一时间段的丢包率,得到后一时间段的丢包率相对于其前一时间段的丢包率的变化率。
设λ2相对于λ1的变化率为a1,按照上述计算方法,则a1=λ2-λ1/λ1。
本步骤所述变化率的计算方法还可以有其它的方式,比如a1=λ2-λ1或者a1=λ2-λ1/λ2。
403、计算所述变化率在预先设定的第一取值范围以内的时间段的个数。本实施例中设所述变化率在预先设定的第一取值范围以内的时间段λ4、λ5、λ6、λ8的个数为四个。
根据检测需求,预先设定一个代表丢包率变化率的第一取值范围。判断每个时间段的丢包率相对于其前一时间段的丢包率的变化率是否落在预先设定的第一取值范围以内。
当所述丢包率的变化率落在预先设定的第一取值范围以内时,代表被测时间段内的网络传输带宽没有出现不应有的波动;当所述丢包率的变化率超出预先设定的第一取值范围时,代表被测时间段内的网络传输带宽出现了不应有的波动。
因为网络的稳定程度是随着不同的网络类型以及网络通信的环境而不同的。所以,所述第一取值范围是可以调整的。具体的调整方法需要根据实际情况而定。在网络传输带宽波动比较大,或是带宽波动比较频繁时,所述第一取值范围的取值可以适当取较宽一些。
例如,当我们认为网络可能非常不稳定时,每个时间段的丢包率相对于其前一时间段的丢包率的变化率到达40%时,仍然认为网络是正常的波动,不是偶然的、突发的波动。那么所述第一取值范围就可以设为。再比如说,当网络情况比较稳定的时候,所述第一取值范围可以取较小些。例如,当每个时间段的丢包率相对于其前一时间段的丢包率的变化率小于15%时,我们认为出现了不应当出现的波动,那么我们就可以将所述第一取值范围定为。这里假设所述第一取值范围为:,即当每个时间段的丢包率相对于其前一时间段的丢包率的变化率超过20%时,就认为网络传输出现了不应有的波动。
404、判断所述变化率在预先设定的第一取值范围以内的时间段的个数是否超出预先设定的第二取值范围。
判断所述变化率超出预先设定的第一取值范围以内的时间段的个数是否超出预先设定的第二取值范围。当所述变化率在预先设定的第一取值范围以内的时间段的个数在预先设定的第二取值范围以内时,执行405,否则流程结束。
本实施例中所述变化率超出预先设定的第一取值范围的时间段的个数为六个,已经超出所述第二取值范围。
本步骤在执行过程中还是要占用一定的网络资源,在计算所述预定时间范围内的丢包率前,先判断变化率在预先设定的第一取值范围以内的时间段的个数是否在所述第二取值范围以内。当变化率在预先设定的第一取值范围以内的时间段的个数超出所述第二取值范围时,所述时间范围的时间段网路传输带宽波动次数较少,也就是说,可以认为所述时间范围内网路传输的波动为正常的波动,不影响网络传输整体的质量,可以忽略。
405、为了改善出现带宽波动的时间段的网络传输质量,在每个时间段发送数据帧前,判断前一预定时间范围内对应时间段中计算出的所述变化率是否超出预先设定的第一取值范围。
当所述丢包率的变化率落在预先设定的第一取值范围以内时,代表被测时间段内的网络传输带宽没有出现不应有的波动;当所述丢包率的变化率超出预先设定的第一取值范围时,代表被测时间段内的网络传输带宽出现了不应有的波动。
作为实现判断前一预定时间范围内对应时间段中计算出的所述变化率是否超出预先设定的第一取值范围的一种方式,可以通过构建代表每个预定时间范围网络传输带宽变化规律的数组,{X1,X2,X3,X4,X5,X6,X7,X8,X9,X10},其中,Xn代表每个时间段内网络传输带宽是否波动,该数组可以作为决定下一预定时间范围内数据发送的方式。以及发生波动时计算的丢包率的数组{Y1,Y2,Y3,Y4,Y5,Y6},该数组可以作为决定关键帧数据的分包数量。
406、如果前一预定时间范围内对应时间段中计算出的变化率超出预先设定的第一取值范围,则将该时间段内发送的数据帧标识为关键帧。
由于短时间内的网络传输带宽变化会存在一个很大的相似性,所以将要发送的数据按照其前一预定时间范围内的网络传输带宽变化规律进行发送。发送规则如下:在发送t2时间段的数据之前,判断其前一预定时间范围内与t2对应的时间段的丢包率相对于其前一时间段的丢包率的变化率是否在所述第一取值范围以内,也就是判断其前一预定时间范围内与t2对应的时间段内网络传输带宽是否发生突变。如果前一预定时间范围内与t2对应的时间段内网络传输带宽未出现突变,那么将与t2时间段要发送的数据按照网络传输正常的数据量以及速率进行发送;如果前一预定时间范围内与t2对应的时间段内网络传输带宽出现了突变,这时需要将t2时间段要发送的数据按照关键帧的发送方式,以应对网络传输的带宽波动,发送数据前,对数据帧进行标识为关键帧,并将关键帧的序号写入发送数据包内。
407、将所述关键帧拆分成至少两个数据块,并将每个数据块分别编号,分别发送每个数据块。
为了进一步减少数据包的丢失,还可以改变数据帧的长度,将数据拆分成多个数据块,将每个数据块分别发送给接收端,接收端在接收到该数据帧的所有数据块后,将所有数据块根据编号重新组合成所需要的一帧数据。
例如,将关键帧分为N1、N2、N3这3个数据块,然后再将N1、N2、N3这3组数据分别发送到接收端,假设这3组数据均是预测为网络传输带宽突变时要发送的数据,然后在接收端根据编号重新将数据块N1、N2、N3组合为完整的关键帧。这样,在网络传输带宽突变时,可以尽量减少数据的发送量,以降低数据包的丢失。
数据帧的分块方式采用如下算法:
将波动时对应时刻的丢包率计算平均值,与关键帧要发送数据的长度相比较,得出分包数量。同时按照丢包率的权重,计算不同数据块的长度信息。
例如,上一时刻数组{X1,X2,X3,X4,X5,X6,X7,X8,X9,X10}表示前六个均为波动值,超出了第二取值范围。那么将该6个时刻的丢包率数组{Y1,Y2,Y3,Y4,Y5,Y6}计算平均值,为Y。
如果数据包的长度超过512个字节,那么将报文均分为不大于512个字节的几部分。(因为最大报文数量与网络类型有关,以太帧最大在1500字节左右)并对每部分按照数据包小于512字节部分采取相应处理方式。
如果数据包的长度小于512个字节,采用以下计算数据块的数量:
(1/(1-Y))*(要发送数据包长度/长度限定值)。
这里的长度限定值有实际使用中确定,一般在200左右即可,但要大于该类型网络可发送的最小的数据包大小。
假如计算出的结果为非整数值,去掉小数部分,再加1即可。
这里假设取值为3。将关键帧分为N1、N2、N3这3个数据块发送。那么每块数据块的长度为:
该时刻的丢包率比上3个时刻的丢包率之和,再乘以数据包的总长度。
接收端如果未接收到完整的数据帧,则可以根据接收到的数据块序号,确定未接收到的数据块,及时反馈给发送端,由发送端进一步重新发送相应的数据块。
本实施例所述的控制网络传输的方法,根据计算出的前一预定时间范围内的丢包率的变化规律,决定数据帧的发送方式,在网络传输发生带宽波动时,将要发送的数据帧标识为关键帧,关键帧在发送失败的情况下会自动重新发送;或者进一步将所述关键帧拆分成多个数据块进行发送,能够在网络传输带宽突变时,减少数据的发送量和数据包的丢失。
按照该方法不断地处理将要发送的数据,就可以实现不停的预测网络传输带宽变化的情况,及时的更改数据的发送方式,直到网络带宽波动消失。
本发明实施例提供了一种计算丢包率的装置,如图5所示,包括:第一计算单元51、第二计算单元52、第一判断单元53、获取单元54、第三计算单元55。
其中,所述第一计算单元51根据检测需求预先设定取值的时间范围,从所述时间范围内选择多个时间段,并计算每个时间段的丢包率,所述第二计算单元52计算每个时间段的丢包率相对于其前一时间段的丢包率的变化率,在得到所述变化率后,所述第一判断单元53判断所述变化率是否在预先设定的取值范围以内,所述获取单元54获取所述变化率在预先设定的第一取值范围以内的丢包率,所述第三计算单元55计算在所述预定时间范围内获取到的丢包率的平均值。
本发明实施例提供的计算丢包率的装置,根据需求预先设定待检测的时间范围,并从所述时间范围内选取多个时间段。首先,根据丢包率的变化率判断每个时间段的网络传输是否出现带宽波动,当某个时间段的丢包率的变化率超出预定取值范围时,说明所述时间段内的网络传输出现了带宽波动;当某个时间段的丢包率的变化率在预定取值范围以内时,说明所述时间段内的网络传输没有出现带宽波动。计算所述时间范围的丢包率时,将出现网络带宽波动的时间段的丢包率忽略,只计算未出现网络传输带宽波动的所有时间段的丢包率的平均值,将所述丢包率的平均值作为所述时间范围内的丢包率。
采用本发明实施例提供的计算丢包率的装置计算得出的丢包率,由于计算所述时间范围的丢包率的过程忽略了出现网络带宽波动的时间段的丢包率,使计算得到的所述时间范围的丢包率更接近网络传输无干扰状态时的丢包率。
作为本实施例的优选的实施方式,所述第二计算单元52计算每个时间段的丢包率相对于其前一时间段的丢包率的变化率可以为:所述第二计算单元52计算前后相邻两个时间段的丢包率的差值的绝对值,并用所述差值的绝对值除以前一时间段的丢包率,得到后一时间段的丢包率相对于其前一时间段的丢包率的变化率。
假设在t1时间段内发送方总共发送的报文数为m1,接收到的反馈信息中的丢包数为n1,由此我们得出t1时间段的丢包率λ1=n1/m1。同样的,我们可以得出在下一个时间段t2里面,丢包率为λ2=n2/m2.。设λ2相对于λ1的变化率为a1,按照上述计算方法,则a1=|λ2-λ1|/λ1。
作为本实施例的另一种优选的实施方式,所述第三计算单元55计算在所述预定时间范围内获取到的丢包率的平均值可以为:所述第三计算单元55获取所述变化率在预先设定的第一取值范围以内的丢包率的和,并用所述丢包率的和除以所述变化率在预先设定的第一取值范围以内的丢包率的个数,得到在所述预定时间范围内获取到的丢包率的平均值。
获取λ1、λ2、λ3、λ4、λ5、λ6、λ7、λ8、λ9、λ10中相对于其前一时间段的丢包率的变化率在预先设定的第一取值范围以内的丢包率。比如获取得到λ4、λ5、λ6、λ8、λ9、λ10为相对于其前一时间段的丢包率的变化率在预先设定的第一取值范围以内的丢包率。即计算得到的λ4、λ5、λ6、λ8、λ9、λ10相对于其前一时间段的丢包率的变化率均在以内。
设所述预定时间范围内获取到的所有丢包率的平均值为λ,则λ=(λ4+λ5+λ6+λ8+λ9+λ10)/6。
作为本实施例的一种改进,本发明实施例提供了另一种计算丢包率的装置,如图6所示,包括:第一计算单元61、第二计算单元62、第一判断单元63、获取单元64、第四计算单元65、第二判断单元66、第三计算单元67。
其中,所述第一计算单元61根据检测需求预先设定取值的时间范围,并从所述时间范围内选择多个时间段,并计算每个时间段的丢包率,所述第二计算单元62计算每个时间段的丢包率相对于其前一时间段的丢包率的变化率,在得到所述变化率后,所述第一判断单元63判断所述变化率是否在预先设定的取值范围内,所述获取单元64获取所述变化率在预先设定的第一取值范围以内的丢包率。
所述第四计算单元65计算所述变化率超出预先设定的第一取值范围的时间段的个数。
所述第二判断单元66判断所述变化率超出预先设定的第一取值范围的时间段的个数是否在预先设定的第二取值范围以内。
当所述第二判断单元66判断出变化率超出预先设定的第一取值范围的时间段的个数在预先设定的第二取值范围以内时,所述第三计算单元67计算在所述预定时间范围内获取到的丢包率的平均值。
作为本实施例的优选实施方式,所述预定时间范围和所述时间段的选取根据所述变化率在预先设定的第一取值范围以内的时间段的个数确定。具体有以下几种方式:
1.根据所述变化率在预先设定的第一取值范围以内的时间段的个数,判断对应预定时间范围的网络传输状态的好与坏,如果连续10段时间内都是网络状况较好的情况,则从下一预定时间范围开始,无需计算每个预定时间范围内的丢包率,每隔一个预定时间范围计算一次丢包率即可,以节省系统资源。
2.如果网络传输状态一直较好,可以少采集些丢包率的样本值,所述预定时间范围内的时间段的长度可以逐渐增大。比如,所述预定时间范围为60秒,平均分成10份,其中每一份为一个时间段,即6秒。如果网络传输状态一直较好,则在下一个预定时间范围内,可以把所述预定时间范围平均分成5份,其中每一份为一个时间段,即12秒。
但是,所述时间段的最大取值不会超出预先设定的预定时间范围的一半。即所述时间段的长度不会超过30秒。
3.如果网络传输状态一直较差,所述预定时间范围内的时间段的长度可以逐渐减小,尽量多的提供网络的变化情况。比如,所述预定时间范围为60秒,平均分成10份,其中每一份为一个时间段,即6秒。如果网络传输状态一直较差,则在下一个预定时间范围内,可以把所述预定时间范围平均分成20份,其中每一份为一个时间段,即3秒。
本发明实施例提供的计算丢包率的装置,根据需求预先设定待检测的时间范围,并从所述时间范围内选取多个时间段。首先,根据丢包率的变化率判断每个时间段的网络传输是否出现带宽波动,当某个时间段的丢包率的变化率超出预定取值范围时,说明所述时间段内的网络传输出现了带宽波动;当某个时间段的丢包率的变化率在预定取值范围以内时,说明所述时间段内的网络传输没有出现带宽波动。计算所述时间范围的丢包率时,将出现网络带宽波动的时间段的丢包率忽略,只计算未出现网络传输带宽波动的所有时间段的丢包率的平均值,将所述丢包率的平均值作为所述时间范围内的丢包率。
并且根据计算出的前一预定时间范围内的丢包率的变化规律,决定数据帧的发送方式,在网络传输发生带宽波动时,将要发送的数据帧标识为关键帧,或者将所述关键帧拆分成多个数据块进行发送,能够在网络传输带宽突变时,减少数据的发送量和数据包的丢失。
采用本发明实施例提供的计算丢包率的装置计算得出的丢包率,由于计算所述时间范围的丢包率的过程忽略了出现网络带宽波动的时间段的丢包率,使计算得到的所述时间范围的丢包率更接近网络传输无干扰状态时的丢包率。
本发明实施例提供了一种控制网络传输的装置,如图7所示,包括:第一计算单元71、第二计算单元72、第一判断单元73、标识单元74。
其中,所述第一计算单元71计算预定时间范围内的多个时间段的丢包率,其中每个所述预定时间范围包括相同个数的时间段,所述第二计算单元72计算每个时间段的丢包率相对于其前一时间段的丢包率的变化率,在每个时间段发送数据帧前,所述第一判断单元73判断前一预定时间范围内对应时间段中计算出的所述变化率是否超出预先设定的第一取值范围,当所述变化率超出预先设定的第一取值范围时,所述标识单元74将该时间段内发送的数据帧标识为关键帧。
本实施例所述的控制网络传输的装置,根据计算出的前一预定时间范围内的丢包率的变化规律,决定数据帧的发送方式,在网络传输发生带宽波动时,将要发送的数据帧标识为关键帧,关键帧在发送失败的情况下会自动重新发送,降低丢包率。能够在网络传输带宽突变时,减少数据的发送量和数据包的丢失。
按照该方法不断地处理将要发送的数据,就可以实现不停的预测网络传输带宽变化的情况,及时的更改数据的发送方式,直到网络带宽波动消失。
作为本实施例的一种改进,本发明实施例提供了另一种控制网络传输的装置,如图8所示,包括:第一计算单元81、第二计算单元82、第三计算单83、第二判断单元84、元第一判断单元85、标识单元86、拆分单元87、重发单元88。
其中,所述第一计算单元81计算预定时间范围内的多个时间段的丢包率,其中每个所述预定时间范围包括相同个数的时间段,所述第二计算单元82计算每个时间段的丢包率相对于其前一时间段的丢包率的变化率,所述第三计算单83计算所述变化率在预先设定的第一取值范围以内的时间段的个数;所述第二判断单元84判断所述变化率在预先设定的第一取值范围以内的时间段的个数是否超出预先设定的第二取值范围;
当所述第二判断单元84判断出变化率超出预先设定的第一取值范围的时间段的个数超出预先设定的第二取值范围时,在每个时间段发送数据帧前,所述第一判断单元85判断前一预定时间范围内对应时间段中计算出的所述变化率是否超出预先设定的第一取值范围。
当所述变化率超出预先设定的第一取值范围时,所述标识单元74将该时间段内发送的数据帧标识为关键帧。
所述拆分单元87将所述关键帧拆分成至少两个数据块,并将每个数据块分别编号,分别发送每个数据块,由数据本身的长度以及对应时间段的丢包率计算所述数据块的数量,所述数据块的大小根据丢包率分配;
重发单元88根据接收端返回的消息,确定所述接收端未接收到的数据块,并重新发送所述。
作为本实施例的优选实施方式,所述预定时间范围和所述时间段的选取根据所述变化率在预先设定的第一取值范围以内的时间段的个数确定。具体有以下几种方式:
1.根据所述变化率在预先设定的第一取值范围以内的时间段的个数,判断对应预定时间范围的网络传输状态的好与坏,如果连续10段时间内都是网络状况较好的情况,则从下一预定时间范围开始,无需计算每个预定时间范围内的丢包率,每隔一个预定时间范围计算一次丢包率即可,以节省系统资源。
2.如果网络传输状态一直较好,可以少采集些丢包率的样本值,所述预定时间范围内的时间段的长度可以逐渐增大。比如,所述预定时间范围为60秒,平均分成10份,其中每一份为一个时间段,即6秒。如果网络传输状态一直较好,则在下一个预定时间范围内,可以把所述预定时间范围平均分成5份,其中每一份为一个时间段,即12秒。
但是,所述时间段的最大取值不会超出预先设定的预定时间范围的一半。即所述时间段的长度不会超过30秒。
3.如果网络传输状态一直较差,所述预定时间范围内的时间段的长度可以逐渐减小,尽量多的提供网络的变化情况。比如,所述预定时间范围为60秒,平均分成10份,其中每一份为一个时间段,即6秒。如果网络传输状态一直较差,则在下一个预定时间范围内,可以把所述预定时间范围平均分成20份,其中每一份为一个时间段,即3秒。
本实施例所述的控制网络传输的方法,根据计算出的前一预定时间范围内的丢包率的变化规律,决定数据帧的发送方式,在网络传输发生带宽波动时,将要发送的数据帧标识为关键帧,关键帧在发送失败的情况下会自动重新发送;或者进一步将所述关键帧拆分成多个数据块进行发送,能够在网络传输带宽突变时,减少数据的发送量和数据包的丢失。
按照该方法不断地处理将要发送的数据,就可以实现不停的预测网络传输带宽变化的情况,及时的更改数据的发送方式,直到网络带宽波动消失。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种计算丢包率的方法,其特征在于,包括:
计算预定时间范围内的多个时间段的丢包率;
计算每个时间段的丢包率相对于其前一时间段的丢包率的变化率;
判断所述变化率是否在预先设定的第一取值范围以内;
获取所述变化率在预先设定的第一取值范围以内的丢包率,并计算在所述预定时间范围内获取到的丢包率的平均值。
2.根据权利要求1所述的计算丢包率的方法,其特征在于,在所述计算所述变化率在预先设定的第一取值范围以内的时间段的丢包率的平均值之前,所述方法还包括:
计算所述变化率在预先设定的第一取值范围以内的时间段的个数;
判断所述变化率在预先设定的第一取值范围以内的时间段的个数是否超出预先设定的第二取值范围;
所述计算在所述预定时间范围内获取到的丢包率的平均值为:当所述变化率在预先设定的第一取值范围以内的时间段的个数超出预先设定的第二取值范围时,计算在所述预定时间范围内获取到的丢包率的平均值。
3.一种控制网络传输的方法,其特征在于,包括:
计算预定时间范围内的多个时间段的丢包率,其中每个所述预定时间范围包括相同个数的时间段;
计算每个时间段的丢包率相对于其前一时间段的丢包率的变化率;
在每个时间段发送数据帧前,判断前一预定时间范围内对应时间段中计算出的所述变化率是否超出预先设定的第一取值范围;
当所述变化率超出预先设定的第一取值范围时,则将该时间段内发送的数据帧标识为关键帧。
4.根据权利要求3所述的控制网络传输的方法,其特征在于,在所述在每个时间段发送数据帧前,判断前一预定时间范围内对应时间段中计算出的所述变化率是否超出预先设定的第一取值范围之前,所述方法还包括:
计算所述变化率在预先设定的第一取值范围以内的时间段的个数;
判断所述变化率在预先设定的第一取值范围以内的时间段的个数是否超出预先设定的第二取值范围;
所述在每个时间段发送数据帧前,判断前一预定时间范围内对应时间段中计算出的所述变化率是否超出预先设定的第一取值范围为:当所述变化率超出预先设定的第一取值范围的时间段的个数超出预先设定的第二取值范围时,在每个时间段发送数据帧前,判断前一预定时间范围内对应时间段中计算出的所述变化率是否超出预先设定的第一取值范围。
5.根据权利要求3或4所述的控制网络传输的方法,其特征在于,所述方法还包括:
将所述关键帧拆分成至少两个数据块,并将每个数据块分别编号,分别发送每个数据块,由数据本身的长度以及对应时间段的丢包率计算所述数据块的个数,根据丢包率分配所述数据块的大小;
根据接收端返回的消息,确定并重新发送所述接收端未接收到的数据块。
6.一种计算丢包率的装置,其特征在于,包括:
第一计算单元,用于计算预定时间范围内的多个时间段的丢包率;
第二计算单元,用于计算每个时间段的丢包率相对于其前一时间段的丢包率的变化率;
第一判断单元,用于判断所述变化率是否在预先设定的取值范围内;
获取单元,用于获取所述变化率在预先设定的第一取值范围以内的丢包率;
第三计算单元,用于计算在所述预定时间范围内获取到的丢包率的平均值。
7.根据权利要求6所述的计算丢包率的装置,其特征在于,所述计算丢包率的装置还包括:
第四计算单元,用于当所述变化率超出预先设定的第一取值范围时,计算所述变化率超出预先设定的第一取值范围的时间段的个数;
第二判断单元,用于判断所述变化率超出预先设定的第一取值范围的时间段的个数是否在预先设定的第二取值范围以内;
所述第三计算单元计算在所述预定时间范围内获取到的丢包率的平均值为:当所述第二判断单元判断出变化率超出预先设定的第一取值范围的时间段的个数在预先设定的第二取值范围以内时,所述第三计算单元计算在所述预定时间范围内获取到的丢包率的平均值。
8.一种控制网络传输的装置,其特征在于,包括:
第一计算单元,用于计算预定时间范围内的多个时间段的丢包率,其中每个所述预定时间范围包括相同个数的时间段;
第二计算单元,用于计算每个时间段的丢包率相对于其前一时间段的丢包率的变化率;
第一判断单元,用于在每个时间段发送数据帧前,判断前一预定时间范围内对应时间段中计算出的所述变化率是否超出预先设定的第一取值范围;
标识单元,用于当所述变化率超出预先设定的第一取值范围时,将该时间段内发送的数据帧标识为关键帧。
9.根据权利要求8所述的控制网络传输的装置,其特征在于,所述控制网络传输的装置还包括:
第三计算单元,用于计算所述变化率在预先设定的第一取值范围以内的时间段的个数;
第二判断单元,用于判断所述变化率在预先设定的第一取值范围以内的时间段的个数是否超出预先设定的第二取值范围;
所述第一判断单元在每个时间段发送数据帧前,判断前一预定时间范围内对应时间段中计算出的所述变化率是否超出预先设定的第一取值范围为:当所述第二判断单元判断出变化率超出预先设定的第一取值范围的时间段的个数超出预先设定的第二取值范围时,所述第一判断单元在每个时间段发送数据帧前,判断前一预定时间范围内对应时间段中计算出的所述变化率是否超出预先设定的第一取值范围。
10.根据权利要求8或9所述的控制网络传输的装置,其特征在于,所述控制网络传输的装置还包括:
拆分单元,用于将所述关键帧拆分成至少两个数据块,并将每个数据块分别编号,分别发送每个数据块,由数据本身的长度以及对应时间段的丢包率计算所述数据块的数量,所述数据块的大小根据丢包率分配;
重发单元,用于根据接收端返回的消息,确定所述接收端未接收到的数据块,并重新发送所述。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102704843A CN101964732B (zh) | 2010-09-02 | 2010-09-02 | 计算丢包率的方法及装置、控制网络传输的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102704843A CN101964732B (zh) | 2010-09-02 | 2010-09-02 | 计算丢包率的方法及装置、控制网络传输的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101964732A true CN101964732A (zh) | 2011-02-02 |
CN101964732B CN101964732B (zh) | 2012-08-15 |
Family
ID=43517476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102704843A Expired - Fee Related CN101964732B (zh) | 2010-09-02 | 2010-09-02 | 计算丢包率的方法及装置、控制网络传输的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101964732B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103873381A (zh) * | 2014-03-25 | 2014-06-18 | 安一恒通(北京)科技有限公司 | 网络流量限速方法和装置 |
CN105207849A (zh) * | 2015-09-28 | 2015-12-30 | 智慧海派科技有限公司 | 一种基于智能型终端设备的弱封包交换网络侦测的方法 |
WO2016023358A1 (zh) * | 2014-08-15 | 2016-02-18 | 小米科技有限责任公司 | 一种基于网络环境调整视频画质的方法及装置 |
CN105871744A (zh) * | 2016-03-31 | 2016-08-17 | 北京小米移动软件有限公司 | 动态控制流量的方法及装置 |
CN106341289A (zh) * | 2016-08-30 | 2017-01-18 | 北京奇艺世纪科技有限公司 | 一种网络包抓包过程的丢包比率估计方法及装置 |
CN107657065A (zh) * | 2012-04-04 | 2018-02-02 | 瓦欧尼斯系统有限公司 | 包括计算机可读介质的系统和企业级数据元素检查的方法 |
US10085050B2 (en) | 2014-08-15 | 2018-09-25 | Xiaomi Inc. | Method and apparatus for adjusting video quality based on network environment |
CN109660549A (zh) * | 2018-12-29 | 2019-04-19 | 贵阳朗玛信息技术股份有限公司 | 一种视频帧数据包发送、接收方法及装置 |
CN110519175A (zh) * | 2019-08-22 | 2019-11-29 | 咪咕视讯科技有限公司 | 一种信息处理方法、设备及计算机可读存储介质 |
CN110913421A (zh) * | 2018-09-18 | 2020-03-24 | 大唐移动通信设备有限公司 | 一种语音包数量的确定方法及装置 |
CN111416688A (zh) * | 2019-01-04 | 2020-07-14 | 阿里巴巴集团控股有限公司 | 控制报文重传的方法、装置、通信设备及系统 |
CN111482973A (zh) * | 2020-03-31 | 2020-08-04 | 岭东核电有限公司 | 核电站用机器人的健康管理方法、装置和机器人 |
CN111669340A (zh) * | 2020-07-03 | 2020-09-15 | 全时云商务服务股份有限公司 | 发送带宽控制方法、装置、网络设备及可读存储介质 |
CN112118594A (zh) * | 2020-08-07 | 2020-12-22 | 深圳市圣麾科技有限公司 | 数据上传方法、下载方法、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080008092A1 (en) * | 2006-07-06 | 2008-01-10 | Xin Wang | Reducing packet loss for a packet data service during congestion in a transport network |
CN101359979A (zh) * | 2008-08-01 | 2009-02-04 | 中国联合通信有限公司 | 一种基于终端的链路丢包率控制方法及系统 |
CN101605020A (zh) * | 2009-07-07 | 2009-12-16 | 中兴通讯股份有限公司 | 一种丢包率检测方法、系统及装置 |
-
2010
- 2010-09-02 CN CN2010102704843A patent/CN101964732B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080008092A1 (en) * | 2006-07-06 | 2008-01-10 | Xin Wang | Reducing packet loss for a packet data service during congestion in a transport network |
CN101359979A (zh) * | 2008-08-01 | 2009-02-04 | 中国联合通信有限公司 | 一种基于终端的链路丢包率控制方法及系统 |
CN101605020A (zh) * | 2009-07-07 | 2009-12-16 | 中兴通讯股份有限公司 | 一种丢包率检测方法、系统及装置 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107657065B (zh) * | 2012-04-04 | 2021-05-25 | 瓦欧尼斯系统有限公司 | 包括计算机可读介质的系统和企业级数据元素检查的方法 |
CN107657065A (zh) * | 2012-04-04 | 2018-02-02 | 瓦欧尼斯系统有限公司 | 包括计算机可读介质的系统和企业级数据元素检查的方法 |
CN103873381A (zh) * | 2014-03-25 | 2014-06-18 | 安一恒通(北京)科技有限公司 | 网络流量限速方法和装置 |
WO2016023358A1 (zh) * | 2014-08-15 | 2016-02-18 | 小米科技有限责任公司 | 一种基于网络环境调整视频画质的方法及装置 |
US10085050B2 (en) | 2014-08-15 | 2018-09-25 | Xiaomi Inc. | Method and apparatus for adjusting video quality based on network environment |
CN105207849A (zh) * | 2015-09-28 | 2015-12-30 | 智慧海派科技有限公司 | 一种基于智能型终端设备的弱封包交换网络侦测的方法 |
CN105871744A (zh) * | 2016-03-31 | 2016-08-17 | 北京小米移动软件有限公司 | 动态控制流量的方法及装置 |
CN106341289B (zh) * | 2016-08-30 | 2019-06-14 | 北京奇艺世纪科技有限公司 | 一种网络包抓包过程的丢包比率估计方法及装置 |
CN106341289A (zh) * | 2016-08-30 | 2017-01-18 | 北京奇艺世纪科技有限公司 | 一种网络包抓包过程的丢包比率估计方法及装置 |
CN110913421A (zh) * | 2018-09-18 | 2020-03-24 | 大唐移动通信设备有限公司 | 一种语音包数量的确定方法及装置 |
CN109660549A (zh) * | 2018-12-29 | 2019-04-19 | 贵阳朗玛信息技术股份有限公司 | 一种视频帧数据包发送、接收方法及装置 |
CN111416688A (zh) * | 2019-01-04 | 2020-07-14 | 阿里巴巴集团控股有限公司 | 控制报文重传的方法、装置、通信设备及系统 |
CN111416688B (zh) * | 2019-01-04 | 2023-06-16 | 阿里巴巴集团控股有限公司 | 控制报文重传的方法、装置、通信设备及系统 |
CN110519175A (zh) * | 2019-08-22 | 2019-11-29 | 咪咕视讯科技有限公司 | 一种信息处理方法、设备及计算机可读存储介质 |
CN111482973A (zh) * | 2020-03-31 | 2020-08-04 | 岭东核电有限公司 | 核电站用机器人的健康管理方法、装置和机器人 |
CN111669340A (zh) * | 2020-07-03 | 2020-09-15 | 全时云商务服务股份有限公司 | 发送带宽控制方法、装置、网络设备及可读存储介质 |
CN112118594A (zh) * | 2020-08-07 | 2020-12-22 | 深圳市圣麾科技有限公司 | 数据上传方法、下载方法、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101964732B (zh) | 2012-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101964732B (zh) | 计算丢包率的方法及装置、控制网络传输的方法及装置 | |
EP3824659B1 (en) | Detecting communication network insights of alerts | |
CN102932175B (zh) | 划分节点分区的方法、装置及服务器 | |
CN109842521A (zh) | 一种移动终端宕机预测系统及方法 | |
CN102077624A (zh) | 确定传输模式的方法、装置及终端 | |
CN107360239A (zh) | 一种客户端连接状态检测方法及系统 | |
CN108513342A (zh) | 一种物联网终端的调度方法、基站及物联网终端 | |
WO2018090602A1 (zh) | 一种长连接服务器保活报文控制方法及系统 | |
CN105554819A (zh) | 一种数据传输方法、装置和移动终端 | |
CN112468372A (zh) | 电力线通信网络中设备状态检测方法和装置 | |
CN114448989B (zh) | 调整消息分发的方法、装置、电子设备、存储介质及产品 | |
CN107920031A (zh) | 接入带宽自适应调整方法和装置 | |
CN108932182B (zh) | 一种消息总线性能测试方法及系统 | |
CN115189910B (zh) | 一种基于网络数字孪生体的蓄意攻击生存性评估方法 | |
CN103856959A (zh) | 无线局域网络质量监控方法、设备和系统 | |
CN113923397A (zh) | 会议室设备的状态检测方法、装置、电子设备和存储介质 | |
CN105471674B (zh) | 测试服务器性能的方法及系统 | |
US8521869B2 (en) | Method and system for reporting defects within a network | |
CN114390320A (zh) | 数据编码码率自适应调节方法、装置、设备和存储介质 | |
CN104113467A (zh) | 虚拟桌面系统及其消息数据的发送方法 | |
CN116800686A (zh) | 负载均衡的流量分配方法、系统、设备及存储介质 | |
US10104571B1 (en) | System for distributing data using a designated device | |
CN103023795B (zh) | 一种基于小区状况控制分组交换速率的方法和系统 | |
US8566634B2 (en) | Method and system for masking defects within a network | |
CN102893654B (zh) | 移动网络小区的拥塞检测方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120815 |