基于Docker技术的灌浆信息管理系统在红卫桥电站的应用

2023-12-14 13:05侯忠发
长江科学院院报 2023年12期
关键词:应用服务镜像容器

雷 涛,郭 亮,侯忠发,王 路,张 念

(1.四川华电金川水电开发有限公司,成都 610041; 2.武汉长江科创科技发展有限公司,武汉 430010)

0 引 言

随着科学技术飞速发展,水工建筑数字化是水利行业发展的必然趋势,促进建造过程向信息化、智能化的转型,是新时代绿色水利建设的基本要求。由于水利行业实施终身追责制度,其对数据真实性和完整性极其重视,同时建造过程产生的海量数据需要实时处理,所以构建一套适用的灌浆信息系统对灌浆过程数据进行精细管理成为各大中型水电站管理灌浆工程的关键手段。近年来各个大型水电站灌浆信息系统的发展方向主要有2种:一种是向着全周期灌浆数据进行管理,力求获得最全面的数据;一种是朝着基于数值模拟的各类灌浆质量的表现方法,力求进行最深入的分析。这两种发展方向确实提高了大型水电工程的建设质量管理水平,但是对于流域内的中小型电站并没有足够的预算去建立完善的信息系统或进行深入的数据分析,所以如何快速部署一套适用中小型电站建设管理,同时又能快速集成多个应用系统和数据管理方法是需要在实践中重点解决的问题。

红卫桥水电站系俄日河干流水电规划“一库四级”自上而下的最后一级,坐落于四川省阿坝藏族羌族自治州金川县境内,由四川华电金川水电开发有限公司开发建设[1]。项目工程基础围岩为三叠系中统杂谷脑组上段(T2z2)变质砂岩夹少量板岩,岩石致密坚硬,存在若干条随机发育裂隙围岩,部分裂隙张开,围岩主要为Ⅲ类,为满足设计要求,需要对多个部位进行灌浆施工,其中引水隧洞工程为施工的难点,红卫桥电站引水隧洞长度为19.39 km,其中Ⅳ类围岩3 530 m(占总长18.21%),Ⅴ类围岩3 686.09 m(占总长19.01%)[2]。灌浆施工具有隐蔽性强,灌浆过程难以控制,灌浆质量难以评价等工程特点。灌浆工程资料中包含了灌浆施工全过程的记录,这些灌浆过程记录是灌浆效果最直观、全面的反映,为灌浆效果分析提供数据来源,是评价灌浆施工质量和灌浆效果、工程款结算的直接依据。同时,灌浆过程数据真实地反映了灌浆施工过程,是进行灌浆质量控制的重要参考依据。

1 Docker容器概念和方法

1.1 Docker容器的基本概念

Docker是PaaS提供商dotCloud开源的一个基于Linux系统容器的高级容器引擎[3],源代码托管在Github上, 基于go语言并遵从Apache2.0协议开源。Docker使用轻量级的容器虚拟化平台,并且结合系统自带的工作流和应用工具,对需要的应用程序进行部署和管理。Docker能够让用户需要的配置和程序在一个安全、隔离的容器中运行,且不额外开销系统资源。Docker的系统原理如图1所示。

Docker包括3个基本要素:镜像、容器、仓库[4]。

Docker的镜像是一个标准化工具,它是一个带有独立的文件系统的只读模板,且包括了运行容器所需的数据。镜像可以通过Docker的属性Docker文件的创建功能构建,Docker文件作用是一个描述文件,包含了Docker镜像里系统运行的各种材料,这些材料通过Docker文件对基础文件系统创建合适的层次结构。

Docker的容器是软件稳定的运行的环境。Docker容器类似虚拟机,可以支持运行软件的启动、停止、删除等操作。每个容器间是相互隔离的。容器中会运行特定的应用,包含特定应用的代码及所需的依赖文件,这些是由Docker的镜像的运行功能创建的运行的。

Docker文件面向用户开发,Docker镜像为交付标准,Docker容器涉及运行和部署,三者密不可分,是Docker体系的基石[5]。

Docker仓库相当于一个本地系统外的代码库。Docker仓库是用来包含镜像的位置,Docker可以通过入库功能提交到仓库,也可以从指定仓库出库功能拉取镜像到本地。简言之镜像相当于货物,容器相当于集装箱,仓库相当于码头,将货物放入与之匹配的集装箱内,才能将仓库内的货物从一个码头发往另一个码头。

1.2 Docker容器和相似技术的比较

容器技术已经有成熟的应用,科技巨头IBM一直在使用容器[6]。单独就Docker容器而言,其与VMS代表的虚拟机技术的显著区别见图2。

图2 Docker和VMS的区别示意图

Docker可把应用软件装载在容器内,通过容器技术把应用软件变为一种标准化、可移植和自管理的组件,Docker组织的这种组件可在其他环境下进行应用软件的开发、测试和运行,同时也可非常方便的将该组件运行在生产环境下面。因此,对于开发者来说Docker可用来构建隔离的标准化的运行环境,提供了可移植的标准化的部署过程,Docker可轻松的完成规模化、自动化的部署工作;对于广大开发者来说,Docker的映像创建、共享等数据管理功能,其实是提供了一套开发环境的管理方法,并且是一种能够跨平台持续集成的开发环境。

Docker的优点总结如下:

(1)启动速度快并且占用资源少。

(2)软件搬家方便、快速部署和自动部署。

(3)具有持续集成的能力。

2 基于Docker灌浆信息在红卫桥电站的应用

2.1 红卫桥现场基本需求

目前,灌浆信息系统成为各大电站进行过程管理和质量管控的关键技术抓手,传统的灌浆信息系统基本结构如图3所示。

图3 传统灌浆信息系统结构

灌浆信息系统一般集成了数据库、应用服务、用户界面,并将三者有机结合在一起,形成采集,处理,监控三位一体的采集数据管理方案。第一时间采集,第一时间统计,第一实践展现,使得现场的管理效率大为提升[7]。一般而言,对于灌浆信息系统的开发和部署在需求沟通明确的条件下需要3个月。红卫桥电站基本灌浆施工计划如表1所示。

表1 红卫桥某部位基础灌浆施工安排计划

根据现场管理需求,灌浆信息系统需要在1个月内完成部署开发,否则就会影响到现场的灌浆施工的管控。由于疫情因素,我方无法向现场安排软件工程师。为了快速响应工程管理者对现场施工的管理要求,本项目制定了一套基于Docker的系统部署方案,能够实现远程快速部署应用的计算机技术。

2.2 用Docker向现场布置灌浆信息系统过程

为了完成部署,项目需要3套计算机,需求见表2。

表2 Docker部署服务基本需求

本地服务器是指位于长江科学院内网的服务器,远程服务器是位于公网上的云服务器,现地服务器是红卫桥现场将要部署的内网服务器,整个系统的架构如图4所示。

图4 红卫桥服务器远程部署架构

本地服务器A中具有一套多种应用服务以及应用服务的环境的灌浆信息系统,位于局域网1中,现需要将其部署在位于局域网2中的现地服务器C,由于网络安全因素,局域网中的服务器A、C不能直接连接,需要借用公网云服务器进行中转。传统情况下,由于服务器C不具备运行多种应用服务的环境,所以服务器A中的应用无法直接在现地服务器C中部署,需进行现地的服务环境,应用兼容,网络安全等进行全面的测试,工作量大时间长。但是借用Docker服务器A中的应用服务以及应用服务的环境可以通过镜像和容器进行虚拟化,达到快速在现地服务器C中运行的目的,这就是Docker技术应用的核心。整个过程可以分为4步:

(1)准备一台本地的Linux服务器A,远程Linux服务器B。Docker软件包已经包含在了默认的CentOS.Extras软件源里,它是开源且免费的。

运行:

#yum install docker

#systemctl start docker.service

至此则完成Docker环境的安装与启动;

(2)在该Docker中安装并调试应用服务的环境即容器,

#docker run-P 5000:5000 registry

建立应用服务的若干个镜像images;将做好的Docker镜像images上传到远程Linux服务器B中建立好的数据仓库中,并在远端的根目录下建立images的映射关系。

#docker run -P 5000:5000 -V app/localregistry:/app-e

STORAGE_PATH=/app registryconf

(3)利用push上传镜像文件,至此完成了Docker镜像的制作和上传,实现了应用服务,应用服务的环境和系统的分离。

(4)在红卫桥网络信息中心办公室,布置一套现场Linux服务器C,通过pull操作下载镜像app,

#docker pull:5000/app

然后在红卫桥内网服务器的docker中启动应用服务的容器,利用run操作就可以直接启动放在镜像中的服务,通过这样可以部署所有需要的应用和服务到现地服务器C中。整个系统的安全性通过网关前的企业级防火墙以及局域网内的安全设置进行保障。

2.3 灌浆信息系统基本功能展示

红卫桥灌浆管理信息系统应用于主帷幕廊道施工管理,通过Docker部署了灌浆数据记录,实时参数曲线功能和压力报警功能。并通过形象化展示进行呈现,呈现效果和传统部署方式并无两样。

2.3.1 实现了灌浆记录表的同步展现

灌浆记录表反映现场灌浆生产最原始的基础数据,现场灌浆记录表同工程管理者信息网络端同步展现(图5),即可确认现场的施工情况,又可以和现场纸质灌浆资料进行验证,确保原始数据的完备性和真实性,是工程管理者实现现场管理的重要手段[8]。

图5 网络端灌浆记录

2.3.2 灌浆参数的分析

压力是灌浆生产作业的控制性关键参数,系统部署了压力监控服务。系统能对每天产生的压力瞬时超限和超限压力范围分布情况进行柱状图显示,根据数据反馈督促施工单位进行施工过程持续管理和优化,实现了施工过程的反馈管理。见图6。

图6 灌浆压力日报警统计柱状图和分布直方图

2.3.3 数据现场二维码现场验证

灌浆信息系统支持的灌浆记录表,能够显示二维码,通过对小程序对二维码扫描,可以获取灌浆作业基本信息,以及灌浆资料的真伪,有效反映了过程数据和现场过程的对应关系,防止现场进行虚假灌浆,确保灌浆质量。小程序信息验证见图7。

图7 小程序信息验证

3 基于Docker的灌浆信息应用的效益

3.1 对工程管理的投资和质量平衡提供了技术抓手

随着施工的深入展开,4#—6#洞地质缺陷逐步暴露,部分试验生产段出现1 000 kg/m的超大灌量,工程管理者通过组织专家咨询后,提出定制报警功能,以便对施工过程进行合理控制。对灌浆参数分析后,提出固结灌浆量控制报警指标为200 kg/m,回填量控制报警指标为100 kg/m2。经过制定灌浆信息系统报警功能,督促施工单位改进施工工序,加强对施工作业面嵌缝堵漏后,4#洞下游、5#洞上游、5#洞下游—6#洞上游、6#洞下游—7#洞上游、7#洞下游—8#洞上游等施工部位单位注浆量显著下降,为工程管理的投资和质量平衡提供了技术抓手。引水隧端赖回填灌浆和固结灌浆统计见表3、表 4。

表3 引水隧洞回填灌浆统计

表4 引水隧洞固结灌浆统计

3.2 对新冠疫情条件下的灌浆监管提供了有力的支持

新冠疫情虽然对劳动力密集型产业产生冲击,但运用灌浆信息系统有效提高了现场监管的效率,降低了疫情对行业监管的冲击。利用Docker技术实现了快速部署和远程开发,缩短了软件开发的沟通成本,降低了信息系统应用门槛;提高了数据在生产实践中的指导作用。

在此情况下,通过技术应用灌浆过程监管率达到90%以上;灌浆过程数据有效性达到85%以上;灌浆资料合格率达到100%,灌浆质量合格率达100%。

3.3 为“十四五”中小水利工程建设提供了新思路

“十四五”期间,水电开发的重点地区在四川、云南、西藏地区,这些地区地处偏远,建设条件艰苦,人口稀少,对电站的建设管库提出了前所未有的挑战。对于基础灌浆这样具有隐蔽性的并且分散的施工作业,通过信息系统可以将分散的作业面进行集中管理。由于中小型电站的预算有限,时间也有限,不太可能有太多资源用于灌浆信息系统软件开发。采用docker技术,由于环境部署方便,兼容性强,新功能的开发再使用中仅以镜像更新包的形式更新即可,几乎不影响使用,已开发的应用可以放入工程管理者的流域建设管理的企业云仓库中,便于流域中其他中小型电站都可免费使用这种应用服务[9]。

4 结 语

在“水利工程补短板、水利行业强监管”的背景下,对于流域开发而言,提高中小型水利工程的监管水平是提高整体流域施工监管水平的关键,而基于Docker技术灌浆信息系统的部署是一种可轻量化持续集成的开发部署。Docker远程技术与本地技术构建信息系统相比较,Docker远程技术的应用将系统部署时间提高了近10倍,具有传统服务器部署方式无法比拟的优势。利用Docker技术部署灌浆信息管理系统提升软件服务质量同时,也提高了资源利用率,降低了部署成本,可以将更多精力放在软件的适应性开发上,是在国家“十四五”流域规划建设中,适合中小电站信息系统部署的一项具有广阔前景的应用技术。

猜你喜欢
应用服务镜像容器
Different Containers不同的容器
全球卫星互联网应用服务及我国的发展策略
镜像
难以置信的事情
国家不动产统一登记信息平台构建与应用服务
镜像
取米
全国征集卫星应用服务解决方案
镜像
应用服务型人才培养体系下的嵌入式操作系统教学改革探索