CN113347430A - 一种硬件转码加速设备的分布式调度装置及其使用方法 - Google Patents
一种硬件转码加速设备的分布式调度装置及其使用方法 Download PDFInfo
- Publication number
- CN113347430A CN113347430A CN202110522209.4A CN202110522209A CN113347430A CN 113347430 A CN113347430 A CN 113347430A CN 202110522209 A CN202110522209 A CN 202110522209A CN 113347430 A CN113347430 A CN 113347430A
- Authority
- CN
- China
- Prior art keywords
- transcoding
- distributed
- server
- task
- distributed scheduling
- 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
- 230000001133 acceleration Effects 0.000 title claims abstract description 31
- 238000000034 method Methods 0.000 title claims abstract description 15
- 238000012423 maintenance Methods 0.000 claims description 4
- 230000007423 decrease Effects 0.000 claims description 3
- 238000001514 detection method Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 5
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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
-
- 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/5083—Techniques for rebalancing the load in a distributed system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5021—Priority
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种硬件转码加速设备的分布式调度的装置和该装置的使用方法,涉及分布式转码的技术领域。所述的装置是由分布式调度模块和两个或两个以上转码服务器节点构建的转码分布式集群组成,分布式调度模块使用celery分布式异步任务框架以及rabbitmq消息中间件实现,接收转码任务后,动态均衡分配转码任务给转码服务器节点进行转码操作,所述装置的使用方法为通过动态的升高或降低转码服务器的转码能力,平衡转码服务器节点中每块转码加速卡的工作负荷,对转码服务器节点中的转码加速卡进行统一管理和调度,实现了负载均衡并大幅提高了系统级的高可用性和可伸缩性。
Description
技术领域
本发明涉及分布式转码的技术领域,特别是涉及一种硬件转码加速设备的分布式调度装置及其使用方法。
背景技术
科学技术日新月异发展的今天,视频已经成为互联网视界中一种高效且不可或缺的传输信息的载体,随着技术的发展,视频清晰度不断的提高,视频编解码的运算量也越来越大,于是针对视频编码解码以及转码的专用芯片的转码加速卡应运而生。转码服务器为了提高视频转码性能,在服务器中插入转码加速卡,转码加速卡与服务器一般以PCIE或NVME的方式结合。上电之后,当有转码任务进行时,将转码任务指定使用转码加速卡进行,从而实现转码性能的提升。但是,大部分转码加速卡只能部署在单节点的服务器上。
已有技术的缺点在于:由于单台服务器中PCIE槽位有限,部分服务器对NVME支持并不友好,现有的单台服务器一般只能使用1-2张加速卡进行转码加速;当转码的业务量大幅增加时,由于单台服务器可以连接的加速卡的数量有限,转码性能无法有效的扩容和提升;若采用增加多台服务器来实现业务的扩容,则由于转码加速卡往往相对比较独立,在多个转码加速卡的分布式调度上存在一定的困难。
发明内容
为了解决上述问题,本发明提供了一种硬件转码加速设备的分布式调度装置及其使用方法,其考虑到单节点调用转码加速卡的性能瓶颈,及使用转码加速卡构建集群时的独立性,基于celery(分布式异步任务框架)构建了分布式调用转码加速卡的技术方案,通过动态的升高或降低转码服务器的转码能力,平衡转码服务器节点中每块转码加速卡的工作负荷,对转码服务器节点中的转码加速卡进行统一管理和调度,实现了负载均衡并大幅提高了系统级的高可用性和可伸缩性。
为了达到上述目的,本发明提供一种硬件转码加速设备的分布式调度装置,其中,所述装置是一种转码分布式集群,其包括分布式调度模块和至少两个转码服务器节点,其中:
所述分布式调度模块,用于实现接收转码任务,均衡分配给所述转码服务器节点,其包括celery分布式异步任务框架以及rabbitmq消息中间件;
任一转码服务器节点,用于高效并行地接收所述分布式调度模块下达的转码任务并执行转码操作,其包括一物理服务器和至少2张转码加速卡。
为了达到上述目的,本发明还提供一种硬件转码加速设备的分布式调度装置的使用方法,其包括转码服务器节点的注册和注销、转码服务器列表状态的实时维护及转码任务的接收和分发,其中:
所述转码服务器节点的注册和注销包括:
当转码分布式集群中新增一转码服务器的节点时,向分布式调度模块进行注册,同时告知增加的转码服务器节点的转码最大处理能力;
当任一转码服务器节点要退出分布式转码集群时,向分布式调度模块发出注销指令,分布式调度模块根据注销指令将对应转码服务器节点的信息清除;
所述转码服务器列表状态的实时维护包括:
当转码分布式集群中出现任一转码服务器节点与分布式调度模块之间的心跳检测超时的状态时,则分布式调度模块认定对应转码服务器节点已经断开,并自动清理对应转码服务器节点的相关信息;
所述分布式调度模块实时更新每一转码服务器的最大并发能力状态信息,动态的升高或降低每一转码服务器的转码能力;
所述转码任务的接收和分发包括:
针对每一个转码任务设置普通优先级和高级优先级选项,高级优先级选项优先获得转码资源,根据转码服务器的最大并发能力状态信息,匹配并发能力级别高的转码服务器,执行转码任务。
在本发明一实施例中,其中,实时更新每一转码服务器的最大并发能力状态信息,动态的升高或降低每一转码服务器的转码能力,是通过加减服务器节点的并发能力任务数来实现,具体为:
对服务器节点分配转码任务后,将服务器节点的并发能力任务数减1;
服务器节点的完成一个转码任务后,并发能力任务数加1;
分布式调度模块按照并发能力任务数的数值从大到小顺序分配转码任务。
与现有技术相比,本发明的优点是通过集群的方式统一管理硬件转码加速卡,实现分布式调用,通过动态的提高或降低转码服务器的转码能力,协调各个转码加速卡之间的工作负载平衡,灵活应对转码业务量的变化,达到所述转码分布式集群内部的负载平衡,使集群整体的使用效率达到最优。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的一种硬件转码加速设备的分布式调度的装置实施例的结构图;
图2是本发明的一种硬件转码加速设备的分布式调度的装置的使用方法实施例的工作流程方框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明的一种硬件转码加速设备的分布式调度的装置实施例的结构图,如图1所示,本发明提供一种硬件转码加速设备的分布式调度的装置,此装置是一种转码服务器集群系统,包括分布式调度模块和转码服务器节点,调度模块接收转码任务后,均衡分配转码任务给转码服务器节点。
1-1转码服务器集群包括分布式调度模块和两个或两个以上转码服务器节点,转码服务器节点1到转码服务器节点n;
1-2分布式调度模块使用celery(分布式异步任务框架)以及rabbitmq(消息中间件)实现,接收转码任务后,动态均衡分配转码任务给转码服务器节点;
1-3转码服务器节点包括物理服务器和2张转码加速卡,转码加速卡1和转码加速卡2,高效并行地接收分布式调度模块下达的转码任务进行转码操作。
图2是本发明的一种硬件转码加速设备的分布式调度的装置的使用方法实施例的工作流程方框图,如图2中所示,本发明还提供一种硬件转码加速设备的分布式调度的装置的使用方法,其包括以下流程:
步骤2-1分布式转码集群开始运转,接收转码任务;
步骤2-2调度模块接收转码任务;
步骤2-3判断转码任务是否为高优先级任务,如果是,转到步骤2-4,否则转到步骤2-8;
步骤2-4如果为高优先级任务,则判断当前转码集群是否满负荷运载;
步骤2-5如果步骤2-4判断当前转码集群满负荷运行,则通过调度系统寻找当前执行进度最快的转码任务,找到该任务所在的转码服务器节点
步骤2-6当步骤2-5的转码服务器节点的转码任务执行结束后,将高优先级转码任务分配到该转码服务器节点,执行步骤2-12;
步骤2-7如果步骤2-4判断当前转码集群非满负荷运行,则选择空闲度最高的转码服务器,将该任务分配到最空闲的转码服务器,执行步骤2-12;
步骤2-8调度模块判断集群中是否有空闲节点;
步骤2-9如果集群中没有空闲可用节点,将该任务暂时存放消息队列,挂起等待;
步骤2-10开启定时检测是否有空闲转码服务器,等到检测到空闲服务器,转到步骤2-8;
步骤2-11如果步骤2-8调度模块判断集群中有可用空闲节点,选择集群中空闲程度最高的转码服务器,如各服务器空闲服务器均一致,则随机选择某一台空闲的转码服务器,将任务指向选择的空闲服务器,并将该服务器的最大并发能力减1;
步骤2-12转码服务器进行转码;
步骤2-13转码结束后,执行任务的转码服务器,向调度模块上报转码完成的状态;
步骤2-14调度模块将该转码服务器的最大并发处理能力加1,流程结束。
本发明通过集群的方式统一管理硬件转码加速卡,实现分布式调用,通过动态的提高或降低转码服务器的转码能力,协调各个转码加速卡之间的工作负载平衡,灵活应对转码业务量的变化,达到所述转码分布式集群内部的负载平衡,使集群整体的使用效率达到最优。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域普通技术人员可以理解:实施例中的装置中的模块可以按照实施例描述分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。
Claims (3)
1.一种硬件转码加速设备的分布式调度装置,其特征在于,所述装置是一种转码分布式集群,其包括分布式调度模块和至少两个转码服务器节点,其中:
所述分布式调度模块,用于实现接收转码任务,均衡分配给每个转码服务器节点,其包括celery分布式异步任务框架以及rabbitmq消息中间件;
任一转码服务器节点,用于高效并行地接收所述分布式调度模块下达的所述转码任务并执行转码操作,其包括一物理服务器和至少2张转码加速卡。
2.一种硬件转码加速设备的分布式调度装置的使用方法,其特征在于,包括转码服务器节点的注册和注销、转码服务器列表状态的实时维护及转码任务的接收和分发,其中:
所述转码服务器节点的注册和注销包括:
当转码分布式集群中新增一转码服务器的节点时,向分布式调度模块进行注册,同时告知增加的转码服务器节点的转码最大处理能力;
当任一转码服务器节点要退出分布式转码集群时,向分布式调度模块发出注销指令,分布式调度模块根据注销指令将对应转码服务器节点的信息清除;
所述转码服务器列表状态的实时维护包括:
当转码分布式集群中出现任一转码服务器节点与分布式调度模块之间的心跳检测超时的状态时,则分布式调度模块认定对应转码服务器节点已经断开,并自动清理对应转码服务器节点的相关信息;
分布式调度模块实时更新每一转码服务器的最大并发能力状态信息,动态的升高或降低每一转码服务器的转码能力;
所述转码任务的接收和分发包括:
针对每一个转码任务设置普通优先级和高级优先级选项,所述高级优先级选项优先获得转码资源,根据转码服务器的最大并发能力状态信息,匹配并发能力级别高的所述转码服务器,执行所述转码任务。
3.如权利要求2所述的一种硬件转码加速设备的分布式调度装置的使用方法,其特征在于,所述实时更新每一转码服务器的最大并发能力状态信息,动态的升高或降低每一转码服务器的转码能力,是通过加减服务器节点的并发能力任务数来实现,具体为:
对所述服务器节点分配转码任务后,将所述服务器节点的所述并发能力任务数减1;
当所述服务器节点完成一个转码任务后,所述并发能力任务数加1;
分布式调度模块按照所述并发能力任务数的数值从大到小顺序分配转码任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110522209.4A CN113347430B (zh) | 2021-05-13 | 2021-05-13 | 一种硬件转码加速设备的分布式调度装置及其使用方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110522209.4A CN113347430B (zh) | 2021-05-13 | 2021-05-13 | 一种硬件转码加速设备的分布式调度装置及其使用方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113347430A true CN113347430A (zh) | 2021-09-03 |
CN113347430B CN113347430B (zh) | 2023-01-24 |
Family
ID=77469665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110522209.4A Active CN113347430B (zh) | 2021-05-13 | 2021-05-13 | 一种硬件转码加速设备的分布式调度装置及其使用方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113347430B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113946449A (zh) * | 2021-10-29 | 2022-01-18 | 北京工业大学 | 一种基于Kafka的消费者端负载均衡方法 |
CN114501067A (zh) * | 2022-01-10 | 2022-05-13 | 成都易达数安科技有限公司 | 一种多gpu并发的媒资转码任务自动调度方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101917326A (zh) * | 2009-11-17 | 2010-12-15 | 新奥特(北京)视频技术有限公司 | 一种分布式转码系统及其任务调度方法 |
CN102802024A (zh) * | 2012-08-28 | 2012-11-28 | 曙光信息产业(北京)有限公司 | 在服务器端实现的转码方法以及转码系统 |
CN109788315A (zh) * | 2019-01-31 | 2019-05-21 | 湖南快乐阳光互动娱乐传媒有限公司 | 视频转码方法、装置及系统 |
WO2019103293A1 (ko) * | 2017-11-23 | 2019-05-31 | 주식회사 에스제이테크놀로지 | 분산 트랜스코딩 클라우드 서비스 시스템 |
CN110856018A (zh) * | 2019-11-14 | 2020-02-28 | 武汉珞佳伟业科技有限公司 | 一种基于云计算的监控系统中的快速转码方法及系统 |
CN111866187A (zh) * | 2020-06-30 | 2020-10-30 | 中科院计算所西部高等技术研究院 | 分布式深度学习推理云平台任务调度方法 |
-
2021
- 2021-05-13 CN CN202110522209.4A patent/CN113347430B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101917326A (zh) * | 2009-11-17 | 2010-12-15 | 新奥特(北京)视频技术有限公司 | 一种分布式转码系统及其任务调度方法 |
CN102802024A (zh) * | 2012-08-28 | 2012-11-28 | 曙光信息产业(北京)有限公司 | 在服务器端实现的转码方法以及转码系统 |
WO2019103293A1 (ko) * | 2017-11-23 | 2019-05-31 | 주식회사 에스제이테크놀로지 | 분산 트랜스코딩 클라우드 서비스 시스템 |
CN109788315A (zh) * | 2019-01-31 | 2019-05-21 | 湖南快乐阳光互动娱乐传媒有限公司 | 视频转码方法、装置及系统 |
CN110856018A (zh) * | 2019-11-14 | 2020-02-28 | 武汉珞佳伟业科技有限公司 | 一种基于云计算的监控系统中的快速转码方法及系统 |
CN111866187A (zh) * | 2020-06-30 | 2020-10-30 | 中科院计算所西部高等技术研究院 | 分布式深度学习推理云平台任务调度方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113946449A (zh) * | 2021-10-29 | 2022-01-18 | 北京工业大学 | 一种基于Kafka的消费者端负载均衡方法 |
CN114501067A (zh) * | 2022-01-10 | 2022-05-13 | 成都易达数安科技有限公司 | 一种多gpu并发的媒资转码任务自动调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113347430B (zh) | 2023-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107087019B (zh) | 一种基于端云协同计算架构的任务调度方法及装置 | |
US8984519B2 (en) | Scheduler and resource manager for coprocessor-based heterogeneous clusters | |
CN113347430B (zh) | 一种硬件转码加速设备的分布式调度装置及其使用方法 | |
WO2018072687A1 (zh) | 一种资源调度的方法、装置和过滤式调度器 | |
CN110187958B (zh) | 一种任务处理方法、装置、系统、设备及存储介质 | |
US9104488B2 (en) | Support server for redirecting task results to a wake-up server | |
CN102334104B (zh) | 一种基于多核系统的同步处理方法及装置 | |
CN111611050A (zh) | 一种信息处理方法、装置、设备及存储介质 | |
CN113535362B (zh) | 一种分布式调度系统架构和微服务工作流调度方法 | |
CN111404818A (zh) | 一种面向通用多核网络处理器的路由协议优化方法 | |
CN105955807A (zh) | 一种任务处理系统及方法 | |
CN103136047A (zh) | 一种多线程管理方法及架构 | |
CN113419842B (zh) | 一种基于JavaScript构建边缘计算微服务的方法、装置 | |
CN111459648B (zh) | 面向应用程序的异构多核平台资源优化方法和装置 | |
CN117609290A (zh) | 基于分布式缓存技术的服务总线异步处理系统和方法 | |
CN116010065A (zh) | 分布式任务调度方法、装置以及设备 | |
CN116010051A (zh) | 一种联邦学习多任务调度方法及装置 | |
WO2012126212A1 (zh) | 射频识别设备接口层的通信装置及方法 | |
CN116467053A (zh) | 资源调度方法及装置、设备、存储介质 | |
US11797342B2 (en) | Method and supporting node for supporting process scheduling in a cloud system | |
CN113822485A (zh) | 一种配电网调度任务优化方法及系统 | |
CN112181610A (zh) | 一种任务处理系统 | |
CN116755905B (zh) | 基于消息队列的数据交互方法、装置、设备及存储介质 | |
US20240354170A1 (en) | Resource management and isolation in containerized workloads | |
CN117729284A (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 | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: Room 711c, 7 / F, block a, building 1, yard 19, Ronghua Middle Road, Beijing Economic and Technological Development Zone, Daxing District, Beijing 102600 Patentee after: Beijing Zhongke Flux Technology Co.,Ltd. Address before: Room 711c, 7 / F, block a, building 1, yard 19, Ronghua Middle Road, Beijing Economic and Technological Development Zone, Daxing District, Beijing 102600 Patentee before: Beijing Ruixin high throughput technology Co.,Ltd. |