一种基于多模终端的自适应wifi接入方法
【技术领域】
[0001 ]本发明涉及WIFI接入的技术领域,具体涉及一种基于多模终端的自适应WIFI接入方法。
【背景技术】
[0002]目前,多模终端日益普及。考虑如下场景,当终端在场所A通过WIFI访问互联网,当终端离开场所A后,连入了一个并不能直接联网的接入路由器(比如CMCC等),当终端回到场所A后,WIFI仍然连接CMCC,需要等到IP地址即将过期时,才会再去发送广播请求,此时才有可能再次接入之前的可用WIFI。一般的IP地址过期时间为3分钟,因此,终端不能第一时间连入可用WIFI,影响用户的上网体验。
[0003]申请号为2011104545437的中国发明专利申请,公开了一种多模终端的业务处理系统,实现了一种多模终端实现数据在不同接口上的灵活调度,并未提供终端在WIFI覆盖条件下如何快速接入可用接入路由器场景下的解决方案。
【发明内容】
[0004]为了解决上述技术问题,本发明提供了一种基于多模终端的自适应WIFI接入方法,通过对接入路由器的WIFI连接历史进行记录和判别,确保终端无论在任何场景下切换,都能够支持多模终端在第一时间接入可用接入路由器,大幅优化了 WIFI接入方式以及提升了用户体验。
[0005]为了达到上述目的,本发明的技术方案是:一种基于多模终端的自适应WIFI接入方法,其步骤如下:
步骤一:监测模块实时监测多模终端的AP动态,维护AP管理表;
步骤二:多模终端的监测模块监测AP管理表,并对AP管理表重新进行排序;
步骤三:路由决策模块判断多模终端是否需要重新接入,如果需要则将多模终端与新的接入路由器进行连接;否则,继续保持与原有接入路由器的接入通信。
[0006]所述AP动态是指当前的接入路由器的接入情况,包含当前接入的接入路由器,未接入但是能够扫描到的接入路由器;AP管理表用于维护当前能够扫描到的所有接入路由器的代价,接入路由器的代价包括每个接入路由器的信号强弱、是否接入Internet、有无接入安全保障、丢包率和历史连接时长。
[0007]所述监测模块用于实时监测终端的WIFI接入情况,维护AP管理表;监测模块包括监测单元,监测单元用于实时监测多模终端的WIFI接入情况,判断是否有新的接入路由器的接入点,并对AP管理表进行维护。
[0008]所述监测模块通过LKM的形式添加在多模终端中,监测模块工作于系统内核态下通过挂载钩子函数实现在系统内核态下实时获取多模终端的WIFI接入情况,并更新到AP管理表中。
[0009]所述监测模块通过多模终端Linux内核态的广播通信机制实现第一时间获取新的接入路由器;广播通信机制通过注册广播接收器和API接口实现广播通信获取新的接入路由器信息。
[0010]所述路由决策模块用于判断终端是否需要接入新的接入路由器;决策模块包括决策单元,用于根据不同接入路由器的权重进行分析,判断是否需要重连接入新的WIFI。
[0011]所述权重的计算方法是:A*信号强弱+B*Internet连接参数+C*安全保障参数+D*丢包率+E*历史连接时长,其中A、B、C、D和E为权重系数。
[0012]所述路由器连接采用用户干预和自适应的方式实现;用户干预方式每次重连接入路由器时为用户提供确认UI,如果用户同意重连,则进行接入路由器重连,否则保持原有的接入路由器连接进行通信;自适应方式在用户无干预的状态下自动完成接入路由器重连。
[0013]所述多模终端通过Linux操作系统下的工具包iwconfig来进行连接。
[0014]本发明通过实时监测可用接入路由器,通过权重分析判断将终端第一时间连入可用接入路由器,整个过程对用户是透明的,完全在终端侧自适应处理,大幅提升用户的使用体验。本发明支持终端在任何场景下第一时间为用户接入最优网络,提高了接入效率,提升了用户体验。
【附图说明】
[0015]图1为本发明的流程图。
[0016]图2为本发明的WIFI接入示意图。
【具体实施方式】
[0017]为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合实施例,对本发明进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0018]一种基于多模终端的自适应WIFI接入方法,如图1所示,其步骤如下:
步骤一:监测模块实时监测多模终端的AP动态,维护AP管理表。
[0019]监测模块用于实时监测终端的WIFI接入情况,维护AP管理表。监测模块包括监测单元,用于实时监测多模终端的WIFI接入情况,判断是否有新的接入路由器的接入点,并对AP管理表进行维护。监测模块通过LKM(Loadable Kernel Module)的形式添加在多模终端中,监测模块工作于系统内核态下,通过挂载钩子函数实现在系统内核态下实时获取多模终端的WIFI接入情况,并更新到AP管理表中。AP管理表包括当前接入的接入路由器,可以扫描到的接入路由器,哪些接入路由器之前连接过。监测模块通过更新AP管理表可以对多模终端接入的所有可用网络进行维护和实时监测。监测模块可以通过多模终端Linux内核态的广播通信机制,即通过注册广播接收器,当多模终端扫描到新的接入路由器时,会发送广播给所有注册广播接收器的程序,通过该种方式可以保证第一时间获取新的接入路由器。
[0020]AP动态是指当前的接入路由器的接入情况,包含当前接入的接入路由器,未接入但是能够扫描到的接入路由器。这一部分可以采用上述广播通信机制的方式接收,操作系统为第三方程序提供了 API接口,直接调用便可实时获取路由器接入情况。AP管理表用于维护当前能够扫描到的所有接入路由器的代价,包括每个接入路由器的信号强弱、是否接入Internet、有无接入安全保障(即是否有密码认证)、丢包率以及历史连接时长。监测单元工作于操作系统的内核态下,通过在挂载点出挂载钩子函数,即可以实时的监测到终端的接入路由器连接情况,一旦终端扫描到的AP状态发生了变化,更新AP管理表,包括信号强弱的变化、丢包率的变化等。
[0021]步骤二:多模终端的监测模块监测AP管理表,并对AP管理表重新进行排序。
[0022]监测模块工作在操作系统的内核态下,操作系统本身可以实时的监测扫描到多模终端的AP状态变化。本本发明中的监测模块可以通过操作系统提供的API接口进行实时数据监测。其中,程序可以以I秒为间隔对AP管理表进行更新排序,排序依据于各个接入路由器的权重从高到低,权重可以参考以下线性计算公式:A*信号强