国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于MongoDB的物聯(lián)網(wǎng)開(kāi)放平臺(tái)數(shù)據(jù)存儲(chǔ)設(shè)計(jì)

2016-07-06 01:44陳文藝閆灑灑宋亞紅

陳文藝, 閆灑灑, 宋亞紅

(1.西安郵電大學(xué) 物聯(lián)網(wǎng)與兩化融合研究院, 陜西 西安 710061;2.西安郵電大學(xué) 通信與信息工程學(xué)院, 陜西 西安 710121)

基于MongoDB的物聯(lián)網(wǎng)開(kāi)放平臺(tái)數(shù)據(jù)存儲(chǔ)設(shè)計(jì)

陳文藝1, 閆灑灑2, 宋亞紅2

(1.西安郵電大學(xué) 物聯(lián)網(wǎng)與兩化融合研究院, 陜西 西安 710061;2.西安郵電大學(xué) 通信與信息工程學(xué)院, 陜西 西安 710121)

摘要:針對(duì)物聯(lián)網(wǎng)開(kāi)放平臺(tái),設(shè)計(jì)一個(gè)基于MongoDB的實(shí)時(shí)數(shù)據(jù)存儲(chǔ)方案。選用Node.js作為運(yùn)行平臺(tái),在MongoDB中采用分頁(yè)存儲(chǔ)的形式對(duì)設(shè)備采集的最新數(shù)據(jù)實(shí)現(xiàn)實(shí)時(shí)存儲(chǔ);建立設(shè)備數(shù)據(jù)在數(shù)據(jù)庫(kù)中的文檔存儲(chǔ)模型,利用單點(diǎn)寫入的方式把數(shù)據(jù)文檔存放到環(huán)形先入先出隊(duì)列中;分別采用單點(diǎn)和多點(diǎn)兩種模式進(jìn)行數(shù)據(jù)讀取。將分頁(yè)與不分頁(yè)兩種存儲(chǔ)方案進(jìn)行查詢效率對(duì)比測(cè)試,結(jié)果顯示,所設(shè)計(jì)的方案可提高查詢速度,其查詢時(shí)間明顯低于不分頁(yè)的存儲(chǔ)方案。

關(guān)鍵詞:MongoDB;實(shí)時(shí)數(shù)據(jù);分頁(yè)存儲(chǔ);先入先出隊(duì)列

物聯(lián)網(wǎng)應(yīng)用已涉及視頻監(jiān)控、醫(yī)療行業(yè)、智能交通、智能家居等多個(gè)領(lǐng)域[1]。由于各行業(yè)根據(jù)自己的應(yīng)用需求,獨(dú)自搭建了自己的系統(tǒng)平臺(tái),每個(gè)系統(tǒng)之間的數(shù)據(jù)沒(méi)有辦法形成共享,并且對(duì)于每一種具體的應(yīng)用而言,都需要開(kāi)發(fā)與該應(yīng)用相對(duì)應(yīng)的管理平臺(tái),因此造成了網(wǎng)絡(luò)建設(shè)的重復(fù)投資和成本增加等問(wèn)題[2]。Facebook[3]通過(guò)開(kāi)放應(yīng)用程序的編程接口,將平臺(tái)上的數(shù)據(jù)資源開(kāi)放提供給第三方的開(kāi)發(fā)者,使他們可以利用已有的框架來(lái)開(kāi)發(fā)與原有平臺(tái)上的核心功能相集成的應(yīng)用程序。開(kāi)放性平臺(tái)在Facebook的成功運(yùn)用,使其成為各個(gè)領(lǐng)域的研究熱點(diǎn)。

對(duì)物聯(lián)網(wǎng)開(kāi)放平臺(tái)來(lái)說(shuō),處理大量的傳感器、各種攝像頭等設(shè)備產(chǎn)生的海量數(shù)據(jù)是一個(gè)很大的挑戰(zhàn),所以解決好平臺(tái)中的設(shè)備數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)管理的問(wèn)題是至關(guān)重要的。將MongoDB數(shù)據(jù)庫(kù)[4]引入到物聯(lián)網(wǎng)中,把數(shù)據(jù)直接按文檔存儲(chǔ),當(dāng)集合中數(shù)據(jù)量很小的時(shí)候,查詢速度很快,但是隨著集合中存儲(chǔ)文檔數(shù)目的增加,在數(shù)據(jù)庫(kù)內(nèi)部要掃描的文檔數(shù)也會(huì)增多,這樣既浪費(fèi)了網(wǎng)絡(luò)帶寬,也會(huì)浪費(fèi)系統(tǒng)資源和用戶的等待查詢返回的時(shí)間[5]。另外,最早存放在集合中的數(shù)據(jù)很可能已經(jīng)不需要卻仍然占用系統(tǒng)內(nèi)存,不及時(shí)的處理會(huì)造成數(shù)據(jù)冗余,定期的手動(dòng)清除又會(huì)加大數(shù)據(jù)庫(kù)管理員的工作量。

針對(duì)直接存儲(chǔ)模式的缺點(diǎn),本文基于MongoDB數(shù)據(jù)庫(kù),根據(jù)物聯(lián)網(wǎng)開(kāi)放平臺(tái)總體架構(gòu)需求,對(duì)設(shè)備采集的實(shí)時(shí)數(shù)據(jù)設(shè)計(jì)一種分頁(yè)存儲(chǔ)方案。

1物聯(lián)網(wǎng)開(kāi)放平臺(tái)總體架構(gòu)

物聯(lián)網(wǎng)開(kāi)放平臺(tái)由網(wǎng)關(guān)、云平臺(tái)和用戶瀏覽器3部分組成[6]。云平臺(tái)與網(wǎng)關(guān)建立雙向通信連接,將網(wǎng)關(guān)的傳感數(shù)據(jù)傳輸?shù)皆破脚_(tái),云平臺(tái)基于云計(jì)算中心的存儲(chǔ)和計(jì)算能力,采用面向資源架構(gòu)以統(tǒng)一資源描述的方式建立網(wǎng)關(guān)和傳感器的虛擬實(shí)體數(shù)據(jù)庫(kù),與網(wǎng)關(guān)和傳感器的物理實(shí)體數(shù)據(jù)實(shí)時(shí)同步,并實(shí)現(xiàn)對(duì)網(wǎng)關(guān)和設(shè)備資源的注冊(cè)、存儲(chǔ)、管理和應(yīng)用服務(wù),授權(quán)用戶通過(guò)瀏覽器實(shí)現(xiàn)對(duì)資源的訪問(wèn)和操作。由瀏覽器(B)、云平臺(tái)(S)和網(wǎng)關(guān)(M)構(gòu)成B/S/M系統(tǒng)[7]的物聯(lián)網(wǎng)開(kāi)放平臺(tái)總體架構(gòu)如圖1所示。

圖1 物聯(lián)網(wǎng)開(kāi)放平臺(tái)總體架構(gòu)

2平臺(tái)數(shù)據(jù)庫(kù)數(shù)據(jù)模型設(shè)計(jì)

在物聯(lián)網(wǎng)開(kāi)放平臺(tái)中,每個(gè)網(wǎng)關(guān)通過(guò)唯一的設(shè)備標(biāo)識(shí)區(qū)分多個(gè)設(shè)備[8]。由于每個(gè)設(shè)備具備的數(shù)據(jù)能力及操控能力各不相同,規(guī)定每個(gè)設(shè)備只有一個(gè)設(shè)備數(shù)據(jù)點(diǎn)輸入,將所有輸入數(shù)據(jù)存放在MongoDB中。設(shè)備數(shù)據(jù)點(diǎn)是指對(duì)設(shè)備中的傳感器采集的溫度、濕度、光照、圖像等實(shí)時(shí)數(shù)據(jù)的抽象描述[9]。為方便存取和查詢,在MongoDB數(shù)據(jù)庫(kù)中定義了用戶、網(wǎng)關(guān)、設(shè)備和數(shù)據(jù)4類集合[10],本文就設(shè)備采集的數(shù)據(jù)進(jìn)行了存儲(chǔ)方案設(shè)計(jì)。

2.1設(shè)備數(shù)據(jù)存儲(chǔ)方案設(shè)計(jì)

以一個(gè)設(shè)備數(shù)據(jù)點(diǎn)表示設(shè)備采集的一組數(shù)據(jù),用m個(gè)數(shù)據(jù)點(diǎn)組成每一頁(yè)的數(shù)據(jù),將每一頁(yè)的數(shù)據(jù)以一個(gè)文檔形式存入數(shù)據(jù)集合中,共存n頁(yè)數(shù)據(jù)文檔,所有數(shù)據(jù)頁(yè)在數(shù)據(jù)集合中按照頁(yè)碼從小到大的順序構(gòu)成一個(gè)邏輯上的環(huán)形先入先出隊(duì)列(FirstInputFirstOutput,FIFO),如圖2所示。

圖2 環(huán)形FIFO設(shè)計(jì)

利用環(huán)形FIFO存儲(chǔ)設(shè)備采集輸入數(shù)據(jù)時(shí),從p0頁(yè)開(kāi)始存放,當(dāng)存夠m個(gè)數(shù)據(jù)點(diǎn)后,將從下一頁(yè)開(kāi)始存放,直到pn-1頁(yè)存滿,新的數(shù)據(jù)點(diǎn)將重新存入p0頁(yè),如此循環(huán)覆蓋舊的存儲(chǔ)數(shù)據(jù),重新存儲(chǔ)設(shè)備新采集的輸入數(shù)據(jù)。環(huán)形FIFO可存儲(chǔ)的數(shù)據(jù)點(diǎn)個(gè)數(shù)為m×n個(gè),如m=1 000,n=1 000,則可存1 000 000個(gè)數(shù)據(jù)點(diǎn)。查詢?cè)O(shè)備采集輸入數(shù)據(jù)時(shí),通過(guò)設(shè)備主鍵、頁(yè)號(hào)和數(shù)據(jù)點(diǎn)即可查詢指定位置的數(shù)據(jù)。

2.2設(shè)備集合結(jié)構(gòu)描述

在MongoDB數(shù)據(jù)庫(kù)中,采用JSON(JavaScriptObjectNotation)格式[11]來(lái)建立數(shù)據(jù)文檔模型。設(shè)備集合中的單個(gè)文本文檔表達(dá)方式如下(以數(shù)值型設(shè)備文檔為例)。

{

name:'mydevice',//設(shè)備名稱,用于查詢

type:'D123',//數(shù)值型、位置型、自定義

status:'on',//設(shè)備狀態(tài)

time:Date,//設(shè)備注冊(cè)時(shí)間

numb:Number,//設(shè)備注冊(cè)幀序號(hào),用于區(qū)別同時(shí)建立的設(shè)備

description:'dev1',//設(shè)備描述,如應(yīng)用說(shuō)明

datafifo:{unit:'du',//數(shù)據(jù)點(diǎn)單位

interval:1000,//數(shù)據(jù)點(diǎn)上傳間隔,單位為ms;0ms為突發(fā)數(shù)據(jù)點(diǎn)

m: 8,//設(shè)定數(shù)據(jù)頁(yè)最大data點(diǎn)數(shù),如256

n: 10,//設(shè)定最大存儲(chǔ)數(shù)據(jù)文檔(頁(yè))數(shù)

pj:0,//FIFO數(shù)據(jù)文檔頁(yè)當(dāng)前寫入下標(biāo)

di:0,//當(dāng)前頁(yè)data點(diǎn)寫入元素下標(biāo)

fs:0,//固定為0

time:Date//最新數(shù)據(jù)點(diǎn)采樣時(shí)間,突發(fā)數(shù)據(jù)不設(shè)置

},

datatype: [dataType0],//數(shù)據(jù)點(diǎn)設(shè)置原型,只需一個(gè)數(shù)據(jù)點(diǎn)

location:{//設(shè)備位置

lon:100,//經(jīng)度

lat:10,//緯度

address:'cn563'//地址

}

}。

單個(gè)數(shù)據(jù)點(diǎn)文本dataType0表達(dá)方式如下。

{

time:newDate(),//最新數(shù)據(jù)點(diǎn)采樣時(shí)間,突發(fā)數(shù)據(jù)必須設(shè)置

v:0//數(shù)據(jù)點(diǎn)v,數(shù)值類,最新數(shù)據(jù)

}。

2.3數(shù)據(jù)集合結(jié)構(gòu)描述

數(shù)據(jù)集合中的單個(gè)文本文檔表達(dá)方式如下(以數(shù)值型設(shè)備數(shù)據(jù)文檔為例)。

{

device:Schema.Types.ObjectId,//設(shè)備主鍵_id值,用于查詢

pn:Number,//FIFO數(shù)據(jù)文檔(頁(yè))序號(hào),用于查詢

data:{

v:Number,//數(shù)據(jù)點(diǎn)值

time:Date//最新數(shù)據(jù)點(diǎn)采樣時(shí)間,突發(fā)數(shù)據(jù)必須設(shè)置

}

}。

3數(shù)據(jù)讀寫過(guò)程

3.1數(shù)據(jù)寫入

采用逐個(gè)設(shè)備數(shù)據(jù)點(diǎn)寫入的方式,按需創(chuàng)建數(shù)據(jù)頁(yè)文檔,直到最大頁(yè)創(chuàng)建完畢,構(gòu)成完整FIFO。在環(huán)形FIFO中,頁(yè)碼依次為p0,p1,p2,…,pn-1,每頁(yè)中數(shù)據(jù)點(diǎn)的位置依次為d0,d1,d2,…,dm-1。用pj和di分別表示將要存儲(chǔ)數(shù)據(jù)點(diǎn)所在頁(yè)碼和在該頁(yè)的位置,則環(huán)形FIFO中當(dāng)前存儲(chǔ)的最后一個(gè)數(shù)據(jù)點(diǎn)所在的頁(yè)碼為pj,在該頁(yè)的位置為di-1。當(dāng)數(shù)據(jù)點(diǎn)存儲(chǔ)于MongoDB中時(shí),先判斷di是否小于dm-1,若di

圖3 數(shù)據(jù)點(diǎn)存儲(chǔ)位置判斷流程

3.2數(shù)據(jù)讀取

3.2.1單點(diǎn)讀數(shù)據(jù)

單點(diǎn)讀數(shù)據(jù)是指一次讀取一個(gè)數(shù)據(jù)。單點(diǎn)讀數(shù)據(jù)時(shí),只需給出讀數(shù)據(jù)的起始位置s即可。設(shè)l=m×n,則0≤s

3.2.2多點(diǎn)讀數(shù)據(jù)

多點(diǎn)讀數(shù)據(jù)就是一次讀取多個(gè)數(shù)據(jù)。MongoDB中讀取數(shù)據(jù)時(shí)采用find方法[12]可以返回符合條件的全部數(shù)據(jù)。多點(diǎn)讀數(shù)據(jù)時(shí),以讀數(shù)據(jù)的起始位置s和讀數(shù)據(jù)的結(jié)束位置e為依據(jù),e為結(jié)束位置與環(huán)形FIFO中當(dāng)前存儲(chǔ)的最后一個(gè)數(shù)據(jù)點(diǎn)所在位置之間的距離,且s

4讀寫測(cè)試及分析

4.1數(shù)據(jù)寫入測(cè)試

將物聯(lián)網(wǎng)開(kāi)放平臺(tái)中設(shè)備采集的10個(gè)數(shù)據(jù)點(diǎn)v存入MongoDB數(shù)據(jù)庫(kù)中,v分別取值1,2,3,4,5,6,7,8,9,10,設(shè)定環(huán)形FIFO的頁(yè)數(shù)n為3,每頁(yè)的設(shè)備數(shù)據(jù)點(diǎn)m為3。依據(jù)環(huán)形FIFO的設(shè)計(jì),數(shù)據(jù)庫(kù)中存儲(chǔ)結(jié)果如圖4所示。

圖4 數(shù)據(jù)庫(kù)分頁(yè)顯示結(jié)果

從圖4可以看出10個(gè)數(shù)據(jù)點(diǎn)分了3頁(yè)存儲(chǔ),頁(yè)碼分別為0,1,2,最后一個(gè)數(shù)據(jù)點(diǎn)取代了第一個(gè)數(shù)據(jù)點(diǎn)的位置,所以v的值分別為10,2,3的數(shù)據(jù)點(diǎn)是第一頁(yè)的數(shù)據(jù);v的值分別為4,5,6的數(shù)據(jù)點(diǎn)是第二頁(yè)的數(shù)據(jù);v的值分別為7,8,9的數(shù)據(jù)點(diǎn)是第三頁(yè)的數(shù)據(jù),與預(yù)期存儲(chǔ)期望是相同的。

4.2數(shù)據(jù)讀出測(cè)試

4.2.1單點(diǎn)讀出測(cè)試

數(shù)據(jù)點(diǎn)v分別取值1,2,3,4,5,6,7,8,9,10,設(shè)定環(huán)形FIFO的頁(yè)數(shù)n為3,每頁(yè)的設(shè)備數(shù)據(jù)點(diǎn)m為3。若s為2,則s位置上讀到的數(shù)據(jù)點(diǎn)v的值為8。多次調(diào)用讀函數(shù),把s的值分別設(shè)置為0,1,2,3,4,5,6,7,8,存入數(shù)據(jù)依次讀取結(jié)果如圖5所示。

圖5 單點(diǎn)讀取數(shù)據(jù)

由圖5可以看出,數(shù)據(jù)讀取的順序和調(diào)用讀函數(shù)中設(shè)定的s值相對(duì)應(yīng)。可以隨意設(shè)置s的值,讀出FIFO中任意位置的數(shù)據(jù)點(diǎn)文檔。

4.2.2多點(diǎn)讀出測(cè)試

將物聯(lián)網(wǎng)開(kāi)放平臺(tái)中設(shè)備采集的83個(gè)數(shù)據(jù)點(diǎn)存入MongoDB數(shù)據(jù)庫(kù)中,數(shù)據(jù)點(diǎn)v的值分別為1,2,3...81,82,83,設(shè)定環(huán)形FIFO的頁(yè)數(shù)n為10,每頁(yè)的設(shè)備數(shù)據(jù)點(diǎn)數(shù)m為8,設(shè)起始位置s=20,結(jié)束位置e=48,每頁(yè)存儲(chǔ)的數(shù)據(jù)如圖6所示。

圖6 FIFO中每頁(yè)存儲(chǔ)數(shù)據(jù)

起始位置數(shù)據(jù)點(diǎn)所在的頁(yè)碼和在該頁(yè)的位置分別為7和6,結(jié)束位置的數(shù)據(jù)點(diǎn)所在的頁(yè)碼和在該頁(yè)中的位置分別為4和2,那么讀到的數(shù)據(jù)就是35~63這29個(gè)數(shù)據(jù),分別讀取p7頁(yè)中d0到s之間的數(shù)據(jù)、p5和p6頁(yè)的數(shù)據(jù)和p4頁(yè)中從e到dm-1之間的數(shù)據(jù),把3次讀取的數(shù)據(jù)倒序放在一個(gè)數(shù)組中返回給用戶,讀取結(jié)果如圖7所示。

圖7 多點(diǎn)讀取數(shù)據(jù)

圖7中讀取結(jié)果即為根據(jù)設(shè)定的s和e的值得出的所需要的數(shù)據(jù),且是從s依次到e為序在一個(gè)數(shù)組中輸出的。

5性能測(cè)試

為了更明顯地顯示分頁(yè)存儲(chǔ)的優(yōu)點(diǎn),對(duì)分頁(yè)存儲(chǔ)和不分頁(yè)存儲(chǔ)兩種方案進(jìn)行測(cè)試,運(yùn)行平臺(tái)為Node.js,分頁(yè)時(shí)每頁(yè)為200個(gè)數(shù)據(jù)點(diǎn),查詢記錄數(shù)分別為50個(gè)、500個(gè)、1 000個(gè)、2 000個(gè)、3 500個(gè)、5 000個(gè)、10 000個(gè)數(shù)據(jù)點(diǎn),每個(gè)查詢測(cè)10次,取平均值,記錄運(yùn)行時(shí)間,時(shí)間對(duì)比如表1所示。

表1 查詢時(shí)間對(duì)比表

由表1可以看出,當(dāng)記錄數(shù)為50個(gè)時(shí),兩種存儲(chǔ)方案的運(yùn)行時(shí)間差別很小,因?yàn)榉猪?yè)要進(jìn)行相關(guān)計(jì)算,所以查詢時(shí)間還要長(zhǎng)一點(diǎn)。但是,記錄數(shù)為500條以上時(shí),分頁(yè)存儲(chǔ)方案的查詢時(shí)間明顯低于不分頁(yè)的存儲(chǔ)方案。另外,在讀取數(shù)據(jù)庫(kù)時(shí),可能會(huì)有新的數(shù)據(jù)加入或修改,如果一次性提交查詢數(shù)據(jù)給前端用戶,新加入的數(shù)據(jù)就無(wú)法返回給用戶,而分頁(yè)存儲(chǔ)方案可將新數(shù)據(jù)覆蓋舊數(shù)據(jù),及時(shí)提交給用戶,有更好的數(shù)據(jù)實(shí)時(shí)性。

6結(jié)語(yǔ)

設(shè)計(jì)并實(shí)現(xiàn)了基于MongoDB的物聯(lián)網(wǎng)開(kāi)放平臺(tái)實(shí)時(shí)數(shù)據(jù)存儲(chǔ)方案,該方案中數(shù)據(jù)庫(kù)服務(wù)端直接對(duì)設(shè)備采集輸入的實(shí)時(shí)數(shù)據(jù)進(jìn)行分頁(yè)存儲(chǔ),使得客戶端需要查詢數(shù)據(jù)時(shí)只要傳遞少量參數(shù)即可在服務(wù)器端獲取其所需的數(shù)據(jù),節(jié)約了用戶的等待時(shí)間。對(duì)比測(cè)試結(jié)果表明,該方案比不分頁(yè)存儲(chǔ)方案用時(shí)短,能有效地提高數(shù)據(jù)的查詢速度。

參考文獻(xiàn)

[1]姜超.基于物聯(lián)網(wǎng)的智能家居系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].長(zhǎng)春:吉林大學(xué),2014:10-18.

[2]胡朝建.一種物聯(lián)網(wǎng)開(kāi)放平臺(tái)認(rèn)證授權(quán)機(jī)制的設(shè)計(jì)與實(shí)現(xiàn)[D].廣州:華南理工大學(xué),2014:7-13.

[3]陳毓亮.基于接口集成的云開(kāi)放平臺(tái)[D].武漢:華中科技大學(xué),2013:8-20.

[4]郭匡宇.基于MongoDB的傳感器數(shù)據(jù)分布式存儲(chǔ)的研究與應(yīng)用[D].南京:南京郵電大學(xué),2013:9-15.

[5]楊帆,王菲菲,汪蓓.利用SQLServer存儲(chǔ)過(guò)程實(shí)現(xiàn)數(shù)據(jù)分頁(yè)[J/OL].電腦編程技巧與維護(hù),2011:58[2015-11-02].http://www.docin.com/p-1362555624.html.DOI:10.16184/j.cnki.comprg.2011.06.031.

[6]陳敏敏.基于MongoDB云存儲(chǔ)平臺(tái)的論壇信息抽取與存儲(chǔ)研究[D].上海:上海交通大學(xué),2012:5-10.

[7]董紀(jì)國(guó).基于B/S架構(gòu)的物聯(lián)網(wǎng)應(yīng)用組態(tài)平臺(tái)研發(fā)[D].南京:南京大學(xué),2015:9-21.

[8]陳文藝,王知明.基于MATLAB的物聯(lián)網(wǎng)網(wǎng)關(guān)Web發(fā)布系統(tǒng)設(shè)計(jì)[J/OL].西安郵電學(xué)院學(xué)報(bào),2013,18(2):57-58[2015-11-06].http://www.cqvip.com/QK/97111X/201302/45448591.html.DOI:10.3969/j.issn.1007-3264.2013.02.011.

[9]張為,李亮.多傳感器數(shù)據(jù)采集技術(shù)在物聯(lián)網(wǎng)的應(yīng)用研究[J/OL].廣州大學(xué)學(xué)報(bào):自然科學(xué)版,2012,11(3):75-80[2015-11-06].http://www.cnki.com.cn/Article/CJFDTotal-GUDZ201203015.htm.DOI:10.3969/j.issn.1671-4229.2012.03.016.

[10] 紅丸.MongoDB管理與開(kāi)發(fā)精要[M].北京:機(jī)械工業(yè)出版社,2011:46.

[11] 劉亞,段麗娟,亢曉琛.基于MongoDB的地名信息管理[J/OL].測(cè)繪通報(bào),2014(10):117-120[2015-11-02].http://www.cqvip.com/QK/93318X/201410/664288883.html.DOI:10.13474/j.cnki.11-2246.2014.0346.

[12] 劉一夢(mèng).基于MongoDB的云數(shù)據(jù)管理技術(shù)的研究與應(yīng)用[D].北京:北京交通大學(xué),2012:12-20.

[責(zé)任編輯:祝劍]

DatastoragedesignoftheInternetofThingsopenplatformbasedonMongoDB

CHENWenyi1,YANSasa2,SONGYahong2

(1.InstituteofInternetofThingsandIT-basedIndustrialization,Xi’anUniversityofPostsandTelecommunications,Xi’an710061,China;2.SchoolofCommunicationandInformationEngineering,Xi’anUniversityofPostsandTelecommunications,Xi’an710121,China)

Abstract:A MongoDB-based real-time data storage scheme is designed for the Internet of Things open platform. By choosing Node.js as the operation platform, paging storage is used for MongoDB to achieve real time storage of the latest data from equipment acquisition. Documents storage model of device data in a database is set up, and data documents are stored by using the single point writing method to a ring first in first out queue. The data is read out in single point modes or multi-point modes. Test results show that, the designed scheme works with a higher speed, its query time is obviously lower than than by scheme without paging storage.

Keywords:MongoDB, real time data, paging storage, first input first output

doi:10.13682/j.issn.2095-6533.2016.02.015

收稿日期:2015-12-07

作者簡(jiǎn)介:陳文藝(1964-),男,博士,教授,從事數(shù)字圖像處理及傳輸研究。E-mail:chenwy@xupt.edu.cn 閆灑灑(1989-),女,碩士研究生,研究方向?yàn)槲锫?lián)網(wǎng)技術(shù)及應(yīng)用。E-mail: 401206525@qq.com

中圖分類號(hào):TP311.133.1

文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):2095-6533(2016)02-0078-05