CN1578956A - 具有并行检查的群集高速缓存 - Google Patents
具有并行检查的群集高速缓存 Download PDFInfo
- Publication number
- CN1578956A CN1578956A CNA028216229A CN02821622A CN1578956A CN 1578956 A CN1578956 A CN 1578956A CN A028216229 A CNA028216229 A CN A028216229A CN 02821622 A CN02821622 A CN 02821622A CN 1578956 A CN1578956 A CN 1578956A
- Authority
- CN
- China
- Prior art keywords
- data item
- local copy
- account
- database
- server
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F19/00—Complete banking systems; Coded card-freed arrangements adapted for dispensing or receiving monies or the like and posting such transactions to existing accounts, e.g. automatic teller machines
- G07F19/20—Automatic teller machines [ATMs]
- G07F19/201—Accessories of ATMs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Finance (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
当在存储数据项本地拷贝的网络服务器上处理更新请求时,可以在群集高速缓存中保持并发性,可以使用数据项的本地拷贝来处理所述请求。可以向存储数据项的网络数据库发送判定的更新请求,其中,如果本地拷贝对于所述数据项是当前的,则数据库可以提交所述更新。如果本地拷贝不是当前的,则网络服务器可以请求一新拷贝,使用该当前拷贝来处理所述请求,并且尝试另一个被判定的请求,所述处理可以继续直到更新被提交到数据库或被放弃。一旦被提交,则在群集中的任何其它服务器均被通知已经更新了所述数据项。那些其它服务器可以丢弃数据项的任何本地拷贝,并且请求该数据项的更新的拷贝。
Description
优先权要求
本申请要求下列申请的优先权,它们以引用方式被包含在此:
2001年8月30日提交的美国临时专利申请,题目为“具有并行检查的群集高速缓存”,申请号60/316,187。
2002年8月2日提交的美国专利申请,题目为“具有并行检查的群集高速缓存”,申请号10/211,713。
2001年8月30日提交的美国临时专利申请,题目为“用于保持帐户一致性的方法”,申请号60/316,190。
2002年8月2日提交的美国专利申请,题目为“用于保持帐户一致性的方法”,申请号10/211,712。
交叉参考
下面的申请被交叉参考,并且在此通过引用并入:
2001年7月16日提交的、Dean Bernard Jacobs、Reto Kramer和AnanthanBala Srinvasan的美国临时专利申请第60/305,986号,题目为“数据复制协议”。
技术领域
本发明一般地涉及一种用于存储数据的***。本发明更具体地涉及用于高速缓存数据和检查并行性的***和方法。
背景技术
当数据项被存储在通过网络可以访问的单个数据库或数据仓库中时,经常会出现这种情况:多个服务器或客户机需要访问该数据项。传统上,这要求每次访问数据项时从数据库读取数据。从数据库的每次读取是相对资源密集的,并且可能是较为低效的。
与要求服务器或客户机在每次访问数据项时从数据库读取相关联的、克服一些效率和可伸缩性问题的一种方式是将数据项存储在高速缓冲存储器中。以这种方式,一旦服务器或客户机已经从数据库读取了一个数据项,则它可以简单地在本地高速缓冲存储器中存储该项目的一个拷贝。如果未来需要访问,则可以使用该数据项的那个本地拷贝。这个过程可能对于从不改变的数据项是适当和有效的,但是当在数据库中更新数据项时则产生问题。
如果存储在数据库中的数据项被更新,则在网络上的本地高速缓冲存储器中存储的那个该数据项的拷贝就可能与在数据库中的项不同,因为它不自动接收更新。当在网络上的不同的服务器和/或客户机上存在多个本地拷贝时,则问题变得严重。因为每个这些本地拷贝是在不同时间建立的,因此在网络上可以存在该数据项的多种版本。如果用户试图更新或查看该数据项,则该用户访问的拷贝可能不是当前的和/或正确的。
关于并行性的这些问题会产生严重的后果,诸如当用户访问显示银行帐户结余的数据项的时候。如果银行帐户结余的本地拷贝还没有被更新以示出例如取款,则向用户显示的银行帐户结余可能事实上是不正确的大结余。这会导致用户不知晓地透支帐户。而且,访问该帐户结余的第三方或诸如ATM的设备将不能知道所示出的结余是错误的。
发明内容
因此,期望开发一种用于高速缓存数据项和数据对象的***和方法,以保证被高速缓存的拷贝的正确性。
进一步期望开发一种***和方法,用于保证不允许对数据项的拷贝的任何改变,除非那个拷贝反映出该数据项在数据库中的当前状态。
按照本发明的***和方法提供了一种保持数据项缓存并发性的方式。网络服务器接收更新项的请求,所述网络服务器可以例如在本地高速缓冲存储器中存储数据项的本地拷贝。网络服务器可以使用数据项的本地拷贝来处理该请求。网络服务器可以向网络数据库发送“有条件”的或“判定”的更新请求,其中,如果该数据项的版本与本地拷贝的相同,则数据库可以更新该数据项。如果该数据项的版本与本地拷贝的不同,则数据库就不能更新该数据项。
如果各拷贝的版本不同,则网络服务器可以请求该数据项的当前拷贝,并可使用该数据项的新拷贝来处理更新请求。网络服务器可以向数据库发送另一判定的更新。这个处理继续,直到在数据库中的所述数据项被更新。一旦所述数据项被更新,就可通知诸如在公共群集中的服务器的其它服务器已经更新了所述数据项。在此,那些网络服务器可以丢弃该数据项的任何本地拷贝,并请求新的拷贝来存储在本地高速缓冲存储器中。
可以通过若干适当的方法来通知网络服务器,诸如通过向在网络上的任何其它服务器多点传送更新消息或版本号。网络服务器还可以诸如通过点到点协议彼此直接连接,或者向其它服务器通过心跳传送信息。
通过说明书、附图和权利要求可以获得本发明的其它特征、方面和目的。
附图说明
图1是按照本发明的一个实施例的一种方式的第一部分的示意图。
图2是按照本发明的一个实施例的一种方式的第一和第二部分的示意图。
图3是按照本发明的一个实施例的更新处理的流程图。
图4是按照本发明的一个实施例的、当原始拷贝与本地拷贝不同步时用于更新数据项的一个处理的流程图。
图5是按照本发明的一个实施例的、用于更新在网络上的网络服务器的处理的流程图。
图6是按照本发明的一个实施例的一阶段处理的流程图。
图7是按照本发明的一个实施例两阶段处理的流程图。
具体实施方式
按照本发明的***允许在保持在诸如局域网(LAN)、以太网或因特网这样的网络的并发性的同时高速缓存数据。这样的***可以利用一种两阶段方式的一个或两者来在保持并发性的同时更新数据项。这样的***可以通过在计算机领域中公知或使用的、或者以下开发的任何软件或硬件手段来实现并发高速缓存。这些***还可以利用任何适当的软件应用程序、对象、语言或可执行文件,诸如可以被设计来利用的例如Java、HTML和XML。
在按照本发明的一种这样的方式的第一部分,网络上的客户机或服务器从数据库读取数据项,并将该数据项的拷贝存储在本地高速缓冲存储器中。如果服务器或客户机希望更新数据库中的数据项,则根据存储在本地高速缓冲存储器中的数据项是否对应于存储在数据库中的数据项的当前版本更新可以是“有条件的”或“判定的”。这种方法保持期望更新数据项的客户机/服务器和数据库之间的并发性。以这种方式的数据的高速缓存还可以改善性能和可伸缩性。
方式100的第一部分的一个示例在图1中被示出。在此,客户机102向网络服务器106发出更新请求104。网络服务器106在本例中在本地高速缓冲存储器108中存储要更新的数据项110的拷贝。当网络服务器106接收更新请求104时,服务器106检查数据项110的本地拷贝以查看是否可以处理该更新。如果服务器106确定可以使用数据项110本地拷贝中的信息来处理该更新,则服务器106向存储数据项116原始拷贝的数据库114发送判定的更新112。如果数据项116原始拷贝中的信息与本地拷贝110中的信息相同,则可以向数据库提交更新。如果信息不同,则不提交更新。服务器106从数据库114接收表示是否提交了更新的更新状态消息118。
如果提交了更新,则服务器还可以向本地高速缓冲存储器108中数据项110的拷贝提交更新。如果未提交更新,则因为数据项110、116不同步,服务器可以从本地高速缓冲存储器108中丢弃数据项110的拷贝,并从数据库114请求新的拷贝。
一旦服务器106具有了新的数据项,它可以再向数据库114发送判定的(predicated)更新112。或者,服务器还可以向客户机102发送消息,询问是否尝试更新新的数据项。服务器106可以放弃更新,或者继续尝试判定的更新并获取需要的数据项的新拷贝的处理,直到该更新被提交(committed)。一旦更新被提交或放弃,服务器106向客户机发送表示更新尝试的最终结果的更新响应120。
该方式的第二部分发生在客户机/服务器更新了数据库中的数据项之后。因为网络上的其它客户机和/或服务器也可以具有存储在本地高速缓冲存储器中数据项的拷贝,因此进行更新的客户机/服务器可以联系网络上的其它服务器,以让它们知道该数据项已被更新。网络上的其它客户机/服务器随后可以更新存储在本地高速缓冲存储器中该数据项的拷贝,请求该数据项的当前拷贝,或仅仅丢弃该数据项的本地拷贝并在需要时从数据库请求一个拷贝。如果以后请求拷贝,则可以在那个时间在本地高速缓冲存储器中存储该拷贝。
图2示出了参照图1所述的方式100的第二阶段。在图2中,一旦服务器106更新数据库114中的数据项116和本地高速缓冲存储器108中数据项110的拷贝,服务器106就向在群集126中的其它服务器122、124发送更新消息128、130。这些消息可以采取点到点消息或多点传送心跳的形式,如上所述。
例如,在银行***中,在银行***网络上的每个服务器可能在本地高速缓冲存储器中存储用户银行帐户结余的拷贝。每个本地高速缓冲存储器可以包括关于用户帐户的其它信息,诸如帐户信息和交易历史。这个信息可以在网络上的每个服务器上被部分或全部地高速缓存。
在这样的***中,可能发生诸如ATM交易这样的交易。与ATM通信的服务器可以存储启动交易的用户的帐户结余的高速缓存的拷贝。如果ATM用户希望例如从用户帐户提取$100,则服务器将从存储器读取结余,确定该帐户是否包含用于该交易的足够资金,并且在支付所述资金之前或之后从该帐户结余中减去这$100。
为了防止用户透支帐户,服务器可以首先验证用户帐户结余的本地拷贝对于数据库中存储的结余是当前的。例如,如果本地存储的先前结余是$500,服务器可以向数据库发送诸如“更新结余=$400”的更新消息,它还可以包括本地高速缓冲存储器中帐户的当前值,并根据数据库中当前帐户结余与本地高速缓冲存储器中帐户的当前结余相同的事实来判定该更新。
如果存储在数据库中的帐户结余与本地高速缓冲存储器中的结余不同,则服务器可以恢复(roll back)该更新。一旦更新被恢复,则服务器就可丢弃本地高速缓冲存储器中的其拷贝,从数据库读取帐户信息,然后再次尝试更新。例如,如果帐户结余的本地拷贝显示结余是$500,而数据库反映出$1000的结余,则服务器将恢复$400更新尝试并试图进行判定的$900更新,从当前$1000结余中减去$100的取款。该第二更新同样可以根据帐户结余自从被服务器最后一次读出后未改变的事实来判定。这个处理一直继续直到帐户结余被适当地更新或由于资金不足而放弃交易等。
如果服务器成功地更新了数据库中的数据项,则它还可以更新本地高速缓冲存储器中的拷贝,以使本地拷贝对于数据库中数据项的版本是当前的。对于其中多个服务器(或客户机)可以在本地高速缓中存储器中具有数据项的拷贝的网络,更新数据项的服务器可以通知其它服务器数据项已被更新。这可包括在网络、域、群集或任何其它网络组上的任何一个或所有其它服务器。可以多种方式进行通知,诸如通过与每个服务器/客户机的点到点连接、通过多点传输、通过一阶段分布方法、通过两阶段分布方法、通过心跳传送更新或增量、或任何其它适当的消息传递技术。
可以期望,通知的发送在失败时是可靠的并是可伸缩的,以使该处理有效地使用网络。一种简单的方式是使更新数据项的服务器(“更新服务器”)独立地与网络上的每个服务器或客户机(“网络服务器”)联系,并且通过诸如TCP/IP连接的点到点链路传送消息。该消息可以告诉这些网络服务器数据项已被更新,以及这些网络服务器应丢掉本地高速缓冲存储器中的该数据项的任何拷贝。如果一个或多个网络服务器暂时不可访问,或如果网络服务器在处理更新中发生错误,则这种方式可以导致数据的不一致的拷贝。
按照本发明可以使用的、在一般处理中的步骤如图3-5中所示。在图3中的过程200中,例如从客户机向存储要更新的数据项的本地拷贝的网络服务器接收更新请求202。网络服务器使用数据项的本地拷贝来处理该更新204。从网络服务器向包含该数据项原始拷贝的网络数据库发送判定的更新请求206。如果该数据项的原始拷贝和本地拷贝包含该数据项的同一版本,则提交更新请求208。否则,判定的更新请求被放弃210。
图4示出了如果放弃判定的更新请求则可以使用的过程300。网络服务器可以请求数据项的当前拷贝302。网络服务器随后可以使用数据项的当前拷贝来处理更新请求304。从网络服务器向包含数据项原始拷贝的网络数据库再次发送判定的更新请求306。如果数据项的原始拷贝和当前拷贝包含该数据项的相同版本,则提交更新请求306。否则,再次放弃判定的更新请求310,过程300可以重复进行直到更新被提交。
图5示出了一旦提交了更新则可以使用的过程400。网络上的任何其它服务器,诸如在更新的范围内的服务器或在公共群集或域中的服务器,被通知正在更新数据项402。任何得到通知的服务器然后丢弃诸如在本地高速缓冲存储器中的、正在被存储的数据项的任何本地拷贝404。那些服务器可以选择在丢弃本地拷贝后或者在接收到与那个数据项406有关的后续请求时请求该数据项的更新的拷贝406。
在两阶段提交的情况下,可以通知网络上的任何其它服务器(诸如在更新的范围内的或在同一群集中的)在提交期间正在更新一个数据项。例如,一个更新可以首先通过一个准备阶段,其中,确定更新是否能够成功地被提交。在这个阶段中,或至少在提交更新之前,任何被通知更新的服务器可以否决该提交。通过否决该提交,恢复任何准备,并且不向数据库中写入更新。如果更新成功地通过准备阶段,并且不被服务器否决,则更新可以被提交到数据库中的数据项。
还可以通过向可能高速缓存数据项的本地拷贝的服务器/客户机多点传送通知来发送通知。在这个实例中的多点传送可以包括更新服务器向网络/群集/域发送一次通知,该通知然后被传送给网络服务器/客户机。在简单的多点传送中,消息仅被发送一次,以使不接收更新的服务器不能丢弃数据项的过期拷贝。这可以导致,在处理后续请求时,服务器须通过两次或多次重复对该数据项的判定更新尝试。
还可以通过“心跳”来发送通知。在这种方式中的心跳是周期消息,典型的多点传送,虽然可以利用任何发送到可能存储数据项的本地拷贝的服务器/客户机的其它消息传递方式。更新发送器可在给定的时段内以一定的心跳数继续心跳发送最新的更新,直到每个服务器/客户机响应它已经接收到心跳或任何其它适当的量度。
对数据项的每次更新可以被封装为在版本之间的增量。按照本发明的协议可以集成用于分布更新的两种方法,虽然也可以使用其它的适当方法。这些分布方法被称为一阶段方法和两阶段方法,并且提供在一致性和可伸缩性之间的折中。在可推崇可伸缩性的一阶段方法中,每个网络服务器以其本身步调获得和处理更新。网络服务器在不同时间从更新服务器获得更新,但是在接收到更新后立即提交每次更新。网络服务器之一可能在处理更新中遭遇误差,但在一阶段方法中,这不妨碍网络服务器处理更新。
在推崇一致性的、按照本发明的两阶段方法中,分布是“原子的”,其中,所有或没有网络服务器成功地处理更新。存在分离的阶段,如准备阶段和提交阶段,它们允许放弃的可能。在准备阶段中,更新服务器确定是否每个网络服务器都能采用该更新。如果所有网络服务器都表示可以接受该更新,则新的数据被发送到网络服务器以在提交阶段中被提交。如果至少有一个网络服务器不能采用该更新,则可放弃该更新,导致没有提交。在这种情况下,更新服务器了解到应当恢复准备,并且不进行任何改变。按照本发明的这样的协议是可靠的,因为在任何一种方法中,当提交更新时不能到达的网络服务器之一最终会得到更新。
按照本发明的***还可以保证暂时不可获得的服务器最终接收所有更新。例如,一个服务器可以暂时与网络隔离,然后不用重新启动而返回网络。因为服务器不重新启动,因此它通常将不检查更新。通过使服务器定期检查新的更新或通过使更新服务器定期检查网络服务器是否收到更新,可以向重返网络的服务器进行说明。
在一个实施例中,更新服务器定期向网络服务器发送多点传送“心跳”,如在给定的时段或以给定的心跳数。由于多点传送方式可能会不可靠,有可能会使网络服务器之一丢失任意的心跳序列。为此,心跳可以包括关于近期更新的信息的窗口。这样的关于以前的更新的信息可以用于降低网络通信的数量,如下所述。在诸如帐户结余的例子中,历史信息可以是不必要的,因此心跳可以仅仅包括当前的结余。
更新服务器可以定期向网络服务器连续发送包括版本号的多点传送心跳。这使任何不可获得或不能接收和处理增量的服务器可以确定它不在数据项的当前版本上,并且请求增量或以后更新,诸如当从机返回***时。如果在心跳中包括当前值,则服务器可以仅仅提交新值。
对于一阶段方法的更新,这些心跳可以引起每个网络服务器请求从该服务器的数据项的当前版本开始的增量。这样的过程被示出在图6的流程图中。在这个基本过程500中,更新服务器向其它网络服务器之一发送更新服务器上或数据库中当前数据项的版本号502。网络服务器确定它是否已更新到该当前的版本号504。如果网络服务器不在当前版本上,则它请求从包含更新数据项所需信息的更新服务器发送增量506。当发送增量时,网络服务器处理该增量,以便更新到当前版本508。网络服务器还其数据项的版本号更新为当前版本号510。
对于两阶段方法的更新,更新服务器可以开始准备阶段,其中,它主动向每个网络服务器发送紧前一个版本的增量。该过程被示出在图7的流程图中。在这个基本过程600中,更新服务器向至少一个其它网络服务器发送信息分组602。每个接收该分组的网络服务器确定它是否可以处理该分组并且更新到当前版本604。每个接收分组的服务器对更新服务器进行响应,表示该网络服务器是否可以处理该分组606。如果所有的网络服务器(它们被发送增量)都确认在一些超时时段内成功地处理了增量,则更新服务器可以确定提交该更新,否则,更新服务器可以确定放弃该更新。一旦作出决定,更新服务器就向网络服务器发送一条表示是否应当提交或放弃该更新的消息608。如果确定提交,则每个网络服务器处理该提交610。在从机之一丢失命令的情况下,还可以用心跳来发信号表示是否发生了提交或放弃。
除了服务器的拉出增量的能力外,更新服务器还具有在两阶段分布期间推送增量的能力。在一个实施例中,这些增量总是在数据的连续版本之间。这种两阶段分布方法可使参与者之间不一致的可能最小化。服务器可以尽可能地处理准备,而不向客户机显示更新或使更新不可能恢复。这包括诸如检查服务器冲突的任务。如果任何服务器以信号表示差错,诸如通过发送“盘满”或“不一致配置”消息,则更新将被一律恢复。
但是,仍然有可能产生不一致。例如,可能由于诸如不能打开网络应用程序接口(socket)的原因而在处理提交时发生错误。服务器还可在不同的时间提交和显示更新。由于数据不能在精确的同时到达每个被管理的服务器,因此会有一些波动效应。使用多点传送提供较小的时间窗口,以试图最小化波动效应。在一个实施例中,如果准备好的服务器丢失提交,则不论它是由于丢失信号、主机崩溃等,它将放弃。
对于多点传送的最佳努力方法可使服务器丢失提交信号。如果更新服务器在通过提交阶段的半路崩溃,则可能没有记录或用于恢复的手段。更新服务器可能无法告诉其余服务器它们需要提交。在放弃时,如果版本未被正确地恢复,则一些服务器可能已结束提交数据。在一个实施例中,其余服务器可以使用一阶段分布来得到更新。这个可能发生在例如当服务器响应于从更新服务器接收的心跳而拉出增量的时候。这种方法可以保持***的可伸缩性,如果***束缚分布以便避免任何提交或版本差错则可能丢失***可所伸缩性。
如果在增量中不包括关于在前版本的信息,则一个服务器可能需要异常中止和重新启动--如果那个服务器准备好但是丢失了提交。在包含较旧版本的情况下,服务器可以提交在准备时它期望的更新的部分,并且请求新的增量来处理更近期的更新。虽然速射的更新可能导致窗口增加到不可接受的大小,但是对至少一些固定的、可配置数量的心跳可以包含关于给定版本的信息。在另一个实施例中,一旦更新服务器确定所有的网络服务器已经接收到更新,就丢弃关于旧版本的信息。
多点传送心跳有一些需要考虑的特征。这些心跳可以是异步或“单向”的。结果,在服务器响应心跳时,更新服务器或数据库可能已经进行到新的状态。而且,不是所有的服务器都在精确的同时进行响应。因此,更新发送器可以假定服务器不知道其状态,并且可以包括哪个增量是打算更新的那个。
这些心跳也可能是不可靠的,因为从机可能丢失任意的心跳序列。这又可以导致在心跳中包括旧的版本信息。在一个实施例中,服务器以心跳被发送的顺序来接收心跳。例如,服务器不提交版本7直到它已经提交了版本6。服务器可以等待直到它接收到6,或它可以仅仅抛出6而提交7。这个顺序消除了由于版本回溯而可能产生混乱的可能。
对本发明优选实施例的上述说明已经被提供来用于图解和说明,它不意欲穷尽或将本发明精确限制在所公开的形式。许多修改或改变对于本领域内的技术人员将是显然的。实施例被选择和说明以便最好地说明本发明的原理及其实际应用,因此使得本领域的其它技术人员能够明白本发明,各种实施例和适合于所考虑的特定用途的各种修改。本发明的范围意欲由所附的权利要求及其等同物限定。
Claims (106)
1.一种在网络数据库中更新数据项的方法,包括:
接收更新网络数据库中数据项的请求,该请求由存储该数据项的本地拷贝的网络服务器接收;
使用该本地拷贝来处理所述请求;
验证该本地拷贝是否是该数据项的当前拷贝;
如果所述本地拷贝是当前拷贝,则响应于该请求更新数据库中的该数据项。
2.按照权利要求1的方法,还包括:
通知网络上的另一服务器已在数据库中更新了所述数据项。
3.按照权利要求1的方法,还包括:
在网络服务器的本地高速缓冲存储器中存储所述本地拷贝。
4.按照权利要求1的方法,还包括:
如果所述本地拷贝不是所述数据项的当前拷贝,则请求该数据项的当前拷贝。
5.一种在群集中更新数据项的方法,包括:
处理群集服务器上的更新请求,该群集服务器存储用于处理该请求的数据项的本地拷贝;
向包含该数据项的群集数据库发送判定的更新请求,其中,如果该本地拷贝对于更新前的该数据项是当前的,则所述数据库更新该数据项,而如果该本地拷贝对于更新前的该数据项不是当前的,则数据库不更新该数据项。
6.按照权利要求5的方法,还包括:
从所述数据库向所述群集服务器接收一个表示是否已经更新了所述数据项的消息。
7.按照权利要求5的方法,还包括:
从所述数据库读取一数据项,并在所述群集服务器的本地高速缓冲存储器中存储该数据项的本地拷贝。
8.按照权利要求5的方法,还包括:
接收从客户机向所述群集服务器的更新请求。
9.按照权利要求5的方法,还包括:
检查所述本地拷贝以确定是否可以处理所述更新请求。
10.按照权利要求5的方法,还包括:
如果数据库中的所述数据项被更新,则更新所述群集服务器上的所述本地拷贝。
11.按照权利要求5的方法,还包括:
如果所述本地拷贝对于所述数据项不是当前的,则删除该本地拷贝,并在所述群集服务器上存储该数据项的新拷贝。
12.按照权利要求11的方法,还包括:
向包含所述数据项的群集数据库发送另一判定的更新请求,其中,如果所述新拷贝对于所述更新前的该数据项是当前的,则所述数据库更新该数据项,其中,如果所述新拷贝对于所述更新前的该数据项不是当前的,则所述数据库不更新该数据项。
13.按照权利要求11的方法,还包括:
确定启动更新请求的客户机是否希望尝试更新对所述新拷贝为当前的所述数据项。
14.按照权利要求5的方法,还包括:
通知群集中的另一服务器已经更新了数据库中的所述数据项。
15.按照权利要求5的方法,还包括:
向群集中的其它服务器多点传送更新消息。
16.按照权利要求5的方法,还包括:
在更新所述数据项后,向所述群集中的其它服务器多点传送该数据项的版本号。
17.按照权利要求5的方法,还包括:
直接联系所述群集中的每个服务器以指示已经更新了所述数据项。
18.按照权利要求5的方法,还包括:
向网络上的任何其它服务器心跳传送被更新的数据项的版本号。
19.按照权利要求14的方法,还包括:
丢弃在被通知已经更新了所述数据项的任何群集服务器上存储的该数据项的本地拷贝。
20.按照权利要求14的方法,还包括:
请求在被通知已经更新了所述数据项的任何群集服务器上的该数据项的更新的拷贝。
21.按照权利要求14的方法,还包括:
删除在被通知已经更新了所述数据项的任何群集服务器上的该数据项的本地拷贝。
22.按照权利要求5的方法,还包括:
通知所述群集中的另一服务器数据库中的数据项将要被更新。
23.按照权利要求22的方法,还包括:
允许所述另一服务器否决数据库中数据项的更新。
24.按照权利要求5的方法,还包括:
向所述群集中的另一服务器发送信息分组,该信息分组包含所述数据项由于更新的改变。
25.按照权利要求24的方法,其中:
所述信息分组包含更新后数据项的状态和更新前数据项的先前状态之间的改变。
26.按照权利要求5的方法,还包括:
确定群集中的其它服务器是否可以接受对所述数据项的更新;
如果其它服务器可以接受该更新,则向其它服务器提交该更新。
27.按照权利要求26的方法,还包括:
如果其它服务器不能接受所述更新,则恢复所述更新。
28.一种用于保持在群集服务器上高速缓存的数据项的拷贝的并发性的方法,包括:
接收更新请求,该更新请求被在本地高速缓冲存储器中存储该数据项的本地拷贝的群集服务器接收;
使用该数据项的本地拷贝处理该请求;
向存储该数据项的群集数据库发送判定的更新请求,其中,如果该数据项对于该本地拷贝是当前的,则所述群集数据库更新该数据项,如果该数据项对于该本地拷贝不是当前的,则所述数据库不更新该数据项;
如果本地拷贝对于群集数据库中的数据项不是当前的,则为群集服务器请求该数据项的当前拷贝,并发送另一判定的更新,该请求当前拷贝并发送另一判定的更新的步骤一直继续直到群集数据库更新所述数据项和所述方法被放弃之一发生;
通知群集中的其它服务器已经更新了数据库中的数据项。
29.按照权利要求28的方法,其中,所述通知群集中其它服务器的步骤还包括:
向可能存储所述数据项本地拷贝的群集中的其它服务器多点传送更新消息。
30.按照权利要求28的方法,其中,所述通知群集中的其它服务器的步骤还包括:
在更新所述数据项后向群集中的其它服务器多点传送该数据项的版本号。
31.按照权利要求28的方法,其中,所述通知群集中的其它服务器的步骤还包括:
通过点到点连接联系群集中的另一服务器以指示已经更新了所述数据项。
32.按照权利要求28的方法,其中,所述通知群集中的其它服务器的步骤还包括:
在更新所述数据项后向群集中的其它服务器心跳传送该数据项的版本号。
33.按照权利要求28的方法,还包括:
在被通知已经更新了所述数据项的群集中的任何其它服务器上丢弃所述数据项的本地拷贝。
34.按照权利要求28的方法,还包括:
向在被通知已经更新了所述数据项的群集中的任何其它服务器请求所述数据项的被更新的拷贝。
35.一种计算机可读介质,包括:
用于处理群集服务器上的更新请求的装置,该群集服务器存储用于处理所述请求的数据项的本地拷贝;
用于向包含所述数据项的群集数据库发送判定的更新请求的装置,其中,如果所述本地拷贝对于更新前的数据项是当前的,则所述数据库更新所述数据项,如果该本地拷贝对于更新前的数据项不是当前的,则不更新该数据项。
36.一种计算机程序产品,由服务器计算机执行,以更新网络上的数据项,包括:
能够处理群集服务器上的更新请求的计算机代码,该群集服务器存储用于处理所述请求的数据项的本地拷贝;
能够向包含所述数据项的群集数据库发送判定的更新请求的计算机代码,其中,如果所述本地拷贝对于更新前的数据项是当前的,则所述数据库更新该数据项,如果该本地拷贝对于更新前的数据项不是当前的,则不更新该数据项。
37.一种用于在网络上更新数据项的***,包括:
用于处理群集服务器上的更新请求的装置,所述群集服务器存储用于处理该请求的数据项的本地拷贝;
用于向包含该数据项的群集数据库发送判定的更新请求的装置,其中,如果所述本地拷贝对于更新前的数据项是当前的,则所述数据库更新该数据项,如果该本地拷贝对于更新前的数据项不是当前的,则不更新该数据项。
38.一种计算机***,包括:
处理器;
由该处理器执行的对象代码,所述对象代码被配置用于:
处理群集服务器上的更新请求,所述群集服务器存储用于处理所述请求的数据项的本地拷贝;
向包含该数据项的群集数据库发送判定的更新请求,其中,如果所述本地拷贝对于更新前的数据项是当前的,则所述数据库更新该数据项,如果所述本地拷贝对于更新前的数据项不是当前的,则不更新该数据项。
39.一种用于在群集中更新数据项的***,包括:
群集服务器,被适配来接收更新请求和使用一数据项的本地拷贝来处理该请求,该数据项存储在群集数据库中;
其中,该群集服务器被适配来向包含该数据项的群集数据库发送判定的更新请求,其中,如果所述本地拷贝对于更新前的数据项是当前的,则所述数据库更新该数据项,如果所述本地拷贝对于更新前的数据项不是当前的,则不更新该数据项。
40.按照权利要求39的***,还包括:
被适配来包含所述数据项的群集数据库。
41.按照权利要求39的***,还包括:
客户机,被适配来启动所述更新请求。
42.按照权利要求39的***,其中:
所述群集服务器被适配来从所述数据库接收表示是否已经更新了所述数据项的消息。
43.按照权利要求39的***,其中:
所述群集服务器还被适配来检查所述本地拷贝以确定是否可以处理所述更新请求。
44.按照权利要求39的***,其中:
所述群集服务器还被适配来当数据库中的所述数据项被更新时更新所述本地拷贝。
45.按照权利要求39的***,其中:
所述群集服务器还被适配来当所述本地拷贝对于所述数据项不是当前的时,删除该本地拷贝并存储该数据项的新拷贝。
46.按照权利要求45的***,其中:
所述群集服务器还被适配来向包含所述数据项的群集数据库发送附加的判定的更新请求,其中,如果所述本地拷贝对于更新前的数据项是当前的,则所述数据库更新所述数据项,如果所述本地拷贝对于更新前的数据项不是当前的,则不更新该数据项。
47.按照权利要求39的***,还包括:
群集中的附加群集服务器,能够存储所述数据项的本地拷贝。
48.按照权利要求47的***,其中:
所述群集服务器还被适配来通知所述附加群集服务器已更新了数据库中的所述数据项。
49.按照权利要求47的***,其中:
所述群集服务器还被适配来通过多点传送或点到点消息传递来通知所述附加群集服务器。
50.按照权利要求48的***,其中:
所述群集服务器还被适配来当通知所述附加群集服务器时包括所述数据项的版本号。
51.按照权利要求50的***,其中:
所述群集服务器还被适配来向所述附加群集服务器心跳发送更新后的所述数据项的版本号。
52.按照权利要求47的***,其中:
所述附加群集服务器的每个被适配来进行下列至少之一:删除所述数据项的本地拷贝,并请求该数据项的更新的拷贝。
53.按照权利要求47的***,其中:
所述群集服务器还被适配来通知所述附加群集服务器数据库中的所述数据项将要被更新。
54.按照权利要求47的***,其中:
所述附加群集服务器的每个能够否决更新数据库中的数据项。
55.按照权利要求47的***,其中:
所述群集服务器还被适配来向所述附加群集服务器发送信息分组,该信息分组包含所述数据项由于更新的改变。
56.按照权利要求47的***,其中:
所述群集服务器还被适配来确定所述附加群集服务器是否可以接受对所述数据项的更新,并且如果所述附加服务器可以接受所述更新,则向所述附加群集服务器提交所述更新。
57.按照权利要求47的***,其中:
所述群集服务器还被适配来当所述附加群集服务器不能接受所述更新时恢复所述更新。
58.一种用于更新网络上的数据项的***,包括:
网络客户机,被适配来通过网络发出请求;
网络数据库,被适配来存储数据项,并且通过网络提供对该数据项的访问;
网络服务器,它可以从所述网络客户机接收请求,并处理该请求,所述网络服务器存储用于处理该请求的所述数据项的本地拷贝,所述网络服务器被适配来在处理该请求后向所述网络数据库发送判定的更新请求,其中,如果所述本地拷贝对于更新前的数据项是当前的,则网络数据库更新该数据项,所述本地拷贝对于更新前的数据项不是当前的,则数据库不更新该数据项。
59.一种用于保持联网的帐户访问***中帐户结余一致性的方法,包括:
接收与客户的帐户结余相关的请求,该请求被存储所述帐户结余的本地拷贝的帐户访问***接收;
使用该本地拷贝来处理该请求;
验证该本地拷贝反映用户的当前帐户结余;
响应于所述请求而更新网络上的所述帐户结余。
60.按照权利要求59的方法,还包括:
通知网络上的其它帐户访问***已经更新了所述帐户结余。
61.按照权利要求59的***,还包括:
如果所述本地拷贝对于所述帐户结余不是当前的,则请求所述帐户结余。
62.一种用于保持联网的帐户访问***中帐户结余一致性的方法,包括:
处理帐户访问***的更新请求,所述帐户访问***存储用于处理该请求的帐户结余的本地拷贝;以及
向包含所述帐户结余的帐户数据库发送判定的更新请求,其中,如果所述本地拷贝对于更新前的帐户结余是当前的,则所述帐户数据库更新所述帐户结余,如果所述本地拷贝对于更新前的帐户结余不是当前的,则所述帐户数据库不更新所述帐户结余。
63.按照权利要求62的方法,还包括:
从所述帐户数据库向所述帐户访问***接收表示是否已经更新了所述帐户结余的消息。
64.按照权利要求62的方法,还包括:
从所述帐户数据库读取所述帐户结余,并在所述帐户访问***上存储所述帐户结余的本地拷贝。
65.按照权利要求62的方法,还包括:
从客户机向所述帐户访问***接收更新请求,所述客户机指定要更新的帐户结余。
66.按照权利要求62的方法,还包括:
检查所述本地拷贝以确定是否可以处理所述更新请求。
67.按照权利要求62的方法,还包括:
如果更新了所述帐户数据库中的帐户结余,则更新所述帐户访问***上的本地拷贝。
68.按照权利要求62的方法,还包括:
如果所述本地拷贝对于所述帐户结余不是当前的,则在所述帐户访问***上删除该本地拷贝并存储该帐户结余的新拷贝。
69.按照权利要求68的方法,还包括:
向包含所述帐户结余的群集数据库发送另一判定的更新请求,其中,如果所述新拷贝对于更新前的所述帐户结余是当前的,则所述数据库更新所述帐户结余,如果所述新拷贝对于更新前的所述帐户结余不是当前的,则所述数据库不更新所述帐户结余。
70.按照权利要求68的方法,还包括:
确定启动更新请求的客户机是否希望尝试更新对于所述新拷贝为当前的所述帐户结余。
71.按照权利要求62的方法,还包括:
通知网络上的另一帐户访问***已经更新了帐户数据库中的所述帐户结余。
72.按照权利要求62的方法,还包括:
向网络上的其它帐户访问***多点传送更新消息。
73.按照权利要求62的方法,还包括:
向网络上的其它帐户访问***多点传送被更新的帐户结余的版本号。
74.按照权利要求62的方法,还包括:
向网络上的其它帐户访问***心跳传送被更新的帐户结余的版本号。
75.按照权利要求62的方法,还包括:
在更新所述帐户结余后,丢弃网络上任何其它帐户访问***上帐户结余的本地拷贝。
76.按照权利要求62的方法,还包括:
在网络上任何其它帐户访问***上请求所述帐户结余的更新的拷贝。
77.按照权利要求71的方法,还包括:
在被通知已经更新了所述帐户结余的网络上的任何其它帐户访问***上删除所述帐户结余的本地拷贝。
78.按照权利要求62的方法,还包括:
通知网络上的另一帐户访问***数据库中的帐户结余将要被更新。
79.按照权利要78的方法,还包括:
允许所述另一帐户访问***否决在数据库中更新帐户结余。
80.按照权利要求62的方法,还包括:
向网络上的另一帐户访问***发送信息分组,该信息分组包含所述帐户结余由于更新的改变。
81.按照权利要求62的方法,其中:
所述信息分组包含所述帐户结余在更新后的状态和在更新前的先前状态之间的改变。
82.按照权利要求62的方法,还包括:
确定网络上的其它帐户访问***是否可以接受对所述帐户结余的更新;以及
如果其它帐户访问***可以接受所述更新,则向其它帐户访问***提交该更新。
83.按照权利要求82的方法,还包括:
如果所述其它帐户访问***不能接受所述更新,则恢复所述更新。
84.一种用于在允许从自动提款机在客户帐户上提款之前快速验证足够资金的可获得性的方法,包括:
接收向自动提款机的从客户帐户提取资金的请求,该自动提款机存储所述帐户结余的一个本地拷贝;
使用该本地拷贝来处理该请求;
验证该本地拷贝对于帐户数据库中该用户的帐户结余是当前的;
如果该本地拷贝对于所述帐户结余是当前的,则响应该请求更新所述帐户数据库中的所述帐户结余;
响应该请求向用户支付资金。
85.一种用于提供快速电子交易的方法,包括:
从交易参与者向电子交易***接收一个交易请求,该电子交易***存储与交易参与者相关信息的本地拷贝;
使用该本地拷贝处理该请求;
验证该本地拷贝反映主数据库中该参与者的当前信息;
响应该请求更新主数据库中该参与者的信息。
86.一种用于保持网络上高速缓存的帐户信息的并发性的方法,包括:
接收对网络服务器的更新请求,所述网络服务器在本地高速缓冲存储器中存储帐户信息的本地拷贝;
使用该帐户信息的本地拷贝来处理该请求;
向存储帐户信息的原始拷贝的网络数据库发送判定的更新请求,其中,如果所述本地拷贝对于所述帐户信息是当前的,则所述数据库更新所述帐户信息,如果所述本地拷贝对于所述帐户信息不是当前的,则所述数据库不更新所述帐户信息;
接收对网络服务器的帐户信息的当前拷贝,并且如果所述本地拷贝与所述原始拷贝的版本不同则发送另一个判定的更新;以及
通知存储帐户信息的本地拷贝的网络上的任何其它服务器已经更新了所述原始拷贝。
87.一种用于保证网络上帐户访问***之间的并发性的***,包括:
帐户访问***,被适配来接收来自客户的交易请求,并且使用该客户帐户信息的本地拷贝来处理该请求,所述账户信息被存储在帐户数据库中;
其中,所述帐户访问***被适配来向所述帐户数据库发送判定的更新请求,其中,如果所述本地拷贝对于更新前的帐户信息是当前的,则所述帐户数据库更新所述帐户信息,如果所述本地拷贝对于更新前的帐户信息不是当前的,则所述帐户数据库不更新所述帐户信息。
88.按照权利要求87的***,还包括:
帐户数据库,被适配来包含客户帐户信息。
89.按照权利要求87的***,还包括:
客户机终端,被适配来使客户可以启动所述交易请求。
90.按照权利要求87的***,还包括:
所述帐户访问***被适配来从所述帐户数据库接收表示帐户信息是否已被更新的消息。
91.按照权利要求87的***,其中:
所述帐户访问***还被适配来检查本地拷贝以确定是否可以处理所述更新请求。
92.按照权利要求87的***,其中:
所述帐户访问***还被适配来当所述帐户数据库中的帐户信息被更新时更新所述本地拷贝。
93.按照权利要求87的***,其中:
所述帐户访问***还被适配来在所述本地拷贝对于所述帐户信息不是当前的时,删除所述本地拷贝,并存储所述帐户信息的新拷贝。
94.按照权利要求93的***,其中:
所述帐户访问***还被适配来向帐户数据库发送附加的判定的更新请求,其中,如果所述新拷贝对于更新前的帐户信息是当前的,则所述帐户数据库更新所述帐户信息,如果所述新拷贝对于更新前的帐户信息不是当前的,则不更新所述帐户信息。
95.按照权利要87的***,还包括:
网络上的附加帐户访问***,能够存储所述帐户信息的本地拷贝。
96.按照权利要求95的***,其中:
所述帐户访问***还被适配来通知所述附加帐户访问***已经更新了帐户数据库中的所述帐户信息。
97.按照权利要求96的***,其中:
所述帐户访问***还被适配来通过多点传送和点到点消息传递之一来通知所述附加帐户访问***。
98.按照权利要求95的***,其中:
所述帐户访问***还被适配来在通知所述附加帐户访问***时包括帐户信息的版本号。
99.按照权利要求98的***,其中:
所述帐户访问***还被适配来在更新后向所述附加帐户访问***心跳传送所述帐户信息的版本号。
100.按照权利要求87的***,其中:
所述附加帐户访问***的每个被适配来进行下列至少之一:删除所述帐户信息的本地拷贝,并请求该帐户信息的更新的拷贝。
101.按照权利要求87的***,其中:
所述帐户访问***还被适配来通知所述附加帐户访问***帐户数据库中所述帐户信息将要被更新。
102.按照权利要求87的***,其中:
所述附加帐户访问***的每个能够否决在数据库中帐户信息的更新。
103.按照权利要求87的***,其中:
所述帐户访问***还被适配来向所述附加帐户访问***发送信息分组,该信息分组包含所述帐户信息由于更新的改变。
104.按照权利要求87的***,其中:
所述帐户访问***还被适配来确定所述附加帐户访问***是否可以接受对所述帐户信息的更新,并且如果所述附加帐户访问***可以接受所述更新,则向所述附加帐户访问***提交所述更新。
105.按照权利要求87的***,其中:
所述帐户访问***还被适配来当所述附加帐户访问***不能接受所述更新时恢复所述更新。
106.一种用于允许在帐户访问***网络进行交易的***,包括:
ATM终端,它被适配来允许客户提出包括银行帐户信息的交易请求;
帐户访问***,它被适配来存储客户的银行帐户信息的拷贝,并且处理该交易请求;
银行帐户数据库,被适配来存储客户的银行帐户信息,并且通过网络提供对该银行帐户信息的访问;
其中,所述帐户访问***被适配来在处理完该请求之后向银行帐户数据库发送判定的更新请求,其中,所述银行帐户数据库被适配来当所述本地拷贝对于更新前的银行帐户信息是当前的时更新所述银行帐户信息,如果所述本地拷贝对于更新前的银行信息不是当前的,则该银行帐户数据库不更新所述银行帐户信息。
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US31619001P | 2001-08-30 | 2001-08-30 | |
US31618701P | 2001-08-30 | 2001-08-30 | |
US60/316,187 | 2001-08-30 | ||
US60/316,190 | 2001-08-30 | ||
US10/211,712 | 2002-08-02 | ||
US10/211,712 US20030046230A1 (en) | 2001-08-30 | 2002-08-02 | Method for maintaining account consistency |
US10/211,713 | 2002-08-02 | ||
US10/211,713 US7028030B2 (en) | 2001-08-30 | 2002-08-02 | Cluster caching with concurrency checking |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1578956A true CN1578956A (zh) | 2005-02-09 |
CN1285047C CN1285047C (zh) | 2006-11-15 |
Family
ID=27498858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB028216229A Expired - Lifetime CN1285047C (zh) | 2001-08-30 | 2002-08-28 | 具有并行检查的群集高速缓存 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP1430419B1 (zh) |
JP (1) | JP2005502131A (zh) |
CN (1) | CN1285047C (zh) |
AU (1) | AU2002313826B2 (zh) |
WO (1) | WO2003021484A2 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103338243A (zh) * | 2013-06-20 | 2013-10-02 | 新浪网技术(中国)有限公司 | Web节点的缓存数据更新方法和*** |
CN105138435A (zh) * | 2008-08-08 | 2015-12-09 | 亚马逊技术有限公司 | 向执行中的程序提供对非本地块数据存储装置的可靠访问 |
CN106407334A (zh) * | 2016-09-05 | 2017-02-15 | 乐视控股(北京)有限公司 | 缓存集群的更新方法及装置 |
CN107465714A (zh) * | 2017-01-23 | 2017-12-12 | 北京思特奇信息技术股份有限公司 | 一种基于应用集群的配置数据动态更新***及方法 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8126843B2 (en) * | 2004-11-30 | 2012-02-28 | International Business Machines Corporation | Cluster-wide read-copy update system and method |
GB2446175B (en) * | 2007-01-31 | 2011-06-29 | Hewlett Packard Development Co | Method of updating data |
US8074107B2 (en) * | 2009-10-26 | 2011-12-06 | Amazon Technologies, Inc. | Failover and recovery for replicated data instances |
EP2731040B1 (en) | 2012-11-08 | 2017-04-19 | CompuGroup Medical SE | Computer system for storing and retrieval of encrypted data items, client computer, computer program product and computer-implemented method |
EP3336718B1 (en) | 2016-12-16 | 2020-02-12 | CompuGroup Medical SE | Method for querying a database |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5452445A (en) * | 1992-04-30 | 1995-09-19 | Oracle Corporation | Two-pass multi-version read consistency |
US5737536A (en) * | 1993-02-19 | 1998-04-07 | Borland International, Inc. | System and methods for optimized access in a multi-user environment |
DE69624359D1 (de) | 1995-07-20 | 2002-11-21 | Novell Inc | Transaktionslogverwaltung in einem netz abtrennbarer rechner |
US6044367A (en) * | 1996-08-02 | 2000-03-28 | Hewlett-Packard Company | Distributed I/O store |
US5926816A (en) * | 1996-10-09 | 1999-07-20 | Oracle Corporation | Database Synchronizer |
US5805798A (en) * | 1996-10-29 | 1998-09-08 | Electronic Data Systems Corporation | Fail-safe event driven transaction processing system and method |
US5970488A (en) * | 1997-05-05 | 1999-10-19 | Northrop Grumman Corporation | Real-time distributed database system and method |
US6351775B1 (en) * | 1997-05-30 | 2002-02-26 | International Business Machines Corporation | Loading balancing across servers in a computer network |
US6012059A (en) * | 1997-08-21 | 2000-01-04 | Dataxel Corporation | Method and apparatus for replicated transaction consistency |
US6112304A (en) * | 1997-08-27 | 2000-08-29 | Zipsoft, Inc. | Distributed computing architecture |
US6484143B1 (en) * | 1999-11-22 | 2002-11-19 | Speedera Networks, Inc. | User device and system for traffic management and content distribution over a world wide area network |
US6477150B1 (en) * | 2000-03-03 | 2002-11-05 | Qualcomm, Inc. | System and method for providing group communication services in an existing communication system |
-
2002
- 2002-08-28 CN CNB028216229A patent/CN1285047C/zh not_active Expired - Lifetime
- 2002-08-28 JP JP2003525506A patent/JP2005502131A/ja active Pending
- 2002-08-28 EP EP02753547.5A patent/EP1430419B1/en not_active Expired - Lifetime
- 2002-08-28 AU AU2002313826A patent/AU2002313826B2/en not_active Expired
- 2002-08-28 WO PCT/US2002/027315 patent/WO2003021484A2/en active Application Filing
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105138435A (zh) * | 2008-08-08 | 2015-12-09 | 亚马逊技术有限公司 | 向执行中的程序提供对非本地块数据存储装置的可靠访问 |
CN105138435B (zh) * | 2008-08-08 | 2019-06-04 | 亚马逊技术有限公司 | 向执行中的程序提供对非本地块数据存储装置的可靠访问 |
CN103338243A (zh) * | 2013-06-20 | 2013-10-02 | 新浪网技术(中国)有限公司 | Web节点的缓存数据更新方法和*** |
CN103338243B (zh) * | 2013-06-20 | 2017-06-13 | 新浪网技术(中国)有限公司 | Web节点的缓存数据更新方法和*** |
CN106407334A (zh) * | 2016-09-05 | 2017-02-15 | 乐视控股(北京)有限公司 | 缓存集群的更新方法及装置 |
CN107465714A (zh) * | 2017-01-23 | 2017-12-12 | 北京思特奇信息技术股份有限公司 | 一种基于应用集群的配置数据动态更新***及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1285047C (zh) | 2006-11-15 |
EP1430419A4 (en) | 2009-05-06 |
JP2005502131A (ja) | 2005-01-20 |
WO2003021484A2 (en) | 2003-03-13 |
EP1430419A2 (en) | 2004-06-23 |
AU2002313826B2 (en) | 2008-01-24 |
EP1430419B1 (en) | 2019-03-13 |
WO2003021484A3 (en) | 2003-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7444333B2 (en) | Cluster caching with concurrency checking | |
US7293009B2 (en) | System and method for flushing bean cache | |
CN106502769B (zh) | 分布式事务处理方法、装置及*** | |
EP1416387A2 (en) | System and method for maintaining transaction cache consistency in mobile computing environment | |
CN1187700C (zh) | 故障保险的事件驱动事务处理***和方法 | |
AU2002340274A1 (en) | System and method for flushing bean cache | |
CN1285047C (zh) | 具有并行检查的群集高速缓存 | |
CN102831156A (zh) | 一种云计算平台上的分布式事务处理方法 | |
CN109491765B (zh) | 对跨域业务请求的处理方法及装置 | |
Shen et al. | Neptune: Scalable replication management and programming support for cluster-based network services | |
US6842763B2 (en) | Method and apparatus for improving message availability in a subsystem which supports shared message queues | |
US11777852B1 (en) | System and method for web service atomic transaction (WS-AT) affinity routing | |
CN111212301B (zh) | 一种视频码率的匹配方法、存储介质及终端设备 | |
US20030046230A1 (en) | Method for maintaining account consistency | |
AU2002313826A1 (en) | Cluster caching with concurrency checking | |
KR100863472B1 (ko) | 웹 팜으로의 데이터 분배에서의 2-페이스 커미트를 위한방법 및 장치 | |
US8364747B2 (en) | Client/server request handling | |
CN114579406A (zh) | 一种分布式事务一致性实现方法及装置 | |
EP1641213A1 (en) | Method and system for message consolidation | |
CN113010516A (zh) | 基于会话池的分布式多用户高可用的人行报告采集方法 | |
CN113626458A (zh) | 高并发数据更新方法、装置、设备以及计算机存储介质 | |
KR19990017083A (ko) | 전전자 교환기의 데이터베이스 전역 트랜잭션 관리 방법 |
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 | ||
ASS | Succession or assignment of patent right |
Owner name: ORACLE INT CORP Free format text: FORMER OWNER: BEA SYSTEMS CORP. Effective date: 20110418 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20110418 Address after: California, USA Patentee after: ORACLE INTERNATIONAL Corp. Address before: California, USA Patentee before: BEA SYSTEMS, Inc. |
|
CX01 | Expiry of patent term |
Granted publication date: 20061115 |
|
CX01 | Expiry of patent term |