1.一種寫順序一致跟蹤(WOCT)協(xié)調(diào)器中的計(jì)算機(jī)實(shí)現(xiàn)的方法,包括:
發(fā)起多個(gè)計(jì)算設(shè)備處的與多個(gè)虛擬盤相關(guān)聯(lián)的多個(gè)日志的日志切換的循環(huán),所述虛擬盤存儲在所述虛擬盤之間依賴于寫順序的數(shù)據(jù),所述多個(gè)計(jì)算設(shè)備中的每個(gè)計(jì)算設(shè)備包括以下至少一項(xiàng):
所述多個(gè)虛擬盤中的從應(yīng)用接收存儲訪問請求的虛擬盤,所述存儲訪問請求包括寫請求,和
多個(gè)日志中的與所述虛擬盤相對應(yīng)的日志,所述日志接收與所述存儲訪問請求相對應(yīng)的日志隊(duì)列條目;以及
跨所述虛擬盤協(xié)調(diào)所述多個(gè)計(jì)算設(shè)備處的所述多個(gè)日志的所述日志切換的所述循環(huán),以維持針對依賴寫順序的請求的請求排序。
2.根據(jù)權(quán)利要求1所述的方法,其中所述協(xié)調(diào)包括:
制定多個(gè)階段以引起所述多個(gè)計(jì)算設(shè)備處的所述多個(gè)日志的所述切換。
3.根據(jù)權(quán)利要求2所述的方法,其中所述發(fā)起包括:
在多個(gè)開始階段鎖定文件中的每個(gè)開始階段級鎖定文件上采用排它鎖,每個(gè)開始階段鎖定文件與所述多個(gè)階段中的對應(yīng)階段相關(guān)聯(lián);以及
向所述計(jì)算設(shè)備處的多個(gè)代理傳輸日志切換發(fā)起指令,每個(gè)計(jì)算設(shè)備包括所述多個(gè)代理中的對應(yīng)代理。
4.根據(jù)權(quán)利要求3所述的方法,其中所述發(fā)起還包括:
從所述代理中的每個(gè)代理接收響應(yīng),從所述多個(gè)代理中的代理接收到的每個(gè)響應(yīng)指示所述代理在多個(gè)結(jié)束階段鎖定文件中的每個(gè)結(jié)束階段鎖定文件上采用共享鎖,每個(gè)結(jié)束階段鎖定文件與所述多個(gè)階段中的對應(yīng)階段相關(guān)聯(lián)。
5.根據(jù)權(quán)利要求4所述的方法,其中所述多個(gè)階段中的每個(gè)階段通過執(zhí)行以下操作被制定:
釋放相關(guān)聯(lián)的開始階段鎖定文件上的所述排它鎖以向所述代理信號通知所述階段的開始,
嘗試在相關(guān)聯(lián)的結(jié)束階段鎖定文件上采用排它鎖,
當(dāng)由已經(jīng)釋放所述相關(guān)聯(lián)的結(jié)束階段鎖定文件上的所有共享鎖的代理啟用時(shí),在所述相關(guān)聯(lián)的結(jié)束階段鎖定文件上采用所述排它鎖,以由所述代理表示所述階段的完成,以及
轉(zhuǎn)換到制定下一階段,直到所述多個(gè)階段中的最后階段被完成。
6.根據(jù)權(quán)利要求2所述的方法,其中所述制定多個(gè)階段包括:
制定第一階段,在所述第一階段期間新日志在所述多個(gè)計(jì)算設(shè)備中的每個(gè)計(jì)算設(shè)備處被初始化;
制定第二階段,在所述第二階段期間接收到的日志隊(duì)列條目被阻止由所述多個(gè)計(jì)算設(shè)備處的所述日志接收;
制定第三階段,在所述第三階段期間所述新日志被配置為被用于在所述多個(gè)計(jì)算設(shè)備中的每個(gè)計(jì)算設(shè)備處接收所述日志隊(duì)列條目,并且接收到的日志隊(duì)列條目被解除阻止由所述多個(gè)計(jì)算設(shè)備處的所述日志接收;以及
制定第四階段,在所述第四階段期間所述日志切換被完成。
7.根據(jù)權(quán)利要求2所述的方法,其中所述協(xié)調(diào)包括:
向所述計(jì)算設(shè)備處的多個(gè)代理傳輸控制代碼和/或消息以制定所述多個(gè)階段,每個(gè)計(jì)算設(shè)備包括所述多個(gè)代理中的對應(yīng)代理。
8.根據(jù)權(quán)利要求7所述的方法,其中所述多個(gè)階段中的每個(gè)階段通過執(zhí)行以下操作被制定:
向所述多個(gè)代理傳輸控制代碼;
等待來自所述多個(gè)代理中的每個(gè)代理對所傳輸?shù)乃隹刂拼a的響應(yīng);
如果所述代理中的至少一個(gè)代理未在預(yù)定時(shí)間段內(nèi)利用所等待的所述響應(yīng)來針對要被完成的所述多個(gè)階段做出響應(yīng),則中止所述日志切換;以及
如果所有代理在所述預(yù)定時(shí)間段內(nèi)做出響應(yīng),則轉(zhuǎn)換到制定下一階段,所述轉(zhuǎn)換包括當(dāng)所述多個(gè)階段中的最后階段被完成時(shí)完成所述日志切換。
9.一種寫命令一致跟蹤(WOCT)協(xié)調(diào)器,包括:
至少一個(gè)處理電路;
由所述至少一個(gè)處理電路實(shí)現(xiàn)的日志切換發(fā)起器,被配置為與多個(gè)計(jì)算設(shè)備處的多個(gè)代理通信,以發(fā)起與所述多個(gè)計(jì)算設(shè)備處的多個(gè)虛擬盤相關(guān)聯(lián)的多個(gè)日志的日志切換的循環(huán),所述日志切換的循環(huán)包括針對對應(yīng)新日志切換出每個(gè)當(dāng)前日志,所述多個(gè)計(jì)算設(shè)備中的每個(gè)計(jì)算設(shè)備包括以下至少一項(xiàng):
所述多個(gè)虛擬盤中的從應(yīng)用接收存儲訪問請求的虛擬盤,所述存儲訪問請求包括寫請求,和
多個(gè)日志中的與所述虛擬盤相對應(yīng)的日志,所述日志接收與所述存儲訪問請求相對應(yīng)的日志隊(duì)列條目;以及
由所述至少一個(gè)處理電路實(shí)現(xiàn)的日志切換管理器,被配置為協(xié)調(diào)所述多個(gè)計(jì)算設(shè)備處的所述多個(gè)日志的所述日志切換的循環(huán),以維持針對跨虛擬盤的依賴寫順序的請求的請求排序。
10.根據(jù)權(quán)利要求9所述的WOCT協(xié)調(diào)器,其中所述日志切換管理器被配置為制定多個(gè)階段以引起所述多個(gè)計(jì)算設(shè)備處的所述多個(gè)日志的所述切換的循環(huán)。
11.根據(jù)權(quán)利要求10所述的WOCT協(xié)調(diào)器,其中,對于所述日志切換的循環(huán),所述日志切換發(fā)起器被配置為:
在多個(gè)開始階段鎖定文件中的每個(gè)開始階段級鎖定文件上采用排它鎖,每個(gè)開始階段鎖定文件與所述多個(gè)階段中的對應(yīng)階段相關(guān)聯(lián);以及
向所述計(jì)算設(shè)備處的所述多個(gè)代理傳輸日志切換發(fā)起指令以發(fā)起所述日志切換。
12.根據(jù)權(quán)利要求11所述的WOCT協(xié)調(diào)器,其中所述日志切換發(fā)起器被配置為從所述代理中的每個(gè)代理接收響應(yīng),從所述多個(gè)代理中的代理接收到的每個(gè)響應(yīng)指示所述代理在多個(gè)結(jié)束階段鎖定文件中的每個(gè)結(jié)束階段鎖定文件上采用共享鎖,每個(gè)結(jié)束階段鎖定文件與所述多個(gè)階段中的對應(yīng)階段相關(guān)聯(lián)。
13.根據(jù)權(quán)利要求12所述的WOCT協(xié)調(diào)器,其中為了制定所述多個(gè)階段中的每個(gè)階段,所述日志切換管理器被配置為:
釋放由所述日志切換發(fā)起器在相關(guān)聯(lián)的開始階段鎖定文件上采用的所述排它鎖以向所述代理信號通知所述階段的開始,
嘗試在相關(guān)聯(lián)的結(jié)束階段鎖定文件上采用排它鎖,
當(dāng)由已經(jīng)釋放所述相關(guān)聯(lián)的結(jié)束階段鎖定文件上的所有共享鎖的代理啟用時(shí),在所述相關(guān)聯(lián)的結(jié)束階段鎖定文件上采用所述排它鎖,以由所述代理表示所述階段的完成,以及
轉(zhuǎn)換到制定下一階段,直到所述多個(gè)階段中的最后階段被完成。
14.根據(jù)權(quán)利要求10所述的WOCT協(xié)調(diào)器,其中為了制定所述多個(gè)階段中的每個(gè)階段,所述日志切換管理器被配置為:
向所述多個(gè)代理傳輸控制代碼;
等待來自所述多個(gè)代理中的每個(gè)代理對所傳輸?shù)乃隹刂拼a的響應(yīng);
如果所述代理中的至少一個(gè)代理未在預(yù)定時(shí)間段內(nèi)利用所等待的所述響應(yīng)來針對要被完成的所述多個(gè)階段做出響應(yīng),則中止所述日志切換;以及
如果所有代理在所述預(yù)定時(shí)間段內(nèi)做出響應(yīng),則轉(zhuǎn)換到制定下一階段,當(dāng)所述多個(gè)階段中的最后階段被完成時(shí)所述日志切換被完成。
15.一種包括計(jì)算機(jī)可讀介質(zhì)的計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)可讀介質(zhì)具有記錄于其上的計(jì)算機(jī)程序邏輯,所述計(jì)算機(jī)程序邏輯包括:
使得處理器能夠執(zhí)行根據(jù)權(quán)利要求1-8中的任一項(xiàng)的計(jì)算機(jī)程序邏輯。