塊儲存存取和網關模塊、儲存系統和方法與內容遞送裝置的制造方法
【技術領域】
[0001]本發(fā)明涉及塊儲存存取和網關模塊、儲存系統和方法與內容遞送裝置,特別涉及提供對塊儲存(block storage)的可容錯(fault-tolerant)存取和負載平衡的技術。
【背景技術】
[0002]塊儲存是硬盤、光盤、閃存和磁帶等所有常見儲存設備的實際操作方式,其中“塊”意味著數據是以固定長度的位串(bit string)為單位在儲存設備上被讀寫。然而,云端儲存作為一種高級的概念,講求的是負載平衡、極高的可用性和水平可伸縮性(scale-1n/scale-out),并不處理底層儲存設備的運作。因此業(yè)界面對巨量數據(big data)時代的來臨,需要一種能包裝或虛擬化塊儲存設備至抽象層,使之可視為云端的機制。
[0003]從而,需要提供一種塊儲存存取和網關模塊、儲存系統和方法與內容遞送裝置來解決上述問題。
【發(fā)明內容】
[0004]鑒于上述需求,本發(fā)明旨在提供一種塊儲存網關模塊、包含前述模塊的一種儲存中介系統及其對應方法、包含前述系統的一種云端儲存系統、對應前述模塊的一種提供對塊儲存的存取的方法以及用于部署(deploy)可執(zhí)行此方法的計算機的內容遞送裝置。所謂存取可以是讀、寫、開、關、擦除、掃描、格式化(format)、設定、驗證、測試診斷等等操作,不一而足。
[0005]本發(fā)明提供一種塊儲存網關模塊,其包含接收單元和存取單元。接收單元用于攔截(intercept)指示對儲存體進行本機存取的對操作系統的系統呼叫(system call),以產生近端存取指令。存取單元用于依據近端存取指令,對對應儲存體的儲存陣列進行近端存取。在一實施例中,塊儲存網關模塊還包含編解碼單元,其用于產生對應原始數據的可容錯數據和用于自可容錯數據還原出原始數據。若前述本機存取指的是自儲存體讀取原始數據,則近端存取即自儲存陣列讀取可容錯數據;若本機存取是指將原始數據寫入儲存體,則近端存取是將可容錯數據寫入儲存陣列。
[0006]本發(fā)明亦提供一種塊儲存網關模塊,該塊儲存網關模塊包括:一接收單元,該接收單元用于攔截對一操作系統的一系統呼叫,以產生一近端存取指令,該系統呼叫指示對一儲存體進行一本機存取;以及一存取單元,該存取單元用于依據該近端存取指令,對一儲存陣列進行一近端存取,該儲存陣列對應該儲存體,該近端存取對應該本機存取。
[0007]本發(fā)明亦提供一種提供對塊儲存的存取的方法,其步驟包含:攔截指示對儲存體進行本機存取的對操作系統的系統呼叫,以產生近端存取指令;依據近端存取指令,對對應儲存體的儲存陣列進行近端存取。在一實施例中,若前述本機存取是指將原始數據寫入儲存體,則產生對應原始數據的可容錯數據,并將可容錯數據寫入儲存陣列;在另一實施例中,若本機存取指的是自儲存體讀取原始數據,則自儲存陣列讀取可容錯數據,并自可容錯數據還原出原始數據。
[0008]本發(fā)明亦提供一種提供對塊儲存的存取的方法,該提供對塊儲存的存取的方法包括:攔截對一操作系統的一系統呼叫,以產生一近端存取指令,該系統呼叫指示對一儲存體進行一本機存??;以及依據該近端存取指令,對一儲存陣列進行一近端存取,該儲存陣列對應該儲存體,該近端存取對應該本機存取。
[0009]本發(fā)明亦提供一種儲存中介系統,其包含至少一個儲存資源(storage resource)裝置和負載平衡裝置。儲存資源裝置包含伺服模塊和塊儲存網關模塊。伺服模塊用于接收指示對儲存資源裝置進行遠程訪問的遠程訪問指令,以產生系統呼叫。塊儲存網關模塊用于攔截此系統呼叫,并用于依據系統呼叫,對儲存陣列進行近端存取。儲存陣列對應儲存資源裝置,近端存取對應遠程訪問。負載平衡裝置用于接收遠程訪問要求,用于選擇儲存資源裝置其中之一,以及用于傳送包含被選擇的該儲存資源裝置的地址的答允信息。
[0010]本發(fā)明亦提供一種儲存中介系統,該儲存中介系統包括:一或多個儲存資源裝置,每一該儲存資源裝置包括:一伺服模塊,伺服模塊用于接收一遠程訪問指令,以產生一系統呼叫,該遠程訪問指令指示對該儲存資源裝置進行一遠程訪問;以及一塊儲存網關模塊,該塊儲存網關模塊用于攔截該系統呼叫,并用于依據該系統呼叫,對一儲存陣列進行一近端存取,該儲存陣列對應該儲存資源裝置,該近端存取對應該遠程訪問;以及一負載平衡裝置,該負載平衡裝置用于接收一遠程訪問要求,用于選擇該或該些儲存資源裝置其中之一,以及用于傳送一答允信息,該答允信息包括被選擇的該儲存資源裝置的一地址。
[0011]本發(fā)明亦提供一種儲存中介方法,該儲存中介方法包含:接收一遠程訪問要求;選擇一或多個儲存資源裝置其中之一;傳送一答允信息,該答允信息包含被選擇的該儲存資源裝置的一地址;接收指示對被選擇的該儲存資源裝置進行一遠程訪問的一遠程訪問指令,以產生一系統呼叫;攔截該系統呼叫;以及依據該系統呼叫,對一儲存陣列進行一近端存取,該儲存陣列對應該儲存資源裝置,該近端存取對應該遠程訪問。
[0012]本發(fā)明還提供一種云端儲存系統,其包含多個儲存節(jié)點、一或多個儲存資源裝置和負載平衡裝置。儲存資源裝置用于接收遠程訪問指令,用于攔截對應遠程訪問指令的系統呼叫,以及用于依據此系統呼叫,對儲存陣列進行近端存取。遠程訪問指令指示對儲存資源裝置進行遠程訪問;儲存陣列對應儲存資源裝置,且包含至少部分的前述儲存節(jié)點。負載平衡裝置用于接收遠程訪問要求,用于選擇儲存資源裝置其中之一,以及用于傳送包含被選擇的該儲存資源裝置的地址的答允信息。
[0013]本發(fā)明還提供一種云端儲存系統,該云端儲存系統包括:多個儲存節(jié)點;一或多個儲存資源裝置,每一該儲存資源裝置用于接收一遠程訪問指令,用于攔截對應該遠程訪問指令的一系統呼叫,以及用于依據該系統呼叫,對一儲存陣列進行一近端存取,該遠程訪問指令指示對該儲存資源裝置進行一遠程訪問,該儲存陣列對應該儲存資源裝置且包括該些儲存節(jié)點其中一或多個;以及一負載平衡裝置,該負載平衡裝置用于接收一遠程訪問要求,用于選擇該或該些儲存資源裝置其中之一,以及用于傳送一答允信息,該答允信息包括被選擇的該儲存資源裝置的一地址。
[0014]本發(fā)明還提供一種內容遞送裝置,用于部署一臺計算機,使之具有使之執(zhí)行多道指令的程序代碼,彼等指令包含:攔截指示對儲存體進行本機存取的對操作系統的系統呼口q,以產生近端存取指令;依據近端存取指令,對對應儲存體的儲存陣列進行近端存取。在一實施例中,若前述本機存取是指將原始數據寫入儲存體,則產生對應原始數據的可容錯數據,并將可容錯數據寫入儲存陣列;在另一實施例中,若本機存取指的是自儲存體讀取原始數據,則自儲存陣列讀取可容錯數據,并自可容錯數據還原出原始數據。
[0015]本發(fā)明還提供一種內容遞送裝置,該內容遞送裝置用于部署一計算機,使該計算機具有使該計算機執(zhí)行多個指令的程序代碼,該些指令包括:攔截對一操作系統的一系統呼叫,以產生一近端存取指令,該系統呼叫指示對一儲存體進行一本機存取;以及依據該近端存取指令,對一儲存陣列進行一近端存取,該儲存陣列對應該儲存體,該近端存取對應該本機存取。
[0016]本發(fā)明可以成本平價便宜的大宗硬件架構出滿足負載平衡、高可用性和可伸縮的云端儲存,由于本發(fā)明純以軟件定義儲存,不依賴任何的特殊硬件設計,在管理上具有靈活性與機敏性。
[0017]以上關于本
【發(fā)明內容】
及以下關于實施方式的說明用以示范與闡明本發(fā)明的精神與原理,并提供對本發(fā)明的權利要求書的范圍更進一步的解釋。
【附圖說明】
[0018]圖1A是依據本發(fā)明一實施例的關于塊儲存網關模塊和儲存資源裝置的方框圖。
[0019]圖1B是依據本發(fā)明另一實施例的塊儲存網關模塊的方框圖。
[0020]圖1C是依據本發(fā)明一實施例的關于儲存陣列的方框圖。
[0021]圖2A與圖2B是依據本發(fā)明一實施例的提供對塊儲存的存取的方法的部分流程圖。
[0022]圖3是依據本發(fā)明一實施例的關于儲存中介系統的方框圖。
[0023]圖4A是依據本發(fā)明一實施例的儲存中介方法的流程圖。
[0024]圖4B是依據本發(fā)明一實施例的負載平衡裝置依據心跳信息選擇儲存資源裝置其中之一的流程圖。
[0025]圖5是依據本發(fā)明一實施例的云端儲存系統的方框圖。
[0026]主要組件符號說明:
[0027]I儲存資源裝置
[0028]10、11塊儲存網關模塊
[0029]101、111接收單元
[0030]103、113編解碼單元
[0031]105、115存取單元
[0032]12伺服模塊
[0033]2儲存陣列
[0034]21直接附加儲存節(jié)點
[0035]23網絡附加儲存節(jié)點
[0036]25儲存局域網絡
[0037]31網絡
[0038]32用戶端
[0039]4儲存中介系統
[0040]40負