以下是介绍某互联网,视频后台转码业务流程的一个接口。
项目结构:
前端的web (manager) 管理和后台service (transcode) 项目组成。(真实情况肯定比这要复杂多)
交换方式:http (协议)。
运行环境:linux
业务流程:
流程介绍:
资源上传到存储服务器 (先省略) 这里暂时没有描绘。
这里主要说明一下transcode (部署在每一台转码机上),跟manager(web服务器)项目进行交换时,
如何完成汇报转码进度,成功取到新的转码任务及其实现原理。
(便于自己温故而知新,以后面试忽悠人!^_^!)
细节说明:
1,交互接口:www.test.com/checkschedul?parma={} (在manager里)。
2,对于生成的转码任务(Task) 在数据库中的状态(10,20,30)。 10 等待转码 ,20 转码中, 30转码失败。
3,每台转码机根据自身的配置(cpu,磁盘,读写情况)分为 高性能,低性能转码机。(说白了就是同一时间能转码几个视频)用槽位表示:slot 。
4,每台转码机都分配的有自己的角色(保存在数据库中),根据自己的角色取适合自己的任务。(这个是因为有很多视频,它们有优先级codelevel之分。)
为什么要介绍这个接口。这里主要是因为涉及的知识点比较多。我要用业务来复习知识。
先介绍转码代码: