大数据应用实践3:数据湖泊之海量视频分析

为大家介绍几个个业界大数据、云计算的实践案例。

VADL(Video Analytics Data Lake,视频分析数据湖泊)可以看作物联网(IoT)领域中数据量最大、网络与服务器负载最高的一种形式的传感器数据分析与处理系统。VADL的应用领域相当广泛,例如:

(1)智能停车场(Smart Parking)

(2)智慧交通(Smart Transportation)

(3)智能零售(Smart Retailing)

(4)平安城市(Smart City & Smart Safety)

(5)智能电网、智能勘探、电信等

以智能零售为例,星巴克通过视频监控与分析系统可以判断在信用卡交易中是否存在雇员欺诈(Employee Fraud)行为。其背后的逻辑如下:结合收银台与监控视频,当任何一笔信用卡交易中无顾客出现在视频中,则可推断为疑似雇员欺诈。

更为复杂的海量视频分析应用场景还包括视频搜索引擎(人脸识别、车牌检索)、视频舆情分析(用户生成视频监控、检索,社会舆论导向、趋势分析等)。

在VADL案例中,我们着重解决如下图所示的几大问题:

大数据应用实践3:数据湖泊之海量视频分析_第1张图片

图1:在云&大数据背景下VADL系统的挑战

(1)如何快速提取数据(Data Ingestion)

(2)如何实现多级时延数据分析(Multi- latency Analytics)

(3)如何实现可扩展的数据存储(Scalable Storage)

(4)如何搭建在云平台之上(Cloud Readiness)

(5)如何实现管理、编排与监控的自动化(M&O Automation)

下图中展示的是VADL系统的整体架构技术栈视图。其中最主要的分层(自上而下)逻辑功能模块如下:

(1)展示层:数据可视化

(2)应用层:数据分析、集群管理监控

(3)数据处理层:视频导入、流数据处理

(4)数据存储层:视频数据存储

(5)基础架构层:云基础架构

大数据应用实践3:数据湖泊之海量视频分析_第2张图片

图2:VADL整体架构及逻辑模块的技术栈

以上的五层逻辑功能模块基本上逐一对应地解答了在图1中所提出的五大问题。但是它们之间的通过数据处理流程而连接的关系还没有清楚地表达出来。因此,在图2的技术栈视图基础之上我们又把数据按照它们在VADL系统中“流过”的生命周期分为如下五大阶段:

大数据应用实践3:数据湖泊之海量视频分析_第3张图片

图3:VADL的组件及数据与业务流程

(1)数据源(Data Sourcing)

(2)数据导入(Data Ingestion)

(3)工作使能:M&O + 数据处理分析 + 数据存储 + 云基础架构

(4)洞见(Insights) (5)行动(Action)

其中,海量数据的高性能并发导入是VADL一大特色,如下图所示。该组件主要由三个模块构成:采集模块(Collector)、处理模块(Processor)、导入模块(Ingester),它们之间通过导入管理器(Ingestion Manager)与消息代理中间件(Message Broker)来负责完成系统拓扑管理、任务启动、负载均衡以及模块间的高速信息交互。在数据导入阶段,视频源数据被最终存储在HDFS之上用于批处理分析,而被处理的视频数据则被分解为静态图像(帧)后发给多级时延系统用来做实时或低延时处理与分析。

大数据应用实践3:数据湖泊之海量视频分析_第4张图片

图4:VADL的数据导入组件设计

多级时延的数据分析系统是VADL的另一大特色,如图5所示。在VADL的海量视频处理分析架构中,我们设计了三种不同时延的处理模块来满足用户需求。

大数据应用实践3:数据湖泊之海量视频分析_第5张图片

图5:VADL的多级时延数据分析模块设计

(1)实时:基于内存的实时处理模块

(2)低延时:基于TP的交互式处理模块

(3)高延时:基于MR+HDFS的批处理模块

很显然,这样的设计虽然在一定程度上增加了系统的复杂度,但是从系统的TCO(Total Cost of Ownership,最终、全部拥有成本)及ROI(Return-on-Investment,投入产出比)角度来分析,这样的设计两项指标最优。

另外一点需要指出,MapReduce+HDFS这种典型的Hadoop风格的系统架构,在2019年之后已经因为其糟糕的性能(时效性)而被广为诟病,很多人甚至认为Hadoop已死(言下之意,离Spark之殇也不远矣,尽管DataBricks在最近刚创造了估值的新高... ...)。的确,在上一章中我们提到了对架构保持好奇心,在高性能的场景需求中却非要使用低效、高时延的架构显然是南辕北辙的。

VADL是一个完全可扩展的系统,因此它可适用的场景可以很多。从最基础的人脸识别、经过目标(人、车或动物)计数,到更为复杂的视频检索(搜索)引擎、舆情分析等场景。下图是VADL原型系统对某条街道在一段时间内通过的车流信息统计结果在管理GUI界面上的展示截图,可以看到主要是对通过汽车的数量与颜色进行了简单的统计与分类。

大数据应用实践3:数据湖泊之海量视频分析_第6张图片

图6: VADL原型系统:车辆色彩识别与数量统计

VADL系统的另一大特点是它的线性可扩展性。对于视频大数据处理系统而言,所谓线性可扩展指的是随着视频数据源的线性增加(如摄像头增加),系统的综合处理性能,如数据导入与分析的吞吐率随之线性增加,而延迟并不会出现明显增加。如图7所示,随着摄像头数量的线性增加,系统处理视频(图像)帧的数量随之线性增加,而处理延时并无明显改变。当然,海量视频处理是一个非常复杂的挑战,我们在这里只是展示了一种颇有潜力的结合了云与大数据领域多重最新技术的实验性解决方案,相信有兴趣深究的读者可以创造性地探索出更多精彩的应用场景与高效信息处理架构。

大数据应用实践3:数据湖泊之海量视频分析_第7张图片

图7:VADL原型系统:可线性提高的数据吞吐性能

大数据应用实践3:数据湖泊之海量视频分析_第8张图片

你可能感兴趣的:(云计算大数据进阶,人工智能,云计算,图数据库,图计算,大数据)