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

用于處理協(xié)同過濾距離的方法和系統(tǒng)的制作方法

文檔序號(hào):6383315閱讀:219來源:國(guó)知局
專利名稱:用于處理協(xié)同過濾距離的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體涉及一種用于處理協(xié)同過濾距離的方法和系統(tǒng)。
背景技術(shù)
互聯(lián)網(wǎng)上的信息資源呈指數(shù)膨脹帶來了所謂的“信息過載”和“信息迷向”問題,即人們很難找到自己感興趣的信息,即使找到了一些,也經(jīng)常混有很多“噪音”。因此出現(xiàn)了面向互聯(lián)網(wǎng)的信息檢索、信息過濾和協(xié)同過濾等技術(shù)。但信息檢索不具有智能性,不能學(xué)習(xí)用戶的興趣,尤其是對(duì)具有特定專業(yè)興趣的用戶,輸入相同的關(guān)鍵詞只能得到相同的檢索結(jié)果。信息過濾不能對(duì)同一主題的過濾結(jié)果區(qū)分質(zhì)量好壞,并且隨著信息資源的劇增,更有效的過濾需要結(jié)合人們的質(zhì)量評(píng)價(jià)信息?;谠摲N需求,出現(xiàn)了推薦系統(tǒng),推薦系統(tǒng)是為解決信息過載問題而提出的一種智能代理系統(tǒng),能從大量信息中向用戶自動(dòng)推薦出符合其興趣偏好或需求的資源。隨著互聯(lián)網(wǎng)的普及和飛速發(fā)展,推薦系統(tǒng)已經(jīng)被廣泛應(yīng)用于各種領(lǐng)域,尤其在電子商務(wù)領(lǐng)域,推薦系統(tǒng)得到了越來越多的研究和應(yīng)用。目前,幾乎所有的大型電子商務(wù)網(wǎng)站都不同程度的使用了各種形式的推薦系統(tǒng),比如Amazon、CDNOff> eBay和當(dāng)當(dāng)網(wǎng)上書店等。其中,協(xié)同過濾技術(shù)在當(dāng)前推薦系統(tǒng)的應(yīng)用中獲得了較大的成功。協(xié)同過濾是一類推薦算法。協(xié)同過濾考慮了用戶的評(píng)價(jià)信息。協(xié)同過濾分析用戶興趣,在用戶群中找到指定用戶的相似(興趣)用戶,綜合這些相似用戶對(duì)某一信息的評(píng)價(jià),形成系統(tǒng)對(duì)該指定用戶對(duì)此信息的喜好程度的預(yù)測(cè)。主要分為基于用戶的協(xié)同過濾(User based)和基于商品的(Item based)兩種。例如基于用戶的協(xié)同過濾算法,它的基本思想是如果要為一個(gè)用戶推薦其沒有的商品,首先計(jì)算其它用戶和這個(gè)用戶的喜好的相似程度,然后從與其喜好最相似的若干用戶中找到這個(gè)用戶沒有的商品進(jìn)行推薦?;谏唐返膮f(xié)同過濾原理類似。因此算法中非常重要的一步就是計(jì)算所有用戶間的相似程度(也即協(xié)同過濾距離)。在互聯(lián)網(wǎng)環(huán)境下,用戶和商品都是海量數(shù)據(jù),同時(shí)由于實(shí)效性對(duì)算法有一定的時(shí)間要求,而現(xiàn)有技術(shù)中對(duì)于協(xié)同過濾距離的計(jì)算基本上是在一個(gè)計(jì)算服務(wù)器上進(jìn)行,而當(dāng)遭遇超大量的用戶,比如百萬(wàn)數(shù)量級(jí)的時(shí)候,采用單服務(wù)器計(jì)算則時(shí)效太慢,并且對(duì)于硬件的要求比較高。

發(fā)明內(nèi)容
鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的一種用于處理協(xié)同過濾距離的系統(tǒng)和相應(yīng)的一種用于處理協(xié)同過濾距離的方法。依據(jù)本發(fā)明的一個(gè)方面,提供了一種用于處理協(xié)同過濾距離的方法,包括針對(duì)至少兩個(gè)計(jì)算服務(wù)器,每個(gè)參與計(jì)算的計(jì)算服務(wù)器讀取并存儲(chǔ)相應(yīng)的分塊矩陣數(shù)據(jù);所述分塊矩陣數(shù)據(jù)為從原始矩陣數(shù)據(jù)中分配給所述計(jì)算服務(wù)器的分塊矩陣數(shù)據(jù);每個(gè)參與計(jì)算計(jì)算服務(wù)器計(jì)算本地的分塊矩陣數(shù)據(jù),獲得本地分塊矩陣數(shù)據(jù)的協(xié)同過濾距離子矩陣;
每個(gè)參與計(jì)算的計(jì)算服務(wù)器進(jìn)行各計(jì)算服務(wù)器間的循環(huán)通信計(jì)算,獲得本地分塊 矩陣數(shù)據(jù)的協(xié)同過濾距離子矩陣;所述每個(gè)參與計(jì)算的計(jì)算服務(wù)器進(jìn)行各計(jì)算服務(wù)器間的 循環(huán)通信計(jì)算,獲取協(xié)同過濾距離子矩陣具體包括
針對(duì)每個(gè)參與計(jì)算的計(jì)算服務(wù)器,確認(rèn)當(dāng)前計(jì)算服務(wù)器對(duì)應(yīng)的目的計(jì)算服務(wù)器; 所述目的計(jì)算服務(wù)器用于接收當(dāng)前計(jì)算服務(wù)器發(fā)送的本地的矩陣數(shù)據(jù);
每個(gè)參與計(jì)算的計(jì)算服務(wù)器發(fā)送本地的分塊矩陣數(shù)據(jù)至目的計(jì)算服務(wù)器,并接收 其他計(jì)算服務(wù)器發(fā)送的分塊矩陣數(shù)據(jù);所述其他計(jì)算服務(wù)器為將當(dāng)前計(jì)算服務(wù)器確認(rèn)為目 的服務(wù)器的計(jì)算服務(wù)器;
每個(gè)接收到分塊矩陣數(shù)據(jù)的計(jì)算服務(wù)器,結(jié)合本地的分塊矩陣數(shù)據(jù),計(jì)算獲得本 地的分塊矩陣數(shù)據(jù)和接收到的分塊矩陣數(shù)據(jù)之間的協(xié)同過濾距離子矩陣;
將每個(gè)參與計(jì)算的計(jì)算服務(wù)器計(jì)算得到的所有協(xié)同過濾子矩陣進(jìn)行統(tǒng)一轉(zhuǎn)換,獲 得完整的協(xié)同過濾矩陣。
可選的,所述針對(duì)每個(gè)參與計(jì)算的計(jì)算服務(wù)器,確認(rèn)當(dāng)前計(jì)算服務(wù)器對(duì)應(yīng)的目的 計(jì)算服務(wù)器包括
所述針對(duì)每個(gè)參與計(jì)算的計(jì)算服務(wù)器,根據(jù)當(dāng)前的循環(huán)通信計(jì)算輪次、當(dāng)前計(jì)算 服務(wù)器的標(biāo)識(shí)和計(jì)算服務(wù)器的總個(gè)數(shù),確認(rèn)當(dāng)前計(jì)算服務(wù)器對(duì)應(yīng)的目的計(jì)算服務(wù)器。
可選的,所述針對(duì)每個(gè)參與計(jì)算的計(jì)算服務(wù)器,根據(jù)當(dāng)前的循環(huán)通信計(jì)算輪次、當(dāng) 前計(jì)算服務(wù)器的標(biāo)識(shí)和計(jì)算服務(wù)器的總個(gè)數(shù),確認(rèn)當(dāng)前計(jì)算服務(wù)器對(duì)應(yīng)的目的計(jì)算服務(wù)器 包括
將當(dāng)前各計(jì)算服務(wù)器間進(jìn)行循環(huán)通信計(jì)算的輪次P,與計(jì)算服務(wù)器的總個(gè)數(shù)N的 一半N/2進(jìn)行比較;
如果比較結(jié)果符合預(yù)設(shè)條件,則每個(gè)參與計(jì)算的計(jì)算服務(wù)器,根據(jù)當(dāng)前計(jì)算服務(wù) 器的標(biāo)識(shí)i和輪次P,針對(duì)N進(jìn)行取模運(yùn)算得到結(jié)果U,將與U對(duì)應(yīng)的計(jì)算服務(wù)器作為當(dāng)前 計(jì)算服務(wù)器的目標(biāo)計(jì)算服務(wù)器;
如果比較結(jié)果不符合預(yù)設(shè)條件,則結(jié)束獲得協(xié)同過濾距離子矩陣的計(jì)算。
可選的,所述將當(dāng)前各計(jì)算服務(wù)器間進(jìn)行循環(huán)通信計(jì)算的輪次P,與計(jì)算服務(wù)器的 總個(gè)數(shù)N的一半N/2進(jìn)行比較之后還包括
判斷計(jì)算服務(wù)器的總個(gè)數(shù)N是否為偶數(shù);
如果計(jì)算服務(wù)器的總個(gè)數(shù)N為偶數(shù),則判斷當(dāng)前通信輪次P是否為最后一輪通
如果當(dāng)前輪次P是最后一輪通信,則每個(gè)參與計(jì)算的計(jì)算服務(wù)器,判斷其標(biāo)識(shí)i是 否小于N/2 ;
如果標(biāo)識(shí)i小于N/2,則標(biāo)識(shí)i小于N/2的計(jì)算服務(wù)器,進(jìn)入根據(jù)當(dāng)前計(jì)算服務(wù)器 的標(biāo)識(shí)i和輪次P,針對(duì)N進(jìn)行取模運(yùn)算得到結(jié)果U,將與U對(duì)應(yīng)的計(jì)算服務(wù)器作為當(dāng)前計(jì) 算服務(wù)器的目標(biāo)計(jì)算服務(wù)器的過程;
如果標(biāo)識(shí)i不小于N/2,則進(jìn)入判斷當(dāng)前各計(jì)算服務(wù)器間進(jìn)行循環(huán)通信計(jì)算的輪 次P,是否小于計(jì)算服務(wù)器的總個(gè)數(shù)N的一半N/2的過程;
如果當(dāng)前輪次P是最后一輪通信,則進(jìn)入每個(gè)參與計(jì)算的計(jì)算服務(wù)器,根據(jù)當(dāng)前計(jì)算服務(wù)器的標(biāo)識(shí)i和輪次P,針對(duì)N進(jìn)行取模運(yùn)算得到結(jié)果U,將與u對(duì)應(yīng)的計(jì)算服務(wù)器 作為當(dāng)前計(jì)算服務(wù)器的目標(biāo)計(jì)算服務(wù)器的過程;
如果計(jì)算服務(wù)器的總個(gè)數(shù)N為奇數(shù),則進(jìn)入每個(gè)參與計(jì)算的計(jì)算服務(wù)器,根據(jù)當(dāng) 前計(jì)算服務(wù)器的標(biāo)識(shí)i和輪次P,針對(duì)N進(jìn)行取模運(yùn)算得到結(jié)果U,將與u對(duì)應(yīng)的計(jì)算服務(wù) 器作為當(dāng)前計(jì)算服務(wù)器的目標(biāo)計(jì)算服務(wù)器的過程。
可選的,當(dāng)所述輪次從O開始計(jì)數(shù),計(jì)算服務(wù)器的標(biāo)識(shí)i從O開始標(biāo)識(shí),則所述根 據(jù)當(dāng)前計(jì)算服務(wù)器的標(biāo)識(shí)i和輪次P,針對(duì)N進(jìn)行取模運(yùn)算得到結(jié)果u包括
將當(dāng)前計(jì)算服務(wù)器的標(biāo)識(shí)i和輪次P,代入公式(i+p+1) % N計(jì)算得到結(jié)果u ;
當(dāng)所述輪次從I開始計(jì)數(shù),計(jì)算服務(wù)器的標(biāo)識(shí)i從O開始標(biāo)識(shí),則所述根據(jù)當(dāng)前計(jì) 算服務(wù)器的標(biāo)識(shí)i和輪次P,針對(duì)N進(jìn)行取模運(yùn)算得到結(jié)果U包括
將當(dāng)前計(jì)算服務(wù)器的標(biāo)識(shí)i和輪次P,代入公式(i+p) % N計(jì)算得到結(jié)果U。
可選的,所述每個(gè)參與計(jì)算的計(jì)算服務(wù)器進(jìn)行各計(jì)算服務(wù)器間的循環(huán)通信計(jì)算包 括
每個(gè)參與計(jì)算的計(jì)算服務(wù)器采用訊息傳遞接口發(fā)送函數(shù)MPI_send和訊息傳遞接 口接收函數(shù)MPI_recV進(jìn)行各計(jì)算服務(wù)器間的循環(huán)通信計(jì)算。
依據(jù)本發(fā)明的另外一個(gè)方面,提供了一種用于處理協(xié)同過濾距離的系統(tǒng),包括
N個(gè)計(jì)算服務(wù)器;
所述每個(gè)參與計(jì)算的計(jì)算服務(wù)器包括
數(shù)據(jù)讀取存儲(chǔ)模塊,適于每個(gè)參與計(jì)算的計(jì)算服務(wù)器讀取并存儲(chǔ)相應(yīng)的分塊矩陣 數(shù)據(jù);所述分塊矩陣數(shù)據(jù)為從原始矩陣數(shù)據(jù)中分配給所述計(jì)算服務(wù)器的分塊矩陣數(shù)據(jù);
本地?cái)?shù)據(jù)計(jì)算模塊,適于每個(gè)參與計(jì)算的計(jì)算服務(wù)器計(jì)算本地的分塊矩陣數(shù)據(jù), 獲得本地分塊矩陣數(shù)據(jù)的協(xié)同過濾距離子矩陣;
循環(huán)通信計(jì)算模塊,適于每個(gè)參與計(jì)算的計(jì)算服務(wù)器進(jìn)行各計(jì)算服務(wù)器間的循環(huán) 通信計(jì)算,獲得本地分塊矩陣數(shù)據(jù)的協(xié)同過濾距離子矩陣;
所述循環(huán)通信計(jì)算模塊包括
目的計(jì)算服務(wù)器確認(rèn)模塊,適于針對(duì)每個(gè)參與計(jì)算的計(jì)算服務(wù)器,確認(rèn)當(dāng)前計(jì)算 服務(wù)器對(duì)應(yīng)的目的計(jì)算服務(wù)器;所述目的計(jì)算服務(wù)器用于接收當(dāng)前計(jì)算服務(wù)器發(fā)送的本地 的矩陣數(shù)據(jù);
矩陣數(shù)據(jù)發(fā)送接收模塊,適于每個(gè)參與計(jì)算的計(jì)算服務(wù)器發(fā)送本地的分塊矩陣數(shù) 據(jù)至目的計(jì)算服務(wù)器,并接收其他計(jì)算服務(wù)器發(fā)送的分塊矩陣數(shù)據(jù);所述其他計(jì)算服務(wù)器 為將當(dāng)前計(jì)算服務(wù)器確認(rèn)為目的服務(wù)器的計(jì)算服務(wù)器;
協(xié)同計(jì)算模塊,適于每個(gè)接收到分塊矩陣數(shù)據(jù)的計(jì)算服務(wù)器,結(jié)合本地的分塊矩 陣數(shù)據(jù),計(jì)算獲得本地的分塊矩陣數(shù)據(jù)和接收到的分塊矩陣數(shù)據(jù)之間的協(xié)同過濾距離子矩 陣;
整理模塊,適于將每個(gè)參與計(jì)算的計(jì)算服務(wù)器計(jì)算得到的所有協(xié)同過濾子矩陣進(jìn) 行統(tǒng)一轉(zhuǎn)換,獲得完整的協(xié)同過濾矩陣。
可選的,所述目的計(jì)算服務(wù)器確認(rèn)模塊包括
第一目的計(jì)算服務(wù)器確認(rèn)模塊,適于所述針對(duì)每個(gè)參與計(jì)算的計(jì)算服務(wù)器,根據(jù) 當(dāng)前的循環(huán)通信計(jì)算輪次、當(dāng)前計(jì)算服務(wù)器的標(biāo)識(shí)和計(jì)算服務(wù)器的總個(gè)數(shù),確認(rèn)當(dāng)前計(jì)算服務(wù)器對(duì)應(yīng)的目的計(jì)算服務(wù)器。
可選的,所述第一目的計(jì)算服務(wù)器確認(rèn)模塊包括
停止判斷模塊,適于將當(dāng)前各計(jì)算服務(wù)器間進(jìn)行循環(huán)通信計(jì)算的輪次P,與計(jì)算服 務(wù)器的總個(gè)數(shù)N的一半N/2進(jìn)行比較;
第二目的服務(wù)器確認(rèn)子模塊,適于如果判斷的比較結(jié)果符合預(yù)設(shè)條件,則每個(gè)參 與計(jì)算的計(jì)算服務(wù)器,根據(jù)當(dāng)前計(jì)算服務(wù)器的標(biāo)識(shí)i和輪次P,針對(duì)N進(jìn)行取模運(yùn)算得到結(jié) 果U,將與u對(duì)應(yīng)的計(jì)算服務(wù)器作為當(dāng)前計(jì)算服務(wù)器的目標(biāo)計(jì)算服務(wù)器;
第一停止模塊,適于如果判斷的比較結(jié)果不符合預(yù)設(shè)條件,則結(jié)束獲得協(xié)同過濾 距離子矩陣的計(jì)算。
可選的,所述停止判斷模塊之后還包括
第二判斷模塊,適于判斷計(jì)算服務(wù)器的總個(gè)數(shù)N是否為偶數(shù);
第三判斷模塊,適于如果計(jì)算服務(wù)器的總個(gè)數(shù)N為偶數(shù),則判斷當(dāng)前通信輪次P是 否為最后一輪通信;
第四判斷模塊,適于如果當(dāng)前輪次P是最后一輪通信,則每個(gè)參與計(jì)算的計(jì)算服 務(wù)器,判斷其標(biāo)識(shí)i是否小于N/2 ;
第三目的服務(wù)器確認(rèn)子模塊,適于如果標(biāo)識(shí)i小于N/2,則標(biāo)識(shí)i小于N/2的計(jì)算 服務(wù)器,進(jìn)入根據(jù)當(dāng)前計(jì)算服務(wù)器的標(biāo)識(shí)i和輪次P,針對(duì)N進(jìn)行取模運(yùn)算得到結(jié)果U,將與 u對(duì)應(yīng)的計(jì)算服務(wù)器作為當(dāng)前計(jì)算服務(wù)器的目標(biāo)計(jì)算服務(wù)器的過程;
轉(zhuǎn)入模塊,適于如果標(biāo)識(shí)i不小于N/2,則進(jìn)入判斷當(dāng)前各計(jì)算服務(wù)器間進(jìn)行循環(huán) 通信計(jì)算的輪次P,是否小于計(jì)算服務(wù)器的總個(gè)數(shù)N的一半N/2的過程;
第三目的服務(wù)器確認(rèn)模塊,適于如果計(jì)算服務(wù)器的總個(gè)數(shù)N為奇數(shù),則進(jìn)入每個(gè) 參與計(jì)算的計(jì)算服務(wù)器,根據(jù)當(dāng)前計(jì)算服務(wù)器的標(biāo)識(shí)i和輪次P,針對(duì)N進(jìn)行取模運(yùn)算得到 結(jié)果U,將與u對(duì)應(yīng)的計(jì)算服務(wù)器作為當(dāng)前計(jì)算服務(wù)器的目標(biāo)計(jì)算服務(wù)器的過程。
可選的,當(dāng)所述輪次從O開始計(jì)數(shù),計(jì)算服務(wù)器的標(biāo)識(shí)i從O開始標(biāo)識(shí),則所述根 據(jù)當(dāng)前計(jì)算服務(wù)器的標(biāo)識(shí)i和輪次P,針對(duì)N進(jìn)行取模運(yùn)算得到結(jié)果u包括
將當(dāng)前計(jì)算服務(wù)器的標(biāo)識(shí)i和輪次P,代入公式(i+p+1) % N計(jì)算得到結(jié)果u ;
當(dāng)所述輪次從I開始計(jì)數(shù),計(jì)算服務(wù)器的標(biāo)識(shí)i從O開始標(biāo)識(shí),則所述根據(jù)當(dāng)前計(jì) 算服務(wù)器的標(biāo)識(shí)i和輪次P,針對(duì)N進(jìn)行取模運(yùn)算得到結(jié)果U包括
將當(dāng)前計(jì)算服務(wù)器的標(biāo)識(shí)i和輪次P,代入公式(i+p) % N計(jì)算得到結(jié)果U。
可選的,所述矩陣數(shù)據(jù)發(fā)送接收模塊包括
第一矩陣數(shù)據(jù)發(fā)送接收模塊,適于每個(gè)參與計(jì)算的計(jì)算服務(wù)器采用訊息傳遞接口 發(fā)送函數(shù)MPI_send和訊息傳遞接口接收函數(shù)MPI_recv進(jìn)行各計(jì)算服務(wù)器間的循環(huán)通信計(jì)笪ο
根據(jù)本發(fā)明的一種用于處理協(xié)同過濾距離的方法可以在個(gè)計(jì)算服務(wù)器中同步的 計(jì)算得到原協(xié)同過濾距離矩陣的各協(xié)同過濾距離子矩陣,由此解決了只能由單計(jì)算服務(wù)器 計(jì)算獲得協(xié)同過濾距離矩陣的問題,取得了在互聯(lián)網(wǎng)環(huán)境下,可以提高針對(duì)海量數(shù)據(jù)的協(xié) 同過濾距離矩陣的計(jì)算效率,減少計(jì)算時(shí)間的有益效果。
上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段, 而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式
。


通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中
圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種用于處理協(xié)同過濾距離的方法實(shí)施例一的流程示意圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種用于處理協(xié)同過濾距離的方法實(shí)施例二的流程示意圖3中示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的4個(gè)計(jì)算服務(wù)器的通信示例;
圖4中示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的5個(gè)計(jì)算服務(wù)器的通信示例;
圖5示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種用于處理協(xié)同過濾距離的系統(tǒng)實(shí)施例一的結(jié)構(gòu)示意圖;以及
圖6示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種用于處理協(xié)同過濾距離的系統(tǒng)實(shí)施例二的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
參照?qǐng)D1,其示出了本發(fā)明一種用于處理協(xié)同過濾距離的方法實(shí)施例一的流程示意圖,具體可以包括
步驟110,針對(duì)至少兩個(gè)計(jì)算服務(wù)器,每個(gè)參與計(jì)算的計(jì)算服務(wù)器讀取并存儲(chǔ)相應(yīng)的分塊矩陣數(shù)據(jù);所述分塊矩陣數(shù)據(jù)為從原始矩陣數(shù)據(jù)中分配給所述計(jì)算服務(wù)器的分塊矩陣數(shù)據(jù);
為方便描述,在此首先以User base的協(xié)同過濾為例,介紹User(用戶)對(duì) Item(欄目,欄目通??梢园ㄉ唐奉惸康?的協(xié)調(diào)過濾距離矩陣的原理
介紹User對(duì)Item的協(xié)調(diào)過濾距離矩陣,即計(jì)算User對(duì)Item相似矩陣, 也即是指根據(jù)User對(duì)Item的打分矩陣,計(jì)算每?jī)蓚€(gè)User之間的相似度,進(jìn)而得到 User之間的的相似矩陣(即協(xié)調(diào)過濾距離矩陣)。因此,要得到最終的相似矩陣,每一行都要與矩陣中其它行進(jìn)行一次Sim運(yùn)算(相似度運(yùn)算)。具體過程,如下所示
權(quán)利要求
1.一種用于處理協(xié)同過濾距離的方法,包括 針對(duì)至少兩個(gè)計(jì)算服務(wù)器,每個(gè)參與計(jì)算的計(jì)算服務(wù)器讀取并存儲(chǔ)相應(yīng)的分塊矩陣數(shù)據(jù);所述分塊矩陣數(shù)據(jù)為從原始矩陣數(shù)據(jù)中分配給所述計(jì)算服務(wù)器的分塊矩陣數(shù)據(jù); 每個(gè)參與計(jì)算計(jì)算服務(wù)器計(jì)算本地的分塊矩陣數(shù)據(jù),獲得本地分塊矩陣數(shù)據(jù)的協(xié)同過濾距離子矩陣; 每個(gè)參與計(jì)算的計(jì)算服務(wù)器進(jìn)行各計(jì)算服務(wù)器間的循環(huán)通信計(jì)算,獲得本地分塊矩陣數(shù)據(jù)的協(xié)同過濾距離子矩陣;所述每個(gè)參與計(jì)算的計(jì)算服務(wù)器進(jìn)行各計(jì)算服務(wù)器間的循環(huán)通信計(jì)算,獲取協(xié)同過濾距離子矩陣具體包括 針對(duì)每個(gè)參與計(jì)算的計(jì)算服務(wù)器,確認(rèn)當(dāng)前計(jì)算服務(wù)器對(duì)應(yīng)的目的計(jì)算服務(wù)器;所述目的計(jì)算服務(wù)器用于接收當(dāng)前計(jì)算服務(wù)器發(fā)送的本地的矩陣數(shù)據(jù); 每個(gè)參與計(jì)算的計(jì)算服務(wù)器發(fā)送本地的分塊矩陣數(shù)據(jù)至目的計(jì)算服務(wù)器,并接收其他計(jì)算服務(wù)器發(fā)送的分塊矩陣數(shù)據(jù);所述其他計(jì)算服務(wù)器為將當(dāng)前計(jì)算服務(wù)器確認(rèn)為目的服務(wù)器的計(jì)算服務(wù)器; 每個(gè)接收到分塊矩陣數(shù)據(jù)的計(jì)算服務(wù)器,結(jié)合本地的分塊矩陣數(shù)據(jù),計(jì)算獲得本地的分塊矩陣數(shù)據(jù)和接收到的分塊矩陣數(shù)據(jù)之間的協(xié)同過濾距離子矩陣; 將每個(gè)參與計(jì)算的計(jì)算服務(wù)器計(jì)算得到的所有協(xié)同過濾子矩陣進(jìn)行統(tǒng)一轉(zhuǎn)換,獲得完整的協(xié)同過濾矩陣。
2.如權(quán)利要求1所述的方法,其特征在于,所述針對(duì)每個(gè)參與計(jì)算的計(jì)算服務(wù)器,確認(rèn)當(dāng)前計(jì)算服務(wù)器對(duì)應(yīng)的目的計(jì)算服務(wù)器包括 所述針對(duì)每個(gè)參與計(jì)算的計(jì)算服務(wù)器,根據(jù)當(dāng)前的循環(huán)通信計(jì)算輪次、當(dāng)前計(jì)算服務(wù)器的標(biāo)識(shí)和計(jì)算服務(wù)器的總個(gè)數(shù),確認(rèn)當(dāng)前計(jì)算服務(wù)器對(duì)應(yīng)的目的計(jì)算服務(wù)器。
3.如權(quán)利要求2所述的方法,其特征在于,所述針對(duì)每個(gè)參與計(jì)算的計(jì)算服務(wù)器,根據(jù)當(dāng)前的循環(huán)通信計(jì)算輪次、當(dāng)前計(jì)算服務(wù)器的標(biāo)識(shí)和計(jì)算服務(wù)器的總個(gè)數(shù),確認(rèn)當(dāng)前計(jì)算服務(wù)器對(duì)應(yīng)的目的計(jì)算服務(wù)器包括 將當(dāng)前各計(jì)算服務(wù)器間進(jìn)行循環(huán)通信計(jì)算的輪次P,與計(jì)算服務(wù)器的總個(gè)數(shù)N的一半N/2進(jìn)行比較; 如果比較結(jié)果符合預(yù)設(shè)條件,則每個(gè)參與計(jì)算的計(jì)算服務(wù)器,根據(jù)當(dāng)前計(jì)算服務(wù)器的標(biāo)識(shí)i和輪次P,針對(duì)N進(jìn)行取模運(yùn)算得到結(jié)果U,將與u對(duì)應(yīng)的計(jì)算服務(wù)器作為當(dāng)前計(jì)算服務(wù)器的目標(biāo)計(jì)算服務(wù)器; 如果比較結(jié)果不符合預(yù)設(shè)條件,則結(jié)束獲得協(xié)同過濾距離子矩陣的計(jì)算。
4.如權(quán)利要求3所述的方法,其特征在于,所述將當(dāng)前各計(jì)算服務(wù)器間進(jìn)行循環(huán)通信計(jì)算的輪次P,與計(jì)算服務(wù)器的總個(gè)數(shù)N的一半N/2進(jìn)行比較之后還包括 判斷計(jì)算服務(wù)器的總個(gè)數(shù)N是否為偶數(shù); 如果計(jì)算服務(wù)器的總個(gè)數(shù)N為偶數(shù),則判斷當(dāng)前通信輪次P是否為最后一輪通信; 如果當(dāng)前輪次P是最后一輪通信,則每個(gè)參與計(jì)算的計(jì)算服務(wù)器,判斷其標(biāo)識(shí)i是否小于 N/2 ; 如果標(biāo)識(shí)i小于N/2,則標(biāo)識(shí)i小于N/2的計(jì)算服務(wù)器,進(jìn)入根據(jù)當(dāng)前計(jì)算服務(wù)器的標(biāo)識(shí)i和輪次P,針對(duì)N進(jìn)行取模運(yùn)算得到結(jié)果U,將與u對(duì)應(yīng)的計(jì)算服務(wù)器作為當(dāng)前計(jì)算服務(wù)器的目標(biāo)計(jì)算服務(wù)器的過程;如果標(biāo)識(shí)i不小于N/2,則進(jìn)入判斷當(dāng)前各計(jì)算服務(wù)器間進(jìn)行循環(huán)通信計(jì)算的輪次p,是否小于計(jì)算服務(wù)器的總個(gè)數(shù)N的一半N/2的過程; 如果當(dāng)前輪次P是最后一輪通信,則進(jìn)入每個(gè)參與計(jì)算的計(jì)算服務(wù)器,根據(jù)當(dāng)前計(jì)算服務(wù)器的標(biāo)識(shí)i和輪次P,針對(duì)N進(jìn)行取模運(yùn)算得到結(jié)果U,將與u對(duì)應(yīng)的計(jì)算服務(wù)器作為當(dāng)前計(jì)算服務(wù)器的目標(biāo)計(jì)算服務(wù)器的過程; 如果計(jì)算服務(wù)器的總個(gè)數(shù)N為奇數(shù),則進(jìn)入每個(gè)參與計(jì)算的計(jì)算服務(wù)器,根據(jù)當(dāng)前計(jì)算服務(wù)器的標(biāo)識(shí)i和輪次P,針對(duì)N進(jìn)行取模運(yùn)算得到結(jié)果U,將與u對(duì)應(yīng)的計(jì)算服務(wù)器作為當(dāng)前計(jì)算服務(wù)器的目標(biāo)計(jì)算服務(wù)器的過程。
5.如權(quán)利要求3或4所述的方法,其特征在于, 當(dāng)所述輪次從O開始計(jì)數(shù),計(jì)算服務(wù)器的標(biāo)識(shí)i從O開始標(biāo)識(shí),則所述根據(jù)當(dāng)前計(jì)算服務(wù)器的標(biāo)識(shí)i和輪次P,針對(duì)N進(jìn)行取模運(yùn)算得到結(jié)果u包括 將當(dāng)前計(jì)算服務(wù)器的標(biāo)識(shí)i和輪次P,代入公式(i+P+1) % N計(jì)算得到結(jié)果u ; 當(dāng)所述輪次從I開始計(jì)數(shù),計(jì)算服務(wù)器的標(biāo)識(shí)i從O開始標(biāo)識(shí),則所述根據(jù)當(dāng)前計(jì)算服務(wù)器的標(biāo)識(shí)i和輪次P,針對(duì)N進(jìn)行取模運(yùn)算得到結(jié)果u包括 將當(dāng)前計(jì)算服務(wù)器的標(biāo)識(shí)i和輪次P,代入公式(i+P) % N計(jì)算得到結(jié)果U。
6.如權(quán)利要求1所述的方法,其特征在于,所述每個(gè)參與計(jì)算的計(jì)算服務(wù)器進(jìn)行各計(jì)算服務(wù)器間的循環(huán)通信計(jì)算包括 每個(gè)參與計(jì)算的計(jì)算服務(wù)器采用訊息傳遞接口發(fā)送函數(shù)MPI_send和訊息傳遞接口接收函數(shù)MPI_recV進(jìn)行各計(jì)算服務(wù)器間的循環(huán)通信計(jì)算。
7.一種用于處理協(xié)同過濾距離的系統(tǒng),包括 N個(gè)計(jì)算服務(wù)器; 所述每個(gè)參與計(jì)算的計(jì)算服務(wù)器包括 數(shù)據(jù)讀取存儲(chǔ)模塊,適于每個(gè)參與計(jì)算的計(jì)算服務(wù)器讀取并存儲(chǔ)相應(yīng)的分塊矩陣數(shù)據(jù);所述分塊矩陣數(shù)據(jù)為從原始矩陣數(shù)據(jù)中分配給所述計(jì)算服務(wù)器的分塊矩陣數(shù)據(jù); 本地?cái)?shù)據(jù)計(jì)算模塊,適于每個(gè)參與計(jì)算的計(jì)算服務(wù)器計(jì)算本地的分塊矩陣數(shù)據(jù),獲得本地分塊矩陣數(shù)據(jù)的協(xié)同過濾距離子矩陣; 循環(huán)通信計(jì)算模塊,適于每個(gè)參與計(jì)算的計(jì)算服務(wù)器進(jìn)行各計(jì)算服務(wù)器間的循環(huán)通信計(jì)算,獲得本地分塊矩陣數(shù)據(jù)的協(xié)同過濾距離子矩陣; 所述循環(huán)通信計(jì)算模塊包括 目的計(jì)算服務(wù)器確認(rèn)模塊,適于針對(duì)每個(gè)參與計(jì)算的計(jì)算服務(wù)器,確認(rèn)當(dāng)前計(jì)算服務(wù)器對(duì)應(yīng)的目的計(jì)算服務(wù)器;所述目的計(jì)算服務(wù)器用于接收當(dāng)前計(jì)算服務(wù)器發(fā)送的本地的矩陣數(shù)據(jù); 矩陣數(shù)據(jù)發(fā)送接收模塊,適于每個(gè)參與計(jì)算的計(jì)算服務(wù)器發(fā)送本地的分塊矩陣數(shù)據(jù)至目的計(jì)算服務(wù)器,并接收其他計(jì)算服務(wù)器發(fā)送的分塊矩陣數(shù)據(jù);所述其他計(jì)算服務(wù)器為將當(dāng)前計(jì)算服務(wù)器確認(rèn)為目的服務(wù)器的計(jì)算服務(wù)器; 協(xié)同計(jì)算模塊,適于每個(gè)接收到分塊矩陣數(shù)據(jù)的計(jì)算服務(wù)器,結(jié)合本地的分塊矩陣數(shù)據(jù),計(jì)算獲得本地的分塊矩陣數(shù)據(jù)和接收到的分塊矩陣數(shù)據(jù)之間的協(xié)同過濾距離子矩陣;整理模塊,適于將每個(gè)參與計(jì)算的計(jì)算服務(wù)器計(jì)算得到的所有協(xié)同過濾子矩陣進(jìn)行統(tǒng)一轉(zhuǎn)換,獲得完整的協(xié)同過濾矩陣。
8.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述目的計(jì)算服務(wù)器確認(rèn)模塊包括 第一目的計(jì)算服務(wù)器確認(rèn)模塊,適于所述針對(duì)每個(gè)參與計(jì)算的計(jì)算服務(wù)器,根據(jù)當(dāng)前的循環(huán)通信計(jì)算輪次、當(dāng)前計(jì)算服務(wù)器的標(biāo)識(shí)和計(jì)算服務(wù)器的總個(gè)數(shù),確認(rèn)當(dāng)前計(jì)算服務(wù)器對(duì)應(yīng)的目的計(jì)算服務(wù)器。
9.如權(quán)利要求8所述的系統(tǒng),其特征在于,所述第一目的計(jì)算服務(wù)器確認(rèn)模塊包括 停止判斷模塊,適于將當(dāng)前各計(jì)算服務(wù)器間進(jìn)行循環(huán)通信計(jì)算的輪次P,與計(jì)算服務(wù)器的總個(gè)數(shù)N的一半N/2進(jìn)行比較; 第二目的服務(wù)器確認(rèn)子模塊,適于如果判斷的比較結(jié)果符合預(yù)設(shè)條件,則每個(gè)參與計(jì)算的計(jì)算服務(wù)器,根據(jù)當(dāng)前計(jì)算服務(wù)器的標(biāo)識(shí)i和輪次P,針對(duì)N進(jìn)行取模運(yùn)算得到結(jié)果U,將與u對(duì)應(yīng)的計(jì)算服務(wù)器作為當(dāng)前計(jì)算服務(wù)器的目標(biāo)計(jì)算服務(wù)器; 第一停止模塊,適于如果判斷的比較結(jié)果不符合預(yù)設(shè)條件,則結(jié)束獲得協(xié)同過濾距離子矩陣的計(jì)算。
10.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述停止判斷模塊之后還包括 第二判斷模塊,適于判斷計(jì)算服務(wù)器的總個(gè)數(shù)N是否為偶數(shù); 第三判斷模塊,適于如果計(jì)算服務(wù)器的總個(gè)數(shù)N為偶數(shù),則判斷當(dāng)前通信輪次P是否為最后一輪通信; 第四判斷模塊,適于如果當(dāng)前輪次P是最后一輪通信,則每個(gè)參與計(jì)算的計(jì)算服務(wù)器,判斷其標(biāo)識(shí)i是否小于N/2 ; 第三目的服務(wù)器確認(rèn)子模塊,適于如果標(biāo)識(shí)i小于N/2,則標(biāo)識(shí)i小于N/2的計(jì)算服務(wù)器,進(jìn)入根據(jù)當(dāng)前計(jì)算服務(wù)器的標(biāo)識(shí)i和輪次P,針對(duì)N進(jìn)行取模運(yùn)算得到結(jié)果U,將與u對(duì)應(yīng)的計(jì)算服務(wù)器作為當(dāng)前計(jì)算服務(wù)器的目標(biāo)計(jì)算服務(wù)器的過程; 轉(zhuǎn)入模塊,適于如果標(biāo)識(shí)i不小于N/2,則進(jìn)入判斷當(dāng)前各計(jì)算服務(wù)器間進(jìn)行循環(huán)通信計(jì)算的輪次P,是否小于計(jì)算服務(wù)器的總個(gè)數(shù)N的一半N/2的過程; 第三目的服務(wù)器確認(rèn)模塊,適于如果計(jì)算服務(wù)器的總個(gè)數(shù)N為奇數(shù),則進(jìn)入每個(gè)參與計(jì)算的計(jì)算服務(wù)器,根據(jù)當(dāng)前計(jì)算服務(wù)器的標(biāo)識(shí)i和輪次P,針對(duì)N進(jìn)行取模運(yùn)算得到結(jié)果U,將與u對(duì)應(yīng)的計(jì)算服務(wù)器作為當(dāng)前計(jì)算服務(wù)器的目標(biāo)計(jì)算服務(wù)器的過程。
11.如權(quán)利要求9或10所述的系統(tǒng),其特征在于, 當(dāng)所述輪次從O開始計(jì)數(shù),計(jì)算服務(wù)器的標(biāo)識(shí)i從O開始標(biāo)識(shí),則所述根據(jù)當(dāng)前計(jì)算服務(wù)器的標(biāo)識(shí)i和輪次P,針對(duì)N進(jìn)行取模運(yùn)算得到結(jié)果u包括 將當(dāng)前計(jì)算服務(wù)器的標(biāo)識(shí)i和輪次P,代入公式(i+P+1) % N計(jì)算得到結(jié)果u ; 當(dāng)所述輪次從I開始計(jì)數(shù),計(jì)算服務(wù)器的標(biāo)識(shí)i從O開始標(biāo)識(shí),則所述根據(jù)當(dāng)前計(jì)算服務(wù)器的標(biāo)識(shí)i和輪次P,針對(duì)N進(jìn)行取模運(yùn)算得到結(jié)果u包括 將當(dāng)前計(jì)算服務(wù)器的標(biāo)識(shí)i和輪次P,代入公式(i+P) % N計(jì)算得到結(jié)果u。
12.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述矩陣數(shù)據(jù)發(fā)送接收模塊包括 第一矩陣數(shù)據(jù)發(fā)送接收模塊,適于每個(gè)參與計(jì)算的計(jì)算服務(wù)器采用訊息傳遞接口發(fā)送函數(shù)MPI_send和訊息傳遞接口接收函數(shù)MPI_recv進(jìn)行各計(jì)算服務(wù)器間的循環(huán)通信計(jì)算。
全文摘要
本發(fā)明公開了本發(fā)明一種用于處理協(xié)同過濾距離的方法和系統(tǒng),涉及計(jì)算機(jī)技術(shù)領(lǐng)域。所述系統(tǒng)包括N個(gè)計(jì)算服務(wù)器;所述每個(gè)參與計(jì)算的計(jì)算服務(wù)器包括數(shù)據(jù)讀取存儲(chǔ)模塊;本地?cái)?shù)據(jù)計(jì)算模塊;循環(huán)通信計(jì)算模塊;所述循環(huán)通信計(jì)算模塊包括目的計(jì)算服務(wù)器確認(rèn)模塊;矩陣數(shù)據(jù)發(fā)送接收模塊;協(xié)同計(jì)算模塊;整理模塊,適于將每個(gè)參與計(jì)算的計(jì)算服務(wù)器計(jì)算得到的所有協(xié)同過濾子矩陣進(jìn)行統(tǒng)一轉(zhuǎn)換,獲得完整的協(xié)同過濾矩陣。本發(fā)明解決了只能由單計(jì)算服務(wù)器計(jì)算獲得協(xié)同過濾距離矩陣的問題,取得了在互聯(lián)網(wǎng)環(huán)境下,可以提高針對(duì)海量數(shù)據(jù)的協(xié)同過濾距離矩陣的計(jì)算效率,減少計(jì)算時(shí)間的有益效果。
文檔編號(hào)G06F17/30GK103049489SQ201210518168
公開日2013年4月17日 申請(qǐng)日期2012年12月5日 優(yōu)先權(quán)日2012年12月5日
發(fā)明者齊路, 何銳邦, 唐會(huì)軍 申請(qǐng)人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
苗栗市| 闽清县| 山西省| 黑水县| 容城县| 都江堰市| 长乐市| 平定县| 定远县| 大理市| 佛学| 永济市| 武义县| 怀宁县| 东乡县| 如皋市| 于田县| 邵阳市| 太谷县| 宁乡县| 睢宁县| 曲靖市| 定兴县| 龙海市| 汨罗市| 邹城市| 格尔木市| 华安县| 任丘市| 宁海县| 崇信县| 霍城县| 南木林县| 康乐县| 花垣县| 昌黎县| 海丰县| 大方县| 永济市| 盐池县| 麦盖提县|