CN112468310A - 流媒体集群节点管理方法、装置及存储介质 - Google Patents

流媒体集群节点管理方法、装置及存储介质 Download PDF

Info

Publication number
CN112468310A
CN112468310A CN201910843024.6A CN201910843024A CN112468310A CN 112468310 A CN112468310 A CN 112468310A CN 201910843024 A CN201910843024 A CN 201910843024A CN 112468310 A CN112468310 A CN 112468310A
Authority
CN
China
Prior art keywords
streaming media
media server
capacity
capacity adjustment
load
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
Application number
CN201910843024.6A
Other languages
English (en)
Other versions
CN112468310B (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.)
Hangzhou Hikvision System Technology Co Ltd
Original Assignee
Hangzhou Hikvision System 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 Hangzhou Hikvision System Technology Co Ltd filed Critical Hangzhou Hikvision System Technology Co Ltd
Priority to CN201910843024.6A priority Critical patent/CN112468310B/zh
Publication of CN112468310A publication Critical patent/CN112468310A/zh
Application granted granted Critical
Publication of CN112468310B publication Critical patent/CN112468310B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • H04L67/1004Server selection for load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • 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/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请提供一种流媒体集群节点管理方法、装置及存储介质,其中,该方法包括:弹性控制器获取流媒体管理服务器同步的流媒体服务器群组中每个流媒体服务器的负载信息,基于所有流媒体服务器的负载信息,确定该流媒体服务器群组的容量调整策略,该容量调整策略包括:流媒体服务器群组的容量缩小或流媒体服务器群组的容量扩大,基于容量调整策略向副本控制器发送容量调整指示,该容量调整指示包括:流媒体服务器群组的容量调整策略。该技术方案实现了动态管理流媒体服务器群组容量的目的,实现了资源的合理利用,保障流媒体的正常业务。

Description

流媒体集群节点管理方法、装置及存储介质
技术领域
本申请涉及云服务技术领域,尤其涉及一种流媒体集群节点管理方法、装置及存储介质。
背景技术
随着流媒体技术的迅速发展,流媒体集群系统可以并发处理大量的用户请求,满足流媒体服务所需要的性能要求。
现有技术中,在流媒体集群系统中,流媒体管理服务器可以根据流媒体客户端的预览请求从流媒体服务器群组中选择一个目标流媒体服务器,并将该目标流媒体服务器的标识返回给流媒体客户端,这样流媒体客户端与该目标流媒体服务器建立目标会话,并通过该目标流媒体服务器获取并预览到所需的媒体流。
然而,在流媒体集群系统中,流媒体服务器群组的容量可能与实际需求不一致,导致该系统存在资源分配问题。
发明内容
本申请提供一种流媒体集群节点管理方法、装置及存储介质,以解决现有流媒体集群系统中存在的资源分配问题。
本申请第一方面提供的一种流媒体集群节点管理方法,适用于弹性控制器,所述方法包括:
获取流媒体管理服务器同步的流媒体服务器群组中每个流媒体服务器的负载信息;
基于所有流媒体服务器的负载信息,确定所述流媒体服务器群组的容量调整策略,所述容量调整策略包括:所述流媒体服务器群组的容量缩小或所述流媒体服务器群组的容量扩大;
基于所述容量调整策略向副本控制器发送容量调整指示,所述容量调整指示包括:所述流媒体服务器群组的容量调整策略。
在本实施例中,通过弹性控制器、流媒体管理服务器以及副本控制器的配合可以动态管理流媒体服务器群组的容量,实现了资源的合理利用,保障流媒体的正常业务,解决了现有流媒体集群系统中的资源分配问题。
在第一方面的一种可能设计中,所述基于所有流媒体服务器的负载信息,确定所述流媒体服务器群组的容量调整策略,包括:
在所述流媒体服务器群组的当前负载数与所述流媒体服务器群组的最大负载数的比值小于第一阈值时,确定所述容量调整策略为缩小所述流媒体服务器群组的容量。
相应的,在所述基于所述容量调整策略向副本控制器发送容量调整指示之前,所述方法还包括:
向所述流媒体管理服务器发送缩容指示,所述缩容指示包括:目标流媒体服务器的标识,所述缩容指示用于指示所述流媒体管理服务器停止为所述目标流媒体服务器分配新的负载;
基于所述流媒体管理服务器同步的每个流媒体服务器的负载信息,确定所述目标流媒体服务器上的负载信息;
所述基于所述容量调整策略向副本控制器发送容量调整指示,包括:
在所述目标流媒体服务器上的负载为零时,向所述副本控制器发送所述容量调整指示。
在本实施例中,在需要缩小流媒体服务器群组的容量时,弹性控制器在目标流媒体服务器的负载为零时,再向副本控制器发送该容量调整指示,在实现缩容的同时,能够保证该流媒体集群系统的稳定性,解决了资源浪费问题。
在第一方面的另一种可能设计中,所述基于所有流媒体服务器的负载信息,确定所述流媒体服务器群组的容量调整策略,包括:
在所述流媒体服务器群组的当前负载数与所述流媒体服务器群组的最大负载数的比值大于或等于第二阈值时,确定所述容量调整策略为扩大所述流媒体服务器群组的容量。
相应的,在所述基于所述容量调整策略向副本控制器发送容量调整指示之后,所述方法还包括:
接收所述副本控制器发送的容量调整响应,所述容量调整响应用于指示对所述流媒体服务器群组的容量调整结果,所述容量调整结果包括如下任意一种:流媒体服务器扩容成功、流媒体服务器扩容失败、流媒体服务器缩容成功、流媒体服务器缩容失败;
在所述容量调整结果包括:流媒体服务器扩容成功时,向所述流媒体管理服务器发送所述扩容指示,所述扩容指示包括:目标流媒体服务器的标识,所述扩容指示用于指示所述流媒体管理服务器基于包括所述目标流媒体服务器的流媒体服务器群组进行负载均衡。
在本实施例中,在需要扩大流媒体服务器群组的容量时,弹性控制器可以直接向副本控制器发送该容量调整指示,以实现流媒体服务器数量的扩容,避免了资源争夺带来的系统不稳定,提高了系统的性能。
在第一方面的再一种可能设计中,所述方法还包括:
检测所述流媒体管理服务器的周期性同步信息,所述周期性同步信息包括:所述流媒体服务器群组中每个流媒体服务器的负载信息和资源使用信息;
若未检测到所述流媒体管理服务器的周期性同步信息,则确定所述流媒体管理服务器工作异常,并重启所述流媒体管理服务器;
若检测到所述流媒体管理服务器的周期性同步信息,则基于所述流媒体服务器群组中每个流媒体服务器的负载信息和资源使用信息,确定出工作异常的流媒体服务器,并重启或重建工作异常的每个流媒体服务器,所述工作异常的流媒体服务器的资源使用信息与负载信息不匹配。
在本实施例中,该方案可以提高流媒体服务集群系统的资源利用率,提高系统稳定性。
本申请第二方面提供一种流媒体集群节点管理方法,适用于副本控制器,所述方法包括:
接收弹性控制器发送的容量调整指示,所述容量调整指示包括:所述流媒体服务器群组的容量调整策略;
基于所述容量调整策略,调整所述流媒体服务器群组的容量。
在第二方面的一种可能设计中,所述方法还包括:
向所述弹性控制器发送容量调整响应,所述容量调整响应用于指示对所述流媒体服务器群组的容量调整结果,所述容量调整结果包括如下任意一种:流媒体服务器扩容成功、流媒体服务器扩容失败、流媒体服务器缩容成功、流媒体服务器缩容失败。
本申请第三方面提供一种流媒体集群节点管理方法,适用于流媒体管理服务器,所述方法包括:
向弹性控制器同步流媒体服务器群组中每个流媒体服务器的负载信息;
接收所述弹性控制器发送的指示信息,所述指示信息包括:缩容指示或扩容指示,所述缩容指示和所述扩容指示包括:目标流媒体服务器的标识;
基于所述指示信息,调整所述目标流媒体服务器上的负载。
在第三方面的一种可能设计中,在所述指示信息包括:缩容指示时,所述基于所述指示信息,调整所述目标流媒体服务器上的负载,包括:
基于所述缩容指示,停止为所述目标流媒体服务器分配新的负载。
在所述指示信息包括:扩容指示时,所述基于所述指示信息,调整所述目标流媒体服务器上的负载,包括:
基于所述扩容指示,对包括所述目标流媒体服务器的流媒体服务器群组进行负载均衡。
本申请第四方面提供一种流媒体集群节点管理装置,适用于弹性控制器,所述装置包括:获取模块、处理模块和收发模块;
所述获取模块,用于获取流媒体管理服务器同步的流媒体服务器群组中每个流媒体服务器的负载信息;
所述处理模块,用于基于所有流媒体服务器的负载信息,确定所述流媒体服务器群组的容量调整策略,所述容量调整策略包括:所述流媒体服务器群组的容量缩小或所述流媒体服务器群组的容量扩大;
所述收发模块,用于基于所述容量调整策略向副本控制器发送容量调整指示,所述容量调整指示包括:所述流媒体服务器群组的容量调整策略。
在第四方面的一种可能设计中,所述处理模块,具体用于在所述流媒体服务器群组的当前负载数与所述流媒体服务器群组的最大负载数的比值小于第一阈值时,确定所述容量调整策略为缩小所述流媒体服务器群组的容量;
所述收发模块,还用于在基于所述容量调整策略向副本控制器发送容量调整指示之前,向所述流媒体管理服务器发送缩容指示,所述缩容指示包括:目标流媒体服务器的标识,所述缩容指示用于指示所述流媒体管理服务器停止为所述目标流媒体服务器分配新的负载;
所述处理模块,还用于基于所述流媒体管理服务器同步的每个流媒体服务器的负载信息,确定所述目标流媒体服务器上的负载信息;
所述收发模块,用于基于所述容量调整策略向副本控制器发送容量调整指示,具体为:
所述收发模块,具体用于在所述目标流媒体服务器上的负载为零时,向所述副本控制器发送所述容量调整指示。
在第四方面的另一种可能设计中,所述处理模块,具体用于在所述流媒体服务器群组的当前负载数与所述流媒体服务器群组的最大负载数的比值大于或等于第二阈值时,确定所述容量调整策略为扩大所述流媒体服务器群组的容量;
所述收发模块,还用于在基于所述容量调整策略向副本控制器发送容量调整指示之后,接收所述副本控制器发送的容量调整响应,所述容量调整响应用于指示对所述流媒体服务器群组的容量调整结果,所述容量调整结果包括如下任意一种:流媒体服务器扩容成功、流媒体服务器扩容失败、流媒体服务器缩容成功、流媒体服务器缩容失败,以及在所述容量调整结果包括:流媒体服务器扩容成功时,向所述流媒体管理服务器发送所述扩容指示,所述扩容指示包括:目标流媒体服务器的标识,所述扩容指示用于指示所述流媒体管理服务器基于包括所述目标流媒体服务器的流媒体服务器群组进行负载均衡。
在第四方面的再一种可能设计中,所述处理模块,还用于检测所述流媒体管理服务器的周期性同步信息,所述周期性同步信息包括:所述流媒体服务器群组中每个流媒体服务器的负载信息和资源使用信息,在未检测到所述流媒体管理服务器的周期性同步信息时,确定所述流媒体管理服务器工作异常,并重启所述流媒体管理服务器,以及在检测到所述流媒体管理服务器的周期性同步信息时,基于所述流媒体服务器群组中每个流媒体服务器的负载信息和资源使用信息,确定出工作异常的流媒体服务器,并重启或重建工作异常的每个流媒体服务器,所述工作异常的流媒体服务器的资源使用信息与负载信息不匹配。
本申请第五方面提供一种流媒体集群节点管理装置,适用于副本控制器,所述装置包括:收发模块和处理模块;
所述收发模块,用于接收弹性控制器发送的容量调整指示,所述容量调整指示包括:所述流媒体服务器群组的容量调整策略;
所述处理模块,用于基于所述容量调整策略,调整所述流媒体服务器群组的容量。
在第五方面的一种可能设计中,所述收发模块,还用于向所述弹性控制器发送容量调整响应,所述容量调整响应用于指示对所述流媒体服务器群组的容量调整结果,所述容量调整结果包括如下任意一种:流媒体服务器扩容成功、流媒体服务器扩容失败、流媒体服务器缩容成功、流媒体服务器缩容失败。
本申请第六方面提供一种流媒体集群节点管理装置,适用于流媒体管理服务器,所述装置包括:收发模块和处理模块;
所述收发模块,用于向弹性控制器同步流媒体服务器群组中每个流媒体服务器的负载信息,以及接收所述弹性控制器发送的指示信息,所述指示信息包括:缩容指示或扩容指示,所述缩容指示和所述扩容指示包括:目标流媒体服务器的标识;
所述处理模块,用于基于所述指示信息,调整所述目标流媒体服务器上的负载。
在第六方面的一种可能设计中,在所述指示信息包括:缩容指示时,所述处理模块,具体用于基于所述缩容指示,停止为所述目标流媒体服务器分配新的负载;
在所述指示信息包括:扩容指示时,所述处理模块,具体用于基于所述扩容指示,对包括所述目标流媒体服务器的流媒体服务器群组进行负载均衡。
本申请第七方面提供一种流媒体集群节点管理装置,包括处理器、存储器及存储在所述存储器上并可在处理器上运行的计算机程序,其中:
所述处理器执行所述程序时实现如上述第一方面以及第一方面各可能设计所述的方法;
或者
所述处理器执行所述程序时实现如上述第二方面以及第二方面各可能设计所述的方法;
或者
所述处理器执行所述程序时实现如上述第三方面以及第三方面各可能设计所述的方法。
本申请第八方面提供一种存储介质,所述存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行如第一方面以及第一方面各可能设计所述的方法;
或者
当所述指令在计算机上运行时,使得计算机执行如上述第二方面以及第二方面各可能设计所述的方法;
或者
当所述指令在计算机上运行时,使得计算机执行如上述第三方面以及第三方面各可能设计所述的方法。
本申请实施例提供的流媒体集群节点管理方法、装置及存储介质,弹性控制器获取流媒体管理服务器同步的流媒体服务器群组中每个流媒体服务器的负载信息,基于所有流媒体服务器的负载信息,确定该流媒体服务器群组的容量调整策略,该容量调整策略包括:流媒体服务器群组的容量缩小或流媒体服务器群组的容量扩大,基于容量调整策略向副本控制器发送容量调整指示,该容量调整指示包括:流媒体服务器群组的容量调整策略。该技术方案实现了动态管理流媒体服务器群组容量的目的,实现了资源的合理利用,保障流媒体的正常业务。
附图说明
图1为流媒体集群负载均衡系统的结构示意图;
图2为VTDU上增加新的负载时负载均衡方法的示意图;
图3为VTDU上减少负载时负载均衡方法的示意图;
图4为VTM处理调度请求时的调度方法流程示意图;
图5为k8s中HPA对容器进行扩/缩容的结构示意图;
图6为本申请实施例提供的流媒体集群系统的结构示意图;
图7为本申请实施例提供的流媒体集群节点管理方法实施例一的交互示意图;
图8为本申请实施例提供的流媒体集群节点管理方法实施例二的交互流程图;
图9为本申请实施例提供的流媒体集群节点管理方法实施例三的交互流程图;
图10为本申请实施例提供的流媒体集群节点管理方法实施例四的流程示意图;
图11为本申请实施例提供的流媒体集群节点管理装置实施例一的结构示意图;
图12为本申请实施例提供的流媒体集群节点管理装置实施例二的结构示意图;
图13为本申请实施例提供的流媒体集群节点管理装置实施例三的结构示意图;
图14为本申请实施例提供的流媒体集群节点管理装置实施例四的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了说明本实施例提供的流媒体集群节点管理方法的实现之前,下面首先对本申请实施例涉及到一些内容进行简要说明。
传统的流媒体集群系统中经常会遇到大规模的视频应用需求,这样流媒体管理服务器可以基于流媒体集群与负载均衡策略来支撑并发量较大的用户请求信息。
示例性的,图1为流媒体集群负载均衡系统的结构示意图。如图1所示,该流媒体集群负载均衡系统包括:用户交互设备11、流媒体管理服务器12、流媒体服务器群组13以及多个监控设备14。示例性的,该流媒体管理服务器12可以通过视频传送管理器(videotransfer manager,VTM)实现,该流媒体服务器群组13中的每个流媒体服务器可以通过视频传送分发单元(video transfer&distribute unit,VTDU)实现。示例性的,该流媒体集群负载均衡系统中一共包括n个监控设备14,依次为监控设备1至监控设备n。
在本实施例中,该用户交互设备11上安装有流媒体客户端,用户通过该流媒体客户端可以与流媒体管理服务器12和流媒体服务器群组13中的流媒体服务器通信。
示例性的,该用户交互设备11可以基于用户的预览指示向流媒体管理服务器12发送预览请求,这样流媒体管理服务器12可以基于该预览请求确定出目标流媒体服务器130,并将该目标流媒体服务器130的标识发送给用户交互设备11,以使该用户交互设备11可以直接与目标流媒体服务器130进行通信,从而获取到该目标流媒体服务器130上存储的每个监控设备的码流或音视频流。
因而,在本实施例中,该流媒体管理服务器12可以提供以下服务:接收用户交互设备11发送的包括播放URL的预览请求、基于预览请求中的播放URL为用户交互设备11提供视频服务、根据用户的配置,管理流媒体服务器群组13中的多个流媒体服务器,以及基于负载均衡策略对每个流媒体服务器上的负载进行均衡。
可选的,当流媒体管理服务器12通过VTM实现,流媒体服务器通过VTDU实现时,该VTM通过内部调度算法可以达到基本路由功能和负载均衡功能。
在本实施例中,由于预览的实时性能,当多个用户交互设备请求同一个监控设备的码流时,VTM会尽量的将该预览请求分给同一个VTDU,这样VTDU可以只从这个监控设备取一路码流,然后进行分发给上述的多个用户交互设备,这样减少了VTDU连接的设备路数,最大程度地利用VTDU的分发功能,达到节省网络带宽和机器性能的作用。此外,由于VTM可以从全局角度将取流业务均匀调度到各个VTDU上,实现各个VTDU间的负载均衡。
在本实施例中,VTM可以为主节点,其可以主动向VTDU发起连接,VTDU可以实时向VTM上报其节点信息,以保证数据的实时有效。VTM可以具有节点配置文件(nodes.xml),利用该节点配置文件保存和管理每个VTDU的节点信息。这样VTM启动时,可以读取配置中的VTDU节点列表,并逐个发起连接请求,连接成功后,等待VTDU向VTM反向注册,也即,每个VTDU通过心跳同步的方式将自己的节点信息同步给VTM,并维持心跳。
可选的,VTDU的节点信息包括但不局限于IP地址、集群端口、服务编码等信息,其还可以根据实际需要包括其他信息,此处不再赘述。
示例性的,VTDU与VTM之间可以基于传输控制协议(transmission controlprotocol,TCP)生成的协议网络通信包进行通信。该协议网络通信包的格式为消息包头+协议数据列表。通过该协议网络通信包可以实现节点注册信息、心跳同步、节点注销、数据同步、数据添加、数据删除等信令的交互。通过将信息载体进行抽象化,能够实现对其他协议的支持和扩展。
值得说明的是,本申请实施例并不限定VTDU与VTM之间的通信协议,其还可以是约定的其他传输协议,例如,用户数据报协议(user data protocol,UDP)、超文本传输协议(hypertext transfer protocol,HTTP),具体采用的传输协议可以根据实际情况确定,此处不再赘述。
可选的,由上述可知VTDU可以通过心跳方式上报自己的节点信息,例如,采集的状态数据。在实施例中,为了实现节点之间的集群调度,VTDU向VTM上报的内容需要包括如下内容:VTDU的索引、VTDU的当前连接数(当前负载)、VTDU的最大连接数(最大负载)、VTDU的监控点列表(监控设备列表)、服务的会话信息(定时上报、或新增、删除)。
相应的,VTM可以根据接收到的所有VTDU的节点信息构建元数据,构建的元数据可以包括:监控设备索引列表、流媒体服务器VTDU的信息列表,以及监控设备和VTDU之间的分配关系。
在流媒体集群负载均衡系统中,基于预览业务的特点和流媒体分发的特性,需要基于如下内容实现对VTDU群组的调度:保证每个监控设备只被一个VTDU取流、VTDU的当前连接数/最大连接数、用户交互设备的权限优先级。
当VTDU上增加新的负载或减少负载,VTDU立即向VTM发送更新通知,以使VTM更新每个VTDU的基本信息。
示例性的,图2为VTDU上增加新的负载时负载均衡方法的示意图。该方法以用户交互设备、流媒体管理服务器、流媒体服务器的交互进行说明。如图2所示,该方法可以包括如下步骤:
步骤21:用户交互设备通过客户端接口向流媒体管理服务器发送取流请求。
可选的,当用户有预览请求时,首先利用用户交互设备调用客户端接口,基于实时流传输协议(real time streaming protocol,RTSP)栈向流媒体管理服务器发送取流请求。
步骤22:流媒体管理服务器基于接收到的取流请求执行节点管理,确定出目标VTDU。
可选的,流媒体管理服务器基于消息队列的方式接收用户交互设备发送的取流请求,并依次对消息队列中的取流请求进行处理。
可选的,当流媒体管理服务器检测出没有可用的VTDU时,向用户交互设备返回失败响应,用户交互设备基于该失败响应确定取流失败,并结束。
步骤23:流媒体管理服务器将确定的目标VTDU的标识返回给用户交互设备。
步骤24:用户交互设备与该目标VTDU建立连接。
步骤25:用户交互设备向目标VTDU发送取流请求。
可选的,用户交互设备基于RTSP栈的形式向目标VTDU发送取流请求。
步骤26:目标VTDU对该取流请求进行处理,得到取流响应。
可选的,目标VTDU首先对RTSP栈进行处理,基于该RTSP栈中的取流请求确定出该取流请求对应的监控设备,再利用取流模块从监控设备获取该取流请求对应的码流,并传输给分发模块,最后利用发送模块发送给用户交互设备。
可选的,该取流响应包括:取流失败和取流成功。在取流失败时,向用户交互设备返回失败响应,用户交互设备基于该失败响应确定取流失败,并结束。在取流成功时,目标VTDU通过RTSP栈的形式返回成功响应。一方面,目标VTDU向用户交互设备返回取流成功响应,另一方面,目标VTDU通知VTM,即步骤27。
步骤27:目标VTDU向VTM发送更新通知,该更新通知包括:目标VTDU的标识。
步骤28:VTM基于接收到的更新通知更新目标VTDU的节点信息。
可选的,VTM基于消息队列的方式接收目标VTDU的更新通知,并基于该更新通知更新该目标VTDU的节点信息。
示例性的,图3为VTDU上减少负载时负载均衡方法的示意图。该方法以用户交互设备、流媒体管理服务器、流媒体服务器的交互进行说明。如图3所示,该方法可以包括如下步骤:
步骤31:用户交互设备通过客户端接口向目标流媒体服务器发送停止取流请求。
可选的,当需要停止取流时,首先利用用户交互设备调用客户端接口,基于实时流传输协议(real time streaming protocol,RTSP)栈向目标流媒体服务器发送停止取流请求。
步骤32:目标VTDU对该停止取流请求进行处理,得到停止取流响应。
可选的,目标VTDU首先对RTSP栈进行处理,再调用分发模块进行处理,最后调用取流模块停止为用户交互设备提供码流。在停止取流成功时,目标VTDU通过RTSP栈的形式返回成功响应,释放出资源。一方面,目标VTDU向用户交互设备返回停止取流成功响应,另一方面,目标VTDU通知VTM,即步骤33。
步骤33:目标VTDU向VTM发送更新通知,该更新通知包括:目标VTDU的标识。
步骤34:VTM基于接收到的更新通知更新目标VTDU的节点信息。
可选的,VTM基于消息队列的方式接收目标VTDU的更新通知,并基于该更新通知更新该目标VTDU的节点信息。
示例性的,图4为VTM处理调度请求时的调度方法流程示意图。如图4所示,该方法可以包括如下步骤:
步骤41:VTM接收到用户交互设备的取流请求,该取流请求包括:监控设备的标识。
步骤42:VTM判断该监控设备是否已经有VTDU在取流,若是,则执行步骤43;若否,则执行步骤44。
步骤43:获取在取流的VTDU的标识,并判断该VTDU是否已满载,若是,执行步骤44,若否,执行步骤45;
步骤44:判断是否存在负载数最小且连接数未满的VTDU,若是,则确定该VTDU的标识,若否,执行步骤48。
步骤45:判断是否存在比该取流请求权限低的对话,若是,执行步骤46,若否,则结束。
步骤46:获取权限低的会话所在的VTDU,踢除该权限最低的会话,调度新会话到该VTDU。
步骤47:根据调度的VTDU信息,返回重定向信息。
步骤48:确定出目标VTDU。
由上述分析可知,在流媒体集群系统中部署的所有流媒体服务器的负载均饱和时,若该系统中是否存在权限比该目标会话低的会话,则从中选择并踢除权限最低的会话,并利用对应的流媒体服务器建立该目标会话,若该系统中不存在权限比该目标会话低的会话,则向流媒体客户端返回异常响应。
综上所述,在流媒体集群系统中部署的所有流媒体服务器的负载均饱和时,有新的会话请求加入时,只能基于会话权限进行踢除处理,而当部署的某些VTDU长期处于低业务量时,这时存在服务器资源浪费的问题。
然而,在云服务领域,k8s(kubernetes)是一种开源的容器集群管理系统,其可以提供应用部署、维护、扩展机制等功能,是一个以容器为中心的基础架构,可以实现在物理集群或虚拟机集群上调度和运行容器,提供容器自动部署、扩展和管理的开源平台。该k8s可以满足应用程序在生产环境中的一些通用需求:应用实例副本、水平自动扩展、命名与发现、负载均衡、滚动升级、资源监控等。
“豆荚”(Pod)是k8s(kubernetes)管理场景中应用调度的最小部署单元,相当于一个应用实例,一个Pod里面可以包含一个或者多个容器,容器(container)可以理解为一个通过应用容器引擎(docker)镜像部署的实例。
对于k8s中的Pod集群来说,Pod横向自动扩容(horizontal Pod autoscaling,HPA)是一种能够实现水平伸缩的控制器,其在Pod中业务负载上升的时候,创建新的Pod来保证业务系统稳定运行,当Pod中业务负载下降的时候,可以销毁Pod来提高资源利用率。k8s引入HPA来实现智能扩容,属于一种Kubernetes资源对象,通过追踪分析调度器控制的所有目标Pod的负载变化情况,来确定是否需要针对性调整目标Pod的副本数。Pod负载的调度指标可以包括过CPU利用率、内存和预设的度量扩缩容,该度量扩缩容可以包括在每秒内的相应请求数。
使用k8s可以实现如下功能:自动化容器的部署和复制、随时扩展或收缩应用容器规模、将容器组织成组,并且提供容器间的负载均衡,很容易地升级应用程序容器的新版本,提供容器弹性,如果容器失效就替换它等等。但是k8s中现有的HPA调度方案并不适用于流媒体集群业务。
示例性的,图5为k8s中HPA对容器进行扩/缩容的结构示意图。如图5所示,该示意图中包括:控制管理器、接口服务组件、副本控制器(replication controller,RC)等。在本实施例中,首先在控制管理器中创建HPA资源,设定目标CPU使用率限额,最大实例数、最小实例数,以及容器的资源限制参数。
具体的,控制管理器每隔预设时间间隔查询资源使用情况,然后将该资源使用情况与创建时设定的值和指标进行对比,求出目标调整的POD实例个数;其中,目标调整的实例数不能超过设定的最大实例数和最小实例数。最后,基于目标调整的容器(POD)实例个数调整POD的个数。可选的,该步骤可以重复执行,以更新k8s中的容器数量。
可选的,该预设时间间隔可以为30s或其他数值,该数值可以通过HPA的参数周期进行修改,其可以根据实际情况确定。
可选的,在流媒体集群实现中,流媒体集群的主节点VTM和从节点VTDU之间的连接方式有两种,一种是VTM向VTDU发起连接,另一种是VTDU向VTM发起连接。示例性的,VTM向VTDU发起连接的连接方式能够简化实现复杂度,不需要考虑被动接受连接时VTDU注册存在先后顺序等问题,与不需要将元数据进行持久化,VTM每次启动后,主动连接集群中的所有VTDU,获取集群的元数据,但是,在云服务上部署时,VTDU进行弹性伸缩时,VTM必须获知扩容/缩容的VTDU标识,这是因为VTM主动去连VTDU,VTM才能对新的VTDU群组进行集群负载均衡管理。同理,VTDU向VTM发起连接的连接方式复杂度相对较高,需要考虑被动接受连接时VTDU注册存在先后顺序,需要将元数据进行持久化在VTM上等,然而其在云服务上部署时,VTDU进行弹性伸缩时,VTM不需要获知扩容/缩容的VTDU标识。
可选的,本申请实施例以VTM向VTDU发起连接的方式进行说明。
示例性,由上述分析可知,在流媒体集群系统中,流媒体服务器群组的容量可能与实际需求不一致,存在资源分配问题,且k8s中的HPA具有对容器进行扩/缩容的功能,因而,针对现有技术中的上述问题,本申请实施例提供了一种流媒体集群节点管理方法、装置及存储介质,弹性控制器获取流媒体管理服务器同步的流媒体服务器群组中每个流媒体服务器的负载信息,基于所有流媒体服务器的负载信息,确定该流媒体服务器群组的容量调整策略,该容量调整策略包括:流媒体服务器群组的容量缩小或流媒体服务器群组的容量扩大,基于容量调整策略向副本控制器发送容量调整指示,该容量调整指示包括:流媒体服务器群组的容量调整策略。该技术方案实现了动态管理流媒体服务器群组容量的目的,实现了资源的合理利用,保障流媒体的正常业务。
下面在介绍流媒体集群节点管理方法之前,首先介绍基于k8s和流媒体集群系统生成的一种流媒体集群系统,该流媒体集群系统具有k8s的HPA调度方案的功能以及流媒体集群业务的功能。
示例性的,本申请实施例提供的流媒体集群节点管理方法可以适用于流媒体集群系统的场景。示例性的,图6为本申请实施例提供的流媒体集群系统的结构示意图。如图6所示,该流媒体集群系统可以包括:流媒体管理服务器61、流媒体服务器群组62、弹性控制器63和副本控制器64。其中,该流媒体服务器群组62包括多个流媒体服务器。
可选的,该流媒体管理服务器61可以管理该流媒体服务器群组62包括的所有流媒体服务器,以及将所有流媒体服务器的负载信息以及资源使用信息等同步给弹性控制器63,这样弹性控制器63可以基于获取到的每个流媒体服务器的负载信息以及资源使用信息确定流媒体服务器群组62的容量调整策略。关于该流媒体管理服务器61的实现原理可参见上述记载的内容,此处不再赘述。
在本实施例中,该副本控制器64具有销毁或重建的功能,这样弹性控制器63在确定出流媒体服务器群组62的容量调整策略后可以向该副本控制器64发送容量调整指示,以利用该副本控制器64实现对流媒体服务器群组62的容量的管理。
在本实施例中,该弹性控制器63可以是流媒体集群负载均衡系统中新增的调度组件。在流媒体集群负载均衡系统中,该弹性控制器63可以为vtdu-autoscaler调度组件,其可以负责VTDU扩/缩容的算法以及与k8s的交互。
在本实施例中,流媒体集群系统中的VTM只需要将每个VTDU的节点信息同步到弹性控制器63,这样弹性控制器63便可以基于获取到的每个VTDU的节点信息制定调度策略。
示例性的,本申请实施例的流媒体集群节点管理方法主要用到了k8s中的RC/Deployment模块,在k8s中,该RC/Deployment模块用来管理容器以及容器的扩缩容实现。
具体的,该副本控制器64核心作用是确保在任何时候流媒体集群中该RC所关联的流媒体服务器都保持一定数量且处于正常运行状态。在本实施例中,该副本控制器64不用于自动销毁或创建流媒体服务器,其基于弹性控制器63的指示工作。当弹性控制器63确定出该流媒体服务器群组中的流媒体服务器的数量太多时,则向副本控制器64发送缩容指示,这样该副本控制器64可以基于该缩容指示,销毁对应的流媒体服务器,反之,当弹性控制器63确定出该流媒体服务器群组中的流媒体服务器的数量太少时,则向副本控制器64发送扩容指示,这样该副本控制器64可以基于该扩容指示,创建新的流媒体服务器。
示例性的,弹性控制器63通过接口服务组件65与副本控制器64进行通信,该接口服务组件65为适用于k8s的接口服务组件(kube-apiserver),其封装了操作etcd的接口,以表述性状态传递(representational state transfer,REST)的方式对外提供服务,其是集群资源对象的增加、删减、修改和检查以及监听资源变化的接口,如创建Pod、创建RC,监听Pod变化的接口。接口服务组件65是流媒体集群系统的弹性控制器对外以及连接副本控制器64等服务组件的枢纽。
当将流媒体部署于云服务领域时,可以利用云计算具有的水平弹性来有效的解决流媒体集群系统存在的资源分配问题。
下面,通过具体实施例对本申请的技术方案进行详细说明。需要说明的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图7为本申请实施例提供的流媒体集群节点管理方法实施例一的交互示意图。该方法基于图6所示的流媒体集群系统实现,可选的,该方法以弹性控制器、流媒体管理服务器以及副本控制器的交互进行说明。如图7所示,该方法可以包括如下步骤:
步骤71:流媒体管理服务器向弹性控制器同步流媒体服务器群组中每个流媒体服务器的负载信息。
可选的,在本实施例中,由于流媒体服务器群组中每个流媒体服务器可以通过心跳同步的方式将自己的节点信息同步给VTM,因而,流媒体管理服务器可以中保存有每个流媒体服务器的基本信息,例如负载信息、资源使用信息等。
示例性的,该负载信息可以解释为负载连接数,该负载连接数也可以解释为接入的业务数量。因而,每个流媒体服务器的负载信息可以包括每个流媒体服务器可连接的最大负载数量、当前连接的负载数量以及当前负载连接率(当前连接的负载数量与可连接的最大负载数量的比值),或者说,每个流媒体服务器的负载信息可以包括每个流媒体服务器可接入的业务总数量、当前接入的业务数量和当前业务接入率(当前接入的业务数量与可接入的业务总数量的比值)。
示例性的,该资源使用信息可以解释为CPU利用率、内存占用率等信息,因而,每个流媒体服务器的资源使用信息可以包括CPU利用率和内存占用率等信息。
值得说明的是,本申请实施例并不对负载信息和资源使用信息的具体包括内容进行限定,其可以根据实际情况确定。
本实施例中,流媒体管理服务器可以通过心跳同步的方式每个预设时间将获取到的流媒体服务器群组中每个流媒体服务器的负载信息同步给弹性控制器,以使弹性控制器及时获取到每个流媒体服务器的负载信息。
步骤72:弹性控制器基于获取到的流媒体服务器群组中每个流媒体服务器的负载信息,确定该流媒体服务器群组的容量调整策略。
其中,该容量调整策略包括:流媒体服务器群组的容量缩小或流媒体服务器群组的容量扩大。
在本实施例中,弹性控制器获取到流媒体服务器群组中每个流媒体服务器的负载信息时,通过分析每个流媒体服务器的最大负载数、当前负载数以及资源使用信息,以及所有流媒体服务器的当前负载总数以及该流媒体集群系统可支持的最大负载总数,确定出针对该流媒体服务器群组的容量调整策略。
可选的,该容量调整策略包括:流媒体服务器群组的容量缩小或流媒体服务器群组的容量扩大,即弹性控制器可以在流媒体集群系统中的流媒体服务器的数量不足以支撑当前业务量时,可以通过扩大流媒体服务器群组的容量的方式增加流媒体服务器的数量,也可以在在流媒体集群系统中有较多的闲置资源时,通过减少流媒体服务器的数量不足降低资源消耗。
关于本步骤的具体实现原理可以参见下述图8和图9中的记载,此处不再赘述。
步骤73:弹性控制器基于该容量调整策略向副本控制器发送容量调整指示,该容量调整指示包括:流媒体服务器群组的容量调整策略。
可选的,在本实施例中,由于该弹性控制器本身不具备对流媒体服务器群组中包括的流媒体服务器进行处理的功能,而副本控制器具有销毁或重建的功能,因而,在弹性控制器确定出具体的容量调整策略时,可以向副本控制器发送容量调整指示,以指示该副本控制器基于该容量调整策略销毁流媒体服务器群组中的流媒体服务器,或创建新的流媒体服务器。
为了使得该副本控制器对流媒体服务器群组的容量进行调整,该容量调整指示中需要包含上述容量调整策略。
值得说明的是,弹性控制器需要通过接口服务组件将容量调整指示发送给副本控制器,以实现弹性控制器与副本控制器的通信。
步骤74:副本控制器基于接收到的容量调整策略,调整流媒体服务器群组的容量。
示例性的,在本实施例中,该副本控制器从弹性控制器接收上述容量调整指示,并基于该容量调整指示中的容量调整策略确定出对应的处理方式。在容量调整策略为流媒体服务器群组的容量缩小时,销毁容量调整策略中的目标流媒体服务器,在容量调整策略为流媒体服务器群组的容量扩大时,基于容量调整策略中的目标流媒体服务器的标识,新建该目标流媒体服务器。
本申请实施例提供的流媒体集群节点管理方法,流媒体管理服务器向弹性控制器同步流媒体服务器群组中每个流媒体服务器的负载信息,弹性控制器基于获取到的流媒体服务器群组中每个流媒体服务器的负载信息,确定该流媒体服务器群组的容量调整策略,弹性控制器基于该容量调整策略向副本控制器发送容量调整指示,该容量调整指示包括:流媒体服务器群组的容量调整策略,副本控制器基于接收到的容量调整策略,调整流媒体服务器群组的容量。该技术方案,可以动态管理流媒体服务器群组的容量,实现了资源的合理利用,保障流媒体的正常业务,解决了现有流媒体集群系统中的资源分配问题。
示例性的,在上述图7所示实施例的基础上,图8为本申请实施例提供的流媒体集群节点管理方法实施例二的交互流程图。如图8所示,在本实施例中,上述步骤72可以通过如下步骤实现:
步骤81:弹性控制器在流媒体服务器群组的当前负载数与流媒体服务器群组的最大负载数的比值小于第一阈值时,确定该容量调整策略为缩小流媒体服务器群组的容量。
在本实施例中,弹性控制器获取到每个流媒体服务器的负载信息后,一方面可以计算该流媒体服务器群组的当前负载数,该当前负载数为该流媒体服务器群组中所有流媒体服务器的当前负载数之和,另一方面可以计算该流媒体服务器群组的最大负载数,该最大负载数为该流媒体服务器群组中所有流媒体服务器的最大能够支持的最大负载数之和。
示例性的,为了降低该流媒体集群系统的资源消耗,该弹性控制器中可以预设有两个阈值,例如,第一阈值和第二阈值,该第二阈值大于第一阈值。这样,若该流媒体服务器群组的当前负载数与流媒体服务器群组的最大负载数的比值小于第一阈值,则表明该流媒体服务器群组的当前负载数较小,存在资源浪费的问题,这时,可以缩小流媒体服务器群组的容量,即减少流媒体服务器群组中流媒体服务器的数量,以减低资源浪费。
值得说明的是,该第一阈值和第二阈值的具体取值可以根据实际情况确定。例如,该第一阈值为45%,该第二阈值为75%。
可选的,当流媒体服务器群组的当前负载数与流媒体服务器群组的最大负载数的比值低于45%时,参见下述公式,这时,确定该容量调整策略为缩小流媒体服务器群组的容量,且该容量调整策略包括负载最小的流媒体服务器的标识。
Figure BDA0002194318840000201
其中,k为流媒体服务器的索引,xk为第k个流媒体服务器上的负载个数,N为流媒体服务器群组的容量,即流媒体服务器群组包括的流媒体服务器数量,n为每个流媒体服务器可支持的最大负载个数。
相应的,在上述步骤73之前,该方法还可以包括如下步骤:
步骤82:弹性控制器向流媒体管理服务器发送缩容指示,该缩容指示包括:目标流媒体服务器的标识。
其中,该缩容指示用于指示流媒体管理服务器停止为目标流媒体服务器分配新的负载。
可选的,在本实施例中,当弹性控制器确定出需要缩小流媒体服务器群组的容量时,该弹性控制器首先需要选择负载最小的流媒体管理服务器作为目标流媒体服务器,并将该目标流媒体服务器的标识携带在缩容指示中发送给流媒体管理服务器,以使该流媒体管理服务器将该目标流媒体服务器踢除流媒体服务器群组,但是流媒体管理服务器仍然获取该目标流媒体服务器的节点信息,并同步给弹性控制器。
步骤83:流媒体管理服务器基于该缩容指示,停止为目标流媒体服务器分配新的负载。
可选的,流媒体管理服务器接收到缩容指示后,基于解析到的该目标流媒体服务器的标识,当有新的业务请求时,基于该目标流媒体服务器之外的流媒体服务器群组进行负载均衡管理,也即,停止为目标流媒体服务器分配新的负载,但是仍然会检测该目标流媒体服务器上的负载数量,直到该目标流媒体服务器上的负载数量为零。
步骤84:弹性控制器基于该流媒体管理服务器同步的每个流媒体服务器的负载信息,确定该目标流媒体服务器上的负载信息。
示例性的,在本实施例中,由于流媒体管理服务器会检测每个流媒体服务的负载信息,并基于心跳同步的方式同步给弹性控制器,所以,该弹性控制器可以基于每个流媒体服务器的负载信息,确定该目标流媒体服务器上的负载信息,也即,检测该目标流媒体服务器上的业务数,直到该目标流媒体服务器的取流业务均结束。
相应的,上述步骤73可以通过如下步骤实现:
步骤85:弹性控制器在该目标流媒体服务器上的负载为零时,向副本控制器发送该容量调整指示。
可选的,在本实施例中,若弹性控制器检测到该目标流媒体服务器上的负载为零,即表明目标流媒体服务器上的所有业务已结束,这时可以通过副本控制器进行缩容,即向副本控制器发送该容量调整指示,以使该副本控制器基于容量调整指示销毁该目标流媒体服务器,以减少流媒体服务器群组中的一个流媒体服务器。
本申请实施例提供的流媒体集群节点管理方法,弹性控制器在流媒体服务器群组的当前负载数与流媒体服务器群组的最大负载数的比值小于第一阈值时,确定该容量调整策略为缩小流媒体服务器群组的容量,这时弹性控制器首先向流媒体管理服务器发送缩容指示,以使流媒体管理服务器基于该缩容指示,停止为目标流媒体服务器分配新的负载,以及在弹性控制器确定该目标流媒体服务器上的负载为零时,向副本控制器发送该容量调整指示。该技术方案中,在需要缩小流媒体服务器群组的容量时,弹性控制器在目标流媒体服务器的负载为零时,再向副本控制器发送该容量调整指示,在实现缩容的同时,能够保证该流媒体集群系统的稳定性,解决了资源浪费问题。
示例性的,在上述实施例的基础上,图9为本申请实施例提供的流媒体集群节点管理方法实施例三的交互流程图。如图9所示,在本实施例中,上述步骤72可以通过如下步骤实现:
步骤91:弹性控制器在该流媒体服务器群组的当前负载数与流媒体服务器群组的最大负载数的比值大于或等于第二阈值时,确定该容量调整策略为扩大流媒体服务器群组的容量。
在本实施例中,通过图8所示的实施例可知,该弹性控制器中可以预设有两个阈值,例如,第一阈值和第二阈值,该第二阈值大于第一阈值。当该流媒体服务器群组的当前负载数与流媒体服务器群组的最大负载数的比值大于或等于第二阈值时,表明该流媒体服务器群组的当前负载数较大,可能存在资源不足问题,这时,可以扩大流媒体服务器群组的容量,即增加流媒体服务器群组中流媒体服务器的数量,以保证该流媒体集群系统可以处理所有的业务,以提高系统稳定性。
可选的,当流媒体服务器群组的当前负载数与流媒体服务器群组的最大负载数的比值大于或等于75%时,参见下述公式,这时,确定该容量调整策略为扩大流媒体服务器群组的容量,且该容量调整策略包括待创建的目标流媒体服务器的标识。
Figure BDA0002194318840000221
类似的,k为流媒体服务器的索引,xk为第k个流媒体服务器上的负载个数,N为流媒体服务器群组的容量,即流媒体服务器群组包括的流媒体服务器数量,n为每个流媒体服务器可支持的最大负载个数。
值得说明的是,本申请实施例并不限定扩容的个数,其可以根据实际请求确定,此处不再赘述。
相应的,在上述步骤74之后,该方法还可以包括如下步骤:
步骤92:副本控制器向弹性控制器发送容量调整响应,该容量调整响应用于指示对流媒体服务器群组的容量调整结果。
其中,该容量调整结果包括如下任意一种:流媒体服务器扩容成功、流媒体服务器扩容失败、流媒体服务器缩容成功、流媒体服务器缩容失败。
可选的,在本实施例中,当弹性控制器向副本控制器发送容量调整指示后,该副本控制器可以基于该容量调整指示销毁或新建目标流媒体服务器,进而在销毁或新建后生成容量调整响应,利用该容量调整响应指示对流媒体服务器群组的容量调整结果。
可选的,当上述容量调整策略为缩小流媒体服务器群组的容量时,该容量调整结果包括流媒体服务器缩容成功或流媒体服务器缩容失败,并且在流媒体服务器缩容失败时,还可以包含缩容失败原因。
可选的,当上述容量调整策略为扩大流媒体服务器群组的容量时,该容量调整结果包括流媒体服务器扩容成功或流媒体服务器扩容失败,同理,在流媒体服务器扩容失败时,还可以包含扩容失败原因等。
步骤93:弹性控制器在确定接收到的容量调整结果包括:流媒体服务器扩容成功时,向流媒体管理服务器发送扩容指示。
其中,该扩容指示包括:目标流媒体服务器的标识。该扩容指示用于指示流媒体管理服务器基于包括目标流媒体服务器的流媒体服务器群组进行负载均衡。
可选的,在本实施例中,当弹性控制器接收到流媒体服务器扩容成功的容量调整结果时,可以将新创建的目标流媒体服务器的标识携带在扩容指示中发送给流媒体管理服务器,以使该流媒体管理服务器将该目标流媒体服务器添加至流媒体服务器群组中。
步骤94:流媒体管理服务器基于该扩容指示,对包括目标流媒体服务器的流媒体服务器群组进行负载均衡。
可选的,在本实施例中,流媒体管理服务器确定出新增的目标流媒体服务器,并将其添加至流媒体服务器群组中,以使得流媒体管理服务器在接收到新的取流请求时,可以基于包括目标流媒体服务器的流媒体服务器群组进行负载均衡,从而确定出最佳的流媒体服务器。
本申请实施例提供的流媒体集群节点管理方法,弹性控制器在该流媒体服务器群组的当前负载数与流媒体服务器群组的最大负载数的比值大于或等于第二阈值时,确定该容量调整策略为扩大流媒体服务器群组的容量,并基于该容量调整策略向副本控制器发送容量调整指示后,副本控制器向弹性控制器发送容量调整响应,从而在弹性控制器在确定接收到的容量调整结果包括:流媒体服务器扩容成功时,向流媒体管理服务器发送扩容指示,从而使得流媒体管理服务器基于该扩容指示,对包括目标流媒体服务器的流媒体服务器群组进行负载均衡。该技术方案中,在需要扩大流媒体服务器群组的容量时,弹性控制器可以直接向副本控制器发送该容量调整指示,以实现流媒体服务器数量的扩容,避免了资源争夺带来的系统不稳定,提高了系统的性能。
可选的,在本实施例中,可以将图8和图9所示实施例中的弹性控制器向流媒体管理服务器发送缩容指示和扩容指示称为弹性控制器向流媒体管理服务器发送指示信息,该指示信息包括:缩容指示或扩容指示,且该缩容指示和扩容指示均包括:目标流媒体服务器的标识,相应的,该流媒体管理服务器可以接收弹性控制器发送的该指示信息,这样流媒体管理服务器可以基于该指示信息,调整目标流媒体服务器上的负载。
示例性的,在指示信息包括:缩容指示时,该流媒体管理服务器可以基于该指示信息,停止目标流媒体服务器分配新的负载,在指示信息包括:扩容指示时,对包括目标流媒体服务器的流媒体服务器群组进行负载均衡。
示例性的,在上述任一实施例的基础上,图10为本申请实施例提供的流媒体集群节点管理方法实施例四的流程示意图。如图10所示,该方法还可以包括如下步骤:
步骤101:检测是否接收到该流媒体管理服务器同步的周期性同步信息。若否,执行步骤102,若是,执行步骤103。
其中,该周期性同步信息包括:流媒体服务器群组中每个流媒体服务器的负载信息和资源使用信息。
可选的,在本实施例中,由于流媒体管理服务器会通过心跳同步的方式周期性向弹性控制器同步流媒体服务器群组中每个流媒体服务器的信息,例如,负载信息和资源使用信息,因而,通常情况下,该弹性控制器会检测到该周期性同步信息,所以,在本实施例中,可以通过检测是否接收到该流媒体管理服务器同步的周期性同步信息的方式确定流媒体管理服务器是否可用,并且可以基于检测结果进行处理。
步骤102:确定该流媒体管理服务器工作异常,并重启流媒体管理服务器。
示例性的,在本实施例中,若弹性控制器未检测到该流媒体管理服务器的周期性同步信息,则确定该流媒体管理服务器的心跳异常,这时可以通过重启的方式使该流媒体管理服务器重新工作。
具体的,在本实施例中,弹性控制器可以通过接口服务组件的接口对向副本控制器发送流媒体管理服务器的重启请求,以使该副本控制器可以基于该重启请求重新确定该流媒体管理服务器,并在重启后向弹性控制器发送重启响应。关于流媒体管理服务器重启的方案与上述流媒体服务器群组的缩容和扩容方案类似,此处不再赘述。
步骤103:基于该流媒体服务器群组中每个流媒体服务器的负载信息和资源使用信息,确定出工作异常的流媒体服务器,并重启或重建工作异常的每个流媒体服务器,该工作异常的流媒体服务器的资源使用信息与负载信息不匹配。
可选的,在本实施例中,若弹性控制器能够检测到该流媒体管理服务器的周期性同步信息,则基于流媒体服务器的资源使用信息与负载信息确定流媒体服务器是否工作异常。若某个流媒体服务器的资源使用信息与负载信息不匹配,则确定该流媒体服务器工作异常,类似的,确定出所有工作异常的流媒体服务器。
示例性的,流媒体管理服务器将每个流媒体服务器的CPU利用率、内存占用率等资源使用信息上报给弹性控制器,弹性控制器再基于每个流媒体服务器的当前负载连接率等负载信息以及该资源使用信息中的一种信息判断其是否正常运行,以此确定出工作异常的流媒体服务器。
例如,对于某个流媒体服务器,假设弹性控制器获取到的该流媒体服务器的当前CPU利用率为80%,而该流媒体服务器的当前负载连接率为30%,而众多周知,通常情况下,流媒体服务器的CPU利用率与流媒体服务器的负载连接率成正比例,因而,在本实施例中,该流媒体服务器的当前CPU利用情况与当前负载连接情况是不一致的,这时可以确定流媒体服务器工作异常。
可以理解的是,本实施例中还可以利用该流媒体服务器的内存占用率与负载连接率进行比较,或者利用该流媒体服务器的其他资源使用信息(例如,缓存占用率)与负载连接率进行比较,以判断流媒体服务器是否工作异常。对于其他的判断方式,其与上述CPU利用率和负载连接率的判断方法类似,此处不再赘述。
在本实施例中,当弹性控制器确定出工作异常的流媒体服务器后,可以通过如下方式提高流媒体服务器的可用性。
示例性的,在一个可能设计中,弹性控制器可以通过接口服务组件直接重启相应的工作异常的流媒体服务器。
示例性的,在另一个可能设计中,弹性控制器可以通过接口服务组件和副本控制器首先将工作异常的流媒体服务器销毁,再基于接口服务组件和副本控制器重建流媒体服务器,即通过先缩容,再扩容的方式处理工作异常的流媒体服务器,该方式可以保证正在取流的业务完成,从而提高了系统稳定性。
本申请实施例提供的流媒体集群节点管理方法,弹性控制器检测是否接收到该流媒体管理服务器同步的周期性同步信息,若未检测到流媒体管理服务器的周期性同步信息,则确定该流媒体管理服务器工作异常,并重启流媒体管理服务器,若检测到该流媒体管理服务器的周期性同步信息,则基于流媒体服务器群组中每个流媒体服务器的负载信息和资源使用信息,确定出工作异常的流媒体服务器,并重启或重建工作异常的每个流媒体服务器。该技术方案可以提高流媒体服务集群系统的资源利用率,提高系统稳定性。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图11为本申请实施例提供的流媒体集群节点管理装置实施例一的结构示意图。该装置可以集成在弹性控制器中,也可以通过弹性控制器实现。如图11所示,该装置可以包括:获取模块111、处理模块112和收发模块113。
其中,该获取模块111,用于获取流媒体管理服务器同步的流媒体服务器群组中每个流媒体服务器的负载信息;
该处理模块112,用于基于所有流媒体服务器的负载信息,确定所述流媒体服务器群组的容量调整策略,所述容量调整策略包括:所述流媒体服务器群组的容量缩小或所述流媒体服务器群组的容量扩大;
该收发模块113,用于基于所述容量调整策略向副本控制器发送容量调整指示,所述容量调整指示包括:所述流媒体服务器群组的容量调整策略。
示例性的,在本实施例的一种可能设计中,该处理模块112,具体用于在所述流媒体服务器群组的当前负载数与所述流媒体服务器群组的最大负载数的比值小于第一阈值时,确定所述容量调整策略为缩小所述流媒体服务器群组的容量。
可选的,在本实施例中,该收发模块113,还用于在基于所述容量调整策略向副本控制器发送容量调整指示之前,向所述流媒体管理服务器发送缩容指示,所述缩容指示包括:目标流媒体服务器的标识,所述缩容指示用于指示所述流媒体管理服务器停止为所述目标流媒体服务器分配新的负载;
该处理模块112,还用于基于所述流媒体管理服务器同步的每个流媒体服务器的负载信息,确定所述目标流媒体服务器上的负载信息;
该收发模块113,用于基于所述容量调整策略向副本控制器发送容量调整指示,具体为:
该收发模块113,具体用于在述目标流媒体服务器上的负载为零时,向所述副本控制器发送所述容量调整指示。
示例性的,在本实施例的另一种可能设计中,该处理模块112,具体用于在所述流媒体服务器群组的当前负载数与所述流媒体服务器群组的最大负载数的比值大于或等于第二阈值时,确定所述容量调整策略为扩大所述流媒体服务器群组的容量。
可选的,在本实施例中,该收发模块113,还用于在基于所述容量调整策略向副本控制器发送容量调整指示之后,接收所述副本控制器发送的容量调整响应,所述容量调整响应用于指示对所述流媒体服务器群组的容量调整结果,所述容量调整结果包括如下任意一种:流媒体服务器扩容成功、流媒体服务器扩容失败、流媒体服务器缩容成功、流媒体服务器缩容失败,以及在所述容量调整结果包括:流媒体服务器扩容成功时,向所述流媒体管理服务器发送所述扩容指示,所述扩容指示包括:目标流媒体服务器的标识,所述扩容指示用于指示所述流媒体管理服务器基于包括所述目标流媒体服务器的流媒体服务器群组进行负载均衡。
示例性的,在本实施例的再一种可能设计中,该处理模块112,还用于检测所述流媒体管理服务器的周期性同步信息,所述周期性同步信息包括:所述流媒体服务器群组中每个流媒体服务器的负载信息和资源使用信息,在未检测到所述流媒体管理服务器的周期性同步信息时,确定所述流媒体管理服务器工作异常,并重启所述流媒体管理服务器,以及在检测到所述流媒体管理服务器的周期性同步信息时,基于所述流媒体服务器群组中每个流媒体服务器的负载信息和资源使用信息,确定出工作异常的流媒体服务器,并重启或重建工作异常的每个流媒体服务器,所述工作异常的流媒体服务器的资源使用信息与负载信息不匹配。
本申请实施例提供的装置,可用于执行图7至图10所示实施例中弹性控制器的实现方案,其实现原理和技术效果类似,在此不再赘述。
图12为本申请实施例提供的流媒体集群节点管理装置实施例二的结构示意图。该装置可以集成在副本控制器中,也可以通过副本控制器实现。如
图12所示,该装置可以包括:收发模块121和处理模块122。
其中,该收发模块121,用于接收弹性控制器发送的容量调整指示,所述容量调整指示包括:所述流媒体服务器群组的容量调整策略;
该处理模块122,用于基于所述容量调整策略,调整所述流媒体服务器群组的容量。
示例性的,在本实施例的一种可能设计中,该收发模块121,还用于向所述弹性控制器发送容量调整响应,所述容量调整响应用于指示对所述流媒体服务器群组的容量调整结果,所述容量调整结果包括如下任意一种:流媒体服务器扩容成功、流媒体服务器扩容失败、流媒体服务器缩容成功、流媒体服务器缩容失败。
本申请实施例提供的装置,可用于执行图7至图10所示实施例中副本控制器的实现方案,其实现原理和技术效果类似,在此不再赘述。
图13为本申请实施例提供的流媒体集群节点管理装置实施例三的结构示意图。该装置可以集成在流媒体管理服务器中,也可以通过流媒体管理服务器实现。如图13所示,该装置包括:收发模块131和处理模块132。
其中,该收发模块131,用于向弹性控制器同步流媒体服务器群组中每个流媒体服务器的负载信息,以及接收所述弹性控制器发送的指示信息,所述指示信息包括:缩容指示或扩容指示,所述缩容指示和所述扩容指示包括:目标流媒体服务器的标识。
该处理模块132,用于基于所述指示信息,调整所述目标流媒体服务器上的负载。
示例性的,在本实施例的一种可能设计中,所述指示信息包括:缩容指示;
该处理模块132,具体用于基于所述缩容指示,停止为所述目标流媒体服务器分配新的负载。
示例性的,在本实施例的另一种可能设计中,所述指示信息包括:扩容指示;
该处理模块132,具体用于基于所述扩容指示,对包括所述目标流媒体服务器的流媒体服务器群组进行负载均衡。
本申请实施例提供的装置,可用于执行图7至图10所示实施例中流媒体管理服务器的实现方案,其实现原理和技术效果类似,在此不再赘述。
需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,确定模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上确定模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(application specific integrated circuit,ASIC),或,一个或多个微处理器(digital signal processor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(centralprocessing unit,CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘solid state disk(SSD))等。
图14为本申请实施例提供的流媒体集群节点管理装置实施例四的结构示意图。如图14所示,该装置可以包括:处理器141、存储器142、通信接口143和系统总线144,所述存储器142和所述通信接口143通过所述系统总线144与所述处理器141连接并完成相互间的通信,所述存储器142用于存储计算机执行指令,所述通信接口143用于和其他设备进行通信。
在本实施例的一种可能设计中,该处理器141执行所述计算机执行指令时实现如上述图7至图10所示实施例中弹性控制器的实现方案。
在本实施例的另一种可能设计中,该处理器141执行所述计算机执行指令时实现如上述图7至图10所示实施例中副本控制器的实现方案。
在本实施例的再一种可能设计中,该处理器141执行所述计算机执行指令时实现如上述图7至图10所示实施例中流媒体管理服务器的实现方案。
该图14中提到的系统总线可以是外设部件互连标准(peripheral componentinterconnect,PCI)总线或扩展工业标准结构(extended industry standardarchitecture,EISA)总线等。所述系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于实现数据库访问装置与其他设备(例如客户端、读写库和只读库)之间的通信。存储器可能包含随机存取存储器(random access memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
上述的处理器可以是通用处理器,包括中央处理器CPU、网络处理器(networkprocessor,NP)等;还可以是数字信号处理器DSP、专用集成电路ASIC、现场可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
可选的,本申请实施例还提供一种存储介质,所述存储介质中存储有指令。
示例性的,在本实施例的一种可能设计中,当所述指令在计算机上运行时,使得计算机执行如上述图7至图10所示实施例中弹性控制器的实现方案。
在本实施例的另一种可能设计中,当所述指令在计算机上运行时,使得计算机执行如上述图7至图10所示实施例中副本控制器的实现方案。
在本实施例的再一种可能设计中,当所述指令在计算机上运行时,使得计算机执行如上述图7至图10所示实施例中流媒体管理服务器的实现方案。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系;在公式中,字符“/”,表示前后关联对象是一种“相除”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中,a,b,c可以是单个,也可以是多个。
可以理解的是,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。
可以理解的是,在本申请的实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请的实施例的实施过程构成任何限定。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (14)

1.一种流媒体集群节点管理方法,适用于弹性控制器,其特征在于,所述方法包括:
获取流媒体管理服务器同步的流媒体服务器群组中每个流媒体服务器的负载信息;
基于所有流媒体服务器的负载信息,确定所述流媒体服务器群组的容量调整策略,所述容量调整策略包括:所述流媒体服务器群组的容量缩小或所述流媒体服务器群组的容量扩大;
基于所述容量调整策略向副本控制器发送容量调整指示,所述容量调整指示包括:所述流媒体服务器群组的容量调整策略。
2.根据权利要求1所述的方法,其特征在于,所述基于所有流媒体服务器的负载信息,确定所述流媒体服务器群组的容量调整策略,包括:
在所述流媒体服务器群组的当前负载数与所述流媒体服务器群组的最大负载数的比值小于第一阈值时,确定所述容量调整策略为缩小所述流媒体服务器群组的容量;
相应的,在所述基于所述容量调整策略向副本控制器发送容量调整指示之前,所述方法还包括:
向所述流媒体管理服务器发送缩容指示,所述缩容指示包括:目标流媒体服务器的标识,所述缩容指示用于指示所述流媒体管理服务器停止为所述目标流媒体服务器分配新的负载;
基于所述流媒体管理服务器同步的每个流媒体服务器的负载信息,确定所述目标流媒体服务器上的负载信息;
所述基于所述容量调整策略向副本控制器发送容量调整指示,包括:
在所述目标流媒体服务器上的负载为零时,向所述副本控制器发送所述容量调整指示。
3.根据权利要求1所述的方法,其特征在于,所述基于所有流媒体服务器的负载信息,确定所述流媒体服务器群组的容量调整策略,包括:
在所述流媒体服务器群组的当前负载数与所述流媒体服务器群组的最大负载数的比值大于或等于第二阈值时,确定所述容量调整策略为扩大所述流媒体服务器群组的容量;
相应的,在所述基于所述容量调整策略向副本控制器发送容量调整指示之后,所述方法还包括:
接收所述副本控制器发送的容量调整响应,所述容量调整响应用于指示对所述流媒体服务器群组的容量调整结果,所述容量调整结果包括如下任意一种:流媒体服务器扩容成功、流媒体服务器扩容失败、流媒体服务器缩容成功、流媒体服务器缩容失败;
在所述容量调整结果包括:流媒体服务器扩容成功时,向所述流媒体管理服务器发送所述扩容指示,所述扩容指示包括:目标流媒体服务器的标识,所述扩容指示用于指示所述流媒体管理服务器基于包括所述目标流媒体服务器的流媒体服务器群组进行负载均衡。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
检测所述流媒体管理服务器的周期性同步信息,所述周期性同步信息包括:所述流媒体服务器群组中每个流媒体服务器的负载信息和资源使用信息;
若未检测到所述流媒体管理服务器的周期性同步信息,则确定所述流媒体管理服务器工作异常,并重启所述流媒体管理服务器;
若检测到所述流媒体管理服务器的周期性同步信息,则基于所述流媒体服务器群组中每个流媒体服务器的负载信息和资源使用信息,确定出工作异常的流媒体服务器,并重启或重建工作异常的每个流媒体服务器,所述工作异常的流媒体服务器的资源使用信息与负载信息不匹配。
5.一种流媒体集群节点管理方法,适用于流媒体管理服务器,其特征在于,所述方法包括:
向弹性控制器同步流媒体服务器群组中每个流媒体服务器的负载信息;
接收所述弹性控制器发送的指示信息,所述指示信息包括:缩容指示或扩容指示,所述缩容指示和所述扩容指示包括:目标流媒体服务器的标识;
基于所述指示信息,调整所述目标流媒体服务器上的负载。
6.根据权利要求5所述的方法,其特征在于,在所述指示信息包括:缩容指示时,所述基于所述指示信息,调整所述目标流媒体服务器上的负载,包括:
基于所述缩容指示,停止为所述目标流媒体服务器分配新的负载;
在所述指示信息包括:扩容指示时,所述基于所述指示信息,调整所述目标流媒体服务器上的负载,包括:
基于所述扩容指示,对包括所述目标流媒体服务器的流媒体服务器群组进行负载均衡。
7.一种流媒体集群节点管理装置,适用于弹性控制器,其特征在于,所述装置包括:获取模块、处理模块和收发模块;
所述获取模块,用于获取流媒体管理服务器同步的流媒体服务器群组中每个流媒体服务器的负载信息;
所述处理模块,用于基于所有流媒体服务器的负载信息,确定所述流媒体服务器群组的容量调整策略,所述容量调整策略包括:所述流媒体服务器群组的容量缩小或所述流媒体服务器群组的容量扩大;
所述收发模块,用于基于所述容量调整策略向副本控制器发送容量调整指示,所述容量调整指示包括:所述流媒体服务器群组的容量调整策略。
8.根据权利要求7所述的装置,其特征在于,所述处理模块,具体用于在所述流媒体服务器群组的当前负载数与所述流媒体服务器群组的最大负载数的比值小于第一阈值时,确定所述容量调整策略为缩小所述流媒体服务器群组的容量;
所述收发模块,还用于在基于所述容量调整策略向副本控制器发送容量调整指示之前,向所述流媒体管理服务器发送缩容指示,所述缩容指示包括:目标流媒体服务器的标识,所述缩容指示用于指示所述流媒体管理服务器停止为所述目标流媒体服务器分配新的负载;
所述处理模块,还用于基于所述流媒体管理服务器同步的每个流媒体服务器的负载信息,确定所述目标流媒体服务器上的负载信息;
所述收发模块,用于基于所述容量调整策略向副本控制器发送容量调整指示,具体为:
所述收发模块,具体用于在所述目标流媒体服务器上的负载为零时,向所述副本控制器发送所述容量调整指示。
9.根据权利要求7所述的装置,其特征在于,所述处理模块,具体用于在所述流媒体服务器群组的当前负载数与所述流媒体服务器群组的最大负载数的比值大于或等于第二阈值时,确定所述容量调整策略为扩大所述流媒体服务器群组的容量;
所述收发模块,还用于在基于所述容量调整策略向副本控制器发送容量调整指示之后,接收所述副本控制器发送的容量调整响应,所述容量调整响应用于指示对所述流媒体服务器群组的容量调整结果,所述容量调整结果包括如下任意一种:流媒体服务器扩容成功、流媒体服务器扩容失败、流媒体服务器缩容成功、流媒体服务器缩容失败,以及在所述容量调整结果包括:流媒体服务器扩容成功时,向所述流媒体管理服务器发送所述扩容指示,所述扩容指示包括:目标流媒体服务器的标识,所述扩容指示用于指示所述流媒体管理服务器基于包括所述目标流媒体服务器的流媒体服务器群组进行负载均衡。
10.根据权利要求7-9任一项所述的装置,其特征在于,所述处理模块,还用于检测所述流媒体管理服务器的周期性同步信息,所述周期性同步信息包括:所述流媒体服务器群组中每个流媒体服务器的负载信息和资源使用信息,在未检测到所述流媒体管理服务器的周期性同步信息时,确定所述流媒体管理服务器工作异常,并重启所述流媒体管理服务器,以及在检测到所述流媒体管理服务器的周期性同步信息时,基于所述流媒体服务器群组中每个流媒体服务器的负载信息和资源使用信息,确定出工作异常的流媒体服务器,并重启或重建工作异常的每个流媒体服务器,所述工作异常的流媒体服务器的资源使用信息与负载信息不匹配。
11.一种流媒体集群节点管理装置,适用于流媒体管理服务器,其特征在于,所述装置包括:收发模块和处理模块;
所述收发模块,用于向弹性控制器同步流媒体服务器群组中每个流媒体服务器的负载信息,以及接收所述弹性控制器发送的指示信息,所述指示信息包括:缩容指示或扩容指示,所述缩容指示和所述扩容指示包括:目标流媒体服务器的标识;
所述处理模块,用于基于所述指示信息,调整所述目标流媒体服务器上的负载。
12.根据权利要求11所述的装置,其特征在于,在所述指示信息包括:缩容指示时,所述处理模块,具体用于基于所述缩容指示,停止为所述目标流媒体服务器分配新的负载;
在所述指示信息包括:扩容指示时,所述处理模块,具体用于基于所述扩容指示,对包括所述目标流媒体服务器的流媒体服务器群组进行负载均衡。
13.一种流媒体集群节点管理装置,包括处理器、存储器及存储在所述存储器上并可在处理器上运行的计算机程序,其特征在于,
所述处理器执行所述程序时实现如上述权利要求1-4任一项所述的方法;
或者
所述处理器执行所述程序时实现如上述权利要求5或6所述的方法。
14.一种存储介质,其特征在于,所述存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1-4任一项所述的方法;
或者
当所述指令在计算机上运行时,使得计算机执行上述权利要求5或6所述的方法。
CN201910843024.6A 2019-09-06 2019-09-06 流媒体集群节点管理方法、装置及存储介质 Active CN112468310B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910843024.6A CN112468310B (zh) 2019-09-06 2019-09-06 流媒体集群节点管理方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910843024.6A CN112468310B (zh) 2019-09-06 2019-09-06 流媒体集群节点管理方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN112468310A true CN112468310A (zh) 2021-03-09
CN112468310B CN112468310B (zh) 2023-04-07

Family

ID=74807216

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910843024.6A Active CN112468310B (zh) 2019-09-06 2019-09-06 流媒体集群节点管理方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN112468310B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114827522A (zh) * 2022-06-22 2022-07-29 长沙朗源电子科技有限公司 一种视频会议的分组交互方法、设备及存储介质
CN115641497A (zh) * 2022-12-23 2023-01-24 中电信数字城市科技有限公司 多路视频处理系统及方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103257683A (zh) * 2013-05-07 2013-08-21 华为技术有限公司 一种云计算业务伸缩的方法和装置
WO2017211165A1 (zh) * 2016-06-07 2017-12-14 中兴通讯股份有限公司 一种媒体服务器及媒体服务方法
WO2018072708A1 (zh) * 2016-10-21 2018-04-26 中兴通讯股份有限公司 一种云平台业务的缩容方法、装置及云平台
CN108469989A (zh) * 2018-03-13 2018-08-31 广州西麦科技股份有限公司 一种基于集群性能的反馈式自动扩缩容方法及系统
CN109062666A (zh) * 2018-07-27 2018-12-21 浪潮电子信息产业股份有限公司 一种虚拟机集群管理方法及相关装置
CN109818767A (zh) * 2017-11-21 2019-05-28 网宿科技股份有限公司 一种Redis集群容量调整的方法、装置及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103257683A (zh) * 2013-05-07 2013-08-21 华为技术有限公司 一种云计算业务伸缩的方法和装置
WO2017211165A1 (zh) * 2016-06-07 2017-12-14 中兴通讯股份有限公司 一种媒体服务器及媒体服务方法
WO2018072708A1 (zh) * 2016-10-21 2018-04-26 中兴通讯股份有限公司 一种云平台业务的缩容方法、装置及云平台
CN109818767A (zh) * 2017-11-21 2019-05-28 网宿科技股份有限公司 一种Redis集群容量调整的方法、装置及存储介质
CN108469989A (zh) * 2018-03-13 2018-08-31 广州西麦科技股份有限公司 一种基于集群性能的反馈式自动扩缩容方法及系统
CN109062666A (zh) * 2018-07-27 2018-12-21 浪潮电子信息产业股份有限公司 一种虚拟机集群管理方法及相关装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
夏卓群等: "基于集群的流媒体缓存代理服务器体系结构", 《计算机应用》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114827522A (zh) * 2022-06-22 2022-07-29 长沙朗源电子科技有限公司 一种视频会议的分组交互方法、设备及存储介质
CN115641497A (zh) * 2022-12-23 2023-01-24 中电信数字城市科技有限公司 多路视频处理系统及方法
CN115641497B (zh) * 2022-12-23 2023-03-03 中电信数字城市科技有限公司 多路视频处理系统及方法

Also Published As

Publication number Publication date
CN112468310B (zh) 2023-04-07

Similar Documents

Publication Publication Date Title
US11888599B2 (en) Scalable leadership election in a multi-processing computing environment
EP3127018B1 (en) Geographically-distributed file system using coordinated namespace replication
WO2020147331A1 (zh) 一种微服务监控方法及系统
US9083614B2 (en) System and method for supporting out-of-order message processing in a distributed data grid
TWI739804B (zh) 資料遷移方法和裝置
US8533731B2 (en) Apparatus and method for distrubuting complex events based on correlations therebetween
CN110830283B (zh) 故障检测方法、装置、设备和系统
CN109150987B (zh) 基于主机层和容器层的两层式容器集群弹性扩容方法
CN105357296A (zh) 一种Docker云平台下弹性缓存系统
US20050138517A1 (en) Processing device management system
EP1654648B1 (en) Hierarchical management of the dynamic allocation of resources in a multi-node system
WO2019153488A1 (zh) 服务配置管理方法、装置、存储介质和服务器
CN108134814B (zh) 一种业务数据处理方法及装置
CN113067850B (zh) 一种多云场景下的集群编排系统
CN105939389A (zh) 负载均衡方法及装置
CN107368369B (zh) 分布式容器管理方法及系统
US20080148272A1 (en) Job allocation program, method and apparatus
CN112468310B (zh) 流媒体集群节点管理方法、装置及存储介质
WO2021120633A1 (zh) 一种负载均衡方法及相关设备
CN108228393A (zh) 一种可扩展的大数据高可用的实现方法
US20160065660A1 (en) Computer system, computer, and load balancing method
CN112631764A (zh) 任务调度方法、装置、计算机设备和计算机可读介质
CN112416594A (zh) 一种微服务分配方法、电子设备和计算机存储介质
US20170111240A1 (en) Service Elastic Method and Apparatus in Cloud Computing
US20240118935A1 (en) Pod deployment method and apparatus

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