版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
物聯(lián)網(wǎng)大數(shù)據(jù)處理技術與實踐InternetofThings
BigDataprocessingTechnologyandPractice感知數(shù)據(jù)庫管理系統(tǒng)感知數(shù)據(jù)庫的總體設計1感知數(shù)據(jù)庫的分布部署體系2感知數(shù)據(jù)庫中的關鍵技術3PARTONE1感知數(shù)據(jù)庫的總體設計師傅領進門,學藝在自身。------中國諺語感知數(shù)據(jù)庫總體設計感知數(shù)據(jù)庫設計的主要原則:松耦合組件化消息機制感知數(shù)據(jù)庫松耦合:由于感知數(shù)據(jù)的海量數(shù)據(jù)流以上行數(shù)據(jù)為主的特性,因?qū)⒏哳l度、周期性的感知數(shù)據(jù)在線處理任務與其他非周期任務分開處理,以避免系統(tǒng)抖動問題。組件化:通過系統(tǒng)的解耦和以及組件化設計,有利用系統(tǒng)的分布式部署以及充分利用服務器上的多處理器多核的計算能力。消息機制:組件之間更多采用消息機制,提高并發(fā)處理能力,避免接口調(diào)用導致堵塞降低系統(tǒng)性能。感知數(shù)據(jù)庫的設計框架感知數(shù)據(jù)系統(tǒng)主要包含九大組件,分別是:數(shù)據(jù)采集協(xié)調(diào)器、內(nèi)存數(shù)據(jù)管理器、歷史數(shù)據(jù)管理器、數(shù)據(jù)組織管理器、實時事務調(diào)度中心、數(shù)據(jù)訂閱-發(fā)布中心、數(shù)據(jù)同步服務器、日志管理器、應用接口服務器組成。如右圖所示。應用服務接口數(shù)據(jù)訂閱-發(fā)布中心數(shù)據(jù)同步服務器內(nèi)存數(shù)據(jù)管理器數(shù)據(jù)采集協(xié)調(diào)器日志管理器實時調(diào)度處理中心歷史數(shù)據(jù)管理器數(shù)據(jù)組織管理器感知數(shù)據(jù)庫的設計框架感知數(shù)據(jù)庫系統(tǒng)的九大組件具體功能如下:(1)數(shù)據(jù)采集協(xié)調(diào)器:提供一個標準的框架及其插件的系統(tǒng)架構,不同協(xié)議類似于一個插件,可以動態(tài)加入統(tǒng)一的框架中,方便系統(tǒng)擴展數(shù)據(jù)采集能力。(2)數(shù)據(jù)組織管理器:數(shù)據(jù)組織管理器按照時態(tài)對象模型組織數(shù)據(jù),其中實時數(shù)據(jù)由內(nèi)存數(shù)據(jù)管理器負責組織管理,歷史數(shù)據(jù)緩存以及持久存儲由歷史數(shù)據(jù)管理器負責。感知數(shù)據(jù)庫的設計框架(3)內(nèi)存數(shù)據(jù)管理器:內(nèi)存數(shù)據(jù)管理器利用主內(nèi)存的快速存取優(yōu)勢,采用獨占寫數(shù)據(jù)權限+共享多用戶讀數(shù)據(jù)權限,以及多版本并發(fā)控制,最大化數(shù)據(jù)訪問的并發(fā)能力,以便快速處理源源不斷到達的實時數(shù)據(jù)流。(4)歷史數(shù)據(jù)管理器:歷史數(shù)據(jù)管理器采用數(shù)據(jù)緩存、數(shù)據(jù)塊、歸檔文件三級模式進行數(shù)據(jù)管理。歷史數(shù)據(jù)管理器利用數(shù)據(jù)緩存進行數(shù)據(jù)壓縮打包,并建立索引,形成數(shù)據(jù)塊,存入物理磁盤。根據(jù)數(shù)據(jù)訪問需求以及用戶設置,長期不用的數(shù)據(jù)可以轉換成歸檔文件,歸檔文件一般不提供在線查詢服務。(5)實時事務調(diào)度中心:系統(tǒng)中所有的數(shù)據(jù)操作都是采用事務模型進行處理,實時事務調(diào)度處理中心是整個系統(tǒng)的核心,事務的調(diào)度算法以及并發(fā)控制機制是體現(xiàn)系統(tǒng)性能的關鍵。(6)數(shù)據(jù)訂閱-發(fā)布中心:由于感知數(shù)據(jù)處理的實時性需求,數(shù)據(jù)分發(fā)方式不能采用關系數(shù)據(jù)庫等傳統(tǒng)系統(tǒng)的查詢或者輪詢方式,必須采用訂閱-發(fā)布機制確保數(shù)據(jù)更新能夠及時地到達系統(tǒng)內(nèi)部的其他組件或者外部應用。感知數(shù)據(jù)庫的設計框架(7)數(shù)據(jù)同步服務器:數(shù)據(jù)同步服務器是支撐系統(tǒng)進行分布式部署的基礎,常用的同步方式包括鏡像同步與聚合同步?!ょR像同步主要應用于跨網(wǎng)絡的數(shù)據(jù)共享應用,最典型的場景是通過網(wǎng)絡隔離裝置-安全隔離網(wǎng)閘實現(xiàn)的單向數(shù)據(jù)同步服務-通用的網(wǎng)閘設計一般分三個基本部分:內(nèi)網(wǎng)處理單元、外網(wǎng)處理單元、隔離與交換控制單元(8)日志管理器:日志管理器主要用來記錄數(shù)據(jù)庫中的重大參數(shù)修改、系統(tǒng)運行日志、用戶事務日志、錯誤日志等,其中系統(tǒng)運行日志包括數(shù)據(jù)采集接口運行狀態(tài)、用戶端連接狀態(tài)、系統(tǒng)運行負荷等內(nèi)容。(9)應用接口服務器:系統(tǒng)對外提供數(shù)據(jù)訂閱服務、數(shù)據(jù)查詢服務、數(shù)據(jù)回放服務以及對SQL語言的支持等,這些都是使用特定的協(xié)議通過應用接口服務與系統(tǒng)打交道。網(wǎng)閘結構PARTTWO2感知數(shù)據(jù)庫的分布部署體系感知數(shù)據(jù)庫的分布部署體系感知數(shù)據(jù)庫的分布部署一方面來源于系統(tǒng)的分級、分區(qū)管理需求,另一方面來源于系統(tǒng)的高性能與高可用性需求,而且系統(tǒng)高可用性的分布部署模式也是整個系統(tǒng)分布部署的基礎環(huán)節(jié)。系統(tǒng)的集群部署模式根據(jù)側重的方向和目的,集群分為三大類:高性能集群(HighPerformanceCluster,HPC)負載均衡集群(LoadBalanceCluster,LBC)高可用性集群(HighAvailabilityCluster,HAC)高性能集群目的是利用一個集群中的多臺機器共同完成同一件任務,使得完成任務的速度和可靠性都遠遠高于單機運行的效果,彌補單機性能上的不足主要用在天氣預報、環(huán)境監(jiān)控等數(shù)據(jù)量大、計算復雜的環(huán)境中系統(tǒng)的集群部署模式負載均衡集群利用一個集群中的多臺單機,完成許多并行的小的工作主要目的是選擇負載最小的機器,縮短用戶請求的響應時間,提供最好的服務,并且增加系統(tǒng)的可用性和穩(wěn)定性在網(wǎng)站中使用較多高可用性集群
依利用集群中系統(tǒng)的冗余,最大限度地保證集群中服務的可用性
廣泛應用于系統(tǒng)可靠性要求高的領域系統(tǒng)的集群部署模式按照集群工作的層面可分為:數(shù)據(jù)庫集群、應用服務集群、交換機集群等。MicrosoftSQLServer自身可提供兩種集群技術:失敗轉移集群(MSCS:MicrosoftSQLClusterServer)和鏡像(Mirror)鏡像(Mirror)是一種不需要共享磁盤的高可用集群,是數(shù)據(jù)庫級別的集群。MSCS是一種基于共享磁盤的高可用集群,是操作系統(tǒng)級別的集群,這也能夠通過第三方的高可用(HA:HighAvailability)軟件實現(xiàn)系統(tǒng)的集群部署模式目前,工業(yè)上數(shù)據(jù)庫系統(tǒng)支持最多并且最常用的集群方式是雙機熱備與鏡像。雙機熱備:是一種主從模式、基于共享磁盤的失敗轉移集群,是操作系統(tǒng)級別的集群,大部分通過操作系統(tǒng)或者第三方的HA軟件來實現(xiàn),不需要數(shù)據(jù)庫系統(tǒng)的特別支持。數(shù)據(jù)庫鏡像:是非共享磁盤型的高可用解決方案,可分為完全鏡像與部分鏡像,一般需要數(shù)據(jù)庫自身的支持,是進行系統(tǒng)多層級部署的基礎;部分數(shù)據(jù)鏡像的主要目的是實現(xiàn)數(shù)據(jù)庫的聚合同步,實現(xiàn)系統(tǒng)的分級部署。系統(tǒng)的集群部署模式數(shù)據(jù)庫系統(tǒng)的雙機部署模式系統(tǒng)的集群部署模式多點集群是雙機系統(tǒng)在技術上的提升,由多臺服務器組成一個集群,靈活地進行系統(tǒng)部署,并設置適合的接管策略。常用的方式有:一備多、多備多、多機互備等??梢猿浞值乩梅掌髻Y源,同時保證系統(tǒng)的高可用性與擴展能力。數(shù)據(jù)庫系統(tǒng)的多點集群部署模式系統(tǒng)的集群部署模式以上集群部署模式主要目的在于系統(tǒng)的高可用性,通過雙機互備或者多點集群能在一定程度上實現(xiàn)系統(tǒng)的高性能。這些部署中的許多模式需要數(shù)據(jù)庫本身的支持,包括數(shù)據(jù)庫的多實例、數(shù)據(jù)同步復制、全局數(shù)據(jù)字典管理、多服務器的統(tǒng)一訪問接口等等。多層級的系統(tǒng)部署體系一級數(shù)據(jù)庫系統(tǒng):一般來說,一級數(shù)據(jù)庫系統(tǒng)部署在基層單位,直接從工業(yè)現(xiàn)場、傳感器網(wǎng)絡或者嵌入式數(shù)據(jù)庫中采集或者同步復制數(shù)據(jù),支持本地應用并為上一級系統(tǒng)提供數(shù)據(jù)基礎;感知數(shù)據(jù)庫系統(tǒng)的部署可以根據(jù)實際需求采用雙機熱備、雙機互備、雙機雙工或者多點集群等模式。這一級數(shù)據(jù)庫系統(tǒng)更多地是面向SCADA之類的綜合自動化應用,以及部分在線計算分析應用。由于物聯(lián)網(wǎng)本身的廣域特征以及管理的級別體系需求,感知數(shù)據(jù)庫系統(tǒng)在一定情況下有必要采用多層級的分布式體系。下面,我們以典型的三級分布部署體系為例,描述多層級的系統(tǒng)部署體系。多層級的系統(tǒng)部署體系二級數(shù)據(jù)庫系統(tǒng):二級數(shù)據(jù)庫系統(tǒng)同樣可采用多種部署方式,數(shù)據(jù)來源可能包括工業(yè)現(xiàn)場、一級數(shù)據(jù)庫系統(tǒng)以及一定數(shù)量的在線整合計算數(shù)據(jù),并可支持數(shù)據(jù)的歸檔管理;二級數(shù)據(jù)庫系統(tǒng)與一級數(shù)據(jù)庫可以采用鏡像方式進行數(shù)據(jù)同步復制,并且在必要的情況下支持跨網(wǎng)閘的數(shù)據(jù)傳輸,保證兩級系統(tǒng)之間的網(wǎng)絡隔離。三級數(shù)據(jù)庫系統(tǒng)或者大數(shù)據(jù)云平臺:三級數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)主要來源于二級數(shù)據(jù)庫以及在線的整合計算數(shù)據(jù),系統(tǒng)主要是面向管理業(yè)務提供實時的統(tǒng)計分析以及設備運行分析與預測應用,而非面向監(jiān)控應用。系統(tǒng)在二級數(shù)據(jù)庫系統(tǒng)的基礎上,更加深入地與關系數(shù)據(jù)庫、知識庫系統(tǒng)等結合,通過進一步數(shù)據(jù)整合計算或者數(shù)據(jù)挖掘分析,構建全面完整的企業(yè)實時數(shù)據(jù)倉庫和挖掘分析平臺。多層級的系統(tǒng)部署體系數(shù)據(jù)庫系統(tǒng)的三級部署體系多層級的數(shù)據(jù)庫系統(tǒng)部署體系是許多大型工廠與企業(yè)進行實時數(shù)據(jù)平臺建設的基本模式,要求大型分布式數(shù)據(jù)庫系統(tǒng)產(chǎn)品提供一定的功能支持,包括數(shù)據(jù)庫的聚合同步、數(shù)據(jù)的在線整合計算、一定的數(shù)據(jù)挖掘分析能力等。服務分布的部署體系感知數(shù)據(jù)庫系統(tǒng)不僅需要支持系統(tǒng)的多級部署,而且應該支持系統(tǒng)中不同服務的分布部署感知數(shù)據(jù)庫系統(tǒng)中的服務通常包括:基于內(nèi)存的實時數(shù)據(jù)服務、歷史數(shù)據(jù)服務、報警與事件服務、數(shù)據(jù)訂閱服務、數(shù)據(jù)目錄服務、實時計算服務等等這些服務通過實時高效的通信機制互聯(lián)互通,其分布部署體系分為三個方面:服務的分布式部署系統(tǒng)中,每類服務都可有多個,每個服務都可單獨部署,多個服務也可部署在同一節(jié)點上。通過分布式部署某類服務的多個實例,可提高服務和系統(tǒng)的并行處理能力。例如,實時數(shù)據(jù)服務與歷史數(shù)據(jù)服務以及報警與事件服務都能夠部署在不同的服務器上。服務間的靈活映射系統(tǒng)中不同服務之間的關系可根據(jù)應用需求進行動態(tài)組合、拆分和配置;比如,某幾個實時數(shù)據(jù)服務可以對應到某一歷史數(shù)據(jù)服務。服務間的靈活映射是系統(tǒng)進行多點集群部署的基礎。服務的冗余配置系統(tǒng)中重要的服務可冗余配置,包括雙機熱備、雙機互備、多機互備等上面描述的多種方式,保證整個系統(tǒng)的高可用性。服務分布的部署體系感知數(shù)據(jù)庫系統(tǒng)的服務分布部署體系PARTTHREE3感知數(shù)據(jù)庫中的關鍵技術智能設備及傳感器接口技術隨著工業(yè)領域的發(fā)展,智能工廠、智能生產(chǎn)、智能物流對設備的智能化、生產(chǎn)線的智能化以及感知手段有了更新更高的要求。此外,在智能建筑、智能家居、環(huán)境監(jiān)控等領域,都涉及到系統(tǒng)與智能設備、傳感器的雙向通信與交互。智能設備及傳感器接口技術從設計方面來說,系統(tǒng)需要提供可配置的協(xié)議擴展框架,以便兼容眾多的工業(yè)總線協(xié)議及廠商的定制化協(xié)議。常見的工業(yè)協(xié)議有:Modubus、Prifibus、BACnet、CAN、Lonworks以及OPC、SNMP等。右圖給出了系統(tǒng)的協(xié)議擴展框架:感知數(shù)據(jù)采集協(xié)調(diào)器的框架+插件模型智能設備及傳感器接口技術感知數(shù)據(jù)采集協(xié)調(diào)器把遠遠不斷涌來的數(shù)據(jù)按照優(yōu)先級放入不同的數(shù)據(jù)隊列,以便基于內(nèi)存的實時數(shù)據(jù)管理器進行處理。感知數(shù)據(jù)采集協(xié)調(diào)器的數(shù)據(jù)交互模型流數(shù)據(jù)實時在線處理技術基于目前廣泛使用的多CPU多核的特點,系統(tǒng)根據(jù)需要建立感知事務處理線程池;根據(jù)優(yōu)先級調(diào)度執(zhí)行感知數(shù)據(jù)對象的在線處理過程,數(shù)據(jù)更新結果進入基于內(nèi)存的實時數(shù)據(jù)管理器;根據(jù)事件定義觸發(fā)相應的事件,放入事件隊列;根據(jù)用戶的訂閱需求,把需要發(fā)布的數(shù)據(jù)放入發(fā)布隊列。感知數(shù)據(jù)庫工作原理流數(shù)據(jù)實時在線處理技術感知數(shù)據(jù)屬于典型的流數(shù)據(jù),它的處理具有流數(shù)據(jù)處理的典型特征:數(shù)據(jù)觸發(fā)模式,處理過程始終在線;在數(shù)據(jù)流動的過程中進行處理與計算;只對一段時間內(nèi)的數(shù)據(jù)進行處理,感知數(shù)據(jù)對象內(nèi)置的在線處理過程必須能夠在確定的時間內(nèi)完成,否則會影響整個系統(tǒng)的性能。流數(shù)據(jù)實時在線處理技術內(nèi)置的在線處理過程針對采集的數(shù)據(jù)進行常規(guī)處理,通常包括以下內(nèi)容:標記時間戳基本報警判定更新內(nèi)存快照訂閱數(shù)據(jù)發(fā)布除了以上系統(tǒng)提供的標準數(shù)據(jù)操作,系統(tǒng)還支持定制內(nèi)嵌操作或者進行操作的擴展,以便提供更加豐富的數(shù)據(jù)處理能力。事件驅(qū)動的高效處理機制事件驅(qū)動框架(EDA:Event-DrivenArchitecture)是Gartner于2003年提出的實時事件處理的軟件架構,它定義了一個設計和實現(xiàn)軟件系統(tǒng)的方法學,在這個系統(tǒng)里事件可傳輸于松散耦合的軟件組件和服務之間。一個事件驅(qū)動系統(tǒng)典型地由事件消費者和事件產(chǎn)生者組成,通常采用訂閱-發(fā)布機制。事件驅(qū)動架構在具體實現(xiàn)中是指由一系列相關組件構成的應用,而組件之間通過事件機制完成一定的業(yè)務功能。事件驅(qū)動的高效處理機制EDA系統(tǒng)能夠更有加效地對管道化(Pipelined)的、由多軟件模塊鏈接而成的并發(fā)事件流(ConcurrentProcessingofEvents)進行處理。其各組件以異步方式響應事件,在本質(zhì)上是可以并行的,其具備以下特點:并發(fā)執(zhí)行事件觸發(fā)/數(shù)據(jù)觸發(fā)/時間規(guī)則觸發(fā)實時/增量響應分布式事件系統(tǒng)處理事件驅(qū)動設計和開發(fā)的優(yōu)勢如下:可以更容易開發(fā)和維護大規(guī)模分布式應用程序和不可預知的服務或異步服務;可以很容易,低成本地集成、再集成、再配置新的和已存在的應用程序和服務;促進遠程組件和服務的再使用,擁有一個更靈敏、健壯的開發(fā)環(huán)境;系統(tǒng)對動態(tài)處理有更好的響應,對實時變化的響應接近于同步。事件驅(qū)動的高效處理機制數(shù)據(jù)的訂閱-發(fā)布
數(shù)據(jù)的訂閱-發(fā)布模式是以消息流的處理為核心的技術框架,消息的產(chǎn)生是由感知數(shù)據(jù)對象的更新事件驅(qū)動。
訂閱-發(fā)布模式定義了一種一對多的依賴關系,讓多個訂閱者同時監(jiān)聽某一個感知數(shù)據(jù)對象。事件驅(qū)動的高效處理機制數(shù)據(jù)的訂閱-發(fā)布
對于感知數(shù)據(jù)這類具有時態(tài)屬性的數(shù)據(jù)來說,數(shù)據(jù)或者消息的分發(fā)同樣具有實時性要求。消息的調(diào)度處理機制能夠緩解消息傳輸中的優(yōu)先級反轉問題,為實時數(shù)據(jù)庫的實時性需求提供了基礎。消息調(diào)度對512字節(jié)消息傳輸?shù)挠绊懴⒄{(diào)度對16K消息傳輸?shù)挠绊懯录?qū)動的高效處理機制數(shù)據(jù)的訂閱-發(fā)布基于訂閱-發(fā)布的實時消息通信體系必須提供如下功能:提供端到端(Peer-to-Peer)的消息通訊能力,支持QoS保證;消息發(fā)送單次可達:保證每個消息能從發(fā)送者到達接收者,且僅被接收一次;提供多種消息緩存機制:使其能夠支持各種不同應用或組件的消息存取速度、持久性和可靠性等方面的不同需求;消息的調(diào)度管理:隊列中的消息可以按照截止期或優(yōu)先級進行排列,為消息傳遞提供可預測的、確定的時延。
事件驅(qū)動的高效處理機制復合事件處理技術
簡單事件處理(SimpleEventProcessing)是消息導向的架構,主要處理單一事件,其中事件則定義為可直接觀察到的改變。
復合事件處理(ComplexEventProcessing)機制使用模式比對、事件的相互關系、事件間的聚合關系,從事件云(EventCloud)中找出有意義的事件,使得系統(tǒng)可以更能彈性使用事件驅(qū)動架構,并且能更快速的開發(fā)出更復雜的邏輯架構。
復合事件處理描述的就是系統(tǒng)如何持續(xù)地處理這些事件,即系統(tǒng)對變化的持續(xù)反應。事件驅(qū)動的高效處理機制復合事件處理技術
規(guī)則語言定義事件處理的規(guī)則,即ECA規(guī)則:事件+條件
動作。當某事件發(fā)生時,如果某些條件滿足,執(zhí)行一些處理或者一些動作。
持續(xù)查詢語言CQL使用類似SQL的語法來描述事件和事件反應處理規(guī)則。對于內(nèi)存中大量的外部事件和內(nèi)部對象,CQL通過查詢語句來做條件匹配,同時提供回調(diào)函數(shù),當某些事件或者對象符合查詢條件,就調(diào)用回調(diào)函數(shù)做相應的處理。
復合事件處理描述的就是系統(tǒng)如何持續(xù)地處理這些事件,即系統(tǒng)對變化的持續(xù)反應。事件驅(qū)動的高效處理機制復合事件處理技術規(guī)則語言和持續(xù)查詢語言的比較分為以下幾類:兩種技術的實現(xiàn)手段兩種技術的性能如何選擇使用哪種技術復合事件處理技術替代普通編程語言來實現(xiàn)一些應用的好處:開發(fā)時采用聲明型語言替代過程式語言兩種技術的性能在對大量事件和對象的持續(xù)條件匹配和處理的過程中,復合事件處理產(chǎn)品提供高效的條件匹配,對象查詢感知數(shù)據(jù)的壓縮存儲技術實時數(shù)據(jù)采集要求在線壓縮以解決巨大數(shù)據(jù)量和不穩(wěn)定網(wǎng)絡的挑戰(zhàn)。有損壓縮方法如旋轉門算法適用于批量數(shù)據(jù),而快速且高壓縮比的無損壓縮則適用于高精度數(shù)據(jù)。數(shù)據(jù)存儲管理采用內(nèi)存、數(shù)據(jù)庫和文件隊列三級管理體制,定制化支持地震勘探數(shù)據(jù)管理的需求數(shù)據(jù)壓縮優(yōu)化存儲空間,并提高數(shù)據(jù)查詢與檢索速度數(shù)據(jù)存儲管理示意圖數(shù)據(jù)在線壓縮技術工業(yè)實時數(shù)據(jù)庫系統(tǒng)采用有損和無損壓縮算法,分別應用于不同數(shù)據(jù)類型。死區(qū)壓縮算法通過比較當前數(shù)據(jù)與上一個保存的數(shù)據(jù)的偏差來決定是否保存當前數(shù)據(jù),適用于穩(wěn)定測點數(shù)據(jù)的壓縮和噪音過濾。該算法在處理線性漂移數(shù)據(jù)方面存在限制,不能很好地進行壓縮。對于沿斜線變化的數(shù)據(jù),需要采用能處理斜率變化的壓縮方式以實現(xiàn)更有效的壓縮。死區(qū)壓縮算法的原理數(shù)據(jù)在線壓縮技術旋轉門壓縮算法是OSIsoft公司PI系統(tǒng)的核心壓縮算法,基于Bristol提出的旋轉門趨勢化算法。它是一種快速、高效、簡單且可控制誤差的線性擬合算法,適用于大量臨近度高的浮點型數(shù)據(jù)壓縮,顯著減少存儲空間占用。旋轉門算法以A點為基準,利用平行四邊形確定存儲與丟棄點。具體實現(xiàn)簡單,計算量小,最大誤差為壓縮精度的一半。旋轉門算法能有效處理數(shù)據(jù)壓縮,優(yōu)化存儲空間利用。旋轉門壓縮算法原理圖感知數(shù)據(jù)的索引技術時間序列感知數(shù)據(jù)存儲中建立基于時間的索引至關重要,有助于提高系統(tǒng)性能。于時間的索引機制使系統(tǒng)能夠快速定位數(shù)據(jù)位置,加快數(shù)據(jù)檢索速度。感知數(shù)據(jù)主要應用模式包括基于事件的查詢,如狀態(tài)異常事件、用戶反饋信息等,可為感知數(shù)據(jù)建立輔助索引,提升查詢和分析效率?;跁r間的索引建立示意圖THANKS
FOR
YOUR
WATCHINGLoremIpsumDolorSitErElitLamet,ConsectetaurCilliumAdipisicingPecu,SedDoEiusmodTemporIncididuntUtLaboreEtDoloreMagnaAliqua.Thankyou物聯(lián)網(wǎng)大數(shù)據(jù)處理技術與實踐InternetofThings
BigDataprocessingTechnologyandPractice實時事務調(diào)度處理技術常見事務特性分析1事務調(diào)度與并發(fā)控制2服務器與操作系統(tǒng)3事務的執(zhí)行框架與模式4系統(tǒng)框架的分析與性能優(yōu)化5PARTONE1常見事務特性分析師傅領進門,學藝在自身。------中國諺語實時事務調(diào)度處理技術事務是面向數(shù)據(jù)庫中數(shù)據(jù)存取訪問的一個邏輯工作單位,是一個操作序列,執(zhí)行這個操作序列使數(shù)據(jù)庫從一種一致狀態(tài)轉換到另一種一致狀態(tài),以實現(xiàn)特定的業(yè)務功能。感知數(shù)據(jù)來源主要是分布的智能設備以及傳感器,并且數(shù)據(jù)具有很強的時間屬性。數(shù)據(jù)的時間屬性或者直接來自外界的傳感器,或者基于傳感器數(shù)據(jù)推導計算而來,其最主要的特性是時態(tài)一致性。傳統(tǒng)的關系數(shù)據(jù)庫系統(tǒng)旨在處理永久性數(shù)據(jù),其設計與開發(fā)主要強調(diào)數(shù)據(jù)的完整性、一致性,要求事務具有ACID特性(Atomicity-原子性、Consistency-一致性、Isolation-隔離性、Durability-持久性),以及提高系統(tǒng)的平均吞吐量等總體性能指標,卻很少考慮與數(shù)據(jù)本身及數(shù)據(jù)處理相關聯(lián)的時間屬性。常見事務特性分析根據(jù)感知數(shù)據(jù)的處理需求,我們把數(shù)據(jù)庫中的事務劃分為三大類:
感知事務
觸發(fā)事務
用戶事務感知事務
感知事務是數(shù)據(jù)庫獲取數(shù)據(jù)的基本方式,又稱為數(shù)據(jù)采集事務,或者傳感器事務。這些事務一般都是預定義的定期事務,按照一定的采集周期更新數(shù)據(jù)以保持數(shù)據(jù)時間屬性的絕對一致性,具有確定的性質(zhì),包括事務的相對截止期、執(zhí)行周期以及最壞情形執(zhí)行時間。采集事務一般是固實時的事務,如果在一定的時間周期內(nèi)不能執(zhí)行完成,可以放棄;待下個執(zhí)行周期再執(zhí)行。但是,在特殊情況下,數(shù)據(jù)采集事務可以由用戶事務或者其它事務觸發(fā)。例如,用戶的控制指令往往需要通過即刻執(zhí)行的數(shù)據(jù)采集事務確定指令執(zhí)行的結果;或者一些事務的執(zhí)行需要保持相關數(shù)據(jù)的相對時間一致性時,可以通過發(fā)起實時采集事務保證。觸發(fā)事務
觸發(fā)事務是感知數(shù)據(jù)庫系統(tǒng)實現(xiàn)主動性的關鍵,可以分為更新觸發(fā)事務與定期事務。觸發(fā)事務一般通過ECA(Event-Condition-Action)規(guī)則進行定義,屬于預定義的事務。更新觸發(fā)事務:一般是系統(tǒng)中預定義的過程,在傳感器事務更新數(shù)據(jù)對象時觸發(fā),用于主動的事務處理或者數(shù)據(jù)的推導計算等。這類事務一般具有明確的截止期,如果是時態(tài)數(shù)據(jù)更新事件定期觸發(fā),則存在事務的執(zhí)行周期或者兩個事務之間的最小間隔時間。更新觸發(fā)事務與實時采集事務之間的關系可以是松耦合也可以是緊耦合,取決于用戶對數(shù)據(jù)一致性的要求;一般說來,實時數(shù)據(jù)采集事務更新時態(tài)數(shù)據(jù)對象中的相關屬性,如報警判定、單位轉換等采用緊耦合方式,而涉及多數(shù)據(jù)對象的屬性推導計算以及分析計算時采用松耦合方式。定期事務:一般是預定義或用戶提交的長計算事務,一般沒有明確的截止期,屬于軟實時事務,但是存在事務的執(zhí)行周期;并且,很多情況下的計算結果精度與事務執(zhí)行的時間有關。
用戶事務用戶事務總是由用戶或者客戶端應用發(fā)起,事務的操作類型可以是只讀、只寫或者讀寫,包括數(shù)據(jù)的查詢和修改。這類事務一般是非定期、軟實時事務,沒有明確的截止期,但是要求盡可能短的響應時間。PARTTWO2事務調(diào)度與并發(fā)控制事務的調(diào)度方法事務調(diào)度的最重要目標是保證數(shù)據(jù)的新鮮度即時間屬性,并保證盡可能多的事務能夠滿足截止期。感知數(shù)據(jù)庫中的采集事務主要是采集數(shù)據(jù)、完成數(shù)據(jù)更新,大量的采集事務涉及磁盤I/O等不可預測因素。緊耦合的觸發(fā)事務一般都是短事務,可以作為數(shù)據(jù)采集事務的子事務觸發(fā)執(zhí)行;松耦合的觸發(fā)事務最好作為獨立的事務,按照數(shù)據(jù)重要性以及時間屬性分配優(yōu)先級。事務調(diào)度算法必須綜合考慮事務的截止期與關鍵性,事務截止期與關鍵性的分布情況也在很大程度上影響系統(tǒng)的性能。事務的調(diào)度方法
事務調(diào)度算法必須綜合考慮事務的截止期與關鍵性,事務截止期與關鍵性的分布情況也在很大程度上影響系統(tǒng)的性能。在如何確定事務的優(yōu)先級方面,有許多不同的算法。
隨著計算機處理能力特別是并行能力的增強,事務的調(diào)度算法不只是分派單個的CPU資源,而是如何綜合利用系統(tǒng)的處理能力提升事務的吞吐量并盡可能滿足數(shù)據(jù)以及事務時間需求。并發(fā)控制策略并發(fā)控制中使用優(yōu)先級解決數(shù)據(jù)沖突有利于改進系統(tǒng)的性能。并發(fā)控制用于控制并發(fā)執(zhí)行的事務之間的交互操作以避免數(shù)據(jù)庫的一致性被破壞。傳統(tǒng)的并發(fā)控制大多采用基于鎖的方法,基于鎖的并發(fā)控制屬于悲觀的方法,總是假定事務沖突經(jīng)常發(fā)生,而實際上鎖只在最壞情形下才是必要的。優(yōu)先級反轉是傳統(tǒng)的并發(fā)控制協(xié)議應用于基于優(yōu)先級的事務調(diào)度表現(xiàn)出的主要問題。樂觀并發(fā)控制基于相反的假設,事務沖突很少發(fā)生,因此允許事務無阻礙地執(zhí)行直到全部操作完成,然后在提交時進行驗證,如果通過了檢驗就提交,否則夭折。并發(fā)控制策略感知數(shù)據(jù)庫系統(tǒng)中采用樂觀的并發(fā)控制方法能夠獲得更高的效率;因為數(shù)據(jù)采集事務是只寫事務,可以通過數(shù)據(jù)版本控制減少沖突;其他事務原則上不應該更改這些傳感器數(shù)據(jù)的值。所有實時采集的數(shù)據(jù)快照都保存在內(nèi)存中,為了增加事務的并發(fā)度,降低事務之間的沖突,系統(tǒng)中可以采用兩版本方法。每個時項都具有兩個數(shù)據(jù)版本,一個一致版本,一個工作版本,其中一致版本保存了該數(shù)據(jù)項的最近的有效版本。態(tài)數(shù)據(jù)數(shù)據(jù)采集服務程序處理數(shù)據(jù)更新事務時總是使用數(shù)據(jù)項的工作版本,而在事務提交時這個工作版本將轉換成一致版本。PARTTHREE3服務器與操作系統(tǒng)服務器體系結構與發(fā)展當前的商用服務器從系統(tǒng)架構可分為三類:對稱多處理器體系結構(SMP)非一致存儲訪問體系結構(NUMA)海量并行處理體系結構(MPP)SMP體系結構對稱多處理器結構,是指服務器中多個CPU對稱工作,無主次或從屬關系。SMP的各CPU共享相同的物理內(nèi)存,每個CPU訪問內(nèi)存中的任何地址所需時間是相同的,因此SMP也被稱為一致存儲器訪問結構(UMA)。SMP共享的特性導致它擴展能力有限。隨著CPU數(shù)量的增加,內(nèi)存訪問沖突也會增加,最終導致CPU資源浪費。SMP的CPU利用率最好的情況是是2~4個CPU。NUMA體系結構NUMA是針對SMP在擴展能力上的限制而提出的有效擴展從而構建大型系統(tǒng)的技術。NUMA服務器的基本特征是具有多個CPU模塊。其節(jié)點之間可以通過互通模塊信息連接和消息交互,每個CPU可訪問整個系統(tǒng)的內(nèi)存。利用NUMA技術可以較好的解決SMP系統(tǒng)的擴展問題
圖-NUMA體系結構MPP體系結構MPP由多個SMP服務器通過一定的節(jié)點互聯(lián)網(wǎng)絡進行連接,協(xié)同工作,完成相同的任務。其中,每個節(jié)點只訪問自己的本地資源,是一種完全無共享結構。在MPP系統(tǒng)中,每個SMP節(jié)點也可以運行自己的操作系統(tǒng)、數(shù)據(jù)庫等。MPP服務器需要一種復雜的機制來調(diào)度和平衡各個節(jié)點的負載和并行處理過程。從架構來看,NUMA與MPP具有許多相似之處,它們之間的對比見右圖。操作系統(tǒng)的多任務機制:Linux操作系統(tǒng)體系結構GNU/Linux操作系統(tǒng)最上層是用戶空間,即用戶應用程序執(zhí)行的地方。用戶空間之下是內(nèi)核空間,其中分為:系統(tǒng)調(diào)動接口獨立于體系結構的內(nèi)核代碼依賴于體系結構的代碼除此之外,GNUCLibrary提供了連接內(nèi)核的系統(tǒng)調(diào)用接口,還提供了在用戶空間應用程序和內(nèi)核之間進行轉換的機制
GNU/Linux操作系統(tǒng)的體系結構操作系統(tǒng)的多任務機制:程序、進程與線性程序是為了完成某種任務而設計的軟件,進程就是運行中的程序。一個進程是一個程序的一次執(zhí)行的過程。在Linux中,一個進程在內(nèi)存里有三部分數(shù)據(jù):“數(shù)據(jù)段”、“堆棧段”與“代碼段”。線程是在共享內(nèi)存空間中并發(fā)的多道執(zhí)行路徑,它們共享一個進程的資源,如文件描述和信號處理。POSIX線程是線程的POSIX標準,定義了創(chuàng)建和操縱線程的一套API,實現(xiàn)POSIX線程標準的庫稱作PThread。一個進程可以擁有多個線程,每個線程必須有一個父進程。操作系統(tǒng)的多任務機制:Linux進程調(diào)度Linux支持兩種類型的進程調(diào)度,實時進程和普通進程。其內(nèi)核具體提供以下進程調(diào)度策略:SCHED_NORMAL:默認的調(diào)度策略,針對的是普通進程;SCHED_FIFO:針對實時進程的先進先出調(diào)度,適合對時間性要求比較高但每次運行時間比較短的進程;SCHED_RR:針對的是實時進程的時間片輪轉調(diào)度,適合每次運行時間比較長得進程;SCHED_BATCH:針對批處理進程的調(diào)度,適合那些非交互性且對CPU使用密集的進程;SCHED_IDLE:適用于優(yōu)先級較低的后臺進程。PARTFOUR4事務的執(zhí)行框架與模式通用系統(tǒng)模型與調(diào)度方法
在多核、多線程、多處理器環(huán)境中的系統(tǒng)模型與事務調(diào)度以及并發(fā)控制都需要重新分析與設計,下面我們從數(shù)據(jù)庫系統(tǒng)模型的設計出發(fā),分析多核、多處理器環(huán)境中優(yōu)化的實時數(shù)據(jù)庫系統(tǒng)開發(fā)模式以及設計中的關鍵問題,給出一個泛化的、基于前面描述的感知事務模型的單進程多線程事務處理框架,并在此基礎上,分析優(yōu)化的多進程、多線程的事務處理框架的設計模式。單進程多線程模式單進程多線程系統(tǒng)模式的優(yōu)勢在于提高系統(tǒng)并行性與提供處理器資源利用率的同時,具有系統(tǒng)開銷小、數(shù)據(jù)共享方便等優(yōu)點。右圖給出了一個單進程多線程的事務調(diào)度處理框架。其主要包括事務隊列管理器和事務調(diào)度主線程。事務隊列管理器用于管理來自采集接口的各種事務。事務調(diào)度主線程根據(jù)預定義的事務調(diào)度策略為事務分派不同的事務處理線程執(zhí)行事務,事務處理線程根據(jù)操作系統(tǒng)的調(diào)度機制分配處理器資源運行,也可以由事務調(diào)度主線程指定處理器或者內(nèi)核運行?;诠δ軇澐值亩嗑€程模式右圖給出了基于功能劃分的數(shù)據(jù)庫多進程系統(tǒng)模型。其中,實時數(shù)據(jù)管理與歷史數(shù)據(jù)管理分別由不同的進程負責,并且提供一定的進程間通信機制與數(shù)據(jù)存取接口。多進程系統(tǒng)的優(yōu)點在于內(nèi)存隔離,單個進程的異常不會導致整個系統(tǒng)的崩潰;缺點是由于大量的進程間
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年版建設工程借款合同書
- 北京市房屋買賣協(xié)議書模板
- 2024合作雙方戰(zhàn)略合作協(xié)議書
- 出口代理合作協(xié)議書樣式
- 2024定向就業(yè)協(xié)議書
- 擊劍教練合同-合同范本
- 住宅拆除施工承包協(xié)議
- 個人消費貸款抵押合同
- 店鋪租賃合同協(xié)議書2024年
- 2024年股份合作合同樣本
- 算法及其描述-高中信息技術粵教版(2019)必修1
- RITTAL威圖空調(diào)中文說明書
- 生物質(zhì)能發(fā)電技術應用中存在的問題及優(yōu)化方案
- GA 1809-2022城市供水系統(tǒng)反恐怖防范要求
- 幼兒園繪本故事:《老虎拔牙》 課件
- 2021年上半年《系統(tǒng)集成項目管理工程師》真題
- 一個冬天的童話 遇羅錦
- GB/T 706-2008熱軋型鋼
- 實驗六 雙子葉植物莖的初生結構和單子葉植物莖的結構
- GB/T 25032-2010生活垃圾焚燒爐渣集料
- GB/T 13610-2020天然氣的組成分析氣相色譜法
評論
0/150
提交評論