用于多服務(wù)器預(yù)定系統(tǒng)上的同步機(jī)制的方法和系統(tǒng)的制作方法
【專利摘要】根據(jù)本發(fā)明的優(yōu)選實(shí)施例的用于允許以高效且一致的機(jī)制在多服務(wù)器(可能為多平臺)預(yù)定系統(tǒng)間同步PNR值的方法和系統(tǒng)。該機(jī)制由于其版本化和其懶惰行為(同步僅在需要時(shí)發(fā)生)而解決了一致性和性能的問題。它能夠被用作在以應(yīng)用共用數(shù)據(jù)的漸進(jìn)式遷移進(jìn)行的系統(tǒng)這之間的遷移階段中的解決方案,并且還用作用于不同平臺間的分布式應(yīng)用的永久性解決方案。根據(jù)本發(fā)明的一種優(yōu)選實(shí)施例,預(yù)定服務(wù)分布于兩個(gè)不同的平臺(如大型機(jī)和開放性平臺)之間,它們需要在讀和寫模式中共用相同的旅客姓名記錄(PNR)環(huán)境數(shù)據(jù),以執(zhí)行其業(yè)務(wù)功能。本發(fā)明的一種優(yōu)選實(shí)施例的方法和系統(tǒng)允許在讀和寫模式中于不同平臺間以及于通信協(xié)議(如TPF大型機(jī)和開放性系統(tǒng))間共用的數(shù)據(jù)(如PNR數(shù)據(jù))的同步,使得系統(tǒng)能夠共用相同的最新PNR環(huán)境數(shù)據(jù)。
【專利說明】用于多服務(wù)器預(yù)定系統(tǒng)上的同步機(jī)制的方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及旅行預(yù)定系統(tǒng)領(lǐng)域,更特別地涉及用于使用分布式環(huán)境的同步機(jī)制來處理在多個(gè)服務(wù)器上的旅行預(yù)定的方法和系統(tǒng)。
【背景技術(shù)】
[0002]現(xiàn)代的旅行公司(例如,航空公司)通常采用用于處理客戶的預(yù)定請求的復(fù)雜應(yīng)用。越來越常見的情況是:在整個(gè)公司系統(tǒng)中使用多個(gè)體系結(jié)構(gòu)。在這樣情況下,在設(shè)計(jì)和規(guī)劃預(yù)訂系統(tǒng)時(shí)應(yīng)當(dāng)考慮兼容性和同步問題。一個(gè)實(shí)例是預(yù)定管理的一部分在基于因特網(wǎng)的應(yīng)用或通信設(shè)施上執(zhí)行。另一個(gè)實(shí)例是系統(tǒng)(并不一定是預(yù)訂系統(tǒng))必須從遺留大型機(jī)系統(tǒng)(例如,TPF)遷移至新的系統(tǒng)(例如,開放性系統(tǒng))。我們將這后一個(gè)實(shí)例稱為退役,即,應(yīng)用將被從例如TPF大型機(jī)遷移至例如開放性系統(tǒng)時(shí)。為了避免預(yù)定系統(tǒng)中的服務(wù)中斷,可取的是逐漸地執(zhí)行該遷移,而不是在單獨(dú)一次移動中關(guān)閉現(xiàn)有系統(tǒng)并切換到新的系統(tǒng),具有能夠引起以下情形的所有可能問題:除了在舊系統(tǒng)與新系統(tǒng)之間切換時(shí)的大激活過程的復(fù)雜性之外,我們還應(yīng)當(dāng)在新系統(tǒng)處于構(gòu)造中并且舊系統(tǒng)繼續(xù)進(jìn)化時(shí)考慮軟件在這兩個(gè)平臺上的雙重維護(hù)的需要??赡鼙仨氶_發(fā)新的功能,并且這需要雙重的工作,然而,如果兩個(gè)系統(tǒng)能夠一起工作,則所有開發(fā)工作都能夠致力于新的平臺。由于這些原因,漸進(jìn)式遷移比所謂的“大震動(big bang)”遷移策略更好,但是必須考慮某些困難。特別地,當(dāng)預(yù)定服務(wù)分布于兩個(gè)不同的平臺(例如,大型機(jī)和開放性平臺)之間時(shí),它們需要在讀和寫模式中共用相同的旅客姓名記錄(PNR)環(huán)境數(shù)據(jù),以便執(zhí)行它們的業(yè)務(wù)功能。應(yīng)當(dāng)考慮的一個(gè)問題是在讀和寫模式中共用于不同的平臺間以及于通信協(xié)議(例如,TPF大型機(jī)和開放性系統(tǒng))間的數(shù)據(jù)(例如,PNR數(shù)據(jù))的同步,使得系統(tǒng)能夠共用相同的最新PNR環(huán)境數(shù)據(jù)。對于“環(huán)境(context)”,我們意指與活動(終端)用戶會話鏈接的購物會話環(huán)境。它表示由系統(tǒng)使用以便該具體用戶在例如旅行預(yù)定系統(tǒng)(與活動終端用戶會話鏈接的預(yù)定(購物)會話環(huán)境)中執(zhí)行所請求的功能的所有功能和技術(shù)信息。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的一個(gè)目的是減輕至少某些與現(xiàn)有技術(shù)的系統(tǒng)相關(guān)的問題。
[0004]根據(jù)本發(fā)明的一個(gè)方面,本發(fā)明提供了一種用于在多服務(wù)器系統(tǒng)上操作的預(yù)定方法中的同步機(jī)制的方法,用于確保在多服務(wù)器系統(tǒng)的至少兩個(gè)服務(wù)器間的用戶交易期間使用最新的PNR記錄,其中PNR的本地環(huán)境版本保持于多服務(wù)器系統(tǒng)的每個(gè)服務(wù)器內(nèi),這些服務(wù)器通過系統(tǒng)總線互連,該機(jī)制包括以下步驟:在可由多服務(wù)器系統(tǒng)的所有服務(wù)器訪問的共用的環(huán)境存儲區(qū)中保持有關(guān)PNR的最后更新版本的信息;響應(yīng)于用戶請求而促使所選擇的一個(gè)服務(wù)器執(zhí)行下列動作來修改PNR的本地環(huán)境版本:在共用的環(huán)境存儲區(qū)上檢查哪個(gè)服務(wù)器最后更新PNR ;如果最后更新PNR的服務(wù)器不同于所選擇的服務(wù)器,則獲得PNR的最新版本;修改PNR的本地環(huán)境版本以滿足用戶請求;更新共用的環(huán)境存儲區(qū)以反映PNR的最后更新版本。[0005]根據(jù)本發(fā)明的一種優(yōu)選實(shí)施例的方法允許以高效且一致的機(jī)制在多服務(wù)器(可能為多平臺)系統(tǒng)間同步PNR值。該機(jī)制由于其版本化和其懶惰行為(同步僅在需要時(shí)發(fā)生)而解決了一致性和性能的問題。它能夠被用作在以共用數(shù)據(jù)的應(yīng)用的漸進(jìn)式遷移進(jìn)行的從一個(gè)系統(tǒng)到另一個(gè)系統(tǒng)的遷移階段中的解決方案,并且還用作用于不同平臺間的分布式應(yīng)用的永久性解決方案。
[0006]根據(jù)本發(fā)明的第二方面,本發(fā)明提供了包括適用于執(zhí)行以上所述的方法的一個(gè)或多個(gè)部件的系統(tǒng)。
[0007]根據(jù)本發(fā)明的另一種實(shí)施例,本發(fā)明提供了包括用于在所述計(jì)算機(jī)程序在計(jì)算機(jī)系統(tǒng)上執(zhí)行時(shí)執(zhí)行以上所述的方法的指令的計(jì)算機(jī)程序。
【專利附圖】
【附圖說明】
[0008]現(xiàn)在將以示例的方式來參考附圖,在附圖中:
[0009]圖1是根據(jù)本發(fā)明的一種實(shí)施例的庫存系統(tǒng)的示意圖;
[0010]圖2示意性地示出了在本發(fā)明的一種優(yōu)選實(shí)施例中使用的分布式環(huán)境相關(guān)器的可能結(jié)構(gòu);
[0011]圖3以用例形式示出了在共用的環(huán)境中具有關(guān)聯(lián)的值變化的不同平臺上的請求處理;
[0012]圖4是適用于支持本發(fā)明的一種優(yōu)選實(shí)施例的方法的通用計(jì)算機(jī)系統(tǒng)的示意圖;
[0013]圖5至9 (a和b)示出了具有根據(jù)本發(fā)明的一種優(yōu)選實(shí)施例的EDIFACT結(jié)構(gòu)(a圖)和用例示意圖(b圖)的分布式環(huán)境同步的五種服務(wù);
[0014]圖10是根據(jù)本發(fā)明的一種實(shí)施例的處理的方法步驟的流程圖。
【具體實(shí)施方式】
[0015]這部分描述所基于的實(shí)例是從用于預(yù)訂系統(tǒng)的復(fù)雜的TPF體系結(jié)構(gòu)到開放性系統(tǒng)結(jié)構(gòu)的遷移。如同以上所提及的,由于許多原因,在單次移動中進(jìn)行遷移是不可取的。因此,對于過渡時(shí)期(該過渡時(shí)期可能持續(xù)幾個(gè)月或幾年),預(yù)定系統(tǒng)分布于國際商業(yè)企業(yè)的大型機(jī)、E.G.TPF或MVS系統(tǒng)以及開放性平臺(例如,Unix或Linux系統(tǒng))當(dāng)中。預(yù)定系統(tǒng)能夠在例如Amadeus體系結(jié)構(gòu)上實(shí)現(xiàn)。但是,本發(fā)明可應(yīng)用于在具有不同平臺的多個(gè)服務(wù)器間工作的預(yù)訂系統(tǒng)的任何實(shí)現(xiàn)方式。
[0016]在從大型機(jī)到開放性平臺的遷移的實(shí)例中,在TPF大型機(jī)上,PNR應(yīng)用共用存儲器內(nèi)的相同的PNR環(huán)境,并且能夠在讀和/或?qū)懩J街兄苯咏?jīng)由API來存取數(shù)據(jù)。由于TPF的重建以及在TPF大型機(jī)之外的PNR應(yīng)用的遷移,所以出現(xiàn)了 PNR環(huán)境在不同平臺之間共用的問題。實(shí)際上,我們擁有具有在不同類的平臺間共用的用戶環(huán)境的單個(gè)系統(tǒng)的概念,這些平臺需要分布于不同平臺上的應(yīng)用來訪問相同的PNR數(shù)據(jù),從而確保在平臺間執(zhí)行的業(yè)務(wù)功能動作的一致性。
[0017]圖1的示意圖表示具有2個(gè)應(yīng)用(一個(gè)取決于由另一個(gè)提供的PNR信息)的實(shí)例。它表明:兩個(gè)本地PNR環(huán)境必須被同步,以便能夠執(zhí)行業(yè)務(wù)功能。兩個(gè)應(yīng)用(Appl和App2)在預(yù)定系統(tǒng)中合作:Appl (僅作為預(yù)定應(yīng)用的示例)運(yùn)行于系統(tǒng)101上,而App2 (例如,定價(jià)應(yīng)用)運(yùn)行于系統(tǒng)103上。系統(tǒng)101在我們的實(shí)例中為TPF大型機(jī),而系統(tǒng)103為開放性系統(tǒng),例如,Unix系統(tǒng)。更一般地,這兩個(gè)系統(tǒng)101和103能夠是在兩個(gè)不同平臺上的任何已知的系統(tǒng)。這兩個(gè)系統(tǒng)101和103通過同樣可由用戶通過終端107來訪問的企業(yè)服務(wù)總線(ESB)105彼此連接。在終端107與ESB105之間的連接能夠以任意適合的網(wǎng)絡(luò)布局(例如,TCP/IP)來完成。此外,ESB是一種實(shí)現(xiàn)方式的示例,但是作為代替還能夠使用其他已知的結(jié)構(gòu),例如,路由器(Router)、門戶(Portal)或請求代理(Request Broker)。每個(gè)系統(tǒng)101和103都可以訪問PNR信息保持于其內(nèi)的本地存儲區(qū)(分別為109和111)。本地PNR信息對于本地系統(tǒng)將是最新的,但是對于另一系統(tǒng),它可能是過期的。在本實(shí)施例中,我們已經(jīng)使用了具有在兩個(gè)不同平臺上工作的兩個(gè)系統(tǒng)101和103的實(shí)例,但是本領(lǐng)域技術(shù)人員應(yīng)當(dāng)意識到,其他實(shí)現(xiàn)方式對于幾種不同的系統(tǒng)是可能的。在圖1的示例中,用戶通過終端107和ESB105來請求(步驟I)對在PNR109的本地版本上工作的Appl的預(yù)定;PNR根據(jù)由Appl進(jìn)行的加工(elaboration)來更新(步驟2)。當(dāng)控制權(quán)被傳遞給App2 (步驟3)時(shí),應(yīng)用在PNRlll的本地版本上工作(步驟4)。在這樣做之前,有必要驗(yàn)證本地PNR是否是最新的版本(在本例中,它不是),否則必須更新。App2能夠訪問外部系統(tǒng)113 (例如,定價(jià)數(shù)據(jù)庫)以完成其加工(步驟5)。
[0018]在根據(jù)本發(fā)明的一種優(yōu)選實(shí)施例的方法和系統(tǒng)中,PNR環(huán)境的本地存儲器內(nèi)副本在每個(gè)平臺上被復(fù)制;更新在本地執(zhí)行并且同步在另一個(gè)平臺需要存取最新的環(huán)境數(shù)據(jù)時(shí)發(fā)生。這是我們所稱的分布式環(huán)境同步。同步機(jī)制的復(fù)雜性將確定本地副本是否已過期,并且確定最新的PNR數(shù)據(jù)位于何處以得到它。這種機(jī)制在所有類型的用戶查詢上工作,無論什么通信協(xié)議,并且它不取決于平臺技術(shù)特性,例如,數(shù)據(jù)的表示(例如,高位優(yōu)先或低位優(yōu)先)。
[0019]用于PNR環(huán)境同步的本方法以最優(yōu)的方式符合了所有這些要求,因?yàn)橥絻H在需要時(shí)執(zhí)行,并且僅提供待在本地環(huán)境副本上完成的更新。本發(fā)明的關(guān)鍵要件是用于確保所共用的參數(shù)的最新值可在過程中的任何時(shí)候使用的機(jī)制。在根據(jù)本發(fā)明的一種優(yōu)選實(shí)施例的方法和系統(tǒng)中,使用分布式的共用的環(huán)境相關(guān)器。作為在所描述的Amadeus預(yù)定系統(tǒng)中的實(shí)例,這稱為DCX(分布式環(huán)境相關(guān)器)。DCX傳遞有關(guān)所有類型的通信協(xié)議的在來自同一用戶會話的每個(gè)消息之上的附加信息,用于表示在不同平臺和應(yīng)用上的應(yīng)用環(huán)境的分布。
[0020]該DCX實(shí)體被創(chuàng)建并被存儲于ESB上,并且以會話報(bào)頭的方式傳遞于Amadeus基礎(chǔ)設(shè)施內(nèi)的所有消息上。圖2示出了根據(jù)本發(fā)明的一種優(yōu)選實(shí)施例的DCX結(jié)構(gòu)200的實(shí)例。它含有對不同平臺上的環(huán)境的引用,意味著它不含有環(huán)境數(shù)據(jù)本身。它以XML來格式化,并且包括圖2所示的3個(gè)部分:一個(gè)為用于路由及其他用例的ESB環(huán)境信息而保留(201),另一部分專用于安全性和用戶認(rèn)證(203),而最后,第三部分是其中應(yīng)用能夠添加它們的環(huán)境引用以及與它們關(guān)聯(lián)的狀態(tài)指示器的應(yīng)用部分(205)。在應(yīng)用部分中,環(huán)境同步過程存儲與分布式PNR環(huán)境相關(guān)的信息,并且它基于它工作所必備的機(jī)制。
[0021]DCX提供為同步機(jī)制所需的兩個(gè)其他特征,這兩個(gè)特征是在不同通信協(xié)議之間共用的親和力及環(huán)境。親和力是每當(dāng)相同的服務(wù)被調(diào)用時(shí)為了靶向完全相同的應(yīng)用服務(wù)器所需的,并且它是必需的,因?yàn)镻NR環(huán)境是在應(yīng)用服務(wù)器本地的。優(yōu)選地,與親和力相關(guān)的信息包含于關(guān)鍵字內(nèi),這些關(guān)鍵字能夠稱為“親和力關(guān)鍵字”,所述關(guān)鍵字包含于DCX內(nèi)。環(huán)境信息在協(xié)議間的共用是確保調(diào)用不同協(xié)議的PNR服務(wù)的用戶將會仍然工作于完全相同的PNR環(huán)境上所需要的。[0022]環(huán)境的壽命時(shí)間受在ESB和開放性系統(tǒng)(或大型機(jī))之間所建立的會話控制。DCX提供了用戶活動的全局觀點(diǎn),意指如果用戶通過一個(gè)具體的會話(例如,EDIFACT會話)來工作,則其他協(xié)議會話將被保留以確保在協(xié)議間的一致性。當(dāng)用戶(由具體的會話關(guān)閉或者由不活動超時(shí))與ESB斷連時(shí),與開放性系統(tǒng)及大型機(jī)的會話將同樣被關(guān)閉,并且將觸發(fā)環(huán)境的清理。關(guān)于DCX的描述還可在同一 申請人:提交的且具有本發(fā)明相同的 優(yōu)先權(quán)日:期的共同未決的申請“METHOD AND SYSTEM FOR PROVIDING A SESSION INVOLVING A PLURALITYOF SOFTWARE APPLICATIONS”和“METHOD AND SYSTEM FOR PROVIDING A SESSION IN AHETEROGENEOUS ENVIRONMENT”中獲得。在本發(fā)明的描述的實(shí)例中,在服務(wù)器當(dāng)中的連接通過ESB來實(shí)現(xiàn),但是本領(lǐng)域技術(shù)人員應(yīng)當(dāng)意識到,作為代替能夠使用能夠?qū)⒔灰茁酚芍吝m當(dāng)?shù)膽?yīng)用服務(wù)器的本【技術(shù)領(lǐng)域】的路由裝置的任何其他狀態(tài),例如,路由器(Router)、門戶(Portal)或請求代理(Request Broker)。分布式環(huán)境的同步機(jī)制使用共用的環(huán)境(DCX)實(shí)體的應(yīng)用部分在不同的平臺上存儲有關(guān)本地環(huán)境狀態(tài)的信息,也稱為機(jī)器或應(yīng)用服務(wù)器。每個(gè)平臺都需要引用其本地·環(huán)境并且在意味著環(huán)境的改變的每次交易時(shí)都更新狀態(tài)。與環(huán)境相關(guān)的數(shù)據(jù)被構(gòu)造如下:
【權(quán)利要求】
1.一種在多服務(wù)器系統(tǒng)上運(yùn)行的預(yù)定方法中的同步機(jī)制,用于確保在多服務(wù)器系統(tǒng)的至少兩個(gè)服務(wù)器間的用戶交易期間使用最新PNR記錄,其中PNR的本地環(huán)境版本保持于所述多服務(wù)器系統(tǒng)的每個(gè)服務(wù)器內(nèi),所述服務(wù)器通過路由裝置互連,所述機(jī)制包括以下步驟: 在可由所述多服務(wù)器系統(tǒng)的所有服務(wù)器訪問的共用的環(huán)境存儲區(qū)中,保持關(guān)于PNR的最后修改版本的信息; 響應(yīng)于用戶請求而促使服務(wù)器中被選擇的一個(gè)執(zhí)行下列動作來修改PNR的所述本地環(huán)境版本: 在所述共用的環(huán)境存儲區(qū)上檢查出哪個(gè)服務(wù)器最后修改所述PNR ; 如果最后修改所述PNR的服務(wù)器不同于被選擇的服務(wù)器,則獲得PNR的所述最新版本; 修改PNR的所述本地環(huán)境版本以滿足所述用戶請求; 更新所述共用的環(huán)境存儲區(qū)以反映PNR的所述最后修改版本。
2.根據(jù)權(quán)利要求1所述的同步機(jī)制,其中所述多服務(wù)器系統(tǒng)的服務(wù)器通過面向服務(wù)的體系結(jié)構(gòu)(SOA)系統(tǒng)與所述路由裝置和所述用戶交換信息。
3.根據(jù)權(quán)利要求2所述的同步機(jī)制,其中所述消息包括含有關(guān)于PNR的所述最后修改版本的信息的消息報(bào)頭。
4.根據(jù)任一前述權(quán)利要求所述的同步機(jī)制,其中關(guān)于PNR的所述最后修改版本的信息包括PNR的所述最后修改版本的位置。
5.根據(jù)任一前述權(quán)利要求所述的同步機(jī)制,其中關(guān)于PNR的所述最后修改版本的信息包括指向PNR的所述最后修改版本的指針。
6.根據(jù)任一前述權(quán)利要求所述的同步機(jī)制,其中所述路由裝置包括系統(tǒng)總線,例如,企業(yè)服務(wù)總線(ESB)。
7.一種計(jì)算機(jī)程序,包括用于在所述計(jì)算機(jī)程序于計(jì)算機(jī)上執(zhí)行時(shí)執(zhí)行根據(jù)任一前述權(quán)利要求所述的方法的步驟的指令。
8.一種計(jì)算機(jī)程序產(chǎn)品,包括采用權(quán)利要求7所述的計(jì)算機(jī)程序的計(jì)算機(jī)可讀裝置。
9.一種預(yù)定多服務(wù)器數(shù)據(jù)處理系統(tǒng),包括用于確保在所述多服務(wù)器系統(tǒng)的至少兩個(gè)服務(wù)器間的用戶交易期間使用最新的PNR記錄的同步機(jī)制,其中PNR的本地環(huán)境版本保持于所述多服務(wù)器系統(tǒng)的每個(gè)服務(wù)器內(nèi),所述服務(wù)器通過路由裝置互連,其中所述系統(tǒng)包括適用于執(zhí)行權(quán)利要求1至6任一項(xiàng)所述的方法的一個(gè)或多個(gè)部件。
10.一種部署于用于實(shí)現(xiàn)權(quán)利要求1至6任一項(xiàng)所述的方法的數(shù)據(jù)處理系統(tǒng)內(nèi)的服務(wù)。
【文檔編號】H04L29/08GK103443790SQ201280011805
【公開日】2013年12月11日 申請日期:2012年1月12日 優(yōu)先權(quán)日:2011年3月15日
【發(fā)明者】V·馬桑尼, S·比代塞, M·帕沃, J·丹尼爾, D·福澤 申請人:阿瑪?shù)盟箖珊瞎?br>