CN108366273A - 分布式视频转码***及分布式视频转码方法 - Google Patents

分布式视频转码***及分布式视频转码方法 Download PDF

Info

Publication number
CN108366273A
CN108366273A CN201810220527.3A CN201810220527A CN108366273A CN 108366273 A CN108366273 A CN 108366273A CN 201810220527 A CN201810220527 A CN 201810220527A CN 108366273 A CN108366273 A CN 108366273A
Authority
CN
China
Prior art keywords
transcoding
node
task
video
surplus resources
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201810220527.3A
Other languages
English (en)
Inventor
钟微
刘科
方力
叶龙
张勤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Communication University of China
Original Assignee
Communication University of China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Communication University of China filed Critical Communication University of China
Priority to CN201810220527.3A priority Critical patent/CN108366273A/zh
Publication of CN108366273A publication Critical patent/CN108366273A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234309Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440218Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明提供一种分布式视频转码***及方法,包括:采集转码任务;以单位负载单位时长用户点击量为视频序列价值,按其由大到小顺序对转码任务排序;确定每个转码任务所需负载资源;确定各转码节点剩余资源;选取剩余资源最多的转码节点;判断视频序列价值最大转码任务所需负载资源是否小于剩余资源最多转码节点的剩余资源:若小于,将所述转码任务分配到所述转码节点,分配后选取次大转码任务执行上述步骤;若不小于,跳过视频序列价值最大转码任务,选取其他转码任务依次执行所述判断步骤,若不存在所需负载资源小于剩余资源的转码任务,等待有转码节点完成转码任务,返回确定剩余资源步骤。上述方法及***使价值高的视频优先转码,转码速率高。

Description

分布式视频转码***及分布式视频转码方法
技术领域
本发明涉及视频处理技术领域,更为具体地,涉及一种分布式视频转码***及分布式视频转码方法。
背景技术
随着大型网站的各种高并发访问、海量数据处理等场景也越来越多,为了实现网站的高可用、易伸缩、可扩展、安全等目标,分布式***也就越来越受重视。在分布式视频转码***中,面对大量转码请求,如何有效的分配转码任务,任务调度算法由来已久,可以应用在不同领域。在分布式视频转码***中的任务调度有静态调度算法和动态调度算法。静态调度算法的任务调度策略事先已设计好,负载均衡器实现请求分配时执行该算法策略,调度分发来自客户端的请求。动态调度算法首先获取各服务器结点的请求连接数量、负载状态等实时的负载信息,分析集群***的实时负载状况,然后根据反馈的负载信息具体情况,将新的请求分发给集群中的各服务结点进行处理,达到总体上一个动态的负载均衡。
传统的基于局域性的最小链接算法LBLC(Locality-Based Least ConnectionScheduling)其思想是在集群***内各个服务器性能差别不大的情况下,将具有相同目的IP的请求尽量分配到同一台服务器上。如果该请求为第一次请求或者处理该请求的服务器已经满负载时,则按照最小连接数调度算法来调度。将其调度算法应用在视频转码领域,则是将多次相同任务当作一次任务,而每一次的任务分配,都从节点剩余资源中最大的节点开始分配。
传统的基于局域性的最小连接算法是当有多个相同任务时,当做同一个任务来处理,当转码任务内容不同时,每一次的任务分配,都会从节点剩余资源中最大的节点开始分配,而当任务遇到阻塞时,任务原地等待直到资源足够转码任务完成才继续往下分配,这样很浪费资源且导致转码时间延长,转码效率低下。
发明内容
鉴于上述问题,本发明的目的是提供一种有效分配转码任务,提高转码速率,提高***资源利用率分布式视频转码***及分布式视频转码方法。
根据本发明的一个方面,提供一种分布式视频转码方法,包括:步骤1,采集等待转码的转码任务;步骤2,以单位负载单位时长上的用户点击量作为视频序列价值,按照视频序列价值由大到小的顺序对转码任务进行排序;步骤3,确定每一个转码任务转码时所需的负载资源;步骤4,确定各个转码节点的剩余资源;步骤5,选取剩余资源最多的转码节点rmax;步骤6,判断视频序列价值最大的转码任务所需的负载资源是否小于剩余资源最多的转码节点上的剩余资源:如果所述负载资源小于所述剩余资源,步骤7,将序列价值最大的转码任务分配到剩余资源最多的转码节点rmax;视频序列值最大的转码任务分配后,在步骤8中,选取步骤2中次大的转码任务执行步骤4;如果所述负载资源不小于所述剩余资源,步骤9,跳过所述视频序列价值最大的转码任务,选取按照视频序列价值由大到小的顺序排序的其他转码任务依次执行步骤6,如果所有转码任务的负载资源均不小于转码节点rmax的剩余资源,在步骤10中,等待有转码节点完成转码任务,返回步骤4。
根据本发明的另一个方面,提供一种分布式视频转码***,包括:任务采集模块,采集等待转码的转码任务;排序模块,以单位负载单位时长上的用户点击量作为视频序列价值,按照视频序列价值由大到小的顺序对任务采集模块采集的转码任务进行排序;负载资源确定模块,确定每一个转码任务转码时所需的负载资源;剩余资源确定模块,确定各个转码节点的剩余资源;调用模块,选取剩余资源确定模块确定的剩余资源最多的转码节点rmax、排序模块中视频序列价值最大的转码任务以及负载资源确定模块确定的视频序列价值最大的转码任务所需的负载资源;第一判断模块,判断视频序列价值最大的转码任务所需的负载资源是否小于剩余资源最多的转码节点上的剩余资源,其中,如果所述负载资源小于所述剩余资源,发送指令给任务分配模块,任务分配模块将序列价值最大的转码任务分配到剩余资源最多的转码节点rmax,视频序列值最大的转码任务分配后,发送更新指令给排序模块和剩余资源确定模块,得到更新后的视频序列价值最大的转码任务和剩余资源最多的转码节点rmax;如果所述负载资源不小于所述剩余资源,发送指令给调用模块,调用模块依次调用排序模块的按照视频序列价值由大到小的顺序排序的其他转码任务及其对应的负载资源发送到第一判断模块,当存在负载资源小于所述转码节点rmax的剩余资源的转码任务时,发送指令给任务分配模块,任务分配模块将所述转码任务分配到转码节点rmax,当不存在负载资源小于所述转码节点rmax的剩余资源的转码任务时,发送指令给剩余资源确定模块,实时确定各个转码节点的剩余资源。
本发明所述分布式视频转码方法及***引入了视频转码任务价值,使价值高的视频优先转码,并且遇到不能分配的任务即阻塞的机制,改进为暂时跳过向后继续查询机制,从而提高整体转码速率,减少总转码完成时间。
附图说明
通过参考以下结合附图的说明,随着对本发明的更全面理解,本发明的其它目的及结果将更加明白及易于理解。在附图中:
图1是本发明所述分布式视频转码方法的流程图;
图2是本发明所述分布式视频转码***的构成框图。
具体实施方式
在下面的描述中,出于说明的目的,为了提供对一个或多个实施例的全面理解,阐述了许多具体细节。然而,很明显,也可以在没有这些具体细节的情况下实现这些实施例。以下将结合附图对本发明的具体实施例进行详细描述。
以下将结合附图对本发明的具体实施例进行详细描述。
图1是本发明所述分布式视频转码方法的流程图,如图1所示,本实施例所述分布式视频转码方法包括:
步骤1,采集等待转码的转码任务;
步骤2,以单位负载单位时长上的用户点击量作为视频序列价值,按照视频序列价值由大到小的顺序对转码任务进行排序;
步骤3,确定每一个转码任务转码时所需的负载资源;
步骤4,确定各个转码节点的剩余资源;
步骤5,选取剩余资源最多的转码节点rmax
步骤6,判断视频序列价值最大的转码任务所需的负载资源是否小于剩余资源最多的转码节点上的剩余资源:
如果所述负载资源小于所述剩余资源,步骤7,将序列价值最大的转码任务分配到剩余资源最多的转码节点rmax
视频序列值最大的转码任务分配后,在步骤8中,选取步骤2中次大的转码任务执行步骤4;
如果所述负载资源不小于所述剩余资源,步骤9,跳过所述视频序列价值最大的转码任务,选取按照视频序列价值由大到小的顺序排序的其他转码任务依次执行步骤6,如果所有转码任务的负载资源均不小于转码节点rmax的剩余资源,在步骤10中,等待有转码节点完成转码任务,返回步骤4。
上述分布式视频转码方法引入了视频转码任务价值,使价值高的视频优先转码,并且针对传统的基于局域性最小链接数算法中的遇到不能分配的任务即阻塞的机制,改进为暂时跳过向后继续查询机制,从而提高整体转码速率,减少总转码完成时间。
优选地,在步骤10中,等待有转码节点完成转码任务时,步骤1采集到新的转码任务,则停止等待,将新的转码任务加入排序执行步骤2。
另外,优选地,所述步骤1还包括:
查询等待转码的转码任务的数量,当查询的等待转码的转码任务的数量为0时,各转码节点进入休眠状态,不为0时,执行步骤2。
上述步骤3可以采用现有技术的静态调度算法、动态调度算法或LBLC调度算法中确定每一个转码任务转码时所需的负载资源,但是,优选地,所述确定每一个转码任务转码时所需的负载资源的方法包括:
选取一个基准视频作为参考,将基准视频转码所耗的资源设为1;
转码任务的视频相对于基准视频的横向分辨率、纵向分辨和帧率的比例的乘积,为转码任务所需的负载资源,
其中,i为转码任务索引,mi为第i个转码任务转码时所需的负载资源,wi、hi和fi分别为第i个转码任务横向分辨率、纵向分辨和帧率,wref、href和fref分别为基准视频的横向分辨率、纵向分辨和帧率。
在本发明的一个优选实施例中,选取分辨率为640*480、帧率为25的视频为基准视频作为参考,设定640*480*25的基准视频转码所耗的负载资源为1,分辨率越高,里面的宏块数越多,所要消耗的转码资源也越多。
上述步骤4可以采用现有技术的静态调度算法、动态调度算法或LBLC调度算法中确定各个转码节点的剩余资源,但是,优选地,确定各个转码节点的剩余资源的方法包括:
设定具有多个视频的测试序列,设定参考转码节点;
记录所述多个视频在各转码节点转码时占用的CPU和RAM空闲率;
通过测试序列各视频在所述参考转码节点转码时占用的CPU和RAM空闲率根据下式(1)和(2)得到参考转码节点的CPU静态权值系数和RAM静态权值系数,
其中,k为测试序列的视频索引,h为测试序列的视频总个数,Wcpu为参考转码节点的CPU静态权值系数,WRAM为参考转码节点的RAM静态权值系数,ΔCPUk_ref为测试序列的第k个视频在参考转码节点转码时占用的CPU空闲率,为,ΔRAMk_ref为测试序列的第k个视频在参考转码节点转码时占用的RAM空闲率;
通过测试序列在参考转码节点和不作为参考转码节点的其他转码节点转码时占用的CPU和RAM空闲率根据下式(3)获得所述其他转码节点相对于参考转码节点的环境等级因子,
其中,j为转码节点索引,ΔCPUk_j为第k个视频在转码节点j转码时占用的CPU空闲率,ΔRAMk_j为第k个视频在转码节点j转码时占用的RAM空闲率,εj为转码节点j的环境等级因子;
通过参考转码节点的CPU静态权值系数和RAM静态权值系数、各转码节点相对于参考转码节点的环境等级因子和各转码节点的当前CPU空闲率和RAM空闲率根据下式(4)构建各节点的剩余资源模型,
rj=εj*[(1-CPUj_used)*Wcpu+(1-RAMj_used)*WRAM] (4)
其中,rj为第j个转码节点的剩余资源,CPUj_used为第j个转码节点被占用的CPU资源百分比,RAMj_used为第j个转码节点被占用的RAM资源百分比。
图2是本发明所述分布式视频转码***的构成框图,如图2所示,本实施例所述分布式视频转码***包括:
任务采集模块10,采集等待转码的转码任务;
排序模块20,以单位负载单位时长上的用户点击量作为视频序列价值,按照视频序列价值由大到小的顺序对任务采集模块采集的转码任务进行排序;
负载资源确定模块30,确定每一个转码任务转码时所需的负载资源;
剩余资源确定模块40,确定各个转码节点的剩余资源;
调用模块50,选取剩余资源确定模块确定的剩余资源最多的转码节点rmax、排序模块中视频序列价值最大的转码任务以及负载资源确定模块确定的视频序列价值最大的转码任务所需的负载资源;
第一判断模块60,判断视频序列价值最大的转码任务所需的负载资源是否小于剩余资源最多的转码节点上的剩余资源;
任务分配模块70,根据第一判断模块60的判断结果将转码任务分配到相应的转码节点,具体地:
如果所述负载资源小于所述剩余资源,发送指令给任务分配模块,任务分配模块将序列价值最大的转码任务分配到剩余资源最多的转码节点rmax,视频序列值最大的转码任务分配后,发送更新指令给排序模块和剩余资源确定模块,得到更新后的视频序列价值最大的转码任务和剩余资源最多的转码节点rmax
如果所述负载资源不小于所述剩余资源,发送指令给调用模块,调用模块依次调用排序模块的按照视频序列价值由大到小的顺序排序的其他转码任务及其对应的负载资源发送到第一判断模块,当存在负载资源小于所述转码节点rmax的剩余资源的转码任务时,发送指令给任务分配模块,任务分配模块将所述转码任务分配到转码节点rmax,当不存在负载资源小于所述转码节点rmax的剩余资源的转码任务时,发送指令给剩余资源确定模块,实时确定各个转码节点的剩余资源。
优选地,所述分布式视频转码***还包括查询模块80,查询任务采集模块采集的等待转码的转码任务的数量,当查询的等待转码的转码任务的数量为0时,发送休眠指令给各转码节点。
另外,优选地,所述分布式视频转码***还包括第二判断模块90,当不存在负载资源小于所述转码节点rmax的剩余资源的转码任务时,判断剩余资源确定模块等待时间内,采集模块是否采集到新的转码任务,其中,
所述等待时间为等待有转码节点完成转码任务,存在负载资源小于所述转码节点rmax的剩余资源的转码任务的时间;
当采集模块采集到新的转码任务时,发送指令给排序模块,将新的转码任务加入排序。
上述分布式视频转码***,提出基于转码任务价值的LBLC调度算法,使热点视频优先转码,使转码任务的分配不会因阻塞而停下等待不再分配,会往后继续寻找任务直至资源分配完为止。
在本发明的一个实施例中,上述负载资源确定模块30包括:
第一设定单元31,一个基准视频作为参考,将基准视频转码所耗的资源设为1;
负载资源计算单元32,计算转码任务的视频相对于基准视频的横向分辨率、纵向分辨和帧率的比例的乘积,为转码任务所需的负载资源。
在本发明的一个实施例中,上述剩余资源确定模块40包括:
第二设定单元41,设定具有多个视频的测试序列,设定参考转码节点;
记录单元42,记录所述多个视频在各转码节点转码时占用的CPU和RAM空闲率;
参考静态权值系数确定单元43,通过测试序列各视频在所述参考转码节点转码时占用的CPU和RAM空闲率根据下式(1)和(2)得到参考转码节点的CPU静态权值系数和RAM静态权值系数,
其中,k为测试序列的视频索引,h为测试序列的视频总个数,Wcpu为参考转码节点的CPU静态权值系数,WRAM为参考转码节点的RAM静态权值系数,ΔCPUk_ref为测试序列的第k个视频在参考转码节点转码时占用的CPU空闲率,为,ΔRAMk_ref为测试序列的第k个视频在参考转码节点转码时占用的RAM空闲率;
环境等级因子确定单元44,通过测试序列在参考转码节点和不作为参考转码节点的其他转码节点转码时占用的CPU和RAM空闲率根据下式(3)获得所述其他转码节点相对于参考转码节点的环境等级因子,
其中,j为转码节点索引,ΔCPUk_j为第k个视频在转码节点j转码时占用的CPU空闲率,ΔRAMk_j为第k个视频在转码节点j转码时占用的RAM空闲率,εj为转码节点j的环境等级因子;
剩余资源模型构建单元45,通过参考转码节点的CPU静态权值系数和RAM静态权值系数、各转码节点相对于参考转码节点的环境等级因子和各转码节点的当前CPU空闲率和RAM空闲率根据下式(4)构建各节点的剩余资源模型,
rj=εj*[(1-CPUj_used)*Wcpu+(1-RAMj_used)*WRAM] (4)
其中,rj为第j个转码节点的剩余资源,CPUj_used为第j个转码节点被占用的CPU资源百分比,RAMj_used为第j个转码节点被占用的RAM资源百分比。
在本发明的一个具体实施例中,采用现有技术的轮询调度算法(Round-RobinScheduling,RR,按照服务器低顺序依次调度的,把每台计算机节点依次轮转一遍)+背包算法以及本发明的分布式视频转码对标清视频格式的视频进行了转码,基准视频640*480*25转码所耗的资源为1,得到转码完成时间和转码速率如下表所示,
表1
从上表可以看出,传统的基于局域性最小链接算法在分配任务时,当任务所需负载小于节点资源时则停止分配,而本文算法则往后继续查询可分配任务,达到合理分配转码任务的目的。同时还引用了视频价值概念,使得价值高的视频优先转码。同样的任务,本文算法转码效率提升3.26%,转码完成时间减少2.70%。
综上所述,参照附图以示例的方式描述了根据本发明提出的所述分布式视频转码***及分布式视频转码方法。但是,本领域技术人员应当理解,对于上述本发明所提出的***及方法,还可以在不脱离本发明内容的基础上做出各种改进。因此,本发明的保护范围应当由所附的权利要求书的内容确定。

Claims (10)

1.一种分布式视频转码方法,其特征在于,包括:
步骤1,采集等待转码的转码任务;
步骤2,以单位负载单位时长上的用户点击量作为视频序列价值,按照视频序列价值由大到小的顺序对转码任务进行排序;
步骤3,确定每一个转码任务转码时所需的负载资源;
步骤4,确定各个转码节点的剩余资源;
步骤5,选取剩余资源最多的转码节点rmax
步骤6,判断视频序列价值最大的转码任务所需的负载资源是否小于剩余资源最多的转码节点上的剩余资源:
如果所述负载资源小于所述剩余资源,步骤7,将序列价值最大的转码任务分配到剩余资源最多的转码节点rmax
视频序列值最大的转码任务分配后,在步骤8中,选取步骤2中次大的转码任务执行步骤4;
如果所述负载资源不小于所述剩余资源,步骤9,跳过所述视频序列价值最大的转码任务,选取按照视频序列价值由大到小的顺序排序的其他转码任务依次执行步骤6,如果所有转码任务的负载资源均不小于转码节点rmax的剩余资源,在步骤10中,等待有转码节点完成转码任务,返回步骤4。
2.根据权利要求1所述的分布式视频转码方法,其特征在于,所述确定每一个转码任务转码时所需的负载资源的方法包括:
选取一个基准视频作为参考,将基准视频转码所耗的资源设为1;
转码任务的视频相对于基准视频的横向分辨率、纵向分辨和帧率的比例的乘积,为转码任务所需的负载资源。
3.根据权利要求1所述的分布式视频转码方法,其特征在于,所述确定各个转码节点的剩余资源的方法包括:
设定具有多个视频的测试序列,设定参考转码节点;
记录所述多个视频在各转码节点转码时占用的CPU和RAM空闲率;
通过测试序列各视频在所述参考转码节点转码时占用的CPU和RAM空闲率根据下式(1)和(2)得到参考转码节点的CPU静态权值系数和RAM静态权值系数,
其中,k为测试序列的视频索引,h为测试序列的视频总个数,Wcpu为参考转码节点的CPU静态权值系数,WRAM为参考转码节点的RAM静态权值系数,ΔCPUk_ref为测试序列的第k个视频在参考转码节点转码时占用的CPU空闲率,为,ΔRAMk_ref为测试序列的第k个视频在参考转码节点转码时占用的RAM空闲率;
通过测试序列在参考转码节点和不作为参考转码节点的其他转码节点转码时占用的CPU和RAM空闲率根据下式(3)获得所述其他转码节点相对于参考转码节点的环境等级因子,
其中,j为转码节点索引,ΔCPUk_j为第k个视频在转码节点j转码时占用的CPU空闲率,ΔRAMk_j为第k个视频在转码节点j转码时占用的RAM空闲率,εj为转码节点j的环境等级因子;
通过参考转码节点的CPU静态权值系数和RAM静态权值系数、各转码节点相对于参考转码节点的环境等级因子和各转码节点的当前CPU空闲率和RAM空闲率根据下式(4)构建各节点的剩余资源模型,
rj=εj*[(1-CPUj_used)*Wcpu+(1-RAMj_used)*WRAM] (4)
其中,rj为第j个转码节点的剩余资源,CPUj_used为第j个转码节点被占用的CPU资源百分比,RAMj_used为第j个转码节点被占用的RAM资源百分比。
4.根据权利要求1所述的分布式视频转码方法,其特征在于,所述步骤1还包括:
查询等待转码的转码任务的数量,当查询的等待转码的转码任务的数量为0时,各转码节点进入休眠状态,不为0时,执行步骤2。
5.根据权利要求1所述的分布式视频转码方法,其特征在于,在步骤10中,等待有转码节点完成转码任务时,步骤1采集到新的转码任务,则停止等待,将新的转码任务加入排序执行步骤2。
6.一种分布式视频转码***,其特征在于,包括:
任务采集模块,采集等待转码的转码任务;
排序模块,以单位负载单位时长上的用户点击量作为视频序列价值,按照视频序列价值由大到小的顺序对任务采集模块采集的转码任务进行排序;
负载资源确定模块,确定每一个转码任务转码时所需的负载资源;
剩余资源确定模块,确定各个转码节点的剩余资源;
调用模块,选取剩余资源确定模块确定的剩余资源最多的转码节点rmax、排序模块中视频序列价值最大的转码任务以及负载资源确定模块确定的视频序列价值最大的转码任务所需的负载资源;
第一判断模块,判断视频序列价值最大的转码任务所需的负载资源是否小于剩余资源最多的转码节点上的剩余资源,其中,
如果所述负载资源小于所述剩余资源,发送指令给任务分配模块,任务分配模块将序列价值最大的转码任务分配到剩余资源最多的转码节点rmax,视频序列值最大的转码任务分配后,发送更新指令给排序模块和剩余资源确定模块,得到更新后的视频序列价值最大的转码任务和剩余资源最多的转码节点rmax
如果所述负载资源不小于所述剩余资源,发送指令给调用模块,调用模块依次调用排序模块的按照视频序列价值由大到小的顺序排序的其他转码任务及其对应的负载资源发送到第一判断模块,当存在负载资源小于所述转码节点rmax的剩余资源的转码任务时,发送指令给任务分配模块,任务分配模块将所述转码任务分配到转码节点rmax,当不存在负载资源小于所述转码节点rmax的剩余资源的转码任务时,发送指令给剩余资源确定模块,实时确定各个转码节点的剩余资源。
7.根据权利要求6所述的分布式视频转码***,其特征在于,所述负载资源确定模块包括:
第一设定单元,一个基准视频作为参考,将基准视频转码所耗的资源设为1;
负载资源计算单元,计算转码任务的视频相对于基准视频的横向分辨率、纵向分辨和帧率的比例的乘积,为转码任务所需的负载资源。
8.根据权利要求6所述的分布式视频转码***,其特征在于,所述剩余资源确定模块包括:
第二设定单元,设定具有多个视频的测试序列,设定参考转码节点;
记录单元,记录所述多个视频在各转码节点转码时占用的CPU和RAM空闲率;
参考静态权值系数确定单元,通过测试序列各视频在所述参考转码节点转码时占用的CPU和RAM空闲率根据下式(1)和(2)得到参考转码节点的CPU静态权值系数和RAM静态权值系数,
其中,k为测试序列的视频索引,h为测试序列的视频总个数,Wcpu为参考转码节点的CPU静态权值系数,WRAM为参考转码节点的RAM静态权值系数,ΔCPUk_ref为测试序列的第k个视频在参考转码节点转码时占用的CPU空闲率,为,ΔRAMk_ref为测试序列的第k个视频在参考转码节点转码时占用的RAM空闲率;
环境等级因子确定单元,通过测试序列在参考转码节点和不作为参考转码节点的其他转码节点转码时占用的CPU和RAM空闲率根据下式(3)获得所述其他转码节点相对于参考转码节点的环境等级因子,
其中,j为转码节点索引,ΔCPUk_j为第k个视频在转码节点j转码时占用的CPU空闲率,ΔRAMk_j为第k个视频在转码节点j转码时占用的RAM空闲率,εj为转码节点j的环境等级因子;
剩余资源模型构建单元,通过参考转码节点的CPU静态权值系数和RAM静态权值系数、各转码节点相对于参考转码节点的环境等级因子和各转码节点的当前CPU空闲率和RAM空闲率根据下式(4)构建各节点的剩余资源模型,
rj=εj*[(1-CPUj_used)*Wcpu+(1-RAMj_used)*WRAM] (4)
其中,rj为第j个转码节点的剩余资源,CPUj_used为第j个转码节点被占用的CPU资源百分比,RAMj_used为第j个转码节点被占用的RAM资源百分比。
9.根据权利要求6所述的分布式视频转码***,其特征在于,还包括:
查询模块,查询任务采集模块采集的等待转码的转码任务的数量,当查询的等待转码的转码任务的数量为0时,发送休眠指令给各转码节点。
10.根据权利要求6所述的分布式视频转码***,其特征在于,还包括:
第二判断模块,当不存在负载资源小于所述转码节点rmax的剩余资源的转码任务时,判断剩余资源确定模块等待时间内,采集模块是否采集到新的转码任务,其中,
所述等待时间为等待有转码节点完成转码任务,存在负载资源小于所述转码节点rmax的剩余资源的转码任务的时间;
当采集模块采集到新的转码任务时,发送指令给排序模块,将新的转码任务加入排序。
CN201810220527.3A 2018-03-16 2018-03-16 分布式视频转码***及分布式视频转码方法 Pending CN108366273A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810220527.3A CN108366273A (zh) 2018-03-16 2018-03-16 分布式视频转码***及分布式视频转码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810220527.3A CN108366273A (zh) 2018-03-16 2018-03-16 分布式视频转码***及分布式视频转码方法

Publications (1)

Publication Number Publication Date
CN108366273A true CN108366273A (zh) 2018-08-03

Family

ID=63000835

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810220527.3A Pending CN108366273A (zh) 2018-03-16 2018-03-16 分布式视频转码***及分布式视频转码方法

Country Status (1)

Country Link
CN (1) CN108366273A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110113632A (zh) * 2019-04-22 2019-08-09 武汉星汉互娱科技有限公司 一种流媒体低延时转码任务调度方法及装置
CN110879749A (zh) * 2018-09-06 2020-03-13 阿里巴巴集团控股有限公司 一种实时转码任务的调度方法及调度装置
CN111294647A (zh) * 2018-12-10 2020-06-16 ***通信集团有限公司 一种视频处理方法、装置及设备、存储介质
CN114024973A (zh) * 2021-11-01 2022-02-08 上海绚显科技有限公司 直播云转码的资源调度方法、装置、服务器及***
CN114598927A (zh) * 2022-03-03 2022-06-07 京东科技信息技术有限公司 转码资源的调度方法、***以及调度装置
CN115174948A (zh) * 2022-06-30 2022-10-11 上海哔哩哔哩科技有限公司 基于转码资源的调度方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120051440A1 (en) * 2010-08-24 2012-03-01 Lsi Corporation Video transcoder with flexible quality and complexity management
US20140321835A1 (en) * 2013-04-25 2014-10-30 Albert Straub Space efficiency and management of content
CN105872595A (zh) * 2016-03-31 2016-08-17 乐视控股(北京)有限公司 转码任务分配方法及装置
CN105992020A (zh) * 2015-07-24 2016-10-05 乐视云计算有限公司 一种分配视频转换资源的方法及***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120051440A1 (en) * 2010-08-24 2012-03-01 Lsi Corporation Video transcoder with flexible quality and complexity management
US20140321835A1 (en) * 2013-04-25 2014-10-30 Albert Straub Space efficiency and management of content
CN105992020A (zh) * 2015-07-24 2016-10-05 乐视云计算有限公司 一种分配视频转换资源的方法及***
CN105872595A (zh) * 2016-03-31 2016-08-17 乐视控股(北京)有限公司 转码任务分配方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘格非: "大规模视频转码调度算法的研究与设计", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
谭智一: "分布式视频转码服务调度算法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110879749A (zh) * 2018-09-06 2020-03-13 阿里巴巴集团控股有限公司 一种实时转码任务的调度方法及调度装置
CN110879749B (zh) * 2018-09-06 2023-04-07 阿里巴巴集团控股有限公司 一种实时转码任务的调度方法及调度装置
CN111294647A (zh) * 2018-12-10 2020-06-16 ***通信集团有限公司 一种视频处理方法、装置及设备、存储介质
CN111294647B (zh) * 2018-12-10 2022-04-08 ***通信集团有限公司 一种视频处理方法、装置及设备、存储介质
CN110113632A (zh) * 2019-04-22 2019-08-09 武汉星汉互娱科技有限公司 一种流媒体低延时转码任务调度方法及装置
CN114024973A (zh) * 2021-11-01 2022-02-08 上海绚显科技有限公司 直播云转码的资源调度方法、装置、服务器及***
CN114024973B (zh) * 2021-11-01 2023-11-24 上海绚显科技有限公司 直播云转码的资源调度方法、装置、服务器及***
CN114598927A (zh) * 2022-03-03 2022-06-07 京东科技信息技术有限公司 转码资源的调度方法、***以及调度装置
CN115174948A (zh) * 2022-06-30 2022-10-11 上海哔哩哔哩科技有限公司 基于转码资源的调度方法及装置
CN115174948B (zh) * 2022-06-30 2023-12-15 上海哔哩哔哩科技有限公司 基于转码资源的调度方法及装置

Similar Documents

Publication Publication Date Title
CN108366273A (zh) 分布式视频转码***及分布式视频转码方法
CN103530189B (zh) 一种面向流式数据的自动伸缩及迁移的方法及装置
CN102780759B (zh) 基于调度目标空间的云计算资源调度方法
CN110231976B (zh) 一种基于负载预测的边缘计算平台容器部署方法及***
CN103491024B (zh) 一种面向流式数据的作业调度方法及装置
Liu et al. Resource preprocessing and optimal task scheduling in cloud computing environments
CN109582448B (zh) 一种面向关键度和时效性的边缘计算任务调度方法
CN108519911A (zh) 一种基于容器的集群管理***中资源的调度方法和装置
Pruhs Competitive online scheduling for server systems
CN106534318B (zh) 一种基于流量亲和性的OpenStack云平台资源动态调度***和方法
CN104881322B (zh) 一种基于装箱模型的集群资源调度方法及装置
CN104050042B (zh) Etl作业的资源分配方法及装置
CN106095569B (zh) 一种基于sla的云工作流引擎资源调度与控制方法
CN104902001B (zh) 基于操作***虚拟化的Web请求负载均衡方法
CN104298550A (zh) 一种面向Hadoop的动态调度方法
CN102932279A (zh) 一种云环境数据中心多维资源调度***及方法
CN102279771A (zh) 一种虚拟化环境中自适应按需资源分配的方法及***
CN104199736A (zh) 云环境下的数据中心节能方法
CN108182105A (zh) 基于Docker容器技术的局部动态迁移方法及控制***
CN109783225B (zh) 一种多租户大数据平台的租户优先级管理方法及***
CN105446810B (zh) 基于成本代价的多农场云渲染任务分发***与方法
CN102262567A (zh) 虚拟机调度决策的***、平台及方法
CN102611723A (zh) 一种基于虚拟化技术构建高性能计算应用服务的方法
CN110308967A (zh) 一种基于混合云的工作流成本-延迟最优化任务分配方法
CN103297499A (zh) 一种基于云平台的调度方法及***

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180803