从技术上讲,支付宝十年账单是怎样做到的

谢邀。人生第一个回答。首先内部的数据是经过加密的,原始数据至今我都不知道谁能够看到,也不知道是否真的存在详细信息,也就是说,无论是否存在,数据权限控制都是及其严格的(参照 Alibaba 大数据竞赛使用的天猫用户数据)。真正后台跑的数据是都是用户信息加密模糊过的数据,例如仅仅只有一个用户 id 等唯一标示一个用户的字段,而无用户具体的信息(非官方)。其实对于我们来说,这些数据都是海量的,几千亿上万亿的条目的数据放到你面前,你反而没有精力去在意小的个体。其次,对于一个拥有数 PB 级数据的公司,每次任务都是 TB 级的数据在跑,根本没人会针对个人去做什么操作,例如去看你买过什么,每次消费多少钱。。。。。技术上来讲,主要是两套数据处理系统在其中。离线数据主要是使用了 ODPS 离线计算,通过一些模型将原始数据处理掉,包括历史信息(甚至 N 年之前的)、规整、关联、建模,其中使用了各种算法,包括用户信息补全,通过一些算法等猜测、判断用户的性别、喜好;之后离线跑完的数据并不能直接用,存在类 Hbase、OTS 等等数据储存上等待调用,在用户访问后,通过 ADS 等实时计算系统实时建模,使用一些特定的算法转换成展示的样式,再调用前端(包括不限于淘宝内部基于Node.js开发的一套系统)展示给用户。用户看来仅仅是简单的自己的过去十年的账单,貌似是每次点开才调用自己的历史信息生成,实际上后台涉及了很复杂的算法、链路,若干离线/实时数据处理系统、海量储存、数据传输、CDN 分发等技术的支撑,中间有很多有意思的过程。支付宝十年账单对于我个人来说很喜欢,包括前端等设计的都很贴心,有很多我已经忘记的事儿它都能记得,只能说现在机器学习技术太发达了。。。。
■网友
不太明白分分钟泄密的意思是什么。。。对于淘宝的程序来说,想读到一个人的购买和支付记录数据,那还不是一件太正常的事情?但是第三方程序或个人想要看到这些数据,那就没那么容易了,有各种手段去隔离的。


    推荐阅读