一种基于Kubernetes录播厂商的资源入库方法及系统技术方案

技术编号:35659532 阅读:24 留言:0更新日期:2022-11-19 16:57
本发明专利技术涉及一种基于Kubernetes录播厂商的资源入库方法及系统,它包括录播厂商、录播厂商管理平台、调度平台、Celery和K8s Job;录播厂商用于对学校产生的教学内容进行记录和暂存;录播厂商管理平台用于管理多录播厂商信息和入库任务下发;调度平台用于接收入库任务请求,并检测任务的运行状态;Celery用于实现任务的流转、调度和持久化;K8s Job用于为任务执行镜像,负责判断资源类型并执行直接下载入库或者转码入库。本发明专利技术通过智能调度平台进行任务的下发,根据不同的任务判断条件下发不同的处理任务,基于Kubernetes的任务调度,实现大规模任务的下发与检测,保证海量数据入库的可能性。可能性。可能性。

【技术实现步骤摘要】
一种基于Kubernetes录播厂商的资源入库方法及系统


[0001]本专利技术涉及数据资源存储
,尤其涉及一种基于Kubernetes录播厂商的资源入库方法及系统。

技术介绍

[0002]随着线上教育的推广和普及,越来越多的教学录播视频资源随之产生,同时也衍生出了对教学录播视频资源统一入库管理的需求。其中教学录播视频资源可能由不同厂商的设备产出,且存放在不同的存储设备中;这对资源统一入库管理产生了以下困难:一、资源分散:资源散落在不同的硬件载体,如录播主机、文件存储、对象存储、录播平台等渠道,用户无法实现不同厂商,不同载体,不同平台间的统一学习;二、格式不一:各厂商的设备产生的教学录播视频资源可能具有不同的格式或封装(有的甚至是切片的视频资源)。如传统基于监控的厂商输出多为 avi、基于智能摄像头录制格式多为 mp4、基于云录播设备的厂商多为 m3u8,如何统一化格式进行入库,是资源入库与统一管理的关键点;三、内容不一致:在不同的厂商间,存在监控摄像头的无音频视频、存在 ACC 的音频格式等,存在 H264 的编码、VP9、VP8 等编码格式。那么如何鉴别入库资源的是否满足入库要求、决定不满足要求的资源如何进行下一步等都是关键问题。

技术实现思路

[0003]本专利技术的目的在于克服现有技术的缺点,提供了一种基于Kubernetes录播厂商的资源入库方法及系统,解决了现有对资源入库管理中存在的不足。
[0004]本专利技术的目的通过以下技术方案来实现:一种基于Kubernetes录播厂商的资源入库系统,它包括录播厂商、录播厂商管理平台、调度平台、Celery、K8s Job和资源库;所述录播厂商用于对学校产生的教学内容进行记录和暂存;所述录播厂商管理平台用于管理多录播厂商信息,统合和执行录播数据的入库任务下发;所述调度平台用于接收入库任务请求,并检测任务的运行状态;所述Celery用于实现任务的流转、调度和持久化;所述K8s Job用于为任务执行镜像,负责判断资源类型并执行直接下载入库或者转码入库;所述资源库用于对教育资源进行集中管理。
[0005]所述调度平台包括调度平台Service和调度平台Worker;所述调度平台Service负责接收入库任务请求,保持任务信息,推送任务信息入队列;所述调度平台Worker负责从任务队列中取出任务信息执行,并检测任务的运行状态。
[0006]一种基于Kubernetes录播厂商的资源入库系统的方法,所述方法包括:录播厂商管理与接入步骤:平台提供录播厂商的管理以及接入API规范,支持以录播厂商SDK的模式或者标准HTTP上报的模式进行数据对接;录播资源数据下发步骤:录播厂商管理平台通过对调度平台Service发起请求,实现录播资源任务下发,调度平台Service创建和记录任务信息,并通过Celery任务队列将任务信息流转给调度平台Worker;
录播入库任务调度与执行步骤;调度平台worker接收任务信息后,通过对K8s的接口调用,并创建任务Job后,进行封装后执行视频检测指令、下载指令和视频转码任务的操作;录播入库任务状态检测和推送步骤:对任务Job的状态进行轮询后进行资源入库,并记录资源入库的响应结果,推送到消息队列中。
[0007]所述录播入库任务调度与执行步骤具体包括:调度平台worker接收任务信息后,通过对K8s的接口调用,创建任务Job,通过对Job打标签或者加节点容忍,实现对K8s自身调度逻辑的利用,达到多主机节点间负载均衡和特定节点避让的目的;在任务Job容器中基于对MPC和FFmpeg的功能进行封装,执行视频检测指令、下载指令和视频转码任务的操作。
[0008]所述录播入库任务状态检测和推送步骤具体包括:调度平台Worker通过K8s接口对任务Job的状态进行轮询,当状态为成功时调用资源库的入库接口进行资源入库;调度平台Worker记录资源入库的响应结果,并推送到消息队列中。
[0009]所述录播厂商管理与接入步骤中需要基于课程与授课教室间的关系绑定、教室与录播间的关系绑定,建立课程与录播厂商间的绑定关系,为课程资源入库进行服务。
[0010]本专利技术具有以下优点:一种基于Kubernetes录播厂商的资源入库方法及系统,通过智能调度平台进行任务的下发,根据不同的任务判断条件下发不同的处理任务,基于 Kubernetes 的任务调度,实现大规模任务的下发与检测,保证海量数据入库的可能性。
附图说明
[0011]图1 为本专利技术方法的流程示意图。
具体实施方式
[0012]下面结合附图对本专利技术做进一步的描述,但本专利技术的保护范围不局限于以下所述。
[0013]本专利技术针对于智慧教室不同录播厂商间视频格式不一致、来源不一致、内容不一致等问题提供解决方法;通过智能调度平台进行任务的下发,根据不同的任务判断条件下发不同的处理任务,基于 Kubernetes 的任务调度,实现大规模任务的下发与检测,保证海量数据入库的可能性。具体包括:录播厂商:负责学校所生产教学内容(即原始资源)的记录和暂存;录播厂商管理平台:负责管理多录播厂商信息,统合和执行录播数据的入库任务下发;调度平台 Service:负责接收入库任务请求,保存任务信息,推送任务信息入队列;Celery:基于 RabbitMQ 或 Redis 的任务队列组件,负责任务的流转、调度和持久化等;调度平台 Worker:负责从任务队列中取出任务信息并执行,并检测任务的运行状态;K8s Job:由调度平台 Worker 调用 K8s 任务接口发起,本质为特定的任务执行镜像,负责判断资源类型并执行直接下载入库或转码入库;资源库:教育资源的集中管理平台,资源流转的终点。
[0014]如图1所示,本专利技术实现的流程如下:
录播厂商管理与接入:平台提供录播厂商的管理以及接入 API 的规范,支持以录播厂商 SDK 的模式或标准 HTTP 上报的模式进行数据对接。基于课程与授课教室间的关系绑定、教室与录播间的关系绑定,建立课程与录播厂商间的绑定关系,为课程资源入库进行服务;录播资源数据下发:录播厂商管理平台通过对调度平台 Service 发起请求,实现录播资源任务下发;调度平台 Service 创建和记录任务信息,并通过 Celery 任务队列将任务信息流转给调度平台 Worker;进一步地,封装任务镜像,该镜像支持接收参数:源文件 URL、输出路径,然后使用 MPC 基于源文件类型判断是否需要转码,并进行转码下载或直接下载,最后保存文件到指定的输出路径;录播厂商管理服务将视频的源文件 URL 和元数据作为参数,通过 RESTful API 接口向调度平台 Service 发起请求;录播入库任务调度:调度平台 Worker 接收任务信息后,通过对 K8s 的接口调用,创建任务 Job;通过对 Job 打标签或添加节点容忍,实现对 K8s 自身调度逻辑的利用,达到多主机节点间负载均衡,以及特定节点避让的目的;录播入库任务执行:任务 Job 容本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Kubernetes录播厂商的资源入库系统,其特征在于:它包括录播厂商、录播厂商管理平台、调度平台、Celery、K8s Job和资源库;所述录播厂商用于对学校产生的教学内容进行记录和暂存;所述录播厂商管理平台用于管理多录播厂商信息,统合和执行录播数据的入库任务下发;所述调度平台用于接收入库任务请求,并检测任务的运行状态;所述Celery用于实现任务的流转、调度和持久化;所述K8s Job用于为任务执行镜像,负责判断资源类型并执行直接下载入库或者转码入库;所述资源库用于对教育资源进行集中管理。2.根据权利要求1所述的一种基于Kubernetes录播厂商的资源入库系统,其特征在于:所述调度平台包括调度平台Service和调度平台Worker;所述调度平台Service负责接收入库任务请求,保持任务信息,推送任务信息入队列;所述调度平台Worker负责从任务队列中取出任务信息执行,并检测任务的运行状态。3.根据权利要求1或2所述的一种基于Kubernetes录播厂商的资源入库系统的方法,其特征在于:所述方法包括:录播厂商管理与接入步骤:平台提供录播厂商的管理以及接入API规范,支持以录播厂商SDK的模式或者标准HTTP上报的模式进行数据对接;录播资源数据下发步骤:录播厂商管理平台通过对调度平台Service发起请求,实现录播资源任务下发,调度平台Service创建和记录任务信息,并通过Celery任务队列将任务信息流转给调度平台Worker;录播...

【专利技术属性】
技术研发人员:余军张宇燕张紫徽叶树林冯敬
申请(专利权)人:成都华栖云科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1