双11数据大屏技术演进

简介: 在2016年12月23日由云栖社区举办的云栖计算之旅第3期——前端专场沙龙中,DataV前端开发工程师米尔讲述从2012年到2016年双十一数据大屏的演进过程,并对这些大屏背后的技术进行了剖析。

DataV数据可视化体验地址:https://data.aliyun.com/visual/datav


新时代的大屏

ea6ff8a972618bb59b7c7150b04207bebf710c9a 

2016年的双十一大屏是分辨率高达3840x860、总面积达到400平的曲面IMAX屏,相比于2015年双十一大屏又进一步升级。

 

2012年的大屏

双十一起源于2012年,也就是在那一年有了数据大屏的概念。

b16ae2569ab5e2d2f5fb7db232cd67b14e48382c

2012年的双十一媒体中心是在一个小会议室里,投屏也仅是通过投影仪的方式简单地投到幕布上;2012年双十一数据大屏呈现的数据也较为简单(当时数据前端开发只有一人),仅包括实时的交易额折线图和部分省份的实时交易动态。对比于2016年的双十一现场,显得较为朴素。

大屏背后的技术

9a2b0c5f823d5cf2dc2ef9c8ed6b71f27b02821e

2012年双十一大屏主要采用的技术包括:Processing、HighCharts、Raphael。其中上图所示的淘宝交易实时区域动态图(中国地图)使用Processing绘制的,显现的动画形式也较为简单:当一笔交易进来,交易所在的省份推出一条线;然后再将该线打到收货地址所在的省份中心,并伴有冒泡动画。交易数据的地理可视化仅仅细分到了省份的程度。当时的交易折线图是采用HighCharts绘制的,由于缺乏经验,绘制折线图时预设了一个最大值,但由于实际交易总额过大超过了最大值,进而导致当时绘制的折线图存在误差;经过这次教训,在此后历年双十一绘制交易额折线图时,都是动态计算Y轴最大值,采用预估值的方式,而不再将其写死;大屏中其他的小图表是采用Raphael技术绘制而成。

现在看来2012年的双十一大屏十分简单,但由于最初设计时摸着石头过河,面临着很多未知,因此它是一张非常具有纪念意义的大屏。

 

2013年的大屏

27c036037f9b354d5cb70641499984fb0981e6d9

2013年的双十一大屏较前一年有了不少的突破:首先屏幕的尺寸变大,增加了更多的实时数据展示,如港澳台实时交易动态、菜鸟的物流繁忙图以及实时的省份/宝贝/店铺排行等等。值得注意的是:该年的交易飞线图可以细化城市甚至街道,飞线的路径也变得更加真实;右下角的3D地球图是大屏首次出现的3D地图,它是由气象局提供的实时全球气象图,可以结合左侧的菜鸟物流图对包裹位置等信息进行预测计算;由于当年双十一交易峰值较大,刚过零点时,左上角的飞线图就已变得十分模糊,甚至出现卡顿的现象,必须进行修改,通过增加飞线池,在有限的范围内控制飞线的数量;港澳台实时交易动态是使用Canvas离屏技术绘制而成,具有呼吸的动效,呼吸的效果是通过Canvas离屏技术绘制的,绘制出的动画以图片数据的形式插到地图上,降低因为呼吸动画而影响大屏性能的可能性。

由于交易飞线的问题,在此之后,所有的交易图都需要进行要高性能的压测。

 

2014年的大屏

2013年的大屏有了很多第一次,那么2104年双十一的大屏又有哪些突破呢?

2a761d5db12654699a1c7fb2fd9776c2f488f43b

2014年双十一大屏第一次出现了全球交易飞线热度图,从上图可以清楚看到双十一当天的海内外交易路径和累积的世界各国的热度情况。该图使用Raphael技术绘制而成,但在当天的运行过程中出现了内存泄漏的问题,一是因为飞线数目超过了预估值;二是因为动画效果过多,并且Raphael源代码本身也存在内存泄漏问题。采用的解决方案是利用飞线池机制进行缓解(无法根治),在当日零点峰值过后的五六个小时后刷新了一次,勉强撑过双十一。因此这一年给DataV的经验是每个屏在性能压测的同时,还需要放置一段时间对比内存的使用情况。

cbca29cdb0685828ea320b2a111e3b174245d792

上图左侧是全球交易图的全貌;右侧是第一次采用WebGL绘制的数据大屏,尽管该大屏仅是简单的2D地图叠加立体柱状图的效果,但其标志着新的技术点的开始。

除此之外,在2014年双十一大屏中还采用了Canvas技术模仿雪花屏效果以及利用CSS3开发了一些简单的旋转动画。

 

2015年的大屏

bbcdbc8ccd9e80661035a33b6c7fba1abb764129

经过2013、2014不温不火的两年,在2015年迎来了WebGL的大爆发。首先采用WebGL绘制了双十一倒计时,其效果较2014年有了大幅度提高。上图右侧是采用WebGL绘制的3D地球图,也是阿里第一次真正意义上自己开发的3D地球图。之所以出现3D地球图,一方面是因为前几年的2D地球图的视觉疲劳;另一方面是预估2015年的交易量肯定会比2014年大很多,因此采用了WebGL的方案。

0211e2bbf1dd104744f0a7dd58956eb4574d7a9f

2015年双十一大屏其中一个较大的技术亮点是绘制了北京的3D地图,飞线是一些真实的物流数据。但该地图在双十一当天性能表现并不是太好,它的初始化需要10分钟以上。这是因为该地图是采用ExtrudeGeometry+EdgesGeometry几何体绘制,这两个几何体在数量较大时(7w左右),浏览器会崩溃;其次是因为数据非常大,geojson数据有150M,城市建筑物模型的个数达到30w+。当时做了一些弥补性的优化,如抽稀节点、把楼层低的直接拍平等,另外也准备了6台MacBook作为后备方案,一台挂掉另一台直接切换。

c77fd551a613988b669da24dfa499f0a564ee34b

上图是2015年双十一大屏的现场图,其投放采用了六个信号源,每个信号源对应一台电脑,每台电脑的分辨率都是1024X768。

5c495b272ef289261c35076df29ed9ebf4193dd5

2015年大屏多达21个页面,如何去管理这么多页面呢?传统的技术方案是21个页面对应21个信号源,每个信号源连接一台电脑,如果需要从A页面切换到B页面显示时,需要用B信号源替换掉A信号源,这种做法带来的问题是在页面切换过程没有过渡效果,非常生硬,而且如果页面需要多地部署、多地播放时,信号源切换是无法保持动画播放的保持一致性。

对应的解决方案是采用WebSocket服务:通过控制台发消息给WebSocket服务;WebSocket服务再将指令发送到前端的页面上;前端的页面接到指令后,在业务代码中切换局部内容而非信号源,这样一来过渡就比较柔和,而且能保证多地动画播放的一致性。

 

2016年的大屏

2016年双十一大屏采用的技术将视觉效果和高性能两个互相制约的难题得到了完美的平衡。

c4cb82586d420fb2724b9572ec4ee59c1c6b9578

2016年的双十一大屏是4K曲面IMAX超大屏,总面积达到400平米,和前几年的1024X768的分辨率整整提高了4倍,这对开发者而言,技术难度增加了很多。4k的分辨率需要绘制的页面的内容和动画比之前多了好几倍,但硬件的性能已经达到了瓶颈,如何在保证性能的情况下做出比15年更加流程的页面呢?

a34c580b12a2f87375f5e163c2b0999e311a67aa

和2015年一样,在2016年双十一大屏中同样大规模使用了WebGL技术,上图中除了左上角的图,其他三张图都是使用WebGL绘制的,但动画效果和去年相比有了较大的飞跃,如左下角的村淘图,目前画的是2w多个点,性能毫无压力。

右上角的深圳经济云图是去年北京城市3D图的升级版,在北京城市地图的基础上又增加了热点、气泡、地标等等,但性能和去年相比有了天翻地覆的提升;右下角的全球热卖榜可以让上万个例子同时动画,一会汇聚一会分散,拼接成不同的排行榜的形式。

在2016年双十一大屏中,使用了WebGL中的BufferGeometry和粒子系统,通过底层编写的Shield直接操作粒子的动画,最大可能挖掘显卡的性能空间。

505be9cbb27ca193e3cb60d97916bb0615c43e84

上图是今年深圳经济云图和去年的效果对比。深圳今年的原始建筑数据是68M、道路是53M,实际建筑物13w+、道路19w条+。和去年不同的是:实现了所有建筑和道路的全部渲染,无抽稀,无拍平,而且增加了气泡、地标等效果。

那么是如何实现如此高的性能的呢?首先使用了环境光加平行光的方案,通过平行光建立建筑物的阴影面,使得建筑物显得更真实,更具有立体空间感,而且引入平行光带来的光照产生阴影效果,去掉了耗资源的EdgesGeometry轮廓线;建筑物模型采用BufferGeometry绘制,减少浏览器内存消耗,绘制性能提升明显,浏览器内存占用量低;针对去年模型数据在前端渲染的问题,今年提前在后端计算好模型节点、索引等,生成了模型文件(建筑90M+,道路20M+),之后通过GZIP压缩,降低传输体积,到前端之后建筑模型在15M、道路5.2M。

53fdd7229bd277026be6935a2c125ad15e22f72c

通过上述一系列的努力,绘制了一张从性能到视觉效果都非常完美的大屏。13W、60帧、6600px是2016年双十一大屏的最具体代表性的数据:13W指的是深圳建筑物的个数;60帧是指今年在4K的曲面大屏上所有页面都实现了60帧满帧;6600px是指页面在6600px分辨率下仍能达到较好的效果。

 

展望未来 

2017年的双十一大屏应该采用什么样的方式呈现至今尚未定论,但伴随着AR、VR的流行,DataV和AR、VR再加上数据结合将是一种什么样的体验呢?

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
阿里云实时数仓实战 - 项目介绍及架构设计
课程简介 1)学习搭建一个数据仓库的过程,理解数据在整个数仓架构的从采集、存储、计算、输出、展示的整个业务流程。 2)整个数仓体系完全搭建在阿里云架构上,理解并学会运用各个服务组件,了解各个组件之间如何配合联动。 3 )前置知识要求   课程大纲 第一章 了解数据仓库概念 初步了解数据仓库是干什么的 第二章 按照企业开发的标准去搭建一个数据仓库 数据仓库的需求是什么 架构 怎么选型怎么购买服务器 第三章 数据生成模块 用户形成数据的一个准备 按照企业的标准,准备了十一张用户行为表 方便使用 第四章 采集模块的搭建 购买阿里云服务器 安装 JDK 安装 Flume 第五章 用户行为数据仓库 严格按照企业的标准开发 第六章 搭建业务数仓理论基础和对表的分类同步 第七章 业务数仓的搭建  业务行为数仓效果图  
相关文章
|
11月前
|
运维 Prometheus 监控
《2023云原生实战案例集》——01 汽车/制造——传音 基于ARMS构建全球一体化可观测平台,高效支撑业务创新
《2023云原生实战案例集》——01 汽车/制造——传音 基于ARMS构建全球一体化可观测平台,高效支撑业务创新
|
12月前
|
数据采集 供应链 前端开发
业务数据双中台助力实现大型医药集团
业务数据双中台助力实现大型医药集团
114 0
|
自然语言处理 Java Go
“天猫双11”背后的流量治理技术与标准实践
这篇文章就为大家介绍如何结合 Sentinel 与 OpenSergo 玩转双十一背后的流量治理技术与标准。
163 0
“天猫双11”背后的流量治理技术与标准实践
《全链路稳定性背后的数字化支撑:阿里巴巴鹰眼技术解密》电子版地址
全链路稳定性背后的数字化支撑:阿里巴巴鹰眼技术解密
114 0
《全链路稳定性背后的数字化支撑:阿里巴巴鹰眼技术解密》电子版地址
|
机器学习/深度学习 XML 人工智能
|
存储 SQL Cloud Native
双11专刊|云原生数据仓库AnalyticDB支撑双11,大幅提升分析实时性和用户体验
2021年双十一刚刚落幕,已连续多年稳定支持双十一大促的云原生数据仓库AnalyticDB,今年双十一期间仍然一如既往的稳定。除了稳定顺滑的基本盘之外,AnalyticDB还有什么亮点呢?下面我们来一一揭秘。
490 2
双11专刊|云原生数据仓库AnalyticDB支撑双11,大幅提升分析实时性和用户体验
|
存储 缓存 关系型数据库
淘宝应对"双11"的技术架构分析
原文地址:http://kb.cnblogs.com/page/193670/     双“11”最热门的话题是TB ,最近正好和阿里的一个朋友聊淘宝的技术架构,发现很多有意思的地方,分享一下他们的解析资料:   淘宝海量数据产品技术架构   数据产品的一个最大特点是数据的非实时写入,正因为如此,我们可以认为,在一定的时间段内,整个系统的数据是只读的。
1490 1
|
SQL 存储 弹性计算
互联网、游戏等行业实时数仓构建最佳实践
互联网、游戏等行业客户基于Flink构建实时数仓,通过Logtail采集日志,使用Flink实现对日志的拆分、处理。
541 0
互联网、游戏等行业实时数仓构建最佳实践
|
存储 SQL 运维
从阿里核心场景看实时数仓的发展趋势
随着2021年双11的完美落幕,实时数仓技术在阿里双11场景也经历了多年的实践和发展。从早期的基于不同作业的烟囱式开发,到基于领域分层建模的数仓引入,再到分析服务一体化的新型融合式一站式架构,开发效率逐步提升,数据质量更有保证,也沉淀了更多技术创新,让我们看到了一些未来数仓开发、应用的可能性和趋势。下面我们来聊聊从阿里双11看到的实时数仓发展的一些趋势。
从阿里核心场景看实时数仓的发展趋势
|
人工智能 搜索推荐
解决方案应用实例 |搭载“业务+数据”双中台,贝泰妮实现高速奔跑
贝泰妮联合阿里云,通过建立技术中台和数据中台、升级现有的信息管理系统和会员管理系统、引入新的管理模块,进一步加强内部管理能力和产业链上下游的控制能力,实现产供销、人财物的全链路数据化管理,从而实现业务上的前后台高效运营和管理上的内外部掌控,实现优化资源配置,做到精准营销,进一步提升公司的市场竞争力。
280 0
解决方案应用实例 |搭载“业务+数据”双中台,贝泰妮实现高速奔跑