《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 軌道交通綜合監(jiān)控系統(tǒng)數(shù)據(jù)庫集群設計
軌道交通綜合監(jiān)控系統(tǒng)數(shù)據(jù)庫集群設計
2014年微型機與應用第13期
朱小龍1,張興波2,趙麗敏3,陸 晨1
1.華北計算機系統(tǒng)工程研究所 研究生部2.北京國際系統(tǒng)控制有限公司3.德州學院 計算機系,山東
摘要: 軌道交通綜合監(jiān)控是軌道交通自動化現(xiàn)階段的發(fā)展方向。而構建一個實時的、高可用性的數(shù)據(jù)庫系統(tǒng)正是建立穩(wěn)定高效的綜合監(jiān)控平臺的基礎條件。MySQL Cluster是MySQL適用于分布式計算環(huán)境、多主機架構的實時數(shù)據(jù)庫版本,具有高可用性和無單點故障的應用特點。根據(jù)軌道交通綜合監(jiān)控系統(tǒng)的應用需求,設計了綜合監(jiān)控系統(tǒng)數(shù)據(jù)庫集群架構。
Abstract:
Key words :

  摘  要軌道交通綜合監(jiān)控是軌道交通自動化現(xiàn)階段的發(fā)展方向。而構建一個實時的、高可用性的數(shù)據(jù)庫系統(tǒng)正是建立穩(wěn)定高效的綜合監(jiān)控平臺的基礎條件。MySQL Cluster是MySQL適用于分布式計算環(huán)境、多主機架構的實時數(shù)據(jù)庫版本,具有高可用性和無單點故障的應用特點。根據(jù)軌道交通綜合監(jiān)控系統(tǒng)的應用需求,設計了綜合監(jiān)控系統(tǒng)數(shù)據(jù)庫集群架構。

  關鍵詞: MySQL Cluster;軌道交通綜合監(jiān)控;數(shù)據(jù)庫集群

  軌道交通綜合監(jiān)控系統(tǒng)是原有各個單獨機電系統(tǒng)的應用集成,具有多子站、多子系統(tǒng)和地理分布分散的結構特點。其主要功能包括對設備的集中監(jiān)控和子系統(tǒng)之間的協(xié)調聯(lián)動,一般綜合監(jiān)控系統(tǒng)由電力(PSCADA)、信號(SIG)、環(huán)控(BAS)、乘客信息(PIS)、乘客廣播(PA)、視頻監(jiān)控(CCTV)、火災報警(FAS)、售檢票(AFC)、門禁(ACS)和屏蔽門(PSD)等子系統(tǒng)組成。

  數(shù)據(jù)庫是軌道交通綜合監(jiān)控系統(tǒng)各種應用的基礎,是數(shù)據(jù)交換和共享信息的直接載體。使用MySQL Cluster數(shù)據(jù)庫集群既能滿足系統(tǒng)較強實時性和高可用性的要求(NDB存儲引擎采用內存表和無單點故障設計),又具有低成本、易擴展的優(yōu)點。

  1 系統(tǒng)結構

  1.1 MySQL Cluster結構

  MySQL Cluster由若干個主機中內存數(shù)據(jù)庫組成集群。各個主機之間無共享結構,降低了分布式系統(tǒng)的硬件需求。在MySQL Cluster中,有3種類型的節(jié)點。每個節(jié)點表示為一個服務進程。MySQL Cluster結構圖如圖1所示。

001.jpg

  管理節(jié)點:集群管理服務器,負責配置系統(tǒng)參數(shù)、管理節(jié)點的啟動和停止、運行備份。節(jié)點中存儲了數(shù)據(jù)庫集群的整體配置信息,它必須在其他節(jié)點進程啟動之前啟動。

  數(shù)據(jù)節(jié)點:用于存儲集群的數(shù)據(jù),集群的數(shù)據(jù)以數(shù)據(jù)組(Data Group)的形式存儲在數(shù)據(jù)節(jié)點上,一個數(shù)據(jù)組中包含NoOfReplica個數(shù)據(jù)節(jié)點,這些節(jié)點互為副本,數(shù)據(jù)組中單個副本節(jié)點故障不影響數(shù)據(jù)庫的正常使用。在集群中數(shù)據(jù)組按數(shù)據(jù)節(jié)點的nodeID順序排序來劃分,NoOfReplica取值范圍為1~4,目前NDB只支持取值1~2。

  SQL節(jié)點:客戶端和外部API訪問集群數(shù)據(jù)的接口服務器(MySQL Server)??筛鶕?jù)不同應用的需求靈活配置和構造,如讀寫分離和負載均衡等。

  1.2 集群復制

  MySQL Cluster集群支持異步復制。復制結構中包含主服務器(Master Server)和從服務器(Slave Server),數(shù)據(jù)和操作由主服務器復制到從服務器中。NDB二進制日志接口線程運行在主、從服務器兩端將數(shù)據(jù)庫的變化存儲到二進制格式的日志文件中,并通過復制通道,將主服務器的變化保存到從服務器中。集群復制如圖2所示。

002.jpg

  2 數(shù)據(jù)模型

  在綜合監(jiān)控系統(tǒng)中,數(shù)據(jù)庫平臺需要提供的數(shù)據(jù)功能包括:存儲設備及現(xiàn)場采集的實時狀態(tài)和信息,存儲設備及系統(tǒng)的配置參數(shù)(包括通信參數(shù)、設備信息、系統(tǒng)配置和權限配置等),存儲設備及系統(tǒng)的運行記錄數(shù)據(jù)(包括設備遙測或遙信值記錄、操作記錄等)。

  數(shù)據(jù)模型參考IEC-61970標準,并根據(jù)軌道交通綜合監(jiān)控應用的特點對公共對象接口模型CIM(Common Interface Model)做相應的拓展設計。CIM是一個抽象模型,由描述系統(tǒng)的有關對象組成。這些對象又劃分成若干個邏輯包,每個邏輯包代表了整個系統(tǒng)模型的某個部分。核心包用于表示系統(tǒng)的核心結構或構件;拓撲包用于表示構件之間的連接關系;運營包用于描述人員、權限、財務等運營關系;量測包和SCADA包用于描述通信、遙信、遙測、遙調,遙控等結構。數(shù)據(jù)模型組織圖如圖3所示。

003.jpg

 ?。?)核心包(Core):包括車站類、子系統(tǒng)類、區(qū)域類、設備類、設備端子類。車站對象表示軌道交通線上的車站,一般分為正線車站和車輛段兩種類型。有站號、站名等信息。區(qū)域對象表示地理的區(qū)域位置,主要有站廳、站臺、通道、隧道區(qū)間、大小端機房等,詳盡的區(qū)域描述有利于提高車站的應急處理效率。子系統(tǒng)對象表示機電系統(tǒng)的功能和職責分類,軌道交通綜合監(jiān)控中的子系統(tǒng)主要包括環(huán)控(BAS)、信號(SIG)、電力(PSCADA)、售檢票(AFC)、視頻監(jiān)控(CCTV)、乘客信息與廣播(PIS&PA)等,運營中各子系統(tǒng)各司其職,保證整個系統(tǒng)的正常運行。設備對象描述設備的基本信息:設備編號、設備名稱、車站、區(qū)域、子系統(tǒng)、設備類型等。設備端子對象表示設備的連接屬性,一個設備可以對應若干個設備連接端子。

 ?。?)拓撲包(Topology):用來描述設備的連接屬性,如軌道、道岔的連接,電力線路的連接等。主要包括連接節(jié)點類、拓撲節(jié)點類和拓撲島類。設備都是通過連接節(jié)點連接,如果在某個設備端子上存在多種連接方式(連接節(jié)點),則構成拓撲節(jié)點,在同一時刻拓撲節(jié)點上只有一種連接方式有效。若干個拓撲節(jié)點則構成一個拓撲島,拓撲島即為統(tǒng)籌的聯(lián)鎖區(qū)。

 ?。?)運營包(Operation):包括員工、部門、權限等信息。其中用戶對象用來描述用戶的信息,部門對象用來描述運營層面職能部門的信息,權限對象則用于全局的用戶權限管理和系統(tǒng)權限認證功能。

  (4)量測和SCADA包(Measure&SCADA):量測和SCADA包是系統(tǒng)的核心模塊,描述量測相關信息。通信對象和RTU對象表示SCADA通信的基本參數(shù),遙測類是模擬量輸入,累計量輸入和狀態(tài)量輸入的父類??刂祁愂窃O定點類和狀態(tài)量輸出類的父類。每個控制對象和遙測對象需要對應到具體的設備及設備端子上才具有實際的意義。

  根據(jù)數(shù)據(jù)對象的信息和關系,將其映射為關系數(shù)據(jù)庫設計的數(shù)據(jù)模式。獨立性比較強的對象,映射為數(shù)據(jù)模式中的實體;對于依附于其他對象才有實際意義,或者具有一對一關系的對象,則映射為實體的屬性;而那些具有多對多關系的對象,則直接映射為數(shù)據(jù)模式中的關系。

  3 集群實現(xiàn)

  軌道交通綜合監(jiān)控系統(tǒng)一般分成中心和車站兩層結構,主要的操作都在控制中心上完成,特殊情況下操作權限可以下放到車站,以便車站進行就地控制。集群的數(shù)據(jù)節(jié)點分別設置在中心和車站,減輕系統(tǒng)的網絡通信負擔,增加系統(tǒng)的可用性。另外,在控制中心一般還會設置一個備用中心,防止控制中心因服務器故障而失效。將備用中心配置成集群的數(shù)據(jù)復制,如果中心服務器發(fā)生故障,系統(tǒng)可以啟用中心備用的數(shù)據(jù)服務器,保證正常運行。集群結構圖如圖4所示。

004.jpg

  MySQL Cluster數(shù)據(jù)庫集群有多個版本的安裝文件,本例中采用免安裝的Windows版本。這個版本的安裝過程比較簡單,只需要拷貝程序文件和配置文件即可。默認的程序集文件的路徑為C:\mysql或C:\Program Files\MySQL\MySQL Server5.6。管理節(jié)點上需要的程序文件為(ndb_mgmd.exe和ndb_mgm.exe,后者為可選項),配置文件config.ini中需要包含節(jié)點信息(主機名、IP地址和節(jié)點類型等),數(shù)據(jù)存儲信息(數(shù)據(jù)存儲內存和索引存儲內存分配,數(shù)據(jù)文件和日志文件配置),數(shù)據(jù)組節(jié)點數(shù)量(NoOfReplica)等。數(shù)據(jù)節(jié)點上需要的程序文件是ndbd.exe或者ndbmtd.exe,配置文件中只需說明集群連接屬性(ndb-connectstring=管理節(jié)點IP地址:端口號,端口號默認為1186)。SQL節(jié)點拷貝完全的免安裝文件,配置文件my.ini中只需說明集群連接屬性和存儲引擎參數(shù)即可(ndbcluster ndb-connectstring=管理節(jié)點IP:1186)。模型系統(tǒng)配置如表1所示。

005.jpg

  主集群安裝完成后,使用MySQL Sever Windows安裝文件(msi文件)安裝中心備用數(shù)據(jù)庫。備用數(shù)據(jù)庫不采用MySQL Cluster集群結構,以防止由于集群管理節(jié)點故障而導致整個集群失效。設置備用數(shù)據(jù)庫為主集群的復制。

  4 實際應用

  按上述步驟安裝數(shù)據(jù)庫集群,然后根據(jù)設計的數(shù)據(jù)模式建立數(shù)據(jù)庫和數(shù)據(jù)表。在實際應用中不僅需要記錄量測和SCADA數(shù)據(jù)的實時測量值,還需要記錄其歷史運行記錄,按照其特點分別創(chuàng)建參數(shù)庫SysPara、實時庫RealScada和歷史庫HisRecord 3個數(shù)據(jù)庫。參數(shù)庫包含核心包、運營包、量測包和SCADA包的通信鏈路表、RTU表、限值表、報警組表等信息;實時庫包含量測包和SCADA包的大部分具有實時內容的部分以及實時報警表、拓撲包的內容;歷史庫主要是從實時庫轉儲的數(shù)據(jù)和用戶操作記錄表等信息。將3個數(shù)據(jù)庫建立在集群的數(shù)據(jù)節(jié)點上,參數(shù)庫和歷史庫采用磁盤表存儲,實時庫采用內存表存儲。

  數(shù)據(jù)庫平臺是綜合監(jiān)控系統(tǒng)開發(fā)的基礎,選用以上設計是因為IEC-61970的公共數(shù)據(jù)接口模型具有良好的結構性和規(guī)范性,以及MySQL Cluster數(shù)據(jù)庫軟件高實時性、高可用性和易拓展的優(yōu)點。實驗過程中數(shù)據(jù)庫集群也表現(xiàn)出較好的性能,能夠滿足軌道交通綜合監(jiān)控系統(tǒng)的一般要求。但是在負載和性能方面,數(shù)據(jù)庫集群還有進一步優(yōu)化的空間。

  參考文獻

  [1] 金紫蘅.從雙機到四機中MySQL數(shù)據(jù)庫高可用性實現(xiàn)方法[J].中國科技信息,2011(16):91,96.

  [2] 程鵬,劉偉.電力SCADA系統(tǒng)運行平臺的存儲系統(tǒng)設計[J].計算機研究與發(fā)展,2011,48(z1):132-136.

  [3] 張慎明,劉國定.IEC61970標準簡介[J].電力系統(tǒng)自動化,2002(14):1-6.

  [4] 唐漢明,翟振興,蘭麗華.深入淺出MySQL數(shù)據(jù)庫開發(fā)、優(yōu)化與管理維護[M].北京:人民郵電出版社,2008.


此內容為AET網站原創(chuàng),未經授權禁止轉載。