亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

借助于矩陣索引變換和改進的高速緩存而有效地分級網(wǎng)頁的制作方法

文檔序號:6649628閱讀:215來源:國知局
專利名稱:借助于矩陣索引變換和改進的高速緩存而有效地分級網(wǎng)頁的制作方法
技術領域
本發(fā)明通常涉及互聯(lián)網(wǎng)搜索領域,尤其是借助于矩陣計算來將網(wǎng)頁分級。
背景技術
目前互聯(lián)網(wǎng)包含由超鏈接互連的上億個網(wǎng)頁。互聯(lián)網(wǎng)用戶典型地利用網(wǎng)絡瀏覽應用程序(“瀏覽器”)來通過選擇和單擊超鏈接或者通過手動地輸入其允許瀏覽器直接訪問特定網(wǎng)頁的“統(tǒng)一資源定位器”(“URL”)而在這些頁面間進行導航。然而,用戶常常希望搜索互聯(lián)網(wǎng)以查找含有特定信息項的頁面。由于互聯(lián)網(wǎng)尺寸的原因,用戶手動地瀏覽互聯(lián)網(wǎng)以搜索相關頁面是不切實際的。作為替代,用戶一般地激活搜索引擎,該搜索引擎是為了搜索互聯(lián)網(wǎng)而開發(fā)的計算機應用程序。搜索引擎典型地保存在服務器計算設備上并接受來自客戶機用戶的查詢。搜索引擎通常與網(wǎng)頁的索引相關,以及,響應用戶查詢,返回滿足該查詢的頁面列表。
某些現(xiàn)代的搜索引擎將網(wǎng)頁分級以便向用戶提供比較相關的結(jié)果。許多搜索引擎借助于矩陣來表示網(wǎng)頁的互連,并且得到相當于得到矩陣的主要特征向量的頁面分級。Page等1998年1月在Stanford Digital Libraries Working Paper上的文章“The PageRank citation rankingBringing order to the web”中描述了這種搜索引擎,這里參考引用其全部內(nèi)容,盡管如此它教導不排除其任何部件。通常,迭代取得網(wǎng)頁分級并且穿過互連矩陣而傳送網(wǎng)頁分級,以獲得該頁面的更新分級。最終所有頁面的分級聚合于固定值,該固定值是主要特征向量的記錄。這相當于估算馬爾可夫鏈的靜態(tài)分布。由于矩陣尺寸的原因,計算特征向量—以及由此計算頁面分級—在現(xiàn)有的系統(tǒng)中是計算密集的作業(yè),在所有頁面的值聚合到特征向量之前需要幾次矩陣變換的迭代。為了更有效地計算頁面分級,研究人員試圖利用互連矩陣的特定數(shù)學特性以便發(fā)現(xiàn)更迅速地計算或者近似頁面分級的方法。
因為幾個原因,計算頁面分級是一種計算密集作業(yè)。一個原因僅僅是信息量的大小對于上億個網(wǎng)頁,甚至是在快速處理器上,即使對于該處理器來說所有數(shù)據(jù)都是立即可用的,執(zhí)行必要的計算仍需要大量時間。然而,另一個原因是,通常對于處理器來說不是所有數(shù)據(jù)都是立即可用的,必須從如RAM這樣的存儲區(qū)或如硬盤這樣的輔助存儲器中重現(xiàn)數(shù)據(jù)。訪問RAM的典型成本約為每次訪問耗時100納秒;訪問硬盤的典型成本約為每次訪問耗時5-10毫秒。對于其他快速處理器來說這成為了一個瓶頸—能一秒執(zhí)行十億次運算的處理器被限制在以約每秒一千萬個記錄的速率或其能力的大約百分之一來讀取數(shù)據(jù)此外,由現(xiàn)有的頁面分級技術來執(zhí)行的許多矩陣運算利用任意的網(wǎng)頁索引標記。結(jié)果,在相應互連性矩陣的行(或列)之間沒有關系。例如,如果頁面#_1含有到頁面#_226、#_4,250,221和#_1,000,000,152的鏈接,則互連性矩陣的相應行#_1將在列#_226、#_4,250,221和#_1,000,000,152中具有記錄。為了檢索那些頁面,必須從存儲器的三個可能很遠的區(qū)域中形成三次訪問。
研究人員不得不研究高速緩存系統(tǒng)。通常,“高速緩存”是暫時保存從較慢、較便宜的存儲器中所檢索的數(shù)據(jù)或指令的快速存儲器的小塊區(qū)域。通過在高速緩存中暫時性存儲經(jīng)常使用的數(shù)據(jù)或指令,處理器不需要從較慢的存儲器中檢索那些數(shù)據(jù)或指令。因此,高速緩存的有效利用提高了速度,利用高速緩存可在計算設備上執(zhí)行許多運算。

發(fā)明內(nèi)容
提供了更有效地計算頁面分級的方法和系統(tǒng)。利用描述網(wǎng)頁互連的互連性矩陣,而計算新矩陣。該新矩陣用來計算與每個網(wǎng)頁的相鄰網(wǎng)頁相關的值的平均值。計算這個新矩陣的第二特征向量,并且根據(jù)該特征向量來重新標記網(wǎng)頁的索引。存儲互連性信息的數(shù)據(jù)結(jié)構(gòu)也最好是根據(jù)該特征向量來在物理上進行分類。通過重新組織用于網(wǎng)頁分級計算中的矩陣,更有效地執(zhí)行高速緩存,產(chǎn)生更快的頁面分級技術。
在一個方面,提供一種在對象集合中將對象分級的方法,一個或多個該集合中的對象具有到該集合中其他對象的鏈接,該方法包括根據(jù)對象到關于鏈接的集合中其他對象的接近度而排序該對象,并且根據(jù)對象的排序而在存儲器中的對象間存儲該鏈接。
在另一個方面,提供一種計算機可讀介質(zhì),包括用于便于對象集合中對象的分級的計算機可執(zhí)行指令、集合中的一個或多個對象具有到集合中其他對象的鏈接,該計算機可執(zhí)行指令執(zhí)行步驟根據(jù)對象到關于鏈接的集合中其他對象的接近度而排序該對象,并且根據(jù)對象的排序而在存儲器中的對象間存儲該鏈接。
在再一個方面,提供了一種從互連對象的集合中排序?qū)ο蟮姆椒?,由第一矩陣表示的對象的互連,該方法包含計算相對于第一矩陣的第二矩陣,估計第二矩陣的第二特征向量,以及相對于對第二特征向量的估計的值而排序?qū)ο蟆?br> 在又一個方面,提供一種計算機可讀介質(zhì),包括用于便于互連對象集合中的對象的排序的計算機可執(zhí)行指令,由第一矩陣表示的對象的互連,計算機可執(zhí)行指令執(zhí)行以下步驟相對于第一矩陣而計算第二矩陣,估計第二矩陣的第二特征向量,以及相對于對第二特征向量的估計的值而排序?qū)ο蟆?br> 在再一個方面,提供一種計算機可讀介質(zhì),包括用于便于互連對象集合中的對象的分級的計算機可執(zhí)行指令,根據(jù)對象的第一次排序而在存儲器中存儲互連的描述,該計算機可執(zhí)行指令執(zhí)行關于對象到經(jīng)由互連的其它對象的接近度來重新排序?qū)ο蟮牟襟E。
附圖的簡要描述在附加權利要求具體闡述了本發(fā)明特征的同時,結(jié)合附圖從以下詳細描述中將更好地理解本發(fā)明及其優(yōu)點。其中

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