[發明專利]一種GPRS斷線自動重撥的方法有效
| 申請號: | 201310094120.8 | 申請日: | 2013-03-22 |
| 公開(公告)號: | CN103179536A | 公開(公告)日: | 2013-06-26 |
| 發明(設計)人: | 周海濤 | 申請(專利權)人: | 成都衛士通信息產業股份有限公司 |
| 主分類號: | H04W4/16 | 分類號: | H04W4/16;H04M3/424 |
| 代理公司: | 成都九鼎天元知識產權代理有限公司 51214 | 代理人: | 徐宏 |
| 地址: | 610041 四*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 gprs 斷線 自動 方法 | ||
技術領域
本發明涉及無線通訊領域,尤其是涉及一種Linux嵌入式設備的GPRS斷線自動重撥的方法。
背景技術
在Linux嵌入式下GPRS無線通信開發中,一般需要嵌入式設備長期在線;然而事與愿違,我們經常會遇到掉線的問題。究其原因,主要有以下幾點:
1.?當同一個位置區LAC下不同小區的T3212(周期性位置更新定時器)值設置不一致時,在發生小區重選時會引發LAU(Location?Area?Update)、RAU(Routing?Area?Update)。目前現網將位置區LAC與路由區RAU設置為一致,當發生LAU時必然觸發RAU。頻繁的LAU、RAU會導致DTFTP下載延遲加大,嚴重時會導致掉線。
2.?GPRS通信時需要對路由進行更新(RAU),一旦路由更新不成功就會掉線。
3.?登錄服務器與開始下載數據之間發生小區重選導致掉線。
針對掉線問題,現有的一般處理方法如下:
1.判斷/var/run/ppp0.pid文件是否存在。
如果pppd撥號成功,會在/var/run目錄下添加ppp0.pid文件,這個文件記錄當前pppd進程的pid。若它存在,則在線;若不存在,則斷線,此時就需要重新撥號。
2.使用ping命令判斷是否在線。
若以首選DNS服務器IP1和備用DNS服務器IP2作為兩個外網IP。首先需探測嵌入式設備與DNS1的連通性,可通過“ping?–s?1?–c?2?IP1”實現,如探測結果與首選DNS服務器連通,則認為GPRS在線,等待一段時間后進入下一輪判斷;如探測結果嵌入式設備與首選DNS服務器不連通,則需探測嵌入式設備與備用DNS服務器的連通性。同理,如嵌入式設備與備用DNS服務器連通則進入下一輪判斷,如嵌入式設備與備用DNS服務器也不連通,此時認為GPRS斷線,需要重撥。一般采用先結束PPPD進程再運行PPP-ON腳本啟用PPPD進程的方法實現重撥。
對于第一種方法,顯然是不可取的。實踐證明當pppd進程正常運行時,無線通信有可能是斷開的。通過掉線原因分析也可得知掉線與pppd進程是否存在沒有必然的聯系。
對于第二種方法,不僅會造成流量的浪費而且重撥速度也很慢。
以一個字節去ping加上返回的值一共是9個字節,也就是一個小時用9*12*60=6480B≈6.33KB。嵌入式設備的實際應用中,通常會要求設備長期在線,這樣將造成流量嚴重浪費。
采用先結束pppd進程,再運行ppp-on腳本啟動pppd進程的重撥方法使得重撥速度很慢。
發明內容
本發明所要解決的技術問題是:針對現有技術存在的問題,提供一種Linux嵌入式設備的GPRS斷線自動重撥的方法。通過監控虛擬接口ppp0時間間隔T的流量差以及通過ping命令探測與首選、備用DNS服務器是否通信正常,檢測GPRS是否斷線,由此判斷是否進行重撥;并且通過直接對PPPD進程發送重播信號實現重撥。這樣可解決流量消耗過高,并達到提高重撥速度的效果。
本發明采用的技術方案如下:
一種GPRS斷線自動重撥的方法包括:
步驟1:含有GPRS模塊的Linux嵌入式設備撥號成功后,生成虛擬接口ppp0,并監控虛擬接口ppp0時間間隔T后當前時刻與前一時刻流量差,若所述流量差值大于零,則GPRS模塊沒有掉線,無需重撥;若所述流量差值等于零,則執行步驟2;
步驟2:自動重播進程通過ping命令探測與首選DNS服務器是否通信正常,若能ping通,則無需重撥;若不能ping通,則需要進行步驟3;
步驟3:自動重播進程通過ping命令探測與備用DNS服務器是否通信正常,若能ping通,則無需重撥;若不能ping通,則認為掉線了,進行步驟4;
步驟4:重撥進程向pppd撥號進程發送重撥信號。
所述自動重播進程向pppd撥號進程發送重撥信號后,若有觸發事件使得pppd撥號進程狀態為死亡,則pppd撥號進程將斷開LCP連接,并判斷GPRS模塊是否不需要再次連接、GPRS模塊要求斷開連接或GPRS模塊連接不成功數大于最大值,當上述條件為真時,重播進程重新進行撥號請求。
所述自動重撥進程以虛擬接口ppp0在時間間隔T后當前時刻與前一時刻收到數據的字節數差值作為判斷依據,具體過程:
步驟11:自動重播進程通過讀取文件/proc/net/dev,直到發現ppp0開頭的行;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于成都衛士通信息產業股份有限公司,未經成都衛士通信息產業股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310094120.8/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種地暖分水器的堵頭裝置
- 下一篇:一種化妝品瓶





