当前位置: 首页 > 专利查询>浙江大学专利>正文

基于云原生控制器的spark视频转码系统及视频转码方法技术方案

技术编号:34806519 阅读:18 留言:0更新日期:2022-09-03 20:14
本发明专利技术公开一种基于云原生控制器的spark视频转码系统及视频转码方法,具体是一种基于云原生控制器和spark的视频转码系统及视频转码方法。其中,方法包括:用户提交http请求到多媒体服务器;多媒体服务器通过分布式数据库将作业分发给转码执行单元,转码执行单元按照分片、转码、合并的流程处理转码作业,并将中间结果和最终转码结果保存到分布式文件系统中;转码执行单元执行完转码作业后将结果返回给多媒体服务器;云原生控制器根据转码系统中作业数量、集群资源资源水位和转码执行单元资源利用率,控制集群中转码执行单元的个数。本发明专利技术的基于云原生控制器的spark视频转码系统及视频转码方法具有转码速度快、保障转码系统高峰期服务质量的优点。期服务质量的优点。期服务质量的优点。

【技术实现步骤摘要】
基于云原生控制器的spark视频转码系统及视频转码方法


[0001]本专利技术涉及视频转码
,具体涉及一种基于云原生控制器的spark视频转码系统及视频转码方法。

技术介绍

[0002]随着蜂窝通讯技术由3G到5G的快速发展,移动设备的网络接入速率由几百kbps逐步升级到数百mbps,使用移动设备播放长视频成为一种常态。然而不同移动设备支持的视频格式以及码率是不同的,某个网站的视频在被移动设备访问之前必须要转码成该设备支持的格式。传统的单机转码方法在视频时长越来越长、码率不断变大的今天,存在着转码速度慢和效率低下的缺点。将一个视频文件切成多个分发到多台机器上并行处理,最后合成一个大的视频文件,能够有效的解决长视频的转码速度慢问题。不依赖现有的分布式编程框架开发一个分布式系统处理转码作业,则由于分布式系统需要处理的的各种复杂问题,比如单点失败、可用性、网络分区而显得难度高、风险大。为了解决上述存在的问题,如公开号为CN104539978A的中国专利公开了一种云环境下的视频转码系统方法,包括部署有hadoop计算框架的openstack平台、作业配置模块、视频分割管理模块、视频传输模块等,该系统利用OpenStack和Hadoop的特性将集群的资源进行高效的调度,提高分布式视频转码的效率,但是该系统视频文件的分割依靠另一个服务,增加了系统的复杂度,而且该系统处于容错考虑会对转码的视频文件进行备份,增加了存储的开销。又如公开号为CN111093095A的中国专利公开了一种基于spark平台的视频转码方法,包括接受请求的webserver、视频分割节点、hdfs、spark集群以及mysql数据库,该系统利用视频分割节点切分视频文件,利用spark集群处理分布式转码,对比mapreduce的实现方式转码更加快速,然而该方案要引入额外的服务进行视频分割增加了系统的复杂度,而且该实现将以二进制的视频文件本身作为RDD中的数据,使得spark driver和worker之间有大量的数据需要传输,在driver需要处理很多视频文件的情况下给driver增加了巨大的负担,使得driver成为系统性能瓶颈。
[0003]Kubernetes是目前云计算领域的使用最广泛的基础架构,是谷歌开源的一个面向容器场景的集群管理系统。Kubernetes集群由两种类型的节点构成,master节点接收用户请求并维护集群状态,工作节点按照master的指令管理一些工作负载。用户通过提交作业声明到kubernetes,master节点根据作业声明创建对应的工作负载并分派给具体的工作节点,工作节点则会将负载启动并维护负载的生命周期。Spark是一个专门针对数据处理的分布式计算引擎,其基于弹性分布式数据集在不同的节点之间共享数据,并提供了丰富的算子,而spark

on

kubernetes

operator是k8s社区为了让spark应用可以更加简单的运行在kubernetes集群中而开发的一个operator。利用该operator,只需要编写对应spark作业声明,kubernetes就会自动创建一个spark应用并运行。

技术实现思路

[0004]针对现有技术的不足,本专利技术提供一种基于云原生控制器的spark视频转码系统及视频转码方法,利用spark分布式计算引擎实现分布式转码同时根据集群资源水位和作业量控制spark应用数量,能够有效减少长视频转码时间、提高转码系统吞吐量和降低成本。
[0005]本专利技术的目的通过如下的技术方案来实现:
[0006]一种基于云原生控制器的spark视频转码系统,所述系统包括:
[0007]多媒体服务器,接收用户提交的http请求,生成转码作业分发给转码执行单元;接收转码执行单元发送的http回调请求;更新转码作业信息中的转码作业执行结果,将转码作业执行结果返回给用户;将用户提交的http请求中包含的转码作业信息保存到关系型数据库中;所述http请求包括视频文件的分布式文件系统标识符、转码后的视频文件名称和转码参数;http回调请求的body中包含转码的结果和转码后视频文件的信息;
[0008]转码执行单元,是一个基于spark分布式计算框架的转码应用,由一个driver和若干个executor组成,负责接收所述多媒体服务器生成的转码作业,将视频文件分割成可独立播放的视频文件,分割完成后保存到分布式文件系统;从分布式文件系统下载分割后的视频文件转码,并将转码结果保存回分布式文件系统;从分布式文件系统下载转码后的全部视频文件,并将这些视频文件按照顺序合并成一个文件,将合并的结果保存到分布式文件系统;转码执行单元还用于向多媒体服务器发送http回调请求;
[0009]分布式数据库,用于实现多媒体服务器和转码执行单元之间的转码作业信息分发;
[0010]关系型数据库,保存用户提交的http请求中包含的转码作业信息;
[0011]分布式文件系统,保存转码前后的视频文件以及中间结果;
[0012]云原生控制器,用于获取分布式数据库中转码作业的数量、云原生集群的总体负载、转码执行单元的资源使用情况,决定增加/减少处理转码的转码执行单元的数量。
[0013]进一步地,所述云原生控制器通过如下的方式决定增加/减少处理转码的转码执行单元的数量:
[0014]从分布式数据库获取当前集群中的转码作业数量,根据单个转码执行单元的处理能力计算出当前作业量下需要的转码执行单元的个数,与当前集群中拥有的转码执行单元的个数进行比较,如果当前集群中拥有的转码执行单元的个数小于当前作业量下需要的转码执行单元的个数,则所述云原生控制器创建新的转码执行单元;否则,转码执行单元不需要扩容,进一步判断当前集群中的转码执行单元的负载是否低于某个阈值,如果低于阈值则缩容系数加一;再进一步判断缩容系数,当缩容系数大于缩容阈值时,触发缩容逻辑,从集群中销毁一个转码执行单元。
[0015]一种基于spark的视频转码方法,该方法包括如下步骤:
[0016]步骤一:所述分布式文件系统接收并保存用户上传的需要转码的视频文件,所述多媒体服务器接收用户提交的http请求;所述http请求包括视频文件的分布式文件系统标识符、转码后的视频文件名称和转码参数;
[0017]步骤二:所述多媒体服务器生成转码作业分发给转码执行单元,转码执行单元先将视频文件分割成可独立播放的视频文件,分割完成后保存到分布式文件系统;转码执行
单元再从分布式文件系统下载分割后的视频文件转码,并将转码结果保存回分布式文件系统;转码执行单元从分布式文件系统下载转码后的全部视频文件,并将这些视频文件按照顺序合并成一个文件,将合并的结果保存到分布式文件系统;
[0018]步骤三:合并执行完成后,转码执行单元向所述多媒体服务器发送http回调请求,请求body中包含转码的结果和转码后视频文件的信息;所述多媒体服务器将转码结果返回给用户。
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于云原生控制器的spark视频转码系统,其特征在于,所述系统包括:多媒体服务器,接收用户提交的http请求,生成转码作业分发给转码执行单元;接收转码执行单元发送的http回调请求;更新转码作业信息中的转码作业执行结果,将转码作业执行结果返回给用户;将用户提交的http请求中包含的转码作业信息保存到关系型数据库中;所述http请求包括视频文件的分布式文件系统标识符、转码后的视频文件名称和转码参数;http回调请求的body中包含转码的结果和转码后视频文件的信息;转码执行单元,接收所述多媒体服务器生成的转码作业,将视频文件分割成可独立播放的视频文件,分割完成后保存到分布式文件系统;从分布式文件系统下载分割后的视频文件转码,并将转码结果保存回分布式文件系统;从分布式文件系统下载转码后的全部视频文件,并将这些视频文件按照顺序合并成一个文件,将合并的结果保存到分布式文件系统;转码执行单元还用于向多媒体服务器发送http回调请求;分布式数据库,用于实现多媒体服务器和转码执行单元之间的转码作业信息分发;关系型数据库,保存用户提交的http请求中包含的转码作业信息;分布式文件系统,保存转码前后的视频文件以及中间结果;云原生控制器,用于获取分布式数据库中转码作业的数量、云原生集群的总体负载、转码执行单元的资源使用情况,决定增加/减少处理转码的转码执行单元的数量。2.根据权利要求1所述的基于云原生控制器的spark视频转码系统,其特征在于,所述云原生控制器通过如下的方式决定增加/减少处理转码的转码执行单元的数量:从分布式数据库获取当前集群中的转码作业数量,根据单个转码执行单元的处理能力计算出当前作业量下需要的转码执行单元的个数,与当前集群中拥有的转码执行单元的个数进行比较,如果当前集群中拥有的转码执行单元的个数小于当前作业量下需要的转码执行单元的个数,则所述云原生控制器创建新的转码执行单元;否则,转码执行单元不需要扩容,进一步判断当前集群中的转码执行单元的负载是否低于某个阈值,如果低于阈值则缩容系数加一;再进一步判断缩容系数,当缩容系数大于缩容阈值时,触发缩容逻辑,从集群中销毁一个转码执行单元。3.一种基于权利要求1~2中任意一项的视频转码系统的视频转码方法,其特征在于,该方法包括如下步骤:步骤一:所述分布式文件系统接收并保存用户上传的需要转码的视频文件,所述多媒体服务器接收用户提交的http请求;所述http请求包括视频文件的分布式文...

【专利技术属性】
技术研发人员:叶浩田鲍江南丁汉都杨波威
申请(专利权)人:浙江大学
类型:发明
国别省市:

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

1