一種基于多模終端的自適應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*信號強