【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

阿里 1688 实时数据工程实践

  • 2020-02-02
  • 本文字数:2711 字

    阅读完需:约 9 分钟

阿里1688实时数据工程实践

导读:在天猫、淘宝网购过程中,商品的推荐与广告的前端展示是怎样的?两者的底层数据服务又是怎样构建的?今天跟大家讲述面向阿里 1688 业务的实时数据工程实践。


本次分享主要分为三部分:首先讲解实时数据工程实践的意义;然后介绍中台体系,因为中台的基础非常完善,所以面向业务时,工程实践特别高效、低成本;最后通过实际案例让大家深刻了解实时数据工程。

01 实时数据工程


1688 是一个电商网站,每天会有千万级的访问流量,百万级的订单流量,每天能有数十亿成交额。


一个网站想要发展,最关注的肯定就是买家数,营收等一些指标;如果涉及到目标,就离不开匹配效率、市场机制、商业化 ( 如广告投放等 )。


支撑这些目标的通常是算法:


❶ 针对匹配效率,有实时个性化搜索,推荐算法的开发;


❷ 针对市场机制,有业务需求方的实时调控策略;


❸ 针对商业化,有搜索推荐即广告物料的实时上下架调整。


算法模型的底层就是实时特征工程,分为两部分:


❶ 用户行为数据工程体系。主要作用在场景中,通过捕捉用户的行为信息,构建用户的数据特征体系,呈现更符合客户价值的信息。


❷ 构建业务与货物的实时系统。由原先在搜索推荐中离线计算,进行实时化提速,由原来的 T+1 天改进到现在 1h、1min 甚至秒级的数据计算响应。


实时数据工程所实现的用户行为数据工程体系、业务实时化建设依赖于阿里巴巴非常完善的中台基础体系。

02 中台基础


简单介绍下中台基础,主要分为:在线服务体系、实时计算引擎与离线数据同步工具、数据存储。


在线服务体系


❶ 搜索引擎 HA3,是阿里巴巴搜索团队开发的搜索引擎平台,它为阿里集团包括 1688、淘宝、天猫在内的核心业务以及各垂类业务提供搜索服务支持。


❷ 推荐引擎 BE(BasicEngine ),包含搜索 Query 的各种召回 ( 如 item2item,behavior2item ) 及一些简单的数据处理逻辑如合并、关联、过滤、排序等。


❸ 在线打分系统 RTP,在搜索与推荐之上,支持业务中深度模型的在线打分服务。


❹ igraph 图索引及查询系统,存储用户的行为信息。在实践中,还会用来存储如 kv、kkv 结构的服务化数据。


实时计算引擎与离线数据同步工具


❶ 阿里内部使用较多的 Blink。大家可以认为是 Flink 的升级版,功能更加完善,也更加强大,甚至已经成为了阿里巴巴实时计算的主流引擎,下面将要讲的案例大都是以 Blink 为基础实现的。


❷ 异构数据源之间的同步工具 DataX。即通过底层的 ODPS ( Open Data Processing Service ) 服务将不同数据源的数据进行同步。


数据存储


❶ OPDS 开放数据处理服务,基于阿里飞天分布式平台,支撑 GB/TB/PB 级的数据计算服务。


❷ Tddl 是分表分库的一个中间件,可以认为是类似于 MySQL 的一种工具,在其上进行封装后,分表分库可以横向纵向的无限扩展。

03 工程实践

下面将面向业务类型,进行案例讲解,一是系统业务数据实时化的案例;二是根据用户行为的实时数据服务。


  1. 系统业务数据实时化


任务:因为搜索推荐以及促销活动商品池更新汰换,将导致商品的各种信息发生变化。从原始数据源中的数据实时同步更新到服务引擎中,就显得非常有必要。


案例 1:商品统计数据实时化



要求:商品的成交金额、买家数、其他算法指标在线上发生变化时候,就能在线上的搜索引擎中实时显示出来。


❶ 针对数据准确性不同要求,设计了差异化的解决方案:


卖家或者买家在前端页面展示出来的数据是非常精准的,这个用中间的数据库做转存,然后再进入搜索引擎。


在线打分、商品排序阶段,一些算法的因子可能存在时效性的误差,我们是实时计算算好直接进入搜索引擎,更加高效,更加轻量,延迟更低,并发度可以更多。


❷ 全量+增量互补的方案


上面是实时的解决方案,对于 T+1 级别的数据,要把 T-n->T 天的数据做一个全量的计算,再进到搜索引擎中,因为每天的搜索引擎是做一个全量更新的。


案例 2:推荐商品的实时更新汰换



背景:在 1688 网站,每年要举行 3 次 S 级的大促,类似于天猫淘宝的双 11 大促,大促会场一直是买家流量的主要承接场景,是大促的主要阵地。


原来的时候,算法是通过离线进行召回的,存在召回能力不足,效果不好的问题。


改进为算法实时召回,并且运营可以配置召回及打分方式,实现大促会场商品的实时更新汰换和算法能力结合,是运营的重要抓手,也对大促会场的匹配效率起到关键作用。


案例 3:广告引擎和推荐引擎之间的数据实时同步



背景:2018 年下半年,推荐商业化:当时广告引擎和推荐引擎是异构的,召回的方式完全不一样,广告走的是搜索的逻辑,根据 Query 词;而推荐根据用户行为、或者冷启动进行召回。


现在将广告的数据同步到推荐引擎中,将千万级别的全量广告商品集进行精品筛选,得到百万级别的精品商品集。使用 Blink batch 将这些数据每 5 分钟全量更新一次,并按照商品投放计划消息把数据更新给推荐广告引擎。


  1. 实时数据服务



实时数据服务就是将用户行为数据从埋点收集到最终应用的整个过程,构成实时数据服务的闭环体系。利用用户的历史行为数据,进行加工、计算、孵化,作用到每一个算法需要介入的场景中,比如实时搜索、个性化推荐、会场场景等。



首先,通过场景的规范埋点进行用户行为数据的采集,得到原始数据存储 TT 流,这些是阿里日志中台做的工作。


其次,将数据通过 Blink 进行打标签,这里是通用标签,跟业务无关。然后,根据业务场景对数据进行多维度的聚合加工,如用户维度、商品维度、场景维度等。最后,建立统一的服务层,对外提供接口,将数据应用到业务场景中。



最后搭建的实时数据服务解析如上图所示:


❶ 当用户进入网站后,通过用户标识,用户的点击,收藏,加购,支付的数据将会实时进入到实时数据服务层。


❷ 用户在浏览商品的时候,会对商品做曝光过滤处理,因为不希望用户每次进入网站都看到相同的东西,而是根据算法将商品展示的序列进行优化。


❸ 每个商品,根据商品的 id 可以在后台得到商品实时的 CTR/CVR 数据,由中台基础的 Blink 提供实时计算。


❹ 根据商品 id,可以实时查询某种商品的成交额,支持批量查询。


❺ 针对于新形态的挑货与直播,通过 feeds id 可以得到 feeds 的实时 CTR/CVR。


❻ 在大促会场中,可以通过场景标识+分桶标识,快速得到对应场景的一些报表数据 ( 曝光、点击、成交、相应的 uv 等 )。


❼ 用户标识+场景标识,根据得到的用户在指定场景下的统计数据,可用于实时化的个性化分流、推荐等。


❽ 场景的标识,得到场景的总体统计,可以用于流量分配机制的完善。


作者介绍


半醒


阿里巴巴 | 技术专家


本文来自 DataFunTalk


原文链接


https://mp.weixin.qq.com/s?__biz=MzU1NTMyOTI4Mw==&mid=2247497011&idx=1&sn=d280463d5c9e7cad581433deca294e32&chksm=fbd7475fcca0ce4921e9e96544286dc2dfaf4a184009c8f85e362e6eba0c859f94b9953e42fa&scene=27#wechat_redirect


2020-02-02 11:153087

评论

发布
暂无评论
发现更多内容

分布式实时搜索和分析引擎——Elasticsearch

会踢球的程序源

Java elasticsearch 后端

成长计划知识赋能 | 第十期:DAYU200开发入门秒Get

OpenHarmony开发者

OpenHarmony

深入理解 Redis 新特性:Stream

Java你猿哥

redis SSM框架 Redis 核心技术与实战 redis 底层原理

TiDB与MySQL的SQL差异及执行计划简析

京东科技开发者

数据库 开源 TiDB 京东云 企业号 4 月 PK 榜

测试ChatGPT能不能帮助我们傻瓜式的搭建Spring Boot工程

致知Fighting

Java ChatGPT

CloudQuery 询盾社区版 v1.5.0 正式发布!

BinTools图尔兹

数据库 社区活动 版本发布

IDPChat:探索基于LLaMA和Stable Diffusion的「开源」中文多模态AI大模型

Baihai IDP

人工智能 开源 大模型 Stable Diffusion llama

【直播回顾】数字化转型成为银行业发展的关键(中)

易观分析

金融 银行

MySQL8.0 优化器介绍(二)

GreatSQL

MySQL greatsql greatsql社区

零拷贝浅析

数新网络官方账号

大数据 零拷贝

学会提示-AI时代职场必修课

京东科技开发者

人工智能 京东云 GPT ChatGPT4 企业号 4 月 PK 榜

突破规模化运维瓶颈 SREWorks云原生数智运维平台揭秘

阿里云大数据AI技术

大数据 运维 企业号 4 月 PK 榜 规模化

C语言_sprintf固定字符串输出位数

DS小龙哥

三周年连更

架构师才需要学习的知识:亿级流量调优方法+实战

做梦都在改BUG

Java 性能优化 性能调优

【机器学习入门与实践】合集入门必看系列,含数据挖掘项目实战

汀丶人工智能

人工智能 数据挖掘 机器学习 深度学习

报名啦!来飞桨中国行,听深度学习平台+大模型如何破局产业智能化

飞桨PaddlePaddle

飞桨 产业赋能

布隆过滤器:后端开发者必学的知识点

华为云开发者联盟

后端 开发 华为云 华为云开发者联盟 企业号 4 月 PK 榜

详解,LED显示屏灰度等级

Dylan

灰度 LED显示屏 色彩

带你用三种不同的工具体验AI作诗

华为云开发者联盟

云计算 华为云 华为云开发者联盟 企业号 4 月 PK 榜

面对一堆烂代码,重构,还是重新开发?

架构精进之路

程序员 重构 三周年连更

Redis复制(replication)

京茶吉鹿

数据库 nosql redis

大数据基础知识

数新网络官方账号

大数据

论文解读:基于 OpenMLDB 的流式特征计算优化

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

小红书广告投放机制详解,如何用算法实现全站自动化投放

小红书技术REDtech

大数据 搜索

大模型的三大法宝:Finetune, Prompt Engineering, Reward

Baihai IDP

人工智能 大模型 基础模型 企业号 4 月 PK 榜 RLHF

发现Mysql的主从数据库没有同步,差点凉凉了

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 4 月 PK 榜

深入浅出的实践大数据DAG图

数新网络官方账号

企业应用可观测性利器!华为云CodeArts APM发布

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟 企业号 4 月 PK 榜

NFTScan 与 NodeReal 达成战略合作:NFT API 已上架 NodeReal API Marketplace

NFT Research

NFT NFTScan

云原生助力数字原生企业业务快速迭代|阿里云峰会精彩回顾

阿里巴巴云原生

阿里云 云原生

从此告别写SQL!DataLeap帮你零门槛完成“数据探查”

字节跳动数据平台

MySQL 数据分析 数据治理 数据探查 企业号 4 月 PK 榜

阿里1688实时数据工程实践_大前端_DataFunTalk_InfoQ精选文章