本發(fā)明涉及收視率統(tǒng)計技術領域,具體涉及基于區(qū)塊鏈的收視率統(tǒng)計方法及系統(tǒng)。
背景技術:
目前,針對不同種類的收視渠道,有不同的收視率采集方法,可簡單分為數字電視、網絡運營商的ott、視頻網站數據。
以數字電視為例,提供收視率數據統(tǒng)計是通過某家公司在小規(guī)模樣本中選取抽樣用戶,在這些用戶的收視機頂盒之上添加數據采集模塊,并通過無線形式發(fā)送到接受基站后分析。
收視率被污染甚至被操縱已成某種潛規(guī)則,總結起來,以下手段可以達到收視率造假的目的:收買和行賄樣本戶,或,直接篡改數據。
總結起來,目前的收視率統(tǒng)計方法具有如下缺陷:
1、數據只通過單一中心化企業(yè)管控的統(tǒng)計網絡,數據極易受到人為影響篡改;
2、樣本數量相對于億級收視用戶太小,十分容易造成樣本污染;
3、統(tǒng)計數據結果缺乏互相監(jiān)督管控機制,統(tǒng)計數據方式不透明;
4、收視渠道分散,由不同服務商所掌控,難以歸納匯總得出精確數據。
技術實現要素:
針對現有技術中的缺陷,本發(fā)明提供的基于區(qū)塊鏈的收視率統(tǒng)計方法及系統(tǒng),基于區(qū)塊鏈的優(yōu)勢就可以廉價的實現以采集全網不同收視渠道的收視數據的方式來統(tǒng)計收視率,獲取真實精確收視數據。
第一方面,本發(fā)明提供的一種基于區(qū)塊鏈的收視率統(tǒng)計方法,包括:
采集節(jié)點獲取播放設備當前正在播放的元數據,根據元數據生成報文記錄并發(fā)送給記錄節(jié)點;
記錄節(jié)點暫存接收到的所述報文記錄,并同步多個記錄節(jié)點接收到的所述報文記錄;
在所有所述記錄節(jié)點中選出一個記錄節(jié)點獲得區(qū)塊記賬權;
獲得區(qū)塊記賬權的記錄節(jié)點將暫存在該記錄節(jié)點中的所有報文記錄打包生成一個新的區(qū)塊,并存儲到區(qū)塊鏈中;
統(tǒng)計客戶端從所述區(qū)塊鏈中獲取區(qū)塊,根據所述區(qū)塊中的報文記錄統(tǒng)計收視率。
本發(fā)明提供的基于區(qū)塊鏈的收視率統(tǒng)計方法,基于區(qū)塊鏈的優(yōu)勢就可以廉價的實現以采集全網不同收視渠道的收視數據的方式來統(tǒng)計收視率,獲取真實精確收視數據??朔藗鹘y(tǒng)收視率調查,渠道分散、樣本量極小、樣本庫易被污染、結果易被統(tǒng)計中心篡改的缺點,本實施例的方法可以同時在任何一個區(qū)塊鏈記錄節(jié)點查詢到相同可信的收視率數據,完全透明公開,形成互相監(jiān)督管控的局面。
優(yōu)選地,所述采集節(jié)點獲取播放設備當前正在播放的元數據,根據元數據生成報文記錄并發(fā)送給記錄節(jié)點,包括:所述采集節(jié)點獲取播放設備當前正在播放的元數據,根據元數據生成報文記錄,并給所述報文記錄添加時間戳后發(fā)送給記錄節(jié)點。
優(yōu)選地,所述在所有所述記錄節(jié)點中選出一個記錄節(jié)點獲得區(qū)塊記賬權,包括:若某個記錄節(jié)點中暫存的報文記錄達到預設的存儲量時,則該記錄節(jié)點獲得區(qū)塊記賬權。
優(yōu)選地,所述記錄節(jié)點暫存接收到的所述報文記錄,并同步多個記錄節(jié)點接收到的所述報文記錄,包括:
所述記錄節(jié)點暫存接收到的所述報文記錄,
根據所述報文記錄生成報文哈希值,
同步多個記錄節(jié)點間的報文哈希值。
優(yōu)選地,所述獲得區(qū)塊記賬權的記錄節(jié)點將暫存在該記錄節(jié)點中的所有報文記錄打包生成一個新的區(qū)塊,并存儲到區(qū)塊鏈中,包括:獲得區(qū)塊記賬權的記錄節(jié)點將暫存在該記錄節(jié)點中的所有報文記錄對應的報文哈希值按照merkle樹的格式進行打包,生成一個新的區(qū)塊,并存儲到區(qū)塊鏈中。
優(yōu)選地,所述獲得區(qū)塊記賬權的記錄節(jié)點將暫存在該記錄節(jié)點中的所有報文記錄對應的報文哈希值按照merkle樹的格式進行打包,生成一個新的區(qū)塊,并存儲到區(qū)塊鏈中,包括:
所述獲得區(qū)塊記賬權的記錄節(jié)點將暫存在該記錄節(jié)點中的所有報文記錄對應的報文哈希值按照merkle樹的結構生成區(qū)塊體,并得到merkle根;
生成區(qū)塊頭,所述區(qū)塊頭包括:前一區(qū)塊、當前時間戳、隨機數、目標哈希值以及merkle根;
所述區(qū)塊體和所述區(qū)塊頭組成新的區(qū)塊,并存儲到區(qū)塊鏈中。
優(yōu)選地,所述統(tǒng)計客戶端從所述區(qū)塊鏈中獲取區(qū)塊,根據所述區(qū)塊中的報文記錄統(tǒng)計收視率,包括:
所述統(tǒng)計客戶端從所述區(qū)塊鏈中獲取一定時間段內的區(qū)塊,
解密所述區(qū)塊中的報文哈希值,得到報文記錄,
根據時間戳對每個播放設備的報文記錄進行排序,
根據時間戳獲取統(tǒng)計時間段內觀看某一節(jié)目的用戶數量和使用播放設備的用戶總數量,得到該節(jié)目的收視率。
優(yōu)選地,在所述記錄節(jié)點接收到的所述報文記錄后還包括:在所述報文記錄中加入所述記錄節(jié)點的本機信息,所述本機信息包括:記錄節(jié)點的ip地址、節(jié)點名。
優(yōu)選地,根據元數據生成的所述報文記錄包括:設備標記、設備類型、節(jié)目id、當前頻道、上一頻道、播放時長。
第二方面,本發(fā)明提供的一種基于區(qū)塊鏈的收視率統(tǒng)計系統(tǒng),包括:采集節(jié)點、記錄節(jié)點和統(tǒng)計客戶端;
所述采集節(jié)點與所述記錄節(jié)點連接,多個所述記錄節(jié)點間兩兩連接形成區(qū)塊鏈,所述統(tǒng)計客戶端與所述記錄節(jié)點連接;
所述采集節(jié)點用于獲取播放設備當前正在播放的元數據,根據元數據生成報文記錄并發(fā)送給記錄節(jié)點;
所述記錄節(jié)點用于暫存接收到的所述報文記錄,并同步多個記錄節(jié)點接收到的所述報文記錄;
所述區(qū)塊鏈用于在所有所述記錄節(jié)點中選出一個記錄節(jié)點獲得區(qū)塊記賬權;獲得區(qū)塊記賬權的記錄節(jié)點將暫存在該記錄節(jié)點中的所有報文記錄打包生成一個新的區(qū)塊,并存儲到所述區(qū)塊鏈中;
所述統(tǒng)計客戶端用于從所述區(qū)塊鏈中獲取區(qū)塊,根據所述區(qū)塊中的報文記錄統(tǒng)計收視率。
本發(fā)明提供的基于區(qū)塊鏈的收視率統(tǒng)計系統(tǒng),采集效率高,能夠24小時不間歇的進行數據采集和統(tǒng)計;能夠支持存儲不同播放渠道采集的海量樣本,提高了收視率統(tǒng)計的精確度;基于區(qū)塊鏈去中心化的特點,一旦生成收視記錄,無法篡改,保證了收視率的真實性和可靠性;由于區(qū)塊鏈中所有數據都會實時同步,使統(tǒng)計使用的源數據保持一致;系統(tǒng)的成本低廉,均可以采用在現有的設備和系統(tǒng)中植入軟件程序實現,采集端無需額外增加硬件;被采集端可匿名發(fā)送報文記錄。
附圖說明
圖1為本發(fā)明實施例所提供的基于區(qū)塊鏈的收視率統(tǒng)計系統(tǒng)的結構拓撲圖;
圖2為本發(fā)明實施例所提供的基于區(qū)塊鏈的收視率方法的流程圖;
圖3為merkle樹的結構示意圖。
具體實施方式
下面將結合附圖對本發(fā)明技術方案的實施例進行詳細的描述。以下實施例僅用于更加清楚地說明本發(fā)明的技術方案,因此只是作為示例,而不能以此來限制本發(fā)明的保護范圍。
需要注意的是,除非另有說明,本申請使用的技術術語或者科學術語應當為本發(fā)明所屬領域技術人員所理解的通常意義。
如圖1所示,本實施例提供了一種基于區(qū)塊鏈的收視率統(tǒng)計系統(tǒng),包括:采集節(jié)點、記錄節(jié)點和統(tǒng)計客戶端。
采集節(jié)點與記錄節(jié)點連接,多個記錄節(jié)點間兩兩連接形成區(qū)塊鏈,統(tǒng)計客戶端與記錄節(jié)點連接。
采集節(jié)點用于獲取播放設備當前正在播放的元數據,根據元數據生成報文記錄并發(fā)送給記錄節(jié)點。
其中,采集節(jié)點可以是嵌入報文采集程序的數字電視機頂盒,在用戶開啟數字電視機頂盒時,報文采集程序開始運行,獲取當前正在播放的元數據,根據元數據生成報文記錄并發(fā)送給記錄節(jié)點。其中,報文采集程序會根據網絡狀況選擇最優(yōu)的采集節(jié)點發(fā)送報文記錄。采集節(jié)點會每隔一定時間循環(huán)不間斷采集并發(fā)送報文記錄。
記錄節(jié)點用于暫存接收到的報文記錄,并同步多個記錄節(jié)點接收到的報文記錄。
區(qū)塊鏈用于在所有記錄節(jié)點中選出一個記錄節(jié)點獲得區(qū)塊記賬權;獲得區(qū)塊記賬權的記錄節(jié)點將暫存在該記錄節(jié)點中的所有報文記錄打包生成一個新的區(qū)塊,并存儲到區(qū)塊鏈中。
其中,一個記錄節(jié)點對應一臺服務器,多臺服務器相互連接組成服務器集群的形成區(qū)塊鏈,區(qū)塊鏈中的每個服務器之間都可以互相傳遞數據,使得各個記錄節(jié)點中的數據能夠順利的同步,通過區(qū)塊鏈對等分布式網絡的特點可以提高記錄節(jié)點間數據的傳輸效率。不同頻道具有收視率競爭關系,為防止競爭對手造假,區(qū)塊鏈的形式使得不同媒體頻道可以共同維護該服務器集群,愿意加入集群的媒體頻道可以進行互相監(jiān)督,防止數據造假。
服務器的存儲方式采用冗余磁盤陣列,存儲架構為hadoophdfs,提高了服務器的存儲量和性能,能夠存儲海量的樣本。服務器集群之間通過tcp/ip協(xié)議同步交換數據。
統(tǒng)計客戶端用于從區(qū)塊鏈中獲取區(qū)塊,根據區(qū)塊中的報文記錄統(tǒng)計收視率。
其中,統(tǒng)計客戶端可以是安裝了統(tǒng)計程序的pc或者移動終端。通過運行統(tǒng)計客戶端的統(tǒng)計程序,連接服務器集群中的任意一臺服務器來獲取區(qū)塊數據,統(tǒng)計收視率。
區(qū)塊鏈技術有兩個非常重要的特點:第一,每一個區(qū)塊上記錄的數據是上一個區(qū)塊形成之后、該區(qū)塊被創(chuàng)建前發(fā)生的所有價值交換活動,這個特點保證了數據庫的完整性。第二,在絕大多數情況下,一旦新區(qū)塊完成后被加入到區(qū)塊鏈的最后,則此區(qū)塊的數據記錄就再也不能改變或刪除。這個特點保證了數據庫的嚴謹性,即無法被篡改。區(qū)塊鏈技術構建了一套永生不滅的系統(tǒng),只要不是網絡中的所有參與節(jié)點在同一時間集體崩潰,數據庫系統(tǒng)就可以一直運轉下去。
本實施例提供的基于區(qū)塊鏈的收視率統(tǒng)計系統(tǒng),采集效率高,能夠24小時不間歇的進行數據采集和統(tǒng)計;能夠支持存儲不同播放渠道采集的海量樣本,提高了收視率統(tǒng)計的精確度;基于區(qū)塊鏈去中心化的特點,一旦生成收視記錄,無法篡改,保證了收視率的真實性和可靠性;由于區(qū)塊鏈中所有數據都會實時同步,使統(tǒng)計使用的源數據保持一致;系統(tǒng)的成本低廉,均可以采用在現有的設備和系統(tǒng)中植入軟件程序實現,采集端無需額外增加硬件;被采集端可匿名發(fā)送報文記錄。
如圖2所示,基于上述基于區(qū)塊鏈的收視率統(tǒng)計系統(tǒng),本實施例還提供了一種基于區(qū)塊鏈的收視率統(tǒng)計方法,包括:
步驟s1,采集節(jié)點獲取播放設備當前正在播放的元數據,根據元數據生成報文記錄并發(fā)送給記錄節(jié)點。
其中,播放設備指數字機頂盒等類似的設備。元數據包括:設備標記、設備類型(如,數字電視、iptv、ott、應用名、衛(wèi)星)、節(jié)目id、當前播放頻道、上一個播放頻道、播放時長等。采集節(jié)點會每隔一定時間循環(huán)不間斷采集并發(fā)送報文記錄。
其中,根據元數據生成的報文記錄包括:設備標記、設備類型、節(jié)目id、當前頻道、上一頻道、播放時長。
其中,報文記錄中還包括簽名信息。
步驟s2,記錄節(jié)點暫存接收到的報文記錄,并同步多個記錄節(jié)點接收到的報文記錄。
其中,同步多個記錄節(jié)點接收到的報文記錄指記錄節(jié)點將報文記錄發(fā)送給區(qū)塊鏈中其它的記錄節(jié)點,使區(qū)塊鏈中每個記錄節(jié)點都存儲有相同的報文記錄。
步驟s3,在所有記錄節(jié)點中選出一個記錄節(jié)點獲得區(qū)塊記賬權。
其中,只有獲得區(qū)塊記賬權的記錄節(jié)點才有權生成區(qū)塊。
步驟s4,獲得區(qū)塊記賬權的記錄節(jié)點將暫存在該記錄節(jié)點中的所有報文記錄打包生成一個新的區(qū)塊,并存儲到區(qū)塊鏈中。
其中,將區(qū)塊存儲到區(qū)塊鏈中即將區(qū)塊同步到區(qū)塊鏈中所有的記錄節(jié)點,使得統(tǒng)計客戶端通過任何一個記錄節(jié)點都可以獲取到完整的區(qū)塊記錄。所有記錄節(jié)點中,打包到區(qū)塊中的暫存報文記錄會被刪除。
步驟s5,統(tǒng)計客戶端從區(qū)塊鏈中獲取區(qū)塊,根據區(qū)塊中的報文記錄統(tǒng)計收視率。
區(qū)塊鏈網絡是一種去中心化對等網絡的分布式存儲網絡,具有點對點傳輸、共識機制和防止篡改的特點,本實施例提供的基于區(qū)塊鏈的收視率統(tǒng)計方法基于上述這些特點,就可以廉價的實現以采集全網不同收視渠道的收視數據的方式來統(tǒng)計收視率,獲取真實精確收視數據。克服了傳統(tǒng)收視率調查,渠道分散、樣本量極小、樣本庫易被污染、結果易被統(tǒng)計中心篡改的缺點,本實施例的方法可以同時在任何一個區(qū)塊鏈記錄節(jié)點查詢到相同可信的收視率數據,完全透明公開,形成互相監(jiān)督管控的局面。
其中,步驟s1的優(yōu)選方法包括:采集節(jié)點獲取播放設備當前正在播放的元數據,根據元數據生成報文記錄,并給報文記錄添加時間戳后發(fā)送給記錄節(jié)點。其中,時間戳對應報文記錄的采集時間。通過在每條報文記錄中添加時間戳,使得在后續(xù)數據處理過程中能夠根據時間戳信息對大量的報文記錄進行串聯分析,得到更加豐富的統(tǒng)計數據。
其中,步驟s3的優(yōu)選實施方式包括:若某個記錄節(jié)點中暫存的報文記錄達到預設的存儲量時,則該記錄節(jié)點獲得區(qū)塊記賬權。區(qū)塊的尺寸大小能決定每個區(qū)塊生成的間隔時長,以及一個區(qū)塊包含的記錄條數,可以依據具體網絡實施加以設置,如每個區(qū)塊的存儲量是1mb,假如每條記錄為1kb,那么理論上可以包含1024個記錄。當記錄節(jié)點中暫存的報文記錄數量達到1mb時,則該記錄節(jié)點獲得區(qū)塊記賬權。
其中,步驟s2的優(yōu)選實施例方式包括:記錄節(jié)點暫存接收到的報文記錄,根據報文記錄生成報文哈希值,同步多個記錄節(jié)點間的報文哈希值。步驟s2以后的步驟中,均以報文哈希值替代對應的報文記錄進行存儲、傳輸。每條報文記錄都會生成唯一的報文哈希值與之對應。采用報文哈希值可以節(jié)省數據存儲量,更為重要的是,因為輸入數據的稍微改變就會引起哈希運算結果的面目全非,而且根據哈希值反推原始輸入數據的特征是困難的,因此,采用報文哈希值替代報文記錄,可以防止隨意篡改數據,使統(tǒng)計數據更加可信。
基于上述步驟s2的優(yōu)選實施例方式,步驟s4的具體實現方式包括:獲得區(qū)塊記賬權的記錄節(jié)點將暫存在該記錄節(jié)點中的所有報文記錄對應的報文哈希值按照merkle樹的格式進行打包,生成一個新的區(qū)塊,并存儲到區(qū)塊鏈中。具體包括:
步驟s41,獲得區(qū)塊記賬權的記錄節(jié)點將暫存在該記錄節(jié)點中的所有報文記錄對應的報文哈希值按照merkle樹的結構生成區(qū)塊體,并得到merkle根。
以如圖3為例,merkle樹的最底層為所有報文記錄對應的報文哈希值,最底層中每兩個相鄰的報文哈希值合并成一個字符串,然后運算這個字符串的哈希值,即得到了一個子哈希,所有的子哈希組成merkle樹的上一層。如果最底層的哈希總數是單數,那到最后必然出現一個單身哈希,這種情況就直接對它進行哈希運算,所以也能得到它的子哈希。按上述步驟往上推,可以得到數目更少的新一級哈希,最終必然形成一棵倒掛的樹,得到最頂層的一個哈希,即為merkle根。
步驟s42,生成區(qū)塊頭,區(qū)塊頭包括:前一區(qū)塊、當前時間戳、隨機數、目標哈希值以及merkle根。
其中,當前時間戳為生成區(qū)塊的時刻。
步驟s43,區(qū)塊體和區(qū)塊頭組成新的區(qū)塊,并存儲到區(qū)塊鏈中。
根據merkle根可以對報文記錄進行快速歸納、并校驗區(qū)塊數據的存在性和完整性。因為,一旦區(qū)塊中的任何一條報文記錄發(fā)生變化,merkle根就會面目全非。
其中,步驟s5的具體實施方式包括:統(tǒng)計客戶端從區(qū)塊鏈中獲取一定時間段內的區(qū)塊,解密區(qū)塊中的報文哈希值,得到報文記錄,根據時間戳對每個播放設備的報文記錄進行排序,根據時間戳獲取統(tǒng)計時間段內觀看某一節(jié)目的用戶數量和使用播放設備的用戶總數量,得到該節(jié)目的收視率。
假設當前區(qū)塊鏈上共有3個區(qū)塊,分別為10001、10002、10003,每個區(qū)塊中包含10000條記錄,一共有30000條報文記錄,記錄覆蓋30分鐘的記錄數據,這些記錄來自不同用戶。此時打開pc上的統(tǒng)計軟件,軟件會連接集群中的任意一臺服務器來獲取數據。當統(tǒng)計員想查詢前面30分鐘c衛(wèi)視p電視劇的數據時,就可以通過內嵌在軟件中的數據聚合統(tǒng)計方法篩選出30000條記錄中觀看這個節(jié)目用戶設備的數量。還可以在30000條記錄中統(tǒng)計出有多少用戶設備在這個時間段發(fā)送了報文記錄。如統(tǒng)計得到觀看c衛(wèi)視p電視劇的用戶數是200人,參與觀看節(jié)目的總人數是1000人,那么就可以得到觀看p電視劇的比率就是200/1000=0.2。
由于本方法實施例是基于分布式系統(tǒng)的存儲機制實施的,這會造成某些記錄節(jié)點產生的記錄不一定能即時同步到擁有區(qū)塊記賬權的記錄節(jié)點,這些記錄可能會記賬到下一個區(qū)塊中存儲,那么通過報文記錄中的時間戳,就可以在統(tǒng)計時對同一節(jié)目、同一頻道或者同一設備的報文記錄進行時間序列化,得出完整的可讀結果。例如:
區(qū)塊10001中的記錄101記錄了16:21:30秒a設備正在觀看某頻道c1的節(jié)目p1;
區(qū)塊10002中的記錄188記錄了16:22:24秒a設備正在觀看頻道c2的節(jié)目p2;
按時間序列化后格式如下:
利用對用戶上一次觀看節(jié)目和觀看時長進行串聯分析,也可以獲取到某一個用戶觀看電視的頻道路徑和各頻道觀看時長,如得到如下路徑:
基于上述任一方法實施例,在記錄節(jié)點接收到的報文記錄后還包括:在報文記錄中加入記錄節(jié)點的本機信息,本機信息包括:記錄節(jié)點的ip地址、節(jié)點名。在節(jié)點記錄中加入本機信息,可以對查詢到每條記錄的出處。
基于上述任一實施例,所有數據在傳輸過程中,都可以進行非對等的密鑰進行加密,防止數據傳輸過程中被竊取和修改。在安全級別更高的情況下,可以使用私有協(xié)議進行數據傳輸。
本實施例提供的基于區(qū)塊鏈的收視率統(tǒng)計方法,采集效率高,能夠24小時不間歇的進行數據采集和統(tǒng)計;能夠支持存儲不同播放渠道采集的海量樣本,提高了收視率統(tǒng)計的精確度;基于區(qū)塊鏈去中心化的特點,一旦生成收視記錄,無法篡改,保證了收視率的真實性和可靠性;由于區(qū)塊鏈中所有數據都會實時同步,使統(tǒng)計使用的源數據保持一致;系統(tǒng)的成本低廉,均可以采用在現有的設備和系統(tǒng)中植入軟件程序實現,采集端無需額外增加硬件;被采集端可匿名發(fā)送報文記錄。
由于系統(tǒng)采集的數據量很龐大,服務器集群每秒傳輸的數據量很大,數據流量突發(fā)容易導致網絡擁塞,網絡服務質量降低,甚至出現丟包現象,導致數據同步無法順利進行,影響系統(tǒng)正常工作。因此,系統(tǒng)還需要準確地測量服務器之間的丟包情況,以此防止同步過程中數據的丟失,提高統(tǒng)計數據的完整性,提高統(tǒng)計結果的精確度,具體方法包括:
步驟s101,每個一個探測周期發(fā)送探測包;
步驟s102,若接收到探測包對應的回復,則計算時延,若未接收到探測包對應的回復,則確定為丟包;
步驟s103,根據時延判斷是否為突發(fā)丟包,若為突發(fā)丟包則調整探測周期,繼續(xù)發(fā)送探測包。
網絡中,丟包主要由于網絡流量的突發(fā)增加而導致。就網絡性能而言,突發(fā)流量導致網絡出現短時間擁塞,使得網絡時延增加,并出現丟包。因此,突發(fā)丟包并不是孤立出現的,而是往往伴隨著較大的時延或者短時間連續(xù)的丟包而發(fā)生。事實上,時延與丟包、丟包與丟包之間存在一定的相關性。因此,在測量中可以利用此相關性來判斷突發(fā)丟包的出現。
因此,步驟s103中,根據時延判斷是否為突發(fā)丟包的具體方法包括:設測量過程共進行n次探測,即發(fā)送了n個探測包,探測結果表示為序列{d1,d2,…,dn}.對于第i次探測,若未丟包di為探測到的時延值;若丟包,置di為0。隨著測量的進行,若第k次探測的結果dk為0或較大的時延值,根據上述相關性特征,可以認為此時處于突發(fā)丟包時段。由于單使用dk的取值不方便判斷突發(fā)丟包,可定義排隊時延比率指標qr如下式:
其中,dmin為當前探測到的時延最小值,通常認為dmin未包含任何排隊時延;dth為當前所有探測到的丟包事件前一個時延值的最小值。上述公式可視為當前排隊時延相對出現丟包事件的最小排隊時延的比率。dk不為0時,若qr小于1,表明當前排隊時延小于之前出現丟包事件的最小排隊時延,網絡未擁塞;若qr大于1,則表明當前排隊時延大于之前出現丟包事件的最小排隊時延,網絡可能出現突發(fā)丟包。若dk為0,則當前已出現突發(fā)丟包,下一刻亦可能出現突發(fā)丟包,故補充qr定義等于1。
由于探測周期的調整對保持較小的測量誤差和測量負載有決定性作用,調整策略應能快速適應網絡狀態(tài)的變化。為此,探測周期調整時采用減半或倍增的方式。步驟s103中,調整探測周期的具方法為:設當前探測周期為tk,若判斷當前處于突發(fā)丟包狀態(tài),為充分采樣丟包事件,則探測周期調整tk+1=tk/2;若判斷當前未處于突發(fā)丟包狀態(tài),則探測周期調整為tk+1=2tk,以降低測量負載。
為保證整個系統(tǒng)的穩(wěn)定性,采集節(jié)點會向其中系統(tǒng)中網絡狀況最優(yōu)的記錄節(jié)點服務器發(fā)送報文記錄。為了獲取網絡狀況最優(yōu)的節(jié)點服務器,每個采集節(jié)點設置有負載均衡軟件,運行負載均衡軟件,采集節(jié)點根據與各個記錄節(jié)點之間的網絡通訊狀況以及各個記錄節(jié)點的負載信息確定將報文記錄發(fā)往哪個記錄節(jié)點。負載均衡由每個記錄節(jié)點中的負載均衡軟件實現,保證了系統(tǒng)去中心化的結構,提高了系統(tǒng)的抗攻擊能力。其中,負載均衡軟件采用的負載均衡策略包括輪詢、隨機、最小響應時間、最小并發(fā)數、一致性哈希算法等,各具體方法在此不再贅述。
其中,當系統(tǒng)中增加一個新的記錄節(jié)點時,系統(tǒng)會重復廣播通知所有的采集節(jié)點;采集節(jié)點在收到新增記錄節(jié)點的通知后,將新增的記錄節(jié)點加入記錄節(jié)點列表中,利用內置的負載均衡軟件來進行負載均衡,選擇合適的記錄節(jié)點進行數據上傳。
最后應說明的是:以上各實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前述各實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分或者全部技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發(fā)明各實施例技術方案的范圍,其均應涵蓋在本發(fā)明的權利要求和說明書的范圍當中。