网络地图瓦片服务聚合的方法和系统的制作方法

文档序号:7863569阅读:450来源:国知局
专利名称:网络地图瓦片服务聚合的方法和系统的制作方法
技术领域
本发明属于对地观测与导航技术领域,更具体是涉及网络地图瓦片服务聚合的方法和系统,可用于分布式地理信息系统网络地图服务开发。
背景技术
网络地图瓦片服务是一种常用的地理信息在线服务。对于大规模或大范围的地理瓦片数据,需要按分块方式存储在地理上分布的服务器节点上,并在每个节点上发布网络地图瓦片服务。为了保证用户从单一节点登录可以获得无缝的瓦片服务,需要聚合各个服务器节点上的网络地图瓦片服务。由于瓦片服务聚合的方法将影响用户获得流畅的、无缝的服务体验,因此,针对大规模分布式网络地图瓦片服务,发明一种服务聚合的方法和系统对于提高服务质量具有重大意义。

发明内容
为此,本发明提供一种网络地图瓦片服务聚合的方法和系统。根据本发明的一个方面,一种网络地图瓦片服务聚合的方法,其特征在于,对于多个分布式的网络地图瓦片服务(Web Map Tile Service,以下简称为WMTS),将所有能够被聚合的WMTS逻辑上组织成一种聚合的网络地图瓦片服务(Aggregated Web Map TileService,以下简称为AWMTS),使得客户端程序可以通过访问AWMTS快速找到和访问请求的WMTS,有利于实现一站式服务。所述网络地图瓦片服务聚合方法的原理如下首先,为了保证服务聚合达到良好效果,被聚合的WMTS需要满足一定的条件,这些条件包括I)所有的WMTS遵循统一的网络服务规范,如遵循开放地理空间联盟(OpenGeospatial Consortium,以下简称0GC)的WMTS规范,采用相同的规范版本,如OGC WMTS
I.0. 0版本。2)所有的WMTS访问的数据采用统一的标准,如测绘行业标准《地理信息公共服务平台电子地图数据规范》,以便于实现对WMTS访问的数据图层进行聚合。其次,AWMTS逻辑上也是一个WMTS,遵循网络地图瓦片服务规范和数据规范,客户端程序按访问WMTS相同的方法访问AWMTS。与WMTS类似,AWMTS需要实现标准的GetCapabilities接口和GetTile接口,但是,AWMTS在实现上又有不同于WMTS的特点,如AWMTS需要考虑聚合的模式、数据融合的策略、线程池技术、聚合服务的版权信息等。最后,服务聚合实现的模式包括以下三种I)代理模式。在这种模式下,AWMTS被认为是所有被聚合的WMTS的代理。AWMTS接收客户端程序请求,分析、拼接请求串,向一个或多个可能的WMTS发送请求并获取瓦片数据。如果请求的瓦片需要做融合处理时,则根据用户设置的融合策略来实现数据的融合,最后由AWMTS返回获取的瓦片数据给客户端。
2)重定向模式。在这种模式下,AWMTS转发请求的WMTS的URL(数据请求地址)给客户端,重定向到相应的WMTS,并由WMTS返回请求的瓦片数据给客户端。AWMTS接收客户端程序请求,通过解析用户输入的请求参数,根据请求的层级+层、行、列号换算出的范围(BoundingBox),判断请求的瓦片落入的范围。如果位于某一个WMTS中,直接将合适的WMTS数据请求地址返回给客户端;如果位于多个WMTS中,则将按配置的压盖顺序范围选择最顶层的WMTS数据请求地址返回给客户端。最后,由客户端自行获取瓦片数据。3)混合模式。在这种模式下,根据客户端程序请求参数自动确定采用代理模式或是重定向模式。AWMTS接收客户端程序请求,通过解析用户输入的请求参数,根据请求的层级+层、行、列号换算出的范围(BoundingBox),判断请求的瓦片是位于某个WMTS中还是位于多个WMTS中。如果瓦片只是位于一个WMTS中,则采用重定向模式,直接将该WMTS的数据请求地址返回给客户端,由客户端自行获取瓦片数据;如果请求的瓦片是位于多个WMTS中,则采用代理模式,由AWMTS负责返回瓦片数据给客户端。
·
网络地图瓦片服务聚合的使用方法包括以下步骤I)由不同的组织创建、发布符合规范的WMTS,被聚合的WMTS服务要符合OGC WMTS规范,并且当前服务配置了符合标准的图层数据;2)发布AWMTS,对AWMTS进行配置,包括选择服务版本,添加被聚合的WMTS的URL(数据请求地址)、聚合方式、数据融合策略、单个服务的访问超时时间、失败前的重试次数、标记失败后到重新检测的时间间隔等参数。参数的默认值为请求超时秒数为3,失败重试次数为5,检查失败地址时间间隔为300秒(5分钟);3)由客户端程序访问AWMTS,根据AWMTS的配置参数,采用不同的聚合模式,返回请求的瓦片数据或WMTS地址给客户端;4)更新与维护AWMTS,当被聚合的单个WMTS服务发生了更新,如增加图层、删除图层及修改服务配置时,由于AWMTS在初始化时会对WMTS的部分信息进行缓存,所以,如果WMTS发生变化,则需要重启AWMTS以实现其更新;如果单个WMTS被删除掉,虽然服务本身有访问的容错功能,但是还是应该在AWMTS配置中去掉对该服务的聚合设置,避免对无效的服务访问时所引起的资源消耗。根据本发明的一个方面,提供了一种网络地图瓦片服务聚合的方法,该方法包括由聚合网络地图瓦片服务端执行的以下步骤接收由客户端发送的对瓦片数据的请求,解析该请求,并向所述一个或多个分布式的网络地图瓦片服务端发送解析后的请求;根据服务模式,将从所述一个或多个分布式的网络地图获取的瓦片数据发送给所述客户端,或者将所述一个或多个分布式的网络地图瓦片服务端的数据请求地址发送给所述客户端。根据本发明的一个方面,提供了一种网络地图瓦片服务聚合的系统,包括上述聚合网络地图瓦片服务端,所述聚合网络地图瓦片服务端包括KVP模块,用来接收客户端KVP方式的对瓦片数据的请求,初始化获取服务所需的各项配置信息,提供对请求类型与参数的分析判断,并将获取结果返回给所述客户端;RESTful模块,用来接收客户端RESTful方式的对瓦片数据的请求,初始化获取服务所需的各项配置信息,提供对请求类型与参数的分析判断,获取结果返回给所述客户端;处理模块,用来根据从客户端获取的对瓦片数据的请求的参数、操作类型、以及聚合地址,解析并拼接请求串,并向分布式的网络地图瓦片服务端发送请求,以进行相应的处理操作;以及服务缓存模块,用来调用缓存公共接口,实现对瓦片数据和分布式的网络地图瓦片服务端的数据请求地址的存取。上述方法中采用的技术或策略包括I)缓存技术缓存技术是提高系统访问和反应速度的重要因素。上述方法中的缓存技术包括服务数据的缓存和瓦片数据集的缓存。上述所述的服务数据的缓存是指,为了避免重复请求GetCapabilities操作获取后续调用所需的数据,通过HashMap存储各项信息以便于检索。具体定义为5个HashMap,以关键词(key)、值(value)对的方式进行存储,多个值以“,”隔开,存储的各项信息分别是
(I)图层、聚合地址(一个或多个)用于获取图层对应的聚合地址;(2)图层、金字塔名称(一个或多个)用于分析判断请求参数TileMatrixSet ;(3)图层、坐标参照系值(一个或多个)用于获取图层对应的坐标参照系值;(4)金字塔名称、金字塔对象发送GetTile请求时,通过图层获取对应的金字塔息,判断请求是否有效;(5)聚合地址、Geometry (几何)值扩展 GetCapabilitiesFromLevel 接口,获取WMTS的版权信息时调用。所述的瓦片数据集的缓存是指,由于瓦片数据集中的瓦片本身具有共同的特点,比如瓦片格式、层号、行号、列号等,为便于在内存或在磁盘中能快速查找到被缓存的瓦片数据和WMTS地址,可通过由关键词(key)、值(value)对的形式来存入、获取瓦片数据和WMTS地址。缓存瓦片数据的键值由图层别名、瓦片格式、对应的瓦片金字塔名称、瓦片层号、行号和列号六部分构成;缓存WMTS地址的键值由以上六部分,外加一个标识(如“URL”)构成。为了达到键值的唯一性,参数之间以逗号隔开,其key值示例如缓存瓦片数据tileKey= “worlddom, image/jpeg, Matrix_l, 4, 3,14” ;缓存WMTS 地址urlKey = “worlddom, image/jpeg, Matrix_l, 4, 3,14, URL,,。对于缓存数据的更新,可以通过运维系统提供的缓存配置更新功能来实现。2)数据融合的策略与处理在聚合WMTS服务时,当选择聚合的代理模式或混合模式后,对于多个WMTS返回的瓦片数据,其级别、输出格式等可能不相同,需要统一处理。数据融合的策略包括数据是否融合、只返回最快响应的多个服务或融合全部正常返回的数据等。如果请求的瓦片数据需要做融合处理,对于相同级别的数据融合需支持PNG格式,并叠加瓦片数据返回给客户端,如果有一个是JPEG格式,则返回JPEG格式的瓦片数据;不同级别则按规定的瓦片数据集范围来发送请求,返回一个指定范围的瓦片数据。如果请求的瓦片数据不需要做融合处理,则服务请求采用多线程并发方式(也就是采用线程池技术)发送,根据用户的选择,根据用户的选择,只返回最快响应的多个服务。3)线程池技术在需要采用代理模式向客户端返回数据时,为了提高性能,聚合服务采用并发方式向单个WMTS的URL地址发送请求,考虑到使用多线程时可能出现的一系列问题,采用线程池技术来进行规避。具体地,为每个被聚合服务都单独设置了超时时间,在并发发送请求时的等待时间不会超出单个服务的最大超时时间,避免了在被聚合服务的数据量过多时出现长时间等待的情况。聚合服务的性能需要依赖于单个服务运行状况和网络连接情况,聚合服务中会对出现访问失败的服务记录其连续失败的次数,当连续失败次数到达上限时,将在一段时间内限制对该服务的访问。限制访问的时间和连续失败次数的上限,都可以单独进行设置。根据本发明的一个方面,一种网络地图瓦片服务聚合的系统,其特征在于,根据上述所述的方法,遵循HTTP协议,以Get方式向服务提交请求,支持关键词-值对(Key-ValuePair,以下简称KVP)和RESTful两种方式实现AWMTS标准的GetCapabilities接口、GetTile接口和扩展的GetCapabilitiesFromLevel接口,提供发布、配置AWMTS的工具。本发明的技术方案的优点在于I)本发明通过聚合分布式的WMTS,将多个符合一定条件的WMTS逻辑关联在一起,使得用户访问数据时可以直接访问AWMTS,而不需分别访问多个服务,实现服务访问的一站 式服务,达到服务访问无关性,满足用户泛在化和一体化的需求。2)本发明通过采用多种聚合模式、缓存技术、线程池技术等提高了 AWMTS访问的效率。


图I是示出根据本发明的实施例的聚合网络瓦片服务的流程的示意图。图2是示出根据本发明的实施例的聚合网络瓦片服务的数据融合的示意图。图3是示出根据本发明的实施例的聚合网络瓦片服务的系统框架的示意图。图4是示出根据本发明的实施例的聚合网络瓦片服务的使用流程的流程图。图5是示出根据本发明的实施例的聚合网络瓦片服务的系统工具的示意图。图6是示出根据本发明的实施例的配置AWMTS的界面的示意图。
具体实施例方式< 一 >聚合网络瓦片服务的流程图I是示出根据本发明的实施例的聚合网络瓦片服务的流程的示意图。聚合网络瓦片服务的流程如图I所示。分5个步骤I)客户端请求瓦片数据。客户端通过HTTP Get请求访问AWMTS ;2) AWMTS根据用户请求的访问参数,计算需要访问的瓦片位置和子服务地址;3)如果采用重定向模式,则AWMTS返回子服务地址给客户端。如果采用代理模式,则AWMTS返回瓦片数据给客户端,访问结束。如果采用混合模式,则AWMTS根据客户端程序请求参数自动确定并返回子服务地址给客户端、或者返回瓦片数据给客户端。4)如果AWMTS返回子服务地址给客户端,则客户端再根据返回的子服务地址向子服务发送请求,并且,子服务返回瓦片数据给客户端。〈二〉聚合网络瓦片服务的数据融合图2是示出根据本发明的实施例的聚合网络瓦片服务的数据融合的示意图。聚合网络瓦片服务的数据融合采用按相同图层(Layer)合并或叠加的方法处理,如图2所示。例如,对于位于不同地理位置,如山西、河北的WMTS中的图层,如水系层、道路层分别可以进行融合,合并后形成一个无缝、平滑的地图浏览。
〈三〉系统框架图3是示出根据本发明的实施例的聚合网络瓦片服务的系统框架的示意图。AWMTS分为两层接口层、处理层及服务缓存模块,如图3所示。接口层接收客户端请求,初始化服务所需的各项配置信息,并对请求类型与参数进行解析,获取结果返回给客户端;接口层包括KVP模块和RESTful模块。处理层根据获取的请求参数、操作类型以及聚合地址,分析、拼接请求串,向WMTS服务发送请求进行相应的处理操作。服务缓存模块调用缓存公共接口实现 对瓦片数据和WMTS地址的存取。〈四〉接口说明I)GetCapabilities 接口本操作返回描述服务和操作信息的XML文档。请求参数说明如下请求参数(大写)必选的(R)/可选的(0)说明
权利要求
1.一种网络地图瓦片服务聚合的方法,该方法包括由聚合网络地图瓦片服务端执行的以下步骤 接收由客户端发送的对瓦片数据的请求,解析该请求,并向所述一个或多个分布式的网络地图瓦片服务端发送解析后的请求; 根据服务模式,将从所述一个或多个分布式的网络地图获取的瓦片数据经聚合后发送给所述客户端,或者将所述一个或多个分布式的网络地图瓦片服务端的数据请求地址转发给所述客户端。
2.如权利要求I所述的方法,其中,所述服务模式包括代理模式,在代理模式中,所述聚合网络地图瓦片服务端将从所述一个或多个分布式的网络地图获取的瓦片数据经聚合后发送给所述客户端。
3.如权利要求I所述的方法,其中,所述服务模式包括重定向模式,在重定向模式中,所述聚合网络地图瓦片服务端将所述一个或多个分布式的网络地图瓦片服务端的数据请求地址转发给所述客户端,之后,由客户端根据数据请求地址获取所请求的瓦片数据。
4.如权利要求I所述的方法,其中,所述服务模式还包括混合模式,在所述混合模式中,所述聚合网络地图瓦片服务端判断所述客户端请求的瓦片数据是位于一个还是多个分布式的网络地图瓦片服务端中, 如果位于一个分布式的网络地图瓦片服务端中,则将服务模式切换到代理模式,所述聚合网络地图瓦片服务端将从所述一个分布式的网络地图获取的瓦片数据发送给所述客户端, 如果位于多个分布式的网络地图瓦片服务端中,则将服务模式切换到重定向模式,所述聚合网络地图瓦片服务端将所述多个分布式的网络地图瓦片服务端的数据请求地址发送给所述客户端,并由所述多个分布式的网络地图瓦片服务端将所请求的瓦片数据发送给所述客户端。
5.如权利要求2或4所述的方法,其中,在所述代理模式中,如果请求的瓦片数据需要做融合处理,则根据所述客户端设置的融合策略来实现数据的融合,之后由所述聚合网络地图瓦片服务端将获取的瓦片数据发送给所述客户端。
6.如权利要求3或4所述的方法,其中,在所述重定向模式中,所述聚合网络地图瓦片服务端根据所述请求的层级、层、行、列号换算出瓦片数据的范围,从而判断所请求的瓦片数据是位于一个还是多个分布式的网络地图瓦片服务端中, 如果位于一个分布式的网络地图瓦片服务端中,则直接将合适的所述分布式的网络地图瓦片服务端的数据请求地址发送给所述客户端, 如果位于多个分布式的网络地图瓦片服务端中,则按照所配置的网络地图的压盖顺序,将最顶层的分布式的网络地图瓦片服务端的数据请求地址发送给客户端,之后,由客户端根据数据请求地址获取所请求的瓦片数据。
7.—种网络地图瓦片服务聚合的系统,包括如权利要求I所述的聚合网络地图瓦片服务端,所述聚合网络地图瓦片服务端包括 KVP模块,用来接收客户端KVP方式的对瓦片数据的请求,初始化获取服务所需的各项配置信息,提供对请求类型与参数的分析判断,并将获取结果返回给所述客户端; RESTful模块,用来接收客户端RESTful方式的对瓦片数据的请求,初始化获取服务所需的各项配置信息,提供对请求类型与参数的分析判断,获取结果返回给所述客户端; 处理模块,用来根据从客户端获取的对瓦片数据的请求的参数、操作类型、以及聚合地址,解析并拼接请求串,并向分布式的网络地图瓦片服务端发送请求,以进行相应的处理操作;以及 服务缓存模块,用来调用缓存公共接口,实现对瓦片数据和分布式的网络地图瓦片服务端的数据请求地址的存取。
全文摘要
本发明涉及一种网络地图瓦片服务聚合的方法和系统,该方法包括由聚合网络地图瓦片服务端执行的以下步骤接收由客户端发送的对瓦片数据的请求,解析该请求,并向所述一个或多个分布式的网络地图瓦片服务端发送解析后的请求;根据服务模式,将从所述一个或多个分布式的网络地图获取的瓦片数据经聚合后发送给所述客户端,或者将所述一个或多个分布式的网络地图瓦片服务端的数据请求地址转发给所述客户端。
文档编号H04L29/08GK102968442SQ20121040493
公开日2013年3月13日 申请日期2012年10月22日 优先权日2012年10月22日
发明者邓跃进, 宋爱红, 贺楷锴, 刘琳, 吴杰, 黄俊韬, 林军, 方磊, 王琳 申请人:武大吉奥信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1