APP下载

基于知识图谱和微服务的智慧水利一张图系统实现

2021-08-27黄佳杰朱从飞

水利信息化 2021年4期
关键词:图谱检索水利

张 焱,肖 涵,黄佳杰,朱从飞

(宁波市水利水电规划设计研究院有限公司,浙江 宁波 315192)

0 引言

智慧水利建设是水利非工程措施的主要手段,也是新时代水利事业建设的重要抓手。随着全国智慧水利建设的不断推进,水利部门积累了大量水利信息资源,各地逐步建设了以水利数据物联监测获取为基础,以水利普查信息数据库为核心的各类专业业务应用系统,而将各类专业业务系统重点模块整合汇总,以地图化信息综合展示水利要素的智慧水利一张图系统已成为智慧水利建设的热点。但当前智慧水利建设仍存在着 3 个方面的突出问题:

1)水利大数据外部整合问题。不同系统建设之间信息分散,水利大行业及其交叉衍生学科部门之间大数据难以整合,存在信息孤岛现象。

2)水利大数据内部关联问题。目前行业内主要采用关键字搜索法,得到显性信息,但难以有效利用对象数据之间的关联关系,数据的可拓展性十分有限。

3)不少信息化系统建设仍然采用传统单块架构模式,存在着技术单一、系统不稳定、效率低下、拓展性低等问题。

对象关联的知识图谱检索技术能够有效利用对象间的关联关系,整合不同门类水利大数据,有效解决数据的外部整合和内部关联问题;微服务架构基于整体目标开发思想,能够有效提高信息化系统的稳定性和拓展性。在传统水利一张图的基础上,将知识图谱技术和微服务架构模式运用于水利领域,可构建整合不同门类水利大数据的综合平台系统(即智慧水利一张图系统),最终实现水利数据的智能检索和可视化展示。

1 微服务

微服务是一种架构模式,其核心思想是将单一应用程序划分为若干个小的服务,每个服务都围绕具体业务进行构建,运行在独立进程中,服务之间通过轻量级的通信机制进行沟通合作,以实现整体目标的开发[1]111。

与传统单块架构模式相比,微服务架构具有如下优势:技术上,服务组件化和技术多样化;业务上,各个微服务相互独立,提高了研发效率;组织上,可将大型开发团队打散,拓展性更好。

目前微服务结合云计算已在多个领域运用,如智慧图书馆系统的构建[1]112,智慧校园卡支付系统的再设计[2]等。

近年来,为响应国家“互联网 + 水利”的号召,智慧水利得到长足的发展,云计算和微服务在水利领域也得到了相关运用;陈亚军等[3]基于云计算微服务架构和 DevOps 理念开发了一套水利水电工程安全监测云平台,运用良好;针对当前技术环境很难建立一个公众化水文信息服务平台的实际现状,刘曙光等[4]运用云服务技术,搭建了基于云服务的集总式水文信息公众发布云平台。

2 知识图谱

知识图谱本质上是一种叫作语义网络的知识库,在图上用节点代表一个实例或者概念,节点之间的线边代表不同实例或概念之间的联结关系,内部通过一定的推理规则实现关系的推理和扩展。

在水利领域,水利数据存在着多源异构性的问题,大量相关数据的累积和传统关键字检索法使得数据的整理整合及可视化展示变得相当困难,同时数据对象内部之间的关联关系不清,也制约了检索的可拓展性和广度。将知识图谱技术应用于水利领域,一方面可以将水利大数据进行有效整合,将抽象概念和具体实例进行可视化展示;另一方面可以利用对象间的关联关系,扩展检索结果的广度[5]35–36。冯钧等[5]35–40采用自顶向下的构建方法,依次构建知识图谱的概念层与实例层,在此基础上实现基于推理规则的知识推理,并通过搭建水利信息知识图谱构建与检索系统,实现水利信息的智能检索与推荐;吕田田[6]采用Xitrum 框架建立水务知识图谱的构建系统,实现知识图谱在水务中的应用。

但是,知识图谱的应用涉及实体关系识别、知识融合、实体链接、知识推理等多种技术,技术要求高,实现难度大,目前水利领域的应用仍然更多停留在构建方面,没有得到更广泛的应用。

3 智慧水利一张图系统

3.1 系统框架

基于水利要素展示和专业服务接口实际业务需求,整合利用地区地理空间和水利专业等数据,充分结合水利相关物联前端感知设备,依托知识图谱智能检索和微服务架构的技术特性,构建内容覆盖全面、信息查询便捷、系统拓展便捷的智慧水利一张图,并为水利工程管理、水旱灾害防御、水资源配置治理等涉水业务提供统一的数据查询平台,支撑地区智慧水利整体建设。

智慧水利一张图系统总体技术框架包含 5 个层次,详情如图 1 所示。

图1 系统总体框架

5 个层次具体分析如下:

1)数据源接入层。数据源接入层由物联感知、已建系统与传输网络组成,其中:物联感知监测内容主要包括工情、气象、水位、雨量、视频等的监测,通过相关部门,以及横向和纵向部门已建系统应用程序接口 API 或数据库获取相关数据源;利用互联网搭建传输网络并传输相关数据。

2)基础设施层。基础设施层采用弹性伸缩的云服务技术,主要是各类云服务器,为系统提供计算资源,包括离线、实时、弹性计算等内容,以及提供充足的存储与良好的网络。

3)数据资源层。数据资源层主要由数据接入及预处理、资源池、共享交换服务组成,数据资源池一般包括 ODS 库、数据标准库和主题库。该层对现有数据资源进行深度梳理,利用数据仓库技术整合数据,并结合 RESTful 开发风格实现现有数据资源的查询服务,实现不同业务系统间的数据共享交换。

4)应用支撑层。应用支撑层主要由 GIS 与算法 2 个平台组成,其中:GIS 平台通过统一标准的服务接口为系统提供地图信息服务,包括地图发布、数据等服务;算法平台是基于水利、气象行业常用算法和实际业务系统需求建设的多业务系统通用算法平台,包括数据预处理、专业计算、信息查询等算法。

5)业务支撑层。业务支撑层由洪水、干旱、水利工程安全运行、水利工程建设、水资源开发利用、城乡供水、节水、江河湖泊、水土流失、水利监督等类型业务组成,各相关部门可在水利一张图平台的基础上,利用其共享数据和服务机制结合本部门的具体业务,搭建有特色的水利信息化系统。

基于微服务架构,将智慧水利一张图系统拆分为多个微服务,每个服务功能专一且易于拓展,服务间耦合程度低,多个服务互相协作构成整体系统,系统微服务框架如图 2 所示。系统开发采用基于Spring boot 技术实现微服务架构的云服务框架——Spring Cloud 框架,利用 Zunl 技术实现系统的负载均衡,选择使用 Eureka 搭建微服务注册中心,数据库采用 MySQL 数据库。

图2 系统微服务框架

3.2 图谱构建

智慧水利一张图系统主要通过以下步骤,采用自底向上的方法构建知识图谱:

1)知识获取和存储。知识获取主要解决水利数据资源的获取和存储两大问题。本系统所需的数据资源来自相关水利部门、实时物联和互联网相关的数据,针对结构化、半结构化和非结构化数据,分别采用 ETL 工具、爬虫技术和自然语言处理技术进行处理,保证数据的精度和可靠性。通过对象建模和数据库技术将零散的水利数据整合转换为水利对象数据,实现数据存储。

2)知识融合和验证。整合的水利对象数据往往具有分散、冗余、非完备等特点,因此须对整合的水利对象数据进行进一步的融合、补全、纠错、更新等,将不同数据来源的相同实体或关系进行处理,完成数据的前期整理工作,保证后续知识计算和应用的准确性。

3)知识计算和应用。知识计算和应用是知识图谱构建和应用中最核心的部分,结合水利行业专业知识,采用人工处理和计算机推理结合的方式,按照依次构建水利对象数据的概念层和实例层的顺序,完成从不同概念—概念、实例—实例和概念—实例关系的联结。具体来说,概念层的构建通过概念关系二分图映射方法完成确定水利概念节点之间的关联,实例层的关系则通过概念节点的关系进行映射,最后知识图谱运用基于推理规则的知识推理方法,将推理规则实例化,实现智能推理和扩展检索。

智慧水利一张图系统知识图谱的构建如图 3所示。

图3 智慧水利一张图系统知识图谱的构建

3.3 功能设计

结合业务需求,根据应用目标,智慧水利一张图具体系统功能框架图如图 4 所示。

图4 系统功能模块

具体功能模块分析如下:

1)信息地图浏览模块。主要为基础地理等 5 类对象进行地图展示,各对象均可通过切换辖区、流域和水资源分区视角的方式,查询特定空间范围内的对象信息等,实现数据资源要素的多维视角查看。以水利工程对象为例,可分别切换展示水库、水闸、泵站、山塘、堰坝、堤防等信息。

2)水利业务视角模块。本模块集成了水文和气象两大业务视角,其中:水文视角主要为水位站、雨量站、泥沙站等各类水文测站提供实时和历史数据展示与统计;气象视角汇聚了国内外权威气象预报机构发布的预报降雨数据,利用空间插值算法技术解析各防汛关注对象的未来精细化降雨,可用来支撑水灾害防御工作的前期决策。

3)数据维护模块。按照一数一源的原则,对系统数据进行维护更新,保证数据的唯一性、准确性。系统提供数据编辑维护的页面,用户根据自己的权限对基础、地图等数据进行维护管理,包括录入、更新、删除等编辑维护功能。

4)知识图谱数据检索模块。本模块包含综合图谱展示和数据快速检索 2 个部分,其中:综合图谱展示利用现有的水利数据构建出相应知识图谱,实现展示与查看;用户可利用数据快速检索功能查询想要检索的内容,系统返回图形化后的检索结果。

5)数据服务共享模块。数据服务共享模块按照流程分为服务申请、共享和监控等功能。普通用户在系统中申请使用服务,管理员审核通过后可使用对应服务的数据接口,同时系统对使用中的服务接口的运行状态进行监控。

6)系统后台管理模块。本模块主要包含用户、权限、服务和日志等管理,支持新增、编辑和修改用户信息,可为不同用户配置不同的访问权限等。

3.4 系统特色

智慧水利一张图系统主要有以下特色:

1)多源异构空间数据集成与管理。采用基于FME(空间数据转换处理系统)的流程化、标准化数据整编与入库一体化技术,通过流程化建模、数据加工、格式转换,实现空间数据标准化、规范化,统一空间定位基准、数据格式、表达形式、应用服务,提高地理信息应用效率。

2)微服务架构的资源服务交换与共享。针对传统水利数据服务模式的不足,基于微服务软件架构,以 SOA 为理念,构建服务管理平台,提供水利数据传输中枢,整合现有水利数据资源,提供专业的水利数据接口,实现系统间便捷、规范、灵活的数据交换与服务共享,方便水利相关业务应用系统的快速开发,为其他系统开发提供更为便捷的解决方案,同时还可以消除不同应用之间的技术差异,降低水利行业系统开发的专业门槛,实现水利数据、信息、应用、服务的高度整合。

3)知识图谱数据高效检索与可视化。系统利用知识图谱技术,将结构化后的数据以图表的形式呈现给用户,更加直观呈现水利数据中各个实体间的关联信息,同时,采用智能分词技术识别用户输入的自然语言中的查询关键词,明确检索意图,将准确精细的结果返回给用户。

4 结语

在对现有水利一张图信息化系统建设现状进行阐述的基础上,介绍了微服务架构和知识图谱相关技术特性,并基于此开发了智慧水利一张图系统。智慧水利一张图系统在实际运用过程中取得优良成果,并在多个业务应用系统(包括气象防汛应用服务平台、山洪预报预警平台和防汛大脑等)的建设中发挥了以下重要作用:

1)进行数据标准化和业务整合,系统实现了基础地理、水利工程、经济社会、监测站点、管理分区等水利相关信息的一站式和多视角查询。实现多重水利业务的高效整合,水利多源信息的一屏可视化。

2)基于微服务软件架构,系统拓展性、安全性、稳定性大大增强。可提供标准化地图和数据服务接口,支撑相关第三方应用,减少重复建设,节约系统建设成本。通过标准化接口,与现有业务系统实现互联互通,增强不同业务系统间协同工作能力。实现省、市、县、流域管理机构等不同层级用户的分权控制,提高数据资源的安全性。

3)基于知识图谱技术,实现平台数据关联可视化展示、水利业务数据的垂直搜索和高效应用,大大提高了系统的可操作性,从根本上简化了水利工作者获取相关信息的步骤。

由于数据量级巨大且结构复杂,系统数据整合能力和服务效率需进一步提升,应根据相关行业规范标准继续完善数据结构,结合实际水利业务精简工作流程,不断拓展智慧水利一张图系统业务的深度和广度。

猜你喜欢

图谱检索水利
中医药知识图谱应用现状分析及痴呆痰瘀互结证知识图谱构建探索
绘一张成长图谱
为夺取双胜利提供坚实水利保障(Ⅱ)
为夺取双胜利提供坚实水利保障(Ⅰ)
水利工会
水利监督
瑞典专利数据库的检索技巧
在IEEE 数据库中检索的一点经验
一种基于Python的音乐检索方法的研究
补肾强身片UPLC指纹图谱