[go: up one dir, main page]

CN109729397A - 一种推流方法、系统及服务器 - Google Patents

一种推流方法、系统及服务器 Download PDF

Info

Publication number
CN109729397A
CN109729397A CN201910088038.1A CN201910088038A CN109729397A CN 109729397 A CN109729397 A CN 109729397A CN 201910088038 A CN201910088038 A CN 201910088038A CN 109729397 A CN109729397 A CN 109729397A
Authority
CN
China
Prior art keywords
channel
request
flow
central node
server
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
CN201910088038.1A
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.)
Wangsu Science and Technology Co Ltd
Original Assignee
Wangsu Science and 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 Wangsu Science and Technology Co Ltd filed Critical Wangsu Science and Technology Co Ltd
Priority to CN201910088038.1A priority Critical patent/CN109729397A/zh
Priority to PCT/CN2019/077230 priority patent/WO2020155293A1/zh
Priority to EP19725834.6A priority patent/EP3709664B1/en
Publication of CN109729397A publication Critical patent/CN109729397A/zh
Priority to US16/439,537 priority patent/US11102319B2/en
Pending legal-status Critical Current

Links

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/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • 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/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • 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/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

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

Abstract

本发明公开了一种推流方法、系统及服务器,其中,所述推流方法包括:中心节点接收边缘节点转推的推流请求,判断所述推流请求是否对应存在已有频道;当判断结果为是时,所述中心节点向所述边缘节点发送提醒消息;或者,当判断结果为否时,所述中心节点为所述推流请求创建一频道,并接收与该频道对应的流媒体数据。本申请提供的技术方案,能够避免CDN内部流量消耗以及服务器资源浪费,提高推流效率。

Description

一种推流方法、系统及服务器
技术领域
本发明涉及互联网技术领域,特别涉及一种推流方法、系统及服务器。
背景技术
随着互联网的高速发展,众多互联网直播平台和手机直播App兴起,网络直播技术也不断改进。
目前流媒体服务器上采用的直播技术主要包括:主播利用推流器推送流媒体数据至内容分发网络(Content Delivery Network,CDN)中的边缘节点,所述边缘节点可以将接收到的流媒体数据转发给CDN中的中心节点,中心节点接收所述流媒体数据后,为该流媒体数据创建一个频道,而用户客户端采用拉流方式从所述CDN创建的频道获取所需的流媒体数据并进行播放。
在推流时,推流器通常采用实时消息传输(Real Time Messaging Protocol,RTMP)协议进行推流。在RTMP协议中,统一资源定位符(Uniform Resource Locator,URL)的格式通常为:rtmp://serveraddr:port/appName/appInstance,其中,rtmp为Real TimeMessaging Protocol的首字母简拼、serveraddr通常为流媒体服务器的域名或IP、port(即端口)通常使用1935、appName可以表示发布点或者应用流媒体服务的应用名称、appInstance可以表示流名称或流媒体应用实例的名称。可见,一个采用RTMP协议的URL可以唯一标识一流媒体服务器上的一个频道,一个推流器可以利用RTMP协议的URL为一个频道提供流媒体数据,而播放端可以利用RTMP协议的URL访问与该URL对应的频道以获取流媒体数据。
由于CDN中包含多个中心节点和多个边缘节点,当同一个URL的流媒体数据在同一时间被推送到多个边缘节点时,多个边缘节点可能都会分别向中心节点进行转推,中心节点将为最先接入的边缘节点的推流创建一个频道,并拒绝后接入的推流请求。而被拒绝的边缘节点被拒绝后将可能不断向中心节点尝试推流,造成CDN内部流量消耗和服务器资源浪费。因此,目前亟需一种避免服务器资源浪费的推流方法。
发明内容
本申请的目的在于提供一种推流方法、系统及服务器,能够避免CDN内部流量消耗以及服务器资源浪费,提高推流服务器的资源利用率。
为实现上述目的,本申请一方面提供一种推流方法,包括:中心节点接收边缘节点转推的推流请求,判断所述推流请求是否对应存在已有频道;
当判断结果为是时,所述中心节点向所述边缘节点发送提醒消息;或者,当判断结果为否时,所述中心节点为所述推流请求创建一频道,并接收与该频道对应的流媒体数据。
为实现上述目的,本申请另一方面提供一种推流方法,包括:边缘节点接收推流器发出的推流请求;所述边缘节点为一个或多个;所述边缘节点根据所述推流请求确定目标中心节点,以使所述一个或多个边缘节点中的所述推流请求对应相同的目标中心节点;所述边缘节点将所述推流请求转推至所述目标中心节点。
为实现上述目的,本申请另一方面提供一种推流系统,包括:至少一个中心节点服务器和至少一个边缘节点服务器;其中,
所述边缘节点服务器,用于接收推流器发出的推流请求,根据所述推流请求确定目标中心节点服务器,将所述推流请求转推至目标中心节点服务器;
所述中心节点服务器包括所述目标中心服务器,用于接收所述边缘节点服务器发出的所述推流请求,判断所述推流请求是否对应存在已有频道;当判断结果为是时,所述中心节点服务器还用于向所述边缘节点服务器发送提醒消息;或者,当判断结果为否时,所述中心节点服务器还用于为所述推流请求创建一频道,并接收与该频道对应的流媒体数据。
为实现上述目的,本申请另一方面还提供一种推流服务器,所述推流服务器为中心节点服务器,包括:
推流接收单元,用于接收边缘节点转推的推流请求;
判断单元,用于判断所述推流请求是否对应存在已有频道;
反馈或接收单元,用于当判断结果为是时,所述中心节点向所述边缘节点发送提醒消息;或者,当判断结果为否时,所述中心节点为所述推流请求创建一频道,并接收与该频道对应的流媒体数据。
为实现上述目的,本申请另一方面还提供一种推流服务器,所述推流服务器为边缘节点服务器,包括:
接收单元,用于接收推流器发出的推流请求;
目标中心节点确定单元,用于根据所述推流请求确定目标中心节点,以使一个所述推流请求对应相同的目标中心节点;
转推单元,用于将所述推流请求转推至所述目标中心节点。
为实现上述目的,本申请另一方面还提供所述管理服务器包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述中心节点或边缘节点执行的方法。
由上可见,本申请提供的技术方案,通过比较频道名是否一致,来判断推理请求是否已经存在对应的频道,当已经存在对应的频道时,通过反馈提醒消息,可以不再接收与该频道对应的推流请求,从而能够避免CDN内部流量消耗以及服务器资源浪费。同时,利用哈希算法和频道名确定边缘节点转推的目标中心节点,可以保证相同的频道名对应的中心节点的一致性,同一频道名在通过不同的边缘节点也可以转推至相同的中心节点,从而保证一个频道的全网唯一性。因此,本申请提供的技术方案,能够避免CDN内部流量消耗以及服务器资源浪费,提高推流效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施方式中采用CDN网络的推流方法流程图;
图2是本发明实施例中以中心节点为主体的推流方法流程图;
图3是本发明实施例中以边缘节点为主体的推流方法流程图;
图4是本发明实施例中推流系统的结构示意图;
图5是本发明实施例中作为中心节点的推流服务器的一种模块图;
图6是本发明实施例中作为中心节点的推流服务器的另一模块图;
图7是本发明实施例中作为边缘节点的推流服务器的一种模块图;
图8是本发明实施例中作为边缘节点的推流服务器的另一模块图;
图9是本发明实施例中推流服务器的结构示意图;
图10是本发明实施例中计算机终端的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本申请提供一种推流方法,该方法可以应用于采用CDN的直播服务。请参阅图1,所述CDN中可以包括中心节点和边缘节点,所述中心节点可以与所述边缘节点建立通信连接从而可以与边缘节点进行数据交互。一个中心节点可以与多个边缘节点建立通信连接。所述CDN中可以包括多个中心节点(图1中仅示出1个中心节点)。所述中心节点与所述边缘节点可以为服务器。
请参阅图1,本申请提供的推流方法可以包括以下步骤。
S11:推流器发送推流请求至边缘节点。
在一个实施方式中,所述推流器发送的所述推流请求可以采用RTMP协议进行传输。所述采用RTMP协议的推流请求的URL中可以包括发布点(即appName)和流名称(即appInstance)。
在一个实施方式中,所述推流器可以发送所述推流请求至边缘节点。一个推流器可以发送所述推流请求至一个或多个边缘节点。
S12:所述边缘节点接收所述推流器发出的推流请求,将所述推流请求转推至目标中心节点。
所述边缘节点可以接收所述推流器发出的推流请求,并将所述推流请求转推至目标中心节点。
在一个实施方式中,当多个边缘节点接收到的推流器发出的推流请求相同时,所述多个边缘节点可以分别将接收到的所述推流请求转推至CDN的中心节点。
在一个实施方式中,所述边缘节点将所述推流请求转推至目标中心节点可以具体包括:根据所述推流请求确定与所述推流请求对应的频道名,根据所述频道名与所有中心节点的IP确定目标中心节点,向所述目标中心节点发送所述推流请求。
在一个实施方式中,所述频道可以对应有频道名。所述频道名可以用于唯一标识所述频道。具体地,所述频道名可以包括:发布点和流名称。
在一个实施方式中,根据所述频道名与所有中心节点的IP确定目标中心节点,包括:将所述频道名作为key值进行哈希运算,从所述所有中心节点的IP中确定出目标中心节点的IP。其中,所述目标中心节点的个数可以是预先设置的。通过上述方法确定目标中心节点,可以保证相同的频道名对应的中心节点的一致性,同一频道名在通过不同的边缘节点也可以转推至相同的中心节点,从而保证一个频道的全网唯一性。同时,利用哈希运算的方法可以保证CDN的负载均衡。
S13:所述目标中心节点接收所述边缘节点发出的所述推流请求,判断所述推流请求是否对应存在已有频道。
所述目标中心节点接收所述边缘节点发出的所述推流请求后,可以判断所述推流请求是否对应存在已有频道。即,判断当前的推流请求是否为重复的推流请求。
在一个实施方式中,所述判断推流请求对应的频道是否为已经存在的频道具体可以包括:将所述推流请求对应的频道与所述目标中心节点已有的所有频道进行比对,若存在相同的频道,则判断结果为是;若不存在相同的频道,则判断结果为否。
S14:当判断结果为是时,所述目标中心节点向所述边缘节点发送提醒消息;或者,当判断结果为否时,所述目标中心节点为所述推流请求创建一频道,并接收与该频道对应的流媒体数据。
在一个实施方式中,当所述判断推流请求是否对应存在已有频道的判断结果为是时,所述目标中心节点可以向所述边缘节点发送提醒消息。即,当所述判断推流请求是否对应存在已有频道的判断结果为是时,表示所述目标中心节点已经接收了其他边缘节点的相同推流请求,当前接收到的推流请求为重复的推流请求,那么,所述目标中心节点可以向所述边缘节点发送提醒消息。
在一个实施方式中,所述提醒消息可以为状态码。所述状态码可以用于表示当前推流发生的错误类型。具体地,所述状态码可以为短语“Orgin Exist”,该状态码可以表示当前推流发生的错误类型为:重复推流。
在一个实施方式中,当所述判断推流请求是否对应存在已有频道的判断结果为否时,所述目标中心节点为所述推流创建一频道,并接收与该频道对应的流媒体数据。
在一个实施方式中,所述目标中心节点还可以保存所述接收到的与创建的频道对应的流媒体数据。
在一个实施方式中,所述流媒体数据可以包括音频数据和/或视频数据。
在另一个实施方式中,所述推流方法还可以包括:所述边缘节点接收所述中心节点发出的提醒消息后,可以向所述推流器发送推流失败信息。
其中,所述推流失败信息可以与所述提醒消息相同,也可以与所述提醒消息不同。例如,所述推流失败信息可以采用所述提醒消息的状态码“Orgin Exist”,也可以是自定义的消息“请求失败”。
在一个实施方式中,所述推流方法还可以包括:所述边缘节点断开与所述推流器的连接。
在一个实施方式中,所述推流方法还可以包括:根据禁推参数拒绝接收与所述频道对应的推流请求。所述禁推参数可以用于配置所述边缘节点,以使所述边缘节点在一定时间内禁止接收与所述频道对应的推流请求。
所述禁推参数可以包括:禁推频道名和禁推时间。所述禁推参数可以是预先设置的。
在另一个实施方式中,所述目标中心节点接收到的推流请求还可以包括优先级信息。具体地,所述优先级信息可以在采用RTMP协议的推流请求的URL中采用参数(例如Pri)来表示。例如,包含了优先级信息的URL可以为“rtmp://serveraddr:port/appName/appInstance?wsPri=m”,其中,优先级信息为m。
在一个实施方式中,所述优先级信息可以采用一个字符来表示。例如,可以采用数字1、2、3,或者,可以采用字母m、n等。所述优先级高低可以按照字符的预设顺序来确定。例如,字符的预设顺序为m、n、p、q,则优先级信息为m的推流请求比优先级信息为p的推流请求的优先级高。
在一个实施方式中,所述优先级信息的取值可以基于改进的snowflake算法生成。
在该实施方式中,当所述判断推流请求是否对应存在已有频道的判断结果为否时,所述目标中心节点可以为所述推流请求创建一频道,并接收与该频道对应的流媒体数据。进一步地,所述目标中心节点还可以保存与该创建的频道对应的优先级信息。
或者,在该实施方式中,当所述判断推流请求是否对应存在已有频道的判断结果为是时,比较所述推流请求的优先级信息与已有频道的优先级信息。所述目标中心节点可以根据比较结果接收优先级信息中优先级较高的流媒体数据,并保存与所述流媒体数据对应的优先级信息。
在一个实施方式中,当所述推流请求的优先级低于已有频道的优先级时,所述中心节点还可以向所述边缘节点发送优先级较低的提醒消息。所述优先级较低的提醒消息可以为状态码。所述状态码可以用于表示当前推流发生的错误类型。具体地,用于表示优先级较低的状态码可以为短语“Priority Low”,该状态码可以表示当前推流发生的错误类型为:当前推流优先级低于原频道优先级。
例如,一个频道的优先级信息为1,当一个频道在直播过程中增加了语音流数据,或者切换了新的直播场景时,可以将新的流媒体数据采用较高的优先级信息2,那么,新的流媒体信息可以使用同一流名称再次推流至原频道,并更新覆盖原频道的流数据,进而可以保证一个频道内内容的快速替换和平滑衔接。
本申请实施例还提供一种推流方法,所述推流方法以中心节点为执行主体。请参阅图2,以中心节点为主体的推流方法可以包括以下步骤。
S21:中心节点接收边缘节点转推的推流请求,判断所述推流请求是否对应存在已有频道。
在一个实施方式中,所述推流请求可以采用RTMP协议进行传输。所述采用RTMP协议的推流请求的URL中可以包括发布点(即appName)和流名称(即appInstance)。
在一个实施方式中,一个频道可以对应有频道名。所述频道名可以用于唯一标识所述频道。所述频道名可以包括:发布点和流名称(即流媒体数据对应URL中的appName和appInstance)。
在一个实施方式中,所述判断推流请求对应的频道是否为已经存在的频道具体可以包括:将所述推流请求对应的频道名与所述中心节点已有的所有频道的频道名进行比对,若存在相同的频道,则判断结果为是;若不存在相同的频道,则判断结果为否。
S22:当判断结果为是时,所述中心节点向所述边缘节点发送提醒消息;或者,当判断结果为否时,所述中心节点为所述推流请求创建一频道,并接收与该频道对应的流媒体数据。
在一个实施方式中,所述提醒消息可以为状态码。所述状态码可以用于表示当前推流发生的错误类型。具体地,所述状态码可以为短语“Orgin Exist”,该状态码可以表示当前推流发生的错误类型为:重复推流。
在一个实施方式中,所述中心节点还可以保存所述接收到的与创建的频道对应的流媒体数据。
在一个实施方式中,所述流媒体数据可以包括音频数据和/或视频数据。
在另一个实施方式中,所述中心节点接收到的推流请求还可以包括优先级信息。所述优先级信息可以为字符。例如,所述优先级信息可以为数字1、2、3,或者,可以为字母m、n等。优先级高低顺序可以按照字符的预设顺序来确定。例如,字符的预设顺序为m、n、p、q,则优先级信息为m的推流请求比优先级信息为p的推流请求的优先级高。
在该实施方式中,当所述判断推流请求是否对应存在已有频道的判断结果为否时,所述中心节点可以为所述推流请求创建一频道,并接收与该频道对应的流媒体数据。进一步地,所述中心节点还可以保存与该创建的频道对应的优先级信息。
或者,在该实施方式中,当所述判断推流请求是否对应存在已有频道的判断结果为是时,比较所述推流请求的优先级信息与已有频道的优先级信息。所述中心节点可以根据比较结果接收优先级信息中优先级较高的流媒体数据,并保存与所述流媒体数据对应的优先级信息。
本申请实施例还提供一种推流方法,所述推流方法以边缘节点为执行主体。请参阅图3,以边缘节点为主体的推流方法可以包括以下步骤。
S31:边缘节点接收推流器发出的推流请求。
在一个实施方式中,所述推流请求可以采用RTMP协议进行传输。所述采用RTMP协议的推流请求的URL中可以包括发布点(即appName)和流名称(即appInstance)。
所述频道可以对应有频道名。所述频道名可以用于唯一标识所述频道。所述频道名可以包括:发布点和流名称。
所述边缘节点可以为一个或多个。
S32:所述边缘节点根据所述推流请求确定目标中心节点。
根据所述推流请求来确定目标中心节点,可以使所述一个或多个边缘节点中的所述推流请求对应相同的目标中心节点。从而可以使得CDN中任一边缘节点转推所述推流请求时,都可以转推至于该推流请求对应的目标中心节点。
在一个实施方式中,所述边缘节点根据所述推流请求确定目标中心节点,具体可以包括:将所述频道名作为key值进行哈希运算,从所述所有中心节点的互联网协议地址(Internet Protocol Address,IP)中确定出目标中心节点的IP。其中,所述目标中心节点的个数可以是预先设置的。
S33:所述边缘节点将所述推流请求转推至所述目标中心节点。
在一个实施方式中,当所述目标中心节点判断出所述推流请求对应存在已有频道时,所述方法还可以包括:所述边缘节点接收所述目标中心节点发出的提醒消息。
进一步地,所述推流方法还可以包括:所述边缘节点向所述推流器发送推流失败信息。
其中,所述推流失败信息可以与所述提醒消息相同,也可以与所述提醒消息不同。
进一步地,所述推流方法还可以包括:所述边缘节点断开与所述推流器的连接。
在一个实施方式中,所述推流方法还可以包括:根据禁推参数拒绝接收与所述频道对应的推流请求。所述禁推参数可以用于配置所述边缘节点,以使所述边缘节点在一定时间内禁止接收与所述频道对应的推流请求。
所述禁推参数可以包括:禁推频道名和禁推时间。所述禁推参数可以是预先设置的。
本申请实施例还提供一种推流系统。请参阅图4,所述推流系统包括至少一个中心节点服务器41(图中仅示出1个)和至少一个边缘节点服务器42。
所述边缘节点服务器42,可以用于接收推流器发出的推流请求,根据所述推流请求确定目标中心节点服务器,将所述推流请求转推至目标中心节点服务器。
所述中心节点服务器41,可以用于接收所述边缘节点服务器42发出的所述推流请求,判断所述推流请求是否对应存在已有频道。当判断结果为是时,所述中心节点服务器41还用于向所述边缘节点服务器42发送提醒消息;或者,当判断结果为否时,所述中心节点服务器41还用于为所述推流请求创建一频道,并接收与该频道对应的流媒体数据。
在一个实施方式中,当所述边缘节点服务器42接收到所述中心节点服务器41发出的提醒消息时,所述边缘节点服务器42还可以用于向所述推流器发送推流失败信息。
进一步地,所述边缘节点服务器42还可以用于断开与所述推流器的连接。
进一步地,所述边缘节点服务器42还可以用于根据禁推参数拒绝接收与所述频道对应的推流请求。所述禁推参数可以用于配置所述边缘节点服务器42,以使所述边缘节点服务器42在一定时间内禁止接收与所述频道对应的推流请求。
在一个实施方式中,所述中心节点服务器41接收到的推流请求还可以包括优先级信息。那么,所述中心节点服务器41还可以用于当所述判断推流请求是否对应存在已有频道的判断结果为是时,比较所述推流请求的优先级信息与已有频道的优先级信息。所述优先级信息可以在采用RTMP协议的推流请求的URL中采用参数(例如Pri)来表示。
进一步地,所述中心节点服务器41还可以用于根据比较结果接收优先级信息中优先级较高的流媒体数据,并保存与所述流媒体数据对应的优先级信息。
在一个实施方式中,当所述推流请求的优先级低于已有频道的优先级时,所述中心节点服务器41还可以向所述边缘节点服务器42发送优先级较低的提醒消息。所述优先级较低的提醒消息可以为状态码。所述状态码可以用于表示当前推流发生的错误类型。
本申请实施例还提供一种推流服务器,所述推流服务器为中心节点服务器。请参阅图5,所述推流服务器可以包括:
推流接收单元51,用于接收边缘节点转推的推流请求。
判断单元52,用于判断所述推流请求是否对应存在已有频道。
反馈或接收单元53,用于当判断结果为是时,所述中心节点向所述边缘节点发送提醒消息;或者,当判断结果为否时,所述中心节点为所述推流请求创建一频道,并接收与该频道对应的流媒体数据。
请参阅图6,在一个实施方式中,所述推流服务器还可以包括:
优先级比较单元54,用于当所述推流请求还包括优先级信息,且所述中心节点服务器判断推流请求是否对应存在已有频道的判断结果为是时,比较所述推流请求的优先级信息与已有频道的优先级信息。
存储单元55,用于根据所述优先级比较单元54的比较结果接收优先级信息中优先级较高的流媒体数据,并保存与所述流媒体数据对应的优先级信息。
本申请实施例还提供一种推流服务器,所述推流服务器为边缘节点服务器。请参阅图7,所述推流服务器可以包括:
接收单元71,用于接收推流器发出的推流请求。
目标中心节点确定单元72,用于根据所述推流请求确定目标中心节点,以使一个所述推流请求对应相同的目标中心节点。
转推单元73,将所述推流请求转推至所述目标中心节点。
参阅图8,在一个实施方式中,所述推流服务器还可以包括:控制连接单元74,用于断开与所述推流器的连接。进一步地,所述控制连接单元还用于根据禁推参数拒绝接收与所述频道对应的推流请求。
参阅图9,本申请还提供一种推流服务器,所述推流服务器包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,可以实现上述的中心节点或边缘节点执行的推流方法。
请参阅图10,在本申请中,上述实施例中的技术方案可以应用于如图10所示的计算机终端10上。计算机终端10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。本领域普通技术人员可以理解,图10所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图10中所示更多或者更少的组件,或者具有与图10所示不同的配置。
存储器104可用于存储应用软件的软件程序以及模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
具体地,在本申请中,上述的服务器的部署方法可以作为计算机程序存储于上述的存储器104中,所述存储器104可以与处理器102耦合,那么当处理器102执行所述存储器104中的计算机程序时,便可以实现上述的服务器的部署方法中的各个步骤。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
由上可见,本申请提供的技术方案,通过比较频道名是否一致,来判断推理请求是否已经存在对应的频道,当已经存在对应的频道时,通过反馈提醒消息,可以不再接收与该频道对应的推流请求,从而能够避免CDN内部流量消耗以及服务器资源浪费。同时,利用哈希算法和频道名确定边缘节点转推的目标中心节点,可以保证相同的频道名对应的中心节点的一致性,同一频道名在通过不同的边缘节点也可以转推至相同的中心节点,从而保证一个频道的全网唯一性。同时,利用哈希运算的方法可以保证CDN的负载均衡,提升了各种应用场景下如直播时,CDN的稳定性和高可用。因此,本申请提供的技术方案,能够避免CDN内部流量消耗以及服务器资源浪费,提高推流效率。
进一步地,通过优先级信息,可以将客户处理或更新过的内容使用同一流名称再次推流,且流数据可以覆盖上次推流,实现内容的快速替换和平滑衔接,从而满足客户的场景需求,提升用户体验。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (20)

1.一种推流方法,其特征在于,包括:
中心节点接收边缘节点转推的推流请求,判断所述推流请求是否对应存在已有频道;
当判断结果为是时,所述中心节点向所述边缘节点发送提醒消息;或者,当判断结果为否时,所述中心节点为所述推流请求创建一频道,并接收与该频道对应的流媒体数据。
2.根据权利要求1所述的方法,其特征在于,所述判断推流请求对应的频道是否为已经存在的频道具体包括:
将所述推流请求对应的频道名与所述中心节点已有的所有频道的频道名进行比对;
若存在相同的频道,则判断结果为是;或者,若不存在相同的频道,则判断结果为否。
3.根据权利要求2所述的方法,其特征在于,所述频道名用于唯一标识所述频道,所述频道名包括:发布点和流名称。
4.根据权利要求1所述的方法,其特征在于,所述推流请求还包括优先级信息。
5.根据权利要求4所述的方法,其特征在于,当判断结果为否时,所述方法还包括:中心节点保存与该创建的频道对应的优先级信息。
6.根据权利要求4所述的方法,其特征在于,当判断结果为是时,所述方法还包括:比较所述推流请求的优先级信息与已有频道的优先级信息,所述中心节点根据比较结果接收优先级信息中优先级较高的流媒体数据,并保存与所述流媒体数据对应的优先级信息。
7.一种推流方法,其特征在于,包括:
边缘节点接收推流器发出的推流请求;所述边缘节点为一个或多个;
所述边缘节点根据所述推流请求确定目标中心节点,以使所述一个或多个边缘节点中的所述推流请求对应相同的目标中心节点;
所述边缘节点将所述推流请求转推至所述目标中心节点。
8.根据权利要求7所述的方法,其特征在于,所述边缘节点根据所述推流请求确定目标中心节点,具体包括:将所述推流请求的频道名作为key值进行哈希运算,从所述所有中心节点的IP中确定出目标中心节点的IP。
9.根据权利要求7所述的方法,其特征在于,当所述目标中心节点判断出所述推流请求对应存在已有频道时,所述方法还包括:所述边缘节点接收所述目标中心节点发出的提醒消息。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:所述边缘节点向所述推流器发送推流失败信息。
11.根据权利要求9所述的方法,其特征在于,所述方法还包括:所述边缘节点断开与所述推流器的连接;和/或,根据禁推参数拒绝接收与所述频道对应的推流请求。
12.根据权利要求11所述的方法,其特征在于,所述禁推参数包括:禁推频道名和禁推时间。
13.一种推流系统,其特征在于,包括至少一个中心节点服务器和至少一个边缘节点服务器;其中,
所述边缘节点服务器,用于接收推流器发出的推流请求,根据所述推流请求确定目标中心节点服务器,将所述推流请求转推至目标中心节点服务器;
所述中心节点服务器包括所述目标中心服务器,用于接收所述边缘节点服务器发出的所述推流请求,判断所述推流请求是否对应存在已有频道;当判断结果为是时,所述中心节点服务器还用于向所述边缘节点服务器发送提醒消息;或者,当判断结果为否时,所述中心节点服务器还用于为所述推流请求创建一频道,并接收与该频道对应的流媒体数据。
14.根据权利要求13所述的系统,其特征在于,当所述边缘节点服务器接收到所述中心节点服务器发出的提醒消息时,所述边缘节点服务器还用于根据禁推参数拒绝接收与所述频道对应的推流请求。
15.根据权利要求13所述的系统,其特征在于,当所述推流请求还包括优先级信息,且所述中心节点服务器判断推流请求是否对应存在已有频道的判断结果为是时,
所述中心节点服务器还用于比较所述推流请求的优先级信息与已有频道的优先级信息,根据比较结果接收优先级信息中优先级较高的流媒体数据,并保存与所述流媒体数据对应的优先级信息。
16.一种推流服务器,其特征在于,所述推流服务器为中心节点服务器,包括:
推流接收单元,用于接收边缘节点转推的推流请求;
判断单元,用于判断所述推流请求是否对应存在已有频道;
反馈或接收单元,用于当判断结果为是时,所述中心节点向所述边缘节点发送提醒消息;或者,当判断结果为否时,所述中心节点为所述推流请求创建一频道,并接收与该频道对应的流媒体数据。
17.根据权利要求16所述的服务器,其特征在于,还包括:
优先级比较单元,用于当所述推流请求还包括优先级信息,且所述中心节点服务器判断推流请求是否对应存在已有频道的判断结果为是时,比较所述推流请求的优先级信息与已有频道的优先级信息。
存储单元,用于根据所述优先级比较单元的比较结果接收优先级信息中优先级较高的流媒体数据,并保存与所述流媒体数据对应的优先级信息。
18.一种推流服务器,其特征在于,所述推流服务器为边缘节点服务器,包括:
接收单元,用于接收推流器发出的推流请求;
目标中心节点确定单元,用于根据所述推流请求确定目标中心节点,以使一个所述推流请求对应相同的目标中心节点;
转推单元,用于将所述推流请求转推至所述目标中心节点。
19.根据权利要求18所述的服务器,其特征在于,还包括:控制连接单元,用于断开与所述推流器的连接;以及用于根据禁推参数拒绝接收与所述频道对应的推流请求。
20.一种服务器,其特征在于,所述服务器包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求1至6中任一权利要求或7至12中任一权利要求所述的方法。
CN201910088038.1A 2019-01-29 2019-01-29 一种推流方法、系统及服务器 Pending CN109729397A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201910088038.1A CN109729397A (zh) 2019-01-29 2019-01-29 一种推流方法、系统及服务器
PCT/CN2019/077230 WO2020155293A1 (zh) 2019-01-29 2019-03-06 一种推流方法、系统及服务器
EP19725834.6A EP3709664B1 (en) 2019-01-29 2019-03-06 Stream pushing method, system and server
US16/439,537 US11102319B2 (en) 2019-01-29 2019-06-12 Method, system and server for stream-pushing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910088038.1A CN109729397A (zh) 2019-01-29 2019-01-29 一种推流方法、系统及服务器

Publications (1)

Publication Number Publication Date
CN109729397A true CN109729397A (zh) 2019-05-07

Family

ID=66301276

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910088038.1A Pending CN109729397A (zh) 2019-01-29 2019-01-29 一种推流方法、系统及服务器

Country Status (3)

Country Link
EP (1) EP3709664B1 (zh)
CN (1) CN109729397A (zh)
WO (1) WO2020155293A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110460866A (zh) * 2019-07-29 2019-11-15 网宿科技股份有限公司 推送流媒体数据的方法、系统和服务器
CN110753237A (zh) * 2019-11-05 2020-02-04 北京金和网络股份有限公司 节省流媒体服务器上行带宽流量的方法及装置
CN111586446A (zh) * 2020-04-13 2020-08-25 微梦创科网络科技(中国)有限公司 一种媒体流无缝切换方法、装置及系统
CN114051146A (zh) * 2021-11-09 2022-02-15 上海哔哩哔哩科技有限公司 防止重复推流的方法和系统
CN114222086A (zh) * 2021-10-15 2022-03-22 中兴通讯股份有限公司 音视频码流的调度方法、系统、介质及电子装置
CN115955469A (zh) * 2022-12-29 2023-04-11 威创集团股份有限公司 一种流媒体数据分发传输方法、系统及相关设备

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114398659A (zh) * 2021-10-28 2022-04-26 上海哔哩哔哩科技有限公司 一种资源校验方法、装置、设备及存储介质
CN114268799B (zh) * 2021-12-23 2023-05-23 杭州阿启视科技有限公司 一种流媒体传输方法、装置、电子设备及介质
CN114827633B (zh) * 2022-06-17 2022-09-13 浙江华创视讯科技有限公司 一种媒体流容灾方法、装置和相关设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105681387A (zh) * 2015-11-26 2016-06-15 乐视云计算有限公司 一种直播视频的上传方法、装置及系统
CN106850581A (zh) * 2017-01-04 2017-06-13 网宿科技股份有限公司 互动直播流媒体数据的分发备份方法、系统及服务器
WO2018166415A1 (zh) * 2017-03-16 2018-09-20 杭州海康威视数字技术股份有限公司 云存储系统、媒体数据存储方法及系统
CN105721484B (zh) * 2016-03-04 2019-01-15 网宿科技股份有限公司 一种流媒体的转推方法、系统及具有该系统的服务器

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014201177A1 (en) * 2013-06-11 2014-12-18 Seven Networks, Inc. Offloading application traffic to a shared communication channel for signal optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
US10880357B2 (en) * 2014-12-23 2020-12-29 Adobe Inc. Reducing requests for media segments in streaming of multimedia content
CN105141660B (zh) * 2015-07-24 2018-04-24 网宿科技股份有限公司 一种流媒体管理方法及系统
CN106803974B (zh) * 2017-03-01 2019-07-30 北京牡丹电子集团有限责任公司数字电视技术中心 直播视频流实时转发方法
CN108574685B (zh) * 2017-03-14 2021-08-03 华为技术有限公司 一种流媒体推送方法、装置及系统
CN108055264B (zh) * 2017-12-13 2021-01-01 平安科技(深圳)有限公司 推流服务器的调度装置、方法及计算机可读存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105681387A (zh) * 2015-11-26 2016-06-15 乐视云计算有限公司 一种直播视频的上传方法、装置及系统
CN105721484B (zh) * 2016-03-04 2019-01-15 网宿科技股份有限公司 一种流媒体的转推方法、系统及具有该系统的服务器
CN106850581A (zh) * 2017-01-04 2017-06-13 网宿科技股份有限公司 互动直播流媒体数据的分发备份方法、系统及服务器
WO2018166415A1 (zh) * 2017-03-16 2018-09-20 杭州海康威视数字技术股份有限公司 云存储系统、媒体数据存储方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ADOBE: "Prevent NetStream.Publish.BadName errors", 《ADOBE》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110460866A (zh) * 2019-07-29 2019-11-15 网宿科技股份有限公司 推送流媒体数据的方法、系统和服务器
CN110753237A (zh) * 2019-11-05 2020-02-04 北京金和网络股份有限公司 节省流媒体服务器上行带宽流量的方法及装置
CN111586446A (zh) * 2020-04-13 2020-08-25 微梦创科网络科技(中国)有限公司 一种媒体流无缝切换方法、装置及系统
CN114222086A (zh) * 2021-10-15 2022-03-22 中兴通讯股份有限公司 音视频码流的调度方法、系统、介质及电子装置
CN114051146A (zh) * 2021-11-09 2022-02-15 上海哔哩哔哩科技有限公司 防止重复推流的方法和系统
CN114051146B (zh) * 2021-11-09 2024-07-30 上海哔哩哔哩科技有限公司 防止重复推流的方法和系统
CN115955469A (zh) * 2022-12-29 2023-04-11 威创集团股份有限公司 一种流媒体数据分发传输方法、系统及相关设备

Also Published As

Publication number Publication date
WO2020155293A1 (zh) 2020-08-06
EP3709664A4 (en) 2020-09-16
EP3709664B1 (en) 2022-12-21
EP3709664A1 (en) 2020-09-16

Similar Documents

Publication Publication Date Title
CN109729397A (zh) 一种推流方法、系统及服务器
US11102319B2 (en) Method, system and server for stream-pushing
US7978631B1 (en) Method and apparatus for encoding and mapping of virtual addresses for clusters
EP2583415B1 (en) Method, diameter node, and computer readable medium for providing dynamic origination-based routing key registration in a diameter network
CN113596191A (zh) 一种数据处理方法、网元设备以及可读存储介质
CN110830564A (zh) Cdn调度方法、装置、系统及计算机可读存储介质
CN108881354B (zh) 一种推送信息存储方法、装置、服务器和计算机存储介质
KR102132266B1 (ko) 데이터 스트리밍에 대한 보조의 노드 타입 기반 제어
CN111246453B (zh) 一种数据传输方法、用户面网元及控制面网元
CN103051497B (zh) 业务流镜像方法及镜像设备
CN108696588B (zh) 一种信息的发送方法及设备
CN113572864B (zh) 一种数据处理方法、网元设备以及可读存储介质
CN106357542B (zh) 提供组播业务的方法和软件定义网络控制器
US10812421B2 (en) Conveying instant messages via HTTP
CN109379244B (zh) 网络加速通讯方法、装置以及电子设备
CN110768708B (zh) 一种基于通信卫星的组播方法、服务器和终端
CN103546528B (zh) 分布式消息推送方法及系统
CN105207860A (zh) 一种业务加速系统及方法
CN111669333B (zh) 数据传输方法、装置、计算设备和存储介质
CN101662508A (zh) 基于点对点协议数据传输的方法、装置和系统
CN111737029A (zh) 一种服务端、数据推送方法、数据推送系统
CN105357756A (zh) 一种寻呼的方法及通信网络系统
CN111416760B (zh) 一种信息同步方法、终端及信息同步系统
CN103166922B (zh) 点对点叠加网络中的呼叫请求处理方法、系统和装置
CN115134858B (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190507