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

1、技术框架

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

2、处理的流程

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

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

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

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

3)部署实时数据服务

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

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

4)发布实时数据服务

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

总结:

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

3、应用范例

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

        

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

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

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

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

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

前端运行效果如下:

SuperMap 9D 实时数据服务学习笔记的更多相关文章

  1. SpringCloud微服务学习笔记

    SpringCloud微服务学习笔记 项目地址: https://github.com/taoweidong/Micro-service-learning 单体架构(Monolithic架构) Mon ...

  2. Spring Cloud微服务学习笔记

    Spring Cloud微服务学习笔记 SOA->Dubbo 微服务架构->Spring Cloud提供了一个一站式的微服务解决方案 第一部分 微服务架构 1 互联网应用架构发展 那些迫使 ...

  3. 微服务学习笔记(1)——使用MagicOnion实现gRPC

    原文:微服务学习笔记(1)--使用MagicOnion实现gRPC 1.什么是gRPC 官方文档:https://grpc.io/docs/guides/index.html 2.什么是MagicOn ...

  4. 微服务学习笔记(2)——使用Consul 实现 MagicOnion(GRpc) 服务注册和发现

    原文:微服务学习笔记(2)--使用Consul 实现 MagicOnion(GRpc) 服务注册和发现 1.下载打开Consul 笔者是windows下面开发的(也可以使用Docker). 官网下载w ...

  5. 大数据 -- kafka学习笔记:知识点整理(部分转载)

    一 为什么需要消息系统 1.解耦 允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束. 2.冗余 消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险.许多 ...

  6. tensorflow拟合随机生成的三维数据【学习笔记】

    平台信息:PC:ubuntu18.04.i5.anaconda2.cuda9.0.cudnn7.0.5.tensorflow1.10.GTX1060 作者:庄泽彬(欢迎转载,请注明作者) 说明:感谢t ...

  7. docker入门与部署微服务--学习笔记

    最近公司进一步去windows,走向 linux+云化. 原来的一大坨windows虚拟机服务器都要转向linux, 既然走向linux的话,那么docker肯定是要涉足的. 故学习了docker入门 ...

  8. Angular.js之服务与自定义服务学习笔记

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. RTC实时时间系统学习笔记(一)---------------UART串口

    临近研三了,自己倾向于要找数字IC方面的工作,苦于教研室的项目一直都是调板子调板子调板子,真正用到FPGA的很少,,本着"工欲善其事必先利其器"的原则,在网上搜寻如何自学FPGA, ...

随机推荐

  1. Python3|ddt|unittest|浅议数据驱动测试

    目录 1.DDT简介 2.data装饰器 3.unpack装饰器 4.file_data装饰器 5.总结 1.DDT简介 Data-Driven Tests(DDT)即数据驱动测试.它允许您通过不同的 ...

  2. [开源]MasterChief 快速开发辅助类库

    C# 开发辅助类库,和士官长一样身经百战且越战越勇的战争机器,能力无人能出其右. GitHub:MasterChief 欢迎Star,欢迎Issues: 项目架构思维导图: 目录 1. 数据库访问 2 ...

  3. wGenerator代码生成工具

    由来 以前一直用window系列的操作系统,有不少可以用的代码生成工具,如:动软的代码生成器(.net),可以自定义模板,然后按需生成代码.后来用mac系统,发现好像没有什么太好用的生成工具,所以自己 ...

  4. VS2017、VS2019没有Setup安装项目(Visual Studio Installer)_解决方案

    前言: VS2010中有一个自带的安装部署项目,叫:Visual Studio Installer ,我们通常称为:setup项目,是一个用于自定义安装部署的项目方案.但是在VS2017,VS2019 ...

  5. 项目分层-----MVC

    MVC设计模式:modle层,view层,controller层 以前学习的servlet其实就是一个java类,或者说经过规范的java类,实际进行跳转时,还是要在web.xml文件中配置才能正常跳 ...

  6. ArcGIS API for JavaScript 入门教程[5] 再讲数据——Map类之底图与高程

    [回顾]前4篇交代了JsAPI的背景.资源如何获取,简介了数据与视图分离的概念与实现,剖析了页面的大骨架. 这篇开始,讲Map类. 转载注明出处,博客园/CSDN/B站/知乎:秋意正寒 目录:http ...

  7. devm_xxx机制【转】

    前言 devm是内核提供的基础机制,用于方便驱动开发者所分配资源的自动回收.参考内核文档devres.txt.总的来说,就是驱动开发者只需要调用这类接口分配期望的资源,不用关心释放问题.这些资源的释放 ...

  8. 深入理解 new 操作符

    和其他高级语言一样 JavaScript 也有 new 操作符,我们知道 new 可以用来实例化一个类,从而在内存中分配一个实例对象. 但在 JavaScript 中,万物皆对象,为什么还要通过 ne ...

  9. 一份非常完整的MySQL规范

    一.数据库命令规范 所有数据库对象名称必须使用小写字母并用下划线分割 所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来) 数据库对象的命名要能做到见名 ...

  10. Yii2 解决2006 MySQL server has gone away问题

    Yii2 解决2006 MySQL server has gone away问题 Yii2版本 2.0.15.1 php后台任务经常包含多段sql,如果php脚本执行时间较长,或者sql执行时间较长, ...