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