1.一種小文件寫聚合方法,其特征在于,所述小文件寫聚合方法包括以下步驟:
客戶端發(fā)起小文件的寫請求;
元數(shù)據(jù)服務(wù)器為所述小文件分配全局唯一編號ino和存儲區(qū)域唯一編號ono;
所述客戶端根據(jù)所述ino和所述ono計(jì)算所述小文件在對象存儲設(shè)備OSD中的聚合位置oid;
所述對象存儲設(shè)備OSD根據(jù)所述oid將所述小文件聚合。
2.如權(quán)利要求1所述的小文件寫聚合方法,其特征在于,所述oid的計(jì)算公式為:oid=((ino+ono+1)<<32)|1。
3.如權(quán)利要求1所述的小文件寫聚合方法,其特征在于,所述元數(shù)據(jù)服務(wù)器為所述小文件分配全局唯一編號ino和存儲區(qū)域唯一編號ono的步驟包括:
元數(shù)據(jù)服務(wù)器按時(shí)序遞增的分配原則為所述小文件分配全局唯一編號ino;
將預(yù)判為在所述聚合位置oid中聚合的N個(gè)ino連續(xù)的所述小文件分配存儲區(qū)域唯一編號ono。
4.如權(quán)利要求1所述的小文件寫聚合方法,其特征在于,所述對象存儲設(shè)備OSD根據(jù)所述oid將小文件聚合的步驟包括:
所述對象存儲設(shè)備OSD接收所述客戶端發(fā)送的小文件寫聚合請求;
所述對象存儲設(shè)備OSD根據(jù)所述小文件寫聚合請求逐個(gè)檢測N個(gè)ino連續(xù)小文件的ono,在所述小文件的ono為負(fù)數(shù)時(shí),將所述小文件寫入編號為oid的對象中的第-ono個(gè)區(qū)域中。
5.一種小文件寫聚合系統(tǒng),其特征在于,所述小文件寫聚合系統(tǒng)包括: 客戶端、元數(shù)據(jù)服務(wù)器及對象存儲設(shè)備OSD,其中,
所述客戶端,用于發(fā)起小文件的寫請求;
所述元數(shù)據(jù)服務(wù)器,用于為所述小文件分配全局唯一編號ino和存儲區(qū)域唯一編號ono;
所述客戶端,還用于根據(jù)所述ino和所述ono計(jì)算所述小文件在所述對象存儲設(shè)備OSD中的聚合位置oid;
所述對象存儲設(shè)備OSD,用于根據(jù)所述oid將所述小文件聚合。
6.如權(quán)利要求5所述的小文件寫聚合系統(tǒng),其特征在于,所述oid的計(jì)算公式為:oid=((ino+ono+1)<<32)|1。
7.如權(quán)利要求5所述的小文件寫聚合系統(tǒng),其特征在于,所述元數(shù)據(jù)服務(wù)器還用于:
按時(shí)序遞增的分配原則為所述小文件分配全局唯一編號ino;
將預(yù)判為在所述聚合位置oid中聚合的N個(gè)ino連續(xù)的所述小文件分配存儲區(qū)域唯一編號ono。
8.如權(quán)利要求5所述的小文件寫聚合系統(tǒng),其特征在于,所述對象存儲設(shè)備OSD還用于:
接收所述客戶端發(fā)送的小文件寫聚合請求;
根據(jù)所述小文件寫聚合請求逐個(gè)檢測N個(gè)ino連續(xù)小文件的ono,在所述小文件的ono為負(fù)數(shù)時(shí),將所述小文件寫入編號為oid的對象中的第-ono個(gè)區(qū)域中。
9.一種小文件讀聚合方法,其特征在于,所述小文件讀聚合方法包括以下步驟:
客戶端發(fā)起小文件的讀請求;
從元數(shù)據(jù)服務(wù)器獲取所述小文件的全局唯一編號ino和存儲區(qū)域唯一編號ono;
根據(jù)所述ino和所述ono計(jì)算所述小文件在對象存儲設(shè)備OSD中的聚合 位置oid;
根據(jù)所述oid從所述對象存儲設(shè)備OSD中獲取所述小文件。
10.如權(quán)利要求9所述的小文件讀聚合方法,其特征在于,所述oid的計(jì)算公式為:oid=((ino+ono+1)<<32)|1。
11.如權(quán)利要求9所述的小文件讀聚合方法,其特征在于,在所述客戶端發(fā)起小文件的讀請求的步驟之后,還包括:
檢測所述客戶端的緩存中是否存在所述小文件;
在所述客戶端的緩存中存在所述小文件時(shí),則獲取所述小文件;
在所述客戶端的緩存中未存在所述小文件時(shí),則執(zhí)行所述從元數(shù)據(jù)服務(wù)器獲取所述小文件的全局唯一編號ino和存儲區(qū)域唯一編號ono的步驟。
12.如權(quán)利要求9所述的小文件讀聚合方法,其特征在于,所述根據(jù)所述oid獲取所述小文件的步驟包括:
向所述對象存儲設(shè)備OSD發(fā)送讀聚合請求;
接收所述對象存儲設(shè)備OSD發(fā)送的所述oid中所有的小文件并保存;
獲取所述ono的絕對值對應(yīng)區(qū)域中的小文件。
13.一種客戶端,其特征在于,所述客戶端包括:
讀請求模塊,用于發(fā)起小文件的讀請求;
編號獲取模塊,用于從元數(shù)據(jù)服務(wù)器獲取所述小文件的全局唯一編號ino和存儲區(qū)域唯一編號ono;
計(jì)算模塊,用于根據(jù)所述ino和所述ono計(jì)算所述小文件在對象存儲設(shè)備OSD中的聚合位置oid;
小文件獲取模塊,用于根據(jù)所述oid從所述對象存儲設(shè)備OSD中獲取所述小文件。
14.如權(quán)利要求13所述的客戶端,其特征在于,所述oid的計(jì)算公式為:oid=((ino+ono+1)<<32)|1。
15.如權(quán)利要求13所述的客戶端,其特征在于,所述客戶端還包括:
檢測模塊,用于檢測所述客戶端的緩存中是否存在所述小文件;
所述小文件獲取模塊,還用于在所述客戶端的緩存中存在所述小文件時(shí),則獲取所述小文件;
所述編號獲取模塊,還用于在所述客戶端的緩存中未存在所述小文件時(shí),則從元數(shù)據(jù)服務(wù)器獲取所述小文件的全局唯一編號ino和存儲區(qū)域唯一編號ono。
16.如權(quán)利要求13所述的客戶端,其特征在于,所述小文件獲取模塊包括:
發(fā)送單元,用于向所述對象存儲設(shè)備OSD發(fā)送讀聚合請求;
接收單元,用于接收所述對象存儲設(shè)備OSD發(fā)送的所述oid中所有的小文件并保存;
獲取單元,用于獲取所述ono的絕對值對應(yīng)區(qū)域中的小文件。