宗 干,郭金運,2,胡志博,代 杰,譚爭光
(1.山東科技大學測繪科學與工程學院,山東 青島266590 2.海島(礁)測繪技術國家測繪地理信息局重點實驗室,山東 青島266590)
近年來Web相關技術的發展為信息的交換與處理提供了極大便利,基于Browser/Server(B/S)架構的Web數據庫技術在其中更是發揮了主要作用。各方面研究為Web服務及其相關領域的發展做出極大貢獻[1-4]。在 GNSS領域,為滿足用戶對GNSS數據高精度處理結果的需求,考慮到以Web數據庫等為主的交互式動態網頁技術在數據的傳輸方面的優勢以及傳統數據處理軟件在傳播、安裝與學習使用方面所受的限制,已有多個組織機構推出了自己的 Web數據處理服務,主要有SOPAC提供的SCOUT[5],加拿大自然資源部提供的CSRS Online Database,紐布倫斯威克大學(UNB)提供的GAPS,澳大利亞地球科學局提供的AUSPOS[5-6],美國噴氣推進實驗室(JPL)提供的 APPS等。
總體來看,當前的Web數據處理服務多為國外組織所提供,國內用戶在使用時會有一定障礙。并且這些服務主要以GPS數據的處理為主,對我國北斗系統(BDS)觀測數據的處理能力偏弱。另外,目前國內BDS相關網站大多僅提供相關的新聞資訊,并沒有結合觀測數據的處理業務。
因此,針對以上GNSS Web服務所存在的不足,同時考慮到目前北斗系統正處于發展階段,數據處理軟件并不普及,許多用戶雖有BDS觀測數據但無法進行處理的這一難點,提出了BDS/GPS雙系統在線資訊及數據處理服務。該服務基于B/S架構,利用 Web數據庫及相關開發技術,使用Bernese及自主開發的北斗數據處理程序對用戶的北斗和GPS兩種觀測數據提供基本處理服務,處理結果可靠,使用方便。
B/S(瀏覽器/服務器)架構的興起是為滿足一體化客戶端的需要,完成從胖客戶端向瘦客戶端的轉變,它是對20世紀80年代出現的C/S(客服機/服務器)結構的發展。相對于傳統兩層的C/S,B/S是一種三層結構,分為表示層、業務邏輯層(事務邏輯)和數據訪問層(數據層),結構如圖1所示。

圖1 B/S三層結構圖
在以B/S結構為基礎的BDS/GPS Web服務中,表示層主要負責用戶在進行北斗系統數據或者GPS數據處理時關于解算策略設置的接收以及處理結果和其他新聞信息的顯示,由距離用戶最近的Web瀏覽器完成這一任務;業務邏輯層是整個結構的核心部分,位于表示層和數據訪問層之間,其任務一方面是響應由表示層發出的用戶對觀測數據處理或其他方面的請求,并通過Web應用程序與數據庫進行連接,另一方面將來自數據訪問層的處理的結果由Web服務器傳送回客戶端,起到連接與信息傳遞的作用;數據訪問層主要由數據庫服務器構成,其任務主要是響應業務邏輯層對數據庫進行操作的請求,將用戶在表單中的解算策略設置以及郵箱等信息存入數據庫,另外如果用戶進行了在線留言,除了將留言內容存入數據庫以外還要將其返回Web服務器,再由Web服務器以標準HTML頁面的形式顯示于瀏覽器中。
選用B/S進行BDS/GPS Web服務設計的優勢[7-9]在于:1)操作簡便,用戶僅需瀏覽器即可完成GPS和BDS相關資訊的獲取以及數據的上傳與下載,對用戶計算機軟硬件的要求低。2)由于幾乎所有操作和設置都在服務器端完成,因此管理員對系統維護管理較方便。3)結合動態網頁技術,各種關于GNSS的新聞或信息的發布與更新更加方便,工作量相對于使用靜態網頁減少明顯。
Web應用程序是B/S的典型產物,其本質與傳統的應用程序并無不同,但最大的特點是不需要單獨安裝,僅需瀏覽器便可運行。通常所見到的網頁計數器、日期時間顯示都屬于該范疇。開發Web應用程序,設計增強網頁交互性的動態網頁可以借助 Active Server Pages(ASP),將 HTML與腳本開發有機結合,腳本通過位于Web服務器端的IIS進行解釋,根據其處理結果僅以標準HTML頁面的形式返回。保證了ASP代碼的保密性與對瀏覽器的適應性[7]。
為向用戶提供BDS/GPS數據服務和實時動態更新的GNSS資訊,傳統的靜態頁面已無法滿足需要,因此有必要將Web應用開發與數據庫相融合。Web數據庫技術將數據庫中數據的獨立性、共享性以及數據結構化水平高、易于維護等特性與動態網頁的交互性、靈活性相結合,彌補了靜態頁面的不足。對數據庫進行查找、刪除等操作是Web應用程序中最主要的方面,通過Web數據庫查詢返回的動態頁面屬于Deep Web的一種形式,這方面技術的應用有利于結構化數據的集成[10],同時也有利于增強信息數據處理與反饋等方面的交互性、動態性、實時性。
使用Web應用程序實現對數據庫操作并返回動態頁面的一般過程如下:
1)用戶向Web服務器發出請求,服務器會對請求中所包含的asp文件進行判斷,若含有腳本程序(VBScript或JavaScript),則通過IIS對其進行解釋執行,否則將直接返回,處理結束。
2)在對腳本進行解釋的過程中,如果腳本中使用了 ActiveX Data Objects(ADO)對象,則 Web服務器會根據ADO的設置啟動對應的Open Database Connectivity(ODBC)驅動程序,連接數據庫服務器,訪問指定的數據庫,完成對數據庫的操作并返回結果。
3)若需要將數據庫操作結果顯示于用戶瀏覽器,則IIS在解釋腳本的過程中會利用ASP提供的輸出對象結合數據庫服務器返回的結果,將需要顯示的內容以HTML頁面的形式顯示于用戶瀏覽器窗口中。
使用ASP的Web數據庫訪問流程如圖2所示。

圖2 Web數據庫訪問流程
北斗衛星導航系統(BDS)作為我國自主研發的導航定位系統于2012年12月27日正式提供區域服務,截至2012年底共有4顆MEO衛星,5顆IGSO衛星和5顆GEO衛星在軌工作[11],定位精度可以達到高程10m,水平10m.
為推廣北斗系統的應用,提出一種基于 Web數據庫的BDS/GPS服務,該服務可以提供北斗系統和GPS相關的新聞資訊,也可以處理用戶提交的BDS/GPS數據,并將結果通過郵件的形式返回。該服務依托相應的服務網站實現,其特點主要包括:
1)基于B/S結構,用戶不需要另外安裝客戶端軟件,只需要瀏覽器即可使用本服務。
2)綜合利用靜態網頁與動態網頁,提高數據與信息的交互性。
3)利用ASP開發Web應用程序訪問數據庫,依靠Web數據庫實現對數據管理的交互性、動態性、實時性。
服務網站的頁面劃分以及主要功能如下:
1)主頁:作為網站的入口,向用戶提供主要服務內容、網站導航,并且滾動更新最新資訊。
2)資訊:作為本站主要功能之一,匯總國內外北斗衛星導航系統及其他GNSS新聞資訊,涵蓋視頻新聞、圖片新聞、文字新聞等多種形式,另外包括專家訪談欄目與定位導航行業最新發展動態,為用戶提供及時的資訊服務。該頁面屬于動態頁面、與數據庫服務器相連,使用戶在獲得近期新聞的同時可以查閱過往資料。
3)圖集:收集展示與GNSS、航空航天領域相關的圖片資料。
4)百科:為非專業用戶提供BDS、航空航天以及GPS、GLONASS等其他GNSS系統的介紹,主要包括系統歷史與當前發展狀況,專業術語解釋,系統應用領域與范圍等多方面。
5)服務:可以提供BDS與GPS兩種系統的基本數據處理與下載服務。
數據處理方面分為本站數據處理和外站服務鏈接。本站北斗數據處理服務目前可提供北斗靜態標準絕對定位服務,對于GPS數據可以提供靜態以及動態條件下的絕對定位和相對定位服務。外站數據處理服務主要針對GPS數據。提供多種GPS服務組織的鏈接地址,包括CSRS Online Database、The Precise Point Positioning Software Center、APPS、AUSPOS、SCOUT、GAPS 和magicGNSS,用戶通過這些鏈接可直接使用以上組織提供的數據處理服務。
數據下載方面,提供本站數據下載和外站數據下載鏈接。外站數據主要為國外各組織的GNSS觀測數據及精密產品的下載鏈接,包括CDDIS、SOPAC/CSRC Archive、NGS CORS、GDC等。本站北斗和GPS觀測數據及對應的星歷文件使用FTP下載方式,數據來自山東科技大學BDS/GPS數據觀測站。測站采用兩臺和芯星通UR240-CORS雙模四頻點接收機進行連續同步觀測。旨在為暫無北斗接收機的用戶提供觀測數據進行數據解算、軟件測試以及其他教學和科研方面的幫助,測站的GPS觀測數據可用于檢驗同站北斗觀測數據處理結果精度。
6)關于:總體介紹本站背景、所提供服務范圍等信息。
7)聯系我們:提供聯系電話、地址、郵箱等信息。同時提供在線留言功能,該功能同樣基于Web數據庫,將用戶的留言信息保存至數據庫并返回顯示于動態網頁中。
網站功能結構如圖3所示。

圖3 網站結構圖
根據以上功能規劃,對網站各頁面進行了設計和調試。網站首頁如圖4所示。首頁提供GNSS最新相關消息、GNSS系統介紹、圖片展示以及對應鏈接,作為整個站點的入口以及各種資訊匯總頁。

圖4 網站首頁
數據服務作為本服務的另一主要方面,主要針對GPS和北斗系統的數據處理與下載。數據服務頁如圖5所示。

圖5 數據服務頁
使用數據處理服務需要經過兩個步驟,首先是填寫處理策略表單,表單內容包括所提交文件名稱、衛星截止高度角、氣象參數、郵箱地址等基本設置,在表單中的各項設置會存入數據庫,該過程選擇VBScript編寫動態頁面腳本,通過位于Web服務器上的IIS對腳本進行解釋,由于需要連接數據庫,因此在腳本中使用了ADO來啟動ODBC,訪問BDS或是GPS表單設置數據庫,將用戶在瀏覽器中的設置記錄至其中。
表單填寫完成后需要提交觀測數據,觀測數據應為標準Rinex格式;其次是數據的提交,用戶觀測數據文件的提交采用在線上傳的方式,該功能根據ASP無組件上傳的原理進行開發。上傳完成后根據這些設置對觀測數據進行處理,將處理結果以及統計數據以郵件的形式發送到用戶郵箱,若數據處理不成功同樣會返回郵件告知用戶,并提供適當解決方案。
對于GPS數據,處理時采用Bernese,處理結果可靠而且能夠達到較高精度。北斗系統數據處理采用自主開發軟件進行。為驗證軟件處理精度,以山東科技大學北斗系統觀測站東站2012年DoY 362天1Hz采樣全天的觀測數據為例,統計結果如表1及圖6所示。

表1 東站DoY 362全天觀測統計結果

圖6 東站E、N、U三方向偏差
由于19點以后本地降雪,由圖6可以看出E、N、U方向精度變差,U方向對電離層和對流層的變化敏感,因此,其誤差波動較其他兩方向劇烈,但綜合分析統計結果,E、N、U三方向偏差RMS分別為3.839m、2.590m和4.758m,可以看出程序處理結果合理,能夠達到北斗系統合理定位精度。
基于Web數據庫的BDS/GPS服務系統的開發可以解決一部分用戶對數據以及處理結果的需求問題,彌補缺少數據處理工具的不足,具有操作方便、處理快速、結果可靠等優點。
該服務目前仍存在諸多需要改進之處,將來的工作主要包括使用ASP.net代替ASP,優化動態網頁;除GNSS外,同時提供包括垂線偏差計算(使用山東科技大學數字天頂攝影儀[12]),重力數據、衛星測高數據、潮汐觀測數據等的處理,為用戶提供更全面、更可靠的服務;另外可建立英文站點,以滿足國外用戶需要。
[1]岳 坤,王曉玲,周傲英.Web服務核心支撐技術:研究綜述[J].軟件學報,2004,15(3):428-442.
[2]MCLLRAITH S A,MARTIN D L.Bringing semantics to web services[J].Intelligent Systems,IEEE,2003,18(1):90-93.
[3]FELBER P,CHAN C Y,GAROFALAKIS M,et al.Scalable filtering of XML data for web services[J].Internet Computing,IEEE,2003,7(1):49-57.
[4]詹 騫.基于 Ajax/REST的GIS WEB服務研究與實現[D].北京:中國地質大學(北京),2008.
[5]李 黎,戴吾蛟,李浩軍,等.AUSPOS在線定位系統研究分析[J].全球定位系統,2008,34(5):43-46.
[6]徐永斌.在線PPP軟件的精度比較分析[J].測繪與空間地理信息,2011,34(4):167-169.
[7]湯朝霞.ASP技術在Web數據庫開發中的應用研究[D].濟南:山東師范大學,2004.
[8]冷建華.基于 WEB的在線考試系統的研究與設計[D].南昌:南昌大學,2012.
[9]陳慶濤 .NET和分布式(網絡)數據庫集成技術支持下的WEB GIS系統研究與開發[D].成都:成都理工大學,2008.
[10]劉 偉,孟小峰,孟衛一.Deep Web數據集成研究綜述[J].計算機學報,2007,30(9):1475-1489.
[11]中國衛星導航系統管理辦公室.北斗衛星導航系統空間信號接口控制文件公開服務信號B1I(1.0版)[R].2012.
[12]郭金運,宋來勇,常曉濤,等.數字天頂攝影儀確定垂線偏差及其精度分析[J].武漢大學學報·信息科學版,2011,36(9):1085-1088,1101.