1、经纬天地Survey World2023年第3期No.320230引言随着自然资源部的组建,自然资源工作正趋向科学化、信息化和集中化管理,其中一项重要工作是对自然资源进行全方位、精细化的调查监测1。近年来,各级自然资源部门为了实现国土调查、地籍调查、森林调查、水利资源普查以及地理国情普查等调查工作,相继开发了各自的调查系统,但这些系统的调查任务、内容、成果标准以及所属部门等各不相同,导致系统间数据难以共享和交换、重复建设严重、信息资源浪费等2。因此,构建高性能、高通用,集调查举证、核实、处置和归档、数据共享和交换为一体的全覆盖、全流程的自然资源调查系统势在必行。为实现上述目标,在搭建自然资源调
2、查系统时,需充分考虑跨系统服务接口的兼容性、服务的动态可扩展性以及访问的高并发性。而当下流行的微服务架构恰好能够解决这些问题。微服务架构是在面向服务架构(service-oriented architecture,SOA)的基础上进行升级,可将独立的功能组件拆分为多个小型的微服务,每个小型的微服务可以解决一项业务功能,并且由于微服务体量小、结构单一,便于开发和维护,让开发部署工作变得更加简化和高效。当系统访问量增大或者业务流程需要修改时,微服务框架能提供动态的服务扩展能力,快速地扩展服务集群规模。本文通过实际调研,利用 GIS、云计算以及移动互联等先进技术,设计并开发了微服务架构下的自然资源调
3、查系统。系统采用领域驱动设计方法,将自然资源调查业务、成果共享以及系统集成等功能划分成细粒度的微服务,从而实现服务间的低内聚和高耦合。在此基础上,系统还可以根据实际业务调查需求,通过调用微服务,快速实现相关功能的微服务框架下的自然资源调查系统建设研究李金玲(烟台市福山区自然资源局,山东 烟台 265500)摘要:为实现自然资源调查系统数据共享交换、业务高效处理、服务动态可扩展,提出利用微服务框架,结合GIS、云计算等技术搭建系统的建设思路。详细阐述了系统微服务框架设计、微服务接口设计、业务功能微服务化设计以及功能实现。微服务技术框架下的自然资源调查系统能够承载海量多源异构的自然资源调查成果数据
4、,优化部门间自然资源调查业务流程,从而提高自然资源调查管理的工作效率。关键词:自然资源调查系统;GIS;微服务中图分类号:P208文献标识码:A文章编号:2095-7319(2023)03-0090-04Research on the construction of natural resources survey systemunder microservices frameworkLI Jinling(Fushan District Bureau of Natural Resources,Yantai 265500,China)Abstract:In order to realize th
5、e sharing and exchange of data,efficient processing of business and dynamic expansion of service ofnatural resources survey system,this paper puts forward the construction idea of using oservice framework and combining GIS andcloud computing technology to build the system.In this paper,the system mi
6、croservice framework design,microservice interfacedesign,business function microservice design and function realization are described in detail.The natural resource survey systemunder the framework of microservice technology can carry massive multi-source heterogeneous data of natural resource surve
7、yresults,optimize the business process of inter-department natural resource survey,and improve the work efficiency of natural resourcesurvey management.Key words:natural resources;investigate;GIS;microservice收稿日期:2022-04-12作者简介:李金玲(1984),女,山东烟台人,本科,高级工程师,主要从事土地管理专业。E-mail:906月组合,让系统更加灵活和可拓展。1系统微服务构建
8、原则1.1服务间需低耦合,微服务内部需高内聚在微服务架构中,服务之间的松耦合是非常重要的。一方面,服务之间应该低耦合。每个服务应独立于其他服务运行和修改,互不干扰,以便在不影响其他服务的情况下,快速迭代和部署每个服务;另一方面,服务内部应该高内聚。服务内部的代码、数据结构和数据库等元素,都应该围绕这一功能紧密整合,使得服务更易于理解,更易于维护,并有助于保持服务的小型和独立性3。1.2采用领域驱动设计方法确定微服务边界领域驱动设计是一种软件开发方法,重点关注核心领域和领域逻辑。在微服务中,使用领域驱动设计可以帮助我们确定微服务的边界。这种方法可以更清楚地理解业务需求,找出业务领域内的有界上下文
9、,并以此来划定服务边界,创建高内聚、低耦合的服务。1.3减少微服务间的数据流量和调用微服务之间的通信和数据传输是必要的,但过多的通信和数据传输会导致性能下降,增加系统复杂性,甚至导致错误。为了减少这种开销,微服务设计时要尽可能保证其独立性,即每个服务都应该有自己的数据库,以避免不必要的数据同步。同时,尽可能地减少服务之间的直接通信。2总体设计2.1微服务框架设计微服务架构中服务之间是端到端订阅方式,具有独立的业务逻辑和可扩展部署机制,其他微服务或客户端可通过服务接口调用该服务,从而实现微服务的分布管理。微服务架构最大的优势是可以提高系统的伸缩性,实现业务服务的动态部署和扩展。自然资源调查微服务
10、系统是基于开源的OpenShift 容器平台进行开发和设计的。系统微服务框架结构包括五大核心层:支撑层、数据资源层、微服务层、应用层以及表现层。两侧是保障平台安全稳定运行的法律法规、标准规范体系和信息安全、运维保障体系。微服务框架设计示意图如图 1 所示。图 1系统微服务框架设计示意图(1)支撑层是依托市级自然资源政务云提供的计算资源、存储资源以及安全资源,在此基础上部署平台的软件系统,在自然资源内网、政务网以及互联网上进行运行,同时内网和其他网络物理隔离,确保数据安全。李金玲:微服务框架下的自然资源调查系统建设研究Web Service RESTful91经纬天地Survey World20
11、23年第3期No.32023(2)数据资源层是平台运行的数据支撑,其中地理信息数据库是通过服务调用的方式,接入地形图数据、影像图数据以及地名地址数据等。自然资源调查数据库是系统需要的调查数据,包括土地利用现状调查、土地整治调查、违法建设用地调查、矿产资源调查、地质灾害调查以及森林资源调查等。自然资源巡查数据库包括巡查人员、巡查路径、巡查任务以及历史轨迹等数据。文档资料数据库主要包括文档、照片以及视频等数据。Redis 缓存数据库是用来存储常重复使用的缓存数据。五大核心库共同构建了自然资源调查数据资源库,为应用层提供数据支撑。(3)微服务层向上提供统一的数据操作接口,向下通过微服务数据读取接口实
12、现数据的读写操作,同时还利用领域驱动设计方法,将业务功能分解成细粒度服务,并部署在服务器 Nginx 中,实现微服务集群。(4)应用层是平台的应用窗口,通过 API 网关实现微服务和前端客户端连接,从而实现相应的业务功能,如数据管理、成果展示、调查业务全过程管理、移动巡查以及共享交换管理等。(5)表现层是为自然资源部门管理人员和工作人员等不同用户提供不同形式的表现端窗口,主要包括桌面 PC 机、平板电脑以及智能手机等。2.2微服务框架详细设计微服务框架详细设计主要包括数据库设计、领域驱动设计、微服务接口设计、服务注册中心设计以及网关设计等。下面以领域驱动设计和微服务接口设计为例进行详细地介绍。
13、2.2.1领域驱动设计领域驱动设计是微服务架构中用于了解和解决复杂业务问题的一种策略。它将系统分解成多个有界上下文,每个有界上下文都对应一个特定的业务领域。然后,为每个有界上下文设计和实现一个或多个微服务。在自然资源调查业务上,领域驱动设计流程如下:(1)确定领域。在自然资源调查中,可能的领域包括土地调查、水资源调查、矿产调查等。每一个领域都可以看作一个单独的有界上下文;(2)了解业务过程。通过深入讨论和了解每个领域的业务过程,建立业务领域的领域模型。如在土地调查中,可能需要收集土地的类型、地理位置、面积、用途等信息;(3)建立领域模型。基于了解的业务过程,创建领域模型。领域模型是对业务领域的
14、抽象表示,包含业务领域中的实体、对象、聚合、事件等;(4)定义微服务。每一个有界上下文可以对应一个或多个微服务。在定义微服务时,需要考虑微服务的职责、需要提供操作,以及微服务之间的交互方式。如土地调查微服务可能需要提供添加新的土地记录、查询土地信息等操作,与其他微服务的交互可能包括接收新的土地调查任务、向报告微服务提供土地调查结果等;(5)设计和实现微服务。确定了微服务之后,就可以开始设计和实现微服务。这包括选择适合的技术栈、定义数据模型、实现业务逻辑、设计微服务接口等4。2.2.2微服务接口设计微服务通过接口与外界交互,因此接口设计对微服务的易用性和稳定性至关重要。常用的接口设计方式包括RE
15、STful API、GraphQL API 等5,本文采用 REST 方式实现微服务接口。根据业务需求,本文设计了 4 种微服务接口模式:(1)数据共享设计模式。在此模式中,每个微服务都拥有自己的数据库并负责维护自己的数据模型。微服务之间的数据共享不是通过直接访问数据库实现的,而是通过 API 接口实现;(2)聚合器设计模式。通常用于处理来自多个微服务的数据,并将其提供给客户端。聚合器作为一个中间层,接收来自客户端的请求,然后聚合多个微服务的响应并返回。这可以减轻客户端的负担,使其无须关心如何从多个微服务获取数据,同时还能提高系统的性能和响应时间;(3)处理局部失败设计模式。在分布式系统中,部
16、分服务可能会出现故障。处理局部失败的模式就是为了确保整个系统在部分服务出现故障时仍能继续运行。如当调用一个微服务的请求失败时,可以返回预定义的默认值或者错误信息,而不是让整个请求失败。这需要在设计微服务的时候考虑到错误处理和容错性;(4)异步消息设计模式。在某些情况下,请求/响应模式可能无法满足需求,如处理时间较长或者需要在多个服务之间进行通信时,异步消息设计模式通过使用消息队列,使得微服务之间可以异步发送消息。这种模式可以提高系统的可扩展性和响应性,同时还能降低微服务之间的耦合度。自然资源调查业务统计聚合器设计模式示意图如图 2 所示。2.3功能微服务设计系统功能微服务化中,要注意过度零散的
17、微服务化容易增加服务间网络通信开销,增加服务部署和管理的难度6。系统以自然资源调查成果展示、共享以及调查业务管理为目标,以地理信息数据、自然资源调查数据和巡查数据等为信息来源,实现自然资源调查数据管理、成果“一张图”展示、调查业务全过程管理、移动巡查管理和成果共享管理等,按照领域驱动设计方法,对平台的业务领域进行微服务化拆分。图 2自然资源调查业务统计聚合器设计模式示意图926月系统功能微服务化结构设计示意图如图 3 所示。3系统实现(1)数据管理功能实现了自然资源各类数据的编辑、质检和入库工作,为业务办理提供数据支撑,如数据编辑功能能够对数据进行新增、修改、删除等操作。(2)“一张图”展示实
18、现地理信息和自然资源调查图斑信息在统一坐标下叠加显示,二维、三维一体化显示以及时空显示,还可以进行点选查询、空间查询统计等,结果以柱状图、散点图等方式进行动态展示。自然资源调查业务全过程管理实现了调查任务从创建调查图斑、下发调查图斑、调查图斑信息填写、核实调查图斑信息到调查图斑提交全过程管理。对外服务集成管理是利用微服务技术框架,将原有的调查系统有效进行集成,从而实现自然资源调查统一管理7。(3)移动巡查管理实现了外业调查人员接收调查任务、数据采集以及日常巡查等功能。移动巡查任务接收管理可以快速接收上级下达的调查任务,并开展调查作业。数据采集是对调查监测图斑对应区域内的信息进行采集。日常巡查包
19、括巡查任务和人员安排、巡查路径设计、历史巡查轨迹等功能,辅助调查人员进行日常巡查工作,确保调查监测区域全覆盖、无遗漏。4结语本文基于微服务框架搭建了自然资源调查系统,探讨了微服务构建的原则、框架设计和详细设计。微服务间的通信和数据交换采用 REST 服务接口,对数据存取、业务处理以及共享交换等功能采用多节点集群的方式,提高服务的稳定性、计算性以及高并发性,有效提高了平台的扩展需求。同时也存在以下难点:(1)业务功能微服务化边界判断的复杂性;(2)在提升平台性能、缩短交付周期的同时,系统集成开发和调试的难度增加。下一步系统将重点研究微服务间通信能力强化和优化自然资源调查基于领域模型的业务流程设计
20、等问题,进一步提高自然资源调查业务的效率。参考文献:1张志刚,尤春芳.基于3S技术的自然资源一体化监测调查体系探索J.北京测绘,2019,33(4):476-479.2ZHUANG Shaoqin,ZHAO Xingshuo,LI Chenyuan.Dimension and temperature of the spatial planningJ.CityPlanning Review,2020,44(1):9-13.3王文杰.基于WebGIS的自然资源调查系统建设与应用D.山东:山东科技大学,2019.4郭栋,王伟,曾国荪.一种基于微服务架构的新型云件PaaS平台J.信息网络安全,2015(11):15-20.5杨强根,王晓蕊,马维峰,等.基于微服务架构的地质灾害监测预警预报系统设计J.地球科学,2021,46(4):1505-1517.6林晓菲.微服务架构在国土空间基础信息平台建设中的应用J.江西测绘,2020(3):50-53.7徐文海,谭勇,姚德懿.自然资源统一确权登记的探索与实践J.国土与自然资源研究,2018(3):4-9.图 3系统功能微服务化结构设计示意图李金玲:微服务框架下的自然资源调查系统建设研究93