腾讯技术工程|腾讯移动分析系统揭密

author author     2022-10-13     552

关键词:

作者简介: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人在会上的系列主题分享。


你认为,如何结合大数据、云计算和人工智能技术赋能企业更多的大数据价值?


技术分享图片

腾讯技术工程|腾讯企业级消息中间件cmq技术解密

作者简介:ziza,2012年加入腾讯,一直专注于腾讯中间件产品的建设,主导参与了腾讯消息中间件CMQ、CKafka、MQforIoT等项目,见证了腾讯云消息服务从0到1的整个过程。目前专注于于分布式服务开发与治理平台TSF的建设。大规模分... 查看详情

腾讯技术工程|腾讯公司副总裁姚星:每次浪潮前腾讯都在革自己的命

《中国人工智能之路(一线人物第三季)》是由财新视频与澜亭资本联合出品的高端纪录访谈节目,是国内第一档聚焦被视为“人类第四次工业革命核心驱动力”的新一轮人工智能浪潮在中国发展历史、现状与未来趋势的主题性... 查看详情

腾讯技术工程|腾讯报告tensorflow首个安全风险谷歌确认并致谢

日前,腾讯发现谷歌人工智能学习系统TensorFlow存在严重安全风险,可被黑客利用带来安全威胁。据悉,该风险是TensorFlow首个自身安全风险,腾讯安全平台部预研团队已向谷歌报告这一风险并获得致谢。腾讯安全平台部预研团队... 查看详情

腾讯技术工程|qq相册后台存储架构重构与跨idc容灾实践

作者简介:xianmau,2015年加入腾讯TEG架构平台部,一直负责QQ相册平台的维护和建设,主导相册上传架构重构和容灾优化等工作。主要研究方向为口语对话系统、分布式系统架构设计和优化,发表对话系统相关学术论文3篇,系统... 查看详情

内存泄露?腾讯工程师2个压箱底的方法和工具(代码片段)

...lgrind在解决内存泄露问题上效率较低。本文特别邀请到了腾讯后台开发工程师邢孟棒以TDSQL实际生产中mysql-proxy内存泄露问题作为分析对象,分享其基于动态追踪技术的通用内存泄露(增长)分析方法。其中将详细介... 查看详情

胡泽锐:移动开发即服务——腾讯云移动开发平台技术分享

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~作者:胡泽锐,2010年毕业加入腾讯,先后负责过QQ空间、网页应用、移动应用、移动游戏相关的工作,有着丰富的平台产品经验以及大前端开发经验,目前在腾讯云... 查看详情

腾讯技术工程|基于prophet的时间序列预测

预测未来永远是一件让人兴奋而又神奇的事。为此,人们研究了许多时间序列预测模型。然而,大部分的时间序列模型都因为预测的问题过于复杂而效果不理想。这是因为时间序列预测不光需要大量的统计知识,更重要的是它需... 查看详情

腾讯技术工程|腾讯ailab现场陈述论文:使众包配对排名聚合信息最大化的hodgeran

前言:腾讯AILab共有12篇论文入选在美国新奥尔良举行的国际人工智能领域顶级学术会议AAAI2018。腾讯技术工程官方号编译整理了现场陈述论文《使众包配对排名聚合信息最大化的HodgeRank》(HodgeRankwithInformationMaximizationforCrowdsourced... 查看详情

腾讯技术工程|腾讯ailab刷新人脸识别与检测两大测评国际记录,技术日调用超六亿

2017年12月18日,深圳-腾讯AILab研发的FaceR-FCN和FaceCNN算法分别在国际最大、最难的人脸检测平台WIDERFACE与最热门权威的人脸识别平台MegaFace多项评测指标中荣膺榜首,刷新行业纪录,展现其在计算机视觉领域中,特别是人脸技术上... 查看详情

reversing:逆向工程揭密pdf

...协议;逆向工程的合法性问题;拷贝保护和数字版权管理技术的逆向工程;防止 查看详情

腾讯优测优分享|双卡双待-工程师难言的痛

腾讯优测是专业的移动云测试平台,提供全面兼容性测试,远程真机租用,漏洞分析等多维度的测试服务,让测试更简单!【引子】移动互联网的时代,手机通讯录是天然的强社交关系的关系链,如果... 查看详情

ocr文字识别

...CR技术系列之四:基于深度学习的文字识别(3755个汉字)腾讯OCR:自动识别技术腾讯:OCR技术之检测篇腾讯:OCR技术之识别篇腾讯:OCR技术之系统篇腾讯:OCR技术之数据篇腾讯OCR—自动识别 查看详情

腾讯技术工程|腾讯ailab11篇论文精选:图像描述nmt模型图卷积神经网络等

...018将于2月2日至7日在美国新奥尔良举行,在本届大会上,腾讯AILab有11篇论文被录用,涉及图像描述、更低计算成本的预测表现、NMT模型中的特定翻译问题、自适应图卷积神经网络、DNN面对对抗样本的优化问题等,本文精选了11篇... 查看详情

腾讯优测优分享|双卡双待-工程师难言的痛

腾讯优测是专业的移动云测试平台,提供全面兼容性测试,远程真机租用,漏洞分析等多维度的测试服务,让测试更简单!【引子】移动互联网的时代,手机通讯录是天然的强社交关系的关系链,如果... 查看详情

it技术资料合集-年薪30w腾讯it工程师吐血整理

【IT技术资料合集-年薪30w腾讯IT工程师吐血整理,限时免费领取】30个高薪IT人士必备工具50+技术人必读书籍20+IT业内人士必看网站10份一线互联网技术前景报告60GLinux云计算+python人工智能技术视频500M内部高薪课件PPT和面试秘籍 查看详情

it技术资料合集-年薪30w腾讯it工程师吐血整理

【IT技术资料合集-年薪30w腾讯IT工程师吐血整理,限时免费领取】30个高薪IT人士必备工具50+技术人必读书籍20+IT业内人士必看网站10份一线互联网技术前景报告60GLinux云计算+python人工智能技术视频500M内部高薪课件PPT和面试秘籍 查看详情

揭秘前端眼中的rust!

导语 | 本文推选自腾讯云开发者社区-【技思广益·腾讯技术人原创集】专栏。该专栏是腾讯云开发者社区为腾讯技术人与广泛开发者打造的分享交流窗口。栏目邀约腾讯技术人分享原创的技术积淀,与广泛开发者互启迪共... 查看详情

揭秘前端眼中的rust!

导语 | 本文推选自腾讯云开发者社区-【技思广益·腾讯技术人原创集】专栏。该专栏是腾讯云开发者社区为腾讯技术人与广泛开发者打造的分享交流窗口。栏目邀约腾讯技术人分享原创的技术积淀,与广泛开发者互启迪共... 查看详情