APP下载

时空大数据知识引擎系统设计与实现

2022-10-06唐天琪

现代测绘 2022年4期
关键词:引擎容器可视化

唐天琪,谈 帅,高 雅

(江苏省测绘研究所, 江苏 南京 210013)

0 引 言

大数据时代,地理时空数据的迅猛增长给应用理念、技术框架和服务形式带来挑战[1]。原国家测绘地理信息局在2017年颁布的《智慧城市时空大数据与云平台建设技术大纲》中提出,一套时空大数据包括市域全覆盖的历史与现状的基础地理信息数据、历史与现状的公共专题数据、智能感知数据和空间规划数据,要求建设知识引擎,并“通过提供不同层级能力的大数据分析工具,帮助用户完成对数据的深度挖掘,进而获取有价值的知识”[2]。

随着“互联网+”、大数据、云计算、人工智能2.0等的迅猛发展,以知识图谱和知识中心为代表的知识服务研究方兴未艾[3-5]。国内学者从基础地理知识服务[6-7]、图书馆大数据知识服务[8-9]等方面开展了研究,如张鹏程[10]、毛曦[11]等对智慧城市时空知识搜索引擎进行了探索,国外已有学者对知识流程的建立、管理进行了研究[12],如搭建Kepler[13]、Taverna[14]等系统,旨在增强地理计算和地理处理网络服务之间的相互作用关系。然而,面对智慧城市建设的不断深入,自然资源管理业务整合的迫切需要,对于地理国情普查、传感网、基础测绘等不同部门生产的数据进行分析和应用的需求越来越大,如何搭建统一的平台实现一站式管理是亟待解决的问题。

为此,本系统奉行“从模型到服务,一切皆服务”的理念,研究知识模型算法、知识服务容器、知识引擎等相互之间的关系,以B/S分布式系统架构为基础,利用并行计算与存储技术[15]、流程化定制技术等,开发了算法丰富、支持扩展、便于使用的知识引擎工具,为用户打造一站式分析流程体验,为智慧城市时空大数据云平台开展分析、挖掘和应用提供有力技术支撑。

本系统创新之处主要体现在以下3个方面:① 便利性,提供在线建模与分析的服务,既省去了购买第三方桌面软件的费用,又不需要开发人员进行安装,一举两得,大大缩短了开发的周期;② 多样性,提供了大量的时空大数据分析相关服务,用户进行在线建模与分析时可以根据自身需求,灵活的选择多种模型自由组合,该方法有效地改变了过去在一个软件中构建模型导出,再导入另一个软件进行分析的场景,极大地改善了用户的体验;③ 继承性,仅需简单封装即可将现有的第三方软件进行融合,实现一站式服务,如果用户出现新的需求,可以在提供的容器上进行二次开发。

1 知识引擎内涵及作用

根据《智慧城市时空大数据与云平台建设技术大纲》(2017版)要求,知识引擎相关概念逻辑关系如图1所示,具体表现为:① 知识模型通过封装,发布为知识服务,存储在知识容器中;② 不同服务提供方拥有多个容器;③ 多个服务提供方汇集在一个知识服务池中,并统一在服务注册中心进行注册,登记服务的名称、机器IP、端口号、域名等信息;④ 知识引擎帮助用户使用容器中的模型,组合成特定应用场景下适用的知识链,并按知识链从不同容器中自动调用和执行知识服务,对数据集进行一系列运算分析并得出最终结果。

采用容器封装的优点在于:① 解除了各服务之间的直接联系,每个服务只要考虑跟容器对接,无需考虑对其他服务的影响,能保持相互独立的状态;② 运维人员无需关注原有服务的具体细节,仅通过容器的开放接口对接新模型,显著提高了更新的效率;③ 容器支持服务即插即用,实现了热插拔,在后续扩充服务的过程中,原有的服务可以一直保持正常运行的状态,充分体现了服务的可持续性。

传统数据分析工作往往涉及多个软件的操作,例如,遥感数据的解译需要在专门的软件中完成,但与矢量数据的叠置分析工作可能需要在另一个软件中完成,这样的分析过程给用户增加了软件和时间的成本。

本文研发的知识引擎作为连接知识服务池和应用系统之间的纽带,是满足用户快速分析需求的可交互式工具,具备操作简单、可重复使用、功能强大等优点,具体表现在以下2个方面:

(1)集成性与可操作性:本系统开发的知识引擎集成了多个分析功能,用户根据自身需求,选择合适的知识服务,通过简单地拖拽操作即可绘制复杂的组合流程图,既降低了原先的开发成本又缩短了分析时间。

(2)共享性与可扩展性:搭建好的组合流程图可以进行保存,便于后期的重复使用和共享,或者在此基础上进行二次开发。例如,本系统提供的知识服务模式有效地融合了基础测绘数据与“地理国情分析”相关研究成果,将地理国情综合分析研究中的城镇发展专题分析方面的模型导入知识引擎中,与基础测绘成果结合,进一步丰富可视化展示效果。

2 系统设计

知识引擎运转的核心体现在以下2个部分(图2):① 流程设计器,主要负责前端模型的解译,将可视化的流程图形解译为流程引擎所能理解的元素,即通过前端的可视化定制方式形成标准的BPMN流程文件,并映射为引擎内置对象;② 流程引擎,负责帮助用户使用容器中的模型,组合成特定应用场景下适用的知识链,并按知识链从不同容器中自动调用并执行知识服务。

将系统功能模块设计为4个部分,即知识模型展示模块、流程定制模块、流程执行模块和流程管理模块。

2.1 知识模型展示模块

知识模型包括所有知识容器发布的知识服务,存储在模型库中,通过服务接口获取知识模型的服务元数据信息,根据元数据信息,将模型以树形结构的形式进行分类组织并展现出来,用户可以利用关键字进行筛选和查找。

2.2 流程定制模块

2.2.1 流程引擎设计

用户通过对节点(知识模型)的拖拽、组合和属性配置,绘制个性化组合流程图,每个知识模型具有不同的配置信息,通过模型的元数据动态生成参数配置表单,方便用户修改。为了保证流程引擎的标准化和可扩展性,实现跨业务、跨部门、跨平台的应用,流程引擎设计严格遵循BPMN2.0规范,通过统一的执行语义和格式,利用标准的图元,描述真实的流程发生过程。本系统设置了8个核心元素,分别是流程、节点、事件、任务、流程结构控制点、监听器、流程线和流程结构,如表1所示。

表1 流程引擎元素

2.2.2 基于Web服务的流转

本文的任务节点主要是外部的Web服务,流程引擎对Web服务的处理状态进行监控,当Web服务执行完成时自动流转到下一个节点。

2.3 流程执行模块

2.3.1 逻辑流程

流程引擎需要通过前端可视化工具(流程设计器)实现与用户的交互,通过封装复杂的后台程序,呈现给用户简单、易操作的界面,即用户只需根据自身需求选择相应的模型和流程元素,就可以画出较为复杂的流程图,其他计算都由后台完成。

流程设计器主要负责前端模型的解译,将可视化的流程图形解译为流程引擎所能理解的元素。其原理是通过前端可视化定制方式形成标准的BPMN流程文件,并映射为引擎内置对象。根据流程引擎的工作机制,如图3所示,将流程设计器的设计分为3步:① 可视化模型节点的生成和显示;② 流程的配置过程,对节点元素进行显示、拖动、绘制和属性配置,形成可视化的流程;③ 对配置的流程进行解译和转换,形成标准的BPMN格式,并持久化。

2.3.2 页面设计

整个系统界面分别由树形的知识模型面板、工具栏、流程绘制区、流程执行状态栏、模型参数配置区等部分组成,具体阐述见3.2小节。

2.4 流程管理模块

定制好的流程通过引擎保存在用户模型库中,并接入时空信息云平台中,具体功能设计分为查看、添加、新增、删除、执行5个基本方面。

(1)模型查看

分行显示模型缩略图、名称、创建时间、摘要信息等,支持根据模型名称进行查询。

(2)模型添加

通过在模型库选择要添加的模型,加入模型列表中。

(3)模型新增

用户在流程设计器中定制新模型后进行保存,输入模型名称和描述信息,即可完成新增操作。

(4)模型删除

从专题目录中删除指定的模型,对应的知识引擎模型库的模型不删除。模型库的模型从知识引擎的模型管理中删除。

(5)模型执行

模型执行模块包括模型的参数配置、执行状态监听、结果集管理。模型的参数配置实现了执行节点的参数配置信息;执行状态监听通过文本行的形式展示了流程在执行过程中的实时状态;结果集是模型执行后产生的结果数据,结果集管理用来维护结果集的信息,以及对应的数据集关系。

3 系统实现

3.1 开发环境

系统后台开发工具采用Eclipse,开发框架采用Spring MVC,开发语言为Java。前端开发工具采用WebStorm,使用React结合NoteJS的开发模式。Web地图开发使用ArcGIS javascript api 4.7。数据库采用Oracle、PostGIS,Oracle存储管理业务数据,PostGIS存储管理空间数据。

3.2 系统功能实现

时空大数据知识引擎系统界面如图4所示,界面由树形的知识模型面板、工具栏、流程绘制区、流程执行状态栏、模型参数配置区等部分组成。

根据第2章节中功能模块的设计思路,实现以下功能:

(1)知识模型展示

本系统已经在平台上搭建了两个模型节点容器:通用模型容器与专业模型容器,共包含32个模型节点。其中,通用模型容器中开发了聚合点分析、计算密度查找热点、追加数据、缓冲区分析、汇总属性等18个地理信息系统常用的空间分析方法;在专业模型容器方面,将江苏省省级基础测绘项目《江苏省地理国情综合分析—城镇发展专题分析》的成果转化为包括城镇空间格局分析、城镇化质量与规模综合计算模型等在内的10个节点,同时结合深度学习影像解译技术开发遥感影像分析节点3个,文本地理数据挖掘节点1个。

(2)流程定制

模型定制模块主要实现对知识模型的制作,用户通过拖拽控件(如开始事件、任务、执行方式等)到绘制区,同时可以对部分控件进行参数配置、算法选择、模块执行等操作。

(3)流程执行

模型执行模块包括模型的参数配置、执行状态监听、结果集管理。模型的参数配置实现了执行节点的参数信息配置;执行状态监听通过文本行的形式展示了流程在执行过程中的实时状态;结果集是模型执行后产生的结果数据,结果集管理用来维护结果集的信息,以及对应的数据集的关系。

由系统提供的知识服务遵循OGC(Open Geospatial Consortium开发地理信息联盟)的标准WPS(Web Processing Service网络处理服务)规范,因此,用户在选择模型时,系统通过在线请求获取服务的元数据信息,自动生成参数配置表单。例如,通过请求DescribeProcess方法获取“城镇占地面积计算”模型的元数据,如图5所示。利用XML解析器,把相关的元数据信息转换为JSON对象,最后通过表单生成器生成表单,如图6所示。

(4)流程管理

用户定制流程后,通过引擎保存在用户模型库中,用户可以对自己定制的模型进行添加、删除、修改信息等操作。

3.3 应用实例

3.3.1 实验数据

实验数据为地理国情普查中2016年淮安市企业经济数据和地理国情院落数据。本系统旨在打通基础测绘、地理国情普查等数据之间融合的技术道路,后期会根据实际生产需求进一步扩充实验数据。

3.3.2 实例展示

以构建土地产能分析模型为例,如图7所示,定制分析流程为:① 开始事件;② 空间聚合分析服务;③ 计算分析服务;④ 结束事件。

两个服务任务都是调用已经封装好的WPS服务,即聚合点分析和计算分析,根据用户选择的企业经济数据和对应年份的地理国情院落数据,进行空间聚合分析和分类统计,结束任务后得到淮安市以院落为单位的企业效益与占地面积之比,该结果可作为其他定制流程的数据源进行可视化展示或者其他应用,将分析结果按照属性字段“平均产值”进行分级设色可视化展示,颜色越深代表土地效能越高。

从分析结果来看,土地效能最高的是淮安润尔华化工有限公司,如图8所示。在得到分析结果后,可以将该模型进行封装并发布为服务,只要有相同需求出现,就可以直接调用该服务,选择需要分析的数据即可轻松得到分析结果。

3.3.3 应用优势

按照传统思路,上述实例需要先将数据导入ArcGIS中,分别进行聚合点分析和计算分析,该过程需要经历较多的操作步骤,而本系统只需简单地拖拽即可实现同样的效果。此外,在分析完成后的可视化过程中,相较ArcGIS相关软件需要多步操作才能看到最终效果的情况,用户通过左侧的面板参数设置(图8),即可在右侧直观看到可视化效果。

综上所述,时空大数据知识引擎系统有效避免了过多复杂的操作,提高了分析效率,改善了用户体验,并且结果和模型都可以进行灵活调用,为地理国情监测、生态环境监测等数据的应用提供了新的思路。

4 结 语

本文研究将时空分析算法和模型发布为服务,部署在知识服务容器中;定义知识服务接口,接入用户和第三方的空间分析算法与模型,不断提高知识服务能力;设计分布式知识容器架构,形成知识服务池,建立知识服务注册与发现机制,开发流程引擎与流程设计器,支持用户根据需求在知识服务池中选择知识服务,进行定制与流程化。今后对智能感知数据进行探索,如实时交通数据等,进一步提升从模型到服务的转变能力。

猜你喜欢

引擎容器可视化
江阴市“三个创新”打造危化品安全监管新引擎
基于CiteSpace的足三里穴研究可视化分析
自然资源可视化决策系统
思维可视化
自然资源可视化决策系统
新海珠,新引擎,新活力!
车坛往事4:引擎进化之屡次失败的蒸汽机车
难以置信的事情
液体对容器底及容器对桌面的压力和压强
取米