在事務(wù)處理過(guò)程中,事務(wù)有明確的起止點(diǎn),如" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

18143453325 在線咨詢 在線咨詢
18143453325 在線咨詢
所在位置: 首頁(yè) > 營(yíng)銷(xiāo)資訊 > 信息時(shí)代 > 事務(wù)處理中間件(數(shù)據(jù)庫(kù))

事務(wù)處理中間件(數(shù)據(jù)庫(kù))

時(shí)間:2022-11-13 18:30:01 | 來(lái)源:信息時(shí)代

時(shí)間:2022-11-13 18:30:01 來(lái)源:信息時(shí)代

    事務(wù)處理中間件 : 提供事務(wù)處理所需要的通信、并發(fā)訪問(wèn)控制、事務(wù)控制、資源管理和其他必要的服務(wù)的中間件,又稱事務(wù)處理監(jiān)控器(TP monitor)。
在事務(wù)處理過(guò)程中,事務(wù)有明確的起止點(diǎn),如果中途出現(xiàn)故障,則要么將已經(jīng)執(zhí)行的請(qǐng)求回滾,使系統(tǒng)退回到執(zhí)行前的狀態(tài);要么通過(guò)一定的處理,克服故障,使沒(méi)有完成的請(qǐng)求都能夠得到正確執(zhí)行。如果有多個(gè)事務(wù)并發(fā)執(zhí)行,需要保證每一個(gè)事務(wù)的執(zhí)行都不會(huì)受到其他事務(wù)的干擾,就像只有一個(gè)事務(wù)在執(zhí)行一樣,同時(shí)需要保證多事務(wù)并行執(zhí)行的性能。事務(wù)處理中間件的任務(wù)就是一要為保持事務(wù)特性提供支持; 二要提高事務(wù)處理的性能,包括吞吐率、安全性、可靠性等。
在主機(jī)時(shí)代,最早的事務(wù)處理中間件是IBM的IMS和CICS(1968),它們采用的技術(shù)包括請(qǐng)求隊(duì)列管理、檢查點(diǎn)機(jī)制和批處理程序的(重)啟動(dòng)機(jī)制。當(dāng)時(shí)的主機(jī)還只能支持單任務(wù)執(zhí)行,為了支持多任務(wù)處理,請(qǐng)求隊(duì)列管理技術(shù)將不能及時(shí)處理的多個(gè)請(qǐng)求緩存起來(lái),按照一定的策略,調(diào)度請(qǐng)求的執(zhí)行。在調(diào)度過(guò)程中,可能需要暫時(shí)中斷執(zhí)行的請(qǐng)求,檢查點(diǎn)(checkpoint)機(jī)制用于保存請(qǐng)求被中斷時(shí)的執(zhí)行狀態(tài),以便下一次請(qǐng)求被調(diào)度執(zhí)行時(shí)能夠從上次中斷點(diǎn)開(kāi)始繼續(xù)執(zhí)行,而批處理程序的(重)啟動(dòng)機(jī)制可以按照請(qǐng)求執(zhí)行的需要啟動(dòng)相關(guān)的程序。到1970年,CICS已經(jīng)研制出了多用戶并發(fā)控制模塊,通過(guò)鎖機(jī)制,控制多個(gè)請(qǐng)求并行執(zhí)行時(shí)對(duì)共享資源的訪問(wèn)。
到1970年后期,網(wǎng)絡(luò)技術(shù)的發(fā)展導(dǎo)致分布式系統(tǒng)的產(chǎn)生,數(shù)據(jù)庫(kù)系統(tǒng)開(kāi)始由mainframe體系結(jié)構(gòu)向C/S體系結(jié)構(gòu)發(fā)展。CICS于1978研制出了分布式事務(wù)處理、遠(yuǎn)程進(jìn)程訪問(wèn)、連接管理以及資源管理等技術(shù),通過(guò)上述技術(shù),外部異構(gòu)資源可以參與分布式事務(wù)。這時(shí)的CICS資源管理接口已經(jīng)很類似于標(biāo)準(zhǔn)的X/Open XA接口,并被DB2、IMS/DB和MQSeries等使用。為了支持不同的CICS程序之間透明的遠(yuǎn)程同步和異步調(diào)用,CICS OS/2引入了分布式程序鏈(distributed program link)和外部調(diào)用接口。于1993年,建立在分布式計(jì)算環(huán)境上的CICS/6000集成了支持OLTP類應(yīng)用的Transarc構(gòu)件和作為事務(wù)協(xié)調(diào)者的Encina服務(wù)器,其事務(wù)協(xié)調(diào)支持X/Open標(biāo)準(zhǔn)的XA協(xié)調(diào)接口,其CICS基本具備目前事務(wù)處理中間件的主要功能。
盡管CICS對(duì)于事務(wù)處理中間件做出了很大的貢獻(xiàn),但最先以獨(dú)立的事務(wù)處理中間件形式推出的產(chǎn)品是20世紀(jì)90年代BEA的TUXEDO,TUXEDO是用于支持OLTP類應(yīng)用的事務(wù)處理中間件,其主要特點(diǎn)是獨(dú)立于不同的數(shù)據(jù)庫(kù)產(chǎn)品,采用標(biāo)準(zhǔn)的接口,遵循標(biāo)準(zhǔn)的事務(wù)處理模型,以及標(biāo)準(zhǔn)的分布式事務(wù)處理協(xié)議。另外,在TUXEDO中充分考慮了事務(wù)處理所需的平臺(tái)無(wú)關(guān)性、系統(tǒng)可移植性、分布式透明性、可擴(kuò)展性、可用性、可配置性、高效性以及可管理性等,是最早的獨(dú)立的事務(wù)處理中間件產(chǎn)品。
目前,主流的事務(wù)處理中間件產(chǎn)品有BEA的Tuxedo、IBM的CICS、NCR的TopEnd、Microsoft的MTS等。近年來(lái),事務(wù)處理中間件產(chǎn)品也在不斷發(fā)展,不斷與新技術(shù)相結(jié)合,如Microsoft的MTS支持COM/DCOM、ActiveX等多種技術(shù)。未來(lái)的事務(wù)處理中間件除了對(duì)Java、J2EE/CORBA的支持以外,將更多地集成到面向Web的應(yīng)用服務(wù)器中。
一般事務(wù)處理中間件體系結(jié)構(gòu)如圖1所示,分為三個(gè)層次,包括表現(xiàn)服務(wù)器、工作流控制器和事務(wù)服務(wù)器,其中事務(wù)服務(wù)器主要由用戶開(kāi)發(fā)的執(zhí)行業(yè)務(wù)邏輯的事務(wù)程序構(gòu)成。


圖1 事務(wù)處理中間件體系結(jié)構(gòu)


表現(xiàn)服務(wù)器用于以表單或表格的形式收集輸入信息,如用戶名和口令、輸入設(shè)備號(hào)、服務(wù)請(qǐng)求類型和參數(shù)等,將用戶輸入信息轉(zhuǎn)換成TP-Monitor的內(nèi)部表示,形成能夠被系統(tǒng)理解的用戶請(qǐng)求。另外,表現(xiàn)服務(wù)器還負(fù)責(zé)安全管理和日志管理。安全管理包括認(rèn)證、授權(quán)和加密,以及用戶管理等; 日志管理主要進(jìn)行日志登記,以備系統(tǒng)恢復(fù)使用,其中數(shù)據(jù)庫(kù)負(fù)責(zé)自身的局部事務(wù)的恢復(fù),TP-Monitor負(fù)責(zé)跨數(shù)據(jù)庫(kù)的全局事務(wù)的恢復(fù)。
工作流控制器根據(jù)請(qǐng)求類型將用戶的請(qǐng)求映射到事務(wù)服務(wù)器的事務(wù)程序上,如果該事務(wù)程序在多個(gè)事務(wù)服務(wù)器上有備份,則進(jìn)行負(fù)載平衡調(diào)度,將請(qǐng)求傳送給一個(gè)空閑的事務(wù)服務(wù)器。工作流控制器還提供名字服務(wù)功能,使用戶只需關(guān)心事務(wù)程序的名字和參數(shù)形式,而不必關(guān)心事務(wù)程序的位置。
事務(wù)程序用于執(zhí)行用戶請(qǐng)求,訪問(wèn)數(shù)據(jù)庫(kù),進(jìn)行數(shù)據(jù)分析和處理,再將結(jié)果返回給用戶。
事務(wù)處理中間件包括以下關(guān)鍵技術(shù):
(1)事務(wù)處理協(xié)議:事務(wù)特性保持是事務(wù)處理中間件的基本功能,在分布式環(huán)境下的事務(wù)(全局事務(wù))將需要在多個(gè)數(shù)據(jù)庫(kù)上執(zhí)行,而每一個(gè)數(shù)據(jù)庫(kù)只能保證其上事務(wù)(局部事務(wù))的事務(wù)特性,數(shù)據(jù)庫(kù)之間并不提供事務(wù)協(xié)調(diào)的功能。事務(wù)處理中間件按照一定的事務(wù)處理協(xié)議負(fù)責(zé)協(xié)調(diào)各個(gè)局部事務(wù)的執(zhí)行,并提供全局事務(wù)管理,以使事務(wù)特性得以保持。典型的事務(wù)處理協(xié)議有主機(jī)環(huán)境下的兩階段鎖協(xié)議、分布環(huán)境下的兩階段提交協(xié)議等。
(2)并發(fā)控制:按照事務(wù)并發(fā)控制理論,只要每個(gè)讀寫(xiě)事務(wù)的操作對(duì)象與其他寫(xiě)事務(wù)的操作對(duì)象能相互分離,事務(wù)就可以完全隔離地并發(fā)執(zhí)行。并發(fā)控制技術(shù)對(duì)事務(wù)所需要訪問(wèn)的資源都加鎖,以避免其他事務(wù)對(duì)這些資源的并發(fā)訪問(wèn)。一個(gè)事務(wù)需要訪問(wèn)某個(gè)資源,首先需要獲取該資源的鎖,如果該資源被其他事務(wù)加鎖,則該事務(wù)必須等待,直到其他事務(wù)釋放該鎖。并發(fā)控制技術(shù)指的是對(duì)鎖的調(diào)度和管理的技術(shù),包括鎖的創(chuàng)建、刪除、申請(qǐng)和釋放以及鎖的分配等操作。由于相互等待的事務(wù)之間可能形成環(huán)(又稱死鎖),并發(fā)控制技術(shù)還包括死鎖的檢測(cè)與消除。
(3)容錯(cuò)與恢復(fù)管理:在基于事務(wù)處理中間件的事務(wù)處理系統(tǒng)中,用戶程序的請(qǐng)求首先發(fā)送給事務(wù)處理中間件,事務(wù)處理中間件再調(diào)度合適的服務(wù)程序處理該請(qǐng)求。如果服務(wù)程序出現(xiàn)故障,不能繼續(xù)處理用戶請(qǐng)求,事務(wù)處理中間件需要將用戶請(qǐng)求重新調(diào)度給其他服務(wù)程序處理。由于事務(wù)是邏輯上不可分割的有序的操作集合,每一個(gè)事務(wù)操作執(zhí)行都需要依賴前面已經(jīng)完成的操作狀態(tài)(也稱事務(wù)上下文),因此,調(diào)度的過(guò)程實(shí)際上包括選取服務(wù)程序,將其狀態(tài)恢復(fù)到請(qǐng)求的上下文狀態(tài),將請(qǐng)求調(diào)度給服務(wù)程序執(zhí)行?;謴?fù)管理需要保存請(qǐng)求執(zhí)行的狀態(tài),并在執(zhí)行事務(wù)的服務(wù)程序出現(xiàn)故障時(shí),能夠?qū)⒄?qǐng)求的狀態(tài)在另一個(gè)服務(wù)程序上恢復(fù)。
(4)連接管理:用戶進(jìn)程與數(shù)據(jù)庫(kù)或者事務(wù)服務(wù)器的交互必須建立連接,受系統(tǒng)連接資源的限制,這種一對(duì)一的連接不能支持大規(guī)模的并發(fā)訪問(wèn)。連接管理技術(shù)用于管理用戶與數(shù)據(jù)庫(kù)之間的連接關(guān)系,用戶的請(qǐng)求交給事務(wù)處理中間件,事務(wù)處理中間件采用連接復(fù)用技術(shù)和請(qǐng)求隊(duì)列技術(shù)來(lái)管理用戶的并發(fā)請(qǐng)求。連接復(fù)用指的是將數(shù)據(jù)庫(kù)有限的連接資源在不同的時(shí)間用于不同的客戶,或多個(gè)用戶同一時(shí)刻共享一個(gè)連接。當(dāng)用戶并發(fā)請(qǐng)求太多,超過(guò)了數(shù)據(jù)庫(kù)的承受能力時(shí),用戶請(qǐng)求必須等待,這時(shí)事務(wù)處理中間件將請(qǐng)求在隊(duì)列中緩存,并按照一定的策略調(diào)度請(qǐng)求的執(zhí)行。
(5)負(fù)載均衡:事務(wù)處理中間件的負(fù)載均衡是指在大量事務(wù)請(qǐng)求到達(dá)時(shí),將請(qǐng)求調(diào)度到能夠完成請(qǐng)求的不同的服務(wù)器上,實(shí)現(xiàn)服務(wù)器之間均衡的負(fù)載分布,提高事務(wù)處理的性能。由于事務(wù)處理請(qǐng)求與其上下文有關(guān),因此,在負(fù)載均衡調(diào)度時(shí),需要確保事務(wù)操作的上下文一致性。事務(wù)處理中間件的負(fù)載均衡一般分為基于連接的負(fù)載均衡和基于事務(wù)的負(fù)載均衡。基于連接的負(fù)載均衡指用戶程序請(qǐng)求與服務(wù)程序建立連接時(shí)進(jìn)行負(fù)載均衡,一旦建立好連接,該客戶的所有事務(wù)請(qǐng)求都由與其連接的服務(wù)程序執(zhí)行; 基于事務(wù)的負(fù)載均衡指用戶在初始化一個(gè)事務(wù)時(shí)進(jìn)行負(fù)載均衡。
(6)服務(wù)管理: 在多層客戶/服務(wù)體系結(jié)構(gòu)中,中間層的業(yè)務(wù)邏輯被實(shí)現(xiàn)為獨(dú)立的服務(wù),在這種體系結(jié)構(gòu)下,事務(wù)處理中間件需要協(xié)助對(duì)服務(wù)的管理,包括服務(wù)的啟動(dòng)和關(guān)閉(在構(gòu)件環(huán)境下,又稱為服務(wù)的加載和卸載)。服務(wù)管理還包括根據(jù)用戶請(qǐng)求類型選擇匹配的服務(wù)執(zhí)行請(qǐng)求,在存在冗余服務(wù)副本(完成相同功能,具有相同接口的服務(wù))時(shí),按照一定的策略為請(qǐng)求分配服務(wù)副本等。

74
73
25
news

版權(quán)所有? 億企邦 1997-2022 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉