




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
《信息技術導論》課程教案課題:第一章云計算教學目的:1.了解云計算的概述;2.正確理解云技術架構及其技術;3.掌握云計算系統的使能技術;4.掌握。課型:新授課課時:本章安排5個課時。教學重點:重點:掌握云計算系統的使能技術。教學難點:難點:掌握。教學過程:教學形式:講授課,教學組織采用課堂整體講授和分組演示。教學媒體:采用啟發式教學、案例教學等教學方法。教學手段采用多媒體課件、視頻等媒體技術。板書設計:本課標題云計算課次3授課方式理論課□討論課□習題課□其他□課時安排5學分共2分授課對象企業管理人員的培訓任課教師教材及參考資料1.《信息技術導論》;電子工業出版社。2.本教材配套視頻教程及學習檢查等資源。3.與本課程相關的其他資源。教學基本內容教學方法及教學手段引導案例什么是云計算?美國國家標準與技術研究院對此有這樣一個權威和經典的定義:“所謂云計算,就是這樣一種模式,該模式允許用戶通過無所不在的、便捷的、按需獲得的網絡接入到一個可動態配置的共享計算資源池(包括網絡設備、服務器、存儲、應用及業務),并且以最小的管理代價或業務提供者交互復雜度即可實現這些可配置計算資源的快速發放與發布。”云計算的目標是將計算和存儲簡化為像水和電一樣易用的資源,用戶只要連上網絡即可方便地使用,按量付費。云計算具有靈活的計算能力并提供了高效的海量數據分析方法,企業不需要構建專用的數據中心就可以在云平臺上運行各種各樣的業務系統,這種計算模式和商業模式吸引了產業界和學術界的廣泛關注。虛擬化是云計算的基石,是云計算重要的支撐技術。參考以下形式:1.銜接導入2.懸念導入3.情景導入4.激疑導入5.演示導入6.實例導入7.其他形式本章基本知識匯總第一節云計算概述一、云計算的產生與發展20世紀60年代只有大型機,20世紀70年代計算機的操作系統以UNIX為主導,小型機開始成為主流。個人計算機(PC)時代到來的標志是原來昂貴的、只在特殊行業使用的大型機發展成為每個人都能負擔得起、每個人都會使用的個人計算機。個人計算機時代的到來提高了個人的工作效率和企業的生產效率。互聯網時代的到來使數億計的單個信息孤島匯集成龐大的信息網絡,方便了信息的發布、收集、檢索和共享,極大地提高了人類溝通、共享和協作的效率,提高了社會生產力,豐富了人們的社交和娛樂活動。可以說,當前絕大多數企業、學校的日常工作都依賴于互聯網。1959年6月,ChristopherStrachey發表關于虛擬化技術的論文,虛擬化技術是云計算基礎架構的基石。1962年,J.C.R.Licklider提出“星際計算機網絡”設想。1984年,Sun公司的聯合創始人JohnGage提出了“網絡就是計算機”的名言,用于描述分布式計算技術帶來的新世界,今天的云計算正在將這一理念變成現實。1997年,南加州大學教授RamnathK.Chellappa提出云計算的第一個學術定義:“計算的邊界可以不是技術局限,而是經濟合理性。”1998年,VMware公司成立并首次引入x86的虛擬化技術。1999年,MarcAndreessen創建了LoudCloud,LoudCloud是第一個商業化的IaaS平臺。同年公司成立,宣布“軟件終結”革命開始。2000年,SaaS興起。2006年3月,亞馬遜推出彈性計算云(ElasticComputeCloud)服務。2006年8月,谷歌首席執行官埃里克·施密特在搜索引擎大會首次提出“云計算”(CloudComputing)的概念。2008年2月,IBM宣布將在中國無錫太湖新城科教產業園為中國的軟件公司建立全球第一個云計算中心。2010年,阿里巴巴旗下的“阿里云”正式對外提供云計算商業服務。2013年9月,華為面向企業和運營商客戶推出云操作系統FusionSphere3.0。2015年3月,第十二屆全國人民代表大會第三次會議提出制定“互聯網+”行動計劃,推動移動互聯網、云計算、大數據、物聯網等與現代制造業結合,促進電子商務、工業互聯網和互聯網金融健康發展,引導互聯網企業拓展國際市場。2015年10月,教育部頒布《普通高等學校高等職業教育(專科)專業目錄(2015年)》,“云計算技術與應用”列入新的專業目錄。2016年9月,教育部頒布《普通高等學校高等職業教育(專科)專業目錄(2016年)》,“大數據技術與應用”列入新的專業目錄。據中國信息通信研究院發布的《云計算白皮書(2020)》,2019年我國公有云市場規模首次超過私有云。2019年我國云計算整體市場規模達1334億元,增速38.6%。其中公有云市場規模達689億元,相比2018年增長57.6%,2020—2022年仍處于快速增長階段,到2023年市場規模將超過2300億元。云計算的內涵與特性云計算有狹義和廣義之分。狹義的云計算是指IT基礎設施的交付和使用模式;廣義的云計算是指服務的交付和使用模式,這種服務可以是和軟件、互聯網相關的,也可以是任意的其他服務。云計算具有如下特性。(1)計算資源集成提高設備計算能力。云計算把大量計算資源集中到一個公共資源池中,通過多主租用的方式共享計算資源。雖然單個用戶在云計算平臺獲得的服務水平會受到網絡帶寬等因素的影響,但是從整個社會資源的角度而言,整體的資源調控降低了部分地區資源的峰值荷載,提高了部分荒廢主機的運行率,從而提高了資源利用率。(2)分布式數據中心保證系統容災能力。分布式數據中心可以將云端的用戶信息備份到地理上相互隔離的數據庫主機中,甚至用戶自己也無法判斷信息的確切備份地點。該特點不僅提供了數據恢復的依據,也使得網絡病毒和網絡黑客的攻擊失去目的性,大大提高了系統的安全性和容災能力。(3)軟硬件相互隔離減少設備依賴性。虛擬化層將云平臺上方的應用軟件和下方的基礎設備隔離開來。設備的維護者無法看到設備中運行的具體應用。同時對于軟件層的用戶而言,基礎設備層是透明的,用戶只能看到虛擬化層中虛擬出來的各類設備。這種架構既減少了對設備的依賴性,也為動態的資源配置提供了可能。(4)平臺模塊化設計體現高可擴展性。目前主流的云計算平臺均根據SPI架構在各層集成了功能各異的軟硬件設備和中間件軟件。大量中間件軟件能夠提供針對該平臺的通用接口,允許用戶添加本層的擴展設備。部分云與云之間提供的接口,允許用戶在不同云之間進行數據遷移。類似的功能更大程度上滿足了用戶需求,集成了計算資源,是未來云計算的發展方向之一。(5)虛擬資源池為用戶提供彈性服務。云計算平臺管理軟件將整合的計算資源根據應用訪問的具體情況進行動態調整,包括增大資源的要求和減少資源的要求。云計算對于非恒定需求,如對需求波動很大、階段性需求等,具有非常好的應用效果。在云計算環境中,既可以對規律性需求通過事先預測事先分配,也可以根據事先設定的規則進行實時調整。彈性的云計算服務可以幫助用戶在任意時間得到滿足需求的計算資源。(6)按需付費降低使用成本。作為云計算的代表,按需提供服務和按需付費是目前各類云計算服務中不可或缺的一部分。對于用戶而言,云計算不僅省去了基礎設備的購置和運維費用,而且能根據企業成長的需要不斷擴展訂購服務,提高了資金的利用率。云計算的發展目標、任務與價值云計算作為一種技術手段和實現模式,使得計算資源成為向大眾提供服務的社會基礎設施,將對信息技術本身及其應用產生深刻影響。美國的微軟、亞馬遜、IBM等大牌廠商,都將云計算列為自己的核心戰略,國內的百度、阿里巴巴、騰訊、華為、浪潮等主流IT企業也都已經在云計算領域各顯神通。據統計,2015年我國云計算產業規模已達1500億元,產業發展勢頭迅猛、創新能力顯著增強、服務能力大幅提升、應用范疇不斷拓展,已成為提升信息化發展水平、打造數字經濟新動能的重要支撐。據業界預測,到2025年,80%的企業應用將運行在云中,100%的應用將在云中開發,軟件的開發、測試、部署、運維都將在云中進行,軟件開發工具本身也將服務化和云化,并將和企業云平臺進行集成。云計算的任務具體體現在:發展新技術,提升處理能力;提供新模式,實現按需服務;形成新業態,拓寬應用范疇。第二節云計算系統的架構一、云計算系統架構的參考模型云計算系統的業務模型業務系統是商業模式的核心,云計算作為一種服務的商業模式,高效運營的業務系統是云計算企業重要的競爭優勢之一。水、電服務是將水、電作為資源提供給用戶,云計算服務提供則是提供IT資源,如云主機、云存儲、VPC、網盤等,用戶可以根據自己的需要通過自助、付費的方式按需獲取這些資源,從而得到服務。隨著近幾年云計算市場的發展,云計算服務已經隨處可見,通常將這些服務歸為基礎設施即服務(InfrastructureasaService,IaaS)、平臺即服務(PlatformasaService,PaaS)、數據即服務(DataasaService,DaaS)、軟件即服務(SoftwareasaService,SaaS)四大類,如圖1-3所示。除了這四類服務,根據用戶的需求,云計算服務也衍生出了其他一些服務類型,如容器即服務(ContainerasaService,CaaS)、數據庫即服務(DatabaseasaService,DBaaS)等。借助這些云服務,用戶可以像用水用電一樣便捷地獲取和使用計算、存儲、網絡、大數據、數據庫等IT資源。云計算系統的部署模型根據IT資源部署的方式,以及面向服務對象的不同,可以把云服務分為公有云、私有云和混合云三類,這三類云服務部署模型的特點見表1-1。1.公有云(PublicCloud)公有云也稱公共云,是指云服務提供商通過互聯網提供的計算服務面向希望使用或購買的任何組織和個人。公有云可以免費或按需出售,允許用戶根據CPU內存、存儲、帶寬等使用量支付費用。公有云具有以下特點:(1)快速獲取IT資源。用戶可以通過互聯網獲取所需的計算、存儲、網絡等資源,免去了自建系統漫長的周期與高昂的成本。(2)按需使用,按量付費。用戶根據業務需求訂購所需的資源配置與數量,用多少買多少,不需要考慮預留資源,節約了成本。(3)彈性伸縮,在訪問量突發增長的時候,系統可以根據策略動態增加相應的資源,以保證業務可用性;當訪問量回落之后,系統可以釋放相應的資源,避免浪費。(4)安全可靠。公有云服務提供商通過多個可用區和區域的架構設計,保證了系統整體的健壯性;用戶數據有多個副本,有嚴格的訪問控制,用戶不用擔心數據丟失、病毒侵擾等問題。目前比較知名的公有云服務提供商有亞馬遜的AWS、微軟的Azure及國內的阿里云、騰訊云、移動云、電信云等。2.私有云(PrivateCloud)私有云也稱專用云,部署在企業數據中心或安全的主機托管場所,是為企業單獨使用而構建的專有資源,一般不直接連接外部網絡私有云具有以下特點:(1)安全可控。私有云一般會在網絡出口位置部署防火墻、抗分布式拒絕服務(DistributedDenialofServiceAttack,DDoS)設備、入侵檢測系統(IntrusionDetectionSystem,IDS)、入侵防御系統(IntrusionPreventionSystem,IPS)、Web應用防護系統(WebApplicationFirewall,WAF)等設備保證私有云網絡的安全。業務數據是企業的核心資產,所以用戶操作行為都會被記錄和審計,數據在私有云內部可以得到嚴格的控制。(2)服務質量保證。部署在企業數據中心的私有云可以提供高速、穩定的業務訪問體驗,不會受到網絡不穩定、斷網、黑客攻擊等的影響。(3)良好的兼容性。企業的一些系統,因為架構和性能的要求,并不一定適合部署在公有云上,而私有云可以兼容原有系統,并且對原有IT資源也可以實現統一管理,保護企業投資。3.混合云(HybridCloud)混合云是公有云和私有云的融合,通過專線或VPN將企業私有云和公有云連通,實現私有云的延伸,是近年來云計算的主要模式和發展方向。混合云具有以下特點:(1)安全擴展。私有云的安全性超越公有云,但公有云的海量資源又是私有云無法企及的。混合云可以較好地解決這個問題,既可以將內部的重要數據保存在私有云中,同時也可以使用公有云的計算資源,從而更高效地完成工作。(2)成本控制。私有云配置的容量一般只能滿足企業業務的近期需求,往往不會預留太多資源,在業務高峰時期會出現資源不足的情況,而如果為了短暫的高峰時期購買大量資源就會造成投資回報率低的問題。混合云可以緩解這個難題,即在業務高峰時期將訪問引導到公有云上,以緩解私有云上的訪問壓力。(3)新技術引入。私有云追求的是系統整體的安全穩定,公有云上產品和服務的豐富程度遠超私有云,同時還在不斷更新和上線新的產品和服務;混合云突破了私有云的限制,讓企業可以迅速體驗新產品,在引入私有云之前進行充分測試,降低了企業引入新服務的成本。第三節云計算系統的使能技術一、分布式技術加強云計算服務平臺建設、構建下一代信息基礎設施是IT技術演進的重要方向。如何在云中對大規模數據進行高效的計算和存儲成為發展中的關鍵問題,前者是在前端對外部應用進行計算,后者是在后臺對應用數據進行存儲。分布式系統既是計算機系統,特別是云化的計算機系統的核心思想之一,也是分布式計算和分布式存儲的支撐主體。理解分布式系統的概念,首先要了解集中式系統。集中式系統是指一個主機帶多個終端的系統,整個系統的數據存儲、控制與處理完全交由主機處理,每個終端沒有數據處理能力,僅僅負責數據的輸入和輸出。集中式系統最大的特點就是部署結構簡單,但是,由于采用單節點部署,很可能帶來系統過大而難以維護、發生單點故障等問題。為了解決集中式系統面臨的挑戰,分布式系統應運而生。所謂分布式,就是一件事分給多臺機器,所有機器一起完成任務。分布式意味著采用多臺普通計算機組成分布式集群對外提供服務。計算機越多,計算的資源也就越多,能夠處理的并發訪問量與數據量也就越大。分布式系統通常定義為,一組通過網絡進行通信,為了完成共同的任務而協調工作的計算機節點組成的系統。虛擬化技術云計算的核心技術之一是虛擬化技術,虛擬化技術是云計算體系架構中虛擬化池層的主要支撐技術。所謂虛擬化,是指通過虛擬化技術將一臺計算機虛擬為多臺邏輯計算機。在一臺計算機上同時運行多個邏輯計算機,每個邏輯計算機可運行不同的操作系統,并且應用程序可以在相互獨立的空間內運行而互不影響,從而顯著提高計算機的工作效率。虛擬化技術源于大型機的虛擬分區技術。早在20世紀60年代,IBM公司就發明了一種操作系統虛擬機技術,即在一臺主機上運行多個操作系統,以使用戶盡可能地充分利用昂貴的大型機資源。隨著技術的發展,大型機的相關技術開始向小型機移植,但真正使用大型機和小型機的用戶畢竟還是少數。虛擬化技術不僅僅是一種技術,還反映出一種服務化的思想。服務器、存儲架構、數據庫等所有硬件或軟件資源都被抽象成一種便于重組、聚合、配置的“服務”,形成一個可以被用戶靈活調用的資源池,從而實現外部用戶業務系統和IT軟件和硬件環境的解耦。這意味著外部用戶業務系統無須了解軟件和硬件的實現細節,就能方便地使用各式各樣的軟件和硬件資源。云平臺技術云計算的本質就是將計算能力作為一種較小粒度的服務提供給用戶,按需使用和付費,具有經濟、快捷、柔性等特性。云平臺技術是支撐云計算的基礎技術,云平臺技術主要有四種:服務計算技術、多租戶技術、容器技術和邊緣計算技術。1.服務計算技術設想一個基于云服務的手機游戲開發場景,游戲創業團隊最大的優勢是內容上的創新,但是技術能力上的不足會嚴重影響他們的創新,如自主部署服務器的運行環境至少需要3個月的時間。本來自己擁有一個好的創意,卻因為開發周期過長,導致這個創意被別人搶先一步發布,這對創業者的打擊是十分沉重的。那么,如何大大縮短游戲創業團隊的開發周期?答案是利用服務計算技術支撐該業務要求。隨著網絡技術的發展,出現了一種利用網絡進行應用集成的解決方案——Web服務(WebService)。Web服務是一個用統一資源標識(UniformResourceIdentifier,URI)的軟件實體,其接口和綁定可以用XML協議定義、描述和發現。Web服務具有以下優點:(1)良好的封裝性。(2)標準協議性。(3)松散耦合性。(4)高度集成性。2.多租戶技術設想一個政務云辦公權限分配的場景,近兩年政務云的發展非常迅速,從許多地方政府披露的信息來看,政務云已拓展到鄉鎮一級,這為提高電子政務效率、惠及于民打下堅實的基礎。政務云迅猛發展的同時,也出現了新的問題,那就是不少地方的政務云只追求快速上線,而忽視數據安全保障體系的構建,特別是權限設置。例如,如何在政務云中做好不同權限的人員獲取不同級別的數據呢?多租戶技術可以解決這個問題。多租戶技術(Multi-tenancyTechnology)實際是一種軟件架構技術,它是在探討與實現如何在多用戶的環境下共用相同的系統或程序組件,并且仍可以確保各用戶的數據隔離且業務互不影響。其主要研究內容為在共用的數據中心內如何以單一系統架構與服務提供多數客戶端相同甚至可定制化的服務,并且仍然可以隔離用戶數據。3.容器技術設想一個平臺虛擬化管理的場景,某公司的平臺上,一臺16核32GB內存的虛擬機上,需要跑500個以上用戶的應用,在一臺機器上開500個虛擬機,雖然可以在資源隔離方面做得很好,但這種虛擬化本身帶來的資源消耗太嚴重。那么,如何在平臺上,進行虛擬化的有效管理呢?容器技術可以解決該問題。虛擬化技術已經成為一種被大家廣泛認可的服務器資源共享方式,但是虛擬化技術仍然存在一些性能和資源使用效率方面的局限。一方面,每個虛擬機都是一個完整的操作系統,所以需要給其分配物理資源,當虛擬機數量增多時,操作系統本身消耗的資源勢必增多;另一方面,開發環境和線上環境通常存在區別,所以開發環境與線上環境之間無法達到很好的橋接,在部署線上應用時,依舊需要花時間去處理環境不兼容的問題。因此出現了一種稱為容器(Container)的新型虛擬化技術來幫助解決這些問題。容器可以把開發環境及應用整個打包帶走,打包好的容器可以在任何環境下運行,這樣就可以解決開發環境與線上環境不一致的問題了。4.邊緣計算技術設想一個安全城市的場景,某城市計劃安裝上百萬個攝像頭,以提升社會公共安全。例如,通過監視共享車輛服務中司機的駕駛行為來觸發報警,由于攝像頭很少具備計算功能,因此大量的視頻數據不得不通過網絡傳輸至云計算數據中心來處理。然而,這將導致大量的網絡帶寬消粍,并影響安全事件的響應時間。因此,就需要邊緣計算技術來解決這個問題。邊緣計算技術針對云計算模型的集中式服務所導致的網絡傳輸開銷大、用戶需求響應速度慢等缺點,通過在用戶側的網絡邊緣就近提供計算、存儲、網絡等服務,來縮短數據傳輸路徑以減少帶寬消耗,并高效響應用戶的業務需求。在實際使用中,云計算通常會融入邊緣計算技術,實現“云邊協同”架構,以對不同的用戶需求予以靈活部署。第四節云計算系統的管理與服務一、云計算系統的硬件管理1.云設備選型及供應鏈管理21世紀初,云計算服務的早期,各個云計算廠商通過硬件的管理實踐總結出經驗,不約而同對云計算的硬件發展方向達成了通用性、低成本的共識,主要滿足用戶四點核心需求。(1)云計算應該是低成本的。無論是企業用戶還是個人用戶,使用云計算服務的首要原因都是云計算服務比自己實施要便宜。對于企業用戶,通過云計算服務可以大幅削減服務器采購、網絡構建、應用部署等支出。個人用戶對價格更加敏感,常用的構建個人網站、存儲個人數據等,其價格必須比個人使用PC及一般網絡接入的成本更低。(2)云計算應該是通用的。業務邏輯和業務數據分析涉及商業秘密和個人隱私,用戶通常會選擇自行研發或采購專業的軟件服務。因此,云計算服務商所提供的服務或產品必須與現有的操作系統接口、硬件驅動軟件等完全兼容,并且應該盡量涵蓋所有主流操作系統環境、軟件開發和運行環境。(3)云計算應該是可持續的。用戶對云計算服務商的要求是,其必須能夠長時間、穩定、高質量地提供基礎設施與系統軟件服務,并且投入足夠的資源跟進軟件和硬件的升級,以及解決用戶的穩定性問題。(4)云計算應該是開放的。由于對云計算有需求的用戶的差異性極大,從專業的軟件和硬件研發人員,到普通IT從業者,再到每個公司各自的業務人員,涉及面非常廣。用戶這樣的組成模式,需要云計算廠商有能夠適應各類用戶的開放性接口,因此云計算應該是開放的。2.針對云存儲需求的云原生存儲設備隨著云上人工智能、大數據需求的迅猛發展,數據中心對存儲產品的要求正在發生深刻變化。過去以標準SSD固態硬盤為基礎的傳統架構,在性能、成本、靈活性、供應及服務響應等諸多方面,都越來越無法滿足下一代數據中心的需求。針對這些問題,云計算服務商需要提供更加先進和多樣的存儲硬件來滿足海量云上用戶的差異性需求。云計算系統的軟件研發管理 1.傳統軟件生命周期管理簡述軟件的生命周期包括七個階段:(1)問題定義。軟件開發者和用戶討論階段,旨在明確軟件的開發目標并論證其可行性。(2)需求分析。將軟件的開發目標細化成體系的功能和性能需求。傳統的軟件研發思路對這一階段非常重視,軟件生命周期中大量的時間會消耗在這一階段。(3)系統設計。根據需求分析的結果設計整個軟件系統,包括系統框架設計、數據庫設計、用戶界面設計等。(4)編碼。將系統設計方案轉換成計算機代碼和可執行程序。(5)測試。編碼結束后,需要通過測試環節驗證軟件的功能指標、性能指標,以及編碼質量。測試通常包括白盒測試和黑盒測試。(6)部署。將軟件上線運行。(7)維護。軟件投入使用后的可用性維護,以及根據用戶、運行環境需求做的小規模調整等工作。2.基于敏捷開發原則的云軟件生命周期管理敏捷開發與傳統的軟件生命周期模型并不是割裂的,只是更加強調簡潔、研發流程的疊加、提升開發效率和響應時間。云計算系統的軟件開發,以不斷變化的市場需求和用戶需求為核心,將設計、開發、測試、上線、文檔撰寫等工作高度交叉和疊加,其目的是最快速地滿足市場需求,執行過程中需要關注以下四個方面:(1)快速迭代。通常以小版本的快速迭代為主。(2)架構師、開發人員、測試人員共同參與需求討論。不限線上線下形式的研討組,所有人在任何時間都可以實現信息同步,保持不間斷溝通。(3)需求文檔從用戶工作案例出發。使用用戶的實際工作場景編寫需求文檔,而不是系統性的解決方法和實施技術。(4)借助用戶的力量。利用好用戶測試的機會,在產品正式上線收費前,得到第一手的用戶真實需求資料售后服務體系由于公有云的公共基礎平臺屬性,其用戶的差異性很大,因此在傳統的電話售后的基礎之上,云售后服務還應根據不同用戶的能力和特點,給出定制的服務。除此之外,云計算廠商在培訓認證、技術生態方面也需要投入,如此才能構建一個良好的云技術環境。下面分別詳述云用戶的分類服務、開發人員的培訓服務,以及技術生態構建方面的情況。1.用戶分類服務體系云上用戶可以分為以下三類:(1)普通用戶。為自己的網站、數據、計算需求尋找便宜可靠的供應商。(2)開發人員。有開發能力的人員,如受雇于技術公司、利用云資源為企業搭建業務系統的人員。(3)企業。將生產系統部署在云上的企業,云系統故障會對這類企業產生重大影響。云計算廠商對如上三類用戶應當靈活給出不同的服務模式,配備經驗豐富的技術支持工程師,服務內容涵蓋技術、產品、解決方案及架構,支持方式包括網站、即時通信工具、郵箱、電話等,應全天候為用戶提供支持,幫助用戶基于云計算廠商提供的產品和功能進行產品使用、設計、應用開發及數據管理等。2.培訓認證體系對于企業用戶而言,使用云基礎設施開發項目、發布服務,需要有云上開發知識和背景的專業人才。一方面,需要有人梳理云上的知識經驗,將其系統化為基礎課程和專業應用課程的課程體系;另一方面,也需要有全面的人才能力認證制度,讓企業在招聘的時候能夠快速評判潛在的員工。3.技術生態與技術體系各個主流云計算廠商均有官方的技術交流社區,這里介紹幾個典型社區。(1)云棲社區。為阿里云經營的云技術交流平臺,廣大開發者通過這個官方社區提供的平臺發布技術帖,并通過互動功能討論技術問題。社區的組織者還經常組織線下活動,進一步促進開發者形成良性的互相學習交流機制。(2)亞馬遜AWS技術社區。AWS的中文技術社區活躍于CSDN的AWS頻道,其組織頻道包括博客、論壇、技術視頻、應用案例等常見形式。(3)微軟Azure技術社區。微軟Azure社區是微軟官方的技術支持網站,其組織形式與門戶網站有些類似,一方面集成了自有的解決方案、文檔、培訓頻道,另一方面還將MSDN技術論壇、StackOverflow技術問答中關于Azure的技術文章整合在了一起。(4)華為云社區。華為云社區為華為云的官方技術資料分享平臺,內設博客、論壇、問答、專題、云市場熱點等頻道,以及幫助用戶學習使用華為云服務產品的視頻課程。(5)其他第三方云計算技術社區。網絡上還有多家涉及云計算技術的第三方技術交流平臺,包括開源中國社區、CSDN等。云計算系統的運維1.產品設計運維準入對于一個動輒數百萬個用戶可見的產品,以及支撐這些用戶產品的大量的后臺軟件所組成的云計算平臺,運維的主要工作不是在產品上線后,而是必須要在產品的設計開發階段就將其作為核心任務來考慮。產品在設計時需要滿足以下幾點:(1)熱升級。云產品必須支持熱升級,升級過程中對業務的影響要小于一個極小的比例,并且要能正確處理錯誤客戶端。(2)模塊服務冗余。產品相關模塊不存在單點故障,所有模塊均要有冗余,并且單臺機器故障(包括宕機、網絡不通、磁盤故障、磁盤滿等)不能影響服務的正常使用。(3)數據容災。單臺機器故障(包括宕機、網絡不通、磁盤故障、磁盤滿等)不能導致數據丟失,關鍵數據應支持多機房或異地災備。(4)過載保護。云產品必須設計過載保護,不能因為壓力過大而導致服務不可用。過載保護包括每秒訪問次數和每秒訪問次數限制等。(5)安全防攻擊。對公有云提供服務的業務,都必須考慮接入安全防攻擊體系。2.產品線上的監控級運維工具云產品在上線時,需要接入基礎監控及應用級的監控。(1)基礎監控。包括系統級別的CPU、內存、網卡、負載等,具體報警閾值由各個產品的特點來定;還必須包括進程、端口、JVM(Java虛擬機)等的監控。(2)應用級的監控。包括整體應用的工作狀態、負載情況監控等,其具體的監控實現方式包括運行日志關鍵字類型的監控等。監控添加完畢,必須驗證監控的可用性。3.數據中心自動化運維數據中心是云計算的基礎設施,服務器資源分配、帶寬分配、業務支撐能力、流量防護和清洗能力,都是基于數據中心的大小和其帶寬的容量,數據中心分布在不同的核心城市并輻射到周邊城市提供基礎支撐。云計算系統的數據中心運維策略,就是要在數據中心的基礎上找到盡量高效利用云資源的方法。數據中心運維自動化是一組將靜態的設備結構轉化為根據數據中心服務需求動態彈性響應的策略,目的就是實現數據中心運維的質量,降低成本。可以說自動化一定是數據中心運維最重要的屬性之一,并且需要與之配套一系列軟件和硬件平臺環境及體系。1.教學以學生學習教材的基本內容為主,系統全面地學習稅收制度的構成要素的基本內容。2.整個教學過程中,各教學點可根據實際情況,進行拓展知識的講解。本章小結:本章以云計算架構技術為核心,圍繞云計算架構涉及的核心技術和商業實踐展開,包括云計算概述、云計算系統的架構、云計算系統的使能技術、云計算系統的管理與服務等內容,涵蓋了云計算的發展趨勢、原理、特性與實踐。云計算誕生至今已有十幾年,這十幾年來,云計算的技術條件、行業和市場環境均發生了巨大變化,人們對云計算的認知需求也從粗淺概念階段發展到深度探索階段。同時,云計算的未來發展前景也十分廣闊,尤其與人工智能、大數據、邊緣計算等技術的深度融合,將進一步提高云計算的智能化、高效化、安全化程度。未來云計算的發展主要體現在以下幾個方面:1.云計算與人工智能的融合:青云科技等公司已經開始探索將云計算與AI技術結合,推出AI智算平臺,實現對多元算力的統一調度和管理,這代表了云計算未來的發展方向。2.邊緣計算的發展**:隨著物聯網設備的廣泛應用,邊緣計算技術得到了快速發展,云計算將與其他計算模式如邊緣計算、分布式計算等結合,提供更加強大的計算能力。3.云安全的發展:隨著云計算在各領域的廣泛應用,云安全的重要性日益凸顯,加密計算、隱私計算等技術的發展將進一步提高云的安全性。4.云服務的個性化和差異化:云計算服務的個性化和差異化將成為趨勢,企業可以根據自身需求選擇更加靈活、個性化的云服務。5.云平臺的開放和互聯:未來云平臺將更加開放和互聯,實現不同云平臺、不同云服務之間的無縫對接。總體來說,云計算將會在未來進一步深度融合各類先進技術,提升自身的能力和效率,為各行業提供更加智能、高效、安全的云服務。《信息技術導論》課程教案課題:第二章大數據教學目的:1.了解大數據的內涵;2.明確大數據技術的地位;3.掌握大數據的來源、采集以及治理方式;4.熟練掌握數據的儲存與管理;5.掌握數據安全保護的策略;6.了解大數據現實中的應用實例。課型:新授課課時:本章安排11個課時。教學重點:重點:大數據的來源、采集以及治理方式。教學難點:難點:數據安全保護的策略。教學過程:教學形式:講授課,教學組織采用課堂整體講授和分組演示。教學媒體:采用啟發式教學、案例教學等教學方法。教學手段采用多媒體課件、視頻等媒體技術。板書設計:本課標題大數據課次6授課方式理論課□討論課□習題課□其他□課時安排11學分共2分授課對象企業管理人員的培訓任課教師教材及參考資料1.《信息技術導論》;電子工業出版社。2.本教材配套視頻教程及學習檢查等資源。3.與本課程相關的其他資源。教學基本內容教學方法及教學手段引導案例社交媒體已成為現代政治變革的重要工具。以阿拉伯之春為例,2010年底,突尼斯爆發抗議活動,隨后蔓延至埃及、利比亞等國家。社交媒體在這場變革中發揮了至關重要的作用。當時,突尼斯和埃及的互聯網使用率分別達到23.5%和28.5%,許多年輕人通過Facebook、Twitter等平臺傳播信息、組織抗議活動,成功地引起了國際社會的關注。大數據在分析社交媒體數據方面具有重要意義。通過對社交媒體上的帖子、評論、圖片等數據進行挖掘和分析,可以了解民眾的意見、情緒和行為趨勢。在政治變革中,這種分析有助于政策制定者和企業了解民情、預判風險,為決策提供有力支持。以我國為例,政府在應對突發事件和輿論監督方面已開始利用大數據技術。通過分析社交媒體上的熱點話題和民眾情緒,政府可以及時掌握社會動態,采取有效措施化解危機。同時,企業也可以借助大數據分析,了解消費者需求和市場趨勢,調整經營策略。然而,在利用社交媒體數據進行分析時,也需要關注倫理和隱私問題。如何在保護用戶隱私的前提下,合理利用大數據為用戶提供更好的服務,是當前社交媒體平臺和企業需要面臨的挑戰。此外,大數據分析結果可能存在偏差,如何確保分析結果的準確性和可靠性,也是需要關注的問題。參考以下形式:1.銜接導入2.懸念導入3.情景導入4.激疑導入5.演示導入6.實例導入7.其他形式本章基本知識匯總第一節大數據概述一、大數據的內涵和外延大數據(BigData),這個如今耳熟能詳的名字是在《自然》(Nature)雜志2008年的專輯BigData中首次提出來的,Google公司在推動世界范圍內信息整合的過程中,極大地推動了大數據技術的創新和發展。然而,何為大數據的內涵和外延呢?由于大數據是新衍生出來的概念,它的內涵和外延也在不斷拓展和變化,目前還沒有一個被業界廣泛采納的明確定義。2011年5月,麥肯錫全球研究院(MGI)在報告《大數據:創新、競爭和生產力的下一個前沿》中這樣描述:大數據是指其大小超出了典型數據庫軟件的采集、儲存、管理和分析等能力的數據集。幾乎同時,IDC(InternationalDataCorporation)在編制的年度數字宇宙研究報告《從混沌中提取價值》中給大數據下了一個定義:一般涉及兩種或兩種以上數據形式;數據量超過100TB并且是高速、實時的數據流。大數據的“4V”特性:(1)Volume:數據量巨大。數據量巨大是大數據區別于傳統數據的顯著特征。一般關系型數據庫處理的數據量為TB級,大數據的數據量通常是PB級或更高級。(2)Variety:數據類型多。大數據的數據類型早已不是單一的文本形式或結構化數據庫中的表,它包括訂單、日志、微博、音頻、視頻等復雜結構的數據。(3)Velocity:數據流動快。速度是大數據區別于傳統數據的重要特征。例如,對PB級大數據進行一次復雜查詢,傳統結構化查詢語言(SQL)技術可能需要幾個小時,基于大數據技術的平臺正在將這個時延逐步降低到分鐘級、秒級、毫秒級,甚至完全實時。(4)Value:數據潛在價值大。在研究和技術開發領域,上述三個特征已經足夠表示大數據的特征。但在商業應用領域,該特征就顯得非常關鍵。投入如此巨大的研究和技術開發,就是因為大家都洞察到了大數據潛在的巨大價值。如何通過強大的機器學習和高級分析更迅速地完成數據價值的“提純”,挖掘出大數據的潛在價值,是目前在大數據應用背景下亟待解決的難題。數據量的大小是用計算機存儲容量的單位來度量的,基本單位是字節,如下所示。(1)1Byte(B),相當于一個英文字母;(2)1KiloByte(KB)=1024B,相當于一則短篇故事的內容;(3)1MegaByte(MB)=1024KB,相當于一則短篇小說的內容;(4)1GigaByte(GB)=1024MB,相當于貝多芬第五樂章交響曲的樂譜內容;(5)1TeraByte(TB)=1024GB,相當于一家大型醫院中所有X光片的內容;(6)1PetaByte(PB)=1024TB,相當于美國學術研究圖書館藏書內容的50%;(7)1ExaByte(EB)=1024PB,5EB相當于至今全世界人類所講過的話語;(8)1ZettByte(ZB)=1024EB,相當于全世界海灘上沙子數量的總和;(9)1YottaByte(YB)=1024ZB,相當于1024個地球一樣的星球上沙子數量的總和。二、大數據技術的影響和科學意義我們正處于一個信息化的時代,根據IBM前首席執行官路易斯·郭士納的觀點,IT領域每隔十五年就會迎來一次重大變革,時至今日已經發生了三次信息化革命浪潮,并且發生的間隔越來越短,如表2-1所示。1.大數據技術的影響(1)在科學研究方面,大數據使得人類的科學研究在經歷了實驗、理論、計算三種范式之后,迎來了第四種范式——數據。(2)在思維方式方面,大數據具有“全樣而非抽樣、效率而非精確、相關而非因果”等顯著特征,完全顛覆了傳統的思維方式。(3)在社會發展方面,大數據決策逐漸成為一種新的決策方式,大數據應用有力地促進了信息技術與各行業的深度融合,大數據開發大大地推動了新技術和新應用的不斷涌現。(4)在就業市場方面,大數據的興起使得數據分析師成為熱門職業。(5)在人才培養方面,大數據的興起將在很大程度上改變中國高校信息技術相關專業的現有教學和科研體制。2.大數據技術的科學意義大數據技術的科學意義不在于掌握龐大的數據信息,而在于對這些含有意義的數據進行專業化處理。換言之,如果把大數據比作一種產業,那么這種產業實現盈利的關鍵,在于提高對數據的“加工能力”,以及通過“加工”實現數據的“增值”應用。經調研,大數據在中國的發展前景非常廣闊。在行業方面,2012年,大數據應用已經從電子商務/互聯網、快消品等行業向金融、政府/公共事業、能源、交通等行業擴展;在應用場景方面,已經從用戶上網行為分析拓展到電力安全監控系統、輿情監測等;在行業需求方面,大數據需求主要集中在金融行業中的數據模型分析、電子商務行業中的用戶行為分析、政府部門中的城市監控,以及能源行業中的能源勘探等。第二節數據采集與治理一、大數據的來源與多源數據采集方式1.大數據的來源如果將Web2.0和智能手機移動設備產生數據的階段合稱為用戶原創內容階段,那么可以將這四個變化劃分為三個數據產生階段,分別是運營式系統階段、用戶原創內容階段、感知式系統階段,如圖2-1所示圖2-1數據產生的三個階段2.多源數據采集方式多源數據采集方式有多種,主要分為以下四種。(1)離線搜集。工具:ETL(Extract-Transform-Load)。在數據倉庫的語境下,ETL基本上是數據搜集的代表,包括數據的提取(Extract)、轉換(Transform)和加載(Load)。在轉換的過程中,需要針對具體的事務場景對數據進行治理,如不合法數據的監測與過濾、格式轉換與數據規范化、數據替換、保證數據完整性等。(2)實時搜集。工具:Flume/Kafka。實時搜集首先用在考慮流處理的事務場景中,如網絡監控的流量辦理、金融運用的股票記賬和Web服務器記錄的用戶訪問行為等。在流處理場景中,數據搜集會成為Kafka的顧客,Kafka像水壩一樣將源源不斷的數據攔截,然后依據事務場景做對應的處理(如去重、去噪、中心核算等),然后寫入對應的數據存儲中。(3)互聯網搜集。工具:Crawler、DPI、其他爬蟲工具等。Scribe被稱為網頁蜘蛛、網絡機器人,是一種按照一定的規則,自動抓取萬維網信息的程序或腳本,它支持圖片、音頻、視頻等文件或附件的搜集。(4)其他數據搜集方法。關于企業生產經營數據上的客戶數據、財務數據等對保密性要求較高的數據,可以通過與數據技術服務商合作,運用特定體系接口等相關方式搜集數據。二、大數據治理與Hadoop解決方案1.大數據治理大數據治理是指充分運用大數據、云計算、人工智能等先進技術,實現治理手段的智能化。大數據,一般指符合4V特征的數據,包括社交數據、機器數據等。在政策/流程上,大數據治理應覆蓋大數據的獲取、處理、存儲、安全等環節,需要為大數據設置數據管理專員制度;需要考慮大數據與主數據管理能力的集成,需要對大數據做定義,統一主數據標準;在數據生命周期管理各階段,如數據存儲、保留、歸檔、處置時,要考慮大數據保存時間與存儲空間的平衡,應識別對業務有關鍵影響的數據元素,檢查和保證數據質量。2.大數據的Hadoop解決方案(1)Hadoop的特性及其由來與發展Hadoop是一個能夠對大量數據進行分布式處理的軟件框架,其主要由HDFS(分布式文件系統)、MapReduce(分布式計算框架)和HBase(分布式數據庫系統)等組成,如圖2-2所示是Hadoop的Logo。Hadoop面向的應用環境是大量低成本計算構成的分布式運算環境,它假設計算節點和存儲節點會經常發生故障,因此設計了數據副本機制,確保能夠在出現故障節點的情況下重新分配任務。同時,Hadoop以并行的方式工作,通過并行處理加快處理速度,具有高效的處理能力。在設計之初,Hadoop就為支持可能面對的PB級大數據環境進行了特殊的設計,具有優秀的可擴展性。可靠、高效、可擴展這三大特性,加上Hadoop開源、免費的特性,使Hadoop技術得到了迅猛發展。(2)Hadoop生態系統Hadoop生態系統的特點:源代碼開源;社區活躍,參與者眾多;涉及分布式存儲和計算的方方面面;已得到企業界驗證。如圖2-3所示是Hadoop生態系統的2.0時代,除HDFS、MapReduce和HBase外,Hadoop2.0時代的組成還增加了YARN(分布式計算框架)等。第三節數據存儲與管理一、分布式文件系統分布式文件系統(DistributedFileSystem,DFS)指文件系統管理的物理存儲資源不用直接連接在本地節點上,而是通過計算機網絡與節點(可簡單理解為一臺計算機)相連;或者是若干個不同的邏輯磁盤分區或卷標組合在一起而形成的完整的有層次的文件系統。下面以HDFS(HadoopDistributedFileSystem)為例進行介紹。(1)HDFS存儲實現過程一個HDFS基本集群包括兩部分,分別為NameNode和DataNode,用于將管理與工作分離。NameNode是一個集群的主服務器,主要用于對HDFS中的所有文件及數據進行維護,不斷讀取和記錄集群中DataNode的主機情況與工作狀態,并且通過寫入鏡像日志文件的方式進行存儲。DataNode主要用于在HDFS集群中執行具體任務,是整個集群的工作節點。如圖2-4所示是HDFS存儲實現過程圖示,文件被分成若干個相同大小的數據塊,分別存儲于若干個DataNode中,DataNode定時向集群中的NameNode發送自己的運行狀態與存儲內容,并且根據NameNode發送的指令進行工作。(2)HDFS的命令行的操作對HDFS來說,fs命令用于啟動命令行,該命令主要用于提供一系列子命令,一般形式為hadoopfs-cmd<args>例如,將指定路徑下的文件輸出到屏幕上:hadoopfs-cathdfs://host1:port1/file(3)HDFS的接口(API)使用HDFS通過命令行提供了大量操作命令,可以對HDFS中的數據進行操作。例如,基本的數據讀取命令,常用的增、刪、改、查命令等。此外,Hadoop提供了一整套FileSystemAPI用于對HDFS中的數據進行操作。二、關系數據庫關系數據庫(RelationalDataBase)是建立在關系數據庫模型基礎上的數據庫,借助集合代數等概念和方法來處理數據庫中的數據,同時也是一組具有正式描述特性的表格,該表格是裝載著數據項的特殊收集體,這些表格中的數據能以多種不同的方式被存取或重新召集而不需要重新組織數據庫表格。主流的關系數據庫有Oracle、DB2、SQLServer、Sybase、MySQL等。下面對關系數據庫的模型結構進行介紹。(1)單一的數據結構。關系數據庫的表采用二維表格來存儲數據,是一種按行與列排列的具有相關信息的邏輯組,它類似于Excel工作表。一個數據庫可以包含多個數據表。(2)元組(記錄)。表中的一行即為一個元組,或者稱為一條記錄。例如,表2-2第一行元組的值是:成都_A101張三1000.00。(3)屬性(字段)。表中的一列稱為一個字段,表是由其包含的各種字段定義的,每個字段描述了它所包含的數據的意義。創建表時需要為每個字段分配一個數據類型,定義它們的數據長度和其他屬性。字段可以包含各種字符、數字,甚至圖形。(4)屬性值。行和列的交叉位置表示某個屬性值,如“張三”就是顧客名的屬性值。(5)主碼。主碼(也稱主鍵或主關鍵字)是表中用于唯一確定一個元組的數據。主關鍵字用來確保表中記錄的唯一性,可以是一個字段或多個字段,常用作一個表的索引字段。如賬號列字段就是主關鍵字。(6)域。屬性的取值范圍。(7)關系模式。對關系的描述稱為關系模式,一般表示為:關系名(屬性1,屬性2,…,屬性n)。例如,上面的關系可以描述為:余額表(分行名、賬號、顧客名、余額)。SQL(StructQueryLanguage,結構查詢語言)是1974年由Boyce和Chamberlin提出的,由于它使用方便、功能豐富、語言簡單易學,因此很快得到了推廣和應用。SQL語法如下:(1)數據查詢:選擇(SELECT)、投影、連接、除、并、交、差。(2)數據操縱:創建(CREATE)、刪除(DROP)。(3)數據更新:插入(INSERT)、刪除(DELETE)、修改(UPDATE)。(4)數據控制:授權(GRANT)、回收(REVOKE)三、NoSQL數據庫1.NoSQL數據庫的改進與興起隨著近幾年互聯網技術的應用及發展,數據處理需要面對的數據量、數據特征及處理需求都發生了很大的變化。這些變化給之前在數據庫領域占據統治地位的傳統關系型數據庫帶來了極大挑戰,主要體現在無法適應多變的數據結構、無法處理高并發的寫操作、無法應對業務量的快速增長(Web2.0PB級甚至ZB級)和業務類型的快速變化等方面。在這樣的大環境中,數據庫領域興起了一股新的技術流派——NoSQL。需要注意的是,NoSQL并沒有摒棄傳統關系型數據庫及SQL,其含義是NotonlySQL,即超越傳統的關系型數據庫。NoSQL的主要思路是在阻礙關系型數據庫適應新需求的兩個主要方面進行改進。(1)放松事務一致性要求。(2)改變固定的表結構。2.NoSQL數據庫的四大分類如表2-3所示是NoSQL數據庫的四大分類。3.NoSQL數據庫的三大基石1987年,JimGray與GianfrancoPutzolu發表了I/O的五分鐘法則,簡而言之,如果一條記錄頻繁被訪問,就應該將其存儲于內存中,否則應該將其存儲于硬盤中,并且按需要訪問,這個臨界點就是五分鐘。在CAP理論中,C(Consistency)表示一致性,是指任意一個讀操作總是能夠讀取之前完成的寫操作的結果;A(Availability)表示可用性,是指快速獲取數據,可以在確定的時間內返回操作結果;P(ToleranceofNetworkPartition)表示分區容錯性,是指當出現網絡分區的情況時(系統中的一部分節點無法和其他節點進行通信),分離的系統能夠正常運行。CAP理論說明,一個分布式系統不可能同時滿足一致性、可用性和分區容錯性這三個需求,最多只能同時滿足兩個。四、多模態數據管理1.多模態數據不同的存在形式或信息來源均可被稱為一種模態,由兩種或兩種以上模態組成的數據稱為多模態數據。多模態數據是指對于同一個描述對象,通過不同領域或視角獲取的數據,一般把描述這些數據的每個領域或視角叫作一個模態。多模態數據管理主要是對多模態數據進行融合。2.多模態數據融合及分類法多模態數據融合負責將多個模態的信息進行有效的整合,汲取不同模態的優點,完成對信息的整合。目前,多模態數據融合主要有三種方式:前端融合(early-fusion)或數據水平融合(data-levelfusion)、后端融合(late-fusion)或決策水平融合(decision-levelfusion)、中間融合(intermediate-fusion)。前端融合將多個獨立的數據集融合成一個單一的特征向量,然后輸?到機器學習分類器中。由于多模態數據的前端融合往往無法充分利用多個模態數據間的互補性,并且前端融合的原始數據通常包含大量的冗余信息。后端融合則是將不同模態數據分別訓練好的分類器輸出打分(決策)進行融合。這樣做的好處是,融合模型的錯誤來自不同的分類器,而來自不同分類器的錯誤往往互不相關、互不影響,不會造成錯誤的進一步累加。中間融合先將不同的模態數據轉換成高維特征表達,再于模型的中間層進行融合。以神經網絡為例,中間融合先利用神經網絡將原始數據轉換成高維特征表達,再獲取不同模態數據在高維空間上的共性。中間融合方法的一大優勢是可以靈活選擇融合的位置。第四節大數據處理平臺一、批處理計算1.大數據批處理計算MapReduce是最適合用于進行大數據批處理的計算模式之一,它是一個單輸入、兩階段(Map和Reduce)的數據處理過程。首先,MapReduce對具有簡單數據關系、易于劃分的大規模數據采用“分而治之”的并行處理思想;其次,將大量重復的數據處理過程總結成Map和Reduce兩個抽象操作;最后,MapReduce提供了一個統一的并行計算框架,將并行計算涉及的多個系統層交給計算框架,大大簡化了程序員進行并行化程序設計的工作。在開源社區的努力下,開源的Hadoop系統目前已成為較成熟的大數據處理平臺,并且發展成一個包括眾多數據處理工具和環境的完整的生態系統。目前,國內外的大部分IT企業都使用Hadoop平臺進行企業內大數據的計算處理。此外,Spark也具備進行批處理的能力,Spark代替的是Hadoop中的MapReduce,是一個計算框架。Spark繼承了MapReduce的一些核心設計思想,并且對其進行了改進,Spark避免了MapReduce的一些缺陷,Spark不僅有Map函數和Reduce函數,還提供了更多比較靈活的數據操作類型,如filter、sort、groupby等,因此Spark編程模型更靈活,表達能力也更強。Spark有完整的架構,其中,SparkStreaming是構建在Spark基礎上的流式大數據處理框架。Spark可以用Scala、Python、Java、R語言進行開發,其中首選Scala語言,因為Spark是用Scala語言開發的,所以用Scala語言開發的應用程序是最高效的應用程序。因此,將Hadoop與Spark結合是很好的大數據處理方案。2.MapReduce分布式計算(1)什么是MapReduce?MapReduce是什么,怎么理解MapReduce?下面通過一個例子進行說明。如果要統計圖書館中所有的書,那么應該怎么辦?非常簡單,你統計1號書架上的書,我統計2號書架上的書,人越多,統計書的速度越快,每個人統計的數是Map。然后將所有人統計的數加在一起,就是Reduce。這個例子就是MapReduce的一個基本模型,當然實際的MapReduce并非如此簡單。在正式介紹MapReduce之前,除了前面介紹的一些基本概念,還需要了解一些專業術語。(2)架構與執行過程。MapReduce的任務稱為Job。通常使用Job將輸入的數據集切分成若干個獨立的數據塊,并且將其分布在不同的節點上。完整的MapReduce流程圖如圖2-5所示。在圖2-5中,Hadoop為每個創建的Map任務分配輸入文件的一部分,這部分被稱為split,然后由每個分配的split運行用戶自定義的Map,從而根據用戶的需要處理每個split中的內容。split存儲于Block中。一般情況下,一次Map任務的執行過程分成兩個階段:(1)Map讀取split中的內容后,將其解析成鍵/值對(Key/Value),并且將Map定義的算法應用于每條內容,內容范圍可以由用戶自定義確定。(2)在Map中定義的算法處理完split中的內容后,Map會向TaskTracker報告,然后通知JobTracker任務執行完畢,可以接受新的任務。(3)在HBase上運行MapReduce,作為與Hadoop架構無縫集成的數據庫系統,HBase可以很方便地支持以MapReduce編程模式開發的數據處理應用。HBase提供了與Hadoop包中Mapper和Reducer基礎類相近的幾個類,這些類將HBase的實現和使用細節進行了很好的屏蔽,方便開發者使用。這些類與Hadoop基礎類的關系見表2-4。二、流計算1.無界數據及流數據可以將數據分為兩種類型的數據集,一種是有界數據集,另一種是無界數據集(見圖2-6)。(1)有界數據集有界數據集具有時間邊界,在處理過程中數據一定會在某個時間范圍內起始和結束,有可能是一分鐘,也有可能是一天。對有界數據集的數據處理方式被稱為批數據處理(BatchDataProcessing),也可稱為批量計算,即將數據從RDBMS(關系數據庫管理系統)或文件系統中讀取出來,然后在分布式系統內處理,最后將處理結果寫入存儲介質中。(2)無界數據集對于無界數據集,數據從生成開始就一直持續不斷地產生新的數據,因此數據是沒有邊界的,如服務器的日志、傳感器信號數據等。與批數據處理對應,對無界數據集的數據處理方式被稱為流式數據處理(StreamingDataProcessing),也可稱為流計算。(3)統一數據處理有界數據集和無界數據集只是一個相對的概念,主要根據時間范圍確定,可以認為一段時間內的無界數據集其實就是有界數據集,同時有界數據集也可以通過一些方法轉換為無界數據集。如系統一年的訂單交易數據,其本質應該是有界數據集,可是當把它一條一條按照產生的順序發送到流式系統進行處理后,可以認為數據是相對無界的。對于無界數據集也可以拆分成有界數據集進行處理,如將系統產生的數據輸入存儲系統,按照年或月切分成不同時間長度的有界數據集,然后就可以通過批處理方式對數據進行處理。從以上分析可以得出結論:有界數據集和無界數據集其實是可以相互轉換的。2.流計算的概念(1)什么是流計算流計算是指對數據流進行處理,實時獲取來自不同數據源的海量數據,經過實時分析處理,獲得有價值的信息的實時計算方式。流計算系統應該滿足如下需求。高性能:處理大數據的基本要求,如每秒處理幾十萬條數據。海量式:支持TB級甚至是PB級的數據規模。實時性:保證較低的延遲時間,達到秒級別,甚至是毫秒級別。分布式:支持大數據的基本架構,必須能夠平滑擴展。易用性:能夠快速進行開發和部署。可靠性:能夠可靠地處理流數據。(2)流計算與批量計算的區別流計算與批量計算的區別主要體現在以下幾個方面。數據時效性不同:流計算實時、低延遲,批量計算非實時、高延遲。數據特征不同:流計算的數據一般是動態的、沒有邊界的,批量計算的數據一般是靜態的、有邊界的。應用場景不同:流計算主要應用于實時場景,如實時推薦、業務監控等;批量計算主要應用于對實時性要求不高、可以離線計算的場景,如數據分析、離線報表等。運行方式不同:流計算的任務是持續進行的,批量計算的任務是一次性完成的。3.流計算框架(1)流計算框架的匯總大數據計算引擎的第一代是MapReduce,第二代是基于有向無環圖的Tez,第三代是基于內存計算的Spark,第四代是Flink。Storm是比較早的流計算框架,后來出現了Trident和SparkStreaming,以及實時計算框架Flink。這幾種流計算框架如表2-5所示。(2)流計算框架的對比這幾種流計算框架的詳細對比如下。模型:Storm和Flink會逐條處理數據;Trident(Storm的封裝框架)和SparkStreaming會進行小型批量計算,一次處理一批數據(小批量)。API:Storm和Trident都使用基礎API進行開發,如實現一個簡單的求和操作;SparkStreaming和Flink都會提供封裝后的高階函數,可以直接使用,比較方便。保證次數:在數據處理方面,Storm可以實現至少處理一次,但不能保證僅處理一次,容易導致數據重復處理的問題,所以針對計數類的需求,可能會產生一些誤差;Trident可以保證對數據只進行一次處理,SparkStreaming和Flink也是如此。容錯機制:Storm和Trident可以通過ACK機制實現數據的容錯,而SparkStreaming和Flink可以通過CheckPoint機制實現數據的容錯。狀態管理:Storm沒有實現狀態管理,SparkStreaming實現了基于DStream的狀態管理,Trident和Flink實現了基于操作的狀態管理。延時:表示數據處理的延時情況,Storm和Flink接收到一條數據就處理一條數據,其數據處理的延時性很低;Trident和SparkStreaming會對數據進行小型批量計算,它們的數據處理延時性相對較高。吞吐量:Storm的吞吐量其實不低,但與其他幾種流計算框架的吞吐量相比,Storm的吞吐量較低;Trident的吞吐量中等;SparkStreaming和Flink的吞吐量較高。4.開源流計算框架Flink(1)Flink簡介Flink是什么。Flink是通過實現GoogleDataflow流計算模型,從而實現高吞吐量、高性能的開源流計算框架。Flink支持高度容錯的狀態管理,可以防止狀態在計算過程中因為系統異常而丟失。Flink的具體優勢。Flink支持事件時間(EventTime)概念,可以保證事件原本產生時的時序。Flink支持有狀態計算。Flink支持高度靈活的窗口(Windows)操作。(2)Flink的基本架構Flink的基本架構如圖2-7所示。Flink系統主要由兩個組件組成,分別為JobManager和TaskManager。三、圖計算1.大數據的圖計算概述大數據的圖計算是大數據處理中的一類典型運算,目前有兩類圖計算方式。一類是使用基于MapReduce計算模型的SparkGraphX圖計算;另一類是在MapReduce之外參考其他并行圖計算模型設計新的計算方法,其中比較成功的有Google的Pregel,其借鑒了整體同步并行計算(BulkSynchronousParallel,BSP)模型。BSP模型是2010年圖靈獎得主Valiant在1990年提出來的一種基于消息通信的并行計算模型。BSP模型中定義的計算過程如圖2-8所示。2.GooglePregel計算框架Pregel是Google借鑒BSP模型的思想構建的分布式圖計算框架,可以視為繼MapReduce之后的又一大分布式計算利器,其主要目的是支持實現對大規模圖數據進行計算的各類圖算法,是高效、實用的并行圖處理系統。Pregel的核心思想可以簡要理解為“像節點一樣思考”,即算法設計和編程實現都以圖的節點為核心展開。Pregel的系統架構主要包括三類節點,分別為Client、Master和Worker,如圖2-9所示。第五節數據分析計算一、查詢分析概述雖然Hadoop提供了MapReduce編程模式及HBase基礎數據庫。但要真正高效完成數便于理解的數據抽象能力;簡潔易用的操作方式;高效穩定的編譯執行環境。為了滿足以上條件,Hadoop開源社區的開發者為用戶提供了幾種解決方案。(1)Hive在Hadoop中相當于傳統數據分析環境中的數據倉庫,主要用于存儲和處理海量結構化數據。Hive將大數據存儲于HDFS中,并且為數據分析師提供了一套類似于數據庫的數據存儲和訪問機制。(2)允許數據分析師使用他們熟悉的類似于SQL的語言對數據進行操作。(3)Pig是MapReduce的一個抽象。它是一個工具,用于分析較大的數據集,并將其表示為數據流,常與Hadoop一起使用,可以使用Pig在Hadoop中執行所有的數據處理操作。Pig提供了一種可表示數據流的腳本語言PigLatin,以及支持此語言執行的環境,它簡化了Hadoop常見的數據分析任務,可以方便地加載數據、表達數據和轉換數據等。二、Dremel技術Google的Dremel是一個用于分析只讀嵌套型數據的可擴展交互式動態查詢系統,其作用是在秒級時間內完成萬億行級別的大數據聚合查詢。完成如此高難度的任務,Dremel主要依靠兩個核心機制:多層執行樹和列狀數據結構。第六節數據可視化一、數據可視化的主要技術數據可視化是指將數據以圖形或圖像的形式表示,并利用數據分析和開發工具,發現其中未知信息的處理過程。可視化技術分為兩類,一類是可視化報表,另一類是可視化分析。可視化報表用圖表描述業務績效,通常使用度量和時間系列信息定義。常見的統計圖表如表2-6所示。二、數據可視化案例R軟件是開源的統計繪圖軟件,通過將R和Hadoop進行深度集成可以使Hadoop獲得強大的深度分析能力。R語言是一種腳本語言,有大量的程序包可以用。R語言中的向量、列表、數組、函數等都是對象,可以方便地查詢和引用,并且可以進行條件篩選。R語言具有精確的繪圖功能,生成的圖可以以多種格式存儲。在使用R語言編寫函數時,無須聲明變量類型,通過循環語句、條件語句可以控制程序的流程。下面介紹如何使用R語言繪制基本圖形,如直方圖等。可以直接使用help(funciton)查找R語言標準畫圖代碼,實例數據基本都來自內置包的數據。繪制直方圖的標準代碼如下:hist(x,...)三、可視化工具和軟件主要的可視化工具和軟件如下。1.入門級工具Excel的圖形化功能并不強大,但作為一個入門級工具,Excel是快速分析數據的理想工具,也能創建供內部使用的數據。2.信息圖表工具(1)GoogleChartAPI工具集主要用于提供動態圖表工具,功能豐富,能夠在所有支持SVG\Canvas和VML的瀏覽器中使用。(2)ECharts是一個純JavaScript的圖表庫,可以流暢地運行在PC和移動設備上。(3)D3(Data-DrivenDocmuments),又稱數據驅動文檔,是一個Java庫,主要用于創建數據可視化圖形。作為一款網頁前端數據可視化工具,其將數據在網頁端映射出來,并表現為我們需要的圖形,大部分情況下D3都能滿足我們的需求。(4)Visual.ly是繪制信息圖的首選工具,它提供了大量的信息圖模板。3.地圖工具(1)Google發布的MapsAPI讓所有的開發者都能在自己的網站中植入地圖功能。(2)ModestMaps提供了一套查看衛星地圖的API。(3)Leaflet是為移動設備建設互動地圖而開發的現代的、開源的JavaScript庫。(4)GoogleFusionTables(數據融合表)。4.可視化設計工具Processing是專業的可視化設計工具,可以在大部分的平臺上運行,用于產生圖像、動畫和進行交互。5.專家級可視化分析工具(1)R語言和Python語言等是開源大數據平臺上的理想的分析和可視化工具。(2)Weka是根據特征做分類分析和聚類分析的數據挖掘軟件工具。(3)Gephi是社交圖譜數據可視化分析的工具。第七節數據安全與隱私保護一、數據安全與傳統信息安全的關系與傳統的數據相比,大數據本身的特性給其帶來了更高的風險,如大數據更容易成為黑客攻擊的首選目標、涉及國家安全、大數據加大隱私泄露風險等。對于大數據的安全,如果單純從這些特性本身來看,只是對現有數據安全手段的可擴展性提出了更高的要求,并沒有改變對現有數據安全功能的要求。但現實并非如此,原因是大數據存在的目的與傳統數據有巨大的差別,這就是數據的共享,而共享的背后則是數據角色發生的巨大變化——從IT領域中的一個信息元素上升為與土地、勞動力、資本和技術同等重要的國民經濟核心生產要素。2020年3月30日中共中央、國務院明確將數據作為新型生產要素寫入政策文件。培育發展數據要素市場,釋放數據紅利,已成為推動經濟高質量發展的新動能。數據作為數字化時代的一種核心生產要素,只有在廣泛的使用中才能最大限度地發揮數據資產的價值,而最大程度的資源利用就是從獨享走向共享。二、數據安全及隱私保護支撐技術1.數據安全為流動的大數據保駕護航的手段包括數據監控、數據溯源、違規告警、全息網御。(1)數據監控。數據監控即流動數據的可視化,實時捕獲、監測并能夠展示網絡中各種流動的數據,尤其是敏感數據及其使用者、與之相關的應用、所涉及的設備、來自哪里、去往哪里等。(2)數據溯源。可回溯和審計任意時間段內的數據行為,可對任何流動數據的當前狀況和歷史狀況進行追溯,還原數據流轉路徑及流轉范圍,提供完整的數據軌跡和證據鏈。(3)違規告警。遵守國家關于大數據和信息安全的法律,通過自定義各種場景,實時監測、發現和告警各種數據違規。從用戶、應用、業務敏感性、設備、IP地址、時間、地點等角度靈活應用各種策略,精確發現數據脫敏、用戶違規訪問、賬號違規共享、數據違規流轉等行為。(4)全息網御。全息網御是行為數據驅動信息安全的領航者,通過其特有的專利技術系統性融合了NG-DLP、UEBA、NG-SIEM、CASB四項先進技術,結合機器學習,發現并實時重構網絡中不可見的“用戶—設備—數據”互動關系,提供以數據為核心的數據安全風險感知平臺,為企業的信息安全管理提供無感知、無死角的智能追溯服務,使企業能夠高效精準地審計過去、監控現在、防患未來,極大提高了IT安全運維、安全人員響應事故、抓取證據鏈和恢復IT系統的效率。2.隱私保護支撐技術以下是六種主要的用于數據安全與隱私保護的關鍵技術。(1)數據發布匿名技術。使攻擊者無法追溯消息發布者的個人信息。(2)社交網絡匿名保護技術。即在數據發布時隱藏用戶的標識、屬性信息及與其他用戶之間的關系。(3)數據水印技術。指將標識信息以難以察覺的方式嵌入數據載體內部且不影響其使用的方法,多用于多媒體數據的版權保護。(4)數據溯源技術。由于數據來源的多樣化,有必要記錄數據的來源及其傳播過程和計算過程,為后期的挖掘與決策提供輔助支持。(5)角色挖掘。即基于角色的訪問控制。通過為用戶指派角色、將角色關聯至權限集合,實現用戶授權、簡化權限管理。(6)風險自適應的訪問控制。第八節社會網絡大數據一、社會網絡大數據面臨的挑戰社會網絡(SocialNetwork)是以人或人的群體為結點構成的集合,這些結點之間具有某種接觸或相互作用模式,如朋友關系、親屬關系、同事關系或科研合作關系等。社會網絡是以人物為節點,以人際關系為邊,將人物節點連接起來構成的網絡,具有平均路徑長度短、聚集系數高等特點。社會網絡大數據不僅為社會治理領域帶來了新的契機,也對數據處理技術提出了巨大的挑戰。于是人們構建了諸如社會焦點透視鏡這類系統,結合新浪微博數據,不僅能夠實時提供每日的焦點事件供輿情分析部門進行檢測,還能夠深層剖析焦點事件的情感分布原因和人群分布,協助社會治理領域提出應對引導策略或改進工作的措施。二、社會網絡中的用戶影響力用戶影響力是用戶能夠直接或間接作用于其他用戶的能力,在社會網絡中各
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 代駕加盟合同樣本
- 有限公司增資擴股協議
- 氣體摩爾體積-教案
- 個人供電合同標準文本
- 幼兒園勤儉節約的教案
- 產品授權協議合同標準文本
- 實驗學校第二屆科技節機器人比賽方案
- 12施工合同標準文本
- 請講普通話寫好規范字主題班會教案
- 公司食堂肉菜配送合同協議范本模板
- 中小學國家教育智慧平臺
- 生產車間5S管理制度
- 2025交管12123學法減分考試題庫和答案
- T-JDFA 02-2024 江蘇省轉型融資主體認定評價標準
- 2025年開封大學單招職業傾向性測試題庫匯編
- 2023學年杭州市余杭區七年級語文下學期期中考試卷附答案解析
- 貴州省縣中新學校計劃項目2025屆高三下學期開學聯考語文試題及答案
- 2023-2024年護師類之護師初級基礎試題庫和答案要點
- 加快形成農業新質生產力
- 演員經紀合同法律風險-洞察分析
- 綜合實踐項目 制作細胞模型 教學實錄-2024-2025學年人教版生物七年級上冊
評論
0/150
提交評論