本發(fā)明涉及通信技術(shù)領(lǐng)域,特別涉及一種網(wǎng)絡(luò)直播數(shù)據(jù)上報(bào)方法及裝置。
背景技術(shù):
為了持續(xù)地改進(jìn)產(chǎn)品的體驗(yàn)指標(biāo)以及為產(chǎn)品精細(xì)化運(yùn)營決策提供精準(zhǔn)的數(shù)據(jù)支持,網(wǎng)絡(luò)直播客戶端軟件通常都會向服務(wù)器上報(bào)一些相對有價(jià)值的用戶行為數(shù)據(jù),這一過程通常我們稱為數(shù)據(jù)統(tǒng)計(jì)。
然而隨著網(wǎng)絡(luò)直播的全面發(fā)展,用戶行為數(shù)據(jù)的種類和數(shù)據(jù)量呈現(xiàn)爆發(fā)式的增長,現(xiàn)行的處理手段往往是依靠不同種類的數(shù)據(jù)收集統(tǒng)計(jì)系統(tǒng)進(jìn)行針對性收集,各個(gè)系統(tǒng)各有關(guān)注點(diǎn),例如關(guān)注用戶行為類上報(bào)、關(guān)注質(zhì)量統(tǒng)計(jì)類上報(bào)系統(tǒng)、關(guān)注業(yè)務(wù)邏輯類上報(bào)數(shù)據(jù)等。這樣將存在一些問題,多種上報(bào)數(shù)據(jù)類型也就要求服務(wù)器側(cè)需要有對應(yīng)的多種數(shù)據(jù)接收端,因此導(dǎo)致服務(wù)器側(cè)缺乏統(tǒng)一的接收端,或者需要使用不同的服務(wù)器進(jìn)行接收,這無疑增加了網(wǎng)絡(luò)服務(wù)提供者的設(shè)備負(fù)擔(dān),長期存在大量類似的數(shù)據(jù)統(tǒng)計(jì)系統(tǒng),會產(chǎn)生一定程度資源的浪費(fèi);此外,隨著時(shí)間的推移和應(yīng)用的擴(kuò)展,幾個(gè)系統(tǒng)統(tǒng)計(jì)內(nèi)容未來可能出現(xiàn)上報(bào)信息冗余。
技術(shù)實(shí)現(xiàn)要素:
基于此,有必要針對上述提到的問題,提供一種網(wǎng)絡(luò)直播數(shù)據(jù)上報(bào)方法及設(shè)備。
一種網(wǎng)絡(luò)直播數(shù)據(jù)上報(bào)方法,包括:
獲取網(wǎng)絡(luò)直播應(yīng)用產(chǎn)生的上報(bào)數(shù)據(jù);
識別所述上報(bào)數(shù)據(jù)的業(yè)務(wù)類型和上報(bào)類型,根據(jù)業(yè)務(wù)類型和上報(bào)類型對上報(bào)數(shù)據(jù)進(jìn)行分類;其中,業(yè)務(wù)類型對應(yīng)上報(bào)格式,上報(bào)類型對應(yīng)上報(bào)策略;
對同一類上報(bào)數(shù)據(jù),根據(jù)該類上報(bào)數(shù)據(jù)的上報(bào)策略,按該類上報(bào)數(shù)據(jù)的上報(bào)格式將上報(bào)數(shù)據(jù)封裝為數(shù)據(jù)包,上報(bào)所述數(shù)據(jù)包。
在其中一個(gè)實(shí)施例中,所述業(yè)務(wù)類型包括關(guān)注用戶行為類型、關(guān)注質(zhì)量統(tǒng)計(jì)類上報(bào)類型、關(guān)注業(yè)務(wù)邏輯類型;
關(guān)注用戶行為類型對應(yīng)類型長度值格式,關(guān)注質(zhì)量統(tǒng)計(jì)類上報(bào)類型對應(yīng)第一預(yù)定格式,關(guān)注業(yè)務(wù)邏輯類型對應(yīng)第二預(yù)定格式。
在其中一個(gè)實(shí)施例中,所述上報(bào)類型包括點(diǎn)擊上報(bào)類型、狀態(tài)上報(bào)類型、時(shí)長上報(bào)類型、性能類上報(bào)類型、業(yè)務(wù)邏輯類上報(bào)類型;
點(diǎn)擊上報(bào)類型對應(yīng)動(dòng)態(tài)間隔時(shí)長周期上報(bào)策略,狀態(tài)上報(bào)類型對應(yīng)網(wǎng)絡(luò)直播應(yīng)用登錄后預(yù)定時(shí)長上傳策略,時(shí)長上報(bào)類型對應(yīng)固定間隔時(shí)長周期上報(bào)策略,性能類上報(bào)類型對應(yīng)網(wǎng)絡(luò)直播應(yīng)用退出時(shí)上報(bào)策略,業(yè)務(wù)邏輯類上報(bào)類型對應(yīng)約定間隔時(shí)長周期上報(bào)策略。
在其中一個(gè)實(shí)施例中,對同一類上報(bào)數(shù)據(jù),根據(jù)該類上報(bào)數(shù)據(jù)的上報(bào)策略,按該類上報(bào)數(shù)據(jù)的上報(bào)格式將上報(bào)數(shù)據(jù)封裝為數(shù)據(jù)包,上報(bào)所述數(shù)據(jù)包,包括:
對業(yè)務(wù)類型和上報(bào)類型分別為關(guān)注用戶行為類型和點(diǎn)擊上報(bào)類型的同一類上報(bào)數(shù)據(jù),根據(jù)動(dòng)態(tài)間隔時(shí)長周期上報(bào)策略,確定本次上報(bào)間隔時(shí)長到達(dá)時(shí),按類型長度值格式將上報(bào)數(shù)據(jù)封裝為數(shù)據(jù)包,上報(bào)所述數(shù)據(jù)包;
若剩余的該類上報(bào)數(shù)據(jù)大于標(biāo)配數(shù)據(jù)量,減少下一次的上報(bào)間隔時(shí)長;若剩余的該類上報(bào)數(shù)據(jù)小于標(biāo)配數(shù)據(jù)量,增加下一次的上報(bào)間隔時(shí)長。
進(jìn)一步的,所述按類型長度值格式把上報(bào)數(shù)據(jù)封裝為數(shù)據(jù)包,上報(bào)所述數(shù)據(jù)包,包括:
獲取預(yù)置大小的上報(bào)數(shù)據(jù),按類型長度值格式,將上報(bào)數(shù)據(jù)封裝為一個(gè)預(yù)置包長度的數(shù)據(jù)包,上報(bào)所述一個(gè)預(yù)置包長度的數(shù)據(jù)包。
進(jìn)一步的,所述標(biāo)配數(shù)據(jù)量為預(yù)置數(shù)值范圍中的一個(gè)取值。
進(jìn)一步的,所述減少下一次的上報(bào)間隔時(shí)長之前,還包括,確定本次上報(bào)間隔大于最小時(shí)長閾值;所述增加下一次的上報(bào)間隔時(shí)長之前,還包括,確定本次上報(bào)間隔小于最大時(shí)長閾值。
在其中一個(gè)實(shí)施例中,上報(bào)所述數(shù)據(jù)包之前,還包括:對數(shù)據(jù)包進(jìn)行加密。
在其中一個(gè)實(shí)施例中,所述上報(bào)所述數(shù)據(jù)包的具體步驟包括:
對所述數(shù)據(jù)包進(jìn)行對稱加密;
將在對稱加密過程中產(chǎn)生的解密密鑰進(jìn)行非對稱加密,得到加密后的解密密鑰;
將所述加密后的數(shù)據(jù)包和加密后的解密密鑰一起上報(bào)到服務(wù)器。
本發(fā)明同時(shí)還相應(yīng)提供了一種數(shù)據(jù)上報(bào)裝置,包括:
獲取模塊,用于獲取網(wǎng)絡(luò)直播應(yīng)用產(chǎn)生的上報(bào)數(shù)據(jù);
分類模塊,用于識別所述上報(bào)數(shù)據(jù)的業(yè)務(wù)類型和上報(bào)類型,根據(jù)業(yè)務(wù)類型和上報(bào)類型對上報(bào)數(shù)據(jù)進(jìn)行分類;其中,業(yè)務(wù)類型對應(yīng)上報(bào)格式,上報(bào)類型對應(yīng)上報(bào)策略;
上報(bào)模塊,用于對同一類上報(bào)數(shù)據(jù),根據(jù)該類上報(bào)數(shù)據(jù)的上報(bào)策略,按該類上報(bào)數(shù)據(jù)的上報(bào)格式將上報(bào)數(shù)據(jù)封裝為數(shù)據(jù)包,上報(bào)所述數(shù)據(jù)包。
本發(fā)明提供的網(wǎng)絡(luò)直播數(shù)據(jù)上報(bào)方法根據(jù)上報(bào)數(shù)據(jù)的業(yè)務(wù)類型和上報(bào)類型對數(shù)據(jù)進(jìn)行分類并分別制定上報(bào)格式和上報(bào)策略,實(shí)現(xiàn)網(wǎng)絡(luò)直播數(shù)據(jù)的安全穩(wěn)定上報(bào)和單系統(tǒng)統(tǒng)一接收、存儲和上報(bào),在確保數(shù)據(jù)上報(bào)安全性和穩(wěn)定性的同時(shí),提高了數(shù)據(jù)上報(bào)的效率。
附圖說明
圖1為本發(fā)明一實(shí)施例中網(wǎng)絡(luò)直播數(shù)據(jù)上報(bào)方法流程圖;
圖2為本發(fā)明一實(shí)施例中步驟s300方法流程圖;
圖3為本發(fā)明一實(shí)施例中數(shù)據(jù)上報(bào)裝置結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能解釋為對本發(fā)明的限制。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非特意聲明,這里使用的單數(shù)形式“一”、“一個(gè)”、“所述”和“該”也可包括復(fù)數(shù)形式。應(yīng)該進(jìn)一步理解的是,本發(fā)明的說明書中使用的措辭“包括”是指存在所述特征、整數(shù)、步驟、操作、元件和/或組件,但是并不排除存在或添加一個(gè)或多個(gè)其他特征、整數(shù)、步驟、操作、元件、組件和/或它們的組。應(yīng)該理解,當(dāng)我們稱元件被“連接”或“耦接”到另一元件時(shí),它可以直接連接或耦接到其他元件,或者也可以存在中間元件。此外,這里使用的“連接”或“耦接”可以包括無線連接或無線耦接。這里使用的措辭“和/或”包括一個(gè)或更多個(gè)相關(guān)聯(lián)的列出項(xiàng)的全部或任一單元和全部組合。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非另外定義,這里使用的所有術(shù)語(包括技術(shù)術(shù)語和科學(xué)術(shù)語),具有與本發(fā)明所屬領(lǐng)域中的普通技術(shù)人員的一般理解相同的意義。還應(yīng)該理解的是,諸如通用字典中定義的那些術(shù)語,應(yīng)該被理解為具有與現(xiàn)有技術(shù)的上下文中的意義一致的意義,并且除非像這里一樣被特定定義,否則不會用理想化或過于正式的含義來解釋。
本發(fā)明一實(shí)施例提供的網(wǎng)絡(luò)直播數(shù)據(jù)上報(bào)方法,如圖1所示,包括的步驟有:
步驟s100:獲取網(wǎng)絡(luò)直播應(yīng)用產(chǎn)生的上報(bào)數(shù)據(jù)。
步驟s200:識別所述上報(bào)數(shù)據(jù)的業(yè)務(wù)類型和上報(bào)類型,根據(jù)業(yè)務(wù)類型和上報(bào)類型對上報(bào)數(shù)據(jù)進(jìn)行分類,其中,業(yè)務(wù)類型對應(yīng)上報(bào)格式,上報(bào)類型對應(yīng)上報(bào)策略。
步驟s300:對同一類上報(bào)數(shù)據(jù),根據(jù)該類上報(bào)數(shù)據(jù)的上報(bào)策略,按該類上報(bào)數(shù)據(jù)的上報(bào)格式將上報(bào)數(shù)據(jù)封裝為數(shù)據(jù)包,上報(bào)該數(shù)據(jù)包。
上述網(wǎng)絡(luò)直播數(shù)據(jù)上報(bào)方法根據(jù)上報(bào)數(shù)據(jù)的業(yè)務(wù)類型和上報(bào)類型對數(shù)據(jù)進(jìn)行分類并分別制定上報(bào)格式和上報(bào)策略,實(shí)現(xiàn)網(wǎng)絡(luò)直播數(shù)據(jù)的安全穩(wěn)定上報(bào)和單系統(tǒng)統(tǒng)一接收、存儲和上報(bào),在確保數(shù)據(jù)上報(bào)安全性和穩(wěn)定性的同時(shí),提高了數(shù)據(jù)上報(bào)的效率。由此,避免了面對多種上報(bào)數(shù)據(jù)類型要求時(shí),服務(wù)器側(cè)需要有對應(yīng)的多種數(shù)據(jù)接收端而導(dǎo)致網(wǎng)絡(luò)服務(wù)提供者的設(shè)備負(fù)擔(dān)增加的問題,由于服務(wù)器側(cè)使用統(tǒng)一的接收端,免于長期存在大量類似的數(shù)據(jù)統(tǒng)計(jì)系統(tǒng),從而避免了資源浪費(fèi)。此外,通過統(tǒng)一的接收分類和處理,大大降低了幾個(gè)系統(tǒng)統(tǒng)計(jì)內(nèi)容未來出現(xiàn)上報(bào)信息冗余的可能性。
對于步驟s100,用戶在網(wǎng)絡(luò)直播應(yīng)用客戶端會進(jìn)行各種操作,例如點(diǎn)擊、登錄、隱身、停留時(shí)長等,這些操作動(dòng)作一旦產(chǎn)生,就會相應(yīng)生成操作數(shù)據(jù),根據(jù)預(yù)先設(shè)定的統(tǒng)計(jì)要求,采集需要統(tǒng)計(jì)分析的操作數(shù)據(jù),系統(tǒng)將這些操作數(shù)據(jù)作為上報(bào)數(shù)據(jù)進(jìn)行上報(bào)。
在步驟s200中,首先將通過步驟s100獲取到的上報(bào)數(shù)據(jù)進(jìn)行屬性分析,識別出該上報(bào)數(shù)據(jù)的業(yè)務(wù)類型和上報(bào)類型。由于上報(bào)數(shù)據(jù)中往往包含多項(xiàng)操作數(shù)據(jù),也即上報(bào)數(shù)據(jù)的種類并非唯一,要實(shí)現(xiàn)單系統(tǒng)接收多種類數(shù)據(jù),再對上報(bào)接收的數(shù)據(jù)分類進(jìn)行相應(yīng)統(tǒng)計(jì),必須先為匯集在一起的每一種操作數(shù)據(jù)確定好業(yè)務(wù)類型和上報(bào)類型,使得接收該上報(bào)數(shù)據(jù)的服務(wù)器能夠?qū)?yīng)識別和分析。上報(bào)數(shù)據(jù)中的業(yè)務(wù)類型對應(yīng)數(shù)據(jù)上報(bào)格式,而上報(bào)類型則對應(yīng)上報(bào)策略,在統(tǒng)一收集的上報(bào)數(shù)據(jù)中,逐一識別出每項(xiàng)數(shù)據(jù)對應(yīng)的業(yè)務(wù)類型和上報(bào)類型,根據(jù)業(yè)務(wù)類型和上報(bào)類型對上報(bào)數(shù)據(jù)進(jìn)行分類,也為即將進(jìn)行的數(shù)據(jù)上報(bào)確定好上報(bào)的格式和策略。其中,業(yè)務(wù)類型包括關(guān)注用戶行為類型、關(guān)注質(zhì)量統(tǒng)計(jì)類上報(bào)類型、關(guān)注業(yè)務(wù)邏輯類型等,關(guān)注用戶行為類型對應(yīng)類型長度值格式(tlv),關(guān)注質(zhì)量統(tǒng)計(jì)類上報(bào)類型對應(yīng)第一預(yù)定格式,關(guān)注業(yè)務(wù)邏輯類型對應(yīng)第二預(yù)定格式。另外,上報(bào)類型包括點(diǎn)擊上報(bào)類型、狀態(tài)上報(bào)類型、時(shí)長上報(bào)類型、性能類上報(bào)類型、業(yè)務(wù)邏輯類上報(bào)類型。更詳細(xì)地,點(diǎn)擊上報(bào)類型對應(yīng)動(dòng)態(tài)間隔時(shí)長周期上報(bào)策略,狀態(tài)上報(bào)類型對應(yīng)網(wǎng)絡(luò)直播應(yīng)用登錄后預(yù)定時(shí)長上傳策略,時(shí)長上報(bào)類型對應(yīng)固定間隔時(shí)長周期上報(bào)策略,性能類上報(bào)類型對應(yīng)網(wǎng)絡(luò)直播應(yīng)用退出時(shí)上報(bào)策略,業(yè)務(wù)邏輯類上報(bào)類型對應(yīng)約定間隔時(shí)長周期上報(bào)策略。總之,在該步驟中,需要有效并且清楚地對上報(bào)數(shù)據(jù)的種類進(jìn)行區(qū)分,識別上報(bào)數(shù)據(jù)的業(yè)務(wù)類型和上報(bào)類型,為在上報(bào)數(shù)據(jù)中添加與其各種類相對應(yīng)的字段標(biāo)識做好準(zhǔn)備。
通過步驟s300完成每一類上報(bào)數(shù)據(jù)的上報(bào),從而實(shí)現(xiàn)所有上報(bào)數(shù)據(jù)的上報(bào)操作。在這一過程中,優(yōu)先使用分時(shí)上報(bào)的策略,尤其對于業(yè)務(wù)類型和上報(bào)類型分別為關(guān)注用戶行為類型和點(diǎn)擊上報(bào)類型的同一類上報(bào)數(shù)據(jù),采用根據(jù)動(dòng)態(tài)間隔時(shí)長周期上報(bào)策略。系統(tǒng)先將收集到的信息臨時(shí)存儲在本地上報(bào)管理中心,再由管理中心根據(jù)預(yù)先設(shè)定的策略將緩存的數(shù)據(jù)上報(bào),當(dāng)確定到本次上報(bào)間隔時(shí)長到達(dá)預(yù)定的上報(bào)間隔時(shí)長時(shí),按照類型長度值格式將上報(bào)數(shù)據(jù)封裝為數(shù)據(jù)包,然后上報(bào)該數(shù)據(jù)包。上報(bào)通道依照http協(xié)議,數(shù)據(jù)上報(bào)項(xiàng)發(fā)包前系統(tǒng)先判斷數(shù)據(jù)包的包長,當(dāng)包長小于預(yù)設(shè)方式數(shù)據(jù)量,如1k,通過get方式上報(bào),反之通過post方式上報(bào)。當(dāng)通過post方式上報(bào)時(shí),控制一次post方式上報(bào)的最大包長為標(biāo)配數(shù)據(jù)量,如10k,當(dāng)包長多于標(biāo)配數(shù)據(jù)量,分多次發(fā)包,并控制發(fā)包頻度,動(dòng)態(tài)間隔時(shí)長周期到達(dá)時(shí)上報(bào)一次。優(yōu)選的,標(biāo)配數(shù)據(jù)量為在預(yù)置數(shù)值范圍中取一個(gè)值,也即標(biāo)配數(shù)據(jù)量為一個(gè)具體的固定值,其具體數(shù)值根據(jù)實(shí)際需要適應(yīng)性確定。這其中,按類型長度值格式將上報(bào)數(shù)據(jù)封裝為數(shù)據(jù)包,上報(bào)數(shù)據(jù)包的步驟具體操作是:獲取預(yù)置大小的上報(bào)數(shù)據(jù),按類型長度值格式,將上報(bào)數(shù)據(jù)封裝為一個(gè)預(yù)置包長度的數(shù)據(jù)包,然后上報(bào)這一個(gè)預(yù)置包長度的數(shù)據(jù)包。如圖2所示,每次對上報(bào)數(shù)據(jù)進(jìn)行按格式封包,由于預(yù)置大小與預(yù)置包長度的數(shù)值并不一定相同,通常上報(bào)數(shù)據(jù)量較大,因此將上報(bào)數(shù)據(jù)按照預(yù)置包長度打包后往往產(chǎn)生該類上報(bào)數(shù)據(jù)的剩余,當(dāng)剩余的該類上報(bào)數(shù)據(jù)大于標(biāo)配數(shù)據(jù)量,則減少下一次的上報(bào)間隔時(shí)長并作為新的預(yù)定的上報(bào)間隔時(shí)長,即更快進(jìn)入下一次對剩余該類上報(bào)數(shù)據(jù)的上報(bào),而當(dāng)對剩余的該類上報(bào)數(shù)據(jù)再進(jìn)行按照標(biāo)配數(shù)據(jù)量封裝后還可能再剩余該類上報(bào)數(shù)據(jù),則進(jìn)一步減少再下一次的上報(bào)間隔時(shí)長。而當(dāng)剩余的該類上報(bào)數(shù)據(jù)小于標(biāo)配數(shù)據(jù)量時(shí),則增加下一次的上報(bào)間隔時(shí)長并作為新的預(yù)定的上報(bào)間隔時(shí)長。舉例來說,當(dāng)某項(xiàng)上報(bào)數(shù)據(jù)為29k,而標(biāo)配數(shù)據(jù)量為8k,上報(bào)該項(xiàng)數(shù)據(jù)前默認(rèn)的上報(bào)間隔時(shí)長為1s,則第一次上報(bào)8k的上報(bào)間隔時(shí)長為1s,同時(shí)剩余21k上報(bào)數(shù)據(jù),將上報(bào)間隔時(shí)長降低為0.8s,則上報(bào)第一次上報(bào)的8k數(shù)據(jù)包后的0.8s進(jìn)行第二次數(shù)據(jù)上報(bào),在剩余的21k數(shù)據(jù)中封裝出8k上傳,還剩余13k上報(bào)數(shù)據(jù),仍然大于標(biāo)配數(shù)據(jù)量,繼續(xù)降低上報(bào)間隔時(shí)長到0.6s,則第二次數(shù)據(jù)上報(bào)之后的0.6s進(jìn)行第三次數(shù)據(jù)上報(bào),第三次數(shù)據(jù)上報(bào)之后數(shù)據(jù)剩余5k,小于標(biāo)配數(shù)據(jù)量,將剩余的5k數(shù)據(jù)上傳,同時(shí)調(diào)整上報(bào)間隔時(shí)長為0.8s,將此作為下一次數(shù)據(jù)上報(bào)的上報(bào)間隔時(shí)長。通過上述的具體步驟描述可知,將獲取的上報(bào)數(shù)據(jù)限定為預(yù)置大小,將數(shù)據(jù)包限定為預(yù)置包長度,將標(biāo)配數(shù)據(jù)量限定為在某一個(gè)可調(diào)的預(yù)置數(shù)值范圍中選擇,能夠使數(shù)據(jù)上報(bào)更加細(xì)致合理地根據(jù)服務(wù)器的實(shí)際使用情況進(jìn)行調(diào)整,當(dāng)服務(wù)器承載量大時(shí),可將上述數(shù)值調(diào)整得粗獷些,優(yōu)先確保上報(bào)流暢性,減小和避免網(wǎng)絡(luò)數(shù)據(jù)擁堵,當(dāng)服務(wù)器承載量小,可將上述數(shù)值調(diào)整得細(xì)膩些,優(yōu)先確保數(shù)據(jù)上報(bào)的穩(wěn)定性和準(zhǔn)確性,如此一來,既能夠保證數(shù)據(jù)上報(bào)的穩(wěn)定性和流暢性,避免網(wǎng)絡(luò)數(shù)據(jù)擁堵,又能夠適時(shí)兼顧較大上報(bào)數(shù)據(jù)的上報(bào)效率。
其中,上報(bào)間隔時(shí)長的調(diào)整可采取多種預(yù)定方式,例如上面例子當(dāng)中提到的等差時(shí)長的方式。也可以采用同比例增加或減少的方式,如每次降低10%或提高8%等,增加或減少的值既可以相同也可以不同,可根據(jù)實(shí)際適應(yīng)性選擇。當(dāng)然,上報(bào)間隔時(shí)長需為一個(gè)變化范圍,增加和減少得到的上報(bào)間隔時(shí)長須在變化范圍之內(nèi),也即減少下一次的上報(bào)間隔時(shí)長之前,確定本次上報(bào)間隔大于最小時(shí)長閾值,而增加下一次的上報(bào)間隔時(shí)長之前,須確定本次上報(bào)間隔小于最大時(shí)長閾值。
本方案采用tlv的上報(bào)格式(使用http通道)向服務(wù)器上報(bào)數(shù)據(jù)包,其實(shí)現(xiàn)遵循格式:類型長度數(shù)值。這里的類型(type)有兩種,一種為大t,另一種為小t。大t是一個(gè)dword,表示了上報(bào)的總類型,在這個(gè)總類型下,可以有多個(gè)小t。而小t是一個(gè)byte,表示上報(bào)的子類型。小t可以方便后續(xù)的擴(kuò)展,并和服務(wù)器對應(yīng)約定小t為一個(gè)特殊值,比如對于點(diǎn)擊上報(bào),約定小t的值為0x01,而其他的類型擴(kuò)展上報(bào),如狀態(tài)上報(bào)、時(shí)長上報(bào)等均分配除0x01之外的其它類型值,并同樣和服務(wù)器做好約定。長度(length)指的是數(shù)據(jù)包占多少個(gè)字節(jié),也就是“數(shù)值”占多少個(gè)字節(jié)。數(shù)值(value)是具體的數(shù)據(jù),它占多少個(gè)字節(jié)由“長度”指定。當(dāng)對業(yè)務(wù)類型為關(guān)注質(zhì)量統(tǒng)計(jì)類上報(bào)類型或關(guān)注業(yè)務(wù)邏輯類型等其他業(yè)務(wù)類型的數(shù)據(jù)進(jìn)行上報(bào)時(shí),利用數(shù)據(jù)上報(bào)通道協(xié)議體中的業(yè)務(wù)類型字段以及協(xié)議預(yù)留字段進(jìn)行擴(kuò)展以及變更,例如完整數(shù)據(jù)包的協(xié)議體通用格式為:uid+ctype+dwbuffercode+wverlen+strverison+wmachinecodelen+strmachinecode+cdatatype+stdata,其中ctype為業(yè)務(wù)類型號(從0x01開始累加),dwbuffercode為協(xié)議的預(yù)留字段,主要為了考慮業(yè)務(wù)協(xié)議頻繁的變更以及擴(kuò)充的情況,預(yù)留數(shù)據(jù)上報(bào)通道對于協(xié)議的擴(kuò)充能力,默認(rèn)值為0,對于日后的擴(kuò)充,應(yīng)用層與具體服務(wù)器約定好其它具體的值,wverlen為客戶端版本號字節(jié)長度值,strverison為客戶端的版本號,wmachinecodelen為客戶端的機(jī)器碼字節(jié)長度值,strmachinecode為客戶端機(jī)器碼,用于分區(qū)用戶機(jī)器,cdatatype用于標(biāo)識上報(bào)格式是tlv格式,還是用戶自定義格式,如第一預(yù)定格式或第二預(yù)定格式,該第一預(yù)定格式或第二預(yù)定格式本領(lǐng)域內(nèi)相關(guān)技術(shù)人員能夠知曉,比如采用實(shí)時(shí)上報(bào)格式。對于后續(xù)新增不同業(yè)務(wù)類型的業(yè)務(wù)邏輯類上報(bào),業(yè)務(wù)類型值(ctype)依次增加,但應(yīng)盡量保證同一類型的業(yè)務(wù)邏輯類上報(bào)只使用同一個(gè)的業(yè)務(wù)類型值。特別的,如果某個(gè)業(yè)務(wù)類型的上報(bào)協(xié)議涉及到比較頻繁的變更,為了考慮新舊版本的兼容,擴(kuò)充等問題,可以使用數(shù)據(jù)上報(bào)協(xié)議體通用格式中預(yù)留的dwbuffercode字段,并和相應(yīng)服務(wù)器約定好相應(yīng)的字段值含義,做好相應(yīng)的協(xié)議兼容。默認(rèn)數(shù)據(jù)上報(bào)系統(tǒng)填0。
同時(shí),在步驟s300中,為了確保上報(bào)數(shù)據(jù)的進(jìn)一步安全上報(bào),在上報(bào)數(shù)據(jù)包之前,還包括對數(shù)據(jù)包進(jìn)行加密的步驟。現(xiàn)有常用的加密技術(shù)有對稱加密和非對稱加密,在本發(fā)明中,采用對稱加密和非對稱加密相結(jié)合的方式對數(shù)據(jù)包進(jìn)行加密。因而,作為一個(gè)優(yōu)選的方案,上報(bào)數(shù)據(jù)包的具體步驟為:對數(shù)據(jù)包進(jìn)行對稱加密,再將在對稱加密過程中產(chǎn)生的解密密鑰進(jìn)行非對稱加密,得到加密后的解密密鑰,最后將加密后的數(shù)據(jù)包和加密后的解密密鑰一起上報(bào)到服務(wù)器。通過對稱加密和非對稱加密的結(jié)合,將數(shù)據(jù)包與加密技術(shù)中產(chǎn)生的密鑰緊密結(jié)合,為數(shù)據(jù)包的數(shù)據(jù)安全提供完整又具有雙重保險(xiǎn)性的保障。
在數(shù)據(jù)上報(bào)時(shí),為了確保上報(bào)的數(shù)據(jù)得到最終的準(zhǔn)確接收,避免數(shù)據(jù)丟失,應(yīng)采取多重尋址嘗試的尋址操作。如圖2所示,當(dāng)本次上報(bào)間隔時(shí)長到達(dá)預(yù)定的時(shí)間周期,上報(bào)數(shù)據(jù)的過程開啟,若檢測到上報(bào)數(shù)據(jù)包至服務(wù)器失敗,則重新確定上報(bào)域名再上報(bào)數(shù)據(jù)包至服務(wù)器。而當(dāng)重新確定上報(bào)域名再上報(bào)數(shù)據(jù)包至服務(wù)器又失敗,則重新以固定ip上報(bào)數(shù)據(jù)包至服務(wù)器。
為便于理解,可參見表1,在表1中列舉了上報(bào)數(shù)據(jù)的類型、舉例和對應(yīng)的上報(bào)策略。
基于計(jì)算機(jī)系統(tǒng)化的思想,本發(fā)明一實(shí)施例同時(shí)提供了一種數(shù)據(jù)上報(bào)裝置,如圖3所示,包括:
獲取模塊10,用于獲取網(wǎng)絡(luò)直播應(yīng)用產(chǎn)生的上報(bào)數(shù)據(jù)。
分類模塊20,用于識別上報(bào)數(shù)據(jù)的業(yè)務(wù)類型和上報(bào)類型,根據(jù)業(yè)務(wù)類型和上報(bào)類型對上報(bào)數(shù)據(jù)進(jìn)行分類;其中,業(yè)務(wù)類型對應(yīng)上報(bào)格式,上報(bào)類型對應(yīng)上報(bào)策略。
上報(bào)模塊30,用于對同一類上報(bào)數(shù)據(jù),根據(jù)該類上報(bào)數(shù)據(jù)的上報(bào)策略,按該類上報(bào)數(shù)據(jù)的上報(bào)格式將上報(bào)數(shù)據(jù)封裝為數(shù)據(jù)包,上報(bào)該數(shù)據(jù)包。
在分類模塊20中提到的業(yè)務(wù)類型包括關(guān)注用戶行為類型、關(guān)注質(zhì)量統(tǒng)計(jì)類上報(bào)類型、關(guān)注業(yè)務(wù)邏輯類型;關(guān)注用戶行為類型對應(yīng)類型長度值格式,關(guān)注質(zhì)量統(tǒng)計(jì)類上報(bào)類型對應(yīng)第一預(yù)定格式,關(guān)注業(yè)務(wù)邏輯類型對應(yīng)第二預(yù)定格式。
分類模塊20中用于識別上報(bào)數(shù)據(jù)的上報(bào)類型包括點(diǎn)擊上報(bào)類型、狀態(tài)上報(bào)類型、時(shí)長上報(bào)類型、性能類上報(bào)類型、業(yè)務(wù)邏輯類上報(bào)類型;點(diǎn)擊上報(bào)類型對應(yīng)動(dòng)態(tài)間隔時(shí)長周期上報(bào)策略,狀態(tài)上報(bào)類型對應(yīng)網(wǎng)絡(luò)直播應(yīng)用登錄后預(yù)定時(shí)長上傳策略,時(shí)長上報(bào)類型對應(yīng)固定間隔時(shí)長周期上報(bào)策略,性能類上報(bào)類型對應(yīng)網(wǎng)絡(luò)直播應(yīng)用退出時(shí)上報(bào)策略,業(yè)務(wù)邏輯類上報(bào)類型對應(yīng)約定間隔時(shí)長周期上報(bào)策略。
上報(bào)模塊30中進(jìn)行的處理:對同一類上報(bào)數(shù)據(jù),根據(jù)該類上報(bào)數(shù)據(jù)的上報(bào)策略,按該類上報(bào)數(shù)據(jù)的上報(bào)格式將上報(bào)數(shù)據(jù)封裝為數(shù)據(jù)包,上報(bào)數(shù)據(jù)包,包括:
對業(yè)務(wù)類型和上報(bào)類型分別為關(guān)注用戶行為類型和點(diǎn)擊上報(bào)類型的同一類上報(bào)數(shù)據(jù),根據(jù)動(dòng)態(tài)間隔時(shí)長周期上報(bào)策略,確定本次上報(bào)間隔時(shí)長到達(dá)時(shí),按類型長度值格式將上報(bào)數(shù)據(jù)封裝為數(shù)據(jù)包,上報(bào)所述數(shù)據(jù)包;若剩余的該類上報(bào)數(shù)據(jù)大于標(biāo)配數(shù)據(jù)量,減少下一次的上報(bào)間隔時(shí)長;若剩余的該類上報(bào)數(shù)據(jù)小于標(biāo)配數(shù)據(jù)量,增加下一次的上報(bào)間隔時(shí)長。其中,按類型長度值格式將上報(bào)數(shù)據(jù)封裝為數(shù)據(jù)包,上報(bào)所述數(shù)據(jù)包,具體包括:獲取預(yù)置大小的上報(bào)數(shù)據(jù),按類型長度值格式,將上報(bào)數(shù)據(jù)封裝為一個(gè)預(yù)置包長度的數(shù)據(jù)包,上報(bào)所述一個(gè)預(yù)置包長度的數(shù)據(jù)包。標(biāo)配數(shù)據(jù)量為預(yù)置數(shù)值范圍中的一個(gè)取值。減少下一次的上報(bào)間隔時(shí)長之前,還包括,確定本次上報(bào)間隔大于最小時(shí)長閾值;所述增加下一次的上報(bào)間隔時(shí)長之前,還包括,確定本次上報(bào)間隔小于最大時(shí)長閾值。
上報(bào)模塊30上報(bào)數(shù)據(jù)包之前,還包括:對數(shù)據(jù)包進(jìn)行加密。具體步驟包括:對所述數(shù)據(jù)包進(jìn)行對稱加密;將在對稱加密過程中產(chǎn)生的解密密鑰進(jìn)行非對稱加密,得到加密后的解密密鑰。最后完成將加密后的數(shù)據(jù)包和加密后的解密密鑰一起上報(bào)到服務(wù)器。
通過該數(shù)據(jù)上報(bào)裝置實(shí)現(xiàn)前述的網(wǎng)絡(luò)直播數(shù)據(jù)上報(bào)方法,完成多種類上報(bào)數(shù)據(jù)通過一套系統(tǒng)完成數(shù)據(jù)上報(bào)收集的任務(wù),具體操作方法步驟如前面方法部分所述,在此不再重復(fù)敘述。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,可以用計(jì)算機(jī)程序指令來實(shí)現(xiàn)這些結(jié)構(gòu)圖和/或框圖和/或流圖中的每個(gè)框以及這些結(jié)構(gòu)圖和/或框圖和/或流圖中的框的組合。本技術(shù)領(lǐng)域技術(shù)人員可以理解,可以將這些計(jì)算機(jī)程序指令提供給通用計(jì)算機(jī)、專業(yè)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理方法的處理器來實(shí)現(xiàn),從而通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理方法的處理器來執(zhí)行本發(fā)明公開的結(jié)構(gòu)圖和/或框圖和/或流圖的框或多個(gè)框中指定的方案。
以上所述僅是本發(fā)明的部分實(shí)施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。