今年年初,Oracle发布了一份大数据变化趋势报告,报告中指出,越来越多的企业将用户分析甚至是企业应用同大数据加以结合。从AI支持型应用到Megabox等数据流客户端,各家企业都将迎来自己的大数据转型及下一代数据驱动型应用。Oracle亚太客户体验策略及转型部门总监Krisi Mansfield也表示:“预见并了解了客户的意向,并相应地采取行动之后,就可实现个人化(Individualization)”
目前,国内一批大数据企业都开始致力于此项技术的研究和探索——即围绕用户的使用过程来打造一对一的体验。从已掌握的、能体现用户在某个特定过程的数据入手,厘清这些数据将在接下来的哪些互动环节提供支持与帮助,从而据此制定具体的互动体验。因此,这一过程也将改变企业开展业务的方式——从反应式到主动式和预测式。
大数据在量级、实时性、多样性三项维度上的进程
但总的来说,该项大数据应用还面临着许多较大的技术难题。随着数据渠道来源的多样化、量级的巨幅提升和对实时性效果的需求增强,各家大数据公司该如何规划技术演进的具体细节、技术架构又该如何设计和搭建……带着这些问题,我们采访了第三方全域大数据服务提供商【友盟+】COO叶谦,他也以【友盟+】的发展和技术演进为例,分享了合并后统一技术架构的一些经验,阐述了当下大数据行业的痛点、难点和未来大数据的发展趋势。
【友盟+】COO 叶谦
为什么叫“全域数据”?
“全域数据”是否意味着“线上”、“线下”数据概念的模糊化?从PC端到移动端,从线上数据到线下数据,数据在不断扩张的渠道中逐渐变得分散,只有把这些数据有效打通,才能让大数据发挥其价值。
在叶谦看来,大数据时代,大家越来越多的发现A场景下的一些数据,在B场景也非常有用,所以数据的范围在延伸,意味着企业也要将探寻数据的触角进行拓展。这是全域大数据的基础。但大部分时候,某一家企业或某一个组织,只拥有一部分或一方面数据,因此又很难把多个方面的数据收集、串联起来。
于是,如何多渠道收集数据、如何实现跨屏数据打通、如何解析更多形式的非结构化数据等问题,正使全域数据面临着许多不言而喻的挑战。
移动互联网刚在国内兴起之时,企业对数据的认知或需求还处于初级阶段,大多数只关心诸如留存、日活、新增量这类数据,一些规模较大的企业可能会附加更多维度的分析需求,比如对“各个渠道所带来的量是多少”、“日活人群都是哪些类型”等不同程度的用户细分需求。发展到今天,企业在任何一个用户分区的维度上都希望获取针对其用户的、更细粒度的数据分析,如年龄、喜好、访问频度、地理位置等一系列用户属性。因此,【友盟+】现在的趋势也在由数据统计、数据分析逐渐拓展到数据智能分析和数据深度挖掘。
那它基于一套怎样的模型实现?这里我们以U-DIP(【友盟+】数据智能平台)的运作原理来举例。
目前,【友盟+】的数据源主要来源于PC端、移动端、线下数据这三支渠道,而每一支渠道采集的数据种类又不完全一样。比如PC端数据会更多的聚集于页面跳转、浏览时长、浏览器信息等,移动端数据包括使用APP应用的各类信息,而线下数据更集中在地理位置、移动路线等。这些数据会作为原始日志进入存储平台中。第二步就是通过预定义的规则抽取数据中的特征信息,这些特征信息都和设备(或人群)相关,并能通过一个大ID关联库进行打通。
另一方面,【友盟+】从各类信息中(网站信息,社交网络信息,应用市场信息等)构建关于APP和网站的知识库。这些信息在第三步“深度加工”时,被输入到机器学习算法模型中,得到各种类型的人口学标签和兴趣标签。这个过程中,海量数据还可被利用,进行设备质量和用户真实性的识别工作,例如判断哪些设备是风险设备(非正常用户使用的设备,可能是作弊设备或者是虚拟机)。
北京大学新媒体研究院教授刘德寰也曾提出过,现在存在的很多标签实际上都是伪标签,未来进行有效大数据运算会有两种路径:第一,未来数据分析就是分析人,完善人的纬度。第二个路径,对物的纬度探测,基于人的认知习惯。
与业务并进,技术该如何更新?
在业务的演进和纵深的情况下,需要技术在背后予以很大的支撑,同时也需要技术能与业务并进。【友盟+】在以下三方面进行了技术上的调整和优化:
数据采集端的演进、后端计算的优化
在数据采集端的持续积累和演进上,它从之前较为简单的采集方案、采集协议,演化成今天所具备的如虚拟机探测方案等较为完善的反作弊方式。同时,随着数据量级的扩增,后端计算也经历了类似的演进,从最初较小体量的计算,到拥有上千台机器的大规模Hadoop集群,再逐渐迁移到阿里云的StreamCompute、MaxCompute大型云计算平台上,【友盟+】根据数据量大、计算复杂等特定情况进行了大量优化和改造。
不断发展的过程,数据量也开始呈现指数型增长态势,每年平均会翻好几倍,再加上计算任务复杂程度和任务个数的提升,导致了后端计算的巨大压力。早期时采用的是当时较为成熟且使用广泛的一些开源框架,比如Hadoop、Storm、Kafka、Spark、Elasticsearch等。随着业务的扩展,【友盟+】更多的采用了阿里云方案,由于稳定性和成熟度等优点,阿里云技术体系也在逐渐取代其曾经的开源系统。
将数据挖掘结果用于技术方案的优化
在数据累积的过程中,【友盟+】开始将数据挖掘的结果用于其自身的计算体系及技术体系优化。针对采集的海量网页内容,技术团队建立了一套数据模型体系,来区分哪些设备、哪些网站和哪些流量存在异常,比如监测出涉及作弊作弊的流量和客户端 。对于电商、支付平台、O2O及互联网广告系统来说,反作弊在本质上发挥着反欺诈、杜绝虚假买卖、保证广告主利益等作用。但作为一项核心技术,几乎所有的公司都会对自己的反作弊技术讳莫如深,研发一套反作弊规则和系统也需要很深的技术积淀。
这一点上,【友盟+】的母公司阿里巴巴在电商反作弊已形成了一整套监控预警、识别分析、处罚管控的多维度监管机制,特别是在对虚假交易的数据监控和算法识别上就应用了大规模图搜索技术。因而【友盟+】在这方面有一些技术优势和先天基因。去年的双十一当天,【友盟+】监测到的广告投放量达34亿多,通过反作弊进行流量过滤后识别出约七千多万条的异常点击。而这一过程也相当于为广告主节省了三千多万广告投放费用(按照0.5元一次点击计算)。
多条业务线同步推进的情况下,如何统一技术栈?
【友盟+】在业务方向和技术架构上做的规划和统一,同样具有一些借鉴意义。
叶谦说,2017年【友盟+】将主要在三个维度上做新的业务规划,一是互联网应用数据业务,二是拓展新零售数据业务,三是发力广告营销数据业务。 技术方面的调整则会围绕着技术栈统一来展开,主要有四点:开发语言统一,开发框架的统一,通用技术组件的统一以及底层平台的统一。统一的结果不仅能使开发效率提升、稳定性增强、运维成本降低,同时也能在一定程度上缩减核心硬件成本。
以统一开发语言为例,之前所采用的开发语言非常多,比如Python、Java、Scala、Ruby、PHP等。而统一后,所有研发团队会独立使用Java。在叶谦看来,Java是这几种语言中相对最成熟,因而也会围绕Java开发语言来选择较为成熟的开发框架。例如,会统一使用Spring Framework作为前端开发框架。另外,在技术组件的统一上,【友盟+】也选择了经过阿里集团多年双11检验的、能够承载大数据量高吞吐和高并发,具有极高稳定性和较大可扩展性的通用技术组件。2016年双十一期间就用到了阿里集团提供的能支撑庞大数据量的一些通用组件,如:阿里云的MaxCompute。
但总的来说,统一技术栈这件事在任何公司都不可能一蹴而就、一帆风顺。在这个过程中,各技术团队势必会经历一定程度上的心理斗争。因为对于任何技术人而言,改变他所习惯的语言、开发框架,就是对其舒适区的挑战。如何让不同的团队成员走出原有的固定模式,认可技术栈统一的价值,形成统一的认识,是推动技术向前、个人成长的一个最重要的契机。
叶谦认为,当大家逐渐认识到技术栈统一的价值之后,后续的研发推动才能顺理成章,比如:大家一起来选择更成熟技术方案、更成熟的技术体系和更成熟的组件等。
用数据为客户提供真正的价值
谈到未来大数据的趋势,叶谦认为主要会围绕三点来进行。一是数据与垂直行业越来越紧密的结合,二是数据放开程度会提高、数据交换量会大大增加。当然, 在这一点上还需先解决数据安全提取的问题,这也是目前困扰大数据行业的难点之一。三是与人工智能的结合产出,会更多的基于历史数据对未来进行预测。
这三点同样是【友盟+】发力的主要方向。叶谦希望,不管自己和团队能走多远,还是要回到原本的初心上——真正能用数据为客户提供核心价值,解决他们在利用数据时遇到的困难。
提起印象最深刻一件事的时候,叶谦说起在去年【友盟+】的一个客户,其数据指标曾出现了5%的波动,双方先进行了半个多月的排查和异地讨论,工程师直接到现场和对方一起工作、找出可能的原因点,回来再跟内部人士围绕可能的情况加深分析,才得出了那个细微的导致问题产生的根源。虽然流程之繁琐,但叶谦始终奉信“使命必达”,即使问题再棘手、再特殊,也需要做到客户第一,最大程度上解决他们的需求,从而才能反省和提升自我。
放在团队中,叶谦也更多的在企业文化中植入工匠精神,有意识的在工程师群体培养“客户第一”的理念,鼓励每个人发挥自己的主观能动性,能执着、专注、踏实的在行业耕耘。“越是多变、浮躁的互联网,越需要对业务和技术深挖,把根扎深,这样才能找到自己的核心竞争力。对企业而言,也是如此。”叶谦如是说。