
本發(fā)明涉及環(huán)境、水文、地質(zhì)災(zāi)害監(jiān)測
技術(shù)領(lǐng)域:
,具體涉及一種網(wǎng)絡(luò)數(shù)據(jù)透傳斷線檢測方法。
背景技術(shù):
:野外環(huán)境、水文、地質(zhì)災(zāi)害監(jiān)測站往往地處偏遠(yuǎn)山區(qū),基本沒有3G、4G網(wǎng)絡(luò)信號(hào),只能依靠GPRS網(wǎng)絡(luò)傳輸數(shù)據(jù)。目前市場上使用較多的GPRS模塊有華為公司生產(chǎn)的各種信號(hào)GSM模塊以及西門子公司生產(chǎn)的GSM模塊。這些GSM模塊產(chǎn)品均采用通用的AT指令協(xié)議(AT指令可查詢連接狀態(tài))。設(shè)備上的微處理器MCU可利用AT指令協(xié)議控制GSM模塊。華為以及西門子公司生產(chǎn)的GSM模塊中的AT指令可以返回當(dāng)前連接狀態(tài)是否正常。然而,在實(shí)際應(yīng)用盡管GSM模塊返回連接正常,事實(shí)上該TCP連接早已斷開(這種情況普遍存在,在多篇學(xué)術(shù)論文以及通信技術(shù)BBS上均有討論該問題)。因此,GSM模塊有以下缺陷:(1)無法檢測虛連接,導(dǎo)致通信中斷且無法自動(dòng)恢復(fù),嚴(yán)重影響監(jiān)測數(shù)據(jù)的回傳效率;(2)需要長達(dá)100分鐘的時(shí)間才能夠檢測到,耗時(shí)過長,實(shí)用性不強(qiáng)。采用GPRS網(wǎng)絡(luò)連接Internet進(jìn)行TCP通信很容易產(chǎn)生虛連接的情況,即遠(yuǎn)程連接通信鏈路已經(jīng)斷開了。目前,在行業(yè)領(lǐng)域解決GPRS網(wǎng)絡(luò)TCP虛連接的方法主要有兩種:第一種、縮短TCP/IP包未確認(rèn)連接時(shí)間(標(biāo)為現(xiàn)有技術(shù)1),具體是:單片機(jī)在初始化時(shí)發(fā)送AT^SCFG=120指令,設(shè)定如果發(fā)送的數(shù)據(jù)2min內(nèi)沒有獲得確認(rèn),就關(guān)斷連接。從而能在AT^SISI指令中得到真正的TCP/IP連接狀態(tài)。此方式的缺點(diǎn)是:(1)、無法實(shí)時(shí)判斷是否在線連接,需要等待設(shè)定的響應(yīng)時(shí)間才能判斷是否連接上;(2)、如果中間間隔很長時(shí)間沒有發(fā)送數(shù)據(jù),則在這段時(shí)間內(nèi),GSM模塊不會(huì)進(jìn)行連接狀態(tài)的判斷。然而在環(huán)境、水文、地質(zhì)災(zāi)害監(jiān)測系統(tǒng)中,監(jiān)測間隔往往為半個(gè)小時(shí)或一個(gè)小時(shí)一次,在這段時(shí)間內(nèi)無法判斷GPRS連接的狀態(tài)。第二種、采用定時(shí)器周期判斷法(標(biāo)為現(xiàn)有技術(shù)2),具體是:具體方法為:使用AT^SISI指令查詢當(dāng)前狀態(tài),即使有虛連接的可能,<ackData>數(shù)據(jù)也表明了已經(jīng)發(fā)送的數(shù)據(jù)。如果在一定時(shí)間內(nèi),考慮到心跳協(xié)議也要發(fā)送數(shù)據(jù),則可以判斷這一段時(shí)間里<ackData>是否增多。如果<ackData>數(shù)據(jù)沒有增加,則說明網(wǎng)絡(luò)實(shí)際上已經(jīng)斷開,需要重新連接。這種方法的核心是根據(jù)發(fā)送成功的數(shù)據(jù)包大小有沒有增加來判斷是否連接正常。然而在環(huán)境、水文、地質(zhì)災(zāi)害監(jiān)測系統(tǒng)中,監(jiān)測間隔往往為半個(gè)小時(shí)或一個(gè)小時(shí)一次,在這段時(shí)間內(nèi)數(shù)據(jù)包不會(huì)增加。如果設(shè)置心跳包,即每隔一定時(shí)間(如10秒)發(fā)送一次心跳包數(shù)據(jù),是可以解決這個(gè)問題的。然而針對TCP/IP透傳模式,設(shè)置定時(shí)器定時(shí)查詢連接狀態(tài)需要先退出透傳模式,確認(rèn)連接正常后再重新進(jìn)入透傳模式。這種方法在切換透傳模式的時(shí)候會(huì)影響正常監(jiān)測數(shù)據(jù)的發(fā)送。綜上所述,開發(fā)設(shè)計(jì)一種結(jié)構(gòu)精簡、操作方便、能夠做到實(shí)時(shí)檢測、因不用切換透傳模式而不會(huì)影響正常監(jiān)測數(shù)據(jù)的傳輸以及適用于環(huán)境、水文、地質(zhì)災(zāi)害監(jiān)測的數(shù)據(jù)傳輸系統(tǒng)和方法具有重要意義。技術(shù)實(shí)現(xiàn)要素:本發(fā)明目的在于提供一種結(jié)構(gòu)精簡且適用于環(huán)境、水文、地質(zhì)災(zāi)害監(jiān)測的數(shù)據(jù)傳輸系統(tǒng),具體技術(shù)方案如下:一種網(wǎng)絡(luò)數(shù)據(jù)透傳系統(tǒng),包括遠(yuǎn)程數(shù)據(jù)傳輸設(shè)備和與所述遠(yuǎn)程數(shù)據(jù)傳輸設(shè)備連接的遠(yuǎn)程服務(wù)端;所述遠(yuǎn)程數(shù)據(jù)傳輸設(shè)備包括具有回顯功能的GSM模塊以及與所述GSM模塊連接的微處理器,所述微處理器包括對所述GSM模塊進(jìn)行初始化的初始化模塊、間隔性對外發(fā)送包含特定字符串的心跳包的定時(shí)器輪詢模塊、收到所述定時(shí)器輪詢模塊發(fā)送的重新連接信號(hào)后啟動(dòng)重新連接的網(wǎng)絡(luò)斷線重連模塊以及實(shí)時(shí)對傳輸數(shù)據(jù)進(jìn)行監(jiān)控的監(jiān)控?cái)?shù)據(jù)傳輸模塊。以上技術(shù)方案中優(yōu)選的,所述遠(yuǎn)程數(shù)據(jù)傳輸設(shè)備和所述遠(yuǎn)程服務(wù)端之間還設(shè)有GPRS通信基站,所述遠(yuǎn)程數(shù)據(jù)傳輸設(shè)備與所述GPRS通信基站之間以及所述遠(yuǎn)程服務(wù)端與所述GPRS通信基站之間均通過ICP/IP協(xié)議進(jìn)行數(shù)據(jù)傳輸。應(yīng)用本發(fā)明的技術(shù)方案,系統(tǒng)整個(gè)結(jié)構(gòu)精簡,便于使用;遠(yuǎn)程數(shù)據(jù)傳輸設(shè)備和遠(yuǎn)程服務(wù)端之間還設(shè)有GPRS通信基站,提高數(shù)據(jù)傳輸?shù)木珳?zhǔn)度。本發(fā)明還提供一種上述網(wǎng)絡(luò)數(shù)據(jù)透傳系統(tǒng)的斷線檢測方法,包括以下步驟:第一步:GSM模塊上電時(shí),初始化模塊對GSM模塊進(jìn)行初始化,開啟GSM模塊的回顯功能,啟動(dòng)遠(yuǎn)程數(shù)據(jù)傳輸設(shè)備與遠(yuǎn)程服務(wù)端之間的遠(yuǎn)程連接并進(jìn)入數(shù)據(jù)透傳模式;啟動(dòng)監(jiān)控?cái)?shù)據(jù)傳輸模塊,對網(wǎng)絡(luò)的數(shù)據(jù)傳輸情況進(jìn)行監(jiān)控;第二步:定時(shí)器輪詢模塊每間隔時(shí)間T1對外發(fā)送包含字符串D的心跳包,T1為10ms-1s;第三步:定時(shí)器輪詢模塊實(shí)時(shí)檢測GSM模塊收到的數(shù)據(jù),對GSM模塊收到的數(shù)據(jù)進(jìn)行判斷:若GSM模塊收到的數(shù)據(jù)包含了完整的心跳包,則認(rèn)為網(wǎng)絡(luò)連接已經(jīng)掉線,定時(shí)器輪詢模塊發(fā)送重新連接信號(hào)給網(wǎng)絡(luò)斷線重連模塊,進(jìn)入下一步;若GSM模塊收到的數(shù)據(jù)不包含完整的心跳包,則認(rèn)為網(wǎng)絡(luò)連接正常,返回第二步;第四步:網(wǎng)絡(luò)斷線重連模塊收到定時(shí)器輪詢模塊發(fā)送的重新連接信號(hào)后,啟動(dòng)重新連接;若連接失敗,則掛起時(shí)間T2后再次嘗試,直到網(wǎng)絡(luò)連接成功或者GSM模塊斷電為止,T2為20-50s。以上技術(shù)方案中優(yōu)選的,T1為500ms,T2為30s。應(yīng)用本發(fā)明的網(wǎng)絡(luò)數(shù)據(jù)透傳系統(tǒng)的斷線檢測方法(即GPRS嵌入式Internet網(wǎng)絡(luò)數(shù)據(jù)透傳斷線檢測方法),效果是:1、通過設(shè)置定時(shí)器輪詢模塊不斷定時(shí)發(fā)送包含特定字符串的心跳包,同時(shí)實(shí)時(shí)偵測GSM模塊收到的數(shù)據(jù)是否包含該心跳包。如果包含該心跳包則啟動(dòng)斷線重連模塊RN。通過以上流程可以做到實(shí)時(shí)檢測數(shù)據(jù)透傳模式下GPRS網(wǎng)絡(luò)連接是否掉線,掉線后可以保證立即重連,從而達(dá)到GPRS模塊實(shí)時(shí)在線的目的。該方法能夠做到實(shí)時(shí)檢測,不用切換透傳模式從而不會(huì)影響正常監(jiān)測數(shù)據(jù)的傳輸,該方法步驟簡單,實(shí)施方便。2、定時(shí)器輪詢間隔可以依據(jù)微處理器MCU的處理速度以及GSM模塊的應(yīng)用場景需要設(shè)置為10ms-1s,輪詢間隔越小實(shí)時(shí)性越高,但所占用的計(jì)算資源越高,此處的輪詢時(shí)間設(shè)計(jì)合理,符合環(huán)境、水文、地質(zhì)災(zāi)害監(jiān)測的需求。3、根據(jù)GSM模塊的應(yīng)用場景可以設(shè)計(jì)不同的心跳包(包含字符串D)以保證與遠(yuǎn)程服務(wù)端發(fā)送過來的數(shù)據(jù)區(qū)分開來,滿足不同的需求。除了上面所描述的目的、特征和優(yōu)點(diǎn)之外,本發(fā)明還有其它的目的、特征和優(yōu)點(diǎn)。下面將參照圖,對本發(fā)明作進(jìn)一步詳細(xì)的說明。附圖說明構(gòu)成本申請的一部分的附圖用來提供對本發(fā)明的進(jìn)一步理解,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:圖1是實(shí)施例1的網(wǎng)絡(luò)數(shù)據(jù)透傳系統(tǒng)的結(jié)構(gòu)示意圖;其中,1、遠(yuǎn)程數(shù)據(jù)傳輸設(shè)備,1.1、GSM模塊,1.2、微處理器,1.21、初始化模塊,1.22、定時(shí)器輪詢模塊,1.23、網(wǎng)絡(luò)斷線重連模塊,1.24、監(jiān)控?cái)?shù)據(jù)傳輸模塊,2、遠(yuǎn)程服務(wù)端,3、GPRS通信基站。具體實(shí)施方式以下結(jié)合附圖對本發(fā)明的實(shí)施例進(jìn)行詳細(xì)說明,但是本發(fā)明可以根據(jù)權(quán)利要求限定和覆蓋的多種不同方式實(shí)施。實(shí)施例1:參見圖1,一種網(wǎng)絡(luò)數(shù)據(jù)透傳系統(tǒng),包括遠(yuǎn)程數(shù)據(jù)傳輸設(shè)備1和與所述遠(yuǎn)程數(shù)據(jù)傳輸設(shè)備1連接的遠(yuǎn)程服務(wù)端2。所述遠(yuǎn)程數(shù)據(jù)傳輸設(shè)備1包括具有回顯功能的GSM模塊1.1以及與所述GSM模塊1.1連接的微處理器1.2,所述微處理器1.2包括對所述GSM模塊1.1進(jìn)行初始化的初始化模塊1.21、間隔性對外發(fā)送包含特定字符串的心跳包的定時(shí)器輪詢模塊1.22、收到所述定時(shí)器輪詢模塊1.22發(fā)送的重新連接信號(hào)后啟動(dòng)重新連接的網(wǎng)絡(luò)斷線重連模塊1.23以及實(shí)時(shí)對傳輸數(shù)據(jù)進(jìn)行監(jiān)控的監(jiān)控?cái)?shù)據(jù)傳輸模塊1.24。所述遠(yuǎn)程數(shù)據(jù)傳輸設(shè)備1和所述遠(yuǎn)程服務(wù)端2之間還設(shè)有GPRS通信基站3,所述遠(yuǎn)程數(shù)據(jù)傳輸設(shè)備1與所述GPRS通信基站3之間以及所述遠(yuǎn)程服務(wù)端2與所述GPRS通信基站3之間均通過ICP/IP協(xié)議進(jìn)行數(shù)據(jù)傳輸。應(yīng)用上述網(wǎng)絡(luò)數(shù)據(jù)透傳系統(tǒng)進(jìn)行斷線檢測,具體包括以下步驟:第一步:GSM模塊1.1上電時(shí),初始化模塊1.21對GSM模塊1.1進(jìn)行初始化,開啟GSM模塊1.1的回顯功能,啟動(dòng)遠(yuǎn)程數(shù)據(jù)傳輸設(shè)備1與遠(yuǎn)程服務(wù)端2之間的遠(yuǎn)程連接并進(jìn)入數(shù)據(jù)透傳模式;啟動(dòng)監(jiān)控?cái)?shù)據(jù)傳輸模塊1.24,對網(wǎng)絡(luò)的數(shù)據(jù)傳輸情況進(jìn)行監(jiān)控;第二步:定時(shí)器輪詢模塊1.22每間隔時(shí)間T1對外發(fā)送包含字符串D的心跳包,T1為10ms-1s(此處選定為500ms);第三步:定時(shí)器輪詢模塊1.22實(shí)時(shí)檢測GSM模塊1.1收到的數(shù)據(jù),對GSM模塊1.1收到的數(shù)據(jù)進(jìn)行判斷:若GSM模塊1.1收到的數(shù)據(jù)包含了完整的心跳包,則認(rèn)為網(wǎng)絡(luò)連接已經(jīng)掉線,定時(shí)器輪詢模塊1.22發(fā)送重新連接信號(hào)給網(wǎng)絡(luò)斷線重連模塊1.23,進(jìn)入下一步;若GSM模塊1.1收到的數(shù)據(jù)不包含完整的心跳包,則認(rèn)為網(wǎng)絡(luò)連接正常,返回第二步;第四步:網(wǎng)絡(luò)斷線重連模塊1.23收到定時(shí)器輪詢模塊1.22發(fā)送的重新連接信號(hào)后,啟動(dòng)重新連接;若連接失敗,則掛起時(shí)間T2后再次嘗試,直到網(wǎng)絡(luò)連接成功或者GSM模塊1.1斷電為止,T2為20-50s(此處選定為30s)。應(yīng)用本實(shí)施例的技術(shù)方案,通過利用GSM模塊在網(wǎng)絡(luò)透傳模式下如果連接斷開則透傳數(shù)據(jù)會(huì)回顯這一特性,通過設(shè)置定時(shí)器模塊不斷發(fā)送特殊字符,一旦探測到該同樣的字符串被回顯,則可以直接在Client端探測到虛連接存在,立即啟動(dòng)斷線重連,從而保障了遠(yuǎn)程監(jiān)測設(shè)備連接實(shí)時(shí)在線。同時(shí),這種方法不需要使用AT^SISI指令查詢連接狀態(tài),因此無須退出透傳模式,不影響監(jiān)測數(shù)據(jù)的實(shí)時(shí)傳輸。也不需要遠(yuǎn)程服務(wù)器端進(jìn)行判斷,從而保證了直接在Client端實(shí)時(shí)維持真實(shí)連接狀態(tài)。采用本實(shí)施例的技術(shù)方案與現(xiàn)有技術(shù)(現(xiàn)有技術(shù)1和現(xiàn)有技術(shù)2)比較,詳情見表1。實(shí)施例2-實(shí)施例3實(shí)施例2和實(shí)施例3與實(shí)施例1不同之處在于:實(shí)施例2:定時(shí)器輪詢模塊1.22每間隔時(shí)間T1對外發(fā)送包含字符串D的心跳包,T1為10ms;網(wǎng)絡(luò)斷線重連模塊1.23掛起時(shí)間T2后再次嘗試,T2為20s;實(shí)施例3:定時(shí)器輪詢模塊1.22每間隔時(shí)間T1對外發(fā)送包含字符串D的心跳包,T1為1s;網(wǎng)絡(luò)斷線重連模塊1.23掛起時(shí)間T2后再次嘗試,T2為50s;采用實(shí)施例2-3的技術(shù)方案與現(xiàn)有技術(shù)(現(xiàn)有技術(shù)1和現(xiàn)有技術(shù)2)比較,詳情見表1。表1實(shí)施例1-3、現(xiàn)有技術(shù)1和現(xiàn)有技術(shù)2三者效果比較表案例/性能指標(biāo)是否能保證實(shí)時(shí)探測到虛連接是否影響數(shù)據(jù)傳輸是否需要切換透傳模式實(shí)施例1可以不影響不需要實(shí)施例2可以不影響不需要實(shí)施例3可以不影響不需要現(xiàn)有技術(shù)1可以影響需要現(xiàn)有技術(shù)2不行影響需要從表1中可以看出:采用本發(fā)明的技術(shù)方案,通過設(shè)置定時(shí)器模塊不斷發(fā)送特殊字符以及結(jié)合各部件的組合,是絕對可以實(shí)時(shí)探測到網(wǎng)絡(luò)的虛連接;能及時(shí)重新連接網(wǎng)絡(luò)以及無需切換透傳模式,確保整個(gè)網(wǎng)絡(luò)的數(shù)據(jù)傳輸不受影響。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。當(dāng)前第1頁1 2 3