【TEGer 在全球架构师峰会】 : 腾讯移动分析系统揭密

作者简介:foreach,2012年加入腾讯,一直专注于腾讯大数据产品建设,重点参与腾讯移动分析(MTA)、腾讯移动推送(信鸽)等核心产品研发,亲身经历两款产品从0开始到数十万开发者使用的过程。目前专注于系统改造优化,以及广告与金融领域高价值服务建设。

腾讯移动分析(Mobile Tencent Analytics,简称MTA)是一款专业的第三方移动统计分析运营平台,是腾讯大数据对外开放的核心产品之一。平台不仅提供大数据的指标统计,满足常规的移动App运营诉求;还提供个性化、精细化的运营工具,能够有针对性去解决产品研发、运营中遇到具体领域问题;同时,还通过数据的开放生态,输出腾讯在大数据领域积累的能力,帮助企业快速、低成本使用或构建数据平台,提升企业竞争力。

目前,平台每天接入的设备超过10亿台,每天新增日志条数超过5000亿条。十亿的设备账号和千亿的数据如何做计算处理、关联分析、多维交叉是一个不小的技术挑战,下面会分享构建海量数据分析平台的关键技术以及一系列思路与做法。

开始之前,先简单介绍下MTA系统。MTA主要通过采集App、H5&小程序、Hybrid、智能终端等应用数据,通过数据关联,计算处理,为开发者提供实时数据统计分析服务,监控版本质量、渠道状况、用户画像属性及用户细分行为,通过数据可视化展现,协助产品运营决策。平台已累计接入全球上百万款应用,支撑数十万开发者日常统计分析工作。

MTA平台主要分为三个部分:终端数据采集、后台数据存储与处理、运营平台,平台主要特点有:

1. 全平台覆盖:包含原生的Android和iOS应用,智能硬件应用,Hybrid混合应用,H5&小程序,基本上覆盖了主流的终端应用类型;

2. 多模式计算:覆盖离线计算、实时计算、智能计算和数据挖掘;

3. 数据生态开放:支持业务指标前台导出、REST API数据对接,可无缝对接业务自建的运营平台,做数据二次开发。

要构建海量数据分析平台,关键技术主要有3点:

1. 数据连接:数据连接是作为一个数据分析平台的基础,要保证不同的App,甚至不同类型的应用比如原生App与H5 App上报的数据是可关联的,这主要涉及到设备标识、账号关联以及数据的沉淀如用户画像和机型库;

2. 数据处理:离线计算、实时计算、多维实时分析、数据挖掘、机器学习、可视化等;

3. 数据生态:数据导出、平台对接、数据价值、赋能企业大数据能力;

首先,我们先看看设备ID识别。在移动互联网,设备ID的识别一直是个痛点也是个难点。比如Android平台,由于权限等因素IMEI、MAC很可能采集不到真实数据,甚至存在大量的刷机刷量行为,导致采集到的设备ID基本上不可用。

MTA根据移动平台的特点,专门设计了一套设备唯一标识(Mobile ID,简称MID)体系,特点有:

全匿名:MID的生成算法与终端硬件属性没有依赖关系,是后台随机生成,通过安全协议下发到终端SDK;

唯一性:后台通过算法唯一生成,全局保证唯一性;

关联性:可用于关联设备属性、IMEI、MAC、账号等信息;

防伪造:MID字符串本身含有自检验信息,同时,后台存储MID与设备的关联信息,可防止伪造;

可运营:支持在线运营,分配的MID是具有生命周期的,可在线重置或回收。同时,通过特征分析、数据挖掘,还可识别异常的MID,并做逻辑修正。

MID的核心在于其跨域关联性,可以做到一度关联、二度关联,如此扩散,可从单个App扩散到App间,甚至是全网。

解决了数据的连接性难题,下面我们来看看如何构建海量数据处理系统,总的来说,可以按照商业复杂度和时效性2个关键因素,按照不同的数据指标,不同的场景,选用不同的技术。

离线分析平台:全量的指标计算、严格的时序类计算、按天汇总的基础数据报表等;

秒级实时分析:对时效性要求非常高的场景,比如监控告警、质量诊断指标等;

多维实时分析:对数据的归类聚合,比如用户分群、用户标签、设备属性

在线预测分析:对未来的在线预测能力,比如潜流失用户、潜付费用户

参考开源的Strom流式计算解决方案,我们自研了一套纯C++实现的秒级实时系统,主要用于新增、活跃等通用指标的实时计算,系统可以保证“终端日志采集->上报后台->后台计算->存储->前台展示”全流程控制在3秒内,达到秒级刷新。

主要特点有:

1. 增量计算模型:ESP负责计算单位时间(通常为1秒)内的数据增量,然后发送到ESA节点汇总,定期写入Redis,供前台查询;

2. 全整数运算:系统将所有非int类型通过ESA编码模块转换成int,并将映射关系存储在LevelDB,供查询时翻译;

3. 全内存处理:为减少磁盘IO耗时,所有的数据计算和处理都在内存中;

4. 智能容灾策略:系统关键节点有主备异地部署,支持自动监控和切换。

在数据分析过程中,多维交叉分析是一个常见的应用场景,比如用户分群,就是通过一系列的属性条件(例如:活跃情况、用户渠道、用户画像、用户属性和用户行为等)筛选出一批符合相应条件的用户集合,涉及到大量的高维组合操作,通常使用离线系统来处理。为了解决多维交叉的实时性问题,我们引入Roaring Bitmap位图压缩算法和改进后的Druid,将维度和设备ID映射到bitmap上,通过维度的预聚合的bitmap数据来完成实时用户分群功能。一方面通过数据的预聚合,可以大大的压缩原始的数据;另一方面,配合列式存储、针对维度的inverted index,将字符串操作转换成SET的与或非操作,可以准确定位到目标数据而不需要扫描整个数据集,从而将用户发起查询到返回结果的整个过程控制在3秒左右。

用户分群同时支持基于规则和基于算法的分群,客户可以容易通过MTA与广告平台的打通,直接对接广点通和win,甚至可以通过数据开放网关,对接业务自建平台。

甚至,还可以通过移动推送平台(信鸽)导入功能,导入MTA分群好的用户设备标识或号码包,针对不同的用户群推送不同的方案,有针对性的营销推广,达到精准触达的目的。

作为一个公共平台,客户的接入门槛是否够低也是一个事实上的衡量标准。MTA一直强调简洁高效,只需要在终端简单的一两行代码便可对接整个数据服务系统,同时,还支持埋点的可视化操作,运营人员可以不需要通过开发在项目中硬编码埋点,而是将常用的自定义事件以可视化界面呈现,可见即可得,大大降低接入和使用门槛,助力客户挖掘数据价值。

腾讯大数据产品总监洪桃李Torryhong再三强调:大数据能力是企业必备的技能,作为一个公共平台,有义务低成本开放腾讯大数据沉淀的大数据处理能力,帮助企业洞察用户、行业变迁及资本走向,支持公司战略决策,精细化运营。未来,MTA将继续提升平台的能力,继续优化并构建一套高效率、高可伸缩的统一计算平台,并在广告和金融等垂直领域深耕细作,通过整合大数据能力,给客户带来更多的价值。

专题介绍

ArchSummit全球架构师峰会是InfoQ中国团队推出的面向高端技术管理者、架构师的技术大会,参会者数量1000+。其中,出品人及演讲嘉宾中高级技术专家比例占79%,90%拥有10年以上开发经验。本次“TEGer在全球架构师峰会”专题将带来TEG人在会上的系列主题分享。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏SDNLAB

你需要知道的混合云最佳实践

1733
来自专栏微信小程序开发

群聊可以自动回复小程序了

前言:小程序扩散的方式,一般通过转发好友、转发到群、生成小程序码海报、公众号菜单、小程序搜索入口等,今天连胜老师给大家分享另一黑科技玩儿法:机器人自动发送小程序...

2644
来自专栏CDA数据分析师

数读 | 大数据与Hadoop不得不说的事

大数据在近些年来越来越火热,人们在提到大数据遇到了很多相关概念上的问题,比如云计算、Hadoop等等。那么,大数据是什么、Hadoop是什么,Hadoop和大数...

1777
来自专栏服务端技术杂谈

我的微服务之路

故事开端 故事开始于一年半前,当时还在维护着公司的一套老项目,项目虽老,但是每天的pv,up都是过千万的。理论上算得上是一个大项目,对于技术能力有一定的挑战。 ...

2295
来自专栏顾宇的研习笔记

推进微服务落地的 7 个步骤

微服务实施常被忽视的 5 个难点中描述了实施微服务常见的主要阻碍。本文针对前文提到的5个难点提出了 7 个步骤。每个步骤分别包含了管理和技术两方面的建议。

732
来自专栏ThoughtWorks

微服务即演进式架构 | TW洞见

今日洞见 文章作者来自ThoughtWorks:Neal Ford& Rebecca,译者来自ThoughtWorks:禚娴静。 本文所有内容,包括文字、图片和...

35510
来自专栏云计算D1net

江苏:全国首个公路云计算数据中心在淮安建成

据了解,在公路建设高速发展的今天,公路信息化建设也日益加强,各类业务系统数量和存储的数据越来越多,云计算作为一种新兴的网络服务方式,使得数据中心正不可逆转地走向...

2464
来自专栏Cloud Native - 产品级敏捷

Cloud-Native 微服务的世界里, 你不能忽略的关键人物与解决方案

这张 Cloud-Native 微服务的图, 是来自世界十大架构师之一;Chris Richardson ; 的书中。

2047
来自专栏灯塔大数据

荐读|数据湖是什么东东 数据湖的四个最佳实践

数据湖听起来很简单:把数据或信息汇集到一个结合处理速度和存储空间的大数据系统――Hadoop集群或内存解决方案,那样业务部门就能访问数据,获取新的洞察力。不过,...

2114
来自专栏云计算D1net

解析混合云的优缺点

1694

扫码关注云+社区