优酷App业务架构设计与全链路应用实践 阿里巴巴高级无线开发专家/郭帅(卜道) 2023年2月 Web 优酷——覆盖多端的泛娱乐综合视频平台 手机平板电视机顶盒PCMac车机IoT设备 剧集综艺电影 覆盖85%以上一线卫视大剧 版权剧数十万集 港台剧数百部 独家剧近千部 国产综艺近千档,覆盖近90%卫视节目 海外版权库覆盖韩、英、美等 自制/合制综艺数百档 院线TOP100新片覆盖率80%以上 电影片库储备近万部 网络电影数千部 体育动漫+少儿直播 头部IP资源实现80%以上覆盖 重大赛事——奥运会、世界杯、亚运会 篮球——CBA、CUBA、3V3 搏击——WWE、UFC、Glory 台球——斯诺克、中式黑八、九球 动漫少儿内容数千部 独家动漫数百部 小小优酷数千部高质量中外动画 头部品类发布会直播 CBA赛事直播 来疯秀场直播 淘宝直播 业务 多场景/多品类 低成本/高效率 多端/多App 技术 极致体验 技术赋能 抑制熵增 组织 跨团队合作 组织变化 人才发展 技术 能力 业务 能力 组织 能力 业务架构设计是应对挑战的重要手段 优酷App业务架构所面临的挑战 业务发展 适应业务发展和行业环境的变化,保持足够的潜力和技术储备,降低试错的成本 2016 2017 2018 2019 2020 2021 2022 OS化 信息流 短视频 折叠屏 中视频 XR 动态化 直播 小程序 互动视频 App工厂 插件化 端智能 算法大数据 技术发展 2022年 2010年 2006年 优酷网上线 优酷移动端上线 优酷依然是少年 … … 适应近十年来移动平台和视频技术的发展变化,控制熵增、偿还技术债务,保持先进性和时代感 操作 系统 移动 终端 软件 技术 网络 技术 组织发展 适应团队的组织结构和规模的变化,保持较高的战斗力和动员能力,提升协作的效率 矩阵型组织结构(职能*项目) 直播播放器 优酷App业务架构一览 插件化技术 标准插件库 长视频播放器 定制插件库 沉浸流播放器 播放业务框架 端容器技术 消息中间件 垂直领域插件库 活动搭投模板 互动视频 互动播放体系 图层管理器 少儿播放器 互动容器 图文/视频工具 优酷 公共组件库 页面统一架构&组件模型 App基础架构 视觉标准化 网络库 UI设计工具 数据协议 AB实验平台 布局引擎 自动埋点 智能UI 信息流框架 组件开发IDE 埋点体系 跨端方案 动态化方案 跨端动态模板引擎 响应式UI 端智能技术 统一路由 组件模型 二级页平台 小程序框架 分层架构 统一服务框架 啄木鸟系列工具集 集成卡口体系 持续集成工具链 会员 历史记录 内容视角 个人中心 收藏/下载 长视频 中短视频 首页播放页 直播 频道 搜索 短视频 直播间 个人主页 业务视角 分发 消费 会员 商业化 社区 大型App的开发方式从垂直业务的视角 首页“子App” 迭代 敏捷 资源 闭环 团队 独立 流程 简化 捕捉 机会 节奏 统一 体验 一致 阵型 合理 规范 明确 分进 合击 优酷App 社区“子App” 会员“子App” 从应用全局的视角 插件化技术 直播播放器 播放业务框架 长视频播放器 沉浸流播放器 端容器技术 消息中间件 垂直领域插件库 活动搭投模板 互动视频 互动播放体系 图层管理器 少儿播放器 定制插件库 标准插件库 互动容器 图文/视频工具 优酷 公共组件库 页面统一架构&组件模型 App基础架构 视觉标准化 网络库 UI设计工具 数据协议 AB实验平台 布局引擎 自动埋点 智能UI 信息流框架 组件开发IDE 埋点体系 跨端方案 动态化方案 跨端动态模板引擎 响应式UI 端智能技术 统一路由 组件模型 二级页平台 小程序框架 分层架构 统一服务框架 啄木鸟系列工具集 集成卡口体系 持续集成工具链 建立设计语言的标准和范式,改变设计与开发的生产模式,实现设计与开发的品质及效率的提升。 产品设计阶段:通过组件化、规范化和工具化实现设计标准一体化 提供基于设计规范和DesignToken的设计标注导�工具和走查工具,降低流程上设计师与工程师的相互依赖。 设计导出工具 UI效果走查工具 在此基础能力上能较为方便的实现暗黑模式和响应式布局。 插件化技术 直播播放器 播放业务框架 长视频播放器 沉浸流播放器 端容器技术 消息中间件 垂直领域插件库 活动搭投模板 互动视频 互动播放体系 图层管理器 少儿播放器 定制插件库 标准插件库 互动容器 图文/视频工具 优酷 公共组件库 页面统一架构&组件模型 App基础架构 视觉标准化 网络库 UI设计工具 数据协议 AB实验平台 布局引擎 自动埋点 智能UI 信息流框架 组件开发IDE 埋点体系 跨端方案 动态化方案 跨端动态模板引擎 响应式UI 端智能技术 统一路由 组件模型 二级页平台 小程序框架 分层架构 统一服务框架 啄木鸟系列工具集 集成卡口体系 持续集成工具链 播放业务包含长视频、中短视频、直播等,在不同场景有着不同的播放器形态、交互和业务逻辑。 播放业务框架 播放能力 插件库 领域 SDK 播放器有一套视频播放相关的基础功能,此外还有许多不同的垂直能力,上层根据不同的内容和业务有更多的变化,由多个团队提供支持。 长视频 短视频 小视频 Feed流 广告 酷看 OnePlayerAPI 自定义插件 OnePlayer框架 锁屏插件连播插件 插件配置数据源 静音插件管理器管理器管理器 消息通道 层容器管理器 适配器管理器 事件管理器 VR 插件 标准插件 免流弹幕 插件插件 DLNA 插件 广告插件 VIP 插件 事件管理 VRSDK 免流SDK 弹幕SDK PlayerService DLNASDK 广告SDK VIPSDK PlayerCore 业务场景 API 播放器视图结构框架示意图 互动播放器 互动引擎 端侧通用性差 运营能力不足 开发体验不一致 设计交互不统一 精细化运营的内容分发场景所涉及的页面众多、UI多样、逻辑复杂、迭代频繁,由多个团队支持。 播放页 首页/频道 搜索页 发现页 会员 二级页 通用工具 标准业务组件 自动埋点 页面路由 调试工具 标准坑位 标准组件 标准抽屉 适配器管理 UI主题 播放控制 核心引擎 组件模型 页面生成器 组件工厂 数据加载器 样式解析器 Item Module 状态管理 事件分发器 多级缓存 配置解析器 Component Container 扩展管理 预请求 模型解析器 页面模型 配置解析数据管理 UITask/DomTask管理器 布局管理 生命周期 基础架构/服务 标准组件库 业务场景 业务服务 数据协议 •整体树状递归结构 •分离结构与业务字段 •单节点自描述 组件模型 内核 组件模型 •组件模型&组件工厂 •组件复用机制 基础能力 •组件扩展机制 页面容器 •页面模型&布局引擎 •统一生命周期&线程池 •可配置扩展点 创建流程 •统一数据请求 •统一数据解析 •统一缓存机制 一个方案、一套代码、一个团队,以最小边际成本支持多端 One系列——跨端动态模板引擎GaiaX IDE使用流程及阶段产物 插件化技术 直播播放器 播放业务框架 长视频播放器 沉浸流播放器 端容器技术 消息中间件 垂直领域插件库 活动搭投模板 互动视频 互动播放体系 图层管理器 少儿播放器 定制插件库 标准插件库 互动容器 图文/视频工具 优酷 公共组件库 页面统一架构&组件模型 App基础架构 视觉标准化 网络库 UI设计工具 数据协议 AB实验平台 布局引擎 自动埋点 智能UI 信息流框架 组件开发IDE 埋点体系 跨端方案 动态化方案 跨端动态模板引擎 响应式UI 端智能技术 统一路由 组件模型 二级页平台 小程序框架 分层架构 统一服务框架 多用途打包 啄木鸟系列工具集 集成卡口体系 持续集成工具链 建设能力图谱全面的掌握App各模块的业务归属、负责人、功能描述和文档链接等信息,并在此基础上建立对应的卡口体系和持续的监控及预警机制。 与研发流程紧密配合的卡口体系 利用卡口体系,去中心、低成本、前置化的解决包大小的治理问题。 Android卡口包大小问题 双十一临时版本 构建过程中的卡口应用 Android包大小变化 引入阿里集团技术底座 面向文娱业务的大基建 面向未来的探索 埋点体系及工具 动态化方案 AB实验平台 视频互动sdk 二级页平台 能力图谱 小程序框架 端智能 游戏引擎 包大小&性能卡口体系 响应式UI 持续集成 网络基础设施 信息流框架 自动埋点 视觉标准化 预警中心 暗黑模式 跨端技术 长辈模式 容器化技术 播放业务框架 统一架构&组件模型统一基础服务 动态模板引擎 2016 2017 2018 2019 2020 2021 2022 OS化 信息流 短视频 折叠屏 中视频 XR 动态化 直播 小程序 互动视频 App工厂 插件化 端智能 项目型组织结构 职能型组织结构 敏捷开发 架构设计 VSVS 人海战术 精兵策略 稳定业务 创新业务 VSVS AlibabaDigitalMedia&Entertainment Group 2023 共赴未来