分布式文件系統(tǒng)的數(shù)據(jù)管理方法和裝置的制造方法
【技術領域】
[0001]本發(fā)明涉及計算機存儲技術領域,特別是涉及一種分布式文件系統(tǒng)的數(shù)據(jù)管理方法和裝置。
【背景技術】
[0002]分布式文件系統(tǒng)(Distributed File System)是指文件系統(tǒng)管理的物理資源不一定直接連接到本地節(jié)點上,而是散布在不同的服務器上,通過計算機網(wǎng)絡使各服務器互聯(lián),共同管理物理資源提供存儲服務。分布式文件系統(tǒng)對外提供的是文件系統(tǒng)掛載服務,用戶掛載分布式文件系統(tǒng)后,即可訪問文件系統(tǒng)中全局的文件,效果等同于訪問本地文件系統(tǒng)。
[0003]分布式文件系統(tǒng)底層采用本地文件系統(tǒng)存放數(shù)據(jù)文件,如果單個文件太大,將無法存放在某一個磁盤上,即文件大小將受限于本地文件系統(tǒng)的大小。傳統(tǒng)的解決方式有兩種:I)在客戶端對大文件分成固定大小的小文件,然后存放到不同的服務器上;2)在服務端將文件分成固定大小的小文件,存放在本地服務器上的各個本地文件系統(tǒng)中。方式I)由于將大文件分成小文件存放到不同的服務器上,如某一服務器出現(xiàn)故障,則該文件對應的某一區(qū)段將無法訪問;方式2)由于直接在服務器端內(nèi)部進行切塊,切分的分塊存放在本服務器上,文件分布的范圍不會擴大,實現(xiàn)簡單,但在讀寫并發(fā)上較弱。但是不管采用方式I)還是方式2),當集群大文件較多,容量使用較滿時,本地文件系統(tǒng)相應也較滿,如發(fā)生掉電重啟,本地文件系統(tǒng)進行文件系統(tǒng)校驗時間長。
【發(fā)明內(nèi)容】
[0004]基于此,有必要針對上述單個文件太大不能存放在某一個磁盤上且重啟時進行文件系統(tǒng)校驗時間長的問題,提供一種分布式文件系統(tǒng)的數(shù)據(jù)管理方法和裝置。
[0005]—種分布式文件系統(tǒng)的數(shù)據(jù)管理方法,該方法包括:接收文件創(chuàng)建請求,獲取請求創(chuàng)建的文件信息;根據(jù)文件信息確定文件的大小類別;若文件為小文件,則在本地文件系統(tǒng)中為小文件分配空間;若文件為大文件,則將大文件進行拆分,并為拆分后的子文件創(chuàng)建邏輯卷以存儲子文件,記錄子文件對應的邏輯卷信息,將記錄的邏輯卷信息存儲到本地文件系統(tǒng)。
[0006]在其中一個實施例中,根據(jù)文件信息確定文件的大小類別的步驟包括:根據(jù)文件信息識別文件的格式類型;根據(jù)預先建立的格式類型與大小類別之間的對應關系,確定文件的大小類別。
[0007]在其中一個實施例中,若文件為大文件,則將大文件進行拆分,為拆分后的子文件創(chuàng)建邏輯卷以存儲子文件,并記錄邏輯卷信息的步驟包括:若文件為大文件,則將大文件按預設的規(guī)則進行拆分;為拆分后的子文件分配卷組,并在卷組上為子文件創(chuàng)建邏輯卷以存儲子文件,以及記錄子文件對應的邏輯卷信息。
[0008]在其中一個實施例中,為拆分后的子文件分配卷組,并在卷組上為子文件創(chuàng)建邏輯卷以存儲子文件,以及記錄子文件對應的邏輯卷信息的步驟包括:在本地空間為拆分后的子文件分配卷組,并在卷組上為子文件創(chuàng)建邏輯卷,當本地空間不足時,則通過網(wǎng)絡間的進程為子文件進行遠程空間的申請,在遠程空間分配的卷組上為所述子文件創(chuàng)建邏輯卷,并記錄子文件對應的邏輯卷信息。
[0009]在其中一個實施例中,上述分布式文件系統(tǒng)的數(shù)據(jù)管理方法包括:接收刪除文件的請求;若請求刪除的文件為小文件,則直接在本地文件系統(tǒng)中刪除對應的文件;若請求刪除的文件為大文件,則查詢大文件包含的子文件對應的邏輯卷信息,解析邏輯卷信息,根據(jù)解析后的邏輯卷信息刪除對應的邏輯卷。
[0010]在其中一個實施例中,上述分布式文件系統(tǒng)的數(shù)據(jù)管理方法還包括:接收文件寫入請求;若請求寫入的文件為小文件,則直接將數(shù)據(jù)寫入本地文件系統(tǒng)中對應的文件中;若請求寫入的文件為大文件,則查詢大文件包含的子文件對應的邏輯卷信息,根據(jù)邏輯卷信息和寫入的偏移位置,確定與偏移位置對應的邏輯卷,將數(shù)據(jù)寫入到該邏輯卷,并更新本地文件系統(tǒng)中相應的邏輯卷信息。
[0011 ]在其中一個實施例中,上述分布式文件系統(tǒng)的數(shù)據(jù)管理方法還包括:接收文件讀取請求;若請求讀取的文件為小文件,則直接從本地文件系統(tǒng)中讀取對應的文件內(nèi)容;若請求讀取的文件為大文件,則查詢大文件包含的子文件對應的邏輯卷信息,根據(jù)邏輯卷信息和讀取的偏移位置,確定與偏移位置對應的邏輯卷,從邏輯卷中讀取相應的文件內(nèi)容,并更新本地文件系統(tǒng)中相應的邏輯卷信息。
[0012]—種分布式文件系統(tǒng)的數(shù)據(jù)管理裝置包括:接收模塊,用于接收文件創(chuàng)建請求,獲取請求創(chuàng)建的文件信息;確定模塊,用于根據(jù)文件信息確定文件的大小類別;分配模塊,用于若文件為小文件,則在本地文件系統(tǒng)中為小文件分配空間,若文件為大文件,則將大文件進行拆分,并為拆分后的子文件創(chuàng)建邏輯卷以存儲子文件,記錄子文件對應的邏輯卷信息,將記錄的邏輯卷信息存儲到本地文件系統(tǒng)。
[0013]在其中一個實施例中,確定模塊包括:識別模塊,用于根據(jù)文件信息識別文件的格式類型;大小確定模塊,用于根據(jù)預先建立的格式類型與大小類別之間的對應關系,確定文件的大小類別。
[0014]在其中一個實施例中,分配模塊還用于若文件為大文件,則將大文件按預設的規(guī)則進行拆分,為拆分后的子文件分配卷組,并在卷組上為子文件創(chuàng)建邏輯卷以存儲子文件,以及記錄子文件對應的邏輯卷信息。
[0015]在其中一個實施例中,分配模塊還用于在本地空間為拆分后的子文件分配卷組,并在所述卷組上為所述子文件創(chuàng)建邏輯卷,當本地空間不足時,則通過網(wǎng)絡間的進程為子文件進行遠程空間的申請,在遠程空間分配的卷組上為所述子文件創(chuàng)建邏輯卷,并記錄子文件對應的邏輯卷信息。
[0016]在其中一個實施例中,上述分布式文件系統(tǒng)數(shù)據(jù)管理裝置還包括:請求刪除模塊,用于接收客戶端發(fā)送的刪除文件的請求;刪除模塊,用于若請求刪除的文件為小文件,則直接在本地文件系統(tǒng)中刪除對應的文件,若請求刪除的文件為大文件,則查詢大文件包含的子文件對應的邏輯卷信息,解析邏輯卷信息,根據(jù)解析后的邏輯卷信息刪除對應的邏輯卷。
[0017]在其中一個實施例中,上述分布式文件系統(tǒng)數(shù)據(jù)管理裝置還包括:請求寫入模塊,用于接收文件寫入請求;寫入模塊,用于若請求寫入的文件為小文件,則直接將數(shù)據(jù)寫入本地文件系統(tǒng)中對應的文件中,若請求寫入的文件為大文件,則查詢文件對應的邏輯卷信息,根據(jù)邏輯卷信息和寫入的偏移位置,確定與偏移位置對應的邏輯卷,將數(shù)據(jù)寫入到邏輯卷,并更新本地文件系統(tǒng)中相應的邏輯卷信息。
[0018]在其中一個實施例中,上述分布式文件系統(tǒng)的數(shù)據(jù)管理裝置還包括:讀取請求模塊,用于接收文件讀取請求;讀取模塊,用于若請求讀取的文件為小文件,則直接從本地文件系統(tǒng)中讀取對應的文件內(nèi)容,若請求讀取的文件為大文件,則查詢大文件對應的邏輯卷信息,根據(jù)邏輯卷信息和讀取的偏移位置,確定與偏移位置對應的邏輯卷,從邏輯卷中讀取相應的文件內(nèi)容,并更新本地文件系統(tǒng)中相應的邏輯卷信息。
[0019]上述分布式文件系統(tǒng)的數(shù)據(jù)管理方法和裝置,通過接收文件創(chuàng)建請求,獲取請求創(chuàng)建的文件信息,根據(jù)文件信息確定文件的大小類別,若文件為小文件,則在本地文件系統(tǒng)中為小文件分配空間;若文件為大文件,則將大文件進行拆分,并為拆分后的子文件創(chuàng)建邏輯卷以存儲子文件,記錄子文件對應的邏輯卷信息,將記錄的邏輯卷信息存儲到本地文件系統(tǒng)。也就是說,只有當文件為小文件時,才將文件存儲到本地文件系統(tǒng)中,這樣就避免了單個文件突破單個本地文件系統(tǒng)的問題,同時,將大文件進行拆分,將子文件存儲在邏輯卷中,只將記錄的邏輯卷信息即大文件的元數(shù)據(jù)信息存儲在本地文件系統(tǒng)中,需要重啟時,本地文件系統(tǒng)自檢的數(shù)據(jù)量較少,從而縮短了校驗的時間。
【附圖說明】
[0020]圖1為一個實施例中分布式文件系統(tǒng)的數(shù)據(jù)管理方法流程圖;
[0021 ]圖2為一個實施例中分布式文件系統(tǒng)的數(shù)據(jù)管理的示意圖;
[0022]圖3為一個實施例中確定大小類別的方法流程圖;
[0023]圖4為一個實施例中大文件管理的方法流程圖;
[0024]圖5為另一個實施例中分布式文件系統(tǒng)的數(shù)據(jù)管理的示意圖;
[0025]圖6為一個實施例中分布式文件系統(tǒng)中刪除文件的方法流程圖;
[0026]圖7為一個實施例中分布式文件系統(tǒng)中寫入文件的方法流程圖;
[0027]圖8為一個實施例中分布式文件系統(tǒng)中讀取文件的方法流程圖;
[0028]圖9為一個實施例中分布式文件系統(tǒng)的數(shù)據(jù)管理裝置的結構框圖;
[0029]圖10為一個實施