陳寶軍 湯旻安
摘 要:城市軌道交通綜合監控系統是一個高度集成的綜合自動化監控系統,其目的主要是利用統一的監控層硬件平臺和軟件平臺實現對各監控對象集中監控和管理,系統主要集成電力監控系統(PSCADA)、火災報警系統(FAS)、機電設備監控系統(BAS)、門禁系統(ACS)等子系統,該系統采用兩級管理級三級控制的層次和分布式結構,兩級管理是中央和站級,三級控制是中央級、站級、字段級。文章主要針對綜合監控系統中數據庫軟件的設計、數據流進行了探討與分析。
關鍵詞:綜合監控;數據流;設計
1 綜合監控軟件平臺
城市軌道交通綜合監控系統軟件平臺主要分為系統平臺層、支撐平臺層和應用層。系統平臺層提供不同硬件平臺、不同的操作系統支持;基本服務和開發工具支持的平臺提供了一層系統,為用戶提供第三方接入應用系統支持兩開發支持;應用層包括FAS、BAS和其他應用軟件和仿真培訓軟件的用戶。數據庫軟件作為支撐平臺層,對綜合監控系統從現場采集的大量數據進行數據存儲、數據分析、數據查詢以及數據轉發等。
2 數據庫設計
綜合監控系統中數據庫模塊發揮至關重要的作用,而傳統的關系數據庫在過程控制應用中是非常無力的,而國外一些成熟的實時歷史數據庫價格昂貴,可處理的點數少。為了滿足信息實時性、一致性、大容量、大吞吐量要求,必須針對軌道交通的特點,綜合監控、設計和開發自己的實時、歷史數據庫。
2.1 數據流設計
軟件平臺的數據流主要有三個環節:FEP、服務器、工作站。外部系統數據經過FEP到服務器后在工作站上顯示;工作站上的操作經過服務器發到FEP,然后發布到外部系統。
2.1.1 數據采集流程
數據采集是指數據從現場設備至ISCS系統的數據流。如:斷路器的狀態改變將由系統通過數據遙測接收。ISCS在控制中心與車站都配有兩臺服務器,PSCADA、BAS等子系統的數據通過FEP同時發送到2臺服務器。
2.1.2 命令下發流程
控制中心操作員有權對車站設備進行控制,控制中心操作員的控制命令無視目標設備位置,可以直接通過控制中心FEP發送至子系統,然后通過子系統下發給現場執行設備;或通過ISCS網絡發送至車站ISCS服務器,再通過車站FEP發送至子系統,在由子系統將命令下發給具體執行設備。
2.1.3 數據發布流程
數據發布是指將服務器處理過的數據發布至工作站的人機界面上,向操作員進行顯示或產生報警等功能的過程。軟件在設計時,為減少不必要的數據傳輸,保證網絡帶寬的高效利用。一方面,工作站可主動向服務器“要”數據。另一方面,為了保證變化數據在人機界面上的快速反應,服務器也會對一些變化數據采取“推”的方式,主動發送到工作站。工作站收到這些被“推”來的數據后,如果與當前顯示的人機界面相關,立即更新人機界面內容;如果無關,則直接將這些數據丟棄。因此軟件平臺的數據發布是采用“推”、“要”相結合的方式。數據發布包括發布到HMI和發布到應用程序,而發布到HMI又包括實時數據發布到HMI、歷史數據發布到HMI兩個方面。
2.2 數據庫功能設計
實時數據庫:
實時數據庫是整個系統處理實時數據的核心,管理在線運行的數據。其目標是保證實時性、一致性、訪問的高性能。實時數據庫應具有以下功能:
*面向對象、具有設備的概念、支持圖模一體化;
*分布式結構,便于實時數據庫節點的增減;
*可跨平臺,支持所有主流的操作系統;
重建在線數據庫時,現有的數據不能丟失;
*確保數據庫一致性;
*確保系統的安全;
*支持SQL語言。
歷史數據庫
歷史數據庫主要用于存儲采樣數據、告警、事件日志等數據,但讀寫頻率較低。數據庫的設計目標是優化和擴展數據庫應用程序開發人員的能力,提供了簡單、靈活然而功能強大的XQL查詢引擎,產生內存內的訪問結構,實現對所需要信息的快速檢索。歷史數據庫應具有以下功能:
*可跨平臺,支持多種主流廠商的硬件平臺及操作系統平臺;
*支持各種網絡通信協議,如TCP/IP、SPX/IPX、X.25、SNA、NetBIOS、ANSI/ISO SQL-92等協議、標準;
*數據庫系統應具有良好的伸縮性;數據庫能夠在SMP系統中配置生成多個引擎,能夠綁定CPU給用戶和應用程序;
*具有良好的開放性,支持異種數據庫的互訪;
*支持分布式事務及兩階段提交功能;
*在網絡上的異構數據庫之間的數據冗余復制;多個復制模式(如一點對多點、多點對一點、點對點以及雙向復制),支持基于事務日志的復制,保證復制事務完整性;
*數據庫服務器系統參數允許進行動態設置,不須重啟系統;可對高速緩存進行命名管理并且與數據庫對象綁定;
*隨著快速的并發訪問操作,并發控制是穩定的和可靠的,并支持多進程和多線程;
*具有在聯機狀態下對大容量數據的并行、壓縮備份功能。
2.3 數據庫核心模塊設計
數據庫的核心模塊設計為三個模塊,即點管理、實時數據管理和歷史數據管理。
2.3.1 點管理模塊
點(記為point)是一個獨特的表示不同的數據流,如電壓和電流值,開關的狀態,溫度計的數量等。任何可測量的設備屬性都可以定義為“點”。點類型主要包括數字量和模擬量。在軌道交通綜合監控系統中,數字量的變化較低,仿真的頻率較高,因此對歷史數據的分析主要是模擬的。
“point”是一個18位字符串,獨特的身份,稱它為標簽。單點信息一般包括點標簽、類型、單位、描述、死時間值、是否保存歷史數據、B+樹根節點等。所有的“點”信息是一組點,所有在內存中。
點管理主要是指對點表的維護,包括點的增加、刪除、修改信息的點、點的快速搜索等。點是數據管理的基本單位,各種操作的數據都是以點進行的。因此,快速的點查詢對提高系統的性能有著重要意義。實時歷史數據庫采用哈希表索引方法進行點查詢,可以快速查找指定的信息點。
2.3.2 實時數據管理
實時數據是最近一段時間的一個點的瞬時值,它是時間相關的數據。每個實時數據記錄都有一個時間戳,并記錄實時數據的采樣時間。一個實時數據記錄包括四個組成部分,如標簽、時間戳、狀態、值等。
根據數據集成的交通監控系統的特點,即數字、模擬、數字模擬特性變化緩慢,變化很快,為了更好地實時數據轉化為歷史數據,采用雙緩沖方法的設計,即:
(1)為每一個“point”建立一個比較大的緩存(如100記錄的緩存),記為cache_1。數據庫服務器接收實時數據,不能直接進入B+樹,但根據名字直接寫入到相應的cache_1點;當數存儲在cache_1最大記錄,統一包裝到B+樹。單元點到海量存儲,大大降低了寫B +樹的數量,降低了樹的高度,增加了寫和查詢速度,并得到了一組數據點,也可以進行有效的數據壓縮。在一些特殊情況下(如50萬點),你可以打開一個一定規模的max_cache1緩沖區。當緩沖區滿,然后轉移到cache_1新點,對于那些指出,長時間不使用的內存使用LRU置換算法。由于數字量的緩慢變化,模擬量變化快,所以模擬量更頻繁訪問的cache_1。但比例數字集成流量監控系統,和一個相對小的數目的模擬系統,允許max_cache1尺寸接近模擬*sizeof的數量的情況下(cache_1),具有很高的命中率。
(2)根據內存的大小,為每個點設置一個比較小的緩存,記為cache_2,確保所有點的cache_2可以放入內存。實時數據來的cache_2緩存對應點第一,當記錄數cache_2存儲達到上限,然后寫cache_1。設置緩存cache_2的目的也是提高速度。由于慢的數量的變化(一天可能只有幾個數據),較小的高速緩存的數量是足夠的,以應付很長一段時間。通過cache_2批量處理,大大減少了訪問cache_1數量,也降低了節目的數量訪問磁盤的寫入速度提高。
雙緩沖技術是為每一個點建立一個比較大的和小的存儲緩沖區。一個小的緩沖區總是在記憶;和緩沖可以轉移到內部和外部存儲之間轉移,使用LRU置換算法。緩存技術大大提高了數據庫處理歷史數據的性能,然后可以支持更多的點。
2.3.3 歷史數據管理
當實時數據超出一定的周期時,即存儲在磁盤中的歷史數據。歷史數據可以優化企業的生產,并為失效分析提供了有力的工具。使用B+樹來組織文件數據的實時歷史數據庫。由于在工作組的順序,B+樹有一個良好的效率,并存儲在數據庫中的歷史數據所產生的實時數據,所以數據處理是時間序列數據。當一組實時數據過期時,它將它存儲在一個B+樹中。每一個點都有一個時間作為索引的B+樹,B+葉節點是一組歷史數據壓縮包。為了保持長期的歷史數據,在有限的存儲空間,利用赫夫曼壓縮算法的設計,分別對數字時間戳壓縮,從而大大減少了占用的歷史數據存儲的磁盤空間。當您需要查詢一個點的歷史數據時,首先滿足壓縮包的條件,以便讀取時間,以便讀取內存,然后在內存中提取,恢復原始數據,返回給用戶。
參考文獻
[1]魏曉東.城市軌道交通自動化系統與技術[M].電子工業出版社,2005.
[2]南京南瑞集團內刊.RT21-ISCS軟件應用書[Z].
[3]劉佳寶,梁奕,陳天浩.RT21-ISCS綜合監控系統中實時歷史數據庫的設計與實現[J].城市軌道交通研究,2012(1).
[4]張寶廣,隋國棟,李海鋒.城市軌道交通工務管理數據庫的設計[J].城市軌道交通研究,2010(1).
[5]錢笑宇,張彥武.工業實時數據庫的研究與設計[J].計算機工程,2005(1).