CN104272258B - 用于在事务中间件机器环境中支持隐式版本控制的系统和方法 - Google Patents

用于在事务中间件机器环境中支持隐式版本控制的系统和方法 Download PDF

Info

Publication number
CN104272258B
CN104272258B CN201380024077.6A CN201380024077A CN104272258B CN 104272258 B CN104272258 B CN 104272258B CN 201380024077 A CN201380024077 A CN 201380024077A CN 104272258 B CN104272258 B CN 104272258B
Authority
CN
China
Prior art keywords
service
request
version
application
transaction
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
Application number
CN201380024077.6A
Other languages
English (en)
Other versions
CN104272258A (zh
Inventor
傅华胜
朱盛
李震宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oracle International Corp
Original Assignee
Oracle International Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Oracle International Corp filed Critical Oracle International Corp
Priority claimed from PCT/US2013/045717 external-priority patent/WO2013188691A1/en
Publication of CN104272258A publication Critical patent/CN104272258A/zh
Application granted granted Critical
Publication of CN104272258B publication Critical patent/CN104272258B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/20Network management software packages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44536Selecting among different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及一种可以在事务中间件机器环境中支持应用版本控制的系统和方法。事务服务提供者可以调遣与多个服务版本相关联的至少一项服务。所述线系统可以将一项或多项应用划分成一个或多个应用区块,其中每一个所述应用区块与所述至少一项服务的特定请求版本相关联。随后,事务服务提供者允许所述应用区块中的服务请求者访问具有与所述应用区块相关联的服务版本的所述至少一项服务。

Description

用于在事务中间件机器环境中支持隐式版本控制的系统和 方法
版权声明
本专利申请的公开的一部分包含受到版权保护的材料。因为其出现在专利商标局的专利文献或记录中,版权所有者不反对任何人对该专利申请或专利公开的复制,但在其它方面保留所有的版权。
技术领域
本发明总体上涉及计算机系统和软件,并且特别涉及支持事务中间件机器环境。
背景技术
利用企业IT架构提供各种服务的业务系统可能涉及许多复杂的阶段。这些业务系统可能需要应对多种情形,比如为末端用户改变服务合约,为新顾客提供新的服务合约,在不间断(non-stop)模式下将早前服务升级到新服务,以及对于一些现有顾客保持更早前的服务。此外,IT服务提供者可能希望并行地提供几个版本的服务,并且为特定顾客提供特定变型。此外,一些服务请求者可能希望按照统一的方式访问不同版本的服务,或者甚至在运行时间在不同版本的服务之间进行切换,而其他人则可能不希望显式地应对不同服务版本。这正是本发明的实施例所意图解决的一般领域。
发明内容
这里描述了用于在事务中间件机器环境中支持应用版本控制的系统和方法。事务服务提供者可以调遣与多个服务版本相关联的至少一项服务。所述系统可以将一项或多项应用划分成一个或多个应用区块,其中每一个所述应用区块与所述至少一项服务的特定请求版本相关 联。随后,事务服务提供者允许所述请求区块中的服务请求者访问具有与所述应用区块相关联的服务版本的所述至少一项服务。
在本发明的一个示例性实施例中,一种用于在事务中间件机器环境中支持应用版本控制的系统包括事务服务提供者。所述事务服务提供者包括:用以调遣与多个服务版本相关联的至少一项服务的调遣单元;用以将一项或多项应用划分成一个或多个应用区块的划分器,其中每一个所述应用区块与所述至少一项服务的特定请求版本相关联;以及允许所述应用区块中的服务请求者访问具有与所述应用区块相关联的服务版本的所述至少一项服务的访问单元。
在另一个实施例中,事务服务提供者还可以包括基于事务服务应用配置确定对应于服务请求的服务版本的确定单元。
在另一个实施例中,事务服务提供者还可以包括适于从远程服务接收针对所述至少一项服务的服务请求的接收单元。
附图说明
图1示出了根据本发明的一个实施例的在事务中间件机器环境中支持应用服务版本控制的图示。
图2示出了根据本发明的一个实施例的在事务中间件机器环境中支持隐式版本控制的图示。
图3示出了根据本发明的一个实施例的用于在事务中间件机器环境中支持隐式版本控制的示例性流程图。
图4示出了根据本发明的一个实施例的在事务中间件机器环境中支持版本情境的图示。
图5示出了根据本发明的一个实施例的支持布置在多进程(MP)环境中的Tuxedo应用的图示。
图6示出了根据本发明的一个实施例的在事务中间件机器环境中支持基于版本的路由(VBR)的图示。
图7示出了根据本发明的一个实施例的对应于在分布式事务中间件机器环境中支持基于版本的路由(VBR)的示例性序列图。
图8示出了根据本发明的一个实施例的对应于在事务中间件机器环境中支持基于版本的路由(VBR)的示例性流程图。
图9示出了根据一些实施例的事务服务提供者的功能方框图。
图10示出了根据本发明的一个实施例的事务服务提供者的示例性方框图。
具体实施方式
在附图中作为举例而非限制示出了本发明,其中相同的附图标记表示类似的元件。应当提到的是,在本公开内容提到“一个”或“一些”实施例时不一定是指相同的实施例,而是意味着至少一个。
在这里描述了一种用于提供中间件机器或类似的平台的系统和方法。根据本发明的一个实施例,所述系统包括高性能平台(例如64位处理器技术)、高性能大存储器以及冗余InfiniBand和以太网联网连同应用服务器或中间件环境(比如WebLogic套装)的组合,以便提供包括大规模并行内存中网格的完整的Jave EE应用服务器综合体,其可以被快速准备并且可以按需伸缩。根据一个实施例,所述系统可以被布置成全机架、半机架或四分之一机架或者其他配置,其提供应用服务器网格、存储区域网络以及InfiniBand(IB)网络。中间件机器软件可以提供应用服务器、中间件和其他功能,比如WebLogic服务器、JRockit或Hotspot JVM、Oracle Linux或Solaris以及Oracle VM。根据一个实施例,所述系统可以包括经由IB网络与彼此通信的多个计算机节点、IB交换机网关以及存储节点或单元。当被实施为机架配置时,所述机架的未被使用的部分可以被留空或者由填充件占据。
根据本发明的一个实施例,在这里被称作“Sun Oracle Exalogic”或“Exalogic”的系统是一种用于托管中间件或应用服务器软件(比如Oracle中间件SW套装或WebLogic)的易于布置的解决方案。正如这里所描述的那样,根据一个实施例,所述系统是一个“箱中网格(grid in a box)”,其包括一个或多个服务器、存储单元、用于存储联网的IB结构以及托管中间件应用所需的所有其他组件。通过利用例如真 实应用集群(Real ApplicationClusters)和Exalogic开放存储的大规模并行网格架构,可以对于所有类型的中间件应用给出卓越的性能。所述系统利用线性I/O可伸缩性给出改进的性能,其易于使用和管理,并且给出关键任务可用性和可靠性。
根据本发明的一个实施例,Tuxedo是用于C、C++和COBOL的事务处理系统或者面向事务的中间件或企业应用服务器。其是允许构造、执行和管理高性能、分布式业务应用的软件模块集合,并且已被多种多层应用布置工具用作事务中间件。此外,一种事务中间件系统(比如Tuxedo系统)可以利用具有多个处理器的快速机器(比如Exalogic中间件机器)和高性能网络连接(比如InfiniBand(IB)网络)。
后面对于本发明的描述将Tuxedo系统用作事务处理系统的一个实例。本领域技术人员将认识到,在不做限制的情况下可以使用其他类型的事务处理系统。
应用服务版本控制
根据本发明的一个实施例,事务中间件机器环境可以支持服务版本控制,以便减少客户端和服务器开发努力。事务服务提供者(例如Tuxedo)可以根据服务名称和服务所支持的版本调遣不同的服务。此外,服务请求者(例如请求事务服务的客户端或服务器/服务)只能访问支持相应版本的服务入口(service entry)。
图1示出了根据本发明的一个实施例的在事务中间件机器环境中支持应用服务版本控制的图示。如图1中所示,事务中间件机器环境100中的事务服务提供者110可以提供多种服务,比如事务服务A-B 111-112。事务服务A 111可以包括多个服务入口,例如版本I-III 121-123,事务服务B 112也可以包括多个服务入口,例如版本I-II 131-132。
此外,事务中间件机器环境100中的服务版本控制可以涉及不同的人,比如客户端应用的开发者(例如客户端A-B 101-102),运营或管理团队,布置团队103,以及服务的开发者104。所述这些各方当 中的每一方都具有其自身不同的服务版本要求。
如图1中所示,客户端A 101可以访问事务服务A 111的版本I 121,客户端B 102可以访问事务服务A 111的版本II 122和事务服务B 112的版本II 132。因此,客户端应用A-B101-102的开发者可以将客户端请求划分到具有相同服务名称的不同事务应用服务版本中。此外,客户端应用A-B 101-102的开发者可以切换当前请求情境,以便根据客户端的输入将不同的业务逻辑应用于相同的事务应用。
此外,在运行时间,布置团队103可以在不间断模式下升级事务服务A 111的版本III 123中的事务应用逻辑,并且同时继续应对版本I-II 121-122中的早前服务逻辑。此外,服务开发者104可以在运行时间升级事务服务B 112的版本I 131中的服务逻辑,而不干扰具有相同服务名称的版本II 132的当前活跃服务。
隐式版本控制
根据本发明的一个实施例,事务中间件机器环境可以支持隐式版本控制,其可以是配置驱动的并且可以提供使得用户支持应用版本控制的一种灵活方式。
图2示出了根据本发明的一个实施例的在事务中间件机器环境中支持隐式版本控制的图示。如图2中所示,事务中间件机器环境200中的事务服务器201可以在不同版本(例如版本I-III 211-213)中提供事务服务A 210。
根据本发明的一个实施例,可以使用一个或多个配置文件209来支持隐式版本控制。举例来说,配置文件209可以定义管理分层结构中的不同层级之间的分层结构关系。
如图2中所示,用户可以基于版本范围把各项应用划分成不同的虚拟区块,例如应用区块A-B 203-204。每一个应用区块A-B 203-204可以被配置成应对具有特定版本编号的服务请求。举例来说,应用区块A 203可以应对具有请求版本A 223(例如版本I)的服务请求,应用区块B 204则可以应对具有请求版本B 224(例如版本II)的服务 请求。
此外,用户可以在运行时间改变客户端请求版本和服务版本范围。这样的改变可以经由管理接口单元(例如Tuxedo中的MIB接口/API接口)做出,并且可以在运行时间立即生效。
此外,用户可以通过配置文件209启用/禁用应用版本控制特征。如果应用版本控制被禁用,则可以对现有系统没有影响。如果应用版本控制被启用,则系统可以提供使得用户设定客户端/服务的版本并且在不同层级(例如在应用和/或分组层级)配置服务支持版本范围的一种方式。
举例来说,在Tuxedo中,UBB配置文件和DMCONFIG配置文件都可以被用于支持隐式应用版本控制。顾客可以通过在UBB配置文件的OPTIONS(选项)节段中规定新的应用选项APPVER来启用应用版本控制特征。此外,UBB配置文件和DMCONFIG配置文件可以包括例如REQUEST_VERSION(请求版本)、VERSION_POLICY(版本策略)和VERSION_RANGE(版本范围)之类的属性,以用于在所配置的Tuxedo管理实体中规定版本和可允许的版本范围。
如果应用版本控制特征被启用,则用户可以在UBB配置文件和域配置文件中配置与应用版本有关的信息。另一方面,如果应用版本控制特征未被启用,则用户无法在UBB配置文件中或者通过MIB接口来配置与应用版本特征有关的配置。此外,如果顾客在UBB配置文件中禁用应用版本控制特征,则域配置中的应用版本信息可以不具有影响。
如图2中所示,客户端应用A-B 206-207可以针对提供在事务服务器201上的事务服务A 210发出请求。用户可以经由配置文件209控制客户端请求版本和服务范围。举例来说,在Tuxedo中,用户可以在UBB配置文件中在域层级和分组层级配置与应用版本有关的信息。
UBB配置文件中的REQUEST_VERSION可以被用来确定发送请求的客户端的版本。REQUEST_VERSION的值可以是用数字表示的,其在大于等于0并且小于等于65535(USHRT_MAX)时是有效的。此外,对应于REQUEST_VERSION的默认值可以是“*”,其表明请求版本可以被任 何版本范围接受并且可以调用任何版本的服务。
UBB配置文件中的VERSION_RANGE可以被用来确定对应于服务的可允许版本请求的范围。举例来说,Tuxedo用户可以利用“low_version_number-high_version_number(低版本编号-高版本编号)”的格式在对应于服务选择的分组层级在Tuxedo应用上设定版本范围以简化UBB配置,所述格式表明low_version_number<=VERSION_RANGE<=high_version_number(低版本编号<=版本范围<=高版本编号)。
UBB配置文件中的VERSION_POLICY可以被用来确定版本控制策略。举例来说,一个值可以是“PROPAGATE(传播)”,其表明所述服务在启动新的请求时应当传播传入请求版本而不是使用其自身的请求版本。
在服务调遣期间VERSION_POLICY可以优先于REQUEST_VERSION,也就是说如果对于一项服务配置了REQUEST_VERSION和VERSION_POLICY属性全部二者,则所述服务在启动新的请求时可以传播传入请求版本。
下面的列表1包括用于在Tuxedo配置文件中规定应用版本的各个实例。
列表1
如图2中所示,远程域A 202中的远程服务A 220可以针对本地域中的事务服务A210的某一版本发出请求。此外,本地域中的事务 服务A 210可以请求远程域A 202中的远程服务A 220(即版本I 221或版本II 222)。
根据本发明的一个实施例,用户可以使用配置文件209来配置对应于导入服务的服务版本范围,以及配置来自远程域的服务请求版本。举例来说,在Tuxedo中,用户可以通过在域配置文件中引入新的属性REQUEST_VERSION、VERSION_RANGE和VERSION_POLICY来配置远程服务。
DMCONFIG配置文件中的REQUEST_VERSION可以被用来定义如何将来自特定远程域(例如远程域A 202)的传入服务请求版本映射到本地域中的所配置请求版本。当用户在域配置文件中配置REQUEST_VERSION时,域网关可以改变传入请求版本,否则域网关可以传播传入请求版本。
DMCONFIG配置文件中的VERSION_RANGE可以被用来表明导入远程服务的版本范围。导入远程服务的这一版本范围可以与相应的导出服务的版本范围相同。否则,所述调用即使在本地域中可以被接受,其在远程域处也可能会失败。
此外,DMCONFIG配置文件中的VERSION_POLICY可以被用来确定版本控制策略。举例来说,一个值可以是“PROPAGATE”,其可以被用来确定域网关是否将把来自指定远程域的传入客户端请求的请求版本传播/映射到所配置的请求版本。版本策略可以覆写DMCONFIG配置文件中的请求版本。也就是说当VERSION_POLICY和REQUEST_VERSION全部二者都被配置时,版本策略可以取得优先。此外,如果所述特征被启用并且用户没有在域配置文件中配置请求版本,则域网关可以默认地将客户端请求版本传播经过该域网关。
下面的列表2是示例性Tuxedo域配置文件。
列表2
前面的域配置表明对应于来自REMOTEDOM1的服务请求的请求版本不可由域网关改变,而对应于来自REMOTEDOM2的服务请求的请求版本则可以由域网关改变到4。
此外,域网关可以导入具有被设定为1-3的版本范围的来自REMOTEDOM1的远程服务R_SVC1,这表明只有具有处于该范围内的请求版本的客户端才能在本地域中调用R_SVC1。域网关还可以导入具有被设定为4-6的版本范围的来自REMOTEDOM2的远程服务R_SVC2,从而使得只有具有处于该范围内的请求版本的客户端才能在本地域中调用R_SVC2。
图3示出了根据本发明的一个实施例的对应于在事务中间件机器环境中支持隐式版本控制的示例性流程图。如图3中所示,在步骤301处,事务服务提供者可以调遣与多个服务版本相关联的至少一项服务。此外,在步骤302处,所述系统可以将一项或多项应用划分成一个或多个应用区块,其中每一个所述应用区块与所述至少一项服务的特定请求版本相关联。随后在步骤303处,所述系统允许所述应用区块中的服务请求者访问具有与所述应用区块相关联的服务版本的所述至少一项服务。
根据该实施例,可以向客户端并行地提供各个版本的服务。所述系统可以对于不同版本的服务快速地调度客户端请求。因此,所述系统(其例如被实施在计算机系统中或者被实施为计算机系统)的操作效率得以改进。
版本情境
根据本发明的一个实施例,可以由请求发起者根据其如何加入受到版本控制的应用隐式地创建版本情境。
图4示出了根据本发明的一个实施例的在事务中间件机器环境中 支持版本情境的图示。如图4中所示,可以利用具有多个层级的管理分层结构(比如具有多个分组A-B411-412的域401)来管理受到版本控制的应用400。
此外,可以利用域请求版本410来配置域401,同时可以利用分组请求版本A 413来配置分组A 411。因此,分组A 411中的服务A1-A3 421-423可以具有与分组请求版本A 413一致的请求版本。
此外,由于分组B 412不具有指定的请求版本(或者具有未激活的分组请求版本B414),因此服务B1-B4 431-434可以具有继承自域请求版本410的服务版本编号。
根据本发明的一个实施例,可以在加入受到版本控制的应用时将初始服务请求者隐式地置入版本情境中。因此,所述隐式版本控制可以分层地取决于服务请求者如何加入受到版本控制的应用。此外,用户可以使用版本情境来控制是否可以在服务请求的整个生命周期中传播所述版本信息,其中包括后续的服务路由和调遣。
如图4中所示,客户端A 402可以加入分组A 411中的受到版本控制的应用400,并且可以在其加入分组A 411时与版本情境432隐式地关联。此外,客户端B 403可以加入分组B 412中的受到版本控制的应用400。因此,客户端B 403可以在其加入分组B 412时与版本情境433隐式地关联。
此外,当服务器404在运行时间发起新的服务请求时,可以利用版本情境434对服务器404进行隐式版本控制,并且当服务器405在运行时间发起新的请求时,可以利用版本情境435对服务器405进行隐式版本控制。
根据本发明的一个实施例,隐式版本控制可以具有不同的例外。举例来说,例如在调用将输入消息转发到指定服务的tpforward时,Tuxedo不可改变所转发的请求消息中的请求版本编号。
Tuxedo隐式版本控制实例
在Tuxedo中,在启动请求时,不同的服务请求者(比如各个服务 器和/或服务、原生客户端、工作站客户端以及JOLT客户端)可以根据UBB配置隐式地获取版本情境值。举例来说,所述版本情境值可以是运行时间值,其只有在Tuxedo客户端、服务器或服务作为发起者启动请求时才可以根据UBB配置文件被评估。
图5示出了根据本发明的一个实施例的支持Tuxedo多进程(MP)环境的图示。如图5中所示,Tuxedo应用可以被布置在具有多个机器(例如MACH1501和MACH2502)的多进程(MP)环境500中。此外,可以使用配置文件来配置MP环境500。
下面的列表3示出了示例性UBB配置文件。
列表3
如列表3中所示,可以在UBB配置文件的RESOURCE(资源)、GROUPS(分组)节段中配置REQUEST_VERSION、VERSION_POLICY和VERSION_RANGE属性。
举例来说,利用VERSION_RANGE、REQUEST_VERSION和VERSION_POLICY属性来配置一个分组GRP_L1。因此,该分组中的所有服务器和服务的VERSION_RANGE、REQUEST_VERSION和VERSION_POLICY可以被确定为属于(inhere)分组配置。其结果是,对应于GRP_L1中的服务器SVR_L1 533和SVR_L2 541的VERSION_RANGE属性的值是“1-40”。此外,对应于SVR_L1533和SVR_L2 541的REQUEST_VERSION属性的值是20;同时SVR_L1 533和SVR_L2 541全部二者都可以传播传入请求版本。
另一方面,对于分组GRP_L2则没有配置版本控制属性,并且所述版本控制属性可以被确定为属于域层级(如在RESOURCE节段中规定)。因此,该分组中的所有服务器和/或服务的VERSION_RANGE是“0-2000”;该分组中的所有服务器和/或服务的REQUEST_VERSION是1。由于在域层级上没有VERSION_POLICY,因此该分组中的所有服务器和/或服务可以使用请求版本1而不是传播传入请求版本。
可以根据有关的WSL服务器所属的分组的请求版本确定来自工作站客户端的请求版本。否则,可以根据对应于域的请求版本(即WSL分组和RESOURCES(资源)的REQUEST_VERSION值)确定来自工作站客户端的请求版本。
如图5中所示,工作站客户端(例如/WS-01 511和/WS-01 521)可以经由例如分别由服务器侦听者WSGRP_L1_1:WSL 517和WSGRP_L1_2:WSL 518管理的WSH_01 514和WSH_02515之类的处理程序访问MACH1 501上的服务。此外,工作站客户端/WS-01 521可以通 过由服务器侦听者WSGRP_L1_2:WSL 525管理的处理程序WSH_01 523访问MACH2 502上的服务。
因此,工作站客户端/WS-01511可以隐式地拥有与WSGRP_L1_1:WSL 517相同的REQUEST_VERSION情境值,其由WSGRP_L1_1的请求版本配置确定。在这里,由于WSGRP_L1_1的版本编号被配置为“4”,因此对应于/WS-01 511的隐式版本情境值也可以是4,这意味着当/WS-01 511中的工作站客户端启动请求时,其请求版本值是4。
此外,由于没有对于WSGRP_L1_2规定REQUEST_VERSION关键字值,因此/WS-02 512具有如RESOURCE(资源)节段中所规定的与本地域相同的版本编号。因此,根据所述版本分层结构,/WS-02 512的版本情境编号可以是1,这意味着当来自/WS-02 512的工作站客户端启动新的请求时,所述请求的请求版本是1。
此外,可以通过例如JSH_01 516和JSH_01 524之类的不同处理程序来应对来自/JC-01 513或/JC-01 5522上的不同Jolt客户端的服务请求。
类似地,可以根据Jolt服务器侦听者(JSL)JGRP_L1:JSL 519所属的分组JGRP_L1的请求版本确定对应于来自Jolt客户端(例如/JC-01 513)的服务请求的请求版本。此外,可以根据JGRP_L2:JSL 526所属的分组JGRP_L2的请求版本确定对应于来自Jolt客户端(例如/JC-01 522)的服务请求的请求版本。
另一方面,如果没有为JSL分组规定请求版本,则对应于来自Jolt客户端的服务请求的请求版本是基于如在RESOURCE(资源)节段中规定的本地域的请求版本。
此外,当原生客户端启动新的请求时,如果该原生客户端对于特定分组加入所述应用,则该原生客户端可以在运行时间从分组/域分层结构树获得请求版本值。否则,原生客户端从域层级获得请求版本值。
如图5中所示,例如请求MACH1 501上的服务器XASVR_L1 532的原生客户端可以对于指定分组(例如XAGRP_L1)加入所述应用。因此, 该原生客户端可以在运行时间从分组配置获得请求版本值,即11。另一方面,如果原生客户端在没有指定分组的情况下加入所述应用,则该原生客户端可以在运行时间从分组/域分层结构树获得请求版本值。
根据本发明的一个实施例,当服务器/服务启动新的请求时,所述服务器/服务可以在运行时间从该服务器所属的分组层级获得请求版本值,或者在分组层级未定义请求版本时从域层级获得请求版本值。
对于用户定义的服务器,可以通过服务器分组的REQUEST_VERSION值和域层级下的RESOURCES(资源)中的REQUEST_VERSION值确定隐式版本。当所述服务器在服务器初始化或服务器终止期间调用其他服务时,这一版本可以被用作请求版本。
对于服务,可以通过服务器分组的REQUEST_VERSION值和域层级下的RESOURCES(资源)中的REQUEST_VERSION值来确定隐式版本。其还可能受到VERSION_POLICY配置的影响。当所述服务在服务生存期期间调用其他服务时,这一版本可以被用作请求版本。如果所述服务传播传入请求版本,则该服务在调用其他服务时将传入请求版本用作初始请求版本。
此外,无法对系统服务器(比如DBBL 535、BBL 536和542、BRIDGE(桥接器)510和520、DMGRP:GWT 534以及事件代理)、TMS服务器(比如TMS_XAGRP_L1 531)、TLISTEN进程551和561以及其他接口进程(比如CLI_LI_1 552、CLI_LI_1 562、CLI_LI_2 553和CLI_LI_2563)进行版本控制。这些系统服务器可以总是使用默认版本值(其是任意值)。
此外,对于Tuxedo对话调用,可以在对话连接设立阶段期间(即在tpconnect()中)设立请求版本和版本范围。在所建立的连接上的对话规程中(即在tpsend()/tprecv()中)可能没有版本检查。对于Tuxedo/Q,所述系统可以在FORWARD(转发)队列中支持版本概念,客户端可以向/从所述队列发送tpenqueue()/tedequeue()消息。因此,当客户端将消息置入FORWARD(转发)队列中时,所述FORWARD(转发)队列可以将排入队列的消息转发到支持客户端请求版本的服 务。
基于版本的路由
根据本发明的一个实施例,可以在事务中间件机器环境中支持基于版本的路由(VBR)。
图6示出了根据本发明的一个实施例的在事务中间件机器环境中支持基于版本的路由(VBR)的图示。如图6中所示,事务中间件机器环境600中的事务服务提供者609可以在不同的事务服务器(例如事务服务器A-B 601-602)上提供事务服务A 610。
举例来说,事务服务器A 601可以提供版本I-II 611-612的服务入口(也就是具有版本范围1-2),事务服务器B 602可以提供版本III-IV 613-614的服务入口(也就是具有版本范围3-4)。
此外,事务服务提供者609可以接收来自不同的服务请求者(例如服务请求者A-B605-606)的服务请求。事务服务提供者609可以把接收自服务请求者A-B 605-606的服务请求中的所请求的服务名称与各个可用服务入口相匹配。如图6中所示,事务服务提供者609可以找到事务服务器A-B 601-602,这是因为事务服务器A-B 601-602二者都提供事务服务A 610。
随后,在能够找到与服务请求中的所请求的服务名称相匹配的一个或多个服务入口之后,事务服务提供者609可以使用基于版本的路由(VBR)620机制来做出服务路由决定。举例来说,VBR 620可以把接收自服务请求者(例如服务请求者A 605或服务请求者B 606)的服务请求的请求版本编号与对应于事务服务器A 601和事务服务器B602全部二者的版本范围的两个边界值进行数值比较。
在这里,接收自服务请求者A 605或服务请求者B 606的服务请求可能没有显式地规定请求版本编号。基于隐式版本控制配置,事务服务提供者609可以确定与每一项服务请求相关联的所请求的服务版本。如图6中所示,应用区块A 603中的服务请求者A 605与请求版本A 615(例如版本I)相关联,而应用区块B 604中的服务请求者B 606则与请求版本B616(例如版本III)相关联。
如图6中所示,VBR 620可以把接收自应用区块A 603中的服务请求者A 605的服务请求路由到事务服务器A 601,其提供事务服务A 610的版本I 611。此外,VBR 620可以把接收自应用区块B 604中的服务请求者B 606的服务请求路由到事务服务器B 602,其提供事务服务A 610的版本III 613。此外,当具有匹配的所请求服务名称的所有服务对于受到版本控制的服务请求都不适合时,VBR可以向调用者返回“没有找到入口”错误。
此外,VBR 620可以与其他路由机制一同使用。举例来说,在Tuxedo中,VBR 620可以与几种路由机制一同使用,比如DDR(数据依赖路由)621、TAR(事务亲和性路由)622以及RAR(请求亲和性路由)623。
举例来说,可以利用类似于现有路由算法的那些功能来实施VBR 620。当存在多种路由机制时,Tuxedo可以选择满足所有标准的服务。此外,当一同使用多种路由机制时,用户可以根据其对于这些路由机制如何相互作用的理解来实施更加复杂的路由方案。
根据本发明的一个实施例,事务服务提供者(例如Tuxedo)可以为用户给出多种服务选择和路由算法,从而使得用户可以规划、开发、缩放、布置以及升级其应用。可以使用应用版本控制以便避免使用特殊路由情境以及满足多种划分要求。举例来说,作为OracleFusion Middleware系列中的基础设施产品的一部分,Tuxedo可以在核心框架中支持服务版本控制概念。
图7示出了根据本发明的一个实施例的用于在分布式事务中间件机器环境中支持基于版本的路由(VBR)的示例性序列图。如图7中所示,事务中间件机器环境700可以包括几个事务服务器(例如服务器1 712、服务器2 713和服务器1 3 714),其可以向不同的客户端(例如客户端711)提供各种服务(例如SVC1、SVC2和SVC 3)。
此外,可以使用一个或多个配置文件来配置事务中间件机器环境700,比如TuxedoUBB配置文件和Tuxedo DUBB配置文件。
下面的列表4是示例性Tuxedo UBB配置文件。
列表4
下面的列表5是示例性Tuxedo DUBB配置文件。
列表5
如图7中所示,在步骤701处,服务器1712启动并且广告具有版本范围“1-2”的服务SVC1和SVC2;并且在步骤702处,服务器2713启动并且广告具有版本范围“3-4”的服务SVC1、SVC2和SVC3。
在步骤703处,服务器3714启动并且可以例如通过调用“tpcall SVC2”请求服务SVC2。基于前面的列表4,服务器3 714术语分组“GRP3”,其请求版本被评估为“3”。因此,所述系统可以把所述服务请求路由到服务器2 713,这是因为与该服务请求相关联的请求版本“3”匹配到由服务器2 703广告的SVC2的版本范围。随后在步骤704处,在服务器3 704可以广告具有版本范围“1-3”的服务SVC2和SVC3之前,服务器2 713可以执行SVC2。
此外,在步骤705处,客户端711可以利用针对SVC1的服务请求初始化事务,这例如是通过利用请求版本“1”调用“tpcall SVC1”。所述系统可以将该服务请求路由到服务器1712,其版本范围匹配接收自客户端711的服务请求的请求版本“1”。
随后在步骤706处,服务器1 712可以执行SVC1,其又调用“tpcall SVC3”。所述系统可以将该调用路由到服务器3 714。在步骤707处,服务器3 714可以执行SVC3,并且可以向REMOTEDOM1 715调用服务R_SVC1,这例如是通过利用请求版本3调用“tpcall R_SVC1”。因此,所述系统可以将该服务请求路由到REMOTEDOM1 715,正如列表5中所示出的那样。在步骤708处,REMOTEDOM1 715可以执行远程服务R_SVC1。
此外,本地域可以接收来自远程域(例如REMOTEDOM1 715和REMOTEDOM2 716)的服务请求。如图7中所示,REMOTEDOM1 715和REMOTEDOM2 716二者分别在步骤709和710处都发起“tpcall SVC1”的服务请求操作。
基于列表5中的配置,可以传播接收自REMOTEDOM1 715的服务请 求,其具有原始请求版本“2”。因此,所述系统可以将该服务请求路由到服务器1 712。随后,所述系统可以实施步骤706-708,以便向REMOTEDOM1 715中的服务请求者提供所请求的服务。
此外,接收自REMOTEDOM1 716的具有原始请求版本“6”的服务请求可以被改变到具有请求版本“4”。因此,所述系统可以将该服务请求路由到服务器2 703并且在步骤724处执行所请求的服务SVC1。
图8示出了根据本发明的一个实施例的用于在事务中间件机器环境中支持基于版本的路由(VBR)的示例性流程图。如图8中所示,在步骤801处,事务服务提供者可以利用具有不同服务版本的多个服务入口调遣至少一项服务。此外,在步骤302处,事务服务提供者可以确定与某一服务入口相关联的服务版本是否匹配与接收自服务请求者的服务请求相关联的所请求服务版本。随后在步骤803处,事务服务提供者允许服务请求者访问匹配与服务请求相关联的所请求服务版本的服务入口。
根据一些实施例,图9示出了根据前面所描述的本发明的原理配置的事务服务提供者900的功能方框图。所述器件的各个功能方框可以通过硬件、软件或者硬件与软件的组合来实施,以便实施本发明的原理。本领域技术人员将理解的是,图9中所描述的功能方框可以被组合或分离成子方框,以便实施如前面所描述的本发明的原理。因此,这里的描述可以支持这里所描述的功能方框的任何可能的组合或分离或进一步的定义。
如图9中所示,本发明的一个示例性实施例提供事务服务提供者900。事务服务提供者900可以被使用在如前面所描述的用于在事务中间件机器环境中支持应用版本控制的系统中。事务服务提供者900可以包括调遣单元910、划分器920和访问单元930。调遣单元910可以操作来调遣与多个服务版本相关联的至少一项服务。划分器920可以操作来将一项或多项应用划分成一个或多个应用区块。每一个应用区块可以与所述至少一项服务的特定请求版本相关联。访问单元930可以允许所述应用区块中的服务请求者访问具有与所述应用区块相关联 的服务版本的所述至少一项服务。
在另一个实施例中,事务服务提供者900还可以包括确定单元940。所述确定单元940可以操作来基于事务服务应用配置确定对应于服务请求的服务版本。
在另一个实施例中,事务服务提供者900还可以包括接收单元950。所述接收单元950可以操作来从远程服务接收针对所述至少一项服务的服务请求。
图10示出了根据本发明的一个实施例的事务服务提供者110的示例性方框图。事务服务提供者110包括调遣器1010、划分模块1020和访问控制器1030。调遣器1010调遣与多个服务版本相关联的至少一项服务1040。划分模块1020允许将一项或多项应用划分成一个或多个应用区块1050。每一个应用区块1050与所述至少一项服务1040的特定请求版本相关联。访问控制器1030允许应用区块1050中的服务请求者1060访问具有与应用区块1050相关联的服务版本的所述至少一项服务1040。
本发明可以方便地利用一个或多个传统的通用或专用数字计算机、计算器件、机器或微处理器来实施,其中包括一个或多个处理器、存储器以及/或者根据本公开内容的教导编程的计算机可读存储介质。本领域技术人员将认识到,熟练的程序员可以根据本公开内容的教导很容易地准备适当的软件代码。
在一些实施例中,本发明包括作为其上/其中存储有指令的存储介质或(多种)计算机可读介质的计算机程序产品,所述指令可以被用来对计算机进行编程以便实施本发明的任何处理。所述存储介质可以包括(但不限于)任何类型的盘(其中包括软盘、光盘、DVD、CD-ROM、微驱动器和磁光盘)、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪存器件、磁性或光学卡、纳米系统(其中包括分子存储器IC)或者适合于存储指令和/或数据的任何类型的介质或器件。
前面提供的关于本发明的描述是用于说明和描述的目的。其并不意图进行穷举或者将本发明限制到所公开的确切形式。本领域技术人 员将认识到许多修改和变型。所述修改和变型可以包括所公开的各项技术特征的任何相关组合。选择和描述所述实施例是为了最好地解释本发明的原理及其实际应用,从而使得本领域其他技术人员能够理解适合于所设想的具体用途的本发明的各个实施例和各种修改。本发明的范围应当由所附权利要求书及其等效表述限定。

Claims (21)

1.一种用于在事务中间件机器环境中支持隐式应用版本控制的方法,包括:
由在事务服务器上执行的事务服务提供者调遣具有多个服务入口的服务,所述多个服务入口中的每一个对应于所述服务的不同版本,所述多个服务入口包括第一服务入口和第二服务入口,第一服务入口对应于在事务中间件机器环境中的第一服务器上执行的所述服务的第一版本,第二服务入口对应于在事务中间件机器环境中的第二服务器上执行的所述服务的第二版本,所述服务的第一版本不同于所述服务的第二版本;
从相关联的第一服务请求者接收对于所述服务的第一服务请求,相关联的第一服务请求者驻留在被划分成多个应用区块的相关联的服务应用的所述多个应用区块的第一应用区块中,其中由事务服务提供者将所述多个应用区块中的每一个所述应用区块与所述服务的特定请求服务版本相关联,所述多个应用区块包括第一应用区块和第二应用区块,第一应用区块由事务服务提供者与所述服务的第一请求服务版本相关联,第二应用区块由事务服务提供者与所述服务的第二请求服务版本相关联;
从不同于相关联的第一服务请求者的相关联的第二服务请求者接收对于所述服务的第二服务请求,相关联的第二服务请求者驻留在所述相关联的服务应用的所述多个应用区块的第二应用区块中,第二应用区块不同于所述相关联的服务应用的所述多个应用区块的第一应用区块;
由事务服务提供者确定相关联的第一服务请求者驻留在第一应用区块中;
由事务服务提供者确定相关联的第二服务请求者驻留在第二应用区块中;
基于确定相关联的第一服务请求者驻留在第一应用区块中,由事务服务提供者,经由具有与所确定的应用区块相关联的请求服务版本的第一服务入口和第二服务入口中的选择的第一服务入口,将相关联的第一服务请求路由到在第一服务器上执行的所述服务,从而在事务服务提供者确定相关联的第一服务请求者驻留在第一应用区块中时,允许相关联的第一服务请求者经由第一服务入口访问在第一服务器上执行的所述服务的第一版本;以及
基于确定相关联的第二服务请求者驻留在第二应用区块中,由事务服务提供者,经由具有与所确定的第二应用区块相关联的请求服务版本的第一服务入口和第二服务入口中的选择的第二服务入口,将相关联的第二服务请求路由到在第二服务器上执行的所述服务,从而在事务服务提供者确定相关联的第二服务请求者驻留在第二应用区块中时,允许相关联的第二服务请求者经由第二服务入口访问在第二服务器上执行的所述服务的第二版本。
2.根据权利要求1的方法,还包括:
由事务服务提供者基于事务服务应用配置确定用于服务请求的请求服务版本。
3.根据权利要求2的方法,还包括:
利用至少一个配置文件来提供事务服务应用配置。
4.根据权利要求3的方法,还包括:
在所述至少一个配置文件中规定:
所请求的服务版本的服务版本;
所请求的服务版本的服务版本范围;以及
所请求的服务版本的版本策略。
5.根据权利要求2到4中的任一项的方法,还包括:
在运行时间利用管理接口改变事务服务应用配置。
6.根据权利要求2到4中的任一项的方法,还包括:
在事务服务应用配置中规定具有不同管理层级的分层结构关系,其中较低层级事务服务应用配置能够覆写较高层级事务服务应用配置。
7.根据权利要求1的方法,还包括:
由事务服务提供者从远程服务接收针对所述服务的第二服务请求;以及
将第二服务请求映射到事务服务提供者的本地域中的本地服务请求。
8.根据权利要求1的方法,还包括:
利用至少一个配置文件配置来自远程域的导入服务或客户端请求。
9.根据权利要求1的方法,还包括:
响应于相关联的第一服务请求者加入受到版本控制的应用,由事务服务提供者选择性地将版本情境与服务请求者相关联。
10.根据权利要求1的方法,还包括:
接收服务请求,服务请求中仅包括所述服务的名称。
11.一种用于在事务中间件机器环境中支持隐式版本控制的装置,包括用于执行权利要求1到10中的任一项的方法的操作的构件。
12.一种用于在事务中间件机器环境中支持隐式应用版本控制的系统,包括:
事务服务器,包括一个或多个微处理器;
运行在所述一个或多个微处理器上的事务服务提供者,其中所述事务服务提供者操作为:
调遣具有多个服务入口的服务,所述多个服务入口中的每一个对应于所述服务的不同版本,所述多个服务入口包括第一服务入口和第二服务入口,第一服务入口对应于在事务中间件机器环境中的第一服务器上执行的所述服务的第一版本,第二服务入口对应于在事务中间件机器环境中的第二服务器上执行的所述服务的第二版本,所述服务的第一版本不同于所述服务的第二版本;
从相关联的第一服务请求者接收对于所述服务的第一服务请求,相关联的第一服务请求者驻留在被划分成多个应用区块的相关联的服务应用的所述多个应用区块的第一应用区块中,其中所述多个应用区块中的每一个所述应用区块与所述服务的特定请求服务版本相关联,所述多个应用区块包括第一应用区块和第二应用区块,第一应用区块与所述服务的第一请求服务版本相关联,第二应用区块与所述服务的第二请求服务版本相关联;
从不同于相关联的第一服务请求者的相关联的第二服务请求者接收对于服务的第二服务请求,所述相关联的第二服务请求者驻留在所述相关联的服务应用的所述多个应用区块的第二应用区块中,第二应用区块不同于所述相关联的服务应用的所述多个应用区块的第一应用区块;
确定相关联的第一服务请求者驻留在第一应用区块中;
确定相关联的第二服务请求者驻留在第二应用区块中;
基于确定相关联的第一服务请求者驻留在第一应用区块中,经由具有与所确定的应用区块相关联的请求服务版本的第一服务入口和第二服务入口中的选择的第一服务入口,将相关联的第一服务请求路由到在第一服务器上执行的所述服务,从而在事务服务提供者确定相关联的第一服务请求者驻留在第一应用区块中时,允许相关联的第一服务请求者经由第一服务入口访问在第一服务器上执行的所述服务的第一版本;
基于确定相关联的第二服务请求者驻留在第二应用区块中,经由具有与所确定的第二应用区块相关联的请求服务版本的第一服务入口和第二服务入口中的选择的第二服务入口,将相关联的第二服务请求路由到在第二服务器上执行的所述服务,从而在事务服务提供者确定相关联的第二服务请求者驻留在第二应用区块中时,允许相关联的第二服务请求者经由第二服务入口访问在第二服务器上执行的所述服务的第二版本。
13.根据权利要求12的系统,其中:
事务服务提供者操作为基于事务服务应用配置选择性地确定用于服务请求的请求服务版本。
14.根据权利要求13的系统,其中:
利用至少一个配置文件来提供事务服务应用配置。
15.根据权利要求14的系统,其中:
所述至少一个配置文件规定以下各项的至少其中之一:
所请求的服务版本的服务版本;
所请求的服务版本的服务版本范围;以及
所请求的服务版本的版本策略。
16.根据权利要求13到15中的任一项的系统,其中:
在运行时间能够利用管理接口改变事务服务应用配置。
17.根据权利要求13到15中的任一项的系统,其中:
事务服务应用配置规定具有不同管理层级的分层结构关系,其中较低层级事务服务应用配置能够覆写较高层级事务服务应用配置。
18.根据权利要求12的系统,其中:
事务服务提供者操作为从远程服务接收针对所述服务的第二服务请求。
19.根据权利要求12的系统,其中:
利用至少一个配置文件配置来自远程域的导入服务或客户端请求。
20.根据权利要求12的系统,其中:
当相关联的第一服务请求者加入受到版本控制的应用时,服务请求者隐式地创建版本情境。
21.一种其上存储有指令的非瞬时性机器可读存储介质,所述指令在被执行时使得系统实施权利要求1到10中的任一项的方法的步骤。
CN201380024077.6A 2012-06-13 2013-06-13 用于在事务中间件机器环境中支持隐式版本控制的系统和方法 Active CN104272258B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201261659307P 2012-06-13 2012-06-13
US61/659,307 2012-06-13
US13/915,482 US10291486B2 (en) 2012-06-13 2013-06-11 System and method for supporting implicit versioning in a transactional middleware machine environment
US13/915,495 US10263854B2 (en) 2012-06-13 2013-06-11 System and method for supporting version based routing in a transactional middleware machine environment
US13/915,482 2013-06-11
US13/915,495 2013-06-11
PCT/US2013/045717 WO2013188691A1 (en) 2012-06-13 2013-06-13 System and method for supporting implicit versioning in a transactional middleware machine environment

Publications (2)

Publication Number Publication Date
CN104272258A CN104272258A (zh) 2015-01-07
CN104272258B true CN104272258B (zh) 2018-06-05

Family

ID=49775383

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201380024077.6A Active CN104272258B (zh) 2012-06-13 2013-06-13 用于在事务中间件机器环境中支持隐式版本控制的系统和方法
CN201380024093.5A Active CN104272259B (zh) 2012-06-13 2013-06-13 用于在事务中间件机器环境中支持基于版本的路由的系统和方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201380024093.5A Active CN104272259B (zh) 2012-06-13 2013-06-13 用于在事务中间件机器环境中支持基于版本的路由的系统和方法

Country Status (3)

Country Link
US (2) US10291486B2 (zh)
KR (2) KR102103493B1 (zh)
CN (2) CN104272258B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9262150B2 (en) 2012-09-22 2016-02-16 Avaya Inc. Services versioning
US9519509B2 (en) * 2014-10-21 2016-12-13 Oracle International Corporation System and method for supporting transaction affinity based request handling in a middleware environment
US10284646B2 (en) 2014-12-17 2019-05-07 International Business Machines Corporation Application multi-versioning in a traditional language environment
KR102285422B1 (ko) 2015-02-16 2021-08-04 주식회사 만도 긴급 제동 시스템 및 그의 제동 제어 방법
US10447103B2 (en) 2015-06-28 2019-10-15 Linear Labs, LLC Multi-tunnel electric motor/generator
US10476362B2 (en) 2015-06-28 2019-11-12 Linear Labs, LLC Multi-tunnel electric motor/generator segment
US9736259B2 (en) * 2015-06-30 2017-08-15 Iheartmedia Management Services, Inc. Platform-as-a-service with proxy-controlled request routing
US10305731B2 (en) 2015-07-07 2019-05-28 Oracle International Corporation System and method for provisioning cloud services across heterogeneous environments using partitioned provisioning instructions stored on a configuration management server
US10530892B2 (en) * 2015-09-28 2020-01-07 Microsoft Technology Licensing, Llc Processing request for multi-versioned service
US20170228252A1 (en) * 2016-02-10 2017-08-10 Qualcomm Incorporated System and method for multi-tile data transactions in a system on a chip
US10353750B2 (en) 2017-03-03 2019-07-16 International Business Machines Discovery and exposure of transactional middleware server-based applications as consumable service endpoints
CN108628642B (zh) * 2017-03-20 2021-07-30 北京京东尚科信息技术有限公司 切换系统的版本的方法和装置以及存储介质
CN110704295B (zh) * 2018-07-10 2023-04-11 阿里巴巴集团控股有限公司 一种数据调用方法、装置、设备及系统
US11755311B1 (en) * 2023-02-15 2023-09-12 Snowflake Inc. Versioned schema

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1864160A (zh) * 2003-08-07 2006-11-15 蒂蒙系统公司 包括使用多种操作协议的协议接口设备的通信系统及相关方法
US7506336B1 (en) * 2005-06-29 2009-03-17 Emc Corporation System and methods for version compatibility checking

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6212557B1 (en) 1990-01-29 2001-04-03 Compaq Computer Corporation Method and apparatus for synchronizing upgrades in distributed network data processing systems
US5572675A (en) 1991-05-29 1996-11-05 Alcatel N.V. Application program interface
US20080281969A1 (en) * 2000-12-15 2008-11-13 Horton John C Controlling access to versions of application software by a server, based on site ID
US7478148B2 (en) 2001-01-16 2009-01-13 Akamai Technologies, Inc. Using virtual domain name service (DNS) zones for enterprise content delivery
FI20010828A (fi) * 2001-04-23 2002-10-24 Nokia Corp Erilaisten palveluversioiden käsitteleminen palvelimessa
AU2003297764A1 (en) 2002-12-09 2004-06-30 Bea Systems, Inc. System and method for single security administration
US7277453B2 (en) 2003-05-30 2007-10-02 Motorola, Inc. Inter private network communications between IPv4 hosts using IPv6
US7650338B2 (en) * 2003-07-03 2010-01-19 Ebay Inc. Method and system for managing data transaction requests
US8135759B2 (en) * 2003-08-07 2012-03-13 Teamon Systems, Inc. Communications system including protocol interface device for use with multiple operating protocols and related methods
KR20050057910A (ko) * 2003-12-11 2005-06-16 (주)엠엑스텐 실시간 트랜잭션을 지원하는 모바일 미들웨어 시스템 및모바일 비즈니스 방법, 그리고 모바일 비즈니스 개발 지원방법
US7124062B2 (en) * 2003-12-30 2006-10-17 Sap Ag Services search method
US7797698B2 (en) * 2004-11-17 2010-09-14 International Business Machines Corporation Method and apparatus for dynamic middleware assembly
US9274830B2 (en) 2004-11-18 2016-03-01 Aol Inc. Service clean-up
KR100894813B1 (ko) * 2004-12-23 2009-04-24 에스지어드밴텍(주) 특정 프로그램의 효율적 자동 배포 및 설치를 위한 네트워크 배포 영역의 피어-투-피어(Peer To Peer) 분산 방법 및 시스템
US20060155857A1 (en) 2005-01-06 2006-07-13 Oracle International Corporation Deterministic session state management within a global cache array
US7779034B2 (en) 2005-10-07 2010-08-17 Citrix Systems, Inc. Method and system for accessing a remote file in a directory structure associated with an application program executing locally
CN102929659B (zh) 2005-10-07 2016-05-04 茨特里克斯系统公司 用于在应用程序的预定数量的执行方法之间选择的方法
US7783666B1 (en) * 2007-09-26 2010-08-24 Netapp, Inc. Controlling access to storage resources by using access pattern based quotas
US8131872B2 (en) * 2008-05-30 2012-03-06 International Business Machines Corporation Affinity-based transaction processing
US8117317B2 (en) * 2008-12-31 2012-02-14 Sap Ag Systems and methods for integrating local systems with cloud computing resources
US8301717B2 (en) * 2009-06-09 2012-10-30 Deshpande Enterprises, Inc. Extended virtual memory system and method in a computer cluster
US8543676B2 (en) * 2009-06-16 2013-09-24 International Business Machines Corporation Delegated resource use in a content based routing environment
CN101977220B (zh) 2010-10-14 2015-06-03 中兴通讯股份有限公司 一种功能子系统间不同版本功能模块的匹配方法及装置
US9391949B1 (en) 2010-12-03 2016-07-12 Amazon Technologies, Inc. Request routing processing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1864160A (zh) * 2003-08-07 2006-11-15 蒂蒙系统公司 包括使用多种操作协议的协议接口设备的通信系统及相关方法
US7506336B1 (en) * 2005-06-29 2009-03-17 Emc Corporation System and methods for version compatibility checking

Also Published As

Publication number Publication date
CN104272259B (zh) 2018-01-02
KR20150023335A (ko) 2015-03-05
CN104272258A (zh) 2015-01-07
KR102103493B1 (ko) 2020-04-23
US10263854B2 (en) 2019-04-16
KR102072727B1 (ko) 2020-03-02
US20140033190A1 (en) 2014-01-30
CN104272259A (zh) 2015-01-07
US10291486B2 (en) 2019-05-14
US20130346607A1 (en) 2013-12-26
KR20150023354A (ko) 2015-03-05

Similar Documents

Publication Publication Date Title
CN104272258B (zh) 用于在事务中间件机器环境中支持隐式版本控制的系统和方法
US9317338B2 (en) Method and system for modeling and analyzing computing resource requirements of software applications in a shared and distributed computing environment
EP3138003B1 (en) System and method for supporting a bypass-domain model and a proxy model and updating service information for across-domain messaging in a transactional middleware machine environment
EP2815346B1 (en) Coordination of processes in cloud computing environments
JP4422606B2 (ja) 分散型アプリケーションサーバおよび分散された機能を実施する方法
US8117611B2 (en) Method, system, and program product for deploying a platform dependent application in a grid environment
US20090249287A1 (en) System and method for an infrastructure that enables provisioning of dynamic business applications
CN109313564A (zh) 用于支持多个不同租户的高度可用虚拟桌面的服务器计算机管理系统
US8346856B2 (en) Client environment creation system, client environment creation method, client environment creation program and storage medium
CN109445802A (zh) 基于容器的私有化Paas平台及其发布应用的方法
US10715457B2 (en) Coordination of processes in cloud computing environments
US10761869B2 (en) Cloud platform construction method and cloud platform storing image files in storage backend cluster according to image file type
US8027817B2 (en) Simulation management within a grid infrastructure
CN108804238A (zh) 一种基于远程过程调用的软总线通信方法
CN109347661A (zh) 消费者vnf的实例化方法及装置
CN110019145B (zh) 一种大数据平台的多环境级联的方法和装置
WO2013188697A1 (en) System and method for supporting version based routing in a transactional middleware machine environment
US11872497B1 (en) Customer-generated video game player matchmaking in a multi-tenant environment
US11438459B2 (en) Dynamically modifying call flow management using a common data model interface for automated call distribution systems
Ping Application of the Extension Point and Plug-Ins Idea in Transmission Network Management System
NZ757317B2 (en) System and method for self-deploying and self-adapting contact center components
CN111581203A (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
GR01 Patent grant
GR01 Patent grant