用于在事务中间件机器环境中支持动态资源调度的系统及方法

文档序号:6496638阅读:193来源:国知局
用于在事务中间件机器环境中支持动态资源调度的系统及方法
【专利摘要】本申请涉及在事务中间件机器环境中支持动态资源调度的系统及方法。一种系统和方法可以在事务中间件机器环境中支持动态按比例扩大/缩小事务资源。事务资源,诸如组和机器,可根据资源使用情况的变化利用动态资源调度添加或去除。事务中间件机器环境可包括事务中间件机器环境中的部署中心,及一个或多个部署代理,部署中心维护用于事务中间件机器环境的一个或多个部署策略。一个或多个部署代理中的每一个与事务中间件机器环境中一个事务域中的多个事务中间件机器中的一个相关联。部署中心操作成从一个或多个部署代理接收机器使用情况信息,并基于由一个或多个部署代理收集到的资源使用情况信息,动态地按比例扩大/缩小事务域中所使用的资源。
【专利说明】用于在事务中间件机器环境中支持动态资源调度的系统及方法
[0001]版权声明
[0002]本专利文档公开内容的一部分包含受版权保护的素材。版权拥有者不反对任何人对专利文档或专利公开内容按照在专利商标局的专利文件或记录中出现那样进行的传真复制,但是除此之外在任何情况下都保留所有版权。
【技术领域】
[0003]本发明一般而言涉及诸如中间件的计算机系统与软件,并且更具体地说涉及支持事务中间件机器环境。
【背景技术】
[0004]事务中间件系统,或者说面向事务的中间件,包括可以处理一个机构中各种事务的企业应用服务器。随着诸如高性能网络和多处理器计算机的新技术的发展,需要进一步改善事务中间件的性能。这些是本发明实施例要解决的一般性领域。

【发明内容】

[0005]本文所描述的是用于在事务中间件机器环境中支持动态按比例扩大/缩小事务资源的系统及方法。事务资源(诸如组和机器)可以根据资源使用情况的变化利用动态资源调度(bicker)添加或去除。事务中间件机器环境可以包括该事务中间件机器环境中的部署中心,以及一个或多个部署代理,其中部署中心维护用于事务中间件机器环境的一个或多个部署策略。所述一个或多个部署代理中的每个部署代理与事务中间件机器环境中的一个事务域中的多个事务中间件机器中的一个事务中间件机器相关联。部署中心操作成从所述一个或多个部署代理接收机器使用情况信息,并且基于由所述一个或多个部署代理收集到的资源使用情况信息动态地按比例扩大/缩小所述事务域中所使用的资源。
【专利附图】

【附图说明】
[0006]图1根据本发明一种实施例示出了事务中间件机器环境的说明,该环境支持在事务中间件机器环境中动态地按比例扩大/缩小事务系统。
[0007]图2根据本发明一种实施例说明了用于在事务中间件机器环境中支持动态地按比例扩大/缩小事务系统的示例性流程图。
[0008]图3根据本发明一种实施例示出了事务中间件机器环境中在包级动态地按比例扩大/缩小资源的说明。
[0009]图4根据本发明一种实施例示出了事务中间件机器环境中在机器级动态地按比例扩大/缩小资源的说明。
[0010]图5根据本发明一种实施例详细示出了图1中所示机器DllO的说明。【具体实施方式】
[0011]本文所描述的是用于支持事务中间件系统的系统及方法,其中该事务中间件系统可以利用具有多个处理器的快速机器以及高性能网络连接。通过根据资源使用情况的变化添加/去除组和机器,动态资源调度可以在事务中间件机器环境中动态地按比例扩大/缩小事务系统。事务中间件机器环境可以包括该事务中间件机器环境中的部署中心以及一个或多个部署代理,其中所述部署中心维护用于事务中间件机器环境的一个或多个部署策略。所述一个或多个部署代理中的每一个部署代理与事务中间件机器环境中的一个事务域中的多个事务中间件机器中的一个事务中间件机器相关联。所述部署中心操作成从所述一个或多个部署代理接收机器使用情况信息,并且基于由所述一个或多个部署代理收集到的资源使用情况信息动态地按比例扩大/缩小所述事务域中所使用的资源。
[0012]根据本发明的一种实施例,该系统包括高性能硬件(例如64位处理器技术)、高性能大型存储器以及冗余InfiniBand和以太网联网连同应用服务器或中间件环境(诸如WebLogic套件)的组合,来提供完整的Java EE应用服务器联合体,该联合体包括可以快速供应并且可以按需缩放的大规模并行存储器内网格。根据一种实施例,该系统可以部署成作为提供应用服务器网格、存储区域网络和InfiniBand (IB)网络的完全、一半或四分之一机架或者其它配置。中间件机器软件可以提供应用服务器、中间件和其它功能性,诸如例如WebLogic 服务器、JRockit 或者 Hotspot JVM>OracIe Linux 或 Solaris 和 Oracle VM。根据一种实施例,该系统可以包括经IB网络彼此通信的多个计算节点、IB交换机网关、以及存储节点或单元。当实现为机架配置时,机架未使用的部分可以空着或者被填充物占用。
[0013]根据本发明的一种实施例(在此被称为“Sun Oracle Exalogic”或者“Exalogic”),该系统是用于托管中间件或应用服务器软件(诸如Oracle中间件SW套件或Weblogic)的一种易于部署的解决方案。如本文所描述的,根据一种实施例,该系统是“盒子内的网格”,其包括一个或多个服务器、存储单元、用于存储联网的一个IB构架、以及托管中间件应用所需的所有其它组件。通过利用例如真正应用集群和Exalogic开放存储充分利用大规模并行网格体系架构,可以为所有类型的中间件应用交付显著的性能。该系统利用线性I/O可缩放性交付改进的性能、使用和管理都很简单、并且交付临界任务的可用性和可靠性。
[0014]根据本发明的一种实施例,例如Tuxedo的事务系统可以是启用高性能分布式商业应用的构造、执行和管理的一组软件模块,并且已经被多种多层应用开发工具用作事务中间件。该事务系统是可以用于在分布式计算环境中管理分布式事务处理的平台。它是一个在交付不受限制的可缩放性与基于标准的互操作性的同时,用于解锁企业传统应用并把它们扩展到面向服务的体系架构的平台。
[0015]通过根据资源使用情况的变化添加/去除组和机器,动态资源调度可以在事务中间件机器环境中动态地按比例扩大/缩小事务系统,例如Tuxedo。因而,事务系统可以利用具有多个处理器的快速机器(例如Exalogic中间件机器),以及高性能网络连接(例如InfiniBand (IB)网络)。
[0016]按比较扩大和缩小事务系统
[0017]根据本发明的一种实施例,可以在事务中间件机器环境中支持动态资源调度,以便根据资源使用情况的变化动态地按比例扩大/缩小事务系统。事务系统的动态资源分配/解除分配可以帮助用户管理灵活的云环境中的资源。该系统可以收集资源使用情况的度量,并且允许用户基于资源使用情况的变化定义按比例扩大/缩小事务资源的规则。然后,事务系统可以根据基于资源使用情况的变化由用户定义的规则来动态地按比例扩大和缩小。
[0018]图1根据本发明的一种实施例示出了支持在事务中间机器环境中动态地按比例扩大/缩小事务系统的事务中间件机器环境的说明。如图1中所示,事务中间件机器环境100包括多个事务中间件机器,诸如机器A-D101-103和110。
[0019]事务中间件机器环境中的动态资源调度可以包括几个部件,诸如机器DllO上的数据存储库107、机器DllO上的部署中心106、以及一个或多个部署代理:部署代理A-C111-113。每个部署代理驻留在事务中间件机器环境中的一个事务中间件机器(机器A-C101-103)上。
[0020]部署中心106可以接收所有用户输入120并且负责把指令/包分发到目的地机器(机器A-C101-103),并且从目的地机器接收执行结果。此外,部署中心106可以基于用户输入120维护用于事务中间件机器环境的一个或多个部署策略116。
[0021]每个部署代理(部署代理A-C111-113)负责从部署中心106接收分发包,并且在它所驻留的特定机器上执行部署/解除部署/管理任务。此外,每个部署代理(部署代理A-C111-113)可以收集该部署代理驻留在其上的特定机器的资源使用情况度量并把这种资源使用情况度量报告给部署中心106。然后,在运行时,部署中心106可以根据资源使用情况的变化作出关于如何添加或去除组和机器的决定。最后,部署代理(部署代理A-C111-113)可以把执行结果返回给部署中心106。
[0022]如图1中所示,事务中间件机器环境100可以包括一个或多个事务域,诸如域A-B108-109。除了域A108中的机器A-C101-103之外,机器DllO上的部署中心106可以经部署代理E-F114-115接收用于域B109中机器E-F104-105的机器使用情况信息。部署中心106可以单独地管理用于每个事务域(域A-B108-109)的资源使用情况。部署中心106操作成基于由部署代理(域A108中的部署代理A-C111-113和域B109中的部署代理E-F114-115)收集到的资源使用情况信息,动态地扩大和/或缩小每个事务域(域A-B108-109)中的工作负荷。
[0023]在每个事务域(域A-B108-109)内,可以有一个总是可用于提供事务服务的主机。在如图1所示的例子中,机器AlOl可以是域A108中的主机。因此,机器AlOl的配置不能改变,而部署中心106可以在运行时动态地决定机器B102和机器C103是否应当被激活和利用必要的部件来部署。
[0024]数据存储库107可以用于存储与应用部署相关的信息,诸如应用包、分发包和配置文件。在把应用部署到各个事务应用服务器机器之前,用户可以把应用的所有必需部件上载到数据存储库107中。部署中心106可以从数据存储库107获得部署所需的部件,并且为了满足服务需求而把特定的部件部署到特定的机器。
[0025]图2根据一种本发明实施例说明了用于在事务中间件机器环境中支持动态地按比例扩大/缩小事务系统的示例性流程图。如图2中所示,在步骤201,在事务中间件机器环境中提供部署中心。在步骤202,在事务中间件机器环境中提供一个或多个部署代理。每个部署代理与事务中间件机器环境中一个事务域中的一个事务中间件机器相关联。然后,在步骤203,部署中心从一个或多个部署代理接收机器使用情况信息。最后,在步骤204,系统可以基于由一个或多个部署代理收集到的资源使用情况信息动态地按比例扩大/缩小事务域中所使用的资源。
[0026]如以下所公开的,事务系统可以在两个级别动态地按比例扩大/缩小:机器级和包级。
[0027]包级的动态部署
[0028]根据本发明的一种实施例,动态资源调度可以在包级根据资源使用情况的变化动态地按比例扩大/缩小事务系统。
[0029]图3示出了在事务中间件环境中在包级动态地按比例扩大/缩小事务系统的说明。如图3中所示,事务中间件环境包括两个物理或逻辑机器lclnx24301和lclnxl6302,这两个机器负责运行两个应用:APP1303和APP2304。
[0030]此外,该事务中间件环境包括一个域(D0M1305),该域包括两个虚拟机M1306和M2307。虚拟机M1306绑定到物理或逻辑机器lclnx24301,并且负责运行应用包APP1303。类似地,虚拟机M2307绑定到物理或逻辑机器lclnxl6302,并且负责运行应用包APP2304。
[0031]如图3中所示,在虚拟机M2307下面,有一个包候选目录(候选包308),其中用户可以向虚拟机M2307添加附加的包APP3309和APP4310。
[0032]用户可以把用于动态部署的应用包添加到虚拟机(例如M2307),而不管该域的状态。例如,用户可以在域(D0M1305)处于编辑、部署、引导或关机状态的时候把应用包添加到虚拟机M2307。在这种情况下,动态添加的应用包APP3309和APP4310,可能不能写到现有的事务服务器配置文件(诸如Tuxedo UBBC0NFIG文件)当中。相反,系统只在域D0M1305处于运行状态的时候才允许该域在包级的动态按比例扩大/缩小。
[0033]如以下所公开的,该系统允许用户既手动又自动地执行包级动态部署。
[0034]执行包级动态部署的手动方式在用户确定条件满足时(例如当虚拟机M2307负载不足时),允许用户手动地一个接一个地激活应用包。在图3的例子中,用户可以选择激活APP3309。然后,系统可以选择存储在数据存储库中的相关应用包文件,并且执行一系列应用管理操作,诸如Tuxedo管理信息库(MIB)操作,以便把应用包APP3309部署到物理或逻辑机器lclnX16302,并且引导这个机器中所包含的服务器。此外,在应用包APP3309被激活之后,用户可以选择停用它。然后,系统可以关掉其所有服务器并且从物理或逻辑机器lclnxl6302,解除部署应用包APP3309。
[0035]另一方面,利用预定义的用户确定的条件,执行包级动态部署的自动方式允许系统如上所述自动地执行MIB操作。此外,系统可以在需要的时候自动地解除部署应用包。
[0036]此外,在Tuxedo的例子中,相同的参数替换规则可以用于在手动部署和自动部署中执行以上的MIB操作。此外,动态资源调度可以重用现有的机制(例如文件格式),用于部署应用包,以执行事务域中资源的动态按比例扩大/缩小。
[0037]机器级动态部署
[0038]根据本发明的一种实施例,动态资源调度可以在机器级根据资源使用情况的变化动态地按比例扩大/缩小事务系统。
[0039]图4示出了事务中间件环境中在机器级动态按比例扩大/缩小事务系统的说明。如图4中所示,事务中间件环境包括四个物理或逻辑机器:lclnx24401、lclnxl6402、Iclnxl0403和lclnxll404,这四个机器负责运行四个应用:APP1405、APP2406、APP3407和APP4408。
[0040]事务中间件环境包含域D0M1409,这个域包括三个虚拟机M1411、M2412和M3413。虚拟机M1411绑定到物理或逻辑机器lclnx24401,并且负责运行应用包APP1405。类似地,虚拟机M2412绑定到物理或逻辑机器lclnxl6402,并且负责运行应用包APP2406。
[0041]如图4中所示,虚拟机M3413还没有绑定到事务中间件环境中的任何物理机器。在虚拟机M3413下面,有一个机器候选目录(候选机器410),该目录可以被用户用于添加一个或多个逻辑或物理候选机器lclnxl0403和lclnxll404。候选机器lclnxl0403和lclnxll404,可以具有与其它被激活的机器lclnx24401和lclnxl6402相似的体系架构,因此应用包APP1405、APP2406、APP3407和APP4408,可以毫无困难地在任一机器lclnxl0403和Iclnxl 1404上执行。
[0042]例如,当虚拟机M2412超载时,动态资源调度允许候选机器(例如lclnX10403)绑定到虚拟机M3413。此外,如果该候选机器没有从虚拟机解除绑定,则其它的候选机器(例如IcInx11404 )可以具有与虚拟机M3413绑定的机会。
[0043]如图4中所示,动态部署的候选机器可能没有在一个域中变成主节点,因为域A108中的主节点机器AlOl维持与部署中心106的一贯连接。因而,在如图4所示的例子中,候选机器lclnxl0403和Iclnxl 1404,可能不变成域D0M1409中的主节点。
[0044]根据本发明的一种实施例,事务系统可以在机器级和在包级都动态地按比例扩大/缩小。用户可以在包候选目录候选包415中列出一个或多个应用包APP3407和APP4408,使得应用包APP3407和APP4408可以在机器被动态部署的时候部署到候选机器。
[0045]动态资源调度允许用户既手动又自动地执行机器级动态部署。动态资源分配/解除分配帮助消费者在云环境中更灵活地管理资源。当资源使用情况改变时,例如当计算节点发生故障或者到达满载时,系统可以通过动态地从其它节点提供附加服务来提供高可用性和可缩放性。这种切换可以是自动的并且没有任何手动干涉。
[0046]执行机器级动态部署的手动方式允许用户在一个或多个用户确定的条件被满足时激活候选机器。然后,用户可以激活包候选目录下的一个或多个应用包。
[0047]例如,用户可以在用户确定的条件被满足时,例如当虚拟机M2412超载时,选择激活候选机器lclnxl0403和候选应用包APP3407。然后,系统可以执行一系列管理操作,诸如Tuxedo MIB操作,以激活候选机器lclnxl0403并且把候选应用包APP3407部署到机器lclnxl0403,并且引导机器lclnxl0403中所包含的服务器。此外,用户可以选择解除部署机器lclnxl0403,此时系统可以关掉这个机器并且停用该机器上的所有应用包。
[0048]另一方面,利用预定义的用户确定的条件,执行包级动态部署的自动方式允许系统执行上述MIB操作。并且,系统可以自动地执行解除部署操作。
[0049]此外,在Tuxedo的例子中,相同的参数替换规则可以用于在手动部署和自动部署中都执行以上的MIB操作。动态资源调度可以重用现有的机制(例如文件格式)用于部署应用包,以执行事务域中资源的动态按比例扩大/缩小。
[0050]图5根据本发明一种实施例详细示出了图1中所示机器DllO的说明。如图5中所示,机器DllO可以包括数据存储库107以及部署中心106,该存储库107用于在由用户上载的一个或多个应用部件部署到事务中间件机器环境中的多个事务中间件机器之前存储所述一个或多个应用部件。
[0051]部署中心106可以包括用于从一个或多个部署代理接收机器使用情况信息的接收单元1061,以及基于由一个或多个部署代理收集的资源使用情况信息用于动态按比例扩大/缩小事务域中所使用的资源的按比例扩大/缩小单元1062。
[0052]在有些实施例中,部署中心106还可以包括用于维护用于事务中间件机器环境的一个或多个部署策略的维护单元1063,用于管理多个事务域的管理单元1064,以及用于动态地添加或去除在现有事务域中执行的一个或多个包并且动态地添加或去除在现有事务域中运行的一个或多个事务中间件的添加或去除单元1065。
[0053]在本发明的另一方面,提供了一种在事务中间件机器环境中支持动态资源调度的方法,包括:从一个或多个部署代理接收机器使用情况信息;并且基于由一个或多个部署代理收集到的资源使用情况信息动态地按比例扩大/缩小事务域中所使用的资源。
[0054]在有些实施例中,该方法还可以包括:维护用于事务中间件机器环境的一个或多个部署策略;管理多个事务域;动态地添加或去除在现有事务域中执行的一个或多个包;和/或动态地添加或去除在现有事务域中运行的一个或多个事务中间件。
[0055]在本发明的另一方面,提供了一种在事务中间件机器环境中支持动态资源调度的系统,包括:用于从一个或多个部署代理接收机器使用情况信息的装置;以及用于基于由一个或多个部署代理收集到的资源使用情况信息动态地按比例扩大/缩小事务域中所使用的资源的装置。
[0056]在有些实施例中,该系统还可以包括:用于维护用于事务中间件机器环境的一个或多个部署策略的装置;用于管理多个事务域的装置;用于动态地添加或去除在现有事务域中执行的一个或多个包的装置;和/或用于动态地添加或去除在现有事务域中运行的一个或多个事务中间件的装置。
[0057]本发明可以利用一种或多种传统的通用或专用数字计算机、计算设备、机器或微处理器方便地实现,包括一个或多个处理器、根据本公开内容教导编程的存储器和/或计算机可读存储介质。如对软件领域的技术人员来说将很显然的,适当的软件编码可以很容易地被熟练的程序员基于本公开内容的教导来准备。
[0058]在有些实施例中,本发明包括计算机程序产品,所述计算机程序产品是其上/其中存储了可以用于编程计算机以执行本发明任何过程的指令的一种或多种存储介质或计算机可读介质。存储介质可以包括但不限于任何类型的盘,包括软盘、光盘、DVD、CD-R0M、微型硬盘以及磁光盘,ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪存存储器设备、磁或光卡、纳米系统(包括分子存储器1C),或者适于存储指令和/或数据的任何类型的介质或设备。
[0059]提供本发明以上的描述是为了说明和描述。它不是详尽的或者要把本发明限定到所公开的精确形式。许多修改和变化将对本域技术人员显而易见。实施例的选择与描述是为了最好地解释本发明的原理及其实践应用,由此使本域其他技术人员能够理解本发明具有适于预期特定用途的各种修改的各种实施例。本发明的范围要由以下权利要求及其等价物来定义。
【权利要求】
1.一种用于在事务中间件机器环境中支持动态资源调度的系统,包括: 一个或多个微处理器; 部署中心,运行在事务中间件机器环境中的所述一个或多个微处理器上;以及 一个或多个部署代理,每个部署代理与所述事务中间件机器环境中的一个事务域中的多个事务中间件机器中的一个事务中间件机器相关联, 其中所述部署中心操作成从所述一个或多个部署代理接收机器使用情况信息,并且其中所述部署中心操作成基于由所述一个或多个部署代理收集到的资源使用情况信息,动态地按比例扩大/缩小所述事务域中所使用的资源。
2.如权利要求1所述的系统,其中所述部署中心维护用于所述事务中间件机器环境的一个或多个部署策略。
3.如权利要求1所述的系统,其中每个所述部署代理操作成收集所述部署代理驻留在其上的特定机器的资源使用情况度量,并且把收集到的资源使用情况度量报告给所述部署中心。
4.如权利要求1所述的系统,其中所述部署中心负责管理多个事务域。
5.如权利要求4所述的系统,其中所述部署中心操作成基于由其它一个或多个部署代理收集到的资源使用情况信息动态地按比例扩大/缩小另一个事务域中所使用的资源。
6.如权利要求4所述的 系统,其中每个事务域中都有一个主机,并且其中每个事务域中主机的配置都保持不变。
7.如权利要求1所述的系统,还包括数据存储库,所述数据存储库在用户上载的一个或多个应用部件被部署到所述事务中间件机器环境中的所述多个事务中间件机器之前,存储所述一个或多个应用部件。
8.如权利要求1所述的系统,其中所述事务中间件机器环境中至少一个事务中间件机器是虚拟机,所述虚拟机可以绑定到机器列表中的物理机器。
9.如权利要求1所述的系统,其中所述部署中心操作成动态地添加或去除在现有事务域中执行的一个或多个包。
10.如权利要求1所述的系统,其中所述部署中心操作成动态地添加或去除在现有事务域中运行的一个或多个事务中间件机器。
11.一种用于在事务中间件机器环境中支持动态资源调度的方法,包括: 提供在所述事务中间件机器环境中的一个或多个微处理器上运行的部署中心; 提供一个或多个部署代理,每个部署代理与所述事务中间件机器环境中的一个事务域中的多个事务中间件机器中的一个事务中间件机器相关联; 经所述部署中心从所述一个或多个部署代理接收机器使用情况信息;以及 基于由所述一个或多个部署代理收集到的资源使用情况信息,动态地按比例扩大/缩小所述事务域中所使用的资源。
12.如权利要求11所述的方法,还包括允许所述部署中心维护用于所述事务中间件机器环境的一个或多个部署策略。
13.如权利要求11所述的方法,还包括允许每个所述部署代理收集所述部署代理驻留在其上的特定机器的资源使用情况度量,并且把收集到的资源使用情况度量报告给所述部署中心。
14.如权利要求11所述的方法,还包括允许所述部署中心负责管理多个事务域。
15.如权利要求14所述的方法,还包括允许所述部署中心基于由其它一个或多个部署代理收集到的资源使用情况信息动态地按比例扩大/缩小另一个事务域中所使用的资源。
16.如权利要求14所述的方法,还包括在每个事务域中指定一个主机,并且允许每个事务域中主机的配置保持不变。
17.如权利要求11所述的方法,还包括提供数据存储库,所述数据存储库在用户上载的一个或多个应用部件被部署到所述事务中间件机器环境中的所述多个事务中间件机器之前,存储所述一个或多个应用部件。
18.如权利要求11所述的方法,还包括允许所述事务中间件机器环境中至少一个事务中间件机器是虚拟机,所述虚拟机可以绑定到机器列表中的物理机器。
19.如权利要求11所述的方法,还包括允许所述部署中心动态地添加或去除在现有事务域中执行的一个或多个包。
20.如权利要求11所述的方法,还包括允许所述部署中心动态地添加或去除在现有事务域中运行的一个或多个事务中间件机器。
21.一种程序,执行如权利要求11-20中任何一项所述的方法。
22.—种非易失性存·储介质,存储如权利要求21所述的程序。
【文档编号】G06F15/173GK103827850SQ201280047481
【公开日】2014年5月28日 申请日期:2012年9月25日 优先权日:2011年9月29日
【发明者】李震宇, 刘丽丹 申请人:甲骨文国际公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1