服务器之间无状态会话的透明迁移制造技术

技术编号:3510996 阅读:177 留言:0更新日期:2012-04-11 18:40
技术允许客户机以对于为其建立了初始会话的应用程序而言是透明的方式,从已经为服务器上的客户机建立的会话迁移到另一个服务器上的另一个会话。会话在以下条件下被转移,即,将要从源节点迁移的会话的会话状态的副本不需要被俘获和被恢复至目标会话。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及管理工作量,并且特别地,涉及多节点计算机系统内的工作量管理。
技术介绍
许多企业数据处理系统依靠多节点数据库服务器来存储和管理数据。这样的企业数据处理系统通常遵循多层模型,该模型在第一层中有多节点数据库服务器,并且在中间层和外层有一个或多个计算机。图1示出了多节点数据库服务器mds11,其在多层体系结构10上执行。服务器(例如多节点数据库服务器mds11)是集成软件构件和计算资源(例如存储器、节点、以及节点上用于执行处理器上的集成软件构件的进程(process))的分配的组合,软件和计算资源的组合用于为一个或多个客户机(client)执行特殊功能。来自多节点计算机系统中的多个节点的资源可以被分配,以运行特殊服务器的软件。节点上的软件和来自该节点的资源的分配的特殊组合是服务器,其在此称为服务器实例或实例。因此,多节点服务器包括可以在多个节点上运行的多个服务器实例。多节点服务器的若干实例甚至可以在同一节点上运行。数据库服务器管理和促进对特殊数据库的访问,处理客户机的访问数据库的请求。多节点数据库服务器(诸如多节点数据库服务器mds11)包括多个“数据库实例”,每个数据库实例都在节点上运行。多节点数据库服务器mds11管理对数据库db11的访问。多节点数据库服务器可以管理和促进对一个或多个数据库的访问。多层体系结构10的中间层包括中间层计算机cmp11,并且外层包括用户计算机cmp12。用户计算机cmp12执行浏览器br11,其与终端用户相互作用。终端用户与浏览器br11的相互作用使得浏览器通过网络(例如因特网)向中间层计算机cmp11发送请求。该请求使得中间层计算机cmp11(客户机c11)上的进程执行应用程序appl11。通过客户机c11执行应用程序appl11使得客户机c11连接到多节点数据库服务器mds11。例如,应用程序appl11可以是定单登记应用程序,其被设置为从浏览器br11接收定单请求。用于该定单登记应用程序的数据存储在db11中。为了处理这些请求,通过客户机c11执行应用程序appl11使得客户机c11连接到数据库db11。一旦连接,则客户机c11发出数据库语句,以检索和操作存储在数据库db11中的数据。相对于多层体系结构中的其它层而言,直接连接到服务器的层在这里指的是包括服务器的客户机。因此,客户机进程c11在这里指的是多节点数据库服务器mds11的客户机。在此使用的术语应用程序是软件单元,其被设置为与服务器功能相互作用并且使用服务器功能。一般地,应用程序包括集成的功能和执行一组相关功能的软件模块(例如,包括机器可执行代码或可解释代码、动态链接库的程序)。应用程序(诸如应用程序appl11)经由客户端接口元件intcomp11与多节点数据库服务器mds11相互作用。应用程序appl11的执行使得客户机c11执行客户端接口元件intcomp11,以与多节点数据库服务器mds11相互作用。应用程序appl11包括客户端接口元件intcomp11的例程(例如函数、程序、对象方法、远程过程)的调用。应用程序通常由卖方和开发组开发,该开发组不同于那些开发服务器和服务器接口(例如多节点数据库服务器mds11和客户端元件intcomp11)的开发组。为了使客户机与多节点数据库服务器mds11相互作用,为客户机在多节点数据库服务器mds11的数据库实例上建立会话(session,对话)。会话(例如数据库会话)是为客户机到服务器(例如数据库实例)建立的特殊连接,通过该连接客户机发布一系列请求(例如,执行数据库语句的请求)。对于在数据库实例上建立的每个数据库会话,会话期间保持会话状态。会话状态包括在数据库会话期间为数据库会话存储的数据。这样的数据包括,例如,为其建立会话的客户机的身份、以及由执行数据库会话内的软件的处理和数据库元件所产生的临时变量值。数据库元件是为数据库服务器提供专业和相关功能的一组软件模块,下面将更详细的描述。数据库元件的例子是Java执行引擎。会话的开始和结束划分工作单元。通常,数据库会话的开始对应于终端用户经由例如浏览器建立与应用程序的交互式会话,并且当终端用户注销时结束。因此,数据库会话的开始和结束取决于应用程序逻辑和终端用户动作,并且可以不受其上建立了会话的服务器的控制。客户端接口元件客户端接口元件(例如客户端接口元件intcomp11)是软件构件,该软件构件存在于服务器的客户机的同一计算机上并且在其上执行,并且被设置为提供在客户机与服务器之间的接口。客户端接口元件intcomp11被设置为执行与多节点数据库服务器mds11连接所需要的详细操作。例如,应用程序appl11调用客户端接口元件intcomp11的函数,以建立到多节点数据库服务器mds11的连接。客户端接口元件然后处理多节点数据库服务器mds11的特殊实例上的连接的详细资料。为了对多节点数据库服务器mds11做出请求,诸如执行查询的请求,应用程序appl11被设置为调用客户端接口元件intcomp11的函数,其然后将相同的请求发送到其上建立了会话的节点和数据库实例。客户端接口元件intcomp11可以产生和/或访问对其它软件模块隐藏的状态,换句话说,该状态不被或可能不被其它软件模块,特别是应用程序appl11引用和访问。这种状态指的是客户端接口元件intcomp11内部的或专用的。例如,为了在多节点数据库服务器mds11上创建数据库会话,应用程序appl11调用客户端接口元件intcomp11的例程。客户端接口元件在多节点数据库服务器mds11内的特殊数据库实例上建立数据库会话,并且存储关于内部数据结构或对象内的数据库会话的详细资料。这种数据结构和对象定义,例如为应用程序建立的会话,并且规定这样的值为,例如,数据库实例上会话的身份、数据库实例的名称、以及用于到数据库实例的连接的网址和端口数。会话的这种详细资料并不被返回到应用程序appl11,应用程序appl11也不能访问这些详细资料。相反地,提供到应用程序appl11的是用于会话的“外部标识符”,例如客户端接口元件intcomp11的内部数据映射到会话的值,或者是对由客户端接口元件intcomp11所生成的对象的索引(reference,参考),以将会话的某些详细资料存储在应用程序appl11不能够访问到的对象的专用属性中。这样,应用程序appl11不“知道”已经为其建立的会话的特殊详细资料;然而,应用程序appl11具有为了能够将已经为应用程序appl11建立的特殊会话识别到客户端接口元件intcomp11所需要的信息。分配工作量管理多节点数据库服务器所需的重要能力是在节点之间分配工作量。分配工作量用于通过最优地平衡节点之间的工作量来提高性能。分配工作量还允许工作从为维护操作而脱机的节点转移到另一个节点。为了提高性能,使用连接时间平衡来分配多节点数据库服务器上的工作量。在连接时间平衡的情况下,当用于客户机的数据库会话被创建时,工作量在连接时间被分配。特别地,当客户机请求在多节点数据库服务器上建立数据库会话时,基于工作量考虑,该会话被放置在实例或节点上。例如,客户机将对会话的请求发送到多节点数据库服务器。多节点数据库服务器确定不比其它节本文档来自技高网...

【技术保护点】
一种用于管理多节点系统上的会话的方法,所述方法包括下列步骤:接收为所述多节点系统的客户机建立特定会话的请求;在所述多节点系统的第一节点上建立第一会话作为所述特定会话;从所述客户机接收第一数据,所述第一数据指示用于在所 述多系统的所述第一节点与第二节点之间转移会话的一个或多个标准;基于所述一个或多个标准,确定将所述第一会话转移到所述多节点系统的所述第二节点;以及响应于确定转移所述第一会话,为所述多节点系统上的所述客户机在所述第二节点上建立第 二会话作为所述特定会话。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:桑贾伊卡卢斯卡尔斯里尼瓦斯戈拉普迪
申请(专利权)人:甲骨文国际公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1