專(zhuān)利名稱(chēng):基于模式識(shí)別來(lái)分配文件存儲(chǔ)器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及基于模式識(shí)別來(lái)分配文件存儲(chǔ)器的方法。
背景技術(shù):
通常的信息系統(tǒng)(如計(jì)算機(jī)系統(tǒng))由運(yùn)行于處理器上的操作系統(tǒng)來(lái)控制。操作系統(tǒng)控制諸如將來(lái)自應(yīng)用程序的數(shù)據(jù)存儲(chǔ)在存儲(chǔ)設(shè)備上,如磁盤(pán)驅(qū)動(dòng)器、光盤(pán)驅(qū)動(dòng)器、磁帶驅(qū)動(dòng)器、閃速存儲(chǔ)器或其他適合的存儲(chǔ)媒體。此數(shù)據(jù)存儲(chǔ)操作通常由操作系統(tǒng)的文件系統(tǒng)功能執(zhí)行。
理想狀態(tài)下,文件系統(tǒng)應(yīng)將一個(gè)文件存儲(chǔ)在存儲(chǔ)裝置中一個(gè)連續(xù)的位置上。遺憾的是,對(duì)于大多數(shù)信息系統(tǒng)來(lái)說(shuō)這是不現(xiàn)實(shí)的。相反,數(shù)據(jù)文件通常以不連續(xù)的碎片散布在存儲(chǔ)媒體中的形式存儲(chǔ)。對(duì)于共享同一個(gè)存儲(chǔ)裝置的大量文件來(lái)說(shuō),這將是非期望的負(fù)面效應(yīng)。還有,文件系統(tǒng)功能通常一次分配一點(diǎn)存儲(chǔ)空間,而非完全預(yù)先分配,因?yàn)閼?yīng)用程序通常是以突發(fā)方式生成數(shù)據(jù)。
因此,文件通常以多個(gè)碎片的形式存儲(chǔ)在存儲(chǔ)媒體上不同的位置。當(dāng)創(chuàng)建文件時(shí),文件系統(tǒng)功能對(duì)該文件在存儲(chǔ)裝置中分配初始存儲(chǔ)容量。隨著分配的空間被使用,文件系統(tǒng)功能為該文件分配更多的空間。在每次分配中為該文件預(yù)留的存儲(chǔ)空間的量通常基于該文件在執(zhí)行分配時(shí)的大小或?qū)υ撐募姆浅;緦?xiě)模式的最近歷史來(lái)確定。遺憾的是,此操作可能將一個(gè)文件拆分成散布在存儲(chǔ)裝置中的大量碎片。文件碎片化可能在從文件中檢索數(shù)據(jù)時(shí)產(chǎn)生問(wèn)題。例如,數(shù)據(jù)請(qǐng)求操作可能需要從大量物理位置上相距分散的位置檢索數(shù)據(jù)。這使得對(duì)文件中數(shù)據(jù)的存取耗費(fèi)更多的時(shí)間,降低了應(yīng)用程序的速度。此外,需要更多的系統(tǒng)存儲(chǔ)器來(lái)表示該碎片化文件的多個(gè)部分。最終,耗費(fèi)更多的處理器時(shí)間來(lái)掃描或操作該碎片化文件的內(nèi)存表現(xiàn)。
發(fā)明內(nèi)容
本發(fā)明的實(shí)施例采用模式識(shí)別以在存儲(chǔ)媒體中為文件分配存儲(chǔ)空間。在一個(gè)實(shí)施例中,提出一種方法,用于在存儲(chǔ)媒體中分配存儲(chǔ)空間以用于存儲(chǔ)來(lái)自信息系統(tǒng)中運(yùn)行的至少一個(gè)應(yīng)用程序的數(shù)據(jù)到文件中。該方法包括當(dāng)所述至少一個(gè)應(yīng)用程序?qū)?shù)據(jù)存儲(chǔ)在所述存儲(chǔ)媒體上的所述文件時(shí),監(jiān)視多個(gè)數(shù)據(jù)存儲(chǔ)操作的至少一個(gè)特征,根據(jù)所述多個(gè)數(shù)據(jù)存儲(chǔ)操作的所述至少一個(gè)監(jiān)視的特征識(shí)別出存儲(chǔ)模式,基于所述識(shí)別的存儲(chǔ)模式按需要確定將用于所述文件的附加數(shù)據(jù)的存儲(chǔ)空間的量值,并在存儲(chǔ)媒體上對(duì)所述文件分配所述量值的存儲(chǔ)空間,以用于所述附加的數(shù)據(jù)。
在另一個(gè)實(shí)施例中,提出一種信息系統(tǒng)。所述系統(tǒng)包括處理器、與所述處理器連接的存儲(chǔ)媒體以及運(yùn)行于所述處理器上的至少一個(gè)應(yīng)用程序;其中所述至少一個(gè)應(yīng)用程序?qū)?shù)據(jù)存儲(chǔ)在所述存儲(chǔ)媒體上的至少一個(gè)文件。所述系統(tǒng)還包括運(yùn)行于所述處理器上的模式識(shí)別功能,設(shè)為識(shí)別所述應(yīng)用程序?qū)?shù)據(jù)存儲(chǔ)在所述文件中的模式;以及運(yùn)行于所述處理器上的文件系統(tǒng)功能,所述文件系統(tǒng)功能基于所述模式識(shí)別功能的輸入為所述應(yīng)用程序的文件在所述存儲(chǔ)媒體上分配存儲(chǔ)空間。
在另一個(gè)實(shí)施例中,提出一種機(jī)器可讀媒體,其上存儲(chǔ)有指令以用于一種執(zhí)行分配存儲(chǔ)空間的方法,所述方法在存儲(chǔ)媒體中分配存儲(chǔ)空間以用于存儲(chǔ)來(lái)自信息系統(tǒng)中運(yùn)行的至少一個(gè)應(yīng)用程序的數(shù)據(jù)到文件中。該方法包括當(dāng)所述至少一個(gè)應(yīng)用程序?qū)?shù)據(jù)存儲(chǔ)在所述存儲(chǔ)媒體上的所述文件時(shí),記錄有關(guān)數(shù)據(jù)存儲(chǔ)操作的信息,從所述多個(gè)數(shù)據(jù)存儲(chǔ)操作的所述至少一個(gè)監(jiān)視的特征識(shí)別出存儲(chǔ)模式,基于所述識(shí)別的存儲(chǔ)模式確定將用于所述文件的附加數(shù)據(jù)的存儲(chǔ)空間的量值,并按需要在存儲(chǔ)媒體上對(duì)所述文件分配所述量值的存儲(chǔ)空間,以用于所述附加的數(shù)據(jù)。
圖1是在存儲(chǔ)媒體中為文件分配存儲(chǔ)空間時(shí)采用模式識(shí)別的信息系統(tǒng)的一個(gè)實(shí)施例的框圖。
圖2以存儲(chǔ)裝置實(shí)施例的示意圖說(shuō)明采用常規(guī)文件系統(tǒng)功能時(shí)生成的數(shù)據(jù)文件的數(shù)據(jù)碎片。
圖3以存儲(chǔ)裝置實(shí)施例的示意圖說(shuō)明顯示采用模式識(shí)別時(shí)在存儲(chǔ)裝置中為文件分配存儲(chǔ)空間。
圖4以流程圖說(shuō)明采用模式識(shí)別為文件分配存儲(chǔ)空間的一個(gè)過(guò)程實(shí)施例。
圖5以流程圖說(shuō)明在信息系統(tǒng)中用于文件的數(shù)據(jù)存儲(chǔ)操作時(shí)執(zhí)行模式匹配的過(guò)程實(shí)施例。
圖6以流程圖說(shuō)明采用模式識(shí)別分配存儲(chǔ)容量的另一個(gè)過(guò)程實(shí)施例。
具體實(shí)施例方式
在下文的詳細(xì)描述中,參考了構(gòu)成本申請(qǐng)文件一部分的附圖,其中以示范形式顯示了可以實(shí)施本發(fā)明的特定示范實(shí)施例。這些實(shí)施例在細(xì)節(jié)上進(jìn)行了充分描述,以使本領(lǐng)域技術(shù)人員能夠?qū)嵤┍景l(fā)明,而且要明確的是還可以采用其他實(shí)施例,以及在不背離本發(fā)明精神和范圍的前提下可以進(jìn)行邏輯、機(jī)械和電氣方面的更改。因此,下文的詳細(xì)描述不視為范圍的限定。
本發(fā)明的實(shí)施例采用模式識(shí)別以在存儲(chǔ)媒體中為文件分配存儲(chǔ)空間,以便減少存儲(chǔ)在存儲(chǔ)媒體上的文件中數(shù)據(jù)碎片的數(shù)量。出于規(guī)范的目的,術(shù)語(yǔ)“模式識(shí)別”指的是,經(jīng)過(guò)一段時(shí)間地對(duì)刺激的某些元素抽象化和綜合處理得到有組織的模式,以便可用于識(shí)別以后的刺激。當(dāng)將數(shù)據(jù)存儲(chǔ)在文件中時(shí),本發(fā)明實(shí)施例將模式識(shí)別應(yīng)用于先前的數(shù)據(jù)存儲(chǔ)操作,以確定要為對(duì)該文件的當(dāng)前數(shù)據(jù)存儲(chǔ)操作和后續(xù)數(shù)據(jù)存儲(chǔ)操作分配的存儲(chǔ)空間的量值。
圖1是在存儲(chǔ)媒體中為文件分配存儲(chǔ)空間時(shí)采用模式識(shí)別的信息系統(tǒng)(如圖中100所示)的一個(gè)實(shí)施例的框圖。在一個(gè)實(shí)施例中,信息系統(tǒng)100包括計(jì)算機(jī)系統(tǒng)。在另一些實(shí)施例中,信息系統(tǒng)100包括用于在存儲(chǔ)媒體中存儲(chǔ)數(shù)據(jù)的任何其他適合的電子系統(tǒng)。系統(tǒng)100包括通過(guò)總線(xiàn)106連接到存儲(chǔ)裝置104的處理器102。在一個(gè)實(shí)施例中,存儲(chǔ)設(shè)備104包括磁盤(pán)驅(qū)動(dòng)器。在另一些實(shí)施例中,存儲(chǔ)設(shè)備104包括光盤(pán)驅(qū)動(dòng)器、閃速存儲(chǔ)器或其他適合的數(shù)據(jù)存儲(chǔ)裝置。
處理器102也運(yùn)行系統(tǒng)100的多個(gè)功能。文件系統(tǒng)功能112運(yùn)行于處理器102上。在其他功能中,在一個(gè)實(shí)施例中,文件系統(tǒng)功能112控制在存儲(chǔ)裝置104中分配存儲(chǔ)空間,以用于存儲(chǔ)文件110-1至110-M中的數(shù)據(jù)。在一個(gè)實(shí)施例中,文件系統(tǒng)功能112屬于運(yùn)行于處理器102上的操作系統(tǒng)的一部分。此外,處理器102還運(yùn)行多個(gè)應(yīng)用程序108-1至108-N。在一個(gè)實(shí)施例中,應(yīng)用程序108-1至108-N包括運(yùn)行于計(jì)算機(jī)系統(tǒng)上的任何適合的軟件程序。
處理器102運(yùn)行模式識(shí)別功能114。模式識(shí)別功能114與文件系統(tǒng)功能112通信。模式識(shí)別功能114處理有關(guān)存儲(chǔ)在存儲(chǔ)裝置104中文件110-1至110-M中的數(shù)據(jù)的信息。模式識(shí)別功能114識(shí)別在文件110-1至110-M中存儲(chǔ)數(shù)據(jù)的模式。在一個(gè)實(shí)施例中,模式識(shí)別功能114根據(jù)至少三個(gè)數(shù)據(jù)存儲(chǔ)操作來(lái)識(shí)別模式。當(dāng)識(shí)別出一個(gè)模式時(shí),將其信息提供給文件系統(tǒng)功能112。在一個(gè)實(shí)施例中,該信息包括指示所識(shí)別的模式強(qiáng)度的系數(shù)?;趤?lái)自模式識(shí)別功能114的信息,文件系統(tǒng)功能112為特定文件110-1至110-M在存儲(chǔ)裝置104中分配存儲(chǔ)容量。在一個(gè)實(shí)施例中,每個(gè)文件與特定的應(yīng)用程序108-1至108-N相關(guān)聯(lián)。在另一些實(shí)施例中,將特定文件110-1至110-M與多于一個(gè)的應(yīng)用程序108-1至108-N相關(guān)聯(lián)。在一個(gè)實(shí)施例中,當(dāng)多于一個(gè)應(yīng)用程序共享同一個(gè)數(shù)據(jù)文件時(shí),文件系統(tǒng)功能112在存儲(chǔ)裝置104中基于每個(gè)應(yīng)用程序的存儲(chǔ)操作模式分別分配存儲(chǔ)容量以用于每個(gè)應(yīng)用程序在該文件中存儲(chǔ)數(shù)據(jù)。
在操作中,文件系統(tǒng)功能112基于模式識(shí)別功能114得到的信息控制存儲(chǔ)裝置104中存儲(chǔ)容量的分配。下文的實(shí)例說(shuō)明采用模式識(shí)別,文件系統(tǒng)功能112為來(lái)自特定應(yīng)用程序108-1的數(shù)據(jù)在存儲(chǔ)裝置104中文件110-1中分配存儲(chǔ)容量的方式。應(yīng)用程序108-1生成要存儲(chǔ)在存儲(chǔ)設(shè)備104中的數(shù)據(jù)。文件系統(tǒng)功能112為文件110-1在存儲(chǔ)裝置104中分配存儲(chǔ)容量。應(yīng)用程序108-1將數(shù)據(jù)存儲(chǔ)在分配的空間中,直到占滿(mǎn)為止。模式識(shí)別功能114接收到有關(guān)每個(gè)數(shù)據(jù)存儲(chǔ)的信息并對(duì)應(yīng)用程序108-1判斷是否有存儲(chǔ)操作的模式。在一個(gè)實(shí)施例中,模式識(shí)別功能114將存儲(chǔ)操作的有關(guān)信息保存在歷史高速緩存中,下面將對(duì)此予以更詳細(xì)的討論。在一個(gè)實(shí)施例中,基于至少三個(gè)數(shù)據(jù)存儲(chǔ)操作來(lái)識(shí)別模式。當(dāng)被請(qǐng)求時(shí),模式識(shí)別功能114將該模式報(bào)告給文件系統(tǒng)功能112。當(dāng)應(yīng)用程序108-1的文件110-1需要更多的存儲(chǔ)容量時(shí),文件系統(tǒng)功能112基于模式識(shí)別功能114所識(shí)別出的模式在存儲(chǔ)裝置104中分配更多的存儲(chǔ)容量。再者,在一個(gè)實(shí)施例中,文件系統(tǒng)功能112分配的存儲(chǔ)空間的量值部分取決于所識(shí)別出的模式的強(qiáng)度。例如,在一個(gè)實(shí)施例中,強(qiáng)度系數(shù)為標(biāo)量S。分配給文件110-1的存儲(chǔ)容量的量值模式中所識(shí)別的存儲(chǔ)空間的標(biāo)稱(chēng)量的S倍來(lái)確定,例如,S*2千字節(jié)。
圖2以示意圖說(shuō)明顯示有采用常規(guī)文件系統(tǒng)功能時(shí)生成的數(shù)據(jù)文件的數(shù)據(jù)碎片的存儲(chǔ)裝置200。常規(guī)技術(shù)的文件系統(tǒng)功能將數(shù)據(jù)存儲(chǔ)在存儲(chǔ)裝置200的存儲(chǔ)媒體202上,例如磁盤(pán)。在此實(shí)例中,文件系統(tǒng)功能最初分配存儲(chǔ)媒體202中的小部分的存儲(chǔ)容量(如圖中204-1所示)給一個(gè)或多個(gè)應(yīng)用程序使用的文件。隨著所述一個(gè)或多個(gè)應(yīng)用程序生成數(shù)據(jù),這些數(shù)據(jù)被存儲(chǔ)在存儲(chǔ)位置204-1直到該位置被占滿(mǎn)為止。隨著應(yīng)用程序生成其他數(shù)據(jù),文件系統(tǒng)功能將分配其他存儲(chǔ)位置,例如204-2至204-N。在常規(guī)技術(shù)中,文件系統(tǒng)功能基于分配時(shí)文件的總大小來(lái)確定要分配給文件的存儲(chǔ)容量的量值。當(dāng)該文件的大小超出特定的閾值時(shí),文件系統(tǒng)功能通常分配較大些的存儲(chǔ)區(qū)域,其通常在某個(gè)定義閾值覆蓋分配請(qǐng)求。遺憾的是這種簡(jiǎn)單方式常常導(dǎo)致大量的文件碎片。因此,從該文件中檢索數(shù)據(jù)較復(fù)雜且慢速,因?yàn)樾枰鎯?chǔ)媒體202在不同位置之間來(lái)回操作以檢索本來(lái)可以限制為少量較大的碎片的存儲(chǔ)區(qū)域。
圖3以存儲(chǔ)裝置300的示意圖說(shuō)明采用模式識(shí)別在存儲(chǔ)裝置302中分配存儲(chǔ)容量。圖3所示的實(shí)例中說(shuō)明了圖1的模式識(shí)別功能114可采用的一種方式,以使文件系統(tǒng)功能112可以減少存儲(chǔ)在存儲(chǔ)裝置104中的文件的碎片數(shù)量。在本實(shí)例中,文件系統(tǒng)功能最初在存儲(chǔ)媒體302中的存儲(chǔ)位置304-1處分配存儲(chǔ)容量。當(dāng)存儲(chǔ)位置304-1被占滿(mǎn)時(shí),文件系統(tǒng)功能112嘗試判斷向存儲(chǔ)裝置302寫(xiě)入數(shù)據(jù)時(shí)是否存在某種模式。文件系統(tǒng)功能一直利用常規(guī)方法分配存儲(chǔ)容量,直到識(shí)別出模式為止。從該實(shí)例可以看出,在使用了存儲(chǔ)位置304-1至304-3之后,文件系統(tǒng)功能識(shí)別出存儲(chǔ)裝置300的存儲(chǔ)操作的模式,并分配較大的存儲(chǔ)位置304-4以用于存儲(chǔ)文件的數(shù)據(jù)。最好,通過(guò)識(shí)別出向文件存儲(chǔ)數(shù)據(jù)的模式,文件系統(tǒng)功能可以智能方式對(duì)文件分配存儲(chǔ)空間,以減少文件的碎片并避免浪費(fèi)存儲(chǔ)媒體302上寶貴的存儲(chǔ)容量。
圖4以流程圖說(shuō)明采用模式識(shí)別在存儲(chǔ)裝置中為文件分配存儲(chǔ)空間的一個(gè)過(guò)程實(shí)施例。過(guò)程開(kāi)始于方框400。在方框402,過(guò)程從應(yīng)用程序接收到請(qǐng)求,以在文件系統(tǒng)功能的指導(dǎo)下將文件中的數(shù)據(jù)存儲(chǔ)在存儲(chǔ)媒體。在方框404,過(guò)程請(qǐng)求在存儲(chǔ)裝置進(jìn)行數(shù)據(jù)存儲(chǔ)操作。過(guò)程還將該請(qǐng)求傳遞到模式識(shí)別功能,以便模式識(shí)別功能可以構(gòu)建這些數(shù)據(jù)存儲(chǔ)操作的歷史。在一個(gè)實(shí)施例中,歷史高速緩存由模式識(shí)別功能創(chuàng)建并維護(hù)。歷史高速緩存跟蹤存儲(chǔ)數(shù)據(jù)的請(qǐng)求。在一個(gè)實(shí)施例中,歷史高速緩存還對(duì)完成的存儲(chǔ)操作將偏移量存儲(chǔ)到文件中。在另一些實(shí)施例中,歷史高速緩存存儲(chǔ)該存儲(chǔ)操作中存儲(chǔ)的數(shù)據(jù)量。在再一個(gè)實(shí)施例中,歷史高速緩存基于每個(gè)應(yīng)用程序,對(duì)使用同一個(gè)文件的多個(gè)應(yīng)用程序存儲(chǔ)有關(guān)存儲(chǔ)操作的信息。在再一個(gè)實(shí)施例中,在歷史高速緩存中存儲(chǔ)的信息記錄有關(guān)每次對(duì)文件寫(xiě)入數(shù)據(jù)的有關(guān)信息。在一個(gè)實(shí)施例中,基于至少三個(gè)數(shù)據(jù)存儲(chǔ)操作來(lái)識(shí)別歷史高速緩存中的模式。
有需要時(shí),過(guò)程另外為文件分配空間。在方框405,過(guò)程判斷是否需要附加的存儲(chǔ)空間,例如以滿(mǎn)足數(shù)據(jù)存儲(chǔ)的要求。如果不需要附加的存儲(chǔ)空間,則分配存儲(chǔ)空間的過(guò)程終止于方框412。但是如果過(guò)程在方框405判斷該文件需要附加的存儲(chǔ)空間,則分配附加的存儲(chǔ)空間。
過(guò)程利用模式識(shí)別確定要分配給該文件的存儲(chǔ)空間的量值。在方框406,過(guò)程從模式識(shí)別功能請(qǐng)求輸入。在一個(gè)實(shí)施例中,過(guò)程請(qǐng)求模式識(shí)別功能分析歷史高速緩存中的數(shù)據(jù),以判斷是否就該應(yīng)用程序識(shí)別出存儲(chǔ)數(shù)據(jù)的存儲(chǔ)操作的模式。如上所述,歷史高速緩是基于存儲(chǔ)數(shù)據(jù)的請(qǐng)求和數(shù)據(jù)存儲(chǔ)操作來(lái)編輯。
再者,在一個(gè)實(shí)施例中,模式識(shí)別功能還識(shí)別出所識(shí)別的模式的強(qiáng)度。在一個(gè)實(shí)施例中,模式的強(qiáng)度隨著與該模式匹配的存儲(chǔ)操作的數(shù)量增加而遞增。
在方框408,過(guò)程接收到模式識(shí)別功能的結(jié)果。在一個(gè)實(shí)施例中,它包含存儲(chǔ)操作中所識(shí)別的模式的指示信息。在另一個(gè)實(shí)施例中,它還包含指示模式識(shí)別功能所識(shí)別的模式的強(qiáng)度的值。在方框410,過(guò)程基于來(lái)自模式識(shí)別功能的結(jié)果分配存儲(chǔ)空間。過(guò)程終止于方框412。
圖5以流程圖說(shuō)明在信息系統(tǒng)中用于文件的數(shù)據(jù)存儲(chǔ)操作時(shí)執(zhí)行模式匹配的過(guò)程實(shí)施例。過(guò)程開(kāi)始于方框500。在方框502,過(guò)程接收到在多個(gè)數(shù)據(jù)存儲(chǔ)操作中識(shí)別模式的請(qǐng)求。在方框504,過(guò)程分析數(shù)據(jù)存儲(chǔ)操作的歷史并判斷這些數(shù)據(jù)存儲(chǔ)操作是否與已知的模式匹配。如果有模式匹配,則過(guò)程在方框506返回結(jié)果。在一個(gè)實(shí)施例中,該結(jié)果包含匹配模式的指示信息。在另一些實(shí)施例中,該結(jié)果還包含該模式的強(qiáng)度指示信息。過(guò)程終止于方框512。
如果在方框504,過(guò)程未發(fā)現(xiàn)匹配項(xiàng),則過(guò)程在方框508判斷這些數(shù)據(jù)存儲(chǔ)操作中是否形成有新模式。在一個(gè)實(shí)施例中,過(guò)程基于至少三個(gè)數(shù)據(jù)存儲(chǔ)操作來(lái)識(shí)別模式。如果已形成新的模式,過(guò)程執(zhí)行到方框506并返回模式匹配的結(jié)果。過(guò)程還以新識(shí)別出的模式更新那些已知的模式。過(guò)程終止于方框512。
如果在方框508未識(shí)別出新模式,則過(guò)程在方框510返回否定的結(jié)果。否定的結(jié)果表示在這些數(shù)據(jù)存儲(chǔ)操作中未識(shí)別出模式。過(guò)程終止于方框512。
圖6以流程圖說(shuō)明采用模式識(shí)別分配存儲(chǔ)容量的另一個(gè)過(guò)程實(shí)施例。過(guò)程開(kāi)始于方框600。在方框602,過(guò)程請(qǐng)求在數(shù)據(jù)存儲(chǔ)裝置中存儲(chǔ)數(shù)據(jù),例如磁盤(pán)驅(qū)動(dòng)器、光盤(pán)驅(qū)動(dòng)器、閃速存儲(chǔ)器等。在方框604,過(guò)程以方框602的數(shù)據(jù)存儲(chǔ)操作的有關(guān)信息更新歷史高速緩存。在一個(gè)實(shí)施例中,當(dāng)向存儲(chǔ)裝置中的文件寫(xiě)入數(shù)據(jù)時(shí),歷史高速緩存存儲(chǔ)有關(guān)每次數(shù)據(jù)存儲(chǔ)操作的有關(guān)信息。在一個(gè)實(shí)施例中,過(guò)程以如下信息項(xiàng)更新歷史高速緩存該文件的指示信息、對(duì)該文件寫(xiě)操作的應(yīng)用程序、數(shù)據(jù)量、對(duì)文件的偏移量和/或有關(guān)該數(shù)據(jù)存儲(chǔ)操作的任何其他適合的信息。
在方框606,過(guò)程分析歷史高速緩存,以查找匹配的模式。在方框608,過(guò)程在方框606判斷應(yīng)用程序向文件寫(xiě)入數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)操作是否與某個(gè)模式匹配。如果該數(shù)據(jù)存儲(chǔ)操作與某個(gè)模式匹配,則過(guò)程執(zhí)行到方框610并在需要時(shí)基于匹配的模式分配存儲(chǔ)空間來(lái)處理該匹配情況。再者,在一個(gè)實(shí)施例中,過(guò)程還確定模式的強(qiáng)度。過(guò)程終止于方框612。
如果在方框606模式不匹配,則過(guò)程執(zhí)行到方框614并在歷史高速緩存中搜索新模式。在方框616,過(guò)程判斷是否識(shí)別出新模式。如果是的話(huà),過(guò)程執(zhí)行到方框610并添加該新模式。在一個(gè)實(shí)施例中,過(guò)程還添加指示新模式強(qiáng)度的值。過(guò)程終止于方框612。如果在方框616過(guò)程未識(shí)別出新模式,過(guò)程終止于方框612。
本領(lǐng)域技術(shù)人員應(yīng)認(rèn)識(shí)到通過(guò)在某個(gè)實(shí)施例中以適合的指令對(duì)可編程處理器進(jìn)行編程來(lái)實(shí)現(xiàn)本文所述功能,以便實(shí)施上述原理和方法。在這些實(shí)施例中,此類(lèi)程序指令被存儲(chǔ)在適合的存儲(chǔ)裝置中(例如只讀存儲(chǔ)器和/或隨機(jī)存取存儲(chǔ)器),在執(zhí)行過(guò)程中會(huì)從這些存儲(chǔ)裝置中檢索這些程序指令。在這些實(shí)施例中,還將適合的數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)在存儲(chǔ)器中。
上述方法和技術(shù)可以在數(shù)字電路中或利用可編程處理器(例如專(zhuān)用處理器或通用處理器,如計(jì)算機(jī))固件、軟件或者它們的組合方式來(lái)實(shí)施。實(shí)施這些技術(shù)的裝置可以包括適合輸入和輸出裝置、可編程處理器和具體實(shí)施該可編程處理器執(zhí)行的程序指令的存儲(chǔ)媒體??删幊烫幚砥魍ㄟ^(guò)對(duì)輸入數(shù)據(jù)執(zhí)行操作和生成適合的輸出來(lái)執(zhí)行程序指令以執(zhí)行期望的功能,由此可以執(zhí)行實(shí)施這些技術(shù)的過(guò)程。作為一個(gè)優(yōu)點(diǎn),這些技術(shù)可以在可在可編程系統(tǒng)上執(zhí)行的一個(gè)或多個(gè)程序中實(shí)施,可編程系統(tǒng)包括通過(guò)連接以從數(shù)據(jù)存儲(chǔ)系統(tǒng)、至少一個(gè)輸入裝置和至少一個(gè)輸出裝置接收數(shù)據(jù)和指令以及向其發(fā)送數(shù)據(jù)和指令的至少一個(gè)可編程處理器。一般來(lái)說(shuō),處理器將從只讀存儲(chǔ)器和/或隨機(jī)存取存儲(chǔ)器接收指令和數(shù)據(jù)。適合于具體實(shí)施計(jì)算機(jī)程序指令和數(shù)據(jù)的存儲(chǔ)裝置包括任何形式的非易失存儲(chǔ)器,包括例如半導(dǎo)體存儲(chǔ)裝置(如EPROM、EEPROM和閃速存儲(chǔ)裝置)、磁盤(pán)(如硬盤(pán)和可移動(dòng)磁盤(pán))、磁光盤(pán)和DVD光盤(pán)。前述的任何內(nèi)容可以通過(guò)專(zhuān)門(mén)設(shè)計(jì)的專(zhuān)用集成電路(ASIC)來(lái)補(bǔ)充或集成于其中。
上文描述了由權(quán)利要求定義的本發(fā)明多個(gè)實(shí)施例。不過(guò),要明確的是在不背離權(quán)利要求的本發(fā)明精神和范圍的前提下可以對(duì)上述實(shí)施例進(jìn)行各種修改。因此,其他實(shí)施例也屬于權(quán)利要求的范圍內(nèi)。
權(quán)利要求
1.一種方法,用于在存儲(chǔ)媒體中分配存儲(chǔ)空間以用于存儲(chǔ)來(lái)自信息系統(tǒng)中運(yùn)行的至少一個(gè)應(yīng)用程序的數(shù)據(jù)到文件中,所述方法包括如下步驟當(dāng)所述至少一個(gè)應(yīng)用程序操作所述文件將數(shù)據(jù)存儲(chǔ)在所述存儲(chǔ)媒體上時(shí),監(jiān)視多個(gè)數(shù)據(jù)存儲(chǔ)操作的至少一個(gè)特征(402,404);從所述多個(gè)數(shù)據(jù)存儲(chǔ)操作的所述至少一個(gè)監(jiān)視的特征識(shí)別出存儲(chǔ)模式(406);基于所述識(shí)別的存儲(chǔ)模式按需要確定將用于所述文件的附加數(shù)據(jù)的存儲(chǔ)空間的量值(408);以及在存儲(chǔ)媒體上對(duì)所述文件分配所述量值的存儲(chǔ)空間,以用于所述附加的數(shù)據(jù)(410)。
2.如權(quán)利要求1所述的方法,其特征在于識(shí)別所述存儲(chǔ)模式的步驟包括確定所述存儲(chǔ)模式的強(qiáng)度值。
3.如權(quán)利要求2所述的方法,其特征在于確定存儲(chǔ)空間量值的步驟包括基于所述存儲(chǔ)模式的強(qiáng)度確定存儲(chǔ)空間的量值。
4.一種用于將數(shù)據(jù)存儲(chǔ)在計(jì)算機(jī)系統(tǒng)的文件中的方法,所述方法包括如下步驟監(jiān)視所述文件的數(shù)據(jù)存儲(chǔ)操作的至少一個(gè)特征(402和404);根據(jù)所監(jiān)視的數(shù)據(jù)存儲(chǔ)操作識(shí)別模式(406);確定所述模式的強(qiáng)度值(408);以及按需要基于所述識(shí)別的模式的強(qiáng)度值對(duì)所述文件分配用于存儲(chǔ)數(shù)據(jù)的空間(410)。
5.一種方法,用于在存儲(chǔ)媒體中分配存儲(chǔ)空間以用于存儲(chǔ)來(lái)自信息系統(tǒng)中至少一個(gè)應(yīng)用程序的數(shù)據(jù)到文件中,所述方法包括如下步驟將來(lái)自所述至少一個(gè)應(yīng)用程序的數(shù)據(jù)存儲(chǔ)在所述文件中(402);存儲(chǔ)有關(guān)所述數(shù)據(jù)存儲(chǔ)操作的信息(404);請(qǐng)求模式識(shí)別功能處理所述存儲(chǔ)的信息(406);從所述模式識(shí)別功能接收響應(yīng)(408);以及基于來(lái)自模式識(shí)別功能的響應(yīng),按需要為所述文件分配附加的存儲(chǔ)空間(410)。
6.如權(quán)利要求5所述的方法,其特征在于分配附加存儲(chǔ)空間的步驟包括,基于所識(shí)別的存儲(chǔ)模式分配選擇的存儲(chǔ)空間量。
7.一種信息系統(tǒng)、它包括處理器(102);與所述處理器連接的存儲(chǔ)媒體(104);運(yùn)行于所述處理器上的至少一個(gè)應(yīng)用程序(例如108-1),其中所述至少一個(gè)應(yīng)用程序?qū)?shù)據(jù)存儲(chǔ)在所述存儲(chǔ)媒體上的至少一個(gè)文件(例如,110-1);運(yùn)行于所述處理器上的模式識(shí)別功能(114),設(shè)為識(shí)別所述應(yīng)用程序?qū)?shù)據(jù)存儲(chǔ)在所述文件中的模式;以及運(yùn)行于所述處理器上的文件系統(tǒng)功能(112),所述文件系統(tǒng)功能基于從所述模式識(shí)別功能的輸入為所述應(yīng)用程序的文件在所述存儲(chǔ)媒體上分配存儲(chǔ)空間。
8.如權(quán)利要求7所述的信息系統(tǒng),其特征在于每次向所述文件寫(xiě)入數(shù)據(jù)時(shí),所述文件系統(tǒng)功能在歷史高速緩存中存儲(chǔ)信息。
9.如權(quán)利要求7所述的信息系統(tǒng),其特征在于所述模式識(shí)別功能識(shí)別所述識(shí)別的模式的強(qiáng)度值。
10.一種信息系統(tǒng)、它包括處理器(102);與所述處理器連接的存儲(chǔ)媒體(104);運(yùn)行于所述處理器上的至少一個(gè)應(yīng)用程序(例如108-1),其中所述至少一個(gè)應(yīng)用程序?qū)?shù)據(jù)存儲(chǔ)在所述存儲(chǔ)媒體上的至少一個(gè)文件;用于識(shí)別所述應(yīng)用程序?qū)?shù)據(jù)存儲(chǔ)在所述文件中的模式的裝置(114);以及分配裝置(112),用于基于來(lái)自所述識(shí)別模式裝置的輸入為所述應(yīng)用程序的文件在所述存儲(chǔ)媒體上分配存儲(chǔ)空間。
全文摘要
在一個(gè)實(shí)施例中,提出一種方法和系統(tǒng),用于在存儲(chǔ)媒體(104)中分配存儲(chǔ)空間以用于存儲(chǔ)來(lái)自信息系統(tǒng)中運(yùn)行的至少一個(gè)應(yīng)用程序(例如108-1)的數(shù)據(jù)到文件(例如,110-1)中。該方法和系統(tǒng)包括當(dāng)所述至少一個(gè)應(yīng)用程序?qū)?shù)據(jù)存儲(chǔ)在所述存儲(chǔ)媒體上的所述文件時(shí),監(jiān)視(404)多個(gè)數(shù)據(jù)存儲(chǔ)操作的至少一個(gè)特征,從所述多個(gè)數(shù)據(jù)存儲(chǔ)操作的所述至少一個(gè)監(jiān)視的特征識(shí)別出存儲(chǔ)模式(406),基于所述識(shí)別的存儲(chǔ)模式按需要確定將用于所述文件的附加數(shù)據(jù)的存儲(chǔ)空間的量值(408),以及對(duì)該文件分配該量值的存儲(chǔ)空間(410)。
文檔編號(hào)G06F12/00GK1760874SQ200510116319
公開(kāi)日2006年4月19日 申請(qǐng)日期2005年10月12日 優(yōu)先權(quán)日2004年10月13日
發(fā)明者T·馬克 申請(qǐng)人:惠普開(kāi)發(fā)有限公司