嵌套事務

嵌套事務

嵌套事務(nested transaction)是指間接涉及多個伺服器的客戶事務。

在某些情況下,一個伺服器的一個操作可能觸發另一個伺服器的某個操作,通常後者可能又進一步請求操作,依此類推。處理這種情況時,每個客戶事務由一系列嵌套事務構成。總之,事務由嵌套事務的層次結構組成。同層次的嵌套事務間可並發執行。

基本介紹

  • 中文名:嵌套事務
  • 外文名:nested transaction
  • 定    義:間接涉及多個伺服器的客戶事務
  • 套用學科:計算機原理術語
概念,工作原理,

概念

嵌套事務(nested transaction)是指間接涉及多個伺服器的客戶事務。
在某些情況下,一個伺服器的一個操作可能觸發另一個伺服器的某個操作,通常後者可能又進一步請求操作,依此類推。處理這種情況時,每個客戶事務由一系列嵌套事務構成。如圖1-1所示,伺服器Z上的一個客戶事務T調用伺服器X和Y上的操作,形成嵌套事務
,嵌套事務
又調用伺服器M和N上的操作,形成深層嵌套事務
,類似地,
調用伺服器N和P上的操作,形成深層嵌套事務
。總之,事務由嵌套事務的層次結構組成。同層次的嵌套事務間可並發執行。
圖1-1圖1-1

工作原理

一組嵌套事務中的最外層事務被稱為頂層事務,其餘事務稱為子事務。如圖2-1中,T是頂層事務,
是子事務,
是T的子事務,T作為它們父母。同樣地,
的子事務,
的子事務。
當一子事務完成後,它作出獨立決定,或者暫時提交或者中止。暫時提交子事務的最後結果取決於它的父母並最終取決於頂層事務。頂層事務完成後,它的伺服器需與後裔子事務的伺服器通信,以執行原子提交協定。
圖2-1圖2-1
嵌套事務的伺服器要提供打開子事務的操作,以及使子事務詢問其父母是否提交的操作,客戶通過打開頂層事務來開始一組嵌套事務,用OpenTansaction操作為頂層事務返回一事務標識。頂層事務通過OpenTansaction操作開始位於其他伺服器之上的嵌套事務,該操作為子事務返回一事務標識。
子事務的標識可通過擴展其父母的TID獲得,這樣子事務標識就是全局唯一的。一般,頂層事務可提交,僅當其所有暫時提交的子事務可提交。而後者可提交,僅當它們的所有暫時提交子事務可提交。依此類推,直至子事務沒有下層子事務了。當一嵌套事務暫時提交,它將其狀態及其子孫的狀態報告給它的父母,當一嵌套事務中止,它僅向其父母報告中止。最後,頂層事務收到一張表,表中記錄了所有子事務及其狀態。

相關詞條

熱門詞條

聯絡我們