欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于社交關(guān)系的BitTorrent阻塞算法的制作方法

文檔序號(hào):12494265閱讀:261來源:國知局

本發(fā)明涉及網(wǎng)絡(luò)文件傳輸技術(shù)領(lǐng)域,更具體地,涉及一種基于社交關(guān)系的BitTorrent阻塞算法。



背景技術(shù):

傳統(tǒng)的數(shù)據(jù)下載大多是基于客戶端/服務(wù)端(C/S)模型,但隨著互聯(lián)網(wǎng)的高速發(fā)展,用戶規(guī)模急劇增加,這種單一的服務(wù)器上傳帶寬、處理能力成為性能瓶頸,除此之外還存在系統(tǒng)魯棒性差和帶寬資源浪費(fèi)等問題.

在這種背景下,對(duì)等(peer-to-peer,簡稱P2P)網(wǎng)絡(luò)迅速發(fā)展。P2P不像傳統(tǒng)網(wǎng)絡(luò)依賴于單一的中心服務(wù)器,而是讓客戶端同時(shí)肩負(fù)服務(wù)端和客戶端的工作,客戶端之間可以直接交換數(shù)據(jù)。

BitTorrent系統(tǒng)是P2P文件分發(fā)最常用的系統(tǒng),在BT系統(tǒng)中存在節(jié)點(diǎn)只下載不上傳,即所謂的“搭便車”情況,Tit-for-Tat阻塞算法為此而設(shè)計(jì),下載集群中的節(jié)點(diǎn)每10秒運(yùn)行一次TFT阻塞算法來選擇對(duì)本節(jié)點(diǎn)所擁有資源塊感興趣且對(duì)本節(jié)點(diǎn)最近上傳貢獻(xiàn)最大的4個(gè)節(jié)點(diǎn)提供上傳服務(wù)。但這種阻塞算法引入了新的問題,即“第一塊資源獲取難”和“節(jié)點(diǎn)僵持”。對(duì)于新加入的節(jié)點(diǎn),由于之前沒有為其他節(jié)點(diǎn)服務(wù)過,根據(jù)TFT算法,會(huì)存在其它節(jié)點(diǎn)不為該節(jié)點(diǎn)提供上傳服務(wù)的情況;同時(shí)對(duì)于兩個(gè)之前沒有互動(dòng)過的節(jié)點(diǎn),雙方也不會(huì)主動(dòng)為對(duì)方提供上傳服務(wù)。

在真實(shí)的社交關(guān)系中,同一個(gè)朋友圈的用戶通常具有相似的身份、興趣愛好以及類似的朋友交際。隨著互聯(lián)網(wǎng)對(duì)人們生活的滲入,有共同愛好的人可以在網(wǎng)上創(chuàng)建自己的興趣圈。當(dāng)他們需要某個(gè)興趣相關(guān)資源時(shí),往往會(huì)先向興趣相投的朋友尋求資源;當(dāng)擁有相關(guān)資源時(shí),往往也會(huì)主動(dòng)與他們分享。每一個(gè)P2P客戶端一般都有一個(gè)真實(shí)的社會(huì)人在操控著,這些客戶端可以看做是真實(shí)人類在網(wǎng)絡(luò)世界中的一個(gè)映射。通過真實(shí)的社交關(guān)系建立的下載集群里的客戶端,往往以更大的概率將服務(wù)提供給那些與自己有親密關(guān)系的客戶端,所以一定程度上避免了只下載不上傳情況的發(fā)生;同時(shí)由于社交關(guān)系的引入,BT系統(tǒng)的“第一塊資源獲取難”和“節(jié)點(diǎn)僵持”的問題也得到了緩解。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明提供一種提升BT系統(tǒng)性能的基于社交關(guān)系的BitTorrent阻塞算法。

為了達(dá)到上述技術(shù)效果,本發(fā)明的技術(shù)方案如下:

一種基于社交關(guān)系的BitTorrent阻塞算法,包括以下步驟:

S1:Tracker服務(wù)器每隔10秒獲取該下載集群內(nèi)各個(gè)節(jié)點(diǎn)的最新朋友列表,并構(gòu)造評(píng)分矩陣Mn*n;

S2:對(duì)矩陣Mn*n做矩陣分解,用隨機(jī)梯度下降法求出Mn*m矩陣,使得Mn*n=Wn*m*Qm*n成立,其中Mn*m是兩個(gè)矩陣的乘積,其中m是隱因子的個(gè)數(shù),Wn*m的每行表示節(jié)點(diǎn)對(duì)各個(gè)隱因子的喜歡程度,Qm*n的每一列表示節(jié)點(diǎn)在各個(gè)隱因子上的概率分布;

S3:對(duì)于某個(gè)上傳節(jié)點(diǎn),遍歷其朋友列表和鄰居節(jié)點(diǎn),將對(duì)本節(jié)點(diǎn)所擁有資源塊感興趣的節(jié)點(diǎn)選出,組成候選列表;

S4:對(duì)于上傳節(jié)點(diǎn)i和候選列表中的任意節(jié)點(diǎn)j,根據(jù)Wn*m計(jì)算出相似度S(i,j);

S5:根據(jù)j的活躍值、j與i的相似度以及j是否擁有i感興趣的資源塊,計(jì)算出i與j的親密值;

S6:對(duì)候選列表中的節(jié)點(diǎn)按照計(jì)算出的親密值從大到小排序,對(duì)前4個(gè)節(jié)點(diǎn)發(fā)送所需資源塊,對(duì)其余候選節(jié)點(diǎn)阻塞。

進(jìn)一步地,所述Tracker服務(wù)器收集下載節(jié)點(diǎn)信息,并提供各節(jié)點(diǎn)信息給下載節(jié)點(diǎn),當(dāng)新節(jié)點(diǎn)加入下載時(shí),會(huì)先與Tracker服務(wù)器連接注冊(cè);Tracker服務(wù)器將其鄰居節(jié)點(diǎn)信息發(fā)給該節(jié)點(diǎn),使其能與鄰居節(jié)點(diǎn)連接起來,相互傳輸數(shù)據(jù)。

進(jìn)一步地,所述Tracker服務(wù)器獲取各個(gè)節(jié)點(diǎn)的朋友列表、構(gòu)造矩陣Mn*n及求出Wn*m并且每10秒計(jì)算一次。

進(jìn)一步地,所述步驟S1中構(gòu)造評(píng)分矩陣Mn*n的過程如下:

矩陣An*n表示節(jié)點(diǎn)朋友關(guān)系矩陣,其中Aij表示節(jié)點(diǎn)i與j的親近程度,值越高表示越親近,其中i,j表示節(jié)點(diǎn)ID;SUMi表示i的朋友列表中的朋友個(gè)數(shù),若j在i的朋友列表中,則Aij=1/SUMi,否則Aij=0;

矩陣Bn*n表示三度朋友關(guān)系的朋友矩陣,其中

λ123=1且λ1≥λ2≥λ3≥0;

構(gòu)造評(píng)分矩陣α為常量,且α+min(log(Bij))>0,即調(diào)整Mn*m中有值的各項(xiàng),使之大于0,Mij表示節(jié)點(diǎn)i對(duì)節(jié)點(diǎn)j的評(píng)分,評(píng)分越高,表示節(jié)點(diǎn)間越親密。

進(jìn)一步地,使用隨機(jī)梯度下降法計(jì)算Mn*n=Wn*m*Qm*n中的Wn*m,具體操作如下:

令其中表示矩陣Qm*n的第j列,是矩陣Wn*m第i行向量的轉(zhuǎn)置,是一個(gè)列向量,對(duì)所有的Mij≠null,與Mij的值盡量接近,使得gap的值盡可能小;

引入加入權(quán)重函數(shù)有:

其中權(quán)重函數(shù)

max是常量;

使用隨機(jī)梯度下降法計(jì)算中的Wn*m

Wn*m=[w0,w1,w2,…,wn-1]T。

進(jìn)一步地,計(jì)算節(jié)點(diǎn)i和節(jié)點(diǎn)j的相似度的公式如下:

S(i,j)=wi·wj

越相似的節(jié)點(diǎn),其隱因子向量的夾角就越小,而根據(jù)向量夾角計(jì)算公式:

其中因?yàn)閣i·wj是單位向量,所以|wi|和|wj|的值都是1,而且夾角大小與夾角的余弦值成反比,wi·wj的結(jié)果越大,節(jié)點(diǎn)i和j就越相似,反之亦然。

進(jìn)一步地,節(jié)點(diǎn)間的親密度計(jì)算公式如下:

f(i,j)=a*Active+b*S(i,j)+c*Interest,a+b+c=1

其中,Active表示候選列表中節(jié)點(diǎn)的活躍值,Interest表示是否擁有本節(jié)點(diǎn)感興趣的資源的加權(quán)值,如果候選列表中的節(jié)點(diǎn)擁有上傳節(jié)點(diǎn)感興趣的資源則Interest=1,否則Interest=0,a、b、c為常數(shù)均大于0。

本發(fā)明中,計(jì)算出上傳節(jié)點(diǎn)與候選列表中節(jié)點(diǎn)的親密值,并將候選列表中的節(jié)點(diǎn)按照親密值從大到小順序排列,選出親密值最大的前4個(gè)節(jié)點(diǎn),給它們上傳所需要的資源塊,同時(shí)阻塞其它候選列表中的節(jié)點(diǎn);考慮到存在新加入節(jié)點(diǎn)與其它節(jié)點(diǎn)的親密度過低的情況,同原有的BitTorrent系統(tǒng)一致,每30秒會(huì)運(yùn)行一次樂觀阻塞算法,隨機(jī)選擇一個(gè)對(duì)上傳節(jié)點(diǎn)資源感興趣的鄰居節(jié)點(diǎn)上傳資源塊。

與現(xiàn)有技術(shù)相比,本發(fā)明技術(shù)方案的有益效果是:

本發(fā)明通過將社交關(guān)系引入P2P系統(tǒng)中,同時(shí)深入挖掘節(jié)點(diǎn)間表示的社交關(guān)系。從而使節(jié)點(diǎn)更傾向于給相似度更高的節(jié)點(diǎn)上傳資源,而相似度高的節(jié)點(diǎn)在以后的下載集群中互傳文件的概率更高,從而大大減少了節(jié)點(diǎn)只下載不上傳情況的發(fā)生。而且新提出的阻塞算法是根據(jù)節(jié)點(diǎn)的親密度來決定給哪些節(jié)點(diǎn)上傳資源塊,從而大大降低了節(jié)點(diǎn)獲取第一塊資源難和節(jié)點(diǎn)僵持發(fā)生的概率,提升了BT系統(tǒng)的性能。

附圖說明

圖1為本發(fā)明算法流程圖。

具體實(shí)施方式

附圖僅用于示例性說明,不能理解為對(duì)本專利的限制;

為了更好說明本實(shí)施例,附圖某些部件會(huì)有省略、放大或縮小,并不代表實(shí)際產(chǎn)品的尺寸;

對(duì)于本領(lǐng)域技術(shù)人員來說,附圖中某些公知結(jié)構(gòu)及其說明可能省略是可以理解的。

下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的說明。

實(shí)施例1

如圖1所示,一種基于社交關(guān)系的BitTorrent阻塞算法,包括以下步驟:

S1:Tracker服務(wù)器每隔10秒獲取該下載集群內(nèi)各個(gè)節(jié)點(diǎn)的最新朋友列表,并構(gòu)造評(píng)分矩陣Mn*n

S2:對(duì)矩陣Mn*n做矩陣分解,用隨機(jī)梯度下降法求出Mn*m矩陣,使得Mn*n=Wn*m*Qm*n成立,其中Mn*m是兩個(gè)矩陣的乘積,其中m是隱因子的個(gè)數(shù),Wn*m的每行表示節(jié)點(diǎn)對(duì)各個(gè)隱因子的喜歡程度,Qm*n的每一列表示節(jié)點(diǎn)在各個(gè)隱因子上的概率分布;

S3:對(duì)于某個(gè)上傳節(jié)點(diǎn),遍歷其朋友列表和鄰居節(jié)點(diǎn),將對(duì)本節(jié)點(diǎn)所擁有資源塊感興趣的節(jié)點(diǎn)選出,組成候選列表;

S4:對(duì)于上傳節(jié)點(diǎn)i和候選列表中的任意節(jié)點(diǎn)j,根據(jù)Wn*m計(jì)算出相似度S(i,j);

S5:根據(jù)j的活躍值、j與i的相似度以及j是否擁有i感興趣的資源塊,計(jì)算出i與j的親密值;

S6:對(duì)候選列表中的節(jié)點(diǎn)按照計(jì)算出的親密值從大到小排序,對(duì)前4個(gè)節(jié)點(diǎn)發(fā)送所需資源塊,對(duì)其余候選節(jié)點(diǎn)阻塞。

Tracker服務(wù)器收集下載節(jié)點(diǎn)信息,并提供各節(jié)點(diǎn)信息給下載節(jié)點(diǎn),當(dāng)新節(jié)點(diǎn)加入下載時(shí),會(huì)先與Tracker服務(wù)器連接注冊(cè);Tracker服務(wù)器將其鄰居節(jié)點(diǎn)信息發(fā)給該節(jié)點(diǎn),使其能與鄰居節(jié)點(diǎn)連接起來,相互傳輸數(shù)據(jù)。

Tracker服務(wù)器獲取各個(gè)節(jié)點(diǎn)的朋友列表、構(gòu)造矩陣Mn*n及求出Wn*m并且每10秒計(jì)算一次。

步驟S1中構(gòu)造評(píng)分矩陣Mn*n的過程如下:

矩陣An*n表示節(jié)點(diǎn)朋友關(guān)系矩陣,其中Aij表示節(jié)點(diǎn)i與j的親近程度,值越高表示越親近,其中i,j表示節(jié)點(diǎn)ID;SUMi表示i的朋友列表中的朋友個(gè)數(shù),若j在i的朋友列表中,則Aij=1/SUMi,否則Aij=0;

矩陣Bn*n表示三度朋友關(guān)系的朋友矩陣,其中λ123=1且λ1≥λ2≥λ3≥0;

構(gòu)造評(píng)分矩陣α為常量,且α+min(log(Bij))>0,即調(diào)整Mn*m中有值的各項(xiàng),使之大于0,Mij表示節(jié)點(diǎn)i對(duì)節(jié)點(diǎn)j的評(píng)分,評(píng)分越高,表示節(jié)點(diǎn)間越親密。

使用隨機(jī)梯度下降法計(jì)算Mn*n=Wn*m*Qm*n中的Wn*m,具體操作如下:

令其中表示矩陣Qm*n的第j列,是矩陣Wn*m第i行向量的轉(zhuǎn)置,是一個(gè)列向量,對(duì)所有的Mij≠null,與Mij的值盡量接近,使得gap的值盡可能小;

引入加入權(quán)重函數(shù)有:

其中權(quán)重函數(shù)

max是常量;

使用隨機(jī)梯度下降法計(jì)算中的Wn*m

Wn*m=[w0,w1,w2,…,wn-1]T。

進(jìn)一步地,計(jì)算節(jié)點(diǎn)i和節(jié)點(diǎn)j的相似度的公式如下:

S(i,j)=wi·wj

越相似的節(jié)點(diǎn),其隱因子向量的夾角就越小,而根據(jù)向量夾角計(jì)算公式:

其中因?yàn)閣i·wj是單位向量,所以|wi|和|wj|的值都是1,而且夾角大小與夾角的余弦值成反比,wi·wj的結(jié)果越大,節(jié)點(diǎn)i和j就越相似,反之亦然。

進(jìn)一步地,節(jié)點(diǎn)間的親密度計(jì)算公式如下:

f(i,j)=a*Active+b*S(i,j)+c*Interest,a+b+c=1

其中,Active表示候選列表中節(jié)點(diǎn)的活躍值,Interest表示是否擁有本節(jié)點(diǎn)感興趣的資源的加權(quán)值,如果候選列表中的節(jié)點(diǎn)擁有上傳節(jié)點(diǎn)感興趣的資源則Interest=1,否則Interest=0,a、b、c為常數(shù)均大于0。

本發(fā)明中,計(jì)算出上傳節(jié)點(diǎn)與候選列表中節(jié)點(diǎn)的親密值,并將候選列表中的節(jié)點(diǎn)按照親密值從大到小順序排列,選出親密值最大的前4個(gè)節(jié)點(diǎn),給它們上傳所需要的資源塊,同時(shí)阻塞其它候選列表中的節(jié)點(diǎn);考慮到存在新加入節(jié)點(diǎn)與其它節(jié)點(diǎn)的親密度過低的情況,同原有的BitTorrent系統(tǒng)一致,每30秒會(huì)運(yùn)行一次樂觀阻塞算法,隨機(jī)選擇一個(gè)對(duì)上傳節(jié)點(diǎn)資源感興趣的鄰居節(jié)點(diǎn)上傳資源塊。

本方法實(shí)通過將社交關(guān)系引入P2P系統(tǒng)中,同時(shí)深入挖掘節(jié)點(diǎn)間表示的社交關(guān)系。從而使節(jié)點(diǎn)更傾向于給相似度更高的節(jié)點(diǎn)上傳資源,而相似度高的節(jié)點(diǎn)在以后的下載集群中互傳文件的概率更高,從而大大減少了節(jié)點(diǎn)只下載不上傳情況的發(fā)生。而且新提出的阻塞算法是根據(jù)節(jié)點(diǎn)的親密度來決定給哪些節(jié)點(diǎn)上傳資源塊,從而大大降低了節(jié)點(diǎn)獲取第一塊資源難和節(jié)點(diǎn)僵持發(fā)生的概率,提升了BT系統(tǒng)的性能。

相同或相似的標(biāo)號(hào)對(duì)應(yīng)相同或相似的部件;

附圖中描述位置關(guān)系的用于僅用于示例性說明,不能理解為對(duì)本專利的限制;

顯然,本發(fā)明的上述實(shí)施例僅僅是為清楚地說明本發(fā)明所作的舉例,而并非是對(duì)本發(fā)明的實(shí)施方式的限定。對(duì)于所屬領(lǐng)域的普通技術(shù)人員來說,在上述說明的基礎(chǔ)上還可以做出其它不同形式的變化或變動(dòng)。這里無需也無法對(duì)所有的實(shí)施方式予以窮舉。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明權(quán)利要求的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
聊城市| 报价| 家居| 建水县| 长垣县| 吴旗县| 东港市| 洛隆县| 万载县| 南宁市| 磐安县| 赞皇县| 宜阳县| 株洲县| 三门峡市| 赞皇县| 临城县| 蓬莱市| 玉山县| 青铜峡市| 永嘉县| 兴隆县| 彝良县| 布尔津县| 镇赉县| 延川县| 界首市| 泸州市| 无为县| 大埔县| 偏关县| 吉首市| 苏尼特右旗| 南城县| 元氏县| 成安县| 南平市| 桃江县| 德江县| 汉寿县| 枣强县|