在多主机计算环境下对数据访问的串行化的制作方法

文档序号:6496969阅读:129来源:国知局
在多主机计算环境下对数据访问的串行化的制作方法
【专利摘要】多主机操作系统串行化方法可以包括:在第一计算系统中接收请求而以第一对等应用的名义访问数据集;在所述第一计算系统中发送通知给第二对等应用以获得正常入队;响应于第二对等应用获得所述正常入队,在所述第一计算系统中获得用于所述数据集的第一附文入队;并且在所述第一计算系统中发送通信到对等实例以获得用于所述数据集的附加附文入队,所述附加附文入队对应于所述第一附文入队。
【专利说明】在多主机计算环境下对数据访问的串行化
【技术领域】
[0001]本发明涉及多主机计算系统,并更具体地涉及用于在多主机或混杂计算环境下对数据访问的串行化的系统和方法。
【背景技术】
[0002]在典型的多主机计算环境中,主机可以包括多个服务器。例如,在Systemz混合环境中,IBM_? System z主机(例如,zEnterprise ? 196)耦接到位于一个或多个IBM ?BladeCenter⑧实例中的IBM ?刀片服务器。耦接是经由传输控制协议/因特网协议(TCP/IP)通过以太网网络来实现的。如果任何数据需要从主机传输到服务器,则该数据经过以太网网络。涉及多主机计算环境中的高容量和高速数据传输的应用(诸如数据库访问(例如,经由直接访问存储装置(DASD))可以包括可能影响主机中其他工作的可观处理。
[0003]利用在协调数据传输的服务器上的合适的信道实现,服务器和主机可以共享到同一数据库存储装置(例如,DASD)的访问。这样,服务器可以直接访问数据并加载数据,而不需要很多主机处理或通过以太网网络的传输。
[0004]在管理同时容纳的工作单元的多主机操作系统中,串行化(例如,全局资源串行化(GRS))是确保对数据集的多个冲突访问进行串行化以使得保留数据的完整性的机制。例如,如果多个用户被允许在相同时间更新相同的数据集,则可能会发生数据损坏。串行化允许用户更新数据集以在用户更新数据集的同时获得对数据集的排他访问。然而,有时存在不是多主机操作系统的一部分的服务器,但仍然访问在多主机操作系统服务器和外部计算机之间共享的共同数据库。在这种情况下,由多主机操作系统上的资源所有者选择使用的串行化服务可能对外部服务器不可用。在这种情况下,无法将对在多主机操作系统上运行的程序和在外部服务器操作系统上同时运行的程序之间的数据集资源的访问进行串行化。

【发明内容】

[0005]示例性实施例包括多计算系统串行化方法,包括在第一计算系统中接收请求而以第一对等应用的名义访问数据集;在所述第一计算系统中发送通知给第二对等应用获得正常入队;响应于第二对等应用获得所述正常入队,在所述第一计算系统中获得用于所述数据集的第一附文入队;并且在所述第一计算系统中发送通信到对等实例以获得用于所述数据集的附加附文入队,所述附加附文入队对应于所述第一附文入队。
[0006]另外的示例性实施例包括计算机程序产品,该计算机程序产品包括存储用于使得计算机实现多主机操作系统串行化方法的指令的非临时计算机可读介质。该方法可以包括:在第一计算系统中接收请求而以第一对等应用的名义访问数据集;在所述第一计算系统中发送通知给第二对等应用获得正常入队;响应于第二对等应用获得所述正常入队,在所述第一计算系统中获得用于所述数据集的第一附文入队;并且在所述第一计算系统中发送通信到对等实例以获得用于所述数据集的附加附文入队,所述附加附文入队对应于所述第一附文入队。
[0007]进一步的示例性实施例包括多主机系统,包括:第一服务器主机、第二服务器主机,其中,第一和第二主机是逻辑系统的一部分;通信地耦接到第一和第二服务器主机的服务器、由第一和第二主机和所述服务器可访问的数据集、以及驻留在第一和第二服务器主机的至少一个中的进程,所述进程配置为以所述服务器的名义利用串行化访问所述数据集。
[0008]通过本发明的技术实现附加特征和优点。本发明的其它实施例和方面在本文中详细描述并且被认为是所要求保护的发明的一部分。为更好地理解本发明的优点和特征,参考本说明书和附图
[0009]附图标记
[0010]在本说明书的结论处,在权利要求书中特别指出并清楚地要求保护被认为是本发明的主题。本发明的前述和其他特征以及优点根据结合附图的以下详细描述而明显,其中:
[0011]图1图示了用于对数据源的访问的串行化的示例性系统;
[0012]图2图示了依据示例性实施例的、用于对数据集的访问的串行化的方法200的流程图;以及
[0013]图3图示了如下系统的示例性实施例,该系统可以被实现以在多主机环境中在支持数据串行化的系统和不支持串行化的系统之中对数据的访问进行串行化。
【具体实施方式】
[0014]在示例性实施例中,这里描述的系统和方法在多主机环境中在支持数据串行化的系统和不支持串行化的系统之中对数据的访问进行串行化。图1图示用于对数据源的访问的串行化的示例性系统100。系统100包括第一多主机配置105和第二多主机配置150。在示例性实施例中,多主机配置105、150经由管理接口 103管理每个支持不同操作系统的一个或多个主机或其他计算系统。例如,第一多主机配置105可以包括具有一个或多个服务器模块115的第一服务器主机110。在这里描述的示例中,服务器模块运行可以支持多工作负荷的操作系统(例如,z/OS)。第一多主机配置105可以进一步包括具有计算系统125的附加服务器120,该计算系统125运行与运行在第一服务器主机110中的服务器模块115上的操作系统不同的操作系统(例如,Linux)。第二多主机配置150可以包括具有一个或多个服务器模块160的第二服务器主机155。在这里描述的示例中,服务器模块运行可以支持多工作负荷的操作系统(例如,z/OS)。第二多主机配置150可以进一步包括具有计算系统170的附加服务器165,该计算系统170运行与运行在第一服务器主机110中的服务器模块115上的操作系统以及运行在第二服务器主机155中的服务器模块160上的操作系统不同的操作系统(例如,Linux)。
[0015]在示例性实施例中,例如,第一和第二主机110,155可以是单一逻辑系统(例如,
Parallel Sysplex?i配置)ιο?的一部分,在该单一逻辑系统中,第一和第二主机110,155
一起用作组合数据共享和并行计算的单一系统。这样,服务器模块115,160可以用作它们各自服务器主机110,155内的单一单兀。运行在服务器模块115,160上的操作系统(例如,z/OS? )可以支持诸如使能对串行可重新使用的计算资源(诸如,数据集和磁带驱动器)或虚拟资源(诸如,列表、队列)的公平访问的串行化之类的各种组件,并控制模块。驻留在服务器模块115,160上的程序可以请求对资源的排他访问(这意味着,该程序以及全部后续请求程序被阻挡,直到该程序被赋予对资源的访问),通常在程序需要更新资源或已共享访问(这意味着多个程序可以被赋予对资源的访问)时请求,通常在程序仅需要查询资源的状态时请求。串行化以FIFO(先进先出)顺序管理全部请求。这样,系统100进一步包括由服务器模块115,160可访问的数据集102。可以意识到,数据集102可以驻留在任何合适的存储装置中。在服务器模块115,160上的各个操作系统实现串行化以协调对数据集102的多个访问,防止冲突并保留数据整体性。然而,另外的服务器120,165运行不支持所要求串行化的操作系统(例如,Linux? ) ο在示例性实施例中,如这里进一步所述的,系统包括另外的组件来对在不支持串行化的服务器120,165上的操作系统提供串行化。
[0016]在不例性实施例中,系统100是服务器模块115,160上的操作系统与服务器120,165的混合,服务器模块115,160支持允许对数据集102进行不冲突受控访问的串行化,服务器120,165不支持可以引起数据集102中冲突以及数据整体性损失的串行化。例如,系统100在运行在服务器模块115上的程序116以及同时运行在服务器120上的程序121之中进行对数据集102的访问的串行化。出于说明目的,讨论服务器模块115上的单一程序116以及服务器120上的单一程序121。可以理解,可以考虑在这里所描述的其它服务器模块和服务器上的其他程序。这样,在数据集102由服务器120上运行的应用程序访问之前,在服务器模块115之一上运行的对应应用程序以运行在服务器120上的程序121的名义获得串行化组件(例如,在z/OS?中的入队)。为了说明和便于讨论的目的,串行化组件这里被称为入队(enqueue)。
[0017]在服务器模块115之一上运行的程序121在服务器模块115获得的入队的保护下运行。另外,称为附文入队(rider enqueue)的另一入队在逻辑系统101内允许新请求人也变为未完成入队的所有人。在原始所有人和全部附文入队所有人已经在串行化组件中释放他们的兴趣(去入队)之后才释放入队。当附文入队立即变为目标所有的入队的所有人时,他们不被等待的入队阻挡,该等待的入队在原始正常入队之后发布。在示例性实施例中,附文入队通过在逻辑系统101中的服务器主机110,155的每一个上运行的程序而获得,以便于在以运行在服务器120上的程序121的名义首先获得入队的原始服务器模块115停机并失去其获得的串行化的事件中,向运行在服务器120上的程序121提供持续的保护。
[0018]在示例性实施例中,系统100可以进一步包括应用层,其促进运行在服务器模块115上的程序116及其运行在服务器120上的对应程序121的操作。在示例性实施例中,存在在逻辑系统101中的服务器模块115,160的每一个上运行的应用层的实例171,172以及在服务器120上运行的实例173。可以理解,其他实例也可以运行在诸如服务器165之类的、系统100上的其他组件上。
[0019]应用层的实例171,172,173结合这里进一步描述的附文入队而运行。在示例性实施例中,附文入队通过提供与相应正常入队同样的入队识别(大类名称、小类名称和范围)将入队锁定为被“已附文”。如果当前未保持相应正常入队,则获得附文入队的尝试失败。如果未保持入队,则附文入队不将入队附文。另外,在获得正常入队的尝试期间,遵循现有冲突规则并且当前保持的附文入队具有与当前保持的正常入队相同的效果。因而,除非以下条件之一存在否则获得正常入队的尝试成功:1)正被获得的正常入队是共享入队并存在未完成排他附文入队和/或正常入队;2)正被获得的正常入队是排他入队并存在任何类型(共享或排他)的未完成附文入队和/或正常入队。另外,在获得附文入队的尝试期间,遵循以下冲突规则:1)如果正被获得的附文入队是共享入队,则除非存在未完成排他附文入队和/或正常入队则尝试成功;以及2)如果正被获得的附文入队是排他入队,则除非存在未完成共享附文入队和/或正常入队则尝试成功。如果存在未完成排他附文入队和/或正常入队则获得排他附文入队的尝试成功。另外,原始正常入队所有人的去入队不移除任何附文入队所有人。包括附文入队的全部所有人必须在资源(即,数据集102)不在所有或保持之前去入队。
[0020]在图1中,第一服务器主机110中的程序116和在服务器120上运行的程序121可以认为是混合的或者是单一程序的混合部分。程序116运行在具有操作系统的服务器模块115中,该操作系统耦接到在包括串行化组件(例如,GRS)的逻辑系统101 (例如,
Parallel Sysplex?配置)中的其他操作系统(例如,运行在服务器模块160上的操作系统)。逻辑系统101中的服务器主机110,155和服务器120全部共享包括多主机操作系统(例如,Z/OS? )数据的数据集102,该多主机操作系统数据也由混合程序、不支持这里描述的串行化的程序121的部分访问。
[0021]图2图示了依据示例性实施例的、用于在系统100中对数据集102的访问的串行化的方法200的流程图。在示例性实施例中,当程序121准备好访问多主机操作系统数据集102时,程序121在块205调用在各个操作系统(例如,Linux)上运行的应用层实例173。在块210,实例173将请求传递到在服务器模块115上运行的应用层实例171,混合程序的其他部分、程序116运行在该服务器模块115上。在块215,实例171向程序116通知服务器120上的程序121 (即,程序116的相对部分)准备好访问数据集102。
[0022]在示例性实施例中,在块220,程序116打开数据集102,包括获得正常入队以在服务器120访问数据集102时恰当地保护运行在服务器120上的进程。例如,如果程序将要更新数据集102,则串行化可以包括具有“SYSDSN”的大类名的排他入队、等同于数据集名的小类名以及“SYSTEMS”的范围。
[0023]当程序116返回实例171时,在块225,实例171获得了到在打开处理期间获得的正常入队的附文入队并且随后与在逻辑系统101中的其他操作系统上运行的实例171的对等实例(例如,实例172)通信,以使得它们对于数据集102获得相同的附文入队。作为此通信的一部分,调用实例171传递对于实例171的其他实例所需的全部信息以获得恰当的附文入队。此信息至少包括正被访问的数据集102的名称和类型以及正被使用的访问的类型。这样,在本示例中,实例171的全部实例将均发起(raise)具有“SYSDSN”的大类名、等同于数据集名的小类名以及“SYSTEMS”的范围的排他入队。
[0024]作为此同一通信的一部分,调用实例171还向实例171的其他实例(例如,实例172)传递它们需要与运行在服务器120上的实例173通信的信息,以确定程序121是否还运行在服务器120上。此信息可以包括实例173的TCP/IP地址和端口以及运行在服务器120上的程序121的识别符。[0025]一旦实例171的全部实例已经获得了它们的附文入队,与程序116 —起运行在服务器115上的实例171可以回到实例173并且实例173可以回到程序121,而该程序121可以开始访问数据集102。当程序121完成访问数据集102时,类似进程开始释放串行化:程序121唤醒实例173,而该实例173转而唤醒运行在服务器模块115上的实例171,该服务器模块115运行着程序116。在块230,实例171释放其附文入队并且调用实例171的全部其他实例并且它们释放它们之前获得的附文入队。实例171随后调用程序116并且该程序116也对于数据集102释放其正常入队。在块235,控制随后返回到程序121用于进一步清理和/或进程完成。
[0026]逻辑系统101中的服务器主机以及服务器模块上的实例171的对等的附文入队的目的在于当程序121在程序121的对应实例所运行的服务器模块115崩溃引起服务器模块115以程序121的名义保持的串行化丢失的事件中访问数据集102时保护该程序121。在混合应用(例如,程序116)对数据集102进行串行化的操作系统上的实例171附文入队的目的在于在程序116无法在实例171有机会终止程序121之前以关闭终止处理释放之前由程序116获得的相应入队的方式失败的事件中保护程序121。如果事件本要发生并附文入队未保持,则运行在其他主机服务器操作系统上的其他程序可以在仍然被程序121访问的同时获得对数据集的访问,这引入了一些暴露。一种这样的暴露将是如果运行在剩余主机操作系统之一上的无关程序要打开数据集102用于更新访问的情况。没有附文入队,无关程序发起的入队将成功并且程序可以开始更新程序121正在更新的同一数据,导致数据集102中的数据的损坏。
[0027]为了继续前述示例,无关程序发起的入队将包括具有“SYSDSN”的大类名、等同于数据集名的小类名以及“SYSTEMS”的范围的正常排他入队。如果附文入队未保持,则此入队将成功并允许无关程序更新数据集。在附文入队就位的情况下,无关程序所尝试的入队将失败或被阻挡,防止无关程序访问数据集直到数据集对其使用真正可用为止。
[0028]如果程序116在其中运行的主机操作系统崩溃而同时程序121仍在运行,则在其他操作系统(例如,实例172)上运行的实例171的实例识别到失败。实例171的其他实例随后与实例173通信直到也识别到失败并终止服务器120上的程序121进程为止。在这点上,实例171的其他实例知道释放它们的附文入队以允许其他程序访问数据集102是安全的。
[0029]服务器模块115,160和服务器120,165可以是目前描述的任何合适的计算系统。图3图示了系统300的示例性实施例,该系统300可以被实现以在多主机环境中在支持数据串行化的系统和不支持串行化的系统之中进行对数据的访问的串行化。这里描述的方法可以以软件(例如,固件)、硬件或其组合来实现。在示例性实施例中,这里描述的方法是以软件实现的,如可执行程序,并且由特定或通用目的数字计算机执行,诸如个人计算机、工作站、微型计算机或主机计算机。系统300因而包括通用目的计算机301。
[0030]在示例性实施例中,在硬件结构方面,如图3所示,计算机301包括处理器305、与存储器控制器315耦接的存储器310、以及经由本地输入/输出控制器335可通信地耦接的一个或多个输入和/或输出(I/o)装置340,345 (或外围设备)。输入/输出控制器335可以是但是不限于一个或多个总线或其他有线或无线连接,如本领域公知的那样。输入/输出控制器335可以具有诸如控制器、缓冲器(缓存)、驱动器、重发器以及接收器之类的附加元件(为了简洁而省略)来使能通信。此外,本地接口可以包括地址、控制和/或数据连接来使能前述组件之间的适当通信。
[0031]处理器305是用于执行软件,尤其是存储在存储器310中的软件的硬件装置。处理器305可以是任何客户定制的或商业化可用的处理器、中央处理器(CPU)、与计算机301关联的若干处理器中的辅助处理器、基于半导体的微处理器(以微芯片或芯片组的形式)、宏处理器或整体上用于执行软件指令的任何装置。
[0032]存储器310可以包括易失性存储器元件(例如,随机存取存储器(RAM,诸如DRAM、SRAM、SDRAM等))以及非易失性存储器元件(例如,ROM、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁带、致密盘只读存储器(CD-ROM)、磁盘、软盘、盒式磁带等)的任一个或组合。此外,存储器310可以合并电、磁、光和/或其他类型的存储介质。注意,存储器310可以具有分布式架构,其中各种组件彼此远离,但是可由处理器305可访问。
[0033]存储器310中的软件可以包括一个或多个单独的程序,其每一个包括用于实现逻辑功能的可执行指令的有序列表。在图3的示例中,在存储器310中的软件包括根据示例性实施例描述的串行化方法以及合适的操作系统(0S)311。该0S311实质上控制其他计算机程序(如在此描述的串行化系统和方法)的执行,并提供调度、输入输出控制、文件和数据管理、存储器管理以及通信控制和相关服务。
[0034]这里所描述的串行化方法可以是以源程序、可执行程序(目标代码)、脚本或包括将要执行的指令集的任何其他实体的形式。当是源程序时,该程序需要经由编译器、汇编器、解释器等(其可以或可以不被包括在存储器310内),以便结合0S311恰当操作。此外,串行化方法可以写成具有数据和方法的类的面向对象编程语言,或者程序设计语言(procedure programming language),其具有例程、子例程和/或功能。
[0035]在示例性实施例中,传统的键盘350和鼠标355可以耦接到输入/输出控制器335。如I/O装置340、345之类的其他输出装置可以包括输入装置,例如但不限于打印机、扫描仪、麦克风等。最后,I/O装置340、345可以进一步包括传递输入和输出两者的装置,例如但不限于,网络接口卡(NIC)或调制器/解调器(用于访问其他文件、设备、系统或网络)、射频(RF)或其他收发器、电话接口、桥接器、路由器等。系统300可以进一步包括耦接到显示器330的显示控制器325。在示例性实施例中,系统300可以进一步包括网络接口 360用于耦接到网络365。网络365可以是基于IP的网络用于经由宽带连接的在计算机301和任何外部服务器、客户端等之间的通信。网络365计算机301和外部系统之间发送和接收数据。在示例性实施例中,网络365可以是由服务提供商管理的受管理IP网络。网络365可以例如使用如WiF1、WiMax等的无线协议和技术以无线方式实现。网络365也可以是分组交换网络,如局域网、广域网、城域网、互联网网络或其它类似类型的网络环境。网络365可以是固定无线网络、无线局域网(LAN)、无线广域网(WAN)、个人区域网(PAN)、虚拟专用网(VPN)、内联网或其它合适的网络系统并且包括用于接收和发送信号的装备。
[0036]如果计算机301是PC、工作站、智能装置等,则在存储器310中的软件可以进一步包括基本输入输出系统(BIOS)(为简单起见省略)。BIOS是基本软件例程的集合,其在启动时初始化和测试硬件,启动0S311并支持硬件装置之间的数据传输。BIOS存储在ROM中,从而当激活计算机301时可以执行BIOS。[0037]当计算机301在操作中时,处理器305被配置为执行在存储器310内存储的软件,以将数据向存储器310传递或从存储器310传递,并通常根据该软件控制计算机301的操作。本文所描述的串行化方法和0S311,在全部或部分上(但通常是后者)由处理器305读取,也许在处理器305内缓冲,并执行。
[0038]当本文描述的系统和方法以软件实现时,如图3所示,方法可以存储在诸如存储设备320之类的任何计算机可读介质上,用于由或结合任何计算机相关的系统或方法使用。
[0039]所属【技术领域】的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
[0040]可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是一但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPR0M或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0041]计算机可读信号介质可以包括具有嵌入其中的计算机可读程序代码的传播数据信号,例如,在基带中或作为载波的一部分。这样的传播信号可以采取各种形式的任一种,包括但不限于,电磁、光或任何合适组合。计算机可读信号介质可以是任何计算机可读介质,其不是一个计算机可读存储介质并且其可以通信、传播或传输程序用于由或结合指令执行系统、设备或装置使用。
[0042]体现在计算机可读介质上的程序代码可以用任何适当的介质传输,所述介质包括但不限于:无线、有线、光缆、RF等,或上述的任意合适的组合。
[0043]可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言一诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言一诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络一包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0044]本文中将参照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
[0045]也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instructionmeans)的制造品(manufacture)。
[0046]也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
[0047]附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0048]在示例性实施例中,串行化方法是以硬件实现的,本文描述的串行化方法可以用以下本领域公知的技术的任一种或组合而实现:具有用于基于数据信号实现逻辑功能的逻辑门的(多个)分离逻辑电路、具有适当组合的逻辑门的专用集成电路(ASIC)、可编程门阵列(PGA)、现场可编程门阵列(FPGA)等。
[0049]技术效果包括将在系统中对数据集的访问进行串行化,该系统支持从不支持串行化的系统的串行化。
[0050]在此使用的术语仅是为了描述特定实施例,且不旨在限制本发明。如在此使用的,单数形式“一”、“一个”和“该”也旨在包括复数形式,除非上下文另外清楚地指明。还将理解,当在说明书中使用时,术语“包括”和/或“包含”指明存在所述的特征、整体、步骤、操作、元件和/或组件,但不排除存在或附加一个或多个其他特征、整体、步骤、操作、元件和/或组件。
[0051]所附权利要求书中的所有装置或步骤加功能元件的相应结构、材料、操作以及等价物,如有的话,旨在包括用于结合如特别要求保护的其他所要求保护的元件来执行所述功能的任何结构、材料或操作。呈现本发明的说明是为了示出和描述的作用,但不是穷尽性的或将本发明限制于所公开的形式。许多修改和变化对本领域普通技术人员来说是明显的,且不脱离本发明的范围与精神。选择和描述实施例是为了最佳地解释本发明的原理和实际应用,并使得本领域普通技术人员能针对适于考虑的特定用途的具有各种修改的各种实施例理解本发明。
[0052]本文中所描绘的流程图仅仅是一个例子。在不脱离本发明的精神的情况下,对这里描述的本图或步骤(或操作)可能有许多变型。例如,步骤可以以不同的顺序来执行,或者步骤可以添加、删除或修改。所有这些变型被认为是所要求保护的发明的一部分。
[0053]虽然本发明的优选实施方式已描述,但可以理解,本领域技术人员,无论是现在还是将来,都可进行各种改进和增强,而它们仍落入下面的权利要求的范围之内。这些权利要求应被理解为维持最初描述的发明的适当保障。
【权利要求】
1.一种多计算系统串行化方法,包括: 在第一计算系统中接收请求而以第一对等应用的名义访问数据集; 在所述第一计算系统中发送通知给第二对等应用以获得正常入队; 响应于第二对等应用获得所述正常入队,在所述第一计算系统中获得用于所述数据集的第一附文入队;并且 在所述第一计算系统中发送通信到对等实例以获得用于所述数据集的附加附文入队,所述附加附文入队对应于所述第一附文入队。
2.如权利要求1所述的方法,其中,所述第一计算系统支持串行化。
3.如权利要求2所述的方法,其中,所述第一对等应用驻留在不支持串行化的第二计算系统上。
4.如权利要求1所述的方法,进一步包括在所述第一对等应用访问所述数据集的时间段期间保持所述附文入队。
5.如权利要求4所述的方法,进一步包括响应于完成对数据集的访问的所述第一对等应用而释放所述附文入队。
6.如权利要求5所述的方法,进一步包括发送通知以释放所述附加附文入队。
7.如权利要求6所述的方法,进一步包括发送通知到所述第二对等应用以释放所述正常入队。
8.如权利要求1所述的方法,其中,所述正常入队以所述第一对等应用的名义将对数据集的访问进行串行化。
9.一种系统,包括适配于实施根据前述方法权利要求的任一项的方法的全部步骤的装置。
10.一种计算机程序,包括当所述计算机程序在计算机系统上执行时用于实施根据前述方法权利要求的任一项的方法的全部步骤的指令。
【文档编号】G06F12/00GK103907094SQ201280053551
【公开日】2014年7月2日 申请日期:2012年10月11日 优先权日:2011年10月31日
【发明者】J.G.汤普森, J.W.奈特三世, N.C.马特萨基斯, J.A.鲁迪, D.D.钱布利斯, H.尤登弗兰德, J.李, R.K.克罗伊泽恩斯坦 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1