1引言
当今时代遥感卫星技术正在飞速发展,
国内外的有关机构、公司正在逐渐加大研发力度,随之而来的是太空上的在轨遥感卫星越来越多,遥感卫星的影像数据量在迅速增长。遥感影像数据的应用十分广泛,包括农业、森林、水利、地质、交通、海上舰船识别、军事基地识别、情报收集等多个领域,海量遥感影像数据的快速检索和查询有利于更好地创造出数据的价值,
提升遥感影像数据服务的整体能力。海量遥感影像数据具有种类繁多、设计各异的特点,不同种类的卫星具有不同分辨率、不同传感器、不同成像模式以及不同谱段的特性[1]。这就意味着遥感影像的查询检索不只是根据编目信息获取数据这样单一的模式,
这类数据的查询往往是多维度的,包括时间信息、空间信息和影像的各种实际属性信息[2]。同时,根据遥感影像的应用方向,遥感数据也会有很多应用的标签,
这些标签代表了遥感数据在服务方向上的分类,因此,遥感影像也需要根据标签查询。对于数据量不大的情况,遥感影像的查询效率不是问题,但随着遥感影像数量的增多,查询难度也在不断增大。
基于上述情况,如何快速在海量遥感影像中多维度地查询到目标数据以提升遥感数据的服务能力成为亟待解决的关键问题。传统的空间查询和地理范围查询方式在海量遥感数据的查询上存在很多问题,
已经无法满足当前的需求。针对这些问题,本文从大数据量的遥感数据快速查询和精准定位的需求出发,结合互联网先进的查询技术,使用分布式搜索引擎ElasticSearch 对海量遥感影像数据进行了查询检索的应用,查询效率有了很大的提升。
2分布式搜索引擎ElasticSearch
2.1ElasticSearch 的介绍
ElasticSearch 是一个分布式的搜索引擎,它是一个用
Java 高级语言写成的开源项目,它的服务是遵循超文本传输
协议的接口,是目前应用非常广泛的搜索服务架构[3]。该引擎
【基金项目】国家重点研发计划重点专项(编号:
2018YFB1004605);吉林省科技发展计划项目(编号:20170622016JC );吉林省科技计划科技创新中心项目(编号:20180623058TC );海南省重大科技计划项目(项目编号:ZDKJ2019007)。
【作者简介】潘胜男(1993-),男,吉林四平人,
研发工程师,从事海量多源异构遥感数据的组织管理、
快速检索和高效存储研究。ElasticSearch 在海量遥感影像查询中的应用
The Application of ElasticSearch in Massive Remote Sensing Image Query
潘胜男1,
2
(1.长光卫星技术有限公司,长春130000;2.吉林省卫星遥感应用技术重点实验室,
长春130000)PAN Sheng-nan 1,2
(1.Changguang Satellite Technology Co.,Ltd.,Changchun 130000,China;
2.Jilin Key Laboratory of Satellite Remote Sensing Application Technology,Changchun 130000,China)
【摘要】随着遥感卫星领域科学技术的不断发展,遥感影像的数据量呈现快速增长之势。为了高效利用
遥感影像,更好地创造数据服务价值,各个单位、公司均在建设各自的遥感影像数据分发平台,而平台中海量遥感影像的查询效率就成为影响平台服务能力的关键。论文针对海量遥感影像的查询效率问题进行了分析,
提出了结合ElasticSearch 的遥感影像查询服务的应用方案。【Abstract】With the continuous development of science and technology in the field of remote sensing satellite,the amount of remote sensing image data shows a rapid growth trend.In order to make efficient use of remote sensing image and better create data service value,all units and companies are building their own remote sensing image data distribution platform,and the query efficiency of the massive remote sensing image in the platform becomes the key to influence the service capability of the platform.This paper analyzes the problem of query efficiency of massive remote sensing image,and puts forward the application scheme of remote sensing image query service combined with ElasticSearch.
【关键词】ElasticSearch ;海量遥感影像;
快速检索【Keywords】ElasticSearch;massive remote sensing images;fast retrieval 【中图分类号】P237;TP311.1
【文献标志码】A
【文章编号】1673-1069(2021)02-0194-03
194
经常应用在云计算之中,搜索速度很快,能够达到实时响应,
服务的健壮性很好,安全可靠,安装和使用也非常方便。ElasticSearch具有高可扩展性的优势,支持横向扩展,节点数量可以根据实际需要自由增加,它存储的所有字段都可以建立索引进行搜索操作,它消耗很少的时间就可以存储和搜索海量的各类数据,可以处理PB级别的数据。ElasticSearch存储数据的方式是按照JSON的格式存储的,一个JSON就是一条数据。ElasticSearch具有很多优点,例如,它隐藏了Lucene的复杂性,对外提供易用的API。本身是一个高可用的服务,提供了复制机制,每个分片都可以复制,没有单点故障,当其中几个节点出问题时集仍可正常运行。ElasticSearch服务需要增加服务器时,只需要做很少的操作,启动该节点的服务即可轻松加入集。ElasticSearch采用“分而治之”的处理思路,将一个索引以划片的思路分开存储,以获取最大的性能。
ElasticSearch分布式集以单个节点为单位,采用了不同于数据库的非典型索引结构,ES中的一个索引的概念类似于一个数据库。在ES中的一个索引下面有多个类型,这个类型也不同于传统概念,它类似于
数据库中的一个表。类型下面是一个个文档,文档类似于数据库表中的一个记录。文档包括很多字段,此处字段的含义和数据库表中字段意义相同。ES采用主备结构,默认创建五个主分片和五个副分片。这些拥有相同数据的分片分别储存在不同节点,在数据检索时ES会向所有节点发出查询请求,最后采纳返回最快的查询结果。
2.2ElasticSearch的应用分析
在当今的互联网时代,ElasticSearch的应用场景非常广泛,很多大型网站和应用都用到了ES,例如,人们熟知的百度、京东、携程、滴滴,等等。
下面以酒店预定订单中心管理为例,介绍ElasticSearch 在海量数据查询方面的应用。日活量较高的酒店预定网站平均每天的订单量可以超过三十万,加上其他来源的订单加起来可以达到一百万。如果采用传统的数据库方法来进行存储管理,那么可以采用分库分表的形式,可以将近六个月的订单放在热表中,将历史数据放到其他数据表中。如果只对该网站的订单进行管理,热表中的数据总量超过了四千万,再加上其他渠道的订单,热表的数量很快就会增加到上亿条,单纯靠数据库查询效率很低、速度较慢,无法满足酒店订单的业务需求。而且上亿条酒店订单数据还包括很多属性,如预定时间、入店时间、离店时间、姓名、手机号、酒店名称等非常多的属性。这些都需要作为条件进行酒店订单的查询,所以分表策略也很难实现,即无法按照单一维度进行分表。引入ElasticSearch可以很好地解决这些问题,人们可
以对订单模型进行抽象和分类,把设计查询的属性信息和订单详情信息分开,数据库只用于存储订单详情,而涉及查询的字段全部存入ElasticSearch中,同时,根据实际情况去调整ES的分片数量和副本数,以达到最佳的性能。
这样的架构在实际应用中可以很好地解决上亿量级酒店订单的快速查询问题。ElasticSearch在酒店订单查询方面的应用验证了该搜索引擎同样也可以在海量遥感数据的查询检索中发挥作用。
3基于ElasticSearch架构实现海量遥感影像的快速查询和检索
3.1海量遥感影像查询检索特点
海量遥感影像数据的查询检索首先是对性能方面有较高的要求,当用户浏览遥感影像数据服务平台时,数据检索的时效性是决定用户对此是否感兴趣的关键因素,如果响应时间过长,用户可能会直接放弃该平台;其次当系统需要快速检索遥感影像进行二次加工或者应急响应时,也对查询数据的时效性有较高要求,因此,满足检索数据的时效性要求是海量遥感影像检索的首要考虑因素。
海量遥感影像查询是一种多维度、多条件的查询,从实际属性出发,这类查询的常见条件包括:
按照产品类型查询、按照分辨率查询、按照卫星代号查询、按照云量查询、按照侧摆要求查询、按照产品质量查询、按照谱段查询,等等。图1是长光卫星技术有限公司数据服
图1长光卫星遥感影像查询条件页面
类型
光学夜光视频多光谱
分辨率
优于0.75m
光学A星(0.72m)高分02A星(0.75m)
高分02B星(0.75m)宽幅01A星(0.75m)
0.92m-1.1m
5m
云量要求≤100%
侧摆要求≤45°
起始日期终止日期
质量
重置
195
务平台的遥感影像查询条件页面,这些条件可以在该页面得到佐证。除了这些条件之外,海量遥感影像的查询还有两个重要的条件:一个是时间条件;另一个是空间条件。时间条件指的是影像的拍摄时间、归档时间、数传时间等;空间条件指的是遥感影像的地理位置。表征地理信息的文件格式有很多,例如,GEOJSON、SHP文件、WKT、KML文件以及KMZ文件,成熟的遥感影像数据服务平台是需要支持使用上述所有类型的地理信息文件对遥感影像进行查询的。这两个维度是消耗检索时间的重要影响因素,也是提升遥感影像查询速度的重要突破口。
3.2海量遥感影像检索服务架构设计
基于上文对海量遥感影像查询检索特点的分析,本文设计了“ElasticSearch+PostgreSQL”的底层查询服务架构来实现海量遥感影像的检索服务。PostgreSQL是一个开源的关系型
数据库,并支持地理信息扩展插件PostGIS。ES中增加了对地
理信息的支持,就地理信息运算这项ES和PostGIS各有优缺
点,在这里采用PostGIS插件进行地理信息的运算,因为PostGIS对复杂地理信息的运算支持较好一些。针对遥感影像的各种元数据信息,参与查询的元数据字段均存储于ElasticSearch中,其余各个字段存储在PostgreSQL数据库中,以备查询影像的详细信息。ElasticSearch服务采用集的形式,设置一层网关服务来进行智能负载均衡,网关对数据检索请求进行转发,转发至ES的数据节点,ES集设置一个主分片以及一个副分片。该架构将一次遥感影像数据查询请求中的除地理范围外各项属性条件在ES中快速定位,并将中间结果按地理信息在PostgreSQL中进行二次筛选,这样可以很快检索到目标数据,充分发挥ElasticSearch和PostgreSQL的优势。该架构如图2所示。
3.3ElasticSearch架构下遥感影像查询检索性能验证
本文对ElasticSearch架构下的遥感影像查询检索的性能进行了实验验证,表1为传统单纯依赖数据库的搜索架构和本文架构在同一个数据库中的实验对比,实验选用同一个千万级遥感影像元数据库,分别搜索2018-2020年东北三省范围内的遥感影像数据,可以看出本文架构的搜索速度明显占优。实现了千万量级数据中查询返回前一万条所需时间压缩至1s以内,极大地提升了产品体验与核心竞争力,以及遥感影像的数据服务能力。该架构扩展性较好,当我们的数据总量进一步扩大时,可以横向扩展ES集的节
点数,配置简单,降低了开发人员的研发成本。
表1查询检索速度对比表
4结语
本文介绍了时下流行的分布式搜索引擎ElasticSearch,对ElasticSearch的概念和优势进行了详细剖析,并对该搜索引擎进行了实例分析,将互联网先进的技术应用到了海量遥感影像数据的查询、检索上,充分分析了海量遥感影像的检索需求和特点,针对这些特点设计了基于ElasticSearch的遥感影像检索服务架构,最后对这个架构的实际性能进行了验证,该架构在千万级遥感影像数据库中进行时空查询时速度达到了毫秒级别,满足了海量、多时相、多分辨率、多谱段遥感影像的快速检索需求。
【参考文献】
【1】陈爱玲.海量影像数据管理系统的设计与实现[J].测绘与空间地理信息,2019,42(10):145-146+149.
【2】吕喜军,陈中林,龚建辉.海量影像管理与服务技术研究及实现[J].
地理空间信息,2017,15(02):33-35.
【3】Praveen M Dhulavvagol,Vijayakumar H Bhajantri,S G Totad. Performance Analysis of Distributed Processing System using Shard Selection Techniques on Elasticsearch[J].Procedia Computer Science,2020(167):1626-1635.
搜索数量传统数据库架构本文搜索架构
10000条2700ms600ms
1000条1050ms90ms
200条860ms27ms
100条850ms26ms负载均衡应用场景
图2海量遥感影像检索服务架构图
海量遥感影像查询服务
API网关1API网关2
ES数据节点1ES数据节点2
PostgreSQL+PostGis
196

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。