CN110166791B - 连接的建立方法、装置、设备及存储介质 - Google Patents

连接的建立方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN110166791B
CN110166791B CN201910505935.8A CN201910505935A CN110166791B CN 110166791 B CN110166791 B CN 110166791B CN 201910505935 A CN201910505935 A CN 201910505935A CN 110166791 B CN110166791 B CN 110166791B
Authority
CN
China
Prior art keywords
server
connection mode
mode
client
connection
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
Application number
CN201910505935.8A
Other languages
English (en)
Other versions
CN110166791A (zh
Inventor
李朋林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing ByteDance Network Technology Co Ltd
Original Assignee
Beijing ByteDance Network 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 Beijing ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN201910505935.8A priority Critical patent/CN110166791B/zh
Publication of CN110166791A publication Critical patent/CN110166791A/zh
Application granted granted Critical
Publication of CN110166791B publication Critical patent/CN110166791B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • 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/25Management 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/258Client 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/25808Management of client data
    • 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/25Management 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/262Content 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/26208Content 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
    • 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
    • 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/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • H04N21/6547Transmission by server directed to the client comprising parameters, e.g. for client setup

Abstract

本公开实施例公开了一种连接的建立方法、装置、设备及存储介质。包括:接收客户端发送的进入当前直播间的数据请求;获取所述当前直播间的用户数量,并根据所述用户数量确定与客户端的连接方式;所述连接方式包括长链接方式或者轮询方式;根据所述数据请求将所述连接方式发送至所述客户端,以使所述客户端按照所述连接方式与服务器建立连接。本公开实施例公开的连接的建立方法,当客户端请求进入当前直播间,服务器根据当前直播间的用户数量确定与客户端的连接方式,使客户端与服务器以确定的连接方式建立连接,可以动态的确定客户端与服务器间的连接方式,即可以保证消息的成功拉取,也可以降低服务器的压力。

Description

连接的建立方法、装置、设备及存储介质
技术领域
本公开实施例涉及互联网直播技术领域,尤其涉及一种连接的建立方法、装置、设备及存储介质。
背景技术
在线直播已经成为网络时代人们休闲互动的场景之一,直播间作为主要实现场景,承接了平台用户互动及商业变现的主要目标。直播过程中,直播间状态更新、礼物特效控制、主播和观众之间的互动都依赖于消息的拉取,保证消息能够可靠、稳定、实时的达到每一个用户的客户端非常重要。
现有技术中,客户端与服务器建立连接时,采用长链接或者轮询的方式建立连接。其中,长链接方式能够保证信息实时到达用户,但是无法承受巨大的用户量;轮询方式可以保证在巨大的用户量下拉取消息,但是存在延时。
发明内容
本公开实施例提供一种连接的建立方法、装置、设备及存储介质,可以动态的确定客户端与服务器间的连接方式,即可以保证消息的成功拉取,也可以降低服务器的压力。
第一方面,本公开实施例提供了一种连接的建立方法,所述方法由服务器执行,包括:
接收客户端发送的进入当前直播间的数据请求;
获取所述当前直播间的用户数量,根据所述用户数量确定与客户端的连接方式;所述连接方式包括长链接方式或者轮询方式;
根据所述数据请求将所述连接方式发送至所述客户端,以使所述客户端按照所述连接方式与服务器建立连接。
第二方面,本公开实施例还提供了一种连接的建立方法,所述方法由客户端执行,包括:
向服务器发送进入当前直播间的数据请求;
接收服务器发送的连接方式;所述连接方式由服务器根据所述当前直播间的用户数量确定,所述连接方式包括长链接方式或者轮询方式;
按照所述连接方式与服务器建立连接。
第三方面,本公开实施例还提供了一种连接的建立装置,所述装置设置于服务器中,包括:
数据请求接收模块,用于接收客户端发送的进入当前直播间的数据请求;
连接方式确定模块,用于获取所述当前直播间的用户数量,根据所述用户数量确定与客户端的连接方式;所述连接方式包括长链接方式或者轮询方式;
连接方式发送模块,用于根据所述数据请求将所述连接方式发送至所述客户端,以使所述客户端按照所述连接方式与服务器建立连接。
第四方面,本发明实施例还提供了一种一种连接的建立装置,所述装置设置于客户端中,包括:
数据请求发送模块,用于向服务器发送进入当前直播间的数据请求;
连接方式接收模块,用于接收服务器发送的连接方式;所述连接方式由服务器根据所述当前直播间的用户数量确定,所述连接方式包括长链接方式或者轮询方式;
连接建立模块,用于按照所述连接方式与服务器建立连接。
第五方面,本发明实施例提供了一种电子设备,所述电子设备包括:
一个或多个处理装置;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理装置执行,使得所述一个或多个处理装置实现如本发明实施例所述的连接的建立方法。
第六方面,本发明实施例还提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现如本发明实施例所述的连接的建立方法。
本公开实施例,首先接收客户端发送的进入当前直播间的数据请求,然后获取当前直播间的用户数量,并根据用户数量确定与客户端的连接方式,最后根据数据请求将连接方式发送至客户端,以使客户端按照连接方式与服务器建立连接。本公开实施例公开的连接的建立方法,当客户端请求进入当前直播间,服务器根据当前直播间的用户数量确定与客户端的连接方式,使客户端与服务器以确定的连接方式建立连接,可以动态的确定客户端与服务器间的连接方式,即可以保证消息的成功拉取,也可以降低服务器的压力。
附图说明
图1是本公开实施例一中的一种连接的建立方法的流程图;
图2是本公开实施例二中的一种连接的建立方法的流程图;
图3是本公开实施例三中的一种连接的建立装置的结构示意图;
图4是本公开实施例四中的一种连接的建立装置的结构示意图;
图5是本发明实施例五中的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本公开,而非对本公开的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本公开相关的部分而非全部结构。
实施例一
图1为本公开实施例一提供的一种连接的建立方法的流程图,本实施例可适用于建立客户端与服务器间的连接的情况,该方法可以由连接的建立装置来执行,该装置可由硬件和/或软件组成,并一般可集成在具有连接的建立功能的设备中,该设备可以是服务器。如图1所示,该方法具体包括如下步骤:
步骤110,接收客户端发送的进入当前直播间的数据请求。
本实施例中,用户通过终端设备登录至直播应用程序(Application,APP)后,点击进入当前直播间时,客户端向服务器发送进入当前直播间的数据请求,服务器接收到客户端发送的进入当前直播间的数据请求后,向该客户端发送配置消息,以使客户端根据配置信息进行配置后与服务器建立连接。其中,配置信息中包括客户端与服务器的连接方式。
步骤120,获取当前直播间的用户数量,并根据用户数量确定与客户端的连接方式。
其中,连接方式包括长链接方式或者轮询方式。长链接方式可以理解为建立一个连接后可以连续发送多个数据包的方式;轮询方式可以理解为客户端与服务器有数据交互时,建立一个连接,数据发送完成后就断开连接。当前直播间的用户数量可以理解为已经进入当前直播间的客户端的数量。
本实施例中,根据用户数量确定与客户端的连接方式的方式可以是:若用户数量超过第一设定阈值,则确定与客户端的连接方式为轮询方式;若用户数量未超过第一设定阈值,则确定与客户端的连接方式为长链接方式。
其中,第一设定阈值可以是开发人员根据服务器的承载能力确定的,例如可以是占服务器承载量一定百分比的值,该百分比可以是60%-80%之间的任意值。
具体的,在第一设定阈值内的客户端以长链接方式与服务器建立连接,超过第一设定阈值的客户端以轮询方式与服务器建立连接。示例性的,假设第一设定阈值为5万,则按照进入当前直播间的先后顺序,前5万客户端以长链接方式与服务器建立连接,5万以后的客户端以轮询方式与服务器建立连接。
步骤130,根据数据请求将连接方式发送至客户端,以使客户端按照连接方式与服务器建立连接。
具体的,在确定了连接方式后,服务器将确定的连接方式携带于配置信息中发送至客户端,使得客户端按照确定的连接方式与服务器建立连接。
本实施例的技术方案,首先接收客户端发送的进入当前直播间的数据请求,然后获取当前直播间的用户数量,并根据用户数量确定与客户端的连接方式,最后根据数据请求将连接方式发送至客户端,以使客户端按照连接方式与服务器建立连接。本公开实施例公开的连接的建立方法,当客户端请求进入当前直播间,服务器根据当前直播间的用户数量确定与客户端的连接方式,使客户端与服务器以确定的连接方式建立连接,可以动态的确定客户端与服务器间的连接方式,即可以保证消息的成功拉取,也可以降低服务器的压力,从而保证服务器的稳定性。
可选的,该方法还包括如下步骤:当当前直播间的用户数量超过第二设定阈值时;获取当前直播间中设定比例的以长链接方式与服务器连接的客户端;向设定比例的客户端发送第一切换消息,以使设定比例的客户端将与服务器的连接方式由长链接方式切换至轮询方式。
其中,所述第二设定阈值大于所述第一设定阈值。第二设定阈值可以是开发人员根据服务器的承载能力确定的,例如可以是占服务器承载量一定百分比的值,该百分比可以是90%-100%之间的任意值。设定比例可以是占当前直播间总用户数量的比例或者占当前直播间以长链接方式与服务器连接的客户端的比例。设定比例可以根据当前直播间的用户数量动态的调节,如设定比例可以与用户数量的呈正相关。
具体的,当当前直播间的用户数量超过第二设定阈值时,服务器生成第一切换消息,并将第一切换消息发送至设定比例的以长链接方式与服务器连接的客户端,使得设定比例的客户端根据第一切换消息将连接方式由长链接方式切换至轮询方式。这样做的好处是,随着直播间用户的数量的增多,服务器的承受的资源压力越来越大,将一部分以长链接方式连接的客户端切换为轮询方式进行连接,可以及时的降低服务器的压力,从而保证服务器的稳定性。
可选的,当当前直播间的用户数量小于第一设定阈值时;获取当前直播间中以轮询方式与服务器连接的客户端;向以轮询方式与服务器连接的客户端发送第二切换消息,以使客户端将与服务器的连接方式由轮询方式切换至长链接方式。
本实施例中,随着当前直播间内直播的进行,直播间内的用户数量可以呈现先增长后减少的趋势。当当前直播的用户数量减少至小于第一设定阈值时,其中一部分客户端可能仍以轮询方式与服务器建立连接,向以轮询方式与服务器连接的客户端发送第二切换消息,以使客户端将与服务器的连接方式由轮询方式切换至长链接方式。这样做的好处是,随着直播间用户的数量的逐渐减少,服务器的承受的资源压力变小,将以轮询方式连接的客户端切换为长链接方式进行连接,可以保证消息及时的发送至客户端,减少延时。
可选的,在向设定比例的客户端发送第一切换消息,或者向以轮询方式与服务器连接的客户端发送第二切换消息之后,还包括如下步骤:接收客户端发送的携带第一消息的身份识别码ID的数据请求;第一消息为客户端最新接收的消息;根据数据请求确定第二消息,并将第二消息发送至客户端。
本实施例中,客户端与服务器的连接方式切换之后,客户端将最新接收的消息的ID携带于数据请求中发送至服务器,使得服务器根据该ID获取将要发送至客户端的第二消息,第二消息的ID与第一消息的ID相邻。这样做的好处是,客户端与服务器的连接方式切换之后,可以避免消息的重复发送及消息的丢失。
可选的,当与客户端的连接方式为轮询方式时;接收客户端发送的当前数据请求;根据当前数据请求向客户端发送消息及设定等待时长,以使客户端等待设定等待时长后发送下一次数据请求。
其中,设定等待时长可以根据当前直播间的用户数量确定,或者由开发人员设置,如设置为1-2秒之间的任意值。具体的,当服务器与客户端的连接方式为轮询方式时,服务器每次向客户端发送的消息中携带设定等待时长,以使客户端等待设定等待时长后发送下一次数据请求。这样做的好处是,可以进一步降低服务器的资源压力。
实施例二
图2为本公开实施例二提供的一种连接的建立方法的流程图,本实施例可适用于建立客户端与服务器间的连接的情况,该方法可以由连接的建立装置来执行,该装置可由硬件和/或软件组成,并一般可集成在具有连接的建立功能的设备中,该设备可以是移动终端等电子设备。如图1所示,该方法具体包括如下步骤:
步骤210,向服务器发送进入当前直播间的数据请求。
本实施例中,用户通过终端设备登录至直播APP后,点击进入当前直播间时,客户端向服务器发送进入当前直播间的数据请求。
步骤220,接收服务器发送的连接方式。
其中,连接方式由服务器根据当前直播间的用户数量确定,连接方式包括长链接方式或者轮询方式。具体的,服务器接收到客户端发送的进入当前直播间的数据请求后,获取当前直播间的用户数量,若用户数量超过第一设定阈值,则确定的连接方式为轮询方式;若用户数量未超过第一设定阈值,则确定的连接方式为长链接方式。向该客户端发送携带连接方式的配置消息,以使客户端根据配置信息进行配置后与服务器建立连接。
步骤230,按照连接方式与服务器建立连接。
具体的,客户端接收服务器发送的连接方式后,按照该连接方式与服务器建立连接。
本实施例的技术方案,向服务器发送进入当前直播间的数据请求,接收服务器发送的连接方式,按照连接方式与服务器建立连接。客户端根据服务器返回的连接方式与服务器建立连接,可以动态的确定客户端与服务器间的连接方式,即可以保证消息的成功拉取,也可以降低服务器的压力,从而保证服务器的稳定性。
可选的,在按照连接方式与服务器建立连接之后,还包括:若与服务器的连接方式为长链接方式,接收服务器发送的第一切换消息;根据第一切换消息将与服务器的连接方式由长链接方式切换至轮询方式。
本实施例中,当当前直播间的用户数量超过第二设定阈值时,服务器生成第一切换消息,并将第一切换消息发送至设定比例的以长链接方式与服务器连接的客户端,该客户端属于设定比例的客户端,在接收到第一切换消息后,与服务器的连接方式由长链接方式切换至轮询方式。这样做的好处是,随着直播间用户的数量的增多,将一部分以长链接方式连接的客户端切换为轮询方式进行连接,可以及时的降低服务器的压力,从而保证服务器的稳定性。
可选的,若与服务器的连接方式为轮询方式,接收服务器发送的第二切换消息;根据第二切换消息将与服务器的连接方式由轮询方式切换至长链接方式。
本实施例中,当当前直播的用户数量减少至小于第一设定阈值时,服务器生成第二切换消息,并将第二切换消息发送至以轮询方式与服务器建立连接的客户端,客户端接收到第二切换消息后,将与服务器的连接方式由轮询方式切换至长链接方式。这样做的好处是,随着直播间用户的数量的逐渐减少,将以轮询方式连接的客户端切换为长链接方式进行连接,可以保证消息及时的发送至客户端,减少延时。
可选的,在按照连接方式与服务器建立连接之后,还包括如下步骤:若与服务器的连接方式为长链接方式,当检测到与服务器的心跳丢失时,将与服务器的连接方式由长链接方式切换至轮询方式。
当检测到与服务器的心跳丢失时,表明客户端与服务器的连接断开,断开的原因可能是服务器资源压力大,不稳定,此时将与服务器的连接方式由长链接方式切换至轮询方式,可以保证消息成功拉取至客户端。
可选的,在将与服务器的连接方式由长链接方式切换至轮询方式,或者将与服务器的连接方式由轮询方式切换至长链接方式之后,还包括如下步骤:向服务器发送携带第一消息ID的数据请求;接收服务器发送的根据数据请求确定的第二消息。
其中,第一消息为客户端最新接收的消息。本实施例中,客户端与服务器的连接方式切换之后,客户端将最新接收的消息的ID携带于数据请求中发送至服务器,使得服务器根据该ID获取将要发送至客户端的第二消息,第二消息的ID与第一消息的ID相邻。这样做的好处是,客户端与服务器的连接方式切换之后,可以避免消息的重复发送及消息的丢失。
可选的,在按照连接方式与服务器建立连接之后,还包括如下步骤:若与服务器的连接方式为轮询方式时,向服务器发送当前数据请求;接收服务器发送的设定等待时长及根据当前数据请求确定的消息;等待设定等待时长后发送下一次数据请求。
其中,设定等待时长可以根据当前直播间的用户数量确定,或者有开发人员设置,如设置为1-2秒之间的任意值。具体的,当服务器与客户端的连接方式为轮询方式时,客户端向服务器发送数据请求,服务器根据数据请求向客户端发送消息及设定等待时长,客户端等待设定等待时长后发送下一次数据请求。这样做的好处是,可以进一步降低服务器的资源压力。
实施例三
图3为本公开实施例三提供的一种连接的建立装置的结构示意图,该装置设置于服务器中,包括:数据请求接收模块310,连接方式确定模块320和连接方式发送模块330。
数据请求接收模块310,用于接收客户端发送的进入当前直播间的数据请求;
连接方式确定模块320,用于获取当前直播间的用户数量,根据用户数量确定与客户端的连接方式;连接方式包括长链接方式或者轮询方式;
连接方式发送模块330,用于根据数据请求将连接方式发送至客户端,以使客户端按照连接方式与服务器建立连接。
可选的,连接方式确定模块320,还用于:
若用户数量超过第一设定阈值,则确定与客户端的连接方式为轮询方式;
若用户数量未超过第一设定阈值,则确定与客户端的连接方式为长链接方式。
可选的,还包括:第一切换模块,用于
当当前直播间的用户数量超过第二设定阈值时;
获取当前直播间中设定比例的以长链接方式与服务器连接的客户端;
向设定比例的客户端发送切第一切换消息,以使设定比例的客户端将与服务器的连接方式由长链接方式切换至轮询方式;其中,第二设定阈值大于第一设定阈值。
可选的,还包括:第二切换模块,用于
当当前直播间的用户数量小于第一设定阈值时;
获取当前直播间中以轮询方式与服务器连接的客户端;
向以轮询方式与服务器连接的客户端发送第二切换消息,以使客户端将与服务器的连接方式由轮询方式切换至长链接方式。
可选的,还包括:第二消息确定模块,用于:
接收客户端发送的携带第一消息的身份识别码ID的数据请求;第一消息为客户端最新接收的消息;
根据数据请求确定第二消息,并将第二消息发送至客户端。
可选的,当与客户端的连接方式为轮询方式时;
接收客户端发送的当前数据请求;
根据当前数据请求向客户端发送消息及设定等待时长,以使客户端等待设定等待时长后发送下一次数据请求。
实施例四
图4为本公开实施例四提供的一种连接的建立装置的结构示意图,所述装置设置于客户端中,包括:数据请求发送模块410,连接方式接收模块420和连接建立模块430。
数据请求发送模块410,用于向服务器发送进入当前直播间的数据请求;
连接方式接收模块420,用于接收服务器发送的连接方式;所述连接方式由服务器根据所述当前直播间的用户数量确定,所述连接方式包括长链接方式或者轮询方式;
连接建立模块430,用于按照所述连接方式与服务器建立连接。
可选的,还包括:第一切换模块,用于:
当与服务器的连接方式为长链接方式时,接收服务器发送的第一切换消息;
根据所述第一切换消息将与服务器的连接方式由长链接方式切换至轮询方式;
可选的,还包括:第二切换模块,用于:
当与服务器的连接方式为轮询方式时,接收服务器发送的第二切换消息;
根据所述第二切换消息将与服务器的连接方式由轮询方式切换至长链接方式。
可选的,第一切换模块,还用于:
若与服务器的连接方式为长链接方式,当检测到与服务器的心跳丢失时,将与服务器的连接方式由长链接方式切换至轮询方式。
可选的,还包括:第二消息接收模块,用于:
向服务器发送携带第一消息ID的数据请求;所述第一消息为最新接收的消息;
接收服务器发送的根据所述数据请求确定的第二消息。
可选的,还包括:设定等待时长接收模块,用于:
若与服务器的连接方式为轮询方式时,向服务器发送当前数据请求;
接收服务器发送的设定等待时长及根据所述当前数据请求确定的消息;
等待所述设定等待时长后发送下一次数据请求。
上述装置可执行本公开前述所有实施例所提供的方法,具备执行上述方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本公开前述所有实施例所提供的方法。
实施例五
下面参考图5,其示出了适于用来实现本公开实施例的电子设备500的结构示意图。本公开实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端,或者各种形式的服务器,如独立服务器或者服务器集群。图5示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图5所示,电子设备500可以包括处理装置(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储装置(ROM)502中的程序或者从存储装置505加载到随机访问存储装置(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有电子设备500操作所需的各种程序和数据。处理装置501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
通常,以下装置可以连接至I/O接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置506;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置507;包括例如磁带、硬盘等的存储装置508;以及通信装置509。通信装置509可以允许电子设备500与其他设备进行无线或有线通信以交换数据。虽然图5示出了具有各种装置的电子设备500,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行内容的推荐方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置509从网络上被下载和安装,或者从存储装置505被安装,或者从ROM 502被安装。在该计算机程序被处理装置501执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储装置(RAM)、只读存储装置(ROM)、可擦式可编程只读存储装置(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储装置(CD-ROM)、光存储装置件、磁存储装置件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该处理装置执行时,使得该电子设备:接收客户端发送的进入当前直播间的数据请求;获取所述当前直播间的用户数量,并根据所述用户数量确定与客户端的连接方式;所述连接方式包括长链接方式或者轮询方式;根据所述数据请求将所述连接方式发送至所述客户端,以使所述客户端按照所述连接方式与服务器建立连接。或者,向服务器发送进入当前直播间的数据请求;接收服务器发送的连接方式;所述连接方式由服务器根据所述当前直播间的用户数量确定,所述连接方式包括长链接方式或者轮询方式;按照所述连接方式与服务器建立连接。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该模块本身的限定,例如,获取模块还可以被描述为“获取推广内容关联的可操作控件的模块”。
本实施例公开的连接的建立方法由服务器执行,包括:
接收客户端发送的进入当前直播间的数据请求;
获取所述当前直播间的用户数量,并根据所述用户数量确定与客户端的连接方式;所述连接方式包括长链接方式或者轮询方式;
根据所述数据请求将所述连接方式发送至所述客户端,以使所述客户端按照所述连接方式与服务器建立连接。
进一步地,根据所述用户数量确定与客户端的连接方式,包括:
若所述用户数量超过第一设定阈值,则确定与客户端的连接方式为轮询方式;
若所述用户数量未超过第一设定阈值,则确定与客户端的连接方式为长链接方式。
进一步地,还包括:
当所述当前直播间的用户数量超过第二设定阈值时;
获取当前直播间中设定比例的以长链接方式与服务器连接的客户端;
向所述设定比例的客户端发送切第一切换消息,以使所述设定比例的客户端将与服务器的连接方式由长链接方式切换至轮询方式;其中,所述第二设定阈值大于所述第一设定阈值。
进一步地,还包括:
当所述当前直播间的用户数量小于第一设定阈值时;
获取当前直播间中以轮询方式与服务器连接的客户端;
向所述以轮询方式与服务器连接的客户端发送第二切换消息,以使所述客户端将与服务器的连接方式由轮询方式切换至长链接方式。
进一步地,在向所述设定比例的客户端发送第一切换消息,或者向所述以轮询方式与服务器连接的客户端发送第二切换消息之后,还包括:
接收客户端发送的携带第一消息的身份识别码ID的数据请求;所述第一消息为客户端最新接收的消息;
根据所述数据请求确定第二消息,并将所述第二消息发送至客户端。
进一步地,当与客户端的连接方式为轮询方式时;
接收客户端发送的当前数据请求;
根据所述当前数据请求向所述客户端发送消息及设定等待时长,以使所述客户端等待所述设定等待时长后发送下一次数据请求。
本实施例公开的连接的建立方法由客户端执行,包括:
向服务器发送进入当前直播间的数据请求;
接收服务器发送的连接方式;所述连接方式由服务器根据所述当前直播间的用户数量确定,所述连接方式包括长链接方式或者轮询方式;
按照所述连接方式与服务器建立连接。
进一步地,在按照所述连接方式与服务器建立连接之后,还包括:
若与服务器的连接方式为长链接方式,接收服务器发送的第一切换消息;
根据所述第一切换消息将与服务器的连接方式由长链接方式切换至轮询方式;或者,
若与服务器的连接方式为轮询方式,接收服务器发送的第二切换消息;
根据所述第二切换消息将与服务器的连接方式由轮询方式切换至长链接方式。
进一步地,在按照所述连接方式与服务器建立连接之后,还包括:
若与服务器的连接方式为长链接方式,当检测到与服务器的心跳丢失时,将与服务器的连接方式由长链接方式切换至轮询方式。
进一步地,在将与服务器的连接方式由长链接方式切换至轮询方式,或者将与服务器的连接方式由轮询方式切换至长链接方式之后,还包括:
向服务器发送携带第一消息ID的数据请求;所述第一消息为最新接收的消息;
接收服务器发送的根据所述数据请求确定的第二消息。
进一步地,在按照所述连接方式与服务器建立连接之后,还包括:
若与服务器的连接方式为轮询方式时,向服务器发送当前数据请求;
接收服务器发送的设定等待时长及根据所述当前数据请求确定的消息;
等待所述设定等待时长后发送下一次数据请求。
注意,上述仅为本公开的较佳实施例及所运用技术原理。本领域技术人员会理解,本公开不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本公开的保护范围。因此,虽然通过以上实施例对本公开进行了较为详细的说明,但是本公开不仅仅限于以上实施例,在不脱离本公开构思的情况下,还可以包括更多其他等效实施例,而本公开的范围由所附的权利要求范围决定。

Claims (12)

1.一种连接的建立方法,其特征在于,所述方法由服务器执行,包括:
接收客户端发送的进入当前直播间的数据请求;
获取所述当前直播间的用户数量,并根据所述用户数量确定与客户端的连接方式;所述连接方式包括长链接方式或者轮询方式;
根据所述数据请求将所述连接方式发送至所述客户端,以使所述客户端按照所述连接方式与服务器建立连接;
所述根据所述用户数量确定与客户端的连接方式,包括:
若所述用户数量超过第一设定阈值,则确定与客户端的连接方式为轮询方式;
若所述用户数量未超过第一设定阈值,则确定与客户端的连接方式为长链接方式;
当所述当前直播间的用户数量小于第一设定阈值时;
获取当前直播间中以轮询方式与服务器连接的客户端;
向所述以轮询方式与服务器连接的客户端发送第二切换消息,以使所述客户端将与服务器的连接方式由轮询方式切换至长链接方式。
2.根据权利要求1所述的方法,其特征在于,还包括:
当所述当前直播间的用户数量超过第二设定阈值时;
获取当前直播间中设定比例的以长链接方式与服务器连接的客户端;
向所述设定比例的客户端发送第一切换消息,以使所述设定比例的客户端将与服务器的连接方式由长链接方式切换至轮询方式;其中,所述第二设定阈值大于所述第一设定阈值。
3.根据权利要求1或2所述的方法,其特征在于,在向所述设定比例的客户端发送第一切换消息,或者向所述以轮询方式与服务器连接的客户端发送第二切换消息之后,还包括:
接收客户端发送的携带第一消息的身份识别码ID的数据请求;所述第一消息为客户端最新接收的消息;
根据所述数据请求确定第二消息,并将所述第二消息发送至客户端。
4.根据权利要求1所述的方法,其特征在于,当与客户端的连接方式为轮询方式时;
接收客户端发送的当前数据请求;
根据所述当前数据请求向所述客户端发送消息及设定等待时长,以使所述客户端等待所述设定等待时长后发送下一次数据请求。
5.一种连接的建立方法,其特征在于,所述方法由客户端执行,包括:
向服务器发送进入当前直播间的数据请求;
接收服务器发送的连接方式;所述连接方式由服务器根据所述当前直播间的用户数量确定,所述连接方式包括长链接方式或者轮询方式;
按照所述连接方式与服务器建立连接;
在按照所述连接方式与服务器建立连接之后,还包括:
若与服务器的连接方式为长链接方式,接收服务器发送的第一切换消息;
根据所述第一切换消息将与服务器的连接方式由长链接方式切换至轮询方式;或者,
若与服务器的连接方式为轮询方式,接收服务器发送的第二切换消息;
根据所述第二切换消息将与服务器的连接方式由轮询方式切换至长链接方式。
6.根据权利要求5所述的方法,其特征在于,在按照所述连接方式与服务器建立连接之后,还包括:
若与服务器的连接方式为长链接方式,当检测到与服务器的心跳丢失时,将与服务器的连接方式由长链接方式切换至轮询方式。
7.根据权利要求5或6所述的方法,其特征在于,在将与服务器的连接方式由长链接方式切换至轮询方式,或者将与服务器的连接方式由轮询方式切换至长链接方式之后,还包括:
向服务器发送携带第一消息ID的数据请求;所述第一消息为最新接收的消息;
接收服务器发送的根据所述数据请求确定的第二消息。
8.根据权利要求5所述的方法,其特征在于,在按照所述连接方式与服务器建立连接之后,还包括:
若与服务器的连接方式为轮询方式时,向服务器发送当前数据请求;
接收服务器发送的设定等待时长及根据所述当前数据请求确定的消息;
等待所述设定等待时长后发送下一次数据请求。
9.一种连接的建立装置,其特征在于,所述装置设置于服务器中,包括:
数据请求接收模块,用于接收客户端发送的进入当前直播间的数据请求;
连接方式确定模块,用于获取所述当前直播间的用户数量,根据所述用户数量确定与客户端的连接方式;所述连接方式包括长链接方式或者轮询方式;
连接方式发送模块,用于根据所述数据请求将所述连接方式发送至所述客户端,以使所述客户端按照所述连接方式与服务器建立连接;
所述连接方式确定模块,还用于:
若用户数量超过第一设定阈值,则确定与客户端的连接方式为轮询方式;
若用户数量未超过第一设定阈值,则确定与客户端的连接方式为长链接方式;
第二切换模块,用于
当当前直播间的用户数量小于第一设定阈值时;
获取当前直播间中以轮询方式与服务器连接的客户端;
向以轮询方式与服务器连接的客户端发送第二切换消息,以使客户端将与服务器的连接方式由轮询方式切换至长链接方式。
10.一种连接的建立装置,其特征在于,所述装置设置于客户端中,包括:
数据请求发送模块,用于向服务器发送进入当前直播间的数据请求;
连接方式接收模块,用于接收服务器发送的连接方式;所述连接方式由服务器根据所述当前直播间的用户数量确定,所述连接方式包括长链接方式或者轮询方式;
连接建立模块,用于按照所述连接方式与服务器建立连接;
第一切换模块,用于:当与服务器的连接方式为长链接方式时,接收服务器发送的第一切换消息;根据所述第一切换消息将与服务器的连接方式由长链接方式切换至轮询方式;
第二切换模块,用于:当与服务器的连接方式为轮询方式时,接收服务器发送的第二切换消息;根据所述第二切换消息将与服务器的连接方式由轮询方式切换至长链接方式。
11.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理装置;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理装置执行,使得所述一个或多个处理装置实现如权利要求1-8中任一所述的连接的建立方法。
12.一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理装置执行时实现如权利要求1-8中任一所述的连接的建立方法。
CN201910505935.8A 2019-06-12 2019-06-12 连接的建立方法、装置、设备及存储介质 Active CN110166791B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910505935.8A CN110166791B (zh) 2019-06-12 2019-06-12 连接的建立方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910505935.8A CN110166791B (zh) 2019-06-12 2019-06-12 连接的建立方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN110166791A CN110166791A (zh) 2019-08-23
CN110166791B true CN110166791B (zh) 2021-10-29

Family

ID=67628663

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910505935.8A Active CN110166791B (zh) 2019-06-12 2019-06-12 连接的建立方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN110166791B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110809170B (zh) * 2019-10-09 2021-12-07 北京达佳互联信息技术有限公司 延时确定方法及装置、商品链接展示方法及装置和服务器
CN111314433B (zh) * 2020-01-20 2022-08-05 北京字节跳动网络技术有限公司 消息传输方法、装置及电子设备
CN113055695B (zh) * 2020-12-23 2022-08-12 北京达佳互联信息技术有限公司 数据传输方法、装置、服务器、设备及介质
CN113098761B (zh) * 2021-03-31 2022-11-15 深圳市艾酷通信软件有限公司 通信方法、装置、电子设备和存储介质
CN113225573B (zh) * 2021-04-13 2023-08-18 北京达佳互联信息技术有限公司 直播连线方法、装置、终端、服务器、介质及产品
CN114157624B (zh) * 2021-11-25 2023-10-24 上海浦东发展银行股份有限公司 即时通讯的链路连接方法、装置、设备及存储介质
CN115037954A (zh) * 2022-05-18 2022-09-09 阿里云计算有限公司 访问直播的控制方法、装置及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101034925A (zh) * 2007-04-28 2007-09-12 华为技术有限公司 一种支持智能天线应用的媒体接入控制方法及设备
CN102868759A (zh) * 2012-09-28 2013-01-09 方正国际软件有限公司 服务器控制浏览器界面数据刷新的系统及其方法
CN103945003A (zh) * 2014-05-06 2014-07-23 北京邮电大学 一种WebRTC客户端连接动态自适应选择的方法
CN105450675A (zh) * 2016-01-25 2016-03-30 杭州施强网络科技有限公司 一种流媒体播放中客户端选择cdn服务节点的方法
CN105872028A (zh) * 2016-03-25 2016-08-17 努比亚技术有限公司 服务端、客户端及访问策略管理方法
CN106851329A (zh) * 2017-03-13 2017-06-13 深圳市网心科技有限公司 一种基于长连接的智能直播互动方法及系统
CN109818999A (zh) * 2017-11-22 2019-05-28 北京京东尚科信息技术有限公司 数据传输方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9509802B1 (en) * 2013-03-15 2016-11-29 PME IP Pty Ltd Method and system FPOR transferring data to improve responsiveness when sending large data sets

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101034925A (zh) * 2007-04-28 2007-09-12 华为技术有限公司 一种支持智能天线应用的媒体接入控制方法及设备
CN102868759A (zh) * 2012-09-28 2013-01-09 方正国际软件有限公司 服务器控制浏览器界面数据刷新的系统及其方法
CN103945003A (zh) * 2014-05-06 2014-07-23 北京邮电大学 一种WebRTC客户端连接动态自适应选择的方法
CN105450675A (zh) * 2016-01-25 2016-03-30 杭州施强网络科技有限公司 一种流媒体播放中客户端选择cdn服务节点的方法
CN105872028A (zh) * 2016-03-25 2016-08-17 努比亚技术有限公司 服务端、客户端及访问策略管理方法
CN106851329A (zh) * 2017-03-13 2017-06-13 深圳市网心科技有限公司 一种基于长连接的智能直播互动方法及系统
CN109818999A (zh) * 2017-11-22 2019-05-28 北京京东尚科信息技术有限公司 数据传输方法和装置

Also Published As

Publication number Publication date
CN110166791A (zh) 2019-08-23

Similar Documents

Publication Publication Date Title
CN110166791B (zh) 连接的建立方法、装置、设备及存储介质
CN109474688B (zh) 即时通信网络请求消息的发送方法、装置、设备和介质
US11924298B2 (en) Message pushing method for a virtual gift and electronic device
CN107707972B (zh) 用于屏幕共享的数据处理方法、装置、系统及电子设备
CN112312060B (zh) 屏幕共享方法、装置和电子设备
CN109819268B (zh) 视频直播中的直播间播放控制方法、装置、介质及设备
CN112291316B (zh) 连接处理方法、装置、电子设备及计算机可读存储介质
CN111246228B (zh) 直播间礼物资源更新方法、装置、介质及电子设备
US11758087B2 (en) Multimedia conference data processing method and apparatus, and electronic device
CN110781373A (zh) 榜单更新方法、装置、可读介质和电子设备
CN111818291B (zh) 建立多媒体通话的方法、装置和电子设备
CN110908921A (zh) 一种游戏问题定位方法、装置、电子设备及存储介质
US20240007591A1 (en) Method and apparatus of interaction video connection, electronic device, and storage medium
CN111147885B (zh) 直播间互动方法、装置、可读介质及电子设备
US20230388440A1 (en) Video call method and apparatus, and electronic device and storage medium
WO2023226757A1 (zh) 视频缓存方法、装置、设备及存储介质
CN113766303B (zh) 多屏互动方法、装置、设备及存储介质
CN115563134A (zh) 一种交互方法、装置、电子设备、计算机可读介质
CN112203103B (zh) 消息处理方法、装置、电子设备及计算机可读存储介质
CN111641693B (zh) 会话数据处理方法、装置及电子设备
CN109842549B (zh) 即时通讯交互方法、装置及电子设备
CN114489891A (zh) 云应用程序的控制方法、系统、装置、可读介质和设备
CN111142740A (zh) 一种数据更新方法、装置及存储介质
CN112162682A (zh) 内容显示方法、装置、电子设备及计算机可读存储介质
CN110248253B (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
GR01 Patent grant
GR01 Patent grant