陆剑予,孔维豪,2,刘原麟,3,李雪,张璐
(1.核工业北京地质研究院,北京 100029;2.中核集团铀资源勘查与评价技术重点实验室,北京 100029;3.遥感信息与图像分析技术国家级重点实验室,北京 100029)
云计算(Cloud Computing)是以网络技术、虚拟化技术、分布式计算技术为基础,以按需分配为业务模式,具备动态扩展、资源共享、宽带接入等特点的新一代网络化商业计算模式[1]。自2006 年亚马逊AWS 开始以Web 服务的形式,向企业提供IT 基础设施服务起,云计算服务产业已经在各行各业中蓬勃发展10 余年。云计算技术已从一个被认为是新瓶装旧酒的概念转变进入普及、应用、繁荣的阶段,成为提升信息化水平、打造数字经济新动能的重要手段。近些年,伴随着数字经济时代的来临,产业智能化的深入发展以及大数据、5G、AI等新兴技术的崛起,国内云计算产业规模逐年递增,企业纷纷上云,产业普遍向智能化发展。根据工业和信息化部2020 年通信业统计公报所示,应用以云计算为首的新技术,使得固定增值及其他业务的收入成为增长第一引擎。固定增值电信业务收入比上年增长26.9%,增速同比提高5.7%。其中贡献最高的云服务收入增长率更是高达85.8%[2]。
铀矿作为国家的重要能源,对国家经济实力和综合国力至关重要,是一种重要的稀有战略资源[3]。当前,云计算技术虽然在IT 行业中应用广泛,但其与铀矿地质行业的结合仍处于初级阶段。借助云计算技术,搭建一套符合铀矿地质行业特色的云平台,将对铀矿地质行业发展起到巨大的促进作用。
根据美国国家标准与技术研究院(NIST)的定义,云计算是一种模型,其可以实现随时随地便捷地,随需而变地从可配置计算机资源共享池中获取所需的资源。资源能够快速供应并释放,使管理资源的工作量和服务提供商的交互减小到最低限度。具有按需自主服务、广泛网接入、资源池化、快速弹性伸缩和可计量服务的特点[4-5]。按需自主服务可以让租客个性化地租用服务器硬件资源和服务;广泛网接入打破了不同设备间通信的壁垒,只要可以接入到网络中就可以使用云服务;资源池化可以将使用的CPU、内存、硬盘、安全产品等资源放入逻辑的资源池中,极大提升了使用效率;快速弹性伸缩可满足租户的需求调整。当业务量增加和减少时都可以快速地调整服务器硬件资源,以便节约成本提升效益。云计算可以使用户摆脱本地资源的束缚,通过网络按需使用数据中心的计算力和存储功能,而无需自购设备。打个比方,这就像我们不需要在自家院子里打井取水,不需要在厨房里使用柴油机发电,而是享用水电公司提供的服务一样[6]。
云计算平台是云计算技术体系的核心,是为用户提供云计算服务的软硬件资源集成平台。云平台通常依赖于虚拟化技术先将异构计算资源整合,形成抽象的、虚拟的和动态扩展的计算机资源池,再通过网络向用户按需提供计算资源、存储资源和应用软件等服务。在云平台上,计算机资源得以共享,能够提供强大的计算存储功能[7]。云计算平台通常分为3种服务模式:IaaS(基础设施即服务)、PaaS(平台即服务)和SaaS(软件即服务)(图1)。
图1 云计算3 种服务模式Fig.1 Three models of cloud computing
1)IaaS(Infrastructure as a Service),基础设施即服务
IaaS 是云计算服务中最基础的类别。使用IaaS 可以从云提供商处按现收现付的方式租用IT 基础架构服务器虚拟机、存储、网络和操作系统等。他是一种即时计算基础设施,通过互联网进行配置和管理。在使用IaaS 时,用户可以控制操作系统、存储、网络组件,部署应用程序。
2)PaaS(Platform as a Service),平台即服务
PaaS 为构建、测试和部署软件应用程序提供了一个环境。PaaS 可以让用户能够使用云提供商支持的编程语言和工具,把开发出的程序部署到云中,其目的是帮助用户便捷的创建应用程序,而不必专注于管理平台基础架构。PaaS 开放应用程序接口,主要面向的用户是开发人员。
3)SaaS(Software as a Service),软件即服务
SaaS 是为最终用户集中托管和管理的软件,他允许用户通过互联网连接和使用基于云的应用程序。SaaS 开放用户接口,使用户无需了解底层基础架构和任何应用程序开发接口,提供了一种降低软件使用成本的方法,即可以按需使用软件而不是为每台计算机购买许可。
云计算平台具有良好的可扩展性和伸缩性,提供了一个轻便的人机交互接口和强大的计算能力,让用户可以高效、自主地获取服务或选用平台资源。
虚拟化是一种可以将一种形式的资源抽象成另一种形式的技术。虚拟化的资源是逻辑表示,不受物理限制的约束,实现了上层操作系统与硬件解耦,可以将单个资源划分成多个隔离的虚拟资源或将多个独立资源封装为统一资源,即把资源抽象成共享资源池。虚拟化是云计算的基础,通过虚拟化的方式,可以在几分钟之内,虚拟出一个独立的、随需配置的虚拟机供用户使用。虚拟化技术给资源使用和调度带来了极大的方便,系统可以根据应用的实际负载情况及时进行资源调度,从而可以保证既不会因为资源得不到充分利用造成系统资源的浪费,又能够保证应用和服务不会因为资源缺乏而带来性能的下降[8]。
在传统模式中,一台物理服务器基本上只能运行一个应用系统,造成服务器CPU、内存、硬盘等硬件资源得不到充分利用,同时在应用扩展时操作繁琐。使用虚拟化技术可以在多台物理服务器组成的集群上运行多个虚拟节点,从而可以动态地分配服务器硬件资源,合理地运行多个应用系统(图2)。
图2 虚拟化效果Fig.2 Comparison of virtualization model and traditional model
60 余年的铀矿地质工作已积累了大量的全国范围铀矿相关资料及部分海外地勘资料,涵盖学科领域包括地质、遥感、物探、化探、钻探、测绘等有关科研数据和成果,部分单位还建立了专题数据库和综合数据库。但各种数据的数据模型、数据结构,包括数据内容的语义表达等存在诸多差异,缺乏高效的管理和共享机制。很多数据没有得到统一管理或有效利用,大大造成数据和IT 资源的浪费。而云计算能够处理企业对数据集中管理和IT 资源动态分配的需求,统一数据标准和规范,解决上述“数据孤岛”和“信息烟囱”的问题,实现有效的管理和共享机制。云计算就是将原本分散的资源聚集在一起,再以服务的形式提供给用户(受众)[9]。在铀矿地质行业内共享信息资源,并且逐步将信息资源转变成服务,提升行业水平,是云计算平台建设的重要目标之一。
同时,铀矿地质云平台的建设可以降低行业内各单位的IT 运行成本。各单位将共用一套包括服务器、存储以及网络的虚拟化集群,按需租用不同的云服务,不再需要自建、运维机房。解决了行业内各单位信息化力量不足,运维人员水平参差不齐的问题。使行业内各单位将关注点放在业务系统的开发和使用上面,提高信息化与业务融合度,促进铀矿地质行业的创新和发展。
铀矿地质云平台旨在建设铀矿勘查全周期大数据应用一体化数据平台,为各级单位提供生产运行监控、数据统计、智能预警和决策优化服务[10]。通过统筹规划、顶层设计、资源整合,对行业内各单位多级节点的铀矿地质资源进行分布式的存储管理和计算共享资源,从而实现铀矿地质资源的合理利用和高效配置。构建科学合理的管理体系,优化服务,逐步实现铀矿地质信息高效共享和精准服务,向铀矿行业信息化和智能化的工作模式转变。
3.1.1 统一的铀矿资源标准体系
参照铀矿资源领域内国家标准、行业标准、技术规范和管理办法等,形成铀矿行业统一的信息化标准体系,建立铀矿资源信息化标准实施监督机制,依据标准积极推动信息化建设。
铀矿地质云平台的设计、开发和实施等内容须遵循标准体系。标准体系需符合实际需求,随着平台建设的不断深入,标准体系也要根据平台建设情况不断完善。通过标准体系,可以对基于平台进行信息共享和业务协同进行规范。确保平台实现系统互联互通,有利于平台建设安全可靠。
3.1.2 统一的铀矿行业信息化顶层设计
信息化建设需统筹管理,提高规划约束力,业务系统要避免重复开发、系统间相互独立的现象。本着以信息化建设为手段,提升业务和管理水平,着重关注信息化与业务的融合问题,形成统一的应用门户和资源池,集中管理和维护,避免重复开发业务系统、数据标准不统一、业务板块覆盖不全、系统推广范围有限的现象。
3.1.3 整合多源异构数据
在信息化的建设中,多源铀矿资源数据缺少汇聚机制,资料分散已成为制约科学判断铀矿资源形势和分布的一大难题。主要表现在:基础地理资料不统一、应用系统各自建设、数据资源重复建设等问题;数据共享机制不完善,需要解决铀矿资源各类数据的合理汇聚、集中管理、共享与分发。
各类铀矿资源数据的正确、完整、高效集聚是合理开展数据决策、数据共享分发的基础。数据共享分发与数据决策过程本质上是数据驱动的过程。因此,如何实现分布于不同业务系统的各类铀矿资源实现基于主题的自动汇聚及按需分配是关键。
3.1.4 确立云计算服务
云计算的核心就是云服务,只有以服务的形式将其特征和优势展现出来,才能让其落地并被企业使用。前文介绍的IaaS、PaaS、SaaS,名称的最后一个字母“S”是服务的简写。云计算用户不必关心其服务的内部结构和实现服务的方式,以此形成的服务被称为云服务[11]。能否实现像享用水电公司提供的服务一样使用云平台的资源,就要看云服务的设计。云计算服务可以将大量用网络连接的计算资源统一管理和调度,构成一个计算资源池向用户提供按需服务。这一点正是云计算功能中最重要的模块,是云计算平台能否发挥价值的核心体现,因此确立铀矿地质云平台的云服务是最为关键的一环。
铀矿地质是包含地质测量、放射性物探测量、遥感技术等多学科、多专业的找矿和勘探方法。铀矿地质云平台具有一定的专业性和保密性,部署云服务时,需要考虑科研和生产相结合,重点针对多年累积的地质数据。
3.1.5 铀矿地质云平台运维和安全
建设工作完成后,铀矿地质云平台的运维工作也是非常重要的一点。云计算资源规模庞大,服务器数量众多且运行的应用复杂,稳定运行是影响正常运营的关键因素。需要确保平台7×24 小时的稳定运行,随时调用资源池资源,满足用户的弹性需求,保障整个系统提供不间断的服务是巨大的挑战。选择相应的云平台管理技术能够使大量服务器协同工作,方便进行业务部署和开通,快速发现和恢复系统故障,通过自动化、智能化的手段实现大规模的可靠运行。
建立在安全标准基础之上的安全体系,兼顾数据库、网络、操作系统、云平台等方面的安全性,加强项目安全责任、数据安全采集、生产、使用和安全意识,完善铀矿地质云平台的安全标准和管理制度,确保铀矿地质云平台安全可控,保障项目的顺利推进。
铀矿地质云计算平台采用分布式计算、并行计算、虚拟化等技术手段,充分利用资源池内CPU 的闲置处理能力来解决大型计算问题。在松散或严格约束的条件下使用一个硬件和软件系统处理任务,包括多个处理器单元和存储单元、多个并发的过程、多个程序。将计算任务分配给众多计算机进行处理,再把这些计算结果综合起来得到最后结果。铀矿地质云计算平台把应用和系统建立在服务器集群之上,通过基础设施与上层应用程序的协同构建以达到最大效率使用硬件资源的目的,并且通过软件的方法容忍多个节点的错误,达到分布式计算系统可扩展性和可靠性两个方面的目标,从而对外提供稳定云服务。
3.2.1 平台架构设计
搭建铀矿地质行业云平台时,首先需要根据计算量和存储量整合硬件资源,形成IT 资源池。在IaaS 平台,实现资源池内的容灾、自动化修复和管理以及资源动态调配。然后在这个基础的云架构上部署中间件,收集用户需要的基础数据并分析,针对不同算法提供编程接口。在这个阶段提供统一的中间件服务、消息服务、整合服务等多种基础服务,用来作为业务软件的运行支撑平台。最后完成SaaS 平台搭建,通过网络逐步将应用系统移植到云架构上,构建各种云服务,直接面向用户提供业务IT 服务,实现应用运行环境标准化(图3)。
图3 平台架构设计Fig.3 Frame design for the platform
铀矿地质行业云平台的建设内容主要体现在IaaS 和SaaS 层。IaaS 平台的核心技术是虚拟化技术,淡化用户对于物理计算资源(服务器、存储、网络)的直接访问,取而代之的是用户访问逻辑资源,而后台的物理连接则由虚拟化技术来实现和管理[12]。IaaS 平台最终将基础设施层资源以虚拟化的形式租借出去,在搭建IaaS 层时要注重IT 系统的基础设施,按行业内各单位的需求做好资源池。铀矿地质行业云平台IaaS 层设计3 个服务:全局入口管理、集群管理和硬件管理。全局入口管理用来验证访客信息、设置访问权限、分配访问许可和管理用户租赁的基础设施层资源,相当于用户和云平台在基础设施层的交互与准入接口。全局入口在设计时要确保界面友善,使用户可以清晰的寻找到想要租用的资源配置,同时要保障用户信息安全可靠。集群管理接收用户访问全局入口后,提出的资源查询或申请请求,分析用户所需要的计算力和存储需求,再向下提出资源分配的命令。在集群上管理着用户申请的基础设施层资源,要做好虚拟机备份任务,确保当用户的虚拟节点宕机后可以在不影响业务的情况下迁移至其余虚拟节点上。硬件管理直接与物理服务器、存储等资源进行交互,向上层反馈资源池内硬件使用的情况和正在运行的虚拟机状态,是平台软硬件交互的接口。
在IaaS 平台,通过虚拟化技术将上层操作系统与硬件解耦,实现资源池化。而PaaS 平台是在IaaS 平台基础之上,集成并预装了完整的服务器虚拟机。集成在PaaS 环境中的服务包括中间件(例如,使独立软件组件协同工作的软件),操作系统、开发和部署服务,能支持软件开发和交付[13]。铀矿地质行业云平台PaaS层部署可靠的分布式变成框架,提供全平台PaaS 和半平台PaaS 两种服务。全平台PaaS 安装业务系统可能需要的全部依赖程序,包括数据库、中间件和运行库,提供给用户一套完整的开发和测试环境;半平台PaaS 只安装操作系统,其余依赖程序由用户自行安装。这种方式相对灵活,可以让用户更加具有针对性的对业务系统进行调试,并且节省了资源空间,减少浪费。
SaaS 层以软件应用作为服务,将在平台层开发的软件发布到SaaS,或者将现有的应用系统迁移至云平台,即可为相关的用户提供基于企业内部网的软件应用服务[14]。铀矿地质行业云平台SaaS 层将根据行业内单位需求,部署地质、遥感、物化探、分析测试等有关科研生产软件,以及OA、ERP、项目管理、辅助决策等科研管理系统。软件输入输出设计在云端,当用户经授权认证后,通过B/S 架构仅需要简单的处理操作就可以访问云端,使用云端提供的服务。防止出现用户本地终端硬件与云端软件不兼容的问题,同时减轻本地设备的硬件资源占用率。
3.2.2 存储和容灾
为保障高可用、高可靠和经济性,铀矿地质行业云计算平台采用分布式存储的方式。服务器和存储通过光纤交换机相连,所有虚拟机部署在存储划分的多个LUN 中。各存储设备上均安装统一的存储设备管理系统,可以实现存储设备的逻辑虚拟化管理、集中管理、多链路冗余管理以及硬件设备的状态监控和维护升级等[15]。通过在硬盘分区进行加密和隔离来加强物理存储的安全性,通过使用密文字段格式处理数据库中的敏感信息来确保逻辑存储上的安全性。将数据打散并且在多个位置进行复制,在本地数据中心和异地灾备中心同时存储数据,多个中心的数据实时同步更新,确保RPO 小于10 秒,RTO 小于3 分钟。当某个地域出现灾难不会引发文件丢失的情况,用户将读取多个分片重组后的一个完整文件。同时采用数据库中列存储的数据管理模式,使数据读操作的频率远大于数据的更新频率。
3.2.3 网络
云计算的发展必须以网络为依托,网络是架构云计算平台最基础的环境[16]。和本地服务有很大区别,用户延时是一个关键因素,要考虑把应用迁移至网络时,可能产生各种各样的延时。当处于网络信号不通畅的地方,用户使用移动设备会出现网络中断或者卡顿的现象,因为客户端和应用程序服务器连接通常是通过端口连接。这种情况当网络中断时,端口将会立马断开连接。因此,铀矿地质云计算平台通信引入队列的思想,即在客户端和服务端建立一条逻辑通信管道,将数据拆分成一个一个分片性质的信息。即使网络出现中断,也可在网络恢复后,继续从管道中提消息并进行处理。将平台网络延时控制在200 ms,语音视频延时控制在50 ms,抖动小于20 ms,丢包率小于1%。
另一方面,降低网络延迟可以通过减少网络路径上的转发节点数目或者提高设备的转发速度。但由于无法直接修改外部网络,只好将云端尽可能的部署在离用户最近的地方。这里的“近”并不是指物理位置上的近,而是指网络延时最小的地方。
3.2.4 端到端的系统安全
铀矿地质行业云计算平台建设统一、全面的安全策略,具备低安全措施成本,可以按需提供安全防护。平台通过系统加固、隔离网络和分权管理账号提升端到端的系统安全:对操作系统进行精简,从而去掉多余组件、关闭不需要的端口对特定服务进行加固,收集系统日志以便进行故障分析;业务网络和基础平台网络实现隔离,将不同用户的流量划分到不同VLAN 中,并且部署IDS、WAF 等安全设备,不间断检测网络中的运行情况,保障网络安全;遵从账户和角色相对应的模型,使每个账户的访问控制权限达到最小粒度,建立完善的安全审计机制,并通过数据访问控制、数据盘加密等技术保证用户信息安全。同时,为提升整体系统的防病毒能力和效率,铀矿地质云计算平台采用虚拟化防病毒的方式,虚拟机无需再安装防病毒软件,减少系统资源占用率,有效避免杀毒风暴。
除上述内容外,云平台的部署同时需要采用多路供电、恒温恒湿系统,引入集群技术、容错技术及负载均衡技术等措施确保计算持续可用,这样由云端、网络、终端组成的云计算系统具备极高的可靠性和可用性。
本文通过分析云计算的基本特征和相关技术,结合铀矿地质行业的实际,总结了搭建一套铀矿地质云计算平台的要点,并提出建设云平台的设计思路。建设完成后铀矿地质云计算平台可以整合行业内数据资源,可以为行业内各单位提供统一数据接口,也可以个性化的调用系统资源。铀矿地质云计算平台建设将深刻改变铀矿地质行业业务系统的模式,特别是在部署专业程度较高的应用系统上具有较好的应用前景。相关科研、生产和管理工作将从本地逐步移植到云端。通过平台使行业内各单位共享软硬件资源平台和优质服务,整体提升全行业的信息化水平。同时可以提高科研工作效率,促进业务创新,有效推进找矿及研究工作,为打造一流的铀矿地质行业添砖加瓦。