物聯網技術概論 課件 第4章應用技術_第1頁
物聯網技術概論 課件 第4章應用技術_第2頁
物聯網技術概論 課件 第4章應用技術_第3頁
物聯網技術概論 課件 第4章應用技術_第4頁
物聯網技術概論 課件 第4章應用技術_第5頁
已閱讀5頁,還剩253頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

4.應用技術4.1物聯網中間件4.2云計算4.3M2M4.4數據庫系統4.5區塊鏈4.6邊緣計算4.7數據挖掘4.1物聯網中間件

物聯網中間件是物聯網軟件的基礎組成部分,是RFID運作的中樞。物聯網中間件向上提供了不同的應用開發框架,同時屏蔽了異構網絡和硬件平臺的差異,有利于生成具有良好的可擴充性、易管理性、高可靠性和可移植性的物聯網服務。4.1.1中間件的概述

中間件是位于平臺和應用之間的具有標準程序接口和協議的通信服務。

中間件=平臺+通信

中間件有如下特點:①標準的協議和接口。②分布計算,提供網絡、硬件和操作系統的透明性。③滿足大量的應用需要。④能運行于多種硬件和操作系統平臺上。中間件的工作機制

應用程序需要從網絡中的某地獲取數據服務,而這些數據服務則可能處于任何可能的數據庫中,且操作系統有不確定性。中間件則負責接收應用程序指令,完成在網絡中的數據服務搜尋過程,查詢完成后將結果傳輸回應用程序。

4.1.2中間件的分類

中間件將操作系統的復雜性屏蔽,使程序人員可以將注意力集中在業務方面來面對一個簡單而統一的開發環境,從而減少了程序設計的復雜度。中間件大致分為以下幾類。

數據訪問中間件在系統中建立數據應用資源互操作模式,能夠實現異構環境下的數據連接或者文件系統連接,方便了網絡中的虛擬緩存提取、解壓、格式轉換。①數據訪問中間件

遠程調用中間件是通過發送命令到遠程的應用程序,待完成遠程處理后,將信息返回的中間件,它在C/S計算方面比數據訪問中間件更進一步。②遠程過程調用中間件(RPC)

面向消息中間件是指利用高效可靠的消息傳遞機制進行平臺無關的數據交流,并給予數據通信進行分布式的集成。

③面向消息中間件

面向對象中間件提供一種通信機制,透明地在異構的分布式計算環境中傳遞對象請求,這些對象可以位于本地或者遠程機器上,它是對象技術和分布式計算發展的產物。④面向對象中間件事務處理中間件是針對復雜環境下分布式應用的速度和可靠性要求而實現的,是在分布、異構環境下提供保證交易完整性和數據完整性的一種環境平臺。

⑤事務處理中間件

網絡中間件是當前研究的熱點,包括網管、網絡測試、虛擬緩沖、虛擬社區等。⑥網絡中間件

實現了客戶機圖形用戶接口與己有的字符接口方式的服務器應用程序間的互操作。⑦終端仿真--屏幕轉換中間件4.2云計算

云計算是一種全新的服務模式,將傳統的以桌面為核心的任務處理轉變為以網絡為核心的任務處理,利用互聯網實現自己想完成的一切處理任務,使網絡成為傳遞服務、計算力和信息的綜合媒介,真正實現按需計算、網絡協作。4.2.1云計算的概念

云計算是一種全新的服務模式,將傳統的以桌面為核心的任務處理轉變為以網絡為核心的任務處理,利用互聯網實現自己想完成的一切處理任務,使網絡成為傳遞服務、計算力和信息的綜合媒介,真正實現按需計算、網絡協作。4.2.1云計算的概念什么是云計算?云計算是分布式計算的一種,指的是通過網絡“云”將巨大的數據計算處理程序分解成無數個小程序,然后,通過多部服務器組成的系統進行處理和分析這些小程序得到結果并返回給用戶。4.2.1云計算的概念什么是云計算?“云”實質上就是一個網絡,狹義的云計算指的是,廠商通過分布式計算和虛擬化技術搭建數據中心或超級計算機,以免費或按需租用方式向技術開發者或者企業用戶提供數據存儲、分析以及科學計算等服務,比如亞馬遜數據倉庫出租生意。4.2.1云計算的概念什么是云計算?“云”實質上就是一個網絡,廣義的云計算指的是,廠商通過建立網絡服務器集群,向各種不同類型用戶提供在線軟件服務、硬件租借、數據存儲、計算分析等不同類型的服務。廣義的云計算包括了更多的廠商和服務類型,例如國內用友、金蝶等管理軟件廠商推出的在線財務軟件等。4.2.1云計算的概念云計算的基本工作原理

利用非本地或遠程的分布式或集群計算機為互聯網用戶提供服務(計算、存儲、軟硬件等服務)。云計算可以把普通的服務器或者PC聯接起來以獲得超級計算機的計算和存儲功能。云計算的出現使高性能并行計算不再是科學家和專業人士的專利,普通的用戶也可以通過云計算獲得并行計算、分布式計算帶來的便利。

用戶不需要知道服務器在哪里,不用關心內部如何運作,通過高速互聯網就可以透明使用各種資源。4.2.2云計算的架構云計算的體系結構由5部分組成,分別為:應用層,平臺層,資源層,用戶訪問層管理層,云計算的本質是通過網絡提供服務,所以其體系結構以服務為核心。(1)資源層

資源層匯聚支撐云計算上層服務的各種物理設備,如服務器、網絡設備、存儲設備等。

物理設備,通過虛擬化層采用相應技術形成動態資源池,并對資源池的各種資源進行管理,通過一個網絡服務界面將計算能力、存儲能力、網絡處理能力作為一種服務向用戶提供,IT界將其稱為IaaS(InfrastructreasaService,基礎設施即服務)。這些服務可以提供虛擬化的資源,從而隱藏物理資源的復雜性。物理資源指的是物理設備,如服務器等。服務器服務指的是操作系統的環境,如linux集群等。網絡服務指的是提供的網絡處理能力,如防火墻,VLAN,負載等。

存儲服務為用戶提供存儲能力。(1)資源層(2)平臺層

平臺層在資源層之上,它把軟件開發環境當做服務提供給用戶。也就是說平臺層為用戶提供對資源層服務的封裝,使用戶可以構建自己的應用。

平臺層主要為應用程序開發者設計,面向廣大互聯網應用開發者,把分布式軟件開發、測試、部署、運行環境以及復雜的應用程序托管當作服務,使得開發者可以從復雜低效的環境搭建、配置和維護工作中解放出來,將精力集中在軟件編寫上,從而大大提高軟件開發的效率,平臺層是整個云計算系統的核心層,包括并行程序設計和開發環境,一些管理系統和管理工具,IT界將其稱為PaaS(PlatformasaService,平臺即服務)。(2)平臺層數據庫服務提供可擴展的數據庫處理的能力。中間件服務為用戶提供可擴展的消息中間件或事務處理中間件等服務。(2)平臺層(3)應用層

應用層面向用戶提供軟件服務和用戶交互接口,它為用戶搭建信息化所需要的所有網絡基礎設施及軟硬件運作平臺,負責所有前期的實施、后期的維護等一系列工作,用戶可隨意根據自己的需要租賃軟件服務,不必再購買軟硬件、建設機房及配備維護人員,IT界將其稱為SaaS(SoftwareasaService,軟件即服務)。企業應用是指面向企業的用戶,如財務管理,客戶關系管理,商業智能等。個人應用指面向個人用戶的服務,如電子郵件,文本處理,個人信息存儲等。(3)應用層(4)用戶訪問層

用戶訪問層是方便用戶使用云計算服務所需的各種支撐服務,針對每個層次的云計算服務都需要提供相應的訪問接口。服務目錄是一個服務列表,用戶可以從中選擇需要使用的云計算服務。訂閱管理是提供給用戶的管理功能,用戶可以查閱自己訂閱的服務,或者終止訂閱的服務。服務訪問是針對每種層次的云計算服務提供的訪問接口,針對資源層的訪問可能是遠程桌面或者xwindows,針對應用層的訪問,提供的接口可能是web。(4)用戶訪問層(5)管理層管理層是提供對所有層次云計算服務的管理功能:安全管理提供對服務的授權控制,用戶認證,審計,一致性檢查等功能。服務組合提供對自己有云計算服務進行組合的功能,使得新的服務可以基于已有服務創建時間。服務目錄管理服務提供服務目錄和服務本身的管理功能,管理員可以增加新的服務,或者從服務目錄中除去服務。管理層是提供對所有層次云計算服務的管理功能:服務使用計量對用戶的使用情況進行統計,并以此為依據對用戶進行計費。服務質量管理提供對服務的性能,可靠性,可擴展性進行管理。部署管理提供對服務實例的自動化部署和配置,當用戶通過訂閱管理增加新的服務訂閱后,部署管理模塊自動為用戶準備服務實例。服務監控提供對服務的健康狀態的記錄。(5)管理層4.2.3云計算的關鍵技術

云計算是一種以數據為中心的新型計算方式,在數據存儲、數據管理、編程模式等多方面具有自身獨特的技術,同時還涉及到了眾多其他技術。(1)編程模型

云計算采用Map-Reduce編程模型。針對云計算的大數據量并行計算所設計的編程模型。1)

Map-Reduce模型包含兩個階段:

Map階段:該階段指定對各個分塊數據的處理過程;

map是過濾和聚集數據,表現為數據的1對1的映射,通常完成數據轉換的工作。

Reduce階段:該階段指定對各分塊數據處理的中間結果進行歸約。

reduce是根據map的生成完成歸約、分組和總結,表現為多對1的映射,通常完

成數據的聚合操作。2)Map-Reduce分為5個步驟:①

輸入文件。輸入文件都分割成某個大小的分片。(1)編程模型2)Map-Reduce分為5個步驟:②Map階段。在所有進程中有一個叫Master的主控進程,將分片文件分配到多個worker并行的執行。map函數:

主節點得到輸入,將輸入劃分為較小的數據庫,再將這些數據塊分布到工作節點(從節點),工作節點中對各個數據塊應用相同的轉換函數,然后將結果傳回到主節點。(1)編程模型

2)Map-Reduce分為5個步驟:③

寫中間文件(本地寫)。Worker通過Map操作處理后將中間結果緩存到本地硬盤中。(1)編程模型

2)Map-Reduce分為5個步驟:④Reduce階段。Master通知Reduce工作節點存放中間結果的位置,Reduce工作節點通過遠程讀操作從Map工作節點所在硬盤上讀取中間數據。它將中間結果排序,通過Reduce函數進行歸約操作。reduce函數:

主節點中根據唯一的健-值對將接收的結果進行洗牌和聚集,然后再一次重新分布到從節點,通過另一類的轉換函數組合這些值。(1)編程模型2)Map-Reduce分為5個步驟:⑤

輸出文件。當所有的Map和Reduce操作都完成后,則輸出最終結果。(1)編程模型(2)數據存儲技術

云計算采用了分布式存儲的方式來存儲數據,同時也保證了數據的高可用性、高伸縮性。

通過采用冗余存儲的方式來保證數據的可靠性,即同一份數據會在多個節點保存副本。

為了保證大量用戶并行的使用云計算服務,同時滿足大量的用戶需求,云計算中的存儲技術必須具有高吞吐率和高傳輸率的特點。HDFS(HadoopDistributedFileSystem)是云計算的主要數據存儲技術。

①HDFS架構HDFS是采用的主/從架構,一個HDFS集群由一個主服務器和一定數目的塊服務器組成。主服務器管理文件系統的塊服務器和客戶端對文件的訪問塊服務器在集群中一般是一個節點一個,負責管理節點上附帶的存儲(2)數據存儲技術①HDFS架構主服務器管理文件系統的塊服務器和客戶端對文件的訪問。

(2)數據存儲技術

①HDFS架構塊服務器在集群中一般是一個節點一個,負責管理節點上附帶的存儲。在塊服務器內部,一個文件被分成多個塊。塊服務器在主服務器的指揮下進行塊的創建、刪除和復制。典型的部署方式是一臺機器運行一個單獨的主服務器點,而其他機器各運行一個塊服務器實例。(2)數據存儲技術

HDFS架構是Hadoop云計算系統分布式計算的存儲基礎。HDFS采用的存儲文件副本的方式來保證可靠性。

一個文件被切分成多個塊,塊大小一般都是固定的,服務器給每個塊分配一個64位全球唯一句柄對它進行標識,以后將通過塊句柄和字節偏移來讀取該塊的數據。

在默認情況下,塊會保存3個備份,復制到不同的塊服務器中保存。

主服務器則將保存名稱空間,塊的控制信息,文件中塊的信息,以及各個塊所在的位置。

因此主服務器將決定塊復制相關的所有操作。(2)數據存儲技術(3)數據管理技術

云計算系統是針對超大數據量進行處理、分析,從而為用戶提供高效的服務。

系統中的數據管理技術必須能夠高效的管理這些大數據集,并且能夠在這些超大規模數據中查詢特定的數據,也是數據管理技術所必須解決的問題。

云計算系統中的數據管理技術主要是Google的BigTable數據管理技術和Hadoop團隊開發的開源數據管理模塊HBase。①BigTableBigTable是建立在GFS、Scheduler、LockService和MapReduce之上的一個大型的分布式數據庫,與傳統的關系數據庫不同,它把所有數據都作為對象來處理,形成一個巨大的表格,用來分布存儲大規模結構化數據。BigTable是非關系的數據庫,是一個分布式的、持久化存儲的多維度排序Map.BigTable建立在GFS,Scheduler,LockService和MapReduce之上,與傳統的關系數據庫不同,它把所有數據都作為對象來處理,形成一個巨大的表格,用來分布存儲大規模結構化數據。Bigtable的設計目的是可靠的處理PB級別的數據,并且能夠部署到上千臺機器上。(3)數據管理技術

②HBaseHBase是一個分布式的、面向列的開源數據庫,是一個高可靠性、

高性能、面向列、可伸縮的分布式存儲系統。HBase是Apache的Hadoop項目的子項目,定位于分布式、面向列的開源數據庫。HBase不同于一般的關系數據庫,它是一個適合于非結構化數據存儲的數據庫。另一個不同的是HBase基于列的而不是基于行的模式。作為高可靠性分布式存儲系統,HBase在性能和可伸縮方面都有比較好的表現。利用HBase技術可在廉價PCServer上搭建起大規模結構化存儲集群。(3)數據管理技術(4)虛擬化技術

云計算平臺利用軟件來實現硬件資源的虛擬化管理、調度以及應用。虛擬化是為云計算服務提供基礎架構層面的支撐,是ICT服務快速走向云計算的最主要驅動力。可以說,沒有虛擬化技術也就沒有云計算服務,但是虛擬化是云計算的重要組成部分但不是全部。

虛擬化對上層應用或用戶隱藏了計算資源的底層屬性。它既包括把單個的資源(比如一個服務器,一個操作系統,一個應用程序,一個存儲設備)劃分成多個虛擬資源,也包括將多個資源(比如存儲設備或服務器)整合成一個虛擬資源。

虛擬化技術是指實現虛擬化的具體的技術性手段和方法的集合性概念。從技術上講,虛擬化是一種在軟件中仿真計算機硬件,以虛擬資源為用戶提供服務的計算形式。旨在合理調配計算機資源,使其更高效地提供服務。它把應用系統各硬件間的物理劃分打破,從而實現架構的動態化,實現物理資源的集中管理和使用。虛擬化的最大好處是增強系統的彈性和靈活性,降低成本、改進服務、提高資源利用效率。(4)虛擬化技術

在云計算中利用虛擬化技術可以大大降低維護成本和提高資源的利用率。簡單地來說,云計算中的服務器虛擬化使得在單一物理服務器上可以運行多個虛擬服務器。從表現形式上看,虛擬化又分兩種應用模式。

一是將一臺性能強大的服務器虛擬成多個獨立的小服務器,服務不同的用戶。

二是將多個服務器虛擬成一個強大的服務器,完成特定的功能。

這兩種模式的核心都是統一管理,動態分配資源,提高資源利用率。在云計算中,這兩種模式都有比較多的應用。(4)虛擬化技術(5)云計算平臺管理技術

云計算資源規模龐大,服務器數量眾多,并分布在不同的地點,同時運行著數百種應用程序,如何有效地管理這些服務器以保證整個系統提供不間斷的服務,是巨大的挑戰。云計算系統的平臺管理技術,需要具有高效調配大量服務器資源,使其更好協同工作的能力。其中,方便地部署和開通新業務、快速發現并且恢復系統故障、通過自動化、智能化手段實現大規模系統可靠的運營是云計算平臺管理技術的關鍵。對于提供者而言,云計算可以有三種部署模式,即公共云、私有云和混合云。

公有云

公有云為第三方云服務提供商所擁有和運營,他們通過Internet提供其計算資源(如服務器和存儲空間)。MicrosoftAzure是公有云的一個示例。在公有云中,所有硬件、軟件和其他支持性基礎結構均為云提供商所擁有和管理。使用Web瀏覽器訪問這些服務和管理你的帳戶。(5)云計算平臺管理技術對于提供者而言,云計算可以有三種部署模式,即公共云、私有云和混合云。

私有云

私有云是指專供一個企業或組織使用的云計算資源。私有云可以實際位于公司的現場數據中心之上。某些公司還向第三方服務提供商付費托管其私有云。在私有云中,在專用網絡上維護服務和基礎結構。(5)云計算平臺管理技術對于提供者而言,云計算可以有三種部署模式,即公共云、私有云和混合云。

混合云

混合云組合了公有云和私有云,通過允許在這二者之間共享數據和應用程序的技術將它們綁定到一起。混合云允許數據和應用程序在私有云和公共云之間移動,使你能夠更靈活地處理業務并提供更多部署選項,有助于你優化現有基礎結構、安全性和符合性。(5)云計算平臺管理技術三種模式對平臺管理的要求大不相同。

對于用戶而言,由于企業對于ICT資源共享的控制、對系統效率的要求以及ICT成本投入預算不盡相同,企業所需要的云計算系統規模及可管理性能也大不相同。

云計算平臺管理方案要更多地考慮到定制化需求,能夠滿足不同場景的應用需求。(5)云計算平臺管理技術4.2.4云計算服務的類型大多數云計算服務都可歸為四大類:

基礎結構即服務(IaaS)、

平臺即服務(PaaS)、

無服務器

軟件即服務(SaaS)。它們有時候稱為云計算“堆棧”,因為它們互為構建基礎。了解這些服務及它們之間的差異,可使你更輕松地實現業務目標。基礎結構即服務(IaaS)云計算服務的最基本類別。使用IaaS時,你以即用即付的方式從服務提供商處租用IT基礎結構,如服務器和虛擬機(VM)、存儲空間、網絡和操作系統。平臺即服務(PaaS)平臺即服務(PaaS)是指云計算服務,它們可以按需提供開發、測試、交付和管理軟件應用程序所需的環境。PaaS旨在讓開發人員能夠更輕松地快速創建Web或移動應用,而無需考慮對開發所必需的服務器、存儲空間、網絡和數據庫基礎結構進行設置或管理。無服務器計算使用PaaS進行重疊,無服務器計算側重于構建應用功能,無需花費時間繼續管理要求管理的服務器和基礎結構。云提供商可為你處理設置、容量規劃和服務器管理。無服務器體系結構具有高度可縮放和事件驅動特點,且僅在出現特定函數或事件時才使用資源。軟件即服務(SaaS)軟件即服務(SaaS)是通過Internet交付軟件應用程序的方法,通常以訂閱為基礎按需提供。使用SaaS時,云提供商托管并管理軟件應用程序和基礎結構,并負責軟件升級和安全修補等維護工作。用戶(通常使用電話、平板電腦或PC上的Web瀏覽器)通過Internet連接到應用程序。4.2.5中國典型云計算平臺介紹

阿里云是阿里巴巴集團旗下的云計算品牌,是全球卓越的云計算技術和服務提供商。它創立于2009年,在杭州、北京、美國硅谷等地設有研發中心和運營機構。阿里云的產品致力于提高運維效率,降低IT成本,令使用者更專注于核心業務發展。

下面主要介紹阿里云的服務。(1)底層技術平臺

阿里云獨立研發的飛天開放平臺(Apsara)負責管理數據中心Linux集群的物理資源,控制分布式程序運行,隱藏下層故障恢復和數據冗余等細節,從而將數以千計甚至萬計的服務器連成一臺“超級計算機”,并且將這臺超級計算機的存儲資源和計算資源以公共服務的方式提供給互聯網上的用戶。

(2)彈性計算

①云服務器(ECS):一種簡單、高效、處理能力可彈性伸縮的計算服務。

②云引擎(ACE):一種彈性、分布式的應用托管環境,支持Java、PHP、Python、Node.js等多種語言環境,幫助開發者快速開發和部署服務端應用程序,并簡化系統維護工作。

③彈性伸縮:根據用戶的業務需求和策略自動調整彈性計算資源的管理服務,其能夠在業務增長時自動增加ECS實例,并在業務下降時自動減少ECS實例。(3)云數據庫(RelationalDatabaseService,RDS)①一種即開即用、穩定可靠、可彈性伸縮的在線數據庫服務。②開放結構化數據服務(OTS):構建在阿里云飛天分布式系統之上的NoSQL數據庫服務,提供海量結構化數據的存儲和實時訪問。③開放緩存服務(OCS):在線緩存服務,為熱點數據的訪問提供高速響應。④鍵值存儲(KVStoreforRedis):兼容開源Redis協議的Key-Value類型在線存儲服務。⑤數據傳輸:支持以數據庫為核心的結構化存儲產品之間的數據傳輸。(4)存儲與內容分發網絡(ContentDeliveryNetwork,CDN)①對象存儲(OSS):阿里云對外提供的海量、安全和高可靠的云存儲服務。②歸檔存儲:作為阿里云數據存儲產品體系的重要組成部分,致力于提供低成本、高可靠的數據歸檔服務,適合于海量數據的長期歸檔、備份。

③消息服務:一種高效、可靠、安全、便捷、可彈性擴展的分布式消息與通知服務。

④CDN:內容分發網絡將源站內容分發至全國所有的節點,縮短用戶查看對象的延遲,提高用戶訪問網站的響應速度與網站的可用性,解決網絡帶寬小、用戶訪問量大、網點分布不均等問題。(5)網絡①負載均衡:對多臺云服務器進行流量分發的負載均衡服務。負載均衡可以通過流量分發擴展應用系統對外的服務能力,通過消除單點故障提升應用系統的可用性。

②專有網絡(VPC):幫助用戶基于阿里云構建出一個隔離的網絡環境,可以完全掌控自己的虛擬網絡,(6)大規模計算①開放數據處理服務(ODPS):由阿里云自主研發,提供針對TB/PB級數據、實時性要求不高的分布式處理能力,應用于數據分析、挖掘、商業智能等領域。阿里巴巴的離線數據業務都運行在ODPS上。

②采云間(DPC):基于開放數據處理服務(ODPS)的DW/BI的工具解決方案。③批量計算:一種適用于大規模并行批處理作業的分布式云服務。

④數據集成:阿里集團對外提供的穩定高效、彈性伸縮的數據同步平臺,為阿里云大數據計算引擎(包括ODPS、分析型數據庫、OSPS)提供離線(批量)、實時(流式)的數據進出通道。

①DDoS防護服務:針對阿里云服務器在遭受大流量的DDoS攻擊后導致服務不可用的情況下推出的付費增值服務,用戶可以通過配置高防IP將攻擊流量引流到高防IP,確保源站的穩定、可

靠。其免費為阿里云上的客戶提供最高5GB的DDoS防護能力。

②安騎士:阿里云推出的一款免費的云服務器安全管理軟件,主要提供木馬文件查殺、防密碼暴力破解、高危漏洞修復等安全防護功能。

③阿里綠網:基于深度學習技術及阿里巴巴集團多年的海量數據支撐,提供多樣化的內容識別服務,能有效幫助用戶降低違規風險。

④安全網絡:一款集安全、加速和個性化負載均衡于一體的網絡接入產品。(7)云盾

⑤網絡安全專家服務:在云盾DDoS高防IP服務的基礎上推出的安全代為托管服務。⑥服務器安全托管:為云服務器提供定制化的安全防護策略、木馬文件檢測和高危漏洞檢測與修復工作。⑦滲透測試服務:針對用戶的網站或業務系統,通過模擬黑客攻擊的方式,進行專業性的入侵嘗試,評估出重大安全漏洞或隱患的增值服務。

⑧態勢感知:專為企業安全運維團隊打造,結合云主機和全網的威脅情報,利用機器學習,進行安全大數據分析的威脅檢測平臺,可以讓客戶全面、快速、準確地感知過去、現在、未來的安全威脅。(7)云盾

(8)管理與監控①云監控:一個開放性的監控平臺,可以實時監控用戶的站點和服務器,并提供多種告警方式(短信、旺旺、郵件)以保證及時預警,為站點和服務器的正常運行保駕護航。

②訪問控制:一個穩定、可靠的集中式訪問控制服務,可以通過訪問控制將阿里云資源的訪問及管理權限分配給企業成員或合作伙伴。

(9)應用服務

①日志服務:針對日志收集、存儲、查詢和分析的服務。

②開放搜索:解決用戶結構化數據搜索需求的托管服務。③媒體轉碼:為多媒體數據提供的轉碼計算服務。

④性能測試:全球領先的SaaS性能測試平臺,具有強大的分布式壓測能力,可模擬海量用戶真實的業務場景,讓應用性能問題無所遁形。

⑤移動數據分析:一款移動App數據統計分析產品。(10)萬網服務

阿里云旗下的萬網域名,連續20多年蟬聯域名市場第一,近1000萬個域名在萬網注冊。除域名外,它還提供云服務器、云虛擬主機、企業郵箱、建站市場、云解析等服務。4.3M2M4.3.1M2M概述4.3.2M2M系統架構4.3.3M2M支撐技術4.3.4M2M業務應用

物聯網其中核心的一部分是M2M,M2M實際上是machine

to

machine,就是讓機器與機器之間實現互聯互通的,當前各種設備都是孤立的,不具備聯網和通訊功能,我們就要把這些設備里嵌入通訊模塊,將設備中的采集數據和運營狀況,通過系統傳遞到后臺,這樣的話,能夠實現人們對設備的運營管理和監控。據統計,機器的數量是人類數量的4到6倍,下一個一級的通訊領域就是M2M。

4.3M2M4.3.1M2M概述1)M2M的定義

M2M的定義可以分為廣義和狹義兩種。廣義上包括Machine.to.Machine、Man.to.Machine以及Machine.to.Man。總之,是人與各種遠程設備之間的無線數據通信。狹義上的M2M是Machine.to.Machine的簡稱.指一方或雙方是機器且機器通過程序控制,能自動完成整個通信過程的通信形式。2)M2M的特征

(a)M2M仍處于起步階段(b)歐美地區產業成熟,日韓市場應用較好(c)車輛信息通信和自動抄表是主要業務(d)商業模式集中4.3.2M2M系統架構

M2M體系結構如圖所示。M2M體系主要包括M2M終端、承載網絡、運營系統和應用系統四個部分。1)終端接入:連接通信網關和GGSN等網元,M2M終端可以采用SMS/USSD/MMS/GPRS等通信方式與管理平臺進行信息交互。4.3.2M2M系統架構2)應用接入:平臺向集團客戶應用系統提供統一接入接口,實現客戶應用系統的接入、認證鑒權、監控和連接管理等功能。4.3.2M2M系統架構3)終端管理:實現M2M終端的接入、認證鑒權、遠程監控、遠程告警、遠程故障診斷、遠程軟件升級、遠程配置、遠程控制、終端接口版本差異管理的功能。4.3.2M2M系統架構4)業務處理:根據M2M終端或者應用發出的請求消息的命令執行對應的邏輯處理,實現M2M終端管理和控制的業務邏輯。M2M管理平臺能夠對業務消息請求進行解析、鑒權、協議轉換、路由和轉發,并提供流量控制功能。4.3.2M2M系統架構5)業務運營支撐:提供業務開通、計費、網管、業務統計分析和管理門戶等功能。4.3.2M2M系統架構4.3.3M2M支撐技術M2M涉及到5個重要的技術部分:機器

M2M硬件通信網絡中間件應用。

1)智能化機器

實現M2M的第一步就是從機器/設備中獲得數據,然后把它們通過網絡發送出去。使機器“開口說話”(talk),讓機器具備信息感知、信息加工(計算能力)、無線通信能力。使機器具備“說話”能力的基本方法有兩種:生產設備的時候嵌入M2M硬件;對已有機器進行改裝,使其具備通信/聯網能力。2)M2M硬件

M2M硬件是使機器獲得遠程通信和聯網能力的部件。主要進行信息的提取,從各種機器/設備那里獲取數據,并傳送到通信網絡。現在的M2M硬件共分為五種:(a)嵌入式硬件(b)可組裝硬件(c)調制解調器(Modem)(d)傳感器(e)識別標識

3)通信網絡

通信網絡在整個M2M技術框架中處于核心地位,包括:廣域網(無線移動通信網絡、衛星通信網絡、Internet、公眾電話網)、局域網(以太網、無線局域網WLAN、Bluetooth)、個域網(ZigBee、傳感器網絡)。在M2M技術框架中的通信網絡中,有兩個主要參與者,他們是網絡運營商和網絡集成商。

4)中間件

中間件包括兩部分:M2M網關、數據收集/集成部件。網關是M2M系統中的“翻譯員”,它獲取來自通信網絡的數據,將數據傳送給信息處理系統。主要的功能是完成不同通信協議之間的轉換。數據收集/集成部件是為了將數據變成有價值的信息。對原始數據進行不同加工和處理,并將結果呈現給需要這些信息的觀察者和決策者。這些中間件包括:數據分析和商業智能部件,異常情況報告和工作流程部件,數據倉庫和存儲部件等。5)應用

數據收集/集成部件是為了將數據變成有價值的信息。對原始數據進行不同加工和處理,并將結果呈現給需要這些信息的觀察者和決策者。這些中間件包括:數據分析和商業智能部件,異常情況報告和工作流程部件,數據倉庫和存儲部件等。4.3.4M2M業務應用1)定位服務:定位服務主要應用于車輛管理、導航、運輸管理與人員跟蹤方面,并可廣泛應用于公交、長途巴士、貨運車輛、出租車、巡查人員的管理。2)無線POS:無線POS主要用于無線收款機、專用型付費終端,如公用事業支付終端、彩票機等。3)智能測量:是M2M比較典型的應用,主要用于公用設施監測、安全管理與油田的遙測、遠程抄表等。4)資產管理:資產管理主要用于集裝箱跟蹤、物流管理、自動售貨機管理、重型機械管理等。5)智能服務:智能服務包括遠程維護服務、遠程醫療等。4.4.1數據庫的基本概念4.4.2數據結構模型4.4.3數據庫系統的組成4.4數據庫系統

4.5.1數據庫的基本結構什么是數據庫?數據庫是“按照數據結構來組織、存儲和管理數據的倉庫”。是一個長期存儲在計算機在內的、有組織的、可共享的、統一管理的大量數據的集合。這些數據是結構化的,無害的或不必要的冗余,并為多種應用服務數據庫的存儲獨立于使用它的程序對數據庫插入新數據,修改和檢索原有數據均能按一種公用的和可控制的方式進行4.4.1數據庫的基本結構數據庫的應用:個人電腦:快速查找文件公司:財務管理軟件互聯網:論壇數據存儲物聯網:海量數據管理4.4.1數據庫的基本結構數據庫的基本結構數據庫的基本結構分三個層次,反映了觀察數據庫的三種不同角度。

(1)物理數據層。是數據庫的最內層,是物理存貯設備上實際存儲的數據的集合。

這些數據是原始數據,是用戶加工的對象,由內部模式描述的指令操作處理的位串、字符和字組成。4.4.1數據庫的基本結構數據庫的基本結構數據庫的基本結構分三個層次,反映了觀察數據庫的三種不同角度。(2)概念數據層。它是數據庫的中間一層,是數據庫的整體邏輯表示。指出了每個數據的邏輯定義及數據間的邏輯聯系,是存貯記錄的集合。它所涉及的是數據庫所有對象的邏輯關系,而不是它們的物理情況,是數據庫管理員概念下的數據庫。4.4.1數據庫的基本結構數據庫的基本結構數據庫的基本結構分三個層次,反映了觀察數據庫的三種不同角度。

(3)邏輯數據層。它是用戶所看到和使用的數據庫,表示了一個或一些特定用戶使用的數據集合,即邏輯記錄的集合。4.4.1數據庫的基本結構數據庫的基本特點(1)實現數據共享。數據共享包含所有用戶可同時存取數據庫中的數據,也包括用戶可以用各種方式通過接口使用數據庫,并提供數據共享。(2)減少數據的冗余度。同文件系統相比,由于數據庫實現了數據共享,從而避免了用戶各自建立應用文件。減少了大量重復數據,減少了數據冗余,維護了數據的一致性。(3)數據的獨立性。數據的獨立性包括數據庫中數據庫的邏輯結構和應用程序相互獨立,也包括數據物理結構的變化不影響數據的邏輯結構。(4)數據實現集中控制。文件管理方式中,數據處于一種分散的狀態,不同的用戶或同一用戶在不同處理中其文件之間毫無關系。利用數據庫可對數據進行集中控制和管理,并通過數據模型表示各種數據的組織以及數據間的聯系。4.4.1數據庫的基本結構數據庫的基本特點

(5)數據一致性和可維護性,以確保數據的安全性和可靠性。主要包括:①安全性控制:以防止數據丟失、錯誤更新和越權使用;②完整性控制:保證數據的正確性、有效性和相容性;③并發控制:使在同一時間周期內,允許對數據實現多路存取,又能防止用戶之間的不正常交互作用;④故障的發現和恢復:由數據庫管理系統提供一套方法,可及時發現故障和修復故障,從而防止數據被破壞。4.4.2數據結構(1)數據結構數據結構是指數據的組織形式或數據之間的聯系。如果用D表示數據,用R表示數據對象之間存在的關系集合,則將DS=(D,R)稱為數據結構。例如,設有一個電話號碼簿,它記錄了n個人的名字和相應的電話號碼。為了方便地查找某人的電話號碼,將人名和號碼按字典順序排列,并在名字的后面跟隨著對應的電話號碼。這樣,若要查找某人的電話號碼(假定他的名字的第一個字母是Y),那么只須查找以Y開頭的那些名字就可以了。該例中,數據的集合D就是人名和電話號碼,它們之間的聯系R就是按字典順序的排列,其相應的數據結構就是DS=(D,R),即一個數組。4.4.2數據結構(2)數據結構類型數據結構又分為數據的邏輯結構和數據的物理結構。

數據的邏輯結構是從邏輯的角度(即數據間的聯系和組織方式)來觀察數據,分析數據,與數據的存儲位置無關;

數據的物理結構是指數據在計算機中存放的結構,即數據的邏輯結構在計算機中的實現形式,所以物理結構也被稱為存儲結構。這里只研究數據的邏輯結構,并將反映和實現數據聯系的方法稱為數據模型。

4.4.2數據結構(3)數據模型比較流行的數據模型有三種,即按圖論理論建立的層次結構模型和網狀結構模型以及按關系理論建立的關系結構模型。即:層次數據模型

網狀數據模型

關系數據模型①層次數據模型

層次數據模型是用樹狀<層次>結構來組織數據的數據模型。

層次數據模型實質上是一種有根結點的定向有序樹,因此層次數據模型就是的圖形表示就是一個倒立生長的樹,由基本數據結構中的樹(或者二叉樹)的定義可知,每棵樹都有且僅有一個根結點,其余的節點都是非根節點。每個結點表示一個記錄類型對應與實體的概念,記錄類型的各個字段對應實體的各個屬性。各個記錄類型及其字段都必須記錄。4.4.2數據結構(3)數據模型學校編號校名系編號1系名1系編號2系名2教研室編號教研室名學號姓名成績教師編號教師姓名研究方向①層次數據模型根據一個高等學校的組織結構圖,說明層次數據模型的結構。這個組織結構圖像一棵樹。4.4.2數據結構(3)數據模型記錄類型學校就是樹根(稱為根結點),其屬性為學校編號和學校名稱;記錄類型系部構成了記錄類型學校的子結點,系部的屬性有系部編號和系部名稱;記錄類型教研室和學生分別構成了記錄類型系部的子結點,教研室的屬性有教研室編號和教研室名稱,學生的屬性分別是學號、姓名和成績;記錄類型教師是教研室這一實體的子節點,其屬性由教師的編號,教師的姓名,教師的研究方向。

這種結構決定了采用層次數據模型作為學校組織方式的層次數據庫系統可以處理一對多的實體聯系。4.4.2數據結構(3)數據模型①層次數據模型層次數據模型的特征:整個模型中有且僅有一個結點沒有父結點,其余的結點必須有且僅有一個父結點,但是所有的結點都可以不存在子結點;所有的子結點不能脫離父結點而單獨存在,也就是說如果要刪除父結點,那么父結點下面的所有子結點都要同時刪除,但是可以單獨刪除一些葉子結點;每個記錄類型有且僅有一條從父結點通向自身的路徑。4.4.2數據結構(3)數據模型①層次數據模型

網狀數據模型是用有向圖表示實體和實體之間的聯系的數據結構模型。

網狀數據模型允許一個結點可以同時擁有多個雙親結點和子結點。

網狀數據模型中所有的結點允許脫離父結點而存在,也就是說說在整個模型中允許存在兩個或多個沒有根結點的結點,同時也允許一個結點存在一個或者多個的父結點,成為一種網狀的有向圖。

也可以認為層次數據模型是網狀數據模型的一個特例。4.4.2數據結構(3)數據模型②網狀數據模型

根據教務管理系統說明網狀數據模型

從圖中可以看出課程(實體)的父結點由專業、教研室、學生。

以課程和學生之間的關系來說,他們是一種m:n的關系,也就是說一個學生能夠選修多門課程,一門課程也可以被多個學生同時選修4.4.2數據結構(3)數據模型②網狀數據模型專業教研室課程學生任課選課教師網狀數據模型的特征:可以存在兩個或者多個結點沒有父結點;允許單個結點存在多于一個父結點;網狀數據模型中的,每個結點表示一個實體,結點之間的有向線段表示實體之間的聯系。網狀數據模型中需要為每個聯系指定對應的名稱。4.4.2數據結構(3)數據模型②網狀數據模型專業教研室課程學生任課選課教師4.4.2數據結構(3)數據模型③關系型數據模型

關系型數據模型是采用二維表格結構表達實體類型及實體間聯系的數據模型,它的基本假定是所有數據都表示為數學上的關系。

因此關系數據模型把一些復雜的數據結構歸結為簡單的二元關系(即二維表格形式)。4.4.2數據結構(3)數據模型③關系型數據模型

下面以學生選課系統為例進行說明關系型數據模型。學生選課系統的實體包括:學生、教師、課程;其聯系一般為學生與課程之間是一種多對多的關系,教師與課程之間是多對多的關系。學生可以同時選擇多門課程,一門課程也可以同時被多個學生同時選擇;一位教師可以教授多門課程,一門可能可以由多個教師教授。因此他們之間的聯系如下:學生選課課程教師教課mnmn4.4.2數據結構(3)數據模型③關系型數據模型根據學生選課系統示意圖映射為關系數據模型中的表格如圖4。從圖中可以看到學生與課程之間的聯系、教師和課程之間的多對多聯系都被映射成了表格。學生編號學生姓名性別年齡學生教師編號教師姓名性別年齡教師課程編號課程名稱學分課程學生編號課程編號成績選課教師編號課程編號教課4.4.2數據結構(3)數據模型③關系型數據模型關系型數據模型特征:關系數據模型中,無論是實體、還是實體之間的聯系都被映射成統一的關系,即一張二維表,在關系模型中,操作的對象和結果都是一張二維表;關系型數據庫可用于表示實體之間的多對多的關系,只是此時要借助第三個關系,即表格,來實現多對多的關系,如學生選課系統中學生和課程之間表現出一種多對多的關系,那么需要借助第三個表,也就是選課表將二者聯系起來;關系必須是規范化的關系,即每個屬性是不可分割的實體,不允許表中表的存在。4.4.3數據庫系統數據庫系統是一個由硬件、軟件、數據庫和用戶構成的完整計算機應用系統。軟件主要包括操作系統、各種宿主語言、實用程序以及數據庫管理系統。數據庫由數據庫管理系統統一管理,數據的插入、修改和檢索均要通過數據庫管理系統進行。數據管理員負責創建、監控和維護整個數據庫。硬件操作系統語言編譯系統數據庫管理系統應用系統DBA用戶4.4.3數據庫系統(1)硬件數據庫系統硬件包括計算機的主機、鍵盤、顯示器和外圍設備(如打印機、光盤機、磁帶機等)。由于一般數據庫系統所存放和處理的數據量很大,加之DBMS豐富的功能軟件,使得自身所占的存儲空間很大,因此整個數據庫系統對硬件資源提出了比較高的要求。其要求是:足夠大的內存以存放操作系統、DBMS的核心模塊、數據緩沖區和應用程序;有足夠大的直接存取設備存放數據(如磁盤)有足夠的存儲設備來進行數據備份;要求計算機有比較高的數據傳輸能力,以提高數據傳送率。4.4.3數據庫系統(2)軟件

數據庫系統的軟件除了數據庫管理系統之外,還包括操作系統各種高級語言處理程序(編譯或解釋程序,應用開發工具軟件和特定應用軟件等。

應用開發工具包括應用程序生成器和第四代語言等高效率、多功能的軟件工具,如報表生成系統、表格軟件、圖形編輯系統等。它們為數據庫系統的應用開發人員和最終用戶提供了有力支持。

特定應用軟件是指為特定用戶開發的數據庫應用軟件,如基于數據庫的各種管理軟件、管理信息系統(MIS)、決策支持系統(DSS)他辦公自動化(OA)等。4.4.3數據庫系統(3)數據

數據是數據庫的基本組成,是對客觀世界所存在事物和一種表征,也是數據庫系統用戶操作的對象。數據是數據庫系統,也是企業或組織的真正財富。

數據應按照需求進行采集并有結構地存入數據庫,由于數據的類型多樣性,數據的采集方式和存儲方式也會不同。

數據作為一種資源是數據庫系統中最穩定的成分,即硬件可能更新,甚至軟件也可以更新,但只要企業或組織性質不改變,數據將是可以長期使用的財富。

數據庫中的數據具有集合、共享、最少冗余和能為多種應用服務的特征。4.4.3數據庫系統(4)用戶

數據庫用戶是管理、開發、使用數據庫的主體。

根據工作任務的差異,數據庫用戶通常可以分:

終端用戶

應用程序員

數據管理員4.4.3數據庫系統(4)用戶終端用戶

終端用戶使用數據庫系統提供的終端命令語言,或者菜單驅動、表格驅動、圖形顯示和報表生成等對話方式,來存取和應用數據庫中的數據。

這類人員是一些并不精通計算機和程序設計的各級管理人員,但必須接受必要的數據庫應用培訓。4.4.3數據庫系統(4)用戶

②應用程序員應用程序員是負責設計和編制應用程序的人員。他們通常使用C語言、數據庫語言或4GL(第四代語言)等來設計和編寫應用程序,供終端用戶使用。應用程序員不僅要求具有較高的技術專長,而且還要具備較深的資歷,熟悉部門全部數據的性質和用途,兼有系統程序員、系統分析員的能力。其具體職責是:決定數據庫的內容和結構;決定數據庫的存儲結構和存取策略,使數據的存儲空間利用率和存取效率均較優;決定數據的安全性要求和完整性約束條件;根據終端用戶的需要,設計和編制各種功能強勁的應用程序。4.4.3數據庫系統(4)用戶

③數據管理員

數據庫管理員是指全面負責數據庫系統的日常管理、維護和運行的人員。DBA處于終端用戶與應用程序員之間,是數據庫系統能否正常運轉的關鍵,大型數據庫系統需要設置專門的管理辦公室。

其職責是監督控制數據庫的使用和運行,實施數據庫系統的維護、改進和重組,開展信息社會化服務。

4.5.1區塊鏈概念4.5.2區塊鏈類型4.5.3構架模型4.5.5區塊鏈的功能4.5.6區塊鏈與多種技術的融合4.5區塊鏈4.5區塊鏈

區塊鏈是一個信息技術領域的術語。從本質上講,它是一個共享數據庫,存儲于其中的數據或信息。區塊鏈具有“不可偽造”、“全程留痕”、“可以追溯”、“公開透明”、“集體維護”等特征。基于這些特征,區塊鏈技術奠定了堅實的“信任”基礎,創造了可靠的

“合作”機制,具有廣闊的運用前景。4.5.1區塊鏈概述什么是區塊鏈?

狹義來講,區塊鏈是一種按照時間順序將數據區塊以順序相連的方式組合成的一種鏈式數據結構,并以密碼學方式保證的不可篡改和不可偽造的分布式賬本。

廣義來講,區塊鏈技術是利用塊鏈式數據結構來驗證與存儲數據、利用分布式節點共識算法來生成和更新數據、利用密碼學的方式保證數據傳輸和訪問的安全、利用由自動化腳本代碼組成的智能合約來編程和操作數據的一種全新的分布式基礎架構與計算范式。4.5.1區塊鏈的概述區塊鏈的組成

數據層

網絡層

共識層

激勵層

合約層

應用層4.5.1區塊鏈的概述區塊鏈組成部分的功能數據層封裝了底層數據區塊以及相關的數據加密和時間戳等技術。網絡層則包括分布式組網機制、數據傳播機制和數據驗證機制等。共識層主要封裝網絡節點的各類共識算法。激勵層將經濟因素集成到區塊鏈技術體系中來,主要包括經濟激勵的發行機制和分配機制等。合約層主要封裝各類腳本、算法和智能合約,是區塊鏈可編程特性的基礎;應用層則封裝了區塊鏈的各種應用場景和案例。4.5.2區塊鏈的類型

區塊鏈,按照不同角度,可以分很多種類型。

按照開放程度,區塊鏈可以劃分出的三個類型:

公有區塊鏈

聯盟區塊鏈

私有區塊鏈①公有區塊鏈什么是公有區塊鏈?公有區塊鏈(PublicBlockChains)是任何節點都是向任何人開放的,每個人都可以參與到這個區塊鏈中參與計算,而且任何人都可以下載獲得完整區塊鏈數據(全部賬本)。

世界上任何個體或者團體都可以發送交易,且交易能夠獲得該區塊鏈的有效確認,任何人都可以參與其共識過程。公有區塊鏈的特點代碼開源。代碼上傳到github,每個人都可以通過下載得到完整的區塊鏈數據,接受大眾的考驗。完全去中心化。任何人都可以成為一個節點,每一個節點都是公開的,每個人都可以參與區塊鏈的計算,任何節點都不是永久的,而是階段性的,任何中心對節點都不具有強制性。任何人都可讀取的、且能發送交易,而且交易能夠在區塊鏈上得到有效的確認,任何人都可參與其中共識過程。共識過程決定某個區塊可以添加到區塊鏈中,以及確切的當前狀態。每個人都可以從中得到經濟獎勵,和在共識過程中所作的貢獻成正比。這些公有鏈通常被認為是“完全意義上的去中心化”。開發去中心化應用。程序開發者通過此公鏈,可以很方便地開發出去中心化應用。公有鏈可以保護用戶權益免受程序開發者的影響。①公有區塊鏈公有區塊鏈的限制公有區塊鏈數據全網公開,這種情況并不適用于所有的行業中,試想銀行、政府、證券行業怎么可能講全網數據公開呢?那就是處理交易的速度過慢,這個問題比特幣和以太坊都存在。公有鏈需要全網節點共同參與,參與的節點太多了,的確實現了去中心化,但是效率十分低下,嚴重影響處理交易的速度。公有區塊鏈涉及到發幣,發幣這個事情涉及到ICO,比較敏感。①公有區塊鏈②聯盟區塊鏈什么是聯盟區塊鏈?

聯盟區塊鏈(ConsortiumBlockChains)就由每個塊的生成由所有的預選節點共同決定(預選節點參與共識過程),其他接入節點可以參與交易,但不過問記賬過程(本質上還是托管記賬,只是變成分布式記賬,預選節點的多少,如何決定每個塊的記賬者成為該區塊鏈的主要風險點),其他任何人可以通過該區塊鏈開放的API進行限定查詢。聯盟區塊鏈的特點采用多中心化,系統信任問題得到改善。可聯合有多公司的行業,對產業或國家的特定清算、結算用途有用,降低不同地區的結算成本和時間,相比現有的系統而言更加簡單和高效。能夠繼承中心化的優點,易進行控制權限設定。具有更高的可擴展性。②聯盟區塊鏈

③私有區塊鏈

什么是私有區塊鏈?

私有區塊鏈(PrivateBlockChains):僅僅使用區塊鏈的總賬技術進行記賬,可以是一個公司,也可以是個人,獨享該區塊鏈的寫入權限,本鏈與其他的分布式存儲方案沒有太大區別。私有區塊鏈的特點可修改規則。運行著私有區塊鏈的共同體或公司可以很容易地修改該區塊鏈的規則,還原交易,修改余額等。更快速,效率高。私有鏈只有少量的節點,而且都具有較高的信任度,并不需要每個節點都來驗證一個交易,因此相比需要通過大多數節點驗證的公有鏈,私有鏈的交易速度更快,交易成本也更低。隱私保護。私有鏈能更好地保護組織自身的隱私,交易數據不會對全網公開。私有鏈上不必處理訪問權限等繁瑣進程,個人數據不會被網絡上任何人獲得。

③私有區塊鏈三種區塊鏈的分析比較

公有區塊鏈、聯盟區塊鏈、私有區塊鏈的開放程度依次遞減。

公有區塊鏈開放程度最高,最公平,但是速度慢、效率低;

聯盟區塊鏈和私有區塊鏈效率快,但是削弱了去中心化屬性,更加側重的是區塊鏈技術對于數據維護的安全性。4.5.3區塊鏈的架構模型區塊鏈的組成

數據層

網絡層

共識層

激勵層

合約層

應用層(1)數據層

數據層封裝了底層數據區塊的鏈式結構,以及相關的非對稱公私鑰數據加密技術和時間戳等技術,這是整個區塊鏈技術中最底層的數據機構。

大多數技術都已被發明數十年,并在計算機領域使用了很久,無須擔心其中的安全性,因為如果這些技術出現安全性上的巨大漏洞,則意味著全球金融技術都會出現嚴重的問題。

中本聰在設計比特幣時,為每個區塊設置了1MB(兆)大小的容量限制,但由于目前比特幣的交易量迅速提升,1MB的區塊空間能容納的交易數量有限,所以要考慮擴容區塊鏈來突破這個限制。①

區塊+鏈:

數據層的核心技術是設計賬本的數據結構。

從技術上來講,區塊是一種記錄交易的數據結構,反映了一筆交易的資金流向。系統中已經達成的交易的區塊連接在一起形成了一條主鏈,所有參與計算的節點都記錄了主鏈或主鏈的一部分。

每個區塊由區塊頭和區塊體組成。

區塊體只負責記錄前一段時間內的所有交易信息,主要包括交易數量和交易詳情;

區塊頭則封裝了當前的版本號、前一區塊地址、時間戳(記錄該區塊產生的時間,精確到秒)、隨機數(記錄解密該區塊相關數學題的答案的值)、當前區塊的目標哈希值、Merkle數的根值等信息。

從結構來看,區塊鏈的大部分功能都由區塊頭實現。(1)數據層②

哈希函數:

數據層的核心技術是設計賬本的數據結構。

哈希函數可將任意長度的資料經由Hash算法轉換為一組固定長度的代碼,原理是基于一種密碼學上的單向哈希函數,這種函數很容易被驗證,但是卻很難破解。

通常業界使用y=hash(x)的方式進行表示,該哈希函數實現對x進行運算計算出一個哈希值y。常使用的哈希算法包括MD5、SHA-1、SHA-256、SHA-384及SHA-512等。

以SHA256算法為例,將任何一串數據輸入到SHA256將得到一個256位的Hash值(散列值)。其特點是相同的數據輸入將得到相同的結果。輸入數據只要稍有變化(比如一個1變成了0)則將得到一個完全不同的結果,且結果無法事先預知。正向計算(由數據計算其對應的Hash值)十分容易。逆向計算(破解)極其困難,在當前科技條件下被視作不可能。(1)數據層③Merkle樹

數據層的核心技術是設計賬本的數據結構。

Merkle樹是一種哈希二叉樹,使用它可以快速校驗大規模數據的完整性。

在區塊鏈網絡中,Merkle樹被用來歸納一個區塊中的所有交易信息,最終生成這個區塊所有交易信息的一個統一的哈希值,區塊中任何一筆交易信息的改變都會使得Merkle樹改變。(1)數據層④

非對稱加密算法:

數據層的核心技術是設計賬本的數據結構。

非對稱加密算法是一種密鑰的保密方法,需要兩個密鑰:公鑰和私鑰。

公鑰與私鑰是一對,如果用公鑰對數據進行加密,只有用對應的私鑰才能解密,從而獲取對應的數據價值;

如果用私鑰對數據進行簽名,那么只有用對應的公鑰才能驗證簽名,驗證信息的發出者是私鑰持有者。

加密和解密使用的是兩個不同的密鑰,所以這種算法叫做非對稱加密算法,而對稱加密在加密與解密的過程中使用的是同一把密鑰。(1)數據層(2)網絡層網絡層核心技術是P2P網絡協議

網絡層包括分布式組網機制、數據傳播機制和數據驗證機制等。

采用了完全P2P的組網技術,也就意味著區塊鏈是具有自動組網功能的。

P2P組網技術,在早先應用于BT(比特流)和eMule(電驢)之類的P2P下載軟件中,也是一種相對來說非常成熟的技術。

網絡層實現記賬節點的去中心化。網絡層核心技術是P2P網絡協議P2P網絡協議(對等網絡),又稱點對點技術,是沒有中心服務器、依靠用戶群交換信息的互聯網體系。

與有中心服務器的中央網絡系統不同,對等網絡的每個用戶端既是一個節點,也有服務器的功能。P2P網絡其具有去中心化與健壯性等特點。P2P網絡協議是所有區塊鏈的最底層模塊,負責交易數據的網絡傳輸和廣播、節點發現和維護。

通常我們所用的都是比特幣P2P網絡協議模塊,它遵循一定的交互原則。比如:初次連接到其他節點會被要求按照握手協議來確認狀態,在握手之后開始請求Peer節點的地址數據以及區塊數據。(2)網絡層網絡層核心技術是P2P網絡協議

P2P交互協議具有自己的指令集合,指令體現在在消息頭(MessageHeader)的命令(command)域中。

這些命令為上層提供了節點發現、節點獲取、區塊頭獲取、區塊獲取等功能。

這些功能都是非常底層、非常基礎的功能。(2)網絡層(3)共識層

共識層主要封裝網絡節點的各類共識機制算法。

共識機制算法是區塊鏈技術的核心技術,因為這決定了到底由誰來進行記賬,記賬者選擇方式將會影響到整個系統的安全性和可靠性。

目前已經出現了十余種共識機制算法,其中最為知名的有工作量證明機制(ProofofWork,PoW)、權益證明機制(ProofofStake,PoS)、股份授權證明機制(DelegatedProofofStake,DPoS)等。

共識層是調配記賬節點的任務負載。共識機制

共識機制,就是所有記賬節點之間如何達成共識,去認定一個記錄的有效性,這既是認定的手段,也是防止篡改的手段。

目前主要有四大類共識機制:PoW(ProofofWork,工作量證明)PoS(ProofofStake,權益證明)DPoS(DelegatedProof-Of-Stake,股份授權證明)

分布式一致性算法。(3)共識層①PoW(ProofofWork,工作量證明)PoW機制,也就是像比特幣的挖礦機制,礦工通過把網絡尚未記錄的現有交易打包到一個區塊,然后不斷遍歷嘗試來尋找一個隨機數,使得新區塊加上隨機數的哈希值滿足一定的難度條件。

找到滿足條件的隨機數,就相當于確定了區塊鏈最新的一個區塊,也相當于獲得了區塊鏈的本輪記賬權。

礦工把滿足挖礦難度條件的區塊在網絡中廣播出去,全網其他節點在驗證該區塊滿足挖礦難度條件,同時區塊里的交易數據符合協議規范后,將各自把該區塊鏈接到自己版本的區塊鏈上,從而在全網形成對當前網絡狀態的共識。(3)共識層②PoS(ProofofStake,權益證明)PoS機制,要求節點提供擁有一定數量的代幣證明來獲取競爭區塊鏈記賬權的一種分布式共識機制。

如果單純依靠代幣余額來決定記賬者必然使得富有者勝出,導致記賬權的中心化,降低共識的公正性,因此不同的PoS機制在權益證明的基礎上,采用不同方式來增加記賬權的隨機性來避免中心化。(3)共識層②PoS(ProofofStake,權益證明)

采用不同方式來增加記賬權的隨機性來避免中心化。

點點幣(PeerCoin)PoS機制中,擁有最多鏈齡長的比特幣獲得記賬權的幾率就越大。NXT和Blackcoin則采用一個公式來預測下一記賬的節點。擁有多的代幣被選為記賬節點的概率就會大。

未來以太坊也會從目前的PoW機制轉換到PoS機制,從目前看到的資料看,以太坊的PoS機制將采用節點下賭注來賭下一個區塊,賭中者有額外以太幣獎,賭不中者會被扣以太幣的方式來達成下一區塊的共識。(3)共識層Proof-Of-Stake,股份授權證明)

DPoS很容易理解,類似于現代企業董事會制度。

比特股采用的DPoS機制是由持股者投票選出一定數量的見證人,每個見證人按序有兩秒的權限時間生成區塊,若見證人在給定的時間片不能生成區塊,區塊生成權限交給下一個時間片對應的見證人。

持股人可以隨時通過投票更換這些見證人。DPoS的這種設計使得區塊的生成更為快速,也更加節能。(3)共識層④分布式一致性算法

分布式一致性算法是基于傳統的分布式一致性技術。

分為解決拜占庭將軍問題的拜占庭容錯算法,如PBFT(拜占庭容錯算法)。

另外解決非拜占庭問題的分布式一致性算法(Pasox、Raft)。

該類算法目前是聯盟鏈和私有鏈場景中常用的共識機制。(3)共識層分析

POW適合應用于公鏈,

如果搭建私鏈,因為不存在驗證節點的信任問題,可以采用POS比較合適;

聯盟鏈由于存在不可信局部節點,采用DPOS比較合適。(3)共識層(4)激勵層

激勵層將經濟因素集成到區塊鏈技術體系中來。

主要包括經濟激勵的發行機制和分配機制等。

激勵層主要出現在公有區塊鏈(PublicBlockchain)中,因為在公有區塊鏈中必須激勵遵守規則參與記賬的節點,并且懲罰不遵守規則的節點,才能讓整個系統朝著良性循環的方向發展。所以激勵機制往往也是一種博弈機制,讓更多遵守規則的節點愿意進行記賬。

在私有鏈(PrivateBlockchain)中,則不一定需要進行激勵,因為參與記賬的節點往往是在鏈外完成了博弈,也就是可能有強制力或者有其他需求來要求參與記賬。

激勵層是制定記賬節點的“薪酬體系”。

主要核心技術是發行機制和激勵機制。

激勵層主要核心技術是發行機制和激勵機制。(以比特幣為例)

比特幣最開始由系統獎勵給那些創建新區塊的礦工,該獎勵大約每四年減半。

剛開始每記錄一個新區塊,獎勵礦工50個比特幣,該獎勵大約每四

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論