CN101069384B - 在网络环境中管理基于消息的工作负荷的方法和系统 - Google Patents
在网络环境中管理基于消息的工作负荷的方法和系统 Download PDFInfo
- Publication number
- CN101069384B CN101069384B CN2005800416228A CN200580041622A CN101069384B CN 101069384 B CN101069384 B CN 101069384B CN 2005800416228 A CN2005800416228 A CN 2005800416228A CN 200580041622 A CN200580041622 A CN 200580041622A CN 101069384 B CN101069384 B CN 101069384B
- Authority
- CN
- China
- Prior art keywords
- service
- message
- data
- live load
- instance
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
Abstract
本发明涉及分布式网络,且具体地涉及基于消息的网络环境。更具体地,它涉及在预定负载调度内经由某中间件(270)访问网络的应用程序(110、112、114)。为了减轻现有技术的不足,提出执行具有下列步骤序列的方法:a)监视并测量当前工作负荷,b)在第一适当的数据存储器(282)中存储所测量的工作负荷数据,c)在第二适当的消息存储器(242、244、246)中存储关于多个当前所使用的实例的状态信息,c)分析所述所存储的、所测量的工作负荷数据和所述状态信息,以符合预定的服务质量策略,d)调节可用的服务动态实例(222、224、226)的数目,以使得工作负荷满足所述预定的服务质量策略所需的工作负荷需求,e)其中在多个消息存储器(242、244、246)中管理所述新创建实例的元数据,其数据内容被频繁同步,以使多个客户端应用程序(110、112、114)在其操作期间解除绑定于固定的具体服务动态实例(222、224、226)。
Description
技术领域
本发明涉及分布式网络,具体地涉及一种基于消息的网络环境。更具体地,它涉及在预定的负载调度内经由某中间件来访问网络的应用程序。同时也涉及基于网络的技术。
背景技术
现有技术的描述和不足
首先给出下列术语的解释,以便介绍本发明。
如
http://searchwebservices.techtarget.com/sDefinition/0,,sid26gci750567,00.html所披露的,“网络服务”(有时被称为应用程序服务)是一种对网络用户或其他连接于网络的程序来说可从商业网络服务器获得的服务(通常包括编程和数据的某组合,但可能也包括人力资源)。网络服务的提供者即普遍所知的应用程序服务提供者。网络服务的范围大到诸如存储管理和客户关系管理(Customer Relationship Management,CRM)的主要服务,小到诸如股票报价的提供和拍卖项目的出价检查的更局限的服务。这些服务的加速创立和可用性是主要的网络趋势。
用户可以通过对等(peer-to-peer)配置而不通过进到中央服务器来访问某些网络服务。一些服务可以与其他服务进行通信,且过程和数据的这种交换通常是由称为中间件的一类软件来使能的。以前仅通过称为电子数据交换(EDI)的更旧标准化服务才可能的服务日益可能成为网络服务。除了英特网本身对用户和商业的标准化和广泛可用性,使用作为标准化数据格式和交换数据的手段的可扩展标记语言(XML)也日益使能网络服务。XML是网络服务描述语言(Web Services Description Language,WSDL)的基础。
消息代理(message broker):
在程序通过交换形式上定义的消息(即,通过传送消息的动作)来进行通信的电信网络中,消息代理是一种中间程序,其将消息从发送者的形式消息协议翻译成接收者的形式消息协议。消息代理程序有时也被称为中间件。
自主管理:
http://www.research.ibm.com/journal/sj/421/ganek.pdf:
在此文中,给出了关于对未来IBM下一个计算时代的建立主动性的系统发展的未来趋势的概要。
但是,其中引述的自动管理技术趋于使计算资源的管理自动化。它被认为是在系统控制、资源共享和操作管理的复杂性领域的先行挑战前沿的下一个演变阶段。不利之处在于,自动管理技术没有解决按用户需求的状态动态实例(stateful dynamic instance)、虚拟服务和操作消息存储器的合作,而这些在按需计算(on-demand computing)领域将是有用的。
虚拟服务:
http://news.webhosting.info/printthread.php?t=1036披露了以下内容:
“EgeneraTM 系统的独特架构通过创建服务器资源池来虚拟化数据中心基础构造,通过其,能动态地分配私人的、安全的配置,以支持应用程序然后在需要时解散。用此方法,服务器的能力不再只专用于个别应用程序,且服务也不局限于专用硬件或网络路径。因此,SAVVIS客户只需要支付他们所使用的资源,无需传统系统所需的昂贵的过度供应(over-provisioning),就能获得功能强大的特征,例如高可用性、灾难恢复和实时可伸缩性。”
Egenera BladeFrame系统不提供自主管理工具,例如监视、分析、计划、执行(Monitor,Analyze,Plan,and Execute,MAPE)能力。不利地,资源的动态分配不是全自动的,且需要人的干涉。
动态实例:
在http://www.globus.org/wsrf/specs/ws-wsrf.pdf中,网络服务(WS)资源构造被认为是集中于表示状态资源和网络服务之间的关系的手段。该公开文件既不包括自主管理的必要技术,也不包括操作消息存储器的操作,而这些在按需计算领域都是有用的。
在前面提到的领域中,本发明特别适用于网络环境,其中响应时间必须可靠的短,必须保证系统可用性,且其中能实现大范围的消息吞吐量以便进行所需商务。一个很好的示例涉及信息技术(IT)环境中经由网络服务所提供的金融服务,其基本系统结构在图1中示意性示出。
许多客户应用程序110、112、114连接于银行机构的商业资源。它们用于向银行IT环境提供用户请求,以经由连接于其他银行和贸易机构的安全银行网络150进行所请求的用户服务,如货币转账、参股交易等等。图中的中心部分102描述了该银行系统环境。
这样的环境包括消息代理环境,该消息代理环境已关联许多网络连接的网络服务106,其是由具体相应的消息流实现的。例如资金转账服务、安全控制服务、银行对银行消息传递。前面提到的应用程序经由预定义的软件接口来获取服务,它包括经由现有技术队列管理对请求的管理。在最近的现有技术中,该消息中间件藉由应用程序和操作系统之间连接(interfaced)的某些中间件所控制。
在现有技术中,这种中间件定义了,多少网络资源104可用于满足商业峰值负载有关的业务量的特定需要。根据预定义的服务质量(QoS)的调度所定义的规则,峰值负载决定了进行所希望的服务所需要的预先分配的资源的数量。如电子银行现有技术中公知的,这种调度可包含以下基本规则和要求。从电子银行领域中的普遍启示所得出的示例规则是日历调度。该方法的两个变量可以是:
1.帐户的年度决算:
每分钟在线交易的数量:>800
2.帐户的季度决算:
每分钟在线交易的数量:>800
例如,提供CPU能力和盘存储容量的特定需要的、最大数量的硬件服务器被预先占据,以便运行用于进行商务的相应的最大数量的服务实例。相应地,必须制定(dimension)可用的处理资源,以适应峰值工作负荷需求。因此,资源被显著地过度供应,以确保消息吞吐量和服务的发送具有可接受的性能和可用性特点。典型地,这些资源通常在低到中等消息业务量期间没有被利用而闲置了。
缺点在于,这种静态资源分配的硬性概念不能灵活地响应变化的负载。因此,在小业务量期间,许多硬件资源被束缚了,但一直保持未使用的状态。只在峰值负载期间,才能获得好的系统效率。
本发明的目的
因此,本发明的目的在于提供一种方法和相应的系统,用于在网络环境中管理基于消息的工作负荷,其中多个客户端应用程序经由相应的网络服务来使用网络资源,该方法减轻上述不利之处并在资源使用中提供更高的效率。
发明内容
本发明的这个目的由所附的独立权利要求所陈述的特点来实现。本发明的进一步有利配置和实施例在相应的从属权利要求中陈述。现在对所附权利要求进行引用。
本发明基于动态优化资源利用的总体构思。当维持高级别的所需服务时,自主自我管理能力被并入发明的消息中间件。为此目的,包括相应消息中间件的本发明的系统是由网络连接的组件的集合所组成的,而不是作为紧密耦合单片电路整体被建立的。也可以视当前工作负荷需求而克隆或增加额外的组件。
在峰值消息业务量期间,这种虚拟化允许中间件将系统的多个时间共享、动态逻辑实例投射到相同的服务接口上。在工作负荷降低期间,可以相应地减少实例的数量。优点在于使系统资源更好地适应于动态变化的工作负荷。
根据最基础的方面,本发明披露了一种用于在网络环境中管理工作负荷的方法,其中多个客户端应用程序经由相应的服务实例使用网络资源,其特征在于包括如下步骤:
a)监视并测量当前工作负荷,
b)在第一适当的数据存储器中,存储所测量的工作负荷数据,
c)在第二适当的数据存储器中,存储关于多个当前所使用的服务动态实例的状态信息,
d)分析所述所存储的、所测量的工作负荷数据和所述状态信息,以符合预定的服务质量策略,
e)调节可用服务动态实例(222、224、226)的数目,以使得工作负荷满足所述预定的服务质量策略所需的工作负荷需求,
f)其中所述服务动态实例——无论新建的或已存在的——的元数据,在消息存储器中被管理,其数据内容被同步,以便使该多个客户端应用程序(110、112、114)在它们操作期间解除绑定于固定的特定服务动态实例。
对于管理不多于大约10到20个动态实例的相对小的系统,优选的是可以使用掌管单个消息存储器数据库的单个服务器。优选的是使用由相应的单个服务器所掌管的一个消息存储器来管理单个动态实例。
由本发明构思和制约所暗示的,在它的生命周期期间,应用程序涉及不同的逻辑实例,因此,所述元数据必须被同步,以保证每个应用程序能使用正确分配的服务实例和物理资源。
对于更大的系统,优选地,在自身的、单独的消息存储器中,即在专用于单个实例且被相应的单个服务器所掌管的数据库中,存储并管理每个实例的状态信息,以便保持用于同步所有消息存储器的尽可能短的访问时间.
附图说明
通过例子描述本发明,且本发明不局限于附图的图形形状,其中:
图1是金融网络环境的现有技术系统结构的示意表示,
图2是在抽象逻辑层描述本发明的原理的示意图,
图3是根据本发明的优选实施例的金融网络环境的系统结构的示意表述,
图4是显示在图3的系统内所使用的发明方法的基本步骤的示意控制流程图,
图5是在由本发明构思所建立的存储器中的根据本实施例可用的数据的表描述,以及
图6是包括其软件接口的本发明的MAPE模块的优选实现的系统视图。
具体实施方式
整体参考附图,并现在具体参考图2,首先给出在抽象逻辑层描述本发明的原理的示意图。
图2给出了关于由本发明所提供的中间件的一般功能的概述。资源控制接口510和服务接口515向应用程序110、112、114和MAPE模块280提供访问消息存储器242、244、246的能力。适配器工具520被内部提供给该中间件,用于执行用于访问消息存储器的所有必要细节。它被优选地实现为使得调用存储器访问处理的所述应用程序110、112、114的现有技术软件接口不需要被改变。
根据本发明,上述本发明消息中间件的网络连接的组件被提供作为使用请求/响应的交互模式的服务。由上述“隐藏”(“hiding”)在所述服务接口515之后的相应的适配器实现,来提供对诸如底层支持的商业网络(underlyingsupported business network)的物理和传统资源的连接,而没有暴露实现细节。
整体参考附图,并现在具体参考图3,描述本发明方法的优选实施例的具体优选使用,其中网络环境包括银行应用程序。
虚拟服务和动态实例的下列优选实现依赖于编写(codify)网络服务和状态资源之间的关系的具体模式。作为例子,该实现参与开放网格服务架构(OGSA)中。
通过使服务束遵循开放网格服务基础架构(OGSI)组件行为模块而遵从OGSA。如本节中所描述的本发明方法的具体应用中,在本发明的工作负荷管理者270中所实现的本发明的金融消息中间件得益于OGSA基础架构规范,其为状态实例的管理提供了一致的一组公共基础功能,且提供基于消息的事件框架,以及描述和标准化请求者-服务交互的接口的定义。
假设示例用户处理是由银行客户使用上述客户应用程序110、112、114从相应的用户终端提出的资金转账。
同样在左侧描绘了安全银行网络150。在图的中心部分描绘了称作“自主管理者”的本发明的中间件270。
现有技术公知的和上述的动态消息服务用于将所述资金转账的金融信息,从已安装了图中心部分所描绘的本发明的装置的客户银行,经由所述银行网络150以消息传送到相应的目标银行.
更具体地,根据本发明的优选特征,在相应的数据库服务器上,必要时在更大的地理区域中分布消息存储器242、244、246,以便存储消息和为将消息与其相应的发送者、收件人、文件号码、转账ID等等关联所需的的元信息,后面将在下面参考图5详述这些细节。
为了在动态变化的业务负荷中实施预定义的服务级别策略,本发明的中间件包括所述自主管理者组件270,其有效地实现硬件和软件资源280,用于提供本发明的工作负荷调节方法,其细化这里称为MAPE功能性的监视、分析、计划和执行的功能。这为本发明的构思所需,以实现所测量的业务负载和相应的控制之间的反馈环,用于动态分配和释放服务和动态实例,以便在资源使用上高效。
本发明的MAPE功能优选地如下实现:
诸如性能数据或消息队列深度的原始消息处理信息被图3中圆280中的“M”所描述的监视服务281所收集,该监视服务281将作为结果得到的数据存储在相应的数据存储器282中;该数据存储器282可以是关系数据库,且被所述圆280中所描述的相应程序模块“A”频繁地分析,以便于用相应的另一个程序模块“P”(同样见圆280)评价当前系统行为以遵循所建立的策略;当系统行为尤其是其性能与预定义的总体目标不一致时,自主管理者270根据所配置的策略来选择行动计划,并通过另一个程序模块“E”(见圆周280)来执行它。该执行包括对消息存储器242、244、246、服务动态实例222、224、226、和虚拟服务212、214、216的动态管理。
在该方面,优选地应用优化决策,包括如“克隆(cloned)”实例池的平衡,或消息队列管理者聚类的现有技术。
为了清楚,队列管理者聚类是在一个或多个计算机上的两个或多个现有技术队列管理者的群组,其提供自动相互连接,并允许消息队列在它们之间共享,以用于负载平衡和冗余。具体地,参见在http://www-1.ibm.com/support/docview.wss?uid=publsc34606102中披露的WebSphere MQ Queue Manager Clusters(WebSphere MQ队列管理者聚类),SC34-6061。
可选地并且优选地,基于消息类别区分诸如资金和安全转账实现工作负荷优先次序区分(prioritization)。同样参见图5,在被相应的ID 47所标识的每个消息类别中,可以基于消息内容诸如资金转账的货币数量,来额外地实现相对的优先次序区分。由此,较大量的资金转账与较小总和的资金转帐相比可以以较高的优先级被处理。
需要补充的是,自主管理者270是在第一到来的客户请求之前就被启动的。因此,在它的人/机接口(未图示)上需要开始和停止操作。因为不同的用户定义的服务策略必须在自主管理者的决策逻辑建立中,所以提供了用于部署(和解除部署)所配置的策略的相应接口。优选地也把刻画这种策略特征的数据以相应的数据库表格存储在数据存储器282中。从而,易于进行访问,且MAPE功能性需要可承受的计算资源。
接下来,在本发明方法的一个优选实施例中的上述虚拟服务212、214、216的实现和状态服务动态实例222、224、226的管理描述如下:
本发明方法使用诸如网络服务描述语言(WSDL)和底层的可扩展标记语言(XML)的网络技术来提供其消息服务。因为底层消息范例严重依赖于管理和执行信息流的能力,因此例如“IBM WebSphere商业集成消息代理和集成工具”的普通现有技术消息代理被用作技术基础,并被修正用于适应本发明的特性.本代理环境也使得有机会支持对跨越不同服务器平台的公共实现.通过使用诸如上述的现有技术状态的代理平台,本发明方法直接在通过代理提供的消息处理“节点”于HTTP上传输的简单对象访问协议(SOAP)格式的消息上进行操作.该协议替换或补充基于专有消息队列的传统接口类型.
虚拟服务的外部接口满足了来自客户端应用程序112、114、116的所有请求。应用程序110和虚拟服务212之间的接口可如下实现:
例如,应用程序110产生根据SOAP规范格式化的、基于XML的请求消息,经由HTTP将其发送到其目标服务212,并接收来自该服务的相关响应消息。
因为,根据本发明,新的状态动态实例根据当前工作负荷被创建或销毁,因此虚拟服务需要具有动态地工作于新创建或销毁的动态实例上的能力。
从而,由自主管理者270所激发的、在状态动态实例的接口上进行的基本的本发明操作,至少是如下列create()和destroy()函数的“创建者”或“销毁者”操作。伪码形式的API给出如下:
create()
{
创建唯一标识符:动态实例ID
创建与动态实例相关联的数据库
通知监视器必须监视虚拟服务
连接到数据库
向数据库写入初始记录
返回动态实例ID
}
Destroy(动态实例ID)
{
通知监视器应该删除该虚拟服务
销毁数据库
返回
}
接下来,处理数据库,图3中的消息存储器242、244、246的架构和操作描述如下:
为了在诸如所述金融事务的事务处理的生命周期期间管理状态信息,以及为了管理单独消息之间的相关(correlation)数据,如现有技术解决方案那样,本发明方法有益地使用有限状态机(FSM)和持久处理数据库(即永久地存储数据的数据库),如包含用于存储所有相关元数据即任何所创建的实例的控制数据的关系的以及XML信息的“应用程序消息存储器”。
为了尽可能迟地使动态的、逻辑的实例绑定(binding)到这些物理数据库,通过现有技术的分布式数据管理技术来避免应用程序数据与单独实例的紧密亲和。这种技术包括用于数据的放置和移动的机制,以通过频繁的数据同步来满足数据的可用性、性能、质量和时间点(point-in-time)的需求。
为此目的,在本实施例中,本发明的中间件平台代码使用如现有技术“IBM DB2信息集合器”产品所提供的“数据联盟”的概念,以保护传统编程模型对其消息存储器的访问.因为操作数据存储器典型地在大小上受限,所以作为替代可以考虑现有技术方法,如复制、高速缓存(caching)、和诸如现有技术“优化的存储子系统备份”(“optimized storage subsystem copy”)的基于硬件的协议。这些现有技术允许每个动态逻辑实例访问它自己的数据存储器的副本,需要协调对所有其他实例的副本的更新。
使本发明方法工作的重要的先决条件是,通过各种的现有技术数据库同步机制而足够频繁地使存储在所有使用中的消息存储器242、244、246......上的数据在这些存储器之间。但是,关于数据同步有一些可选方法:
第一,如果选择使用复制控制协议作为可选方法来在数据库级别上同步数据存储器,事务原子性保证事务例如对金融消息交换状态的更新在所有逻辑实例即服务动态实例222、224、226上同时执行。
为保证响应时间短,如在现有技术“IBM数据库传播者”(IBM databasepropagator)产品中实现的“懒的”复制机制在事务结束之后延迟变化的传播,将更新传播作为后台处理实现。
第二,作为对于数据库级别复制的基于硬件的可选方法,掌管消息存储器242、244、246......的存储器子系统,可以独立于所连接的数据库服务器,通过运行于相应磁盘阵列控制器上的软件被“镜像”。在这种情况下,由一个逻辑实例进行的数据更新当发生时跨越阵列复制。
在本实施例中,诸如审计和消息仓库数据库表的大容量、长期数据存储器,优选地仍然被传统数据库管理,这是因为对它们的亲和不那么紧密,且对它们的访问不那么时间紧迫。
随后,图4中的图显示了在示例的货币转账中在根据本发明的包括上述本发明的MAPE模块283的适当中间件280中实现的控制流。
安装了用于进行银行处理的上述客户端应用程序112、114、116的逻辑终端提交请求消息,指定了相应的个人数据和接收者地址数据,以及给出的要转账的货币数量。这种请求不需要被调节以适应于本发明。
在步骤310中,该请求被本发明的MAPE中间件的相应的控制外壳(shell)281接收。
然后,在步骤315中,与本发明MAPE模块283相关联的控制外壳被要求提供虚拟服务的ID。
与图4左侧所描述的活动并发地,MAPE模块283以图4右侧所描述的无穷循环根据现有技术的模块间通信相互合作,并进行相应的步骤510即测量当前工作负荷、步骤515即在第一数据存储器即上述的数据存储器282中存储所测量的工作负荷数据、步骤520即将所测量的工作负荷与所存储的策略相比较、步骤530即选择适应性控制计划、以及步骤540即在步骤540中分配或释放资源。
这样,由MAPE功能性所使能,服务动态实例222、224、226被本发明的自主工作负荷管理者270的上述控制外壳分配给来到的请求,该分配在相应的步骤318中被接收。
在下一步,步骤320中,该请求被发送给服务动态实例222。
在步骤330中,该服务动态实例222记录所接收的消息到提供给该服务动态实例222的消息存储器242中.该操作消息存储器是位于某专用服务器的物理存储器,该专用服务器优选地位于掌管自主工作负荷管理者270的银行机构附近.
另外参考图5给出对示例性数据集的描述,以披露根据本发明提供的这种消息存储器242、244、246中存储的元信息。
多个数据集40A、B、......N的每个通常包括数据集ID 41。这可以是根据现有技术所管理的索引,用于容易地找到给定的数据集,它是适应于消息存储设备和特性来实现的。如果这是关系数据库,则可使用现有技术的关系关键字段。
另外,存储逻辑终端的ID 42以便于得知发起源,即哪个机器送出相应的请求。由于为保证商业数据和处理的完整性有时需要反转(rollback)处理,所以这是不可避免的。
另外,存储消息ID 43以便于参考哪个商业数据46属于哪个消息。
另外,存储回复地址44以便于提供给反向消息流,例如为了确认或错误表示的目的。
另外,以及可选地,存储动态实例标识符45用于进行查核的目的;这样做,这是因为由于动态实例可能被释放从而放松它们的标识,这使得用现有技术无法追踪被释放的实例所以已用过的动态实例的标识不能被重构。
返回参考图4中的控制流,在步骤340中,通过现有技术中存在的所述安全银行网络150传递消息,并完成消息传送。
本发明的基于用户定义的策略的自主管理者270,现在被假定由于步骤510中的测量服务并通过与相应服务质量策略中的相应工作负荷限制设置进行比较520,而检测峰值工作负荷。这种工作负荷可以假定由于终端112、114和其他未图示的终端发出的增加的货币转账量而出现。
然后,利用另外的所关联的消息存储器244、246等等建立相应数量的新服务动态实例224、226等等,以便服务于增加的负载。通过在步骤540中分配相应的资源,即如涉及“虚拟服务”的上述现有技术所知的硬件、软件和服务而完成的。
然后,在步骤550,将消息存储器244、246同步于之前已分配的消息存储器242。在此方面,可优选地应用关注于高速同步和永久数据一致性的现有技术数据同步技术,可能包括现有技术的回转(roll back)方法,以便于保护商业数据的一致性。这样,可以有利地仅复制差量(delta)信息,以保持同步数据数量低。
优选的发明中间件的关键特征在于,当由客户端应用程序使用实例时以动态方式管理它的实例的能力。例如,返回参考图3,为实施性能相关的服务目标,当实例被绑定于使用其的一个或多个应用程序时,可能需要在不同的消息代理环境中移动和重新掌管实例222、224或226。
因为这些应用程序不应当依赖于例如由消息队列管理者和消息队列名称所暗示的实例拥有的接口消息队列的实际“位置”的知识,因此有利地在每个客户端应用程序和与其交互的服务之间使用符号间接(symbolicindirection)。为此目的,使用由OGSI所定义的服务句柄(service handle)作为每个服务的符号名称。在该服务能被访问之前,需要客户端应用程序分解该句柄(handle)成服务引用(service reference),它用作该服务的地址。如果服务引用因为该服务已被重定位而变得“陈旧”或无效,则应用程序再次进行句柄解析处理,获得对于该服务在它的新位置的新引用。
然后,逻辑终端202可被假定提交另一请求消息,指定相应的货币数量。该请求寻址到虚拟服务212并被路由到服务动态实例224,因为前述的服务动态实例212不可用。
服务动态实例224记录所接收的消息到它相应的消息存储244中。
从而,根据本发明把对消息存储器244的结果变化从存储器244复制到242和存储器246,以及其他任何使用中的存储器。
应该理解,为了增加清楚度而使前面的描述和相应的附图保持简单。在实际中,配备本发明的方法以适应于成百上千的如资金转账等的处理,这些处理通常使用相应的大量逻辑终端、客户端应用程序、虚拟服务、动态实例和在操作消息存储器中的数据组来并发处理。
如大数量的处理例如示例货币转账已完成,并且相对较小数量的处理进入,即工作负荷降低,在步骤510、520中的测量服务将决定不再使用某些已分配的服务和实例。在此情况下,由现有技术重新分配它们。
图6是包括其软件接口的本发明的MAPE模块的优选实施例的系统视图。将额外参考图4。辅助这些图,下面更具体地描述在四个本发明MAPE模块(M、A、P、E)中的处理的控制流:
监视器(M)610收集来自各种源的数据,例如动态实例。它的输入参数(左边箭头)包括:请求者逻辑终端,所请求的服务的类型。
分析器(A)620评估由监视器所提供的原始数据,相对用户所定义的策略进行检查,并检测潜在的问题。它的输入参数包括用户所定义的策略。
计划模块(P)630确定所需的动作,诸如额外的动态实例的创建或当由于重新减少的工作负荷而不再需要动态实例时它们的释放。它的输入参数包括由分析器所确定的偏差和其他结果。
执行模块(E)640执行由计划模块所定义的动作,例如调用新创建的服务或它们的释放。
在所述MAPE控制流中所提供的错误控制包括优选地处理例如在检测到相比于执行模块640能继续工作的更多的潜在问题时发生的意外工作负荷的情况。然后,优选地收集这些问题,并发送到现有技术队列机制以便于进一步处理。优选地,单独发送通知,使得在未来的情况中系统能为这些意外情况做准备。
本发明可以硬件、软件或硬件和软件的结合实现中。根据本发明的工具能在一个计算机系统中以集中式方式实现,或以分布式方式(其中不同的元件被分散于几个相互连接的计算机系统)实现。可适用于任何种类的计算机系统或其他适用于实施此处所描述的方法的设备。硬件和软件的典型的结合可以是具有计算机程序的通用计算机系统,当该计算机程序被装载并执行时,它控制计算机系统使得它实施此处所描述的方法。
本发明也可被嵌入在包括使能实现此处所描述方法的所有特性的计算机程序产品中,且当该计算机程序产品被装载进计算机系统时,它能够实施这些方法。
本文中的计算机程序装置或计算机程序表示一组指令的以任何语言、代码或符号的任何表述,该指令旨在使得具有信息处理能力的系统直接地或经过以下两种行为之一或两者之后实施具体功能:
a)转换成其他语言、代码或符号;
b)以不同材料形式复制。
Claims (14)
1.一种用于在网络环境中管理基于消息的工作负荷的方法,其中多个客户端应用程序(110、112、114)经由相应的网络服务(106)使用网络资源(104),特征在于包括如下步骤:
a)监视并测量当前工作负荷,
b)在第一适当的数据存储器(282)中存储所测量的工作负荷数据,
c)在第二适当的消息存储器(242、244、246)中存储关于多个当前所使用的服务动态实例(222、224、226)的状态信息,
d)分析所述所存储的、所测量的工作负荷数据和所述状态信息,以符合预定的服务质量策略,
e)调节可用服务动态实例(222、224、226)的数目,以使得工作负荷满足所述预定的服务质量策略所需的工作负荷需求,
f)其中所述服务实例的元数据(41、42......47)在消息存储器(242)中被管理,其数据内容被同步,以便使该多个客户端应用程序(110、112、114)在它们操作期间解除绑定于固定的特定服务实例。
2.根据权利要求1所述的方法,其中,多个消息存储器(242、244、246)被用于管理所述元数据。
3.根据权利要求2所述的方法,其中,单个消息存储器(242)由单个消息服务器所掌管。
4.根据权利要求1所述的方法,其中,所述工作负荷包括金融服务的消息处理。
5.根据权利要求1所述的方法,其中,调节可用实例的数目的步骤包括跨越预定的克隆服务动态实例(222、224、226)池的平衡。
6.根据权利要求1所述的方法,其中,调节可用实例的数目的步骤包括消息队列管理者聚类。
7.根据权利要求1所述的方法,其中,基于消息类别区分实现工作负荷优先次序区分。
8.根据权利要求7所述的方法,其中,在消息类别内,基于消息内容实现进一步的优先次序区分。
9.根据权利要求1所述的方法,其中,有限状态机(FSM)被用于管理跨越事务生命周期的状态信息和在单独消息之间的相关数据。
10.根据权利要求1所述的方法,其中,包含了关系的以及XML信息的消息存储器(242、244、246)被用于管理跨越事务生命周期的状态信息和在单独消息之间的相关数据。
11.根据权利要求2或3所述的方法,其中,下列各项的任一个或组合被用于实现多个消息存储器(242、244、246)的同步:
a)数据联盟,
b)数据复制,
c)数据高速缓存,
d)基于硬件的协议。
12.根据权利要求1所述的方法,其中,由状态网络服务协议管理状态实例。
13.根据权利要求12所述的方法,其中通过开放网格服务架构(OGSA)或WS资源框架提供所述协议。
14.一种用于在网络环境中管理基于消息的工作负荷的计算机系统,其中多个客户端应用程序(110、112、114)经由相应的网络服务(106)使用网络资源(104),其特征在于:
a)用于监视并测量当前工作负荷的装置(610),
b)用于存储所测量的工作负荷数据的第一适当的数据存储器(282),
c)用于存储关于多个当前所使用的服务动态实例(222、224、226)的状态信息的第二适当的消息存储器(242、244、246),
d)用于分析所述所存储的、所测量的工作负荷数据和所述状态信息,以符合预定的服务质量策略的装置(620),
e)用于调节可用服务动态实例(222、224、226)的数目,以使得工作负荷满足所述预定的服务质量策略所需的工作负荷需求的装置(630、640),
f)用于管理所述服务实例的元数据(41、42......47)的消息存储器(242),其数据内容被同步,以便使该多个客户端应用程序(110、112、114)在它们操作期间解除绑定于固定的特定服务实例。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP04106418.9 | 2004-12-09 | ||
EP04106418 | 2004-12-09 | ||
PCT/EP2005/053371 WO2006061262A1 (en) | 2004-12-09 | 2005-07-14 | An on demand message based financial network integration middleware |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101069384A CN101069384A (zh) | 2007-11-07 |
CN101069384B true CN101069384B (zh) | 2010-05-05 |
Family
ID=35219662
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2005800416228A Expired - Fee Related CN101069384B (zh) | 2004-12-09 | 2005-07-14 | 在网络环境中管理基于消息的工作负荷的方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7734785B2 (zh) |
JP (1) | JP5038902B2 (zh) |
CN (1) | CN101069384B (zh) |
WO (1) | WO2006061262A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8108522B2 (en) | 2007-11-14 | 2012-01-31 | International Business Machines Corporation | Autonomic definition and management of distributed application information |
US20090210882A1 (en) * | 2008-02-18 | 2009-08-20 | International Business Machines Corporation | System and methods for asynchronously updating interdependent tasks provided by disparate applications in a multi-task environment |
US8448219B2 (en) * | 2009-04-23 | 2013-05-21 | Novell, Inc. | Securely hosting workloads in virtual computing environments |
US8380962B2 (en) * | 2010-08-16 | 2013-02-19 | Symantec Corporation | Systems and methods for efficient sequential logging on caching-enabled storage devices |
US8839267B2 (en) | 2011-02-21 | 2014-09-16 | Universidade Da Coruna-Otri | Method and middleware for efficient messaging on clusters of multi-core processors |
US9721282B2 (en) * | 2011-12-07 | 2017-08-01 | Amazon Technologies, Inc. | Merchant verification of in-person electronic transactions |
CN106161050B (zh) * | 2015-03-30 | 2020-12-18 | 联想(北京)有限公司 | 问题资源指示装置及问题资源指示方法 |
CN106603277A (zh) * | 2016-11-28 | 2017-04-26 | 北京金融资产交易所有限公司 | 一种薄记建档数据处理系统和方法 |
US10462067B2 (en) | 2017-01-26 | 2019-10-29 | International Business Machines Corporation | Proactive channel agent |
TWI678087B (zh) * | 2018-11-22 | 2019-11-21 | 財團法人工業技術研究院 | 訊息佇列發佈與訂閱之同步方法及其系統 |
US11457057B2 (en) * | 2020-03-11 | 2022-09-27 | Microsoft Technology Licensing, Llc | Systems and methods for establishing highly secure and resilient persistent communication connections |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002089014A1 (en) * | 2001-04-26 | 2002-11-07 | Creekpath Systems, Inc. | A system for global and local data resource management for service guarantees |
US20030053455A1 (en) * | 2000-02-18 | 2003-03-20 | Kryskow Joseph M. | Method of automatically baselining business bandwidth |
WO2003041429A1 (en) * | 2001-11-07 | 2003-05-15 | Teltier Technologies, Inc. | Method and system for supporting differentiated network service for mobile customers and applications |
US20040148373A1 (en) * | 2003-01-23 | 2004-07-29 | International Business Machines Corporation | Service level agreement compliance measurement |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6067412A (en) * | 1995-08-17 | 2000-05-23 | Microsoft Corporation | Automatic bottleneck detection by means of workload reconstruction from performance measurements |
US6510429B1 (en) * | 1998-04-29 | 2003-01-21 | International Business Machines Corporation | Message broker apparatus, method and computer program product |
JP4294879B2 (ja) * | 2001-02-05 | 2009-07-15 | 株式会社日立製作所 | サービスレベル制御機構を有するトランザクション処理システム及びそのためのプログラム |
JP3737460B2 (ja) * | 2002-07-09 | 2006-01-18 | 株式会社東京三菱銀行 | コンピュータ・システム |
US7243351B2 (en) * | 2002-12-17 | 2007-07-10 | International Business Machines Corporation | System and method for task scheduling based upon the classification value and probability |
JP4268830B2 (ja) * | 2003-05-14 | 2009-05-27 | 富士通株式会社 | アーキテクチャのシミュレーションシステム及びシミュレーション方法 |
US7636917B2 (en) * | 2003-06-30 | 2009-12-22 | Microsoft Corporation | Network load balancing with host status information |
US7590736B2 (en) * | 2003-06-30 | 2009-09-15 | Microsoft Corporation | Flexible network load balancing |
US7613822B2 (en) * | 2003-06-30 | 2009-11-03 | Microsoft Corporation | Network load balancing with session information |
US7567504B2 (en) * | 2003-06-30 | 2009-07-28 | Microsoft Corporation | Network load balancing with traffic routing |
-
2005
- 2005-07-14 WO PCT/EP2005/053371 patent/WO2006061262A1/en active Application Filing
- 2005-07-14 US US11/721,202 patent/US7734785B2/en not_active Expired - Fee Related
- 2005-07-14 JP JP2007544853A patent/JP5038902B2/ja not_active Expired - Fee Related
- 2005-07-14 CN CN2005800416228A patent/CN101069384B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030053455A1 (en) * | 2000-02-18 | 2003-03-20 | Kryskow Joseph M. | Method of automatically baselining business bandwidth |
WO2002089014A1 (en) * | 2001-04-26 | 2002-11-07 | Creekpath Systems, Inc. | A system for global and local data resource management for service guarantees |
WO2003041429A1 (en) * | 2001-11-07 | 2003-05-15 | Teltier Technologies, Inc. | Method and system for supporting differentiated network service for mobile customers and applications |
US20040148373A1 (en) * | 2003-01-23 | 2004-07-29 | International Business Machines Corporation | Service level agreement compliance measurement |
Also Published As
Publication number | Publication date |
---|---|
JP5038902B2 (ja) | 2012-10-03 |
JP2008523483A (ja) | 2008-07-03 |
US20090240797A1 (en) | 2009-09-24 |
CN101069384A (zh) | 2007-11-07 |
US7734785B2 (en) | 2010-06-08 |
WO2006061262A1 (en) | 2006-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101069384B (zh) | 在网络环境中管理基于消息的工作负荷的方法和系统 | |
US7174363B1 (en) | Distributed computing system architecture | |
US10789237B2 (en) | Providing a distributed transaction information storage service | |
CN104040526B (zh) | 对虚拟机池中的资源的分派 | |
CN103516777B (zh) | 用于在云计算机环境中进行供应的方法和系统 | |
CN102640475B (zh) | 云计算环境内的云间资源共享的方法和系统 | |
US8996612B1 (en) | System and method for transferring data between a user space and a kernel space in a server associated with a distributed network environment | |
US9213988B2 (en) | Electronic commerce infrastructure system | |
US20090158246A1 (en) | Method and system for building transactional applications using an integrated development environment | |
EP1332430B1 (en) | Systems and methods for providing centralized management of heterogeneous distributed enterprise application integration objects | |
WO2001033316A2 (en) | Method and system for trading user-definable baskets of fungible goods such as securities | |
CN111401752A (zh) | 一种飞轮储能调频共享处理方法、装置、系统及电子设备 | |
US20040093378A1 (en) | Internet document creation system | |
GB2364589A (en) | Configurable anonymous trading system | |
US11042892B1 (en) | Triggering and throttling access to reward card supplier interfaces | |
WO2000028487A2 (en) | Distributed, high performance architecture for online investment services | |
Hulaas et al. | Enhancing Java grid computing security with resource control | |
Eshel | Enterprise application integration in financial services | |
Ramchand | A Systematic Mapping of Microservice Patterns | |
Borghoff et al. | Fundamental Principles of Distributed Systems | |
Akinwunmi et al. | Enhanced Accounting Scheme for Grid Computing Architecture | |
WebSphere | Enabling SOA Using WebSphere Messaging | |
Cohen et al. | Modeling Data Centers as Economic Markets for Dynamic Service Provisioning and Resource Management | |
Yamamoto et al. | Application Server for the Next Generation of Web Applications | |
Al-Jaroodi et al. | An Object-Oriented Approach for High Availability of Applications Integration |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100505 Termination date: 20200714 |
|
CF01 | Termination of patent right due to non-payment of annual fee |