文獻(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)