城市级实时计算的力量

做者:闵万里算法

整理:赵慧架构

本文整理自闵万里博士在Flink Forward China 2018上的演讲。大数据

城市中,像上图空中小麻雀同样的摄像头遍及各地,地面上的车流川流不息,高德地图等APP经过技术手段采集了愈来愈多的摄像头、车流的数据。但空中与地面这两条平行的河流,彷佛永远没有交汇的时刻。愈来愈多的摄像头采集数据,但道路却愈来愈拥堵,这偏偏反映出智慧的缺失。网站

三年前,当咱们从新审视“智慧城市”这个概念的时候想到:在这个数据量很大,上下游特别多的典型场景,可否用最新的技术,从新在技术上把它往前推动一步?因而城市大脑应运而生。而今天,城市大脑不只走进城市,还走进了各个垂直产业,如:制造业、零售业。这些行业都有一个鲜明的特色:拥有至关密集的数据流。3d

Date Flow Intensive若是须要作到更加智慧,首先须要很是强大的Computational power;第二是须要更加智能的算法处理实时数据流。当这两种能力放在一块儿的时候,数据不只仅能够用来作过后分析追责,并且拥有了实时解决当下问题的能力,甚至能够把将来可能出现的问题作预先介入,提早化解。这个过程当中离不开优秀的计算引擎,所以,今天, Apache Flink 技术有很是具体的能够落地的实战的场景,并且是能够量化价值的场景。cdn

接下来给你们一 一介绍几个场景,带领各位更有体感地了解:代码,是怎么给老百姓创造价值的?blog

首先,咱们要了解的问题是如何衡量技术的价值?不管多么领先的技术,最终要回归到上图这个公式当中,公式右边的三个要素分别为:行业知识、技术和已经沉淀的数据(包括正在发生的数据),这三个要素带来的是左边能够量化的价值。事件

今天,城市大脑要作的事就是把包括 Flink 在内最早进的技术填到这个公式当中。找准行业,找到痛点,而后去产生左边可量化的价值增量,而非价值存量。如今,咱们推出了一系列的ET大脑,它们到底是如何运行的?如何从流计算的角度把它从一个理想的 Design 变成了一个在生产过程中能够用起来的System ?接下来,咱们将一一为你们解答。开发

在这个架构图中你们能够看到 ET 大脑底层有各式混合调度等基础技术系统,中间层是用Flink的方式对结构化、非结构化甚至半结构化的数据,作混合的双流、多种流的实时Join。get

上图是2018年9月份正式公布的杭州城市大脑2.0,今天,在杭州420平方千米的土地上,有着近1300个的路口,不管是天上的摄像头,仍是地下传感器的线圈,产生的数据都是经过实时流计算的方式收集到城市大脑当中,并进行实时的处理。某种程度上来讲,咱们把城市想象为一个生命体,经过每个毛细血管(传感器)传递来的实时流数据,咱们得以精准地了解这个智慧体的每一次脉搏,而这背后就是计算的威力。

这张图从左往右看,从最外场的卡口摄像头以及传感器用于采集过车速度、车牌类型等数据,这些数据实时进入Flink计算引擎以后在RDS当中Dim Table 进行汇总,汇总后咱们能够获得一个移动的时间窗口(Hop Window)。这个时间窗口的长度大概是15分钟,每隔两分钟咱们就把它往将来移动一次,所以,你会发现这个时间窗口每两分钟就会产生一次过去15分钟内所统计到的数据。

这是一个典型的Batch 和 Streaming结合的案例,经过这些 Table 的 join后,咱们能够获得在每个路段上过去几分钟内,过车通行量、过车速度以及道路占有率、饱和度等等,这些都是交通工程中至关重要的参数。过去只能经过传感器来获取。而如今,摄像头、传感器、高德APP的数据将所有进行汇总计算,单一渠道带来的数据不肯定性问题,经过三流合一获得了有效弥补。

如今在杭州交警指挥中心所收到的报警当中,95%的来源并不是人工,是城市大脑从海量流数据当中混合调度任务进行计算,并实时同步给交警指挥中心而来的。

这个过程当中有各类各样的 Group Aggregation、Window Aggregation,咱们设定了一个移动的窗口,它有固定的长度,可是在不断地移动,至关于扫描系统,在扫各个流上面的事件。甚至是几个流合一以后的事件流,咱们看上下两个点位(摄像头)、上下三个点位,上下四个点位之间是否造成了某一辆车的特定事件,好比持续的闯红灯、持续超速等等,这些都要实时计算出结果并马上同步,而这些数据 Join 到最后会获得什么呢?假设咱们在某一个匝道上开车,出现了大面积的排队现象,如今经过城市大脑同步到指挥中心,基本能够实现所有自动化的处理,不再须要靠过去靠指挥中心呼叫机的方式来处理。 因此,流对流之间再也不是对牛弹琴,取而代之的是无缝的握手衔接,实现总体系统效率的提高。系统效率提高以后带来了什么好处?给你们看下面这一个案例:

2018年7月份,城市大脑落地马来西亚吉隆坡,经过城市大脑,救护车的行驶时间压缩了48.9%。经过上图你会看到,在这个案例当中,既要把救护车司机的位置信息,一秒内上传一次,也要跟周边信号灯之间的车流速度、车队速度、排队长度进行对比。精准地判断几点几分几秒,救护车将会到达哪一个路口,而后去计算所经路口变成绿灯的时间点。在这种模式下,不再须要像过去同样让交警鸣笛开道。

有时候一秒的时间对急救车来讲就是生与死的差异。缩短48.9%的时间,就是公式最左边能够量化的价值。当有一天咱们可能要坐上救护车的时候,就会体会到这个没法用金钱衡量的价值。这时候,技术也再也不那么骨感,那么枯燥,老百姓能够真正感知到它的普惠。

今天咱们作的这些探索,包括团队在过去几年作的ET大脑的探索,在开始的时候实际上是很艰难的。团队中有些人懂 Flink ,有些人懂其余技术,内部也有过技术的争论。但你们都有一个共同的目标:选择最合适的技术、最合适的场景,去迅速拿到结果。

如今,还有不少有价值的场景等待咱们开发,可是咱们人数有限,所以,咱们但愿能与更多的开发者们一块儿参与到这件事情当中来,成为生态的一部分,成为25万开发者中的一个(25万是咱们建的一个大数据人才、大数据开发者、大数据科学家,来自全球93个国家的开发者生态)。

咱们的团队用Flink取得了上述的成果。若是你也相信数据力量,欢迎你们一块儿参与到这件事当中来,成为25万中的一份子,把25万发展成250万,作出更多48.9%的价值!

更多资讯请访问 Apache Flink 中文社区网站

相关文章
相关标签/搜索