CN113347430B - 一种硬件转码加速设备的分布式调度装置及其使用方法 - Google Patents

一种硬件转码加速设备的分布式调度装置及其使用方法 Download PDF

Info

Publication number
CN113347430B
CN113347430B CN202110522209.4A CN202110522209A CN113347430B CN 113347430 B CN113347430 B CN 113347430B CN 202110522209 A CN202110522209 A CN 202110522209A CN 113347430 B CN113347430 B CN 113347430B
Authority
CN
China
Prior art keywords
transcoding
task
distributed
server
scheduling module
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.)
Active
Application number
CN202110522209.4A
Other languages
English (en)
Other versions
CN113347430A (zh
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.)
Beijing Zhongke Flux Technology Co ltd
Original Assignee
Beijing Ruixin High Throughput Technology Co ltd
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 Beijing Ruixin High Throughput Technology Co ltd filed Critical Beijing Ruixin High Throughput Technology Co ltd
Priority to CN202110522209.4A priority Critical patent/CN113347430B/zh
Publication of CN113347430A publication Critical patent/CN113347430A/zh
Application granted granted Critical
Publication of CN113347430B publication Critical patent/CN113347430B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority

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 (2)

1.一种硬件转码加速设备的分布式调度装置的使用方法,其特征在于,所述装置是一种转码分布式集群,其包括分布式调度模块和至少两个转码服务器节点,其中:
所述分布式调度模块,用于实现接收转码任务,均衡分配给每个转码服务器节点,其包括celery分布式异步任务框架以及rabbitmq消息中间件;
任一转码服务器节点,用于高效并行地接收所述分布式调度模块下达的所述转码任务并执行转码操作,其包括一物理服务器和至少2张转码加速卡;
所述装置的使用方法包括转码服务器节点的注册和注销、转码服务器列表状态的实时维护及转码任务的接收和分发,其中:
所述转码服务器节点的注册和注销包括:
当转码分布式集群中新增一转码服务器的节点时,向分布式调度模块进行注册,同时告知增加的转码服务器节点的转码最大处理能力;
当任一转码服务器节点要退出分布式转码集群时,向分布式调度模块发出注销指令,分布式调度模块根据注销指令将对应转码服务器节点的信息清除;
所述转码服务器列表状态的实时维护包括:
当转码分布式集群中出现任一转码服务器节点与分布式调度模块之间的心跳检测超时的状态时,则分布式调度模块认定对应转码服务器节点已经断开,并自动清理对应转码服务器节点的相关信息;
分布式调度模块实时更新每一转码服务器的最大并发能力状态信息,动态的升高或降低每一转码服务器的转码能力;
所述转码任务的接收和分发包括:
针对每一个转码任务设置普通优先级和高级优先级选项,所述高级优先级选项优先获得转码资源,根据转码服务器的最大并发能力状态信息,匹配并发能力级别高的所述转码服务器,执行所述转码任务,具体执行过程包括:
步骤2-2:分布式调度模块接收转码任务;
步骤2-3:判断转码任务是否为高优先级任务,如果是则转到步骤2-4,否则转到步骤2-8;步骤2-4:判断当前转码集群是否满负荷运载,若当前转码集群满负荷运行,则通过调度模块寻找当前执行进度最快的转码任务,并找到该转码任务所在的转码服务器节点并进入步骤2-6;否则进入步骤2-7;
步骤2-6:当对应转码服务器节点的转码任务执行结束后,将高优先级转码任务分配到该转码服务器节点,由此转码服务器执行转码任务;
步骤2-7:由于判断当前转码集群非满负荷运行,则选择空闲度最高的转码服务器,将该转码任务分配到空闲度最高的转码服务器,由此转码服务器执行转码任务;
步骤2-8:分布式调度模块判断集群中是否有空闲节点,若没有空闲可用节点,则将该任务暂时存放消息队列,挂起等待并开启定时检测是否有空闲转码服务器;否则进入步骤2-11;
步骤2-11:选择集群中空闲程度最高的转码服务器执行转码任务。
2.如权利要求1所述的一种硬件转码加速设备的分布式调度装置的使用方法,其特征在于,所述实时更新每一转码服务器的最大并发能力状态信息,动态的升高或降低每一转码服务器的转码能力,是通过加减服务器节点的并发能力任务数来实现,具体为:
对所述服务器节点分配转码任务后,将所述服务器节点的所述并发能力任务数减1;
当所述服务器节点完成一个转码任务后,所述并发能力任务数加1;
分布式调度模块按照所述并发能力任务数的数值从大到小顺序分配转码任务。
CN202110522209.4A 2021-05-13 2021-05-13 一种硬件转码加速设备的分布式调度装置及其使用方法 Active CN113347430B (zh)

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 CN113347430A (zh) 2021-09-03
CN113347430B true 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)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114501067A (zh) * 2022-01-10 2022-05-13 成都易达数安科技有限公司 一种多gpu并发的媒资转码任务自动调度方法

Citations (6)

* Cited by examiner, † Cited by third party
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 中科院计算所西部高等技术研究院 分布式深度学习推理云平台任务调度方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
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 中科院计算所西部高等技术研究院 分布式深度学习推理云平台任务调度方法

Also Published As

Publication number Publication date
CN113347430A (zh) 2021-09-03

Similar Documents

Publication Publication Date Title
CN107087019B (zh) 一种基于端云协同计算架构的任务调度方法及装置
US20170185452A1 (en) Apparatus and method for data processing
US9104488B2 (en) Support server for redirecting task results to a wake-up server
CN110187958B (zh) 一种任务处理方法、装置、系统、设备及存储介质
CN113422842B (zh) 一种考虑网络负载的分布式电力用电信息数据采集系统
CN113535362B (zh) 一种分布式调度系统架构和微服务工作流调度方法
CN111611050A (zh) 一种信息处理方法、装置、设备及存储介质
CN105955807A (zh) 一种任务处理系统及方法
CN113347430B (zh) 一种硬件转码加速设备的分布式调度装置及其使用方法
CN111404818B (zh) 一种面向通用多核网络处理器的路由协议优化方法
CN108170417B (zh) 一种在mesos集群中集成高性能的作业调度框架的方法和装置
US20230275976A1 (en) Data processing method and apparatus, and computer-readable storage medium
CN103019854A (zh) 一种分布式的动态进程管理方法及系统
CN102334104A (zh) 一种基于多核系统的同步处理方法及装置
CN112286698A (zh) 远程过程调用方法、装置以及远程过程调用执行方法
CN111290842A (zh) 一种任务执行方法和装置
CN111459648B (zh) 面向应用程序的异构多核平台资源优化方法和装置
CN112860396A (zh) 一种基于分布式深度学习的gpu调度方法及系统
WO2023134643A1 (zh) 流数据的处理方法、系统、节点、电子设备及存储介质
CN111831408A (zh) 异步任务处理方法、装置、电子设备及介质
CN116010065A (zh) 分布式任务调度方法、装置以及设备
CN111064586A (zh) 一种分布式并行计费方法
CN113472886B (zh) 分布式集群系统及其控制方法
CN115712572A (zh) 任务的测试方法、装置、存储介质及电子装置
CN115357395A (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.