公務(wù)員期刊網(wǎng) 論文中心 正文

移動網(wǎng)下絡(luò)智能設(shè)備數(shù)據(jù)節(jié)流探討

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了移動網(wǎng)下絡(luò)智能設(shè)備數(shù)據(jù)節(jié)流探討范文,希望能給你帶來靈感和參考,敬請閱讀。

移動網(wǎng)下絡(luò)智能設(shè)備數(shù)據(jù)節(jié)流探討

隨著智能家居概念被炒熱,市場上井噴出很多智能設(shè)備,然而要實現(xiàn)真正的智能硬件生態(tài)圈,無論在市場還是技術(shù)層面,仍然有很長的一段路要走。在眾多的智能設(shè)備中,有一部分是通過家庭Wi-Fi接入互聯(lián)網(wǎng)的,有一部分則是通過移動網(wǎng)絡(luò)(GPRS、3G、4G)再接入互聯(lián)網(wǎng)的,特別是一些可穿戴設(shè)備。與基于Wi-Fi的設(shè)備很不同,移動網(wǎng)絡(luò)是按照流量計費的,通訊費用就成為了這類產(chǎn)品在設(shè)計時必須考慮的一個重要方面。雖然移動網(wǎng)絡(luò)的資費越來越便宜,但是智能設(shè)備的使用也并非一天半天,如果使用了一種簡單粗暴的通訊方案,日積月累,將會產(chǎn)生很多沒有實際意義的流量,浪費資源和金錢,最終影響產(chǎn)品在市場上的競爭力。

1數(shù)據(jù)篩選

在數(shù)據(jù)進(jìn)行傳輸之前,智能硬件需要對數(shù)據(jù)進(jìn)行預(yù)處理,判斷需要傳輸哪些數(shù)據(jù),例如一些工業(yè)設(shè)備的運行狀態(tài)、可穿戴設(shè)備的一些人體數(shù)據(jù)等等。在業(yè)務(wù)系統(tǒng)設(shè)計的時候,就必須要對數(shù)據(jù)進(jìn)行分級分類。哪些是必須要傳的,哪些是在緊急情況下可以舍棄的,例如一些冷凍冷藏的設(shè)備,停機故障的數(shù)據(jù)是最重要的,因為這類設(shè)備一旦停機,可能會使得冷凍的食品、藥品或者名貴紅酒變壞,導(dǎo)致客戶重大的損失。再進(jìn)一步,根據(jù)需要,智能硬件可以將一些底層數(shù)據(jù)加以統(tǒng)計再進(jìn)行傳輸,例如智能手環(huán),可以將客戶的步行里程統(tǒng)計一段再上傳到云平臺記錄,而不是將客戶的每一步都實時傳輸上去。更進(jìn)一步,可以將定時傳輸這種傳統(tǒng)模式改為有變化再傳輸,例如云平臺想監(jiān)控一個傳感設(shè)備的溫度曲線,可以在溫度發(fā)生變化的時候才傳輸數(shù)據(jù),而不是不管溫度是否有變化每隔幾秒就將溫度往云平臺傳輸。

2數(shù)據(jù)壓縮

所謂數(shù)據(jù)壓縮,是指減少數(shù)據(jù)量以減少存儲、傳輸?shù)目臻g的一種技術(shù)方法,并且在這過程中不丟失數(shù)據(jù)信息。在智能家居系統(tǒng)中,通訊的兩端設(shè)備(例如智能設(shè)備與云平臺、智能設(shè)備與APP、云平臺與APP之間),在往對方發(fā)送數(shù)據(jù)前,可考慮先對數(shù)據(jù)進(jìn)行壓縮,接收方在收到數(shù)據(jù)后,再對數(shù)據(jù)進(jìn)行解壓。數(shù)據(jù)的壓縮算法有很多,例如LZW壓縮算法、Huffman壓縮算法、Rice壓縮算法、RLE壓縮算法、LZ77等等。這些算法都各有優(yōu)缺點,究竟需要如何選擇?首先,要考慮的是數(shù)據(jù)特征,如果需要傳輸?shù)臄?shù)據(jù),出現(xiàn)的字符類型少,而且很明顯地有些字符的頻率很高,則適合使用以頻率特征為壓縮原則的算法,例如Huffman、RLE等。如果有比較多字符串重復(fù)的,則可以考慮用窗口式的壓縮算法,例如LZ77等。但是,如果發(fā)現(xiàn)要傳輸?shù)臄?shù)據(jù)量較少,或者重復(fù)性不高,那么就無需再使用壓縮算法,以免產(chǎn)生更多的數(shù)據(jù)浪費。其次,要考慮算法所占用的資源情況,因為智能硬件為了能走進(jìn)普通老百姓的家里,吸引更多消費者購買,使自己在市場上更有競爭力,往往會選擇低成本的方案。也就是說,智能設(shè)備的硬件資源,往往只能滿足其功能性的需求,CPU、RAM的資源都非常有限。所以應(yīng)該根據(jù)硬件的資源情況,選取代碼量少,占用資源少的壓縮算法。以Huffman為例,Huffman算法首先統(tǒng)計字符出現(xiàn)的頻率,然后再用這個頻率作為一個權(quán)值,構(gòu)建一個Huffman二叉樹,頻率高的字符會在樹的上層,頻率低的會在樹的下層。然后就是通過遍歷二叉樹的方式對所有字符進(jìn)行編碼。最終的結(jié)果是,出現(xiàn)頻繁的字符,能用較少的位來表示,出現(xiàn)不頻繁的字符用較多的位來表示,從而達(dá)到節(jié)省空間的效果。在將這個算法寫到單片機的過程中,會發(fā)現(xiàn)遇到幾個問題,首先是建樹,樹這個概念在單片機的編程中非常少用,一般嵌入式開發(fā)人員習(xí)慣使用數(shù)組,比較好控制,并且數(shù)組的空間是預(yù)先就分配好的。而Huffman樹則是一個動態(tài)生成的樹,編程時對其空間很難做出準(zhǔn)確評估,這樣就必然導(dǎo)致預(yù)申請很多空間以做準(zhǔn)備,其結(jié)果往往會比數(shù)組要的空間多。另外,字符頻率的統(tǒng)計以及字符編碼,都需要耗費CPU時間及額外的資源,所以,Huffman算法并不太適合用在低成本的智能硬件中。所以,選取什么算法,需要綜合考慮壓縮比、復(fù)雜度以及硬件資源這幾個維度。參考文獻(xiàn)[1]嚴(yán)蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu)(C語言版)[M].北京:清華大學(xué)出版社,1997.[2]謝希仁.計算機網(wǎng)絡(luò)[M].第5版.北京:電子工業(yè)出版社,2008.

3合適的傳輸協(xié)議

用于智能設(shè)備的數(shù)據(jù)傳輸協(xié)議,目前使用較多的有三種:HTTP、TCP和UDP。按照ISO七層模型劃分(自底向上:物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會話層、表示層、應(yīng)用層),HTTP是屬于應(yīng)用層的,而TCP和UDP則屬于傳輸層的,從網(wǎng)絡(luò)數(shù)據(jù)包的角度來看,數(shù)據(jù)包是自下而上層層封裝的,所以在同等內(nèi)容的情況下,HTTP會比TCP和UDP占用較多的資源。而TCP是可靠的、有連接的協(xié)議,需要三次握手,UDP則不需要,所以在這個角度上看,UDP占用的資源比TCP要少。但是在選擇協(xié)議的時候,占用的資源并不是唯一的度量,還要考慮并發(fā)量、功能乃至產(chǎn)品的生命周期。如果一個系統(tǒng)并發(fā)量低、功能簡單、周期短,則可以考慮用TCP,畢竟使用UDP還需要自己實現(xiàn)重發(fā)等機制。但一個系統(tǒng)并發(fā)量很高,則考慮用UDP,因為TCP的連接性會產(chǎn)生很多長連接,占用網(wǎng)絡(luò)帶寬、防火墻等資源。一般情況下TCP會比UDP少20%左右的并發(fā)數(shù),但具體情況會受到業(yè)務(wù)系統(tǒng)程序的影響。

4總結(jié)

在智能設(shè)備的設(shè)計中,特別是基于移動網(wǎng)絡(luò)的設(shè)備,需要盡量節(jié)省流量,使產(chǎn)品有更大的實用性。在考慮數(shù)據(jù)流量時,按照數(shù)據(jù)篩選、數(shù)據(jù)壓縮、傳輸協(xié)議這幾個步驟進(jìn)行評估,站在整套系統(tǒng)的角度去綜合權(quán)衡數(shù)據(jù)的問題,最終選取出最適合的一個數(shù)據(jù)節(jié)流的方案。

作者:梁成就 單位:珠海格力電器股份有限公司