專利名稱:具有客戶機(jī)端一致性的傳遞的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及終端也就是客戶機(jī)終端與服務(wù)器終端之間的數(shù)據(jù)同步系統(tǒng)。更確切地說,本發(fā)明涉及訂票系統(tǒng)RS與航空公司客位系統(tǒng)AIS之間的數(shù)據(jù)同步系統(tǒng)。本發(fā)明進(jìn)一步涉及這些終端之間的數(shù)據(jù)同步方法。
背景技術(shù):
在本申請(qǐng)中使用的術(shù)語終端應(yīng)當(dāng)以其最廣泛的定義被解釋,包括用于輸入和輸出的任何計(jì)算設(shè)備或任何入口或出口節(jié)點(diǎn)。 作為訂票系統(tǒng)的實(shí)例,讓我們考慮Amadeus訂票系統(tǒng),它為旅行者提供從一個(gè)點(diǎn)到另一個(gè)點(diǎn)的可能旅行方案的組合視圖。選中的旅行由訂票系統(tǒng)發(fā)送給對(duì)應(yīng)的航空公司。訂票系統(tǒng)進(jìn)一步提供預(yù)約確認(rèn),并且在稱為乘客名記錄(PNR)或結(jié)構(gòu)化預(yù)約記錄(SBR)的專用數(shù)據(jù)字符串中存儲(chǔ)乘客數(shù)據(jù)。從而這樣的系統(tǒng)具有面向乘客的架構(gòu)。AIS是專用于存儲(chǔ)和處理航空公司航班信息的系統(tǒng)。因此它具有面向航班和日期的架構(gòu)。兩種系統(tǒng)之間的通信通過在線鏈接完成,對(duì)預(yù)訂系統(tǒng)的旅程數(shù)據(jù)或乘客數(shù)據(jù)的每筆交易都使用EDIFACT消息(用于管理、商務(wù)和運(yùn)輸?shù)碾娮訑?shù)據(jù)交換)。許多RS能夠在線地連接到單個(gè)的航空公司客位系統(tǒng),從而在單個(gè)服務(wù)器上表示多個(gè)客戶機(jī),其中認(rèn)為RS是客戶機(jī)而AIS是服務(wù)器。預(yù)約的創(chuàng)建或修改每次獲得提交后,都應(yīng)當(dāng)立即通知AIS。應(yīng)當(dāng)向AIS傳達(dá)的關(guān)鍵信息為-航班相關(guān)信息-全行程相關(guān)信息-乘客相關(guān)信息-由乘客做出的特殊服務(wù)請(qǐng)求受到這樣的通知后,AIS可以在響應(yīng)中提供對(duì)應(yīng)于預(yù)約的補(bǔ)充數(shù)據(jù)。這種信息被存儲(chǔ)在客戶機(jī)終端上以便通知乘客。同一預(yù)約能夠在短時(shí)段中修改幾次,在兩個(gè)系統(tǒng)之間產(chǎn)生高通信量,可能限制航空公司客位系統(tǒng)的性能。這可能導(dǎo)致在線鏈接中斷,引起這些系統(tǒng)之間的失去同步。因此,在這些系統(tǒng)之間應(yīng)當(dāng)適當(dāng)?shù)卦O(shè)置功能強(qiáng)大的機(jī)構(gòu)以保證正確的預(yù)約同步。這樣的機(jī)構(gòu)在服務(wù)器終端上實(shí)施,從而提高了其復(fù)雜性并增加了這些系統(tǒng)之間的通信量。當(dāng)客戶機(jī)與服務(wù)器之間的數(shù)據(jù)同步通過在線鏈接進(jìn)行時(shí),由于超時(shí)、鏈接故障問題或其他可能的錯(cuò)誤(服務(wù)器端資源忙、數(shù)據(jù)在服務(wù)器端尚未可用等)消息交換可能失敗。需要在后來重發(fā)同步信息。
發(fā)明內(nèi)容
本發(fā)明的目的是確保所述系統(tǒng)之間的同步,同時(shí)從服務(wù)器終端降低復(fù)雜性而在所述系統(tǒng)之間不增加太多通信量。
為了解決所述復(fù)雜性的問題同時(shí)確保所述系統(tǒng)之間同步,本發(fā)明提供一種系統(tǒng),其中兩個(gè)系統(tǒng)之間的一切同步責(zé)任都被移到僅僅在客戶機(jī)端??蛻魴C(jī)向服務(wù)器確保它發(fā)送了最新的預(yù)約圖像,自從兩個(gè)系統(tǒng)之間對(duì)所涉及預(yù)約的上一次成功同步以來已經(jīng)進(jìn)行了全部動(dòng)作。一個(gè)且僅僅一個(gè)客戶機(jī)可以是預(yù)約的主控,從而它知道經(jīng)歷與服務(wù)器同步的一切修改。為了把責(zé)任移到客戶機(jī),有必要-對(duì)在特定預(yù)約上完成的每項(xiàng)修改都有專用的存儲(chǔ)。-定義若干規(guī)則,表達(dá)每種類型修改的重要性及其交互操作。-允許在客戶機(jī)端對(duì)先前未同步的一切修改執(zhí)行一致性過程。 因此,能夠降低服務(wù)器端的復(fù)雜性而兩個(gè)系統(tǒng)之間的通信量沒有任何增加。為了解決以上的技術(shù)問題,本發(fā)明提供一種用于兩個(gè)或更多計(jì)算機(jī)終端之間的數(shù)據(jù)同步的系統(tǒng),包括至少一個(gè)客戶機(jī)終端、服務(wù)器終端、連接所述客戶機(jī)終端和服務(wù)器終端的通信網(wǎng)絡(luò),在客戶機(jī)終端上創(chuàng)建的數(shù)據(jù)字符串,所述客戶機(jī)終端被配置為向服務(wù)器終端發(fā)送數(shù)據(jù)字符串以在兩個(gè)終端之間同步,其特征在于同步失敗后,帶有最新同步信息的包括所述數(shù)據(jù)字符串的一致性數(shù)據(jù)被配置為存儲(chǔ)在客戶機(jī)終端上的數(shù)據(jù)庫(kù)中并在以后發(fā)送。在一個(gè)實(shí)例中,客戶機(jī)終端是預(yù)訂系統(tǒng)(RS)而服務(wù)器終端是航空公司客位系統(tǒng)(AIS)0在一個(gè)實(shí)施例中,所述數(shù)據(jù)字符串包括PNR信息。同步失敗包括網(wǎng)絡(luò)故障、在線鏈接不可用、缺少來自服務(wù)器終端的確認(rèn)響應(yīng)、服務(wù)器終端忙。所存儲(chǔ)的一致性數(shù)據(jù)將一直在修改以包含最新的同步信息。在修改后,所存儲(chǔ)的一致性數(shù)據(jù)被放置在包含未同步數(shù)據(jù)的隊(duì)列中。后臺(tái)程序被配置為判斷所述未同步隊(duì)列中的數(shù)據(jù)是否適于同步。一致性數(shù)據(jù)的修改基于一致性過程,該一致性過程包括向原始數(shù)據(jù)字符串添加修改后的數(shù)據(jù)字符串、將修改后數(shù)據(jù)字符串合并到原始數(shù)據(jù)字符串或者用修改后數(shù)據(jù)字符串代替原始數(shù)據(jù)字符串。不僅如此,還配置了計(jì)數(shù)器以根據(jù)指數(shù)后退算法重新啟動(dòng)同步。最后,在成功地與服務(wù)器終端同步后從客戶機(jī)終端上的數(shù)據(jù)庫(kù)中除去一致性數(shù)據(jù)。本發(fā)明還介紹了一種方法,用于以上已經(jīng)介紹的系統(tǒng)的數(shù)據(jù)同步,其中已經(jīng)達(dá)到了沒有對(duì)一致性數(shù)據(jù)的后續(xù)修改的成功的同步,包括以下步驟-在客戶機(jī)終端上創(chuàng)建新的或修改現(xiàn)有的數(shù)據(jù)字符串-觸發(fā)同步過程-產(chǎn)生同步消息-同步失敗-在客戶機(jī)終端上的數(shù)據(jù)庫(kù)中存儲(chǔ)一致性信息-在隊(duì)列中添加隊(duì)列項(xiàng)-后臺(tái)程序判斷隊(duì)列項(xiàng)是否適于同步-檢索一致性信息
-重新產(chǎn)生先前消息-增加重試計(jì)數(shù)器計(jì)數(shù)-成功地同步-去除一致性數(shù)據(jù)-刪除隊(duì)列項(xiàng)本發(fā)明的另一個(gè)目的是一種方法,用于以上已經(jīng)介紹的系統(tǒng)的數(shù)據(jù)同步,其中有對(duì)一致性數(shù)據(jù)的后續(xù)修改的成功同步包括以至少一個(gè)數(shù)據(jù)處理器執(zhí)行的以下步驟-在客戶機(jī)終端上創(chuàng)建新的或修改現(xiàn)有的數(shù)據(jù)字符串
-觸發(fā)同步過程-產(chǎn)生同步消息-同步失敗-在客戶機(jī)終端上的數(shù)據(jù)庫(kù)中存儲(chǔ)一致性信息-所述數(shù)據(jù)字符串的后續(xù)修改-以當(dāng)前數(shù)據(jù)調(diào)整一致性數(shù)據(jù)項(xiàng)-重新產(chǎn)生包含更新后一致性信息的同步消息-增加重試計(jì)數(shù)器計(jì)數(shù)-成功地同步-去除一致性數(shù)據(jù)-刪除隊(duì)列項(xiàng)本發(fā)明還涉及一種方法,用于以上已經(jīng)介紹的系統(tǒng)的數(shù)據(jù)同步,其中沒有對(duì)一致性數(shù)據(jù)的后續(xù)修改的不成功同步包括以至少一個(gè)數(shù)據(jù)處理器執(zhí)行的以下步驟-在客戶機(jī)終端上創(chuàng)建新的或修改現(xiàn)有的數(shù)據(jù)字符串-觸發(fā)同步過程-產(chǎn)生同步消息-同步失敗-在客戶機(jī)終端上的數(shù)據(jù)庫(kù)中存儲(chǔ)一致性信息-在隊(duì)列中添加隊(duì)列項(xiàng)-后臺(tái)程序判斷隊(duì)列項(xiàng)是否適于同步-檢索一致性信息-重新產(chǎn)生先前消息-增加重試計(jì)數(shù)器計(jì)數(shù)-達(dá)到最大重試次數(shù)本發(fā)明的另一個(gè)主題是如前述兩個(gè)段落的任何一個(gè)所述的方法,其中所述方法作為由至少一個(gè)數(shù)據(jù)處理器執(zhí)行計(jì)算機(jī)軟件的結(jié)果而執(zhí)行,所述計(jì)算機(jī)軟件被存儲(chǔ)在非易失性計(jì)算機(jī)可讀存儲(chǔ)器介質(zhì)中。本發(fā)明的另一個(gè)主題是在非易失性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中存儲(chǔ)的計(jì)算機(jī)程序產(chǎn)品,包括使至少一個(gè)計(jì)算機(jī)運(yùn)行根據(jù)三個(gè)前述段落的任何一個(gè)的方法的計(jì)算機(jī)可讀代碼裝置。
現(xiàn)在將根據(jù)附圖更詳細(xì)地介紹本發(fā)明的優(yōu)選實(shí)施例。圖I顯示了沒有對(duì)數(shù)據(jù)的后續(xù)修改以成功的同步結(jié)束的本發(fā)明過程的示意圖;圖2顯示了有對(duì)數(shù)據(jù)的后續(xù)修改以成功的同步結(jié)束的本發(fā)明過程的示意圖;圖3顯示了沒有對(duì)數(shù)據(jù)的后續(xù)修改以不成功的同步結(jié)束的本發(fā)明過程的示意圖。
具體實(shí)施方式
作為圖I的實(shí)例,在訂票系統(tǒng)上創(chuàng)建并提交具有預(yù)約和乘客數(shù)據(jù)的PNR(乘客姓名記錄)(I)。這就觸發(fā)了同步過程(2)和產(chǎn)生了同步消息(3)。該消息包含有關(guān)預(yù)約本身的信息以及稱為交易信息的對(duì)PNR的動(dòng)作。由于幾個(gè)原因同步可能失敗(4)。原因可能是由于在線鏈接不可用而使得同步消息發(fā)送失?。辉撓⒈话l(fā)送但是沒有從服務(wù)器終端收到確認(rèn)響應(yīng);甚至是服務(wù)器終端上的資源忙所以服務(wù)器以給定的錯(cuò)誤碼回答。如果識(shí)別出同步失敗,PNR消息進(jìn)入同步掛起狀態(tài)。訂票系統(tǒng)將該數(shù)據(jù)存儲(chǔ)在專用數(shù)據(jù)庫(kù)中作為一致性項(xiàng)(5a)。一致性項(xiàng)被鏈接到PNR并且包含標(biāo)識(shí)尚未被同步數(shù)據(jù)的信息和一致性過程需要的信息。在專用隊(duì)列中也添加了隊(duì)列項(xiàng)(5b)。對(duì)照專用隊(duì)列建立了后臺(tái)程序(6)。它分析每個(gè)隊(duì)列項(xiàng)。根據(jù)該項(xiàng)的重試計(jì)數(shù)器和時(shí)間戳,它判斷是否應(yīng)當(dāng)觸發(fā)同步。如果應(yīng)當(dāng),則檢索該一致性項(xiàng)(7),消息重新產(chǎn)生過程(8)建立同步消息(9)并將其再次發(fā)送到服務(wù)器。如果同步未成功,該隊(duì)列的重試計(jì)數(shù)器計(jì)數(shù)將增加(10)。PNR數(shù)據(jù)保持在同步掛起狀態(tài),然后根據(jù)指數(shù)退后算法重試該同步。同步成功(11)后,便從客戶機(jī)終端除去一致性數(shù)據(jù)和隊(duì)列項(xiàng)。PNR數(shù)據(jù)不再處于同步掛起狀態(tài)。為了避免無限重試,當(dāng)達(dá)到最大重試次數(shù)并且同步仍然失敗時(shí),該排隊(duì)項(xiàng)被移動(dòng)到丟棄項(xiàng)隊(duì)列,正如圖3所示。不過該一致性項(xiàng)被保留并且該P(yáng)NR數(shù)據(jù)保持為同步掛起狀態(tài)。因此,萬一后續(xù)修改,例如后續(xù)的同步,仍然未與服務(wù)器終端同步的信息能夠以同步消息調(diào)整并且被重發(fā)。這種機(jī)制確保這些修改被發(fā)送到服務(wù)器終端,即使第一次嘗試失敗并且沒有觸發(fā)后續(xù)的同步。例如PNR數(shù)據(jù)在處于同步掛起狀態(tài)時(shí)也可能出現(xiàn)其他問題。如果沒有引入對(duì)PNR的修改,那么根據(jù)以上以及按照?qǐng)DI和圖3的介紹繼續(xù)該同步。不過,如果在觸發(fā)同步之前出現(xiàn)了對(duì)PNR的修改,那么這將導(dǎo)致圖2所示的第二同步過程。事實(shí)上,每次觸發(fā)同步,都在專用數(shù)據(jù)庫(kù)中存儲(chǔ)了一致性項(xiàng)。這些項(xiàng)受到分析并與在當(dāng)前交易中對(duì)PNR已經(jīng)完成的修改(12)進(jìn)行對(duì)比?;谠缦榷x的一致性規(guī)則,做出決策以決定是否應(yīng)當(dāng)對(duì)將要被發(fā)送到服務(wù)器終端的同步消息的內(nèi)容添加、去除或合并對(duì)應(yīng)項(xiàng)
(7)。從而同步消息(8)包含最新的PNR和尚未與該服務(wù)器同步的全部動(dòng)作。由于一致性規(guī)則,客戶機(jī)終端決定該消息內(nèi)容的針對(duì)性和相干性,以使得該消息反映要在服務(wù)器終端上同步的全部信息。這種方式大為減少了服務(wù)器終端上處理同步失敗的邏輯。
權(quán)利要求
1.一種用于兩個(gè)或更多計(jì)算機(jī)終端之間的數(shù)據(jù)同步的系統(tǒng),包括 至少一個(gè)客戶機(jī)終端, 服務(wù)器終端, 連接所述客戶機(jī)終端和服務(wù)器終端的通信網(wǎng)絡(luò), 在客戶機(jī)終端上創(chuàng)建的數(shù)據(jù)字符串, 所述客戶機(jī)終端被配置為向服務(wù)器終端發(fā)送數(shù)據(jù)字符串以在兩個(gè)終端之間同步, 其特征在于 同步失敗后,帶有最新同步信息的包括所述數(shù)據(jù)字符串的一致性數(shù)據(jù)被配置為存儲(chǔ)在客戶機(jī)終端上的數(shù)據(jù)庫(kù)中并根據(jù)重試計(jì)數(shù)器在以后發(fā)送。
2.根據(jù)權(quán)利要求I的系統(tǒng),其中,客戶機(jī)終端是訂票系統(tǒng)(RS)而服務(wù)器終端是航空公司客位系統(tǒng)(AIS)。
3.根據(jù)權(quán)利要求I或2的系統(tǒng),其中所述數(shù)據(jù)字符串包括PNR信息。
4.根據(jù)任何一個(gè)前面的權(quán)利要求的系統(tǒng),其中所述同步失敗包括網(wǎng)絡(luò)故障、在線鏈接不可用、缺少來自服務(wù)器終端的確認(rèn)響應(yīng)、服務(wù)器終端忙。
5.根據(jù)任何一個(gè)前面的權(quán)利要求的系統(tǒng),其中所存儲(chǔ)的一致性數(shù)據(jù)被修改以包含最新的同步信息。
6.根據(jù)任何一個(gè)前面的權(quán)利要求的系統(tǒng),其中所存儲(chǔ)的一致性數(shù)據(jù)被放置在包含未同步數(shù)據(jù)的隊(duì)列中。
7.根據(jù)權(quán)利要求6的系統(tǒng),其中后臺(tái)程序被配置為判斷所述未同步隊(duì)列數(shù)據(jù)是否適于同步。
8.根據(jù)權(quán)利要求5的系統(tǒng),其中一致性數(shù)據(jù)的修改基于一致性過程,該一致性過程包括向原始數(shù)據(jù)字符串添加修改后的數(shù)據(jù)字符串、將修改后數(shù)據(jù)字符串合并到原始數(shù)據(jù)字符串或者用修改后數(shù)據(jù)字符串代替原始數(shù)據(jù)字符串。
9.根據(jù)任何一個(gè)前面的權(quán)利要求的系統(tǒng),其中所述計(jì)數(shù)器被配置為根據(jù)指數(shù)后退算法重新啟動(dòng)同步。
10.根據(jù)任何一個(gè)前面的權(quán)利要求的系統(tǒng),其中,在成功地與服務(wù)器終端同步后從客戶機(jī)終端上的數(shù)據(jù)庫(kù)中除去一致性數(shù)據(jù)。
11.一種用于根據(jù)權(quán)利要求I的系統(tǒng)進(jìn)行數(shù)據(jù)同步的方法,其中,沒有對(duì)一致性數(shù)據(jù)的后續(xù)修改的成功同步包括以下步驟 -在客戶機(jī)終端上創(chuàng)建新的數(shù)據(jù)字符串 -觸發(fā)同步過程 -產(chǎn)生同步消息 -同步失敗 -在客戶機(jī)終端上的數(shù)據(jù)庫(kù)中存儲(chǔ)一致性信息 -在隊(duì)列中添加隊(duì)列項(xiàng) -后臺(tái)程序判斷隊(duì)列項(xiàng)是否適于同步 -檢索一致性信息 -重新產(chǎn)生先前消息 -增加計(jì)數(shù)器計(jì)數(shù)-成功地同步 -去除一致性數(shù)據(jù) -刪除隊(duì)列項(xiàng)。
12.一種用于根據(jù)權(quán)利要求I的系統(tǒng)進(jìn)行數(shù)據(jù)同步的方法,其中,有對(duì)一致性數(shù)據(jù)的后續(xù)修改的成功同步包括以下步驟 -在客戶機(jī)終端上修改現(xiàn)有的數(shù)據(jù)字符串 -觸發(fā)同步過程 -產(chǎn)生同步消息 -同步失敗 -在客戶機(jī)終端上的數(shù)據(jù)庫(kù)中存儲(chǔ)一致性信息 -對(duì)客戶機(jī)端上現(xiàn)有數(shù)據(jù)字符串的后續(xù)修改 -以修改后數(shù)據(jù)調(diào)整一致性數(shù)據(jù)項(xiàng) -產(chǎn)生包含更新后一致性信息的同步消息 -增加重試計(jì)數(shù)器計(jì)數(shù) -成功地同步 -去除一致性數(shù)據(jù) -刪除隊(duì)列項(xiàng)。
13.一種用于根據(jù)權(quán)利要求I的系統(tǒng)進(jìn)行數(shù)據(jù)同步的方法,其中,沒有對(duì)一致性數(shù)據(jù)的后續(xù)修改的不成功同步包括以下步驟 -在客戶機(jī)終端上創(chuàng)建新的數(shù)據(jù)字符串 -觸發(fā)同步過程 -產(chǎn)生同步消息 -同步失敗 -在客戶機(jī)終端上的數(shù)據(jù)庫(kù)中存儲(chǔ)一致性信息 -在隊(duì)列中添加隊(duì)列項(xiàng) -后臺(tái)程序判斷隊(duì)列項(xiàng)是否適于同步 -檢索一致性信息 -重新產(chǎn)生先前消息 -增加重試計(jì)數(shù)器計(jì)數(shù) -達(dá)到最大重試次數(shù) -將隊(duì)列項(xiàng)移動(dòng)到被丟棄項(xiàng)的隊(duì)列。
14.一種在非易失性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中存儲(chǔ)的計(jì)算機(jī)程序產(chǎn)品,包括使至少一個(gè)計(jì)算機(jī)運(yùn)行根據(jù)權(quán)利要求12或13中的任何一個(gè)的方法的計(jì)算機(jī)可讀代碼裝置。
全文摘要
本發(fā)明涉及一種用于兩個(gè)或更多計(jì)算機(jī)終端之間的數(shù)據(jù)同步的系統(tǒng),包括至少一個(gè)客戶機(jī)終端、服務(wù)器終端、連接所述客戶機(jī)終端和服務(wù)器終端的通信網(wǎng)絡(luò),在客戶機(jī)終端上創(chuàng)建的數(shù)據(jù)字符串,所述客戶機(jī)終端被配置為向服務(wù)器終端發(fā)送數(shù)據(jù)字符串以在兩個(gè)終端之間同步,其特征在于同步失敗后,帶有最新同步信息的包括所述數(shù)據(jù)字符串的一致性數(shù)據(jù)被配置為存儲(chǔ)在客戶機(jī)終端上的數(shù)據(jù)庫(kù)中并根據(jù)重試計(jì)數(shù)器在以后重新發(fā)送。
文檔編號(hào)G06F17/30GK102667728SQ201080052677
公開日2012年9月12日 申請(qǐng)日期2010年10月11日 優(yōu)先權(quán)日2009年10月9日
發(fā)明者A·懷特菲爾德, E·哈伯馬徹爾, H·布拉甘地, H-L·梅, K·索羅金, S·普里烏克斯 申請(qǐng)人:阿瑪?shù)盟箖珊瞎?br>