新四季網

針對raid系統中的多種故障進行保護的方法和系統的製作方法

2023-10-08 13:55:09

專利名稱:針對raid系統中的多種故障進行保護的方法和系統的製作方法
技術領域:
本發明一般地涉及存儲設備的使用。更特別地,本發明的實施例涉及在存儲設備上實現RAID。更為具體地,本發明的一些實施例涉及RAID的分布式實施方式。
背景技術:
對許多實體來說數據代表著重要的財富。因此,無論是意外還是惡意行為造成的數據丟失都可以在浪費人力、失去與顧客的友好關係、喪失時間和潛在的法律責任等方面付出沉重代價。為了確保妥善保護用於商業、法律或其他目的的數據,許多實體可能期望使用多種技術保護其數據,包括數據存儲技術、冗餘技術、安全技術等等。然而,這些技術可能與其他競爭約束、由國家施加的要求或用於處理或存儲這種數據的計算設備的配置相衝突。應對這些緊張狀態的一種方法是執行獨立磁碟冗餘陣列(RAID)。一般地,RAID系統在共同被稱作陣列的多個硬碟驅動器(或其他類型的存儲介質)之間分割和複製數據, 從而增大可靠性並且在一些情況下使用這些用於存儲的RAID系統提高計算設備(已知為主機)的吞吐量。對於主機來說,RAID陣列可以作為一個或多個單片存儲器區域。當主機期望與RAID系統通信(讀、寫等等)時,主機將RAID陣列視為單個磁碟進行通信。反過來, RAID系統處理這些通信以結合這些通信執行特定的RAID級別。這些RAID級別可以被設計為在例如可靠性、容量、速度等多種權衡之間獲得一些期望的平衡。例如,RAID(級別)0以提高的速度並且基本使用磁碟的全部容量的方式在一些磁碟間分布數據,但是如果磁碟發生故障則磁碟上的全部數據將丟失;RAID(級別)1使用兩個(或更多個)磁碟,所述磁碟中的每一個均存儲相同數據,使得只要一個磁碟沒有故障,數據就不會丟失。陣列的全部容量基本等於單個磁碟的容量並且RAID (級別)5以保護任意一個磁碟的數據免於丟失的方式結合三個或更多個磁碟;陣列的存儲容量減少為一個磁碟。目前RAID的實施方式可能具有多種問題。這些問題可能源自這些RAID系統的構造所施加的限制,例如在許多情況下,與RAID系統的全部通信必須尋址到控制和管理所述 RAID系統的一個伺服器的事實。其他問題可能源自數據在包括RAID系統的磁碟上的配置或布置。例如,在一些情況下,必須選擇RAID級別並且在RAID系統能夠被使用前在RAID 系統內分派存儲。因此,最初選擇的RAID級別必須結合存儲在RAID系統上的數據來實現, 無論該RAID級別是否是被期望或需要的。此外,在許多情況下,現有的問題可能因為需要使用定製硬體或軟體來執行這些方案而惡化,增大與實現這種方案相關聯的成本。因此,期望充分地改善這些問題。

發明內容
公開了可以結合分布式RAID系統使用以針對多種故障進行保護的多種方法的實施例。更特別地,分布式RAID系統中的每個資料庫可以存儲數據段和NP段。在一些實施例中,不僅結合卷在多個資料庫間實現的RAID的級別(例如使用與其相應的數據段存儲在不同資料庫上的NP段),而且額外的RAID級別也可以在分布式RAID系統的每個資料庫內實現,從而保護每個資料庫內的數據。除了在多個資料庫間使用RAID外,通過在一個資料庫內使用RAID可以實現針對整個分布式RAID系統的故障的額外保護。具體地,在一個實施例中,除了結合一組資料庫間的卷實現RAID級別外,RAID級別還可以結合存儲在每個資料庫中的數據段實現。例如,RAID級別5可以在一個資料庫內實現,使得POD段可以產生並存儲在與相應的數據段位於不同磁碟的資料庫中,從而可以使用這些POD恢復所述相應的數據段。類似地,POP段可以產生並存儲在與相應的NP段位於不同磁碟的資料庫中,從而可以使用這些POP恢復所述相應的NP段。此外,在一些實施例中,RAID級別6可以在一個資料庫內實現,使得除了每個POD 段外,還可以產生相應的QOD段。通過將QOD段存儲在與相應的POD不同的磁碟上,還可以使用QOD恢復相應的數據段。同樣地,相應於POP段的QOP段可以產生並存儲在與相應的 POP段不同的磁碟上的資料庫中,使得相應的網絡奇偶校驗段可以額外地使用這些QOP段恢復。本公開的實施例提供了保護RAID系統避免多種故障的方法,所述方法消除或至少充分減少了之前可用的保護RAID系統避免多種故障的方法的缺點。特別地,本發明的實施例可以相對於之前可用的數據存儲設備提供多個優點,包括提供保護資料庫或磁碟故障的能力。事實上,一些實施例可以針對四個、五個或可能更多個磁碟故障提供保護。因此, 培養職員修理或替換發生故障的資料庫或磁碟可用的時間可能增大並且分布式RAID系統的故障間的平均時間增大。一些實施例還可以通過即使在內部故障損壞數據時,仍允許資料庫內部再生被損壞的數據,而提供在所述資料庫之間減少的網絡流量的優點。本發明的這些和其他方面將在結合以下說明和附圖考慮時被更好地認識和理解。 以下說明雖然指示了本發明的各種實施例及其多個具體細節,但其是以示例而非限制的方式給出的。可以在本發明的範圍內進行許多替換、修改、添加或重置,並且本發明包括全部這些替換、修改、添加或重置。


附圖以及本說明書的構成部分被包括以描述本發明的一些方面。對本發明以及本發明提供的系統的組件和操作的更清楚的印象將通過參考附圖中顯示的示例性的,並且因此是非限制性的實施例而變得更為顯然,其中相同的附圖標記代表相同的組件。注意,附圖中顯示的特徵未必按比例繪製。圖1是應用分布式RAID系統的構造的一個實施例的框圖。圖2A是資料庫的一個實施例的框圖。圖2B是用於資料庫的構造的一個實施例的框圖。圖3是通過分布式RAID系統實現的方法的一個實施例的流程圖。圖4是應用分布式RAID系統的構造的一個實施例的示例的框圖。圖5是一種表格的一個實施例的框圖。圖6是一種表格的一個實施例的框圖。圖7是一種表格的一個實施例的框圖。圖8是通過分布式RAID系統實現的方法的一個實施例的流程圖。
圖9A是通過分布式RAID系統實現的方法的一個實施例的流程圖。圖9B是通過分布式RAID系統實現的方法的一個實施例的流程圖。圖10是寫入式高速緩衝存儲器的一個實施例的框圖。圖11是通過分布式RAID系統實現的方法的一個實施例的流程圖。圖12是通過分布式RAID系統實現的方法的一個實施例的流程圖。圖13A-13C是一個資料庫內的RAID級別的一個實施方式的示例的框圖。
具體實施例方式本發明及其多個特徵和有益細節通過參考在附圖和具體實施方式
中說明的非限制性的實施例被更全面地解釋。省略了對公知的原始材料、工藝技術、組件和儀器的說明以免不必要地在細節上混淆本發明。然而,應該理解,雖然詳細的說明和具體的示例指示了本發明的優選實施例,但其僅以示例性方式而非限制的方式給出。通過本公開,重要的創造性概念的精神和/或範圍內的各種替換、修改、添加和/或重置對本領域技術人員將變得顯然。此處討論的實施例能夠以可以存儲在計算機可讀介質(例如,HD)、硬體電路或類似物或任意組合上的適當的計算機可執行的指令實現。在討論具體實施例之前,此處說明用於實現特定實施例的硬體構造的實施例。一個實施例可以包括與網絡通信地耦接的一臺或多臺計算機。如本領域技術人員公知的,計算機可以包括中央處理單元(「CPU」)、至少一個只讀存儲器(「ROM」)、至少一個隨機存取存儲器(「RAM」)、至少一個硬碟驅動器(「HD」)和一個或多個輸入/輸出(「I/O」)設備。 所述I/O設備可以包括鍵盤、監視器、印表機、電子指向設備(例如,滑鼠、軌跡球、指示筆等等)或類似物。在多個實施例中,計算機通過網絡訪問至少一個資料庫。R0M、RAM和HD是用於存儲由CPU可執行的計算機可執行指令的計算機存儲器。在本公開內,術語「計算機可讀介質」不限於ROM、RAM和HD,而是可以包括可由處理器讀取的任意類型的數據存儲介質。在一些實施例中,計算機可讀介質可以涉及數據磁帶、數據備份磁帶、軟磁碟、快閃記憶體驅動器、光學數據存儲驅動器、CD-ROM、ROM、RAM、HD或類似物。此處說明的功能或處理中的至少部分能夠以適當的計算機可執行指令實現。計算機可執行指令可以被存儲為一個或多個計算機可讀介質(例如,非易失性存儲器、易失性存儲器、DASD陣列、磁帶、軟磁碟、硬碟驅動器、光學存儲設備等等,或任意其他適當的計算機可讀介質或存儲設備)上的軟體代碼組件或模塊。在一個實施例中,計算機可執行指令可以包括多行彙編C++、Java, HTML或任意其他編程或腳本代碼。此外,公開的實施例的功能可以在一臺計算機上實現或者在網絡中或橫跨網絡的兩臺或更多臺計算機中共享/分布。實現實施例的計算機之間的通信可以使用任意的電子、光學、射頻信號或者遵從已知網絡協議的其他適當的通信方法和工具來完成。如此處所使用的,術語「包括」、「包含」、「具有」、「有」或其任意其他變體意圖覆蓋非獨佔性的內容物。例如,包括一列元件的處理、工藝、物品或裝置不必僅限於那些元件,而是可以包括未特別列出或這些處理、工藝、物品或裝置固有的其他元件。進一步地,除非特別聲明相反的情況,「或」涉及開放的或而不涉及獨佔的或。例如,條件A或B滿足以下任意一個:A是真(或存在)並且B是假(或者不存在),A是假(或者不存在)並且B是真 (或者存在),並且A和B是真(或者存在)。
此外,此處給出的任意示例或說明不被視為以任何方式約束、限制或表示其所使用的任意一個或多個術語的定義。而是,這些示例或說明被視為關於一個特定的實施例加以說明並且僅是示例性的。本領域技術人員將意識到,這些示例或說明所使用的任意一個或多個術語將包含可能在說明書中隨後或任意位置給出或未給出的其他實施例,並且全部這些實施例意圖被包括在所述一個或多個術語的範圍內。指明這種非限制性示例和說明的語言包括但不限於「例如」、「比如」、「如」、「在一個實施例中」。本申請涉及由Galloway等人於2009年6月5日提交的名為「Method and System for Distributed RAID Implementation」 的美國專利申請 No. 12/479,319 ;由 Galloway 等人於 2009 年 6 月 5 日提交的名為「Method and System for Data Migration in a Distributed RAIDImplementation"的美國專利申請 No. 12/479,360 ;由 Galloway 等人於 2009 年 6 月 5 日提交的名為「Method and System for Distributing Commands to Targets」的美國專利申請No. 12/479,403 ;由feilloway等人於2009年6月5日提交的名為「Method and System for Initializing Storage in a Storage System,,的美國專利申請 No. 12/479,377 ;由 Galloway 等人於 2009 年 6 月 5 日提交的名為 「Method and System for Rebuilding Data in a Distributed RAID System」的美國專利申請 No. 12/479,434 ; 以及由Galloway等人於2009年6月5日提交的名為「Method and System for Placement of Data on aStorage Device」的美國專利申請No. 12/479,394 ;所有這些專利申請的全部內容均作為參考併入本文。現在特別地關於數據存儲的內容的簡要討論可能是有幫助的。如上所述,RAID系統在共同被稱作陣列的多個硬碟驅動器(或者其他類型的存儲介質)間分割並且複製數據,從而增大可靠性並且在一些情況下使用這些用於存儲的RAID系統提高計算設備(已知為主機)的吞吐量。然而,RAID的目前的實施方式可能具有多種問題。這些問題可能源於由這些RAID系統的構造施加的限制,例如在許多情況下與RAID系統的全部通信必須尋址到控制和管理RAID系統的單個伺服器的事實。其他問題可能由包括RAID系統的磁碟上的數據的配置或布置引起。例如,在特定情況下,必須選擇RAID級別並且在RAID系統能夠被使用前在RAID系統內分派存儲。因此,最初選擇的RAID級別必須結合存儲在RAID系統上的數據來實現,無論該RAID級別是否是被期望或需要的。此外,在許多情況下,現有的問題可能因為需要使用定製硬體或軟體來執行這些方案而惡化,增大與實現這種方案相關聯的成本。因此,期望充分改善這些問題以及其他問題。為此,現在注意力被指向本發明的系統和方法。這些系統和方法的實施例提供了包括一組資料庫的分布式RAID系統。更特別地,在分布式RAID系統的特定實施例中,每個資料庫具有一組相關聯的存儲介質並且執行類似的分布式RAID應用。每個資料庫上的分布式RAID應用自身進行協調以分布和控制數據流,所述數據流與結合存儲在資料庫的相關聯的存儲介質上的數據而實現RAID的級別相關聯。具體地,在一些實施例中,可以使用分布式RAID系統產生具有相關聯的RAID級別的卷。每個分布式RAID應用之後可以協調與所述卷的數據相關聯的操作,從而使與所述卷相關聯的數據或結合所述卷的期望的RAID級別的實施方式可以被存儲在分布式RAID系統的多個資料庫上。通過由使用類似的分布式RAID應用在這些資料庫中的每個資料庫上執行的將所述卷的數據和與RAID的實施方式相關聯的數據存儲在多個資料庫上,而協調結合卷的 RAID的級別的實施方式,可以獲得多個優點。即,可以指派不同的存儲卷,其中一個或多個卷結合不同的RAID級別實現。此外,當使用基本相同的分布式RAID應用完成資料庫間存儲的協調和RAID的實施方式時,在許多情況下,可以使用標準的或現貨供應的硬體,例如基於標準x86的伺服器和存儲介質。使用此處呈現的實施例或其他實施例還可以實現許多其他的優點,並且這些可能或未能被特別詳細地指出的優點將在閱讀本公開後發現。現在轉到圖1,描述了使用分布式RAID系統的一個實施例的系統的構造的框圖。 分布式RAID系統100包括一組資料庫110,每個資料庫110與兩個開關120通信地耦接。 每個開關120還與每個主機102通信地耦接,從而使主機102可以通過相應於特定資料庫 110的一組路徑與每個資料庫110通信,每個路徑包括開關120中的一個。可以使用幾乎任何期望的傳輸介質(有線或無線的)來實現資料庫110、開關120 和主機102之間的通信耦接,包括乙太網、SCSI (小型計算機系統接口)、iSCSI (網際網路小型計算機系統接口)、光纖信道、串行連接的SCSI ( 「SAS」)、高級技術附加裝置(「ΑΤΑ」)、 串行ATA( 「SATA」)或本領域公知的其他協議。此外,通信耦接可以結合通信網絡實現,例如網際網路、LAN、WAN、無線網絡或本領域公知的任何其他的通信網絡。之後,在一個實施例中,使用命令協議,例如iSCSI、SCSI等等,主機102可以與資料庫110通信以操控數據。更特別地,每個資料庫110包括存儲介質(如之後將在本文中更詳細地說明的)。共同地,資料庫110中的存儲介質可以被虛擬化並作為存儲器、存儲設備、等等的一個或多個相鄰的單元呈現到主機102。例如,當使用iSCSI協議時,資料庫110 中的存儲介質可以作為SCSI目標被呈現給主機102,所述SCSI目標在一個實施例中具有多個埠。因此,在操作期間,在一個實施例中,主機102(或主機102處的用戶或與資料庫 110接合的用戶)可以請求創建卷並且指定將結合所述卷實現的RAID的級別。與所述卷相關聯的數據以及與所述卷相關聯的期望級別的RAID的實施方式存儲在資料庫110間。主機102之後可以使用相應於所述卷或其一部分的邏輯地址訪問該卷。以此方式,主機102 可以利用創建的存儲器的卷,並且可以結合這些卷實現幾乎不被主機102察覺的容錯性。存儲器的虛擬化以及使用資料庫110的RAID的實施方式可以參考圖2A被更好地理解,圖2A描述了可操作為實現分布式RAID的資料庫110計算機的一個實施例的框圖。此處,資料庫110包括數據貯存器250以及可操作為執行存儲在計算機可讀介質上的指令的處理器202,其中所述指令可操作為實現分布式RAID應用210。分布式RAID應用210可以周期性地發布心跳通信到其他資料庫110上的分布式RAID應用210,以確定是否存在關於所述資料庫110的故障。如果分布式RAID應用210確定另一個資料庫110正經歷故障,則所述分布式RAID應用210可以設置相應於所述資料庫110的一個或多個故障標記。使用這些用於每個資料庫110上的分布式RAID應用210的故障標記,特定的分布式RAID應用 210可以確定某個資料庫110是否存在故障。分布式RAID應用210還可以訪問(例如,以讀取、寫入、發布命令,等等)到包括一個或多個存儲介質的數據貯存器250,所述存儲介質可以例如為根據已知的幾乎任何協議操作的磁碟252,例如根據SATA、PATA、FC、等等。在每個資料庫110上執行的分布式RAID 應用210可以允許使用資料庫110間的數據貯存器250的卷的分派和使用,以及利用一組全局表格240結合這些卷的RAID的實施方式,所述全局表格240在資料庫110、一組本地表格245和寫入式高速緩衝存儲器260之間共享,全部這些均可以存儲在存儲器230中(其可以是數據貯存器250或其他存儲器)。圖2B描述了硬體構造的一個實施例的框圖,所述硬體構造可以用於實現可操作為實現分布式RAID的資料庫110計算機。在這種構造的示例中,資料庫110包括一個或多個處理器202和存儲器230,所述處理器202可以連接英特爾(Intel)X86構造或其他一些構造,所述存儲器230通過總線耦接到I/O控制器網絡集線器212,所述I/O控制器網絡集線器212在一個實施例中可以是南橋晶片或類似物。反過來,所述I/O控制器網絡集線器 212可以耦接到總線272並且控制總線272,例如PCI-X總線、PCI-express總線、等等。耦接到這個總線272的是一個或多個磁碟控制器沈2,例如,如LSI 1068 SATA/SAS控制器。 這些磁碟控制器262中的每一個均耦接到一個或多個磁碟252,其中這些磁碟252可以共同地包括數據貯存器250。此外,一個或多個網絡接口 282還可以耦接到總線272。這些網絡接口 282可以是包括在母板上的網絡接口(例如,乙太網,等等),所述網絡接口 282可以包括配置為經由一個或多個協議(例如乙太網、光纖信道、等等)接合的一個或多個網絡接口卡,或者所述網絡接口 282可以是其他一些類型的網絡接口,所述網絡接口使得資料庫110 可以通過這些網絡接口 282與開關120通信。現在參考圖3,說明了一種用於卷的分派以及與資料庫110間的數據貯存器250中的這些卷相關聯的數據的布置的方法的一個實施例。最初,在卷被分派到數據貯存器250 的磁碟252上之前,磁碟252可以在步驟305處被格式化。如上所述,為了具有從任何故障容易且簡單地恢復的能力,冗餘數據可能需要關於任意相應的存儲數據是精確的。在許多情況下,這可能使得使用的磁碟252通過自磁碟252上的區域中的當前數據計算冗餘數據而存儲被格式化的卷,其中即便存儲在這些區域的數據可能在當前普遍為無用值,部分卷也將被存儲。這些計算可能耗費不希望看到的大量時間。此外,在例如關於圖1詳細說明的分布式RAID環境中,可能本身存在其他問題。更具體地,由於卷的不同部分可以存儲在不同的資料庫110上,並且相應於所述卷的冗餘數據還可以被存儲在各個資料庫110上,因此完成這種類型的格式化可以額外地要求資料庫 110上的分布式RAID應用210之間的大量通信,耗費了處理器周期和通信帶寬。因此,在一個實施例中,為了確保相應於磁碟的將存儲卷的數據的區域的冗餘數據關於磁碟252的將存儲所述卷的數據的所述區域是精確的,可以在磁碟252上將存儲相應於所述卷的數據的所述區域以及磁碟252上將存儲冗餘數據的所述區域中寫入零值。通過將磁碟252上將存儲卷的數據的區域和磁碟252上將存儲冗餘數據的區域調整為零,可以保證所述卷中的任何數據均可以通過其相應的冗餘數據重建。將磁碟252調整為零可以具有其他優點。即,可以不需要執行複雜的計算來確定冗餘數據,並且分布式RAID應用210之間可以不進行通信以在將存儲卷的區域和將存儲相應於這些區域的冗餘數據的區域之間獲得相對的精確。重要的是,通過將磁碟252的用於卷及其相應的冗餘數據的區域調整為零,可以避免RAID系統100的可用性中的顯著延遲。這些優點可以通過使用在操作期間基本連續地將磁碟252的未分派區域調整為零的處理而獲得,所述磁碟252的未分派區域源自例如分布式RAID系統100的最初的使用、新磁碟252的安裝、卷的刪除、等等。在這些情況下,每個資料庫110上的磁碟252的當前未分派(S卩,目前未分派)區域可以具有寫入其中的零值(被稱作將所述區域「調整為零」)。被調整為零的磁碟252的未分派區域可以被跟蹤,從而當相應於卷的某部分的命令或與卷的某部分相關聯的冗餘數據在所述部分被分配的資料庫110處被接收時,分布式 RAID應用210可以檢查以確定所述部分是否被分配了所述部分被分配的資料庫110上的磁碟252的相應區域。如果未分配資料庫110上的磁碟252的相應區域,則分布式RAID應用210可以選擇被調整為零的磁碟252的區域,並且將磁碟252的該區域分配到所述卷或相應的冗餘數據的所述部分。通過同時將之前未被調整為零的任意未分配的區域調整為零並且等待直到相應於卷或冗餘數據的某部分的命令被接收以將磁碟252的被調整為零的區域分配到所述部分,分布式RAID系統100可以幾乎立即工作而不需要較長的相關格式化處理,且可以添加新磁碟252,並且卷的刪除或釋放對分布式RAID系統100的操作是相對不易被察覺的。因此,將注意到,在閱讀了以上內容之後,所述步驟305 (其中磁碟252被格式化) 可以在創建關於分布式RAID系統100的卷之前、期間或之後完成並且步驟305(以及在本文的全部流程圖中的其他全部步驟)的放置暗示各步驟之間是無序的。還將注意到,在徹底瀏覽了圖1中的其餘步驟以及本公開的剩餘內容後,可以創建卷,並且所述卷和相應於所述卷的冗餘數據的部分在這些資料庫110上的磁碟252上的物理區域被分配為存儲所述卷或冗餘數據的所述部分之前被分配到資料庫110,並且進一步地,將用於存儲相應於這些部分的數據的磁碟252上的物理區域調整為零可以發生在創建所述卷之前或創建所述卷之後但在這些物理區域被分配到所述卷或冗餘數據的相應部分之前(如以下更詳細的討論)。這些位置可以參考段的概念被更好地解釋,所述段可以由分布式RAID應用210的實施例使用,其中段可以具有2048邏輯塊地址(LBA)的尺寸(或者其他一些尺寸),並且所述邏輯塊地址的尺寸相應於磁碟252的扇區尺寸。每個資料庫110上的數據貯存器250中的磁碟252因此可以在步驟310處被分離成等尺寸的段(例如,1MB)。這些段可以相應於磁碟驅動器252的一個或多個相鄰數據塊。因此,當用戶或主機102在步驟320處請求自分布式RAID應用210創建卷,並且指定在步驟330處將與所述卷結合使用的RAID的級別時, 相應於被請求的所述卷的尺寸的多個這些段加上期望結合所述卷實現RAID的期望級別的段的數量可以在步驟340處被分配到所述卷。因此,所述卷包括多個段(同樣被稱作邏輯段),其中這些段中的每一個可以與特定的資料庫110相關聯,從而使資料庫110可以被分配為管理所述卷的該段。該段可以例如具有2048邏輯塊地址(LBA)的尺寸,其中邏輯塊地址的尺寸相應於磁碟252的扇區尺寸 (其他配置和尺寸也將是可行的)。在絕大多數情況下,包括所述卷的該段的物理存儲將被存儲在管理該段的資料庫110的數據貯存器250中,然而,在其他情況下,相應於該段的數據可以存儲在不同的資料庫110的數據貯存器205中(換句話說,在特定情況下,包括管理該段的分布式RAID應用的資料庫110可以與包括存儲相應於該段的數據的數據貯存器250 的資料庫110相區別)。在一個實施例中,對相應於特定卷的資料庫110的段分派可以通過確定相應於分布式RAID系統100的一組資料庫110的隨機排列而完成。因此,如果存在六個資料庫,則可以確定尺寸為6的隨機排列,其中所述隨機排列包括每個資料庫,使得所述段可以以所述隨機排列的順序被連續地分配到每個資料庫。例如,假設分布式RAID系統中具有四個資料庫110(將其稱作資料庫1、資料庫2、 等等)。可以確定資料庫2、資料庫4、資料庫1和資料庫3的隨機排列。在這種情況下,相應於卷的第一段在資料庫2上,第二段可以在資料庫4上,第三段在資料庫1上,第四段在資料庫3上並且第五段再次回到資料庫4上。以此方式,如果已知相應於所述卷的隨機排列,則相應於所述卷的特定段的位置可以數學方式確定。如上所述,在步驟330處,用戶可以指定RAID的級別結合卷實現。在此情況下,分布式RAID應用210可以確保相應於結合卷的RAID的實施方式的任何數據均在步驟350處被存儲在適當位置,使得RAID信息恰當地分布在資料庫110間,以確保獲得期望的RAID的級別。例如,如果期望結合卷實現RAID 5,則分布式RAID應用210可以確定期望的RAID 奇偶校驗群組尺寸(例如,基於用戶配置的RAID集合或另外確定的RAID集合)。這種確定可以基於分布式RAID系統中的資料庫110的數量並且在一個實施例中, 可以是一個小於資料庫110的數量的數(額外地加1以說明奇偶校驗數據)。為了說明,如果存在五個資料庫110,對於每四個存儲了與卷相關聯的數據的段 (被稱作數據段),一個段專用於奇偶校驗並且用於四個段的所述奇偶校驗被計算並存儲在該奇偶校驗段中,其中所述奇偶校驗段專用於資料庫110,該資料庫110的數據貯存器 250不包括用於計算奇偶校驗段的奇偶校驗數據的數據段。這樣,相應於邏輯卷的每個段均被分配到特定的資料庫110,並且被用於存儲相應於所述卷的RAID數據的任何段100(此處被可替換地稱作冗餘段或奇偶校驗段,不失一般的適用性地使用所述段以存儲與結合卷的RAID的任何級別的實施方式相關聯的任意類型的冗餘數據)同樣被分配到資料庫110,然而,資料庫的數據貯存器250的磁碟252的物理扇區可能未被分配為存儲相應於那些段的數據。因此,在步驟360處,所述卷的邏輯段被分配到的資料庫110上的磁碟252的物理段可以被確定並被分配到所述邏輯段。這種段映射可以被存儲在每個資料庫110的本地表格M5中。如前所述,這種分配可以在稍後的某點處發生,例如,當命令首先試圖寫入邏輯段時。當作出該分配時,在一個實施例中,磁碟252的區域不同性能特徵可以關於被訪問的邏輯段說明。換句話說,磁碟252可以具有比相同磁碟的其他段更有效地訪問的段。因此,在一個實施例中,可能期望基於與邏輯段相關聯的標準分配磁碟252的物理段。所述特徵可以包括例如,與相應於所述邏輯段的卷相關聯的服務質量、對包括所述邏輯段的所述卷的多次訪問等等。之後,在步驟370處,相應於所述卷的信息可以被存儲,使得可以從這種被存儲的信息確定相應於所述卷的段的位置或相應於結合所述卷的RAID的實施方式的段的位置。 這種被存儲的信息(共同被稱作映射數據)可以因此包括對所述卷的標識、相應於所述卷的隨機排列(例如,指示所述段所在的資料庫110的順序)和任何RAID實施方式的奇偶校驗群組尺寸(例如,所述卷是否相應於4+1個RAID集合、所述卷是否相應於7+1個RAID集合、RAID 1是否被實現、等等)。例如,這種數據可以被存儲在全局表格240中,使得其可以被傳輸到其他資料庫110上的其他分布式RAID應用210,從而確保與每個分布式RAID應用210相關聯的表格MO的集合的至少一部分保持基本一致並且保持所述位置。以上說明可以參考圖4被更好地理解,圖4說明了具有五個資料庫110的分布式 RAID系統的一個實施例的一個示例。此處,每個資料庫110的每個數據貯存器250被布置為等尺寸的段402的集合,為本示例中的目的,假設具有1MB的尺寸。設想,現在主機102 請求來自資料庫IlOb上的分布式RAID應用210b的具有RAID級別5的8MB的卷。在此情況下,分布式RAID應用210b可以確定所述卷的數據部分要求八個段402,而可能要求兩個段402以結合用於所述卷的期望RAID級別的實施方式來存儲所述卷的冗餘數據。分布式 RAID應用210b之後可以確定用於所述卷的隨機排列。為本示例中的目的,假設隨機排列是資料庫110b、資料庫110d、資料庫110a、資料庫IlOc和資料庫110e。因此,資料庫IlOb 可以是分配段40加,即被請求的卷的第一段,資料庫IlOd可以是分配段402b,即被請求的卷的第二段,資料庫IlOa可以是分配段402c,即被請求的卷的第三段,資料庫IlOc可以是分配段402d,即被請求的卷的第四段,並且資料庫IlOe可以是分配段402e,即被請求的卷的第五段。接著,所述分配再次開始於隨機順序的第一資料庫110,使得資料庫IlOb可以是分配段402f,即被請求的卷的第六段,資料庫IlOd可以是分配段402g,即被請求的卷的第七段,並且資料庫IlOa可以是分配段40池,即被請求的卷的第八段。一旦用於存儲與所述卷相關聯的數據的數據段40加-40池被分配,則分布式RAID 應用210b可以為段402分配與該RAID級別的實施方式相關聯的任何數據。在本示例中, 由於所述卷期望RAID 5,因此分布式RAID應用210b可以確定當使用五個資料庫110時,可以期望(4+1)個奇偶校驗集合。分布式RAID應用210b之後可以確定為了存儲所述奇偶校驗以結合八個段402實現RAID 5,可能需要額外的兩個段402。此外,可能期望利用數據段402的特定集合產生的奇偶校驗不存儲於在其數據貯存器中具有數據段402的那些集合中的任意集合的資料庫110上。因此,分布式RAID應用 210b還可以確定每個奇偶校驗段將基於被確定的RAID奇偶校驗群組尺寸分派的位置,所述第一數據段40 的位置等等。此處,奇偶校驗段402i將被分派在資料庫IlOc的數據貯存器250c中,所述奇偶校驗段402i將存儲相應於存儲在數據段4(^a、402b、402c和402d 中的數據的奇偶校驗數據,而奇偶校驗段402 j將被分派在資料庫IlOe的數據貯存器250e 中,所述奇偶校驗段402 j將存儲相應於存儲在數據段4(^e、402f、402g和40 中的數據的奇偶校驗數據。此處注意,奇偶校驗段402i、402j被布置並設計尺寸為基本等同於存儲與卷相關聯的數據的那些段40h-402h,所述奇偶校驗段402i、402j將存儲與結合包括數據段40h-402h的卷的RAID的實施方式相關聯的奇偶校驗信息。因此,當主機102訪問所述卷時,具有相應於所述卷的第一數據段的邏輯地址的請求可以相應於資料庫IlOb上的數據段40 ,具有相應於所述卷的第二數據段的邏輯地址的請求可以相應於資料庫IlOd上的數據段402b,等等。此處注意,被分派的數據段 402a-402h可以位於不同的資料庫110上,並且任何被分派的數據段40加-40濁的位置可以使用與所述卷相關聯的隨機排列來確定(例如,當存儲在資料庫110處的全局表格MO中時)。然而,如上所述,資料庫110上的數據貯存器250被虛擬化,因此,發出請求的主機可能不知道數據貯存器250中的數據段402的位置、多個數據貯存器250的存在、數據貯存器 250在多個資料庫110間分布、等等。主機102相信其正尋址單個連續的卷。顯然的是,在本示例中,資料庫110上的數據段402的位置(以及資料庫110的相應的隨機排列)為的是說明,並且卷的數據段402可以根據幾乎任意隨機排列或其他排列而位於任意資料庫110上的任意數據貯存器250上。此外,應該注意到,雖然每個段402在本示例中為1MB,但這些段可以不失一般性地為任意尺寸,並且選擇1MB的尺寸僅是為了易於說明。如可從以上說明中看到的,特定的數據段402或奇偶校驗段402的位置可以使用與所述卷和RAID奇偶校驗群組尺寸相關聯的隨機排列,通過算法確定(例如,使用與用於分配所述卷的段、定位所述卷的奇偶校驗段等等的隨機排列相同的隨機排列)。因此,所述信息可以結合相應於所述卷的標識被存儲在例如全局表格MO的集合中。進一步地,這些全局表格240可以在資料庫110之間傳輸或者被更新,使得在每個資料庫110中的所述全局表格MO的集合的至少部分可以被保持為基本一致。此處簡單地進行對與分布式RAID應用210相關聯的全局表格MO的更為詳細的研究可能是有益的。如上所述,在一個實施例中,全局表格240可以存儲與由分布式RAID 應用210產生的卷相關聯的信息,在所述分布式RAID應用210中,那些表格240可以用於確定與該卷內的數據段相關聯的資料庫110,或者與相應於該卷的數據段相關聯的奇偶校驗段被定位。因此,全局表格240可以包括表格的集合,每個表格相應於關於資料庫110實現的卷。特別地,這些表格240中的一個可以包含數據,該數據可以用於識別其數據貯存器 250包括卷的特定段的資料庫110。具體地,這種表格可以用於使與卷相關聯的邏輯地址與存儲有相應於該邏輯地址的段(數據、冗餘、等等)的資料庫110相關。圖5說明了這種類型的表格的一個實施例的圖示,其中每個卷可以具有這種相關聯的表格的相關聯的實例。表格550包括用於LV數字504、段尺寸508、段計數512、服務質量(QOS) 514、範圍計數518的項目、用於範圍項目的信息,所述範圍項目包括在說明第一範圍52 和第二範圍524b以及任意額外的範圍項目52 的實施例中。LV數字504是用於識別特定卷的唯一數字,段尺寸508相應於用於實現所述卷的段的尺寸,段計數512相應於與邏輯卷相應的段的數量(例如,數據段和冗餘段兩者的數量、僅數據段的數量、等等),QOS 514表示期望關於所述卷實現的服務質量(注意,這種 QOS指示符可以表示給予該卷相對於資料庫110上存儲的其他卷的優先級)並且範圍計數 518表示與所述卷相關聯的多個範圍,而範圍項目5 中的每一個均相應於這些範圍中的一個。範圍可以相應於特定的資料庫110順序和RAID實施方式。多個範圍可以被用於實現卷的原因是多種多樣的。具體地,例如,多個範圍可以結合卷使用,因為不同資料庫110 處的不同數據貯存器250可以具有在數據貯存器250中可被利用的不同數量的存儲。這可以導致的情況例如為,對於卷的第一範圍,全部資料庫110可以結合第一 RAID實施方式被使用,而在卷的第二範圍中,可利用的少於全部的資料庫110可以結合第二 RAID實施方式使用(其中實際上,第一和第二 RAID實施方式可以具有彼此不同的級別)。這些範圍中的每一個因此可以相應於根據不同資料庫110順序(例如,隨機排列,等等)布置的段,具有可用的不同數量的資料庫110、不同類型的RAID,等等。為了說明而使用具體的示例,再次簡要地參考圖4。假設具有RAID級別5的8MB 的卷如圖所示布置,其中數據段根據資料庫110b、資料庫110d、資料庫110a、資料庫IlOc和資料庫IlOe的順序布置並且RAID 5結合使用的所述卷實現,可能期望(4+1)個奇偶校驗集合,其中奇偶校驗段被分配在資料庫IlOc的數據貯存器250c和資料庫IlOe的數據貯存器250e中。現在假設請求向這種卷增加額外的3MB。然而,在此情況下,假設資料庫110e、 IlOc和IlOd的數據貯存器250沒有更多的空間。因此,在此情況下,唯一的解決方案可能是將額外期望的3MB在資料庫IlOa和IlOb之間分派,所述資料庫IlOa和IlOb在資料庫 250中具有剩餘的存儲。進一步地,由於僅有兩個資料庫110可用,因此可能僅可以利用 RAID級別1,而不是如在第一個8MB的卷中使用的RAID 5。因此,在此情況下,所述第一個 8MB的卷可以相應於第一範圍,並且在相應於具有第一組值的卷的表格中具有第一範圍項目,而下一個3MB的卷可以相應於第二範圍,並且在相應於具有第二組值的卷的表格中具有第二範圍項目。如在閱讀了本公開後可以清楚了解的,這種類型的事件可能以一定頻率發生。回到圖5,在許多情況中,為了應對這些類型的情況,卷的每個範圍可以在表格 550中具有一個項目,使得在該特定的範圍中的段的位置可以自相應於該範圍的範圍項目確定。用於相應於表格陽0的卷的每個範圍的項目5M與範圍計數518相關聯。在一個實施例中,範圍計數518可以相應於卷的範圍的數量,使得範圍項目5M的數量相應於範圍計數518。雖然僅顯示了範圍項目52 和524b,但應該注意表格中範圍項目5 的數量將基於範圍的數量,所述範圍的數量相應於該表格對應的卷。因此,如果一個卷被劃分為三個範圍,則表格550中將具有三個範圍項目524,使得存在範圍項目524,該範圍項目5M包括用於相應於表格550的卷的每個範圍的信息。用於範圍項目5M的信息包括類型526、開始530、結束534、網絡RAID 538、網絡 RAID尺寸M2、磁碟RAID M6、磁碟RAID尺寸550、資料庫計數554、資料庫順序558以及磁碟計數562和磁碟順序566,該磁碟計數562和磁碟順序566相應於用於存儲與範圍5M 相關聯的段的每個資料庫110(換句話說,存在等於所述範圍項目5M的資料庫計數554的磁碟計數562和磁碟順序566)。類型5 說明了相應於範圍項目5 的信息的範圍類型; 例如,常態、源(SRC)、目的地(DST)或其他類型的範圍。開始230是相應於範圍項目5M的卷的範圍的第一個邏輯段地址。結束234是相應於信息的所述範圍的最後的邏輯段地址, 所述信息針對相應於範圍項目5M的卷的範圍。其他配置也是可行的,例如,結束5M可以是一個計數,該計數是所述範圍中的段或塊的最大數量,等等。資料庫計數562可以相應於資料庫110的數量,在所述資料庫110上具有相應於範圍項目的範圍,資料庫順序558可以是該範圍中的段被分配到資料庫110的順序,而網絡 RAID 538、網絡RAID尺寸M2、磁碟RAID 546和磁碟RAID尺寸552可以相應於結合相應於範圍項目5M的卷的範圍實現的RAID的類型。網絡RAID 538是與相應於表格550的卷相關聯地實現的RAID的類型,例如,RAID 0、RAID 1或RAID 5或者其他RAID類型。網絡RAID尺寸542是在所述範圍中使用的RAID 類型的奇偶校驗群組尺寸。網絡RAID尺寸542可以由所述範圍中的資料庫110的數量限制,從而小於或等於相應於範圍524的信息的範圍中的資料庫的數量。磁碟RAID546是在所述範圍中的資料庫中的磁碟間實現的RAID的類型。磁碟RAID尺寸552可以是RAID類型的奇偶校驗群組尺寸,該RAID類型用於每個資料庫110的數據貯存器250中的磁碟252 間,並且磁碟RAID尺寸552可以被限制為小於或等於資料庫中的磁碟的數量。在多個實施例中,所述範圍中的資料庫110中的磁碟間的RAID是可選的並且可以使用或者不使用。在這些實施例中,可以不使用或者可以省略磁碟RAID 546和磁碟RAID尺寸552中的一者或兩者。資料庫計數5M是所述範圍中的資料庫的數量並且資料庫順序558是在所述範圍中的資料庫110間實現的RAID的順序(例如,呈條型)。例如,資料庫110可以具有以特定順序保存的相應於所述卷的邏輯地址的數據,並且資料庫順序558相應於這種順序。磁碟計數562是所述範圍的資料庫110內的磁碟的數量,並且磁碟順序566是RAID在特定的資料庫110的磁碟間實現的順序。例如,磁碟252可以具有以特定順序保存於所述磁碟中的段,並且磁碟順序566是段在資料庫110中的磁碟252間存儲的順序。因此,對於用於存儲與範圍項目5M相關聯的範圍的段的每個資料庫110,存在相應的磁碟計數562和磁碟順序 566(換句話說,在一個實施例中,磁碟計數562和磁碟順序566的數量將等於該範圍項目 524的資料庫計數554)。在多個實施例中,資料庫110中的磁碟252間的RAID是可選的並且可以不使用。應該注意到雖然表格550被具體地說明,但本說明是示例性方式而非限制性方式的,並且可以使用其他形式的表格陽0。例如,可以使用虛擬表格取代表格550,並且可以清楚地列出相應於每個邏輯地址的段402和資料庫110。因此,如前所述,表格550中的信息可以用於識別包括相應於邏輯地址的數據段 402的資料庫110(所述邏輯地址在命令或任意其他背景中被主機102引用)。例如,已知段402的尺寸並且使用開始530、結束534、相應於地址的範圍項目524、等等,可以確定相應於卷的邏輯地址的特定的資料庫110。雖然表格240的一個或多個部分可以在全部資料庫110間基本相同並且可以說明如上所述跨越一個或多個資料庫110的一個或多個邏輯卷,但資料庫110上的其他表格M5 可以與其相應的資料庫110不同(例如,表格245可以對其上執行有相應的分布式RAID應用210的資料庫110是唯一的)。這種表格245可以包括數據,該數據屬於包括在相應的資料庫110的數據貯存器250中的每個磁碟252,並且這種表格245可以包括存儲在數據貯存器的磁碟252上或數據貯存器的磁碟252間的信息,例如,具有被分配到資料庫110的段 402的磁碟252的扇區位於數據貯存器250中。在圖6中,說明了這種類型的表格的一個實施例的圖示。表格660可以存儲在特定的資料庫110中並且包括多個磁碟表格670,每個磁碟表格670相應於資料庫110內的數據貯存器250的磁碟252,並且列出了存儲在該磁碟252內的段的位置。更具體地,在絕大多數情況下,磁碟252被劃分為物理扇區,每個物理扇區具有相應的地址或地址範圍。磁碟表格670可以是映射表格,該映射表格可以被利用以確定存儲有卷的段的資料庫110的磁碟252的扇區的位置。因此,使用表格670,可以確定相應於卷的段的磁碟252 上的扇區的地址。進一步地,所述表格可以在相應於所述磁碟的段或扇區的每個項目中包含一個或多個標記或描述位,從而說明所述扇區或存儲在該扇區中的段。現在參考圖7,說明了磁碟表格670的一個實施例的圖示。磁碟表格670具有多個項目,每個項目相應於相應的磁碟的物理段,使得磁碟表格670的項目說明磁碟252的物理段。磁碟表格670中的每個項目還可以包括一個或多個標記或位域,該一個或多個標記或位域說明存儲在相應的扇區中的所述卷的物理段或段。更特別地,如圖7所示,在一個實施例中,磁碟表格670中的項目包括域,該域針對邏輯卷(LV)數量、邏輯段數量、地址空間和扇區狀態。LV數量識別邏輯卷,該邏輯卷相應於存儲在所述物理段中的數據。邏輯段數量識別相應於所述數據的邏輯卷的段。地址空間識別存儲為「數據」或「冗餘」的段。「數據」 的值可以表示數據被存儲在由所述項目表示的扇區中,而「冗餘」的值表示存儲在所述扇區中的信息可以被用於RAID數據保護,並且基於RAID級別,所述信息可以是冗餘數據、鏡像數據或奇偶校驗信息。扇區狀態表示段的狀態為「已分派」、「歸零」或「無效(dirty)」。「已分派」表示所述段已被分派並且可以包括有效數據。「歸零」表示所述段通過向該段中寫入零而被調整為零,而「無效」表示所述段可能包括無用值,該無用值為不可用或不需要的值, 例如,因為所述段未被調整為零或分派,因此可以存儲隨機位或數據。在一個實施例中,例如,對於一個新磁碟,在相應於該新磁碟或新增加的磁碟的磁碟表格中,該磁碟的全部段可以被標記為無效。在閱讀了表格的以上說明後,顯然的是分布式RAID應用210可以利用全局表格 240來確定哪個段相應於卷的邏輯地址、相應於卷的段(數據段或冗餘段)位於哪個資料庫 110上、卷的哪個段相應於卷的邏輯地址、與卷的段相關聯的RAID數據(奇偶校驗數據、鏡像數據、等等)位於何處、特定的資料庫110上的哪個磁碟包括段或關於相應於該特定的資料庫110的卷、段、或磁碟252的其他信息、或關於卷、段402、資料庫110、RAID數據等等的其他信息。同樣,每個獨立的資料庫110上的分布式RAID應用210可以使用該資料庫110上的本地表格245來確定特定的段位於該資料庫110上的何處(磁碟252的哪個扇區,等等) 或者確定關於相應於該特定的資料庫110的卷、段或磁碟252的其他信息。使用在資料庫110和相應於每個獨立的資料庫110的本地表格245之間共享的全局表格240的組合,可以通過相互協作的資料庫110上的分布式RAID應用210來執行一些操作。現在將更詳細地討論這些類型的操作。具體地,現在將通過以下關於一個示例性的分布式RAID系統的READ命令和WRITE 命令的實施方式的具體示例來更詳細地討論READ命令和WRITE命令在卷上的實施方式的一個實施例,其中,結合卷實現RAID級別5。在通篇瀏覽本公開後,應該注意到如何可以實現其他類型的實施例、命令、RAID級別、等等。首先看圖8,說明了一種用於在分布式RAID系統中實現READ命令的方法的一個實施例的流程圖。這種READ命令可以經過開關120由主機102發送到資料庫110或者從一個資料庫110發送到另一個資料庫110。在一些實施例中,主機102可以包括一個或多個應用以及相關聯的路由信息,使得READ命令可以從發布該命令的主機102沿發布主機102和適當的資料庫110之間的路徑被路由到適當的資料庫110。然而,在其他情況下,主機102 上可以不存在這種應用或路由信息,並且因此從主機102發布的READ命令可以被路由到任意資料庫110。這是稍後將在本實施例中說明的情況,然而,在瀏覽了本實施例的說明後,本領域技術人員將注意到所述稍後說明的情況中的步驟同樣適用於之前所述的情況。在步驟810處,接著可以在資料庫110處接收READ命令。在步驟820處,資料庫 110上的分布式RAID應用210可以確定卷的段,該卷的段相應於在接收到的READ命令中引用的邏輯地址,並且在步驟830處,資料庫110上的分布式RAID應用210可以確定所述卷的段存儲在哪個資料庫110上。如上所述,可以使用與分布式RAID應用210相關聯的全局表格240來確定這種信息。如果存儲所述段的資料庫110與接收到所述READ命令的資料庫110相同(如在步驟832處所確定的),則在步驟840處,可以自接收資料庫110上的數據貯存器250的適當的磁碟252獲得被請求的數據,並且在步驟850處,READ命令作出響應。如上所述,存儲有段的資料庫110的數據貯存器250的特定的磁碟252可以使用全局表格240確定,而相應於所述段的數據在那個磁碟252上的存儲位置可以使用本地表格245 確定,所述本地表格245可以用於將卷的段映射到磁碟252上的物理位置。如果接收資料庫110從主機102接收到READ命令,則主機102可以作出響應,而如果接收資料庫110從其他資料庫110接收到READ命令,則所述響應可以被發送到發布READ命令的資料庫110 上的分布式RAID應用210。然而,如果在步驟860處段被存儲在遠程資料庫110上(與接收到命令的資料庫不同的資料庫110) JUREAD命令可以被發送到遠程資料庫110處的分布式RAID應用210。 在一個實施例中,這種READ命令可以使用由分布式RAID應用210使用的命令格式被傳輸到遠程資料庫110處的分布式RAID應用210。在提供了原始READ命令的相關信息的同時, 這種命令還可以指示分布式RAID應用將READ命令的結果返回到最初接收該READ命令的資料庫110或執行其他功能。因此,在步驟870處將READ命令發送到遠程資料庫110後, 包括被請求的數據的響應可以自遠程資料庫110接收並且在步驟880處,接收到的READ命令對使用在該響應中接收到的數據作出響應。現在移動到圖9A和9B,說明了一種用於實現分布式RAID系統中的WRITE命令的方法的一個實施例的流程圖。這種WRITE命令可以由主機102經過開關120發送到資料庫 110或從一個資料庫110發送到另一個資料庫110。在一些實施例中,主機102可以包括一個或多個應用以及相關聯的路由信息,使得WRITE命令可以自發布所述命令的主機102沿發布主機102和適當的資料庫110之間的路徑路由到適當的資料庫110。然而,在其他情況下,主機102上可以不存在這種應用或路由信息,並且因此從主機102發布的WRITE命令可以被路由到任意資料庫110。這是稍後將在本實施例中說明的情況,然而,在瀏覽了本實施例的說明後,本領域技術人員將注意到所述稍後說明的情況中的步驟同樣適用於之前所述的情況。在步驟910處,之後,可以在接收資料庫110處接收WRITE命令。接收資料庫110 上的分布式RAID應用210之後可以在步驟920、930和940處確定相應於由WRITE命令引用的邏輯地址的卷的段、該段的位置(例如,哪個資料庫110存儲了相應於該段的數據)和相應於該段的奇偶校驗的位置(例如,哪個資料庫110存儲了所述段,該段中存儲了自相應於該段的數據產生的奇偶校驗數據)。如上所述,可以使用存儲在接收資料庫110上的全局表格240來確定數據段和奇偶校驗段兩者的位置。如果數據段(存儲所述數據的段)和冗餘段(換句話說,所述奇偶校驗或自所述數據段產生的其他類型的冗餘數據)均未存儲在接收資料庫110上(如在步驟950和960 處確定的),則WRITE命令可以被傳輸到遠程資料庫110上的分布式RAID應用210和遠程奇偶校驗資料庫110上的分布式RAID應用210,數據段在步驟964處存儲於所述遠程資料庫110上,奇偶校驗段在步驟966處存儲於所述遠程奇偶校驗資料庫110上。在一個實施例中,這種WRITE命令可以使用由分布式RAID應用210使用的命令格式被傳輸到遠程資料庫110和遠程奇偶校驗資料庫110處的分布式RAID應用210。在提供了原始WRITE命令的相關信息的同時,這種命令還可以指示分布式RAID應用210執行其他期望的功能。
因此,在WRITE命令被發送到遠程資料庫110和遠程奇偶校驗資料庫後,在步驟 968和970處,可以自遠程資料庫110和遠程奇偶校驗資料庫110上的分布式RAID應用210 接收到完成通知。一旦接收到這些確認,則WRITE命令可以通過接收資料庫110上的分布式RAID應用210作出響應。返回到步驟950,然而,如果數據段被存儲在接收資料庫110中,則可以在步驟952 處確定所述WRITE命令是接收自主機102還是其他資料庫1IO0如果WRITE命令自主機102 接收,則WRITE命令可以在步驟976處被傳輸到遠程奇偶校驗資料庫110上的分布式RAID 應用210,並且在步驟974處被置於接收資料庫110的寫入式高速緩衝存儲器中。當在步驟 978處自遠程奇偶校驗資料庫110上的分布式RAID應用210接收到完成通知後,WRITE命令可以在步驟980處通過接收資料庫110上的分布式RAID應用210作出響應(例如,被發送到主機102的響應)。進一步地,WRITE命令本身可以在步驟982處被處理。這種處理使接收資料庫110上存儲的數據段或其他功能承擔與WRITE命令相關聯的數據的存儲。換句話說,如果在步驟952處,未自主機接收到WRITE命令,則這可以表示自其他資料庫Iio接收到所述WRITE命令(所述其他資料庫110在許多情況下可以是最初自主機 102接收到WRITE命令的資料庫110)。在此情況下,資料庫110可以在步驟984處將接收到的WRITE命令置於其寫入式高速緩衝存儲器中,並且在步驟986處將完成通知發送到發布資料庫110。在此後的某個點處,WRITE命令本身可以在步驟988處被處理。再次返回到步驟950,如果如在步驟960處所確定的,數據段未存儲於接收資料庫 110中,而奇偶校驗段被存儲在接收資料庫110中,則在步驟962處可以確定所述WRITE命令是接收自主機102還是其他資料庫110。如果WRITE命令接收自主機102,則在步驟1002 處,所述WRITE命令可以被傳輸到遠程資料庫110上的分布式RAID應用210,其中,相應於所述WRITE命令的數據段存儲在所述遠程資料庫110上,並且在步驟1000處,所述WRITE 命令被置於接收資料庫110的寫入式高速緩衝存儲器中。當在步驟1004處從遠程資料庫 110上的分布式RAID應用210接收到完成通知後,所述WRITE命令可以在步驟1006處通過接收資料庫110上的分布式RAID應用210作出響應,並且在步驟1008處通過接收資料庫 110處理所述寫入命令。此處,處理所述寫入命令可以使得存儲在接收資料庫110中的奇偶校驗段可以基於所述寫入命令而更新。奇偶校驗段的這種更新可以多種方式完成,本文不會對全部方式進行詳細描述,但這些方式將是本領域普通技術人員公知的。例如,奇偶校驗資料庫110上的分布式RAID應用210可以執行逆序寫入以便更新奇偶校驗段。執行這種逆序寫入可以使得自所述奇偶校驗段獲得數據段並且使用獲得的數據段和將與WRITE命令相關聯地寫入的數據來執行邏輯操作(例如,異或O(OR)操作)。可替換地,如果接收資料庫110上的分布式RAID應用210具有相應於產生奇偶校驗段的每個數據段的多個WRITE命令,則可以計算新的奇偶校驗段並且可以通過將原始奇偶校驗段替換為新計算的奇偶校驗段而更新所述原始奇偶校驗段。用於更新所述奇偶校驗段的其他方法可以通過瀏覽此處的公開而實現,並且用於通過分布式RAID應用更新奇偶校驗段的特定方法可以基於多種因數,包括結構參數、一些數據的有效性(例如,相應於用於產生奇偶校驗的全部數據段的WRITE命令, 等等)或多個其他因數中的任何參數。現在回到步驟962,如果未從主機接收到所述WRITE命令,則這可能表示所述WRITE命令接收自其他資料庫110(在許多情況下,所述其他資料庫110可以是最初自主機 102接收到WRITE命令的資料庫110)。在此情況下,WRITE命令可以在步驟990處被置於接收資料庫110的寫入式高速緩衝存儲器中,並且在步驟992處完成通知被發送到發布資料庫。WRITE命令之後可以在步驟994處被處理(例如,奇偶校驗段可以被如上所述地更新)。在瀏覽了以上討論後,應該注意到在許多情況下,特定的資料庫110處的分布式 RAID應用210可能不能處理接收到的WRITE命令直至自奇偶校驗資料庫110接收到通知, 當可能期望存儲一個或多個WRITE命令或評估這些存儲的WRITE命令的集合時,奇偶校驗資料庫可能需要評估多個接收到的WRITE命令,以確定或實現用於更新所述奇偶校驗或多個其他實例中的任何實例的方法。為了便於WRITE (或其他)命令的存儲和評估,每個分布式RAID應用210可以具有相關聯的寫入式高速緩衝存儲器沈0。圖10說明了寫入式高速緩衝存儲器的一個實施例的圖示。當通過分布式RAID應用210接收到WRITE命令時,所述WRITE命令被置於寫入式高速緩衝存儲器1100中。這些 WRITE命令1160中的每一個可以具有相關聯的時戳,該時戳表示何時接收到所述WRITE命令1160。因此,在一個實施例中,寫入式高速緩衝存儲器1100可以包括一系列時戳的WRITE 命令1160。在一些點處,時戳標誌可以由分布式RAID應用210發布。這種時戳標誌可以包括時間並且被傳輸到每個分布式RAID應用210。當要發布時,可以多種方式確定時戳標誌, 例如當寫入式高速緩衝存儲器1100以特定的百分率充滿或當以特定的時間間隔或多種其他方法論接收到一定數量的WRITE命令1160時。無論如何,這種時戳標誌1110將與每個分布式RAID應用210相關聯的每個寫入式高速緩衝存儲器1110分割成至少兩個段,包括WRITE命令1160的封閉標誌1150在時戳標誌1110之前接收(在本示例中為WRITE命令1160a、1160b、1160c和1160d),並且包括 WRITE命令1160的開放標誌1140在時戳標誌1110之後接收(在本示例中為WRITE命令 1160e、1160f和1160g)。分布式RAID應用210之後可以評估封閉標誌1150中的WRITE命令1160的集合(在本示例中為WRITE命令1160a、1160b、1160c和1160d)以確定如何在仍可以將接收到的WRITE命令添加到開放標誌1140的同時處理這些WRITE命令1160。相反,當封閉標誌1150包括不再改變的WRITE命令的集合時,分布式RAID應用可以相對於彼此(或其他標準)評估該WRITE命令1160的集合,以確定執行的順序(並且因此可以對封閉標誌1160中的WRITE命令1160重新排序),評估方法論以更新奇偶校驗段(例如,在封閉標誌1150中是否存在相應於用於產生奇偶校驗的每個數據段的WRITE命令)或進行與WRITE命令1160的處理相關聯的其他判斷。應該注意到,由於時戳標誌1110 可以因多種理由通過每個資料庫110上的任意分布式RAID應用210發布,因此任意一個點上可以存在多個封閉標誌,例如,當多個時戳標誌1110由分布式RAID應用210在所述時間中發布時,寫入式高速緩衝存儲器被分布式RAID應用210中的任意一個評估。在瀏覽了上述內容後,讀者現在可能理解了資料庫110上的分布式RAID應用210 如何協力操作以實現虛擬化存儲和RAID實施方式。然而,理解特定的實施例可能是更為有益的,從而討論在故障發生後分布式RAID應用210的特定實施例的機能。如上所述,分布式RAID應用210可以獲知(例如,存儲了)故障的資料庫(換句話說,所述資料庫可能具有硬體、軟體、通信或其他故障,所述故障阻止或妨礙了資料庫110操作或訪問數據的能力)。分布式RAID應用210可能能夠解決這些故障,同時滿足來自主機102的命令。為了說明,圖11描述了用於實現分布式RAID系統中的READ命令的方法的一個實施例的流程圖。將理解,這種方法應用於結合卷的範圍實現RAID 5的實施例,並且其他實施例可以同樣良好地應用於實現RAID的其他級別(或無級別)的情況。READ命令可以由主機102經過開關120發送到資料庫110或從其他資料庫110發送到接收資料庫110。接著,在步驟1110處,可以在資料庫110處接收READ命令。在步驟1220處,資料庫110上的分布式RAID應用210可以確定相應於在接收到的READ命令中引用的邏輯地址的數據段並且在步驟1230處確定所述數據段存儲於哪個資料庫110上。如果存儲所述數據段的資料庫110與接收到所述READ命令的資料庫110相同(如在步驟1240處確定的),則在步驟 1250處,可以自接收資料庫110上的數據貯存器250的適當的磁碟252獲得被請求的數據, 並且在步驟1252處,接收到的READ命令使用獲得的數據作出響應。如果接收資料庫110 自主機102接收到READ命令,則主機102可以作出響應,而如果接收資料庫110自其他資料庫110接收到READ命令,則所述響應可以被發送到發布READ命令的資料庫110上的分布式RAID應用210。然而,如果在步驟12M處,數據段被存儲在遠程資料庫110上(與接收所述命令的資料庫不同的資料庫110),則可以確定存儲有待讀取的數據段的遠程資料庫110是否經歷了故障。如果沒有,則READ命令可以被發送到遠程資料庫110處的分布式RAID應用。當在步驟1258處自遠程資料庫110接收到包括被請求的數據的響應後,在步驟1260處,接收到的READ命令可以使用該數據作出響應。然而,如果遠程資料庫110經歷了故障,則可以在步驟12M處確定接收資料庫110 是否具有相應於與READ命令相關聯的數據段的奇偶校驗段。如果奇偶校驗段被存儲在接收資料庫110中,則可以使用存儲在接收資料庫110中的奇偶校驗段獲得相應於READ命令的數據段。可以多種方式完成自奇偶校驗數據獲得所述數據段,這將不再作更為詳細的說明,包括自其他資料庫110獲得其他數據段(與相應於READ命令的數據段不同的數據段) 以及通過在其他數據段和奇偶校驗段之間執行邏輯操作而獲得期望的數據段。一旦在步驟 1268處使用奇偶校驗數據獲得了被請求的數據段,則在步驟1270處,接收到的READ命令可以作出響應。如果接收資料庫110從主機102接收到READ命令,則主機102可以作出響應,而如果接收資料庫110自其他資料庫110接收到READ命令,則所述響應可以被發送到發布READ命令的資料庫110上的分布式RAID應用210。如果接收資料庫110不是存儲奇偶校驗塊的資料庫110,則在步驟1262處,READ 命令可以被發送到遠程資料庫110,該遠程資料庫110存儲了相應於在READ命令中引用的數據段的奇偶校驗段。當在步驟1264處,自遠程奇偶校驗資料庫110接收到包括被請求的數據的響應後,接收到的READ命令可以在步驟1266處使用該數據作出響應。移動到圖12,說明了一種用於在分布式RAID系統中實現WRITE命令的方法的一個實施例的流程圖。這種WRITE命令可以由主機102經過開關120發送到資料庫110或從一個資料庫110發送到其他資料庫110。之後,在步驟1310處,可以在接收資料庫110處接收WRITE命令。之後在步驟1312、1314和1320處,接收資料庫110上的分布式RAID應用 210可以確定相應於在WRITE命令中引用的邏輯地址的數據段、所述數據段的位置(例如,哪個資料庫110存儲了相應於該段的數據)以及相應於該數據段的奇偶校驗段的位置(例如,哪個資料庫110存儲了所述段,在該資料庫中,存儲了自相應於該段的數據產生的奇偶校驗數據)。如上所述,可以使用存儲在接收資料庫110上的表格240的集合來確定數據段和奇偶校驗段兩者的位置。之後可以確定存儲了數據段的資料庫110或存儲了奇偶校驗段的資料庫110是否經歷了故障。如果這些資料庫Iio均未經歷故障,則可以在步驟13 處通過分布式RAID 應用執行常規寫入操作。之前關於圖9A和9B討論了常規寫入操作,並且將不再進一步討論。然而,如果那些資料庫110中的任意一個經歷了故障,則考慮寫入操作,故障的資料庫110可以在步驟13 處被管理。這種寫入操作可以與關於圖9A和9B說明的寫入操作基本同等地並行,除了在寫入命令被發送到資料庫110之前,確定所述寫入命令被發送到的資料庫110是否存在故障並且確定是否使得寫入命令未被發送到故障的資料庫110。 在全部其他方面中,寫入操作基本相同。在瀏覽了前述流程圖後,特定實施例的操作可以參考操作中的分布式RAID系統的一個實施例的具體示例被更好地理解。至此,注意力被引導回到說明了具有五個資料庫 110的分布式RAID系統的一個實施例的圖4。為了開始第一個示例,假設主機102b向資料庫IlOc發布了 READ命令,其中READ命令引用了相應於資料庫IlOa上的數據段「2」402c 的邏輯地址。此處,資料庫IlOc上的分布式RAID應用210c可以確定接收到的READ命令的邏輯地址引用了數據段「2」 402c並且該數據段「2」 402c被存儲在資料庫IlOa上。分布式RAID應用210c之後可以向資料庫IlOa發送相應的READ命令。資料庫IlOa上的分布式RAID應用210a可以接收這種READ命令,確定READ命令引用了相應於數據段「2」402c的邏輯地址並且該數據段「2」402c位於其被執行的資料庫 IlOa上。分布式RAID應用210a之後可以訪問數據貯存器250a以獲得自數據段「2」 402c 請求的數據,並且將該獲得的數據返回到發布資料庫IlOc處的分布式RAID應用210c。資料庫IlOc上的分布式RAID應用210c可以自資料庫IlOa上的分布式RAID應用210a接收這種響應,並且使用來自這種響應的數據來響應自主機102b發布的原始READ命令。現在假設主機102b向資料庫IlOc發布了 READ命令,其中READ命令引用了相應於資料庫IlOa上的數據段「2」402c的邏輯地址,但該資料庫IlOa經歷了故障並且不再工作。在此情況下,資料庫IlOc上的分布式RAID應用210c可以確定接收到的READ命令的邏輯地址引用了數據段「 2 」 402c並且數據段「 2 」 402c被存儲在資料庫1 IOa上。此外,資料庫IlOc上的分布式RAID應用210c還可以確定資料庫IlOa經歷了故障。因此,分布式RAID應用210c可以確定相應於數據段「2」402c的奇偶校驗段402 j 的位置是資料庫110e。分布式RAID應用210c之後可以向資料庫IlOe發送READ命令。資料庫IlOe上的分布式RAID應用2IOe可以接收這種READ命令,確定該READ命令引用了相應於數據段「2」402c的邏輯地址,並且相應於數據段「2」402c的奇偶校驗段402j位於其被執行的資料庫IlOe上。分布式RAID應用210e之後可以訪問數據貯存器250e以訪問奇偶校驗段402j並且使用所述奇偶校驗段402j獲得自數據段「2102c請求的數據。這種獲得的數據可以被返回到發布資料庫IlOc處的分布式RAID應用210c。應該注意到,分布式RAID應用210e可能需要其他數據以確定數據段「2」402c請求的數據。因此,分布式RAID 應用210e可以確定結合數據段「2」402c使用的數據段「0」402a、數據段「l」402b和數據段「3」402d的位置,以產生分別位於資料庫IlObUlOd和IlOc上的奇偶校驗段402j。分布式RAID應用210e因此可以通過將READ請求發送到這些資料庫110b、IlOd和IlOc而獲得數據段「0」 40 、數據段「 1,,402b和數據段「3」 402d,並且結合奇偶校驗段402 j使用數據段「0」402a、數據段「l」402b和數據段「3」 402d,以獲得自數據段「2」 402c請求的數據。資料庫IlOc上的分布式RAID應用210c可以接收來自資料庫IlOe上的分布式 RAID應用210e的響應,並且使用來自該響應的數據以響應於自主機102b發布的原始READ 命令。以此方式,儘管在分布式RAID系統中發生故障,相應於數據段的數據仍可以被主機讀取。繼續討論WRITE命令,假設主機102b向資料庫1 IOc發布了 WRITE命令,其中WRITE 命令引用了相應於資料庫IlOa上的數據段「2」402c的邏輯地址。此處,資料庫IlOc上的分布式RAID應用210c可以確定接收到的WRITE命令的邏輯地址引用了數據段「2」402c, 並且該數據段「2102c被存儲在資料庫IlOa上。此外,分布式RAID應用210c可以確定相應於數據段「2102c的奇偶校驗段402j位於資料庫IlOe上。分布式RAID應用210c之後可以向資料庫IlOa和IlOe發送相應的WRITE命令。基於自分布式RAID應用210a和210e 接收的完成通知,分布式RAID應用210c可以響應於原始接收的WRITE命令。資料庫1 IOe上的分布式RAID應用210e可以接收其相應的WRITE命令,確定WRITE 命令引用了相應於數據段「2」402c的邏輯地址,並且確定相應於數據段「2」 402c的奇偶校驗段402 j位於其被執行的資料庫IlOe上。分布式RAID應用2IOe可以將WRITE命令置於其寫入式高速緩衝存儲器中,並且向資料庫IlOc發送完成通知。分布式RAID應用210e之後可以訪問數據貯存器250e以訪問奇偶校驗段402j並且使用在接收到的WRITE命令中引用的數據更新奇偶校驗段402 j。資料庫IlOa上的分布式RAID應用210a可以接收其相應的WRITE命令,確定WRITE 命令引用了相應於數據段「2」 402c的邏輯地址,並且確定數據段「2」 402c位於其被執行的資料庫1 IOa上。分布式RAID應用2IOa可以將WRITE命令置於其寫入式高速緩衝存儲器中並且發送完成通知到資料庫110c。分布式RAID應用210a之後可以訪問數據貯存器250a 以使用在接收到的WRITE命令中引用的數據更新段「2」402c。現在再次假設主機102b發布WRITE命令到資料庫110c,其中WRITE命令引用了相應於資料庫IlOa上的數據段「2」402c的邏輯地址,但該資料庫IlOa經歷了故障並且不再工作。在此情況下,資料庫IlOc上的分布式RAID應用210c可以確定接收到的WRITE命令的邏輯地址引用了數據段「2」402c,並且確定數據段「2」402c被存儲在資料庫IlOa上。此外,資料庫IlOc上的分布式RAID應用210c還可以確定資料庫IlOa經歷了故障。此外,分布式RAID應用210c可以確定相應於數據段「2」402c的奇偶校驗段402j位於資料庫IlOe 上。分布式RAID應用210c之後可以發送相應的WRITE命令到資料庫110e。基於自分布式 RAID應用210e接收到完成通知,分布式RAID應用210c可以響應於原始接收到的WRITE命令。資料庫IlOe上的分布式RAID應用210e可以接收相應的WRITE命令,確定所述 WRITE命令引用了相應於數據段「2102c的邏輯地址,並且確定相應於數據段「2102c的奇偶校驗段402j位於其被執行的資料庫IlOe上。分布式RAID應用210e可以將WRITE命令置於其寫入式高速緩衝存儲器中並且發送完成通知到資料庫110c。分布式RAID應用210e 之後可以訪問數據貯存器250e以訪問奇偶校驗段402j並且使用在接收到的WRITE命令中引用的數據來更新奇偶校驗段402j。以此方式,儘管分布式RAID系統中發生故障,相應於數據段的數據仍可以被主機寫入。通過瀏覽本公開,應該注意到,雖然如所述的分布式的方式實現RAID可以避免這種分布式RAID系統內的磁碟或資料庫的故障。然而,隨之而來的是邏輯卷的不斷增長(可能以1拍字節(petabyte)的級數或更大)使可以在這種分布式RAID系統中應用的磁碟和資料庫的數量達到相稱的增量,並且使所使用的資料庫和磁碟的數量的增量帶來磁碟或資料庫的故障的更大風險,並且更特別地,可能在任意給定時間內發生多個故障的風險的增大。更特別地,一旦資料庫或磁碟故障,則磁碟和資料庫的數量越大,在關於已存在的故障的補救行動能夠完成之前,一個或多個額外的資料庫、磁碟或其組合可能隨後發生故障的可能性越大。因此,多種分布式RAID系統可以變為遭受多個資料庫或磁碟的故障。因此,可能有用的是避免在分布式RAID系統中使用的資料庫或磁碟的多個故障。 至此,現在注意力被引導到多種方法的實施例,所述方法可以結合分布式RAID系統使用以避免這些分布式RAID系統中的多個故障。更特別地,如上所述,分布式RAID系統中的每個資料庫可以存儲包括卷的數據的段(數據段)和存儲相應於所述卷的數據段的冗餘數據的段,其中對於這些冗餘段中的每一個,用於生成在冗餘段中存儲的冗餘數據的數據段未存儲在該資料庫上。對於本公開的剩餘部分的目的,存儲自所述卷的數據段生成的冗餘數據的那些冗餘段將被稱作網絡奇偶校驗(NP)段,所述卷的數據段存儲在不同資料庫上(但是應該自以上討論理解,這些NP段可以包含任意類型的冗餘數據,並且名稱NP應該意為NP 段僅能夠存儲與RAID級別5的實施例相關聯的冗餘數據)。因此,每個資料庫包括卷的數據段以及自存儲在其他資料庫上的數據段生成的NP 段。這種配置可以避免磁碟驅動器或資料庫故障。然而,可能期望避免這種分布式RAID系統中的額外的磁碟或資料庫故障。為了完成此目的,之後,在一些實施例中,在結合卷的資料庫間實現的RAID的級別(例如,使用存儲在與其相應的數據段不同的資料庫上的NP段) 和額外的RAID的級別均可以實現在分布式RAID系統的每個資料庫內以保護每個資料庫內的數據。通過利用資料庫內的RAID以及各資料庫間的RAID,可以實現針對整個分布式RAID 系統的故障的額外保護。更特別地,在一個實施例中,除了結合一組資料庫間的卷實現的RAID的級別, RAID級別還可以結合存儲在每個資料庫中的數據段實現。換句話說,在一個實施例中,除以上討論的功能外,分布式RAID應用210可以額外地被配置為關於存儲在特定資料庫內的數據段或NP段實現RAID的一個或多個級別。例如,RAID級別5可以在資料庫內實現,使得冗餘段可以形成自存儲在資料庫內的相應的數據段(這些類型的冗餘段在此處將被稱作數據的奇偶校驗(POD)段)以及存儲在與相應的數據段不同的磁碟上的資料庫中的相應的數據段,從而可以使用這些POD恢復所述相應的數據段。同樣地,冗餘段可以形成自存儲在資料庫內的相應的網絡奇偶校驗段(這些類型的冗餘段在此處將被稱作奇偶校驗的奇偶校驗(POP)段)以及存儲在與相應的NP段不同的磁碟上的資料庫中的相應的網絡奇偶校驗段,使得可以使用這些POP恢復相應的NP段。
此外,在一些實施例中,RAID級別6可以在資料庫內實現,使得除了自相應的數據段生成的每個POD段外,還可以使用裡德所羅門(Reed-Solomon)ECC代碼生成或其他代碼生成技術(有時被稱作Q)自相同的相應數據段生成冗餘段(這些類型的冗餘段將在此處被稱作數據的(KQOD)段)。通過將QOD段存儲在與相應的POD不同的磁碟上,相應的數據段還可以使用QOD恢復。類似地,RAID級別6冗餘段可以自相同的相應網絡奇偶校驗段生成(這些類型的冗餘段將在此處被稱作奇偶校驗的(KQOP)段)並且存儲在與相應POP段不同的磁碟上的資料庫中,使得相應的網絡奇偶校驗段可以額外地使用這些QOP段恢復。期望結合卷使用的冗餘和保護的數量可以在產生卷的時刻基於用戶所期望的結合該卷的協議(trade-off)而被選擇。這種選擇可以包括單獨使用結合卷的RAID的某一級別的選項,使得這種RAID的級別在資料庫間實現(換句話說,僅使用每個資料庫上的NP 段)。這種選項可以避免至少任意一個驅動故障或任意一個資料庫故障。另一個選項可以是實現結合卷的RAID的某一級別的使用(使用NP段),連同使用每個資料庫內的RAID級別5 (POD和POP)。這種選項可以通過避免至少1個資料庫和1個磁碟的故障或者通過避免 3個磁碟的故障而提供增大的容錯性。然而,這種選項與僅在資料庫間實現RAID相比,可能施加了性能和容量懲罰。最具容錯性的選項可以是讓用戶選擇以實現結合卷的RAID的某一級別(使用NP段),連同使用資料庫內的RAID級別6(P0D、P0P、Q0D和Q0P)。雖然這種選項具有最高的容錯性級別從而避免1個資料庫和2個驅動器故障或避免5個驅動器故障,但其同樣可能施加關於性能和容量的最高代價。可能有用的是說明這些實施例的具體示例以幫助讀者理解。將理解的是,雖然關於單個資料庫說明了具體示例,從而實現與本發明的實施例相關聯的優點,但分布式RAID 系統中的分布式的其他資料庫可以類似地配置。換句話說,雖然所述示例將用於說明如何在特定的資料庫內實現RAID的級別,但應該注意到在本發明的實施例中,RAID的級別可以實現在分布式RAID系統的每個資料庫內。還將注意到以下示例不被視為限制本發明的實施例,而將僅用於說明資料庫內的RAID的實施方式的特定實施例的非限制性示例。為了幫助本說明,現在將注意力引導到圖13A-13C。為了說明本示例的目的,假設圖13A-13C中描述的資料庫IllOb類似於以上關於圖4說明的資料庫110b,並且位於具有五個資料庫的分布式RAID系統中,其中卷被布置在五個資料庫間,資料庫IllOb是隨機排列中的第一資料庫。因此,資料庫11 IOb可以被分配數據段「O 」 1102a,即所述卷的第一數據段;數據段「5」 1102b,即所述卷的第六數據段;數據段「10」 1102c,即所述卷的第十一數據段;數據段「15」1102d,即所述卷的第十六數據段;數據段「20」1102e,即所述卷的第二十一數據段;數據段「25」1102f,即所述卷的第二十六數據段;數據段「30」1102g,即所述卷的第三十一數據段,等等。由於資料庫IllOb可以在數據貯存器中具有六個磁碟2252,因此被分配到資料庫IllOb的數據段1102可以被布置在這些磁碟間。此處,數據段「0」 1102a被存儲在磁碟 2252a上,數據段「5」1102b被存儲在磁碟2252b上,數據段「 10」1102c被存儲在磁碟2252c 上,數據段「15」 1102d被存儲在磁碟2252d上,數據段「20」 1102e被存儲在磁碟225 上並且數據段「25」 1102f被存儲在磁碟2252f上。所述分配之後再次從第一磁碟開始數據段「30」 1102g被存儲在磁碟225 上,等等。為了進一步說明本示例的目的,假設RAID級別5結合所述卷實現,並且使用(4+1)的奇偶校驗集合。因此,如上所述,與所述卷相關聯的網絡奇偶校驗段還可以被存儲在資料庫IllOb上,其中用於生成這些網絡奇偶校驗段的相應數據段被分配,並且存儲在分布式 RAID系統的其他資料庫上。在本示例中,使用卷的相應數據段「16」、所述卷的數據段「17」、 所述卷的數據段「18」和所述卷的數據段「19」生成的NP段「l」1102ar被存儲在磁碟225 上;使用所述卷的相應數據段「36」、所述卷的數據段「37」、所述卷的數據段「38」和所述卷的數據段「39」生成的NP段「2」 1102as被存儲在磁碟2252b上;使用所述卷的相應數據段「56」、所述卷的數據段「57」、所述卷的數據段「58」和所述卷的數據段「59」生成的NP段 「3」 1102at被存儲在磁碟2252c上,等等。現在具體地參考圖13A,之後,在本示例中,數據段和NP段被存儲在資料庫IllOb 的不同磁碟2252上。再次注意,存儲在資料庫IllOb上的每個NP段均生成自不存儲在資料庫IllOb上的相應數據段。現在假設用戶期望實現關於該卷的容錯性的其他級別並且指定RAID級別5應該實現在包括分布式RAID系統的每個資料庫內,資料庫IllOb是分布式 RAID系統中的一部分。圖1 描述了當用戶指定RAID級別5被實現在分布式RAID系統的資料庫內並且 (4+1)奇偶校驗集合被用於實現每個資料庫內的RAID 5時所產生的資料庫IllOb的配置。 此處,POD段產生自存儲在資料庫IllOb內的相應數據段,並且被存儲在與其相應的數據段不同的磁碟2252上,並且POP段產生自存儲在資料庫IllOb內的相應奇偶校驗段,並且被存儲在與其相應的奇偶校驗段不同的磁碟2252上。因此,現在資料庫IllOb內的數據段可以使用相應於所述數據段的NP段恢復,其中NP段位於不同資料庫上並且額外地,資料庫 IllOb內的數據段可以使用位於相同資料庫中的相應的POD段恢復。此外,資料庫中的NP 段現在可以使用位於相同資料庫中的POP段恢復。在所描述的具體示例中,存儲在磁碟2252f上的Ρ( 111021Λ產生自磁碟225 上的相應數據段「0」 1102a、磁碟2252b上的數據段「5」 1102b、磁碟2252c上的數據段 「10」 1102c以及磁碟2252d上的數據段「15」 IllOd ;存儲在磁碟2252d上的P0D2 1102bc 產生自磁碟2252e上的相應數據段「20」 1102e、磁碟2252f上的數據段「25」 1102f、磁碟 2252a上的數據段「30」 1102g以及磁碟2252b上的數據段「35」 IllOh ;存儲在磁碟2252b 上的P0D3 1102bd產生自磁碟2252c上的相應數據段「40」 1102i、磁碟2252d上的數據段 「45」 1102j、磁碟2252e上的數據段「50」 1102k以及磁碟2252f上的數據段「55」 11101 ;等寸。同樣,存儲在磁碟2252f上的POPl 1102bz產生自磁碟2252a上的相應NP段 「1」 1102ar、磁碟 2252b 上的 NP 段「2」 1102as、磁碟 2252c 上的 NP 段「3」 1102at 和磁碟 2252d上的NP段「4」1102au ;存儲在磁碟2252c上的P0P2 1102by產生自磁碟225 上的相應的 NP 段「5」ll(^av、磁碟 2252f 上的 NP 段「6」1102aw、磁碟 2252a 上的 NP 段「7」1102ax 和磁碟2252b上的NP段「8」 1102ay,並且存儲在磁碟2252b上的P0P31102bx產生自磁碟 2252c上的相應的NP段「9」 1102az和磁碟2252d上的NP段「10」 1102ba。現在假設用戶期望實現關於這種卷的容錯性的其他級別並且指定RAID級別6應該實現在包括分布式RAID系統的每個資料庫內,資料庫IllOb是分布式RAID系統的一部分。此處,相應於每個POD段的QOD段產生自與相應POD段相同的數據段並且被存儲在與相應POD段不同的磁碟2252上的資料庫IllOb內。此外,相應於每個POP段的QOP段產生自與相應POP段相同的奇偶校驗段並且被存儲在與相應POP段不同的磁碟2252上的資料庫IllOb內。因此,現在資料庫IllOb內的數據段可以使用相應於該數據段的NP段恢復, 其中NP段位於不同資料庫上並且額外地,資料庫IllOb內的數據段可以使用位於相同資料庫中的相應POD段或相應QOD段恢復。此外,資料庫中的NP段現在可以使用位於相同資料庫中的POP段或QOP段恢復。圖13C描述了當用戶指定在分布式RAID系統的資料庫內實現RAID級別6時所產生的資料庫IllOb的配置。此處,除了上述POD段和POP段,QOD段產生自與相應POD段相同的相應數據段並且被存儲在與相應POD段不同的磁碟2252上的資料庫11 IOb內,同時 QOP段產生自與相應POP相同的相應奇偶校驗段並且被存儲在與相應POP段不同的磁碟上。在所描述的具體示例中,存儲在磁碟225 上的QODl 1102bm相應於存儲在磁碟2252f上的PODl 1102bb並且產生自磁碟225 上的相同的相應數據段「0」 1102a、磁碟225 上的數據段「5」 1102b、磁碟2252c上的數據段「10」 1102c以及磁碟2252d上的數據段「15」 IllOd ;磁碟2252c上存儲的Q0D21 102bn相應於存儲在磁碟2252d上的 P0D21102bc並且產生自磁碟225 上的相同的相應數據段「20」 1102e、磁碟2252f上的數據段「25」1102f、磁碟225 上的數據段「30」1102g以及磁碟225 上的數據段「35」1110h ; 存儲在磁碟225 上的Q0D3相應於存儲在磁碟2252b上的P0D3 1102bd並且產生自磁碟 2252c上的相同的相應數據段「40」 1102i、磁碟2252d上的數據段「45」 1102j、磁碟2252e 上的數據段「50」 1102k以及磁碟2252f上的數據段「55」 11101 ;等等。同樣,存儲在磁碟225 上的QOPl 1102ca相應於存儲在磁碟2252f上的POPl 1102bz並且產生自磁碟225 上的相同的相應NP段「1」 1102ar、磁碟225 上的NP段 「2」 IlO^is、磁碟 2252c 上的 NP 段「3」 1102at 以及磁碟 2252d 上的 NP 段「4」 1102au ;存儲在磁碟2252d上的Q0P2相應於存儲在磁碟2252c上的P0P2 1102by並且產生自磁碟225 上的相同的相應NP段「5」 1102av、磁碟2252f上的NP段「6」 1102aw、磁碟2252a上的NP 段「7」 1102ax以及磁碟225 上的NP段「8」 1102ay ;並且存儲在磁碟2252a上的Q0P3 相應於存儲在磁碟2252b上的P0P31102bx並且產生自磁碟2252c上的相同的相應NP段 「9」 1102az 以及磁碟 2252d 上的 NP 段「10」 1102ba。因此,本發明的實施例可以基於之前可用的數據存儲設備提供多種優點,所述數據存儲設備包括提供對資料庫或磁碟故障的保護的能力。事實上,一些實施例可以提供針對四種、五種或可能更多種磁碟故障的保護。因此,維護人員可用於維修或替換故障的資料庫或磁碟的時間可以增大,並且分布式RAID系統的故障間的平均時間增大。一些實施例還可以通過即使在內部故障損壞數據時仍允許資料庫內部再生被損壞的數據,從而提供減少所述資料庫間的網絡流量的優點。在之前的說明書中,參考具體實施例對本發明進行了說明。然而,本領域技術人員意識到可以在不背離如在以下權利要求中提出的本發明的範圍的情況下進行各種改進和改變。因此,說明書和附圖被視為具有示例性而非限制性意義,並且全部這些改進意圖包括在本發明的範圍內。以上關於具體實施例說明了益處、其他優點和問題的解決方案。然而,所述益處、 優點、問題的解決方案和可能帶來任何益處、優點或使得解決方案發生或變得更明確的任意組件不被解釋為任意或全部權利要求的重要、需要或必要的特徵或組件。
權利要求
1.一種保護RAID系統避免多種故障的方法,所述方法包括提供包括多個資料庫計算機的系統,所述資料庫計算機經由網絡耦接到其他資料庫計算機中的每一個,並耦接到一個或多個主機中的每一個,每個資料庫執行分布式RAID應用;在所述多個資料庫上建立卷,其中所述卷包括段的集合併且該段的集合被存儲在所述多個資料庫上;結合所述卷實現第一 RAID級別,其中實現所述第一 RAID級別包括存儲網絡奇偶校驗 NP段的集合,每個NP段相應於所述段的集合中的一個或多個段,使得每個NP段不位於與所述段的集合中的相應的一個或多個段相同的資料庫上;在所述多個資料庫內實現第二 RAID級別,其中為第一資料庫實現所述第二 RAID級別包括對於存儲在所述第一資料庫上的所述段的集合存儲數據的奇偶校驗POD段的集合,每個POD段相應於所述第一資料庫上的所述數據段的集合中的一個或多個數據段,使得每個POD段不位於與所述第一資料庫上所述段的集合中的相應的一個或多個段相同的磁碟上;以及存儲奇偶校驗的奇偶校驗POP段的集合,每個POP段相應於存儲在所述第一資料庫上的所述NP段的集合中的一個或多個NP段,使得每個POP段不位於與所述第一資料庫上的所述NP段的集合中的相應的一個或多個NP段相同的磁碟上。
2.如權利要求1所述的方法,其中實現所述第二RAID級別還包括對於存儲在所述第一資料庫上的所述段的集合存儲數據的Q QOD段的集合,每個QOD段相應於POD段並且產生自相應於所述POD段的所述第一資料庫上的所述數據段的集合中的一個或多個數據段,使得每個QOD段不位於與相應的POD段相同的磁碟上;以及存儲奇偶校驗的Q QOP段的集合,每個QOP段相應於POP段並且產生自相應於所述POD 段的一個或多個NP段,使得每個QOP段不位於與相應的POP段相同的磁碟上。
3.如權利要求2所述的方法,其中每個所述卷的段的集合相應於所述多個資料庫中的一個,並且每個段根據所述多個資料庫的排列被分派到資料庫,並且冗餘段的集合中的每一個冗餘段被分派到不同於相應於與所述冗餘段對應的任意一個或多個段的所述多個資料庫中的每一個資料庫的資料庫。
4.如權利要求3所述的方法,還包括確定第一命令是否為寫入命令以及所述第一命令是否為確定所述多個資料庫中的第二資料庫的寫入命令,其中所述第二資料庫相應於與所述第一段相關聯的第一冗餘段,並且關於所述第一冗餘段執行所述第一命令,其中所述第一命令在所述第二資料庫上執行。
5.如權利要求4所述的方法,其中確定所述第一資料庫和確定所述第二資料庫包括訪問全局表格,該全局表格包括資料庫的排列和所述RAID級別。
6.一種用於實現分布式RAID的系統,包括一個或多個主機;多個資料庫計算機,每個資料庫耦接到每個主機和其他多個資料庫中的每一個,每個資料庫包括處理器;包括磁碟的集合的數據貯存器;包括指令的計算機可讀介質,所述指令可執行自所述一個或多個主機中的第一主機接收相應於卷的第一段的命令,其中所述卷和相應於結合所述卷實現的RAID級別的冗餘數據被存儲在所述多個資料庫中的每一個上,其中所述卷包括段的集合併且所述段的集合被存儲在所述多個資料庫上並且第一 RAID級別結合所述卷實現,其中實現所述第一 RAID級別包括存儲冗餘段的集合,每個冗餘段相應於所述段的集合中的一個或多個段,使得每個冗餘段不位於與所述段的集合中的相應的一個或多個段相同的資料庫上;在所述多個資料庫內實現第二 RAID級別,其中為第一資料庫實現所述第二 RAID級別包括對於存儲在所述第一資料庫上的段的集合存儲數據的奇偶校驗POD段的集合,每個POD段相應於所述第一資料庫上的所述數據段的集合中的一個或多個數據段,使得每個POD段不位於與所述第一資料庫上的所述段的集合中的相應的一個或多個段相同的磁碟上;以及存儲奇偶校驗的奇偶校驗POP段的集合,每個POP段相應於存儲在所述第一資料庫上的所述NP段的集合中的一個或多個NP段,使得每個POP段不位於與所述第一資料庫上的所述NP段的集合中的相應的一個或多個NP段相同的磁碟上。
7.如權利要求6所述的系統,其中所述計算機指令還可執行以通過以下操作為存儲在所述第一資料庫上的段的集合實現所述第二 RAID級別存儲數據的Q QOD段的集合,每個QOD段相應於POD段並且產生自相應於所述POD段的第一資料庫上的數據段的集合中的一個或多個數據段,使得每個QOD段不位於與相應的 POD段相同的磁碟上;以及存儲奇偶校驗的Q QOP段的集合,每個QOP段相應於POP段並且產生自相應於所述POD 段的一個或多個NP段,使得每個QOP段不位於與相應的POP段相同的磁碟上。
8.如權利要求7所述的系統,其中每個所述卷的段相應於所述多個資料庫中的一個, 並且每個段根據所述多個資料庫的排列被分派到所述多個資料庫中的一個,並且每個冗餘段被分派到所述多個資料庫中的一個資料庫,該多個資料庫中的一個資料庫不同於相應於與所述冗餘段相關聯的任意卷的段的所述多個資料庫中的每一個資料庫。
9.如權利要求8所述的系統,其中所述計算機指令還可執行以確定第一命令是否為寫入命令以及所述第一命令是否為確定所述多個資料庫中的第二資料庫的寫入命令,其中所述第二資料庫相應於與所述第一段相關聯的第一冗餘段,並且如果所述第二資料庫是接收到所述命令的資料庫,則關於所述第一冗餘段執行所述第一命令,而如果所述第二資料庫不是接收到所述命令的資料庫,則將所述第一命令傳送到所述第二資料庫。
10.如權利要求9所述的系統,其中確定所述第一資料庫和確定所述第二資料庫包括訪問所述數據貯存器中的全局表格,該全局表格包括所述資料庫的排列和所述RAID級別。
11.一種包括用於實現分布式RAID的計算機可執行指令的計算機可讀介質,所述計算機指令可執行在所述多個資料庫上建立卷,其中所述卷包括段的集合併且該段的集合被存儲在所述多個資料庫上;結合所述卷實現第一 RAID級別,其中實現所述第一 RAID級別包括存儲網絡奇偶校驗 NP段的集合,每個NP段相應於所述段的集合中的一個或多個段,使得每個NP段不位於與所述段的集合中相應的一個或多個段相同的資料庫上;在所述多個資料庫內實現第二 RAID級別,其中使第一資料庫實現所述第二 RAID級別包括對於存儲在所述第一資料庫上的所述段的集合存儲數據的奇偶校驗POD段的集合,每個POD段相應於所述第一資料庫上的所述數據段的集合中的一個或多個數據段,使得每個POD段不位於與所述第一資料庫上的所述段的集合中的相應的一個或多個段相同的磁碟上;以及存儲奇偶校驗的奇偶校驗POP段的集合,每個POP段相應於存儲在所述第一資料庫上的所述NP段的集合中的一個或多個NP段,使得每個POP段不位於與所述第一資料庫上的所述NP段的集合中的相應的一個或多個NP段相同的磁碟上。
12.如權利要求15所述的計算機可讀介質,所述指令還可執行通過以下操作使存儲在所述第一資料庫上的段的集合實現所述第二 RAID級別存儲數據的Q QOD段的集合,每個QOD段相應於POD段並且產生自相應於所述POD段的第一資料庫上的數據段的集合中的一個或多個數據段,使得每個QOD段不位於與相應的 POD段相同的磁碟上;以及存儲奇偶校驗的Q QOP段的集合,每個QOP段相應於POP段並且產生自相應於所述POD 段的一個或多個NP段,使得每個QOP段不位於與相應的POP段相同的磁碟上。
13.如權利要求12所述的計算機可讀介質,其中每個所述卷的段相應於所述多個資料庫中的一個,並且每個段根據所述多個資料庫的排列被分派到所述多個資料庫中的一個, 並且每個冗餘段被分派到所述多個資料庫中的一個資料庫,該多個資料庫中的一個資料庫不同於相應於與所述冗餘段相關聯的任意卷的段的所述多個資料庫中的每一個資料庫。
14.如權利要求13所述的計算機可讀介質,其中所述計算機指令還可執行確定第一命令是否為寫入命令以及所述第一命令是否為確定所述多個資料庫中的第二資料庫的寫入命令,其中所述第二資料庫相應於與所述第一段相關聯的第一冗餘段,並且如果所述第二資料庫是接收到所述命令的資料庫,則關於所述第一冗餘段執行所述第一命令,而如果所述第二資料庫不是接收到所述命令的資料庫,則將所述第一命令傳送到所述第二資料庫。
15.如權利要求14所述的計算機可讀介質,其中確定所述第一資料庫和確定所述第二資料庫包括訪問所述數據貯存器中的全局表格,該全局表格包括所述資料庫的排列和所述 RAID級別。
全文摘要
公開了保護RAID系統避免多種故障的方法以及這些被保護的RAID系統的實施例。更特別地,在分布式RAID系統的一些實施例中,每個資料庫具有相關聯的存儲介質的集合併且執行類似的分布式RAID應用。每個資料庫上的分布式RAID應用進行自身協調以分布和控制數據流,該數據流與結合存儲在資料庫的相關聯的存儲介質上的數據實現RAID的級別相關聯。此外,一個或多個RAID的級別可以在包括分布式RAID系統的一個或多個資料庫內實現。
文檔編號G06F12/00GK102265265SQ200980151742
公開日2011年11月30日 申請日期2009年6月25日 優先權日2008年10月28日
發明者G·J·皮勒格瑞諾, R·A·卡裡森, W·C·加羅威, 譚俊生 申請人:樞軸3公司

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀