- 大數據技術原理與應用(第2版)
- 林子雨編著
- 7719字
- 2019-07-30 13:20:25
1.8 大數據與云計算、物聯網
云計算、大數據和物聯網代表了IT領域最新的技術發展趨勢,三者相輔相成,既有聯系又有區別。為了更好地理解三者之間的緊密關系,下面將首先簡要介紹云計算和物聯網的概念,再分析云計算、大數據和物聯網的區別與聯系。
1.8.1 云計算
1.云計算的概念
云計算實現了通過網絡提供可伸縮的、廉價的分布式計算能力,用戶只需要在具備網絡接入條件的地方,就可以隨時隨地獲得所需的各種IT資源。云計算代表了以虛擬化技術為核心、以低成本為目標的、動態可擴展的網絡應用基礎設施,是近年來最有代表性的網絡計算技術與模式。
云計算包括3種典型的服務模式(見圖1-7),即IaaS(基礎設施即服務)、PaaS(平臺即服務)和SaaS(軟件即服務)。IaaS將基礎設施(計算資源和存儲)作為服務出租,PaaS把平臺作為服務出租,SaaS把軟件作為服務出租。

圖1-7 云計算的服務模式和類型
云計算包括公有云、私有云和混合云3種類型(見圖1-7)。公有云面向所有用戶提供服務,只要是注冊付費的用戶都可以使用,比如Amazon AWS;私有云只為特定用戶提供服務,比如大型企業出于安全考慮自建的云環境,只為企業內部提供服務;混合云綜合了公有云和私有云的特點,因為對于一些企業而言,一方面出于安全考慮需要把數據放在私有云中,另一方面又希望可以獲得公有云的計算資源,為了獲得最佳的效果,就可以把公有云和私有云進行混合搭配使用。
可以采用云計算管理軟件來構建云環境(公有云或私有云),OpenStack就是一種非常流行的構建云環境的開源軟件。OpenStack 管理的資源不是單機的而是一個分布的系統,它把分布的計算、存儲、網絡、設備、資源組織起來,形成一個完整的云計算系統,幫助服務商和企業內部實現類似于 Amazon EC2 和 S3 的云基礎架構服務。
2.云計算的關鍵技術
云計算的關鍵技術包括虛擬化、分布式存儲、分布式計算、多租戶等。
(1)虛擬化
虛擬化技術是云計算基礎架構的基石,是指將一臺計算機虛擬為多臺邏輯計算機,在一臺計算機上同時運行多個邏輯計算機,每個邏輯計算機可運行不同的操作系統,并且應用程序都可以在相互獨立的空間內運行而互不影響,從而顯著提高計算機的工作效率。
虛擬化的資源可以是硬件(如服務器、磁盤和網絡),也可以是軟件。以服務器虛擬化為例,它將服務器物理資源抽象成邏輯資源,讓一臺服務器變成幾臺甚至上百臺相互隔離的虛擬服務器,不再受限于物理上的界限,而是讓CPU、內存、磁盤、I/O等硬件變成可以動態管理的“資源池”,從而提高資源的利用率,簡化系統管理,實現服務器整合,讓IT對業務的變化更具適應力。
Hyper-V、VMware、KVM、Virtualbox、Xen、Qemu等都是非常典型的虛擬化技術。Hyper-V是微軟的一款虛擬化產品,旨在為用戶提供成本效益更高的虛擬化基礎設施軟件,從而為用戶降低運作成本,提高硬件利用率,優化基礎設施,提高服務器的可用性。VMware(威睿)是全球桌面到數據中心虛擬化解決方案的領導廠商。
近年來發展起來的容器技術(如Docker),是不同于VMware等傳統虛擬化技術的一種新型輕量級虛擬化技術(也被稱為“容器型虛擬化技術”)。與 VMware 等傳統虛擬化技術相比,Docker 容器具有啟動速度快、資源利用率高、性能開銷小等優點,受到業界青睞,并得到了越來越廣泛的應用。
(2)分布式存儲
面對“數據爆炸”的時代,集中式存儲已經無法滿足海量數據的存儲需求,分布式存儲應運而生。GFS(Google File System)是谷歌公司推出的一款分布式文件系統,可以滿足大型、分布式、對大量數據進行訪問的應用的需求。GFS具有很好的硬件容錯性,可以把數據存儲到成百上千臺服務器上面,并在硬件出錯的情況下盡量保證數據的完整性。GFS還支持GB或者TB級別超大文件的存儲,一個大文件會被分成許多塊,分散存儲在由數百臺機器組成的集群里。HDFS(Hadoop Distributed File System)是對GFS的開源實現,它采用了更加簡單的“一次寫入、多次讀取”文件模型,文件一旦創建、寫入并關閉了,之后就只能對它執行讀取操作,而不能執行任何修改操作;同時,HDFS是基于Java實現的,具有強大的跨平臺兼容性,只要是JDK支持的平臺都可以兼容。
谷歌公司后來又以GFS為基礎開發了分布式數據管理系統BigTable,它是一個稀疏、分布、持續多維度的排序映射數組,適合于非結構化數據存儲的數據庫,具有高可靠性、高性能、可伸縮等特點,可在廉價PC服務器上搭建起大規模存儲集群。HBase是針對BigTable的開源實現。
(3)分布式計算
面對海量的數據,傳統的單指令單數據流順序執行的方式已經無法滿足快速數據處理的要求;同時,我們也不能寄希望于通過硬件性能的不斷提升來滿足這種需求,因為晶體管電路已經逐漸接近其物理上的性能極限,摩爾定律已經開始慢慢失效,CPU處理能力再也不會每隔 18個月翻一番。在這樣的大背景下,谷歌公司提出了并行編程模型MapReduce,讓任何人都可以在短時間內迅速獲得海量計算能力,它允許開發者在不具備并行開發經驗的前提下也能夠開發出分布式的并行程序,并讓其同時運行在數百臺機器上,在短時間內完成海量數據的計算。MapReduce將復雜的、運行于大規模集群上的并行計算過程抽象為兩個函數——Map和Reduce,并把一個大數據集切分成多個小的數據集,分布到不同的機器上進行并行處理,極大提高了數據處理速度,可以有效滿足許多應用對海量數據的批量處理需求。Hadoop開源實現了MapReduce編程框架,被廣泛應用于分布式計算。
(4)多租戶
多租戶技術目的在于使大量用戶能夠共享同一堆棧的軟硬件資源,每個用戶按需使用資源,能夠對軟件服務進行客戶化配置,而不影響其他用戶的使用。多租戶技術的核心包括數據隔離、客戶化配置、架構擴展和性能定制。
3.云計算數據中心
云計算數據中心是一整套復雜的設施,包括刀片服務器、寬帶網絡連接、環境控制設備、監控設備以及各種安全裝置等。數據中心是云計算的重要載體,為云計算提供計算、存儲、帶寬等各種硬件資源,為各種平臺和應用提供運行支撐環境。
谷歌、微軟、IBM、惠普、戴爾等國際IT巨頭,紛紛投入巨資在全球范圍內大量修建數據中心,旨在掌握云計算發展的主導權。我國政府和企業也都在加大力度建設云計算數據中心。內蒙古提出了“西數東輸”發展戰略,即把本地的數據中心通過網絡提供給其他省份用戶使用。福建省泉州市安溪縣的中國國際信息技術(福建)產業園的數據中心,是福建省重點建設的兩大數據中心之一,由惠普公司承建,擁有5 000臺刀片服務器,是亞洲規模最大的云渲染平臺。阿里巴巴集團公司在甘肅玉門建設的數據中心,是我國第一個綠色環保的數據中心,電力全部來自于風力發電,用祁連山融化的雪水冷卻數據中心產生的熱量。貴州被公認為我國南方最適合建設數據中心的地方,目前,中國移動、聯通、電信三大運營商都將南方數據中心建在貴州。2015年,整個貴州省的服務器規模為20余萬臺,未來規劃建設服務器規模200萬臺。
4.云計算的應用
云計算在電子政務、醫療、衛生、教育、企業等領域的應用不斷深化,對提高政府服務水平、促進產業轉型升級和培育發展新興產業等都起到了關鍵的作用。政務云上可以部署公共安全管理、容災備份、城市管理、應急管理、智能交通、社會保障等應用,通過集約化建設、管理和運行,可以實現信息資源整合和政務資源共享,推動政務管理創新,加快向服務型政府轉型。教育云可以有效整合幼兒教育、中小學教育、高等教育以及繼續教育等優質教育資源,逐步實現教育信息共享、教育資源共享及教育資源深度挖掘等目標。中小企業云能夠讓企業以低廉的成本建立財務、供應鏈、客戶關系等管理應用系統,大大降低企業信息化門檻,迅速提升企業信息化水平,增強企業市場競爭力。醫療云可以推動醫院與醫院、醫院與社區、醫院與急救中心、醫院與家庭之間的服務共享,并形成一套全新的醫療健康服務系統,從而有效地提高醫療保健的質量。
5.云計算產業
云計算產業作為戰略性新興產業,近些年得到了迅速發展,形成了成熟的產業鏈結構(見圖1-8),產業涵蓋硬件與設備制造、基礎設施運營、軟件與解決方案供應商、基礎設施即服務(IaaS)、平臺即服務(PaaS)、軟件即服務(SaaS)、終端設備、云安全、云計算交付/咨詢/認證等環節。

圖1-8 云計算產業鏈
硬件與設備制造環節包括了絕大部分傳統硬件制造商,這些廠商都已經在某種形式上支持虛擬化和云計算,主要包括Intel、AMD、Cisco、SUN等。基礎設施運營環節包括數據中心運營商、網絡運營商、移動通信運營商等。軟件與解決方案供應商主要以虛擬化管理軟件為主,包括IBM、微軟、思杰、SUN、Redhat等。IaaS將基礎設施(計算和存儲等資源)作為服務出租,向客戶出售服務器、存儲和網絡設備、帶寬等基礎設施資源,廠商主要包括Amazon、Rackspace、Gogrid、Gridplayer等。PaaS把平臺(包括應用設計、應用開發、應用測試、應用托管等)作為服務出租,廠商主要包括谷歌、微軟、新浪、阿里巴巴等。SaaS則把軟件作為服務出租,向用戶提供各種應用,廠商主要包括 Salesforce、谷歌等。云安全旨在為各類云用戶提供高可信的安全保障,廠商主要包括IBM、OpenStack等。云計算交付/咨詢/認證環節包括了三大交付以及咨詢認證服務商,這些服務商已經支持絕大多數形式的云計算咨詢及認證服務,主要包括IBM、微軟、Oracle、思杰等。
1.8.2 物聯網
物聯網是新一代信息技術的重要組成部分,具有廣泛的用途,同時和云計算、大數據有著千絲萬縷的緊密聯系。
1.物聯網的概念
物聯網是物物相連的互聯網,是互聯網的延伸,它利用局部網絡或互聯網等通信技術把傳感器、控制器、機器、人員和物等通過新的方式連在一起,形成人與物、物與物相連,實現信息化和遠程管理控制。
從技術架構上來看,物聯網可分為四層(見圖1-9):感知層、網絡層、處理層和應用層。每層的具體功能見表1-8。

圖1-9 物聯網體系架構
表1-8 物聯網各個層次的功能

下面給出一個簡單的智能公交實例來加深對物聯網概念的理解。目前,很多城市居民的智能手機中都安裝了“掌上公交”APP,可以用手機隨時隨地查詢每輛公交車的當前到達位置信息,這就是一種非常典型的物聯網應用。在智能公交應用中,每輛公交車都安裝了 GPS 定位系統和3G/4G網絡傳輸模塊,在車輛行駛過程中,GPS定位系統會實時采集公交車當前到達位置信息,并通過車上的3G/4G網絡傳輸模塊發送給車輛附近的移動通信基站,經由電信運營商的3G/4G移動通信網絡傳送到智能公交指揮調度中心的數據處理平臺,平臺再把公交車位置數據發送給智能手機用戶,用戶的“掌上公交”軟件就會顯示出公交車的當前位置信息。這個應用實現了“物與物的相連”,即把公交車和手機這兩個物體連接在一起,讓手機可以實時獲得公交車的位置信息,進一步講,實際上也實現了“物和人的連接”,讓手機用戶可以實時獲得公交車位置信息。在這個應用中,安裝在公交車上的 GPS 定位設備就屬于物聯網的感知層;安裝在公交車上的 3G/4G 網絡傳輸模塊以及電信運營商的3G/4G移動通信網絡屬于物聯網的網絡層;智能公交指揮調度中心的數據處理平臺屬于物聯網的處理層;智能手機上安裝的“掌上公交”APP屬于物聯網的應用層。
2.物聯網關鍵技術
物聯網是物與物相連的網絡,通過為物體加裝二維碼、RFID 標簽、傳感器等,就可以實現物體身份唯一標識和各種信息的采集,再結合各種類型網絡連接,就可以實現人和物、物和物之間的信息交換。因此,物聯網中的關鍵技術包括識別和感知技術(二維碼、RFID、傳感器等)、網絡與通信技術、數據挖掘與融合技術等。
(1)識別和感知技術
二維碼是物聯網中一種很重要的自動識別技術,是在一維條碼基礎上擴展出來的條碼技術。二維碼包括堆疊式/行排式二維碼和矩陣式二維碼,后者較為常見。如圖 1-10 所示,矩陣式二維碼在一個矩形空間中通過黑、白像素在矩陣中的不同分布進行編碼。在矩陣相應元素位置上,用點(方點、圓點或其他形狀)的出現表示二進制“1”,點的不出現表示二進制的“0”,點的排列組合確定了矩陣式二維條碼所代表的意義。二維碼具有信息容量大、編碼范圍廣、容錯能力強、譯碼可靠性高、成本低易制作等良好特性,已經得到了廣泛的應用。
RFID 技術用于靜止或移動物體的無接觸自動識別,具有全天候、無接觸、可同時實現多個物體自動識別等特點。RFID技術在生產和生活中得到了廣泛的應用,大大推動了物聯網的發展,我們平時使用的公交卡、門禁卡、校園卡等都嵌入了 RFID 芯片,可以實現迅速、便捷的數據交換。從結構上講,RFID是一種簡單的無線通信系統,由RFID讀寫器和RFID標簽兩個部分組成。RFID標簽是由天線、耦合元件、芯片組成的,是一個能夠傳輸信息、回復信息的電子模塊。RFID讀寫器也是由天線、耦合元件、芯片組成的,用來讀取(或者有時也可以寫入)RFID 標簽中的信息。RFID使用RFID讀寫器及可附著于目標物的RFID標簽,利用頻率信號將信息由RFID標簽傳送至RFID讀寫器。以公交卡為例,市民持有的公交卡就是一個RFID標簽(見圖1-11),公交車上安裝的刷卡設備就是 RFID 讀寫器,當我們執行刷卡動作時,就完成了一次 RFID 標簽和RFID讀寫器之間的非接觸式通信和數據交換。

圖1-10 矩陣式二維碼

圖1-11 采用RFID芯片的公交卡
傳感器是一種能感受規定的被測量件并按照一定的規律(數學函數法則)轉換成可用信號的器件或裝置,具有微型化、數字化、智能化、網絡化等特點。人類需要借助于耳朵、鼻子、眼睛等感覺器官感受外部物理世界,類似地,物聯網也需要借助于傳感器實現對物理世界的感知。物聯網中常見的傳感器類型有光敏傳感器、聲敏傳感器、氣敏傳感器、化學傳感器、壓敏傳感器、溫敏傳感器、流體傳感器等(見圖1-12),可以用來模仿人類的視覺、聽覺、嗅覺、味覺和觸覺。

圖1-12 不同類型的傳感器
(2)網絡與通信技術
物聯網中的網絡與通信技術包括短距離無線通信技術和遠程通信技術。短距離無線通信技術包括ZigBee、NFC、藍牙、Wi-Fi、RFID等。遠程通信技術包括互聯網、2G/3G/4G移動通信網絡、衛星通信網絡等。
(3)數據挖掘與融合技術
物聯網中存在大量數據來源、各種異構網絡和不同類型系統,如此大量的不同類型數據,如何實現有效整合、處理和挖掘,是物聯網處理層需要解決的關鍵技術問題。今天,云計算和大數據技術的出現,為物聯網數據存儲、處理和分析提供了強大的技術支撐,海量物聯網數據可以借助于龐大的云計算基礎設施實現廉價存儲,利用大數據技術實現快速處理和分析,滿足各種實際應用需求。
3.物聯網的應用
物聯網已經廣泛應用于智能交通、智慧醫療、智能家居、環保監測、智能安防、智能物流、智能電網、智慧農業、智能工業等領域,對國民經濟與社會發展起到了重要的推動作用,具體如下。
● 智能交通。利用RFID、攝像頭、線圈、導航設備等物聯網技術構建的智能交通系統,可以讓人們隨時隨地通過智能手機、大屏幕、電子站牌等方式,了解城市各條道路的交通狀況、所有停車場的車位情況、每輛公交車的當前到達位置等信息,合理安排行程,提高出行效率。
● 智慧醫療。醫生利用平板電腦、智能手機等手持設備,通過無線網絡,可以隨時連接訪問各種診療儀器,實時掌握每個病人的各項生理指標數據,科學、合理地制定診療方案,甚至可以支持遠程診療。
● 智能家居。利用物聯網技術提升家居安全性、便利性、舒適性、藝術性,并實現環保節能的居住環境。比如,可以在工作單位通過智能手機遠程開啟家里的電飯煲、空調、門鎖、監控、窗簾和電燈等,家里的窗簾和電燈也可以根據時間和光線變化自動開啟和關閉。
● 環保監測。可以在重點區域放置監控攝像頭或水質土壤成分檢測儀器,相關數據可以實時傳輸到監控中心,出現問題時實時發出警報。
● 智能安防。采用紅外線、監控攝像頭、RFID等物聯網設備,實現小區出入口智能識別和控制、意外情況自動識別和報警、安保巡邏智能化管理等功能。
● 智能物流。利用集成智能化技術,使物流系統能模仿人的智能,具有思維、感知、學習、推理判斷和自行解決物流中某些問題的能力(如選擇最佳行車路線,選擇最佳包裹裝車方案),從而實現物流資源優化調度和有效配置,提升物流系統效率。
● 智能電網。通過智能電表,不僅可以免去抄表工的大量工作,還可以實時獲得用戶用電信息,提前預測用電高峰和低谷,為合理設計電力需求響應系統提供依據。
● 智慧農業。利用溫度傳感器、濕度傳感器和光線傳感器,實時獲得種植大棚內的農作物生長環境信息,遠程控制大棚遮光板、通風口、噴水口的開啟和關閉,讓農作物始終處于最優生長環境,提高農作物產量和品質。
● 智能工業。將具有環境感知能力的各類終端、基于泛在技術的計算模式、移動通信技術等不斷融入工業生產的各個環節,大幅提高制造效率,改善產品質量,降低產品成本和資源消耗,將傳統工業提升到智能化的新階段。
4.物聯網產業
完整的物聯網產業鏈主要包括核心感應器件提供商、感知層末端設備提供商、網絡提供商、軟件與行業解決方案提供商、系統集成商、運營及服務提供商等環節(見圖1-13),具體如下。
● 核心感應器件提供商。提供二維碼、RFID及讀寫機具、傳感器、智能儀器儀表等物聯網核心感應器件。
● 感知層末端設備提供商。提供射頻識別設備、傳感系統及設備、智能控制系統及設備、GPS設備、末端網絡產品等。
● 網絡提供商。包括電信網絡運營商、廣電網絡運營商、互聯網運營商、衛星網絡運營商和其他網絡運營商等。
● 軟件與行業解決方案提供商。提供微操作系統、中間件、解決方案等。
● 系統集成商。提供行業應用集成服務。
● 運營及服務提供商。開展行業物聯網運營及服務。

圖1-13 物聯網產業鏈
1.8.3 大數據與云計算、物聯網的關系
云計算、大數據和物聯網代表了IT領域最新的技術發展趨勢,三者既有區別又有聯系。云計算最初主要包含了兩類含義:一類是以谷歌的GFS和MapReduce為代表的大規模分布式并行計算技術;另一類是以亞馬遜的虛擬機和對象存儲為代表的“按需租用”的商業模式。但是,隨著大數據概念的提出,云計算中的分布式計算技術開始更多地被列入大數據技術,而人們提到云計算時,更多指的是底層基礎IT資源的整合優化以及以服務的方式提供IT資源的商業模式(如IaaS、PaaS、SaaS)。從云計算和大數據概念的誕生到現在,二者之間的關系非常微妙,既密不可分,又千差萬別。因此,我們不能把云計算和大數據割裂開來作為截然不同的兩類技術來看待。此外,物聯網也是和云計算、大數據相伴相生的技術。下面總結一下三者的聯系與區別(見圖1-14)。

圖1-14 大數據、云計算和物聯網三者之間的關系
第一,大數據、云計算和物聯網的區別。大數據側重于對海量數據的存儲、處理與分析,從海量數據中發現價值,服務于生產和生活;云計算本質上旨在整合和優化各種IT資源,并通過網絡以服務的方式廉價地提供給用戶;物聯網的發展目標是實現物物相連,應用創新是物聯網發展的核心。
第二,大數據、云計算和物聯網的聯系。從整體上看,大數據、云計算和物聯網這三者是相輔相成的。大數據根植于云計算,大數據分析的很多技術都來自于云計算,云計算的分布式數據存儲和管理系統(包括分布式文件系統和分布式數據庫系統)提供了海量數據的存儲和管理能力,分布式并行處理框架MapReduce提供了海量數據分析能力,沒有這些云計算技術作為支撐,大數據分析就無從談起。反之,大數據為云計算提供了“用武之地”,沒有大數據這個“練兵場”,云計算技術再先進,也不能發揮它的應用價值。物聯網的傳感器源源不斷產生的大量數據,構成了大數據的重要數據來源,沒有物聯網的飛速發展,就不會帶來數據產生方式的變革,即由人工產生階段轉向自動產生階段,大數據時代也不會這么快就到來。同時,物聯網需要借助于云計算和大數據技術,實現物聯網大數據的存儲、分析和處理。
可以說,云計算、大數據和物聯網三者已經彼此滲透、相互融合,在很多應用場合都可以同時看到三者的身影。在未來,三者會繼續相互促進、相互影響,更好地服務于社會生產和生活的各個領域。
- Mastering Proxmox(Third Edition)
- 面向STEM的mBlock智能機器人創新課程
- 數據挖掘實用案例分析
- Visual C# 2008開發技術詳解
- Machine Learning with Apache Spark Quick Start Guide
- 空間站多臂機器人運動控制研究
- 邊緣智能:關鍵技術與落地實踐
- Windows安全指南
- 貫通Java Web輕量級應用開發
- 簡明學中文版Flash動畫制作
- 企業級Web開發實戰
- Getting Started with Tableau 2018.x
- MySQL Management and Administration with Navicat
- 從機器學習到無人駕駛
- 巧學活用Linux