`
jzy996492849
  • 浏览: 128147 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

6年双11_DataV的数据可视化之道

 
阅读更多
摘要: 从双11出发,DataV经历过开源、产品化、打包解决方案、再到平台化,数据大屏应用场景也从双 11 电商作战,扩展到智慧城市、智慧交通等诸多领域。本文将分享这一路的历程、思索与情怀。

文 | InfoQ 徐川

原文于2017年11月11日由 InfoQ-前端之巅发布,本文略有修改,已获得作者授权。 阅读原文

从 2012 年起,阿里每年的双 11 大促都会推出一个大屏,以多种生动的展示方式实时地显示交易情况。实时数据大屏,它的特点是各种大:屏幕大、数据量大、展示信息量大,可以说是数据可视化的圣杯。

image
(图:2017 年双 11 的区域经济闪电图,将实时订单数据与物流干线结合展示)

阿里云DataV团队连续6年参与了双11媒体数字大屏搭建,今年的“中国区域经济闪电图”媒体触控大屏成为双11晚会现场的核心焦点之一,大屏上全国上亿买家的订单沿着真实道路涌向卖家,效果震撼。 触控大屏支持用户自助下钻查询数据,极大增强数据可读性。当天累计有超过500家中外媒体以此作为现场直播的数据讲解平台,实现了新旧媒体完美融合。

今年双十一数据大屏项目,首次整合应用“DataV数据大屏计算与渲染负载均衡”、“全球物流干线可视化模型”、“DataV MScreen多视域融合”、“WebGL后期视效增强”等多项DataV自研数据可视化新技术,在超12K分辨率单屏三维渲染、30+实时数据源并发接入场景下,仍能保证丝般流畅并具备震撼视觉效果。

2016年的双11媒体大屏,主视觉是深圳三维城市实景,楼宇颜色代表该楼房内订单金额的大小,颜色越红代表订单金额越高。右侧的面板展示用户的人群画像等信息。


(图:2016 年双 11 的深圳经济云图,城市楼宇的颜色代表该楼房内订单金额大小)

作为双 11 数据大屏的幕后功臣,DataV 在经历数个大型项目后几乎试遍技术沉淀的所有路径:开源代码、产品化、打包解决方案、平台化……应用场景也从双 11 电商作战,扩展到智慧城市、智慧交通等诸多领域。他们一路走来的历程和思索,值得后来者借鉴参考。



(图:杭州城市大脑主视觉,城市方方面面的行状况和优化调度尽收眼底)

DataV的诞生伴随着阿里集团对数据驱动运营的探索。

2011 年,淘宝孵化出第一款数据产品——数据魔方,旨在透过生动的数据图表,降低平台上中小卖家理解数据的成本,继而结合图表交互等功能让卖家在实际运营中借力于店铺数据。数据魔方的出现,对内对外都普及了数据化运营的价值,当时负责数据魔方可视化开发的正是现在的 DataV 团队,他们很快承担起阿里内部数据大屏的技术升级改造,在这过程中,也连带推动阿里实时数据指标体系的构建。

2012 年,双 11 第一次有自己的媒体中心——一个培训教室改造成的临时指挥中心,媒体大屏的硬件全靠两台投影仪和两台笔记本撑起来,这样的设备在今天看起来非常简单粗暴。当年因为对交易金额预估过低,还闹出了乌龙,12 年的双 11 刚开始没多久,实际成交金额超过了图表预设的最大值,GMV 实时折线图一上来就爆表了。尽管当时没有对指标做特别的梳理、可视化图表开发经验也不足,首次亮相的双 11 大屏还是给人带来了巨大的视觉冲击和真切的数据体感。

直到今年双 11,DataV 团队负责双 11 媒体数据大屏的可视化开发已经 6 年,大屏分辨率从 1024*768 到了 12K,屏幕面积直逼 400 平方米,展示数据的复杂程度和实时的数据链路更是发生了天翻地覆的变化。

一边是技术能力升级,另一边 DataV 团队定位也从对内服务的角色切换到可视化产品与方案的提供者,正在将自身实时数据可视化的能力对外输出。同时 DataV 也正在从单纯的数据可视化,向数据可视分析转型。

目前,DataV 正在全力配合阿里云的 ET 城市大脑项目实践城市级多维数据的可视分析平台,一期的数据指挥大屏已经成为杭州交警日常工作中的一环,也已经结合机器智能的图像识别等 AI 场景开始进行新一轮的技术解决方案升级。

除此之外,DataV 也和很多正在着手技术转型的政府企业进行数据指挥大屏的升级改造工作,帮助他们在数据化运营管理的起步阶段快速找到数据体感。

从开源到产品化
早期 DataV 沉淀出 datav.js 组件库并进行了开源,但后来,DataV 放弃了这个开源项目,并将其产品化提供出来,为什么呢?

开源的初衷是想把可视化技术赋能给更多的数据展现场景,但在推广过程中却遇到大量定制化的 issue,开发者在处理数据和图表对接上遇到大量问题(诸如 D3 丰富的 demo 库对于数据开发者来说还是门槛略高),因此开源并没能达成当初的愿景。另外当时 datav.js 组件库架构还考虑到对低版本 IE 浏览器的支持,但后来这方面需求变弱,所以这个库也就慢慢弃用了。

在这个过程中,DataV 团队观察到,提供可视化组件库不等于打通数据看板制作的全链路,对于那些直接面对数据、或者希望与数据产生交互的人而言,组件库降低了一部分门槛,但除此之外,高性能的数据可视化还涉及到样式设计、数据连接、组件架构设计等多方技能,这些基于一个产品来输出会更加完整。于是 DataV团队开始琢磨起产品化的路径。

首先,数据可视化在大公司体系下虽然偏前端岗,但其实是业务理解、数据理解、视觉表达的综合体现,需要业务、数据、前端、设计共同完成。从纯技术来讲,前端组件只是一部分,数据如何加工、如何对接其实是可视化在业务落地更为关键的一步。相比耳熟能详的 ECharts 的发展途径,DataV 更希望通过产品化的方式把数据、业务、前端、设计串接在一起,真正做到降低门槛。

这样,数据开发可以很容易地实现专业图表前端的工作,设计师和业务也很容易地做出“会动的”数据看板,大幅度降低了可视化多栈之间的工程和沟通成本。
其次,一个商业化的产品,通过和客户的交流反馈,开发者能更准确地摸清用户的真实需求。而开源前端组件尽管被广泛使用,开发者自己完全不知道他人用于什么样的场景,就很难摸到痛点与诉求。而仅仅从前端来看,基础的图表开发完成之后,也会遇到方向上的瓶颈。

DataV 目前的定位还是在大屏端可视化展示分析的工具。

在功能上,最主要的就是提供可拖拽的大屏界面配置工具,以及各种各样的模版,像做 PPT 套模版的方式很容易就可以实现双 11 大屏般的效果。另外还包括了各种各样的数据连接的能力,包括常见的各类数据库,API接口等。


(图:DataV产品界面)

在特色上,除了常规的长得比较酷炫的基础图表组件,DataV 在 WebGIS 领域下了很大的功夫,整合了各种各样的 WebGIS 能力。对 d3.js, leaflet.js, mapbox.js, 原生的 canvas,SVG,传统后端绘图地图瓦片,各种地理数据的映射、投影,以及地图多图层的事件响应等做了非常完善的整合。一般的 BI 或者可视化工具在基础图表上还都比较容易实现,但 GIS 部分就相对弱很多。DataV 可以通过界面化的配置很容易的实现多图层多绘图技术以及地理相关数据整合的融合。


(图:DataV地图组件)

2016 年,DataV 前端开发工程师米尔分享了《双 11 数据大屏技术演进》,以历年双十一为例,介绍了 DataV 从最初的一个 exe 程序发展到大规模 WebGL 应用的过程。

演讲整理见:https://yq.aliyun.com/articles/73724

DataV.gl:基于WebGL的智慧城市可视分析解决方案
经过过去几年对 WebGL 的研究和实践,DataV 推出了 DataV.gl 组件,大规模提升绘制性能,实现 3D 数字城市的自定义。从这一点来讲,目前已经做到了世界领先的水准。

DataV 把三维可视化能力打包成一个易用的组件,用户导入 3D 模型文件,就可以像编辑其他图表一样,通过图形化的菜单配数据、调样式,而在实现效果上,DataV.gl 支持十万量级的建筑物渲染,支持城市内管道线路和自然景观的呈现,用户还可以自定义镜头运动轨迹、实现城市画面自由探索。

从技术层面来看,DataV.gl 极大地提升了三维城市地理可视化的计算效率和工程效率。采用基于浏览器的经典 GPGPU 技术,利用显卡的计算能力,DataV.gl 支持流场、力导图等计算密集型可视化方案的海量数据流畅渲染。和传统的基于 CPU 的 Canvas 力导图绘制方案相比,DataV.gl 的 GPU 加速力导图绘制方案性能提升 30 倍以上。

与此同时,DataV.gl 支持城市数据规划文件(CAD 等格式)、标准矢量地理数据作为输入数据,通过地理数据可视化映射服务,直接进行三维城市建筑模型,比传统设计师用三维软件建模动辄耗时数周相比,效率大幅提升。


(图:DataV.gl 编辑界面)

近两年,Uber 在地理信息三维可视化领域颇有建树,发布的 deck.gl 前端库成为了业界标杆。但是单靠一个来源可视化技术框架无法提供跨行业多种场景的大数据可视化解决方案,同时 deck.gl 在满足个性化需求、前端技术栈选择方面也存在很多局限性。

Uber deck.gl 是一个可视化前端库,能解决数据可视化开发环节的需求,其他环节需要用户自己寻找解决办法,而 datav.gl 是一整套海量数据高性能可视化解决方案,用户可以“一站式”完成数据可视化业务。

如果用汽车打比方的话,Uber deck.gl 好比是一台汽车发动机,datav.gl 就是一辆整车;只买了发动机无法上路,还需要其他零件进行装配。

除此之外 datav.gl 和 deck.gl 的区别还有:

(1)从功能定位上,datav.gl 比 deck.gl 覆盖更广,不仅仅提供一个可视化库的功能,而是提供一整套大数据可视化解决方案。

(2)从目标用户群体上区分,deck.gl 偏向开发者群体,datav.gl 偏向企业、政府用户。

(3)从用户需求适配性对比看,deck.gl 与 React 深度绑定,基础的官方可视化组件在前端开发使用比较方便,但是一些个性化需求需要深入剖析 deck 和 React 框架才能开发,相对成本较高。datav.gl 提供开发者版,用户既可用使用官方组件,也可以完全按自己的技术栈和开发习惯研制自定义组件。

(4)单纯从渲染效率上看,datav.gl 和 deck.gl 都是基于 WebGL,基础性能类似,datav.gl 在一些具体的海量数据可视化场景方面较有优势,如上文所述。

(5)从可视化素材资源整合方面看,datav.gl 接入一些如直播流媒体、三维建模等资源,提供了傻瓜式组件;deck.gl 相对比较复杂。

DataV的未来
关于未来的方向,DataV 的重心主要是可视化生态和技术探索两块。

虽说数据大屏可以服务各行各业、市场潜力巨大,但无论是从大屏落地各个环节、还是从最终切入行业所需的领域知识来看,这个市场都需要更多的生态伙伴加入,玩出不一样的火花。例如,在 ET 城市大脑的项目里,不少生态力量和 DataV 合力形成了一套完整的城市级数据可视分析大屏的方案 。

当然,作为技术团队,DataV 也十分看重平台上的可视化开发者,为此他们推出开发者版,能够让开发者进行二次的定制开发,遵循一定的开发规范,就可以把自制的组件融入到产品当中,像使用原生组件一样可以进行图形化的配置。以及,支持开发者把自己的组件发布到阿里云市场当中,实现可视化的能力变现——这也是 DataV 团队推动数据可视化落地发展、为可视化找到商业化出路 这个初心的延续。

同时,DataV 也将自己的技术思路通过技术文档潜移默化地分享给外部的开发者,并依托平台沉淀下的大量使用数据为开发者真实准确的改进方向。不但希望最终用户能感受到数据可视化的价值,也希望能将这份价值传递给千千万万在为可视化奋斗的开发者。

DataV 另一个大方向是,会持续在可视分析的研究探索方向上加强投入,在技术上优化产品框架支持更为强大的数据交互功能,在可视化理论基础上加强和高校等科研机构的合作,保证自身在数据可视化方向上有更为强劲持久的动力支撑。

受访嘉宾介绍:

宁朗,DataV 数据可视化技术负责人,阿里巴巴前端委员会数据可视化小组商业化方向负责人。

永翎,DataV 产品经理,同时兼任阿里云城市大脑产品负责人。

如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:yqgroup@service.aliyun.com 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
分享到:
评论

相关推荐

    vue+echarts+DataV数据可视化系统源码.zip

    在“vue+echarts+DataV数据可视化系统源码.zip”中,我们可以看到一个利用Vue.js、ECharts以及DataV进行数据可视化的项目实例。 ECharts 是百度推出的一个开源的JavaScript数据可视化库,它支持丰富的图表类型,如...

    数据可视化大屏源码(12套).zip

    数据可视化是一种将复杂的数据集通过图表、图形或其他视觉表示方式呈现出来的方法,使得非专业人员也能快速理解数据背后的含义和趋势。在这个“数据可视化大屏源码(12套).zip”压缩包中,包含了12套不同的数据可视化...

    可视化大屏Vue3基于Vue3、Typescript、DataV、ECharts5框架的大数据可视化(大屏展示)项目

    在当前的数字化时代,大数据可视化已经成为企业理解和呈现复杂数据的关键工具。"可视化大屏Vue3基于Vue3、Typescript、DataV、ECharts5框架的大数据可视化(大屏展示)项目"是一个现代化的解决方案,旨在帮助用户...

    20套Echarts大屏数据可视化、数据可视化驾驶舱源码,智慧物流、大数据分析、车联网、大数据运维等多行业数据可视化驾驶舱

    本资源包含20套基于Echarts的大屏数据可视化和数据可视化驾驶舱的源码,非常适合用于智慧物流、大数据分析、车联网以及大数据运维等多个行业的数据展示需求。 1. **Echarts大屏数据可视化** 大屏数据可视化是将...

    Python数据可视化实战 第7章 新零售智能销售数据可视化实战 教案.docx.pdf

    《Python数据可视化实战》第七章聚焦于新零售智能销售数据的可视化应用,旨在通过实例教授学生如何处理和展示这种数据。本章的教学目标是使学生掌握从数据获取到报告撰写的整体流程,包括理解新零售智能销售设备的...

    马云喊我来帮忙_电商数据可视化系统_冯微伟1

    【电商数据可视化系统】是一个专为电商商户设计的分析工具,它通过数据可视化技术帮助商家理解和解析商品销售、用户行为等关键数据。该系统由【浙江大学软件学院】开发,项目名为“马云喊我来帮忙”,在天池平台的...

    DES.rar_密码学_数据 加密 _数据 可视化VC

    标题中的"DES.rar_密码学_数据加密_数据可视化VC"揭示了本次讨论的核心内容,即数据加密标准(DES)在Visual C++(VC)环境下实现的可视化项目。DES是一种广泛使用的对称加密算法,而数据可视化则意味着通过图形界面...

    60套数据可视化大屏(含源码).zip

    6. 交互性与动态效果:现代数据可视化不仅仅是静态的图片,许多大屏包含动态效果和交互功能,如数据刷选、动态更新、缩放和平移等。了解这些功能的实现,有助于提升用户体验。 7. 学习路径:对于初学者,可以从阅读...

    matlab_GUI_6.rar_matlab_GUI_6_可视化

    《MATLAB GUI 6:深度探索可视化用户界面设计》 MATLAB(Matrix Laboratory)是一款强大的数值计算和数据可视化软件,广泛应用于科学计算、数据分析、工程建模等领域。GUI(Graphical User Interface)则是MATLAB中...

    Python数据可视化任务教程(微课版)配套教案

    《Python数据可视化任务教程(微课版)》是由郑丹青编著的一本专注于Python数据可视化的教材,其配套教案提供了丰富的教学资源,旨在帮助学习者深入理解和掌握Python在数据可视化领域的应用。这本书的标签表明它适合...

    Axure数据可视化图表组件库.rar

    "Axure数据可视化图表组件库.rar"是一个专门为Axure设计的资源包,它包含了丰富的数据可视化图表组件,使得在Axure中创建具有专业数据展示的原型变得更加便捷高效。 该组件库主要涵盖了以下几种常见的数据可视化...

    eckarts_open_class_open_可视化_源码.zip

    ECharts 是一个由百度开发并开源的、基于 JavaScript 的数据可视化库,广泛应用于网页数据展示。"eckarts_open_class_open_可视化_源码.zip" 文件包含了ECharts 开源可视化课程的相关源码,这为我们深入理解ECharts...

    30套数据可视化源码示例(数据大屏模板).rar

    "30套数据可视化源码示例(数据大屏模板).rar" 是一个压缩包,包含了30个不同的数据可视化大屏模板,适用于多个行业,对于学习和应用数据可视化技术的人来说,这是一个宝贵的资源库。 首先,我们来了解一下数据可视...

    数据可视化分析平台源码+数据库

    6. **数据库**:数据库在数据可视化中扮演着存储角色,它可以是关系型数据库,如MySQL、Oracle,也可以是分布式数据库,如Hadoop HDFS或Apache Cassandra。数据库用于存储原始数据以及预处理后的数据集,保证数据的...

    数据可视化全套学习资料+期末复习整理

    6. 色彩理论:色彩在数据可视化中起到强调、区分和引导视线的作用。了解色彩理论(如色彩对比、色轮、色彩搭配)可以帮助创建更具吸引力且传达信息准确的可视化作品。 7. 交互式可视化:随着技术的发展,交互式可视...

    基于ECharts数据可视化大屏案例源码

    ECharts是一款由百度开源的、基于JavaScript的数据可视化库,它提供了丰富的图表类型,如柱状图、折线图、饼图、散点图等,以及强大的交互功能和自定义选项,使得开发者能够轻松地在网页上创建出美观且互动性强的...

    社会科学-第7次人口普查-数据可视化-约750行(Pyecharts可视化、数据分析).zip

    《Python在社会科学中的应用:基于第七次人口普查的数据可视化》 在信息技术日益发达的今天,数据分析与可视化已经成为理解和解析复杂社会现象的重要工具。本项目聚焦于中国的第七次全国人口普查,利用Python强大的...

    visualising_visualising_可视化_

    在深度学习领域,尤其是卷积神经网络(CNN)的研究中,可视化是一种强大的工具,它能够...通过各种可视化技术,我们可以更直观地理解模型是如何从原始数据中学习和推断的,这对于模型优化和未来的设计具有深远影响。

Global site tag (gtag.js) - Google Analytics