《電子技術應用》
您所在的位置:首頁 > 電源技術 > 設計應用 > 一種分布式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亚洲国产精品_日韩亚洲一区二区
一区二区视频免费完整版观看| 性8sex亚洲区入口| 欧美精品一区二区在线观看| 亚洲欧洲在线播放| 亚洲精品国产欧美| 欧美无砖砖区免费| 欧美一区二区三区成人| 久久精品国语| 亚洲毛片一区二区| 国产九九精品视频| 久久久久88色偷偷免费| 亚洲精品网址在线观看| 一区二区三区 在线观看视频| 国产精品久久夜| 久久婷婷综合激情| 日韩午夜电影av| 亚洲宅男天堂在线观看无病毒| 国产一区二区三区视频在线观看| 美国十次了思思久久精品导航| 一区二区三区日韩| 久久国产66| 一本色道久久88亚洲综合88| 国产一级精品aaaaa看| 国产欧美一区二区精品婷婷| 欧美激情精品久久久久久| 午夜精品一区二区三区在线播放| 久久国产黑丝| 久久精品国内一区二区三区| 久久精品30| 最新国产精品拍自在线播放| 亚洲精品久久久久久久久久久久久| 亚洲视频在线观看三级| 黄色精品网站| 国产精品午夜电影| 欧美精品一区二区三区在线播放 | 久久精品一区二区三区不卡| 亚洲高清视频在线| 亚洲视频精品在线| 亚洲自拍偷拍福利| 久久av老司机精品网站导航| 亚洲国产清纯| 午夜精品久久久久久久99水蜜桃| 亚洲区欧美区| 激情欧美日韩| 亚洲国产精品成人综合色在线婷婷| 国产精品美女久久久浪潮软件| 国产精品你懂得| 国产亚洲激情视频在线| 国产精品海角社区在线观看| 欧美成人资源| 久久香蕉国产线看观看av| 欧美成人精品一区| 欧美性片在线观看| 欧美日韩91| 欧美jjzz| 久久免费偷拍视频| 欧美激情第10页| 国产精品欧美日韩一区| 精品福利免费观看| 99在线观看免费视频精品观看| 午夜精品福利视频| 亚洲日本激情| 欧美一区二区三区免费看| 欧美成人蜜桃| 国产精品视频免费观看| 亚洲二区在线| 亚洲大胆女人| 亚洲深夜福利| 亚洲欧洲精品一区二区| 亚洲欧美日本视频在线观看| 亚洲一区二区不卡免费| 宅男噜噜噜66国产日韩在线观看| 亚洲毛片av| 欧美在线观看视频一区二区| 午夜激情久久久| 欧美freesex8一10精品| 国产乱码精品一区二区三区av| 亚洲国产日韩欧美在线99| 在线日韩视频| 亚洲一区二区三区三| 亚洲一区精品在线| 91久久精品国产| 性欧美大战久久久久久久免费观看| 老色鬼久久亚洲一区二区| 久久夜色精品亚洲噜噜国产mv | 欧美黄色免费网站| 国产婷婷色一区二区三区四区| 日韩视频在线一区二区三区| 久久国产一区二区| 午夜日韩av| 欧美巨乳在线观看| 悠悠资源网亚洲青| 激情偷拍久久| 亚洲永久免费观看| 日韩小视频在线观看专区| 久久亚洲国产成人| 国产精品一区在线观看| 9l视频自拍蝌蚪9l视频成人| 亚洲七七久久综合桃花剧情介绍| 久久精品三级| 国产精品露脸自拍| 亚洲麻豆一区| 亚洲欧洲日本在线| 麻豆成人综合网| 黄色国产精品| 久久精品视频在线免费观看| 久久不射电影网| 国产精品一区二区在线观看网站| 99在线观看免费视频精品观看| 日韩系列欧美系列| 欧美精品日韩综合在线| 亚洲黑丝一区二区| 亚洲精品在线免费观看视频| 麻豆免费精品视频| 有坂深雪在线一区| 亚洲国产精品专区久久| 久久一区二区三区av| 国色天香一区二区| 亚洲精品色图| 日韩亚洲欧美综合| 欧美黄色视屏| 亚洲精品一线二线三线无人区| 亚洲精品乱码久久久久久蜜桃麻豆| 久久一综合视频| 在线精品观看| 亚洲激情在线观看| 欧美国产日韩a欧美在线观看| 亚洲国产高清aⅴ视频| 亚洲精品视频免费观看| 欧美片第1页综合| 亚洲美女中出| 亚洲一区免费观看| 久久综合国产精品| 在线精品视频免费观看| 91久久久精品| 欧美日本一区| 亚洲视频福利| 久久精品人人做人人爽| 黄色一区三区| 亚洲精品国产精品国自产观看| 欧美精品 国产精品| 日韩亚洲欧美成人| 亚洲高清二区| 欧美福利视频| 99伊人成综合| 欧美制服丝袜第一页| 韩国三级电影久久久久久| 久久精品三级| 欧美日韩精品免费观看视频完整 | 久久国产精品99精品国产| 久久精品噜噜噜成人av农村| 欧美理论在线播放| 一本色道久久综合精品竹菊| 午夜视频一区在线观看| 国产日韩欧美一区| 亚洲缚视频在线观看| 欧美日韩成人| 亚洲自拍都市欧美小说| 久久综合图片| 亚洲精品系列| 欧美一区二区在线看| 1769国产精品| 亚洲午夜av| 国产亚洲欧美一区二区| 亚洲精品乱码视频| 欧美视频一区在线| 欧美一区二区三区精品| 亚洲综合首页| 国产字幕视频一区二区| 亚洲美女在线一区| 国产精品视频精品视频| 亚洲国产精品视频| 国产精品久久久久久久久久尿| 久久精彩免费视频| 欧美午夜精品久久久久久超碰| 性欧美xxxx视频在线观看| 亚洲女女女同性video| 国产一区二区日韩精品| 亚洲精品一区二区三区蜜桃久| 国产精品成人一区二区艾草| 欧美在线视频一区| 欧美三级电影大全| 亚洲第一黄色| 久久亚洲精品伦理| 99这里只有久久精品视频| 久久男女视频| 中文在线一区| 欧美国产亚洲另类动漫| 午夜视频精品| 欧美日韩在线一二三| 亚洲免费激情| 久久久精品国产一区二区三区| 99在线精品观看| 欧美jizz19性欧美| 欧美一区二区三区在线播放| 欧美日韩一区二区三区视频 | 免费在线欧美黄色| 亚洲欧美色一区| 欧美一区免费视频| 亚洲欧洲精品一区二区三区|