汪宁 王涛
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的跨云平台多源数据同步传输、基于安全多方计算的跨云平台协同计算等关键技术,设计了跨云平台一体化协同系统,在实战中进行了初步试用应用,并扩展设计了典型应用场景,为各级公安机关多云平台跨地域、跨层级协同联动提供了有效支撑。