潘志剛
(遼寧省地理空間成果應(yīng)用中心,遼寧 沈陽 110034)
2020年7月31 日中國宣布北斗三號全球衛(wèi)星導(dǎo)航系統(tǒng)正式開通。北斗全球衛(wèi)星導(dǎo)航系統(tǒng)是我國著眼于國家安全、技術(shù)儲備和經(jīng)濟(jì)發(fā)展等需求,自主研發(fā)建設(shè)、獨立運行的全球衛(wèi)星導(dǎo)航系統(tǒng)。目前,全國多個行業(yè)、多個部門、多個省市已將北斗應(yīng)用納入“十四五”規(guī)劃中,北斗系統(tǒng)應(yīng)用進(jìn)入持續(xù)穩(wěn)定快速發(fā)展階段。
連續(xù)運行參考站系統(tǒng)(Continuous Operation Reference Station,簡稱CORS)匯集計算機(jī)、網(wǎng)絡(luò)、衛(wèi)星定位、數(shù)字通信等高新技術(shù),是移動定位、動態(tài)連續(xù)的空間參考框架和地球動力學(xué)參數(shù)等服務(wù)的信息系統(tǒng),是動態(tài)地、連續(xù)地、高精度地獲取空間數(shù)據(jù)和地理特征的現(xiàn)代信息基礎(chǔ)設(shè)施[1]。
遼寧省衛(wèi)星導(dǎo)航定位基準(zhǔn)服務(wù)系統(tǒng)(LNCORS)始建于2015年底,通過建立在遼寧省域范圍內(nèi)的58座衛(wèi)星導(dǎo)航定位基準(zhǔn)站,形成了遼寧省域高精度、高時空分辨率、高效率、高覆蓋的衛(wèi)星導(dǎo)航定位基準(zhǔn)服務(wù)系統(tǒng),目前已為全省500余家單位提供服務(wù),涵蓋交通運輸、城建規(guī)劃、農(nóng)林牧漁等多行業(yè)領(lǐng)域。
2021年LNCORS迎來北斗三號升級改造項目。項目實施從硬件設(shè)備安裝升級到管理系統(tǒng)更新都已順利完成,目前該項目處于管理系統(tǒng)試運行的測試階段。全新的CORS管理系統(tǒng)(以下稱為北斗系統(tǒng))是國內(nèi)知名公司研發(fā)的具有完全自主知識產(chǎn)權(quán)的CORS管理平臺。除支持北斗三代新頻點外,平臺還具有定位可靠度底層算法、符合國情的安全設(shè)置、拓展功能豐富的展示、使用便捷的友好界面等優(yōu)勢。
國產(chǎn)軟件的崛起,打破了外國軟件在專業(yè)領(lǐng)域的壟斷,但是畢竟起步較晚,軟件在使用中會有些許遺憾。北斗系統(tǒng)在與基準(zhǔn)站數(shù)據(jù)同步中的延時指標(biāo)使用“較大”等定性描述,沒有直觀量化的數(shù)值參考,缺少可視性。這個數(shù)據(jù)的缺失也將導(dǎo)致項目工作技術(shù)總結(jié)中的部分測試無法完成,故考慮利用計算機(jī)編程技術(shù)實現(xiàn)CORS系統(tǒng)網(wǎng)絡(luò)延遲測試。
安置在基準(zhǔn)站上的GNSS接收機(jī),需要連續(xù)觀測、接受衛(wèi)星信號,并將數(shù)據(jù)傳輸給CORS數(shù)據(jù)中心。數(shù)據(jù)中心部署了CORS管理系統(tǒng),接收數(shù)據(jù)后處理、播發(fā)差分改正數(shù)據(jù)以及接收存儲各基準(zhǔn)站衛(wèi)星數(shù)據(jù)?;鶞?zhǔn)站與數(shù)據(jù)中心應(yīng)保持實時數(shù)據(jù)傳輸,數(shù)據(jù)同步是保障CORS服務(wù)體系運行的需求。所以針對基準(zhǔn)站與數(shù)據(jù)中心數(shù)據(jù)同步的網(wǎng)絡(luò)延遲測試,尤其是經(jīng)過較長時間的多時間段的持續(xù)數(shù)據(jù)跟蹤,如30天間隔1小時數(shù)據(jù),可以客觀地反映通訊的連通性、實時性以及CORS系統(tǒng)的穩(wěn)定性。
網(wǎng)絡(luò)延遲又稱為網(wǎng)絡(luò)響應(yīng)時間,它表示數(shù)據(jù)包通過網(wǎng)絡(luò)路徑從發(fā)送方到接收方所需的時間。數(shù)據(jù)通過網(wǎng)絡(luò)傳輸有延遲是正常的現(xiàn)象。其產(chǎn)生網(wǎng)絡(luò)延遲的主要原因有很多,如網(wǎng)絡(luò)中的路由跳數(shù)過多、網(wǎng)絡(luò)帶寬的限制以及服務(wù)器處理帶寬的能力等。考慮數(shù)據(jù)中心與省內(nèi)58座基準(zhǔn)站之間使用專網(wǎng)連接、物理介質(zhì)相對簡單等因素,故可以認(rèn)為網(wǎng)絡(luò)延遲數(shù)值小于200毫秒為正常狀態(tài)。
網(wǎng)絡(luò)延遲測試軟件使用兩種語言環(huán)境開發(fā):批處理和C#。
(1)批處理也稱為批處理腳本,是一種簡化的腳本語言,應(yīng)用在DOS或WINDOWS系統(tǒng)中。在需要實現(xiàn)復(fù)雜的應(yīng)用時,它既可以調(diào)用操作系統(tǒng)本身提供的外部命令,又可以使用第三方提供的工具或者軟件。具有MS-DOS操作經(jīng)驗的從業(yè)者非常容易上手。
(2)C#是面向?qū)ο蟮木幊陶Z言。程序員可以使用它快速地編寫各種基于Microsoft.NET支持的應(yīng)用程序,同時Microsoft.NET提供了大量的工具和服務(wù)來最大程度地提供開發(fā)便利。
網(wǎng)絡(luò)延遲測試軟件設(shè)計思路是借用CORS管理系統(tǒng)框架結(jié)構(gòu),利用CORS系統(tǒng)(數(shù)據(jù)中心)與基準(zhǔn)站之間相同的通訊協(xié)議——TCP/IP協(xié)議,使用計算機(jī)編程技術(shù)實現(xiàn)系統(tǒng)網(wǎng)絡(luò)延遲測試和數(shù)據(jù)匯總。架構(gòu)圖(如圖1所示):
網(wǎng)絡(luò)延遲測試軟件具有三個功能模塊:瞬時故障測試、網(wǎng)絡(luò)延遲測試和延遲數(shù)據(jù)匯總。
1.3.1 瞬時故障測試
測試58座北斗基準(zhǔn)站瞬時網(wǎng)絡(luò)通訊狀態(tài),其作用是發(fā)現(xiàn)有故障的基準(zhǔn)站。一些情況可以造成基準(zhǔn)站故障,如基準(zhǔn)站斷電、網(wǎng)絡(luò)硬件故障、GNSS接收機(jī)故障等,都可造成通訊失敗,據(jù)此可以進(jìn)一步調(diào)查故障所在。
利用C#語言程序開發(fā)的具體方法:加載System.Net.NetworkInfomation后,使用Ping.Send分別對58座基準(zhǔn)站的IP地址測試并判斷PingReply的狀態(tài):成功使用正常字體綠色顯示基準(zhǔn)站名;失敗則使用加粗加大字體紅色顯示基準(zhǔn)站名,實現(xiàn)功能設(shè)計。經(jīng)測試基準(zhǔn)站名代碼為CHHA、LNKD和LNSB的三座基準(zhǔn)站有故障(如圖2所示):
圖2 網(wǎng)絡(luò)延遲測試程序主界面
1.3.2 網(wǎng)絡(luò)延遲測試
基準(zhǔn)站與數(shù)據(jù)中心數(shù)據(jù)同步的網(wǎng)絡(luò)延遲測試,是程序開發(fā)的主要目的。設(shè)計思路是每間隔一段時間(如1小時)對58座基準(zhǔn)站測試一組數(shù)據(jù)。由于網(wǎng)絡(luò)測試具有偶然性,故每組測試不是1次,而是20次甚至更多,以降低單次測試的誤差,得到較為真實的網(wǎng)絡(luò)延遲數(shù)據(jù)。每組測試數(shù)據(jù)以文件形式存儲,包括58座基準(zhǔn)站的20次IP地址網(wǎng)絡(luò)延遲測試數(shù)據(jù)的最大值、最小值和平均值。
網(wǎng)絡(luò)延遲測試的程序開發(fā)依然可以采用C#加載System.Net.NetworkInfomation使用ping類實現(xiàn)[2]。我們采用的方法是:編寫批處理腳本,調(diào)用WINDOWS系統(tǒng)自帶的ping.exe程序[3]。ping.exe是一個經(jīng)典工具,從研發(fā)至今已經(jīng)數(shù)十年了。ping命令可以加帶參數(shù)實現(xiàn)多個功能,其基本原理是向一個假定要響應(yīng)的遠(yuǎn)程計算機(jī)發(fā)送一個數(shù)據(jù)包,然后等待響應(yīng),并且指示檢測是否成功[4]。
編寫批處理的每條語句都分別對一個基準(zhǔn)站的IP地址進(jìn)行一組測試,結(jié)果追加存入一個以日期和時間疊加命名的文件里。批處理語句的集合形成批處理文件即具有CORS系統(tǒng)網(wǎng)絡(luò)延時測試功能。在C#中使用Timer控件作為計時器,每隔1小時執(zhí)行一次批處理文件,完成一次網(wǎng)絡(luò)延時測試。
1.3.3 延遲數(shù)據(jù)匯總
測試軟件每小時產(chǎn)生一個數(shù)據(jù)文件,文件中包含58個IP地址的測試數(shù)據(jù)。每天24個數(shù)據(jù)文件,持續(xù)跟蹤一個月的數(shù)據(jù)量已經(jīng)相當(dāng)龐大了。如果采用人工手動收集整理數(shù)據(jù),數(shù)萬條數(shù)據(jù)處理不考慮時間等客觀因素,出錯的概率也是相當(dāng)大的。延遲數(shù)據(jù)匯總的功能就是在高效改變工作效率的同時,避免錯誤的產(chǎn)生,且生成表格匯總數(shù)據(jù),完成初步判斷統(tǒng)計。
Foreach是C#中循環(huán)語句的一種,用于遍歷數(shù)據(jù)所在文件夾所有文件。File.Open讀取每個數(shù)據(jù)文件,利用Substring檢索關(guān)鍵字,找出58個IP地址以及其所對應(yīng)的數(shù)值[5]。以基準(zhǔn)站名稱為縱軸、測試時間日期為橫軸,在EXCEL表格內(nèi)填寫對應(yīng)數(shù)值,并對該數(shù)值加以判斷,超出正常范圍的數(shù)值使用帶顏色的字體突出顯示。最后做出初步的數(shù)據(jù)統(tǒng)計,完成數(shù)據(jù)的匯總整理工作。具體程序流程圖(如圖3所示):
圖3 數(shù)據(jù)匯總功能程序流程圖
遼寧省共有兩套并行運行的CORS管理系統(tǒng):北斗系統(tǒng)以及美國天寶公司的PIVOT(以下稱為“GPS系統(tǒng)”)。兩套系統(tǒng)共用基準(zhǔn)站設(shè)施、網(wǎng)絡(luò)介質(zhì)、數(shù)據(jù)中心設(shè)施,區(qū)別僅僅在于使用各自的GNSS接收機(jī)以及不同的CORS管理系統(tǒng)。
GPS系統(tǒng)的同步器模塊,具有系統(tǒng)延時的監(jiān)測功能,可以直觀地查看系統(tǒng)上各基準(zhǔn)站的最近一小時延遲、最大延時、平均延遲、實時延遲等數(shù)據(jù)。兩系統(tǒng)間相關(guān)數(shù)據(jù)具有可比性,故將數(shù)個相同時段、相同基準(zhǔn)站的延時數(shù)據(jù)進(jìn)行對比,鑒于版面限制,只展示有代表性的部分對比數(shù)據(jù),具體(如表1所示):
表1 GPS系統(tǒng)與北斗系統(tǒng)一小時網(wǎng)絡(luò)延遲平均值對比表 單位:毫秒
通過對測試結(jié)果的分析得到以下幾個結(jié)果:(1)北斗系統(tǒng)中各基準(zhǔn)站延遲數(shù)值都在100毫秒以內(nèi),而GPS系統(tǒng)中各基準(zhǔn)站延遲數(shù)據(jù)有一些數(shù)值比較大,但也在200毫秒以內(nèi)。(2)同時段GPS系統(tǒng)延遲高于北斗系統(tǒng)延遲的基準(zhǔn)站有54個,占比93.1%,且差值一般不超過100毫秒。(3)同時段GPS系統(tǒng)延遲低于北斗系統(tǒng)延遲的基準(zhǔn)站只有4個,占比6.9%,且延遲差值不超過10毫秒。
通過數(shù)據(jù)對比結(jié)果結(jié)合實際情況綜合考慮,得出以下結(jié)論:
(1)GPS系統(tǒng)的系統(tǒng)延時大概率高于北斗系統(tǒng)的延遲,差值幾乎都在100毫秒范圍內(nèi)。而且觀察GPS系統(tǒng)瞬時延遲數(shù)據(jù)可以發(fā)現(xiàn),其最小值可以是“0”,且差值步距為20毫秒左右。從理論上講,延遲數(shù)據(jù)不可能為零。故得出兩程序的延遲測法略有不同。
(2)從測試數(shù)據(jù)經(jīng)過的物理介質(zhì)分析:兩個系統(tǒng)的測試數(shù)據(jù)都經(jīng)過相同的網(wǎng)絡(luò)介質(zhì),無差異;GNSS接收機(jī)的品牌不同,響應(yīng)時間不同。但接收機(jī)屬于同時期的產(chǎn)品,差距不大可以忽略;GPS系統(tǒng)的所有數(shù)據(jù)都需要經(jīng)過脫密處理,而編寫的網(wǎng)絡(luò)延遲測試軟件不屬于北斗系統(tǒng)的數(shù)據(jù),或者說不屬于CORS數(shù)據(jù),所以沒有經(jīng)過脫密環(huán)節(jié),不產(chǎn)生延遲。從GPS系統(tǒng)延遲數(shù)值普遍大于北斗系統(tǒng)測試數(shù)值可以印證這一點。
(3)在原有基礎(chǔ)設(shè)施不變、沒有增加網(wǎng)絡(luò)帶寬的前提下,雙CORS系統(tǒng)并行運行的網(wǎng)絡(luò)延遲數(shù)據(jù)沒有明顯的變化。說明目前的網(wǎng)絡(luò)設(shè)施和資源可以支持雙CORS系統(tǒng)并行運行且可以提供穩(wěn)定服務(wù)。
綜上,網(wǎng)絡(luò)延遲測試程序測試數(shù)據(jù)可靠,可以使用。更多結(jié)論還需其他佐證支持,本文不再探討。
利用計算機(jī)編程技術(shù)實現(xiàn)CORS系統(tǒng)網(wǎng)絡(luò)延時測試,可以持續(xù)穩(wěn)定地對基準(zhǔn)站與數(shù)據(jù)中心的數(shù)據(jù)同步進(jìn)行跟蹤,獲取網(wǎng)絡(luò)延時數(shù)據(jù),從數(shù)據(jù)傳輸?shù)某掷m(xù)性和穩(wěn)定性等方面對CORS系統(tǒng)做出評測和總結(jié)。