CN111277847A - 直播中聊天消息的展示方法、装置、服务器及系统 - Google Patents
直播中聊天消息的展示方法、装置、服务器及系统 Download PDFInfo
- Publication number
- CN111277847A CN111277847A CN202010072530.2A CN202010072530A CN111277847A CN 111277847 A CN111277847 A CN 111277847A CN 202010072530 A CN202010072530 A CN 202010072530A CN 111277847 A CN111277847 A CN 111277847A
- Authority
- CN
- China
- Prior art keywords
- live broadcast
- broadcast room
- server
- chat messages
- bounded queue
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000013507 mapping Methods 0.000 claims description 24
- 238000004891 communication Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 14
- 238000007726 management method Methods 0.000 description 53
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 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/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/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
- H04N21/4788—Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
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为本发明一实施例提供的直播中聊天消息的展示装置的结构示意图;
图5为本发明一实施例提供的直播系统的结构示意图;
图6为本发明一实施例提供的服务器的结构示意图。
具体实施方式
为了使本领域技术人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面首先对本发明一实施例的直播中聊天消息的展示方法进行介绍。
本发明实施例提供的直播中聊天消息的展示方法,可以应用于直播系统的管理服务器或者指定服务器。在具体应用中,管理服务器或者指定服务器可以是多种的,具体可以包括台式计算机、便携式计算机、互联网电视、智能移动终端、服务器以及可穿戴式智能终端等等,在此不作限定,任何可以实现本发明实施例的管理服务器或者指定服务器,均属于本发明实施例的保护范围。
如图1所示,本发明一实施例的直播中聊天消息的展示方法的流程,该方法可以包括:
S101,管理服务器在检测到观众进入已开始直播的直播间时,向指定服务器请求该直播间的有界队列。有界队列为按照先进先出的规则,对直播间的指定数量个聊天消息进行保存得到的队列。
其中,管理服务器检测观众进入已开始直播的直播间的方式,具体可以是多种的。示例性的,当管理服务器接收到观众的客户端对已开始直播的直播间的直播数据的获取请求时,可以确定检测到观众进入已开始直播的直播间。或者,示例性的,当管理服务器监测到观众的客户端存在指定状态标识时,可以确定检测到观众进入已开始直播的直播间。其中,指定状态标识具体可以为表明观众点击客户端中关于进入已开始直播的直播间的按钮的标识。任何管理服务器检测观众进入已开始直播的直播间的方式均可用于本发明,本实施例对此不作限制。
并且,目标聊天消息为观众进入该直播间的时间点之前,该直播间的最新聊天消息。因此,为了保证后续通过步骤S102至S103提高目标聊天消息的获取速度,进而提高步骤S104中对目标聊天消息的展示速度,可以按照先进先出的规则对直播间的指定数量个聊天消息进行保存,得到有界队列。由此,可以保证所保存的聊天消息始终为观众进入相应直播间的时间点之前,最新的指定数量个聊天消息,相当于目标聊天消息。为了便于理解和合理布局,后续在本发明图3实施例中对有界队列的更新方式进行具体说明。
在具体应用中,指定服务器可以是多种的。示例性的,指定服务器可以是管理服务器本身,或者,与管理服务器不同的直播间服务器,这都是合理的。为了便于理解和合理布局,后续以可选实施例的形式,对指定服务器为直播间服务器的情况进行具体说明。任何可以用于存储有界队列、且对有界队列的存储和查找效率相对于数据库更高的指定服务器,均可用于本发明,本实施例对此不作限制。
S102,指定服务器从指定服务器的内存中查找并返回有界队列给管理服务器。
为了提高后续目标聊天消息的展示效率,可以提高有界队列的获取效率。对此,可以将有界队列存储在指定服务器的内存中,相应的,指定服务器在接收到管理服务器对已开始直播的直播间的有界队列的获取请求时,可以从指定服务器的内存中查找该直播间的有界队列,并将所查找的有界队列返回给管理服务器。其中,由于直播系统中存在多个直播间,因此,有界队列与直播间一一对应,每个直播间存在该直播间的有界队列。
S103,管理服务器将所接收的有界队列中的聊天消息作为目标聊天消息,发送给观众的客户端。
S104,客户端展示目标聊天消息。
有界队列中保存的数据的个数为指定数量个,并且有界队列中数据的保存规则为先进先出。因此,将聊天消息保存在有界队列中,可以保证所保存的聊天消息始终为观众进入相应直播间的时间点之前,最新的指定数量个聊天消息,相当于能够用于实现上下文展示的目标聊天消息。因此,管理服务器可以在步骤S103中将所接收的有界队列中的聊天消息作为目标聊天消息,发送给观众的客户端。并且,由于指定服务器从指定服务器的内存中查找有界队列,因此,有界队列的查找效率相对于从数据库中查找的效率更高,从而可以实现目标聊天消息的获取效率的提高,因此,客户端在步骤S104展示目标聊天消息时,可以提高对目标聊天消息的展示效率。
示例性的,如图2所示,客户端可以在直播间界面201的消息展示区域2011中展示目标聊天消息。其中,目标聊天消息的数量为指定数量个,具体可以为消息S1、消息S2、……以及消息Sn,n为指定数量。在具体应用中,消息S1、消息S2、……以及消息Sn可以按照观众对该消息的发送时间从早到晚的顺序排列在消息展示区域2011中,进行滚动展示。另外,由于消息展示区域2011中聊天消息的展示个数有限,当存在旧消息需要从消息展示区域2011中剔除时,可以采用淡出效果剔除。
本发明实施例提供的方案中,有界队列中保存的数据的个数为指定数量个,并且有界队列中数据的保存规则为先进先出。因此,将聊天消息保存在有界队列中,可以保证所保存的聊天消息始终为观众进入相应直播间的时间点之前,最新的指定数量个聊天消息,相当于能够用于实现上下文展示的目标聊天消息。并且,将有界队列存储在指定服务器的内存中时,最新的指定数量个聊天消息相对而言可以有限地占用服务器的内存,保证聊天消息可以被保存在服务器的内存中。以此为基础,从指定服务器的内存中获取有界队列相当于获取目标聊天消息。与从数据库中查找目标聊天消息相比,目标聊天消息的获取速度相对而言更快。因此,可以提高目标聊天消息的获取速度,从而提高直播中目标聊天消息的展示效率。
如图3所示,本发明一实施例的直播中聊天消息的展示方法中,有界队列的更新流程,该有界队列的更新流程可以包括如下步骤:
S301,管理服务器在接收到观众的客户端发送的聊天消息时,将所接收的聊天消息发送给指定服务器。
为了将聊天消息保存为指定服务器内存中的有界队列,管理服务器可以在接收到观众的客户端发送的聊天消息时,将所接收的聊天消息发送给指定服务器。并且,由于聊天消息为客户端在所进入的直播间发送的消息,因此,聊天消息可以看作客户端进入的直播间的聊天消息。
S302,指定服务器检测该直播间的有界队列中,聊天消息的个数是否等于指定数量;如果不等于指定数量,执行步骤S303,如果等于指定数量,执行步骤S304。
由于有界队列中聊天消息的个数为指定数量个,因此,指定服务器在接收到管理服务器发送的聊天消息时,需要检测该直播间的有界队列中,聊天消息的个数是否等于指定数量。并且,有界队列中聊天消息的数量最大为指定数量个。如果不等于指定数量,表明该直播间的有界队列中聊天消息的数量小于指定数量,该有界队列中存在存储聊天消息的空间,因此,可以执行步骤S303。如果等于指定数量,表明该直播间的有界队列中不存在存储聊天消息的空间,因此,可以执行步骤S304。
S303,指定服务器将所接收的聊天消息保存在直播间的有界队列中。
S304,指定服务器从已保存的该直播间的有界队列中剔除最早保存的聊天消息,并将所接收的聊天消息保存在该直播间的有界队列中。
为了在有界队列中聊天消息的个数为指定数量时,能将所接收的聊天消息存储在有界队列中;并且,保证有界队列中的聊天消息始终为已开始直播的直播间的最新的指定数量个聊天消息,以便有界队列能够作为在任一时间点进入已开始直播的直播间客户端的目标聊天消息,指定服务器从已保存的该直播间的有界队列中剔除最早保存的聊天消息,并将所接收的聊天消息保存在该直播间的有界队列中。举例而言,直播间R1的有界队列中的聊天消息包括消息S1、消息S2以及消息S3,其中,消息S1为最早保存的聊天消息。聊天消息的保存时间越早,表明该聊天消息相对于观众进入直播间的时间点而言越旧。因此,可以将最早保存的消息S1从有界队列中剔除,并将所接收的消息S4保存在直播间R1的有界队列中。
可选的,上述指定服务器为与管理服务器通信连接的直播间服务器;
相应的,上述步骤S101:管理服务器在检测到观众进入已开始直播的直播间时,向指定服务器请求该直播间的有界队列,具体可以包括如下步骤A至步骤B:
步骤A,在检测到观众进入已开始直播的直播间时,向直播间服务器发送数据获取请求;
步骤B,直播间服务器在接收到数据获取请求时,从直播间服务器的内存中读取直播间的有界队列,并返回给管理服务器。
在具体应用中,为了提高管理服务器的性能,以提高直播的实时性,可以将与管理服务器通信连接的直播间服务器作为指定服务器。由直播间服务器对直播的聊天消息进行存储,以减轻管理服务器的压力,提高管理服务器的性能。并且,在一种可选的实施方式中,上述直播间服务器的数量可以为多个,且多个直播间服务器与直播系统的直播间一一对应;
相应的,在上述步骤A:向所述直播间服务器发送数据获取请求之前,本发明实施例提供的直播中聊天消息的展示方法,还可以包括如下步骤:
获取直播间的直播间标识;
将所获取的直播间标识输入预存的映射关系,得到与所获取的直播间标识对应的直播间服务器标识;预存的映射关系为直播间标识与直播间服务器标识之间的映射关系;
相应的,上述步骤A:向直播间服务器发送数据获取请求,具体可以包括如下步骤:
向具有所得到的直播间服务器标识的直播间服务器发送数据获取请求。
在具体应用中,为了进一步提高目标聊天消息的获取速度,并减少聊天消息存储混乱引起的直播间消息展示异常,可以设置多个直播间服务器,并且多个直播间服务器与直播系统的直播间一一对应。以此为基础,可以保证直播间的聊天消息存储在唯一对应的直播间服务器中,进而获取聊天消息时从相应的直播间服务器中获取,从而减少聊天消息存储混乱引起的直播间消息展示异常。
为了从多个直播间服务器中确定与需要展示目标聊天消息的直播间对应的直播间服务器,可以预存直播间标识与直播间服务器标识之间的映射关系。以此为基础,可以获取该直播间的直播间标识,进而将所获取的直播间标识输入预存的映射关系,得到与所获取的直播间标识对应的直播间服务器标识,具有所得到的直播间服务器标识的直播间服务器即为与该直播间对应的直播间服务器。
其中,获取直播间的直播间标识的方式具体可以是多种的。示例性的,管理服务器可以在客户端请求该直播间的直播服务时,读取客户端所请求的直播间的直播间标识。或者,管理服务器可以在检测到客户端进入已开始直播的直播间时,记录所检测到的已开始直播的直播间的直播间标识。任何管理服务器能够获取直播间的直播间标识的方法均可用于本发明,本实施例对此不作限制。
并且,预存的映射关系具体可以是多种的。示例性的,预存的映射关系可以为:任一直播间标识与该直播间标识对应的直播间服务器标识具有相同的首位字符。或者,示例性的,预存的映射关系可以为:任一直播间标识与该直播间标识对应的直播间服务器标识具有相同的末位字符。任何关于直播间标识与直播间服务器标识之间的映射关系均可用于本发明,本实施例对此不作限制。
可选的,在上述将所接收的有界队列中的聊天消息作为目标聊天消息,发送给观众的客户端之后,本发明实施例提供的直播中聊天消息的展示方法,还可以包括如下步骤:
当检测到直播间的全部用户退出直播间时,获取直播间对应的直播间服务器标识;
向具有直播间服务器标识的直播间服务器发送消息清空指令,以使得具有直播间服务器标识的直播间服务器从该直播间服务器的内存中,清空该直播间的有界队列。
在具体应用中,检测直播间的全部用户退出直播间的方式可以是多种的。示例性的,可以在检测到直播间的直播结束时,确定检测到直播间的全部用户退出直播间。或者,可以在检测到该直播间的客户端数量为0时,监测在预设时长后是否存在客户端进入该直播间;如果不存在,确定检测到直播间的全部用户退出直播间。任何检测直播间的全部用户退出直播间的方式均可用于本发明,本实施例对此不作限制。
并且,获取直播间对应的直播间服务器标识的获取方式,具体可以包括:获取直播间的直播间标识;将所获取的直播间标识输入预存的映射关系,得到与所获取的直播间标识对应的直播间服务器标识。其中,预存的映射关系与上述存在多个直播间服务器的可选实施例中预存的映射关系相同,在此不再赘述,详见上述可选实施例的描述。
当直播间的全部用户退出直播间时,表明可以不再提供用于上下文消息的目标聊天消息。因此,为了提高直播间服务器内存的可用性,管理服务器可以向具有直播间服务器标识的直播间服务器发送消息清空指令,以使得具有直播间服务器标识的直播间服务器从该直播间服务器的内存中,清空直播间的有界队列。
相应于上述方法实施例,本发明一实施例还提供了直播中聊天消息的展示装置。
如图4所示,本发明一实施例的直播中聊天消息的展示装置,应用于直播系统的管理服务器,该装置可以包括:
有界队列请求模块401,用于在检测到观众进入已开始直播的直播间时,向指定服务器请求所述直播间的有界队列,以使得所述指定服务器从所述指定服务器的内存中查找并返回所述有界队列给所述管理服务器;所述有界队列为按照先进先出的规则,对所述直播间的指定数量个聊天消息进行保存得到的队列;
有界队列发送模块402,用于将所接收的有界队列中的聊天消息作为目标聊天消息,发送给所述观众的客户端,以使得所述客户端展示所述目标聊天消息。
本发明实施例提供的方案中,有界队列中保存的数据的个数为指定数量个,并且有界队列中数据的保存规则为先进先出。因此,将聊天消息保存在有界队列中,可以保证所保存的聊天消息始终为观众进入相应直播间的时间点之前,最新的指定数量个聊天消息,相当于能够用于实现上下文展示的目标聊天消息。并且,将有界队列存储在指定服务器的内存中时,最新的指定数量个聊天消息相对而言可以有限地占用服务器的内存,保证聊天消息可以被保存在服务器的内存中。以此为基础,从指定服务器的内存中获取有界队列相当于获取目标聊天消息。与从数据库中查找目标聊天消息相比,目标聊天消息的获取速度相对而言更快。因此,可以提高目标聊天消息的获取速度,从而提高直播中目标聊天消息的展示效率。
可选的,所述有界队列采用如下步骤进行更新:
在接收到观众的客户端发送的聊天消息时,将所接收的聊天消息发送给指定服务器,以使得所述指定服务器检测所述直播间的有界队列中聊天消息的个数是否等于所述指定数量,如果不等于所述指定数量,所述指定服务器将所接收的聊天消息保存在所述直播间的有界队列中,否则,所述指定服务器从所述已保存的所述直播间的有界队列中剔除最早保存的聊天消息,并将所接收的聊天消息保存在所述直播间的有界队列中。
可选的,所述指定服务器为与所述管理服务器通信连接的直播间服务器;
所述有界队列请求模块401,具体用于:
向所述直播间服务器发送数据获取请求,以使得所述直播间服务器在接收到所述数据获取请求时,从所述直播间服务器的内存中读取所述直播间的有界队列,并返回给所述管理服务器。
可选的,所述直播间服务器的数量为多个,且多个直播间服务器与所述直播系统的直播间一一对应;
所述装置还包括标识获取模块,用于:
在所述有界队列请求模块401向所述直播间服务器发送数据获取请求之前,获取所述直播间的直播间标识;
将所获取的直播间标识输入预存的映射关系,得到与所获取的直播间标识对应的直播间服务器标识;所述预存的映射关系为直播间标识与直播间服务器标识之间的映射关系;
所述有界队列请求模块401,具体用于:
向具有所得到的直播间服务器标识的直播间服务器发送数据获取请求。
可选的,所述标识获取模块,还用于:
在所述有界队列发送模块402将所接收的有界队列中的聊天消息作为目标聊天消息,发送给所述观众的客户端之后,当检测到所述直播间的全部用户退出所述直播间时,获取所述直播间对应的直播间服务器标识;
向具有所述直播间服务器标识的直播间服务器发送消息清空指令,以使得具有所述直播间服务器标识的直播间服务器从该直播间服务器的内存中,清空所述直播间的有界队列。
如图5所示,本发明一实施例的直播系统,该系统可以包括:
管理服务器501,用于在检测到观众进入已开始直播的直播间时,向指定服务器502请求所述直播间的有界队列;所述有界队列为按照先进先出的规则,对所述直播间的指定数量个聊天消息进行保存得到的队列;将所接收的有界队列中的聊天消息作为目标聊天消息,发送给所述观众的客户端503;
指定服务器502,用于从所述指定服务器502的内存中查找并返回所述有界队列给所述管理服务器501;
客户端503,用于展示所接收的所述目标聊天消息。
在具体应用中,指定服务器502可以与管理服务器501相同,或者,可以与管理服务器501不同。
本发明实施例提供的方案中,有界队列中保存的数据的个数为指定数量个,并且有界队列中数据的保存规则为先进先出。因此,将聊天消息保存在有界队列中,可以保证所保存的聊天消息始终为观众进入相应直播间的时间点之前,最新的指定数量个聊天消息,相当于能够用于实现上下文展示的目标聊天消息。并且,将有界队列存储在指定服务器的内存中时,最新的指定数量个聊天消息相对而言可以有限地占用服务器的内存,保证聊天消息可以被保存在服务器的内存中。以此为基础,从指定服务器的内存中获取有界队列相当于获取目标聊天消息。与从数据库中查找目标聊天消息相比,目标聊天消息的获取速度相对而言更快。因此,可以提高目标聊天消息的获取速度,从而提高直播中目标聊天消息的展示效率。
相应于上述实施例,本发明实施例还提供了一种服务器,如图6所示,该服务器可以包括:
处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器通603过通信总线604完成相互间的通信;
存储器603,用于存放计算机程序;
处理器601,用于执行上述存储器603上所存放的计算机程序时,实现上述实施例中任一应用于管理服务器的直播中聊天消息的展示方法的步骤。
在具体应用中,本实施例中的服务器为直播系统的管理服务器。
本发明实施例提供的方案中,有界队列中保存的数据的个数为指定数量个,并且有界队列中数据的保存规则为先进先出。因此,将聊天消息保存在有界队列中,可以保证所保存的聊天消息始终为观众进入相应直播间的时间点之前,最新的指定数量个聊天消息,相当于能够用于实现上下文展示的目标聊天消息。并且,将有界队列存储在指定服务器的内存中时,最新的指定数量个聊天消息相对而言可以有限地占用服务器的内存,保证聊天消息可以被保存在服务器的内存中。以此为基础,从指定服务器的内存中获取有界队列相当于获取目标聊天消息。与从数据库中查找目标聊天消息相比,目标聊天消息的获取速度相对而言更快。因此,可以提高目标聊天消息的获取速度,从而提高直播中目标聊天消息的展示效率。
上述存储器可以包括RAM(Random Access Memory,随机存取存储器),也可以包括NVM(Non-Volatile Memory,非易失性存储器),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离于上述处理器的存储装置。
上述处理器可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital Signal Processor,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明一实施例提供的计算机可读存储介质,包含于服务器,该计算机可读存储介质内存储有计算机程序,该计算机程序被处理器执行时,实现上述实施例中任一应用于管理服务器的直播中聊天消息的展示方法的步骤。
本发明实施例提供的方案中,有界队列中保存的数据的个数为指定数量个,并且有界队列中数据的保存规则为先进先出。因此,将聊天消息保存在有界队列中,可以保证所保存的聊天消息始终为观众进入相应直播间的时间点之前,最新的指定数量个聊天消息,相当于能够用于实现上下文展示的目标聊天消息。并且,将有界队列存储在指定服务器的内存中时,最新的指定数量个聊天消息相对而言可以有限地占用服务器的内存,保证聊天消息可以被保存在服务器的内存中。以此为基础,从指定服务器的内存中获取有界队列相当于获取目标聊天消息。与从数据库中查找目标聊天消息相比,目标聊天消息的获取速度相对而言更快。因此,可以提高目标聊天消息的获取速度,从而提高直播中目标聊天消息的展示效率。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一应用于管理服务器的所述的直播中聊天消息的展示方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、DSL(Digital Subscriber Line,数字运维人员线)或无线(例如:红外线、无线电、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如:DVD(Digital Versatile Disc,数字通用光盘))、或者半导体介质(例如:SSD(Solid StateDisk,固态硬盘))等。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、系统和服务器实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种直播中聊天消息的展示方法,其特征在于,应用于直播系统的管理服务器,所述方法包括:
在检测到观众进入已开始直播的直播间时,向指定服务器请求所述直播间的有界队列,以使得所述指定服务器从所述指定服务器的内存中查找并返回所述有界队列给所述管理服务器;所述有界队列为按照先进先出的规则,对所述直播间的指定数量个聊天消息进行保存得到的队列;
将所接收的有界队列中的聊天消息作为目标聊天消息,发送给所述观众的客户端,以使得所述客户端展示所述目标聊天消息。
2.根据权利要求1所述的方法,其特征在于,所述有界队列采用如下步骤进行更新:
在接收到观众的客户端发送的聊天消息时,将所接收的聊天消息发送给指定服务器,以使得所述指定服务器检测所述直播间的有界队列中聊天消息的个数是否等于所述指定数量,如果不等于所述指定数量,所述指定服务器将所接收的聊天消息保存在所述直播间的有界队列中,否则,所述指定服务器从所述已保存的所述直播间的有界队列中剔除最早保存的聊天消息,并将所接收的聊天消息保存在所述直播间的有界队列中。
3.根据权利要求1所述的方法,其特征在于,所述指定服务器为与所述管理服务器通信连接的直播间服务器;
所述向指定服务器请求所述直播间的有界队列,包括:
向所述直播间服务器发送数据获取请求,以使得所述直播间服务器在接收到所述数据获取请求时,从所述直播间服务器的内存中读取所述直播间的有界队列,并返回给所述管理服务器。
4.根据权利要求3所述的方法,其特征在于,所述直播间服务器的数量为多个,且多个直播间服务器与所述直播系统的直播间一一对应;
在所述向所述直播间服务器发送数据获取请求之前,所述方法还包括:
获取所述直播间的直播间标识;
将所获取的直播间标识输入预存的映射关系,得到与所获取的直播间标识对应的直播间服务器标识;所述预存的映射关系为直播间标识与直播间服务器标识之间的映射关系;
所述向所述直播间服务器发送数据获取请求,包括:
向具有所得到的直播间服务器标识的直播间服务器发送数据获取请求。
5.根据权利要求4所述的方法,其特征在于,在所述将所接收的有界队列中的聊天消息作为目标聊天消息,发送给所述观众的客户端之后,所述方法还包括:
当检测到所述直播间的全部用户退出所述直播间时,获取所述直播间对应的直播间服务器标识;
向具有所述直播间服务器标识的直播间服务器发送消息清空指令,以使得具有所述直播间服务器标识的直播间服务器从该直播间服务器的内存中,清空所述直播间的有界队列。
6.一种直播中聊天消息的展示装置,其特征在于,应用于直播系统的管理服务器,所述装置包括:
有界队列请求模块,用于在检测到观众进入已开始直播的直播间时,向指定服务器请求所述直播间的有界队列,以使得所述指定服务器从所述指定服务器的内存中查找并返回所述有界队列给所述管理服务器;所述有界队列为按照先进先出的规则,对所述直播间的指定数量个聊天消息进行保存得到的队列;
有界队列发送模块,用于将所接收的有界队列中的聊天消息作为目标聊天消息,发送给所述观众的客户端,以使得所述客户端展示所述目标聊天消息。
7.根据权利要求6所述的装置,其特征在于,所述有界队列采用如下步骤进行更新:
在接收到观众的客户端发送的聊天消息时,将所接收的聊天消息发送给指定服务器,以使得所述指定服务器检测所述直播间的有界队列中聊天消息的个数是否等于所述指定数量,如果不等于所述指定数量,所述指定服务器将所接收的聊天消息保存在所述直播间的有界队列中,否则,所述指定服务器从所述已保存的所述直播间的有界队列中剔除最早保存的聊天消息,并将所接收的聊天消息保存在所述直播间的有界队列中。
8.一种直播系统,其特征在于,所述直播系统包括:
管理服务器,用于在检测到观众进入已开始直播的直播间时,向指定服务器请求所述直播间的有界队列;所述有界队列为按照先进先出的规则,对所述直播间的指定数量个聊天消息进行保存得到的队列;将所接收的有界队列中的聊天消息作为目标聊天消息,发送给所述观众的客户端;
指定服务器,用于从所述指定服务器的内存中查找并返回所述有界队列给所述管理服务器;
客户端,用于展示所接收的所述目标聊天消息。
9.一种服务器,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过总线完成相互间的通信;所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存放的程序,实现如权利要求1-5任一所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-5任一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010072530.2A CN111277847B (zh) | 2020-01-21 | 2020-01-21 | 直播中聊天消息的展示方法、装置、服务器及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010072530.2A CN111277847B (zh) | 2020-01-21 | 2020-01-21 | 直播中聊天消息的展示方法、装置、服务器及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111277847A true CN111277847A (zh) | 2020-06-12 |
CN111277847B CN111277847B (zh) | 2022-02-25 |
Family
ID=71002249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010072530.2A Active CN111277847B (zh) | 2020-01-21 | 2020-01-21 | 直播中聊天消息的展示方法、装置、服务器及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111277847B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112099895A (zh) * | 2020-09-28 | 2020-12-18 | 广州华多网络科技有限公司 | 界面通知消息调度方法、装置、设备及存储介质 |
CN112436997A (zh) * | 2020-11-10 | 2021-03-02 | 杭州米络星科技(集团)有限公司 | 聊天室的消息分发方法、消息分发系统及电子设备 |
CN112637619A (zh) * | 2020-12-09 | 2021-04-09 | 北京字节跳动网络技术有限公司 | 直播间置顶消息确定方法、装置、设备和存储介质 |
CN113055750A (zh) * | 2021-03-08 | 2021-06-29 | 广州繁星互娱信息科技有限公司 | 直播方法、装置、终端及存储介质 |
CN113259704A (zh) * | 2021-05-19 | 2021-08-13 | 杭州米络星科技(集团)有限公司 | 直播间初始化方法、装置、设备及存储介质 |
CN114071175A (zh) * | 2021-11-16 | 2022-02-18 | 上海哔哩哔哩科技有限公司 | 消息的内存对齐方法和系统 |
CN114924670A (zh) * | 2022-05-17 | 2022-08-19 | 北京字跳网络技术有限公司 | 聊天频道显示方法、装置、设备、可读存储介质及产品 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170064366A1 (en) * | 2015-08-27 | 2017-03-02 | Mobilitie, Llc | System and method for live video streaming |
CN108174305A (zh) * | 2016-12-07 | 2018-06-15 | 北京云中融信网络科技有限公司 | 直播聊天室的消息处理方法及装置 |
CN110708237A (zh) * | 2019-10-30 | 2020-01-17 | 北京字节跳动网络技术有限公司 | 消息交互方法、装置、可读介质及电子设备 |
-
2020
- 2020-01-21 CN CN202010072530.2A patent/CN111277847B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170064366A1 (en) * | 2015-08-27 | 2017-03-02 | Mobilitie, Llc | System and method for live video streaming |
CN108174305A (zh) * | 2016-12-07 | 2018-06-15 | 北京云中融信网络科技有限公司 | 直播聊天室的消息处理方法及装置 |
CN110708237A (zh) * | 2019-10-30 | 2020-01-17 | 北京字节跳动网络技术有限公司 | 消息交互方法、装置、可读介质及电子设备 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112099895A (zh) * | 2020-09-28 | 2020-12-18 | 广州华多网络科技有限公司 | 界面通知消息调度方法、装置、设备及存储介质 |
CN112436997A (zh) * | 2020-11-10 | 2021-03-02 | 杭州米络星科技(集团)有限公司 | 聊天室的消息分发方法、消息分发系统及电子设备 |
CN112436997B (zh) * | 2020-11-10 | 2023-03-03 | 杭州米络星科技(集团)有限公司 | 聊天室的消息分发方法、消息分发系统及电子设备 |
CN112637619A (zh) * | 2020-12-09 | 2021-04-09 | 北京字节跳动网络技术有限公司 | 直播间置顶消息确定方法、装置、设备和存储介质 |
CN112637619B (zh) * | 2020-12-09 | 2023-05-16 | 北京字节跳动网络技术有限公司 | 直播间置顶消息确定方法、装置、设备和存储介质 |
CN113055750A (zh) * | 2021-03-08 | 2021-06-29 | 广州繁星互娱信息科技有限公司 | 直播方法、装置、终端及存储介质 |
CN113055750B (zh) * | 2021-03-08 | 2023-10-13 | 广州繁星互娱信息科技有限公司 | 直播方法、装置、终端及存储介质 |
CN113259704A (zh) * | 2021-05-19 | 2021-08-13 | 杭州米络星科技(集团)有限公司 | 直播间初始化方法、装置、设备及存储介质 |
CN113259704B (zh) * | 2021-05-19 | 2023-06-09 | 杭州米络星科技(集团)有限公司 | 直播间初始化方法、装置、设备及存储介质 |
CN114071175A (zh) * | 2021-11-16 | 2022-02-18 | 上海哔哩哔哩科技有限公司 | 消息的内存对齐方法和系统 |
CN114924670A (zh) * | 2022-05-17 | 2022-08-19 | 北京字跳网络技术有限公司 | 聊天频道显示方法、装置、设备、可读存储介质及产品 |
Also Published As
Publication number | Publication date |
---|---|
CN111277847B (zh) | 2022-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111277847B (zh) | 直播中聊天消息的展示方法、装置、服务器及系统 | |
CN107315825B (zh) | 一种索引更新系统、方法及装置 | |
US20120158837A1 (en) | Method and system for establishing a notification service for a device | |
CN109547807B (zh) | 一种基于直播的信息处理方法、装置及服务器 | |
CN104038908A (zh) | 发送推送消息的方法和装置 | |
CN106713985B (zh) | 一种推荐网络视频的方法和装置 | |
CN112118352B (zh) | 通知触发消息的处理方法、装置、电子设备以及计算机可读介质 | |
CN111143662B (zh) | 一种内容推荐的方法、设备和计算机存储介质 | |
CN112328448A (zh) | 基于Zookeeper的监控方法、监控装置、设备及存储介质 | |
CN111309693A (zh) | 一种数据同步方法、装置、系统、电子设备及存储介质 | |
CN108764866B (zh) | 用于分配资源、领取资源的方法和设备 | |
CN110569097A (zh) | 一种信息显示方法及装置 | |
CN112565829B (zh) | 网络调度方法、装置、系统及可读存储介质 | |
CN111984723A (zh) | 数据同步方法、装置及终端设备 | |
CN103702218A (zh) | 一种视频播放方法及装置 | |
CN113139123A (zh) | 资源推荐方法、装置、服务端以及存储介质 | |
CN112838980A (zh) | 一种消息处理方法、系统、装置、电子设备及存储介质 | |
CN111274104B (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
US20130339318A1 (en) | Method and system for deleting obsolete files from a file system | |
CN108966034B (zh) | 虚拟物品显示方法、装置和存储介质 | |
CN105872742A (zh) | 网络视频下载方法和用户终端设备 | |
CN112799863B (zh) | 用于输出信息的方法和装置 | |
CN110061907B (zh) | 用于领取资源、分配资源的方法和设备 | |
CN112256654B (zh) | 一种文档共享方法及装置 | |
CN113204704A (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210526 Address after: 25, 5th floor, shuangjingfang office building, 3 frisha street, Singapore Applicant after: Zhuomi Private Ltd. Address before: Room 1101, Santai Commercial Building, 139 Connaught Road, Hong Kong, China Applicant before: HONG KONG LIVE.ME Corp.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |