伍瀏陽(yáng),周樹(shù)功
(1. 唐山師范學(xué)院 科研處,河北 唐山 063000;2. 唐山師范學(xué)院 數(shù)學(xué)與信息科學(xué)系,河北 唐山 063000)
基于GPRS通信網(wǎng)絡(luò)的DTU數(shù)據(jù)服務(wù)中心系統(tǒng)的功能和設(shè)計(jì)結(jié)構(gòu),利用Socket編程技術(shù),在.net frame work平臺(tái)下實(shí)現(xiàn)了一臺(tái)服務(wù)器和互聯(lián)網(wǎng)內(nèi)的DTU數(shù)據(jù)服務(wù)中心進(jìn)行通信的技術(shù)實(shí)現(xiàn),并將采集的數(shù)據(jù)存儲(chǔ)到服務(wù)器的數(shù)據(jù)庫(kù)管理信息系統(tǒng)中為第三方提供數(shù)據(jù)服務(wù)和支持[1,2]。
DTU(Data Transfer unit),是專門用于將串口數(shù)據(jù)轉(zhuǎn)換為IP數(shù)據(jù)或?qū)P數(shù)據(jù)轉(zhuǎn)換為串口數(shù)據(jù)通過(guò)無(wú)線通信網(wǎng)絡(luò)進(jìn)行傳送的無(wú)線終端設(shè)備。DTU廣泛應(yīng)用于氣象、水文水利、地質(zhì)等行業(yè)。
GPRS,通用無(wú)線分組業(yè)務(wù)是一種基于GSM系統(tǒng)的無(wú)線分組交換技術(shù),提供端到端的、廣域的無(wú)線 IP連接。GPRS充分利用共享無(wú)線信道,采用IP Over PPP實(shí)現(xiàn)數(shù)據(jù)終端的高速、遠(yuǎn)程接入。作為現(xiàn)有GSM網(wǎng)絡(luò)向第三代移動(dòng)通信演變的過(guò)渡技術(shù)(2.5G),GPRS在許多方面都具有顯著的優(yōu)勢(shì)。
當(dāng)前無(wú)線通訊技術(shù)已經(jīng)發(fā)展到了4G時(shí)代,但目前4G移動(dòng)網(wǎng)絡(luò)的數(shù)據(jù)發(fā)送數(shù)據(jù)包的數(shù)據(jù)量很大,包含了更復(fù)雜的校驗(yàn)數(shù)據(jù),無(wú)形中增大了DTU數(shù)據(jù)服務(wù)系統(tǒng)的數(shù)據(jù)處理負(fù)擔(dān)。并增加了數(shù)據(jù)流量,實(shí)踐中會(huì)給企業(yè)帶來(lái)更高的通信成本。經(jīng)過(guò)比較本文選擇利用GRPS移動(dòng)互聯(lián)網(wǎng)進(jìn)行數(shù)據(jù)通信。
DTU是數(shù)據(jù)終端設(shè)備(Data Terminal unit)的簡(jiǎn)寫。廣義地講,在進(jìn)行通信時(shí),傳輸數(shù)據(jù)的鏈路兩端負(fù)責(zé)發(fā)送數(shù)據(jù)信息的模塊單元都稱之為 DTU,在它的作用下對(duì)所傳信息進(jìn)行格式轉(zhuǎn)換和數(shù)據(jù)整理校驗(yàn)。狹義地講,DTU一般特指無(wú)線通訊中的下位GPRS/CDMA發(fā)射終端設(shè)備。前者是一種模塊,而后者則是設(shè)備。
通信中,有主從關(guān)系的一對(duì)設(shè)備,負(fù)責(zé)提交信息的終端設(shè)備是下位機(jī),負(fù)責(zé)處理提交信息的設(shè)備是上位機(jī)。DTU設(shè)備大多數(shù)情況下就屬于下位機(jī),而負(fù)責(zé)處理DTU回傳信息的數(shù)據(jù)中心就是上位機(jī),典型的應(yīng)用方式是多臺(tái)DTU對(duì)應(yīng)一個(gè)數(shù)據(jù)中心。數(shù)據(jù)中心是指對(duì)下位機(jī)回傳的信息進(jìn)行采集、匯總和處理,并對(duì)下位機(jī)進(jìn)行一定控制和管理的上位機(jī)系統(tǒng),他包括完整的計(jì)算機(jī)硬件設(shè)備和特定的完整軟件功能。該數(shù)據(jù)中心可以處理遠(yuǎn)程儀表讀取的數(shù)據(jù)在遠(yuǎn)程抄表,自動(dòng)收費(fèi)計(jì)量等領(lǐng)域應(yīng)用很廣,有很大的應(yīng)用價(jià)值。
基于GPRS通信的DTU數(shù)據(jù)處理系統(tǒng),包括若干個(gè)DTU無(wú)線數(shù)據(jù)傳輸單元,一臺(tái)帶有雙網(wǎng)卡的計(jì)算機(jī)、GPRS無(wú)線通訊網(wǎng)絡(luò)、windows服務(wù)器版操作系統(tǒng)、SQLSERVER數(shù)據(jù)庫(kù)、VPN服務(wù)器和一個(gè)DTU數(shù)據(jù)處理器。計(jì)算機(jī)服務(wù)器通過(guò)與internet相連的網(wǎng)卡接受每個(gè)DTU數(shù)據(jù)終端發(fā)送來(lái)的數(shù)據(jù)并通過(guò)研發(fā)的DTU數(shù)據(jù)處理器來(lái)接收、存儲(chǔ)DTU終端發(fā)送過(guò)來(lái)的數(shù)據(jù)并能夠向DTU終端發(fā)送數(shù)據(jù)來(lái)檢測(cè)DTU數(shù)據(jù)終端的狀態(tài)。在GRPS網(wǎng)絡(luò)不中斷的情況下將全部連接到本DTU數(shù)據(jù)處理中心系統(tǒng)的DTU所發(fā)送過(guò)來(lái)的數(shù)據(jù)存入數(shù)據(jù)存儲(chǔ)管理器中,利用本DTU數(shù)據(jù)處理系統(tǒng)可以存儲(chǔ)連接到服務(wù)器的各個(gè)DTU發(fā)送過(guò)來(lái)的數(shù)據(jù)以二維表的形式存儲(chǔ)在數(shù)據(jù)庫(kù)管理系統(tǒng)里。在 GRPS通信網(wǎng)絡(luò)癱瘓或者DTU數(shù)據(jù)終端出現(xiàn)故障的情況下,DTU數(shù)據(jù)處理器會(huì)向DTU終端發(fā)送檢測(cè)數(shù)據(jù),檢測(cè)DTU終端與本數(shù)據(jù)處理中心的連接狀態(tài)保證本數(shù)據(jù)處理中心高效、及時(shí)、可靠傳遞。本系統(tǒng)操作方便,便于后臺(tái)管理信息系統(tǒng)從本系統(tǒng)中提取DTU傳輸過(guò)來(lái)的實(shí)時(shí)數(shù)據(jù)。系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 DTU數(shù)據(jù)服務(wù)系統(tǒng)結(jié)構(gòu)示意圖
(1)GPRSDTU設(shè)備和SIM卡。每個(gè)數(shù)據(jù)采集點(diǎn)1臺(tái)DTU,通過(guò)RS232與子站的RTU相連,實(shí)現(xiàn)與數(shù)據(jù)服務(wù)中心數(shù)據(jù)傳輸。各個(gè)DTU需要一張SIM卡。卡向移動(dòng)公司購(gòu)買月租費(fèi)比較便宜的卡,根據(jù)實(shí)際數(shù)據(jù)流量需要,申請(qǐng)開(kāi)通合適的GPRS資費(fèi)套餐。
(2)設(shè)置每個(gè)DTU數(shù)采集設(shè)備和程序。存儲(chǔ)并根據(jù)主站的需要通過(guò)GPRS網(wǎng)絡(luò)上傳數(shù)據(jù)。
(3)數(shù)據(jù)中心服務(wù)器??梢圆捎闷胀ǖ?PC機(jī),該P(yáng)C機(jī)要求連接上互聯(lián)網(wǎng),有固定的IP地址。
(4)數(shù)據(jù)中心的監(jiān)控系統(tǒng)程序。該系統(tǒng)可以實(shí)現(xiàn)與各個(gè)DTU通信,并且具有監(jiān)控系統(tǒng)的一般功能,實(shí)現(xiàn)遙控、遙測(cè)、遙調(diào)、遙信“四遙”功能。
(5)心跳包參數(shù)設(shè)置。GPRS網(wǎng)絡(luò)的特點(diǎn)是,如果長(zhǎng)時(shí)間沒(méi)有數(shù)據(jù)通信,那么移動(dòng)網(wǎng)關(guān)將斷開(kāi)GPRSDTU與中心的連接。為了保持GPRSDTU永久在線,典型的GPRSDTU在設(shè)計(jì)上包含上電自動(dòng)撥號(hào)、采用心跳包、支持?jǐn)嗑€自動(dòng)重連、自動(dòng)重?fù)芴?hào)這些功能,使得DTU具有永久在線功能。采用心跳包保持永久在線時(shí),存在一個(gè)心跳包時(shí)間設(shè)置為多少比較合適的問(wèn)題。如果心跳包時(shí)間太短了,那么在DTU發(fā)送的心跳包由于網(wǎng)絡(luò)延遲,數(shù)據(jù)中心沒(méi)有及時(shí)接收到心跳包,那么DTU就會(huì)判斷連接斷開(kāi),從而自動(dòng)重連。相反,心跳包時(shí)間設(shè)置太長(zhǎng),而這時(shí)沒(méi)有數(shù)據(jù)傳輸,那么移動(dòng)網(wǎng)關(guān)將斷開(kāi)DTU與數(shù)據(jù)中心的連接。通過(guò)大量的實(shí)驗(yàn)表明,把心跳包時(shí)間設(shè)置為 5分鐘左右,可以基本保證DTU永久在。
基于GPRS通信的DTU數(shù)據(jù)服務(wù)系統(tǒng)是一種基于GPRS通信的DTU數(shù)據(jù)服務(wù)系統(tǒng),通過(guò)GPRS網(wǎng)絡(luò)把遠(yuǎn)程DTU采集到的數(shù)據(jù)傳送到DTU數(shù)據(jù)處理器中,通過(guò)DTU數(shù)據(jù)處理器把遠(yuǎn)程DTU傳送來(lái)的數(shù)據(jù)按照對(duì)數(shù)據(jù)使用的需求(可以通過(guò)數(shù)據(jù)處理器設(shè)置采集數(shù)據(jù)的時(shí)間間隔和存儲(chǔ)結(jié)構(gòu))存儲(chǔ)到結(jié)構(gòu)化的數(shù)據(jù)庫(kù)管理系統(tǒng)中,為進(jìn)一步處理、分析和統(tǒng)計(jì)DTU采集到的遠(yuǎn)程數(shù)據(jù)提供支持和數(shù)據(jù)服務(wù),大大提高了DTU數(shù)據(jù)傳輸?shù)臏?zhǔn)確性和使用效率。
基于GPRS通信的DTU數(shù)據(jù)服務(wù)系統(tǒng),包括若干個(gè)終端DTU(數(shù)據(jù)處理終端),一個(gè)計(jì)算機(jī)服務(wù)器;在服務(wù)器上開(kāi)通若干通信端口、每個(gè)端口通過(guò)GPRS網(wǎng)絡(luò)連通一個(gè)DTU。DTU數(shù)據(jù)服務(wù)系統(tǒng)部署在服務(wù)器上。該服務(wù)系統(tǒng)可以檢測(cè)連接到該服務(wù)器上每個(gè)DTU的連通狀態(tài)并獲取DTU發(fā)送的數(shù)據(jù),通過(guò)DTU數(shù)據(jù)服務(wù)系統(tǒng)提供的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)設(shè)計(jì)功能實(shí)現(xiàn)不同類型數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)的存儲(chǔ)。本數(shù)據(jù)服務(wù)系統(tǒng)可以把DTU數(shù)據(jù)處理器獲得的數(shù)據(jù)存儲(chǔ)到結(jié)構(gòu)化的數(shù)據(jù)庫(kù)管理信息系統(tǒng)中。本系統(tǒng)需要的硬件包括DTU終端(可以為任何廠家的數(shù)據(jù)終端處理單元)。計(jì)算機(jī)服務(wù)器為雙核CPU支持多線程,服務(wù)器配置雙網(wǎng)卡其中一個(gè)網(wǎng)卡為無(wú)線網(wǎng)卡,并配備本系統(tǒng)的核心部件DTU數(shù)據(jù)處理器和一個(gè)數(shù)據(jù)存儲(chǔ)管理器。本系統(tǒng)有以下優(yōu)點(diǎn):
(1)基于GPRS通信的DTU數(shù)據(jù)服務(wù)系統(tǒng)可以把連接到DTU數(shù)據(jù)處理器的數(shù)據(jù)存儲(chǔ)到一個(gè)統(tǒng)一集成的數(shù)據(jù)環(huán)境。為利用DTU發(fā)送的數(shù)據(jù)的管理信息系統(tǒng)提供數(shù)據(jù)服務(wù)。
(2)采用此系統(tǒng)后,可以保證實(shí)時(shí)動(dòng)態(tài)檢測(cè)與DTU數(shù)據(jù)處理器連接的DTU的通信狀態(tài)??梢蕴岣邤?shù)據(jù)傳輸?shù)臏?zhǔn)確率,并控制數(shù)據(jù)傳輸頻率。
系統(tǒng)的結(jié)構(gòu)示意圖如圖2所示。
圖2 系統(tǒng)結(jié)構(gòu)示意圖
數(shù)據(jù)服務(wù)中心系統(tǒng)在.net framework憑條下開(kāi)發(fā)的基于 TCP/IP協(xié)議棧的網(wǎng)絡(luò)編程,采用 C/S模式。在VS2010開(kāi)發(fā)環(huán)境下,運(yùn)用異步Socket類來(lái)實(shí)現(xiàn)。這個(gè)類在低層次上對(duì)Windows Socket API進(jìn)行了封裝,可以充分利Windows Socket API編程的靈活性并能滿足當(dāng)有網(wǎng)絡(luò)事件發(fā)生時(shí),利用消息驅(qū)動(dòng)機(jī)制處理網(wǎng)絡(luò)事件。系統(tǒng)操作界面如圖3所示。
圖3 系統(tǒng)操作界面
系統(tǒng)啟用后填寫DTU數(shù)據(jù)服務(wù)中心系統(tǒng)運(yùn)行的服務(wù)器上采集數(shù)據(jù)的網(wǎng)卡 ip地址和監(jiān)聽(tīng)端口。單擊開(kāi)始監(jiān)聽(tīng)后可以采集DTU發(fā)送過(guò)來(lái)的數(shù)據(jù)。單擊數(shù)據(jù)庫(kù)設(shè)置模塊可以自定義需要采集數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)。系統(tǒng)啟動(dòng)后可以顯示每個(gè)DTU和數(shù)據(jù)服務(wù)系統(tǒng)的連接狀態(tài)和存儲(chǔ)的數(shù)據(jù)表的 id以及數(shù)據(jù)最近更新時(shí)間。系統(tǒng)采集實(shí)現(xiàn)的關(guān)鍵代碼如下:
本文提到的基于GPRS通信的DTU數(shù)據(jù)服務(wù)系統(tǒng)的開(kāi)發(fā),可以將從DTU采集的數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)管理系統(tǒng)中為第三方提供數(shù)據(jù)支持,并且可以保證實(shí)時(shí)動(dòng)態(tài)檢測(cè)與DTU數(shù)據(jù)處理器連接的DTU的通信狀態(tài)??梢蕴岣邤?shù)據(jù)傳輸?shù)臏?zhǔn)確率,并控制數(shù)據(jù)傳輸頻率。
[1] 周明德.微型計(jì)算機(jī)系統(tǒng)原理及應(yīng)用[M]北京:清華大學(xué)出版社,2009:34-35.
[2] 肖宜濱.聚類分析的理論及其應(yīng)用[J].江蘇統(tǒng)計(jì),2001(11):13-15.
[3] 劉志雄.GPRS通信的DTU數(shù)據(jù)中心的通訊設(shè)計(jì)[J].工業(yè)控制計(jì)算機(jī),2007(2):15-17.