基于AWS 微服务架构的车联网大数据分析系统的设计

2023-09-13 22:51:09徐瀚杰
电子技术与软件工程 2023年3期
关键词:数据流应用程序架构

徐瀚杰

(四川大学 四川省成都市 610065)

车联网是利用传感和视觉技术感知车辆的状态信息,并借助无线互联网使用大数据分析和分布式云计算处理实现交通运输的智能化管理,以及交通信息服务的智能决策和车辆的智能化控制。随着大数据和云计算技术的进步,在车联网领域中基于大数据的采集、存储、处理、分析、预测和可视化的技术方法,能够有效满足客户的需求。通过对车联网运营数据动态和实时的分析和挖掘,平台运营方能够更为精准的为客户提供增值服务。

基于微服务架构的车联网大数据分析系统,使用微服务架构的分布式服务治理平台,对数据进行采集、转换计算存储、检索分析并进行可视化页面展示。整个数据流使用分布式服务治理的基础设施进行统一的配置管理和服务监控,根据需要对微服务弹性扩容,使用消息中间件对数据采集服务和转换计算存储服务进行模块解耦,提高了数据流的吞吐量和处理速度,从而完成车联网大数据的存储和实时分析。使得本方案具备扩展性好、易于监控、便于管理、吞吐量大、处理迅速的特点。

本系统采用微服务架构并通过AWS 云组件设计和实现车联网数据的收集、处理和分析,并以可视化方式展示多个维度的数据分析结果。方案既对历史数据进行回测,同时对未来趋势进行预测,对于车辆物联网的大数据智能化分析具有重要的意义。

1 项目背景和应用场景

1.1 项目背景

大数据指庞大复杂的数据集,数据来源包括结构化数据、半结构化数据和非结构化数据,数据价值需要分析和挖掘,处理速度近实时,大数据的特征主要有四个方面,分别是数据规模大、数据流传快、数据类型多以及数据密度价值大。云计算是“分布式”计算的一种,通过数据的处理程序分解成多个微服务组件,然后通过分布式服务器系统进行处理和分析,最后得到结果再返还给用户。

车联网信息融合系统通过计算、通信和控制三大领域的技术,影响和改变着智能交通的发展。随着车联网数据的日益增长,以及大数据技术的不断发展,使得大数据在车联网信息融合系统的应用越来越重要。大数据中潜在的价值对提高车联网智能化、改善用户出行体验等方面有很大帮助。然而,爆发式增加的数据量使得车联网在数据的处理、存储和分析方面面临着挑战。本文以车联网行业数据管理与分析应用出发,以数据采集、数据传输、数据保存、数据处理和数据分析为流程,采用微服务的分布式架构,对大数据进行深度挖掘,抽取和统计出有效和有意义的信息,并动态对方案调整和优化。

1.2 应用场景

互联网大数据的发展使得物联网、云计算、移动互联网、车联网等网终数据紧密地连成一体。车联网是全球网络数据中重要的环节,车联网在对各种车辆行驶时的多方面数据采集后,全面分析驾驶员的操作状态、车辆自身的运行状态以及路况情况,最后用准确的数据表述出来。

在传统的中小型车辆物联网平台的日常运营中,往往采用的是与本地数据中心集群连接,数据在本地服务器中进行处理,相应的冗杂、容错以及灾备都集中在本地数据中心。在实时数据源呈现出爆发式的增长下,数据的获取和处理速度需要不断的提升,在可扩展性、冗余、容错、灾备等方面也遇到瓶颈,基于预测的可视化提供方面也难以适应数据爆炸的时代。

出于对面临问题的解决和应对未来发展的需要,平台将其数据分析通道解耦并使用云原生技术,用微服务架构的组件重新搭建分布式系统。系统能够满足以下需求:

平台需要承载运营车辆超过10 万辆,日订单数据数百万单。系统能够完成实时的数据摄取、处理、分析,这种数据获取具有科学性和准确性。系统可以实时的基于历史的可视化和基于趋势预测(机器学习)的可视化,能够随时对车辆的各种数据进行收集和使用。实现智能交通调度,实时确定用车需求量大的热点区域,引导空载的网约车过去哪里,可以保证提供精准的服务。根据预测(机器学习)估计用车需求量大的热点区域,引导空载的网约车提前准备。根据实时和预测的交通拥堵情况,为车辆推荐行车路线等。可以在不同分组中对数据表授予细粒度的访问权限,不同城市的运营和市场组只能看到自己所在城市的数据。设定预设监测指标阈值,可以在未达到指定阈值时发出警报并保持响应和处理的速度。可以按需配置组件和精准的构建采集和处理通道,根据热点和流量大小弹性的扩展或缩小系统容量和处理通道,既避免整体性能不足也避免过度配置,使成本处于受控状态。

2 系统的架构设计和方案应用

2.1 系统整体架构

在充分考量了具体的场景和应用环境,进行需求分析后,笔者设计了基于Amazon AWS 和Apache Flink 组件的微服务分布式架构来实现大数据分析系统。架构由提取、转换、加载(ETL)服务,分析服务,存储服务,可视化及智能决策服务4 部分组成。

在新的环境中,数据采集的数量和速度都大大提升,基于这种状况需要进行连续的数据采集,还要保证工作的负载要求,采用了Kinesis Data Firehose 组件服务作为摄取车辆IoT 数据、点击流数据和Web 订单数据等的工具,这样就能够保证系统在第一时间反应,可以说是近乎实时。在Kinesis Data Firehose 提取数据后,使用Lambda 转换数据,使用Apache Flink (Kinesis Data Analytics for Java)来分析和筛选数据以检测热点。在具体的分析和筛选后,使用Kinesis Data Firehose 将数据加载到列式数据仓库Redshift 中。QuickSight 用于大数据的可视化并构建可与组织中其他用户共享的控制面板。系统根据机器学习ML 进行趋势预测和智能调度决策,同时在监控指标未达阈值时通过SNS 向运营人员发出报警信息。

2.2 提取、转换、加载(ETL)服务

数十万个联网的车辆设备和传感器创建的IoT 数据连同点击流日志等流数据,需要连续实时采集。流数据通过读取大量较小的事件进行分类,IoT 设备和传感器不断发出 1 KB 有效负载连续写入流。然后按时间、事件量或特定段绑定流数据,以分配要处理的数据量,实时发出结果。流数据处理是采集高频热数据,实时转换和加载这些数据的较佳方案。

Kinesis Data Firehose 能够完成从数十万个来源中捕获、转换大量流数据,是一项提取、转换、加载(ETL)的服务。它将流式处理IoT 和点击数据以可靠方式捕获、转换和加载到数据仓库、数据存储和分析服务中。它同时调用无服务器、事件驱动型的计算服务Lambda 函数来转换传入的订单源数据并交付转换数据到目标地,并将其加载到Kinesis Data Analytics 和Redshift 等,这种分析和洞察力能够第一时间传达,可以说是近乎实时。

尽管Glue ETL 也能够进行相应的数据转换,代替数据转换功能,但是在批量处理环境中,ETL 任务间隔时间相对来说比较长,至少需要5 分钟,而这就超出了近乎实时的处理需求。Kinesis Data Firehose 则能够完成比较快的处理,间隔仅仅最短60 秒,实现了近实时的数据延迟。

在进行Kinesis Data Firehose 启用过程中,数据转换速度能够大大加快,Kinesis Data Firehose 能够对传入的数据进行相应的缓冲,并异步调用每个缓冲批处理的指定AWS Lambda 函数。转换后的数据从Lambda 发送到Kinesis Data Firehose 进行缓冲,最后完成目标的传送。

2.3 分析服务

由于实时数据源的爆发式增长,车联网大数据平台正以前所未有的速度获取着数据。无论是需要处理来自IoT 设备的传感器数据,移动应用程序和 Web 应用程序的日志数据,还是电子商务平台的订单数据,实时获取数据能够有助于平台和合作伙伴及时了解客户、组织和业务的实时动态消息。

Apache Flink 在本质上是一种处理数据流的开源框架和引擎。它的应用价值主要是来源于其能够提供功能强大的运算符,能够解决包括准确复制处理过程等核心流问题,这样能够大大的简化流应用程序,避免出现冗杂结构。Apache Flink 能够为数据流创造更好的环境,可以让数据流上的分布式计算具备数据分发、通信和容错能力。Kinesis Data Analytics for Java 使用无服务器的完全托管式Apache Flink 从串流数据中获得实时转换和分析。与此同时,能够以亚秒级延迟处理平台来自Kinesis Data Firehose 等数据源的数据,能够完成对具体时间的实时响应。下载AWS SDK、Apache Flink 和AWS 服务连接器,使用数据流和流运算符编写Apache Flink 车联网大数据分析的逻辑程序代码。应用逻辑程序数据流使用应用程序代码执行处理所依据的数据结构,数据不断地从源流向应用程序数据流,一个或多个流运算符用于定义对应用程序数据流的处理。将代码部署为持续运行的流处理应用程序后,部署的大数据分析应用程序将成为适用于Apache Flink 的Kinesis Data Analytics 应用程序,其本身还具备持久性状态和自动缩放功能。能够对源、目标位置、日志记录和监控层级等内容进行更改。

在预先设定指标的前提下,可以通过CloudWatch和SNS 监测在未达到指定阈值的情况下,完成警报发出动作,还能够保持响应和处理的速度。Kinesis Data Firehose 收集相应的数据,并且将数据传输到Kinesis Data Analytics,在Kinesis Data Analytics 中创建参考数据源以临时存储来自S3 的阈值,在这个过程中,还要完成特定计数与其对应的指标阈值的比较工作,如果并没有达到阈值,使用Simple Notification Service(SNS)进行相关通知的传递。

2.4 存储服务

系统会根据自身的需求,对存储流数据的Redshift数据仓库进行频繁访问,同时对数据源在S3 存储桶中做备份。在用Apache Flink 进行分析和筛选后,可将数据加载到列式数据仓库Redshift 中。系统平台启用Redshift 中的机器学习ML 功能在工作负载或并发用户活动各不相同的情况下提供高吞吐量和高性能。基于传入查询的运行时间和资源要求,平台利用复杂的算法来对其进行预测和分类,从而动态管理性能和并发性,同时帮助确定关键业务型工作负载的优先顺序。启用短查询加速 (SQA) 从控制面板等应用程序中将短查询发送到快速队列进行即时处理,启用自动工作负载管理 (WLM)使用机器学习来动态管理内存和并发性,有助于最大限度地提高查询吞吐量。平台还使用IAM 与Redshift 结合使用,允许用户通过 SAML 2.0 身份提供程序使用联合单点登录(SSO)访问数据仓库。部分收集数据放在S3 存储桶中,S3 存储桶是对象存储,存储所有结构化、半结构化和非结构化数据。S3 存储桶用作数据的备份位置。为了提升数据效率和控制成本,系统平台设定的12 个月的时间量后,这些文件将使用生命周期策略传输到 S3 Glacier 存储桶。

2.5 可视化和智能决策

在该系统的设计中,最重要的就是能够实现可视化和智能决策,这将是提供优质服务的最重要的方式。在可视化和智能决策功能中,系统能够在前期采集的数据处理中获得大量的信息,能够对上车和下车地点、乘客人数、路程时间、订单收入等进行全方位记录和分析,在相应数据的支持下,平台就能够通过具体的流数据进行网约车车队的运营管理,并且能够实现科学化安排。通过确定热点区域(目前对网约车需求量很大的区域),以此为基础,平台运营方就能够对未来的需求以及交通状况进行分析,并且对网约车进行引导,从而更好地完成闲置网约车的科学安排,避免出现资源浪费,同时提供优质服务。

在相应的数据过程中,能够获得近乎实时的处理结果,具体的结论将会通过QuickSight 的可视化和智能决策去展现。借助QuickSight,平台能够将其业务分析功能扩展到成千上万用户,并通过使用强大的内存中引擎(SPICE) 交付快速而敏捷的查询性能。

在相应的数据进行分析后,要有具体的展示面板,而这就是可视化的仪表板,为保证给使用者提供更安全的访问通道,使用Active Directory 对所有访问进行身份验证,这种方式能够让传输中和静止的数据都处于加密状态,从而保证信息的安全性。启用QuickSight Enterprise 版本配置为使用SAML0 和默认加密设置执行身份联合。不仅如此,不同的部门进行具体的仪表板查看,可以设置不同的查看权限,启用QuickSight Enterprise 版本对表实施行级安全RLS,能够实现此功能并让数据更加安全,从而提供更加优质的服务。行级别安全性 (RLS) 使QuickSight 平台能够基于和与数据交互的用户关联的权限以行粒度控制对数据的访问,这种访问更加精准。

平台借助机器学习ML 可持续分析所有数据异常(异常值),帮助确定业务指标的重大变化,例如销售额高于预期或下降。平台应用QuickSight 对数百万指标和数十亿个数据点完成科学的分析处理,完成后能够为决策者和运营者提供更好的帮助,从而实现真正的智能决策。随着大数据时代的带来,海量数据的收集和处理,将会产生科学的洞察力,而传统的数据分析方式是无法得到这些的,这就是大数据科学带来的好处。平台通过机器学习ML 从而能够对未来发展的趋势进行预测,启用ML 随机切割森林RCF 算法处理复杂的真实场景,预测其关键业务指标包括早高峰、节假日和季节性的趋势变化,这些显著的变化会成为车辆运营部署的重要信息。

3 结语

在大数据时代,车联网平台面临的是实时数据源的爆发式增长,系统以前所未有的速度获取海量数据,无论是需要处理来自 IoT 设备的传感器数据,或是移动应用程序和 Web 应用程序的日志数据,还是电子商务平台的订单数据。本文采用微服务架构通过AWS 和Apache Flink组件的分布式部署,实现近实时的大数据分析架构,使平台能够实时获取数据和分析,并通过机器学习等增强智能决策功能,实现平台运营方和用户实时了解业务的动态并运用智能分析辅助决策。

猜你喜欢
数据流应用程序架构
基于FPGA的RNN硬件加速架构
功能架构在电子电气架构开发中的应用和实践
汽车工程(2021年12期)2021-03-08 02:34:30
汽车维修数据流基础(下)
删除Win10中自带的应用程序
电脑报(2019年12期)2019-09-10 05:08:20
一种提高TCP与UDP数据流公平性的拥塞控制机制
LSN DCI EVPN VxLAN组网架构研究及实现
电信科学(2017年6期)2017-07-01 15:45:17
基于数据流聚类的多目标跟踪算法
一种基于FPGA+ARM架构的μPMU实现
北医三院 数据流疏通就诊量
中国卫生(2014年7期)2014-11-10 02:32:54
关闭应用程序更新提醒
电脑迷(2012年15期)2012-04-29 17:09:47