光学卫星影像数据生产管理平台技术研究
张永利 杨丽丽 马冲 贾凡 李姣姣 蔡琳
中国电波传播研究所 青岛 266600
摘要:随着光学卫星遥感技术的快速发展,新型传感器不断涌现,资源系列、高分系列等卫星影像数据产品作为一种高度几何校正的卫星影像,以其高精度、高分辨率的特点,在各个领域被广泛应用。近年来随着卫星影像数据量的剧增,对卫星影像数据处理生产效率及存储提出更高要求。本文通过光学卫星影像生产管理平台技术研究,系统介绍了光学卫星影像数据生产管理平台组成、架构设计、关键技术。通过构建大数据基础支撑平台,采用分布式架构、模块化设计、高效处理与存储、高容错性、灵活性等技术,为处理和分析海量卫星光学影像数据提供有力支持,提出了多CPU协同并行处理技术和卫星影像处理任务调度技术,主要用于遥感影像处理的并行任务调度、消息通讯、节点管理及分析计算等逻辑性任务的处理,确保计算资源得到合理利用。采用容器化部署设计,利用容器化(Docker Container)技术,把光学卫星影像处理微服务制作成 Docker 镜像,便于容器化部署。
关键词:卫星影像、数据生产、管理平台、微服务、容器化部署、任务调度
引言
随着光学卫星遥感技术的快速发展,新型传感器不断涌现,资源系列、高分系列等卫星影像数据产品作为一种高度几何校正的卫星影像,以其高精度、高分辨率的特点,在城市规划、土地利用与资源管理、环境保护与监测、地图制作与更新、工程建设与设计、公众服务与教育、军事与国防等领域广泛应用,并发挥着重要的作用。
影像数据质量不断提高,但同时卫星影像的数据量也呈现出指数式增长趋势,数据日增量从GB级迅速增长到TB级,数据总量从TB级迅速增至PB级[1]。传统的卫星影像数据处理平台已无法满足海量卫星影像数据产品生产的性能要求[2],因此需要建立集大数据管理平台、高性能计算系统的光学卫星影像生产管理平台,提升卫星影像数据产品生产效率。
本系统通过光学卫星影像生产管理平台技术研究,实现光学卫星遥感数据生产、存储及管理。
1建设目标
充分整合军、民、商卫星影像数据资源,实现国内外主流遥感光学卫星影像数据处理特征方法研究,利用多台工作站建立的多节点数据分析处理集群,通过集群管理、任务调度、作业监控等方式,充分发挥多核多CPU多进程[3]、高性能GPU、弹性计算资源、多作业队列管理等方式,实现卫星影像数据快速自动化正射影像生产、存储、管理。
2光学卫星影像数据生产管理平台概述
光学卫星影像数据生产管理平台采用集群计算模式,由生产管理平台软件、硬件环境及大数据处理平台等构成。
2.1光学卫星影像数据生产管理平台功能介绍
光学卫星影像数据生产软件基于B/S、C/S混合业务架构,采用交互协同作业与集群自动处理相结合的数据产品生产模式,能够将多源光学卫星遥感影像数据,快速自动生成高精度光学卫星影像数据产品,同时将生产任务过程监控、数据产品质量评估贯穿于数据产品生产全过程,以提升卫星光学遥感影像高精度正射影像数据产品质量、准确性和应用价值。平台主要功能如下[4]:
(1)卫星影像数据管理功能:支持影像数据资源目录服务、导入导出、下载、共享分发、检索查询、删除等功能;能够根据数据类型、卫星类型、时间范围、区域范围、产品数量等对数据产品进行统计分析,支持列表、直方图、饼状图等数据展示形式,使数据使用方对数据产品分布、产品数量等有个直观了解。
(2)卫星影像数据通用预处理功能:提供影像数据格式转换、坐标系转换、数据重投影、波段合并及重组、分辨率重采样功能,满足不同用户应用处理需求。
(3)卫星影像匀色处理功能:支持影像数据的自动或手动匀色处理,使数据保持色彩一致性,包含影像波段重组功能、自动匀色处理功能、调色参数设置功能、影像文件自动匀色或交互调色处理功能、光照调整和色彩融合功能、匀色操作记录和回退功能。
(4)卫星影像配准融合功能:提供HIS变换、主成分变换、加权乘积、比值变换、小波变换、高通滤波、PANSHARP融合等影像配准融合功能,实现影像间的精确对齐,提升影像数据丰富度和准确性。
(5)卫星影像纠正与镶嵌功能:提供卫星影像数据的几何纠正和辐射纠正功能、镶嵌编辑一体化处理功能、镶嵌影像成果瓦片生成功能、镶嵌线的自动化生成功能、镶嵌局部影像的自动调用与调色处理功能、快速实时贴纹理处理功能、多人协同镶嵌功能。
(6)卫星影像数据产品质量评估功能:提供卫星影像、辅助参考数据的精度检查功能、质量评价体系管理功能、专家分组评价功能、数据分级管理和数据产品生成功能。
(7)卫星影像数据任务管理功能:提供卫星影像数据处理流程编排、数据处理任务调度、任务分配、任务管理等功能,用户能够根据数据特点及数据产品要求,自定义数据处理流程及处理参数,自动输出成果数据,在数据产品生产过程中,对数据生产任务执行情况进行监控,实时跟踪,从而实现卫星影像数据产品生产的自动化处理功能。
(8)影像数据产品服务功能:提供影像数据目录资源服务、数据订阅分发、数据检索、数据下载、数据访问等服务功能,能够为环境监测、资源勘探、科学研究等不同领域用户提供数据产品查询、下载服务。
(9)卫星影像数据综合展示功能:提供视图管理和放大、缩小、漫游、旋转等视图控制功能,能够查看影像数据元数据。
(10)系统运维管理功能:提供用户管理、角色管理、权限管理、登陆管理、事件监视和日志管理。通过为用户分配不同角色、赋予不同的权限。实现卫星影像数据产品的安全管理,同时通过登录日志和操作日志的报表展示,可快速定位操作类型及模块。
3 光学卫星影像数据生产管理平台主要特点
3.1先进平台架构设计
数据生产管理平台采用“平台+插件”的架构方式,其中平台作为主要构件,能够独立运行,实现系统任务管理、数据管理、系统管理等基本功能。将任务管理、数据管理、系统管理和卫星影像数据通用处理算法等为通用功能插件,卫星影像数据数据处理专业算法为专业功能插件,实现通用功能模块、专用处理功能模块的有效分离,提升平台功能可维护性和可拓展性,解决了卫星影像数据多源化、数据处理算法更新迭代快的问题。采用插件接口并行化的设计思想,通过定义平台与插件接口规范,实现插件的动态注册与管理,在执行数据产品生产任务时,能够按需动态加载插件,在数据处理流程中实现功能模块的“热插拔”,满足数据产品生产处理流程动态编排需求,有效提升光学卫星影像数据产品制作与服务水平。
本项目中采用SpringCloud作为基础微服务开发框架,基于一系列的组件和模块,实现服务注册与发现、负载均衡、断路器、配置管理、消息总线等功能。
3.2大数据基础支撑平台
光学卫星影像数据生产管理平台采用大数据平台作为基座,通过安装部署Hadoop、Hbase、Hive、Yarn、Zookeeper、MapReduce、Spark、Flink、kafka等大数据分析处理组件,为系统提供一套完整的集基础存储、计算、运维于一体的大数据平台。基于该大数据基础支撑平台,采用分布式架构、模块化设计,研制数据处理服务、数据存储服务、数据统计服务、数据查询服务、资源目录发布等服务,为处理和分析海量卫星光学影像数据提供有力支持。
通过分布式架构实现数据的并行处理与存储,MapReduce编程模型将复杂任务分解为多个小任务,在集群中并行执行,提升处理效率。使用HDFS作为分布式文件系统,确保数据的高可靠性和快速访问。同时,平台采用模块化设计,便于集成和扩展,支持动态添加节点以应对数据增长,此外,提供丰富的API和工具集为开发者提供便捷的开发工具,促进大数据应用的快速开发。
3.3容器化部署设计
容器化部署因其具有启动速度快、资源动态分配、跨平台、环境一致性等优点,是微服务部署的主流方式,
本项目采用容器化(Docker Container)技术[5] [6]。充分利用容器的特性,进行卫星影像生产管理微服务设计,把每一个细微的卫星影像处理服务打造成独立运行的个体。使用Docker编写光学卫星影像处理通用平台和专用等各个微服务Dockerfile文件,构建成独立的光学卫星影像处理微服务镜像。在Docker中完成发布镜像后,并把所有镜像存入指定的镜像仓库。部署时通过直接拉取镜像形成容器,通过容器运行的方式提供服务,实现容器化部署。
4 关键技术
4.1 基于B/S和C/S混合架构数据生产管理技术
光学卫星影像数据生产管理平台,充分考虑数据生产、运行监控、数据管理、数据服务等需求,采用B/S、C/S混合业务架构进行开发设计。数据管理终端采用WEB化技术,建设B/S架构的数据管理、任务调度、服务监控的用户界面,支持可视化的数据处理任务新建和分配、人员管理与分配、任务监控与调度以及数据下载与提交。B/S架构具备快速部署能力,利用集群计算在海量数据管理与计算方面的性能优势,解决计算的伸缩性、分布性的问题。以微服务技术理念[7][8],使用容器及其相关的集群管理技术,解决资源管理、调度,弹性扩展等问题。数据生产端采用胖客户端应用软件技术形成C/S架构,C/S架构具备快速数据处理和人工协同交互数据处理能力,采用交互模式对自动生成的数字正射影像提供匀色预览、实时渲染、镶嵌线编辑等编辑功能。
4.2 多CPU协同并行处理技术
多核CPU主要用于遥感影像处理的并行计算处理任务调度、消息通讯、节点管理及遥感数据处理计算等逻辑性任务的处理,为充分利用计算资源并提高计算效率,本系统采用静态调度和动态调度相结合的方法,实施节点间粗粒度并行计算。静态调度是在任务执行前对集群内的计算资源进行评估,根据任务所需资源进行任务分配;动态任务调度采取半分布式策略,将整个集群系统分成若干小区域,区域内部采用集中式任务调度,而区域间采用分布式调度。
卫星影像数据处理任务为大数据量的计算密集型任务,任务执行过程中大规模数据在各计算节点间移动,导致系统处理性能的下降,甚至成为高性能并行计算中的一个瓶颈。因此本系统在负载均衡策略上,首先采用面向任务需求与服务能力的集群系统调度算法对各个处理节点的负载情况进行收集。在负载迁移的执行上,通过在各计算节点组成的集群中部署并行文件系统,有效解决了数据在计算节点间的大规模移动问题,极大的缩短高性能并行计算中数据分发与回收的时间,提高系统并行处理算法的数据并发读写效率。
4.3基于任务需求与服务能力的任务调度技术[9]
针对遥感产品处理生产集群效率较低、集群负载不均衡的问题,本系统采用基于任务需求与服务能力匹配的遥感产品处理生产任务调度算法。通过对处理能力节点服务能力与任务需求进行匹配,计算出满足任务需求的最低处理能力服务节点组合,将任务分配到该处理服务节点上。
首先采用Hadoop心跳包反馈策略和“拉取”机制,使处理节点自主向任务调度服务器提出执行任务分配申请,任务调度服务器根据用户提交任务与处理服务节点的匹配情况确定是否需要进行任务分配,处理节点接到处理任务后执行任务。
4.4基于动态负载的遥感任务调度技术
本系统采用基于动态负载的RMS[9]遥感任务调度算法,通过任务需求资源计算和任务需求与处理节点服务能力匹配分析。根据不同任务类型,处理节点会周期性地向调度服务器发送本节点的负载信息,调度服务器更新储存节点处理能力信息,接收处理任务请求时进行匹配。针对同一种遥感影像处理算法,每次处理任务所资源需求随处理数据量的变化而变化,因此本系统是针对每次提交的分析处理任务需求,而不是针对遥感产品种类分析处理任务需求
5 总结与展望
本文中光学卫星影像生产管理平台可用于可见光、多光谱、高光谱卫星影像数据生产,支持资源系列、高分系列等民用卫星的卫星影像产品数据;支持国外高分辨率商业卫星主要有WorldView、OrbView、GeoEye-1、Pleiades、QuickBird等;支持开源影像有谷歌地球、mapbox影像、高德地图、天地图等互联网公开影像。支持多台工作站、多节点集群、多核多CPU多进程的并行处理能力,有效提升卫星影像数据生产效率。
参考文献
[1]孙晶,高井祥,史绍雨等.分布式空间数据库在海量卫星影像管理中的应用[J]. 测绘通报,2017(5):56-61.
[2]李连营,徐之俊,邢光成等. 多源卫星影像数据管理系统设计与实现. 地理空间信息,2021年12月第19卷第12期.123-125.
[3]方留杨,王密,李德仁.CPU和GPU协同处理的光学卫星遥感影像正射校正方法.测绘学报, 2013年10月第42卷第5期. 668-675.
[4]吴立果.卫星影像数字正射影像图生产技术探讨.测绘与空间地理信息, 2021年12月第44卷第12期. 205-209.
[5]刘洋,赵瑞锋,李波,等.基于Docker技术的静态安全分析云计算应用[J].电力科学与技术学报,2021,36(4):181-187.
[6]许丽婷,傅翔君,杨晶晶.基于Docker 技术的分层式数据安全性防护系统[J].信息化研究,2017,43(1):51-55.
[7]张敏,徐春雷,张琦兵,等.基于微服务架构的变电站自动化装置远程运维技术[J].电力工程技术,2022,41(4):177-182.
[8]万书鹏,易强,张凯,等.基于微服务架构的新一代调控系统服务编排技术[J].电力系统自动化,2019,43(22):116-120.
[9]葛强,胡永权,张乐.面向任务需求与服务能力的遥感任务调度算法.遥感信息,2017,32(4):30-34.
作者简介:张永利(1978年),女,汉族,山东省青岛市,硕士研究生,高级工程师,大数据处理及软件工程。