[0110]請參考圖8b,本發(fā)明一些實施例中,所述方法還可以包括:
[0111]304、同步操作完成后,如果所述第一容器中的應(yīng)用對所述文件繼續(xù)進行寫操作時,將文件操作對象切換到所述文件的副本,后續(xù)對所述文件的更新數(shù)據(jù)直接寫入所述文件的副本中。
[0112]本發(fā)明一些實施例中,所述獲取所述文件的更新數(shù)據(jù),根據(jù)所述文件的更新數(shù)據(jù)構(gòu)建并保存數(shù)據(jù)項可包括:從所述第一容器的內(nèi)存中讀取所述文件的更新數(shù)據(jù),將所述文件的更新數(shù)據(jù)及其數(shù)據(jù)控制信息,以及對應(yīng)的Base存儲單元中的源數(shù)據(jù)和所述寫操作信息封裝為一個數(shù)據(jù)項,將所述數(shù)據(jù)項保存在所述第一容器存儲單元的一個存儲文件中。
[0113]本發(fā)明一些實施例中,所述從所述數(shù)據(jù)項中獲取所述文件的更新數(shù)據(jù),將所述文件的更新數(shù)據(jù)同步到所述文件的副本中可包括:讀取所述數(shù)據(jù)項信息,將每一個數(shù)據(jù)項都掛到一個總的處理隊列中;依次將所述處理隊列中每個數(shù)據(jù)項中記錄的所述文件的更新數(shù)據(jù),按照記錄的所述寫操作信息,同步到所述文件的副本中。
[0114]由上可見,本發(fā)明實施例提供了一種數(shù)據(jù)存儲方法,該方法通過采用將寫操作和建立副本分開同時進行,對Base存儲單元的文件進行寫操作時,將更新數(shù)據(jù)記錄到數(shù)據(jù)項中,等所述文件的副本建立完成后,在從數(shù)據(jù)項中將更新數(shù)據(jù)同步到文件中的技術(shù)方案,取得了以下技術(shù)效果:由于寫操作與建立副本分開同時執(zhí)行,因而可實時進行寫操作,而不必等待文件副本建立完畢,這就大大加快了對容器中應(yīng)用的數(shù)據(jù)操作的響應(yīng)速度,可有效提高數(shù)據(jù)存儲效率,以及提高容器性能。
[0115]請參考圖9a,本發(fā)明實施例還提供一種數(shù)據(jù)存儲方法,用于計算機集群系統(tǒng)。所述計算機集群系統(tǒng)可以是如圖7所示的計算機集群系統(tǒng)。所述計算機集群系統(tǒng)的多個計算節(jié)點包括第一計算節(jié)點,所述第一計算節(jié)點上運行有第一容器,所述多個容器存儲單元包括從屬于所述第一容器的第一容器存儲單元。所述第一計算節(jié)點是所述計算機集群系統(tǒng)中的任一個計算節(jié)點,所述第一容器是所述第一計算節(jié)點中的任一個容器。
[0116]所述數(shù)據(jù)存儲方法可包括:
[0117]401、第一計算節(jié)點檢測到第一容器中的應(yīng)用通過可寫方式打開保存在Base存儲單元中的文件時,發(fā)送副本建立通知給所述存儲管理節(jié)點;
[0118]以便所述存儲管理節(jié)點開始在所述存儲節(jié)點的第一容器存儲單元中建立所述文件的副本。
[0119]402、第一計算節(jié)點檢測到所述第一容器中的應(yīng)用對所述文件進行寫操作時,獲取所述文件的更新數(shù)據(jù),根據(jù)所述文件的更新數(shù)據(jù)構(gòu)建并保存數(shù)據(jù)項;
[0120]以便存儲管理節(jié)點檢測到所述文件的副本建立完成時,從所述數(shù)據(jù)項中獲取所述文件的更新數(shù)據(jù),將所述文件的更新數(shù)據(jù)同步到所述文件的副本中。
[0121]請參考圖9b,本發(fā)明一些實施例中,所述方法還可以包括:
[0122]403、所述第一計算節(jié)點接收到所述存儲管理節(jié)點在所述同步操作完成后發(fā)送的切換通知后,如果所述第一容器中的應(yīng)用對所述文件繼續(xù)進行寫操作時,將文件操作對象切換到所述文件的副本,后續(xù)對所述文件的更新數(shù)據(jù)直接寫入所述文件的副本中。
[0123]本發(fā)明一些實施例中,所述獲取所述文件的更新數(shù)據(jù),根據(jù)所述文件的更新數(shù)據(jù)構(gòu)建并保存數(shù)據(jù)項可包括:從所述第一容器的內(nèi)存中讀取所述文件的更新數(shù)據(jù),將所述文件的更新數(shù)據(jù)及其數(shù)據(jù)控制信息,以及對應(yīng)的Base存儲單元中的源數(shù)據(jù)和所述寫操作信息封裝為一個數(shù)據(jù)項,將所述數(shù)據(jù)項保存在所述第一容器存儲單元的一個存儲文件中。
[0124]由上可見,本發(fā)明實施例提供了一種數(shù)據(jù)存儲方法,該方法通過采用將寫操作和建立副本分開同時進行,對Base存儲單元的文件進行寫操作時,將更新數(shù)據(jù)記錄到數(shù)據(jù)項中,等所述文件的副本建立完成后,再從數(shù)據(jù)項中讀出更新數(shù)據(jù)并將更新數(shù)據(jù)同步到文件中的技術(shù)方案,取得了以下技術(shù)效果:由于寫操作與建立副本分開同時執(zhí)行,因而可實時進行寫操作,而不必等待文件副本建立完畢,這就大大加快了對容器中應(yīng)用的數(shù)據(jù)操作的響應(yīng)速度,可有效提高數(shù)據(jù)存儲效率,以及提高容器性能。
[0125]請參考圖10a,本發(fā)明實施例還提供另一種數(shù)據(jù)存儲方法,用于計算機集群系統(tǒng)。所述計算機集群系統(tǒng)可以是如圖7所示的計算機集群系統(tǒng)。所述計算機集群系統(tǒng)的多個計算節(jié)點包括第一計算節(jié)點,所述第一計算節(jié)點上運行有第一容器,所述多個容器存儲單元包括從屬于所述第一容器的第一容器存儲單元。所述第一計算節(jié)點是所述計算機集群系統(tǒng)中的任一個計算節(jié)點,所述第一容器是所述第一計算節(jié)點中的任一個容器。
[0126]所述數(shù)據(jù)存儲方法可包括:
[0127]501、存儲管理節(jié)點接收所述第一計算節(jié)點發(fā)送的副本建立通知,所述文件的副本建立通知是所述第一計算節(jié)點檢測到第一容器中的應(yīng)用通過可寫方式打開保存在Base存儲單元中的文件時發(fā)出的;
[0128]502、存儲管理節(jié)點開始在所述存儲節(jié)點的第一容器存儲單元中建立所述文件的副本;
[0129]503、存儲管理節(jié)點檢測到所述文件的副本建立完成時,從所述數(shù)據(jù)項中獲取所述文件的更新數(shù)據(jù),將所述文件的更新數(shù)據(jù)同步到所述文件的副本中;
[0130]所述數(shù)據(jù)項是所述第一計算節(jié)點檢測到所述第一容器中的應(yīng)用對所述文件進行寫操作時,獲取所述文件的更新數(shù)據(jù),根據(jù)所述文件的更新數(shù)據(jù)構(gòu)建的。
[0131]請參考圖10b,本發(fā)明一些實施例中,所述方法還可以包括:
[0132]504、存儲管理節(jié)點在所述同步操作完成后,發(fā)送切換通知給所述第一計算節(jié)點,以指示所述第一計算節(jié)點在所述第一容器中的應(yīng)用對所述文件繼續(xù)進行寫操作時,將文件操作對象切換到所述文件的副本,后續(xù)對所述文件的更新數(shù)據(jù)直接寫入所述文件的副本中。
[0133]本發(fā)明一些實施例中,所述從所述數(shù)據(jù)項中獲取所述文件的更新數(shù)據(jù),將所述文件的更新數(shù)據(jù)同步到所述文件的副本中可包括:讀取所述數(shù)據(jù)項信息,將每一個數(shù)據(jù)項都掛到一個總的處理隊列中;依次將所述處理隊列中每個數(shù)據(jù)項中記錄的所述文件的更新數(shù)據(jù),按照記錄的所述寫操作信息,同步到所述文件的副本中。
[0134]由上可見,本發(fā)明實施例提供了一種數(shù)據(jù)存儲方法,該方法通過采用將寫操作和建立副本分開同時進行,對Base存儲單元的文件進行寫操作時,將更新數(shù)據(jù)記錄到數(shù)據(jù)項中,等所述文件的副本建立完成后,在從數(shù)據(jù)項中將更新數(shù)據(jù)同步到文件中的技術(shù)方案,取得了以下技術(shù)效果:由于寫操作與建立副本分開同時執(zhí)行,因而可實時進行寫操作,而不必等待文件副本建立完畢,這就大大加快了對容器中應(yīng)用的數(shù)據(jù)操作的響應(yīng)速度,可有效提高數(shù)據(jù)存儲效率,以及提高容器性能。
[0135]為了更好的實施本發(fā)明實施例的上述方案,下面還提供用于配合實施上述方案的相關(guān)裝置。
[0136]請參考圖11a,本發(fā)明實施例提供一種數(shù)據(jù)存儲裝置,用于計算機設(shè)備,所述計算機設(shè)備包括硬件層和運行在硬件層上的宿主機,所述宿主機中運行多個容器,所述硬件層包括基礎(chǔ)Base存儲單元和多個容器存儲單元,所述多個容器存儲單元分別從屬于所述多個容器,所述多個容器包括第一容器,所述多個容器存儲單元包括從屬于所述第一容器的第一容器存儲單元;
[0137]所述裝置可包括:
[0138]副本建立單元601,用于檢測到第一容器中的應(yīng)用通過可寫方式打開保存在Base存儲單元中的文件時,開始在第一容器存儲單元中建立所述文件的副本;
[0139]數(shù)據(jù)項構(gòu)建單元602,用于檢測到所述第一容器中的應(yīng)用對所述文件進行寫操作時,獲取所述文件的更新數(shù)據(jù),根據(jù)所述文件的更新數(shù)據(jù)構(gòu)建并保存數(shù)據(jù)項;
[0140]數(shù)據(jù)同步單元603,用于檢測到所述文件的副本建立完成時,從所述數(shù)據(jù)項中獲取所述文件的更新數(shù)據(jù),將所述文件的更新數(shù)據(jù)同步到所述文件的副本中。
[0141]請參考圖11b,本發(fā)明一些實施例中,所述裝置還可以包括:
[0142]寫入單元604,用于在同步操作完成后,如果所述第一容器中的應(yīng)用對所述文件繼續(xù)進行寫操作時,將文件操作對象切換到所述文件的副本,后續(xù)對所述文件的更新數(shù)據(jù)直接寫入所述文件的副本中。
[0143]本發(fā)明一些實施例中,所述數(shù)據(jù)項構(gòu)建單元602,可具體用于從所述第一容器的內(nèi)存中讀取所述文件的更新數(shù)據(jù),將所述文件的更新數(shù)據(jù)及其數(shù)據(jù)控制信息,以及對應(yīng)的Base存儲單元中的源數(shù)據(jù)和所述寫操作信息封裝為一個數(shù)據(jù)項,將所述數(shù)據(jù)項保存在所述第一容器存儲單元的一個存儲文件中。
[0144]本發(fā)明一些實施例中,所述數(shù)據(jù)同步單元603,可具體用于讀取所述數(shù)據(jù)項信息,將每一個數(shù)據(jù)項都掛到一個總的處理隊列中;依次將所述處理隊列中每個數(shù)據(jù)項中記錄的所述文件的更新數(shù)據(jù),按照記錄的所述寫操作信息,同步到所述文件的副本中。
[0145]可以理解,本發(fā)明實施例的數(shù)據(jù)存儲裝置的各個功能模塊的功能可根據(jù)上述方法實施例中的方法具體實現(xiàn),其具體實現(xiàn)過程可參照上述方法實施例中的相關(guān)描述,此處不再贅述。
[0146]由上可見,在本發(fā)明的一些可行的實施方式中,采用將寫操作和建立副本分開同時進行,對Base存儲單元的文件進行寫操作時,將更新數(shù)據(jù)記錄到數(shù)據(jù)項中,等所述文件的副本建立完成后,在從數(shù)據(jù)項中將更新數(shù)據(jù)同步到文件中的技術(shù)方案,取得了以下技術(shù)效果:由于寫操作與建立副本分開同時執(zhí)行,因而可實時進行寫操作,而不必等待文件副本建立完畢,這就大大加快了對容器中應(yīng)用的數(shù)據(jù)操作的響應(yīng)速度,可有效提高數(shù)據(jù)存儲效率,以及提高容器性能。
[0147]請參考圖12a,本發(fā)明實施例提供一種數(shù)據(jù)存儲裝置,用于計算機集群系統(tǒng),所述計算機集群系統(tǒng)包括多個計算節(jié)點和存儲節(jié)點以及存儲管理節(jié)點,所述多個計算節(jié)點中的每一個計算節(jié)點上運行多個容器,所述存儲節(jié)點包括基礎(chǔ)Base存儲單元和多個容器存儲單元,所述多個容器存儲單元分別從屬于所述多個計算節(jié)點上運行的多個容器,所述管理存儲節(jié)點用于管理所述存儲節(jié)點,所述多個計算節(jié)點包括第一計算節(jié)點,所述第一計算節(jié)點上運行有第一容器,所述多個容器存儲單元包括從屬于所述第一容器的第一容器存儲單元;
[0148]所述數(shù)據(jù)存儲裝置部署于所述第一計算節(jié)點,所述裝置可包括:
[0149]發(fā)送單元701,用于檢測到第一容器中的應(yīng)用通過可寫方式打開保存在Base存儲單元中的文件時,發(fā)送副本建立通知給所述存儲管理節(jié)點,以便所述存儲管理節(jié)點開始在所述存儲節(jié)點的第一容器存儲單元中建立所述文件的副本;
[0150]數(shù)據(jù)項構(gòu)建單元702,用于檢測到所述第一容器中的應(yīng)用對所述文件進行寫操作時,獲取所述文件的更新數(shù)據(jù),根據(jù)所述文件的更新數(shù)據(jù)構(gòu)建并保存數(shù)據(jù)項,以便所述存儲管理節(jié)點檢測到所述文件的副本建立完成時,從所述數(shù)據(jù)項中獲取所述文件的更新數(shù)據(jù),將所述文件的更新數(shù)據(jù)同步到所述文件的副本中。
[0151]請參考圖12b,本發(fā)明一些實施例中,所述裝置還可以包括:
[0152]接收單元703,用于接收所述存儲管理節(jié)點在所述同步操作完成后發(fā)送的切換通知;
[0153]寫入單元704,用于在所述接收單元接收到所述切換通知后,如果所述第一容器中的應(yīng)用對所述文件繼續(xù)進行寫操作時,將文件操作對象切換到所述文件的副本,后續(xù)對所述文件的更新數(shù)據(jù)直接寫入所述文件的副本中。
[0154]本發(fā)明一些實施例中,所述數(shù)據(jù)項構(gòu)建單元702,可具體用于從所述第一容器的內(nèi)存中讀取所述文件的更新數(shù)據(jù),將所述文件的更新數(shù)據(jù)及其數(shù)據(jù)控制信息,以及對應(yīng)的Base存儲單元中的源數(shù)據(jù)和所述寫操作信息封裝為一個數(shù)據(jù)項,將所述數(shù)據(jù)項保存在所述第一容器存儲單元的一個存儲文件中。
[0155]可以理解,本發(fā)明實施例的數(shù)據(jù)存儲裝置的各個功能模塊的功能可根據(jù)上述方法實施例中的方法具體實現(xiàn),其具體實現(xiàn)過程可參照上述方法實施例中的相關(guān)描述,此處不再贅述。
[0156]由上可見,在本發(fā)明的一些可行的實施方式中,采用將寫操作和建立副本分開同時進行,對Base存儲單元的文件進行寫操作時,將更新數(shù)據(jù)記錄到數(shù)據(jù)項中,等所述文件的副本建立完成后,在從數(shù)據(jù)項中將更新數(shù)據(jù)同步到文件中的技術(shù)方案,取得了以下技術(shù)效果:由于寫操作與建立副本分開同時執(zhí)行,因而可實時進行寫操作,而不必等待文件副本建立完畢,這就大大加快了對容器中應(yīng)用的數(shù)據(jù)操作的響應(yīng)速度,可有效提高數(shù)據(jù)存儲效率,以及提高容器性能。
[0157]請參考圖13a,本發(fā)明實施例提供一種數(shù)據(jù)存儲裝置,用于計算機集群系統(tǒng),所述計算機集群系