一种交互消息展示方法、装置及系统与流程

文档序号:12626565阅读:286来源:国知局
一种交互消息展示方法、装置及系统与流程

本发明涉及互联网技术领域,具体涉及一种交互消息展示方法、装置及系统。



背景技术:

目前在提供给用户的交互界面(例如WEB前端网页)中连续展示多条交互消息时,都是通过新增文档对象模型DOM节点作为交互消息的容器,进而将交互消息展示在交互界面中。然而,由于浏览器实现的原因,每次新增DOM节点实际上都是重新渲染交互界面,当需要连续展示多条交互消息的时候,频繁地渲染交互界面很容易造成交互界面卡顿的现象,导致交互消息的展示会断断续续,很不流畅,同时交互信息的运动轨迹也难以控制。



技术实现要素:

本发明实施例提供了一种交互消息展示方法、装置及系统,可以减少交互界面的卡顿现象,实现高效、流畅地展示交互消息,同时也实现了对交互消息运动轨迹的灵活控制。

本发明实施例第一方面提供了一种交互消息展示方法,包括:

客户端获取交互消息;

所述客户端将所述交互消息添加到待展示消息队列中;

所述客户端按照预设的展示时长,调用预先创建的带运动轨迹的消息基类在交互界面中依次展示所述待展示消息队列中的交互消息;

其中,所述带运动轨迹的消息基类用于指定所述交互消息在所述交互界面中的运动轨迹。

可选的,所述客户端按照预设的展示时长,调用预先创建的带运动轨迹的消息基类在交互界面中依次展示所述待展示消息队列中的交互消息,包括:

所述客户端获取预先创建的带运动轨迹的消息基类,所述带运动轨迹的消息基类是根据包含消息公共属性的消息基类和包含运动轨迹公共属性的运动轨迹基类创建的;

所述客户端按照预设的展示时长,调用所述带运动轨迹的消息基类在交互界面的画布canvas元素上依次绘制所述待展示消息队列中的交互消息。

可选的,所述方法还包括:

所述客户端在确定所述交互消息为本地输入的交互消息时,将所述交互消息添加到待发送消息队列中;

所述客户端按照预设的发送时间间隔向服务器发送所述待发送消息队列中的交互消息,以使所述服务器对所述待发送消息队列中的交互消息进行广播。

可选的,所述客户端将所述交互消息添加到待展示消息队列中,包括:

所述客户端在确定所述交互消息为本地输入的交互消息时,从队头将所述交互消息添加到待展示消息队列中;

所述客户端在确定所述交互消息为通过向服务器发送轮询请求而获取到的交互消息时,从队尾将所述交互消息添加到所述待展示消息队列中。

可选的,所述客户端在确定所述交互消息为通过向服务器发送轮询请求而获取到的交互消息时,从队尾将所述交互消息添加到所述待展示消息队列中,包括:

所述客户端在确定所述交互消息为通过向服务器发送轮询请求而获取到的交互消息时,判断所述通过向所述服务器发送轮询请求而获取到的消息是否为所述本地输入的交互消息;

若是,则所述客户端不再将所述交互消息添加到所述待展示消息队列中;

若否,则所述客户端从队尾将所述交互消息添加到所述待展示消息队列中。

可选的,所述客户端从队尾将所述交互消息添加到所述待展示消息队列中,包括:

所述客户端获取当前所述待展示消息队列中的交互消息数量;

所述客户端在所述交互消息数量小于或等于预设数值时,从队尾将所述交互消息添加到所述待展示消息队列中。

本发明实施例第二方面提供了一种交互消息展示方法,包括:

服务器接收客户端发送的轮询请求,所述轮询请求用于请求交互信息;

所述服务器获取所述轮询请求所请求的交互消息;

所述服务器响应所述轮询请求向所述客户端发送所述交互消息,以使所述客户端将所述交互消息添加到待展示消息队列中,并按照预设的展示时长,调用预先创建的带运动轨迹的消息基类在交互界面中依次展示所述待展示消息队列中的交互消息;

其中,所述带运动轨迹的消息基类用于指定所述交互消息在所述交互界面中的运动轨迹。

可选的,所述方法还包括:

所述服务器接收所述客户端按照预设的发送时间间隔发送的待发送消息队列中的交互消息,所述待发送消息队列中的交互消息为所述客户端本地输入的消息;

所述服务器对所述待发送消息队列中的交互消息进行广播。

本发明实施例第三方面提供了一种交互消息展示装置,包括:

第一获取单元,用于获取交互消息;

添加单元,用于将所述交互消息添加到待展示消息队列中;

展示单元,用于按照预设的展示时长,调用预先创建的带运动轨迹的消息基类在交互界面中依次展示所述待展示消息队列中的交互消息;

其中,所述带运动轨迹的消息基类用于指定所述交互消息在所述交互界面中的运动轨迹。

可选的,所述展示单元包括:

第二获取单元,用于获取预先创建的带运动轨迹的消息基类,所述带运动轨迹的消息基类是根据包含消息公共属性的消息基类和包含运动轨迹公共属性的运动轨迹基类创建的;

绘图单元,用于按照预设的展示时长,调用所述带运动轨迹的消息基类在交互界面的画布canvas元素上依次绘制所述待展示消息队列中的交互消息。

可选的,所述添加单元,还用于在确定所述交互消息为本地输入的交互消息时,将所述交互消息添加到待发送消息队列中;

其中,所述装置还包括:

发送单元,用于按照预设的发送时间间隔向服务器发送所述待发送消息队列中的交互消息,以使所述服务器对所述待发送消息队列中的交互消息进行广播。

可选的,所述添加单元将所述交互消息添加到待展示消息队列中的具体方式为:

在确定所述交互消息为本地输入的交互消息时,从队头将所述交互消息添加到待展示消息队列中;

在确定所述交互消息为通过向服务器发送轮询请求而获取到的交互消息时,从队尾将所述交互消息添加到所述待展示消息队列中。

可选的,所述添加单元在确定所述交互消息为通过向服务器发送轮询请求而获取到的交互消息时,从队尾将所述交互消息添加到所述待展示消息队列中的具体方式为:

在确定所述交互消息为通过向服务器发送轮询请求而获取到的交互消息时,判断所述通过向所述服务器发送轮询请求而获取到的交互消息是否为所述本地输入的交互消息;

若是,则不再将所述交互消息添加到所述待展示消息队列中;

若否,则从队尾将所述交互消息添加到所述待展示消息队列中。

可选的,所述添加单元从队尾将所述交互消息添加到所述待展示消息队列中的具体方式为:

获取当前所述待展示消息队列中的交互消息数量;

在所述交互消息数量小于或等于预设数值时,从队尾将所述交互消息添加到所述待展示消息队列中。

本发明实施例第四方面提供了一种交互消息展示装置,包括:

接收单元,用于接收客户端发送的轮询请求,所述轮询请求用于请求交互信息;

获取单元,用于获取所述轮询请求所请求的交互消息;

发送单元,用于响应所述轮询请求向所述客户端发送所述交互消息,以使所述客户端将所述交互消息添加到待展示消息队列中,并按照预设的展示时长,调用预先创建的带运动轨迹的消息基类在交互界面中依次展示所述待展示消息队列中的交互消息;

其中,所述带运动轨迹的消息基类用于指定所述交互消息在所述交互界面中的运动轨迹。

可选的,所述接收单元,还用于接收所述客户端按照预设的发送时间间隔发送的待发送消息队列中的交互消息,所述待发送消息队列中的交互消息为所述客户端本地输入的消息;

其中,所述装置还包括:

广播单元,用于对所述待发送消息队列中的交互消息进行广播。

本发明实施例第五方面提供了一种交互消息展示系统,服务器和至少一个终端,其特征在于,所述终端包括上述第三方面中任一项所述的交互消息展示装置,所述服务器包括上述第四方面中任一项所述的交互消息展示装置。

本发明实施例中,客户端获取交互消息,并将该交互消息添加到待展示消息队列中,再按照预设的展示时长,通过调用预先创建的带运动轨迹的消息基类在交互界面中依次展示该待展示消息队列中的交互消息,可以减少交互界面的卡顿现象,实现高效、流畅地展示交互消息,同时也实现了对交互消息运动轨迹的灵活控制。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种交互消息展示方法的第一实施例流程示意图;

图2是本发明实施例提供的一种交互界面示意图;

图3是本发明实施例提供的一种交互消息展示方法的第二实施例流程示意图;

图4是本发明实施例提供的一种交互消息展示方法的第三实施例流程示意图;

图5是本发明实施例提供的一种终端的一实施例结构示意图;

图6是本发明实施例提供的一种交互消息展示装置的第一实施例结构示意图;

图7是本发明实施例提供的一种服务器的一实施例结构示意图;

图8是本发明实施例提供的一种交互消息展示装置的第二实施例结构示意图;

图9是本发明实施例提供的一种交互消息展示系统的一实施例结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例中所描述的终端具体可以包括手机、笔记本电脑、台式电脑、平板电脑、车载终端、智能可穿戴设备等。终端中可以运行至少一种类型的互联网应用,包括但不限于:浏览器应用、即时通信应用、社会性网络服务(Social Networking Services,SNS)应用等等。

请参阅图1,为本发明实施例提供的一种交互消息展示方法的第一实施例流程示意图。本实施例中所描述的交互消息展示方法,包括以下步骤:

101、客户端获取交互消息。

其中,客户端可以是上述互联网应用,运行在一终端上,交互消息具体可以是文字、图片、表情等,包括该客户端本地输入的交互消息,以及从服务器获取的交互消息。

具体的,客户端可以获取本地输入的交互消息,同时还可以通过向服务器发送轮询请求,并接收服务器响应轮询请求而返回的交互消息。其中,轮询请求具体可以是长轮询,即客户端不停地向服务器发送轮询请求以获取最新的交互消息。

102、所述客户端将所述交互消息添加到待展示消息队列中。

具体的,该客户端将获取到的交互信息存入一待展示消息队列中,可以通过交互消息的来源标签确定是否为本地输入的交互消息,如果是本地输入的交互消息,则客户端从队头将交互消息添加到待展示消息队列中,如果是通过向服务器发送轮询请求而获取到的交互消息,则从队尾将交互消息添加到待展示消息队列中,保证本地输入的交互消息可以优先显示,以及本地输入的交互消息中先存入待展示消息队列中的交互信息先展示,通过向服务器发送轮询请求而获取到的交互消息中先存入待展示消息队列中的交互信息先展示。

103、所述客户端按照预设的展示时长,调用预先创建的带运动轨迹的消息基类在交互界面中依次展示所述待展示消息队列中的交互消息。

其中,可以预先创建包含消息公共属性的消息基类和包含运动轨迹公共属性的运动轨迹基类,消息基类的代码实现可以如下:

其中,this.radius:消息展示时的内容半径,用于控制图形类消息的大小。

this.x:消息展示时在屏幕X轴的位置。

this.y:消息展示时在屏幕Y轴的位置。

this.rotation:消息的旋转角度,可用于动画效果。

this.scaleX:消息在屏幕X轴的缩放比例。

this.scaleY:消息在屏幕Y轴的缩放比例。

this.content:消息的内容,可以是图片或文字。

this.lineWidth:如果消息是线性图形,指线的宽度。

this.globalAlpha:消息展示时的透明度,值的范围是0-1。

Message.prototype.draw(context):通过canvas元素的context对象将消息绘制在canvas元素上面。

运动轨迹基类的代码实现可以如下:

其中,this.paths:存储定义过的运动轨迹,按次序展示。

this.start:定义轨迹的起点。

this.end:定义轨迹的终点。

运动轨迹基类的添加路径的方法代码实现可以如下:

定义相应的贝塞尔曲线,包括一次贝塞尔曲线、二次贝塞尔曲线和三次贝塞尔曲线:

其中,上述参数t在贝塞尔曲线的绘制过程中,会从0变到1,以表示贝塞尔曲线从起点到终点的完成度。

interpolate(start,t)这个函数用于返回当完成度为t时,相应贝塞尔曲线上的x或y轴坐标。

进一步地,根据上述消息基类、运动轨迹基类和定义的贝塞尔曲线,创建带运动轨迹的消息基类,带运动轨迹的消息基类的代码实现可以如下(以三次贝塞尔曲线为例):

其中,this.time:这里的time即整个贝塞尔路径的当前完成度,值的范围是0-1。

this.change:画贝塞尔曲线的速率,值越大,贝塞尔曲线完成的越快。

this.message.x=this.xPath.interpolate(this.time):将消息的x轴坐标置为当前贝塞尔路径已完成部分的末端的x坐标。

this.message.y=this.yPath.interpolate(this.time):将消息的y轴坐标置为当前贝塞尔路径已完成部分的末端的y坐标。

this.time+=this.change:通过增加将this.change的值累加到this.time上,使得贝塞尔路径的完成度不断的趋近于1,直至this.time等于1时,此次贝塞尔路径完成,该条消息展示完毕,可以将完成展示的消息从消息队列中删除。

ctx.moveTo(x,y):将canvas元素的绘制起点移动至(x,y)指定的位置。

ctx.bezierCurveTo(this.ctrlPt0.x,this.ctrlPt0.y,this.ctrlPt1.x,this.ctrlPt1.y,this.endPoint.x,this.endPoint.y):根据控制点ctrlPt0和ctrlPt1,以及贝塞尔曲线终点来绘制一条三次贝塞尔曲线。

this.message.x=this.xPath.interpolate(time):将消息体的x坐标设置为当前贝塞尔曲线完成度的x轴坐标。

this.message.y=this.yPath.interpolate(time):将消息体的y坐标设置为当前贝塞尔曲线完成度的y轴坐标。

This.message.draw():在canvas元素上绘制消息体。

需要说明的是,这里仅是以三次贝塞尔曲线为例,根据实际应用场景还可以采用四次贝塞尔曲线、五次贝塞尔曲线等更加复杂的贝塞尔曲线来创建上述带运动轨迹的消息基类。

同样地,上述相关参数值的设定也可以根据实际应用场景灵活调整,本发明实施例均不做限定。

其中,超文本标记语言(Hyper Text Markup Language,HTML)5新增有canvas元素,通过脚本语言(例如JavaScript)可以在canvas元素上绘图,实现展示交互消息。可以设定每一条交互消息在交互界面中的展示时长,例如均为300ms,一条交互信息的展示时长达到后才开始展示下一条交互信息,一方面避免密集展示交互信息导致用户难以分辨的情形,另一方面由于canvas元素的性能有一定限制,这样还可以避免影响canvas元素展示交互消息的性能。

具体实现中,客户端按照预设的展示时长,通过调用上述带运动轨迹的消息基类在交互界面的canvas元素上按照从队头到队尾的顺序绘制待展示消息队列中的各条交互消息,带运动轨迹的消息基类实现了对交互消息运动轨迹的控制。

如图2所示的交互界面,在交互界面右下角有多条交互消息,即心形图案,客户端获取到这些心形图案后,可以每隔300ms展示一个心形图案,即通过调用上述带运动轨迹的消息基类在canvas元素上绘制出心形图案,并控制其在300ms时间内在交互界面中的运动轨迹,例如S型轨迹等。

进一步地,每条交互消息展示完毕后,客户端将其从待展示消息队列中删除。

其中,本发明实施例中调用上述带运动轨迹的消息基类以通过canvas元素展示交互消息的代码实现可以如下:

本发明实施例中,客户端获取交互消息,并将该交互消息添加到待展示消息队列中,再按照预设的展示时长,通过调用预先创建的带运动轨迹的消息基类在交互界面中依次展示该待展示消息队列中的交互消息,可以减少交互界面的卡顿现象,实现高效、流畅地展示交互消息,同时也实现了对交互消息运动轨迹的灵活控制。

请参阅图3,为本发明实施例提供的一种交互消息展示方法的第二实施例流程示意图。本实施例中所描述的交互消息展示方法,包括以下步骤:

301、客户端获取交互消息。

302、所述客户端在确定所述交互消息为本地输入的交互消息时,将所述交互消息添加到待发送消息队列中。

303、所述客户端按照预设的发送时间间隔向服务器发送所述待发送消息队列中的交互消息,以使所述服务器对所述待发送消息队列中的交互消息进行广播。

具体的,客户端确定获取的交互消息为本地输入的交互消息时,可以将其存入一待发送消息队列中,并按照预设的发送时间间隔向服务器发送待发送消息队列中的交互消息,即每隔一段时间才向服务器发送一次本地输入的交互消息,而不是每获取到一条本地输入的交互信息就通过后台接口将其发送给服务器,可以避免用户短时间内通过本地输入大量交互信息时,服务器由于过载而出现崩溃、稳定性差等现象,服务器接收到客户端按照预设的发送时间间隔发送的待发送消息队列中的交互消息后,向其他客户端进行广播。

304、所述客户端在确定所述交互消息为本地输入的交互消息时,从队头将所述交互消息添加到待展示消息队列中。

305、所述客户端在确定所述交互消息为通过向服务器发送轮询请求而获取到的交互消息时,从队尾将所述交互消息添加到所述待展示消息队列中。

具体的,客户端在确定交互消息为通过向服务器发送轮询请求而获取到的交互消息时,由于客户端将本地输入的交互信息发送给服务器进行广播,则客户端也会收到其发送给服务器的本地输入的交互信息,为做到本地输入的交互信息不重复显示,客户端判断通过向服务器发送轮询请求而获取到的交互消息是否为本地输入的交互消息,如果是,则客户端不再将这条交互消息添加到待展示消息队列中,如果不是,则客户端从队尾将这条交互消息添加到待展示消息队列中。

在一些可行的实施方式中,可以设定本地输入的交互消息必须展示,而对于通过向服务器发送轮询请求而获取到的交互消息,由于canvas元素的性能有一定限制,可以根据当前待展示消息队列中的交互消息数量确定是否将通过向服务器发送轮询请求而获取到的交互消息添加到待展示消息队列中,可以是在当前待展示消息队列中的交互消息数量小于或等于预设数值(例如40)时,才会将通过向服务器发送轮询请求而获取到的交互消息从队尾添加到待展示消息队列中,以保证canvas元素展示交互消息的性能稳定性。

在一些可行的实施方式中,如果一客户端对应的是付费用户或会员用户或高级VIP用户或普通用户中级别高于预设级别的用户等,则客户端可以不考虑当前待展示消息队列中的交互消息数量,而直接将通过向服务器发送轮询请求而获取到的交互消息从队尾添加到待展示消息队列中,可以通过在交互消息中添加身份标签或级别标签等形式指示客户端对应用户的身份、级别信息。

306、所述客户端按照预设的展示时长,调用预先创建的带运动轨迹的消息基类在交互界面中依次展示所述待展示消息队列中的交互消息。

本发明实施例中,客户端获取交互消息,在确定交互消息为本地输入的交互消息时,将交互消息添加到待发送消息队列中,在按照预设的发送时间间隔向服务器发送待发送消息队列中的交互消息,以使服务器对待发送消息队列中的交互消息进行广播;客户端在确定交互消息为本地输入的交互消息时,从队头将交互消息添加到待展示消息队列中,在确定交互消息为通过向服务器发送轮询请求而获取到的交互消息时,从队尾将交互消息添加到待展示消息队列中,再按照预设的展示时长,调用预先创建的带运动轨迹的消息基类在交互界面中依次展示待展示消息队列中的交互消息,可以减少交互界面的卡顿现象,实现高效、流畅地展示交互消息,同时也实现了对交互消息运动轨迹的灵活控制。

请参阅图4,为本发明实施例提供的一种交互消息展示方法的第三实施例流程示意图。本实施例中所描述的交互消息展示方法,包括以下步骤:

401、服务器接收客户端发送的轮询请求,所述轮询请求用于请求交互信息。

其中,交互消息具体可以是文字、图片、表情等,包括客户端本地输入的交互消息,以及该服务器发送给该客户端的交互消息。

402、所述服务器获取所述轮询请求所请求的交互消息。

403、所述服务器响应所述轮询请求向所述客户端发送所述交互消息,以使所述客户端将所述交互消息添加到待展示消息队列中,并按照预设的展示时长,调用预先创建的带运动轨迹的消息基类在交互界面中依次展示所述待展示消息队列中的交互消息。

具体的,该轮询请求具体可以是长轮询,即该服务器接收到该客户端不停地发送的轮询请求,并将该轮询请求所请求的最新交互消息发送给该客户端,使得该客户端将该交互消息添加到待展示消息队列中,并按照预设的展示时长,调用预先创建的带运动轨迹的消息基类在交互界面中依次展示该待展示消息队列中的交互消息。

404、所述服务器接收所述客户端按照预设的发送时间间隔发送的待发送消息队列中的交互消息,所述待发送消息队列中的交互消息为所述客户端本地输入的交互消息。

405、所述服务器对所述待发送消息队列中的交互消息进行广播。

其中,对于本地输入的交互消息,客户端可以将其存入一待发送消息队列中,并按照预设的发送时间间隔向服务器发送待发送消息队列中的交互消息,即每隔一段时间服务器才会收到一次客户端发送的本地输入的交互消息,而不是频繁地收到客户端发送的本地输入的交互消息,可以避免用户短时间内通过本地输入大量交互信息时,服务器由于过载而出现崩溃、稳定性差等现象,服务器接收到客户端按照预设的发送时间间隔发送的待发送消息队列中的交互消息后,向其他客户端进行广播。

本发明实施例中,服务器接收客户端发送的轮询请求,该轮询请求用于请求交互信息;该服务器获取该轮询请求所请求的交互消息,并向该客户端发送该交互消息,以使该客户端将该交互消息添加到待展示消息队列中,并按照预设的展示时长,调用预先创建的带运动轨迹的消息基类在交互界面中依次展示该待展示消息队列中的交互消息;该服务器接收该客户端按照预设的发送时间间隔发送的待发送消息队列中的交互消息,该待发送消息队列中的交互消息为该客户端本地输入的交互消息,并对该待发送消息队列中的交互消息进行广播,可以减少交互界面的卡顿现象,实现高效、流畅地展示交互消息,同时也实现了对交互消息运动轨迹的灵活控制。

基于上述实施例所示的交互消息展示方法,本发明实施例还提供了一种终端,该终端可用于执行上述图1或图3所示方法流程的相应步骤。请参见图5,该终端的内部结构可包括但不限于:处理器、用户接口、网络接口及存储器。其中,终端内的处理器、用户接口、网络接口及存储器可通过总线或其他方式连接,在本发明实施例所示图5中以通过总线连接为例。

其中,用户接口是实现用户与终端进行交互和信息交换的媒介,其具体体现可以包括用于输出的显示屏(Display)以及用于输入的键盘(Keyboard)等等,需要说明的是,此处的键盘既可以为实体键盘,也可以为触屏虚拟键盘,还可以为实体与触屏虚拟相结合的键盘。处理器(或称CPU(Central Processing Unit,中央处理器))是终端的计算核心以及控制核心,其可以解析终端内的各类指令以及处理终端的各类数据,例如:CPU可以用于解析用户向终端所发送的开关机指令,并控制终端进行开关机操作;再如:CPU可以在终端内部结构之间传输各类交互数据,等等。存储器(Memory)是终端中的记忆设备,用于存放程序和数据。可以理解的是,此处的存储器既可以包括终端的内置存储器,当然也可以包括终端所支持的扩展存储器。存储器提供存储空间,该存储空间存储了终端的操作系统,可包括但不限于:Windows系统(一种操作系统)、Android(安卓,一种移动操作系统)系统、IOS(一种移动操作系统)系统等等,本发明对此并不作限定。存储器的存储空间存储了交互消息展示装置。该装置可以是终端内的一个应用程序,例如:该装置可以是终端内的浏览器应用程序等等。

在本发明实施例中,终端通过运行存储器中的交互消息展示装置来执行上述图1或图3所示方法流程的相应步骤。请一并参见图6,在交互消息展示过程中,该装置运行如下单元:

第一获取单元601,用于获取交互消息。

添加单元602,用于将所述交互消息添加到待展示消息队列中。

展示单元603,用于按照预设的展示时长,调用预先创建的带运动轨迹的消息基类在交互界面中依次展示所述待展示消息队列中的交互消息。

其中,所述带运动轨迹的消息基类用于指定所述交互消息在所述交互界面中的运动轨迹。

在一些可行的实施方式中,所述展示单元603具体包括:

第二获取单元6030,用于获取预先创建的带运动轨迹的消息基类,所述带运动轨迹的消息基类是根据包含消息公共属性的消息基类和包含运动轨迹公共属性的运动轨迹基类创建的。

绘图单元6031,用于调用所述带运动轨迹的消息基类,按照预设的展示时长在交互界面的canvas元素上依次绘制所述待展示消息队列中的交互消息。

在一些可行的实施方式中,所述添加单元602,还用于在确定所述交互消息为本地输入的交互消息时,将所述交互消息添加到待发送消息队列中。

其中,所述装置还包括:

发送单元604,用于按照预设的发送时间间隔向服务器发送所述待发送消息队列中的交互消息,以使所述服务器对所述待发送消息队列中的交互消息进行广播。

在一些可行的实施方式中,所述添加单元602将所述交互消息添加到待展示消息队列中的具体方式为:

在确定所述交互消息为本地输入的交互消息时,从队头将所述交互消息添加到待展示消息队列中。

在确定所述交互消息为通过向服务器发送轮询请求而获取到的交互消息时,从队尾将所述交互消息添加到所述待展示消息队列中。

在一些可行的实施方式中,所述添加单元602在确定所述交互消息为通过向服务器发送轮询请求而获取到的交互消息时,从队尾将所述交互消息添加到所述待展示消息队列中的具体方式为:

在确定所述交互消息为通过向服务器发送轮询请求而获取到的交互消息时,判断所述通过向所述服务器发送轮询请求而获取到的交互消息是否为所述本地输入的交互消息。

若是,则不再将所述交互消息添加到所述待展示消息队列中。

若否,则从队尾将所述交互消息添加到所述待展示消息队列中。

在一些可行的实施方式中,所述添加单元602从队尾将所述交互消息添加到所述待展示消息队列中的具体方式为:

获取当前所述待展示消息队列中的交互消息数量。

在所述交互消息数量小于或等于预设数值时,从队尾将所述交互消息添加到所述待展示消息队列中。

本发明实施例中,第一获取单元601获取交互消息,添加单元602将该交互消息添加到待展示消息队列中,展示单元603按照预设的展示时长,通过调用预先创建的带运动轨迹的消息基类在交互界面中依次展示该待展示消息队列中的交互消息,可以减少交互界面的卡顿现象,实现高效、流畅地展示交互消息,同时也实现了对交互消息运动轨迹的灵活控制。

基于上述实施例所示的交互消息展示方法,本发明实施例还提供了一种服务器,该服务器可用于执行上述图4所示方法流程的相应步骤。请参见图7,该服务器的内部结构可包括但不限于:处理器、网络接口及存储器。其中,服务器内的处理器、网络接口及存储器可通过总线或其他方式连接,在本发明实施例所示图7中以通过总线连接为例。

其中,处理器(或称CPU(Central Processing Unit,中央处理器))是服务器的计算核心以及控制核心。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI、移动通信接口等)。存储器(Memory)是服务器中的记忆设备,用于存放程序和数据。可以理解的是,此处的存储器可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的存储装置。存储器提供存储空间,该存储空间存储了服务器的操作系统,可包括但不限于:Windows系统(一种操作系统)、Luix(一种操作系统)系统等等,本发明对此并不作限定。存储器的存储空间还存储了交互消息展示装置。

在本发明实施例中,服务器通过运行存储器中的交互消息展示装置来执行上述图4所示方法流程的相应步骤。请一并参见图8,在交互消息展示过程中,该装置运行如下单元:

接收单元801,用于接收客户端发送的轮询请求,所述轮询请求用于请求交互信息。

获取单元802,用于获取所述轮询请求所请求的交互消息。

发送单元803,用于响应所述轮询请求向所述客户端发送所述交互消息,以使所述客户端将所述交互消息添加到待展示消息队列中,并按照预设的展示时长,调用预先创建的带运动轨迹的消息基类在交互界面中依次展示所述待展示消息队列中的交互消息。

其中,所述带运动轨迹的消息基类用于指定所述交互消息在所述交互界面中的运动轨迹。

在一些可行的实施方式中,所述接收单元801,还用于接收所述客户端按照预设的发送时间间隔发送的待发送消息队列中的交互消息,所述待发送消息队列中的交互消息为所述客户端本地输入的交互消息。

其中,所述装置还包括:

广播单元804,用于对所述待发送消息队列中的交互消息进行广播。

本发明实施例中,接收单元801接收客户端发送的轮询请求,该轮询请求用于请求交互信息,获取单元802获取该轮询请求所请求的交互消息,发送单元803响应该轮询请求向该客户端发送该交互消息,以使该客户端将该交互消息添加到待展示消息队列中,并按照预设的展示时长,调用预先创建的带运动轨迹的消息基类在交互界面中依次展示该待展示消息队列中的交互消息,可以减少交互界面的卡顿现象,实现高效、流畅地展示交互消息,同时也实现了对交互消息运动轨迹的灵活控制。

请参阅图9,为本发明实施例提供的一种交互消息展示系统的一实施例结构示意图。本实施例中所描述的交互消息展示系统,包括服务器和至少一个终端,终端上运行有客户端,其中:

所述客户端,用于向所述服务器发送轮询请求,所述轮询请求用于请求交互信息。

所述服务器,用于获取所述轮询请求所请求的交互消息,并向所述客户端发送所述交互消息。

所述客户端,还用于将所述交互消息添加到待展示消息队列中。

所述客户端,还用于按照预设的展示时长,调用预先创建的带运动轨迹的消息基类在交互界面中依次展示所述待展示消息队列中的交互消息。

其中,所述带运动轨迹的消息基类用于指定所述交互消息在所述交互界面中的运动轨迹。

在一些可行的实施方式中,所述客户端按照预设的展示时长,调用预先创建的带运动轨迹的消息基类在交互界面中依次展示所述待展示消息队列中的交互消息的具体方式为:

获取预先创建的带运动轨迹的消息基类,所述带运动轨迹的消息基类是根据包含消息公共属性的消息基类和包含运动轨迹公共属性的运动轨迹基类创建的。

按照预设的展示时长,调用所述带运动轨迹的消息基类在交互界面的canvas元素上依次绘制所述待展示消息队列中的交互消息。

在一些可行的实施方式中,所述客户端,还用于在确定所述交互消息为本地输入的交互消息时,将所述交互消息添加到待发送消息队列中。

所述客户端,还用于按照预设的发送时间间隔向所述服务器发送所述待发送消息队列中的交互消息。

所述服务器,还用于接收所述待发送消息队列中的交互消息,并对所述待发送消息队列中的交互消息进行广播。

在一些可行的实施方式中,所述客户端将所述交互消息添加到待展示消息队列中的具体方式为:

在确定所述交互消息为本地输入的交互消息时,从队头将所述交互消息添加到待展示消息队列中。

在确定所述交互消息为通过向服务器发送轮询请求而获取到的交互消息时,从队尾将所述交互消息添加到所述待展示消息队列中。

本发明实施例中,客户端向服务器发送轮询请求,该轮询请求用于请求交互信息,该服务器获取该轮询请求所请求的交互消息,并向该客户端发送该交互消息,该客户端将该交互消息添加到待展示消息队列中,并按照预设的展示时长,通过调用预先创建的带运动轨迹的消息基类在交互界面中依次展示该待展示消息队列中的交互消息,可以减少交互界面的卡顿现象,实现高效、流畅地展示交互消息,同时也实现了对交互消息运动轨迹的灵活控制。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存取存储器(Random Access Memory,RAM)等。

以上对本发明实施例所提供的一种交互消息展示方法、装置及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1