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