亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種交互消息展示方法、裝置及系統與流程

文檔序號:12626565閱讀:334來源:國知局
一種交互消息展示方法、裝置及系統與流程

本發(fā)明涉及互聯網技術領域,具體涉及一種交互消息展示方法、裝置及系統。



背景技術:

目前在提供給用戶的交互界面(例如WEB前端網頁)中連續(xù)展示多條交互消息時,都是通過新增文檔對象模型DOM節(jié)點作為交互消息的容器,進而將交互消息展示在交互界面中。然而,由于瀏覽器實現的原因,每次新增DOM節(jié)點實際上都是重新渲染交互界面,當需要連續(xù)展示多條交互消息的時候,頻繁地渲染交互界面很容易造成交互界面卡頓的現象,導致交互消息的展示會斷斷續(xù)續(xù),很不流暢,同時交互信息的運動軌跡也難以控制。



技術實現要素:

本發(fā)明實施例提供了一種交互消息展示方法、裝置及系統,可以減少交互界面的卡頓現象,實現高效、流暢地展示交互消息,同時也實現了對交互消息運動軌跡的靈活控制。

本發(fā)明實施例第一方面提供了一種交互消息展示方法,包括:

客戶端獲取交互消息;

所述客戶端將所述交互消息添加到待展示消息隊列中;

所述客戶端按照預設的展示時長,調用預先創(chuàng)建的帶運動軌跡的消息基類在交互界面中依次展示所述待展示消息隊列中的交互消息;

其中,所述帶運動軌跡的消息基類用于指定所述交互消息在所述交互界面中的運動軌跡。

可選的,所述客戶端按照預設的展示時長,調用預先創(chuàng)建的帶運動軌跡的消息基類在交互界面中依次展示所述待展示消息隊列中的交互消息,包括:

所述客戶端獲取預先創(chuàng)建的帶運動軌跡的消息基類,所述帶運動軌跡的消息基類是根據包含消息公共屬性的消息基類和包含運動軌跡公共屬性的運動軌跡基類創(chuàng)建的;

所述客戶端按照預設的展示時長,調用所述帶運動軌跡的消息基類在交互界面的畫布canvas元素上依次繪制所述待展示消息隊列中的交互消息。

可選的,所述方法還包括:

所述客戶端在確定所述交互消息為本地輸入的交互消息時,將所述交互消息添加到待發(fā)送消息隊列中;

所述客戶端按照預設的發(fā)送時間間隔向服務器發(fā)送所述待發(fā)送消息隊列中的交互消息,以使所述服務器對所述待發(fā)送消息隊列中的交互消息進行廣播。

可選的,所述客戶端將所述交互消息添加到待展示消息隊列中,包括:

所述客戶端在確定所述交互消息為本地輸入的交互消息時,從隊頭將所述交互消息添加到待展示消息隊列中;

所述客戶端在確定所述交互消息為通過向服務器發(fā)送輪詢請求而獲取到的交互消息時,從隊尾將所述交互消息添加到所述待展示消息隊列中。

可選的,所述客戶端在確定所述交互消息為通過向服務器發(fā)送輪詢請求而獲取到的交互消息時,從隊尾將所述交互消息添加到所述待展示消息隊列中,包括:

所述客戶端在確定所述交互消息為通過向服務器發(fā)送輪詢請求而獲取到的交互消息時,判斷所述通過向所述服務器發(fā)送輪詢請求而獲取到的消息是否為所述本地輸入的交互消息;

若是,則所述客戶端不再將所述交互消息添加到所述待展示消息隊列中;

若否,則所述客戶端從隊尾將所述交互消息添加到所述待展示消息隊列中。

可選的,所述客戶端從隊尾將所述交互消息添加到所述待展示消息隊列中,包括:

所述客戶端獲取當前所述待展示消息隊列中的交互消息數量;

所述客戶端在所述交互消息數量小于或等于預設數值時,從隊尾將所述交互消息添加到所述待展示消息隊列中。

本發(fā)明實施例第二方面提供了一種交互消息展示方法,包括:

服務器接收客戶端發(fā)送的輪詢請求,所述輪詢請求用于請求交互信息;

所述服務器獲取所述輪詢請求所請求的交互消息;

所述服務器響應所述輪詢請求向所述客戶端發(fā)送所述交互消息,以使所述客戶端將所述交互消息添加到待展示消息隊列中,并按照預設的展示時長,調用預先創(chuàng)建的帶運動軌跡的消息基類在交互界面中依次展示所述待展示消息隊列中的交互消息;

其中,所述帶運動軌跡的消息基類用于指定所述交互消息在所述交互界面中的運動軌跡。

可選的,所述方法還包括:

所述服務器接收所述客戶端按照預設的發(fā)送時間間隔發(fā)送的待發(fā)送消息隊列中的交互消息,所述待發(fā)送消息隊列中的交互消息為所述客戶端本地輸入的消息;

所述服務器對所述待發(fā)送消息隊列中的交互消息進行廣播。

本發(fā)明實施例第三方面提供了一種交互消息展示裝置,包括:

第一獲取單元,用于獲取交互消息;

添加單元,用于將所述交互消息添加到待展示消息隊列中;

展示單元,用于按照預設的展示時長,調用預先創(chuàng)建的帶運動軌跡的消息基類在交互界面中依次展示所述待展示消息隊列中的交互消息;

其中,所述帶運動軌跡的消息基類用于指定所述交互消息在所述交互界面中的運動軌跡。

可選的,所述展示單元包括:

第二獲取單元,用于獲取預先創(chuàng)建的帶運動軌跡的消息基類,所述帶運動軌跡的消息基類是根據包含消息公共屬性的消息基類和包含運動軌跡公共屬性的運動軌跡基類創(chuàng)建的;

繪圖單元,用于按照預設的展示時長,調用所述帶運動軌跡的消息基類在交互界面的畫布canvas元素上依次繪制所述待展示消息隊列中的交互消息。

可選的,所述添加單元,還用于在確定所述交互消息為本地輸入的交互消息時,將所述交互消息添加到待發(fā)送消息隊列中;

其中,所述裝置還包括:

發(fā)送單元,用于按照預設的發(fā)送時間間隔向服務器發(fā)送所述待發(fā)送消息隊列中的交互消息,以使所述服務器對所述待發(fā)送消息隊列中的交互消息進行廣播。

可選的,所述添加單元將所述交互消息添加到待展示消息隊列中的具體方式為:

在確定所述交互消息為本地輸入的交互消息時,從隊頭將所述交互消息添加到待展示消息隊列中;

在確定所述交互消息為通過向服務器發(fā)送輪詢請求而獲取到的交互消息時,從隊尾將所述交互消息添加到所述待展示消息隊列中。

可選的,所述添加單元在確定所述交互消息為通過向服務器發(fā)送輪詢請求而獲取到的交互消息時,從隊尾將所述交互消息添加到所述待展示消息隊列中的具體方式為:

在確定所述交互消息為通過向服務器發(fā)送輪詢請求而獲取到的交互消息時,判斷所述通過向所述服務器發(fā)送輪詢請求而獲取到的交互消息是否為所述本地輸入的交互消息;

若是,則不再將所述交互消息添加到所述待展示消息隊列中;

若否,則從隊尾將所述交互消息添加到所述待展示消息隊列中。

可選的,所述添加單元從隊尾將所述交互消息添加到所述待展示消息隊列中的具體方式為:

獲取當前所述待展示消息隊列中的交互消息數量;

在所述交互消息數量小于或等于預設數值時,從隊尾將所述交互消息添加到所述待展示消息隊列中。

本發(fā)明實施例第四方面提供了一種交互消息展示裝置,包括:

接收單元,用于接收客戶端發(fā)送的輪詢請求,所述輪詢請求用于請求交互信息;

獲取單元,用于獲取所述輪詢請求所請求的交互消息;

發(fā)送單元,用于響應所述輪詢請求向所述客戶端發(fā)送所述交互消息,以使所述客戶端將所述交互消息添加到待展示消息隊列中,并按照預設的展示時長,調用預先創(chuàng)建的帶運動軌跡的消息基類在交互界面中依次展示所述待展示消息隊列中的交互消息;

其中,所述帶運動軌跡的消息基類用于指定所述交互消息在所述交互界面中的運動軌跡。

可選的,所述接收單元,還用于接收所述客戶端按照預設的發(fā)送時間間隔發(fā)送的待發(fā)送消息隊列中的交互消息,所述待發(fā)送消息隊列中的交互消息為所述客戶端本地輸入的消息;

其中,所述裝置還包括:

廣播單元,用于對所述待發(fā)送消息隊列中的交互消息進行廣播。

本發(fā)明實施例第五方面提供了一種交互消息展示系統,服務器和至少一個終端,其特征在于,所述終端包括上述第三方面中任一項所述的交互消息展示裝置,所述服務器包括上述第四方面中任一項所述的交互消息展示裝置。

本發(fā)明實施例中,客戶端獲取交互消息,并將該交互消息添加到待展示消息隊列中,再按照預設的展示時長,通過調用預先創(chuàng)建的帶運動軌跡的消息基類在交互界面中依次展示該待展示消息隊列中的交互消息,可以減少交互界面的卡頓現象,實現高效、流暢地展示交互消息,同時也實現了對交互消息運動軌跡的靈活控制。

附圖說明

為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。

圖1是本發(fā)明實施例提供的一種交互消息展示方法的第一實施例流程示意圖;

圖2是本發(fā)明實施例提供的一種交互界面示意圖;

圖3是本發(fā)明實施例提供的一種交互消息展示方法的第二實施例流程示意圖;

圖4是本發(fā)明實施例提供的一種交互消息展示方法的第三實施例流程示意圖;

圖5是本發(fā)明實施例提供的一種終端的一實施例結構示意圖;

圖6是本發(fā)明實施例提供的一種交互消息展示裝置的第一實施例結構示意圖;

圖7是本發(fā)明實施例提供的一種服務器的一實施例結構示意圖;

圖8是本發(fā)明實施例提供的一種交互消息展示裝置的第二實施例結構示意圖;

圖9是本發(fā)明實施例提供的一種交互消息展示系統的一實施例結構示意圖。

具體實施方式

下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。

本發(fā)明實施例中所描述的終端具體可以包括手機、筆記本電腦、臺式電腦、平板電腦、車載終端、智能可穿戴設備等。終端中可以運行至少一種類型的互聯網應用,包括但不限于:瀏覽器應用、即時通信應用、社會性網絡服務(Social Networking Services,SNS)應用等等。

請參閱圖1,為本發(fā)明實施例提供的一種交互消息展示方法的第一實施例流程示意圖。本實施例中所描述的交互消息展示方法,包括以下步驟:

101、客戶端獲取交互消息。

其中,客戶端可以是上述互聯網應用,運行在一終端上,交互消息具體可以是文字、圖片、表情等,包括該客戶端本地輸入的交互消息,以及從服務器獲取的交互消息。

具體的,客戶端可以獲取本地輸入的交互消息,同時還可以通過向服務器發(fā)送輪詢請求,并接收服務器響應輪詢請求而返回的交互消息。其中,輪詢請求具體可以是長輪詢,即客戶端不停地向服務器發(fā)送輪詢請求以獲取最新的交互消息。

102、所述客戶端將所述交互消息添加到待展示消息隊列中。

具體的,該客戶端將獲取到的交互信息存入一待展示消息隊列中,可以通過交互消息的來源標簽確定是否為本地輸入的交互消息,如果是本地輸入的交互消息,則客戶端從隊頭將交互消息添加到待展示消息隊列中,如果是通過向服務器發(fā)送輪詢請求而獲取到的交互消息,則從隊尾將交互消息添加到待展示消息隊列中,保證本地輸入的交互消息可以優(yōu)先顯示,以及本地輸入的交互消息中先存入待展示消息隊列中的交互信息先展示,通過向服務器發(fā)送輪詢請求而獲取到的交互消息中先存入待展示消息隊列中的交互信息先展示。

103、所述客戶端按照預設的展示時長,調用預先創(chuàng)建的帶運動軌跡的消息基類在交互界面中依次展示所述待展示消息隊列中的交互消息。

其中,可以預先創(chuàng)建包含消息公共屬性的消息基類和包含運動軌跡公共屬性的運動軌跡基類,消息基類的代碼實現可以如下:

其中,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軸坐標。

進一步地,根據上述消息基類、運動軌跡基類和定義的貝塞爾曲線,創(chuàng)建帶運動軌跡的消息基類,帶運動軌跡的消息基類的代碼實現可以如下(以三次貝塞爾曲線為例):

其中,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元素上繪制消息體。

需要說明的是,這里僅是以三次貝塞爾曲線為例,根據實際應用場景還可以采用四次貝塞爾曲線、五次貝塞爾曲線等更加復雜的貝塞爾曲線來創(chuàng)建上述帶運動軌跡的消息基類。

同樣地,上述相關參數值的設定也可以根據實際應用場景靈活調整,本發(fā)明實施例均不做限定。

其中,超文本標記語言(Hyper Text Markup Language,HTML)5新增有canvas元素,通過腳本語言(例如JavaScript)可以在canvas元素上繪圖,實現展示交互消息??梢栽O定每一條交互消息在交互界面中的展示時長,例如均為300ms,一條交互信息的展示時長達到后才開始展示下一條交互信息,一方面避免密集展示交互信息導致用戶難以分辨的情形,另一方面由于canvas元素的性能有一定限制,這樣還可以避免影響canvas元素展示交互消息的性能。

具體實現中,客戶端按照預設的展示時長,通過調用上述帶運動軌跡的消息基類在交互界面的canvas元素上按照從隊頭到隊尾的順序繪制待展示消息隊列中的各條交互消息,帶運動軌跡的消息基類實現了對交互消息運動軌跡的控制。

如圖2所示的交互界面,在交互界面右下角有多條交互消息,即心形圖案,客戶端獲取到這些心形圖案后,可以每隔300ms展示一個心形圖案,即通過調用上述帶運動軌跡的消息基類在canvas元素上繪制出心形圖案,并控制其在300ms時間內在交互界面中的運動軌跡,例如S型軌跡等。

進一步地,每條交互消息展示完畢后,客戶端將其從待展示消息隊列中刪除。

其中,本發(fā)明實施例中調用上述帶運動軌跡的消息基類以通過canvas元素展示交互消息的代碼實現可以如下:

本發(fā)明實施例中,客戶端獲取交互消息,并將該交互消息添加到待展示消息隊列中,再按照預設的展示時長,通過調用預先創(chuàng)建的帶運動軌跡的消息基類在交互界面中依次展示該待展示消息隊列中的交互消息,可以減少交互界面的卡頓現象,實現高效、流暢地展示交互消息,同時也實現了對交互消息運動軌跡的靈活控制。

請參閱圖3,為本發(fā)明實施例提供的一種交互消息展示方法的第二實施例流程示意圖。本實施例中所描述的交互消息展示方法,包括以下步驟:

301、客戶端獲取交互消息。

302、所述客戶端在確定所述交互消息為本地輸入的交互消息時,將所述交互消息添加到待發(fā)送消息隊列中。

303、所述客戶端按照預設的發(fā)送時間間隔向服務器發(fā)送所述待發(fā)送消息隊列中的交互消息,以使所述服務器對所述待發(fā)送消息隊列中的交互消息進行廣播。

具體的,客戶端確定獲取的交互消息為本地輸入的交互消息時,可以將其存入一待發(fā)送消息隊列中,并按照預設的發(fā)送時間間隔向服務器發(fā)送待發(fā)送消息隊列中的交互消息,即每隔一段時間才向服務器發(fā)送一次本地輸入的交互消息,而不是每獲取到一條本地輸入的交互信息就通過后臺接口將其發(fā)送給服務器,可以避免用戶短時間內通過本地輸入大量交互信息時,服務器由于過載而出現崩潰、穩(wěn)定性差等現象,服務器接收到客戶端按照預設的發(fā)送時間間隔發(fā)送的待發(fā)送消息隊列中的交互消息后,向其他客戶端進行廣播。

304、所述客戶端在確定所述交互消息為本地輸入的交互消息時,從隊頭將所述交互消息添加到待展示消息隊列中。

305、所述客戶端在確定所述交互消息為通過向服務器發(fā)送輪詢請求而獲取到的交互消息時,從隊尾將所述交互消息添加到所述待展示消息隊列中。

具體的,客戶端在確定交互消息為通過向服務器發(fā)送輪詢請求而獲取到的交互消息時,由于客戶端將本地輸入的交互信息發(fā)送給服務器進行廣播,則客戶端也會收到其發(fā)送給服務器的本地輸入的交互信息,為做到本地輸入的交互信息不重復顯示,客戶端判斷通過向服務器發(fā)送輪詢請求而獲取到的交互消息是否為本地輸入的交互消息,如果是,則客戶端不再將這條交互消息添加到待展示消息隊列中,如果不是,則客戶端從隊尾將這條交互消息添加到待展示消息隊列中。

在一些可行的實施方式中,可以設定本地輸入的交互消息必須展示,而對于通過向服務器發(fā)送輪詢請求而獲取到的交互消息,由于canvas元素的性能有一定限制,可以根據當前待展示消息隊列中的交互消息數量確定是否將通過向服務器發(fā)送輪詢請求而獲取到的交互消息添加到待展示消息隊列中,可以是在當前待展示消息隊列中的交互消息數量小于或等于預設數值(例如40)時,才會將通過向服務器發(fā)送輪詢請求而獲取到的交互消息從隊尾添加到待展示消息隊列中,以保證canvas元素展示交互消息的性能穩(wěn)定性。

在一些可行的實施方式中,如果一客戶端對應的是付費用戶或會員用戶或高級VIP用戶或普通用戶中級別高于預設級別的用戶等,則客戶端可以不考慮當前待展示消息隊列中的交互消息數量,而直接將通過向服務器發(fā)送輪詢請求而獲取到的交互消息從隊尾添加到待展示消息隊列中,可以通過在交互消息中添加身份標簽或級別標簽等形式指示客戶端對應用戶的身份、級別信息。

306、所述客戶端按照預設的展示時長,調用預先創(chuàng)建的帶運動軌跡的消息基類在交互界面中依次展示所述待展示消息隊列中的交互消息。

本發(fā)明實施例中,客戶端獲取交互消息,在確定交互消息為本地輸入的交互消息時,將交互消息添加到待發(fā)送消息隊列中,在按照預設的發(fā)送時間間隔向服務器發(fā)送待發(fā)送消息隊列中的交互消息,以使服務器對待發(fā)送消息隊列中的交互消息進行廣播;客戶端在確定交互消息為本地輸入的交互消息時,從隊頭將交互消息添加到待展示消息隊列中,在確定交互消息為通過向服務器發(fā)送輪詢請求而獲取到的交互消息時,從隊尾將交互消息添加到待展示消息隊列中,再按照預設的展示時長,調用預先創(chuàng)建的帶運動軌跡的消息基類在交互界面中依次展示待展示消息隊列中的交互消息,可以減少交互界面的卡頓現象,實現高效、流暢地展示交互消息,同時也實現了對交互消息運動軌跡的靈活控制。

請參閱圖4,為本發(fā)明實施例提供的一種交互消息展示方法的第三實施例流程示意圖。本實施例中所描述的交互消息展示方法,包括以下步驟:

401、服務器接收客戶端發(fā)送的輪詢請求,所述輪詢請求用于請求交互信息。

其中,交互消息具體可以是文字、圖片、表情等,包括客戶端本地輸入的交互消息,以及該服務器發(fā)送給該客戶端的交互消息。

402、所述服務器獲取所述輪詢請求所請求的交互消息。

403、所述服務器響應所述輪詢請求向所述客戶端發(fā)送所述交互消息,以使所述客戶端將所述交互消息添加到待展示消息隊列中,并按照預設的展示時長,調用預先創(chuàng)建的帶運動軌跡的消息基類在交互界面中依次展示所述待展示消息隊列中的交互消息。

具體的,該輪詢請求具體可以是長輪詢,即該服務器接收到該客戶端不停地發(fā)送的輪詢請求,并將該輪詢請求所請求的最新交互消息發(fā)送給該客戶端,使得該客戶端將該交互消息添加到待展示消息隊列中,并按照預設的展示時長,調用預先創(chuàng)建的帶運動軌跡的消息基類在交互界面中依次展示該待展示消息隊列中的交互消息。

404、所述服務器接收所述客戶端按照預設的發(fā)送時間間隔發(fā)送的待發(fā)送消息隊列中的交互消息,所述待發(fā)送消息隊列中的交互消息為所述客戶端本地輸入的交互消息。

405、所述服務器對所述待發(fā)送消息隊列中的交互消息進行廣播。

其中,對于本地輸入的交互消息,客戶端可以將其存入一待發(fā)送消息隊列中,并按照預設的發(fā)送時間間隔向服務器發(fā)送待發(fā)送消息隊列中的交互消息,即每隔一段時間服務器才會收到一次客戶端發(fā)送的本地輸入的交互消息,而不是頻繁地收到客戶端發(fā)送的本地輸入的交互消息,可以避免用戶短時間內通過本地輸入大量交互信息時,服務器由于過載而出現崩潰、穩(wěn)定性差等現象,服務器接收到客戶端按照預設的發(fā)送時間間隔發(fā)送的待發(fā)送消息隊列中的交互消息后,向其他客戶端進行廣播。

本發(fā)明實施例中,服務器接收客戶端發(fā)送的輪詢請求,該輪詢請求用于請求交互信息;該服務器獲取該輪詢請求所請求的交互消息,并向該客戶端發(fā)送該交互消息,以使該客戶端將該交互消息添加到待展示消息隊列中,并按照預設的展示時長,調用預先創(chuàng)建的帶運動軌跡的消息基類在交互界面中依次展示該待展示消息隊列中的交互消息;該服務器接收該客戶端按照預設的發(fā)送時間間隔發(fā)送的待發(fā)送消息隊列中的交互消息,該待發(fā)送消息隊列中的交互消息為該客戶端本地輸入的交互消息,并對該待發(fā)送消息隊列中的交互消息進行廣播,可以減少交互界面的卡頓現象,實現高效、流暢地展示交互消息,同時也實現了對交互消息運動軌跡的靈活控制。

基于上述實施例所示的交互消息展示方法,本發(fā)明實施例還提供了一種終端,該終端可用于執(zhí)行上述圖1或圖3所示方法流程的相應步驟。請參見圖5,該終端的內部結構可包括但不限于:處理器、用戶接口、網絡接口及存儲器。其中,終端內的處理器、用戶接口、網絡接口及存儲器可通過總線或其他方式連接,在本發(fā)明實施例所示圖5中以通過總線連接為例。

其中,用戶接口是實現用戶與終端進行交互和信息交換的媒介,其具體體現可以包括用于輸出的顯示屏(Display)以及用于輸入的鍵盤(Keyboard)等等,需要說明的是,此處的鍵盤既可以為實體鍵盤,也可以為觸屏虛擬鍵盤,還可以為實體與觸屏虛擬相結合的鍵盤。處理器(或稱CPU(Central Processing Unit,中央處理器))是終端的計算核心以及控制核心,其可以解析終端內的各類指令以及處理終端的各類數據,例如:CPU可以用于解析用戶向終端所發(fā)送的開關機指令,并控制終端進行開關機操作;再如:CPU可以在終端內部結構之間傳輸各類交互數據,等等。存儲器(Memory)是終端中的記憶設備,用于存放程序和數據??梢岳斫獾氖牵颂幍拇鎯ζ骷瓤梢园ńK端的內置存儲器,當然也可以包括終端所支持的擴展存儲器。存儲器提供存儲空間,該存儲空間存儲了終端的操作系統,可包括但不限于:Windows系統(一種操作系統)、Android(安卓,一種移動操作系統)系統、IOS(一種移動操作系統)系統等等,本發(fā)明對此并不作限定。存儲器的存儲空間存儲了交互消息展示裝置。該裝置可以是終端內的一個應用程序,例如:該裝置可以是終端內的瀏覽器應用程序等等。

在本發(fā)明實施例中,終端通過運行存儲器中的交互消息展示裝置來執(zhí)行上述圖1或圖3所示方法流程的相應步驟。請一并參見圖6,在交互消息展示過程中,該裝置運行如下單元:

第一獲取單元601,用于獲取交互消息。

添加單元602,用于將所述交互消息添加到待展示消息隊列中。

展示單元603,用于按照預設的展示時長,調用預先創(chuàng)建的帶運動軌跡的消息基類在交互界面中依次展示所述待展示消息隊列中的交互消息。

其中,所述帶運動軌跡的消息基類用于指定所述交互消息在所述交互界面中的運動軌跡。

在一些可行的實施方式中,所述展示單元603具體包括:

第二獲取單元6030,用于獲取預先創(chuàng)建的帶運動軌跡的消息基類,所述帶運動軌跡的消息基類是根據包含消息公共屬性的消息基類和包含運動軌跡公共屬性的運動軌跡基類創(chuàng)建的。

繪圖單元6031,用于調用所述帶運動軌跡的消息基類,按照預設的展示時長在交互界面的canvas元素上依次繪制所述待展示消息隊列中的交互消息。

在一些可行的實施方式中,所述添加單元602,還用于在確定所述交互消息為本地輸入的交互消息時,將所述交互消息添加到待發(fā)送消息隊列中。

其中,所述裝置還包括:

發(fā)送單元604,用于按照預設的發(fā)送時間間隔向服務器發(fā)送所述待發(fā)送消息隊列中的交互消息,以使所述服務器對所述待發(fā)送消息隊列中的交互消息進行廣播。

在一些可行的實施方式中,所述添加單元602將所述交互消息添加到待展示消息隊列中的具體方式為:

在確定所述交互消息為本地輸入的交互消息時,從隊頭將所述交互消息添加到待展示消息隊列中。

在確定所述交互消息為通過向服務器發(fā)送輪詢請求而獲取到的交互消息時,從隊尾將所述交互消息添加到所述待展示消息隊列中。

在一些可行的實施方式中,所述添加單元602在確定所述交互消息為通過向服務器發(fā)送輪詢請求而獲取到的交互消息時,從隊尾將所述交互消息添加到所述待展示消息隊列中的具體方式為:

在確定所述交互消息為通過向服務器發(fā)送輪詢請求而獲取到的交互消息時,判斷所述通過向所述服務器發(fā)送輪詢請求而獲取到的交互消息是否為所述本地輸入的交互消息。

若是,則不再將所述交互消息添加到所述待展示消息隊列中。

若否,則從隊尾將所述交互消息添加到所述待展示消息隊列中。

在一些可行的實施方式中,所述添加單元602從隊尾將所述交互消息添加到所述待展示消息隊列中的具體方式為:

獲取當前所述待展示消息隊列中的交互消息數量。

在所述交互消息數量小于或等于預設數值時,從隊尾將所述交互消息添加到所述待展示消息隊列中。

本發(fā)明實施例中,第一獲取單元601獲取交互消息,添加單元602將該交互消息添加到待展示消息隊列中,展示單元603按照預設的展示時長,通過調用預先創(chuàng)建的帶運動軌跡的消息基類在交互界面中依次展示該待展示消息隊列中的交互消息,可以減少交互界面的卡頓現象,實現高效、流暢地展示交互消息,同時也實現了對交互消息運動軌跡的靈活控制。

基于上述實施例所示的交互消息展示方法,本發(fā)明實施例還提供了一種服務器,該服務器可用于執(zhí)行上述圖4所示方法流程的相應步驟。請參見圖7,該服務器的內部結構可包括但不限于:處理器、網絡接口及存儲器。其中,服務器內的處理器、網絡接口及存儲器可通過總線或其他方式連接,在本發(fā)明實施例所示圖7中以通過總線連接為例。

其中,處理器(或稱CPU(Central Processing Unit,中央處理器))是服務器的計算核心以及控制核心。網絡接口可選的可以包括標準的有線接口、無線接口(如WI-FI、移動通信接口等)。存儲器(Memory)是服務器中的記憶設備,用于存放程序和數據??梢岳斫獾氖?,此處的存儲器可以是高速RAM存儲器,也可以是非不穩(wěn)定的存儲器(non-volatile memory),例如至少一個磁盤存儲器;可選的還可以是至少一個位于遠離前述處理器的存儲裝置。存儲器提供存儲空間,該存儲空間存儲了服務器的操作系統,可包括但不限于:Windows系統(一種操作系統)、Luix(一種操作系統)系統等等,本發(fā)明對此并不作限定。存儲器的存儲空間還存儲了交互消息展示裝置。

在本發(fā)明實施例中,服務器通過運行存儲器中的交互消息展示裝置來執(zhí)行上述圖4所示方法流程的相應步驟。請一并參見圖8,在交互消息展示過程中,該裝置運行如下單元:

接收單元801,用于接收客戶端發(fā)送的輪詢請求,所述輪詢請求用于請求交互信息。

獲取單元802,用于獲取所述輪詢請求所請求的交互消息。

發(fā)送單元803,用于響應所述輪詢請求向所述客戶端發(fā)送所述交互消息,以使所述客戶端將所述交互消息添加到待展示消息隊列中,并按照預設的展示時長,調用預先創(chuàng)建的帶運動軌跡的消息基類在交互界面中依次展示所述待展示消息隊列中的交互消息。

其中,所述帶運動軌跡的消息基類用于指定所述交互消息在所述交互界面中的運動軌跡。

在一些可行的實施方式中,所述接收單元801,還用于接收所述客戶端按照預設的發(fā)送時間間隔發(fā)送的待發(fā)送消息隊列中的交互消息,所述待發(fā)送消息隊列中的交互消息為所述客戶端本地輸入的交互消息。

其中,所述裝置還包括:

廣播單元804,用于對所述待發(fā)送消息隊列中的交互消息進行廣播。

本發(fā)明實施例中,接收單元801接收客戶端發(fā)送的輪詢請求,該輪詢請求用于請求交互信息,獲取單元802獲取該輪詢請求所請求的交互消息,發(fā)送單元803響應該輪詢請求向該客戶端發(fā)送該交互消息,以使該客戶端將該交互消息添加到待展示消息隊列中,并按照預設的展示時長,調用預先創(chuàng)建的帶運動軌跡的消息基類在交互界面中依次展示該待展示消息隊列中的交互消息,可以減少交互界面的卡頓現象,實現高效、流暢地展示交互消息,同時也實現了對交互消息運動軌跡的靈活控制。

請參閱圖9,為本發(fā)明實施例提供的一種交互消息展示系統的一實施例結構示意圖。本實施例中所描述的交互消息展示系統,包括服務器和至少一個終端,終端上運行有客戶端,其中:

所述客戶端,用于向所述服務器發(fā)送輪詢請求,所述輪詢請求用于請求交互信息。

所述服務器,用于獲取所述輪詢請求所請求的交互消息,并向所述客戶端發(fā)送所述交互消息。

所述客戶端,還用于將所述交互消息添加到待展示消息隊列中。

所述客戶端,還用于按照預設的展示時長,調用預先創(chuàng)建的帶運動軌跡的消息基類在交互界面中依次展示所述待展示消息隊列中的交互消息。

其中,所述帶運動軌跡的消息基類用于指定所述交互消息在所述交互界面中的運動軌跡。

在一些可行的實施方式中,所述客戶端按照預設的展示時長,調用預先創(chuàng)建的帶運動軌跡的消息基類在交互界面中依次展示所述待展示消息隊列中的交互消息的具體方式為:

獲取預先創(chuàng)建的帶運動軌跡的消息基類,所述帶運動軌跡的消息基類是根據包含消息公共屬性的消息基類和包含運動軌跡公共屬性的運動軌跡基類創(chuàng)建的。

按照預設的展示時長,調用所述帶運動軌跡的消息基類在交互界面的canvas元素上依次繪制所述待展示消息隊列中的交互消息。

在一些可行的實施方式中,所述客戶端,還用于在確定所述交互消息為本地輸入的交互消息時,將所述交互消息添加到待發(fā)送消息隊列中。

所述客戶端,還用于按照預設的發(fā)送時間間隔向所述服務器發(fā)送所述待發(fā)送消息隊列中的交互消息。

所述服務器,還用于接收所述待發(fā)送消息隊列中的交互消息,并對所述待發(fā)送消息隊列中的交互消息進行廣播。

在一些可行的實施方式中,所述客戶端將所述交互消息添加到待展示消息隊列中的具體方式為:

在確定所述交互消息為本地輸入的交互消息時,從隊頭將所述交互消息添加到待展示消息隊列中。

在確定所述交互消息為通過向服務器發(fā)送輪詢請求而獲取到的交互消息時,從隊尾將所述交互消息添加到所述待展示消息隊列中。

本發(fā)明實施例中,客戶端向服務器發(fā)送輪詢請求,該輪詢請求用于請求交互信息,該服務器獲取該輪詢請求所請求的交互消息,并向該客戶端發(fā)送該交互消息,該客戶端將該交互消息添加到待展示消息隊列中,并按照預設的展示時長,通過調用預先創(chuàng)建的帶運動軌跡的消息基類在交互界面中依次展示該待展示消息隊列中的交互消息,可以減少交互界面的卡頓現象,實現高效、流暢地展示交互消息,同時也實現了對交互消息運動軌跡的靈活控制。

本領域普通技術人員可以理解實現上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory,ROM)或隨機存取存儲器(Random Access Memory,RAM)等。

以上對本發(fā)明實施例所提供的一種交互消息展示方法、裝置及系統進行了詳細介紹,本文中應用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領域的一般技術人員,依據本發(fā)明的思想,在具體實施方式及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發(fā)明的限制。

當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1