基于云存储的分布式转码系统及其方法

文档序号:7886401阅读:384来源:国知局
专利名称:基于云存储的分布式转码系统及其方法
技术领域
本发明涉及电信和互联网业务的计算机网络视频存储和处理技术领域,尤其涉及一种基于云存储的分布式转码系统及其方法。
背景技术
随着电信业务和互联网业务的融合,音/视频的视听业务越来越普及,服务形式也多种多样,内容信息也爆炸性增长。业务系统需要为各种能力、类型的终端提供适应性的码流。为适配各种终端能力和业务展现场景的需要,视频转码需要提供更强的处理能力和更方便的调度。分布式转码技术,是提高转码性能的可行方法。但现有的分布式转码方案,往往只关注转码效率或转码视频效果本身,没有更多、更深入地考虑云计算的新环境下,如何解决分布式转码的新架构,以及提供分布式转码便捷调度的实际商用能力,包括如何重用云存储的分片能力、如何调度分布式转码能力等问题。

发明内容
本发明解决的技术问题是提供一种基于云存储的分布式转码系统及其方法,在云存储环境下对视频资源进行统一存储和转码处理。为解决上述技术问题,本发明提供了一种基于云存储的分布式转码方法,分布式转码平台根据应用终端发起的转码请求,向云存储平台请求待转码文件的存储信息;所述云存储平台向所述分布式转码平台返回所述待转码文件的存储信息,所述存储信息包括源文件分片的云存储位置;所述分布式转码平台根据所述云存储平台返回的源文件分片的云存储位置读取源文件分片,进行转码处理。进一步地,所述方法还包括:所述云存储平台向所述分布式转码平台返回所述待转码文件的存储信息还包括:转码后的目标文件分片的云存储位置;所述分布式转码平台对读取的源文件分片进行转码处理后,按照所述目标文件分片的云存储位置将转码后的分片保存至所述云存储平台。进一步地,所述云存储平台向所述分布式转码平台返回所述待转码文件的存储信息之前,包括:所述应用终端将所述待转码文件写入所述云存储平台,所述云存储平台保存所述待转码文件的源文件分片的云存储位置;其中,所述待转码文件的源文件分片的云存储位置包括:所述云存储平台的一个或多个文件访问服务器(FAS)中的存放位置。
进一步地,所述云存储平台向所述分布式转码平台返回的所述目标文件分片的云存储位置与所述源文件分片的云存储位置位于相同或不同的FAS中。本发明还提供了一种基于云存储的分布式转码系统,包括应用终端、分布式转码平台和云存储平台,其中所述分布式转码平台进一步包括转码管理服务器和转码服务器,所述云存储平台进一步包括文件位置寄存器(FLR)和文件访问服务器(FAS),所述应用终端用于,向所述FLR发起文件写入或读取请求;以及,向所述转码管理服务器发起转码请求;所述转码管理服务器用于,根据应用终端发起的转码请求,向所述FLR请求待转码文件的存储信息,并根据所述云存储平台返回的源文件分片的云存储位置向所述转码服务器发送转码指令;所述转码服务器用于,根据接收到的转码指令读取源文件分片,进行转码处理;所述FLR用于,向所述分布式转码平台返回所述待转码文件的存储信息,所述存储信息包括源文件分片的云存储位置。进一步地,所述FLR还用于,在向所述分布式转码平台返回所述待转码文件的存储信息中,还包括转码后的目标文件分片的云存储位置;以及,根据转码服务器发起的注册请求保存目标文件分片的存储信息;所述转码管理服务器还用于,在发送的转码指令中包括所述目标文件分片的云存储位置;所述转码服务器还用于,对读取的源文件分片进行转码处理后,按照所述目标文件分片的云存储位置,向所述FLR发送保存转码后的目标文件分片的注册请求。进一步地,所述转码管理服务器还用于,根据收到的应用终端的转码请求生成转码任务,并根据管理的全局转码任务列表调度全局转码任务。进一步地,所述转码管理服务器还用于,根据监控和管理各转码服务器的状态信息,向转码服务器分派所述转码指令。进一步地,所述转码服务器还用于,管理本转码服务器的转码任务列表,并根据转码任务的优先级调度转码任务。进一步地,所述FLR用于,将所述待转码文件写入一个或多个FAS中,向所述分布式转码平台返回所述待转码文件的存储信息时,返回的所述目标文件分片的云存储位置与所述源文件分片的云存储位置位于相同或不同的FAS中。本发明提供的基于云存储的分布式转码系统与方法,实现了云存储中视频文件的分片可以直接被分布式转码服务器作为待转码源文件使用,从而减少了重复的视频文件分片和聚合过程,避免了计算能力的浪费,削减了运维成本。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1是本发明实施例的基于云存储的分布式转码系统的组网架构示意图;图2是本发明实施例的基于云存储的分布式转码系统的组成示意图;图3是本发明实施例的文件写入云存储流程示意图4是本发明实施例的云存储文件的分布式转码流程示意图;图5是本发明实施例的读取云存储中文件流程示意图。
具体实施例方式本实施方式提供了一种基于云存储的分布式转码方法,米用以下技术方案:分布式转码平台接收应用终端发起的转码请求,向云存储平台请求待转码文件的存储信息;所述云存储平台向所述分布式转码平台返回所述待转码文件的存储信息,所述存储信息包括源文件分片和转码后的目标文件分片的云存储位置;所述分布式转码平台根据所述云存储平台返回的源文件分片的云存储位置读取源文件分片,进行转码处理后,按照所述目标文件分片的云存储位置将转码后的分片保存至所述云存储平台。进一步地,本实施方式还提供了一种基于云存储的分布式转码系统,包括应用终端、分布式转码平台,和云存储平台,其中:应用终端,包括各种类型终端的客户端或应用程序,或是应用服务器的应用程序。如可以是云存储客户端FAC(File Access Client,文件访问客户端)、转码客户端等。分布式转码平台,由转码管理服务器和转码服务器集群组成,负责执行和管理分布式转码功能。云存储平台,主要包括云存储FLR(File Location Register,文件位置寄存器)服务器、云存储FAS (File Access Server,文件访问服务器)集群等,负责分片存储视频等文件的转码前源文件和转码后的目标文件。其中,对于未存放在云存储中的视频文件,请求进行分布式转码时,需要将视频文件先写入云存储中,才能对其进行分布式转码处理。具体地,转码管理服务器接收应用终端发起的文件转码请求时,向云存储平台读取该待转码文件的存储信息;云存储平台将该待转码文件的存储信息返回给转码管理服务器,包括待转码文件的源文件分片的云存储位置,以及转码后的目标文件分片的云存储位置;转码管理服务器根据接收到的所述文件存储信息发送转码指令给转码服务器集群,转码服务器根据接收到的转码指令进行转码。可见,本实施方式中,云存储中视频文件的分片可以直接被分布式转码服务器作为待转码源文件使用。与现有普通式文件系统中,需要先对读取的源文件进行分片后,再由转码服务器进行转码操作的处理方式相比,提高了转码效率。同时,转码后的视频文件分片也不必立即合成为一个目标视频文件,而是在应用客户端使用视频文件时,再逐个读取给应用客户端。这样,在应用客户端读取目标视频文件时,由于数据存储的分散性,具有读取效率高且可靠的优点。为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。如图1所示,本实施例的基于云存储的分布式转码系统主要由应用终端、分布式转码平台、云存储平台等组成。其中,应用终端包括各种类型终端的客户端或应用程序,也可以是应用服务器的应用程序。分布式转码平台包括转码管理服务器和转码服务器集群,负责执行和管理分布式转码功能。云存储平台包括云存储FLR服务器、云存储FAS集群等,负责分片存储视频等文件的转码前源文件和转码后的目标文件。如图2所不,本实施例的基于云存储的分布式转码系统中,应用终端可以向云存储读写视频等文件,也可以发起其中某些视频文件的转码请求。应用终端的这些应用具体包括但不限于以下形式:(I)收录系统客户端即将有线电视、卫星电视、互联网等视频节目收录下来,并保存到云存储中的客户端。(2)写入文件应用指视频等文件的写入云存储的客户端应用程序,包括云存储客户端FAC(FileAccess Client)。该应用可以是通过多种信源途径和开放文件接口(P0SIX、CIFS、NFS等接口),将视频文件等与入z 存储 。(3)转码客户端指发送请求以进行分布式转码服务的客户端。转码客户端还接收分布式转码的结果响应。(4)读取文件应用指读取云存储中视频等文件的客户端应用程序,包括云存储客户端FAC(FileAccess Client)。该应用通过开放文件接口(如P0SIX、CIFS、NFS等接口),从云存储中读取视频等文件,进行视频播放或编辑等操作。(5)终端播放客户端包含移动终端、PC、机顶盒等终端上的视频播放客户端,这些客户端从云存储中读取和播放视频等文件,可以是转码前的源文件或转码后的目标文件。FAC完成客户端代理功能,一方面给应用进程提供文件操作的API接口,另一方面完成和FLR和FAS的交互,完成数据的搬移。分布式转码平台中的转码管理服务器主要负责:(I)接收应用终端(如转码客户端)的转码请求;(2)从云存储中读取视频源文件和目标文件的存储信息,调度生成各文件分片的转码指令,该指令包含待转码的视频文件源分片云存储位置,转码后的视频文件分片的云存储位置,转码前后的视频文件的编码格式等信息;(3)向转码服务器集群发送该转码指令;(4)在检查所有分片的转码已经完成后,向转码客户端发送转码结果的响应消息(5)管理转码服务器集群,包括监控和管理转码服务器状态(有效、无效、预留等状态,CPU、内存的使用率等情况)、管理转码服务器集群分组、转码能力管理(运算能力、支持的转码格式等)、管理全局转码任务列表和调度全局转码任务。
分布式转码平台中的转码服务器主要负责:(I)接收转码管理服务器的转码指令;(2)根据指令信息,向云存储FAS读取源文件分片信息;(3)执行转码操作;(4)将转码后的目标视频文件分片保存到指定的云存储位置;(5)向云存储FLR服务器注册转码后目标视频文件分片的存储信息;(6)向转码管理服务器返回转码结果信息。(7)管理本转码服务器的任务列表,可以调度任务优先级。云存储FLR负责文件访问控制、数据文件分布和各种元数据的管理,具体包括:(I)管理重要的文件元数据,包括文件和分片的命名空间、文件到分片的映射表、分片的位置信息等。具体地,文件元数据可以是原始文件名称、文件ID、文件的存储信息等,其中文件存储信息包括文件的副本数量、分片数量、分片ID、文件分片长度、分片存放位置、压缩参数、加密参数等。(2)管理云存储平台,负责块分布,垃圾收集,块复制,负载平衡,FAS系统数据等系统方面的控制。其中,元数据和一些需要永久保存的配置数据存放在FLR的数据库中。(3)FLR可以使用主备或集群的设备冗余方式,各FLR服务器之间保证数据一致性。(4)响应转码管理服务器读取文件存储信息的请求,并在返回消息中还包括转码后的目标文件分片的存储信息。云存储FAS主要负责:与存储硬件设备层接口,进行文件分片的存取、搬移操作。包括响应转码服务器的存取文件操作,以及云存储本身的存储均衡、副本维护时进行数据的读与等。在对视频文件请求进行转码操作时,需要先将待转码视频文件写入云存储中。如图3所示,本发明实施例的文件写入云存储流程包括以下步骤:步骤101.应用的FAC向FLR发起写入文件请求,该请求消息镇包含请求写入的全路径文件名称、文件大小、压缩指示、加密密码等。步骤102.FLR返回写入文件参数响应,告知FAC可提供服务的FAS列表、存储策略
坐寸o其中,存储策略包括:分片大小、副本数量、压缩算法、加密指示等。分片的大小完全由存储策略定,不要求所有分片都一样大小。此外,对视频文件的分片优选按照可以独立解码的片段分割,也可以按照绝对大小或时间长度进行分割。步骤103.应用的FAC分片保存文件到FAS。具体地,FAC处理被写入文件的分片、压缩和加密等处理,按照指定规则,向可服务的FAS逐个写入文件分片。步骤104.FAS返回保存文件分片成功响应给FAC,响应消息包含该文件分片的存储物理位置。步骤105.应用的FAC将写入文件结果向FLR申请记录注册,注册信息包括原始文件名称、文件ID、文件的存储信息等,其中文件存储信息包括文件的副本数量、分片数量、分片ID、文件分片长度、分片存放位置、压缩参数、加密参数等。步骤106.云存储FLR记录文件及其分片的存储信息。步骤107.云存储FLR向应用的FAC返回写入文件记录成功响应。如图4所示,本发明实施例的基于云存储的分布式转码流程主要包括以下步骤:步骤201.应用向转码管理服务器发起视频文件转码操作请求,该请求消息包括待转码的文件ID、转码参数等。其中,转码参数包含目标文件的编码格式参数。步骤202.转码管理服务器生成文件转码任务,并向云存储FLR读取该文件存储信
肩、O步骤203.云存储FLR返回文件存储信息给转码管理服务器。其中,该响应消息包含了对应待转码文件的副本数量、分片数量、分片ID、文件分片长度、分片存放位置、压缩参数、加密参数等;还包括目标文件的分配存放位置等信息。步骤204.转码管理服务器调度生成各分片转码指令。转码管理服务器根据监控的可用转码服务器列表,生成文件转码任务的分片转码任务,并分派给相应转码服务器。步骤205.转码管理服务器发送某分片转码指令给转码服务器,该指令包含了源文件分片的存储信息和转码后目标文件分片的存储信息,以及转码参数。步骤206.转码服务器接收转码指令并解析执行。步骤207.转码服务器根据收到的源文件分片的存储信息,向指定FAS读取源文件分片。步骤208.FAS返回源文件分片给对应转码服务器。步骤209.转码服务器按照转码参数执行转码。步骤210.成功转码后,根据目标文件分片的存储信息将转码后目标文件分片保存到指定FAS。其中,该FAS和源文件存放的FAS可以不相同。步骤211.FAS向转码服务器返回保存转码后分片成功响应。步骤212.转码服务器向FLR发送保存转码后目标文件分片的存储信息请求。步骤213.FLR将转码后目标文件分片的存储信息注册成功后,返回保存转码后分片存储信息成功响应给转码服务器。步骤214.转码服务器返回某分片成功转码完成响应给转码管理服务器。步骤215.转码管理服务器检查所有分片的转码是否已经完成,未完成就继续等待各分片的转码完成;已完成则进入下一步。步骤216.转码管理服务器向应用返回文件转码成功响应。此时,视频源文件转码后的目标文件的分片,并不需要聚合为一个文件。在一些情况下,转码服务器、FAS可以合设,即物理设备上重用,这些情况包括FAS在云存储能力负荷较低的情形。合设时,为了避免转码能力和云存储能力对CPU、内存等资源的占用冲突,将该物理服务器虚拟化,为转码能力和云存储能力提供区分的虚拟机,各自虚拟机界定对资源占用的范围,这个范围根据云存储和转码需求,适应性地进行弹性在线调整资源分配。
如图5所示,本发明实施例的读取云存储中文件的流程主要包括以下步骤:步骤301.应用客户端FAC向FLR发起读取文件请求,该文件可以转码前的视频源文件,也可以是转码后的目标文件。步骤302.FLR向FAC返回读取文件信息响应,这些包括了对应文件的存储信息。步骤303.FAC根据获得的文件存储信息,向若干FAS读取各文件分片。步骤304.FAS返回文件分片读取成功响应,包含文件分片的数据。步骤305.FAC管理缓存的文件分片,包括缓存中对各文件分片进行聚合一个文件,或者对前后相连的若干分片聚合,给应用提供服务。综上所述,本发明提供一种基于云存储的分布式转码新架构下的系统与方法。实现了云存储中视频文件的分片可以直接被分布式转码服务器作为待转码源文件使用。从而减少了重复的分片和聚合过程,避免了资源的浪费,削减了运维成本。以上仅为本发明的优选实施案例而已,并不用于限制本发明,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
权利要求
1.一种基于云存储的分布式转码方法,其特征在于, 分布式转码平台根据应用终端发起的转码请求,向云存储平台请求待转码文件的存储信息; 所述云存储平台向所述分布式转码平台返回所述待转码文件的存储信息,所述存储信息包括源文件分片的云存储位置; 所述分布式转码平台根据所述云存储平台返回的源文件分片的云存储位置读取源文件分片,进行转码处理。
2.如权利要求1所述的 方法,其特征在于,所述方法还包括: 所述云存储平台向所述分布式转码平台返回所述待转码文件的存储信息还包括:转码后的目标文件分片的云存储位置; 所述分布式转码平台对读取的源文件分片进行转码处理后,按照所述目标文件分片的云存储位置将转码后的分片保存至所述云存储平台。
3.如权利要求1或2所述的方法,其特征在于,所述云存储平台向所述分布式转码平台返回所述待转码文件的存储信息之前,包括: 所述应用终端将所述待转码文件写入所述云存储平台,所述云存储平台保存所述待转码文件的源文件分片的云存储位置; 其中,所述待转码文件的源文件分片的云存储位置包括:所述云存储平台的一个或多个文件访问服务器(FAS)中的存放位置。
4.如权利要求3所述的方法,其特征在于, 所述云存储平台向所述分布式转码平台返回的所述目标文件分片的云存储位置与所述源文件分片的云存储位置位于相同或不同的FAS中。
5.一种基于云存储的分布式转码系统,其特征在于,包括应用终端、分布式转码平台和云存储平台,其中所述分布式转码平台进一步包括转码管理服务器和转码服务器,所述云存储平台进一步包括文件位置寄存器(FLR)和文件访问服务器(FAS), 所述应用终端用于,向所述FLR发起文件写入或读取请求;以及,向所述转码管理服务器发起转码请求; 所述转码管理服务器用于,根据应用终端发起的转码请求,向所述FLR请求待转码文件的存储信息,并根据所述云存储平台返回的源文件分片的云存储位置向所述转码服务器发送转码指令; 所述转码服务器用于,根据接收到的转码指令读取源文件分片,进行转码处理; 所述FLR用于,向所述分布式转码平台返回所述待转码文件的存储信息,所述存储信息包括源文件分片的云存储位置。
6.如权利要求5所述的系统,其特征在于, 所述FLR还用于,在向所述分布式转码平台返回所述待转码文件的存储信息中,还包括转码后的目标文件分片的云存储位置;以及,根据转码服务器发起的注册请求保存目标文件分片的存储信息; 所述转码管理服务器还用于,在发送的转码指令中包括所述目标文件分片的云存储位置; 所述转码服务器还用于,对读取的源文件分片进行转码处理后,按照所述目标文件分片的云存储位置,向所述FLR发送保存转码后的目标文件分片的注册请求。
7.如权利要求5或6所述的系统,其特征在于, 所述转码管理服务器还用于,根据收到的应用终端的转码请求生成转码任务,并根据管理的全局转码任务列表调度全局转码任务。
8.如权利要求7所述的系统,其特征在于, 所述转码管理服务器还用于,根据监控和管理各转码服务器的状态信息,向转码服务器分派所述转码指令。
9.如权利要求7所述的系统,其特征在于, 所述转码服务器还用于,管理本转码服务器的转码任务列表,并根据转码任务的优先级调度转码任务。
10.如权利要求6所述的系统,其特征在于, 所述FLR用于,将所述待转码文件写入一个或多个FAS中,向所述分布式转码平台返回所述待转码文 件的存储信息时,返回的所述目标文件分片的云存储位置与所述源文件分片的云存储位置位于相 同或不同的FAS中。
全文摘要
本发明公开了一种基于云存储的分布式转码系统及其方法,分布式转码平台根据应用终端发起的转码请求,向云存储平台请求待转码文件的存储信息;云存储平台向分布式转码平台返回待转码文件的存储信息,存储信息包括源文件分片的云存储位置;分布式转码平台根据云存储平台返回的源文件分片的云存储位置读取源文件分片,进行转码处理。本发明实现了在云存储环境下对视频资源的统一存储和转码处理,使得云存储中视频文件的分片可以直接被分布式转码服务器作为待转码源文件使用,从而减少了重复的视频文件分片和聚合过程,避免了计算能力的浪费,削减了运维成本。
文档编号H04L29/08GK103200204SQ201210000790
公开日2013年7月10日 申请日期2012年1月4日 优先权日2012年1月4日
发明者柯尊友, 王伟 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1