專利名稱:實時整合數(shù)據(jù)庫中大量更新的方法
技術(shù)領(lǐng)域:
本發(fā)明總體上涉及數(shù)據(jù)庫管理,更具體地說,涉及一種實時地調(diào)整引入到數(shù)據(jù)庫中的大量更新的方法,同時其可操作并用來服務(wù)于大量終端用戶。
背景技術(shù):
自從在70年代引入并開始大量采用數(shù)據(jù)庫以來,數(shù)據(jù)庫已經(jīng)在所有類型的領(lǐng)域中迅速發(fā)展,這些領(lǐng)域包括工程、科學(xué)、商業(yè)和商業(yè)應(yīng)用。它們的規(guī)??梢允侨魏畏秶?,從個人電腦上個人使用、例如用來跟蹤個人財務(wù)狀況的小型數(shù)據(jù)庫到由不同機(jī)構(gòu)、公司和商業(yè)組織建立以支持其活動的大型和非常大型的數(shù)據(jù)庫。在各方面都相互聯(lián)系的世界中,這些大型數(shù)據(jù)庫通常也(如果不總是的話)由大量位于遠(yuǎn)程的終端用戶訪問,以查詢可供數(shù)據(jù)庫使用的任何信息。在航空業(yè)中,這種非常大型的數(shù)據(jù)庫的例子是保存航線票價及限制其使用的規(guī)則的數(shù)據(jù)庫。票價數(shù)據(jù)庫主要由少數(shù)全球分銷系統(tǒng)(GDS)建立,GDS為旅游業(yè)的所有參與者提供旅行服務(wù),旅游業(yè)的參與者包括傳統(tǒng)的旅游代理商和各種類型的其他在線旅游服務(wù)供應(yīng)商。這樣的一個⑶S例如是AMADEUS,一家總部位于西班牙馬德里的歐洲旅游服務(wù)供應(yīng)商。這些大型數(shù)據(jù)庫不得不承受沖突的請求。它們必須在一天M小時/ 一周7天的模式下操作,以承擔(dān)無休的全球商務(wù),同時它們也需要持續(xù)地獲取由數(shù)百家大型航空公司和較小的航空公司發(fā)布的新的票價。如圖1所示,數(shù)據(jù)供應(yīng)商(120),即航空公司或代表航空公司的票價供應(yīng)商,以及數(shù)據(jù)請求方,即數(shù)據(jù)庫(100)的遠(yuǎn)程終端用戶,均試圖同時訪問同一資源以應(yīng)答查詢,同時更新數(shù)據(jù)庫內(nèi)容,這會引起沖突。已經(jīng)實施以解決該問題的方法包括在批處理模式下工作。也就是說,以這樣或那樣的方式,將所有接收到的更新都準(zhǔn)備好并累積,直到數(shù)據(jù)庫以規(guī)則的間隔(如每晚或以安排好的間隔)對于終端用戶禁用,以便讓管理員放入所有累積的更新信息,在此之后數(shù)據(jù)庫被重新啟用并可以繼續(xù)應(yīng)答終端用戶的請求。但是很明顯,這無法實現(xiàn)遵守對/7操作模式的目標(biāo)。已經(jīng)實施的一種替代解決方法是實現(xiàn)觸發(fā)器機(jī)制。維護(hù)兩個同樣的數(shù)據(jù)庫,一個用于應(yīng)答終端用戶的查詢,同時另一個被更新。就像批處理模式那樣,以安排好的間隔交替改變數(shù)據(jù)庫的作用。這種解決方案的明顯優(yōu)勢是對于終端用戶不再有任何停機(jī)時間(或者在交替改變數(shù)據(jù)庫作用時有非常短的停機(jī)時間非常短)。然而,沒有一種解決方案允許實時地傳播到來的更新。有時,終端用戶只有在長時間的延遲后才會看到信息更改。延遲主要取決于為批處理或觸發(fā)器模式而設(shè)定的時間間隔。因此,本發(fā)明的主要目的是披露一種允許連續(xù)地整合從數(shù)據(jù)供應(yīng)商接收到的更新并對其進(jìn)行傳播的機(jī)制,使得它們一致性且快速地可供使用,以應(yīng)答來自數(shù)據(jù)庫終端用戶的查詢。在閱讀了下面參照附圖的說明之后,本領(lǐng)域技術(shù)人員將會清楚本發(fā)明的其他目的、特征和優(yōu)點。其意圖在這里包括任何附加的優(yōu)點。
發(fā)明內(nèi)容
本發(fā)明通過提供一種整合數(shù)據(jù)庫中大量更新的方法來實現(xiàn)本發(fā)明的上述目的。每個單個的更新由數(shù)據(jù)供應(yīng)商所提供的一個一致性數(shù)據(jù)記錄組組成。數(shù)據(jù)庫系統(tǒng)包括主文件存儲庫和活動圖像存儲庫。該方法包括首先將數(shù)據(jù)供應(yīng)商所提供的更新整合到主文件存儲庫的一個主文件(MF)中的步驟。整合步驟包括以下步驟-在主文件處接收更新,-在主文件中為每個單獨(dú)的更新定義一個一致性數(shù)據(jù)記錄組。為此,該處理的應(yīng)用部分控制數(shù)據(jù)是否是一致性的,并給出整合一致性數(shù)據(jù)記錄組的命令,在定義一致性數(shù)據(jù)記錄組期間,通過數(shù)據(jù)庫系統(tǒng)的邏輯表,為每個單個的更新生成一個唯一的更改標(biāo)示,以唯一地識別出一致性數(shù)據(jù)記錄組。因此,該更改標(biāo)識識別出每個一致性數(shù)據(jù)記錄組。更改標(biāo)識根據(jù)更新到達(dá)主文件的順序來分配,-在主文件處接收更改標(biāo)識,-在主文件處把更改標(biāo)識分配給一致性數(shù)據(jù)記錄組,-通過用每個單獨(dú)的更新的一致性數(shù)據(jù)記錄組以及分配給該一致性數(shù)據(jù)記錄組的更改標(biāo)識來更新主文件,交付每個單獨(dú)的更新。該方法還包括為由主文件所交付的每個單獨(dú)的更新從邏輯表獲取一個唯一的交付標(biāo)識的步驟。交付標(biāo)識是反映對每個單獨(dú)的更新完成交付步驟的順序的編號。更確切地說,一旦主文件的更新完成,就調(diào)用給出交付標(biāo)識的交付服務(wù)。該方法還包括將單獨(dú)的更新加載到數(shù)據(jù)庫系統(tǒng)的活動圖像(Al)中的步驟。更具體地說,加載步驟包括以下步驟-從主文件檢索每個唯一標(biāo)識的單獨(dú)更新的一致性數(shù)據(jù)記錄組,-通過以交付標(biāo)識所指定的順序,將每個單獨(dú)的更新傳播到活動圖像中,對活動圖像和主文件進(jìn)行同步,-完成每個單獨(dú)的更新到活動圖像中的傳播。這樣,本發(fā)明允許數(shù)據(jù)庫系統(tǒng)的終端用戶從活動圖像立即開始查詢所傳播的更新。由于本發(fā)明允許將更新連續(xù)地整合到主文件存儲庫中,并無延遲地傳播到活動圖像中,它們可實時地供數(shù)據(jù)庫的終端用戶使用。因此,只要更新由活動圖像存儲庫交付,終端用戶就可以開始查詢這些更新,同時數(shù)據(jù)供應(yīng)商可以用將依次很快傳播的其他更新來保持對主文件的更新。本發(fā)明可選地可以包括以下特征中的至少一個-一致性數(shù)據(jù)記錄組例如可包括運(yùn)輸服務(wù)的起點和終點、票價、服務(wù)供應(yīng)商的參考資料、票價等級和每種票價所應(yīng)用的旅行時間。-每個更新以至少一個屬性集合的形式被存儲在主文件的表中,該屬性集合被稱為MF鍵,MF鍵確定了主文件的記錄粒度,并與更新的信息數(shù)據(jù)相關(guān)聯(lián)。-MF鍵例如可包括運(yùn)輸服務(wù)的起點和終點、服務(wù)供應(yīng)商的參考資料和票價等級。MF 鍵與包含票價和每種票價所應(yīng)用的旅行時間的信息數(shù)據(jù)相關(guān)聯(lián)。-更新以一個或多個屬性集合的形式被加載并存儲到活動圖像(Al)的表中,該屬性集合被稱為AI鍵。AI鍵確定了活動圖像的記錄粒度,并與更新的信息數(shù)據(jù)相關(guān)聯(lián)。-一個AI鍵包括一個或多個MF鍵。-AI鍵例如可包括運(yùn)輸服務(wù)的起點和終點、服務(wù)供應(yīng)商的參考資料。AI鍵與包含票價、票價等級和每票價所應(yīng)用的旅行時間的信息數(shù)據(jù)相關(guān)聯(lián)。-主文件包含所有更新的歷史。-更新從主文件到活動圖像的傳播當(dāng)由邏輯表分配交付標(biāo)識時被觸發(fā)。-交付標(biāo)識以和已經(jīng)由主文件存儲庫所交付的單獨(dú)更新恰好相同的順序由邏輯表所分配。-作為替代,交付標(biāo)識在優(yōu)先級的基礎(chǔ)上由邏輯表所分配。優(yōu)先級例如被賦予給快速執(zhí)行的單獨(dú)更新。本發(fā)明還描述了用于整合大量更新的數(shù)據(jù)庫系統(tǒng),包括主文件存儲庫和活動圖像存儲庫,所述主文件存儲庫包含主文件(MF),所述活動圖像存儲庫包含活動圖像(Al),其特征在于,所述主文件存儲庫被設(shè)置為使得主文件接收更新,并為每個更新定義一個一致性數(shù)據(jù)記錄組,并且其特征在于,主文件存儲庫包括邏輯表,該邏輯表被設(shè)置為為每個更新并且在定義一致性數(shù)據(jù)記錄組期間生成一個唯一的更改標(biāo)識,以唯一地識別出一致性數(shù)據(jù)記錄組,該數(shù)據(jù)庫系統(tǒng)還被設(shè)置為執(zhí)行以下步驟-在主文件處接收更改標(biāo)識,并把該更改標(biāo)識分配給一致性數(shù)據(jù)記錄組,-通過用每個更新的一致性數(shù)據(jù)記錄組和分配給該一致性數(shù)據(jù)記錄組的更改標(biāo)識來更新主文件,從而交付每個更新,-還對于已經(jīng)由主文件所交付的每個更新從邏輯表獲取一個唯一的交付標(biāo)識,該交付標(biāo)識是反映對于每個更新完成交付步驟的順序的編號,-將更新加載到活動圖像存儲庫的活動圖像(Al)中,其包括從主文件檢索每個更新的一致性數(shù)據(jù)記錄組;通過以交付標(biāo)識所指定的順序?qū)⒚總€更新連續(xù)地傳播到活動圖像中,對活動圖像和主文件進(jìn)行同步;當(dāng)每個相應(yīng)的數(shù)據(jù)記錄組的加載由活動圖像交付時,完成每個更新到活動圖像中的傳播。本發(fā)明還描述了一種包括第一和第二存儲庫的數(shù)據(jù)庫系統(tǒng),其中第一存儲庫被設(shè)置為從數(shù)據(jù)供應(yīng)商接收更新,并且其中第二存儲庫被設(shè)置為應(yīng)答由該數(shù)據(jù)庫系統(tǒng)的終端用戶發(fā)出的查詢,該系統(tǒng)包括邏輯表,該邏輯表還包括-用于生成更改標(biāo)識的裝置,其中該更改標(biāo)識被用于唯一地識別出第一存儲庫中的每個單獨(dú)的更新;-用于生成交付標(biāo)識的裝置,其中該交付標(biāo)識被用于控制更新向第二存儲庫中的加載。此外,由MF鍵組織數(shù)據(jù)庫系統(tǒng)的第一存儲庫,并由AI鍵組織第二存儲庫。本發(fā)明還包括存儲在計算機(jī)可讀存儲介質(zhì)上的計算機(jī)程序產(chǎn)品,包括用于使至少一臺計算機(jī)操作上述整合數(shù)據(jù)庫系統(tǒng)中的大量更新的方法的計算機(jī)可讀代碼裝置。
圖1示出了現(xiàn)有技術(shù)的單一存儲庫數(shù)據(jù)庫,其當(dāng)試圖同時服務(wù)于眾多終端用戶時,必須承受對大量數(shù)據(jù)的連續(xù)獲取。
圖2示出了根據(jù)本發(fā)明的數(shù)據(jù)庫系統(tǒng)在其計算機(jī)化環(huán)境中的模型。圖3示出了該數(shù)據(jù)庫系統(tǒng)模型的細(xì)節(jié),包括通過MF鍵組織的主文件(MF)存儲庫, 還包括邏輯表,以及通過AI鍵組織的活動圖像(Al)存儲庫。圖4討論了該數(shù)據(jù)庫系統(tǒng)的整體操作,其使用了更改標(biāo)識和交付標(biāo)識來將數(shù)據(jù)從主文件傳播到活動圖像。圖fe至51是用于表示該數(shù)據(jù)庫系統(tǒng)的操作模式的具體例子。
具體實施例方式下面對本發(fā)明的詳細(xì)描述參考了附圖。盡管該描述包含了示例性的實施例,但其他實施例也是可能的,并且可以對這里描述的實施例加以改動,而不會背離本發(fā)明的主旨和范圍。圖2示出了本發(fā)明的數(shù)據(jù)庫模型000),其包含雙存儲庫。因此,本發(fā)明的數(shù)據(jù)庫系統(tǒng)也被稱為雙存儲庫數(shù)據(jù)庫。一個存儲庫被優(yōu)化以更新數(shù)據(jù)內(nèi)容,而另一存儲庫被設(shè)計為促進(jìn)對數(shù)據(jù)的檢索。主文件或MF(210)是由數(shù)據(jù)供應(yīng)商(220)更新的容器。在被選為描述本發(fā)明的示例性上下文中,即航空業(yè)以及由不同GDS所維護(hù)的大型票價數(shù)據(jù)庫,數(shù)據(jù)供應(yīng)商可以是票價的提供者,如航線票價表發(fā)布公司(ATPCO),它是由多家國內(nèi)或國際航空公司所擁有的組織,其在多日的基礎(chǔ)上收集并發(fā)布全世界許多航線的最新機(jī)票價格。由航空公司提供并由 ATPCO規(guī)定的票價及其應(yīng)用規(guī)則被電子地傳輸,以自動合并到GDS票價數(shù)據(jù)庫中。票價的另一提供者可以是數(shù)據(jù)庫的管理員或操作人員,其被授權(quán)以一般性地通過專門的圖形用戶界面(GUI)和相應(yīng)的輸入應(yīng)用將票價直接歸檔到數(shù)據(jù)庫中。無論數(shù)據(jù)是從哪些源提供的,MF存儲庫(210)被設(shè)計為方便進(jìn)行數(shù)據(jù)更新并對改變進(jìn)行追蹤。為此,它還包含引入到主文件的所有更改的歷史。活動圖像或AI (230)是被設(shè)計為方便響應(yīng)于數(shù)據(jù)庫終端用戶(MO)發(fā)出的到來請求進(jìn)行數(shù)據(jù)檢索的存儲庫。對于航空業(yè)和票價數(shù)據(jù)庫,終端用戶是實現(xiàn)隨GDS支持的常規(guī)旅游代理商持續(xù)增長的在線旅游站點數(shù)目和在線旅游服務(wù)供應(yīng)商數(shù)目的軟件應(yīng)用。本發(fā)明的數(shù)據(jù)庫模型的主要目的是允許受控且非??焖俚貙⒋罅繑?shù)據(jù)(250)從數(shù)據(jù)供應(yīng)商(220)傳播到數(shù)據(jù)請求者,使得數(shù)據(jù)庫終端用戶(MO) —旦在改變和新的提供可用時就可以受益于該改變和新的提供。像其他數(shù)據(jù)庫一樣,本發(fā)明的數(shù)據(jù)庫系統(tǒng)被實現(xiàn)為計算機(jī)化系統(tǒng)的一部分,包括具有足夠內(nèi)部和外部存儲資源O01)的至少一臺計算機(jī),以及用于保存和操作本發(fā)明特別要考慮的該類大型數(shù)據(jù)庫的處理資源。圖3示出了雙存儲庫數(shù)據(jù)庫模型的細(xì)節(jié)。將新的數(shù)據(jù)整合到主文件(305)中必須基于一致性數(shù)據(jù)記錄組來完成。這通過為每個記錄組分配一個更改標(biāo)識來實現(xiàn),該更改標(biāo)識被稱為“ModiflD” (362),用一個唯一的編號來代表。因此,本發(fā)明的系統(tǒng)可支持MF的并行更新,因為每個更新均通過一個ModifID 唯一地識別。ModifID是按照更新到達(dá)主文件存儲庫的順序而被分配的。這兩個存儲庫(MF和Al)的同步借助于一個交付標(biāo)識來控制,該交付標(biāo)識被稱為“CommitID”(364),也通過一個唯一的編號來代表。CommitID的作用是管理更新從MF到AI中的有序加載(350)(在圖2中稱為數(shù)據(jù)傳播)。每個整合過程在交付時刻獲得其 “CommitID”,交付時刻即為一致性數(shù)據(jù)記錄組由圖2中所示的數(shù)據(jù)供應(yīng)商實際并完全地輸入到主文件010)的時刻。因此,本發(fā)明允許實現(xiàn)加載過程的多實例。在將更新加載到AI 中的過程中,每個CommitID被分配以保持將更改實際交付到MF中的連續(xù)順序。這確保了更新在兩個存儲庫中以相同的連續(xù)順序被執(zhí)行。ModifID和CommitID從與MF相關(guān)聯(lián)的邏輯表或LT (360)被保存和管理。更確切地說,邏輯表是包括在主文件存儲庫中的其中一個表。因此,ModifID和CommitID可以從邏輯表被快速檢索,并被發(fā)送到主文件的其他表。由于分配了 ModifID和CommitID,邏輯表持續(xù)地增加。在兩個存儲庫中,用規(guī)定的粒度水平對數(shù)據(jù)記錄進(jìn)行操縱。主文件(MF)包含改變的歷史。其通過“MF鍵”(312)來組織。每個MF鍵是一組屬性,并包括有意義的最小數(shù)據(jù)集。MF鍵確定了主文件的粒度,因此,在MF鍵粒度下管理改變的歷史。MF鍵的類型與產(chǎn)品 (例如ATPCO的記錄類型或者GDS的記錄類型)相聯(lián)系。主文件包括許多表。每個表專用于一種記錄類型。每個表與一個特定的MF鍵標(biāo)識相關(guān)聯(lián)。主文件的表可專用于由特定數(shù)據(jù)供應(yīng)商所提供的特定類型的記錄。隨后,特定的 MF鍵將被分配給這個表。例如,主文件010)的第一個表可專用于由ATPCO提供的第一票價等級(票價等級“F”)的票價,第二個表可專用于同樣由ATPCO提供的另一票價等級(票價等級“C”)的票價,而第三個表可專用于由ATPCO提供的規(guī)則。隨后,分配給該表的MF鍵可包括下述數(shù)據(jù)給定的起點/終點,給定的服務(wù)供應(yīng)商(例如航空公司)和給定的票價等級。與該MF 鍵相關(guān)聯(lián)的表包含與MF鍵的屬性有關(guān)的信息數(shù)據(jù)。在圖如至51中給出了例子。例如,在圖如中,主文件的第一個MF鍵包括給定的起點/終點(“NCE/PAR”),給定的服務(wù)供應(yīng)商 (“AF”)和給定的票價等級(“F”)。與該MF鍵相關(guān)聯(lián)的信息數(shù)據(jù)包括票價(200€)和對應(yīng)于該票價的旅行時間(“10/02/08”)。主文件的第二個MF鍵包括給定的起點/終點 (“NCE/PAR”),給定的服務(wù)供應(yīng)商(“AF”)和給定的票價等級(“C”)。與該MF鍵相關(guān)聯(lián)的信息數(shù)據(jù)包括票價(150 €)和對應(yīng)于該票價的旅行時間(“15/03/08”)。包含由另一數(shù)據(jù)供應(yīng)商提供的票價的記錄將被整合到主文件的其他表中。-為了進(jìn)行數(shù)據(jù)檢索,活動圖像(Al)包括由“Al鍵”(332)所識別的許多表。AI鍵記錄通常包括一個或多個MF鍵記錄。AI鍵也可等于MF鍵。AI鍵是AI圖像的記錄粒度。 它是可由數(shù)據(jù)庫的終端用戶從AI請求并取得035)的有意義的最小數(shù)據(jù)集?;顒訄D像的每個表專用于一種記錄類型。活動圖像的每個表與一個AI鍵標(biāo)識相關(guān)聯(lián)。例如,活動圖像Q30)的表可以專用于由給定的票價供應(yīng)商所提供的票價。隨后, 分配給該表的AI鍵可包括下列數(shù)據(jù)給定的起點/終點和給定的服務(wù)供應(yīng)商(例如航空公司)。與該AI鍵相關(guān)聯(lián)的表包含與AI鍵的數(shù)據(jù)有關(guān)的信息數(shù)據(jù)。例如,在圖證中,主文件的AI鍵包括給定的起點/終點(“NCE/PAR”)和給定的服務(wù)供應(yīng)商(“AF”)。與該AI鍵相關(guān)聯(lián)的信息數(shù)據(jù)包括票價等級(“F”或“C”)、票價000€,150€等)以及每個航班的旅行時間(“10/02/08,5/03/08等”)。包含在MF鍵內(nèi)的、表示AI鍵屬性的所有信息數(shù)據(jù)被匯集到與該AI鍵相關(guān)聯(lián)的活動圖像的表中。圖4通過一個示例示出了標(biāo)識(ModifID和CommitID)的使用和允許連續(xù)獲取更新的鍵(MF鍵和AI鍵)。在這個例子中,由數(shù)據(jù)庫的數(shù)據(jù)供應(yīng)商(420)觸發(fā)三個更新。根據(jù)時間(402)變化,更新是由圖3所示的邏輯表連續(xù)給出的三個ModifID。通過一個唯一的ModifID所識別的每個更新可涉及可變數(shù)目的不同記錄或MF鍵061、463和465)。當(dāng)更新由MF存儲庫交付時,它們被分配一個如圖所示的唯一的CommitID062、 464和466)。根據(jù)所涉及的不同過程的執(zhí)行時間,CommitID可能不必以和ModifID相同的順序被分配。因此,到活動圖像中的加載是以CommitID所規(guī)定的順序完成的,使得在這個例子中,ModifID#3在ModifID#2之前被加載到AI中(468)。在交付時刻所包含的相關(guān)AI 鍵定義了 AI的相關(guān)粒度要素。圖如至51示出了一系列例子,其進(jìn)一步示出了標(biāo)識的使用,以允許并行地更新 MF,并且多示例地處理到AI的加載。在圖fe中示出了通過獲取兩個票價對主文件的更新。兩個新的票價(511)由票價數(shù)據(jù)供應(yīng)商、即本例中的ATPCO所發(fā)送。在所示的例子中,新票價的這種發(fā)送代表了根據(jù)本發(fā)明的更新,在2008年1月1日發(fā)生。隨后,邏輯表提供了第一更改標(biāo)識(513),使得下一個變得可用的是ModifID#2(517)。由同一標(biāo)識,即ModifID#l所識別的兩個新的票價被輸入到主文件中(515)。在這個非限制性的例子中,一致性數(shù)據(jù)記錄組對于自10/02/08的旅行日期是 NCE/PAR/AF/F 200 €,對于自 15/03/08 的旅行日期是 NCE/PAR/AF/C 150 €。該一致性數(shù)據(jù)記錄組包括兩個票價,自其開始每個票價可用的日期和相關(guān)的票價等級(“F”)。對于每個票價,一致性數(shù)據(jù)記錄組包括航班參考資料,如后續(xù)的起點/終點/航空公司名稱/服務(wù)種類。它也包括數(shù)據(jù)供應(yīng)商的參考資料。在這個例子中,MF鍵(519)是NCE/PAR/AF/F。相關(guān)的信息數(shù)據(jù)是旅行日期和票價 (“200€,旅行日期自10/02/08”),所分配的更改標(biāo)識是“ModifID#l”。另一 MF鍵(519) 是NCE/PAR/AF/C。相關(guān)的信息數(shù)據(jù)是旅行日期和票價(“150€,旅行日期自15/03/08”)。 這兩個更新被認(rèn)為是屬于一個一致性數(shù)據(jù)組。因此,相同的更改標(biāo)識(“ModifID#l”)與第一和第二 MF鍵這兩者相關(guān)聯(lián)。圖恥示出了當(dāng)數(shù)據(jù)庫交易被交付時發(fā)生了什么(521)。第一個交付標(biāo)識由邏輯表 (LT)分配(523),其引用對應(yīng)于ModifID#l的上面提到的兩個MF鍵。這樣,下面可用的交付標(biāo)識變?yōu)?CommitID#2(525)。圖5c示出了活動圖像是如何同步的,使得終端用戶可以開始看到新發(fā)送的票價。 由LT,交付標(biāo)識是待定的,其觸發(fā)由和該待定交付標(biāo)識(CommitID#l)相關(guān)聯(lián)的更改標(biāo)識 (ModifIDSl)所識別的票價的檢索(533)。當(dāng)這兩個MF鍵被檢索時,它們被加載到AI中, 使得MF和AI現(xiàn)在被同步(535)。當(dāng)AI被依次交付(537)時,新發(fā)送的票價以單個AI鍵(539)的形式對于數(shù)據(jù)庫的終端用戶變得可用。在這個例子中,AI鍵(539)包括包含在兩個MF鍵中的所有信息數(shù)據(jù)(即對于自10/02/08的旅行日期是NCE/PAR/AF/F 200 €,對于自15/03/08的旅行日期是NCE/PAR/AF/C 150 € )和同步的日期。由圖fe至圖5c描述的操作全部都在短時間間隔內(nèi)的同一日期(501)發(fā)生。圖5d和后面的兩幅附圖描述了稍后在2008年3月15日接收(502)到的另一
9在先前的情況下一樣,新接收到的票價是在將其輸入到MF(545)中之前首先分配643) —個唯一的更改標(biāo)識(ModifID#2)。由于新的票價引用已有的MF 鍵,該MF鍵如圖所示被更新(549),以包括新的票價項。下一個可用的更改標(biāo)識是新的 ModifID#3(547)。在圖k中,當(dāng)數(shù)據(jù)庫交易被交付(551)時,下一個交付標(biāo)識(CommitID#2)由LT分配(553)?,F(xiàn)在更新后的MF鍵包括對應(yīng)于ModifID#l和ModifID#2的更改(559)。這樣, 下一個可用的交付標(biāo)識變?yōu)镃ommitID#3(559)。圖5f類似于圖5c。在這種情況下的最終結(jié)果是AI鍵NCE/PAR/AF (568)現(xiàn)在還包括新加載的票價,當(dāng)前應(yīng)用日期為15/03/08(569)。繼續(xù)說明圖5g的例子,其中后續(xù)有兩個票價供應(yīng)商并行更新MF(則當(dāng)前日期為 30/03/2008)。如前面所述,對于航空公司票價的數(shù)據(jù)庫,票價來源是ATPCO發(fā)送的(572)。 票價也可以直接通過專用的GUI由數(shù)據(jù)庫的授權(quán)操作人員輸入(571)。在這個特別的例子中,通過⑶I的交易首先分配ModifID#3(573)和ATPCO發(fā)送ModifID#4 (575)。這意味著更新首先通過⑶I、隨后由ATPCO發(fā)送。相應(yīng)的更新分別出現(xiàn)在NCE/PAR/AF/F/MF鍵(577) 和 NCE/PAR/AF/C/MF 鍵(578)中。如圖釙所示,ATPCO首先以由LT所分配的CommitID#3(583)被交付(581),與 ModifID#4相關(guān)聯(lián),而通過⑶I的其它交易還沒完成。圖5i示出了通過⑶I執(zhí)行的另一更新。這次,有關(guān)NCE/PAR/AF/C MF鍵(591)和 M0difID#3(59;3),其先前用GUI界面被分配給票價供應(yīng)商。圖5j示出了更新的交付階段(5101),其中CommitID#4通過⑶I被分配給該交易, 與ModifID#3相關(guān)聯(lián)。和在前面的例子中一樣,AI存儲庫隨后被同步到MF。如圖證所示,在LT中待定, 在這個階段有兩個交付標(biāo)識,即=CommitID 3和CommitID 4(5111)。前者被處理為使得從 MF檢索相應(yīng)的更新,即:ModifID#4(5113)和AI最后被同步(5115)。最后,如圖51所示,在LT (5121)中仍未決的CommitID#4接著被處理。相應(yīng)的更改的兩個MF鍵(5123)從MF中被檢索并用于與AI (5125)同步。將會注意到,AI票價列表的最后一項或者信息數(shù)據(jù)(應(yīng)用日期為30/03/08)在這個最后的示例性同步中被推翻。如圖證所示,由先前的同步(511 所設(shè)定的旅行日期(自 18/05/08)現(xiàn)在通過交易GUI被在其之后完成的更新所代替,其中旅行日期已經(jīng)被變?yōu)樾碌闹?,即?0/05/08。在這個例子中,使用GUI界面的供應(yīng)商例如是可以手動提供更新的代理商,該更新涉及和由ATPCO提供的更新相同的數(shù)據(jù)。因此規(guī)則的校正可以被手動處理。 因此,來自⑶I界面和ATPCO的更新均可以被整合到相同的MF鍵中,并被傳播到相同的AI 鍵中。更改通過活動圖像可供用戶使用的順序根據(jù)交付標(biāo)識來確定。沒有交付標(biāo)識,同步就會出錯,即NCE/PAR/AF/C可以自日期18/05/08旅行,而不是20/05/08。前面描述的實時更新票價數(shù)據(jù)庫的技術(shù)允許適應(yīng)巨大數(shù)量的票價更改。像ATPCO 這樣的組織需要把數(shù)百萬的票價及其相關(guān)規(guī)則傳送給⑶S并不少見。利用本發(fā)明的機(jī)制, 在經(jīng)過從幾分鐘到幾個小時的時間內(nèi),對于影響數(shù)百萬票價的最大規(guī)模的票價傳輸,新的票價可以被連續(xù)地提供,快速整合并可供數(shù)據(jù)庫終端用戶使用。在實現(xiàn)這一效果的同時,終端用戶仍能繼續(xù)查詢票價數(shù)據(jù)庫,并可通過直接⑶I的多個實例(典型地為幾百個實例) 執(zhí)行并行的更新,其允許票價數(shù)據(jù)庫的授權(quán)操作人員在數(shù)據(jù)庫工作時也能對其進(jìn)行更新。例如,本發(fā)明允許在大約30分鐘內(nèi)從來自諸如ATPCO的數(shù)據(jù)供應(yīng)商的交易整合 1000000個票價和100000條規(guī)則。這樣的整合無需影響傳輸和⑶I用戶就能實現(xiàn)。盡管上面通過僅涉及與票價相關(guān)的數(shù)據(jù)的例子詳細(xì)描述了本發(fā)明,但本領(lǐng)域技術(shù)人員很清楚,本發(fā)明也可以實時地整合和傳播任意類型的數(shù)據(jù)。
權(quán)利要求
1.一種整合數(shù)據(jù)庫系統(tǒng)O00)中的大量更新的方法,該方法包括將數(shù)據(jù)供應(yīng)商(220)所提供的更新整合到數(shù)據(jù)庫系統(tǒng)O00)的主文件MW210)中,該整合步驟包括以下步驟在主文件(210)處接收更新,在主文件O10)中為每個更新定義一個一致性數(shù)據(jù)記錄組(511), 在定義一致性數(shù)據(jù)記錄組(511)期間,通過數(shù)據(jù)庫系統(tǒng)的邏輯表(360),為每個更新生成一個唯一的更改標(biāo)識,以唯一地識別出該一致性數(shù)據(jù)記錄組(511), 在主文件(210)處接收更改標(biāo)識,在主文件(210)處,把更改標(biāo)識分配給一致性數(shù)據(jù)記錄組(511), 通過用每個更新的一致性數(shù)據(jù)記錄組以及分配給該一致性數(shù)據(jù)記錄組(511)的更改標(biāo)識,來更新(51 主文件010),交付每個更新,還從邏輯表(360)為每個主文件(210)交付的更新獲取一個唯一的交付標(biāo)識(523),交付標(biāo)識(52 是反映對每個更新完成交付步驟的順序的編號,將更新加載到數(shù)據(jù)庫系統(tǒng)的活動圖像AI (230)中,加載步驟包括以下步驟 從主文件(210)檢索(53 每個更新的一致性數(shù)據(jù)記錄組,通過以交付標(biāo)識所指定的順序,將每個更新連續(xù)地傳播到活動圖像O30)中,對活動圖像(230)和主文件(210)進(jìn)行同步(535),當(dāng)每個相應(yīng)的數(shù)據(jù)記錄組的加載由活動圖像(230)交付(537)時,完成每個更新到活動圖像Q30)中的傳播。
2.根據(jù)權(quán)利要求1的方法,其中一致性數(shù)據(jù)記錄組(511)包括運(yùn)輸服務(wù)的起點和終點、 票價、服務(wù)供應(yīng)商的參考資料、票價等級以及每個票價所應(yīng)用的旅行時間。
3.根據(jù)前述權(quán)利要求任一項的方法,其中每個更新以至少一組屬性的形式被存儲在主文件O10)的表中,所述屬性被稱為MF鍵061,463,465),MF鍵確定了主文件QlO)的記錄粒度,并與該更新的信息數(shù)據(jù)相關(guān)聯(lián)。
4.根據(jù)前述權(quán)利要求任一項的方法,其中MF鍵包括運(yùn)輸服務(wù)的起點和終點、服務(wù)供應(yīng)商的參考資料以及票價等級,并且其中MF鍵與包含票價和每個票價應(yīng)用的旅行時間的信息數(shù)據(jù)相關(guān)聯(lián)。
5.根據(jù)前兩項權(quán)利要求中任一項的方法,其中更新以一組或多組屬性的形式被加載和存儲到活動圖像AI (230)的表中,所述屬性被稱為AI鍵062,464和466),AI鍵確定了活動圖像Q30)的記錄粒度,并與該更新的信息數(shù)據(jù)相關(guān)聯(lián)。
6.根據(jù)前述權(quán)利要求任一項的方法,其中一個AI鍵包括一個或多個MF鍵。
7.根據(jù)前兩項權(quán)利要求中任一項的方法,其中AI鍵包括運(yùn)輸服務(wù)的起點和終點、服務(wù)供應(yīng)商的參考資料,并且其中AI鍵與包含票價、票價等級和每個票價應(yīng)用的旅行時間的信息數(shù)據(jù)相關(guān)聯(lián)。
8.根據(jù)前述權(quán)利要求任一項的方法,其中主文件(210)包含所有更新的歷史。
9.根據(jù)前述權(quán)利要求任一項的方法,其中更新從主文件O10)到活動圖像Q30)的傳播在由邏輯表(360)分配交付標(biāo)識時被觸發(fā)。
10.一種用于整合大量更新的數(shù)據(jù)庫系統(tǒng)000),包括主文件存儲庫和活動圖像存儲庫,所述主文件存儲庫包含主文件MF 010),所述活動圖像存儲庫包含活動圖像AI 030),其特征在于,所述主文件存儲庫被設(shè)置為使得主文件(210)接收更新,并為每個更新定義一個一致性數(shù)據(jù)記錄組(511),并且其特征在于,主文件存儲庫包括邏輯表(360),該邏輯表被設(shè)置為為每個更新在定義一致性數(shù)據(jù)記錄組(511)期間生成一個唯一的更改標(biāo)識,以唯一地識別出一致性數(shù)據(jù)記錄組(511),該數(shù)據(jù)庫系統(tǒng)(200)還被設(shè)置為執(zhí)行以下步驟-在主文件(210)處接收更改標(biāo)識010),并把該更改標(biāo)識分配給一致性數(shù)據(jù)記錄組 (511),-通過用每個更新的一致性數(shù)據(jù)記錄組和分配給該一致性數(shù)據(jù)記錄組的更改標(biāo)識,來更新(515)主文件010),從而交付每個更新,-還對于由主文件(210)所交付的每個更新,從邏輯表(360)獲取一個唯一的交付標(biāo)識 (523),該交付標(biāo)識是反映對于每個更新完成交付步驟的順序的編號,-將更新加載到活動圖像存儲庫的活動圖像AI (230)中,包括從主文件(210)檢索 (533)每個更新的一致性數(shù)據(jù)記錄組;通過以交付標(biāo)識所指定的順序,將每個更新連續(xù)地傳播到活動圖像O30)中,對活動圖像(230)和主文件(210)進(jìn)行同步(535);當(dāng)每個相應(yīng)的數(shù)據(jù)記錄組的加載由活動圖像(230)交付(537)時,完成每個更新到活動圖像O30)中的傳播。
11. 一種存儲在計算機(jī)可讀存儲介質(zhì)O01)上的計算機(jī)程序產(chǎn)品,包括用于使至少一臺計算機(jī)根據(jù)權(quán)利要求1至8中任一項所述的整合數(shù)據(jù)庫系統(tǒng)中的大量更新的方法操作的計算機(jī)可讀代碼裝置。
全文摘要
描述了一種整合數(shù)據(jù)庫系統(tǒng)(200)中的大量更新的方法。該方法包括將數(shù)據(jù)供應(yīng)商(220)所提供的更新整合到數(shù)據(jù)庫系統(tǒng)(200)的主文件(MF)(210)中。該整合步驟包括以下步驟在主文件(210)處接收更新;在主文件(210)中為每個更新定義一個一致性數(shù)據(jù)記錄組(511);在定義一致性數(shù)據(jù)記錄組(511)期間,通過數(shù)據(jù)庫系統(tǒng)的邏輯表(360),為每個更新生成一個唯一的更改標(biāo)示,以唯一地識別出一致性數(shù)據(jù)記錄組(511);在主文件(210)處接收更改標(biāo)識;在主文件(210)處,把更改標(biāo)識分配給一致性數(shù)據(jù)記錄組(511);通過用每個更新的一致性數(shù)據(jù)記錄組以及分配給該一致性數(shù)據(jù)記錄組(511)的更改標(biāo)識來更新(515)主文件(210),交付每個更新;還從邏輯表(360)為每個主文件(210)交付的更新獲取一個唯一的交付標(biāo)識(523),交付標(biāo)識(523)是反映對每個更新完成交付步驟的順序的編號。該方法還包括將更新加載到數(shù)據(jù)庫系統(tǒng)的活動圖像(AI)(230)中的步驟。該加載步驟包括以下步驟從主文件(210)檢索(523)每個更新的一致性數(shù)據(jù)記錄組;通過以交付標(biāo)識所指定的順序,將每個更新連續(xù)地傳播到活動圖像(230)中,對活動圖像(230)和主文件(210)進(jìn)行同步(535);當(dāng)每個相應(yīng)的數(shù)據(jù)記錄組的加載由活動圖像(230)交付(537)時,完成每個單獨(dú)的更新到活動圖像(230)中的傳播。這樣,本發(fā)明允許數(shù)據(jù)庫系統(tǒng)的終端用戶從活動圖像存儲庫立即開始查詢所傳播的更新。
文檔編號G06F17/30GK102272756SQ200980153028
公開日2011年12月7日 申請日期2009年11月6日 優(yōu)先權(quán)日2008年11月6日
發(fā)明者B·拉斯卡, G·米雷兒勒斯, N·范豪夫, P·雷瑪利, R·達(dá)尼埃羅 申請人:阿瑪?shù)盟箖珊瞎?br>