本发明专利技术涉及无线通讯领域,尤其是涉及一种Linux嵌入式设备的GPRS断线自动重拨的方法。本发明专利技术所要解决的技术问题是:针现有技术实现Linux嵌入式设备GPRS断线自动重拨存在的问题,提供一种可有效减少流量消耗且简单高效的方法。本发明专利技术通过监控虚拟接口ppp0时间间隔T的流量差和使用ping命令探测与首选、备用DNS服务器是否通信正常,决定是否进行重拨;并且通过直接对PPPD进程发送重播信号实现重拨。这是一种可有效减少流量消耗、提高重拨速度的可靠方法。本发明专利技术应用于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/ρρρθ.pid文件是否存在。如果pppd拨号成功,会在/var/run目录下添加ppp0.pid文件,这个文件记录当前PPPd进程的pid。若它存在,则在线;若不存在,则断线,此时就需要重新拨号。2.使用ping命令判断是否在线。若以首选DNS服务器IPl和备用DNS服务器IP2作为两个外网IP。首先需探测嵌入式设备与DNSl的连通性,可通过“ping -s1- c 2 IP1”实现,如探测结果与首选DNS服务器连通,则认为GPRS在线,等待一段时间后进入下一轮判断;如探测结果嵌入式设备与首选DNS服务器不连通,则需探测嵌入式设备与备用DNS服务器的连通性。同理,如嵌入式设备与备用DNS服务器连通则进入下一轮判断,如嵌入式设备与备用DNS服务器也不连通,此时认为GPRS断线,需要重拨。一般采用先结束PPI3D进程再运行PPP-ON脚本启用PPPD进程的方法实现重拨。对于第一种方法,显然是不可取的。实践证明当PPPd进程正常运行时,无线通信有可能是断开的。通过掉线原因分析也可得知掉线与PPPd进程是否存在没有必然的联系。对于第二种方法,不仅会造成流量的浪费而且重拨速度也很慢。以一个字节去ping加上返回的值一共是9个字节,也就是一个小时用9*12*60=6480B ^ 6.33KB。嵌入式设备的实际应用中,通常会要求设备长期在线,这样将造成流量严重浪费。采用先结束pppd进程,再运行ppp-on脚本启动pppd进程的重拨方法使得重拨速度很慢。
技术实现思路
本专利技术所要解决的技术问题是:针对现有技术存在的问题,提供一种Linux嵌入式设备的GPRS断线自动重拨的方法。通过监控虚拟接口 pppO时间间隔T的流量差以及通过ping命令探测与首选、备用DNS服务器是否通信正常,检测GPRS是否断线,由此判断是否进行重拨;并且通过直接对PPH)进程发送重播信号实现重拨。这样可解决流量消耗过高,并达到提高重拨速度的效果。本专利技术采用的技术方案如下: 一种GPRS断线自动重拨的方法包括: 步骤1:含有GPRS模块的Linux嵌入式设备拨号成功后,生成虚拟接口 pppO,并监控虚拟接口 PPPO时间间隔T后当前时刻与前一时刻流量差,若所述流量差值大于零,则GPRS模块没有掉线,无需重拨;若所述流量差值等于零,则执行步骤2 ; 步骤2:自动重播进程通过ping命令探测与首选DNS服务器是否通信正常,若能ping通,则无需重拨;若不能Ping通,则需要进行步骤3 ; 步骤3:自动重播进程通过ping命令探测与备用DNS服务器是否通信正常,若能ping通,则无需重拨;若不能Ping通,则认为掉线了,进行步骤4 ; 步骤4:重拨进程向pppd拨号进程发送重拨信号。所述自动重播进程向pppd拨号进程发送重拨信号后,若有触发事件使得pppd拨号进程状态为死亡,则PPPd拨号进程将断开LCP连接,并判断GPRS模块是否不需要再次连接、GPRS模块要求断开连接或GPRS模块连接不成功数大于最大值,当上述条件为真时,重播进程重新进行拨号请求。所述自动重拨进程以虚拟接口 pppO在时间间隔T后当前时刻与前一时刻收到数据的字节数差值作为判断依据,具体过程: 步骤11:自动重播进程通过读取文件/proc/net/dev,直到发现pppO开头的行; 步骤12:自动重播进程解析文件/proc/net/dev中pppO开头行的数据,获得接收到的字节数Pl ; 步骤13:自动重播进程在时间间隔T后重复步骤11、步骤12得到当前时刻虚拟接口PPPO接收到的字节数P2,则P2-P1即是流量差值。综上所述,由于采用了上述技术方案,本专利技术的有益效果是: I)通过虚拟接口 pppO在时间间隔T收到数据的字节数差值作为判断依据,检测是否断线,可有效减少GPRS断线自动重播过程中不必要的流量消耗。2)自动重播进程通过ping命令探测嵌入式设备与首选、备用DNS服务器是否通信正常,决定是否进行重拨是一种可靠的决定重拨的方法。3 )所述自动重播进程向pppd拨号进程发送重拨信号后,若有触发事件使得pppd拨号进程状态为死亡,则pppd拨号进程将断开LCP连接,并判断GPRS模块是否不需要再次连接、GPRS模块要求断开连接或GPRS模块连接不成功数大于最大值,当上述条件为真时,重播进程重新进行拨号请求,大幅提高重拨速度,节省系统程序开销。4)自动重播进程通过读取文件/proc/net/dev中以“pppO”开头的行,得到时间间隔值T后获取的流量差,这种方法简单、实用、高效。附图说明本专利技术将通过例子并参照附图的方式说明,其中: 图1本设计中pppd拨号主要流程图。具体实施例方式本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。本专利相关说明 1、最大值的设置依据PPPd程序,最大值可以变化。2,LCP连接是链路控制协议的简称。是PPP协议的一个子集,在PPP通信中,发送端和接收端通过发送LCP包来确定那些是数据传输中的必要信息。LCP检查链接设备的标识,决定是接受还是拒绝;确定传输中可接收的包字节数;核对双方配置是否匹配,如果不匹配则断开链接。只有在LCP包链接是可用的情况下,数据才能实现网络通信。LCP负责设备之间链路的创建、维护和终止。3、文件/proc/net/dev作用:实时反映了网络接口的流量信息,记录了每个网卡发送和接收的包和字节数,其中第二列是对接口收到的字节数的统计。本专利技术通过对文件/proc/net/dev 一行一行的读取,直到发现pppO开头的行,这就意味着找到了包含GPRS流量数据的信息,接下来只需要对该行数据进行解析,获取出其中接收到的字节数。通过上诉方法,每隔T时间间隔内,获取一次接收到的字节数,计算前后两次的差值可估算出T时间间隔内PPPO接口收到的字节数。3,工作过程:含有GPRS模块的Linux嵌入式设备启动pppd进程拨号成功后,生成虚拟接口 pppO ;随后启动自本文档来自技高网...
【技术保护点】
一种GPRS断线自动重拨的方法,其特征在于包括:步骤1:含有GPRS模块的Linux嵌入式设备拨号成功后,生成虚拟接口ppp0,自动重播进程以虚拟接口ppp0在时间间隔T后当前时刻与前一时刻收到的数据字节数差值作为判断依据,若差值大于零,则GPRS模块没有掉线,无需重拨;若差值等于零,则执行步骤2;步骤2:自动重播进程通过ping命令探测嵌入式设备与首选DNS服务器是否通信正常,若能ping通,则无需重拨;若不能ping通,则需要进行步骤3;步骤3:自动重播进程通过ping命令探测嵌入式设备与备用DNS服务器是否通信正常,若能ping通,则无需重拨;若不能ping通,则认为掉线了,进行步骤4;步骤4:重拨进程向pppd拨号进程发送重拨信号。
【技术特征摘要】
1.一种GPRS断线自动重拨的方法,其特征在于包括: 步骤1:含有GPRS模块的Linux嵌入式设备拨号成功后,生成虚拟接口 pppO,自动重播进程以虚拟接口 PPPO在时间间隔T后当前时刻与前一时刻收到的数据字节数差值作为判断依据,若差值大于零,则GPRS模块没有掉线,无需重拨;若差值等于零,则执行步骤2 ; 步骤2:自动重播进程通过ping命令探测嵌入式设备与首选DNS服务器是否通信正常,若能Ping通,则无需重拨;若不能ping通,则需要进行步骤3 ; 步骤3:自动重播进程通过ping命令探测嵌入式设备与备用DNS服务器是否通信正常,若能Ping通,则无需重拨;若不能ping通,则认为掉线了,进行步骤4 ; 步骤4:重拨进程向pppd拨号进程发送重拨信号。2.根据权利要求1所述的一种GPRS断线自动重拨的方法,其特征在于所述自动重播进程向PPP...
【专利技术属性】
技术研发人员:周海涛,
申请(专利权)人:成都卫士通信息产业股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。