基于服务的地下管线信息共享系统设计与实现
2024-10-27宋庆祥
摘 要:随着城市的快速发展,地下空间利用率不断提高,城市地下管线更加错综复杂。针对地下管线各权属单位孤岛化管理,以及建设施工单位在规划和建设施工过程中对管线信息的迫切需求,设计并实现了基于权限控制的地下管线信息服务申请与共享。为了提高共享服务的适用性,两种服务均设计可加入到第三方应用系统使用,通过对外提供数据服务促进地下管线的数据更新,让地下管线数据进入使用和更新的良性循环。
关键词:管线服务;管线共享;地图服务;数据应用服务
中图分类号:TU990.3 文献标识码:A 文章编号:2096-6903(2024)09-0120-03
收稿日期:2024-03-28
作者简介:宋庆祥(1979—),男,山东临沂人,研究生,高级工程师,研究方向:数据结构和数据整理、数据分析模型构建、大数据应用、信息系统建设。
0 引言
城市地下管线担负着整个城市的能源和物质输送、信息传输、应急防灾等重要功能,已成为保障城市正常运行的“生命线”和重要的基础设施。因此在城市的规划、建设、和安全运行的过程中,需要充分地了解和掌握地下管线的信息。
现阶段,不同的管线建设、管理和维护分属不同的权属单位,为避免在建设施工中出现不必要重复测量投入和施工破坏或管线事故,充分发挥地下管线数据的应用价值,相关主管部门需要建立一个统一的管线信息服务共享平台,在保障地下管线数据安全的前提下,提供各类管线信息服务,供各建设施工单位查询和浏览。以此为出发点,本文就如何实现地下管线综合管理信息数据对外提供服务进行了系统设计。
1 系统目标
根据不同用户的使用需求,制定发布不同的管线服务。服务分为两种:管线地图服务和管线数据应用服务,其中管线地图服务可实现管线数据直接浏览和查询;管线数据应用服务主要提供管线空间数据、属性数据、元数据等查询和分析接口。
为了提高共享服务的适用性,两种服务均设计可加入到第三方应用系统使用。考虑管线数据服务的权限和安全,提供的管线数据服务,不能暴露真实的发布服务器地址,需经过反向代理服务器进行代理转换,构筑一个服务需求定制、权限安全控制的管线信息服务共享平台[1]。
2 系统设计及实现
2.1 系统总体架构设计
整个系统设计分为数据层、服务层、应用层3层。
数据层主要是由基础地形数据、地下管线空间数据、属性数据等各类数据的关系数据库组成。基础地理数据库包括基础地理数据,管线及设施数据库主要包括城市管网现状数据、管网及设施元数据等,具体内容有管线点数据、管线数据、管线点注记、管线注记、管网辅助线等。
服务层主要分为两部分:一部分为地下管线服务,用于将管线数据以地图服务或应用服务的方式发布出去,实现数据共享。另一部分为访问权限控制服务,主要是提供用户访问权限控制,通过反向代理服务和TOKEN服务来控制用户的访问权限。
应用层主要提供地下管线信息服务的申请、注册、审批以及审批后的管线信息服务的预览和查询。分为管理端和客户端,客户端主要为共享需求单位发起申请并填写数据使用需求,管理端为管理单位提供申请批复、服务发布、数据提供、查询统计等功能。
三层结构相辅相成,又互相独立,既保证了管线数据的服务共享,又从申请、注册、审批各个环节来保证服务的访问限制。在保障安全的前提下,实现服务多样化定制需求。系统架构图如图1所示。
2.2 系统的功能实现
根据国家、省、市等地下管线普查和入库标准、建立起规范的地下管线数据库。地图服务、应用服务,主要是针对地下管线发布的数据服务。地图服务发布的工具可采用商业的ArcGIS、SuperMap或开源的Geoserver、Mapserver等GIS平台,发布的管线地图服务应符合OGC标准,以便于浏览和查询;应用服务则根据实际发布的内容进行选择发布平台。
服务层中的Token、反向代理服务以及应用层中的服务共享平台,则是整个系统正常流转的关键核心。Token是一个令牌,主要是用来验证用户的身份信息和权限操作。它的工作流程如下:根据特殊的值和时间,采用某种加密方式,为用户随机生成其他系统无法预知的特殊虚拟编码。当用户请求时,服务器首先检查口令是否正确,然后服务器采用同样的编码算法生成一个Token,两者匹配是否相等。当不匹配时,则拒绝用户的请求。
反向代理(Reverse Proxy)方式是指以代理服务器来接受Internet上的连接请求,并将请求转发给内部网络上的服务器;然后将从服务器上得到的结果返回给Internet上请求连接的客户端。此时代理服务器对外就表现为一个服务器。
通常的代理服务器,只用于代理内部网络对Internet的连接请求。在本系统中,对反向代理服务进行改造,用其代理内部局域网内的连接请求。在客户机上指定代理服务器,并将本来直接发送到Web服务器上的http请求发送到代理服务器上,代理服务器验证用户信息,通过后去Web服务器请求数据,将返回的结果经过处理,以流的方式再传送给客户机。工作原理如图2所示。
2.3 服务共享平台
服务共享平台的主要场景,以地下管线数据管理部门日常处理用户对地下管线数据的需求为出发点。地下管线数据管理部门拥有全市的地下管线的普查数据,建设或施工单位在规划、新建、施工时,需要向管理部门申请查看规划或施工片区地下管线的分布情况。管理部门审批申请,审批通过后需要将管线的分布情况反馈给申请者[2]。结合这一具体需求,制定业务流程如图3所示。
此系统主要是针对地下管线服务的管理,根据服务的访问权限,服务可分为自由服务和安全服务。自由服务主要是提供一些基础性的浏览或查询服务,不需要设置访问权限。安全服务则是地下管线数据等一些涉密数据的服务,需要使用者申请来获取服务的使用权限。主要功能有服务申请、服务发布、服务注册、服务申请审批。
服务申请是使用者根据实际的建设需要,申请查看管线的范围、管线的类型、使用日期段、使用用途等信息,提交给地下管线数据管理部门。
服务发布是在服务审批中,根据用户的申请信息,判断是否允许用户查询、浏览地下管线数据。如果允许浏览查询,则根据用户的申请信息,选择GIS或者其他服务平台,发布符合申请信息的地下管线地图服务、空间分析服务或其他第三方服务等。服务发布后,需要将发布的服务注册到反向代理服务器中。
地图服务注册是在发布服务的平台,一般缺少服务的权限控制。将服务的地址进行代理,注册到代理服务器上,通过代理服务器来控制和解析用户的访问权限。
服务审批是管理方根据用户的申请,选择对应的地图服务或其他应用服务,给用户进行授权。授权时根据用户、用户使用服务的时间段等信息加密生成用户-服务对应的Token信息。服务授权后地图服务可直接生成管线地图,供申请者在有效期内查看并浏览。应用服务则提供代理后的服务地址和Token信息,申请者可在第三方系统中使用。
审批后的服务地址必须和Token信息一起使用,不然将无法直接访问服务。因为在请求服务时,反向代理服务器首先进行拦截,根据用户请求的服务地址,获取用户访问服务名和服务类型,从而获取用户对服务的权限信息。
审批后用户在访问安全服务时,需要判断用户是否登录,并且只有拥有权限的用户才可以正常登录。登录后则向服务所在真实服务器发送http请求并返回数据。用户没有登录则需要判断用户对应Token信息是否合法和正确,如果在服务访问的有效期内,则向服务所在真实服务器发送http请求,将请求结果经过处理以流的方式反馈给用户。如若Token中用户访问的权限已过期,则反向代理服务会自动拒绝用户请求,弹出用户登录页面,控制用户的访问权限。无论自由服务或安全服务,都要通过反向代理服务器来代理。在请求时,反向代理服务器都需要对真实服务器返回的结果进行加工和处理,然后再返回展示给用户。
2.4 共享应用方向
2.4.1 面向管线单位的共享服务
管线单位对综合管线的需求主要包括日常巡检,新建、改建、扩建管线的选址、规划和建设,应急服务等情况。根据单位需求,提供定制服务,一般使用频率较高,对于局部较小面积的数据可免于审批等。
2.4.2 面向相关主管单位的共享服务
主管单位对综合管线的数据需求主要包括:某类管线的更新数据,应急服务,管线规划改造和提升等。根据需求提供定制服务,一般共享次数较少。通过共享数据,可促进相关主管部门重视地下管线数据更新,加强对管线权属单位竣工测量的督促。
2.4.3 面向建设、设计等其他单位的共享服务
数据需求主要为项目建设区域或路段的地下管线现状情况数据。根据单位需求,提供定制服务,如提供数据可能存在变化的情况需要告知,并要求该建设单位现场核实,核实后应向共享单位提供变化数据。
3 结束语
在大数据时代,数据资产作为重要的生产力资源,本文探讨了如何有效地发挥地下管线综合管理数据的作用,充分挖掘数据利用价值,减少重复的探查测绘投入,通过对外提供数据服务促进地下管线的数据更新,让地下管线数据进入使用和更新的良性循环。本文基于地下管线服务共享的基础上,提出了一套如何在服务共享的同时,增强对用户使用权限控制的解决方法,建立一套地下管线服务“共享”+“权限”的新模式,地下管线数据信息共享系统的建设将使地下管线服务共享迈上新的台阶[3]。
参考文献
[1] 李勇,王子启,刘甲军,等.地下管线信息系统建设中共享与保密的实践[J].地下空间与工程学报,2018(12):958-961.
[2] 吴思,陈勇,张云,等.城市地下管线共享平台建设模式探讨[J].测绘通报,2015(12):77-80.
[3] 彭靖,高爱强.地下管线服务共享发布管理[J].世界有色金属,2016(12):73-74.