蔣科材,屈利忠,趙齊樂
(武漢大學(xué)衛(wèi)星導(dǎo)航定位技術(shù)研究中心,湖北 武漢 430079)
?
實(shí)時(shí)GNSS數(shù)據(jù)流管理平臺(tái)的實(shí)現(xiàn)及應(yīng)用
蔣科材,屈利忠,趙齊樂
(武漢大學(xué)衛(wèi)星導(dǎo)航定位技術(shù)研究中心,湖北 武漢 430079)
Implementation and Application of Real-time GNSS Data Stream Management Platform
JIANG Kecai,QU Lizhong,ZHAO Qile
摘要:隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,利用互聯(lián)網(wǎng)將觀測(cè)站的實(shí)時(shí)GNSS數(shù)據(jù)高速傳輸給數(shù)據(jù)處理中心,可以打破GNSS數(shù)據(jù)事后處理的傳統(tǒng)模式,從而實(shí)現(xiàn)GNSS數(shù)據(jù)的實(shí)時(shí)處理。對(duì)于數(shù)據(jù)處理中心而言,具備實(shí)時(shí)GNSS數(shù)據(jù)流管理功能的軟件平臺(tái)就顯得尤為重要。本文主要對(duì)自主實(shí)現(xiàn)的實(shí)時(shí)GNSS數(shù)據(jù)流管理平臺(tái)軟件的實(shí)現(xiàn)及應(yīng)用進(jìn)行了介紹。該軟件采用C/S框架設(shè)計(jì),實(shí)現(xiàn)后端服務(wù)與前端用戶界面相分離的效果,可通過網(wǎng)絡(luò)與觀測(cè)站建立連接來獲取實(shí)時(shí)GNSS數(shù)據(jù)流,支持TCP/IP通信協(xié)議及NTRIP通信協(xié)議,支持解碼RTCM3.X、BINEX等多種數(shù)據(jù)傳輸格式,能夠匯聚分布在各地的觀測(cè)站的GNSS數(shù)據(jù),為后續(xù)的數(shù)據(jù)實(shí)時(shí)處理工作提供數(shù)據(jù)支撐,并在我國所發(fā)起的國際GNSS監(jiān)測(cè)評(píng)估系統(tǒng)建設(shè)中得到應(yīng)用。
關(guān)鍵詞:實(shí)時(shí)GNSS數(shù)據(jù)流管理;數(shù)據(jù)傳輸;數(shù)據(jù)解碼;C/S框架設(shè)計(jì);NTRIP協(xié)議
全球衛(wèi)星導(dǎo)航定位系統(tǒng)是20世紀(jì)80年代出現(xiàn)的最具劃時(shí)代意義的航天技術(shù)和信息技術(shù)[1-3]。然而30多年來,對(duì)GNSS數(shù)據(jù)的處理主要以事后處理的模式為主,應(yīng)用實(shí)時(shí)性較差[4]?;ヂ?lián)網(wǎng)技術(shù)的發(fā)展為傳統(tǒng)的導(dǎo)航應(yīng)用帶來了新的契機(jī)。具有實(shí)時(shí)性功能的導(dǎo)航服務(wù)逐漸成為當(dāng)今GNSS發(fā)展的熱點(diǎn)之一。結(jié)合互聯(lián)網(wǎng)高速數(shù)據(jù)傳輸?shù)奶攸c(diǎn),打破了傳統(tǒng)GNSS技術(shù)由于接收機(jī)的數(shù)據(jù)傳輸特征而帶來的時(shí)空局限性[5-6]。使得觀測(cè)站的GNSS數(shù)據(jù)可以高速傳輸給數(shù)據(jù)處理中心進(jìn)行實(shí)時(shí)處理。為此各接收機(jī)廠商分別制定了適用于實(shí)時(shí)傳輸GNSS數(shù)據(jù)的數(shù)據(jù)格式。另外國際海運(yùn)事業(yè)無線電技術(shù)委員會(huì)(Radio Technical Commission for Maritime Services,RTCM)提出的GNSS信號(hào)差分格式RTCM SC 104也可用于GNSS數(shù)據(jù)的實(shí)時(shí)傳輸[7-9]。
由于數(shù)據(jù)處理中心接收分布在區(qū)域或全球各地的觀測(cè)站的實(shí)時(shí)GNSS數(shù)據(jù),各個(gè)觀測(cè)站所支持的數(shù)據(jù)傳輸格式隨接收機(jī)廠商或儀器型號(hào)的不同而有所差異,因此對(duì)于數(shù)據(jù)處理中心而言,具備實(shí)時(shí)GNSS數(shù)據(jù)流管理功能的軟件平臺(tái)就顯得尤為重要。本文主要對(duì)自主研發(fā)的實(shí)時(shí)GNSS數(shù)據(jù)流管理平臺(tái)軟件的實(shí)現(xiàn)及應(yīng)用進(jìn)行介紹,該軟件可通過網(wǎng)絡(luò)與觀測(cè)站建立連接,獲取實(shí)時(shí)GNSS數(shù)據(jù)流,支持TCP/IP 和 NTRIP通信協(xié)議, 并支持解碼多種數(shù)據(jù)
傳輸格式,可對(duì)各個(gè)測(cè)站發(fā)送的實(shí)時(shí)GNSS數(shù)據(jù)流進(jìn)行有效管理。
一、軟件概述
實(shí)時(shí)GNSS數(shù)據(jù)流管理平臺(tái)軟件主要功能分為以下兩大部分。
1) 實(shí)時(shí)GNSS數(shù)據(jù)流轉(zhuǎn)發(fā)子程序:接收觀測(cè)站推送的實(shí)時(shí)GNSS數(shù)據(jù)流,同時(shí)具備接受第三方用戶請(qǐng)求的能力,并轉(zhuǎn)發(fā)數(shù)據(jù)流。
2) 實(shí)時(shí)GNSS數(shù)據(jù)流接收子程序:從實(shí)時(shí)GNSS數(shù)據(jù)流轉(zhuǎn)發(fā)子程序接收轉(zhuǎn)發(fā)的實(shí)時(shí)GNSS數(shù)據(jù)流或直接從觀測(cè)站接收,并對(duì)數(shù)據(jù)流進(jìn)行解碼、轉(zhuǎn)存等工作。
實(shí)時(shí)GNSS數(shù)據(jù)流管理平臺(tái)軟件采用C/S(Client/Server)架構(gòu)設(shè)計(jì)。后端服務(wù)能夠以控制臺(tái)方式或Windows服務(wù)方式在系統(tǒng)后臺(tái)運(yùn)行,前端用戶界面可通過網(wǎng)絡(luò)TCP/IP通信與后端服務(wù)進(jìn)行交互,界面程序可運(yùn)行在任何能夠與后端服務(wù)建立網(wǎng)絡(luò)連接的電腦上,且支持多個(gè)界面程序同時(shí)運(yùn)行,后端服務(wù)負(fù)責(zé)保證多個(gè)前端用戶界面數(shù)據(jù)的一致性。
該平臺(tái)軟件的運(yùn)行環(huán)境為Windows平臺(tái),能夠支持Windows 2003、NT、XP及以上版本,運(yùn)行需要.NET Framework4.0或以上版本,同時(shí)支持32位和64位的操作系統(tǒng)。
三、軟件體系結(jié)構(gòu)
平臺(tái)軟件體系可劃分為配置信息管理模塊、實(shí)時(shí)數(shù)據(jù)流接收模塊、實(shí)時(shí)數(shù)據(jù)流解碼模塊、實(shí)時(shí)數(shù)據(jù)流匯集模塊、實(shí)時(shí)數(shù)據(jù)流發(fā)布模塊和實(shí)時(shí)數(shù)據(jù)流統(tǒng)計(jì)模塊等。
配置信息管理模塊用于對(duì)其他模塊的設(shè)置信息進(jìn)行配置和管理操作,包括測(cè)站信息的添加、編輯和刪除等操作;實(shí)時(shí)數(shù)據(jù)流接收模塊通過網(wǎng)絡(luò)與觀測(cè)站建立連接,獲取實(shí)時(shí)GNSS數(shù)據(jù)流,支持TCP/IP通信協(xié)議、NTRIP通信協(xié)議,并根據(jù)系統(tǒng)參數(shù)設(shè)置穩(wěn)定地接收各個(gè)測(cè)站的實(shí)時(shí)GNSS數(shù)據(jù),異常發(fā)生時(shí)產(chǎn)生相應(yīng)的日志記錄,并負(fù)責(zé)軟件與數(shù)據(jù)源的斷開重連機(jī)制;實(shí)時(shí)數(shù)據(jù)流解碼模塊基于正確的協(xié)議格式,適配相應(yīng)的解析器用于解析數(shù)據(jù)流,對(duì)特定數(shù)據(jù)格式的數(shù)據(jù)流進(jìn)行解碼,獲取衛(wèi)星導(dǎo)航星歷、觀測(cè)數(shù)據(jù)、氣象數(shù)據(jù)等信息,可支持RTCM3.X、BINEX(BINary EXchange)及多種接收機(jī)自定義格式的解碼;實(shí)時(shí)數(shù)據(jù)流匯集模塊將衛(wèi)星導(dǎo)航星歷、觀測(cè)數(shù)據(jù)、氣象數(shù)據(jù)等信息按照指定的采樣間隔以RINEX3.02文件格式保存成RINEX文件或直接保存原始數(shù)據(jù)格式的二進(jìn)制文件,更新時(shí)間15 min;實(shí)時(shí)數(shù)據(jù)流發(fā)布模塊接收第三方用戶請(qǐng)求,并進(jìn)行身份認(rèn)證,通過認(rèn)證后,基于TCP/IP或NTRIP協(xié)議,為其提供實(shí)時(shí)數(shù)據(jù)服務(wù),轉(zhuǎn)發(fā)觀測(cè)站的原始實(shí)時(shí)數(shù)據(jù)流或以RTCM3.X格式進(jìn)行重編碼后的實(shí)時(shí)數(shù)據(jù)流,否則拒絕連接申請(qǐng),保證數(shù)據(jù)不被非法請(qǐng)求訪問,另外,實(shí)時(shí)數(shù)據(jù)流發(fā)布模塊還可將所接收到的所有測(cè)站的同一歷元GNSS數(shù)據(jù)進(jìn)行合并,以指定端口輸出的方式播發(fā)軟件解碼后的ASCII格式數(shù)據(jù);實(shí)時(shí)數(shù)據(jù)流統(tǒng)計(jì)模塊用于對(duì)各個(gè)測(cè)站的丟包率、傳輸時(shí)延等信息進(jìn)行統(tǒng)計(jì)。
四、軟件實(shí)現(xiàn)及應(yīng)用
實(shí)時(shí)GNSS數(shù)據(jù)流管理平臺(tái)軟件基于C#編程實(shí)現(xiàn)。軟件的核心是建立穩(wěn)定的實(shí)時(shí)數(shù)據(jù)流連接,并對(duì)二進(jìn)制實(shí)時(shí)GNSS數(shù)據(jù)流進(jìn)行正確的解碼。圖1為建立數(shù)據(jù)流連接的流程圖,圖2為進(jìn)行數(shù)據(jù)解碼的流程圖。
在數(shù)據(jù)解碼模塊實(shí)現(xiàn)過程中,平臺(tái)軟件采用面向接口的設(shè)計(jì)理念,軟件中實(shí)時(shí)GNSS數(shù)據(jù)流的具體實(shí)現(xiàn)類都繼承自IParser接口,不同的數(shù)據(jù)流解析器實(shí)例的創(chuàng)建通過ParserFactory工廠類統(tǒng)一維護(hù)創(chuàng)建。IRinexDecoder接口接收IParser接口分割的完整的數(shù)據(jù)包,并進(jìn)行相應(yīng)的CRC校驗(yàn),再根據(jù)數(shù)據(jù)包中消息類別,通過RinexFactory工廠類創(chuàng)建IRinex接口的具體實(shí)例。由IRinex派生出EPEHM類、RANGE類、RinexAdapter適配器類等描述具體類別信息的子類。其他相關(guān)子類可通過繼承EPHEM、RANGE、RinexAdapter等實(shí)現(xiàn)。采用面向接口的設(shè)計(jì)理念,僅需實(shí)現(xiàn)對(duì)信息本身感興趣的子類,減少重復(fù)編碼工作,保證系統(tǒng)的靈活性及可拓展性,最大化地保持系統(tǒng)的穩(wěn)定運(yùn)行。圖3為部分解析器子類的實(shí)現(xiàn)結(jié)構(gòu)關(guān)系圖。
圖1 建立數(shù)據(jù)流連接流程
圖2 數(shù)據(jù)流解碼流程
圖3 部分解析器子類的實(shí)現(xiàn)結(jié)構(gòu)關(guān)系
在軟件架構(gòu)上,實(shí)時(shí)GNSS數(shù)據(jù)流管理平臺(tái)軟件采用CS架構(gòu)設(shè)計(jì),后端服務(wù)與前端管理界面相分離,二者通過網(wǎng)絡(luò)TCP/IP進(jìn)行通信,大大增加了平臺(tái)軟件的管理靈活性。圖4為后端服務(wù)子程序以Windows服務(wù)形式啟動(dòng)運(yùn)行圖。圖5為前端管理子程序的登錄界面。通過界面登錄,與后端服務(wù)子程序建立網(wǎng)絡(luò)連接,管理人員可以通過管理界面進(jìn)行查看、增刪、權(quán)限分配等管理操作。且操作完畢后關(guān)閉前端界面程序不會(huì)影響后端服務(wù)的正常運(yùn)行。通過界面的實(shí)時(shí)顯示,管理人員可以直觀地查看各觀測(cè)站實(shí)時(shí)GNSS數(shù)據(jù)流的相關(guān)信息,包括測(cè)站位置地圖顯示、測(cè)站星空視圖、各衛(wèi)星系統(tǒng)的可視衛(wèi)星數(shù)、衛(wèi)星高度角、方位角、信噪比等信息,如圖6所示。
圖4 后端服務(wù)子程序以Windows服務(wù)形式啟動(dòng)
圖5 前端登錄界面
圖6 前端管理界面實(shí)時(shí)流信息的實(shí)時(shí)顯示
管理平臺(tái)軟件對(duì)外提供兩種形式的數(shù)據(jù)訪問服務(wù):一種為通過NTRIP協(xié)議用戶直接接收軟件轉(zhuǎn)發(fā)的觀測(cè)站原始實(shí)時(shí)GNSS數(shù)據(jù)流或軟件以RTCM3.X格式進(jìn)行重編碼后的實(shí)時(shí)數(shù)據(jù)流;另一種為通過TCP/IP協(xié)議用戶接收軟件解碼后的ASCII格式數(shù)據(jù)。作為數(shù)據(jù)流管理平臺(tái),軟件可對(duì)用戶的數(shù)據(jù)訪問權(quán)限進(jìn)行控制,可限制用戶接收不公開測(cè)站的實(shí)時(shí)數(shù)據(jù)流。圖7為通過BNC(BKG Ntrip Client)軟件[10]接收管理平臺(tái)轉(zhuǎn)發(fā)的觀測(cè)站原始數(shù)據(jù)流,圖8為通過瀏覽器訪問管理平臺(tái)軟件解碼后的ASCII格式數(shù)據(jù)。
圖7 BNC軟件接收管理平臺(tái)轉(zhuǎn)發(fā)的指定測(cè)站的RTCM數(shù)據(jù)流
圖8 通過瀏覽器訪問管理平臺(tái)軟件解碼后的ASCII格式數(shù)據(jù)
該平臺(tái)軟件已在國際GNSS監(jiān)測(cè)評(píng)估系統(tǒng)(International GNSS Monitoring and Assessment System,iGMAS)中的各家數(shù)據(jù)中心及分析中心的實(shí)時(shí)GNSS數(shù)據(jù)流管理任務(wù)中得到應(yīng)用。以武漢數(shù)據(jù)中心為例,實(shí)時(shí)GNSS數(shù)據(jù)流管理平臺(tái)軟件通過網(wǎng)絡(luò)連接國內(nèi)外的全球連續(xù)監(jiān)測(cè)評(píng)估系統(tǒng)跟蹤站,獲取實(shí)時(shí)GNSS數(shù)據(jù)流,將匯聚后的實(shí)時(shí)GNSS數(shù)據(jù)流提供給數(shù)據(jù)分析中心進(jìn)行實(shí)時(shí)處理。該平臺(tái)軟件還對(duì)各跟蹤站實(shí)時(shí)GNSS數(shù)據(jù)流每天的丟包率及平均時(shí)延等信息進(jìn)行統(tǒng)計(jì),并將每天的統(tǒng)計(jì)結(jié)果自動(dòng)發(fā)送給運(yùn)行管理中心。
五、結(jié)束語
本文主要對(duì)自主開發(fā)的實(shí)時(shí)GNSS數(shù)據(jù)流管理平臺(tái)的實(shí)現(xiàn)及應(yīng)用進(jìn)行了介紹。平臺(tái)軟件在代碼實(shí)現(xiàn)上采用面向接口的編程理念,僅需實(shí)現(xiàn)對(duì)信息本身感興趣的子類,減少重復(fù)編碼工作,保證系統(tǒng)的靈活性及可拓展性,最大化地保持系統(tǒng)的穩(wěn)定運(yùn)行;在軟件架構(gòu)上采用C/S架構(gòu)設(shè)計(jì),后端服務(wù)與前端管理界面相分離,二者通過網(wǎng)絡(luò)TCP/IP進(jìn)行通信,大大增加了平臺(tái)軟件的管理靈活性;在功能實(shí)現(xiàn)上通過網(wǎng)絡(luò)與觀測(cè)站建立連接,獲取實(shí)時(shí)GNSS數(shù)據(jù)流,支持TCP/IP通信協(xié)議、NTRIP通信協(xié)議,并支持解碼多種數(shù)據(jù)傳輸格式,可對(duì)各測(cè)站所發(fā)送的實(shí)時(shí)GNSS數(shù)據(jù)流進(jìn)行有效管理,并為后續(xù)的數(shù)據(jù)實(shí)時(shí)處理工作提供數(shù)據(jù)支撐。該軟件已在我國所發(fā)起的國際GNSS監(jiān)測(cè)評(píng)估系統(tǒng)建設(shè)中得到了應(yīng)用。
參考文獻(xiàn):
[1]李征航, 黃勁松. GPS測(cè)量與數(shù)據(jù)處理[M]. 武漢:武漢大學(xué)出版社, 2005:182-201.
[2]王惠南. GPS導(dǎo)航原理與應(yīng)用[M]. 北京:科學(xué)出版社, 2003.
[3]周忠謨,易杰軍,周琪. GPS衛(wèi)星測(cè)量原理與應(yīng)用[M]. 北京:測(cè)繪出版社, 1992.
[4]劉大杰, 施一民, 過靜君. 全球定位系統(tǒng)(GPS)的原理與數(shù)據(jù)處理[M]. 上海:同濟(jì)大學(xué)出版社,1996.
[5]Tokyo University of Marine Science and Technology. RTKLIB ver. 2.4.2 Manual [EB/OL]. [2015-07-20]. http:∥www.rtklib.com/.
[6]劉科, 聶桂根, 范嘆奇. 基于Ntrip協(xié)議的差分?jǐn)?shù)據(jù)實(shí)時(shí)傳輸平臺(tái)及定位研究[J]. 測(cè)繪信息與工程, 2009, 34(1): 7-8.
[7]Radio Technical Commission for Maritime Services. Differential GNSS (Global Navigation Satellite Systems) Services-Version 3:104-2013-SC104-STD[S].[S.l.]:RTCM,2013.
[8]Federal Agency for Cartography and Geodesy. Networked Transport of RTCM via Internet Protocol Ntrip Version 1.0 [EB/OL]. [2015-07-22].http:∥igs.ifag.de/index_ntrip.htm.
[9]劉智敏, 林文介, 唐衛(wèi)明. GPS 差分協(xié)議RTCM電文分析與應(yīng)用[J]. 桂林工學(xué)院學(xué)報(bào), 2004, 24(2): 188-191.
[10]Federal Agency for Cartography and Geodesy. BKG Ntrip Client (BNC) Version 2.11.0 Manual [EB/OL]. [2015-07-22].http:∥igs.bkg.bund.de/ntrip/download.
中圖分類號(hào):P208
文獻(xiàn)標(biāo)識(shí)碼:B
文章編號(hào):0494-0911(2016)04-0092-04
作者簡(jiǎn)介:蔣科材(1900—),男,碩士生,主要從事低軌衛(wèi)星定軌研究。E-mail:kc.jiang@whu.edu.cn
基金項(xiàng)目:國家自然科學(xué)基金(41374034);國家863計(jì)劃(2014AA123101);國際GNSS監(jiān)測(cè)評(píng)估(iGMAS)項(xiàng)目
收稿日期:2015-08-10
引文格式: 蔣科材,屈利忠,趙齊樂. 實(shí)時(shí)GNSS數(shù)據(jù)流管理平臺(tái)的實(shí)現(xiàn)及應(yīng)用[J].測(cè)繪通報(bào),2016(4):92-95.DOI:10.13474/j.cnki.11-2246.2016.0130.