【畢業(yè)學位論文】(Word原稿)BPEL引擎事務處理框架的設計與實現(xiàn)-計算機軟件與理論_第1頁
【畢業(yè)學位論文】(Word原稿)BPEL引擎事務處理框架的設計與實現(xiàn)-計算機軟件與理論_第2頁
【畢業(yè)學位論文】(Word原稿)BPEL引擎事務處理框架的設計與實現(xiàn)-計算機軟件與理論_第3頁
【畢業(yè)學位論文】(Word原稿)BPEL引擎事務處理框架的設計與實現(xiàn)-計算機軟件與理論_第4頁
【畢業(yè)學位論文】(Word原稿)BPEL引擎事務處理框架的設計與實現(xiàn)-計算機軟件與理論_第5頁
已閱讀5頁,還剩76頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

分類號 密級 U D C 編號 中國科學院研究生院 碩士學位論文 擎事務處理框架的設計與實現(xiàn) 指導教師 鐘華 研究員 中國科學院軟件研究所 申請學位級別 碩士 學科專業(yè)名稱 計算機軟件與理論 論文提交日期 論文答辯日期 培養(yǎng)單位 中國科學院軟件研究所 學位授予單位 中國科學院研究生院 答辯委員會主席 金芝 研究員中國科學院軟件研究所 碩士學位論文 獨創(chuàng)性聲明 本人聲明所呈交的論文是我個人在導師指導下進行的研究工作及取得的研究成果。盡我所知,除了文中特別加以標注和致謝的地方外,論文中不包含其他人已經(jīng)發(fā)表或撰寫過的研究成果。與我一同工作的同志對本研究所做的任何貢獻均已在論文中作了明確的說明。 簽名: _ 日期: _ 關于論文使用授權(quán)的說明 本人完全了解中國科學院軟件研究所有關保留、使用學位論文的規(guī)定,即:中國科學院軟件研究所有權(quán)保留送交論文的復印件,允許論文被查閱和借閱;中國科學院軟件研究所可以公布論文的全部或部分內(nèi)容,可以采用影印、縮印或其它復制手段保存論文。 (保密的論文在解密后應遵守此規(guī)定) 簽名: _ 導師簽名: _ 日期: _ 中 國科學院軟件研究所 摘要 i 摘 要 務規(guī)范族中服務復合層的重要標準。 持 通過 對 務的編制(建模業(yè)務流程, 從而 使編程人員能夠集中關注業(yè)務邏輯。但是,目前的 言缺乏事務創(chuàng)建,提交,上下文傳播等原語,使得其與 一方面,在面向服務的計算環(huán)境下,許多應用場景需要松弛事務模型來保證事務性復合服務的原子性。 針對這些問題,論文提出了 擎事務服務的概念模型。它在 務協(xié)調(diào)框 架的基礎上,刻畫了 擎事務服務的處理需求,劃分了相關角色,并描述了有關組件的功能。并且,從 程充當事務發(fā)起者與事務參與者兩種 典型 場景,分別描述了不同角色及組件之間的交互關系和處理流程。同時,模型中還引入基于應用語義的松弛事務模型來保證事務性復合服務的松弛原子性,應用 面向方面編程 (術 作為 擎與事務服務的集成技術。 在 擎事務服務概念模型指導下, 論文為 擎 計并實現(xiàn)了一個事務處理框架 持 務事務規(guī)范 定義的兩種事務類型,并具備用戶自定義的松弛原子性保障能力,從而提高了 程運行的可靠性,增強 了 為企業(yè)級流程運行平臺的競爭力。 最后, 論文 設計并實現(xiàn)了一個應用案例,展示了 擎事務服務 的 實用性 ,并對 行了功能和非功能方面的測試 ,說明了其可用性 。 關鍵詞 : 務事務,松弛原子性, 英文摘要 i is an on an by it is to is no to as On in is to a We of on We of We to of as of a is It to of it a we a on it to 目錄 i 目 錄 第一章 緒論 . 1 究背景 . 1 向服務的體系結(jié)構(gòu) . 1 務復合的提出 . 2 務復合的異常處理和事務支持 . 3 文的研究問題 . 4 文工作 . 4 文組織 . 5 第二章 事務處理與 務技術 . 6 務處理技術 . 6 布事務 . 6 務并發(fā)控制 . 8 務恢復 . 9 務技術 . 10 務的技術基礎 . 11 范 . 12 務事務規(guī)范 . 15 于應用語義的松弛事務模型 . 19 第三章 擎的事務服務 . 23 擎事務服務的概念模型 . 23 務協(xié)調(diào)框架 . 23 . 25 弛原子性執(zhí)行保障 . 29 事務服務的集成技術 . 32 OP . 32 用 成 事務服務 . 33 第四章 務處理框架的設計與實現(xiàn) . 35 介 . 35 計目標 . 36 體架構(gòu)與模塊介紹 . 36 . 37 . 39 . 39 . 41 . 44 . 45 設計與實現(xiàn) . 46 署描述符 . 47 署和運行時 支持 . 48 擎擴展 . 49 第五章 務處理框架應用案例及系統(tǒng)測試 . 51 中國科學院軟件研究所 擎事務處理框架的設計與實現(xiàn) 例背景 . 51 部服務 . 51 程 . 53 戶端 . 53 試方案 . 54 試結(jié)果分析及結(jié)論 . 56 能測試結(jié)果 . 56 能測試結(jié)果 . 56 第六章 結(jié)束語 . 60 文的主要貢獻 . 60 一步的工作 . 60 附錄 署描述符 . 62 參考文獻 . 66 發(fā)表文章目錄 . 70 致 謝 . 71 中國科學院軟件研究所 第一章 緒論 1 第一章 緒論 本章介紹研究背景、論文工作和論文組織。 究背景 二十世紀九十年代末,隨著分布式對象技術和 術的發(fā)展,出現(xiàn)了務 (術 。 務是指那些由 標 識的應用組件,其接口和綁定信息可以通過 義、描述和查找;同時, 務通過基于議的 息,可與其它軟件 、 應用直接交互 1。 換言之, 務就是可以通過標準的 議訪問的應用組件,它不依賴于特定的硬件、操作系統(tǒng)和編程環(huán)境 。 通過上述定義可知, 務 提供 了 一種一致化編程模型,從而在企業(yè)內(nèi)外都可以利用通用的 信息 基礎設施 和 以一種通用的方法進行 業(yè)務 集成 。 務的出現(xiàn) 使 得業(yè)務 集成比以前更快、更容易而且更便宜 ,并且 實現(xiàn)了業(yè)務功能的松散集成 。充分 利用現(xiàn)有的語言 、 平臺 以及 遺留 應用,可以以一種增量的方式來集成和應用 務 。 企業(yè)業(yè)務集成也因此逐步過渡到以 務為基礎的面向服務的體系結(jié)構(gòu)之上,但是,如何在面向服務的體系結(jié)構(gòu)上實現(xiàn)靈活多變的企業(yè)業(yè)務集成,成為目前迫切需要解決的一個主要問題 2,3,4。在面向服務的體系結(jié)構(gòu)中,需要將企業(yè)內(nèi)部的整個價值鏈分為較小的服務單元,不僅可以將應用之間的交互標準化,而且可以為業(yè)務流程提供更多的靈活性。因此,面向服務的體系結(jié)構(gòu)首先解決了如何描述和組織服務的問題,以便服務可以被動態(tài)地、自動地發(fā)現(xiàn)和使用。而 務發(fā)布的服務模塊組合起來,使之成為銜接以 務為基礎的信息基礎設施和企業(yè)業(yè)務應用集成之間的橋梁。 向服務的體系結(jié)構(gòu) 隨著企業(yè)業(yè)務集成對靈活性和多樣性要求的提高,以及各種新技術的出現(xiàn)和成熟致使目前的 分布式對象技術 發(fā)生了深刻的變化 。 “軟件成為服務”帶來了 一種新的 軟件架構(gòu)的出現(xiàn) 一般而言, 有三種類型的角色:服務提供者、服務請求者和服務代理者 。 圖 述了相關的角色和角色之間的交互行為 。 服務提供者托管 可通過網(wǎng)絡訪問應用組件 (服務的一個實現(xiàn) ),定義服務描述并把它發(fā)布到服務代理者,同時,響應對所提供服務的請求;服務請求者通過服務代理者查找所需的業(yè)務服務并調(diào)用該服務來實現(xiàn)業(yè)務解決方案;服務代理者管理已經(jīng)發(fā)布的服務,產(chǎn)生由服務提供者發(fā)布的軟件接口并根據(jù)注冊分類提供業(yè)務服務的查詢服務 。 在這些角色之間使用三種基本操作:發(fā)服 務 代 理 者S e r v i c eB r o k e 請 求 者S e r v i c eR e q u e s t o F i n B i n P u b l i s 提 供 者S e r v i c eP r o v i d e 向服務的體系結(jié)構(gòu) 中國科學院軟件研究所 擎事務處理框架的設計與實現(xiàn) 2 布 (作,使服務提供者可以向服務代理者注冊自己的功能和訪問接口;發(fā)現(xiàn) (作使服務請求者可以通過服務代理者查找所需的服務;綁定 (作將服務綁定于服務提供者之上 。 目 前,基于 務的 成為 企業(yè) 計算新的發(fā)展方向,即,企業(yè)用務方式提供自己的業(yè)務功能,各種客戶可以撇開實現(xiàn)服務的具體技術,查找和綁定這些服務,這種企業(yè)計算模式 和其它企業(yè) 計算模式 的不同之處在于 前者能 提供業(yè)務敏捷性 ,即企業(yè)能快速、有效地響應變化并且利用各種變化獲得競爭優(yōu)勢 5。 這種業(yè)務敏捷性能否真正獲得還取決于該計算模式的實現(xiàn) 。 在 企業(yè)信息基礎設施之上集成涵蓋整個業(yè)務流程的企業(yè)業(yè)務應用, 一方面 , 提供服務 的信息基礎設施必須滿足業(yè)務需求的動態(tài)變化 ,另一方面, 業(yè)務模型也要能適應信息基礎設施 的 變遷和多樣性 。 因此,在業(yè)務模型和信息基礎設施之間,需要有新的中間模型作為中介,使得企業(yè)業(yè)務需求的任何變化,都可以反映到中間模型中;同樣,該中間模型需要適應 底層 的信息基礎設施變化,屏蔽信息基礎設施的變化對業(yè)務模型的影響 。 具體來說,在基于 務的 實現(xiàn)業(yè)務集成,需要 一種能夠以平臺無關的方式充分反映 企業(yè) 業(yè)務 流程的 服務 模型及相關工具;而且該模型及相關工具應該支持對組成企業(yè)業(yè)務系統(tǒng)的 務的描述,支持 務之間的交互關系、復合模式以及應該滿足的約束關系的定義和支持 從 服務 模型自動生成 運行 代碼 。 通過 創(chuàng)建位于 企業(yè)業(yè)務 和 底層 信息基礎設施 之間的抽象 的中間模型,進而保證底層技術的實現(xiàn)與企業(yè)業(yè)務需求的一致性 。 務復合的提出 上文中我們提到 在企業(yè)業(yè)務 和底層 信息基礎設施 之間的 中間模型,可以保證底層技術的實現(xiàn)與企業(yè)業(yè)務需求的一致性 。 而 務復合 (可以反映企業(yè)業(yè)務模型的變化,又可以適應 以 務為基礎的信息基礎設施的變遷 。 近年來,隨著 務復合研究的展開,不同的研究人員對 務復合的概念有著不同的認識 . 以下我們列舉幾個具有代表性的定義,它們從不同的角度對 務 復合進行了描述: 司的定義 6: 務復合是支持業(yè)務流程邏輯的一組 務,其本身既可以是最終的應用,也可以是新的 務,復合是通過確定不同務的執(zhí)行順序和 務之間的復雜交互來實現(xiàn) 。 斯坦福大學 組的定義 7: 務復合就是研究如何通過復合自治的 務而獲得新的功能的問題,通過復合有助于減少新應用的開發(fā)時間和費用 。 驗室的定義 8: 務復合實際上是服務提供者將已有的 務作為新的服務的構(gòu)筑模塊重用,并且在總體上實現(xiàn)對各個模塊的增值 。 這種增 值體現(xiàn)在新的服務滿足特定需求的能力,以及可以提供更高的可用性和障 。 佐治亞大學 計算機系的定義 9: 務復合主要研究用于服務復合的方法論和用于建模的服務和功能的抽象方式 。 從上述定義可以看出, 務復合的本質(zhì)是協(xié)調(diào)若干 務共同工作,它在面向服務的企業(yè)計算模式中扮演著 中間 模型的角色,即通過 務的復合,最終能靈活實現(xiàn)上層的業(yè)務模型,屏蔽底層 信息基礎設施 的變遷 。 從 理論上中國科學院軟件研究所 第一章 緒論 3 講 ,新的 業(yè)務應用 可以 由 一系列 務方便地 復合 ,而且這個過程不需要任何編程工作 。 可視化工具能夠把多個服務按照合適的 次序連接在一起,并生成實施復合操作所必需的消息代碼 . 因此,如何復合這些已有的、自治的 務構(gòu)筑企業(yè)新的業(yè)務應用的問題也成為軟件工程領域一個新的熱點問題 10. 依據(jù)應用領域的不同,我們將 務復合技術分為面向流程、面向數(shù)據(jù)和面向語義三類: 面向流程的 務復合,主要通過協(xié)調(diào)分散的局部業(yè)務功能,解決企業(yè)業(yè)務應用的問題 6,11。 多數(shù)采用工作流或者與之相類似的流程引擎來透明地調(diào)度和管理 務;并且提供諸如事務、可靠消息傳遞等功能保證 務復合的可用性和可靠性 . 面向數(shù)據(jù)的 務復 合,主要處理數(shù)據(jù)密集型企業(yè)應用中的兩類問題:一類是異構(gòu)數(shù)據(jù)源的數(shù)據(jù)處理 12;另一類是對物理上分布的,而且無法實現(xiàn)集中處理的數(shù)據(jù) (例如在全球各地的天文觀測數(shù)據(jù) 13,14)的處理 。 不同數(shù)據(jù)源產(chǎn)生的數(shù)據(jù)本身僅能提供 務復合所需數(shù)據(jù)的部分數(shù)據(jù) 。 如何組織相關的務并從中獲取所需數(shù)據(jù),并在此基礎上提供數(shù)據(jù)的匯總和分析等功能,便成為該類型 務復合的基本任務 。 面向語義的 務復合,已有的 務描述標準都不能描述 務的語義,通過構(gòu)造 務復合的語義模型,使得可以利用高層的抽象模型而不需要底層具體的程序?qū)崿F(xiàn)來描述 務復合 。 主要難點集中在 務 . 5(稱 范是目前支持 面向流程的 務復合的主流規(guī)范,它使編程人員專注于業(yè)務邏輯,通過對 務 的編制 (實現(xiàn)業(yè)務流程 。 同時 用 述 的業(yè)務流程是完全可執(zhí)行 和 可移植的 ,因此 一步分離了業(yè)務邏輯與實現(xiàn)細節(jié),提 高了業(yè)務流程構(gòu)建的敏捷性。 務復合的異常處理和事務支持 事務處理技術是保證信息可靠性和一致性的重要技術。事務的概念最早來源于數(shù)據(jù)庫管理系統(tǒng),被用來確保應用程序?qū)?shù)據(jù)庫訪問的一致性和可靠性。隨著網(wǎng)絡技術的發(fā)展以及應用需求的變化,以往的集中式應用演化為網(wǎng)絡分布應用,事務處理技術也發(fā)展為分布式事務處理。 當包含在 務復合中的 務發(fā)生異常時,需要有一套相應的異常處理機制 16,而事務是提高系統(tǒng)可靠性和容錯能力的一項關鍵技術 。 和傳統(tǒng)的分布式事務不同,在復合 務環(huán)境中,因為不同的 務 實現(xiàn)可能采用不同的實現(xiàn)技術,以及執(zhí)行時間的長短不一,所以支持 務的事務 處理 必須能夠支持這種自治 。 另一方面,由于事務的參與者之間沒有統(tǒng)一的事務語義、事務 上下文 表示和協(xié)調(diào)協(xié)議,而 上下文表示 、服務的協(xié)調(diào)和管理又需要以一種松散的和非集中的方式進行 17,所以, 務 事務是一種建立在不同事務 性 服務和非事務性服務實現(xiàn)之上的全局事務 。 務復合需要提供新型的事務 處理 機制,能夠描述和實現(xiàn) 務進行事務交互的模式 。 新型的事務機制應能和 務交互的松散耦合特性相適應 。 以 8,19(簡稱 )為代表的 務事務規(guī)中國科學院軟件研究所 擎事務處理框架的設計與實現(xiàn) 4 范 給出了 支持異構(gòu)事務處 理平臺及協(xié)議之間互操作 的技術解決方案 。不同的事務參與者通過對自身處理機制的包裝 實現(xiàn)相互協(xié)作來完成分布式事務的處理過程。其中, 范提供了支持現(xiàn)有的各種標準事務機制的協(xié)調(diào)框架,這個框架提供了活動的激活、注冊和協(xié)調(diào)方面的服務,以實現(xiàn)利用預定義的協(xié)調(diào)上下文 (制活動的創(chuàng)建、協(xié)調(diào)協(xié)議的選擇和活動的提交處理 。 范則定義了可以在協(xié)調(diào)框架內(nèi)使用的原子事務 類型和業(yè)務活動事務類型。 文的 研究問題 擎 是 程的 執(zhí)行和管理 環(huán)境 , 為了保障 以 程 形成的復合 務執(zhí)行 的 可靠性 和一致性 ,需要為 擎引入事務 處理功能 。這需要解決以下幾方面的問題: (1) 關注點分離使 得 不同層次 的 務 規(guī)范依賴比較松散, 同時 也造成各個規(guī)范之間難以實現(xiàn)無縫集成。 程 開發(fā) 人員關心 業(yè)務邏輯 的編寫 , 規(guī)范 關注的是協(xié)調(diào)協(xié)議, 業(yè)務 層次 邏輯與 系統(tǒng) 協(xié)調(diào)行為 是 分開 的 。但是在 言中缺乏事務創(chuàng)建, 提交,上下文傳播等原語而使兩個規(guī)范之間存在溝壑。 這就需要考慮 如何 引入事務 處理功能 對二者進行集成 。 (2) 在面向服務的計算環(huán)境下,很多應用場景使得原子事務模型的 語義 因過于嚴格而無法適用。目前的方法是通過松弛事務模型保證事務性復合服務的松弛原子性。 這需要考慮 如何在 程的事務域中既實現(xiàn)松弛原子性又可以使得 程的編程人員定義其中包含的應用語義 。 本文針對這些 問題進行 了 研究,并給出 了 相應的解決方案。 文工作 論文工作主要圍繞 如何在 擎 中引入 事務 處理功能并實現(xiàn) 展開研究: (1) 擎事務服務的概念模型 論文 分析 擎 事務 服務的 處理需求 ,劃分相關角色,并描述相關職責和功能, 以 義的 務協(xié)調(diào)框架為基礎 , 提出 擎事務服務的概念模型。從 程充當事務發(fā)起者與事務參與者兩個場景 ,分別討論概念模型中不同角色及組件之間的交互關系和處理流程。 再 在中科院軟件所軟件工程 技術 中心提出的基于應用語義的松弛事務模型 20的基礎上討論如何解決在 程中支持用戶自定義松弛原子性的問題。 (2) 擎與事務服務的集成技術 在引入事務服務 模型 之后, 擎 需要一種 支持其 與事務服務交互 的 機制。要達到這個目的可以有多種選擇,如說通過擴展 范增加支持事務處理的語言要素來實現(xiàn) 21, 但這將影響 程的可移植性。我們將研究如何在保持 現(xiàn)有規(guī)范的基礎上 對 擎 與事務服務進行集成 。 在部署時為 動配置有關的事務屬性 , 在運行時對事務邊界進行 界定與控制 。 (3) 務處理框架的設計與實現(xiàn): 中國科學院軟件研究所 第一章 緒論 5 由中科院軟件所軟件工程中心開發(fā)的 擎,我們在基礎上設計并 實現(xiàn) 了 事務 處理框架 使 得 持 由 范 所定義的兩種事務類型,同時 具備 支持用戶自定義松弛原子性的 特色,從而提高 了 程 執(zhí)行 的可靠性,增強 為企業(yè)級流程運行平臺的競爭力 。此外,我們還 通過 一個 應用案例 展示 了 系統(tǒng)的 使用 , 并進行了系統(tǒng)的功能和非功能測試,說明 了 其 可用 性 。 文組織 論文的后續(xù)章節(jié)按以下方式組織: 第二章 介紹事務處理技術和 務 技術 。 我們介紹了事務處理的關鍵技術和 務技術的 概況。其中特別詳細介紹了 務中的兩個規(guī)范:一個是 支持 務復合的 范; 另 一個是 用于 務事務的 規(guī)范 。 此外,我們還簡單介紹了基于應用語義的松弛事務模型的基本概念。 第三章介紹 擎的事務服務。我們首先介紹了 務協(xié)調(diào)框架的體系結(jié)構(gòu) 。在此基礎上, 提出了 擎事務服務的概念模型, 從 程作為事務發(fā)起者和事務參與者兩個角度刻畫 了其處理流程 。同時,描述了松弛原子性執(zhí)行保障算法 。最后,我們介紹了一種將 擎 與事務服務進行集成的技術: 22,它是在 范的 基礎上 , 擎與事務服務的 一種 交互支持機制。同時它還可用于支持為 動配置其他的基礎服務,以實現(xiàn) 擎處理的靈活性和可擴展性。 第四章主要介紹 務處理框架 (設計與實現(xiàn)。我們 以 基礎對 擎事務服務概念模型中事務處理框架組件的一個具體實現(xiàn)。論文分析了 設計 目標 ,體系結(jié)構(gòu),主要模塊的設計與實現(xiàn)。作為 事務服務的集成技術,論文還簡單討論了 設計與 實現(xiàn) 。 第五章介紹 務處理框架應用案例。本章 將 介紹一個與真實應用背景比較接近的應用案例 。我們 設計和實現(xiàn)了 案例中的 程,外部服務,測試客戶端等,從而 展示了 務 服務 的實用性 。在此基礎上,我們還對了簡單的功能和性能方面的測試。 最后,第六章對全文工作進行總結(jié)。我們列舉了論文工作的主要貢獻,并且對進一步研究提出展望。 中國科學院軟件研究所 擎事務處理框架的設計與實現(xiàn) 6 第二章 事務處理與 本章將介紹與論文研究內(nèi)容相關的背景知識。首先介紹事務處理的關鍵技術,然后介紹 務技術, 包括 務的 核心 基礎,以及 務 的兩個重要規(guī)范:用于 務復合的 范和用于 務事務的范。 最后,介紹 由 中科院 軟件所 軟件工程中心提出 的 關于復合 務事務 處理 的“ 基于應用語義的松弛事務模型 ”。 務處理技術 事務處理技術是保證信息可靠性和一致性的重要技術。在引入網(wǎng)絡分布計算環(huán)境后,事務處理需要解決分布 性帶來的問題。事務作用域不再集中在單一站點,而是分布在不同的多個網(wǎng)絡站點上。涉及網(wǎng)絡上多個服務器上對象的事務稱為分布式事務。 布事務 事務是具有 性的原子操作序列。在網(wǎng)絡應用中的數(shù)據(jù)和處理分布在不同的站點機上,要求分布事務處理。分布式事務在結(jié)構(gòu)上可以分為平面事務和嵌套事務。為了保證事務的原子性,分布事務處理采用兩階段提交協(xié)議。 (1) 概念: 事務處理技術是保證信息可靠性和一致性的重要技術。事務是具有性的原子操作序列。事務概念最早來源于數(shù)據(jù)庫管理系統(tǒng),用于保證應用程序?qū)?shù)據(jù)庫訪問的一致性和可靠性。在早期應用中,數(shù)據(jù)庫系統(tǒng)內(nèi)部集成的事務管理模塊提供應用所需的事務處理功能。隨著網(wǎng)絡技術的發(fā)展以及應用需求的變化,應用的數(shù)據(jù)和處理分布在不同的站點機上,事務處理技術發(fā)展為分布式事務處理,并由專門的事務處理中間件提供事務服務 23。 從客戶端的角度看,事務是由一組操作組成的原子步驟,這組操作在執(zhí)行中不受其它并發(fā)客戶端操作的影響;它們或者全部正確完成,或者在服務器故障時,消除其執(zhí)行的所有影響。這樣,事務的執(zhí) 行總是使服務器的數(shù)據(jù)從一個一致性狀態(tài)遷移到另一個一致性狀態(tài)。 事務常常被稱作“原子事務”,它總是針對可恢復對象而言具有原子性。一個事務或者完整的執(zhí)行,使它的所有效果都記錄到相關對象中;或者由于故障等原因而取消所有的效果。 為了支持故障原子性和持久性,對象必須做到可恢復性。當服務進程由于硬件故障或軟件錯誤而崩潰時,所有已完成事務的更新必須保留在持久存貯中,這樣,當新服務進程啟動后,它可以利用這些更新信息來恢復對象狀態(tài)。 在引入網(wǎng)絡分布計算環(huán)境后,事務處理需要解決分布性帶來的問題。首先,中國科學院軟件研究所 第二 章 事務處理與 務技術 7 事務作用域不再集中在單一 站點,而是分布在多個網(wǎng)絡站點上,需要訪問在不同站點機上的對象。涉及多個服務器上對象的事務稱為分布式事務。分布式事務處理涉及到更多的不同類型的共享資源,分布式事務的并發(fā)控制保證在每個服務器上事務是局部可串行化的,還要保證整體是全局可串行化的 23。 分布式事務處理系統(tǒng)結(jié)構(gòu)如圖 示。每個節(jié)點上都有自己的調(diào)度和數(shù)據(jù)管理,保證局部數(shù)據(jù)的一致性和可靠性。與此同時,各站點上的調(diào)度要與協(xié)調(diào)站點上的事務管理進行遠程通信,實現(xiàn)全局的分布式事務控制 23。 事務管理調(diào)度數(shù)據(jù)管理調(diào)度數(shù)據(jù)管理調(diào)度數(shù)據(jù)管理站點機A 站點機B 站點機C(2) 事務模型: 分布式事務在結(jié)構(gòu)上可以分為平面事務和嵌套事務。 在平面事務中,客戶端調(diào)用多個服務器的操作。平面事務完成一個操作之后才發(fā)起下一個操作。因此,這些事務順序訪問服務器上的對象。當服務器被鎖住時,事務只能等待。 在嵌套事務中,頂層事務可以創(chuàng)建子事務,子事務又可以任意程度地進行嵌套。就事務的并發(fā)訪問和故障處理而言,子事務對它的父事務是原子的。在同一個層次運行的子事務,它們可以并發(fā)運行,并且它們對數(shù)據(jù)的訪問是串行化的。每一個子事務都可獨立進行故障處理,而不受父事務和其它子事務的影響。如果某個子事務 執(zhí)行失敗,其父事務可以啟動并運行另一個事務來完成同樣的工作。只有當所有的子事務都完成以后,父事務才能提交或放棄。父事務放棄時,所有的子事務都被放棄。如果某個子事務放棄,父事務可以決定是否放棄。即使子事務被放棄,父事務仍

溫馨提示

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

評論

0/150

提交評論