亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

使用數(shù)據(jù)庫的方法和裝置的制作方法

文檔序號:6549433閱讀:194來源:國知局
專利名稱:使用數(shù)據(jù)庫的方法和裝置的制作方法
技術(shù)領(lǐng)域
本申請涉及數(shù)據(jù)庫的使用性能,特別涉及改變其內(nèi)容時(shí)數(shù)據(jù)庫的性能。本申請有關(guān)系數(shù)據(jù)庫,更具體地說,是目錄服務(wù)數(shù)據(jù)庫的一個(gè),但不一定是唯一的一個(gè)應(yīng)用程序。本發(fā)明的另一種形式涉及提供目錄服務(wù)使用的數(shù)據(jù)庫的性能。但是,本發(fā)明不應(yīng)只限于這種應(yīng)用。
背景技術(shù)
本發(fā)明所要解決的部分問題,源自數(shù)據(jù)庫中一種稱為“數(shù)據(jù)庫隔離級別”的情況。隔離級別允許用戶在一致性和并發(fā)性之間指定一種適當(dāng)?shù)恼壑羞x擇。在數(shù)據(jù)的一致性和準(zhǔn)確性并非必要的情況下,本功能可能提高并發(fā)性。
許多數(shù)據(jù)庫支持ANSI/ISO SQL 92標(biāo)準(zhǔn)所定義的隔離級別。這些級別是未提交讀(RU)、提交讀(RC)、可重復(fù)讀(RR)和可串行讀。
最高的隔離級別被稱為“可串行讀”,因?yàn)椴l(fā)執(zhí)行可串行事務(wù)等價(jià)于串行執(zhí)行事務(wù)??纱凶x級別對應(yīng)用程序的編程人員提供了最高程度的保護(hù),即高度隔離。但是,這種高度隔離經(jīng)常導(dǎo)致并發(fā)程度低。在較低隔離程度時(shí),更多的事務(wù)可以并發(fā)運(yùn)行,但會在數(shù)據(jù)中引入一些不一致性。ANSI/ISO SQL92標(biāo)識了會在執(zhí)行并發(fā)事務(wù)時(shí)出現(xiàn)的三種不一致性
1.“臟讀”事務(wù)T1修改了一行。事務(wù)T2然后在事務(wù)T1執(zhí)行一次COMMIT之前讀取該行。如果T1然后執(zhí)行ROLLBACK,T2將讀一個(gè)從未提交并因而被認(rèn)為從不存在的行。
2.“不可重復(fù)讀”事務(wù)T1讀取一行。事務(wù)T2然后修改或刪除該行并執(zhí)行一次COMMIT。如果T1接著試圖重讀該行,則可以接收所修改的值或發(fā)現(xiàn)該行已被刪除。
3.“幻象讀”事務(wù)T1讀取了滿足某<搜索條件>的N行的集合。事務(wù)T2然后執(zhí)行SQL語句(或指令),該語句(或指令)生成能滿足事務(wù)T1所用<搜索條件>的一行或多行。如果事務(wù)T1用同樣的<搜索條件>重復(fù)初始讀,則獲得不同的行集合。
如下表1顯示了ANSI/ISO SQL92標(biāo)準(zhǔn)如何定義對于給定隔離級別,哪些不一致性是可能的(是),哪些不一致性是不可能的(否)。
表1
于是,可以看出“可串行讀級別提供了最高的隔離級別且不一致的可能性最低,這通常導(dǎo)致最低的性能水平。相反,“未提交讀”則提供了最低的隔離級別且不一致的可能性最高,這通常導(dǎo)致最高的性能水平。
以下說明了隔離級別之所以是一個(gè)問題的原因。使用數(shù)據(jù)庫時(shí),一個(gè)用戶可能正等待更新一行,而另一個(gè)用戶可能正要讀取同樣一行。根據(jù)所選擇的隔離級別,數(shù)據(jù)庫可能在正在更新行時(shí)鎖定該行,從而使得該行無法被讀取。如果只對一個(gè)用戶,這可能不算一個(gè)嚴(yán)重的問題,但如果有許多用戶,甚至可能上千個(gè)用戶正要讀取一個(gè)數(shù)據(jù)庫,這樣一個(gè)“鎖”就會極大地浪費(fèi)用戶的時(shí)間。如果更新花費(fèi)很長時(shí)間,這只會使延遲其他用戶的讀操作的問題更加嚴(yán)重。
解決該問題的一種方法是通過選擇一個(gè)較低的隔離級別允許讀取和更新并發(fā)繼續(xù)。但這會帶來其他問題。如果在更新過程中未鎖定讀取,讀功能可能是在所謂“臟頁”上進(jìn)行的一次“臟讀”,即所讀取的內(nèi)容可能在中途發(fā)生過更改。為了說明此問題,設(shè)想一個(gè)工資表數(shù)據(jù)庫,第一個(gè)應(yīng)用遍及整個(gè)數(shù)據(jù)庫,將每個(gè)工資表?xiàng)l目提高10%,而并發(fā)執(zhí)行的第二個(gè)應(yīng)用正讀取該數(shù)據(jù)庫。如果在第一個(gè)應(yīng)用更新了一半的數(shù)據(jù)庫條目十,第二個(gè)應(yīng)用讀取了全部數(shù)據(jù)庫條目,并執(zhí)行了校驗(yàn)和操作以檢查讀的有效性,就會發(fā)現(xiàn)檢查結(jié)果即非之前值,也非之后值。實(shí)際上,在發(fā)生讀取操作時(shí),一半的數(shù)據(jù)庫條目已被提高了10%,而另一半的數(shù)據(jù)庫條目尚未提高10%。因此,在上述特定的實(shí)例中,可以認(rèn)為在較高的隔離級別運(yùn)行更為恰當(dāng),但是,如果在較高隔離級別執(zhí)行讀操作,讀取的性能或速度將再度降低。
在目錄服務(wù)環(huán)境中,數(shù)據(jù)庫/應(yīng)用程序通常需要較高的性能,數(shù)據(jù)庫/應(yīng)用程序?qū)Α皩ο蟆焙驮獢?shù)據(jù)設(shè)計(jì)進(jìn)行處理??梢詫⒛夸浵到y(tǒng)設(shè)置在一個(gè)相對低的隔離級別以改進(jìn)性能。但是,在較低的隔離級別,如上所述,會存在“臟讀”的問題。某些目錄系統(tǒng)的設(shè)計(jì)使用了一種表結(jié)構(gòu),該表結(jié)構(gòu)如圖1所示,包括“入”表和“出”表。
使用“入”表和“出”表的意圖在于,搜索可以在“入”表,例如搜索表上進(jìn)行,搜索結(jié)果可以基于“出”表,例如條目表。在圖1中,假定調(diào)用了對RICK的搜索。搜索將發(fā)現(xiàn)RICK的條目號是123,然后從條目表的條目123讀取結(jié)果,以及與該條目相關(guān)的存儲的信息。
在搜索表、條目表和其他所選表中增加行可以在這些表中增加信息。信息也可以存儲在原始表和/或規(guī)范化表中。但是,如果在添加行的過程完成之前執(zhí)行了讀操作,則并非要添加到條目表的所有信息都能返回,因?yàn)椴⒉皇撬行畔⒍家烟砑油戤?。這就是所謂的“部分條目添加效果”,其本身表明部分(非全部)所添加的信息會出現(xiàn)在讀取結(jié)果中。如果是這樣,所讀取的信息只有部分是正確的。相反,還有稱之為“部分條目刪除效果”,在從表刪除行的刪除操作中,在刪除操作完成之前執(zhí)行一次搜索。從該搜索的返回的信息可能不包括已經(jīng)刪除的信息(或即將在搜索后刪除的信息)。類似地,還有一種稱為“部分條目修改效果”,這其實(shí)是上面概括的添加和刪除操作的組合,其中,數(shù)據(jù)庫中特定條目的特性被添加或刪除。
上文所述的問題也可以稱為“更新”問題,或部分條目問題。在現(xiàn)有技術(shù)中,還有另一個(gè)問題,可以稱為部分條目復(fù)制問題。部分條目復(fù)制這一問題源自使用數(shù)據(jù)庫復(fù)制技術(shù)對兩個(gè)獨(dú)立系統(tǒng)進(jìn)行復(fù)制的情況。在這一復(fù)制環(huán)境中,需要將“主”數(shù)據(jù)庫系統(tǒng)上發(fā)生的任何操作在一個(gè)或多個(gè)“從”數(shù)據(jù)庫上進(jìn)行復(fù)制。因此,當(dāng)在主數(shù)據(jù)庫系統(tǒng)上添加、刪除或修改了一個(gè)條目時(shí),還需要在從數(shù)據(jù)庫系統(tǒng)上復(fù)制任何添加、刪除或修改操作。
之所以把這種局部條目復(fù)制當(dāng)成一個(gè)問題,是因?yàn)樵凇爸鳌睌?shù)據(jù)庫系統(tǒng)上的更新可能快,而在從數(shù)據(jù)庫系統(tǒng)上復(fù)制時(shí),通常則相當(dāng)慢。因此,根據(jù)網(wǎng)絡(luò)交通和系統(tǒng)配置,這種復(fù)制可能花上幾秒鐘而不是幾毫秒。局部條目復(fù)制的這種延遲問題,在用戶來說,感覺是很明顯的。而且,對于相對較大的數(shù)據(jù)庫,如果并行執(zhí)行多次更新,這一問題會更加嚴(yán)重。

發(fā)明內(nèi)容
本申請?zhí)峁┝艘环N方法,用來改進(jìn)數(shù)據(jù)庫(或數(shù)據(jù)庫系統(tǒng))的使用性能。在一個(gè)實(shí)施例中,該方法包括確定是否有一條指令或操作在數(shù)據(jù)庫中添加信息或從數(shù)據(jù)庫刪除信息。對于添加操作,在實(shí)際更新數(shù)據(jù)庫之前,首先將信息添加到用于檢索對象(或條目)的“出”表。優(yōu)選情況下,對于添加操作,在將信息添加到“出”表后,將信息添加到“入”表。優(yōu)選情況下,對于刪除操作,在將信息從“入”表刪除后,再從“出”表刪除。
根據(jù)本發(fā)明,執(zhí)行添加條目操作時(shí),信息首先添加到條目表,也就是“出”表,這樣信息一開始就不可見。然后將信息添加到搜索表,即“入”表,這樣,該信息就是可見并且可搜索的,使得所有相應(yīng)的信息都能檢索到。因此,根據(jù)本發(fā)明的此實(shí)施例,在使要添加到數(shù)據(jù)庫的信息變得可見之前,首先在一個(gè)不可見表中預(yù)先建立這些信息。結(jié)果,如果在完成“入”表和“出”表之前搜索信息,“入”表將是不活動的,搜索返回一個(gè)局部更新的結(jié)果。換句話講,隨著將行添加到“入”表,條目逐漸變得可見,搜索(“入”表特性)時(shí),如果找到一個(gè)局部可見條目,則讀取一個(gè)完整的條目。
對于一個(gè)刪除條目的操作,則相反。對于刪除條目操作,信息首先從“入”表刪除,然后從“出”表刪除。因此,首先刪除的是可見性,然后刪除的則是內(nèi)容。
在一個(gè)X.500目錄系統(tǒng)中,服務(wù)(或操作)的目錄項(xiàng)被稱為添加條目(用于添加信息)、刪除條目(用于刪除信息)和修改條目(用于修改信息)。
在復(fù)制操作的實(shí)例中,本申請如上所述,以添加、刪除或修改條目的同樣順序轉(zhuǎn)發(fā)復(fù)制信息。因此,如果主數(shù)據(jù)庫系統(tǒng)的“入”表先被更新,則此更新可以進(jìn)入復(fù)制隊(duì)列,以便按照與主數(shù)據(jù)庫系統(tǒng)相同的順序復(fù)制從數(shù)據(jù)庫系統(tǒng)。
修改條目操作是添加和刪除操作的組合。修改條目操作是更新操作的集合,通常是一組修改序列,如添加一個(gè)特性或值,或刪除一個(gè)特性或值。因此,在添加特性或值時(shí),使用“出”表/“入”表技術(shù),而在刪除特性或值時(shí),使用“入”表/“出”表技術(shù)。在一次修改條目操作中,可以有零次或多次添加特性、添加值、刪除特性和/或刪除值的操作。


下面將結(jié)合

本發(fā)明的一個(gè)優(yōu)選實(shí)施例,附圖包括
圖1說明了“入”/“出”表的結(jié)構(gòu);
圖2說明根據(jù)本申請的一個(gè)實(shí)施例,在一個(gè)示意表格中進(jìn)行的添加、刪除或修改操作;
圖3說明根據(jù)本申請的一個(gè)實(shí)施例,一個(gè)示意表格中的復(fù)制序列。
優(yōu)選實(shí)施例的詳細(xì)說明
為了幫助說明本申請的一個(gè)實(shí)施例,在此全文引用了PCT/AU95/00560(1997年5月22日提出的美國序列號08/793,575)作為參考。上述公開文本對X.500目錄系統(tǒng)的“添加條目”、“刪除條目”和“修改條目”操作進(jìn)行了詳細(xì)說明。但是,應(yīng)該注意,本申請不限于PCT/AU95/00560(1997年5月22日提出的美國序列號08/793,575)中公開的目錄系統(tǒng),并且可以與任何帶有“入”/“出”表設(shè)計(jì)的數(shù)據(jù)庫系統(tǒng)一起使用。
為了舉例說明本實(shí)施例,將使用上述X.500目錄系統(tǒng)操作。但是,還應(yīng)理解的是,本申請的主題可以與其他指令(或操作)和數(shù)據(jù)庫系統(tǒng)一起使用。
添加條目操作
添加條目操作用來向目錄信息樹(DIT)添加一個(gè)葉條目(如對象條目或別名條目)。下面的表2說明了X.500定義的一個(gè)例子。
表2添加條目操作的一般步驟如下
●使用DIT表,沿樹走到要添加的條目的父條目(父EID)。
●使用DIT表,檢查該條目是否存在(如,檢查RDN=新RDN,且PARENT=父EID)。
●如果該條目不存在,分配一個(gè)新的條目標(biāo)識符(EID)并添加該條目。將信息插入到DIT表,姓名表,樹表,搜索表,條目表,如果條目是一個(gè)別名條目,則插入到別名表。
下面將說明根據(jù)本發(fā)明處理添加條目操作的示例。
示例本示例的目的是在區(qū)別名(DN)為“Datacraft/Marketing”的對象下面,添加一個(gè)具有下列特性和值的對象。
姓[Delahunty]
名[Mary]
職務(wù)[市場經(jīng)理]
電話號碼[(03)727-9523]
要實(shí)現(xiàn)此目的,首先使用TreeWalk獲得基本對象DN的EID。該基本對象的EID是“12”。
使用DIT表,查找一個(gè)重復(fù)的條目,即,PARENT=12,且RDN=“Mary Delahunty”。在本示例中,沒有重復(fù)。
在表中添加下列所示的行。
DIT
姓名

搜索
條目
根據(jù)本發(fā)明,并參考圖2,首先檢查指令(步驟21)是添加信息還是刪除信息(步驟22)。這里,是添加信息,因此,信息將首先添加到“出”表(步驟23),并在此之后添加到“入”表(步驟24)??梢钥闯?,對于一個(gè)“添加條目”的操作,首先添加的是“出”表,然后才是“入”表。因此,結(jié)合上例,信息將首先添加到條目表和姓名表(這兩個(gè)表是“出”表),然后才添加到搜索表、DIT表和樹表(這幾個(gè)表是“入”表)。
刪除條目操作
刪除條目操作用來從目錄信息樹(DIT)刪除一個(gè)葉條目(如對象條目或別名條目)。下面的表3說明了X.500定義的一個(gè)例子。
表3刪除條目操作的一般步驟如下
●使用DIT表,沿樹走以獲得基本對象的EID。
●如果該條目存在,且是一個(gè)葉條目,則對于EID=所選對象的EID的條件,從DIT表姓名表,樹表,搜索表,條目表刪除信息,如果條目是一個(gè)別名條目,則從該別名表刪除信息。
●如果該條目不存在,分配一個(gè)新的條目標(biāo)識符(EID)并添加該條目。將信息插入到DIT表,姓名表,樹表,搜索表,條目表,如果條目是一個(gè)別名條目,則插入到別名表。下面將說明根據(jù)本發(fā)明處理刪除條目操作的示例。
示例
本示例的目的是刪除一個(gè)區(qū)別名(DN)為“Datacraft/Marketing/Mary Delahunty”的對象。
要實(shí)現(xiàn)此目的,首先使用TreeWalk獲得基本對象DN的EID。該基本對象的EID是“21”。檢查是否沒有PARENT=21的條目。刪除添加到DIT表,姓名表,樹表,搜索表和條目表(參考上述添加條目示例)中EID=21的所有行。
根據(jù)本申請,再次參考圖2,首先檢查指令(步驟21)是添加信息還是刪除信息(步驟22)。這里,是刪除信息,因此,將首先從“入”表刪除信息(步驟25),并在此之后從“出”表刪除信息(步驟26)。可以看出,對于一個(gè)“刪除條目”的操作,首先刪除的是“入”表中的信息,然后再刪除“出”表的信息。因此,結(jié)合上例,信息將首先從搜索表、DIT表和樹表(這幾個(gè)表是“入”表)刪除,然后再從條目表和姓名表(這兩個(gè)表是“出”表)刪除。
修改條目操作
修改條目操作用來對數(shù)據(jù)庫中的單個(gè)條目進(jìn)行一個(gè)或多個(gè)下列修改。下面的表4說明了X.500定義的一個(gè)例子。
表4修改條目操作的一般步驟如下
●使用DIT表,沿樹走以獲得所選對象的EID。
●對于所選對象,根據(jù)本申請的上述方法,執(zhí)行一個(gè)或多個(gè)下列動作添加值、刪除值、添加特性、刪除特性。
完成每個(gè)動作所需的操作如下
添加值
如果特性存在,先將值添加到條目表,即“入”表,然后添加到搜索表,即“出”表。進(jìn)行檢查以確定對于現(xiàn)有值,該特性是單值還是多值。如果是多值特性,則進(jìn)行重復(fù)值的檢查。如果發(fā)現(xiàn)了重復(fù)值,則不添加該特性值。
刪除值
如果值存在,則先從搜索表(即“出”表)刪除值,再從條目表(即“入”表)刪除。優(yōu)選情況下,不刪除區(qū)別名值。
添加特性
如果特性不存在,先將特性值添加到條目表(即“入”表),然后再添加到搜索表(即“出”表)。
刪除特性
對于條目表和搜索表,如果特性存在,則先從搜索表刪除,再從條目表刪除。優(yōu)選情況下,刪除AID=attr且EID=基本對象的值,但不刪除Naming特性。
示例
下面將說明修改操作的示例
本示例的目的是對條目“Datacraft/sales/NetworkProducts/Chris Masters”進(jìn)行下列修改
●刪除特性和值電話號碼018-042671
●修改特性和值職務(wù)銷售助理
下面的搜索表和條目表反應(yīng)了這些修改。
搜索
條目
根據(jù)本申請方法的一個(gè)實(shí)施例,修改條目操作將執(zhí)行如下
添加一個(gè)新特性
先將特性添加到一個(gè)“出”表,如條目表,然后添加到“入”表,如搜索表。這可按照上面結(jié)合圖2的有關(guān)“添加條目”的順序來完成。接著,圖2所表示的處理確定該指令是否是“修改”指令的一部分(步驟27),如果是,則進(jìn)一步確定該指令是否完成(步驟28),此處尚未完成,于是返回到22以執(zhí)行序列接下來的部分。
刪除一個(gè)特性
先從“入”表,如搜索表刪除,再從“出”表,如條目表和姓名表刪除。一旦完成了添加或刪除操作,便確定一條指令是否是修改指令的一部分(步驟27),如果“是”,該過程返回到步驟22以執(zhí)行接下來的添加或刪除條目操作。
添加特性值
先將特性值添加到一個(gè)“出”表,如條目表,然后添加到“入”表,如搜索表。一旦添加了特性值,便確定一條指令是否是修改指令的一部分(步驟27),如果“是”,該過程返回到步驟22以執(zhí)行接下來的添加或刪除條目操作。
刪除特性值
先從“入”表,如搜索表刪除,再從“出”表,如條目表和姓名表刪除特性值。再次確定一條指令是否是修改指令的一部分(步驟27)。這時(shí),確定結(jié)果是“否”,則過程結(jié)束(圖3中的步驟31和33)。
有些目錄協(xié)議定義了一個(gè)特性“替換”操作。通過刪除和添加操作序列可以執(zhí)行該操作。還應(yīng)注意本申請有一般的用途,文中所述的實(shí)施例只是說明性的,并不是實(shí)施本發(fā)明的唯一形式。
數(shù)據(jù)庫系統(tǒng)復(fù)制
在從主數(shù)據(jù)庫系統(tǒng)向一個(gè)或多個(gè)從數(shù)據(jù)庫系統(tǒng)復(fù)制時(shí),本申請調(diào)用了一系列操作,如,添加條目,刪除條目和/或修改條目,這些操作在從數(shù)據(jù)庫系統(tǒng)中執(zhí)行的順序與更新主數(shù)據(jù)庫系統(tǒng)時(shí)執(zhí)行的順序相同。因此,參照圖3,是否需要復(fù)制操作在步驟31判斷,如果需要,則根據(jù)主數(shù)據(jù)庫記錄或主數(shù)據(jù)庫序列的記錄(如果未在主數(shù)據(jù)庫上存儲)執(zhí)行復(fù)制(步驟32)。因此,獲得或存取了主數(shù)據(jù)庫操作序列的記錄,并執(zhí)行了復(fù)制。在復(fù)制過程中,此信息被傳送到從數(shù)據(jù)庫系統(tǒng),并在從數(shù)據(jù)庫系統(tǒng)中執(zhí)行。該過程在復(fù)制序列結(jié)束時(shí)結(jié)束(步驟33)。
雖然在本說明書中給出了許多實(shí)例,應(yīng)該注意,本申請的系統(tǒng)和方法不應(yīng)只限于那些用做舉例的操作。本申請適用于基于上述出/入或入/出技術(shù)的各種操作或指令。
盡管是針對PCT/AU95/00560(1997年5月22日提出的美國序列號08/793,575)中公開的表結(jié)構(gòu)進(jìn)行說明,本申請同樣適用于任何將“入”(可搜索特性)與“出”(可以檢索的信息)分離的表結(jié)構(gòu)。本申請涉及用于執(zhí)行指令或操作的方法/裝置,或在其上執(zhí)行操作或指令的結(jié)構(gòu)。
權(quán)利要求
1.一改進(jìn)數(shù)據(jù)庫系統(tǒng)使用性能的方法,該方法包括
確定一個(gè)指令或操作是向數(shù)據(jù)庫系統(tǒng)添加信息,還是從數(shù)據(jù)庫系統(tǒng)刪除信息,其中,對于添加操作,先將信息添加到“出”表,對于刪除操作,先從“入”表刪除信息。
2.根據(jù)權(quán)利要求1的方法,其特征在于,信息先添加到“出”表,再添加到“入”表。
3.根據(jù)權(quán)利要求1的方法,其特征在于,先從“入”表刪除信息,再從“出”表刪除信息。
4.根據(jù)權(quán)利要求1的方法,其特征在于,進(jìn)一步確定指令是否修改信息,如果是,則即執(zhí)行添加操作,也執(zhí)行刪除操作。
5.根據(jù)權(quán)利要求1的方法,其特征在于,通過目錄系統(tǒng),如X.500或LDAP執(zhí)行指令。
6.一種從主數(shù)據(jù)庫向從數(shù)據(jù)庫復(fù)制數(shù)據(jù)的方法,每個(gè)數(shù)據(jù)庫都有在“入”表和“出”表中組織的信息,該方法包括
通過確定一個(gè)指令或操作是向數(shù)據(jù)庫系統(tǒng)添加信息,還是從數(shù)據(jù)庫系統(tǒng)刪除信息來更新主數(shù)據(jù)庫,其中,對于添加操作,先將信息添加到“出”表,對于刪除操作,先從“入”表刪除信息。
根據(jù)用于主數(shù)據(jù)庫的同樣方法,更新從數(shù)據(jù)庫。
7.根據(jù)權(quán)利要求6的方法,其特征在于,用于主數(shù)據(jù)庫的更新過程在傳送到從數(shù)據(jù)庫之前,先放入一個(gè)復(fù)制隊(duì)列。
8.根據(jù)權(quán)利要求6中的方法,其特征在于,在主數(shù)據(jù)庫中更新的信息在傳送到從數(shù)據(jù)庫之前,先放入一個(gè)復(fù)制隊(duì)列。
9.根據(jù)權(quán)利要求6中的方法,其特征在于,更新從數(shù)據(jù)庫使用的指令或操作與更新主數(shù)據(jù)庫相同。
10.根據(jù)權(quán)利要求6中的方法,其特征在于,指令通過目錄系統(tǒng),如X.500或LDAP來執(zhí)行。
11.一種目錄服務(wù)構(gòu)造,包括
一個(gè)使用多個(gè)表的數(shù)據(jù)庫,每個(gè)表有多行和多列,并存儲任意數(shù)據(jù);以及
通過確定一個(gè)指令或操作是向數(shù)據(jù)庫系統(tǒng)添加信息,還是從數(shù)據(jù)庫系統(tǒng)刪除信息來處理指令或信息的裝置,其中,對于添加操作,先將信息添加到“出”表,對于刪除操作,先從“入”表刪除信息。
12.根據(jù)權(quán)利要求11的構(gòu)造,其特征在于,所述構(gòu)造是諸如X.500或LDAP服務(wù)的目錄服務(wù)。
13.一種目錄服務(wù)構(gòu)造,包括
一個(gè)使用多個(gè)表的主數(shù)據(jù)庫,每個(gè)表有多行和多列,并存儲任意數(shù)據(jù);
一個(gè)使用多個(gè)表的從數(shù)據(jù)庫,每個(gè)表有多行和多列,并存儲任意數(shù)據(jù);
在主數(shù)據(jù)庫和從數(shù)據(jù)庫之間進(jìn)行復(fù)制的裝置,其中通過確定一個(gè)指令或操作是向數(shù)據(jù)庫系統(tǒng)添加信息,還是從數(shù)據(jù)庫系統(tǒng)刪除信息來更新主數(shù)據(jù)庫,其中,對于添加操作,先將信息添加到“出”表,對于刪除操作,先從“入”表刪除信息;以及
從數(shù)據(jù)庫根據(jù)用于主數(shù)據(jù)庫的同樣方法進(jìn)行更新。
14.根據(jù)權(quán)利要求13的構(gòu)造,其特征在于,所述構(gòu)造是諸如X.500或LDAP服務(wù)的目錄服務(wù)。
全文摘要
一種改進(jìn)數(shù)據(jù)庫使用性能的方法和數(shù)據(jù)庫系統(tǒng)。該方法包括確定一個(gè)指令或操作(22)是向數(shù)據(jù)庫添加信息還是從數(shù)據(jù)庫刪除信息。對于添加操作,先將信息添加到一個(gè)“出”表(23),該表用來在實(shí)際更新數(shù)據(jù)庫之前檢索對象或條目。對于刪除操作,先將信息從數(shù)據(jù)庫中刪除到一個(gè)“入”表(25),該表用來查找數(shù)據(jù)庫中的對象。優(yōu)選情況下,對于添加操作,信息先添加到“出”表,再添加到“入”表(24),對于刪除操作,優(yōu)選情況下,先從“入”表刪除,再從“出”表刪除。
文檔編號G06F17/30GK1399747SQ0081617
公開日2003年2月26日 申請日期2000年11月24日 優(yōu)先權(quán)日1999年11月26日
發(fā)明者理查德·H·漢斯 申請人:計(jì)算機(jī)聯(lián)合思想公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1