文/郝志剛
目前,社會已經進入到了“互聯網+”時代,分布式管理系統(tǒng)已經在許多領域得到普及和應用,這些應用軟件覆蓋了電子商務、交通物流、電子政務、酒店旅游、金融證券、工業(yè)制造、科研教育等領域,取得了顯著的應用成效,大幅度提高了社會信息化水平。我國研發(fā)的北斗衛(wèi)星導航系統(tǒng)已經上線運用,因此衛(wèi)星導航軟件也成為分布式管理系統(tǒng)的重要應用領域之一,目前許多軟件公司研發(fā)了衛(wèi)星導航軟件,比如高德地圖、百度地圖、滴滴打車、網格監(jiān)控系統(tǒng)等,這些軟件都使用了衛(wèi)星導航功能,并且可以安裝和部署于不同的設備,比如智能手機設備和PC電腦設備等。衛(wèi)星導航軟件功能多、數據處理流程復雜,并且要擁有較強的普適性,因此需要選擇一個較好的軟件架構,以便能夠實現先進的數據處理功能。目前,衛(wèi)星導航軟件主流開發(fā)架構包括兩個,分別是C/S體系架構、B/S體系架構,但是隨著數據處理速度和并發(fā)接入的要求提高,又提出了云計算架構,以便能夠整合軟件業(yè)務信息流、數據流和業(yè)務流,實現軟件的可擴展、可維護和可移植,具有重要的作用和意義。
衛(wèi)星導航軟件開發(fā)經過多年的實踐和研究,已經誕生了很多種,從最原始的模塊化結構發(fā)展到了當前的分布式管理架構,本文重點介紹C/S體系架構和B/S體系架構。
圖1:C/S體系架構業(yè)務處理流程
圖2:B/S體系架構業(yè)務處理流程
圖3:新型衛(wèi)星導航軟件架構
衛(wèi)星導航軟件需要實現網絡通信功能,因此最早引入的軟件架構就是C/S體系架構,這個架構開發(fā)的衛(wèi)星導航軟件包括兩個關鍵組成部分,分別是客戶機(Client)和服務器(Service)??蛻魴C位于客戶端,比如可以安裝在用戶的筆記本電腦和PC機上,需要從服務器下載一個衛(wèi)星導航軟件安裝包,然后安裝在PC機上。安裝完成之后就可以登錄,為用戶提供一個操作便捷的交互界面,用戶輸入邏輯業(yè)務請求,比如目標定位或搜索等,這些邏輯業(yè)務請求可以通過網絡傳輸給服務器。服務器接收到客戶機的邏輯業(yè)務請求之后,就可以將這些數據解析出來,將處理結果封裝在一起發(fā)送給客戶機。C/S體系架構業(yè)務處理流程如圖1所示。
C/S體系架構在應用過程中,由于其需要安裝一個客戶端程序,一般的衛(wèi)星導航軟件功能比較復雜,因此安裝過程需要專業(yè)的計算機人才,這樣才可以通過調試運行形成一個精美化的運行界面。但是,由于許多用戶沒有經過專業(yè)的訓練,因此不利于安裝一個應用軟件,亟需改進降低用戶端的應用程序安裝工作。經過軟件工程師和計算機研究學者多年的努力,提出了B/S體系架構。
B/S體系架構改進了C/S體系架構的不足,其將衛(wèi)星導航軟件劃分為三個層次,分別是瀏覽器層、Web服務層和數據層,這種架構的軟件又被稱為輕型瀏覽器。衛(wèi)星導航軟件利用B/S體系架構開發(fā),不需要安裝任何應用程序,只需要通過瀏覽器登錄Web服務器即可,瀏覽器利用XML技術生成一個表單,表單可以讓用戶輸入邏輯業(yè)務請求,然后通過超文本鏈接將其發(fā)送到Web服務器。Web服務器可以解析瀏覽器發(fā)送的邏輯業(yè)務請求,如果這個邏輯業(yè)務請求僅僅需要一些Web業(yè)務處理,就直接進行Web服務操作,然后將結果反饋給瀏覽器;如果邏輯業(yè)務請求存在數據請求,比如數據插入、數據查詢、數據刪除、數據修改等,此時就需要將這個請求解析出來發(fā)送給數據層。數據層由數據庫管理系統(tǒng)和數據庫組成,數據庫管理系統(tǒng)可以識別和分析數據請求內容,按照用戶的請求執(zhí)行數據操作,同時將操作結果反饋給Web服務器。B/S體系架構每一層之間可以通過接口進行數據通信,傳輸各類型的通信數據,如果某一層發(fā)生改變,其余層也不需要改變,可以完成數據部署和軟件升級。分布式管理系統(tǒng)可以為用戶提供較強的交互服務。B/S體系架構經過多年的發(fā)展,已經得到了極大的改進和普及,目前已經引入了先進的HTML5技術、JSP技術、ASP .NET技術,基于XML技術實現數據信息交互操作,最大化利用Web服務器和數據庫服務器資源。如圖2所示。
隨著人工智能、機器學習、移動通信、移動設備等新型軟硬件技術的誕生,未來衛(wèi)星導航軟件架構需要向云端化、輕量級、高并發(fā)等方向發(fā)展,比如基于云計算構建一個高并發(fā)和云端化架構。云計算作為當前最為先進的計算機服務技術,其采用了矩陣技術將分布于網絡的終端服務器集成在一起,形成了一個按需分配、并發(fā)接入、矩陣處理的系統(tǒng)架構模式,基于云的分布式管理架構擁有很多的優(yōu)勢,這些優(yōu)勢能夠有效提升分布式管理系統(tǒng)的可移植性和可維護管理功能。輕量級也是架構發(fā)展的一個方向,輕量級是為了適應移動設備和移動通信的架構,實現線程化處理,為用戶提供一個強大的接入服務。新型衛(wèi)星導航軟件采用先進的物聯網技術,包括ZigBee協議、Wi-Fi協議等,將傳感器采集到的數據發(fā)送給云平臺中心,實現數據的分析和處理,進一步提高新型衛(wèi)星導航軟件的智慧性。新型衛(wèi)星導航軟件可以使用分層架構,包括交互層、業(yè)務層和物理層,每一次之間都可以使用接口進行通信傳輸,為衛(wèi)星導航工作人員提供一個可視化、導航化的交互接口,實現信息交互處理,全面提升衛(wèi)星導航信息傳輸和共享,進一步改進衛(wèi)星導航工作的科技化、信息化和智能化。新型衛(wèi)星導航軟件交互界面可以為用戶提供一個可視化、導航化的操作平臺,該平臺具有較強的向導性和友好性,進一步改進新型衛(wèi)星導航軟件的業(yè)務處理能力。業(yè)務層可以實現設備信息管理、導航系統(tǒng)、定位系統(tǒng)等功能處理效率,進一步提高衛(wèi)星導航業(yè)務的管控水平,實現業(yè)務信息的解析和處理,傳輸各類型的消息,具有重要的作用。物理層可以部署和整合傳感器、存儲器和服務器等硬件設備,同時利用移動網絡、光纖網絡和ZigBee物聯網實現萬物互聯,進一步提高衛(wèi)星導航數據共享能力,如圖3所示。
衛(wèi)星導航軟件利用北斗導航衛(wèi)星或GPS進行位置通信,隨著無線通信和智能移動設備的普及,衛(wèi)星導航軟件已經得到廣泛應用,大大的提高了“互聯網+”時代人們的信息化水平,具有重要的作用和意義。衛(wèi)星導航軟件部署的設備不同,因此也需要采用合適的應用軟件架構,以便能夠提高軟件的普適性,比如電腦PC端的軟件可以使用B/S體系架構,這個架構可以滿足電腦用戶使用;在移動設備上,衛(wèi)星導航軟件可以采用云端架構,這樣就可以提高系統(tǒng)的獨立性和可移植性,同時還可以擴展系統(tǒng)應用層次,提高系統(tǒng)應用效率。