1.一種元數(shù)據(jù)輸出方法,其特征在于,包括:
接收到對元數(shù)據(jù)服務(wù)(MetaServer)進(jìn)程的調(diào)用,所述調(diào)用包括元數(shù)據(jù)的輸出配置參數(shù);
通過分叉(fork)函數(shù)創(chuàng)建所述元數(shù)據(jù)服務(wù)進(jìn)程的子進(jìn)程;
控制所述子進(jìn)程根據(jù)所述輸出配置參數(shù)輸出相應(yīng)的元數(shù)據(jù)。
2.如權(quán)利要求1所述的方法,其特征在于,所述接收到對元數(shù)據(jù)服務(wù)進(jìn)程的調(diào)用,所述調(diào)用包括元數(shù)據(jù)的輸出配置參數(shù)包括:
接收到來自客戶端的對所述元數(shù)據(jù)服務(wù)進(jìn)程的遠(yuǎn)程過程調(diào)用。
3.如權(quán)利要求1所述的方法,其特征在于,所述接收到對元數(shù)據(jù)服務(wù)進(jìn)程的調(diào)用,所述調(diào)用包括元數(shù)據(jù)的輸出配置參數(shù)包括:
判斷上一次創(chuàng)建的所述元數(shù)據(jù)服務(wù)進(jìn)程的子進(jìn)程是否已完成執(zhí)行;
當(dāng)上一次創(chuàng)建的所述元數(shù)據(jù)服務(wù)進(jìn)程的子進(jìn)程已完成執(zhí)行時,保存所述輸出配置參數(shù)至本地配置文件;
當(dāng)上一次創(chuàng)建的所述元數(shù)據(jù)服務(wù)進(jìn)程的子進(jìn)程未完成執(zhí)行時,返回所述元數(shù)據(jù)服務(wù)進(jìn)程當(dāng)前繁忙的消息。
4.如權(quán)利要求1所述的方法,其特征在于,所述控制所述子進(jìn)程根據(jù)所述輸出配置參數(shù)輸出相應(yīng)的元數(shù)據(jù)包括:
控制所述子進(jìn)程根據(jù)所述輸出配置參數(shù)將輸出的元數(shù)據(jù)寫入本地內(nèi)存的臨時文件;
當(dāng)所述元數(shù)據(jù)輸出完畢時,標(biāo)記所述子進(jìn)程已完成執(zhí)行。
5.如權(quán)利要求1所述的方法,其特征在于,所述輸出配置參數(shù)包括多個輸出對象。
6.如權(quán)利要求1所述的方法,其特征在于,所述控制所述子進(jìn)程根據(jù)所述輸出配置參數(shù)輸出相應(yīng)的元數(shù)據(jù)包括:
判斷所述子進(jìn)程是否出現(xiàn)死鎖狀態(tài);
當(dāng)所述子進(jìn)程出現(xiàn)死鎖狀態(tài)時,殺死所述子進(jìn)程。
7.如權(quán)利要求4所述的方法,其特征在于,所述控制所述子進(jìn)程根據(jù)所述輸出配置參數(shù)將輸出的元數(shù)據(jù)寫入本地內(nèi)存的臨時文件之前,所述方法還包括:
判斷未上傳的所述臨時文件的個數(shù)是否達(dá)到預(yù)設(shè)閾值;
當(dāng)未上傳的所述臨時文件的個數(shù)達(dá)到預(yù)設(shè)閾值時,進(jìn)入等待狀態(tài),以等待未上傳的所述臨時文件被上傳完畢。
8.如權(quán)利要求1-7任一所述的方法,其特征在于,所述調(diào)用還包括元數(shù)據(jù)的上傳配置參數(shù);所述控制所述子進(jìn)程根據(jù)所述輸出配置參數(shù)輸出相應(yīng)的元數(shù)據(jù)的同時,所述方法還包括:
根據(jù)所述上傳配置參數(shù)將所述輸出的元數(shù)據(jù)上傳至分布式存儲系統(tǒng)。
9.如權(quán)利要求8所述的方法,其特征在于,所述上傳配置參數(shù)包括上傳速率和目標(biāo)目錄,其中,所述上傳速率用于控制上傳過程的數(shù)據(jù)傳輸速率;
所述根據(jù)所述上傳配置參數(shù)將所述輸出的元數(shù)據(jù)上傳至分布式存儲系統(tǒng)包括:
上傳所述輸出的元數(shù)據(jù)至所述分布式存儲系統(tǒng)的臨時目錄;
當(dāng)所述輸出的元數(shù)據(jù)被完整的上傳完畢時,將所述臨時目錄重命名為所述目標(biāo)目錄,并標(biāo)記本次任務(wù)已完成。
10.一種元數(shù)據(jù)輸出方法,其特征在于,包括:
配置元數(shù)據(jù)的輸出配置參數(shù);
向元數(shù)據(jù)服務(wù)器發(fā)起對元數(shù)據(jù)服務(wù)進(jìn)程的調(diào)用,以通過分叉函數(shù)創(chuàng)建出所述元數(shù)據(jù)服務(wù)進(jìn)程的子進(jìn)程,由所述子進(jìn)程根據(jù)所述輸出配置函數(shù)輸出相應(yīng)的元數(shù)據(jù)。
11.如權(quán)利要求10所述的方法,其特征在于,所述配置元數(shù)據(jù)的輸出配置參數(shù)的同時,所述方法還包括:
配置元數(shù)據(jù)的上傳配置參數(shù)。
12.如權(quán)利要求10或11所述的方法,其特征在于,所述方法還包括:
發(fā)送進(jìn)度查詢請求至元數(shù)據(jù)服務(wù)器;
接收所述元數(shù)據(jù)服務(wù)器返回的任務(wù)狀態(tài)信息。
13.一種元數(shù)據(jù)服務(wù)器,其特征在于,所述元數(shù)據(jù)服務(wù)器包括:
接收模塊,用于接收到對元數(shù)據(jù)服務(wù)(MetaServer)進(jìn)程的調(diào)用,所述調(diào)用包括元數(shù)據(jù)的輸出配置參數(shù);
創(chuàng)建模塊,用于通過分叉(fork)函數(shù)創(chuàng)建所述元數(shù)據(jù)服務(wù)進(jìn)程的子進(jìn)程;
處理模塊,用于控制所述子進(jìn)程根據(jù)所述輸出配置參數(shù)輸出相應(yīng)的元數(shù)據(jù)。
14.如權(quán)利要求13所述的元數(shù)據(jù)服務(wù)器,其特征在于,所述接收模塊包括:
接收子模塊,用于接收到來自客戶端的對所述元數(shù)據(jù)服務(wù)進(jìn)程的遠(yuǎn)程過程調(diào)用。
15.如權(quán)利要求13所述的元數(shù)據(jù)服務(wù)器,其特征在于,所述接收模塊包括:
第一判斷子模塊,用于判斷上一次創(chuàng)建的所述元數(shù)據(jù)服務(wù)進(jìn)程的子進(jìn)程是否已完成執(zhí)行;
保存子模塊,用于當(dāng)上一次創(chuàng)建的所述元數(shù)據(jù)服務(wù)進(jìn)程的子進(jìn)程已完成執(zhí)行時,保存所述輸出配置參數(shù)至本地配置文件;
返回子模塊,用于當(dāng)上一次創(chuàng)建的所述元數(shù)據(jù)服務(wù)進(jìn)程的子進(jìn)程未完成執(zhí)行時,返回所述元數(shù)據(jù)服務(wù)進(jìn)程當(dāng)前繁忙的消息。
16.如權(quán)利要求13所述的元數(shù)據(jù)服務(wù)器,其特征在于,所述處理模塊包括:
寫入子模塊,用于控制所述子進(jìn)程根據(jù)所述輸出配置參數(shù)將輸出的元數(shù)據(jù)寫入本地內(nèi)存的臨時文件;
標(biāo)記子模塊,用于當(dāng)所述元數(shù)據(jù)輸出完畢時,標(biāo)記所述子進(jìn)程已完成執(zhí)行。
17.如權(quán)利要求13所述的元數(shù)據(jù)服務(wù)器,其特征在于,所述輸出配置 參數(shù)包括多個輸出對象。
18.如權(quán)利要求13所述的元數(shù)據(jù)服務(wù)器,其特征在于,所述處理模塊包括:
第二判斷子模塊,用于判斷所述子進(jìn)程是否出現(xiàn)死鎖狀態(tài);
第一處理子模塊,用于當(dāng)所述子進(jìn)程出現(xiàn)死鎖狀態(tài)時,殺死所述子進(jìn)程。
19.如權(quán)利要求16所述的元數(shù)據(jù)服務(wù)器,其特征在于,所述處理模塊還包括:
第三判斷子模塊,用于判斷未上傳的所述臨時文件的個數(shù)是否達(dá)到預(yù)設(shè)閾值;
第二處理子模塊,用于當(dāng)未上傳的所述臨時文件的個數(shù)達(dá)到預(yù)設(shè)閾值時,進(jìn)入等待狀態(tài),以等待未上傳的所述臨時文件被上傳完畢。
20.如權(quán)利要求13-19任一所述的元數(shù)據(jù)服務(wù)器,其特征在于,所述調(diào)用還包括元數(shù)據(jù)的上傳配置參數(shù);所述元數(shù)據(jù)服務(wù)器還包括:
上傳模塊,用于根據(jù)所述上傳配置參數(shù)將所述輸出的元數(shù)據(jù)上傳至分布式存儲系統(tǒng)。
21.如權(quán)利要求20所述的元數(shù)據(jù)服務(wù)器,其特征在于,所述上傳配置參數(shù)包括上傳速率和目標(biāo)目錄,其中,所述上傳速率用于控制上傳過程的數(shù)據(jù)傳輸速率;
所述上傳模塊包括:
上傳子模塊,用于上傳所述輸出的元數(shù)據(jù)至所述分布式存儲系統(tǒng)的臨時目錄;
重命名子模塊,用于當(dāng)所述輸出的元數(shù)據(jù)被完整的上傳完畢時,將所述臨時目錄重命名為所述目標(biāo)目錄,并標(biāo)記本次任務(wù)已完成。
22.一種元數(shù)據(jù)輸出客戶端,其特征在于,包括:
第一配置模塊,用于配置元數(shù)據(jù)的輸出配置參數(shù);
調(diào)用模塊,用于向元數(shù)據(jù)服務(wù)器發(fā)起對元數(shù)據(jù)服務(wù)進(jìn)程的調(diào)用,以通過分叉函數(shù)創(chuàng)建出所述元數(shù)據(jù)服務(wù)進(jìn)程的子進(jìn)程,由所述子進(jìn)程根據(jù)所述輸出 配置函數(shù)輸出相應(yīng)的元數(shù)據(jù)。
23.如權(quán)利要求22所述的客戶端,其特征在于,所述客戶端還包括:
第二配置模塊,用于配置元數(shù)據(jù)的上傳配置參數(shù)。
24.如權(quán)利要求22或23所述的客戶端,其特征在于,所述客戶端還包括:
查詢模塊,用于發(fā)送進(jìn)度查詢請求至元數(shù)據(jù)服務(wù)器;
接收模塊,用于接收所述元數(shù)據(jù)服務(wù)器返回的任務(wù)狀態(tài)信息。