阿里工程师用 8 张图告诉你如何存储、管理泛内容数据

作者| 阿里文娱高级开发工程师 至德

责编 | 王晓曼

头图 | CSDN 下载自东方 IC

用户在优酷或者其它互联网App上看到的文字、图片、视频等,都可以被称为内容,那么这些内容是如何被生产、管理和组织的?本文将简单介绍阿里文娱是如何利用网状关系组织泛内容,以及如何构建泛内容的网状关系。

泛内容存储管理的挑战

1、数据规模大:在阿里文娱内,泛内容实体类型多,实体数据规模庞大,如何高效存储和管理;

2、兼顾内容生产和分发: 泛内容数据管理方式,既要提供快捷的内容生产模式,又能在分发链路上提效;

3、扩展能力要求: 泛内容实体类型会随着业务发展而不断增加,运营的新玩法也层出不穷,泛内容的存储管理方式,要能够适应和支撑未来的业务发展,必须要具有很强的业务扩展能力。

什么是泛内容的网状关系

标签是被广泛应用于内容管理的一种方式,内容生产链路上,我们会将内容通过机器学习算法或人工标注的方式打上相关标签。通过这些标签,将内容连接并组织成一张网。如图 1所示,以视频为例,独立的视频通过标签被连接成了一张网络。

图 1 视频通过标签连接成网

有了内容的连接关系,内容的组织方式也有了更多样的玩法,运营同学也拥有了更丰富的运营工具进行内容分发。如图 2所示,我们可以根据运营需求,将标签1升级为话题,标签2升级为榜单。运营便可以将视频A、B、E组织成为一个话题,将视频C、D组织成为一个榜单,用于前台运营活动。

图 2 标签升级为话题和榜单

如图 3所示,左图为沉浸式视频播放页,可以通过点击左下角话题标签跳转至右图的话题详情页,详情页列表中则通过 Feeds 流形式展现出该话题下所有视频。

图 3 优酷内标签话题引导形式

泛内容网状关系背后的支撑技术是统一标签服务,其包括标签结构及打标结果的定义、基于媒资平台的核心标签服务、以及面向运营的标签管理工具和打标工具,下面的篇幅中将依次进行介绍。

标签结构及打标结果的设计

用户或运营在为内容打标时,为了提高打标效率,往往会先选择一个分类标签,然后再针对这个分类进行打标。传统设计中,标签结构往往被描述为一颗树,只能描述标签间的父子关系,例如图 4所示的五层标签树。传统的标签结构在描述这种场景时,主要有两个问题:

1. 前三层的标签是父子关系,但是第四层和第三层之间是属性关系,两种关系应区别对待;

2. 第五层和第四层之间是属性值的关系,也应区别对待。

图 4 传统标签结构设计

统一标签服务的标签结构对上述两种关系进行了抽象,如图 5所示。

首先,引入了标签类型的概念,每一个标签类型是个森林,例如图中紫色方框标表示的分类、赛事、技巧标签类型。对于简单的标签场景,例如内容标签、质量标签等场景,只需要使用标签类型即可支持场景。

其次,对于复杂场景,引入了子标签类型和标签分组的概念,图中橙色箭头表示运动分类标签关联了赛事和技巧两个子标签类型,当一个内容被标记为运动或其子分类时,这些内容都可以继续打赛事和技巧两类标签。图中绿色方框表示用篮球、足球对赛事和技巧类型的标签进行了可重叠的分组。

这一套标签结构表述能力十分强大,支撑了目前泛内容的所有标签。

图 5 统一标签服务的标签结构

上述标签结构描述的标签为枚举型标签,除枚举型外,打标结果中还支持保存开放型标签和关联型标签。其他标签类型的方案设计暂且不在本文赘述。

核心标签服务

所有的原始数据,标签库和打标结果,都保存在媒资平台,从理论上说,媒资平台已经具备了内容的打标能力。然而这个读写能力较为原始,业务方使用起来多有不便,所以需要一个系统对原始能力针对标签业务进行业务封装,为业务方提供好用的标签服务,这就是核心标签服务,如图 6所示。

其主要功能包括,对标签按路径进行展开,支持按照标签来源、按照标签类型、按照操作来源进行打标,提供了打标结果横竖转换的能力,同时还具备权限控制和流量控制能力。

为了支持运营和算法不断地对标签体系进行迭代,核心标签服务中还提供标签体系的 ABTest 能力。

图 6 核心标签服务

标签管理工具和打标工具

标签管理工具基于媒资内容管理平台搭建,为运营提供标签体系的查看、审核、新增、修改、下线、删除、批量导入导出等功能。

由于打标流程中涉及机审、人审不同的打标方式,还涉及质量类标签、安全类标签、业务类标签等多种标签类型的打标需求,业务上需要使用打标工作流系统实现流程编排,如图 7举例所示(仅为流程编排示意,非实际业务流程)。通过打标工作流系统,可以按照业务需求实现复杂的打标流程管理。

图 7 举例打标流程(非实际业务流程)

小结和展望

目前,泛内容的网状关系有效组织和管理了阿里文娱内海量的长短视频、节目、人物、角色等泛内容实体,在生产和分发侧,都便捷的支撑了算法和运营需求,并且不断的为运营同学扩展提供了话题、榜片单等多种运营工具用于不同的内容分发场景,产生了极大的业务价值。

未来,泛内容的网状关系也将在数据和算法方面进行深度挖掘,通过算法推动网状关系演进,并且在算法打标、算法推荐等场景,利用网状关系提升算法效果,最终更好地服务用户。


更多推荐阅读

  • 2020 年最厉害的 10 门编程语言

  • 大咖说中台 | 建设数据中台系列(五)——中台架构详解(下)

  • 学会这10大高性能开发技术,轻松躲过裁员名单!

  • 不用鼠标,程序员编程竟能如此高效?“善”用区块链:善是初心,链是保障

  • 用 Python 详解《英雄联盟》游戏取胜的重要因素!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/516739.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nexus3 作为maven 私服配置国内加速以及企业管理内部jar IDEA 实战

文章目录一、nexus3 配置1. 新建仓库概述2. 阿里云代理仓库3. 自己的仓库4. 自己的仓库组二、maven配置2.1. 私服配置2.2. 替换后的配置三、IntelliJ IDEA3.1. 创建项目3.2. 指定配置3.3. 下载依赖四、nexus3 监控4.1. 查看依赖版本4.2. 版本对比4.3. aliyun 仓库地址一、nexus…

大数据上云第一课:MaxCompute授权和外表操作躲坑指南

一、子账号创建、AK信息绑定 如果您是第一次使用子账号登录数加平台和使用DataWorks,需要确认以下信息: • 该子账号所属主账号的企业别名。 • 该子账号的用户名和密码。 • 该子账号的AccessKey ID和AccessKey Secret。 • 确认主账号已经允许子账号启…

程序员的年龄越大编程能力越弱???原来我们都理解错了

大多数人都说程序员是低调多金的代表,但是一旦年龄突破30岁,就容易陷入各种被嫌弃中,无法逃脱三十五岁定律。这让许多已到中年的程序员感觉忽然头上悬了几把剑。一位74岁的数据科学家Gene DAngelo则恰恰相反。他曾在社区提出话题:…

唱吧基于 MaxCompute 弥补自建体系的不足

本文作者:马星显 唱吧大数据负责人 使用 MaxCompute之前,唱吧使用自建体系来存储处理各端收集来的日志数据,包括请求访问记录、埋点数据、服务器业务数据等。初期这套基于开源组件的体系有力支撑了数据统计、业务报表、风控等业务需求。但随…

1.倒排索引 2.逻辑斯提回归算法

1.倒排索引 https://help.aliyun.com/zh/open-search/retrieval-engine-edition/introduction-to-inverted-indexes 倒排索引(Inverted Index)是一种数据结构,用于快速查找包含某个特定词或词语的文档。它主要用于全文搜索引擎等应用&#…

塑云科技基于 KafKa+OTS+MaxCompute 完成物联网系统技术重构

塑云科技:性能突破,基于KafKaOTSMaxCompute 完成了一次物联网系统技术重构 背景:创业团队,专注于氢能燃料电池生态链的运营支撑,当前主要的业务组成为新能源车整车实时运营监控分析,加氢站实时运营监控分析…

什么是Docker?看这一篇文章就够了

作者 | 码农的荒岛求生来源 | 程序员小灰(ID: chengxuyuanxiaohui)程序员,应该怎样理解docker?容器技术的起源假设你们公司正在秘密研发下一个“今日头条”APP,我们姑且称为明日头条,程序员自己从头到尾搭建…

基于MaxCompute 衣二三帮助客户找到合适自己的衣服

摘要:本文由衣二三CTO程异丁为大家讲解了如何基于MaxCompute构建智能化运营工具。 衣二三作为亚洲最大的共享时装平台,MaxCompute是如何帮助它解决数据提取速度慢、数据口径差异等问题呢?程异丁通过衣二三数据体系架构,从用户运营…

Nexus 3.31.1 maven 私服 搭建篇 linux

文章目录1. Nexus 3 下载2. 解压3. 目录调整4. 重命名5. 创建用户6. 调整家目录7. 指定启动用户8. 环境变量配置9. 刷新环境变量10. 修改工作目录11. 指定jdk12. 修改权限13. nexus启动14. 状态验证15. 浏览器验证16. 登录17. 初始化设置软件版本JDK1.8.0_202Nexus3.31.1Disk s…

Typora简介

Typora简介 一、Typora是什么? ​ Typora 是一款支持实时预览的 Markdown 文本编辑器。它有 OS X、Windows、Linux 三个平台的版本,并且由于仍在测试中,是完全免费的。 ​ Typora 首先是一个 Markdown 文本编辑器,它支持且仅支…

基于MaxCompute InformationSchema进行血缘关系分析

一、需求场景分析 在实际的数据平台运营管理过程中,数据表的规模往往随着更多业务数据的接入以及数据应用的建设而逐渐增长到非常大的规模,数据管理人员往往希望能够利用元数据的分析来更好地掌握不同数据表的血缘关系,从而分析出数据的上下游…

不要再被 Python 洗脑了!!

Python 作为一种解释型技术脚本语言,越来越被认可为程序员新时代的风口语言。 无论是刚入门的程序员,还是年薪百万的 BATJ 的技术大牛都无可否认:Python的应用能力是成为一名码农大神的必要项。 而作为Python初学者来讲,最大的问题…

Nexus 3.31.1 maven 私服 仓库配置篇 linux

文章目录1. 新建仓库概述2. 阿里云代理仓库3. 自己的仓库4. 自己的仓库组5. 效果图1. 新建仓库概述 总共新建3各仓库 一个是国内开源仓库,加速下载 一个是自己的仓库,用于存放自己公司的jar 一个是子类型的仓库,用于将上述两个组成一个地址 …

Struct复杂数据类型的UDF编写、兼容HIVE的GenericUDF编写

一、背景介绍: MaxCompute 2.0版本升级后,Java UDF支持的数据类型从原来的BIGINT、STRING、DOUBLE、BOOLEAN扩展了更多基本的数据类型,同时还扩展支持了ARRAY、MAP、STRUCT等复杂类型,以及Writable参数。Java UDF使用复杂数据类型…

如何跨项目工作空间访问MaxCompute资源和函数?

1、背景介绍 同一个主账号下面的两个工作空间,工作空间名称分别为 A工作空间名称:wei_wwww A工作空间子账号:mc_oss B工作空间名称:wei_mc B工作空间子账号:bigdata_wei 现在B工作空间子账号bigdata_wei需要访问A工作空间子账号mc_oss创建的U…

Nexus 3.31.1 maven 私服 仓库和IntelliJ IDEA 2021.2 实战篇 linux

文章目录一、maven配置1. 私服配置2. 替换后的配置二、IntelliJ IDEA2.1. 创建项目2.2. 指定配置2.3. 下载依赖三、nexus3 监控3.1. 查看依赖版本3.2. 版本对比3.3. aliyun 仓库地址一、maven配置 1. 私服配置 在本地的maven 配置settings.xml内容,用下面内容覆盖…

我把这篇文章给女朋友看,她终于明白什么是「数据中台」了

来源 | 智领云科技责编 | Carol封图 | CSDN 下载自视觉中国这几天,女朋友一直忙着为自己挑选情人节礼物,毕竟直男的审美她也觉得不靠谱。就在昨天,她气冲冲地跑过来问我:为什么有些平台总是推荐一些我不喜欢的东西?为什…

发光的二次元克拉克拉 满足年轻用户个性化、碎片化的文娱需求

克拉克拉(KilaKila)是国内专注二次元、主打年轻用户的娱乐互动内容社区软件。KilaKila 推出互动语音直播、短视频配音、对话小说等功能,满足当下年轻用户个性化、碎片化的文娱需求。随着业务规模增长,海量数据存储与计算的瓶颈也日…

Nexus 3.31.1 maven 私服 服务器配置篇 linux

文章目录一、以服务运行1. 编写配置2. 赋予可执行权限3. 配置自启动4. 启动nexus5. 监控状态6. 停止服务二、配置文件说明2.1. JAVA配置2.2. 自定义配置2.3. 工作/日志 目录修改三、使用nginx代理3.1. HTTP3.2. HTTPS四、其他配置4.1. 配置匿名访问4.2. 更改管理员电子邮件地址…

混合云模式助力斗鱼搭建混搭大数据架构

云栖号案例库:【点击查看更多上云案例】 不知道怎么上云?看云栖号案例库,了解不同行业不同发展阶段的上云方案,助力你上云决策! 案例背景 2019杭州云栖大会大数据企业级服务专场,由斗鱼大数据高级专家张龙…