用于數(shù)據(jù)庫和存儲器感知路由器的方法和設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明的各個實施例涉及用于維護網(wǎng)絡(luò)環(huán)境中的分布式存儲器的設(shè)備和相關(guān)方法,具體而言涉及但不限于一種用于優(yōu)化分布式存儲器的網(wǎng)絡(luò)環(huán)境的系統(tǒng)和方法。
【背景技術(shù)】
[0002]分布式存儲器為當今企業(yè)最重要的關(guān)鍵需求之一。數(shù)據(jù)跨地域保存并且維護專用系統(tǒng),以確保了跨地域的冗余備份。
[0003]具有分布式結(jié)構(gòu)最重要的原因之一包括但不限于:數(shù)據(jù)量及其龐大、為了使程序可擴展及利用多系統(tǒng)和多核CHJ架構(gòu)的優(yōu)勢。另一方面,網(wǎng)站服務(wù)器需要在全球分布以保證低延遲和故障倒換等。
[0004]在典型場景中,系統(tǒng)管理員可以跨越多個物理位置分發(fā)(例如,數(shù)據(jù)庫中的)數(shù)據(jù)集。分布式數(shù)據(jù)庫可以位于因特網(wǎng)、公司內(nèi)網(wǎng)或其他公司網(wǎng)絡(luò)的網(wǎng)絡(luò)服務(wù)器上。由于分布式數(shù)據(jù)庫存儲了多臺計算機的數(shù)據(jù),分布式數(shù)據(jù)庫通過允許事務(wù)在許多機器(而非限制為一臺機器)上處理改善了終端用戶感知的性能。
[0005]本發(fā)明范圍內(nèi)的分布式存儲器可表示信息(例如,以復(fù)制方式)存儲在多個網(wǎng)絡(luò)節(jié)點上的計算機網(wǎng)絡(luò)。因此,分布式存儲還可表示用戶在多個網(wǎng)絡(luò)節(jié)點上存儲信息的分布式數(shù)據(jù)庫,或者用戶在多個對等網(wǎng)絡(luò)節(jié)點上存儲信息的計算機網(wǎng)絡(luò)。
[0006]所述領(lǐng)域的普通技術(shù)人員可能很了解,在通信網(wǎng)絡(luò)中,一個節(jié)點是一個連接點,表示再分發(fā)點(redistribut1n point)或通信端點(例如,一些終端設(shè)備)。物理網(wǎng)絡(luò)節(jié)點是連接到網(wǎng)絡(luò)的有源電子設(shè)備,能夠通過通信信道發(fā)送、接收或轉(zhuǎn)發(fā)信息(例如,數(shù)據(jù)包)。
[0007]通常復(fù)制涉及利用查找分布式數(shù)據(jù)庫中的變化的專門軟件模塊。一旦識別了變化,復(fù)制過程使得所有數(shù)據(jù)庫看起來相同,即包含相似的數(shù)據(jù)。復(fù)制過程取決于分布式數(shù)據(jù)庫的大小和數(shù)目,可能繁瑣、復(fù)雜且耗時。該過程還需要大量計算機資源。
[0008]因此,長久以來一直存在優(yōu)化數(shù)據(jù)庫復(fù)制以節(jié)省內(nèi)存、CPU周期等寶貴的網(wǎng)絡(luò)資源的需求。
[0009]已提出了許多方案來降低由于在網(wǎng)絡(luò)的多個節(jié)點上復(fù)制數(shù)據(jù)而導(dǎo)致的網(wǎng)絡(luò)資源的損耗。然而,現(xiàn)有方案在具有集群拓撲感知的應(yīng)用級別或不具有數(shù)據(jù)庫集群拓撲感知的路由器級別(L2/L3)上操作。
[0010]僅基于“路由器級別”方法論的方案存在很多缺點,包括但不限于由于主節(jié)點側(cè)的過多訂閱而導(dǎo)致的網(wǎng)絡(luò)中的冗余。冗余消除技術(shù)本身很昂貴,其被統(tǒng)一應(yīng)用而不考慮信息的性質(zhì)(即,不是上下文特定的)。
[0011 ]如果不了解底層數(shù)據(jù)庫的拓撲,多余的內(nèi)容會被緩存或者緩存未被最優(yōu)地使用。
[0012]此外,傳統(tǒng)方案無法基于數(shù)據(jù)庫內(nèi)容為各種內(nèi)容提供策略。例如,不可以使用這些方案來實施例如特殊路徑,該特殊路徑嘗試為初始鏡像信息最大化MTU(最大傳輸單元)。
[0013]因此,長久以來一直存在提供一種用于分布式存儲器的優(yōu)化方法和系統(tǒng)的需求,該方法和系統(tǒng)避免了傳統(tǒng)方法呈現(xiàn)的上述缺點及許多其他缺點。確切地說,需要一種用于分布式存儲器的優(yōu)化方法和系統(tǒng),該方法和系統(tǒng)可以在任意數(shù)據(jù)存儲方案或任意數(shù)據(jù)庫中使用并且無論使用何種復(fù)制機制都能最優(yōu)地運行。這種方案應(yīng)當具有成本效益并且優(yōu)先使用現(xiàn)有的路由器基礎(chǔ)結(jié)構(gòu)(例如,MPLS、MPLS-TE、CSPF)來實現(xiàn)所需的改進。
【發(fā)明內(nèi)容】
[0014]出于總結(jié)的目的,本文已描述了一些方面、優(yōu)點以及新穎的特征。應(yīng)理解的是,并不是按照任何一個特定實施例就可以實現(xiàn)所有此類優(yōu)點。因此,本發(fā)明可以以如下方式體現(xiàn)或執(zhí)行:實現(xiàn)或優(yōu)化本文教導(dǎo)的一個優(yōu)點或一組優(yōu)點,而無需實現(xiàn)本文可能教導(dǎo)或建議的其他優(yōu)點。
[0015]本發(fā)明的一個目的在于消除上述提到的和許多其他缺點,本發(fā)明提供了一種通過使存儲器/數(shù)據(jù)庫路由器感知底層的數(shù)據(jù)存儲器/數(shù)據(jù)庫集群拓撲和復(fù)制流來優(yōu)化存儲器和數(shù)據(jù)庫復(fù)制的方法和系統(tǒng)。
[0016]本發(fā)明的典型實施例中的系統(tǒng)和對應(yīng)方法提供了一種路由器(用戶對其進行最低配置)確定存儲器/數(shù)據(jù)庫復(fù)制拓撲,以及利用拓撲感知裝備路由器以優(yōu)化數(shù)據(jù)存儲器/數(shù)據(jù)庫復(fù)制流的機制。
[0017]本發(fā)明的實施例提供了路由器對底層網(wǎng)絡(luò)的集群拓撲的確定。
[0018]—種用于優(yōu)化分布式網(wǎng)絡(luò)環(huán)境中的復(fù)制的方法和系統(tǒng),該環(huán)境用于承載多個數(shù)據(jù)包和數(shù)據(jù)庫【服務(wù)器】以及用于多個數(shù)據(jù)包和數(shù)據(jù)庫【服務(wù)器】之間的通信,所述方法和系統(tǒng)包括所述網(wǎng)絡(luò)中運行的一個或多個路由器設(shè)備確定所述網(wǎng)絡(luò)環(huán)境的當前集群拓撲;所述路由器識別并優(yōu)化網(wǎng)絡(luò)環(huán)境中正使用的數(shù)據(jù)復(fù)制流/服務(wù);所述路由器設(shè)備基于所述集群拓撲確定路由方案;基于所述路由方案對所述網(wǎng)絡(luò)環(huán)境內(nèi)的數(shù)據(jù)包進行路由;所述路由器將預(yù)定義的策略應(yīng)用到對應(yīng)于所述識別的數(shù)據(jù)復(fù)制流的預(yù)定義的路由器組。
[0019]在本發(fā)明的另一實施例中,路由器設(shè)備使用一組邊緣路由器確定所述網(wǎng)絡(luò)環(huán)境的當前集群拓撲,最靠近所述數(shù)據(jù)庫服務(wù)器運行的邊緣路由器為數(shù)據(jù)庫節(jié)點邊緣路由器。
[0020]在本發(fā)明的另一實施例中,數(shù)據(jù)庫節(jié)點邊緣路由器包含配置的數(shù)據(jù),包括數(shù)據(jù)庫節(jié)點邊緣路由器的互聯(lián)網(wǎng)協(xié)議地址、數(shù)據(jù)庫集群的唯一標識符、信道和相關(guān)的策略配置。
[0021]在本發(fā)明的又一實施例中,主邊緣路由器通過在邊緣路由器上開啟緩存并將指紋附著到與所述緩存關(guān)聯(lián)的凈荷上來優(yōu)化數(shù)據(jù)復(fù)制流。
[0022]在本發(fā)明的又一實施例中,本發(fā)明上下文內(nèi)的數(shù)據(jù)包的路由包括第一路由器創(chuàng)建路徑和標簽用于通過使用第二路由器的緩存數(shù)據(jù)將第一數(shù)據(jù)包路由到第三路由器,第一路由器確定待傳輸?shù)降谌酚善鞯臄?shù)據(jù)包在所述第二路由器中緩存并使用已緩存的指紋和所述路徑標簽;第二路由器接收所述指紋和對應(yīng)的標簽,處理所述接收的包數(shù)據(jù),將所述包數(shù)據(jù)轉(zhuǎn)換為實際數(shù)據(jù),并將所述實際數(shù)據(jù)轉(zhuǎn)發(fā)到第三路由器。
[0023]在本發(fā)明的又一實施例中,所述方法和系統(tǒng)用于通過所述邊緣路由器在所述網(wǎng)絡(luò)環(huán)境中通告/發(fā)布所述識別的數(shù)據(jù)復(fù)制流/服務(wù);通過數(shù)據(jù)庫感知路由器接收并存儲所述通告/發(fā)布的信息;通過所述數(shù)據(jù)庫感知路由器訂閱主數(shù)據(jù)庫邊緣路由器;在所述訂閱后將集群中的所述數(shù)據(jù)庫感知路由器添加為SDER(訂閱數(shù)據(jù)庫邊緣路由器);為每個添加的數(shù)據(jù)庫感知路由器配置對應(yīng)的SDER(訂閱數(shù)據(jù)庫邊緣路由器),其中主數(shù)據(jù)庫邊緣路由器(MDER)在接收訂閱請求時用于檢查是否已訂閱所請求的數(shù)據(jù)庫感知路由器或SDER;以及在確定已訂閱所請求的數(shù)據(jù)庫感知路由器或SDER后在MDER-SDER鏈路上開啟緩存。
[0024]在本發(fā)明的又一實施例中,所述方法和系統(tǒng)用于通過訂閱者節(jié)點對應(yīng)的主DB節(jié)點將REDO日志信息作為數(shù)據(jù)包發(fā)送到訂閱者節(jié)點;通過MDER(主數(shù)據(jù)庫邊緣路由器)攔截所述包數(shù)據(jù)用于確定REDO日志信息;在確定所述包數(shù)據(jù)包含REDO日志信息并且未開啟緩存后緩存所述包數(shù)據(jù)。
[0025]在本發(fā)明的又一實施例中,所述方法和系統(tǒng)用于通過主數(shù)據(jù)庫邊緣路由器使用查找邊緣路由器信息提取數(shù)據(jù)包的目的地址;為開啟緩存的邊緣路由器生成所述包數(shù)據(jù)的指紋并存儲和轉(zhuǎn)發(fā)指紋數(shù)據(jù)和包;給所述包數(shù)據(jù)貼上標簽并轉(zhuǎn)發(fā)指紋;以及當確定已存在指紋時通過主數(shù)據(jù)庫邊緣路由器生成所述包數(shù)據(jù)的標簽并僅轉(zhuǎn)發(fā)指紋。
[0026]在本發(fā)明的另一實施例中,基于DB集群確定的拓撲的主數(shù)據(jù)庫邊緣路由器呈現(xiàn)出對緩存的最優(yōu)利用。
[0027]在本發(fā)明的另一實施例中,本發(fā)明提供了多個路由器對復(fù)制流或重做流的優(yōu)化。
[0028]在本發(fā)明的另一實施例中,描述了一種用于對包進行路由和緩存的方法。
[0029]本發(fā)明的實施例中公開的內(nèi)容提供了一種系統(tǒng)(和方法),為從DB(數(shù)據(jù)庫操作)角度表達的不同性質(zhì)的流應(yīng)用特定策略。
[0030]參照本發(fā)明的本文中所述的所有實施例適用于所述方法和所述對應(yīng)系統(tǒng)。
[0031]所述領(lǐng)域的技術(shù)人員將參照附圖,從實施例的詳細描述中易明了本發(fā)明的這些和其他實施例,本發(fā)明不限于所公開的任意特定實施例。
【附圖說明】
[0032]為了更好地理解本文所述的系統(tǒng)和方法的實施例,并為了更清楚地示出如何實現(xiàn)這些實施例,將通過示例對附圖進行參照,其中:
[0033]圖1示出了現(xiàn)有的單主復(fù)制機制。
[0034]圖2示出了現(xiàn)有的多主復(fù)制。
[0035]圖3示出了傳統(tǒng)復(fù)制中的冗余。
[0036]圖4示出了用于解決分布式網(wǎng)絡(luò)環(huán)境中的過多訂閱的現(xiàn)有組播方案的圖解表示。
[0037]圖5示出了用于冗余消除的現(xiàn)有方案的圖解表示。
[0038]圖6示出了用于包級冗余檢測的現(xiàn)有方案的圖解表示。
[0039]圖7示出了示例性分布式/復(fù)制數(shù)據(jù)庫。
[0040]圖8示出了基于緩存和拓撲感知的最優(yōu)路由方法。
[0041]圖9示出了示例性MDER(主DB節(jié)點邊緣路由器)中配置的數(shù)據(jù)。
[0042]圖10示出了MDER(主DB節(jié)點邊緣路由器)在分布式網(wǎng)絡(luò)環(huán)境中進行通告和訂閱的流程圖。
[0043]圖11示出了REDO緩存優(yōu)化的流程圖。
[0044]圖12示出了用于REDO緩存的序列圖。
[0045]圖13示出了基于緩存的最優(yōu)路由的示例性網(wǎng)絡(luò)圖。
[0046]圖14示出了基于緩存的最優(yōu)路由的路徑創(chuàng)建。
[0047]圖15示出了地理分布式多主DB集群。
【具體實施方式】
[0048]現(xiàn)將參考附圖描述示例性實施例。但是,本發(fā)明可以具體體現(xiàn)為許多不同的形式且不應(yīng)被解釋為僅限于本文所闡述的實施例;提供這些實施例是為使本發(fā)明詳盡完整并向本領(lǐng)域技術(shù)人員充分傳達本發(fā)明的范圍。在附圖中所示的特定的示例性實施例的詳細描述中使用的術(shù)語并非意在限制。在附圖中,相同的數(shù)字指相同的元件。
[0049]說明書在若干位置可能涉及“一種”、“一個”或“一些”實施例。這并不一定意味著每個這樣的引用都是相同的實施例,或者該特征僅應(yīng)用于單個實施例。也可以組合不同實施例的單獨的特征以提供其他實施例。
[0050]除非另外明確規(guī)定,否則本文所用的單數(shù)形式“一”和“所述”包括其復(fù)數(shù)形式。應(yīng)進一步了解,本說明書中所用的術(shù)語“包括”用于說明存在所述特征、