袁永衛(wèi),鄭迎春,李 博
(1.衛(wèi)星導(dǎo)航系統(tǒng)與裝備技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,石家莊 050081;2.中國(guó)電子科技集團(tuán)公司第五十四研究所,石家莊 050081)
在我國(guó)旅游產(chǎn)業(yè)快速發(fā)展過程中,諸多問題日益突出,嚴(yán)重阻礙了我國(guó)旅游產(chǎn)業(yè)的發(fā)展:景區(qū)管理信息化水平落后,節(jié)假日游客擁堵現(xiàn)象嚴(yán)重;部分景區(qū)追求利益最大化,游客接待量遠(yuǎn)超景區(qū)承載能力,對(duì)景區(qū)生態(tài)環(huán)境造成巨大壓力;全域范圍內(nèi)的綜合服務(wù)有待提升,游客體驗(yàn)差;突發(fā)事件頻發(fā),缺乏有效的應(yīng)急保障手段等。由于景區(qū)具有業(yè)務(wù)邏輯復(fù)雜游客量大的特點(diǎn),為了滿足游客位置服務(wù)的客觀需求,使系統(tǒng)具有可用性,該系統(tǒng)必須具備高效的數(shù)據(jù)管理、統(tǒng)一的位置數(shù)據(jù)服務(wù)、為了有效地解決以上問題,文中提出了利用北斗、4G、Wi-Fi 等定位手段,基于多源位置數(shù)據(jù)融合、滿足高并發(fā)響應(yīng)需求,構(gòu)建了統(tǒng)一的綜合位置服務(wù)協(xié)議、搭建了基于負(fù)載均衡的北斗全域旅游綜合位置服務(wù)平臺(tái),服務(wù)于當(dāng)前全域智慧旅游的發(fā)展現(xiàn)實(shí)需求,對(duì)解決旅游產(chǎn)業(yè)發(fā)展過程中存在的問題以及推動(dòng)全域旅游建設(shè)具有重要意義。
北斗全域旅游綜合位置服務(wù)平臺(tái)是北斗全域智慧旅游綜合位置服務(wù)系統(tǒng)建設(shè)的關(guān)鍵環(huán)節(jié),是全域旅游其他應(yīng)用平臺(tái)的支撐平臺(tái),主要為各應(yīng)用系統(tǒng)提供安全、可監(jiān)管的綜合位置服務(wù)[1],滿足海量位置數(shù)據(jù)實(shí)時(shí)采集與存儲(chǔ)、位置數(shù)據(jù)統(tǒng)計(jì)與分析、高并發(fā)訪問的需求等[2]。平臺(tái)完整架構(gòu)如圖1所示,主要由空間信息服務(wù)平臺(tái)、位置服務(wù)處理平臺(tái)和位置服務(wù)應(yīng)用開發(fā)三部分組成。
圖1 全域旅游綜合位置服務(wù)平臺(tái)架構(gòu)圖
北斗全域旅游綜合位置服務(wù)平臺(tái)采用云架構(gòu)的方式來(lái)搭建綜合位置服務(wù)平臺(tái),以PaaS(平臺(tái)即服務(wù))的服務(wù)模式部署位置服務(wù)平臺(tái),實(shí)現(xiàn)位置服務(wù)平臺(tái)的功能性服務(wù),并以訪問接口的方式提供給全域旅游位置服務(wù)應(yīng)用系統(tǒng)使用;位置服務(wù)平臺(tái)所使用的各種空間數(shù)據(jù)以DaaS 形式獲取,地圖服務(wù)引擎以SaaS(軟件即服務(wù))的服務(wù)方式獲取。空間數(shù)據(jù)作為位置服務(wù)的不可缺少的部分,該平臺(tái)下以服務(wù)的方式獲取。全域旅游綜合位置服務(wù)基于平臺(tái)中的位置服務(wù)處理平臺(tái)開發(fā)綜合位置服務(wù)應(yīng)用,將所開發(fā)的各種應(yīng)用程序以SaaS 的形式發(fā)布到北斗全域智慧旅游綜合位置服務(wù)系統(tǒng),為游客、景區(qū)管理、政府決策提供全域旅游服務(wù)。
北斗全域旅游綜合位置服務(wù)平臺(tái)將采用4層體系結(jié)構(gòu),從左到右分別為接入層、數(shù)據(jù)層、響應(yīng)層和應(yīng)用層,如圖2所示。
圖2 全域旅游綜合位置服務(wù)平臺(tái)位體系結(jié)構(gòu)
接入層是對(duì)系統(tǒng)當(dāng)前所支持的各種用戶終端接入方式的一個(gè)總體概括,由移動(dòng)終端和無(wú)縫集成網(wǎng)關(guān)構(gòu)成,把不同類型的訪問請(qǐng)求解析成與網(wǎng)絡(luò)無(wú)關(guān)的服務(wù)請(qǐng)求,并按照統(tǒng)一格式封裝和發(fā)送。終端用戶可以選擇BD2、GPS、Wi-Fi、Internet 等多種方式通過無(wú)縫集成網(wǎng)關(guān)接入平臺(tái)系統(tǒng),實(shí)現(xiàn)對(duì)綜合位置服務(wù)訪問。
數(shù)據(jù)層是平臺(tái)的數(shù)據(jù)中心,提供位置信息的管理和調(diào)度,同時(shí)包含了位置服務(wù)信息、用戶信息等。平臺(tái)支持依托全域旅游公共資源管理平臺(tái)從第三方信息提供者獲取信息、并可集成位置信息內(nèi)容。例如票務(wù)信息、交通數(shù)據(jù)、旅游信息、天氣信息、旅游促銷活動(dòng)等,擴(kuò)充信息來(lái)源,提高平臺(tái)的服務(wù)質(zhì)量。數(shù)據(jù)層一方面負(fù)責(zé)各種數(shù)據(jù)的集成、管理、查詢和存儲(chǔ)。另一方面負(fù)責(zé)把接入層中上報(bào)的采集數(shù)據(jù)進(jìn)行處理、分析和存儲(chǔ)以及根據(jù)請(qǐng)求的業(yè)務(wù)服務(wù)操作數(shù)據(jù)。
響應(yīng)層是整個(gè)平臺(tái)系統(tǒng)的核心組成部分,負(fù)責(zé)與外部資源、外部系統(tǒng)通信。它獨(dú)立于具體的各種信息和終端設(shè)備,為位置服務(wù)應(yīng)用提供LBS 支撐平臺(tái),提供用戶需要的各種LBS 服務(wù)。其主要功能是響應(yīng)來(lái)自應(yīng)用層的請(qǐng)求,給應(yīng)用層返回所請(qǐng)求的數(shù)據(jù);與數(shù)據(jù)層進(jìn)行交互,完成數(shù)據(jù)的獲取、修改和增加;進(jìn)行權(quán)限判定、統(tǒng)計(jì)分析等處理。
應(yīng)用層提供用戶客戶端需要的各種LBS 業(yè)務(wù)服務(wù),它是基于位置信息的具體應(yīng)用,用戶可以在基于平臺(tái)建立各種不同的應(yīng)用服務(wù),比如項(xiàng)目中建設(shè)中的其他應(yīng)用服務(wù)平臺(tái):全域旅游景區(qū)綜合管理平臺(tái)、全域旅游游客體驗(yàn)平臺(tái)、全域旅游公共資源綜合管理平臺(tái)、全域旅游微信公眾平臺(tái)以及加入全域旅游區(qū)域內(nèi)的餐館信息、賓館信息、商場(chǎng)信息、交通信息等,構(gòu)成全域旅游的應(yīng)用圈,構(gòu)建基于位置的全域旅游運(yùn)營(yíng)模式。應(yīng)用層中的所有應(yīng)用是基于位置數(shù)據(jù)服務(wù)平臺(tái)的系統(tǒng),向綜合位置服務(wù)平臺(tái)發(fā)送信息請(qǐng)求,然后接收從綜合位置服務(wù)平臺(tái)處理過的位置信息數(shù)據(jù),最后根據(jù)自己的業(yè)務(wù)邏輯進(jìn)行處理和界面呈現(xiàn)等。
北斗全域旅游綜合位置服務(wù)平臺(tái)主體功能是面向全域旅游應(yīng)用終端與平臺(tái)提供完整的位置服務(wù)[3]。一個(gè)完整的位置服務(wù)過程,除了終端需要接入平臺(tái),整個(gè)過程中還需要調(diào)用地理信息處理、權(quán)限判定、統(tǒng)計(jì)分析等多種業(yè)務(wù)。平臺(tái)以位置服務(wù)模塊為核心進(jìn)行部署結(jié)合終端適配模塊、空間數(shù)據(jù)、權(quán)限判定、統(tǒng)計(jì)分析等外圍功能模塊,為應(yīng)用層提供統(tǒng)一的服務(wù)。核心模塊與外圍模塊構(gòu)成了整個(gè)平臺(tái)的主要功能框架,如圖3所示:
圖3 北斗全域旅游綜合位置服務(wù)平臺(tái)組成
平臺(tái)各個(gè)功能采用模塊化的設(shè)計(jì),確保平臺(tái)中各個(gè)模塊的功能相互獨(dú)立,各模塊之間的通信順暢。
位置服務(wù)模塊:位置服務(wù)模塊是平臺(tái)最重要的組成部分,也是平臺(tái)的核心模塊。解析終端用戶或應(yīng)用平臺(tái)請(qǐng)求,對(duì)其進(jìn)行鑒權(quán),通過鑒權(quán)后才進(jìn)行會(huì)話連接和資源分配,然后調(diào)動(dòng)相應(yīng)的外圍模塊執(zhí)行每個(gè)具體的應(yīng)用服務(wù)。
終端適配模塊:終端適配模塊是數(shù)據(jù)層和接入層的接口,負(fù)責(zé)兩層之間的信息交互,處理并轉(zhuǎn)發(fā)來(lái)自移動(dòng)終端的所有的服務(wù)請(qǐng)求。
定位模塊:定位模塊為平臺(tái)提供對(duì)各類移動(dòng)終端的定位功能,負(fù)責(zé)以合適的信息格式為平臺(tái)提供各類移動(dòng)終端的位置信息。
空間數(shù)據(jù)模塊:空間數(shù)據(jù)模塊與地理信息引擎相連接,提供與地理信息數(shù)據(jù)庫(kù)的信息交互以及管理的功能。
權(quán)限模塊:權(quán)限模塊提供對(duì)全域旅游用戶和綜合位置服務(wù)的各種權(quán)限的管理,最大程度保護(hù)平臺(tái)數(shù)據(jù)安全。
管理模塊:管理模塊提供對(duì)全域旅游用戶信息的管理、系統(tǒng)配置管理、終端設(shè)備管理等,實(shí)現(xiàn)對(duì)平臺(tái)軟件運(yùn)行過程中的操作維護(hù)。
業(yè)務(wù)應(yīng)用接口模塊:業(yè)務(wù)應(yīng)用接口提供一系列開放接口提供給應(yīng)用層應(yīng)用系統(tǒng)一個(gè)開放的位置服務(wù)應(yīng)用開發(fā)環(huán)境,平臺(tái)利用疊加協(xié)議技術(shù),以JSON 協(xié)議為基礎(chǔ)實(shí)現(xiàn)可擴(kuò)展的,靈活的統(tǒng)一位置服務(wù)通信協(xié)議設(shè)計(jì)。為支撐能支持全域旅游位置服務(wù)應(yīng)用的開發(fā),平臺(tái)接口設(shè)計(jì)包括了終端通信接入類接口、位置服務(wù)類接口、設(shè)備管理類接口、權(quán)限管理類接口、電子圍欄類接口、地圖服務(wù)類接口等。
2.4.1 多源位置數(shù)據(jù)融合
終端位置信息包括定位信息和屬性,由于終端本身多樣化,需要對(duì)這些位置信息進(jìn)行分類或分級(jí)處理,更需要對(duì)多源位置信息進(jìn)行融合處理[4]。多源位置信息進(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ī)范的、可利用的綜合信息。
2.4.2 高并發(fā)請(qǐng)求的快速響應(yīng)
北斗全域旅游綜合位置服務(wù)平臺(tái),為全域旅游上層應(yīng)用提供全面的位置服務(wù)接口,服務(wù)受眾包括游客、景區(qū)管理部門以及政府決策人員。全域旅游位置數(shù)據(jù)以及相關(guān)數(shù)據(jù)是海量的,每天面臨幾萬(wàn)、十萬(wàn)、甚至百萬(wàn)次的查詢請(qǐng)求。平臺(tái)面臨位置大數(shù)據(jù)核心服務(wù)能力要滿足用戶的高并發(fā)請(qǐng)求,并能夠快速的響應(yīng)用戶的請(qǐng)求問題。為了更好地滿足用戶體驗(yàn)[5],實(shí)現(xiàn)更加智能位置服務(wù),更加高效的數(shù)據(jù)查詢,基于高并發(fā)請(qǐng)求的快速響應(yīng)技術(shù)為平臺(tái)設(shè)計(jì)中的一個(gè)難點(diǎn)。
綜合位置服務(wù)平臺(tái)為滿足北斗全域智慧旅游綜合位置服務(wù)系統(tǒng)建設(shè)輕量化需求,綜合位置服務(wù)協(xié)議在調(diào)研主流信息交換協(xié)議JSON、BSON 與XML 等,綜合比較各種主流協(xié)議在可擴(kuò)展性、量級(jí)、語(yǔ)言獨(dú)立性、安全性、非結(jié)構(gòu)化數(shù)據(jù)描述和使用復(fù)雜度分析等方面的優(yōu)缺點(diǎn),以JSON 協(xié)議為基礎(chǔ)設(shè)計(jì)實(shí)現(xiàn)。北斗全域旅游綜合位置服務(wù)平臺(tái)與應(yīng)用軟件和應(yīng)用終端是主要以HTTP 進(jìn)行數(shù)據(jù)傳輸,對(duì)于整體的數(shù)據(jù)內(nèi)容,則采用JSON 數(shù)據(jù)格式來(lái)傳輸數(shù)據(jù),可以利用封裝好的協(xié)議解析進(jìn)行消息的封裝和消息的拆包解析,也可以利用第三方的JSON 解析器進(jìn)行。
3.1.1 協(xié)議格式定義
基于傳輸協(xié)議,定義開始標(biāo)識(shí)和結(jié)束標(biāo)識(shí),中間部分整個(gè)通用消息則用JSON 協(xié)議格式來(lái)表達(dá),協(xié)議格式見表1。
表1 協(xié)議基本格式
通過開始標(biāo)識(shí)位和結(jié)束標(biāo)識(shí)位,抽取出一個(gè)完整的消息,其中,JSON 信息內(nèi)容進(jìn)行序列化就可以得到對(duì)應(yīng)的實(shí)體類,協(xié)議消息實(shí)體的內(nèi)容見表2。
表2 協(xié)議消息實(shí)體格式
協(xié)議將消息對(duì)象分為請(qǐng)求消息對(duì)象和應(yīng)答消息對(duì)象,并通過信息類型MsgSubType 標(biāo)識(shí)具體內(nèi)容,用MsgData 字符串承載傳輸不同對(duì)象的信息,就構(gòu)造出了一個(gè)通用的消息協(xié)議。
3.1.2 統(tǒng)一數(shù)據(jù)規(guī)范
由于系統(tǒng)之間數(shù)據(jù)交換量很大,包括位置信息、狀態(tài)信息、調(diào)度信息、統(tǒng)計(jì)信息以及應(yīng)急通信等,為了表示所有這些類型消息,在路由配置模塊設(shè)計(jì)中已經(jīng)提到了應(yīng)用統(tǒng)一的命名規(guī)則進(jìn)行命名。
由于同一種類型的消息要包含所以此類消息的數(shù)據(jù),因此,位置服務(wù)云平臺(tái)與應(yīng)用系統(tǒng)之間的用JSON 格式數(shù)據(jù)進(jìn)行數(shù)據(jù)交換。正常情況下,各子系統(tǒng)間的數(shù)據(jù)交換基本以實(shí)時(shí)位置信息、狀態(tài)信息為主,其中有游客的位置信息,車輛的位置信息、游船的位置信息、設(shè)備的狀態(tài)信息、指揮中心的調(diào)度信息、人流密度信息等。以人員、車輛、游船位置信息為例,消息名分別為M01001、M02001和M03001,同時(shí)從協(xié)議結(jié)構(gòu)和節(jié)點(diǎn)屬性兩方面對(duì)其進(jìn)行描述,如下所示。
說明:Data 節(jié)點(diǎn)根據(jù)具體的協(xié)議類型設(shè)計(jì)為不同信息內(nèi)容。
北斗全域旅游綜合位置服務(wù)平臺(tái)遵循平臺(tái)的位置服務(wù)數(shù)據(jù)服務(wù)協(xié)議,數(shù)據(jù)源主要包括外部系統(tǒng)數(shù)據(jù)、各類終端感知數(shù)據(jù)和位置服務(wù)應(yīng)用[6]。綜合位置服務(wù)平臺(tái)通過發(fā)送數(shù)據(jù)請(qǐng)求從獲取外部信息數(shù)據(jù),主要包括交通數(shù)據(jù)、氣象數(shù)據(jù)、公安數(shù)據(jù)、票務(wù)數(shù)據(jù)等公共資源數(shù)據(jù)[7];各類感知終端,包括北斗終端(北斗車載型終端、北斗手持型終端、北斗指揮型終端)、定位終端、游客手機(jī)等,將感知的位置數(shù)據(jù)和設(shè)備狀態(tài)等信息上報(bào)到北斗全域旅游綜合位置服務(wù)平臺(tái);建立在平臺(tái)之上的各位置服務(wù)應(yīng)用將相應(yīng)的位置數(shù)據(jù)通過位置服務(wù)接口上報(bào)到北斗全域旅游綜合位置服務(wù)平臺(tái)。北斗全域旅游綜合位置服務(wù)平臺(tái)將獲取到的旅游大數(shù)據(jù)存儲(chǔ)于數(shù)據(jù)中心的數(shù)據(jù)存儲(chǔ)設(shè)備中。
綜合位置服務(wù)平臺(tái)為實(shí)現(xiàn)高并發(fā)處理以及快速響應(yīng)技術(shù),平臺(tái)在設(shè)計(jì)實(shí)現(xiàn)時(shí)采用面向高并發(fā)請(qǐng)求的服務(wù)器負(fù)載均衡網(wǎng)絡(luò)架構(gòu),同時(shí)在軟件運(yùn)行后端利用數(shù)據(jù)庫(kù)讀寫分離提高數(shù)據(jù)讀寫和檢索效率,提高聯(lián)機(jī)事物處理性能。
為滿足海量用戶訪問要求,設(shè)計(jì)了Nginx/Haproxy+Keepalived 方案,為保障平臺(tái)的穩(wěn)定性和可靠性,在單節(jié)點(diǎn)處理還能滿足業(yè)務(wù)要求的情況下,在負(fù)載層引入了熱備方案,以保證一個(gè)節(jié)點(diǎn)在崩潰的情況下,另一個(gè)節(jié)點(diǎn)能夠自動(dòng)接替其工作,滿足位置服務(wù)應(yīng)用系統(tǒng)高并發(fā)的業(yè)務(wù)需求。
綜合位置服務(wù)平臺(tái)架構(gòu)設(shè)計(jì)具備開放性特征,采用基于Web API 的數(shù)據(jù)服務(wù)模式,以JSON 格式數(shù)據(jù)對(duì)外提供服務(wù)。Web API 是一個(gè)理想的構(gòu)建REST-ful 服務(wù)的技術(shù),它可以使用HTTP的全部特點(diǎn),對(duì)各類有帶寬限制的終端設(shè)備都能夠非常好的支持,適合構(gòu)建包括移動(dòng)端在內(nèi)的各種端應(yīng)用服務(wù)[8]。結(jié)合寧夏中衛(wèi)全域旅游發(fā)展要求,展開全域智慧旅游信息化建設(shè),構(gòu)建了北斗全域旅游綜合位置服務(wù)平臺(tái),平臺(tái)部署于中衛(wèi)市云數(shù)據(jù)中心,如圖4所示。
全域旅游各應(yīng)用平臺(tái)所需要的綜合位置數(shù)據(jù)由北斗全域旅游綜合位置服務(wù)平臺(tái)提供,全域旅游各應(yīng)用平臺(tái)通過請(qǐng)求-響應(yīng)的模式從綜合位置服務(wù)平臺(tái)獲取綜合位置服務(wù)的查詢結(jié)果、統(tǒng)計(jì)分析以及權(quán)限信息等。
圖4 北斗全域旅游綜合位置服務(wù)平臺(tái)
北斗的全域旅游綜合位置服務(wù)平臺(tái)建設(shè)是北斗全域智慧旅游綜合位置服務(wù)系統(tǒng)建設(shè)的核心,平臺(tái)繼承了全域旅游的海量綜合位置數(shù)據(jù),在數(shù)據(jù)與服務(wù)上有力地支撐了北斗全域智慧旅游綜合位置服務(wù)系統(tǒng)。北斗全域旅游綜合位置服務(wù)平臺(tái)設(shè)計(jì),充分考慮中衛(wèi)市對(duì)全域旅游發(fā)展的要求,采用最新的技術(shù)方法和設(shè)計(jì)理念,服務(wù)于全域旅游以提升游客的旅游質(zhì)量、提高景區(qū)的精細(xì)化管理水平、提高景區(qū)應(yīng)急保障能力等,助力寧夏中衛(wèi)全域旅游發(fā)展更好地融入國(guó)家“一帶一路”發(fā)展建設(shè)中。北斗全域旅游綜合位置服務(wù)平臺(tái)建設(shè),將大力推動(dòng)北斗在旅游產(chǎn)業(yè)中的發(fā)展,促進(jìn)全域旅游產(chǎn)業(yè)可持續(xù)健康發(fā)展,同時(shí),為北斗民用推廣、北斗旅游產(chǎn)業(yè)應(yīng)用起到了重要推動(dòng)作用。