張 濤,張 琦
(1.中國鐵道科學(xué)研究院,北京 100081;2.中國鐵道科學(xué)研究院 通信信號(hào)研究所,北京 100081)
TDCS-y調(diào)度指揮系統(tǒng)日志記錄模塊程序設(shè)計(jì)
張 濤1,張 琦2
(1.中國鐵道科學(xué)研究院,北京 100081;2.中國鐵道科學(xué)研究院 通信信號(hào)研究所,北京 100081)
TDCS具備運(yùn)行日志和重要操作記錄保存、查詢和打印等功能。該功能的實(shí)現(xiàn)需要系統(tǒng)日志記錄模塊來完成,本文提出了一個(gè)可行的TDCS-y列車調(diào)度指揮系統(tǒng)的系統(tǒng)日志模塊的設(shè)計(jì)方案,它能夠有效完成該功能。
TDCS系統(tǒng);日志記錄模塊;設(shè)計(jì)
TDCS是實(shí)現(xiàn)鐵路各級(jí)行車調(diào)度對(duì)列車運(yùn)行進(jìn)行透明指揮、實(shí)時(shí)監(jiān)督調(diào)整、覆蓋全路的現(xiàn)代化鐵路行車調(diào)度指揮系統(tǒng)。根據(jù)原鐵道部要求,行車日志、告警日志等需要在TDCS系統(tǒng)中得到詳細(xì)記錄。本文提出了一個(gè)可行的TDCS-y列車調(diào)度指揮系統(tǒng)的系統(tǒng)日志模塊的設(shè)計(jì)方案,包括其結(jié)構(gòu),動(dòng)態(tài)邏輯處理功能。
TDCS系統(tǒng)是由中國鐵路總公司、鐵路局、車站3級(jí)構(gòu)成。TDCS能實(shí)時(shí)自動(dòng)采集列車運(yùn)行及現(xiàn)場(chǎng)信號(hào)設(shè)備狀態(tài)信息,并傳送到中國鐵路總公司調(diào)度指揮中心和鐵路局調(diào)度所,完成列車運(yùn)行實(shí)時(shí)追蹤、自動(dòng)報(bào)點(diǎn)、列車實(shí)際運(yùn)行圖自動(dòng)繪制、階段計(jì)劃調(diào)整及下達(dá)、調(diào)度命令下達(dá)、站間透明、行車日志自動(dòng)生成、車站作業(yè)流程監(jiān)督及錯(cuò)辦報(bào)警等功能,實(shí)現(xiàn)各級(jí)運(yùn)輸調(diào)度的集中管理、統(tǒng)一指揮和實(shí)時(shí)監(jiān)督,其結(jié)構(gòu)如圖1所示。
系統(tǒng)日志模塊提供整個(gè)系統(tǒng)的日志記錄及恢復(fù)功能,其信息流程如圖2所示。該模塊完成以下功能:各種日志的創(chuàng)建及讀取恢復(fù);日志信息的即時(shí)/延時(shí)寫入讀出;日志的周期性清除。
該模塊結(jié)構(gòu)如圖3所示,分為4個(gè)類,各類的名稱及功能見表1。
表1 日志記錄模塊分類及功能
在該模塊中,日志以文件格式存儲(chǔ)在物理介質(zhì)中,以日期為單位存儲(chǔ)文件。模塊啟動(dòng)初期將對(duì)文檔進(jìn)行初始化設(shè)置,其請(qǐng)求來自外部接口。外部接口調(diào)用模塊的公用接口函數(shù),傳入日志類型參數(shù),模塊以此為依據(jù)對(duì)其進(jìn)行初始化處理,創(chuàng)建該文檔指針并將其作為參數(shù)返回給接口調(diào)用模塊,同時(shí)將該指針壓入文檔隊(duì)列中進(jìn)行維護(hù)。
一定類型的日志需要在模塊初始化過程中裝載當(dāng)天的日志文件,以便操作人員進(jìn)行查詢,在模塊初始化期間會(huì)選擇性地讀入某些歷史數(shù)據(jù)信息。對(duì)于存儲(chǔ)的歷史文件,模塊會(huì)周期性地對(duì)其進(jìn)行檢測(cè),刪除過期的歷史數(shù)據(jù)文件,以保證正常的磁盤空間。該模塊的邏輯結(jié)構(gòu)如圖4所示。
圖1 TDCS系統(tǒng)構(gòu)成圖
圖2 信息流程圖
圖3 模塊結(jié)構(gòu)圖
圖4 模塊邏輯圖
4.1 文檔初始化
在接收到其它模塊的調(diào)用請(qǐng)求后,模塊首先對(duì)內(nèi)部維護(hù)的文檔指針隊(duì)列進(jìn)行查詢,若該請(qǐng)求類型的文檔指針已存在,則返回該文檔指針,若不存在,則創(chuàng)建該文檔并將指針返回,同時(shí)將該文檔指針壓入模塊維護(hù)的隊(duì)列中。
文檔類型可分為一般文本文檔和功能數(shù)據(jù)存儲(chǔ)文檔兩類。一般文本文檔紀(jì)錄系統(tǒng)內(nèi)部的運(yùn)行信息,主要作為運(yùn)行情況監(jiān)測(cè)和故障查詢服務(wù)。功能數(shù)據(jù)存儲(chǔ)文檔以特設(shè)二進(jìn)制格式記錄的文檔數(shù)據(jù),記錄系統(tǒng)運(yùn)行過程中的重要數(shù)據(jù),以便隨時(shí)恢復(fù)歷史信息并對(duì)其進(jìn)行查詢,如站場(chǎng)表示信息,告警信息等。
4.2 日志記錄
由于日志信息以日期為單位存儲(chǔ),當(dāng)接收到日志記錄請(qǐng)求后,模塊對(duì)當(dāng)前的記錄時(shí)間進(jìn)行檢測(cè),若當(dāng)前日期與上一條記錄的日期不符,則根據(jù)當(dāng)前日期創(chuàng)建新的文檔,并對(duì)該信息進(jìn)行記錄。
4.3 過期歷史數(shù)據(jù)刪除
模塊周期性的對(duì)磁盤中存儲(chǔ)的數(shù)據(jù)文件進(jìn)行日期檢測(cè),對(duì)過期的文件進(jìn)行刪除。文件的生存周期應(yīng)根據(jù)業(yè)主的要求而具體設(shè)定,故周期作為可變時(shí)間參數(shù)存在于配置文件中,可以對(duì)其進(jìn)行人工修改而不影響程序運(yùn)行,且不涉及到修改程序。
本模塊是TDCS-y列車調(diào)度指揮系統(tǒng)的一個(gè)公共模塊,采用VC++語言進(jìn)行開發(fā),VC++集成開發(fā)環(huán)境,使用了微軟的類庫MFC。本模塊在Windows XP SP2 professional系統(tǒng)環(huán)境下,在VC++ 6.0 下編譯通過,生成動(dòng)態(tài)鏈接庫文件LonMng.dll。該模塊記錄的一個(gè)典型的日志文件如界面圖5所示。
圖5 一個(gè)典型的日志文件界面圖
系統(tǒng)日志記錄模塊在TDCS-y列車調(diào)度指揮系統(tǒng)中起到了至關(guān)重要的作用,目前,該模塊系統(tǒng)已經(jīng)在鄭州、北京、成都等鐵路局得到了廣泛應(yīng)用,實(shí)現(xiàn)了預(yù)想功能,取得了良好效果。
[1]中國鐵路總公司.鐵總運(yùn)[2013]141號(hào)—鐵路列車調(diào)度指揮系統(tǒng)(3.0)技術(shù)條件[S].北京:中國鐵路總公司,2013.
[2]中國鐵道科學(xué)研究院. TDCS-y型列車調(diào)度 指揮系統(tǒng)(V3.0)詳細(xì)設(shè)計(jì)說明書[Z]. 北京:中國鐵道科學(xué)研究院,2013.
責(zé)任編輯 陳 蓉
Log module design of TDCS-y
ZHANG Tao1, ZHANG Qi2
( 1.China Academy of Railway Sciences, Beijing 100081, China; 2. Signal & communication Research Institute, China Academy of Railway Sciences, Beijing 100081, China )
TDCS was with the function of operation log, records, query and print. In TDCS, these functions were implemented by log module. This paper put forward a feasible design scheme of the log module for TDCS-y. It could effectively implement the functions.
Train Operation Dispatching System(TDCS); log module; design
U284.59∶TP39
A
1005-8451(2015)05-0047-03
2014-11-20
張 濤 ,在讀博士研究生;張 琦,研究員。