一种无线网络速率估计方法、装置及系统与流程

文档序号:13453592阅读:155来源:国知局

本申请涉及无线网络技术领域,特别涉及一种无线网络速率估计方法、装置及系统。



背景技术:

由于无线网络具有时变特性,因此,不同时刻的无线网络速率可能并不相同,甚至变化很大。目前,在实际应用中,很多业务场景需要根据无线网络速率来进行适配工作参数,这样,既能够最大化利用无线网络资源,又能够提高用户体验。

例如:在视频通话应用中,如果不考虑无线网络速率时变特性,将视频编码参数(如视频分辨率和编码率)设置为一个固定值;那么,在无线网络情况较好,即,无线网络速率较高的情况,该视频通话应用就无法充分利用无线网络资源,而只能按照预设的视频编码参数进行工作。但,如果无线网络情况不太好,即,无线网络速率较低,无法满足视频需求的情况下,该视频通话应用若按照固定的视频编码参数工作,就可能会出现视频卡顿的问题。

在上述应用背景的需求下,如何监测无线网络速率是本领域的一个技术关键点。目前,广泛适用的无线网络测量方案是发包测速方式,该方案的实现是由终端发送探测包进行网络探测,其需要专门设计不同的数据包序列,用于探测无线网络速率值。

在该方案中,为了保证探测结果的精准性,对探测包大小有严格要求,一般要求探测包为5m左右;整个探测过程所需时间至少有12s。可以看出,该方案需要消耗较大的数据流量,占用一定的流量费用,且延迟较大。



技术实现要素:

本申请所要解决的技术问题是一种无线网络速率估计方法,既能够避免消耗额外的数据流量,又能够减少延迟。

本申请还提供了一种无线网络速率估计装置和系统,用于保障上述方法在现实中的实现及应用。

在本申请第一方面提供了一种无线网络速率估计方法,该方法包括:

根据终端使用的数据流量计算得到网络速率测量值;

将所述网络速率测量值输入至预先建立的卡尔曼滤波器,所述卡尔曼滤波器对所述网络速率测量值进行滤波得到网络速率估计值。

在本申请第二方面提供了一种无线网络速率估计装置,该装置包括:

测量单元,用于根据终端使用的数据流量计算得到网络速率测量值;

估计单元,用于将所述网络速率测量值输入至预先建立的卡尔曼滤波器,所述卡尔曼滤波器对所述网络速率测量值进行滤波得到网络速率估计值。

在本申请第三方面提供了一种无线网络速率估计系统,所述系统包括:至少一个处理器和至少一个存储器;其中,所述至少一个存储器中存储有可操作指令和至少一个应用;所述至少一个处理器与所述至少一个存储器通信,从所述至少一个存储器中读取并执行所述可操作指令;

其中,所述至少一个存储器存储的可操作指令包括:

根据终端使用的数据流量计算得到网络速率测量值;

将所述网络速率测量值输入至预先建立的卡尔曼滤波器,所述卡尔曼滤波器对所述网络速率测量值进行滤波得到网络速率估计值。

与现有技术相比,本申请提供的技术方案具有如下有益效果:

本申请提供的技术方案是基于卡尔曼滤波的无线网络速率估计方案,与现有技术中的发包探测方案相比,本申请提供的技术方案不需要额外地发送探测包,仅利用终端实际业务的网络请求产生的数据流量,利用该数据流量计算网络速率测量值,将该网络速率测量值作为卡尔曼滤波器的输入,这样,就能够避免额外消耗数据流量,也不会产生由于探测行为造成的测量延迟。更为重要的是,本申请通过建立的卡尔曼滤波器能够根据网络速率测量值进行不断更新,能够实时估计出当前无线网络的网络速率值,并且,本申请充分利用卡尔曼滤波器的快速跟踪和抗干扰能力,保证了网络速率估计值的可靠性。

附图说明

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

图1是本申请提供的一种无线网络速率估计方法实施例1的流程图;

图2是本申请提供的终端并行下载网络数据包的场景示意图;

图3是本申请提供的一种无线网络速率估计方法实施例2的流程图;

图4是本申请提供的一种无线网络速率估计方法实施例3的流程图;

图5是本申请提供的一种无线网络速率估计装置的结构图;

图6是本申请提供的一种无线网络速率估计系统的结构图。

具体实施方式

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

本申请可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。

本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

参见图1,图1是本申请提供的一种无线网络速率估计方法实施例1的流程图,如图1所示,该方法可以包括:如下步骤101-102。

步骤101:根据终端使用的数据流量计算得到网络速率测量值。

在本申请中终端是指能够承载应用程序,实现无线网络访问的设备。如智能手机、平板等设备。终端在使用过程中,用户通过使用终端中的应用,发起对无线网络的访问,以实现应用业务功能。例如:用户启用视频播放应用,通过访问无线网络下载视频资源,通过该视频播放应用观看视频;再例如,用户启用购物应用,通过访问无线网络从图片库中下载产品图片,在应用界面上浏览产品。不论,用户使用终端中的哪一个应用,只要访问了无线网络,则就会产生数据流量。

本申请实施例的步骤101正是利用用户使用终端过程中,在用户正常业务需求下产生的数据流量,不再单独为无线网络速率测量而发起专门用于探测的数据包,不再额外产生数据流量。

考虑到用户使用终端的不同情况,本申请实施例针对上述步骤101的实现还提供了以下方式(1)和方式(2)。

方式(1):按照采样周期,周期性统计终端中应用使用的数据流量;以及,按照采样周期归一化处理统计得到的数据流量得到网络速率测量值。

在实现时,采样周期的大小可以根据实际需求而设定;本申请发明人经过试验发现,设定的采用周期越小,网络速率估计的实时性越好。

方式(1)适应于终端存在持续的网络请求行为的场景中,由于终端存在持续的网络请求行为,则就持续的产生网络流量。在这种场景下,利用方式(1)就可以实时采集到数据流量,进而计算得到网络速率测量值。

方式(2):监控终端的网络请求行为,并根据网络请求行为实时确定终端中应用接收网络数据包使用的时间和网络数据包大小;以及,计算所述网络数据包大小与所述时间之间的比值,将所述比值作为网络速率测量值。

方式(2)适应于终端存在间断性的网络请求行为的场景中,在这种场景下,利用方式(2)统计一定时间段内的网络包,就可以计算得到网络速率测量值。

接下来对方式(2)的具体实现过程进行示例性解释说明。

利用方式(2)时,可能会出现如图2所示的网络数据包并行下载的情况,下面针对并行下载网络数据包的情况进行举例说明。

例如,如图2所示,当终端同时下载网络数据包1和网络数据包2时,则计算网络速率观测值等于(网络数据包1大小+网络数据包2大小)/(网络包1和网络包2一共所用的时间,即200ms)。

再例如,如图2所示,当终端同时下载网络数据包3和网络数据包4时,则计算网络速率观测值等于(网络数据包3大小+网络数据包4大小)/(网络数据包3和网络数据包4一共所用的时间,即,150ms)。

上述图2仅以并行2个网络数据包为例来进行说明,在实际应用,可能会有多个网络数据包并行,但具体计算原理同上。

这里需要说明的是,在实现时,可以针对终端中所有应用使用的数据流量计算网络速率测量值。但,考虑到不同应用自身的机制限制导致其数据处理性能不同,而最终应用是基于本申请实施例方法估计到的网络速率估计值来适配工作参数,以最大化利用无线网络资源的同时,实现较好的业务效果。基于此,可以针对用户使用应用的需求,从终端安装的所有应用中选择一个应用,根据该应用的数据流量计算网络速率测量值。

由于,测量数据中包括无线网络系统中的噪声和干扰的影响,因此,通过步骤101计算得到网络速率测量值,无法表征无线网络的实际网络速率情况。本申请发明人通过研究发现,无线网络环境和无线网络速率变化情况符合卡尔曼滤波原理,因此,提出了基于卡尔曼滤波对测量数据进行最优估计,也就是滤波处理,从而得到能够表征无线网络的实际网络速率的估计值。

因此,经过步骤101在计算得到无线网络速率观察值之后,利用以下步骤102进行滤波处理。

步骤102:将所述网络速率测量值输入至预先建立的卡尔曼滤波器,所述卡尔曼滤波器对所述网络速率测量值进行滤波得到网络速率估计值。

接下来,对卡尔曼滤波器在本申请实施例中的工作原理进行解释说明。

简单来说,卡尔曼滤波器是一个最优化回归数据处理算法,是去除噪声还原真实数据的一种数据处理算法,其是在测量方差已知的情况下,从一系列测量数据中,估计动态系统的状态。由于,卡尔曼滤波技术便于计算机编程实现,能够对现场采集的数据进行实时的更新和处理,其数据滤波性能较好,实时性较好。

进一步地,本申请发明人通过实验研究发现:第i时刻的网络速率估计值与第i-1时刻的网络速率估计值的相对变化等同于第i-1时刻的网络速率观测值的变化趋势,基于该原理构建出符合网络速率估计值的状态方程公式1:

公式1xi=xi-1+ui-1+wi-1

其中,公式1中的xi表示第i时刻的网络速率估计值;xi-1表示第i-1时刻的网络速率估计值;ui-1表示第i-1时刻的网络速率观察值的变化趋势;wi-1表示第i-1时刻的模型状态噪声。

上述公式1中的参数ui-1的计算方式参见公式2:

公式2ui-1=(fi-1-fi-2)/(ti-1-ti-2)

其中,公式2中的fi-1表示第i-1时刻至第i-2时刻之间,终端的下行流量;ti-1表示第i-1时刻至第i-2时刻的时间差。

其中,公式2中的第fi-2表示第i-2时刻至第i-3时刻之间,终端的下行流量;ti-2表示第i-2时刻至第i-3时刻的时间差。

另外,考虑到卡尔曼滤波器的一个重要参数是卡尔曼增益ki,中的雅克比矩阵hk。该雅克比矩阵必须能够正确地传递或者加权观测数据中的有用部分,如果该矩阵设置的不合适,则卡尔曼滤波器很快就会发散,在这种情况下,整个观测过程就是不客观的,导致估计结果不可靠。因此,本申请发明人分析研究了实际的无线网络情况,考虑到无线网络传输过程中各种路由损耗,重传因素,以及可能丢失部分下行流量统计,计算得到网络速率测量值会小于真实的网络速率值,经过大量数据统计分析得出一个参数beta,利用参数beta来替代h,参数beta在本申请实施例中表示网络速率测量值与真实的网络速率值之间的差距,该beta值可以设置为小于1的数值,优选的,beta取值为0.95。

基于上述原理,构建观测方程如公式3:

公式3zi=beta*xi+vi

其中,zi表示第i时刻的网络速率测量值;vi表示第i时刻的测量噪声。

本申请发明人通过分析无线网络环境以及无线网络速率的特点,发现其符合卡尔曼模型,进而基于卡尔曼模型构建得到本申请实施例中的卡尔曼滤波器。

卡尔曼滤波器在实现时可分为两个方程:时间更新方程和测量更新方程。

其中,时间更新方程负责及时向前推算当前状态变量和误差协方差估计的值,以便为下一个时间状态构造先验估计。

其中,测量更新方程负责反馈,也就是说,将先验估计和新的测量变量结合以构造改进的后验估计。

时间更新方程也可以视为预估方程,测量更新方程也可以视为校正方程。最后的估计算法成为一种具有数值解的预估-校正算法。时间更新方程将当前状态变量作为先验估计及时地向前投射到测量更新方程,测量更新方程校正先验估计以获得状态的后验估计。

卡尔曼滤波器工作的整个过程是随着时间推移不断循环重复,上一个时刻计算得到后验估计被作为下一时刻计算的先验估计,以推进循环,这种递归推算是卡尔曼滤波器最显著的特征之一,它比其他滤波器更简单实现。例如维纳滤波器,每次估计必须直接计算全部数据,而卡尔曼滤波器每次只需根据上一次的测量变量递归计算当前的状态估计。

这里,步骤102利用卡尔曼滤波器根据无线网络速率测量值进行不断更新,实时估计出当前无线网络的速率值。

在实际应用中,当终端需要获知当前无线网络速率情况时,则从卡尔曼滤波器实时地获取当前网络速率估计值,进而根据该估计值来设置应用的工作参数,例如,当视频播放应用在播放视频资源之前,可以从卡尔曼滤波器实时地获取当前网络速率估计值,然后根据该估计值大小情况,来设置具体的视频的分辨率和编码率;比如,如果该估计值大于预设阈值,此时,认为当前网络情况较好,适合较高的分辨率和编码率,则将视频的分辨率和编码率设置为较高的值,使得画质更清晰,画面更流畅。但,当该估计值小于预设阈值时,此时,认为当前网络情况不太好,不适合较好高的分辨率和编码率,则将视频的分辨率和编码率设置为一个较低的值,以保证画面的正常播放,也避免出现视频卡顿的问题。这样,实时地根据实际的网络速率情况,设置应用的运行参数,既能够保证最大化利用网络资源,又能够在有限资源的情况下提高应用运行性能,以保证用户良好的使用体验。

从上述实施例可以看出,本申请提供的基于卡尔曼滤波的无线网络速率估计方法,与现有技术中的发包探测方法相比,本申请提供的技术方法不需要额外地发送探测包,仅利用终端实际业务的网络请求产生的数据流量,利用该数据流量计算网络速率测量值,将该网络速率测量值作为卡尔曼滤波器的输入,这样,就能够避免额外消耗数据流量,也不会产生由于探测行为造成的测量延迟。更为重要的是,本申请通过建立的卡尔曼滤波器能够根据网络速率测量值进行不断更新,能够实时估计出当前无线网络的网络速率值,并且,本申请充分利用卡尔曼滤波器的快速跟踪和抗干扰能力,保证了网络速率估计值的可靠性。

本申请发明人还考虑到无线网络环境常常会出现突变的网络速率增长或网络堵塞,而后快速地回归正常的网络情况。为了适应于无线网络的这种突变情况,保证无线网络速率估计值的可靠性,本申请实施例还提供了对应的解决方案。参见图3,图3是本申请实施例提供的一种无线网络速率估计方法实施例2的流程图,如图3所示,该方法可以包括步骤201至步骤203,其中,步骤201和步骤202与上述图1所示方法中的步骤101和步骤102相同,可以直接参见上文描述。图3所示方法主要是在图1所示方法的基础上增加了步骤203。

步骤201至步骤203的具体内容分别如下:

步骤201:根据终端使用的数据流量计算得到网络速率测量值。

步骤202:将所述网络速率测量值输入至预先建立的卡尔曼滤波器,所述卡尔曼滤波器对所述网络速率测量值进行滤波得到网络速率估计值。

步骤203:采用局部平滑方法对当前时刻的网络速率估计值进行平滑处理。

接下来对步骤203的具体实现过程进行解释说明。

在步骤203中,局部平滑方法是指利用局部的网络速率估计值对当前的网络速率估计值进行平滑处理的方法。

进一步地,步骤203可以按照如下公式实现:

公式4xi′=alpha0*xi+alpha1*xi-1+alpha2*xi-2

其中,xi表示卡尔曼滤波器估计得到的第i时刻的网络速率估计值;xi-1表示卡尔曼滤波器估计得到的第i-1时刻的网络速率估计值;xi-2表示根据卡尔曼滤波器估计得到的第i-2时刻的网络速率估计值。

其中,xi’表示经过局部平滑处理后的第i时刻的网络速率估计值。

其中,alpha0、alpha1、alpha2表示三个加权系数,三者和为1。

在实现时,可以设置alpha0=0.68,其表征正态分布中1个标准差内对应的概率值;alpha1=0.27,其表征正态分布1个标准差到3个标准差之间的概率值;alpha2=(1-alpha0-alpha1)=0.05。

通过本申请实施例提供的方法,在利用卡尔曼滤波器估计得到当前网络速率估计值之后,利用局部平滑处理对该估计值进行处理,该局部平滑处理,仅需要局部数据,并不需要使用整个估计过程产生的数据,简化了平滑处理过程,提高了处理速度,保证实时性,使得处理后的估计值能够更准确地反映实际网络情况。

另外,为了适应于无线通信网络模式瞬时切换的情况,为了使得估计得到的网络速率估计值能够及时跟踪网络速率的真实变化,本申请实施例还提供了对应的解决方案。参见图4,图4是本申请实施例提供的一种无线网络速率估计方法实施例3的流程图,如图4所示,所述方法包括:步骤301至步骤303,其中,步骤302和步骤303与图1所示方法中的步骤101和步骤102相同,可以参照上文图1的描述。

步骤301:监控终端的网络模式是否发生切换;如果是,执行步骤302;

步骤302:根据终端使用的数据流量计算得到网络速率测量值。

步骤303:将所述网络速率测量值输入至预先建立的卡尔曼滤波器,所述卡尔曼滤波器对所述网络速率测量值进行滤波得到网络速率估计值。

下面对步骤301的实现进行解释说明。

监控终端所处的网络模式是否发生切换,这里的网络模式是指终端所处的无线网络模式,如移动通信网络模式2g、3g、4g,wifi,局域网等网络模式。一般情况下,在网络模式发生变化时,网络速率会发现突变,那么,为了及时跟踪无线网络速率的实际变化情况,则可以在发现网络模式切换时,第一时间触发步骤302和步骤303进行测量和估计处理,此时,估计得到的网络速率估计值就能够很好地表征实际网络的速率值。

上文对本申请提供的无线网络速率估计方法进行了解释说明。接下来,对本申请提供的无线网络速率估计装置进行解释说明。

参见图5,图5是本申请提供的一种无线网络速率估计装置的结构图,如图5所示,该装置500可以包括:测量单元501和估计单元502。

测量单元501,用于根据终端使用的数据流量计算得到网络速率测量值;

估计单元502,用于将所述网络速率测量值输入至预先建立的卡尔曼滤波器,所述卡尔曼滤波器对所述网络速率测量值进行滤波得到网络速率估计值。

在实现时,所述测量单元501,可以包括:

统计子单元,用于按照采样周期,周期性统计终端中应用使用的数据流量;

归一化处理子单元,用于按照采样周期归一化处理统计得到的数据流量得到网络速率测量值。

在实现时,所述测量单元501,可以包括:

网络数据包监控子单元,用于监控终端的网络请求行为,并根据网络请求行为实时确定终端中应用接收网络数据包使用的时间和网络数据包大小;

计算子单元,用于计算所述网络数据包大小与所述时间之间的比值,将所述比值作为网络速率测量值。

在实现时,所述装置还可以包括:

网络模式监控单元,用于监控终端的网络模式是否发生切换;如果是,触发所述测量单元和估计单元。

在实现时,所述装置还可以包括:

局部平滑单元,用于采用局部平滑方法对当前时刻的网络速率估计值进行平滑处理。

在实现时,所述装置还可以包括:

指示单元,用于将所述网络速率估计值发送至终端,以使终端根据所述网络速率估计值,设置应用运行时的工作参数。

另外,本申请实施例还提供了一种无线网络速率估计系统,所述系统可以包括:至少一个处理器和至少一个存储器;其中,所述至少一个存储器中存储有可操作指令和至少一个应用;

所述至少一个处理器与所述至少一个存储器通信,从所述至少一个存储器中读取并执行所述可操作指令;

其中,所述至少一个存储器存储的可操作指令包括:

根据终端使用的数据流量计算得到网络速率测量值;

将所述网络速率测量值输入至预先建立的卡尔曼滤波器,所述卡尔曼滤波器对所述网络速率测量值进行滤波得到网络速率估计值。

其中,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

为了便于本领域技术人员理解上述系统的结构和工作原理,下面以图6为例,对该系统进行示例性解释说明。

图6示出了本申请提供的一种无线网络速率估计系统的结构图,如图6所示,系统600包括:一个处理器601和一个存储器602,其中,存储器602中存储有可操作指令和至少一个应用,其中,可操作指令如上文描述。

这里需要说明的是,图6仅以系统包含一个处理器和一个存储器为例进行解释说明。在实际应用中,该系统可以包括多个处理器和一个存储器,也可以包括一个处理器和多个存储器,当然也可以包括多个处理器和多个存储器。不同的处理器可以与同一存储器连接,也可以与不同的存储器连接。不同的处理器根据需要从指定的存储器中读取并执行可操作指令。

例如:当系统包括:两个处理器和两个存储器,两个存储器存储有相同的可操作指令,具体如上文描述的可操作指令;一个处理器作为主处理器,另一个处理器可以作为备份的处理器。

在实际应用中,当终端中的应用需要根据实际网络速率来配置应用运行参数时,则可以直接利用本申请提供的上述系统,通过上述系统根据终端中应用运行时实际所使用的数据流量计算网络速率测量值,并采用卡尔曼滤波器进行滤波处理,从而得到能够表征实际网络速率的估计值,这样,终端就可以根据系统估计得到的网络速率估计值来进一步配置应用的运行参数,使得终端的应用能够在最大化利用网络资源的同时,提高应用的运行效果。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

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

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

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