CN109391852B - 一种消息展示方法、装置、设备及存储介质 - Google Patents
一种消息展示方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN109391852B CN109391852B CN201811076603.4A CN201811076603A CN109391852B CN 109391852 B CN109391852 B CN 109391852B CN 201811076603 A CN201811076603 A CN 201811076603A CN 109391852 B CN109391852 B CN 109391852B
- Authority
- CN
- China
- Prior art keywords
- message data
- cache region
- message
- cache
- acquired
- 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
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000009877 rendering Methods 0.000 claims abstract description 34
- 239000000872 buffer Substances 0.000 claims description 57
- 230000008014 freezing Effects 0.000 claims description 38
- 238000007710 freezing Methods 0.000 claims description 38
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 8
- 230000004044 response Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 239000003086 colorant Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000036647 reaction Effects 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/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
-
- 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/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
-
- 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/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4331—Caching operations, e.g. of an advertisement for later insertion during playback
-
- 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/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
-
- 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)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供一种消息展示方法、装置、设备及存储介质。该方法包括步骤:将获取的消息数据存放在第一缓存区,配置所述获取的消息数据的显示属性;将所述第一缓存区中预设数量或预定时间内获取的已配置显示属性的消息数据存放至第二缓存区;将所述第二缓存区缓存的消息数据按照各自的显示属性渲染在页面的指定位置。旨在解决传统技术中,由于单位时间内需展示的消息数据的数量较多时,出现应用程序无响应或卡顿的问题。
Description
技术领域
本申请涉及互联网技术,特别涉及一种消息展示方法、装置、设备及存储介质。
背景技术
消息展示是直播间页面展示的重要部分,所谓消息可以包括评论消息(例如微博或直播中的用户评论消息)、弹幕消息、***消息和/或礼物消息等。由于互联网用户的数量日益剧增,发明人发现现在的消息展示均存在单位时间消息数量巨大,以及单位时间刷新速率极高的特点,当单位时间需展示的消息数量超过一定值时,会出现应用程序无响应(ANR,Application Not Responding)对话框或卡顿现象,严重影响正常的消息展示。
发明内容
有鉴于此,本申请提供消息展示方法、装置、设备及存储介质,旨在解决现有技术中,由于单位时间内需展示的消息数据的数量较多时,出现应用程序无响应或卡顿的问题的技术问题。
具体地,本申请是通过如下技术方案实现的:
在本申请的第一方面,提供一种消息展示方法,所述方法包括步骤:
将获取的消息数据存放在第一缓存区,配置所述获取的消息数据的显示属性;
将所述第一缓存区中预设数量或预定时间内获取的已配置显示属性的消息数据存放至第二缓存区;
将所述第二缓存区缓存的消息数据按照各自的显示属性渲染在页面的指定位置。
在一些例子中,所述方法还包括步骤:
收到冻屏指令后,在冻屏期间,停止将第一缓存区缓存的消息数据存放至第二缓存区。
在一些例子中,所述配置所述获取的消息数据的显示属性,包括:
配置所述获取的消息数据的文字字体、文字颜色、文字字号、文字的点击事件和/或消息数据中的图片。
在一些例子中,所述第二缓存区包括:第三缓存区和第四缓存区;
所述将所述第一缓存区中预设数量或预定时间内获取的已配置显示属性的消息数据存放至第二缓存区;将所述第二缓存区缓存的消息数据按照各自的显示属性渲染在页面的指定位置,包括:
将所述第一缓存区中预设数量或预定时间内获取的已配置显示属性的消息数据先存放在第三缓存区,
未收到冻屏指令时,将所述第三缓存区存放的消息数据存放至第四缓存区;
收到冻屏指令后,在冻屏期间,停止将第三缓存区缓存的消息数据存放至第四缓存区;
将所述第四缓存区缓存的消息数据按照各自的显示属性渲染在页面的指定位置。
在一些例子中,所述方法还包括步骤:
若所述第一缓存区缓存的消息数据的数量超过预设极限,释放获取时间最早的消息数据。
在一些例子中,所述第一缓存区包括重要消息缓存队列;
所述释放获取时间最早的消息数据,包括:
判断获取时间最早的消息数据的类型;
若为指定类型,将所述消息数据缓存至重要消息缓存队列,其中,所述指定类型的消息数据包括:付费消息、重要用户的产生的消息和/或***消息,所述付费消息包括互联网直播中的礼物消息;
若为非指定类型,则释放所述消息数据。
在一些例子中,所述预定时间的范围包括:30MS-50MS。
在本申请的第二方面,提供一种消息展示装置,所述装置包括:
第一缓存模块,用于缓存获取的消息数据,并配置各消息数据的显示属性,将预设数量或预定时间内获取的已配置显示属性的消息数据发送至第二缓存模块;
第二缓存模块,用于缓存所述第一缓存区发送的的消息数据,并将自身缓存的消息数据发送至渲染模块;
渲染模块,用于将获取的消息数据按照各自的显示属性渲染在页面的指定位置。
在一些例子中,所述第二缓存模块包括第三缓存模块及第四缓存模块;
所述第三缓存模块用于缓存所述第一缓存区发送的的消息数据;未收到冻屏指令时,将所述第三缓存区存放的消息数据存放至第四缓存区;收到冻屏指令后,在冻屏期间,停止将第三缓存区缓存的消息数据存放至第四缓存区;
所述第四缓存模块用于缓存所述第三缓存区发送的的消息数据,并将自身缓存的消息数据发送至渲染模块。
在一些例子中,所述第一缓存模块还用于:收到冻屏指令后,在冻屏期间,停止将第一缓存区缓存的消息数据存放至第二缓存区。
在一些例子中,所述第一缓存模块还用于:若所述第一缓存区缓存的消息数据的数量超过预设极限,释放获取时间最早的消息数据。
在一些例子中,所述第一缓存模块还用于:所述第一缓存区包括重要消息缓存队列;
所述释放获取时间最早的消息数据,包括:
判断获取时间最早的消息数据的类型;
若为指定类型,将所述消息数据缓存至重要消息缓存队列,其中,所述指定类型的消息数据包括:付费消息、重要用户的产生的消息和/或***消息,所述付费消息包括互联网直播中的礼物消息;
若为非指定类型,则释放所述消息数据。在一些例子中,所述预定时间的范围包括:30MS-50MS。
在本申请的第三方面,提供一种图像设备,包括:
处理器;用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行如上述第一方面任意一项方法所述的操作。
在本申请的第四方面,提供一种存储介质,其上存储有程序,该程序被处理器执行如上述第一方面任意一项所述的方法的操作。
本申请利用第一缓存区缓存获取的消息数据,提前配置所述获取的消息数据的显示属性,实现消息数据的预处理,以及减少渲染时的刷新频率,降低从消息数据待展示到渲染之间的计算量,提高展示效率;并且将所述第一缓存区中预设数量或预定时间内获取的已配置显示属性的消息数据存放在第二缓存区,以实现消息数据分流,控制渲染模块单位时间内需渲染的消息数据的数量,避免出现应用程序无响应(ANR,Application NotResponding)对话框或卡顿现象,保证消息的正常展示。
附图说明
图1为本申请实施例示例性示出的一种消息展示页面的示意图;
图2为本申请实施例提供的一种消息展示方法的流程图;
图3a为本申请实施例提供的另一种消息展示方法的流程图;
图3b为本申请实施例提供的另一种消息展示方法的示意图;
图4为本申请实施例提供的直播场景的示意图;
图5是本申请一示例性实施例示出的一种消息展示装置的结构示意图;
图6是本申请一示例性实施例示出的另一种消息展示装置的结构示意图;
图7是本申请一示例性实施例示出的一种终端设备的硬件结构示意图。
具体实施方式
以下将结合附图所示的具体实施方式对本申请进行详细描述。但这些实施方式并不限制本申请,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本申请的保护范围内。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
消息展示是页面展示的重要部分,参照图1,为本申请实施例示例性示出的消息展示页面的示意图,页面140的公屏141中可以展示用户的消息数据,但是,利用传统的消息展示方法,当单位时间需展示的消息数量超过一定值时,会出现应用程序无响应或卡顿的现象。随着互联网用户数量的增加,每个页面单位时间需展示的消息数量多将成为普遍现象,所以,在单位时间内需展示的消息数据较多时,正常展示消息数据,成为亟待解决的问题。
针对上述技术问题,本申请提出一种消息展示方案,参照图2,为本申请实施例示例性示出的一种消息展示方法的流程图,所述方法包括步骤:
S210:将获取的消息数据存放在第一缓存区,配置所述获取的消息数据的显示属性;
需要说明的是,本步骤中,可以先配置获取的消息数据的显示属性,再将已配置显示属性的消息数据缓存在第一缓存区;也可以是先将获取的消息数据存放在第一缓存区之后,再配置所述第一缓存区中各消息数据的显示属性。本申请不限制将消息数据缓存到第一缓存区,以及配置消息数据的显示属性的先后顺序。
S220:将所述第一缓存区中预设数量或预定时间内获取的已配置显示属性的消息数据存放至第二缓存区;
S230:将所述第二缓存区缓存的消息数据按照各自的显示属性渲染在页面的指定位置。
本申请实施例提出的方法可以可以应用在终端设备中,终端设备可以是智能手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)等。终端设备上可以安装有应用程序,通过该应用程序可以实现展示消息,所述应用程序可以是:互联网直播软件、浏览器软件或社交软件(例如微博)等。
本申请实施例提出的消息数据可以包括评论消息(例如微博或直播中的用户评论消息)、弹幕消息、***消息和/或付费消息(例如礼物消息)等。本申请并不限制所述消息数据的类型。本申请实施例提出的消息展示可以是如图1所示的公屏展示,也可以是以弹幕的形式展示,本申请并不限制消息展示的方式。
本申请实施例提出的缓存区(包括:第一、第二、第三及第四缓存区)可以使用队列的形式存放缓存的数据。在一些例子中,每个缓存区可以包括至少一个队列,例如一些缓存区可以包括多个队列,以实现消息数据的分类以及其他功能。在一些例子中,各缓存区可以将已发送至另一缓存区或用于渲染的消息数据释放。
本申请实施例提出的配置消息数据的显示属性可以包括:配置消息数据的文字字体、消息数据的文字颜色、消息数据的文字字号、部分文字的点击事件和/或消息数据中的图片等。
在一个例子中,图2所述的方法具体可以是:每获取到一消息数据后,将获取的消息数据存放在第一缓存区,并配置该消息数据的显示属性;通过设置定时器将所述第一缓存区中预定时间内获取的已配置显示属性的消息数据存放至第二缓存区,或将所述第一缓存区中达到预设数量的已配置显示属性的消息数据存放至第二缓存区,并释放所述第一缓存区中已发送至第二缓存区的消息数据;接着将所述第二缓存区缓存的全部消息数据按照各自的显示属性渲染在页面的指定位置,以在消息展示页面的指定位置展示消息数据,并释放第二缓存区已被渲染的消息数据。
至此,图2所述的实施例利用第一缓存区缓存获取的消息数据,提前配置所述获取的消息数据的显示属性,实现消息数据的预处理,以及减少渲染时的刷新频率,降低从消息数据待展示到渲染之间的计算量,提高展示效率;并且将所述第一缓存区中预设数量或预定时间内获取的已配置显示属性的消息数据存放在第二缓存区,以实现消息数据分流,控制渲染模块单位时间内需渲染的消息数据的数量,避免出现应用程序无响应(ANR,Application Not Responding)对话框或卡顿现象,保证消息的正常展示。
“冻屏”指的是当前屏幕处于冻结状态,也可以称为冻屏状态,即屏幕的画面不动或不变化。当然,本申请实施例提出的“冻屏”可以指整个屏幕处于冻结状态,也可以仅指屏幕上展示的消息处于冻结状态。
在一些例子中,为了实现冻屏功能,收到冻屏指令后,在冻屏期间,第一缓存区停止将缓存的消息数据存放至第二缓存区,待冻屏结束后,再将所述第一缓存区中预设数量或预定时间内获取的已配置显示属性的消息数据存放至第二缓存区;以使将所述第二缓存区缓存的消息数据按照各自的显示属性渲染在页面的指定位置。该实施例中,在不增加缓存区的前题下,既实现了冻屏的功能,又解决了传统技术中,由于单位时间内需展示的消息数据的数量较多时,出现应用程序无响应或卡顿的问题。
本申请实施例提出的消息展示方法也可以用三级缓存结构实现,一个例子中,图2所述的第二缓存区可以包括第三缓存区和第四缓存区,参照图3a,为本申请实施例示例性示出的另一种消息展示方法的流程图,所述方法包括步骤:
S210:将获取的消息数据存放在第一缓存区,配置所述获取的消息数据的显示属性;
S221:将所述第一缓存区中预设数量或预定时间内获取的已配置显示属性的消息数据先存放在第三缓存区;
S222:未收到冻屏指令时,将所述第三缓存区存放的消息数据存放至第四缓存区;
S223:收到冻屏指令后,在冻屏期间,停止将第三缓存区缓存的消息数据存放至第四缓存区;
S230:将所述第四缓存区缓存的消息数据按照各自的显示属性渲染在页面的指定位置。
在一个具体的例子中,参照图3b,每收到一消息数据后,配置该消息数据的显示属性,存放至第一缓存区310,通过定时器300定时,当达到预设时间后,将第一缓存区310预设时间内获取的消息数据发送至第三缓存区320。若不在冻屏状态,直接将第三缓存区320的全部发送至第四缓存区330,然后渲染模块340将第四缓存区330缓存的消息数据按照各自的显示属性渲染出来;若在冻屏状态,冻屏期间,停止将第三缓存区320缓存的消息数据存放至第四缓存区330,以使屏幕保持冻屏状态。
图3a所述的实施例采用三级缓存方式,利用第一缓存区预处理消息数据,并实现消息数据的分流,利用第三缓存区实现冻屏状态,利用第四缓存待渲染的消息数据,可以更好的保证单位时间内需展示的消息数据的数量较多时,消息数据的正常展示,并减少消息的展示延时。
在一些例子中,上述步骤S220及步骤221,可以是第一缓存区缓存的消息数据的数量达到预设值时,将所述消息数据发送至下一级缓存区,并释放所述第一缓存区中已发送至下一级缓存区的消息数据释放。其中,在本申请实施例中,当为三级缓存结构时,所述下一级缓存区是第三缓存区,当为二级缓存结构时,所述下一级缓存区是第二级缓存区。
在一些例子中,步骤S210及步骤221中,可以是将所述第一缓存区中在预定时间内获取的已配置显示属性的消息数据存放至下一级缓存区,并释放所述第一缓存区中已发送至下一级缓存区的消息数据。实际应用中,若用户发送的消息数据较长时间未被展示,造成消息展示的延时,不免影响用户的体验。为了让用户感知不到消息展示的延时,在一些例子中,所述预定时间的范围可以包括:30MS-50MS,该预定时间的范围通过大量实验以及根据人眼反应的规律得出。在一个例子中,所述预定时间可以为30MS。在一个例子中,所述预定时间可以为50MS。在一个例子中,所述预定时间可以为40MS。在一个例子中,所述预定时间可以为35MS。在一个例子中,所述预定时间可以为45MS。通过本实施例提出的方法,不仅避免了在单位时间内接收到的消息数据超过预设值时,出现应用程序无响应或卡顿的问题,并且使用户感知不到消息发送的延时,提高用户体验。
在一些例子中,步骤S210及步骤221也可以是同时考虑预设数量和预定时间,即预设数量或预定时间中任一条件达到要求时,将第一缓存区的已配置显示属性的消息数据存放至下一级缓存区,例如:当未达到预定时间,但达到预定数量时,将预定数量的消息数据发送至下一级缓存区,以及达到预定时间,但未达到预定数量时,也将所述预定时间内缓存的消息数据发送至下一级缓存区。
我们知道,缓存区是内存中存放数据的地方,当试图将数据存放在缓存区时,若没有足够的空间,会发生缓存区溢出。实际应用中,若消息数据的数量非常大,可能会造成缓存区溢出。在一些例子中,第一级缓存使用队列形式存放消息数据,若所述第一缓存区缓存的消息数据的数量超过预设极限(检测到数据溢出),释放获取时间最早的消息数据,以避免缓存区溢出带来的危害。
当然,若第一缓存区缓存的消息数据在发送至下一级缓存区前被释放,该消息数据不会被展示,某些用户无法接受自己产生的某些消息未被展示。为了既避免缓存区消息溢出带来的危害,又让用户感知不到自己产生的消息数据未被展示。在一些例子中,可以选择性地释放消息数据,例如:所述被释放的消息数据为非指定类型的消息数据。所述指定类型的消息数据可以是:付费消息(例如互联网直播中的礼物消息),或重要用户的产生的消息(例如主播的评论消息,或客户端所在用户产生的消息),或***消息等重要的消息数据。在一些例子中,在区分指定类型的消息数据和非指定类型的消息数据时,可以通过人工提前录入或***自动判断的方式,其中,***自动判定的方式可以是:判断所述消息数据是否属于付费消息,或判断所述消息是否为重要用户产生的消息,若是,则可以认为为指定类型的消息。具体的一个例子中,所述第一缓存区包括重要消息缓存队列,所述重要缓存队列用于缓存溢出的指定类型的消息数据,利用该重要消息缓存队列,选择性地释放消息数据可以通过如下步骤实现:若所述第一缓存区缓存的消息数据的数量超过预设极限(检测到数据溢出),判断第一缓存区获取时间最早的消息数据的类型,即判断溢出数据类型,若所述消息数据为指定类型,将该消息数据存放在第一缓存区的重要消息缓存队列,若所述消息数据为非指定类型的消息数据,释放该消息数据。接着,可以按照预设时间(或预设数量),将重要消息缓存队列中的全部消息数据发送至下一级缓存区,再根据预设时间(或预设数量)的剩余时间(或剩余数量)将第一缓存区中非重要消息缓存队列(其他队列)缓存的消息数据发送至下一缓存区。通过上述实施例,不仅可以避免缓存区消息溢出带来的危害,而且由于保留了用户关注的指定类型的消息,溢出用户不关心的海量的非指定类型的消息数据,使得用户不会感知到存在消息数据未被展示,进而可以有效保证消息展示的效果。
在一些例子中,前述各实施例可以运用在互联网直播的消息展示中,参照图4,为本申请实施例提出的直播场景示意图,第一观众客户端、第二观众客户端及主播客户端分别被安装在电子设备410、420及430上,主播客户端可以调用摄像头录制视频、拍摄照片、或/和通过屏幕捕捉等其他方式制作直播数据,然后通过网络发送给服务端400。观众客户端和主播客户端均可以将输入的消息数据(如:评论消息、礼物消息及***消息等)发送给服务端400。服务端400用于提供互联网直播的后台服务,例如保存各主播客户端与观众客户端的对应关系,进行直播数据的分发,以及消息数据的分发等,当第一观众客户端、第二观众客户端与主播客户端在同一直播间内,则主播客户端就可以将想要展示的直播内容分享给在同一直播间的第一观众客户端及第二观众客户端,以供第一观众客户端及第二观众客户端的用户观看。当上述任一客户端的用户产生消息数据后,所述消息数据会被上传至服务端,同一直播间的每个客户端都可以展示所述消息数据。所述消息数据可以在直播页面的公屏栏以滚动的形式展示,当然所述消息数据也可以在直播页面以弹幕的形式展示。
一个具体的例子,当本申请实施例的方案运用在直播场景时,可以是服务器接收各客户端发送的消息数据,将所述消息数据发送至指定的客户端,指定的客户端接收所述消息数据后,将所述消息数据缓存在第一缓存区,配置所述获取的消息数据的显示属性;接着将所述第一缓存区中预设数量或预定时间内获取的已配置显示属性的消息数据存放至第二缓存区;将所述第二缓存区缓存的消息数据按照各自的显示属性渲染在页面的指定位置,以在直播页面展示消息数据。
不同于其他的领域,互联网直播中各直播间在进行直播时,短时间内会产生海量的消息数据,并且由于互联网直播中的消息数据的类型不同于其他领域中简单的文字消息,例如直播中的礼物消息,礼物数据由图像或动画表征,不仅需要占用较大的内存,而且在利用传统方式渲染时,计算时间较长。由于互联网直播领域的上述特点,使得在该领域展示消息时,应用程序无响应或卡顿现象非常频繁,使得用户体验非常差。将本申请实施例提出的消息展示方法运用在互联网直播的消息展示中,可以有效地减少应用程序无响应或卡顿现象,并减少渲染的刷新频率,及从消息数据待展示到渲染之间的计算量,提高消息展示效率。
此外,各个步骤的描述,可以实现为软件、硬件或者其结合的形式,例如,本领域技术人员可以将其实现为软件代码的形式,可以为能够实现所述步骤对应的逻辑功能的计算机可执行指令。当其以软件的方式实现时,所述的可执行指令可以存储在存储器中,并被设备中的处理器执行。
与前述消息展示方法的实施例相对应,本申请还提供了消息展示装置及终端设备的实施例。
参见图5,为本申请一种消息展示装置500的一个实施例框图,该装置包括:
第一缓存模块510,用于缓存获取的消息数据,并配置各消息数据的显示属性,将预设数量或预定时间内获取的已配置显示属性的消息数据发送至第二缓存模块;
第二缓存模块520,用于缓存所述第一缓存区发送的的消息数据,并将自身缓存的消息数据发送至渲染模块;
渲染模块530,用于将获取的消息数据按照各自的显示属性渲染在页面的指定位置。
在一些例子中,所述第一缓存模块510还用于:收到冻屏指令后,在冻屏期间,停止将第一缓存区缓存的消息数据存放至第二缓存区。
在一些例子中,所述第一缓存模块510还用于:若所述第一缓存区缓存的消息数据的数量超过预设极限,释放获取时间最早的消息数据。
在一些例子中,所述第一缓存区包括重要消息缓存队列及其他队列;
所述其他队列用于:判断获取时间最早的消息数据的类型;若为指定类型,将所述消息数据缓存至重要消息缓存队列,其中,所述指定类型的消息数据包括:付费消息、重要用户的产生的消息和/或***消息,所述付费消息包括互联网直播中的礼物消息;若为非指定类型,则释放所述消息数据。
在一些例子中,所述预定时间的范围包括:30MS-50MS。
参见图6,所述消息展示装置500的另一个实施例框图,第二缓存模块520包括:第三缓存模块521及第四缓存模块522;
所述第三缓存模块521用于缓存所述第一缓存区发送的的消息数据;未收到冻屏指令时,将所述第三缓存区存放的消息数据存放至第四缓存区;收到冻屏指令后,在冻屏期间,停止将第三缓存区缓存的消息数据存放至第四缓存区;
所述第四缓存模块522用于缓存所述第三缓存区发送的的消息数据,并将自身缓存的消息数据发送至渲染模块。
参见图7所示,对应于上述方法,本申请同时提供一种终端设备。如图7所示,该设备可以包括处理器701以及机器可读存储介质702,其中,处理器701和机器可读存储介质702通常借由内部总线703相互连接。在其他可能的实现方式中,所述设备还可能包括外部接口704,以能够与其他设备或者部件进行通信。进一步地,机器可读存储介质702上存储有消息展示的控制逻辑705,该控制逻辑705从功能上划分的逻辑模块,可以是图5或图6所示的消息展示装置的结构。所述处理器701用于执行如下步骤:
将获取的消息数据存放在第一缓存区,配置所述获取的消息数据的显示属性;
将所述第一缓存区中预设数量或预定时间内获取的已配置显示属性的消息数据存放至第二缓存区;
将所述第二缓存区缓存的消息数据按照各自的显示属性渲染在页面的指定位置。
在一些例子中,所述所述处理器701还用于执行如下步骤:
收到冻屏指令后,在冻屏期间,停止将第一缓存区缓存的消息数据存放至第二缓存区。
在一些例子中,所述第二缓存区包括:第三缓存区和第四缓存区;
所述将所述第一缓存区中预设数量或预定时间内获取的已配置显示属性的消息数据存放至第二缓存区;将所述第二缓存区缓存的消息数据按照各自的显示属性渲染在页面的指定位置,包括:
将所述第一缓存区中预设数量或预定时间内获取的已配置显示属性的消息数据先存放在第三缓存区,
未收到冻屏指令时,将所述第三缓存区存放的消息数据存放至第四缓存区;
收到冻屏指令后,在冻屏期间,停止将第三缓存区缓存的消息数据存放至第四缓存区;
将所述第四缓存区缓存的消息数据按照各自的显示属性渲染在页面的指定位置。
在一些例子中,所述所述处理器701还用于执行如下步骤:
若所述第一缓存区缓存的消息数据的数量超过预设极限,释放获取时间最早的消息数据。
在一些例子中,所述第一缓存区包括重要消息缓存队列;
所述处理器701具体用于执行如下步骤:
判断获取时间最早的消息数据的类型;
若为指定类型,将所述消息数据缓存至重要消息缓存队列,其中,所述指定类型的消息数据包括:付费消息、重要用户的产生的消息和/或***消息,所述付费消息包括互联网直播中的礼物消息;
若为非指定类型,则释放所述消息数据。
在一些例子中,所述预定时间的范围包括:30MS-50MS。
在不同的例子中,所述图7所述的终端设备的机器可读存储介质702可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (9)
1.一种消息展示方法,其特征在于,所述方法包括步骤:
将获取的消息数据存放在第一缓存区,配置所述获取的消息数据的显示属性;
将所述第一缓存区中预设数量或预定时间内获取的已配置显示属性的消息数据存放至第二缓存区;所述第二缓存区包括:第三缓存区和第四缓存区;
将所述第二缓存区缓存的消息数据按照各自的显示属性渲染在页面的指定位置,包括:
将所述第一缓存区中预设数量或预定时间内获取的已配置显示属性的消息数据先存放至第三缓存区,
未收到冻屏指令时,将所述第三缓存区存放的消息数据存放至第四缓存区;
收到冻屏指令后,在冻屏期间,停止将第三缓存区缓存的消息数据存放至第四缓存区;
将所述第四缓存区缓存的消息数据按照各自的显示属性渲染在页面的指定位置。
2.根据权利要求1所述的方法,其特征在于,所述配置所述获取的消息数据的显示属性,包括:
配置所述获取的消息数据的文字字体、文字颜色、文字字号、文字的点击事件和/或消息数据中的图片。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括步骤:
收到冻屏指令后,在冻屏期间,停止将第一缓存区缓存的消息数据存放至第二缓存区。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括步骤:
若所述第一缓存区缓存的消息数据的数量超过预设极限,释放获取时间最早的消息数据。
5.根据权利要求4所述的方法,其特征在于,所述第一缓存区包括重要消息缓存队列;
所述释放获取时间最早的消息数据,包括:
判断获取时间最早的消息数据的类型;
若为指定类型,将所述消息数据缓存至重要消息缓存队列,其中,所述指定类型的消息数据包括:付费消息、重要用户产生的消息和/或***消息,所述付费消息包括互联网直播中的礼物消息;
若为非指定类型,则释放所述消息数据。
6.根据权利要求1-5任意一项所述的方法,其特征在于,所述预定时间的范围包括:30MS-50MS。
7.一种消息展示装置,其特征在于,所述装置包括:
第一缓存模块,用于缓存获取的消息数据,并配置各消息数据的显示属性,将预设数量或预定时间内获取的已配置显示属性的消息数据发送至第二缓存模块;
第二缓存模块,用于缓存所述第一缓存区发送的的消息数据,并将自身缓存的消息数据发送至渲染模块;
渲染模块,用于将获取的消息数据按照各自的显示属性渲染在页面的指定位置;
所述第二缓存区包括:第三缓存模块和第四缓存模块;
所述第三缓存模块用于缓存所述第一缓存区发送的的消息数据;以及在未收到冻屏指令时,将所述消息数据存放至第四缓存模块;在收到冻屏指令后,在冻屏期间,停止将所述消息数据存放至第四缓存模块;
所述渲染模块还用于将从所述第四缓存模块获取的消息数据按照各自的显示属性渲染在页面的指定位置。
8.一种图像设备,其特征在于,包括:
处理器;用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行如权利要求1至6任意一项方法所述的操作。
9.一种存储介质,其上存储有程序,其特征在于,该程序被处理器执行如权利要求1至6任意一项所述的方法的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811076603.4A CN109391852B (zh) | 2018-09-14 | 2018-09-14 | 一种消息展示方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811076603.4A CN109391852B (zh) | 2018-09-14 | 2018-09-14 | 一种消息展示方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109391852A CN109391852A (zh) | 2019-02-26 |
CN109391852B true CN109391852B (zh) | 2021-01-22 |
Family
ID=65417655
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811076603.4A Active CN109391852B (zh) | 2018-09-14 | 2018-09-14 | 一种消息展示方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109391852B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110351574B (zh) * | 2019-07-12 | 2020-10-30 | 广州华多网络科技有限公司 | 直播间的信息渲染方法、装置、电子设备和存储介质 |
CN113973097A (zh) * | 2020-07-24 | 2022-01-25 | 腾讯科技(深圳)有限公司 | 一种消息显示方法、装置和存储介质 |
CN115379281A (zh) * | 2021-05-20 | 2022-11-22 | 北京字节跳动网络技术有限公司 | 虚拟直播间的消息展示方法、装置和设备 |
CN113836216A (zh) * | 2021-09-06 | 2021-12-24 | 飞算数智科技(深圳)有限公司 | 数据展示方法、装置、存储介质及电子设备 |
CN114268809B (zh) * | 2021-12-31 | 2024-05-28 | 广州方硅信息技术有限公司 | 直播间内的公屏控制方法、装置、计算机设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103677554A (zh) * | 2012-09-17 | 2014-03-26 | 腾讯科技(深圳)有限公司 | 一种顺畅滑屏方法及装置 |
CN103747317A (zh) * | 2013-12-27 | 2014-04-23 | 高新兴科技集团股份有限公司 | 一种播放库在不稳定网络下的流畅播放控制方法 |
CN108415780A (zh) * | 2018-01-25 | 2018-08-17 | 阿里巴巴集团控股有限公司 | 一种信息展示方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11190821B2 (en) * | 2016-03-02 | 2021-11-30 | International Business Machines Corporation | Methods and apparatus for alerting users to media events of interest using social media analysis |
-
2018
- 2018-09-14 CN CN201811076603.4A patent/CN109391852B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103677554A (zh) * | 2012-09-17 | 2014-03-26 | 腾讯科技(深圳)有限公司 | 一种顺畅滑屏方法及装置 |
CN103747317A (zh) * | 2013-12-27 | 2014-04-23 | 高新兴科技集团股份有限公司 | 一种播放库在不稳定网络下的流畅播放控制方法 |
CN108415780A (zh) * | 2018-01-25 | 2018-08-17 | 阿里巴巴集团控股有限公司 | 一种信息展示方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109391852A (zh) | 2019-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109391852B (zh) | 一种消息展示方法、装置、设备及存储介质 | |
US10510317B2 (en) | Controlling display performance with target presentation times | |
CN106095551B (zh) | 展示媒体文件的方法和装置 | |
US11568588B2 (en) | Controlling display performance using display statistics and feedback | |
CN112929741B (zh) | 一种视频帧渲染方法、装置、电子设备和存储介质 | |
CN109089131A (zh) | 一种基于ios***的录屏直播方法、装置、设备及存储介质 | |
CN108235120B (zh) | 直播视频流推送方法、装置及电子设备 | |
US11810524B2 (en) | Virtual reality display device and control method thereof | |
US10764649B2 (en) | Falling back from three-dimensional video | |
CN111726641A (zh) | 直播视频的播放处理方法、装置及服务器 | |
WO2019076217A1 (zh) | 直播消息的展示方法、装置及*** | |
CN109587511A (zh) | 多设备视频直播方法、设备、***及存储介质 | |
CN113839998B (zh) | 图像数据传输方法、装置、设备、存储介质及程序产品 | |
CN113840159B (zh) | 视频处理方法、装置、计算机***及可读存储介质 | |
CN111695061B (zh) | 一种资源处理方法及装置、设备、存储介质 | |
US9076207B1 (en) | Image processing method, system and electronic device | |
JP2016519380A (ja) | 読書速度に基づく情報送信 | |
CN113825020A (zh) | 视频清晰度切换方法、装置、设备、存储介质及程序产品 | |
US20220417164A1 (en) | Reducing Decode Delay at a Client Device | |
CN107004018B (zh) | 数据处理方法及装置 | |
WO2016079019A1 (en) | Data processing apparatus and method for assigning a review state to an electronic message | |
CN112866779A (zh) | 视频展示方法、装置、计算机设备和介质 | |
JP2022552330A (ja) | 適応的バッファを使用してビデオコンテンツをストリーミングするための方法、システム、および媒体 | |
CN115278278B (zh) | 一种页面显示方法、装置、电子设备及存储介质 | |
US20240048727A1 (en) | Method and system of low latency video coding with interactive applications |
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 |