專利名稱:動(dòng)態(tài)地改變文件表示的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本公開內(nèi)容總體上涉及分布式文件系統(tǒng)。更具體地說(shuō),本公開內(nèi) 容涉及在分布式文件系統(tǒng)內(nèi)動(dòng)態(tài)改變文件表示。
背景技術(shù):
隨著信息的價(jià)值和使用繼續(xù)增加,個(gè)人和企業(yè)尋求附加方式來(lái)處 理并存儲(chǔ)信息??捎糜谟脩舻囊粋€(gè)選擇是信息處理系統(tǒng)。信息處理系 統(tǒng)通常處理、編譯、存儲(chǔ)和/或傳送用于企業(yè)、個(gè)人或其它目的的信息 或數(shù)據(jù),由此使用戶能夠利用所述信息的價(jià)值。因?yàn)榧夹g(shù)和信息處理 需要和要求在不同的用戶或應(yīng)用之間改變,所以信息處理系統(tǒng)還可以 改變處理什么信息,怎樣處理所述信息,處理、存儲(chǔ)或傳送多少信息 以及怎樣迅速且高效地處理、存儲(chǔ)或傳送信息。信息處理系統(tǒng)中的變 化允許信息處理系統(tǒng)是通用的或被配置為用于具體用戶或具體使用, 諸如財(cái)務(wù)交易處理、航線預(yù)訂、企業(yè)數(shù)據(jù)存儲(chǔ)或全球通信。另外,信 息處理系統(tǒng)包括為處理、存儲(chǔ)并傳送信息而配置的各種硬件和軟件組 件并且包括一個(gè)或多個(gè)計(jì)算機(jī)系統(tǒng)、數(shù)據(jù)存儲(chǔ)系統(tǒng)和聯(lián)網(wǎng)系統(tǒng)。
某些類型的信息處理系統(tǒng)(例如,分布式文件系統(tǒng))使用不同的 文件表示方案,所述文件表示方案根據(jù)系統(tǒng)類型而改變。 一些分布式
文件系統(tǒng),諸如并行虛擬文件系統(tǒng)(parallel virtual file system PVFS), 使用加條(striping)來(lái)改進(jìn)大操作(large operation)的性能。其它系 統(tǒng)可以為速度和可靠性使用基于日志或日記的方法。其它系統(tǒng)還使用 普通的或常規(guī)的文件,這是由于這種文件相對(duì)簡(jiǎn)單。
加條和并行輸入-輸出(10)操作對(duì)于大文件系統(tǒng)操作來(lái)說(shuō)工作很 好。然而,對(duì)于小文件系統(tǒng)操作來(lái)說(shuō),加條增加了開銷并且可能會(huì)導(dǎo) 致相對(duì)較差的性能。對(duì)于寫入集中操作來(lái)說(shuō),基于日志或日記的系統(tǒng) 產(chǎn)生相對(duì)較高的性能,這是因?yàn)檫@些系統(tǒng)有效地使用高速緩存器并且 順序地進(jìn)行寫入。這種系統(tǒng)中的讀取操作可能承擔(dān)更多開銷。
支持不同文件表示方案的分布式文件系統(tǒng)使用戶人工判定應(yīng)當(dāng)如
何存儲(chǔ)文件。諸如條紋(strip)大小之類的其它參數(shù)是固定的或由用戶 來(lái)人工設(shè)置。這些系統(tǒng)并沒有提供一種由文件系統(tǒng)而不是用戶來(lái)進(jìn)行 這些判定的自動(dòng)化方式。
據(jù)此,需要一種動(dòng)態(tài)地改變文件表示的系統(tǒng)和方法。
發(fā)明內(nèi)容
本發(fā)明的目標(biāo)是提供一種動(dòng)態(tài)地改變文件表示的系統(tǒng)和方法,從 而提供一種由文件系統(tǒng)而不是用戶來(lái)進(jìn)行這些判定的自動(dòng)化方式。
本發(fā)明的第一方面提供一種動(dòng)態(tài)地改變文件表示的方法,包括監(jiān) 控對(duì)文件的訪問(wèn),并且確定對(duì)所述文件的訪問(wèn)是包括大文件操作還是 小文件操作。
本發(fā)明的另一方面一種防止文件轉(zhuǎn)變的方法,包括確定轉(zhuǎn)變鎖定 在文件上是否就緒,并且當(dāng)所述轉(zhuǎn)變鎖定未就緒時(shí)允許與所述文件相 關(guān)聯(lián)的文件表示改變。
本發(fā)明的另一方面提供一種信息處理系統(tǒng),包括處理器,與所述 處理器通信的存儲(chǔ)器,和嵌入在所述存儲(chǔ)器內(nèi)的文件訪問(wèn)監(jiān)控器,其 中配置所述文件訪問(wèn)監(jiān)控器來(lái)監(jiān)控所述信息處理系統(tǒng)內(nèi)的一個(gè)或多個(gè) 文件并且根據(jù)與所述一個(gè)或多個(gè)文件中的每個(gè)相關(guān)聯(lián)的訪問(wèn)模式來(lái)動(dòng) 態(tài)地改變與所述一個(gè)或多個(gè)文件中的每個(gè)相關(guān)聯(lián)的文件表示。
通過(guò)本發(fā)明提供的系統(tǒng)與方法,可獲得一種由文件系統(tǒng)而不是用 戶來(lái)進(jìn)行這些判定的自動(dòng)化方式。
應(yīng)當(dāng)理解,為圖示簡(jiǎn)單且清楚起見,不必按比例繪制在圖中所圖示 的元件。例如,相對(duì)于其它元件夸大某些元件的尺寸。相對(duì)于這里所 給出的附圖示出并描述了體現(xiàn)本公開教導(dǎo)的實(shí)施例,其中
圖1是用于圖示信息處理系統(tǒng)的概括圖2是用于圖示監(jiān)控信息處理系統(tǒng)內(nèi)文件的方法的流程圖3是用于圖示在信息處理系統(tǒng)內(nèi)動(dòng)態(tài)地改變文件表示的方法的流 程圖;禾B
圖4是用于圖示在信息處理系統(tǒng)內(nèi)防止改變文件表示的方法的流程圖。
在不同的附圖中使用相同的附圖標(biāo)記來(lái)表明類似或完全相同的項(xiàng)目。
具體實(shí)施例方式
公開了一種信息處理系統(tǒng)并且其中包括處理器和與所述處理器通 信的存儲(chǔ)器。此外,把文件訪問(wèn)監(jiān)控器嵌入在所述存儲(chǔ)器內(nèi)。文件訪 問(wèn)監(jiān)控器監(jiān)控信息處理系統(tǒng)內(nèi)的一個(gè)或多個(gè)文件并且根據(jù)與一個(gè)或多 個(gè)文件中每個(gè)相關(guān)聯(lián)的訪問(wèn)模式來(lái)改變與所述一個(gè)或多個(gè)文件中每個(gè) 相關(guān)聯(lián)的文件表示。
如上所指出,提供了結(jié)合附圖的以下描述以便幫助理解這里所公 開的教導(dǎo)。以下論述集中于所述教導(dǎo)的具體實(shí)現(xiàn)和實(shí)施例。提供了此 焦點(diǎn)以便幫助描述該教導(dǎo)并且不應(yīng)當(dāng)將其解釋為對(duì)所述教導(dǎo)的范圍或 適用性的限制。例如,以下大部分內(nèi)容集中于在分布式文件系統(tǒng)內(nèi)動(dòng) 態(tài)地改變文件表示。雖然可在此應(yīng)用中當(dāng)然地利用該教導(dǎo),然而在其 它應(yīng)用以及具有幾種不同類型的體系結(jié)構(gòu)中也利用該教導(dǎo),所述體系 結(jié)構(gòu)諸如分布式計(jì)算體系結(jié)構(gòu)、客戶端/服務(wù)器體系結(jié)構(gòu)或中間件服務(wù) 器體系結(jié)構(gòu)。
最初參照?qǐng)Dl,示出了信息處理系統(tǒng)并且通常將其制定為100。出
于此公開的目的,信息處理系統(tǒng)包括任何工具或工具集合,可操作來(lái) 計(jì)算、分類、處理、發(fā)送、接收、獲取、發(fā)起、切換、存儲(chǔ)、顯示、 表明、檢測(cè)、記錄、再現(xiàn)、處理或利用用于商業(yè)、科學(xué)、控制或其它 目的的任何形式的信息、情報(bào)或數(shù)據(jù)。例如,信息處理系統(tǒng)是個(gè)人計(jì) 算機(jī)、網(wǎng)絡(luò)存儲(chǔ)設(shè)備或任何其它適當(dāng)?shù)脑O(shè)備,并且在大小、形狀、性 能、功能和價(jià)格方面有所改變。信息處理系統(tǒng)包括隨機(jī)存取存儲(chǔ)器
(RAM)、諸如中央處理器(CPU)或硬件或軟件控制邏輯之類的一種 或多種處理資源、ROM、和/或其它類型的非易失存儲(chǔ)器。信息處理系 統(tǒng)的附加組件包括一個(gè)或多個(gè)盤片驅(qū)動(dòng)器、用于與外部設(shè)備通信的一 個(gè)或多個(gè)網(wǎng)絡(luò)端口以及各種輸入和輸出(I/O)設(shè)備,諸如鍵盤、鼠標(biāo) 和視頻顯示器。信息處理系統(tǒng)還包括一組或多組總線,可操作來(lái)在各 個(gè)硬件組件之間發(fā)送通信。
在特定實(shí)施例中,如圖1所示,信息處理系統(tǒng)100包括網(wǎng)絡(luò)102。
例如,所述網(wǎng)絡(luò)102是廣域網(wǎng)(wide area network WAN)、局域網(wǎng)(local area network LAN)或其組合。
如圖1中所示,系統(tǒng)100包括耦合到網(wǎng)絡(luò)的第一用戶計(jì)算機(jī)104、 第二用戶計(jì)算機(jī)106,和第N用戶計(jì)算機(jī)108。第一用戶計(jì)算機(jī)104包 括處理器IIO和耦合到所述處理器110的存儲(chǔ)器112。第二用戶計(jì)算機(jī) 106包括處理器114和耦合到所述處理器114的存儲(chǔ)器116。另夕卜,第 N用戶計(jì)算機(jī)108包括處理器118和耦合到所述處理器118的存儲(chǔ)器 120。
所述系統(tǒng)100進(jìn)一步包括耦合到網(wǎng)絡(luò)的第一文件服務(wù)器122、第二 文件服務(wù)器124和第N文件服務(wù)器126。第一文件服務(wù)器122包括處 理器128和耦合到所述處理器128的存儲(chǔ)器130。第二文件服務(wù)器124 包括處理器132和耦合到所述處理器132的存儲(chǔ)器134。此外,第N 文件服務(wù)器126包括處理器136和耦合到所述處理器136的存儲(chǔ)器 138。在特定實(shí)施例中,文件服務(wù)器122、 124、 126經(jīng)由文件管理器服 務(wù)器140連接到網(wǎng)絡(luò)102。文件管理器服務(wù)器140包括處理器142和耦 合到所述處理器142的存儲(chǔ)器144。把文件訪問(wèn)監(jiān)控器146嵌入在文件 管理器服務(wù)器140的存儲(chǔ)器144內(nèi)。文件訪問(wèn)監(jiān)控器146包括能夠被
執(zhí)行來(lái)以便管理一個(gè)或多個(gè)文件的邏輯,所述文件存儲(chǔ)在文件服務(wù)器 122、 124、 126內(nèi)。
在可選的實(shí)施例中,將文件訪問(wèn)監(jiān)控器146嵌入在其它服務(wù)器 122、 124、 126之一的存儲(chǔ)器130、 134、 138內(nèi)。此外,將文件訪問(wèn)監(jiān) 控器146嵌入在用戶計(jì)算機(jī)104、 106、 108之一的存儲(chǔ)器112、 116、 120內(nèi)。
在特定實(shí)施例中,所述文件可以存儲(chǔ)在服務(wù)器122、 124、 126內(nèi) 作為三個(gè)不同的表示。例如,特定的文件存儲(chǔ)作為大文件表示、常規(guī) 的文件表示或?qū)懭胛募硎?。大文件表示包括加條文件表示,其中將 文件劃分成條紋并且將每個(gè)條紋存儲(chǔ)在不同的服務(wù)器上。條紋大小是 由用戶來(lái)設(shè)置或定義的參數(shù)。常規(guī)的文件表示表明文件將按原狀存儲(chǔ)。 寫入文件表示是對(duì)于包括頻繁寫入操作的文件的高效的文件表示。寫 入文件表示包括日志結(jié)構(gòu)的文件表示。
文件系統(tǒng)監(jiān)控器146以無(wú)中斷的文件級(jí)來(lái)對(duì)系統(tǒng)100內(nèi)的文件進(jìn)
行監(jiān)控。此外,根據(jù)文件活動(dòng),文件系統(tǒng)監(jiān)控器146為每個(gè)文件選擇 基本上使系統(tǒng)100的效率最大化的文件表示。文件系統(tǒng)監(jiān)控器146監(jiān) 控系統(tǒng)100內(nèi)的每個(gè)文件來(lái)確定每個(gè)文件的當(dāng)前文件表示是否為最優(yōu) 的文件表示。文件系統(tǒng)監(jiān)控器146還根據(jù)每個(gè)文件的訪問(wèn)特性來(lái)為每 個(gè)文件確定最優(yōu)的文件表示。另外,文件系統(tǒng)監(jiān)控器146動(dòng)態(tài)地把每 個(gè)文件的文件表示從常規(guī)的文件表示改變?yōu)榇笪募硎?,從常?guī)的文 件表示改變?yōu)閷懭胛募硎荆瑥拇笪募硎靖淖優(yōu)槌R?guī)的文件表示, 以及從寫入文件表示改變?yōu)槌R?guī)的文件表示。
在特定實(shí)施例中,當(dāng)文件系統(tǒng)監(jiān)控器146確定用于特定文件的訪 問(wèn)模式適合于不同的文件表示時(shí),文件系統(tǒng)監(jiān)控器146自動(dòng)且動(dòng)態(tài)地 改變所述文件表示以便提高系統(tǒng)100的性能。文件系統(tǒng)監(jiān)控器146跟 蹤用于在系統(tǒng)100中所創(chuàng)建和存儲(chǔ)的每個(gè)文件的元數(shù)據(jù)(metadata)信 息,例如操作類型、操作頻率和與所述操作相關(guān)聯(lián)的文件大小。
在特定實(shí)施例中,當(dāng)文件系統(tǒng)監(jiān)控器146確定對(duì)常規(guī)文件的訪問(wèn) 偶然發(fā)生在大塊大小中時(shí),文件系統(tǒng)監(jiān)控器146把文件從常規(guī)的文件 表示轉(zhuǎn)換到大文件表示,例如轉(zhuǎn)換為加條文件(stripedfile),以便利用 并行訪問(wèn)。用于把訪問(wèn)大小分類為大的閾值由系統(tǒng)設(shè)計(jì)員事先設(shè)置, 或者文件系統(tǒng)使用一次或多次試探(heuristics)來(lái)確定所述閾值。當(dāng)文件 系統(tǒng)監(jiān)控器146確定對(duì)大文件的訪問(wèn)發(fā)生隨機(jī)偏移時(shí),所述文件系統(tǒng) 監(jiān)控器146把所述大文件表示轉(zhuǎn)換為常規(guī)的文件表示。此轉(zhuǎn)換通過(guò)避 免需要連接多個(gè)輸入/輸出服務(wù)器以用于處理大文件表示來(lái)使附加開銷 最小化。
此外,當(dāng)文件系統(tǒng)監(jiān)控器146確定到常規(guī)文件的寫入量基本上大 于從相同的常規(guī)文件的讀取量時(shí),所述文件系統(tǒng)監(jiān)控器146把常規(guī)的 文件轉(zhuǎn)換為寫入文件表示,例如日志結(jié)構(gòu)的文件表示,以便利用對(duì)存 儲(chǔ)器的順序訪問(wèn)。另外,當(dāng)文件系統(tǒng)監(jiān)控器146確定寫入文件表示的 讀取量基本上大于到相同文件的寫入量時(shí),所述文件系統(tǒng)監(jiān)控器146 把所述寫入文件表示轉(zhuǎn)換為常規(guī)的文件表示以便降低與讀取所述文件 的日志相關(guān)聯(lián)的開銷。
當(dāng)決定改變存儲(chǔ)文件的方式時(shí),文件系統(tǒng)監(jiān)控器146直接地執(zhí)行 所述轉(zhuǎn)變。從而,當(dāng)發(fā)生轉(zhuǎn)變時(shí)訪問(wèn)文件的一個(gè)或多個(gè)應(yīng)用對(duì)所述文
件繼續(xù)進(jìn)行操作。為了降低由于當(dāng)改變表示文件的方式時(shí)所帶來(lái)開銷 而導(dǎo)致的代價(jià),對(duì)能夠改變文件表示的頻度進(jìn)行一些限制。例如,通 過(guò)使用避免在預(yù)定時(shí)段改變文件表示操作的鎖定,每一千次訪問(wèn)只改 變特定的文件一或兩次。
文件系統(tǒng)監(jiān)控器146還延遲轉(zhuǎn)變達(dá)特定的時(shí)間以便確認(rèn)文件訪問(wèn) 模式。這可限制轉(zhuǎn)變次數(shù)并且避免由于進(jìn)行不正確的判定所導(dǎo)致的開 銷代價(jià)。在特定實(shí)施例中,這里所描述的用于觸發(fā)在文件表示之間改 變的閾值由系統(tǒng)工程師來(lái)人工設(shè)置。作為選擇,文件系統(tǒng)監(jiān)控器146 根據(jù)一次或多次試探來(lái)確定所述閾值。此外,當(dāng)對(duì)所關(guān)注的文件沒有 任何打開處理時(shí),文件系統(tǒng)監(jiān)控器146等待對(duì)文件進(jìn)行改變。從用戶 觀點(diǎn)來(lái)看,這基本上消除了開銷問(wèn)題并且確保所述用戶不會(huì)使文件為 任何操作而打開。因而,所述用戶始終不知道文件表示的任何轉(zhuǎn)變。
使用這里所描述的方法,系統(tǒng)100為其中所存儲(chǔ)的文件確定最優(yōu) 的表示方案,并且所述系統(tǒng)100可以提高處理那些文件的效率。
參照?qǐng)D2,示出了用于監(jiān)控一個(gè)或多個(gè)文件的方法并且所述方法在 塊200開始。在塊200,文件訪問(wèn)監(jiān)控器訪問(wèn)具有一個(gè)或多個(gè)文件服務(wù) 器的系統(tǒng)內(nèi)的多個(gè)文件,例如這里所描述的系統(tǒng)100。在判定步驟202, 文件訪問(wèn)監(jiān)控器確定特定的訪問(wèn)是包括大文件操作還是小文件操作。 在特定實(shí)施例中,如果訪問(wèn)涉及大于或等于一兆字節(jié)(1MB)的數(shù)據(jù) 塊,那么便認(rèn)為所述訪問(wèn)是大文件操作。
在判定步驟202,如果所述訪問(wèn)包括大文件操作,那么所述方法繼 續(xù)至塊204并且增加大/小訪問(wèn)比率。大/小訪問(wèn)比率包括大訪問(wèn)計(jì)數(shù)器 和小訪問(wèn)計(jì)數(shù)器,并且通過(guò)使所述大訪問(wèn)計(jì)數(shù)器增加來(lái)增加大/小訪問(wèn) 比率。作為選擇,通過(guò)使小訪問(wèn)計(jì)數(shù)器減少來(lái)增加大/小訪問(wèn)比率。在 判定步驟202,如果所述訪問(wèn)包括小文件操作,那么所述方法移到塊 206并且降低大/小比率。通過(guò)使小訪問(wèn)計(jì)數(shù)器增加來(lái)降低大/小比率。 作為選擇,通過(guò)使大訪問(wèn)計(jì)數(shù)器減少來(lái)降低大/小比率。
從塊204或塊206,所述方法繼續(xù)至判定步驟208,并且文件訪問(wèn) 監(jiān)控器確定對(duì)文件的訪問(wèn)是包括讀取操作還是包括寫入操作。如果文 件訪問(wèn)包括讀取操作,那么所述方法繼續(xù)至塊210并且增加讀取/寫入 比率。讀取/寫入訪問(wèn)比率包括讀取訪問(wèn)計(jì)數(shù)器和寫入訪問(wèn)計(jì)數(shù)器。此
外,通過(guò)使讀取訪問(wèn)計(jì)數(shù)器增加來(lái)增加讀取/寫入訪問(wèn)比率。作為選擇, 通過(guò)使寫入訪問(wèn)計(jì)數(shù)器減少來(lái)增加讀取/寫入訪問(wèn)比率。在判定步驟
208,如果所述訪問(wèn)包括寫入文件操作,那么所述方法移到塊212并且 降低讀取/寫入比率。通過(guò)使寫入訪問(wèn)計(jì)數(shù)器增加來(lái)降低讀取/寫入比 率。作為選擇,通過(guò)使讀取訪問(wèn)計(jì)數(shù)器減少來(lái)降低讀取/寫入比率。
從塊210或塊212,所述方法繼續(xù)至判定步驟214并且文件訪問(wèn)監(jiān) 控器確定對(duì)文件的訪問(wèn)是否已經(jīng)結(jié)束。如果所述訪問(wèn)尚未結(jié)束,那么 所述方法返回到塊200并且如這里所描述繼續(xù)。否則,如果所述訪問(wèn) 已經(jīng)結(jié)束,那么所述方法在狀態(tài)216結(jié)束。
現(xiàn)在參照?qǐng)D3,示出了用于動(dòng)態(tài)地改變文件表示的方法。所述方法 由文件訪問(wèn)監(jiān)控器來(lái)執(zhí)行,例如上面結(jié)合系統(tǒng)IOO所示出并描述的文 件訪問(wèn)監(jiān)控器146。開始于塊300,文件訪問(wèn)監(jiān)控器監(jiān)控對(duì)所述系統(tǒng)100 內(nèi)一個(gè)或多個(gè)文件的訪問(wèn)。在判定步驟302,文件訪問(wèn)監(jiān)控器確定與文 件相關(guān)聯(lián)的文件表示。例如,文件表示是大文件表示、常規(guī)的文件表 示或?qū)懭胛募硎?。此外,大文件表示是加條文件并且寫入文件表示 是曰志結(jié)構(gòu)的文件。
如果所述文件是加條文件,那么所述方法繼續(xù)至判定步驟304,并 且文件訪問(wèn)監(jiān)控器確定對(duì)所述加條文件的訪問(wèn)是否隨機(jī)偏移。如果不 是的話,那么所述方法移到塊306并且文件訪問(wèn)監(jiān)控器把所述文件作 為加條文件維護(hù)。然后所述方法繼續(xù)至判定步驟308并且文件訪問(wèn)監(jiān) 控器確定對(duì)系統(tǒng)中文件的訪問(wèn)是否已經(jīng)結(jié)束。如果尚未結(jié)束,那么所 述方法返回到塊300并且如這里所描述繼續(xù)。如果對(duì)所述文件的訪問(wèn) 結(jié)束,那么所述方法在狀態(tài)310結(jié)束。
返回到判定步驟304,如果對(duì)加條文件的訪問(wèn)隨機(jī)偏移,那么所述 方法移到塊312并且文件訪問(wèn)監(jiān)控器把所述加條文件改變?yōu)槌R?guī)的文 件。在特定實(shí)施例中,把加條文件改變?yōu)槌R?guī)的文件通過(guò)避免需要連 接多個(gè)輸入/輸出服務(wù)器以用于處理大文件表示來(lái)使附加開銷最小化。 從塊312,所述方法繼續(xù)至判定步驟308并且如這里所描述繼續(xù)。
返回到判定步驟302,如果文件是常規(guī)的文件,那么所述方法移到 判定步驟314。在判定步驟314,文件訪問(wèn)監(jiān)控器確定所述文件的大/ 小訪問(wèn)比率是否大于閾值。例如,所述閾值為五。如果大/小訪問(wèn)比率
大于所述閾值,那么所述方法移到塊316并且文件訪問(wèn)監(jiān)控器把常規(guī) 的文件改變?yōu)榧訔l文件。此后,所述方法移到判定步驟308并且如這 里所描述繼續(xù)。
在判定步驟314,如果大/小訪問(wèn)比率小于閾值,那么所述方法繼 續(xù)至判定步驟318并且文件訪問(wèn)監(jiān)控器確定讀取/寫入比率是否小于閾 值。如果讀取/寫入比率不小于所述閾值,那么所述方法繼續(xù)至塊320 并且文件讀取/寫入監(jiān)控器把所述文件作為常規(guī)的文件來(lái)維護(hù)。然后所 述方法移到判定步驟308并且如這里所描述繼續(xù)。
返回到判定步驟318,如果讀取/寫入比率小于閾值,那么所述方 法繼續(xù)至塊322并且文件訪問(wèn)監(jiān)控器把常規(guī)的文件改變?yōu)槿罩窘Y(jié)構(gòu)的 文件。在特定實(shí)施例中,日志結(jié)構(gòu)的文件表示為寫入操作提供更大的 效率。此外,當(dāng)讀取/寫入比率降低時(shí),它是用于表明對(duì)文件的訪問(wèn)包 括比讀取操作更大的寫入操作的指示。從塊322,所述方法移到判定步 驟308并且如這里所描述繼續(xù)。
返回到判定步驟302,如果文件表示是日志結(jié)構(gòu)的,那么所述方法 移到判定步驟324并且文件訪問(wèn)監(jiān)控器確定與日志結(jié)構(gòu)的文件相關(guān)聯(lián) 的讀取/寫入比率是否大于閾值。如果讀取/寫入比率不大于所述閾值, 那么所述方法移到塊326并且文件訪問(wèn)監(jiān)控器把所述文件作為日志結(jié) 構(gòu)的文件來(lái)維護(hù)。然后所述方法移到判定步驟308并且如這里所描述 繼續(xù)。
在判定步驟324,如果讀取/寫入比率大于閾值,那么所述方法移 到塊328并且文件訪問(wèn)監(jiān)控器把日志結(jié)構(gòu)的文件改變?yōu)槌R?guī)的文件。 此后,所述方法移到判定步驟308并且如這里所描述繼續(xù)。
參照?qǐng)D4,示出了一種用于防止文件表示轉(zhuǎn)變的方法。在特定實(shí)施 例中,所述方法由文件訪問(wèn)監(jiān)控器來(lái)執(zhí)行,例如上面結(jié)合系統(tǒng)100所 示出并描述的文件訪問(wèn)監(jiān)控器146。開始于塊400,文件訪問(wèn)監(jiān)控器監(jiān) 控系統(tǒng)100內(nèi)的每個(gè)文件。在判定步驟402,文件訪問(wèn)監(jiān)控器確定轉(zhuǎn)變 鎖定是否位于將訪問(wèn)的特定文件上。如果是的話,那么所述方法移到 判定步驟404并且文件訪問(wèn)監(jiān)控器確定所述文件上的轉(zhuǎn)變鎖定是否期 滿。如果轉(zhuǎn)變鎖定期滿,那么所述方法移到塊406并且文件訪問(wèn)監(jiān)控 器防止轉(zhuǎn)變?yōu)榱硪晃募硎?。此后,所述方法繼續(xù)至判定步驟408并
且文件訪問(wèn)監(jiān)控器確定對(duì)系統(tǒng)內(nèi)文件的訪問(wèn)是否己經(jīng)結(jié)束。如果所述
訪問(wèn)結(jié)束,那么所述方法在狀態(tài)410結(jié)束。否則,如果所述訪問(wèn)繼續(xù), 那么所述方法返回到塊400并且如這里所描述繼續(xù)。
在判定步驟402,如果轉(zhuǎn)變鎖定并未處于文件上,那么所述方法繼 續(xù)至判定步驟412。如果所述轉(zhuǎn)變鎖定期滿,那么所述方法還可從判定 步驟404繼續(xù)至判定步驟412。
在判定步驟412,文件訪問(wèn)監(jiān)控器確定對(duì)文件的訪問(wèn)是否已經(jīng)導(dǎo)致 文件表示改變。例如,文件表示從加條文件改變?yōu)槌R?guī)的文件,從常 規(guī)的文件改變?yōu)榧訔l文件,從常規(guī)的文件改變?yōu)槿罩窘Y(jié)構(gòu)的文件,或 從曰志結(jié)構(gòu)的文件改變?yōu)槌R?guī)的文件。如果所述訪問(wèn)尚未導(dǎo)致文件表 示改變,那么所述方法移到判定步驟408并且如這里所描述繼續(xù)。
在判定步驟412,如果所述訪問(wèn)使文件表示改變,那么所述方法移 到塊414并且文件訪問(wèn)監(jiān)控器使用于所述文件的轉(zhuǎn)變計(jì)數(shù)器增加。移 到判定步驟416,文件訪問(wèn)監(jiān)控器確定用于所述文件的轉(zhuǎn)變計(jì)數(shù)器是否 大于閾值。如果所述轉(zhuǎn)變計(jì)數(shù)器并不大于所述閾值,那么所述方法移 到判定步驟408并且如這里所描述繼續(xù)。相反,如果所述轉(zhuǎn)變計(jì)數(shù)器 大于閾值,那么所述方法繼續(xù)至塊418并且文件訪問(wèn)管理器在所述文 件上加上轉(zhuǎn)變鎖定以便防止轉(zhuǎn)變到另一文件表示。此后,所述方法移 到判定步驟408并且如這里所描述繼續(xù)。
利用這里所描述的結(jié)構(gòu)配置,所述系統(tǒng)和方法提供一種用于在分 布式文件系統(tǒng)內(nèi)動(dòng)態(tài)改變文件表示的系統(tǒng)和方法。例如,文件表示從 加條文件改變?yōu)槌R?guī)的文件,從常規(guī)的文件改變?yōu)榧訔l文件,從常規(guī) 的文件改變?yōu)槿罩窘Y(jié)構(gòu)的文件,或從日志結(jié)構(gòu)的文件改變?yōu)槌R?guī)的文 件。此外,所述系統(tǒng)鎖定特定的文件以便防止文件表示改變太過(guò)頻繁。
上述公開主題被認(rèn)為是說(shuō)明性的而并非是限制性的,并且所附權(quán) 利要求旨在覆蓋落入本發(fā)明真正精神和范圍內(nèi)的所有這種修改、增強(qiáng) 及其它實(shí)施例。從而,在法律所允許的最大程度上,本發(fā)明的范圍將 由以下權(quán)利要求及其等效物的最寬可允許的解釋來(lái)確定,并且不應(yīng)當(dāng) 受上述具體實(shí)施方式
的限定或限制。
權(quán)利要求
1.一種動(dòng)態(tài)地改變文件表示的方法,包括監(jiān)控對(duì)文件的訪問(wèn);并且確定對(duì)所述文件的訪問(wèn)是包括大文件操作還是小文件操作。
2. 如權(quán)利要求1所述的方法,進(jìn)一步包括當(dāng)對(duì)所述文件的訪問(wèn)包括所述大文件操作時(shí)增加所述大/小訪問(wèn)比 率;并且當(dāng)對(duì)所述文件的訪問(wèn)包括所述小文件操作時(shí)降低所述大/小訪問(wèn)比率。
3. 如權(quán)利要求1所述的方法,進(jìn)一步包括 確定對(duì)所述文件的訪問(wèn)是包括讀取操作還是包括寫入操作; 當(dāng)對(duì)所述文件的訪問(wèn)包括所述寫入操作時(shí)降低讀取/寫入比率;并且當(dāng)對(duì)所述文件的訪問(wèn)包括所述讀取操作時(shí)增加所述讀取/寫入比率。
4. 如權(quán)利要求3所述的方法,進(jìn)一步包括確定文件表示。
5. 如權(quán)利要求4所述的方法,進(jìn)一步包括當(dāng)對(duì)所述文件的訪問(wèn)隨 機(jī)偏移時(shí)把所述文件表示從大文件表示改變?yōu)槌R?guī)的文件表示。
6. 如權(quán)利要求4所述的方法,進(jìn)一步包括當(dāng)所述大/小訪問(wèn)比率大 于閾值時(shí)把所述文件表示從常規(guī)的文件表示改變?yōu)榇笪募硎尽?br>
7. 如權(quán)利要求4所述的方法,進(jìn)一步包括當(dāng)所述讀取/寫入比率小 于閾值時(shí)把所述文件表示從常規(guī)的文件表示改變?yōu)閷懭胛募硎尽?br>
8. 如權(quán)利要求4所述的方法,進(jìn)一步包括當(dāng)所述讀取/寫入比率大 于閾值時(shí)把所述文件表示從寫入文件表示改變?yōu)槌R?guī)的文件表示。
9. 一種防止文件轉(zhuǎn)變的方法,包括 確定轉(zhuǎn)變鎖定在文件上是否就緒;并且 當(dāng)所述轉(zhuǎn)變鎖定未就緒時(shí)允許與所述文件相關(guān)聯(lián)的文件表示改變。
10. 如權(quán)利要求9所述的方法,進(jìn)一步包括 確定所述轉(zhuǎn)變鎖定是否期滿;當(dāng)所述轉(zhuǎn)變鎖定期滿時(shí)允許與所述文件相關(guān)聯(lián)的文件表示改變;并且當(dāng)所述轉(zhuǎn)變鎖定未期滿時(shí)防止與所述文件相關(guān)聯(lián)的文件表示改變。
11. 如權(quán)利要求9所述的方法,進(jìn)一步包括當(dāng)所述文件表示改變時(shí)使用于所述文件的轉(zhuǎn)變計(jì)數(shù)器增加;并且 當(dāng)所述轉(zhuǎn)變計(jì)數(shù)器大于閾值時(shí)鎖定所述文件以便防止文件表示改變。
12. —種信息處理系統(tǒng),包括 處理器;與所述處理器通信的存儲(chǔ)器;和嵌入在所述存儲(chǔ)器內(nèi)的文件訪問(wèn)監(jiān)控器,其中配置所述文件訪問(wèn) 監(jiān)控器來(lái)監(jiān)控所述信息處理系統(tǒng)內(nèi)的一個(gè)或多個(gè)文件并且根據(jù)與所述 一個(gè)或多個(gè)文件中的每個(gè)相關(guān)聯(lián)的訪問(wèn)模式來(lái)動(dòng)態(tài)地改變與所述一個(gè) 或多個(gè)文件中的每個(gè)相關(guān)聯(lián)的文件表示。
13. 如權(quán)利要求12所述的系統(tǒng),其中所述文件訪問(wèn)監(jiān)控器包括用 于以下操作的邏輯監(jiān)控對(duì)所述一個(gè)或多個(gè)文件中的每個(gè)的訪問(wèn);并且 確定對(duì)所述文件的訪問(wèn)是包括大文件操作還是小文件操作。
14. 如權(quán)利要求13所述的系統(tǒng),其中所述文件訪問(wèn)監(jiān)控器進(jìn)一步 包括用于以下操作的邏輯當(dāng)對(duì)所述文件的訪問(wèn)包括所述大文件操作時(shí)增加所述文件的大/小 訪問(wèn)比率;并且當(dāng)對(duì)所述文件的訪問(wèn)包括所述小文件操作時(shí)降低所述文件的大/小 訪問(wèn)比率。
15. 如權(quán)利要求14所述的系統(tǒng),其中所述文件訪問(wèn)監(jiān)控器進(jìn)一步 包括用于以下操作的邏輯確定對(duì)所述文件的訪問(wèn)是包括讀取操作還是包括寫入操作; 當(dāng)對(duì)所述文件的訪問(wèn)包括所述寫入操作時(shí)減少讀取/寫入比率;并且當(dāng)對(duì)所述文件的訪問(wèn)包括所述讀取操作時(shí)增加所述讀取/寫入比率。
16. 如權(quán)利要求15所述的系統(tǒng),其中所述文件訪問(wèn)監(jiān)控器進(jìn)一步 包括用于以下操作的邏輯確定文件表示;當(dāng)對(duì)所述文件的訪問(wèn)隨機(jī)偏移時(shí)把所述文件表示從大文件表示改 變?yōu)槌R?guī)的文件表示;當(dāng)所述大/小訪問(wèn)比率大于閾值時(shí)把所述文件表示從常規(guī)的文件表 示改變?yōu)榇笪募硎?;?dāng)所述讀取/寫入比率下降量小于閾值時(shí)把所述文件表示從常規(guī)的 文件表示改變?yōu)閷懭胛募硎?;并且?dāng)所述讀取/寫入比率大于閾值時(shí)把所述文件表示從寫入文件表示 改變?yōu)槌R?guī)的文件表示。
17. 如權(quán)利要求12所述的系統(tǒng),其中所述文件訪問(wèn)監(jiān)控器進(jìn)一步 包括用于以下操作的邏輯確定轉(zhuǎn)變鎖定在文件上是否就緒;并且當(dāng)所述轉(zhuǎn)變鎖定未就緒時(shí)允許與所述文件相關(guān)聯(lián)的文件表示改變。
18. 如權(quán)利要求17所述的系統(tǒng),其中所述文件訪問(wèn)監(jiān)控器進(jìn)一步 包括用于以下操作的邏輯-確定所述轉(zhuǎn)變鎖定是否期滿;并且當(dāng)所述轉(zhuǎn)變鎖定未期滿時(shí)允許與所述文件相關(guān)聯(lián)的文件表示改變。
19. 如權(quán)利要求12所述的系統(tǒng),其中所述文件訪問(wèn)監(jiān)控器進(jìn)一步 包括用于當(dāng)所述文件表示改變時(shí)使用于所述文件的轉(zhuǎn)變計(jì)數(shù)器增加的 邏輯。
20. 如權(quán)利要求19所述的系統(tǒng),其中所述文件訪問(wèn)監(jiān)控器進(jìn)一步 包括用于當(dāng)所述轉(zhuǎn)變計(jì)數(shù)器大于閾值時(shí)防止所述文件表示改變的邏 輯。
全文摘要
公開了一種信息處理系統(tǒng)并且其中包括處理器和與所述處理器通信的存儲(chǔ)器。此外,所述存儲(chǔ)器內(nèi)嵌入了文件訪問(wèn)監(jiān)控器。文件訪問(wèn)監(jiān)控器監(jiān)控信息處理系統(tǒng)內(nèi)的一個(gè)或多個(gè)文件并且根據(jù)與一個(gè)或多個(gè)文件中每個(gè)相關(guān)聯(lián)的訪問(wèn)模式來(lái)動(dòng)態(tài)地改變與所述一個(gè)或多個(gè)文件中每個(gè)相關(guān)聯(lián)的文件表示。
文檔編號(hào)G06F17/30GK101105808SQ20071013622
公開日2008年1月16日 申請(qǐng)日期2007年7月11日 優(yōu)先權(quán)日2006年7月11日
發(fā)明者A·居爾貝登, R·拉達(dá)克里希南 申請(qǐng)人:戴爾產(chǎn)品有限公司