新四季網

調用分布式文件系統的方法和裝置與流程

2023-11-08 07:39:52 1


本申請涉及計算機技術領域,具體涉及網際網路技術領域,尤其涉及一種調用分布式文件系統的方法和裝置。



背景技術:

基於分布式文件系統運行的分布式文件系統,需要解決高可用相關的所有,例如滿足包括選主、主角色通知、柵欄(Fence)機制、數據流的複製和持久化、數據流的緊置化(Compaction)等需求。

目前的分布式文件系統,通常採用以下兩種高可用設計方案:

1、組合式方案:例如,選主用分布式服務框架(ZooKeeper)方案、基於心跳的方案或者其它自主設計的方案;Fence採用第三方系統或者自主設計的方案;數據流複製採用自主設計的複製方案等。

2、整體方案,例如分布式一致性協議(Raft),基於Raft協議實現各種庫,Raft的日誌流存儲在本地。

然而,上述的兩種高可用涉及方案,其中組合式方案常常依賴第三方,甚至同時依賴多個第三方,系統中存在著各種自主設計的方案,系統整體架構複雜,穩定性風險高,並且難以演化;整體方案中基於Raft協議實現的分布式文件系統補建副本非常緩慢,很難實現一個快速的負載均衡機制,尤其是在全局範圍內難以實現數據流的分裂與合併,難以和分布式文件系統協作。例如適合於非結構化數據存儲的資料庫(HBase),如果數據流使用了Raft協議,那麼如果仍然基於分布式文件系統,會造成大量的額外流量開銷,如果不再基於分布式文件系統,則又會失去了HBase節點的無狀態特性。



技術實現要素:

本申請的目的在於提出一種改進的調用分布式文件系統的方法和裝置,來解決以上背景技術部分提到的技術問題。

一次方面,本申請提供了一種調用分布式文件系統的方法,所述方法包括:基於接收的用戶端的會話請求,建立新會話;向分布式文件系統的管理者發送首次加鎖請求,所述首次加鎖請求用於請求對租約目錄加鎖;響應於接收到對所述首次加鎖請求的響應為加鎖成功,向所述管理者發送在租約目錄中新建子目錄的請求,所述子目錄以所述新會話的IP位址和埠命名;響應於接收到對所述新建子目錄的請求的響應為新建成功,將所述新會話標記為主會話。

在一些實施例中,所述方法還包括以下任意一項或多項:在所述主會話存活期間,定期向所述管理者發送更新所述租約目錄的修改時間戳的請求;和響應於所述主會話關閉,向所述管理者發送刪除所述租約目錄中的子目錄並解鎖所述租約目錄的請求。

在一些實施例中,響應於接收到對所述首次加鎖請求的響應為加鎖成功,向所述管理者發送在租約目錄中新建子目錄的請求包括:響應於接收到對所述首次加鎖請求的響應為加鎖成功,向所述管理者發送首次查詢請求,所述首次查詢請求用於查詢租約目錄中是否存在以其它會話的IP位址和埠命名的子目錄;響應於接收到對所述首次查詢請求的響應為存在,向所述管理者發送刪除請求,所述刪除請求用於刪除所述租約目錄中的子目錄;響應於接收到對所述首次查詢請求的響應為不存在或接收到對所述刪除請求的響應為刪除成功,向所述管理者發送在租約目錄中新建子目錄的請求。

在一些實施例中,所述方法還包括:響應於接收到對首次加鎖請求的響應為加鎖失敗,間隔預定時長檢查所述修改時間戳距當前時間的時長是否超過預設時長;響應於所述修改時間戳距當前時間的時長超過預設時長,向所述管理者發送再次加鎖請求,所述再次加鎖請求用於請求對所述租約目錄加鎖;響應於接收到對所述再次加鎖請求的響應為加鎖成功,執行所述向所述管理者發送首次查詢請求。

在一些實施例中,所述方法還包括:響應於接收到對所述再次加鎖請求的響應為加鎖失敗,向所述管理者發送再次查詢請求,所述再次查詢請求用於查詢租約目錄中是否存在以其它會話的IP位址和埠命名的子目錄;響應於接收到對再次查詢請求的響應為存在,執行所述間隔預定時長檢查所述修改時間戳距當前時間的時長是否超過預設時長。

在一些實施例中,所述方法還包括:響應於接收到對再次查詢請求的響應為不存在,執行所述向分布式文件系統的管理者發送加鎖租約目錄的首次加鎖請求。

在一些實施例中,所述方法還包括以下任意一項或多項:響應於接收到對所述新建子目錄請求的響應為新建失敗,執行所述間隔預定時長檢查所述修改時間戳距當前時間的時長是否超過預設時長;響應於接收到對所述刪除請求的響應為刪除失敗,執行所述間隔預定時長檢查所述修改時間戳距當前時間的時長是否超過預設時長;以及響應於所述修改時間戳距當前時間的時長未超過預設時長,執行所述間隔預定時長檢查所述修改時間戳距當前時間的時長是否超過預設時長。

在一些實施例中,所述方法還包括:響應於接收生成日誌請求,生成每條數據流的每個日誌的日誌序列號;響應於切換主會話或日誌文件大小達到預定字節,新創建日誌文件;以日誌文件中最小的日誌序列號命名創建的日誌文件;將所述日誌序列號、日誌的長度、校驗信息以及寫入的會話的IP位址添加至創建的日誌文件的頭部信息;將日誌添加至創建的日誌文件中直至日誌文件大小達到預定字節。

在一些實施例中,所述方法還包括:響應於接收生成快照請求,間隔預定時間觸發快照;將所有日誌序列號均小於快照中日誌序列號的日誌文件刪除。

在一些實施例中,所述方法還包括:接收回放日誌請求;根據所述日誌序列號,回放日誌。

第二方面,本申請提供了一種調用分布式文件系統的裝置,所述裝置包括:會話建立單元,用於基於接收的用戶端的會話請求,建立新會話;首次加鎖請求單元,用於向分布式文件系統的管理者發送首次加鎖請求,所述首次加鎖請求用於請求對租約目錄加鎖;新建子目錄請求單元,用於響應於接收到對所述首次加鎖請求的響應為加鎖成功,向所述管理者發送在租約目錄中新建子目錄的請求,所述子目錄以所述新會話的IP位址和埠命名;主會話標記單元,用於響應於接收到對所述新建子目錄的請求的響應為新建成功,將所述新會話標記為主會話。

在一些實施例中,所述裝置還包括以下任意一項或多項:修改時間戳單元,用於在所述主會話存活期間,定期向所述管理者發送更新所述租約目錄的修改時間戳的請求;和刪除及加鎖單元,用於響應於所述主會話關閉,向所述管理者發送刪除所述租約目錄中的子目錄並解鎖所述租約目錄的請求。

在一些實施例中,所述新建子目錄請求單元包括:首次查詢請求子單元,用於響應於接收到對所述首次加鎖請求的響應為加鎖成功,向所述管理者發送首次查詢請求,所述首次查詢請求用於查詢租約目錄中是否存在以其它會話的IP位址和埠命名的子目錄;刪除子目錄子單元,用於響應於接收到對所述首次查詢請求的響應為存在,向所述管理者發送刪除請求,所述刪除請求用於刪除所述租約目錄中的子目錄;新建子目錄子單元,用於響應於接收到對所述首次查詢請求的響應為不存在或接收到對所述刪除請求的響應為刪除成功,向所述管理者發送在租約目錄中新建子目錄的請求。

在一些實施例中,所述裝置還包括:時長檢查單元,用於響應於接收到對首次加鎖請求的響應為加鎖失敗,間隔預定時長檢查所述修改時間戳距當前時間的時長是否超過預設時長;再次加鎖請求單元,用於響應於所述修改時間戳距當前時間的時長超過預設時長,向所述管理者發送再次加鎖請求,所述再次加鎖請求用於請求對所述租約目錄加鎖;所述子目錄查詢子單元進一步用於:響應於接收到對所述再次加鎖請求的響應為加鎖成功,執行所述向所述管理者發送首次查詢請求。

在一些實施例中,所述裝置還包括:再次查詢請求單元,用於響應於接收到對所述再次加鎖請求的響應為加鎖失敗,向所述管理者發送再次查詢請求,所述再次查詢請求用於查詢租約目錄中是否存在以其它會話的IP位址和埠命名的子目錄;所述時長檢查單元進一步用於:響應於接收到對再次查詢請求的響應為存在,執行所述間隔預定時長檢查所述修改時間戳距當前時間的時長是否超過預設時長。

在一些實施例中,所述裝置還包括:所述首次加鎖請求單元進一步用於:響應於接收到對再次查詢請求的響應為不存在,執行所述向分布式文件系統的管理者發送加鎖租約目錄的首次加鎖請求。

在一些實施例中,所述裝置還包括以下任意一項或多項:所述時長檢查單元進一步用於:響應於接收到對所述新建子目錄請求的響應為新建失敗,執行所述間隔預定時長檢查所述修改時間戳距當前時間的時長是否超過預設時長;所述時長檢查單元進一步用於:響應於接收到對所述刪除請求的響應為刪除失敗,執行所述間隔預定時長檢查所述修改時間戳距當前時間的時長是否超過預設時長;以及所述時長檢查單元進一步用於:響應於所述修改時間戳距當前時間的時長未超過預設時長,執行所述間隔預定時長檢查所述修改時間戳距當前時間的時長是否超過預設時長。

在一些實施例中,所述裝置還包括:日誌請求接收單元,用於接收生成日誌請求;序列號生成單元,用於生成每條數據流的每個日誌的日誌序列號;文件創建單元,用於響應於切換主會話或日誌文件大小達到預定字節,新創建日誌文件;文件命名單元,用於以日誌文件中最小的日誌序列號命名創建的日誌文件;信息添加單元,用於將所述日誌序列號、日誌的長度、校驗信息以及寫入的會話的IP位址添加至創建的日誌文件的頭部信息;日誌添加單元,用於將日誌添加至創建的日誌文件中直至日誌文件大小達到預定字節。

在一些實施例中,所述裝置還包括:快照請求接收單元,用於接收生成快照請求;快照觸發單元,用於間隔預定時間觸發快照;文件刪除單元,用於將所有日誌序列號均小於快照中日誌序列號的日誌文件刪除。

在一些實施例中,所述裝置還包括:回放請求接收單元,用於接收回放日誌請求;日誌回放單元,用於根據所述日誌序列號,回放日誌。

本申請提供的調用分布式文件系統的方法和裝置,首先基於接收的用戶端的會話請求,建立新會話;之後向分布式文件系統的管理者發送加鎖租約目錄的首次加鎖請求;之後響應於接收到對應首次加鎖請求的一次加鎖成功的響應,向所述管理者發送用於在租約目錄中新建以所述新會話的IP位址和埠命名的子目錄的新建子目錄請求;最後響應於接收到對應所述新建子目錄請求的新建子目錄成功的響應,將所述新會話標記為主會話,從而實現了新會話的選主,並對主會話進行鎖定,有效提高了調用分布式文件系統的健壯性。另外,該調用分布式文件系統的方法和裝置簡化了系統架構,不再需要依賴任何第三方機制/系統,提升了調用分布式文件系統的方法和裝置的穩定性和可演化性,易實現無狀態化,從而很容易實現全局的快速負載均衡機制和分片分裂與合併機制等。

附圖說明

通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細描述,本申請的其它特徵、目的和優點將會變得更明顯:

圖1是本申請可以應用於其中的示例性系統架構圖;

圖2是根據本申請的調用分布式文件系統的方法的一個實施例的示意性流程圖;

圖3是根據本申請的調用分布式文件系統的方法的另一個實施例的示意性流程圖;

圖4是根據本申請的調用分布式文件系統的方法的一個實施例的應用場景;

圖5是根據本申請的調用分布式文件系統的裝置的一個實施例的示例性結構圖;

圖6是適於用來實現本申請實施例的終端設備或伺服器的計算機系統的結構示意圖。

具體實施方式

下面結合附圖和實施例對本申請作進一步的詳細說明。可以理解的是,此處所描述的具體實施例僅僅用於解釋相關發明,而非對該發明的限定。另外還需要說明的是,為了便於描述,附圖中僅示出了與有關發明相關的部分。

需要說明的是,在不衝突的情況下,本申請中的實施例及實施例中的特徵可以相互組合。下面將參考附圖並結合實施例來詳細說明本申請。

圖1示出了可以應用本申請的調用分布式文件系統的方法或調用分布式文件系統的裝置的實施例的示例性系統架構100。

如圖1所示,系統架構100可以包括終端設備101、102、103,網絡104和伺服器105、106。網絡104用以在終端設備101、102、103和伺服器105、106之間提供通信鏈路的介質。網絡104可以包括各種連接類型,例如有線、無線通信鏈路或者光纖電纜等等。

用戶110可以使用終端設備101、102、103通過網絡104與伺服器105、106交互,以接收或發送消息等。終端設備101、102、103上可以安裝有各種通訊客戶端應用,例如視頻播放類應用、搜尋引擎類應用、購物類應用、即時通信工具、郵箱客戶端、社交平臺軟體等。

終端設備101、102、103可以是具有顯示屏並且支持彈幕交互功能的各種電子設備,包括但不限於智慧型手機、平板電腦、電子書閱讀器、MP3播放器(Moving Picture Experts Group Audio Layer III,動態影像專家壓縮標準音頻層面3)、MP4(Moving Picture Experts Group Audio Layer IV,動態影像專家壓縮標準音頻層面4)播放器、膝上型便攜計算機和臺式計算機等等。

伺服器105、106可以是提供各種服務的伺服器,例如對終端設備101、102、103提供支持的後臺伺服器。後臺伺服器可以對終端提交的數據進行存儲或計算等處理,並在接收到終端的請求時將存儲或計算結果反饋給終端設備。

需要說明的是,本申請中實施例所提供的調用分布式文件系統的方法一般由伺服器105、106執行,相應地,調用分布式文件系統的裝置一般設置於伺服器105、106中。

應該理解,圖1中的終端設備、網絡和伺服器的數目僅僅是示意性的。根據實現需要,可以具有任意數目的終端設備、網絡和伺服器。

繼續參考圖2,圖2示出了根據本申請的調用分布式文件系統的方法的一個實施例的流程200。該調用分布式文件系統的方法,包括以下步驟:

步驟201,基於接收的用戶端的會話請求,建立新會話。

在本實施例中,調用分布式文件的方法所運行的設備(例如圖1中所示的伺服器105、106)向用戶端提供了建立新會話的接口,該接口在接收用戶端發送的會話請求時,與用戶端建立新會話。

步驟202,向分布式文件系統的管理者發送首次加鎖請求,首次加鎖請求用於請求對租約目錄加鎖。

在本實施例中,響應於步驟201中建立了新會話,該新會話默認為從角色,採用新會話加鎖租約目錄進行搶主角色。這裡的租約目錄為文件系統中預先設定的作為搶到主會話的指示器的目錄,這裡的加鎖方式可以為現有技術或未來發展的技術中的加鎖方式,本申請對此不做限定。這裡的分布式文件系統,可以為分布式存儲系統、分布式計算系統或基於分布式文件之上的其它存儲系統,甚至可以包括另一個分布式文件系統。分布式文件系統的管理者(例如目錄樹管理器)可以記錄下租約目錄當前是被哪個會話所鎖住,如果該會話掛掉,則自動清理該會話所持有的鎖。

步驟203,響應於接收到對首次加鎖請求的響應為加鎖成功,向管理者發送在租約目錄中新建子目錄的請求,子目錄以所述新會話的IP位址和埠命名。

在本實施例中,當步驟202中的管理者對首次加鎖請求返回的響應為加鎖成功時,可以將包括新會話的IP位址和埠的在租約目錄中新建子目錄請求發送至管理者,以便管理者採用新會話的IP位址和埠命名子目錄。

步驟204,響應於接收到對新建子目錄的請求的響應為新建成功,將新會話標記為主會話。

在本實施例中,當接收到管理者返回的對應新建子目錄請求的響應為新建成功時,可以確定新會話搶主成功,從而可以將新會話標記為主會話。

本申請上述實施例提供的調用分布式文件系統的方法和裝置,實現了新會話的選主,並對主會話進行鎖定,有效提高了調用分布式文件系統的健壯性。另外,該調用分布式文件系統的方法和裝置簡化了系統架構,不再需要依賴任何第三方機制/系統,提升了調用分布式文件系統的方法和裝置的穩定性和可演化性,易實現無狀態化,從而很容易實現全局的快速負載均衡機制和分片分裂與合併機制等。

進一步參考圖3,圖3示出了根據本申請的調用分布式文件系統的方法的另一個實施例的流程。該調用分布式文件系統的方法,包括以下步驟:

在步驟301中,響應於用戶端的請求,建立新會話,之後執行步驟302;

在步驟302中,向分布式文件系統的管理者發送加鎖租約目錄的首次加鎖請求,之後執行步驟303;

在步驟303中,判斷管理者返回的響應是否為加鎖成功,若是,執行步驟304,若否,執行步驟305;

在步驟304中,向管理者首次查詢租約目錄中是否存在以其它會話的IP位址和埠命名的子目錄,若是,執行步驟306,若否,則執行步驟308;

在步驟305中,間隔預定時長檢查修改時間戳距當前時間的時長是否超過預設時長,若是,則執行步驟313,若否,則繼續執行步驟305;

在步驟306中,向管理者發送用於刪除租約目錄中的子目錄的刪除請求,之後執行步驟307;

在步驟307中,判斷管理者返回的對應刪除請求的響應是否為刪除成功,若是,則執行步驟308,若否,則執行步驟305;

在步驟308中,向管理者發送在租約目錄中新建子目錄的請求,子目錄以所述新會話的IP位址和埠命名,之後執行步驟309;

在步驟309中,判斷管理者返回的對新建子目錄的請求的響應是否為新建成功,若是,則執行步驟310,若否,則執行步驟305;

在步驟310中,將新會話標記為主會話,之後執行步驟311;

在步驟311中,在主會話存活期間,定期向管理者發送更新租約目錄的修改時間戳的請求,之後執行步驟312;

在步驟312中,響應於主會話關閉,向管理者發送刪除租約目錄中的子目錄並解鎖租約目錄的請求;

在步驟313中,向管理者發送再次加鎖請求,再次加鎖請求用於請求對租約目錄加鎖,之後執行步驟314;

在步驟314中,判斷接收到對再次加鎖請求的響應是否為加鎖成功,若是,則執行步驟304,若否,則執行步驟315;

在步驟315中,向管理者再次查詢租約目錄中是否存在以其它會話的IP位址和埠命名的子目錄,若是,則執行步驟305,若否,則執行步驟302。

在本實施例中,可以預先在分布式文件系統中指定一個目錄(下文稱之為租約目錄)作為搶主的指示器,搶到主的會話則將自己的IP位址和埠(例如IP:PORT)作為子目錄名字記錄到租約目錄的子樹中去,我們稱之為服務標識。主會話會定期更新租約目錄的最後修改時間戳(ModificationTime),從會話定期檢查該時間戳是否超過了規定的時長而沒有發生任何變化,如果是,則發起搶主。

以下舉例說明租約目錄及其中的子目錄的結構:

假定有A(假定其IP:PORT為1.1.1.1:1111)和B(假定其IP:PORT為2.2.2.2:2222)兩個會話參與選主,如果A是主,則目錄結構是:

xxx/lease/1.1.1.1:1111

如果B是主,則目錄結構是

xxx/lease/2.2.2.2:2222

這裡的lease就是指租約目錄,它的子目錄的名字代表了當前的主的服務標識。

在本實施例中,選主可以通過以下過程實現:

過程1:啟動一個新的會話時,默認為從角色。該會話首先對租約目錄進行加鎖操作,如果加鎖失敗,說明此時有主,本會話進入周期性檢查租約目錄時間戳的階段。如果加鎖成功,說明搶到了主,則首先將租約目錄下的內容清空,然後將自己的服務標識記錄到租約目錄下,結束過程。

過程2:本會話不斷地檢查租約目錄的時間戳是否超過規定時間閾值仍然沒有發生任何變化,是則觸發選主,也是通過對租約目錄執行加鎖操作,如果加鎖成功,參見過程1結束搶主過程。如果加鎖失敗,則先檢查租約目錄下是否存在其它角色的服務標識,若存在,則說明其它會話搶到了主,本會話進入周期檢查租約目錄時間戳的階段;如果不存在,則過一會繼續加鎖,重複之前的過程。

本申請上述實施例提供的調用分布式文件系統的方法和裝置,通過響應於建立的新會話執行如圖3中所述的操作步驟,可以實現新會話從從角色到主角色的角色轉換過程,並且實現了對主會話的鎖定,有效提高了調用分布式文件系統的健壯性。另外,該調用分布式文件系統的方法和裝置簡化了系統架構,不再需要依賴任何第三方機制/系統,提升了調用分布式文件系統的方法和裝置的穩定性和可演化性,易實現無狀態化,從而很容易實現全局的快速負載均衡機制和分片分裂與合併機制等。

在上述實施例的一些可選實現方式中(圖中未示出),上述調用分布式文件系統的方法還可以包括:接收生成日誌請求;生成每條數據流的每個日誌的日誌序列號;響應於切換主會話或日誌文件大小達到預定字節,新創建日誌文件;以日誌文件中最小的日誌序列號命名創建的日誌文件;將所述日誌序列號、日誌的長度、校驗信息以及添加日誌的會話的IP位址添加至創建的日誌文件的頭部信息,將日誌寫入創建的日誌文件中直至日誌文件大小達到預定字節。

在上述實現方式中,通過首先響應於接收生成日誌請求,生成每條數據流的每個日誌的日誌序列號;之後響應於切換主會話或日誌文件大小達到預定字節,新創建日誌文件;之後以日誌文件中最小的日誌序列號命名創建的日誌文件;最後將所述日誌序列號、日誌的長度、校驗信息以及添加日誌的會話的IP位址添加至創建的日誌文件的頭部信息,將日誌寫入創建的日誌文件中直至日誌文件大小達到預定字節,實現了數據流的複製和持久化。

在上述實施例的一些可選實現方式中(圖中未示出),所述方法還可以包括:接收生成快照請求;間隔預定時間觸發快照;將所有日誌序列號均小於快照中日誌序列號的日誌文件刪除。

在本實現方式中,提供了一個周期性地快照接口,默認按照預定時間間隔觸發,也可以設計定製化觸發策略。每次執行完畢一個快照之後,本方案自動將那些日誌序列號比該快照對應的日誌序列號還要小的記錄所在的文件刪掉。需要注意的是,有的文件前半部分比該日誌序列號要小,後半部分比該日誌序列號要大,那麼這樣的文件本次不能刪除。做快照然後刪除數據,就是一次緊置化過程。通過響應於接收生成快照請求,間隔預定時間觸發快照,並將所有日誌序列號均小於快照中日誌序列號的日誌文件刪除,可以實現數據流的緊置化。

在上述實施例的一些可選實現方式中(圖中未示出),方法還可以包括:接收回放日誌請求;根據日誌序列號,回放日誌。

在本實現方式中,可以實現將日誌回放到狀態機,也即將寫入的數據一條一條地,嚴格按照與寫入時一樣的順序提交給服務單元在內存中進行處理。對於主會話來說,它在寫入分布式文件系統結束之後,直接將該記錄在內存狀態機中進行回放。可以看出,狀態機的回放順序嚴格符合日誌序列號的單調遞增順序,二者完全一致。對於從會話來說,本方案提供了一個自動循環執行的機制,該機制自動從數據流(也就是分布式文件系統的一系列文件)中按序讀取記錄,該機制在讀到記錄之後,嚴格按照日誌序列號的順序將記錄提交給狀態機進行回放,因此,可以看出,主從的回放順序因為日誌序列號的序從而保證了嚴格的一致。

進一步參考圖4,圖4示出了根據本申請的調用分布式文件系統的方法的一個實施例的應用場景。

如圖4所示,在該調用分布式文件系統的方法的應用場景中,包括:應用系統410、接口裝置420和分布式文件系統430。

首先,應用系統410與接口裝置420建立會話411和會話412,其中的會話411和會話412經由接口裝置420中的會話狀態與數據控制器421與選主管理器422發生交互,由選主管理器422與分布時文件系統430中的目錄鎖管理器431進行目錄鎖的狀態交換,從而確定了會話411為主會話。

在主會話411和從會話412與會話狀態與數據控制器421進行交互的過程中,主會話411和從會話412可以經由會話狀態與數據控制器421向日誌寫入器423寫入日誌,再經由日誌寫入器423向分布式文件系統430寫入日誌數據流,例如日誌文件1、日誌文件2直至日誌文件N等;主會話411和從會話412還可以經由會話狀態與數據控制器421向快照寫入器425寫入快照,再經由快照寫入器425向分布式文件系統430寫入快照,例如寫入快照文件1、快照文件2等,其中快照1中可以包括快照1文件1和快照1文件2,快照2中可以包括快照2文件1、快照2文件2、快照2文件3等;從會話412還可以經由會話狀態與數據控制器421從日誌與快照讀取器424讀取日誌和/或讀取快照,此時快照讀取器從分布式文件系統430中存儲的以下一項或多項數據中讀取從會話412請求的數據:日誌文件1至日誌文件N、快照1和快照2。

應當理解,在本應用場景中,本申請調用分布式文件系統的方法通過接口裝置420實現,在上述主會話411和從會話412與會話狀態與數據控制器421交互的過程中,會話狀態與數據控制器421可以對日誌寫入器423、日誌與快照讀取器424進行內部狀態控制,還可以對快照寫入器425進行快照狀態控制。另外,本應用場景僅為本申請調用分布式文件系統的方法的一個示例性應用場景,並不代表對本申請的限定。例如其中的會話狀態與數據控制器421、選主管理器422、日誌寫入器423、日誌與快照讀取器424和快照寫入器425這五個器件,可以合併為一個或多個器件;這五個器件中的任意一個器件,也可以拆分為多個子器件,本申請對此不作限定。

進一步參考圖5,作為對上述方法的實現,本申請提供了一種調用分布式文件系統的裝置的一個實施例,該裝置實施例與圖2所示的方法實施例相對應,由此,上文針對方法描述的操作和特徵同樣適用於裝置500及其中包含的單元,在此不再贅述。該裝置具體可以應用於各種電子設備中。

如圖5所示,本實施例的調用分布式文件系統的裝置500包括:會話建立單元510、首次加鎖請求單元520、新建子目錄請求單元530和主會話標記單元540。

其中,會話建立單元510,用於基於接收的用戶端的會話請求,建立新會話。

首次加鎖請求單元520,用於向分布式文件系統的管理者發送首次加鎖請求,首次加鎖請求用於請求對租約目錄加鎖。

新建子目錄請求單元530,用於響應於接收到對首次加鎖請求的響應為加鎖成功,向管理者發送在租約目錄中新建子目錄的請求,子目錄以新會話的IP位址和埠命名。

主會話標記單元540,用於響應於接收到對新建子目錄的請求的響應為新建成功,將新會話標記為主會話。

在本實施例的一些可選實現方式中,裝置還可以包括以下任意一項或多項:修改時間戳單元,用於在主會話存活期間,定期向管理者發送更新租約目錄的修改時間戳的請求;和刪除及加鎖單元,用於響應於主會話關閉,向管理者發送刪除租約目錄中的子目錄並解鎖租約目錄的請求。

在本實施例的一些可選實現方式中,新建子目錄請求單元可以包括:首次查詢請求子單元,用於響應於接收到對首次加鎖請求的響應為加鎖成功,向管理者發送首次查詢請求,首次查詢請求用於查詢租約目錄中是否存在以其它會話的IP位址和埠命名的子目錄;刪除子目錄子單元,用於響應於接收到對首次查詢請求的響應為存在,向管理者發送刪除請求,刪除請求用於刪除租約目錄中的子目錄;新建子目錄子單元,用於響應於接收到對首次查詢請求的響應為不存在或接收到對刪除請求的響應為刪除成功,向管理者發送在租約目錄中新建子目錄的請求。

在本實施例的一些可選實現方式中,裝置還包括:時長檢查單元,用於響應於接收到對首次加鎖請求的響應為加鎖失敗,間隔預定時長檢查修改時間戳距當前時間的時長是否超過預設時長;再次加鎖請求單元,用於響應於修改時間戳距當前時間的時長超過預設時長,向管理者發送再次加鎖請求,再次加鎖請求用於請求對租約目錄加鎖;子目錄查詢子單元進一步用於:響應於接收到對再次加鎖請求的響應為加鎖成功,執行向管理者發送首次查詢請求。

在本實施例的一些可選實現方式中,裝置還包括:再次查詢請求單元,用於響應於接收到對再次加鎖請求的響應為加鎖失敗,向管理者發送再次查詢請求,再次查詢請求用於查詢租約目錄中是否存在以其它會話的IP位址和埠命名的子目錄;時長檢查單元進一步用於:響應於接收到對再次查詢請求的響應為存在,執行間隔預定時長檢查修改時間戳距當前時間的時長是否超過預設時長。

在本實施例的一些可選實現方式中,裝置還包括:首次加鎖請求單元進一步用於:響應於接收到對再次查詢請求的響應為不存在,執行向分布式文件系統的管理者發送加鎖租約目錄的首次加鎖請求。

在本實施例的一些可選實現方式中,裝置還包括以下任意一項或多項:時長檢查單元進一步用於:響應於接收到對新建子目錄請求的響應為新建失敗,執行間隔預定時長檢查修改時間戳距當前時間的時長是否超過預設時長;時長檢查單元進一步用於:響應於接收到對刪除請求的響應為刪除失敗,執行間隔預定時長檢查修改時間戳距當前時間的時長是否超過預設時長;以及時長檢查單元進一步用於:響應於修改時間戳距當前時間的時長未超過預設時長,執行間隔預定時長檢查修改時間戳距當前時間的時長是否超過預設時長。

在本實施例的一些可選實現方式中,裝置還包括:序列號生成單元,用於響應於接收生成日誌請求,生成每條數據流的每個日誌的日誌序列號;文件創建單元,用於響應於切換主會話或日誌文件大小達到預定字節,新創建日誌文件;文件命名單元,用於以日誌文件中最小的日誌序列號命名創建的日誌文件;信息添加單元,用於將日誌序列號、日誌的長度、校驗信息以及寫入的會話的IP位址添加至創建的日誌文件的頭部信息;日誌添加單元,用於將日誌添加至創建的日誌文件中直至日誌文件大小達到預定字節。

在本實施例的一些可選實現方式中,裝置還包括:快照觸發單元,用於響應於接收生成快照請求,間隔預定時間觸發快照;文件刪除單元,用於將所有日誌序列號均小於快照中日誌序列號的日誌文件刪除。

在本實施例的一些可選實現方式中,裝置還包括:回放請求接收單元,用於接收回放日誌請求;日誌回放單元,用於根據日誌序列號,回放日誌。

應當理解,本申請上述實施例中的調用分布式文件系統的裝置,僅為對本申請的示例性描述,並不代表對本申請的限定。例如,可以根據需要將其中包括的多個單元合併為一個單元,也可以根據需要將其中包括的單元拆分為多個子單元。伺服器端可以為單個伺服器、多個伺服器或伺服器集群等。

下面參考圖6,其示出了適於用來實現本申請實施例的終端設備或伺服器的計算機系統600的結構示意圖。

如圖6所示,計算機系統600包括中央處理單元(CPU)601,其可以根據存儲在只讀存儲器(ROM)602中的程序或者從存儲部分608加載到隨機訪問存儲器(RAM)603中的程序而執行各種適當的動作和處理。在RAM 603中,還存儲有系統600操作所需的各種程序和數據。CPU 601、ROM 602以及RAM 603通過總線604彼此相連。輸入/輸出(I/O)接口605也連接至總線604。

以下部件連接至I/O接口605:包括鍵盤、滑鼠等的輸入部分606;包括諸如陰極射線管(CRT)、液晶顯示器(LCD)等以及揚聲器等的輸出部分607;包括硬碟等的存儲部分608;以及包括諸如LAN卡、數據機等的網絡接口卡的通信部分609。通信部分609經由諸如網際網路的網絡執行通信處理。驅動器610也根據需要連接至I/O接口606。可拆卸介質611,諸如磁碟、光碟、磁光碟、半導體存儲器等等,根據需要安裝在驅動器610上,以便於從其上讀出的電腦程式根據需要被安裝入存儲部分608。

特別地,根據本公開的實施例,上文參考流程圖描述的過程可以被實現為計算機軟體程序。例如,本公開的實施例包括一種電腦程式產品,其包括有形地包含在機器可讀介質上的電腦程式,所述電腦程式包含用於執行流程圖所示的方法的程序代碼。在這樣的實施例中,該電腦程式可以通過通信部分609從網絡上被下載和安裝,和/或從可拆卸介質611被安裝。在該電腦程式被中央處理單元(CPU)601執行時,執行本申請的方法中限定的上述功能。

附圖中的流程圖和框圖,圖示了按照本申請各種實施例的系統、方法和電腦程式產品的可能實現的體系架構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個單元、程序段、或代碼的一部分,所述單元、程序段、或代碼的一部分包含一個或多個用於實現規定的邏輯功能的可執行指令。也應當注意,在有些作為替換的實現中,方框中所標註的功能也可以以不同於附圖中所標註的順序發生。例如,兩個接連地表示的方框實際上可以基本並行地執行,它們有時也可以按相反的順序執行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執行規定的功能或操作的專用的基於硬體的系統來實現,或者可以用專用硬體與計算機指令的組合來實現。

描述於本申請實施例中所涉及到的單元可以通過軟體的方式實現,也可以通過硬體的方式來實現。所描述的單元也可以設置在處理器中,例如,可以描述為:一種處理器包括會話建立單元、首次加鎖請求單元、新建子目錄請求單元和主會話標記單元。其中,這些單元的名稱在某種情況下並不構成對該單元本身的限定,例如,會話建立單元還可以被描述為「基於接收的用戶端的會話請求,建立新會話的單元」。

作為另一方面,本申請還提供了一種非易失性計算機存儲介質,該非易失性計算機存儲介質可以是上述實施例中所述裝置中所包含的非易失性計算機存儲介質;也可以是單獨存在,未裝配入終端中的非易失性計算機存儲介質。上述非易失性計算機存儲介質存儲有一個或者多個程序,當所述一個或者多個程序被一個設備執行時,使得所述設備:基於接收的用戶端的會話請求,建立新會話;向分布式文件系統的管理者發送首次加鎖請求,首次加鎖請求用於請求對租約目錄加鎖;響應於接收到對首次加鎖請求的響應為加鎖成功,向管理者發送在租約目錄中新建子目錄的請求,子目錄以新會話的IP位址和埠命名;響應於接收到對新建子目錄的請求的響應為新建成功,將新會話標記為主會話。

以上描述僅為本申請的較佳實施例以及對所運用技術原理的說明。本領域技術人員應當理解,本申請中所涉及的發明範圍,並不限於上述技術特徵的特定組合而成的技術方案,同時也應涵蓋在不脫離所述發明構思的情況下,由上述技術特徵或其等同特徵進行任意組合而形成的其它技術方案。例如上述特徵與本申請中公開的(但不限於)具有類似功能的技術特徵進行互相替換而形成的技術方案。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀