一種基于視頻流播放狀態(tài)的白名單生成系統(tǒng)及方法
【專利摘要】一種基于視頻流播放狀態(tài)的白名單生成系統(tǒng)及方法,涉及視頻直播的白名單領(lǐng)域,包括:客戶端播放器,用于并實時向數(shù)據(jù)緩存模塊上報視頻流的播放狀態(tài)信息;數(shù)據(jù)緩存模塊,用于實時緩存符合格式要求的播放狀態(tài)信息,并對緩存的數(shù)據(jù)進(jìn)行數(shù)據(jù)片劃分;計算模塊,包括多個計算單元,每個計算單元用于實時接收劃分后的數(shù)據(jù)片,并對播放狀態(tài)信息進(jìn)行驗證;白名單模塊,用于接收驗證成功的播放狀態(tài)信息,并將其對應(yīng)的用戶信息以白名單分片的形式存儲。本發(fā)明根據(jù)視頻流的播放狀態(tài)生成白名單,保證白名單的及時性,提高白名單的精準(zhǔn)度,提高用戶體驗。
【專利說明】
-種基于視頻流播放狀態(tài)的白名單生成系統(tǒng)及方法
技術(shù)領(lǐng)域
[0001 ]本發(fā)明設(shè)及視頻直播的白名單領(lǐng)域,具體來講設(shè)及一種基于視頻流播放狀態(tài)的白 名單生成系統(tǒng)及方法。
【背景技術(shù)】
[0002] 目前,視頻直播網(wǎng)站生成白名單的方法主要基于之前的用戶數(shù)據(jù),按時間周期 (天、周、月)定期計算,計算需要按照指定規(guī)則實現(xiàn)代碼邏輯,運(yùn)樣沒辦法保證白名單的及 時性。并且在視頻直播網(wǎng)站的業(yè)務(wù)場景中,很多直播間主播在發(fā)起互動活動或者網(wǎng)站在發(fā) 起專題活動時,需要只針對觀看當(dāng)前直播間的活躍用戶或者在網(wǎng)站上活躍的用戶,運(yùn)時,離 線計算的白名單在精準(zhǔn)度上會顯得不足,容易讓符合白名單條件,卻在白名單之外的用戶 受到限制,影響用戶體驗。
【發(fā)明內(nèi)容】
[0003] 針對現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明的目的在于提供一種基于視頻流播放狀態(tài)的 白名單生成系統(tǒng)及方法,根據(jù)視頻流的播放狀態(tài)生成白名單,保證白名單的及時性,提高白 名單的精準(zhǔn)度,提高用戶體驗。
[0004] 為達(dá)到W上目的,本發(fā)明采取一種基于視頻流播放狀態(tài)的白名單生成系統(tǒng),包括: 客戶端播放器,用于對用戶進(jìn)行視頻直播,并實時向數(shù)據(jù)緩存模塊上報視頻流的播放狀態(tài) 信息;數(shù)據(jù)緩存模塊,用于實時緩存符合格式要求的播放狀態(tài)信息,并對緩存的數(shù)據(jù)進(jìn)行數(shù) 據(jù)片劃分;計算模塊,包括多個計算單元,每個計算單元用于實時接收劃分后的數(shù)據(jù)片,并 對播放狀態(tài)信息進(jìn)行驗證;白名單模塊,用于接收驗證成功的播放狀態(tài)信息,并將其對應(yīng)的 用戶信息W白名單分片的形式存儲。
[0005] 在上述技術(shù)方案的基礎(chǔ)上,所述播放狀態(tài)信息包括視頻流狀態(tài)、用戶ID和用戶對 應(yīng)的識別碼;視頻流狀態(tài)包括視頻流播放、視頻流緩沖區(qū)滿、視頻流緩沖區(qū)空、W及視頻播 放關(guān)閉。
[0006] 在上述技術(shù)方案的基礎(chǔ)上,所述識別碼包括時間戳、客戶端播放器ID和隨機(jī)數(shù),所 述識別碼是固定長度,并且加密。
[0007] 在上述技術(shù)方案的基礎(chǔ)上,數(shù)據(jù)緩存模塊中劃分的數(shù)據(jù)片,其劃分的時間粒度為1 秒,且每個數(shù)據(jù)片都小于或等于1MB。
[000引在上述技術(shù)方案的基礎(chǔ)上,計算模塊為每個數(shù)據(jù)片分配一個數(shù)據(jù)片ID,將數(shù)據(jù)片 ID按照哈希化Sh算法取余,并將余數(shù)相同的數(shù)據(jù)片存放在同一個計算單元中。
[0009] 在上述技術(shù)方案的基礎(chǔ)上,每個計算單元驗證內(nèi)部的數(shù)據(jù)片,在視頻流狀態(tài)符合 正常播放,并且識別碼重新驗證正確后,將對應(yīng)的播放狀態(tài)信息提交到白名單模塊用于更 新。
[0010] 本發(fā)明還提供一種基于所述系統(tǒng)的視頻流播放狀態(tài)的白名單生成方法,包括步 驟:
[0011] SI.客戶端播放器實時向數(shù)據(jù)緩存模塊上報視頻流的播放狀態(tài)信息,播放狀態(tài)信 息包括視頻流狀態(tài)、用戶ID和用戶對應(yīng)的識別碼;
[0012] S2.數(shù)據(jù)緩存模塊緩存符合格式要求的播放狀態(tài)信息;
[0013] S3.數(shù)據(jù)緩存模塊按照時間粒度1秒將緩存的數(shù)據(jù)分片,再將分片后大于IMB的數(shù) 據(jù)按照每片IMB再次分片,剩余不足IMB的數(shù)據(jù)分為一個數(shù)據(jù)片,并將分好的數(shù)據(jù)片傳給計 算模塊;
[0014] S4.計算模塊為每個數(shù)據(jù)片分配一個數(shù)據(jù)片ID,將數(shù)據(jù)片ID按照化Sh算法取余,并 將余數(shù)相同的數(shù)據(jù)片分到一個計算單元中;
[0015] S5.每個計算單元判斷其內(nèi)部數(shù)據(jù)片中視頻流狀態(tài)符合正常播放時,再次校驗識 別碼,識別碼校驗成功,將對應(yīng)的播放狀態(tài)信息發(fā)送到白名單模塊;
[0016] S6.白名單模塊將播放狀態(tài)對應(yīng)的用戶,更新到白名單分片。
[0017] 在上述技術(shù)方案的基礎(chǔ)上,所述識別碼包括時間戳、客戶端播放器ID和隨機(jī)數(shù),所 述識別碼是固定長度,并且加密;步驟S4中,識別碼校驗時需要解密。
[0018] 在上述技術(shù)方案的基礎(chǔ)上,所述視頻流狀態(tài)包括視頻流播放、視頻流緩沖區(qū)滿、視 頻流緩沖區(qū)空、W及視頻播放關(guān)閉。
[0019] 在上述技術(shù)方案的基礎(chǔ)上,S5中,視頻流狀態(tài)符合正常播放的特征為,首先有視頻 流播放,其次視頻流緩沖區(qū)滿或視頻流緩沖區(qū)空二者交替出現(xiàn),或者其次只有視頻流緩沖 區(qū)滿或視頻流緩沖區(qū)空出現(xiàn)。
[0020] 本發(fā)明的有益效果在于:通過視頻流的播放狀態(tài)實時生成白名單,可W在用戶觀 看直播的過程中,實時獲取到用戶的觀看狀態(tài),保證白名單的及時性,運(yùn)樣生成的白名單能 精準(zhǔn)確定當(dāng)前用戶的活躍狀態(tài),進(jìn)而能保證參加互動的用戶均為有效的活躍用戶,同時也 提高了用戶的體驗。
【附圖說明】
[0021] 圖1為本發(fā)明實施例基于視頻流播放狀態(tài)的白名單生成系統(tǒng)的框圖;
[0022] 圖2為本發(fā)明實施例基于視頻流播放狀態(tài)的白名單生成方法的流程圖。
【具體實施方式】
[0023] W下結(jié)合附圖及實施例對本發(fā)明作進(jìn)一步詳細(xì)說明。
[0024] 如圖1所示,本發(fā)明基于視頻流播放狀態(tài)的白名單生成系統(tǒng),包括:客戶端播放器、 數(shù)據(jù)緩存模塊、計算模塊和白名單模塊。
[0025] 客戶端播放器用于對用戶進(jìn)行視頻直播,并實時向數(shù)據(jù)緩存模塊上報視頻流的播 放狀態(tài)信息。其中,播放狀態(tài)信息包括視頻流狀態(tài)、用戶ID和用戶對應(yīng)的識別碼,用戶ID是 每個用戶唯一性的ID。視頻流狀態(tài)包括視頻流播放PLAY、視頻流緩沖區(qū)滿Buffer.Full、視 頻流緩沖區(qū)空Buf f er. Emp ty、W及視頻播放關(guān)閉Close;其中Buffer.Full時,用戶看視頻流 楊;Buffer.Empty時,用戶看視頻卡頓。所述識別碼的生成規(guī)則是:時間戳+客戶端播放器ID +隨機(jī)數(shù),其中客戶端播放ID是客戶端播放器的唯一 ID,并且識別碼是固定長度,而且加密。
[0026] 數(shù)據(jù)緩存模塊,用于實時緩存符合格式要求的播放狀態(tài)信息,丟棄不符合格式要 求的播放狀態(tài)信息,例如:視頻流狀態(tài)非法、用戶ID為空或者不符合數(shù)據(jù)字段類型、時間戳 格式不對、客戶端類型標(biāo)識非法等。數(shù)據(jù)緩存模塊對于播放狀態(tài)信息進(jìn)行預(yù)處理,預(yù)處理后 的數(shù)據(jù)格式如下:
[0027]
[0028] 數(shù)據(jù)緩存模塊,還用于對緩存的數(shù)據(jù)進(jìn)行數(shù)據(jù)片劃分。其中,按照時間粒度1秒分 片,分片后如果有大于IMB的數(shù)據(jù),按照每片IMB再次分片,剩余不足IMB的分為一個數(shù)據(jù)片, 并將分好的數(shù)據(jù)片傳給計算模塊。
[0029] 計算模塊包括多個計算單元,每個計算單元用于實時接收劃分后的數(shù)據(jù)片。具體 的,每個數(shù)據(jù)片存儲到指定的計算單元,計算模塊為每個數(shù)據(jù)片分配一個數(shù)據(jù)片ID,將數(shù)據(jù) 片ID按照哈?;疭h算法取余,并將余數(shù)相同的數(shù)據(jù)片存放在同一個計算單元中。除此之外, 計算單元還用于對播放狀態(tài)信息進(jìn)行驗證,驗證其內(nèi)部的數(shù)據(jù)片,在視頻流狀態(tài)符合正常 播放,并且識別碼重新驗證正確后,將對應(yīng)的播放狀態(tài)信息提交到白名單模塊用于更新。
[0030] 白名單模塊,用于接收驗證成功的播放狀態(tài)信息,并將其對應(yīng)的用戶信息W白名 單分片的形式存儲。
[0031] 如圖2所示,本發(fā)明基于視頻流播放狀態(tài)的白名單生成方法,具體包括如下步驟:
[0032] SI.客戶端播放器實時向數(shù)據(jù)緩存模塊上報視頻流的播放狀態(tài)信息,播放狀態(tài)信 息包括視頻流狀態(tài)、用戶ID和用戶對應(yīng)的識別碼。其中,視頻流狀態(tài)包括視頻流播放PLAY、 視頻流緩沖區(qū)滿Buf f er.化11、視頻流緩沖區(qū)空Buf f er. Emp ty、W及視頻播放關(guān)閉C10 Se;識 別碼包括時間戳、客戶端播放器ID和隨機(jī)數(shù),所述識別碼是固定長度,并且對識別碼進(jìn)行加 密處理。
[0033] S2.數(shù)據(jù)緩存模塊緩存符合格式要求的播放狀態(tài)信息。具體的,數(shù)據(jù)緩存模塊對各 種客戶端播放器上報的視頻流的播放狀態(tài)信息,進(jìn)行緩存并預(yù)處理,預(yù)處理時,丟棄不符合 格式要求的播放狀態(tài)信息。不符合格式要求的情況包括:視頻流狀態(tài)值非法、客戶端播放器 ID為空或者不符合數(shù)據(jù)字段類型、時間戳格式不對、客戶端類型標(biāo)識非法等。
[0034] S3.數(shù)據(jù)緩存模塊對緩存的數(shù)據(jù),首先按照時間粒度1秒分片,分片后,對于大于 IMB的數(shù)據(jù),按照每片IMB再次分片,剩余不足IMB的單獨(dú)分為一個數(shù)據(jù)片,保證每個數(shù)據(jù)片 都小于或等于1MB,其中包含至少一條播放狀態(tài)信息,并將分好的數(shù)據(jù)片傳給計算模塊。
[0035] S4.對于提交到計算模塊的數(shù)據(jù)片,計算模塊為每個數(shù)據(jù)片分配一個數(shù)據(jù)片ID,并 將數(shù)據(jù)片ID按照化Sh算法取余,然后將余數(shù)相同的數(shù)據(jù)片分到一個計算單元中。并且,對計 算單元的個數(shù)N取模,獲得計算單元ID,運(yùn)樣即可得知哪些數(shù)據(jù)片分到哪個計算單元中,提 高計算單元的水平擴(kuò)展能力,根據(jù)數(shù)據(jù)量的規(guī)模來相應(yīng)增減計算單元。
[0036] S5.計算單元對每個數(shù)據(jù)片中視頻流狀態(tài)進(jìn)行判斷,判斷其是否符合正常播放的 特征,若是,進(jìn)一步進(jìn)行識別碼校驗;若否,立即結(jié)束該數(shù)據(jù)片的處理。具體的,視頻流狀態(tài) 符合正常播放的特征為:首先必須有化AY;其次Buffer. Full或Buffer. Empty二者交替出 現(xiàn),或者其次只有Buf f er.化11或Buf f er. Empty其一出現(xiàn)。
[0037] 校驗識別碼時,先要對識別碼解密,然后取出時間戳和客戶端播放器ID,判斷時間 戳與當(dāng)前服務(wù)器的時間偏差是否在1分鐘之內(nèi),若是,則認(rèn)為時間戳合理;若否,時間戳不合 理,識別碼校驗失敗。在時間戳合理的基礎(chǔ)上,校驗客戶端播放器ID是否符合規(guī)范,若是,識 別碼校驗成功;若否,識別碼校驗失敗。然后將識別碼校驗成功的播放狀態(tài)信息發(fā)送到白名 單模塊。
[0038] S6.白名單模塊將播放狀態(tài)對應(yīng)的用戶,更新到白名單分片(白名單按用戶ID分片 存儲)。另外,白名單會通過Restful接口或者RPC(Remote Procedure化11 Protocol,遠(yuǎn)程 過程調(diào)用協(xié)議)接口形式,暴露給其他應(yīng)用使用?;诖税酌麊?,可W在多個重要場景中過 濾無效用戶賬號(即白名單之外的賬號)。
[0039] 本發(fā)明不局限于上述實施方式,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離 本發(fā)明原理的前提下,還可W做出若干改進(jìn)和潤飾,運(yùn)些改進(jìn)和潤飾也視為本發(fā)明的保護(hù) 范圍之內(nèi)。本說明書中未作詳細(xì)描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員公知的現(xiàn)有技術(shù)。
【主權(quán)項】
1. 一種基于視頻流播放狀態(tài)的白名單生成系統(tǒng),其特征在于,包括: 客戶端播放器,用于對用戶進(jìn)行視頻直播,并實時向數(shù)據(jù)緩存模塊上報視頻流的播放 狀態(tài)信息; 數(shù)據(jù)緩存模塊,用于實時緩存符合格式要求的播放狀態(tài)信息,并對緩存的數(shù)據(jù)進(jìn)行數(shù) 據(jù)片劃分; 計算模塊,包括多個計算單元,每個計算單元用于實時接收劃分后的數(shù)據(jù)片,并對播放 狀態(tài)信息進(jìn)行驗證; 白名單模塊,用于接收驗證成功的播放狀態(tài)信息,并將其對應(yīng)的用戶信息以白名單分 片的形式存儲。2. 如權(quán)利要求1所述的基于視頻流播放狀態(tài)的白名單生成系統(tǒng),其特征在于:所述播放 狀態(tài)信息包括視頻流狀態(tài)、用戶ID和用戶對應(yīng)的識別碼;視頻流狀態(tài)包括視頻流播放、視頻 流緩沖區(qū)滿、視頻流緩沖區(qū)空、以及視頻播放關(guān)閉。3. 如權(quán)利要求2所述的基于視頻流播放狀態(tài)的白名單生成系統(tǒng),其特征在于:所述識別 碼包括時間戳、客戶端播放器ID和隨機(jī)數(shù),所述識別碼是固定長度,并且加密。4. 如權(quán)利要求2所述的基于視頻流播放狀態(tài)的白名單生成系統(tǒng),其特征在于:數(shù)據(jù)緩存 模塊中劃分的數(shù)據(jù)片,其劃分的時間粒度為1秒,且每個數(shù)據(jù)片都小于或等于1MB。5. 如權(quán)利要求4所述的基于視頻流播放狀態(tài)的白名單生成系統(tǒng),其特征在于:計算模塊 為每個數(shù)據(jù)片分配一個數(shù)據(jù)片ID,將數(shù)據(jù)片ID按照哈希Hash算法取余,并將余數(shù)相同的數(shù) 據(jù)片存放在同一個計算單元中。6. 如權(quán)利要求5所述的基于視頻流播放狀態(tài)的白名單生成系統(tǒng),其特征在于:每個計算 單元驗證內(nèi)部的數(shù)據(jù)片,在視頻流狀態(tài)符合正常播放,并且識別碼重新驗證正確后,將對應(yīng) 的播放狀態(tài)信息提交到白名單模塊用于更新。7. -種基于權(quán)利要求1所述系統(tǒng)的視頻流播放狀態(tài)的白名單生成方法,其特征在于,包 括步驟:51. 客戶端播放器實時向數(shù)據(jù)緩存模塊上報視頻流的播放狀態(tài)信息,播放狀態(tài)信息包 括視頻流狀態(tài)、用戶ID和用戶對應(yīng)的識別碼;52. 數(shù)據(jù)緩存模塊緩存符合格式要求的播放狀態(tài)信息;53. 數(shù)據(jù)緩存模塊按照時間粒度1秒將緩存的數(shù)據(jù)分片,再將分片后大于1MB的數(shù)據(jù)按 照每片1MB再次分片,剩余不足1MB的數(shù)據(jù)分為一個數(shù)據(jù)片,并將分好的數(shù)據(jù)片傳給計算模 塊;54. 計算模塊為每個數(shù)據(jù)片分配一個數(shù)據(jù)片ID,將數(shù)據(jù)片ID按照Hash算法取余,并將余 數(shù)相同的數(shù)據(jù)片分到一個計算單元中;55. 每個計算單元判斷其內(nèi)部數(shù)據(jù)片中視頻流狀態(tài)符合正常播放時,再次校驗識別碼, 識別碼校驗成功,將對應(yīng)的播放狀態(tài)信息發(fā)送到白名單模塊;56. 白名單模塊將播放狀態(tài)對應(yīng)的用戶,更新到白名單分片。8. 如權(quán)利要求7所述的視頻流播放狀態(tài)的白名單生成方法,其特征在于:所述識別碼包 括時間戳、客戶端播放器ID和隨機(jī)數(shù),所述識別碼是固定長度,并且加密;步驟S4中,識別碼 校驗時需要解密。9. 如權(quán)利要求7所述的視頻流播放狀態(tài)的白名單生成方法,其特征在于:所述視頻流狀 態(tài)包括視頻流播放、視頻流緩沖區(qū)滿、視頻流緩沖區(qū)空、以及視頻播放關(guān)閉。10.如權(quán)利要求9所述的視頻流播放狀態(tài)的白名單生成方法,其特征在于:S5中,視頻流 狀態(tài)符合正常播放的特征為,首先有視頻流播放,其次視頻流緩沖區(qū)滿或視頻流緩沖區(qū)空 二者交替出現(xiàn),或者其次只有視頻流緩沖區(qū)滿或視頻流緩沖區(qū)空出現(xiàn)。
【文檔編號】H04N21/254GK105847885SQ201610352928
【公開日】2016年8月10日
【申請日】2016年5月25日
【發(fā)明人】吳瑞誠
【申請人】武漢斗魚網(wǎng)絡(luò)科技有限公司