基于Web Services的异构数字地图资源检索算法

2016-12-28 08:41刘文兵胡婷婷
地理空间信息 2016年12期
关键词:数字地图数据源检索

刘文兵,胡婷婷,江 帆,王 俊

(1.军事经济学院,湖北 武汉 430035)

基于Web Services的异构数字地图资源检索算法

刘文兵1,胡婷婷1,江 帆1,王 俊1

(1.军事经济学院,湖北 武汉 430035)

从数字地图资源互联互检的现状出发,研究了传统异构数据源统一检索的3种模式,提出了基于Web Services的数字地图资源检索模式,设计了基于Web Services的数字地图资源统一检索结果融合算法和元数据更新算法,完成了一个基于Web Services的数字地图资源检索原型系统,对数字地图资源统一检索系统的开发具有借鉴意义。

数据源;Web Services;数字地图资源检索;结果融合算法;元数据更新算法

网络环境下,数字地图资源迅猛增长,针对这些数字地图资源而出现的具有地图检索功能的地图数据库管理系统也越来越多,但这些地图数据库管理系统本身各自独立,导致各个数据库管理系统之间缺乏必要的联系,造成了“信息孤岛”现象[1],这使得用户进行地图检索时需要耗费很大的时间和精力,而且查准率和查全率不高。异构数据源统一检索系统在一定程度上解决了分布式异构数据源的检索问题,它能集成各个地图数据库管理系统的检索功能,为用户提供统一的地图检索界面,将用户的地图检索请求发送给各地图数据库管理系统,分别调用各自的地图检索功能,并把各系统的地图检索结果以统一的格式展现给用户。异构数据源统一检索系统不需要用户频繁地登录所有的地图数据库管理系统,从而节省了大量的时间和精力,有效地提高了地图查询效率。

Web Services技术以其开放性、封装性、松散耦合、使用标准协议规范和高度可集成能力等特点为网络上空间元数据库的互联互检问题提供了一种可行的解决方案。虽然Web Services技术大多应用于解决数字图书馆领域的数字对象元数据的互联互检问题,应用于地理信息领域的成功经验不多,但数字地图也是一种数字对象,与数字图书在一定程度上有其相似性。因此,借鉴Web Services技术在数字图书元数据互操作领域中的成功经验,将此技术应用到空间元数据的互操作中,可以为实现空间元数据的发布、共享与互操作提供一种新的解决办法。

1 传统异构数据源统一检索算法分析

目前异构数据源统一检索模式主要包括中间件模式、元数据整合模式和网页搜索代理模式3种[2]。

1.1 中间件模式分析

中间件模式首先运用中间件技术将用户的检索请求分解为各个数据源的独立检索请求[3],通过标准的检索接口对各数据源进行实时访问,再将检索结果统一处理后通过异构数据源统一检索系统返回给用户。该模式具有实时性好等特点,用户能够检索到数据源最新的数据;用户的数据检索是直接通过中间件实施的,因此数据源不需要向用户发布专门的服务。但各数据源终端必须提供标准的检索接口,且由于各数据源的检索速度不同从而影响用户的检索效率;另外各数据源检索结果的整合技术和中间件开发技术需要合理规划。因此,中间件模式适用于有标准数据访问接口的异构数据源。

1.2 元数据整合模式分析

元数据整合模式在当前异构数据源统一检索系统中应用较多。按一定的标准对各数据源进行标引后,组成一个通常用数据库存储的元数据集,再通过一个发布系统与客户端进行通信。使用该模型集成的异构数据源检索系统查询得到的信息是对各数据源的元数据描述信息。用户通过一个特定的连接直接从各数据源得到检索信息。该模式的特点是检索方式和速度不受原始数据源的影响,元数据检索和数据获取通过各自独立的服务,但是元数据和各数据源之间的同步性较差,而且该模式的标引和组织元数据会耗费较多的资源。因此,元数据整合模式适合于不经常变动的数据源或者元数据一致性协同性较高的数据源。

1.3 网页搜索代理模式分析

网页搜索代理模式的应用前提是各数据源都应具有Web发布和信息检索功能,但是这些数据源一般仅提供较少的元数据信息,且很少提供标准的检索接口。该模式是通过分布式网页搜索代理模拟用户发送请求至各数据源的网站上获取元数据信息,对获取的所有元数据信息进行整合处理后返回给用户。该模式的特点是对于许多网上资源都可以进行高粒度的、实时的检索,因此很大程度上提高了用户的查准率;但为了获取更多的元数据信息,设计时必须详细地分析各数据源的Web结构层次和数据组织方式,而且为了达到各数据源的交互要求需要对不同的检索请求进行转换,另外还要制定统一的元数据标准、数据整合机制和发布结果机制等。

2 基于Web Services的数字地图资源检索模式设计

通过上节中对传统异构数据源统一检索的3种模式的介绍可以看出,这3种模式中的任何一种模式应用于数字地图资源发布与检索系统中都会出现各种各样的问题,如元数据标准、检索接口标准、数据整合以及可维护性差等问题,因此这3种模式不能完全有效地解决数字地图资源发布与检索系统的平台异构、数据异构、协议异构和数据整合等关键问题,从而不能满足用户的需求。

通过对传统异构数据源统一检索模式的分析,基于Web Services的数字地图资源发布与检索系统将采用中间件模式和元数据整合模式相结合的模式,即地图检索服务和本地元数据库检索相结合的模式,其中地图检索服务是中间件模式中的一种方法,而本地空间元数据库检索是元数据整合模式的一种方法。该模式的检索原理是:用户输入关键词进行地图检索时,首先查询系统的本地空间元数据库,如果空间元数据库中存在此关键词,则直接使用本地空间元数据库检索进行地图检索,否则就使用地图检索服务进行地图检索,并把检索结果存入系统的本地空间元数据库中。通过这种地图检索服务和本地空间元数据库检索相结合的方式,系统的空间元数据库会被不断地充实,因此系统的检索次数越多,空间元数据库也越来越完善。这样就有效地解决了元数据整合模式下各数据源元数据一致性差的问题。当元数据库中存在该关键词时,系统使用的是本地空间元数据库进行地图检索,这样也避免了中间件模式的缺陷。因此,采用地图检索服务和本地空间元数据库检索相结合的模式避免了这二种模式的缺点,同时集成了二种模式的优点,有效地提高了地图检索的效率,充实了系统的空间元数据库,扩宽了系统的适用范围,使系统具备较好的一致性、实时性和协同性等优点。

3 数字地图资源统一检索算法研究

因为数字地图资源统一检索是数字地图资源发布与检索系统的主要功能,所以数字地图资源统一检索算法是论文研究的核心算法。

数字地图资源统一检索算法贯穿了从用户发送检索请求到展示检索结果的整个过程。用户输入检索关键字并发送检索请求后,系统把该请求发送给数字地图资源发布与检索系统的本地数据源,然后数字地图资源发布与检索系统本地数据源判断数据库中是否存在用户请求的检索服务和空间元数据库中是否存在用户输入的检索关键字,再根据不同的判断结果执行不同的操作。该判断有4种不同的结果:

1)数据库中存在该检索服务且空间元数据库中存在该检索关键字,这种情况直接返回数字地图资源检索本地数据源的空间元数据库中相应的元数据即可。

2)数据库中不存在该检索服务且空间元数据库中存在该检索关键字,这种情况跟第一种情况的执行结果一样。

3)数据库中存在该检索服务且空间元数据库中不存在该检索关键字,这种情况直接调用数字地图资源检索本地数据源的检索服务即可。

4)数据库中不存在该检索服务且空间元数据库中不存在该检索关键字,这种情况得调用各个数字地图资源的检索服务才能实现。系统首先按照数字地图资源发布与检索协议的规定对该请求进行处理,然后把处理过的请求转发给各数字地图资源,再统一调用各自的检索服务,各自返回由数字地图资源发布与检索协议规定格式的检索结果,最后对所有检索结果进行融合,并按数字地图资源发布与检索平台要求的格式返回给数字地图资源发布与检索平台。统一检索算法流程图的具体设计如图1所示。

图1 数字地图资源统一检索算法流程图

3.1 数字地图资源统一检索结果融合算法研究

从基于Web Services的数字地图资源发布与检索系统的工作流程可以看出,数字地图资源统一检索结果融合[4]是该系统的重要组成部分,主要包括地图资源检索结果格式验证、地图资源检索结果合并、地图资源检索结果去重、地图资源检索结果格式转换和地图资源检索结果排序5项内容,本节将对它们的算法分别进行详细的描述。

3.1.1 地图资源检索结果格式验证

由于调用检索服务返回的检索结果是XML格式的字符串,地图资源检索结果的格式验证可以通过XML Schema来完成,从而将对检索结果的格式验证转化为对一个XML文档的验证,而验证的条件都定义在一个XML Schema文档中。

由于数字地图资源统一检索服务模型调用检索服务返回的检索结果是XML类型的字符串,而XML格式的字符串的格式验证可以通过XML Schema来完成,因此对检索结果的格式验证就是使用XML Schema对一个个检索结果的XML文档的格式验证。检索结果格式验证的流程为:①获取XML Schema文档的位置schemaUrl。②使用XML Schema文档验证resultXml文档的格式是否有效。③若有效,将检索结果字符串tempResultXml、检索关键词、检索服务名全部封装到检索结果对象queryResultWrapper中,并将queryResultWrapper添加到检索结果对象列表resultsWrapperList中即可;若无效,返回结果验证无效。

3.1.2 地图资源检索结果合并

地图资源检索结果合并是将所有数字地图资源返回的并通过验证的检索结果按照统一的格式封装到一个XML文档中,这样不仅完成了检索结果的统一合并,而且便于后续的结果去重和格式转换。地图资源检索结果合并算法流程如图2所示。

3.1.3 地图资源检索结果去重

对于数字地图资源发布与检索系统而言,由于各个数字地图资源的数据库都是彼此独立的数据源,它们的元数据库的构建也是完全独立的,所以当从各数字地图资源中返回查询结果时,这些结果不可避免地包含有大量的重复记录,为了除去这些重复记录,论文设计了相应的去重算法。论文采用XSLT技术进行检索结果去重操作,XSLT文档中定义了去重的条件和去重后XML文档中的元素和元素顺序。如果不同数字地图资源返回相同的检索记录,去掉级别低的数字地图资源的重复记录,保留级别最高的数字地图资源的检索记录。地图资源检索结果去重算法的流程为:①根据xslUrl的条件对resultXML进行去重处理。②构建去重之后的检索结果XML对象resultUltimaXML。③把去重处理之后的XML文档保存到resultUltimaXML对象中。④返回去重后的检索结果XML文档resultUltimaXML。

图2 地图资源检索结果合并算法流程图

3.1.4 地图资源检索结果格式转换

地图资源检索结果格式转换是将去重后的检索结果转换为集合列表的形式,便于后续的排序和页面绑定工作。地图资源检索结果格式转换算法流程如图3所示。

3.1.5 地图资源检索结果排序

当地图资源检索结果进行格式转换后,检索结果就变成了集合列表的形式,因此对地图资源检索结果的排序就相当于对集合列表中的对象排序。系统检索结果排序默认的是按照地图资源优先级别从高到低的顺序进行排列的,以便用户首先查阅的是可信度较高的地图资源,用户也可以选择其他的方式进行排序。地图资源检索结果排序算法流程为: ①构建比较器对象CompareObject。②调用Sort(itemlist,CompareObject)函数,根据比较器对象 CompareObject的条件对MapRecordList列表中的mapRecord进行排序。③返回经过排序后的地图检索结果列表MapRecordList。

图3 地图资源检索结果格式转换算法流程图

3.2 空间元数据更新算法研究

系统进行本地空间元数据更新操作时,模拟地图检索请求,调用各数字地图资源的Web服务检索和本地空间元数据库检索,将二者返回的检索结果进行比较,保留本地元数据库中检索结果与调用各数字地图资源的Web服务检索相同的部分,再删除本地元数据库中检索结果与调用各数字地图资源的Web服务检索不同的部分,最后将调用各数字地图资源的Web服务检索结果中与数字地图资源发布与检索系统本地数据源的空间元数据库检索结果不同的部分添加到本地空间元数据库。本地空间元数据更新算法流程为:①构建检索关键词对象SearchWord和检索服务对象MapQuery,并给它们赋相应的值。②调用各数字地图资源的Web检索服务,并把结果保存到WebServicesResultList中。③调用本地空间元数据库检索服务,并把结果保存到LocaleResultList中。④保留本地空间元数据库中LocaleResultList与WebServicesResultList相同的部分。⑤删除本地空间元数据库中LocaleResultList与WebServicesResultList不同的部分。⑥将WebServicesResultList中与LocaleResultList不同的部分添加到本地空间元数据库中。

4 基于Web Services的数字地图资源检索系统的实现

4.1 系统功能模块设计

根据前面的研究,按照功能的不同,基于Web Services的数字地图资源检索系统可以分为四大功能模块,分别是用户管理模块、元数据管理模块、数字地图资源检索服务模块和数字地图共享服务模块。其中用户管理模块、元数据管理模块、数字地图资源检索服务模块是论文研究的重点,而数字地图共享服务模块是论文的后续工作,故在论文中对此不做重点研究。系统功能模块图如图4所示。

4.2 基于Web Services的数字地图资源统一检索系统

数字地图资源统一系统界面如图5所示,用户选择检索条件,如地图编码、地图名称比例尺、语种、地图类型、地图制作者、地图出版单位、坐标系、投影、地理区域描述、地理边界矩形、资源格式、涉密等级和制作日期等,再输入检索关键字,点击查询按钮就可以从所有数字地图资源中快速检索出用户所查询的所有地图元数据信息。

图4 基于Web Services的数字地图资源检索系统功能模块构成

图5 数字地图资源统一检索界面

检索结果界面如图6所示。用户可以事先设置检索结果中需要显示元数据的那些项,还可以单击某一条结果记录显示该条元数据的详细信息。

图6 检索结果界面

5 结 语

随着网络技术的迅猛发展与信息化建设的推动,电子地图应用与互动要求不断深入,越来越多的用户希望通过网络获得便捷的电子地图服务。论文研究的异构数字地图资源检索技术能提供给用户自动发现和主动服务的功能;提出的基于Web Services的数字地图资源统一检索模式,不仅解决了传统异构数据源检索模式的缺陷,又集成了地图检索服务和本地空间元数据库检索二种模式的优点;设计的数字地图资源检索结果融合算法和元数据更新算法提高了数字地图资源的检索效率,实现了数字地图资源的极大共享,扩大了数字地图资源的使用人群,促进了数字地图的网络化、信息化、商业化和社会化的发展。

[1] 叶鹏.基于Web Services的异构数据源共享研究[J].科技信息,2010(1):339-341

[2] 李朝奎,吴柏燕,高振记.基于中间件技术的异构数据库集成设计与实现[J].测绘工程,2012,21(5):5-7

[3] 钟凯.基于网格的地理空间数据库访问和操作中间件研究[D].长沙:国防科学技术大学,2009

[4] 王秀红,鞠时光.基于混合核函数的分布式信息检索结果融合[J].通信学报,2011,32(4):112-118

[5] 刘晓强.基于Web Services的异构数据集成系统的应用研究[D].厦门:厦门大学,2009

P208

B

1672-4623(2016)12-0061-05

10.3969/j.issn.1672-4623.2016.12.020

刘文兵,硕士研究生,研究方向为地理信息系统的应用与开发。

2014-10-28。

猜你喜欢
数字地图数据源检索
数字地图在绿化市容行业中的应用分析
Web 大数据系统数据源选择*
对车辆自定位特征的评估
基于不同网络数据源的期刊评价研究
专利检索中“语义”的表现
一种用于辅助驾驶的传感器融合数字地图系统
基于真值发现的冲突数据源质量评价算法
分布式异构数据源标准化查询设计与实现
国际标准检索
国际标准检索