企业级多源异构地理信息检索引擎的设计与开发
2019-09-17邓世军周泽兵熊鑫李平虎
邓世军 周泽兵 熊鑫 李平虎
摘 要:该文针对企业信息服务平台数据特点,分析建设多源异构地理信息检索的应用需求,设计开发一种通用的多源异构多维地理空间搜索引擎,研究了存储结构与存储方式,开发插件式的索引引擎,实现可扩展、可定制的多应用查询引擎。研究成果已应用于天津市勘察院数据资源平台,满足企业的数据资源检索应用。
关键词:多源异构 地理信息检索 数据资源
中图分类号:TP3 文献标识码:A 文章编号:1672-3791(2019)07(a)-0016-03
智慧城市、大数据、物联网等技术的迅猛发展,对社会方方面面带来了巨大的影响和变革。数据正以一种前所未有的速度产生与积累。为提高管理水平,促进信息的充分利用,政府、企业都在积极构建面向应用的数据服务平台。这些数据服务平台中所管理的数据有企业、政府自身积累的,也有来源于其他单位、部门的数据,还有来源于互联网的数据。这些数据具有来源复杂、坐标系统不统一、存储方式格式不易转换统一存储、业务类别不同、数据量大、动态变化的特征。为提高数据的价值,这些数据往往与地理空间位置进行了绑定。在这些海量、复杂且基于地理空间位置的数据中,如何快速定位、查找感兴趣、所需的内容,是企业级数据服务应用平台需要解决的关键问题。
1 信息检索引擎应用需求分析
实现多源信息快速定位,精准查询,核心要对海量数据进行有效的梳理,形成核心信息提取,就是信息的索引。对一个数据集做“索引”,是为了提高对这个数据集检索的效率。书的“目录”就是这本书内容的“索引”,当我们拿到一本新书,想查看感兴趣内容的时候,我们会先查看目录,确定感兴趣的内容会在哪些页里,直接翻到那些页。单纯的空间数据现在在各大数据库有较成熟的空间索引机制,单纯的文字、属性信息也可采用分词进行索引,但缺少同时对数据资源进行空间、属性和附属资源的关联索引,造成信息检索出太多干扰内容,需要大量人力进行不断筛选才能找到有用信息。
现有数据库系统、空间搜索引擎、文本搜索引擎无法满足应用需求:数据资源共享时,用户检索快速精准查询需求;综合分析利用平台的构建时,如出具编制咨询报告时,需要利用各种数据资源,对信息高效组织申请的需求。
2 多源异构可扩展、插件式地理空间搜索引擎设计
构建一种通用的可扩展、插件式地理空间搜索引擎,开發满足不同数据来源、数据格式与数据存储方式的数据解析引擎插件库,建立空间位置与文本、时间等多维信息的统一索引结构,构建多维、地理空间信息统一查询服务接口,实现基于地理空间位置的复杂多源数据的统一搜索与查询,为企业级数据服务应用平台提供标准化、统一化的服务。
2.1 总体结构图设计
该研究设计了一种通用的多源异构多维地理空间搜索引擎(逻辑结构图见图1),可以对来源多样(如Oracle数据库数据、ArcGIS SDE空间数据、ShapeFile数据、Word文档数据、PDF文档数据等)的结构化与非结构化数据进行索引,并对带有地理位置信息的数据基于WGS-84地理坐标系统存储了经纬度信息,实现了基于地理空间位置的复杂多源数据的统一搜索与查询,通过WebAPI提供统一的Web接口服务。可定制的查询模板接口:按用户类别,按应用需求类别,按数据类别;统一查询接口,实现各种跨资源跨数据库统一检索的同时,可以实现各种按需求的定制,满足不同用户的需求。
2.2 索引结构基于R-tree的混合索引模型
全文检索信息包括地名、项目、报告成果、图件、点位、文档,不同的应用场景,单一的文档目录结构模型无法满足应用的需求。
(1)建立R-tree多级混合索引:索引库相当于所有数据的一个字典表,将多源异构数据中的部分信息提取出来进行重新组织,使其变得具有一定的结构,然后对这些有一定结构的数据进行搜索,达到快速搜索的目的。根据检索需求,将数据名称、唯一标识、空间位置信息、索引内容这4个字段作为索引库的必要结构字段。建立R-tree包含报告、图件、地图多级结构模型,提升索引的效率、精确度。满足不同的应用需求。
(2)空间坐标统一处理:在进行空间范围查询时,由于实际使用中各类空间数据采用的坐标系统不一致,有地方坐标、WGS-84、局部坐标系等,为满足跨坐标系的空间范围数据查询,对于空间位置信息的索引存储,采用WGS-84地理坐标系统作为全球化的空间索引坐标系统,自动映射,为方便手机等终端定位的应用要求。
2.3 动态扫描数据更新机制:生产软件平台、互联网动态更新机制
由于源数据内容会发生变化,为保证数据的及时有效性,索引引擎还需实现对已有索引库的更新操作。通过定期扫描源数据,对发生变化的数据项进行索引更新,对已经删除的数据进行索引删除,对新增的数据重新加到索引库。
2.4 插件式的索引引擎
索引引擎的功能是从多源异构源数据中,提取数据唯一标识、数据名称、关键词、空间位置、摘要等信息,根据一定的相关度算法进行大量复杂计算,得到每项数据中每一个关键词的相关度,然后根据这些相关信息建立索引数据库。内置支持采用可扩展的索引引擎结构接口方式设计,采用XML配置,动态加载反射,扩展点包括数据驱动类型、数据结构类型、数据。
(1)由于源数据是多源异构的,需要设计统一的接口标准,用于从不同的数据中提取有用信息,通过反射机制构建插件式的索引引擎,实现索引库的构建。该研究中将内置包括Oracle数据、ArcSDE数据、Shapefile数据、Word数据、文件系统数据在内的索引引擎。
(2)对于包含空间范围的源数据,其空间位置信息按照WGS84坐标的经纬度信息进行存储,对于数据量少的查询,可以采用简单的数字范围存储即可,但是对于达到100万级别的数据应该建立空间索引金字塔,使得空间查询效率得到提升。
2.5 分布式索引
由于数据保密管理需要,不能进行集中存储的访问,对于多个主机的数据采用主从结构的模式进行。
3 实现可扩展、可定制的多应用查询引擎
应用查询引擎的功能是针对用户的查询请求在索引库中快速检出数据,采用一定的信息检索模型进行数据与查询关键字的相关度分析,对将要输出的结果进行排序。信息检索模型有以下几种:布尔逻辑模型、模糊逻辑模型及混合模型等。
查询引擎的工作过程如下:
(1)对用户接口提出的查询请求进行递归分析,接口语法采用Json字符串进行传递,json串中包含contains、shoulds、exclusive、sort这4个数组进行查询请求。
(2)查询引擎将传递的查询请求解析成逻辑操作符AND、OR、NOT,使用“+、-”连接号和通配符,使用逗号、括号或引号进行词组查找。
(3)对于每个索引项,匹配索引文件,并对所有查找出的文档进行集合运算,将结果集按照基于内容和基于链接分析的方法进行相关度评价并排序,最大限度地保证检索出的结果与用户查询串有很高的相关性,将最终形成的有序的文档结果集合返回给用户。
4 成果应用
该研究成果已经应用于天津市勘察院数据资源平台中,平台数据包括天津市电子地图、勘察院历年工程项目、天津市工程地质、天津市潜水观测、天津市地形图、天津市影像图、天津市基础地质图件等内容,并为全院职工提供在线的数据资源检索、浏览服务,大大方便了技术人员查询各类技术成果、文档的速度,提升了工作效率(见图2)。
5 性能分析
该系统采用C#,Windows Server 2012,在2台配置的服务器上进行部署,数据内容包括工程项目信息,以及建设用地数据、地名地址数据、图件等各类数据资源,要素级对象达千万条,经测试,结果如图3所示。
6 结语
该文以构建企业数据共享与服务平台为应用目标,研究了地理信息为核心的多源异构统一框架、可扩展、可定制检索引擎的设计与开发,很好地解决了各种异构数据的统一共享服务的问题,能够满足大型企业数据生产管理的需要,具有很好的推广应用价值。
参考文献
[1] 何荣杰.基于Lucene的全文搜索引擎的研究与实现[D].江苏科技大学,2015.
[2] 张晓勇.基于多源异构数据融合的概念层次体系构建及其應用研究[D].南京理工大学,2016.
[3] 张书瑜,张定祥,王荣彬,等.多源异构土地基础数据一体化管理检索方法研究[J].浙江大学学报:理学版,2018(5):11.
[4] 王志宝,夏昊,王成波.地理信息检索关键技术研究综述[J].计算机工程与科学,2018(3):533-543.