一种用于在成簇数据处理系统中复制存储器内对象的当前状态的系统,在所述成簇数据处理系统中,第一计算机系统包括存储器内对象,而第二计算机系统包括存储器内对象的复制状态,所述系统包括: 存储器内对象的前次复制的状态,其被保持在第一计算机系统中; 差别逻辑,用于确定当前状态和前次复制的状态之间的差值;和 通信逻辑,用于将该差值发送到第二计算机系统,以使用该差值修改复制状态。(*该技术在2023年保护过期,可自由使用*)
【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及成簇计算机系统技术。其找到了对具有数据复制系统的成簇系统和方法的特别应用。
技术介绍
一簇是一组应用服务器实例,运行于独立的服务器上,并被配置成共同运行以产生比单个实例可以提供的可扩展性和可用性更高的可扩展性和可用性。虽然单个应用服务器实例仅可以影响单个主机的运行资源,但是一簇可以横跨多个主机,从而将应用程序执行分布到多个CPU上。虽然单个应用服务器实例易受其主机和操作系统的故障的影响,但是一簇可以继续工作而不管操作系统或主机的故障,从而向客户隐藏了任何这样的故障。在成簇的企业应用程序中,服务器被配置成用于存储器内复制的多播状态(会话)。这确保了在一个服务器失败时,客户立即转向已经备份了所有其他状态的服务器。因此,继续进行交易,而没有中断。在现有系统中,通过将全部状态和对象从一个服务器复制到另一个,来执行存储器内复制。在Enterprise Java Beans(EJB)调用结束(end-of-call)复制配置,每次对象被改变,其全部内容通过多播被广播给网络,并被另一个服务器复制。虽然这不会造成关于小对象复制的问题,但是对于对象大的情况下的应用,它可能造成网络拥塞。由于多播协议倾向于丢掉消息而使得网络通信量可能进一步提高。当消息被丢掉时,它们需要被重发,从而进一步提高了存取等待时间。因此,随着所发送的数据量增加,丢掉消息的概率增加,这造成数据的额外重传。本专利技术提供一种新且有用的对象复制方法和系统,其解决了上述问题。
技术实现思路
在一个实施例中,在第一计算机系统包括存储器内对象和第二计算机系统包括存储器内对象的复制状态的成簇数据处理系统中,提供了用于复制存储器内对象的当前状态的系统。该系统包括在第一计算机系统中保持的存储器内对象的前次复制的状态。差别逻辑确定了当前状态和前次复制的状态之间的差值。通信逻辑可以将该差值发送到第二计算机系统,以使用该差值修改复制状态(replica state)。根据另一实施例,提供了一种用于在成簇数据处理系统中的节点之间交换对象数据的方法。该方法包括在成簇数据处理系统中的第一节点中的存储器中保持对象数据的当前状态。在修改了对象数据的一部分之后,确定被修改的部分。然后,将被修改的部分发送到一个或多个成簇数据处理系统中的其他节点,以便复制该对象数据的当前状态。附图说明在合并到本说明书中并构成本说明书的一部分的附图中,图示了系统和方法的实施例,其以及详细描述在下文中给出,用于描述系统和方法的示例实施例。应当理解图中的单元(框或框组)的所示边界表示边界的一个示例。本领域的普通技术人员应当理解可将一个单元设计为多个单元,或者可将多个单元设计为一个单元。可将作为另一单元的内部部件示出的单元实现为外部部件,且反之亦然。图1是根据本专利技术的具有复制系统的成簇系统的一个实施例的示例系统;图2是在簇节点内的复制系统的另一个实施例的图;图3是将数据复制到故障修复(failover)节点的示例方法学;以及图4是在故障修复节点内复制数据的示例方法学。具体实施例方式下面包括贯穿本公开文本使用的所选术语的定义。所有术语的单一和多种形式都属于每个含义如在此使用的“计算机可读介质”指的是任何介质,其参与直接或间接提供指令和/或数据给处理器以便执行。这样的介质可以采用多种形式,包括,但不限于,非易失性介质、易失性介质和传输介质。非易失性介质可包括,例如,光盘或磁盘。易失性介质可包括动态存储器。传输介质可包括同轴电缆、铜线和光缆。传输介质还可以采用声波或光波的形式,诸如在无线电波和红外数据通信期间产生的那些波的形式。计算机可读介质的常见形式包括,例如,软盘、软碟、硬盘、磁带、或任何其他磁介质、CD-ROM、任何其他光介质、打孔卡、纸带、具有孔图案的任何其他物理介质、RAM、PROM、EPROM、FLASH-EPROM、任何其他存储芯片或卡式磁带、载波/脉冲、或任何其他计算机可读的介质形式。如在此使用的“逻辑”包括,但不限于,硬件、固件、软件和/或每个的组合,以执行(多个)功能或(多个)动作,和/或引起来自另一部件的功能或动作。例如,基于所期望的应用或需要,逻辑可以包括软件控制的微处理器、诸如专门用途集成电路(ASIC)的离散逻辑、或其他编程逻辑器件。逻辑也可完全体现为软件。如在此使用的“信号”包括,但不限于,一种或多种电信号、模拟或数字信号、一个或多个计算机指令、消息、比特或比特流、或可以被接收、发送、和/或检测的其他手段。如在此使用的“软件”包括,但不限于,一种或多种计算机可读和/或可执行指令,其使计算机或其他电子设备以期望的方式执行功能、动作,和/或行为。可以以各种形式,诸如例程、算法、模块或包括来自动态链接库的单独应用程序或代码的程序来体现指令。也可以以各种形式,诸如独立程序、函数调用、servlet、applet、存储在存储器中的指令、部分操作系统或其他类型的可执行指令来实现软件。本领域普通技术人员应当理解软件的形式依赖于,例如,期望应用软件的需求、其运行的环境、和/或设计人/程序员的期望等。如在此使用的“用户”包括,但不限于,一个或多个人、软件、计算机或其他设备、或其组合。图1所示的是成簇处理系统100的一个实施例。每个节点105包括复制系统,其通过发送复制指令而不是整个对象,将存储器内对象复制到其他节点。一般而言,一簇是一组独立服务器或节点105,其合称为单个系统。簇部件可以包括一个或多个诸如服务器1-n的处理器节点,提供点对点通信的簇互联(专用网),和在一个或多个数据存储设备上保持共享的数据文件的存储子系统(未示出)。服务器可以共享盘存取和管理共享的数据文件的资源。每个节点105可以是具有其自己的专用系统存储器以及其自己的操作系统和应用软件的独立计算机系统。应当理解可以在簇中使用不同数量的节点105,可以以不同的配置将其成簇,并且每个节点可以具有与其他节点不同的配置。簇可以提供改善的故障恢复力和超过单个对称多处理器系统的模块化增量系统(modular incremental system)增长。在子系统故障的情况下,成簇确保了高可用性。诸如附加节点、互联和共享盘的冗余硬件提供了更高的可用性。这样的冗余硬件体系结构避免了单点故障,并且提供了故障恢复力。在一个实施例中,一个或多个客户/用户可通过负载均衡器(未示出)来访问簇100,该负载均衡器被编程来将客户请求发送到簇100中的节点105中的任何应用服务器。负载均衡器可以是单独的服务器或者在一个或多个节点105中的软件子系统。客户可以通过互联网、内部网或其他通信网络来访问簇。还参照图1,示出了具有数据复制系统的节点105的简化的示例配置。在该示例中,节点105可以被配置成在诸如Java 2Enterprise Edition(J2EE)平台、Microsoft.NET平台或其他期望平台上执行商用企业应用程序。因此,成簇的系统100包括所选平台的成簇企业应用程序。下面的描述将基于J2EE平台。当然,可以使用其他类型的软件产品和应用程序,而不是商用企业应用程序。该系统还可以包括成簇数据库系统。还可以在诸如UNIX、Windows、Linux或其他可用系统的各种操作系统上实现该系统。每个节点105可以是应用服务器,其通过软件来配置和本文档来自技高网...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】
【专利技术属性】
技术研发人员:凯文·K·常,哈伦·B·塞克斯顿,
申请(专利权)人:甲骨文国际公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。