• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于XML的數(shù)據(jù)流轉(zhuǎn)換在民航離港系統(tǒng)中應(yīng)用

      2020-05-22 11:24:52闞勁軍王曉東
      關(guān)鍵詞:登機(jī)牌離港數(shù)據(jù)流

      闞勁軍,余 揚(yáng),王 欣,王曉東

      (1.中國民航信息網(wǎng)絡(luò)股份有限公司,北京 101318;2.中航信民航旅客服務(wù)智能化應(yīng)用技術(shù)重點(diǎn)實(shí)驗(yàn)室,北京 101318)

      0 引 言

      國內(nèi)的民航業(yè)正處在迅速發(fā)展之中,客運(yùn)業(yè)務(wù)是民航業(yè)務(wù)的重要組成部分,每天全國的機(jī)場(chǎng)都會(huì)處理大批量的旅客出行。目前,機(jī)場(chǎng)使用的辦理旅客登機(jī)的信息系統(tǒng),即離港系統(tǒng)(departure control system,DCS)[1-2],處理流程包括旅客值機(jī)和登機(jī)兩部分。在旅客值機(jī)時(shí),打印該名旅客登機(jī)牌,如果有行李,還需要打印行李牌。這些紙牌都是旅客乘機(jī)的重要憑證。因此,打印工作在離港系統(tǒng)中尤為重要。

      由于機(jī)場(chǎng)所采購的登機(jī)牌和行李牌打印機(jī)各不相同,而且不同機(jī)場(chǎng)對(duì)提取的旅客打印信息也要求各異,民航信息服務(wù)提供部門的離港主機(jī)數(shù)據(jù)流格式目前也有0號(hào)、1號(hào)、2號(hào)等數(shù)據(jù)流之分。為了適應(yīng)各地機(jī)場(chǎng)的具體要求,在離港系統(tǒng)投產(chǎn)中往往需要修改應(yīng)用程序以適應(yīng)當(dāng)?shù)靥囟ǖ拇蛴∫?,造成?yīng)用程序的版本不一致,不便于日常維護(hù),也給系統(tǒng)投產(chǎn)造成很大被動(dòng)。

      目前各地機(jī)場(chǎng)打印問題都比較突出。由于市場(chǎng)上打印機(jī)型號(hào)眾多,打印機(jī)軟件版本不一致,各種打印機(jī)的反饋信息也不一致,離港系統(tǒng)在各地機(jī)場(chǎng)都是被動(dòng)地適應(yīng)當(dāng)?shù)卮蛴C(jī)。由于數(shù)據(jù)流多種多樣,打印機(jī)情況千差萬別,沒有一個(gè)統(tǒng)一標(biāo)準(zhǔn),因此系統(tǒng)的投產(chǎn)實(shí)施在打印機(jī)測(cè)試上耗費(fèi)精力過多。

      為了徹底解決離港系統(tǒng)中打印登機(jī)牌和行李牌時(shí)受制于當(dāng)?shù)貦C(jī)場(chǎng)環(huán)境的被動(dòng)局面,作者在離港系統(tǒng)開發(fā)和維護(hù)過程中,創(chuàng)造性提出了基于DTD數(shù)據(jù)類型定義[3]以及XML格式[3]描述,通過以XML標(biāo)簽格式配置登機(jī)牌數(shù)據(jù)流和行李牌數(shù)據(jù)流各子項(xiàng)的具體轉(zhuǎn)換規(guī)則,使得離港前端應(yīng)用程序可以靈活處理各地機(jī)場(chǎng)打印的不同情況,扭轉(zhuǎn)了離港系統(tǒng)在投產(chǎn)中的被動(dòng)局面。

      1 XML及DTD文檔應(yīng)用介紹

      XML(可擴(kuò)展標(biāo)記語言)是目前業(yè)界流行的數(shù)據(jù)表示形式,脫離于任何具體編程語言。正規(guī)格式的XML文檔通常由三部分組成[3-4]:一個(gè)可選的序言(prolog);文檔的主體(body)是XML文檔的關(guān)鍵部分,由一至多個(gè)元素組成的層次樹形式;可選的結(jié)尾(epilog)包括注釋、處理指令等。元素是XML標(biāo)記的基本組成部分,所有XML數(shù)據(jù)都要包容在元素之中。DTD規(guī)定了XML文檔的文法結(jié)構(gòu),使XML解析器能夠理解和解釋該文檔的內(nèi)容,在DTD中包含可以在XML文檔中出現(xiàn)的標(biāo)簽列表,規(guī)定標(biāo)簽的類型、屬性。

      XML主要的優(yōu)點(diǎn)是易于建立和易于分析,既是平臺(tái)無關(guān)的、又是廠商無關(guān)的,獨(dú)立于編程語言,良好的可擴(kuò)展性以及強(qiáng)大的工業(yè)支持。DTD[3]實(shí)際上可以看作一個(gè)或多個(gè)XML文件的模板,這些XML文件中的元素、元素的屬性、元素的排列方式、順序、元素能夠包含的內(nèi)容等,都必須符合DTD[5-6]中的定義。XML文件中的元素,即創(chuàng)建的標(biāo)記,是根據(jù)應(yīng)用的實(shí)際情況來創(chuàng)建的。

      2 在離港系統(tǒng)打印功能中使用基于XML的數(shù)據(jù)流轉(zhuǎn)換

      離港主機(jī)中的旅客登機(jī)牌數(shù)據(jù)流是在值機(jī)接收旅客成功后,由DCS系統(tǒng)發(fā)給離港前端應(yīng)用程序的、包含該旅客有關(guān)值機(jī)、登機(jī)信息的字符串,通常包括三部分:數(shù)據(jù)流頭部、數(shù)據(jù)項(xiàng)、結(jié)尾標(biāo)識(shí)。

      2.1 數(shù)據(jù)流轉(zhuǎn)換的功能定義

      數(shù)據(jù)流轉(zhuǎn)換提供一個(gè)具有極強(qiáng)兼容性的通道,它能夠接受任何形式的原始數(shù)據(jù)流,并將其轉(zhuǎn)換為當(dāng)?shù)卮蛴C(jī)所能接受的輸出形式。通過這個(gè)通道,將離港系統(tǒng)打印功能處理的數(shù)據(jù)流和打印機(jī)隔離開,真正送往打印的是轉(zhuǎn)換后的定制數(shù)據(jù)流。這種設(shè)計(jì),改變了以前數(shù)據(jù)流和打印機(jī)的網(wǎng)狀關(guān)系,簡(jiǎn)化為圖1所示的對(duì)應(yīng)關(guān)系。

      圖1 數(shù)據(jù)流和打印機(jī)的對(duì)應(yīng)關(guān)系

      打印模塊在各地機(jī)場(chǎng)投產(chǎn)實(shí)施過程中,提供方便靈活的配置管理方法,并可以支持不同的打印機(jī)、不同的打印格式。圖1中可以支持的打印機(jī)設(shè)備廠商舉例有IER,HDL,SATO,BOCA,F(xiàn)utitec等。

      2.2 數(shù)據(jù)流轉(zhuǎn)換的規(guī)則定義

      (1)數(shù)據(jù)來源可以有多個(gè),但是在某個(gè)機(jī)場(chǎng)針對(duì)某一種打印機(jī)只能有一種數(shù)據(jù)流發(fā)出。

      (2)數(shù)據(jù)流轉(zhuǎn)換規(guī)則可定義,根據(jù)不同的規(guī)則進(jìn)行數(shù)據(jù)流轉(zhuǎn)化,轉(zhuǎn)化后的數(shù)據(jù)流發(fā)送給打印機(jī)。

      數(shù)據(jù)流轉(zhuǎn)換規(guī)則包含數(shù)據(jù)流頭部定義、尾部定義、每個(gè)數(shù)據(jù)項(xiàng)的定義。

      轉(zhuǎn)換規(guī)則定義:

      ·數(shù)據(jù)流頭部,字符串格式,例如:BTP0101 行李牌 BTP010102,02代表件數(shù)。

      ·數(shù)據(jù)流尾部,字符串格式,例如:$。

      ·數(shù)據(jù)流內(nèi)容定義:每項(xiàng)以#開頭;項(xiàng)目編號(hào)為固定的兩位數(shù)字;順序從小到大;各項(xiàng)目的長(zhǎng)度需要限制;各項(xiàng)目中是否有空格,以及空格的具體位置;各項(xiàng)目中是否有特殊字符,如: ;日期項(xiàng)目的具體格式,如:年份以四位還是后兩位來標(biāo)示,月日的表現(xiàn)形式:如05Feb;條形碼的定義格式;有無LOGO標(biāo)示;中文項(xiàng)目是否支持。

      (3)根據(jù)不同的打印機(jī)交互模式進(jìn)行打印。支持延時(shí)、PROK打印模式,支持ETX STX打印,支持CUTE平臺(tái)打印、支持多PEC打印。

      (4)打印模塊要可靠,模塊的獨(dú)立性要強(qiáng),要高內(nèi)聚、低耦合。

      2.3 基于XML的數(shù)據(jù)流定義格式以及這種定義格式能夠達(dá)到的數(shù)據(jù)流轉(zhuǎn)化規(guī)則

      (1)數(shù)據(jù)流配置的XML定義格式設(shè)計(jì)。

      數(shù)據(jù)流文件樣式(以登機(jī)牌數(shù)據(jù)流為例)(見圖2)[7-8]:

      圖2 登機(jī)牌數(shù)據(jù)流轉(zhuǎn)換XML配置文件示例

      相應(yīng)DTD文件(以登機(jī)牌數(shù)據(jù)流為例)如圖3所示:

      圖3 數(shù)據(jù)流轉(zhuǎn)換DTD數(shù)據(jù)類型定義文件示例

      (2)能夠達(dá)到的數(shù)據(jù)流轉(zhuǎn)換規(guī)則。

      基于上述設(shè)計(jì)的數(shù)據(jù)流格式,可以實(shí)現(xiàn)對(duì)數(shù)據(jù)流做如下轉(zhuǎn)換:

      ·變換數(shù)據(jù)流頭部,實(shí)現(xiàn)登機(jī)牌數(shù)據(jù)流(CP格式)轉(zhuǎn)換成行李牌打印要求的格式(BTP格式)。

      ·對(duì)登機(jī)牌數(shù)據(jù)流可以實(shí)現(xiàn)由不同進(jìn)紙口打印輸出。

      ·對(duì)行李牌數(shù)據(jù)流可以實(shí)現(xiàn)多PEC打印支持。

      ·根據(jù)機(jī)場(chǎng)打印機(jī)對(duì)數(shù)據(jù)流尾部的具體要求,決定是否保留$符號(hào)。

      ·實(shí)現(xiàn)選擇性刪除主機(jī)發(fā)來的數(shù)據(jù)流項(xiàng)。即:凡是不在XML配置文件中的數(shù)據(jù)流項(xiàng),都不做保留。

      ·實(shí)現(xiàn)對(duì)數(shù)據(jù)流項(xiàng)的轉(zhuǎn)換要求。

      ·增加不在原始數(shù)據(jù)流中的數(shù)據(jù)流項(xiàng)目。

      ·無限制增加XML配置文件的處理策略,具有強(qiáng)大的擴(kuò)展能力,從而更好地進(jìn)行系統(tǒng)維護(hù)和擴(kuò)展。

      3 程序框架結(jié)構(gòu)及模塊的部分類設(shè)計(jì)和實(shí)現(xiàn)過程

      3.1 框架設(shè)計(jì)

      總體框架中,展示了數(shù)據(jù)流轉(zhuǎn)換的整個(gè)流程。離港前端程序通過讀取BPP和BTP的XML配置文件,獲取當(dāng)前的轉(zhuǎn)換設(shè)置規(guī)則,然后根據(jù)離港系統(tǒng)下發(fā)的旅客登機(jī)牌數(shù)據(jù)流和行李牌數(shù)據(jù)流的具體內(nèi)容,按照規(guī)則要求轉(zhuǎn)換成目標(biāo)數(shù)據(jù)流內(nèi)容,并發(fā)送給BPP和BTP打印機(jī)進(jìn)行打印輸出。

      總體框架見圖4。

      圖4 總體框架

      框架剖面圖從另一個(gè)角度闡釋了離港系統(tǒng)中旅客登機(jī)牌數(shù)據(jù)流和行李牌數(shù)據(jù)流轉(zhuǎn)換的處理流程,通過XML解析控件[9]獲取XML格式的數(shù)據(jù)流轉(zhuǎn)換規(guī)則標(biāo)簽內(nèi)容,并將離港主機(jī)或者備份系統(tǒng)產(chǎn)生的旅客登機(jī)牌數(shù)據(jù)流或者行李牌數(shù)據(jù)流作為輸入項(xiàng),按照獲取的轉(zhuǎn)換規(guī)則進(jìn)行轉(zhuǎn)換輸出并最終打印成需要的數(shù)據(jù)流內(nèi)容。

      框架剖面圖見圖5。

      圖5 框架剖面圖

      3.2 部分類結(jié)構(gòu)圖

      圖6展示了數(shù)據(jù)流轉(zhuǎn)換模塊的部分類結(jié)構(gòu)設(shè)計(jì),其中IElement是接口類,Citem是接口的實(shí)現(xiàn)類,并調(diào)用數(shù)據(jù)流子項(xiàng)處理類Citemcont來實(shí)現(xiàn)具體的數(shù)據(jù)流項(xiàng)內(nèi)容轉(zhuǎn)換、截取等特定處理。

      XML的元素節(jié)點(diǎn)映射成類結(jié)構(gòu)圖如圖6所示[10-11]。

      圖6 XML元素節(jié)點(diǎn)映射成類結(jié)構(gòu)圖

      圖7展示了數(shù)據(jù)流轉(zhuǎn)換類與數(shù)據(jù)流規(guī)則解析類之間的調(diào)用關(guān)聯(lián)關(guān)系。

      數(shù)據(jù)流轉(zhuǎn)換的流程映射到類結(jié)構(gòu)圖如圖7所示[12]。

      圖7 數(shù)據(jù)流轉(zhuǎn)換的流程映射到類結(jié)構(gòu)圖

      4 結(jié)束語

      基于XML設(shè)計(jì)的數(shù)據(jù)流配置文件,使離港系統(tǒng)在不修改程序代碼的前提下適應(yīng)各地不同類型的打印機(jī),定制生成需要格式的數(shù)據(jù)流[13-16],成功打印出登機(jī)牌和行李牌。

      目前,基于XML設(shè)計(jì)的數(shù)據(jù)流轉(zhuǎn)換功能已經(jīng)實(shí)現(xiàn),并在全國若干機(jī)場(chǎng)投產(chǎn)使用。根據(jù)現(xiàn)場(chǎng)反饋的信息,該功能模塊極大地滿足了當(dāng)?shù)貦C(jī)場(chǎng)的打印需求。

      猜你喜歡
      登機(jī)牌離港數(shù)據(jù)流
      離港航班延誤成本研究
      長(zhǎng)三角機(jī)場(chǎng)群運(yùn)行相關(guān)性分析
      汽車維修數(shù)據(jù)流基礎(chǔ)(下)
      機(jī)場(chǎng)里的小旅行
      機(jī)場(chǎng)里的小『旅行』
      一種提高TCP與UDP數(shù)據(jù)流公平性的擁塞控制機(jī)制
      旺角暴亂嫌犯被禁止離港
      爸爸的登機(jī)牌
      注意!別在朋友圈曬登機(jī)牌
      基于數(shù)據(jù)流聚類的多目標(biāo)跟蹤算法
      五原县| 共和县| 东平县| 甘南县| 平凉市| 石台县| 绵竹市| 海安县| 长沙县| 报价| 镇赉县| 分宜县| 高要市| 河源市| 乐东| 海原县| 中阳县| 上虞市| 莒南县| 社旗县| 江永县| 阜康市| 台东市| 元朗区| 迁安市| 城步| 曲麻莱县| 温宿县| 应城市| 五莲县| 桃园县| 民丰县| 黄山市| 凤城市| 娱乐| 梁平县| 阳信县| 利辛县| 武清区| 永州市| 屯留县|