一种跨GIS平台的空间信息服务生成方法和系统转让专利

申请号 : CN201811596150.8

文献号 : CN109522386B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 周扬许峰韩崔燕柏莉

申请人 : 武汉众智鸿图科技有限公司

摘要 :

本发明提供一种跨GIS平台的空间信息服务生产方法和系统,所述系统包括客户表示层、Web应用服务层、以及数据服务层。所述方法包括:S1、客户端通过Internet发出服务访问请求;S2、权限验证模块验证客户端的服务访问权限;S3、服务实例接收请求,根据请求启动相应GIS服务进程,进程管理器监控进程运行状态;S4、GIS服务进程根据服务需要的类型数据调取相应GIS平台的矢量数据和属性数据,进行数据分析,并通过标准化流程将各GIS平台数据输出成统一的GIS服务;S5、服务结果返回给客户端。本发明的跨GIS平台的空间信息服务生成方法和系统,不依赖于其他平台发布的空间信息服务,只要求具备基础的GIS环境即可,生成的服务扩展性较强,空间信息融合与共享效率较高。

权利要求 :

1.一种跨GIS平台的空间信息服务生成系统,其特征在于,包括客户表示层、Web应用服务层、以及数据服务层,其中:用户在所述客户表示层上发出访问请求,所述访问请求为格式统一的服务访问请求,所述客户表示层与Web应用服务层通信连接;

所述Web应用服务层接收用户的访问请求并进行权限验证,权限通过后处理用户访问请求,将响应结果返回给客户表示层;所述Web应用服务层包括GIS服务进程,所述GIS服务进程根据服务需要的类型数据调取数据服务层中相应GIS平台的矢量数据和属性数据,进行数据分析,并通过标准化流程将数据封装成统一的GIS服务;所述GIS服务进程是一种常驻进程,即在客户表示层完成对服务的访问然后释放对服务的引用后,用于生成该服务的进程被放到后台运行而不被杀死,供服务实例在下次接收到来自客户表示层的访问请求时继续调用;

所述数据服务层为Web应用服务层处理用户访问请求提供数据支持,包括不同GIS平台提供的空间数据。

2.根据权利要求1所述的跨GIS平台的空间信息服务生成系统,其特征在于,所述Web应用服务层还包括权限验证模块、服务实例,其中:权限验证模块:用于验证客户表示层对相应服务的访问权限,若权限通过则将请求交由服务实例接收和处理,若权限未通过则向客户表示层返回拒绝访问的提示信息;

服务实例:用于接收和处理来自客户表示层的访问请求,并将响应结果返回给客户表示层,所述服务实例的各实例中包含有对应的服务进程管理器,用于提供该服务实例启动的相应GIS服务进程的生命周期管理。

3.一种跨GIS平台的空间信息服务生成方法,其特征在于,包括以下步骤:

S1、用户在客户表示层通过Internet发出服务访问请求;所述客户表示层以JSON字符串向Web应用服务层传递格式统一的“指令+参数”服务访问请求;

S2、通过权限验证模块验证来自客户表示层的服务访问权限;

S3、服务实例接收请求,根据请求启动相应GIS服务进程,进程管理器监控进程运行状态;

S4、GIS服务进程根据服务需要的类型数据调取相应GIS平台的矢量数据和属性数据,进行数据分析,并通过标准化流程将数据封装成统一的GIS服务;所述步骤S4具体为:S41、GIS服务进程反序列化来自客户表示层的服务请求,解译出客户表示层的请求中具体的指令和参数;

S42、GIS服务进程根据指令确定服务需要的类型数据,通过相关接口调取GIS平台的矢量数据和属性数据,若相关接口没找到则说明客户表示层发出的是非法请求而不用做出响应;

S43、GIS服务进程参照ARCGIS Server下Map Services的相关标准将步骤S42中调取的GIS平台数据封装成服务,并选择JSON作为统一的格式将服务返回给客户表示层;

S5、服务实例将响应结果返回给客户表示层。

4.根据权利要求3所述的跨GIS平台的空间信息服务生成方法,其特征在于,所述步骤S3中,服务实例的各实例中包含有对应的服务进程管理器,用于提供该服务实例启动的相应GIS服务进程的生命周期管理。

5.根据权利要求3所述的跨GIS平台的空间信息服务生成方法,其特征在于,所述步骤S4中生成的统一的GIS服务是一种池化服务,服务的实例可在多个应用程序会话之间进行共享,即客户表示层仅在完成一个请求期间内使用该实例,请求完成后则会释放对服务的引用,将其直接返回到可用的实例池中。

说明书 :

一种跨GIS平台的空间信息服务生成方法和系统

技术领域

[0001] 本发明涉及地理信息服务领域,尤其涉及一种跨GIS平台的空间信息服务生成方法和系统。

背景技术

[0002] 随着计算机技术、网络技术、数据库技术等的发展以及应用的不断深化,人们对及时获取、查询空间信息的要求也与日俱增。然而,由于不同GIS平台空间数据存储格式不同、数据模型与数据结构的差异、地理数据的标准不统一,各GIS数据管理软件互操作性差,导致跨学科的专业人员使用困难,海量的地理信息数据利用率很低。传统的空间信息服务系统大多是面向行业,依赖于特定的GIS支撑平台和运行环境,它们各自独立、相对封闭、无法相互沟通和协作,形成了很多“空间信息孤岛”,难于实现空间数据和应用的共享。如何整合这些跨GIS平台的空间信息资源,提供高效、优质的空间信息服务一直是国内外研究的热点问题。对于公众来说,很多时候并不需要了解地理数据的格式和专业软件的操作,而只需要通过网络或者其他可视化工具来使用地理信息服务,客观上需要一种将不同GIS平台存储的空间数据进行整合,形成综合统一的、通用的空间信息服务方法和系统。
[0003] 现有技术中,提出了采用面向服务的SOA架构模型将不同类型、不同来源的服务通过标准化流程进行一体化整合,通过统一和通用的方式进行服务的注册、描述、发布和调用,实现空间信息服务的融合与共享。但这种方法依赖于其他平台发布好的服务,需要得到其他平台SERVER的支持,服务的扩展性较差,某些平台自有的复杂的功能性服务(如爆管分析)则很难集成。
[0004] 本发明针对现有技术中存在的问题,提供一种跨GIS平台的空间信息服务生成方法和系统,它不依赖于其他平台发布的空间信息服务,只要求具备基础的GIS环境即可,生成的服务的扩展性较强,空间信息融合与共享的效率较高。

发明内容

[0005] 有鉴于此,本发明提供了一种跨GIS平台的空间信息服务生成方法和系统,能够快速生成跨GIS平台的、统一的、通用的空间信息服务,实现空间信息高效融合与共享。
[0006] 本发明提供一种跨GIS平台的空间信息服务生成系统,包括客户表示层、Web应用服务层、以及数据服务层,其中:
[0007] 客户表示层:为IE/Firefox等浏览器客户端,与Web应用服务层通过HTTP协议进行通信;
[0008] Web应用服务层:接收用户访问请求并进行权限验证,权限通过后处理用户访问请求,将响应结果返回给客户表示层;
[0009] 数据服务层:包括ARCGIS、MapGIS、SuperMap等不同GIS平台提供的空间数据,为Web应用服务层处理用户访问请求提供数据支持。
[0010] 进一步地,所述Web应用服务层还包括:
[0011] 权限验证模块:用于验证客户表示层对相应服务的访问权限,若权限通过则将请求交由服务实例接收和处理,若权限未通过则向客户表示层返回拒绝访问的提示信息;
[0012] 服务实例:即地图服务、要素服务、切片服务对应的服务实例,所述服务实例用于接收和处理来自客户表示层的请求,并将响应结果返回给客户表示层;
[0013] 所述服务实例的各实例中包含有对应的服务进程管理器,用于提供该服务实例启动的相应GIS服务进程的生命周期管理:每个进程中都设置有用于协助管理该进程的线程,服务进程管理器通过与进程的线程进行通信来监控进程的状态,当进程出现故障,进程的线程自动向进程管理器反馈故障报告,从而进程管理器可以迅速获知该故障情况并采取相应的后续操作,如重新启动该进程;当需要停止进程时,进程管理器向进程的线程发送停止消息;
[0014] GIS服务进程:根据服务需要的类型数据调取数据服务层中相应GIS平台的矢量数据和属性数据,进行数据分析,并通过标准化流程将数据封装成统一的GIS服务;
[0015] 所述GIS服务进程是一种常驻进程,即在客户表示层完成对服务的访问然后释放对服务的引用后,用于生成该服务的进程被放到后台运行而不被杀死,供服务实例在下次接收到来自客户表示层的访问请求时继续调用。
[0016] 本发明提供一种跨GIS平台的空间信息服务生成方法,包括以下步骤:
[0017] S1、用户在客户表示层(IE/Firefox等浏览器客户端)通过Internet发出服务访问请求;
[0018] 进一步地,所述步骤S1的具体步骤为:
[0019] 客户端以JSON字符串向Web应用服务层传递格式统一的(指令+参数)服务请求,其中包括地图导出、地图查询、图层输出、要素添加、元数据输出等指令,以及定义图层列表、图层字段、空间范围等参数;
[0020] S2、通过权限验证模块验证来自客户端的服务访问权限;
[0021] 进一步地,所述步骤S2的具体步骤为:
[0022] 权限验证模块验证来自客户端的服务访问权限,若权限通过则将请求交由服务实例接收和处理,若权限未通过则向客户端返回拒绝访问的提示信息;
[0023] S3、当步骤S2中来自客户端的服务访问权限验证通过后,服务实例接收请求,根据请求启动相应的GIS服务进程,进程管理器监控进程运行状态;
[0024] S4、步骤S3中所述GIS服务进程根据服务需要的类型数据调取相应GIS平台的矢量数据和属性数据,进行数据分析,并通过标准化流程将数据封装成统一的GIS服务;
[0025] 进一步地,所述步骤S4的具体步骤为:
[0026] S41、GIS服务进程反序列化来自客户端的服务请求,解译出客户端的请求中具体的指令和参数;
[0027] S42、GIS服务进程根据指令确定服务需要的类型数据,通过相关接口调取GIS平台的矢量数据和属性数据,若相关接口没找到则说明客户端发出的是非法请求而不用做出响应;
[0028] S43、GIS服务进程参照ARCGIS Server下Map Services的相关标准将各GIS平台的地理数据封装成服务(基于Map Services方法封装的数据服务也可以符合WMS和WFS标准规范),并选择JSON作为统一的格式将服务返回给客户端;
[0029] S5、服务实例将响应结果返回给客户端;
[0030] 进一步地,所述步骤S5的具体步骤为:
[0031] 服务实例将响应的服务结果返回给客户端,还包括输出服务的元数据,即服务输出范围、图层、坐标系、坐标单位等服务的描述信息。
[0032] 本发明提供的技术方案带来的有益效果是:本发明提供一种跨GIS平台的空间信息服务生成方法和系统,通过对不同GIS平台的地理数据进行数据分析,将地理数据经标准化流程转换成通用的信息服务,再通过统一的方式发布给客户端,实现不同GIS平台数据集的综合显示和可视化。本发明的跨GIS平台的空间信息服务生成方法与现有的跨GIS平台的空间信息Web服务共享方法不同,它不是在其他GIS平台基于各自的平台环境发布空间信息服务的基础上采用面向服务的架构模型将各服务进行整合,而是直接通过不同服务实例的进程依据统一的输入输出标准从各GIS平台中调取空间数据形成统一的空间信息服务,省去了各GIS平台分别发布地理空间信息服务这一环节,使得空间信息融合与共享的效率更高。

附图说明

[0033] 图1是本发明提供的一种跨GIS平台的空间信息服务生成系统及其流程示意图;
[0034] 图2是本发明提供的一种跨GIS平台的空间信息服务生成方法步骤图。

具体实施方式

[0035] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地描述。
[0036] 本实施例提供了一种跨GIS平台的空间信息服务生成系统,如图1所示,包括客户表示层、Web应用服务层、以及数据服务层,其中:
[0037] 客户表示层:为IE/Firefox等浏览器客户端,与Web应用服务层通过HTTP协议进行通信;
[0038] Web应用服务层:包括权限验证模块、服务实例、以及GIS服务进程,其中服务实例的各实例中包含有对应的服务进程管理器。当具备服务访问权限的客户表示层(IE/Firefox等浏览器客户端)通过HTTP协议向Web应用服务器发出访问请求时,Web应用服务器启动相应的服务实例,由服务实例接收和处理来自客户表示层的请求,实现一定的GIS功能,并将响应结果返回给客户表示层;
[0039] 数据服务层:包括ARCGIS、MapGIS、SuperMap等不同GIS平台提供的空间数据,为Web应用服务层处理用户访问请求提供数据支持。
[0040] 本实施例提供了一种跨GIS平台的空间信息服务生成方法,如图2所示,包括如下步骤:
[0041] S1、用户在客户表示层(IE/Firefox等浏览器客户端,以下简称客户端)通过Internet发出服务访问请求;
[0042] 具体地,客户端以JSON字符串向Web应用服务层传递格式统一的(指令+参数)服务请求,其中包含地图导出、地图查询、图层输出、要素添加、元数据输出等指令,以及定义图层列表、图层字段、空间范围等参数。
[0043] S2、通过权限验证模块验证来自客户端的服务访问权限;
[0044] 具体地,权限验证模块验证来自客户端的服务访问权限,若权限通过则将请求交由服务实例接收和处理,若权限未通过则向客户端返回拒绝访问的提示信息。
[0045] S3、当步骤S2中来自客户端的服务访问权限验证通过后,服务实例接收请求,根据请求启动相应GIS服务进程,进程管理器监控进程运行状态。
[0046] S4、步骤S3中所述GIS服务进程根据服务需要的类型数据调取相应GIS平台的矢量数据和属性数据,进行数据分析,并通过标准化流程将数据封装成统一的GIS服务;
[0047] 具体地,步骤S4中GIS服务进程反序列化来自客户端的服务请求,解译出客户端的请求中具体的指令和参数,并根据指令确定服务需要的类型数据,通过相关接口调取GIS平台的矢量数据和属性数据,若相关接口没找到则说明客户表示层发出的是非法请求而不用做出响应。
[0048] GIS服务进程按照ARCGIS Server下Map Services的相关标准将各GIS平台的地理数据封装成服务(基于Map Services方法封装的数据服务也符合WMS和WFS标准规范),并选择JSON作为统一的格式将服务返回给客户端。
[0049] 需要说明的是,采用ARCGIS Server的相关标准的原因是考虑到ARCGIS市场占有率大,参考其服务标准规范更有助于统一GIS服务,服务的元数据的内容和格式要按照ARCGIS Server的标准,需要包含图层Layers的ID、图层名、是否默认显示、父图层ID、子图层ID、最小比例、最大比例,表格Tables的ID、表格名,空间参考,初始范围,全局范围,坐标单位,支持的图片格式等基本信息。
[0050] 步骤S3中,服务实例响应来自客户端的访问请求后启动相应的GIS服务进程,通过服务实例中的进程管理器监测进程运行状态,即可判断服务实例的运行状态,由此监控服务的访问情况。因此,本发明可以通过间接设置服务实例的最小/最大进程数来灵活配置服务的最小/最大实例数。步骤S4中所述GIS进程是一种常驻进程,即在客户端完成对服务的访问然后释放对服务的引用后,用于生成该服务的进程被放到后台运行而不被杀死,供服务实例在下次接收到来自客户端的访问请求时继续调用。
[0051] 需要说明的是,进程管理器与服务实例启动的相应GIS服务进程之间是通过进程中的线程通信的,当进程出现故障,进程的线程自动向进程管理器反馈故障报告,从而进程管理器可以迅速获知该故障情况并采取相应的后续操作,如重新启动该进程;当需要停止进程时,进程管理器向进程的线程发送停止消息。
[0052] 步骤S4中,对于每台GIS服务器,当服务启动时,默认启动最小实例数,当现有实例都处于busy状态,有新的服务请求到达才会启动新的服务实例,但启动的实例总数不会超过最大实例数;当服务正在使用的实例数达到最大实例数时,请求服务的客户端将排队等候,直至另一个客户端释放了其中的某一服务;若设置的最大实例数过小,客户端可能需要较长时间等待服务的响应,若设置的最大实例数过大,则服务器需要占用较多内存;因此,需要灵活配置服务的最小/最大实例数,对于不经常用到、少数人在短时间内使用的服务,建议服务的最小/最大实例数设置为0/1,且依业务需求设置空闲实例运行时间(超过这个时间,系统自动终止该实例);对于经常使用的服务,每天都有大量的服务请求,建议最小/最大实例数设置为相等,注意需要配置足够的实例数才能达到峰值吞吐,但是服务实例配置过多会增加相应时间,对于复杂的地理处理服务,最大实例数应设置小一些,以保护GIS服务器资源。
[0053] 步骤S4中生成的统一的GIS服务是一种池化服务,服务的实例可在多个应用程序会话之间进行共享,即客户端仅在完成一个请求期间内使用该实例,请求完成后则会释放对服务的引用,将其直接返回到可用的实例池中。
[0054] S5、服务实例将响应结果返回给客户端;
[0055] 具体地,服务实例将响应的服务结果返回给客户端,还包括输出服务的元数据,即服务输出范围、图层、坐标系、坐标单位等服务的描述信息。
[0056] 通过本实施例的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术所做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机、计算机、服务器等)执行本发明实施例所述的方法。
[0057] 以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。