CN115474079A - 媒体流迁移方法、装置、电子设备及存储介质 - Google Patents

媒体流迁移方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN115474079A
CN115474079A CN202210964660.6A CN202210964660A CN115474079A CN 115474079 A CN115474079 A CN 115474079A CN 202210964660 A CN202210964660 A CN 202210964660A CN 115474079 A CN115474079 A CN 115474079A
Authority
CN
China
Prior art keywords
media stream
service node
target
information
media
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.)
Pending
Application number
CN202210964660.6A
Other languages
English (en)
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.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp 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 China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN202210964660.6A priority Critical patent/CN115474079A/zh
Publication of CN115474079A publication Critical patent/CN115474079A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2404Monitoring of server processing errors or hardware failure
    • 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/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0663Performing the actions predefined by failover planning, e.g. switching to standby 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/80Responding to QoS

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例提供了一种媒体流迁移方法、装置、电子设备及存储介质。该方法中,通过媒体流处理系统中的协调服务端,接收媒体流处理系统中媒体流服务节点上报的状态表征信息,并根据状态表征信息对媒体流服务节点进行状态识别。在识别到媒体流服务节点出现异常的情况下,根据媒体流服务节点的目标提供端的接入位置信息,从其他媒体流服务节点中为目标提供端选择服务节点,作为目标媒体流服务节点;目标提供端包括向媒体流服务节点推送媒体流的媒体流提供端。将目标提供端的媒体流迁移至目标媒体流服务节点。这样,通过在媒体流处理系统中引入协调服务端,一定程度上使媒体流处理系统能够稳定的为用户提供媒体流。

Description

媒体流迁移方法、装置、电子设备及存储介质
技术领域
本发明属于网络技术领域,特别是涉及一种媒体流迁移方法、装置、电子设备及存储介质。
背景技术
目前,随着基于网际协议的语音传输(Voice over Internet Protocol,VoIP)、多媒体等技术的广泛应用,需要获取媒体流的场景越来越多。在目前的媒体流处理系统中,媒体流处理系统中包括媒体流提供端以及媒体流服务节点。媒体流提供端可以生成媒体流并推送给媒体流服务节点,由媒体流服务节点将媒体流提供端推送过来的媒体流分发给用户。
由于媒体流的数量往往较多,因此,如何使媒体流处理系统能够稳定的为用户提供媒体流成为亟需解决的技术问题。
发明内容
本发明提供一种媒体流迁移方法、装置、电子设备及存储介质,以使媒体流处理系统能够稳定的为用户提供媒体流。
第一方面,本发明提供一种媒体流迁移方法,所述方法应用于媒体流处理系统中的协调服务端,所述方法包括:
接收所述媒体流处理系统中媒体流服务节点上报的状态表征信息,并根据所述状态表征信息对所述媒体流服务节点进行状态识别;
在识别到所述媒体流服务节点出现异常的情况下,根据所述媒体流服务节点的目标提供端的接入位置信息,从其他媒体流服务节点中为所述目标提供端选择服务节点,作为目标媒体流服务节点;所述目标提供端包括向所述媒体流服务节点推送媒体流的媒体流提供端;
将所述目标提供端的媒体流迁移至所述目标媒体流服务节点。
第二方面,本发明提供另一种媒体流迁移方法,所述方法应用于媒体流处理系统,所述系统包括媒体流服务节点、协调服务端以及媒体流服务节点;所述方法包括:
所述媒体流服务节点向所述协调服务端上报状态表征信息;
所述协调服务端根据所述状态表征信息对所述媒体流服务节点进行状态识别;
所述协调服务端在识别到所述媒体流服务节点出现异常的情况下,根据所述媒体流服务节点的目标提供端的接入位置信息,从其他媒体流服务节点中为所述目标提供端选择服务节点,作为目标媒体流服务节点;所述目标提供端包括向所述媒体流服务节点推送媒体流的媒体流提供端;
所述协调服务端将所述目标提供端的媒体流迁移至所述目标媒体流服务节点。
第三方面,本发明提供一种媒体流迁移装置,所述装置应用于媒体流处理系统中的协调服务端,所述装置包括:
第一接收模块,用于接收所述媒体流处理系统中媒体流服务节点上报的状态表征信息,并根据所述状态表征信息对所述媒体流服务节点进行状态识别;
选择模块,用于在识别到所述媒体流服务节点出现异常的情况下,根据所述媒体流服务节点的目标提供端的接入位置信息,从其他媒体流服务节点中为所述目标提供端选择服务节点,作为目标媒体流服务节点;所述目标提供端包括向所述媒体流服务节点推送媒体流的媒体流提供端;
第一迁移模块,用于将所述目标提供端的媒体流迁移至所述目标媒体流服务节点。
第四方面,本发明提供一种媒体流处理系统,所述系统包括:媒体流服务节点、协调服务端以及媒体流服务节点;
所述媒体流服务节点,用于向所述协调服务端上报状态表征信息;
所述协调服务端,用于根据所述状态表征信息对所述媒体流服务节点进行状态识别;
所述协调服务端,还用于在识别到所述媒体流服务节点出现异常的情况下,根据所述媒体流服务节点的目标提供端的接入位置信息,从其他媒体流服务节点中为所述目标提供端选择服务节点,作为目标媒体流服务节点;所述目标提供端包括向所述媒体流服务节点推送媒体流的媒体流提供端;
所述协调服务端,还用于将所述目标提供端的媒体流迁移至所述目标媒体流服务节点。
第五方面,本发明提供一种电子设备,包括:处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述媒体流迁移方法。
第六方面,本发明提供一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述媒体流迁移方法。
在本发明实施例中,通过媒体流处理系统中的协调服务端,接收媒体流处理系统中媒体流服务节点上报的状态表征信息,并根据状态表征信息对媒体流服务节点进行状态识别。在识别到媒体流服务节点出现异常的情况下,根据媒体流服务节点的目标提供端的接入位置信息,从其他媒体流服务节点中为目标提供端选择服务节点,作为目标媒体流服务节点;目标提供端包括向媒体流服务节点推送媒体流的媒体流提供端。将目标提供端的媒体流迁移至目标媒体流服务节点。这样,通过在媒体流处理系统中引入协调服务端,由协调服务端主动对媒体流服务节点进行异常识别,在识别到媒体流服务节点出现异常的情况下,自动将之前推送给该出现异常的媒体流服务节点的媒体流迁移至目标媒体流服务节点,进而避免由于该媒体流服务节点出现异常,无法正常对推送过来的媒体流进行处理,进而导致媒体流处理系统出现无法稳定的为用户提供媒体流的问题,从而一定程度上使媒体流处理系统能够稳定的为用户提供媒体流。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种媒体流迁移方法的步骤流程图;
图2是本发明实施例提供的一种场景示意图;
图3是本发明实施例提供的一种注册过程示意图;
图4本发明实施例提供的一种设备心跳处理过程示意图;
图5是本发明实施例提供的一种协调服务的工作示意图;
图6是本发明实施例提供的一种协调服务的流管理示意图;
图7是本发明实施例提供的一种交互流程图;
图8是本发明实施例提供的另一种媒体流迁移方法的步骤流程图;
图9是本发明实施例提供的一种媒体流处理系统的框图;
图10是本发明实施例提供的一种媒体流迁移装置的结构图;
图11是本发明实施例提供的一种电子设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例提供的一种媒体流迁移方法的步骤流程图,该方法可以应用于媒体流处理系统中的协调服务端,如图1所示,该方法可以包括:
步骤101、接收所述媒体流处理系统中媒体流服务节点上报的状态表征信息,并根据所述状态表征信息对所述媒体流服务节点进行状态识别。
本发明实施例中,协调服务端可以是在媒体流处理系统中新增加的服务集群。媒体流可以具体是视频流、音频流等等。媒体流服务节点可以属于媒体流处理系统中的媒体流分布式集群,一个媒体流服务节点可以对应媒体流分布式集群中的一个媒体流服务。媒体流处理系统中可以包括部署在不同地区的多个媒体流分布式集群,这多个媒体流分布式集群可以组成媒体流节点集群。其中,媒体流服务也可以称为流媒体服务,媒体流分布式集群也可以称为流媒体分布式集群,媒体流节点集群也可以称为流媒体节点集群。
进一步地,状态表征信息可以是与媒体流服务节点预先约定好的,需要媒体流服务节点上报的信息。状态表征信息可以用于表征媒体流服务节点当前的状态。相应地,协调服务端可以根据接收到的状态表征信息对媒体流服务节点进行状态识别,以确定媒体流服务节点是否出现异常。具体的,媒体流处理系统会包括多个媒体流服务节点,每个媒体流服务节点均可以上报的状态表征信息,相应地,协调服务端根据各个媒体流服务节点上报的状态表征信息,对各个媒体流服务节点分别进行状态识别。
步骤102、在识别到所述媒体流服务节点出现异常的情况下,根据所述媒体流服务节点的目标提供端的接入位置信息,从其他媒体流服务节点中为所述目标提供端选择服务节点,作为目标媒体流服务节点;所述目标提供端包括向所述媒体流服务节点推送媒体流的媒体流提供端。
本发明实施例中,如果媒体流服务节点出现异常则可以确定该媒体流服务节点无法正常对推送过来的媒体流进行处理,即,该媒体流服务节点无法正常将推送过来的媒体流分发给接收端,即,分发给用户端。如果继续由该媒体流服务节点与目标提供端对接,负责目标提供端的媒体流,会导致目标提供端推送的媒体流无法正常稳定的分发给用户,使得媒体流处理系统出现无法稳定的为用户提供媒体流的问题。因此,本步骤中,可以根据媒体流服务节点的目标提供端的接入位置信息,从其他媒体流服务节点中重新为目标提供端选择服务节点,作为目标媒体流服务节点,以在后续进行媒体流迁移。其中,接入位置信息可以表征该目标提供端的接入位置,这样,基于目标提供端的接入位置信息为目标提供端重新选择媒体流服务节点,一定程度上可以确保所选择的目标媒体流服务节点的合理性。
步骤103、将所述目标提供端的媒体流迁移至所述目标媒体流服务节点。
具体的,可以向目标提供端下发控制指令,以控制目标提供端将媒体流推送至目标媒体流服务节点,进而实现将目标提供端的媒体流迁移至目标媒体流服务节点。
需要说明的是,本发明实施例中的协调服务集群可以包括多个协调服务,这多个协调服务可以分布式部署。相应地,各个协调服务可以分别负责处理不同媒体流服务节点上报的状态表征信息,例如,假设有1000个媒体流服务节点,10个协调服务,那么每个协调服务可以负责处理其中100个媒体流服务节点上报的状态表征信息。也就是说,各个协调服务可以基于各自接收到的媒体流服务节点上报的状态表征信息,针对各自负责的媒体流服务节点进行状态识别,以在识别到各自负责的媒体流服务节点出现异常的情况下,为该媒体流服务节点的目标提供端选择目标媒体流服务节点,并控制对目标提供端的媒体流进行迁移。
综上所述,本发明实施例提供的媒体流迁移方法,通过媒体流处理系统中的协调服务端,接收媒体流处理系统中媒体流服务节点上报的状态表征信息,并根据状态表征信息对媒体流服务节点进行状态识别。在识别到媒体流服务节点出现异常的情况下,根据媒体流服务节点的目标提供端的接入位置信息,从其他媒体流服务节点中为目标提供端选择服务节点,作为目标媒体流服务节点;目标提供端包括向媒体流服务节点推送媒体流的媒体流提供端。将目标提供端的媒体流迁移至目标媒体流服务节点。这样,通过在媒体流处理系统中引入协调服务端,由协调服务端主动对媒体流服务节点进行异常识别,在识别到媒体流服务节点出现异常的情况下,自动将之前推送给该出现异常的媒体流服务节点的媒体流迁移至目标媒体流服务节点,进而避免由于该媒体流服务节点出现异常,无法正常对推送过来的媒体流进行处理,进而导致媒体流处理系统出现无法稳定的为用户提供媒体流的问题,从而一定程度上使媒体流处理系统能够稳定的为用户提供媒体流。
可选地,本发明实施例中还可以执行下述步骤:
步骤A1、接收所述媒体流服务节点发送的节点注册请求。
步骤A2、响应于所述节点注册请求,对所述媒体流服务节点进行注册,以和所述媒体流服务节点建立长连接。
针对上述步骤A1~步骤A2,这两个步骤可以是在接收媒体流处理系统中媒体流服务节点上报的状态表征信息之前执行的。和媒体流服务节点之间建立的长连接,可以具体是传输控制协议(Transmission Control Protocol,TCP)长连接。节点注册请求可以具体是媒体流服务节点启动时发送的,媒体流处理系统中的每个媒体流服务节点可以在启动时向协调服务端发送节点注册请求,以发起注册。协调服务端在接收到媒体流服务节点发送的节点注册请求之后,根据该节点注册请求中携带的媒体流服务节点的节点相关信息进行注册。示例性地,节点相关信息可以包括媒体流服务节点的节点标识以及向该媒体流服务节点推送媒体流的媒体流提供端的设备标识。协调服务端可以将节点相关信息中的节点标识以及设备标识对应存储,例如,对应存储至数据库中,以实现注册。当然,注册操作可以根据实际需求设定,示例性地,注册操作还可以包括对该协调服务端进行鉴权,在该协调服务端通过鉴权的情况下,确认注册成功,进而可以将节点相关信息中的节点标识以及设备标识对应存储,并与该媒体流服务节点建立TCP长连接。在一种实现方式中,可以通过握手建立TCP连接,并保持该TCP连接,以实现建立TCP长连接。其中,在该TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,双方可以发检测包以维持此连接。
相应地,上述接收所述媒体流处理系统中媒体流服务节点上报的状态表征信息的操作,可以包括:接收所述媒体流服务节点基于所述长连接上报的状态表征信息。具体的,媒体流服务节点可以在长连接建立之后,通过该长连接直接向该协调服务端发送状态表征信息。
本发明实施例中,通过响应于媒体流服务节点发送的节点注册请求,对媒体流服务节点进行注册,和媒体流服务节点建立长连接。协调服务端接收媒体流服务节点基于长连接上报的状态表征信息。也就是说,上报的状态表征信息时,媒体流服务节点可以直接基于长连接上报的状态表征信息,进而一定程度上提高状态表征信息的上报效率,从而提高整理处理效率。
可选地,本发明实施例中,上述状态表征信息可以包括节点心跳信息以及运行参数。上述根据所述状态表征信息对所述媒体流服务节点进行状态识别的步骤,具体可以包括:
步骤1011、在所述节点心跳信息的上报间隔大于预设阈值和/或所述运行参数超出指定参数范围的情况下,确定识别到所述媒体流服务节点出现异常。
本步骤中,可以在出现节点心跳信息的上报间隔大于预设阈值的情况下,就确定识别到媒体流服务节点出现异常,或者,在运行参数超出指定参数范围的情况下就确定识别到媒体流服务节点出现异常。又或者,在出现节点心跳信息的上报间隔大于预设阈值且运行参数超出指定参数范围的情况下,才确定识别到媒体流服务节点出现异常。即,媒体流服务节点需要满足:节点心跳信息的上报间隔大于预设阈值以及运行参数超出指定参数范围中的至少一个条件时,才确定该媒体流服务节点出现异常。
进一步地,节点心跳信息以及运行参数信息可以是基于前述建立的TCP长连接上报的。TCP长连接作为上报通道,使得媒体流服务节点可以便捷的上报节点心跳信息以及运行参数信息。其中,媒体流服务节点可以按照预设上报周期周期性上报节点心跳信息,预设阈值可以是一个预设上报周期的时长。相应地,如果媒体流服务节点的节点心跳信息的上报间隔大于预设阈值,则可以确定节点心跳信息的上报操作超出一个预设上报周期,媒体流服务节点未能正常上报节点心跳,TCP长连接被主动断开或者异常断开。因此,可以确定该媒体流服务节点出现异常。
进一步地,运行参数可以用于表征该媒体流服务节点的健康程度,运行参数信息也可以称为健康信息。指定参数范围可以是健康状态下运行参数所属的参数范围。如果运行参数超出指定参数范围,则可以确定该媒体流服务节点出现异常。其中,运行参数可以包含在媒体流服务节点发送的心跳中。
相应地,本发明实施例中还可以执行下述步骤:
步骤B1、在所述节点心跳信息的上报间隔大于所述预设阈值的情况下,将所有向所述媒体流服务节点推送媒体流的媒体流提供端确定为所述目标提供端。
步骤B2、在所述运行参数超出所述指定参数范围的情况下,从所有向所述媒体流服务节点推送媒体流的媒体流提供端中选择部分媒体流提供端,作为所述目标提供端。
针对上述步骤B1~步骤B2,可以在从其他媒体流服务节点中为目标提供端选择服务节点之前执行。具体的,如果媒体流服务节点出现了节点心跳信息的上报间隔大于所述预设阈值的问题,则可以确定该媒体流服务节点无法处理媒体流,因此,可以将当前所有向该媒体流服务节点推送媒体流的媒体流提供端确定为目标提供端,使得协调服务端可以基于主动异常处理逻辑,主动将该媒体流服务节点下所有媒体流迁移至其他健康运行的媒体流服务节点。需要说明的是,一个媒体流服务节点可能同时出现节点心跳信息的上报间隔大于预设阈值以及运行参数超出指定参数范围的情况下,由于此时节点心跳信息的上报间隔大于预设阈值,因此,可以将所有向媒体流服务节点推送媒体流的媒体流提供端确定为目标提供端。
如果媒体流服务节点仅是出现运行参数超出所述指定参数范围的问题,则可以确定该媒体流服务节点还能承担部分媒体流,因此,可以所有向该媒体流服务节点推送媒体流的媒体流提供端中选择部分媒体流提供端,作为目标提供端。其中,运行参数可以包括中央处理器(CPU)的使用率、内存使用率。CPU使用率可以表征服务自身CPU负载信息、内存使用率可以表征服务自身内存负载信息。当然,还可以包括其他信息,例如,还可以包括负载率、媒体流负载信息(例如,当前已经负载的媒体流数量或者流量)。如果这些参数达到对应的告警阈值,即,超出对应的定参数范围,那么协调服务端可以基于主动异常处理逻辑,主动迁移部分媒体流提供端至其他健康媒体流服务节点。
具体的,可以随机选择部分媒体流提供端作为目标提供端,或者,采用预设算法进行选择,本发明实施例对此不作限制。例如,可以随机选择指定比例的媒体流提供端作为目标提供端。其中,指定比例可以根据实际需求设置,例如,指定比例可以为30%、40%或者50%等等。或者,也可以随机选择媒体流提供端作为目标提供端,只至剩余的媒体流为该媒体流服务节点造成的负载降低至可承受范围内,该媒体流服务节点的运行参数落入指定参数范围内为止。
本发明实施例中,在节点心跳信息的上报间隔大于预设阈值和/或运行参数超出指定参数范围的情况下,确定识别到媒体流服务节点出现异常,进而一定程度上确保异常监测效率。相应地,在节点心跳信息的上报间隔大于预设阈值的情况下,将所有向媒体流服务节点推送媒体流的媒体流提供端确定为目标提供端。在运行参数超出指定参数范围的情况下,从所有向媒体流服务节点推送媒体流的媒体流提供端中选择部分媒体流提供端,作为目标提供端。这样,通过针对性的确定目标提供端,一定程度上可以在通过迁移确保媒体流处理系统能够稳定的为用户提供媒体流的同时,尽可能减少迁移的工作量。
可选地,上述根据所述媒体流服务节点的目标提供端的接入位置信息,从其他媒体流服务节点中为所述目标提供端选择服务节点,作为目标媒体流服务节点的步骤,具体可以包括:
步骤1021、确定待选区域;所述待选区域与所述接入位置信息所表征的接入位置之间的距离符合预设要求。
步骤1022、将位于所述至少一个待选区域的其他媒体流服务节点作为待选服务节点,根据所述待选服务节点的当前负载信息,从所述待选服务节点中选择所述目标媒体流服务节点。
针对上述步骤1021~步骤1022,可以通过就近可用服务查询确定待选区域。具体的,可以确定该接入位置信息所表征的接入位置与各个可用区域之间的距离,将距离最小的前M个可用区域作为待选区域。例如,M可以为3,或者5等等。或者,距离小于预设距离阈值的可用区域作为待选区域。其中,可用区域可以是部署有媒体流处理系统中的媒体流服务节点的区域,M以及预设距离阈值的具体值可以根据实际需求设置,本发明实施例对此不作限制。又或者,可以预先将与接入位置信息所表征的接入位置之间的距离符合预设要求的待选区域加入候选列表。本步骤中,可以直接获取该出现异常的媒体流服务节点的候选列表,将该候选列表中记载的区域作为待选区域。
进一步地,这些待选区域中除该出现异常的媒体流服务节点之外的媒体流服务节点,即为待选服务节点。待选服务节点的当前负载信息可以是待选服务节点上报的状态表征信息中携带的信息。
本发明实施例中,将与接入位置信息所表征的接入位置之间的距离符合预设要求的区域作为待选区域,从位于至少一个待选区域的待选服务节点中,根据待选服务节点的当前负载信息从待选服务节点中选择目标媒体流服务节点。这样,一定程度上可以避免所选择的目标媒体流服务节点距离目标提供端过远,进而导致媒体流推送效率较低的问题。
可选地,上述根据所述待选服务节点的当前负载信息,从所述待选服务节点中选择所述目标媒体流服务节点的步骤,具体可以包括:
步骤10221、将距离最小的待选区域作为目标区域,若所述目标区域中存在当前负载信息与所述目标提供端所提供的媒体流相匹配的待选服务节点,则将所述当前负载信息与所述目标提供端所提供的媒体流相匹配的待选服务节点,确定为所述目标媒体流服务节点。
步骤10222、若所述目标区域中不存在当前负载信息与所述目标提供端所提供的媒体流相匹配的待选服务节点,则将所述目标区域更新为剩余待选区域中距离最小的待选区域,直至确定出所述目标媒体流服务节点。
针对上述步骤10221~步骤10222,可以按照距离由近至远的顺序对待选区域进行检测,以确定该待选区域中是否存在当前负载信息与目标提供端所提供的媒体流相匹配的待选服务节点。其中,当前负载信息可以是待选服务节点当前已经负载的媒体流数量或者流量,当前已经负载的媒体流指的推送给该待选服务节点的媒体流。如果该待选服务节点可负载的最大数量与当前已经负载的媒体流数量之间的差值不小于目标提供端所提供的媒体流数量,和/或,该待选服务节点可负载的最大流量与当前已经负载的媒体流流量之间的差值不小于目标提供端所提供的媒体流总流量,则可以确定该待选服务节点的当前负载信息与该目标提供端所提供的媒体流相匹配,以避免所选择的目标媒体流服务节点无法正常对迁移过来的媒体流进行处理。相应地,则可以将该当前负载信息与该目标提供端所提供的媒体流相匹配的待选服务节点,作为该目标提供端的目标媒体流服务节点。其中,不同目标提供端的目标媒体流服务节点可能相同,也可以不相同。也就是说,可以存在多个目标媒体流服务节点,每个目标媒体流服务节点对接部分目标提供端。或者,也可以是直接选择一个可以容纳所有目标提供端的所有媒体流的待选服务节点作为目标媒体流服务节点,所有目标提供端的目标媒体流服务节点相同。例如,选择可负载的最大数量与当前已经负载的媒体流数量之间的差值不小于所有目标提供端所提供的所有媒体流的数量之和,和/或,该待选服务节点可负载的最大流量与当前已经负载的媒体流流量之间的差值不小于所有目标提供端所提供的所有媒体流的流量之和的待选服务节点作为目标媒体流服务节点
反之,如果该待选服务节点可负载的最大数量与当前已经负载的媒体流数量之间的差值小于目标提供端所提供的媒体流数量,和/或,该待选服务节点可负载的最大流量与当前已经负载的媒体流流量之间的差值小于目标提供端所提供的媒体流总流量,则可以确定不相匹配。相应地,可以将未被作为过目标区域的待选区域中与接入位置之间的距离最小的待选区域,作为新的目标区域,以重新执行若所述目标区域中存在当前负载信息与所述目标提供端所提供的媒体流相匹配的待选服务节点,则将所述当前负载信息与所述目标提供端所提供的媒体流相匹配的待选服务节点,确定为所述目标媒体流服务节点的步骤,直至为该目标提供端确定出目标媒体流服务节点为止。相应地,在确定出该目标提供端的目标媒体流服务之后,可以继续为剩余的目标提供端确定目标媒体流服务。这样,按照实际接入地区,按照接入地区就近分配接入媒体流服务,一定程度上可以保证原流量的可靠迁移。
需要说明的是,距离最远的待选区域中的待选服务节点可以是专门用于接收迁移的媒体流服务节点,以确保最终能为目标提供端确定出目标媒体流服务节点,确保迁移操作可以顺利进行。或者,也可以在按照就近接入地从待选服务节点未选择出目标媒体流服务节点的情况下,全局查询可用节点,即,从媒体流处理系统中位于待选区域之外的其他媒体流服务节点中选择目标媒体流服务节点。本发明实施例中,还可以定期按照接入距离对媒体流进行迁移,以尽可能将媒体流迁移至距离媒体流提供端的接入位置更近的媒体流服务节点。
本发明实施例中,先将距离最小的待选区域作为目标区域,在目标区域中存在当前负载信息与目标提供端所提供的媒体流相匹配的待选服务节点的情况下,将当前负载信息与目标提供端所提供的媒体流相匹配的待选服务节点,确定为目标媒体流服务节点。在不存在的情况下,继续将目标区域更新为剩余待选区域中距离最小的待选区域,直至确定出目标媒体流服务节点。这样,按照与接入位置之间的距离从待选区域中顺序选择目标媒体流服务节点,一定程度上可以在兼顾待选服务节点的负载,确保所选择的目标媒体流服务节点能够正常对迁移过来的媒体流进行处理的同时,尽可能为目标提供端选择距离较近的目标媒体流服务节点。
可选地,上述将所述目标提供端的媒体流迁移至所述目标媒体流服务节点的步骤,具体可以包括:
步骤1031、根据预设的信令服务节点与媒体流提供端之间的对应关系,查找所述目标提供端对应的信令服务节点,作为目标信令服务节点。
步骤1032、基于所述目标信令服务节点向所述目标提供端转发目标推流指令,以进行媒体流迁移;所述目标推流指令用于指示所述目标提供端将媒体流推送至所述目标媒体流服务节点。
针对上述步骤1031~步骤1032,信令服务节点可以属于信息服务集群,一个信令服务节点可以对应信令服务集群中的一个信令服务。信令服务可以是基于会话初始协议(SIP)的信令服务,即,信令服务集群中可以包括多个SIP信令服务。媒体流提供端与协调服务端进行交互时,两者之间传输的数据可以通过信令服务节点进行转发。每个信令服务节点可以对应部分媒体流提供端,每个信令服务节点负责转发对应的媒体流提供端的数据。其中,媒体流提供端对应的信令服务节点与该媒体流提供端建立有连接,因此,通过查找目标提供端对应的目标信令服务节点,基于该目标信令服务节点向目标提供端转发目标推流指令,一定程度上可以提高指令传输效率。示例性地,以媒体流提供端为高清网络摄像机(IP CAMERA,IPC)为例。图2是本发明实施例提供的一种场景示意图,如图2所示,媒体流处理系统中的IPC可以通过Nginx服务以及信令服务集群进行信令转发,来和协调服务集群之间传递超文本传输协议(Hyper Text Transfer Protocol,HTTP)请求。IPC还可以向媒体流节点集群进行推送媒体流。可以和协调服务集群保持TCP心跳,即,上报节点心跳信息。协调服务集群可以与媒体流节点集群基于HTTP请求进行交互,以进行控制。IPC、信令服务集群、协调服务集群以及媒体流节点集群彼此之间可以进行交互,以实现媒体流迁移。其中,TCP心跳的报文整体结构可以包括消息头、消息体以及数据校验。其中,消息头可以包括帧起始字符、协议版本号、是否加密、媒体服务(media Server)ID长度/media Server ID值以及数据包长度。消息体可以包括媒体服务业务数据长度、媒体流负载数据长度、媒体流负载数据、CPU负载数据长度、内存负载数据长度、媒体服务内存负载数据。数据校验可以包括参数模型(例如,CRC32)以及帧结束符。
协调服务端可以将目标推流指令发送给目标信令服务节点,由目标信令服务节点将目标推流指令发送给目标提供端。具体的,对应关系中可以具体记录的是信令服务节点的节点信息与媒体流提供端的设备信息之间的对应关系。协调服务端可以基于该对应关系中记录的目标信令服务节点的节点信息,向目标信令服务节点发送携带目标提供端的设备信息的目标推流指令,使得目标信令服务节点可以基于目标提供端的设备信息定位目标提供端,并基于与目标提供端之间的连接,将目标推流指令发送给目标信令服务节点。具体实施时,可以先将目标断流指令发送给目标信令服务节点,由目标信令服务节点将目标断流指令发送给目标提供端,所该目标断流指令用于指示目标提供端停止向识别出存在异常的媒体流服务节点推送媒体流。进一步地,在停止推送媒体流之后,再基于目标信令服务节点向目标提供端转发目标推流指令。
本发明实施例中,根据预设的信令服务节点与媒体流提供端之间的对应关系,查找目标提供端对应的目标信令服务节点。基于目标信令服务节点向目标提供端转发用于指示目标提供端向目标媒体流服务节点推送媒体流的目标推流指令,这样,一定程度上可以确保目标推流指令能够顺利的转发给目标提供端,进而确保媒体流迁移能够顺利完成。
可选地,本发明实施例中还可以包括下述步骤,以实现创建上述信令服务节点与媒体流提供端之间的对应关系:
步骤C1、获取所述媒体流处理系统中媒体流提供端的设备信息以及为所述媒体流提供端进行注册的信令服务节点的节点信息。
步骤C2、根据所述设备信息以及所述节点信息建立所述对应关系。
针对上述步骤C1~C2,媒体流提供端可以生成设备注册请求并发送给信令服务节点,以进行设备注册。每个媒体流提供端可以在启动时发送设备注册请求。协调服务端可以对媒体流处理系统中的媒体流提供端查询该媒体流提供端的设备信息,以及对该媒体流提供端进行注册的信令服务节点的节点信息。其中,设备信息可以包括IP地址、端口(PORT)信息以及设备ID。节点信息可以包括IP地址。进一步地,节点信息还可以包括端口(PORT)信息。其中,媒体流提供端可以是符合指定协议标准的设备,例如,符合GB28181的设备。
示例性地,针对任一已注册的媒体流提供端,可以将该已注册的媒体流提供端的设备信息作为键名(Key),为该媒体流提供端进行注册的信令服务节点的节点信息作为键值(Value),以键值对(Key-Value)的形式对应存储至数据库中,进而得到上述对应关系。其中,该数据库可以为Redis数据库,其中键值对(Key-Value)中的Key可以为:Redis Key:DEVICE#IP#PORT#设备ID,RedisValue:SIP IP+SIPPORT。“DEVICE”表示Key为设备的相关信息。
以媒体流提供端为IPC为例,图3是本发明实施例提供的一种注册过程示意图,如图3所示,IPC设备可以先发起设备注册,通过Nginx服务进行用户数据报协议(UserDatagram Protocol,UDP)报文转发,以将设备注册请求发送给SIP信令服务。其中,SIP信令服务可以包括SIP集群处理单元,SIP信令服务即为信令服务节点。具体的,SIP信令服务可以基于JAIN-SIP框架进行UDP端口监听。在监听到设备注册请求之后,进行XML解析,并在解析之后,按照监听到的报文类型转发至设备注册模块中进行处理。具体的,可以进行设备鉴权,查询设备信息是否存在。本发明实施例中,在对媒体流提供端进行注册时,可以是对媒体流提供端进行鉴权,在设备注册完成之后,可以建立负责对该媒体流提供端进行鉴权的信令服务节点与媒体流提供端之间的对应关系,保存该媒体流提供端与该的信息至Redis服务器。因此,处理逻辑可以包括:如果设备信息存在且合法,则可以确定注册成功。设备注册成功后,维护设备与SIP信令服务集群关系,方便后续协调服务开启直播、取消直播、消息订阅、云台控制等下行请求下发。反之,若设备信息不存在或不合法,则设备注册失败,可以返回失败信息至设备,以使设备按照策略重新发起注册。其中,设备即为媒体流提供端。查询设备信息时SIP信令服务发送的信息的报文头中可以包括SIP IP,以便于协调服务基于Redis服务器进行设备信息查询以及返回设备信息是否存在。其中,Redis服务器可以包括有媒体流提供端与信令服务节点之间的对应关系,例如,可以包括:“Device1:SIP1;Device2:SIP2;Device3:SIP1;Device4:SIP3;……”。若设备信息不存在或不合法,则设备注册失败。
进一步地,SIP信令服务可以根据返回信息拼装XML,返回注册成功或失败。最后,基于JAIN-SIP以及源端口返回,将表征注册成功或失败的信息返回给IPC。
本发明实施例中,通过获取媒体流处理系统中媒体流提供端的设备信息以及为媒体流提供端进行注册的信令服务节点的节点信息,根据设备信息以及节点信息建立对应关系,由于为媒体流提供端进行注册的信令服务节点往往是负责为该媒体流提供端进行信息转发的信令服务节点,因此,一定程度上可以确保所建立对应关系的准确性。
需要说明的是,协调服务端还可以根据媒体流提供端的设备心跳,定期更新维护对应关系,以确保对应关系的准确性。具体的,可以在媒体流提供端上报设备心跳的情况下,获取该媒体流提供端所使用的SIP信令服务的节点信息,并基于新获取到的SIP信令服务的节点信息,更新对应关系中该媒体流提供端的设备信息对应的节点信息。
本发明实施例中,设备心跳上报后,协调服务会按照设备注册信息,实时维护设备与SIP信令服务关系,该关系可以帮助协调服务定位设备信令目前处于某一台SIP信令服务,用于下行请求下发。图4本发明实施例提供的一种设备心跳处理过程示意图,如图4所示,IPC设备可以先发起设备心跳,通过Nginx服务进行UDP报文转发,以将设备心跳信息发送给SIP信令服务。SIP信令服务可以基于JAIN-SIP框架进行UDP端口监听。在监听到设备心跳信息之后,进行XML解析,并在解析之后,按照监听到的报文类型转发至设备心跳维护模块中进行处理。具体的,可以查询设备是否注册。如果设备已注册且该心跳合法,则可以更新对应关系。反之,则确定心跳不合法,设备可以重新发起注册。其中,协调服务查询设备是否注册可以包括从Redis数据库中查询设备注册信息,并返回设备注册信息。如果查询到,则返回的设备注册信息不为空,那么可以确定心跳合法,进而可以返回心跳合法,例如,“200OK”指令。否则如果未查询到,则返回的设备注册信息为空,那么可以确定心跳不合法。
进一步地,SIP信令服务可以按照返回信息拼装XML,返回心跳合法或心跳不合法。最后,基于JAIN-SIP以及源端口返回,将表征心跳是否合法的信息返回给IPC。
需要说明的是,在进行媒体流迁移之后,协调服务可以进行流监测,若监测到迁移成功,则本次迁移流程完成。若监测到失败,则重新选择目标媒体流服务节点。具体的,目标提供端可以将测试包发送给目标媒体流服务节点,目标媒体流服务节点可以在接收到新的流媒体包之后,开始流监测,并将监测情况上报给协调服务。协调服务可以基于接收到的监测情况确定是否监测成功。示例性地,监测情况可以包括流媒体包正常以及流媒体包异常。如果流媒体包则确定监测到成功,若流媒体包异常则确定监测到失败。
进一步地,协调者集群可以负责所有媒体流集群管理,媒体流集群可以负责媒体流的接受、转封装、转码、分发。协调服务只作为计算节点,不作为数据节点,所有数据保存于redis集群,同时与各个媒体流服务节点保持TCP长连接,用于集群异常处理与故障恢复,协调者集群由多个协调服务组成。协调服务的工作逻辑可以包括:设备注册、设备心跳时,实时维护设备与信令网关关系。媒体流服务节点注册、心跳,实时维护媒体流负载详情、健康检查情况、流监测情况;服务异常主动上报,主动发现异常服务、异常流,主动恢复业务。示例性地,图5是本发明实施例提供的一种协调服务的工作示意图,如图5所示,协调服务可以基于Redis集群配合完成设备鉴权以及设备心跳维护。以及,基于HTTP请求对媒体流服务以及IPC进行管理。其中,HTTP请求中的上行消息可以用于上报,下行消息可以用于下发。“获取设备所在SIP服务器”可以具体指的是确定目标信令服务节点、“服务管理”可以包括重启、恢复等操作。“服务负载量上报以及服务健康情况上报”可以具体指的是上报运行参数以及负载信息。
进一步地,图6是本发明实施例提供的一种协调服务的流管理示意图,如图6所示,协调服务可以基于SIP信令服务,控制媒体流提供设备进行断流或拉流,与媒体流服务保持TCP心跳连接以及发送HTTP请求。例如,媒体流服务可以基于HTTP请求返回流监测情况。媒体流服务还可以进行媒体流注册,协调服务中的媒体模块可以返回注册成功或失败,相应地,注册成功时可以建立TCP长连接。注册成功的媒体流服务还可以发送媒体流心跳给心跳模块,该媒体流心跳中可以包括负载信息、CPU、内存等信息,即,上述状态表征信息。其中,心跳模块还可以进行媒体流心跳信息处理,心跳队列比对,差异设备断开直播流或重新拉取直播流。在TCP连接断开、CPU告警、内存告警的情况下,协调服务中的主动异常处理模块可以进行异常处理。具体的,异常处理可以包括若TCP连接断开,则迁移所有流至其他媒体流服务;若CPU告警、内存告警,则迁移部分流至其他媒体流服务。协调服务中的轮询模块可以从Redis中获取所有存在流地址,进行流地址自查,查询流状态是否正常。如果流状态查询异常,则迁移至该异常流至其他媒体流服务。
可选地,本发明实施例中还可以包括下述步骤:
步骤D1、获取所述媒体流处理系统中各媒体流提供端的流地址。
步骤D2、在基于所述流地址检测到媒体流提供端所推送的媒体流出现异常的情况下,对所述媒体流进行迁移。
针对上述步骤D1~步骤D2,协调服务端可以针对体流处理系统中各媒体流提供端进行轮询。其中,流地址可以指的是媒体流提供端的地址。示例性地,假设媒体流提供端为IPC,在与IPC进行握手时,IPC会告知自己的流地址。每个IPC对应的IP地址可以存储在Redis数据库中。其中,IPC对应的IP地址可以是系统分配的,也可以是IPC基于系统分配的地址进行路由之后得到的。
进一步地,可以基于媒体流提供端的流地址,检测该媒体流提供端提供的媒体流是否出现异常,进行流地址自查。具体的,可以基于媒体流提供端的流地址在媒体流提供端的媒体流输出口,检测从该媒体流提供端拉流时是否可以检测到预设检测字。如果不可以,则可以确定该媒体流提供端所推送的媒体流出现异常。还可以进一步从媒体流服务节点中进行流状态查询,如果媒体流服务节点返回的流状态查询结果表征该媒体流提供端所推送的媒体流出现异常。具体的,可以获取该媒体流提供端所推送的媒体流所在链路的告警信息,如果成功获取到告警信息,则生成表征异常的流状态查询结果。否则生成表征正常的流状态查询结果。相应地,可以在流状态查询异常且不可以检测到预设检测字,再确定该媒体流提供端所推送的媒体流出现异常。反之,则可以确定未出现异常。
进一步地,对媒体流提供端所推送的媒体流出现异常的情况下,对该媒体流进行迁移。可以具体是为该路媒体流重新选择一个媒体流服务节点,并控制该媒体流提供端将该路媒体流推送至重新选择的媒体流服务节点。具体的控制方式可以参照前述相关描述,此处不再赘述。本发明实施例中,还可以触发该媒体流提供端进行重启,以尽可能在媒体流提供端存在问题的情况下,通过重启修复问题。如果重启失败,确认到该媒体流提供端出现故障,则可以进一步上报故障信息。
示例性地,可以基于流状态轮询模块主动轮询所有正在直播的媒体流,一旦发现某媒体流服务节点下某路媒体流不能直播,则迁移该路媒体流至其他媒体流服务节点。其中,轮询模块可以面向IPC进行管理,具体可以管理IPC到服务部署机房(媒体流网关部署的数据中心的机房)这段的链路,这段链路的流量可以通过城域网发送给网关,然后再进入云网络,进入云网络之后再经过数据中心内部传输汇聚交换到机房中的机柜。
本发明实施例中,通过获取媒体流处理系统中各媒体流提供端的流地址。在基于流地址检测到媒体流提供端所推送的媒体流出现异常的情况下,对媒体流进行迁移,可以进一步确保媒体流处理系统中的媒体流能够稳定的提供给用户,进而提高系统的稳定性。
可选地,本发明实施例中还可以包括下述步骤:步骤E1、周期性的检测各个媒体流服务节点的差异标签;如果检测到差异标签,则将所述差异标签关联的媒体流服务节点的媒体流断开。具体的,可以定期轮询,周期性的检测各个媒体流服务节点的差异标签。其中,差异标签可以是其他服务设置的,差异标签可以是根据媒体流服务节点的链路上的数据包传输情况设置,例如,可以在重传次数大于预设次数阈值、推流时的带宽、抖动存在异常或者所传输的画面黑屏等的情况下,为该媒体流服务节点设置差异标签。相应地,如果检测到差异标签,则将该差异标签关联的媒体流服务节点的媒体流断开。后续可以自动进行重连,或者是在用户需要,触发重连的情况下,再去重连。
示例性地,以直播流场景为例。在一种实现方式中,图7是本发明实施例提供的一种交互流程图,如图7所示,其中,设备表示媒体流提供端、信令网关表示信令服务节点、协调者表示协调服务、媒体服务器表示媒体流服务节点。其中,媒体流服务节点可以是按照不同用户地区分布,建设多地媒体流服务节点。协调服务可以部署在中心节点,信令服务以及媒体流服务可以部署在边缘节点。
具体的,协调者负责监管所有下挂媒体流服务节点的服务状态、流状态;负责上行数据接收,下行请求下发。为了实现媒体流服务状态监控可以进行服务状态上报,包含:CPU、内存等使用情况,服务心跳维护;视频流实时监测数据上报,异常流上报;实时流负载信息上报。协调者在发现异常的情况下,会主动迁移设备流至就近可用的媒体流服务。
具体的,设备进行设备注册以及设备心跳时,可以基于Nginx服务进行上行信令转发,基于Redis集群,进行设备注册信息维护以及保持设备、信令服务关系。媒体服务器可以向协调者进行服务注册、TCP心跳保持、负载、健康情况上报。协调者可以与Redis集群进行心跳保持,以及将媒体服务信息存储至Redis集群。协调者还可以在服务异常信息上报,即,媒体服务器上报的媒体服务信息表征该媒体服务器出现异常的情况下,查询异常服务下挂设备信息,得到Redis集群返回的设备列表。其中,该设备列表中记载有向该出现异常的媒体流服务推送媒体流的设备。接着,可以向这些设备下发断流请求,基于Nginx服务进行下行信令转发以断开设备流。接着,可以进行就近可用服务查询,得到Redis集群返回的服务信息。其中,该服务信息可以包括待选区域的信息。协调者可以基于服务信息确定目标媒体流服务节点,在确定出目标媒体流服务节点之后,下发直播请求(即,目标推流请求),以请求直播,控制设备推流至新流媒体,即,控制设备将媒体流推送给目标媒体流服务节点。这样,协调者通过与各方进行交互,控制设备断流以及重新推流,实现直播流迁移。
下面结合视频流场景进行说明,为了满足各类业务,需要保障平台稳定不间断运行。因此,本发明实施例中,原视频云平台基础上,创建视频流灵活迁移系统。基于JAIN-SIP建设分布式信令网关,信令服务与媒体流服务解耦,SIP信令服务只用于信令处理,不参与视频流的接收或者转发。媒体流服务用于接收、处理、转发设备发来的视频流,同时作为集群内媒体流处理模块被集群协调服务管理。
进一步地,通过引入协调者,且协调者不依赖其他组件,计算资源与数据资源解耦。协调者主动发现异常节点,主动迁移异常节点流,通过协调者在各媒体流服务节点间灵活调度媒体流,控制媒体流进行迁移,一定程度上可以确保整个媒体流处理系统平稳可靠运行,提高系统的可靠程度,进而保障业务平稳可靠的运行,降低人工运维成本。且可以从协调者获取全局服务、视频流运行情况,方便进行运维。
图8是本发明实施例提供的另一种媒体流迁移方法的步骤流程图,该方法可以应用于媒体流处理系统,该系统包括媒体流服务节点、协调服务端以及媒体流服务节点;如图8所示,该方法可以包括:
步骤201、所述媒体流服务节点向所述协调服务端上报状态表征信息;
步骤202、所述协调服务端根据所述状态表征信息对所述媒体流服务节点进行状态识别;
步骤203、所述协调服务端在识别到所述媒体流服务节点出现异常的情况下,根据所述媒体流服务节点的目标提供端的接入位置信息,从其他媒体流服务节点中为所述目标提供端选择服务节点,作为目标媒体流服务节点;所述目标提供端包括向所述媒体流服务节点推送媒体流的媒体流提供端;
步骤204、所述协调服务端将所述目标提供端的媒体流迁移至所述目标媒体流服务节点。
其中,各个步骤的实现方式以及所能达到的技术效果可以参照前述相应内容,此处不再赘述。
进一步地,图9是本发明实施例提供的一种媒体流处理系统的框图,该系统可以包括媒体流服务节点301、协调服务端302以及媒体流服务节点303。
其中,所述媒体流服务节点301,用于向所述协调服务端302上报状态表征信息;
所述协调服务端302,用于根据所述状态表征信息对所述媒体流服务节点303进行状态识别;
所述协调服务端302,还用于在识别到所述媒体流服务节点303出现异常的情况下,根据所述媒体流服务节点303的目标提供端的接入位置信息,从其他媒体流服务节点中为所述目标提供端选择服务节点,作为目标媒体流服务节点;所述目标提供端包括向所述媒体流服务节点推送媒体流的媒体流提供端;
所述协调服务端302,还用于将所述目标提供端的媒体流迁移至所述目标媒体流服务节点。
综上所述,本发明实施例提供的媒体流处理系统,通过媒体流处理系统中的协调服务端,接收媒体流处理系统中媒体流服务节点上报的状态表征信息,并根据状态表征信息对媒体流服务节点进行状态识别。在识别到媒体流服务节点出现异常的情况下,根据媒体流服务节点的目标提供端的接入位置信息,从其他媒体流服务节点中为目标提供端选择服务节点,作为目标媒体流服务节点;目标提供端包括向媒体流服务节点推送媒体流的媒体流提供端。将目标提供端的媒体流迁移至目标媒体流服务节点。这样,通过在媒体流处理系统中引入协调服务端,由协调服务端主动对媒体流服务节点进行异常识别,在识别到媒体流服务节点出现异常的情况下,自动将之前推送给该出现异常的媒体流服务节点的媒体流迁移至目标媒体流服务节点,进而避免由于该媒体流服务节点出现异常,无法正常对推送过来的媒体流进行处理,进而导致媒体流处理系统出现无法稳定的为用户提供媒体流的问题,从而一定程度上使媒体流处理系统能够稳定的为用户提供媒体流。
图10是本发明实施例提供的一种媒体流迁移装置的结构图,所述装置应用于媒体流处理系统中的协调服务端,该装置可以包括:
第一接收模块401,用于接收所述媒体流处理系统中媒体流服务节点上报的状态表征信息,并根据所述状态表征信息对所述媒体流服务节点进行状态识别;
选择模块402,用于在识别到所述媒体流服务节点出现异常的情况下,根据所述媒体流服务节点的目标提供端的接入位置信息,从其他媒体流服务节点中为所述目标提供端选择服务节点,作为目标媒体流服务节点;所述目标提供端包括向所述媒体流服务节点推送媒体流的媒体流提供端;
第一迁移模块403,用于将所述目标提供端的媒体流迁移至所述目标媒体流服务节点。
可选地,所述装置还包括:
第二接收模块,用于接收所述媒体流服务节点发送的节点注册请求;
注册模块,用于响应于所述节点注册请求,对所述媒体流服务节点进行注册,以和所述媒体流服务节点建立长连接;
所述第一接收模块401,具体用于:接收所述媒体流服务节点基于所述长连接上报的状态表征信息。
可选地,所述状态表征信息包括节点心跳信息以及运行参数;所述第一接收模块401,具体还用于:
在所述节点心跳信息的上报间隔大于预设阈值和/或所述运行参数超出指定参数范围的情况下,确定识别到所述媒体流服务节点出现异常;
所述装置还包括:
第一确定模块,用于在所述节点心跳信息的上报间隔大于所述预设阈值的情况下,将所有向所述媒体流服务节点推送媒体流的媒体流提供端确定为所述目标提供端;
第二确定模块,用于在所述运行参数超出所述指定参数范围的情况下,从所有向所述媒体流服务节点推送媒体流的媒体流提供端中选择部分媒体流提供端,作为所述目标提供端。
可选地,所述选择模块402,具体用于:
确定待选区域;所述待选区域与所述接入位置信息所表征的接入位置之间的距离符合预设要求;
将位于所述至少一个待选区域的其他媒体流服务节点作为待选服务节点,根据所述待选服务节点的当前负载信息,从所述待选服务节点中选择所述目标媒体流服务节点。
可选地,所述选择模块402,具体还用于:
将距离最小的待选区域作为目标区域,若所述目标区域中存在当前负载信息与所述目标提供端所提供的媒体流相匹配的待选服务节点,则将所述当前负载信息与所述目标提供端所提供的媒体流相匹配的待选服务节点,确定为所述目标媒体流服务节点;
若所述目标区域中不存在当前负载信息与所述目标提供端所提供的媒体流相匹配的待选服务节点,则将所述目标区域更新为剩余待选区域中距离最小的待选区域,直至确定出所述目标媒体流服务节点。
可选地,所述第一迁移模块403,具体用于:
根据预设的信令服务节点与媒体流提供端之间的对应关系,查找所述目标提供端对应的信令服务节点,作为目标信令服务节点;
基于所述目标信令服务节点向所述目标提供端转发目标推流指令,以进行媒体流迁移;所述目标推流指令用于指示所述目标提供端将媒体流推送至所述目标媒体流服务节点。
可选地,所述装置还包括:
第一获取模块,用于获取所述媒体流处理系统中媒体流提供端的设备信息以及为所述媒体流提供端进行注册的信令服务节点的节点信息;
建立模块,用于根据所述设备信息以及所述节点信息建立所述对应关系。
可选地,所述装置还包括:
第二获取模块,用于获取所述媒体流处理系统中各媒体流提供端的流地址;
第二迁移模块,用于在基于所述流地址检测到媒体流提供端所推送的媒体流出现异常的情况下,对所述媒体流进行迁移。
本发明还提供了一种电子设备,参见图11,包括:处理器901、存储器902以及存储在所述存储器上并可在所述处理器上运行的计算机程序9021,所述处理器执行所述程序时实现前述实施例的媒体流迁移方法。
本发明还提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述实施例的媒体流迁移方法。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,本发明实施例中获取的各种信息、数据,均是在得到信息/数据持有方授权的情况下获取的。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明的排序设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明所涉及的用户信息(包括但不限于用户的设备信息、用户个人信息等)、相关数据等均为经用户授权或经各方授权后的信息。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (13)

1.一种媒体流迁移方法,其特征在于,所述方法应用于媒体流处理系统中的协调服务端,所述方法包括:
接收所述媒体流处理系统中媒体流服务节点上报的状态表征信息,并根据所述状态表征信息对所述媒体流服务节点进行状态识别;
在识别到所述媒体流服务节点出现异常的情况下,根据所述媒体流服务节点的目标提供端的接入位置信息,从其他媒体流服务节点中为所述目标提供端选择服务节点,作为目标媒体流服务节点;所述目标提供端包括向所述媒体流服务节点推送媒体流的媒体流提供端;
将所述目标提供端的媒体流迁移至所述目标媒体流服务节点。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述媒体流服务节点发送的节点注册请求;
响应于所述节点注册请求,对所述媒体流服务节点进行注册,以和所述媒体流服务节点建立长连接;
所述接收所述媒体流处理系统中媒体流服务节点上报的状态表征信息,包括:接收所述媒体流服务节点基于所述长连接上报的状态表征信息。
3.根据权利要求1所述的方法,其特征在于,所述状态表征信息包括节点心跳信息以及运行参数;所述根据所述状态表征信息对所述媒体流服务节点进行状态识别,包括:
在所述节点心跳信息的上报间隔大于预设阈值和/或所述运行参数超出指定参数范围的情况下,确定识别到所述媒体流服务节点出现异常;
所述方法还包括:
在所述节点心跳信息的上报间隔大于所述预设阈值的情况下,将所有向所述媒体流服务节点推送媒体流的媒体流提供端确定为所述目标提供端;
在所述运行参数超出所述指定参数范围的情况下,从所有向所述媒体流服务节点推送媒体流的媒体流提供端中选择部分媒体流提供端,作为所述目标提供端。
4.根据权利要求1所述的方法,其特征在于,所述根据所述媒体流服务节点的目标提供端的接入位置信息,从其他媒体流服务节点中为所述目标提供端选择服务节点,作为目标媒体流服务节点,包括:
确定待选区域;所述待选区域与所述接入位置信息所表征的接入位置之间的距离符合预设要求;
将位于所述至少一个待选区域的其他媒体流服务节点作为待选服务节点,根据所述待选服务节点的当前负载信息,从所述待选服务节点中选择所述目标媒体流服务节点。
5.根据权利要求4所述的方法,其特征在于,所述根据所述待选服务节点的当前负载信息,从所述待选服务节点中选择所述目标媒体流服务节点,包括:
将距离最小的待选区域作为目标区域,若所述目标区域中存在当前负载信息与所述目标提供端所提供的媒体流相匹配的待选服务节点,则将所述当前负载信息与所述目标提供端所提供的媒体流相匹配的待选服务节点,确定为所述目标媒体流服务节点;
若所述目标区域中不存在当前负载信息与所述目标提供端所提供的媒体流相匹配的待选服务节点,则将所述目标区域更新为剩余待选区域中距离最小的待选区域,直至确定出所述目标媒体流服务节点。
6.根据权利要求1所述的方法,其特征在于,所述将所述目标提供端的媒体流迁移至所述目标媒体流服务节点,包括:
根据预设的信令服务节点与媒体流提供端之间的对应关系,查找所述目标提供端对应的信令服务节点,作为目标信令服务节点;
基于所述目标信令服务节点向所述目标提供端转发目标推流指令,以进行媒体流迁移;所述目标推流指令用于指示所述目标提供端将媒体流推送至所述目标媒体流服务节点。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
获取所述媒体流处理系统中媒体流提供端的设备信息以及为所述媒体流提供端进行注册的信令服务节点的节点信息;
根据所述设备信息以及所述节点信息建立所述对应关系。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述媒体流处理系统中各媒体流提供端的流地址;
在基于所述流地址检测到媒体流提供端所推送的媒体流出现异常的情况下,对所述媒体流进行迁移。
9.一种媒体流迁移方法,其特征在于,所述方法应用于媒体流处理系统,所述系统包括媒体流服务节点、协调服务端以及媒体流服务节点;所述方法包括:
所述媒体流服务节点向所述协调服务端上报状态表征信息;
所述协调服务端根据所述状态表征信息对所述媒体流服务节点进行状态识别;
所述协调服务端在识别到所述媒体流服务节点出现异常的情况下,根据所述媒体流服务节点的目标提供端的接入位置信息,从其他媒体流服务节点中为所述目标提供端选择服务节点,作为目标媒体流服务节点;所述目标提供端包括向所述媒体流服务节点推送媒体流的媒体流提供端;
所述协调服务端将所述目标提供端的媒体流迁移至所述目标媒体流服务节点。
10.一种媒体流迁移装置,其特征在于,所述装置应用于媒体流处理系统中的协调服务端,所述装置包括:
第一接收模块,用于接收所述媒体流处理系统中媒体流服务节点上报的状态表征信息,并根据所述状态表征信息对所述媒体流服务节点进行状态识别;
选择模块,用于在识别到所述媒体流服务节点出现异常的情况下,根据所述媒体流服务节点的目标提供端的接入位置信息,从其他媒体流服务节点中为所述目标提供端选择服务节点,作为目标媒体流服务节点;所述目标提供端包括向所述媒体流服务节点推送媒体流的媒体流提供端;
第一迁移模块,用于将所述目标提供端的媒体流迁移至所述目标媒体流服务节点。
11.一种媒体流处理系统,其特征在于,所述系统包括:媒体流服务节点、协调服务端以及媒体流服务节点;
所述媒体流服务节点,用于向所述协调服务端上报状态表征信息;
所述协调服务端,用于根据所述状态表征信息对所述媒体流服务节点进行状态识别;
所述协调服务端,还用于在识别到所述媒体流服务节点出现异常的情况下,根据所述媒体流服务节点的目标提供端的接入位置信息,从其他媒体流服务节点中为所述目标提供端选择服务节点,作为目标媒体流服务节点;所述目标提供端包括向所述媒体流服务节点推送媒体流的媒体流提供端;
所述协调服务端,还用于将所述目标提供端的媒体流迁移至所述目标媒体流服务节点。
12.一种电子设备,其特征在于,包括:
处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1-9中任一所述的方法。
13.一种可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行权利要求1-9中任一所述的方法。
CN202210964660.6A 2022-08-11 2022-08-11 媒体流迁移方法、装置、电子设备及存储介质 Pending CN115474079A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210964660.6A CN115474079A (zh) 2022-08-11 2022-08-11 媒体流迁移方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210964660.6A CN115474079A (zh) 2022-08-11 2022-08-11 媒体流迁移方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN115474079A true CN115474079A (zh) 2022-12-13

Family

ID=84366461

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210964660.6A Pending CN115474079A (zh) 2022-08-11 2022-08-11 媒体流迁移方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN115474079A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117389725A (zh) * 2023-10-12 2024-01-12 中科驭数(北京)科技有限公司 服务数据节点迁移方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101252546A (zh) * 2008-04-15 2008-08-27 中国科学技术大学 媒体流在线服务迁移的方法和装置
US20160227029A1 (en) * 2015-01-29 2016-08-04 Cisco Technology, Inc. Automatic Failover for Phone Recordings
CN106612312A (zh) * 2015-10-23 2017-05-03 中兴通讯股份有限公司 一种虚拟化数据中心调度系统和方法
CN108762924A (zh) * 2018-05-28 2018-11-06 郑州云海信息技术有限公司 一种负载均衡的方法、装置和计算机可读存储介质
CN110418154A (zh) * 2019-07-30 2019-11-05 腾讯科技(深圳)有限公司 一种多媒体数据推送方法、装置及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101252546A (zh) * 2008-04-15 2008-08-27 中国科学技术大学 媒体流在线服务迁移的方法和装置
US20160227029A1 (en) * 2015-01-29 2016-08-04 Cisco Technology, Inc. Automatic Failover for Phone Recordings
CN106612312A (zh) * 2015-10-23 2017-05-03 中兴通讯股份有限公司 一种虚拟化数据中心调度系统和方法
CN108762924A (zh) * 2018-05-28 2018-11-06 郑州云海信息技术有限公司 一种负载均衡的方法、装置和计算机可读存储介质
CN110418154A (zh) * 2019-07-30 2019-11-05 腾讯科技(深圳)有限公司 一种多媒体数据推送方法、装置及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117389725A (zh) * 2023-10-12 2024-01-12 中科驭数(北京)科技有限公司 服务数据节点迁移方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
US7630313B2 (en) Scheduled determination of network resource availability
US9477563B2 (en) Virtual application delivery chassis system
US11218382B2 (en) Quality of service monitoring method, device, and system
CN106060088B (zh) 一种服务管理方法及装置
CN110381162B (zh) 一种业务处理的方法以及相关装置
US9173006B2 (en) Method for live broadcasting in a distributed network and apparatus for the same
JP2004146973A (ja) ポリシ設定可能なピアツーピアセッション中継装置
CN111565404A (zh) 一种数据分流方法和装置
US20080091811A1 (en) Triggering bandwidth reservation and priority remarking
CN107204901A (zh) 提供证明服务
CN107645386B (zh) 一种获取数据资源的方法和装置
CN109729397A (zh) 一种推流方法、系统及服务器
JP2006279636A (ja) クライアント間通信ログの整合性保証管理システム
CN109525620B (zh) 一种消息推送系统、方法及装置
CN108833565A (zh) 一种监控服务器的方法、装置、服务器和存储介质
CN115474079A (zh) 媒体流迁移方法、装置、电子设备及存储介质
CN110995829B (zh) 实例调用方法、装置及计算机存储介质
CN108900603A (zh) 一种服务器发现方法、装置和系统
WO2014015525A1 (zh) 一种用户在线状态的查询方法和装置
CN110690990B (zh) 一种服务器升级的方法及装置、电子设备、存储介质
CN111781848A (zh) 一种基于智能家居设备的服务器连接方法、装置及系统
US9900230B2 (en) Dissemination of quality of service information in a distributed environment
CN108668152B (zh) 音视频交互方法、装置、管理设备及存储介质
CN115426413B (zh) 基于5g的边缘节点调度方法、装置、介质及设备
CN113778628B (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