專利名稱:用于復(fù)制數(shù)據(jù)庫的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于復(fù)制數(shù)據(jù)庫的方法、計算機可讀介質(zhì)和系統(tǒng)。
背景技術(shù):
在計算機系統(tǒng)中數(shù)據(jù)常存儲在數(shù)據(jù)庫中。當(dāng)數(shù)據(jù)庫被復(fù)制時,相同的數(shù)據(jù)存儲在 多個存儲裝置中。復(fù)制被頻繁地執(zhí)行且它為相同數(shù)據(jù)庫提供多個一致的副本。
信息管理系統(tǒng)從若干個源搜集信息并管理該信息,且將信息分布到所限定的系 統(tǒng)。信息例如可以從所有技術(shù)、商業(yè)或衛(wèi)生保健領(lǐng)域收集。 在諸如石油煉制的高級處理控制或者監(jiān)控核電站的操作這樣關(guān)鍵任務(wù)系統(tǒng)中,需 要過程信息管理系統(tǒng)(PIMS)的高可靠性和不間斷的操作。計算機系統(tǒng)中的任意單點故障 必須不中斷過程信息管理系統(tǒng)或在其上運行的應(yīng)用程序的實時操作。 典型地,已經(jīng)使用PC集群技術(shù)來建立冗余過程信息管理系統(tǒng)。于是,系統(tǒng)和數(shù)據(jù) 庫此時運行在一個節(jié)點上,且在硬件或軟件故障情況下,系統(tǒng)在獨立的節(jié)點啟動。故障總是 導(dǎo)致系統(tǒng)操作中的不希望中斷。 關(guān)系數(shù)據(jù)庫系統(tǒng)提供建立高可用性解決方案和數(shù)據(jù)庫復(fù)制功能性的若干概念,但
是它們的性能并不滿足通常針對過程信息管理系統(tǒng)所設(shè)置的要求。 —些過程歷史產(chǎn)品能夠提供過程歷史的冗余,但是它們不能存儲關(guān)系數(shù)據(jù)。
發(fā)明內(nèi)容
本發(fā)明的目的是創(chuàng)造一種用于復(fù)制數(shù)據(jù)庫的方法、設(shè)備和系統(tǒng)。為了實現(xiàn)這一 目 的,本發(fā)明的特征在于權(quán)利要求1、4、8和9的特征部分中規(guī)定的特征。本發(fā)明的一些其他 優(yōu)選實施方式具有從屬權(quán)利要求中規(guī)定的特性。 —種用于復(fù)制數(shù)據(jù)庫的方法,在該方法中,至少兩個數(shù)據(jù)庫被復(fù)制,每個數(shù)據(jù)庫包 含一個或多個表,且每個表具有數(shù)據(jù)和唯一樹索引,該唯一樹索引包含索引關(guān)鍵字和在每 個樹索引層上從數(shù)據(jù)計算的分層次的循環(huán)冗余校驗值和。在該方法中,通過比較數(shù)據(jù)庫表 的循環(huán)冗余校驗值和來維持數(shù)據(jù)庫中相應(yīng)表之間的數(shù)據(jù)的邏輯一致性;且如果發(fā)現(xiàn)循環(huán)冗 余校驗值和之間的差異,則將樹索引邏輯地分割成兩個子樹索引且相互比較子樹索引的循 環(huán)冗余校驗值和。使比較和分割一直持續(xù)到導(dǎo)致差異的數(shù)據(jù)被發(fā)現(xiàn),并且在數(shù)據(jù)庫之間復(fù) 制不一致的數(shù)據(jù)。 —種用于在信息管理系統(tǒng)中確保數(shù)據(jù)庫一致性的復(fù)制數(shù)據(jù)庫的方法。在該方法 中,至少兩個數(shù)據(jù)庫被復(fù)制,每個數(shù)據(jù)庫包含一個或多個表,且每個表具有實時數(shù)據(jù)和唯一 樹索引,該唯一樹索引包含索引關(guān)鍵字和在每個樹索引層上從數(shù)據(jù)計算的分層次的循環(huán)冗 余校驗值和。通過比較數(shù)據(jù)庫表的循環(huán)冗余校驗值和來維持數(shù)據(jù)庫中相應(yīng)表之間的數(shù)據(jù)的 邏輯一致性;且如果發(fā)現(xiàn)循環(huán)冗余校驗值和之間的差異,則將樹索引被邏輯地分割成兩個 子樹索引且相互比較子樹索引的循環(huán)冗余校驗值和,且該比較和分割一直持續(xù)到導(dǎo)致差異 的數(shù)據(jù)被發(fā)現(xiàn)。在數(shù)據(jù)庫之間復(fù)制不一致的數(shù)據(jù),并且將復(fù)制的數(shù)據(jù)庫服務(wù)于信息管理系
—種用于復(fù)制數(shù)據(jù)庫的設(shè)備,其中,至少兩個數(shù)據(jù)庫被復(fù)制,每個數(shù)據(jù)庫包含一個 或多個表,且每個表具有數(shù)據(jù)和唯一樹索引,該唯一樹索引包含索引關(guān)鍵字和在每個樹索 引層上從數(shù)據(jù)計算的分層次的循環(huán)冗余校驗值和,所述設(shè)備包括用于通過比較該數(shù)據(jù)庫 表的循環(huán)冗余校驗值和來維持該數(shù)據(jù)庫中相應(yīng)表之間的數(shù)據(jù)的邏輯一致性的裝置;以及用 于如果發(fā)現(xiàn)循環(huán)冗余校驗值和之間的差異,則將該樹索引邏輯地分割為兩個子樹索引且相 互比較該子樹索引的循環(huán)冗余校驗值和,且使該比較和分割一直持續(xù)到導(dǎo)致差異的數(shù)據(jù)被 發(fā)現(xiàn),并且在該數(shù)據(jù)庫之間復(fù)制不一致的數(shù)據(jù)的裝置。 —種用于復(fù)制數(shù)據(jù)庫的系統(tǒng),包括至少兩個數(shù)據(jù)庫,該數(shù)據(jù)庫具有一個或多個 表,且每個表具有數(shù)據(jù)和唯一樹索引,該唯一樹索引包含索引關(guān)鍵字和在每個樹索引層上 從數(shù)據(jù)計算的分層次的循環(huán)冗余校驗值和;用于通過比較數(shù)據(jù)庫表的循環(huán)冗余校驗值和來 維持數(shù)據(jù)庫中相應(yīng)表之間的數(shù)據(jù)的邏輯一致性的裝置;用于發(fā)現(xiàn)循環(huán)冗余校驗值和之間的 差異的裝置,用于將樹索引邏輯分割為兩個子樹索引的裝置,用于相互比較子樹索引的循 環(huán)冗余校驗值和的裝置和用于使得該比較和分割一直持續(xù)到導(dǎo)致差異的數(shù)據(jù)被發(fā)現(xiàn)的裝 置,以及用于在數(shù)據(jù)庫之間復(fù)制不一致的數(shù)據(jù)的裝置。 在用于復(fù)制數(shù)據(jù)庫的方法中,索引是引用(例如指向數(shù)據(jù)庫文件或表中的記錄或 數(shù)據(jù)行的指針)的有序集。索引基于表的一列或多列。數(shù)據(jù)庫中的索引結(jié)構(gòu)例如是B-樹 (B-tree)或B+樹。B-樹是維持有序數(shù)據(jù)集且允許找到、刪除、插入和瀏覽數(shù)據(jù)的有效操作 的數(shù)據(jù)結(jié)構(gòu)。 用于復(fù)制數(shù)據(jù)庫的方法和系統(tǒng)例如用于確保過程信息管理系統(tǒng)中的數(shù)據(jù)庫的一 致性。當(dāng)在過程信息管理系統(tǒng)中提供數(shù)據(jù)庫服務(wù)的服務(wù)器之一由于硬件故障或磁盤系統(tǒng)升 級而停機時,其他服務(wù)器可以運行。提供給過程信息管理系統(tǒng)的數(shù)據(jù)被存儲在運行的一個 或多個服務(wù)器的數(shù)據(jù)庫中。數(shù)據(jù)來自工廠的控制和監(jiān)控系統(tǒng),且包含來自各裝置的測量得 到的操作值或參數(shù)以及用于處理裝置的計算得到的控制值。在服務(wù)器恢復(fù)之后,它丟失了 停機期間提供給其他服務(wù)器的數(shù)據(jù)。然后,通過用于復(fù)制數(shù)據(jù)庫的方法和系統(tǒng)來控制服務(wù) 器中的數(shù)據(jù)庫的一致性,即,將丟失或變化的數(shù)據(jù)傳送到停機的服務(wù)器,且檢查已經(jīng)運行的 服務(wù)器的一致性。當(dāng)數(shù)據(jù)庫的復(fù)制完成時,數(shù)據(jù)庫具有相同的存儲信息內(nèi)容,且任意數(shù)據(jù)庫 可以在過程信息管理系統(tǒng)中工作。 用于復(fù)制數(shù)據(jù)庫的方法實現(xiàn)了在計算機系統(tǒng)中任意單點故障情況下的無中斷操 作以及在故障之后將系統(tǒng)復(fù)原為原始系統(tǒng)時的無中斷操作。 其他優(yōu)點在于在負載共享情況下的高可用性和更好的數(shù)據(jù)存取性能。高可用性數(shù)
據(jù)庫提供了使用PC集群技術(shù)不能實現(xiàn)的冗余計算機之間的負載共享可能性。 用于復(fù)制數(shù)據(jù)庫的系統(tǒng)不需要事務(wù)存檔或類似存檔,而有一些關(guān)系數(shù)據(jù)庫在復(fù)制
中要使用該事務(wù)存檔。事務(wù)存檔消耗存儲空間且降低性能。信息的復(fù)制和檢查是獨立的基
于需要的過程。 用于復(fù)制數(shù)據(jù)庫的方法提供了數(shù)據(jù)庫高可用性,且提供并發(fā)運行數(shù)據(jù)庫系統(tǒng)的兩 個或多個實例而在單個計算機故障的情況下在系統(tǒng)中沒有任何中斷的可能性。用于復(fù)制數(shù) 據(jù)庫的系統(tǒng)提供了選項來建立在一個系統(tǒng)中含有若干復(fù)制數(shù)據(jù)庫的系統(tǒng)以提供更高級別 的可用性。負載共享功能性提供了將數(shù)據(jù)庫系統(tǒng)擴展為包含大量計算和/或極大量并發(fā)用戶的解決方案的可能性。 用于復(fù)制數(shù)據(jù)庫的系統(tǒng)可以使用低成本的硬件實現(xiàn)。其實現(xiàn)了使用不昂貴的PC計算機來建立高度可靠的實時過程信息管理系統(tǒng)。 在用于復(fù)制數(shù)據(jù)庫的系統(tǒng)中,硬件可以是分散的,例如,數(shù)據(jù)庫可以存儲在不同的計算機中,無需任意專用硬件。從物理的視角,分散例如防止火險。
在下文中,將通過參考附圖在特定實施方式的幫助下更詳細地描述本發(fā)明,附圖中 圖1是用于數(shù)據(jù)庫復(fù)制的系統(tǒng)的一般示圖; 圖2是存儲在B+樹中的分層次的循環(huán)冗余校驗值的一般示 圖3是用于過程信息管理系統(tǒng)的數(shù)據(jù)庫復(fù)制的系統(tǒng)的一般示圖。
具體實施例方式圖1圖示了數(shù)據(jù)庫復(fù)制系統(tǒng)。 在用于復(fù)制數(shù)據(jù)庫的方法中,兩個或更多數(shù)據(jù)庫被彼此復(fù)制。在圖1中,存在3個
數(shù)據(jù)庫1A-1C。在本實施方式中,數(shù)據(jù)庫1A-1C是符合關(guān)系模型的關(guān)系數(shù)據(jù)庫。 每個數(shù)據(jù)庫1A-lC包括含有數(shù)據(jù)的表2a-2i。在復(fù)制方法中,B-樹(B-tree)或B十
樹(B+tree)應(yīng)用為數(shù)據(jù)庫表中的索引結(jié)構(gòu)。B+樹在圖2中示出。它保持存儲的數(shù)據(jù)且允
許在邏輯分攤時間(amortized time)內(nèi)進行搜索、插入和刪除。存儲在B-樹中的數(shù)據(jù)片
通常被稱為關(guān)鍵字。在唯一索引中,每個關(guān)鍵字在邏輯上是唯一的,且可以只出現(xiàn)在B-樹
中的一個位置中。 每個表2a-2i均具有唯一樹索引,該唯一樹索引包含索引關(guān)鍵字和從每個樹索引層上的數(shù)據(jù)計算所得的分層次的循環(huán)冗余校驗值和。樹索引是條目的有序集。每個條目包含搜索關(guān)鍵字值和指向表中包含該值的特定行的指針。索引關(guān)鍵字是來自數(shù)據(jù)行的一個或多個字段組成的數(shù)據(jù)量。 圖2代表實施用于48個數(shù)據(jù)行的索引的簡單三層B+樹的一部分。在葉節(jié)點24中,存儲每個數(shù)據(jù)行的循環(huán)冗余校驗值(C,..n)及相應(yīng)索引關(guān)鍵字內(nèi)部節(jié)點23包含指向葉節(jié)點的大量指針。相應(yīng)葉節(jié)點中的相應(yīng)索引關(guān)鍵字和所有循環(huán)冗余校驗值和與每個指針存儲在一起,最后的指針除外。最后的指針?biāo)傅娜~節(jié)點的循環(huán)冗余校驗值和被包括在上層內(nèi)部節(jié)點的循環(huán)冗余校驗和中,在該示例中,該上層內(nèi)部節(jié)點是根節(jié)點22。整個索引21中的所有循環(huán)冗余校驗值和與指向根節(jié)點的指針存儲在一起。
B-樹包括含有索引關(guān)鍵字的節(jié)點結(jié)構(gòu)以及將B-樹的節(jié)點鏈接到一起的指針。
用于復(fù)制數(shù)據(jù)庫的方法基于針對數(shù)據(jù)表2a-2i中所選邏輯唯一索引的B或B+樹的所有層計算和存儲關(guān)于數(shù)據(jù)的循環(huán)冗余校驗值和。其是存儲結(jié)構(gòu)且提供用以檢查數(shù)據(jù)庫表2a-2i的冗余副本的一致性且在發(fā)現(xiàn)不一致性時校正差異的服務(wù)。對于每個關(guān)鍵字,即,數(shù)據(jù)庫中的數(shù)據(jù)行,計算循環(huán)冗余校驗值,且將其存儲到葉。關(guān)鍵字的循環(huán)冗余校驗值相加在一起成為葉所屬的內(nèi)部節(jié)點的循環(huán)冗余校驗值和,且內(nèi)部節(jié)點的循環(huán)冗余校驗值的和被進一步相加到它們所屬的節(jié)點。最后,存在一個從數(shù)據(jù)庫表中的所有數(shù)據(jù)計算的循環(huán)冗余
6校驗值和。 通過比較數(shù)據(jù)庫表的冗余副本的循環(huán)冗余校驗值和,可以驗證副本是否彼此邏輯一致。邏輯一致性意味著表包含有效數(shù)據(jù)。在冗余副本的循環(huán)冗余校驗值和彼此不同的情況下,樹索引被邏輯分割為兩個子樹索引,且將子樹索引的循環(huán)冗余校驗值和相互比較,一直到發(fā)現(xiàn)數(shù)據(jù)中的實際差異為止。不一致的數(shù)據(jù)在數(shù)據(jù)庫之間復(fù)制。如果數(shù)據(jù)存在于表的若干副本中,數(shù)據(jù)的修改時間(行修改時間)用于決定哪個數(shù)據(jù)副本是最新的副本。使用保存在每個數(shù)據(jù)庫中的刪除日志檢測刪除的數(shù)據(jù)行。 所述循環(huán)冗余校驗值和的比較處理允許在O(logn)時間內(nèi)發(fā)現(xiàn)兩個任意大小的表的差異。例如,對于具有l(wèi) 000 000 OOO行的兩個表,將花費30次迭代發(fā)現(xiàn)副本之間的差異。然而,因為通常很多差異彼此靠近,所以使用例如64行的塊反而使得迭代減小為24。
在B-樹中,內(nèi)部節(jié)點可以具有在某個預(yù)定范圍內(nèi)的數(shù)目可變的子節(jié)點。當(dāng)數(shù)據(jù)被插入或者從節(jié)點刪除時,其子節(jié)點的數(shù)目變化。為了維持該預(yù)定范圍,內(nèi)部節(jié)點可以結(jié)合或分離。因為一定范圍的子節(jié)點被允許,B-樹不需要像其他自平衡搜索樹那樣頻繁的重新平衡,但是可能會浪費一些空間,因為節(jié)點并不完全充滿。子節(jié)點的數(shù)目的下限和上限對于特定實施方式一般是固定的。例如,在2-3的B-樹中,每個內(nèi)部節(jié)點可以僅具有2或3個子節(jié)點。 當(dāng)節(jié)點存取次數(shù)遠超過節(jié)點內(nèi)部的存取次數(shù)時,B-樹具有優(yōu)于備選實施方式的實質(zhì)性優(yōu)點。這通常在大多數(shù)節(jié)點處于諸如硬盤驅(qū)動這樣的輔助存儲器中時發(fā)生。通過最大化每個內(nèi)部節(jié)點內(nèi)的子節(jié)點的數(shù)目,樹的高度減小,平衡的發(fā)生更不頻繁,且效率增加。通常,該值被設(shè)置為使得每個節(jié)點占據(jù)輔助存儲器的整個磁盤存儲塊(disk block)或相當(dāng)大小。盡管2-3B-樹在主存儲器中可能有用,且相當(dāng)容易解釋,但是如果節(jié)點大小變?yōu)榇疟P存儲盤塊的大小,則結(jié)果可能是257-513B-樹。 每個B-樹具有某種"次序n",意味著節(jié)點包含從n到2n個關(guān)鍵字,且節(jié)點的關(guān)鍵字由此總是至少半滿。關(guān)鍵字以排列次序保持在每個節(jié)點內(nèi)。相應(yīng)指針列表有效地散布在關(guān)鍵字之間以指示如果關(guān)鍵字不在當(dāng)前節(jié)點中則到哪里搜索該關(guān)鍵字。包含k個關(guān)鍵字的節(jié)點總是包含k+l個指針。 B-樹的每個節(jié)點具有可變數(shù)目的關(guān)鍵字和子節(jié)點。關(guān)鍵字以非減小順序存儲。每個關(guān)鍵字具有相關(guān)的子節(jié)點,該子節(jié)點是包含的所有節(jié)點的關(guān)鍵字均小于或等于該關(guān)鍵字但大于前面關(guān)鍵字的子樹的根。節(jié)點也具有附加的最右邊的子節(jié)點,該子節(jié)點是包含的所有關(guān)鍵字均大于節(jié)點中任意關(guān)鍵字的子樹的根。 B-樹具有針對每個節(jié)點的最小允許子節(jié)點數(shù)目,其已知為最小因子。如果t是該最小因子,則每個節(jié)點必須具有至少t-l個關(guān)鍵字。在某些狀況下,根節(jié)點被允許違反這種屬性,可以具有小于t-l個關(guān)鍵字。每個節(jié)點最多可以具有2t-l個關(guān)鍵字,或等價地具有2t個子節(jié)點。 因為每個節(jié)點傾向于具有大的分支因子(大量的子節(jié)點),典型地,必須在定位所需關(guān)鍵字之前遍歷相對少的節(jié)點。如果對于每個節(jié)點的存取需要磁盤存取,則B-樹將最小化所需的磁盤存取的數(shù)目。最小因子通常被選擇為使得每個節(jié)點的總大小對應(yīng)于底層存儲裝置的存儲塊大小的倍數(shù)。這種選擇簡化且優(yōu)化了磁盤存取。因此,B-樹是用于當(dāng)所有數(shù)據(jù)不能存儲在主存儲器中且存取輔助存儲器相對昂貴或耗時的情況時的理想數(shù)據(jù)結(jié)構(gòu)。
圖3圖示了用于過程信息管理系統(tǒng)的數(shù)據(jù)庫復(fù)制系統(tǒng)。 過程信息系統(tǒng)是信息管理系統(tǒng)的一個示例。過程信息管理系統(tǒng)(PIMS)30與各種控制或其他系統(tǒng)通信接口,以使用一秒或更多或更少的采樣時間收集過程數(shù)據(jù)。過程信息管理系統(tǒng)提供應(yīng)用程序31、分布控制系統(tǒng)(DCS)32、可編程邏輯控制器(PLC)33、實驗室信息管理系統(tǒng)(LMS)34、制造執(zhí)行系統(tǒng)(MES)35、協(xié)調(diào)生產(chǎn)管理系統(tǒng)(CPM) 36、計算機化維護管理系統(tǒng)(C匪S)37、先進過程控制應(yīng)用程序(APC)38以及各方面的其他信息技術(shù)系統(tǒng)之間的數(shù)據(jù)交換。過程信息管理系統(tǒng)提供數(shù)據(jù)處理服務(wù)、數(shù)據(jù)采集和存取接口、數(shù)據(jù)可視化和分析工具、計算和應(yīng)用程序開發(fā)工具,且集成所有有效值和信息,并將它們存儲在大型、有效的實時關(guān)系數(shù)據(jù)庫中。 過程信息管理系統(tǒng)通常具有兩個或更多向其他計算機程序或計算機提供數(shù)據(jù)庫服務(wù)的獨立服務(wù)器。在該示例中,存在兩個服務(wù)器ID、IE,且它們均包含在彼此復(fù)制的數(shù)據(jù)庫之間獨立地工作的、數(shù)據(jù)產(chǎn)生以及歷史記錄和應(yīng)用。在該實施方式中,數(shù)據(jù)庫存儲在不同的計算機中。 實時過程信息管理具有以下特性,例如以每秒10至100000個數(shù)據(jù)行的速度連續(xù)地將來自處理裝置的數(shù)據(jù)流輸入到數(shù)據(jù)庫中,用于歷史記錄;將輸入數(shù)據(jù)流的連續(xù)數(shù)據(jù)處理、聚集和存儲為聚集歷史值;在相同數(shù)據(jù)庫中存儲其他關(guān)聯(lián)應(yīng)用數(shù)據(jù);1秒響應(yīng)時間,對于應(yīng)用和用戶而言具有高數(shù)據(jù)存取性能。 當(dāng)過程信息管理系統(tǒng)的服務(wù)器之一 ID例如由于硬件故障或磁盤系統(tǒng)升級而停機時,另一服務(wù)器IE運行。于是例如包含過程裝置的測量值和/或操作參數(shù)的實時數(shù)據(jù)僅被供給到被升級的運行服務(wù)器IE的數(shù)據(jù)庫表2j_21。在服務(wù)器ID恢復(fù)之后,在運行時間連續(xù)地驗證和控制服務(wù)器中的數(shù)據(jù)庫的一致性。數(shù)據(jù)庫復(fù)制系統(tǒng)具有自動一致性控制和恢復(fù)。數(shù)據(jù)庫是很多表,且一致性控制和恢復(fù)基于關(guān)于每一行的時間戳和校驗和以及邏輯唯一索引中的循環(huán)冗余校驗值和。具有最新時間箋的行被設(shè)定為正確的行,且在檢測行的列表上搜索丟失的行。 在服務(wù)器之一中硬件故障的情況下,在過程信息管理系統(tǒng)的操作中不存在中斷。
磁盤故障也不導(dǎo)致信息流的故障。在故障之后可以不中斷地重建系統(tǒng),且系統(tǒng)能夠承受計
算機的若干次連續(xù)故障而沒有過程信息管理系統(tǒng)的操作的中斷或者數(shù)據(jù)的丟失。 用于復(fù)制數(shù)據(jù)庫的系統(tǒng)還允許磁盤系統(tǒng)在不中斷過程信息管理系統(tǒng)的情況下升級。 用于復(fù)制數(shù)據(jù)庫的該方法有利地使用計算機實施。使用的程序被存儲在計算機的內(nèi)存或存儲在可以被裝載到計算裝置上的計算機可讀介質(zhì)(例如DVD)中。這些計算機可讀介質(zhì)具有使得計算機執(zhí)行方法的指令。 已經(jīng)在特定實施方式的幫助下描述了本發(fā)明。然而,描述不應(yīng)理解為限制了專利保護的范圍;本發(fā)明的實施方式可以在下述權(quán)利要求書的范圍內(nèi)變化。
權(quán)利要求
一種用于復(fù)制數(shù)據(jù)庫的方法,在該方法中,至少兩個數(shù)據(jù)庫被復(fù)制,每個數(shù)據(jù)庫包含一個或多個表,且每個表具有數(shù)據(jù)和唯一樹索引,該唯一樹索引包含索引關(guān)鍵字和在每個樹索引層上從數(shù)據(jù)計算的分層次的循環(huán)冗余校驗值和,在該方法中,通過比較數(shù)據(jù)庫表的循環(huán)冗余校驗值和來維持數(shù)據(jù)庫中相應(yīng)表之間的數(shù)據(jù)的邏輯一致性;且如果發(fā)現(xiàn)循環(huán)冗余校驗值和之間的差異,則將該樹索引邏輯地分割為兩個子樹索引并相互比較該子樹索引的循環(huán)冗余校驗值和,且使該比較和分割一直持續(xù)到發(fā)現(xiàn)導(dǎo)致差異的數(shù)據(jù),并且在數(shù)據(jù)庫之間復(fù)制不一致的數(shù)據(jù)。
2. 根據(jù)權(quán)利要求1所述的方法,其中該數(shù)據(jù)庫中的索引結(jié)構(gòu)是具有節(jié)點以及循環(huán)冗余 校驗值的B-樹或B+樹,且數(shù)據(jù)庫表的循環(huán)冗余校驗值和被存儲在數(shù)據(jù)庫表的唯一樹索引 的節(jié)點中。
3. 根據(jù)權(quán)利要求1所述的方法,其中該數(shù)據(jù)庫存儲在不同的計算機中。
4. 一種用于在信息管理系統(tǒng)中確保數(shù)據(jù)庫一致性的復(fù)制數(shù)據(jù)庫的方法,在該方法中, 至少兩個數(shù)據(jù)庫被復(fù)制,每個數(shù)據(jù)庫包含一個或多個表,且每個表具有實時數(shù)據(jù)和唯一樹 索引,該唯一樹索引包含索引關(guān)鍵字和在每個樹索引層上從數(shù)據(jù)計算的分層次的循環(huán)冗余 校驗值和,在該方法中,通過比較該數(shù)據(jù)庫表的循環(huán)冗余校驗值和來維持該數(shù)據(jù)庫中相應(yīng) 表之間的數(shù)據(jù)的邏輯一致性;且如果發(fā)現(xiàn)循環(huán)冗余校驗值和之間的差異,則將該樹索引邏 輯地分割為兩個子樹索引且相互比較該子樹索引的循環(huán)冗余校驗值和,并且使該比較和分 割一直持續(xù)到導(dǎo)致差異的數(shù)據(jù)被發(fā)現(xiàn)為止,并且不在數(shù)據(jù)庫之間復(fù)制一致的數(shù)據(jù),且將復(fù) 制的數(shù)據(jù)庫服務(wù)于該信息管理系統(tǒng)。
5. 根據(jù)權(quán)利要求4所述的方法,其中該數(shù)據(jù)庫中的索引結(jié)構(gòu)是具有節(jié)點和循環(huán)冗余校 驗值的B-樹或B+樹,且數(shù)據(jù)庫表的循環(huán)冗余校驗值和被存儲在該數(shù)據(jù)庫表的唯一樹索引 的節(jié)點中。
6. 根據(jù)權(quán)利要求4所述的方法,其中該數(shù)據(jù)庫存儲在不同的計算機中。
7. 根據(jù)權(quán)利要求4所述的方法,其中該信息管理系統(tǒng)是過程信息管理系統(tǒng),且包含處 理裝置的測量值和/或操作參數(shù)的實時數(shù)據(jù)被供給到數(shù)據(jù)庫表至少其一。
8. —種用于復(fù)制數(shù)據(jù)庫的設(shè)備,其中,至少兩個數(shù)據(jù)庫被復(fù)制,每個數(shù)據(jù)庫包含一個或 多個表,且每個表具有數(shù)據(jù)和唯一樹索引,該唯一樹索引包含索引關(guān)鍵字和在每個樹索引 層上從數(shù)據(jù)計算的分層次的循環(huán)冗余校驗值和,所述設(shè)備包括用于通過比較該數(shù)據(jù)庫表的循環(huán)冗余校驗值和來維持該數(shù)據(jù)庫中相應(yīng)表之間的數(shù)據(jù) 的邏輯一致性的裝置;以及用于如果發(fā)現(xiàn)循環(huán)冗余校驗值和之間的差異,則將該樹索引邏輯地分割為兩個子樹索 引且相互比較該子樹索引的循環(huán)冗余校驗值和,且使該比較和分割一直持續(xù)到導(dǎo)致差異的 數(shù)據(jù)被發(fā)現(xiàn),并且在該數(shù)據(jù)庫之間復(fù)制不一致的數(shù)據(jù)的裝置。
9. 一種用于復(fù)制數(shù)據(jù)庫的系統(tǒng),包括至少兩個數(shù)據(jù)庫,該數(shù)據(jù)庫具有一個或多個表, 且每個表具有數(shù)據(jù)和唯一樹索引,該唯一樹索引包含索引關(guān)鍵字和在每個樹索引層上從數(shù) 據(jù)計算的分層次的循環(huán)冗余校驗值和;用于通過比較數(shù)據(jù)庫表的循環(huán)冗余校驗值和來維持 數(shù)據(jù)庫中相應(yīng)表之間的數(shù)據(jù)的邏輯一致性的裝置;用于發(fā)現(xiàn)循環(huán)冗余校驗值和之間的差異 的裝置,用于將樹索引邏輯分割為兩個子樹索引的裝置,用于相互比較子樹索引的循環(huán)冗 余校驗值和的裝置,和用于使該比較和分割一直持續(xù)到導(dǎo)致差異的數(shù)據(jù)被發(fā)現(xiàn)的裝置,以及用于在數(shù)據(jù)庫之間復(fù)制不一致的數(shù)據(jù)的裝置。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其中該數(shù)據(jù)庫存儲在不同的計算機中。
全文摘要
一種用于復(fù)制數(shù)據(jù)庫的方法,在該方法中,至少兩個數(shù)據(jù)庫被復(fù)制,每個數(shù)據(jù)庫包含一個或多個表,且每個表具有數(shù)據(jù)和唯一樹索引,該唯一樹索引包含索引關(guān)鍵字和在每個樹索引層上從數(shù)據(jù)計算的分層次的循環(huán)冗余校驗值和。在該方法中,數(shù)據(jù)庫中相應(yīng)表之間的數(shù)據(jù)的邏輯一致性通過比較數(shù)據(jù)庫表的循環(huán)冗余校驗值和來維持;且如果發(fā)現(xiàn)循環(huán)冗余校驗值和之間的差異,則該樹索引被邏輯地分割為兩個子樹索引,且該子樹索引的循環(huán)冗余校驗值和被相互比較,且該比較和分割一直持續(xù)到發(fā)現(xiàn)導(dǎo)致差異的數(shù)據(jù),且在數(shù)據(jù)庫之間復(fù)制不一致的數(shù)據(jù)。
文檔編號G06F11/14GK101727480SQ20091020603
公開日2010年6月9日 申請日期2009年10月9日 優(yōu)先權(quán)日2008年10月10日
發(fā)明者M·盧托雅爾維, R·伊蒂南, T·維塔里 申請人:Abb技術(shù)有限公司