欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種虛擬禮物展示方法及裝置與流程

文檔序號(hào):12890348閱讀:266來(lái)源:國(guó)知局
一種虛擬禮物展示方法及裝置與流程

本發(fā)明涉及互聯(lián)網(wǎng)彈幕式視頻直播技術(shù)領(lǐng)域,具體而言,涉及一種虛擬禮物展示方法及裝置。



背景技術(shù):

直播網(wǎng)站會(huì)出售各種形式的虛擬商品(通常被稱之為禮物),這些禮物在用戶贈(zèng)送給主播時(shí)會(huì)展現(xiàn)其相應(yīng)的動(dòng)畫(huà)和交互效果。一個(gè)直播間會(huì)提供數(shù)種禮物,這些禮物對(duì)應(yīng)著不同的價(jià)格。在一個(gè)正常播放的直播間中,當(dāng)有用戶贈(zèng)送禮物時(shí),所有收看該直播間的用戶都會(huì)在頁(yè)面上觀看到禮物的展示特效。展示特效由一系列的異步動(dòng)畫(huà)順序執(zhí)行完成,不同的動(dòng)畫(huà)之間可能還會(huì)存在著交互關(guān)系,例如,價(jià)格高的禮物能夠?qū)r(jià)格低的禮物的動(dòng)畫(huà)提前結(jié)束。

隨著業(yè)務(wù)的演變,這些禮物自身的展示過(guò)程以及同其他禮物的交互關(guān)系變得越來(lái)越復(fù)雜。從軟件開(kāi)發(fā)人員的角度來(lái)看,代碼中會(huì)充斥著大量的邏輯判斷,不同類型禮物的執(zhí)行步驟被雜糅在一起。當(dāng)業(yè)務(wù)發(fā)展到一定階段,這樣的解決方案將無(wú)法支撐直播業(yè)務(wù)的開(kāi)展,進(jìn)而影響用戶觀看網(wǎng)站直播的體驗(yàn)。



技術(shù)實(shí)現(xiàn)要素:

有鑒于此,本發(fā)明的目的在于提供一種虛擬禮物展示方法及裝置,以改善上述問(wèn)題。

本發(fā)明較佳實(shí)施例提供一種虛擬禮物展示方法,具體地,該方法包括:生成用于目標(biāo)禮物展示的任務(wù)鏈路,所述任務(wù)鏈路包括對(duì)應(yīng)所述目標(biāo)禮物的展示特效的至少一個(gè)異步動(dòng)畫(huà)任務(wù);按照預(yù)先定義的任務(wù)執(zhí)行順序執(zhí)行所述至少一個(gè)異步動(dòng)畫(huà)任務(wù)中的每一個(gè);執(zhí)行各所述異步動(dòng)畫(huà)任務(wù)時(shí),從與該異步動(dòng)畫(huà)任務(wù)關(guān)聯(lián)的資源池中獲取動(dòng)畫(huà)資源,并且根據(jù)預(yù)先設(shè)定的執(zhí)行邏輯操作所述動(dòng)畫(huà)資源。

可選地,本發(fā)明實(shí)施例中,每一個(gè)異步動(dòng)畫(huà)任務(wù)對(duì)應(yīng)有標(biāo)識(shí)其的唯一標(biāo)識(shí)字符串。據(jù)此,所述生成用于目標(biāo)禮物展示的任務(wù)鏈路的步驟可以包括:通過(guò)每個(gè)異步動(dòng)畫(huà)任務(wù)對(duì)應(yīng)的唯一標(biāo)識(shí)字符串,以聲明式的語(yǔ)法生成所述用于目標(biāo)禮物展示的任務(wù)鏈路。

可選地,本發(fā)明實(shí)施例中,同一所述異步動(dòng)畫(huà)任務(wù)能夠被用于不同禮物展示的任務(wù)鏈路所復(fù)用;在兩個(gè)或更多個(gè)用于不同禮物展示的任務(wù)鏈路中,相同的異步動(dòng)畫(huà)任務(wù)能夠共享相同的資源池。

可選地,本發(fā)明實(shí)施例中,所述方法還包括:如果要執(zhí)行任務(wù)鏈路中的任意異步動(dòng)畫(huà)任務(wù)時(shí)檢測(cè)到有其他任務(wù)鏈路中的同一異步動(dòng)畫(huà)任務(wù)正在執(zhí)行,則停止當(dāng)前執(zhí)行的事件并等待直至所述其他任務(wù)鏈路中的同一異步動(dòng)畫(huà)任務(wù)執(zhí)行結(jié)束后再繼續(xù)該執(zhí)行的事件。

可選地,設(shè)定任意目標(biāo)異步動(dòng)畫(huà)任務(wù)所需的動(dòng)畫(huà)資源的dom節(jié)點(diǎn)能夠被復(fù)用,所述方法還包括:當(dāng)所述目標(biāo)異步動(dòng)畫(huà)任務(wù)需要被相繼地重復(fù)執(zhí)行時(shí),通過(guò)所述dom節(jié)點(diǎn)的復(fù)用功能復(fù)用首次執(zhí)行該目標(biāo)異步動(dòng)畫(huà)任務(wù)時(shí)從資源池獲取的動(dòng)畫(huà)資源,并且用于后續(xù)相繼地重復(fù)執(zhí)行該目標(biāo)異步動(dòng)畫(huà)任務(wù)的過(guò)程中。

本發(fā)明另一較佳實(shí)施例提供一種虛擬禮物展示裝置,所述裝置包括:任務(wù)鏈路生成模塊,用于生成用于目標(biāo)禮物展示的任務(wù)鏈路,所述任務(wù)鏈路包括對(duì)應(yīng)所述目標(biāo)禮物的展示特效的至少一個(gè)異步動(dòng)畫(huà)任務(wù);動(dòng)畫(huà)任務(wù)執(zhí)行模塊,用于按照預(yù)先定義的任務(wù)執(zhí)行順序執(zhí)行所述至少一個(gè)異步動(dòng)畫(huà)任務(wù)中的每一個(gè);動(dòng)畫(huà)資源操作模塊,用于執(zhí)行各所述異步動(dòng)畫(huà)任務(wù)時(shí),從與該異步動(dòng)畫(huà)任務(wù)關(guān)聯(lián)的資源池中獲取動(dòng)畫(huà)資源,并且根據(jù)預(yù)先設(shè)定的執(zhí)行邏輯操作所述動(dòng)畫(huà)資源。

可選地,本發(fā)明實(shí)施例中,每一個(gè)異步動(dòng)畫(huà)任務(wù)對(duì)應(yīng)有標(biāo)識(shí)其的唯一標(biāo)識(shí)字符串;所述任務(wù)鏈路生成模塊生成用于目標(biāo)禮物展示的任務(wù)鏈路的方式,包括:通過(guò)每個(gè)異步動(dòng)畫(huà)任務(wù)對(duì)應(yīng)的唯一標(biāo)識(shí)字符串,以聲明式的語(yǔ)法生成所述用于目標(biāo)禮物展示的任務(wù)鏈路。

可選地,本發(fā)明實(shí)施例中,同一所述異步動(dòng)畫(huà)任務(wù)能夠被用于不同禮物展示的任務(wù)鏈路所復(fù)用;在兩個(gè)或更多個(gè)用于不同禮物展示的任務(wù)鏈路中,相同的異步動(dòng)畫(huà)任務(wù)能夠共享相同的資源池。

可選地,所述虛擬禮物展示裝置還包括:動(dòng)畫(huà)任務(wù)調(diào)度模塊,用于如果要執(zhí)行任務(wù)鏈路中的任意異步動(dòng)畫(huà)任務(wù)時(shí)檢測(cè)到有其他任務(wù)鏈路中的同一異步動(dòng)畫(huà)任務(wù)正在執(zhí)行,則停止當(dāng)前執(zhí)行的事件并等待直至所述其他任務(wù)鏈路中的同一異步動(dòng)畫(huà)任務(wù)執(zhí)行結(jié)束后再繼續(xù)該執(zhí)行的事件。

可選地,設(shè)定任意目標(biāo)異步動(dòng)畫(huà)任務(wù)所需的動(dòng)畫(huà)資源的dom節(jié)點(diǎn)能夠被復(fù)用,所述虛擬禮物展示裝置還包括:動(dòng)畫(huà)資源復(fù)用模塊,用于當(dāng)所述目標(biāo)異步動(dòng)畫(huà)任務(wù)需要被相繼地重復(fù)執(zhí)行時(shí),通過(guò)所述dom節(jié)點(diǎn)的復(fù)用功能復(fù)用首次執(zhí)行該目標(biāo)異步動(dòng)畫(huà)任務(wù)時(shí)從資源池獲取的動(dòng)畫(huà)資源,并且用于后續(xù)相繼地重復(fù)執(zhí)行該目標(biāo)異步動(dòng)畫(huà)任務(wù)的過(guò)程中。

本發(fā)明實(shí)施例提供的虛擬禮物展示方法及裝置,可以應(yīng)用于互聯(lián)網(wǎng)直播網(wǎng)站中的虛擬禮物展示過(guò)程,其采用責(zé)任鏈模式構(gòu)建虛擬禮物展示框架,并通過(guò)資源池調(diào)用以及隊(duì)列調(diào)度實(shí)現(xiàn)直播網(wǎng)站中禮物的高效及有序展示。具體地,當(dāng)用戶終端觸發(fā)禮物贈(zèng)送事件(用戶選擇目標(biāo)禮物贈(zèng)送給當(dāng)前所觀看的直播間的主播)時(shí),生成用于目標(biāo)禮物展示的任務(wù)鏈路,然后按照預(yù)先定義的任務(wù)執(zhí)行順序執(zhí)行任務(wù)鏈路中的每一個(gè)異步動(dòng)畫(huà)任務(wù),并且在執(zhí)行各異步動(dòng)畫(huà)任務(wù)時(shí),從與該異步動(dòng)畫(huà)任務(wù)關(guān)聯(lián)的資源池中獲取動(dòng)畫(huà)資源,并且根據(jù)預(yù)先設(shè)定的執(zhí)行邏輯操作該動(dòng)畫(huà)資源。這種虛擬禮物展示方法采用責(zé)任鏈設(shè)計(jì)模式搭建禮物展示流程的實(shí)現(xiàn)框架,以聲明式的語(yǔ)法生成用于禮物展示的任務(wù)鏈路,使得以前雜糅在代碼邏輯中的流程顯式的表達(dá)出來(lái),具備更好的維護(hù)性和擴(kuò)展性,能夠有效支撐業(yè)務(wù)的開(kāi)展,提升用戶的體驗(yàn)。

進(jìn)一步地,這種虛擬禮物展示方法中的禮物展示流程(異步動(dòng)畫(huà)任務(wù)執(zhí)行順序)具備更好適用性,能夠在前一個(gè)動(dòng)畫(huà)任務(wù)執(zhí)行完成后自行按照事先定義的順序關(guān)系執(zhí)行下一個(gè)動(dòng)畫(huà)任務(wù),并且具有更好的可調(diào)整性,當(dāng)在某實(shí)施方式中需要調(diào)整不同動(dòng)畫(huà)任務(wù)之間的執(zhí)行順序時(shí),僅需要改變定義執(zhí)行順序處的代碼即可,而無(wú)需像現(xiàn)有的方法一樣必須整體調(diào)換每個(gè)動(dòng)畫(huà)任務(wù)對(duì)應(yīng)的代碼執(zhí)行塊。

更進(jìn)一步地,這種虛擬禮物展示方法通過(guò)實(shí)現(xiàn)相同的異步動(dòng)畫(huà)任務(wù)可以共享同一資源池以及相同的異步動(dòng)畫(huà)任務(wù)可以復(fù)用在用于不同禮物展示的任務(wù)鏈路中,使得代碼能夠充分被復(fù)用,更能在代碼維護(hù)時(shí)有效減小副作用范圍,減少開(kāi)發(fā)人員的工作量。此外,這種虛擬禮物展示方法中還實(shí)現(xiàn)了動(dòng)畫(huà)任務(wù)調(diào)度,使得存在交互關(guān)系(如復(fù)用有同一異步動(dòng)畫(huà)任務(wù))的兩個(gè)任務(wù)鏈路在執(zhí)行時(shí),能夠保障兩者全部充分且有效的展示,并且還能在此基礎(chǔ)上實(shí)現(xiàn)動(dòng)畫(huà)資源的復(fù)用,不必反復(fù)的創(chuàng)建和銷毀動(dòng)畫(huà)資源的dom節(jié)點(diǎn),從而提升直播系統(tǒng)性能。

附圖說(shuō)明

為了更清楚地說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,應(yīng)當(dāng)理解,以下附圖僅示出了本發(fā)明的某些實(shí)施例,因此不應(yīng)被看作是對(duì)范圍的限定,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他相關(guān)的附圖。

圖1為本發(fā)明實(shí)施例提供的服務(wù)器通過(guò)網(wǎng)絡(luò)與一個(gè)或多個(gè)用戶終端進(jìn)行通信交互的示意圖;

圖2為本發(fā)明實(shí)施例提供的一種執(zhí)行虛擬禮物展示方法的服務(wù)器的方框示意圖;

圖3為本發(fā)明實(shí)施例提供的一種虛擬禮物展示方法的流程圖;

圖4為本發(fā)明實(shí)施例提供的一種采用調(diào)度隊(duì)列實(shí)現(xiàn)對(duì)異步動(dòng)畫(huà)任務(wù)調(diào)度的示意圖;

圖5為本發(fā)明實(shí)施例提供的一種虛擬禮物展示裝置的功能模塊示意圖。

圖標(biāo):100-服務(wù)器;200-用戶終端;110-虛擬禮物展示裝置;120-存儲(chǔ)器;130-處理器;1102-任務(wù)鏈路生成模塊;1104-動(dòng)畫(huà)任務(wù)執(zhí)行模塊;1106-動(dòng)畫(huà)資源操作模塊;1108-動(dòng)畫(huà)任務(wù)調(diào)度模塊;1110-動(dòng)畫(huà)資源復(fù)用模塊。

具體實(shí)施方式

為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。通常在此處附圖中描述和示出的本發(fā)明實(shí)施例的組件可以以各種不同的配置來(lái)布置和設(shè)計(jì)。

因此,以下對(duì)在附圖中提供的本發(fā)明的實(shí)施例的詳細(xì)描述并非旨在限制要求保護(hù)的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

請(qǐng)參閱圖1,是本發(fā)明實(shí)施例提供的服務(wù)器100通過(guò)網(wǎng)絡(luò)與一個(gè)或多個(gè)用戶終端200進(jìn)行通信交互的示意圖。該服務(wù)器100可以是互聯(lián)網(wǎng)直播網(wǎng)站(例如,斗魚(yú))的后臺(tái)服務(wù)器,但不限制于此。用戶可以通過(guò)用戶終端200與服務(wù)器100之間的通信交互觀看服務(wù)器100提供的網(wǎng)絡(luò)直播,并選擇性進(jìn)行用戶操作(例如,用直播網(wǎng)站提供的虛擬禮物打賞主播)。服務(wù)器100可以是數(shù)據(jù)庫(kù)服務(wù)器、web服務(wù)器等。用戶終端200可以是個(gè)人電腦、平板電腦、智能手機(jī)等。

請(qǐng)參閱圖2,是本發(fā)明實(shí)施例提供的一種執(zhí)行虛擬禮物展示方法的服務(wù)器100的方框示意圖。該服務(wù)器100包括虛擬禮物展示裝置110、存儲(chǔ)器120以及處理器130。其中,存儲(chǔ)器120與處理器130之間直接或間接地電性連接,以實(shí)現(xiàn)數(shù)據(jù)的傳輸或交互。虛擬禮物展示裝置110包括至少一個(gè)可以軟件或固件的形式存儲(chǔ)于存儲(chǔ)器120中或固化在服務(wù)器100的操作系統(tǒng)中的軟件功能模塊。處理器130用于執(zhí)行存儲(chǔ)器120中存儲(chǔ)的可執(zhí)行模塊,例如虛擬禮物展示裝置110所包括的軟件功能模塊及計(jì)算機(jī)程序等。處理器130可以在接收到執(zhí)行指令后,執(zhí)行所述計(jì)算機(jī)程序。

請(qǐng)參閱圖3,是本發(fā)明實(shí)施例提供的一種虛擬禮物展示方法的流程圖。所應(yīng)說(shuō)明的是,本實(shí)施例提供的方法不以圖3及以下所述的具體順序?yàn)橄拗?。下面將?duì)圖3中所示的各步驟進(jìn)行詳細(xì)的闡述。

步驟s101,生成用于目標(biāo)禮物展示的任務(wù)鏈路,所述任務(wù)鏈路包括對(duì)應(yīng)所述目標(biāo)禮物的展示特效的至少一個(gè)異步動(dòng)畫(huà)任務(wù)。

本實(shí)施例中,采用設(shè)計(jì)模式中的責(zé)任鏈模式(chainofresponsibility)構(gòu)建禮物展示實(shí)現(xiàn)過(guò)程的框架。即,將目標(biāo)禮物的所有異步動(dòng)畫(huà)任務(wù)組裝成一條“任務(wù)鏈路”,鏈路中的每個(gè)異步動(dòng)畫(huà)任務(wù)可以視作一個(gè)“步驟”。

本實(shí)施例中,采用聲明式的語(yǔ)法生成禮物的執(zhí)行流程,使得前雜糅在代碼邏輯中的流程能夠顯式的表達(dá)出來(lái),令系統(tǒng)具備更好的維護(hù)性和擴(kuò)展性。

例如,以禮物“火箭”和“飛機(jī)”為示例,其中,禮物“火箭”展示流程包括四個(gè)異步動(dòng)畫(huà)任務(wù):起飛-展現(xiàn)橫幅-落入寶箱-顯示寶箱及倒計(jì)時(shí),禮物“飛機(jī)”展示流程包括三個(gè)異步動(dòng)畫(huà)任務(wù):展現(xiàn)橫幅-落入寶箱-顯示寶箱及倒計(jì)時(shí)。

現(xiàn)有技術(shù)中實(shí)現(xiàn)禮物“火箭”展示流程的程序模塊是將上述四個(gè)異步動(dòng)畫(huà)任務(wù)分別對(duì)應(yīng)的數(shù)百行甚至更多的代碼依次羅列;同樣地,現(xiàn)有技術(shù)中實(shí)現(xiàn)禮物“飛機(jī)”展示流程的代碼模塊是將上述三個(gè)異步動(dòng)畫(huà)任務(wù)分別對(duì)應(yīng)的數(shù)百行甚至更多的代碼再依次羅列一遍??梢钥闯觯@種程序?qū)崿F(xiàn)方法簡(jiǎn)單粗暴,可維護(hù)性和可擴(kuò)展性差。例如,當(dāng)需要修改異步動(dòng)畫(huà)任務(wù)“展現(xiàn)橫幅”的程序塊時(shí),則需要將所有包括該異步動(dòng)畫(huà)任務(wù)“展現(xiàn)橫幅”的禮物展示過(guò)程的代碼全部一一修改一遍,其副作用范圍大,操作易錯(cuò)率高。

本實(shí)施例中采用的技術(shù)是,作為一種實(shí)施方式,令每一個(gè)異步動(dòng)畫(huà)任務(wù)對(duì)應(yīng)有標(biāo)識(shí)其的唯一標(biāo)識(shí)字符串,然后基于此,通過(guò)每個(gè)異步動(dòng)畫(huà)任務(wù)對(duì)應(yīng)的唯一標(biāo)識(shí)字符串,以聲明式的語(yǔ)法生成用于目標(biāo)禮物展示的任務(wù)鏈路。例如,假設(shè)四個(gè)異步動(dòng)畫(huà)任務(wù)—起飛、展現(xiàn)橫幅、落入寶箱以及顯示寶箱及倒計(jì)時(shí)分別對(duì)應(yīng)的唯一標(biāo)識(shí)字符串為animation-fly、animation-banner、animation-fall和animation-show。則采用聲明式的語(yǔ)法生成禮物“火箭”、“飛機(jī)”展示流程的任務(wù)鏈路時(shí),可以是直接以唯一字符串的組合來(lái)顯示地聲明禮物的執(zhí)行流程。例如:“火箭”={animation-fly、animation-banner、animation-fall、animation-show},“飛機(jī)”={animation-banner、animation-fall、animation-show}。可以理解,上述的示例僅是為了便于技術(shù)理解而給出的簡(jiǎn)化示例,并不表示實(shí)際程序操作時(shí)的代碼體現(xiàn)為上述形式。

采用本實(shí)施例提供的方法,在維護(hù)或擴(kuò)展系統(tǒng)時(shí),副作用范圍明顯縮小。例如,當(dāng)需要修改“展示橫幅”的程序塊時(shí),基本上僅需要修改一處,而無(wú)需像現(xiàn)有技術(shù)一樣,凡是包含這一動(dòng)畫(huà)任務(wù)的禮物執(zhí)行流程都要修改一遍。

另外,可以從上述示例看出,本實(shí)施例提供的方法中,同一異步動(dòng)畫(huà)任務(wù)可以被用于不同禮物展示的任務(wù)鏈路所復(fù)用。例如,上述示例中,可以直接復(fù)用“火箭”的后三個(gè)異步動(dòng)畫(huà)任務(wù)展現(xiàn)橫幅-落入寶箱-顯示寶箱及倒計(jì)時(shí),由它們生成成一個(gè)新的禮物“飛機(jī)”的執(zhí)行流程。這樣可以充分復(fù)用程序,更能在修改程序時(shí)明顯地縮小副作用范圍。

步驟s103,按照預(yù)先定義的任務(wù)執(zhí)行順序執(zhí)行任務(wù)鏈路中的每一個(gè)異步動(dòng)畫(huà)任務(wù)。

本實(shí)施例中,針對(duì)生成的任務(wù)鏈路預(yù)設(shè)有任務(wù)執(zhí)行順序。在執(zhí)行禮物的展示流程時(shí),任務(wù)鏈路中的異步動(dòng)畫(huà)任務(wù)將按照預(yù)設(shè)的執(zhí)行順序執(zhí)行。

在執(zhí)行任意的異步動(dòng)畫(huà)任務(wù)時(shí),可以從與該異步動(dòng)畫(huà)任務(wù)關(guān)聯(lián)的資源池中獲取動(dòng)畫(huà)資源,并且根據(jù)預(yù)先設(shè)定的執(zhí)行邏輯操作所述動(dòng)畫(huà)資源。例如,當(dāng)需要執(zhí)行禮物“火箭”的異步動(dòng)畫(huà)任務(wù)“起飛”時(shí),可以從與該異步動(dòng)畫(huà)任務(wù)“起飛”相關(guān)聯(lián)的資源池中獲取動(dòng)畫(huà)資源(例如,火箭圖片),然后根據(jù)預(yù)先設(shè)定的執(zhí)行邏輯操作該動(dòng)畫(huà)資源(例如,將火箭圖片由屏幕底端快速移動(dòng)至屏幕頂端)。

另外,本實(shí)施例中,在兩個(gè)或更多個(gè)用于不同禮物展示的任務(wù)鏈路中,相同的異步動(dòng)畫(huà)任務(wù)能夠共享相同的資源池。例如,上述示例中,禮物“火箭”和“飛機(jī)”的任務(wù)鏈路中均包括異步動(dòng)畫(huà)任務(wù)“展現(xiàn)橫幅”,則這兩個(gè)任務(wù)鏈路中的異步動(dòng)畫(huà)任務(wù)“展現(xiàn)橫幅”在執(zhí)行時(shí),可以復(fù)用同一個(gè)資源池。這樣,可以降低系統(tǒng)的內(nèi)存消耗,提升系統(tǒng)性能。

步驟s105,如果要執(zhí)行任務(wù)鏈路中的任意異步動(dòng)畫(huà)任務(wù)時(shí)檢測(cè)到有其他任務(wù)鏈路中的同一異步動(dòng)畫(huà)任務(wù)正在執(zhí)行,則停止當(dāng)前執(zhí)行的事件并等待直至所述其他任務(wù)鏈路中的同一異步動(dòng)畫(huà)任務(wù)執(zhí)行結(jié)束后再繼續(xù)該執(zhí)行的事件。

本實(shí)施例中,可以采用調(diào)度隊(duì)列實(shí)現(xiàn)對(duì)異步動(dòng)畫(huà)任務(wù)的調(diào)度。例如,如圖4所示,作為一種示例,橫軸表示時(shí)間軸,當(dāng)在t1時(shí)刻禮物“火箭”的異步動(dòng)畫(huà)任務(wù)11(起飛)執(zhí)行完成后,要繼續(xù)執(zhí)行異步動(dòng)畫(huà)任務(wù)12(展現(xiàn)橫幅)時(shí),發(fā)現(xiàn)另一個(gè)禮物“飛機(jī)”的異步動(dòng)畫(huà)任務(wù)21(展現(xiàn)橫幅)正在執(zhí)行中,則可以停止當(dāng)前執(zhí)行的“火箭”的執(zhí)行流程,并等待直至“飛機(jī)”的異步動(dòng)畫(huà)任務(wù)21執(zhí)行完成后,即在時(shí)刻t2后,再繼續(xù)執(zhí)行“火箭”的異步動(dòng)畫(huà)任務(wù)12(展現(xiàn)橫幅)。后續(xù)兩個(gè)異步動(dòng)畫(huà)任務(wù)13和14的調(diào)度方式同理可推。

另外,本實(shí)施例中,可以設(shè)定任意目標(biāo)異步動(dòng)畫(huà)任務(wù)所需的動(dòng)畫(huà)資源的dom節(jié)點(diǎn)可以被復(fù)用。例如,可以設(shè)定動(dòng)畫(huà)資源—火箭圖片的dom節(jié)點(diǎn)可以被復(fù)用。則當(dāng)需要相繼執(zhí)行十次禮物“火箭”的展示流程時(shí),僅需要從資源池調(diào)用一次火箭圖片,然后通過(guò)dom節(jié)點(diǎn)的復(fù)用功能復(fù)用首次執(zhí)行該異步動(dòng)畫(huà)任務(wù)時(shí)從資源池獲取的火箭圖片,并且用于后續(xù)相繼地九次重復(fù)執(zhí)行該動(dòng)畫(huà)任務(wù)“起飛”的過(guò)程中。這樣,就不必反復(fù)的創(chuàng)建和銷毀動(dòng)畫(huà)資源,從而能夠提升系統(tǒng)性能。

下面給出一簡(jiǎn)要闡述了本實(shí)施例提供的方法基于程序?qū)崿F(xiàn)的可操作實(shí)例??梢岳斫?,該示例并不意在限制本公開(kāi)的范圍。

1)將所有步驟抽象為基類chainmanager,其中:

1.1)基類包含apply方法,該方法將執(zhí)行當(dāng)前異步動(dòng)畫(huà)任務(wù)所需的信息傳給資源池;

例如,執(zhí)行禮物“火箭”的異步動(dòng)畫(huà)任務(wù)“起飛”時(shí),該apply方法可以將異步動(dòng)畫(huà)任務(wù)“起飛”所需的動(dòng)畫(huà)資源傳遞至資源池,以獲取動(dòng)畫(huà)資源諸如火箭圖片。

1.2)基類包含setnextmanager方法,該方法將傳入的manager設(shè)置為nextmanager;

該setnextmanager方法可以用于定義后繼處理者,即,定義后續(xù)的異步執(zhí)行任務(wù),以實(shí)現(xiàn)對(duì)任務(wù)鏈路中各個(gè)異步動(dòng)畫(huà)任務(wù)執(zhí)行順序的定義。

1.3)基類包含gonext方法,該方法調(diào)用c中nextmanager的apply方法。

基于上述setnextmanager方法定義的任務(wù)執(zhí)行順序,可以應(yīng)用gonext方法使得執(zhí)行任務(wù)鏈路時(shí),各個(gè)異步動(dòng)畫(huà)任務(wù)可以按照順序執(zhí)行。

2)根據(jù)基類及具體業(yè)務(wù)場(chǎng)景實(shí)現(xiàn)代表各個(gè)具體異步動(dòng)畫(huà)任務(wù)的子類,具體地,各個(gè)子類繼承基類中的各個(gè)方法以實(shí)現(xiàn)任務(wù)鏈路生成、資源調(diào)用以及順序執(zhí)行。

3)定義一系列pool類(資源池),其與2)中的子類相關(guān)聯(lián)。相同的子類可以共享同一個(gè)pool實(shí)例。

4)定義一系列queue類(調(diào)度隊(duì)列),其與3)中的pool類關(guān)聯(lián),每個(gè)pool實(shí)例需要預(yù)存queue實(shí)例的引用。在queue類中,定義異步動(dòng)畫(huà)任務(wù)的執(zhí)行邏輯以及調(diào)度方法。

5)定義一個(gè)giftcenter類,在該類中生成所有禮物的任務(wù)鏈路。

請(qǐng)參閱圖5,是本發(fā)明實(shí)施例提供的一種虛擬禮物展示裝置110的功能模塊示意圖。虛擬禮物展示裝置110包括任務(wù)鏈路生成模塊1102、動(dòng)畫(huà)任務(wù)執(zhí)行模塊1104、動(dòng)畫(huà)資源操作模塊1106、動(dòng)畫(huà)任務(wù)調(diào)度模塊1108、動(dòng)畫(huà)資源復(fù)用模塊1110。

所述任務(wù)鏈路生成模塊1102,用于生成用于目標(biāo)禮物展示的任務(wù)鏈路,所述任務(wù)鏈路包括對(duì)應(yīng)所述目標(biāo)禮物的展示特效的至少一個(gè)異步動(dòng)畫(huà)任務(wù)。該任務(wù)鏈路生成模塊1102可以用于執(zhí)行上述圖3中所示的步驟s101,具體操作方法可參照關(guān)于步驟s101的詳細(xì)闡述。

所述動(dòng)畫(huà)任務(wù)執(zhí)行模塊1104,用于按照預(yù)先定義的任務(wù)執(zhí)行順序執(zhí)行所述至少一個(gè)異步動(dòng)畫(huà)任務(wù)中的每一個(gè)。該動(dòng)畫(huà)任務(wù)執(zhí)行模塊1104可以用于執(zhí)行上述圖3中所示的步驟s103,具體操作方法可參照關(guān)于步驟s103的詳細(xì)闡述。

所述動(dòng)畫(huà)資源操作模塊1106,用于執(zhí)行各所述異步動(dòng)畫(huà)任務(wù)時(shí),從與該異步動(dòng)畫(huà)任務(wù)關(guān)聯(lián)的資源池中獲取動(dòng)畫(huà)資源,并且根據(jù)預(yù)先設(shè)定的執(zhí)行邏輯操作所述動(dòng)畫(huà)資源。該動(dòng)畫(huà)資源操作模塊1106可以用于執(zhí)行上述圖3中所示的步驟s103,具體操作方法可參照關(guān)于步驟s103的詳細(xì)闡述。

所述動(dòng)畫(huà)任務(wù)調(diào)度模塊1108,用于如果要執(zhí)行任務(wù)鏈路中的任意異步動(dòng)畫(huà)任務(wù)時(shí)檢測(cè)到有其他任務(wù)鏈路中的同一異步動(dòng)畫(huà)任務(wù)正在執(zhí)行,則停止當(dāng)前執(zhí)行的事件并等待直至所述其他任務(wù)鏈路中的同一異步動(dòng)畫(huà)任務(wù)執(zhí)行結(jié)束后再繼續(xù)該執(zhí)行的事件。該動(dòng)畫(huà)任務(wù)調(diào)度模塊1108可以用于執(zhí)行上述圖3中所示的步驟s105,具體操作方法可參照關(guān)于步驟s105的詳細(xì)闡述。

所述動(dòng)畫(huà)資源復(fù)用模塊1110,用于當(dāng)所述目標(biāo)異步動(dòng)畫(huà)任務(wù)需要被相繼地重復(fù)執(zhí)行時(shí),通過(guò)所述dom節(jié)點(diǎn)的復(fù)用功能復(fù)用首次執(zhí)行該目標(biāo)異步動(dòng)畫(huà)任務(wù)時(shí)從資源池獲取的動(dòng)畫(huà)資源,并且用于后續(xù)相繼地重復(fù)執(zhí)行該目標(biāo)異步動(dòng)畫(huà)任務(wù)的過(guò)程中。

本發(fā)明實(shí)施例所提供的虛擬禮物展示裝置,其實(shí)現(xiàn)原理及產(chǎn)生的技術(shù)效果和前述方法實(shí)施例相同,為簡(jiǎn)要描述,裝置實(shí)施例部分未提及之處,可參考前述方法實(shí)施例中相應(yīng)內(nèi)容。

在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的裝置和方法,也可以通過(guò)其它的方式實(shí)現(xiàn)。以上所描述的裝置實(shí)施例僅僅是示意性的,例如,附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個(gè)實(shí)施例的裝置、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)方式中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動(dòng)作的專用的基于硬件的系統(tǒng)來(lái)實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來(lái)實(shí)現(xiàn)。

另外,在本發(fā)明各個(gè)實(shí)施例中的各功能模塊可以集成在一起形成一個(gè)獨(dú)立的部分,也可以是各個(gè)模塊單獨(dú)存在,也可以兩個(gè)或兩個(gè)以上模塊集成形成一個(gè)獨(dú)立的部分。

所述功能如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:u盤(pán)、移動(dòng)硬盤(pán)、只讀存儲(chǔ)器、隨機(jī)存取存儲(chǔ)器、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。需要說(shuō)明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。

以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。應(yīng)注意到:相似的標(biāo)號(hào)和字母在下面的附圖中表示類似項(xiàng),因此,一旦某一項(xiàng)在一個(gè)附圖中被定義,則在隨后的附圖中不需要對(duì)其進(jìn)行進(jìn)一步定義和解釋。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
雅江县| 凤山市| 河北区| 德保县| 图片| 泽普县| 厦门市| 冕宁县| 贞丰县| 蒲江县| 太康县| 宿州市| 闽侯县| 盐津县| 马关县| 岱山县| 兴宁市| 山丹县| 磐安县| 青浦区| 镇巴县| 六安市| 平和县| 苍山县| 珲春市| 安丘市| 都安| 定陶县| 磐石市| 商水县| 武威市| 深泽县| 射洪县| 霞浦县| 博湖县| 安康市| 南宫市| 郑州市| 缙云县| 双辽市| 习水县|