近年來,在物聯(lián)網(wǎng)等具有海量數(shù)據(jù)需求的應(yīng)用變得越來越普遍時,無論是從科學(xué)研究還是從應(yīng)用開發(fā)的角度來看,掌握云計算技術(shù)已成為一種趨勢。智能家居作為物聯(lián)網(wǎng)應(yīng)用的主要領(lǐng)域之一,自然離不開云計算。云計算的發(fā)展使用戶無需關(guān)注復(fù)雜的內(nèi)部工作機制、無需具備豐富的分布式系統(tǒng)知識及開發(fā)經(jīng)驗,即可實現(xiàn)大規(guī)模分布式系統(tǒng)規(guī)定部署,以及海量數(shù)據(jù)的并行處理。
hadoop是目前較為成熟和應(yīng)用較為廣泛的云計算架構(gòu)之一。hadoop的核心思想是分布式并行處理。hadoop技術(shù)中的關(guān)鍵技術(shù)是hdfs(分布式文件系統(tǒng))和map/reduce(映射/規(guī)約)。hadoop利用hdfs存儲海量數(shù)據(jù),利用map/reduce進行海量數(shù)據(jù)的計算。
文中首先介紹了智能家居與云計算的概念,接著針對傳統(tǒng)的海量數(shù)據(jù)處理方法硬件成本太高,存在計算瓶頸的問題,在云計算理論的基礎(chǔ)上針對智能家居中的門禁系統(tǒng)、溫濕度系統(tǒng)、滴灌系統(tǒng)和照明系統(tǒng)搭建了基于hadoop的數(shù)據(jù)處理平臺。可以對大量傳感信息進行分布式并行處理,并根據(jù)處理結(jié)果向底層設(shè)備發(fā)送指令以實現(xiàn)智慧化服務(wù)。
1智能家居與云計算
1.1智能家居
目前通常把智能家居定義為利用電腦、網(wǎng)絡(luò)和綜合布線技術(shù),通過家庭信息管理平臺將與家居生活有關(guān)的各種子系統(tǒng)有機結(jié)合的一個系統(tǒng)。首先,需要在家居中建立一個通信網(wǎng)絡(luò),為家庭信息交互和傳輸提供必要的通路,在家庭網(wǎng)絡(luò)的操作系統(tǒng)控制下,通過相應(yīng)的硬件和執(zhí)行機構(gòu),實現(xiàn)對所有家庭網(wǎng)絡(luò)上的家電和設(shè)備的控制和監(jiān)測。其次,智能家居系統(tǒng)需要通過一定的媒介平臺,提供與外界的通信通道,以實現(xiàn)與家庭以外的世界溝通信息,滿足遠程控制/監(jiān)測和交換信息的需求。
1.2云計算架構(gòu)hadoop
hadoop是一個分布式計算框架,可以在大量廉價的硬件設(shè)備組成的集群上運行應(yīng)用程序,為應(yīng)用程序提供了一組穩(wěn)定可靠的接口,旨在構(gòu)建一個具有高可靠性和良好擴展性的分布式系統(tǒng)。hadoop的主要優(yōu)點有:擴容能力強、成本低廉、效率高、可靠性高、免費開源及良好的可移植性。hadoop項目包括多個子項目,但主要是由hadoop分布式文件系統(tǒng)(hadoopdistributedfilesystem,hdfs)和映射/規(guī)約引擎(map/reduceengine)兩個主要的子項目構(gòu)成。
1.3分布式文件系統(tǒng)(hdfs)
hdfs由一個名叫namenode的主節(jié)點和多個名叫datanode的子節(jié)點組成,是一種典型的主從式(master/slave)架構(gòu),這種架構(gòu)方法可以通過主節(jié)點屏蔽底層的復(fù)雜結(jié)構(gòu),并向client提供方便的文件目錄映射。namenode存儲著文件系統(tǒng)的元數(shù)據(jù),這些元數(shù)據(jù)包括文件系統(tǒng)的名字空間等,并負責(zé)管理文件的存儲等服務(wù),但實際的數(shù)據(jù)并不存放在namenode,而是由hdfs中的datanode來存放數(shù)據(jù),然后由client直接與datanode建立數(shù)據(jù)通信。
此外,hdfs為了可靠地海量存儲文件,各個文件以塊序列的形式存儲。為了保證故障容錯,文件的塊被復(fù)制。塊的大小和副本的個數(shù)都可以配置。name鄄node控制所有的塊復(fù)制操作,它周期性地接收來自集群中datanode的“心跳冶回應(yīng)和塊報告。收到一個節(jié)點的“心跳冶回應(yīng)表示這個datanode是正常的。
1.4mapreduce分布式計算
mapreduce分布式計算主要是用來在數(shù)千部服務(wù)器上同時處理保存于gfsclusters中高達幾十tb甚至更多的數(shù)據(jù)。
mapreduce在溫度值統(tǒng)計過程中的運作如下所述。
mapreduce的作用是對計算機集群上的大型數(shù)據(jù)集運行分布式計算,替大量數(shù)據(jù)做平行計算處理。mapreduce的整個架構(gòu)是由map和reduce函數(shù)組成的,當(dāng)程序輸入一大組key/value鍵值對時,map函數(shù)自動將原本的key/value分拆成多組中介的鍵值對,然后reduce函數(shù)再合并具有相同key的中介值配對,化簡成最后的輸出結(jié)果。
智能家居云模型
智能家居擁有7大子系統(tǒng),每一個系統(tǒng)包含了不同的終端,每一個終端都安裝有傳感器,傳感器感知周圍環(huán)境并產(chǎn)生大量數(shù)據(jù)。千千萬萬的用戶會產(chǎn)生海量的數(shù)據(jù),而云計算可靠的數(shù)據(jù)存儲,強大的計算能力,低廉的運營成本使得它非常適合處理海量數(shù)據(jù)。于是每家用戶都將通過網(wǎng)絡(luò)連接到云服務(wù)中心,產(chǎn)生的數(shù)據(jù)均由云計算中心存儲和計算處理。
2開發(fā)程序設(shè)計分析