汪寧 王濤
1. 公安部第一研究所 2. 寧夏回族自治區(qū)公安廳網(wǎng)絡(luò)安全保衛(wèi)總隊(duì)
隨著云計(jì)算、大數(shù)據(jù)等技術(shù)的發(fā)展,各級(jí)公安機(jī)關(guān)采用云計(jì)算技術(shù)實(shí)現(xiàn)基礎(chǔ)設(shè)施的集約化管理,支撐了本級(jí)業(yè)務(wù)應(yīng)用,并取得顯著成效。但隨著公安大數(shù)據(jù)戰(zhàn)略的深入推進(jìn),開(kāi)展跨層級(jí)、跨地域、跨警種協(xié)作,已成為智慧警務(wù)建設(shè)的迫切需求,而跨云平臺(tái)一體化協(xié)作管理是實(shí)現(xiàn)各項(xiàng)協(xié)作的重要基礎(chǔ)。
各級(jí)公安機(jī)關(guān)前期建設(shè)的云平臺(tái),涉及眾多技術(shù)體系,多云之間無(wú)法進(jìn)行統(tǒng)一管理,協(xié)同聯(lián)動(dòng)困難。
針對(duì)上述問(wèn)題,文獻(xiàn)[1]~[4]進(jìn)行了大量研究,但主要針對(duì)多云、混合云的管理、監(jiān)控、調(diào)度以及運(yùn)維等問(wèn)題,未針對(duì)多云之間的互聯(lián)互通、協(xié)同聯(lián)動(dòng)進(jìn)行規(guī)劃設(shè)計(jì)。
因此,本文開(kāi)展了跨云平臺(tái)一體化協(xié)作管理關(guān)鍵技術(shù)研究。各級(jí)公安機(jī)關(guān)在跨云平臺(tái)一體化協(xié)作管理方面的需求主要集中在多云間數(shù)據(jù)共享、業(yè)務(wù)聯(lián)動(dòng)、協(xié)同計(jì)算等方面,本文面向公安業(yè)務(wù)跨云平臺(tái)應(yīng)用場(chǎng)景,首次提出了分布式任務(wù)架構(gòu)體系,并以此為基礎(chǔ),重點(diǎn)突破了跨云平臺(tái)底層消息傳輸、多源數(shù)據(jù)交互以及分布式協(xié)同計(jì)算等關(guān)鍵技術(shù),支撐多云平臺(tái)間的消息連通、數(shù)據(jù)共享、分析計(jì)算。最后設(shè)計(jì)了跨云平臺(tái)一體化協(xié)同系統(tǒng),在實(shí)戰(zhàn)中進(jìn)行了初步試用應(yīng)用,并擴(kuò)展設(shè)計(jì)了典型應(yīng)用場(chǎng)景。
本文遵從“融合共享、協(xié)作聯(lián)動(dòng)”的原則,充分利用現(xiàn)有公安云平臺(tái)已建軟硬件資源,在不改變底層架構(gòu)的基礎(chǔ)上,對(duì)PaaS層服務(wù)進(jìn)行標(biāo)準(zhǔn)化、統(tǒng)一化封裝,從而實(shí)現(xiàn)跨云平臺(tái)數(shù)據(jù)資源安全共享、業(yè)務(wù)協(xié)作聯(lián)動(dòng)。
跨云平臺(tái)協(xié)作管理的分布式任務(wù)技術(shù)架構(gòu)如圖1所示。
基礎(chǔ)設(shè)施服務(wù)層(IaaS):充分利用已有云平臺(tái)基礎(chǔ)設(shè)施資源及服務(wù)。
平臺(tái)服務(wù)層(PaaS):構(gòu)建了統(tǒng)一的規(guī)則描述規(guī)范,通過(guò)對(duì)各省級(jí)平臺(tái)異構(gòu)云平臺(tái)的平臺(tái)服務(wù)API進(jìn)行封裝,形成了服務(wù)實(shí)例管理接口規(guī)則描述規(guī)范、服務(wù)資源管理接口規(guī)則描述規(guī)范、作業(yè)調(diào)度接口規(guī)則描述規(guī)范、服務(wù)實(shí)例管理、服務(wù)資源管理、作業(yè)調(diào)度等6大類(lèi)規(guī)則描述規(guī)范,實(shí)現(xiàn)了對(duì)異構(gòu)云平臺(tái)服務(wù)的統(tǒng)一調(diào)度與管理。依托跨云平臺(tái)協(xié)作管理的規(guī)則描述規(guī)范,兼容異構(gòu)云平臺(tái)的PaaS服務(wù)接口,實(shí)現(xiàn)PaaS層服務(wù)的統(tǒng)一調(diào)度與管理,面向DaaS層提供統(tǒng)一服務(wù)API接口,實(shí)現(xiàn)跨架構(gòu)、跨集群的計(jì)算調(diào)度、管理,保證分布式數(shù)據(jù)計(jì)算的協(xié)作分析,向SaaS層跨平臺(tái)應(yīng)用提供數(shù)據(jù)支撐。
數(shù)據(jù)服務(wù)層(DaaS):充分利用云平臺(tái)已有數(shù)據(jù)服務(wù),在跨云平臺(tái)協(xié)作時(shí),通過(guò)調(diào)用PaaS層的統(tǒng)一服務(wù)接口,實(shí)現(xiàn)跨云平臺(tái)數(shù)據(jù)處理。
應(yīng)用服務(wù)層(SaaS):基于云平臺(tái)上層已有應(yīng)用服務(wù),通過(guò)跨云平臺(tái)數(shù)據(jù)服務(wù),實(shí)現(xiàn)跨云平臺(tái)業(yè)務(wù)應(yīng)用。
針對(duì)公安業(yè)務(wù)如部省協(xié)同中跨云平臺(tái)業(yè)務(wù)協(xié)同需求,本文提出了基于分布式消息隊(duì)列的跨云平臺(tái)消息路由技術(shù)。該技術(shù)基于Apache RocketMQ[5]構(gòu)建分布式消息隊(duì)列服務(wù),確保異構(gòu)云平臺(tái)間消息傳輸?shù)膶?shí)時(shí)性、一致性與完整性,通過(guò)消息路由機(jī)制動(dòng)態(tài)規(guī)劃消息的傳輸路徑,使消息按照指定路由從源節(jié)點(diǎn)路由到目標(biāo)節(jié)點(diǎn),實(shí)現(xiàn)跨云平臺(tái)業(yè)務(wù)協(xié)同消息的雙向傳輸。
基于分布式消息隊(duì)列的跨云平臺(tái)消息路由技術(shù)的技術(shù)架構(gòu)如圖2所示。
分布式消息隊(duì)列服務(wù)基于Apache RocketMQ提供的分布式消息隊(duì)列基礎(chǔ)服務(wù)能力,進(jìn)行二次封裝,由路由注冊(cè)中心、消息協(xié)商器、消息發(fā)布模塊及消息消費(fèi)模塊等子模塊構(gòu)成,如圖3所示。
消息協(xié)商器:實(shí)現(xiàn)消息存儲(chǔ)與查詢、訂閱信息維護(hù)及客戶端管理。
路由注冊(cè)中心:支持消息協(xié)商器的動(dòng)態(tài)注冊(cè)與發(fā)現(xiàn)。
消息發(fā)布模塊:從路由注冊(cè)中心獲取路由信息,選擇相應(yīng)的消息協(xié)商器集群隊(duì)列進(jìn)行消息投遞。
消息消費(fèi)模塊:從路由注冊(cè)中心獲取路由信息,選擇相應(yīng)的消息協(xié)商器集群隊(duì)列進(jìn)行消息消費(fèi)。提供實(shí)時(shí)消息訂閱機(jī)制,支持以push推、pull拉兩種模式對(duì)消息進(jìn)行消費(fèi)。
具體跨層級(jí)跨云平臺(tái)消息路由方式如圖4所示。
·平臺(tái)A通過(guò)任務(wù)發(fā)布服務(wù),經(jīng)消息發(fā)布模塊,將任務(wù)協(xié)同信息發(fā)布至任務(wù)協(xié)同主題的消息隊(duì)列。任務(wù)協(xié)同信息中包含平臺(tái)A的編碼、授權(quán)等相關(guān)驗(yàn)證信息。
·平臺(tái)C通過(guò)任務(wù)接收服務(wù),經(jīng)消息消費(fèi)模塊,完成平臺(tái)A驗(yàn)證信息校驗(yàn)后,接收任務(wù)協(xié)同主題隊(duì)列中的任務(wù)協(xié)同信息。
·平臺(tái)B通過(guò)任務(wù)訂閱服務(wù),經(jīng)消息消費(fèi)模塊,向分布式消息隊(duì)列服務(wù)提交訂閱信息。訂閱信息中包含省級(jí)平臺(tái)B的編碼、授權(quán)等相關(guān)驗(yàn)證信息。
·平臺(tái)C通過(guò)任務(wù)發(fā)布服務(wù),經(jīng)消息發(fā)布模塊,將任務(wù)協(xié)同信息發(fā)布至任務(wù)發(fā)布主題的消息隊(duì)列。任務(wù)協(xié)同信息中包含平臺(tái)B的編碼、授權(quán)等相關(guān)驗(yàn)證信息。
·分布式消息隊(duì)列服務(wù)完成任務(wù)協(xié)同信息與訂閱信息的校驗(yàn)后,對(duì)任務(wù)發(fā)布主題隊(duì)列中的信息進(jìn)行篩選,并將任務(wù)協(xié)同信息推送至平臺(tái)B。
由于異構(gòu)云平臺(tái)所依賴(lài)的云環(huán)境不同,因此在進(jìn)行數(shù)據(jù)匯聚、數(shù)據(jù)協(xié)作管理時(shí)需收集不同類(lèi)型的數(shù)據(jù),存儲(chǔ)在不同的數(shù)據(jù)庫(kù)中,使用數(shù)據(jù)時(shí)也會(huì)從不同的數(shù)據(jù)源讀取數(shù)據(jù)進(jìn)行分析和處理。這些不同的存儲(chǔ)方式、不同的采集系統(tǒng)、不同的數(shù)據(jù)格式,從簡(jiǎn)單的文件數(shù)據(jù)庫(kù)到復(fù)雜的網(wǎng)絡(luò)數(shù)據(jù)庫(kù),共同構(gòu)成了多源數(shù)據(jù)源。為了將數(shù)據(jù)統(tǒng)一處理,根據(jù)實(shí)際業(yè)務(wù),需將各個(gè)數(shù)據(jù)源通過(guò)一個(gè)中間件銜接起來(lái)。DataX[6]可支持跨云不同數(shù)據(jù)庫(kù)的自動(dòng)配置識(shí)別,并具有豐富的轉(zhuǎn)換功能和強(qiáng)效的同步性能,以及健壯的容錯(cuò)機(jī)制,且易于理解和操作,因此選用DataX來(lái)實(shí)現(xiàn)跨云平臺(tái)的多源數(shù)據(jù)同步傳輸,支撐部省的數(shù)據(jù)協(xié)作管理機(jī)制。
如圖5所示,以從阿里云RDS數(shù)據(jù)庫(kù)傳輸?shù)饺A為云hive 數(shù)據(jù)庫(kù)為例,DataX基于預(yù)先定義的數(shù)據(jù)傳輸同步機(jī)制,根據(jù)不同數(shù)據(jù)源動(dòng)態(tài)修改目標(biāo)參數(shù)定義配置文件,進(jìn)行增量同步,同步成功后,同時(shí)將同步時(shí)間寫(xiě)入配置文件,監(jiān)控?cái)?shù)據(jù)的同步傳輸。在具體的傳輸過(guò)程,會(huì)通過(guò)reader和writer兩個(gè)模塊將數(shù)據(jù)轉(zhuǎn)換為標(biāo)準(zhǔn)格式映射傳輸?shù)讲煌臄?shù)據(jù)源。
針對(duì)跨云平臺(tái)協(xié)同計(jì)算需求,本文提出基于安全多方計(jì)算[7]的跨云平臺(tái)計(jì)算協(xié)同技術(shù),實(shí)現(xiàn)按需協(xié)同計(jì)算規(guī)則,使參與計(jì)算的各云平臺(tái)間在不泄露原始數(shù)據(jù)的前提下進(jìn)行協(xié)同計(jì)算,實(shí)現(xiàn)“數(shù)據(jù)可用不可見(jiàn)”。
多方場(chǎng)景中數(shù)據(jù)處理方法的隱私保護(hù)十分重要。在20世紀(jì)80年代,安全多方計(jì)算第一次被姚期智院士提出。在過(guò)去的40年里,一系列的理論和實(shí)踐研究工作對(duì)多方安全計(jì)算進(jìn)行了深入的研究。安全多方計(jì)算是指在無(wú)可信第三方情況下,通過(guò)多方共同參與,按照指定規(guī)則安全地完成協(xié)同計(jì)算。支持計(jì)算協(xié)同的跨云平臺(tái)安全多方計(jì)算技術(shù)的技術(shù)架構(gòu)如圖6所示。
支撐層:安全多方計(jì)算框架,提供密碼學(xué)隱私技術(shù)及安全模型支撐,保障在數(shù)據(jù)加密狀態(tài)下進(jìn)行計(jì)算。
服務(wù)層:由計(jì)算規(guī)則發(fā)布、計(jì)算結(jié)果獲取、加密預(yù)處理、加密分布式計(jì)算等服務(wù)構(gòu)成。其中,加密預(yù)處理、加密分布式計(jì)算基于算法層提供的算法。
安全多方計(jì)算原理如圖7所示,在分布式環(huán)境中,由需求者提出計(jì)算規(guī)則,多個(gè)參與者共同完成計(jì)算,輸入數(shù)據(jù)分別由參與者提供,且每個(gè)參與者的輸入數(shù)據(jù)是保密的。在計(jì)算結(jié)束后,各參與者均可獲得正確的計(jì)算結(jié)果,但無(wú)法倒推其他參與者的輸入數(shù)據(jù)。
本文基于以上研究,設(shè)計(jì)了跨云平臺(tái)一體化協(xié)同系統(tǒng),實(shí)現(xiàn)跨云平臺(tái)的數(shù)據(jù)、業(yè)務(wù)和計(jì)算協(xié)同應(yīng)用,為滿足公安機(jī)關(guān)跨云平臺(tái)業(yè)務(wù)需求提供支撐,具體架構(gòu)如圖8所示。
基礎(chǔ)設(shè)施層:包括異構(gòu)云計(jì)算基礎(chǔ)硬件環(huán)境,以及異構(gòu)云的資源服務(wù)。
平臺(tái)層:包括異構(gòu)大數(shù)據(jù)離線計(jì)算、實(shí)時(shí)計(jì)算等基礎(chǔ)構(gòu)件,并以規(guī)則描述規(guī)范為基礎(chǔ),對(duì)服務(wù)實(shí)例管理、服務(wù)資源管理、作業(yè)調(diào)度管理等底層服務(wù)進(jìn)行封裝,向上層提供統(tǒng)一接口。
數(shù)據(jù)資源層:實(shí)現(xiàn)對(duì)數(shù)據(jù)資源的管理。并充分利用云平臺(tái)已有數(shù)據(jù)服務(wù),在跨云平臺(tái)協(xié)作時(shí),通過(guò)調(diào)用平臺(tái)層的統(tǒng)一服務(wù)接口,實(shí)現(xiàn)跨云平臺(tái)數(shù)據(jù)服務(wù)。
支撐層:對(duì)跨云平臺(tái)消息路由、數(shù)據(jù)同步、協(xié)同計(jì)算等關(guān)鍵技術(shù)進(jìn)行封裝形成相應(yīng)的功能模塊。其中,分布式消息隊(duì)列模塊向上層業(yè)務(wù)協(xié)同應(yīng)用提供跨平臺(tái)消息路由傳輸服務(wù);基于跨云平臺(tái)數(shù)據(jù)傳輸模塊向上層提供多源數(shù)據(jù)傳輸服務(wù),支撐數(shù)據(jù)協(xié)同應(yīng)用;安全多方計(jì)算模塊向上層計(jì)算協(xié)同應(yīng)用提供跨云平臺(tái)協(xié)同計(jì)算服務(wù)?;谥螌臃?wù),通過(guò)調(diào)用數(shù)據(jù)層跨云平臺(tái)數(shù)據(jù)服務(wù),為服務(wù)層跨云平臺(tái)應(yīng)用服務(wù)提供支撐。
服務(wù)層:以支撐層提供的消息路由、數(shù)據(jù)同步、協(xié)同計(jì)算服務(wù)為基礎(chǔ),基于數(shù)據(jù)協(xié)同、業(yè)務(wù)協(xié)同、計(jì)算協(xié)同等服務(wù),以服務(wù)協(xié)同的方式向上層應(yīng)用提供應(yīng)用服務(wù)。
應(yīng)用層:利用服務(wù)層提供的服務(wù),實(shí)現(xiàn)了數(shù)據(jù)資源目錄、數(shù)據(jù)共享等數(shù)據(jù)協(xié)同應(yīng)用,核查、反饋等業(yè)務(wù)協(xié)同應(yīng)用以及跨平臺(tái)標(biāo)簽協(xié)同計(jì)算、展示等計(jì)算協(xié)同應(yīng)用。
跨云平臺(tái)一體化協(xié)同系統(tǒng)已初步研發(fā)完成,為滿足相關(guān)警種業(yè)務(wù)需求,已初步應(yīng)用于部省部分公安機(jī)關(guān),提供了數(shù)據(jù)協(xié)同、服務(wù)協(xié)同等相關(guān)服務(wù),實(shí)現(xiàn)了阿里云、華為云等異構(gòu)云平臺(tái)的兼容交互,有效提升了部省平臺(tái)協(xié)同聯(lián)動(dòng)能力。下一步將繼續(xù)擴(kuò)大試用場(chǎng)景和范圍,將跨云平臺(tái)典型應(yīng)用場(chǎng)景推向更大范圍。如可應(yīng)用于跨云平臺(tái)標(biāo)簽協(xié)同計(jì)算方面,基于安全多方計(jì)算技術(shù)實(shí)現(xiàn)多個(gè)云平臺(tái)間的標(biāo)簽計(jì)算規(guī)則共享與協(xié)同計(jì)算,通過(guò)建立多云平臺(tái)間計(jì)算規(guī)則的統(tǒng)一發(fā)布機(jī)制,實(shí)現(xiàn)平臺(tái)間基于計(jì)算規(guī)則的知識(shí)匯聚與協(xié)同。通過(guò)建立統(tǒng)計(jì)標(biāo)簽、標(biāo)簽查詢、人員畫(huà)像等功能,實(shí)現(xiàn)跨平臺(tái)規(guī)則計(jì)算結(jié)果的查詢、展示。
本文針對(duì)當(dāng)前公安機(jī)關(guān)跨云平臺(tái)協(xié)作需求,提出了跨云平臺(tái)協(xié)作管理的分布式任務(wù)架構(gòu),研究了基于分布式消息隊(duì)列的跨云平臺(tái)消息路由、基于DataX的跨云平臺(tái)多源數(shù)據(jù)同步傳輸、基于安全多方計(jì)算的跨云平臺(tái)協(xié)同計(jì)算等關(guān)鍵技術(shù),設(shè)計(jì)了跨云平臺(tái)一體化協(xié)同系統(tǒng),在實(shí)戰(zhàn)中進(jìn)行了初步試用應(yīng)用,并擴(kuò)展設(shè)計(jì)了典型應(yīng)用場(chǎng)景,為各級(jí)公安機(jī)關(guān)多云平臺(tái)跨地域、跨層級(jí)協(xié)同聯(lián)動(dòng)提供了有效支撐。