在事务中间件机器环境中支持准确负载平衡的系统及方法
【专利摘要】一种系统和方法,在具有多个事务中间件机器的事务中间件机器环境中支持准确负载平衡。服务响应时间表可以在事务中间件机器环境中的每个事务中间件机器上维护,所述服务响应时间表适于被事务中间件机器上的客户使用以对服务请求作出路由决定。事务中间件机器环境还可以包括多个同步服务器,每个同步服务器与事务中间件机器环境中的事务中间件机器关联。多个同步服务器进行操作以周期性地同步事务中间件机器环境中的每个所述事务中间件机器上的服务响应时间表。
【专利说明】在事务中间件机器环境中支持准确负载平衡的系统及方法
[0001]版权声明
[0002]本专利文档公开内容的一部分包含受版权保护的素材。版权拥有者不反对任何人对专利文档或专利公开内容按照在专利商标局的专利文件或记录中出现那样进行的传真复制,但是除此之外在任何情况下都保留所有版权。
【技术领域】
[0003]本发明总体上涉及诸如中间件的计算机系统和软件,而且更具体地说涉及支持事务中间件机器环境。
【背景技术】
[0004]事务中间件(transactional middleware)系统(或者说面向事务的中间件)包括可以处理机构中的各种事务的企业应用服务器。随着诸如高性能网络和多处理器计算机的新技术的发展,需要进一步改善事务中间件的性能。这些是本发明实施例旨在解决的一般性领域。
【发明内容】
[0005]本文所描述的是在具有多个事务中间件机器的事务中间件机器环境中支持准确负载平衡的系统及方法。服务响应时间表可以在事务中间件机器环境中的每个事务中间件机器上维护,其中所述服务响应时间表适于被事务中间件机器上的客户端使用以对服务请求作出路由决定。事务中间件机器环境还可以包括多个同步服务器,其中每个所述同步服务器都与事务中间件机器环境中的事务中间件机器关联。多个同步服务器进行操作以周期性地同步事务中间件机器环境中的每个所述事务中间件机器上的服务响应时间表。
【专利附图】
【附图说明】
[0006]图1示出了根据本发明一种实施例的支持准确负载平衡的事务中间件机器环境的说明。
[0007]图2说明了根据本发明一种实施例的用于在事务中间件机器环境中支持准确负载平衡的示例性流程图。
[0008]图3示出了根据本发明一种实施例的支持准确负载平衡的事务中间件机器环境的说明。
【具体实施方式】
[0009]本文所描述的是用于支持事务中间件系统的系统及方法,其中该系统及方法可以利用具有多个处理器的快速机器以及高性能网络连接。动态请求代理(dynamic requestbroker)可以基于动态负载而不是静态负载来为多机器环境中的事务服务执行准确负载平衡。事务中间件机器环境可以包括多个事务中间件机器,其中每个所述事务中间件机器都维护服务响应时间表,该服务响应时间表适于被事务中间件机器上的客户端使用以对服务请求作出路由决定。事务中间件机器环境还可以包括多个同步服务器,其中每个所述同步服务器都与事务中间件机器环境中的一个所述事务中间件机器关联。多个同步服务器进行操作以周期性地同步多个事务中间件机器上的服务响应时间表。
[0010]根据本发明的一种实施例,系统包括例如64位处理器技术、高性能大型存储器、以及冗余无限带宽(InfiniBand)和以太网联网连同应用服务器或中间件环境(诸如WebLogic套件)的高性能硬件的组合,来提供完整的Java EE应用服务器联合体,该联合体包括可以快速提供并且可以按需伸缩的大规模并行存储器内网格。根据一种实施例,该系统可以被部署为提供应用服务器网格、存储区域网络和无限带宽(IB)网络的完整的、一半的或四分之一的机架,或者其它配置。中间件机器软件可以提供应用服务器、中间件和其它功能性,诸如像 WebLogic 服务器、JRockit 或者 Hotspot JVM>OracIe Linux 或 Solaris 和Oracle VM0根据一种实施例,该系统可以包括经由IB网络彼此通信的多个计算节点、IB交换机网关,及存储节点或单元。当被实现为机架配置时,机架未使用的部分可以空着,或者被填充物占用。
[0011]根据本发明的一种实施例,在本文中被称为“Sun Oracle Exalogic”或者“Exalogic”的系统被用于托管中间件或应用服务器软件(诸如Oracle中间件SW套件或Weblogic)的易于部署的解决方案。如本文所描述的,根据一种实施例,该系统是“盒子内的网格”,包括一个或多个服务器、存储单元、用于存储联网的IB构架,以及托管中间件应用所需的所有其它组件。通过使用例如真正应用集群和Exalogic开放存储来充分利用大规模并行网格体系架构,可以为所有类型的中间件应用实现显著的性能。该系统利用线性I/O可伸缩性交付改进的性能,其使用和管理都很简单,并且实现了关键任务的可用性和可靠性。
[0012]根据本发明的一种实施例,Tuxedo是启用高性能、分布式商业应用的构造、执行和管理的软件模块组,并且已经被许多多层应用开发工具用作事务中间件。Tuxedo是可以用于在分布式计算环境中管理分布式事务处理的中间件平台。在实现不受限制的可伸缩性与基于标准的互操作性的同时,它是用于解锁企业遗留应用并把它们扩展到面向服务的体系架构的成熟平台。
[0013]根据本发明的一种实施例,诸如Tuxedo系统的事务中间件系统可以利用具有多个处理器的快速机器(诸如Exalogic中间件机器)、以及高性能网络连接(诸如无限带宽(IB)网络)。
[0014]多机器环境中的准确负载平衡
[0015]根据本发明的一种实施例,诸如Exalogic中间件机器环境的多机器中间件服务器环境允许密集的跨机器调用。为了多机器环境中的更准确的负载平衡,机器之间的负载信息可以被同步。为了诸如Tuxedo服务的事务服务可以引入动态负载。负载平衡可以基于动态负载而不是静态负载来执行。
[0016]图1示出了根据本发明一种实施例的支持准确负载平衡的事务中间件机器环境的说明。如图1所示,事务中间件机器环境包括多个事务中间件机器,例如,机器AlOl和机器B102。每个事务中间件机器都可以维护服务响应时间表,该服务响应时间表包含用于每个机器的服务响应时间信息。例如,机器A包括服务响应时间表,即服务响应时间表A103,机器B包括服务响应时间表,即服务响应时间表B104。例如,服务响应时间表A103可以存储在机器A的存储装置或存储器中,而服务响应时间表B104可以存储在机器B的存储装置或存储器中。
[0017]此外,每个事务中间件机器都可以包括负责与事务中间件机器环境中的其它事务中间件机器同步负载信息的同步服务器。在如图1所示的例子中,机器A包括同步服务器,即同步服务器A105,而机器B包括同步服务器,即同步服务器B106。同步服务器A和同步服务器B可以彼此直接通信,以便同步机器A和机器B这两者上的负载信息。同步服务器A105和同步服务器B106可以是硬件计算节点。同步服务器A105可以在机器A的机架中提供,而同步服务器B106可以在机器B的机架中提供。
[0018]而且,如图1所示,事务中间件机器环境支持多个事务域,例如,域Al 11和域B112。域A包括两个事务应用服务器:机器A上的服务器A109和机器B上的服务器B110。服务器A提供两个事务服务:服务1121和服务11123,而服务器B也提供两个事务服务:服务1122和服务111124。域B包括一个事务应用服务器,即服务器C120,该服务器C120只提供一个事务服务,即服务ΠΙ126。服务器C120可以是硬件计算节点。服务器C120可以在服务器B的机架中提供。
[0019]根据本发明的一种实施例,事务中间件机器上的客户端可以使用该事务中间件机器上的服务响应时间表来对请求由事务平台提供的服务作出路由决定。客户端可以使用服务响应时间表来决定哪个事务服务器提供具有最短服务响应时间的事务服务。
[0020]例如,当客户端A107想在域A中定位服务I时,客户端A可以查找机器A上的服务响应时间表A103,以确定哪个服务器来发送服务请求消息。然后,客户端A可以基于存储在服务响应时间表A103中的服务器A和服务器B的当前服务响应时间,从服务器A和服务器B中选择更快的服务器。
[0021]根据本发明的一种实施例,每次当事务应用服务器执行了服务,包含该事务应用服务器的事务中间件机器可以更新该机器上的服务响应时间表。利用同步服务器,机器可以周期性地同步该服务响应时间表与其它机器上的其它服务响应时间表,以便为各个服务器更新服务响应信息。在上面的例子中,当机器AlOl上的服务器A109完成为客户端A107提供服务1121之后,机器AlOl上的同步服务器A105可以相应地更新服务响应时间表A103。
[0022]根据本发明的一种实施例,不经由同步服务器同步服务响应信息,而是事务应用服务器把服务响应时间嵌入在返回给客户端的服务响应消息中。这种场景下,客户端可以独立于同步服务器而更新服务响应时间表。
[0023]在如图1所示的例子中,当服务器A109被选择以提供服务1121时,服务器A109可以把服务响应信息嵌入在发回给客户端A107的服务响应消息中,客户端A107进而可以更新服务响应时间表A103。类似地,当服务器BllO被选择以提供服务1122时,服务器BllO可以把服务响应信息嵌入在发回给客户端A107的服务响应消息中,客户端A107进而可以直接更新服务响应时间表A103,而不需要等待机器A和机器B之间的同步。
[0024]图2说明了根据本发明一种实施例的用于在事务中间件机器环境中支持准确负载平衡的示例性流程图。如图2所示,在步骤201,系统可以在事务中间件机器环境中的每个事务中间件机器上维护服务响应时间表。每个所述服务响应时间表都适于被事务中间件机器上的客户端使用以对服务请求作出路由决定。然后,在步骤202,事务中间件机器环境包括多个同步服务器。每个所述同步服务器都与事务中间件机器环境中的一个事务中间件机器关联。最后,在203,多个同步服务器可以周期性地同步事务中间件机器环境中的每个所述事务中间件机器上的服务响应时间表。
[0025]基于动态负载的负载平衡
[0026]根据本发明的一种实施例,动态请求代理可以在事务中间件机器环境中被支持,以便为事务中间件机器平台(诸如Tuxedo)提供动态且精确的负载平衡。
[0027]负载平衡算法可以设计成执行快速设置计算(quick set of calculations),快速设置计算可以在通常需要短响应时间和高吞吐量的事务服务器(诸如联机事务处理(OLTP)应用中的服务器)当中提供良好的工作量分布。通过提高系统效率的更多跨机器调用,该系统允许用户从多机器配置获得更多益处,例如Exalogic中间件机器环境中。
[0028]根据本发明的一种实施例,基于动态负载的动态负载平衡算法可以被提供用于事务服务。为了多机器环境中的更准确的负载平衡,动态负载信息可以在机器之间同步。
[0029]从客户端的角度,负载平衡的目的是使对每个请求调用的响应时间最小化。负载平衡决定可以基于服务响应时间动态地作出。换句话说,系统可以以每个服务请求为基础持续地测量响应时间并且可以保持这种信息以用于后续的服务请求路由决定。
[0030]根据本发明的一种实施例,客户端可以为用于处理每个服务请求的每个候选服务器估计响应时间。所估计的响应时间可以利用以下公式来计算:
[0031]估计的响应时间=网络时间+队列等待时间+服务执行时间
[0032]如以上公式所示出的,用于处理单个Tuxedo服务请求的响应时间可以至少包括:网络时间、队列等待时间和服务执行时间。网络时间测量把请求调用从发端服务器机器传送到服务器机器以及把对应的应答传回该发端服务器机器所需的时间。队列等待时间测量请求调用在获得服务之前在服务器队列中等待的时间。服务执行时间测量服务器给请求提供服务所需的时间。
[0033]此外,在以上的公式中,网络时间和服务执行时间都可以是在规定时间段上的平均时间。在队列等待时间的情况下,它可以是在既定时段上的平均队列等待时间,或者是最近的队列等待时间。特定服务器的最近的队列等待时间可以在该服务器所处的机器上持续维护。由于队列等待时间会依赖工作量而显著变化,因此利用最近的队列等待时间所估计的响应时间会比利用平均队列等待时间估计的响应时间更精确。
[0034]在Tuxedo的例子中,每个Tuxedo机器上的专用同步服务器可以负责数据收集与同步。平均服务执行时间可以由同步服务器收集,以使得它可以在同伴之间被同步。类似的方法可以用于同步队列等待时间,因为最近的数据可能只在服务器所处的节点处保持。另选地,数据同步可以通过在返回到请求服务的客户端的服务应答消息上捎带的负载信息来实现。
[0035]此外,每个Tuxedo机器上的同步服务器也可以负责收集网络时间。同步服务器可以周期性地向其它Tuxedo机器发送特殊请求,以测量Tuxedo机器之间的网络时间。
[0036]基于静态负载的负载平衡
[0037]根据本发明的一种实施例,事务中间件机器环境中的负载平衡算法可以依赖于为每个服务定义的静态负载。这种静态负载平衡算法可以与动态负载平衡算法一起在事务中间件机器环境中使用。例如,静态负载可以在动态负载不可用的时候使用。
[0038]与动态负载平衡方法相比,静态负载平衡算法是带有折衷的更简单方法。例如,静态负载可能不反映运行时的确切实际负载,而且静态负载平衡算法可能在多机器模式中是不准确的。
[0039]在Tuxedo的例子中,静态负载平衡算法实现可以使用被称为Server Wkqueued的参数,从候选服务器组中选择目标服务器。Server Wkqueued是指示请求队列的当前工作量的参数。基于对所有候选服务器的Server Wkqueued的值的比较,服务请求的路由选择可以在客户端侧发生。
[0040]此外,多机器模式中,可以是常量值的另一个参数NETL0AD可以加到ServerWkqueued值以用于比较。NETL0AD参数可以指定当计算把服务请求从一个机器发送到另一个机器的成本时要添加的附加负载。NETL0AD可以是在Tuxedo配置文件中指定的静态值。
[0041]根据本发明的一种实施例,根据不同的应用模型,可以使用两种不同的策略来计算 Server WkqueuecL
[0042]利用周期性累计更新(Periodic Accumulative Updating)方法,当服务请求被添加到服务器的请求队列时,系统可以使Server Wkqueued的值增加服务的LOAD值。当请求被服务器完成时,Server Wkqueued的值不减少。Wkqueued值可以在管理检查时期内线性增加,并且可以在管理检查(诸如Tuxedo中服务器的理智扫描(sanity scan))时复位。这种方法的一个例子是利用循环(Round-Robin) (RR)算法更新Server Wkqueued的值,该算法可在多机器模式下使用。
[0043]利用实时更新(Real-Time Updating)方法,当服务请求被添加到服务器的请求队列时,系统可以使Server Wkqueued的值增加服务的LOAD值。一旦服务器完成请求,则使Server Wkqueued的值减去服务的LOAD值。这种更新方法在实时模式下维持Serverffkqueued,并且可以比第一种方法更准确地反映当前排队的工作。这种方法的一个例子是利用实时(RT)算法更新Server ffkqueued的值,该算法可在单机器模式下使用。
[0044]服务的LOAD值可以是在Tuxedo配置文件中指定的静态值,例如用于LOAD的缺省值可以设置为70。此外,服务的LOAD值可以被指定为与服务实例相关联的相对负载因子。
[0045]根据本发明的一种实施例,因为静态负载平衡算法简化了动态请求代理,所以可能有与这种静态负载平衡算法相关联的折衷。
[0046]首先,动态请求代理中的服务执行时间被减小到静态负载平衡算法中恒定的服务LOAD。由于对用于计算资源的服务的需求会在其活动的寿命内变化,因此静态的常量值可能不反映服务的实时工作量水平。此外,由于服务LOAD值可以由Tuxedo管理员在配置文件中分配,因此高度依赖管理员的经验来为服务选择适用的LOAD值。
[0047]其次,动态请求代理中的平均网络时间被减小到静态负载平衡算法中的恒定的NETL0AD。NETL0AD参数不考虑到不同目标节点的网络成本会根据网络拓扑而变化这一事实。而且网络成本可能对负载敏感,因此不是恒定的。
[0048]第三,在多机器模式下,Round-Robin算法可能不能获得实时的服务器负载水平,而仅仅是获得服务器负载水平的统计值。此外,由于在节点之间不存在同步机制,因此客户端可能不能获得位于远端节点的候选服务器的真实且当前的描述。因而,本地节点中的远端队列工作量值可能不够准确。[0049]图3示出了根据本发明一种实施例的支持准确负载平衡的事务中间件机器环境的说明。图3与图1相同的部件用相同的附图标记表示并且省略对其的具体描述。
[0050]与图1类似,事务中间件机器环境包括多个事务中间件机器,例如,机器AlOl和机器B102。每个事务中间件机器可以维护包含用于每个机器的服务响应时间信息的服务响应时间表。例如,机器A包括服务响应时间表,即服务响应时间表A103,而机器B包括服务响应时间表,即服务响应时间表B104。具体而言,机器A中的服务响应时间表维护单元1103维护或存储服务响应时间表A103,而机器B中的服务响应时间表维护单元1104维护或存储服务响应时间表B104。如本领域技术人员可以很容易理解的,服务响应时间表维护单元可以是数据库、储存器、服务器或者用于维护服务响应时间表的任何其它部件。
[0051]根据一种实施例,提供了在事务中间件机器环境中的事务中间件机器,其包括:月艮务响应时间表,其在所述事务中间件机器上维护并且适于被该事务中间件机器上的客户端使用以对服务请求作出路由决定;同步服务器,进行操作以周期性地同步事务中间件机器环境中的所述事务中间件机器上的服务响应时间表与事务中间件机器环境中的其它事务中间件机器上的其它服务响应时间表。
[0052]根据一种实施例,事务中间件机器还包括驻留在所述事务中间件机器上的事务服务器,其中事务中间件机器环境包括一个或多个事务域,并且至少一个事务域包括驻留在所述事务中间件机器上的所述事务服务器以及驻留在其它事务中间件机器上的其它事务服务器。
[0053]根据一种实施例,事务中间件机器还包括在其上提供至少一个事务服务的事务服务器。
[0054]根据一种实施例,服务响应时间表被客户端用于决定哪个事务服务器提供具有最短服务响应时间的事务服务。
[0055]根据一种实施例,事务中间件机器还包括事务中间件服务器,在该事务中间件服务器完成执行事务服务之后,该事务中间件服务器更新所述事务中间件机器上的所述服务响应时间表。
[0056]根据一种实施例,服务响应时间表中的服务响应时间是基于动态负载和静态负载中的至少一个来估计的。
[0057]根据一种实施例,事务中间件机器还包括事务服务器,该事务服务器把服务响应时间嵌入在返回到其它事务中间件机器上的其它客户端的服务响应消息当中。
[0058]根据一种实施例,客户端进行操作以利用所述服务响应时间中的信息更新其它事务中间件机器上的其它服务响应时间表。
[0059]根据一种实施例,服务响应时间表中用于事务服务的服务响应时间是服务执行时间、队列等待时间和网络时间之和。
[0060]根据一种实施例,同步服务器负责周期性地测量机器之间的网络时间。
[0061]根据一种实施例,提供了用于事务中间件机器环境中的事务中间件机器的方法,包括:在所述事务中间件机器上维护服务响应时间表,其中服务响应时间表适于被事务中间件机器上的客户端使用以对服务请求作出路由决定;提供同步服务器;经由该同步服务器周期性地同步事务中间件机器环境中的所述事务中间件机器上的服务响应时间表与事务中间件机器环境中的其它事务中间件机器上的其它服务响应时间表。[0062]根据一种实施例,该方法还包括:提供驻留在所述事务中间件机器上的事务服务器,其中事务中间件机器环境包括一个或多个事务域,并且至少一个事务域包括驻留在所述事务中间件机器上的所述事务服务器以及驻留在其它事务中间件机器上的其它事务服务器。
[0063]根据一种实施例,该方法还包括:提供在其上提供至少一个事务服务的事务服务器。
[0064]根据一种实施例,该方法还包括:利用服务响应时间表决定哪个事务服务器提供具有最短服务响应时间的事务服务。
[0065]根据一种实施例,该方法还包括:在事务中间件服务器完成执行事务服务之后更新所述事务中间件机器上的所述服务响应时间表。
[0066]根据一种实施例,该方法还包括:基于动态负载和静态中的至少一个来估计服务响应时间表中的服务响应时间。
[0067]根据一种实施例,该方法还包括:允许所述事务中间件机器上的事务服务器把服务响应时间嵌入在返回到其它事务中间件机器上的其它客户端的服务响应消息当中。
[0068]根据一种实施例,该方法还包括:利用所述服务响应时间中的信息更新其它事务中间件机器上的其它服务响应时间表。
[0069]根据一种实施例,该方法还包括:允许服务响应时间表中用于事务服务器的服务响应时间是服务执行时间、队列等待时间和网络时间之和。
[0070]根据一种实施例,该方法还包括周期性地测量机器之间的网络时间。
[0071]本发明可以利用一种或多种传统的通用或专用数字计算机、计算设备、机器或微处理器来方便地实现,包括一个或多个处理器、根据本公开内容教义来编程的存储器和/或计算机可读存储介质。正如对软件领域的技术人员来说将是很显然的,适当的软件编码可以很容易地被熟练的程序员基于本公开内容的教义来准备。
[0072]在有些实施例中,本发明包括计算机程序产品,这是其上/其中存储了可以用于编程计算机以便执行本发明任何处理的指令的存储介质或计算机可读介质。存储介质可以包括(但不限于)任何类型的盘,包括软盘、光盘、DVD、CD-R0M、微型硬盘及磁光盘、R0M、RAM、EPROM、EEPROM、DRAM、VRAM、闪存存储设备、磁卡或光卡、纳米系统(包括分子存储器1C),或者适于存储指令和/或数据的任何类型的介质或设备。
[0073]本发明的以上描述是为了说明和描述而提供的。它不旨在是穷举的或者要把本发明限定到所公开的精确形式。许多修改和变化对本领域技术人员将是显而易见的。实施例的选择与描述是为了最好地解释本发明的原理及其实际应用,由此使本领域技术人员能够理解本发明具有适于预期特定用途的各种修改的各种实施例。本发明的范围旨在由以下权利要求及其等价物来定义。
【权利要求】
1.一种在具有多个事务中间件机器的事务中间件机器环境中支持负载平衡的系统,包括: 服务响应时间表,被维护在事务中间件机器环境中的每个事务中间件机器,其中所述服务响应时间表适于被事务中间件机器上的客户端使用以对服务请求作出路由决定; 多个同步服务器,每个所述同步服务器与事务中间件机器环境中的一个事务中间件机器关联;及 其中多个同步服务器进行操作以周期性地同步事务中间件机器环境中的每个所述事务中间件机器上的服务响应时间表。
2.如权利要求1所述的系统,其中事务中间件机器环境包括一个或多个事务域,并且至少一个事务域包括驻留在事务中间件机器环境中的不同事务中间件机器上的多个事务服务器。
3.如权利要求1所述的系统,其中至少一个事务服务被提供在驻留在事务中间件机器环境中的不同事务中间件机器上的不同事务服务器上。
4.如权利要求1所述的系统,其中服务响应时间表被客户使用以决定哪个事务服务器提供具有最短服务响应时间的事务服务。
5.如权利要求1所述的系统,其中在事务中间件服务器完成执行事务服务之后,该事务中间件服务器更新事务中间件机器上的服务响应时间表。
6.如权利要求1所述的系统,其中服务响应时间表中的服务响应时间是基于动态负载和静态负载中的至少一个来估计的。
7.如权利要求1所述的系统,其中一个事务中间件机器上的事务服务器把服务响应时间嵌入到服务响应消息中,该服务响应消息被返回到另一个事务中间件机器上的客户。
8.如权利要求7所述的系统,其中客户进行操作以利用服务响应时间中的信息来更新另一个事务中间件机器上的服务响应时间表。
9.如权利要求1所述的系统,其中服务响应时间表中的事务服务的服务响应时间是服务执行时间、队列等待时间和网络时间之和。
10.如权利要求9所述的系统,其中同步服务器负责周期性地测量机器之间的网络时间。
11.一种在具有多个事务中间件机器的事务中间件机器环境中支持准确负载平衡的方法,包括: 在事务中间件机器环境中的每个事务中间件机器上维护服务响应时间表,其中所述服务响应时间表适于被事务中间件机器上的客户使用以对服务请求作出路由决定; 提供多个同步服务器,其中每个同步服务器都与事务中间件机器环境中的一个事务中间件机器关联;及 经由所述多个同步服务器,周期性地同步事务中间件机器环境中的每个所述事务中间件机器上的服务响应时间表。
12.如权利要求11所述的方法,还包括允许事务中间件机器环境包括一个或多个事务域,其中至少一个事务域包括驻留在事务中间件机器环境中的不同事务中间件机器上的多个事务服务器。
13.如权利要求11所述的方法,还包括在驻留在事务中间件机器环境中的不同事务中间件机器上的不同事务服务器上提供至少一个事务服务。
14.如权利要求11所述的方法,还包括利用服务响应时间表决定哪个事务服务器提供具有最短服务响应时间的事务服务。
15.如权利要求11所述的方法,还包括在事务中间件服务器完成执行事务服务之后,更新事务中间件机器上的服务响应时间表。
16.如权利要求11所述的方法,还包括基于动态负载和静态中的至少一个来估计服务响应时间表中的服务响应时间。
17.如权利要求11所述的方法,还包括允许一个事务中间件机器上的事务服务器把服务响应时间嵌入在服务响应消息中,该服务响应消息被返回到另一个事务中间件机器上的客户。
18.如权利要求17所述的方法,还包括利用服务响应时间中的信息更新另一个事务中间件机器上的服务响应时间表。
19.如权利要求11所述的方法,还包括允许服务响应时间表中的事务服务的服务响应时间是服务执行时间、队列等待时间和网络时间之和。
20.如权利要求19所述的方法,还包括周期性地测量机器之间的网络时间。
21.一种程序,使计算机执行如权利要求11至20中任何一项所述的方法。
22.—种计算机可读非易失性介质,存储如权利要求21所述的程序。
【文档编号】G06F9/46GK103842964SQ201280047472
【公开日】2014年6月4日 申请日期:2012年9月26日 优先权日:2011年9月29日
【发明者】李震宇, 陈旭晖 申请人:甲骨文国际公司