999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于分布式內存數據的數據同步設計與實現

2014-04-12 00:00:00朱偉李紀云江慧劉柱云
現代電子技術 2014年2期

摘 要: 在變電站綜合自動化系統中,需要對遙測、脈沖、遙信等實時數據進行處理,由于電力系統對這些數據的存取具有較高的實時性,因此監控系統通常會采用實時數據庫進行數據的存儲管理。隨著監控系統需要處理數據單元的增加和機器節點數的增長,監控系統普遍采用分布式內存數據庫進行實時數據的存儲。分布式內存數據庫的一個重要問題就是如何實現多個機器節點之間的數據更新同步,提出了利用多播和TCP實現快速有效的數據同步方式,支持靈活的組網方式,并設計了一套穩定可靠的數據傳輸機制,使得分布式內存數據庫的各個節點的數據保持良好的一致性。

關鍵字: 分布式內存數據庫; 數據同步; 變電站自動化系統; 監控系統

中圖分類號: TN964?34 文獻標識碼: A 文章編號: 1004?373X(2014)02?0077?03

0 引 言

傳統數據庫的存儲管理主要是利用磁盤進行數據存儲,在存取數據過程中需要頻繁對磁盤進行讀寫操作,而且磁盤讀寫的操作時間開銷比較大。在變電站綜合自動化系統中,需要對遙信、遙測等大量實時變化數據進行處理,而且系統對數據存取的實時性要求比較高,所以傳統的數據庫系統無法滿足監控系統對實時數據的處理需要。目前大部分變電站綜合自動化系統都會采用內存數據庫對這些數據進行存儲管理[1]。

為了保證數據處理的實時性和可靠性,監控系統中會同時使用內存和外部存儲設備(如硬盤)作為數據的存儲介質。監控系統將實時或關鍵性數據的操作在內存中進行處理,由于內存的數據存取速度比硬盤快,因此內存數據庫對數據的處理比傳統數據庫更高效、更迅捷。硬盤等外部存儲介質一般用于保存系統中的操作日志、歷史信息和數據配置等信息。一般內存數據庫在初始化的時候會從磁盤加載構建內存數據庫所需要的一切信息,并為每條記錄創建索引,進一步加快數據的存取操作[2]。由于電力系統信息化程度的提高,變電站綜合自動化系統需要處理的數據越來越多,單一的計算機節點已經無法滿足應用的需求,因此分布式多機系統成為監控系統的首選方案,并且每臺機器都擁有自己的內存數據庫[3]。當某一節點對內存數據庫中的數據修改后,它需要將變化數據同步至其他機器節點,保證各個節點上數據的一致性。

本文提出了一種用于分布式內存數據庫的可靠有效的數據同步方式,能夠快速有效保持各個機器節點上對應數據的一致性。

1 分布式內存數據庫介紹

分布式系統(Distributed Systems)是通過網絡互聯的多處理機體系結構上執行任務的系統,由多臺計算機協同進行對數據的處理。分布式內存數據庫系統由分布于多個計算機節點上的一個或多個內存數據庫系統組成,它提供必要的存取手段來操作各個節點上的子數據庫中的數據。分布式內存數據庫在使用上可以看成一個完整的內存數據庫,而數據則是分布在系統中各個節點上,節點與節點之間的數據可能存在耦合,因此這些耦合的數據就需要進行同步,保證節點數據的一致性[4]。

分布式內存數據庫系統中各個機器節點上的數據通過某種數據分配策略被分發,存儲在各個節點的內存中。數據的分發是非常靈活的,可以只分發某個節點所關心的部分數據,也可以是整個數據庫中的數據。由于數據分布在不同的機器節點上,因此需要在某個機器節點上數據發生變化后將變化后的數據傳送到其他關心這些數據的機器節點上,所以分布式內存數據庫系統中機器節點之間的數據同步也是構成分布式內存數據庫的一個重要組成部分[5]。在分布式內存數據庫中,每個節點都有自己的實體管理單元,具有高度的自治性,數據是通過相應的數據分片策略被分發得到,存儲在內存中。和集中式數據庫對比,具有更高的可靠性和靈活性。

分布式內存數據庫和傳統內存數據庫相比,具有以下幾個優點:

(1) 分布式內存數據庫降低了數據傳送的開銷,因為大多數數據庫訪問操作都是針對局部數據庫的,而不是對其他節點數據庫的訪問;

(2) 分布式內存數據庫系統的可靠性得到了很大的提高了,當網絡發生故障時,依然允許對局部數據庫進行操作,而且一個機器節點的故障不會影響其他機器節點的數據處理;

(3) 分布式內存數據庫系統便于系統的擴充,增加一個新的局部數據庫,或擴充網絡中的機器節點,都很容易實現。

分布式內存數據庫的主要節點之間的同步方式一般多采用多播(Multicast)的形式,如圖1所示。多播可以把數據同時傳遞給同屬某一多播組的其他節點,多播消息在每條網絡鏈路上只需要被傳遞一次,只有在網絡鏈路分叉時消息才會被進行復制,因此它的使用策略相對來說是比較高效的[6]。當某個機器節點上的數據發生變化時,它會將變化的數據以多播的方式傳送出去,其他節點在收到該數據時首先判斷該數據是否屬于本節點,如果屬于本節點則將數據更新到內存數據庫中,否則丟棄該變化數據[7]。如果機器節點少的話也可以采用TCP服務器/客戶機的方式,通過TCP的方式進行數據同步[8]。為了監控系統更容易部署和應用,內存數據庫同步模塊在設計時同時支持多播和TCP的混合組網方式。

2 批量確認滑窗算法設計

對于大批量的數據傳輸,如果采用傳統的發送一幀數據確認一幀的話,數據處理的效率會大大降低同時也增加了網絡流量[9]。本系統采用了批量確認的滑窗算法,提高了數據傳輸的吞吐量,也降低了網絡負荷。當一個機器節點上的數據發生變化時,機器上的應用程序會通過多播將這些變化信息按照一定格式發送至網絡上的其他機器節點。在數據變化很快的情況下,數據同步模塊會在某一個時刻通過多播方式發送多幀變化數據,每一幀數據都會有一個編號,其他機器節點在接收到這些數據時,先將這些數據幀按照順序緩存在數據隊列中,并根據數據幀的序號進行確認,如果接收到的數據幀序號不連續,接收方會把未收到的數據幀的序號報告給發送方,發送方通過單播(Unicast)的方式將接收方未接收到的數據幀發給對應的接收方,接收方將這些缺失的數據幀按照順序插入到自己的數據緩存隊列中并且定時地將連續的那些數據幀交給數據存儲模塊寫入實時庫,從而保證變化數據的寫入順序和完整性。通過多播批量向多個節點傳輸變化數據,在數據發生丟失的情況下通過單播向接收方發送缺失的數據,大大提高了系統的可靠性,同時也極大減輕了網絡的負荷[10]。如圖2所示,當發送方連續發送7幀變化數據后,接收方A接收到的數據完整,它會對發送方發送的數據進行確認并告知數據接收完整,接收方B接收數據不完整,它會對接收到的數據進行確認同時通知發送方缺失第5幀,發送方在收到接收方B的確認時通過單播將第5幀數據補發給接收方B。

自適應滑窗大小調整算法如式(1)所示:

[W=W+k*14C] (1)

式中:W為滑窗的大小;k為滑窗大小變化系數;C為常數。如果在某一個滑窗大小的時候,發送方檢測到大部分接收方普遍存在丟包現象,那么發送方按公式(1)減小滑窗的大小。如果在某一個滑窗大小的時候,發送方檢測到所有接收方數據接收完整,那么發送方會按照公式(1)適當地增加滑窗的大小,從而保證發送方與多個接收方之間的數據傳輸效率達到最優。

3 數據同步模塊的設計與實現

在變電站監控系統中,需要對測控裝置和保護裝置的信息加以采集和處理,因此系統設計了一個基于共享內存的數據變化隊列[11]。規約模塊負責實現與變電站內的裝置通訊并采集相應的信息,并將這些數據寫入內存數據庫,內存數據庫系統在將這些數據寫入對應的內存的同時也會將這些數據變化信息寫入數據變化隊列中。數據同步模塊通過不斷掃描數據變化隊列得知數據變化信息,通過網絡將這些變化信息發送至網絡上的其他機器節點,其他機器節點將同步來的變化數據庫寫入本機內存中,實現了分布式內存數據庫的數據同步問題。如圖3所示。

數據同步服務的系統架構如圖4所示,由發送隊列、接收多列、網絡傳輸模塊、節點狀態管理模塊、文件傳輸模塊以及數據追趕模塊組成。

發送隊列中存放的是本機的變化數據,通過掃描數據變化隊列得到。接收隊列負責存放其他節點發送的變化數據,并在接收連續完整的變化數據后通過接口寫入本機的內存數據庫。網絡傳輸模塊用于發送/接收變化數據。節點狀態管理模塊用于管理網絡中其他機器節點的活動狀態。文件傳輸模塊用于在機器節點之間同步文件,在本系統中,文件也被看成是一種特殊格式的數據。數據追趕模塊用于補發由于各種原因丟失的變化數據,確保各個機器節點之間內存數據庫的一致性。

4 結 語

利用多播和TCP方式相結合,設計合理的數據同步機制,實現了分布式內存數據庫系統中的各個機器節點之間的高效率的數據同步。通過多播的批量發送和批量確認提供了數據同步的效率,基于單播的數據補發模式保證了變化數據的順序性和完整性[12]。基于多播和TCP實現快速有效的數據同步方式,支持靈活的組網方式,并設計了一套穩定可靠的數據傳輸機制,使得分布式內存數據庫的各個節點的數據保持良好的一致性。

參考文獻

[1] 汪秀麗.數字化變電站綜述[J].水利電力科技,2007,33(2):7?15.

[2] 王珊,肖艷芹,劉大為,等.內存數據庫關鍵技術研究[J].計算機應用,2007,27(10):2353?2357.

[3] 鐘昀,詹成國.分布式內存數據庫在變電站自動化系統中應用[J].電力自動化設備,2007,27(3):116?119.

[4] 傅蕾,胡敏強.變電站監控軟件系統中內存數據庫的研究[J].電力自動化設備,2002,22(10):21?23.

[5] 丁鯤,嚴浩,刁興春.分布式數據庫同步技術研究[J].海軍工程大學學報,2004,16(5):100?104.

[6] MOHAN C, HADERLE D. ARIES: a transaction recovery method supporting fine?granularity locking and partial roll?back using write?ahead logging [J]. ACM Transactions on Database System, 1992, 17(1): 94?162.

[7] PACITTI E, SIMON E. Update propagation strategies to improve freshness of data in lazy master schemas [C]// Proc of the 18th International Conference on Distributed Computation System. Amsterdam, Netherlands: ICDCS, 1998: 2032?2040.

[8] 張瑛,夏克儉,張法明,等.分布式異構數據庫數據同步系統的研究與實現[J].小型微型計算機系統,2007,28(10):1803?1806.

[9] MODI Tarak. Practical Java message service [M]. [S.l.]: Manning, 2002.

[10] 袁震.基于消息中間件的數據同步更新方法[J].兵工自動化,2013,32(7):93?96.

[11] 林源,陳志泊.分布式異構數據庫同步系統的研究與應用[J].計算機工程與設計,2010,31(24):5278?5281.

[12] 孫世明,任遠,徐春雷,等.地縣一體化調度自動化系統中的數據緩存和同步方法[J].電力系統自動化,2011,35(16):76?78.

[13] GARCIA?MOLINA H, ULLMAN J D, WIDOM J. Database system implementation [M]. Beijing: China Machine Press, 2002.

主站蜘蛛池模板: 国产导航在线| 欧美日本激情| 欧美专区在线观看| jizz国产视频| 精品国产免费观看一区| 国模极品一区二区三区| 精品中文字幕一区在线| 日本人又色又爽的视频| 欧美国产在线一区| 91探花国产综合在线精品| 日韩黄色大片免费看| 国产精品极品美女自在线网站| 91 九色视频丝袜| 欧美日韩资源| 国产精品自在在线午夜区app| 狠狠色综合久久狠狠色综合| 久久亚洲美女精品国产精品| vvvv98国产成人综合青青| 国内丰满少妇猛烈精品播| 伊人网址在线| 免费无码AV片在线观看国产| 精品久久久久久久久久久| 亚洲视频免费播放| 免费毛片a| 欧美劲爆第一页| 国产自在线播放| 国产专区综合另类日韩一区| 亚洲人成网站18禁动漫无码| 成人国内精品久久久久影院| 在线观看欧美精品二区| 毛片免费高清免费| 看你懂的巨臀中文字幕一区二区| 免费Aⅴ片在线观看蜜芽Tⅴ | 青草视频在线观看国产| 中文字幕人妻无码系列第三区| 亚洲国产高清精品线久久| 久久精品中文字幕免费| 毛片在线播放网址| 五月婷婷亚洲综合| 亚洲成AV人手机在线观看网站| 狠狠亚洲婷婷综合色香| 国产一级妓女av网站| 波多野结衣一区二区三视频| 尤物国产在线| 日韩毛片免费| 欧美一级高清片欧美国产欧美| 日本不卡在线| 亚洲欧美日韩中文字幕在线一区| 国产91视频观看| 国产成人精品第一区二区| yjizz视频最新网站在线| 亚洲毛片在线看| 亚洲国产精品日韩专区AV| 自慰高潮喷白浆在线观看| 久久精品这里只有国产中文精品| 国产精品成| 日韩免费无码人妻系列| 无码精品国产dvd在线观看9久 | 91精品国产一区自在线拍| 亚洲毛片一级带毛片基地| 青青草国产精品久久久久| 97国内精品久久久久不卡| 欧美亚洲国产视频| 999在线免费视频| 看你懂的巨臀中文字幕一区二区 | 国产精品大白天新婚身材| 精品国产免费人成在线观看| 亚洲欧州色色免费AV| 亚洲成人www| 国产91在线|日本| 国产人成网线在线播放va| 成年人福利视频| 日韩欧美成人高清在线观看| 精品视频91| 日韩精品一区二区深田咏美| 亚洲第一天堂无码专区| 国产AV无码专区亚洲A∨毛片| 国产99视频在线| 国产精品午夜福利麻豆| 中文天堂在线视频| 国产精品吹潮在线观看中文| 国产精品欧美在线观看|