CN103827832B - 用于在事务中间件机器环境中持久化事务记录的系统与方法 - Google Patents
用于在事务中间件机器环境中持久化事务记录的系统与方法 Download PDFInfo
- Publication number
- CN103827832B CN103827832B CN201280047493.3A CN201280047493A CN103827832B CN 103827832 B CN103827832 B CN 103827832B CN 201280047493 A CN201280047493 A CN 201280047493A CN 103827832 B CN103827832 B CN 103827832B
- Authority
- CN
- China
- Prior art keywords
- transaction journal
- application server
- affairs
- transaction
- database
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2097—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2038—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2043—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share a common memory address space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/80—Database-specific techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种事务系统,可以利用由集群数据库提供的分布式存储与高可用性(HA)能力来支持容易且可行的灾难恢复。事务中间件机器环境包括与事务关联的一个或多个事务应用服务器。这一个或多个事务应用服务器操作成把与该事务关联的事务日志信息持久化到位于本地站点的、与所述一个或多个事务应用服务器连接的数据库中。位于本地站点的数据库操作成把持久化的事务日志信息复制到位于远端站点的远端数据库。在灾难使本地站点不能工作时,远端数据库允许位于远端站点的不同事务应用服务器恢复持久化的事务日志信息并且完成该事务。
Description
版权声明
本专利文档公开内容的一部分包含受版权保护的素材。版权拥有者不反对任何人对专利文档或专利公开内容按照在专利商标局的专利文件或记录中出现那样进行的传真复制,但是除此之外在任何情况下都保留所有版权。
技术领域
本发明一般而言涉及诸如中间件的计算机系统与软件,而且更具体地说涉及在事务中间件机器环境中支持灾难恢复。
背景技术
事务中间件系统,或者说面向事务的中间件,包括可以处理一个组织内部各种事务的企业应用服务器。随着诸如高性能网络和多处理器计算机之类的新技术的发展,需要进一步提高事务中间件的性能。这些是本发明实施例要解决的一般领域。
发明内容
本文所述的是一种事务系统,该系统可以利用由集群数据库提供的分布式存储与高可用性(HA)能力来支持容易且可行的灾难恢复。事务中间件机器环境包括与事务关联的一个或多个事务应用服务器。事务应用服务器可以把与该事务关联的事务日志信息持久化到位于本地站点的、与所述一个或多个事务应用服务器连接的数据库中。位于本地站点的数据库可以把持久化的事务日志信息复制到位于远端站点的数据库。当灾难使本地站点不能工作时,远端数据库允许位于远端站点的不同事务应用服务器恢复持久化的事务日志信息并完成该事务。
附图说明
图1示出了根据本发明一种实施例的支持灾难恢复的事务中间件机器环境的图示。
图2图示出根据本发明一种实施例的用于在事务中间件机器环境中支持灾难恢复的示例性流程图。
图3示出了根据本发明一种实施例的在事务中间件机器环境中的复杂接口的图示。
图4是根据本发明一种实施例的用于在事务中间件机器环境中支持灾难恢复的装置的功能性框图。
具体实施例
本文所描述的是用于支持可以利用具有多个处理器的快速机器以及高性能网络连接的事务中间件系统的系统与方法,其中的事务中间件系统诸如Tuxedo。事务系统可以利用由集群数据库提供的分布式存储与高可用性(HA)能力来支持容易且可行的灾难恢复。事务中间件机器环境包括与事务关联的一个或多个事务应用服务器。所述一个或多个事务应用服务器操作成把与该事务关联的事务日志信息持久化到位于本地站点的、与所述一个或多个事务应用服务器连接的数据库。位于本地站点的数据库操作成把持久化的事务日志信息复制到位于远端站点的远端数据库。当灾难使本地站点不能工作时,远端数据库允许位于远端站点的不同事务应用服务器恢复持久化的事务日志信息并且完成该事务。
根据本发明的一种实施例,该系统包括高性能硬件,例如64位处理器技术,高性能大型存储器以及冗余InfiniBand和以太网联网连同应用服务器或中间件环境,诸如WebLogic套件,的组合,来提供完整的Java EE应用服务器联合体,该联合体包括可以快速供应并且可以按需缩放的大规模并行存储器内网格。根据一种实施例,该系统可以部署成作为提供应用服务器网格、存储区域网络和InfiniBand(IB)网络的完全、半或四分之一机架,或者其它配置。中间件机器软件可以提供应用服务器、中间件和其它功能性,诸如像WebLogic服务器、JRockit或者Hotspot JVM、Oracle Linux或Solaris和Oracle VM。根据一种实施例,该系统可以包括经IB网络彼此通信的多个计算节点、IB交换机网关,及存储节点或单元。当实现为机架配置时,机架未使用的部分可以空着或者被填充物占用。
根据本发明的一种实施例,在此被称为“Sun Oracle Exalogic”或者“Exalogic”,该系统是用于托管中间件或应用服务器软件,诸如Oracle中间件SW套件或Weblogic,的一种易于部署的解决方案。如本文所描述的,根据一种实施例,该系统是“盒子内的网格”,包括一个或多个服务器、存储单元、用于存储联网的一个IB构架,以及托管中间件应用所需的所有其它组件。通过利用例如真正应用集群和Exalogic开放存储充分利用大规模并行网格体系架构,可以为所有类型的中间件应用交付显著的性能。该系统利用线性I/O可缩放性交付提高的性能、使用和管理都很简单,并且交付任务关键的可用性和可靠性。
根据本发明的一种实施例,Tuxedo是启用高性能、分布式商业应用的构造、执行和管理的一组软件模块,并且已经被多种多层应用开发工具用作事务中间件。Tuxedo是可以用于在分布式计算环境中管理分布式事务处理的中间件平台。它是一个经过证明的平台,用于解锁企业传统应用并把它们扩展到面向服务的体系架构,同时交付不受限制的可缩放性与基于标准的互操作性。
根据本发明的一种实施例,事务中间件系统,诸如Tuxedo系统,可以利用具有多个处理器的快速机器,诸如Exalogic中间件机器,以及高性能网络连接,诸如Infiniband(IB)网络。
根据本发明的一种实施例,事务系统可以利用由集群数据库提供的分布式存储和高可用性(HA)能力来支持容易且可行的灾难恢复。
把事务记录持久化到集群数据库中
根据本发明的一种实施例,事务应用服务器可以在事务中间件机器环境中把事务记录,诸如事务日志信息,持久化到集群数据库中,以增强用于事务的高可用性(HA)能力。集群数据库可以把这种事务信息从本地站点复制到远端站点,以便为事务中间件机器环境提供HA能力。
图1示出了根据本发明一种实施例的支持灾难恢复的事务中间件机器环境的图示。如图1中所示,一个或多个事务应用服务器(服务器A103和服务器D106)可以把与事务(事务A121)关联的事务信息持久化到集群数据库中,例如位于本地站点A101的数据库服务器A107。集群数据库111可以把事务日志信息复制到位于远端站点B102的远端数据库服务器B108。
如图1中所示,当灾难攻击本地站点A时,位于远端站点B的事务应用服务器B104可以从远端数据库中检取数据库服务器B中用于事务A122的持久化的事务日志信息并且没有延迟地立即完成该事务。相反,如果用于事务D124的事务日志只写到位于本地站点A的平面文件D111中,则系统可能要花更长的时间执行灾难恢复和完成事务。
根据本发明的一种实施例,当事务系统被激活时,事务系统可以打开一个数据库连接并且把记录写到数据库而不是写到文件。事务系统可以配置为把事务日志信息写到该应用当前在使用的数据库中,以便节约并发数据库连接的个数。
此外,抽象的事务文件操作接口可以用于在文件系统,诸如分布式文件系统112,中存储事务日志信息。分布式文件系统可以把存储在本地站点A的文件A109中的事务日志信息同步到位于远端站点C103的文件C110。类似地,当灾难攻击本地站点A时,位于远端站点C的事务应用服务器C105可以检取文件C中所存储的用于事务A123的事务日志信息并且完成该事务。
在文件系统中存储事务日志信息对于灾难恢复解决方案可能不方便,因为平面文件中的事务日志信息必须利用不可避免的时间窗在恢复站点上同步。此外,对分布式文件系统的支持会是有限的。
根据本发明的一种实施例,通过在集群数据库中持久化事务日志信息,系统可以采用底层数据库系统固有的复制及其它HA方面。系统还可以增强灾难恢复场景的处理,尤其是在诸如跨站点恢复的场景下。而且,对分布式文件系统解决方案的需求也可以缓解。系统还减少了对用户的复杂性,因为,与诸如NFS等的分布式文件系统相比,数据库的配置通常不太复杂和/或已经是必需,例如,对于常见的运行时/应用工作而言。
服务器103-108可以是硬件计算节点。事务应用服务器A103、事务应用服务器D106及数据库服务器A107可以在位于本地站点A101的中间件机器机架中提供。事务应用服务器B104和数据库服务器B108可以在位于远端站点B102的中间件机器机架中提供。事务应用服务器C105可以在位于远端站点C103的中间件机器机架中提供。
图2图示出根据本发明一种实施例的用于在事务中间件机器环境中支持灾难恢复的示例性流程图。如图2中所示,在步骤201,一个或多个事务应用服务器可以把与事务关联的事务日志信息持久化到位于本地站点的、与所述一个或多个事务应用服务器连接的数据库中。然后,在步骤202,该数据库可以把持久化的事务日志信息从位于本地站点的本地数据库服务器复制到位于远端站点的远端数据库服务器。最后,在步骤203,当灾难使本地站点不能工作时,系统允许位于远端站点的不同事务应用服务器从远端数据库服务器恢复持久化的事务日志信息并且完成该事务。
Tuxedo中的事务日志(TLOG)
在Tuxedo的例子中,事务日志(TLOG)包含日志记录,关于事务的信息可以在该日志记录中一直保持到事务完成。Tuxedo可以利用由集群数据库,例如Oracle RAC数据库,提供的分布式存储与HA能力来支持容易且可行的灾难恢复。此外,该数据库可以把TLOG记录复制到分布式站点,以实现甚至更高的可用性。
根据本发明的一种实施例,用户可以为不同的域创建事务日志。用户可以首先创建通用设备列表(UDL),以便在Tuxedo环境中创建TLOG。UDL是事务文件系统,诸如Tuxedo文件系统,的地图。UDL可以在应用引导的时候加载到共享内存中。为了在UDL中创建用于TLOG设备的条目,系统可以利用全局事务在每个机器上创建一个UDL。公告牌联络(BBL)可以在引导过程期间初始化并打开TLOG。然后,用户可以在配置文件中,例如在Tuxedo配置文件的MACHINES部分中,定义相关的事务相关参数,以便配置Tuxedo服务器。
根据本发明的一种实施例,抽象的文件操作接口可以在Tuxedo环境中提供。当该接口被激活时,Tuxedo可以打开一个数据库连接而不是打开一个文件。因而,Tuxedo可以把TLOG写到数据库中而不是写到文件,而且该数据库可以把TLOG记录复制到分布式站点,以获得更高的可用性。
根据本发明的一种实施例,集群数据库可以用于支持事务日志信息的持久化。诸如Oracle RAC数据库的集群数据库允许多台计算机在访问单个数据库的时候同时运行Oracle RDBMS软件。Tuxedo可以利用由集群数据库提供的分布式存储与HA能力。在集群数据库环境下,两台或多台计算机(每台都具有一个实例)可以并发地访问单个数据库。所述系统允许应用或用户连接到其中任何一台计算机并且访问单个协同的数据集。
另一方面,在非集群数据库中,单个实例访问单个数据库。数据库包括位于磁盘上的数据文件、控制文件及重做日志的集合。实例包括在计算机系统上运行的Oracle相关的存储器与操作系统过程的集合。
图3示出根据本发明一种实施例的事务中间件机器环境中的复杂接口的图示。Tuxedo支持持久化TLOG记录的两种方法,一种方法是使用存储在集群数据库中的信息,而另一种方法是使用存储在文件系统中的信息。如图3中所示,为了支持持久化事务日志记录,Tuxedo应用301可以首先访问高级API,诸如TLOG API302。TLOG API为Tuxedo中的不同API提供了一组用于持久化TLOG记录的统一接口。这个高级API又可以选择调用两组低级API中的一组,这两组低级API包括处理ORACLE数据库中TLOG记录的db_tlog API303和处理文件中TLOG记录的file_tlog API304。高级TLOG API可以根据Tuxedo配置,tuxconfig或dmconfig,动态地调用两个低级API之一。这个复杂的接口可以被用来代替抽象的Tuxedo文件操作接口,使得当其被激活时,Tuxedo可以打开数据库连接而不是打开文件,并且把记录写到数据库而不是平面文件。
根据本发明的一种实施例,为了节约并发数据库连接的个数,配置文件中一个专门的项可以用于配置Tuxedo环境中的操作接口,使得TLOG可以写到与Tuxedo应用当前在使用的相同数据库中。而且,如果被配置,则TLOG可以写到与应用在相同连接中所使用的相同数据库,以节约并发数据库连接的个数。例如,Oracle XA提供了一个接口xaoSvcCtx(),这个接口返回用于给定XA连接的数据库服务句柄。接口db_tlog不打开到数据库服务器的新连接。相反,系统使用先前由事务处理监视器(TPM)打开的连接。
根据一些实施例,图4示出了用于在根据如上所述本发明的原理配置的事务中间件机器环境中支持灾难恢复的装置1000的功能性框图。装置1000的功能块可以通过硬件、软件或者硬件与软件的组合来实现,以便执行本发明的原理。本领域技术人员应当理解,图4中所述的功能块可以组合或者分离成子块,以实现如上所述本发明的原理。因此,本文的描述可以支持本文所述功能块的任何可能的组合或分离或进一步定义。
如图4中所示,用于在事务中间件机器环境中支持灾难恢复的装置1000包括:持久化单元1100、复制单元1200和恢复单元1300。持久化单元1100经一个或多个事务应用服务器把与事务关联的事务日志信息持久化到位于本地站点的、与所述一个或多个事务应用服务器连接的数据库中。复制单元1200经该数据库把持久化的事务日志信息从位于本地站点的本地数据库服务器复制到位于远端站点的远端数据库服务器。在灾难使本地站点不能工作时,恢复单元1300允许位于远端站点的不同事务应用服务器从远端数据库服务器恢复持久化的事务日志信息并且完成该事务。
在有些实施例中,装置1000还包括重用单元1400,用于允许所述一个或多个事务应用服务器重用到本地数据库服务器的现有数据库连接。
在有些实施例中,装置1000还包括写单元1500,用于把事务日志信息写到事务日志文件中。
在有些实施例中,装置1000还包括支持单元1600,用于在分布式文件系统中支持事务日志文件。
在有些实施例中,装置1000还包括同步单元1700,用于在恢复站点上同步事务日志文件中的事务日志信息。
在有些实施例中,事务是两阶段事务。
在有些实施例中,成功提交两阶段事务的第一阶段之后,事务日志信息包含事务管理器的持久化状态。
在有些实施例中,事务日志信息基于事务文件系统的地图并且在事务日志记录中维护。
在有些实施例中,装置1000还包括创建单元1800,用于利用全局事务创建事务文件系统的地图并且在事务过程被引导时打开该事务日志记录。
在有些实施例中,事务日志信息包含用于多个事务域的信息。
另一种实施例包括用于在事务中间件机器环境中支持灾难恢复的系统,包括位于本地站点的、与事务关联的一个或多个事务应用服务器;及与所述一个或多个事务应用服务器连接的数据库,其中所述一个或多个事务应用服务器操作成把与该事务关联的事务日志信息持久化到该数据库,而且其中该数据库操作成把持久化的事务日志信息从位于本地站点的本地数据库服务器复制到位于远端站点的远端数据库服务器,而且其中,在灾难使本地站点不能工作时,远端数据库允许位于远端站点的不同事务应用服务器恢复持久化的事务日志信息并且完成该事务。
另一种实施例包括一种系统,其中所述一个或多个事务应用服务器重用到本地数据库服务器的现有数据库连接。
另一种实施例包括一种系统,其中事务日志信息可以写到事务日志文件。
另一种实施例包括一种系统,其中事务日志文件在分布式文件系统中被支持。
另一种实施例包括一种系统,其中事务日志文件中的事务日志信息在恢复站点上被同步。
另一种实施例包括一种系统,其中事务是两阶段事务。
另一种实施例包括一种系统,其中在成功提交两阶段事务的第一阶段之后,事务日志信息包含事务管理器的持久化状态。
另一种实施例包括一种系统,其中事务日志信息基于事务文件系统的地图并且在事务日志记录中维护。
另一种实施例包括一种系统,其中事务文件系统的地图是利用全局事务创建的并且事务日志记录在事务过程被引导时打开。
另一种实施例包括一种系统,其中事务日志信息包含用于多个事务域的信息。
另一种实施例包括用于在事务中间件机器环境中支持灾难恢复的装置,包括用于经一个或多个事务应用服务器把与事务关联的事务日志信息持久化到位于本地站点的、与所述一个或多个事务应用服务器连接的数据库中的装置;用于经该数据库把持久化的事务日志信息从位于本地站点的本地数据库服务器复制到位于远端站点的远端数据库服务器的装置;及用于,在灾难使本地站点不能工作时,允许位于远端站点的不同事务应用服务器恢复持久化的事务日志信息并且完成该事务的装置。
另一种实施例包括一种装置,该装置还包括用于允许所述一个或多个事务应用服务器重用到本地数据库服务器的现有数据库连接的装置。
另一种实施例包括一种装置,该装置还包括用于把事务日志信息写到事务日志文件的装置。
另一种实施例包括一种装置,该装置还包括用于在分布式文件系统中支持事务日志文件的装置。
另一种实施例包括一种装置,该装置还包括用于在恢复站点上同步事务日志文件中的事务日志信息的装置。
另一种实施例包括一种装置,其中事务是两阶段事务。
另一种实施例包括一种装置,其中事务日志信息包含在成功提交两阶段事务的第一阶段之后事务管理器的持久化状态。
另一种实施例包括一种装置,其中事务日志信息基于事务文件系统的地图并且在事务日志记录中维护。
另一种实施例包括一种装置,该装置还包括用于利用全局事务创建事务文件系统的地图的并且在事务过程被引导时打开事务日志记录的装置。
另一种实施例包括一种装置,其中事务日志信息包含用于多个事务域的信息。
本发明可以利用一种或多种传统的通用或专用数字计算机、计算设备、机器或微处理器方便地实现,包括一个或多个处理器、根据本公开内容教义编程的存储器和/或计算机可读存储介质。如对软件领域的技术人员来说将很显然的,适当的软件编码可以很容易地被熟练的程序员基于本公开内容的教义来准备。
在有些实施例中,本发明包括计算机程序产品,这是其上/其中存储了可以用于编程计算机以便执行本发明任何过程的指令的存储介质或计算机可读介质。存储介质可以包括,但不限于,任何类型的盘,包括软盘、光盘、DVD、CD-ROM、微型硬盘及磁光盘,ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪存存储器设备、磁卡或光卡、纳米系统(包括分子存储器IC),或者适于存储指令和/或数据的任何类型的介质或设备。
本发明以上描述的提供是为了说明和描述。它不是穷尽的或者要把本发明限定到所公开的精确形式。许多修改和变化将对本领域技术人员显而易见。实施例的选择与描述是为了最好地解释本发明的原理及其实践应用,由此使本领域其他技术人员能够理解本发明具有适于预期特定用途的各种修改的各种实施例。本发明的范围要由以下权利要求及其等同物来限定。
Claims (27)
1.一种用于在事务中间件机器环境中支持灾难恢复的方法,包括:
提供能够被多个应用服务器访问的集群数据库,其中,所述集群数据库跨分布式的多个数据库服务器提供协同的数据集,其中,所述集群数据库操作为跨所述多个数据库服务器复制所述数据集;
提供从每个应用服务器到所述集群数据库的连接,借助所述连接,在所述应用服务器上操作的应用能够
经由所述连接从所述数据集读取数据以用于开始事务,
处理所述数据,以及
经由所述连接将处理后的数据写入所述数据集以用于完成事务;
通过为所述多个应用服务器的每个应用服务器定义包含在该应用服务器上正在处理的事务的多个日志记录的事务日志来定义多个不同的事务日志;
经由从每个应用服务器到所述集群数据库的所述连接将所述多个不同的事务日志持久化到所述集群数据库;
通过使用所述集群数据库来生成多个复制的不同的事务日志而跨所述多个数据库服务器复制所述多个不同的事务日志的每一个不同的事务日志,其中所述多个不同的事务日志中的每一个不同的事务日志与存储在远离相关联的该不同的事务日志的站点上的至少一个复制的不同事务日志相关联;以及
在灾难使具有所述多个不同的事务日志中的第一事务日志的第一应用服务器不能工作时,其中第一事务日志与存储在远离第一事务日志的站点处的所述多个复制的不同的事务日志中的第一复制的事务日志相关联,允许远离第一应用服务器的站点处的第二应用服务器从所述多个数据库服务器之一恢复所述多个复制的不同的事务日志中的第一复制的事务日志并且完成第一复制的事务日志中所识别的事务。
2.如权利要求1所述的方法,还包括在通用设备列表中定义所述多个不同的事务日志,通用设备列表包括事务文件系统的地图。
3.如权利要求1所述的方法,还包括在通用设备列表中定义所述多个不同的事务日志,其中,通用设备列表包括事务文件系统的地图,通用设备列表在应用引导时被加载到共享内存中。
4.如权利要求1所述的方法,还包括提供应用编程接口(API)以用于将每个应用服务器的事务日志经由从每个应用服务器到所述集群数据库的所述连接持久化到所述集群数据库。
5.如权利要求1所述的方法,还包括提供应用编程接口(API)以用于将每个应用服务器的事务日志经由从每个应用服务器到所述集群数据库的连接持久化到所述集群数据库以及提供调用所述应用编程接口的配置文件。
6.如权利要求1所述的方法,其中,经由所述连接持久化所述事务日志避免为了持久化所述事务日志而创建额外的并发的数据库连接。
7.如权利要求1所述的方法,其中,每个事务是两阶段事务。
8.如权利要求7所述的方法,还包括允许在成功提交两阶段事务的第一阶段之后事务日志信息包含事务管理器的持久化状态。
9.如权利要求1所述的方法,其中还包括提供建立所述连接的事务处理监视器(TPM)。
10.一种用于在事务中间件机器环境中支持灾难恢复的系统,包括:
能够被多个应用服务器访问的集群数据库,其中,所述集群数据库跨分布式的多个数据库服务器提供协同的数据集,其中,所述集群数据库操作为跨所述多个数据库服务器复制所述数据集;
从每个应用服务器到所述集群数据库的连接,借助所述连接,在所述应用服务器上操作的应用能够
经由所述连接从所述数据集读取数据以用于开始事务,
处理所述数据,以及
经由所述连接将处理后的数据写入所述数据集以用于完成事务;
多个不同的事务日志,为每个具体的应用服务器包括单独的事务日志,该单独的事务日志包含在该具体的应用服务器上正在处理的事务的多个日志记录;
其中,每个具体的应用服务器经由从该具体的应用服务器到所述集群数据库的所述连接将与该具体的应用服务器相关联的单独的事务日志持久化到所述集群数据库;
其中,所述集群数据库还操作为通过使用所述集群数据库来生成多个复制的不同的事务日志而跨所述多个数据库服务器复制所述多个不同的事务日志的每一个不同的事务日志,其中所述多个不同的事务日志中的每一个不同的事务日志与存储在远离相关联的该不同的事务日志的站点上的至少一个复制的不同事务日志相关联;以及
其中,在灾难使具有第一单独的事务日志并且与存储在远离第一单独的事务日志的站点处的第一单独的复制的事务日志相关联的第一具体的应用服务器不能工作时,远离第一具体的应用服务器的站点处的第二应用服务器被配置为从所述多个数据库服务器之一恢复第一单独的复制的事务日志并且完成第一单独的复制的事务日志中所识别的事务。
11.如权利要求10所述的系统,其中,在通用设备列表中定义每个具体的应用服务器的单独的事务日志,通用设备列表包括事务文件系统的地图。
12.如权利要求10所述的系统,其中,在通用设备列表中定义每个具体的应用服务器的单独的事务日志,通用设备列表包括事务文件系统的地图,并且其中通用设备列表在应用引导时被加载到共享内存中。
13.如权利要求10所述的系统,还包括:
应用编程接口(API),用于将每个具体的应用服务器的单独的事务日志经由从每个具体的应用服务器到所述集群数据库的所述连接持久化到所述集群数据库。
14.如权利要求10所述的系统,还包括:
应用编程接口(API),用于将每个具体的应用服务器的单独的事务日志经由从每个具体的应用服务器到所述集群数据库的所述连接持久化到所述集群数据库;以及
配置文件,其调用所述应用编程接口。
15.如权利要求10所述的系统,其中,经由所述连接持久化所述事务日志避免为了持久化所述事务日志而创建额外的并发的数据库连接。
16.如权利要求10所述的系统,其中,每个事务是两阶段事务。
17.如权利要求16所述的系统,在成功提交两阶段事务的第一阶段之后,每个具体的应用服务器的单独的事务日志包含事务管理器的持久化状态。
18.如权利要求10所述的系统,还包括:提供建立所述连接的事务处理监视器(TPM)。
19.一种用于在事务中间件机器环境中支持灾难恢复的设备,包括:
用于提供能够被多个应用服务器访问的集群数据库的装置,其中,所述集群数据库跨分布式的多个数据库服务器提供协同的数据集,其中,所述集群数据库操作为跨所述多个数据库服务器复制所述数据集;
用于提供从每个应用服务器到所述集群数据库的连接的装置,借助所述连接,在所述应用服务器上操作的应用能够
经由所述连接从所述数据集读取数据以用于开始事务,
处理所述数据,以及
经由所述连接将处理后的数据写入所述数据集以用于完成事务;
用于通过为所述多个应用服务器的每个应用服务器定义包含在该应用服务器上正在处理的事务的多个日志记录的事务日志来定义多个不同的事务日志的装置;
用于经由从每个应用服务器到所述集群数据库的所述连接将所述多个不同的事务日志持久化到所述集群数据库的装置;
用于通过使用所述集群数据库来生成多个复制的不同的事务日志而跨所述多个数据库服务器复制所述多个不同的事务日志的每一个不同的事务日志的装置,其中所述多个不同的事务日志中的每一个不同的事务日志与存储在远离相关联的该不同的事务日志的站点上的至少一个复制的不同事务日志相关联;以及
用于在灾难使具有所述多个不同的事务日志中的第一事务日志的第一应用服务器不能工作时,其中第一事务日志与存储在远离第一事务日志的站点处的所述多个复制的不同的事务日志中的第一复制的事务日志相关联,允许远离第一应用服务器的站点处的第二应用服务器从所述多个数据库服务器之一恢复所述多个复制的不同的事务日志中的第一复制的事务日志并且完成第一复制的事务日志中所识别的事务的装置。
20.如权利要求19所述的设备,还包括用于在通用设备列表中定义所述多个不同的事务日志的装置,通用设备列表包括事务文件系统的地图。
21.如权利要求19所述的设备,还包括用于在通用设备列表中定义所述多个不同的事务日志的装置,其中,通用设备列表包括事务文件系统的地图,通用设备列表在应用引导时被加载到共享内存中。
22.如权利要求19所述的设备,还包括用于提供应用编程接口(API)以用于将每个应用服务器的事务日志经由从每个应用服务器到所述集群数据库的所述连接持久化到所述集群数据库的装置。
23.如权利要求19所述的设备,还包括用于提供应用编程接口(API)以用于将每个应用服务器的事务日志经由从每个应用服务器到所述集群数据库的连接持久化到所述集群数据库的装置以及用于提供调用所述应用编程接口的配置文件的装置。
24.如权利要求19所述的设备,其中,经由所述连接持久化所述事务日志避免为了持久化所述事务日志而创建额外的并发的数据库连接。
25.如权利要求19所述的设备,其中,每个事务是两阶段事务。
26.如权利要求25所述的设备,其中,还包括用于允许在成功提交两阶段事务的第一阶段之后事务日志信息包含事务管理器的持久化状态的装置。
27.如权利要求19所述的设备,还包括用于提供建立所述连接的事务处理监视器(TPM)的装置。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161541052P | 2011-09-29 | 2011-09-29 | |
US61/541,052 | 2011-09-29 | ||
US13/414,607 US9110851B2 (en) | 2011-09-29 | 2012-03-07 | System and method for persisting transaction records in a transactional middleware machine environment |
US13/414,607 | 2012-03-07 | ||
PCT/US2012/056941 WO2013048969A1 (en) | 2011-09-29 | 2012-09-24 | System and method for persisting transaction records in a transactional middleware machine environment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103827832A CN103827832A (zh) | 2014-05-28 |
CN103827832B true CN103827832B (zh) | 2017-01-18 |
Family
ID=47993823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280047493.3A Active CN103827832B (zh) | 2011-09-29 | 2012-09-24 | 用于在事务中间件机器环境中持久化事务记录的系统与方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9110851B2 (zh) |
JP (1) | JP6195834B2 (zh) |
KR (1) | KR102016095B1 (zh) |
CN (1) | CN103827832B (zh) |
WO (1) | WO2013048969A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130263117A1 (en) * | 2012-03-28 | 2013-10-03 | International Business Machines Corporation | Allocating resources to virtual machines via a weighted cost ratio |
US20130332413A1 (en) * | 2012-06-07 | 2013-12-12 | International Business Machines Corporation | Reducing data transfers while eliminating data loss for asynchronous replication of databases |
US9881044B2 (en) | 2013-12-31 | 2018-01-30 | Reduxio Systems Ltd. | Techniques for ensuring consistency of data updates transactions in a distributed storage system |
US9723110B2 (en) * | 2014-04-28 | 2017-08-01 | Oracle International Corporation | System and method for supporting a proxy model for across-domain messaging in a transactional middleware machine environment |
CN105515836A (zh) * | 2015-11-27 | 2016-04-20 | 小米科技有限责任公司 | 日志处理方法、装置及服务器 |
US10372701B2 (en) | 2016-02-01 | 2019-08-06 | International Business Machines Corporation | Transaction processor |
US9996432B2 (en) | 2016-02-03 | 2018-06-12 | International Business Machines Corporation | Automated local database connection affinity and failover |
US10255138B2 (en) | 2016-08-17 | 2019-04-09 | Bank Of America Corporation | Disaster recovery tool |
CN107797849B (zh) * | 2016-08-30 | 2021-06-08 | 阿里巴巴集团控股有限公司 | 分布式事务处理的方法、装置与系统 |
CN110162428A (zh) * | 2019-05-17 | 2019-08-23 | 中国铁道科学研究院集团有限公司 | 数据同步方法及装置、电子设备和计算机可读存储介质 |
KR102428587B1 (ko) * | 2022-04-13 | 2022-08-03 | 주식회사 비투엔 | 마이크로 서비스 아키텍처 기반의 트랜잭션 가용성과 성능 보장 처리 장치 및 방법 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6640244B1 (en) * | 1999-08-31 | 2003-10-28 | Accenture Llp | Request batcher in a transaction services patterns environment |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR950011056B1 (ko) * | 1992-12-22 | 1995-09-27 | 재단법인한국전자통신연구소 | 트랜잭션 처리시스템의 로그/회복관리방법 |
JPH08235098A (ja) * | 1995-02-22 | 1996-09-13 | Mitsubishi Electric Corp | 分散アプリケーション通信方式 |
KR970029150A (ko) * | 1995-11-03 | 1997-06-26 | 양승택 | 분산 트랜잭션 처리 정보 저장방법 |
US6321234B1 (en) * | 1996-09-18 | 2001-11-20 | Sybase, Inc. | Database server system with improved methods for logging transactions |
CA2453082A1 (en) * | 2001-07-06 | 2003-01-16 | Computer Associates Think, Inc. | Systems and methods of information backup |
WO2003044697A1 (en) * | 2001-11-16 | 2003-05-30 | Paralleldb, Incorporated | Data replication system and method |
US7076508B2 (en) | 2002-08-12 | 2006-07-11 | International Business Machines Corporation | Method, system, and program for merging log entries from multiple recovery log files |
US7228455B2 (en) * | 2003-05-09 | 2007-06-05 | Oracle International Corporation | Transaction branch management to ensure maximum branch completion in the face of failure |
JP4291060B2 (ja) * | 2003-07-01 | 2009-07-08 | 富士通株式会社 | トランザクション処理方法,トランザクション制御装置およびトランザクション制御プログラム |
US7730489B1 (en) * | 2003-12-10 | 2010-06-01 | Oracle America, Inc. | Horizontally scalable and reliable distributed transaction management in a clustered application server environment |
US7725432B2 (en) | 2004-05-21 | 2010-05-25 | Bea Systems, Inc. | Logging last resource system |
JP4676825B2 (ja) * | 2005-06-29 | 2011-04-27 | 株式会社日立製作所 | プログラム制御方法、計算機および計算機制御プログラム |
CA2655545A1 (en) | 2006-06-19 | 2007-12-27 | Liquid Computing Corporation | Secure handle for intra-and inter-processor communications |
US7805632B1 (en) * | 2007-09-24 | 2010-09-28 | Net App, Inc. | Storage system and method for rapidly recovering from a system failure |
US7805551B2 (en) | 2007-09-27 | 2010-09-28 | Integrated Device Technology, Inc. | Multi-function queue to support data offload, protocol translation and pass-through FIFO |
US8312190B2 (en) | 2008-03-06 | 2012-11-13 | Integrated Device Technology, Inc. | Protocol translation in a serial buffer |
JP2009258791A (ja) * | 2008-04-11 | 2009-11-05 | Pfu Ltd | セルフサービス端末装置およびガイダンス画面制御方法 |
US8275815B2 (en) * | 2008-08-25 | 2012-09-25 | International Business Machines Corporation | Transactional processing for clustered file systems |
US8166481B2 (en) * | 2008-10-20 | 2012-04-24 | Microsoft Corporation | Transaction processing in transactional memory |
JP2010282373A (ja) * | 2009-06-03 | 2010-12-16 | Hitachi Ltd | 災害対策システムおよび災害対策方法 |
CN101808127B (zh) * | 2010-03-15 | 2013-03-20 | 成都市华为赛门铁克科技有限公司 | 数据备份方法、系统和服务器 |
US8560887B2 (en) * | 2010-12-09 | 2013-10-15 | International Business Machines Corporation | Adding scalability and fault tolerance to generic finite state machine frameworks for use in automated incident management of cloud computing infrastructures |
US8732518B2 (en) * | 2011-04-13 | 2014-05-20 | Netapp, Inc. | Reliability based data allocation and recovery in a storage system |
-
2012
- 2012-03-07 US US13/414,607 patent/US9110851B2/en active Active
- 2012-09-24 CN CN201280047493.3A patent/CN103827832B/zh active Active
- 2012-09-24 WO PCT/US2012/056941 patent/WO2013048969A1/en active Application Filing
- 2012-09-24 KR KR1020147005782A patent/KR102016095B1/ko active IP Right Grant
- 2012-09-24 JP JP2014533631A patent/JP6195834B2/ja active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6640244B1 (en) * | 1999-08-31 | 2003-10-28 | Accenture Llp | Request batcher in a transaction services patterns environment |
Also Published As
Publication number | Publication date |
---|---|
JP6195834B2 (ja) | 2017-09-13 |
US9110851B2 (en) | 2015-08-18 |
KR102016095B1 (ko) | 2019-10-21 |
KR20140068046A (ko) | 2014-06-05 |
US20130086419A1 (en) | 2013-04-04 |
CN103827832A (zh) | 2014-05-28 |
JP2014528610A (ja) | 2014-10-27 |
WO2013048969A1 (en) | 2013-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103827832B (zh) | 用于在事务中间件机器环境中持久化事务记录的系统与方法 | |
CN102103518B (zh) | 一种在虚拟化环境中管理资源的系统及其实现方法 | |
Sovran et al. | Transactional storage for geo-replicated systems | |
US9946578B2 (en) | Managing the persistent data of a pre-installed application in an elastic virtual machine instance | |
CN104216793B (zh) | 应用程序备份、恢复的方法及设备 | |
US9286368B2 (en) | Linking framework for information technology management | |
CN103064927B (zh) | 分布式文件系统的数据访问方法和装置 | |
US9749445B2 (en) | System and method for updating service information for across-domain messaging in a transactional middleware machine environment | |
CN107077388A (zh) | 用于在多租户应用服务器环境中提供端到端生命周期的系统和方法 | |
CN109313564A (zh) | 用于支持多个不同租户的高度可用虚拟桌面的服务器计算机管理系统 | |
CN106170777A (zh) | 降低基于块的存储的数据卷耐久性状态 | |
JP2011530127A (ja) | データセンタにわたる複数データサーバ間のデータ完全性を保持する方法およびシステム | |
CN106255956A (zh) | 基于事务环境中的资源管理器实例感知支持公共事务标识符优化和事务亲密度的系统和方法 | |
CN101821993A (zh) | 对使用会话亲缘性的分布式环境中的故障恢复进行处理的方法和系统 | |
CN106993064A (zh) | 一种基于Openstack云平台实现海量数据可伸缩性存储的系统及其构建方法与应用 | |
US20120303692A1 (en) | Federation of master data management systems | |
CN105635311A (zh) | 一种云管理平台中资源池信息同步的方法 | |
CN101454777A (zh) | 保证不同软件应用程序采集的数据随时间的一致性的方法和系统 | |
US20220311757A1 (en) | Cross-regional replication of keys | |
CN112104504B (zh) | 一种大规模资源访问的事务管理框架、设计方法及云平台 | |
CN107710155A (zh) | 用于并行地引导应用服务器的系统和方法 | |
Smid et al. | Case study on data communication in microservice architecture | |
CN106027623A (zh) | 分布式集群状态管理的方法及其系统 | |
CN108762982A (zh) | 一种数据库恢复方法、装置及系统 | |
CN112199426B (zh) | 微服务架构下的接口调用管理方法、装置、服务器及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |