王曉博,曲嘉旭,楊 杉,葉海納(中國(guó)聯(lián)通智能城市研究院,北京 100048)
空間信息作為數(shù)字時(shí)代不可或缺的要素,是虛擬和現(xiàn)實(shí)世界融合的橋梁。5G技術(shù)所帶來(lái)的產(chǎn)業(yè)互聯(lián)網(wǎng)的蓬勃興起,對(duì)室內(nèi)外位置服務(wù)的需求也越來(lái)越旺盛。運(yùn)營(yíng)服務(wù)商作為智慧城市的建設(shè)者,可發(fā)揮既有資源優(yōu)勢(shì),提升產(chǎn)業(yè)互聯(lián)網(wǎng)及智慧城市領(lǐng)域業(yè)務(wù)能力[1]。隨著智慧城市的建設(shè)發(fā)展,使用群體對(duì)位置能力提出了更高的服務(wù)響應(yīng)要求,從而在生產(chǎn)業(yè)務(wù)流程內(nèi)部形成高效、應(yīng)變的信息化應(yīng)用需求,面對(duì)動(dòng)態(tài)多變的需求,行業(yè)內(nèi)通常采用的單體架構(gòu)逐步暴露出開(kāi)發(fā)效率低、集成能力低、部署頻率低等問(wèn)題。隨著云計(jì)算、大數(shù)據(jù)、微服務(wù)架構(gòu)等前沿技術(shù)的高速發(fā)展,位置服務(wù)能力建設(shè)迎來(lái)了云化改造、服務(wù)化建設(shè)的發(fā)展機(jī)遇與挑戰(zhàn)。如何融合多種新技術(shù),平臺(tái)能力的靈活開(kāi)放等是綜合位置服務(wù)平臺(tái)建設(shè)需要重點(diǎn)考慮的問(wèn)題[2-3]。文中提出了利用北斗、5G、偽衛(wèi)星等定位手段,解決多源位置數(shù)據(jù)融合,滿足高并發(fā)響應(yīng)需求,連接用戶、連接供應(yīng)商、連接服務(wù)構(gòu)建了基于微服務(wù)架構(gòu)的室內(nèi)外綜合位置服務(wù)平臺(tái),同時(shí)平臺(tái)具備接口應(yīng)用的開(kāi)放能力,其開(kāi)放性應(yīng)包含功能的開(kāi)放以及數(shù)據(jù)資源的開(kāi)放性[4],圍繞位置應(yīng)用需求,通過(guò)服務(wù)聚合的方式融合業(yè)務(wù)資源與基礎(chǔ)功能,形成位置服務(wù)(如區(qū)域熱點(diǎn)、電子圍欄分析等),為進(jìn)一步基于位置服務(wù)快速搭建業(yè)務(wù)應(yīng)用提供服務(wù)支撐。
文章闡述了基于微服務(wù)的綜合位置服務(wù)平臺(tái)的設(shè)計(jì)方案,首先分析了平臺(tái)設(shè)計(jì)的結(jié)構(gòu)要求、業(yè)務(wù)流程、技術(shù)難點(diǎn),之后給出了實(shí)現(xiàn)方式,包括數(shù)據(jù)融合方式和負(fù)載均衡方式,并展示了數(shù)據(jù)服務(wù)效果,最后對(duì)文章進(jìn)行了小結(jié)。
綜合位置服務(wù)平臺(tái)主要為各應(yīng)用系統(tǒng)提供安全、可監(jiān)管的綜合位置服務(wù),滿足海量位置數(shù)據(jù)實(shí)時(shí)采集與存儲(chǔ)、位置數(shù)據(jù)統(tǒng)計(jì)與分析、高并發(fā)訪問(wèn)的需求等。平臺(tái)完整架構(gòu)如圖1所示,主要由數(shù)據(jù)存儲(chǔ)基礎(chǔ)設(shè)施、邊緣位置服務(wù)平臺(tái)、空間信息服務(wù)云平臺(tái)和位置服務(wù)基礎(chǔ)功能應(yīng)用4部分組成[5]。
綜合位置服務(wù)平臺(tái)采用云邊融合架構(gòu)的方式來(lái)搭建,以PaaS的服務(wù)模式部署位置服務(wù)平臺(tái),實(shí)現(xiàn)位置服務(wù)平臺(tái)的功能性服務(wù),并以訪問(wèn)接口API/SDK的方式提供給位置服務(wù)應(yīng)用系統(tǒng)使用;空間數(shù)據(jù)是位置服務(wù)不可缺少的部分,位置服務(wù)平臺(tái)所使用的各種空間數(shù)據(jù)以DaaS形式通過(guò)數(shù)據(jù)中心對(duì)外提供服務(wù),包括數(shù)據(jù)可視化、多源空間數(shù)據(jù)挖掘服務(wù)、基于位置的行業(yè)分析服務(wù)等[6]。綜合位置服務(wù)基于平臺(tái)中的位置業(yè)務(wù)中心模塊提供通用服務(wù)及位置業(yè)務(wù)服務(wù),將所開(kāi)發(fā)的各種基礎(chǔ)功能應(yīng)用程序以PaaS的形式發(fā)布到綜合位置服務(wù)系統(tǒng),為產(chǎn)業(yè)互聯(lián)網(wǎng)各個(gè)垂直行業(yè)領(lǐng)域按需提供智能化、不同定位精度的位置服務(wù)支撐,提升智慧城市基礎(chǔ)平臺(tái)能力。
1.2.1 綜合位置服務(wù)平臺(tái)體系結(jié)構(gòu)設(shè)計(jì)導(dǎo)則
平臺(tái)組件化:采用全組件化結(jié)構(gòu)設(shè)計(jì),每個(gè)組件通過(guò)標(biāo)準(zhǔn)接口聯(lián)系在一起。平臺(tái)劃分為數(shù)據(jù)接入、數(shù)據(jù)開(kāi)放展示、業(yè)務(wù)運(yùn)營(yíng)管理、數(shù)據(jù)存儲(chǔ)中心以及服務(wù)自動(dòng)化運(yùn)維管理五大子系統(tǒng)模塊。每個(gè)子系統(tǒng)根據(jù)業(yè)務(wù)領(lǐng)域劃分為多個(gè)微服務(wù)組件,每個(gè)組件在功能上獨(dú)立開(kāi)發(fā)并根據(jù)業(yè)務(wù)需求提供標(biāo)準(zhǔn)數(shù)據(jù)輸出接口;并實(shí)現(xiàn)組件水平擴(kuò)容,解決單點(diǎn)性能瓶頸問(wèn)題。
平臺(tái)基礎(chǔ)技術(shù)體系:平臺(tái)基礎(chǔ)架構(gòu)使用遵循Spring cloud微服務(wù)的標(biāo)準(zhǔn)體系Spring-Cloud-Alibaba 2.1.0以及Spring Boot 2.0為基礎(chǔ)框架;使用Nacos服務(wù)統(tǒng)一配置中心、微服務(wù)注冊(cè)與發(fā)現(xiàn),更易于構(gòu)建云原生應(yīng)用的動(dòng)態(tài)服務(wù)發(fā)現(xiàn)、配置管理和服務(wù)管理平臺(tái)。并使用Spring-Cloud-Alibaba-Sentinel面向分布式服務(wù)架構(gòu)的輕量級(jí)流量控制產(chǎn)品,以流量為切入點(diǎn),從流量控制、熔斷降級(jí)、系統(tǒng)負(fù)載保護(hù)等多個(gè)維度來(lái)保護(hù)服務(wù)的穩(wěn)定性[5]。
圖1 綜合位置服務(wù)平臺(tái)架構(gòu)圖
標(biāo)準(zhǔn)化接口設(shè)計(jì):所有模塊組件服務(wù)采用標(biāo)準(zhǔn)統(tǒng)一接口設(shè)計(jì),所有組件之間使用Spring-Cloud-Gateway組件實(shí)現(xiàn)所有數(shù)據(jù)服務(wù)出口API網(wǎng)關(guān),并對(duì)各接口服務(wù)進(jìn)行路由規(guī)則配置。并使用swagger-ui輸出標(biāo)準(zhǔn)化API文檔,方便數(shù)據(jù)開(kāi)發(fā)與調(diào)試,保證適配多個(gè)組件對(duì)接時(shí)的開(kāi)放性、穩(wěn)定性以及擴(kuò)展性[6]。
分層架構(gòu)設(shè)計(jì):?jiǎn)蝹€(gè)組件應(yīng)用設(shè)計(jì)中采用橫向分層和縱向分割的架構(gòu)設(shè)計(jì)。平臺(tái)每個(gè)子系統(tǒng)橫向分割為數(shù)據(jù)訪問(wèn)層、業(yè)務(wù)邏輯層以及表現(xiàn)層;每個(gè)新增子系統(tǒng)采用獨(dú)立模塊開(kāi)發(fā)和部署,新增業(yè)務(wù)可以模塊插件形式加入原平臺(tái),保證平臺(tái)功能的可擴(kuò)展性。平臺(tái)縱向分割為各大子系統(tǒng),并在子系統(tǒng)中詳細(xì)劃分為不同業(yè)務(wù)模塊,并抽象出可復(fù)用的業(yè)務(wù)邏輯以及系統(tǒng)核心模塊,提高平臺(tái)的可復(fù)用性。
開(kāi)放性設(shè)計(jì):面向用戶、供應(yīng)商、第三方服務(wù)開(kāi)發(fā)者建立匯聚空間感知能力的平臺(tái),平臺(tái)數(shù)據(jù)在保證安全前提下給予充分的開(kāi)放性。數(shù)據(jù)接入方面根據(jù)不同設(shè)備情況開(kāi)發(fā)數(shù)據(jù)聚合適配器,并通過(guò)定義解析規(guī)則對(duì)不同類型數(shù)據(jù)進(jìn)行解析、存儲(chǔ);數(shù)據(jù)輸出方面對(duì)數(shù)據(jù)進(jìn)行業(yè)務(wù)聚合形成統(tǒng)一標(biāo)準(zhǔn)化輸出接口;同時(shí)根據(jù)業(yè)務(wù)領(lǐng)域封裝平臺(tái)開(kāi)發(fā)應(yīng)用工具包,方便其他技術(shù)團(tuán)隊(duì)進(jìn)行二次開(kāi)發(fā)時(shí)能夠更好地復(fù)用。
運(yùn)維方面平臺(tái)所有服務(wù)使用Docker容器化部署,簡(jiǎn)化配置、隔離應(yīng)用、整合服務(wù)器,一個(gè)服務(wù)器可以用Docker部署多套業(yè)務(wù),提高平臺(tái)服務(wù)隔離性。所有服務(wù)運(yùn)行集群采用Kubernetes進(jìn)行服務(wù)編排與管理;極小規(guī)模的運(yùn)維團(tuán)隊(duì)能完成超大集群的彈性伸縮,擁有極強(qiáng)的靈活性[7-8]。
1.2.2 系統(tǒng)邏輯架構(gòu)設(shè)計(jì)
平臺(tái)數(shù)據(jù)邏輯分為:數(shù)據(jù)出/入口、數(shù)據(jù)處理/操作、數(shù)據(jù)聚合存儲(chǔ)、數(shù)據(jù)標(biāo)準(zhǔn)輸出;平臺(tái)業(yè)務(wù)子系統(tǒng)主要分為三大系統(tǒng):內(nèi)管平臺(tái)子系統(tǒng)、開(kāi)發(fā)者開(kāi)放平臺(tái)子系統(tǒng)、設(shè)備數(shù)據(jù)服務(wù)子系統(tǒng);平臺(tái)支撐:服務(wù)自動(dòng)化運(yùn)維監(jiān)控中心。
平臺(tái)整體架構(gòu)如圖2所示。
平臺(tái)設(shè)備:包括GNSS定位設(shè)備、UWB室內(nèi)定位設(shè)備等其他終端,主要收集設(shè)備當(dāng)前定位信息并使用安全協(xié)議傳輸?shù)狡脚_(tái)云服務(wù)[9]。
數(shù)據(jù)出入口:統(tǒng)一平臺(tái)所有對(duì)外出入口服務(wù)器,使用Nginx代理服務(wù)對(duì)數(shù)據(jù)出口統(tǒng)一管控,同時(shí)可實(shí)現(xiàn)負(fù)載均衡。
設(shè)備數(shù)據(jù)服務(wù)子系統(tǒng):主要控制平臺(tái)數(shù)據(jù)相關(guān)服務(wù),包括數(shù)據(jù)解析、數(shù)據(jù)解算、數(shù)據(jù)聚合存儲(chǔ)以及數(shù)據(jù)標(biāo)準(zhǔn)化輸出模塊。
內(nèi)管平臺(tái)子系統(tǒng):為運(yùn)營(yíng)人員提供平臺(tái)運(yùn)營(yíng)、設(shè)備及服務(wù)配置相關(guān)、開(kāi)發(fā)者管理等相關(guān)運(yùn)營(yíng)工作,并提供系統(tǒng)工作臺(tái)展現(xiàn)基礎(chǔ)定位功能以及平臺(tái)相關(guān)統(tǒng)計(jì)功能。
開(kāi)發(fā)者開(kāi)放平臺(tái)子系統(tǒng):認(rèn)證開(kāi)發(fā)者資質(zhì)信息,管理開(kāi)發(fā)者設(shè)備、服務(wù)信息,并向開(kāi)發(fā)者提供設(shè)備、服務(wù)相關(guān)數(shù)據(jù)標(biāo)準(zhǔn)化接口等。
平臺(tái)分層結(jié)構(gòu)如圖3所示。
感知層:通過(guò)設(shè)備、人員等收集位置等信息。
網(wǎng)絡(luò)層:通過(guò)NIO處理高并發(fā)請(qǐng)求,建立設(shè)備與系統(tǒng)之間的通信。
持久層:存儲(chǔ)、緩存設(shè)備相關(guān)數(shù)據(jù)。以結(jié)構(gòu)化、非結(jié)構(gòu)化形式分布式存儲(chǔ)。
圖2 平臺(tái)總體架構(gòu)設(shè)計(jì)圖
圖3 平臺(tái)分層結(jié)構(gòu)圖
業(yè)務(wù)邏輯層:策略解析、解算;并將異構(gòu)數(shù)據(jù)標(biāo)準(zhǔn)化輸出;在設(shè)備、服務(wù)基礎(chǔ)上根據(jù)業(yè)務(wù)需求搭建各類業(yè)務(wù)系統(tǒng)。
應(yīng)用層:建立滿足業(yè)務(wù)需要的應(yīng)用系統(tǒng)。
開(kāi)發(fā)者作為整個(gè)能力開(kāi)發(fā)平臺(tái)業(yè)務(wù)流程閉環(huán)的中心要素如圖4所示。開(kāi)發(fā)者通過(guò)開(kāi)放平臺(tái)申請(qǐng)入駐為個(gè)人、企業(yè)開(kāi)發(fā)者,認(rèn)證完成后,開(kāi)發(fā)者可申請(qǐng)服務(wù)使用以及購(gòu)買(mǎi)設(shè)備;將設(shè)備及服務(wù)配置到對(duì)應(yīng)的開(kāi)發(fā)者應(yīng)用中,應(yīng)用即可根據(jù)標(biāo)準(zhǔn)認(rèn)證流程獲取設(shè)備數(shù)據(jù)以及調(diào)用服務(wù)接口。平臺(tái)運(yùn)營(yíng)管理人員通過(guò)內(nèi)管平臺(tái)管理平臺(tái)中開(kāi)發(fā)者信息、設(shè)備信息、服務(wù)信息等功能;可輔助開(kāi)發(fā)者對(duì)應(yīng)用進(jìn)行管理以及調(diào)試等。所有終端設(shè)備通過(guò)網(wǎng)絡(luò)協(xié)議上傳到數(shù)據(jù)解析中心進(jìn)行數(shù)據(jù)清洗、解析、分析等,將不同類型的設(shè)備數(shù)據(jù)以標(biāo)準(zhǔn)化方式存儲(chǔ)到分布式數(shù)據(jù)庫(kù)。數(shù)據(jù)存儲(chǔ)以通用型標(biāo)準(zhǔn)API網(wǎng)管輸出,通過(guò)API開(kāi)放性接口向開(kāi)發(fā)者提供設(shè)備數(shù)據(jù)服務(wù)。
圖4 平臺(tái)整體業(yè)務(wù)流程圖
根據(jù)運(yùn)營(yíng)要求主要參與角色包含第三方開(kāi)發(fā)者、供應(yīng)商、開(kāi)發(fā)者管理員、服務(wù)管理員、平臺(tái)運(yùn)營(yíng)、平臺(tái)管理員等多種角色??筛鶕?jù)業(yè)務(wù)需求新增或靈活劃分平臺(tái)管理權(quán)限。
主要功能模塊劃分為:開(kāi)放平臺(tái)、開(kāi)發(fā)者管理、解決方案管理、服務(wù)管理、設(shè)備管理、設(shè)備型號(hào)管理、工作臺(tái)、系統(tǒng)管理八大功能模塊,如圖5所示。
開(kāi)放平臺(tái):為第三方開(kāi)發(fā)者提供應(yīng)用管理、所屬設(shè)備管理、應(yīng)用控制臺(tái)等功能。并為開(kāi)發(fā)者提供設(shè)備、服務(wù)API數(shù)據(jù)接口;為第三方服務(wù)提供數(shù)據(jù)支撐。
圖5 平臺(tái)功能結(jié)構(gòu)及流程圖
開(kāi)發(fā)者管理:平臺(tái)管理所有開(kāi)發(fā)者信息,并考慮后期開(kāi)發(fā)者主動(dòng)入駐平臺(tái)。對(duì)資質(zhì)認(rèn)證通過(guò)的開(kāi)發(fā)根據(jù)購(gòu)買(mǎi)信息配置開(kāi)發(fā)者設(shè)備以及服務(wù)信息。
解決方案管理:發(fā)布成熟行業(yè)解決方案,為開(kāi)發(fā)者提供行業(yè)難題解決路徑,并輔助開(kāi)發(fā)者完成設(shè)備、服務(wù)對(duì)接等。
服務(wù)管理:管理平臺(tái)所有能提供的非設(shè)備相關(guān)增值服務(wù),并提供相關(guān)服務(wù)接入技術(shù)文檔以及API接口文檔等。
設(shè)備管理:管理供應(yīng)商提供設(shè)備信息,能靈活配置設(shè)備相關(guān)參數(shù)等。
設(shè)備型號(hào)管理:管理設(shè)備供應(yīng)商以及供應(yīng)商型號(hào);并為所有型號(hào)配置設(shè)備參數(shù)、采集策略、解析策略等信息。
工作臺(tái):提供在地圖上查詢?cè)O(shè)備實(shí)時(shí)信息,顯示設(shè)備歷史軌跡播放信息。統(tǒng)計(jì)設(shè)備數(shù)據(jù)、開(kāi)發(fā)者信息、API服務(wù)信息等平臺(tái)整體信息[8]。
系統(tǒng)管理:管理平臺(tái)用戶、角色、日志等系統(tǒng)配置信息;同時(shí)在工作臺(tái)中能查看系統(tǒng)所有設(shè)備信息以及配置信息,同時(shí)能根據(jù)不同設(shè)備使用配套相關(guān)服務(wù)。
平臺(tái)物理層分為:表面感知層、協(xié)議安全傳輸層、解析處理分布式服務(wù)層、存儲(chǔ)分布式存儲(chǔ)層、平臺(tái)應(yīng)用層(包括內(nèi)管平臺(tái)、開(kāi)發(fā)者平臺(tái))等,如圖6所示。
平臺(tái)整體軟硬件包括:
a)感知設(shè)備:包括GNSS定位設(shè)備、UWB室內(nèi)定位設(shè)備等其他終端,主要收集設(shè)備當(dāng)前定位信息并使用安全協(xié)議傳輸?shù)狡脚_(tái)云服務(wù)。
b)網(wǎng)絡(luò)安全傳輸:系統(tǒng)對(duì)接外部數(shù)據(jù)需要通過(guò)安全協(xié)議傳輸,并通過(guò)平臺(tái)云服務(wù)防火墻認(rèn)證,保證系統(tǒng)數(shù)據(jù)的安全性。
c)平臺(tái)云服務(wù):使用多臺(tái)機(jī)器部署系統(tǒng)云服務(wù)平臺(tái);劃分為數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)服務(wù)、數(shù)據(jù)展示等。系統(tǒng)組件使用內(nèi)網(wǎng)通信。
d)平臺(tái)運(yùn)營(yíng):內(nèi)管平臺(tái)使用者通過(guò)PC網(wǎng)頁(yè)對(duì)平臺(tái)設(shè)備、服務(wù)信息進(jìn)行配置,并管理平臺(tái)中其他運(yùn)營(yíng)數(shù)據(jù)。
e)開(kāi)發(fā)者:第三方開(kāi)發(fā)者通過(guò)平臺(tái)認(rèn)證得到所屬設(shè)備數(shù)據(jù)權(quán)限,并通過(guò)開(kāi)發(fā)者數(shù)據(jù)網(wǎng)關(guān)訪問(wèn)數(shù)據(jù)開(kāi)發(fā)定制化應(yīng)用。同時(shí)開(kāi)發(fā)者可在平臺(tái)中展現(xiàn)平臺(tái)基礎(chǔ)服務(wù)。
f)開(kāi)放平臺(tái)數(shù)據(jù)接入:可接入第三方平臺(tái)數(shù)據(jù)信息。
1.6.1 多源位置數(shù)據(jù)融合
終端位置信息包括定位信息和屬性,由于終端本身多樣化,需要對(duì)這些位置信息進(jìn)行分類或分級(jí)處理,更需要對(duì)多源位置信息進(jìn)行融合處理。多源位置信息融合處理需要對(duì)位置數(shù)據(jù)進(jìn)行預(yù)處理,將各種不同的位置數(shù)據(jù)進(jìn)行綜合、提取、格式轉(zhuǎn)換等操作,并按照統(tǒng)一的協(xié)議標(biāo)準(zhǔn)進(jìn)行加工處理和存儲(chǔ),形成統(tǒng)一的、規(guī)范的、可利用的綜合信息[10]。
圖6 平臺(tái)部署圖
1.6.2 高并發(fā)請(qǐng)求的快速響應(yīng)
綜合位置服務(wù)平臺(tái),開(kāi)放接入多家廠商UWB、藍(lán)牙、慣導(dǎo)等定位技術(shù)及基站設(shè)備,提供位置解算、融合定位切換、路徑規(guī)劃、軌跡復(fù)現(xiàn)、電子圍欄等基礎(chǔ)服務(wù),為客戶提供全面的包括軟件服務(wù)(API、SDK、應(yīng)用)、硬件設(shè)備、解決方案等多種形態(tài)的服務(wù)能力,服務(wù)受眾包括普通客戶、第三方開(kāi)發(fā)者以及設(shè)備廠商等人員。位置服務(wù)調(diào)用頻次以及相關(guān)數(shù)據(jù)是海量的,每天面臨幾萬(wàn)、十萬(wàn)、甚至百萬(wàn)次的查詢請(qǐng)求。平臺(tái)會(huì)面臨業(yè)務(wù)中心核心服務(wù)能力要滿足用戶的高并發(fā)請(qǐng)求,并能夠快速地響應(yīng)用戶的請(qǐng)求。為了更好地滿足用戶體驗(yàn),實(shí)現(xiàn)更加智能的位置服務(wù),更加高效的數(shù)據(jù)查詢,采用基于高并發(fā)請(qǐng)求的快速響應(yīng)技術(shù)為平臺(tái)設(shè)計(jì)中的一個(gè)難點(diǎn)[11]。
平臺(tái)支持多源異構(gòu)數(shù)據(jù)融合,與平臺(tái)進(jìn)行數(shù)據(jù)共享。開(kāi)發(fā)智能適配子系統(tǒng)接入現(xiàn)場(chǎng)設(shè)備數(shù)據(jù)、定位引擎數(shù)據(jù)等異構(gòu)數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行解析、去噪、融合存儲(chǔ)等。制定位置服務(wù)平臺(tái)外部、內(nèi)部IO標(biāo)準(zhǔn)協(xié)議實(shí)現(xiàn)數(shù)據(jù)共享,以Restful、SDK集成包形式認(rèn)證授權(quán)響應(yīng)用戶,支持多種網(wǎng)絡(luò)協(xié)議主動(dòng)收集、被動(dòng)上傳JSON結(jié)構(gòu)化數(shù)據(jù)等。平臺(tái)為直連設(shè)備提供可配置化采集策略,適配被動(dòng)數(shù)據(jù)收集以及主動(dòng)推送數(shù)據(jù),同時(shí)支持命令下發(fā)策略在線實(shí)時(shí)配置以及調(diào)整;同時(shí)平臺(tái)支持邊緣計(jì)算設(shè)備數(shù)據(jù)提取以及收集非結(jié)構(gòu)化數(shù)據(jù)靈活配置[12]。
綜合位置服務(wù)平臺(tái)為實(shí)現(xiàn)高并發(fā)處理以及快速響應(yīng),在設(shè)計(jì)實(shí)現(xiàn)中采用微服務(wù)分布式架構(gòu),根據(jù)業(yè)務(wù)進(jìn)行模塊切分,對(duì)單服務(wù)子系統(tǒng)進(jìn)行分布式部署;水平拆分和垂直拆分?jǐn)?shù)據(jù)、應(yīng)用提升系統(tǒng)負(fù)載能力,解決對(duì)應(yīng)系統(tǒng)瓶頸問(wèn)題。設(shè)計(jì)堆內(nèi)、堆外、分布式等不同系統(tǒng)層級(jí)數(shù)據(jù)緩存,提升平臺(tái)訪問(wèn)效率。大量使用異步化提升平臺(tái)整體吞吐量和靈活性,并對(duì)不同線程池進(jìn)行系統(tǒng)監(jiān)控、運(yùn)維和降級(jí)處理等。開(kāi)放平臺(tái)數(shù)據(jù)共享可自動(dòng)降級(jí),讀服務(wù)降級(jí)、寫(xiě)服務(wù)降級(jí)等API接口控制方式,保證核心服務(wù)高可用。物理層面平臺(tái)設(shè)計(jì)進(jìn)程隔離、集群隔離、讀寫(xiě)隔離、動(dòng)靜隔離等提供平臺(tái)整體吞吐量。硬件提供可伸縮、高可用分布式處理和服務(wù)計(jì)算能力,能做到彈性資源分配和訪問(wèn)控制,提供中間件運(yùn)行環(huán)境,屏蔽底層資源復(fù)雜性等[13]。
綜合位置服務(wù)平臺(tái)架構(gòu)設(shè)計(jì)具備開(kāi)放性特征,采用基于REST-ful服務(wù)的技術(shù),以JSON格式數(shù)據(jù)對(duì)外提供服務(wù)。它可以使用HTTP的全部特點(diǎn),對(duì)各類有帶寬限制的終端設(shè)備都能夠非常好地支持,適合構(gòu)建包括移動(dòng)端在內(nèi)的各種端應(yīng)用服務(wù)[14-15]。結(jié)合垂直領(lǐng)域服務(wù)的要求,展開(kāi)綜合位置服務(wù)平臺(tái)建設(shè),平臺(tái)部署于公有云,如圖7所示。
產(chǎn)業(yè)互聯(lián)網(wǎng)各垂直領(lǐng)域應(yīng)用所需要的位置服務(wù)由綜合位置服務(wù)平臺(tái)提供,通過(guò)請(qǐng)求—響應(yīng)的模式從綜合位置服務(wù)平臺(tái)獲取綜合位置服務(wù)的查詢結(jié)果、統(tǒng)計(jì)分析以及權(quán)限信息等。
圖7 綜合位置服務(wù)平臺(tái)
文章闡述了室內(nèi)外高精度綜合位置服務(wù)平臺(tái)的設(shè)計(jì)方案,綜合位置服務(wù)平臺(tái)為用戶提供位置解算、電子圍欄、路徑導(dǎo)航、多源數(shù)據(jù)融合分析等服務(wù),平臺(tái)繼承了海量綜合位置數(shù)據(jù),在數(shù)據(jù)與服務(wù)上有力地支撐產(chǎn)業(yè)互聯(lián)網(wǎng)及智慧城市各領(lǐng)域綜合性高精度位置服務(wù)建設(shè)的要求,采用最佳的融合定位技術(shù)方法和微服務(wù)設(shè)計(jì)理念,服務(wù)于智慧港口、智慧礦井、生態(tài)監(jiān)測(cè)等,以提升生產(chǎn)流程的自動(dòng)化水平、提高精細(xì)化管理水平,助力各垂直領(lǐng)域更好地信息化建設(shè),為北斗民用推廣、北斗港口、北斗礦井、北斗生態(tài)產(chǎn)業(yè)應(yīng)用起到了重要推動(dòng)作用。