專利名稱:一種防火墻穿透方法
技術領域:
本發(fā)明提供一種防火墻穿透方法,針對機場網(wǎng)絡的限制,利用代理技術,采用業(yè)務 代理的模式實現(xiàn)穿透機場網(wǎng)絡防火墻,達到遠程管理和控制自助柜機。
背景技術:
近年來國內(nèi)民航業(yè)自助值機服務得到了蓬勃的發(fā)展,自助值機服務是部署在自 助柜機上的應用,旅客可以自行辦理值機業(yè)務。為了盡可能利用柜機的硬件資源,越來越 多的航空公司自助服務軟件會運行在同一臺柜機上,這就要求各個軟件對硬件資源有效共 享,不能沖突;由于自助柜機一般都不需要人工干預,因此需要有便利的方法來遠程管理 柜機的使用狀態(tài)和升級部署?;谶@些需要IATA(國際航協(xié))提出了⑶SS(Common Use Self krvice,通用用戶自助服務)平臺,作為應用和硬件之間的中間件,以用于解決自助 柜機硬件共享以及軟硬件管理方面的問題。同時在IATA的標準中,提出了使用KMS(Ki0Sk Management System柜機管理系統(tǒng))通過 SMI (System Management Interface)接口來遠程 監(jiān)控和管理柜機及其應用,KMS可以是應用供應商提供也可以是柜機供應商提供。但是,IATA標準中SMI接口對柜機管理系統(tǒng)和⑶SS平臺交互的端口進行了限制, 必須使用corba (Common Object Request Broker Architecture公共對象請求代理體系結(jié) 構(gòu))技術,在20001端口上進行通訊。由于機場的網(wǎng)絡限制,有的時候這些端口不給開放, 或者只開放從機場內(nèi)對機場外的有狀態(tài)請求,而不允許從外部發(fā)起的請求,這就會導致柜 機管理系統(tǒng)和⑶SS柜機之間無法進行通訊?;谏鲜鰡栴},本發(fā)明人提出了一種防火墻穿透方法。該方法是針對機場網(wǎng)絡的 限制而提出的防火墻穿透方法,以解決符合IATA標準的遠程管理柜機的需要。本發(fā)明的方 法利用 了 Agent (代理)技術,擴展 IATA 標準中的 SMI (System Management Interface)接 口,轉(zhuǎn)換柜機和柜機管理系統(tǒng)之間的corta通訊為Agent到柜機管理系統(tǒng)的socket (套接 字,一種網(wǎng)絡通訊技術)請求,穿透機場防火墻,同樣的技術也應用在兩個柜機管理系統(tǒng)之 間的通訊上,以穿透機場之間的防火墻。目前,國際上同類型的產(chǎn)品有IER,IBM, NCR等廠商提供的自助管理系統(tǒng)。其中大 部分不具有穿透防火墻的能力,有的雖然具備穿透能力,但是沒有部署和分發(fā)能力,擴展性 比較差。
發(fā)明內(nèi)容
基于上述問題,本發(fā)明人提出了一種防火墻穿透方法。該方法是針對機場網(wǎng)絡的 限制而提出的防火墻穿透方法,以解決符合IATA標準的遠程管理柜機的需要。本發(fā)明的方 法利用 了 Agent (代理)技術,擴展 IATA 標準中的 SMI (System Management Interface)接 口,轉(zhuǎn)換柜機和柜機管理系統(tǒng)之間的corta通訊為Agent到柜機管理系統(tǒng)的socket請求, 穿透機場防火墻,同樣的技術也應用在兩個柜機管理系統(tǒng)之間的通訊上,以穿透機場之間 的防火墻。
本方法涉及到柜機管理系統(tǒng),代理程序和⑶SS平臺,是由這三個系統(tǒng)協(xié)同工作的 技術方案,把IATA標準結(jié)構(gòu)的柜機管理系統(tǒng)和CUSS平臺直接調(diào)用的兩層關系(參考圖 一),轉(zhuǎn)為有中間代理程序的三層調(diào)用關系(參考圖二)。本發(fā)明的防火墻穿透方法步驟如下步驟一轉(zhuǎn)換IATA標準corta對象為普通的JAVA對象,轉(zhuǎn)換corta調(diào)用為普通 socket 指令。步驟二 運行代理程序(Agent),該程序運行在自助柜機上,其中有一個Socket客
戶端,用以連接KMS的socket服務端,有一個corta客戶端,用來聯(lián)接⑶SS平臺的SMI接□。步驟三運行柜機管理系統(tǒng),該系統(tǒng)有一個socket服務端,能夠處理從代理程序 發(fā)來的socket請求。步驟四代理程序向柜機管理系統(tǒng)發(fā)送socket連接請求,柜機管理服務器驗證 后,返回socket應答,雙方的連接就通過了機場防火墻的驗證。步驟五代理程序監(jiān)測同柜機上的⑶SS平臺是否啟動,如果啟動就通知柜機管理 系統(tǒng),同時利用corta端口連接⑶SS平臺。步驟六柜機管理系統(tǒng)向代理程序發(fā)送轉(zhuǎn)換成socket指令的SMI命令。步驟七代理程序把socket命令轉(zhuǎn)成corba的SMI命令,發(fā)送給⑶SS平臺。步驟八代理程序把⑶SS平臺返回的corta命令處理結(jié)果,轉(zhuǎn)換成socket命令, 發(fā)送給柜機管理系統(tǒng)。步驟九柜機管理系統(tǒng)處理代理程序返回的調(diào)用結(jié)果。步驟十柜機管理系統(tǒng)也可以向代理程序發(fā)送其他類型的非⑶SS命令,以實現(xiàn)升 級和管理的其他功能。其中,在步驟二中,socket客戶端持續(xù)監(jiān)測指定IP和端口的socket服務端是否 啟動,以判斷柜機管理服務系統(tǒng)是否啟動;corta客戶端持續(xù)監(jiān)測本機IP (127. 0. 0. 1)端口 20001端口是否啟動,以判斷⑶SS平臺是否啟動。其中,在步驟三中,根據(jù)步驟一中的socket通訊接口,柜機管理系統(tǒng)解析接口中 的內(nèi)容并處理。對于擴展命令類型的指令,根據(jù)指令內(nèi)容不同可以有應答也可以無應答,但 是對于login —定要有應答,這樣才能保證socket連接穿透防火墻。對于SMI命令,嚴格 按照順序調(diào)用。 其中,在步驟四中,代理程序的連接請求采用socket命令中的login方法,代理程 序發(fā)送的login命令中socket消息在消息頭中包含柜機IP,組名,柜機名稱,柜機登陸密碼 的信息;柜機管理系統(tǒng)把這些信息保存在數(shù)據(jù)庫中進行驗證;一旦通過柜機管理系統(tǒng)的驗 證,柜機管理系統(tǒng)返回登陸成功的應答。其中,在步驟五中,代理程序監(jiān)測同柜機上的⑶SS平臺是否啟動,定時查詢20001 端口是否開放,如果開放就啟動corta連接請求。其中,在步驟六中,所發(fā)送的SMI命令按照⑶SS標準。其中,在步驟七中,代理程序把socket命令轉(zhuǎn)成corba的SMI命令,所轉(zhuǎn)換的SMI 命令和CUSS標準的對象類型相對應。其中,在步驟八中,代理程序所轉(zhuǎn)換成的socket命令,和CUSS標準的對象類型相對應。其中,在步驟九中,柜機管理系統(tǒng)會收到指令的返回,按照步驟一的對應關系,確 定返回的具體方法,并根據(jù)參數(shù)類型和參數(shù)內(nèi)容,解析返回的數(shù)據(jù)結(jié)構(gòu),并進行相應的處 理。具體邏輯如下SMI命令處理按照CUSS標準的規(guī)定,解析相關的數(shù)據(jù)信息,把平臺和應用的狀態(tài) 記錄在柜機管理系統(tǒng)的數(shù)據(jù)庫,然后根據(jù)標準的要求返回相應的應答,請參考CUSS標準;擴展的命令收到login方法請求需要驗證和判斷柜機是否合法,并返回響應;收 到getDirectory方法應答需要把數(shù)據(jù)保存到柜機管理系統(tǒng)的數(shù)據(jù)庫,無需返回應答;收到 logout方法請求,需要變更該柜機的注冊狀態(tài),無需返回應答。批處理命令收到批處理命令的響應,保存入數(shù)據(jù)庫,無需反饋。其中,在步驟十中,柜機管理系統(tǒng)也可以向代理程序發(fā)送批處理命令,有代理程序 執(zhí)行該批處理命令,由于批處理命令的內(nèi)容由用戶自定義,功能擴展性很大,用以用來實現(xiàn) 升級和管理等其他功能。
參照如下附圖將更加易于理解本發(fā)明圖1總體流程2所示為IATA標準的兩層結(jié)構(gòu)柜機管理系統(tǒng)和CUSS平臺調(diào)用關系;圖3所示為采用代理機制的三層結(jié)構(gòu)柜機管理系統(tǒng)和CUSS平臺調(diào)用關系;圖4KMS和Agent通訊流程圖
具體實施例方式本方法使用的各種技術比如socket通訊技術、corta通訊技術都是成熟技術, Agent和KMS都是使用JAVA開發(fā),也屬于成熟技術不再贅述。本方法涉及到的各個步驟,可 以按照以下方法實現(xiàn)。步驟一、轉(zhuǎn)換IATA標準corta對象為普通的JAVA對象,轉(zhuǎn)換corta調(diào)用為普通 socket 指令。雖然IATA CUSS標準對于SMI接口進行了詳細的規(guī)范,包括level,components, generateEvent, queryEvent, registerEvent, waitEvent, suspend, resume, load, stop, suspendAll, resumeAll, stopALL等。但是所有的方法實際傳送的內(nèi)容都是字符串或者數(shù) 值類型的數(shù)據(jù),因此首先設定一種JAVA對象,能夠處理這些字符和數(shù)值信息。同時,所有的 corta接口也需要轉(zhuǎn)換為普通socket命令,具體的方法根據(jù)通訊內(nèi)容設計,目前柜機管理 系統(tǒng)和代理程序之間將會通過以下幾類方法進行通訊擴展命令類型(CMD)是SMI接口的擴展,包括login(登陸),由Agent發(fā)起; getDirectory (獲得柜機工作目錄結(jié)構(gòu)),由柜機管理系統(tǒng)發(fā)起;logout (退出登陸),由 Agent發(fā)起;ke印Alive (保持socket聯(lián)通),由代理程序發(fā)起定時向柜機管理服務器發(fā)送。SMI 命令類型(INVOKE)包含所有的 SMI 標準接口 level、components、 generateEvent> queryEvent> registerEvent、waitEvent、suspend、resume> load、stop、 suspendAll、resumeAll、stopALL。該命令由代理程序發(fā)起,柜機管理服務器返回相應的應
批處理命令類型(BAT)由柜機管理系統(tǒng)發(fā)送給代理程序的命令,內(nèi)容為將要在 柜機上運行的批處理?;谝陨厦钚枨?,把socket通訊數(shù)據(jù)結(jié)構(gòu)設計如下表一
數(shù)椐類M功能描述headString卿、實’ IiKt丨l·:機的IP、川廣名、細等typeString消息類型,可以足擴展命令、SMl命令、 IMT命令、UCl狀態(tài)命令等asychronousTdString消息標識,/0來標識異步消總methodString ι,α方法名,參考及msgNumberInteger將會返Μ KMS消總總數(shù)msglndexInteger返丨I」丨KMS消息的索引,取值從1幵始typesStringt]參數(shù)類型argsObject[]泊總參數(shù)returnCodeIntegerreturnInfoS t r η gΠ Ν^ platStatusInteger ' τ狀態(tài)碼 0〒臺正常;-1無法連接平臺endFlagboolean消息是否已結(jié)束表一消息類型、方法、內(nèi)容和使用說明,如下表二
權利要求
1.一種防火墻穿透方法,其特征在于該方法包括步驟如下步驟一轉(zhuǎn)換IATA標準corta對象為普通的JAVA對象,轉(zhuǎn)換corta調(diào)用為普通socket 指令;步驟二 運行代理程序,該程序運行在自助柜機上,其中有一個Socket客戶端,用以連 接KMS的socket服務端,有一個corta客戶端,用來聯(lián)接⑶SS平臺的SMI接口;步驟三運行柜機管理系統(tǒng),該系統(tǒng)有一個socket服務端,能夠處理從代理程序發(fā)來 的socket請求;步驟四所述代理程序向柜機管理系統(tǒng)發(fā)送socket連接請求,所述柜機管理服務器驗 證后,返回socket應答,雙方的連接就通過了機場防火墻的驗證;步驟五所述代理程序監(jiān)測同柜機上的CUSS平臺是否啟動,如果啟動就通知所述柜機 管理系統(tǒng),同時利用corta端口連接⑶SS平臺;步驟六所述柜機管理系統(tǒng)向代理程序發(fā)送轉(zhuǎn)換成socket指令的SMI命令; 步驟七所述代理程序把socket命令轉(zhuǎn)成corba的SMI命令,發(fā)送給⑶SS平臺; 步驟八所述代理程序把CUSS平臺返回的corta命令處理結(jié)果,轉(zhuǎn)換成socket命令, 發(fā)送給所述柜機管理系統(tǒng);步驟九所述柜機管理系統(tǒng)處理所述代理程序返回的調(diào)用結(jié)果; 步驟十所述柜機管理系統(tǒng)也可以向所述代理程序發(fā)送其他類型的非CUSS命令,以實 現(xiàn)升級和管理的其他功能。其中,在步驟二中,socket客戶端持續(xù)監(jiān)測指定IP和端口的socket服務端是否啟動, 以判斷柜機管理服務系統(tǒng)是否啟動;corta客戶端持續(xù)監(jiān)測本機IP(127. 0. 0. 1)端口 20001 端口是否啟動,以判斷CUSS平臺是否啟動。
2.根據(jù)權利要求1所述的防火墻穿透方法,其中,在步驟三中,根據(jù)步驟一中的socket 通訊接口,所述柜機管理系統(tǒng)解析接口中的內(nèi)容并處理;對于擴展命令類型的指令,根據(jù)指 令內(nèi)容不同可以有應答也可以無應答,但是對于login —定要有應答,以保證socket連接 穿透防火墻;對于SMI命令,按順序調(diào)用。
3.根據(jù)權利要求1所述的防火墻穿透方法,其中,在步驟四中,所述代理程序的連接請 求采用socket命令中的login方法,所述代理程序發(fā)送的login命令中socket消息在消 息頭中包含柜機IP,組名,柜機名稱,柜機登陸密碼的信息;所述柜機管理系統(tǒng)把這些信息 保存在數(shù)據(jù)庫中進行驗證;一旦通過所述柜機管理系統(tǒng)的驗證,所述柜機管理系統(tǒng)返回登 陸成功的應答。
4.根據(jù)權利要求1所述的防火墻穿透方法,其中,在步驟五中,所述代理程序監(jiān)測同柜 機上的⑶SS平臺是否啟動,定時查詢20001端口是否開放,如果開放就啟動corta連接請 求。
5.根據(jù)權利要求1所述的防火墻穿透方法,其中,在步驟六中,所發(fā)送的SMI命令按照 CUSS標準。
6.根據(jù)權利要求1所述的防火墻穿透方法,其中,在步驟七中,所述代理程序把socket 命令轉(zhuǎn)成corba的SMI命令,所轉(zhuǎn)換的SMI命令和CUSS標準的對象類型相對應。
7.根據(jù)權利要求1所述的防火墻穿透方法,其中,在步驟八中,所述代理程序所轉(zhuǎn)換成 的socket命令,和⑶SS標準的對象類型相對應。
8.根據(jù)權利要求1所述的防火墻穿透方法,其中,在步驟九中,所述柜機管理系統(tǒng)會 收到指令的返回,按照步驟一的對應關系,確定返回的具體方法,并根據(jù)參數(shù)類型和參數(shù)內(nèi) 容,解析返回的數(shù)據(jù)結(jié)構(gòu),并進行相應的處理;具體邏輯為SMI命令處理按照CUSS標準的規(guī)定,解析相關的數(shù)據(jù)信息,把平臺和應用的狀態(tài)記錄 在柜機管理系統(tǒng)的數(shù)據(jù)庫,然后根據(jù)標準的要求返回相應的應答;擴展的命令收到login方法請求需要驗證和判斷柜機是否合法,并返回響應;收到 getDirectory方法應答需要把數(shù)據(jù)保存到柜機管理系統(tǒng)的數(shù)據(jù)庫,無需返回應答;收到 logout方法請求,需要變更該柜機的注冊狀態(tài),無需返回應答;批處理命令收到批處理命令的響應,保存入數(shù)據(jù)庫,無需反饋。
9.根據(jù)權利要求1所述的防火墻穿透方法,其中,在步驟十中,所述柜機管理系統(tǒng)也可 以向代理程序發(fā)送批處理命令,有所述代理程序執(zhí)行該批處理命令,由于批處理命令的內(nèi) 容由用戶自定義,功能擴展性大,用以用來實現(xiàn)升級和管理等其他功能。
全文摘要
本發(fā)明提供一種防火墻穿透方法,針對機場網(wǎng)絡的限制,利用代理技術,采用業(yè)務代理的模式實現(xiàn)穿透機場網(wǎng)絡防火墻,達到遠程管理和控制自助柜機。本發(fā)明的方法利用了Agent代理技術,擴展IATA標準中的SMI接口,轉(zhuǎn)換柜機和柜機管理系統(tǒng)之間的corba通訊為Agent到柜機管理系統(tǒng)的socket請求,穿透機場防火墻,同樣的技術也應用在兩個柜機管理系統(tǒng)之間的通訊上,以穿透機場之間的防火墻。本方法涉及到柜機管理系統(tǒng),代理程序和CUSS平臺,是由這三個系統(tǒng)協(xié)同工作的技術方案,把IATA標準結(jié)構(gòu)的柜機管理系統(tǒng)和CUSS平臺直接調(diào)用的兩層關系,轉(zhuǎn)為有中間代理程序的三層調(diào)用關系。
文檔編號H04L29/06GK102075532SQ201010624580
公開日2011年5月25日 申請日期2010年12月30日 優(yōu)先權日2010年12月30日
發(fā)明者蔣立華 申請人:中國民航信息網(wǎng)絡股份有限公司