專利名稱:借助于矩陣索引變換和改進(jìn)的高速緩存而有效地分級網(wǎng)頁的制作方法
技術(shù)領(lǐng)域:
本發(fā)明通常涉及互聯(lián)網(wǎng)搜索領(lǐng)域,尤其是借助于矩陣計(jì)算來將網(wǎng)頁分級。
背景技術(shù):
目前互聯(lián)網(wǎng)包含由超鏈接互連的上億個(gè)網(wǎng)頁?;ヂ?lián)網(wǎng)用戶典型地利用網(wǎng)絡(luò)瀏覽應(yīng)用程序(“瀏覽器”)來通過選擇和單擊超鏈接或者通過手動地輸入其允許瀏覽器直接訪問特定網(wǎng)頁的“統(tǒng)一資源定位器”(“URL”)而在這些頁面間進(jìn)行導(dǎo)航。然而,用戶常常希望搜索互聯(lián)網(wǎng)以查找含有特定信息項(xiàng)的頁面。由于互聯(lián)網(wǎng)尺寸的原因,用戶手動地瀏覽互聯(lián)網(wǎng)以搜索相關(guān)頁面是不切實(shí)際的。作為替代,用戶一般地激活搜索引擎,該搜索引擎是為了搜索互聯(lián)網(wǎng)而開發(fā)的計(jì)算機(jī)應(yīng)用程序。搜索引擎典型地保存在服務(wù)器計(jì)算設(shè)備上并接受來自客戶機(jī)用戶的查詢。搜索引擎通常與網(wǎng)頁的索引相關(guān),以及,響應(yīng)用戶查詢,返回滿足該查詢的頁面列表。
某些現(xiàn)代的搜索引擎將網(wǎng)頁分級以便向用戶提供比較相關(guān)的結(jié)果。許多搜索引擎借助于矩陣來表示網(wǎng)頁的互連,并且得到相當(dāng)于得到矩陣的主要特征向量的頁面分級。Page等1998年1月在Stanford Digital Libraries Working Paper上的文章“The PageRank citation rankingBringing order to the web”中描述了這種搜索引擎,這里參考引用其全部內(nèi)容,盡管如此它教導(dǎo)不排除其任何部件。通常,迭代取得網(wǎng)頁分級并且穿過互連矩陣而傳送網(wǎng)頁分級,以獲得該頁面的更新分級。最終所有頁面的分級聚合于固定值,該固定值是主要特征向量的記錄。這相當(dāng)于估算馬爾可夫鏈的靜態(tài)分布。由于矩陣尺寸的原因,計(jì)算特征向量—以及由此計(jì)算頁面分級—在現(xiàn)有的系統(tǒng)中是計(jì)算密集的作業(yè),在所有頁面的值聚合到特征向量之前需要幾次矩陣變換的迭代。為了更有效地計(jì)算頁面分級,研究人員試圖利用互連矩陣的特定數(shù)學(xué)特性以便發(fā)現(xiàn)更迅速地計(jì)算或者近似頁面分級的方法。
因?yàn)閹讉€(gè)原因,計(jì)算頁面分級是一種計(jì)算密集作業(yè)。一個(gè)原因僅僅是信息量的大小對于上億個(gè)網(wǎng)頁,甚至是在快速處理器上,即使對于該處理器來說所有數(shù)據(jù)都是立即可用的,執(zhí)行必要的計(jì)算仍需要大量時(shí)間。然而,另一個(gè)原因是,通常對于處理器來說不是所有數(shù)據(jù)都是立即可用的,必須從如RAM這樣的存儲區(qū)或如硬盤這樣的輔助存儲器中重現(xiàn)數(shù)據(jù)。訪問RAM的典型成本約為每次訪問耗時(shí)100納秒;訪問硬盤的典型成本約為每次訪問耗時(shí)5-10毫秒。對于其他快速處理器來說這成為了一個(gè)瓶頸—能一秒執(zhí)行十億次運(yùn)算的處理器被限制在以約每秒一千萬個(gè)記錄的速率或其能力的大約百分之一來讀取數(shù)據(jù)此外,由現(xiàn)有的頁面分級技術(shù)來執(zhí)行的許多矩陣運(yùn)算利用任意的網(wǎng)頁索引標(biāo)記。結(jié)果,在相應(yīng)互連性矩陣的行(或列)之間沒有關(guān)系。例如,如果頁面#_1含有到頁面#_226、#_4,250,221和#_1,000,000,152的鏈接,則互連性矩陣的相應(yīng)行#_1將在列#_226、#_4,250,221和#_1,000,000,152中具有記錄。為了檢索那些頁面,必須從存儲器的三個(gè)可能很遠(yuǎn)的區(qū)域中形成三次訪問。
研究人員不得不研究高速緩存系統(tǒng)。通常,“高速緩存”是暫時(shí)保存從較慢、較便宜的存儲器中所檢索的數(shù)據(jù)或指令的快速存儲器的小塊區(qū)域。通過在高速緩存中暫時(shí)性存儲經(jīng)常使用的數(shù)據(jù)或指令,處理器不需要從較慢的存儲器中檢索那些數(shù)據(jù)或指令。因此,高速緩存的有效利用提高了速度,利用高速緩存可在計(jì)算設(shè)備上執(zhí)行許多運(yùn)算。
發(fā)明內(nèi)容
提供了更有效地計(jì)算頁面分級的方法和系統(tǒng)。利用描述網(wǎng)頁互連的互連性矩陣,而計(jì)算新矩陣。該新矩陣用來計(jì)算與每個(gè)網(wǎng)頁的相鄰網(wǎng)頁相關(guān)的值的平均值。計(jì)算這個(gè)新矩陣的第二特征向量,并且根據(jù)該特征向量來重新標(biāo)記網(wǎng)頁的索引。存儲互連性信息的數(shù)據(jù)結(jié)構(gòu)也最好是根據(jù)該特征向量來在物理上進(jìn)行分類。通過重新組織用于網(wǎng)頁分級計(jì)算中的矩陣,更有效地執(zhí)行高速緩存,產(chǎn)生更快的頁面分級技術(shù)。
在一個(gè)方面,提供一種在對象集合中將對象分級的方法,一個(gè)或多個(gè)該集合中的對象具有到該集合中其他對象的鏈接,該方法包括根據(jù)對象到關(guān)于鏈接的集合中其他對象的接近度而排序該對象,并且根據(jù)對象的排序而在存儲器中的對象間存儲該鏈接。
在另一個(gè)方面,提供一種計(jì)算機(jī)可讀介質(zhì),包括用于便于對象集合中對象的分級的計(jì)算機(jī)可執(zhí)行指令、集合中的一個(gè)或多個(gè)對象具有到集合中其他對象的鏈接,該計(jì)算機(jī)可執(zhí)行指令執(zhí)行步驟根據(jù)對象到關(guān)于鏈接的集合中其他對象的接近度而排序該對象,并且根據(jù)對象的排序而在存儲器中的對象間存儲該鏈接。
在再一個(gè)方面,提供了一種從互連對象的集合中排序?qū)ο蟮姆椒?,由第一矩陣表示的對象的互連,該方法包含計(jì)算相對于第一矩陣的第二矩陣,估計(jì)第二矩陣的第二特征向量,以及相對于對第二特征向量的估計(jì)的值而排序?qū)ο蟆?br>
在又一個(gè)方面,提供一種計(jì)算機(jī)可讀介質(zhì),包括用于便于互連對象集合中的對象的排序的計(jì)算機(jī)可執(zhí)行指令,由第一矩陣表示的對象的互連,計(jì)算機(jī)可執(zhí)行指令執(zhí)行以下步驟相對于第一矩陣而計(jì)算第二矩陣,估計(jì)第二矩陣的第二特征向量,以及相對于對第二特征向量的估計(jì)的值而排序?qū)ο蟆?br>
在再一個(gè)方面,提供一種計(jì)算機(jī)可讀介質(zhì),包括用于便于互連對象集合中的對象的分級的計(jì)算機(jī)可執(zhí)行指令,根據(jù)對象的第一次排序而在存儲器中存儲互連的描述,該計(jì)算機(jī)可執(zhí)行指令執(zhí)行關(guān)于對象到經(jīng)由互連的其它對象的接近度來重新排序?qū)ο蟮牟襟E。
附圖的簡要描述在附加權(quán)利要求具體闡述了本發(fā)明特征的同時(shí),結(jié)合附圖從以下詳細(xì)描述中將更好地理解本發(fā)明及其優(yōu)點(diǎn)。其中
圖1顯示了根據(jù)本發(fā)明實(shí)施例的用于執(zhí)行網(wǎng)頁分級和搜索的示例性計(jì)算設(shè)備結(jié)構(gòu)的簡要示意圖;圖2顯示了根據(jù)本發(fā)明實(shí)施例的用于執(zhí)行網(wǎng)頁分級和搜索的連接到互聯(lián)網(wǎng)的計(jì)算機(jī)裝置的示意圖;圖3顯示了根據(jù)本發(fā)明實(shí)施例的網(wǎng)頁集合的例子;圖4a和4b顯示了根據(jù)本發(fā)明實(shí)施例的相應(yīng)于網(wǎng)頁互連的節(jié)點(diǎn)和邊的示意圖;圖5顯示了根據(jù)本發(fā)明實(shí)施例的在網(wǎng)頁集合中執(zhí)行搜索的方法的流程圖;圖6顯示了根據(jù)本發(fā)明實(shí)施例的網(wǎng)頁鏈接數(shù)組的重標(biāo)記和分類的示意圖;圖7顯示了根據(jù)本發(fā)明實(shí)施例的用于計(jì)算網(wǎng)頁的重排序的通用方法的流程圖;圖8顯示了根據(jù)本發(fā)明實(shí)施例的用于計(jì)算表示相鄰網(wǎng)頁影響的矩陣的方法流程圖;以及圖9顯示了根據(jù)本發(fā)明實(shí)施例的用于計(jì)算第二特征向量的方法流程圖。
具體實(shí)施例方式
現(xiàn)在根據(jù)優(yōu)選實(shí)施例來描述有效地計(jì)算頁面分級的方法和系統(tǒng);然而,本發(fā)明的方法和系統(tǒng)不局限于計(jì)算網(wǎng)頁的頁面分級。另外,技術(shù)人員會容易地知道此處描述的方法和系統(tǒng)僅是示范性的并且在不脫離本發(fā)明的精神和范圍的情況下可作出改進(jìn)。
通過以下的詳細(xì)說明將更完全地了解本發(fā)明,應(yīng)當(dāng)結(jié)合附圖而閱讀本發(fā)明。在說明書中,相同編號涉及本發(fā)明各實(shí)施例內(nèi)的相同元件。如在適當(dāng)?shù)挠?jì)算環(huán)境中來實(shí)現(xiàn)而說明本發(fā)明。雖然不需要,仍然在由個(gè)人計(jì)算機(jī)執(zhí)行的如進(jìn)程這樣的計(jì)算機(jī)可執(zhí)行指令的通用環(huán)境中描述本發(fā)明。通常,進(jìn)程包括程序模塊、子程序、函數(shù)、程序、對象、分支、數(shù)據(jù)結(jié)構(gòu)等等,它執(zhí)行特定作業(yè)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型。另外,所屬領(lǐng)域技術(shù)人員應(yīng)當(dāng)明白,本發(fā)明可用其他計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)來實(shí)現(xiàn),包括掌上型的器材、多處理機(jī)系統(tǒng)、使用微處理機(jī)的或可編程的用戶電器、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)等等。本發(fā)明也可在其中由通過通信網(wǎng)絡(luò)所鏈接的遠(yuǎn)程處理設(shè)備來執(zhí)行作業(yè)的分布式計(jì)算環(huán)境中實(shí)現(xiàn)。在分布式計(jì)算環(huán)境中,程序模塊既可位于本地也可位于遠(yuǎn)程存儲器存儲設(shè)備中。術(shù)語計(jì)算機(jī)系統(tǒng)可用來指如可在分布式計(jì)算環(huán)境中發(fā)現(xiàn)的計(jì)算機(jī)系統(tǒng)。
圖1示出在其上實(shí)現(xiàn)本發(fā)明的適當(dāng)計(jì)算系統(tǒng)環(huán)境100的例子。計(jì)算系統(tǒng)環(huán)境100僅是適當(dāng)?shù)挠?jì)算環(huán)境的一個(gè)例子,不用于暗示對本發(fā)明用途或功能的范圍的任何限制。計(jì)算環(huán)境100不應(yīng)解釋為具有對示范性操作環(huán)境100中所示部件的任何一個(gè)或其組合的任何依賴或需要。雖然本發(fā)明的一個(gè)實(shí)施例包括示范性操作環(huán)境100中所示的每個(gè)部件,但是本發(fā)明另一個(gè)更典型的實(shí)施例排除了不必要的部件,例如除了網(wǎng)絡(luò)通信所需部件之外的輸入/輸出裝置。
參考圖1用于實(shí)現(xiàn)本發(fā)明的示范性系統(tǒng)包括計(jì)算機(jī)110形式的通用型計(jì)算設(shè)備。計(jì)算機(jī)110的部件包括但不局限于處理單元120、系統(tǒng)存儲器130以及將包括系統(tǒng)存儲器在內(nèi)的各系統(tǒng)部件耦合到處理單元120的系統(tǒng)總線121。系統(tǒng)總線121可以是任意幾種類型的總線結(jié)構(gòu),包括存儲器總線或存儲器控制器、外圍總線以及利用任何各種總線體系結(jié)構(gòu)的本地總線。舉例來說,而不是限制,這種體系結(jié)構(gòu)包括工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu)(ISA)總線、微通道結(jié)構(gòu)(MCA)總線、擴(kuò)展ISA(EISA)總線、視頻電子標(biāo)準(zhǔn)協(xié)會(VESA)本地總線以及外設(shè)部件互連(PCI)總線又名附加板總線。另外,計(jì)算機(jī)110的部件可包括內(nèi)存高速緩沖存儲器122。與從系統(tǒng)存儲器130中存取數(shù)據(jù)相比,處理單元120可從內(nèi)存高速緩沖存儲器中更迅速地存取數(shù)據(jù)。內(nèi)存高速緩沖存儲器122典型地存儲最近要從系統(tǒng)存儲器130中訪問的或最近要由處理部件120來處理的數(shù)據(jù)。在從系統(tǒng)存儲器130中檢索數(shù)據(jù)之前,處理部件120檢驗(yàn)當(dāng)前數(shù)據(jù)是否存儲在內(nèi)存高速緩沖存儲器122中。如果是,則“高速緩存命中”產(chǎn)生并且從內(nèi)存高速緩沖存儲器122中檢索數(shù)據(jù)而不是從通常較慢的系統(tǒng)存儲器130中檢索數(shù)據(jù)。
計(jì)算機(jī)110一般包括各種計(jì)算機(jī)可讀介質(zhì)。計(jì)算機(jī)可讀介質(zhì)可以是由計(jì)算機(jī)110訪問的任何可用介質(zhì)且包括易失性和非易失介質(zhì)以及可移除和不可移除介質(zhì)。舉例說來,但并非是限制,計(jì)算機(jī)可讀介質(zhì)包括計(jì)算機(jī)存儲介質(zhì)和通信介質(zhì)。計(jì)算機(jī)存儲介質(zhì)包括以用于存儲如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)這樣的信息的所有方法或技術(shù)來實(shí)現(xiàn)的易失性和非易失性的、可移除和不可移除的介質(zhì)。計(jì)算機(jī)存儲介質(zhì)包括但不局限于RAM、ROM、EEPROM、閃速存儲器或其它存儲技術(shù)、CD-ROM、數(shù)字多用途盤(DVD)或其它光盤存儲器、磁帶盒、磁帶、磁盤存儲器或其他磁存儲器、或者可用于存儲所希望的信息并且可由計(jì)算機(jī)110訪問的任何其它介質(zhì)。通信介質(zhì)典型地體現(xiàn)為計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或如載波或其它傳送機(jī)制這樣的已調(diào)數(shù)據(jù)信號中的其它數(shù)據(jù),并且包括所有的信息傳送介質(zhì)。術(shù)語“已調(diào)數(shù)據(jù)信號”意思是一種具有一個(gè)或多個(gè)其特征集的信號或以關(guān)于在信號中編碼信息這樣的方式來改變的信號。舉例來說,而不是限制,通信介質(zhì)包括如有線網(wǎng)絡(luò)或直接線連接這樣的有線介質(zhì)或如聲音、RF、紅外線及其他無線介質(zhì)這樣的無線介質(zhì)。以上任何的組合也將包括在計(jì)算機(jī)可讀介質(zhì)的范疇內(nèi)。
系統(tǒng)存儲器130包括如只讀存儲器(ROM)131和隨機(jī)存取存儲器(RAM)132這樣的易失性和/或非易失存儲器形式的計(jì)算機(jī)存儲介質(zhì)。含有有助于在如啟動期間時(shí)在計(jì)算機(jī)110內(nèi)的元件間傳送信息的基本子程序的基本輸入/輸出系統(tǒng)133(BIOS)典型地存儲在ROM 131中。RAM 132一般包含立即可訪問的和/或目前由處理部件120處理的數(shù)據(jù)和/或程序模塊。舉例來說,而不是限制,圖1示出了操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137。
計(jì)算機(jī)110也可包括其它可移除/不可移除、易失性/非易失性的計(jì)算機(jī)存儲介質(zhì)。僅舉例來說,圖1示出了從不可移除的、非易失性的磁介質(zhì)中讀出或向不可移除的、非易失性的磁介質(zhì)寫入的硬盤驅(qū)動器141,從可移除的、非易失性的磁盤152中讀出或向可移除的、非易失性的磁盤152中寫入的磁盤驅(qū)動器151,以及從如CD ROM或其它光介質(zhì)這樣的可移除的、非易失性的光盤156中讀出或向可移除的、非易失性的光盤156中寫入的光盤驅(qū)動器155??捎糜谑痉缎圆僮鳝h(huán)境中的其它可移除/不可移除、易失性/非易失性計(jì)算機(jī)存儲介質(zhì)包括但不局限于磁帶盒、快擦寫存儲卡、數(shù)字多用途盤、數(shù)字視頻磁帶、固態(tài)RAM、固態(tài)ROM等等。硬盤驅(qū)動器141典型地通過如接口140這樣的不可移除的存儲器接口而連接到系統(tǒng)總線121,以及磁盤驅(qū)動器151和光盤驅(qū)動器155典型地由如接口150這樣的可移除存儲器接口而連接到系統(tǒng)總線121。
以上討論及圖1所示的驅(qū)動器及其關(guān)聯(lián)計(jì)算機(jī)存儲介質(zhì)為計(jì)算機(jī)110提供了計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊及其它數(shù)據(jù)的存儲器。在圖1中,例如,將硬盤驅(qū)動器141顯示為存儲了操作系統(tǒng)144、應(yīng)用程序145、其他程序模塊146和程序數(shù)據(jù)147。值得注意的是這些部件可以相同或者不同于操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137。此處對操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146和程序數(shù)據(jù)147給出不同符號表示至少它們是不同的拷貝。用戶可通過如圖形輸入卡、或電子數(shù)字轉(zhuǎn)換器164、麥克風(fēng)163、鍵盤162和通常稱為鼠標(biāo)、軌跡球或觸摸墊的光標(biāo)位置指示器161而將命令和信息輸入到計(jì)算機(jī)110中。其它輸入裝置(未顯示)可包括操縱桿、游戲墊、衛(wèi)星盤、掃描器等等。這些及其它輸入裝置常常經(jīng)由耦合到系統(tǒng)總線的用戶輸入接口160而連接到處理部件120,也可以是通過如并行端口、游戲端口或通用串行總線(USB)這樣的其它接口和總線結(jié)構(gòu)而連接到處理部件120。經(jīng)由如視頻接口190這樣的接口也可將監(jiān)視器191或者其它類型的顯示裝置連接到系統(tǒng)總線121。監(jiān)視器191也可與觸摸屏等集成為一體。值得注意的是監(jiān)視器和/或觸摸屏可以物理上耦合到其也包括計(jì)算機(jī)110的一個(gè)外殼中,如平板型個(gè)人計(jì)算機(jī)。此外,如計(jì)算機(jī)110這樣的計(jì)算設(shè)備也可包括其它外圍輸出設(shè)備,如揚(yáng)聲器197和打印機(jī)196,其可通過輸出外圍設(shè)備接口194等等而連接。
計(jì)算機(jī)110可操作于利用了到如遠(yuǎn)程計(jì)算機(jī)180這樣的一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī)的邏輯連接的網(wǎng)絡(luò)環(huán)境中。遠(yuǎn)程計(jì)算機(jī)180可以是個(gè)人計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對等設(shè)備或其它公用網(wǎng)絡(luò)節(jié)點(diǎn),并且一般包括如上所述關(guān)于計(jì)算機(jī)110的許多或所有元件,雖然圖1僅顯示了一個(gè)存儲器設(shè)備181。圖1中所述邏輯連接包括局域網(wǎng)(LAN)171和廣域網(wǎng)(WAN)173,但也可包括其它網(wǎng)絡(luò)。這種連網(wǎng)環(huán)境在辦公室、企業(yè)范圍計(jì)算機(jī)網(wǎng)絡(luò)、內(nèi)部網(wǎng)和互聯(lián)網(wǎng)中是常見的。例如,在本發(fā)明中,計(jì)算機(jī)110包含從中遷移數(shù)據(jù)的源機(jī)器,而遠(yuǎn)程計(jì)算機(jī)180包含目的機(jī)器。然而值得注意的是源和目的機(jī)器不必通過網(wǎng)絡(luò)或任何其它裝置而連接,但是作為替代,經(jīng)由能夠由源平臺寫入和由目的平臺讀出的任何介質(zhì)或平臺而遷移數(shù)據(jù)。
當(dāng)用在LAN連網(wǎng)環(huán)境中時(shí),計(jì)算機(jī)110經(jīng)由網(wǎng)絡(luò)接口或適配器170而連接到LAN 171。當(dāng)用在WAN連網(wǎng)環(huán)境中時(shí),計(jì)算機(jī)110典型地包括調(diào)制解調(diào)器172或用于建立如互聯(lián)網(wǎng)這樣的WAN 173上的通信的其它裝置,其可以是內(nèi)置或外置的調(diào)制解調(diào)器172可經(jīng)由用戶輸入接口160或其它適當(dāng)機(jī)制而連接到系統(tǒng)總線121。在網(wǎng)絡(luò)環(huán)境中,可將關(guān)于計(jì)算機(jī)110或其一部分而描述的程序模塊存儲在遠(yuǎn)程存儲器存儲裝置中。舉例來說,而不是限制,圖1顯示了存在于存儲裝置181上的遠(yuǎn)程應(yīng)用程序185。應(yīng)當(dāng)明白的是,所示網(wǎng)絡(luò)連接是示范性的并且可采用在計(jì)算機(jī)間建立通信鏈接的其他裝置。
轉(zhuǎn)向圖2,描述了一種其中潛在地利用了本發(fā)明的計(jì)算環(huán)境的簡單例子。在該說明性的環(huán)境中,計(jì)算機(jī)200包括用于便于傳播介質(zhì)上的通信的網(wǎng)絡(luò)接口卡(未具體地顯示)。在圖2所述的特定例子中,計(jì)算機(jī)200經(jīng)由物理連接而與局域網(wǎng)206進(jìn)行通信。替換地,計(jì)算機(jī)200可經(jīng)由WWAN或WLAN介質(zhì)或經(jīng)由其它傳播介質(zhì)而與該局域網(wǎng)206進(jìn)行通信。
作為所承載網(wǎng)絡(luò)介質(zhì)的結(jié)果,計(jì)算機(jī)200的用戶能夠訪問互聯(lián)網(wǎng)202。例如,計(jì)算機(jī)200經(jīng)由到LAN 206的物理連接來直接訪問LAN 206上的資源。在該說明性的例子中LAN 206被認(rèn)為包括網(wǎng)絡(luò)訪問和代理服務(wù)器,其允許正確地認(rèn)證計(jì)算機(jī)200的用戶以訪問互聯(lián)網(wǎng)202的資源。
以網(wǎng)頁的形式將互聯(lián)網(wǎng)202呈現(xiàn)給計(jì)算機(jī)200的用戶。網(wǎng)頁含有要由存在于計(jì)算機(jī)200上的瀏覽器應(yīng)用程序208所處理和顯示的內(nèi)容和指令。替換地,瀏覽器應(yīng)用程序208保存在網(wǎng)絡(luò)計(jì)算機(jī)210上,并且經(jīng)由遠(yuǎn)程顯示程序而圖示于計(jì)算機(jī)200上。網(wǎng)頁也含有到其它網(wǎng)頁的超鏈接,其允許用戶容易地通過選擇所呈現(xiàn)超鏈接而從所示頁面導(dǎo)航到相關(guān)頁面。用這種方法,頁面上的超鏈接創(chuàng)建互連頁面的″網(wǎng)″,借此用戶可以通過一系列超鏈接選擇而從一個(gè)頁面導(dǎo)航到所有百萬或上億的頁面。雖然可能有幾十億個(gè)互聯(lián)網(wǎng)202可訪問的互連網(wǎng)頁,然而對于本發(fā)明的目的來說,將頁面認(rèn)定為編號為1到n的頁面212的有序集是很有用的。其中,n是網(wǎng)頁互聯(lián)網(wǎng)絡(luò)上可訪問的頁面的總數(shù)。為了幫助用戶記錄感興趣的網(wǎng)頁,瀏覽器應(yīng)用程序可包含“喜好”或“書簽”特征214,借此用戶能夠存儲他可能經(jīng)常訪問的網(wǎng)頁列表,將來允許容易地導(dǎo)航到那些頁面。
雖然用戶能夠僅通過選擇超鏈接來導(dǎo)航到網(wǎng)頁,但是也存在著如搜索引擎這樣的工具以幫助用戶發(fā)現(xiàn)包含于網(wǎng)頁中的特定信息。在典型的情形中,搜索引擎220容納于連接到互聯(lián)網(wǎng)202的服務(wù)器222中,并且也連接到包含關(guān)于互聯(lián)網(wǎng)上網(wǎng)頁的索引和信息226的數(shù)據(jù)庫224。在典型的搜索引擎中,向用戶呈現(xiàn)一個(gè)他可在其上輸入通常為搜索條件形式的搜索參數(shù)的網(wǎng)頁。搜索引擎220利用其數(shù)據(jù)庫224來處理用戶請求并且隨后向用戶呈現(xiàn)一個(gè)包含有到滿足用戶請求參數(shù)的其它頁面的鏈接的新網(wǎng)頁。
當(dāng)大量頁面滿足搜索參數(shù)時(shí),以一種有組織的方式向用戶呈現(xiàn)搜索結(jié)果可能是有問題的。一個(gè)沒有具體順序的數(shù)以千計(jì)的網(wǎng)頁的列表將迫使用戶艱苦地手動歸類整個(gè)列表以找到相關(guān)的頁面。因此,現(xiàn)代搜索引擎常常通過利用例如是嵌入式頁面分級引擎228來基于假定的相關(guān)性向用戶分等或“分級”頁面。因此,可通過假定的相關(guān)性來分類滿足搜索的網(wǎng)頁,以便在結(jié)果列表的頂部向用戶呈現(xiàn)最相關(guān)結(jié)果。
然而,判斷所有特定網(wǎng)頁的相關(guān)性不是一項(xiàng)普通的工作。一種判斷相關(guān)性的方法考察互聯(lián)網(wǎng)上頁面間的互連性結(jié)構(gòu),以發(fā)現(xiàn)在包含通向那個(gè)頁面的超鏈接的眾多其它網(wǎng)頁中哪個(gè)頁面是“受歡迎的”??蓪⒒ミB性結(jié)構(gòu)以“連通度矩陣”的形式存儲于連接到搜索引擎的數(shù)據(jù)庫中,其中矩陣中的記錄[i,j]表示從頁面j到頁面i的超鏈接的存在?,F(xiàn)在參考圖3描述了一個(gè)當(dāng)用在本發(fā)明實(shí)施例中時(shí)用于描述網(wǎng)頁間的互連性的連通度矩陣的例子。為了說明性的目的,在圖3的例子中網(wǎng)頁的整體僅包括五個(gè)網(wǎng)頁。頁面1301包含到頁面2302、頁面3303和頁面4304的超鏈接。頁面2302包含到頁面1301和頁面4304的超鏈接。頁面3303僅包含一個(gè)到頁面4304的超鏈接。頁面4包含到頁面1301和頁面2302的超鏈接。頁面5包含到頁面3303和頁面4304的超鏈接。在該例子中,這個(gè)互連由連通性矩陣描述為
0101010010100011110100000]]>其中當(dāng)且僅當(dāng)存在從頁面j到頁面i的鏈接時(shí)i行j列處的分量是1。如果從頁面中隨機(jī)唯一地選擇出一個(gè)超鏈接,則當(dāng)選擇超鏈接時(shí)具有從頁面j跳轉(zhuǎn)到頁面i的相應(yīng)概率p(i,j)。相應(yīng)的隨機(jī)移動轉(zhuǎn)換矩陣A是A=00.500.500.33000.500.330000.50.330.5100.500000]]>矩陣A每列的和等于1。然而,本發(fā)明不限于在頁面內(nèi)隨機(jī)地唯一選擇一個(gè)超鏈接。所有任意概率分布均可應(yīng)用于任何特定頁面內(nèi)超鏈接的選擇中。例如,如果己知統(tǒng)計(jì)數(shù)據(jù)是關(guān)于實(shí)際用途模式的,那么可將該信息應(yīng)用于指定A中所包含的可能性。
假定當(dāng)前互聯(lián)網(wǎng)包含上億的頁面,并且大多數(shù)的這些頁面不包含它們之間的超鏈接,則當(dāng)用在這個(gè)例子之外的實(shí)現(xiàn)中時(shí)矩陣A是一個(gè)主要包含0記錄的稀疏矩陣。由于它允許壓縮技術(shù)以有效地存儲該矩陣,因此該稀疏特性是有用的。除了稀疏性,另一個(gè)重要的矩陣概念是矩陣的″分級″,即與網(wǎng)頁的“頁面級別”或單個(gè)網(wǎng)頁的“分級”無關(guān)的數(shù)學(xué)術(shù)語。矩陣的級別是矩陣線性無關(guān)列(或行)的數(shù)目。為了實(shí)用目的,將較低級別矩陣比較高級別矩陣更有效地存儲—k級n×n矩陣包含需要約kn次存儲器的信息而n級矩陣可能需要約n2次存儲。
替換地,頁面間的連通性可認(rèn)為是按照包含頂點(diǎn)和有向邊的圖形的形式。用這樣的方式,每個(gè)頂點(diǎn)代表一個(gè)網(wǎng)頁而每個(gè)有向邊代表頁面間的一個(gè)超鏈接。通過為該邊指定權(quán)重,可表示頁面超鏈接之間的概率分布。現(xiàn)在參考圖4a-4b描述相當(dāng)于圖3所示網(wǎng)頁的互連的圖形的例子。在圖4a中描述了一組相當(dāng)于網(wǎng)頁的頂點(diǎn)和一組連接該頂點(diǎn)的邊。例如有向邊402相當(dāng)于從頁面1404(相當(dāng)于圖3中的頁面1301)到頁面2406(即圖3中的頁面2302)的鏈接。圖4a的有向圖與以上給定的互連性矩陣相一致。如圖4b所示,本發(fā)明的實(shí)施例考慮具有無向邊的圖形。在無向圖中,頁面1 404和頁面2 406間的邊410相當(dāng)于從頁面1 301到頁面2 302的鏈接或者從頁面2 302到頁面1301的鏈接,或者兩者都有。對于無向圖的相應(yīng)互連性矩陣通常是對稱矩陣,以致于j列i行的記錄等于j行i列的記錄。相應(yīng)于圖4b的圖形的對稱矩陣是0111010010100111110100110]]>轉(zhuǎn)向圖5,根據(jù)一個(gè)實(shí)施例,用戶在步驟504輸入搜索條件并且在步驟506向搜索引擎發(fā)送該查詢。在接收該查詢之前,在步驟508頁面分級引擎已經(jīng)在互聯(lián)網(wǎng)上的網(wǎng)頁的互連性(以及可能的其他統(tǒng)計(jì)數(shù)據(jù))的基礎(chǔ)上為該頁面計(jì)算了頁面級別。接收查詢之后,在步驟510搜索引擎執(zhí)行給定搜索條件上的搜索并獲得結(jié)果。然后在步驟512搜索引擎通過頁面級別將結(jié)果分類。在步驟514將已分類結(jié)果返回給用戶。
用于分級網(wǎng)頁的幾種現(xiàn)有方法利用在互聯(lián)網(wǎng)的網(wǎng)頁間進(jìn)行理論上的“隨機(jī)移動”的概念。通常將隨機(jī)移動認(rèn)為是從某些網(wǎng)頁k開始,接著選擇一個(gè)到具有某種可能性A[i,j]的頁面j的超鏈接。該移動通過選擇到具有某種可能性A[i,j]的另一個(gè)頁面i的超鏈接或者通過隨機(jī)地“遠(yuǎn)距傳輸”到另一個(gè)頁面以避免到達(dá)盡頭而從頁面j繼續(xù)。理論上的隨機(jī)移動無限期地繼續(xù)。通過在隨機(jī)移動轉(zhuǎn)換矩陣A上執(zhí)行數(shù)學(xué)變換,搜索引擎可在隨機(jī)移動步驟中基于到達(dá)該頁面的可能性而分級頁面?,F(xiàn)有頁面分級算法通過計(jì)算由A或相關(guān)轉(zhuǎn)換矩陣所表示的馬爾可夫鏈的靜態(tài)分布來計(jì)算頁面的頁面級別。這相當(dāng)于找到轉(zhuǎn)換矩陣的主要特征向量(即它的相應(yīng)特征值最大的特征向量)。用于以這種方式計(jì)算頁面分級的幾種技術(shù)是已知的。
典型地利用現(xiàn)有的頁面分級方法,本發(fā)明的實(shí)施例在具有特定的數(shù)據(jù)結(jié)構(gòu)的存儲器中存儲關(guān)于網(wǎng)頁互連的數(shù)據(jù)。參考圖6描述了一種示范性的數(shù)據(jù)結(jié)構(gòu)。數(shù)組602包含一個(gè)關(guān)于如圖4a所示的相應(yīng)網(wǎng)絡(luò)圖形中每個(gè)邊(即,關(guān)于連通度矩陣中的每個(gè)非零分量)的記錄。每個(gè)數(shù)組元素是大小相等的,并且數(shù)組602占用存儲器的連續(xù)模塊。通過僅存在關(guān)于實(shí)際邊而不是不存在邊的信息,會比存儲整個(gè)連通度矩陣(即,包括零記錄)需要更少的存儲器。數(shù)組元素包含表示從頁面i到頁面j的鏈接的邊描述(i,j)。在圖6的例子中,通過該數(shù)據(jù)對中的第一個(gè)值來將數(shù)組602中的元素進(jìn)行分類,其中該第一個(gè)值代表鏈接是從其之中發(fā)出的那個(gè)網(wǎng)頁。用于分類該示范性陣列602的索引是任意的,并且對于相對順序或者頁面標(biāo)記來說是無意義的。
典型地,一種頁面分級方法將連續(xù)地訪問如圖6的例子中的數(shù)據(jù)結(jié)構(gòu),一個(gè)接一個(gè)的處理元素。另外,典型的頁面分級方法利用一個(gè)附加的數(shù)據(jù)結(jié)構(gòu)以保存相應(yīng)于頁面的頁面分級信息。用于保存頁面分級信息的典型數(shù)據(jù)結(jié)構(gòu)是每頁具有一個(gè)數(shù)組元素的單維數(shù)組。通過為特別指定的索引而檢索元素,這種頁面分級信息的數(shù)組通常經(jīng)由隨機(jī)存取來進(jìn)行訪問。
正如前面提到的那樣,對于執(zhí)行頁面分級所需時(shí)間量的一個(gè)影響因素是處理器所需存儲器訪問的次數(shù)。對存儲器的每次訪問增加了一個(gè)時(shí)間量(大約100納秒),這與處理器的速度極大地有關(guān)。然而,處理器高速緩沖存儲器需要顯然更少的訪問的時(shí)間。本發(fā)明的實(shí)施例利用高速緩沖存儲器及兩個(gè)獨(dú)立技術(shù)中之一或全部以降低存儲器需要訪問的次數(shù)。首先,根據(jù)最佳化的順序來重新標(biāo)記節(jié)點(diǎn)(網(wǎng)頁)。雖然不能在存儲器中物理上重排邊,但是改變頁面關(guān)聯(lián)節(jié)點(diǎn)的標(biāo)識符會改變訪問頁面分級信息數(shù)組的模式。例如,如果將相應(yīng)于由其它頁面經(jīng)常與它們都進(jìn)行鏈接的那兩個(gè)頁面的節(jié)點(diǎn)重新標(biāo)記以具有鄰接索引,那么將通過對第一個(gè)頁面的元素的訪問來繼續(xù)進(jìn)行對第二個(gè)頁面的頁面分級信息數(shù)組元素的眾多訪問。因?yàn)楦咚倬彌_存儲器存儲了連續(xù)存儲器的一大塊(并且存儲最近訪問的數(shù)據(jù)),因此,對第一個(gè)頁面的訪問可能會將與兩個(gè)頁面都相關(guān)的分級數(shù)據(jù)帶入高速緩沖存儲器中。不重新標(biāo)記的話,由于對兩個(gè)頁面的訪問是對存儲器的不同區(qū)域的并且可能在非常不同的時(shí)間發(fā)生,因此高速緩存不能更有效地服務(wù)于第二個(gè)訪問。通過重新標(biāo)記節(jié)點(diǎn),相應(yīng)于相鄰節(jié)點(diǎn)的頁面分級數(shù)據(jù)同時(shí)處于高速緩存中變得更加可能了,這降低了不得不從存儲器中檢索數(shù)據(jù)的可能性。當(dāng)對存儲頁面分級信息的數(shù)據(jù)結(jié)構(gòu)執(zhí)行變址存取時(shí),這個(gè)優(yōu)點(diǎn)尤其可見。
在第二種技術(shù)中,以一種特定網(wǎng)絡(luò)圖形表示的最佳化順序來分類頁面鏈接數(shù)據(jù)。也就是說,如果第一存儲器模塊包含相應(yīng)于從第一節(jié)點(diǎn)發(fā)出的邊的數(shù)組元素,那么數(shù)組中元素的鄰接第二模塊與從第二節(jié)點(diǎn)發(fā)出的邊相對應(yīng),并目在網(wǎng)絡(luò)圖形中第一和第二節(jié)點(diǎn)彼此“接近”。由節(jié)點(diǎn)的接近度照這樣來設(shè)置數(shù)組元素提高了從如圖6所示的數(shù)據(jù)結(jié)構(gòu)中連續(xù)地讀出鏈接的效率;當(dāng)從頭到尾讀出一遍該數(shù)據(jù)結(jié)構(gòu)并且遇到頁面j發(fā)出的邊時(shí),提高了已經(jīng)根據(jù)某些邊(i,j)而為在先頁面i處理了頁面j的信息的可能性。這因而提高了頁面j的頁面分級信息當(dāng)前正保存在高速緩存中的可能性,導(dǎo)致了頁面分級計(jì)算中的速度提高。此外,當(dāng)在鏈接的探測中跟隨鏈接而從一個(gè)頁面轉(zhuǎn)到另一個(gè)頁面(即,不連續(xù)地遍歷邊信息數(shù)組)時(shí),在存儲器中下一個(gè)頁面的連接并不太遠(yuǎn)。這提供了一個(gè)優(yōu)勢,由于如果立即將包含邊信息的連續(xù)存儲器的一大塊讀入到高速緩存中,那么不大可能需要在不久以后讀出第二大塊。通常,如以上所述的第一種技術(shù),也將節(jié)點(diǎn)重新標(biāo)記并且又會獲得那些優(yōu)點(diǎn)。
圖6中顯示了應(yīng)用如上所述這兩種技術(shù)的結(jié)果。在該例子中,通過根據(jù)置換陣123454′5′2′3′1′]]>604置換標(biāo)記來執(zhí)行網(wǎng)頁的重新標(biāo)記,以便將頁面1重新標(biāo)記為頁面4′、頁面2重新標(biāo)記為頁面5′等。數(shù)組606顯示了具有重新標(biāo)記的元素的數(shù)組。然而在一個(gè)實(shí)施例中,沒有重新標(biāo)記數(shù)組的元素本身。作為替代,在數(shù)組元素之外執(zhí)行該重新標(biāo)記;不對由重新標(biāo)記的數(shù)組606所表示的邊進(jìn)行分類,因此,對于數(shù)組602的內(nèi)容來說不會有任何物理上的變化。這相當(dāng)于如上所述的第一種技術(shù)。繼續(xù)該例子,如上所述的第二種技術(shù)用于根據(jù)他們的重新標(biāo)記來分類數(shù)組元素。這導(dǎo)致數(shù)組元素的重新排列以產(chǎn)生示范性數(shù)組608。即使沒有重新標(biāo)記數(shù)組元素的實(shí)際內(nèi)容,根據(jù)該重新標(biāo)記而從物理上分類數(shù)組的元素608。因此,重分類數(shù)組608的元素610實(shí)際上包含值“(1,4)”,而不是重新標(biāo)記值“(2′,3′)”—用重新標(biāo)記的索引來訪問頁面的頁面分級信息數(shù)組,利用了重新分類數(shù)組608的頁面分級方法最好是執(zhí)行運(yùn)行時(shí)重新標(biāo)記該邊。
轉(zhuǎn)向圖7-9,如用在本發(fā)明的實(shí)施例中的,描述了一種用于計(jì)算網(wǎng)頁重排序以用估算頁面分級來提高速度的方法。通常,在步驟702,該方法取得一組網(wǎng)頁的初始排序,在步驟704,構(gòu)造表示那個(gè)頁面對其相鄰頁面的權(quán)重影響的矩陣,并且在步驟706得到這個(gè)矩陣的第二特征向量(即其相應(yīng)特征值是第二大的)。在步驟708,根據(jù)該特征向量的值而重新標(biāo)記和分類網(wǎng)頁。
更詳細(xì)地,圖8顯示了構(gòu)造表示那個(gè)頁面對其相鄰頁面權(quán)重影響的矩陣的方法。在步驟802,該方法通過讀出頁面間的鏈接列表而開始。在步驟804,構(gòu)造表示頁面間鏈接的第一對稱矩陣。替換地,不構(gòu)造對稱矩陣,并且該方法僅考慮進(jìn)入該頁面的或者僅考慮從頁面中發(fā)出的鏈接。然后在步驟806構(gòu)造對角線矩陣D,其中對角線元素D[i,j]設(shè)置為進(jìn)入或離開相應(yīng)頁面i的鏈接數(shù)目。對于圖3和4中的示范性網(wǎng)頁組,對角矩陣是
3000002000003000004000002]]>在步驟808通過平均第一矩陣和對角線矩陣D的元素而構(gòu)造一個(gè)新矩陣。本發(fā)明的實(shí)施例執(zhí)行這個(gè)步驟808以保證稍后在計(jì)算第二特征向量時(shí)不會出現(xiàn)各種退化條件。在步驟810,通過將對角線矩陣D的逆矩陣與新矩陣相乘以便計(jì)算表示相鄰頁面的權(quán)重的矩陣W。在圖3和4的例子中,矩陣W是W=]]>0.33000000.5000000.33000000.25000000.5×1.50.50.50.500.5100.500.501.50.50.50.50.50.520.5000.50.51=]]>0.50.1670.1670.16700.250.500.2500.16700.50.1670.1670.1250.1250.1250.50.125000.250.250.5]]>轉(zhuǎn)向圖9,如用于本發(fā)明實(shí)施例中,根據(jù)計(jì)算矩陣的第二特征向量而描述了一種計(jì)算網(wǎng)頁重新排序的方法。在步驟902,如用圖8中的方法所計(jì)算的那樣,該方法采用表示相鄰網(wǎng)頁的權(quán)重影響的矩陣作為輸入。在步驟904,初始任意選擇值并將該值指定到每個(gè)網(wǎng)頁以形成初始向量。初始向量的例子是417992.]]>在步驟906,將該向量與W相乘以產(chǎn)生一個(gè)表示相鄰頁面值的估計(jì)平均值的向量W417992=19.8326.252151.2527.5.]]>在步驟908,通過為新向量中的每個(gè)值加上一個(gè)足夠的固定值以便使值的平均值為0而使新向量集中于中心
19.8326.252151.2527.5+-29.17-29.17-29.17-29.17-29.17=-9.33-2.92-81.722.08-1.67]]>然后,在步驟910將向量標(biāo)準(zhǔn)化以保持新向量大小恒定標(biāo)準(zhǔn)化-9.33-2.92-8.1722.08-1.67=-0.37-0.11-0.320.86-0.07]]>在步驟912,檢驗(yàn)結(jié)束條件。在本發(fā)明的一個(gè)實(shí)施例中,結(jié)束條件是新向量中的值是否與前面的迭代向量有顯著的差別。在另一個(gè)實(shí)施例中結(jié)束條件是是否已經(jīng)執(zhí)行了若干次迭代。在另一個(gè)實(shí)施例中,結(jié)束條件是從一次迭代到下一次迭代的向量間的內(nèi)積是否接近于1。在又一個(gè)實(shí)施例中,結(jié)束條件是對于若干次迭代來說向量的值的相對順序是否未改變。如果滿足結(jié)束條件,該方法結(jié)束,在步驟914輸出該向量作為第二特征向量。否則返回到步驟906發(fā)生另一次迭代以將新向量與W相乘。在上述例子中,經(jīng)過20次迭代之后,向量穩(wěn)定在-0.34-0.620.340.000.62]]>這個(gè)向量近似于上面給出的矩陣W的第二特征向量。
一旦已經(jīng)用如上所述方法那樣的方法計(jì)算了第二特征向量,就根據(jù)該特征向量在物理存儲器中重新標(biāo)記和/或分類網(wǎng)頁。在上述的例子中,第二特征向量的第五個(gè)值是最大的,因此頁面5重新標(biāo)記為頁面1′,并且相應(yīng)地重新標(biāo)記連通度矩陣的索引。類似地,按照第二特征向量中值的順序,將頁面3重新標(biāo)記為頁面2′,頁面4重新標(biāo)記為頁面3′等等。然后利用頁面的新標(biāo)號,采用頁面分級方法來分級網(wǎng)頁。具有這種重新標(biāo)記頁面的矩陣將原矩陣的行和原矩陣的列進(jìn)行有效地移位,以便彼此接近的行和彼此接近的列表示網(wǎng)絡(luò)圖形中彼此接近的網(wǎng)頁。由于許多頁面分級技術(shù)通過按所標(biāo)記的順序來處理矩陣的所有行和/或列而執(zhí)行矩陣運(yùn)算,因此,由本發(fā)明實(shí)施例所執(zhí)行的重新標(biāo)記會導(dǎo)致頁面分級技術(shù)的效率提高。因而,可將如上所述用于重新標(biāo)記和分類網(wǎng)頁索引的方法作為預(yù)處理步驟而執(zhí)行,這對許多頁面分級技術(shù)來說都適用。
本發(fā)明的應(yīng)用程序不限于分級網(wǎng)頁。本發(fā)明同樣適合于其中矩陣用來表示互連的所有互連對象組。例如,本發(fā)明可應(yīng)用于在社會網(wǎng)中對個(gè)體進(jìn)行分級,或者在電子表格或遠(yuǎn)程通信網(wǎng)上識別重要資源。
此外,本發(fā)明可應(yīng)用于在分布式網(wǎng)絡(luò)中尋找有效的資源分布。這種資源分布的一個(gè)具體的例子是包含許多用戶的虛擬消息傳送業(yè)務(wù)。用戶一般登錄到提供服務(wù)的分布式服務(wù)器之一上,并且被通知他之前的關(guān)聯(lián)用戶列表組(“朋友”或“密友”)當(dāng)前也登錄到了服務(wù)中。在他們的列表中包括他的其他用戶同樣被通知到他的登錄。因此,這些用戶可參與到彼此間的直接通信對話中。在這種系統(tǒng)中,如果通過同一個(gè)分布式服務(wù)器來服務(wù)其在彼此列表中的用戶是有益的,那么會降低分布式網(wǎng)絡(luò)上服務(wù)器間的通信成本。因此,通過幫助確保彼此通信的用戶通常由同樣的服務(wù)器或由附近的服務(wù)器來服務(wù),將本發(fā)明應(yīng)用到這種系統(tǒng)中降低了系統(tǒng)的總通信成本。
考慮到可將本發(fā)明原理應(yīng)用于其中的許多可能的實(shí)施例,應(yīng)當(dāng)承認(rèn)的是,此處參考附圖而描述的實(shí)施例僅是說明性的,而不應(yīng)看作是對本發(fā)明范圍的限制。例如,所屬領(lǐng)域技術(shù)人員應(yīng)當(dāng)承認(rèn),在不脫離本發(fā)明精神的情況下可在設(shè)置和細(xì)節(jié)上修改所示實(shí)施例。雖然根據(jù)軟件模塊或元件而描述了本發(fā)明,但是所屬領(lǐng)域技術(shù)人員應(yīng)當(dāng)承認(rèn),其可同等地由硬件元件來替代。因此,此處所描述的本發(fā)明將所有這些實(shí)施例歸入到以下權(quán)利要求及其等價(jià)物的范圍之內(nèi)。
權(quán)利要求
1.一種在對象集合中分級對象的方法,該集合中一個(gè)或多個(gè)對象鏈接到集合中的其它對象,該方法包括根據(jù)它們到關(guān)于鏈接的集合中其他對象的接近度而排序該對象;以及根據(jù)對象的排序而在存儲器中存儲對象間的鏈接。
2.根據(jù)權(quán)利要求1所述的方法,由第一矩陣表示對象和鏈接的集合,該排序包括計(jì)算相對于第一矩陣的第二矩陣;估計(jì)第二矩陣的第二特征向量;以及相對于第二特征向量的近似值而標(biāo)記該對象。
3.根據(jù)權(quán)利要求2所述的方法,其中第二矩陣表示為每個(gè)對象計(jì)算與鏈接到每個(gè)對象的對象相關(guān)的近似平均值的函數(shù)。
4.根據(jù)權(quán)利要求1所述的方法,該方法進(jìn)一步包含利用保存在存儲器中的鏈接來計(jì)算對象的分級。
5.根據(jù)權(quán)利要求4所述的方法,該計(jì)算包含利用高速緩沖存儲器暫時(shí)地存儲最近從存儲器中訪問的鏈接。
6.根據(jù)權(quán)利要求1所述的方法,其中對象是網(wǎng)頁。
7.一種計(jì)算機(jī)可讀介質(zhì),包括便于對象集合中對象分級的計(jì)算機(jī)可執(zhí)行指令,該集合中一個(gè)或多個(gè)對象鏈接到集合中的其它對象,該計(jì)算機(jī)可執(zhí)行指令執(zhí)行步驟根據(jù)它們到關(guān)于鏈接的集合中其它對象的接近度而排序該對象;以及根據(jù)對象的排序而在存儲器中存儲對象間的鏈接。
8.根據(jù)權(quán)利要求7所述的計(jì)算機(jī)可讀介質(zhì),由第一矩陣表示對象和鏈接的集合,該排序包括以下步驟計(jì)算相對于第一矩陣的第二矩陣;估計(jì)第二矩陣的第二特征向量;以及相對于第二特征向量的近似值而標(biāo)記該對象。
9.根據(jù)權(quán)利要求8所述的計(jì)算機(jī)可讀介質(zhì),其中第二矩陣表示為每個(gè)對象計(jì)算與鏈接到每個(gè)對象的對象相關(guān)的近似平均值的函數(shù)。
10.根據(jù)權(quán)利要求7所述的計(jì)算機(jī)可讀介質(zhì),該計(jì)算機(jī)可執(zhí)行指令進(jìn)一步執(zhí)行步驟利用保存在存儲器中的鏈接來計(jì)算對象的分級。
11.根據(jù)權(quán)利要求10所述的計(jì)算機(jī)可讀介質(zhì),計(jì)算分級包含利用高速緩存暫時(shí)存儲最近從存儲器中訪問的鏈接。
12.一種從互連對象集合中排序?qū)ο蟮姆椒?,由第一矩陣表示對象的互連,該方法包括計(jì)算相對于第一矩陣的第二矩陣;估計(jì)第二矩陣的第二特征向量;以及相對于第二特征向量的近似值而標(biāo)記該對象。
13.根據(jù)權(quán)利要求12所述的方法,其中對象是網(wǎng)頁。
14.根據(jù)權(quán)利要求12所述的方法,其中第二矩陣表示為每個(gè)對象計(jì)算與鏈接到每個(gè)對象的對象相關(guān)的近似平均值的函數(shù)。
15.根據(jù)權(quán)利要求12所述的方法,其中近似第二特征向量包括選擇第一向量的初始值;以及重復(fù)以下步驟將第二矩陣與第一向量相乘以獲得第二向量;將第二向量集中于中心;以及由第二向量的值代替第一向量的值;直到滿足結(jié)束條件。
16.根據(jù)權(quán)利要求15所述的方法,其中將第二向量集中于中心包括為第二向量中的每個(gè)記錄加上一個(gè)固定值以便第二向量的記錄平均值是零。
17.根據(jù)權(quán)利要求15所述的方法,進(jìn)一步包括標(biāo)準(zhǔn)化第二向量。
18.一種計(jì)算機(jī)可讀介質(zhì),包括便于互連對象集合中的對象的排序的計(jì)算機(jī)可執(zhí)行指令,由第一矩陣表示對象的互連,該計(jì)算機(jī)可執(zhí)行指令執(zhí)行以下步驟計(jì)算相對于第一矩陣的第二矩陣;估計(jì)第二矩陣的第二特征向量;以及相對于第二特征向量的近似值而標(biāo)記該對象。
19.根據(jù)權(quán)利要求18所述的計(jì)算機(jī)可讀介質(zhì),其中對象是網(wǎng)頁。
20.根據(jù)權(quán)利要求18所述的計(jì)算機(jī)可讀介質(zhì),其中,第二矩陣表示為每個(gè)對象計(jì)算與鏈接到每個(gè)對象的對象相關(guān)的近似平均值的函數(shù)。
21.根據(jù)權(quán)利要求18所述的計(jì)算機(jī)可讀介質(zhì),其中近似第二特征向量包括選擇第一向量的初始值;以及重復(fù)以下步驟將第二矩陣與第一向量相乘以獲得第二向量;將第二向量集中于中心;以及由第二向量的值代替第一向量的值;直到滿足結(jié)束條件。
22.根據(jù)權(quán)利要求21所述的計(jì)算機(jī)可讀介質(zhì),其中將第二向量集中于中心包括為第二向量中的每個(gè)記錄加上一個(gè)固定值以便第二向量的記錄平均值是零。
23.根據(jù)權(quán)利要求18所述的計(jì)算機(jī)可讀介質(zhì),其中對象是包括多個(gè)服務(wù)器的分布式計(jì)算機(jī)系統(tǒng)中的資源,該計(jì)算機(jī)可讀介質(zhì)進(jìn)一步在多個(gè)服務(wù)器間便于一個(gè)或多個(gè)互連資源的分配,并且進(jìn)一步執(zhí)行以下步驟根據(jù)排序?qū)①Y源分配給多個(gè)服務(wù)器。
24.一種計(jì)算機(jī)可讀介質(zhì),包括便于互連對象集合中對象的排序的計(jì)算機(jī)可執(zhí)行指令,根據(jù)對象的第一次排序而在存儲器中存儲互連的描述,該計(jì)算機(jī)可執(zhí)行指令執(zhí)行以下步驟關(guān)于對象到經(jīng)由互連的其它對象的接近度來重新排序?qū)ο蟆?br>
25.根據(jù)權(quán)利要求24所述的計(jì)算機(jī)可讀介質(zhì),該計(jì)算機(jī)可執(zhí)行指令進(jìn)一步包括步驟通過利用對象的重新排序而計(jì)算對象的分級。
26.根據(jù)權(quán)利要求25所述的計(jì)算機(jī)可讀介質(zhì),計(jì)算包括利用高速緩存來暫性存儲最近從存儲器訪問的互連描述信息。
全文摘要
描述了一種用于更有效地計(jì)算頁面分級的方法以及系統(tǒng)。利用描述網(wǎng)頁互連的互連性矩陣而計(jì)算新矩陣。該新矩陣用來計(jì)算與每個(gè)網(wǎng)頁的相鄰網(wǎng)頁相關(guān)的平均值。計(jì)算這個(gè)新矩陣的第二特征向量,并且根據(jù)該特征向量而重新標(biāo)記網(wǎng)頁的索引。最好是也根據(jù)該特征向量而物理上分類存儲該互連性信息的數(shù)據(jù)結(jié)構(gòu)。通過重新組織用于網(wǎng)頁分級計(jì)算中的矩陣,更有效地執(zhí)行高速緩存,產(chǎn)生更快的頁面分級方法。也描述了用于有效地分配資源配置的方法。
文檔編號G06F17/30GK1737803SQ20051010985
公開日2006年2月22日 申請日期2005年7月29日 優(yōu)先權(quán)日2004年7月30日
發(fā)明者F·D·麥克謝瑞 申請人:微軟公司