【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 删除。

编辑于

我来说两句

1 条评论
登录 后参与评论

相关文章

来自专栏大数据文摘

你真的了解互联网用户行为吗?

1449
来自专栏陈树义

6、市场需求文档(MRD)撰写方法与技巧

1、MRD与BRD文档的不同 -BRD 这么做有什么好处,并说明好处在哪里 -MRD 通过BRD明确了这个事情值得一做后,描述应该怎么做,并说明这么做的原因 2...

3617
来自专栏BestSDK

一周简报|哄睡神器“凯叔讲故事”正式部署智齿客服,24小时为用户解决问题

编辑导语 哄睡神器“凯叔讲故事”正式部署智齿客服,24小时为用户解决问题;TuSDK:人脸识别将成为校园杜绝作弊利器;ApplePay将发布网页版,支持大部分主...

3769
来自专栏华章科技

电商数据分析方法:分拆,跟着用户走

在理解了要选择怎样的指标来衡量各项业务之后,我们可以对业务有一个客观和全面的把握,可是数字本身无法告诉我们发生了什么事情,怎样可以改进。为了得到更深入的信息,我...

1007
来自专栏祝威廉

微信为啥推出实验室功能 ​​​​

你只要调教下推荐系统,然后你就获得了一个信息助理,源源不断把你需要或者感兴趣的内容投送给你。

844
来自专栏互联网数据官iCDO

6个提高电商销售额的用户体验优化技巧

译者:陈荣芳、审校:董梁 本文长度为2289字,预估阅读时间4分钟。 我们今天要向大家分享几个提高电商销售额的用户体验优化技巧。 请确保重要的元素非常醒目,并且...

3389
来自专栏姬小光

深度好文 | 你一定不知道,微信里竟然有这么多赚钱的路子 ...

现如今的微信,已经远远不止是社交工具了。有人说微信正在变成操作系统,承载了各种应用,吞噬了用户大量的时间。其实,不管微信本身发展成什么样子,在这个月活超过 10...

662
来自专栏BIT泽清

与苹果App Store内部审核关机审渠道的经历这段时间透露一点给大家

苹果说到审核团队,很多开发者就冒火,他们拒审App应用的理由花式上百,让人抓狂却无可奈何!他们神秘低调,除了申诉渠道,不和外界做任何的沟通。

2263
来自专栏罗超频道

算法有三个陷阱,移动资讯客户端如何规避?

今天朋友李俊在朋友圈的一则吐槽引发了我对移动资讯客户端的思考。 前几天有在媒体平台工作的朋友问我:为什么他们怎么努力都达不到今日头条如今的高度? 抛开一切因素,...

3307
来自专栏玉树芝兰

你还敢乱点赞吗?

有的人点赞,是为了让好友知道自己关注他。你看了他原创或者转发的文章,了解了他的动态。你同意他的看法,理解他的抱怨,同情他的遭遇,为他的成就表示高兴……

712

扫码关注云+社区