CN114051146A - 防止重复推流的方法和系统 - Google Patents
防止重复推流的方法和系统 Download PDFInfo
- Publication number
- CN114051146A CN114051146A CN202111318484.0A CN202111318484A CN114051146A CN 114051146 A CN114051146 A CN 114051146A CN 202111318484 A CN202111318484 A CN 202111318484A CN 114051146 A CN114051146 A CN 114051146A
- Authority
- CN
- China
- Prior art keywords
- edge server
- data stream
- data
- stream
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 230000004044 response Effects 0.000 claims abstract description 51
- 238000004891 communication Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012544 monitoring process Methods 0.000 claims description 8
- 230000003252 repetitive effect Effects 0.000 claims description 8
- 230000002159 abnormal effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2181—Source of audio or video content, e.g. local disk arrays comprising remotely distributed storage units, e.g. when movies are replicated over a plurality of video servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2404—Monitoring of server processing errors or hardware failure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2405—Monitoring of the internal components or processes of the server, e.g. server load
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26208—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26266—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for determining content or additional data repetition rate, e.g. of a file in a DVB carousel according to its importance
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种防止重复推流的方法,用于中心服务器中,所述中心服务器用于储存各数据流的注册信息;所述方法包括:接收第一边缘服务器的注册请求,所述注册请求用于将主播终端推送的第一数据流注册到所述中心服务器,所述注册请求包括所述第一数据流的注册信息,所述注册信息包括与所述主播终端关联的主播标识;响应于所述注册请求,根据所述注册信息判断所述中心服务器是否注册有与所述主播标识关联的第二数据流,所述第二数据流为所述主播终端推送到第二边缘服务器的数据流;在确定已注册有所述第二数据流的情况下,执行数据流的去重操作;返回响应消息。本申请公开的技术方案,可以即时自主启动数据流的去重操作,确保直播显示,而且不耗费性能。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种防止重复推流的方法、系统、计算机设备及计算机可读存储介质。
背景技术
随着互联网技术的快速发展,网络直播开始得到了广泛的应用。其中,网络直播一般涉及到:直播平台、主播终端和观众终端,其中主播终端可以经由直播平台向观众终端提供多媒体内容(如,视频内容),还可以经由直播平台接收观众终端提供的多媒体内容(如,评论内容),从而实现了边直播边互动的效果。由于网络直播有较强的现场性和互动性,因此受到越来越多的观众和主播的青睐。
在传统的网络直播中,可能会出现以下情况:主播同时开启多个链接推送相同或不同数据到同一个流名,从而导致不同观众看到不同的数据,且影响直播系统内部的监控和稳定。发明人了解到的当前解决方式是定时扫描全量流数据,若检测到异常则断流处理。但是上述解决方式存在以下弊端:第一、对观众的使用体验极其不好;第二、定时扫描全流量耗费很大的计算性能,服务器压力大。
发明内容
有鉴于此,本申请实施例的目的是提供一种防止重复推流的方法、系统、计算机设备及计算机可读存储介质,可以上述问题。
本申请实施例的一个方面提供了一种防止重复推流的方法,用于中心服务器中,所述中心服务器用于储存各数据流的注册信息;所述方法包括:
接收第一边缘服务器的注册请求,所述注册请求用于将主播终端推送的第一数据流注册到所述中心服务器,所述注册请求包括所述第一数据流的注册信息,所述注册信息包括与所述主播终端关联的主播标识;
响应于所述注册请求,根据所述注册信息判断所述中心服务器是否注册有与所述主播标识关联的第二数据流,所述第二数据流为所述主播终端推送到第二边缘服务器的数据流;
在确定已注册有所述第二数据流的情况下,执行数据流的去重操作;
返回响应消息。
可选的,所述响应消息包括表示拒绝推流的第一响应消息;
所述在确定已注册有所述第二数据流的情况下,执行数据流的去重操作,包括:
将所述第一响应消息返回给所述第一边缘服务器,以使所述第一边缘服务器执行以下操作:
拒绝所述主播终端的第一数据流;或
接受所述主播终端的第一数据流,并对接收到的流数据进行存储但不分发到云端。
可选的,所述在确定已注册有所述第二数据流的情况下,执行数据流的去重操作,包括:
比较所述第一边缘服务器的通信质量和所述第二边缘服务器的通信质量;
根据比较结果指定主边缘服务器和非主边缘服务器;
其中,所述主边缘服务器用于接受所述主播终端的推流,并将接收到的流数据分发到云端;
其中,所述非主边缘服务器用于:
拒绝所述主播终端的推流,或者
接受所述主播终端的推流,并对接收到的流数据进行存储但不分发到所述云端。
可选的,还包括:
以预设频率监测所述主边缘服务器的运行状态和所述非主边缘服务器的运行状态;及
在所述主边缘服务器运行异常的情况下,调用所述非主边缘服务器分发流数据。
可选的,所述在所述主边缘服务器运行异常的情况下,调用所述非主边缘服务器分发流数据,包括:
比较所述主边缘服务器的流数据和所述非主边缘服务器的流数据;
根据比较结果,判断所述非主边缘服务器的流数据是否能够用于分发;
若所述非主边缘服务器的流数据能够用于分发,则调用所述非主边缘服务器分发流数据。
可选的,所述响应消息包括表示注册成功的第二响应消息;所述方法还包括:
在确定没有注册所述第二数据流的情况下,对所述第一数据流进行注册,其中,所述第一数据流的注册信息包括所述主播标识和所述第一边缘服务器的设备标识;及
将所述第二响应消息返回给所述第一边缘服务器,以便所述第一边缘服务器基于所述第二响应消息,接受所述主播终端的第一数据流并将接收到的流数据分发到云端。
本申请实施例的一个方面又,提供了一种防止重复推流的系统,用于中心服务器中,所述中心服务器用于储存各数据流的注册信息;所述系统包括:
接收模块,用于接收第一边缘服务器的注册请求,所述注册请求用于将主播终端推送的第一数据流注册到所述中心服务器,所述注册请求包括所述第一数据流的注册信息,所述注册信息包括与所述主播终端关联的主播标识;
判断模块,用于响应于所述注册请求,根据所述注册信息判断所述中心服务器是否注册有与所述主播标识关联的第二数据流,所述第二数据流为所述主播终端推送到第二边缘服务器的数据流;
执行模块,用于在确定已注册有所述第二数据流的情况下,执行数据流的去重操作;
返回模块,用于返回响应消息。
本申请实施例的一个方面又提供了一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时用于实现如上所述的防止重复推流的方法的步骤。
本申请实施例的一个方面又提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上所述的防止重复推流的方法的步骤。
本申请实施例的一个方面又提供了一种防止重复推流的方法,所述方法包括:
第一边缘服务器接收主播终端发送的第一数据流的推送请求,所述推送请求中携带主播标识;
所述第一边缘服务器响应于所述推送请求,向中心服务器发送注册请求,所述注册请求用于将所述第一数据流注册到所述中心服务器,所述注册请求包括所述主播标识;
所述中心服务器响应于所述注册请求,判断是否已注册有与所述主播标识关联的第二数据流,所述第二数据流为所述主播终端推送到第二边缘服务器的数据流;及
所述中心服务器在确定已注册有所述第二数据流的情况下,执行数据流的去重操作。
可选的,还包括:
所述中心服务器将表示拒绝推流的第一响应消息返回给所述第一边缘服务器;
其中,所述第一边缘服务器基于所述第一响应消息执行以下操作:
拒绝所述主播终端的第一数据流;或
接受所述主播终端的第一数据流,并对接收到的流数据进行存储但不分发到云端。
可选的,所述中心服务器在确定已注册有所述第二数据流的情况下,执行数据流的去重操作,包括:
所述中心服务器比较所述第一边缘服务器的通信质量和所述第二边缘服务器的通信质量;
所述中心服务器根据比较结果指定主边缘服务器和非主边缘服务器;
其中,所述主边缘服务器接受所述主播终端的推流,并将接收到的流数据分发到云端;
其中,所述非主边缘服务器:
拒绝所述主播终端的推流,或者
接受所述主播终端的推流,并对接收到的流数据进行存储但不分发到所述云端。
可选的,还包括:
所述中心服务器监测所述主边缘服务器的运行状态和所述非主边缘服务器的运行状态;及
所述中心服务器在所述主边缘服务器运行异常时,调用所述非主边缘服务器分发流数据。
可选的,所述中心服务器在所述主边缘服务器运行异常时,调用所述非主边缘服务器分发流数据,包括:
比较所述主边缘服务器的流数据和所述非主边缘服务器的流数据;
根据比较结果,判断所述非主边缘服务器的流数据是否能够用于分发;
若所述非主边缘服务器的流数据能够用于分发,则调用所述非主边缘服务器分发流数据。
可选的,还包括:
所述中心服务器在确定没有注册所述第二数据流的情况下,对所述第一数据流进行注册,其中,注册信息包括所述主播标识和所述第一边缘服务器的设备标识;
所述中心服务器将表示注册成功的第二响应消息返回给所述第一边缘服务器;及
所述第一边缘服务器基于所述第二响应消息,接受所述主播终端的第一数据流并分发。
可选的,每个边缘服务器被配置为禁止同时接受同一主播标识的多个数据流,所述方法还包括:
所述第一边缘服务器判断当前是否正在接受与所述主播标识关联的其他数据流;及
所述第一边缘服务器在确定当前正在接受所述其他数据流的情况下,执行数据流的去重操作。
本申请实施例提供的防止重复推流的方法、系统、设备及计算机可读存储介质,具有以下技术优势:
当主播终端重复推流(如出现具有同一主播标识的第一数据流、第二数据流),在注册第一数据流之前,发现第二数据流已经注册的情况下,即时自主启动数据流的去重操作,从而避免不同观众看到不同的数据,确保观众终端的直播显示。
即,通过边缘服务器和中心服务器的数据流的注册机制,可以第一时间发现和防止重复推流。另外,相对于通过定时扫描检测重复推流,本方法不会过度增加服务器压力,且可以无遗漏地防止重复推流,不会出现定时扫描间隙存在的重复推流。
附图说明
图1示意性示出了根据本申请实施例的防止重复推流的方法的应用环境图;
图2示意性示出了根据本申请实施例一的防止重复推流的方法的流程图;
图3示意性示出了根据本申请实施例一的防止重复推流的方法的新增步骤流程图;
图4示意性示出了图2中步骤S206的子流程图;
图5示意性示出了根据本申请实施例一的防止重复推流的方法的新增步骤流程图;
图6示意性示出了图5中步骤S502的子流程图;
图7示意性示出了根据本申请实施例一的防止重复推流的方法的新增步骤流程图;
图8示意性示出了根据本申请实施例一的防止重复推流的方法的新增步骤流程图;
图9示意性示出了根据本申请实施例二的防止重复推流的方法的流程图;
图10示意性示出了根据本申请实施例三的防止重复推流的系统的框图;
图11示意性示出了根据本申请实施例四的适于实现防止重复推流的方法的计算机设备的硬件架构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本申请实施例中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
在本申请的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本申请及区别每一步骤,因此不能理解为对本申请的限制。
网络直播一般涉及:直播平台、主播终端和观众终端,其中主播终端可以经由直播平台向观众终端提供多媒体内容(如,视频内容),还可以经由直播平台接收观众终端提供的多媒体内容(如,评论内容),从而实现了边直播边互动的效果。由于网络直播有较强的现场性和互动性,因此受到越来越多的观众和主播的青睐。
在传统的网络直播中,可能会出现以下情况:主播可能操作不规范或者一些别的原因,会同时开启多个链接推送相同或不同数据到同一个流名,从而导致以下问题:重复推流为直播系统带来了不稳定性,且不同观众看到不同的数据。例如,主播通过主播终端同时推两条数据流。一条数据流很稳定,另一条数据流抖动很厉害,这个时候因为两条数据流都属于一个主播标识,这个时候监控系统就可能会误认为流数据很稳定选择不报警,而且不同的观众可能会因为流调度问题观看到不同的画面。
发明人了解到的解决方式是定时扫描所有服务器,检测重复推流问题,其存在以下问题:
第一,如果中途扫描到一条重复的数据流并直接关掉,会影响到拉取这条数据流的观众终端的直播显示,如突然刷新到不同的画面、画质等,甚至黑屏,观众的使用体验差。
第二,会耗费巨大服务器性能,且不能及时发现,如在两次扫描间隙之间依然会存在重复推流的问题。
本申请将提供解决主播重复推流的技术方案,旨在:利用边缘服务器,对主播推流进行去重,能够及时发现重复推流问题并且不耗费性能。即在防止主播重复推流的同时,确保观众的使用体验,及避免因检测重复推流而过度地增加服务压力。
首先,提供本申请涉及到的一些术语解释:
推流:主播直播中推送流数据(视频数据、音频数据等)的操作。
边缘集群注册流服务:各边缘服务器都能通信的一个节点实现一个身份认证注册的功能。
云端可以为CDN网络,边缘服务器可以经由中心服务器或直接将流数据分发到云端。
CDN(Content Delivery Network,内容分发网络)网络,包括部署在各地的边缘服务器。CDN网络可以通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。
边缘服务器:用户侧的服务器,通常部署在各地,并按距离和网络排序为相关用户服务。
其次,为了便于理解,提供了一个直播系统的系统架构图。如图1所示,所述直播系统包括主播终端2、观众终端(如,4A、4B、…)和网络直播平台6。在直播场景下,主播终端2可以通过网络直播平台6将流数据推送至观众终端4A、4B、…。
主播终端2,用于对主播侧的直播画面进行采集、编码等处理,且将经过采集、编码处理后的流数据推送到网络直播平台6。其中,所述流数据可以包括音频数据或视频数据或二者结合。主播终端2可以是智能手机、平板电脑等电子设备。主播终端2可以包括主播APP,用于生成和推送流数据,以及接收互动信息。
观众终端(如,4A、4B、…),可以被配置为实时接收主播终端2的流数据。观众终端(如,4A、4B、…)可以是任意类型的计算设备,诸如智能手机,平板设备,膝上型计算机,机顶盒,智能电视等。在具体使用时,观众终端(如,4A、4B、…)可以内置浏览器或专门程序,通过浏览器或专门程序接收所述流数据以向用户输出内容。所述内容可以包括视频,音频,评论,文本数据和/或类似物。
观众终端(如,4A、4B、…)可以包括接口,该接口可以包括输入元件。例如,输入元件可以被配置为接收用户指令,所述用户指令可以使观众终端执行各类操作。
主播终端2和观众终端(如,4A、4B、…)分别可以通过一个或多个网络与该网络直播平台6建立网络连接。作为示例,所述一个或多个网络可以包括各种网络设备,例如路由器,交换机,多路复用器,集线器,调制解调器,网桥,中继器,防火墙,代理设备和/或等等。所述一个或多个网络可以包括物理链路,例如同轴电缆链路,双绞线电缆链路,光纤链路,它们的组合和/或类似物。所述一个或多个网络可以包括无线链路,例如蜂窝链路,卫星链路,Wi-Fi链路和/或类似物。
网络直播平台6可作为主播终端2和观众终端(如,4A、4B、…)之间的交互媒介,如推流、拉流、赠送虚拟礼物等。
网络直播平台6可以包括中心服务器60和多个边缘服务器(如,62A、62B、…)。需要说明的是,本实施例不对中心服务器的数量和边缘服务器的数据进行限定。为了方便阐述,网络直播平台6示例性地包括2个边缘服务器、1个中心服务器。
各边缘服务器,用于接收主播终端2的推流和流数据分发。每个边缘服务器配置唯一设备标识。每个边缘服务器只能接受一个主播推一次流。因为是单机环境即一台机器上,相同的流名是会自动顶替的,所以不存在一台机器上存在多条数据流的情况。需要说明的是,为了提升推流和分发速度,该多个边缘服务器可以采用分散在各个地理位置上的内容分发网络(Content Delivery Network,CDN)技术来实现。
中心服务器60,用于为各边缘服务器的数据流提供边缘集群注册流服务。当某个边缘服务器(如,62A)有一条新的数据流,则会将这条数据流注册到中心服务器60,告知当前这条数据流是在这个边缘服务器(如,62A)上。如果中心服务器60发现这条数据流已经被其他的边缘服务器(如,62B)注册,则返回错误等。
基于上述示例性的系统架构,下面将具体介绍本申请实施例提供的防止重复推流的方案。
实施例一
参考图1,网络直播平台6可以包括:中心服务器60、第一边缘服务器62A、第二边缘服务器62B、…。
第一边缘服务器62A、第二边缘服务器62B、…,可以分别接收主播终端的数据流的推送请求。
以主播终端2为例,在直播过程中,主播终端2可能会由于不当操作或其他原因出现重复推流(推送多个数据流)的问题。下面以主播终端2推送两个数据流为例进行说明,其中一条数据流欲推送到第一边缘服务器62A,另一条数据流推送到第二边缘服务器62B。需说明,主播终端2也可能推送两个以上的数据流。
图2示意性示出了根据本申请实施例一的防止重复推流的方法的流程图。
如图2所示,该防止重复推流的方法可以包括步骤S200~S206,其中:
步骤S200,第一边缘服务器接收主播终端发送的第一数据流的推送请求,所述推送请求中携带主播标识。
步骤S202,所述第一边缘服务器响应于所述推送请求,向中心服务器发送注册请求,所述注册请求用于将所述第一数据流注册到所述中心服务器,所述注册请求包括所述主播标识。
步骤S204,所述中心服务器响应于所述注册请求,判断是否已注册有与所述主播标识关联的第二数据流,所述第二数据流为所述主播终端推送到第二边缘服务器的数据流。
步骤S206,所述中心服务器在确定已注册有所述第二数据流的情况下,执行数据流的去重操作。
在上述步骤中,中心服务器60提供边缘集群注册流服务,即记录各个数据流的注册信息。各个数据流的注册信息包括各自的主播标识,主播标识具有唯一性。可选的,各个数据流的注册信息还可以包括各自的终端标识,终端标识具有唯一性,每一个终端标识唯一绑定一位主播。主播标识,用于区分主播,可以是和主播名称、主播编号等。
(1)在接收主播终端2发送的第一数据流的推送请求之后,第一边缘服务器62A执行如下操作:
第一:解析所述推送请求,以得到主播标识等。
第二:生成携带所述主播标识的注册请求,并将注册请求发送给中心服务器60。
即,当第一边缘服务器62A有一条新的数据流(第一数据流),会申请将第一数据流注册到中心服务器60,让中心服务器60知道第一数据流是在第一边缘服务器62A上。
(2)由于各数据流的注册信息包括各自的主播标识,而主播标识具有唯一性。有鉴于此,在接收到第一边缘服务器62A的注册请求之后,中心服务器60执行如下操作:
第一:通过所述主播标识,查找是否当前是否存在与所述主播标识关联的其他数据流。
若存在与所述主播标识关联的其他数据流(下称第二数据流),则说明所述第一数据流是重复的数据流。即在主播终端2在发送所述第一数据流的推送请求的同时或之前,已经推送了一条数据流。若此时接收第一数据流的推送和进行流数据分发,会形成重复数据流,导致不同观众看到不同的数据,且影响直播系统内部的监控和稳定。
若不存在与所述主播标识关联的其他数据流,则说明所述第一数据流不是重复的数据流。
第二:在确定所述第一数据流和所述第二数据流来自主播终端2的重复数据流之后,进行数据流的去重操作,即仅允许所述第一数据流和所述第二数据流之一提供给观众终端4A、4B、…,从而防止重复推流(推送不同的数据流),确保观众体验。
第三:在确定所述第一数据流不是重复的数据流之后,会对所述第一数据流进行注册。
因此,当主播终端2重复推流(如出现具有同一主播标识的第一数据流、第二数据流),在注册第一数据流之前,发现第二数据流已经注册的情况下,会即时自主启动数据流的去重操作,从而避免不同观众看到不同的数据,确保直播系统内部的监控和稳定。
综上所述,通过边缘服务器和中心服务器60的数据流的注册机制,可以第一时间发现和防止重复推流,从而不会出现中途关掉一个数据流所导致的部分观众终端的直播显示。另外,相对于通过定时扫描检测重复推流,本方法不会过度增加服务器压力,且可以无遗漏地防止重复推流,不会出现定时扫描间隙存在的重复推流。
以下提供几个可选的实施例。
作为可选的实施例,所述去重操作包括生成表示拒绝推流的第一响应消息。如图3所示,所述方法还包括:
步骤S300,所述中心服务器将表示拒绝推流的第一响应消息返回给所述第一边缘服务器;
步骤S302,所述第一边缘服务器基于所述第一响应消息执行以下操作:
拒绝所述主播终端的第一数据流;或
接受所述主播终端的第一数据流,并对接收到的流数据进行存储但不分发到云端。
在本实施例中,继续通过第二数据流提供流数据给云端,进而由云端提供给观众终端4A、4B、…,并拒绝通过第一数据流提供流数据提供云端,避免重复推流。
第一数据流有以下两种处理方式:
(1)禁止推流:
第一边缘服务器62A拒绝接受所述第一数据流,或通知主播终端2关闭该第一数据流。
(2)接受推流,并对接收到的流数据进行存储但不分发到云端:
第一边缘服务器62A仅存储第一数据流的流数据,而不会分发到云端,避免以下问题:云端将第一数据流的流数据下发给观众终端4A、4B、…,和第二数据流的流数据冲突。
需要说明的是,第二种处理方式不仅可以避免重复推流给观众终端4A、4B、…,还可以保留所述第一数据流的流数据,所述第一数据流的流数据可以用于后续调用。
另外:
若采用第一种处理方法,可以不对第一数据流进行注册;
若采用第二种处理方法,可以对第一数据流进行注册,并将第一数据流标记为备用数据流。
作为可选的实施例,如图4所示,步骤S206还可以包括以下步骤:
步骤S400,所述中心服务器比较所述第一边缘服务器的通信质量和所述第二边缘服务器的通信质量;
步骤S402,所述中心服务器根据比较结果指定主边缘服务器和非主边缘服务器;
其中,所述主边缘服务器接受所述主播终端的推流,并将接收到的流数据分发到云端;
其中,所述非主边缘服务器:
拒绝所述主播终端的推流,或者
接受所述主播终端的推流,并对接收到的流数据进行存储但不分发到所述云端。
在本实施例中,在接收到第一边缘服务器62A的第一数据流的注册请求之后,中心服务器60若检测到存在与所述主播标识关联的第二数据流(即,所述第一数据流和所述第二数据流二者为来自主播终端2的重复数据流),则可以执行如下去重操作:动态地在多个边缘服务器(第一边缘服务器62A、第二边缘服务器62B)中选择一个网络环境最好的边缘服务器作为接受推流和流数据分发的主边缘服务器。未被选择的边缘服务器则作为不用于流数据分发的非主边缘服务器。因此,当同一个主播终端出现重复的数据流时,不会出现重复推流的情况,并在重复的数据流中选择最优的那条数据流进行推流和流数据分发,提高观众体验。
需要说明的是,非主边缘服务器对应其数据流的处理,上文有阐述,此处不再赘述。另外,中心服务器60还可以基于上述去重操作进行注册信息的添加、更新等。
作为可选的实施例,如图5所示,所述方法还包括:步骤S500,所述中心服务器监测所述主边缘服务器的运行状态和所述非主边缘服务器的运行状态。步骤S502,所述中心服务器在所述主边缘服务器运行异常时,调用所述非主边缘服务器分发流数据。作为示例,中心服务器60会定时检测各边缘服务器的网络情况和当前设备状态(如内存状态、CPU状态)。如果主播终端2推送至主边缘服务器的数据流出现抖动,主边缘服务器可以告知中心服务器60。中心服务器60可以查找当前是否有其他边缘服务器(非主边缘服务器)也在接收主播终端2推送的流数据。如果有其他边缘服务器,则自动切换让其他边缘服务器的流数据调度出去。
在上述可选的实施例中,所述中心服务器60通过主边缘服务器和非主边缘服务器的切换,将运行状态更好的非主边缘服务器作为新的主边缘服务器,从而让该运行状态更好的非主边缘服务器进行流数据的分发,提高数据传输质量和观众体验。
作为可选的实施例,如图6所示,步骤S502可以包括:步骤S600,比较所述主边缘服务器的流数据和所述非主边缘服务器的流数据;步骤S602,根据比较结果,判断所述非主边缘服务器的流数据是否能够用于分发;步骤S604,若所述非主边缘服务器的流数据能够用于分发,则调用所述非主边缘服务器分发流数据。
如,比较所述主边缘服务器的流数据和所述非主边缘服务器的流数据之间的内容是否大致相同,若二者相似度大于阈值,则判定所述非主边缘服务器的流数据能够用于分发。
举例而言,主播终端2出现多个数据流时,可能是相同内容的数据流或不同内容的数据流。
以主播终端2推送的第一数据流和第二数据流为例:
若当前的主边缘服务器为第一边缘服务器62A,即在当前直播过程中,由第一边缘服务器62A接受主播终端2的第一数据流并对接收到的流数据进行分发,由第二边缘服务器62B接受主播终端2的第二数据流但是不分发接收到的流数据。
若检测到第一边缘服务器62A运行异常,为确保直播内容的连续性和用户体验,中心服务器60判断第一数据流的流数据和第二数据流的流数据是否大致相同;若是,则可切换为分发第二数据流的流数据,即第二数据流的流数据可用于分发;若否,则不可切换为分发第二数据流的流数据,即第二数据流的流数据不可用于分发。
作为可选的实施例,如图7所示,所述方法还包括:步骤S700,所述中心服务器在确定没有注册所述第二数据流的情况下,对所述第一数据流进行注册,其中,注册信息包括所述主播标识和所述第一边缘服务器的设备标识;步骤S702,所述中心服务器将表示注册成功的第二响应消息返回给所述第一边缘服务器;及步骤S704,所述第一边缘服务器基于所述第二响应消息,接受所述主播终端的第一数据流并分发。
第一数据流的注册,在于让中心服务器60知道第一数据流的存在。若主播终端2后续推送新的数据流,则可以根据注册信息及时知道该新的数据流是重复的数据流。
作为可选的实施例,每个边缘服务器被配置为禁止同时接受同一主播标识的多个数据流。如图8所示,所述方法还包括:步骤S800,所述第一边缘服务器判断当前是否正在接受与所述主播标识关联的其他数据流;及步骤S802,所述第一边缘服务器在确定当前正在接受所述其他数据流的情况下,执行数据流的去重操作。具体的,每个边缘服务器只能接受一个主播推一次流。因为是单机环境即一台机器上,相同的流名是会自动顶替的,所以不存在一台机器上存在多条数据流的情况。即如果主播先后将两个数据流推送到同一个边缘服务器,则该同一个边缘服务器可以直接该主播在后推送的数据流,或用在后推送的数据流替换在先的数据流。
实施例二
本方法实施例可以被执行在中心服务器60中,具体细节可以参照上文。
所述中心服务器用于储存各数据流的注册信息。
图9示意性示出了根据本申请实施例二的防止重复推流的方法的流程图。
如图9所示,该防止重复推流的方法可以包括步骤S900~S906,其中:
步骤S900,接收第一边缘服务器的注册请求,所述注册请求用于将主播终端推送的第一数据流注册到所述中心服务器,所述注册请求包括所述第一数据流的注册信息,所述注册信息包括与所述主播终端关联的主播标识;
步骤S902,响应于所述注册请求,根据所述注册信息判断所述中心服务器是否注册有与所述主播标识关联的第二数据流,所述第二数据流为所述主播终端推送到第二边缘服务器的数据流;
步骤S904,在确定已注册有所述第二数据流的情况下,执行数据流的去重操作。
步骤S906,返回响应消息。
作为可选的实施例,所述响应消息包括表示拒绝推流的第一响应消息;
所述在确定已注册有所述第二数据流的情况下,执行数据流的去重操作,包括:
将所述第一响应消息返回给所述第一边缘服务器,以使所述第一边缘服务器执行以下操作:
拒绝所述主播终端的第一数据流;或
接受所述主播终端的第一数据流,并对接收到的流数据进行存储但不分发到云端。
作为可选的实施例,所述在确定已注册有所述第二数据流的情况下,执行数据流的去重操作,包括:
比较所述第一边缘服务器的通信质量和所述第二边缘服务器的通信质量;
根据比较结果指定主边缘服务器和非主边缘服务器;
其中,所述主边缘服务器用于接受所述主播终端的推流,并将接收到的流数据分发到云端;
其中,所述非主边缘服务器用于:
拒绝所述主播终端的推流,或者
接受所述主播终端的推流,并对接收到的流数据进行存储但不分发到所述云端。
作为可选的实施例,还包括:
以预设频率监测所述主边缘服务器的运行状态和所述非主边缘服务器的运行状态;及
在所述主边缘服务器运行异常的情况下,调用所述非主边缘服务器分发流数据。
作为可选的实施例,所述在所述主边缘服务器运行异常的情况下,调用所述非主边缘服务器分发流数据,包括:
比较所述主边缘服务器的流数据和所述非主边缘服务器的流数据;
根据比较结果,判断所述非主边缘服务器的流数据是否能够用于分发;
若所述非主边缘服务器的流数据能够用于分发,则调用所述非主边缘服务器分发流数据。
作为可选的实施例,所述响应消息包括表示注册成功的第二响应消息;所述方法还包括:
在确定没有注册所述第二数据流的情况下,对所述第一数据流进行注册,其中,所述第一数据流的注册信息包括所述主播标识和所述第一边缘服务器的设备标识;及
将所述第二响应消息返回给所述第一边缘服务器,以便所述第一边缘服务器基于所述第二响应消息,接受所述主播终端的第一数据流并将接收到的流数据分发到云端。
实施例三
图10示意性示出了根据本申请实施例三的防止重复推流的系统的框图,该防止重复推流的系统用于中心服务器中,所述中心服务器用于储存各数据流的注册信息。该防止重复推流的系统可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本实施例中各程序模块的功能。
如图10所示,该防止重复推流的系统1000可以包括接收模块1010、判断模块1020、执行模块1030及返回模块1040,其中:
接收模块1010,用于接收第一边缘服务器的注册请求,所述注册请求用于将主播终端推送的第一数据流注册到所述中心服务器,所述注册请求包括所述第一数据流的注册信息,所述注册信息包括与所述主播终端关联的主播标识;
判断模块1020,用于响应于所述注册请求,根据所述注册信息判断所述中心服务器是否注册有与所述主播标识关联的第二数据流,所述第二数据流为所述主播终端推送到第二边缘服务器的数据流;
执行模块1030,用于在确定已注册有所述第二数据流的情况下,执行数据流的去重操作;
返回模块1040,用于返回响应消息。
作为可选的实施例,所述响应消息包括表示拒绝推流的第一响应消息;所述执行模块,还用于:
将所述第一响应消息返回给所述第一边缘服务器,以使所述第一边缘服务器执行以下操作:
拒绝所述主播终端的第一数据流;或
接受所述主播终端的第一数据流,并对接收到的流数据进行存储但不分发到云端。
作为可选的实施例,所述执行模块1030还用于:
比较所述第一边缘服务器的通信质量和所述第二边缘服务器的通信质量;
根据比较结果指定主边缘服务器和非主边缘服务器;
其中,所述主边缘服务器用于接受所述主播终端的推流,并将接收到的流数据分发到云端;
其中,所述非主边缘服务器用于:
拒绝所述主播终端的推流,或者
接受所述主播终端的推流,并对接收到的流数据进行存储但不分发到所述云端。
作为可选的实施例,所述系统还包括调用模块(未标识),用于:
以预设频率监测所述主边缘服务器的运行状态和所述非主边缘服务器的运行状态;及
在所述主边缘服务器运行异常的情况下,调用所述非主边缘服务器分发流数据。
作为可选的实施例,所述调用模块,还用于:
比较所述主边缘服务器的流数据和所述非主边缘服务器的流数据;
根据比较结果,判断所述非主边缘服务器的流数据是否能够用于分发;
若所述非主边缘服务器的流数据能够用于分发,则调用所述非主边缘服务器分发流数据。
作为可选的实施例,所述响应消息包括表示注册成功的第二响应消息;
所述系统还包括返回模块1040,用于:
在确定没有注册所述第二数据流的情况下,对所述第一数据流进行注册,其中,所述第一数据流的注册信息包括所述主播标识和所述第一边缘服务器的设备标识;及
将所述第二响应消息返回给所述第一边缘服务器,以便所述第一边缘服务器基于所述第二响应消息,接受所述主播终端的第一数据流并将接收到的流数据分发到云端。
实施例四
图11示意性示出了根据本申请实施例四的适于实现防止重复推流的方法的计算机设备的硬件架构示意图。计算机设备10000可以作为中心服务器60、边缘服务器62A、62B。本实施例中,计算机设备10000是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备,例如,可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图11所示,计算机设备10000至少包括但不限于:可通过系统总线相互通信链接存储器10010、处理器10020、网络接口10030。其中:
存储器10010至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器10010可以是计算机设备10000的内部存储模块,例如该计算机设备10000的硬盘或内存。在另一些实施例中,存储器10010也可以是计算机设备10000的外部存储设备,例如该计算机设备10000上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,存储器10010还可以既包括计算机设备10000的内部存储模块也包括其外部存储设备。本实施例中,存储器10010通常用于存储安装于计算机设备10000的操作系统和各类应用软件,例如防止重复推流的方法的程序代码等。此外,存储器10010还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器10020在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器10020通常用于控制计算机设备10000的总体操作,例如执行与计算机设备10000进行数据交互或者通信相关的控制和处理等。本实施例中,处理器10020用于运行存储器10010中存储的程序代码或者处理数据。
网络接口10030可包括无线网络接口或有线网络接口,该网络接口10030通常用于在计算机设备10000与其他计算机设备之间建立通信链接。例如,网络接口10030用于通过网络将计算机设备10000与外部终端相连,在计算机设备10000与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,简称为GSM)、宽带码分多址(Wideband Code Division Multiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图11仅示出了具有部件10010-10030的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器10010中的防止重复推流的方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器10020)所执行,以完成本申请。
实施例五
本实施例还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中的防止重复推流的方法的步骤。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中的防止重复推流的方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (16)
1.一种防止重复推流的方法,其特征在于,用于中心服务器中,所述中心服务器用于储存各数据流的注册信息;所述方法包括:
接收第一边缘服务器的注册请求,所述注册请求用于将主播终端推送的第一数据流注册到所述中心服务器,所述注册请求包括所述第一数据流的注册信息,所述注册信息包括与所述主播终端关联的主播标识;
响应于所述注册请求,根据所述注册信息判断所述中心服务器是否注册有与所述主播标识关联的第二数据流,所述第二数据流为所述主播终端推送到第二边缘服务器的数据流;
在确定已注册有所述第二数据流的情况下,执行数据流的去重操作;
返回响应消息。
2.根据权利要求1所述的防止重复推流的方法,其特征在于,所述响应消息包括表示拒绝推流的第一响应消息;
所述在确定已注册有所述第二数据流的情况下,执行数据流的去重操作,包括:
将所述第一响应消息返回给所述第一边缘服务器,以使所述第一边缘服务器执行以下操作:
拒绝所述主播终端的第一数据流;或
接受所述主播终端的第一数据流,并对接收到的流数据进行存储但不分发到云端。
3.根据权利要求1所述的防止重复推流的方法,其特征在于,所述在确定已注册有所述第二数据流的情况下,执行数据流的去重操作,包括:
比较所述第一边缘服务器的通信质量和所述第二边缘服务器的通信质量;
根据比较结果指定主边缘服务器和非主边缘服务器;
其中,所述主边缘服务器用于接受所述主播终端的推流,并将接收到的流数据分发到云端;
其中,所述非主边缘服务器用于:
拒绝所述主播终端的推流,或者
接受所述主播终端的推流,并对接收到的流数据进行存储但不分发到所述云端。
4.根据权利要求3所述的防止重复推流的方法,其特征在于,还包括:
以预设频率监测所述主边缘服务器的运行状态和所述非主边缘服务器的运行状态;及
在所述主边缘服务器运行异常的情况下,调用所述非主边缘服务器分发流数据。
5.根据权利要求4所述的防止重复推流的方法,其特征在于,所述在所述主边缘服务器运行异常的情况下,调用所述非主边缘服务器分发流数据,包括:
比较所述主边缘服务器的流数据和所述非主边缘服务器的流数据;
根据比较结果,判断所述非主边缘服务器的流数据是否能够用于分发;
若所述非主边缘服务器的流数据能够用于分发,则调用所述非主边缘服务器分发流数据。
6.根据权利要求1至5任意一项所述的防止重复推流的方法,其特征在于,所述响应消息包括表示注册成功的第二响应消息;所述方法还包括:
在确定没有注册所述第二数据流的情况下,对所述第一数据流进行注册,其中,所述第一数据流的注册信息包括所述主播标识和所述第一边缘服务器的设备标识;及
将所述第二响应消息返回给所述第一边缘服务器,以便所述第一边缘服务器基于所述第二响应消息,接受所述主播终端的第一数据流并将接收到的流数据分发到云端。
7.一种防止重复推流的系统,其特征在于,用于中心服务器中,所述中心服务器用于储存各数据流的注册信息;所述系统包括:
接收模块,用于接收第一边缘服务器的注册请求,所述注册请求用于将主播终端推送的第一数据流注册到所述中心服务器,所述注册请求包括所述第一数据流的注册信息,所述注册信息包括与所述主播终端关联的主播标识;
判断模块,用于响应于所述注册请求,根据所述注册信息判断所述中心服务器是否注册有与所述主播标识关联的第二数据流,所述第二数据流为所述主播终端推送到第二边缘服务器的数据流;
执行模块,用于在确定已注册有所述第二数据流的情况下,执行数据流的去重操作;
返回模块,用于返回响应消息。
8.一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时用于实现权利要求1至6中任意一项所述的防止重复推流的方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行权利要求1至6中任意一项所述的防止重复推流的方法的步骤。
10.一种防止重复推流的方法,其特征在于,所述方法包括:
第一边缘服务器接收主播终端发送的第一数据流的推送请求,所述推送请求中携带主播标识;
所述第一边缘服务器响应于所述推送请求,向中心服务器发送注册请求,所述注册请求用于将所述第一数据流注册到所述中心服务器,所述注册请求包括所述主播标识;
所述中心服务器响应于所述注册请求,判断是否已注册有与所述主播标识关联的第二数据流,所述第二数据流为所述主播终端推送到第二边缘服务器的数据流;及
所述中心服务器在确定已注册有所述第二数据流的情况下,执行数据流的去重操作。
11.根据权利要求10所述的防止重复推流的方法,其特征在于,所述方法还包括:
所述中心服务器将表示拒绝推流的第一响应消息返回给所述第一边缘服务器;
其中,所述第一边缘服务器基于所述第一响应消息执行以下操作:
拒绝所述主播终端的第一数据流;或
接受所述主播终端的第一数据流,并对接收到的流数据进行存储但不分发到云端。
12.根据权利要求10所述的防止重复推流的方法,其特征在于,所述中心服务器在确定已注册有所述第二数据流的情况下,执行数据流的去重操作,包括:
所述中心服务器比较所述第一边缘服务器的通信质量和所述第二边缘服务器的通信质量;
所述中心服务器根据比较结果指定主边缘服务器和非主边缘服务器;
其中,所述主边缘服务器接受所述主播终端的推流,并将接收到的流数据分发到云端;
其中,所述非主边缘服务器:
拒绝所述主播终端的推流,或者
接受所述主播终端的推流,并对接收到的流数据进行存储但不分发到所述云端。
13.根据权利要求12所述的防止重复推流的方法,其特征在于,还包括:
所述中心服务器监测所述主边缘服务器的运行状态和所述非主边缘服务器的运行状态;及
所述中心服务器在所述主边缘服务器运行异常时,调用所述非主边缘服务器分发流数据。
14.根据权利要求13所述的防止重复推流的方法,其特征在于,所述中心服务器在所述主边缘服务器运行异常时,调用所述非主边缘服务器分发流数据,包括:
比较所述主边缘服务器的流数据和所述非主边缘服务器的流数据;
根据比较结果,判断所述非主边缘服务器的流数据是否能够用于分发;
若所述非主边缘服务器的流数据能够用于分发,则调用所述非主边缘服务器分发流数据。
15.根据权利要求10至14任意一项所述的防止重复推流的方法,其特征在于,还包括:
所述中心服务器在确定没有注册所述第二数据流的情况下,对所述第一数据流进行注册,其中,注册信息包括所述主播标识和所述第一边缘服务器的设备标识;
所述中心服务器将表示注册成功的第二响应消息返回给所述第一边缘服务器;及
所述第一边缘服务器基于所述第二响应消息,接受所述主播终端的第一数据流并分发。
16.根据权利要求10至14任意一项所述的防止重复推流的方法,其特征在于,每个边缘服务器被配置为禁止同时接受同一主播标识的多个数据流,所述方法还包括:
所述第一边缘服务器判断当前是否正在接受与所述主播标识关联的其他数据流;及
所述第一边缘服务器在确定当前正在接受所述其他数据流的情况下,执行数据流的去重操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111318484.0A CN114051146A (zh) | 2021-11-09 | 2021-11-09 | 防止重复推流的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111318484.0A CN114051146A (zh) | 2021-11-09 | 2021-11-09 | 防止重复推流的方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114051146A true CN114051146A (zh) | 2022-02-15 |
Family
ID=80207608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111318484.0A Pending CN114051146A (zh) | 2021-11-09 | 2021-11-09 | 防止重复推流的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114051146A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115174569A (zh) * | 2022-06-27 | 2022-10-11 | 普联技术有限公司 | 一种视频流传输的控制方法、装置、服务器及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105637926A (zh) * | 2013-06-11 | 2016-06-01 | 七网络有限责任公司 | 将应用流量分载至共享通信信道进行无线网络中的信令优化用于使用专有和非专有协议的流量 |
CN106850581A (zh) * | 2017-01-04 | 2017-06-13 | 网宿科技股份有限公司 | 互动直播流媒体数据的分发备份方法、系统及服务器 |
CN107026861A (zh) * | 2017-04-07 | 2017-08-08 | 深圳市茁壮网络股份有限公司 | 一种推流方法及装置 |
CN107566786A (zh) * | 2017-08-11 | 2018-01-09 | 深圳英飞拓科技股份有限公司 | 一种获取监控视频的方法、装置及终端设备 |
CN109729397A (zh) * | 2019-01-29 | 2019-05-07 | 网宿科技股份有限公司 | 一种推流方法、系统及服务器 |
CN110139123A (zh) * | 2018-02-02 | 2019-08-16 | 腾讯科技(深圳)有限公司 | 流媒体文件的播放、发送、处理方法和装置 |
CN113573093A (zh) * | 2021-08-02 | 2021-10-29 | 杭州米络星科技(集团)有限公司 | 直播数据分析方法、装置、电子设备及存储介质 |
-
2021
- 2021-11-09 CN CN202111318484.0A patent/CN114051146A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105637926A (zh) * | 2013-06-11 | 2016-06-01 | 七网络有限责任公司 | 将应用流量分载至共享通信信道进行无线网络中的信令优化用于使用专有和非专有协议的流量 |
CN106850581A (zh) * | 2017-01-04 | 2017-06-13 | 网宿科技股份有限公司 | 互动直播流媒体数据的分发备份方法、系统及服务器 |
CN107026861A (zh) * | 2017-04-07 | 2017-08-08 | 深圳市茁壮网络股份有限公司 | 一种推流方法及装置 |
CN107566786A (zh) * | 2017-08-11 | 2018-01-09 | 深圳英飞拓科技股份有限公司 | 一种获取监控视频的方法、装置及终端设备 |
CN110139123A (zh) * | 2018-02-02 | 2019-08-16 | 腾讯科技(深圳)有限公司 | 流媒体文件的播放、发送、处理方法和装置 |
CN109729397A (zh) * | 2019-01-29 | 2019-05-07 | 网宿科技股份有限公司 | 一种推流方法、系统及服务器 |
CN113573093A (zh) * | 2021-08-02 | 2021-10-29 | 杭州米络星科技(集团)有限公司 | 直播数据分析方法、装置、电子设备及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115174569A (zh) * | 2022-06-27 | 2022-10-11 | 普联技术有限公司 | 一种视频流传输的控制方法、装置、服务器及存储介质 |
CN115174569B (zh) * | 2022-06-27 | 2024-03-19 | 普联技术有限公司 | 一种视频流传输的控制方法、装置、服务器及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109618174B (zh) | 一种直播数据传输方法、装置、系统以及存储介质 | |
CN110417595B (zh) | 业务服务容灾方法、装置、系统、管理服务器及电子设备 | |
CN108810657B (zh) | 一种设置视频封面的方法和系统 | |
US9596313B2 (en) | Method, terminal, cache server and system for updating webpage data | |
WO2021237433A1 (zh) | 消息推送方法、装置、电子设备及计算机可读介质 | |
CN111432158B (zh) | 媒体节点的负载均衡方法及装置、存储介质、电子装置 | |
CN103312593B (zh) | 一种消息分发系统及方法 | |
US11212369B2 (en) | Distributed storage of state information and session recovery using state information | |
EP3057287A1 (en) | Node allocation method, device and system | |
CN113347158A (zh) | 一种流媒体数据收发方法、装置及电子设备 | |
CN110392119B (zh) | 一种数据传输方法及基站 | |
CN114051146A (zh) | 防止重复推流的方法和系统 | |
CN108551571B (zh) | 一种监控视频分发方法、装置、系统以及分发服务器 | |
CN112532714B (zh) | 一种数据处理方法、处理装置、服务器及存储介质 | |
US20180146261A1 (en) | Message Sending Method and Device, Code Stream Processing Method and Device | |
CN115412974B (zh) | 分流通信方法、装置、设备及可读存储介质 | |
CN109120541B (zh) | 限制网速的方法、装置、终端设备和存储介质 | |
CN111224983A (zh) | 跨网段发现设备的方法及装置 | |
CN110798693A (zh) | 一种用户管理方法、服务器及计算机可读存储介质 | |
CN109787870B (zh) | 接入管理方法、装置、系统、初始及目标接入设备 | |
CN112148320A (zh) | 一种应用程序升级方法、装置、设备及存储介质 | |
CN113068061B (zh) | 直播时长的确定方法、装置、存储介质和电子设备 | |
CN113965797A (zh) | 直播间切换方法和系统 | |
CN115002506A (zh) | 一种视频下载方法、装置、介质及设备 | |
CN114077409A (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 |