前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的云計(jì)算與分布式技術(shù)主題范文,僅供參考,歡迎閱讀并收藏。
關(guān)鍵詞: 內(nèi)河航運(yùn); 彈性計(jì)算技術(shù); 兩級分布式; 數(shù)據(jù)處理
中圖分類號:TP301 文獻(xiàn)標(biāo)志碼:A 文章編號:1006-8228(2014)06-34-04
0 引言
內(nèi)河航運(yùn)是我國綜合運(yùn)輸體系的重要組成部分,在我國經(jīng)濟(jì)發(fā)展中起著非常重要的作用。針對航運(yùn)市場發(fā)展的總體態(tài)勢,發(fā)揮信息化對水路運(yùn)輸行業(yè)現(xiàn)代化發(fā)展的支撐和引領(lǐng)作用,以信息資源共享為基礎(chǔ),以信息服務(wù)為核心,以現(xiàn)代物聯(lián)網(wǎng)技術(shù)、通信技術(shù)和信息技術(shù)為支撐,以促進(jìn)水路交通運(yùn)輸產(chǎn)業(yè)和物聯(lián)網(wǎng)產(chǎn)業(yè)發(fā)展為目標(biāo),進(jìn)行智能航運(yùn)信息服務(wù)應(yīng)用的研究。
物聯(lián)網(wǎng)是通過基礎(chǔ)設(shè)施層的各種感知設(shè)備感知物體信息,然后利用網(wǎng)絡(luò)技術(shù)將感知獲取的海量數(shù)據(jù)傳輸至物聯(lián)網(wǎng)數(shù)據(jù)中心,物聯(lián)網(wǎng)信息服務(wù)系統(tǒng)整合了海量數(shù)據(jù),為各種物聯(lián)網(wǎng)應(yīng)用提供信息服務(wù)并接收反饋控制[4]。而船聯(lián)網(wǎng)是物聯(lián)網(wǎng)的一個(gè)典型的應(yīng)用,船聯(lián)網(wǎng)以船舶、航道、陸岸設(shè)施為基本節(jié)點(diǎn)和信息源,結(jié)合具有衛(wèi)星定位系統(tǒng)、無線通信技術(shù)的船載智能信息服務(wù),利用船載電子傳感裝置,通過網(wǎng)絡(luò)完成信息交換,在網(wǎng)絡(luò)平臺上完成各節(jié)點(diǎn)的屬性和動/靜態(tài)信息的進(jìn)行提取、監(jiān)管和利用[5]。
1 平臺架構(gòu)
船聯(lián)網(wǎng)項(xiàng)目采用一個(gè)中心、多個(gè)省級分節(jié)點(diǎn)的部署架構(gòu),借助目前成熟的MapReduce計(jì)算模型,結(jié)合智能航運(yùn)數(shù)據(jù)處理的實(shí)際需要,本文提出一種兩級分布式計(jì)算平臺:中心和各省分節(jié)點(diǎn)之間組成一個(gè)船聯(lián)網(wǎng)全局性的分布式平臺;中心節(jié)點(diǎn)自身建設(shè)為一個(gè)局域分布式平臺。這里稱大平臺為全局分布式框架,中心節(jié)點(diǎn)的局域平臺為中心分布式框架,示意如圖1。
船聯(lián)網(wǎng)全局分布式框架廣域部署,通過中心節(jié)點(diǎn)調(diào)度各省資源,支撐船聯(lián)網(wǎng)省級航運(yùn)業(yè)務(wù)應(yīng)用,如區(qū)域船舶監(jiān)控、應(yīng)急指揮等。中心分布式框架在中心節(jié)點(diǎn)局域部署,通過中心主節(jié)點(diǎn)調(diào)度中心分節(jié)點(diǎn)資源,支撐項(xiàng)目全局性的業(yè)務(wù)應(yīng)用,如綜合監(jiān)管、統(tǒng)計(jì)分析等。
這兩級分布式計(jì)算框架都需要能夠處理航運(yùn)海量的數(shù)據(jù),比如船舶船員基本信息、船舶簽證、船舶動態(tài)感知數(shù)據(jù)、航運(yùn)地理信息數(shù)據(jù)等。從區(qū)別上講,全局分布式框架側(cè)重各省級分節(jié)點(diǎn)與中心節(jié)點(diǎn)、分節(jié)點(diǎn)之間的互聯(lián)互通和數(shù)據(jù)共享;中心分布式框架用于完成中心節(jié)點(diǎn)各種數(shù)據(jù)計(jì)算任務(wù),并為全局分布式框架的計(jì)算調(diào)度提供支持。
2 計(jì)算模型
2.1 全局分布式框架計(jì)算模型
船聯(lián)網(wǎng)全局分布式框架的計(jì)算模型如下。
⑴ 各省級分節(jié)點(diǎn)處理各省航運(yùn)數(shù)據(jù),包括數(shù)據(jù)的整合、清洗、轉(zhuǎn)換等,即分節(jié)點(diǎn)可以處理的計(jì)算任務(wù)直接在分節(jié)點(diǎn)完成。
⑵ 中心節(jié)點(diǎn)整合各個(gè)分節(jié)點(diǎn)上報(bào)的數(shù)據(jù),包括船舶船員基本信息、船舶簽證信息、動態(tài)感知信息等。
⑶ 船舶船員基本信息、編碼等靜態(tài)數(shù)據(jù)由中心節(jié)點(diǎn)輪詢各分節(jié)點(diǎn)采集;船舶簽證信息、感知信息等動態(tài)數(shù)據(jù)由分節(jié)點(diǎn)主動推送。
⑷ 各分節(jié)點(diǎn)只與中心節(jié)點(diǎn)聯(lián)系,分節(jié)點(diǎn)之間不直接交換數(shù)據(jù)。
2.1.1 省級分節(jié)點(diǎn)的數(shù)據(jù)處理
省級分節(jié)點(diǎn)負(fù)責(zé)從各省航運(yùn)業(yè)務(wù)系統(tǒng)采集數(shù)據(jù),完成省一級的數(shù)據(jù)整合和清洗,同時(shí)可以支撐省一級的航運(yùn)應(yīng)用。
例如,A省有一GPS系統(tǒng)采集船舶位置信息,則A省分節(jié)點(diǎn)負(fù)責(zé)從該GPS系統(tǒng)采集船舶位置信息并存儲,然后完成數(shù)據(jù)的校驗(yàn)清洗,再按要求將該數(shù)據(jù)上傳中心節(jié)點(diǎn)。A省如有另一業(yè)務(wù)系統(tǒng)只需要本省船舶GPS信息,則直接從A省分節(jié)點(diǎn)獲取,不需要向船聯(lián)網(wǎng)中心節(jié)點(diǎn)發(fā)起請求。
2.1.2 中心節(jié)點(diǎn)的數(shù)據(jù)處理
船聯(lián)網(wǎng)中心節(jié)點(diǎn)負(fù)責(zé)接收各個(gè)省級分節(jié)點(diǎn)上傳的已初步清洗的數(shù)據(jù),然后再作最終的數(shù)據(jù)整合。由于在各分節(jié)點(diǎn)已清洗過,已屏蔽掉大量數(shù)據(jù)問題,所以中心節(jié)點(diǎn)只需要處理少量計(jì)算(主要是再一次檢驗(yàn)的計(jì)算量)即可完成數(shù)據(jù)整合。
完成整合后的數(shù)據(jù)在中心節(jié)點(diǎn)落地,交由中心節(jié)點(diǎn)作進(jìn)一步的分析處理。船聯(lián)網(wǎng)在整合數(shù)據(jù)的基礎(chǔ)上提供全局性的數(shù)據(jù)服務(wù)支持,比如跨區(qū)域的數(shù)據(jù)服務(wù)。
2.1.3 節(jié)點(diǎn)間的數(shù)據(jù)傳輸機(jī)制
船聯(lián)網(wǎng)節(jié)點(diǎn)間的數(shù)據(jù)傳輸將只在中心節(jié)點(diǎn)和分節(jié)點(diǎn)之間進(jìn)行,分節(jié)點(diǎn)之間相互隔離。中心節(jié)點(diǎn)定期輪詢各個(gè)省級分節(jié)點(diǎn),將船舶基本信息等主數(shù)據(jù)采集上來(分節(jié)點(diǎn)提供相應(yīng)的數(shù)據(jù)庫接口),并監(jiān)控各分節(jié)點(diǎn)的運(yùn)行狀態(tài)。各個(gè)省級分節(jié)點(diǎn)通過消息服務(wù),定期將簽證、感知信息等動態(tài)實(shí)時(shí)數(shù)據(jù)推送給中心節(jié)點(diǎn)。
2.2 中心分布式框架計(jì)算模型
船聯(lián)網(wǎng)中心節(jié)點(diǎn)分布式框架計(jì)算模型使用目前較為成熟的MapReduce計(jì)算模型。目前世界上最快的1TB排序記錄就是由基于MapReduce實(shí)現(xiàn)的。
MapReduce將計(jì)算任務(wù)劃分為map和reduce兩個(gè)階段。map階段負(fù)責(zé)“分”,即把復(fù)雜的任務(wù)分解為若干個(gè)“簡單的任務(wù)”執(zhí)行?!昂唵蔚娜蝿?wù)”有以下幾個(gè)含義:
⑴ 數(shù)據(jù)或計(jì)算規(guī)模相對于原任務(wù)要大大縮?。?/p>
⑵ 就近計(jì)算,即任務(wù)會被分配到存放了所需數(shù)據(jù)的節(jié)點(diǎn)進(jìn)行計(jì)算;
⑶ 這些小任務(wù)可以并行計(jì)算,彼此間幾乎沒有依賴關(guān)系。
reduce階段負(fù)責(zé)對map階段輸出的結(jié)果進(jìn)行匯總,即將分割開的任務(wù)合并,將與一個(gè)key關(guān)聯(lián)的一組中間數(shù)值集歸約為一個(gè)更小的數(shù)值集,輸出最終的計(jì)算結(jié)果。
2.2.1 MapReduce執(zhí)行機(jī)制[1-3]
通過將Map調(diào)用的輸入數(shù)據(jù)自動分割為M個(gè)數(shù)據(jù)片段的集合,Map被分布到多臺機(jī)器上調(diào)用執(zhí)行。輸入的數(shù)據(jù)片段能夠在不同的機(jī)器上并行處理。使用分區(qū)函數(shù)將Map調(diào)用產(chǎn)生的中間key值分成R個(gè)不同分區(qū),Reduce調(diào)用也被分布到多臺機(jī)器上執(zhí)行。分區(qū)數(shù)量和分區(qū)函數(shù)由用戶來指定。
⑴ 計(jì)算程序首先調(diào)用的MapReduce庫將輸入文件分成M個(gè)數(shù)據(jù)片段,每個(gè)數(shù)據(jù)片段的大小一般從 16MB到64MB(可以通過備選參數(shù)來控制每個(gè)數(shù)據(jù)片段的大小)。然后計(jì)算程序在機(jī)群中創(chuàng)建大量的程序副本。
⑵ 這些程序副本中有一個(gè)特殊的程序-master。副本中其他程序都是worker程序,由master分配任務(wù)。有M個(gè)map任務(wù)和R個(gè)reduce任務(wù)將被分配,master將一個(gè)map任務(wù)或reduce任務(wù)分配給一個(gè)空閑的worker。
⑶ 被分配了map任務(wù)的worker程序讀取相關(guān)的輸入數(shù)據(jù)片段,從輸入的數(shù)據(jù)片段中解析出key/value對,然后把key/value對傳遞給計(jì)算程序自定義的map函數(shù),由map函數(shù)生成并輸出的中間key/value對,并緩存在內(nèi)存中。
⑷ 緩存中的key/value對通過分區(qū)函數(shù)分成R個(gè)區(qū)域,之后周期性的寫入到本地磁盤上。緩存的key/value對在本地磁盤上的存儲位置將被回傳給master,由master負(fù)責(zé)把這些存儲位置再傳送給reduce worker。
⑸ 當(dāng)reduce worker程序接收到master程序發(fā)來的數(shù)據(jù)存儲位置信息后,使用RPC從map worker所在主機(jī)的磁盤上讀取這些緩存數(shù)據(jù)。當(dāng)reduce worker讀取了所有的中間數(shù)據(jù)后,通過對key進(jìn)行排序后使得具有相同key值的數(shù)據(jù)聚合在一起。由于許多不同的key值會映射到相同的reduce任務(wù)上,因此必須進(jìn)行排序。如果中間數(shù)據(jù)太大無法在內(nèi)存中完成排序,那么就要在外部進(jìn)行排序。
⑹ reduce worker程序遍歷排序后的中間數(shù)據(jù),對于每一個(gè)惟一的中間key值,reduce worker程序?qū)⑦@個(gè)key值和它相關(guān)的中間value值的集合傳遞給用戶自定義的reduce函數(shù)。reduce函數(shù)的輸出被追加到所屬分區(qū)的輸出文件。
⑺ 當(dāng)所有的map和reduce任務(wù)都完成之后,master喚醒計(jì)算程序。在這個(gè)時(shí)候,在計(jì)算程序里的對MapReduce調(diào)用才返回。
2.2.2 結(jié)果數(shù)據(jù)的處理
在成功完成任務(wù)之后,MapReduce的輸出存放在R個(gè)輸出文件中(對應(yīng)每個(gè)Reduce任務(wù)產(chǎn)生一個(gè)輸出文件,文件名由用戶指定)。如果這些輸出不是最終的業(yè)務(wù)計(jì)算結(jié)果,則不需要將這R個(gè)輸出文件合并成一個(gè)文件,而是把這些文件作為另外一個(gè)MapReduce的輸入,或者在另外一個(gè)可以處理多個(gè)分割文件的分布式應(yīng)用中使用。
當(dāng)?shù)贸鲎罱K的業(yè)務(wù)計(jì)算結(jié)果,可能需要將數(shù)據(jù)遷移到適合業(yè)務(wù)應(yīng)用訪問的存儲中,比如關(guān)系型數(shù)據(jù)庫或支持高并發(fā)、低響應(yīng)延遲的NOSQL數(shù)據(jù)庫中。
3 節(jié)點(diǎn)故障處理機(jī)制
作為一個(gè)分布式計(jì)算平臺必須要能很好地處理節(jié)點(diǎn)故障,不能因?yàn)槟骋粋€(gè)節(jié)點(diǎn)的故障而導(dǎo)致整個(gè)集群的計(jì)算任務(wù)失敗。對于任務(wù)本身因?yàn)榇a缺陷造成的執(zhí)行失敗,當(dāng)任務(wù)執(zhí)行次數(shù)超過一定閾值后便不再執(zhí)行,不列為節(jié)點(diǎn)故障問題。
3.1 中心節(jié)點(diǎn)故障
中心節(jié)點(diǎn)分布式框架中存在worker和master兩類節(jié)點(diǎn)角色。
3.1.1 worker故障
master周期性地ping每個(gè)worker。如果在一個(gè)約定的時(shí)間范圍內(nèi)沒有收到worker返回的信息,master將把這個(gè)worker標(biāo)記為失效。所有由這個(gè)失效的worker完成的map任務(wù)被重設(shè)為初始的空閑狀態(tài),之后這些任務(wù)就可以被安排給其他的worker。同樣,worker失效時(shí)正在運(yùn)行的map或reduce任務(wù)也將被重新置為空閑狀態(tài),等待重新調(diào)度[2]。
當(dāng)worker故障時(shí),由于已經(jīng)完成的map任務(wù)的輸出存儲在這臺機(jī)器上,map任務(wù)的輸出已不可訪問了,因此必須重新執(zhí)行。而已經(jīng)完成的reduce任務(wù)的輸出存儲在全局文件系統(tǒng)上,因此不需要再次執(zhí)行。
當(dāng)一個(gè)map任務(wù)首先被worker A執(zhí)行,之后由于worker A失效了,又被調(diào)度到worker B執(zhí)行,這個(gè)“重新執(zhí)行”的動作會通知給所有執(zhí)行reduce任務(wù)的worker。任何還沒有從worker A讀取數(shù)據(jù)的reduce任務(wù)將從worker B讀取數(shù)據(jù)。
MapReduce可以處理大規(guī)模worker失效的情況,MapReduce master只需要簡單地再次執(zhí)行那些不可訪問的worker的工作,之后繼續(xù)執(zhí)行未完成的任務(wù),直到最終完成這個(gè)MapReduce操作。
3.1.2 mastre故障
一個(gè)簡單的解決辦法是,讓master周期性的將描述集群計(jì)算任務(wù)的數(shù)據(jù)結(jié)構(gòu)的寫入磁盤(位于集群以外的位置),即檢查點(diǎn)(checkpoint)。如果這個(gè)master任務(wù)失效了,可以從最后一個(gè)檢查點(diǎn)(checkpoint)開始啟動另一個(gè)master進(jìn)程。然而,由于只有一個(gè)master進(jìn)程,master失效后再恢復(fù)是比較麻煩的,因此我們現(xiàn)在的實(shí)現(xiàn)是,如果master失效就中止MapReduce運(yùn)算。客戶可以檢查到這個(gè)狀態(tài),并且可以根據(jù)需要重新執(zhí)行MapReduce操作[2]。
當(dāng)用戶提供的map和reduce操作是輸入確定性函數(shù)(即相同的輸入產(chǎn)生相同的輸出)時(shí),我們的分布式計(jì)算任務(wù)在任何情況下的輸出都和所有程序以正常的順序執(zhí)行所產(chǎn)生的輸出是一樣的。
3.2 省級分節(jié)點(diǎn)故障
基于全局分布式框架的計(jì)算模型,如果省級分節(jié)點(diǎn)發(fā)生故障,則該省的數(shù)據(jù)將缺失(主要是影響動態(tài)感知數(shù)據(jù)),和該省相關(guān)的數(shù)據(jù)計(jì)算任務(wù)都將失敗。但不會影響其他省與中心節(jié)點(diǎn)之間的業(yè)務(wù),中心節(jié)點(diǎn)仍能保持絕大部分的業(yè)務(wù)服務(wù)能力。
省級分節(jié)點(diǎn)需要具備一定的冗災(zāi)機(jī)制,比如數(shù)據(jù)庫HA、數(shù)據(jù)備份,以應(yīng)對分節(jié)點(diǎn)故障,保證分節(jié)點(diǎn)的不間斷運(yùn)行。同時(shí)在省級分節(jié)點(diǎn)和中心節(jié)點(diǎn)之間的網(wǎng)絡(luò)設(shè)施上也應(yīng)該有一定的冗余,以應(yīng)對突發(fā)事件。
4 應(yīng)用場景
以下論述船聯(lián)網(wǎng)兩級分布式計(jì)算框架的應(yīng)用場景,以及在各個(gè)場景下集群的計(jì)算擴(kuò)展能力。
4.1 跨省船舶監(jiān)控
船聯(lián)網(wǎng)要求實(shí)現(xiàn)跨省船舶實(shí)現(xiàn)聯(lián)網(wǎng)監(jiān)控,比如A省船舶進(jìn)入B省區(qū)域,B省應(yīng)能夠立即獲取到該船舶的基本信息和動態(tài)感知數(shù)據(jù)(如GPS)。
在船聯(lián)網(wǎng)分布式計(jì)算框架下,當(dāng)有船舶跨省行駛,船舶所屬省的省級分節(jié)點(diǎn)將率先監(jiān)控到這一行為,分節(jié)點(diǎn)會查詢該船只的基本信息和簽證信息,然后通知中心節(jié)點(diǎn),并開始向中心節(jié)點(diǎn)持續(xù)發(fā)送該船只的動態(tài)感知數(shù)據(jù)。中心節(jié)點(diǎn)得到信息后,更新該船只的狀態(tài)信息,然后聯(lián)系船舶進(jìn)入的目的省所在的省級分節(jié)點(diǎn),將船舶基本信息、動態(tài)數(shù)據(jù)也發(fā)送給目的省分節(jié)點(diǎn)。當(dāng)船只返回原籍或駛?cè)肫渌》荩瑒t中心節(jié)點(diǎn)變更推送的目的分節(jié)點(diǎn)。如此一來,跨省船舶的信息在中心節(jié)點(diǎn)和目的省都可以查詢和監(jiān)控,在保證集群線性擴(kuò)展能力的前提下完成了跨省船舶的監(jiān)控跟蹤。
4.2 航運(yùn)數(shù)據(jù)質(zhì)量分布式管控
智能航運(yùn)首先需要按照一個(gè)統(tǒng)一的數(shù)據(jù)標(biāo)準(zhǔn)校驗(yàn)其數(shù)據(jù)質(zhì)量,通過校驗(yàn)的數(shù)據(jù)才能應(yīng)用于應(yīng)用服務(wù)。同時(shí),船聯(lián)網(wǎng)也需要一套持續(xù)可行的數(shù)據(jù)質(zhì)量管理機(jī)制,保證后續(xù)數(shù)據(jù)處理的規(guī)范性。
通過智能航運(yùn)數(shù)據(jù)處理的分布式彈性計(jì)算框架,可以采取分而治之的方式達(dá)到數(shù)據(jù)質(zhì)量的管控,同時(shí)也能保證整體架構(gòu)的擴(kuò)展性。中心節(jié)點(diǎn)制定數(shù)據(jù)質(zhì)量管控的規(guī)范,下發(fā)數(shù)據(jù)標(biāo)準(zhǔn)到各個(gè)省級分節(jié)點(diǎn)。省級分節(jié)點(diǎn)按照數(shù)據(jù)標(biāo)準(zhǔn)校驗(yàn)并清洗自己負(fù)責(zé)的部分,轉(zhuǎn)換為符合要求的數(shù)據(jù)結(jié)構(gòu),然后將結(jié)果數(shù)據(jù)和數(shù)據(jù)質(zhì)量處理報(bào)告上報(bào)給中心節(jié)點(diǎn)。如果省級分節(jié)點(diǎn)持續(xù)增加,數(shù)據(jù)在達(dá)到一定規(guī)模限制后中心節(jié)點(diǎn)也可以借助自身的中心分布式框架進(jìn)行計(jì)算擴(kuò)展。
4.3 海量航運(yùn)數(shù)據(jù)挖掘分析
隨著海量航運(yùn)數(shù)據(jù)的集中,為挖掘數(shù)據(jù)的內(nèi)在價(jià)值,需要對這些業(yè)務(wù)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析和數(shù)據(jù)挖掘,如預(yù)測建模、關(guān)聯(lián)分析、數(shù)據(jù)聚類、異常檢測等。進(jìn)行海量航運(yùn)數(shù)據(jù)挖掘分析時(shí),兩級分布式計(jì)算框架通過全局分布式保證了挖掘模型樣本的數(shù)據(jù)質(zhì)量,然后在中心分布式框架上完成挖掘分析計(jì)算。在中心分布式框架上可以結(jié)合mahout、R等挖掘分析軟件,更快速地完成分析模型的構(gòu)建。
5 結(jié)束語
兩級分布式計(jì)算平臺的設(shè)計(jì)體系可以在滿足當(dāng)前智能航運(yùn)數(shù)據(jù)處理要求的情況下,充分考慮到今后航運(yùn)信息化發(fā)展中數(shù)據(jù)爆炸性增長時(shí)的計(jì)算擴(kuò)展要求。雖然在初期,整個(gè)分布式計(jì)算平臺的建設(shè)需要一定的投入(涉及多個(gè)省市以及中心節(jié)點(diǎn)的建設(shè)),但由于具備良好的線性擴(kuò)展能力,今后的集群擴(kuò)展成本將非常可控:平臺不需要更換升級,只要不斷增加節(jié)點(diǎn),即可以提供不斷增長的計(jì)算能力。隨著具體計(jì)算需求的落地和實(shí)現(xiàn),智能航運(yùn)分布式計(jì)算平臺將充分挖掘航運(yùn)數(shù)據(jù)中的價(jià)值,為航運(yùn)業(yè)務(wù)應(yīng)用提供更好的數(shù)據(jù)支撐和運(yùn)算服務(wù)。
參考文獻(xiàn):
[1] L?mmel R. Google's MapReduce programming model―Revisited[J].Science of computer programming,2008.70(1): 1-30
[2] Dean J, Ghemawat S. MapReduce: simplified data processing on
large clusters[J]. Communications of the ACM,2008.51(1):107-113
[3] Urbani J, Kotoulas S, Oren E, et al. Scalable distributed reasoning
using mapreduce[M]//The Semantic Web-ISWC 2009. Springer Berlin Heidelberg,2009:634-649
關(guān)鍵詞:物聯(lián)網(wǎng)技術(shù);云計(jì)算;分布式緩存;部署方式;功能架構(gòu)
中圖分類號:TP3 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2017)05-0243-01
1 前言
物聯(lián)網(wǎng)技術(shù)是在計(jì)算機(jī)、互聯(lián)網(wǎng)和移動通信網(wǎng)相繼應(yīng)用之后的又一次通訊產(chǎn)業(yè)的巨大變革,通過信息傳輸和處理技術(shù),實(shí)現(xiàn)了大范圍內(nèi)的物體之間的信息交互。該技術(shù)能夠更好的協(xié)助工作人員和用戶實(shí)現(xiàn)對于物理世界的管理。云計(jì)算中的分布式緩存技術(shù)具有處理能力大、系統(tǒng)容量大、擴(kuò)展性好和穩(wěn)定性強(qiáng)等優(yōu)勢,在物聯(lián)網(wǎng)中有著廣闊的應(yīng)用前景。
2 物聯(lián)網(wǎng)技術(shù)
根據(jù)現(xiàn)在較為通用的定義,物聯(lián)網(wǎng)是指通過射頻識別(RFID)、紅外感應(yīng)器、全球定位系統(tǒng)、激光掃描器等信息傳感設(shè)備,按約定的協(xié)議,把任何物品與互聯(lián)網(wǎng)連接起來,進(jìn)行信息交換和通信,以實(shí)現(xiàn)智能化識別、定位、跟蹤、監(jiān)控和管理的一種網(wǎng)絡(luò)。簡而言之,物聯(lián)網(wǎng)就是“物物相連的互聯(lián)網(wǎng)”,其核心和基礎(chǔ)仍是互聯(lián)網(wǎng),是在互聯(lián)網(wǎng)基礎(chǔ)上延伸和擴(kuò)展的網(wǎng)絡(luò),其用戶端延伸和擴(kuò)展到了任何物品與物品之間的信息交換和通信。物聯(lián)網(wǎng)產(chǎn)業(yè)覆蓋了傳感感知、傳輸通道、運(yùn)算處理、行業(yè)應(yīng)用等領(lǐng)域,其中涉及的技術(shù)包括RFID射頻識別、傳感器、無線網(wǎng)絡(luò)傳輸、高性能計(jì)算、智能控制等。
3 云計(jì)算分布式緩存技術(shù)
3.1 分布式緩存技術(shù)功能架構(gòu)分析
分布式緩存從本質(zhì)上來說屬于一個(gè)應(yīng)用程序,在該程序中用戶能夠得到多個(gè)數(shù)據(jù)節(jié)點(diǎn)傳輸?shù)募悍?wù)信息,并于數(shù)據(jù)服務(wù)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)交互,在用戶提出數(shù)據(jù)存取請求之后,能夠通過特定算法映射在指定的數(shù)據(jù)服務(wù)節(jié)點(diǎn)上。分布式緩存技術(shù)功能架構(gòu)主要有三部分:通信支撐層、數(shù)據(jù)存取層和數(shù)據(jù)處理層。其中通信支撐層的主要功能是實(shí)現(xiàn)通信協(xié)議,具體來看是依據(jù)路由連接管理區(qū)域的分布進(jìn)行數(shù)據(jù)建聯(lián)和偵聽窗口建立;數(shù)據(jù)處理層的主要功能是訪問控制處理、管理鏈路和控制數(shù)據(jù)遷移;數(shù)據(jù)存儲層的主要功能是管理系統(tǒng)中的數(shù)據(jù),主要有內(nèi)存、SSD和硬盤三級管理機(jī)制,其中內(nèi)存管理能夠分配內(nèi)存的分配情況,依據(jù)實(shí)施訪問數(shù)據(jù)量進(jìn)行內(nèi)存空間的釋放和關(guān)閉,能夠在一定程度上避免內(nèi)存碎片導(dǎo)致系統(tǒng)效率降低;SSD和硬盤管理主要負(fù)責(zé)服務(wù)器訪問過程中產(chǎn)生的永久數(shù)據(jù)的保存。在這樣的三級管理機(jī)制下,能夠保證系統(tǒng)在重啟或者關(guān)機(jī)的過程中仍然保持?jǐn)?shù)據(jù)的連續(xù)性,避免數(shù)據(jù)丟失和惡意修改。
3.2 分布式緩存技術(shù)部署方式分析
分布式緩存的服務(wù)器集群主要采用無主架構(gòu),由于服務(wù)器的節(jié)點(diǎn)地位相同,因此,可以利用網(wǎng)狀的全連接方式進(jìn)行連接。為保證系統(tǒng)的使用方便,可以利用API進(jìn)行數(shù)據(jù)透明訪問,采取這樣的部署方式能夠降低分析數(shù)據(jù)在后端服務(wù)節(jié)點(diǎn)分布情況的計(jì)算量,能夠極大的提高系統(tǒng)的處理效率。與此同時(shí),分布式緩存集群的處理能力與集群中數(shù)據(jù)節(jié)點(diǎn)的規(guī)模相關(guān),隨著緩存數(shù)據(jù)在集群中各節(jié)點(diǎn)分布量的增加,稻荽理能力也會隨之提升。采用這樣一種數(shù)據(jù)緩存分布模式的另一個(gè)優(yōu)勢在于用戶可以在任意服務(wù)點(diǎn)登錄系統(tǒng),系統(tǒng)提供了一個(gè)靈活性較高的操作控制臺,在這樣一個(gè)控制臺中,可以進(jìn)行集群服務(wù)節(jié)點(diǎn)數(shù)據(jù)的查閱,也可容易通過該平臺進(jìn)行集群軟件的安裝和更新。
3.3 分布式緩存技術(shù)的優(yōu)勢
云計(jì)算中分布式緩存的主要優(yōu)勢體現(xiàn)在整體架構(gòu)的擴(kuò)展性能較強(qiáng),一旦出現(xiàn)系統(tǒng)性能不足以滿足數(shù)據(jù)處理和訪問的需要,只需要增加新的節(jié)點(diǎn),就能較為簡便的完成框架性能的提升。分布式緩存的這一優(yōu)勢使得系統(tǒng)容量能有隨著節(jié)點(diǎn)的增加而增加。與此同時(shí),單個(gè)節(jié)點(diǎn)的訪問量高峰時(shí)能夠達(dá)到20萬次/秒,分布式緩存為了在單點(diǎn)出現(xiàn)故障的情況下,仍能保證系統(tǒng)的完整性,采用了多副本復(fù)制技術(shù),同時(shí)考慮到該項(xiàng)技術(shù)中使用的一致性Hash分布算法和無主結(jié)構(gòu)框架,大大提升了系統(tǒng)的抗干擾能力,保證系統(tǒng)運(yùn)行的穩(wěn)定性。
4 云計(jì)算分布式緩存技術(shù)在物聯(lián)網(wǎng)中的應(yīng)用
物聯(lián)網(wǎng)技術(shù)是一項(xiàng)革命性的技術(shù),是對傳統(tǒng)信息通訊技術(shù)的巨大挑戰(zhàn),物聯(lián)網(wǎng)技術(shù)在日常生活和工作中無處不在,它在人與人信息交互的基礎(chǔ)上,創(chuàng)造性地提出了物體之間的數(shù)據(jù)傳輸和交流。但是這樣規(guī)模的數(shù)據(jù)傳輸,需要處理和存儲海量的數(shù)據(jù),對現(xiàn)有的數(shù)據(jù)緩存和處理技術(shù)提出了新的要求。另一方面,物聯(lián)網(wǎng)技術(shù)不僅能夠處理標(biāo)準(zhǔn)協(xié)議終端之間的信息傳遞需要,同時(shí)滿足非標(biāo)準(zhǔn)協(xié)議終端之間的業(yè)務(wù)授權(quán)操作,這就要求網(wǎng)關(guān)業(yè)務(wù)必須要保持非常好的連通性和抗干擾性。結(jié)合上文中對于云計(jì)算分布式緩存技術(shù)的分析,認(rèn)為該技術(shù)能夠很好的滿足現(xiàn)在即將來物聯(lián)網(wǎng)技術(shù)對于海量數(shù)據(jù)處理和存儲的要求。應(yīng)用該技術(shù),能夠很好的提升系統(tǒng)在高數(shù)據(jù)吞吐量條件下的處理速度和穩(wěn)定性,提升物聯(lián)網(wǎng)中高水平的并發(fā)處理能力,增強(qiáng)動態(tài)數(shù)據(jù)遷移的需要。更為重要的是,在物聯(lián)網(wǎng)擴(kuò)容的時(shí)候,只需要經(jīng)過簡單的操作,就能夠增加數(shù)據(jù)節(jié)點(diǎn),從而提升系統(tǒng)容量和處理速度。在某一個(gè)節(jié)點(diǎn)出現(xiàn)問題的情況下,也能維持系統(tǒng)的正常運(yùn)轉(zhuǎn),正在處理的業(yè)務(wù)不會中斷,數(shù)據(jù)也早已進(jìn)行備份,避免了數(shù)據(jù)的丟失。
5 結(jié)語
物聯(lián)網(wǎng)的發(fā)展和云計(jì)算的興起有著非常緊密的聯(lián)系,物聯(lián)網(wǎng)包含了各類物體實(shí)體的信息,如果沒有高效的存儲方式和快速的處理系統(tǒng),就無法實(shí)現(xiàn)物聯(lián)網(wǎng)的大部分功能。云計(jì)算技術(shù)為物聯(lián)網(wǎng)中數(shù)據(jù)的存儲和樹立提供了技術(shù)支持,將分布式緩存技術(shù)應(yīng)用到物聯(lián)網(wǎng)中,能夠大幅提升網(wǎng)絡(luò)的效率,提升社會生產(chǎn)力。
參考文獻(xiàn):
[1] 李爽. 基于云計(jì)算的物聯(lián)網(wǎng)技術(shù)研究[D]. 安徽大學(xué), 2014.
正是在這樣的需求、技術(shù)、應(yīng)用和政策的背景下,云計(jì)算成為IT業(yè)界共同認(rèn)可的主流聲音。云計(jì)算其實(shí)就是把所有的計(jì)算應(yīng)用和信息資源都用網(wǎng)絡(luò)連接起來,供個(gè)人和應(yīng)用隨時(shí)訪問、管理和使用。云計(jì)算服務(wù)提供資源,包括計(jì)算、存儲及網(wǎng)絡(luò)資源,需要能夠?qū)崿F(xiàn)海量的存儲、出色的安全性和可靠性;云計(jì)算提供的服務(wù)應(yīng)該是動態(tài)的、可擴(kuò)展的,能夠根據(jù)用戶和應(yīng)用的規(guī)模進(jìn)行動態(tài)伸縮,并且這種伸縮所需要的時(shí)間是短暫、迅速的;云計(jì)算平臺應(yīng)該能夠提供開發(fā)應(yīng)用程序編程接口(API)、環(huán)境和工具,供各種應(yīng)用進(jìn)行使用。只有這樣云計(jì)算平臺才能夠和應(yīng)用很好地結(jié)合起來,使得傳統(tǒng)的集中式應(yīng)用方便地遷移成高性能、高可靠且易擴(kuò)展的分布式的云計(jì)算應(yīng)用,為用戶提供類型多樣的云服務(wù)。
云計(jì)算是物聯(lián)網(wǎng)發(fā)展的基礎(chǔ)?;ヂ?lián)網(wǎng)主要解決人與人的互聯(lián),連接了虛擬與真實(shí)的空間;而物聯(lián)網(wǎng)主要解決的是物與物之間的互聯(lián),連接了現(xiàn)實(shí)與物理世界。物聯(lián)網(wǎng)是以互聯(lián)網(wǎng)的發(fā)展為前提的。隨著物聯(lián)網(wǎng)應(yīng)用的發(fā)展、終端數(shù)量的增長,會產(chǎn)生非常龐大的數(shù)據(jù)流,這時(shí)就需要一個(gè)非常強(qiáng)大的信息處理中心。傳統(tǒng)的信息處理中心是難以滿足這種計(jì)算需求的,在應(yīng)用層就需要引入云計(jì)算中心處理海量信息,進(jìn)行輔助決策。云計(jì)算作為一種虛擬化、分布式和并行計(jì)算的解決方案,可以為物聯(lián)網(wǎng)提供高效的計(jì)算能力、海量的存儲能力,為泛在鏈接的物聯(lián)網(wǎng)提供網(wǎng)絡(luò)引擎和支撐。
1 分布式緩存的發(fā)展
在互聯(lián)網(wǎng)應(yīng)用剛起步時(shí),各種平臺大多采用的是關(guān)系型數(shù)據(jù)庫。那時(shí)PC機(jī)昂貴、性能低下并且網(wǎng)絡(luò)不普及,而關(guān)系型數(shù)據(jù)庫因?yàn)樘幚砟芰?qiáng)、數(shù)據(jù)安全可靠、一致性好等優(yōu)勢,一直處于主導(dǎo)地位,并發(fā)揮了重要的作用。隨著互聯(lián)網(wǎng)的發(fā)展,特別是WEB 2.0等交互式、個(gè)性化應(yīng)用的出現(xiàn),數(shù)據(jù)量急劇增加,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫已經(jīng)無法滿足這種快速增長的存儲需求。為此不少IT服務(wù)提供商都設(shè)計(jì)開發(fā)了自己的存儲系統(tǒng),如亞馬遜在2007年10月份開發(fā)出的Dynamo就是其中非常典型的一種存儲系統(tǒng)(如圖1所示),作為狀態(tài)管理組件和存儲服務(wù)的基礎(chǔ)被用于眾多的亞馬遜的系統(tǒng)中。
對于Google,Amazon,淘寶這樣的互聯(lián)網(wǎng)企業(yè),每時(shí)每刻都有無數(shù)的用戶在使用它們提供的互聯(lián)網(wǎng)服務(wù),這些服務(wù)帶來的是大量的數(shù)據(jù)吞吐量,在同一時(shí)間,并發(fā)的會有成千上萬的連接對數(shù)據(jù)庫進(jìn)行操作。在這種情況下,單臺服務(wù)器或者幾臺服務(wù)器遠(yuǎn)遠(yuǎn)不能滿足這些數(shù)據(jù)的處理需求,單靠提升服務(wù)器性也已經(jīng)改變不了該情況,所以唯一可以采用的辦法就是擴(kuò)展服務(wù)器的規(guī)模。服務(wù)器規(guī)模擴(kuò)展通常有兩種方法:一種是仍然采用關(guān)系型數(shù)據(jù)庫,然后通過對數(shù)據(jù)庫的垂直和水平切割將整個(gè)數(shù)據(jù)庫部署到一個(gè)集群上,這種方法的優(yōu)點(diǎn)在于可以采用基于關(guān)系型數(shù)據(jù)庫(RDBMS)的技術(shù),但缺點(diǎn)在于它是針對特定應(yīng)用,實(shí)施非常困難;另外一種方法就是Google和Amazon所采用的方法,拋棄關(guān)系型數(shù)據(jù)庫,采用Key-Value形式的存儲,這樣可以極大地增強(qiáng)系統(tǒng)的可擴(kuò)展性。事實(shí)上,基于Key-Value的分布式緩存就是由于Google的BigTable,Amazon的Dynamo以及Facebook的Cassandra等相關(guān)論文的發(fā)表而慢慢進(jìn)入人們的視野,這些互聯(lián)網(wǎng)巨頭在分布式緩存上的成功實(shí)踐也使之成為了云計(jì)算的核心技術(shù)。
2 分布式緩存技術(shù)
2.1 分布式緩存的部署方式
緩存服務(wù)器集群采用無主架構(gòu),所有服務(wù)器節(jié)點(diǎn)地位完全一致,互相之間采用網(wǎng)狀的全連接方式。應(yīng)用通過調(diào)用分布式緩存提供的API對數(shù)據(jù)進(jìn)行透明訪問,無需關(guān)心數(shù)據(jù)在后端服務(wù)節(jié)點(diǎn)的分布情況。數(shù)據(jù)在集群各節(jié)點(diǎn)均勻分布,集群數(shù)據(jù)處理能力隨集群中節(jié)點(diǎn)數(shù)量的擴(kuò)充呈線性增長。集群通過數(shù)據(jù)的多副本機(jī)制能夠提高系統(tǒng)的可用性,某幾臺服務(wù)節(jié)點(diǎn)的宕機(jī)對應(yīng)用的數(shù)據(jù)訪問沒有任何影響。服務(wù)器節(jié)點(diǎn)能夠根據(jù)應(yīng)用的需求靈活配置數(shù)據(jù)是否持久化存儲。
分布式緩存同時(shí)提供操作控制臺,能夠登錄到任何一個(gè)服務(wù)節(jié)點(diǎn)并對集群的成員關(guān)系、訪問負(fù)荷、數(shù)據(jù)分布進(jìn)行監(jiān)控和配置,同時(shí)通過操作維護(hù)臺可以完成分布式緩存集群軟件版本的安裝、升級和配置。目前分布式緩存提供基于命令行(telnet登錄)和基于B/S的圖形化運(yùn)維方式。分布式緩存系統(tǒng)的具體部署如圖2所示。
2.2 分布式緩存功能架構(gòu)
分布式緩存為應(yīng)用程序提供了客戶端程序庫以及若干數(shù)據(jù)服務(wù)節(jié)點(diǎn)組成的服務(wù)集群,客戶端通過和數(shù)據(jù)服務(wù)節(jié)點(diǎn)通信形成可用服務(wù)器列表,并將應(yīng)用程序提交的存取請求通過路由算法映射到一個(gè)確定的數(shù)據(jù)服務(wù)節(jié)點(diǎn)上,具體的功能架構(gòu)如圖3中所示。
數(shù)據(jù)服務(wù)節(jié)點(diǎn)主要分成3個(gè)層次:通信支撐層、數(shù)據(jù)處理層和數(shù)據(jù)存取層。
通信支撐層主要負(fù)責(zé)通信協(xié)議適配,根據(jù)數(shù)據(jù)處理層中路由鏈路管理模塊的指示進(jìn)行端口的偵聽和主動建鏈,同時(shí)完成底層通信數(shù)據(jù)包的發(fā)送和接收。
數(shù)據(jù)處理層包括路由鏈路管理模塊、訪問控制處理模塊以及數(shù)據(jù)遷移控制模塊。
數(shù)據(jù)存儲層提供內(nèi)存/SSD/硬盤介質(zhì)的三級存儲管理,具體可以根據(jù)應(yīng)用的要求進(jìn)行不同的配置。內(nèi)存管理關(guān)注內(nèi)存分配的效率以及如何避免內(nèi)存碎片的形成,并根據(jù)數(shù)據(jù)訪問頻度進(jìn)行最近最少使用算法(LRU)控制。SSD和硬盤存儲模式在保證訪問性能的同時(shí)提供數(shù)據(jù)的持久化存儲,在這兩種存儲模式下數(shù)據(jù)不會隨著服務(wù)節(jié)點(diǎn)重新啟動而丟失。數(shù)據(jù)存儲層提供數(shù)據(jù)生存期管理機(jī)制,能夠自動清理過期數(shù)據(jù)。
2.3 分布式緩存關(guān)鍵技術(shù)
分布式緩存在保證數(shù)據(jù)訪問可靠性、最終一致性的同時(shí)對應(yīng)用提供高吞吐、低時(shí)延的訪問服務(wù),通過增加數(shù)據(jù)服務(wù)節(jié)點(diǎn)即能實(shí)現(xiàn)處理能力的性能擴(kuò)充,擴(kuò)容過程對應(yīng)用訪問完全透明。下面對分布式緩存涉及的關(guān)鍵技術(shù)進(jìn)行介紹。
2.3.1 NRW多副本機(jī)制
分布式緩存通過多副本機(jī)制實(shí)現(xiàn)數(shù)據(jù)訪問的可靠性,同時(shí)多個(gè)副本之間的數(shù)據(jù)同步又會帶來性能和一致性的問題。我們采用NRW多副本技術(shù)來保證數(shù)據(jù)在可靠性、高性能訪問以及最終一致性之間取得平衡。圖4是NRW機(jī)制的示意圖,其中N是一個(gè)數(shù)據(jù)的副本數(shù),R代表一次成功的讀取操作中最小參與節(jié)點(diǎn)數(shù)量,W代表一次成功的寫操作中最小參與節(jié)點(diǎn)數(shù)量。當(dāng)分布式緩存的訪問模型滿足R+W >N時(shí)就能保證數(shù)據(jù)訪問的可靠性和一致性。
R和W直接影響性能、可用性和一致性。如果W設(shè)置 為 1,則分布式緩存集群中只要有一個(gè)節(jié)點(diǎn)可用,就不會影響寫操作;如果R 設(shè)置為1,則分布式緩存集群中只要有一個(gè)節(jié)點(diǎn)可用,就不會影響讀請求。但顯而易見R 和W值過小都會對影響數(shù)據(jù)訪問的性能和可用性,為兼顧性能、可用性和一致性,這兩個(gè)值一定要合理設(shè)置。
2.3.2 一致性Hash和虛節(jié)點(diǎn)
一致性Hash需要首先求出分布式緩存數(shù)據(jù)服務(wù)器(節(jié)點(diǎn))的哈希值,并將其配置到0~232的圓上,用同樣的方法求出存儲數(shù)據(jù)的鍵的哈希值,并映射到圓上。然后從數(shù)據(jù)映射到的位置開始順時(shí)針查找,將數(shù)據(jù)保存到找到的第一個(gè)服務(wù)器上。如果超過232仍然找不到服務(wù)器,就會保存到第一臺緩存數(shù)據(jù)服務(wù)器上。因?yàn)閿?shù)據(jù)節(jié)點(diǎn)服務(wù)器的機(jī)型并不統(tǒng)一,其性能和容量是不同的,可以使一個(gè)物理節(jié)點(diǎn)負(fù)責(zé)多個(gè)Hash區(qū)間的處理,使高端機(jī)器能夠被充分利用。在出現(xiàn)熱區(qū)時(shí),可以將過熱的Hash區(qū)間以虛擬節(jié)點(diǎn)的方式放在負(fù)荷較低的物理節(jié)點(diǎn)上。
分布式緩存平臺結(jié)合了一致性Hash和虛擬節(jié)點(diǎn)的特點(diǎn)并加以改進(jìn),形成了如圖5的方案:將232的Hash空間等分為若干分片,每個(gè)分片即是一個(gè)虛節(jié)點(diǎn),根據(jù)各物理節(jié)點(diǎn)性能差異配置處理不同數(shù)量的虛節(jié)點(diǎn),這些虛節(jié)點(diǎn)在物理節(jié)點(diǎn)上的部署關(guān)系即形成虛節(jié)點(diǎn)的路由。
通過一致性Hash和虛節(jié)點(diǎn)相結(jié)合的方式,實(shí)現(xiàn)了數(shù)據(jù)在集群的均勻分布,同時(shí)也實(shí)現(xiàn)了數(shù)據(jù)服務(wù)器節(jié)點(diǎn)熱點(diǎn)的消除。
2.3.3 智能路由交換
路由是指分布式緩存集群中虛節(jié)點(diǎn)在數(shù)據(jù)服務(wù)節(jié)點(diǎn)上的分布情況。分布式緩存平臺構(gòu)建了一個(gè)分布式鎖同步系統(tǒng)來存放全局路由表,這張路由表是分布緩存集群路由管理的基準(zhǔn)表,路由變更時(shí)必須要首先修改這張路由表中對應(yīng)的路由記錄。
為避免每次路由查找都需要查詢分布式鎖服務(wù),各數(shù)據(jù)服務(wù)節(jié)點(diǎn)在本地同時(shí)存儲全局路由表,路由查找時(shí)可直接在本地進(jìn)行。這樣帶來的一個(gè)問題是本地路由記錄可能已經(jīng)過期,因此在路由記錄中增加修改時(shí)間戳來進(jìn)行路由記錄版本的控制,舉例說明:
(1)第10號虛節(jié)點(diǎn)的路由信息是:存在3個(gè)副本,依次存放在服務(wù)節(jié)點(diǎn)A、B、C上,該條路由信息在集群中所有節(jié)點(diǎn)本地都有存儲。
(2)A節(jié)點(diǎn)發(fā)生故障宕機(jī),在A宕機(jī)期間,操作員對10號虛節(jié)點(diǎn)的路由記錄進(jìn)行了手工調(diào)整:仍然是3個(gè)副本,依次存放在服務(wù)器節(jié)點(diǎn)A 、D、C上,集群中除A節(jié)點(diǎn)外都完成了本地路由記錄的更新。
(3)此后A恢復(fù)了服務(wù),A節(jié)點(diǎn)本地10號虛節(jié)點(diǎn)的路由記錄成為一個(gè)過期的記錄,當(dāng)A節(jié)點(diǎn)收到落在10號虛節(jié)點(diǎn)上的數(shù)據(jù)讀寫請求時(shí),就會對B、C節(jié)點(diǎn)的副本進(jìn)行訪問,訪問時(shí)會帶上本地10號路由記錄的時(shí)間戳,B、C節(jié)點(diǎn)收到訪問請求后會立即通知A路由信息已經(jīng)過期,通過這樣的路由交換機(jī)制,A快速地完成了本地路由記錄更新。
上述例子中路由交換是通過數(shù)據(jù)訪問請求被動觸發(fā),同時(shí)集群中每個(gè)節(jié)點(diǎn)的路由管理模塊也會定時(shí)啟動路由交換,通過這種類似病毒傳染式的智能路由交換,路由變更能在集群所有節(jié)點(diǎn)中快速生效??蛻舳薃PI的路由記錄也采用同樣的方式:客戶端API本地緩存路由信息表,在數(shù)據(jù)訪問的同時(shí)完成和服務(wù)節(jié)點(diǎn)的路由交換,大大提高了路由查找的效率,降低了數(shù)據(jù)訪問的時(shí)延。
2.3.4 成員關(guān)系維護(hù)和故障檢測
分布式緩存將節(jié)點(diǎn)分成兩類:種子節(jié)點(diǎn)和普通節(jié)點(diǎn)。
種子節(jié)點(diǎn)是系統(tǒng)配置時(shí),需要預(yù)先從所有節(jié)點(diǎn)中選出若干個(gè)節(jié)點(diǎn),它們的職責(zé)是指揮系統(tǒng)的鏈路建立和拆除等。
普通節(jié)點(diǎn)啟動后,根據(jù)配置向種子節(jié)點(diǎn)主動建鏈,種子節(jié)點(diǎn)對連接上的普通節(jié)點(diǎn)進(jìn)行統(tǒng)一管理,根據(jù)一定的原則比如按照IP數(shù)值的大小,通知普通節(jié)點(diǎn)完成互相之間的建鏈,種子節(jié)點(diǎn)互相之間也根據(jù)這個(gè)原則完成兩兩之間的連接。圖6描述集群成員關(guān)系建立的過程。
(1)分布式緩存當(dāng)前有節(jié)點(diǎn)1、2、3、5共4個(gè)節(jié)點(diǎn),相互之間兩兩存在鏈路,節(jié)點(diǎn)1、2是種子節(jié)點(diǎn),節(jié)點(diǎn)0、3、5是普通節(jié)點(diǎn)。
(2)普通節(jié)點(diǎn)4新加入緩存集群,它首先根據(jù)配置主動連接種子節(jié)點(diǎn)1和節(jié)點(diǎn)2。
(3)種子節(jié)點(diǎn)1發(fā)現(xiàn)當(dāng)前有普通節(jié)點(diǎn)0、3、5和它建立了鏈路,當(dāng)普通節(jié)點(diǎn)4連接成功后,它根據(jù)節(jié)點(diǎn)大小原則指揮節(jié)點(diǎn)4連接普通節(jié)點(diǎn) 0 和3,同時(shí)指揮原有普通節(jié)點(diǎn)5連接節(jié)點(diǎn)4。
分布式緩存通過上述機(jī)制維護(hù)集群中節(jié)點(diǎn)的成員關(guān)系,最終在各節(jié)點(diǎn)間形成網(wǎng)狀的全連接模型,兩兩之間具備通信鏈路,任何節(jié)點(diǎn)故障和恢復(fù)都能夠快速被集群中其他節(jié)點(diǎn)檢測到。
3 分布式緩存助力物聯(lián)網(wǎng)平臺云化
3.1 分布式緩存的優(yōu)勢和解決的問題
分布式緩存具有明顯的技術(shù)優(yōu)勢。分布式的架構(gòu)從架構(gòu)上保證了良好的擴(kuò)展性,當(dāng)性能不夠時(shí),可以輕松地通過添加新節(jié)點(diǎn)的方法擴(kuò)展性能;因?yàn)榱己玫臄U(kuò)展性,所以分布式緩存的容量可以隨著節(jié)點(diǎn)規(guī)模的增大而呈線性增加,容量不會成為系統(tǒng)的瓶頸;分布式緩存采用的是基于Key-Value的簡單存儲方式,緩存的架構(gòu)和以內(nèi)存為基礎(chǔ)的訪問方式使得分布式緩存性能非常高,單節(jié)點(diǎn)每秒可以達(dá)到24萬多次的讀寫操作;分布式緩存所使用的多份副本復(fù)制的方法,避免單點(diǎn)故障;同時(shí)無中心化的架構(gòu)和一致性Hash的數(shù)據(jù)分布算法,使得局部節(jié)點(diǎn)的損壞不會影響整體集群的可用性,把故障的影響降到最低。
目前的應(yīng)用在部署運(yùn)行過程中常會遇到一些問題:第一,單節(jié)點(diǎn)不能滿足性能要求時(shí),需要擴(kuò)展到多個(gè)節(jié)點(diǎn),通常采用按號段的方式進(jìn)行擴(kuò)展,此種擴(kuò)展方式不具有通用性,與各個(gè)應(yīng)用密切相關(guān),開發(fā)和維護(hù)的成本也較高;第二,在不同的物理節(jié)點(diǎn)的應(yīng)用上共享數(shù)據(jù),通常通過文件的方式或同步的方式進(jìn)行共享,但是這在性能和一致性的處理上存在較大的風(fēng)險(xiǎn)和困難;第三,因?yàn)槎鄠€(gè)節(jié)點(diǎn)同時(shí)訪問數(shù)據(jù)庫,使得數(shù)據(jù)庫和磁盤I/O成為系統(tǒng)的瓶頸,通常使用單節(jié)點(diǎn)的緩存方式來解決,這樣一方面會造成系統(tǒng)資源的浪費(fèi),另一方面也使各個(gè)節(jié)點(diǎn)中緩存一致性的處理也非常復(fù)雜;第四,應(yīng)用節(jié)點(diǎn)的應(yīng)用程序意外退出重啟動后,如何保證已有的會話不掉線,往往通過寫文件的方法實(shí)現(xiàn),這時(shí)磁盤I/O以及系統(tǒng)初次的加載都存在性能瓶頸。把分布式緩存引進(jìn)應(yīng)用后,可以方便地幫助應(yīng)用解決這些問題。應(yīng)用通過調(diào)用分布式緩存提供的API接口,把關(guān)鍵的數(shù)據(jù)放到分布式緩存中,而自身重點(diǎn)關(guān)注應(yīng)用邏輯的處理,這樣可以輕松打造出高性能的、可擴(kuò)展的、高可靠的分布式應(yīng)用系統(tǒng),通過標(biāo)準(zhǔn)接口的封裝,對外提供云服務(wù)。
3.2 分布式緩存在物聯(lián)網(wǎng)中的應(yīng)用
物聯(lián)網(wǎng)的出現(xiàn)是信息通信技術(shù)(ICT)的新挑戰(zhàn)。物聯(lián)網(wǎng)無所不在,它可以使所有的物體,從洗衣機(jī)到冰箱、從房屋到汽車通過物聯(lián)網(wǎng)進(jìn)行信息交換。物聯(lián)網(wǎng)技術(shù)融入了射頻識別(RFID)技術(shù)、傳感器技術(shù)、納米技術(shù)、智能技術(shù)與嵌入技術(shù)。物聯(lián)網(wǎng)技術(shù)將是改變?nèi)藗兩詈凸ぷ鞣绞降闹匾夹g(shù)。物聯(lián)網(wǎng)主要包括3個(gè)層次,如圖7中所示。第1個(gè)層次是傳感器網(wǎng)絡(luò),也就是目前所說的包括RFID、條形碼、傳感器等設(shè)備在內(nèi)的傳感網(wǎng),主要用于信息的識別和采集;第2個(gè)層次是信息傳輸網(wǎng)絡(luò),主要用于遠(yuǎn)距離無縫傳輸來自傳感網(wǎng)所采集的巨量數(shù)據(jù)信息;第3個(gè)層次是信息應(yīng)用網(wǎng)絡(luò),該網(wǎng)絡(luò)主要通過數(shù)據(jù)處理及解決方案來提供人們所需要的信息服務(wù)。
物聯(lián)網(wǎng)業(yè)務(wù)網(wǎng)關(guān)屬于第3個(gè)層次,如圖8所示。它是實(shí)現(xiàn)物聯(lián)網(wǎng)應(yīng)用和物聯(lián)網(wǎng)終端智能連接的橋梁,能夠提供接入認(rèn)證、智能路由、業(yè)務(wù)計(jì)費(fèi)、能力接入、服務(wù)質(zhì)量(QoS)服務(wù)保障等核心功能。支持通用分組無線業(yè)務(wù)(GPRS)、短信、有線接入等多種網(wǎng)絡(luò)接入方式。物聯(lián)網(wǎng)業(yè)務(wù)網(wǎng)關(guān)匯聚所有的機(jī)器到機(jī)器(M2M)終端消息,除了支持標(biāo)準(zhǔn)協(xié)議終端的消息處理外,對非標(biāo)準(zhǔn)協(xié)議終端也提供IP層路由轉(zhuǎn)發(fā)和業(yè)務(wù)鑒權(quán)功能。因此對業(yè)務(wù)網(wǎng)關(guān)相關(guān)的性能提出了極高的要求。
中興通訊物聯(lián)網(wǎng)業(yè)務(wù)網(wǎng)關(guān)采用多模塊架構(gòu),通過引入云計(jì)算分布式緩存平臺,使其具有極高的吞吐率,保證了網(wǎng)關(guān)的高并發(fā)處理能力,系統(tǒng)在兩個(gè)刀片機(jī)框滿配置的情況下,可達(dá)到18萬條/秒的報(bào)文轉(zhuǎn)發(fā)速率。分布式緩存的應(yīng)用,使系統(tǒng)支持?jǐn)?shù)據(jù)動態(tài)遷移,在個(gè)別節(jié)點(diǎn)故障不會造成事務(wù)的中斷。
4 結(jié)束語
物聯(lián)網(wǎng)與云計(jì)算存在著密不可分的關(guān)系。一方面,物聯(lián)網(wǎng)的發(fā)展離不開云計(jì)算的支撐。從量上看,物聯(lián)網(wǎng)將使用數(shù)量驚人的傳感器(如數(shù)以億萬計(jì)的RFID、智能塵埃和視頻監(jiān)控等),采集到的數(shù)據(jù)量驚人。這些數(shù)據(jù)需要通過無線傳感網(wǎng)、寬帶互聯(lián)網(wǎng)向某些存儲和處理設(shè)施匯聚,而使用云計(jì)算分布式緩存等系列技術(shù)來承載這些任務(wù)具有非常顯著的性價(jià)比優(yōu)勢;從質(zhì)上看,使用云計(jì)算系列技術(shù)對這些數(shù)據(jù)進(jìn)行處理、分析、挖掘,可以更加迅速、準(zhǔn)確、智能地對物理世界進(jìn)行管理和控制,使人類可以更加及時(shí)、精細(xì)地管理物質(zhì)世界,從而達(dá)到“智慧”的狀態(tài),大幅提高資源利用率和社會生產(chǎn)力水平??梢钥闯?,云計(jì)算憑借其強(qiáng)大的處理能力、存儲能力和極高的性能價(jià)格比,很自然就會成為物聯(lián)網(wǎng)的后臺支撐平臺。另一方面,隨著物聯(lián)網(wǎng)針對智能交通、智能醫(yī)療、智能電網(wǎng)等領(lǐng)域解決方案的落地,物聯(lián)網(wǎng)將成為云計(jì)算最大的用戶,為云計(jì)算系列技術(shù)取得更大商業(yè)成功奠定基石。
Cloud Computing Distributed Cache Technology and Tts Application in the Internet of Things
在分布式存儲領(lǐng)域,書生云公司投下了一顆重磅“炸彈”。書生云新一代分布式存儲SurFS的爆炸性不僅體現(xiàn)在對傳統(tǒng)存儲架構(gòu)的顛覆上,更具代表性和引領(lǐng)性的是,書生云將SurFS的核心技術(shù)開源,這也讓書生云站到了開源的風(fēng)口浪尖上。
突破來得很及時(shí)
其實(shí),許多互聯(lián)網(wǎng)公司很早就開始使用分布式存儲技術(shù)。在云計(jì)算興起后,一個(gè)普遍的觀點(diǎn)是,分布式存儲技術(shù)是最適合云計(jì)算應(yīng)用的。雖然許多傳統(tǒng)企業(yè)在擁抱“互聯(lián)網(wǎng)+”的過程中,希望借鑒互聯(lián)網(wǎng)思維實(shí)現(xiàn)轉(zhuǎn)型升級,但是在互聯(lián)網(wǎng)企業(yè)那里得到成功驗(yàn)證的新技術(shù)和解決方案就一定適合企業(yè)級用戶嗎?分布式存儲能夠完全取代傳統(tǒng)SAN存儲嗎?這些問題只有在經(jīng)過更加深入的研究和實(shí)踐之后,才能找到答案。
人們已經(jīng)意識到,在云平臺的建設(shè)中,存儲和網(wǎng)絡(luò)可能是瓶頸所在。因此,軟件定義網(wǎng)絡(luò)(SDN)、軟件定義存儲(SDS)成了許多人追逐的對象。就存儲而言,傳統(tǒng)SAN的高性能、高可用、高可靠是企業(yè)級用戶所倚重的,但是SAN的高成本、高復(fù)雜度、不能橫向擴(kuò)展則是企業(yè)級用戶心中揮之不去的陰影。
在這種情況下,有人想到了“折中”的辦法,比如宏杉科技將分布式存儲技術(shù)與傳統(tǒng)SAN進(jìn)行融合,推出了CloudSAN。而書生云毫不妥協(xié)地選擇了分布式存儲的發(fā)展道路,推出了自主研發(fā)的新一代分布式存儲系統(tǒng)SurFS。
書生云董事長王東臨表示,SurFS對存儲網(wǎng)絡(luò)進(jìn)行了顛覆式的創(chuàng)新,率先采用SAS做存儲網(wǎng)絡(luò),在將帶寬提升幾十倍的同時(shí)大大降低了延遲。
SurFS主要實(shí)現(xiàn)了兩大突破:第一,去中心化,將存儲控制節(jié)點(diǎn)與存儲介質(zhì)分離,存儲控制節(jié)點(diǎn)與計(jì)算節(jié)點(diǎn)聚合,基于全局存儲池,使得單個(gè)存儲服務(wù)器可以訪問所有磁盤;第二,采用SAS交換網(wǎng)絡(luò)取代通常所用的IP網(wǎng)絡(luò),性能更高,網(wǎng)絡(luò)損耗和延遲更低,且支持糾刪碼。
OpenStack官方網(wǎng)站的數(shù)據(jù)顯示,在同樣配置下,SurFS的性能遠(yuǎn)超當(dāng)前主流的HDFS、Ceph、GFS等分布式存儲系統(tǒng),將云平臺的綜合性能提升50%;在同樣采購規(guī)模下,SurFS的購置成本可以降低20%,運(yùn)維成本降低50%。王東臨表示,SurFS在性能、成本、可靠性、可用性和可擴(kuò)展性等5個(gè)重要指標(biāo)上有重大提升。
用一句話概括,SurFS分布式存儲利用超融合突破了傳統(tǒng)存儲的成本限制,同時(shí)利用SAS交換機(jī)突破了性能的限制。
云安全和云存儲是書生云構(gòu)建企業(yè)云平臺的兩大重要技術(shù)支柱。TruPrivacy是書生云的自有專利技術(shù),它重新定義了云存儲服務(wù)的安全性,即使網(wǎng)絡(luò)被攻破、服務(wù)器被黑、源代碼被泄露,任何人也無法從云端竊走數(shù)據(jù)。SurFS可以提供塊存儲、NAS存儲和對象存儲服務(wù),并可直接與OpenStack集成。正是基于這些特色技術(shù),書生云在云計(jì)算領(lǐng)域如魚得水,并且打造了企業(yè)私有云、企業(yè)云盤、美國醫(yī)療云服務(wù)和全球個(gè)人云文檔服務(wù)四大核心業(yè)務(wù)。
書生云為什么這么大方?
書生云SurFS的其實(shí)是一箭雙雕:一方面,SurFS開辟了新一代分布式存儲的新路;另一方面,書生云“大方”地將SurFS開源,有興趣的人可以在Github上下載使用。
開源一詞有多層含義,它既是一種軟件開發(fā)模式,又是一種商業(yè)模式,更是一種文化。中國的軟件工程師對開源軟件并不陌生,很多工程師在接到公司下發(fā)的任務(wù)后,第一件事就是上網(wǎng)去尋找有沒有開源軟件可以直接下載使用,但以前通常只索取,不貢獻(xiàn)。近幾年,中國的開源氛圍越來越濃厚,除了人們對開源技術(shù)越來越有信心,中國廠商和開發(fā)者加入開源社區(qū)并積極貢獻(xiàn)代碼也是一個(gè)重要原因。在Linux、OpenStack、Ceph等全球知名的社區(qū)中,一些中國廠商在代碼貢獻(xiàn)量方面的排名十分靠前,有的甚至能位列前三。
但同時(shí)我們也看到,在全球范圍內(nèi)具有影響力的開源社區(qū)主要由國外廠商主導(dǎo),源自中國的開源社區(qū)幾乎沒有,更沒有能在國際上流行起來的開源項(xiàng)目。書生云公司將SurFS技術(shù)開源,也是期望打破這一局面。
最近在開源領(lǐng)域引起廣泛關(guān)注的一條消息是,開源軟件市場的領(lǐng)導(dǎo)者紅帽公司年收入首次突破20億美元大關(guān)。這一里程碑式的事件表明,開源軟件已經(jīng)成為商業(yè)主流,開源軟件也可以很好地滿足企業(yè)級用戶的需求。
開源不是“做雷鋒”,開源也能與商業(yè)完美結(jié)合,也能掙錢。開源并不是單純地降低了使用門檻,而是對用戶提出了尋求自我價(jià)值匹配的更高要求。SurFS的開源可以通過“免費(fèi)+定制化增值服務(wù)”的方式,為客戶提供高性價(jià)比的云平臺解決方案。
為了將SurFS開源,王東臨對公司董事會做了大量說服工作。從技術(shù)的角度講,SurFS開源可以讓書生云更方便地借助開源生態(tài)圈,集眾人之力共同完善SurFS的技術(shù)細(xì)節(jié)和功能,有可能將SurFS變成一個(gè)行業(yè)的標(biāo)準(zhǔn);從商業(yè)的角度講,以前銷售是書生云的一個(gè)短板,通過SurFS開源,書生云可以方便地拓展銷售渠道,吸引更多的客戶;從社會效益的角度講,開源也是服務(wù)社會之舉。王東臨介紹說,開源SurFS的盈利之道主要包括:為客戶提供商業(yè)版本的SurFS產(chǎn)品,提供相關(guān)的技術(shù)支持服務(wù),開展針對SurFS的培訓(xùn)和認(rèn)證。
如今,開源已經(jīng)成了中國軟件廠商實(shí)現(xiàn)自主創(chuàng)新的重要抓手。邁入云計(jì)算、大數(shù)據(jù)時(shí)代,中國廠商在開源方面取得的進(jìn)展也迅速縮小了中外IT廠商之間的技術(shù)差距?,F(xiàn)在,一提到云計(jì)算,人們首先會想到OpenStack;一提到大數(shù)據(jù),首先會想到Hadoop。這些技術(shù)都是開源的。圍繞著這些開源技術(shù)、社區(qū),中國也涌現(xiàn)出一大批初創(chuàng)企業(yè)。
中國工程院倪光南院士在SurFS會上表示:“開源是一種明智的商業(yè)模式,它可以促進(jìn)原始創(chuàng)新。SurFS的開源正逢其時(shí)。”
SurFS還有提升空間
新一代分布式存儲SurFS并不是紙上談兵。王東臨表示:“我們將OpenStack作為SurFS的一個(gè)主要應(yīng)用場景,并且把SurFS提交給了OpenStack社區(qū)。在OpenStack存儲后端、視頻監(jiān)控等應(yīng)用場景中,SurFS已經(jīng)實(shí)現(xiàn)了商業(yè)化部署?!?/p>
在市場上,SurFS并不是孤軍奮戰(zhàn),因?yàn)闀茝囊婚_始就為SurFS規(guī)劃了一個(gè)協(xié)同發(fā)展的生態(tài)圈。參加SurFS產(chǎn)品會的金山云、奇虎360、海云捷迅、華三通信、九州云、United Stack、樂視云、聯(lián)想、??低暋⑸裰輸?shù)碼、太極等廠商都對SurFS技術(shù)表示出濃厚的興趣,其中有些廠商已經(jīng)成了書生云的親密戰(zhàn)友。
企業(yè)級OpenStack云服務(wù)提供商海云捷迅CTO李華充分肯定了SurFS在技術(shù)架構(gòu)上的先進(jìn)性,認(rèn)為SurFS為OpenStack提供了一種很好的存儲選項(xiàng)。海云捷迅正嘗試與書生云在OpenStack云平臺建設(shè)方面進(jìn)行合作。
OpenStack平臺通常會采用以下三種存儲方式:第一,本地磁盤,基本用于測試環(huán)境;第二,傳統(tǒng)存儲,比如FC SAN、IP SAN等;第三,分布式存儲。SurFS為OpenStack后端存儲提供了一種新的選擇。
關(guān)鍵詞: 流量積算; 分布式系統(tǒng); 云服務(wù); 嵌入式系統(tǒng); Web
中圖分類號: TN919?34; TP273.5 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2017)01?0104?04
Abstract: The distributed cloud computing technology is applied to the monitoring and control of the industrial production process, which plays the significant auxo?action to improve the system real?time performance, compatibility and scalability, and reduce the device cost and maintenance expense. The flow integrating management system is composed of the field acquisition control device and cloud service center. The field acquisition control device is used to collect the flow, temperature and pressure signals of the field acquisition device, and send the data to the cloud service center. The cloud service center takes charge of the flow centralizing integrating, real?time data and historical data storage, Web interactive exhibition and control. The system realizes the functions of flow data distributed collection, centralizing integrating in the cloud terminal, data unified storage, Web interactive exhibition and control, satisfies the requirement of work site for flow data unified management, and provides the mature and available architecture model and foundation for the expansion of other application models.
Keywords: flow integrating; distributed system; cloud service; embedded system; Web
0 引 言
長期以來,流量的計(jì)量一直是計(jì)量工作中的重點(diǎn)和難點(diǎn),直接影響著企業(yè)運(yùn)行的穩(wěn)定和企業(yè)成本的控制。隨著能源計(jì)量網(wǎng)絡(luò)的不斷完善和發(fā)展,對流量的計(jì)量提出了新要求。由于工業(yè)控制對參數(shù)的采集精度和控制的復(fù)雜程度要求越來越高,并且工業(yè)現(xiàn)場環(huán)境存在一定的不確定性、多變且比較惡劣,再加上現(xiàn)場操作工人的技術(shù)水平不夠高,這就對流量積算的性能提出了更高的要求。
為了避免供能單位和用戶之間可能存在的計(jì)量偏差,除了選擇合理的現(xiàn)場流量計(jì)外,同時(shí)也需要配備性能優(yōu)異并符合目前智能化、網(wǎng)絡(luò)化要求的流量積算設(shè)備,這樣才能組成完善的流量計(jì)量系統(tǒng)。因此,將云計(jì)算和物聯(lián)網(wǎng)的概念和模型引入流量積算系統(tǒng),設(shè)計(jì)一種基于分布式數(shù)據(jù)采集網(wǎng)絡(luò)的流量積算云服務(wù)系統(tǒng),能夠極大地調(diào)高流量數(shù)據(jù)的傳輸效率,簡化流量檢測系統(tǒng)的復(fù)雜程度,提高系統(tǒng)的穩(wěn)定性和可靠性,并且使對流量的監(jiān)測和控制變得更加簡單和方便,提高整個(gè)測量系統(tǒng)的信息化水平。
1 分布式流量積算云服務(wù)系統(tǒng)的設(shè)計(jì)
1.1 系統(tǒng)架構(gòu)
分布式流量積算云服務(wù)系統(tǒng)以生產(chǎn)過程流量測量特性及管理體系作為設(shè)計(jì)依據(jù),以分布式系統(tǒng)結(jié)構(gòu)為基礎(chǔ),以云端統(tǒng)一積算和管理為支撐,并結(jié)合船舶企業(yè)實(shí)際計(jì)量網(wǎng)絡(luò)、檢測設(shè)備狀況、硬件環(huán)境等實(shí)際情況設(shè)計(jì)系統(tǒng)的總體架構(gòu)。
分布式流量積算云服務(wù)系統(tǒng)的總體架構(gòu)分為兩部分,包括分布式采集監(jiān)控設(shè)備和云服務(wù)中心。
(1) 分布式采集監(jiān)控設(shè)備:采用北京世紀(jì)聯(lián)信公司研制的分布式實(shí)時(shí)數(shù)據(jù)服務(wù)器(Distributed I/O Server)和嵌入式遠(yuǎn)程終端服務(wù)器(Remote Terminal Server,RTS)作為數(shù)據(jù)采集監(jiān)控設(shè)備,通過分布式網(wǎng)絡(luò)結(jié)構(gòu)實(shí)現(xiàn)對硬件設(shè)備、計(jì)量儀表(流量計(jì)、溫度傳感器、壓力傳感器等)實(shí)時(shí)數(shù)據(jù)的采集、存儲、匯總、推送、統(tǒng)一流量積算功能,并通過Web方式對外提供數(shù)據(jù)監(jiān)視、服務(wù)器配置功能。
(2) 云服務(wù)中心:云服務(wù)中心建立在互聯(lián)網(wǎng)云端的高性能服務(wù)器上,服務(wù)器可由用戶自己架設(shè)或者購買、租用第三方的通用云服務(wù)器,即采用IaaS或者PaaS云服務(wù)模式。云服務(wù)中心由流量補(bǔ)償與積算模塊、云數(shù)據(jù)中心和云顯控平臺組成。其中流量補(bǔ)償與積算模塊負(fù)責(zé)流量積算與補(bǔ)償?shù)挠?jì)算;云數(shù)據(jù)中心負(fù)責(zé)實(shí)時(shí)流量數(shù)據(jù)和歷史流量數(shù)據(jù)的存儲和歸檔;云顯控平臺負(fù)責(zé)向接入云中的各種終端設(shè)備用戶提供B/S(瀏覽器/服務(wù)器)架構(gòu)的Web顯示界面,用于監(jiān)控當(dāng)前的運(yùn)行狀況和實(shí)時(shí)、歷史數(shù)據(jù)[1]。
1.2 分布式實(shí)時(shí)數(shù)據(jù)服務(wù)器
分布式實(shí)時(shí)數(shù)據(jù)服務(wù)器將網(wǎng)關(guān)、RTU、生產(chǎn)數(shù)據(jù)庫、OPC通信接口、數(shù)據(jù)接口、防火墻、控制算法、計(jì)算模型等軟硬件集成在一起,部署在車間等工業(yè)現(xiàn)場,直接和間接地采集現(xiàn)場儀表的實(shí)時(shí)數(shù)據(jù)。分布式實(shí)時(shí)數(shù)據(jù)服務(wù)器結(jié)構(gòu)如圖1所示。
分布式實(shí)時(shí)數(shù)據(jù)服務(wù)器提供了符合生產(chǎn)現(xiàn)場標(biāo)準(zhǔn)規(guī)范的各種接口,用于采集現(xiàn)場儀表的實(shí)時(shí)數(shù)據(jù)、監(jiān)視現(xiàn)場設(shè)備的運(yùn)行狀態(tài)以及向現(xiàn)場設(shè)備和執(zhí)行機(jī)構(gòu)發(fā)送控制命令。其接口包括A/D模擬量采集、D/A模擬控制信號輸出、I/O開關(guān)量監(jiān)測與控制和RS 485,RS 422等串行總線接口[2]。
服務(wù)器內(nèi)部建立了工業(yè)實(shí)時(shí)數(shù)據(jù)庫,用于存放實(shí)時(shí)和歷史數(shù)據(jù)。數(shù)據(jù)采集單元將采集的現(xiàn)場數(shù)據(jù)實(shí)時(shí)存入工業(yè)實(shí)時(shí)數(shù)據(jù)庫中,使數(shù)據(jù)庫中的數(shù)據(jù)一直保持更新。服務(wù)器向上通過以太網(wǎng)連接至云端,并將數(shù)據(jù)庫中的實(shí)時(shí)數(shù)推送至云端[3]。同時(shí)內(nèi)建的WebServer能夠使用戶通過瀏覽器直接訪問分布式實(shí)時(shí)數(shù)據(jù)服務(wù)器,查看實(shí)時(shí)數(shù)據(jù)和服務(wù)器的配置信息。
1.3 系統(tǒng)通信方式
1.3.1 分布式數(shù)據(jù)采集系統(tǒng)通信方式
分布式實(shí)時(shí)數(shù)據(jù)服務(wù)器對外提供24路RS 485通信接口,能夠完全滿足生產(chǎn)現(xiàn)場的局部需求。嵌入式遠(yuǎn)程終端服務(wù)器可以作為一個(gè)設(shè)備接入RS 485總線,接線方式如圖2所示。在此種連接情況下,需要保證串口波特率匹配,并且設(shè)備ID號不沖突[4]。
通過A/D模擬信號采集接口可以采集現(xiàn)場的4~20 mA以及1~5 V的標(biāo)準(zhǔn)信號,并通過配置工程量將轉(zhuǎn)換后的數(shù)字信號處理為對應(yīng)的工程參數(shù)。
通過D/A輸出控制信號可以對現(xiàn)場執(zhí)行機(jī)構(gòu)進(jìn)行控制,如控制電磁閥的開度用以調(diào)節(jié)流量的大小,通過工程量的配置同樣可以按照實(shí)際工程參數(shù)輸出對執(zhí)行機(jī)構(gòu)進(jìn)行控制。
通過I/O接口可以讀取現(xiàn)場設(shè)備的開關(guān)量狀態(tài),同時(shí)也可以輸出開關(guān)量來控制現(xiàn)場設(shè)備的開關(guān)。
1.3.2 云服務(wù)中心通信方式
分布式數(shù)據(jù)采集設(shè)備之間以工業(yè)以太網(wǎng)相互連接,形成覆蓋全廠的工業(yè)環(huán)網(wǎng),并通過Internet連接至云服務(wù)中心。為保證數(shù)據(jù)的實(shí)時(shí)性、安全性和可靠性,云服務(wù)中心通過TCP/IP協(xié)議與現(xiàn)場設(shè)備進(jìn)行實(shí)時(shí)通信。
2 流量積算云服務(wù)的設(shè)計(jì)
2.1 流量補(bǔ)償與積算模塊
流量補(bǔ)償與積算模塊是一個(gè)對各種液體、蒸汽、天然氣、一般氣體進(jìn)行自動補(bǔ)償流量積算的軟件,與SCADA系統(tǒng)或其他信息系統(tǒng)交換數(shù)據(jù)。流量補(bǔ)償與積算模塊可以替代傳統(tǒng)硬件流量積算儀,實(shí)現(xiàn)更為精確的流量補(bǔ)償算法,獲得更為豐富的過程數(shù)據(jù),解決了傳統(tǒng)硬件流量積算儀安裝分散不宜維護(hù),參數(shù)設(shè)定繁瑣不宜操作,積算功能簡單且數(shù)據(jù)不宜共享等問題,從而提高積算精度,降低維護(hù)成本和維護(hù)強(qiáng)度,提升生產(chǎn)過程的自動化和信息化水平[8]。
2.2 云顯控平臺
云顯控平臺的功能如圖3所示,一方面云顯控平臺通過訪問實(shí)時(shí)數(shù)據(jù)庫和歸檔數(shù)據(jù)庫,從云數(shù)據(jù)中心中讀取實(shí)時(shí)和歷史數(shù)據(jù),將數(shù)據(jù)顯示在用戶頁面上;另一方面云顯控平臺將用戶在頁面上下達(dá)的控制命令通過Socket(套接字)連接傳遞給對應(yīng)的現(xiàn)場設(shè)備(如分布式實(shí)時(shí)數(shù)據(jù)服務(wù)器),從而實(shí)現(xiàn)用戶在云端對工業(yè)現(xiàn)場的精確控制。
3 系統(tǒng)的實(shí)現(xiàn)
3.1 數(shù)據(jù)采集
采集現(xiàn)場儀表的測量數(shù)據(jù)是分布式實(shí)時(shí)數(shù)據(jù)服務(wù)器的主要功能,而數(shù)據(jù)采集輪詢線程則是實(shí)現(xiàn)周期性數(shù)據(jù)采集的核心,包括采集周期控制線程與數(shù)據(jù)采集線程兩部分。周期性控制線程的功能是按照用戶設(shè)定的周期循環(huán)觸發(fā)數(shù)據(jù)采集線程,由Timer類和同步事件DeviceUnit.AutoResetEvent組成。DATimer類的具體描述見表1。
3.2 與云端通信接口
分布式實(shí)時(shí)數(shù)據(jù)服務(wù)器通過云端接口服務(wù)程序與客戶端(即云服務(wù)中心)進(jìn)行通信。云端接口服務(wù)程序?qū)崿F(xiàn)分布式實(shí)時(shí)數(shù)據(jù)服務(wù)器對外統(tǒng)一的數(shù)據(jù)和交互,并包含接口管理功能,其工作流程如圖4所示。由圖4可知,云端接口服務(wù)程序具有連接確認(rèn)、實(shí)時(shí)數(shù)據(jù)、接收控制指令、其他記錄等四項(xiàng)功能,其具體實(shí)現(xiàn)流程如下:
(1) 連接確認(rèn):確認(rèn)客戶端(云服務(wù)中心)是否是授權(quán)客戶,確認(rèn)后建立連接。
(2) 實(shí)時(shí)數(shù)據(jù):由客戶端提出實(shí)時(shí)數(shù)據(jù)請求列表,接口服務(wù)程序根據(jù)請求的參數(shù)與實(shí)時(shí)數(shù)據(jù)清單,對該客戶端周期性實(shí)時(shí)數(shù)據(jù)。
(3) 接收控制指令:接口服務(wù)程序接收客戶端發(fā)送的控制指令后,對遠(yuǎn)程設(shè)備進(jìn)行控制,并向該客戶端反饋控制結(jié)果。
(4) 其他:包括記錄接口配置和接口服務(wù)日志。
3.3 嵌入式遠(yuǎn)程終端服務(wù)器
3.3.1 界面的實(shí)現(xiàn)
使用HTML+CSS的網(wǎng)頁制作方法,開發(fā)出一套制作符合嵌入式遠(yuǎn)程終端服務(wù)器功能應(yīng)用的Web頁面,主頁面如圖5所示。由主界面的導(dǎo)航欄功能菜單可知,通過Web交互,用戶能夠查看遠(yuǎn)程終端服務(wù)器采集的實(shí)時(shí)數(shù)據(jù)以及控制端口的輸出狀態(tài),能夠控制D/A以及I/O輸出端口的輸出,同時(shí)能夠?qū)こ塘亢瓦h(yuǎn)程終端服務(wù)器的通信端口的參數(shù)進(jìn)行配置,并能夠查看這些參數(shù)的配置信息。
3.3.2 CGI通信接口
在嵌入式遠(yuǎn)程終端服務(wù)器的B/S模式中,瀏覽器和Web服務(wù)器之間的通信通過CGI接口實(shí)現(xiàn)。
CGI接口的定義如下:
HTTPD_CGI_CALL(name, "TAG", function);
其中name是該接口的名稱;“TAG”是調(diào)用該接口的標(biāo)識符;function是調(diào)用該接口后進(jìn)入的接口函數(shù)。
3.3.3 實(shí)時(shí)數(shù)據(jù)采集
嵌入式遠(yuǎn)程終端服務(wù)器能夠?qū)崟r(shí)采集A/D采樣值和I/O輸入狀態(tài)。實(shí)時(shí)數(shù)據(jù)采集在系統(tǒng)的定時(shí)中斷中完成。為保證實(shí)時(shí)性,嵌入式遠(yuǎn)程終端服務(wù)器的定時(shí)中斷周期設(shè)置為10 ms。
3.3.4 數(shù)據(jù)實(shí)時(shí)顯示和刷新
(1) 實(shí)時(shí)顯示
采集到的A/D和I/O輸入的實(shí)時(shí)數(shù)據(jù)以及D/A輸出和I/O輸出狀態(tài)將在實(shí)時(shí)顯示頁面中顯示,供用戶監(jiān)測,遠(yuǎn)程終端服務(wù)器采集到的實(shí)時(shí)數(shù)據(jù)通過在CGI接口函數(shù)中使用snprintf()函數(shù)將數(shù)據(jù)以HTML代碼的形式添加到HTML頁面文件中,然后將HTML文件傳輸給客戶端,在用戶瀏覽器中顯示出來。
(2) 實(shí)時(shí)刷新
為保證刷新頻率的實(shí)時(shí)性以及良好的頁面顯示效果,嵌入式遠(yuǎn)程終端服務(wù)器數(shù)據(jù)實(shí)時(shí)顯示頁面的刷新使用AJAXcCGI相結(jié)合的技術(shù)。數(shù)據(jù)實(shí)時(shí)顯示頁面通過在后臺運(yùn)行的Javascript腳本中使用AJAX方式,周期性地異步訪問專門的數(shù)據(jù)頁面,并將該數(shù)據(jù)頁面的內(nèi)容顯示在實(shí)時(shí)顯示頁面中,從而達(dá)到實(shí)時(shí)刷新的效果。
4 云服務(wù)中心
云顯控平臺的實(shí)質(zhì)是一個(gè)云端Web服務(wù)器,用來向用戶顯示實(shí)時(shí)過程數(shù)據(jù),并將用戶的控制命令發(fā)送給現(xiàn)場相應(yīng)的分布式采集監(jiān)控設(shè)備,從而驅(qū)動執(zhí)行機(jī)構(gòu)執(zhí)行用戶命令。
云顯控平臺與用戶的交互通過多種多樣的Web顯示界面完成,包括數(shù)據(jù)表格、二維平面流程圖、3D動態(tài)虛擬現(xiàn)實(shí)技術(shù)等,通過先進(jìn)的Web前端技術(shù)可以制作出逼真、漂亮的用戶界面和友好、自然的交互方式,并針對不同的用戶對象(如現(xiàn)場工人、現(xiàn)場工程師、中控室、企業(yè)管理者、能源供給商等)制作多種不同的界面,顯示各方面的實(shí)時(shí)信息,傳達(dá)不同方面的控制命令,使生產(chǎn)和管理更具針對性,提高生產(chǎn)和管理的效率和信息化水平。云顯控平臺示例頁面見圖6。
在流量監(jiān)控頁面中,用戶可以看到生產(chǎn)現(xiàn)場閥門的開度信息,以及該閥門所在管道的溫度、壓力、瞬時(shí)流量和累積流量。同時(shí),用戶還能夠通過滑動閥門右側(cè)的滾動條調(diào)節(jié)閥門的開度大小,從而達(dá)到調(diào)節(jié)流量的目的。
5 結(jié) 論
本文設(shè)計(jì)的分布式流量積算云服務(wù)系統(tǒng)由現(xiàn)場采集控制設(shè)備和云服務(wù)中心組成,通過XML格式的TCP通信實(shí)現(xiàn)流量數(shù)據(jù)和控制命令的傳遞?,F(xiàn)場采集控制設(shè)備包括分布式實(shí)時(shí)數(shù)據(jù)服務(wù)器和嵌入式遠(yuǎn)程終端服務(wù)器,用于采集現(xiàn)場設(shè)備的流量、溫度、壓力等信號,并將數(shù)據(jù)發(fā)送到云服務(wù)中心。
本文設(shè)計(jì)的分布式流量積算云服務(wù)系統(tǒng)采用當(dāng)前IT領(lǐng)域最前沿的分布式云服務(wù)系統(tǒng)模型,將其運(yùn)用到流量積算的工業(yè)應(yīng)用中來,實(shí)現(xiàn)了流量數(shù)據(jù)的分布式采集、云端集中積算、數(shù)據(jù)統(tǒng)一存儲和展示。分布式實(shí)時(shí)數(shù)據(jù)服務(wù)器和嵌入式遠(yuǎn)程終端服務(wù)器提供了豐富的現(xiàn)場總線接口,能夠?qū)崿F(xiàn)對絕大多數(shù)現(xiàn)場儀器儀表的數(shù)據(jù)采集和控制?;贐/S架構(gòu)的云顯控平臺能夠針對不同的用戶定制不同的顯示頁面,包括數(shù)據(jù)表、二維流程圖和3D實(shí)景效果等,展示效果豐富,用戶針對性強(qiáng)。
參考文獻(xiàn)
[1] 陳燕俐,陳軍軍,杜英杰,等.可應(yīng)用于分布式系統(tǒng)的多授權(quán)中心基于屬性的簽名[J].計(jì)算機(jī)應(yīng)用研究,2014,31(2):536?539.
[2] 任崇廣.面向海量數(shù)據(jù)處理領(lǐng)域的云計(jì)算及其關(guān)鍵技術(shù)研究[D].南京:南京理工大學(xué),2013.
[3] 王錚.基于Hadoop的分布式系統(tǒng)研究與應(yīng)用[D].長春:吉林大學(xué),2014.
[4] 李興建,夏彥輝,陳松林,等.分布式穩(wěn)定控制仿真測試系統(tǒng)的研制及應(yīng)用[J].電力自動化設(shè)備,2014,34(5):163?168.
[5] 蔣衛(wèi)寅,李斌,凌力.分布式系統(tǒng)數(shù)據(jù)一致性和并發(fā)性優(yōu)化研究[J].計(jì)算機(jī)工程,2012,38(4):260?262.
[6] 魏光輝,李杰斌,王程玉,等.一種分布式系統(tǒng)上的元數(shù)據(jù)管理系統(tǒng)[J].計(jì)算機(jī)研究與發(fā)展,2013,50(z1):416?420.
【關(guān)鍵詞】云資源池 混合架構(gòu) 部署策略 指標(biāo)監(jiān)測
1 引言
電信運(yùn)營商現(xiàn)有IT架構(gòu)主要采用以IBM、Oracle、EMC為代表的小型機(jī)、集中式關(guān)系型數(shù)據(jù)庫和高端存儲的IOE架構(gòu)進(jìn)行構(gòu)建,其架構(gòu)主要特點(diǎn)是穩(wěn)定、可靠和數(shù)據(jù)的一致性好。但隨著業(yè)務(wù)量的快速增長,帶來的大數(shù)據(jù)量、高并發(fā)使原有基于IOE架構(gòu)的應(yīng)用日益成為瓶頸,其擴(kuò)展靈活性差,對大型IT廠商依賴和成本過高的矛盾突出。為了應(yīng)對新的挑戰(zhàn),電信運(yùn)營商啟動對現(xiàn)有IT架構(gòu)的變革,主要體現(xiàn)在以下2個(gè)方面:
(1)現(xiàn)有系統(tǒng)進(jìn)行去IOE的實(shí)踐,以提高基礎(chǔ)設(shè)施共享水平及應(yīng)用系統(tǒng)彈性,降低IT總體擁有成本:即對于B/S的Web服務(wù)器和應(yīng)用服務(wù)器向X86服務(wù)器遷移;同時(shí)推進(jìn)非核心系統(tǒng)的數(shù)據(jù)庫向X86服務(wù)器遷移,并優(yōu)先選擇虛擬機(jī)部署,盡可能保障故障快速恢復(fù);對于大型核心系統(tǒng)的數(shù)據(jù)庫服務(wù)器暫保留IOE架構(gòu),將歷史訂單、歷史客戶資料、歷史話單、計(jì)費(fèi)清單等只讀數(shù)據(jù)剝離到云計(jì)算環(huán)境,降低核心數(shù)據(jù)庫處理壓力等;數(shù)據(jù)分析類應(yīng)用全面基于Hadoop等分布式技術(shù)進(jìn)行構(gòu)建。
(2)構(gòu)建新的“集中、開放和云化的IT架構(gòu)”,基于互聯(lián)網(wǎng)化思維,以平臺化、服務(wù)化、組件化的方式構(gòu)建IT架構(gòu),平臺與硬件解耦,硬件與軟件解耦,基礎(chǔ)設(shè)施云化,對內(nèi)實(shí)現(xiàn)按角色提供個(gè)性化應(yīng)用和數(shù)據(jù),對外通過服務(wù)組裝快速支撐價(jià)值鏈合作。
為適應(yīng)上述轉(zhuǎn)變,首先需要在IT基礎(chǔ)設(shè)施層面進(jìn)行整合、建設(shè)形成統(tǒng)一的資源池,既滿足Web和應(yīng)用服務(wù)器云化遷移到X86服務(wù)器(包括物理機(jī)和虛擬機(jī))的需求,又滿足核心數(shù)據(jù)庫的小型機(jī)需求,同時(shí)還要滿足分布式計(jì)算架構(gòu)的需求,這樣資源池就形成多種計(jì)算能力混合的資源池(包括X86虛擬機(jī)資源池、X86物理機(jī)資源池、UNIX小型機(jī)資源池)。其典型混合架構(gòu)的云資源池架構(gòu)如圖1所示。
2 混合架構(gòu)的IT云資源池部署策略
如何構(gòu)建合理的資源池來滿足上述不同特征系統(tǒng)的不同計(jì)算能力需求,是運(yùn)營商IT部門面臨的一項(xiàng)重要挑戰(zhàn)。云資源池主要包括計(jì)算資源、存儲資源和網(wǎng)絡(luò)資源,總體部署策略應(yīng)體系化、集約化和自動化,以降低資源池部署與運(yùn)營成本,保障資源池的安全。
2.1 計(jì)算資源部署策略
根據(jù)計(jì)算功能和資源提供方式不同,可將計(jì)算資源分為3類,即虛擬計(jì)算資源池、物理計(jì)算資源池(包括X86和UNIX物理資源池)和分布式計(jì)算資源池。在資源分配過程中,可根據(jù)承載業(yè)務(wù)類型和需求不同,又將資源池劃分為不同的區(qū)域,如內(nèi)網(wǎng)生產(chǎn)區(qū)、公網(wǎng)DMZ(Demilitarized Zone,隔離區(qū))區(qū)和開發(fā)測試區(qū)等。不同資源分類、區(qū)域劃分主要是為了滿足不同應(yīng)用的計(jì)算需求,并在保障安全的前提下降低計(jì)算資源部署成本。
(1)虛擬計(jì)算資源池:基于X86服務(wù)器部署主流虛擬化技術(shù),以虛擬機(jī)方式提供計(jì)算能力,并以集群方式部署,按集群擴(kuò)展。由于目前不同虛擬化技術(shù)資源無法共享,需分別部署在不同集群,建議同一資源池中盡量采用相同的虛擬化技術(shù)和CPU架構(gòu),以保持良好的資源調(diào)度能力,主要適用于各系統(tǒng)Web服務(wù)器、APP服務(wù)器、接口服務(wù)器等。
(2)X86物理計(jì)算資源:基于X86服務(wù)器直接以物理整機(jī)方式提供計(jì)算能力,主要滿足部分資源要求較高的數(shù)據(jù)庫和大型應(yīng)用模塊部署需求。
(3)小型機(jī)物理計(jì)算資源:基于UNIX小型機(jī)直接以整機(jī)方式或者以分區(qū)的方式提供計(jì)算能力,主要滿足核心系統(tǒng)的數(shù)據(jù)庫部署需求。
(4)分布式計(jì)算資源:基于X86服務(wù)器集群部署分布式計(jì)算技術(shù),主要滿足大規(guī)模數(shù)據(jù)存儲與處理需求,按集群部署和擴(kuò)展。
另外,由于各類計(jì)算資源服務(wù)對象和資源形態(tài)的不同,資源間不能共享,需要統(tǒng)籌考慮資源的部署布局,按照功能又可分為以下3類,不同類型的區(qū)域需要按其特性進(jìn)行計(jì)算能力的部署:
(1)生產(chǎn)區(qū):生產(chǎn)類的系統(tǒng)資源穩(wěn)定、可靠、安全性要求較高,可配置穩(wěn)定性、可靠性、性能較高的虛擬計(jì)算和物理計(jì)算資源,以虛擬計(jì)算資源為主。針對大數(shù)據(jù)分析類應(yīng)用,根據(jù)分布式計(jì)算特點(diǎn),可配置中低端定制化X86物理服務(wù)器,部分場景(對性能要求不高)可配置虛擬計(jì)算資源。對于核心系統(tǒng)的數(shù)據(jù)庫,可沿用現(xiàn)有高可靠的小型機(jī)計(jì)算資源。
(2)開發(fā)測試類區(qū):由于用于開發(fā)測試的資源配置、環(huán)境等調(diào)整較頻繁,穩(wěn)定性和性能要求不高,為滿足各類系統(tǒng)的測試需要,可同時(shí)配置虛擬計(jì)算、物理計(jì)算和分布式計(jì)算3類資源,以虛擬計(jì)算資源為主,可配置中低端物理計(jì)算資源及分布式計(jì)算資源。
(3)DMZ區(qū):以提供對外訪問的Web和應(yīng)用平臺為主,應(yīng)以虛擬計(jì)算資源為主。
2.2 存儲資源部署策略
存儲資源分為集中式存儲和分布式存儲。其中,集中式存儲是資源池存儲的主要提供方式,主要通過硬件保障性能和可靠性,主流技術(shù)包括FC-SAN、IP-SAN、NAS(Network Attached Storage,網(wǎng)絡(luò)附加存儲)等,但部署成本較高、擴(kuò)容不靈活;分布式存儲是可基于X86服務(wù)器部署的新興存儲技術(shù),主要通過軟件保障性能和可靠性,主流技術(shù)包括分布式對象存儲、分布式塊存儲、分布式文件存儲等,具備低成本、靈活擴(kuò)容、高并發(fā)訪問等優(yōu)勢。應(yīng)根據(jù)不同存儲需求提供分級存儲手段,以降低存儲資源部署成本。
由于混合的資源池規(guī)模、存儲量都較大,承載不同特征的應(yīng)用類型較多,所以應(yīng)根據(jù)不同業(yè)務(wù)特性和存儲需求(如高I/O存儲、高容量冷溫?cái)?shù)據(jù)存儲、大數(shù)據(jù)存儲、備份和歸檔存儲等),配置不同的存儲(集中式、分布式的不同存儲技術(shù)選擇),實(shí)現(xiàn)分級存儲,差異化利用資源,從而降低成本以及提升資源利用率。
由于集中式存儲存在多種不同技術(shù)架構(gòu)(如FC-SAN和IP-SAN),難以實(shí)現(xiàn)資源共享,需相對獨(dú)立部署,但同一技術(shù)架構(gòu)產(chǎn)品可通過存儲虛擬化技術(shù)實(shí)現(xiàn)資源整合共享;分布式存儲本質(zhì)上可實(shí)現(xiàn)底層硬件資源共享,通過軟件方式提供差異化存儲能力和接口,但其中分布式塊存儲對I/O要求較高,需要特殊考慮硬件配置,如配置SSD(Solid State Disk,固態(tài)硬盤)、萬兆卡等。
2.3 網(wǎng)絡(luò)部署策略
資源池網(wǎng)絡(luò)主要包括節(jié)點(diǎn)內(nèi)網(wǎng)絡(luò)、節(jié)點(diǎn)間網(wǎng)絡(luò)和對外訪問網(wǎng)絡(luò)3部分。
(1)節(jié)點(diǎn)內(nèi)網(wǎng)絡(luò)主要承載業(yè)務(wù)流量、存儲流量以及虛機(jī)間流量,應(yīng)實(shí)現(xiàn)流量之間的隔離,節(jié)點(diǎn)內(nèi)網(wǎng)絡(luò)架構(gòu)盡量扁平化。
(2)節(jié)點(diǎn)間網(wǎng)絡(luò)應(yīng)充分考慮多個(gè)資源池節(jié)點(diǎn)間的雙活、異地容災(zāi)、跨節(jié)點(diǎn)虛機(jī)遷移等需求,規(guī)模不大的資源池可選擇星形網(wǎng)絡(luò)結(jié)構(gòu),后續(xù)隨著資源池規(guī)模不斷擴(kuò)大和二層廣域互聯(lián)技術(shù)基本成熟,資源池網(wǎng)絡(luò)可向環(huán)形結(jié)構(gòu)調(diào)整。
(3)對外訪問網(wǎng)絡(luò)主要考慮防火墻、負(fù)載均衡方案設(shè)計(jì)。
3 混合架構(gòu)的云資源池運(yùn)營管理關(guān)鍵技術(shù)
建設(shè)資源池運(yùn)營管理能力,是資源池運(yùn)營管理的重要技術(shù)手段。對資源池的運(yùn)營管理功能一般包括采集與控制域、監(jiān)視管理域、資源調(diào)度域以及服務(wù)門戶等關(guān)鍵功能,具體如圖2所示。
其中,最基礎(chǔ)、最關(guān)鍵的能力就是要建立接口適配層,屏蔽不同類型的資源池的接口差異,能通過統(tǒng)一的接口適配來接入不同的計(jì)算資源池的資源。
3.1 與不同計(jì)算資源互聯(lián)適配的方式
與不同計(jì)算資源互聯(lián)適配的方式主要如下:
(1)小型機(jī)、X86物理機(jī)適配方式:一般通過第三方管理軟件、SNMP(Simple Network Management Protocol,簡單網(wǎng)絡(luò)管理協(xié)議)采集方式、安裝Agent采集方式、自定義采集腳本方式來收集小型機(jī)的配置信息、采集性能數(shù)據(jù)和告警信息。
(2)虛擬機(jī)接口適配方式:根據(jù)虛擬化軟件提供的接口可以有2種適配方式。第1種是與虛擬化廠商管理軟件提供的接口進(jìn)行互聯(lián)(如圖2中的管理接口2),即通過如VMware的vCenter、Xen的XenServer提供的開放API(Application Programming Interface,應(yīng)用程序編程接口)來進(jìn)行基本配置信息、性能數(shù)據(jù)和告警數(shù)據(jù)的收集;第2種是通過與虛擬化廠商Hypervisor提供的接口進(jìn)行互聯(lián)(如圖2中的管理接口1)。由于第1種接口在穩(wěn)定性、全面性、開放性和后向兼容性方面都優(yōu)于第2種,所以盡可能優(yōu)先采用第1種。但對于虛擬化軟件提供接口不夠豐富、不能滿足運(yùn)維要求的(如KVM),可能根據(jù)管理需要還要自行開發(fā)Agent部署到虛機(jī)上(與管理物理機(jī)方式類似)。
3.2 虛擬機(jī)關(guān)鍵性能指標(biāo)監(jiān)測與應(yīng)用
資源池運(yùn)營管理的另一個(gè)重要方面就是采集各類資源的關(guān)鍵性能指標(biāo),通過不斷地優(yōu)化性能閾值設(shè)置,及時(shí)發(fā)現(xiàn)異?;驖撛诘娘L(fēng)險(xiǎn),便于運(yùn)維人員及時(shí)進(jìn)行處理。
UNIX小型機(jī)、X86物理機(jī)資源的性能指標(biāo)都有一些共性,主要關(guān)注CPU、內(nèi)存和I/O等主要性能數(shù)據(jù),這方面的技術(shù)比較成熟,其性能數(shù)據(jù)也是主要通過與第三方管理平臺或者自行部署Agent的方式進(jìn)行性能數(shù)據(jù)的采集。
但虛擬機(jī)有一些特殊的性能指標(biāo)需要特別注意。由于虛擬機(jī)的性能與宿主機(jī)(物理機(jī))有關(guān)聯(lián),因此不能單純從虛擬機(jī)的性能指標(biāo)來判斷其性能,需要與宿主機(jī)的性能指標(biāo)進(jìn)行關(guān)聯(lián)分析。其中需要特別關(guān)注的性能指標(biāo)如下:
(1)虛擬機(jī)的CPU就緒時(shí)間:是指虛機(jī)準(zhǔn)備就緒、但無法安排在物理CPU上運(yùn)行的時(shí)間所占的百分比,取決于宿主機(jī)上的虛擬機(jī)數(shù)量及CPU負(fù)載。即若宿主機(jī)上虛機(jī)較多且虛機(jī)CPU超額分配,會導(dǎo)致虛機(jī)在申請CPU資源時(shí)產(chǎn)生額外開銷;若宿主機(jī)CPU過載,會導(dǎo)致虛機(jī)申請不到足夠的CPU資源。
虛擬機(jī)CPU是否不足的判斷:若宿主機(jī)CPU未過載,可根據(jù)虛機(jī)CPU使用情況判斷虛機(jī)CPU是否分配不足,如CPU就緒時(shí)間占比過高,可適當(dāng)減少虛機(jī)CPU分配或遷移部分虛機(jī)來減少CPU就緒時(shí)間;若宿主機(jī)CPU過載,會導(dǎo)致虛機(jī)得不到足夠的CPU,虛機(jī)CPU就緒時(shí)間增大,應(yīng)及時(shí)優(yōu)化最耗CPU的虛機(jī)或遷移虛機(jī)至負(fù)載較輕的宿主機(jī)。
(2)氣泡內(nèi)存和內(nèi)存換入/換出速率:以VMware為例,氣泡內(nèi)存是指VMkernel從虛機(jī)回收的內(nèi)存,回收的內(nèi)存會以文件的形式存放在數(shù)據(jù)存儲上,擴(kuò)展名為vswp。內(nèi)存換入速率是指內(nèi)存交換到虛機(jī)中的平均速率;內(nèi)存換出速率是指內(nèi)存從虛機(jī)中交換出的平均速率。
虛擬機(jī)內(nèi)存是否充足的判斷:不能僅從虛機(jī)CPU使用率來單純判斷,此項(xiàng)指標(biāo)只能作為虛機(jī)內(nèi)存繁忙程度的依據(jù),還需要另外采集虛機(jī)操作系統(tǒng)內(nèi)存使用情況關(guān)系,即虛機(jī)操作系統(tǒng)內(nèi)存使用率和交換區(qū)使用率這2項(xiàng)指標(biāo)。若氣泡內(nèi)存較多且內(nèi)存換入/換出速率較高,則說明虛機(jī)內(nèi)存不足,應(yīng)及時(shí)考慮遷移虛擬機(jī)或擴(kuò)容宿主機(jī)。
4 結(jié)束語
通過合理構(gòu)建部署混合的IT云資源池,可以適應(yīng)不同特征的應(yīng)用需要;構(gòu)建中應(yīng)加強(qiáng)對資源池的運(yùn)營管理能力建設(shè),實(shí)現(xiàn)對資源池進(jìn)行統(tǒng)一的管理;在運(yùn)營過程中要關(guān)注虛擬化資源池的特殊性能指標(biāo)的關(guān)聯(lián),及時(shí)發(fā)現(xiàn)運(yùn)營過程潛在的風(fēng)險(xiǎn),優(yōu)化資源配置,提升資源池運(yùn)營能力。
參考文獻(xiàn):
[1] 陳春華,梁奐,李軍. 云資源池環(huán)境下的IT服務(wù)管理系統(tǒng)優(yōu)化及實(shí)施策略[J]. 移動通信, 2013(16): 83-87.
[2] 陳春華,李軍,梁奐,等. 資源池環(huán)境下的IT服務(wù)管理實(shí)施策略[J]. 電信科學(xué), 2012(9): 142-147.
[3] 陳春華,梁奐. 全業(yè)務(wù)電信運(yùn)營商的IT服務(wù)管理實(shí)踐探討[J]. 電信科學(xué), 2011(3): 118-125.
[4] 秦潤鋒,樊勇兵,唐宏,等. 電信運(yùn)營商開放式IaaS云平臺研究[J]. 電信科學(xué), 2013(10): 5-9.
[5] 楊經(jīng)緯,胡林,李金嶺,等. 支撐電信運(yùn)營商集約管理的云計(jì)算平臺研究探索與實(shí)踐[J]. 電信科學(xué), 2013(8): 136-145.
[6] 燕杰,樊勇兵,金華敏,等. 電信運(yùn)營商的云計(jì)算資源池部署方法概述[J]. 電信科學(xué), 2011(10): 13-19.
[7] 韋S. 淺析云計(jì)算及其在電信運(yùn)營商中的應(yīng)用[J]. 廣西通信技術(shù), 2014(3): 18-23.
[8] Peter Brooks. IT服務(wù)管理指標(biāo)[M]. 豐祖軍,譯. 北京: 清華大學(xué)出版社, 2008.
【關(guān)鍵詞】數(shù)據(jù)挖掘,Hadoop
1引言
1.1 數(shù)據(jù)挖掘技術(shù)概述
數(shù)據(jù)挖掘出現(xiàn)于 20 世紀(jì) 80 年代后期,90 年代有了突飛猛進(jìn)的發(fā)展,并在進(jìn)入 21 世紀(jì)后繼續(xù)繁榮。隨著科技的不斷進(jìn)步,在物聯(lián)網(wǎng)、云計(jì)算、移動互聯(lián)網(wǎng)等發(fā)展的推動下,數(shù)據(jù)發(fā)生了“大爆炸”,其規(guī)模呈幾何級上升。如何將這些海量的、復(fù)雜的數(shù)據(jù)轉(zhuǎn)化成人類可理解的、有用的知識,從而指導(dǎo)我們的決策正成為目前面臨的重要的問題。
如今,隨著云計(jì)算的出現(xiàn)和發(fā)展,數(shù)據(jù)挖掘技術(shù)迎來了新的機(jī)遇和挑戰(zhàn)?,F(xiàn)在的基于云計(jì)算的并行數(shù)據(jù)挖掘與服務(wù)的模式。數(shù)據(jù)挖掘的算法可以分布在多個(gè)節(jié)點(diǎn)上,并且這些算法之間是并行的。在進(jìn)行數(shù)據(jù)挖掘的過程中,我們需要的資源會實(shí)現(xiàn)按需分配,具有很大的伸縮性。在分布式計(jì)算模型下,使用的是云計(jì)算模式。算法的實(shí)現(xiàn)采用 MapReduce 的方式,從而實(shí)現(xiàn)并行的要求。
1.2 Hadoop 框架
Hadoop是一個(gè)開源的分布式系統(tǒng)基礎(chǔ)架構(gòu),由 Apache 基金會開發(fā)。Apache Hadoop是一款支持?jǐn)?shù)據(jù)密集型分布式應(yīng)用并以Apache 2.0許可協(xié)議的開源軟件框架。它支持在商品硬件構(gòu)建的大型集群上運(yùn)行的應(yīng)用程序。
Hadoop框架透明地為應(yīng)用提供可靠性和數(shù)據(jù)移動。它實(shí)現(xiàn)了名為MapReduce的編程范式:應(yīng)用程序被分割成許多小部分,而每個(gè)部分都能在集群中的任意節(jié)點(diǎn)上執(zhí)行或重新執(zhí)行。此外,Hadoop還提供了分布式文件系統(tǒng),用以存儲所有計(jì)算節(jié)點(diǎn)的數(shù)據(jù),這為整個(gè)集群帶來了非常高的帶寬。MapReduce和分布式文件系統(tǒng)的設(shè)計(jì),使得整個(gè)框架能夠自動處理節(jié)點(diǎn)故障。它使應(yīng)用程序與成千上萬的獨(dú)立計(jì)算的電腦和PB級的數(shù)據(jù)?,F(xiàn)在普遍認(rèn)為整個(gè)Apache Hadoop平臺包括Hadoop內(nèi)核、MapReduce、Hadoop分布式文件系統(tǒng)(HDFS)以及一些相關(guān)項(xiàng)目,有Apache Hive和Apache HBase等等。
2 Hadoop數(shù)據(jù)存儲平臺
2.1基本設(shè)計(jì)思想
我們的基本思想是:充分利用 Hadoop的集群特征,將數(shù)據(jù)挖掘系統(tǒng)中需要巨大計(jì)算能力的各個(gè)模塊的計(jì)算和存儲要求擴(kuò)展到Hadoop集群中的各個(gè)節(jié)點(diǎn)上,利用集群的并行計(jì)算和存儲能力來進(jìn)行相關(guān)數(shù)據(jù)挖掘工作。系統(tǒng)采用MVC三層架構(gòu)設(shè)計(jì)使結(jié)構(gòu)更加清晰,系統(tǒng)易于擴(kuò)展。在底層,使用 Hadoop來存儲、分析和處理巨大的數(shù)據(jù)量,而在高層通過接口直接透明的調(diào)用底層的計(jì)算和存儲能力。
在整個(gè)系統(tǒng)中,我們可以使用 HDFS 來存儲文件和數(shù)據(jù)。HDFS 具有很高的數(shù)據(jù)吞吐量,并且很好的實(shí)現(xiàn)了容錯機(jī)制。HDFS 提供了多種訪問接口,包括 API以及各種操作命令。使用 HDFS,我們可以為原始的大數(shù)據(jù)集提供存儲空間,對臨時(shí)文件進(jìn)行存儲,為數(shù)據(jù)預(yù)處理、數(shù)據(jù)挖掘過程提供輸入數(shù)據(jù),同時(shí)輸出數(shù)據(jù)我們也保存在 HDFS 中。系統(tǒng)整體架構(gòu)如圖1所示。
2.2系統(tǒng)結(jié)構(gòu)模型
結(jié)合以上的基本設(shè)計(jì)思想以及典型的數(shù)據(jù)挖掘系統(tǒng)模型,采用分層的思想,自頂向下每層都透明的調(diào)用下層接口,最頂層為交互層,用于用戶和系統(tǒng)之間的交互。最底層為分布式計(jì)算層,使用 HADOOP 來實(shí)現(xiàn)文件分布式存儲和并行計(jì)算功能。使用分層,各層之間變得獨(dú)立,易于系統(tǒng)的擴(kuò)展。下面詳細(xì)介紹我們得到的基于 HADOOP 的數(shù)據(jù)存儲系統(tǒng)。如圖2所示。
1、交互層
提供系統(tǒng)和用戶之間的接口。通過提供具有良好表現(xiàn)形式的圖形界面,使得用戶可以登陸系統(tǒng)定制各種細(xì)粒度的業(yè)務(wù),查看或者保存各種輸出結(jié)果。
交互層具有的模塊包括:
①用戶管理模塊:實(shí)現(xiàn)用戶身份的識別以及相應(yīng)權(quán)限的設(shè)置,同時(shí)也包括對用戶登陸或者注銷等常用的管理。
②業(yè)務(wù)展示模塊:實(shí)現(xiàn)用戶提交的各種業(yè)務(wù),并對業(yè)務(wù)結(jié)果進(jìn)行查看,分析和保存等功能。用來將系統(tǒng)的返回結(jié)果交付給用戶。
2、業(yè)務(wù)應(yīng)用層
提供了各種業(yè)務(wù)邏輯并實(shí)現(xiàn)了對各種業(yè)務(wù)流程的控制和調(diào)度。用戶提交的業(yè)務(wù)在這一層被處理,控制和調(diào)度。
業(yè)務(wù)應(yīng)用層具有的模塊包括:
①用戶界面:用戶可以通過簡單應(yīng)用的操作界面工具,進(jìn)行海量數(shù)據(jù)處理存儲。
②業(yè)務(wù)響應(yīng)模塊:相應(yīng)上層的業(yè)務(wù)模塊,對完成業(yè)務(wù)所需的子業(yè)務(wù)進(jìn)行調(diào)用、管理,并通過調(diào)用底層模塊完成業(yè)務(wù)。
3、數(shù)據(jù)處理層
為業(yè)務(wù)應(yīng)用層提供數(shù)據(jù)挖掘階段業(yè)務(wù)流需要的各個(gè)模塊,并且具有較細(xì)的粒度。如數(shù)據(jù)預(yù)處理,模式評估,數(shù)據(jù)挖掘等組件。這一層是整個(gè)系統(tǒng)的核心,在這一層,主要的任務(wù)在于實(shí)現(xiàn)各種任務(wù)過程中算法的并行化,并將任務(wù)提交到 Hadoop 分布計(jì)算層進(jìn)行運(yùn)算。并將結(jié)果返回給業(yè)務(wù)應(yīng)用層。
數(shù)據(jù)處理層具有的模塊包括:
①系統(tǒng)管理模塊:對系統(tǒng)實(shí)現(xiàn)分布式管理。主要包括:負(fù)載平衡管理、系統(tǒng)日志管理、對象事務(wù)管理、系統(tǒng)遠(yuǎn)程部署管理等。
②數(shù)據(jù)加載模塊:將挖掘所需的數(shù)據(jù)進(jìn)行注冊并放入系統(tǒng)的 HDFS 文件系統(tǒng)。
③數(shù)據(jù)存儲模塊:提供對海量數(shù)據(jù)的并行加載、處理和存儲功能。將數(shù)據(jù)從其他外設(shè)中導(dǎo)入平臺的HDFS;并行ETL 模塊用來對HDFS中的原始數(shù)據(jù)進(jìn)行處理得到存儲數(shù)據(jù);并行存儲模塊提供對處理后的數(shù)據(jù)進(jìn)行存儲.
④并行查詢模塊:提供對海量數(shù)據(jù)的并行查詢、用戶自定義事務(wù)處理等功能。
⑤備份恢復(fù)模塊:提供對系統(tǒng)存儲數(shù)據(jù)的備份管理、備份存儲、備份恢復(fù)等功能,增強(qiáng)系統(tǒng)的安全
性和容錯性。
⑥模式評估模塊:Hadoop 框架自身提供了 HDFS,MapReduce 運(yùn)行模式、運(yùn)算環(huán)境以及自動管理。
4、分布式計(jì)算層
使用 HADOOP 框架來實(shí)現(xiàn)集群存儲、計(jì)算。Hadoop 提供了分布式文件系統(tǒng)和并行的運(yùn)行模式,同時(shí)實(shí)現(xiàn)了對分布式系統(tǒng)的管理。我們需要在此之上實(shí)現(xiàn)任務(wù)提交的 Server。
3總結(jié)
本文分析了對現(xiàn)階段基于云計(jì)算平臺實(shí)現(xiàn)的數(shù)據(jù)挖掘研究以及開源的集群框架Hadoop的研究現(xiàn)狀作了分析。并在此基礎(chǔ)上設(shè)計(jì)了基于Hadoop的數(shù)據(jù)存儲系統(tǒng)的基本架構(gòu)。采用以 Hadoop分布式平臺作為基礎(chǔ),以 HDFS分布式文件系統(tǒng)和MapReduce 并行計(jì)算模型作為處理數(shù)據(jù)的方法。同時(shí)給出了系統(tǒng)的模型并簡要介紹了各個(gè)功能模塊。通過將數(shù)據(jù)挖掘技術(shù)與云計(jì)算時(shí)代下的集群框架 Hadoop結(jié)合起來,利用集群巨大的計(jì)算能力和存儲能力,從而實(shí)現(xiàn)對超大規(guī)模數(shù)據(jù)挖掘的性能提升。
參考文獻(xiàn):
[1]維基百科 Apache Hadoop [EB/01] http:///wiki/Apache_Hadoop,2015
[2]Hadoop 技術(shù) [EB/01] http:/// ,2010
[3]朱珠. 基于 Hadoop 的海量數(shù)據(jù)處理模型研究和應(yīng)用[D].北京:北京郵電大學(xué),2008.
[4]JeffreyDean, SanjayGhemawat. MapReduce: Symplified Data Processing on Large Clusters
[J].NewYork: ACM, 2008, 51(1):107~113.
[5]韓家煒, 坎伯. 數(shù)據(jù)挖掘概念與技術(shù)[M]. 北京:機(jī)械工業(yè)出版社,2008.
[6]Dean J,Ghemawat S.MapReduce:Simplifier date processing on large munications of the ACM ,2008,51(1):107-113
[7]B.Callaghan,B.Pawlowski,P. Staubach RFC 1813-NFS Version 3 Protocol Specification June 1995.
[8]Jeffrey Dean. Experiences with MapReduce, an abstraction for large-scale computation Proc.15th International Conference on Parallel Architectures and Compilation Techniques,2006:1.
[9]Yang Lai, Shi ZhongZhi. An Efficient Data Ming Framework on Hadoop using Java Persistence API. 2010 10th IEEE International Conference on Computer and Information Technology (CIT 2010).
[10]Bhandarkar, M. MapReduce programming with apache Hadoop. Parallel & Distributed Processing (IPDPS), 2010 IEEE International Symposium on, Atlanta, GA.
關(guān)鍵詞:云計(jì)算;云存儲;分布式文件系統(tǒng);安全問題
中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A文章編號:1007-9599 (2011) 17-0000-01
Data Storage Issue Study under Cloud Computing Environment
Cai Guoyu
(Beijing Mandarin Gene Research Center,Beijing101300,China)
Abstract:With the continuous development of computer technology,cloud computing and cloud storage as a new model,increasingly subject to personal and business concerns.In this paper,a brief description of cloud computing,based on the cloud computing environment for data storage is cloud storage body for analysis and research,demonstrated the great advantage of cloud storage and cloud storage constraints on the further development of a number of issues discussion.
Keywords:Cloud computing;Cloud storage;Distributed file systems;Security
伴隨著信息通信和處理技術(shù)的高速發(fā)展,計(jì)算機(jī)自問世以來,已經(jīng)跨越了單機(jī)系統(tǒng)時(shí)代、網(wǎng)絡(luò)系統(tǒng)時(shí)代、Web服務(wù)與網(wǎng)絡(luò)時(shí)代,進(jìn)入了云計(jì)算時(shí)代。云計(jì)算的出現(xiàn),帶來了商業(yè)模式和工作方式的革命性轉(zhuǎn)變,改變了過去數(shù)據(jù)主要集中在本地存儲和處理的傳統(tǒng)模式,使得企業(yè)機(jī)構(gòu)和個(gè)人能夠方便快捷地通過網(wǎng)絡(luò)享受到計(jì)算力、存儲空間和軟件等服務(wù),極大地降低了硬件等基礎(chǔ)設(shè)施的重復(fù)購置和閑置,有效避免了人力資源的浪費(fèi),節(jié)約了大量的資金和人力支出。
一、云計(jì)算定義
云計(jì)算是一種基于共享基礎(chǔ)架構(gòu)的商業(yè)計(jì)算模型,是分布式計(jì)算、網(wǎng)格計(jì)算和并行計(jì)算等多種計(jì)算方式的發(fā)展和商業(yè)實(shí)現(xiàn)。從實(shí)質(zhì)上看,云計(jì)算就是一種分布式計(jì)算,通過網(wǎng)絡(luò)將分散的計(jì)算與存儲資源有效地連接、整合起來,為用戶提供服務(wù)。而實(shí)現(xiàn)云計(jì)算服務(wù)的基本條件之一就是高性能的云存儲。
二、云存儲概況
云存儲是伴隨云計(jì)算概念發(fā)展出來的新課題,它通過網(wǎng)絡(luò)和分布式文件系統(tǒng)將分散的存儲設(shè)備連接、整合成一個(gè)高效、便捷、可靠的系統(tǒng),通過某種應(yīng)用軟件共同一致地對外提供在線數(shù)據(jù)存儲和業(yè)務(wù)訪問服務(wù)。下面就云存儲的一些主要問題做個(gè)簡要的介紹。
(一)分布式文件系統(tǒng)。分布式文件系統(tǒng)是云存儲的核心。利用分布式文件系統(tǒng)可以實(shí)現(xiàn)云存儲系統(tǒng)中不同存儲設(shè)備之間的協(xié)同工作,對外提供同一種服務(wù),并提供更優(yōu)質(zhì)更快速的數(shù)據(jù)訪問性能。分布式文件系統(tǒng)的特點(diǎn):(1)安全性(2)可靠性(3)實(shí)用性(4)可維護(hù)和拓展升級性(5)數(shù)據(jù)可復(fù)制和同步性。
(二)云存儲技術(shù)。為保證數(shù)據(jù)的安全、可靠、實(shí)用,云計(jì)算采用分布式存儲的方式和冗余存儲的方法來進(jìn)行數(shù)據(jù)的存儲,具有數(shù)據(jù)處理能力強(qiáng)和傳輸迅速的優(yōu)點(diǎn)。目前,較為成熟的主流云計(jì)算數(shù)據(jù)存儲技術(shù)有谷歌的GFS和Hadoop開發(fā)團(tuán)隊(duì)開發(fā)的HDFS。
三、云存儲的優(yōu)勢
云存儲作為一種新興的存儲模式,具有不可抗拒的諸多優(yōu)點(diǎn):
(一)對政府機(jī)構(gòu)用戶。由于政府機(jī)構(gòu)的特殊性,對其數(shù)據(jù)安全性和可備份性的要求特別嚴(yán)格。云存儲的應(yīng)用,避免了因不可抗力或操作不當(dāng)情況等原因,而造成數(shù)據(jù)丟失所引發(fā)的嚴(yán)重后果,節(jié)約了大量額外財(cái)政支出。
(二)對企業(yè)用戶。隨著企業(yè)信息化建設(shè)的不斷發(fā)展和深化,現(xiàn)代企業(yè)越來越重視核心數(shù)據(jù)的存儲安全和信息管理系統(tǒng)化辦公的實(shí)現(xiàn)。云存儲模式的不斷成熟,使得企業(yè)可以通過網(wǎng)絡(luò),在云端建立包括數(shù)據(jù)庫和各類信息管理系統(tǒng)在內(nèi)的綜合平臺,實(shí)現(xiàn)遠(yuǎn)程移動辦公,實(shí)現(xiàn)管理信息系統(tǒng)化。企業(yè)信息化的發(fā)展,促進(jìn)了信息的有效流通和資源知識的共享,極大提高了工作和管理效率,降低了管理成本,為企業(yè)適應(yīng)激烈的市場經(jīng)濟(jì)競爭環(huán)境,求得最大經(jīng)濟(jì)效益提供了保證。
(三)對個(gè)人用戶。云存儲模式的出現(xiàn),為個(gè)人用戶提供了幾乎無限容量的穩(wěn)定空間,以便其保存日益增多的照片、視頻、音頻、電子文檔等個(gè)人數(shù)據(jù)。用戶可以通過功能設(shè)置,進(jìn)行數(shù)據(jù)文檔的瀏覽、同步修改、共享等操作,十分便捷和方便。
四、云存儲發(fā)展應(yīng)該注意的問題
目前來看,云存儲還不那么完善和成熟,處于快速發(fā)展階段。它的完善和成熟,不單單是單純靠技術(shù)層面所能解決的。云存儲要想得到類型不同、不同需求群體的共同認(rèn)可,得到大范圍的廣泛應(yīng)用,還有諸多問題亟待解決。
(一)安全性。不同用戶的數(shù)據(jù),包括著大量的機(jī)密和個(gè)人隱私等均被遠(yuǎn)程存儲到同一個(gè)云存儲提供商那里,如何才能保證其數(shù)據(jù)具有安全性和私密性,保證私有數(shù)據(jù)不被云存儲提供商內(nèi)部或無授權(quán)的用戶瀏覽和散播,是制約云存儲發(fā)展的首要問題。
(二)可靠性。若云端數(shù)據(jù)遭到破壞,造成數(shù)據(jù)的全部或部分丟失、缺損,云存儲提供商能否快速全面的恢復(fù)數(shù)據(jù),并保證數(shù)據(jù)的完整性。
(三)實(shí)用性和便捷性。通過密碼驗(yàn)證或其他有效的形式,云存儲提供商必須保證任何用戶使用任何終端,均能通過網(wǎng)絡(luò)在任何時(shí)間、地點(diǎn)享受到云存儲的優(yōu)質(zhì)服務(wù),并且做到操作簡易和人性化。
(四)優(yōu)質(zhì)服務(wù)。用戶與云存儲提供商簽訂服務(wù)協(xié)議或合同后,將數(shù)據(jù)存儲到云端,云存儲提供商必須要保證提供7*24小時(shí)不間斷的優(yōu)質(zhì)貼心服務(wù)。對用戶反饋的問題或意見,能及時(shí)解決和處理。
(五)低成本性。云存儲的一大優(yōu)勢就是成本優(yōu)勢,因此云存儲提供商應(yīng)采取有效措施,在保證安全可靠的前提下,進(jìn)行技術(shù)創(chuàng)新和改進(jìn),不斷降低成本,促進(jìn)云存儲服務(wù)的大面積普及。
五、結(jié)束語
作為目前來說的一種先進(jìn)技術(shù),云存儲占據(jù)著壓倒性的優(yōu)勢,有著不可抗拒的吸引力,代表著未來存儲發(fā)展的必然趨勢。我們下一步的重點(diǎn),將是從技術(shù)、用戶需求等多層面、多角度著手,完全解決實(shí)用性、可靠性、安全性等問題,促進(jìn)云存儲的盡快成熟和完善,以便其早日獲得廣泛應(yīng)用。
參考文獻(xiàn):
[1]王德政,申山宏,周寧寧.云計(jì)算環(huán)境下的數(shù)據(jù)存儲[J].計(jì)算機(jī)技術(shù)與發(fā)展,2011,21-4:81
關(guān)鍵詞 云計(jì)算 虛擬化 云存儲 分布式計(jì)算
中圖分類號:TP3 文獻(xiàn)標(biāo)識碼:A
1云計(jì)算的概念
云計(jì)算的定義眾多,目前廣為認(rèn)同的一點(diǎn)是,云計(jì)算是分布式處理、并行處理和網(wǎng)格計(jì)算的發(fā)展,或者說是這些計(jì)算機(jī)科學(xué)概念的商業(yè)實(shí)現(xiàn)。云計(jì)算是一種資源交付和使用模式,指通過網(wǎng)絡(luò)獲得應(yīng)用所需的資源(硬件、軟件、平臺)。云計(jì)算將計(jì)算從客戶終端集中到“云端”,作為應(yīng)用通過互聯(lián)網(wǎng)提供給用戶,計(jì)算通過分布式計(jì)算等技術(shù)由多臺計(jì)算機(jī)共同完成。用戶只關(guān)心應(yīng)用的功能,而不關(guān)心應(yīng)用的實(shí)現(xiàn)方式,應(yīng)用的實(shí)現(xiàn)和維護(hù)由其提供商完成,用戶根據(jù)自己的需要選擇相應(yīng)的應(yīng)用。云計(jì)算不是一個(gè)工具、平臺或者架構(gòu),而是一種計(jì)算的方式。
2云計(jì)算在國內(nèi)外發(fā)展?fàn)顩r
盡管云計(jì)算的思想孕育很久,但是在國外(主要是美國)取得蓬勃發(fā)展也是最近十來年的事情。2003年,美國國家科學(xué)基金(NSF)投資830萬美元支持由美國七所頂尖院校提出的“網(wǎng)絡(luò)虛擬化和云計(jì)算VGrADS”項(xiàng)目,由此正式啟動了云計(jì)算的研發(fā)工作。2009年4月,谷歌推出了Google應(yīng)用軟件引擎(Google App Engine)運(yùn)行大型并行應(yīng)用程序。Apple是云計(jì)算領(lǐng)域的另一位角色,從近年來推出的iTunes服務(wù),到MobileMe服務(wù),到收購在線音樂服務(wù)商Lala,再到最近在美國北卡萊羅納州投資10億美元建立新數(shù)據(jù)中心的計(jì)劃,無不顯示其進(jìn)軍云計(jì)算領(lǐng)域的巨大決心。
而國內(nèi)近幾年在云計(jì)算方面取得了長足的發(fā)展。國內(nèi)的云計(jì)算發(fā)展雖處于起步階段,但各大通信運(yùn)營商都表現(xiàn)得異?;钴S。中國移動推出了“大云”(Big Cloud)云計(jì)算基礎(chǔ)服務(wù)平臺,中國電信退出了“e云”云計(jì)算平臺,中國聯(lián)通則是推出了“互聯(lián)云”平臺。
3云計(jì)算的原理
云計(jì)算的基本原理是,通過使計(jì)算分布在大量的分布式計(jì)算機(jī)上,而非本地計(jì)算機(jī)或遠(yuǎn)程服務(wù)器中,企業(yè)數(shù)據(jù)中心的運(yùn)行將更相似于互聯(lián)網(wǎng)。這使得企業(yè)能夠?qū)①Y源切換到需要的應(yīng)用上,根據(jù)需求訪問計(jì)算機(jī)和存儲系統(tǒng)。云計(jì)算就是把普通的服務(wù)器或者個(gè)人計(jì)算機(jī)連接起來,以獲得超級計(jì)算機(jī)也叫高性能和高可用性計(jì)算機(jī)的功能,但是成本更低。云計(jì)算的出現(xiàn)使高性能并行計(jì)算不再是科學(xué)家和專業(yè)人士的專利,普通的用戶也能通過云計(jì)算享受高性能并行計(jì)算所帶來的便利,使人人都有機(jī)會使用并行機(jī),從而大大提高工作效率和計(jì)算資源的利用率。云計(jì)算模式可以簡單理解為不論服務(wù)的類型,或者是執(zhí)行服務(wù)的信息架構(gòu),通過因特網(wǎng)提供應(yīng)用服務(wù),讓使用者通過瀏覽器就能使用,不需要了解服務(wù)器在哪里,內(nèi)部如何運(yùn)作。
4云計(jì)算的核心技術(shù)
云計(jì)算系統(tǒng)運(yùn)用了許多技術(shù),其中以編程模型、數(shù)據(jù)管理技術(shù)、數(shù)據(jù)存儲技術(shù)、虛擬化技術(shù)、云計(jì)算平臺管理技術(shù)最為關(guān)鍵。
(1)編程模型
MapReduce是Google開發(fā)的java、Python、C++編程模型,它是一種簡化的分布式編程模型和高效的任務(wù)調(diào)度模型,用于大規(guī)模數(shù)據(jù)集(大于1TB)的并行運(yùn)算。嚴(yán)格的編程模型使云計(jì)算環(huán)境下的編程十分簡單。MapReduce模式的思想是將要執(zhí)行的問題分解成Map(映射)和Reduce(化簡)的方式,先通過Map程序?qū)?shù)據(jù)切割成不相關(guān)的區(qū)塊,分配(調(diào)度)給大量計(jì)算機(jī)處理,達(dá)到分布式運(yùn)算的效果,再通過Reduce程序?qū)⒔Y(jié)果匯整輸出。
(2)海量數(shù)據(jù)分布存儲技術(shù)
云計(jì)算系統(tǒng)由大量服務(wù)器組成,同時(shí)為大量用戶服務(wù),因此云計(jì)算系統(tǒng)采用分布式存儲的方式存儲數(shù)據(jù),用冗余存儲的方式保證數(shù)據(jù)的可靠性。云計(jì)算系統(tǒng)中廣泛使用的數(shù)據(jù)存儲系統(tǒng)是Google的GFS和Hadoop團(tuán)隊(duì)開發(fā)的GFS的開源實(shí)現(xiàn)HDFS。
(3)海量數(shù)據(jù)管理技術(shù)
云計(jì)算需要對分布的、海量的數(shù)據(jù)進(jìn)行處理、分析,因此,數(shù)據(jù)管理技術(shù)必需能夠高效的管理大量的數(shù)據(jù)。云計(jì)算系統(tǒng)中的數(shù)據(jù)管理技術(shù)主要是Google的BT(BigTable)數(shù)據(jù)管理技術(shù)和Hadoop團(tuán)隊(duì)開發(fā)的開源數(shù)據(jù)管理模塊HBase。
5云計(jì)算的挑戰(zhàn)和展望
云計(jì)算技術(shù)的發(fā)展面臨這一系列的挑戰(zhàn),例如:使用云計(jì)算來完成任務(wù)能獲得哪些優(yōu)勢;可以實(shí)施哪些策略、做法或者立法來支持或限制云計(jì)算的采用;如何提供有效的計(jì)算和提高存儲資源的利用率等等。此外,云計(jì)算宣告了低成本超級計(jì)算機(jī)服務(wù)的可能,一旦這些“云”被用來破譯各類密碼、進(jìn)行各種攻擊,將會對用戶的數(shù)據(jù)安全帶來極大的危險(xiǎn)。
云計(jì)算未來有兩個(gè)發(fā)展方向:一個(gè)是構(gòu)建與應(yīng)用程序緊密結(jié)合的大規(guī)模底層基礎(chǔ)設(shè)施,使得應(yīng)用能夠擴(kuò)展到很大的規(guī)模;另一個(gè)是通過構(gòu)建新型的云計(jì)算應(yīng)用程序。在網(wǎng)絡(luò)上提供更加豐富的用戶體驗(yàn),第一個(gè)發(fā)展趨勢能夠從現(xiàn)在得云計(jì)算研究狀況中體現(xiàn)出來,而在云計(jì)算應(yīng)用的構(gòu)造上,很多新型的社會服務(wù)型網(wǎng)絡(luò),如Facebook等,已經(jīng)體現(xiàn)了這個(gè)趨勢,而在研究上則開始注重如何通過云計(jì)算基礎(chǔ)平臺將多個(gè)業(yè)務(wù)融合起來。