一種解析sita報(bào)文的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明涉及通信領(lǐng)域,尤指一種解析國(guó)際航空電信協(xié)會(huì)(SITA,Societe International De Telecommun-ications)報(bào)文的方法和裝置。
【背景技術(shù)】
[0002] SITA報(bào)文(如旅客中轉(zhuǎn)報(bào)(PTM,Passenger Transfer Message)報(bào)文、飛行動(dòng)態(tài) 報(bào)(MVT,Aircraft Movement Message)報(bào)文、裝載報(bào)(LDM,Load Message)報(bào)文和集裝器 / 集裝板配載電報(bào)(CPM,Container/Pallet Distribution Message)報(bào)文等)解析應(yīng)用于民 航領(lǐng)域信息交互,航空公司和機(jī)場(chǎng)之間使用SITA報(bào)文進(jìn)行通信。SITA報(bào)文是按一定格式組 織的文本,為了能夠更好的閱讀、分析報(bào)文內(nèi)容需要對(duì)報(bào)文進(jìn)行解析。
[0003] SITA報(bào)文是已完整接收的報(bào)文,解析這種固定格式報(bào)文的常用方法是通過關(guān)鍵字 和位置信息查找報(bào)文內(nèi)容。例如,PTM報(bào)文為"CA1601/02SHE 1Q2B40K ID0WU/AY0MIDE"時(shí), 解析方法如下:
[0004] 1?通過"/"查找航班號(hào)CA1601。
[0005] 2.通過"/"和后面的空格查找航班日期02。
[0006] 3.通過航班日期后的空格和下一個(gè)空格查找到目的站點(diǎn)SHE。
[0007] 4.后面的內(nèi)容也按照以上的方式進(jìn)行解析。
[0008] 通過關(guān)鍵字(如"/"、空格等)和位置解析PTM報(bào)文,解析的邏輯復(fù)雜,兼容性較 差,特別是當(dāng)SITA報(bào)文的格式不標(biāo)準(zhǔn)或有新增的報(bào)文類型時(shí),需要重寫解析程序。
【發(fā)明內(nèi)容】
[0009] 為了解決上述問題,本發(fā)明提出了一種解析SITA報(bào)文的方法和裝置,能夠提高兼 容性。
[0010] 為了達(dá)到上述目的,本發(fā)明提出了一種解析國(guó)際航空電信協(xié)會(huì)SITA報(bào)文的方法, 包括:預(yù)先配置SITA報(bào)文的模板;還包括:
[0011] 接收到SITA報(bào)文,根據(jù)接收到的SITA報(bào)文的類型查找對(duì)應(yīng)的模板;
[0012] 根據(jù)查找到的模板對(duì)接收到的SITA報(bào)文進(jìn)行解析。
[0013] 優(yōu)選地,所述模板包括一個(gè)或一個(gè)以上解析器,每個(gè)解析器至少包括第一正則表 達(dá)式;
[0014] 所述根據(jù)查找到的模板對(duì)接收到的SITA報(bào)文進(jìn)行解析包括:
[0015] 對(duì)于每個(gè)解析器,判斷出所述解析器的類型為屬性,獲取所述解析器中的第一正 則表達(dá)式;
[0016] 將獲得的第一正則表達(dá)式與所述SITA報(bào)文進(jìn)行匹配,如果匹配成功,則獲取匹配 得到的第一匹配內(nèi)容;
[0017] 或者,對(duì)于每個(gè)解析器,判斷出所述解析器的類型為列表,獲取所述解析器中的第 一正則表達(dá)式;
[0018] 將獲得的第一正則表達(dá)式與所述SITA報(bào)文進(jìn)行匹配,如果匹配成功,則獲取匹配 得到的第一匹配內(nèi)容;繼續(xù)將所述SITA報(bào)文與所述獲得的第一正則表達(dá)式進(jìn)行匹配直到 匹配不成功。
[0019] 優(yōu)選地,所述根據(jù)查找到的模板對(duì)接收到的SITA報(bào)文進(jìn)行解析還包括:
[0020] 將所述SITA報(bào)文的初始位置或上一次匹配成功后的結(jié)束位置,到所述第一匹配 內(nèi)容的初始位置之間的內(nèi)容標(biāo)記為無法識(shí)別的內(nèi)容;
[0021] 或者,將所述第一匹配內(nèi)容的結(jié)束位置之后的內(nèi)容標(biāo)記為無法識(shí)別的內(nèi)容。
[0022] 優(yōu)選地,所述解析器還包括一個(gè)或一個(gè)以上屬性,所述模板還包括第一實(shí)體或所 述解析器還包括第二實(shí)體,所述根據(jù)查找到的模板對(duì)接收到的SITA報(bào)文進(jìn)行解析還包括:
[0023] 對(duì)于所述解析器中的每個(gè)屬性,在所述第一匹配內(nèi)容中獲取所述屬性對(duì)應(yīng)的第二 匹配內(nèi)容,將獲得的第二匹配內(nèi)容保存到第一實(shí)體或第二實(shí)體的所述屬性中。
[0024] 優(yōu)選地,所述解析器還包括一個(gè)或一個(gè)以上第一實(shí)體列表和/或第一分組列表, 所述第一實(shí)體列表或第一分組列表包括第二正則表達(dá)式;
[0025] 所述根據(jù)查找到的模板對(duì)接收到的SITA報(bào)文進(jìn)行解析還包括:
[0026] 對(duì)于每個(gè)第一實(shí)體列表或第一分組列表,在所述第一匹配內(nèi)容中獲取所述第一實(shí) 體列表或所述第一分組列表對(duì)應(yīng)的第三匹配內(nèi)容;
[0027] 獲取所述第一實(shí)體列表或所述第一分組列表中的第二正則表達(dá)式,將獲得的第二 正則表達(dá)式進(jìn)行匹配與所述第三匹配內(nèi)容,如果匹配成功,則獲取匹配得到的第四匹配內(nèi) 容;
[0028] 繼續(xù)將所述獲得的第二正則表達(dá)式所述第三匹配內(nèi)容與進(jìn)行匹配直到匹配不成 功。
[0029] 優(yōu)選地,當(dāng)所述第一實(shí)體列表或所述第一分組列表包括一個(gè)或一個(gè)以上屬性時(shí), 所述第一實(shí)體列表還包括第三實(shí)體,所述模板還包括第一實(shí)體或所述解析器還包括第二實(shí) 體;
[0030] 根據(jù)查找到的模板對(duì)接收到的SITA報(bào)文進(jìn)行解析還包括:
[0031] 對(duì)于所述第一實(shí)體列表或所述第一分組列表中的每個(gè)屬性,在所述第四匹配內(nèi)容 中獲取所述屬性對(duì)應(yīng)的第五匹配內(nèi)容,將獲得的第五匹配內(nèi)容保存到所述第三實(shí)體或所述 第二實(shí)體對(duì)應(yīng)的屬性中;匹配結(jié)束后,將所述第三實(shí)體或所述第二實(shí)體保存到所述第一實(shí) 體中。
[0032] 優(yōu)選地,所述根據(jù)查找到的模板對(duì)接收到的SITA報(bào)文進(jìn)行解析還包括:
[0033] 將所述SITA報(bào)文的初始位置或上一次匹配成功后的結(jié)束位置,到所述第四匹配 內(nèi)容的初始位置之間的內(nèi)容標(biāo)記為無法識(shí)別的內(nèi)容;
[0034] 或者,將所述第四匹配內(nèi)容的結(jié)束位置之后的內(nèi)容標(biāo)記為無法識(shí)別的內(nèi)容。
[0035] 本發(fā)明還提出了一種解析國(guó)際航空電信協(xié)會(huì)SITA報(bào)文的裝置,至少包括:
[0036] 存儲(chǔ)模塊,用于保存預(yù)先配置的SITA報(bào)文的模板;
[0037] 查找模塊,用于接收到SITA報(bào)文,根據(jù)接收到的SITA報(bào)文的類型查找對(duì)應(yīng)的模 板;
[0038] 解析模塊,用于根據(jù)查找到的模板對(duì)接收到的SITA報(bào)文進(jìn)行解析。
[0039] 優(yōu)選地,所述模板包括一個(gè)或一個(gè)以上解析器,每個(gè)解析器至少包括第一正則表 達(dá)式;
[0040] 所述解析模塊具體用于:
[0041] 對(duì)于每個(gè)解析器,判斷出所述解析器的類型為屬性,獲取所述解析器中的第一正 則表達(dá)式;
[0042] 將獲得的第一正則表達(dá)式與所述SITA報(bào)文進(jìn)行匹配,如果匹配成功,則獲取匹配 得到的第一匹配內(nèi)容;
[0043] 或者,對(duì)于每個(gè)解析器,判斷出所述解析器的類型為列表,獲取所述解析器中的第 一正則表達(dá)式;
[0044] 將獲得的第一正則表達(dá)式與所述SITA報(bào)文進(jìn)行匹配,如果匹配成功,則獲取匹配 得到的第一匹配內(nèi)容;繼續(xù)將所述SITA報(bào)文與所述獲得的第一正則表達(dá)式進(jìn)行匹配直到 匹配不成功。
[0045] 優(yōu)選地,所述解析器還包括一個(gè)或一個(gè)以上屬性,所述模板還包括第一實(shí)體或所 述解析器還包括第二實(shí)體,所述解析模塊還用于:
[0046] 對(duì)于所述解析器中的每個(gè)屬性,在所述第一匹配內(nèi)容中獲取所述屬性對(duì)應(yīng)的第二 匹配內(nèi)容,將獲得的第二匹配內(nèi)容保存到第一實(shí)體或第二實(shí)體的所述屬性中。
[0047] 優(yōu)選地,所述解析器還包括一個(gè)或一個(gè)以上第一實(shí)體列表和/或第一分組列表, 所述第一實(shí)體列表或第一分組列表包括第二正則表達(dá)式;
[0048] 所述解析模塊還用于:
[0049] 對(duì)于每個(gè)第一實(shí)體列表或第一分組列表,在所述第一匹配內(nèi)容中獲取所述第一實(shí) 體列表或所述第一分組列表對(duì)應(yīng)的第三匹配內(nèi)容;
[0050] 獲取所述第一實(shí)體列表或所述第一分組列表中的第二正則表達(dá)式,將獲得的第二 正則表達(dá)式與所述第三匹配內(nèi)容進(jìn)行匹配,如果匹配成功,則獲取匹配得到的第四匹配內(nèi) 容;
[0051] 繼續(xù)將所述獲得的第二正則表達(dá)式與所述第三匹配內(nèi)容進(jìn)行匹配直到匹配不成 功。
[0052] 優(yōu)選地,所述第一實(shí)體列表或所述第一分組列表包括一個(gè)或一個(gè)以上屬性,所述 第一實(shí)體列表還包括第三實(shí)體,所述模板還包括第一實(shí)體或所述解析器還包括第二實(shí)體;
[0053] 所述解析模塊還用于:
[0054] 對(duì)于所述第一實(shí)體列表或所述第一分組列表中的每個(gè)屬性,在所述第四匹配內(nèi)容 中獲取所述屬性對(duì)應(yīng)的第五匹配內(nèi)容,將獲得的第五匹配內(nèi)容保存到所述第三實(shí)體或所述 第二實(shí)體對(duì)應(yīng)的屬性中;匹配結(jié)束后,將所述第三實(shí)體或所述第二實(shí)體保存到所述第一實(shí) 體中。
[0055] 與現(xiàn)有技術(shù)相比,本發(fā)明包括:接收到SITA報(bào)文,根據(jù)接收到的SITA報(bào)文的類型 查找對(duì)應(yīng)的模板;根據(jù)查找到的模板對(duì)接收到的SITA報(bào)文進(jìn)行解析。通過本發(fā)明的方案, 根據(jù)預(yù)先配置的SITA報(bào)文的模板對(duì)SITA報(bào)文進(jìn)行解析,當(dāng)SITA報(bào)文的格式不標(biāo)準(zhǔn)或有新 增的報(bào)文類型時(shí),只需要新增SITA報(bào)文的模板就能夠進(jìn)行解析,而不需要重寫解析程序, 從而提高了兼容性。
【附圖說明】
[0056] 下面對(duì)本發(fā)明實(shí)施例中的附圖進(jìn)行說明,實(shí)施例中的附圖是用于對(duì)本發(fā)明的進(jìn)一 步理解,與說明書一起用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明保護(hù)范圍的限制。
[0057] 圖1為本發(fā)明解析SITA報(bào)文的方法的流程圖;
[0058] 圖2為本發(fā)明解析SITA報(bào)文的方法的具體實(shí)施例的流程圖;
[0059] 圖3為本發(fā)明解析SITA報(bào)文的裝置的結(jié)構(gòu)組成示意圖。
【具體實(shí)施方式】
[0060] 為了便于本領(lǐng)域技術(shù)人員的理解,下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步的描述,并不 能用來限制本發(fā)明的保護(hù)范圍。
[0061] 參見圖1,本發(fā)明提出了一種解析SITA報(bào)文的方法,預(yù)先配置SITA報(bào)文的模板,配 置的模板中包含有SITA報(bào)文的類型。
[0062] 其中,模板包括一個(gè)或一個(gè)以上解析器,每個(gè)解析器包括第一正則表達(dá)式和下列 的一個(gè)或多個(gè):
[0063] 第一實(shí)體、一個(gè)或一個(gè)以上屬性、一個(gè)或一個(gè)