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

家庭物聯(lián)網(wǎng)中多源異構(gòu)數(shù)據(jù)存儲方案選擇及建模

2015-09-18 02:33:39查改琴合肥工業(yè)大學計算機網(wǎng)絡(luò)系統(tǒng)研究所合肥230009
現(xiàn)代計算機 2015年14期
關(guān)鍵詞:數(shù)據(jù)庫設(shè)備

查改琴,褚 偉(合肥工業(yè)大學計算機網(wǎng)絡(luò)系統(tǒng)研究所,合肥230009)

家庭物聯(lián)網(wǎng)中多源異構(gòu)數(shù)據(jù)存儲方案選擇及建模

查改琴,褚偉
(合肥工業(yè)大學計算機網(wǎng)絡(luò)系統(tǒng)研究所,合肥230009)

隨著家庭物聯(lián)網(wǎng)的不斷發(fā)展,如何高效存儲海量的多源異構(gòu)家庭物聯(lián)網(wǎng)數(shù)據(jù)越來越重要。由于傳統(tǒng)的關(guān)系型數(shù)據(jù)庫不能滿足家庭物聯(lián)網(wǎng)海量的多源異構(gòu)數(shù)據(jù)的存儲需求,家庭物聯(lián)網(wǎng)多源異構(gòu)數(shù)據(jù)存儲方案宜采用新興的面向文檔的非關(guān)系型數(shù)據(jù)庫MongoDB。結(jié)合MongoDB的應用特點,提出一種適合于MongoDB的從E-R模型向邏輯模型轉(zhuǎn)換的轉(zhuǎn)換原則,闡述MongoDB數(shù)據(jù)庫邏輯模型的建模過程,并在此基礎(chǔ)上構(gòu)建家庭物聯(lián)網(wǎng)應用的多源異構(gòu)數(shù)據(jù)在MongoDB數(shù)據(jù)庫中的邏輯模型。

家庭物聯(lián)網(wǎng);多源異構(gòu)數(shù)據(jù);非關(guān)系型數(shù)據(jù)庫;MongoDB;邏輯模型

國家自然科學基金課題(No.71271073)

0 引言

目前,物聯(lián)網(wǎng)已經(jīng)成為一個新的技術(shù)熱點,得到了世界各國研究者和產(chǎn)業(yè)界的廣泛關(guān)注,家庭作為物聯(lián)網(wǎng)的主要應用場景,家庭物聯(lián)網(wǎng)的研究開始得到關(guān)注,例如智能家居、家庭健康醫(yī)療等。目前絕大多數(shù)的學者均集中在對家庭物聯(lián)網(wǎng)感知層和應用層的研究,家庭物聯(lián)網(wǎng)的數(shù)據(jù)層研究較少[1],然而,由于物聯(lián)網(wǎng)感知層中設(shè)備種類繁多,各類傳感器、GPS以及各種攝像頭作為家庭物聯(lián)網(wǎng)的末梢采集節(jié)點,采集上來的數(shù)據(jù)具有多源異構(gòu)、海量等特點。同時,家庭物聯(lián)網(wǎng)管理平臺需要支持各類采集終端的動態(tài)接入和退出,動態(tài)存儲終端采集的多源異構(gòu)數(shù)據(jù),在海量數(shù)據(jù)存儲、多源異構(gòu)數(shù)據(jù)管理以及數(shù)據(jù)庫的易用性和擴展性方面,關(guān)系型數(shù)據(jù)庫存在難以克服的問題[2]。因此,研究適合家庭物聯(lián)網(wǎng)多源異構(gòu)數(shù)據(jù)的數(shù)據(jù)模型及數(shù)據(jù)模式已成為一個重要的研究課題。

在對現(xiàn)有的存儲方案比較分析之后,本文采用面向文檔的MongoDB進行數(shù)據(jù)存儲。MongoDB是NoSQL數(shù)據(jù)庫中的一種,與關(guān)系型數(shù)據(jù)庫相比,采用更為松散的數(shù)據(jù)模式,數(shù)據(jù)組織更為靈活,更多地依據(jù)實際應用的需要來進行數(shù)據(jù)庫建模。本文在分析家庭物聯(lián)網(wǎng)數(shù)據(jù)特征及應用需要的前提下,利用MongoDB靈活的動態(tài)數(shù)據(jù)模式,構(gòu)建了合理的家庭物聯(lián)網(wǎng)多源異構(gòu)數(shù)據(jù)存儲的邏輯模式。

1 家庭物聯(lián)網(wǎng)數(shù)據(jù)存儲的需求分析

家庭物聯(lián)網(wǎng)作為物聯(lián)網(wǎng)的一大應用場景,其技術(shù)架構(gòu)可分為家庭物聯(lián)網(wǎng)應用層、數(shù)據(jù)層、感知層[3],如圖1所示。

圖1 家庭物聯(lián)網(wǎng)技術(shù)框架

其中應用層包括環(huán)境監(jiān)控、燈光控制、視頻監(jiān)控、財產(chǎn)防丟、家庭安防、健康管理,等等,數(shù)據(jù)層可細分為數(shù)據(jù)采集、數(shù)據(jù)存儲、數(shù)據(jù)規(guī)則處理,感知層則是各類智能設(shè)備中的內(nèi)置傳感器。家庭物聯(lián)網(wǎng)的感知數(shù)據(jù)由感知層的各類智能設(shè)備采集并上傳至數(shù)據(jù)層,其中,室內(nèi)環(huán)境檢測智能設(shè)備可采集溫度、濕度、空氣質(zhì)量等環(huán)境感知數(shù)據(jù),視頻監(jiān)控攝像頭可采集視頻流數(shù)據(jù),藍牙防丟器可采集GPS數(shù)據(jù),家庭安防應用中多點觸控傳感器及運動檢測器可采集到觸發(fā)式事件數(shù)據(jù),健康管理應用中的體質(zhì)儀、血壓計可采集到血壓、心率、脂肪率、基礎(chǔ)代謝率等身體健康指標數(shù)據(jù)。由此可知,數(shù)據(jù)層作為技術(shù)架構(gòu)的中間層,在物聯(lián)網(wǎng)體系結(jié)構(gòu)中起到承上啟下的作用,需要存儲來自于感知層的多源異構(gòu)感知數(shù)據(jù)。

家庭物聯(lián)網(wǎng)的感知數(shù)據(jù)的多源異構(gòu)性,一方面表現(xiàn)為數(shù)據(jù)種類的多樣性,按數(shù)據(jù)類型分,可分為結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù),其中家庭用戶信息、設(shè)備信息等屬于結(jié)構(gòu)化數(shù)據(jù),某些智能設(shè)備采集的JSON/XML文件屬于半結(jié)構(gòu)化數(shù)據(jù),家庭安防云攝像頭等采集的圖片、視頻等屬于非結(jié)構(gòu)化數(shù)據(jù);從數(shù)據(jù)的采集是否連續(xù)來看,家庭物聯(lián)網(wǎng)的感知數(shù)據(jù)可分為隨時間無限增長的時間序列流數(shù)據(jù)、事件觸發(fā)式數(shù)據(jù),其中流式數(shù)據(jù)需數(shù)據(jù)存儲層支持快速讀寫。另一方面表現(xiàn)為數(shù)據(jù)來源途徑的多樣性,隨著物聯(lián)網(wǎng)的發(fā)展,將來會有各式各樣的智能設(shè)備出現(xiàn),這些智能設(shè)備采集的數(shù)據(jù)種類各異,需數(shù)據(jù)存儲層具有高可擴展性和兼容性。另外,家庭物聯(lián)網(wǎng)中的應用需要基于海量的歷史數(shù)據(jù)進行數(shù)據(jù)分析和數(shù)據(jù)挖掘,數(shù)據(jù)存儲層需支持海量數(shù)據(jù)的高并發(fā)數(shù)據(jù)操作高可用性。

綜上所述,家庭物聯(lián)網(wǎng)感知數(shù)據(jù)的存儲需求主要有以下幾點:

(1)能滿足異構(gòu)的、多樣性的、時間序列流式數(shù)據(jù)的感知數(shù)據(jù)的存儲;

(2)數(shù)據(jù)具有不確定性,數(shù)據(jù)結(jié)構(gòu)松散,家庭物聯(lián)網(wǎng)中每增加一個感知層設(shè)備,其采集的數(shù)據(jù)類型無法事先統(tǒng)一定義,需快速支持新設(shè)備的數(shù)據(jù)存儲;

(3)家庭物聯(lián)網(wǎng)數(shù)據(jù)量較大,其增長率非常高,需滿足海量異構(gòu)數(shù)據(jù)的快速存取。

2 基于關(guān)系型數(shù)據(jù)庫數(shù)據(jù)存儲的模式選擇

傳統(tǒng)的關(guān)系型數(shù)據(jù)在30多年的實踐完善中,已發(fā)展成為一個成熟且具有穩(wěn)定地位的數(shù)據(jù)庫模式,在面對數(shù)據(jù)結(jié)構(gòu)松散、海量稀疏的家庭物聯(lián)網(wǎng)數(shù)據(jù)時,關(guān)系型數(shù)據(jù)庫采用以下模式,或許可以解決家庭物聯(lián)網(wǎng)的多源異構(gòu)數(shù)據(jù)的存儲難題。

(1)單表繼承:將所有的字段都保存在一張表內(nèi),增加字段時擴充原來的表,即將家庭物聯(lián)網(wǎng)中所有設(shè)備的測量數(shù)據(jù)都存放在一張表內(nèi)。但該方法在設(shè)備眾多的情況下,冗余數(shù)據(jù)太多,且需要預先知道添加的設(shè)備信息及設(shè)備采集的數(shù)據(jù)信息。每增加一個新設(shè)備,需要顯式修改表結(jié)構(gòu),同時,所有其他設(shè)備的測量數(shù)據(jù)屬性都要添加可能是無意義的字段。

(2)多表繼承:建立用戶設(shè)備測量數(shù)據(jù)總表及不同設(shè)備的測量數(shù)據(jù)子表,則每增加一種設(shè)備進行數(shù)據(jù)測量時,數(shù)據(jù)庫就增加一個測量數(shù)據(jù)子表。或者采用實體-屬性-值模式,建立用戶設(shè)備測量數(shù)據(jù)總表及測量數(shù)據(jù)屬性表,每增加一個測量數(shù)據(jù)項時,數(shù)據(jù)庫就建立一個屬性子表。當設(shè)備種類很多時,數(shù)據(jù)庫中表的數(shù)量就會很多,數(shù)據(jù)管理困難且復雜。

(3)采用半結(jié)構(gòu)化數(shù)據(jù)模型:為使RMDBS能隨著設(shè)備種類的增多進行輕松擴展,可以對表做逆規(guī)范化,即將測量數(shù)據(jù)作為設(shè)備測量數(shù)據(jù)表的一個屬性列,用JSON格式存儲測量數(shù)據(jù)的字段名和值。但該方法在面對海量的數(shù)據(jù)存儲需求時,存在數(shù)據(jù)查詢性能下降等問題。

在關(guān)系型數(shù)據(jù)庫中,行作為數(shù)據(jù)存儲的基本單元,每個數(shù)據(jù)庫表都需嚴格定義模式,規(guī)定列和類型,當表中的某一行需要增加一列時,則需要顯式修改表結(jié)構(gòu),因此,關(guān)系型數(shù)據(jù)庫無法快速容納新的數(shù)據(jù)類型,即使采用逆規(guī)范化處理,關(guān)系型數(shù)據(jù)庫也很難滿足家庭物聯(lián)網(wǎng)海量異構(gòu)數(shù)據(jù)的存儲需求。同時,文獻[4]指出關(guān)系型數(shù)據(jù)庫的SQL語言已不適應時間序列數(shù)據(jù)的查詢[4],文獻[5]也指出傳統(tǒng)數(shù)據(jù)庫系統(tǒng)難以存儲管理海量的感知數(shù)據(jù)。

因此,家庭物聯(lián)網(wǎng)數(shù)據(jù)存儲需要選擇更適宜的存儲模式,其中NoSQL數(shù)據(jù)庫提供了一種與傳統(tǒng)關(guān)系型數(shù)據(jù)庫不太一樣的Schema-free存儲模式[6],可以輕松應對家庭物聯(lián)網(wǎng)多源異構(gòu)數(shù)據(jù)的存儲需求。

3 基于非關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)存儲的模式建模

3.1NoSQL概述

非關(guān)系型數(shù)據(jù)庫即NoSQL,它在數(shù)據(jù)模式、一致性、可靠性等方面與關(guān)系型數(shù)據(jù)庫有著顯著不同。NoSQL采用松耦合、可擴展的數(shù)據(jù)模式,例如Key-文檔、Key-Value鍵值對、列簇式存儲及圖,其中Key-文檔數(shù)據(jù)模式中文檔可以存儲列表、鍵值對以及層次結(jié)構(gòu)復雜的文檔,形成數(shù)組和嵌套子文檔等多種類型,通過自由組織文檔結(jié)構(gòu),Key-文檔可以像關(guān)系型數(shù)據(jù)庫一樣表示不同實體間的復雜關(guān)系。

在NoSQL體系中,MongoDB是最像關(guān)系型數(shù)據(jù)庫的非關(guān)系型數(shù)據(jù)庫。在MongoDB中,文檔作為MongoDB中數(shù)據(jù)的基本單元,在進行數(shù)據(jù)庫設(shè)計時,無需對文檔的屬性值進行預先定義,可根據(jù)需要靈活地在文檔中添加和刪除鍵值對,因此,MongoDB可以滿足家庭物聯(lián)網(wǎng)在不斷加入新智能設(shè)備時所帶來的快速數(shù)據(jù)存儲的應用需求,適合存儲家庭物聯(lián)網(wǎng)中的多源異構(gòu)數(shù)據(jù)。由于MongoDB的文檔數(shù)據(jù)模型具有動態(tài)模式,集合中的每個文檔都可擁有完全不同的結(jié)構(gòu),因此MongoDB可以根據(jù)家庭物聯(lián)網(wǎng)的應用需求來自由組織集合結(jié)構(gòu)。同時,MongoDB數(shù)據(jù)庫提供的聚合框架可以對集合中的文檔進行變換和組合,支持MapReduce,可以滿足家庭物聯(lián)網(wǎng)應用的大數(shù)據(jù)分析及海量數(shù)據(jù)的高并發(fā)操作的應用需求,MongoDB的時間序列模型可以存儲環(huán)境質(zhì)量、GPS等海量流式數(shù)據(jù)的實時存儲,MongoDB提供GridFS特性,可以存儲家庭安防中采集的視頻及圖片等大文件,另外,MongoDB支持創(chuàng)建數(shù)據(jù)索引,來提升數(shù)據(jù)的讀寫性能[7]。因此,MongoDB是家庭物聯(lián)網(wǎng)海量多源異構(gòu)數(shù)據(jù)存儲的一個可選方案,可滿足家庭物聯(lián)網(wǎng)感知數(shù)據(jù)存儲三大需求。下文將對基于MongoDB家庭物聯(lián)網(wǎng)感知數(shù)據(jù)存儲的文檔模型及其建模過程進行研究。

3.2MongoDB數(shù)據(jù)模型

MongoDB[7]是一個面向文檔的數(shù)據(jù)庫,不再具有“行”的概念,取而代之的是更為靈活的“文檔”模型。在MongoDB的數(shù)據(jù)模型中,文檔是鍵值對的一個有序集,鍵值對的值可以是簡單的數(shù)據(jù)類型,可以是數(shù)組,也可以是對象id,甚至是其他文檔。在數(shù)據(jù)建模時,MongoDB可以根據(jù)實際應用需要選擇內(nèi)嵌和引用的方式來設(shè)計數(shù)據(jù)模型。內(nèi)嵌數(shù)據(jù)模型中鍵值對為嵌入的其他文檔,內(nèi)嵌數(shù)據(jù)模型減少了數(shù)據(jù)操作過程的連接操作,具有良好的讀性能,能很好地完成原子性,但文檔的增長會成為一個性能問題,在使用內(nèi)嵌數(shù)據(jù)模型時,需要保證文檔大小小于BSON文檔的最大值16M[8]。同時,被嵌文檔不具有獨立的文檔結(jié)構(gòu),因此,需要頻繁更新的文檔不適合作為內(nèi)嵌文檔。引用數(shù)據(jù)模型中鍵值對為數(shù)組或者對象id,引入數(shù)據(jù)模型可以減少數(shù)據(jù)冗余,表示巨大的多次數(shù)據(jù)集,但不能提供讀性能,需要操作多個集合才能獲得結(jié)果。

綜上所述,MongoDB的文檔數(shù)據(jù)模型可以表示各種富數(shù)據(jù)結(jié)構(gòu),以聚合的形式來表示數(shù)據(jù)。同時,文檔數(shù)據(jù)模型的這些特性,使得MongoDB的文檔無需預先定義模式,文檔作為MongoDB中數(shù)據(jù)的基本單元,集合中的每個文檔都可擁有完全不同的結(jié)構(gòu),可根據(jù)需要靈活地在文檔中添加和刪除鍵值對,可以輕松應對多源異構(gòu)數(shù)據(jù)的存儲需求。同時,MongoDB可根據(jù)實際應用需求采用內(nèi)嵌和應用兩種不同的文檔結(jié)構(gòu)來表示不同事物間的關(guān)系,因此,在使用MongoDB數(shù)據(jù)庫存儲家庭物聯(lián)網(wǎng)感知數(shù)據(jù)時有必要對數(shù)據(jù)庫的邏輯模型進行建模。

3.3MongoDB數(shù)據(jù)庫邏輯建模

實體-聯(lián)系模型(E-R模型)作為不受任何DBMS約束的面向用戶的表達方法,在數(shù)據(jù)庫設(shè)計中被廣泛應用于數(shù)據(jù)建模。關(guān)系型數(shù)據(jù)庫由數(shù)據(jù)庫、表、記錄三個層次概念組成,在進行邏輯建模時,先使用E-R圖進行概念設(shè)計,再根據(jù)一定的轉(zhuǎn)換原則將E-R圖轉(zhuǎn)化為滿足第三范式的邏輯模型。MongoDB則由數(shù)據(jù)庫、集合、文檔對象三個層次組成,其中,集合可以看做是一個擁有動態(tài)模式的關(guān)系型數(shù)據(jù)庫的表,因此,MongoDB作為NoSQL家族中最像關(guān)系型數(shù)據(jù)庫的非關(guān)系型數(shù)據(jù)庫,同樣可以采用E-R模型來進行概念設(shè)計,只需結(jié)合實際應用情況,采用與關(guān)系型數(shù)據(jù)庫不同的E-R模型向邏輯模型轉(zhuǎn)化的轉(zhuǎn)換原則,值得注意的是數(shù)據(jù)模式自由的MongoDB并不需滿足第三范式,需根據(jù)實際應用使用合適的邏輯模型。

E-R模型的構(gòu)成成分為實體集、屬性集和聯(lián)系集,分別對應MongoDB數(shù)據(jù)庫的集合、文檔及集合間的關(guān)系,MongoDB的E-R模型向邏輯模型轉(zhuǎn)化的轉(zhuǎn)換原則如下:

(1)屬性的轉(zhuǎn)換:根據(jù)MongoDB中文檔的特性,ER模型中的屬性集可細分為單值屬性、對象屬性、派生屬性,其中,單值屬性表示單一鍵值對類型的文檔,對象屬性表示多鍵值對的數(shù)組類型或內(nèi)嵌文檔類型的文檔,派生屬性表示外部引用的文檔,即對象id。由于MongoDB以文檔作為最小數(shù)據(jù)單位,同時集合具有動態(tài)模式,所以MongoDB不需對屬性轉(zhuǎn)換做過多轉(zhuǎn)換原則的設(shè)定,保證在邏輯模型建立之后,仍可以自由地向集合中添加新文檔。

(2)實體的轉(zhuǎn)換:每個實體作為一個集合,但在MongoDB中,不能單純地根據(jù)E-R模型中的實體來確定集合,還需要根據(jù)實體間的聯(lián)系和實際應用來確定集合的動態(tài)模式。

(3)實體間聯(lián)系的轉(zhuǎn)換。

●一對一的關(guān)系:根據(jù)實際應用的需求,可以將兩個實體轉(zhuǎn)換為一個集合,其中一個實體可以看做是另一個實體的屬性。

●一對多的關(guān)系:一般情況下,將兩個實體分別建立集合,實體間的關(guān)系通過一個集合引用另一個集合來體現(xiàn),即將單端實體集合的主鍵作為多端實體集合的外鍵。但在MongoDB數(shù)據(jù)建模中需要考慮實際應用需求,且MongoDB文檔大小的增長受BSON文檔最大值的限制,所以,還需根據(jù)關(guān)系中集合的大小規(guī)模和實際應用中數(shù)據(jù)的讀寫比例等需求來進行數(shù)據(jù)模型建模。主要遵循以下原則:

①當一對多關(guān)系中,一個單端實體只對應少量多端實體,且多端實體集合中數(shù)據(jù)量較小,數(shù)據(jù)更新不頻繁,對數(shù)據(jù)的讀性能要求較高時,MongoDB可以采用內(nèi)嵌的文檔數(shù)據(jù)模型,將多端實體集合合并嵌套到單端實體的集合。

②使用內(nèi)嵌文檔數(shù)據(jù)模型時,當需要經(jīng)常對內(nèi)嵌的多端實體進行單獨訪問時,則多端實體也應當建立相應的集合。

③當一對多關(guān)系中,一個單端實體對應數(shù)百個多端實體,且多端實體的數(shù)據(jù)增長不迅速時,應當采用間接引用文檔結(jié)構(gòu),即兩端實體分別建立集合,多端實體集合的主鍵作為數(shù)組存放在單端實體文檔中。

④當一對多關(guān)系中,一個單端實體對應數(shù)千個多端實體,且多端實體的數(shù)據(jù)增長迅速,受MongoDB的BSON文檔最大值的限制,則應該采用父節(jié)點引用的引用文檔結(jié)構(gòu),即兩端實體分別建立集合,單端集合的主鍵作為多端實體集合的外鍵。

●多對多的關(guān)系:實體分別作為集合,將關(guān)系本身和實體集合主鍵構(gòu)成新的連接集合。和關(guān)系數(shù)據(jù)庫不同的是,MongoDB可以采用多種文檔結(jié)構(gòu)來表示集合間關(guān)系,在實際應用中,MongoDB需要考慮應用需求來靈活構(gòu)建數(shù)據(jù)模型,主要遵循以下原則:

①當連接集合數(shù)據(jù)增長快速,實際應用需快速獲取實體間的關(guān)聯(lián)關(guān)系時,則需要單獨在兩個實體集合中建立雙向關(guān)聯(lián)關(guān)系,先將雙向的多對多關(guān)系分解為兩個單向的一對多關(guān)系,然后按照一對多的關(guān)系轉(zhuǎn)換原則建模,即在一個實體集合的文檔對象中添加另一個實體集合的引用,或者內(nèi)嵌另一個實體集合。

②不是所有的多對多關(guān)系都要建立連接集合,將雙向的多對多關(guān)系分解為兩個單向的一對多關(guān)系,若其中一個一對多關(guān)系中可采用間接引用文檔結(jié)構(gòu),且連接集合的數(shù)據(jù)增長緩慢時,可以不用單獨建立連接集合,實體間的聯(lián)系可以通過多端實體的信息被多個單端實體使用來體現(xiàn)。

3.4家庭物聯(lián)網(wǎng)的邏輯模型建模

在家庭物聯(lián)網(wǎng)應用中,用戶實體與設(shè)備實體屬于多對多關(guān)系,圖2為家庭物聯(lián)網(wǎng)的E-R模型,在E-R模型中,用戶實體和設(shè)備實體具有兩層關(guān)系,即綁定和測量,其中綁定關(guān)系穩(wěn)定,變化不大,但測量關(guān)系包含大量的測量數(shù)據(jù),則測量關(guān)系中的實體需通過添加雙向關(guān)聯(lián)單獨建立實體關(guān)系。

圖2 家庭物聯(lián)網(wǎng)的E-R模型

根據(jù)實體轉(zhuǎn)換原則,可以得到用戶集合、設(shè)備集合。根據(jù)實體間多對多關(guān)系的轉(zhuǎn)換原則,得到綁定測量數(shù)據(jù)集合,由于測量關(guān)系包含大量的測量數(shù)據(jù),則測量數(shù)據(jù)集合父級引用用戶集合和設(shè)備集合。由于家庭物聯(lián)網(wǎng)應用需要快速找到一種設(shè)備的使用者信息和一個用戶擁有的所有設(shè)備信息,則需要單獨在實體集合中添加雙向關(guān)聯(lián)關(guān)系。將用戶與設(shè)備的多對多關(guān)系分解為兩個一對多關(guān)系,即一個用戶對應多個設(shè)備,一個設(shè)備對應多個用戶。家庭物聯(lián)網(wǎng)中,一個用戶擁有的較少的設(shè)備,一般不超過50個,同時,設(shè)備信息基本固定不變,因此,可將設(shè)備集合文檔內(nèi)嵌到用戶集合中,而一種設(shè)備會被很多的家庭物聯(lián)網(wǎng)用戶使用,則設(shè)備集合間接引用用戶集合。

根據(jù)屬性轉(zhuǎn)換原則,無需對家庭物聯(lián)網(wǎng)數(shù)據(jù)集合中的文檔類型與文檔結(jié)構(gòu)做預先定義,MongoDB動態(tài)模式的特性使得家庭物聯(lián)網(wǎng)應用可以自由增刪改集合中的文檔,保證在數(shù)據(jù)庫的邏輯模型建立之后,上層應用仍可以自由地向集合中添加新文檔,滿足家庭物聯(lián)網(wǎng)多源異構(gòu)數(shù)據(jù)的存儲。

根據(jù)上述轉(zhuǎn)換原則,得到表1所示的家庭物聯(lián)網(wǎng)應用的文檔數(shù)據(jù)模型,即用戶集合嵌套設(shè)備集合,設(shè)備集合間接引用用戶集合,測量數(shù)據(jù)集合父級引用用戶集合和設(shè)備集合。在該文檔數(shù)據(jù)模型中,當需要查詢用戶擁有哪些設(shè)備時,只需要查詢一次即可得到結(jié)果,同時可以單獨訪問設(shè)備集合,快速獲知綁定該設(shè)備的所有用戶信息。由于設(shè)備信息和用戶信息幾乎固定不變,所以采用此存儲模型仍可以保證操作的原子性。

4 結(jié)語

家庭物聯(lián)網(wǎng)中多源異構(gòu)數(shù)據(jù)存儲的新需求對傳統(tǒng)的關(guān)系型數(shù)據(jù)庫提出了挑戰(zhàn),本文采用面向文檔的MongoDB數(shù)據(jù)庫來存儲家庭物聯(lián)網(wǎng)中的多源異構(gòu)數(shù)據(jù)。在數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計階段,本文根據(jù)文檔模型自身特點,提出了從E-R模型轉(zhuǎn)換至邏輯模型的轉(zhuǎn)換原則,結(jié)合家庭物聯(lián)網(wǎng)應用具體需求以構(gòu)建家庭物聯(lián)網(wǎng)數(shù)據(jù)存儲數(shù)據(jù)庫的邏輯模型。

目前,MongoDB可以滿足家庭物聯(lián)網(wǎng)多源異構(gòu)數(shù)據(jù)的存儲需求,在以后的工作中,將根據(jù)家庭物聯(lián)網(wǎng)數(shù)據(jù)處理的特點,深入研究MongoDB數(shù)據(jù)庫支持下具有時態(tài)性的家庭物聯(lián)網(wǎng)數(shù)據(jù)存儲管理的優(yōu)化方法,MongoDB支持的時態(tài)數(shù)據(jù)分片和索引的優(yōu)化策略,以及集群分片負載均衡的改進策略。

表1 多對多關(guān)系轉(zhuǎn)換后的集合結(jié)構(gòu)

[1]陳亮,仇晶,朱有產(chǎn),顧雪平.面向家庭物聯(lián)網(wǎng)的云計算架構(gòu)[J].計算機應用研究,2013,30(12):3686~3689

[2]覃雄派,王會舉,李芙蓉.數(shù)據(jù)管理技術(shù)的新格局[J].軟件學報,2013,24(2):175~197

[3]張桂剛,畢婭,李超,等.海量物聯(lián)網(wǎng)數(shù)據(jù)安全處理模型研究[J].小型微型計算機系統(tǒng),2013,9:2090~2094

[4]林信川.物聯(lián)網(wǎng)環(huán)境下數(shù)據(jù)庫管理系統(tǒng)的挑戰(zhàn)[J].軟件導刊,2011,12:160~162

[5]張冬冬,李建中,王偉平等.數(shù)據(jù)流歷史數(shù)據(jù)的存儲與聚集查詢處理算法[J].軟件學報,2005,16:2089~2098

[6]Stonebraker,M.SQL database v.NoSQL Databases.Communications of the ACM,2010,53(4):10~11

[7]Kristina Cbodorow.MongoDB權(quán)威指南[M].鄧強,王明輝譯.北京:人民郵電出版社,(2014):81~129

[8]MongoDB官網(wǎng).http://www.mongodb.org/display/DOCS/Home

Household Internet of Things;Multi-Source Heterogeneous Data;Non Relational Database;MongoDB;Logical Model

Selection and Modeling of Multi-Source Heterogeneous Data Storage Scheme in Household Internet of Things

ZHA Gai-qin,CHU Wei
(Computer and Network Laboratory,Hefei University of Technology,Hefei 230009)

With the development of household Internet of things,how to efficiently store huge amounts of multi-source heterogeneous data becomes more and more important.Since the traditional relational database can not meet the storage needs of multi-source heterogeneous data of household Internet of things,and the document oriented non relational database MongoDB is suitable.By combining with the characteristics of MongoDB,puts forward a processing method of transformation from E-R model to logical model,which is suitable for MongoDB, establishes a logical model of MongoDB database,and builds a logic model of multi-source heterogeneous data storage application of household Internet of things.

1007-1423(2015)14-0022-06

10.3969/j.issn.1007-1423.2015.14.006

查改琴(1989-),女,安徽懷寧人,在讀碩士研究生,研究方向為物聯(lián)網(wǎng)、數(shù)據(jù)庫技術(shù)等

褚偉(1972-),男,安徽合肥人,副教授,研究方向為物聯(lián)網(wǎng)、云計算、數(shù)據(jù)庫技術(shù)等

2015-03-17

2015-04-22

猜你喜歡
數(shù)據(jù)庫設(shè)備
諧響應分析在設(shè)備減振中的應用
基于VB6.0+Access2010開發(fā)的設(shè)備管理信息系統(tǒng)
基于MPU6050簡單控制設(shè)備
電子制作(2018年11期)2018-08-04 03:26:08
數(shù)據(jù)庫
財經(jīng)(2017年15期)2017-07-03 22:40:49
數(shù)據(jù)庫
財經(jīng)(2017年2期)2017-03-10 14:35:35
數(shù)據(jù)庫
財經(jīng)(2016年15期)2016-06-03 07:38:02
500kV輸變電設(shè)備運行維護探討
數(shù)據(jù)庫
財經(jīng)(2016年3期)2016-03-07 07:44:46
數(shù)據(jù)庫
財經(jīng)(2016年6期)2016-02-24 07:41:51
如何在設(shè)備采購中節(jié)省成本
主站蜘蛛池模板: 中文字幕永久视频| 欧美成人综合在线| 狠狠色丁香婷婷| 丁香婷婷激情综合激情| 欧美第一页在线| 亚洲日韩国产精品综合在线观看| a毛片基地免费大全| 国产一区免费在线观看| 久久精品午夜视频| 午夜福利无码一区二区| jijzzizz老师出水喷水喷出| 久久一日本道色综合久久| 91无码国产视频| 国产一区二区精品福利| 毛片卡一卡二| 野花国产精品入口| 亚洲欧美人成电影在线观看| 美女高潮全身流白浆福利区| 一级毛片基地| 最近最新中文字幕在线第一页| 久久精品亚洲中文字幕乱码| 亚洲国产日韩视频观看| 在线播放真实国产乱子伦| 色综合中文综合网| 美美女高清毛片视频免费观看| 全部免费毛片免费播放| 日韩免费无码人妻系列| 色综合狠狠操| 亚洲热线99精品视频| 亚洲日本韩在线观看| 亚洲精品在线91| 亚洲三级网站| 在线观看视频99| 无码电影在线观看| www.99在线观看| 久久香蕉国产线看观看亚洲片| 白浆视频在线观看| 在线播放真实国产乱子伦| 99中文字幕亚洲一区二区| 成人第一页| 婷婷综合在线观看丁香| 爱爱影院18禁免费| 成人国产精品一级毛片天堂| 亚洲人免费视频| 欧美乱妇高清无乱码免费| 成人免费黄色小视频| 欧美亚洲日韩不卡在线在线观看| 中文字幕在线免费看| 伊人激情综合| 国产成人综合亚洲网址| 亚洲综合色婷婷| 免费看a毛片| 女人一级毛片| 精品国产一区二区三区在线观看| 91精品国产综合久久香蕉922| 久久综合丝袜长腿丝袜| 欧美精品导航| 国产精品白浆在线播放| 亚洲一区毛片| 最新日本中文字幕| 久久久久免费看成人影片 | 国产呦精品一区二区三区网站| AV不卡无码免费一区二区三区| 91亚洲免费视频| 欧美亚洲中文精品三区| 久久美女精品国产精品亚洲| 波多野结衣视频网站| 欧洲欧美人成免费全部视频| 午夜啪啪网| 亚洲永久色| 亚洲精品午夜无码电影网| 在线视频亚洲色图| 欧美日韩国产一级| 蝴蝶伊人久久中文娱乐网| 香蕉久久永久视频| 毛片基地美国正在播放亚洲| 亚洲精品综合一二三区在线| 波多野结衣一区二区三区88| 亚洲一区网站| 无套av在线| 无码专区第一页| 免费又黄又爽又猛大片午夜|