基于Solr的海洋空间资源搜索应用研究
2021-08-20张则飞茅克勤蒋婵娟杨万康
张则飞 茅克勤 蒋婵娟 杨万康
摘要:为促进海洋数据的应用和共享 , 有力支撑海洋空间资源管理 , 文章通过构建海洋综合数据库和数据分类 ,采用Solr技术实现对海洋空间资源的多源、异构和海量数据搜索。研究结果表明: Solr是专业、高效和开源的搜索引擎 ,基于海洋综合数据库平台 , 可实现对海洋空间资源的基础搜索、业务数据搜索、搜索定制和搜索展现 ,具有搜索字段更加丰富、搜索速度更快、搜索结果更加准确和搜索结果展现形式更加多样等优点。
关键词:海洋空间资源;数据中心;大数据;数据库;搜索引擎
中图分类号:N37;TP392;P74 文献标志码:A 文章编号:1005-9857(2021)12-0098-05
Application Research of Marine Space Resources Search Based on Solr
ZHANG Zefei1,MAO Keqin1,JIANG Chanjuan1,YANG Wankang2
(1.Marine Academy of Zhejiang Province,Hangzhou 310012,China;
2.Second Institute of Oceanography,MNR, Hangzhou 310012,China)
Abstract:In order to promote the application and sharing of marine data and effectivelysupport the management of marine spatial resources, this paper constructed an integratedmarine database and data classification, and used Solr technology to realize the multi-source,heterogeneous and massive data search of marine spatial resources. The results showed thatSolr was a professional, efficient and open source search engine. Based on the marine comprehensive database platform, Solr could realize the basic search, business data search, searchcustomization and search display of marine space resources. It had the advantages of richersearch fields, faster search speed, more accurate search results and more diverse displayforms of search results.
Keywords:Ocean space resources,Data center,Big data,Database,Search engines
0 引言
隨着海洋战略地位的提升 , 海洋基础调查投入日益加大 ,信息采集技术不断发展 , 各类海洋空间资源数据日趋丰富 , 导致数据量急剧增加和数据种类繁多[1]。因此 ,搭建一体化管理的数据库并实现快速有效检索 ,是目前海洋空间资源数据库构建和应用必须面对的问题[2]。本研究以浙江省建设海洋多数据、多来源和多类型综合数据库为例 , 探索基于Solr的海洋空间资源搜索应用 , 实现对多元、多源、异构和海量数据的快速有效检索。
1 Solr技术及其特点
1.1 Solr的定义
人们都有使用搜索功能的经历 ,无论是浏览网站还是办理业务 ,搜索存在于生活的方方面面。在强大的搜索功能背后通常须消耗巨大的资源 ,且随着数据量的增加 ,对资源的消耗越来越大。为解决这一问题 ,须将搜索功能转移到外部服务器 , 通过建立索引完成搜索任务 ,并极大地减少对数据库本身的直接消耗。Solr就是这样的开源搜索平台 ,并兼容大多数计算机语言。
Solr的基本定义是全文搜索引擎 ,类似非关系型数据库(NOSQL) , 利用非关系型数据存储和处理技术构建搜索应用程序。Solr是企业级、快速和高度可扩展的搜索应用程序 ,其基本原理是在数据库前端搭建索引库 ,将搜索功能和数据库本身相互隔离 ,从而提高搜索的反应速度和提升海量数据的处理能力;通过引进模糊搜索和建立专业索引字库等方式 ,提高搜索精确度 , 并有效减少对数据库本身的消耗。Solr还可与 HADOOP等其他程序一起使用 ,从而实现不仅限于搜索的功能。
1.2 Solr的特点
Solr在本质上仍是数据库 , 只是其搜索速度相比传统数据库更加快捷 , 因此在平台开发时将搜索功能交由Solr完成会更加专业和高效。也就是说 ,人们日常使用搜索功能搜索出来的信息并不直接来自数据库本身 , 而是来自Solr的索引库。数据库自带的搜索功能只能进行简单的模糊搜索 ,搜索效率不高且速度很慢 , 尤其面对多源和海量数据的搜索效果并不理想。而在实际应用中 , 搜索功能是比较常用的功能之一, 如果直接使用数据库搜索会给数据库本身带来较大压力。Solr在平台前端建立索引库并具有专业的分词功能 , 主要有3个优点。①减少数据库本身的压力 , 大大降低对整个系统软、硬件的要求;②搜索的效率更高、速度更快、精确度更高和专业性更强;③具有开源性 ,可与任何计算机语言兼容 , 具有广泛应用的基础。
2 海洋综合数据库
2.1 系统平台
2.1.1 建設背景
当前大数据在经济社会发展中的基础性和战略性地位越来越重要。随着信息采集技术的不断发展 ,海洋空间资源的本底数据、管理业务数据和监视监测数据等各类基础数据量快速增长 ,逐渐呈现大数据的特征。各级海洋管理部门对海洋空间资源数据的实时直观展示和分析的需求日益强烈[3] ,对海洋空间资源大数据的扩展、挖掘和应用提出更加全面和迫切的要求。
针对海洋管理由粗放式向精准化和精细化转变 ,须有全面和翔实的数据为基础支撑 , 从而做好技术审查和事中、事后监管;针对政府职能转变 ,各级政府须根据各自权限频繁进行数据交互;根据自然资源部“两个统一”职责要求 , 须有多源数据综合评价为决策支撑。然而目前各类海洋业务管理系统彼此独立 , 数据资源无法共享和整合 , “信息孤岛”现象严重 ,深层次数据应用不充分 ,数据更新机制不完善[4]。
2.1.2 建设目标
为满足浙江省海洋管理由粗放式向精准化和精细化转变的需求 , 建设多数据、多来源和多类型的海洋综合数据库平台 ,建立海洋空间资源数据标准体系 ,实现海洋管理全流程、全要素和全领域的“一库管理”,并在海洋空间资源核心数据库的基础上构建海洋空间资源“一张图”地理信息平台 , 实现海洋空间数据与海洋资源数据的融合以及海洋信息的可视化展示和应用[5]。
2.1.3 建设思路
海洋综合数据库平台以海洋空间资源基础数据的管理模型研究为基础 , 以海洋管理各环节产生的过程数据为核心 , 以融合、高效、开放和实用为基本原则 ,基于地理信息系统底层软件 , 根据海洋空间资源要素特点 , 以“实时数据整合-监管平台建设-业务化应用”为主线 , 建立海洋空间资源数据标准体系和海洋空间资源信息共享交换的长效机制 ,为各级海洋管理部门提供统一的海洋空间资源管理技术支撑。综合应用海量、异构和多维空间数据展示技术,快速、模糊和精准检索技术以及智能分析和自动识别处理技术等,建成集数据管理、应用、展示、共享、交换和更新于一体的数字化综合平台,基本实现浙江省海洋空间资源“以图管海、动态监管”的目标(图1)。
2.2 数据中心
数据中心是对多源、异构和海量数据进行管理、更新和处理的复杂系统。空间数据集成平台支持空间数据库和数据源、空间数据结构以及空间转换处理算子,除常见的关系型和非关系型数据库和文档数据外,还支持空间地理数据的集成[6-7]。除对共享交换数据进行后继加工处理外,数据中心还可通过对接非标数据接口和协议补充共享交换的数据采集能力[3]。
2.2.1 数据建模
数据建模通常有2种方法:①基于业务流程再造的模型设计, 即对业务流程进行梳理,建立相应的业务处理规范标准并进行数字化实现;②面向数据应用的模型设计,即基于数据本身,按照类型、来源或用途进行数据分类,并根据数据应用的方式和方法进行模型设计。根据具体阶段和需求的不同, 建模方法也不同。
在综合分析平台应用领域和发展方向的基础上,结合管理数据的类型、种类和格式等进行数据分类,划分为不同的应用领域,并建立相应领域的数据标准和规范,对收集的不同数据进行相应的规范化处理,以保证数据库中的数据规范一致、来源可溯和精度可靠。
数据中心按照建模方式可分为以硬件存储为核心的物理建模和以实际应用为核心的逻辑建模。对于基于业务流程再造的数据库平台,须根据业务部门自身工作需求来实现业务流程的数字化, 因此逻辑建模是不可或缺的。数据可总体分为2个类型:①记录具体节点和事项的细节数据,这类数据的建模方式通常采用第三范式;②经过加工处理并汇总的数据, 这类数据的建模方式通常采用星型模式。
2.2.2 元数据管理
元数据驱动是建立柔性技术架构的核心,建立规范的元数据库是整个平台数据管控和过程管控的基础,包括模型元数据管理和流程元数据管理2种方式。①模型元数据管理。数据中心对关系、空间和其他非标数据进行规范建模,将异构数据整合为规范的逻辑模型,以符合主体业务逻辑。数据中心对模型元数据进行统一管理和维护[8] ,以保证数据中心的灵活性和可扩展性,为数据中心的长期运行、维保和拓展提供有力支撑。②流程元数据管理。规范、修正和优化数据中心的日常运行,保证数据中心的数据质量和服务质量, 并减少人工工作量。
2.2.3 主数据管理
由于数据来自不同业务系统,在数据内容冲突时须有冲突仲裁和解决机制。采用主数据管理处理这种问题,通过主数据管理发现重复和错误数据以及进行一致性检查和数据结构校验,通过清理步骤解决错误,将相同数据的多个版本合并为1个真实版本或“高质量记录”, 并管理内部的层次和关系,形成对主数据的掌握, 从而规范数据的总体质量。
2.2.4 数据接入
对于实时度高、数据量大和接入点多的数据, 接入处理的支撑是非常重要的内容。①高性能离散式并发运行构造可方便地配置感知物联网的相关服务,由框架自适应地利用多机、多 CPU 和多核的并行计算能力、通信能力和高速缓存能力,实现高性能离散式并发运行。②高速数据通信传输技术用于及时、准确和完整地传输海量、实时和空间数据,实现多个复杂通信环节相互一致的高效可靠通信。
2.2.5 基于元数据的复杂来源数据管控
从平台整体提供的服务来看:数据种类比较多样 ,包括管理流程、业务数据和统计报表等;数据来源比较复杂 , 包括管理部门、第三方服务机构和企业等;数据结构包含多种格式 , 包括传统空间地理信息数据、现代点云数据和分析图表数据等。因此 ,须对规范的数据进行梳理 , 并统一标准和开展质量检查;对零散的数据进行整理 ,建立标准规范;对不符合要求的数据进行整改 ,并对无法整改的数据进行剔除;根据不同用户、不同系统和不同业务流程构建不同的数据服务平台[9]。
3 数据分类
从数据管理和集成的角度考虑 , 整个系统主要包括基础底图、海图、专题、业务和监管等数据。
(1)基础底图数据以基础调查产生的各类遥感影像数据、基础地理数据(地名、行政界、地形、海岸线和交通等)和 DEM 数据组成。这类数据以定期更新为主 ,数据格式标准且来源可靠 , 但数据量较大 ,数据处理工作量较大。
(2)海图数据由专业机构绘制和更新 , 主要包括海底地形、海岛、海上航道、标志物和近岸地形地貌。此类数据来源较统一且标准体系较完备。
(3)专题数据是由基础地理空间定期调查、常规监测和日常行政管理等生成的专业数据 , 主要由点、线和面的矢量数据组成。①海域数据包括界址点、面积、管理规划、用海起止时间和用途等;②海岛数据包括无居民海岛的位置、面积、岸线、开发利用和地质地貌等以及有居民海岛的位置、面积和岸线等;③海岸线数据包括位置、长度、属性(人工或自然)、岸滩地貌、冲淤潮间带底质和开发利用等。
(4)业务数据贯穿于海域管理全流程 , 包括事前调查论证、事中审批和事后监管评估等各环节 , 每个环节都会产生生态、空间、报告和图表等不同的数据。
(5)监管数据主要包括依据监管目标构建的点、线和面的矢量数据 , 过程表格以及通过监管分析生成的成果。
4 基于Solr的海洋空间资源搜索
以元数据的方式存储 ,应用Solr实现海洋空间资源的全流程管理 , 建立海洋空间资源大数据模型。用户使用htp方式向Solr发送规范标准的 XML文件 ,Solr高亮显示搜索到的数据 , 实现海洋空间资源的可视化展示;预先按照维度对海洋空间资源进行统计、分类和排序 , 采用第三范式和星型模式建立海洋空间资源数据模型 ,有效提高数据库运行效率;实现对业务数据、实时数据、空间数据、关系数据和多媒体数据的统一搜索 ,从搜索页面可直接进入相关业务系统[10]。
4.1 基础搜索
(1)综合查询:根据业务数据的特征提供多种搜索条件 , 根据不同需求对这些条件进行排列整合 ,对不同的条件类型提供文本输入、单一条件和多种条件等输入方式。
(2)数据分类树查询:按照数据分类建立分层次的数据分类树 , 提供拖拉和复选框选择方式 , 用户在数据分类树上选择搜索的1个或多个数据 , 系统根据用户选择自动列出所选数据的各类过滤条件 ,用户选择过滤条件后系统返回符合条件数据。
(3)模糊查询:主要面向元数据 , 用户输入指标名称的部分内容 ,系统查找与输入相匹配的所有指标元数据名称 ,用户从返回的指标元数据列表中选择所需指标 , 系统列出所选指标过滤条件 , 用户选择过滤条件后系统返回符合条件数据。
4.2 业务数据搜索
业务数据搜索主要基于 GIS服务中间件进行二次开发 , 采用 GIS的空间查询和空间分析服务 , 支撑基于空间要素条件的搜索 ,并在系统中提供空间信息搜索服务。
(1)建立系统业务规则:以系统为单位 , 以系统处理的业务为区分 ,将系统和数据中心的实体相关联 ,将实体和实体字段相关联 ,建立以系统为主线 , 从系统到实体字段的搜索规则。
(2)建立实体搜索规则:以实体为单位 ,设置数据中心可被搜索的实体以及实体搜索的优先级。匹配程度规则包括完全匹配、模糊匹配和百分比匹配3种方式 ,在系统语义识别层提供匹配程度分析服务 ,根据匹配规则自动分析搜索内容的匹配程度。
4.3 搜索定制服务
(1)搜索规则定制:用户自定义搜索规则 , 即配置关键字在系统功能中搜索 ,前提是该功能须在系统级规则范围内。定义时间规则 , 即设置输入的时间关键字和结果排序;定义统计规则 , 即当用户需要后台统计操作的搜索时 , 可设置统计的格式和排序等;定义空间规则 , 即当用户输入空间关键字后搜索空间数据和显示结果;定义文本规则 , 即设置用户输入的文本匹配规则 , 可灵活配置输入的关键字。
(2)搜索业务定制:用户自定义搜索业务 , 系统针对每个用户相对同一个业务系统的不同关注点设置不同的搜索规则 , 以便于在搜索结果中查看信息。例如:设置文本规则优先 , 那么将首先显示包含搜索关键字的信息;设置时间规则优先 , 那么将首先显示按时间排序的信息。
4.4 搜索展现
建设针对业务数据资源的一站式全文搜索门户 ,方便快捷地实现对业务对象的搜索和全面的信息展示 ,进而重新整合、过滤和展现搜索结果。
查询记录管理主要表现为搜索成果的表现方式 ,主要包括列表展现、表格展现和图形展现3种方式。列表展现是搜索展现中最常用的方式 ,将搜索记录以列表的形式展现给用户 , 用户可点击列表中的记录查看详细信息;表格展现主要针对统计方式的搜索结果 , 以表格汇总的形式展现给用户;图形展现主要包括柱图、饼图和曲线图 , 主要供用户进行比较性搜索。
5 结语
基于Solr的海洋空間资源搜索技术实现多源、异构和海量数据搜索的快速和高效 , 主要具有4项优点。①搜索字段更加丰富 , 支持模糊全库搜索;②搜索速度更快 , 反应速度低于0.2 ms, 比常规数据库搜索技术提升超过100倍;③支持分词搜索且可定制分词方式 , 搜索过程更加科学 , 搜索结果更加准确;④搜索结果的展现形式更加多样和直观 , 可结合直方图和统计表等形式展现。
由于海洋空间资源数据具有敏感性 , 系统只能在专网运行 , 对数据安全和应用提出更高的要求 , 本研究提出3项建议。①做好Solr开源代码安全性能评测 ,针对整个系统做好安全等级测评;②配置大容量前置内存 , 用以建立强大的索引库 , 提高Solr的运行效率;③引入海洋空间资源专用名词库 ,用以训练Solr分词库 , 进一步提高搜索的精准性。
参考文献
[1] 蒋帅.海洋空间数据库的建立和发展[J].海洋信息 , 2010(4):6-9.
[2] 张则飞 ,蒋婵娟 , 陈培雄.浙江省海洋空间资源调查必要性研究报告[J].海洋开发与管理 ,2015,32(9):62-65.
[3] 孙朝辉 ,李兆欣 ,刘增宏.智慧海洋国际共享应用平台发展趋势及其对策建议[J].海洋开发与管理 ,2020,37(1):3-9.
[4] 徐超 ,李莎.我国海洋科学数据网络共享现状[A].中国海洋学会 , 中国太平洋学会.中国海洋学会2017年学术年会论文集[C].北京:海洋出版社 ,2017:243-252.
[5] 宋转玲 ,刘海行 ,李新放 , 等.国内外海洋科学数据共享平台建设现状[J].科技资讯 ,2013(36):20-23.
[6] 徐承德.海洋数据共享的问题和对策[A].中国海洋学会 , 中国太平洋学会.中国海洋学会2017年学术年会论文集[C].北京:海洋出版社 ,2017:253-257.
[7] 耿姗姗 ,刘振民 ,梁建峰 , 等.基于数字海洋框架的海洋资料整合与共享服务管理模式浅析[J].海洋开发与管理 , 2015, 32(2):33-36.
[8] 杨锦坤 , 董明媚 ,武双全 , 等.推进我国海洋数据深入共享服务的总体考虑[J].海洋开发与管理 ,2015,32(3):68-72.
[9] 常虹 , 于华明 ,鲍献文 , 等.我国海洋数据信息共享现状及立法建议[J].海洋开发与管理 ,2008,25(1):134-138.
[10] 黄如花 ,王斌 ,周志峰.促进我国科学数据共享的对策[J].图书馆 ,2014(3):7-13.