.SuperMap流数据技术
SuperMap流数据技术方案基于Spark生态体系的SparkStreaming流处理技术框架,适合于处理流数据、历史数据等相关场景,并保证处理的容错性。SuperMap流数据方案将从流数据接入、流数据分析处理、流数据存储、流数据输出和流数据可视化实现物联网领域全流程的产品形态和技术支持。
..流数据接入
SuperMapiServer流数据服务(SteamingService)可以非常快速的接入常见的流数据源,包括各类移动终端、监控传感器、GPS设备等。iServerStreamingService的接收器(Receivers)负责流数据的接收,系统提供针对不同数据格式的解析能力(Reader)和多种传输协议(Transport)的处理能力,同时可以将Reader和Transport进行组装实现可变换的接收器。iServerStreamingService的接收器支持CSV、TXT、JSON、GeoJSON等常用数据格式,支持Socket、HTTP、JMS、Kafka等主流数据传输协议。同时iServer默认预配置了4种输入连接器提供各类数据接入,包括消息订阅、文件导入、HTTP轮询和WebSocket接入。
.2.流数据分析处理
针对海量流数据的处理和分析,iServerStreamingService提供了非常强大和丰富的实时分析处理工具,包括属性过滤器、空间过滤器(地理围栏)和转换器函数。属性过滤器属性过滤器用来基于属性表达式过滤地理事件。iServer提供了数值字段属性过滤和文本字段属性过滤。数值字段属性过滤支持常用的数值比较运算大于、小于、等于,如“[speed]20”,也支持复杂组合使用,如“([x]=-80[x]
.3.流数据存储
SuperMapiServer流数据服务基于iServer的Datastore实现流数据的高效存储,主要依赖于DataStore的Elasticsearch分布式流数据库,实现实时搜索、稳定、可靠、快速的功能需求。用户可以将流数据处理后的数据或者历史数据存储在DataStore中,通过流数据库的高效实时搜索能力,充分挖掘历史数据的价值,如针对历史数据实现轨迹回放、时间轴播放等。
.4.流数据输出
SuperMapiServer流数据服务可以在SuperMap各个端产品中动态跟踪相关目标,也可以对目标的位置变化行为进行告警或者通知。iServer通过输出连接器将实时流数据输出,包括输出到iServerDataStore实现历史数据存储;以消息方式实现输出;通过DataFlowService以WebSocket的方式向客户端发送流数据,为SuperMapiClient实现流数据可视化提供技术基础。
.5.流数据可视化
SuperMapiServer流数据服务可以将实时流数据输出接入到SuperMap各个端产品实现实时动态显示,用户可以直观的查看某一时刻当前目标数据的运行位置状态。用户也可以将更多的实时目标数据进行动态网格聚合显示,更适合海量多目标数据展示,通过不同的各位颜色饱和度以及范围包含数字直观表达流数据状态。同时也可以通过空间聚集状态实现密度分布和热度分布等可视化表达。
2.SuperMap流数据应用实践
本节沿用基于单机SuperMapiServer环境,为读者介绍流数据处理的整个过程。所使用到的工具和前端展示代码请提前至超图软件