更多云场景实践研究案例,点击这里:【云场景实践研究合集】联合不是简单的加法,而是无限的生态,谁会是下一个独角兽
作为中国领先的资讯类短视频生产者,梨视频采用阿里云平台搭建了数据处理系统和梨视频推荐系统,本文从架构和实现的角度介绍梨视频上云的实践经验。
“Log Store是一站式日志收集服务系统,通过配置、过滤将所需的日志推送到目标区域,它提供了两种消费途径:一是通过阿里云EMR中的Spark Streaming消费Log Store中的日志,进行实时分析、统计;二是将日志推送到阿里云OSS上永久备份,以供后期使用。”
——杨智梨视频大数据负责人
采用的阿里云产品
- 阿里云服务器ECS
- 阿里云对象存储 OSS
- 阿里云阿里云云数据库 RDS
- 阿里云云数据库Redis
- 阿里云 E-MapReduce
- 阿里云日志服务 LOG
关于 梨视频
梨视频是中国领先的资讯类短视频生产者,由资深媒体背景的专业团队和遍布全球的拍客网络共同创造,专注为年青一代提供适合移动端观看和分享的短视频产品。梨视频是跨平台的、开放的新媒体公司,其视频业务覆盖多个领域,经过深度编辑的聚合内容和独家的原创报道,与创新技术和工具结合后,为移动互联网时代的视频生产和消费提供了新标准。
梨视频基于阿里云的架构设计
梨视频整体架构主要由数据处理系统和推荐系统构成:
梨视频基于阿里云的数据处理系统
梨视频采用阿里云搭建的数据处理系统。对梨视频应用而言,数据的来源分为两方面:一方面是用户在终端的使用痕迹;另一方面是在应用上投放的内容,例如视频的标签、属性等。
首先梨视频基于阿里云的ECS搭建了一套Nginx日志收集服务器进行日志收集,在客户端压缩传输并定时上传日志,基于阿里云提供的组件Logtail将日志推送到一站式日志收集服务系统,它提供了两种消费途径:一是通过阿里云EMR中的Spark Streaming消费Log Store中的日志,进行实时分析、统计;二是将日志推送到阿里云OSS上永久备份,以供后期使用。
日志收集之后,需要对数据进行处理。梨视频以EMR为中心,构建了大数据处理中心。产品上所有基础数据都会进入EMR,并依托EMR进行任务管理,数据存储;后台服务器产生的日志、业务上的数据都将定时推送到集群中进行分析;数据分析之后,有两个输出方向:统计结果等数据会存放到MySQL中,供业务系统查询使用;实时反馈的数据会存入Redis中,以供推荐引擎等实时使用。
在数据层面,梨视频对数据进行了分层:最底层的数据是推送到集群上的日志以及推送到集群上的业务数据表等;基于数据表构建了一层基于场景的数据,例如用户观看了某个视频,该视频的详细信息都会存放在场景的数据表中;之后再进行一些宽表的统计,如某个视频的点击量,播放时长等信息。宽表又分为内容维度宽表和用户维度宽表,业务开发人员无需关心底层数据的存储和日志逻辑,只需要查看宽表即可获得想要的数据,实现了业务开发人员和底层数据的隔离。
如图是梨视频内的日志和数据处理数据流图。图中左上角是日志推送部分,浅蓝色部分代表不同类型的日志,如APP端、服务端等 ,将日志推动到Log Store中;之后通过两种方式消费日志:一是直接推送到OSS中;二是推送到EMR Spark Streaming中,用于统计、实时分析、搜索等。图中右上角是业务数据推送部分,各类业务表推送到集群中进行分析、存储等。
梨视频基于阿里云架构的推荐系统
梨视频推荐系统主要由三部分组成:Online、Near Online、Offline。该推荐系统是基于阿里云提供的组件搭建而成,主要涉及了LogStore、EMR、Redis、RDS等。其中召回模块按照兴趣召回候选集合;排序模块可根据需求和目标进行调整和融合;通过用户行为实时反馈提升用户体验;根据新闻趋势和个人长期兴趣建立用户画像;此外,引进基于人类记忆遗忘模型建模内容基础质量打分体系;通过评估系统让整体推荐系统变得可控。
梨视频Near Online:实时反馈系统
Near Online部分利用EMR中Spark Streaming实时消费日志搜集系统Log Store中的日志,分析的内容分为两个部分:一是用户24小时内兴趣分布的状况,24小时以前的数据通过离线的方式按天反馈到线上,用户24小时之内的内容通过实时的方式反馈,构建成用户兴趣分布图;二是用户24小时看过和不喜欢的内容会在三到五秒内反馈给模型,下一次推荐时不再出现该类内容。
Offline:用户兴趣画像
用户画像是推荐系统中的重中之重,推荐系统可以根据用户画像给用户推荐其可能感兴趣的内容。新闻趋势和其他领域略有不同,它是随着时间、事件不断变化的,如八月份的奥运会、目前的美国大选等。那么该如何把握新闻的趋势呢?一是根据自身发布的内容,在某一趋势到来时,发布的内容必然会偏向该趋势;二是整站的用户表现,多数用户会关注目前最火的新闻,两者相综合,既可以形成新闻趋势。另外一点是个人长期兴趣,比如长期关注娱乐、体育版块,通过分析用户长期在整站的行为,形成用户长期兴趣分布。新闻趋势和个人长期兴趣通过贝叶斯模型,整体再结合时间的分布构建出用户长期兴趣模型(即用户画像)。
在Offline部分,还需要对内容进行质量评估。之所以对内容进行评估,是因为在基础搜索模块需要对内容进行排序。目前,梨视频引进了基于人类记忆遗忘模型对质量进行评估,该模型遵循具有以下三个原则:
时效性强的内容,热度分衰减更快;
时效性弱的内容,热度分衰减慢;
最近发布的内容较历史稿件更有优势,更容易被用户发现。
整个推荐系统由两个闭环组成:实时闭环;离线闭环。实时闭环是指用户的操作3到5秒内可以反馈到Spark Streaming中,之后再快速推到线上,使其能够快速影响到下一次推荐结果。离线闭环是指日志会推到OSS中,每天对日志进行建模后再推到线上,第二天再回到数据中形成闭环。离线闭环和实时闭环配合实时评估和实验评估实现推荐系统整体可控,研发人员可以有的放矢地优化推荐结果。
关于梨视频的更多实践详情:专注年轻一代,基于E-MapReduce梨视频推荐系统
原文发布日期:2016-11-04
云栖社区场景研究小组成员:李杉杉,仲浩。