用于多服務(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ù)分布于兩個不同的平臺(如大型機(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ī)制來處理在多個服務(wù)器上的旅行預(yù)定的方法和系統(tǒng)。
【背景技術(shù)】
[0002]現(xiàn)代的旅行公司(例如,航空公司)通常采用用于處理客戶的預(yù)定請求的復(fù)雜應(yīng)用。越來越常見的情況是:在整個公司系統(tǒng)中使用多個體系結(jié)構(gòu)。在這樣情況下,在設(shè)計(jì)和規(guī)劃預(yù)訂系統(tǒng)時(shí)應(yīng)當(dāng)考慮兼容性和同步問題。一個實(shí)例是預(yù)定管理的一部分在基于因特網(wǎng)的應(yīng)用或通信設(shè)施上執(zhí)行。另一個實(shí)例是系統(tǒng)(并不一定是預(yù)訂系統(tǒng))必須從遺留大型機(jī)系統(tǒng)(例如,TPF)遷移至新的系統(tǒng)(例如,開放性系統(tǒng))。我們將這后一個實(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í)考慮軟件在這兩個平臺上的雙重維護(hù)的需要??赡鼙仨氶_發(fā)新的功能,并且這需要雙重的工作,然而,如果兩個系統(tǒng)能夠一起工作,則所有開發(fā)工作都能夠致力于新的平臺。由于這些原因,漸進(jìn)式遷移比所謂的“大震動(big bang)”遷移策略更好,但是必須考慮某些困難。特別地,當(dāng)預(yù)定服務(wù)分布于兩個不同的平臺(例如,大型機(jī)和開放性平臺)之間時(shí),它們需要在讀和寫模式中共用相同的旅客姓名記錄(PNR)環(huán)境數(shù)據(jù),以便執(zhí)行它們的業(yè)務(wù)功能。應(yīng)當(dāng)考慮的一個問題是在讀和寫模式中共用于不同的平臺間以及于通信協(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ā)明的一個目的是減輕至少某些與現(xiàn)有技術(shù)的系統(tǒng)相關(guān)的問題。
[0004]根據(jù)本發(fā)明的一個方面,本發(fā)明提供了一種用于在多服務(wù)器系統(tǒng)上操作的預(yù)定方法中的同步機(jī)制的方法,用于確保在多服務(wù)器系統(tǒng)的至少兩個服務(wù)器間的用戶交易期間使用最新的PNR記錄,其中PNR的本地環(huán)境版本保持于多服務(wù)器系統(tǒng)的每個服務(wù)器內(nèi),這些服務(wù)器通過系統(tǒng)總線互連,該機(jī)制包括以下步驟:在可由多服務(wù)器系統(tǒng)的所有服務(wù)器訪問的共用的環(huán)境存儲區(qū)中保持有關(guān)PNR的最后更新版本的信息;響應(yīng)于用戶請求而促使所選擇的一個服務(wù)器執(zhí)行下列動作來修改PNR的本地環(huán)境版本:在共用的環(huán)境存儲區(qū)上檢查哪個服務(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)行的從一個系統(tǒng)到另一個系統(tǒng)的遷移階段中的解決方案,并且還用作用于不同平臺間的分布式應(yīng)用的永久性解決方案。
[0006]根據(jù)本發(fā)明的第二方面,本發(fā)明提供了包括適用于執(zhí)行以上所述的方法的一個或多個部件的系統(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ù)幾個月或幾年),預(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)用于在具有不同平臺的多個服務(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)境的單個系統(tǒng)的概念,這些平臺需要分布于不同平臺上的應(yīng)用來訪問相同的PNR數(shù)據(jù),從而確保在平臺間執(zhí)行的業(yè)務(wù)功能動作的一致性。
[0017]圖1的示意圖表示具有2個應(yīng)用(一個取決于由另一個提供的PNR信息)的實(shí)例。它表明:兩個本地PNR環(huán)境必須被同步,以便能夠執(zhí)行業(yè)務(wù)功能。兩個應(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)。更一般地,這兩個系統(tǒng)101和103能夠是在兩個不同平臺上的任何已知的系統(tǒng)。這兩個系統(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)。每個系統(tǒng)101和103都可以訪問PNR信息保持于其內(nèi)的本地存儲區(qū)(分別為109和111)。本地PNR信息對于本地系統(tǒng)將是最新的,但是對于另一系統(tǒng),它可能是過期的。在本實(shí)施例中,我們已經(jīng)使用了具有在兩個不同平臺上工作的兩個系統(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)副本在每個平臺上被復(fù)制;更新在本地執(zhí)行并且同步在另一個平臺需要存取最新的環(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é)議的在來自同一用戶會話的每個消息之上的附加信息,用于表示在不同平臺和應(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個部分:一個為用于路由及其他用例的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ī)制所需的兩個其他特征,這兩個特征是在不同通信協(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),意指如果用戶通過一個具體的會話(例如,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ù)器。每個平臺都需要引用其本地·環(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)的至少兩個服務(wù)器間的用戶交易期間使用最新PNR記錄,其中PNR的本地環(huán)境版本保持于所述多服務(wù)器系統(tǒng)的每個服務(wù)器內(nèi),所述服務(wù)器通過路由裝置互連,所述機(jī)制包括以下步驟: 在可由所述多服務(wù)器系統(tǒng)的所有服務(wù)器訪問的共用的環(huán)境存儲區(qū)中,保持關(guān)于PNR的最后修改版本的信息; 響應(yīng)于用戶請求而促使服務(wù)器中被選擇的一個執(zhí)行下列動作來修改PNR的所述本地環(huán)境版本: 在所述共用的環(huán)境存儲區(qū)上檢查出哪個服務(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)的至少兩個服務(wù)器間的用戶交易期間使用最新的PNR記錄的同步機(jī)制,其中PNR的本地環(huán)境版本保持于所述多服務(wù)器系統(tǒng)的每個服務(wù)器內(nèi),所述服務(wù)器通過路由裝置互連,其中所述系統(tǒng)包括適用于執(zhí)行權(quán)利要求1至6任一項(xiàng)所述的方法的一個或多個部件。
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>