劉文建,鄧思勝,丁華祥,陳敬,賀喜
(1.廣東省國土資源測(cè)繪院,廣東 廣州 510500;2.武漢大學(xué), 湖北 武漢 430079)
近年來,隨著衛(wèi)星導(dǎo)航定位系統(tǒng)[1-2]連續(xù)運(yùn)行參考站(CORS)、移動(dòng)互聯(lián)網(wǎng)[3-4]、物聯(lián)網(wǎng)[5]、云計(jì)算[6-8]、大數(shù)據(jù)[9-11]、人工智能[5,12]等技術(shù)的快速發(fā)展,位置服務(wù)[13]已逐漸滲透到社會(huì)生活的各個(gè)方面。人們不僅對(duì)位置服務(wù)的依賴性日益增強(qiáng),而且對(duì)位置服務(wù)的廣度、深度和精度要求也不斷提高。面向廣闊的高精度應(yīng)用領(lǐng)域、市場(chǎng)需求和日益高速增長(zhǎng)的位置數(shù)據(jù)及服務(wù)請(qǐng)求,研發(fā)高精度位置服務(wù)開放云平臺(tái)和提供CORS云服務(wù),將是高精度位置服務(wù)產(chǎn)業(yè)信息化建設(shè)的重點(diǎn)和主流,高精度位置云服務(wù)勢(shì)必在國民經(jīng)濟(jì)和生產(chǎn)技術(shù)革新中發(fā)揮著愈發(fā)重要的作用。
為滿足國家、行業(yè)、大眾對(duì)高精度位置服務(wù)的需求,依托現(xiàn)有CORS系統(tǒng)的實(shí)時(shí)高精度(1米級(jí)/分米級(jí)/厘米級(jí))服務(wù),研究CORS云服務(wù)的架構(gòu)設(shè)計(jì)、高并發(fā)服務(wù)實(shí)現(xiàn)及CORS云服務(wù)環(huán)境搭建等關(guān)鍵技術(shù),開展CORS位置云服務(wù)建設(shè),可極大地拓展現(xiàn)有CORS的應(yīng)用服務(wù)領(lǐng)域。
根據(jù)現(xiàn)有云服務(wù)的概念及范疇,基于CORS位置云服務(wù)的架構(gòu)設(shè)計(jì),主要從基礎(chǔ)設(shè)施服務(wù)層、平臺(tái)服務(wù)層、軟件服務(wù)層三個(gè)層面進(jìn)行設(shè)計(jì),如圖1所示。
基礎(chǔ)設(shè)施即服務(wù)層(IaaS):提供統(tǒng)一的硬件資源環(huán)境和維護(hù)基礎(chǔ)設(shè)施、統(tǒng)一計(jì)算、存儲(chǔ)及通信網(wǎng)絡(luò)資源、形成資源池,承載各類業(yè)務(wù)模塊的運(yùn)行、實(shí)現(xiàn)海量用戶訪問、高并發(fā)、高可用、可方便維護(hù)、可快速擴(kuò)展、開放的集群計(jì)算資源管理。該層使用成熟的虛擬化技術(shù)(如ESXi),對(duì)底層硬件進(jìn)行虛擬化,構(gòu)建虛擬化資源池,使用國際化商用成熟的虛擬化軟件(如vmware)及云管理系統(tǒng)進(jìn)行統(tǒng)一管理和調(diào)度,完成云服務(wù)基礎(chǔ)設(shè)施層的搭建。
平臺(tái)即服務(wù)層(PaaS):提供高精度CORS系統(tǒng)位置服務(wù)平臺(tái)的基礎(chǔ)軟件環(huán)境,包括數(shù)據(jù)庫系統(tǒng)、消息系統(tǒng)、應(yīng)用服務(wù)器(Tomcat/IIS)、GPS系統(tǒng)平臺(tái)和北斗CORS系統(tǒng)平臺(tái)及高精度位置服務(wù)大數(shù)據(jù)平臺(tái)等。該層將CORS系統(tǒng)資源、CORS系統(tǒng)服務(wù)軟件、數(shù)據(jù)庫系統(tǒng)集群、應(yīng)用服務(wù)器(Tomcat/IIS)等進(jìn)行統(tǒng)一管理、整合及自動(dòng)化安裝部署,為用戶提供米級(jí)、亞米級(jí)、厘米級(jí)及毫米級(jí)的高精度定位服務(wù)建立平臺(tái)支撐。
軟件即服務(wù)層(SaaS):對(duì)海量用戶終端和應(yīng)用提供服務(wù),滿足高并發(fā)、大規(guī)模接入、認(rèn)證服務(wù)。軟件服務(wù)層主要包括應(yīng)用服務(wù)、位置服務(wù)。位置服務(wù)包括北斗/GPS高精度定位服務(wù)、坐標(biāo)轉(zhuǎn)換服務(wù)等;應(yīng)用服務(wù)包括用戶位置數(shù)據(jù)服務(wù),第三方應(yīng)用系統(tǒng)服務(wù)及其他服務(wù)等。該層基于PaaS提供的云服務(wù)及服務(wù)組合,構(gòu)建各種業(yè)務(wù)應(yīng)用框架。基于應(yīng)用框架,面向大眾提供米級(jí)、亞米級(jí)、厘米級(jí)及毫米級(jí)等不同精度定位服務(wù)應(yīng)用。
現(xiàn)有CORS高精度位置服務(wù)系統(tǒng)軟件,主要關(guān)注于虛擬參考站的生成算法及實(shí)現(xiàn),僅支持幾百、幾千用戶終端的同時(shí)在線并發(fā)量,而對(duì)基于CORS 提供的大規(guī)模應(yīng)用,首先面臨的是用戶并發(fā)量問題。
在進(jìn)行高并發(fā)設(shè)計(jì)時(shí),為了避開研發(fā)時(shí)間長(zhǎng)、投資耗費(fèi)大的虛擬參考站的生成算法及實(shí)現(xiàn),充分利用現(xiàn)有CORS服務(wù)軟件生成虛擬參考站,引入格網(wǎng)化[14]、差分池[15]和中間代理的概念進(jìn)行總體的架構(gòu)設(shè)計(jì),如圖2所示。
高精度位置服務(wù)用戶終端,通過Ntrip協(xié)議接入到高并發(fā)中間代理;待用戶通過Ntrip協(xié)議認(rèn)證通過后,接入到該代理格網(wǎng)化的虛擬參考站差分池;根據(jù)用戶終端GPGGA中的概略位置獲取格網(wǎng)差分池內(nèi)設(shè)定距離范圍內(nèi)最近的虛擬參考站電文;用戶終端獲得差分電文數(shù)據(jù)后通過短基線解算,獲取自身高精度定位。格網(wǎng)化技術(shù)分為靜態(tài)格網(wǎng)化和動(dòng)態(tài)“格網(wǎng)化”(數(shù)據(jù)分享模式)。
靜態(tài)格網(wǎng)化。根據(jù)預(yù)先設(shè)定的格網(wǎng)間距(如5 km),生成格網(wǎng)點(diǎn),根據(jù)格網(wǎng)點(diǎn)的位置模擬Ntrip協(xié)議的用戶終端接入CORS服務(wù)解算軟件獲取RTCM電文,生成差分池,待格網(wǎng)區(qū)域內(nèi)用戶終端接入后,向其提供最近的虛擬參考站RTCM電文,從而使用戶終端獲取CORS高精度定位。
動(dòng)態(tài)“格網(wǎng)化”(數(shù)據(jù)分享模式)。不需要預(yù)先按一定距離間隔設(shè)定格網(wǎng),而是在用戶通過中間代理接入CORS服務(wù)軟件獲取差分?jǐn)?shù)據(jù)時(shí),將該用戶位置的虛擬參考站數(shù)據(jù)進(jìn)行分享形成差分池,待該用戶附近限定距離范圍內(nèi)其他用戶終端接入獲取差分時(shí),將該虛擬參考站差分?jǐn)?shù)據(jù)發(fā)播給用戶終端,用戶終端不需接入CORS服務(wù)解算軟件,從而獲取自身高精度定位。
3.3 入庫:徹底清潔后將機(jī)子開進(jìn)機(jī)庫,無機(jī)庫的要加蓋防雨淋,日曬的簡(jiǎn)易棚,用塑料袋將柴油、機(jī)油的加油口、空濾器、排氣管口包扎,以防塵土進(jìn)入。
CORS高并發(fā)架構(gòu)設(shè)計(jì)后的數(shù)據(jù)流程圖,如圖3所示?;鶞?zhǔn)站的衛(wèi)星觀測(cè)數(shù)據(jù)通過網(wǎng)絡(luò)實(shí)時(shí)傳輸至CORS中心分流服務(wù)器,分流服務(wù)器將觀測(cè)數(shù)據(jù)轉(zhuǎn)發(fā)至差分服務(wù)器完成解算,供高并發(fā)處理軟件格網(wǎng)化生成差分池。
為突破上萬級(jí)別以上的并發(fā)量的請(qǐng)求、響應(yīng)及成果服務(wù),在具體實(shí)現(xiàn)上,使用Dubbo框架。Dubbo是一個(gè)分布式服務(wù)框架,以及SOA治理方案。其功能主要包括:高性能NIO通訊及多協(xié)議集成,服務(wù)動(dòng)態(tài)尋址與路由,軟負(fù)載均衡與容錯(cuò),依賴分析與降級(jí)等。在遠(yuǎn)程通信和信息交換上繼承了當(dāng)前主流的網(wǎng)絡(luò)通信框架,如Mina、Netty和Grizzly等,具有良好的代理、軟負(fù)載均衡及高并發(fā)通信能力,如圖4所示。
基于Dubbo框架角色劃分功能,通過使用容器和模塊封裝集成方式,實(shí)現(xiàn)CORS云服務(wù)高并發(fā)接入技術(shù),具體流程如下。
0.將格網(wǎng)化、差分生成池、認(rèn)證授權(quán)、轉(zhuǎn)發(fā)代理、用戶管理、終端展示/監(jiān)控等各模塊服務(wù)提供者,封裝集成于服務(wù)容器中,服務(wù)容器負(fù)責(zé)啟動(dòng)、加載、運(yùn)行服務(wù)提供者;
1.在服務(wù)容器啟動(dòng)這些封裝的模塊程序(服務(wù)提供者)時(shí),向服務(wù)注冊(cè)與發(fā)現(xiàn)中心注冊(cè)各自提供的服務(wù);
2.用戶終端或客戶端(服務(wù)消費(fèi)者)在啟動(dòng)后,通過Ntrip協(xié)議向注冊(cè)中心訂閱自己所需的服務(wù),如果未訂閱到相關(guān)服務(wù),則不斷嘗試訂閱;
3.注冊(cè)中心收到用戶終端的注冊(cè)請(qǐng)求后,返回用戶終端定制的服務(wù)類型及服務(wù)提供者地址列表給相關(guān)戶終端或客戶端(服務(wù)消費(fèi)者);
5.服務(wù)消費(fèi)者和提供者,在內(nèi)存中累計(jì)調(diào)用次數(shù)和調(diào)用時(shí)間,定時(shí)每分鐘發(fā)送一次統(tǒng)計(jì)數(shù)據(jù)到監(jiān)控中心,監(jiān)控中心Monitor在整個(gè)架構(gòu)中是可選的,且Monitor掛掉并不會(huì)影響整個(gè)服務(wù)的調(diào)用。
CORS云服務(wù)Demo環(huán)境包括硬件環(huán)境和軟件環(huán)境。硬件環(huán)境主要由3臺(tái)聯(lián)想ThinkSystem SR650服務(wù)器,1臺(tái)聯(lián)想ThinkSystem DS2200存儲(chǔ)陳列及1臺(tái)8光纖口10Gbps+48口千兆電口的H3C交換機(jī)組成,搭建計(jì)算資源池有60個(gè)2.2 GHz 的vCPU,內(nèi)存資源池有384 GB的內(nèi)存容量,存儲(chǔ)資源池有12 TB的存儲(chǔ)。軟件環(huán)境主要由虛擬化套件、CORS服務(wù)軟件、數(shù)據(jù)庫、操作系統(tǒng)、應(yīng)用服務(wù)器、負(fù)載均衡、中間代理等組成。
為充分與廣東省CORS系統(tǒng)現(xiàn)有CORS服務(wù)相融合,同時(shí)不影響CORS現(xiàn)有服務(wù)。通過核心交換機(jī)10 Gbps的光纖接口,接入到核心業(yè)務(wù)網(wǎng)交換機(jī),通過劃分VLAN實(shí)現(xiàn)業(yè)務(wù)數(shù)據(jù)流互通。Demo版CORS云服務(wù)如圖5所示。
用戶通過無線SIM卡網(wǎng)絡(luò)進(jìn)入到高并發(fā)接入系統(tǒng),經(jīng)基于Ntrip協(xié)議的用戶認(rèn)證后,根據(jù)用戶自身的概率位置,進(jìn)入差分池系統(tǒng),根據(jù)距離獲取最近的差分?jǐn)?shù)據(jù),從而定位出自身的精確位置坐標(biāo)。
基于云平臺(tái)的CORS云服務(wù),彈性計(jì)算能力強(qiáng),資源申請(qǐng)、釋放、回收靈活,部署實(shí)施效率高,測(cè)試模式靈活多變。
基于CORS Demo基礎(chǔ)云平臺(tái)架構(gòu),在不改變現(xiàn)有CORS軟件架構(gòu)體系下,進(jìn)行應(yīng)用服務(wù)層上大規(guī)模用戶接入的測(cè)試研究。以云化服務(wù)的軟硬件與傳統(tǒng)服務(wù)(云化前)的軟硬件進(jìn)行對(duì)比,以1個(gè)工作人員,操作同樣數(shù)量、同樣系統(tǒng)、部署相同應(yīng)用及數(shù)量的物理主機(jī)進(jìn)行測(cè)試。測(cè)試結(jié)果如表1所示。
表1 云化前后系統(tǒng)運(yùn)維效率表
從表3可見云化后的運(yùn)維效率顯著提高,且隨著物理主機(jī)和應(yīng)用的同等增加,云化前的系統(tǒng)運(yùn)維耗時(shí)約為:4n(n為物理主機(jī)數(shù)量),云化后的運(yùn)維耗時(shí)約為:n+1.5,計(jì)量單位為小時(shí)??梢婋S著物理主機(jī)的增多,云化后的效率可提高近4倍。
在并發(fā)量方面,以單臺(tái)虛擬主機(jī)5個(gè)2.2 GHz的 vCpu核數(shù),內(nèi)存16 GB的容量為基本主機(jī)配置,內(nèi)網(wǎng)環(huán)境測(cè)試成功獲取RTK/RTD服務(wù)終端接入數(shù)≥50 000.在集群規(guī)?;渴鸷?在不考慮帶寬因素,其接入并發(fā)數(shù)跟云平臺(tái)資源可分配的基本主機(jī)數(shù)成正比,正比關(guān)系為:≥50 000 m(云平臺(tái)資源池可分配的基本主機(jī)數(shù)為m)。
在成果服務(wù)方面,在測(cè)試中選定5 km的格網(wǎng)密度,用戶終端獲取CORS RTK/RTD成果精度與CORS服務(wù)成果精度一樣,因本高并發(fā)并未涉及CORS RTK/RTD網(wǎng)絡(luò)算法,直接使用原CORS解算軟件的差分結(jié)果。
為了破解大眾高精度位置服務(wù)的需求和CORS高精度位置服務(wù)的用戶局限間矛盾,在不增加CORS解算模型、算法及軟件的開發(fā)成本基礎(chǔ)上,基于格網(wǎng)、池化概念,探討基于CORS位置云服務(wù)的架構(gòu),高并發(fā)技術(shù)的實(shí)現(xiàn),搭建的Demo云平臺(tái)高并發(fā)內(nèi)網(wǎng)環(huán)境測(cè)試結(jié)果表明,系統(tǒng)運(yùn)維效率最高可提高至4倍,有效并發(fā)量達(dá)5萬以上,成果精度無損。對(duì)于短時(shí)間內(nèi)提升CORS的推廣,應(yīng)急大量用戶的接入,具有一定的工程意義。