文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.166788
中文引用格式: 焦冬冬,張晨,房志奇,等. 基于云技術(shù)的分布式實(shí)時(shí)數(shù)據(jù)庫系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2017,43(11):112-115,123.
英文引用格式: Jiao Dongdong,Zhang Chen,F(xiàn)ang 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.
0 引言
目前實(shí)時(shí)數(shù)據(jù)庫系統(tǒng)廣泛應(yīng)用于軍事、電信、電力、航空、工業(yè)控制、證券交易、物聯(lián)網(wǎng)等領(lǐng)域,隨著企業(yè)信息化快速建設(shè),工業(yè)實(shí)時(shí)數(shù)據(jù)增長(zhǎng)速度遠(yuǎn)遠(yuǎn)超出企業(yè)的預(yù)期。以電力行業(yè)發(fā)電側(cè)為例,電力生產(chǎn)自動(dòng)化控制程度的提高,對(duì)諸如壓力、流量和溫度等指標(biāo)的監(jiān)測(cè)精度、頻度和準(zhǔn)確度更高,帶來數(shù)據(jù)量的激增。就用電側(cè)而言,一次采集頻度的提升就會(huì)帶來數(shù)據(jù)體量的“指數(shù)級(jí)”變化[1]。另外,基于工業(yè)大數(shù)據(jù)[2]分析有助于企業(yè)優(yōu)化績(jī)效,明確趨勢(shì)和模式,支持實(shí)時(shí)決策。
分布式實(shí)時(shí)數(shù)據(jù)庫系統(tǒng)是分布式數(shù)據(jù)庫系統(tǒng)和實(shí)時(shí)數(shù)據(jù)庫系統(tǒng)相結(jié)合的產(chǎn)物,是事務(wù)和數(shù)據(jù)都可以具有定時(shí)特性或顯示定時(shí)限制的分布式數(shù)據(jù)庫系統(tǒng)。目前國(guó)內(nèi)主要的分布式數(shù)據(jù)庫產(chǎn)品多采用多層的分布式技術(shù),配置多套實(shí)時(shí)數(shù)據(jù)系統(tǒng)分別處理各自固定的采集器采集的數(shù)據(jù),沒有實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)的透明性,不具備動(dòng)態(tài)可擴(kuò)展性。文獻(xiàn)[3]中提出了一種去中心化的分布式實(shí)時(shí)數(shù)據(jù)庫系統(tǒng),使得系統(tǒng)具有更高的可用性,實(shí)現(xiàn)的是數(shù)據(jù)最終一致性,無法保證強(qiáng)一致性[4]。文獻(xiàn)[5]提出了一種基于通信平臺(tái)的分步式實(shí)時(shí)數(shù)據(jù)庫系統(tǒng),系統(tǒng)具有較高的擴(kuò)展性,但是通信平臺(tái)的負(fù)載較大,通信路徑較長(zhǎng)。
為此本文提出了一種基于云技術(shù)[6-8]的分布式實(shí)時(shí)數(shù)據(jù)庫管理系統(tǒng)的設(shè)計(jì)方案,將云技術(shù)與實(shí)時(shí)數(shù)據(jù)庫技術(shù)相結(jié)合,從而滿足工業(yè)大數(shù)據(jù)的處理要求,可以應(yīng)用于石化、電力、鋼鐵、物聯(lián)網(wǎng)、氣象預(yù)報(bào)、物流跟蹤、生態(tài)監(jiān)測(cè)等專業(yè)應(yīng)用領(lǐng)域。
1 分布式實(shí)時(shí)數(shù)據(jù)庫系統(tǒng)總體設(shè)計(jì)
基于云技術(shù)的分布式實(shí)時(shí)數(shù)據(jù)庫系統(tǒng)主要分為四大子系統(tǒng):主節(jié)點(diǎn)(Masternode)、實(shí)時(shí)數(shù)據(jù)節(jié)點(diǎn)(RTDatanode)、客戶端和數(shù)據(jù)采集器。系統(tǒng)通過兼容HDFS[9]實(shí)現(xiàn)對(duì)工業(yè)非結(jié)構(gòu)化數(shù)據(jù)的處理。系統(tǒng)的總體架構(gòu)如圖1所示。
1.1 主節(jié)點(diǎn)Masternode
主節(jié)點(diǎn)是整個(gè)分布式實(shí)時(shí)數(shù)據(jù)庫系統(tǒng)的核心,主要用于維護(hù)整個(gè)系統(tǒng)的元數(shù)據(jù)信息,同時(shí)監(jiān)管整個(gè)集群。主節(jié)點(diǎn)主要包括四個(gè)子系統(tǒng):通信處理子系統(tǒng)、元數(shù)據(jù)鏡像和編輯日志管理子系統(tǒng)、數(shù)據(jù)節(jié)點(diǎn)管理子系統(tǒng),以及元數(shù)據(jù)內(nèi)存快照管理子系統(tǒng),系統(tǒng)架構(gòu)如圖2所示。
通信處理子系統(tǒng)主要有兩種實(shí)現(xiàn)方式:遠(yuǎn)程過程調(diào)用接口和基于TCP或HTTP流式接口。主要用于客戶端和主節(jié)點(diǎn)、主節(jié)點(diǎn)和實(shí)時(shí)數(shù)據(jù)節(jié)點(diǎn)、主節(jié)點(diǎn)和備份主節(jié)點(diǎn)之間的通信。
元數(shù)據(jù)鏡像和編輯日志管理子系統(tǒng)主要有兩個(gè)模塊:其一是處理非結(jié)構(gòu)化數(shù)據(jù)的元數(shù)據(jù)鏡像和編輯日志管理模塊,通過移植HDFS的相應(yīng)模塊實(shí)現(xiàn);其二是工業(yè)實(shí)時(shí)數(shù)據(jù)的元數(shù)據(jù)鏡像和內(nèi)存數(shù)據(jù)節(jié)點(diǎn)元數(shù)據(jù)日志管理子系統(tǒng),用于將接收到的實(shí)時(shí)數(shù)據(jù)從內(nèi)存中同步持久化到本地磁盤,在集群?jiǎn)?dòng)時(shí)將元數(shù)據(jù)等加載到元數(shù)據(jù)內(nèi)存快照管理子系統(tǒng)。
數(shù)據(jù)節(jié)點(diǎn)管理子系統(tǒng)主要包括數(shù)據(jù)節(jié)點(diǎn)啟動(dòng)模塊、心跳處理模塊、機(jī)架感知模塊、負(fù)載均衡模塊和非結(jié)構(gòu)化數(shù)據(jù)的數(shù)據(jù)塊管理模塊。
(1)數(shù)據(jù)節(jié)點(diǎn)啟動(dòng)模塊主要用于數(shù)據(jù)節(jié)點(diǎn)的握手、注冊(cè),對(duì)于非結(jié)構(gòu)化數(shù)據(jù)需要上報(bào)數(shù)據(jù)塊信息。
(2)心跳處理模塊主要用于心跳信息的處理和心跳檢查,心跳信息包括數(shù)據(jù)節(jié)點(diǎn)的身份信息、數(shù)據(jù)節(jié)點(diǎn)的負(fù)載信息,用于負(fù)載均衡模塊等;心跳檢查指的是根據(jù)設(shè)定的時(shí)間間隔檢查心跳信息,用于判斷數(shù)據(jù)節(jié)點(diǎn)的運(yùn)行狀態(tài)。
(3)負(fù)載均衡模塊根據(jù)心跳處理模塊得到負(fù)載信息,為每個(gè)數(shù)據(jù)節(jié)點(diǎn)賦予優(yōu)先級(jí)。
(4)機(jī)架感知模塊用于感知數(shù)據(jù)節(jié)點(diǎn)的機(jī)架信息。
(5)非結(jié)構(gòu)化數(shù)據(jù)的數(shù)據(jù)塊管理模塊通過兼容HDFS的相應(yīng)模塊實(shí)現(xiàn)。
元數(shù)據(jù)內(nèi)存快照管理子系統(tǒng)主要用于在內(nèi)存中維護(hù)主節(jié)點(diǎn)需要維護(hù)的元數(shù)據(jù)信息,實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)的分布式存儲(chǔ)和檢索、用戶權(quán)限管理等。
1.2 實(shí)時(shí)數(shù)據(jù)節(jié)點(diǎn)RTDatanode
實(shí)時(shí)數(shù)據(jù)節(jié)點(diǎn)負(fù)責(zé)處理工業(yè)過程數(shù)據(jù)和系統(tǒng)的元數(shù)據(jù)信息。實(shí)時(shí)數(shù)據(jù)節(jié)點(diǎn)主要分為三個(gè)部分:內(nèi)存數(shù)據(jù)節(jié)點(diǎn)子系統(tǒng)、實(shí)時(shí)數(shù)據(jù)節(jié)點(diǎn)子系統(tǒng)、非結(jié)構(gòu)化數(shù)據(jù)節(jié)點(diǎn)子系統(tǒng)。其中非結(jié)構(gòu)化數(shù)據(jù)節(jié)點(diǎn)子系統(tǒng)通過兼容HDFS的Datanode實(shí)現(xiàn)。實(shí)時(shí)數(shù)據(jù)節(jié)點(diǎn)總體架構(gòu)如圖3所示。
內(nèi)存數(shù)據(jù)節(jié)點(diǎn)子系統(tǒng)用于分擔(dān)主節(jié)點(diǎn)元數(shù)據(jù)信息處理負(fù)載,維護(hù)部分系統(tǒng)元數(shù)據(jù)。
實(shí)時(shí)數(shù)據(jù)節(jié)點(diǎn)子系統(tǒng)主要用于工業(yè)實(shí)時(shí)數(shù)據(jù)和歷史數(shù)據(jù)的處理,主要包括查詢子系統(tǒng)、內(nèi)存快照子系統(tǒng)、日志子系統(tǒng)、歸檔子系統(tǒng)、通信子系統(tǒng)和實(shí)時(shí)文件系統(tǒng)rtfs[10]。
(1)查詢子系統(tǒng)主要包括實(shí)時(shí)數(shù)據(jù)的發(fā)布和歷史數(shù)據(jù)的查詢,采用線程池技術(shù)響應(yīng)客戶端的請(qǐng)求。
(2)內(nèi)存快照子系統(tǒng)采用鏈表來實(shí)現(xiàn),過程數(shù)據(jù)緩存在內(nèi)存的數(shù)據(jù)緩存鏈表中,數(shù)更新線程將新數(shù)據(jù)更新進(jìn)該鏈表。內(nèi)存快照子系統(tǒng)采用POT樹索引結(jié)構(gòu)[11]來管理內(nèi)存中的數(shù)據(jù)。
(3)日志子系統(tǒng)主要包括實(shí)時(shí)數(shù)據(jù)日志模塊和數(shù)據(jù)包日志模塊,數(shù)據(jù)包日志模塊用于防止數(shù)據(jù)包在發(fā)送隊(duì)列和接收隊(duì)列時(shí)系統(tǒng)故障引起的數(shù)據(jù)丟失。
(4)歸檔子系統(tǒng)主要由壓縮和打包歸檔兩部分組成。壓縮采用旋轉(zhuǎn)門壓縮算法,壓縮之后,將數(shù)據(jù)打包寫入實(shí)時(shí)文件系統(tǒng),如果失敗將數(shù)據(jù)寫入日志。
(5)通信子系統(tǒng)主要有數(shù)據(jù)包發(fā)送緩沖模塊、元數(shù)據(jù)布隆過濾模塊、主節(jié)點(diǎn)通信模塊、實(shí)時(shí)數(shù)據(jù)節(jié)點(diǎn)通信模塊和客戶端通信模塊等。數(shù)據(jù)包發(fā)送緩沖模塊采用鏈表結(jié)構(gòu)實(shí)現(xiàn),支持并發(fā)讀寫,用于緩存?zhèn)浞輸?shù)據(jù)包。元數(shù)據(jù)布隆過濾模塊用于獲取元數(shù)據(jù)信息。主節(jié)點(diǎn)通信模塊和實(shí)時(shí)數(shù)據(jù)節(jié)點(diǎn)通信模塊分別用于與主節(jié)點(diǎn)、實(shí)時(shí)數(shù)據(jù)節(jié)點(diǎn)通信??蛻舳送ㄐ拍K用于響應(yīng)客戶端的請(qǐng)求。
1.3 關(guān)鍵技術(shù)
(1)負(fù)載均衡技術(shù)
負(fù)載均衡技術(shù)是保證系統(tǒng)運(yùn)行效率和可用性的關(guān)鍵技術(shù)?;驹砣缦拢?/p>
IF(心跳間隔到期)
THEN 獲取心跳信息中的CPU、內(nèi)存、存儲(chǔ)、進(jìn)程等信息更新到Node_Load列表;
根據(jù)Node_Load信息更新Node_PRI->pri(數(shù)據(jù)節(jié)點(diǎn)的優(yōu)先級(jí));
更新Node_PRI最大堆;
ENDIF
IF(接收到分配節(jié)點(diǎn)申請(qǐng))
THEN從Node_PRI最大堆中獲取最高優(yōu)先級(jí)節(jié)點(diǎn)返回;
更新Node_Load列表;
更新Node_PRI->pri;
更新Node_PRI最大堆;
ENDIF
(2)動(dòng)態(tài)擴(kuò)展技術(shù)
動(dòng)態(tài)擴(kuò)展技術(shù)是保證系統(tǒng)性能和連續(xù)性的關(guān)鍵技術(shù),主要包括節(jié)點(diǎn)的動(dòng)態(tài)添加和刪除。動(dòng)態(tài)添加節(jié)點(diǎn)的基本原理如下:
數(shù)據(jù)節(jié)點(diǎn)執(zhí)行添加指令;
遠(yuǎn)程過程調(diào)用主節(jié)點(diǎn)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
動(dòng)態(tài)刪除節(jié)點(diǎn)的基本原理如下:
數(shù)據(jù)節(jié)點(diǎn)執(zhí)行添加指令或故障;
主節(jié)點(diǎn)執(zhí)行:
IF(心跳間隔到期)
THEN獲取Node心跳信息,記錄獲取時(shí)間TIME;
IF(心跳信息含有關(guān)閉命令)
THEN 更新Node_List中Node->alive=FALSE;
更新其他所有包含Node結(jié)構(gòu),刪除Node;
Node添加到Dead_Node列表中;
ELSE IF(Node在Heartbeat列表中)
THEN更新Heartbeat列表中Node->time=TIME;
FOR node in Heartbeat:
DO IF(TIME-node->time >設(shè)置最長(zhǎng)失連時(shí)間)
THEN 更新Node_List中Node->alive=FALSE;
更新其他所有包含Node的數(shù)據(jù)結(jié)構(gòu),刪除Node;
Node添加到Dead_Node列表中;
ENDIF
ELSE IF(Node不在Heartbeat列表中)
THEN NodeRegister(Node);
將Node從Dead_Node列表中刪除;
ENDIF
IF(時(shí)間間隔到期)
THEN FOR node in Dead_Node:
DO IF(TIME-node->deadTime>最長(zhǎng)dead時(shí)間)
THEN將node歷史數(shù)據(jù)同步到其他節(jié)點(diǎn);
ENDIF
ENDIF
ENDIF
1.4 客戶端和數(shù)據(jù)采集器
客戶端主要用于工業(yè)數(shù)據(jù)的查詢和實(shí)時(shí)數(shù)據(jù)的訂閱,客戶端通過與主節(jié)點(diǎn)通信獲得所需元數(shù)據(jù)信息,即數(shù)據(jù)塊索引和實(shí)時(shí)數(shù)據(jù)節(jié)點(diǎn)列表為元素的有序列表,對(duì)于實(shí)時(shí)數(shù)據(jù)只有一個(gè)元數(shù)據(jù)信息,客戶端依次與相應(yīng)數(shù)據(jù)節(jié)點(diǎn)通信獲取數(shù)據(jù),從而實(shí)現(xiàn)數(shù)據(jù)的透明訪問。
數(shù)據(jù)采集器主要用于采集工業(yè)現(xiàn)場(chǎng)的實(shí)時(shí)數(shù)據(jù),加時(shí)間戳發(fā)送到實(shí)時(shí)數(shù)據(jù)節(jié)點(diǎn)。數(shù)據(jù)采集器會(huì)將數(shù)據(jù)發(fā)送到最短網(wǎng)絡(luò)路徑的實(shí)時(shí)數(shù)據(jù)節(jié)點(diǎn)(人工配置或主節(jié)點(diǎn)分配),當(dāng)此實(shí)時(shí)數(shù)據(jù)節(jié)點(diǎn)故障時(shí),數(shù)據(jù)采集器與主節(jié)點(diǎn)通信,申請(qǐng)一個(gè)有效的實(shí)時(shí)數(shù)據(jù)節(jié)點(diǎn),然后將實(shí)時(shí)數(shù)據(jù)發(fā)送到此節(jié)點(diǎn),從而保證了實(shí)時(shí)數(shù)據(jù)處理的高容錯(cuò)性。
2 測(cè)試
為了測(cè)試系統(tǒng)的性能和擴(kuò)展性以及負(fù)載均衡,采用的測(cè)試環(huán)境包括兩臺(tái)浪潮NP3060,配置為:Intel Xeon CPU E5606,24 GB內(nèi)存,千兆網(wǎng)絡(luò)。兩臺(tái)機(jī)器安裝VMware ESXi5.5.0,在其上構(gòu)建虛擬機(jī),虛擬機(jī)配置為:1核處理器,4 GB內(nèi)存,共享千兆網(wǎng)絡(luò),操作系統(tǒng)為Ubuntu 11.10。
2.1 性能測(cè)試
使用一臺(tái)虛擬機(jī)作為主節(jié)點(diǎn),4臺(tái)虛擬機(jī)為數(shù)據(jù)節(jié)點(diǎn),4臺(tái)虛擬機(jī)為數(shù)據(jù)采集器。每個(gè)數(shù)據(jù)采集器模擬生成1 000點(diǎn)、5萬點(diǎn)的溫度實(shí)時(shí)數(shù)據(jù),采集周期是1 s,數(shù)據(jù)副本數(shù)量設(shè)置為2,進(jìn)行7×24小時(shí)測(cè)試。測(cè)試表明系統(tǒng)高可用,7×24小時(shí)無故障運(yùn)行。測(cè)試結(jié)果如表1所示。
2.2 擴(kuò)展性和負(fù)載均衡測(cè)試
使用一臺(tái)虛擬機(jī)作為主節(jié)點(diǎn),3臺(tái)虛擬機(jī)為實(shí)時(shí)數(shù)據(jù)節(jié)點(diǎn),編號(hào)為1、2、3。4臺(tái)虛擬機(jī)為數(shù)據(jù)采集器。每個(gè)數(shù)據(jù)采集器模擬生成1 000點(diǎn)的溫度實(shí)時(shí)數(shù)據(jù),采集周期是1 s,測(cè)試時(shí)間為4萬秒。當(dāng)測(cè)試進(jìn)行到2個(gè)小時(shí)時(shí),動(dòng)態(tài)添加一個(gè)實(shí)時(shí)數(shù)據(jù)節(jié)點(diǎn)4到集群中。進(jìn)行到5個(gè)小時(shí),動(dòng)態(tài)刪除數(shù)據(jù)節(jié)點(diǎn)3。測(cè)試結(jié)果如表2所示,表中每列是數(shù)據(jù)節(jié)點(diǎn)在查詢時(shí)刻所存儲(chǔ)數(shù)據(jù)包的數(shù)量。
測(cè)試結(jié)果表明,集群能夠?qū)崿F(xiàn)動(dòng)態(tài)添加和刪除實(shí)時(shí)數(shù)據(jù)節(jié)點(diǎn),具有高擴(kuò)展性。經(jīng)過一段時(shí)間的運(yùn)行后,數(shù)據(jù)存儲(chǔ)均衡,說明系統(tǒng)能夠?qū)崿F(xiàn)負(fù)載均衡。
2.3 查詢測(cè)試
使用一臺(tái)虛擬機(jī)作為主節(jié)點(diǎn),4臺(tái)虛擬機(jī)為實(shí)時(shí)數(shù)據(jù)節(jié)點(diǎn),編號(hào)為1~4。4臺(tái)虛擬機(jī)為數(shù)據(jù)采集器,客戶端若干。每個(gè)數(shù)據(jù)采集器模擬生成1 000點(diǎn)溫度實(shí)時(shí)數(shù)據(jù),采集周期是1 s,數(shù)據(jù)副本數(shù)量設(shè)置為3,24小時(shí)的歷史數(shù)據(jù)??蛻舳朔謩e在集群健康、斷開一、二臺(tái)實(shí)時(shí)數(shù)據(jù)節(jié)點(diǎn)(包括所有可能的組合)的情況下查詢歷史數(shù)據(jù)和訂閱實(shí)時(shí)數(shù)據(jù)。查詢歷史數(shù)據(jù)的測(cè)試結(jié)果如表3所示,由于設(shè)置副本數(shù)量為3,因此查詢時(shí)集群允許最大數(shù)據(jù)節(jié)點(diǎn)故障數(shù)量為2。
在集群健康時(shí)訂閱實(shí)時(shí)數(shù)據(jù)的測(cè)試結(jié)果如圖4所示。數(shù)據(jù)節(jié)點(diǎn)故障時(shí)訂閱實(shí)時(shí)數(shù)據(jù)的測(cè)試結(jié)果如圖5所示,在時(shí)刻T1,關(guān)閉實(shí)時(shí)數(shù)據(jù)節(jié)點(diǎn)2、3、4;在時(shí)刻T2,重新啟動(dòng)實(shí)時(shí)數(shù)據(jù)節(jié)點(diǎn)2,關(guān)閉實(shí)時(shí)數(shù)據(jù)節(jié)點(diǎn)1;在T3時(shí)刻,重新啟動(dòng)實(shí)時(shí)數(shù)據(jù)節(jié)點(diǎn)3,關(guān)閉實(shí)時(shí)數(shù)據(jù)節(jié)點(diǎn)2。對(duì)比圖4和圖5可以看出,在數(shù)據(jù)規(guī)模不大時(shí),集群只有一臺(tái)實(shí)時(shí)數(shù)據(jù)節(jié)點(diǎn)存活,不會(huì)影響數(shù)據(jù)的存儲(chǔ)和訂閱。
測(cè)試結(jié)果表明,系統(tǒng)的歷史數(shù)據(jù)查詢和實(shí)時(shí)數(shù)據(jù)訂閱功能滿足設(shè)計(jì)要求。在歷史數(shù)據(jù)查詢時(shí),系統(tǒng)允許的最大數(shù)據(jù)節(jié)點(diǎn)故障數(shù)量為數(shù)據(jù)點(diǎn)的副本數(shù)量減1,在實(shí)時(shí)數(shù)據(jù)存儲(chǔ)和訂閱時(shí),只要系統(tǒng)存活的實(shí)時(shí)數(shù)據(jù)節(jié)點(diǎn)總的負(fù)載容量大于系統(tǒng)處理的數(shù)據(jù)規(guī)模,就能保證實(shí)時(shí)數(shù)據(jù)的處理。這說明系統(tǒng)具有很高的容錯(cuò)性和可靠性。
2.4 集群數(shù)據(jù)同步通道性能測(cè)試
將發(fā)送數(shù)據(jù)節(jié)點(diǎn)定義為Client,將接收數(shù)據(jù)節(jié)點(diǎn)定義為Server,分別測(cè)試1~3個(gè)Client與1個(gè)Server連接情況下的通道性能。測(cè)試結(jié)果如表4所示。
實(shí)驗(yàn)結(jié)果表明,在測(cè)試環(huán)境下,當(dāng)數(shù)據(jù)副本設(shè)置為2時(shí),集群的數(shù)據(jù)同步通道支持的最大單節(jié)點(diǎn)數(shù)據(jù)規(guī)模是285萬點(diǎn)(102個(gè)數(shù)據(jù)組成大小為1 216 B的數(shù)據(jù)包);當(dāng)數(shù)據(jù)副本設(shè)置為3時(shí),支持的最大單節(jié)點(diǎn)數(shù)據(jù)規(guī)模是180萬點(diǎn)。
3 結(jié)束語
本文通過分析工業(yè)大數(shù)據(jù)的特點(diǎn),提出并實(shí)現(xiàn)了一種面向工業(yè)大數(shù)據(jù)同時(shí)兼容傳統(tǒng)的分布式實(shí)時(shí)數(shù)據(jù)庫系統(tǒng)功能的基于云技術(shù)的分布式實(shí)時(shí)數(shù)據(jù)庫系統(tǒng)。該系統(tǒng)通過將云技術(shù)與實(shí)時(shí)數(shù)據(jù)庫技術(shù)相結(jié)合,既滿足工控對(duì)于數(shù)據(jù)實(shí)時(shí)性的要求,又具有高擴(kuò)展性、高容錯(cuò)性、高可靠性,支持工業(yè)大數(shù)據(jù)的處理要求。分布式實(shí)時(shí)數(shù)據(jù)庫系統(tǒng)可用于電力、石化、物聯(lián)網(wǎng)等多種行業(yè),具有廣闊的應(yīng)用場(chǎng)景。
參考文獻(xiàn)
[1] 中國(guó)電機(jī)工程學(xué)會(huì)信息化專委會(huì).北京中國(guó)電力大數(shù)據(jù)發(fā)展白皮書[M].北京:中國(guó)電力出版社,2013:9-12.
[2] 孫柏林.大數(shù)據(jù)技術(shù)及其在電力行業(yè)中的應(yīng)用[J].電氣時(shí)代,2013(8):18-23.
[3] 錢益舟.基于云技術(shù)的分布式實(shí)時(shí)數(shù)據(jù)庫高性能數(shù)據(jù)存儲(chǔ)檢索機(jī)制的研究[D].杭州:浙江大學(xué),2012.
[4] Werner Vogels.Eventually consistent[J].ACM Queue,2008,6(6):14-19.
[5] 黃震.工業(yè)分布式實(shí)時(shí)數(shù)據(jù)庫網(wǎng)絡(luò)通信平臺(tái)的研究與設(shè)計(jì)[D].杭州:浙江大學(xué),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] 郭瑞.力數(shù)實(shí)時(shí)數(shù)據(jù)庫實(shí)時(shí)文件系統(tǒng)的研究[D].北京:華北計(jì)算機(jī)系統(tǒng)工程研究所,2013.
[11] 李亞鳳.若干實(shí)時(shí)數(shù)據(jù)庫過程數(shù)據(jù)處理關(guān)鍵技術(shù)的研究與實(shí)現(xiàn)[D].北京:華北計(jì)算機(jī)系統(tǒng)工程研究所,2013.
作者信息:
焦冬冬1,張 晨2,房志奇1,康 衛(wèi)1
(1.華北計(jì)算機(jī)系統(tǒng)工程研究所,北京100083;2.北京科技大學(xué),北京100083)