毛軍為,郝 鵬
(中國民航信息網(wǎng)絡(luò)股份有限公司,北京 100710)
IATA Host to Host通信協(xié)議,是旅客和機場數(shù)據(jù)交換協(xié)議中的一部分,由IATA制定。該協(xié)議描述內(nèi)容等同于OSI參考模型中第4~6層的服務(wù)內(nèi)容。協(xié)議主要關(guān)注于實時報文交互以及有保護的點到點報文轉(zhuǎn)發(fā)功能。由于該協(xié)議基于SLC、X.25或AX.25協(xié)議之上,因此相當于轉(zhuǎn)換協(xié)議[1]。
雖然目前國際上領(lǐng)先的各大GDS和航空公司系統(tǒng)架構(gòu)、技術(shù)發(fā)展路線不同,但在系統(tǒng)間HTH報文交換方面,都朝著基于業(yè)務(wù)類型分組和精細化控制的方向發(fā)展,以求擁有高性能、大容量和高并發(fā)能力的同時,更靈活地支持應(yīng)用業(yè)務(wù)的發(fā)展[2]。由于優(yōu)利公司系統(tǒng)在軟、硬件方面的專有性,在現(xiàn)階段,無法直接借鑒現(xiàn)有先進技術(shù),只能在掌握當前主機系統(tǒng)底層技術(shù)實現(xiàn)的基礎(chǔ)上,獨立研發(fā)基于優(yōu)利主機系統(tǒng)平臺的高性能電報交互控制模塊。
在當前民航旅客運輸業(yè)中,全球各大計算機分銷系統(tǒng)(GDS)和航空公司信息系統(tǒng)之間的電報數(shù)據(jù)交換普遍采用國際標準及行業(yè)通用的報文協(xié)議[3],報文交換廣泛應(yīng)用于民航旅客信息系統(tǒng)的多個核心業(yè)務(wù)模塊。隨著中國民航業(yè)的持續(xù)高速增長,三大國際航空聯(lián)盟、電子客票等國際合作業(yè)務(wù)的全面展開,中國民航旅客信息系統(tǒng)與國外航空公司信息系統(tǒng)、各大計算機分銷系統(tǒng)之間開展了廣泛而密切的合作。在報文交互方面,目前中國民航旅客信息系統(tǒng)與上百家國外航空公司、大型分銷系統(tǒng)之間建立了雙向直連通道,連接數(shù)多達210條,與外航系統(tǒng)間各類報文交換數(shù)量也呈逐年遞增的趨勢,目前僅航空業(yè)務(wù)模塊峰值期間接收報文量已達到320份/s,瞬時峰值超過450份/s。
圖1列出過去5年來中國民航旅客信息系統(tǒng)航空業(yè)務(wù)模塊峰值期間接收報文量與民航旅客量[4]的增長情況對比??梢?,隨著旅客量的持續(xù)增長和業(yè)務(wù)合作的深入廣泛開展,跨系統(tǒng)平臺的報文訪問量增長趨勢大大高于旅客量的增長趨勢。中國民航業(yè)務(wù)量和交易量的快速增長,系統(tǒng)間業(yè)務(wù)合作的種類、范圍和復(fù)雜度的不斷提高,都對民航旅客信息系統(tǒng)對報文的實時、并發(fā)及高效穩(wěn)定的處理能力提出了更高的要求,在針對邊界條件的高性能處理方面[5-6],就更具挑戰(zhàn)性。
中國民航全球分銷系統(tǒng)和航空公司系統(tǒng)采用美國優(yōu)利公司大型主機解決方案,在未來5年內(nèi),整個信息系統(tǒng)70%以上的數(shù)據(jù)、75%左右的業(yè)務(wù)邏輯實現(xiàn)以及90%的交易指令,仍然由主機系統(tǒng)承擔。同時,高速網(wǎng)絡(luò)環(huán)境中,網(wǎng)絡(luò)業(yè)務(wù)的機制面臨著業(yè)務(wù)彈性與處理性能兩個方面的挑戰(zhàn)[7]。因此,如何對現(xiàn)有主機系統(tǒng)技術(shù)架構(gòu)進行升級改造,使其適應(yīng)新興業(yè)務(wù)模式的發(fā)展要求,并與現(xiàn)代信息技術(shù)和外圍開放子系統(tǒng)有機融合,是當前面對的一大問題。而提升系統(tǒng)間報文交換的支持能力,是眾多技術(shù)難點之一。
本文介紹了一種報文成組并發(fā)控制的技術(shù)解決方案,在現(xiàn)有主機系統(tǒng)報文處理架構(gòu)的基礎(chǔ)上,根據(jù)報文會話屬性、分塊屬性、路由屬性等特征,對報文進行應(yīng)用層分組控制,合理利用有限的系統(tǒng)資源,在滿足業(yè)務(wù)功能要求的前提下,有效提升了系統(tǒng)的訪問容量和并發(fā)處理能力。應(yīng)用新技術(shù)架構(gòu)后,綜合處理效率和服務(wù)容量都有顯著提升;同時,通過對不同業(yè)務(wù)功能的訪問隔離,實現(xiàn)了系統(tǒng)資源的靈活配置,提升了系統(tǒng)服務(wù)水平。
HTH報文處理過程分為系統(tǒng)層面過程和應(yīng)用層面過程[8-9]:系統(tǒng)層面過程主要關(guān)注系統(tǒng)資源分配、報文并發(fā)處理調(diào)度、系統(tǒng)間狀態(tài)同步等非業(yè)務(wù)應(yīng)用方面的工作;應(yīng)用層面過程主要關(guān)注報文能夠被迅速正確地處理,滿足各業(yè)務(wù)功能需要。服務(wù)響應(yīng)端系統(tǒng)應(yīng)用處理平臺在收到對端系統(tǒng)的請求報文后,在系統(tǒng)層面上的處理過程,決定了一個系統(tǒng)對報文處理的能力和效率[10]。
一個高效穩(wěn)定的系統(tǒng)對報文處理的能力必須具備以下幾方面的要求:
1)對大容量和高并發(fā)報文的實時響應(yīng)能力;
2)區(qū)分來自不同遠端應(yīng)用服務(wù)的請求并維護會話狀態(tài);
3)系統(tǒng)間應(yīng)用層通信狀態(tài)協(xié)調(diào);
4)不同會話類型、應(yīng)用類型之間的會話沖突管理。
以上各項,可歸納為報文處理在響應(yīng)速度、并發(fā)容量、系統(tǒng)間狀態(tài)一致性、應(yīng)用穩(wěn)定性等方面的要求。這些要求相互影響制約,很難做到同時滿足。
為解決上述矛盾,滿足系統(tǒng)報文處理的實際需求,首先需要對各類報文的通信、同步方式特點以及系統(tǒng)響應(yīng)處理的要求進行分類統(tǒng)計,在此基礎(chǔ)上設(shè)計并建設(shè)高效可靠的報文處理架構(gòu)體系,提供多樣而有針對性的報文處理功能,從而優(yōu)化系統(tǒng)處理能力,保證報文處理的一致性、穩(wěn)定性和可靠性要求,并實現(xiàn)系統(tǒng)資源的合理分配和動態(tài)調(diào)整。
HTH報文在系統(tǒng)處理層面可以根據(jù)傳輸屬性進行分類[11],傳輸屬性按報文傳輸過程中,不同的關(guān)注點分為3類,每類包含以下多種狀態(tài):
1)會話屬性:描述報文之間的應(yīng)用層上下文關(guān)系,包含以下狀態(tài):①會話開始(first in series);②會話保持(middle in series);③會話結(jié)束(last in series);④會話終止(PEQ/WHY-CODE);⑤無會話報文(only in series)。
2)層疊屬性:描述3方通信狀態(tài)下,報文向第3方系統(tǒng)轉(zhuǎn)發(fā)的要求,包含以下狀態(tài):①轉(zhuǎn)發(fā)請求(PUSH);②轉(zhuǎn)發(fā)答復(fù)(POP);③無轉(zhuǎn)發(fā)要求(NOPE);④基于第5層協(xié)議的轉(zhuǎn)發(fā)(layer 5 cascading)。
3)分塊屬性:應(yīng)用層報文尺寸超過系統(tǒng)通信容量時,分塊傳輸?shù)囊螅韵聽顟B(tài):①首個分塊(F);②中間分塊(D);③最后分塊(E);④無分塊(-)。
任何報文,都可描述為上述3類屬性中某種狀態(tài)的組合,圖2以1種復(fù)雜組合為例,描述HTH報文狀態(tài)組合的多樣性。由于3類屬性中的各個狀態(tài)可以以任意組合的形式出現(xiàn),所以當報文狀態(tài)是標準會話、又需要層疊轉(zhuǎn)發(fā)處理,同時還是大容量分塊時,報文可能是36種①不同傳輸狀態(tài)組合中的一種。
圖2 HTH報文傳輸屬性分類Fig.2 Classification of HTH messages by transmission attributes
報文屬性和狀態(tài)不同,對應(yīng)的處理要求也不同。在某些情況下系統(tǒng)只需簡單地將報文轉(zhuǎn)給應(yīng)用層繼續(xù)處理,另一些報文的處理過程中則需要保存前一份報文的狀態(tài),更有一些報文,系統(tǒng)甚至需要保存之前收到的所有與之相關(guān)聯(lián)報文的內(nèi)容。要同時兼顧所有這些狀態(tài)組合,相應(yīng)的處理邏輯將會非常復(fù)雜和冗長,效率很低,而且,系統(tǒng)各種配置資源都不能充分利用,從而造成大量的空等待浪費[12]。對于并發(fā)訪問量和傳輸狀態(tài)組合復(fù)雜度都極高的民航旅客信息系統(tǒng),上述處理邏輯勢必會造成處理效率低下、系統(tǒng)配置資源浪費和應(yīng)用一致性混亂等多方面的嚴重問題。
如果能夠根據(jù)報文傳輸屬性的不同狀態(tài),對報文進行分類,并針對不同屬性狀態(tài)的特點,優(yōu)化相應(yīng)的處理邏輯,使每類報文都有專門的邏輯進行處理;同時,按報文3類屬性的不同要求,進行分階段處理,實現(xiàn)報文處理的流水線作業(yè)模式,就可以提升系統(tǒng)處理效率和配置資源的利用率,從而實現(xiàn)系統(tǒng)整體處理效率和并發(fā)容量的大幅提升。
圖3描述了報文成組并發(fā)控制優(yōu)化邏輯的基本架構(gòu),此架構(gòu)介于網(wǎng)絡(luò)通信接口與應(yīng)用層報文處理邏輯之間,為應(yīng)用層隱藏了網(wǎng)絡(luò)通信以及系統(tǒng)層報文控制的細節(jié)。整個架構(gòu)由傳輸類型識別調(diào)度模塊、5種獨立的報文分類處理模塊、規(guī)則設(shè)置與監(jiān)控模塊以及后臺輔助處理模塊共8部分構(gòu)成。
圖3 HTH報文成組并發(fā)控制優(yōu)化邏輯基本架構(gòu)Fig.3 Structure of optimization logic of HTH message grouping concurrency control
其中,分塊大報文拼裝模塊負責完成分塊數(shù)據(jù)暫存、順序控制、報文拼接、一致性檢查等工作;層疊模式報文轉(zhuǎn)發(fā)分為“無狀態(tài)保護”的直接轉(zhuǎn)發(fā)和與應(yīng)用層邏輯關(guān)聯(lián)的“有狀態(tài)保護”轉(zhuǎn)發(fā)2種模式,系統(tǒng)分別提供獨立處理模塊和專用的系統(tǒng)資源配置。會話屬性將報文分為“標準無會話報文”(SONM②)與“標準會話報文”(SMTM③)兩類,分別進行處理。超時會話清理器負責查找并清理服務(wù)超時或意外故障情況下的無效會話,并釋放系統(tǒng)資源。
實際處理過程中,報文首先由連接類型識別調(diào)度模塊(link type control)分析;依次檢查報文分塊屬性(HEDI④)、層疊屬性(CASCADING⑤)和會話屬性(MSG series)的狀態(tài),調(diào)用或跳過相應(yīng)的處理模塊,根據(jù)需要分配和占用系統(tǒng)資源,直至完成系統(tǒng)層面全部處理。
HTH報文按照傳輸類型雖然可以細分多種,但是實踐過程中大量出現(xiàn)的報文類型主要分為“標準無會話報文”和“標準會話報文”2類。下文將就標準無會話報文和標準會話報文兩個處理模塊在應(yīng)用成組控制優(yōu)化邏輯的實現(xiàn)原理進行詳細介紹。
2.2.1 標準無會話報文(SONM)處理模塊
標準無會話報文的特點是各報文之間沒有上下文關(guān)系,接收系統(tǒng)不需要保存通信會話狀態(tài)和應(yīng)用處理狀態(tài),在當前系統(tǒng)報文處理架構(gòu)下,不會為標準無會話報文分配獨占的配置資源⑥,而是在資源池中臨時分配一個配置單元供其使用。
目前中國民航旅客信息系統(tǒng)的航空業(yè)務(wù)模塊收到的SONM報文量約占航空業(yè)務(wù)模塊收到全部報文量的25%,而為處理這些報文,需要獨占或共用報文處理配置資源約為系統(tǒng)全部報文處理配置的95%以上,大量的資源處于無效占用狀態(tài)[2]。
并發(fā)容量指1s內(nèi)系統(tǒng)能夠處理的請求報文量,目前單份SONM報文的系統(tǒng)平均處理時間為75 ms⑦,在操作系統(tǒng)層面,允許同時執(zhí)行70個進程,專門用于請求報文處理,計算出的理論并發(fā)容量在當前資源配置下的上限值約為950份/s⑧;而在不使用成組控制優(yōu)化邏輯的情況下,報文處理資源配置得不到充分利用,對單個遠端應(yīng)用服務(wù),實測SONM報文最大并發(fā)處理容量只有理論值的一半。
此外,在不使用成組控制優(yōu)化邏輯的情況下,每個獨立遠端應(yīng)用服務(wù)獨占一組配置資源,為了保證系統(tǒng)在瞬間峰值壓力下的處理能力,各組配置都留有相當多的冗余量,所以在絕大多數(shù)情況下,大量配置都處于空閑狀態(tài);而另一方面,系統(tǒng)無法分配足夠的配置資源支持大容量標準會話報文(SMTM)的訪問,系統(tǒng)資源配置的浪費極為嚴重。
成組控制優(yōu)化邏輯從節(jié)省系統(tǒng)資源配置和提高并發(fā)處理容量兩方面對SONM報文處理過程進行優(yōu)化。系統(tǒng)原有邏輯在處理SONM報文時,分配了與SMTM報文處理相同的配置單元,由于SONM報文的上下文無關(guān)屬性,分配的系統(tǒng)資源既不需要獨占,又不需要記錄通信狀態(tài)。所以實際上,原有SONM報文處理過程,只是執(zhí)行了分配、保持和回收系統(tǒng)資源的操作,而沒有實際使用這些資源。
因此,系統(tǒng)收到SONM報文后,可以隨機分配一個虛擬配置⑨進行處理。成組并發(fā)控制優(yōu)化邏輯中的“無會話報文共享PID池”模塊,定義了一組虛擬配置,SONM報文處理邏輯能夠象訪問真實資源一樣訪問各組虛擬配置單元,完成SONM報文處理。這些虛擬配置構(gòu)成系統(tǒng)的“公用虛擬配置資源池”,處理來自不同系統(tǒng)的所有SONM報文。由于多個訪問系統(tǒng)共享配置冗余度,而且實際上多個系統(tǒng)之間存在著訪問量自然錯峰的特點,使用成組控制優(yōu)化邏輯后,以當前SONM報文平均訪問量(35次/s10)計算,整個民航信息系統(tǒng)的航空業(yè)務(wù)模塊只需要35個虛擬配置就可以滿足要求,且理論配置冗余度仍然高達90%?以上。
由于系統(tǒng)不需要為SONM報文保存會話狀態(tài)和應(yīng)用狀態(tài),因此可以采用虛擬公用配置池模式處理SONM報文,不再靜態(tài)占用物理配置資源。這種模式下,系統(tǒng)對SONM報文的并發(fā)處理容量也可以接近系統(tǒng)處理能力的理論上限值。
此外,出于應(yīng)用多樣性、系統(tǒng)安全和負載平衡等方面的考慮,需要對虛擬配置模式加以控制。在虛擬公用資源池的基礎(chǔ)上,增加了根據(jù)報文應(yīng)用類型或報文來源系統(tǒng)的不同,對SONM報文進行分離處理的功能,并引入文件鎖?來控制各組的并發(fā)處理的上限值。這樣,各組報文處理過程可根據(jù)實際需要使用預(yù)先定制的虛擬配置,每組報文占用的系統(tǒng)資源以及全部SONM報文處理的總系統(tǒng)開銷都將處于控制之下。
2.2.2 標準會話報文(SMTM)處理模塊
標準會話報文的特點是一組報文之間存在著上下文關(guān)系,系統(tǒng)需要為這些報文保存通信會話狀態(tài)和應(yīng)用處理狀態(tài),因此一組具有關(guān)聯(lián)關(guān)系的SMTM報文,必須在同一個連接配置上進行處理。這對會話狀態(tài)管理和系統(tǒng)間同步的要求更嚴格。SMTM報文占民航信息系統(tǒng)的航空業(yè)務(wù)模塊接收報文中的很大部分,相應(yīng)的系統(tǒng)配置資源和系統(tǒng)開銷在所有報文中也占較高比例。
為了滿足SMTM報文的大容量、高并發(fā)特性以及實時性要求,標準會話報文處理模塊采用資源多級分組方式,為每個需要建立新會話的報文調(diào)配所需要的系統(tǒng)資源。
第1級資源分組是根據(jù)請求報文的源地址進行的自然分組。由于SMTM報文的上下文關(guān)聯(lián)屬性,系統(tǒng)需要為每個報文標識(TPR)?分配獨占資源,基于報文來源分組后,可以防止來自不同系統(tǒng)并具有相同標識的報文引發(fā)的沖突問題,系統(tǒng)為每組分配一定數(shù)量的配置資源,由該組報文專用。
第2級資源分組對同一來源的報文進行訪問負載平衡控制。首先,引入快速高效的USAS?常駐內(nèi)存數(shù)據(jù)庫記錄報文會話狀態(tài);之后,在第1級自然分組的基礎(chǔ)上,將系統(tǒng)資源配置為多達36個RANGE?序列。在高并發(fā)訪問狀態(tài)下,系統(tǒng)將同時收到多份屬于同一自然分組的報文,系統(tǒng)為每份報文初始化一個處理進程。這些進程使用同步鎖依次訪問常駐系統(tǒng)內(nèi)存公共數(shù)據(jù)區(qū),后者保存系統(tǒng)上一次為同類進報分配的RANGE序列號,獲得內(nèi)存訪問權(quán)的進程根據(jù)當前RANGE序列號選擇下一個有剩余資源的RANGE序列,分配給當前報文,并更新內(nèi)存中相應(yīng)的RANGE序列號。通過這種方式,并發(fā)進報被平均分配到多個RANGE序列上,實現(xiàn)了負載均衡。
第3級資源分組由屬于同一RANGE下的一組配置單元(PID?)組成。被分配到同一RANGE序列下的報文,其處理進程使用文件鎖依次訪問系統(tǒng)資源分配管理文件,獲得一個非占用系統(tǒng)資源,更新會話狀態(tài),并在整個會話過程中獨占資源。
圖4是資源分組處理模式的示意圖,一級分組為國外GDS SABRE報文獨占;在二級分組,系統(tǒng)為來自SABRE的所有報文,分配了36個RANGE;在三級分組,每個RANGE包含55個配置單元(PID),每個配置單元1次可以處理1份SMTM報文。
圖4 多級成組處理模式示意圖(以一家國外GDS(SABRE)的配置為例)Fig.4 Multi-level message grouping processing model
系統(tǒng)通過3級分組方式為SMTM報文分配系統(tǒng)資源并建立會話,處理過程主要通過搜索和更新內(nèi)存數(shù)據(jù)記錄完成,僅涉及1次文件讀寫操作(保存會話狀態(tài)),整個過程的系統(tǒng)開銷非常低,并且會話建立后,屬于同一會話的后續(xù)報文能夠迅速和準確地定位到上次分配的系統(tǒng)資源。同時,通過3級分組模式,所有并發(fā)進報的負載被均衡分布到各配置單元上,使系統(tǒng)資源得到了充分利用,從而滿足整個系統(tǒng)處理大容量、高并發(fā)報文的要求。
2.2.3 依應(yīng)用類型分組模式
采用多級分組模式后,在同一自然分組內(nèi)部,仍然可能出現(xiàn)局部并發(fā)壓力過高和一致性沖突的問題。這是因為同一服務(wù)發(fā)起端系統(tǒng)通常要向服務(wù)響應(yīng)端系統(tǒng)發(fā)送多種應(yīng)用類型的SMTM報文,在系統(tǒng)總體配置資源量的限制下,這些屬于不同應(yīng)用類型的報文只能被分配到同一自然分組內(nèi)。而二級分組忽略報文類型的差異,對所有接收到的報文平均分配資源。存在這種可能,即當某個應(yīng)用的訪問量出現(xiàn)瞬間高峰,或者因一致性問題導(dǎo)致大量配置資源被較長時間占用時,所有屬于同一自然分組的應(yīng)用都將受到影響。此外,也應(yīng)該考慮到,多個應(yīng)用類型的報文共用同一組PID資源,在應(yīng)用系統(tǒng)層面也容易出現(xiàn)一致性沖突。例如,實際應(yīng)用上存在這種情況:在一個會話中,具有相同標識的一組報文可能屬于不同的應(yīng)用,系統(tǒng)為這些報文分配同一個PID資源,由于這些報文在應(yīng)用層的服務(wù)超時時間(time-out)不同,在達到較短超時時間值后,整個會話就被終止,造成設(shè)置為較長超時時間的應(yīng)用,出現(xiàn)系統(tǒng)間同步問題。
為解決這些問題,在三級分組均衡負載的基礎(chǔ)上,提出了應(yīng)用分組概念。應(yīng)用分組就是給二級分組的各RANGE賦予應(yīng)用屬性,在完成一級分組后,報文按應(yīng)用類型被限制到指定的二級分組區(qū)域內(nèi)(部分RANGE內(nèi)),各應(yīng)用使用的配置資源相互隔離。這樣,在不同應(yīng)用之間調(diào)配系統(tǒng)資源就成為可能,進一步,通過實時監(jiān)控各應(yīng)用訪問壓力,以及在不同時間周期上各應(yīng)用訪問量變化規(guī)律的統(tǒng)計數(shù)據(jù),可以實現(xiàn)根據(jù)報文處理需要,在不同應(yīng)用之間動態(tài)調(diào)整配置資源,在提升應(yīng)用一致性的同時,優(yōu)化了系統(tǒng)資源配置。
圖5是應(yīng)用分組處理模式的示意,36個RANGE根據(jù)業(yè)務(wù)應(yīng)用特點和訪問量的不同,分為邏輯上相互隔離的3組,分別用于Booking請求報文、TKT請求報文和其他請求報文的處理。
為驗證報文分組并發(fā)控制架構(gòu)的實際應(yīng)用效果,采用開放端模擬大量請求報文方式,進行對比測試。
系統(tǒng)原來分配了大量物理PID,用于SONM報文的處理,在當前的訪問量下,資源冗余度只有20%;在引入了成組控制優(yōu)化邏輯后,只需35個由全系統(tǒng)共享的虛擬PID替代原有真實處理PID,在相同報文訪問量下,仍然能夠保持90%以上的冗余度。另一方面,系統(tǒng)訪問虛擬PID的效率要明顯高于真實PID,SONM報文的處理時間會變短,因此,新方案所需系統(tǒng)配置資源大大降低,而報文的實際最大并發(fā)處理容量可以接近理論上限。
圖6列出了使用成組控制邏輯前后系統(tǒng)配置資源和報文最大并發(fā)處理容量的比較,為滿足現(xiàn)有SONM報文并發(fā)處理容量要求,新方案只需要35個虛擬PID資源,相當于原有配置的1/16。
對于SONM報文的處理,報文發(fā)生器模擬每秒500份只讀查詢請求報文。實測效果如圖7所示,圖7中橫軸表示壓力測試持續(xù)時間,單位為秒,縱軸表示等待處理的請求報文個數(shù)。在原有處理邏輯下,隨著時間增長,系統(tǒng)出現(xiàn)大量請求報文排隊等待現(xiàn)象(圖7中A1線),表明當前測試報文訪問壓力已超出系統(tǒng)承受能力;而采用并發(fā)控制架構(gòu)后,報文請求隊列緩慢增長,系統(tǒng)仍然能夠正常處理請求,可以平穩(wěn)渡過訪問高峰期(圖7中A2線)。
對于SMTM報文的處理,報文發(fā)生器模擬每秒200份只讀查詢請求報文,同時,模擬每秒50份數(shù)據(jù)更新請求報文。實測效果如圖8所示,圖8中橫軸表示壓力測試持續(xù)時間,單位為秒,縱軸表示SMTM請求報文被拒絕的百分比。
在原有處理邏輯下(圖7中A1線),由于只讀請求報文量較多,占用了大量配置資源,導(dǎo)致大量數(shù)據(jù)更新請求因資源限制問題被拒(向請求方系統(tǒng)回復(fù)錯誤代碼3M);通?;诔瑫r機制來判斷進程是否失敗[13]。而采用并發(fā)控制架構(gòu)后,使用應(yīng)用分組模式設(shè)置只讀請求和數(shù)據(jù)更新請求的資源分配比例,系統(tǒng)可以正常處理大部分數(shù)據(jù)更新請求。從實測效果來看,報文分組并發(fā)控制架構(gòu)使用較少的配置資源(原配置數(shù)量的1/16)就可以輕松滿足系統(tǒng)SONM報文處理的需要;對于SMTM報文的處理,報文分組并發(fā)控制架構(gòu)可以靈活設(shè)置系統(tǒng)資源的分配,確保關(guān)鍵業(yè)務(wù)應(yīng)用順利進行。
綜合上述實測數(shù)據(jù),在現(xiàn)有業(yè)務(wù)量和交易量條件下,實際應(yīng)用報文成組并發(fā)控制邏輯后,節(jié)約的系統(tǒng)配置資源和CPU處理資源?,其直接經(jīng)濟效益約合人民幣450萬元/年,同時系統(tǒng)資源能夠更多地分配給關(guān)鍵業(yè)務(wù)應(yīng)用,從而實現(xiàn)了整體服務(wù)能力的提升。
隨著中國民航旅客運輸量的快速增長,中國各大航空公司越來越多地參與到國際合作與競爭之中,新興業(yè)務(wù)模式的出現(xiàn)以及IT技術(shù)的發(fā)展,都對旅客信息系統(tǒng)的數(shù)據(jù)交換能力提出了越來越高的要求。HTH報文成組并發(fā)控制方面的技術(shù)探討和研究,在滿足歷史和環(huán)境限制的前提下,提出了大容量、高并發(fā)的實時交易系統(tǒng)報文處理在性能和信息一致性方面的解決方案,根據(jù)實測數(shù)據(jù),HTH報文成組并發(fā)控制邏輯能夠大幅提升系統(tǒng)報文并發(fā)處理能力,提高了系統(tǒng)對應(yīng)用業(yè)務(wù)訪問控制的靈活性,這一方案對新一代系統(tǒng)技術(shù)架構(gòu)的設(shè)計具有一定的參考價值。
注釋:
① 36為4種會話狀態(tài)×3種路由狀態(tài)×3種報文分塊狀態(tài)的組合。
② SONM:標準無會話報文,Standard only in series message。
③ SMNM:標準會話報文,Standard multiple in series message。
④ HEDI:指報文長度超過4 k字符的HTH報文。
⑤ CASCADING:層疊模式,三方通信狀態(tài)下報文路由及會話控制功能。
⑥ 系統(tǒng)配置資源指服務(wù)器端報文處理所需的PID、同步鎖、文件緩存等,各類系統(tǒng)資源之間存在固定配置比例關(guān)系,本文中簡單地使用PID數(shù)量表示系統(tǒng)配置資源。
⑦ 業(yè)界的平均處理時間為250~300 ms。
⑧ 2010年中國民航旅客服務(wù)系統(tǒng)航空業(yè)務(wù)模塊的瞬時峰值報文量為420 份/s。
⑨ 虛擬配置:為保證報文處理順利進行而增加的部分程序邏輯,不占用真實系統(tǒng)配置資源。
⑩ 按照航空業(yè)務(wù)模塊報文平均訪問量140次/s來算,SONM報文占25%,即為35次/s。
? 對每個虛擬PID,按75 ms處理1份報,每PID每秒可處理13.33份報,當前只收到1份報,所以冗余度約為92%。
? 文件鎖:多進程同步控制機制,同一時刻最多只能有1個進程占用文件。
? TPR:transaction process reference,用于記錄發(fā)起報文的終端信息。
? USAS:unisys standard airline system,UNISYS公司的航空旅客服務(wù)大型聯(lián)機事務(wù)處理系統(tǒng)。
? RANGE:系統(tǒng)配置資源的分組概念,每個RANGE包含一定數(shù)量的系統(tǒng)配置。
? PID:physical device identifier,系統(tǒng)配置資源的標識。
? 根據(jù)系統(tǒng)提供商的計費標準進行估算,每單位CPU資源的年使用費用約合1.3萬元人民幣。
[1]IATA.IATA Systems Communications Reference:PART IV-Open Systems Migration Roadmap for Communications[G].Version 1.5.Montreal:IATA,1998.
[2]ZHAO YIFEI,ZHANG DE,YUE RENTIAN,et al.Analysis and Specification for Civil Aviation Information System[C]//icccs.2009 International Conference on Computer and Communications Security.Hong Kong:IEEE.2009:72-75.
[3]IATA.Reservations Interline Message Procedures Passenger(AIRIMP)[G].33rd ed.Montreal-Geneva:IATA,2009.
[4]中國航信運行中心.運行中心性能分析平臺[EB/OL].(2011-03-22).http://172.17.23.163/1.asp?pagename=HVSTAT.
[5]DIRCEU CAVENDISH,KAZUMI KUMAZOE,MASATO TSURU,et al.An Adaptive TCP Slow Start for High Speed Networks[C]//Proceedings of First International Conference on Erolving Internet.Cannes:PFLDnet,2009(8):15-20.
[6]SATHISH GOPALAKRISHNAN,MARCO CACCAMO,LUI SHA.Switch Scheduling and Network Design for Real-Time Systems[C]//12th IEEE Real-Time and Embedded Technology and Applications Symposium(RTAS′06),2006:289-300.
[7]張建宇,周 淵,鄒 維.PaSeM:并行無沖突的網(wǎng)絡(luò)流量會話管理[J].計算機學報,2010,33(7):1195-1212.
[8]UNISYS CORPORATION.USAS Systems Control(USAS SYS)Operations Reference Manual[G].Blue Bell:Unisys Corporation,2008.
[9]UNISYS CORPORATION.USAS Systems Control(USAS SYS)Programming Reference Manual[G].Blue Bell:Unisys Corporation,2008.
[10]UNISYS CORPORATION.Communications Application Program Interface(COMAPI)User′s Guide[G].Blue Bell:Unisys Corporation,2010.
[11]UNISYS CORPORATION.USAS Message Switching(USAS MSG)Operations Reference Manual[G].Blue Bell:Unisys Corporation,2007.
[12]牟 喬.準確高效的應(yīng)用層協(xié)議分析識別方法[J].計算機工程與科學,2010(8):39-45.
[13]XIAO GUANG DING,ZHIMIN GU,LEI SHI,et al,A Failure Detection Model Based on Message Delay Prediction[C]//2009 8th International Conference on Grid and Cooperative Computing,2009:24-30.