基于转码任务调度实现CPU负载均衡的方法和装置制造方法及图纸

技术编号:19511116 阅读:28 留言:0更新日期:2018-11-21 07:40
本发明专利技术公开了一种基于转码任务调度实现CPU负载均衡的方法和装置,属于互联网流媒体技术领域。所述方法包括:周期性获取所述转码服务器的平均CPU使用率;逐一判断所有转码进程中每个转码线程所在CPU的CPU使用率是否大于所述平均CPU使用率;如果大于、且两者差值大于预设阈值,则将所述转码线程迁移至所述转码服务器上的其他CPU。本发明专利技术可以提高转码质量和转码服务器稳定性。

【技术实现步骤摘要】
基于转码任务调度实现CPU负载均衡的方法和装置
本专利技术涉及互联网流媒体
,尤其涉及一种基于转码任务调度实现CPU负载均衡的方法和装置。
技术介绍
伴随着互联网技术的发展以及宽带的不断提速,互联网与人们的生活联系的日益密切,越来越多的人们热衷于在互联网中获取音频和视频来丰富生活,为了适应不同的网络带宽、不同的终端处理能力和不同的用户需求,往往需要对音频或视频进行转码。当需要进行视频(音频)转码的时,视频(音频)源与流媒体服务器建立连接,流媒体服务器向转码服务器发送转码任务创建请求,转码服务器收到转码任务创建请求后,根据自身CPU负载水平,选择是否创建转码任务。如果转码服务器的CPU负载处于较低水平,转码服务器创建转码任务,启动相应的转码进程,对视频(音频)进行转码,并向流媒体服务器反馈转码任务创建成功消息;如果转码服务器的CPU负载处于较高水平,转码服务器拒绝创建转码任务,并向流媒体服务器反馈转码任务创建失败消息。在实现本专利技术的过程中,专利技术人发现现有技术至少存在以下问题:转码服务器只能在根据CPU总负载水平选择是否创建转码任务,而转码服务器内部由于具有多个CPU,各CPU之间也会有负载不均的状况发生,如果某个CPU负载过高,会出现转码错误、转码速度减慢等问题,进而导致整个转码服务器卡顿,影响转码质量和转码服务器稳定性。
技术实现思路
为了解决现有技术的问题,本专利技术实施例提供了一种基于转码任务调度实现CPU负载均衡的方法和装置。所述技术方案如下:第一方面,提供了一种基于转码任务调度实现CPU负载均衡的方法,所述方法包括:周期性获取所述转码服务器的平均CPU使用率;逐一判断所有转码进程中每个转码线程所在CPU的CPU使用率是否大于所述平均CPU使用率;如果大于、且两者差值大于预设阈值,则将所述转码线程迁移至所述转码服务器上的其他CPU。进一步的,所述周期性获取所述转码服务器的平均CPU使用率之前,还包括:当接收到目标转码任务的创建请求时,启动所述目标转码任务的转码进程,并在预设的转码进程表中添加所述转码进程对应的进程号和所述转码进程包含的所有转码线程对应的线程号;当接收到目标转码任务的删除请求时,结束所述目标转码任务的转码进程,并在预设的转码进程表中删除所述转码进程对应的进程号和所述转码进程包含的所有转码线程对应的线程号。进一步的,所述逐一判断所有转码进程中每个转码线程所在CPU的CPU使用率是否大于所述平均CPU使用率,包括:根据所述转码进程表逐一确定所述转码服务器上的转码进程;对于所述转码进程中每个转码线程,逐一获取所述转码线程所在CPU的CPU使用率;判断所述转码线程所在CPU的CPU使用率是否大于所述平均CPU使用率。进一步的,所述如果大于、且两者差值大于预设阈值,则将所述转码线程迁移至所述转码服务器上的其他CPU,包括:如果大于,且两者差值大于预设阈值,则确定所述转码服务器上CPU使用率最低的目标CPU,以及所述转码线程的CPU使用率;如果所述转码线程的CPU使用率与所述目标CPU的CPU使用率之和小于等于平均CPU使用率与预设阈值之和,则将所述转码线程迁移至所述目标CPU。进一步的、且两者差值大于预设阈值,则将所述转码线程迁移至所述转码服务器上的其他CPU,包括:如果大于,且两者差值大于预设阈值,则确定所述转码线程的CPU使用率;确定所述转码服务器上CPU使用率与所述转码线程的CPU使用率之和最接近平均CPU使用率的目标CPU;如果所述转码线程的CPU使用率与所述目标CPU的CPU使用率之和小于等于平均CPU使用率与预设阈值之和,则将所述转码线程迁移至所述目标CPU。第二方面,提供了一种基于转码任务调度实现CPU负载均衡的装置,所述装置包括:使用率获取模块,用于周期性获取所述转码服务器的平均CPU使用率;判断模块,用于逐一判断所有转码进程中每个转码线程所在CPU的CPU使用率是否大于所述平均CPU使用率;迁移模块,用于如果大于、且两者差值大于预设阈值,则将所述转码线程迁移至所述转码服务器上的其他CPU。进一步的,所述装置还包括:添加模块,用于当接收到目标转码任务的创建请求时,启动所述目标转码任务的转码进程,并在预设的转码进程表中添加所述转码进程对应的进程号和所述转码进程包含的所有转码线程对应的线程号;删除模块,用于当接收到目标转码任务的删除请求时,结束所述目标转码任务的转码进程,并在预设的转码进程表中删除所述转码进程对应的进程号和所述转码进程包含的所有转码线程对应的线程号。进一步的,所述判断模块,具体用于:根据所述转码进程表逐一确定所述转码服务器上的转码进程;对于所述转码进程中每个转码线程,逐一获取所述转码线程所在CPU的CPU使用率;判断所述转码线程所在CPU的CPU使用率是否大于所述平均CPU使用率。进一步的,所述迁移模块,具体用于:如果大于,且两者差值大于预设阈值,则确定所述转码服务器上CPU使用率最低的目标CPU,以及所述转码线程的CPU使用率;如果所述转码线程的CPU使用率与所述目标CPU的CPU使用率之和小于等于平均CPU使用率与预设阈值之和,则将所述转码线程迁移至所述目标CPU。进一步的,所述迁移模块,具体用于:如果大于,且两者差值大于预设阈值,则确定所述转码线程的CPU使用率;确定所述转码服务器上CPU使用率与所述转码线程的CPU使用率之和最接近平均CPU使用率的目标CPU;如果所述转码线程的CPU使用率与所述目标CPU的CPU使用率之和小于等于平均CPU使用率与预设阈值之和,则将所述转码线程迁移至所述目标CPU。第三方面,提供了一种转码服务器,所述转码服务器包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如第一方面所述的基于转码任务调度实现CPU负载均衡的方法。第四方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如第一方面所述的基于转码任务调度实现CPU负载均衡的方法。本专利技术实施例提供的技术方案带来的有益效果是:本专利技术实施例中,周期性获取所述转码服务器的平均CPU使用率;逐一判断所有转码进程中每个转码线程所在CPU的CPU使用率是否大于所述平均CPU使用率;如果大于、且两者差值大于预设阈值,则将所述转码线程迁移至所述转码服务器上的其他CPU。这样,可以通过迁移转码线程,调节CPU负载,使转码服务器上各CPU的CPU使用率控制在一定范围内,避免单个CPU负载过高的情况发生,进而提高转码质量和转码服务器稳定性。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的一种基于转码任务调度实现CPU负载均衡的方法流程图;图2是本专利技术实施例提供的一种基于转码任务调度实现CPU负载均衡的装置结构示意图;图3是本专利技术实施例提供本文档来自技高网...

【技术保护点】
1.一种基于转码任务调度实现CPU负载均衡的方法,其特征在于,所述方法包括:周期性获取所述转码服务器的平均CPU使用率;逐一判断所有转码进程中每个转码线程所在CPU的CPU使用率是否大于所述平均CPU使用率;如果大于、且两者差值大于预设阈值,则将所述转码线程迁移至所述转码服务器上的其他CPU。

【技术特征摘要】
1.一种基于转码任务调度实现CPU负载均衡的方法,其特征在于,所述方法包括:周期性获取所述转码服务器的平均CPU使用率;逐一判断所有转码进程中每个转码线程所在CPU的CPU使用率是否大于所述平均CPU使用率;如果大于、且两者差值大于预设阈值,则将所述转码线程迁移至所述转码服务器上的其他CPU。2.根据权利要求1所述的方法,其特征在于,所述周期性获取所述转码服务器的平均CPU使用率之前,还包括:当接收到目标转码任务的创建请求时,启动所述目标转码任务的转码进程,并在预设的转码进程表中添加所述转码进程对应的进程号和所述转码进程包含的所有转码线程对应的线程号;当接收到目标转码任务的删除请求时,结束所述目标转码任务的转码进程,并在预设的转码进程表中删除所述转码进程对应的进程号和所述转码进程包含的所有转码线程对应的线程号。3.根据权利要求2所述的方法,其特征在于,所述逐一判断所有转码进程中每个转码线程所在CPU的CPU使用率是否大于所述平均CPU使用率,包括:根据所述转码进程表逐一确定所述转码服务器上的转码进程;对于所述转码进程中每个转码线程,逐一获取所述转码线程所在CPU的CPU使用率;判断所述转码线程所在CPU的CPU使用率是否大于所述平均CPU使用率。4.根据权利要求1所述的方法,其特征在于,所述如果大于、且两者差值大于预设阈值,则将所述转码线程迁移至所述转码服务器上的其他CPU,包括:如果大于,且两者差值大于预设阈值,则确定所述转码服务器上CPU使用率最低的目标CPU,以及所述转码线程的CPU使用率;如果所述转码线程的CPU使用率与所述目标CPU的CPU使用率之和小于等于平均CPU使用率与预设阈值之和,则将所述转码线程迁移至所述目标CPU。5.根据权利要求1所述的方法,其特征在于,所述如果大于、且两者差值大于预设阈值,则将所述转码线程迁移至所述转码服务器上的其他CPU,包括:如果大于,且两者差值大于预设阈值,则确定所述转码线程的CPU使用率;确定所述转码服务器上CPU使用率与所述转码线程的CPU使用率之和最接近平均CPU使用率的目标CPU;如果所述转码线程的CPU使用率与所述目标CPU的CPU使用率之和小于等于平均CPU使用率与预设阈值之和,则将所述转码线程迁移至所述目标CPU。6.一种基于转码任务调度实现CPU负载均衡的装置,其特征在于,所述装置包括:使用率获取模块,用于周期性获取所述转码服务器的平均CPU使用率;判断模块,用于逐一判断所有转码进程...

【专利技术属性】
技术研发人员:马良吕士表
申请(专利权)人:网宿科技股份有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1