新四季網

用於交換網絡中分布式數據管理的方法和裝置的製作方法

2023-05-04 10:05:31 2


專利名稱::用於交換網絡中分布式數據管理的方法和裝置的製作方法
技術領域:
:本發明涉及一種用於數據管理的方法或裝置,尤其涉及但並不專用於使用分布式架構的這種方法或裝置.
背景技術:
分布式數據儲存庫多數關鍵業務數據儲存庫都創建為運行在通過數據網絡互聯的若干計算伺服器上的分布式系統,即分布式數據儲存庫.分布式數據儲存庫的實例有文件系統、目錄和資料庫.將關健業務數據儲存庫創建為分布式系統主要是為了提供高可用性和高縮放性.1.提供高可靠性,以使得單個計算伺服器故障在整體上不會損害包括每個數據元素在內的數據儲存庫的可用性.2.以兩種尺度提供了高可靠性(1)數據量和(2)讀/寫交易率(呑吐量).在任一情況下,如果可以向系統添加更多的計算伺服器來支持更多的數據量和/或更高的交易率,則分布式數據儲存庫都具有高縮放性.關鍵業務分布式數據儲存庫的縮放性還要求"在線縮放性",其意思是該系統可以在繼續提供數據管理服務的同時進行縮放.實時事件處理當分布式數據儲存庫是執行實時事件處理的數椐應用服務時,那麼還期望分布式數據儲存庫以支持高響應性.3.為實時數據儲存庫提供高響應性,以使得能夠以高概率保證在預定時間量內完成每次讀取和每次寫入交易.在實時數據儲存庫中,同樣期望高可用性和在線縮放性需求,以在故障和縮放性事件期間保持系統的連續高響應性.實時事件處理數據應用的實例有電信通話控制,行動電話歸屬位置寄存器(HLR)、網際網路多媒體系統(IMS),歸屬用戶伺服器(HSS)、在線銀行和交易系統.期望關鍵業務實時數據儲存庫系統具有高可用性、高縮放性和高響應性。支持這些需求組合非常具有挑戰性。響應性需求可能建議為交易分配專用計算資源,或者使專用計算資源專用於交易,以確保其在要求的時間量內完成。該策略使得典型的流水線和分時處理調度對於加速交易率的效率變低,同樣也會不利地影響響應性。另一方面,高可用性需求通常建議將每個關鍵業務數據項存儲在高度可用的存儲設備上(例如,RAID—獨立磁碟冗餘陣列),這意味著在提交和完成之前需要將每次寫入交易寫入至磁碟。另外,在寫入計算機元件已經故障的情況下,數據將不可訪問。即使當運行在具有大量CPU(SMP-對稱多處理)的大型計算伺服器上時,該策略仍降低了所實現的交易率。在許多情況下,關鍵業務數據儲存庫可以同時由若干不同計算實體(客戶機)來訪問以進行讀/寫交易,因此分布式數據儲存庫還需要提供系統範圍(system-wide)的一致性。如果從每個客戶機的觀點來看,每個數據元素值中的改變順序相同,則認為數據儲存庫具有"一致性"(或"順序一致性")。在支持眾多並發客戶機執行寫入交易的分布式數據儲存庫的多數實現中,一致性需求在交易率方面還是系統縮放性的限制因子。其原因在於,寫入交易必須串行化,因而在未定的(pending)寫入交易已經完成之前,通常必需延遲讀取交易。當不同的交易訪問不同數據元素(即,獨立交易)時,由於數據在系統內部組織的方式(例如,在相同磁碟上,在相同存儲器上等等),因此通常執行讀/寫交易的串行化。"全部共享"(SharedAll)分布式高速緩存一致性架構傳統的分布式數據儲存庫(諸如Oracle實時應用群集以及其它群集)使用高度可用的存儲器(通常使用RAID技術)來存儲關鍵業務數據,同時在內存保持數據副本的本地高速緩存一致性(CacheCoherence),該"全部共享"分布式高速緩存一致性架構可以提供靈活的主動/主動(active-active)N+M高度可用性,4吏得可以利用所有的計算節點來共享所有的數據處理負荷。在一個或更多節點故障的情況下,可以利用倖存節點來接管故障節點所進行的數據處理。在圖1中示出了"全部共享"分布式高速緩存一致性架構。該架構能夠提供讀取交易率的縮放性,即向系統添加更多節點可以增加讀取交易率。然而,由於需要在所有本地高速緩存之間協調每次寫入,因此"全部共享,,分布式高速緩存一致性架構通常沒有得到或者甚至得到負的寫入交易速率縮放性。因此,當向系統添加更多節點時,要花費很長時間來提交和完成每次寫入交易,因此要在所有本地高速緩存之間維持高速緩存的一致性。當交易中大部分是寫入交易時,提交和完成寫入交易的延遲增長使得"全部共享"分布式高速緩存一致性架構不再適合於支持要求實時交易處理的應用。當存在大的寫交易率時,就無法滿足響應性要求,而由於上述提及的實時事件處理應用通常具有高寫入交易速率,因此這成為難以解決的問題。因此,"全部共享"分布式高速緩存一致性架構不適合於這種大規模展開的應用。"無共享"(SharedNothing)數據分割架構其它分布式數據儲存庫(諸如IBMDB2UDB和MySQL)使用諸如圖2中示出的"無共享"數據分割架構.在無共享架構中,分布式數據儲存庫系統被分割成若干獨立的分布式數據儲存庫子系統,並且每個管理不同的數據部分。在"無共享"數據分割架構中,每個分區可以看作是"全部共享"分布式高速緩存一致性子系統,每個分區均具有其自己的高度可用的存儲器。該"無共享"數據分割架構克服了寫入率縮放性問題,這是由於該系統具有的獨立分區越多,就可以以無阻塞的方式對不同的分區並發地執行越獨立的寫入交易。因此,通過這種架構的寫入提交響應性也可以得到很好的處理。"無共享"數據分割架構的關鍵在於將計算資源分割與數據分割緊密耦合。這意味著,計算資源靜態地分配給每個數據分區。當系統寫入率增加時,那麼擴大系統的僅有方式是將系統重新分割成更多分區,並將更多的計算資源分配給新的分區。該縮放過程通常將要求在分區之間對數據進行重新分配,並且該過程不能在不損害系統繼續提供高響應在線資料庫服務能力的情況下實現。因此,重新分割通常需要計劃的整個系統的停機時間。因此,在"無共享,,數據分割架構中可以實現在線縮放性。另外,為了全部利用"無共享"數據分割架構的潛在並發性,客戶機應用程式通常需要知曉數據劃分的方式,這意味著重新分割事件同樣要求客戶機應用程式自身的改變。這使得管理和維護"無共享"數據分割架構的耗費很大。"內存"數據儲存庫架構已經出現了其它的數據儲存庫架構,所述的架構集中在降低交易延遲以提供更好的響應性以及提供整體更優的交易率。通過在單臺機器的一個充分大的內存中保持所有的數據,並通過在內存內部直接執行所有資料庫操作來實現所述目標。訪問計算機工作存儲器的延遲比訪問諸如磁碟的存儲設備短數個數量級。因此,通過在內存中管理所有數據,數據儲存庫可以得到更短的交易延遲,因而得到更高的交易率。關鍵業務內存數據儲存庫通常將系統複製成兩個或更多相同實例,以經過區域網使在複製實例之間內存數據連續同步(與"全部共享"架構的高速緩存一致性機制中相同)。基於網絡的數據提交增加了完成寫入交易的延遲,並因此還降低了寫入交易速率。然而,基於網絡的數據同步啟用了故障容錯。當上述變化時,就可能提供兩種或更多冗餘數據儲存庫,同時在儲存庫之間進行更新。現在參考圖3,圖3示出了具有故障容錯的內存儲存庫。內存數據儲存庫不能超出單個計算伺服器提供的性能和寫入交易速率進行縮放。縮放內存數據儲存庫系統的性能和/或寫入交易速率的僅有方式是向計算系統添加更多的內存,或者在計算系統的內存容量最大時,將系統移至具有內存更大和CPU更多的更大計算機系統(即更大的SMP伺服器)。兩種縮放性策略都要求計劃的系統停機時間,因此就不能遵從高可用性和在線縮放性要求。僅通過添加更多的計算伺服器既無法縮放性能也無法縮放寫入交易速率。內存數據儲存庫通常要求應用程式和資料庫協同定位來實現最大性能和較小延遲。這增加了資料庫的實際成本,這因為資料庫是按照每個CPU來定價的,但是CPU並不僅僅專用於資料庫,還用於應用程式。因此消耗CPU和內存資源的實際應用顯著降低了資料庫的實際價值性能。另一方面,將內存資料庫和應用程式劃分成獨立的單元使得資金的最大利用耗費在資料庫上,因此這種做法通常降低了使用內存資料庫開始可以得到的性能。因此廣泛認為存在對結合了上述系統的所有優點並避免了其不利之處的系統的需要,並且得到這樣的系統將會非常有利。
發明內容根據本發明的一個方面,提供了一種數據訪問系統,所述系統包括布置在虛擬分區中的每個均可獨立訪問的資料庫單元;多個數據處理單元;以及交換網絡(結合了一個或更多互連的交換單元),所述交換網絡用於在虛擬分區之間切換數據處理單元,從而將數據處理能力動態地分配給各個虛擬分區。優選地,每個資料庫單元可作為各個網絡信道獨立訪問。所述系統可以包括用於對數據執行散列處理(hashingprocess)的散列單元,其中通過散列處理的結果將數據分配給各個資料庫單元。優選地,以一個或更多表集合的形式來分配數據。優選地,以具有主關鍵字(primarykey)和/或一個或更多輔助關鍵字的記錄的集合形式來分配每個表。對關鍵字之一執行散列處理,此處是表的引導關鍵字(leadingkey)。表的引導關鍵字可以是包括複合關鍵字的任何關鍵字,複合關鍵字其意思是多於一個欄位和/或非唯一關鍵字和/或外關鍵字。優選地,以具有主關鍵字和可能的一個或更多輔助關鍵字的記錄形式分配數據,並且其中基於引導關鍵字為每個記錄分配主地址,即"主散列",並且還可能地基於輔助關鍵字分配一個或更多輔助地址,也稱作輔助散列。兩個或更多表可以共享相同的引導關鍵字。通常這種關鍵字還可以是外關鍵字,但是並不是必須的。結果是,對於來自共享相同主關鍵字的不同表中的所有記錄,主散列地址保持相同。因此在需要時還可以作為單個數據實體來管理所述記錄。兩個或更多表還可以共享一個或更多輔助關鍵字,因此來自不同表中的記錄同樣可以共享輔助散列地址。該系統可以包括解析單元,用於將輔助地址解析為相應的主地址。優選地,解析單元包括至少一個路由器。還可以提供備份路由器,以確保系統的高可用性。僅一個備份路由器就足以確保在一個路由器故障之後,剩餘的路由器仍能繼續進行輔助地址至主地址的解析,因而使得使用輔助地址可以繼續得到數據元素。還可以通過使系統保持內部索引表來進行輔助關鍵字解析,即路由,所述內部索引表根據輔助關鍵字是否唯一,將輔助關鍵字映射到一個或更多主關鍵字。使用輔助關鍵字作為索引表的引導關鍵字跨過所有虛擬分區對內部索引表執行散列。在這樣的情況下,通過讀取索引表來執行將輔助關鍵字路由為主關鍵字,與讀取其它表時的方式相同。該系統可以配置成使得通過若干數據處理單元來管理和存儲每個虛擬分區,使得在數據處理單元故障後,系統仍可以提供對所有數據的訪問。優選地,每個虛擬數據分區具有奇數個副本。奇數確保了版本之間的多數表決能夠通常地工作。優選地,通過基於多數的群組決定來執行所有數據處理,包括寫入和讀取操作,並且即使當因某些數據處理單元故障而每個虛擬分區中的少數副本丟失時,系統仍可以繼續提供數據的不中斷訪問。少數副本具有的最大尺寸是系統的故障容錯的等級。例如,如果系統對於每個虛擬數據分區具有5個副本,那麼在沒有失去對於每次讀寫交易的多數表決的情況下,能夠丟失高達每個虛擬數據分區的兩個副本。在沒有失去系統中每個數據元素的可訪問性的情況下,可以丟失高達兩個的副本。該系統可以包括選舉(election)功能,用於為每個虛擬分區動態指定數據處理單元其中之一作為群首或者協調器,以在衝突和並發寫入操作之間進行仲裁。該系統可以包括選舉功能,用於為虛擬分區動態分配數據處理單元。該系統可以包括在第一數據處理單元故障後被觸發的自癒合機制,使得將丟失副本的虛擬數據分區重新分配給所有或者部分剩餘數據處理單元。結果是使得系統的故障容限回到目標水平。電信級(carriergrade)系統的通常需求是5個9的可用性(99.999%)。現在,對於大型系統,假定每個基礎數據處理單元本身具有99.9%的可用性並假定在數分鐘內觸發自癒合機制,則具有每條數據記錄或者虛擬分區的三個副本就足夠了。對於超出5個9水平的和/或兆級別大型系統的極佳可用性,具有5個副本就足夠了。除非另外定義,此處使用的所有技術和科技術語的含義與本發明所屬
技術領域:
普通技術人員通常所理解的含義相同。此處僅僅示出了所提供的物質(materials)、方法和實例,並且其目的不是為了進行限制。本發明的方法和系統的實施涉及到手動、自動或者兩者結合完成或者執行特定的選擇任務或者步驟。另外,根據本發明的方法和系統的優選實施例的實際裝置和設備,可以通過硬體或者軟體或者其結合在任何固件的任何作業系統上完成若干所選步驟。例如作為硬體,本發明的所選步驟可以作為晶片或者電路得以實施。作為軟體,本發明的所選步驟可以作為通過使用任何適當作業系統的計算機執行的多個軟體指令得以實施。在任何情況下,本發明的方法和系統的所選步驟可以描述為通過諸如用於執行多種指令的計算平臺的數據處理器來執行。此處僅參考附圖通過實例的方式描述本發明。現在將詳細地具體參考附圖,需要強調的是,僅僅為了示例性地討論本發明優選實施例而以實例的方式特別示出了本發明,並且介紹的目的是為了提供認為最有用的內容,並使得更容易理解本發明的原理和概念方面的描述。關於這一點,不是更詳細地示出本發明的結構細節,而是示出了基本理解本發明所需的內容,結合附圖的描述使得本領域技術人員清楚本發明的若干形式可以如何在實際中具體得以實施。附圖中圖1示出了現有技術的全部共享分布式高速緩存一致性架構;圖2示出了現有技術的無共享架構,其中將數據分割成不同的數據節點,並如同管理具有分布式高速緩存一致性的全部共享一樣來管理每個分區;圖3示出了現有技術的內存數據儲存庫結構的故障容錯,其中所有數據保持在內存中,並在不同計算單元的兩個或更多內存之間進行完全複製和同步;圖4示出了根據本發明的優選實施例的簡化圖示,其中使用交換信道網絡以在虛擬分區和計算單元之間進行動態映射,在這種簡化情況下,沒有複製虛擬分區,並且在計算單元和虛擬分區之間可以存在一對多關係,因此每個計算單元存儲和管理一個或更多虛擬數據分區的單個副本;圖5示出了圖4中架構的簡化圖示,但是此次使用了數據複製,因此在計算單元和數據複製之間存在多對多關係每個計算單元存儲和管理了一個或更多虛擬數據分區,而每個數據分區由3個計算單元進行存儲和管理;圖6-8示出了根據本發明優選實施例的分層數據組織的樹形結構,其可以使用基於分層的虛擬分區來代表;圖9示出了根據本發明優選實施例的分割程序的簡化流程圖。圖10A和10B示出了具有兩級子信道的信道,還示出了根據本發明優選實施例的信道分層內的微儲存庫的分配。圖11和12B示出了圖4架構的部件的簡化方框圖,其中根據本發明的優選實施例虛擬分區是基於分層結構;圖12A示出了使用本發明優選實施例的三階段提交寫入操作的簡化流程圖;圖12C示出了根據本發明優選實施例的故障恢復操作的簡化流程圖;圖12D示出了根據本發明優選實施例的自癒合操作的簡化流程圖;圖13和圖14示出了根據本發明優選實施例作為自癒合機制一部分的數據微儲存庫和伺服器的重新映射的方框圖;圖15示出了根據本發明優選實施例的信道交換網絡圖和組播生成樹(multicastspanningtree);圖16示出了根據本發明優選實施例的網絡的一部分,並示出了客戶設備;圖17和18示出了根據本發明的優選實施例的分布式信道散列實施的方框圖;圖19和圖20A分別示出了根據本發明優選實施例如何使用輔助關鍵字執行數據映射的方框圖和流程圖;圖20B示出了在存儲了3和5個副本以及兩個不同可用性等級情況下,每秒鐘操作次數相對於數據存儲單元數量XDB的可用性和性能圖表;圖21和22示出了根據本發明的優選實施例如何維持過程狀態的方框圖;圖23示出了根據本發明的優選實施例使用用於維持過程狀態的狀態數據的方框圖;圖24示出了本發明優選實施例的簡化視圖,其中按照群組來交換信道。具體實施方式本實施例包括用於使用組播域網絡創建分布式數據儲存庫的裝置和方法。本實施例的數據儲存庫包括將數據分割從計算機資源分割中去耦合。這種架構的優勢在於,它提供了得到保障的響應性、高可用性、高縮放性和動態在線縮放性。提供了一種類似於無共享架構的系統,但是通過將數據映射到網絡信道來使用虛擬分割替代物理分區,所述網絡信道是一種群組地址。然後通過使用交換網絡尋址管理和路由將網絡信道動態映射至計算資源。其結果是提供了數據分割從計算資源分配中的去耦合。數據處理從數據存儲器脫離關係,因而可提供的虛擬信道數量僅僅受到網路尋址空間的限制。可以任意地對數據處理資源進行重新分配。在一個實施例中,用於搜索數據的尋址空間可以包含單個數據記錄的多個地址,所述單個數據記錄允許使用主關鍵字、輔助關鍵字或者附加關鍵字來分配數據。下面描述的實施例描述了"網內(in-network)"數據儲存庫架構。該架構定義了分布式數據儲存庫系統的創建,所述分布式數據儲存庫系統在分布式架構上結合了"全部共享"、"無共享,,和"內存"的所有優勢,同時又避免了每種解決方案的缺點,這將在下面更加詳細地說明。該架構具有上述"內存"架構的響應性。同時,"網內"架構具有上述"全部共享,,架構的N+M高度可用性和對稱的負荷平衡,但是沒有會限制系統的縮放性和響應的阻塞元素。另外,此處描述的"網內"架構具有上述"無共享"架構的無阻塞數據分割屬性。然而,在不同的數據分區之間不需要進行明確的數據分割或者進行明確的計算資源分配,因此系統可以實現計算元件之間的動態負荷平衡和真正的高速響應性,下面將說明這一點。參考附圖結合說明書可以更好地理解根據本發明的裝置和方法的原理和操作。在詳細地說明本發明的至少一個實施例之前,應當理解的是本發明在應用時並不受附圖中示出和下面說明書中所闡述的部件結構和結構細節的限制。本發明能夠具有其它實施例或者能夠以各種方法來實施或者執行。同樣還應當理解的是,此處使用的措辭和術語是用於說明的目的,而不應看作是限制。現在參考圖4,圖4示出了本發明的第一優選實施例的示意圖示。數據訪問系統包括布置在虛擬分區中的每個均可獨立訪問的資料庫單元以及多個數據處理單元。還提供了切換單元,用於在所述虛擬分區之間切換所述數據處理單元,從而將數據處理的能力動態分配給各個虛擬分區。更加具體地講,在圖4中,數據分區401.1,…,401.M被映射到信道l,…,M。計算節點403.1至403.K,每個都包括內存並經過交換機連接至信道,從而建立了柵格式(grid-type)網絡。圖4示出了其中使用交換信道網絡在虛擬分區和計算單元之間進行動態映射的架構。在該簡化情況下,沒有複製虛擬分區,並且在計算單元和虛擬分區之間可以存在一對多關係,因此每個計算單元存儲和管理一個或更多虛擬數據分區的單個副本。圖4中示出的分布式數據儲存庫架構以這種無阻塞的方式來組織數據和處理的能力,因此使內存中獨立讀/寫交易服務的並發性最大化,同時提供較高級別的響應性、一致性和較容易的縮放性。上述優勢通過以下操作來實現1.將數據分割從計算資源分割中去耦合。結果是以結合了"全部共享"的零管理縮放性方式實現了"無共享,,的無阻塞並發性。2.管理內存的數據,從而實現了上面提到的"內存"架構。通過使用交換信道網絡並生成此處稱作信道的中間網絡架構來執行對數據分區和計算資源分區的去耦合,使得將數據分割靜態地映射到網絡信道,同時可以將計算資源動態地分配給那些網絡信道。因此分配給一個或更多信道的每個計算伺服器在其內存中保持映射到其信道中的所有數據分區。計算伺服器和信道之間的映射並不需要是一對多的關係,還可以是多對多的關係。因此可以將若干計算伺服器分配給相同信道,使得數據分區在內存被複製並使其在分配給同一信道的所有計算伺服器之間得到同步。現在參考圖5,圖5以略微更加詳細的方式示出了圖4中的實施例,以說明數據從複製的計算分區中去耦合。與圖4中相同的部分給出了相同的附圖標記,並且不再再次提及,除非在理解該相同實施例時需要。交換信道網絡允許任何數據分區根據需要動態地連接至任何計算節點。圖5具有與圖4相同的基本架構,但是不同之處在於提供有數據複製。數據複製允許在計算單元和數據複製之間的多對多關係。每個計算單元存儲和管理了一個或更多虛擬數據分區,而每個數據分區由3或5個計算單元進行存儲和管理。圖5的實施例中包括下列要素1.通過使用中間網絡信道並經過交換信道網絡實施獨立的雙映射,將數據分區從計算分區中去耦合a.數據分區401.1-401.M至基本網絡信道信道1,…,信道M的一對一靜態映射。b.計算伺服器403.1...403.k至信道信道l,…,信道M的多對多動態映射。2.提供網絡信道方法來利用標準分組網絡,以確保線速度(wirespeed)響應性和信道分配的實時重新配置。3.其中的分布式數據管理協議是數據訪問協議或XDAP。4.使用路由網絡的數據索引以及分割的索引表處理,來確保經過備選的輔助索引對相同數據訪問的線速度。圖5中示出的分布式數據儲存庫架構以這種無阻塞的方式來組織數據和處理能力,因此使內存中獨立讀/寫交易服務的並發性最大化,而沒有損害響應性級別、一致性、縮放性和可用性級別。上述優勢通過以下操作來實現將數據分區從計算資源分割中去耦合,實現了具有"全部共享"透明縮放性的"無共享"無阻塞並發性,管理跨過網絡進行內存中複製的數據分割,實現"內存"的響應性和故障容限。現在將通過描述可應用於最多數據儲存庫的分層數據分割來說明本發明的另外方面。本發明可以應用於若干數據類型,包括但並不僅限於所提及的那些數據類型。數據類型描述之後是如何使用發布-訂購(publish-subscribe)網絡信道將分層數據分區從計算分割中去耦合的描述,然後討論如何使用標準分組網絡來實施這種"被發布被訂購"的網絡信道。在信道實施之後,描述的是上面已提到的核心分布式數據管理協議(XDAP),所述協議確保了線速度數據同步、交易完整性、故障容限、在線縮放性和自癒合。下面是利用標準路由網絡以及索引表分割處理的索引方法的描述。數據分割分層現在參考圖6,圖6示出了樹形數據分層601。數據儲存庫中的數據元素通常被分割成類似樹的結構中的分層,所述類似樹的結構代表了"部分"關係或者整個次序的關係。例如,關係資料庫就以這種模式進行組織。每種模式以表進行組織。每個表具有記錄列表,每個記錄具有不同的關鍵字值。部分關係(p)很好定義了這種分層中的關係。在上面的實例中"音樂庫"603〕"唱片資料庫"605〕"爵士唱片"607〕"PowerofThree"609〕"Limbo.mp3"611。圖7示出了另一實例文件系統。圖7的實例示出了組織成文件夾分層結構的目錄系統701。在該分層結構中,每個文件夾包含其它的文件和/或文件夾。每個文件包括塊列表。在上面的文件系統實例中也很好的定義了部分關係(〕)"根目錄文件夾,,703〕"程序文件夾"705〕"Adobe文件夾"707〕"Acrobat6.0文件夾"709〕"AcroRd32.exe文件"711.現在參考圖8,圖8示出了樹形結構的又一實施例。在圖8中,將文件目錄創建為列表樹810,而該列表中的每個元素要麼是數據記錄要麼是數據記錄列表。在樹801中,數據以分層形式進行組織,因此每個數據元素在數據儲存庫中具有唯一的"坐標",例如"DNS目錄"〕".il"〕".co.il"〕".xeround.co,i1"〕"www.xeround.co.i1".數據元素坐標唯一表示了該元素,因此可以總是作為寫入交易的一部分來提供。在許多情況下,還在讀取交易中提供特定的數據坐標。例如為了解析www.xeround.co,il域名的IP位址,將在目錄查詢中提供特定的坐標。然而,一些讀取查詢還可以指代該分層中的更高的等級,例如"alldomain訓esin.co.il"(所有.co.il中的域名)。在這種情況下,該查詢"選擇"子樹以從中讀取信息。此處在下面描述的實施例教導了一種使用基於分層散列函數來組織數據和處理數據儲存庫中資源的方法,所述方法將所有數據元素映射到構成分布式數據儲存庫骨幹(back-bone)的網絡信道的分層中,所述分布式數據儲存庫支持所有類型的查詢,同時提供了響應性、數據一致性、交易完整性、超高縮放性、動態在線縮放性和高度可用性。數據分區從計算分區中的去耦合創建的分布式基於分層散列數據儲存庫包括組播網絡信道的分層結構,這使得可將不同查詢路由至不同信道,另一方面使得不同的計算伺服器可以訂購任何信道集來接收其所有消息。此處在下面列舉了可用於實現這種發布-訂購網絡信道機制的不同標準的網絡技術。現在參考圖4,在信道中其自身定義了命令">",該命令的意思是"位於相同信道或者子信道中",即,信道1>信道1.1>信道1.1.1,同時信道1.1>信道1.2且信道1.2>信道1.1。在圖9的流程圖中示出了去耦合,所述去耦合包括下列部分微(H)分割903:將全球數據儲存庫靜態和虛擬地分割成多個獨立微儲存庫(iu儲存庫905),每個訂購至不同的信道集。微儲存庫的數目可以上千或者甚至更多。*散列907:對數據儲存庫坐標使用單調的基於分層散列函數,以將所述數據儲存庫坐標映射至信道。當a〕b〕h(a)〉h(b)時,散列函數h具有單調性。該方案使用了理想的散列函數(即在目標信道中均勻分布)來使得並發性最大化。散列函數實際將全局數據儲存庫分割成許多獨立的H儲存庫。複製909:將每個n儲存庫複製成一式三份(或者甚至五份或者更多)的相同獨立副本。將所有相同n儲存庫的副本訂購給相同的信道集。正如將在下面更加詳細討論的那樣,使用多數原理用於查詢交易完整性、數據一致性和高度可用性的結果。參分布和洗牌911:M儲存庫副本聚集至計算伺服器中。每個P儲存庫是計算伺服器上的單個進程、線程、表或者子表。因此,將每個計算伺服器訂購給其H儲存庫的信道。m儲存庫在計算伺服器之間得到良好的分布和洗牌,以使得負荷平衡最大化以及依存性和阻塞最小化。現在將參考圖IOA,圖10A示出了被分成子信道的信道系列的概念圖。因此,信道1被分成信道1.1和信道1.2。依次又將信道1.1分成子信道1.1.1,1.1.2和1.1.3。現在參考圖IOB,圖IOB示出了分配給信道和子信道的微儲存庫。從應用了複製和洗牌原理的實例可以看出的是,訂購給子信道的每個M儲存庫還訂購給了級別在該信道之上的所有信道。網絡信道發布-訂購方法此處以發布-訂購機制來提供網絡信道,使得每個伺服器可以在任何信道上發布消息,即發送消息。然而,僅僅預先訂購給信道的伺服器可讀取在信道上正在發布的消息。可以在任何時間將任何伺服器動態地訂購給任何信道或者從任何信道中取消訂購(un-subscribe)。同時可以將給定伺服器訂購給許多信道。下面將描述使用標準分組網絡來實施這種網絡"發布訂購"信道的若干方法。分布式數據訪問和管理協議XDAP回頭參考圖9,在被稱為"查詢路由器"(或XDR-數據路由器)分布式計算部件中執行坐標散列807。現在參考圖11,圖ll示出了使用查詢路由器1101.1,1101.3的網絡架構。每個查詢路由器同時處理多個請求。可以存在與解決方案所需的查詢路由器一樣多的查詢路由器,以支持生成讀/寫查詢/交易的所有數據儲存庫客戶機。將每個客戶機預先配置成依靠一個或更多特定查詢路由器工作。查詢路由器代表至其客戶機的數據儲存庫,因此查詢路由器接收讀/寫查詢、執行查詢並然後將查詢狀態或者結果值返回給客戶機。查詢路由器使用下列通用算法來處理查詢查詢路由器使用根據引導或者輔助關鍵字形成的查詢坐標來將查詢散列並路由至正確的信道。應當注意,每個伺服器可以寫至任何信道。然而,僅僅訂購給信道的伺服器會接收到其消息。讀取交易處理與寫入(插入、更新、刪除)交易處理不同。查詢路由器可以將單個查詢變換成若干讀取交易、寫入交易和鎖定動作。查存路由器生成這種查詢執行計劃或者訪問計劃,然後如下所述執行每種這樣的交易。正如資料庫領域中通常使用和公知的方式一樣來執行鎖定動作。讀取交易在一個階段中執行基於引導關鍵字的讀取交易,所述一個階段即"切換階段",其中讀取請求被切換至正確的信道,接著該過程等待被訂購給該信道的n儲存庫,以相對於其自身的內部數據儲存庫獨立計算讀取查詢,並將其結果返回給請求數據路由器。在從n儲存庫接收到與讀取查詢結果相關的足夠信息之後,數據路由器對信息進行整合,計算查詢,並將結果返回給客戶機。通過使路由階段在切換階段之前,來執行基於輔助關鍵字的讀取交易。該路由階段包括將輔助關鍵字映射到主關鍵字,接著在如上所述的切換階段中使用所述主關鍵字。路由階段可以通過使用路由器來實現,或者還可以通過依賴於正確的輔助索引表執行讀取交易來實現。輔助索引表將輔助關鍵字映射至原始表中的引導關鍵字。因此,索引表的引導關鍵字是原始表的輔助關鍵字,因而如同上述一個切換階段中的基於引導關鍵字的交易一樣,來執行這種索引讀取交易。當通過網絡路由器來實施該路由階段時,XDR則使用將輔助關鍵字映射到唯一網絡地址的另一散列部分(hashfaction),所述讀取交易淨皮發送至所述唯一網絡地址。路由器現在接收消息以重新定向該查詢,或者將該查詢路由至正確的信道,以使得從XDR的觀點來看,基於輔助關鍵字的讀取交易同樣需要單個階段。寫入交易寫入交易通過訂購給給定信道的所有伺服器來接收。然而,寫入交易的分布式提交過程通過特定協調器來管理,所述特定協調器從使用三階段提交協議的給定信道成員中選出。一旦在協調器的管理下完成了三階段提交,協調器以寫入交易完成指示向XDR回報,然後指示被轉發給客戶機。因為允許從不同源同時訪問相同數據記錄,因此需要協調器,在同時寫入嘗試事件中仍必需維持數據完整性。將使讀者參考與基於多數的群首選擇(leaderelection)相關的部分,此處將在下面更加詳細描述與協調器的選擇相關的細節。更加詳細地討論了在提供無阻塞並發處理、順序一致性、交易完整性和故障容限的同時進行的寫入查詢和讀取查詢處理。寫入交易處理現在將參考圖12A,圖12A示出了寫入交易的簡化流程圖。寫入交易可以包括插入、修改或者刪除交易。插入交易總是指定了添加至它的特定數據記錄的全部坐標"C",即引導關鍵字。然而,刪除和修改交易並沒有提供引導關鍵字。它們可以提供輔助關鍵字值或者某些其它搜索標準。在未把引導關鍵字指定為寫入交易的一部分的情況下,那麼XDR需要最先執行讀取交易,所述讀取交易用來查找需要修改或刪除的所有記錄,然後使用手頭的引導關鍵字值執行寫入交易。此處圖12A的描述假定已經識別了寫入交易的引導關鍵字。為了確保已在所有副本中成功完成寫入操作,寫入操作使用所有p儲存庫副本來執行3階段提交協議。如上所述,該提交協議由被選擇為協調器的一個伺服器來協調。特別地,為每個信道都選出一個協調器。由協調器來啟動任何交易的提交。協調器使得獨立的交易串行化。並發讀取,其含義是發生在寫入訪問期間的讀取訪問通常使用更新之前的記錄版本來完成,或者備選地,等待更新後的版本。如果應用程式請求在更新期間執行讀取時,則讀取還可能會失敗。同樣,一旦寫入已經提交(響應已經發送給查詢路由器)時,就新的讀取不會接收先前的版本作為響應。協調器優選使用單調計數器來標記其在每個信道上啟動的每次交易。3階段提交的第一階段是發送交易給所有的參與者。因此協調器發送交易給所有參與者。下一步驟是選擇他們的預提交(pre-commit)或放棄響應。經過單個協調器來維持原子交易(Atomictransactions),因此信道的所有成員相對於每次交易一直完全同步地工作。因此,響應必須總是相同(以三階段提交的術語來講,是預提交或者放棄)。由於完全同步,因此當響應為預提交(即,存在協議階段的合併)時,信道成員可以即刻在本地提交交易。當接收到多數肯定應答時(預提交或者放棄),協調器可以以適當的響應來響應查詢路由器。在寫入操作期間,為了能夠在協調器故障的情況下恢復,所有成員保留有交易信息。為了維持信道成員的整體同步特性,協調器持續將交易轉發至所有成員,直至他們已經全部應答。需要重複轉發或者說隨後缺少應答表明信道中存在故障,必須重新組織該信道以反映出該故障。一旦存在關於交易以及什麼部件出現故障的一致意見,則可以對其進行整理,這是由於信道成員的多數投票能夠產生多數意見,因此進行恢復。然後協調器可以在常規的三階段提交協議中發送本質上與最終提交的消息相似的消息,將所述消息中繼至同意該交易的所有成員,接著可以清除它的所有信息。現在,將複合交易管理分解為原子交易集,一個協調器負責整個交易,而其它協調器可以處理原子子交易。在一個或更多原子子交易故障時,那麼複合交易協調器負責退回或者取消複合集中已經完成的其它原子子交易。為減少網絡報文,且由於中繼相同交易的其它部分相關信息不需要實時進行,因此"其它部分"信息還可以作為"捎帶確認"(piggyback)在其它交易上發送。更加具體地,每個常規交易消息包含有最大交易id,該交易ID之前的所有交易或者包括該交易的所有交易已經全部被信道放棄。這種協議可以經得起信道中少數成員(包括協調器本身)的任何故障,同時維持資料庫的原子性、一致性、隔離、持久性或者ACID屬性。資料庫系統的ACID屬性允許數據的安全共享。沒有這些ACID屬性,每天發生諸如使用計算機系統來購買產品將非常困難,並且不準確的可能將很大。因此,如果同時多於一個人試圖從給定的計算機化目錄來購買相同的尺寸和顏色的毛線衫一常規事情,ACID屬性使得零售商能夠使這些毛線衫購買交易免於相互交疊一一使零售商免遭錯誤的存貨和帳戶平衡。將上述操作轉換為寫入訪問,則上述協議確保了總體監控程序負責整個信道,以使得可以在控制之下保持寫入操作。上面協議的根本效果在於,如果多數成員已經對給定交易做出應答,那就如同已經從那些機器中移除了對象的先前版本一樣,隨後的任何讀取決不包含對象的先前版本。隨後讀取將得到新版本或者超時。當恢復時,要麼已經對所有成員實施了寫入交易,或者原始多數中所有成員或者至少一個成員仍具有交易內容,因此將確定最終對當前成員實施了寫入交易。一旦這種情況發生時,那麼讀取將不會再超時,其將包含對象的新版本。數據記錄的每次成功寫入生成了唯一的"證書",即當前記錄的順序寫入號,只要該協議已經成功操作,則對於所有副本,期望的是記錄最後數值證書都是相同的。該證書用於作為讀取過程一部分的數值認證。讀取過程如同上述寫入查詢一樣,查詢的讀取過程要求查找正確的記錄,然後輸出查找之後的信息.正如將重新想起的,相同的數據記錄存在於多於一個的位置處。現在,通常以引導關鍵字來存儲數據記錄,所述引導關鍵字可以是從中檢索記錄的第一可搜索欄位。數據記錄還可以具有其它可搜索欄位。優選地構造資料庫使得引導關鍵字的使用可以被散列以提供記錄的直接尋址。如果讀取查詢包括數據元素的引導關鍵字,則1.通過XDR將該查詢散列並切換至正確的信道。2.根據該信道,每個具有該記錄版本的XDB接收該查詢。3.通過XDB將結果返回給請求XDR,包括記錄內容和指示最後寫入操作的證書。4.在XDR接收到足夠(多數)的一致結果(即相同值和相同證書)之後,將檢索的內容作為結果值發送回客戶機。如上所述,現在多於一個欄位是可檢索的。因此,在主要打算通過姓名來查找特定號碼電話的電話號碼簿的情況下,姓名欄位將構成主關鍵字。然而,如果需要電話號碼簿還可以反向查詢,因此可以輸入號碼來查找姓名。在這種情況下,查詢將包括非引導關鍵字。如果讀取查詢包括這種數據元素的非引導關鍵字(可以是主索引或輔助索引),那麼讀取查詢首先依賴於索引表進行匹配,以提供主關鍵字。在上述實例中,電話號碼是唯一的,因此可以產生單一的結果,但是許多這種關建字並不必然就是唯一的,而是可以檢索到多於一個的結果。查詢過程然後如上所述使用引導關鍵字或者多個引導關鍵字來定位數據元素或者多個數據元素。下面將更加詳細地參考輔助索引。如果檢索主關鍵字,那麼將產生正確信道。現在搜索查詢可以根本不包括關鍵字。當讀取查詢不包括數據元素的主關鍵字時,也沒有至該數據元素的輔助索引(即這是一個flat"搜索,,查詢),則該讀取查詢必須"選擇"分層中的一個或更多級別以在其中搜索(或者默認是全部搜索,其含義是選擇了根目錄)。圖6的文件目錄結構上進行的不是關鍵字的條件查詢的實例如下1.查詢長於IO分鐘的喬士曲目(選擇了"喬士唱片")2.查找25歲或者更年輕的藝人的唱片(聯合查詢-選擇了"爵士唱片"和"藝人庫")圖12B示出了用於將圖6的分層轉換為信道分層的分層散列函數映射。在圖12的映射中,圖6的結構表和每個資料庫被映射到符號為超級信道1、超級信道2等的超級信道,並將給定表內的所有數據元素映射到子信道集合。例如,將"喬士唱片"表映射到超級信道2.1,將所有的喬士記錄入口散列到信道2.1.x集。引用了特定爵士記錄的任何讀取查詢被直接映射到信道2.1.x其中之一。然後,如果在資料庫中存在記錄,那麼就在所有p儲存庫副本中將詳情訂購給相同信道。任何"選擇了,,"爵士唱片"表的讀取查詢將映射到超級信道2.1。接收搜索查詢的每個n儲存庫相對於其內部儲存庫獨立地執行查詢,並返回檢索到的任何結果。查詢路由器將多數原理應用於每個單獨p儲存庫結果的副本,然後合併所有結果將其返回給客戶機。通過原子"選擇"交易的序列作為複合交易來實施聯合數據查詢。一次可以執行單獨的查詢,布置複合查詢以確保一個選擇的結果影響在下面選擇中根據聯合數據查詢要求的任何邏輯進行的查詢。恢復和自癒合現在將參考圖12C,圖12C示出了自癒合過程的簡化圖示。上述該系統承受任何單個故障,因此任何單個故障不會損害系統的可用性和功能性。系統中故障容限的等級可以通過使用每個數據記錄的更多H儲存庫副本來進行配置。然而,當出現故障時,系統失去了一些"故障容限"等級,並且可能不會在另一些故障中倖免。因此,現在將討論稱作"自癒合"的"故障容限恢復"機制,該機制自動恢復要求的故障容限等級。在下面,我們將描述故障容限恢復的完全對稱的分布式自癒合機制,在笫一次故障之後的一個可配置的時間量觸發該機制。jLi儲存庫中的故障可以通過位於相同信道上的同等物(peer)來自動識別。當檢測到M儲存庫故障時,可以實施下列恢復過程1.p儲存庫所屬的其它信道成員識別出信道上的儲存庫之一出現故障。如果信道的協調器不是有故障的協調器,那麼該協調器通過向信道中添加新的伺服器來啟動信道成員集合的改變,以招待(host)丟失的M儲存庫副本。通過信道協調器使新近被重新招待的副本與信道重新同步。隨後信道上的寫入交易反映出圖12D中描述的該變化。2.備選地,如果故障伺服器是信道的協調器,那麼信道中的剩餘伺服器選出新的信道協調器,所述新的信道協調器協調伺服器至信道的添加,並協調信道數據的添加,如上面1中的圖12D所述。正如在圖12C中所述,當伺服器故障時,需要在所有故障伺服器訂購的信道中進行恢復過程。在某些這些信道中,故障伺服器是協調器,因此作為恢復過程的一部分,需要為信道選出新協調器。為了協調所有恢復信道的恢復過程,選出一個總體"自癒合"協調器,以通過使用預先編輯的恢復計劃或者如果需要通過生成新的恢復計劃來協調恢復過程。這樣的恢復計劃可以認為是如圖14所示的"恢復矩陣",其規定了在故障的伺服器上招待的每個H儲存庫副本應當有效地移植到倖存伺服器中的哪一個。使用該系統,數據重新平衡,因此故障伺服器的損失對其招待的P儲存庫上的數據可用性的影響最小。現在將參考作為圖表的圖13,其中七個列Bl,…,B7代表七個伺服器。這七個伺服器之間的伺服器招待了三十五個信道C1,…,C35。每個伺服器被訂購給15個信道-通過方框中的填充來代表,每個訂購代表了正在招待的)Li儲存庫。因此,正如所示出的那樣,七個伺服器每個均招待15個M儲存庫。每個P儲存庫複製了三次,以給出映射到35個信道的35個基礎p儲存庫的一式三份總計105個副本。B1和Cll之間的交叉被填充,其含義是伺服器2正招待M儲存庫11的副本,且因此還被訂購至信道11。現在參考圖14,圖14示出了如何改變圖13的結構以補償談論的第三個伺服器的故障。雖然B3故障,但是在其它兩個位置存在有以黑色陰影標出的伺服器3上的所有儲存庫。在恢復計劃中,舉例來講伺服器7從緊急信道接收到"伺服器3停機"的緊急信號,然後啟動三個新的p儲存庫複製過程來複製位於信道l,3和4上的儲存庫,從而複製在B3/C1、B3/C2和B3/C4丟失的微儲存庫。從在那些信道上所訂購的其它兩個副本中複製內容。同樣,伺服器6複製信道6,8和10上的內容。伺服器5複製信道11、15和18上的內容。伺服器4複製信道19、22和26上的內容,然後伺服器2和1在其之間共享信道30至33。以黑色陰影示出了複製的儲存庫。信道實施如上所述,信道實施了等級散列簡圖。信道可以被簡單地認為是H儲存庫之間的共享媒體。然而當添加儲存庫時,通常共享媒體並不能很好地縮放。這是因為當密度增加時,共享媒體在所有的儲存庫上增加了處理壓力。因此通過打開了互連節點圖的切換底層結構和支持p儲存庫作為葉子的最小組播生成樹來實現最有效的網絡架構。現在參考圖15,圖15示出了表示組播生成樹的信道交換網絡圖的示意圖示。可以定義具有應用轉發節點的應用層交換網絡。作為DHT(分布式散列表)實施中的界標(LandMark),轉發節點也是公知的。在物理、列函數是有效的。這種方法允許切換散列圖經過現有的標準網絡設備來實施。這種信道散列圖使得能夠毀壞用於實現信道的計算層,並能夠導致信道內分布式切換散列的線速度處理。因此,這種散列圖的使用使得散列示意圖能夠有效、高速、節省成本且高度縮放地實現。基於標準的信道實施基於可以保存散列分層的地址空間的標準包括IETFIPV4或V6ATMFATMVCIVPIIEEE802.DEthernetdotlQiiiQVLANITUTE.164還支持標準組播信道內聯註冊/訂購協議的標準網絡環境例如包括用於IP的IGMP用於VLAN的GARP用於ATM的UNI-NNI信令還可能選擇非分層地址空間,諸如IEEEMAC地址,並構造多層子網網絡以實現信道散列方案。有效實施的實施例是在通用公共MPLS骨幹上經過Martini或類似隧道進行封裝的IEEEdotlQinQVLAN,其通過標準硬體支持線速處理,並且還容易封裝在通用公共網絡的基礎設施中。備選地,還可以經過通用公共ATM骨幹上的LANE/MP0A來封裝IEEEdotlQinQVLAN,以提供多地點的實施。現在參考圖16,圖16示出了網絡布置的簡化圖示,其中P開關(P)通向提供商邊緣(PE)設備,所述提供商邊緣設備依次通向客戶邊緣(CE)設備。客戶邊緣(CE)設備實施IEEE802dotlQVLAN,並支持數據存儲器。根據CPE埠和標籤,CE利用Q倍增標籤中的Q(QinQdoubletags)將通信量朝著公共/專用服務提供商邊緣(PE)設備散列至上行鏈路。PE將CE上行鏈路通信量通過埠和VLAN散列至MPLS上的隧道。信道被散列至MPLS的內部IP位址空間,並根據路由描述符將這些地址空間散列到MPLS的標籤方案,並將其轉發至提供商(P)核心交換機。跨過共享分布式信道實施的所有地點,P核心交換機根據標籤直接散列或者通過進一步散列成DWDM頻率、TDM時隙或者其它適當的傳輸轉換機制來散列通信量。使用基於標準網絡技術的上述方法,允許系統利用網絡技術中的繼承散列。因此,可以使用VLAN標籤、IP位址、標籤切換、時間或波長復用以線速度為數據提供散列數據關鍵字和整個線能力。分布式散列流程實施的實例如下CPE和CE存儲區域分布散列流程數據關鍵字-〉信道->VLAN標籤->標籤+埠->超級標籤,標籤+上行鏈路埠PE和P公共區域分布式散列流程上行鏈路埠+VLAN->隧道ID->LSPIP連接->內部標籤->外部標籤。光傳輸基本散列流程外部標籤+埠勺光波長(WDM)和Z或光時隙(SONET)。為了更進一步的描述,此處將在下面把讀者引導至特定信道實施相關的部分。現在參考圖17,圖17示出了各個散列階段如何對無窮大尺寸的高速存儲網絡實施信道分布散列表。圖17示出了分布式目錄的實施。在分布式目錄實施的情況下,客戶機查詢協議是LDAP(輕量級目錄訪問協議)。現在參考圖18,圖18示出了根據本發明優選實施例的網絡布局的信道散列實施。圖18的實施示出了具有客戶機邊緣設備的中心網絡環。中心網絡環周圍是資料庫XDB和查詢公式定製或者切換單元XDR。現在描述使用VLan技術和GVRP註冊協議實現了接入點和存儲元件XDB之間分布式資料庫通信的實施。基於GVRP的信道實施為了得到非常有效的信道實施,此處描述的用於實施發布-訂購網絡信道的方法使用了VLAN技術和GVRP動態註冊技術。分布式資料庫系統由兩種元件構成,訪問元件XDR和數據存儲元件XDB。如上所述,元件之間的通信經過信道。每個信道代表存儲在資料庫中的一些數據的子集。包括每個信道的數據存儲元件的集合可以因各種原因,隨時間而改變。保持訪問元件和包括信道的實際數據存儲元件之間的信道連通性是非常關鍵的。為了執行原子提交操作,數據存儲元件還使用相同的信道在數據存儲元件之間進行通信。當數據存儲元件在它們之間進行通信時,還從數據本身推斷通信的信道選擇。當前方法的效力在於發送至信道的數據僅僅從發送器發送一次。然後使用以最小需要對該消息進行的網絡複製,數據到達所有信道元件,以便確保該消息到達所有目的地。提出的方法包括下列組成部分1.系統中的每個邏輯信道通過使用IEEE802.IqVLAN技術的VLAN來物理實施。2.存儲元件是信道上的數據接收器。a.存儲元件通過周期性發送適當VLAN的GVRP註冊消息作為信道接收器。b.允許存儲元件加入多個VLAN,通常它們需要作為中繼埠(trunkport)連接至乙太網交換機。c.存儲元件還可以將該信道上的數據發送至另外的信道成員。存儲元件通過使用信道標籤發送廣播消息來執行該操作。僅當存儲元件註冊了適當的VLAN時,才僅到達另外的存儲元件.3.接入點是數據至信道的發送器。a.為了允許接入點發送數據至多個信道,接入點發送標記有IEEE802.1qVLAN的廣播消息。b.為了允許接入點生成標記包,通常接入點需要作為中繼埠連接至乙太網交換機。c.接入點本身不在信道上接收數據;因此它們不應該加入信道。接入點不必執行任何GVRP信令。4.元件所連接的乙太網交換機需要支持VLAN標籤和GVRP信令。為了效率起見,對於不是接收器的中繼埠,使用VLAN標籤對該埠上的輸入數據進行標記。由於在信道上發送的所有數據將必須在接入點處進行過濾,因此這是有效解決方案中的要素。5.從數據存儲元件發送至接入點的響應消息可以是標準IP消息或者標準乙太網單播消息。現在,在WAN網絡上的虛擬LAN上傳送VLAN標記包的解決方案已經存在。為此,IETF組織已經起草了若干提議。還有包括來自諸如Cisco的領先廠商的若干實施。因此可能使用標準VLAN和GVRP技術作為用於實施低等待時間分布式散列表的方法的基礎,所述散列表用作資料庫接入點和數據存儲元件之間的通信信道。然後數據通信就成為了數據本身的函數(即,通過散列數據元素來選擇通信)。該方法在生成的大量消息中是有效的,這是由於發送器將打算供信道上多個收信者使用的消息作為單個消息進行發送。僅以實際到達所有目的地所需的最小量來複製所述消息。基於IGMP偵聽的信道實施為了高效的信道實施,此處描述的方法使用了IGMP協議和廣泛實施的IGMP偵聽,這將在下面更加詳細地進行描述。本方法的效力在於發送至信道的數據僅僅從發送器發送一次。使用以最小需要對該消息進行的網絡複製,數據然後到達所有信道成員,以便確保該數據到達所有目的地。本實施例的方法包括以下組成部分1.系統中的每個邏輯信道使用專用IP組播地址來實現。2.IP組播消息通常在乙太網交換機內部使用乙太網廣播消息進行發送,如同在交換機上存在多個收信者一樣。當代的乙太網交換機通常使用公知為IGMP偵聽的技術,通過深入查找包以及利用IP組播地址來避免將這種包廣播至所有的交換機埠。還通過在交換機上觀察IGMP協議通信,交換機就可以知道IP包與哪些埠相關。這種廣泛使用的技術稱為IGMP偵聽。當此處建議的方法以最優方式與交換機一起使用時,具有更加顯著的效果。3.存儲元件是信道上的數據接收器。a.通過使用IGMP協議成為適當IP組播地址上的數據收信者,存儲元件作為信道接收器。b.存儲元件可以在信道上發送數據給其它信道元件。上述操作通過將IP消息發送至與該信道相關的組播地址來實現。由於僅僅其它存儲元件對於該組播地址的接收進行了註冊,所以該IP消息僅到達與信道相關的該其它存儲元件。4.接入點是至信道的數據發送器。c.在信道上使用IP消息來發送數據,將目的地址組設為與該信道相關的組播地址。d.接入點本身不在信道上接收數據,因此接入點並未加入任何信道。接入點不必執行任何IGMP信令。5.通過使用利用IGMP偵聽的乙太網交換機,該解決方案的效率得到顯著提高。6.從數據存儲元件發送至接入點的響應消息可以是標準IP消息或者標準乙太網單播消息。7.IGMP在經過WAN連結進行穿越(traversal)時是有效的。僅當至收信者的路由或者路徑出現分叉時,才對包進行複製。因此就可能使用標準IGMP技術作為實現低等待時間分布式散列表的方法的基礎,所述散列表用作資料庫接入點和數據存儲元件之間的通信信道,並使通信是數據自身的函數(即,通過對數據元素進行散列來選擇通信)。當乙太網交換機具有IGMP偵聽能力時,該方法變得更加有效。由於發送器將打算供信道上多個收信者使用的消息作為單個消息進行發送,因此生成的消息數量最小。為了使消息到達所有收信者,網絡硬體將僅僅在需要的最少點處對消息進行複製。基於乙太網單播的信道實施此處描述的方法使用通信信道的乙太網(單播)通信。本方法基於乙太網單播消息的使用,即使用單播消息來執行信道內的通信。乙太網單播發送器是消息源,而不管發送器本身是否是信道中的成員。當使用成員MAC地址作為乙太網目的地址將消息單播至每個成員時,將打算到達信道的每個消息複製到所有的信道成員。因此,需要維持每個信道MAC地址成員列表的機制。本發明的方法包括不管每個元件是否是信道成員,都使其與信道通信,並維持其自身的MAC地址成員列表。這些列表隨著通信故障而動態更新,並促使更新成員列表。從在兩個網絡地址之間維持臨時映射高速緩存的意義上講,所提出方法的信道成員解析協議本質上與公知的ARP協議責任相同。主要不同在於,ARP協議保持了IP位址和MAC地址之間的一對一映射,而所提出的方法將單個信道地址轉換成若干MAC地址。每個元件維持信道至MAC地址信息的該元件自己的高速緩存。然後當試圖發送消息給信道時,通過元件訪問該高速緩存。並從該高速緩存中移除舊信息。當在高速緩存中的信息不足時,利用信道解析協議來得到所需信息,所述信道解析協議的消息將在下面描述。如果目標數量低於某個功能最小值,則認為信息不充分。對於上述資料庫,該最小值是信道成員的多數。同樣,如果元件在信道上產生消息,但是卻沒有在某個時間幀內接收到充分的響應,所述時間幀比舊信息的高速緩存老化移除超時時間更短,則元件明確地刷新相關信道信息。基於乙太網單播的信道實施中使用的消息在公知為信道解析協議(下文中稱作CRP)的所提出方法的信道成員協議中使用了下列消息。1.CRPjrequest消息是乙太網廣播消息,用於請求一個或更多信道的成員將其MAC地址發送給請求器.請求器還使用以下選項來標記與每個信道相關的其自身狀態。a.請求器未將自身認為是信道的成員。b.請求器是信道的常規成員(數據存儲元件之一)。c.請求器是信道的協調器。這意味著在信道內請求器是當前負責協調原子提交過程的元件一參見本文在別處對協調器的討論。2.CRP-response消息是響應於CRPjrequest消息從信道成員發送的乙太網單播消息。響應消息包括信道上的響應元件具有的所有消息,包括信道上每個元件的角色。響應消息包括信道列表。對於每個信道,存在成員的MAC地址以及成員在信道中的角色列表,即該成員是否是信道的常規成員或者信道的當前協調器。a.通常,信道的協調器知曉信道中的所有成員。b.通常,常規成員僅知曉他們自身。c.此處單播消息的備選實施方式是使用乙太網廣播消息來廣播該消息。其優勢在於,該信息也可以與其它元件相關,因此將降低系統中請求的總體數量。其不利之處在於,廣播可能與其它元件無關,因此將使網絡極度充斥。3.存儲元件周期性地通過發送包括其全部信道成員狀態信息的乙太網廣播消息來進行廣播。這種廣播消息與CRP響應具有相同的內部結構。基於乙太網單播的信道實施的擴展1.可以以微小的改變來使用相同的方法,例如使用不可靠(或可靠)的廣播和單播報文發送的另一層的兩種技術,例如,Infmiband。2.通過使用IP通信(作為原始IP或者作為UDP包)來取代乙太網單播,可以使相同的方法適用於IP技術。此外,使用所有存儲元件都參加的IP組播來取代乙太網廣播也是可行的。因此可能使用廣泛可用的乙太網單播通信來作為實施低等待時間分布式散列表的方法,所述低等待時間分布式散列表用作資料庫接入點和數據存儲元件之間的通信信道。散列允許通信是數據本身的函數,其意思是通過對數據元素進行散列來選擇通信。如上所述,在不損害數據的情況下,讀取操作基本可以同時實施,然而寫入操作可能會彼此幹擾.XDAP協議中使用的基於多數的群首選舉協議下面描述了在分布式異步網絡中基於多數的群首選舉的實施例,從而使得可以選出引導處理單元,以便提供基於寫入操作的決策執行控制。到目前為止,已經在分布式系統中對容許各種類型的節點和連結故障的協議進行了大量工作,該領域的技術論文包括LeaderElectioninthePresenceofLinkFailures,GurdipSingh,IEEETransactionsonParallelandDistributedSystems7(3),1996年3月。LeaderElectioninAsynchronousDistributedSystems,ScottD.Stoller,TechnicalPaper,ComputerScienceDepartment,IndianaUniversity,Bloomington,IN,USA,2000年3月9曰。過去已經並行地對為了原子提交而進行的群組決策的魯棒性協議進行了大量工作。從1998年提交給耶路撒冷希伯來大學的作者為IditKeidar的"ConsistencyandHighAvailabilityofInformationDisseminationinMulti-ProcessorNetworks,,(博士論文)的第八章中可以找到很好的概括。據本發明人所知,科學界還沒有關注到在相同單一環境中分布式計算機域內的群首選舉問題和原子提交問題。同時,在多數原子提交算法中,都需要協調器。通過使用群首選擇算法的群組來選擇協調器。在能夠承受連結和部件故障的實際分布式計算環境的環境下,兩個域的分割導致在成功決定時分割解決方案的成功是不一致的。換言之,在目前技術中,比較荒謬的是存在這種情形,其中故障模式和算法選擇可能選舉出不能協調原子提交的群首。同樣,荒謬的是,在目前的技術中還存在這樣的情形,其中故障模式和元素選擇使得不選舉群首,儘管存在有能夠成功協調原子提交的節點。為了克服上述現有技術中的缺陷,此處教導的群首選擇與基於多數的三階段原子提交緊緊結合在一起。因此,就可能防止不一致的成功或者群首選舉過程決定的失敗以及因此基於多數的三階段原子提交的失敗。本解決方案期望的直接結果是生成IMS-ready資料庫。本解決方案提供了一種方式,該方式滿足了計劃用於數百萬客戶的IMS順從電信網絡推廣應用提出的資料庫所需的保障等待時間、高吞吐量和連續可用性,這是由於該方式包括能夠經受各種類型的若干故障的分布式解決方案。經受若干故障的部分能力包括在若干故障情形中執行原子提交的能力。為了執行原子提交,優選的是群首選舉和原子提交算法本身可以在若干故障情形中成功進行。群首選舉和原子提交算法的緊密耦合使得群首選舉算法相對較小,所述群首選舉算法相對於故障比所需通信的節點內模'式所需的其它群首選擇算法更加具有彈性。即,所需的節點內通信是基於多數的三階段提交的所需最小值。通過考慮包括資料庫的節點的組群大小,緊密耦合算法提供了一流的簡單操作。可以將該算法概括成未知大小的群。其核心是,建議的緊密耦合算法基於Garcia-Molina邀請算法的增強。1982年1月,IEEETransactionsonComputers,C-31(1):47-59的"Electionsinadistributedcomputingsystem",作者HectorGarcia-Molina。該算法包括將群首選擇和3PC故障容錯協議結合成一個協議。所述一個協議用於在相同故障場景中保障選舉和提交。下面對選舉算法的高級特徵進行描述。基於多數的群首選舉協議的高級階段根據本發明的優選實施例,在下列接合點(juncture)執行群首或者協調器選舉1.系統初始化當所有節點(或者處理)初始化並首次加入分布式資料庫時,不存在目前己知的協調器。因此選舉出協調器,所有節點確認該選舉,以確保協調器眾所周知。2.節點加入例如在重新引導之後,當新的節點接入系統時,優選地確認當前的協調器。因此,通過新節點的加入並不觸發選舉過程,即使當新節點的唯一標識符高於當前協調器的唯一標識符時,也是如此。正如將在下面所討論的,在選舉過程中使用該標識符。該算法的期望特徵是試圖儘可能地維持當前協調器,以限制協調器轉換操作發出的資料庫系統上的任何性能消耗。3.協調器故障當協調器故障時,例如當協調器機器崩潰時,優選通過仍然連接的所有節點來執行選舉。本質上,該選舉與系統初始化時調用的選舉是相同的。4.連接故障當協調器和不包括多數節點(換言之少於(N-l)/2節點)的節點群從多數節點斷開時,優選由仍然連接的多數節點選舉出新協調器。一旦重新開始所有通信時,包括先前協調器的少數節點優選承認新協調器的關係,並加入。5.根據要求的選舉協調器優選在不提名自己的情況下調用選舉過程。如果協調器識別出作為協調器功能的問題(CPU、內存、heat等)時,這種情況可能發生,決定將職責移交至備選節點。基於多數的群首選舉協議的算法協調器選舉協議要求每個元件具有唯一標識符,要求特定的系統消息,具有預定數量的選舉狀態,並要求特定的定時信號和超時。現在來處理這些問題.l.唯一標識符(UID):為每個節點(或者過程)分配一個唯一標識符(UID)。存在用於生成UID的各種公知技術。最簡單的是使用系統上的MAC地址作為UID。2.消息AU消息共享相同的公知成員列表。下面是在示例選舉場合中使用的消息列表。頻率涉及其中對信令使用了頻分復用的實施例。2.1I_AM_ELECTED_C00RD:這是由協調器使用Fl頻率周期性發送的廣播消息。該消息用於所有系統節點,並用於確保系統節點仍然與協調器進行通信。2.2I-AM-C00RD-CANDIDATE:這是一個在選舉期間發送的廣播消息。認為自己是協調器候選者的節點以頻率F2來廣播該消息。2.3I-ELECT-YOU:這是從節點發送至可能協調器的單播消息。作為I_AM_C00RD_CANDIDATE消息的響應和I-AM—ELECTED-COORD消息的響應而發送該消息。2.4IS-THERE-COORD:這是當開始參與選舉時,T3超時時由每個節點發送的廣播消息。3.XDB選舉狀態下列列表是元件或節點在選舉過程中或者選舉期間可能進入的實例狀態的列表。3.1.IS-THERE-COORD:該"istherecoord"狀態是元件或節點開始參與選舉時的初始狀態。如上所述T3是發出IS-THERE-COORD消息之後的靜默期,在靜默期間,傾聽查看是否有選舉消息。3.2.CANDIDATE(候選)當節點進行候選狀態時,該節點通過發送I-AM-COORD-CANDIDATE消息將自己提名為協調器。該節點保持候選狀態最多T6時間。如果當時另一節點已經成為協調器,則該節點將嘗試並且加入該協調器。如果接收到具有更高UID的節點的消息,所述具有更高UID的節點是本節點還沒有放棄為其投票的那個節點,則本節點將為那個節點進行投票。如果達到T6超時,則該節點將為另一節點進行投票,即使其具有較低UID。3.3.VOTED(已投票)當一個節點想要投票贊成另一節點作為協調器時,則進入"已投票,,狀態。在已投票狀態時,該節點僅僅可以投票贊成一個候選者。通常,該節點將投票贊成具有最高UID的節點,但是也存在對於這種事實的考慮,即如果投票贊成某節點並未導致該候選者成為協調器的成功結論,那麼下次該節點進入該狀態時將改變其投票,並選擇最近尚未為其投票的節點之中UID最高者。如果該狀態中的節點已經跨過了候選狀態,則該節點停止發送其自己的候選資格的消息。在期間沒有收到來自投票候選者的信息的T4超時之後,該節點移動至IS-THERE-C00RD狀態。該機制允許最後改變投票。在該候選者未能成為協調器且沒有選出其它協調器的T5超時之後,節點移動至IS-THERE-C00RD狀態。該機制允許最後改變投票。3.4.ELECTED(被選出)當接收到對其候選人資格的廣播的多數投票(該響應被認為是"I_ELECT_Y0U"消息)時,候選者將從候選狀態進入該狀態。一旦進入該狀態,該節點就承擔了協調器的責任,包括發送I-AM-ELECTED-C00RD廣播,3.5.ACCEPT(接受)這是這樣一種狀態,在該狀態節點接受廣播I_AM-ELECTED_C00RD消息的節點成為協調器,即使該節點已投票贊成了某個其它節點或者已經將其本身認為是候選者。4.定時器下面的時間、定時器和頻率列表由選舉過程使用。4.1Fl—發送I_AM_ELECTED_C00RD消息所採用的頻率。時間Tl=1/F1。4.2.F2—處於候選狀態的節點發送I_AM_C00RD_CANDIDATE消息所採用的頻率。時間T2=1/F2從經驗上講,所確定的良好實踐是4.3F2=2.5xFl4.4.T3—在IS-THERE_C00RD狀態期間觀測網絡信息流通量的時間間隔。4.5T3=5xTl,此處Tl=1/Fl。4.6.T4—自上次投票贊成其候選者(作為對候選消息的響應)的時間間隔,在此期間,沒有處理來自已經投票贊成的候選者的任何廣播。假定該節點已經臨時投票贊成了另外的節點,並且應當允許該節點在該點通過重新開始選舉來改變其投票。T4=10xTl4.7.T5—在此期間節點始終如一地投票贊成特定節點但投票贊成的那個節點卻沒有成功贏得多數的時間間隔。隨後,節點重新開始選舉。T5=200xTl4.8.T6—用於倘若一個節點不能贏得多數也沒有收到另外選出的協調器的消息或者來自具有更高UID的候選者的消息的情況下,來限制該節點繼續作為候選者的時間的時間間隔。該節點放棄其候選人資格,並尋找另一節點為其投票。T5=500xTl4.9.T7—這是通常的選舉超時。如果協調器選舉沒有在該時間幀內結束,則重新開始整個選舉過程。T5=1000xTl4.10T8—T8是超時。T8超時之後,認為投票期滿。T8=30xTl4.11T9—T9是超時。T9超時之後,不再認為候選節點是候選者。T9=7xTl本算法的一個值得注意的要素是,進行了特殊設計以滿足選出群首目的的方式,所述群首將成為分布式資料庫的協調器,該協調器要求與所有其他資料庫節點雙向通信以執行三階段原子提交。其它的節點並不必在它們之間進行通信。通常討論的算法具有若且唯若要求的通信模式存在時才能決定群首選舉的優勢,與其相比,該觀點產生了不同的算法。通過使用輔助索引作為基礎將記錄映射到網絡地址的數據記錄訪問在上面的數據管理系統中,為資料庫、目錄、註冊(registry)、存儲系統或儲存庫提供了一種實施,該實施基於使用映射/散列函數將數據記錄的引導關鍵字映射到網絡地址的數據記錄索引的實施和用於執行該操作所定義的XDAP數據訪問協議的實施。然而,僅基於引導關鍵字來訪問數據並不總是有效的。至少有時存在需要被搜索的輔助關鍵字、第三關鍵字和另外基本關鍵字。因此除主關鍵字之外,要為搜索能力添加本發明的其它優勢,即使得能夠與前面描述的基於主索引的訪問以相同方式使用輔助索引來訪問數據。本實施例教導了在使用輔助關鍵字作為基礎以將記錄映射到網絡地址的系統中訪問數據記錄的技術和實現。隨後如同使用主地址一樣,輔助地址可以用於使用標準網元件以非阻塞線速度來存儲和取出遠程計算機上的數據記錄。因此,我們可以將通過市民政府機構來保持的記錄作為實例。所述記錄可以包括如下欄位姓名、社會安全號、家庭地址、電話號碼和護照號碼。期望所有欄位全部可以是可搜索的,但是僅僅有一個關鍵字可以成為引導關鍵字並直接散列至主網絡尋址系統。可以使用下列方案將欄位分類為主欄位和輔助欄位記錄人員;主關鍵字社會安全號(用作將記錄映射到網絡地址7:9:B:8:4:A的引導關鍵字)。輔助關鍵字1是家庭地址;輔助關鍵字2是電話號碼,輔助關鍵字3是護照號碼。優先為了效率來選擇主關鍵字。因此將最可能被檢索的欄位或者最可能總是給出唯一結果的欄位選擇作為主關鍵字的主欄位。可以唯一或者不唯一的輔助關鍵字還可以供數據管理系統的客戶機應用程式來使用以訪問數據記錄。輔助關鍵字可以限定涉及多於一個欄位的任何複合值集合或者值的範圍。例如,我們可以假定年齡的複合值未達法定年齡者且家庭地址可以用於訪問留在特定房屋中的兒童的數據記錄。傳統上,即現有技術,使用基於計算機的數據結構和搜索過程(主要是諸如2/3樹、紅/黑樹或者AVL樹的搜索樹)來實施輔助及主數據記錄索引。使用這些方法來實施基於輔助關鍵字的訪問,實質上是後退到主索引的交叉索引,妨礙了當使用引導關鍵字訪問時實施上述系統的益處。在上述數據管理系統中,使用標準網絡來存儲和取回數據記錄。所描述的是當搜索記錄時,該方法如何避免內存訪問時的瓶頸和線路阻塞。當在檢索到引導關鍵字之前通過輔助關鍵字來搜索數據時,使用傳統或者現有技術中的技術實施的輔助關鍵字搜索損害了所有這些益處。僅僅一旦已經檢索到主關鍵字,隨後操作將變得無阻塞並且有效。這意味著,對於使用輔助關鍵字訪問數據的所有查詢,在訪問內存和基於磁碟的數據結構的時刻周圍,容易發生連續的線路阻塞。直至現在,數據管理系統大多都是基於單個計算機,或者備選地被分割成可以通過計算機網絡訪問並作為分層系統管理的多個數據系統一在上文中群首被稱作後臺。在這些實施中的索引通常是基於支持搜索過程並使用結構的內存或者磁碟中數據結構,諸如搜索樹。在這些限制更多的環境中,這種結構通常足夠了,這是由於招待數據管理系統的伺服器在速度和容量上與招待客戶機應用程式的那些計算機成比例增長。因此,如果伺服器支持N臺客戶機(並且比客戶機計算機快N倍),並且通過技術優勢(摩爾定律)使這些客戶機處理能力增長了K倍,那麼伺服器將是(N"),因此使用伺服器內存和CPU的數據索引實現將繼續滿足需要。然而,當今還存在計算機對等式通信應用程式的增長模式,而不僅僅是客戶機伺服器應用。當這些應用需要作為對等式通信的邊界效應進行數據訪問時,那麼以前出現的線性度就不能再應用。如果有N臺計算機參加了對等式應用,那麼在訪問相關數據管理系統時((N*(N-l)/2次會話)可能產生N平方的壓力因子,這就打破了比例線性度。在諸如用戶電話技術的經典對等式應用中,從未使用諸如商業資料庫的標準通用數據管理系統,直到現在因該確切原因而用於在線數據管理操作。這種解析網絡中電話位置的操作是專用電話技術網絡和應用專用網絡信令的組成部分,而不是通用數據管理系統的組成部分。只是在現在,作為通用網絡開始用於大規模對等式應用,所述大規模對等式應用要求當用來解析和存儲在線呼叫數據時,通用數據管理系統與網路活動的整個多項壓力(Metcalf定律)相匹配與上面的方案相同,下面的實施例教導了如何使用網絡實施數據記錄訪問來克服瓶頸。網絡鏈路層是系統的基礎和骨幹,而不是計算機內存或者磁碟,因此就可能實施使用網絡層覆蓋層和向每個記錄中添加網絡層地址的索引。因此,正因為我們可以在相同鏈路層網絡上覆蓋多個網絡層子網,因此我們可以對數據覆蓋多個索引方案,並使用有效的並發標準網絡設備來繼續實現數據管理系統。因此,正如所說明的那樣,主數據記錄訪問通過將每個記錄關聯和映射到乙太網連結層網絡和MAC地址來實現。此外,然後將輔助索引作為覆蓋在相同乙太網連結層網絡上的多個IP子網來實現,並且可以使用標準路由器以及分布式路由器和路由方法將輔助索引的網絡地址映射到主關鍵索引的MAC。因此,通過標準網路部件,即路由器來實現映射到主關鍵字的輔助關鍵字,所述路由器正好用於實施為其設計的功能。通過同時對鏈路層地址和網絡層地址(在該實例中是MAC地址和IP位址)使用分組尋址,就可以仍然存在數據副本和非唯一索引。在圖9中示出了根據本發明的實施例使用輔助關鍵字的數據訪問技術,並且該技術包括下列元件,與上面提及的相同XDR—用於接收數據訪問查詢的對象XDRl,..,XDRn。XDB—在位置A、B、C和D用於存儲數據記錄的對象,XDB1…12。XDAP協議一用於存儲和取回給定記錄多個副本、包複製、丟失包以及丟失元件或段的協議。此外,交換機1901是在網絡結構中互連的鏈路層對象並且連接所有XDB和XDR,以及路由器1903—對於給定網絡地址,將包從一個鏈路層地址轉發至具有另一鏈路層地址的目的地的網絡層對象。圖19示出了使用路由器以支持使用分布式索引路由器在網絡上的多索引。如在上面已經說明的那樣,系統還包括負荷平衡和冗餘。現在參考圖20,圖20示出了允許通過根據主關鍵字布置的資料庫的輔助關鍵字進行搜索的單臂式路由器。基於輔助關鍵字的查詢由XDR2002發布,並被定向至路由器2004。路由器接收查詢並在其路由表中查找輔助關鍵字,以找到相應的主關鍵字。主關鍵字以正常的方式進行散列,並使用散列結果將查詢定向至XDB2006。然後將該查詢轉發給具有恰當的XDB的相同網絡作為目標鏈路層地址。根據本實施例使用數據訪問系統和特別使用輔助關鍵字的實例是行動電話技術,其中SIM卡ID和電話號碼都是關鍵字,儘管其中每一個均是主關鍵字。輔助關鍵字(假定是電話號碼)相關的所有查詢被映射到分配給這些關鍵字的子網的網絡地址中。將足夠的單臂路由器插入至數據訪問網路,使得當接收到涉及電話號碼的查詢時,XDR將該號碼映射成網絡地址,然後將其轉發給子網的路由器。路由器將查詢轉發至恰當的XDB,其中MAC地址對應於該主關鍵字。當XDB具有最近輔助關鍵字更新、採用了相關網路層地址且使用子網路由器執行了標準註冊過程時,路由器可以透明地得到該主關鍵字。這實際上是與在計算機中配置IP位址的方式相同方式工作的。關鍵是在網絡上訪問和索引大容量數據和網絡應用的結果。該技術可以用於形成大型分布式存儲、基於通信基礎架構或者完全分布在互聯的終端站之間的資料庫。上述使用的一個實例是用於要求在非常嚴格的時間或者其它性能限制內進行數據查找的服務,即具有高度限制的服務質量要求的服務。通過使用作為另外的表進行存儲和散列的輔助索引來訪問數據記錄此處描述了不使用路由器來實現輔助索引的另外的方式,但是仍然提供了經過輔助索引對數據記錄的非阻塞實時訪問。在無共享分布式數據存儲庫中,使用分割關鍵字來分割表並將其分布在不同的計算資源之間。在這種無共享架構中,輔助關鍵字通常還分布在不同的分區之間,使得每個分區保持有屬於該分區的子表的輔助關鍵字。當支持給定分區範圍內的資料庫操作時,表分割相對於其相應子索引的這種緊密協同定位具有益處。例如,支持CDR(呼叫數據記錄)的資料庫可以以日期進行分割,即所有在某個日期進行的呼叫屬於一個分區。CDR資料庫的輔助索引的實例是主叫電話號碼。在這種分割實例中,通過在特定日期內進行的所有通話的相同分區中,利用該日期內進行的所有呼叫的主叫號碼來協同定位子索引,使得某些普通查詢的計算具有效率(例如,通過給定曰子內的給定用戶進行的所有呼叫)。然而,在許多其它情況下,使用分割數據本身協同定位分割子索引將形成阻塞式數據結構,使得通過輔助索引的數據訪問不可縮放。例如,上述提及的使用ID號碼的資料庫可以是引導關鍵字或者分割關鍵字。如果對於每個ID號碼分區rage,對電話號碼輔助索引進行子索引,那麼使用電話號碼訪問數據記錄將要求把查詢廣播至所有客戶。在不使用路由器的情況下,仍能經過輔助索引提供對數據記錄的非阻塞實時訪問的實現輔助索引的另一方式是,此處描述的網內分布式數據管理的一部分。將電話號碼輔助索引作為另一表來實現,即具有兩個欄位"電話號碼"和"ID號碼"的"索引表"。然後對該索引表進行分割,使得輔助索引欄位"電話號碼"成為索引表的引導關鍵字。每次原始表改變時,通過系統自動更新輔助表。在系統中作為另外的表對輔助表進行管理(在讀取和寫入操作方面)。因此,以線速度來執行對索引表中的入口的訪問,如同使用引導關鍵字訪問任何數據元素一樣。因此,使用輔助關鍵字訪問原始表中的數據元素通過以下步驟實現1.使用索引表引導關鍵字來訪問索引表,並接收原始表的引導關鍵字。2.使用結果得到的引導關鍵字來訪問原始表數據元素。該散列索引表交叉分區的方法允許用戶通過使用基於兩個引導關鍵字的數據元素訪問、以非阻塞的方式使用其輔助關鍵字來定位任何數據元素,所述基於兩個引導關鍵字的數據元素訪問首先訪問索引表,然後訪問原始表。系統的可用時間(uptime)模型下面示出了僅僅使用3-5個複製實現的5個9和更多099.99H)的系統可用性。基於上述的內存分布式數據系統,可能的是作為計算元件數目以及將虛擬數據分割映射到計算元件的方式的函數來計算期望的系統可用性。如上所述,在計算節點之間的虛擬數據分割副本的徹底洗牌使得計算節點之間的整體負荷平衡和內部相關性增加。另一方面,通過將計算節點布置在分配給信道組中的集合(此處稱作彈性集合)中,正如從圖24中可以看出的那樣,可以增加系統的可用性。現在由於每個彈性集合可以失去副本中的少數,且系統將仍然可用,因此系統整體的彈性非常高。下面是針對於系統中每個計算元件"時間片"而使用的可用時間模型。每年伺服器的平均故障次數2最大自癒合持續時間0.5小時每個伺服器"時間片"的每年易損性時間1小時平均伺服器"時間片"可用性(工作或者自癒合)99.989%"9S"可用性伺服器"時間片"的數目3.94系統可用性模型使用上述系統可用性模型就可能計算圖20B中示出的圖表。上面的圖表假定每個XDB的性能是每秒15000次操作(如在實驗室測試中得到證實的一樣)。正如從圖表中可以看出的那樣,要為高達200個XDB且每秒生成大約一百萬交易的系統提供5個9以上的可用性(〉99.999%),三個副本就足夠了。這樣的系統對於支持多達80,000,000-100,000,000客戶的大多數IMS應用商(carrier)級別應用程式是足夠的。正如可以從上面圖表中看出的那樣,5個副本為該容量的系統提供了大於8個9(>99.999999%)的可用性,並且可以為提供以下性能的4-5倍的系統提供大於6個九的可用性tableseeoriginaldocumentpage45上述性能超出了IMS系統實際需要的範圍。並發資料庫客戶機之間的服務質量的管理現在將從交易等待時間和吞吐量方面描述並發資料庫客戶機之間的服務質量管理(QoS)的實施例。現在的資料庫服務級別度量通常指(1)諸如讀取記錄或者寫入記錄的原子資料庫操作的等待時間,和(2)並發會話的數目。(3)交易速率此外,在資料庫中實施等待時間保證通常通過對特定任務設置優先權來實現。在下列環境中保障等待時間度量就具有問題1.當系統負荷很高時(系統負荷影響等待時間度量)。2.分布式資料庫(系統分布使得很難限制操作持續時間)。實時資料庫是廣泛使用在眾多領域(諸如電子商務、電信和製造業)中的實時應用的基本部件。通過實時應用提供的服務級別來評估實時應用。服務級別用於度量終端用戶的體驗。終端用戶體驗包括1.服務可用性2.用戶可以在任何希望的時刻得到服務;3.服務的響應性服務響應是否足夠快。4.服務總質量服務本身是否足夠好一用戶的總體體驗。本質上講,實時應用服務級別是通過應用平臺內部的任一單個元件實現的服務級別的串聯。實時應用正在演化,並且它們明顯地1.本質上更加分布。2.具有不可預測的工作負荷。3.具有未預料的訪問方式。4.開始面向服務而不是客戶機-伺服器.目前認為沒有資料庫或者沒有專用的分布式實時資料庫實施服務質量機制來保障資料庫(a)每個接入點的可用性(吞吐量每秒鐘的操作數目),(b)響應性(每次原子操作限制的等待時間),和(c)數據的新穎度和一致性(數據是最新且準確的)。必須保證上述度量,同時使得存在下列共同條件1.使得資料庫分布在任意數目的位置。2.資料庫可以啟動任意數目的並發接入點。3.資料庫可以無差別地執行任何操作的結合。4.資料庫在任何工作負荷下無差別地執行。本實施例包括網內實時資料庫。該實施例使用網絡將該資料庫變換成單個全球交叉定位網絡服務。如同從網絡本身繼承的若干特性一樣,在其它類型的網絡中,QoS的度量是延遲、帶寬和改善的丟失特性。資料庫Qos的新概念滿足了實時應用服務級別協議的需求。現在描述的實施例是建議並實施了QoS概念的第一資料庫,所述QoS概念可以用來將實時應用服務級別度量映射到實時資料庫性能度量。這種度量可以包括1.每個訪問節點的保障的資料庫吞吐量a.不依賴於資料庫工作負荷b.不依賴於並發訪問節點的數目(每個節點可以服務於不同的應用程式)2.保障每次原子操作的資料庫等待時間a.不依賴於操作混合b.不依賴於資料庫工作負荷c.不依賴於數據物理位置d.不依賴於數據模式3.應用質量資料庫數據一致性a.不依賴於數據物理位置b.不依賴於整個系統中的數據複製的數目如此處在任何地方所討論的那樣,在資料庫內發生故障的情況下提供了最有成果的實踐。正如上面關於圖4所描述的那樣,分布式資料庫系統是一種包括三種基本類型節點的伺服器群集訪問節點、數據節點和交換節點。訪問節點主要處理客戶機請求並相應地返迴響應。數據節點主要在其存儲器內存儲數據記錄並管理數據,例如檢索數據記錄或者在非易失性存儲器上存儲數據記錄。交換節點主要連接所有群集節點,並在各個節點之中路由消息。訪問節點和數據節點都可以位於任何物理位置,而不依賴於系統內的其餘節點。本質上可以映射成具有服務級別度量的實時應用的保障QoS的實時資料庫概念可以包括各種QoS度量,每種QoS度量均可以各種方式來實施。下面公開了可能的資料庫QoS度量以及可能的實施實踐,然而可以使用其它方法來實施這些和更多的QoS度量。保障的吞吐量該目標是要保障資料庫客戶機(實時應用程式)每秒鐘可以執行的原子操作的數目。原子操作包括創建記錄、讀取記錄、修改記錄、刪除記錄。呑吐量級別視應用需求而定。本實施例目前能夠通過以下來保障呑吐量QoS度量吞吐量縮放性本實施例的分布式資料庫最終可以通過簡單地向其群集中添加更多節點(訪問節點、數據節點、交換節點)來無限制縮放其吞吐量。每個訪問節點保障了特定的吞吐量(每秒鐘X次操作),而系統總吞吐量是所有訪問節點吞吐量的總和。因此,應用可以要求任何需要的呑吐量。吞吐量分配機制本實施例實施了呑吐量控制機制,使得系統管理員能夠分配每個訪問節點的吞吐量配額。特定應用可以使用與所需要的數目一樣多的訪問節點,以滿足吞吐量要求。雖然應用呑吐量受到分配給訪問節點的吞吐量配額的限制,所述訪問節點是該應用用來訪問資料庫的節點,但是允許使用該相同資料庫資源的其它應用來保障它們所需吞吐量。保障每次原子操作的低等待時間該目標與執行原子操作所需的時間捆綁在一起,要保持其儘可能地低。原子操作包括創建記錄、讀取記錄、修改記錄、刪除記錄。等待時間的上限值不應當受到系統瞬時負荷的影響或者受到數據物理位置相對於訪問節點物理位置的影響。根據本實施例的系統中的一個雙程(roundtrip)操作如下訪問節點(解析)->交換(轉發請求)->數據節點(處理)->交換(轉發響應)->訪問節點(響應)。該目標是使得典型的雙程操作的每個子階段的等待時間最小化。本實施例的系統當前通過以下方式來保障低等待時間QoS度量基於多數的數據訪問和數據親和力我們期望確保節點和瞬時網絡斷開都不會影響數據的可用性或者系統的性能。因此,我們保持數據記錄的若干複製,每個複製都存儲在不同的數據節點上。當讀取或者寫入數據記錄時(參考""基於多數的群首")。當前正在請求存儲該數據記錄的所有數據節點選擇協調器。該協調器負責管理和監控請求時的操作。。讀取/寫入記錄要求僅與數據複製的多數一樣多的數量。這確保了故障節點不會使操作變慢。。系統管理員可以定義數據親和力策略。其含義是,可以將多數數據的位置設置為與其接入點儘可能得近,從而平衡網絡(交換)等待時間。並發性和負荷平衡每個數據節點負責管理數據在所述不同數據節點中均勻分布的數據的部分.每個數據節點獨立於其它節點,即每個數據節點可以與其它數據節點同時對數據進行處理。即使當系統在高負荷下工作時,這也使得能夠實現每次操作的短等待時間。本實施例的資料庫可以根據需要作為許多數據節點添加至它群集中。系統具有的數據節點越多,就存在更加並發的數據處理能力,因此每次操作的等待時間就越短。通過添加更多的數據節點,可以保持低等待時間級別。數據分組和網絡技術本發明的優選實施例提供了網絡和交換節點,以便連接訪問節點與數據節點,該系統涉及將資料庫表分成原子記錄並將其分組。在網絡上傳送每條記錄,並在網上的不同位置(數據節點)進行存儲。這意味著,不管當前執行的操作數目或者數據格式,任何數據記錄以基礎網絡QoS級別的線速度到達其數據節點並返回。保障的實時數據新穎度和一致性該目標是確保數據記錄的任何改變可以立即有效。該應用還可以總是檢索最近更新數據,並確定該數據在整個系統中是一致的。本實施例目前使用若干機制和算法來確保數據新穎度。三階段提交這在本文中的其它地方進行了討論。基於多數的數據訪問和糾錯。這在上文中進行了討論。數據節點故障情況下的最具成效的實踐資料庫優選地保障其QoS級別。然而,在數據節點故障的情況下,系統盡力使用其剩餘資源來滿足所要求的QoS。本發明優選的實施例使用若干機制和算法來確保數據新穎度不限制訪問節點的數目本實施例能夠啟用任何數目的訪問節點。訪問節點允許每個應用連接至多於一個的訪問節點。在一個訪問節點故障的情況下,應用可以使用其它節點工作,從而確保其訪問率(吞吐量)不會降低。自動的自癒合本實施例實施了其數據節點的自癒合機制。由於每條數據記錄在不同節點處具有若干副本,因此當數據節點故障時,仍可在剩餘的數據節點中得到數據。因此,剩餘的數據節點負責該數據的響應。在整個系統資源中,數據親和力最優,因此工作負荷在群集內部的所有數據節點中均勻分布。假設剩餘的數據節點具有能力來存儲分配的額外數據量且這些剩餘數據節點並未被充分利用,則維持資料庫交易的並發性。該並發性確保了可同時處理的操作數目和每個操作等待時間遵照QoS的需求。在沒有足夠的資源來處理額外數據的情況下,系統仍以最優的方式來利用其資源,從而盡其最大努力來滿足QoS的需要。實時資料庫是實時應用的基本部件。通過服務級別來度量實時應用。應用服務級別是諸如實時資料庫的應用平臺內每個節點的服務級別的串聯。資料庫QoS使得能夠將應用服務級別度量映射成資料庫性能度量,以確保不依賴於瞬時系統負荷或者訪問方法的實時應用服務級別。使用N+M高可用性的網內資料庫和狀態(Stateful)應用的事故恢復下面介紹使用N+M高可用性的網內資料庫和狀態應用的事故恢復。實時狀態事件處理程序基於會話的實時事件處理應用需要維持當前會話的狀態。在該會話的歷史(即"狀態")的上下文中對屬於給定會話的每個新事件進行處理。通常基於包的應用簡單處理單個包並傳遞所述單個包,但是這樣並不總是足夠的。在許多情況下,可能需要根據會話的狀態對包進行不同的處理。這種應用被稱作狀態的應用。實時狀態事件處理應用的實例有電信呼叫控制和軟體切換,行動電話歸屬位置寄存器(HLR),網際網路多媒體系統(IMS)的歸屬用戶伺服器(HSS)、服務選擇網關(SSG)、AAA伺服器、在線計費伺服器、寄宿(Boarder)控制器、防火牆、在線銀行和交易系統。高可用性和事故恢復高可用性(HA)和實時狀態事件處理應用的故障恢復要求在不同的伺服器之間實時地複製應用的內部狀態並使其同步,以確保狀態故障轉移。在故障恢復計劃(DRP)的情況下,在不同位置中的不同伺服器之間實施應用內部狀態的實時複製和同步。現在僅僅用於實時狀態事件處理應用的DRP和HA模型是1+1模型。在1+1可用性模型中,應用伺服器是成對的,每個伺服器具有其單獨的故障轉移伺服器。可以顯式地或者隱式地使兩個伺服器的內部狀態保持同步。隱式內部狀態同步高可用性1+1模型通過將系統的所有輸入同時饋送至兩個伺服器,並允許每個伺服器同時對稱地處理相同事件,來實施隱式內部狀態同步。其結果是,兩個應用伺服器同時保持了對稱內部狀態。然而,兩個伺服器的性能降為單個伺服器的性能。可以使用隱式內部狀態同步模型來使多於兩個的應用伺服器之間的狀態得到同步,以實現多於一個故障的故障容錯。然而,所有隱式同步伺服器的性能將仍然等效於單個伺服器的性能。現在參考圖21,示出了一種隱式狀態同步1+1HA模型,其中兩個單元,即主單元2101和輔助單元2102都存儲了處理狀態。隱式同步工作在兩個單元之間,從而確保兩個單元不但同時更新而且實時更新。顯式內部狀態同步高可用性l+l模型現在參考圖22,使用顯式內部狀態同步來克服隱式內部狀態同步的資源利用效率低的問題。顯式狀態同步在兩個伺服器之間使用專用連接和協議來在伺服器之間實時交換內部狀態。每個伺服器可以獨立地處理不同的會話和事件。然而,每個伺服器具有兩個伺服器的內部狀態。當其中一個伺服器故障時,那麼第二伺服器就可以繼續處理所有會話和事件,這是由於它已經將更新後的狀態存儲在內部了。圖22示出了顯式狀態同步1+1HA模型,其中伺服器1經過使用顯式狀態同步協議的鏈路2202連接至伺服器2,以確保每個伺服器都具有兩種狀態。當在1+1HA模型中使用顯式內部狀態同步時,可以同時充分利用兩個伺服器。然而,當其中一個伺服器停機時,系統的性能就降低為單個伺服器性能,即降低了50%。這可能導致系統提供的服務質量嚴重降級。因此,即時在顯式內部狀態同步的情況下,每個伺服器並不可能利用其微弱的性能使得在故障情況下服務降級不那麼嚴重。這就降低了資源利用。顯式內部狀態同步通常受到1+1模型的限制,這是由於在典型情況下,實時狀態事件處理應用並不能處理比實時產生事件更多的實時狀態同步事件。因此,內部狀態同步不能提供超出一個故障的故障容錯。正如在本實施例中一樣,使用網內高可用的資料庫來實現N+M模型,就可能提供網內分布式的、普遍存在的、高可用性和非阻塞資料庫,以便以顯式的方式、實時地、同步許多實時狀態事件處理應用程式的內部狀態,從而實現N+MHA模型。N+MHA模型意味著在到達M個伺服器故障的情況下確保系統的可用性,以提供N個伺服器的最小性能。這可通過在使用N+MHA模型的N+M個伺服器上運行該系統來實現。在N+MHA模型中,可以充分利用所有的N+M個伺服器,同時每個伺服器故障僅僅降低了系統性能的1/N+M。或者可以利用N+M個伺服器到達N個全部利用的伺服器的級別,使得每個獨立的伺服器故障並不降低系統性能,一直到M個伺服器故障的極限。在兩種情況下,資源利用為N/N+M,這典型地比1+1HA模型可用的最大利用率50%高得多。由於即使對於象IO—樣大的N,M也通常為1或2,因此N十MHA模型可以實現的資源利用通常在85%-95%之間。正提議的N+MHA模型和DRP的資料庫中心實時狀態同步模型不是使用當前資料庫技術的可選項,所述可選項具有阻塞的盤內或者內存內架構,無法進行縮放來支持同時在不同位置的N個不同客戶機的大量並發寫入。N+M高可用性的資料庫中心實時狀態同步模型本發明實施例提供了一種無處不在且高可用的N+MHA和DRP的資料庫中心實時狀態同步模型,其提供了1.更高的資源利用率大約90%相對於當今可以實現的最大極限值50%。2.更高的故障容錯級別遠遠超出當今可獲得的單個故障容錯。本優選實施例將當今使用的顯式狀態同步機制從對等式、一對一協議延伸至客戶機伺服器的一對多模型,所述一對多模型使用全球網絡、無處不在且非阻塞的資料庫來存儲來自所有位置的所有實時狀態處理應用實例的所有狀態。在一個或更多應用實例故障的情況下,利用倖存的應用實例,通過來自狀態資料庫的所有需要狀態的實時同步,在相同位置和/或其它位置通過倖存應用程式實例來執行所有會話處理的狀態恢復。本實施例基於當今在顯式狀態同步1+1高可用性模型中使用的相同的多應用實例環境。實際上,本發明實施從1+1高可用性模型至N+M高可用性模型的改進既不要求對應用實例進行任何改變,也不要求對應用環境進行任何增強。在當今顯式狀態同步1+1高可用性模型中使用的現有技術的多應用實例環境中,每個實時狀態事件處理應用實例使其內部狀態與其對等者實時同步。在對等者其中之一故障的情況下,應用環境將事件和消息從故障的伺服器重新路由至其倖存的同步對等者。本實施例所提供的是每個應用實例使其狀態與狀態資料庫實時同步,正如同在對等式架構中一樣,甚至使用了相同的協議。然而,與對等式方案不一樣的是,只要沒有故障,就僅將狀態寫入至狀態資料庫,而不返回應用實例使狀態同步。現在參考圖23,圖23示出了使用狀態資料庫的N+M高可用性模型。在一個或更多應用實例故障的情況下,諸如在對等式的情況下,將事件和消息從故障伺服器重新路由至某些或者所有的倖存應用實例。這裡有兩種系統可以操作的模式1)推(Push)同步模式正如同對等式情況一樣,應用環境將屬於給定故障伺服器的所有事件和消息重新路由至相同位置或另一位置中的倖存伺服器其中之一。在這種情況下,狀態資料庫通過將狀態"推,,至倖存伺服器使其搶先與適當狀態同步,再一次正好使用與對等式同步所使用的相同協議。2)拉(Pull)同步模式在這種情況下,應用環境將事件和消息從故障伺服器重新路由至不同伺服器和/或相同位置的所有倖存伺服器。因此,接收未識別的消息或者事件的每個倖存伺服器,由於並沒有消息或者事件的狀態,因此搶先從狀態資料庫中"拉"出該狀態。在同一實施中可以同時存在推模式和拉模式。在這種情況下,推模式可以看作是"預先獲取"狀態的類型,所述狀態將會根據需要被逐一請求。如上所述,本實施例提供了一種網絡分布的、無處不在的高可用性和非阻塞資料庫,從而以顯式的方式使得許多實施狀態事件處理應用的內部狀態實時同步,進而實現了N+MHA模型,以因子2增加了資源利用率,同時又提供了無限制的故障容錯級別。對於實施1+1HA的顯式狀態同步機制的系統,可以實現上述目標,而無需改變應用實例或者操作環境。內存資料庫系統定價模型下面討論的是適合於上述實施例和其它類似應用的定價模型。得出了使用特定關鍵客戶數值的基於數值的DBMS(資料庫管理系統)定價模型,所述特定關鍵客戶數值諸如交易速率、能力和呑吐量。諸如Oracle,IBM、DB2以及其它供應商的當前供應商使用的現有授權定價DBMS軟體使用了他們的定價系統的參數,這些參數並不是關鍵客戶利益的重點,因此這些軟體被認為是不公平的或者是專斷的,尤其是在服務提供商的利益方面是最佳的,相反,對於客戶卻最差。下面是現有定價系統的調查1.用戶/客戶/DB-客戶機模型一該要價與連接至或者允許連接至數據伺服器的用戶/客戶/DB-客戶機的數量相關。從客戶觀點來看,在一些用戶/客戶/DB-客戶機具有巨大用戶,而另一些很少使用的情況下,基於用戶的定價產生了低效率。基於用戶的定價對於所有用戶都是相同的,而不考慮實際的使用級別。2.處理器數目模型一在該模型中,收費的數目是基於系統利用的處理器的數目,在同一多CPU伺服器(SMP)中或者跨過運行在群集配置(例如OracleRAC)中的不同伺服器來對CPU進行計數。有時,對多核CPU的每個核進行計數。每個核/CPU的價格相同,而不考慮CPU的時鐘速度以及隨後添加的CPU的邊緣性能貢獻。關於該邊緣性能貢獻,需要注意的是,在多CPU配置中,在SMP和/或群集配置中,當把處理器添加至系統時,存在每個處理器中的邊緣效應遞減。添加的第十個處理器遠遠小於第一個處理器的貢獻。這意味著雖然每個處理器的支付費用是相等的,但是每個附加處理器的附加邊緣效應越來越低,因此從用戶的觀點來看產生了低效率。此外,用戶感到他們必須為DBMS軟體的CPU低效利用支付額外費用,並且感到DBMS廠商沒有積極的動機來改善他們軟體產品的CPU效率。對於供應商來講,最節省成本的方式是簡單的添加CPU直到實現所需的性能,而不是對系統進行重新配置以最優方式提供性能。本實施例的DBMS軟體許可定價模型旨在創建基於數值的定價模型,其中客戶對他所接收的服務進行付費,即他看到他為其付費的參數直接與所得到的益處相關。因此,本實施例是從用戶觀點上基於DBMS系統的實際性能來定價。因此使用了諸如峰值交易吞吐量的參數,而不是諸如每CPU或者每個用戶的技術參數。本實施例的DBMS許可定價模型是基於系統的實際峰值吞吐量軟體許可價格=每秒吞吐量*的#x每呑吐量的價格"。*吞吐量可以通過下列方式來度量1.每秒中的資料庫交易數量。2.資料庫客戶機和資料庫伺服器之間通信(包括所有查詢和返回結果)的總資料庫交易比特率。總交易比特率以兆/秒來度量。**每吞吐量的價格可以與下列因素相聯繫1.以GB為單位的資料庫容量;2.客戶/用戶的總數;53.或者,也可以是固定的數目。定價的優選方案是客戶機直接對每單位吞吐量進行付費,單位吞吐量是通過軟體使用率推導出的關鍵性能值。實例每吞吐量的價格GB=<3$3,000GB=6$5,000每秒鐘的吞吐量#GB存儲器每吞吐量的價格總價1,0003$3,000$3,000,0001,0004$4,000$4,000,0002,0004$4,000$8,000,000表l示範性參數和相應收費與過去的較低需求相反,對於每秒鐘的超高吞吐量存在逐漸增長的需求。該逐漸增長的需求有望隨著IP電話服務部署的增長而急劇增加。同時,在過去用戶要為低效率支付費用,而本發明的實施例避免了這種要求。費用支付直接與交易吞吐量相聯繫。客戶機對作為關鍵數值的系統的總峰值吞吐量進行付費,並且該付費不與諸如CPU數目或用戶數目等其它技術參數相聯繫。可以預料的是,在該專利的壽命期間,將會開發出許多相關的裝置和系統,此處術語的範圍,尤其是術語網絡、資料庫管理、Qos和吞吐量,是要包括所有這種先驗的新技術。應當理解的是,為了清楚起見而在各個實施例的上下文中描述的本發明某些特徵還可以結合在單個實施例中來提供。相反,在單個實施例的上下文中簡短進行描述的本發明的各個特徵還可以單獨提供或者以適當的子組合形式來提供。儘管本發明已經結合了特定的實施例進行了描述,但是很明顯的是,存在許多對於本領域技術人員顯而易見的備選方式、變型和改變。這種備選方式、變型和改變。此處在說明書中提到的所有公開、專利和專利申請通過引用的方式將其所有內容包括在整個說明書中,就如同分別明確地指出通過引用的方式將每個單獨的公開、專利和專利申請包含在此一樣。此外,該申請中的任何參考的引用或者證據不應認為是承認這種參考可以作為本發明的現有技術得到。權利要求1.一種數據訪問系統,包括布置在虛擬分區中每個均可獨立訪問的資料庫單元;多個數據處理單元;以及用於在所述虛擬分區之間切換所述數據處理單元的交換網絡,從而將數據處理能力動態分配給各個虛擬分區。2.根據權利要求l所述的數據訪問系統,其中所述交換網絡包括交換單元互連。3.根據權利要求l所述的數據訪問系統,其中每個資料庫單元可作為各個網絡信道獨立訪問。4.根據權利要求l所述的數據訪問系統,還包括用於對數據執行散列處理的散列單元,並且其中通過所述散列處理的結果將數據分配至各個資料庫單元。5.根據權利要求4所述的數據訪問系統,其中以具有主關鍵字和至少一個輔助關鍵字的記錄形式來分配數據,並且其中對所述主關鍵字執行散列處理。6.根據權利要求5所述的數據訪問系統,配置有至少一個路由器,以將輔助關鍵字和所述已散列的主關鍵字之間的關係製成表,使得經過所述路由器可以使基於各個輔助關鍵字的搜索查詢與所迷主關鍵字相關。7.根據權利要求5所述的數據訪問系統,配置有至少一個附加的自動管理內部索引表,以映射輔助關鍵字和所述已散列的主關鍵字之間的關係,使得經過所述內部索引表可以使基於各個輔助關鍵字的搜索查詢與所述主關鍵字相關。8.根據權利要求l所述的數據訪問系統,其中至少在兩個數據分區對數據進行至少一次複製。9.根據權利要求l所述的數據訪問系統,包括選舉功能,用於動態地指定所述數據處理單元其中之一作為協調器來在衝突的寫入操作之間進行仲裁。10.根據權利要求9所述的數據訪問系統,其中所述協調器被配置成有規則地發送它繼續作為協調器的信號,並且其中所述選舉功能被配置成當所述規則信號中斷時重複所述動態指定。11.根據權利要求10所述的數據訪問系統,其中當所述動態指定得出結論時,由所述動態指定打斷的寫入操作從最超前的可恢復位置重新開始。12.根據權利要求9所述的數據訪問系統,其中在記錄改變操作後,所述協調器被配置成為記錄指定唯一的證書,從而提交相對照的所述記錄版本。13.根據權利要求4所述的數據訪問系統,其中以具有至少三個關鍵字的記錄的形式來指定數據,其中每個記錄指定有基於所述關鍵字之一的主地址和基於剩餘的所述關鍵字之一的輔助地址。14.根據權利要求13所述的數據訪問系統,包括解析單元,用於將輔助地址解析成相應的主地址,隨後使用相應的主關鍵字來查找輔助關鍵字所限定的記錄。15.根據權利要求14所述的數據訪問系統,其中所述解析單元包括至少一個路由器。16.根據權利要求15所述的數據訪問系統,其中所述解析單元還包括至少一個備份路由器。17.根據權利要求8所述的數據訪問系統,其中在一個或更多所述數據處理單元故障後,所述交換機構被配置成用於將數據分區版本重新指定給所述數據處理單元的剩餘的單元,以使得可以維持所有所述虛擬分區的可用性。18.根據權利要求1所述的數據訪問系統,其中每個虛擬分區存儲在預定數目的數據處理單元上,使得在給定的數據處理單元故障後,仍繼續可以訪問所有的數據。19.根據權利要求18所述的數據訪問系統,其中所述預定數目至少為3。20.根據權利要求19所述的數據訪問系統,其中至少為3的所述數目為奇數,以使得能夠在所述複製的虛擬分區之間進行多數投票,從而確保所述數據的完整性。21.根據權利要求20所述的數據訪問系統,其中所述奇數至少為5。22.根據權利要求l所述的數據訪問系統,還包括使用度量功能,用於度量所述數據訪問系統的個體客戶的使用率;以及開帳單功能,用於基於其峰值使用率來向所述客戶開帳單。23.—種數據訪問系統,包括數據處理單元;數據存儲單元;交換系統,用於在所述數據處理單元和所述數據存儲單元之間進行動態切換;和使用度量功能,用於度量所述數據訪問系統的個體客戶的使用率,以及開帳單功能,用於基於其峰值使用率來向所^戶開帳單。24.—種提供高可用性、高縮放性的數據存儲和查詢系統的方法,包括提供數據查詢裝置;提供與所述數據查詢裝置分離的數據存儲裝置;以及提供交換系統,以在當前查詢的影響下在所述數據存儲裝置和所述數據查詢裝置之間進行動態連接。25.根據權利要求24所述的方法,包括提供所述數據存儲裝置作為多個信道。26.根據權利要求25所述的方法,包括作為記錄來存儲每個數據項,並以所述信道的預定數目來提供任何給定的數據記錄副本。27.根據權利要求26所述的方法,其中所述預定數目是奇數。28.根據權利要求27所述的方法,還包括在所述奇數個副本之間使用多數投票來確保所述數據的完整性。29.根據權利要求26所述的方法,包括將所述數據記錄的欄位設置為主關鍵字,並對所述主關鍵字進行散列,以對所述信道進行尋址。30.根據權利要求29所述的方法,包括將所述數據記錄的欄位設置為輔助關鍵字,並提供用於使所述輔助關鍵字和所述主關鍵字之間相關的至少一個路由器。31.根據權利要求25所述的方法,其中所述信道是發布訂購信道。32.根據權利要求24所述的方法,其中所述數據存儲裝置包括多個數據存儲單元,所述方法包括將數據以多個副本的形式存儲在多個數據存儲單元中,並且當檢測到任何給定數據存儲單元故障時,在所述給定數據存儲單元中存儲的數據單元的其它地方進行另外的複製。33.根據權利要求32所述的方法,其中經過查詢來訪問所述數據,並且對於給定查詢的響應取決於與所述數據相關的當前狀態。34.根據權利要求33所述的方法,還包括在至少一個數據存儲單元故障的情況下,通過各個數據存儲單元之間的顯式狀態同步來保持所述當前狀態。35.根據權利要求34所述的方法,其中所述顯式狀態同步是拉同步。36.根據權利要求34所述的方法,其中所述顯式狀態同步是推同步。37.根據權利要求24所述的方法,還包括度量客戶的使用率。38.根據權利要求37所述的方法,其中所述使用率被度量為峰值使39.根據權利要求38所述的方法,包括基於所述峰值使用率向所述客戶開帳單。40.—種提供具有數據存儲資源和數據處理資源的數據儲存庫的方法,包括提供所述數據存儲資源的動態分割;提供所述數據處理資源的動態分配;和在所述數據存儲資源和所述數據處理資源之間使用動態切換,使得中去耦合。41.根據權利要求40所述的方法,包括將個體數據項複製到所述數據存儲資源中的至少兩個位置,並為所述至少兩個位置提供群組地址。42.根據權利要求40所述的方法,包括為所述數據儲存庫指定多種狀態,使得當檢測到所述儲存庫故障時,能夠恢復到所述檢測之前的狀態。43.—種無共享數據儲存庫,包括多個數據分區和數據項,每個數據項具有主關鍵字以及一個或更多輔助關鍵字,其中所述主關鍵字限定所述數據分區,每個輔助關鍵字作為另外的自動管理內部索引表來實施,所述內部索引表以輔助關鍵字來分割,並且映射了輔助關鍵字和所述分割主關鍵字之間的關係,使得基於各個輔助關鍵字的搜索查詢可以經過所述內部索引表與所述主關鍵字相關。全文摘要一種數據訪問系統將數據處理從數據存儲器中去耦合,從而提供了改善的可訪問性、完整性、縮放性和其它特徵。該系統包括布置在虛擬分區中每個均可獨立訪問的資料庫單元,多個數據處理單元,以及用於在所述虛擬分區之間切換所述數據處理單元的交換網絡,從而將數據處理能力動態分配給各個虛擬分區。文檔編號G06F17/30GK101128827SQ200680005870公開日2008年2月20日申請日期2006年2月21日優先權日2005年2月24日發明者A·索默,A·維格傑,G·茲洛特金,I·卡米納,I·吉爾德曼,N·克拉,R·勒維,S·巴凱,Y·羅門,Z·布羅德申請人:塞朗德系統有限公司;塞朗德系統公司

同类文章

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

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