CN108965884A - 一种转码任务的分配方法及调度设备、转码设备 - Google Patents
一种转码任务的分配方法及调度设备、转码设备 Download PDFInfo
- Publication number
- CN108965884A CN108965884A CN201810770745.4A CN201810770745A CN108965884A CN 108965884 A CN108965884 A CN 108965884A CN 201810770745 A CN201810770745 A CN 201810770745A CN 108965884 A CN108965884 A CN 108965884A
- Authority
- CN
- China
- Prior art keywords
- transcoding
- task
- transcoding device
- target
- load value
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000009826 distribution Methods 0.000 title claims abstract description 53
- 230000004044 response Effects 0.000 claims description 50
- 230000005540 biological transmission Effects 0.000 claims description 21
- 238000006243 chemical reaction Methods 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 16
- 230000036541 health Effects 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003862 health status Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000002360 preparation method Methods 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 108091064702 1 family Proteins 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/156—Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/164—Feedback from the receiver or from the transmission channel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/40—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing 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/234309—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing 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/4402—Processing 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/440218—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing 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/4402—Processing 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/440236—Processing 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 media transcoding, e.g. video is transformed into a slideshow of still pictures, audio is converted into text
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mobile Radio Communication Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种转码任务的分配方法及调度设备、转码设备。所述方法包括:调度设备接收到客户端设备发送的任务分配请求后,可以根据每个转码设备中承载的转码任务的目标分辨率以及每个转码设备的设备性能,确定每个转码设备的当前负载值,进而确定当前负载值小于第一阈值的目标转码设备,从而使得客户端设备可以向目标转码设备发送转码任务。如此,相比于现有技术中直接根据转码设备的IP地址来选择目标转码设备的方式而言,本发明实施例充分考虑了转码设备的负载情况,有效避免了因转码设备过载而不能及时执行转码任务的情况,提高了视频转码的效率。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种转码任务的分配方法及调度设备、转码设备。
背景技术
在视频网站中,视频转码是视频生成过程中的重要环节。视频网站将丰富的视频资源转换成适合于网络播放的格式,从而,用户便可以通过计算机终端、移动终端或者具有联网功能的电视终端访问相应的视频网站观看各类视频。由于不同的视频资源可能具有不同的视频格式,为了适配不同网络带宽的场景,需要将视频以不同清晰度呈现给用户。因此,视频网站需要建立转码任务,通过其内部的转码系统执行相应的转码任务进行视频转码处理。
现有的转码系统中,调度设备在接收到客户端设备发送的转码任务后,通常根据客户端设备的网络之间互连的协议(Internet Protocol,IP)地址选择合适的转码设备,以实现客户端设备和该转码设备之间执行转码任务。然而,采用这种方法选出的转码设备可能存在过载的情况,从而导致该转码设备不能及时执行客户端设备发送的转码任务。
基于此,目前亟需一种转码任务的分配方法,用于解决现有技术分配的转码设备由于过载等原因不能及时执行转码任务的问题。
发明内容
本发明实施例提供一种转码任务的分配方法及调度设备、转码设备,以解决现有技术分配的转码设备由于过载等原因不能及时执行转码任务的技术问题。
本发明实施例提供一种转码任务的分配方法,所述方法包括:
调度设备接收到客户端设备发送的任务分配请求后,获取多个转码设备的负载信息,每个转码设备的负载信息包括转码设备承载的转码任务的目标需求信息,所述转码任务的目标需求信息包括所述转码任务的目标分辨率和所述转码任务的目标帧率;
针对第一转码设备,所述调度设备根据所述第一转码设备中的至少一个转码任务的目标需求信息以及所述第一转码设备的设备性能,确定所述第一转码设备的当前负载值,所述第一转码设备为所述多个转码设备中的任一设备;
所述调度设备根据所述多个转码设备的当前负载值,从所述多个转码设备中确定出当前负载值小于第一阈值的目标转码设备,并向所述客户端设备返回所述任务分配请求的响应消息,所述响应消息用于指示所述客户端设备向所述目标转码设备发送转码任务。
如此,调度设备可以根据每个转码设备的负载信息来计算每个转码设备的负载值,从而可以选择负载值较小的转码设备作为目标转码设备,相比于现有技术中直接根据转码设备的IP地址来选择目标转码设备的方式而言,本发明实施例充分考虑了转码设备的负载情况,有效避免了因转码设备过载而不能及时执行转码任务的情况,提高了视频转码的效率。
在一种可能的实现方式中,所述调度设备根据所述第一转码设备中的至少一个转码任务的目标需求信息以及所述第一转码设备的设备性能,确定所述第一转码设备的当前负载值,包括:
所述调度设备根据所述第一转码设备的设备性能,确定所述第一转码设备承载的各转码任务的各目标需求信息对应的预设最大任务数量;
所述调度设备根据所述第一转码设备中每个目标需求信息对应的预设最大任务数量,以及所述第一转码设备中每个目标需求信息对应的转码任务的数量,确定所述第一转码设备的当前负载值。
如此,调度设备可以根据各目标需求信息在第一转码设备中的任务数量以及预设最大任务数量,得到第一转码设备的当前负载值,这种方法能够更加合理地计算转码设备的当前负载值,从而提高确定转码设备的合理性。
在一种可能的实现方式中,所述当前负载值通过以下方式确定:
其中,A为所述第一转码设备的当前负载值;fi为所述第一转码设备中第i个目标需求信息对应的任务数量,Xi为所述第一转码设备中第i个目标需求信息对应的预设最大任务数量,i=1,2,…,n;n为所述第一转码设备承载的转码任务的目标需求信息的数目,n为大于或等于1的整数。
在一种可能的实现方式中,所述每个转码设备的负载信息还包括所述每个转码设备中多个执行核心的使用率;
所述调度设备根据所述多个转码设备的当前负载值,从所述多个转码设备中确定出当前负载值小于第一阈值的目标转码设备,包括:
所述调度设备根据所述多个转码设备的当前负载值和所述多个转码设备的平均中央处理器CPU使用率,从所述多个转码设备中确定出当前负载值小于第一阈值,且平均CPU使用率小于第二阈值的目标转码设备;所述转码设备的平均CPU使用率是根据转码设备中的多个执行核心的使用率确定的。
如此,在确定目标转码设备时,既可以考虑每个转码设备的当前负载值,又可以考虑每个转码设备的平均CPU使用率,能够从不同的角度来选择转码设备,提高确定转码设备的合理性。
在一种可能的实现方式中,所述调度设备根据所述第一转码设备中的多个执行核心的使用率,确定所述第一转码设备的平均CPU使用率,包括:
所述调度设备将所述第一转码设备中的多个执行核心按照每个执行核心的使用率从大到小进行排名;
所述调度设备将排名前N位的执行核心的使用率的平均值确定为所述第一转码设备的平均CPU使用率,N为大于或等于1的整数。
如此,能够避免转码设备中执行核心过多时计算量大的问题,从而降低平均CPU使用率的计算量,进而降低调度设备的运行负担。
在一种可能的实现方式中,所述从所述多个转码设备中确定出当前负载值小于第一阈值,且平均CPU使用率小于第二阈值的目标转码设备,包括:
所述调度设备从所述多个转码设备中确定出当前负载值小于所述第一阈值的至少一个候选转码设备;
所述调度设备根据每个候选转码设备中的多个执行核心的使用率,确定所述每个候选转码设备的平均CPU使用率;
所述调度设备从所述至少一个候选转码设备中确定出平均CPU使用率小于所述第二阈值的目标转码设备。
在一种可能的实现方式中,所述任务分配请求包括待分配任务的目标需求信息,所述待分配任务的目标需求信息包括所述待分配任务的目标分辨率和所述待分配任务的目标帧率;
所述调度设备根据所述多个转码设备的当前负载值,从所述多个转码设备中确定出当前负载值小于第一阈值的目标转码设备,包括:
所述调度设备根据所述多个转码设备的当前负载值和所述多个转码设备的预测负载值,从所述多个转码设备中确定出当前负载值小于第一阈值,且预测负载值小于第三阈值的目标转码设备;所述转码设备的预设负载值是根据所述转码设备的当前负载值和所述待分配转码任务的负载值确定的,所述待分配任务的负载值是根据所述待分配转码任务的目标需求信息确定的。
如此,在确定目标转码设备时,既可以考虑每个转码设备的当前负载值,又可以考虑每个转码设备的预测负载值,能够从不同的角度来选择转码设备,提高确定转码设备的合理性。
在一种可能的实现方式中,所述任务分配请求包括待分配任务的目标需求信息和所述待分配任务的标识,所述待分配任务的目标需求信息包括所述待分配任务的目标分辨率、所述待分配任务的目标帧率;所述每个转码设备的负载信息还包括转码设备承载的转码任务的标识;
在所述获取多个转码设备的负载信息之后,在所述调度设备确定所述第一转码设备的当前负载值之前,所述方法还包括:
所述调度设备确定所述多个转码设备承载的转码任务中不存在与所述待分配任务的目标分辨率、所述待分配任务的目标帧率和所述待分配任务的标识均一致的转码任务。
如此,调度设备能够优先判断多个转码设备中是否已存在与待分配任务一致的转码任务,从而避免在待分配任务已存在的情况下重复创建转码任务,导致资源浪费的情况。
本发明实施例提供一种转码任务的分配方法,所述方法包括:
转码设备接收到调度设备发送的状态请求后,根据自身的负载信息以及自身的设备性能,确定当前负载值;所述负载信息包括所述转码设备承载的至少一个转码任务的目标需求信息,所述转码任务的目标需求信息包括所述转码任务的目标分辨率和所述转码任务的目标帧率;
所述转码设备根据所述当前负载值,生成所述状态请求的响应消息;
所述转码设备向所述调度设备发送的所述响应消息,以使所述调度设备根据所述响应消息确定出目标转码设备,所述目标转码设备用于执行待分配的转码任务。
如此,转码设备可以根据自身的负载信息来计算当前负载值,可以减轻调度设备的计算量,从而减轻调度设备的运行负担;进一步地,调度设备可以选择当前负载值较小的转码设备作为目标转码设备,相比于现有技术中直接根据转码设备的IP地址来选择目标转码设备的方式而言,本发明实施例充分考虑了转码设备的负载情况,有效避免了因转码设备过载而不能及时执行转码任务的情况,提高了视频转码的效率。
在一种可能的实现方式中,所述转码设备根据自身的负载信息以及自身的设备性能,确定当前负载值,包括:
所述转码设备根据所述设备性能,确定所承载的各转码任务的各目标需求信息对应的预设最大任务数量;
所述转码设备根据每个目标需求信息对应的预设最大任务数量,以及所述每个目标需求信息对应的转码任务的数量,确定所述转码设备的当前负载值。
如此,转码设备可以根据各目标需求信息在该转码设备中的任务数量以及预设最大任务数量,得到当前负载值,这种方法能够更加合理地计算转码设备的当前负载值,从而提高确定目标转码设备的合理性。
在一种可能的实现方式中,所述当前负载值通过以下方式确定:
其中,A为所述转码设备的当前负载值;fi为所述转码设备中第i个目标需求信息对应的任务数量,Xi为所述转码设备中第i个目标需求信息对应的预设最大任务数量,i=1,2,…,n;n为所述转码设备承载的转码任务的目标需求信息的数目,n为大于或等于1的整数。
在一种可能的实现方式中,所述负载信息还包括多个执行核心的使用率;
所述方法还包括:
所述转码设备根据所述多个执行核心的使用率,确定平均CPU使用率;
所述转码设备根据所述当前负载值,生成所述状态请求的响应消息,包括:
所述转码设备根据所述当前负载值和所述确定平均CPU使用率,生成所述状态请求的响应消息。
在一种可能的实现方式中,所述转码设备根据所述多个执行核心的使用率,确定平均CPU使用率,包括:
所述转码设备将所述多个执行核心按照每个执行核心的使用率从大到小进行排名;
所述转码设备将排名前N位的执行核心的使用率的平均值确定为所述平均CPU使用率,N为大于或等于1的整数。
如此,能够避免转码设备中执行核心过多时计算量大的问题,从而降低平均CPU使用率的计算量,进而降低转码设备的运行负担。
在一种可能的实现方式中,所述状态请求包括所述待分配任务的目标需求信息,所述待分配任务的目标需求信息包括所述待分配任务的目标分辨率和所述待分配任务的目标帧率;
所述方法还包括:
所述转码设备根据所述待分配任务的目标需求信息,确定所述待分配任务的负载值;
所述转码设备根据所述当前负载值和所述待分配任务的负载值,确定自身的预测负载值;
所述转码设备根据所述当前负载值,生成所述状态请求的响应消息,包括:
所述转码设备根据所述当前负载值和所述预测负载值,生成所述状态请求的响应消息。
在一种可能的实现方式中,所述状态请求包括所述待分配任务的目标需求信息和所述待分配任务的标识,所述待分配任务的目标需求信息包括所述待分配任务的目标分辨率、所述待分配任务的目标帧率;
转码设备在接收到调度设备发送的状态请求之后,在确定所述当前负载值之前,所述方法还包括:
所述转码设备确定所述转码设备承载的转码任务中不存在与所述待分配任务的目标分辨率、所述待分配任务的目标帧率和所述待分配任务的标识均一致的转码任务。
如此,转码设备能够优先判断是否已存在与待分配任务一致的转码任务,从而避免在待分配任务已存在的情况下重复创建转码任务,导致资源浪费的情况。
本发明实施例提供一种调度设备,所述调度设备包括:
接收单元,用于接收到客户端设备发送的任务分配请求后,获取多个转码设备的负载信息,每个转码设备的负载信息包括转码设备承载的转码任务的目标需求信息,所述转码任务的目标需求信息包括所述转码任务的目标分辨率和所述转码任务的目标帧率;
处理单元,用于针对第一转码设备,根据所述第一转码设备中的至少一个转码任务的目标需求信息以及所述第一转码设备的设备性能,确定所述第一转码设备的当前负载值,所述第一转码设备为所述多个转码设备中的任一设备;以及根据所述多个转码设备的当前负载值,从所述多个转码设备中确定出当前负载值小于第一阈值的目标转码设备;
发送单元,用于向所述客户端设备返回所述任务分配请求的响应消息,所述响应消息用于指示所述客户端设备向所述目标转码设备发送转码任务。
在一种可能的实现方式中,所述处理单元具体用于:
根据所述第一转码设备的设备性能,确定所述第一转码设备承载的各转码任务的各目标需求信息对应的预设最大任务数量;
根据所述第一转码设备中每个目标需求信息对应的预设最大任务数量,以及所述第一转码设备中每个目标需求信息对应的转码任务的数量,确定所述第一转码设备的当前负载值。
在一种可能的实现方式中,所述当前负载值通过以下方式确定:
其中,A为所述第一转码设备的当前负载值;fi为所述第一转码设备中第i个目标需求信息对应的任务数量,Xi为所述第一转码设备中第i个目标需求信息对应的预设最大任务数量,i=1,2,…,n;n为所述第一转码设备承载的转码任务的目标需求信息的数目,n为大于或等于1的整数。
在一种可能的实现方式中,所述每个转码设备的负载信息还包括所述每个转码设备中多个执行核心的使用率;
所述处理单元具体用于:
根据所述多个转码设备的当前负载值和所述多个转码设备的平均中央处理器CPU使用率,从所述多个转码设备中确定出当前负载值小于第一阈值,且平均CPU使用率小于第二阈值的目标转码设备;所述转码设备的平均CPU使用率是根据转码设备中的多个执行核心的使用率确定的。
在一种可能的实现方式中,所述处理单元具体用于:
将所述第一转码设备中的多个执行核心按照每个执行核心的使用率从大到小进行排名;
将排名前N位的执行核心的使用率的平均值确定为所述第一转码设备的平均CPU使用率,N为大于或等于1的整数。
在一种可能的实现方式中,所述处理单元具体用于:
从所述多个转码设备中确定出当前负载值小于所述第一阈值的至少一个候选转码设备;
根据每个候选转码设备中的多个执行核心的使用率,确定所述每个候选转码设备的平均CPU使用率;
从所述至少一个候选转码设备中确定出平均CPU使用率小于所述第二阈值的目标转码设备。
在一种可能的实现方式中,所述任务分配请求包括待分配任务的目标需求信息,所述待分配任务的目标需求信息包括所述待分配任务的目标分辨率和所述待分配任务的目标帧率;
所述处理单元具体用于:
根据所述多个转码设备的当前负载值和所述多个转码设备的预测负载值,从所述多个转码设备中确定出当前负载值小于第一阈值,且预测负载值小于第三阈值的目标转码设备;所述转码设备的预设负载值是根据所述转码设备的当前负载值和所述待分配转码任务的负载值确定的,所述待分配任务的负载值是根据所述待分配转码任务的目标需求信息确定的。
在一种可能的实现方式中,所述任务分配请求包括待分配任务的目标需求信息和所述待分配任务的标识,所述待分配任务的目标需求信息包括所述待分配任务的目标分辨率、所述待分配任务的目标帧率;所述每个转码设备的负载信息还包括转码设备承载的转码任务的标识;
所述处理单元在确定所述第一转码设备的当前负载值之前,还用于:
确定所述多个转码设备承载的转码任务中不存在与所述待分配任务的目标分辨率、所述待分配任务的目标帧率和所述待分配任务的标识均一致的转码任务。
本发明实施例提供一种转码设备,所述转码设备包括:
接收单元,用于接收到调度设备发送的状态请求;
处理单元,用于根据自身的负载信息以及自身的设备性能,确定当前负载值;所述负载信息包括所述转码设备承载的至少一个转码任务的目标需求信息,所述转码任务的目标需求信息包括所述转码任务的目标分辨率和所述转码任务的目标帧率;以及根据所述当前负载值,生成所述状态请求的响应消息;
发送单元,用于向所述调度设备发送的所述响应消息,以使所述调度设备根据所述响应消息确定出目标转码设备,所述目标转码设备用于执行待分配的转码任务。
在一种可能的实现方式中,所述处理单元具体用于:
根据所述设备性能,确定所承载的各转码任务的各目标需求信息对应的预设最大任务数量;
根据每个目标需求信息对应的预设最大任务数量,以及所述每个目标需求信息对应的转码任务的数量,确定所述转码设备的当前负载值。
在一种可能的实现方式中,所述当前负载值通过以下方式确定:
其中,A为所述转码设备的当前负载值;fi为所述转码设备中第i个目标需求信息对应的任务数量,Xi为所述转码设备中第i个目标需求信息对应的预设最大任务数量,i=1,2,…,n;n为所述转码设备承载的转码任务的目标需求信息的数目,n为大于或等于1的整数。
在一种可能的实现方式中,所述负载信息还包括多个执行核心的使用率;
所述处理单元还用于:
根据所述多个执行核心的使用率,确定平均CPU使用率;
根据所述当前负载值和所述确定平均CPU使用率,生成所述状态请求的响应消息。
在一种可能的实现方式中,所述处理单元具体用于:
将所述多个执行核心按照每个执行核心的使用率从大到小进行排名;
将排名前N位的执行核心的使用率的平均值确定为所述平均CPU使用率,N为大于或等于1的整数。
在一种可能的实现方式中,所述状态请求包括所述待分配任务的目标需求信息,所述待分配任务的目标需求信息包括所述待分配任务的目标分辨率和所述待分配任务的目标帧率;
所述处理单元还用于:
根据所述待分配任务的目标需求信息,确定所述待分配任务的负载值;
根据所述当前负载值和所述待分配任务的负载值,确定自身的预测负载值;
根据所述当前负载值和所述预测负载值,生成所述状态请求的响应消息。
在一种可能的实现方式中,所述状态请求包括所述待分配任务的目标需求信息和所述待分配任务的标识,所述待分配任务的目标需求信息包括所述待分配任务的目标分辨率、所述待分配任务的目标帧率;
所述处理单元在确定所述当前负载值之前,所述处理单元还用于:
确定所述转码设备承载的转码任务中不存在与所述待分配任务的目标分辨率、所述待分配任务的目标帧率和所述待分配任务的标识均一致的转码任务。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍。
图1为本发明实施例适用的一种系统架构示意图;
图2为本发明实施例提供的一种转码任务的分配方法所对应的流程示意图;
图3为本发明实施例提供的另一种转码任务的分配方法所对应的流程示意图;
图4为本发明实施例提供的一种调度设备所对应的结构示意图;
图5为本发明实施例提供的一种转码设备所对应的结构示意图。
具体实施方式
下面结合说明书附图对本申请进行具体说明,方法实施例中的具体操作方法也可以应用于装置实施例中。
图1示例性示出了本发明实施例适用的一种系统架构示意图,如图1所示,本发明实施例适用的系统架构100包括调度设备101,至少一个客户端设备,例如图1中所示出的客户端设备1021、客户端设备1022和客户端设备1023,以及多个转码设备,例如图1中所示出的转码设备1031、转码设备1032和转码设备1033。
本发明实施例中,客户端设备可以为多种类型的设备,例如笔记本电脑、智能手机、平板电脑和智能电视等。
实施例一:
基于图1所示的系统架构,图2示例性示出了本发明实施例提供的一种转码任务的分配方法所对应的流程示意图,包括以下步骤:
步骤201,调度设备接收到客户端设备发送的任务分配请求后,获取多个转码设备的负载信息。
步骤202,针对第一转码设备,所述调度设备根据所述第一转码设备中的至少一个转码任务的目标需求信息以及所述第一转码设备的设备性能,确定所述第一转码设备的当前负载值。
步骤203,所述调度设备根据所述多个转码设备的当前负载值,从所述多个转码设备中确定出当前负载值小于第一阈值的目标转码设备,并向所述客户端设备返回所述任务分配请求的响应消息,所述响应消息用于指示所述客户端设备向所述目标转码设备发送转码任务。
本发明实施例中,调度设备可以根据每个转码设备的负载信息来计算每个转码设备的当前负载值,从而可以选择当前负载值较小的转码设备作为目标转码设备,相比于现有技术中直接根据转码设备的IP地址来选择目标转码设备的方式而言,本发明实施例充分考虑了转码设备的负载情况,有效避免了因转码设备过载而不能及时执行转码任务的情况,提高了视频转码的效率。
在执行步骤201之前,图1中示出的任一客户端设备可以向调度设备发送任务分配请求,比如,客户端设备1021向调度设备101发送任务分配请求。该任务分配请求可以用于请求调度设备向客户端设备分配合适的转码设备。
以视频直播的场景为例,视频主播录制视频后可以上传到直播平台,由于直播平台是面向众多用户的,不同用户对视频的清晰度的要求也不同,这就需要直播平台借助转码设备将视频转码,从而满足用户对不同清晰度的要求。本发明实施例中,直播平台对应的设备可以作为客户端设备,直播平台在接收到视频主播上传的视频文件后,可以向调度设备发送任务分配请求,以获取合适的转码设备来对视频文件进行转码。
步骤201中,调度设备在接收到任务分配请求之后,可以获取与调度设备连接的转码设备的负载信息。本发明实施例中,获取转码设备的负载信息的方式有多种,一种可能的实施方式为,调度设备获取所有转码设备的负载信息。例如,若与调度设备连接的转码设备有10个,则调度设备可以获取这10个转码设备中每个转码设备的负载信息。
另一种可能的实现方式为,调度设备获取特定的转码设备的负载信息。例如,调度设备在接收到任务分配请求后,可以根据任务分配请求中包括的客户端设备的位置信息,从与调度设备连接的所有转码设备中确定出与客户端设备的位置信息相关联的转码设备,进而获取与客户端设备的位置信息相关联的转码设备的负载信息。举个例子,如表1所示,为获取特定的转码设备的一种示例。与调度设备连接的转码设备有10个,每个转码设备对应的位置信息如表1中示出的内容,此处不再一一描述。若客户端设备的位置信息是上海市闵行区的,则可以根据表1示出的内容,将这10个转码设备中位置信息是上海的转码设备选择出来,即转码设备3、转码设备6和转码设备9,进而,调度设备可以获取转码设备3、转码设备6和转码设备9的负载信息。
表1:获取特定的转码设备的一种示例
编号 | 转码设备的位置信息 | 编号 | 转码设备的位置信息 |
转码设备1 | 北京市海淀区 | 转码设备6 | 上海市普陀区 |
转码设备2 | 杭州市萧山区 | 转码设备7 | 南京市浦口区 |
转码设备3 | 上海市静安区 | 转码设备8 | 广州市番禺区 |
转码设备4 | 北京市朝阳区 | 转码设备9 | 上海市闵行区 |
转码设备5 | 南京市玄武区 | 转码设备10 | 广州市白云区 |
又例如,调度设备在接收到任务分配请求后,可以根据与调度设备连接的转码设备发送的当前状态,从所有转码设备中确定出当前状态为可用状态的转码设备,进而获取可用状态的转码设备的负载信息。或者,也可以根据与调度设备连接的转码设备发送的健康状态,从所有转码设备中确定出为健康状态为健康的转码设备。举个例子,当转码设备的加权任务数大于或等于预设阈值时,认为该转码设备的健康状态为不健康,相应地,可设置该转码设备的健康值Q=100;当转码设备的加权任务数小于预设阈值时,认为该转码设备的健康状态为健康,相应地,可设置该转码设备的健康值Q=M,其中,M为该转码设备的平均CPU使用率。如此,当一个新的任务接入调度设备后,调度设备可以查询各转码设备的健康状态,并将健康的转码设备的IP地址返回给客户端设备,从而使得该任务在健康的转码设备上进行转码;进一步地,若同时存在多个健康的转码设备,则可以根据健康值Q的大小,将健康值较小的转码设备的IP地址返回给客户端设备,从而使得该任务在健康的转码设备上进行转码。
在其它可能的实施例中,调度设备在接收到任务分配请求后,也可以通过其它方式来获取多个转码设备的负载信息,具体不做限定。
进一步地,每个转码设备的负载信息可以包括多种信息。例如,负载信息可以包括转码设备承载的转码任务的目标需求信息,而所述转码任务的目标需求信息又可以包括所述转码任务的目标分辨率和所述转码任务的目标帧率。其中,目标分辨率可以是指转码任务对应的视频(或音频等其它形式)转码后的分辨率,目标帧率可以是指转码任务中画面每秒显示帧数。举个例子,转码任务A要求将视频1从640*360的分辨率转码到1280*720的分辨率,且视频1的画面每秒显示帧数为25fps,则对于转码任务A而言,目标分辨率为1280*720,目标帧率为25fps;再举个例子,转码任务B要求将视频2从1280*720的分辨率转码到848*480的分辨率,且视频2的画面每秒显示帧数为29.97fps,则对于转码任务B而言,目标分辨率为848*480,目标帧率为29.97fps。
或者,负载信息也可以包括每个转码设备中多个执行核心的使用率。执行核心的使用率可以是指每个转码设备的CPU中的每个执行核心的使用率。举个例子,转码设备1是四核的CPU,即转码设备1具有4个执行核心。如表2所示,为转码设备1中执行核心的信息的一种示例。根据表2示出的内容可以得知,转码设备1中执行核心1的使用率为40%,转码设备1中执行核心2的使用率为5%,转码设备1中执行核心3的使用率为30%,转码设备1中执行核心4的使用率为10%。
表2:转码设备1中执行核心的信息的一种示例
执行核心的编号 | 执行核心的使用率 |
执行核心1 | 40% |
执行核心2 | 5% |
执行核心3 | 30% |
执行核心4 | 10% |
或者,负载信息还可以包括每个转码设备承载的转码任务的标识。其中,转码任务的标识可以以多种形式来表现,比如,转码任务的标识可以是转码任务的统一资源定位符(Uniform Resource Locator,URL);又比如,转码任务的标识也可以是转码任务的任务名称,具体不做限定。
本发明实施例中,任务分配请求可以包括待分配任务的目标需求信息和待分配任务的标识。其中,待分配任务的标识可以以URL的形式来表现,比如,待分配任务1的标识为“http://a.b.com/shipin/12345.html”,待分配任务的目标需求信息可以包括待分配任务的目标分辨率和待分配任务的目标帧率,比如,待分配任务1的目标分辨率为1280*720,目标帧率为25fps。
在执行步骤202之前,调度设备还可以根据待分配任务的目标分辨率、待分配任务的目标帧率和待分配任务的标识,判断多个转码设备中是否承载有与待分配任务的目标分辨率、待分配任务的目标帧率和待分配任务的标识均一致的转码任务,若存在该转码任务,则调度设备可以将该转码任务对应的转码设备作为目标转码设备,以使客户端设备与目标转码设备建立连接;若不存在该转码任务,则调度设备可以执行上述步骤202。
如此,调度设备能够优先判断多个转码设备中是否已存在与待分配任务一致的转码任务,从而避免在待分配任务已存在的情况下重复创建转码任务,导致资源浪费的情况。
步骤202中,第一转码设备的当前负载值可以根据第一转码设备中的至少一个转码任务的目标需求信息以及所述第一转码设备的设备性能来确定,具体的确定方式有多种。一个示例中,调度设备可以根据第一转码设备的设备性能,确定第一转码设备承载的各转码任务的各目标需求信息对应的预设最大任务数量,进而可以根据第一转码设备中每个目标需求信息对应的预设最大任务数量,以及第一转码设备中每个目标需求信息对应的转码任务的数量,确定第一转码设备的当前负载值。换言之,要获取第一转码设备的当前负载值,需要先获取第一转码设备中不同的目标需求信息能够转码的最大路数(该最大路数也可以看作是一种阈值)。本发明实施例中可以通过压测数据,得到每个目标需求信息能够转码的最大路数,比如,分辨率F1且帧率Z1能转X1路,分辨率F2且帧率Z2能转X2路,其他分辨率同样按照此方法获得能够转码的最大路数,如此,可以确定每个转码设备的当前负载值(该当前负载值事实上可以看作是每个转码设备的加权任务数)。
具体来说,如表3所示,为第一转码设备中的转码任务的一种示例。其中,转码任务1对应的目标分辨率为1280*720,目标帧率为25fps;转码任务2对应的目标分辨率为640*360,目标帧率为29.97fps;转码任务3对应的目标分辨率为848*480,目标帧率为25fps;转码任务4对应的目标分辨率为1280*720,目标帧率为25fps;转码任务5对应的目标分辨率为1280*720,目标帧率为29.97fps。根据表3示出的内容可知,第一转码设备中共有4种目标需求信息,分别为:目标需求信息1对应目标分辨率1280*720和目标帧率25fps、目标需求信息2对应目标分辨率640*360和目标帧率29.97fps、目标需求信息3对应目标分辨率848*480和目标帧率25fps、目标需求信息4对应目标分辨率1280*720和目标帧率29.97fps。若根据第一转码设备的设备性能,可以得到该转码设备中各目标需求信息对应的预设最大任务数量,具体如表4所示。其中,目标需求信息1在第一转码设备中对应的预设最大任务数量为5个;目标需求信息2在第一转码设备中对应的预设最大任务数量为15个;目标需求信息3在第一转码设备中对应的预设最大任务数量为10个;目标需求信息4在第一转码设备中对应的预设最大任务数量为5个。如此,可以根据表3中示出的每个目标需求信息对应的任务数量,和表4中示出的每个目标需求信息对应的预设最大任务数量,采用公式(1)可以计算得到该转码设备的当前负载值为0.77。
其中,A为第一转码设备的当前负载值;fi为第一转码设备中第i个目标需求信息对应的任务数量,Xi为第一转码设备中第i个目标需求信息对应的预设最大任务数量,i=1,2,…,n;n为第一转码设备承载的转码任务的目标需求信息的数目,n为大于或等于1的整数。
需要说明的是,公式(1)仅为一种示例,本领域技术人员也可以通过其它方式来确定当前负载值,比如在公式(1)的基础上考虑各目标需求信息的权值,具体不做限定。
如此,调度设备可以根据各目标需求信息在第一转码设备中的任务数量以及预设最大任务数量,得到第一转码设备的当前负载值,这种方法能够更加合理地计算转码设备的当前负载值,从而提高确定转码设备的合理性。
表3:第一转码设备中的转码任务的一种示例
转码任务的编号 | 目标分辨率 | 目标帧率 |
转码任务1 | 1280*720 | 25fps |
转码任务2 | 640*360 | 29.97fps |
转码任务3 | 848*480 | 25fps |
转码任务4 | 1280*720 | 25fps |
转码任务5 | 1280*720 | 29.97fps |
表4:第一转码设备中各目标需求信息的预设最大任务数量的一种示例
目标需求信息 | 预设最大任务数量 |
目标需求信息1 | 5 |
目标需求信息2 | 15 |
目标需求信息3 | 10 |
目标需求信息4 | 5 |
另一个示例中,调度设备可以根据第一转码设备的设备性能以及第一转码设备中每个转码任务的目标需求信息,确定每个目标需求信息在第一转码设备中的性能占用率,并根据每个目标需求信息对应的转码任务的数量,确定每个目标需求信息在第一转码设备中的总性能占用率,进而得到第一转码设备的当前负载值。
具体来说,以表3示出的第一转码设备中的转码任务为例,若第一转码设备中目标需求信息1(即目标分辨率1280*720和目标帧率25fps)在该转码设备中性能占用率为20%,目标需求信息2(即目标分辨率640*360和目标帧率29.97fps)在第一转码设备中性能占用率为5%,目标需求信息3(即目标分辨率848*480和目标帧率25fps)在第一转码设备中性能占用率为10%,目标需求信息4(即目标分辨率1280*720和目标帧率29.97fps)在第一转码设备中性能占用率为25%,则根据表3中示出的每个目标需求信息对应的转码任务的数量,采用公式(2)可以计算得到第一转码设备的当前负载值为76%。
A=f1×C1+f2×C2+…+fn×Cn 公式(2)
其中,A为第一转码设备的当前负载值;fi为第一转码设备中第i个目标需求信息对应的任务数量,Ci为第一转码设备中第i个目标需求信息在该转码设备中性能占用率,i=1,2,…,n;n为第一转码设备承载的转码任务的目标需求信息的数目,n为大于或等于1的整数。
需要说明的是,公式(2)仅为一种示例,本领域技术人员也可以通过其它方式来确定当前负载值,比如在公式(2)的基础上考虑各目标需求信息的权值,具体不做限定。
在其它示例中,本领域技术人员也可以根据经验和实际情况来确定第一转码设备的当前负载值,具体不做限定。
步骤203中,调度设备确定目标转码设备的方式有多种。一种可能的实现方式为,调度设备可以从多个转码设备中确定出当前负载值小于第一阈值的候选转码设备,若只存在一个候选转码设备,则可以将该候选转码设备作为目标转码设备;若存在多个候选转码设备,则可以将当前负载值最小的候选转码设备作为目标转码设备,或者也可以将多个候选转码设备中的任一转码设备作为目标转码设备,具体不做限制。
需要说明的是,本领域技术人员可以根据经验和实际情况来设置第一阈值,具体不做限定。
另一种可能的实现方式为,调度设备可以根据多个转码设备的当前负载值和多个转码设备的平均CPU使用率,从多个转码设备中确定出当前负载值小于第一阈值,且平均CPU使用率小于第二阈值的目标转码设备,其中,平均CPU使用率可以是根据负载信息中包括的每个转码设备中多个执行核心的使用率确定的。具体来说,调度设备可以先从多个转码设备中确定出当前负载值小于第一阈值的至少一个候选转码设备,然后再从至少一个候选转码设备中确定出平均CPU使用率小于第二阈值的目标转码设备;或者,调度设备也可以先从多个转码设备中确定出平均CPU使用率小于第二阈值的至少一个候选转码设备,然后再从至少一个候选转码设备中确定出当前负载值小于第一阈值的目标转码设备。
需要说明的是,本领域技术人员可以根据经验和实际情况来设置第二阈值,具体不做限定。
如此,在确定目标转码设备时,既考虑每个转码设备的当前负载值,又考虑每个转码设备的平均CPU使用率,从而能够从不同的角度来选择转码设备,提高确定转码设备的合理性。
进一步地,确定平均CPU使用率的方式可以有多种。举个例子,可以将第一转码设备中的多个执行核心按照每个执行核心的使用率从大到小进行排名,然后可以将排名前N位的执行核心的使用率的平均值确定为第一转码设备的平均CPU使用率,N为大于或等于1的整数。以表2中示出的转码设备1中执行核心的信息为例,可以将转码设备1中的4个执行核心按照每个执行核心的使用率从大到小进行排名:执行核心1>执行核心3>执行核心4>执行核心2;若设定N=2,则根据表2中示出的每个执行核心的使用率,采用公式(3)可以计算得到转码设备1的平均CPU使用率为35%。
其中,M为第一转码设备的平均CPU使用率;topj为排名第j位的执行核心的使用率,j=1,2,…,N;N为大于或等于1的整数。
如此,能够避免转码设备中执行核心过多时计算量大的问题,从而降低平均CPU使用率的计算量,进而降低调度设备的运行负担。
需要说明的是,上述所描述的方法仅为一种示例,本领域技术人员也可以根据经验和实际情况采用其它方式来确定平均CPU使用率。例如,可以对当前时刻下的m核CPU中每个执行核心的使用率从大到小进行排列,然后取使用率最大的(1/4*m)个核的均值作为第一转码设备的平均CPU使用率,相应地,上文所示的公式(3)也可以修改为公式(4),具体不再赘述。
其中,M为第一转码设备的平均CPU使用率;m为第一转码设备中执行核心的个数;topj为排名第j位的执行核心的使用率,j=1,2,…,m/4;m为大于或等于1的整数。
再举个例子,也可以将第一转码设备中的多个执行核心的平均值作为第一转码设备的平均CPU使用率。以表2中示出的转码设备1中执行核心的信息为例,可以将转码设备1中的4个执行核心的使用率的平均值作为转码设备1的平均CPU使用率,即转码设备1的平均CPU使用率为42.5%。这种方法计算较为便捷。
另一种可能的实现方式为,调度设备可以根据多个转码设备的当前负载值和多个转码设备的预测负载值,从多个转码设备中确定出当前负载值小于第一阈值,且预测负载值小于第三阈值的目标转码设备,其中,预设负载值可以是根据转码设备的当前负载值和待分配转码任务的负载值确定的,而待分配任务的负载值又可以是根据所述待分配转码任务的目标需求信息确定的。具体来说,调度设备可以先从多个转码设备中确定出当前负载值小于第一阈值的至少一个候选转码设备,然后再从至少一个候选转码设备中确定出预设负载值小于第三阈值的目标转码设备;或者,调度设备也可以先从多个转码设备中确定出预设负载值小于第三阈值的至少一个候选转码设备,然后再从至少一个候选转码设备中确定出当前负载值小于第一阈值的目标转码设备。
需要说明的是,本领域技术人员可以根据经验和实际情况来设置第三阈值,具体不做限定。
如此,在确定目标转码设备时,既考虑每个转码设备的当前负载值,又考虑每个转码设备在接收待分配转码任务后的预测负载值,从而能够从不同的角度来选择转码设备,提高确定转码设备的合理性。
进一步地,确定预测负载值的方式可以有多种。一个示例中,调度设备可以根据待分配任务的目标需求信息在多个转码设备中分别对应的预设最大任务数量,确定待分配任务在多个转码设备中分别对应的负载值,再结合每个转码设备的当前负载值,可以确定每个转码设备的预测负载值。举个例子,如表5所示,为多个转码设备的负载信息的一种示例。其中,转码设备1的当前负载值为0.77,待分配任务的目标需求信息在转码设备1中对应的预设最大任务数量为3个,则待分配任务在转码设备1中对应的负载值可以采用公式(5)计算,得到待分配任务在转码设备1中对应的负载值为0.33,进而可以根据公式(6)确定转码设备1的预测负载值为1.1;其余转码设备的预测负载值的计算方法可以参考转码设备1,在此不再详细描述。
其中,P为待分配任务在第一转码设备中对应的负载值;X为待分配任务的目标需求信息在第一转码设备中对应的预设最大任务数量。
Q=P+A 公式(6)
其中,Q为第一转码设备的预测负载值;P为待分配任务在第一转码设备中对应的负载值;A为第一转码设备的当前负载值。
表5:多个转码设备的负载信息的一种示例
编号 | 当前负载值 | 预设最大任务数量 | 预测负载值 |
转码设备1 | 0.77 | 3 | 1.1 |
转码设备2 | 0.2 | 5 | 0.4 |
转码设备3 | 0.55 | 10 | 0.65 |
转码设备4 | 0.9 | 5 | 1.1 |
转码设备5 | 0.1 | 3 | 0.43 |
另一个示例中,调度设备可以将待分配任务的目标需求信息在多个转码设备中分别对应的性能占有率作为待分配任务在多个转码设备中分别对应的负载值,再结合每个转码设备的当前负载值,可以确定每个转码设备的预测负载值。
另一种可能的实现方式为,调度设备可以根据多个转码设备的当前负载值、多个转码设备的平均CPU使用率和多个转码设备的预测负载值,从多个转码设备中确定出当前负载值小于第一阈值,且平均CPU使用率小于第二阈值,且预测负载值小于第三阈值的目标转码设备。具体来说,调度设备可以先从多个转码设备中确定出当前负载值小于第一阈值的至少一个初始候选转码设备,然后从至少一个初始候选转码设备中确定出平均CPU使用率小于第二阈值的至少一个候选转码设备,再从至少一个候选转码设备中确定出预设负载值小于第三阈值的目标转码设备;或者,调度设备可以先从多个转码设备中确定出当前负载值小于第一阈值的至少一个初始候选转码设备,然后从至少一个初始候选转码设备中确定出预设负载值小于第三阈值的至少一个候选转码设备,再从至少一个候选转码设备中确定出平均CPU使用率小于第二阈值的目标转码设备;或者,调度设备可以先从多个转码设备中确定出平均CPU使用率小于第二阈值的至少一个初始候选转码设备,然后从至少一个初始候选转码设备中确定出当前负载值小于第一阈值的至少一个候选转码设备,再从至少一个候选转码设备中确定出预设负载值小于第三阈值的目标转码设备,具体不做限定。
如此,在确定目标转码设备时,既可以考虑每个转码设备的当前负载值,又可以考虑每个转码设备的平均CPU使用率,还可以考虑每个转码设备在接收待转码任务后的预测负载值,从而能够从不同的角度来选择转码设备,提高确定转码设备的合理性。
实施例二:
基于图1所示的系统架构,图3示例性示出了本发明实施例提供的另一种转码任务的分配方法所对应的流程示意图,包括以下步骤:
步骤301,调度设备向转码设备发送状态请求。
步骤302,转码设备接收到调度设备发送的状态请求后,根据自身的负载信息以及自身的设备性能,确定当前负载值。
步骤303,转码设备根据当前负载值,生成状态请求的响应消息。
步骤304,转码设备向调度设备发送的所述响应消息。
步骤305,调度设备根据所述响应消息确定出目标转码设备,所述目标转码设备用于执行待分配的转码任务。
如此,转码设备可以根据自身的负载信息来计算当前负载值,可以减轻调度设备的计算量,从而减轻调度设备的运行负担;进一步地,调度设备可以选择当前负载值较小的转码设备作为目标转码设备,相比于现有技术中直接根据转码设备的IP地址来选择目标转码设备的方式而言,本发明实施例充分考虑了转码设备的负载情况,有效避免了因转码设备过载而不能及时执行转码任务的情况,提高了视频转码的效率。
步骤301和步骤302中,状态请求可以包括待分配任务的目标需求信息和待分配任务的标识。其中,待分配任务的标识可以以URL的形式来表现,比如,待分配任务1的标识为“http://a.b.com/shipin/12345.html”,待分配任务的目标需求信息可以包括待分配任务的目标分辨率和待分配任务的目标帧率,比如,待分配任务1的目标分辨率为1280*720,目标帧率为25fps。
进一步地,转码设备在接收到调度设备发送的状态请求之后,可以先根据待分配任务的目标分辨率、待分配任务的目标帧率和待分配任务的标识,判断转码设备承载的转码任务中是否存在与待分配任务的目标分辨率、待分配任务的目标帧率和待分配任务的标识均一致的转码任务,若存在该转码任务,则可以向调度设备发送指示信息,以使调度设备将该转码设备作为目标转码设备;若不存在该转码任务,则转码设备可以继续执行上述步骤302。
如此,转码设备能够优先判断是否已存在与待分配任务一致的转码任务,从而避免在待分配任务已存在的情况下重复创建转码任务,导致资源浪费的情况。
本发明实施例中,负载信息可以包括多种信息。比如,负载信息可以包括转码设备承载的转码任务的目标需求信息,而所述转码任务的目标需求信息又可以包括所述转码任务的目标分辨率和所述转码任务的目标帧率。其中,目标分辨率可以是指转码任务对应的视频(或音频等其它形式)转码后的分辨率,目标帧率可以是指转码任务中画面每秒显示帧数。
又比如,负载信息还可以包括每个转码设备中多个执行核心的使用率,执行核心的使用率可以是指每个转码设备的CPU中的每个执行核心的使用率。
又比如,负载信息还可以包括承载的转码任务的标识。其中,转码任务的标识可以是转码任务的URL;或者,也可以是转码任务的任务名称,具体不做限定。
需要说明的是,关于负载信息的具体示例可以参考上述实施例一种示出的内容,此处不再详细描述。
下面具体介绍转码设备根据自身的负载信息进行计算的方式。
一个示例中,转码设备可以根据负载信息中各转码任务的目标需求信息以及自身的设备性能,确定当前负载值。举个例子,转码设备可以根据设备性能,确定所承载的各转码任务的各目标需求信息对应的预设最大任务数量,然后再根据每个目标需求信息对应的预设最大任务数量,以及每个目标需求信息对应的转码任务的数量,确定转码设备的当前负载值。具体地,当前负载值可以通过实施例一中的公式(1)得到,此处不再详细描述。需要说明的是,公式(1)仅为一种示例,本领域技术人员也可以通过其它方式来确定当前负载值,比如在公式(1)的基础上考虑各目标需求信息的权值,具体不做限定。采用这种方法,能够更加合理地计算转码设备的当前负载值,从而提高确定转码设备的合理性。
再举个例子,转码设备可以根据设备性能以及每个转码任务的目标需求信息,确定每个目标需求信息在所述转码设备中的性能占用率,并根据每个目标需求信息对应的转码任务的数量,确定每个目标需求信息在所述转码设备中的总性能占用率,进而得到转码设备的当前负载值。具体地,当前负载值可以通过实施例一中的公式(2)得到,此处不再详细描述。需要说明的是,公式(2)仅为一种示例,本领域技术人员也可以通过其它方式来确定当前负载值,比如在公式(2)的基础上考虑各目标需求信息的权值,具体不做限定。
又一个示例中,转码设备可以根据负载信息中多个执行核心的使用率以及自身的设备性能,确定平均CPU使用率。
进一步地,确定平均CPU使用率的方式可以有多种。举个例子,转码设备可以将多个执行核心按照每个执行核心的使用率从大到小进行排名,然后可以将排名前N位的执行核心的使用率的平均值确定为平均CPU使用率,N为大于或等于1的整数。具体地,平均CPU使用率可以通过实施例一中的公式(3)得到,此处不再详细描述。采用这种方法,能够避免转码设备中执行核心过多时计算量大的问题,从而降低平均CPU使用率的计算量,进而降低转码设备的运行负担。
需要说明的是,上述所描述的方法仅为一种示例,本领域技术人员也可以根据经验和实际情况采用其它方式来确定平均CPU使用率。例如,可以对当前时刻下的m核CPU中每个执行核心的使用率从大到小进行排列,然后取使用率最大的(1/4*m)个核的均值作为第一转码设备的平均CPU使用率,具体可以参考实施例一中的公式(4)此处不再详细描述。
再举个例子,转码设备也可以将多个执行核心的平均值作为平均CPU使用率。这种方法计算较为便捷。
又一个示例中,转码设备可以根据待分配任务的目标需求信息和所述转码设备的当前负载值,确定自身的预测负载值。
进一步地,确定预测负载值的方式可以有多种。举个例子,转码设备可以根据待分配任务的目标需求信息在该转码设备中对应的预设最大任务数量,确定待分配任务的负载值,再结合该转码设备的当前负载值,可以确定该转码设备的预测负载值。具体地,预测负载值可以通过实施例一中的公式(5)和公式(6)得到,此处不再详细描述。
再举个例子,转码设备可以将待分配任务的目标需求信息在该转码设备中分别对应的性能占有率作为待分配任务的负载值,再结合该转码设备的当前负载值,可以确定该转码设备的预测负载值。
步骤303和步骤304中,转码设备生成的状态请求的响应消息可以包括多种形式的内容。比如,状态请求的响应消息可以仅包括转码设备的当前负载值;或者,状态请求的响应消息可以包括转码设备的当前负载值和平均CPU使用率;或者,状态请求的响应消息可以包括转码设备的当前负载值和预测负载值;或者,状态请求的响应消息可以包括转码设备的当前负载值、平均CPU使用率和预测负载值,具体不做限定。
相应地,步骤305中,调度设备接收到的状态请求的响应消息中包括的内容的不同,确定目标转码设备的方式也不同。
一个示例中,响应消息包括转码设备的当前负载值。调度设备可以从多个转码设备中确定出当前负载值小于第一阈值的候选转码设备,若只存在一个候选转码设备,则可以将该候选转码设备作为目标转码设备;若存在多个候选转码设备,则可以将当前负载值最小的候选转码设备作为目标转码设备,或者也可以将多个候选转码设备中的任一转码设备作为目标转码设备,具体不做限制。
需要说明的是,本领域技术人员可以根据经验和实际情况来设置第一阈值,具体不做限定。
另一个示例中,响应消息包括转码设备的当前负载值和平均CPU使用率。调度设备可以根据多个转码设备的当前负载值和多个转码设备的平均CPU使用率,从多个转码设备中确定出当前负载值小于第一阈值,且平均CPU使用率小于第二阈值的目标转码设备。具体来说,调度设备可以先从多个转码设备中确定出当前负载值小于第一阈值的至少一个候选转码设备,然后再从至少一个候选转码设备中确定出平均CPU使用率小于第二阈值的目标转码设备;或者,调度设备也可以先从多个转码设备中确定出平均CPU使用率小于第二阈值的至少一个候选转码设备,然后再从至少一个候选转码设备中确定出当前负载值小于第一阈值的目标转码设备。
需要说明的是,本领域技术人员可以根据经验和实际情况来设置第二阈值,具体不做限定。
如此,在确定目标转码设备时,既考虑每个转码设备的当前负载值,又考虑每个转码设备的平均CPU使用率,从而能够从不同的角度来选择转码设备,提高确定转码设备的合理性。
另一个示例中,响应消息包括转码设备的当前负载值和预测负载值。调度设备可以根据多个转码设备的当前负载值和多个转码设备的预测负载值,从多个转码设备中确定出当前负载值小于第一阈值,且预测负载值小于第三阈值的目标转码设备。具体来说,调度设备可以先从多个转码设备中确定出当前负载值小于第一阈值的至少一个候选转码设备,然后再从至少一个候选转码设备中确定出预设负载值小于第三阈值的目标转码设备;或者,调度设备也可以先从多个转码设备中确定出预设负载值小于第三阈值的至少一个候选转码设备,然后再从至少一个候选转码设备中确定出当前负载值小于第一阈值的目标转码设备。
需要说明的是,本领域技术人员可以根据经验和实际情况来设置第三阈值,具体不做限定。
如此,在确定目标转码设备时,既考虑每个转码设备的当前负载值,又考虑每个转码设备在接收待分配转码任务后的预测负载值,从而能够从不同的角度来选择转码设备,提高确定转码设备的合理性。
另一个示例中,响应消息包括转码设备的当前负载值、平均CPU使用率和预测负载值。调度设备可以根据多个转码设备的当前负载值、多个转码设备的平均CPU使用率和多个转码设备的预测负载值,从多个转码设备中确定出当前负载值小于第一阈值,且平均CPU使用率小于第二阈值,且预测负载值小于第三阈值的目标转码设备。具体来说,调度设备可以先从多个转码设备中确定出当前负载值小于第一阈值的至少一个初始候选转码设备,然后从至少一个初始候选转码设备中确定出平均CPU使用率小于第二阈值的至少一个候选转码设备,再从至少一个候选转码设备中确定出预设负载值小于第三阈值的目标转码设备;或者,调度设备可以先从多个转码设备中确定出当前负载值小于第一阈值的至少一个初始候选转码设备,然后从至少一个初始候选转码设备中确定出预设负载值小于第三阈值的至少一个候选转码设备,再从至少一个候选转码设备中确定出平均CPU使用率小于第二阈值的目标转码设备;或者,调度设备可以先从多个转码设备中确定出平均CPU使用率小于第二阈值的至少一个初始候选转码设备,然后从至少一个初始候选转码设备中确定出当前负载值小于第一阈值的至少一个候选转码设备,再从至少一个候选转码设备中确定出预设负载值小于第三阈值的目标转码设备,具体不做限定。
如此,在确定目标转码设备时,既可以考虑每个转码设备的当前负载值,又可以考虑每个转码设备的平均CPU使用率,还可以考虑每个转码设备在接收待转码任务后的预测负载值,从而能够从不同的角度来选择转码设备,提高确定转码设备的合理性。
实施例三:基于同样的发明构思,图4示例性示出了本发明实施例提供一种调度设备的结构示意图,如图4所示,所述调度设备400包括接收单元401、处理单元402和发送单元403。
接收单元401,用于接收到客户端设备发送的任务分配请求后,获取多个转码设备的负载信息,每个转码设备的负载信息包括转码设备承载的转码任务的目标需求信息,所述转码任务的目标需求信息包括所述转码任务的目标分辨率和所述转码任务的目标帧率;
处理单元402,用于针对第一转码设备,根据所述第一转码设备中的至少一个转码任务的目标需求信息以及所述第一转码设备的设备性能,确定所述第一转码设备的当前负载值,所述第一转码设备为所述多个转码设备中的任一设备;以及根据所述多个转码设备的当前负载值,从所述多个转码设备中确定出当前负载值小于第一阈值的目标转码设备;
发送单元403,用于向所述客户端设备返回所述任务分配请求的响应消息,所述响应消息用于指示所述客户端设备向所述目标转码设备发送转码任务。
在一种可能的实现方式中,所述处理单元402具体用于:
根据所述第一转码设备的设备性能,确定所述第一转码设备承载的各转码任务的各目标需求信息对应的预设最大任务数量;
根据所述第一转码设备中每个目标需求信息对应的预设最大任务数量,以及所述第一转码设备中每个目标需求信息对应的转码任务的数量,确定所述第一转码设备的当前负载值。
在一种可能的实现方式中,所述当前负载值通过以下方式确定:
其中,A为所述第一转码设备的当前负载值;fi为所述第一转码设备中第i个目标需求信息对应的任务数量,Xi为所述第一转码设备中第i个目标需求信息对应的预设最大任务数量,i=1,2,…,n;n为所述第一转码设备承载的转码任务的目标需求信息的数目,n为大于或等于1的整数。
在一种可能的实现方式中,所述每个转码设备的负载信息还包括所述每个转码设备中多个执行核心的使用率;
所述处理单元402具体用于:
根据所述多个转码设备的当前负载值和所述多个转码设备的平均中央处理器CPU使用率,从所述多个转码设备中确定出当前负载值小于第一阈值,且平均CPU使用率小于第二阈值的目标转码设备;所述转码设备的平均CPU使用率是根据转码设备中的多个执行核心的使用率确定的。
在一种可能的实现方式中,所述处理单元402具体用于:
将所述第一转码设备中的多个执行核心按照每个执行核心的使用率从大到小进行排名;
将排名前N位的执行核心的使用率的平均值确定为所述第一转码设备的平均CPU使用率,N为大于或等于1的整数。
在一种可能的实现方式中,所述处理单元402具体用于:
从所述多个转码设备中确定出当前负载值小于所述第一阈值的至少一个候选转码设备;
根据每个候选转码设备中的多个执行核心的使用率,确定所述每个候选转码设备的平均CPU使用率;
从所述至少一个候选转码设备中确定出平均CPU使用率小于所述第二阈值的目标转码设备。
在一种可能的实现方式中,所述任务分配请求包括待分配任务的目标需求信息,所述待分配任务的目标需求信息包括所述待分配任务的目标分辨率和所述待分配任务的目标帧率;
所述处理单元402具体用于:
根据所述多个转码设备的当前负载值和所述多个转码设备的预测负载值,从所述多个转码设备中确定出当前负载值小于第一阈值,且预测负载值小于第三阈值的目标转码设备;所述转码设备的预设负载值是根据所述转码设备的当前负载值和所述待分配转码任务的负载值确定的,所述待分配任务的负载值是根据所述待分配转码任务的目标需求信息确定的。
在一种可能的实现方式中,所述任务分配请求包括待分配任务的目标需求信息和所述待分配任务的标识,所述待分配任务的目标需求信息包括所述待分配任务的目标分辨率、所述待分配任务的目标帧率;所述每个转码设备的负载信息还包括转码设备承载的转码任务的标识;
所述处理单元402在确定所述第一转码设备的当前负载值之前,还用于:
确定所述多个转码设备承载的转码任务中不存在与所述待分配任务的目标分辨率、所述待分配任务的目标帧率和所述待分配任务的标识均一致的转码任务。
实施例四:
基于同样的发明构思,图5示例性示出了本发明实施例提供一种转码设备的结构示意图,如图5所示,所述转码设备500包括接收单元501、处理单元502和发送单元503。
接收单元501,用于接收到调度设备发送的状态请求;
处理单元502,用于根据自身的负载信息以及自身的设备性能,确定当前负载值;所述负载信息包括所述转码设备承载的至少一个转码任务的目标需求信息,所述转码任务的目标需求信息包括所述转码任务的目标分辨率和所述转码任务的目标帧率;以及根据所述当前负载值,生成所述状态请求的响应消息;
发送单元503,用于向所述调度设备发送的所述响应消息,以使所述调度设备根据所述响应消息确定出目标转码设备,所述目标转码设备用于执行待分配的转码任务。
在一种可能的实现方式中,所述处理单元502具体用于:
根据所述设备性能,确定所承载的各转码任务的各目标需求信息对应的预设最大任务数量;
根据每个目标需求信息对应的预设最大任务数量,以及所述每个目标需求信息对应的转码任务的数量,确定所述转码设备的当前负载值。
在一种可能的实现方式中,所述当前负载值通过以下方式确定:
其中,A为所述转码设备的当前负载值;fi为所述转码设备中第i个目标需求信息对应的任务数量,Xi为所述转码设备中第i个目标需求信息对应的预设最大任务数量,i=1,2,…,n;n为所述转码设备承载的转码任务的目标需求信息的数目,n为大于或等于1的整数。
在一种可能的实现方式中,所述负载信息还包括多个执行核心的使用率;
所述处理单元502还用于:
根据所述多个执行核心的使用率,确定平均CPU使用率;
根据所述当前负载值和所述确定平均CPU使用率,生成所述状态请求的响应消息。
在一种可能的实现方式中,所述处理单元502具体用于:
将所述多个执行核心按照每个执行核心的使用率从大到小进行排名;
将排名前N位的执行核心的使用率的平均值确定为所述平均CPU使用率,N为大于或等于1的整数。
在一种可能的实现方式中,所述状态请求包括所述待分配任务的目标需求信息,所述待分配任务的目标需求信息包括所述待分配任务的目标分辨率和所述待分配任务的目标帧率;
所述处理单元502还用于:
根据所述待分配任务的目标需求信息,确定所述待分配任务的负载值;
根据所述当前负载值和所述待分配任务的负载值,确定自身的预测负载值;
根据所述当前负载值和所述预测负载值,生成所述状态请求的响应消息。
在一种可能的实现方式中,所述状态请求包括所述待分配任务的目标需求信息和所述待分配任务的标识,所述待分配任务的目标需求信息包括所述待分配任务的目标分辨率、所述待分配任务的目标帧率;
所述处理单元在确定所述当前负载值之前,所述处理单元502还用于:
确定所述转码设备承载的转码任务中不存在与所述待分配任务的目标分辨率、所述待分配任务的目标帧率和所述待分配任务的标识均一致的转码任务。
如此,调度设备可以根据每个转码设备的负载信息来计算每个转码设备的负载值,从而可以选择负载值较小的转码设备作为目标转码设备,相比于现有技术中直接根据转码设备的IP地址来选择目标转码设备的方式而言,本发明实施例充分考虑了转码设备的负载情况,有效避免了因转码设备过载而不能及时执行转码任务的情况,提高了视频转码的效率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (30)
1.一种转码任务的分配方法,其特征在于,所述方法包括:
调度设备接收到客户端设备发送的任务分配请求后,获取多个转码设备的负载信息,每个转码设备的负载信息包括转码设备承载的转码任务的目标需求信息,所述转码任务的目标需求信息包括所述转码任务的目标分辨率和所述转码任务的目标帧率;
针对第一转码设备,所述调度设备根据所述第一转码设备中的至少一个转码任务的目标需求信息以及所述第一转码设备的设备性能,确定所述第一转码设备的当前负载值,所述第一转码设备为所述多个转码设备中的任一设备;
所述调度设备根据所述多个转码设备的当前负载值,从所述多个转码设备中确定出当前负载值小于第一阈值的目标转码设备,并向所述客户端设备返回所述任务分配请求的响应消息,所述响应消息用于指示所述客户端设备向所述目标转码设备发送转码任务。
2.根据权利要求1所述的方法,其特征在于,所述调度设备根据所述第一转码设备中的至少一个转码任务的目标需求信息以及所述第一转码设备的设备性能,确定所述第一转码设备的当前负载值,包括:
所述调度设备根据所述第一转码设备的设备性能,确定所述第一转码设备承载的各转码任务的各目标需求信息对应的预设最大任务数量;
所述调度设备根据所述第一转码设备中每个目标需求信息对应的预设最大任务数量,以及所述第一转码设备中每个目标需求信息对应的转码任务的数量,确定所述第一转码设备的当前负载值。
3.根据权利要求2所述的方法,其特征在于,所述当前负载值通过以下方式确定:
其中,A为所述第一转码设备的当前负载值;fi为所述第一转码设备中第i个目标需求信息对应的任务数量,Xi为所述第一转码设备中第i个目标需求信息对应的预设最大任务数量,i=1,2,…,n;n为所述第一转码设备承载的转码任务的目标需求信息的数目,n为大于或等于1的整数。
4.根据权利要求1所述的方法,其特征在于,所述每个转码设备的负载信息还包括所述每个转码设备中多个执行核心的使用率;
所述调度设备根据所述多个转码设备的当前负载值,从所述多个转码设备中确定出当前负载值小于第一阈值的目标转码设备,包括:
所述调度设备根据所述多个转码设备的当前负载值和所述多个转码设备的平均中央处理器CPU使用率,从所述多个转码设备中确定出当前负载值小于第一阈值,且平均CPU使用率小于第二阈值的目标转码设备;所述转码设备的平均CPU使用率是根据转码设备中的多个执行核心的使用率确定的。
5.根据权利要求4所述的方法,其特征在于,所述调度设备根据所述第一转码设备中的多个执行核心的使用率,确定所述第一转码设备的平均CPU使用率,包括:
所述调度设备将所述第一转码设备中的多个执行核心按照每个执行核心的使用率从大到小进行排名;
所述调度设备将排名前N位的执行核心的使用率的平均值确定为所述第一转码设备的平均CPU使用率,N为大于或等于1的整数。
6.根据权利要求4所述的方法,其特征在于,所述从所述多个转码设备中确定出当前负载值小于第一阈值,且平均CPU使用率小于第二阈值的目标转码设备,包括:
所述调度设备从所述多个转码设备中确定出当前负载值小于所述第一阈值的至少一个候选转码设备;
所述调度设备根据每个候选转码设备中的多个执行核心的使用率,确定所述每个候选转码设备的平均CPU使用率;
所述调度设备从所述至少一个候选转码设备中确定出平均CPU使用率小于所述第二阈值的目标转码设备。
7.根据权利要求1所述的方法,其特征在于,所述任务分配请求包括待分配任务的目标需求信息,所述待分配任务的目标需求信息包括所述待分配任务的目标分辨率和所述待分配任务的目标帧率;
所述调度设备根据所述多个转码设备的当前负载值,从所述多个转码设备中确定出当前负载值小于第一阈值的目标转码设备,包括:
所述调度设备根据所述多个转码设备的当前负载值和所述多个转码设备的预测负载值,从所述多个转码设备中确定出当前负载值小于第一阈值,且预测负载值小于第三阈值的目标转码设备;所述转码设备的预设负载值是根据所述转码设备的当前负载值和所述待分配转码任务的负载值确定的,所述待分配任务的负载值是根据所述待分配转码任务的目标需求信息确定的。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述任务分配请求包括待分配任务的目标需求信息和所述待分配任务的标识,所述待分配任务的目标需求信息包括所述待分配任务的目标分辨率、所述待分配任务的目标帧率;所述每个转码设备的负载信息还包括转码设备承载的转码任务的标识;
在所述获取多个转码设备的负载信息之后,在所述调度设备确定所述第一转码设备的当前负载值之前,所述方法还包括:
所述调度设备确定所述多个转码设备承载的转码任务中不存在与所述待分配任务的目标分辨率、所述待分配任务的目标帧率和所述待分配任务的标识均一致的转码任务。
9.一种转码任务的分配方法,其特征在于,所述方法包括:
转码设备接收到调度设备发送的状态请求后,根据自身的负载信息以及自身的设备性能,确定当前负载值;所述负载信息包括所述转码设备承载的至少一个转码任务的目标需求信息,所述转码任务的目标需求信息包括所述转码任务的目标分辨率和所述转码任务的目标帧率;
所述转码设备根据所述当前负载值,生成所述状态请求的响应消息;
所述转码设备向所述调度设备发送的所述响应消息,以使所述调度设备根据所述响应消息确定出目标转码设备,所述目标转码设备用于执行待分配的转码任务。
10.根据权利要求9所述的方法,其特征在于,所述转码设备根据自身的负载信息以及自身的设备性能,确定当前负载值,包括:
所述转码设备根据所述设备性能,确定所承载的各转码任务的各目标需求信息对应的预设最大任务数量;
所述转码设备根据每个目标需求信息对应的预设最大任务数量,以及所述每个目标需求信息对应的转码任务的数量,确定所述转码设备的当前负载值。
11.根据权利要求10所述的方法,其特征在于,所述当前负载值通过以下方式确定:
其中,A为所述转码设备的当前负载值;fi为所述转码设备中第i个目标需求信息对应的任务数量,Xi为所述转码设备中第i个目标需求信息对应的预设最大任务数量,i=1,2,…,n;n为所述转码设备承载的转码任务的目标需求信息的数目,n为大于或等于1的整数。
12.根据权利要求9所述的方法,其特征在于,所述负载信息还包括多个执行核心的使用率;
所述方法还包括:
所述转码设备根据所述多个执行核心的使用率,确定平均CPU使用率;
所述转码设备根据所述当前负载值,生成所述状态请求的响应消息,包括:
所述转码设备根据所述当前负载值和所述确定平均CPU使用率,生成所述状态请求的响应消息。
13.根据权利要求12所述的方法,其特征在于,所述转码设备根据所述多个执行核心的使用率,确定平均CPU使用率,包括:
所述转码设备将所述多个执行核心按照每个执行核心的使用率从大到小进行排名;
所述转码设备将排名前N位的执行核心的使用率的平均值确定为所述平均CPU使用率,N为大于或等于1的整数。
14.根据权利要求9所述的方法,其特征在于,所述状态请求包括所述待分配任务的目标需求信息,所述待分配任务的目标需求信息包括所述待分配任务的目标分辨率和所述待分配任务的目标帧率;
所述方法还包括:
所述转码设备根据所述待分配任务的目标需求信息,确定所述待分配任务的负载值;
所述转码设备根据所述当前负载值和所述待分配任务的负载值,确定自身的预测负载值;
所述转码设备根据所述当前负载值,生成所述状态请求的响应消息,包括:
所述转码设备根据所述当前负载值和所述预测负载值,生成所述状态请求的响应消息。
15.根据权利要求9至13中任一项所述的方法,其特征在于,所述状态请求包括所述待分配任务的目标需求信息和所述待分配任务的标识,所述待分配任务的目标需求信息包括所述待分配任务的目标分辨率、所述待分配任务的目标帧率;
转码设备在接收到调度设备发送的状态请求之后,在确定所述当前负载值之前,所述方法还包括:
所述转码设备确定所述转码设备承载的转码任务中不存在与所述待分配任务的目标分辨率、所述待分配任务的目标帧率和所述待分配任务的标识均一致的转码任务。
16.一种调度设备,其特征在于,所述调度设备包括:
接收单元,用于接收到客户端设备发送的任务分配请求后,获取多个转码设备的负载信息,每个转码设备的负载信息包括转码设备承载的转码任务的目标需求信息,所述转码任务的目标需求信息包括所述转码任务的目标分辨率和所述转码任务的目标帧率;
处理单元,用于针对第一转码设备,根据所述第一转码设备中的至少一个转码任务的目标需求信息以及所述第一转码设备的设备性能,确定所述第一转码设备的当前负载值,所述第一转码设备为所述多个转码设备中的任一设备;以及根据所述多个转码设备的当前负载值,从所述多个转码设备中确定出当前负载值小于第一阈值的目标转码设备;
发送单元,用于向所述客户端设备返回所述任务分配请求的响应消息,所述响应消息用于指示所述客户端设备向所述目标转码设备发送转码任务。
17.根据权利要求16所述的调度设备,其特征在于,所述处理单元具体用于:
根据所述第一转码设备的设备性能,确定所述第一转码设备承载的各转码任务的各目标需求信息对应的预设最大任务数量;
根据所述第一转码设备中每个目标需求信息对应的预设最大任务数量,以及所述第一转码设备中每个目标需求信息对应的转码任务的数量,确定所述第一转码设备的当前负载值。
18.根据权利要求17所述的调度设备,其特征在于,所述当前负载值通过以下方式确定:
其中,A为所述第一转码设备的当前负载值;fi为所述第一转码设备中第i个目标需求信息对应的任务数量,Xi为所述第一转码设备中第i个目标需求信息对应的预设最大任务数量,i=1,2,…,n;n为所述第一转码设备承载的转码任务的目标需求信息的数目,n为大于或等于1的整数。
19.根据权利要求16所述的调度设备,其特征在于,所述每个转码设备的负载信息还包括所述每个转码设备中多个执行核心的使用率;
所述处理单元具体用于:
根据所述多个转码设备的当前负载值和所述多个转码设备的平均中央处理器CPU使用率,从所述多个转码设备中确定出当前负载值小于第一阈值,且平均CPU使用率小于第二阈值的目标转码设备;所述转码设备的平均CPU使用率是根据转码设备中的多个执行核心的使用率确定的。
20.根据权利要求19所述的调度设备,其特征在于,所述处理单元具体用于:
将所述第一转码设备中的多个执行核心按照每个执行核心的使用率从大到小进行排名;
将排名前N位的执行核心的使用率的平均值确定为所述第一转码设备的平均CPU使用率,N为大于或等于1的整数。
21.根据权利要求19所述的调度设备,其特征在于,所述处理单元具体用于:
从所述多个转码设备中确定出当前负载值小于所述第一阈值的至少一个候选转码设备;
根据每个候选转码设备中的多个执行核心的使用率,确定所述每个候选转码设备的平均CPU使用率;
从所述至少一个候选转码设备中确定出平均CPU使用率小于所述第二阈值的目标转码设备。
22.根据权利要求16所述的调度设备,其特征在于,所述任务分配请求包括待分配任务的目标需求信息,所述待分配任务的目标需求信息包括所述待分配任务的目标分辨率和所述待分配任务的目标帧率;
所述处理单元具体用于:
根据所述多个转码设备的当前负载值和所述多个转码设备的预测负载值,从所述多个转码设备中确定出当前负载值小于第一阈值,且预测负载值小于第三阈值的目标转码设备;所述转码设备的预设负载值是根据所述转码设备的当前负载值和所述待分配转码任务的负载值确定的,所述待分配任务的负载值是根据所述待分配转码任务的目标需求信息确定的。
23.根据权利要求16至22中任一项所述的调度设备,其特征在于,所述任务分配请求包括待分配任务的目标需求信息和所述待分配任务的标识,所述待分配任务的目标需求信息包括所述待分配任务的目标分辨率、所述待分配任务的目标帧率;所述每个转码设备的负载信息还包括转码设备承载的转码任务的标识;
所述处理单元在确定所述第一转码设备的当前负载值之前,还用于:
确定所述多个转码设备承载的转码任务中不存在与所述待分配任务的目标分辨率、所述待分配任务的目标帧率和所述待分配任务的标识均一致的转码任务。
24.一种转码设备,其特征在于,所述转码设备包括:
接收单元,用于接收到调度设备发送的状态请求;
处理单元,用于根据自身的负载信息以及自身的设备性能,确定当前负载值;所述负载信息包括所述转码设备承载的至少一个转码任务的目标需求信息,所述转码任务的目标需求信息包括所述转码任务的目标分辨率和所述转码任务的目标帧率;以及根据所述当前负载值,生成所述状态请求的响应消息;
发送单元,用于向所述调度设备发送的所述响应消息,以使所述调度设备根据所述响应消息确定出目标转码设备,所述目标转码设备用于执行待分配的转码任务。
25.根据权利要求24所述的转码设备,其特征在于,所述处理单元具体用于:
根据所述设备性能,确定所承载的各转码任务的各目标需求信息对应的预设最大任务数量;
根据每个目标需求信息对应的预设最大任务数量,以及所述每个目标需求信息对应的转码任务的数量,确定所述转码设备的当前负载值。
26.根据权利要求25所述的转码设备,其特征在于,所述当前负载值通过以下方式确定:
其中,A为所述转码设备的当前负载值;fi为所述转码设备中第i个目标需求信息对应的任务数量,Xi为所述转码设备中第i个目标需求信息对应的预设最大任务数量,i=1,2,…,n;n为所述转码设备承载的转码任务的目标需求信息的数目,n为大于或等于1的整数。
27.根据权利要求24所述的转码设备,其特征在于,所述负载信息还包括多个执行核心的使用率;
所述处理单元还用于:
根据所述多个执行核心的使用率,确定平均CPU使用率;
根据所述当前负载值和所述确定平均CPU使用率,生成所述状态请求的响应消息。
28.根据权利要求27所述的转码设备,其特征在于,所述处理单元具体用于:
将所述多个执行核心按照每个执行核心的使用率从大到小进行排名;
将排名前N位的执行核心的使用率的平均值确定为所述平均CPU使用率,N为大于或等于1的整数。
29.根据权利要求24所述的转码设备,其特征在于,所述状态请求包括所述待分配任务的目标需求信息,所述待分配任务的目标需求信息包括所述待分配任务的目标分辨率和所述待分配任务的目标帧率;
所述处理单元还用于:
根据所述待分配任务的目标需求信息,确定所述待分配任务的负载值;
根据所述当前负载值和所述待分配任务的负载值,确定自身的预测负载值;
根据所述当前负载值和所述预测负载值,生成所述状态请求的响应消息。
30.根据权利要求24至29中任一项所述的转码设备,其特征在于,所述状态请求包括所述待分配任务的目标需求信息和所述待分配任务的标识,所述待分配任务的目标需求信息包括所述待分配任务的目标分辨率、所述待分配任务的目标帧率;
所述处理单元在确定所述当前负载值之前,所述处理单元还用于:
确定所述转码设备承载的转码任务中不存在与所述待分配任务的目标分辨率、所述待分配任务的目标帧率和所述待分配任务的标识均一致的转码任务。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810770745.4A CN108965884B (zh) | 2018-07-13 | 2018-07-13 | 一种转码任务的分配方法及调度设备、转码设备 |
PCT/CN2018/107476 WO2020010709A1 (zh) | 2018-07-13 | 2018-09-26 | 一种转码任务的分配方法及调度设备、转码设备 |
US16/478,304 US20210360269A1 (en) | 2018-07-13 | 2018-09-26 | Method for assigning transcoding task, scheduling device and transcoding device |
EP18915782.9A EP3624453A4 (en) | 2018-07-13 | 2018-09-26 | TRANSCODING TASK ASSIGNMENT METHOD, SCHEDULING DEVICE, AND TRANSCODING DEVICE |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810770745.4A CN108965884B (zh) | 2018-07-13 | 2018-07-13 | 一种转码任务的分配方法及调度设备、转码设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108965884A true CN108965884A (zh) | 2018-12-07 |
CN108965884B CN108965884B (zh) | 2020-12-25 |
Family
ID=64483980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810770745.4A Active CN108965884B (zh) | 2018-07-13 | 2018-07-13 | 一种转码任务的分配方法及调度设备、转码设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20210360269A1 (zh) |
EP (1) | EP3624453A4 (zh) |
CN (1) | CN108965884B (zh) |
WO (1) | WO2020010709A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110475128A (zh) * | 2019-08-02 | 2019-11-19 | 视联动力信息技术股份有限公司 | 一种视频转码方法、装置、电子设备和存储介质 |
CN110516872A (zh) * | 2019-08-27 | 2019-11-29 | 拉扎斯网络科技(上海)有限公司 | 一种信息处理方法、装置、存储介质和电子设备 |
CN111400045A (zh) * | 2020-03-16 | 2020-07-10 | 杭州海康威视系统技术有限公司 | 一种负载均衡方法及装置 |
CN112911322A (zh) * | 2021-01-26 | 2021-06-04 | 北京锐马视讯科技有限公司 | 直播云转码弹性伸缩方法和装置 |
CN113691813A (zh) * | 2021-10-25 | 2021-11-23 | 苏州浪潮智能科技有限公司 | 一种转码卡使用方法、系统、存储介质及设备 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10855483B1 (en) * | 2019-03-21 | 2020-12-01 | Amazon Technologies, Inc. | Device-state quality analysis |
CN111432243A (zh) * | 2020-04-01 | 2020-07-17 | 山东汇贸电子口岸有限公司 | 视频转码方法及装置 |
Citations (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030158913A1 (en) * | 2002-02-15 | 2003-08-21 | Agnoli Giovanni M. | System, method, and computer program product for media publishing request processing |
US20080147864A1 (en) * | 2004-12-24 | 2008-06-19 | Rosario Drogo De Iacovo | Media Transcoding in Multimedia Delivery Services |
WO2009061553A1 (en) * | 2007-11-07 | 2009-05-14 | Ripcode, Inc. | System and method for managing content |
CN101917326A (zh) * | 2009-11-17 | 2010-12-15 | 新奥特(北京)视频技术有限公司 | 一种分布式转码系统及其任务调度方法 |
CN102404567A (zh) * | 2011-11-03 | 2012-04-04 | 深圳市融创天下科技股份有限公司 | 一种网络监控视频流按需实时转码的系统和方法 |
US8195130B2 (en) * | 2008-12-14 | 2012-06-05 | Verizon Patent And Licensing Inc. | Visual voicemail network architecture |
US20140053001A1 (en) * | 2012-08-17 | 2014-02-20 | Broadcom Corporation | Security central processing unit management of a transcoder pipeline |
US20140115597A1 (en) * | 2012-10-18 | 2014-04-24 | Advanced Micro Devices, Inc. | Media hardware resource allocation |
US20140267571A1 (en) * | 2013-03-15 | 2014-09-18 | Blue Jeans Network | Provision of video conferencing with load balancing |
CN104168488A (zh) * | 2014-08-29 | 2014-11-26 | 北京奇艺世纪科技有限公司 | 一种视频转码方法及装置 |
CN104182279A (zh) * | 2014-02-26 | 2014-12-03 | 无锡天脉聚源传媒科技有限公司 | 一种任务调度方法、装置及系统 |
CN104202305A (zh) * | 2014-08-13 | 2014-12-10 | 腾讯科技(深圳)有限公司 | 一种转码处理方法、装置及服务器 |
CN104717517A (zh) * | 2015-03-31 | 2015-06-17 | 北京奇艺世纪科技有限公司 | 一种视频转码任务调度方法及装置 |
CN104768022A (zh) * | 2014-12-31 | 2015-07-08 | 安科智慧城市技术(中国)有限公司 | 一种视频转码系统的资源调度方法及装置 |
CN105162809A (zh) * | 2015-10-23 | 2015-12-16 | 北京理工大学 | 一种基于模块间通信的实时视频转码系统 |
CN105516347A (zh) * | 2015-12-31 | 2016-04-20 | 浙江大华系统工程有限公司 | 一种流媒体服务器的负载均衡调配的方法及装置 |
CN105871808A (zh) * | 2015-12-14 | 2016-08-17 | 乐视云计算有限公司 | 直播视频的转码方法及装置 |
CN105872595A (zh) * | 2016-03-31 | 2016-08-17 | 乐视控股(北京)有限公司 | 转码任务分配方法及装置 |
US20160285943A1 (en) * | 2015-03-25 | 2016-09-29 | Industrial Technology Research Institute | Cloud operation resource dynamic allocation system and method thereof |
CN105992020A (zh) * | 2015-07-24 | 2016-10-05 | 乐视云计算有限公司 | 一种分配视频转换资源的方法及系统 |
US20170093946A1 (en) * | 2015-09-28 | 2017-03-30 | Sony Corporation | Parallel transcoding directly from file identifier |
CN107070686A (zh) * | 2016-12-23 | 2017-08-18 | 武汉烽火众智数字技术有限责任公司 | 一种视频监控平台码流并行转码的系统和方法 |
CN107295110A (zh) * | 2017-08-16 | 2017-10-24 | 网宿科技股份有限公司 | 计算任务的处理方法、边缘节点、业务服务器及系统 |
EP2882193B1 (en) * | 2013-12-04 | 2018-04-25 | Facebook, Inc. | Uploading and transcoding media files |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101894420B1 (ko) * | 2011-04-15 | 2018-09-03 | 에스케이플래닛 주식회사 | 적응적 비디오 트랜스코딩 방법 및 시스템 |
US9432256B2 (en) * | 2014-03-27 | 2016-08-30 | Hitachi, Ltd. | Resource management method and resource management system |
-
2018
- 2018-07-13 CN CN201810770745.4A patent/CN108965884B/zh active Active
- 2018-09-26 US US16/478,304 patent/US20210360269A1/en not_active Abandoned
- 2018-09-26 EP EP18915782.9A patent/EP3624453A4/en not_active Withdrawn
- 2018-09-26 WO PCT/CN2018/107476 patent/WO2020010709A1/zh unknown
Patent Citations (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030158913A1 (en) * | 2002-02-15 | 2003-08-21 | Agnoli Giovanni M. | System, method, and computer program product for media publishing request processing |
US20080147864A1 (en) * | 2004-12-24 | 2008-06-19 | Rosario Drogo De Iacovo | Media Transcoding in Multimedia Delivery Services |
WO2009061553A1 (en) * | 2007-11-07 | 2009-05-14 | Ripcode, Inc. | System and method for managing content |
US8195130B2 (en) * | 2008-12-14 | 2012-06-05 | Verizon Patent And Licensing Inc. | Visual voicemail network architecture |
CN101917326A (zh) * | 2009-11-17 | 2010-12-15 | 新奥特(北京)视频技术有限公司 | 一种分布式转码系统及其任务调度方法 |
CN102404567A (zh) * | 2011-11-03 | 2012-04-04 | 深圳市融创天下科技股份有限公司 | 一种网络监控视频流按需实时转码的系统和方法 |
US20140053001A1 (en) * | 2012-08-17 | 2014-02-20 | Broadcom Corporation | Security central processing unit management of a transcoder pipeline |
US20140115597A1 (en) * | 2012-10-18 | 2014-04-24 | Advanced Micro Devices, Inc. | Media hardware resource allocation |
US20140267571A1 (en) * | 2013-03-15 | 2014-09-18 | Blue Jeans Network | Provision of video conferencing with load balancing |
EP2882193B1 (en) * | 2013-12-04 | 2018-04-25 | Facebook, Inc. | Uploading and transcoding media files |
CN104182279A (zh) * | 2014-02-26 | 2014-12-03 | 无锡天脉聚源传媒科技有限公司 | 一种任务调度方法、装置及系统 |
CN104202305A (zh) * | 2014-08-13 | 2014-12-10 | 腾讯科技(深圳)有限公司 | 一种转码处理方法、装置及服务器 |
CN104168488A (zh) * | 2014-08-29 | 2014-11-26 | 北京奇艺世纪科技有限公司 | 一种视频转码方法及装置 |
CN104768022A (zh) * | 2014-12-31 | 2015-07-08 | 安科智慧城市技术(中国)有限公司 | 一种视频转码系统的资源调度方法及装置 |
US20160285943A1 (en) * | 2015-03-25 | 2016-09-29 | Industrial Technology Research Institute | Cloud operation resource dynamic allocation system and method thereof |
CN104717517A (zh) * | 2015-03-31 | 2015-06-17 | 北京奇艺世纪科技有限公司 | 一种视频转码任务调度方法及装置 |
CN105992020A (zh) * | 2015-07-24 | 2016-10-05 | 乐视云计算有限公司 | 一种分配视频转换资源的方法及系统 |
US20170093946A1 (en) * | 2015-09-28 | 2017-03-30 | Sony Corporation | Parallel transcoding directly from file identifier |
CN105162809A (zh) * | 2015-10-23 | 2015-12-16 | 北京理工大学 | 一种基于模块间通信的实时视频转码系统 |
CN105871808A (zh) * | 2015-12-14 | 2016-08-17 | 乐视云计算有限公司 | 直播视频的转码方法及装置 |
CN105516347A (zh) * | 2015-12-31 | 2016-04-20 | 浙江大华系统工程有限公司 | 一种流媒体服务器的负载均衡调配的方法及装置 |
CN105872595A (zh) * | 2016-03-31 | 2016-08-17 | 乐视控股(北京)有限公司 | 转码任务分配方法及装置 |
CN107070686A (zh) * | 2016-12-23 | 2017-08-18 | 武汉烽火众智数字技术有限责任公司 | 一种视频监控平台码流并行转码的系统和方法 |
CN107295110A (zh) * | 2017-08-16 | 2017-10-24 | 网宿科技股份有限公司 | 计算任务的处理方法、边缘节点、业务服务器及系统 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110475128A (zh) * | 2019-08-02 | 2019-11-19 | 视联动力信息技术股份有限公司 | 一种视频转码方法、装置、电子设备和存储介质 |
CN110516872A (zh) * | 2019-08-27 | 2019-11-29 | 拉扎斯网络科技(上海)有限公司 | 一种信息处理方法、装置、存储介质和电子设备 |
CN110516872B (zh) * | 2019-08-27 | 2022-10-14 | 拉扎斯网络科技(上海)有限公司 | 一种信息处理方法、装置、存储介质和电子设备 |
CN111400045A (zh) * | 2020-03-16 | 2020-07-10 | 杭州海康威视系统技术有限公司 | 一种负载均衡方法及装置 |
CN111400045B (zh) * | 2020-03-16 | 2023-09-05 | 杭州海康威视系统技术有限公司 | 一种负载均衡方法及装置 |
CN112911322A (zh) * | 2021-01-26 | 2021-06-04 | 北京锐马视讯科技有限公司 | 直播云转码弹性伸缩方法和装置 |
CN112911322B (zh) * | 2021-01-26 | 2022-09-16 | 北京锐马视讯科技有限公司 | 直播云转码弹性伸缩方法和装置 |
CN113691813A (zh) * | 2021-10-25 | 2021-11-23 | 苏州浪潮智能科技有限公司 | 一种转码卡使用方法、系统、存储介质及设备 |
CN113691813B (zh) * | 2021-10-25 | 2022-02-22 | 苏州浪潮智能科技有限公司 | 一种转码卡使用方法、系统、存储介质及设备 |
Also Published As
Publication number | Publication date |
---|---|
EP3624453A4 (en) | 2020-06-10 |
CN108965884B (zh) | 2020-12-25 |
US20210360269A1 (en) | 2021-11-18 |
WO2020010709A1 (zh) | 2020-01-16 |
EP3624453A1 (en) | 2020-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108965884A (zh) | 一种转码任务的分配方法及调度设备、转码设备 | |
CN103813213B (zh) | 基于移动云计算的实时视频分享平台和方法 | |
CN103733680B (zh) | 用于控制无线上行会话的方法和装置 | |
CN109831524B (zh) | 一种负载均衡处理方法及装置 | |
JP6442507B2 (ja) | ネットワークのデバイスにより実行される進行中のトラフィックセッションの中でネットワークの利用可能な帯域幅を割り当てる方法、対応するデバイス | |
Wang et al. | Wireless network aware cloud scheduler for scalable cloud mobile gaming | |
US20140143427A1 (en) | Providing Resources in a Cloud | |
WO2012059052A1 (zh) | 一种多媒体会议实现方法和装置 | |
CN110445723A (zh) | 一种网络数据调度方法及边缘节点 | |
CN113453025B (zh) | 数据获取方法及装置 | |
CN111617466B (zh) | 编码格式的确定方法、装置及云游戏的实现方法 | |
CN110198332A (zh) | 内容分发网络节点的调度方法、装置及存储介质 | |
TW201630386A (zh) | 用於網路中頻寬分配之方法及裝置 | |
CN113938394B (zh) | 监控业务带宽分配方法、装置、电子设备及存储介质 | |
CN113328906B (zh) | 一种流量实时监控方法、装置、存储介质及电子设备 | |
US20230412873A1 (en) | Streaming Media Transmission Method and Apparatus | |
CN109587531A (zh) | 视频传输方法、装置及系统 | |
CN110191362B (zh) | 数据传输方法及装置、存储介质及电子设备 | |
WO2014180435A1 (zh) | Vcdn资源控制方法、装置及系统 | |
CN110971707A (zh) | 一种在移动边缘网络中的分布式服务缓存方法 | |
WO2022268032A1 (zh) | 一种视频流调度系统及相关产品 | |
CN115955578A (zh) | 直播流调度方法及装置 | |
Ergiz et al. | Joint multipath flow and layer allocation for scalable video streaming | |
CN109922318B (zh) | 一种多路视频传输调度方法、装置、存储介质及电子终端 | |
CN108307206A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |