《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于云技術的分布式實時數據庫系統的設計與實現
基于云技術的分布式實時數據庫系統的設計與實現
2017年電子技術應用第11期
焦冬冬1,張 晨2,房志奇1,康 衛1
1.華北計算機系統工程研究所,北京100083;2.北京科技大學,北京100083
摘要: 通過分析工業大數據的特點,提出并實現了一種基于云技術的分布式實時數據庫系統。該系統將云技術與實時數據庫技術相結合,既滿足工控對于數據實時性的要求,又具有高擴展性、高容錯性、高可靠性,滿足工業大數據的處理要求。實驗結果表明,該系統達到了設計要求。
中圖分類號: TP392
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.166788
中文引用格式: 焦冬冬,張晨,房志奇,等. 基于云技術的分布式實時數據庫系統的設計與實現[J].電子技術應用,2017,43(11):112-115,123.
英文引用格式: Jiao Dongdong,Zhang Chen,Fang Zhiqi,et al. Design and implementation of the distributed real-time database system based on the cloud technology[J].Application of Electronic Technique,2017,43(11):112-115,123.
Design and implementation of the distributed real-time database system based on the cloud technology
Jiao Dongdong1,Zhang Chen2,Fang Zhiqi1,Kang Wei1
1.National Computer System Engineering Research Institute of China,Beijing 100083,China; 2.University of Science and Technology Beijing,Beijing 100083,China
Abstract: By analyzing the characteristics of the industrial big data, this paper designs and implements a distributed real-time database system based on cloud technology. The system integrates the cloud technology with the real-time database technology. This system enables a host of real-time, benefits-load balancing, high extensibility, fault tolerance and high reliability, meets the processing requirements of industrial big data.
Key words : distributed real-time database; cloud technology; big data

0 引言

    目前實時數據庫系統廣泛應用于軍事、電信、電力、航空、工業控制、證券交易、物聯網等領域,隨著企業信息化快速建設,工業實時數據增長速度遠遠超出企業的預期。以電力行業發電側為例,電力生產自動化控制程度的提高,對諸如壓力、流量和溫度等指標的監測精度、頻度和準確度更高,帶來數據量的激增。就用電側而言,一次采集頻度的提升就會帶來數據體量的“指數級”變化[1]。另外,基于工業大數據[2]分析有助于企業優化績效,明確趨勢和模式,支持實時決策。

    分布式實時數據庫系統是分布式數據庫系統和實時數據庫系統相結合的產物,是事務和數據都可以具有定時特性或顯示定時限制的分布式數據庫系統。目前國內主要的分布式數據庫產品多采用多層的分布式技術,配置多套實時數據系統分別處理各自固定的采集器采集的數據,沒有實現數據存儲的透明性,不具備動態可擴展性。文獻[3]中提出了一種去中心化的分布式實時數據庫系統,使得系統具有更高的可用性,實現的是數據最終一致性,無法保證強一致性[4]。文獻[5]提出了一種基于通信平臺的分步式實時數據庫系統,系統具有較高的擴展性,但是通信平臺的負載較大,通信路徑較長。

    為此本文提出了一種基于云技術[6-8]的分布式實時數據庫管理系統的設計方案,將云技術與實時數據庫技術相結合,從而滿足工業大數據的處理要求,可以應用于石化、電力、鋼鐵、物聯網、氣象預報、物流跟蹤、生態監測等專業應用領域。

1 分布式實時數據庫系統總體設計

    基于云技術的分布式實時數據庫系統主要分為四大子系統:主節點(Masternode)、實時數據節點(RTDatanode)、客戶端和數據采集器。系統通過兼容HDFS[9]實現對工業非結構化數據的處理。系統的總體架構如圖1所示。

jsj1-t1.gif

1.1 主節點Masternode

    主節點是整個分布式實時數據庫系統的核心,主要用于維護整個系統的元數據信息,同時監管整個集群。主節點主要包括四個子系統:通信處理子系統、元數據鏡像和編輯日志管理子系統、數據節點管理子系統,以及元數據內存快照管理子系統,系統架構如圖2所示。

jsj1-t2.gif

    通信處理子系統主要有兩種實現方式:遠程過程調用接口和基于TCP或HTTP流式接口。主要用于客戶端和主節點、主節點和實時數據節點、主節點和備份主節點之間的通信。

    元數據鏡像和編輯日志管理子系統主要有兩個模塊:其一是處理非結構化數據的元數據鏡像和編輯日志管理模塊,通過移植HDFS的相應模塊實現;其二是工業實時數據的元數據鏡像和內存數據節點元數據日志管理子系統,用于將接收到的實時數據從內存中同步持久化到本地磁盤,在集群啟動時將元數據等加載到元數據內存快照管理子系統。

    數據節點管理子系統主要包括數據節點啟動模塊、心跳處理模塊、機架感知模塊、負載均衡模塊和非結構化數據的數據塊管理模塊。

    (1)數據節點啟動模塊主要用于數據節點的握手、注冊,對于非結構化數據需要上報數據塊信息。

    (2)心跳處理模塊主要用于心跳信息的處理和心跳檢查,心跳信息包括數據節點的身份信息、數據節點的負載信息,用于負載均衡模塊等;心跳檢查指的是根據設定的時間間隔檢查心跳信息,用于判斷數據節點的運行狀態。

    (3)負載均衡模塊根據心跳處理模塊得到負載信息,為每個數據節點賦予優先級。

    (4)機架感知模塊用于感知數據節點的機架信息。

    (5)非結構化數據的數據塊管理模塊通過兼容HDFS的相應模塊實現。

    元數據內存快照管理子系統主要用于在內存中維護主節點需要維護的元數據信息,實現實時數據的分布式存儲和檢索、用戶權限管理等。

1.2 實時數據節點RTDatanode

    實時數據節點負責處理工業過程數據和系統的元數據信息。實時數據節點主要分為三個部分:內存數據節點子系統、實時數據節點子系統、非結構化數據節點子系統。其中非結構化數據節點子系統通過兼容HDFS的Datanode實現。實時數據節點總體架構如圖3所示。

jsj1-t3.gif

    內存數據節點子系統用于分擔主節點元數據信息處理負載,維護部分系統元數據。

    實時數據節點子系統主要用于工業實時數據和歷史數據的處理,主要包括查詢子系統、內存快照子系統、日志子系統、歸檔子系統、通信子系統和實時文件系統rtfs[10]

    (1)查詢子系統主要包括實時數據的發布和歷史數據的查詢,采用線程池技術響應客戶端的請求。

    (2)內存快照子系統采用鏈表來實現,過程數據緩存在內存的數據緩存鏈表中,數更新線程將新數據更新進該鏈表。內存快照子系統采用POT樹索引結構[11]來管理內存中的數據。

    (3)日志子系統主要包括實時數據日志模塊和數據包日志模塊,數據包日志模塊用于防止數據包在發送隊列和接收隊列時系統故障引起的數據丟失。

    (4)歸檔子系統主要由壓縮和打包歸檔兩部分組成。壓縮采用旋轉門壓縮算法,壓縮之后,將數據打包寫入實時文件系統,如果失敗將數據寫入日志。

    (5)通信子系統主要有數據包發送緩沖模塊、元數據布隆過濾模塊、主節點通信模塊、實時數據節點通信模塊和客戶端通信模塊等。數據包發送緩沖模塊采用鏈表結構實現,支持并發讀寫,用于緩存備份數據包。元數據布隆過濾模塊用于獲取元數據信息。主節點通信模塊和實時數據節點通信模塊分別用于與主節點、實時數據節點通信。客戶端通信模塊用于響應客戶端的請求。

1.3 關鍵技術

    (1)負載均衡技術

    負載均衡技術是保證系統運行效率和可用性的關鍵技術。基本原理如下:

    IF(心跳間隔到期)

        THEN 獲取心跳信息中的CPU、內存、存儲、進程等信息更新到Node_Load列表;

            根據Node_Load信息更新Node_PRI->pri(數據節點的優先級);

            更新Node_PRI最大堆;

    ENDIF

    IF(接收到分配節點申請)

        THEN從Node_PRI最大堆中獲取最高優先級節點返回;

            更新Node_Load列表;

            更新Node_PRI->pri;

            更新Node_PRI最大堆;

    ENDIF

    (2)動態擴展技術

    動態擴展技術是保證系統性能和連續性的關鍵技術,主要包括節點的動態添加和刪除。動態添加節點的基本原理如下:

    數據節點執行添加指令;

    遠程過程調用主節點NodeRegister(Node);

    NodeRegister(Node)

        IF(Node 在Node_List列表中)

            THEN Node->alive=TRUE;

              IF(Node 不在Node_Load列表中)

                THEN 用Node初始化Node_Load并添加到列表中;

              ENDIF

              IF(Node 不在Heartbeat列表中)

                THEN將Node添加到Heartbeat列表中;

              ENDIF

        ELSE Node->alieve=TRUE; 

              Node添加到Node_List中;

              Node初始化Node_Load并添加到列表中;

              Node添加到Heartbeat列表中;

        ENDIF

    動態刪除節點的基本原理如下:

    數據節點執行添加指令或故障;

    主節點執行:

    IF(心跳間隔到期)

       THEN獲取Node心跳信息,記錄獲取時間TIME;

        IF(心跳信息含有關閉命令)

          THEN 更新Node_List中Node->alive=FALSE;

                更新其他所有包含Node結構,刪除Node;

                Node添加到Dead_Node列表中;

        ELSE IF(Node在Heartbeat列表中)

          THEN更新Heartbeat列表中Node->time=TIME;

          FOR node in Heartbeat:

            DO IF(TIME-node->time >設置最長失連時間)

          THEN  更新Node_List中Node->alive=FALSE;

                更新其他所有包含Node的數據結構,刪除Node;

                Node添加到Dead_Node列表中;

        ENDIF

      ELSE IF(Node不在Heartbeat列表中)

        THEN NodeRegister(Node);

          將Node從Dead_Node列表中刪除;

      ENDIF

      IF(時間間隔到期)

        THEN FOR node in Dead_Node:

          DO IF(TIME-node->deadTime>最長dead時間)

              THEN將node歷史數據同步到其他節點;

          ENDIF

      ENDIF

    ENDIF

1.4 客戶端和數據采集器

    客戶端主要用于工業數據的查詢和實時數據的訂閱,客戶端通過與主節點通信獲得所需元數據信息,即數據塊索引和實時數據節點列表為元素的有序列表,對于實時數據只有一個元數據信息,客戶端依次與相應數據節點通信獲取數據,從而實現數據的透明訪問。

    數據采集器主要用于采集工業現場的實時數據,加時間戳發送到實時數據節點。數據采集器會將數據發送到最短網絡路徑的實時數據節點(人工配置或主節點分配),當此實時數據節點故障時,數據采集器與主節點通信,申請一個有效的實時數據節點,然后將實時數據發送到此節點,從而保證了實時數據處理的高容錯性。

2 測試

    為了測試系統的性能和擴展性以及負載均衡,采用的測試環境包括兩臺浪潮NP3060,配置為:Intel Xeon CPU E5606,24 GB內存,千兆網絡。兩臺機器安裝VMware ESXi5.5.0,在其上構建虛擬機,虛擬機配置為:1核處理器,4 GB內存,共享千兆網絡,操作系統為Ubuntu 11.10。

2.1 性能測試

    使用一臺虛擬機作為主節點,4臺虛擬機為數據節點,4臺虛擬機為數據采集器。每個數據采集器模擬生成1 000點、5萬點的溫度實時數據,采集周期是1 s,數據副本數量設置為2,進行7×24小時測試。測試表明系統高可用,7×24小時無故障運行。測試結果如表1所示。

jsj1-b1.gif

2.2 擴展性和負載均衡測試

    使用一臺虛擬機作為主節點,3臺虛擬機為實時數據節點,編號為1、2、3。4臺虛擬機為數據采集器。每個數據采集器模擬生成1 000點的溫度實時數據,采集周期是1 s,測試時間為4萬秒。當測試進行到2個小時時,動態添加一個實時數據節點4到集群中。進行到5個小時,動態刪除數據節點3。測試結果如表2所示,表中每列是數據節點在查詢時刻所存儲數據包的數量。

jsj1-b2.gif

    測試結果表明,集群能夠實現動態添加和刪除實時數據節點,具有高擴展性。經過一段時間的運行后,數據存儲均衡,說明系統能夠實現負載均衡。

2.3 查詢測試

    使用一臺虛擬機作為主節點,4臺虛擬機為實時數據節點,編號為1~4。4臺虛擬機為數據采集器,客戶端若干。每個數據采集器模擬生成1 000點溫度實時數據,采集周期是1 s,數據副本數量設置為3,24小時的歷史數據。客戶端分別在集群健康、斷開一、二臺實時數據節點(包括所有可能的組合)的情況下查詢歷史數據和訂閱實時數據。查詢歷史數據的測試結果如表3所示,由于設置副本數量為3,因此查詢時集群允許最大數據節點故障數量為2。

jsj1-b3.gif

    在集群健康時訂閱實時數據的測試結果如圖4所示。數據節點故障時訂閱實時數據的測試結果如圖5所示,在時刻T1,關閉實時數據節點2、3、4;在時刻T2,重新啟動實時數據節點2,關閉實時數據節點1;在T3時刻,重新啟動實時數據節點3,關閉實時數據節點2。對比圖4和圖5可以看出,在數據規模不大時,集群只有一臺實時數據節點存活,不會影響數據的存儲和訂閱。

jsj1-t4.gif

jsj1-t5.gif

    測試結果表明,系統的歷史數據查詢和實時數據訂閱功能滿足設計要求。在歷史數據查詢時,系統允許的最大數據節點故障數量為數據點的副本數量減1,在實時數據存儲和訂閱時,只要系統存活的實時數據節點總的負載容量大于系統處理的數據規模,就能保證實時數據的處理。這說明系統具有很高的容錯性和可靠性。

2.4 集群數據同步通道性能測試

    將發送數據節點定義為Client,將接收數據節點定義為Server,分別測試1~3個Client與1個Server連接情況下的通道性能。測試結果如表4所示。

jsj1-b4.gif

    實驗結果表明,在測試環境下,當數據副本設置為2時,集群的數據同步通道支持的最大單節點數據規模是285萬點(102個數據組成大小為1 216 B的數據包);當數據副本設置為3時,支持的最大單節點數據規模是180萬點。

3 結束語

    本文通過分析工業大數據的特點,提出并實現了一種面向工業大數據同時兼容傳統的分布式實時數據庫系統功能的基于云技術的分布式實時數據庫系統。該系統通過將云技術與實時數據庫技術相結合,既滿足工控對于數據實時性的要求,又具有高擴展性、高容錯性、高可靠性,支持工業大數據的處理要求。分布式實時數據庫系統可用于電力、石化、物聯網等多種行業,具有廣闊的應用場景。

參考文獻

[1] 中國電機工程學會信息化專委會.北京中國電力大數據發展白皮書[M].北京:中國電力出版社,2013:9-12.

[2] 孫柏林.大數據技術及其在電力行業中的應用[J].電氣時代,2013(8):18-23.

[3] 錢益舟.基于云技術的分布式實時數據庫高性能數據存儲檢索機制的研究[D].杭州:浙江大學,2012.

[4] Werner Vogels.Eventually consistent[J].ACM Queue,2008,6(6):14-19.

[5] 黃震.工業分布式實時數據庫網絡通信平臺的研究與設計[D].杭州:浙江大學,2012.

[6] VAGUERO L M,RODERO-MWEINO L,CACERES J.A break in the clouds:Towards a cloud definition[J].SIGCOMM Comput.Commun.Rev.,2009,39(1):50-55.

[7] Hadoop[EB/OL].(2016-07-01)[2016-12-18].http://hadoop.apache.org/.

[8] GREENBERG A,HAMILTON J,MALTZD A.The cost of a cloud:research problems in data center networks[C].SIGCOMM Comput.Commun.Rev.,2008,39:68-73.

[9] HDFS architecture guide[EB/OL].(2013-02-13)[2016-12-18].http://hadoop.apache.org/docs/r1.0.4/-hdfs_design.html.

[10] 郭瑞.力數實時數據庫實時文件系統的研究[D].北京:華北計算機系統工程研究所,2013.

[11] 李亞鳳.若干實時數據庫過程數據處理關鍵技術的研究與實現[D].北京:華北計算機系統工程研究所,2013.



作者信息:

焦冬冬1,張  晨2,房志奇1,康  衛1

(1.華北計算機系統工程研究所,北京100083;2.北京科技大學,北京100083)

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美日韩一区三区四区| 老司机精品导航| 欧美中文字幕不卡| 亚洲一区二区三区成人在线视频精品| 亚洲国产午夜| 曰韩精品一区二区| 狠狠久久亚洲欧美专区| 国产欧美一区二区三区久久 | 久久精品2019中文字幕| 午夜精品免费在线| 午夜欧美理论片| 欧美一区网站| 久久精品国产视频| 久久精品人人做人人爽电影蜜月| 欧美在线三级| 亚洲第一在线综合网站| 亚洲国产精品毛片| 最新亚洲一区| 99热精品在线观看| 一区二区三区欧美激情| 亚洲色图自拍| 亚洲欧美变态国产另类| 午夜视频在线观看一区二区| 欧美一区中文字幕| 久久亚洲图片| 欧美夫妇交换俱乐部在线观看| 欧美刺激午夜性久久久久久久| 欧美国产先锋| 欧美日韩一区二区三区在线观看免| 欧美日韩中文字幕在线| 国产精品久久久久久亚洲调教| 夜夜嗨av一区二区三区中文字幕 | 亚洲视频高清| 亚洲一区一卡| 久久aⅴ国产欧美74aaa| 亚洲国产欧美一区二区三区丁香婷| 亚洲电影激情视频网站| 亚洲三级毛片| 国产精品99久久久久久www| 亚洲免费影视| 久久蜜桃av一区精品变态类天堂| 老司机aⅴ在线精品导航| 欧美精品福利在线| 国产精品久久久久久久久久妞妞| 国产日本欧美视频| 1024亚洲| 亚洲五月六月| 久久国产精品色婷婷| 亚洲精品影院在线观看| 亚洲一区精品在线| 久久人人97超碰国产公开结果| 欧美激情一区二区| 国产精品一卡二卡| 在线欧美小视频| 中文精品视频| 亚洲国产欧美日韩| 午夜精品影院| 蜜臀av国产精品久久久久| 欧美日韩中文精品| 黄色在线一区| 一本一本久久a久久精品综合麻豆| 欧美一区二区视频在线观看2020| 亚洲人成在线观看| 性高湖久久久久久久久| 欧美成人a视频| 国产精品欧美一区二区三区奶水 | 亚洲综合欧美日韩| 久久在线播放| 国产精品视区| 亚洲精品影院| 性做久久久久久免费观看欧美| 日韩天堂在线观看| 久久精品一二三| 欧美日韩视频在线| 黄网动漫久久久| 亚洲图片欧美午夜| 亚洲精品国产视频| 久久成人这里只有精品| 欧美另类高清视频在线| 国产一区二区三区四区在线观看| 一区二区高清在线| 亚洲欧洲日本国产| 久久精品电影| 国产精品久久久久久亚洲调教| 亚洲国产精品v| 久久国产一区二区| 午夜精品一区二区三区四区| 欧美母乳在线| 在线不卡中文字幕| 欧美一区国产在线| 亚洲女女女同性video| 欧美精品七区| 在线观看成人小视频| 午夜视频一区二区| 亚洲欧美日韩国产| 欧美日韩一区三区四区| 亚洲韩国日本中文字幕| 久久精品国产在热久久| 香蕉视频成人在线观看| 欧美手机在线视频| 亚洲人成在线观看一区二区| 亚洲第一黄色| 久久久久久久精| 国产伦理精品不卡| 一区二区三区高清在线 | 噜噜噜躁狠狠躁狠狠精品视频| 国产伦精品一区二区| 中文亚洲字幕| 亚洲影视在线| 欧美三级不卡| 9久草视频在线视频精品| 日韩五码在线| 欧美国产日韩视频| 亚洲国产美女久久久久| 亚洲国产一区二区在线| 久久在线精品| 1000部精品久久久久久久久| 亚洲国产精品国自产拍av秋霞 | 国产精品久久久久久亚洲调教| 夜夜嗨av一区二区三区中文字幕 | 亚洲国产精品va| 亚洲精品美女久久久久| 欧美a级一区二区| 亚洲高清资源综合久久精品| 亚洲国产精品久久久久婷婷老年 | 欧美在线视频一区二区| 国产精品视频xxxx| 亚洲欧美视频| 久久精品一区二区国产| 国产偷久久久精品专区| 久久aⅴ国产欧美74aaa| 老色鬼精品视频在线观看播放| 尤物在线精品| 亚洲精品在线视频| 欧美另类视频在线| 亚洲美女淫视频| 亚洲在线中文字幕| 国产农村妇女精品一区二区| 性欧美xxxx视频在线观看| 久久久激情视频| 亚洲成在人线av| 99在线精品视频在线观看| 欧美日韩精品久久久| 国产精品嫩草影院av蜜臀| 亚洲影院高清在线| 久久精品国产综合| 在线精品一区| 日韩写真在线| 国产精品视频免费| 久久成人羞羞网站| 欧美激情中文字幕在线| 一区二区三区视频在线看| 欧美一区二区成人6969| 激情久久五月| 中文久久乱码一区二区| 国产精品视频九色porn| 久久精品国产77777蜜臀| 欧美激情一区二区三区不卡| 亚洲视频在线一区| 久久先锋影音| 日韩一区二区电影网| 欧美怡红院视频| 在线观看成人av电影| 亚洲特黄一级片| 国产视频在线观看一区| 亚洲精品国产欧美| 国产精品va在线播放| 久久激情中文| 欧美色播在线播放| 久久本道综合色狠狠五月| 欧美精品三级| 性做久久久久久久久| 欧美激情一区二区三区在线视频观看 | 亚洲欧美不卡| 国产日韩欧美综合在线| 亚洲精品美女91| 国产视频观看一区| 一本色道久久加勒比88综合| 国产日韩欧美亚洲| 一区二区国产精品| 激情校园亚洲| 午夜视频在线观看一区二区三区| 亚洲福利视频网站| 欧美在线综合| 日韩一级精品| 狂野欧美一区| 亚洲午夜久久久| 欧美国产一区二区在线观看| 亚洲欧美久久久| 欧美紧缚bdsm在线视频| 性一交一乱一区二区洋洋av| 欧美日韩在线播放三区四区| 亚洲国产日韩综合一区| 国产精品网站视频| 99视频一区二区三区| 国产一区二区三区高清| 亚洲中字黄色| 亚洲精品午夜| 欧美成年人网站| 亚洲一级黄色片|