专利名称:一种进行负载均衡的多模移动终端及方法
技术领域:
本发明涉及移动通信领域,特别是涉及一种进行负载均衡的多模移动终端及方法。
背景技术:
无线局域网(Wireless Local Area Network,简称WLAN)的演化和成功展开产生了与3G移动蜂窝网络如TD-SCDMA、WCDMA、CDMA2000等网络融合在一起的需求,这种融合的主要目的是发展出新的移动数据网络,使得在热点地区能以非常高数据速率支持普遍存在的数据业务,同时减轻大量数据业务给3G移动网络带来的数据流量上的压力。目前国内的三大电信运营商均发展了自己的无线局域网络,在固网与移动融合已成为全球电信业发展趋势的背景下,发展无线局域网和其他移动网络融合,以支撑并开拓新型移动数据业务,是必然的选择,另外家庭级别的无线局域网发展也相当迅速。终端不仅需要具备多种无线接入能力,也要考虑在无处不在的无线局域网络环境下,终端如何将无线局域网的速度加上蜂窝网络的速度融合共存,充分发挥终端多网络接口的速度优势,以满足用户获取更好的业务体验的需求和目的。随着智能终端业务的发展,多网络接口智能终端越来越倾向于多个数据链路并发,终端可以从不同数据链路收发数据报文,尽可能的发挥多数据链路的速度优势。但是目前智能终端系统的TCP/IP协议栈在设计时并没有充分考虑到多网络接口的充分支持,数据业务收发的数据报文在经过路由表进行路由选择时,如果没有匹配到指定路由,则都通过优先级最高的默认路由。Internet数据业务在使用网络接口收发报文时,都会使用系统TCP/IP协议栈提供的套接字(Socket)接口,进行连接建立、数据传输等操作。存在一些应用会先获取IP地址,再通过绑定(bind)函数进行socket与本地IP地址的绑定,但使用此socket在传输数据时所使用的本地IP地址最终还是由IP协议栈中路由匹配得到的数据链路来决定。上述多网络接口智能终端在多数据链路并发时,存在着不论负责连接的套接字有没绑定本机IP地址,数据业务始终从优先级最高的默认路由所匹配的数据链路上进行收发报文的问题,没有充分发挥终端多网络接口的速度优势。
发明内容
本发明要解决的技术问题是提供一种负载均衡的多模移动终端及方法,解决多模移动终端的多网络接口不能得到充分利用的问题。为了解决上述技术问题,本发明提供了一种负载均衡的多模移动终端,其中,包括流量计算模块、负载管理模块和路由转发模块;所述流量计算模块,用于计算所述多模移动终端所连接的各网络数据链路的负载
信息;所述负载管理模块,用于在新建套接字连接时,根据从所述流量计算模块获取所述各条网络数据链路的负载信息确定负载最轻的网络数据链路,将所述新建的套接字连接与此负载最轻的网络数据链路对应的网络接口绑定;所述路由转发模块,用于通过与所述新建的套接字连接绑定的网络接口进行所述新建的套接字连接的数据收发。进一步地,上述移动终端还可以具有以下特点所述负载信息是指各条数据链路的数据传输速度以及网络接口最大连接速度,负载最轻的数据链路是指数据传输速度与网络接口最大连接速度的比值最小的网络数据链路。进一步地,上述移动终端还可以具有以下特点所述网络数据链路包括无线局域网数据链路和/或移动蜂窝网络数据链路。进一步地,上述移动终端还可以具有以下特点所述负载管理模块,还用于将所述新建的套接字连接与所述负载最轻的网络数据链路对应的本机IP地址绑定;所述路由转发模块,还用于维持与所述新建的套接字连接绑定的网络接口和所述本机IP地址的对应关系。进一步地,上述移动终端还可以具有以下特点所述负载管理模块,还用于判断与所述新建的套接字连接绑定的本机IP地址为无效地址时,或者不存在与所述新建的套接字连接绑定的本机IP地址时,将所述新建的套接字连接与所述负载最轻的网络数据链路对应的本机IP地址绑定。为了解决上述技术问题,本发明提供了一种进行负载均衡的方法,其中,计算多模移动终端所连接的各网络数据链路的负载信息;在新建套接字连接时,根据所述各条网络数据链路的负载信息确定负载最轻的网络数据链路,将所述新建的套接字连接与此负载最轻的网络数据链路对应的网络接口绑定;通过与所述新建的套接字连接绑定的网络接口进行所述新建的套接字连接的数据收发。进一步地,上述方法还可以具有以下特点所述负载信息是指各条数据链路的数据传输速度以及网络接口最大连接速度,负载最轻的数据链路是指数据传输速度与网络接口最大连接速度的比值最小的网络数据链路。进一步地,上述方法还可以具有以下特点所述网络数据链路包括无线局域网数据链路和/或移动蜂窝网络数据链路。进一步地,上述方法还可以具有以下特点所述多模移动终端将所述新建的套接字连接与所述负载最轻的网络数据链路对应的本机IP地址绑定,维持与所述新建的套接字连接绑定的网络接口和所述本机IP地址的对应关系。进一步地,上述方法还可以具有以下特点所述多模移动终端判断与所述新建的套接字连接绑定的本机IP地址为无效地址时,或者不存在与所述新建的套接字连接绑定的本机IP地址时,将所述新建的套接字连接与所述负载最轻的网络数据链路对应的本机IP地址绑定。本方案可以解决多模移动终端的多网络接口不能得到充分利用的问题,在多模移动终端的多条网络链路并发时,使各条链路数据流量负载均衡。
图I是实施例中负载均衡方法的示意图;图2是实施例中负载均衡的多模移动终端的结构示意图;图3是实施例中负载均衡的多模移动终端在Android平台实现的架构图。
具体实施例方式本方案的多模移动终端是指固定移动融合(FMC Fix-Mobile Convergence)的移动终端。此类移动终端既可接入无线局域网,也可以接入CDMA lx、CDMA evdo、GSM/GPRS、 WCDMA、TD-SCDMA等蜂窝式移动网络。此类移动终端可以在多条网络链路同时工作,本方案中,通过在新建Socket连接时,将所述新建的socket连接与所述负载最轻的网络接口绑定,达到多数据链路并发时,各条链路数据流量负载均衡的目的。如图I所示进行负载均衡的方法包括计算多模移动终端所连接的各网络数据链路的负载信息;在新建套接字连接时,根据所述各条网络数据链路的负载信息确定负载最轻的网络数据链路,将所述新建的套接字连接与此负载最轻的网络数据链路对应的网络接口绑定;通过与所述新建的套接字连接绑定的网络接口进行所述新建的套接字连接的数据收发。所述负载信息是指各条数据链路的数据传输速度以及网络接口最大连接速度,负载最轻的数据链路是指数据传输速度与网络接口最大连接速度的比值最小的网络数据链路。所述网络数据链路包括无线局域网数据链路和/或移动蜂窝网络数据链路。所述多模移动终端将所述新建的套接字连接与所述负载最轻的网络数据链路对应的本机IP地址绑定,维持与所述新建的套接字连接绑定的网络接口和所述本机IP地址的对应关系。所述多模移动终端判断与所述新建的套接字连接绑定的本机IP地址为无效地址时,或者不存在与所述新建的套接字连接绑定的本机IP地址时,将所述新建的套接字连接与所述负载最轻的网络数据链路对应的本机IP地址绑定。本方案中增加了流量计算模块(201)、负载管理模块(202)。如图I所示,负载管理模块与移动终端中的路由转发模块(203)相连。如图3所示是新增模块在Android平台内的位置。流量计算模块(201),用于计算所述多模移动终端所连接的各网络数据链路的负载信息;负载管理模块(202),用于在新建套接字连接时,根据从所述流量计算模块获取所述各条网络数据链路的负载信息确定负载最轻的网络数据链路,将所述新建的套接字连接与此负载最轻的网络数据链路对应的网络接口绑定;路由转发模块(203),用于通过与所述新建的套接字连接绑定的网络接口进行所述新建的套接字连接的数据收发。所述负载信息是指各条数据链路的数据传输速度以及网络接口最大连接速度,负载最轻的数据链路是指数据传输速度与网络接口最大连接速度的比值最小的网络数据链路。所述网络数据链路包括无线局域网数据链路和/或移动蜂窝网络数据链路。负载管理模块(202)还用于将所述新建的套接字连接与所述负载最轻的网络数据链路对应的本机IP地址绑定;路由转发模块(103)还用于维持与所述新建的套接字连接绑定的网络接口和所述本机IP地址的对应关系。负载管理模块(203)还用于判断与所述新建的套接字连接绑定的本机IP地址为无效地址时,或者不存在与所述新建的套接字连接绑定的本机IP地址时,将所述新建的套接字连接与所述负载最轻的网络数据链路对应的本机IP地址绑定。本方案中,负载均衡功能可以与链路优选功能一样,通过设置界面来启用,并且两者只能选其一。负载均衡功能实现的前提条件是蜂窝网络PS链路和WLAN链路同时存在, 网络应用程序可以通过任意一条链路进行网络数据报文的收发处理。下面通过具体实施例详细说明本发明。具体实施例一步骤I,在无线局域网环境下,UE开启WLAN模块,扫描AP列表,选择可用的SSID, 进行连接,UE关联到上述AP后,获取IP地址等网络配置。同时蜂窝网络数据连接也存在, 两条数据链路并发,提示用户已开启负载均衡功能,可通过界面配置关闭此功能。步骤2, Internet-Capable 应用程序启动。步骤3,调用套接字接口创建一个socket连接,获取此套接字描述符socketfd。步骤4,负载管理模块调用流量计算模块接口函数,获取当前蜂窝和WLAN两条链路上传输数据流量的速率SI、S2(b/s),以及上述两个网络接口上最大理论连接速度 Smaxl、Smax2(b/s)。负载管理模块计算上述两个网络接口的负载率Ldevl = Sl/Smaxl, Ldev2 = S2/Smax2,并比较得出较低负载率所对应的网络接口 dev和本机IP地址。负载管理模块调用bind函数将socketfd与上述本机IP地址绑定。步骤5,负载管理模块将socketfd绑定到负载率低的网络接口 dev上,调用函数 setsockopt完成此步骤。步骤6,Socketfd收发数据经过TCP/IP协议栈,进行路由表查找时,增加了一个查找键,将出口固定为dev,并保持dev和socketfd绑定的本机IP地址匹配。应用程序创建多个socket连接时,重复步骤3到步骤6。多个应用程序启动时,重复步骤2到步骤6。具体实施例二步骤I,在无线局域网环境下,UE开启WLAN模块,扫描AP列表,选择可用的SSID, 进行连接,UE关联到上述AP后,获取IP地址等网络配置。同时蜂窝网络数据连接也存在, 两条数据链路并发,提示用户已开启负载均衡功能,可通过界面配置关闭此功能。步骤2, Internet-Capable 应用程序启动。步骤3,调用套接字接口创建一个socket连接,获取此套接字描述符socketfd。步骤4,上述应用程序调用bind函数将socketfd与本地IP地址绑定。负载管理模块检查上述绑定的本地IP地址是否为有效地址,如果绑定的是有效链路IP地址,获取此本地IP地址对应的网络接口,并将socketfd与此网络接口名绑定,在收发数据时将socket连接的数据在此网络接口收发;如果绑定的不是有效链路IP地址,执行步骤5 ;步骤5,负载管理模块调用流量计算模块接口函数,获取当前蜂窝和WLAN两条链路上传输数据流量的速率SI、S2(b/s),以及上述两个网络接口上最大理论连接速度 Smaxl、Smax2(b/s)。负载管理模块计算上述两个网络接口的负载率Ldevl = Sl/Smaxl, Ldev2 = S2/Smax2,并比较得出较低负载率所对应的网络接口 dev和本机IP地址。负载管理模块调用bind函数将socketfd与上述本机IP地址绑定。步骤6,负载管理模块将socketfd绑定到负载率低的网络接口 dev上,调用函数 setsockopt完成此步骤。步骤7,Socketfd收发数据经过TCP/IP协议栈,进行路由表查找时,增加了一个查找键,将外出设备固定为dev,并保持dev和socketfd绑定的本机IP地址匹配。应用程序创建多个socket连接时,重复步骤3到步骤7。多个应用程序启动时,重复步骤2到步骤7。以Android双模WLAN终端为例,在链路并发时,可以将新创建的socket连接将绑定到负载轻的网络链路上,充分发挥双模WLAN终端的优势,有效增加了双模WLAN终端的实际传输速率和可以达到的最大网络速率,达到本专利所要实现的目的。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相
互任意组合。当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
权利要求
1.一种负载均衡的多模移动终端,其中,包括流量计算模块、负载管理模块和路由转发模块;所述流量计算模块,用于计算所述多模移动终端所连接的各网络数据链路的负载信所述负载管理模块,用于在新建套接字连接时,根据从所述流量计算模块获取所述各条网络数据链路的负载信息确定负载最轻的网络数据链路,将所述新建的套接字连接与此负载最轻的网络数据链路对应的网络接口绑定;所述路由转发模块,用于通过与所述新建的套接字连接绑定的网络接口进行所述新建的套接字连接的数据收发。
2.如权利要求I所述的移动终端,其特征在于,所述负载信息是指各条数据链路的数据传输速度以及网络接口最大连接速度,负载最轻的数据链路是指数据传输速度与网络接口最大连接速度的比值最小的网络数据链路。
3.如权利要求I所述的移动终端,其特征在于,所述网络数据链路包括无线局域网数据链路和/或移动蜂窝网络数据链路。
4.如权利要求I所述的移动终端,其特征在于,所述负载管理模块,还用于将所述新建的套接字连接与所述负载最轻的网络数据链路对应的本机IP地址绑定;所述路由转发模块,还用于维持与所述新建的套接字连接绑定的网络接口和所述本机 IP地址的对应关系。
5.如权利要求4所述的移动终端,其特征在于,所述负载管理模块,还用于判断与所述新建的套接字连接绑定的本机IP地址为无效地址时,或者不存在与所述新建的套接字连接绑定的本机IP地址时,将所述新建的套接字连接与所述负载最轻的网络数据链路对应的本机IP地址绑定。
6.一种进行负载均衡的方法,其中,计算多模移动终端所连接的各网络数据链路的负载信息;在新建套接字连接时,根据所述各条网络数据链路的负载信息确定负载最轻的网络数据链路,将所述新建的套接字连接与此负载最轻的网络数据链路对应的网络接口绑定;通过与所述新建的套接字连接绑定的网络接口进行所述新建的套接字连接的数据收发。
7.如权利要求6所述的方法,其特征在于,所述负载信息是指各条数据链路的数据传输速度以及网络接口最大连接速度,负载最轻的数据链路是指数据传输速度与网络接口最大连接速度的比值最小的网络数据链路。
8.如权利要求6所述的方法,其特征在于,所述网络数据链路包括无线局域网数据链路和/或移动蜂窝网络数据链路。
9.如权利要求6所述的方法,其特征在于,所述多模移动终端将所述新建的套接字连接与所述负载最轻的网络数据链路对应的本机IP地址绑定,维持与所述新建的套接字连接绑定的网络接口和所述本机IP地址的对应关系。
10.如权利要求9所述的方法,其特征在于,所述多模移动终端判断与所述新建的套接字连接绑定的本机IP地址为无效地址时, 或者不存在与所述新建的套接字连接绑定的本机IP地址时,将所述新建的套接字连接与所述负载最轻的网络数据链路对应的本机IP地址绑定。
全文摘要
本发明公开了一种进行负载均衡的多模移动终端及方法,计算多模移动终端所连接的各网络数据链路的负载信息;在新建套接字连接时,根据所述各条网络数据链路的负载信息确定负载最轻的网络数据链路,将所述新建的套接字连接与此负载最轻的网络数据链路对应的网络接口绑定;通过与所述新建的套接字连接绑定的网络接口进行所述新建的套接字连接的数据收发。本方案可以解决多模移动终端的多网络接口不能得到充分利用的问题,在多模移动终端的多条网络链路并发时,使各条链路数据流量负载均衡。
文档编号H04W88/06GK102595502SQ201210023029
公开日2012年7月18日 申请日期2012年2月2日 优先权日2012年2月2日
发明者李建勇 申请人:中兴通讯股份有限公司