论文部分内容阅读
摘 要: 本文对基于管道完整性云服务平台分布式实时数据采集计算系统的设计方案、技术选型、关键技术等做了详细的研究,最终实现了基于ApacheZookeeper、ApacheKafka、ApacheStorm以及Redis的实时数据采集系统,解决了管道完整性云服务平台在面对海量数据并发以及复杂业务计算等场景下的吞吐量瓶颈,为基于大数据的管道完整性业务的深度数据挖掘、离线/在线数据分析提供了可靠的数据处理框架。
关键词:管道完整性 云服务平台 实时数据 Zookeeper Kafka Storm Redis
【中图分类号】TP 【文献标识码】A
1 引言
管道完整性管理是一个系统的、综合性的管理体系,是通过一定技术和管理体系对可能存在的对管道安全造成影响的危险点进行识别、预防及改进,从而避免事故的发生,始终保持管道在整个生命周期内处于完整、安全、良好的状态[2]。
云GIS,是指以云计算为架构的网络化、虚拟化、分布式、按需获取的地理信息系统。实质是将GIS的平台、软件和数据方便、快捷、高效地部署到云基础设施之上,能够以弹性的、按需获取的方式提供最广泛的WebGIS服务。云GIS连接智能移动终端,用户可在任意位置获取超大规模的GIS功能。云GIS将并行计算与GIS结合,引入并行数据库,组成集群系统,利用并行存储、查询、检索,处理等技术,有效提升传统GIS对海量空间数据的高效存储与处理。专业级云GIS平台建设内容包含硬件支撑环境搭建、系列标准建设、云资源池建设、数据服务体系建设、系列软件研发、应用系统建设[1]。
由于管道完整性管理的海量数据及空间可视化的需求,地理信息系统技术在管道完整性管理中的作用越来越大[4]。将云GIS引入管道完整性管理中,利用云服务高并发、分布式计算、分布式存储等特点实现对海量业务数据的高效处理,以此为基础实现对海量数据的深度挖掘,获取管道完整性管理中重要的数据和指标,使得在管道生命周期内每时每刻产生的业务数据能够真正为决策者提供有价值的情报。
2 关键技术
管道完整性云服务平台的分布式实时数据采集平台旨在解决海量的高并发数据流,实现低延迟响应处理,保证数据流的强时序性,实现复杂空间计算,并且分布式系统需要与集中式系统完全不同的系统架构。因网络会损失信息,所以需要软件进行恢复。当网络出现过载时,也必须容错恢复[5]。
2.1 高吞吐量消息引擎
管道完整性云服务平台面向长输管道完整性管理的各个环节,包括:管道巡检、管道应急、施工期管理、移动办公等多个领域,各个业务板块产生大量的实时数据,因此如何响应并处理这些海量数据成为云服务平台急需解决的问题。
Apache Kafka是一个开源消息系统项目,由Scala写成。该项目的目标是为处理实时数据提供一个统一、高通量、低等待的平台。它通过一种独一无二的设计提供了一个消息系统的功能, 解决了大规模分布式应用中数据传递的高效与稳定的问题,解决了从集中式向分布式采集架构过渡的难题[6]。
2.2 分布式流数据计算
地理空间数据的处理结果需要及时反馈给用户,例如对每次移动智能终端上传的巡检点数据,系统需要及时计算其与管道的距离,当超过某一阈值时,移动终端将及时收到服务器端的警报信息。面对海量的数据计算需求,传统的单一服务器、单一计算节点的方式无法保证计算的低延时及强时序性,因此如何实现实时地理数据的预处理成为云服务平台的重要问题。批量计算和流式计算适用于不同的场景,对于数据实时性要求不高,且数据越多,计算结果越准确的场合批量计算更合适,但对于实时性要求高,只需对最近部分进行处理分析的场合,流式计算有着明显优势[7]。
Storm是一个分布式的,可靠的,容错的数据流处理框架。Storm集群的输入流由一个被称作spout的组件管理,spout把数据传递给bolt, bolt要么把数据保存到某种存储器,要么把数据传递给其它的bolt。一个Storm集群就是在一连串的bolt之间转换spout传过来的数据。
2.3 分布式数据缓存
经过流式计算框架处理的地理空间数据可以持久化到各种物理存储单元中,比如传统的关系型数据库(Oracle、Sql Server等)以及NoSql数据库(MongoDB、Apache Hbase等),但是由于云服务平台的海量数据并发造成对其的预处理结果也具有高并发的特点,因此对其的持久化操作不应该直接访问数据库造成大量的IO读写开销。针对这一问题,需要设计一个分布式基于内存的数据缓存框架。Key-Value存储以其高扩展性和强一致性在如今热门的大数据时代中扮演着重要角色。而实现其扩展性重要的关键技术在于数据迁移机制的完善,数据迁移机制同时直接影响集群节点的负载均衡。
3 分布式实时数据采集平台设计
图1所示,分布式实时数据采集平台由客户端、服务协调组件集群、消息队列集群、流计算集群、消息缓存集群和数据库集群6个部分组成。
3.1 客户端
客户端作为业务数据的生产者主要由手持端设备和web系统组成,其产生的实时位置数据、报警数据、SCADA监控数据通过网络传输至分布式数据平台,在传输过程中,使用数字签名等技术对传输内容进行加密,保证传输安全。
3.2 服务协调组件
由于分布式数据采集平台由多台服务器组成,为保证各服务节点之前的高可用(HA),平台采用Zookeeper作为分布式协调组件,记錄各服务节点的元数据,实现服务节点间的心跳检测,确保整个平台在生产环境下的健壮性,防止由于网络抖动、服务器宕机造成平台无法正常对外提供服务。 3.3 消息队列集群
消息队列集群负责接收客户端产生的多种业务数据,平台采用Apache Kafka作为消息总线,Kafka是一个吞吐量极高的分布式消息系统,其整体设计是典型的发布与订阅模式系统。由于kafka的高吞吐量,可以确保来自客户端的每条数据被正确处理。由于业务数据的多样化,平台针对不同种类的业务数据建立不同的topic分类,并采用自定义分区策略(时间热度分区算法、哈希散列值分区等)将数据写入topic的不同partition中,同时为保证数据的安全性对每一个topic的partition建立多个副本,存储结构如下图所示:
3.4 流计算集群
实时流计算主要应用于两个场景:持续计算,一旦任务启动除非人为终止否则会一直处理到达数据;支持分布式计算,对大数据采用并行计算以降低单个处理器任务量[9]。由客户端写入kafka的业务数据,需要被实时高效、低延迟地处理并及时反馈给客户端,为满足这一要求,平台采用Apache Strom作为流式计算服务,以管道完整性云服务平台的智能管道巡检系统为例,Strom对不同巡检人员上传的巡检点位置数据进行快速处理,计算其超时/超速/超距等报警信息,其处理流程如下图所示:
1)KafkaSpout作为消费者订阅Kafka Topic,从Broker的partition中拉取消息。
2)GlobeBolt对原始数据进行预处理,并采用Shuffle Grouping作为数据分组策略,以保证Strom的并发处理效率,消除数据倾斜。
3)预处理后的数据同时发射至SocketBolt和GroupCalcuateBolt进行处理,SocketBolt负责将处理后的数据推送至Socket服务器保证客户端随时可以接收到实时数据,GroupCalcuateBolt负责对数据进行分组和业务计算,计算结果同样推至至Socket服务器,该节点采用FieldsGrouping策略,以保证具有相同key值的数据总是被同一bolt实例处理,实现数据的连续处理。
4)RedisBolt工作节点负责将GroupCalcuateBolt的计算结果写入Redis缓存,并在时间窗口内将结果进行持久化操作。
3.5 消息缓存集群
由于Strom时刻都在处理业务数据,因此采用直接将计算结果做持久化处理将造成大量的数据库IO操作,增加服务器开销,因此平台将计算结果以键值对的形式写入Redis内存数据库,再使用定时器任务批量将Strom计算结果写入MongoDB物理数据库。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB旨在为Web应用提供可扩展的高性能数据存储解决方案[10]。
为保证Redis的高可用性,需要在发生主节点服务器故障时能够迅速做到主从切换,将slave节点的角色变更为master,因此在集群主节点所在的服务器中开启Redis哨兵进程,以监控主节点状态。
4 系统在管道完整性云服务平台中的应用
基于Kafka/Storm的分布式实时数据采集计算系统实现了巡检轨迹数据采集、巡检三超报警(超速、超时、超距)计算、SCADA监控数据采集以及系统日志采集等功能,实现了海量业务数据的并发请求处理,结合ACK技术,保证了每一条业务数据在数据流中能够被正确及时地处理,由于系统实时地将热点数据存入Redis数据库,用户对热点数据的请求经过Web容器的拦截全部发往Redis,命中后返回给客户端,极大地提升了请求响应地速度。热点数据过期后自动持久化到MongoDB數据库,为进一步的离线分析生产基础数据。
系统目前已经计入全面测试阶段,下一步将在各油气储运单位推广应用。分布式实时数据采集计算系统将解决单线程阻塞式地处理方式造成的野外巡检轨迹点上传后不定时地丢失、SCADA监测数据高频率发送造成的web容器崩溃以及用户关心的热点数据由于数据量过大造成的前端页面响应时间长等问题,将极大的提升管道完整性云服务平台的健壮性和数据吞吐量,发挥大数据技术在管道安全方面的巨大作用。
5 总结与展望
5.1 系统特点
1)采用RestfulAPI结合Apache Kafka消息总线技术实现对客户端上传的海量数据采集功能,保证了各业务数据的完整性,并通过设置kafka的相关配置实现了集群的高可用。
2)采用Apache Strom做为流式计算框架,使得原本高延迟的地理空间数据计算可以在极短的时间窗口内完成,并且在计算工作节点中采用滑动窗口算法,保证了数据完整性和准确性。
3)系统采用Redis集群做为缓存解决方案,保证了内存数据的可靠性,减少了Storm直接访问数据库造成的额外网络传输开销和内存读写消耗。
4)系统采用HBase做为海量实时数据的存储解决方案,基于HBase的列式存储方案,极大的减少了IO操作,同时由于HBase是运行在Hadoop上的分布式可扩展的NoSql大数据仓库,因此为后期基于MapReduce的离线分析提供了便利的数据存储方式。
5.2 展望
管道完整性云服务平台分布式实时数据采集系统基于Apache Kafka、Strom、Redis等流行开源技术实现了海量业务数据的收集、计算、存储功能,该系统在长输管道、城市燃气、智慧城市等方面都具有广泛的应用前景。在下一步的工作中,将针对管道巡检关键点到达判定、人员车辆实时位置结合地理围栏技术的监控等业务做进一步的研究和开发,同时对管道完整性的智能化进行深入研究,为日常管道安全管理工作的开展提供了完整、准确、及时的技术和决策支持。
参考文献:
[1] 陶旸,刘昱君.面向行业深度耦合的专业级云GIS服务平台设计[J] .测绘与空间地理信息,2018:15-16. [2] 帅义,帅健,冯灿.基于B/S架构的管道完整性管理系统[J] .油气储运,2017,36 (04) :388.
[3] 王宇宁.基于Android的长输管道巡线系统的研发[D].西安:西安石油大学,2015:5-11.
[4] 徐杰,曾晟 刘亮等.基于APDM的管道完整性数据管理研究[J].天然气与石油,2016,34(05):76.
[5]陈天伟,彭凌西 基于ZooKeeper的一种分布式系统架构设计与实现[J].通信技术,2018,51 (01):87-90.
[6] 金双喜,李永 基于Kafka消息队列的新一代分布式电量采集方法研究[J].电网分析与研究,2018,46 (02):78.
[7] 周明阳 闫超 郭良浩等基于Storm的分布式实时信号处理系统[J].计算机应用,2017,37 (z1):69.
[8] 韦立,陈姗姗 基于Redis单位最大效益自适应迁移策略研究[J].计算机技术与发展, 2018,28 (10) :54-58.
[9] 李一辰,李绪志,阎镇 实时流计算在航天地面數据处理系统中的应用[J].微电子学与计算机, 2014,31(09) :15-19.
[10] 戴传飞,马明栋 MongoDB分页技术优化研究[J].计算机技术与发展,2018,28 (06) :98-101.
[11]孙大为,张广艳,郑纬民 大数据流式计算: 关键技术及系统实例[J].软件学报,2014,25( 4) : 839-862.
补充说明:本文没有基金项目资助。
作者简介:毛爱芹(1983 — ),女,安徽省淮北市,高级工程师,硕士学历(2008年毕业于中国矿业大学 地图制图学与地理信息工程专业)。主要从事地理信息系统建设、测绘、管道完整性管理应用等工作。
地址:陕西省西安市长安区 韦曲街道 神舟四路216号中煤航测遥感集团 邮编:710199
电话:029-89692117 15802980764
E-Mail:94209732@qq.com
创新点名称:管道完整性云服务平台分布式实时数据采集计算系统
创新点内容:基于分布式系统架构,结合高效的消息队列引擎和高吞吐量的流式数据计算引擎实现了地理实时数据的在线计算处理,处理结果使用Redis缓存集群,采用AppendOnly持久化方案,确保处理结果的完整性。系统能够实现各种实时数据(巡检轨迹点、SCADA监控数据、人员/车辆/设备位置等)的收集,并结合完整性业务场景对海量数据进行低延迟计算。该系统充分结合管道巡检、管道应急、数据监控管理的需求,适合国内管道完整性数据采集的推广,有较强的应用价值。
关键词:管道完整性 云服务平台 实时数据 Zookeeper Kafka Storm Redis
【中图分类号】TP 【文献标识码】A
1 引言
管道完整性管理是一个系统的、综合性的管理体系,是通过一定技术和管理体系对可能存在的对管道安全造成影响的危险点进行识别、预防及改进,从而避免事故的发生,始终保持管道在整个生命周期内处于完整、安全、良好的状态[2]。
云GIS,是指以云计算为架构的网络化、虚拟化、分布式、按需获取的地理信息系统。实质是将GIS的平台、软件和数据方便、快捷、高效地部署到云基础设施之上,能够以弹性的、按需获取的方式提供最广泛的WebGIS服务。云GIS连接智能移动终端,用户可在任意位置获取超大规模的GIS功能。云GIS将并行计算与GIS结合,引入并行数据库,组成集群系统,利用并行存储、查询、检索,处理等技术,有效提升传统GIS对海量空间数据的高效存储与处理。专业级云GIS平台建设内容包含硬件支撑环境搭建、系列标准建设、云资源池建设、数据服务体系建设、系列软件研发、应用系统建设[1]。
由于管道完整性管理的海量数据及空间可视化的需求,地理信息系统技术在管道完整性管理中的作用越来越大[4]。将云GIS引入管道完整性管理中,利用云服务高并发、分布式计算、分布式存储等特点实现对海量业务数据的高效处理,以此为基础实现对海量数据的深度挖掘,获取管道完整性管理中重要的数据和指标,使得在管道生命周期内每时每刻产生的业务数据能够真正为决策者提供有价值的情报。
2 关键技术
管道完整性云服务平台的分布式实时数据采集平台旨在解决海量的高并发数据流,实现低延迟响应处理,保证数据流的强时序性,实现复杂空间计算,并且分布式系统需要与集中式系统完全不同的系统架构。因网络会损失信息,所以需要软件进行恢复。当网络出现过载时,也必须容错恢复[5]。
2.1 高吞吐量消息引擎
管道完整性云服务平台面向长输管道完整性管理的各个环节,包括:管道巡检、管道应急、施工期管理、移动办公等多个领域,各个业务板块产生大量的实时数据,因此如何响应并处理这些海量数据成为云服务平台急需解决的问题。
Apache Kafka是一个开源消息系统项目,由Scala写成。该项目的目标是为处理实时数据提供一个统一、高通量、低等待的平台。它通过一种独一无二的设计提供了一个消息系统的功能, 解决了大规模分布式应用中数据传递的高效与稳定的问题,解决了从集中式向分布式采集架构过渡的难题[6]。
2.2 分布式流数据计算
地理空间数据的处理结果需要及时反馈给用户,例如对每次移动智能终端上传的巡检点数据,系统需要及时计算其与管道的距离,当超过某一阈值时,移动终端将及时收到服务器端的警报信息。面对海量的数据计算需求,传统的单一服务器、单一计算节点的方式无法保证计算的低延时及强时序性,因此如何实现实时地理数据的预处理成为云服务平台的重要问题。批量计算和流式计算适用于不同的场景,对于数据实时性要求不高,且数据越多,计算结果越准确的场合批量计算更合适,但对于实时性要求高,只需对最近部分进行处理分析的场合,流式计算有着明显优势[7]。
Storm是一个分布式的,可靠的,容错的数据流处理框架。Storm集群的输入流由一个被称作spout的组件管理,spout把数据传递给bolt, bolt要么把数据保存到某种存储器,要么把数据传递给其它的bolt。一个Storm集群就是在一连串的bolt之间转换spout传过来的数据。
2.3 分布式数据缓存
经过流式计算框架处理的地理空间数据可以持久化到各种物理存储单元中,比如传统的关系型数据库(Oracle、Sql Server等)以及NoSql数据库(MongoDB、Apache Hbase等),但是由于云服务平台的海量数据并发造成对其的预处理结果也具有高并发的特点,因此对其的持久化操作不应该直接访问数据库造成大量的IO读写开销。针对这一问题,需要设计一个分布式基于内存的数据缓存框架。Key-Value存储以其高扩展性和强一致性在如今热门的大数据时代中扮演着重要角色。而实现其扩展性重要的关键技术在于数据迁移机制的完善,数据迁移机制同时直接影响集群节点的负载均衡。
3 分布式实时数据采集平台设计
图1所示,分布式实时数据采集平台由客户端、服务协调组件集群、消息队列集群、流计算集群、消息缓存集群和数据库集群6个部分组成。
3.1 客户端
客户端作为业务数据的生产者主要由手持端设备和web系统组成,其产生的实时位置数据、报警数据、SCADA监控数据通过网络传输至分布式数据平台,在传输过程中,使用数字签名等技术对传输内容进行加密,保证传输安全。
3.2 服务协调组件
由于分布式数据采集平台由多台服务器组成,为保证各服务节点之前的高可用(HA),平台采用Zookeeper作为分布式协调组件,记錄各服务节点的元数据,实现服务节点间的心跳检测,确保整个平台在生产环境下的健壮性,防止由于网络抖动、服务器宕机造成平台无法正常对外提供服务。 3.3 消息队列集群
消息队列集群负责接收客户端产生的多种业务数据,平台采用Apache Kafka作为消息总线,Kafka是一个吞吐量极高的分布式消息系统,其整体设计是典型的发布与订阅模式系统。由于kafka的高吞吐量,可以确保来自客户端的每条数据被正确处理。由于业务数据的多样化,平台针对不同种类的业务数据建立不同的topic分类,并采用自定义分区策略(时间热度分区算法、哈希散列值分区等)将数据写入topic的不同partition中,同时为保证数据的安全性对每一个topic的partition建立多个副本,存储结构如下图所示:
3.4 流计算集群
实时流计算主要应用于两个场景:持续计算,一旦任务启动除非人为终止否则会一直处理到达数据;支持分布式计算,对大数据采用并行计算以降低单个处理器任务量[9]。由客户端写入kafka的业务数据,需要被实时高效、低延迟地处理并及时反馈给客户端,为满足这一要求,平台采用Apache Strom作为流式计算服务,以管道完整性云服务平台的智能管道巡检系统为例,Strom对不同巡检人员上传的巡检点位置数据进行快速处理,计算其超时/超速/超距等报警信息,其处理流程如下图所示:
1)KafkaSpout作为消费者订阅Kafka Topic,从Broker的partition中拉取消息。
2)GlobeBolt对原始数据进行预处理,并采用Shuffle Grouping作为数据分组策略,以保证Strom的并发处理效率,消除数据倾斜。
3)预处理后的数据同时发射至SocketBolt和GroupCalcuateBolt进行处理,SocketBolt负责将处理后的数据推送至Socket服务器保证客户端随时可以接收到实时数据,GroupCalcuateBolt负责对数据进行分组和业务计算,计算结果同样推至至Socket服务器,该节点采用FieldsGrouping策略,以保证具有相同key值的数据总是被同一bolt实例处理,实现数据的连续处理。
4)RedisBolt工作节点负责将GroupCalcuateBolt的计算结果写入Redis缓存,并在时间窗口内将结果进行持久化操作。
3.5 消息缓存集群
由于Strom时刻都在处理业务数据,因此采用直接将计算结果做持久化处理将造成大量的数据库IO操作,增加服务器开销,因此平台将计算结果以键值对的形式写入Redis内存数据库,再使用定时器任务批量将Strom计算结果写入MongoDB物理数据库。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB旨在为Web应用提供可扩展的高性能数据存储解决方案[10]。
为保证Redis的高可用性,需要在发生主节点服务器故障时能够迅速做到主从切换,将slave节点的角色变更为master,因此在集群主节点所在的服务器中开启Redis哨兵进程,以监控主节点状态。
4 系统在管道完整性云服务平台中的应用
基于Kafka/Storm的分布式实时数据采集计算系统实现了巡检轨迹数据采集、巡检三超报警(超速、超时、超距)计算、SCADA监控数据采集以及系统日志采集等功能,实现了海量业务数据的并发请求处理,结合ACK技术,保证了每一条业务数据在数据流中能够被正确及时地处理,由于系统实时地将热点数据存入Redis数据库,用户对热点数据的请求经过Web容器的拦截全部发往Redis,命中后返回给客户端,极大地提升了请求响应地速度。热点数据过期后自动持久化到MongoDB數据库,为进一步的离线分析生产基础数据。
系统目前已经计入全面测试阶段,下一步将在各油气储运单位推广应用。分布式实时数据采集计算系统将解决单线程阻塞式地处理方式造成的野外巡检轨迹点上传后不定时地丢失、SCADA监测数据高频率发送造成的web容器崩溃以及用户关心的热点数据由于数据量过大造成的前端页面响应时间长等问题,将极大的提升管道完整性云服务平台的健壮性和数据吞吐量,发挥大数据技术在管道安全方面的巨大作用。
5 总结与展望
5.1 系统特点
1)采用RestfulAPI结合Apache Kafka消息总线技术实现对客户端上传的海量数据采集功能,保证了各业务数据的完整性,并通过设置kafka的相关配置实现了集群的高可用。
2)采用Apache Strom做为流式计算框架,使得原本高延迟的地理空间数据计算可以在极短的时间窗口内完成,并且在计算工作节点中采用滑动窗口算法,保证了数据完整性和准确性。
3)系统采用Redis集群做为缓存解决方案,保证了内存数据的可靠性,减少了Storm直接访问数据库造成的额外网络传输开销和内存读写消耗。
4)系统采用HBase做为海量实时数据的存储解决方案,基于HBase的列式存储方案,极大的减少了IO操作,同时由于HBase是运行在Hadoop上的分布式可扩展的NoSql大数据仓库,因此为后期基于MapReduce的离线分析提供了便利的数据存储方式。
5.2 展望
管道完整性云服务平台分布式实时数据采集系统基于Apache Kafka、Strom、Redis等流行开源技术实现了海量业务数据的收集、计算、存储功能,该系统在长输管道、城市燃气、智慧城市等方面都具有广泛的应用前景。在下一步的工作中,将针对管道巡检关键点到达判定、人员车辆实时位置结合地理围栏技术的监控等业务做进一步的研究和开发,同时对管道完整性的智能化进行深入研究,为日常管道安全管理工作的开展提供了完整、准确、及时的技术和决策支持。
参考文献:
[1] 陶旸,刘昱君.面向行业深度耦合的专业级云GIS服务平台设计[J] .测绘与空间地理信息,2018:15-16. [2] 帅义,帅健,冯灿.基于B/S架构的管道完整性管理系统[J] .油气储运,2017,36 (04) :388.
[3] 王宇宁.基于Android的长输管道巡线系统的研发[D].西安:西安石油大学,2015:5-11.
[4] 徐杰,曾晟 刘亮等.基于APDM的管道完整性数据管理研究[J].天然气与石油,2016,34(05):76.
[5]陈天伟,彭凌西 基于ZooKeeper的一种分布式系统架构设计与实现[J].通信技术,2018,51 (01):87-90.
[6] 金双喜,李永 基于Kafka消息队列的新一代分布式电量采集方法研究[J].电网分析与研究,2018,46 (02):78.
[7] 周明阳 闫超 郭良浩等基于Storm的分布式实时信号处理系统[J].计算机应用,2017,37 (z1):69.
[8] 韦立,陈姗姗 基于Redis单位最大效益自适应迁移策略研究[J].计算机技术与发展, 2018,28 (10) :54-58.
[9] 李一辰,李绪志,阎镇 实时流计算在航天地面數据处理系统中的应用[J].微电子学与计算机, 2014,31(09) :15-19.
[10] 戴传飞,马明栋 MongoDB分页技术优化研究[J].计算机技术与发展,2018,28 (06) :98-101.
[11]孙大为,张广艳,郑纬民 大数据流式计算: 关键技术及系统实例[J].软件学报,2014,25( 4) : 839-862.
补充说明:本文没有基金项目资助。
作者简介:毛爱芹(1983 — ),女,安徽省淮北市,高级工程师,硕士学历(2008年毕业于中国矿业大学 地图制图学与地理信息工程专业)。主要从事地理信息系统建设、测绘、管道完整性管理应用等工作。
地址:陕西省西安市长安区 韦曲街道 神舟四路216号中煤航测遥感集团 邮编:710199
电话:029-89692117 15802980764
E-Mail:94209732@qq.com
创新点名称:管道完整性云服务平台分布式实时数据采集计算系统
创新点内容:基于分布式系统架构,结合高效的消息队列引擎和高吞吐量的流式数据计算引擎实现了地理实时数据的在线计算处理,处理结果使用Redis缓存集群,采用AppendOnly持久化方案,确保处理结果的完整性。系统能够实现各种实时数据(巡检轨迹点、SCADA监控数据、人员/车辆/设备位置等)的收集,并结合完整性业务场景对海量数据进行低延迟计算。该系统充分结合管道巡检、管道应急、数据监控管理的需求,适合国内管道完整性数据采集的推广,有较强的应用价值。