• 
    

    
    

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

      列車確報自動轉(zhuǎn)發(fā)程序的開發(fā)

      2014-08-01 14:55:53潘云松
      鐵路計算機應(yīng)用 2014年3期
      關(guān)鍵詞:徑路鐵路局總公司

      潘云松

      (昆明鐵路局 信息技術(shù)所,昆明 650011)

      列車確報自動轉(zhuǎn)發(fā)程序的開發(fā)

      潘云松

      (昆明鐵路局 信息技術(shù)所,昆明 650011)

      列車確報是指導(dǎo)鐵路運輸生產(chǎn)的重要基礎(chǔ)信息,確報轉(zhuǎn)報是整個確報體系中是核心。為了提高確報轉(zhuǎn)報質(zhì)量,昆明鐵路局開發(fā)了確報自動轉(zhuǎn)報程序。它利用調(diào)度計劃和行車調(diào)度信息,使用最短路徑(Dijkstra)算法推算轉(zhuǎn)報車站,實現(xiàn)自動轉(zhuǎn)報。文中重點論述程序設(shè)計原理和采用的技術(shù)。

      列車確報;自動轉(zhuǎn)發(fā);消息隊列;Oracle OCCI

      列車確報也稱“運統(tǒng)一”,是列車出發(fā)時向下一站和運輸組織部門報告本列車及其車輛詳細(xì)組成情況的信息報告,是編組作業(yè)、卸車預(yù)報、車流調(diào)整等工作必不可少的信息,也是鐵路車輛追蹤、行車調(diào)度、機車調(diào)度以及調(diào)車指揮作業(yè)的重要基礎(chǔ)數(shù)據(jù)。

      確報信息一般由編組站、區(qū)段站的確報系統(tǒng)產(chǎn)生。確報信息系統(tǒng)由鐵路總公司、鐵路局和車站3部分組成。車站部分主要實現(xiàn)確報發(fā)報和收報功能,在鐵路總公司和鐵路局端主要實現(xiàn)確報轉(zhuǎn)報功能。本文主要介紹鐵路局端確報轉(zhuǎn)報程序的開發(fā)。確報轉(zhuǎn)報程序工作原理是根據(jù)確報報文信息,將確報報文轉(zhuǎn)發(fā)到需要的車站,確報轉(zhuǎn)報質(zhì)量對車站車號人員的工作量和調(diào)車計劃的編制至關(guān)重要,需要通過考核提升確報質(zhì)量。

      1 確報轉(zhuǎn)報現(xiàn)狀和存在問題

      鐵路局確報信息系統(tǒng)主要由鐵路總公司、鐵路局和車站3部分組成。車站是確報產(chǎn)生的源點和接收確報點,鐵路總公司和鐵路局負(fù)責(zé)確報的轉(zhuǎn)發(fā)。轉(zhuǎn)發(fā)規(guī)則是:(1)鐵路局管內(nèi)確報,即發(fā)報站和收報站都是同一個鐵路局,確報由所在鐵路局進(jìn)行轉(zhuǎn)發(fā),即發(fā)報站將確報報文傳到鐵路局,由鐵路局轉(zhuǎn)報程序根據(jù)轉(zhuǎn)報字典中的定義規(guī)則,將報文轉(zhuǎn)發(fā)到解體車站。(2)跨鐵路局報文的轉(zhuǎn)發(fā),即發(fā)報站和到站(解體站)不在同一個鐵路局,轉(zhuǎn)發(fā)規(guī)則是鐵路局收到車站發(fā)報文,判斷到站是外鐵路局車站的報文就上傳鐵路總公司,由鐵路總公司轉(zhuǎn)報程序?qū)笪霓D(zhuǎn)至到站所在鐵路局,再由鐵路局轉(zhuǎn)發(fā)到車站。

      在實際工作中,確報報文不僅需要轉(zhuǎn)發(fā)到列車的終到站,而且還需轉(zhuǎn)發(fā)到途中經(jīng)過的有甩掛作業(yè)的車站。目前,鐵路總公司確報轉(zhuǎn)報系統(tǒng)已應(yīng)用多年,但還存在一些不足,主要表現(xiàn)在:

      (1)轉(zhuǎn)發(fā)報字典定義復(fù)雜,確報漏發(fā)情況突出。在確報定義時要指明確報發(fā)站、到站、經(jīng)由,如果確報文中發(fā)站、到站、經(jīng)由在轉(zhuǎn)報字典中找不到就不會進(jìn)行轉(zhuǎn)報,需要重新維護(hù)轉(zhuǎn)報字典,即便經(jīng)常維護(hù)也難免疏漏。轉(zhuǎn)報字典的記錄數(shù)往往會達(dá)到上百條;在定義時還要考慮定義記錄間相互影響,需要考慮程序發(fā)現(xiàn)第一個滿足記錄進(jìn)行轉(zhuǎn)報,本次轉(zhuǎn)報結(jié)束,后面的定義都不會執(zhí)行。

      (2)轉(zhuǎn)報字典中定義的最大轉(zhuǎn)報車站數(shù)不能超過5個。有些列車編組復(fù)雜,需要轉(zhuǎn)報車站超過5個,轉(zhuǎn)報時就會出現(xiàn)漏報,轉(zhuǎn)報程序不判斷是否需要轉(zhuǎn)報(轉(zhuǎn)報車站是否有作業(yè)),只要轉(zhuǎn)報字典定義,就進(jìn)行轉(zhuǎn)報,造成車站接到許多沒用的確報,給車號員挑選確報造成困難。

      (3)使用原有確報轉(zhuǎn)報系統(tǒng),許多車站收不到確報,經(jīng)常需要手工轉(zhuǎn)報,工作量大,不能滿足24 h轉(zhuǎn)報需要。

      2 確報轉(zhuǎn)報改進(jìn)方案

      為解決上述問題,昆明鐵路局開發(fā)了確報自動轉(zhuǎn)報程序,結(jié)合確報考核功能,提高確報發(fā)報質(zhì)量。

      當(dāng)前鐵路總公司所使用的確報傳輸軟件是消息隊列(MQ)軟件,它基本可在所有系統(tǒng)平臺安裝,最大好處是不會丟失報文。確報自動轉(zhuǎn)報程序中的重要模塊如下。

      2.1 確報分發(fā)程序

      其作用是把發(fā)來確報MQ信息分發(fā)到兩個應(yīng)用隊列中。1個隊列中消息被鐵路總公司程序接收入庫,另1個被新確報轉(zhuǎn)發(fā)程序處理,完成確報轉(zhuǎn)發(fā)到車站的工作。

      2.2 確報轉(zhuǎn)發(fā)程序

      其處理過程是:

      (1)解析XML格式報文,分析出報頭中的發(fā)車時間、車次、發(fā)站、到站、經(jīng)由信息以及報文中車輛到站信息。

      (2)根據(jù)確報的車次,從當(dāng)前運行圖中查找運行線,判斷列車所經(jīng)過的列車徑路(列車所經(jīng)過車站)。

      (3)如果不能找到到達(dá)終點站的整個路徑,則再通過車次的計劃線和基本圖(基本上每天都要開行的車次),查找列車徑路。

      (4)如果仍不能都找到,則根據(jù)發(fā)站、到站、經(jīng)由,使用最短路徑(Dijkstra)算法,找出發(fā)站到經(jīng)由站列車徑路和經(jīng)由站到終到站的徑路,求出它們合集,找出列車所經(jīng)過車站。

      (5)從列車編組所有貨車終到站集合中找出列車經(jīng)過的車站,確定有進(jìn)行作業(yè)車站,需要進(jìn)行轉(zhuǎn)報。

      (6)判斷需要轉(zhuǎn)報車站是否在確報站字典中(可能需要轉(zhuǎn)報,但車站沒有確報系統(tǒng)),確定需轉(zhuǎn)報車站。

      (7)按照確定轉(zhuǎn)報車站轉(zhuǎn)發(fā)確報。

      3 確報轉(zhuǎn)發(fā)程序流程

      昆明鐵路局確報自動轉(zhuǎn)報的程序流程如圖1所示。

      圖1 確報自動轉(zhuǎn)報程序流程圖

      (1)車站確報點利用MQ通信軟件,上傳確報數(shù)據(jù)到鐵路局,鐵路局分發(fā)程序同時將MQ消息分發(fā)到2個隊列中。

      (2)由鐵路局入庫程序?qū)⑵渲?個隊列中的消息取出,并存入Oracle數(shù)據(jù)庫。

      (3)新確報轉(zhuǎn)報程序,對收到的報文進(jìn)行合法性判斷,對有問題的報文進(jìn)行記錄。

      (4)根據(jù)確報的發(fā)站、到站和經(jīng)由,運用確報轉(zhuǎn)報方案,找出轉(zhuǎn)發(fā)確報的車站。

      (5)根據(jù)報文中車輛到站信息,推斷出需要轉(zhuǎn)報車站。通過MQ通信系統(tǒng),將報文轉(zhuǎn)發(fā)到車站。

      4 系統(tǒng)實現(xiàn)

      4.1 數(shù)據(jù)結(jié)構(gòu)定義

      關(guān)鍵數(shù)據(jù)結(jié)構(gòu)采用C++語言描述, Oracle數(shù)據(jù)庫存儲,每條記錄的存儲以對象類型保存,程序?qū)?shù)據(jù)以對象為單元進(jìn)行讀取。

      (1)車站字典

      記錄結(jié)構(gòu)是站名漢字、站名略碼(是關(guān)鍵字)。

      struct station

      對應(yīng)表定義 create or replace station_tab of station;

      (2)線路字典

      記錄結(jié)構(gòu)是站名漢字、站名略碼(是關(guān)鍵字),主要說明車起始站和終到站之間是否連同,連通是有方向的,終到站到起始站不一定是連通的,該字典主要用于判定最短徑路。

      (3)走行徑路

      兩站之間走行徑路,經(jīng)程序處理輸出車輛結(jié)果,存放列車徑路。

      說明:根據(jù)以上數(shù)據(jù)結(jié)構(gòu),使用最短路徑(Dijkstra)算法,查找出列車經(jīng)過車站。輸入起始站和終到站,輸出結(jié)果以NodeInf的類型返回。

      4.2 后臺處理程序

      考慮到程序的處理速度、穩(wěn)定性和鐵路總公司的現(xiàn)有傳輸體系情況,選擇AIX操作系統(tǒng)。AIX是小型機上的一種操作系統(tǒng),比常見的Windows操作系統(tǒng)穩(wěn)定,代碼執(zhí)行效率高。

      程序編寫采用MQ中間件、Oracle提供的OCCI和XML接口,使用C++語言編寫UNIX后臺程序,實現(xiàn)對確報報文接收、解析和轉(zhuǎn)發(fā)等功能。

      以往UNIX后臺程序是用Oracle pro*c編寫:需要先編寫*.pc文件,后生成C程序代碼,再進(jìn)行程序編譯,程序代碼編寫和調(diào)試程序非常不方便。本文采用Oracle提供的C/C++語言開發(fā)工具OCCI(Oracle C++ Call Interface),稱為Oracle C++語言調(diào)用接口。通過它,C++語言可以直接訪問Oracle數(shù)據(jù)庫的數(shù)據(jù)(包括對象數(shù)據(jù)),調(diào)用Oracle數(shù)據(jù)庫的過程和函數(shù)。它的調(diào)用方式類似于Java 通過JDBC訪問數(shù)據(jù)庫,而運行效率遠(yuǎn)高于JDBC,因為它直接生成機器代碼,而Java編譯生成的是中間代碼,執(zhí)行時需要進(jìn)行解釋。能以對象數(shù)據(jù)為單元進(jìn)行直接存??;對MQ系統(tǒng)的調(diào)用采用MQ for C++。經(jīng)過4年使用證明,該程序能很好地滿足需要,系統(tǒng)能在2 ms~10 ms時間內(nèi)完成一個確報轉(zhuǎn)報工作。

      (1)后臺程序在AIX系統(tǒng)后臺運行情況

      (2)后臺轉(zhuǎn)報程序處理情況

      第1條表示接到從松林站發(fā)往宣威站的車次為41012。

      4.3 電子地圖

      圖2 顯示列車徑路的電子地圖

      為了讓使用者對轉(zhuǎn)報情況有直觀的理解,方便轉(zhuǎn)報,利用電子地圖功能對整個轉(zhuǎn)報情況進(jìn)行描述,直觀標(biāo)示出確報列車實際運行軌跡,如圖2所示。紅線部分反映一個確報從昆明南站出發(fā),經(jīng)由白水鎮(zhèn),到達(dá)六盤水軌跡標(biāo)示。另外,從圖2可以看出,在松林與宣威之間車站所有確報站都進(jìn)行轉(zhuǎn)發(fā)。

      5 結(jié)束語

      系統(tǒng)2010年投入使用至今,運行非常穩(wěn)定。程序具有對多站轉(zhuǎn)報能力,轉(zhuǎn)報字典通過對車站拓?fù)鋱D字典做相應(yīng)維護(hù),不需要對程序本身做任何改動。

      責(zé)任編輯 楊利明

      Department of train consist information auto pass-through program

      PAN Yunsong
      ( Institute of Information Technology, Kunming Railway Administration, Kunming 650011, China )

      Train consist information was the important and basic information for railway transportation. Passthrough of train consist information was the core of Train Consist Information System. To improve the quality of pass-through, the Kunming Railway Administration developed train consist information auto pass-through program. The program used dispatching plan and train control information, utilized the improved Dijkstra Algorithm to calculate the pass-through station, implement auto pass-through. The paper described the design principle of the program and the used technologies.

      train consist information; auto pass-through; Message Queue; Oracle OCCI

      U285∶TP39

      :A

      1005-8451(2014)03-0013-04

      2014-01-24

      潘云松,高級工程師。

      猜你喜歡
      徑路鐵路局總公司
      房室結(jié)慢徑路發(fā)生的韋金斯基現(xiàn)象 1 例
      既有災(zāi)害監(jiān)測系統(tǒng)接入鐵路局中心系統(tǒng)方案研究
      邢臺路橋建設(shè)總公司
      公民與法治(2020年1期)2020-05-30 12:27:54
      共青團(tuán)中國鹽業(yè)總公司第二次代表大會在京召開
      LKJ徑路數(shù)據(jù)校核系統(tǒng)的設(shè)計與實現(xiàn)
      呼和浩特鐵路局GSM-R系統(tǒng)現(xiàn)場應(yīng)用故障分析與處理
      重慶工商大學(xué)科技開發(fā)總公司
      一種SDN架構(gòu)下業(yè)務(wù)屬性相關(guān)的多徑路由算法
      論國有資產(chǎn)轉(zhuǎn)讓合同效力的認(rèn)定——以“許少雄訴海洋漁業(yè)總公司上訴案”為對象
      相同徑路的高速列車運行圖編制方法
      上饶县| 毕节市| 五寨县| 莱州市| 齐齐哈尔市| 应城市| 蓬溪县| 恩平市| 双辽市| 淳化县| 灵台县| 根河市| 铁岭县| 威远县| 邵阳县| 白沙| 巴彦淖尔市| 峨眉山市| 太谷县| 措美县| 台北市| 拉萨市| 曲靖市| 丹棱县| 平塘县| 乐业县| 绥德县| 卓尼县| 盘山县| 聂荣县| 永胜县| 玉屏| 尚义县| 方城县| 天津市| 柏乡县| 乾安县| 延川县| 小金县| 正安县| 灯塔市|