儲(chǔ)單元中的文件時(shí),開始在第一容器存儲(chǔ)單元中建立所述文件的副本; 檢測(cè)到所述第一容器中的應(yīng)用對(duì)所述文件進(jìn)行寫操作時(shí),獲取所述文件的更新數(shù)據(jù),根據(jù)所述文件的更新數(shù)據(jù)構(gòu)建并保存數(shù)據(jù)項(xiàng); 檢測(cè)到所述文件的副本建立完成時(shí),從所述數(shù)據(jù)項(xiàng)中獲取所述文件的更新數(shù)據(jù),將所述文件的更新數(shù)據(jù)同步到所述文件的副本中。
14.根據(jù)權(quán)利要求13所述的方法,其特征在于,還包括: 同步操作完成后,如果所述第一容器中的應(yīng)用對(duì)所述文件繼續(xù)進(jìn)行寫操作時(shí),將文件操作對(duì)象切換到所述文件的副本,后續(xù)對(duì)所述文件的更新數(shù)據(jù)直接寫入所述文件的副本中。
15.根據(jù)權(quán)利要求13或14所述的方法,其特征在于,所述獲取所述文件的更新數(shù)據(jù),根據(jù)所述文件的更新數(shù)據(jù)構(gòu)建并保存數(shù)據(jù)項(xiàng)包括: 從所述第一容器的內(nèi)存中讀取所述文件的更新數(shù)據(jù),將所述文件的更新數(shù)據(jù)及其數(shù)據(jù)控制信息,以及對(duì)應(yīng)的Base存儲(chǔ)單元中的源數(shù)據(jù)和所述寫操作信息封裝為一個(gè)數(shù)據(jù)項(xiàng),將所述數(shù)據(jù)項(xiàng)保存在所述第一容器存儲(chǔ)單元的一個(gè)存儲(chǔ)文件中。
16.根據(jù)權(quán)利要求13或14所述的方法,其特征在于,所述從所述數(shù)據(jù)項(xiàng)中獲取所述文件的更新數(shù)據(jù),將所述文件的更新數(shù)據(jù)同步到所述文件的副本中包括: 讀取所述數(shù)據(jù)項(xiàng)信息,將每一個(gè)數(shù)據(jù)項(xiàng)都掛到一個(gè)總的處理隊(duì)列中; 依次將所述處理隊(duì)列中每個(gè)數(shù)據(jù)項(xiàng)中記錄的所述文件的更新數(shù)據(jù),按照記錄的所述寫操作信息,同步到所述文件的副本中。
17.—種數(shù)據(jù)存儲(chǔ)方法,其特征在于,用于計(jì)算機(jī)集群系統(tǒng),所述計(jì)算機(jī)集群系統(tǒng)包括多個(gè)計(jì)算節(jié)點(diǎn)和存儲(chǔ)節(jié)點(diǎn)以及存儲(chǔ)管理節(jié)點(diǎn),所述多個(gè)計(jì)算節(jié)點(diǎn)中的每一個(gè)計(jì)算節(jié)點(diǎn)上運(yùn)行多個(gè)容器,所述存儲(chǔ)節(jié)點(diǎn)包括基礎(chǔ)Base存儲(chǔ)單元和多個(gè)容器存儲(chǔ)單元,所述多個(gè)容器存儲(chǔ)單元分別從屬于所述多個(gè)計(jì)算節(jié)點(diǎn)上運(yùn)行的多個(gè)容器,所述管理存儲(chǔ)節(jié)點(diǎn)用于管理所述存儲(chǔ)節(jié)點(diǎn),所述多個(gè)計(jì)算節(jié)點(diǎn)包括第一計(jì)算節(jié)點(diǎn),所述第一計(jì)算節(jié)點(diǎn)上運(yùn)行有第一容器,所述多個(gè)容器存儲(chǔ)單元包括從屬于所述第一容器的第一容器存儲(chǔ)單元;所述方法包括: 第一計(jì)算節(jié)點(diǎn)檢測(cè)到第一容器中的應(yīng)用通過可寫方式打開保存在Base存儲(chǔ)單元中的文件時(shí),發(fā)送副本建立通知給所述存儲(chǔ)管理節(jié)點(diǎn),以便所述存儲(chǔ)管理節(jié)點(diǎn)開始在所述存儲(chǔ)節(jié)點(diǎn)的第一容器存儲(chǔ)單元中建立所述文件的副本; 所述第一計(jì)算節(jié)點(diǎn)檢測(cè)到所述第一容器中的應(yīng)用對(duì)所述文件進(jìn)行寫操作時(shí),獲取所述文件的更新數(shù)據(jù),根據(jù)所述文件的更新數(shù)據(jù)構(gòu)建并保存數(shù)據(jù)項(xiàng),以便所述存儲(chǔ)管理節(jié)點(diǎn)檢測(cè)到所述文件的副本建立完成時(shí),從所述數(shù)據(jù)項(xiàng)中獲取所述文件的更新數(shù)據(jù),將所述文件的更新數(shù)據(jù)同步到所述文件的副本中。
18.根據(jù)權(quán)利要求17所述的方法,其特征在于,還包括: 所述第一計(jì)算節(jié)點(diǎn)接收到所述存儲(chǔ)管理節(jié)點(diǎn)在所述同步操作完成后發(fā)送的切換通知后,如果所述第一容器中的應(yīng)用對(duì)所述文件繼續(xù)進(jìn)行寫操作時(shí),將文件操作對(duì)象切換到所述文件的副本,后續(xù)對(duì)所述文件的更新數(shù)據(jù)直接寫入所述文件的副本中。
19.根據(jù)權(quán)利要求17或18所述的方法,其特征在于,所述獲取所述文件的更新數(shù)據(jù),根據(jù)所述文件的更新數(shù)據(jù)構(gòu)建并保存數(shù)據(jù)項(xiàng)包括: 從所述第一容器的內(nèi)存中讀取所述文件的更新數(shù)據(jù),將所述文件的更新數(shù)據(jù)及其數(shù)據(jù)控制信息,以及對(duì)應(yīng)的Base存儲(chǔ)單元中的源數(shù)據(jù)和所述寫操作信息封裝為一個(gè)數(shù)據(jù)項(xiàng),將所述數(shù)據(jù)項(xiàng)保存在所述第一容器存儲(chǔ)單元的一個(gè)存儲(chǔ)文件中。
20.—種數(shù)據(jù)存儲(chǔ)方法,其特征在于,用于計(jì)算機(jī)集群系統(tǒng),所述計(jì)算機(jī)集群系統(tǒng)包括多個(gè)計(jì)算節(jié)點(diǎn)和存儲(chǔ)節(jié)點(diǎn)以及存儲(chǔ)管理節(jié)點(diǎn),所述多個(gè)計(jì)算節(jié)點(diǎn)中的每一個(gè)計(jì)算節(jié)點(diǎn)上運(yùn)行多個(gè)容器,所述存儲(chǔ)節(jié)點(diǎn)包括基礎(chǔ)Base存儲(chǔ)單元和多個(gè)容器存儲(chǔ)單元,所述多個(gè)容器存儲(chǔ)單元分別從屬于所述多個(gè)計(jì)算節(jié)點(diǎn)上運(yùn)行的多個(gè)容器,所述管理存儲(chǔ)節(jié)點(diǎn)用于管理所述存儲(chǔ)節(jié)點(diǎn),所述多個(gè)計(jì)算節(jié)點(diǎn)包括第一計(jì)算節(jié)點(diǎn),所述第一計(jì)算節(jié)點(diǎn)上運(yùn)行有第一容器,所述多個(gè)容器存儲(chǔ)單元包括從屬于所述第一容器的第一容器存儲(chǔ)單元;所述方法包括: 所述存儲(chǔ)管理節(jié)點(diǎn)接收所述第一計(jì)算節(jié)點(diǎn)發(fā)送的副本建立通知,所述文件的副本建立通知是所述第一計(jì)算節(jié)點(diǎn)檢測(cè)到第一容器中的應(yīng)用通過可寫方式打開保存在Base存儲(chǔ)單元中的文件時(shí)發(fā)出的; 所述存儲(chǔ)管理節(jié)點(diǎn)開始在所述存儲(chǔ)節(jié)點(diǎn)的第一容器存儲(chǔ)單元中建立所述文件的副本; 所述存儲(chǔ)管理節(jié)點(diǎn)檢測(cè)到所述文件的副本建立完成時(shí),從所述數(shù)據(jù)項(xiàng)中獲取所述文件的更新數(shù)據(jù),將所述文件的更新數(shù)據(jù)同步到所述文件的副本中,所述數(shù)據(jù)項(xiàng)是所述第一計(jì)算節(jié)點(diǎn)檢測(cè)到所述第一容器中的應(yīng)用對(duì)所述文件進(jìn)行寫操作時(shí),獲取所述文件的更新數(shù)據(jù),根據(jù)所述文件的更新數(shù)據(jù)構(gòu)建的。
21.根據(jù)權(quán)利要求20所述的方法,其特征在于,還包括: 所述存儲(chǔ)管理節(jié)點(diǎn)在所述同步操作完成后,發(fā)送切換通知給所述第一計(jì)算節(jié)點(diǎn),以指示所述第一計(jì)算節(jié)點(diǎn)在所述第一容器中的應(yīng)用對(duì)所述文件繼續(xù)進(jìn)行寫操作時(shí),將文件操作對(duì)象切換到所述文件的副本,后續(xù)對(duì)所述文件的更新數(shù)據(jù)直接寫入所述文件的副本中。
22.根據(jù)權(quán)利要求20或21所述的方法,其特征在于,所述從所述數(shù)據(jù)項(xiàng)中獲取所述文件的更新數(shù)據(jù),將所述文件的更新數(shù)據(jù)同步到所述文件的副本中包括: 讀取所述數(shù)據(jù)項(xiàng)信息,將每一個(gè)數(shù)據(jù)項(xiàng)都掛到一個(gè)總的處理隊(duì)列中; 依次將所述處理隊(duì)列中每個(gè)數(shù)據(jù)項(xiàng)中記錄的所述文件的更新數(shù)據(jù),按照記錄的所述寫操作信息,同步到所述文件的副本中。
23.—種數(shù)據(jù)存儲(chǔ)裝置,其特征在于,用于計(jì)算機(jī)設(shè)備,所述計(jì)算機(jī)設(shè)備包括硬件層和運(yùn)行在硬件層上的宿主機(jī),所述宿主機(jī)中運(yùn)行多個(gè)容器,所述硬件層包括基礎(chǔ)Base存儲(chǔ)單元和多個(gè)容器存儲(chǔ)單元,所述多個(gè)容器存儲(chǔ)單元分別從屬于所述多個(gè)容器,所述多個(gè)容器包括第一容器,所述多個(gè)容器存儲(chǔ)單元包括從屬于所述第一容器的第一容器存儲(chǔ)單元;所述裝置包括: 副本建立單元,用于檢測(cè)到第一容器中的應(yīng)用通過可寫方式打開保存在Base存儲(chǔ)單元中的文件時(shí),開始在第一容器存儲(chǔ)單元中建立所述文件的副本; 數(shù)據(jù)項(xiàng)構(gòu)建單元,用于檢測(cè)到所述第一容器中的應(yīng)用對(duì)所述文件進(jìn)行寫操作時(shí),獲取所述文件的更新數(shù)據(jù),根據(jù)所述文件的更新數(shù)據(jù)構(gòu)建并保存數(shù)據(jù)項(xiàng); 數(shù)據(jù)同步單元,用于檢測(cè)到所述文件的副本建立完成時(shí),從所述數(shù)據(jù)項(xiàng)中獲取所述文件的更新數(shù)據(jù),將所述文件的更新數(shù)據(jù)同步到所述文件的副本中。
24.根據(jù)權(quán)利要求23所述的裝置,其特征在于,還包括: 寫入單元,用于在同步操作完成后,如果所述第一容器中的應(yīng)用對(duì)所述文件繼續(xù)進(jìn)行寫操作時(shí),將文件操作對(duì)象切換到所述文件的副本,后續(xù)對(duì)所述文件的更新數(shù)據(jù)直接寫入所述文件的副本中。
25.根據(jù)權(quán)利要求23或24所述的裝置,其特征在于, 所述數(shù)據(jù)項(xiàng)構(gòu)建單元,具體用于從所述第一容器的內(nèi)存中讀取所述文件的更新數(shù)據(jù),將所述文件的更新數(shù)據(jù)及其數(shù)據(jù)控制信息,以及對(duì)應(yīng)的Base存儲(chǔ)單元中的源數(shù)據(jù)和所述寫操作信息封裝為一個(gè)數(shù)據(jù)項(xiàng),將所述數(shù)據(jù)項(xiàng)保存在所述第一容器存儲(chǔ)單元的一個(gè)存儲(chǔ)文件中。
26.根據(jù)權(quán)利要求23或24所述的裝置,其特征在于, 所述數(shù)據(jù)同步單元,具體用于讀取所述數(shù)據(jù)項(xiàng)信息,將每一個(gè)數(shù)據(jù)項(xiàng)都掛到一個(gè)總的處理隊(duì)列中;依次將所述處理隊(duì)列中每個(gè)數(shù)據(jù)項(xiàng)中記錄的所述文件的更新數(shù)據(jù),按照記錄的所述寫操作信息,同步到所述文件的副本中。
27.—種數(shù)據(jù)存儲(chǔ)裝置,其特征在于,用于計(jì)算機(jī)集群系統(tǒng),所述計(jì)算機(jī)集群系統(tǒng)包括多個(gè)計(jì)算節(jié)點(diǎn)和存儲(chǔ)節(jié)點(diǎn)以及存儲(chǔ)管理節(jié)點(diǎn),所述多個(gè)計(jì)算節(jié)點(diǎn)中的每一個(gè)計(jì)算節(jié)點(diǎn)上運(yùn)行多個(gè)容器,所述存儲(chǔ)節(jié)點(diǎn)包括基礎(chǔ)Base存儲(chǔ)單元和多個(gè)容器存儲(chǔ)單元,所述多個(gè)容器存儲(chǔ)單元分別從屬于所述多個(gè)計(jì)算節(jié)點(diǎn)上運(yùn)行的多個(gè)容器,所述管理存儲(chǔ)節(jié)點(diǎn)用于管理所述存儲(chǔ)節(jié)點(diǎn),所述多個(gè)計(jì)算節(jié)點(diǎn)包括第一計(jì)算節(jié)點(diǎn),所述第一計(jì)算節(jié)點(diǎn)上運(yùn)行有第一容器,所述多個(gè)容器存儲(chǔ)單元包括從屬于所述第一容器的第一容器存儲(chǔ)單元; 所述數(shù)據(jù)存儲(chǔ)裝置部署于所述第一計(jì)算節(jié)點(diǎn),所述裝置包括: 發(fā)送單元,用于檢測(cè)到第一容器中的應(yīng)用通過可寫方式打開保存在Base存儲(chǔ)單元中的文件時(shí),發(fā)送副本建立通知給所述存儲(chǔ)管理節(jié)點(diǎn),以便所述存儲(chǔ)管理節(jié)點(diǎn)開始在所述存儲(chǔ)節(jié)點(diǎn)的第一容器存儲(chǔ)單元中建立所述文件的副本; 數(shù)據(jù)項(xiàng)構(gòu)建單元,用于檢測(cè)到所述第一容器中的應(yīng)用對(duì)所述文件進(jìn)行寫操作時(shí),獲取所述文件的更新數(shù)據(jù),根據(jù)所述文件的更新數(shù)據(jù)構(gòu)建并保存數(shù)據(jù)項(xiàng),以便所述存儲(chǔ)管理節(jié)點(diǎn)檢測(cè)到所述文件的副本建立完成時(shí),從所述數(shù)據(jù)項(xiàng)中獲取所述文件的更新數(shù)據(jù),將所述文件的更新數(shù)據(jù)同步到所述文件的副本中。
28.根據(jù)權(quán)利要求27所述的裝置,其特征在于,還包括: 接收單元,用于接收所述存儲(chǔ)管理節(jié)點(diǎn)在所述同步操作完成后發(fā)送的切換通知; 寫入單元,用于在所述接收單元接收到所述切換通知后,如果所述第一容器中的應(yīng)用對(duì)所述文件繼續(xù)進(jìn)行寫操作時(shí),將文件操作對(duì)象切換到所述文件的副本,后續(xù)對(duì)所述文件的更新數(shù)據(jù)直接寫入所述文件的副本中。
29.根據(jù)權(quán)利要求27或28所述的裝置,其特征在于, 所述數(shù)據(jù)項(xiàng)構(gòu)建單元,具體用于從所述第一容器的內(nèi)存中讀取所述文件的更新數(shù)據(jù),將所述文件的更新數(shù)據(jù)及其數(shù)據(jù)控制信息,以及對(duì)應(yīng)的Base存儲(chǔ)單元中的源數(shù)據(jù)和所述寫操作信息封裝為一個(gè)數(shù)據(jù)項(xiàng),將所述數(shù)據(jù)項(xiàng)保存在所述第一容器存儲(chǔ)單元的一個(gè)存儲(chǔ)文件中。
30.—種數(shù)據(jù)存儲(chǔ)裝置,其特征在于,用于計(jì)算機(jī)集群系統(tǒng),所述計(jì)算機(jī)集群系統(tǒng)包括多個(gè)計(jì)算節(jié)點(diǎn)和存儲(chǔ)節(jié)點(diǎn)以及存儲(chǔ)管理節(jié)點(diǎn),所述多個(gè)計(jì)算節(jié)點(diǎn)中的每一個(gè)計(jì)算節(jié)點(diǎn)上運(yùn)行多個(gè)容器,所述存儲(chǔ)節(jié)點(diǎn)包括基礎(chǔ)Base存儲(chǔ)單元和多個(gè)容器存儲(chǔ)單元,所述多個(gè)容器存儲(chǔ)單元分別從屬于所述多個(gè)計(jì)算節(jié)點(diǎn)上運(yùn)行的多個(gè)容器,所述管理存儲(chǔ)節(jié)點(diǎn)用于管理所述存儲(chǔ)節(jié)點(diǎn),所述多個(gè)計(jì)算節(jié)點(diǎn)包括第一計(jì)算節(jié)點(diǎn),所述第一計(jì)算節(jié)點(diǎn)上運(yùn)行有第一容器,所述多個(gè)容器存儲(chǔ)單元包括從屬于所述第一容器的第一容器存儲(chǔ)單元; 所述數(shù)據(jù)存儲(chǔ)裝置部署于所述存儲(chǔ)管理節(jié)點(diǎn),所述裝置包括: 接收單元,用于接收所述第一計(jì)算節(jié)點(diǎn)發(fā)送的副本建立通知,所述文件的副本建立通知是所述第一計(jì)算節(jié)點(diǎn)檢測(cè)到第一容器中的應(yīng)用通過可寫方式打開保存在Base存儲(chǔ)單元中的文件時(shí)發(fā)出的; 副本建立單元,用于在所述接收單元收到所述副本建立通知后,開始在所述存儲(chǔ)節(jié)點(diǎn)的第一容器存儲(chǔ)單元中建立所述文件的副本; 數(shù)據(jù)同步單元,用于檢測(cè)到所述文件的副本建立完成時(shí),從所述數(shù)據(jù)項(xiàng)中獲取所述文件的更新數(shù)據(jù),將所述文件的更新數(shù)據(jù)同步到所述文件的副本中,所述數(shù)據(jù)項(xiàng)是所述第一計(jì)算節(jié)點(diǎn)檢測(cè)到所述第一容器中的應(yīng)用對(duì)所述文件進(jìn)行寫操作時(shí),獲取所述文件的更新數(shù)據(jù),根據(jù)所述文件的更新數(shù)據(jù)構(gòu)建的。
31.根據(jù)權(quán)利要求30所述的裝置,其特征在于,還包括: 發(fā)送單元,用于在所述同步操作完成后,發(fā)送切換通知給所述第一計(jì)算節(jié)點(diǎn),以指示所述第一計(jì)算節(jié)點(diǎn)在所述第一容器中的應(yīng)用對(duì)所述文件繼續(xù)進(jìn)行寫操作時(shí),將文件操作對(duì)象切換到所述文件的副本,后續(xù)對(duì)所述文件的更新數(shù)據(jù)直接寫入所述文件的副本中。
32.根據(jù)權(quán)利要求30或31所述的裝置,其特征在于, 所述數(shù)據(jù)同步單元,具體用于讀取所述數(shù)據(jù)項(xiàng)信息,將每一個(gè)數(shù)據(jù)項(xiàng)都掛到一個(gè)總的處理隊(duì)列中;依次將所述處理隊(duì)列中每個(gè)數(shù)據(jù)項(xiàng)中記錄的所述文件的更新數(shù)據(jù),按照記錄的所述寫操作信息,同步到所述文件的副本中。
33.一種計(jì)算機(jī)設(shè)備,其特征在于,所述計(jì)算機(jī)設(shè)備包括處理器、存儲(chǔ)器、總線和通信接P ; 所述存儲(chǔ)器用于存儲(chǔ)計(jì)算機(jī)執(zhí)行指令,所述處理器與所述存儲(chǔ)器通過所述總線連接,當(dāng)所述計(jì)算機(jī)設(shè)備運(yùn)行時(shí),所述處理器執(zhí)行所述存儲(chǔ)器存儲(chǔ)的所述計(jì)算機(jī)執(zhí)行指令,以使所述計(jì)算機(jī)設(shè)備執(zhí)行如權(quán)利要求1至6中任一項(xiàng)所述的數(shù)據(jù)存儲(chǔ)方法,或者如權(quán)利要求13至16中任一項(xiàng)所述的數(shù)據(jù)存儲(chǔ)方法,或者如權(quán)利要求17至19中任一項(xiàng)所述的數(shù)據(jù)存儲(chǔ)方法。
【專利摘要】本發(fā)明公開了一種數(shù)據(jù)存儲(chǔ)方法、設(shè)備及系統(tǒng),以解決現(xiàn)有技術(shù)中容器對(duì)Base存儲(chǔ)中的文件執(zhí)行的寫時(shí)拷貝操作耗時(shí)長(zhǎng),效率低的缺陷。在本發(fā)明一些可行的實(shí)施方式中,方法包括:檢測(cè)到第一容器中的應(yīng)用通過可寫方式打開保存在Base存儲(chǔ)單元中的文件時(shí),開始在第一容器存儲(chǔ)單元中建立所述文件的副本;檢測(cè)到所述第一容器中的應(yīng)用對(duì)所述文件進(jìn)行寫操作時(shí),獲取所述文件的更新數(shù)據(jù),根據(jù)所述文件的更新數(shù)據(jù)構(gòu)建并保存數(shù)據(jù)項(xiàng);檢測(cè)到所述文件的副本建立完成時(shí),從所述數(shù)據(jù)項(xiàng)中獲取所述文件的更新數(shù)據(jù),將所述文件的更新數(shù)據(jù)同步到所述文件的副本中。
【IPC分類】G06F17-30
【公開號(hào)】CN104572941
【申請(qǐng)?zhí)枴緾N201410843613
【發(fā)明人】項(xiàng)銳
【申請(qǐng)人】杭州華為數(shù)字技術(shù)有限公司
【公開日】2015年4月29日
【申請(qǐng)日】2014年12月30日