汪寧 王濤
1. 公安部第一研究所 2. 寧夏回族自治區公安廳網絡安全保衛總隊
隨著云計算、大數據等技術的發展,各級公安機關采用云計算技術實現基礎設施的集約化管理,支撐了本級業務應用,并取得顯著成效。但隨著公安大數據戰略的深入推進,開展跨層級、跨地域、跨警種協作,已成為智慧警務建設的迫切需求,而跨云平臺一體化協作管理是實現各項協作的重要基礎。
各級公安機關前期建設的云平臺,涉及眾多技術體系,多云之間無法進行統一管理,協同聯動困難。
針對上述問題,文獻[1]~[4]進行了大量研究,但主要針對多云、混合云的管理、監控、調度以及運維等問題,未針對多云之間的互聯互通、協同聯動進行規劃設計。
因此,本文開展了跨云平臺一體化協作管理關鍵技術研究。各級公安機關在跨云平臺一體化協作管理方面的需求主要集中在多云間數據共享、業務聯動、協同計算等方面,本文面向公安業務跨云平臺應用場景,首次提出了分布式任務架構體系,并以此為基礎,重點突破了跨云平臺底層消息傳輸、多源數據交互以及分布式協同計算等關鍵技術,支撐多云平臺間的消息連通、數據共享、分析計算。最后設計了跨云平臺一體化協同系統,在實戰中進行了初步試用應用,并擴展設計了典型應用場景。
本文遵從“融合共享、協作聯動”的原則,充分利用現有公安云平臺已建軟硬件資源,在不改變底層架構的基礎上,對PaaS層服務進行標準化、統一化封裝,從而實現跨云平臺數據資源安全共享、業務協作聯動。
跨云平臺協作管理的分布式任務技術架構如圖1所示。
基礎設施服務層(IaaS):充分利用已有云平臺基礎設施資源及服務。
平臺服務層(PaaS):構建了統一的規則描述規范,通過對各省級平臺異構云平臺的平臺服務API進行封裝,形成了服務實例管理接口規則描述規范、服務資源管理接口規則描述規范、作業調度接口規則描述規范、服務實例管理、服務資源管理、作業調度等6大類規則描述規范,實現了對異構云平臺服務的統一調度與管理。依托跨云平臺協作管理的規則描述規范,兼容異構云平臺的PaaS服務接口,實現PaaS層服務的統一調度與管理,面向DaaS層提供統一服務API接口,實現跨架構、跨集群的計算調度、管理,保證分布式數據計算的協作分析,向SaaS層跨平臺應用提供數據支撐。
數據服務層(DaaS):充分利用云平臺已有數據服務,在跨云平臺協作時,通過調用PaaS層的統一服務接口,實現跨云平臺數據處理。
應用服務層(SaaS):基于云平臺上層已有應用服務,通過跨云平臺數據服務,實現跨云平臺業務應用。
針對公安業務如部省協同中跨云平臺業務協同需求,本文提出了基于分布式消息隊列的跨云平臺消息路由技術。該技術基于Apache RocketMQ[5]構建分布式消息隊列服務,確保異構云平臺間消息傳輸的實時性、一致性與完整性,通過消息路由機制動態規劃消息的傳輸路徑,使消息按照指定路由從源節點路由到目標節點,實現跨云平臺業務協同消息的雙向傳輸。
基于分布式消息隊列的跨云平臺消息路由技術的技術架構如圖2所示。

分布式消息隊列服務基于Apache RocketMQ提供的分布式消息隊列基礎服務能力,進行二次封裝,由路由注冊中心、消息協商器、消息發布模塊及消息消費模塊等子模塊構成,如圖3所示。

消息協商器:實現消息存儲與查詢、訂閱信息維護及客戶端管理。
路由注冊中心:支持消息協商器的動態注冊與發現。
消息發布模塊:從路由注冊中心獲取路由信息,選擇相應的消息協商器集群隊列進行消息投遞。
消息消費模塊:從路由注冊中心獲取路由信息,選擇相應的消息協商器集群隊列進行消息消費。提供實時消息訂閱機制,支持以push推、pull拉兩種模式對消息進行消費。
具體跨層級跨云平臺消息路由方式如圖4所示。

·平臺A通過任務發布服務,經消息發布模塊,將任務協同信息發布至任務協同主題的消息隊列。任務協同信息中包含平臺A的編碼、授權等相關驗證信息。
·平臺C通過任務接收服務,經消息消費模塊,完成平臺A驗證信息校驗后,接收任務協同主題隊列中的任務協同信息。
·平臺B通過任務訂閱服務,經消息消費模塊,向分布式消息隊列服務提交訂閱信息。訂閱信息中包含省級平臺B的編碼、授權等相關驗證信息。
·平臺C通過任務發布服務,經消息發布模塊,將任務協同信息發布至任務發布主題的消息隊列。任務協同信息中包含平臺B的編碼、授權等相關驗證信息。
·分布式消息隊列服務完成任務協同信息與訂閱信息的校驗后,對任務發布主題隊列中的信息進行篩選,并將任務協同信息推送至平臺B。
由于異構云平臺所依賴的云環境不同,因此在進行數據匯聚、數據協作管理時需收集不同類型的數據,存儲在不同的數據庫中,使用數據時也會從不同的數據源讀取數據進行分析和處理。這些不同的存儲方式、不同的采集系統、不同的數據格式,從簡單的文件數據庫到復雜的網絡數據庫,共同構成了多源數據源。為了將數據統一處理,根據實際業務,需將各個數據源通過一個中間件銜接起來。DataX[6]可支持跨云不同數據庫的自動配置識別,并具有豐富的轉換功能和強效的同步性能,以及健壯的容錯機制,且易于理解和操作,因此選用DataX來實現跨云平臺的多源數據同步傳輸,支撐部省的數據協作管理機制。
如圖5所示,以從阿里云RDS數據庫傳輸到華為云hive 數據庫為例,DataX基于預先定義的數據傳輸同步機制,根據不同數據源動態修改目標參數定義配置文件,進行增量同步,同步成功后,同時將同步時間寫入配置文件,監控數據的同步傳輸。在具體的傳輸過程,會通過reader和writer兩個模塊將數據轉換為標準格式映射傳輸到不同的數據源。

針對跨云平臺協同計算需求,本文提出基于安全多方計算[7]的跨云平臺計算協同技術,實現按需協同計算規則,使參與計算的各云平臺間在不泄露原始數據的前提下進行協同計算,實現“數據可用不可見”。

多方場景中數據處理方法的隱私保護十分重要。在20世紀80年代,安全多方計算第一次被姚期智院士提出。在過去的40年里,一系列的理論和實踐研究工作對多方安全計算進行了深入的研究。安全多方計算是指在無可信第三方情況下,通過多方共同參與,按照指定規則安全地完成協同計算。支持計算協同的跨云平臺安全多方計算技術的技術架構如圖6所示。

支撐層:安全多方計算框架,提供密碼學隱私技術及安全模型支撐,保障在數據加密狀態下進行計算。
服務層:由計算規則發布、計算結果獲取、加密預處理、加密分布式計算等服務構成。其中,加密預處理、加密分布式計算基于算法層提供的算法。

安全多方計算原理如圖7所示,在分布式環境中,由需求者提出計算規則,多個參與者共同完成計算,輸入數據分別由參與者提供,且每個參與者的輸入數據是保密的。在計算結束后,各參與者均可獲得正確的計算結果,但無法倒推其他參與者的輸入數據。
本文基于以上研究,設計了跨云平臺一體化協同系統,實現跨云平臺的數據、業務和計算協同應用,為滿足公安機關跨云平臺業務需求提供支撐,具體架構如圖8所示。

基礎設施層:包括異構云計算基礎硬件環境,以及異構云的資源服務。
平臺層:包括異構大數據離線計算、實時計算等基礎構件,并以規則描述規范為基礎,對服務實例管理、服務資源管理、作業調度管理等底層服務進行封裝,向上層提供統一接口。
數據資源層:實現對數據資源的管理。并充分利用云平臺已有數據服務,在跨云平臺協作時,通過調用平臺層的統一服務接口,實現跨云平臺數據服務。
支撐層:對跨云平臺消息路由、數據同步、協同計算等關鍵技術進行封裝形成相應的功能模塊。其中,分布式消息隊列模塊向上層業務協同應用提供跨平臺消息路由傳輸服務;基于跨云平臺數據傳輸模塊向上層提供多源數據傳輸服務,支撐數據協同應用;安全多方計算模塊向上層計算協同應用提供跨云平臺協同計算服務。基于支撐層服務,通過調用數據層跨云平臺數據服務,為服務層跨云平臺應用服務提供支撐。
服務層:以支撐層提供的消息路由、數據同步、協同計算服務為基礎,基于數據協同、業務協同、計算協同等服務,以服務協同的方式向上層應用提供應用服務。
應用層:利用服務層提供的服務,實現了數據資源目錄、數據共享等數據協同應用,核查、反饋等業務協同應用以及跨平臺標簽協同計算、展示等計算協同應用。
跨云平臺一體化協同系統已初步研發完成,為滿足相關警種業務需求,已初步應用于部省部分公安機關,提供了數據協同、服務協同等相關服務,實現了阿里云、華為云等異構云平臺的兼容交互,有效提升了部省平臺協同聯動能力。下一步將繼續擴大試用場景和范圍,將跨云平臺典型應用場景推向更大范圍。如可應用于跨云平臺標簽協同計算方面,基于安全多方計算技術實現多個云平臺間的標簽計算規則共享與協同計算,通過建立多云平臺間計算規則的統一發布機制,實現平臺間基于計算規則的知識匯聚與協同。通過建立統計標簽、標簽查詢、人員畫像等功能,實現跨平臺規則計算結果的查詢、展示。
本文針對當前公安機關跨云平臺協作需求,提出了跨云平臺協作管理的分布式任務架構,研究了基于分布式消息隊列的跨云平臺消息路由、基于DataX的跨云平臺多源數據同步傳輸、基于安全多方計算的跨云平臺協同計算等關鍵技術,設計了跨云平臺一體化協同系統,在實戰中進行了初步試用應用,并擴展設計了典型應用場景,為各級公安機關多云平臺跨地域、跨層級協同聯動提供了有效支撐。