• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 16
    • 下载费用:30 金币  

    重庆时时彩毒胆是什么意思: 复用空闲计算资源的云转码方法及系统、分布式文件装置.pdf

    关 键 词:
    空闲 计算 资源 云转码 方法 系统 分布式 文件 装置
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    摘要
    申请专利号:

    CN201210490708.0

    申请日:

    2012.11.27

    公开号:

    CN103838779A

    公开日:

    2014.06.04

    当前法律状态:

    授权

    有效性:

    有权

    法律详情: 授权|||实质审查的生效IPC(主分类):G06F 17/30申请日:20121127|||公开
    IPC分类号: G06F17/30 主分类号: G06F17/30
    申请人: 深圳市腾讯计算机系统有限公司
    发明人: 庄奇东; 何春晓; 苏元朋
    地址: 518057 广东省深圳市南山区高新区高新南一路飞亚达大厦5-10楼
    优先权:
    专利代理机构: 上海波拓知识产权代理有限公司 31264 代理人: 杨波
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN201210490708.0

    授权公告号:

    ||||||

    法律状态公告日:

    2019.02.05|||2015.05.13|||2014.06.04

    法律状态类型:

    授权|||实质审查的生效|||公开

    摘要

    本发明提出一种复用空闲计算资源的云转码方法及系统、分布式文件装置,其复用空闲计算资源的云转码方法包括:接收转码任务,并提交任务信息;根据所述任务信息生成任务分配信息;根据所述分配信息,从分布式磁盘中分别获取相应媒体片段的源数据,通过分布式处理器并行转码成目标格式的数据后保存到分布式磁盘;根据所述任务信息以及所述任务分配信息,将转码后的数据进行合并,形成转码后的媒体文件,并保存到分布式磁盘。本发明利用存储服务器空闲的CPU完成分布式转码,不仅节省了硬件成本,充分利用了现有资源,而且大大加快了数据的传输和拷贝,提高了转码效率。

    权利要求书

    权利要求书
    1.  一种复用空闲计算资源的云转码方法,其特征在于,包括:
    接收转码任务,并提交任务信息;
    根据所述任务信息生成任务分配信息;
    根据所述分配信息,从分布式磁盘中分别获取相应媒体片段的源数据,通过分布式处理器并行转码成目标格式的数据后保存到分布式磁盘;
    根据所述任务信息以及所述任务分配信息,将转码后的数据进行合并,形成转码后的媒体文件,并保存到分布式磁盘。

    2.  如权利要求1所述的复用空闲计算资源的云转码方法,其特征在于,所述将转码后的数据进行合并的步骤包括:
    获取转码后的数据在分布式磁盘中的存储地址信息;
    根据所述存储地址信息获取分布式磁盘中相应的转码后的数据;
    将转码后的数据进行合并。

    3.  如权利要求1所述的复用空闲计算资源的云转码方法,其特征在于,分布式磁盘中数据的上传与下载的通讯采用http协议。

    4.  如权利要求1所述的复用空闲计算资源的云转码方法,其特征在于,所述根据所述任务信息生成任务分配信息的步骤包括:
    根据任务信息中源文件的时间长度确定需要执行的并行工作数,并形成所述任务分配信息。

    5.  如权利要求1所述的复用空闲计算资源的云转码方法,其特征在于,转码任务信息的传递采用ans协议。

    6.  如权利要求1所述的复用空闲计算资源的云转码方法,其特征 在于,将媒体片段的源数据进行转码之后,实时将转码完成的媒体片段发送给用户端。

    7.  如权利要求1所述的复用空闲计算资源的云转码方法,其特征在于,在进行转码时,将CPU占用率控制在预设范围内。

    8.  如权利要求7所述的复用空闲计算资源的云转码方法,其特征在于,所述将CPU占用率控制在预设范围内的步骤包括:对各个CPU核心上运行的转码线程周期性的发送停止进程信号和恢复进程信号,并通过控制所述停止进程信号和所述恢复进程信号之间的时间长度,将CPU占用率控制在预设范围内。

    9.  如权利要求1所述的复用空闲计算资源的云转码方法,其特征在于,在进行数据合并时,对硬盘/内存的读写进行控制。

    10.  如权利要求9所述的复用空闲计算资源的云转码方法,其特征在于,采用单独的计算机进行数据的合并。

    11.  一种复用空闲计算资源的云转码系统,其特征在于,包括:
    任务管理器,用于接收转码任务;
    任务提交客户端,用于根据所述任务管理器发送来的任务信息,提交任务信息;
    调度管理器,用于接收所述任务提交客户端发出的任务信息,输出任务分配信息;
    分布式文件子系统,用于统一对数据进行管理,其又进一步包括:
    源数据存储模组,用于存放源数据;
    上传数据存储模组,用于存放转码后的数据;
    多个转码器,用于根据接收到的所述任务管理器输出的任务信息以及所述调度管理器输出的任务分配信息,分别从所述源数据存储模组中获取相应媒体片段的源数据,并转码成目标格式的数据,存入所述上传数据存储模组;
    至少一个合成器,且至少一个合成器与多个转码器形成一个进程工作模组,所述合成器用于根据接收到的所述调度管理器输出的分配信息,将所在进程工作模组中的转码器转码后的数据进行合并,形成转码后的媒体文件,并存入所述上传数据存储模组。

    12.  如权利要求11所述的复用空闲计算资源的云转码系统,其特征在于,所述转码器将转码后的数据存入所述上传数据存储模组后,将相应的存储地址信息发送给同一进程工作模组的合成器,所述合成器通过所述存储地址信息从所述上传数据存储模组中获取相应的转码后的数据,并进行合成。

    13.  如权利要求11所述的复用空闲计算资源的云转码系统,其特征在于,所述转码器与所述上传数据存储模组之间的通讯、所述转码器与所述源数据存储模组之间的通讯、以及所述合成器与所述上传数据存储模组之间的通讯均采用http协议。

    14.  如权利要求11所述的复用空闲计算资源的云转码系统,其特征在于,所述调度管理器根据任务信息中源文件的时间长度确定需要执行的并行工作数,并形成所述任务分配信息后发送给相应的转码器和合成器。

    15.  如权利要求11所述的复用空闲计算资源的云转码系统,其特 征在于,所述转码器和所述任务管理器之间的通讯均采用ans协议。

    16.  如权利要求11所述的复用空闲计算资源的云转码系统,其特征在于,还包括:
    流化媒体服务器,用于实时接收所述转码器转码完成的媒体片段,并发送给用户端。

    17.  如权利要求11所述的复用空闲计算资源的云转码系统,其特征在于,所述转码器在进行转码时,将CPU占用率控制在预设范围内。

    18.  如权利要求17所述的复用空闲计算资源的云转码系统,其特征在于,所述转码器利用周期性的中断程序控制CPU占用率。

    19.  如权利要求11所述的复用空闲计算资源的云转码系统,其特征在于,所述合成器在进行数据合并时,对硬盘/内存的读写进行控制。

    20.  如权利要求19所述的复用空闲计算资源的云转码系统,其特征在于,所述合成器为所述分布式文件子系统中单独的计算机。

    21.  一种分布式文件装置,其特征在于,包括:
    源数据存储模组,用于存放源数据;
    上传数据存储模组,用于存放转码后的数据;
    多个转码器,用于根据接收到的任务信息以及任务分配信息,分别从所述源数据存储模组中获取相应媒体片段的源数据,并转码成目标格式的数据,存入所述上传数据存储模组;
    至少一个合成器,且至少一个合成器与多个转码器形成一个进程工作模组,所述合成器用于根据接收到的任务分配信息,将所在进程工作模组中的转码器转码后的数据进行合并,形成转码后的媒体文件, 并存入所述上传数据存储模组。

    22.  如权利要求21所述的分布式文件装置,其特征在于,所述转码器将转码后的数据存入所述上传数据存储模组后,将相应的存储地址信息发送给同一进程工作模组的合成器,所述合成器通过所述存储地址信息从所述上传数据存储模组中获取相应的转码后的数据,并进行合成。

    23.  如权利要求21所述的分布式文件装置,其特征在于,所述转码器与所述上传数据存储模组之间的通讯、所述转码器与所述源数据存储模组之间的通讯、以及所述合成器与所述上传数据存储模组之间的通讯均采用http协议。

    24.  如权利要求21所述的分布式文件装置,其特征在于,根据任务信息中源文件的时间长度确定需要执行的并行工作数,并形成所述任务分配信息。

    25.  如权利要求21所述的分布式文件装置,其特征在于,所述转码器在进行转码时,将CPU占用率控制在预设范围内。

    26.  如权利要求25所述的分布式文件装置,其特征在于,所述转码器利用周期性的中断程序控制CPU占用率。

    27.  如权利要求21所述的分布式文件装置,其特征在于,所述合成器在进行数据合并时,对硬盘/内存的读写进行控制。

    28.  如权利要求27所述的分布式文件装置,其特征在于,所述合成器为所述分布式文件装置中单独的计算机。

    说明书

    说明书复用空闲计算资源的云转码方法及系统、分布式文件装置
    技术领域
    本发明涉及分布式多媒体编解码领域,特别涉及一种复用空闲计算资源的云转码方法及系统、分布式文件装置。
    背景技术
    邮箱文件中转站、离线下载等业务有大量的各种格式的视频等媒体文件,当用户需要在线使用个人计算机或手机等终端播放时,需要先下载文件,然后将下载的文件转码成手机终端或者播放器等支持的格式才可以观看。
    为了让用户端无需转码而直接可以在线播放,各大视频业务公司的做法是购置专用的视频转码服务器以及专用的存储服务器,服务端将数据传送到视频转码服务器进行转码,再把转码后的视频文件传送到存储服务器储存,以供用户下载。这种离线转码的方式让用户端下载视频文件后无需进行转码,可以直接通过终端或页面进行播放。
    但是上述方式中,视频转码服务器一般是采取串行转码,转码一部影片往往需要数十分钟,而且期间的多次文件传输(先由服务端传输给视频转码服务器,再由视频转码服务器传输给存储服务器,最后由存储服务器传输给用户端)也会付出较长的时间代价。
    为此,业界提出了一些提高转码效率的方式:
    US 2012/0101254A1美国专利申请提出了一种基于云的转码系统和方法,侧重在边上传边转码,从而节约文件的传输时间,但是其仍然采用串行转码,且需要在用户端增加分析媒体文件的开销。
    2011年全国高性能计算学术年会(HPC China 2011)论文集中《基于云架构的视频转码技术研究》一文提出了两种不同的分布式转码方案,但需要对视频进行预处理,以及需要分离、合并、同步音视频,转码过程复杂。
    CN 200810236508.6中国专利公开了一种分布式多格式数字视频转码结构设计方法,其同样需要事先切割文件,并对音视频分解复用,此阶段完全变成串行且代价巨大。原始、转码后、中间结果均在NFS(Network FileSystem,网络文件系统)上,受其最大挂载磁盘数限制,系统不可能具有处理PB(1PB=1024TB)级海量数据的能力。
    可见,以往所有的设计均未考虑转码和存储之间的关系,均需要专门的硬件来做分割、转码与合并操作,增加了硬件成本,也增加了转码复杂程度。此外,许多现有分布式转码系统均是基于C/S(Client/Server,用户端/服务器)模式,只要稍稍改变系统中机器数目,分布式程序就要重新编码部署,可扩展性差。转码和合并机器上的CPU、I/O负载难以控制。
    综上所述,现有的网络音视频转码方式存在耗时多、效率低、硬件成本高、拓展能力差等问题。
    发明内容
    本发明的目的是提供一种复用空闲计算资源的云转码方法及系统,以解决现有的网络音视频转码方式存在耗时多、效率低、硬件成本高、拓 展能力差等问题。
    本发明提出一种复用空闲计算资源的云转码方法,包括:
    接收转码任务,并提交任务信息;
    根据所述任务信息生成任务分配信息;
    根据所述分配信息,从分布式磁盘中分别获取相应媒体片段的源数据,通过分布式处理器并行转码成目标格式的数据后保存到分布式磁盘;
    根据所述任务信息以及所述任务分配信息,将转码后的数据进行合并,形成转码后的媒体文件,并保存到分布式磁盘。
    本发明还提出一种复用空闲计算资源的云转码系统,包括:
    任务管理器,用于接收转码任务;
    任务提交客户端,用于根据所述任务管理器发送来的任务信息,提交任务信息;
    调度管理器,用于接收所述任务提交客户端发出的任务信息,输出任务分配信息;
    分布式文件子系统,用于统一对数据进行管理,其又进一步包括:
    源数据存储模组,用于存放源数据;
    上传数据存储模组,用于存放转码后的数据;
    多个转码器,用于根据接收到的所述任务管理器输出的任务信息以及所述调度管理器输出的任务分配信息,分别从所述源数据存储模组中获取相应媒体片段的源数据,并转码成目标格式的数据,存入所述上传数据存储模组;
    至少一个合成器,且至少一个合成器与多个转码器形成一个进程工作模组,所述合成器用于根据接收到的所述调度管理器输出的分配信息,将所在进程工作模组中的转码器转码后的数据进行合并,形成转码后的媒体文件,并存入所述上传数据存储模组。
    本发明还提出一种分布式文件装置,包括:
    源数据存储模组,用于存放源数据;
    上传数据存储模组,用于存放转码后的数据;
    多个转码器,用于根据接收到的任务信息以及任务分配信息,分别从所述源数据存储模组中获取相应媒体片段的源数据,并转码成目标格式的数据,存入所述上传数据存储模组;
    至少一个合成器,且至少一个合成器与多个转码器形成一个进程工作模组,所述合成器用于根据接收到的任务分配信息,将所在进程工作模组中的转码器转码后的数据进行合并,形成转码后的媒体文件,并存入所述上传数据存储模组。
    相对于现有技术,本发明的有益效果是:
    (1)本发明将转码的工作构建在具有空闲计算资源的音视频存储服务器上,充分利用了现有资源,大大节约了硬件成本。
    (2)本发明不需要对媒体文件进行预切片,而是把切片放在了转码任务执行的同时时完成,这样提高了并行度,能有效降低转码时间。
    (3)本发明在分片转码和分片合成阶段,分别实现对CPU占用和硬盘/内存的精确控制,防止影响现网机器的原有服务。
    (4)本发明对于特定业务场景,还可较容易地通过修改参数,满足传 统MapReduce系统不能满足的一定实时性的要求。
    (5)本发明的系统具有良好的可扩展行,通过分布式文件系统和/或网络协议,理论上可处理无限量的视频数据,现有系统已证实可以处理PB级别的音视频资源。
    (6)本发明的转码工作在存储机器上完成,避免了大部分数据传输/拷贝,效果接近于本地计算,实现了“计算向存储迁移”这个云计算的理想目的。
    (7)本发明可以对转码任务、每个转码器获得的分片任务、每个转码器分片任务里的各个工作线程实现精确控制,可以有效避免影响存储服务器的现网服务。
    当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
    上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
    附图说明
    图1为本发明实施例的一种复用空闲计算资源的云转码系统的架构图;
    图2为本发明实施例的一种进程工作模组的工作示意图;
    图3为本发明实施例的一种复用空闲计算资源的云转码方法的流程 图。
    具体实施方式
    为更进一步阐述本发明达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的复用空闲计算资源的云转码方法及系统、分布式文件装置其具体实施方式、方法、步骤及功效,详细说明如后。
    有关本发明的前述及其他技术内容、特点及功效,在以下配合参考图式的较佳实施例详细说明中将可清楚的呈现。通过具体实施方式的说明,当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图式仅是提供参考与说明之用,并非用来对本发明加以限制。
    I/O(硬盘/内存)密集型机器指的是系统的CPU效能相对硬盘/内存的效能要好很多,即系统运作的大部分的状况是CPU在等待I/O的读/写,CPU占用率较低。本发明主要思想的出发点是考虑到转码后的音视频文件的存储所在地---存储服务器(通常由大量存储机器的集群构成)---由于只起到存储数据的作用,因而有大量CPU空闲的存储机器,这些机器因为是I/O密集型机器,其CPU利用率一般低于20%,如果使用这些空闲CPU进行转码,可以节约大量成本,还可以在文件的存储点就近转码,减少异地拉取的时间、带宽消耗。不仅可以节省硬件成本,充分利用现有资源,还可以实现云计算的理想目标---“计算向存储迁移”。
    此外,本发明涉及的分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算 机网络与节点相连。从内部实现来看,分布式的系统不再和普通文件系统一样负责管理本地磁盘,它的文件内容和目录结构都不是存储在本地磁盘上,而是通过网络传输到远端系统上。并且,同一个文件存储不只是在一台机器上,而是在一簇机器上分布式存储,协同提供服务,正所谓分布式。与单机的文件系统不同,分布式文件系统不是将这些数据放在一块磁盘上,由上层操作系统来管理。而是存放在一个服务器集群上,由集群中的服务器,各尽其责,通力合作,提供整个文件系统的服务。因此,使用分布式转码,可以近似线性的降低转码耗时,提高用户体验,并且分布式计算框架的资源管理、调度方案能有效的利用硬件资源,降低故障的影响。本发明中所述的分布式文件子系统及相应的管理方法优选采用申请号为200710307132.9的中国专利“分布式系统、分布式业务处理方法及相关装置”中所揭示的的分布式系统及相应的处理方法。
    请参见图1,其为本发明实施例的一种复用空闲计算资源的云转码系统的架构图,其包括:任务管理器101、任务提交客户端102、调度管理器104、流化媒体服务器109以及分布式文件子系统。任务提交客户端102与任务管理器101连接,任务管理器101、调度管理器104和流化媒体服务器109均与分布式文件子系统连接。其中分布式文件子系统又进一步包括:源数据存储模组110、上传数据存储模组111、多个转码器106以及至少一个合成器107。
    任务管理器101接到转码任务(Transcoding Job)后,首先把任务信息发给任务提交客户端102,由任务提交客户端102来提交任务。任务提交客户端102将任务信息提交给调度管理器104。调度管理器 104根据接收到的任务信息生成任务分配信息(dispatch“tasks”),并发送给各个转码器106和合成器107。
    转码器106、合成器107以及调度管理器104形成了一个云计算框架103,其优选采用MapReduce框架(如专利号为US7650331B1的美国专利中公开的Map/Reduce分布式处理框架)及其变种实现,或者也可以采用开源的Hadoop框架、Sector/Sphere框架、Typhoon框架等。其中所有的转码器106和合成器107都分布在分布式文件子系统的计算机机群上。
    请结合参见图2,调度管理器104是负责云计算框架103的任务、资源的调度和管理,其作用是根据接收到的任务信息中待转码源文件,确定需要并行执行的工作数(优选通过源文件的时间长度来划分工作数),并形成任务分配信息(dispatch“tasks”)发送给各个转码器106和合成器107。也即是说,转码器106和合成器107通过接收到的任务分配信息获知自身负责的工作,从而形成进程工作模组105,一个进程工作模组105中包括多个转码器106和至少一个合成器107(为便于描述,本实施例的图示中一个进程工作模组105仅绘示了一个合成器107,一个进程工作模组105通常情况下仅包含一个合成器107即可,特殊时候如任务控制不精确的情况下,一个进程工作模组105也可以包含多个合成器107)。
    转码器106的工作是负责转码一个个媒体片段。在根据任务分配信息形成工作模组105之后,转码器106会从任务管理器101处获取任务信息(obtain real tasks)。表1为一种任务信息的结构示意,任务信 息包括任务的类型、文件的位置(如源文件的url地址,Universal ResourceLocator,统一资源定位符)、音视频的起始位置、时长等。
    字段类型备注TaskidUnsigned任务id,标识某个转码任务FileidString文件名(vid或者sha)url源文件所在urlhttp urlStartDouble目的分片的起始时间DurationDouble目的分片的时长Type任务类型转码任务的类型Profileint目的文件的编码参数设置  ......……  
    表1
    本发明转码任务信息的传递优选采用asn协议(asn协议具有丰富且规范的语义表达和统一的编码规则等优点),即转码器106和任务管理器101之间的通讯优选采用asn协议,转码器106与任务管理器101往返通信对应的asn协议消息的示意如下所示:

    转码器106从任务管理器101获取任务信息后,根据其中的源文件存储地址以及任务分配信息,直接从源数据存储模组110中下载源文件片段(download src video),接着对源文件片段进行转码,然后保存到上传数据存储模组111中(upload dst video)??杉?,本发明不需要对媒体文件进行预切片,而是把切片放在了转码器106任务执行的同时完成,转码程序可以按时间偏移读取源文件,这样提高了并行度,能有效降低转码时间。由于mepgts格式具有可以自由合并的属性,片文件的目标格式可以统一为mpegts格式,这样在后续合并的时候处理更简单。经实验证明,这种格式的媒体分片转码再合并,拷贝到mp4等容器后得到的文件只比串行转码后得到的文件体积大约0.01%--1%,以极小的代价换取了合并时分析GOP(Group of Pictures,画面组)序列的时间开销,且媒体不会出现音视频不同步、抖动等现象。
    转码器106从源数据存储模组110中下载源文件片段时,对于能够获得特定完整头部的多媒体文件,比如MP4和TFLV格式,则从头部获得所有关键?。℉.264编码格式为IDR帧,其余为I?。┦奔涞?,然后按连续若干个能够组成接近时间T(实现时优选取30s)的若干GOP划分,获得各个转码器106要处理的信息,包括起始时间点和结束时间点(或片长时间)。对于不能获得上述头部的文件,则严格按片长时间T划分。这种方式使得转码器106可以直接从源数据存储模组110中拉取相应时间段的媒体片段,而分析视频的代价降到几乎可以忽略的程度(因为视频文件的头(head)相对视频大小而言一般很?。?。
    由于转码器106的转码工作是利用了存储机器的空闲CPU资源,因而可以在源文件的存储点就近转码(类似于局域网之间的数据传输),相对于现有技术,大大缩减了异地拉取源文件的时间和带宽消耗。但是,为了不影响存储业务的正常运行,所以需要在CPU资源的利用上做精确控制,将CPU占用率控制在预设范围内。本发明优选利用周期性的中断程序控制CPU占用率,具体做法是:对转码程序在各个CPU核心上运行的线程周期性且比较细粒度地发送停止进程信号(SIGSTOP)和恢复进程信号(SIGCONT),通过控制两者之间的时间长度比例来控制程序的CPU占用率,同时也可以做到在多逻辑CPU上的负载均衡。本系统的具体实现中,把转码程序在每个逻辑CPU的利用率都控制在了80%,这样就可以保证不会影响存储索引服务进程的正常运行。此外,在精确控制CPU利用率的同时,用实验确定每种不同类型服务器的最佳转码线程数,并把转码线程绑定到特定逻辑CPU,这样防止了转码线程在不同逻辑CPU之间发生漂移,充分利用了高速缓冲存储器(cache)和数据和指令流水线(pipeline),一定程度上提高了性能。
    一个进程工作模组105中的所有转码器106都将转码完成的文件片段存入上传数据存储模组111之后,合成器107开始执行任务。合成器107根据调度管理器104发送来的任务分配信息,将其所在进程工作模组105中的转码器106转码后的数据进行合并,形成转码后的媒体文件,并存入上传数据存储模组111。
    具体来说,在转码器106将转码完成的文件片段存入上传数据存储模组111后,会将相应的存储地址信息(当前音视频所在机器、路径和 其它信息)发送给同一进程工作模组105的合成器107(obtaintranscoded segments),然后合成器107根据接收到的存储地址信息从上传数据存储模组111中获取转码后的数据,并进行合成,然后将完整的媒体文件封装后重新上传到上传数据存储模组111中(uploadjoined file),以供用户下载。
    特别的,一个进程工作模组105中,合成器107可以不止一个,比如对于长视频文件,可以通过归并排序的方式进行“树形”合并。
    由于合成器107和上传数据存储模组111也都属于分布式文件子系统,属于同一组机群,因而合成器107从上传数据存储模组111中下载和上传数据都具有很快的速度(类似于局域网的数据传输)。合成器107对媒体分片文件的合并操作是基于计算机硬盘/内存(I/O)的,不加限制的话基本可能会达到磁盘顺序读写的最高值,影像存储业务的正常运行。所以,需要对合成器107的合并操作进行I/O控制,甚至需要在单独的机型上进行。
    值得注意的是,因为一个云计算框架103(即Map/Reduce集群)中可能同时在处理几十甚至上百个转码任务,如果把每个转码任务中每个转码器106和合成器107所要处理的任务的详细信息都发送到任务提交客户端102,再发送到调度管理器104,再由其派发到每个转码器106和合成器107所在机器的话,则数据的传输量会很较大,影响效率。本发明突破性地引入了发送共用元信息的方式,即由调度管理器104分配好转码器106和合成器107的任务,“唤醒”并“通知”各个转码器106从任务管理器101上拉取自己所需转码的那一部分任务信息,从而大大减少了数 据传输量,且同时做到了并发。也即是说,本发明的一个重要优点,就是把以往系统中的必须串行的几个步骤,都变成了并行。
    另一方面,因为“视角”不同,任务管理器101和转码器106、合成器107看到的文件路径形式是不一样的,本发明的这种“实任务”(转码器106从任务管理器101获取任务信息)和“虚任务”(调度管理器104向转码器106和合成器107分配任务分配信息)分开的方式,另一种好处是避免把真实的路径暴露在外,提高安全性。
    由前述可见,文件的上传下载可以采用http协议,即转码器106与上传数据存储模组111之间的通讯、转码器106与源数据存储模组110之间的通讯、以及合成器107与上传数据存储模组111之间的通讯均采用http协议,这需要在相应存储服务器上部署轻量级的相应协议的服务器。
    本实施例的存储器108包括源数据存储模组110和上传数据存储模组111,是以所存文件的类型(未转码和已转码)进行划分的,但在实际结构中,源数据存储模组110和上传数据存储模组111均是分布在分布式文件之系统的机群上的,通常是无需明显划分两者的存储空间,而可以根据实际需要来进行调整。
    流化媒体服务器109对于本发明来说并非一个必须的部件,其用于实时接收所述转码器107转码完成的媒体片段,并发送给用户端。在某些有实时性要求的场合,当前面若干个转码器107完成转码工作之后,可立即给流化媒体服务器109发送状态消息,通知流化媒体服务器109从其上下载转码完成的媒体分片,立即以流或文件的方式发送给用户,这样就 可实现“边看边下”等要求,而且把用户等待时间降到更低。而传统的MapReduce系统并不能满足实时性的要求。本发明通过把系统部署在存储机器上,外加上述机制可以实现这一需求。而在这种“边看边下”的情况下,可能并不需要合成器107合并文件,或者合并后的文件并不需要再拷贝成特定的封装格式,这时合成器107就可以少做或不做工作??梢允峭ü挝窆芾砥?01输出的任务信息中的特定字段来决定的(如表1中的“type”字段)。
    本发明还提出一种分布式文件装置,其包括源数据存储模组、上传数据存储模组、多个转码器以及至少一个合成器。该分布式文件装置的结构、功能及工作原理与前述复用空闲计算资源的云转码系统的分布式文件子系统相同,在此不再赘述。
    本发明还提出一种复用空闲计算资源的云转码方法,请参加图3,其包括以下步骤:
    S301,接收转码任务,并提交任务信息。
    任务信息包括待转码媒体文件的类型、文件的位置(如源文件的url地址,Universal Resource Locator,统一资源定位符)、音视频的起始位置、时长等。
    S302,根据所述任务信息生成任务分配信息。
    生成任务分配信息的目的是确定待转码的文件需要并行执行的工作数(优选通过源文件的时间长度来划分工作数)。
    S303,根据所述任务信息以及所述任务分配信息,从分布式磁盘中分别获取相应媒体片段的源数据,通过分布式处理器并行转码成目标 格式的数据后保存到分布式磁盘。
    这里所述的分布式处理器和分布式磁盘即为分布式文件系统的处理器和磁盘,即分布式处理器和分布式磁盘均属于同一组服务器机群。由于存储媒体文件的计算机上有大量空闲的CPU,所以本发明利用这部分空间的CPU进行转码工作,不仅节约了大量成本,还可以在文件的存储点就近转码,大大提高了转码效率。
    本发明中转码任务信息的传递优选采用asn协议(asn协议具有丰富且规范的语义表达和统一的编码规则等优点)。表1是任务信息的结构示意。而文件的上传下载优选采用http协议,这需要在相应存储服务器上部署轻量级的相应协议的服务器。
    此外,由于转码工作是利用了存储机器的空闲CPU资源,因而可以在源文件的存储点就近转码(类似于局域网之间的数据传输),相对于现有技术,大大缩减了异地拉取源文件的时间和带宽消耗。但是,为了不影响存储业务的正常运行,所以需要在CPU资源的利用上做精确控制,将CPU占用率控制在预设范围内。本发明优选利用周期性的中断程序控制CPU占用率,具体做法是:对转码程序在各个CPU核心上运行的线程周期性且比较细粒度地发送停止进程信号(SIGSTOP)和恢复进程信号(SIGCONT),通过控制两者之间的时间长度比例来控制程序的CPU占用率,同时也可以做到在多逻辑CPU上的负载均衡。在具体实现中,把转码程序在每个逻辑CPU的利用率都控制在了80%,这样就可以保证不会影响存储索引服务进程的正常运行。此外,在精确控制CPU利用率的同时,用实验确定每种不同类型服务器的最佳转码线程数,并把转码线程绑定到特定逻辑CPU,这 样防止了转码线程在不同逻辑CPU之间发生漂移,充分利用了高速缓冲存储器(cache)和数据和指令流水线(pipeline),一定程度上提高了性能。
    S304,根据所述任务信息以及所述分配信息,将转码后的数据进行合并,形成转码后的媒体文件,并保存到分布式磁盘。
    将转码后的数据进行合并的过程具体可以为:先获取转码后的数据在分布式磁盘中的存储地址信息;接着根据所述存储地址信息获取分布式磁盘中相应的转码后的数据;然后所述将转码后的数据进行合并。
    合并过程中,从分布式磁盘中读取数据,合并后再次存入分布式磁盘,这一系列的动作均是由同一组机群的CPU和存储器完成,因而文件的上传和下载都具有很快的速度(类似于局域网的数据传输)。对媒体分片文件的合并操作是基于计算机硬盘/内存(I/O)的,不加限制的话基本可能会达到磁盘顺序读写的最高值,影像存储业务的正常运行。所以,需要对合成器107的合并操作进行I/O控制,甚至需要在单独的机型上进行。I/O控制的实现方式类似于上文所述CPU占用率控制的方式。
    此外,在一些有实时性要求的场合(如用户需要边看边下载),可以根据任务信息中的特定字段(如表1中的“type”字段),在媒体片段的源数据转码完成后,可以直接以流或文件的方式发送给用户端,这样就可实现“边看边下”等要求,而且把用户等待时间降到更低。而在这种“边看边下”的情况下,可能并不需要合并文件,或者合并后的文件并不需要再拷贝成特定的封装格式,这时就可以少做或不做工作,进一步减少CPU的负担。
    本发明利用存储服务器空闲的CPU完成分布式转码,不仅节省了硬件成本,充分利用了现有资源,而且大大加快了数据的传输和拷贝,提高了转码效率。
    以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

    关于本文
    本文标题:复用空闲计算资源的云转码方法及系统、分布式文件装置.pdf
    链接地址://www.4mum.com.cn/p-6147360.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
  • 双色球中奖查询 飞艇人工免费计划app 大乐透啥时候停售 秒速时时彩稳赚技巧大小 稳赚四肖三期心开一期 赌场赌盘玩法网 pk10计划软件官网 组选包胆怎么选择哪个胆 tt时时彩计划软件 老北京时时开奖 3d技巧规律准确率高 北京pk10直播开奖 压单双大小还有时时彩 湖北快3稳赚 北京pk赛车开奖网站 福老时时