CN108184140B - 一种直播连麦方法、服务器、存储介质及计算机设备 - Google Patents
一种直播连麦方法、服务器、存储介质及计算机设备 Download PDFInfo
- Publication number
- CN108184140B CN108184140B CN201810023758.5A CN201810023758A CN108184140B CN 108184140 B CN108184140 B CN 108184140B CN 201810023758 A CN201810023758 A CN 201810023758A CN 108184140 B CN108184140 B CN 108184140B
- Authority
- CN
- China
- Prior art keywords
- anchor
- user
- wheat
- client
- anchor user
- 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.)
- Active
Links
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/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- 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
-
- 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/2408—Monitoring of the upstream path of the transmission network, e.g. client requests
-
- 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/254—Management at additional data server, e.g. shopping server, rights management server
-
- 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/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25866—Management of end-user data
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/488—Data services, e.g. news ticker
- H04N21/4882—Data services, e.g. news ticker for displaying messages, e.g. warnings, reminders
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Graphics (AREA)
- Telephonic Communication Services (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种直播连麦方法、服务器、存储介质及计算机设备,应用于网络直播领域,该方法包括:接收来自于第一主播用户所在的第一主播客户端的随机连麦请求;在连麦服务器所建立的连麦候选池中为第一主播用户匹配第二主播用户;如果第一主播用户与第二主播用户匹配成功,建立第一主播客户端与第二主播用户所在的第二主播客户端之间的连麦服务,使得第一主播用户与第二主播用户之间进入连麦状态,本发明解决了现有技术中主播连麦可靠性不高的技术问题。
Description
技术领域
本发明涉及网络直播领域,尤其涉及一种直播连麦方法、服务器、存储介质及计算机设备。
背景技术
现在视频直播行业正处于互联网风口,目前直播最常见的形式是主播在自己直播间面向自己的粉丝进行直播。更具互动性的直播方式是,两个主播用户之间进行连麦,把两个主播用户的双方画面拼在一个窗口,让两个主播用户的观看用户可以同时看到两个主播用户的直播画面,两个主播用户可以进行互动。
就目前的主播连麦统计数据来看,一些主播用户由于人气不高,连麦对象太少,连麦时存在局限性,因此,这部分主播的连麦成功性不高,而一些人气较高的主播会存在连麦排队,可见,现有技术中主播连麦可靠性不高。
发明内容
本发明实施例通过提供一种直播连麦方法、服务器、存储介质及计算机设备,解决了现有技术中主播连麦可靠性不高的技术问题。
第一方面,本发明实施例提供一种直播连麦方法,应用于连麦服务器,所述方法包括:
接收来自于第一主播用户所在的第一主播客户端的随机连麦请求;
在所述连麦服务器所建立的连麦候选池中为所述第一主播用户匹配第二主播用户;
如果所述第一主播用户与所述第二主播用户匹配成功,建立所述第一主播客户端与所述第二主播用户所在的第二主播客户端之间的连麦服务,使得所述第一主播用户与所述第二主播用户之间进入连麦状态。
可选的,所述在所述连麦服务器所建立的连麦候选池中为所述第一主播用户匹配第二主播用户,包括:
在接收到来自所述第一主播客户端的所述随机连麦请求时,查询所述连麦候选池中是否存在正在等待连麦的主播用户;
如果所述连麦候选池中存在正在等待连麦的主播用户,从所述连麦候选池中选择一个正在等待连麦的主播用户,确定为所述第二主播用户;
将所述第一主播用户和所述第二主播用户匹配成功;
从所述连麦候选池中删除所述第二主播用户。
可选的,所述在所述连麦服务器所建立的连麦候选池中为所述第一主播用户匹配第二主播用户,还包括:
在所述查询所述连麦候选池中是否存在正在等待连麦的主播用户之后,如果所述连麦候选池中不存在正在等待连麦的主播用户,将所述第一主播用户加入至所述连麦候选池,并记录所述第一主播用户被加入所述连麦候选池时的时间戳;
将所述第一主播用户在以所述时间戳为起始时刻的预设时长内保持在所述连麦候选池中;
如果在所述预设时长内接收到来自所述第二主播用户发起的随机连麦请求,将所述第一主播用户与所述第二主播用户匹配成功,并且从所述连麦候选池中删除所述第一主播用户;
如果所述第一主播用户保持在所述连麦候选池中的时长超过所述预设时长,从所述连麦候选池中删除所述第一主播用户,并且向所述第一主播客户端下发匹配失败消息。
可选的,在所述第一主播用户与所述第二主播用户匹配成功之后,所述方法还包括:
向所述第一主播客户端和所述第二主播客户端发送匹配成功消息,所述匹配成功消息用于指示所述第一主播客户端和所述第二主播客户端各自隐藏匹配等待界面;
获取表征所述第一主播用户与所述第二主播用户之间连麦状态的连麦状态数据,存储至所述连麦服务器所建立的连麦会话中。
可选的,在将所述第一主播用户加入至所述连麦候选池之后,并且在所述第一主播用户与所述第二主播用户匹配成功之前,所述方法还包括:
如果接收到来自所述第一主播客户端的取消连麦请求,从所述连麦候选池中删除所述第一主播用户,并且向所述第一主播用户所在的所述第一主播客户端发送删除成功消息。
可选的,在所述建立所述第一主播客户端与所述第二主播用户所在的第二主播客户端之间的连麦服务之后,所述方法还包括:
接收结束连麦请求,所述结束连麦请求来自所述第一主播客户端或者所述第二主播客户端,所述结束连麦请求中携带有所述第一主播用户的用户ID和所述第二主播用户的用户ID;
根据所述第一主播用户的用户ID和所述第二主播用户的用户ID构建目标查询数据;
在所述连麦会话中进行查询是否存在所述目标查询数据;
如果所述连麦会话中存在所述目标查询数据,结束所述第一主播客户端与所述第一主播客户端之间的连麦服务,并且从所述连麦会话中删除表征所述第一主播用户与所述第二主播用户之间连麦状态的连麦状态数据,还向所述第一主播客户端和所述第二主播客户端发送连麦结束通知消息;
如果所述连麦会话中不存在所述目标查询数据,向发起所述结束连麦请求的主播客户端返回错误消息。
可选的,在所述建立所述第一主播客户端与所述第二主播用户所在的第二主播客户端之间的连麦服务之后,所述方法还包括:
接收来自所述第一主播客户端按照预设心跳时间间隔发送的第一心跳消息和所述第二主播客户端按照所述预设心跳时间间隔发送的第二心跳消息,所述第一心跳消息和所述第二心跳消息中均携带有所述第一主播用户的用户ID和所述第二主播用户的用户ID;
在接收到所述第一心跳消息时,在所述连麦会话中更新所述第一主播用户的保活时间戳,在接收到所述第二心跳消息时,在所述连麦会话中更新所述第二主播用户的保活时间戳;
如果超过预设检查时长没有接收到所述第一心跳消息,则结束所述第一主播客户端与所述第二主播客户端之间的连麦服务,并且向所述第二主播客户端发送主播失连消息;
如果超过预设检查时长没有接收到所述第二心跳消息,则结束所述第一主播客户端与所述第二主播客户端之间的连麦服务,并且向所述第一主播客户端发送主播失连消息。
第二方面,本发明实施例提供一种连麦服务器,包括:
连麦请求接收单元,用于接收来自于第一主播用户所在的第一主播客户端的随机连麦请求;
主播用户匹配单元,用于在所述连麦服务器所建立的连麦候选池中为所述第一主播用户匹配第二主播用户;
连麦服务建立单元,用于如果所述第一主播用户与所述第二主播用户匹配成功,建立所述第一主播客户端与所述第二主播用户所在的第二主播客户端之间的连麦服务,使得所述第一主播用户与所述第二主播用户之间进入连麦状态。
可选的,所述主播用户匹配单元,包括:
池中查询子单元,用于在接收到来自所述第一主播客户端的所述随机连麦请求时,查询所述连麦候选池中是否存在正在等待连麦的主播用户;
选择子单元,用于如果所述连麦候选池中存在正在等待连麦的主播用户,从所述连麦候选池中选择一个正在等待连麦的主播用户,确定为所述第二主播用户;
第一匹配子单元,用于将所述第一主播用户和所述第二主播用户匹配成功;
第一删除子单元,用于从所述连麦候选池中删除所述第二主播用户。
可选的,所述主播用户匹配单元,还包括:
加入子单元,用于在所述查询所述连麦候选池中是否存在正在等待连麦的主播用户之后,如果所述连麦候选池中不存在正在等待连麦的主播用户,将所述第一主播用户加入至所述连麦候选池,并记录所述第一主播用户被加入所述连麦候选池时的时间戳;
等待子单元,用于将所述第一主播用户在以所述时间戳为起始时刻的预设时长内保持在所述连麦候选池中;
第二匹配子单元,用于如果在所述预设时长内接收到来自所述第二主播用户发起的随机连麦请求,将所述第一主播用户与所述第二主播用户匹配成功,并且从所述连麦候选池中删除所述第一主播用户;
第二删除子单元,用于如果所述第一主播用户保持在所述连麦候选池中的时长超过所述预设时长,从所述连麦候选池中删除所述第一主播用户,并且向所述第一主播客户端下发匹配失败消息。
可选的,所述连麦服务器还包括:
成功消息发送单元,用于在所述第一主播用户与所述第二主播用户匹配成功之后,向所述第一主播客户端和所述第二主播客户端发送匹配成功消息,所述匹配成功消息用于指示所述第一主播客户端和所述第二主播客户端各自隐藏匹配等待界面;
状态数据单元,用于获取表征所述第一主播用户与所述第二主播用户之间连麦状态的连麦状态数据,存储至所述连麦服务器所建立的连麦会话中。
可选的,所述连麦服务器还包括:
取消连麦处理单元,用于在将所述第一主播用户加入至所述连麦候选池之后,并且在所述第一主播用户与所述第二主播用户匹配成功之前,如果接收到来自所述第一主播客户端的取消连麦请求,从所述连麦候选池中删除所述第一主播用户,并且向所述第一主播用户所在的所述第一主播客户端发送删除成功消息。
可选的,所述连麦服务器还包括:
结束连麦请求接收单元,用于在所述建立所述第一主播客户端与所述第二主播用户所在的第二主播客户端之间的连麦服务之后,接收结束连麦请求,所述结束连麦请求来自所述第一主播客户端或者所述第二主播客户端,所述结束连麦请求中携带有所述第一主播用户的用户ID和所述第二主播用户的用户ID;
数据构建单元,用于根据所述第一主播用户的用户ID和所述第二主播用户的用户ID构建目标查询数据;
数据查询单元,用于在所述连麦会话中进行查询是否存在所述目标查询数据;
结束连麦处理单元,用于如果所述连麦会话中存在所述目标查询数据,结束所述第一主播客户端与所述第一主播客户端之间的连麦服务,并且从所述连麦会话中删除表征所述第一主播用户与所述第二主播用户之间连麦状态的连麦状态数据,还向所述第一主播客户端和所述第二主播客户端发送连麦结束通知消息;
错误消息发送单元,用于如果所述连麦会话中不存在所述目标查询数据,向发起所述结束连麦请求的主播客户端返回错误消息。
可选的,所述连麦服务器还包括:
心跳消息接收单元,用于在所述建立所述第一主播客户端与所述第二主播用户所在的第二主播客户端之间的连麦服务之后,接收来自所述第一主播客户端按照预设心跳时间间隔发送的第一心跳消息和所述第二主播客户端按照所述预设心跳时间间隔发送的第二心跳消息,所述第一心跳消息和所述第二心跳消息中均携带有所述第一主播用户的用户ID和所述第二主播用户的用户ID;
时间戳更新单元,用于在接收到所述第一心跳消息时,在所述连麦会话中更新所述第一主播用户的保活时间戳,在接收到所述第二心跳消息时,在所述连麦会话中更新所述第二主播用户的保活时间戳;
第一失连处理单元,用于如果超过预设检查时长没有接收到所述第一心跳消息,则结束所述第一主播客户端与所述第二主播客户端之间的连麦服务,并且向所述第二主播客户端发送主播失连消息;
第二失连处理单元,用于如果超过预设检查时长没有接收到所述第二心跳消息,则结束所述第一主播客户端与所述第二主播客户端之间的连麦服务,并且向所述第一主播客户端发送主播失连消息。
第三方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面的任一种可能的实现方式所述的步骤。
第四方面,本发明实施例提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面的任一种可能的实现方式所述的步骤。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
接收来自于第一主播用户所在的第一主播客户端的随机连麦请求;在连麦服务器所建立的连麦候选池中为第一主播用户匹配第二主播用户;如果第一主播用户与第二主播用户匹配成功,建立第一主播客户端与第二主播用户所在的第二主播客户端之间的连麦服务,使得第一主播用户与第二主播用户之间进入连麦状态。因此,只要有两个发起随机连麦请求的主播客户端,就能够连麦成功,不需要向某个指定的主播用户发起连麦请求,提高了人气不高的主播用户所在的主播客户端的连麦成功率,缓解了人气较高的主播用户所在的主播客户端的负载压力,因此,平衡了不同级别的主播用户的主播客户端之间的连麦,进而,能够提高主播连麦的可靠性。
另外,通过本发明实施例还提升了主播趣味性,进而可以大大提升连麦活跃性,进而加强平台主播间的互动性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的直播连麦方法所在的网络架构的示意图;
图2为本发明实施例提供的直播连麦方法的流程示意图;
图3为本发明实施例提供的连麦服务器的流程示意图;
图4为本发明实施例提供的计算机可读存储介质的结构示意图;
图5为本发明实施例提供的计算机设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的一种直播连麦方法,应用于连麦服务器,连麦服务器与各个主播客户端之间通过通信网络建立连接,连麦服务器10可以接收各主播客户端在直播过程中发起的随机连麦请求。
参考图1所示,图1给出本发明实施例所处的网络架构,该网络架构包括连麦服务器10,在连麦服务器10中建立有连麦候选池101,并且由连麦服务器10维护连麦候选池101,还包括多个主播客户端20,每个主播客户端20上登陆有主播用户,每个主播客户端20与连麦服务器10之间建立有数据连接,每个主播客户端20都能够向连麦服务器10发起随机连麦请求,在连麦候选池101中加入有发起随机连麦请求后没有立即匹配到主播客户端20而是在等待随机连麦的另一个主播客户端20。
参考图2所示,本发明实施例提供的直播连麦方法,应用连麦服务器,包括如下步骤:
首先,执行步骤S101:连麦服务器接收来自于第一主播用户所在的第一主播客户端的随机连麦请求。
在第一主播客户端启动并且第一主播用户登录至第一主播用户之后,第一主播客户端可以发起随机连麦请求。具体来讲,在第一主播客户端启动并且第一主播用户登录至第一主播客户端之后,如果第一主播用户点击随机连麦按钮,第一主播客户端会响应于第一主播用户对随机连麦按钮的点击操作而向连麦服务器发送随机连麦请求,从而连麦服务器接收到来自于第一主播用户所在的第一主播客户端的随机连麦请求。
需要说明的是,第一主播用户不是特指某个主播用户,而在处于该网络架构中的任一主播用户,第一主播客户端是第一主播用户可以登录的任一主播客户端。
还需要说明的是,随机连麦请求中携带有随机连麦消息,比如,可以命名为AP_RandomPhoneStart,在第一主播用户向连麦服务器发送随机连麦请求时,会在第一主播客户端上显示匹配等待界面,直到第一主播客户端接收到第一主播用户对取消连麦按钮的点击操作所产生的取消连麦指示,或者接收到来自连麦服务器的对第一主播客户端发起的随机连麦请求的响应消息,具体的,连麦服务器的响应消息可能是为第一主播用户匹配第二主播用户失败时的匹配失败消息、也可能是为第一主播用户匹配第二主播用户成功时的匹配成功消息。
在步骤S101之后,接着执行步骤S102:连麦服务器在连麦服务器所建立的连麦候选池中为第一主播用户匹配第二主播用户。
需要说明的是,在执行步骤S101之间,连麦服务器建立并维护一个连麦候选池,比如,可以命名为RandomPhonePool,连麦候选池中存在的是正在等待连麦的主播用户。
具体的,在一种实施方式中,第二主播用户不是特指的某一个主播用户,而是连麦服务器当接收到第一主播客户端的随机连麦请求时在连麦候选池中随机匹配的一个主播用户,在这种实施方式中,只要连麦候选池中有正在等待连麦的主播用户,就会将第一主播用户与连麦候选池中有正在等待连麦的唯一一个主播用户匹配成功,所以在这种实施方式下,连麦候选池中始终只存在一个正在等待连麦的主播用户或者不存在正在等待连麦的主播用户。
具体的,在另一实施方式中,第二主播用户是:连麦服务器接收到第一主播客户端的随机连麦请求时从连麦候选池中正在等待连麦的主播用户中选择满足一定条件的一个主播用户确定为第二主播用户,在这种实施方式下,连麦候选池中可能会存在多个正在等待连麦的主播用户。
具体来讲,可以是如下一种方式从连麦候选池中为第一主播用户选择一个主播用户:
方式一、从连麦候选池中存在的一个以上主播用户中选择预设时间段内连麦次数少于预设连麦次数阈值一个主播用户,确定为第二主播用户。
方式二、从连麦候选池中存在的一个以上主播用户中选择当前观看用户量大于预设观看用户量阈值的一个主播用户,确定为第二主播用户。
方式三、从连麦候选池中存在的一个以上主播用户中随机选择处于同一地域范围的一个主播用户,确定为第二主播用户。
方式四、从连麦候选池中存在的一个以上主播用户中选择当前关注用户量大于预设关注用户量的一个主播用户,确定为第二主播用户。
在具体实施过程中,为了提高随机连麦的匹配成功概率,无论是在连麦候选池中为第一主播用户随机匹配一个主播用户,还是从连麦候选池中正在等待连麦的主播用户中选择满足一定条件的一个主播用户,步骤S102的具体实施过程均可以包括如下步骤:
首先,执行步骤S1021:在连麦服务器接收到来自第一主播客户端的随机连麦请求时,连麦服务器查询连麦候选池中是否存在正在等待连麦的主播用户,如果连麦候选池中存在正在等待连麦的主播用户,连麦服务器依次执行步骤S1022~S1024,如果连麦候选池中不存在正在等待连麦的主播用户,则连麦服务器依次执行步骤S1022’~S1024’。
具体来讲,连麦服务器接收到第一主播客户端的随机连麦请求时,连麦服务器在本地维护的连麦候选池中进行查询。
在具体实施过程中,步骤S1022~S1024的实施过程具体如下:
首先,执行步骤S1022、连麦服务器从连麦候选池中选择一个正在等待连麦的主播用户确定为第二主播用户;
接着,执行步骤S1023、连麦服务器将第一主播用户和第二主播用户匹配成功;
接着,执行步骤S1024、连麦服务器从连麦候选池中删除第二主播用户。
在具体实施过程中,步骤S1022’~S1024’的实施过程具体如下:
执行步骤S1022’:将第一主播用户加入至连麦候选池,并记录第一主播用户被加入连麦候选池时的时间戳。
如果S1021的查询结果为连麦候选池中不存在正在等待连麦的主播用户,则表明连麦候选池为空,说明连麦候选池中当前没有任何一个主播用户在正在等待连麦,则把当前发起随机连麦请求的第一主播用户加入连麦候选池中,同时记录第一主播用户加入连麦候选池中时的时间戳,比如,可以命名为RandomWaitTimestamp。
接着,执行步骤S1023’:连麦服务器将第一主播用户在以时间戳为起始时刻的预设时长内保持在连麦候选池中。
在具体实施过程中,预设时长可以根据实际需求进行设置,比如,可以设置为28秒、或者30秒或者其他近似的数值。
接着,执行步骤S1024’:如果在预设时长内接收到来自第二主播用户发起的随机连麦请求,将第一主播用户与第二主播用户匹配成功,并且从连麦候选池中删除第一主播用户;如果第一主播用户保持在连麦候选池中的时长超过预设时长,从连麦候选池中删除第一主播用户,并且向第一主播客户端下发匹配失败消息。
需要说明的是,如果在预设时长内未接收到来自任何主播用户发起的随机连麦请求,则会导致第一主播用户保持在连麦候选池中的时长超过预设时长。
具体的,在步骤S1024’中,连麦服务器通过定时器每隔1秒轮询一次连麦候选池,每次轮询时会校验第一主播用户加入连麦候选池的时间戳与当前时间,如果校验结果为当前时间与时间戳之间时间差大于预设时长,则表明第一主播用户保持在连麦候选池中的时长已经超过预设时长,则连麦服务器将第一主播用户从连麦候选池中删除,并给第一主播用户所在的第一主播客户端发送匹配超时消息,可以命名为AP_RandomPhoneTimeout。使得第一主播客户端收到匹配超时消息后,隐藏第一主播客户端的匹配等待界面,并在第一主播客户端输出用于提示第一主播用户匹配超时的信息。
具体的,无论是在步骤S1023中的第一主播用户与第二主播用户匹配成功之后,还是在执行步骤S1024’中的第一主播用户与第二主播用户匹配成功之后,只要第一主播用户与第二主播用户匹配成功,还包括如下步骤S1025~S1026:
S1025、连麦服务器向第一主播客户端和第二主播客户端发送匹配成功消息,其中,匹配成功消息中携带有第一主播用户的用户ID(Identity,身份标识号码)和第二主播用户的用户ID。
需要说明的是,匹配成功消息用于指示第一主播客户端和第二主播客户端各自隐藏匹配等待界面。匹配成功消息还可以用于指示第一主播客户端和第二主播客户端各自输出用于提示第一主播用户和第二主播用户进入连麦状态的提示信息。
S1026、连麦服务器获取表征第一主播用户与第二主播用户之间连麦状态的连麦状态数据,存储至连麦服务器所建立的连麦会话中。
具体的,连麦状态数据是一个Map数据结构,即字典或关联数据结构,Map数据结构用于保存具有映射关系的数据,Map数据结构中保存两组数据:key和value,其中一组数据KEY的类型是std::pair<int,int>,pair值使用第一主播用户与第二主播用户的双方用户ID进行组合,且用户ID较大的在前面。
在步骤S102之后,执行步骤S103:如果第一主播用户与第二主播用户匹配成功,连麦服务器建立第一主播客户端与第二主播用户所在的第二主播客户端之间的连麦服务,使得第一主播用户与第二主播用户进入连麦状态。
进一步的技术方案中,为了实现在建立连麦服务之前可以随时取消连麦,还包括如下步骤:在第一主播用户与第二主播用户匹配成功之前,如果接收到来自第一主播客户端的取消连麦请求,连麦服务器从连麦候选池中删除第一主播用户,并且向第一主播用户所在的第一主播客户端发送删除成功消息。
进一步的技术方案中,为了实现在建立连麦服务之后,主播用户能够随时取消连麦,还包括如下步骤:
步骤A1、在建立第一主播客户端与第二主播用户所在的第二主播客户端之间的连麦服务之后,连麦服务器接收来自第一主播客户端或者第二主播客户端的结束连麦请求,结束连麦请求中携带有第一主播用户的用户ID和第二主播用户的用户ID。
具体来讲,在步骤A1中,第一主播用户与第二主播用户进入连麦状态之后,第一主播用户与第二主播用户都可以点击结束连麦按钮,以此来随时结束连麦。第一主播客户端接收到第一主播用户对结束连麦按钮的点击操作时向连麦服务器发送结束连麦请求,第二主播客户端接收到第二主播用户对结束连麦按钮的点击操作时向连麦服务器发送结束连麦请求,因此,无论连麦服务器接收到来自第一主播客户端的结束连麦请求还是来自第二主播客户端的结束连麦请求,都执行步骤A2。
在一优选的实施例方式中,在第一主播用户与第二主播用户进入连麦状态的时刻开始,达到预设连麦时长时,下发指示显示结束连麦按钮的指示,指示第一主播客户端和第二主播客户端显示结束连麦按钮。通过这种方式,能避免恶意连麦。
具体的,结束连麦请求中携带有结束连麦消息AP_RandomPhoneOver,结束连麦消息中携带有第一主播用户的用户ID和第二主播用户的用户ID。
步骤A2、如果连麦服务器接收到结束连麦请求,连麦服务器根据第一主播用户的用户ID和第二主播用户的用户ID构建目标查询数据。
需要说明的是,目标查询数据为Map数据结构中的KEY数据,KEY数据的类型具体为std::pair<int,int>,与连麦会话中的连麦状态数据的KEY数据的类型相同,目标查询数据中包含有第一主播用户的用户ID和第二主播用户的用户ID。
步骤A3、连麦服务器在连麦会话中进行查询是否存在目标查询数据;如果连麦会话中存在目标查询数据,则执行步骤A4,如果连麦会话中不存在目标查询数据,则执行步骤A5。
步骤A4具体为:连麦服务器结束第一主播客户端与第一主播客户端之间的连麦服务,并且从连麦会话中删除表征第一主播用户与第二主播用户之间连麦状态的连麦状态数据,还向第一主播客户端和第二主播客户端发送连麦结束通知消息;
步骤A5具体为:连麦服务器向发起结束连麦请求的主播客户端返回错误消息。
在具体实施过程中,发起结束连麦请求的主播客户端可以为第一主播客户端,也可以是第二主播客户端。
通过上述步骤A1~A5,能够在处于连麦状态的任何一个主播用户都能够根据需要结束连麦,提高了连麦的灵活性。
进一步的,在建立第一主播客户端与第二主播用户所在的第二主播客户端之间的连麦服务之后,还可以包括如下步骤:
步骤B1、连麦服务器接收来自第一主播客户端按照预设心跳时间间隔发送的第一心跳消息和第二主播客户端按照预设心跳时间间隔发送的第二心跳消息,第一心跳消息和第二心跳消息中均携带有第一主播用户的用户ID和第二主播用户的用户ID。在接收到第一心跳消息时,在连麦会话中更新第一主播用户的保活时间戳,在接收到第二心跳消息时,在连麦会话中更新第二主播用户的保活时间戳。
具体实施过程中,预设心跳时间间隔根据实际需求进行设置,比如,预设心跳时间间隔可以设置为1~10秒中的任意一个数值,以预设心跳时间间隔为5秒进行举例来讲:在建立第一主播客户端与第二主播用户所在的第二主播客户端之间的连麦服务之后,第一主播客户端每隔5秒向连麦服务器的连麦服务发送一次第一心跳消息,可以命名为AP_RandomPhoneHeartbeat,第一心跳消息中携带有第一主播用户的用户ID和第二主播用户的用户ID。连麦服务器的连麦服务收到第一心跳消息后,更新第一主播用户在连麦会话中的保活时间戳。同样的,第二主播客户端每隔5秒向连麦服务器的连麦服务发送一次第二心跳消息,可以命名为AP_RandomPhoneHeartbeat,第二心跳消息中携带有第二主播用户的用户ID和第一主播用户的用户ID。连麦服务器的连麦服务接收到收到来自第二主播用户的第二心跳消息后,更新第二主播用户在连麦会话中的保活时间戳。
步骤B2、连麦服务器按照预设检查时间间隔检查是否接到第一心跳消息,以及按照预设检查时间间隔检查是否接收到第二心跳消息,如果超过预设检查时长均没有接收到第一心跳消息,则执行步骤B3,如果超过预设检查时长均没有接收到第二心跳消息,则执行步骤B4。
具体的,预设检查时间间隔和预设检查时长可以根据实际需求进行设置,预设检查时间间隔可以设置为1-3秒中任一数值,预设检查时长可以设置为10~15中的任一数值。比如,预设检查时间间隔设置为1秒,则连麦服务器会通过定时器每隔1秒检查一次所有处于连麦状态的主播用户在连麦会话中的保活时间戳,其中,包括第一主播用户在连麦会话中的保活时间戳和第二主播用户在连麦会话中的保活时间戳,如果超过15秒没有收到心跳消息的主播客户端,则认为对应的主播用户失连。
步骤B3、连麦服务器结束第一主播客户端与第二主播客户端之间的连麦服务,并且向第二主播客户端发送主播失连消息。
步骤B4、连麦服务器结束第一主播客户端与第二主播客户端之间的连麦服务,并且向所述第一主播客户端发送主播失连消息。
通过上述步骤B1~B4能够监测处于连麦状态的两个主播用户是否失连,在一方主播用户失连时,能够即使通知另一方主播用户所在的主播客户端,提示另一方主播用户,以便进行重新连麦。
下面,对本发明实施例提供的直播连麦方法,基于主播客户端A、主播客户端B和连麦服务器为例给出一交互实施例,主播客户端A上登陆有主播用户X,主播客户端B上登陆有主播用户Y,以理解本发明:
主播客户端A:主播用户X启动主播客户端A并基于用户ID登录后,点击随机连麦按钮,则主播客户端A发起随机连麦请求,在主播客户端A上显示匹配等待界面,直到主播用户X点击取消随机连麦按钮进行取消随机连麦或者收到连麦服务器的响应消息。
连麦服务器:接收主播客户端A的随机连麦请求,查询本地维护的连麦候选池,如果连麦候选池为空,说明当前没有任何一个主播用户在等待连麦,则把主播用户X加入连麦候选池中,同时记录主播用户X加入连麦候选池的时间戳。如果连麦候选池有等待连麦的主播用户Y,则把主播用户Y与主播用户X匹配成功。把主播用户Y从连麦候选池中删除,并给主播用户X和主播用户Y发送随机匹配成功消息,匹配成功消息中带上主播用户X的用户ID和主播用户Y的用户ID。同时把主播用户X和主播用户Y的连麦状态数据存储到连麦会话,主播客户端B和主播客户端A收到匹配成功消息后,隐藏匹配等待界面,提示主播用户Y与主播用户X进入与对方的连麦状态。连麦服务器通过定时器每隔1秒轮询一次连麦候选池,校验主播用户X加入连麦候选池的时间戳与当前时间,如果发现主播用户X等候已经超过30秒,则把主播用户X从连麦候选池中删除,并给主播客户端A发送匹配超时消息。
主播客户端A:收到超时消息后,隐藏匹配等待界面,提示主播用户X超时了。
主播客户端A:主播发起随机连麦请求后,最多等候30秒,在匹配成功之前,主播用户X可以点击取消连麦按钮,进行取消随机连麦。主播客户端A会向连麦服务器取消连麦请求。
连麦服务器:连麦服务收到取消连麦请求后,把主播用户X从连麦候选池中删除,并回复删除成功消息。
主播客户端A:主播用户X与主播用户Y随机匹配成功后,与主播用户X与主播用户Y进入连麦状态,主播用户X可以随时点击结束连麦按钮结束连麦。主播客户端A会向连麦服务器发送结束连麦请求,结束连麦请求的消息中携带有主播用户X的用户ID与主播用户Y的用户ID。
主播客户端B:主播用户X与主播用户Y随机匹配成功后,与主播用户X与主播用户Y进入连麦状态,主播用户Y可以随时点击结束连麦按钮结束连麦。主播客户端B会向连麦服务器发送结束连麦请求,结束连麦请求的消息中携带有主播用户X的用户ID与主播用户Y的用户ID。
连麦服务器:收到结束连麦请求,根据主播用户X的用户ID与主播用户Y的用户ID构造KEY,根据KEY在连麦会话中进行查询,如果查不到所构造的构造KEY,说明主播用户X与主播用户Y之间的连麦不存在,给客户端回错误消息。如果查到所构造的构造KEY,则结束主播用户X与主播用户Y之间的连麦,从连麦候选池中删除对应的连麦状态数据,并给主播客户端B和主播客户端A发送连麦结束通知消息。
主播客户端A:主播用户X与主播用户Y随机匹配成功进入连麦状态后,每隔5秒向连麦服务器发送一次心跳消息。
主播客户端B:主播用户X与主播用户Y随机匹配成功进入连麦状态后,每隔5秒向连麦服务器发送一次心跳消息。
连麦服务器:在连麦会话中更新各主播用户X的保活时间戳。同时通过定时器每隔1秒检查一次所有处于连麦状态的主播用户(包括主播用户X、主播用户Y)的保活时间,如果连麦服务器超过15秒没有收到主播客户端A的心跳消息,则认为该主播用户X失连,这时会结束主播用户X与主播用户Y之间的连麦,给主播客户端B发送主播用户X失连的消息。如果连麦服务器超过15秒没有收到主播客户端B的心跳消息,则认为该主播用户Y失连,这时也会结束主播用户X与主播用户Y之间的连麦,主播客户端A发送主播用户Y失连的消息。
主播客户端A:收到主播用户Y失连的消息后,输出提示主播用户Y失连的信息,断开连麦。
主播客户端B:收到主播用户X失连的消息后,输出提示主播用户X失连的信息,断开连麦。
基于同一发明构思,本发明实施例提供一种连麦服务器,参考图3所示,包括:
连麦请求接收单元201,用于接收来自于第一主播用户所在的第一主播客户端的随机连麦请求;
主播用户匹配单元202,用于在所述连麦服务器所建立的连麦候选池中为所述第一主播用户匹配第二主播用户;
连麦服务建立单元203,用于如果所述第一主播用户与所述第二主播用户匹配成功,建立所述第一主播客户端与所述第二主播用户所在的第二主播客户端之间的连麦服务,使得所述第一主播用户与所述第二主播用户之间进入连麦状态。
可选的,所述主播用户匹配单元202,包括:
池中查询子单元,用于在接收到来自所述第一主播客户端的所述随机连麦请求时,查询所述连麦候选池中是否存在正在等待连麦的主播用户;
选择子单元,用于如果所述连麦候选池中存在正在等待连麦的主播用户,从所述连麦候选池中选择一个正在等待连麦的主播用户,确定为所述第二主播用户;
第一匹配子单元,用于将所述第一主播用户和所述第二主播用户匹配成功;
第一删除子单元,用于从所述连麦候选池中删除所述第二主播用户。
可选的,所述主播用户匹配单元202,还包括:
加入子单元,用于在所述查询所述连麦候选池中是否存在正在等待连麦的主播用户之后,如果所述连麦候选池中不存在正在等待连麦的主播用户,将所述第一主播用户加入至所述连麦候选池,并记录所述第一主播用户被加入所述连麦候选池时的时间戳;
等待子单元,用于将所述第一主播用户在以所述时间戳为起始时刻的预设时长内,保持在所述连麦候选池中;
第二匹配子单元,用于如果在所述预设时长内接收到来自所述第二主播用户发起的随机连麦请求,将所述第一主播用户与所述第二主播用户匹配成功,并且从所述连麦候选池中删除所述第一主播用户;
第二删除子单元,用于如果所述第一主播用户保持在所述连麦候选池中的时长超过所述预设时长,从所述连麦候选池中删除所述第一主播用户,并且向所述第一主播客户端下发匹配失败消息。
可选的,所述连麦服务器还包括:
成功消息发送单元,用于在所述第一主播用户与所述第二主播用户匹配成功之后,向所述第一主播客户端和所述第二主播客户端发送匹配成功消息,所述匹配成功消息用于指示所述第一主播客户端和所述第二主播客户端各自隐藏匹配等待界面;
状态数据单元,用于获取表征所述第一主播用户与所述第二主播用户之间连麦状态的连麦状态数据,存储至所述连麦服务器所建立的连麦会话中。
可选的,所述连麦服务器还包括:
取消连麦处理单元,用于在将所述第一主播用户加入至所述连麦候选池之后,并且在所述第一主播用户与所述第二主播用户匹配成功之前,如果接收到来自所述第一主播客户端的取消连麦请求,从所述连麦候选池中删除所述第一主播用户,并且向所述第一主播用户所在的所述第一主播客户端发送删除成功消息。
可选的,所述连麦服务器还包括:
结束连麦请求接收单元,用于在所述建立所述第一主播客户端与所述第二主播用户所在的第二主播客户端之间的连麦服务之后,接收结束连麦请求,所述结束连麦请求来自所述第一主播客户端或者所述第二主播客户端,所述结束连麦请求中携带有所述第一主播用户的用户ID和所述第二主播用户的用户ID;
数据构建单元,用于根据所述第一主播用户的用户ID和所述第二主播用户的用户ID构建目标查询数据;
数据查询单元,用于在所述连麦会话中进行查询是否存在所述目标查询数据;
结束连麦处理单元,用于如果所述连麦会话中存在所述目标查询数据,结束所述第一主播客户端与所述第一主播客户端之间的连麦服务,并且从所述连麦会话中删除表征所述第一主播用户与所述第二主播用户之间连麦状态的连麦状态数据,还向所述第一主播客户端和所述第二主播客户端发送连麦结束通知消息;
错误消息发送单元,用于如果所述连麦会话中不存在所述目标查询数据,向发起所述结束连麦请求的主播客户端返回错误消息。
可选的,所述连麦服务器还包括:
心跳消息接收单元,用于在所述建立所述第一主播客户端与所述第二主播用户所在的第二主播客户端之间的连麦服务之后,接收来自所述第一主播客户端按照预设心跳时间间隔发送的第一心跳消息和所述第二主播客户端按照所述预设心跳时间间隔发送的第二心跳消息,所述第一心跳消息和所述第二心跳消息中均携带有所述第一主播用户的用户ID和所述第二主播用户的用户ID;
时间戳更新单元,用于在接收到所述第一心跳消息时,在所述连麦会话中更新所述第一主播用户的保活时间戳,在接收到所述第二心跳消息时,在所述连麦会话中更新所述第二主播用户的保活时间戳;
第一失连处理单元,用于如果超过预设检查时长没有接收到所述第一心跳消息,则结束所述第一主播客户端与所述第二主播客户端之间的连麦服务,并且向所述第二主播客户端发送主播失连消息;
第二失连处理单元,用于如果超过预设检查时长没有接收到所述第二心跳消息,则结束所述第一主播客户端与所述第二主播客户端之间的连麦服务,并且向所述第一主播客户端发送主播失连消息。
基于同一发明构思,本发明实施例提供了一种计算机可读存储介质401,参考图4所示,其上存储有计算机程序402,该程序402被处理器执行时实现前述直播连麦方法实施例中任一个实施方式所述的步骤。
基于同一发明构思,本发明实施例提供了一种计算机设备500,参考图5所示,包括存储器510、处理器530及存储在存储器510上并可在处理器530上运行的计算机程序520,所述处理器530执行所述程序520时实现前述直播连麦方法实施例中任一个实施方式所述的步骤。
由于上述所介绍的服务器、存储介质及计算机设备为实施本发明实施例中前述直播连麦方法所采用,故而基于本发明实施例中所介绍的直播连麦方法,本领域所属技术人员能够了解服务器、存储介质及计算机设备的具体实施方式以及其各种变化形式,所以在此对于服务器、存储介质及计算机设备如何实现本发明实施例中的直播连麦方法不再详细介绍。只要本领域所属技术人员实施本发明实施例中的直播连麦方法所采用的服务器、存储介质及计算机设备,都属于本发明所欲保护的范围。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
接收来自于第一主播用户所在的第一主播客户端的随机连麦请求;在连麦服务器所建立的连麦候选池中为第一主播用户匹配第二主播用户;如果第一主播用户与第二主播用户匹配成功,建立第一主播客户端与第二主播用户所在的第二主播客户端之间的连麦服务,使得第一主播用户与第二主播用户之间进入连麦状态。因此,只要有两个发起随机连麦请求的主播客户端,就能够连麦成功,不需要向某个指定的主播用户发起连麦请求,提高了人气不高的主播用户所在的主播客户端的连麦成功率,缓解了人气较高的主播用户所在的主播客户端的负载压力,因此,平衡了不同级别的主播用户的主播客户端之间的连麦,进而,能够提高主播连麦的可靠性。
另外,通过本发明实施例还提升了主播趣味性,进而可以大大提升连麦活跃性,进而加强平台主播间的互动性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (7)
1.一种直播连麦方法,应用于连麦服务器,其特征在于,所述方法包括:
在接收到来自于第一主播用户所在的第一主播客户端的随机连麦请求时,查询连麦候选池中是否存在正在等待连麦的主播用户;
如果所述连麦候选池中存在正在等待连麦的主播用户,从所述连麦候选池中选择一个正在等待连麦的主播用户,确定为第二主播用户;
将所述第一主播用户和所述第二主播用户匹配成功,从所述连麦候选池中删除所述第二主播用户;
如果所述第一主播用户与所述第二主播用户匹配成功,建立所述第一主播客户端与所述第二主播用户所在的第二主播客户端之间的连麦服务,使得所述第一主播用户与所述第二主播用户之间进入连麦状态;
向所述第一主播客户端和所述第二主播客户端发送匹配成功消息,所述匹配成功消息用于指示所述第一主播客户端和所述第二主播客户端各自隐藏匹配等待界面;
获取表征所述第一主播用户与所述第二主播用户之间连麦状态的连麦状态数据,存储至所述连麦服务器所建立的连麦会话中;
接收结束连麦请求,所述结束连麦请求来自所述第一主播客户端或者所述第二主播客户端,所述结束连麦请求中携带有所述第一主播用户的用户ID和所述第二主播用户的用户ID;
根据所述第一主播用户的用户ID和所述第二主播用户的用户ID构建目标查询数据;
在所述连麦会话中进行查询是否存在所述目标查询数据;如果所述连麦会话中存在所述目标查询数据,结束所述第一主播客户端与所述第一主播客户端之间的连麦服务,并且从所述连麦会话中删除表征所述第一主播用户与所述第二主播用户之间连麦状态的连麦状态数据,还向所述第一主播客户端和所述第二主播客户端发送连麦结束通知消息;如果所述连麦会话中不存在所述目标查询数据,向发起所述结束连麦请求的主播客户端返回错误消息。
2.如权利要求1所述的直播连麦方法,其特征在于,在所述查询所述连麦候选池中是否存在正在等待连麦的主播用户之后,还包括:
如果所述连麦候选池中不存在正在等待连麦的主播用户,将所述第一主播用户加入至所述连麦候选池,并记录所述第一主播用户被加入所述连麦候选池时的时间戳;
将所述第一主播用户在以所述时间戳为起始时刻的预设时长内保持在所述连麦候选池中;
如果在所述预设时长内接收到来自任一主播用户发起的随机连麦请求,将该发起所述随机连麦请求的主播用户确定为第二主播用户,将所述第一主播用户与所述第二主播用户匹配成功,并且从所述连麦候选池中删除所述第一主播用户;
如果所述第一主播用户保持在所述连麦候选池中的时长超过所述预设时长,从所述连麦候选池中删除所述第一主播用户,并且向所述第一主播客户端下发匹配失败消息。
3.如权利要求2所述的直播连麦方法,其特征在于,在将所述第一主播用户加入至所述连麦候选池之后,并且在所述第一主播用户与所述第二主播用户匹配成功之前,所述方法还包括:
如果接收到来自所述第一主播客户端的取消连麦请求,从所述连麦候选池中删除所述第一主播用户,并且向所述第一主播用户所在的所述第一主播客户端发送删除成功消息。
4.如权利要求1所述的直播连麦方法,其特征在于,在所述建立所述第一主播客户端与所述第二主播用户所在的第二主播客户端之间的连麦服务之后,所述方法还包括:
接收来自所述第一主播客户端按照预设心跳时间间隔发送的第一心跳消息和所述第二主播客户端按照所述预设心跳时间间隔发送的第二心跳消息,所述第一心跳消息和所述第二心跳消息中均携带有所述第一主播用户的用户ID和所述第二主播用户的用户ID;
在接收到所述第一心跳消息时,在所述连麦会话中更新所述第一主播用户的保活时间戳,在接收到所述第二心跳消息时,在所述连麦会话中更新所述第二主播用户的保活时间戳;
如果超过预设检查时长没有接收到所述第一心跳消息,则结束所述第一主播客户端与所述第二主播客户端之间的连麦服务,并且向所述第二主播客户端发送主播失连消息;
如果超过预设检查时长没有接收到所述第二心跳消息,则结束所述第一主播客户端与所述第二主播客户端之间的连麦服务,并且向所述第一主播客户端发送主播失连消息。
5.一种连麦服务器,其特征在于,包括:
连麦请求接收单元,用于接收来自于第一主播用户所在的第一主播客户端的随机连麦请求;
主播用户匹配单元,用于接收到来自于第一主播用户所在的第一主播客户端的随机连麦请求时,查询连麦候选池中是否存在正在等待连麦的主播用户;如果所述连麦候选池中存在正在等待连麦的主播用户,从所述连麦候选池中选择一个正在等待连麦的主播用户,确定为第二主播用户;将所述第一主播用户和所述第二主播用户匹配成功,从所述连麦候选池中删除所述第二主播用户;
连麦服务建立单元,用于如果所述第一主播用户与所述第二主播用户匹配成功,建立所述第一主播客户端与所述第二主播用户所在的第二主播客户端之间的连麦服务,使得所述第一主播用户与所述第二主播用户之间进入连麦状态;
成功消息发送单元,用于在所述第一主播用户与所述第二主播用户匹配成功之后,向所述第一主播客户端和所述第二主播客户端发送匹配成功消息,所述匹配成功消息用于指示所述第一主播客户端和所述第二主播客户端各自隐藏匹配等待界面;
结束连麦请求接收单元,用于在所述建立所述第一主播客户端与所述第二主播用户所在的第二主播客户端之间的连麦服务之后,接收结束连麦请求,所述结束连麦请求来自所述第一主播客户端或者所述第二主播客户端,所述结束连麦请求中携带有所述第一主播用户的用户ID和所述第二主播用户的用户ID;
数据构建单元,用于根据所述第一主播用户的用户ID和所述第二主播用户的用户ID构建目标查询数据;
数据查询单元,用于在所述连麦会话中进行查询是否存在所述目标查询数据;
结束连麦处理单元,用于如果所述连麦会话中存在所述目标查询数据,结束所述第一主播客户端与所述第一主播客户端之间的连麦服务,并且从所述连麦会话中删除表征所述第一主播用户与所述第二主播用户之间连麦状态的连麦状态数据,还向所述第一主播客户端和所述第二主播客户端发送连麦结束通知消息;
错误消息发送单元,用于如果所述连麦会话中不存在所述目标查询数据,向发起所述结束连麦请求的主播客户端返回错误消息。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-4中任一项所述的步骤。
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-4中任一项所述的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810023758.5A CN108184140B (zh) | 2018-01-10 | 2018-01-10 | 一种直播连麦方法、服务器、存储介质及计算机设备 |
PCT/CN2018/082506 WO2019136862A1 (zh) | 2018-01-10 | 2018-04-10 | 一种直播连麦方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810023758.5A CN108184140B (zh) | 2018-01-10 | 2018-01-10 | 一种直播连麦方法、服务器、存储介质及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108184140A CN108184140A (zh) | 2018-06-19 |
CN108184140B true CN108184140B (zh) | 2020-03-17 |
Family
ID=62550153
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810023758.5A Active CN108184140B (zh) | 2018-01-10 | 2018-01-10 | 一种直播连麦方法、服务器、存储介质及计算机设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108184140B (zh) |
WO (1) | WO2019136862A1 (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109121013A (zh) * | 2018-07-25 | 2019-01-01 | 北京达佳互联信息技术有限公司 | 播放数据的方法、装置、终端、服务器及存储介质 |
CN110971922B (zh) * | 2018-09-30 | 2021-11-09 | 武汉斗鱼网络科技有限公司 | 直播连麦状态监控方法、客户端、服务器、介质及*** |
CN109388924A (zh) * | 2018-09-30 | 2019-02-26 | 武汉斗鱼网络科技有限公司 | 一种身份验证方法、装置、服务器及存储介质 |
CN109257658A (zh) * | 2018-10-12 | 2019-01-22 | 北京潘达互娱科技有限公司 | 一种直播连麦方法、装置及服务器 |
CN109618191A (zh) * | 2018-12-17 | 2019-04-12 | 广州市百果园信息技术有限公司 | 直播连麦方法、装置、计算机可读存储介质及终端 |
CN109743587B (zh) * | 2019-01-03 | 2021-09-17 | 广州虎牙信息科技有限公司 | 直播连接监控方法、终端设备和存储介质 |
CN109756504B (zh) * | 2019-01-16 | 2021-11-09 | 武汉斗鱼鱼乐网络科技有限公司 | 一种基于直播平台的通信方法及相关装置 |
CN110149525A (zh) * | 2019-05-23 | 2019-08-20 | 广州虎牙信息科技有限公司 | 一种直播方法、装置、设备和存储介质 |
CN110311795B (zh) * | 2019-07-02 | 2020-10-20 | 广州华多网络科技有限公司 | 友邻群的创建方法及***、服务器 |
CN110765366B (zh) * | 2019-10-30 | 2022-11-08 | 网易(杭州)网络有限公司 | 直播连麦匹配方法、装置、设备及计算机可读存储介质 |
CN110996180B (zh) * | 2019-12-17 | 2021-05-28 | 李昱颉 | 一种网络直播聊天方法、***及服务器 |
CN111683262B (zh) * | 2020-06-04 | 2022-03-15 | 广州酷狗计算机科技有限公司 | 连麦时长确定方法、装置、服务器、终端及存储介质 |
CN112312154B (zh) * | 2020-10-30 | 2022-08-09 | 广州华多网络科技有限公司 | 网络直播控制、执行方法及其相应的装置、设备、介质 |
CN113691872A (zh) * | 2021-06-18 | 2021-11-23 | 北京达佳互联信息技术有限公司 | 直播任务分配方法、装置、电子设备及存储介质 |
CN113141519B (zh) * | 2021-06-23 | 2021-09-17 | 大学长(北京)网络教育科技有限公司 | 一种直播数据处理方法及装置 |
CN113645475B (zh) * | 2021-08-03 | 2023-10-13 | 杭州情咖网络技术有限公司 | 直播连线方法及装置 |
CN115996213A (zh) * | 2022-12-29 | 2023-04-21 | 百果园技术(新加坡)有限公司 | 直播连麦处理方法及其装置、设备、介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW571812U (en) * | 2003-06-11 | 2004-01-11 | Vision Electronics Co Ltd | Audio device for TV game machine |
WO2015073924A1 (en) * | 2013-11-14 | 2015-05-21 | Smiletime, Inc. | Social multi-camera interactive live engagement system |
CN104468395B (zh) * | 2014-10-20 | 2018-11-06 | 广州华多网络科技有限公司 | 直播间的频道访问方法和*** |
CN106156243A (zh) * | 2015-04-26 | 2016-11-23 | 上海灵域网络科技有限公司 | 一种社交娱乐方法及*** |
CN105812951B (zh) * | 2016-03-24 | 2019-10-18 | 广州华多网络科技有限公司 | 流媒体数据交互方法、终端、服务器及*** |
CN106303657A (zh) * | 2016-08-18 | 2017-01-04 | 北京奇虎科技有限公司 | 一种连麦直播的方法及主播端设备 |
CN106454537B (zh) * | 2016-10-14 | 2020-04-14 | 广州华多网络科技有限公司 | 一种视频直播方法及相关设备 |
CN106488251B (zh) * | 2016-10-19 | 2019-09-20 | 北京小米移动软件有限公司 | 实现直播中连麦的方法及装置、主播客户端和用户客户端 |
-
2018
- 2018-01-10 CN CN201810023758.5A patent/CN108184140B/zh active Active
- 2018-04-10 WO PCT/CN2018/082506 patent/WO2019136862A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
CN108184140A (zh) | 2018-06-19 |
WO2019136862A1 (zh) | 2019-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108184140B (zh) | 一种直播连麦方法、服务器、存储介质及计算机设备 | |
CN107911437B (zh) | 屏幕共享的方法、装置、电子设备及存储介质 | |
CN106454537B (zh) | 一种视频直播方法及相关设备 | |
CN107295354A (zh) | 一种网络直播中连麦直播建立方法及装置 | |
WO2019071829A1 (zh) | Pc上实现主播连麦pk的方法、存储介质、设备及*** | |
US10645039B2 (en) | Information processing method and terminal, and computer storage medium | |
JP2007534076A (ja) | ネットワークチャット環境におけるチャット負荷管理のためのシステム及び方法 | |
CN108881936B (zh) | 直播资源共享方法、电子设备及介质 | |
CN107249140B (zh) | 榜单信息获取方法及其装置 | |
CN113518247A (zh) | 视频播放方法、相关设备及计算机可读存储介质 | |
CN102185856B (zh) | 组队游戏中组队视频方法、装置及*** | |
CN103259715B (zh) | 一种管理多人会话的方法、装置及*** | |
CN110620890A (zh) | 文件上传方法及*** | |
CN106453231B (zh) | 信令获取、传输方法和装置 | |
CN109257616B (zh) | 一种语音连麦互动方法、装置、设备及介质 | |
CN111385666A (zh) | 通信链路建立方法、装置、设备及存储介质 | |
CN110996180B (zh) | 一种网络直播聊天方法、***及服务器 | |
CN111131843A (zh) | 一种网络直播***和方法 | |
US20220021715A1 (en) | Live streaming method and apparatus, device and computer readable storage medium | |
EP4007283A1 (en) | Video connection method and apparatus, and non-transitory computer-readable storage medium | |
CN113242462B (zh) | 一种实现融合终端的投屏方法和装置 | |
CN111866544B (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
WO2019071857A1 (zh) | 一种直播平台中防止刷礼物的方法及装置 | |
CN106657172A (zh) | 一种信息推送的实现方法及装置 | |
CN102025730B (zh) | 基于http协议的数据传输装置及其实现方法 |
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 |