SuperMap 9D 实时数据服务学习笔记

时间:2023-03-10 03:00:59
SuperMap 9D  实时数据服务学习笔记

SuperMap 在9月份发布了结合大数据技术的9D新产品,今天就和大家介绍下iServer9D中的实时数据服务。

1、技术框架

结合Spark的streaming流处理框架,将各种数据进行批量处理、存储。

SuperMap 9D  实时数据服务学习笔记

2、处理的流程

iServer9D的实时数据服务可以通过各种通讯协议对来自互联网、物联网等实时流式数据进行采集、存储和分析,iclient9d可以对实时数据服务进行订阅,iServer会通过WebSocket协议将采集的数据实时推送至订阅的客户端并进行可视化呈现。

1)输入的数据和输出的数据

SuperMap 9D  实时数据服务学习笔记

2)iServer 9D 的实时数据服务也提供了一下几种处理方法

  • 属性过滤: 对输入的实时数据进行属性筛选,只显示符合条件的数据
  • 空间过滤:对输入的数据进行地理空间上的过滤,如只显示某一区域范围的数据
  • 属性映射:对输入的数据进行空间上的位置进行判断(和前一次的位置进行对比),如下图的电子围栏判断

SuperMap 9D  实时数据服务学习笔记

3)部署实时数据服务

单机部署,iServer 9D内置spark框架 ,启动后,发布对应的实时数据服务和数据流服务即可。同时具备了实时数据服务器、数据流服务器、GIS服务器三个角色

集群部署,搭建iServer 集群服务后,在主节点发布实时数据服务,将数据流服务推送到各子节点即可

4)发布实时数据服务

需要一个后缀维.streaming的处理模型文件,里面定义了数据来源、过滤条件、数据输出等

SuperMap 9D  实时数据服务学习笔记

总结:

不同类型的实时数据,通过iServer筛选发布为数据流服务,客户端可直接在前端调用。也可以通过ES等读取iServer的大数据目录服务,发布成对应服务直接调用

SuperMap 9D  实时数据服务学习笔记

3、应用范例

1)启动iServer9D后,开启spark服务。添加到本地集群(相当于启动了spark的一个work节点)

SuperMap 9D  实时数据服务学习笔记        SuperMap 9D  实时数据服务学习笔记

2)访问http://localhost:8080,检查spark环境是否启动正常

SuperMap 9D  实时数据服务学习笔记

3)进入主节点iServer的管理界面,点击发布实时数据服务,数据来源选择流处理模型,勾选数据流服务(即对外输出的服务地址)

SuperMap 9D  实时数据服务学习笔记

4)数据流服务发布成功后,将在SuperMap iServer 服务列表页面中展示出来,单击{servicename}/dataflow 即可访问数据流服务 REST 页面,可以看到广播数据(broadcast)和订阅数据(subscribe)的接口, 订阅即可接收到正在进行流处理的数据

SuperMap 9D  实时数据服务学习笔记

5)使用iclient 前端加载实时数据

在iServer的 &iServer_home\iClient\forJavaScript\examples\leaflet, 编辑dataFlowService.html

SuperMap 9D  实时数据服务学习笔记

前端运行效果如下:

SuperMap 9D  实时数据服务学习笔记