用于在事務中間件機器環(huán)境中持久化事務記錄的系統(tǒng)與方法
【專利摘要】一種事務系統(tǒng),可以利用由集群數(shù)據(jù)庫提供的分布式存儲與高可用性(HA)能力來支持容易且可行的災難恢復。事務中間件機器環(huán)境包括與事務關聯(lián)的一個或多個事務應用服務器。這一個或多個事務應用服務器操作成把與該事務關聯(lián)的事務日志信息持久化到位于本地站點的、與所述一個或多個事務應用服務器連接的數(shù)據(jù)庫中。位于本地站點的數(shù)據(jù)庫操作成把持久化的事務日志信息復制到位于遠端站點的遠端數(shù)據(jù)庫。在災難使本地站點不能工作時,遠端數(shù)據(jù)庫允許位于遠端站點的不同事務應用服務器恢復持久化的事務日志信息并且完成該事務。
【專利說明】用于在事務中間件機器環(huán)境中持久化事務記錄的系統(tǒng)與方法
[0001]版權聲明
[0002]本專利文檔公開內(nèi)容的一部分包含受版權保護的素材。版權擁有者不反對任何人對專利文檔或?qū)@_內(nèi)容按照在專利商標局的專利文件或記錄中出現(xiàn)那樣進行的傳真復制,但是除此之外在任何情況下都保留所有版權。
【技術領域】
[0003]本發(fā)明一般而言涉及諸如中間件的計算機系統(tǒng)與軟件,而且更具體地說涉及在事務中間件機器環(huán)境中支持災難恢復。
【背景技術】
[0004]事務中間件系統(tǒng),或者說面向事務的中間件,包括可以處理一個組織內(nèi)部各種事務的企業(yè)應用服務器。隨著諸如高性能網(wǎng)絡和多處理器計算機之類的新技術的發(fā)展,需要進一步提高事務中間件的性能。這些是本發(fā)明實施例要解決的一般領域。
【發(fā)明內(nèi)容】
[0005]本文所述的是一種事務系統(tǒng),該系統(tǒng)可以利用由集群數(shù)據(jù)庫提供的分布式存儲與高可用性(HA)能力來支持容易且可行的災難恢復。事務中間件機器環(huán)境包括與事務關聯(lián)的一個或多個事務應用服務器。事務應用服務器可以把與該事務關聯(lián)的事務日志信息持久化到位于本地站點的、與所述一個或多個事務應用服務器連接的數(shù)據(jù)庫中。位于本地站點的數(shù)據(jù)庫可以把持久化的事務日志信息復制到位于遠端站點的數(shù)據(jù)庫。當災難使本地站點不能工作時,遠端數(shù)據(jù)庫允許位于遠端站點的不同事務應用服務器恢復持久化的事務日志信息并完成該事務。
【專利附圖】
【附圖說明】
[0006]圖1示出了根據(jù)本發(fā)明一種實施例的支持災難恢復的事務中間件機器環(huán)境的圖
/Jn ο
[0007]圖2圖示出根據(jù)本發(fā)明一種實施例的用于在事務中間件機器環(huán)境中支持災難恢復的示例性流程圖。
[0008]圖3示出了根據(jù)本發(fā)明一種實施例的在事務中間件機器環(huán)境中的復雜接口的圖
/Jn ο
[0009]圖4是根據(jù)本發(fā)明一種實施例的用于在事務中間件機器環(huán)境中支持災難恢復的裝置的功能性框圖。
具體實施例
[0010]本文所描述的是用于支持可以利用具有多個處理器的快速機器以及高性能網(wǎng)絡連接的事務中間件系統(tǒng)的系統(tǒng)與方法,其中的事務中間件系統(tǒng)諸如Tuxedo。事務系統(tǒng)可以利用由集群數(shù)據(jù)庫提供的分布式存儲與高可用性(HA)能力來支持容易且可行的災難恢復。事務中間件機器環(huán)境包括與事務關聯(lián)的一個或多個事務應用服務器。所述一個或多個事務應用服務器操作成把與該事務關聯(lián)的事務日志信息持久化到位于本地站點的、與所述一個或多個事務應用服務器連接的數(shù)據(jù)庫。位于本地站點的數(shù)據(jù)庫操作成把持久化的事務日志信息復制到位于遠端站點的遠端數(shù)據(jù)庫。當災難使本地站點不能工作時,遠端數(shù)據(jù)庫允許位于遠端站點的不同事務應用服務器恢復持久化的事務日志信息并且完成該事務。
[0011]根據(jù)本發(fā)明的一種實施例,該系統(tǒng)包括高性能硬件,例如64位處理器技術,高性能大型存儲器以及冗余InfiniBand和以太網(wǎng)聯(lián)網(wǎng)連同應用服務器或中間件環(huán)境,諸如WebLogic套件,的組合,來提供完整的Java EE應用服務器聯(lián)合體,該聯(lián)合體包括可以快速供應并且可以按需縮放的大規(guī)模并行存儲器內(nèi)網(wǎng)格。根據(jù)一種實施例,該系統(tǒng)可以部署成作為提供應用服務器網(wǎng)格、存儲區(qū)域網(wǎng)絡和InfiniBand (IB)網(wǎng)絡的完全、半或四分之一機架,或者其它配置。中間件機器軟件可以提供應用服務器、中間件和其它功能性,諸如像WebLogic 服務器、JRockit 或者 Hotspot JVTVUOracle Linux 或 Solaris 和 Oracle VM。根據(jù)一種實施例,該系統(tǒng)可以包括經(jīng)IB網(wǎng)絡彼此通信的多個計算節(jié)點、IB交換機網(wǎng)關,及存儲節(jié)點或單元。當實現(xiàn)為機架配置時,機架未使用的部分可以空著或者被填充物占用。
[0012]根據(jù)本發(fā)明的一種實施例,在此被稱為“Sun Oracle Exalogic”或者“Exalogic”,該系統(tǒng)是用于托管中間件或應用服務器軟件,諸如Orac I e中間件SW套件或Web I ogi c,的一種易于部署的解決方案。如本文所描述的,根據(jù)一種實施例,該系統(tǒng)是“盒子內(nèi)的網(wǎng)格”,包括一個或多個服務器、存儲單元、用于存儲聯(lián)網(wǎng)的一個IB構架,以及托管中間件應用所需的所有其它組件。通過利用例如真正應用集群和Exalogic開放存儲充分利用大規(guī)模并行網(wǎng)格體系架構,可以為所有類型的中間件應用交付顯著的性能。該系統(tǒng)利用線性I/O可縮放性交付提高的性能、使用和管理都很簡單,并且交付任務關鍵的可用性和可靠性。
[0013]根據(jù)本發(fā)明的一種實施例,Tuxedo是啟用高性能、分布式商業(yè)應用的構造、執(zhí)行和管理的一組軟件模塊,并且已經(jīng)被多種多層應用開發(fā)工具用作事務中間件。Tuxedo是可以用于在分布式計算環(huán)境中管理分布式事務處理的中間件平臺。它是一個經(jīng)過證明的平臺,用于解鎖企業(yè)傳統(tǒng)應用并把它們擴展到面向服務的體系架構,同時交付不受限制的可縮放性與基于標準的互操作性。
[0014]根據(jù)本發(fā)明的一種實施例,事務中間件系統(tǒng),諸如Tuxedo系統(tǒng),可以利用具有多個處理器的快速機器,諸如Exalogic中間件機器,以及高性能網(wǎng)絡連接,諸如Infiniband(IB)網(wǎng)絡。
[0015]根據(jù)本發(fā)明的一種實施例,事務系統(tǒng)可以利用由集群數(shù)據(jù)庫提供的分布式存儲和高可用性(HA)能力來支持容易且可行的災難恢復。
[0016]把事務記錄持久化到集群數(shù)據(jù)庫中
[0017]根據(jù)本發(fā)明的一種實施例,事務應用服務器可以在事務中間件機器環(huán)境中把事務記錄,諸如事務日志信息,持久化到集群數(shù)據(jù)庫中,以增強用于事務的高可用性(HA)能力。集群數(shù)據(jù)庫可以把這種事務信息從本地站點復制到遠端站點,以便為事務中間件機器環(huán)境提供HA能力。
[0018]圖1示出了根據(jù)本發(fā)明一種實施例的支持災難恢復的事務中間件機器環(huán)境的圖示。如圖1中所示,一個或多個事務應用服務器(服務器A103和服務器D106)可以把與事務(事務A121)關聯(lián)的事務信息持久化到集群數(shù)據(jù)庫中,例如位于本地站點AlOl的數(shù)據(jù)庫服務器A107。集群數(shù)據(jù)庫111可以把事務日志信息復制到位于遠端站點B102的遠端數(shù)據(jù)庫服務器B108。
[0019]如圖1中所示,當災難攻擊本地站點A時,位于遠端站點B的事務應用服務器B104可以從遠端數(shù)據(jù)庫中檢取數(shù)據(jù)庫服務器B中用于事務A122的持久化的事務日志信息并且沒有延遲地立即完成該事務。相反,如果用于事務D124的事務日志只寫到位于本地站點A的平面文件Dlll中,則系統(tǒng)可能要花更長的時間執(zhí)行災難恢復和完成事務。
[0020]根據(jù)本發(fā)明的一種實施例,當事務系統(tǒng)被激活時,事務系統(tǒng)可以打開一個數(shù)據(jù)庫連接并且把記錄寫到數(shù)據(jù)庫而不是寫到文件。事務系統(tǒng)可以配置為把事務日志信息寫到該應用當前在使用的數(shù)據(jù)庫中,以便節(jié)約并發(fā)數(shù)據(jù)庫連接的個數(shù)。
[0021]此外,抽象的事務文件操作接口可以用于在文件系統(tǒng),諸如分布式文件系統(tǒng)112,中存儲事務日志信息。分布式文件系統(tǒng)可以把存儲在本地站點A的文件A109中的事務日志信息同步到位于遠端站點C103的文件C110。類似地,當災難攻擊本地站點A時,位于遠端站點C的事務應用服務器C105可以檢取文件C中所存儲的用于事務A123的事務日志信息并且完成該事務。
[0022]在文件系統(tǒng)中存儲事務日志信息對于災難恢復解決方案可能不方便,因為平面文件中的事務日志信息必須利用不可避免的時間窗在恢復站點上同步。此外,對分布式文件系統(tǒng)的支持會是有限的。
[0023]根據(jù)本發(fā)明的一種實施例,通過在集群數(shù)據(jù)庫中持久化事務日志信息,系統(tǒng)可以采用底層數(shù)據(jù)庫系統(tǒng)固有的復制及其它HA方面。系統(tǒng)還可以增強災難恢復場景的處理,尤其是在諸如跨站點恢復的場景下。而且,對分布式文件系統(tǒng)解決方案的需求也可以緩解。系統(tǒng)還減少了對用戶的復雜性,因為,與諸如NFS等的分布式文件系統(tǒng)相比,數(shù)據(jù)庫的配置通常不太復雜和/或已經(jīng)是必需,例如,對于常見的運行時/應用工作而言。
[0024]服務器103-108可以是硬件計算節(jié)點。事務應用服務器A103、事務應用服務器D106及數(shù)據(jù)庫服務器A107可以在位于本地站點AlOl的中間件機器機架中提供。事務應用服務器B104和數(shù)據(jù)庫服務器B108可以在位于遠端站點B102的中間件機器機架中提供。事務應用服務器C105可以在位于遠端站點C103的中間件機器機架中提供。
[0025]圖2圖示出根據(jù)本發(fā)明一種實施例的用于在事務中間件機器環(huán)境中支持災難恢復的示例性流程圖。如圖2中所示,在步驟201,一個或多個事務應用服務器可以把與事務關聯(lián)的事務日志信息持久化到位于本地站點的、與所述一個或多個事務應用服務器連接的數(shù)據(jù)庫中。然后,在步驟202,該數(shù)據(jù)庫可以把持久化的事務日志信息從位于本地站點的本地數(shù)據(jù)庫服務器復制到位于遠端站點的遠端數(shù)據(jù)庫服務器。最后,在步驟203,當災難使本地站點不能工作時,系統(tǒng)允許位于遠端站點的不同事務應用服務器從遠端數(shù)據(jù)庫服務器恢復持久化的事務日志信息并且完成該事務。
[0026]Tuxedo中的事務日志(TLOG)
[0027]在Tuxedo的例子中,事務日志(TLOG)包含日志記錄,關于事務的信息可以在該日志記錄中一直保持到事務完成。Tuxedo可以利用由集群數(shù)據(jù)庫,例如Oracle RAC數(shù)據(jù)庫,提供的分布式存儲與HA能力來支持容易且可行的災難恢復。此外,該數(shù)據(jù)庫可以把TLOG記錄復制到分布式站點,以實現(xiàn)甚至更高的可用性。[0028]根據(jù)本發(fā)明的一種實施例,用戶可以為不同的域創(chuàng)建事務日志。用戶可以首先創(chuàng)建通用設備列表(UDL),以便在Tuxedo環(huán)境中創(chuàng)建TLOG。UDL是事務文件系統(tǒng),諸如Tuxedo文件系統(tǒng),的地圖。UDL可以在應用引導的時候加載到共享內(nèi)存中。為了在UDL中創(chuàng)建用于TLOG設備的條目,系統(tǒng)可以利用全局事務在每個機器上創(chuàng)建一個UDL。公告牌聯(lián)絡(BBL)可以在引導過程期間初始化并打開TL0G。然后,用戶可以在配置文件中,例如在Tuxedo配置文件的MACHINES部分中,定義相關的事務相關參數(shù),以便配置Tuxedo服務器。
[0029]根據(jù)本發(fā)明的一種實施例,抽象的文件操作接口可以在Tuxedo環(huán)境中提供。當該接口被激活時,Tuxedo可以打開一個數(shù)據(jù)庫連接而不是打開一個文件。因而,Tuxedo可以把TLOG寫到數(shù)據(jù)庫中而不是寫到文件,而且該數(shù)據(jù)庫可以把TLOG記錄復制到分布式站點,以獲得更高的可用性。
[0030]根據(jù)本發(fā)明的一種實施例,集群數(shù)據(jù)庫可以用于支持事務日志信息的持久化。諸如Oracle RAC數(shù)據(jù)庫的集群數(shù)據(jù)庫允許多臺計算機在訪問單個數(shù)據(jù)庫的時候同時運行Oracle RDBMS軟件。Tuxedo可以利用由集群數(shù)據(jù)庫提供的分布式存儲與HA能力。在集群數(shù)據(jù)庫環(huán)境下,兩臺或多臺計算機(每臺都具有一個實例)可以并發(fā)地訪問單個數(shù)據(jù)庫。所述系統(tǒng)允許應用或用戶連接到其中任何一臺計算機并且訪問單個協(xié)同的數(shù)據(jù)集。
[0031]另一方面,在非集群數(shù)據(jù)庫中,單個實例訪問單個數(shù)據(jù)庫。數(shù)據(jù)庫包括位于磁盤上的數(shù)據(jù)文件、控制文件及重做日志的集合。實例包括在計算機系統(tǒng)上運行的Oracle相關的存儲器與操作系統(tǒng)過程的集合。
[0032]圖3示出根據(jù)本發(fā)明一種實施例的事務中間件機器環(huán)境中的復雜接口的圖示。Tuxedo支持持久化TLOG記錄的兩種方法,一種方法是使用存儲在集群數(shù)據(jù)庫中的信息,而另一種方法是使用存儲在文件系統(tǒng)中的信息。如圖3中所示,為了支持持久化事務日志記錄,Tuxedo應用301可以首先訪問高級API,諸如TLOG API302。TLOG API為Tuxedo中的不同API提供了一組用于持久化TLOG記錄的統(tǒng)一接口。這個高級API又可以選擇調(diào)用兩組低級API中的一組,這兩組低級API包括處理ORACLE數(shù)據(jù)庫中TLOG記錄的db_tlogAPI303和處理文件中TLOG記錄的file_tlog API304。高級TLOG API可以根據(jù)Tuxedo配置,tuxconfig或dmconfig,動態(tài)地調(diào)用兩個低級API之一。這個復雜的接口可以被用來代替抽象的Tuxedo文件操作接口,使得當其被激活時,Tuxedo可以打開數(shù)據(jù)庫連接而不是打開文件,并且把記錄寫到數(shù)據(jù)庫而不是平面文件。
[0033]根據(jù)本發(fā)明的一種實施例,為了節(jié)約并發(fā)數(shù)據(jù)庫連接的個數(shù),配置文件中一個專門的項可以用于配置Tuxedo環(huán)境中的操作接口,使得TLOG可以寫到與Tuxedo應用當前在使用的相同數(shù)據(jù)庫中。而且,如果被配置,則TLOG可以寫到與應用在相同連接中所使用的相同數(shù)據(jù)庫,以節(jié)約并發(fā)數(shù)據(jù)庫連接的個數(shù)。例如,Oracle XA提供了一個接口xaoSvcCtxO ,這個接口返回用于給定XA連接的數(shù)據(jù)庫服務句柄。接口 db_tlog不打開到數(shù)據(jù)庫服務器的新連接。相反,系統(tǒng)使用先前由事務處理監(jiān)視器(TPM)打開的連接。
[0034]根據(jù)一些實施例,圖4示出了用于在根據(jù)如上所述本發(fā)明的原理配置的事務中間件機器環(huán)境中支持災難恢復的裝置1000的功能性框圖。裝置1000的功能塊可以通過硬件、軟件或者硬件與軟件的組合來實現(xiàn),以便執(zhí)行本發(fā)明的原理。本領域技術人員應當理解,圖4中所述的功能塊可以組合或者分離成子塊,以實現(xiàn)如上所述本發(fā)明的原理。因此,本文的描述可以支持本文所述功能塊的任何可能的組合或分離或進一步定義。[0035]如圖4中所示,用于在事務中間件機器環(huán)境中支持災難恢復的裝置1000包括:持久化單元1100、復制單元1200和恢復單元1300。持久化單元1100經(jīng)一個或多個事務應用服務器把與事務關聯(lián)的事務日志信息持久化到位于本地站點的、與所述一個或多個事務應用服務器連接的數(shù)據(jù)庫中。復制單元1200經(jīng)該數(shù)據(jù)庫把持久化的事務日志信息從位于本地站點的本地數(shù)據(jù)庫服務器復制到位于遠端站點的遠端數(shù)據(jù)庫服務器。在災難使本地站點不能工作時,恢復單元1300允許位于遠端站點的不同事務應用服務器從遠端數(shù)據(jù)庫服務器恢復持久化的事務日志信息并且完成該事務。
[0036]在有些實施例中,裝置1000還包括重用單元1400,用于允許所述一個或多個事務應用服務器重用到本地數(shù)據(jù)庫服務器的現(xiàn)有數(shù)據(jù)庫連接。
[0037]在有些實施例中,裝置1000還包括寫單元1500,用于把事務日志信息寫到事務日志文件中。
[0038]在有些實施例中,裝置1000還包括支持單元1600,用于在分布式文件系統(tǒng)中支持事務日志文件。
[0039]在有些實施例中,裝置1000還包括同步單元1700,用于在恢復站點上同步事務日志文件中的事務日志信息。
[0040]在有些實施例中,事務是兩階段事務。
[0041]在有些實施例中,成功提交兩階段事務的第一階段之后,事務日志信息包含事務管理器的持久化狀態(tài)。
[0042]在有些實施例中,事務日志信息基于事務文件系統(tǒng)的地圖并且在事務日志記錄中維護。
[0043]在有些實施例中,裝置1000還包括創(chuàng)建單元1800,用于利用全局事務創(chuàng)建事務文件系統(tǒng)的地圖并且在事務過程被引導時打開該事務日志記錄。
[0044]在有些實施例中,事務日志信息包含用于多個事務域的信息。
[0045]另一種實施例包括用于在事務中間件機器環(huán)境中支持災難恢復的系統(tǒng),包括位于本地站點的、與事務關聯(lián)的一個或多個事務應用服務器;及與所述一個或多個事務應用服務器連接的數(shù)據(jù)庫,其中所述一個或多個事務應用服務器操作成把與該事務關聯(lián)的事務日志信息持久化到該數(shù)據(jù)庫,而且其中該數(shù)據(jù)庫操作成把持久化的事務日志信息從位于本地站點的本地數(shù)據(jù)庫服務器復制到位于遠端站點的遠端數(shù)據(jù)庫服務器,而且其中,在災難使本地站點不能工作時,遠端數(shù)據(jù)庫允許位于遠端站點的不同事務應用服務器恢復持久化的事務日志信息并且完成該事務。
[0046]另一種實施例包括一種系統(tǒng),其中所述一個或多個事務應用服務器重用到本地數(shù)據(jù)庫服務器的現(xiàn)有數(shù)據(jù)庫連接。
[0047]另一種實施例包括一種系統(tǒng),其中事務日志信息可以寫到事務日志文件。
[0048]另一種實施例包括一種系統(tǒng),其中事務日志文件在分布式文件系統(tǒng)中被支持。
[0049]另一種實施例包括一種系統(tǒng),其中事務日志文件中的事務日志信息在恢復站點上被同步。
[0050]另一種實施例包括一種系統(tǒng),其中事務是兩階段事務。
[0051]另一種實施例包括一種系統(tǒng),其中在成功提交兩階段事務的第一階段之后,事務日志信息包含事務管理器的持久化狀態(tài)。[0052]另一種實施例包括一種系統(tǒng),其中事務日志信息基于事務文件系統(tǒng)的地圖并且在事務日志記錄中維護。
[0053]另一種實施例包括一種系統(tǒng),其中事務文件系統(tǒng)的地圖是利用全局事務創(chuàng)建的并且事務日志記錄在事務過程被引導時打開。
[0054]另一種實施例包括一種系統(tǒng),其中事務日志信息包含用于多個事務域的信息。
[0055]另一種實施例包括用于在事務中間件機器環(huán)境中支持災難恢復的裝置,包括用于經(jīng)一個或多個事務應用服務器把與事務關聯(lián)的事務日志信息持久化到位于本地站點的、與所述一個或多個事務應用服務器連接的數(shù)據(jù)庫中的裝置;用于經(jīng)該數(shù)據(jù)庫把持久化的事務日志信息從位于本地站點的本地數(shù)據(jù)庫服務器復制到位于遠端站點的遠端數(shù)據(jù)庫服務器的裝置;及用于,在災難使本地站點不能工作時,允許位于遠端站點的不同事務應用服務器恢復持久化的事務日志信息并且完成該事務的裝置。
[0056]另一種實施例包括一種裝置,該裝置還包括用于允許所述一個或多個事務應用服務器重用到本地數(shù)據(jù)庫服務器的現(xiàn)有數(shù)據(jù)庫連接的裝置。
[0057]另一種實施例包括一種裝置,該裝置還包括用于把事務日志信息寫到事務日志文件的裝置。
[0058]另一種實施例包括一種裝置,該裝置還包括用于在分布式文件系統(tǒng)中支持事務日志文件的裝置。
[0059]另一種實施例包括一種裝置,該裝置還包括用于在恢復站點上同步事務日志文件中的事務日志信息的裝置。
[0060]另一種實施例包括一種裝置,其中事務是兩階段事務。
[0061]另一種實施例包括一種裝置,其中事務日志信息包含在成功提交兩階段事務的第一階段之后事務管理器的持久化狀態(tài)。
[0062]另一種實施例包括一種裝置,其中事務日志信息基于事務文件系統(tǒng)的地圖并且在事務日志記錄中維護。
[0063]另一種實施例包括一種裝置,該裝置還包括用于利用全局事務創(chuàng)建事務文件系統(tǒng)的地圖的并且在事務過程被引導時打開事務日志記錄的裝置。
[0064]另一種實施例包括一種裝置,其中事務日志信息包含用于多個事務域的信息。
[0065]本發(fā)明可以利用一種或多種傳統(tǒng)的通用或?qū)S脭?shù)字計算機、計算設備、機器或微處理器方便地實現(xiàn),包括一個或多個處理器、根據(jù)本公開內(nèi)容教義編程的存儲器和/或計算機可讀存儲介質(zhì)。如對軟件領域的技術人員來說將很顯然的,適當?shù)能浖幋a可以很容易地被熟練的程序員基于本公開內(nèi)容的教義來準備。
[0066]在有些實施例中,本發(fā)明包括計算機程序產(chǎn)品,這是其上/其中存儲了可以用于編程計算機以便執(zhí)行本發(fā)明任何過程的指令的存儲介質(zhì)或計算機可讀介質(zhì)。存儲介質(zhì)可以包括,但不限于,任何類型的盤,包括軟盤、光盤、DVD、CD-ROM、微型硬盤及磁光盤,ROM、RAM、EPROM、EEPROM、DRAM、VRAM、閃存存儲器設備、磁卡或光卡、納米系統(tǒng)(包括分子存儲器1C),或者適于存儲指令和/或數(shù)據(jù)的任何類型的介質(zhì)或設備。
[0067]本發(fā)明以上描述的提供是為了說明和描述。它不是窮盡的或者要把本發(fā)明限定到所公開的精確形式。許多修改和變化將對本領域技術人員顯而易見。實施例的選擇與描述是為了最好地解釋本發(fā)明的原理及其實踐應用,由此使本領域其他技術人員能夠理解本發(fā)明具有適于預期特定用途的各種修改的各種實施例。本發(fā)明的范圍要由以下權利要求及其等同物來限定。
【權利要求】
1.一種用于在事務中間件機器環(huán)境中支持災難恢復的系統(tǒng),包括: 與事務關聯(lián)的一個或多個事務應用服務器,其中所述一個或多個事務應用服務器操作成把與該事務關聯(lián)的事務日志信息持久化到位于本地站點的、與所述一個或多個事務應用服務器連接的數(shù)據(jù)庫,及 其中該數(shù)據(jù)庫操作成把持久化的事務日志信息從位于本地站點的本地數(shù)據(jù)庫服務器復制到位于遠端站點的遠端數(shù)據(jù)庫服務器,而且其中,在災難使本地站點不能工作時,遠端數(shù)據(jù)庫允許位于遠端站點的不同事務應用服務器恢復持久化的事務日志信息并且完成該事務。
2.如權利要求1所述的系統(tǒng),其中所述一個或多個事務應用服務器重用到本地數(shù)據(jù)庫服務器的現(xiàn)有數(shù)據(jù)庫連接。
3.如權利要求1所述的系統(tǒng),其中事務日志信息能夠?qū)懙绞聞杖罩疚募?br>
4.如權利要求3所述的系統(tǒng),其中事務日志文件在分布式文件系統(tǒng)中被支持。
5.如權利要求3所述的系統(tǒng),其中事務日志文件中的事務日志信息在恢復站點上被同步。
6.如權利要求1所述的系統(tǒng),其中事務是兩階段事務。
7.如權利要求6所述的系統(tǒng),其中,在成功提交兩階段事務的第一階段之后,事務日志信息包含事務管理器的持久化狀態(tài)。
8.如權利要求1所述 的系統(tǒng),其中事務日志信息基于事務文件系統(tǒng)的地圖并且在事務日志記錄中維護。
9.如權利要求8所述的系統(tǒng),其中事務文件系統(tǒng)的地圖是利用全局事務創(chuàng)建的并且事務日志記錄在事務過程被引導時打開。
10.如權利要求1所述的系統(tǒng),其中事務日志信息包含用于多個事務域的信息。
11.一種用于在事務中間件機器環(huán)境中支持災難恢復的方法,包括: 經(jīng)一個或多個事務應用服務器把與事務關聯(lián)的事務日志信息持久化到位于本地站點的、與所述一個或多個事務應用服務器連接的數(shù)據(jù)庫中; 經(jīng)該數(shù)據(jù)庫把持久化的事務日志信息從位于本地站點的本地數(shù)據(jù)庫服務器復制到位于遠端站點的遠端數(shù)據(jù)庫服務器;及 在災難使本地站點不能工作時,允許位于遠端站點的不同事務應用服務器從遠端數(shù)據(jù)庫服務器恢復持久化的事務日志信息并且完成該事務。
12.如權利要求11所述的方法,還包括允許所述一個或多個事務應用服務器重用到本地數(shù)據(jù)庫服務器的現(xiàn)有數(shù)據(jù)庫連接。
13.如權利要求11所述的方法,還包括把事務日志信息寫到事務日志文件中。
14.如權利要求13所述的方法,還包括在分布式文件系統(tǒng)中支持事務日志文件。
15.如權利要求13所述的方法,還包括在恢復站點上同步事務日志文件中的事務日志信息。
16.如權利要求11所述的方法,還包括允許事務是兩階段事務。
17.如權利要求16所述的方法,還包括在成功提交兩階段事務的第一階段之后允許事務日志信息包含事務管理器的持久化狀態(tài)。
18.如權利要求11所述的方法,還包括允許事務日志信息基于事務文件系統(tǒng)的地圖并且在事務日志記錄中維護事務日志信息。
19.如權利要求18所述的方法,還包括利用全局事務創(chuàng)建事務文件系統(tǒng)的地圖并且在事務過程被引導時打開事務日志記錄。
20.如權利要求11所述的方法,還包括允許事務日志信息包含用于多個事務域的信息。
21.一種用于執(zhí)行如權利要求11-20中任何一項所述的方法的程序。
22.一種用于存儲如權利要求21所述的程序的非易失性介質(zhì)。
【文檔編號】G06F11/00GK103827832SQ201280047493
【公開日】2014年5月28日 申請日期:2012年9月24日 優(yōu)先權日:2011年9月29日
【發(fā)明者】T·里托, 李向東, 呂先正 申請人:甲骨文國際公司