数据中台之OneID (ID-Mapping)架构设计细节全解

数据中台之OneID (ID-Mapping)架构设计细节全解_第1张图片

编 辑:诸葛子房

来 源:大数据架构师(ID:bigdata_arch)

彭友们好,我是老彭。之前抽空写了一篇《One ID中的核心技术ID-Mapping究竟是怎么实现的?》结果一大堆人追着我问有没有具体的实施细节。

这个需求,老彭必须满足!来,上干货!

1254fd7d694d500a70087656bea376e6.png

One ID 简介

《阿里巴巴大数据之路》中有讲到关于数据中台OneData 的方法论,其中分别涉及到OneModel、OneService、OneID。 

数据中台之OneID (ID-Mapping)架构设计细节全解_第2张图片

OneID是指同一用户、同一设备的一个唯一ID。

例子一:我用我自己的电脑搜索小米11,我又用这台电脑浏览其他网站,然后这个网站给我弹小米11的广告,对,也许你认为这种都是同一台电脑,非常简单,只需要根据ip等相关信息进行匹配就可以了。

例子二: 我用我自己的电脑搜索小米11,然后用自己的苹果手机,去浏览其他网站,然后其他网站又给我弹了小米11的广告,这怎么识别的呀?

我们认为这台电脑、这部手机、以及其他的电子设备是可以构成一个唯一的ID,即:OneID。

但是你一定会问了,那他们是怎么关联上的呢?而不会关联错呢?比如说没有把我在电脑上搜索的小米11,推到我的手机上,而不是推到我女朋友的手机上

这个映射的过程,称之为:ID-Mapping

d5490a052cf5def71b9c33fd02010f5e.png

业务逻辑梳理

当使用安卓手机安装app,启动时会上报 IMEI,Mac地址 ,AndroidID,手机型号等设备信息。

同理ios 会上报相关启动信息 idfa,手机设备等信息;pc 浏览器端会上报 cookie、浏览器相关信息。

但是每一次上报的信息不一定完全相同,比如说手机权限问题,浏览器cookie 清空等问题。

LocalID:app 启动会根据AndroidID生成本地id(不需要连网),记录为本地ID

OneID:app 联网上报的设备相关信息,用来打通多个app以及多端应用的唯一ID

OneID的作用:

(1)打通手机上多个app,比如说:淘宝、支付宝、高德等等是同一个用户(未登录时,登录时用账号id)

(2)打通多端应用,比如说你在手机端看剧,然后pc web 端能知道还是同一用户(解决账号共享无法定位同一用户的问题)

85b9565de5cca54e3625841b0155a8f0.png

Mapping流程及架构设计

(1)HBase数据表结构设计

安卓端表映射表结构(android_id_mapping),其他端类似:

OneID   imei  mac_adress    android_id      oaid

本地id 和 OneId映射表结构(local_id_mapping):

LocalID   OneID

(2)为了应对高并发场景,将HBase 提前预热至Redis 缓存,redis 表设计

imei_value                 oneid1,oneid2...

mac_address_value  oneid1,oneid2...

(3)ID-Mapping 映射流程

 数据中台之OneID (ID-Mapping)架构设计细节全解_第3张图片

票选服务:

根据客户端上报的参数信息去redis 里面匹配OneID,核心权重设置

数据中台之OneID (ID-Mapping)架构设计细节全解_第4张图片

如上,就实现了同一个对象在不同端的ID-Mapping,将多端数据串起来,可以做更多的分析了。

21556ea006b94fad8f0ad40b9484bb85.png

总结

嘿嘿,这个技术就是你反复看到类似广告的罪魁祸首之一26dd060714dcc4f56d893cd55ca890d4.png1100c2512f27fba31286f1b5a94cb778.png016c43d11b61d80f3952a3603f99573b.png。比如之前总有人问老彭几个问题,都可以用上面的技术知识解答了:

问题一:你在百度(或者京东、淘宝)上搜索一件商品(比如说:我搜索了一台iphone 手机看了看,但是没买),奇怪的是过两天,你竟然在某视频平台或者某网页上又看到了它?

回答:在视频平台看视频的时候,获取到浏览器的cookie等相关信息,通过调用百度的服务去匹配同一个设备的最新的搜索数据,然后进行广告投放,做到千人千面

问题二:而且更加奇怪的是,你明明是在电脑pc 端搜索的手机,但是你在手机上看电影的时候却能看到它,是不是也太奇怪了。

回答:手机端装了看电影的app,同时你在pc web 端之前也看在该网站有观影信息,结合账号信息+设备信息+观影信息,生成一个OneID,打通该视频网站,所有端的数据。

后续你在pc web 看电影取获取当前唯一id的所有端的信息,然后调用京东或者淘宝的广告服务,进行投放。

6d2e9a613487910a4c79b1446afa826c.gif

排版 | 老彭

审校 | 老彭  主编 | 老彭

你可能感兴趣的:(百度,大数据,python,ai,app)