分布式文件系統的寫方法、客戶端設備及分布式文件系統的制作方法
【技術領域】
[0001]本發明涉及分布式文件系統技術領域,特別是涉及分布式文件系統的寫方法、客戶端設備及分布式文件系統。
【背景技術】
[0002]分布式文件系統(Distributed File System)是一種基于客戶機/服務器模式的文件管理系統,其中,分布式文件系統中的客戶機即為客戶端設備,分布式文件系統中的服務器包括網絡側的存儲服務器。分布式文件系統中的數據可以存儲在存儲服務器中,客戶端設備通過網絡與存儲服務器連接,對存儲服務器進行讀寫等操作。
[0003]分布式文件系統中的客戶端設備在進行寫操作時,每次接收到對待寫文件的寫操作指令后,即執行該寫操作指令,將待寫文件寫入相應的地址中。但是,每個寫操作指令所要寫入的待寫文件的數據量較小,而客戶端設備與物理存儲資源之間的網絡帶寬較大。這就導致每個寫操作指令被執行時,客戶端設備與存儲服務器之間僅傳輸很小的數據,導致分布式文件系統的吞吐量較低。同時,由于每次進行寫操作時都要占用通信網絡,因此現有的分布式文件系統的寫方法對通信網絡的占用時間也比較長。
【發明內容】
[0004]本發明實施例的目的在于提供分布式文件系統的寫方法、客戶端設備及分布式文件系統,以實現提高吞吐量,減少對通信網絡的占用時間的目的。
[0005]為達到上述目的,本發明實施例公開了一種分布式文件系統的寫方法,所述分布式文件系統至少包括客戶端設備和存儲服務器,其中,所述客戶端設備與存儲服務器通信連接,所述寫方法應用于客戶端設備,所述方法包括:
[0006]接收對待寫文件的寫操作指令;
[0007]在接收到所述寫操作指令后,將所述待寫文件存儲到所述客戶端設備的緩存區中;
[0008]判斷當前時刻是否到達與預設執行時間周期對應的多個執行時刻中的一個執行時刻,如果是,則同時對所述緩存區中存儲時間大于預設時間閾值的多個待寫文件執行文件寫入操作,將所述多個待寫文件并行寫入到所述存儲服務器中。
[0009]優選的,所述同時對所述緩存區中存儲時間大于預設時間閾值的多個待寫文件執行文件寫入操作,將所述多個待寫文件并行寫入到所述存儲服務器中,包括:
[0010]獲取所述緩存區中存儲時間大于預設時間閾值的多個待寫文件中各待寫文件對應的寫入地址,所述寫入地址位于所述存儲服務器中;
[0011]同時對所述多個待寫文件執行寫操作,將所述多個待寫文件中的各待寫文件并行寫入到對應的寫入地址中。
[0012]優選的,所述獲取所述緩存區中存儲時間大于預設時間閾值的多個待寫文件中各待寫文件對應的寫入地址,包括:
[0013]獲取各個所述待寫文件在所述緩存區內的存儲時間;
[0014]確定所述存儲時間大于預設時間閾值的多個待寫文件;
[0015]獲得所述多個待寫文件中各待寫文件對應的寫入地址。
[0016]優選的,所述分布式文件系統中還包括元數據服務器,其中,所述客戶端設備與所述元數據服務器通信連接,且所述客戶端設備本地存儲有從所述元數據服務器獲得的元數據信息;
[0017]所述獲得所述多個待寫文件中各待寫文件對應的寫入地址,包括:
[0018]獲取所述多個待寫文件中各待寫文件的標識;
[0019]如果所述客戶端設備本地存儲有與所述標識對應的元數據信息,則以所述客戶端設備本地存儲的元數據信息為依據確定具有相應標識的待寫文件的寫入地址。
[0020]優選的,在所述客戶端設備本地未存儲有與所述標識對應的元數據信息時,所述方法還包括:
[0021]向所述元數據服務器發送元數據信息獲取請求,所述請求中攜帶有待寫文件的標識;
[0022]獲得所述元數據服務器返回的與待寫文件對應的元數據信息并將所獲得的元數據信息存儲在所述客戶端設備本地,以所獲得的元數據信息為依據確定具有相應標識的待寫文件的寫入地址。
[0023]優選的,所述同時對所述多個待寫文件執行寫操作,將所述多個待寫文件中的各待寫文件并行寫入到對應的寫入地址中,包括:
[0024]同時對所述多個待寫文件中的各待寫文件進行如下處理:
[0025]建立所述客戶端設備到待寫文件對應的寫入地址的鏈接;
[0026]通過所建立的鏈接,將該待寫文件寫入所對應的寫入地址中。
[0027]優選的,所獲取的多個待寫文件中各待寫文件對應的寫入地址為由具有拓撲排序的多個寫入地址構成的地址鏈,
[0028]所述建立所述客戶端設備到待寫文件對應的寫入地址的鏈接,包括:建立所述客戶端設備到待寫文件對應的地址鏈中拓撲排序為第一的寫入地址的鏈接;
[0029]所述通過所建立的鏈接,將該待寫文件寫入所對應的寫入地址中,包括:
[0030]通過所建立的鏈接,將該待寫文件寫入所述拓撲排序為第一的寫入地址中,以使所述存儲服務器對該待寫文件進行備份,將該待寫文件備份到所述地址鏈的后續寫入地址中。
[0031]優選的,所述預設執行時間周期為1秒,所述預設時間閾值為1秒。
[0032]優選的,所述待寫文件的標識包括:文件編號和文件塊編號。
[0033]一種分布式文件系統中的客戶端設備,所述分布式文件系統至少包括客戶端設備和存儲服務器,其中,所述客戶端設備與存儲服務器通信連接,所述客戶端設備包括:寫指令接收單元、文件存儲單元、時刻判斷單元和同時寫入單元;
[0034]所述寫指令接收單元,用于接收對待寫文件的寫操作指令;
[0035]所述文件存儲單元,用于在接收到所述寫操作指令后,將所述待寫文件存儲到所述客戶端設備的緩存區中;
[0036]所述時刻判斷單元,用于判斷當前時刻是否到達與預設執行時間周期對應的多個執行時刻中的一個執行時刻,如果是,則觸發所述同時寫入單元;
[0037]所述同時寫入單元,用于同時對所述緩存區中存儲時間大于預設時間閾值的多個待寫文件執行文件寫入操作,將所述多個待寫文件并行寫入到所述存儲服務器中。
[0038]優選的,所述同時寫入單元,包括:地址獲取單元和寫操作單元,
[0039]所述地址獲取單元,用于獲取所述緩存區中存儲時間大于預設時間閾值的多個待寫文件中各待寫文件對應的寫入地址,所述寫入地址位于所述存儲服務器中;
[0040]所述寫操作單元,用于同時對所述多個待寫文件執行寫操作,將所述多個待寫文件中的各待寫文件并行寫入到對應的寫入地址中。
[0041]優選的,所述地址獲取單元包括:存儲時間獲取子單元、待寫文件確定子單元和寫入地址獲得子單元,
[0042]所述存儲時間獲取子單元,用于獲取各個所述待寫文件在所述緩存區內的存儲時間;
[0043]所述待寫文件確定子單元,用于確定所述存儲時間大于預設時間閾值的多個待寫文件;
[0044]所述寫入地址獲得子單元,用于獲得所述多個待寫文件中各待寫文件對應的寫入地址。
[0045]優選的,所述分布式文件系統中還包括元數據服務器,其中,所述客戶端設備與所述元數據服務器通信連接,且所述客戶端設備本地存儲有從所述元數據服務器獲得的元數據信息;
[0046]所述寫入地址獲得子單元,包括:文件標識獲取子單元和第一地址確定子單元,
[0047]所述文件標識獲取子單元,用于獲取所述多個待寫文件中各待寫文件的標識;
[0048]所述第一地址確定子單元,用于在所述客戶端設備本地存儲有與所述標識對應的元數據信息時,以所述客戶端設備本地存儲的元數據信息為依據確定具有相應標識的待寫文件的寫入地址。
[0049]優選的,所述寫入地址獲得子單元,還包括:元數據請求子單元、元數據存儲子單元和第二地址確定子單元,
[0050]所述元數據請求子單元,用于在所述客戶端設備本地未存儲有與所述標識對應的元數據信息時,向所述元數據服務器發送元數據信息獲取請求,所述請求中攜帶有待寫文件的標識;
[0051]所述元數據存儲子單元,用于獲得所述元數據服務器返回的與待寫文件對應的元數據信息并將所獲得的元數據信息存儲在所述客戶端設備本地;
[0052]所述第二地址確定子單元,用于以所獲得的元數據信息為依據確定具有相應標識的待與文件的與入地址。
[0053]優選的,所述寫操作單元,包括:鏈接建立單元和文件寫入單元,
[0054]所述鏈接建立單元,用于同時對所述多個待寫文件中的各待寫文件進行如下處理:建立所述客戶端設備到待寫文件對應的寫入地址的鏈接;
[0055]所述文件寫入單元,用于同時對所述多個待寫文件中的各待寫文件進行如下處理:通過所建立的鏈接,將該待寫文件寫入所對應的寫入地址中。
[0056]優選的,所述地址獲取單元獲取的多個待寫文件中各待寫文件對應的寫入地址為由具有拓撲排序的多個寫入地址構成的地址鏈,
[0057]所述鏈接建立單元,具體用于同時對所述多個待寫文件中的各待寫文件進行如下處理:建立所述客戶端設備到待寫文件對應的地址鏈中拓撲排序為第一的寫入地址的鏈接;
[0058]所述文件寫入單元,具體用于同時對所述多個待寫文件中的各待寫文件進行如下處理: