一種動畫數(shù)據(jù)播放方法以及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種動畫數(shù)據(jù)播放方法以及裝置。
【背景技術(shù)】
[0002]近年來,集合在線K歌、在線視頻直播、在線游戲直播、在線教育直播等功能為一體的綜合型的富媒體客戶端空前發(fā)展,使得觀眾用戶可以自在地通過觀眾客戶端來觀看主播客戶端直播的內(nèi)容;其中,觀眾用戶在觀看主播客戶端直播的內(nèi)容的同時,還可以通過觀眾客戶端向主播客戶端發(fā)送虛擬禮物(即贈送禮物)。但是在業(yè)務(wù)高峰期時會由于用戶贈送禮物的密度太大,而導(dǎo)致客戶端在短時間內(nèi)需要同時播放大量的與所贈送的禮物相關(guān)聯(lián)的動畫特效,而且通常的動畫特效都是基于Flash(固態(tài)存儲器與動畫編輯器)技術(shù)實(shí)現(xiàn)的,而基于Flash技術(shù)的動畫特效對CPU(Central Processing Unit,中央處理器)的占用率普遍較高,所以當(dāng)同時播放大量的動畫特效時,可能會使客戶端進(jìn)程在當(dāng)前所運(yùn)行的CPU核上的占用率變得過高,從而導(dǎo)致CPU的運(yùn)行壓力過大,繼而影響了用戶設(shè)備的正常運(yùn)作。
【發(fā)明內(nèi)容】
[0003]本發(fā)明實(shí)施例提供一種動畫數(shù)據(jù)播放方法以及裝置,可以在客戶端播放動畫特效時降低CPU的運(yùn)行壓力,以保證用戶設(shè)備可以正常運(yùn)作。
[0004]本發(fā)明實(shí)施例提供了一種動畫數(shù)據(jù)播放方法,包括:
[0005]當(dāng)獲取到服務(wù)器發(fā)送的目標(biāo)動畫數(shù)據(jù)時,獲取所述目標(biāo)動畫數(shù)據(jù)對應(yīng)的第一處理器占用率,并根據(jù)所述第一處理器占用率檢測所述目標(biāo)動畫數(shù)據(jù)是否滿足預(yù)設(shè)的占用率播放條件;
[0006]若滿足所述占用率播放條件,則播放所述目標(biāo)動畫數(shù)據(jù);
[0007]若不滿足所述占用率播放條件,則通過定時循環(huán)檢測的方式檢測到所述目標(biāo)動畫數(shù)據(jù)滿足所述占用率播放條件時,播放所述目標(biāo)動畫數(shù)據(jù);
[0008]其中,所述占用率播放條件為所述第一處理器占用率與第二處理器占用率之和小于預(yù)設(shè)的總占用率閾值;所述第二處理器占用率是指正在同時播放的多個動畫數(shù)據(jù)分別對應(yīng)的處理器占用率的總和。
[0009 ]相應(yīng)地,本發(fā)明實(shí)施例還提供了一種動畫數(shù)據(jù)播放裝置,包括:
[0010]獲取檢測模塊,用于當(dāng)獲取到服務(wù)器發(fā)送的目標(biāo)動畫數(shù)據(jù)時,獲取所述目標(biāo)動畫數(shù)據(jù)對應(yīng)的第一處理器占用率,并根據(jù)所述第一處理器占用率檢測所述目標(biāo)動畫數(shù)據(jù)是否滿足預(yù)設(shè)的占用率播放條件;
[0011 ]條件播放模塊,用于若所述獲取檢測模塊檢測出滿足所述占用率播放條件,則播放所述目標(biāo)動畫數(shù)據(jù);
[0012]定時檢測播放模塊,用于若所述獲取檢測模塊檢測出不滿足所述占用率播放條件,則通過定時循環(huán)檢測的方式檢測到所述目標(biāo)動畫數(shù)據(jù)滿足所述占用率播放條件時,播放所述目標(biāo)動畫數(shù)據(jù);
[0013]其中,所述占用率播放條件為所述第一處理器占用率與第二處理器占用率之和小于預(yù)設(shè)的總占用率閾值;所述第二處理器占用率是指正在同時播放的多個動畫數(shù)據(jù)分別對應(yīng)的處理器占用率的總和。
[0014]本發(fā)明實(shí)施例通過獲取目標(biāo)動畫數(shù)據(jù)對應(yīng)的第一處理器占用率,可以根據(jù)第一處理器占用率檢測目標(biāo)動畫數(shù)據(jù)是否滿足預(yù)設(shè)的占用率播放條件,若滿足占用率條件,說明當(dāng)前對目標(biāo)動畫數(shù)據(jù)進(jìn)行播放的行為并不會使客戶端進(jìn)程在當(dāng)前所運(yùn)行的CPU核上的占用率變得過高,因此可以開始播放目標(biāo)動畫數(shù)據(jù);若不滿足占用率條件,說明當(dāng)前對目標(biāo)動畫數(shù)據(jù)進(jìn)行播放的行為將會使客戶端進(jìn)程在當(dāng)前所運(yùn)行的CPU核上的占用率變得過高,因此可以通過定時循環(huán)檢測的方式檢測到目標(biāo)動畫數(shù)據(jù)滿足占用率播放條件時,播放目標(biāo)動畫數(shù)據(jù),由此可見,在不滿足占用率條件時,并不會立即播放目標(biāo)動畫數(shù)據(jù),而是通過定時循環(huán)檢測的方式在后續(xù)檢測出目標(biāo)動畫數(shù)據(jù)滿足占用率條件時再播放目標(biāo)動畫數(shù)據(jù),從而使得整個動畫數(shù)據(jù)的播放過程可以始終將客戶端進(jìn)程在當(dāng)前所運(yùn)行的CPU核上的占用率控制在較低的數(shù)值范圍內(nèi),從而可以在客戶端播放動畫數(shù)據(jù)時降低CPU的運(yùn)行壓力,以保證用戶設(shè)備可以正常運(yùn)作。
【附圖說明】
[0015]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0016]圖1是本發(fā)明實(shí)施例提供的一種動畫數(shù)據(jù)播放方法的流程示意圖;
[0017]圖2是本發(fā)明實(shí)施例提供的另一種動畫數(shù)據(jù)播放方法的流程示意圖;
[0018]圖3是本發(fā)明實(shí)施例提供的一種動畫數(shù)據(jù)播放裝置的結(jié)構(gòu)示意圖;
[0019]圖4是本發(fā)明實(shí)施例提供的一種獲取檢測模塊的結(jié)構(gòu)示意圖;
[0020]圖5是本發(fā)明實(shí)施例提供的一種添加檢測單元的結(jié)構(gòu)示意圖;
[0021 ]圖6是本發(fā)明實(shí)施例提供的一種定時檢測播放模塊的結(jié)構(gòu)示意圖;
[0022]圖7是本發(fā)明實(shí)施例提供的一種數(shù)據(jù)獲取檢測單元的結(jié)構(gòu)示意圖;
[0023]圖8是本發(fā)明實(shí)施例提供的另一種動畫數(shù)據(jù)播放裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0024]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0025]請參見圖1,是本發(fā)明實(shí)施例提供的一種動畫數(shù)據(jù)播放方法的流程示意圖,所述方法可以包括:
[0026]S101,當(dāng)獲取到服務(wù)器發(fā)送的目標(biāo)動畫數(shù)據(jù)時,獲取所述目標(biāo)動畫數(shù)據(jù)對應(yīng)的第一處理器占用率;
[0027]具體的,當(dāng)觀眾客戶端向某頻道直播間內(nèi)的主播客戶端發(fā)送目標(biāo)虛擬禮物時,該頻道直播間內(nèi)的客戶端(所述客戶端可以包括該頻道直播間內(nèi)的所有觀眾客戶端和主播客戶端)可以獲取服務(wù)器發(fā)送的與所述目標(biāo)虛擬禮物對應(yīng)的目標(biāo)動畫數(shù)據(jù);其中,不同的虛擬禮物分別對應(yīng)不同動畫類型的動畫數(shù)據(jù),每種動畫類型的動畫數(shù)據(jù)都有固定的播放模式和播放位置。所述服務(wù)器在通過TCP/IP(Transmiss1n Control Protocol/InternetProtocol,傳輸控制協(xié)議/因特網(wǎng)互聯(lián)協(xié)議)協(xié)議將所述目標(biāo)動畫數(shù)據(jù)發(fā)送至所述客戶端的同時,還可以將所述目標(biāo)動畫數(shù)據(jù)對應(yīng)的第一處理器占用率也發(fā)送至所述客戶端,使得當(dāng)所述客戶端獲取到服務(wù)器發(fā)送的目標(biāo)動畫數(shù)據(jù)時,還可以一并獲取所述目標(biāo)動畫數(shù)據(jù)對應(yīng)的第一處理器占用率。其中,所述第一處理器占用率是指在播放所述目標(biāo)動畫數(shù)據(jù)時對處理器的占用率,所述第一處理器占用率是在開發(fā)過程中對所述目標(biāo)動畫數(shù)據(jù)進(jìn)行多次播放測試之后所取的平均值。例如,若當(dāng)前處理器的總體使用率為30%,所述第一處理器占用率為5%,那么當(dāng)播放所述目標(biāo)動畫數(shù)據(jù)時,處理器的總體使用率可以變?yōu)?5%。
[0028]S102,根據(jù)所述第一處理器占用率檢測所述目標(biāo)動畫數(shù)據(jù)是否滿足預(yù)設(shè)的占用率播放條件;
[0029]具體的,所述客戶端獲取到所述第一處理器占用率后,可以檢測當(dāng)前是否有在獲取時間戳之前獲取到的與所述目標(biāo)動畫數(shù)據(jù)的動畫類型相同且還未播放的動畫數(shù)據(jù),所述獲取時間戳是指從所述服務(wù)器中獲取到所述目標(biāo)動畫數(shù)據(jù)時的時間戳,若檢測出不存在,則可以根據(jù)所述第一處理器占用率進(jìn)一步檢測所述目標(biāo)動畫數(shù)據(jù)是否滿足預(yù)設(shè)的占用率播放條件,否則,需要等到所述在獲取時間戳之前獲取到的與所述目標(biāo)動畫數(shù)據(jù)的動畫類型相同且還未播放的動畫數(shù)據(jù)都被依次播放后,再根據(jù)所述第一處理器占用率進(jìn)一步檢測所述目標(biāo)動畫數(shù)據(jù)是否滿足預(yù)設(shè)的占用率播放條件,以保證相同的動畫類型的動畫數(shù)據(jù)可以依次按序播放。
[0030]其中,所述占用率播放條件為所述第一處理器占用率與第二處理器占用率之和小于預(yù)設(shè)的總占用率閾值;所述第二處理器占用率是指正在同時播放的多個動畫數(shù)據(jù)分別對應(yīng)的處理器占用率的總和;其中,同時播放的多個動畫數(shù)據(jù)的動畫類型互不相同。所述總占用率閾值可以根據(jù)業(yè)務(wù)需求進(jìn)行動態(tài)調(diào)整,當(dāng)所述總占用率閾值調(diào)高后,可以增加同時播放的動畫數(shù)據(jù)的數(shù)量;當(dāng)所述總占用率閾值調(diào)低后,可以減少同時播放的動畫數(shù)據(jù)的數(shù)量。[0031 ] S103,播放所述目標(biāo)動畫數(shù)據(jù);
[0032]具體的,當(dāng)S102步驟檢測所述目標(biāo)動畫數(shù)據(jù)滿足預(yù)設(shè)的占用率播放條件時,說明所述第一處理器占用率與第二處理器占用率之和小于所述總占用率閾值,即說明CPU的總體使用率仍處于較低的數(shù)值范圍內(nèi),此時,可以播放所述目標(biāo)動畫數(shù)據(jù)。
[0033]S104,通過定時循環(huán)檢測的方式檢測到所述目標(biāo)動畫數(shù)據(jù)滿足所述占用率播放條件時,播放所述目標(biāo)動畫數(shù)據(jù);
[0034]具體的,當(dāng)S102步驟檢測所述目標(biāo)動畫數(shù)據(jù)不滿足所述占用率播放條件時,說明所述第一處理器占用率與第二處理器占用率之和等于或大于所述總占用率閾值,即說明將會導(dǎo)致CPU的總體使用率偏高,此時,暫時不對所述目標(biāo)動畫數(shù)據(jù)進(jìn)行播放,并通過定時循環(huán)檢測的方式定期檢測所述目標(biāo)動畫數(shù)據(jù)是否滿足所述占用率播放條件,如每隔3秒檢測一次所述目標(biāo)動畫數(shù)據(jù)是否滿足所述占用率播放條件,由于在經(jīng)過一段時間后,同時播放的多個動畫數(shù)據(jù)的數(shù)量可能會減少,此時,通過所述定時循環(huán)檢測的方式可以檢測到所述目標(biāo)動畫數(shù)據(jù)滿足所述占用率播放條件,從而可以在此時播放所述目標(biāo)動畫數(shù)據(jù),同時并通過所述定時循環(huán)檢測的方式對另一種動畫類型中的未能立即播放的動畫數(shù)據(jù)進(jìn)行定期檢測,以實(shí)現(xiàn)對所有未能立即播放的動畫數(shù)據(jù)可以循環(huán)定期檢測。例如,有兩個動畫類型相同的動畫數(shù)據(jù),分別為A和B,當(dāng)A被播放完,即可對檢測B是否滿足所述占用率播放條件,若滿足,則立即播放B;若不滿足,則通過定時循環(huán)檢測的方式檢測到B滿足所述占用率播放條件時,再播放B,以保證在播放B時始終將客戶端進(jìn)程在當(dāng)前所運(yùn)行的CPU核上的占用率控制在較低的數(shù)值范圍內(nèi)。
[0035]本發(fā)明實(shí)施例通過獲取目標(biāo)