本發(fā)明涉及數(shù)據(jù)處理技術領域,更具體的說是涉及一種元數(shù)據(jù)的處理方法、裝置和存儲設備。
背景技術:
元數(shù)據(jù)用于描述文件的數(shù)據(jù)屬性,通過對元數(shù)據(jù)的存儲能夠提高數(shù)據(jù)處理性能。
在存儲設備處理文件數(shù)據(jù)的過程中,為了提高數(shù)據(jù)處理性能,經(jīng)常需要將文件數(shù)據(jù)的元數(shù)據(jù)緩存在內存中。然而,存儲設備的內存容量有限,如果元數(shù)據(jù)的數(shù)量過大,則可能無法將所需的所有元數(shù)據(jù)都緩存在內存中,這樣必然會影響到數(shù)據(jù)處理性能。
技術實現(xiàn)要素:
有鑒于此,本發(fā)明提供一種元數(shù)據(jù)的處理方法、裝置和存儲設備,以提高數(shù)據(jù)處理性能。
為實現(xiàn)上述目的,本發(fā)明提供如下技術方案:
一種元數(shù)據(jù)處理方法,所述方法包括:
接收到待存儲文件時,獲取所述待存儲文件的元數(shù)據(jù);
基于預置的至少一種可壓縮數(shù)據(jù)類型,從所述元數(shù)據(jù)中確定出屬于所述可壓縮數(shù)據(jù)類型的至少一個第一目標數(shù)據(jù);
將所述元數(shù)據(jù)中的所述第一目標數(shù)據(jù)轉換為第二目標數(shù)據(jù),得到經(jīng)過壓縮的元數(shù)據(jù),其中,所述第二目標數(shù)據(jù)的數(shù)據(jù)量小于所述第一目標數(shù)據(jù)的數(shù)據(jù)量;
存儲所述經(jīng)過壓縮的元數(shù)據(jù)。
優(yōu)選的,所述將所述元數(shù)據(jù)中的所述第一目標數(shù)據(jù)轉換為第二目標數(shù)據(jù),包括:
依據(jù)所述第一目標數(shù)據(jù)的可壓縮數(shù)據(jù)類型對應的轉換方式,將所述元數(shù)據(jù)中的所述第一目標數(shù)據(jù)轉換為第二目標數(shù)據(jù),其中,不同可壓縮數(shù)據(jù)類型對應的轉換方式不同。
優(yōu)選的,在所述將所述元數(shù)據(jù)中的所述第一目標數(shù)據(jù)轉換為第二目標數(shù)據(jù)之后,還包括:
在所述第二目標數(shù)據(jù)之后添加區(qū)分標識,所述區(qū)分標識用于區(qū)分所述經(jīng)過壓縮的元數(shù)據(jù)中轉換出的所述第二目標數(shù)據(jù)以及未經(jīng)轉換的數(shù)據(jù)。
優(yōu)選的,所述存儲所述經(jīng)過壓縮的元數(shù)據(jù)之前,還包括:
根據(jù)所述元數(shù)據(jù)中所述第一目標數(shù)據(jù)的可壓縮數(shù)據(jù)類型,生成一個轉換指示標識,所述轉換指示標識用于表征所述元數(shù)據(jù)中具有的可壓縮數(shù)據(jù)類型;
將所述轉換指示標識添加到所述經(jīng)過壓縮的元數(shù)據(jù)中。
優(yōu)選的,在所述存儲所述經(jīng)過壓縮的元數(shù)據(jù)之后,還包括:
當接收到文件訪問請求時,確定所述文件訪問請求所請求訪問的文件的文件名;
判斷所述文件名中具有屬于所述預置的至少一種可壓縮數(shù)據(jù)類型的第一目標數(shù)據(jù);
如果所述文件名中具有所述第一目標數(shù)據(jù),則將所述文件名中的所述第一目標數(shù)據(jù)轉換為所述第二目標數(shù)據(jù),得到壓縮后的文件名;
從存儲的經(jīng)過壓縮的元數(shù)據(jù)中,查找與所述壓縮后的文件名對應的目標元數(shù)據(jù)。
優(yōu)選的,在所述存儲所述經(jīng)過壓縮的元數(shù)據(jù)之后,還包括:
當檢測到數(shù)據(jù)讀取請求時,獲取所述數(shù)據(jù)讀取請求所請求讀取的數(shù)據(jù)存儲目錄;
從所述數(shù)據(jù)存儲目錄對應的存儲區(qū)域中讀取出待處理的元數(shù)據(jù);
如果所述待處理的元數(shù)據(jù)為經(jīng)過壓縮的元數(shù)據(jù),則檢測所述待處理元數(shù)據(jù)中,屬于由所述至少一種可壓縮數(shù)據(jù)類型的第一目標數(shù)據(jù)轉換出的第二目標數(shù)據(jù);
將所述待處理的元數(shù)據(jù)中的所述第二目標數(shù)據(jù)轉換為所述第一目標數(shù)據(jù),得到待處理的元數(shù)據(jù)對應的常規(guī)元數(shù)據(jù);
依據(jù)所述常規(guī)元數(shù)據(jù)進行文件讀取。
另一方面,本申請實施例還提供了一種存儲設備,包括:
存儲器,用于存儲預置的至少一種可壓縮數(shù)據(jù)類型;
通信接口,用于接收到待存儲文件;
處理器,用于獲取所述待存儲文件的元數(shù)據(jù);基于預置的至少一種可壓縮數(shù)據(jù)類型,從所述元數(shù)據(jù)中確定出屬于所述可壓縮數(shù)據(jù)類型的至少一個第一目標數(shù)據(jù);將所述元數(shù)據(jù)中的所述第一目標數(shù)據(jù)轉換為第二目標數(shù)據(jù),得到經(jīng)過壓縮的元數(shù)據(jù),其中,所述第二目標數(shù)據(jù)的數(shù)據(jù)量小于所述第一目標數(shù)據(jù)的數(shù)據(jù)量;
所述存儲器,還用于存儲所述經(jīng)過壓縮的元數(shù)據(jù)。
優(yōu)選的,所述處理器在將所述元數(shù)據(jù)中的所述第一目標數(shù)據(jù)轉換為第二目標數(shù)據(jù)時,具體用于,依據(jù)所述第一目標數(shù)據(jù)的可壓縮數(shù)據(jù)類型對應的轉換方式,將所述元數(shù)據(jù)中的所述第一目標數(shù)據(jù)轉換為第二目標數(shù)據(jù),其中,不同可壓縮數(shù)據(jù)類型對應的轉換方式不同。
優(yōu)選的,所述處理器還用于,在所述將所述元數(shù)據(jù)中的所述第一目標數(shù)據(jù)轉換為第二目標數(shù)據(jù)之后,在所述第二目標數(shù)據(jù)之后添加區(qū)分標識,所述區(qū)分標識用于區(qū)分所述經(jīng)過壓縮的元數(shù)據(jù)中轉換出的所述第二目標數(shù)據(jù)以及未經(jīng)轉換的數(shù)據(jù)。
優(yōu)選的,在所述處理器在將所述經(jīng)過壓縮的元數(shù)據(jù)存儲到所述存儲器之前,還用于,根據(jù)所述元數(shù)據(jù)中所述第一目標數(shù)據(jù)的可壓縮數(shù)據(jù)類型,生成一個轉換指示標識,所述轉換指示標識用于表征所述元數(shù)據(jù)中具有的可壓縮數(shù)據(jù)類型;將所述轉換指示標識添加到所述經(jīng)過壓縮的元數(shù)據(jù)中。
優(yōu)選的,所述通信接口還用于,接收到文件訪問請求;
所述處理器還用于,確定所述文件訪問請求所請求訪問的文件的文件名;判斷所述文件名中具有屬于所述預置的至少一種可壓縮數(shù)據(jù)類型的第一目標數(shù)據(jù);如果所述文件名中具有所述第一目標數(shù)據(jù),則將所述文件名中的所述第一目標數(shù)據(jù)轉換為所述第二目標數(shù)據(jù),得到壓縮后的文件名;從所述存儲器存儲的經(jīng)過壓縮的元數(shù)據(jù)中,查找與所述壓縮后的文件名對應的目標元數(shù)據(jù)。
優(yōu)選的,所述處理器還用于,當檢測到數(shù)據(jù)讀取請求時,獲取所述數(shù)據(jù)讀取請求所請求讀取的數(shù)據(jù)存儲目錄;從所述數(shù)據(jù)存儲目錄對應的存儲區(qū)域中讀取出待處理的元數(shù)據(jù);如果所述待處理的元數(shù)據(jù)為經(jīng)過壓縮的元數(shù)據(jù),則檢測所述待處理元數(shù)據(jù)中,屬于由所述至少一種可壓縮數(shù)據(jù)類型的第一目標數(shù)據(jù)轉換出的第二目標數(shù)據(jù);將所述待處理的元數(shù)據(jù)中的所述第二目標數(shù)據(jù)轉換為所述第一目標數(shù)據(jù),得到待處理的元數(shù)據(jù)對應的常規(guī)元數(shù)據(jù);依據(jù)所述常規(guī)元數(shù)據(jù)進行文件讀取。
另一方面,本申請實施例還提供了一種元數(shù)據(jù)處理裝置,所述裝置包括:
文件處理單元,用于接收到待存儲文件時,獲取所述待存儲文件的元數(shù)據(jù);
目標確定單元,用于基于預置的至少一種可壓縮數(shù)據(jù)類型,從所述元數(shù)據(jù)中確定出屬于所述可壓縮數(shù)據(jù)類型的至少一個第一目標數(shù)據(jù);
數(shù)據(jù)壓縮單元,用于將所述元數(shù)據(jù)中的所述第一目標數(shù)據(jù)轉換為第二目標數(shù)據(jù),得到經(jīng)過壓縮的元數(shù)據(jù),其中,所述第二目標數(shù)據(jù)的數(shù)據(jù)量小于所述第一目標數(shù)據(jù)的數(shù)據(jù)量;
數(shù)據(jù)存儲單元,用于存儲所述經(jīng)過壓縮的元數(shù)據(jù)。
經(jīng)由上述的技術方案可知,在獲取到待存儲文件的元數(shù)據(jù)之后,根據(jù)預置的可壓縮數(shù)據(jù)類型,從該元數(shù)據(jù)中確定出屬于可壓縮數(shù)據(jù)類型的至少一個第一目標數(shù)據(jù),通過將該元數(shù)據(jù)中的第一目標數(shù)據(jù)轉換為數(shù)據(jù)量較小的第二目標數(shù)據(jù),使得得到的經(jīng)過壓縮的元數(shù)據(jù)的數(shù)據(jù)量變小,這樣,存儲該經(jīng)過壓縮的元數(shù)據(jù)可以占據(jù)較小的存儲空間;同時,在存儲設備管理文件數(shù)據(jù)的過程中,由于存儲的經(jīng)過壓縮的元數(shù)據(jù)所占據(jù)的存儲空間變少,使得內存中可以加載更多的元數(shù)據(jù),從而減少了由于內存空間有限而無法完全加載所需處理的元數(shù)據(jù),而導致數(shù)據(jù)處理性能降低的情況,進而有利于提高數(shù)據(jù)處理性能。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本申請一種元數(shù)據(jù)處理方法一個實施例的流程示意圖;
圖2為本申請一種元數(shù)據(jù)處理方法又一個實施例的流程示意圖;
圖3為本申請一種元數(shù)據(jù)處理方法又一個實施例的流程示意圖;
圖4為本申請一種元數(shù)據(jù)處理方法又一個實施例的流程示意圖;
圖5為本申請一種數(shù)據(jù)存儲設備一個實施例的組成結構示意圖;
圖6為本申請一種元數(shù)據(jù)處理裝置一個實施例的組成結構示意圖。
具體實施方式
本申請實施例公開了一種元數(shù)據(jù)處理方法,該方法適用于任意存儲設備中元數(shù)據(jù)的處理,如,該存儲設備可以為獨立的計算機設備,也可以為分布式存儲系統(tǒng)中的服務器節(jié)點等等。
下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
如圖1,其示出了本申請一種元數(shù)據(jù)處理方法一個實施例的流程示意圖,本實施例的方法可以應用進行元數(shù)據(jù)存儲以及處理的存儲設備,本實施例的方法可以包括:
101,接收到待存儲文件時,獲取該待存儲文件的元數(shù)據(jù)。
其中,元數(shù)據(jù)是指關于數(shù)據(jù)的數(shù)據(jù),是對數(shù)據(jù)定義和描述,是一種特殊的數(shù)據(jù)。如,元數(shù)據(jù)可以對待存儲的文件的文件名、存儲時間、存儲位置等等的描述。相對于文件中的數(shù)據(jù)(元數(shù)據(jù)之外的數(shù)據(jù)),元數(shù)據(jù)的數(shù)據(jù)量較小。
其中,獲取該待存儲文件的元數(shù)據(jù)的方式可以采用現(xiàn)有任意生成元數(shù)據(jù)的方式,如,可以根據(jù)該待存儲文件自身的文件的名稱以及所需存儲的位置等等信息,生成元數(shù)據(jù)。
102,基于預置的至少一種可壓縮數(shù)據(jù)類型,從該元數(shù)據(jù)中確定出屬于該可壓縮數(shù)據(jù)類型的至少一個第一目標數(shù)據(jù)。
為了減少元數(shù)據(jù)所占據(jù)的存儲空間,本申請實施例的存儲設備中預置了可以被壓縮處理的可壓縮數(shù)據(jù)類型。其中,該可壓縮數(shù)據(jù)類型可以認為是可壓縮數(shù)據(jù)所具有的數(shù)據(jù)屬性或者所歸屬的字段類型等等,一般可以根據(jù)需要將元數(shù)據(jù)中包含重復內容較多的字段所對應的數(shù)據(jù)屬性或者字符串等等設置為可壓縮數(shù)據(jù)類型。如,該可壓縮數(shù)據(jù)類型可以包括:指定的文件名、擴展屬性以及預設的特定字符串等等。
可以理解的是,預置的可壓縮數(shù)據(jù)類型的種類可以根據(jù)需要設定,為了減少元數(shù)據(jù)的存儲量,該可壓縮數(shù)據(jù)類型的種類一般會有多種。
如果元數(shù)據(jù)中包含屬于該可壓縮數(shù)據(jù)類型的數(shù)據(jù),則將該數(shù)據(jù)作為需要被處理的目標數(shù)據(jù)。為了便于區(qū)分,在本申請實施例中,將元數(shù)據(jù)中屬于某種可壓縮數(shù)據(jù)類型的數(shù)據(jù)稱為第一目標數(shù)據(jù)。
可以理解的是,由于預置的可壓縮數(shù)據(jù)類型有可能不止一種,而元數(shù)據(jù)中也可能存在分別屬于不同種可壓縮數(shù)據(jù)類型的目標數(shù)據(jù),因此,該第一目標數(shù)據(jù)可以有多個。此處所說的第一目標數(shù)據(jù)的個數(shù)是指將元數(shù)據(jù)中,屬于一類可壓縮數(shù)據(jù)類型的連續(xù)字符串稱為一個第一目標數(shù)據(jù),例如,假設可壓縮數(shù)據(jù)類型包括第一文件名file,則元數(shù)據(jù)中包含的屬于該第一文件名file的數(shù)據(jù)就為一個第一目標數(shù)據(jù),假如該元數(shù)據(jù)中包含多個屬于該第一文件名的數(shù)據(jù),則第一目標數(shù)據(jù)有多個。
103,將該元數(shù)據(jù)中的第一目標數(shù)據(jù)轉換為第二目標數(shù)據(jù),得到經(jīng)過壓縮的元數(shù)據(jù)。
其中,該第二目標數(shù)據(jù)的數(shù)據(jù)量小于該第一目標數(shù)據(jù)的數(shù)據(jù)量。
對于元數(shù)據(jù)中的每個第一目標數(shù)據(jù),均需要將該第一目標數(shù)據(jù)轉換為數(shù)據(jù)量更小的第二目標數(shù)據(jù),從而實現(xiàn)有效減少元數(shù)據(jù)的數(shù)據(jù)量的目的。
其中,對于不同的第一目標數(shù)據(jù)而言,轉換出的第二目標數(shù)據(jù)也會有所不同,以實現(xiàn)區(qū)分不同的第一目標數(shù)據(jù)所對應的第二目標數(shù)據(jù)。
在本申請實施例中,將第一目標數(shù)據(jù)轉換為第二目標數(shù)據(jù)的具體方式可以有多種,只要是能夠保證該第二目標數(shù)據(jù)的數(shù)據(jù)量小于該第一目標數(shù)據(jù)的數(shù)據(jù)量,使得轉換后的元數(shù)據(jù)的數(shù)據(jù)量減少即可。如,第一目標數(shù)據(jù)為包含多個連續(xù)字符的文件名,則可以將該元數(shù)據(jù)中的第一目標數(shù)據(jù)轉換為一個特殊字符,從而減少了元數(shù)據(jù)所占據(jù)的存儲量。
可選的,在本申請實施例中可以預置不同可壓縮數(shù)據(jù)類型所對應的轉換方式,因此,在從元數(shù)據(jù)中確定出第一目標數(shù)據(jù)之后,可以獲取該第一目標數(shù)據(jù)的可壓縮數(shù)據(jù)類型所對應的轉換方式,然后按照該轉換方式,將元數(shù)據(jù)中的該第一目標數(shù)據(jù)轉換為第二目標數(shù)據(jù),從而得到經(jīng)過壓縮的元數(shù)據(jù)。
其中,可壓縮數(shù)據(jù)類型的對應轉換方式,可以認為該種可壓縮數(shù)據(jù)類型的第一目標數(shù)據(jù)與所需轉換至的第二目標數(shù)據(jù)之間的對應關系。如,舉例說明如下:
對于可壓縮數(shù)據(jù)類型為包含file的文件名,該種類型的轉換方式為將file轉換為字符a;對于可壓縮數(shù)據(jù)類型為擴展名包含“name”的擴展屬性,轉換方式為將種擴展屬性中的數(shù)據(jù)name轉換為字符b,那么如果第一目標數(shù)據(jù)為file或者包含file的文件名,則可以將該第一目標數(shù)據(jù)中的file轉換為b,得到第二目標數(shù)據(jù)。
相應的,對于元數(shù)據(jù)中某條元數(shù)據(jù)字段為:filename:file1,則其中可以確定file屬于第一目標數(shù)據(jù),那么經(jīng)過將該元數(shù)據(jù)字段中的第一目標數(shù)據(jù)轉換為第二目標數(shù)據(jù),則得到的元數(shù)據(jù)字段為:filename:a1。與此類似,對于元數(shù)據(jù)中一條元數(shù)據(jù)字段:xattr:name1-xxxxx,則經(jīng)過轉換之后得到的元數(shù)據(jù)字段為:xattr:b1-xxxxx。
當然,以上僅僅是舉例說明,在實際應用中,屬于可壓縮數(shù)據(jù)類型的第一目標數(shù)據(jù)一般都為具有較多字符的連續(xù)字符串,其占據(jù)的數(shù)據(jù)量較多,而通過轉換則可以減少數(shù)據(jù)占用量。如,傳統(tǒng)文件管理中會將文件名全部進行存儲,若按照文件名最大255計算,一個4k的數(shù)據(jù)塊可以存儲的文件的元數(shù)據(jù)信息將不足16個,從而加大文件元數(shù)據(jù)訪問的耗時,而通過本申請的方案將元數(shù)據(jù)中文件名相同的部分轉換數(shù)據(jù)量較小的特定數(shù)據(jù)(即第二目標數(shù)據(jù)),則可以最大程度降低文件元數(shù)據(jù)的空間使用。
104,存儲該經(jīng)過壓縮的元數(shù)據(jù)。
為了便于區(qū)分,本申請實施例將元數(shù)據(jù)中第一目標數(shù)據(jù)轉換為第二目標數(shù)據(jù)之后所得到的元數(shù)據(jù)稱為經(jīng)過壓縮的元數(shù)據(jù)。當然,此處的壓縮并非是指對元數(shù)據(jù)進行整體壓縮,而是指通過將元數(shù)據(jù)中的第一目標數(shù)據(jù)轉換為數(shù)據(jù)量更小的第二目標數(shù)據(jù),使得元數(shù)據(jù)的自身的數(shù)據(jù)量變小。
由于該經(jīng)過壓縮的元數(shù)據(jù)相比于處理前的元數(shù)據(jù)的數(shù)據(jù)量更小,所需占據(jù)的存儲空間減少,從而減少了存儲元數(shù)據(jù)所需占用的存儲空間,而且,在需要從內存中加載元數(shù)據(jù)時,也有利于可以加載更多的元數(shù)據(jù),從而有利于保證存儲設備管理文件數(shù)據(jù)的性能。
可見,在本申請實施例中,在獲取到待存儲文件的元數(shù)據(jù)之后,根據(jù)預置的可壓縮數(shù)據(jù)類型,從該元數(shù)據(jù)中確定出屬于可壓縮數(shù)據(jù)類型的至少一個第一目標數(shù)據(jù),通過將該元數(shù)據(jù)中的第一目標數(shù)據(jù)轉換為數(shù)據(jù)量較小的第二目標數(shù)據(jù),使得得到的經(jīng)過壓縮的元數(shù)據(jù)的數(shù)據(jù)量變小,這樣,存儲該經(jīng)過壓縮的元數(shù)據(jù)可以占據(jù)較小的存儲空間;同時,在存儲設備管理文件數(shù)據(jù)的過程中,由于存儲的經(jīng)過壓縮的元數(shù)據(jù)所占據(jù)的存儲空間變少,使得內存中可以加載更多的元數(shù)據(jù),從而減少了由于內存空間有限而無法完全加載所需處理的元數(shù)據(jù),而導致數(shù)據(jù)處理性能降低的情況,進而有利于提高數(shù)據(jù)處理性能。
可以理解的是,可壓縮數(shù)據(jù)類型可以預置在配置文件中,從而通過配置該配置文件中可壓縮數(shù)據(jù)類型,來管理元數(shù)據(jù)中所需轉換的數(shù)據(jù)。
如,配置文件中配置的可壓縮數(shù)據(jù)類型的模板如下:
【meta1】
key=filename
context=“file,message”;
【meta2】
key=xattr-key
context=“name,info
其中,【meta1】以及【meta2】分別表示兩種可壓縮數(shù)據(jù)類型。其中,key表示可壓縮數(shù)據(jù)類型所對應的元數(shù)據(jù)字段的名稱,該context部分則描述了該字段可能出現(xiàn)的冗余內容,冗余內容可以是多個,例如,【meta1】中表示,名稱為filename的元數(shù)據(jù)字段中,file中存在冗余數(shù)據(jù),其為一種可壓縮數(shù)據(jù)類型。
當然,以上僅僅是舉例說明,如果文件系統(tǒng)還有其他的元數(shù)據(jù)字段也符合可以壓縮的要求,也可以在該配置文件中進行配置。
可以理解的是,在本申請以上實施例中,在存儲了經(jīng)過壓縮的元數(shù)據(jù)之后,后續(xù)還可以存儲設備還可以接收文件訪問請求,而由于元數(shù)據(jù)與現(xiàn)有的存儲元數(shù)據(jù)有所不同,因此,在依據(jù)該文件訪問請求獲取所需訪問的文件的文件名進行轉換,以與存儲的經(jīng)過加密的元數(shù)據(jù)相匹配,以定位出所需訪問的文件的元數(shù)據(jù)。
如,參見圖2,其示出了本申請一種元數(shù)據(jù)處理方法又一個實施例的流程示意圖,本實施例的方法可以應用于存儲設備,該方法可以包括:
201,接收到待存儲文件時,獲取該待存儲文件的元數(shù)據(jù)。
202,基于預置的配置文件中包含的至少一種可壓縮數(shù)據(jù)類型,從該元數(shù)據(jù)中確定出屬于該配置文件中包含的可壓縮數(shù)據(jù)類型的至少一個第一目標數(shù)據(jù)。
203,對于每一個第一目標數(shù)據(jù),依據(jù)該第一目標數(shù)據(jù)的可壓縮數(shù)據(jù)類型所對應的轉換方式,將元數(shù)據(jù)中的該第一目標數(shù)據(jù)轉換為第二目標數(shù)據(jù),得到經(jīng)過壓縮的元數(shù)據(jù)。
其中,該第二目標數(shù)據(jù)的數(shù)據(jù)量小于該第一目標數(shù)據(jù)的數(shù)據(jù)量。
其中,不同可壓縮數(shù)據(jù)類型對應的轉換方式不同。
204,存儲該經(jīng)過壓縮的元數(shù)據(jù)。
以上步驟201至204可以參見前面實施例的相關介紹,在此不再贅述。
205,當接收到文件訪問請求時,確定該文件訪問請求所請求訪問的文件的文件名。
其中,該文件訪問請求可以請求訪問某個文件,如打開或者讀取該文件中的文件等等。
該文件訪問請求可以是有其他設備發(fā)送給該存儲設備的;也可以是用戶通過特定操作輸入的訪問請求;還可以是存儲設備在處理數(shù)據(jù)過程中,根據(jù)所需的處理的文件的文件名,生成的文件訪問請求。當然,還可以其他獲取到文件訪問請求的可能,在此不加以限制。
206,判斷該文件名中是否具有屬于配置文件中配置的可壓縮數(shù)據(jù)類型的第一目標數(shù)據(jù)。
如,判斷該文件名是否屬于配置文件中配置的可壓縮數(shù)據(jù)類型,如果該文件名屬于可壓縮數(shù)據(jù)類型,則說明該文件名本身為第一目標數(shù)據(jù)。
又如,判斷該文件名中是否包含屬于該可壓縮數(shù)據(jù)類型的數(shù)據(jù),為了與前面存儲的經(jīng)過壓縮的元數(shù)據(jù)相對應,在本申請實施例,將元數(shù)據(jù)以及元數(shù)據(jù)相關的文件名等數(shù)據(jù)中,屬于可壓縮數(shù)據(jù)類型的數(shù)據(jù)均稱為第一目標數(shù)據(jù)。
207,如果該文件名中具有第一目標數(shù)據(jù),則將該文件名中的該第一目標數(shù)據(jù)轉換為第二目標數(shù)據(jù),得到壓縮后的文件名。
如果該文件名屬于可壓縮數(shù)據(jù)類型,或者文件名中包含屬于可壓縮數(shù)據(jù)類型的第一目標數(shù)據(jù),則說明存儲該文件名關聯(lián)的元數(shù)據(jù)時,對元數(shù)據(jù)中的文件名進行了轉換,如果直接依據(jù)該文件名來查詢元數(shù)據(jù),則可能無法定位到包含該文件名的元數(shù)據(jù)。因此,為了能夠定位出該文件名對應的元數(shù)據(jù),需要按照存儲的經(jīng)過壓縮的元數(shù)據(jù)中該文件名的轉換方式,將該文件名進行轉換。
相應的,將該文件名中的第一目標數(shù)據(jù)轉換為數(shù)據(jù)量較小的第二目標數(shù)據(jù),其中,將該文件名中的第一目標數(shù)據(jù)轉換為第二目標數(shù)據(jù)的過程可以與前面提到的相關過程相似,在此不再贅述。
208,從存儲的經(jīng)過壓縮的元數(shù)據(jù)中,查找與該壓縮后的文件名對應的目標元數(shù)據(jù)。
如果經(jīng)過元數(shù)據(jù)的元數(shù)據(jù)中存在該經(jīng)過壓縮的文件名,則說明該經(jīng)過壓縮的元數(shù)據(jù)為所需查找的目標元數(shù)據(jù)。
可以理解的是,在查找該目標元數(shù)據(jù)之前,可以先將經(jīng)過壓縮的元數(shù)據(jù)加載到內存中,然后存儲設備可以從內存中查找該目標元數(shù)據(jù),以提高數(shù)據(jù)查找效率。
可以理解的是,在查找到該目標元數(shù)據(jù)之后,存儲設備可以依據(jù)該目標元數(shù)據(jù)定位該文件名所對應的文件的存儲地址等信息,從而實現(xiàn)對該文件名對應的文件的訪問。
可以理解的是,由于并非每個元數(shù)據(jù)中都存在屬于可壓縮數(shù)據(jù)類型的數(shù)據(jù),因此,有些元數(shù)據(jù)在存儲之前可能并不涉及到數(shù)據(jù)轉換的操作。為了能夠更為便捷的區(qū)分出,經(jīng)過轉換后的元數(shù)據(jù)以及未經(jīng)轉換的元數(shù)據(jù),在將元數(shù)據(jù)中的第一目標數(shù)據(jù)轉換為第二目標數(shù)據(jù)之后,還可以根據(jù)元數(shù)據(jù)中該第一目標數(shù)據(jù)的可壓縮數(shù)據(jù)類型,生成一個轉換指示標識,該轉換指示標識用于表征該元數(shù)據(jù)中具有的可壓縮數(shù)據(jù)類型。
具體的,參見圖3,其示出了本申請一種元數(shù)據(jù)處理方法又一個實施例的流程示意圖,本實施例的方法可以應用于存儲設備,該方法可以包括:
301,接收到待存儲文件時,獲取該待存儲文件的元數(shù)據(jù)。
302,基于預置的配置文件中包含的至少一種可壓縮數(shù)據(jù)類型,從該元數(shù)據(jù)中確定出屬于該配置文件中包含的可壓縮數(shù)據(jù)類型的至少一個第一目標數(shù)據(jù)。
303,對于每一個第一目標數(shù)據(jù),依據(jù)該第一目標數(shù)據(jù)的可壓縮數(shù)據(jù)類型所對應的轉換方式,將元數(shù)據(jù)中的該第一目標數(shù)據(jù)轉換為第二目標數(shù)據(jù),得到經(jīng)過壓縮的元數(shù)據(jù)。
其中,該第二目標數(shù)據(jù)的數(shù)據(jù)量小于該第一目標數(shù)據(jù)的數(shù)據(jù)量。
其中,不同可壓縮數(shù)據(jù)類型對應的轉換方式不同。
以上步驟301至303可以參見前面實施例的相關介紹,在此不再贅述。
304,在該經(jīng)過壓縮的元數(shù)據(jù)中第二目標數(shù)據(jù)之后添加區(qū)分標識。
其中,該區(qū)分標識用于區(qū)分該元數(shù)據(jù)中轉換出的第二目標數(shù)據(jù)以及未經(jīng)轉換的數(shù)據(jù)。其中,區(qū)分標識之前的數(shù)據(jù)表示被轉換出的第二目標數(shù)據(jù),而該區(qū)分標識之后的數(shù)據(jù)表示該元數(shù)據(jù)中未經(jīng)轉換出的數(shù)據(jù)。
通過添加區(qū)分標識,有利于后續(xù)讀取出該經(jīng)過壓縮的元數(shù)據(jù)時,可以準確確定出該經(jīng)過壓縮的元數(shù)據(jù)中經(jīng)過轉換后的第二目標數(shù)據(jù),從而可以將第二目標數(shù)據(jù)轉換回第一目標數(shù)據(jù)。
可以理解的是,元數(shù)據(jù)中包括一條或多條元數(shù)據(jù)字段,在從元數(shù)據(jù)中確定出第一目標數(shù)據(jù)之后,可以確定該第一目標數(shù)據(jù)所屬的目標元數(shù)據(jù)字段。相應的,在將該第一目標數(shù)據(jù)轉換為第二目標數(shù)據(jù)之后,可以在該目標元數(shù)據(jù)字段中,該第二目標數(shù)據(jù)之后添加該區(qū)分標識,其中,該目標元數(shù)據(jù)字段中位于該區(qū)分標識之前的數(shù)據(jù)為經(jīng)過轉換后得到的第二目標數(shù)據(jù),而將區(qū)分標識之后的數(shù)據(jù)為未經(jīng)轉換的數(shù)據(jù)。
舉例說明,假如元數(shù)據(jù)中包括元數(shù)據(jù)字段名分別為filename和xattr兩條元數(shù)據(jù)字段,分別為如下:
filename:file1;
xattr:name1-xxxxx;
其中,按照file轉換為a,而name轉換為b的轉換規(guī)則,將如上兩條元數(shù)據(jù)字段可以轉換為:
filename:a1;
xattr:b1-xxxxx。
則為了區(qū)分出元數(shù)據(jù)中哪些數(shù)據(jù)是經(jīng)過轉換的數(shù)據(jù),則可以在轉換出的第二目標數(shù)據(jù)之后添加一個區(qū)分標識,假設區(qū)分標識可以表示為@,則,如上兩條元數(shù)據(jù)字段可以表示如下:
filename:a@1;
xattr:b@1-xxxxx。
可見,依據(jù)該區(qū)分標識@可知,在元數(shù)據(jù)字段filename中“a”為轉換出的第二目標數(shù)據(jù);相應的,“b”也為轉換出的第二目標數(shù)據(jù)。
當然,在元數(shù)據(jù)中添加該區(qū)分標識僅僅是一種可選的方式,在實際應用中,根據(jù)預置的轉換方式,也可以確定出元數(shù)據(jù)中哪些數(shù)據(jù)是經(jīng)過轉換后得到的,從而后續(xù)可以直接依據(jù)該轉換方式的逆過程,將第二目標數(shù)據(jù)轉換為第一目標數(shù)據(jù)。
305,根據(jù)該元數(shù)據(jù)中第一目標數(shù)據(jù)的可壓縮數(shù)據(jù)類型,生成一個轉換指示標識。
306,將該轉換指示標識添加到該經(jīng)過壓縮的元數(shù)據(jù)中。
其中,該轉換指示標識用于表征原始的元數(shù)據(jù)中具有的可壓縮數(shù)據(jù)類型。且,如果元數(shù)據(jù)中包括該轉換指示標識,則表明該元數(shù)據(jù)為經(jīng)過壓縮的元數(shù)據(jù)??梢?,通過該轉換指示標識可以明確出那些元數(shù)據(jù)為經(jīng)過以上轉換處理后的元數(shù)據(jù)。
可選的,為了能夠迅速確定元數(shù)據(jù)中都有哪些元數(shù)據(jù)字段中包含經(jīng)過轉換后的數(shù)據(jù),新增一個字段來表示該轉換指示標識,該新增字段大小可以根據(jù)最大支持優(yōu)化的字段數(shù)目確定。如,假如最大支持優(yōu)化(即,進行如上減少數(shù)據(jù)量的轉換)8個字段,則只需要一個字節(jié)來標識即可,其中,每個bit標識一種元數(shù)據(jù)字段。例如,假設以步驟304中的例子進行說明,該轉換指示標識中第0個bit表示文件名字段,,第1個bit表示xattr字段,如果元數(shù)據(jù)字段中包括屬于預置的可壓縮數(shù)據(jù)類型的數(shù)據(jù),則將字段對應的比特的取值設置為1,相應的,則新增給轉換指示標識的字段的二進制表示為00000011,其中,第0個比特為1表示文件名字段為存在轉換的字段。
307,存儲該經(jīng)過壓縮的元數(shù)據(jù)。
在以上任意一個實施例的基礎上,本申請的存儲設備還可以接收數(shù)據(jù)讀取請求,數(shù)據(jù)讀取請求用于請求依據(jù)元數(shù)據(jù)讀取文件數(shù)據(jù)。如,參見圖4,其示出了本申請一種元數(shù)據(jù)處理方法又一個實施例的流程示意圖,本實施例的方法可以包括:
401,當檢測到數(shù)據(jù)讀取請求時,獲取該數(shù)據(jù)讀取請求所請求讀取的數(shù)據(jù)存儲目錄。
其中,該數(shù)據(jù)存儲目錄可以理解為元數(shù)據(jù)對應的目錄地址。
402,從該數(shù)據(jù)存儲目錄對應的存儲區(qū)域中讀取出待處理的元數(shù)據(jù)。
在本申請實施例中,將數(shù)據(jù)存儲目錄所指向的元數(shù)據(jù)稱為待處理的元數(shù)據(jù)。
403,如果該待處理的元數(shù)據(jù)為經(jīng)過壓縮的元數(shù)據(jù),則檢測該待處理元數(shù)據(jù)中,屬于由該至少一種可壓縮數(shù)據(jù)類型的第一目標數(shù)據(jù)轉換出的第二目標數(shù)據(jù)。
確定該待處理的元數(shù)據(jù)是否為經(jīng)過壓縮的元數(shù)據(jù)的方式可以有多種,如,在將第一目標數(shù)據(jù)轉換為第二目標數(shù)據(jù)之后,可以存儲第一目標數(shù)據(jù)與第二目標數(shù)據(jù)的對應關系,或者是,存儲該第二目標數(shù)據(jù)。這樣,在確定出該待處理的元數(shù)據(jù)之后,可以查詢存儲的經(jīng)過轉換出的第二目標數(shù)據(jù),如果該待處理的元數(shù)據(jù)中包括第二目標數(shù)據(jù),則說明該待處理的元數(shù)據(jù)為經(jīng)過壓縮的元數(shù)據(jù)。
可選的,在經(jīng)過壓縮的元數(shù)據(jù)中包括轉換指示標識的情況下,可以檢測該待處理的元數(shù)據(jù)中是否包括該轉換指示標識,如果包括該轉換指示標識,則確定該待處理的元數(shù)據(jù)為經(jīng)過壓縮的元數(shù)據(jù)。
同時,根據(jù)該轉換指示標識各個比特位可以確定出該待處理的元數(shù)據(jù)中哪些元數(shù)據(jù)字段為經(jīng)過轉換的元數(shù)據(jù)字段,從而確定該元數(shù)據(jù)中哪些元數(shù)據(jù)字段中存在經(jīng)過轉換后的第二目標數(shù)據(jù)。
進一步的,在確定出該待處理的元數(shù)據(jù)為經(jīng)過壓縮的元數(shù)據(jù),還可以檢測元數(shù)據(jù)中是否存在區(qū)分標識,以根據(jù)該區(qū)分標識,確定出該待處理的元數(shù)據(jù)中屬于第二目標數(shù)據(jù)的部分。
404,將該待處理的元數(shù)據(jù)中的第二目標數(shù)據(jù)轉換為該第一目標數(shù)據(jù),得到待處理的元數(shù)據(jù)對應的常規(guī)元數(shù)據(jù)。
為了便于區(qū)分,本申請實施例中,將待處理的元數(shù)據(jù)中的第二目標數(shù)據(jù)轉換為第一目標數(shù)據(jù)所得到的元數(shù)據(jù)稱為常規(guī)元數(shù)據(jù),該常規(guī)元數(shù)據(jù)是指不存在第一目標數(shù)據(jù)被轉換為較少數(shù)據(jù)量的第二目標數(shù)據(jù)的元數(shù)據(jù)。
其中,將待處理的元數(shù)據(jù)中的第二目標數(shù)據(jù)轉換為第一目標數(shù)據(jù)的過程可以看成是將第一目標數(shù)據(jù)轉換為第二目標數(shù)據(jù)的逆過程。如,可以根據(jù)預置的第一目標數(shù)據(jù)與第二目標數(shù)據(jù)的對應關系,查詢該第二目標數(shù)據(jù)所對應的第一目標數(shù)據(jù),并對該待處理的元數(shù)據(jù)進行轉換處理。
405,依據(jù)該常規(guī)元數(shù)據(jù)進行文件讀取。
轉換得到該常規(guī)元數(shù)據(jù)之后,就可以按照現(xiàn)有的文件讀取方式,實現(xiàn)文件的讀取。
為了實現(xiàn)本申請實施例的以上元數(shù)據(jù)處理方法,本申請實施例還提供了一種存儲設備,該存儲設備可以為獨立的存儲服務器,或者存儲終端,也可以為分布式集群系統(tǒng)或者集中存儲系統(tǒng)中的服務器節(jié)點。
如,參見圖5,其示出了本申請一種存儲設備一個實施例的組成結構示意圖,本實施例的存儲設備500可以包括:
存儲器501,用于存儲預置的至少一種可壓縮數(shù)據(jù)類型;
通信接口502,用于接收到待存儲文件;
處理器503,用于獲取所述待存儲文件的元數(shù)據(jù);基于預置的至少一種可壓縮數(shù)據(jù)類型,從所述元數(shù)據(jù)中確定出屬于所述可壓縮數(shù)據(jù)類型的至少一個第一目標數(shù)據(jù);將所述元數(shù)據(jù)中的所述第一目標數(shù)據(jù)轉換為第二目標數(shù)據(jù),得到經(jīng)過壓縮的元數(shù)據(jù),其中,所述第二目標數(shù)據(jù)的數(shù)據(jù)量小于所述第二目標數(shù)據(jù)的數(shù)據(jù)量;
所述存儲器501,還用于存儲所述經(jīng)過壓縮的元數(shù)據(jù)。
可以理解的是,該存儲設備還可以包括連接該存儲器501、通信接口502以及處理器503的通信總線504,當然,該存儲設備還可以包括其他部件,在此不加以限制。
可選的,所述處理器在將所述元數(shù)據(jù)中的所述第一目標數(shù)據(jù)轉換為第二目標數(shù)據(jù)時,具體用于,依據(jù)所述第一目標數(shù)據(jù)的可壓縮數(shù)據(jù)類型對應的轉換方式,將所述元數(shù)據(jù)中的所述第一目標數(shù)據(jù)轉換為第二目標數(shù)據(jù),其中,不同可壓縮數(shù)據(jù)類型對應的轉換方式不同。
可選的,所述處理器還用于,在所述將所述元數(shù)據(jù)中的所述第一目標數(shù)據(jù)轉換為第二目標數(shù)據(jù)之后,在所述第二目標數(shù)據(jù)之后添加區(qū)分標識,所述區(qū)分標識用于區(qū)分所述元數(shù)據(jù)中轉換出的所述第二目標數(shù)據(jù)以及未經(jīng)轉換的數(shù)據(jù)。
可選的,在所述處理器在將所述經(jīng)過壓縮的元數(shù)據(jù)存儲到所述存儲器之前,還用于,根據(jù)所述元數(shù)據(jù)中所述第一目標數(shù)據(jù)的可壓縮數(shù)據(jù)類型,生成一個轉換指示標識,所述轉換指示標識用于表征所述元數(shù)據(jù)中具有的可壓縮數(shù)據(jù)類型;將所述轉換指示標識添加到所述元數(shù)據(jù)中。
可選的,所述通信接口還用于,接收到文件訪問請求;
所述處理器還用于,確定所述文件訪問請求所請求讀取的文件的文件名;判斷所述文件名中具有屬于所述預置的至少一種可壓縮數(shù)據(jù)類型的第一目標數(shù)據(jù);如果所述文件名中具有所述第一目標數(shù)據(jù),則將所述文件名中的所述第一目標數(shù)據(jù)轉換為所述第二目標數(shù)據(jù),得到壓縮后的文件名;從所述存儲器存儲的經(jīng)過壓縮的元數(shù)據(jù)中,查找與所述壓縮后的文件名對應的目標元數(shù)據(jù)。
可選的,所述處理器還用于,當檢測到數(shù)據(jù)讀取請求時,獲取所述數(shù)據(jù)讀取請求所請求讀取的數(shù)據(jù)存儲目錄;從所述數(shù)據(jù)存儲目錄對應的存儲區(qū)域中讀取出待處理的元數(shù)據(jù);如果所述待處理的元數(shù)據(jù)為經(jīng)過壓縮的元數(shù)據(jù),則檢測所述待處理元數(shù)據(jù)中,屬于由所述至少一種可壓縮數(shù)據(jù)類型的第一目標數(shù)據(jù)轉換出的第二目標數(shù)據(jù);將所述待處理的元數(shù)據(jù)中的所述第二目標數(shù)據(jù)轉換為所述第一目標數(shù)據(jù),得到待處理的元數(shù)據(jù)對應的常規(guī)元數(shù)據(jù);依據(jù)所述常規(guī)元數(shù)據(jù)進行文件讀取。
另一方面,對應本申請的一種元數(shù)據(jù)處理方法,本申請實施例還提供了一種元數(shù)據(jù)處理裝置。
如,參見圖6,其示出了本申請一種元數(shù)據(jù)處理裝置一個實施例的組成結構示意圖,本實施例的裝置可以包括:
文件處理單元601,用于接收到待存儲文件時,獲取所述待存儲文件的元數(shù)據(jù);
目標確定單元602,用于基于預置的至少一種可壓縮數(shù)據(jù)類型,從所述元數(shù)據(jù)中確定出屬于所述可壓縮數(shù)據(jù)類型的至少一個第一目標數(shù)據(jù);
數(shù)據(jù)壓縮單元603,用于將所述元數(shù)據(jù)中的所述第一目標數(shù)據(jù)轉換為第二目標數(shù)據(jù),得到經(jīng)過壓縮的元數(shù)據(jù),其中,所述第二目標數(shù)據(jù)的數(shù)據(jù)量小于所述第二目標數(shù)據(jù)的數(shù)據(jù)量;
數(shù)據(jù)存儲單元604,用于存儲所述經(jīng)過壓縮的元數(shù)據(jù)。
可選的,所述數(shù)據(jù)壓縮單元在將所述元數(shù)據(jù)中的所述第一目標數(shù)據(jù)轉換為第二目標數(shù)據(jù)時,具體用于,依據(jù)所述第一目標數(shù)據(jù)的可壓縮數(shù)據(jù)類型對應的轉換方式,將所述元數(shù)據(jù)中的所述第一目標數(shù)據(jù)轉換為第二目標數(shù)據(jù),其中,不同可壓縮數(shù)據(jù)類型對應的轉換方式不同。
所述裝置還包括:
第一標識添加單元,用于在所述數(shù)據(jù)壓縮單元將所述元數(shù)據(jù)中的所述第一目標數(shù)據(jù)轉換為第二目標數(shù)據(jù)之后,在所述第二目標數(shù)據(jù)之后添加區(qū)分標識,所述區(qū)分標識用于區(qū)分所述元數(shù)據(jù)中轉換出的所述第二目標數(shù)據(jù)以及未經(jīng)轉換的數(shù)據(jù)。
第二標識添加單元,用于在所述數(shù)據(jù)壓縮單元將所述元數(shù)據(jù)中的所述第一目標數(shù)據(jù)轉換為第二目標數(shù)據(jù)之后,根據(jù)所述元數(shù)據(jù)中所述第一目標數(shù)據(jù)的可壓縮數(shù)據(jù)類型,生成一個轉換指示標識,所述轉換指示標識用于表征所述元數(shù)據(jù)中具有的可壓縮數(shù)據(jù)類型;
將所述轉換指示標識添加到所述元數(shù)據(jù)中。
可選的,所述裝置還包括:
訪問接收單元,用于當接收到文件訪問請求時,確定所述文件訪問請求所請求讀取的文件的文件名;
文件名識別單元,用于判斷所述文件名中具有屬于所述預置的至少一種可壓縮數(shù)據(jù)類型的第一目標數(shù)據(jù);
逆轉換單元,用于如果所述文件名中具有所述第一目標數(shù)據(jù),則將所述文件名中的所述第一目標數(shù)據(jù)轉換為所述第二目標數(shù)據(jù),得到壓縮后的文件名;
元數(shù)據(jù)查找單元,用于從存儲的經(jīng)過壓縮的元數(shù)據(jù)中,查找與所述壓縮后的文件名對應的目標元數(shù)據(jù)。
可選的,所述裝置還包括:
讀取請求接收單元,用于當檢測到數(shù)據(jù)讀取請求時,獲取所述數(shù)據(jù)讀取請求所請求讀取的數(shù)據(jù)存儲目錄;
元數(shù)據(jù)讀取單元,用于從所述數(shù)據(jù)存儲目錄對應的存儲區(qū)域中讀取出待處理的元數(shù)據(jù);
元數(shù)據(jù)轉換單元,用于如果所述待處理的元數(shù)據(jù)為經(jīng)過壓縮的元數(shù)據(jù),則檢測所述待處理元數(shù)據(jù)中,屬于由所述至少一種可壓縮數(shù)據(jù)類型的第一目標數(shù)據(jù)轉換出的第二目標數(shù)據(jù);
數(shù)據(jù)逆轉換單元,用于將所述待處理的元數(shù)據(jù)中的所述第二目標數(shù)據(jù)轉換為所述第一目標數(shù)據(jù),得到待處理的元數(shù)據(jù)對應的常規(guī)元數(shù)據(jù);
文件讀取單元,用于依據(jù)所述常規(guī)元數(shù)據(jù)進行文件讀取。
本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。對于實施例公開的裝置而言,由于其與實施例公開的方法相對應,所以描述的比較簡單,相關之處參見方法部分說明即可。
對所公開的實施例的上述說明,使本領域專業(yè)技術人員能夠實現(xiàn)或使用本發(fā)明。對這些實施例的多種修改對本領域的專業(yè)技術人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。