《電子技術應用》
您所在的位置:首頁 > 電源技術 > 設計應用 > 一種分布式SCADA消息中間件設計方案
一種分布式SCADA消息中間件設計方案
2016年電子技術應用第3期
史耀政1,庫流亨2
1.呼和浩特鐵路局,內蒙古 呼和浩特010020;2.華北計算機系統工程研究所,北京100083
摘要: 隨著分布式SCADA系統在鐵路牽引供電應用的不斷推廣,SCADA系統節點之間以及與其他異構系統之間進行消息數據傳遞面臨著效率降低、接口不統一等問題。針對此問題,提出一種基于發布/訂閱模式的分布式SCADA消息中間件的設計方案,該方案使用了N-Tree結構將系統消息進行邏輯區域劃分,設計了一套完善的消息傳遞與反饋處理機制,方案中利用Quorum-Based改進型算法確保了分布式節點的消息一致性。實踐及仿真實驗證明,本方案提高了SCADA系統的消息傳遞效率,降低了分布式系統的運行負載和通信開銷。
中圖分類號: TP274+.2
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.03.024
中文引用格式: 史耀政,庫流亨. 一種分布式SCADA消息中間件設計方案[J].電子技術應用,2016,42(3):84-86.
英文引用格式: Shi Yaozheng,Ku Liuheng. A design scheme of distributed message middleware for SCADA system[J].Application of Electronic Technique,2016,42(3):84-86.
A design scheme of distributed message middleware for SCADA system
Shi Yaozheng1,Ku Liuheng2
1.Hohhot Railway Bureau,Hohhot 010020,China; 2.National Computer System Engineering Research Institute of China,Beijing 100083,China
Abstract: With the development of distributed SCADA system in railway traction power supply application, the data transfer between nodes in SCADA system and other heterogeneous systems is faced with the problems such as lower efficiency, and the interface is not uniform. Aiming at this problem, this paper proposes a design scheme of distributed SCADA message oriented middleware based on publish / subscribe model. The scheme uses the N-Tree structure to divide the system message into a logical area, and designs a set of perfect message passing and feedback processing mechanism. In the scheme, the Quorum-Based algorithm is used to ensure the consistency of the distributed nodes. Practice and simulation experiments prove that this scheme improves the message passing efficiency of SCADA system, and reduces the running load and communication overhead of the distributed system.
Key words : SCADA;Quorum;distributed system;middleware

0 引言

    數據采集與監視控制(Supervisory Control And Data Acquisition,SCADA)系統在鐵路牽引供電及其他工業控制系統領域占據著重要地位,可以對現場的運行設備進行實時數據監視和控制,實現數據采集、設備控制、測量分析、參數調節以及各類信號報警等功能。隨著分布式技術在SCADA系統中應用的不斷推廣,SCADA系統各個子系統之間以及與其他異構系統之間的消息傳遞變得更加復雜化、多樣化[1]

    本文針對分布式環境下SCADA系統復雜的應用場景,提出了一套高效可靠的分布式消息中間件設計方案。該方案采用N-Tree結構[2]對分布式系統節點進行消息區域劃分,各個子區域的消息根據應用需求進行收集和傳遞。系統采用經典的Publisher-Subscriber(發布/訂閱)模式設計,產生消息的節點稱之為Publisher(發布者),獲取并處理消息的節點稱之為Subscriber(訂閱者)。訂閱者首先需要對特定的消息區域進行“消息訂閱”,發布者會自動將訂閱的消息推送到各訂閱節點。

    系統采用了特殊設計的分布式一致性算法,確保系統中分布式節點之間的消息一致性和完整性,同時提高了分布式消息訪問的效率。本文將重點描述消息分發系統設計和分布式一致性算法設計。

1 分布式SCADA系統

    SCADA系統在鐵路電氣化遠動系統上的應用較早,近些年來隨著中國鐵路的迅猛發展,也帶動了鐵路電氣化遠動系統向更高的目標發展。當前我國SCADA系統發展處于第三階段,即基于分布式計算機網絡以及關系數據庫技術的、能夠實現大范圍聯網的SCADA系統[3]

    一個典型的鐵路供電調度SCADA系統結構圖如圖1所示。

ck5-t1.gif

    圖中每一個方框僅標示了一種分布式SCADA系統功能角色,在實際的SCADA系統中,每一種系統角色一般均對應了多臺分布式計算機節點。每一個系統節點根據實際應用情況的不同負責相應的計算任務,完成各自所屬角色的功能。

2 消息分發系統設計

    (1)角色分類

    在分布式SCADA系統中,按照消息的收集與分發功能的不同,劃分為兩種角色:消息供應者與消息訂閱者。

    消息供應者負責按照N-Tree結構對系統中的消息進行區域劃分,并注冊、收集指定區域的消息,主動推送給訂閱節點或者等待消息訂閱者查詢。消息訂閱者則根據實際應用需求,通過指定機器節點名、區域名去“訂閱”消息內容,在消息訂閱時可以指定是否需要由消息供應者主動推送。

    (2)消息分類與確認

    按照消息緊急程度的不同,可以劃分為兩大類消息:緊急消息和一般消息。這兩大類消息都可以根據實際應用需求的不同來劃分應用子類,其區別在于:緊急消息具有“告警”和“正常”兩種狀態且需要消息訂閱者進行“確認”,而一般消息則沒有狀態區分且不需要被確認。

    (3)消息緩存與傳遞

    系統針對不同類型消息的應用特點,設計了兩種緩存方式:“鏈式隊列”緩沖和“環形隊列”緩沖。對于重要程度較高的且需要等待確認的緊急消息,則應采用“鏈式隊列”緩沖模式,確保消息不會丟失;對于一般性消息則可以采用“環形隊列”緩沖模式,在極端情況下早期的消息可能會丟失,但同樣保證了最新的消息被緩存。

    系統中每一個節點均需要維護自己的消息緩沖區和消息訂閱需求列表,消息節點之間的通信采用TCP/IP網絡傳輸。消息訂閱與傳遞遵循以下步驟:

    (1)消息訂閱者將訂制的消息請求(包括指定優先級、消息區域等)傳遞給消息供應者進行“訂閱”操作;

    (2)消息供應者維護自身節點和遠程節點的消息訂閱請求,當產生新的消息時,根據消息訂閱請求進行篩選;

    (3)消息訂閱者的消息緩沖區中的內容得到更新,可以根據應用需求定制后續行為(例如報警、打印、存庫等)。

    消息分發系統模型見圖2。

ck5-t2.gif

3 分布式一致性算法

    本文提出采用基于“Quorum-Based算法”[4]與消息區域模型相結合的機制,對分布式消息中間件的數據一致性做出保證。這里采用的方案能夠保證分布式SCADA系統中的消息緩沖數據“最終一致性”,而不是滿足“強一致性”。所謂“強一致性”指的是當消息訂閱者對系統消息進行獲取或確認時,必須檢查或更新相關節點的所有消息副本狀態是否一致,只有保證所有消息副本狀態一致才能完成讀寫操作。而最終一致性的概念是:在每次獲取或更新數據狀態時,并不保證所有節點上的數據副本均保持一致,而是根據設定的策略保證部分數據是最新的,剩余不同步的副本則由系統內部負責自行同步,系統保證在沒有后續更新的情況下最終返回上一次更新的最新狀態。

    由于本文設計的分布式一致性算法不屬于強一致性算法,且經過了特殊優化,因此系統工作的效率較高,且能夠確保分布式SCADA系統的數據一致可靠性。本文設計的分布式一致性算法描述如下:

    (1)系統中每一個消息區域的消息供應者(總數量V)均可以對訪問(讀)操作和確認(寫)操作進行授權許可,每次授權尚未完成的情況下不可重復授權其他操作,防止出現讀寫沖突的情況;

    (2)每一次消息訪問(讀)操作必須獲得Vr個節點授權許可才能進行,同樣,每一次消息確認(寫)操作必須獲得Vw個節點授權才能進行;

    (3)系統中各項操作的授權許可數量滿足如下關系:

    ck5-gs1-3.gif

    式(1)表示一次讀操作所需授權數與一次寫操作所需授權數之和應該大于系統授權總數,這樣可以保證同一份數據拷貝不會發生并行讀寫的情況,因為一旦讀操作獲得了授權,就不可能存在足夠的寫操作授權了,反之亦然。式(2)表示一次寫操作必須獲得半數以上的授權,確保同一份數據拷貝不會同時被2個及以上請求修改,這樣就能保證系統數據寫入的串行化和一致性。式(3)屬于優化的可選策略,表示一次讀操作所需授權數應當盡可能小,以提高系統數據訪問效率。

    圖3中給出了本系統中描述的分布式SCADA系統消息供應者與消息訂閱者之間的訪問關系。

ck5-t3.gif

    在圖3中,消息供應者會對某個消息邏輯區域提供訂閱功能,而這樣的節點一般可以存在多個,提供相同消息區域供應的多個節點構成了分布式節點群集。當消息供應者需要訪問或確認某區域消息時,需要遵循本文描述的分布式一致性算法規則。而SCADA系統中的消息區域狀態與各消息供應者之間的同步,則由系統在操作完成后自動進行。

4 實踐結果分析

    本文利用GT-ITM提供的Transit-Stub(TS)模型[5],構建一個分層結構網絡對此消息中間件進行性能測試。

    仿真系統根據鐵路SCADA系統實際應用需求劃分角色區域,每個區域有多個系統節點。假設消息供應者每200 ms新增一條消息,每條消息為128 B的數據包,每一個消息訂閱者都訂閱所有區域消息以模擬最大負載情況。通常,服務器節點既充當消息供應者又充當消息訂閱者。仿真實驗測試在不同應用規模下的系統負載情況。實驗結果如表1所示。

ck5-b1.gif

    從表1中可以看出,相同消息供應者的情況下,消息訂閱者數量的增加會導致網絡吞吐量線性增長,但是增量不會呈現倍數關系。這說明本方案的設計有效地降低了相同節點上多個消息訂閱者的消息傳遞負載。消息供應者數量的增加會使得網絡吞吐量和CPU負載呈現比率上升趨勢,這是因為消息供應者需要維護和更新各消息訂閱者隊列,實時推送消息內容。當消息供應者和消息訂閱者的數量按照同等規模擴大時,系統表現出穩定的線性增長趨勢。這表明系統能夠穩定有效地控制分布式消息傳遞,具有良好的運行效率。

5 結束語

    本文針對鐵路牽引供電SCADA系統中消息傳遞效率較低、接口復雜不統一的問題,設計并實現了一套通用的消息中間件方案。該方案對系統角色、消息內容進行區域劃分,對消息傳遞的機制進行了改進,利用Quorum-Based改進算法確保了分布式節點之間的消息一致性。仿真實驗及實踐結果表明,本方案設計的消息中間件能夠適應不同規模的SCADA系統應用,具有良好的可靠性和運行效率。

參考文獻

[1] 張平.我國高速鐵路牽引供電SCADA系統的分析與探討[J].鐵道建筑技術,2010(4):72-74.

[2] Chris Gauthier Dickey,Virginia Mary Lo,Daniel Zappala.Using n-trees for scalable event ordering in peer-to-peer games[C].Proceedings of NOSSDAV,2005.

[3] 崔瑞超.淺談中國高速鐵路的發展[J].新課程學習(學術教育),2010(10):30-31.

[4] 熊庭剛,盧正鼎,張家宏,等.基于Quorum系統的分布式訪問控制框架研究[J].計算機科學,2010(5).

[5] CALVERT K,EAGAN J,MERUGU S,et al.Extending and enhan-cing GT-ITM[C].Proc of ACM SIGCOMM Workshop on Models,Methods and Tools for Reproducible Network Research,2003.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
午夜综合激情| 99riav国产精品| 亚洲国产一区二区三区高清| 亚洲精品中文字幕有码专区| 欧美在线啊v| 午夜激情一区| 亚洲小视频在线观看| 一区二区三区欧美激情| 亚洲精品国产日韩| 亚洲茄子视频| 亚洲另类自拍| 亚洲乱码国产乱码精品精可以看 | 夜夜夜精品看看| 日韩一级大片| 一本色道久久加勒比88综合| 日韩天天综合| 国产精品99久久久久久久久久久久| 亚洲精品综合精品自拍| 亚洲精品韩国| 一本大道av伊人久久综合| 亚洲无线一线二线三线区别av| 一本色道久久综合| 亚洲一区二区三区午夜| 午夜在线不卡| 久久精品女人的天堂av| 亚洲人午夜精品免费| 日韩视频亚洲视频| 亚洲一区二区3| 香蕉精品999视频一区二区 | 在线观看亚洲一区| 亚洲精品极品| 一区二区三区日韩欧美精品| 一区二区三区|亚洲午夜| 亚洲午夜视频在线观看| 午夜精品久久久久| 亚洲福利久久| 日韩视频在线一区二区| 亚洲一区二区三区久久| 午夜在线电影亚洲一区| 久久先锋资源| 欧美日本高清| 国产精品自拍视频| 伊人婷婷久久| 一本一本a久久| 午夜精品国产更新| 免费在线国产精品| 亚洲国产成人精品视频| 亚洲第一福利社区| 一本久久青青| 午夜精品在线| 亚洲精品乱码久久久久久黑人| 一区二区在线观看视频| 国产区日韩欧美| 亚洲高清不卡一区| 一区二区三区 在线观看视频| 午夜亚洲视频| 亚洲精品美女91| 亚洲欧美日韩区| 裸体歌舞表演一区二区| 欧美日韩国产影片| 国产日韩欧美精品| 亚洲国产婷婷| 午夜激情综合网| 日韩视频在线观看免费| 欧美自拍偷拍午夜视频| 欧美激情自拍| 国产性天天综合网| 日韩一级片网址| 欧美一区二区免费| 在线亚洲一区观看| 久久久精品性| 欧美亚州一区二区三区| 伊人色综合久久天天| 亚洲一区二区三区精品在线观看| 亚洲国产成人久久综合一区| 亚洲专区一二三| 欧美91大片| 国产伦精品免费视频| 亚洲精品免费在线| 亚洲国产成人一区| 欧美伊久线香蕉线新在线| 欧美久久视频| 激情综合视频| 亚洲欧美一区二区视频| a4yy欧美一区二区三区| 久久免费视频观看| 国产精品欧美日韩久久| 亚洲精品久久久久久一区二区| 久久av红桃一区二区小说| 亚洲综合视频网| 欧美国产精品劲爆| 一区视频在线| 欧美一区二视频在线免费观看| 亚洲视频在线一区观看| 欧美黄色aaaa| 亚洲第一黄网| 亚洲高清不卡一区| 久久精品在线| 国产精品一区免费视频| 在线亚洲欧美| 亚洲天堂成人| 欧美日韩国产小视频在线观看| 一区在线免费| 亚洲第一久久影院| 久久精视频免费在线久久完整在线看 | 久久亚洲影院| 国产三级欧美三级日产三级99| 国产精品99久久久久久久vr | 亚洲欧美另类国产| 欧美午夜视频在线| 日韩视频精品在线| 日韩亚洲欧美高清| 欧美激情第一页xxx| 亚洲国产欧美日韩| 亚洲人成亚洲人成在线观看| 久久躁狠狠躁夜夜爽| 国产午夜精品久久久久久久| 亚洲欧美综合国产精品一区| 亚洲在线观看视频网站| 欧美日韩另类丝袜其他| 亚洲免费久久| 亚洲午夜极品| 国产精品成人播放| 宅男精品导航| 亚洲婷婷在线| 欧美性大战久久久久久久| 亚洲免费成人av电影| 宅男噜噜噜66国产日韩在线观看| 欧美精品videossex性护士| 最新亚洲一区| 在线视频欧美日韩| 欧美午夜精品一区| 亚洲午夜女主播在线直播| 亚洲免费人成在线视频观看| 国产精品你懂的在线| 亚洲女同精品视频| 久久精品日产第一区二区| 韩日欧美一区二区三区| 亚洲第一精品夜夜躁人人爽| 快she精品国产999| 亚洲国产成人久久综合一区| 亚洲六月丁香色婷婷综合久久| 欧美精品三级日韩久久| 99热免费精品在线观看| 午夜精品久久久久久久男人的天堂 | 久久精品二区三区| 国模精品一区二区三区| 亚洲欧洲在线看| 欧美破处大片在线视频| 亚洲视频综合| 久久久91精品国产| 亚洲国内欧美| 亚洲自拍偷拍色片视频| 国产视频一区免费看| 亚洲国产精品成人久久综合一区| 欧美福利精品| 亚洲视频一区在线观看| 久久久久久9| 亚洲国产精品激情在线观看| 宅男噜噜噜66一区二区66| 国产精品视频你懂的| 性做久久久久久久免费看| 麻豆精品视频在线观看| 亚洲乱码日产精品bd| 性做久久久久久久久| 狠狠色综合日日| 一区二区三区日韩欧美| 国产毛片一区二区| 亚洲理论在线| 国产精品一区二区久激情瑜伽| 久久精品国产综合精品| 欧美日韩国产成人在线| 午夜在线视频观看日韩17c| 欧美**人妖| 亚洲一区二区三区高清| 蜜桃av一区二区在线观看| 亚洲天堂黄色| 老牛嫩草一区二区三区日本| 一本久久知道综合久久| 久久一区国产| 夜夜夜精品看看| 久久综合图片| 亚洲夜间福利| 欧美成人中文| 亚洲欧美在线aaa| 欧美日本中文字幕| 欧美在线视频二区| 欧美视频在线视频| 亚洲大胆视频| 国产精品影院在线观看| a4yy欧美一区二区三区| 激情亚洲网站| 亚洲欧美精品伊人久久| 最新成人av网站| 久久午夜电影| 亚洲欧美视频在线观看| 欧美日本一区| 亚洲激情六月丁香| 国产在线播精品第三| 亚洲影音一区|