一種基于多模終端的自適應wifi接入方法
【技術(shù)領(lǐng)域】
[0001 ]本發(fā)明涉及WIFI接入的技術(shù)領(lǐng)域,具體涉及一種基于多模終端的自適應WIFI接入方法。
【背景技術(shù)】
[0002]目前,多模終端日益普及??紤]如下場景,當終端在場所A通過WIFI訪問互聯(lián)網(wǎng),當終端離開場所A后,連入了一個并不能直接聯(lián)網(wǎng)的接入路由器(比如CMCC等),當終端回到場所A后,WIFI仍然連接CMCC,需要等到IP地址即將過期時,才會再去發(fā)送廣播請求,此時才有可能再次接入之前的可用WIFI。一般的IP地址過期時間為3分鐘,因此,終端不能第一時間連入可用WIFI,影響用戶的上網(wǎng)體驗。
[0003]申請?zhí)枮?011104545437的中國發(fā)明專利申請,公開了一種多模終端的業(yè)務處理系統(tǒng),實現(xiàn)了一種多模終端實現(xiàn)數(shù)據(jù)在不同接口上的靈活調(diào)度,并未提供終端在WIFI覆蓋條件下如何快速接入可用接入路由器場景下的解決方案。
【發(fā)明內(nèi)容】
[0004]為了解決上述技術(shù)問題,本發(fā)明提供了一種基于多模終端的自適應WIFI接入方法,通過對接入路由器的WIFI連接歷史進行記錄和判別,確保終端無論在任何場景下切換,都能夠支持多模終端在第一時間接入可用接入路由器,大幅優(yōu)化了 WIFI接入方式以及提升了用戶體驗。
[0005]為了達到上述目的,本發(fā)明的技術(shù)方案是:一種基于多模終端的自適應WIFI接入方法,其步驟如下:
步驟一:監(jiān)測模塊實時監(jiān)測多模終端的AP動態(tài),維護AP管理表;
步驟二:多模終端的監(jiān)測模塊監(jiān)測AP管理表,并對AP管理表重新進行排序;
步驟三:路由決策模塊判斷多模終端是否需要重新接入,如果需要則將多模終端與新的接入路由器進行連接;否則,繼續(xù)保持與原有接入路由器的接入通信。
[0006]所述AP動態(tài)是指當前的接入路由器的接入情況,包含當前接入的接入路由器,未接入但是能夠掃描到的接入路由器;AP管理表用于維護當前能夠掃描到的所有接入路由器的代價,接入路由器的代價包括每個接入路由器的信號強弱、是否接入Internet、有無接入安全保障、丟包率和歷史連接時長。
[0007]所述監(jiān)測模塊用于實時監(jiān)測終端的WIFI接入情況,維護AP管理表;監(jiān)測模塊包括監(jiān)測單元,監(jiān)測單元用于實時監(jiān)測多模終端的WIFI接入情況,判斷是否有新的接入路由器的接入點,并對AP管理表進行維護。
[0008]所述監(jiān)測模塊通過LKM的形式添加在多模終端中,監(jiān)測模塊工作于系統(tǒng)內(nèi)核態(tài)下通過掛載鉤子函數(shù)實現(xiàn)在系統(tǒng)內(nèi)核態(tài)下實時獲取多模終端的WIFI接入情況,并更新到AP管理表中。
[0009]所述監(jiān)測模塊通過多模終端Linux內(nèi)核態(tài)的廣播通信機制實現(xiàn)第一時間獲取新的接入路由器;廣播通信機制通過注冊廣播接收器和API接口實現(xiàn)廣播通信獲取新的接入路由器信息。
[0010]所述路由決策模塊用于判斷終端是否需要接入新的接入路由器;決策模塊包括決策單元,用于根據(jù)不同接入路由器的權(quán)重進行分析,判斷是否需要重連接入新的WIFI。
[0011]所述權(quán)重的計算方法是:A*信號強弱+B*Internet連接參數(shù)+C*安全保障參數(shù)+D*丟包率+E*歷史連接時長,其中A、B、C、D和E為權(quán)重系數(shù)。
[0012]所述路由器連接采用用戶干預和自適應的方式實現(xiàn);用戶干預方式每次重連接入路由器時為用戶提供確認UI,如果用戶同意重連,則進行接入路由器重連,否則保持原有的接入路由器連接進行通信;自適應方式在用戶無干預的狀態(tài)下自動完成接入路由器重連。
[0013]所述多模終端通過Linux操作系統(tǒng)下的工具包iwconfig來進行連接。
[0014]本發(fā)明通過實時監(jiān)測可用接入路由器,通過權(quán)重分析判斷將終端第一時間連入可用接入路由器,整個過程對用戶是透明的,完全在終端側(cè)自適應處理,大幅提升用戶的使用體驗。本發(fā)明支持終端在任何場景下第一時間為用戶接入最優(yōu)網(wǎng)絡,提高了接入效率,提升了用戶體驗。
【附圖說明】
[0015]圖1為本發(fā)明的流程圖。
[0016]圖2為本發(fā)明的WIFI接入示意圖。
【具體實施方式】
[0017]為了使本發(fā)明所要解決的技術(shù)問題、技術(shù)方案及有益效果更加清楚明白,以下結(jié)合實施例,對本發(fā)明進行詳細的說明。應當說明的是,此處所描述的具體實施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0018]一種基于多模終端的自適應WIFI接入方法,如圖1所示,其步驟如下:
步驟一:監(jiān)測模塊實時監(jiān)測多模終端的AP動態(tài),維護AP管理表。
[0019]監(jiān)測模塊用于實時監(jiān)測終端的WIFI接入情況,維護AP管理表。監(jiān)測模塊包括監(jiān)測單元,用于實時監(jiān)測多模終端的WIFI接入情況,判斷是否有新的接入路由器的接入點,并對AP管理表進行維護。監(jiān)測模塊通過LKM(Loadable Kernel Module)的形式添加在多模終端中,監(jiān)測模塊工作于系統(tǒng)內(nèi)核態(tài)下,通過掛載鉤子函數(shù)實現(xiàn)在系統(tǒng)內(nèi)核態(tài)下實時獲取多模終端的WIFI接入情況,并更新到AP管理表中。AP管理表包括當前接入的接入路由器,可以掃描到的接入路由器,哪些接入路由器之前連接過。監(jiān)測模塊通過更新AP管理表可以對多模終端接入的所有可用網(wǎng)絡進行維護和實時監(jiān)測。監(jiān)測模塊可以通過多模終端Linux內(nèi)核態(tài)的廣播通信機制,即通過注冊廣播接收器,當多模終端掃描到新的接入路由器時,會發(fā)送廣播給所有注冊廣播接收器的程序,通過該種方式可以保證第一時間獲取新的接入路由器。
[0020]AP動態(tài)是指當前的接入路由器的接入情況,包含當前接入的接入路由器,未接入但是能夠掃描到的接入路由器。這一部分可以采用上述廣播通信機制的方式接收,操作系統(tǒng)為第三方程序提供了 API接口,直接調(diào)用便可實時獲取路由器接入情況。AP管理表用于維護當前能夠掃描到的所有接入路由器的代價,包括每個接入路由器的信號強弱、是否接入Internet、有無接入安全保障(即是否有密碼認證)、丟包率以及歷史連接時長。監(jiān)測單元工作于操作系統(tǒng)的內(nèi)核態(tài)下,通過在掛載點出掛載鉤子函數(shù),即可以實時的監(jiān)測到終端的接入路由器連接情況,一旦終端掃描到的AP狀態(tài)發(fā)生了變化,更新AP管理表,包括信號強弱的變化、丟包率的變化等。
[0021]步驟二:多模終端的監(jiān)測模塊監(jiān)測AP管理表,并對AP管理表重新進行排序。
[0022]監(jiān)測模塊工作在操作系統(tǒng)的內(nèi)核態(tài)下,操作系統(tǒng)本身可以實時的監(jiān)測掃描到多模終端的AP狀態(tài)變化。本本發(fā)明中的監(jiān)測模塊可以通過操作系統(tǒng)提供的API接口進行實時數(shù)據(jù)監(jiān)測。其中,程序可以以I秒為間隔對AP管理表進行更新排序,排序依據(jù)于各個接入路由器的權(quán)重從高到低,權(quán)重可以參考以下線性計算公式:A*信號強