基于p2p點播系統的日志信息網絡結構化方法及其系統的制作方法
【專利摘要】本發(fā)明公開了一種基于P2P點播系統的日志信息網絡結構化方法,包括以下步驟:步驟1:收集用戶的日志信息;步驟2:根據節(jié)點的日志信息,構造以用戶為節(jié)點,用戶之間的關系為邊,通過節(jié)點帶寬表示權重的社區(qū)網絡結構;步驟3:根據LabelRank算法對社區(qū)網絡結構進行社區(qū)結構劃分;步驟4:對步驟3中的社區(qū)結構劃分結果進行合并處理;當需要進行數據傳輸時,采用合并處理后得到的對應社區(qū)內的有效節(jié)點進行數據傳輸。同時,本發(fā)明還公開了一種基于P2P點播系統的日志信息網絡結構化系統,上述的方法和系統能夠對有效處理交叉社區(qū)的節(jié)點的檢測,形成更加合理、有效和穩(wěn)定的P2P網絡。
【專利說明】
基于P2P點播系統的日志信息網絡結構化方法及其系統
技術領域
[0001] 本發(fā)明涉及P2P網絡及社區(qū)檢測算法領域,具體地說是一種基于P2P點播系統的日 志信息網絡結構化方法和系統。
【背景技術】
[0002] 隨著互聯網的高速發(fā)展,多媒體在互聯網中也得到爆發(fā)性的增長,人們漸漸的從 電視、收音機等傳統媒介中轉到互聯網中觀看音視頻。這種爆發(fā)性的增長不僅導致資源提 供商的帶寬流量成本劇增,而且還要求網絡設備提供商不斷的升級改造網絡,提高網絡傳 輸速度。而P2P網絡作為一種新的網絡傳輸模式在提出不久便引起互聯網的一次巨大震動, 它不僅僅是作為一種軟件架構形式,也是一種社會模式的體現。P2P網絡打破傳統的客戶 端-服務器模式,形成一種以客戶端-客戶端(客戶端擁有服務器的能力),把客戶端轉換成 服務器角色的形式,從而提高帶寬資源利用率以及減輕資源服務提供商的壓力。但是在實 際應用中,P2P網絡在穩(wěn)定性、有效性中常常表現得不盡如人意,一是不穩(wěn)定,經常會導致用 戶在請求資源的過程中中斷。二是有效性,用戶請求資源的等待時間大多數時候慢于服務 器,這是客戶端的帶寬和處理器處理能力等硬件導致的。諸如此類的缺點導致P2P發(fā)展規(guī)模 受限。
[0003] 社區(qū)檢測劃分方法是近年來一個研究熱點,學術界對復雜網絡的研究掀起一股熱 潮,復雜網絡是指由眾多相互聯系、相互作用的個體,依據一定的聯系產生的網絡結構,其 中蘊含著與之相關的豐富信息。復雜網絡網絡沒有特定的領域,它涉及到數學、物理、社會 學、計算機等諸多領域,并且得到眾多領域的科研工作者的關注。為了研究和獲取復雜網絡 結構的有效信息,需要運用算法對其進行結構劃分,例如基于模塊度的劃分方法、基于層次 結構的劃分方法等等,這些算法都致力于解決和發(fā)現復雜網絡中的合理的社區(qū)結構,從而 讓我們更好的認識到復雜網絡的特性。而P2P網絡作為復雜網絡之一,利用社區(qū)檢測劃分方 法對其計算、劃分,可以發(fā)現網絡的有效關鍵信息,從而提高網絡的穩(wěn)定性和有效性。但是 盡管社區(qū)檢測劃分方法得到大量的科研工作者的關注和研究,也取得相當大的成果,但是 對于形式多樣的網絡結構,依舊存在一些尚未解決的基本問題。例如一些發(fā)現算法雖然可 以得到令人比較滿意的結果,但是往往需要以犧牲計算代價為結構;一些性能較為優(yōu)越的 算法,大多則犧牲精確性為代價。這些問題都需要進一步完善。
[0004] 現有技術中,為了解決復雜的P2P網絡中的重疊社區(qū)的問題,提出了copra算法來 應對,在中國文獻資料《基于標簽傳播的社區(qū)挖掘算法研究綜述》中詳細的記載了重疊 copra算法及其改進算法研究,特別是在對copra算法的改進方法中提出了設定閾值來控制 每個節(jié)點的標簽數目,從而使新算法不需要初始。
[0005] 此外,在中國專利申請CN201510076028.8公開了一種基于多標簽傳播的重疊社區(qū) 檢測方法,包括以下步驟:步驟A,構造社交網絡圖:讀取網絡數據,構造以用戶為節(jié)點,用戶 關系為邊的社交網絡圖;步驟B,分析網絡粗糙核心:根據社交網絡圖,以及各節(jié)點的度,分 析出社交網絡的粗糙核心集合RoughCor e;步驟C,初始化標簽集合:計算社交網絡中各邊兩 節(jié)點的結構權值,結合步驟B所得RoughCore結果,初始化各節(jié)點的標簽集合,并判斷各節(jié)點 核心狀態(tài)Core Status;步驟D,執(zhí)行標簽傳播:在整個社交網絡中根據鏈接密度,計算各節(jié)點 新標簽集合,同時根據節(jié)點核心狀態(tài)CoreStatus對較小隸屬度標簽進行過濾,得到初步重 疊社區(qū)結果;步驟E,分解不連續(xù)社區(qū):在初步重疊社區(qū)結果里將不連續(xù)社區(qū)分解為多個子 社區(qū),得到最終的社交網絡重疊社區(qū)結構。
[0006] 但是現有技術中的社區(qū)結構劃分的合理性、有效性和穩(wěn)定性有待改善。
【發(fā)明內容】
[0007] 本發(fā)明的目的在于提供一種基于P2P點播系統的日志信息網絡結構化方法和系 統,該方法和系統能夠對有效處理交叉社區(qū)的節(jié)點的檢測,形成更加合理、有效和穩(wěn)定的 P2P網絡。
[0008] 本發(fā)明的具體的技術方案為:一種基于P2P點播系統的日志信息網絡結構化方法, 包括以下步驟:
[0009] 步驟1:收集用戶的日志信息;
[0010]步驟2:根據節(jié)點的日志信息,構造以用戶為節(jié)點,用戶之間的關系為邊,通過節(jié)點 帶寬表示權重的社區(qū)網絡結構;
[0011] 步驟3:根據LabelRank算法對社區(qū)網絡結構進行社區(qū)結構劃分,得到多個社區(qū);其 中,LabelRank算法包含一個操作算子:傳遞操作;
[0012] 所述的傳遞操作具體為:在每個節(jié)點定義一個IXn的向量P保存標簽分布,η為節(jié) 點的數量;定義一個鄰接矩陣A存儲網絡結構,則P 1(C)代表節(jié)點i屬于標簽c的概率,標簽的 集合用C表示,并且標簽的個數初始化為節(jié)點的個數n,每次計算都需要更新每個節(jié)點的向 量P,公I力π TC . 來解耦網絡結構,每次計算r MPJ1。都會增加 inth次冪,如下公式所示:
[0023]
[0024] 計算后,它會使節(jié)點中高概率的標簽概率的數值增加,低概率的標簽概率的數值 減少。
[0025] 在上述的基于P2P點播系統的日志信息網絡結構化方法中,所述的裁剪系數具體 為:在向量P中引入了一個操作符OrS義閾值 re[0,l],在計算過程中如果向量P中的標簽 概率小于r則把向量中的標簽刪除掉。
[0026] 在上述的基于P2P點播系統的日志信息網絡結構化方法中,所述的條件更新具體 為:定義一個條件更新操作符?q,其含義為當算法過程中只有節(jié)點與其鄰居節(jié)點的標簽向 量不相等時才更新該節(jié)點,否則不進行更新操作;即在每次迭代中,當節(jié)點滿足下列公式 時,才進行更新操作;
[0027]
[0028] C丨是節(jié)點i在以往計算步驟中概率最大的標簽集合,ki表示節(jié)點i的度,q是一個實 數值q的取值范圍[0,1]。
[0029] 在上述的基于P2P點播系統的日志信息網絡結構化方法中,所述的日志信息為用 戶ID、視頻URL、播放方式、連接服務器時同一組中的Peer數、用戶IP、組內其他用戶ID、用戶 帶寬。
[0030] 在上述的基于P2P點播系統的日志信息網絡結構化方法中,所述的步驟4具體為
[0031] S41:獲取步驟3中的社區(qū)結構劃分的結果;
[0032] S42:對社區(qū)結構劃分的結果中的有效節(jié)點進行合并,并去除無效節(jié)點;
[0033] S43:以文件的形式存儲合并后的數據。
[0034] 同時本發(fā)明還提供一種用于實現上述的基于P2P點播系統的日志信息網絡結構化 方法的系統,包括以下結構:
[0035] 日志收集模塊,用于收集用戶的日志信息;
[0036] 社區(qū)網絡結構構造模塊,用于根據用戶的日志信息,構造以用戶為節(jié)點,用戶之間 的關系為邊,通過節(jié)點帶寬表示權重的社區(qū)網絡結構;
[0037]社區(qū)結構劃分模塊,用于根據LabelRank算法對社區(qū)網絡結構進行社區(qū)結構劃分, 得到多個社區(qū);
[0038] 合并模塊:用于對社區(qū)結構劃分模塊得到的社區(qū)結構劃分結果進行合并處理以除 去社區(qū)中的無效節(jié)點。
[0039] 在上述的基于P2P點播系統的日志信息網絡結構化系統中,所述的合并模塊包括 以下子模塊:
[0040] 結果獲取子模塊,用于獲取社區(qū)結構劃分模塊得到的社區(qū)結構劃分的結果;
[0041] 合并子模塊,用于對社區(qū)結構劃分的結果中的有效節(jié)點進行合并,并去除無效節(jié) 占 .
[0042] 存儲子模塊,用于以文件的形式存儲合并后的數據。
[0043] 與現有技術相比,本發(fā)明的有益效果在于:
[0044] 本發(fā)明通過采用LabelRank算法對社區(qū)網絡結構進行社區(qū)結構劃分,對操作算子-傳遞操作中對每個節(jié)點的標簽的概率設置閾值,每個節(jié)點只能存在于有限個社區(qū)內,即每 個節(jié)點保留有限個標簽,將屬于多個標簽的節(jié)點輸出,達到處理交叉社區(qū)的目的。
[0045] 在本發(fā)明中,通過研究社區(qū)檢測方法,分析P2P日志并對其形成的P2P網絡進行社 區(qū)檢測劃分,找出P2P網絡中的關鍵信息,形成更加合理、有效和穩(wěn)定的P2P網絡。
【附圖說明】
[0046] 圖1為本發(fā)明實施例1的流程圖;
[0047]圖2為本發(fā)明實施例1的流程圖;
[0048]圖3和4為本發(fā)明實施例1和2的傳遞操作的原理圖;
[0049] 圖5-7為本發(fā)明實施例1和2未經過合并處理的網絡結構圖;
[0050] 圖8為本發(fā)明實施例1經過合并處理的網絡結構圖;
[0051] 圖9為本發(fā)明實施例1的結構方框圖。
【具體實施方式】
[0052]下面結合【具體實施方式】,對本發(fā)明的技術方案作進一步的詳細說明,但不構成對 本發(fā)明的任何限制。
[0053] 實施例1
[0054]如圖1和2所示,一種基于P2P點播系統的日志信息網絡結構化方法,包括以下步 驟:
[0055]步驟1:收集用戶的日志信息;
[0056]步驟2:根據節(jié)點的日志信息,構造以用戶為節(jié)點,用戶之間的關系為邊,通過節(jié)點 帶寬表示權重的社區(qū)網絡結構;
[0057]節(jié)點之間的連接關系由如下算法流程計算:
[0058] 1)用戶ID為標識,可以統計到某一時刻播放相同視頻URL的Peer數和Peer的ID,由 此節(jié)點之間可以形成不具備權重的網絡結構關系。
[0059] 2)以用戶的帶寬關系設定權重系數,從而形成具備權重的網絡結構。
[0060] 上述是粗粒度的計算流程,在上述計算流程的基礎上,實際計算情況下需要考慮 到以下情況:
[0061 ] 1)統計鄰居Peer節(jié)點規(guī)則。
[0062]當某一節(jié)點與其他鄰居節(jié)點組成網絡時,我們需要設置一個閾值,當形成的網絡 的節(jié)點數量超過閾值時,我們才會把該網絡統計到網絡結構中,這樣可以過濾掉一些小型 網絡,因為通常小型網絡對形成P2P網絡的概率較小。
[0063] 2)計算Peer節(jié)點之間的聯系。
[0064]當某一節(jié)點與其他節(jié)點形成聯系時,往往需要用一個定量的值來衡量它們之間關 系的緊密程度,而這一緊密程度則用權重來表示,本技術是從節(jié)點的網絡帶寬關系來衡量 形成的網絡權重。
[0065]獲取節(jié)點帶寬方法:
[0066]計算節(jié)點帶寬的方法,因為P2P點播系統是基于Web形式的,因此我們是利用 JavaScript進行測速并記錄,從而達到記錄用戶的帶寬信息,我們主要利用JavaScript對 客戶端的帶寬進行測試。通過獲取每一個節(jié)點的帶寬信息,我們可以通過比例的形式生成 節(jié)點之間的權重信息,例如節(jié)點A和節(jié)點B與視頻C有聯系,節(jié)點A、B的帶寬分別為IO O K B、 200KB,則節(jié)點A和節(jié)點B與視頻C的聯系分別為1/3和2/3,進行歸一化。通過帶寬我們可以算 法一定的權重,但是有效權重還需要考慮節(jié)點具體的網速速率,如果網速速率小于某個設 定的參數值時,則把權重降低成〇。
[0067]步驟3:根據LabelRank算法對社區(qū)網絡結構進行社區(qū)結構劃分,得到多個社區(qū);其 中,LabelRank算法包含四個操作算子:傳遞操作、膨脹因子、裁剪系數、條件更新;
[0068] 1、傳遞操作
[0069] 在每個節(jié)點定義一個I Xη的向量P保存標簽分布,η為節(jié)點的數量;定義一個鄰接 矩陣A存儲網絡結構,則P1(C)代表節(jié)點i屬于標簽c的概率,標簽的集合用C表示,并且標簽 的個數初始化為節(jié)點的個數η,毎次計筧都需要更新每個節(jié)點的向量P,公式如下:
[0070] ''…⑴
[0071] 其中,Nb(i)是節(jié)點i的鄰居節(jié)點的集合,ki= |Nb(i) I是鄰居節(jié)點集合的節(jié)點數 量,P'Kc)代表更新后節(jié)點i屬于標簽c的概率,任一節(jié)點的標簽在網絡結構中都是唯一的, 然后接著計算可以由矩陣A和向量P如下表示:
[0072] AXP.............(2)
[0073]在傳遞操作算子中首先需要初始化向量P,初始化的具體方法為:每個節(jié)點的標簽 列表的概率Plj初始化為鄰居節(jié)點的權重和的倒數;如下所示:
[0074] Pij=w/ki............(3)
[0075] w表示節(jié)點i到節(jié)點j的權重;
[0076]經過上述步驟后得到每個節(jié)點的向量P;
[0077]在傳遞操作算子的每次計算的更新過程中,設置一個閾值λ,當節(jié)點的所屬標簽的 概率大于λ時,則保留,小于則舍棄;且當節(jié)點中所有的標簽概率都小于λ時,則隨機選取一 個保留;
[0078]傳遞操作如圖3所示,對每個節(jié)點進行初始化,以節(jié)點a為例,(b,1/4)代表的是節(jié) 點a屬于標簽b的概率為1/4,因為節(jié)點a有4個鄰居節(jié)點,默認每條邊的權重為1,因此得到1/ 4。同時設定閾值λ=1/2,當概率大于等于1/2時則保留;小于則舍棄;當節(jié)點所有都小于1/2 時,則隨機選取一個,并把概率設置為1??傻玫饺鐖D4所示結果。
[0079] 2、膨脹因子
[0080]在算法中,我們在向量P中使用膨脹因子Γιη來影響標簽傳遞,其中in是一個實數 值。我們使用膨脹因子來解耦網絡結構。每次計算F MPJ1。都會增加 inth次冪,如下公式所 示:
[0081:
[0082]計算后,它會使節(jié)點中高概率的標簽概率的數值增加,低概率的標簽概率數值減 少少。例如,兩個標簽初始化為0.6和0.4。當in為2時,計算后的標簽數值分別為0.6923和 0.4。
[0083] 3、裁剪系數
[0084] 為了避免內存占用過大的問題,我們在向量P中引入了一個操作符OrS義閾值r e[0,l],在計算過程中如果向量P中的標簽概率小于r則把向量中的標簽刪除掉。操作符 Φτ可以與膨脹因子很好的結合使用,減少向量中標簽的個數。實驗證明,如果把r = 0.1, 則每個節(jié)點的標簽的平均個數會低于3個。
[0085] 在本發(fā)明中,傳遞操作算子中同樣有一個閾值λ,其與本裁剪系數算子作用是不同 的;具體來說,閾值λ是為了使傳遞操作算子進行優(yōu)化,使每個節(jié)點具有一個或設置限制數 量個數的標簽,實現重疊社區(qū)的多標簽輸出。
[0086]但是本裁剪系數算子的作用主要是為了去除LabelRank算法中標簽概率過分小的 標簽,降低內存占用,提高計算速度。
[0087] 4、條件更新
[0088]
[0089]通過以上三個操作因子對網絡結構進行計算依舊不能很好的保證算法的性能,這 是因為上述三個條件對社區(qū)檢測的過程很難達到收斂,并且劃分出來的社區(qū)質量低下。因 此定義一個條件更新操作符Θ q,用它來對算法進行改進,其含義為當算法過程中只有節(jié)點 與其鄰居節(jié)點的標簽向量不相等時才更新該節(jié)點,否則不進行更新操作。這可以使算法只 有滿足一定條件時才進行更新并繼續(xù)社區(qū)檢測操作,在每次迭代中,當節(jié)點滿足下列公式 時,才進行更新操作。
[0090]
[0091] 是節(jié)點i在以往計算步驟中概率最大的標簽集合,ki表示節(jié)點i的度,q是一個實 數值(取值范圍[0,1])。如果>5 1^52,183油86丨(81,82)返回值為1否則為0,滿足上述公式時 更新節(jié)點i的標簽。公式可以看作成衡量兩個節(jié)點的相似度。
[0092] 筧法流稈如下衷1:
[0095]步驟4:對步驟3中的社區(qū)結構劃分結果進行合并處理以除去社區(qū)中的無效節(jié)點; 當需要進行數據傳輸時,采用合并處理后得到的對應社區(qū)內的有效節(jié)點進行數據傳輸。 [0096] LabelRank算法針對不同的時刻的輸入,對網絡結構進行劃分,從而產生不同時刻 相應的結果,但是考慮到實際的P2P點播系統,主要是要抓取對于某一資源,該節(jié)點是否能 夠作為資源服務提供方,能夠穩(wěn)定有效的傳輸的資源。因此我們需要針對每一時刻的劃分 結果進行合并處理,合并處理主要對屬于同一資源的有效節(jié)點進行合并,并且去除一些無 效節(jié)點,所謂的無效節(jié)點指的是不能作為資源提供方的節(jié)點,而是否能夠作為資源提供方 的主要考量因素在于節(jié)點帶寬,也就是本實施例中的權重,合并主要的步驟為:
[0097] S41:獲取步驟3中的社區(qū)結構劃分的結果;
[0098] S42:對社區(qū)結構劃分的結果中的有效節(jié)點進行合并,并去除無效節(jié)點;
[0099] S43:以文件的形式存儲合并后的數據。
[0100]對結果進行合并去除并以文件的形式對合并結果進行存儲,可以有利于點播系統 對結果進行讀取,并且快速的定位當前節(jié)點的情況,從而判定該節(jié)點是否作為有效節(jié)點加 入P2P網絡。
[0101] 如圖5、6、7所示,數字1-4代表的是用戶,數字10000以上代表的是視頻id,圖5、6、7 是由LabelRank根據時刻1-3輸出的3個結果,可以很清晰的看到,圖中的結果并不能很清晰 的看出網絡結構結果。對上述3個時刻的結果進行合并后,結果如圖8所示。
[0102] 通過上述的方法,可以加強P2P的網絡傳輸性能,提高P2P資源傳輸的有效性。通過 把社區(qū)檢測劃分技術應用到日志信息文件的劃分,系統可以從以往的運行情況,自動快速 的辨別當前用戶的網絡性能,從而把用戶節(jié)點都轉化為有效的P2P節(jié)點,P2P網絡的可靠性 得以保證。
[0103] 特別重要的是,在本發(fā)明的LabelRank算法中借鑒和糅合了⑶PRA的思想,在本發(fā) 明的傳遞操作中,設置一個閾值λ,當節(jié)點的所屬標簽的概率大于λ時,則保留,小于則舍 棄;有一例外情況,即當節(jié)點中所有的標簽概率都小于λ時,則隨機選取一個保留,這樣可以 使本發(fā)明可以克服LabelRank算法無法處理重疊社區(qū)的節(jié)點的缺陷,使一個節(jié)點存在于有 限個社區(qū)內,在傳遞操作中,可以保留每個節(jié)點的有限個標簽,將屬于多個標簽的節(jié)點輸 出,達到處理交叉社區(qū)的目的。
[0104] 實施例2
[0105] 本實施例提供一種用于實現實施例1所述的基于P2P點播系統的日志信息網絡結 構化方法的系統,包括以下結構:
[0106] 日志收集模塊1,用于收集用戶的日志信息;
[0107] 社區(qū)網絡結構構造模塊2,用于根據用戶的日志信息,構造以用戶為節(jié)點,用戶之 間的關系為邊,通過節(jié)點帶寬表示權重的社區(qū)網絡結構;
[0108] 社區(qū)結構劃分模塊3,用于根據LabelRank算法對社區(qū)網絡結構進行社區(qū)結構劃 分,得到多個社區(qū);
[0109] Labe IRank算法依賴于4個操作算子:
[0110] 1、傳遞操作
[0111]所述的傳遞操作具體為:在每個節(jié)點定義一個IXn的向量P保存標簽分布,η為節(jié) 點的數量;定義一個鄰接矩陣A存儲網絡結構,則P1(C)代表節(jié)點i屬于標簽c的概率,標簽的 集合用C表示,并且標簽的個數初始化為節(jié)點的個數n,每次計算都需要更新每個節(jié)點的向 量P,公式如下:
[0112] /ιλ
Cl)
[0113] 其中,Nb(i)是節(jié)點i的鄰居節(jié)點的集合,ki= |Nb(i) I是鄰居節(jié)點集合的節(jié)點數 量,P\(C)代表更新后節(jié)點i屬于標簽c的概率,然后接著計算可以由矩陣A和向量P如下表 示:
[0114] AXP.............(2)
[0115] 在傳遞操作算子中首先需要初始化向量P,初始化的具體方法為:每個節(jié)點的標簽 列表的概率Plj初始化為鄰居節(jié)點的權重和的倒數;如下所示:
[0116] Pij=w/ki............(3)
[0117] w表示節(jié)點i至Ij節(jié)點j的權重;
[0118] 經過上述步驟后得到每個節(jié)點的向量P;
[0119] 在傳遞操作算子的每次計算的更新過程中,設置一個閾值λ,當節(jié)點的所屬標簽的 概率大于λ時,則保留,小于則舍棄;且當節(jié)點中所有的標簽概率都小于λ時,則隨機選取一 個保留;
[0120]傳遞操作如圖3所示,對每個節(jié)點進行初始化,以節(jié)點a為例,(b,1/4)代表的是節(jié) 點a屬于標簽b的概率為1/4,因為節(jié)點a有4個鄰居節(jié)點,默認每條邊的權重為1,因此得到1/ 4。同時設定閾值λ=1/2,當概率大于等于1/2時則保留;小于則舍棄;當節(jié)點所有都小于1/2 時,則隨機選取一個,并把概率設置為1??傻玫饺鐖D4所示結果。
[0121] 2、膨脹因子
[0122] 在算法中,我們在向量P中使用膨脹因子Γιη來影響標簽傳遞,其中in是一個實數 值。我們使用膨脹因子來解耦網絡結構。每次計算F MPJ1。都會增加 inth次冪,如下公式所 示:
[0123]
[0124] 計算后,它會使節(jié)點中高概率的標簽概率的數值增加,低概率的標簽概率數值減 少。例如,兩個標簽初始化為0.6和0.4。當in為2時,計算后的標簽數值分別為0.6923和0.4。 [0125] 3、裁剪系數
[0126] 為了避免內存占用過大的問題,我們在向量P中引入了一個操作符OrS義閾值r e[0,l],在計算過程中如果向量P中的標簽概率小于r則把向量中的標簽刪除掉。操作符 Φτ可以與膨脹因子很好的結合使用,減少向量中標簽的個數。實驗證明,如果把r = 0.1,則 每個節(jié)點的標簽的平均個數會低于3個。
[0127] 4、條件更新
[0128] 通過以上三個操作因子對網絡結構進行計算依舊不能很好的保證算法的性能,這 是因為上述三個條件對社區(qū)檢測的過程很難達到收斂,并且劃分出來的社區(qū)質量低下。因 此定義一個條件更新操作符Θ q,用它來對算法進行改進,其含義為當算法過程中只有節(jié)點 與其鄰居節(jié)點的標簽向量不相等時才更新該節(jié)點,否則不進行更新操作。這可以使算法只 有滿足一定條件時才進行更新并繼續(xù)社區(qū)檢測操作,在每次迭代中,當節(jié)點滿足下列公式 時,才進行更新操作。
[0129]
[0130] Cf是節(jié)點i在以往計算步驟中概率最大的標簽集合,ki表示節(jié)點i的度,q是一個實 數值(取值范圍[0,1])。如果Ad^SubsetU#)返回值為1否則為0,滿足上述公式時 更新節(jié)點i的標簽。公式可以看作成衡量兩個節(jié)點的相似度。
[0131] 算法流程如下表2: 券9
L0133」合并模塊4:用于對社區(qū)結構劃分模塊得到的社區(qū)結構劃分結果進行合并處理以 除去社區(qū)中的無效節(jié)點,并通過合并處理后得到的對應社區(qū)內的有效節(jié)點進行數據傳輸。
[0134] 所述的合并模塊4包括以下子模塊:
[0135] 結果獲取子模塊41,用于獲取社區(qū)結構劃分模塊得到的社區(qū)結構劃分的結果;
[0136] 合并子模塊42,用于對社區(qū)結構劃分的結果中的有效節(jié)點進行合并,并去除無效 節(jié)點;
[0137] 存儲子模塊43,用于以文件的形式存儲合并后的數據。
[0138] 對結果進行合并去除并以文件的形式對合并結果進行存儲,可以有利于點播系統 對結果進行讀取,并且快速的定位當前節(jié)點的情況,從而判定該節(jié)點是否作為有效節(jié)點加 入P2P網絡。
[0139] 如圖5、6、7所示,數字1-4代表的是用戶,數字10000以上代表的是視頻id,圖5、6、7 是由LabelRank根據時刻1-3輸出的3個結果,可以很清晰的看到,圖中的結果并不能很清晰 的看出網絡結構結果。對上述3個時刻的結果進行合并后,結果如圖8所示。
[0140] 通過上述的系統,可以加強P2P的網絡傳輸性能,提高P2P資源傳輸的有效性。通過 把社區(qū)檢測劃分技術應用到日志信息文件的劃分,系統可以從以往的運行情況,自動快速 的辨別當前用戶的網絡性能,從而把用戶節(jié)點都轉化為有效的P2P節(jié)點,P2P網絡的可靠性 得以保證。
[0141]以上所述的僅為本發(fā)明的較佳實施例,凡在本發(fā)明的精神和原則范圍內所作的任 何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內。
【主權項】
1. 一種基于P2P點播系統的日志信息網絡結構化方法,其特征在于,包括W下步驟: 步驟1:收集用戶的日志信息; 步驟2:根據節(jié)點的日志信息,構造W用戶為節(jié)點,用戶之間的關系為邊,通過節(jié)點帶寬 表示權重的社區(qū)網絡結構; 步驟3:根據LabelRank算法對社區(qū)網絡結構進行社區(qū)結構劃分,得到多個社區(qū);其中, LabelRank算法包含一個操作算子:傳遞操作; 所述的傳遞操作具體為:在每個節(jié)點定義一個IXn的向量P保存標簽分布,n為節(jié)點的 數量;定義一個鄰接矩陣A存儲網絡結構,貝化I(C)代表節(jié)點i屬于標簽C的概率,標簽的集合 用C表示,并且標簽的個數初始化為節(jié)點的個數n,每次計算都需要更新每個節(jié)點的向量P, 公式如下:C1 其中,Nb(i)是節(jié)點i的鄰居節(jié)點的集合,ki=|Nb(i)|是鄰居節(jié)點集合的節(jié)點數量,P'l (C)代表更新后節(jié)點i屬于標簽C的概率,然后接著計算可W由矩陣A和向量P如下表示: AXP.............(2) 在傳遞操作算子中首先需要初始化向量P,初始化的具體方法為:每個節(jié)點的標簽列表 的概率Pu初始化為鄰居節(jié)點的權重和的倒數;如下所示: Pij = w/ki............(3) W表示節(jié)點巧Ij節(jié)點j的權重; 經過上述步驟后得到每個節(jié)點的向量P; 在傳遞操作算子的每次計算的更新過程中,設置一個闊值A,當節(jié)點的所屬標簽的概率 大于A時,則保留,小于則舍棄;且當節(jié)點中所有的標簽概率都小于A時,則隨機選取一個保 留; 步驟4:對步驟3中的社區(qū)中的節(jié)點進行合并處理W除去社區(qū)中的無效節(jié)點。2. 根據權利要求1所述的基于P2P點播系統的日志信息網絡結構化方法,其特征在于, 所述的LabelRank算法還包括一個操作算子:膨脹因子; 所述的膨脹因子具體為:在向量P中使用膨脹因子Tin來影響標簽傳遞,其中in是一個 實數值,通過使用膨脹因子來解禪網絡結構,每次計算TinP,Pi。都會增加inth次幕,如下公 式所示:計算后,它會使節(jié)點中高概率的標簽概率的數值增加,低概率的標簽概率的數值減少。3. 根據權利要求1所述的基于P2P點播系統的日志信息網絡結構化方法,其特征在于, 所述的LabelRank算法還包括一個操作算子:裁剪系數; 所述的裁剪系數具體為:在向量P中引入了一個操作符〇,定義闊值rG[0,l],在計算過 程中如果向量P中的標簽概率小于r則把向量中的標簽刪除掉。4. 根據權利要求1所述的基于P2P點播系統的日志信息網絡結構化方法,其特征在于, 所述的LabelRank算法還包括一個操作算子:條件更新; 所述的條件更新具體為:定義一個條件更新操作符0 q,其含義為當算法過程中只有節(jié) 點與其鄰居節(jié)點的標簽向量不相等時才更新該節(jié)點,否則不進行更新操作;即在每次迭代 中,當節(jié)點滿足下列公式時,才進行更新操作;C是節(jié)點i在W往計算步驟中概率最大的標簽集合,ki表示節(jié)點i的度,q是一個實數值, q的取值范圍[〇,1]。5. 根據權利要求1所述的基于P2P點播系統的日志信息網絡結構化方法,其特征在于, 所述的日志信息為用戶ID、視頻U化、視頻播放方式、連接服務器時同一組中的化er數、用戶 IP、組內其他用戶ID、用戶帶寬。6. 根據權利要求1所述的基于P2P點播系統的日志信息網絡結構化方法,其特征在于, 所述的步驟4具體為 S41:獲取步驟3中的社區(qū)結構劃分的結果; S42:對社區(qū)結構劃分的結果中的有效節(jié)點進行合并,并去除無效節(jié)點; S43: W文件的形式存儲合并后的數據。7. -種用于實現權利要求1所述的基于P2P點播系統的日志信息網絡結構化方法的系 統,其特征在于,包括W下結構: 日志收集模塊,用于收集用戶的日志信息; 社區(qū)網絡結構構造模塊,用于根據用戶的日志信息,構造W用戶為節(jié)點,用戶之間的關 系為邊,通過節(jié)點帶寬表示權重的社區(qū)網絡結構; 社區(qū)結構劃分模塊,用于根據LabelRank算法對社區(qū)網絡結構進行社區(qū)結構劃分,得到 多個社區(qū); 合并模塊:用于對社區(qū)結構劃分模塊得到的社區(qū)結構劃分結果進行合并處理W除去社 區(qū)中的無效節(jié)點。8. 根據權利要求7所述的基于P2P點播系統的日志信息網絡結構化系統,其特征在于, 所述的合并模塊包括W下子模塊: 結果獲取子模塊,用于獲取社區(qū)結構劃分模塊得到的社區(qū)結構劃分的結果; 合并子模塊,用于對社區(qū)結構劃分的結果中的有效節(jié)點進行合并,并去除無效節(jié)點; 存儲子模塊,用于W文件的形式存儲合并后的數據。
【文檔編號】H04L29/08GK105915376SQ201610229218
【公開日】2016年8月31日
【申請日】2016年4月13日
【發(fā)明人】李 東, 付雅晴, 張國鵬
【申請人】華南理工大學