用于移动网络的多链路聚合的链路带宽分配方法及装置
技术领域
本发明实施例涉及链路聚合领域,尤其涉及一种用于移动网络的多链路聚合的链路带宽分配方法与装置。
背景技术
链路聚合技术,是指将多个物理端口捆绑在一起,成为一个逻辑端口,以实现出/入流量在各成员端口中的负荷分担。当交换机检测到其中一个成员端口的链路发生故障时,就停止在此端口上发送报文,并根据负荷分担策略在剩下链路中重新计算报文发送的端口,故障端口恢复后再次重新计算报文发送端口。链路聚合在增加链路带宽、实现链路传输弹性和冗余等方面是一项很重要的技术。
现有的链路聚合方案多用于有线数据交换网络。由于有线网络的网络稳定性较高,所以链路上带宽分配的方案一般较为简单,例如采用循环平均分配或基于各链路带宽按比例分配等分配方案,都能达到较好的聚合效果。
随着移动互联网的发展,无线局域网(WLAN)及移动运营商的移动通信网络的信号质量、覆盖范围以及传输速率等都有了很大程度的提高。为了进一步提高移动互联网的数据传输速率、数据传输的实时性及稳定性,采用多移动网络链路聚合技术进行数据传输的方案应运而生。
但是,移动互联网受网络覆盖范围、信号强度、信号干扰以及物体遮挡等因素,网络稳定性较差,数据传输的波动较大。如果使用和有线网络相同的带宽分配方案,链路聚合效果会很差,甚至还不如使用单条链路时的传输效果。
因此,如何在移动互联网络中使用链路聚合技术来高效、合理地分配链路并承载数据,以达到较好的聚合效果成为亟待解决的技术问题之一。
发明内容
本发明实施例提供一种用于移动网络的多链路聚合的链路带宽分配方法与装置,用以解决现有技术移动网络稳定性差,数据波动较大导致的链路聚合效果差的缺陷,实现了适用于移动网络的链路聚合技术中带宽的高效分配。
本发明实施例提供用于移动网络的多链路聚合的链路带宽分配方法,包括:
获取聚合链路中当前时刻各所述链路连接的运营商基站、各链路的理论带宽、移动设备的位置信息以及所述移动设备接收到的所述基站的信号强度信息;
根据获取到的所述位置信息以及所述信号强度信息计算下一时间间隔内的各所述链路带宽浮动比,其中,所述链路带宽浮动比表示所述聚合链路中各所述链路的带宽变化情况;其中位置信息包括所述移动设备的当前位置、运动速度以及运动方向;其中,所述信号强度信息包括所述当前时刻所述移动设备接收到的所述基站的信号强度以及所述当前时刻之前所述移动设备接收到的所述基站的信号强度变化趋势;
根据所述链路带宽浮动比,结合所述理论带宽获取所述下一时间间隔内的链路带宽预测值;
根据各链路的所述带宽预测值为所述移动设备和所述基站之间进行所述下一时间间隔内的数据传输带宽分配。
本发明实施例提供一种用于移动网络的多链路聚合的链路带宽分配装置,包括:
数据获取模块,用于获取聚合链路中当前时刻各所述链路连接的运营商基站、各链路的理论带宽、移动设备的位置信息以及所述移动设备接收到的所述基站的信号强度;
带宽浮动比计算模块,用于根据获取到的所述当前时刻移动设备的位置信息以及所述当前时刻所述移动设备接收到的所述基站的信号强度计算下一时间间隔内的各所述链路带宽浮动比,其中,所述链路带宽浮动比表示所述聚合链路中各所述链路的带宽变化情况;其中位置信息包括所述移动设备的当前位置、运动速度以及运动方向;其中,所述信号强度信息包括所述当前时刻所述移动设备接收到的所述基站的信号强度以及所述当前时刻之前所述移动设备接收到的所述基站的信号强度变化趋势;
带宽预测模块,用于根据所述链路带宽浮动比,结合所述理论带宽获取所述下一时间间隔内的链路带宽预测值;
带宽分配模块,用于根据各链路的所述带宽预测值为所述移动设备和所述基站之间进行所述下一时间间隔内的数据传输带宽分配。
本发明实施例提供一种移动设备,处于多个移动通信网络的信号覆盖下,通过周围的多个基站建立有聚合链路,该设备包括:
通信模块,用于获取聚合链路中当前时刻各所述链路连接的运营商基站、各链路的理论带宽;
定位模块,用于获取聚合链路中当前时刻移动设备的位置信息;
射频模块,用于获取聚合链路中当前时刻所述移动设备接收到的所述基站的信号强度信息;
处理器,用于根据获取到的所述位置信息以及所述信号强度信息计算下一时间间隔内的各所述链路带宽浮动比;根据所述链路带宽浮动比,结合所述理论带宽获取所述下一时间间隔内的链路带宽预测值;根据各链路的所述带宽预测值为所述移动设备和所述基站之间进行所述下一时间间隔内的数据传输带宽分配。其中,所述链路带宽浮动比表示所述聚合链路中各所述链路的带宽变化情况
本发明实施例提供的一种用于移动网络的多链路聚合的链路带宽分配方法与装置,根据移动设备的地理位置变化以及接收到基站的信号强度变化,实时预测移动设备所接入的各网络的状态,并根据各链路当时的负载能力动态调整各链路的带宽,充分考虑了移动互联网信号变化迅速的网络特点,良好地实现了移动互联网中链路聚合的负载均衡,在移动互联网中实现了良好的链路聚合效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一的技术流程图;
图2为本发明实施例二的技术流程图;
图3为本发明实施例三的装置结构示意图;
图4为本发明实施例五的设备结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
另外,附图所示出的本发明实施例的方法所包含的步骤,可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然本发明实施例的方法在所示的流程图中体现出了本发明的技术方案在执行时的一定的逻辑顺序,但通常而言,该逻辑顺序仅限于通过该流程图所示出的实施例。在本发明的另一些实施例中,本发明的技术方案的逻辑顺序也可以以不同于附图所示的方式来实现。
需要说明的是,本发明各实施例的执行主体,是用来执行带宽分配的装置,这台装置可以集成在移动设备上,也可以集成在服务器中,也可以独立存在,本发明包括但不仅限于此。当然,本发明的各实施例也并非单独存在,可以相互融合补充或组合使用,例如实施例二是对实施例一的进一步细化,二者组合使用同样能实现本发明实施例的技术方案。为了便于阅读者理解此方案,本申请的实施例以移动的车载设备应用场景来描述,但是,本申请的具体应用领域不限制于此,例如,还可以是手机下载等有大量数据传输的场景。
实施例一
图1为本发明实施例一的技术流程图,如图1所示,本发明实施例一种用于移动网络的多链路聚合的链路带宽分配方法,应用在处于多个移动通信网络的信号覆盖下并建立有聚合链路的移动设备在所述聚合链路上分配承载数据,主要通过以下的步骤实现:
步骤110:获取聚合链路中当前时刻各所述链路连接的运营商基站、各链路的理论带宽、移动设备的位置信息以及所述移动设备接收到的所述基站的信号强度信息;
本发明实施例中,可以根据以下公式计算所述理论带宽:
其中,各所述链路通过与对端链路聚合设备发送/接受ICPM报文获取各所述链路的所述丢包率与所述网络延时的时间。网络延时的单位为毫秒(ms),丢包率(LossTolerance或Packet Loss Rate)是指所丢失数据包数量占所发送数据组的比率。丢包率的计算方法是:
ICMP是(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
当移动设备连接至运营商网络,与对端链路聚合设备建立聚合链路后,可记录当前各链路连接的基站,如中国移动、中国联通或者中国电信等等。
本发明实施例中的所述移动设备需要配备卫星定位功能(如GPS、GLONASS、北斗等单一或多合一),且所述移动设备中存储各移动基站位置信息。以下部分涉及到的所述移动设备将不再做进一步的解释。
步骤120:根据获取到的所述位置信息以及所述信号强度信息计算下一时间间隔内的各所述链路带宽浮动比;
其中,所述链路带宽浮动比表示所述聚合链路中各所述链路的带宽变化情况;其中所述位置信息包括所述移动设备的当前位置、运动速度以及运动方向;其中,所述信号强度信息包括所述当前时刻所述移动设备接收到的所述基站的信号强度以及所述当前时刻之前所述移动设备接收到的所述基站的信号强度变化趋势。
通过所述位置信息以及所述信号强度信息可以计算出所述移动设备与各所述基站的距离、所述移动设备相对各所述基站的距离变化、所述移动设备接收到的各所述基站的信号强度以及所述移动设备接收到各所述基站的信号强度变化值。
计算所述链路带宽浮动比时,根据预设的表达式,将所述移动设备与各所述基站的距离、所述移动设备相对各所述基站的距离变化、所述移动设备接收到的各所述基站的信号强度以及所述移动设备接收到各所述基站的信号强度变化值作为所述表达式的输入,并基于归一化参考值,确定各链路的所述带宽浮动比率;或者根据预设的查找表,将所述移动设备与各所述基站的距离、所述移动设备相对各所述基站的距离变化、所述移动设备接收到的各所述基站的信号强度以及所述移动设备接收到各所述基站的信号强度变化值化作为所述查找表的输入,确定各链路的所述带宽浮动比率。
步骤130:根据所述链路带宽浮动比,结合所述理论带宽获取所述下一时间间隔内的链路带宽预测值;
具体的,带宽预测值=链路的理论带宽*(1+链路的带宽浮动比率)
在步骤110中,已经获取聚合链路中当前时刻各链路的理论带宽,根据所述链路带宽浮动比即可计算出下一时间间隔内每条链路上的带宽预测值。
步骤140:根据各链路的所述带宽预测值为所述移动设备和所述基站之间进行所述下一时间间隔内的数据传输带宽分配。
得到各链路的所述带宽预测值后,将各所述链路的所述带宽预测值按照从大到小进行排序,在所述预设的时间间隔内,当已分配了承载数据的链路的带宽已用完,则选择所述排序中的下一条链路来承载数据。
根据不同链路的预测带宽值来按比例分配各链路的承载数据量,便可实现聚合链路中各条链路的负载均衡,通过实时调整链路承载的数据量,便可达到高效或最大的链路聚合效果。本实施例中,通过获取移动设备的位置信息和接收到的信号强度信息,实时预测移动设备接入的各移动网络的状态并以此预测每条链路的带宽实现了各链路负载的动态调整,在移动网络中也实现了良好的链路聚合效果。
实施例二
图2是本发明实施例二的技术流程图,以下部分将结合图2,具体地阐述本发明实施例一种用于移动网络的多链路聚合的链路带宽分配方法中,获取聚合链路中当前时刻各链路的理论带宽、各所述链路连接的基站、移动设备的位置信息以及所述移动设备接收到的所述基站的信号强度信息进一步由以下的步骤210~步骤260实现;根据获取到的所述位置信息以及所述信号强度信息计算下一时间间隔内的各所述链路带宽浮动比进一步由步骤270步骤实现;计算链路带宽预测值以及带宽分配进一步由步骤280~步骤290实现。
步骤210:将移动设备连接各移动运营商网络,与对端链路聚合设备建立聚合链路并记录各链路连接的运营商基站;
本发明实施例中,所述移动设备是可移动的、具有无线接入功能的终端设备,比如可以是手机、通过MIFI(My WiFi的英文简称,中文含义为移动无线路由器)接入网络的终端比如汽车等。移动设备的卫星定位功能通常借助于卫星定位系统来实现。常见的卫星定位系统比如中国的北斗卫星导航系统(BDS)、美国的全球定位系统(GPS)、俄罗斯的格洛纳斯卫星导航系统(GLONASS)以及欧洲的伽利略卫星导航系统(GALILEO),或者是这些单一的卫星定位系统的多网融合系统。
步骤220:周期性地获得移动设备在各链路上的网络延时和丢包率,并根据各链路的网络延时以及丢包率等来确定各链路的当前理论带宽。
其中,移动设备通过与对端链路聚合设备发送或接收ICMP((Internet ControlMessage Protocol,Internet控制报文协议)报文等方式,来确定各链路上的网络延时和丢包率。
具体地,链路的当前理论带宽,可以根据如下表达式来确定。
其中,网络延时的单位为ms,丢包率是一个大于等于0且小于等于1的数值:
步骤230:获取所述移动设备的位置信息,并根据所述移设备的所述当前位置,查询预设的基站位置数据库,确定所述聚合链路中覆盖所述当前位置的n个所述基站,并计算所述移动设备与n个所述基站之间的距离di;
通常,在聚合链路建立后,移动设备开启定位功能获取当前时刻自身的所述当前位置。其中,定位的方式包括GPS定位、北斗定位等卫星定位方式。
与此同时,根据当前时刻之前一段时间内所述移动设备的定位数据获取所述移动设备的运动速度以及运动方向,用以预测所述移动设备下一时刻的运动状态。
本发明实施例中,所述的基站是为该移动设备提供所述聚合链路中各链路的运营商基站。
其中,n为大于等于2的正整数,表示能够覆盖所述移动设备的基站的数量。i表示所述基站的序号,其取值范围在为[1,n]。
通常来说,移动设备本地存储有基站位置数据库,所述基站位置数据库通过与网络侧的服务器所存储的基站位置数据库进行同步更新。
本发明实施例中,查询所述基站位置数据库,用于获取能够覆盖所述移动设备的基站各自归属的运营商、各自所支持的网络制式以及各自的地理位置等。通过获取各个所述基站的地理位置,可以用来计算所述移动设备与各所述基站的距离、所述移动设备相对于各所述基站的运动速度和运动方向等。另外,所述基站的地理位置还用来配合于基站所述的运营商和所支持的网络制式,确定实际情况下所能达到的最大网络带宽,可以将各基站实际情况下所能达到的最大网络带宽作为各链路理论上可以达到的最大带宽。
对于不同网络下的基站,各自的覆盖能力通常而言并不相同。比如对于2G网络,基站的覆盖范围达几千米;而对于4G网络,基站的覆盖范围通常只有几百米。因此,在本发明的实施例中,所述基站可以包括能够覆盖到所述移动设备的且与所述移动设备远达几千米的至少一个2G网络下的基站,也可以包括能够覆盖到所述移动设备的与所述移动设备远达几百米甚至到两三千米的至少一个3G网络下的基站,还可以包括能够覆盖到所述移动设备的与所述移动设备远达几百米的至少一个4G网络下的基站。但是,无论这些基站各自归属于什么网络,这些基站的总数至少大于等于2。
步骤240:根据已经计算完成的所述距离di以及所述移动设备的运动速度以及运动方向计算下一时间间隔内所述移动设备相对于各所述基站的位置变化Δdi;
本发明实施例中,所述下一个时间间隔为预设值,可以为1秒也可以是1分钟,当然,时间间隔越短,预测值的准确度越高,本发明实施例对时间间隔的时长并不做限制。
根据当前时刻之前一段时间内所述移动设备的定位数据获取所述移动设备的运动速度以及运动方向,可以判断出所述移动设备是匀速运动或变加速运动。匀速运动状态下的距离变化计算起来比较简单,但实际中通常是变加速运动,通过以下运动学公式可计算出所述移动设备在每一个小的时间间隔内的加速度a、下一时间间隔内的运动速度vt以及下一时间间隔内的移动距离Δd等:
vt=v0+at
当有若干个基站能够覆盖到所述移动设备时,所述移动设备相对于各所述基站的位置变化Δdi通过上述公式即可逐一计算得知;
步骤250:利用移动网络的信号强度检测技术,获取所述移动设备在当前时刻接收到各所述基站的信号强度si。
步骤260:根据所述当前时刻之前的一段时间内的所述移动设备接收到的所述基站的信号强度变化趋势,结合所述信号强度si和移动设备相对各基站的位置变化Δdi,预测所述下一个时间间隔内所述移动设备接收到的各所述基站的信号强度变化Δsi。
由于无线电信号会在传输过程中不断衰减,传输距离越远衰减越大。因此,通常而言,移动设备的信号强度与移动设备与基站之间的距离相关,距离基站越近则信号强度越好,反之则越差。因此,可以根据移动设备当前距离基站的位置、当前信号强度以及当前移动设备相对基站的位置变化,来近似计算信号强度的变化。信号强度是影响无线传输的重要因素,它的变化对于当前无线传输的带宽有较大的影响,因此确定信号强度变化的目的,就是根据强度变化来定量地预测下一时间间隔内带宽的变化量。
本发明的技术人员,通过历史测试数据,并经理论和试验验证,得到了近似程度较高的信号强度与移动设备与基站之间距离的对应表达函数s=f(d)。这样,基于当前移动设备距离基站的位置d0,以及移动设备在Δt的时间间隔内相对基站的位置变化Δd,可以计算得到下一时间间隔内距离基站的位置d1=d0+Δd*Δt,近似得到理论上的信号强度变化Δs'=f(d1)-f(d0),并根据当前实际的信号强度s0估算出Δt的时间间隔内信号强度的变化Δs=Δs'*(s0/f(d0))。
其中,所述当前时刻之前的一段时间内的所述移动设备接收到的所述基站的信号强度变化趋势,主要为变强、变弱或者不变化,进一步地还可以包括变化的加速度等。所述信号强度变化趋势,可以通过各基站在所述前一段时间中各时间间隔内的信号强度计算得来,比较简单的计算方式主要是计算这一段时间中各时间间隔内信号强度的平均值。在计算的过程中,还可以对各时间间隔内的信号强度进行加权处理。
步骤270:根据所述信号强度、所述信号强度的变化值、所述距离、以及所述距离变化值计算所述下一时间间隔内的所述链路带宽浮动比。
在本发明实施例中,对于第i条链路的带宽浮动比率,主要根据所述移动设备与第i个基站的距离di、所述移动设备相对于第i个基站的位置变化Δdi、所述设备接收到的第i个基站当前的信号强度si、所述设备接收到的第i个基站的信号强度变化Δsi以及归一化参考值,来确定所述下一个时间间隔内的该第i条链路的带宽浮动比率。
作为一种示意,第i条链路的带宽浮动比率可以根据如下表达式来进行计算:
第i条链路的带宽浮动比率=(Rdi×di+RΔdi×Δdi+Rsi×si+RΔsi×Δsi)/base。
其中,Rdi是用来对移动设备与第i个基站的距离di进行加权的权重,RΔdi是用来对移动设备相对于第i个基站的位置变化Δdi进行加权的权重,Rsi是用来对移动设备接收到的第i个基站当前的信号强度si进行加权的权重,RΔsi是用来对移动设备接收到的第i个基站的信号强度变化Δsi进行加权的权重,base归一化参考值。这些权重通常都是大于等于0的值。前述的Rdi、RΔdi、Rsi、RΔsi以及base,可以通过经验值进行确定。
在实际应用中,为了更加准确地获得第i条链路的带宽浮动比率,通常可以构造查找表并在使用时通过查表的方式来确定各条链路上的带宽浮动比率。该查找表中记录有对于每条链路而言,移动设备与基站的距离、移动设备相对于基站的位置变化、基站当前的信号强度以及信号强度变化等与带宽浮动比率的对应关系。而且,通常来讲,通过查表的方式来确定链路上的带宽浮动比率,效率也会更高。
步骤280:根据所述链路带宽浮动比,结合所述理论带宽获取所述下一时间间隔内的链路带宽预测值;
根据各链路的当前带宽以及各链路的链路带宽浮动比率,获得下一个时间间隔内各链路的带宽预测值。具体地,下一个时间间隔内某链路的带宽预测值=该链路的当前带宽*(1+该链路的带宽浮动比率)。
步骤290:将各所述链路的所述带宽预测值按照从大到小进行排序,在所述预设的时间间隔内,当已分配了承载数据的链路的带宽已用完,则选择所述排序中的下一条链路来承载数据。
本实施例中,通过获取移动设备的位置信息和接收到的信号强度信息来预测下一时间间隔内聚合链路中每条链路的带宽,并根据预测值对各链路的负载实时进行调整,从而达到高效的链路聚合效果。
实施例三
图3是本发明实施例三的装置结构示意图,结合图3所示,本发明实施例一种用于移动网络的多链路聚合的链路带宽分配装置,主要包括数据获取模块31、带宽浮动比计算模块320、带宽预测模块330、带宽分配模块340。
所述数据获取模块310,用于获取聚合链路中当前时刻各所述链路连接的运营商基站、各链路的理论带宽、移动设备的位置信息以及所述移动设备接收到的所述基站的信号强度;
所述带宽浮动比计算模块320,用于根据获取到的所述当前时刻移动设备的位置信息以及所述当前时刻所述移动设备接收到的所述基站的信号强度计算下一时间间隔内的各所述链路带宽浮动比,其中,所述链路带宽浮动比表示所述聚合链路中各所述链路的带宽变化情况;
其中位置信息包括所述移动设备的当前位置、运动速度以及运动方向;其中,所述信号强度信息包括所述当前时刻所述移动设备接收到的所述基站的信号强度以及所述当前时刻之前所述移动设备接收到的所述基站的信号强度变化趋势。
所述带宽预测模块330,用于根据所述链路带宽浮动比,结合所述理论带宽获取所述下一时间间隔内的链路带宽预测值;
所述带宽分配模块340,用于根据各链路的所述带宽预测值为所述移动设备和所述基站之间进行所述下一时间间隔内的数据传输带宽分配。
进一步地,所述数据获取模块310进一步包括带宽计算子模块311,所述带宽计算子模块311用于:根据以下公式计算所述理论带宽:
其中,各所述链路通过与对端链路聚合设备发送/接受ICPM报文获取各所述链路的所述丢包率与所述网络延时的时间。
进一步地,所述数据获取模块310进一步包括距离变化预测子模块312、信号强度变化预测子模块313。
所述距离变化预测子模块312,用于从所述位置信息中获取所述移动设备的当前位置、运动速度以及运动方向;根据所述移动设备的所述当前位置,结合预设的基站位置数据库获取所述移动设备与各所述基站之间的距离,并根据所述移动设备的所述运动速度以及所述运动方向,预测所述下一时间间隔内所述移动设备与所述基站的距离变化值;
所述信号强度变化预测子模块313,用于从所述信号强度信息中获取所述当前时刻所述移动设备接收到的所述基站的信号强度以及所述当前时刻之前所述移动设备接收到的所述基站的信号强度变化趋势;根据所述当前时刻所述移动设备接收到的所述基站的信号强度、所述当前时刻之前所述移动设备接收到的所述基站的信号强度变化趋势,结合所述移动设备与所述基站的所述距离变化值预测所述下一时间间隔内所述移动设备接收到的所述基站的信号强度的变化值。
进一步地,所述带宽浮动比计算模块320进一步用于:根据所述信号强度、所述信号强度的变化值、所述距离、以及所述距离变化值计算所述下一时间间隔内的所述链路带宽浮动比。
进一步地,所述带宽分配模块340进一步用于:将各所述链路的所述带宽预测值按照从大到小进行排序,在所述预设的时间间隔内,当已分配了承载数据的链路的带宽已用完,则选择所述排序中的下一条链路来承载数据。
本实施例中,通过数据获取模块获取移动设备的位置信息和接收到的信号强度信息,由带宽浮动比计算模块和带宽预测模块实时预测移动设备接入的各移动网络的状态并以此预测每条链路的带宽实现了各链路负载的动态调整,在移动网络中也实现了良好的链路聚合效果。
实施例四
以下部分将通过一个更加具体的实施例进一步阐述本发明一种用于移动网络的多链路聚合的链路带宽分配装置中,各模块的功能及其交互过程。
步骤410:数据获取模块310,在移动设备连接各移动运营商网络,与对端链路聚合设备建立聚合链路后记录各链路连接的基站;
步骤420:数据获取模块310周期性地获得移动设备在各链路上的网络延时和丢包率,由带宽计算子模块311并根据各链路的网络延时以及丢包率等来确定各链路的当前带宽。
其中,移动设备通过与对端链路聚合设备发送或接收ICMP((Internet ControlMessage Protocol,Internet控制报文协议)报文等方式,来确定各链路上的网络延时和丢包率。
具体地,链路的当前理论带宽,可以根据如下表达式来确定。
其中,网络延时的单位为ms,丢包率是一个大于等于0且小于等于1的数值。
步骤430::数据获取模块310获取所述移动设备的位置信息,并根据所述移设备的所述当前位置,查询预设的基站位置数据库,确定所述聚合链路中覆盖所述当前位置的n个所述基站,并计算所述移动设备与n个所述基站之间的距离di。
通常,在聚合链路建立后,移动设备开启定位功能获取当前时刻自身的当前位置。其中,定位的方式包括GPS定位、北斗定位等卫星定位方式。
与此同时,根据当前时刻之前所述移动设备的定位数据获取所述移动设备的运动速度以及运动方向,用以预测所述移动设备下一时刻的运动状态。
本发明实施例中,所述的基站是为该移动设备提供所述聚合链路中各链路的运营商基站。
其中,n为大于等于2的正整数,表示能够覆盖所述移动设备的基站的数量。i表示所述基站的序号,其取值范围在为[1,n]。
通常来说,移动设备本地存储有基站位置数据库,所述基站位置数据库通过与网络侧的服务器所存储的基站位置数据库进行同步更新。
本发明实施例中,查询所述基站位置数据库,用于获取能够覆盖所述移动设备的基站各自归属的运营商、各自所支持的网络制式以及各自的地理位置等。通过获取各个所述基站的地理位置,可以用来计算所述移动设备与各所述基站的距离、所述移动设备相对于各所述基站的运动速度和运动方向等。另外,所述基站的地理位置还用来配合于基站所述的运营商和所支持的网络制式,确定实际情况下所能达到的最大网络带宽,可以将各基站实际情况下所能达到的最大网络带宽作为各链路理论上可以达到的最大带宽。
对于不同网络下的基站,各自的覆盖能力通常而言并不相同。比如对于2G网络,基站的覆盖范围达几千米;而对于4G网络,基站的覆盖范围通常只有几百米。因此,在本发明的实施例中,所述基站可以包括能够覆盖到所述移动设备的且与所述移动设备远达几千米的至少一个2G网络下的基站,也可以包括能够覆盖到所述移动设备的与所述移动设备远达几百米甚至到两三千米的至少一个3G网络下的基站,还可以包括能够覆盖到所述移动设备的与所述移动设备远达几百米的至少一个4G网络下的基站。但是,无论这些基站各自归属于什么网络,这些基站的总数至少大于等于2。
步骤440:距离变化预测子模块312,根据已经计算完成的所述距离di以及所述移动设备的运动速度以及运动方向计算下一时间间隔内所述移动设备相对于各所述基站的位置变化Δdi;
本发明实施例中,所述下一个时间间隔为预设值,可以为1秒也可以是1分钟,当然,时间间隔越短,预测值的准确度越高,本发明实施例对时间间隔的时长并不做限制。
步骤450:数据获取模块310,利用移动网络的信号强度检测技术,获取所述移动设备在当前时刻接收到各所述基站的信号强度si。
步骤460:信号强度变化预测子模块313,根据所述当前时刻之前的一段时间内的所述移动设备接收到的所述基站的信号强度变化趋势,结合所述信号强度si和移动设备相对各基站的位置变化Δdi,预测所述下一个时间间隔内所述移动设备接收到的各所述基站的信号强度变化Δsi。
由于无线电信号会在传输过程中不断衰减,传输距离越远衰减越大。因此,通常而言,移动设备的信号强度与移动设备与基站之间的距离相关,距离基站越近则信号强度越好,反之则越差。因此,可以根据移动设备当前距离基站的位置、当前信号强度以及当前移动设备相对基站的位置变化,来近似计算信号强度的变化。信号强度是影响无线传输的重要因素,它的变化对于当前无线传输的带宽有较大的影响,因此确定信号强度变化的目的,就是根据强度变化来定量地预测下一时间间隔内带宽的变化量。
本发明的技术人员,通过历史测试数据,并经理论和试验验证,得到了近似程度较高的信号强度与移动设备与基站之间距离的对应表达函数s=f(d)。这样,基于当前移动设备距离基站的位置d0,以及移动设备在Δt的时间间隔内相对基站的位置变化Δd,可以计算得到下一时间间隔内距离基站的位置d1=d0+Δd*Δt,近似得到理论上的信号强度变化Δs'=f(d1)-f(d0),并根据当前实际的信号强度s0估算出Δt的时间间隔内信号强度的变化Δs=Δs'*(s0/f(d0))。
其中,所述当前时刻之前的一段时间内的所述移动设备接收到的所述基站的信号强度变化趋势,主要为变强、变弱或者不变化,进一步地还可以包括变化的加速度等。所述信号强度变化趋势,可以通过各基站在所述前一段时间中各时间间隔内的信号强度计算得来,比较简单的计算方式主要是计算这一段时间中各时间间隔内信号强度的平均值。在计算的过程中,还可以对各时间间隔内的信号强度进行加权处理。
步骤470:带宽浮动比计算模块320,根据所述信号强度、所述信号强度的变化值、所述距离、以及所述距离变化值计算所述下一时间间隔内的所述链路带宽浮动比。
所述带宽浮动比主要利用当前移动设备的位置信息、运动信息以及基站当前相对于该移动设备的信号状态等,来为移动设备与基站后续的带宽提供考虑因素。
在本实施例中,对于第i条链路的带宽浮动比率,主要根据所述移动设备与第i个基站的距离di、所述移动设备相对于第i个基站的位置变化Δdi、所述设备接收到的第i个基站当前的信号强度si、所述设备接收到的第i个基站的信号强度变化Δsi以及归一化参考值,来确定下一个时间间隔内的该第i条链路的带宽浮动比率。
作为一种示意,第i条链路的带宽浮动比率可以根据如下表达式来进行计算:
第i条链路的带宽浮动比率=(Rdi×di+RΔdi×Δdi+Rsi×si+RΔsi×Δsi)/base
其中,Rdi是用来对移动设备与第i个基站的距离di进行加权的权重,RΔdi是用来对移动设备相对于第i个基站的位置变化Δdi进行加权的权重,Rsi是用来对移动设备接收到的第i个基站当前的信号强度si进行加权的权重,RΔsi是用来对移动设备接收到的第i个基站的信号强度变化Δsi进行加权的权重,base归一化参考值。这些权重通常都是大于等于0的值。前述的Rdi、RΔdi、Rsi、RΔsi以及base,可以通过经验值进行确定。
在实际应用中,为了更加准确地获得第i条链路的带宽浮动比率,通常可以构造查找表并在使用时通过查表的方式来确定各条链路上的带宽浮动比率。该查找表中记录有对于每条链路而言,移动设备与基站的距离、移动设备相对于基站的位置变化、基站当前的信号强度以及信号强度变化等与带宽浮动比率的对应关系。而且,通常来讲,通过查表的方式来确定链路上的带宽浮动比率,效率也会更高。
步骤480:带宽预测模块330,根据所述链路带宽浮动比,结合所述理论带宽获取所述下一时间间隔内的链路带宽预测值;
根据各链路的当前带宽以及各链路的链路带宽浮动比率,获得下一个时间间隔内各链路的带宽预测值。具体地,下一个时间间隔内某链路的带宽预测值=该链路的当前带宽*(1+该链路的带宽浮动比率)。
步骤490:带宽分配模块340,将各所述链路的所述带宽预测值按照从大到小进行排序,在所述预设的时间间隔内,当已分配了承载数据的链路的带宽已用完,则选择所述排序中的下一条链路来承载数据。
实施例五
图4是本发明实施例五的设备结构示意图,结合图4,本发明实施例一种移动设备,处于多个移动通信网络的信号覆盖下,通过周围的多个基站建立有聚合链路,所述设备包括通信模块510、定位模块520、射频模块530、处理器540。
所述通信模块510通过与基站进行通信获取聚合链路中当前时刻各所述链路连接的运营商基站、各链路的理论带宽;
所述定位模块520通过GPS、北斗等定位方式获取聚合链路中当前时刻移动设备的位置信息;
所述射频模块530,利用移动网络的信号检测技术获取聚合链路中当前时刻所述移动设备接收到的所述基站的信号强度信息;
所述处理器540与所述通信模块510、定位模块520、射频模块530相连接并根据获取到的所述位置信息以及所述信号强度信息计算下一时间间隔内的各所述链路带宽浮动比;根据所述链路带宽浮动比,结合所述理论带宽获取所述下一时间间隔内的链路带宽预测值;根据各链路的所述带宽预测值为所述移动设备和所述基站之间进行所述下一时间间隔内的数据传输带宽分配。其中,所述链路带宽浮动比表示所述聚合链路中各所述链路的带宽变化情况。
进一步地,所述通信模块510根据以下公式计算所述理论带宽:
其中,各所述链路通过与对端链路聚合设备发送/接受ICPM报文获取各所述链路的所述丢包率与所述网络延时的时间。
进一步地,所述定位模块520从所述位置信息中获取所述移动设备的当前位置、运动速度以及运动方向;
根据所述移动设备的所述当前位置,结合预设的基站位置数据库获取所述移动设备与各所述基站之间的距离,并根据所述移动设备的所述运动速度以及所述运动方向,预测所述下一时间间隔内所述移动设备与所述基站的距离变化值;
进一步地,所述射频模块530从所述信号强度信息中获取所述当前时刻所述移动设备接收到的所述基站的信号强度以及所述当前时刻之前所述移动设备接收到的所述基站的信号强度变化趋势;根据所述当前时刻所述移动设备接收到的所述基站的信号强度、所述当前时刻之前所述移动设备接收到的所述基站的信号强度变化趋势,结合所述移动设备与所述基站的所述距离变化值预测所述下一时间间隔内所述移动设备接收到的所述基站的信号强度的变化值。
进一步地,所述处理器540,根据所述信号强度、所述信号强度的变化值、所述距离、以及所述距离变化值计算所述下一时间间隔内的所述链路带宽浮动比。所述处理器540将各所述链路的所述带宽预测值按照从大到小进行排序,在所述预设的时间间隔内,当已分配了承载数据的链路的带宽已用完,则选择所述排序中的下一条链路来承载数据。
本发明实施例所述移动设备还包括存储器550,与处理器540相连,存储有预设的表达式或者预设的查找表。所述处理器550根据预设的表达式将移动设备与各基站的距离、移动设备相对各基站的位置变化、各基站当前的信号强度以及各基站的信号强度变化作为表达式的输入,并基于归一化参考值,确定各链路的带宽浮动比率;或者根据查找表将移动设备与各基站的距离、移动设备相对各基站的位置变化、各基站当前的信号强度以及各基站的信号强度变化作为查找表的输入,确定各链路的带宽浮动比率。
作为一种示意,第i条链路的带宽浮动比率可以根据如下表达式来进行计算。
第i条链路的带宽浮动比率=(Rd×di+RΔd×Δdi+Rs×si+RΔs×Δsi)/base。
其中,Rdi是用来对移动设备与第i个基站的距离di进行加权的权重,RΔdi是用来对移动设备相对于第i个基站的位置变化Δdi进行加权的权重,Rsi是用来对移动设备接收到的第i个基站当前的信号强度si进行加权的权重,RΔsi是用来对移动设备接收到的第i个基站的信号强度变化Δsi进行加权的权重,base归一化参考值。这些权重通常都是大于等于0的值。前述的Rdi、RΔdi、Rsi、RΔsi以及base,可以通过经验值进行确定。
应用实例
以下部分将通过一个具体的应用实例来进一步对本发明实施例进行阐述。一台车载设备(也即具有无线链路聚合能力的前述的移动设备,应当理解,在其他应用场景中该移动设备还可以为手机、PAD、数据背包、随身MIFI、路由器等终端),它有三个各移动网络模块,这三个移动网络模块一一对应地接入中国移动、中国联通和中国电信的运营商网络,分别与中国移动网络中的基站、中国联通网络中的基站以及中国电信网络中的基站各自形成链路,车载设备通过MPTCP(Multipath TCP,多路并行传输协议)等技术,将这三条链路聚合在一起形成聚合链路。
当前此车载设备被携带在高速公路上使用,有大量数据需要通过设备进行发送和接收。在时间点t0,车载设备通过卫星定位功能获得自己的位置信息和自己的运动速度与方向。结合各移动网络模块入网时获得的基站id,并通过查询存储的基站数据库,获得当前连入的基站信息和位置。据此,车载设备计算当前距离各基站的位置和相对各基站的运动速度。在该时间点t0,车载设备距离中国移动网络的基站为100米(m),且正在以10米/秒(m/s)的速度远离;距离中国电信网络的基站为300m,且正在以5m/s速度靠近;距离中国联通网络的基站为1000m,正在以3m/s的速度靠近。
车载设备还根据各移动网络模块获得当前的网络制式和信号强度。当前,对应于中国移动网络的模块接入的是4G网络,信号强度为-50dBm;对应于中国电信网络的模块接入的是3G网络,信号强度为-70dBm;对应于中国联通网络的模块接入的是2G网络,信号强度为-90dBm。根据车载设备距离基站的位置、相对基站的运动速度以及信号强度,估算出无线信号的变化速率,中国移动网络为-10dBm/s;中国电信网络为5dBm/s;中国联通网络为2dBm/s。
基于以上数据,使用查表可以预测各移动网络下一秒的时间间隔内的带宽浮动比率,中国移动网络的带宽浮动比率为-10%,中国电信网络的带宽浮动比率为5%,中国联通网络的带宽浮动比率为2%。在t0时间点,车载设备与中国移动网络中的基站之间的链路的实际带宽为4Mbps,车载设备与中国电信网络的基站之间的链路的实际带宽为1Mbps,车载设备与中国联通网络的基站之间的链路的实际带宽为200Kbps。根据浮动比率预测获得下一秒时,车载设备与中国移动网络的基站之间的链路的带宽为3.6Mbps,车载设备与中国电信网络的基站之间的链路的带宽为1.05Mbps,车载设备与中国联通网络的基站之间的链路的带宽为204Kbps。据此,车载设备在下一秒内,将按照预测这三条链路各自的带宽进行数据分配。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。