CN1602489A - 刷新bean缓存的系统和方法 - Google Patents

刷新bean缓存的系统和方法 Download PDF

Info

Publication number
CN1602489A
CN1602489A CNA028246926A CN02824692A CN1602489A CN 1602489 A CN1602489 A CN 1602489A CN A028246926 A CNA028246926 A CN A028246926A CN 02824692 A CN02824692 A CN 02824692A CN 1602489 A CN1602489 A CN 1602489A
Authority
CN
China
Prior art keywords
read
bean
data item
copy
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
Application number
CNA028246926A
Other languages
English (en)
Other versions
CN100578490C (zh
Inventor
迪安·B·雅各布斯
罗布·伍伦
塞思·怀特
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
BEA Systems Inc
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 BEA Systems Inc filed Critical BEA Systems Inc
Publication of CN1602489A publication Critical patent/CN1602489A/zh
Application granted granted Critical
Publication of CN100578490C publication Critical patent/CN100578490C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F19/00Complete 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/20Automatic teller machines [ATMs]
    • G07F19/201Accessories of ATMs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2315Optimistic concurrency control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99938Concurrency, e.g. lock management in shared database
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users

Abstract

网络群集(104)中的服务器(110、112、113)可分别存储数据项(122)的副本(116、118、120)在本地缓存中,通过只读实体bean提供对这些副本的读访问。数据库(108)中的原始数据项(122)可通过其中一个群集服务器上的读/写实体bean来更新。群集服务器可访问使无效目标,它包含有群集中服务器上存储的数据项的副本(116、118、120)相关的标识信息。一旦读/写bean更新了数据库中的数据项,使无效请求可发送或多点传送到所有群集成员,或者到使无效目标上所包含的任何只读bean或者服务器。每个接收请求的服务器或只读bean知道在本地缓存中废弃该数据项的任何副本,并且可从数据库请求该数据项的当前副本。

Description

刷新bean缓存的系统和方法
优先权要求
本申请要求下列申请的优先权,并在此引入作为参考:
美国临时专利申请No.60/335,633,由Dean Bernard Jacobs和Rob Woollen在2001年10月25日提交,题目为“SYSTEM AND METHOD FOR FLUSHINGBEAN CACHE”。
美国专利申请No.10/212,382,由Dean Bernard Jacobs、Rob Woollen和Seth White在2002年8月5日提交,题目为“SYSTEM AND METHOD FORFLUSHING BEAN CACHE”。
版权通告
本专利申请所公开内容的一部分包含有受版权保护的材料。版权所有人不反对任何人对专利文档或专利公开内容进行如专利和商标办公室专利文件和记录中所述的翻印复制,但除此之外将保留所有的各种版权权利。
参照引用案例
下列申请被参照引用并在此作为引用作为参考:
美国临时专利申请No.60/305,986,由Dean Bernard Jacobs、Reto Kramer和Ananthan Bala Srinvasan在2001年7月16日提交,题目为“DATAREPLICATION PROTOCOL”。
美国临时专利申请No.60/316,187,由Dean Bernard Jacobs和Rob Woollen在2001年8月30日提交,题目为“CLUSTER CACHING WITHCONCURRENCY CHECKING”。
技术领域
一般而言,本发明涉及在网络中存储数据的一种系统和方法。
背景技术
当数据项存储在可通过网络访问的单个数据库或数据存储器中时,通常情况下,多个服务器或客户将需要访问该数据项。传统而言,这需要在每次访问数据项时都存取一次数据库。每次都存取数据库是资源相对密集(resource intensive)和效率相对低下的。
克服一部分效率问题和伸缩级性问题的一种方法是在缓存中存储数据项的本地副本。当将来需要访问该数据项时,服务器或客户则可以使用此本地副本。这个做法在数据项永远不变时是适用和高效的,但当数据项在数据库中被更新时,问题出现了。
如果数据库中的数据项被更新了,存储在网络上的本地缓存中数据项的副本将不同于数据库中的数据项,因为缓存不会自动接收到更新。当在网络的多个服务器和/或客户上存在本地副本时,问题更严重了。因为这些本地副本的每一个都在不同时刻被创建,在网络上可存在该数据项的多个版本。如果用户试图更新或察看该数据项,该用户所访问的副本可能不是当前的和正确的。
这种数据等待时间(latency)问题对于需要接近实时精确性的应用可能导致严重的问题,例如提供“实时”股价的网站。这种应用可能会用到有至少两个列的数据表,一个列包含股票符号,可作为表的主关键字,和一个列包含每种股票的当前价格。在这种应用中,多数活动包括用户访问网站和读取当前股市价值。同样典型的活动还包括后台应用或系统周期性访问,例如每分钟一次,带来更新的股价。为了更新数据,这些后台系统需要读/写访问数据库。
对系统的多数访问是只读的。对于这些只读用户,系统可缓冲数据来提供更快的访问。系统可周期性更新缓冲信息,例如每十五分钟。然而,在这种“通常为读”的情况下,为用户提供最近的数据可能会更好。在提供准确信息上,十五分钟的延迟对于许多应用来说可能是不合要求的。通常最好能为用户提供尽可能准确的信息。
确保用户获得准确信息或至少与存储在数据库中的数据一致的信息的一种方法是,对于每个请求,从数据库中拉取信息,而不是读取缓冲副本。这对于许多应用来说可能是非常昂贵的,因为访问数据库和从内存中读取值相比,需要更大量的时间和更资源密集。
对于在数据库中更新数据的人来说,把尽可能多的更新都包括在一批事务中以改善性能可能是较理想的。把更新都包围在单次事务中也确保所有更新都发生或者任何更新都没有发生。但是,问题出现在,如何为在事务中更新的每一项更新其缓冲副本。
发明内容
这里包括了一种系统和方法,用于在网络群集中至少一个服务器上更新存储在本地缓存中的数据项副本。标识(Identification)信息将提供给存储在群集中服务器上的读/写bean。标识信息涉及在群集中包含只读bean和本地缓存中该数据项副本的任何服务器。只读bean提供该数据项的本地副本的读访问。原始的数据项存储在网络数据库中,使用读/写bean来更新。当数据项由读/写bean更新时,使无效(invalidate)的请求可从包含读/写bean的服务器发送或多点传送到整个群集,或发送到标识信息所识别的有该数据项的本地副本的任何服务器或只读bean。响应于此请求,于是该数据项的任何本地副本可被废弃。该数据项的当前副本可从数据库读取和存储在本地缓存中。
附图说明
图1示出本发明的一个实施例所述的系统。
图2示出如图1的实施例所述的系统。
图3示出图1所示系统的另一个实施例。
图4示出如本发明的一个实施例所述的方法的流程图。
图5示出如本发明的另一个实施例所述的方法的流程图。
图6示出如本发明的另一个实施例所述的系统。
具体实施方式
为了在网络上分布的项之间维护一致性,如本发明所述的系统可利用bean或Java Beans。Bean基本上是用于可加到服务器上扩展功能的组件的框架。一个实施例使用两种bean,“只读”实体bean和“读/写”实体bean。实体bean是持久化、允许共享访问、有主关键字并且可与其他实体bean相互共享。每个实体bean可在关系数据库中有基础表,bean的每个实例对应该表的一行。
只读bean是可在服务器上缓冲的bean,例如驻留在网络群集中的企业级Java Bean。只读bean可提供到群集中的任何服务器和群集内外的任何客户的读访问,读/写bean是事务性的,驻留在群集服务器上,为群集服务器提供到网络数据库的读/写访问。只读bean处理群集服务器上本地缓存中的数据。读/写bean处理数据库中的信息。
处理缓存和数据库中的信息并发的一种方法是为每个只读实体bean联结一个超时值。例如,只读bean可配置为十分钟的缺省循环。在经过十分钟的周期之后,只读bean重回数据库和读取当前值。这个办法在某些应用中很好,例如以固定间隔改变值的那些应用。
但是,也有数据很少发生变化的应用。当数据改变时,用户可能需要尽快知道变化。因为数据不常变化,为了节约资源而设置长的读循环时间是很吸引人的。但是,这可能会有导致与数据有关的等待时间的非期望结果,因为取决于在周期中更新发生的时机,在更新数据时的等待时间结果可能差不多会和周期时间一样长。对于这些应用,最好是在更新数据库中的数据后立即更新只读用户可访问的数据。
如本发明所述的一种系统提供了只读bean所暴露的接口。此接口在用户更新数据项或得知更新时允许用户或应用程序告诉系统来废弃缓存,或“使缓存无效”。此接口应由“CachingHome”引用,因为实体bean通常都有创建它的“Home”或factory。CachingHome可在其上有三个方法,和可如下编码:
package weblogic.企业级Java Bean;
public interface CachingHome{
      public void invalidate(Object pk)throws RemoteException;
      public void invalidate(Collection pks)throws RemoteException;
      public void invalidateAll()throws RemoteException;
}
方法invalidate(Object pk)允许用户使与数据库或数据表中的特定主关键字相关联的数据无效。方法invalidate(Collection pks)允许用户使关键字的集合或组对应的数据无效。方法invalidateAll()允许用户使数据表中所有关键字对应的数据无效。这些使无效方法允许用户确保那些值存储在本地缓存中,直到程序员、应用程序、用户或系统另有指示。
这样的一个方法300如图5的流程图中所示。数据项的副本存储在网络群集中的至少一个服务器上302。可使用位于群集服务器其中一个上的读/写bean在数据块中更新数据项304。然后可使用位于其中一个服务器上的只读bean的接口来发起使无效请求,将请求发送到包含数据库的本地副本的任何服务器上306。接收到请求的服务器上该数据项的任何副本则可废弃了308。
在具有网络群集104的系统100中,例如图1所示,很可能在群集104中的每一个服务器110、112、114上都缓冲了存储在数据库108中的值122的副本。如果客户102通过网络106与服务器110联络,请求该服务器110使指定关键字无效,例如发出请求“invalidate(Key)”,服务器110要废弃值122的缓冲副本116或与该关键字关联的值是很容易的。但是,存在的问题是,如何让服务器112和114也废弃它们的缓存副本118和120。
一个实施例允许服务器110当从客户102接收到使无效请求124时废弃本地缓存中的副本116,如图2所示。在从本地内存中废弃副本116后,服务器110可用多点传送发送消息126到其他服务器118、120或群集104中的只读bean来废弃本地缓存中该值的副本。多点传送是在不需要任何不必要的包复制的条件下来从一个服务器或源发送信息包或消息到其他服务器的技术,其原因是一个包是从来源发送和在网络中根据需要复制的。这种办法允许每个服务器当数据库中的值更新时废弃缓冲值。
图6展示了包括多个客户402和多个数据库416通过网络404通信的另一个系统。数据项418存储在数据库416的其中一个里。该数据项的副本420存储在群集408的群集服务器406中。有两个副本422存储在群集412的群集服务器422中,并且服务器414上的副本424,并不包含在任何服务器群集中。此系统类似于图1和图2的系统那样工作,其原因是包含数据项418的副本的服务器406、410、414的其中一个当从客户接收到使无效请求时废弃本地缓存中的副本,并且可用多点传送发送消息到网络上的其他服务器来废弃本地缓存中该值的任何副本。
由于事实上来源只发送一次多点传送消息并且不等待其他服务器的接收确认,存在另一个问题。群集中的服务器可能没获得使无效请求,例如是否它暂时离线。如本发明所述的系统可通过使用版本号或顺序号标记每一个这样的消息或请求来提供更可靠的多点传送。这样,接收请求的服务器将知道请求的版本,以及它接收的上个请求的版本,因此服务器将知道它是否丢失了某个消息。一旦服务器确定它已丢失了一个消息,它可以请求重发消息以便相应地更新。
但是,这种办法的一个问题是,服务器只有在另一个更新发送后才能知道它是否已丢失了一个更新。在特定应用例如为周1、2和3发布每周特供的在线商店中,只有等到下次更新才能获取正确信息是不可接受的。商店只有在周3的更新时才发现它已丢失了周2的特供。周1的特供可能在周2一直存在,同时显示错误信息给那时访问系统的任何用户。当系统发现它丢失周2的更新时,已经是周3了。在没有曾经显示给用户的信息的情况下,服务器将以简单地抛弃周2的信息而告终。
如本发明所示的系统可通过周期性“如心跳般地递送(heart beat)”信息给群集中的服务器来避开此问题。服务器通过周期性经过网络或群集发送消息来如心跳般地递送信息包或消息。如心跳般地递送消息可包含的信息如,最近版本号,前一次版本号,或者实际的更新信息本身,如果更新信息足够小到可行的话。如果服务器接收到包含最近版本号的如心跳般地递送消息,而且服务器不在数据的该版本上或者没有接收到最近的使无效请求,服务器可从服务器请求或拉取使无效消息。
最初发送使无效请求的初始服务器,也可以是发送多点传送和/或如心跳般地递送的服务器,可为特定时间内存储最近请求,或者也可存储特定数量的最近请求。如果群集服务器请求初始服务器仍然存储着的使无效消息,初始服务器可使用诸如多点传送或点对点连接的方法来简单地发送消息到群集服务器。如果初始服务器不再有此消息,初始服务器可告诉群集服务器来简单地废弃它的整个缓存,其原因是不可能告诉群集服务器哪个关键字发生了变化。群集服务器可从数据库读取新和/或当前的信息。这样会暂时地降低了性能,但新近缓冲的信息至少和数据库中的信息是一致的。
在实际操作中,客户或应用程序可通过读/写实体bean来更新数据项。此更新,或者包含多个更新的事务,会提交到数据库。使无效消息可和例如客户或服务器更新数据项所触发的消息一起被发送到群集中的服务器。不管是立即、随后或者当需要处理请求时,每个群集服务器都可以废弃本地缓存中的任何副本和从数据库读入新值。通常不可能读取未提交的数据,因此可能最好使用两步骤过程,首先提交数据,然后多点传送消息到群集。
上述办法的一个问题是它强迫客户来发起使无效请求,这会为客户引入更多的复杂性。也有可能的是客户不正确地使用了使无效方法或者犯了错误。因此可能最好让系统自动来做。
如本发明所述的系统可通过使用“使无效目标”来处理此问题。使无效目标是基于如下想法,即只读和读/写bean指向数据库中相同的数据、而人们通过只读bean来读取数据并且人们通过读/写bean来更新数据。此想法是当读/写bean更新或修改时使只读bean无效。
当配置实体bean或企业级Java Bean时,通常有用来存储有关实际实体bean的元数据的配置描述符。例如,配置描述符可以是XML文档,用来提供关于bean所提供的、应可让客户访问的服务的信息。此信息可提供广泛类型的信息给客户,比如请求寻径信息,以及辅助性Java类的方法和类细节。可将标记加到配置描述符上,像先前那样作为“使无效目标”引用。读/写bean的使无效目标可包含任何关联只读bean的标识符。此使无效目标可用于当只读bean被更新时自动使任何关联的只读bean无效。
在一个实施例中,当服务器从读/写bean请求信息或产生只读bean来处理请求时,使无效目标可进行更新。当读/写bean从数据库或数据存储器转发信息到请求服务器时,读/写bean也可更新使无效目标。存储在服务器上包含读/写bean的XML文件可被更新为包含请求信息或创建bean的服务器的标识符。
图3再次展示了图1的系统100,除了在此实施例中该系统还展示出利用使无效目标。当读/写bean128用来更新数据项122时,系统可查看与该读/写bean128相关联的使无效目标并发送使无效请求到与该读/写bean相关联的每个只读bean130。使无效请求可直接由服务器110处理,其包含了读/写bean128和只读bean130。使无效请求也可由任何适当的协议发送到包含在使无效目标中的只读bean130的其他服务器。一种方法是,服务器110通过点对点连接134直接联络服务器112,告诉服务器112上的只读bean130来废弃服务器112上的缓冲副本118。另一种方法是,服务器110可通过网络106发送多点传送消息132到任何服务器,该服务器包含在使无效目标中的只读bean130,比如服务器112。
对使无效后的只读bean的后续调用可导致比如企业级Java BeanLoad的方法被调用,它可从数据库读取当前信息到缓存中。例如,容器管理持久性(CMP)bean,状态自动和数据库同步的实体bean,可使用比如企业级JavaBean-jar.xml的XML文件中的使无效目标元素来指定当读/写bean被修改时应使无效的只读实体bean。在这个例子中的容器可自动将使无效目标使无效,比如在事务完成之后。
这样的方法200如图4的流程图所示。数据项的副本存储在网络群集中的至少一个服务器上202。标识信息,或使无效目标,提供给群集中服务器上的读/写bean,群集中任何服务器相关的信息包含只读bean和数据项的本地副本204。数据项可使用读/写bean在数据库中更新206。使无效请求可从包含读/写bean的服务器被发送到由标识信息所标识的任何服务器208。然后,接收到请求的每个服务器可废弃数据项的副本210。
在这种方式中,顾客或客户不需要编写任何额外代码来使项目无效。如本发明的实施例所述,只有使无效目标必须被指定以便保持读/写和只读bean一致。Bean可共存在相同的服务器上,只读bean从本地缓存读取项目,读/写bean从数据库读取或写入数据库。
为了改善性能,如本发明所述的系统可一直等待到整个事务或系列更新都提交到数据库或数据表,而不是为每个更新发送单独的消息。服务器,比如发起更新的服务器,可保持跟踪在事务期间哪些关键字被更新并且多点发送包括所有已更新主关键字的信息的单个消息。这样的消息批处理可改善这种系统的总体性能和可降低错误或不一致的机率。
如本发明所述的可用系统的一个例子包含股票符号的表,以及每个符号关联的信息,比如价格和数量。Java服务端页面(JSP)可用来允许用户请求股票的当前价格。JSP可从只读实体企业级Java Bean读取信息。Java消息服务(JMS)队列可接收带有股票价格更新的消息。消息驱动bean可从队列中读出这些消息和更新关联的CMP实体bean。当这个修改发生时,容器可使关联的只读bean无效。
本发明的优选实施例的上述描述是为说明和描述用途而提供的。它不会很详尽或将本发明局限在所公开的精确形式里。对于本领域的技术人员来说,明显地存在许多修改和变化。选择和描述的实施例只是为了更好地解释本发明的原理和它的实践应用,从而使本领域的其他技术人员可理解本发明的各种实施例和适用于所计划的特定用途的各种修改。本发明的范围应由所附的权利要求和它们的等价物来定义。

Claims (38)

1.一种用于在数据库中更新数据项的缓冲副本的方法,包括:
存储数据项的副本在服务器上,该数据项存储在数据库中;
产生只读bean来提供对副本的读访问以及存储与只读bean相关的标识信息;
产生读/写bean来提供到数据库中的数据项的读和写访问以及使用读/写bean来更新数据项;以及
使用标识信息来发送使无效请求到只读bean以使数据项的副本可被删除。
2.如权利要求1所述的方法,其中:
存储数据项的副本的步骤把副本存储在第一服务器上的缓存中。
3.如权利要求2所述的方法,其中:
产生只读bean的步骤在第一服务器上产生只读bean;和
产生读/写bean的步骤在第二服务器上产生读/写bean。
4.如权利要求3所述的方法,其中:
发送使无效请求的步骤从包含读/写bean的第二服务器发送请求到包含只读bean的第一服务器。
5.如权利要求1所述的方法,其中:
产生只读bean和存储标识信息的步骤存储标识信息为XML文档中的一个标记。
6.如权利要求1所述的方法,其中:
发送使无效请求到只读bean的步骤进一步包括多点传送请求到任何只读bean,该只读bean存储作为由标识信息所标识的数据项的副本。
7.如权利要求1所述的方法,其中:
发送使无效请求到只读bean的步骤进一步包括多点传送请求到群集的任何成员,服务器是群集的成员。
8.如权利要求7所述的方法,进一步包括:
周期性经过群集多点传送使无效请求。
9.如权利要求1所述的方法,其中:
发送使无效请求到只读bean的步骤通过点到点连接发生。
10.如权利要求1所述的方法,其中:
发送使无效请求的步骤包括多点传送包含版本号的请求。
11.如权利要求1所述的方法,进一步包括:
在使无效请求中包括版本标识符。
12.如权利要求11所述的方法,进一步包括:
通过检查版本标识符来确定对于只读bean的使无效请求是否丢失;以及
如果只读bean丢失了使无效请求,则请求向只读bean重发使无效消息。
13.如权利要求1所述的方法,进一步包括:
存储最近的使无效请求。
14.如权利要求1所述的方法,进一步包括:
收集多个更新的信息并且批处理更新信息到一个使无效请求中。
15.一种用于更新数据项的缓冲副本的方法,包括:
存储数据项的副本到群集中的服务器上,数据项存储在网络数据库中;
在网络数据库中更新数据项;
发送使无效请求到只读bean,只读bean为群集提供到副本的读访问;和
响应使无效请求,从服务器上删除该数据项的副本。
16.一种用于更新数据项的缓冲副本的方法,其中:
存储数据项的副本,存储副本在群集中的第一服务器上,只读bean存储在第二服务器上。
17.一种用于更新数据项的缓冲副本的方法,包括:
存储数据项的副本在群集中的服务器上,数据项存储在群集数据库中且有状态;
通过服务器上的只读bean,为群集提供到副本的读访问;
为只读bean设置超时周期;和
超时周期的结束时在群集数据库中读取数据项的状态和更新数据项的副本。
18.一种用于在群集中更新数据项的缓冲副本的系统,包括:
在群集中的第一服务器上的数据项的第一缓冲副本;
允许对第一缓冲副本的读访问的第一只读bean;
在群集中的第二服务器上的数据项的第二缓冲副本;
允许对第二缓冲副本的读访问的第二只读bean;和
允许对数据项的写访问的读/写bean,该读/写bean被编程为当读/写bean更新数据项时发送使无效请求到第一和第二只读bean。
19.如权利要求18所述的系统,进一步包括:
适合于包含数据项的数据库。
20.如权利要求18所述的系统,其中:
第一只读bean有允许删除数据项的第一缓冲副本的接口;和
第二只读bean有允许删除数据项的第二缓冲副本的接口。
21.如权利要求18所述的系统,其中:
如果没有接收到请求时,第一和第二只读bean的每一个都适合于请求重新发送使无效请求。
22.如权利要求21所述的系统,其中:
如果无法获得使无效请求的重新发送时,第一和第二只读bean的每一个都适合于读取数据项。
23.如权利要求18所述的系统,进一步包括:
包含每一个只读bean的标识符的使无效目标,该只读bean在缓冲数据项的副本的群集中。
24.如权利要求23所述的系统,其中:
使无效目标进一步包含读/写bean的标识符。
25.如权利要求23所述的系统,其中:
为了发送使无效请求到缓冲数据项的副本的每一个只读bean,读/写bean适合于检查使无效目标。
26.如权利要求18所述的系统,其中:
在处理使无效请求之后,第一和第二只读bean中的每一个还适合于读取数据项的新副本。
27.一种用于更新数据项的缓冲副本的系统,包括:
包含数据项的第一缓冲副本的第一服务器,第一服务器包含允许到第一缓冲副本的读访问的第一只读bean;和
包含数据项的第二缓冲副本的第二服务器,第二服务器包含读/写bean和第二只读bean,第二只读bean允许到第二缓冲副本的读访问,读/写bean允许到数据项的写访问,当读/写bean在数据存储介质中更新数据项时读/写bean适合于发送使无效请求到第一和第二只读bean。
28.如权利要求27所述的系统,其中:
响应于使无效请求,第一只读bean适合于删除数据项的第一缓冲副本和第二只读bean适合于删除数据项的第二缓冲副本。
29.一种用于更新数据项的缓冲副本的系统,包括:
第一只读bean允许到数据项的第一缓冲副本的读访问;
第二只读bean允许到数据项的第二缓冲副本的读访问;和
读/写bean允许到数据项的写访问,当读/写bean更新数据项时读/写bean适合于发送使无效请求到第一和第二只读bean。
30.一种用于更新数据项的缓冲副本的系统,包括:
包含数据项的第一缓冲副本的第一服务器,第一服务器包含允许到第一缓冲副本的读访问的第一只读bean和读/写bean,读/写bean允许到数据项的写访问和当读/写bean更新数据项时适合于发送使无效请求到第一只读bean;和
包含数据项的第二缓冲副本的第二服务器,第二服务器包含允许到第二缓冲副本的读访问的第二只读bean,第一只读bean能够发送请求到第二服务器来删除第二缓冲副本。
31.一种用于更新数据项的缓冲副本的系统,包括:
包含数据项的第一缓冲副本的第一服务器,第一服务器包含读/写bean和第一只读bean,读/写bean允许到在数据存储介质中数据项的写访问,第一只读bean允许到第一缓冲副本的读访问,第一只读bean包含指定第一服务器多久来更新数据项的缓冲副本的超时值;和
包含数据项的第二缓冲副本的第二服务器,第二服务器包含允许到第二缓冲副本的读访问的第二只读bean,第二只读bean包含指定第一服务器多久来更新数据项的缓冲副本的超时值。
32.一种用于在网络群集中更新数据项的缓冲副本的系统,包括:
包含数据项的数据表;
适合于提出请求到网络群集的客户;
在网络群集中包含数据项的第一缓冲副本的第一服务器,第一服务器包含允许到第一缓冲副本的读访问的只读实体bean;和
在网络群集中包含数据项的第二缓冲副本的第二服务器,第二服务器包含读/写实体bean和第二只读实体bean,第二只读实体bean允许到第二缓冲副本的读访问,读/写实体bean允许到在数据表中数据项的写访问和包含第一和第二只读实体bean的标识信息,当读/写实体bean响应于来自客户的请求在数据表中更新数据项时读/写实体bean适合于发送使无效请求到第一和第二只读实体bean。
33.一种计算机可读的介质,包括:
用于在服务器上存储数据项的副本的方法,数据项存储在数据库中;
用于产生只读bean来提供到副本的读访问和存储只读bean相关的标识信息的方法;
用于产生读/写bean来提供到在数据库中数据项的读和写访问和使用读/写bean更新数据项的方法;和
用于使用标识信息来发送使无效请求到只读bean以使数据项的副本可被删除的方法。
34.一种由针对于在网络群集中数据项的缓冲副本的服务器计算机执行的计算机程序产品,包括:
可在服务器上存储数据项的副本的计算机代码,该数据项存储在数据库中;
可产生只读bean来提供对副本的读访问以及存储与只读bean相关的标识信息的计算机代码;
可产生读/写bean来提供对在数据库中数据项的读和写访问以及使用读/写bean更新数据项的计算机代码;和
可使用标识信息来发送使无效请求到只读bean以使数据项的副本可被删除的计算机代码。
35.一种用于在网络上更新数据项的系统,包括:
用于在服务器上存储数据项的副本的方法,数据项存储在数据库中;
用于产生只读bean来提供到副本的读访问和存储只读bean相关的标识信息的方法;
用于产生读/写bean来提供到在数据库中数据项的读和写访问和使用读/写bean更新数据项的方法;和
用于使用标识信息来发送使无效请求到只读bean以使数据项的副本可被删除的方法。
36.一种计算机系统,包括:
处理器;
由所述处理器执行的对象代码,所述对象代码配置为:
在服务器上存储数据项的副本,数据项存储在数据库中;
产生只读bean来提供到副本的读访问和存储只读bean相关的标识信息;
产生读/写bean来提供到在数据库中数据项的读和写访问和使用读/写bean更新数据项;和
使用标识信息来发送使无效请求到只读bean以使数据项的副本可被删除。
37.一种用于在服务器群集中更新数据项的系统,包括:
能够通过网络提出请求的网络客户;
用于存储数据项和提供通过网络到该数据项的访问的网络数据库;和
用于从所述网络客户接收请求和处理请求的网络服务器,所述网络服务器存储数据项的本地副本以用在处理请求中,网络服务器包含读/写bean和只读bean,只读bean允许到本地副本的读访问,读/写bean允许到在网络数据库中数据项的写访问和包含只读bean的标识信息,读/写bean适合于当读/写bean在网络数据库中更新数据项时发送使无效请求到在网络服务器上的只读bean和在服务器群集中任何其他服务器上的任何只读bean。
38.一种用于在服务器群集中更新数据项的系统,包括:
多个网络客户,每个客户能够通过网络提出请求;
至少一个网络数据库,用于存储数据项和提供通过网络到该数据项的访问;和
多个网络服务器,每个网络服务器能够从所述多个网络客户接收请求和处理请求,每个网络服务器能够在本地缓存中存储数据项的副本和能够存储只读bean用于提供到数据项的副本的访问以用于处理来自其中一个网络客户的请求,所述多个网络服务器的其中一个包含允许到在网络数据库中数据项的写访问的读/写bean和可访问到每一个只读bean的标识信息,读/写bean编程为当读/写bean在网络数据库中更新数据项时发送使无效请求到每一个只读bean以使每一个只读bean能够在本地缓存中删除数据项的副本。
CN02824692A 2001-10-25 2002-10-21 刷新bean缓存的系统和方法 Expired - Lifetime CN100578490C (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US33563301P 2001-10-25 2001-10-25
US60/335,633 2001-10-25
US10/212,382 2002-08-05
US10/212,382 US6918013B2 (en) 2001-07-16 2002-08-05 System and method for flushing bean cache

Publications (2)

Publication Number Publication Date
CN1602489A true CN1602489A (zh) 2005-03-30
CN100578490C CN100578490C (zh) 2010-01-06

Family

ID=26907083

Family Applications (1)

Application Number Title Priority Date Filing Date
CN02824692A Expired - Lifetime CN100578490C (zh) 2001-10-25 2002-10-21 刷新bean缓存的系统和方法

Country Status (6)

Country Link
US (3) US6918013B2 (zh)
EP (1) EP1442398B1 (zh)
JP (1) JP4234008B2 (zh)
CN (1) CN100578490C (zh)
AU (1) AU2002340274B2 (zh)
WO (1) WO2003036517A1 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100403307C (zh) * 2005-09-30 2008-07-16 华为技术有限公司 万维网交互编程语言平台环境下高频数据访问系统与方法
CN101188566B (zh) * 2007-12-13 2010-06-02 东软集团股份有限公司 一种集群环境下数据缓存同步的方法及系统
CN101217571B (zh) * 2008-01-18 2010-07-28 清华大学 用于多副本数据网格系统中的写/读文件操作的方法
CN101060402B (zh) * 2006-04-21 2010-09-08 盛大计算机(上海)有限公司 基于Hash-map的多点缓存装置
CN101151630B (zh) * 2005-04-12 2012-09-05 国际商业机器公司 用于为工作单元提供原子性的方法、系统和计算机程序
CN101484879B (zh) * 2006-07-06 2012-11-28 日本电气株式会社 群集系统、服务器群集、群集成员、群集成员的冗余化方法、负荷分散方法
CN102882977A (zh) * 2012-10-16 2013-01-16 北京奇虎科技有限公司 网络应用集成系统和方法
CN102902730A (zh) * 2012-09-10 2013-01-30 新浪网技术(中国)有限公司 基于数据缓存的读数据方法及装置
CN107465714A (zh) * 2017-01-23 2017-12-12 北京思特奇信息技术股份有限公司 一种基于应用集群的配置数据动态更新系统及方法
CN108959548A (zh) * 2018-07-02 2018-12-07 阿里巴巴集团控股有限公司 业务请求的处理方法及装置

Families Citing this family (93)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7062456B1 (en) 1999-02-09 2006-06-13 The Chase Manhattan Bank System and method for back office processing of banking transactions using electronic files
US7571215B2 (en) * 2001-07-16 2009-08-04 Bea Systems, Inc. Data replication protocol
US7702791B2 (en) 2001-07-16 2010-04-20 Bea Systems, Inc. Hardware load-balancing apparatus for session replication
US7409420B2 (en) 2001-07-16 2008-08-05 Bea Systems, Inc. Method and apparatus for session replication and failover
US6918013B2 (en) * 2001-07-16 2005-07-12 Bea Systems, Inc. System and method for flushing bean cache
US20030023898A1 (en) * 2001-07-16 2003-01-30 Jacobs Dean Bernard Layered architecture for data replication
US7028030B2 (en) * 2001-08-30 2006-04-11 Bea Systems, Inc. Cluster caching with concurrency checking
US20030046230A1 (en) * 2001-08-30 2003-03-06 Jacobs Dean Bernard Method for maintaining account consistency
US7113980B2 (en) 2001-09-06 2006-09-26 Bea Systems, Inc. Exactly once JMS communication
US7020684B2 (en) * 2002-01-18 2006-03-28 Bea Systems, Inc. System and method for optimistic caching
US6978278B2 (en) * 2002-01-18 2005-12-20 Bea Systems, Inc. System and method for heterogeneous caching
US6898587B2 (en) * 2002-01-18 2005-05-24 Bea Systems, Inc. System and method for performing commutative operations in data access systems
WO2003073311A1 (en) * 2002-02-21 2003-09-04 Bea Systems, Inc. System and method for message driven bean service migration
US7403996B2 (en) 2002-02-21 2008-07-22 Bea Systems, Inc. Systems and methods for migratable services
US7178050B2 (en) * 2002-02-22 2007-02-13 Bea Systems, Inc. System for highly available transaction recovery for transaction processing systems
US7152181B2 (en) * 2002-02-22 2006-12-19 Bea Systems, Inc. Method for highly available transaction recovery for transaction processing systems
US7987246B2 (en) * 2002-05-23 2011-07-26 Jpmorgan Chase Bank Method and system for client browser update
US7506342B2 (en) * 2002-07-23 2009-03-17 Bea Systems, Inc. System and method for implementing J2EE connector architecture
JP3862652B2 (ja) * 2002-12-10 2006-12-27 キヤノン株式会社 印刷制御方法及び情報処理装置
WO2005015361A2 (en) * 2003-08-08 2005-02-17 Jp Morgan Chase Bank System for archive integrity management and related methods
US20050065964A1 (en) 2003-09-19 2005-03-24 Ziemann David M. Update of a tree-based database
US7290015B1 (en) * 2003-10-02 2007-10-30 Progress Software Corporation High availability via data services
US8655755B2 (en) * 2003-10-22 2014-02-18 Scottrade, Inc. System and method for the automated brokerage of financial instruments
US7978716B2 (en) 2003-11-24 2011-07-12 Citrix Systems, Inc. Systems and methods for providing a VPN solution
US20050108300A1 (en) * 2003-11-17 2005-05-19 Terrascale Technologies Inc. Method for the management of local client cache buffers in a clustered computer environment
US7711730B2 (en) * 2003-12-22 2010-05-04 International Business Machines Corporation Method of returning data during insert statement processing
US7493624B1 (en) * 2003-12-30 2009-02-17 Sap Ag Management architecture and method employed within a clustered node configuration
US8166152B1 (en) * 2003-12-30 2012-04-24 Sap Ag Architecture and method for monitoring system resources within an enterprise network
US7725572B1 (en) 2003-12-30 2010-05-25 Sap Ag Notification architecture and method employed within a clustered node configuration
US7822826B1 (en) 2003-12-30 2010-10-26 Sap Ag Deployment of a web service
US7941521B1 (en) 2003-12-30 2011-05-10 Sap Ag Multi-service management architecture employed within a clustered node configuration
US7756968B1 (en) 2003-12-30 2010-07-13 Sap Ag Method and system for employing a hierarchical monitor tree for monitoring system resources in a data processing environment
US20050216585A1 (en) * 2004-03-26 2005-09-29 Tsvetelina Todorova Monitor viewer for an enterprise network monitoring system
US7269708B2 (en) 2004-04-20 2007-09-11 Rambus Inc. Memory controller for non-homogenous memory system
US7454571B1 (en) 2004-05-04 2008-11-18 Sun Microsystems, Inc. Heuristic cache tuning
US8019735B2 (en) * 2004-05-21 2011-09-13 Oracle International Corporation Systems and methods for query caching
US7610373B2 (en) * 2004-05-27 2009-10-27 International Business Machines Corporation Voting mechanism for session invalidation processing in an application server cluster
US8739274B2 (en) 2004-06-30 2014-05-27 Citrix Systems, Inc. Method and device for performing integrated caching in a data communication network
US7757074B2 (en) 2004-06-30 2010-07-13 Citrix Application Networking, Llc System and method for establishing a virtual private network
US8495305B2 (en) 2004-06-30 2013-07-23 Citrix Systems, Inc. Method and device for performing caching of dynamically generated objects in a data communication network
US7502811B2 (en) * 2004-07-08 2009-03-10 International Business Machines Corporation Defer container-managed persistence operations on transactional objects
EP1771979B1 (en) 2004-07-23 2011-11-23 Citrix Systems, Inc. A method and systems for securing remote access to private networks
EP1771998B1 (en) * 2004-07-23 2015-04-15 Citrix Systems, Inc. Systems and methods for optimizing communications between network nodes
US7366974B2 (en) * 2004-09-03 2008-04-29 Jp Morgan Chase Bank System and method for managing template attributes
US20060059210A1 (en) * 2004-09-16 2006-03-16 Macdonald Glynne Generic database structure and related systems and methods for storing data independent of data type
US20090132466A1 (en) * 2004-10-13 2009-05-21 Jp Morgan Chase Bank System and method for archiving data
JP4140910B2 (ja) * 2004-12-28 2008-08-27 インターナショナル・ビジネス・マシーンズ・コーポレーション データ処理装置、データ管理装置、データ処理方法、データ管理方法、データ処理プログラム、データ管理プログラム、及び情報システム
US8706877B2 (en) 2004-12-30 2014-04-22 Citrix Systems, Inc. Systems and methods for providing client-side dynamic redirection to bypass an intermediary
US7810089B2 (en) 2004-12-30 2010-10-05 Citrix Systems, Inc. Systems and methods for automatic installation and execution of a client-side acceleration program
US8954595B2 (en) 2004-12-30 2015-02-10 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP buffering
US8549149B2 (en) 2004-12-30 2013-10-01 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP multiplexing
US8700695B2 (en) 2004-12-30 2014-04-15 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP pooling
US8255456B2 (en) 2005-12-30 2012-08-28 Citrix Systems, Inc. System and method for performing flash caching of dynamically generated objects in a data communication network
JP5183214B2 (ja) 2005-01-24 2013-04-17 サイトリックス システムズ,インコーポレイテッド ネットワークにおいて動的に生成されたオブジェクトのキャッシングを実行するためのシステムおよび方法
US8065606B1 (en) 2005-09-16 2011-11-22 Jpmorgan Chase Bank, N.A. System and method for automating document generation
US8392400B1 (en) * 2005-12-29 2013-03-05 Amazon Technologies, Inc. Method and apparatus for stress management in a searchable data service
US7921184B2 (en) 2005-12-30 2011-04-05 Citrix Systems, Inc. System and method for performing flash crowd caching of dynamically generated objects in a data communication network
US8301839B2 (en) 2005-12-30 2012-10-30 Citrix Systems, Inc. System and method for performing granular invalidation of cached dynamically generated objects in a data communication network
US7685131B2 (en) * 2006-02-28 2010-03-23 International Business Machines Corporation Web services database cluster architecture
CN100426751C (zh) * 2006-03-21 2008-10-15 华为技术有限公司 保证集群系统中配置信息一致的方法
EP2002337A1 (en) * 2006-03-31 2008-12-17 British Telecommunications Public Limited Company Exception handler for the upgrade of java objects in a distributed system
WO2007113542A1 (en) 2006-03-31 2007-10-11 British Telecommunications Public Limited Company Server computer component
EP2002334A1 (en) * 2006-03-31 2008-12-17 British Telecommunications Public Limited Company Xml-based transfer and a local storage of java objects
US7849211B2 (en) * 2006-05-12 2010-12-07 Broadcom Corporation Method and system for reliable multicast datagrams and barriers
US9189303B2 (en) * 2006-08-10 2015-11-17 International Business Machines Corporation Shadow queues for recovery of messages
US8745315B2 (en) 2006-11-06 2014-06-03 Rambus Inc. Memory Systems and methods supporting volatile and wear-leveled nonvolatile physical memory
US8104076B1 (en) 2006-11-13 2012-01-24 Jpmorgan Chase Bank, N.A. Application access control system
US8019723B2 (en) * 2006-12-20 2011-09-13 International Business Machines Corporation Deferred copy target pull of volume data
US7925626B2 (en) * 2006-12-20 2011-04-12 International Business Machines Corporation Immediate copy target pull of volume data
SE533007C2 (sv) 2008-10-24 2010-06-08 Ilt Productions Ab Distribuerad datalagring
EP2387200B1 (en) 2010-04-23 2014-02-12 Compuverde AB Distributed data storage
US20110289141A1 (en) 2010-05-20 2011-11-24 Salesforce.Com, Inc. Methods and systems for providing a user interface in a multi-tenant database environment
US9038177B1 (en) 2010-11-30 2015-05-19 Jpmorgan Chase Bank, N.A. Method and system for implementing multi-level data fusion
US9292588B1 (en) 2011-07-20 2016-03-22 Jpmorgan Chase Bank, N.A. Safe storing data for disaster recovery
US8645978B2 (en) 2011-09-02 2014-02-04 Compuverde Ab Method for data maintenance
US8650365B2 (en) 2011-09-02 2014-02-11 Compuverde Ab Method and device for maintaining data in a data storage system comprising a plurality of data storage nodes
US8769138B2 (en) 2011-09-02 2014-07-01 Compuverde Ab Method for data retrieval from a distributed data storage system
US9626378B2 (en) 2011-09-02 2017-04-18 Compuverde Ab Method for handling requests in a storage system and a storage node for a storage system
US8997124B2 (en) 2011-09-02 2015-03-31 Compuverde Ab Method for updating data in a distributed data storage system
US9021053B2 (en) 2011-09-02 2015-04-28 Compuverde Ab Method and device for writing data to a data storage system comprising a plurality of data storage nodes
US8495106B2 (en) * 2011-11-18 2013-07-23 International Business Machines Corporation Write instruction datasource for database write procedure
FR2994041B1 (fr) * 2012-07-24 2015-03-06 Cassidian Cybersecurity Systeme de multi-transmission unidirectionnelle
US10540373B1 (en) 2013-03-04 2020-01-21 Jpmorgan Chase Bank, N.A. Clause library manager
US9648125B2 (en) 2013-10-04 2017-05-09 Akamai Technologies, Inc. Systems and methods for caching content with notification-based invalidation
US9641640B2 (en) 2013-10-04 2017-05-02 Akamai Technologies, Inc. Systems and methods for controlling cacheability and privacy of objects
US9813515B2 (en) 2013-10-04 2017-11-07 Akamai Technologies, Inc. Systems and methods for caching content with notification-based invalidation with extension to clients
US9183148B2 (en) 2013-12-12 2015-11-10 International Business Machines Corporation Efficient distributed cache consistency
CN104754006A (zh) * 2013-12-31 2015-07-01 上海品志文化传播有限公司 构建高可用性分布式系统的方法
US10489213B2 (en) 2014-10-01 2019-11-26 Red Hat, Inc. Execution of a method at a cluster of nodes
CN105991565B (zh) 2015-02-05 2019-01-25 阿里巴巴集团控股有限公司 读写分离的方法、系统和数据库代理服务器
US9785354B2 (en) 2015-06-29 2017-10-10 International Business Machines Corporation Selective write control
CN107818111B (zh) * 2016-09-13 2021-10-15 腾讯科技(深圳)有限公司 一种缓存文件数据的方法、服务器及终端
US11030215B2 (en) * 2016-12-23 2021-06-08 Ingram Micro Inc. Technologies for scaling user interface backend clusters for database-bound applications

Family Cites Families (108)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4714996A (en) * 1985-11-26 1987-12-22 International Business Machines Corporation Impact calculation for version management in a distributed information service
US5201010A (en) 1989-05-01 1993-04-06 Credit Verification Corporation Method and system for building a database and performing marketing based upon prior shopping history
US5163148A (en) * 1989-08-11 1992-11-10 Digital Equipment Corporation File backup system for producing a backup copy of a file which may be updated during backup
US6345288B1 (en) 1989-08-31 2002-02-05 Onename Corporation Computer-based communication system and method using metadata defining a control-structure
US5319773A (en) * 1990-05-16 1994-06-07 International Business Machines Corporation Asynchronous resynchronization of a commit procedure
US5249290A (en) * 1991-02-22 1993-09-28 At&T Bell Laboratories Method of and apparatus for operating a client/server computer network
US5212793A (en) * 1991-09-04 1993-05-18 International Business Machines Corp. Generic initiators
US6026452A (en) * 1997-02-26 2000-02-15 Pitts; William Michael Network distributed site cache RAM claimed as up/down stream request/reply channel for storing anticipated data and meta data
JP2557192B2 (ja) 1993-03-15 1996-11-27 インターナショナル・ビジネス・マシーンズ・コーポレイション トランザクション処理の同期方法、トランザクション処理のモニタ方法及びトランザクションのコミット処理方法
US5546579A (en) * 1994-05-02 1996-08-13 International Business Machines Corporation Page refreshing procedure using two locking granularities to ensure cache coherency in a multisystem database processing environment having a high-speed shared electronic store
US5787246A (en) * 1994-05-27 1998-07-28 Microsoft Corporation System for configuring devices for a computer system
US5574906A (en) 1994-10-24 1996-11-12 International Business Machines Corporation System and method for reducing storage requirement in backup subsystems utilizing segmented compression and differencing
US5634052A (en) 1994-10-24 1997-05-27 International Business Machines Corporation System for reducing storage requirements and transmission loads in a backup subsystem in client-server environment by transmitting only delta files from client to server
US5802291A (en) * 1995-03-30 1998-09-01 Sun Microsystems, Inc. System and method to control and administer distributed object servers using first class distributed objects
US5677945A (en) 1995-06-06 1997-10-14 Mci Corporation Account balancing and monitoring system for a telecommunications network
US5903731A (en) * 1995-06-14 1999-05-11 Us West Technologies, Inc. System and associated method for re-engineering a telecommunications network support system with object-oriented translators
DE69610168D1 (de) * 1995-06-30 2000-10-12 Ibm Verfahren und Vorrichtung zur einmaligen Anmeldung in einer Umgebung für verteilte Berechnungen
US5774689A (en) * 1995-09-22 1998-06-30 Bell Atlantic Network Services, Inc. Network configuration management system for digital communication networks
US6212556B1 (en) * 1995-11-13 2001-04-03 Webxchange, Inc. Configurable value-added network (VAN) switching
US5910180A (en) * 1995-11-21 1999-06-08 Diamond Multimedia Systems, Inc. Context virtualizing device driver architecture
US5765171A (en) * 1995-12-29 1998-06-09 Lucent Technologies Inc. Maintaining consistency of database replicas
US5761507A (en) * 1996-03-05 1998-06-02 International Business Machines Corporation Client/server architecture supporting concurrent servers within a server with a transaction manager providing server/connection decoupling
US6366930B1 (en) 1996-04-12 2002-04-02 Computer Associates Think, Inc. Intelligent data inventory & asset management systems method and apparatus
US5832514A (en) 1996-06-26 1998-11-03 Microsoft Corporation System and method for discovery based data recovery in a store and forward replication process
US6173327B1 (en) * 1996-07-11 2001-01-09 Jeroen De Borst Object-oriented method and apparatus for information delivery
US7680879B2 (en) 1996-07-18 2010-03-16 Computer Associates Think, Inc. Method and apparatus for maintaining data integrity across distributed computer systems
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
US6189046B1 (en) * 1997-03-27 2001-02-13 Hewlett-Packard Company Mechanism and method for merging cached location information in a distributed object environment
US5897634A (en) * 1997-05-09 1999-04-27 International Business Machines Corporation Optimized caching of SQL data in an object server system
US6134673A (en) * 1997-05-13 2000-10-17 Micron Electronics, Inc. Method for clustering software applications
US5999947A (en) * 1997-05-27 1999-12-07 Arkona, Llc Distributing database differences corresponding to database change events made to a database table located on a server computer
US6065046A (en) 1997-07-29 2000-05-16 Catharon Productions, Inc. Computerized system and associated method of optimally controlled storage and transfer of computer programs on a computer network
US5909689A (en) * 1997-09-18 1999-06-01 Sony Corporation Automatic update of file versions for files shared by several computers which record in respective file directories temporal information for indicating when the files have been created
JP3901806B2 (ja) * 1997-09-25 2007-04-04 富士通株式会社 情報管理システム及び二次サーバ
US6356931B2 (en) * 1997-10-06 2002-03-12 Sun Microsystems, Inc. Method and system for remotely browsing objects
US6425005B1 (en) * 1997-10-06 2002-07-23 Mci Worldcom, Inc. Method and apparatus for managing local resources at service nodes in an intelligent network
US5926775A (en) * 1997-10-08 1999-07-20 National Instruments Corporation Mini driver software architecture for a data acquisition system
US6018805A (en) * 1997-12-15 2000-01-25 Recipio Transparent recovery of distributed-objects using intelligent proxies
US6173293B1 (en) 1998-03-13 2001-01-09 Digital Equipment Corporation Scalable distributed file system
US6453356B1 (en) * 1998-04-15 2002-09-17 Adc Telecommunications, Inc. Data exchange system and method
US6449734B1 (en) * 1998-04-17 2002-09-10 Microsoft Corporation Method and system for discarding locally committed transactions to ensure consistency in a server cluster
US6122629A (en) * 1998-04-30 2000-09-19 Compaq Computer Corporation Filesystem data integrity in a single system image environment
US6085198A (en) * 1998-06-05 2000-07-04 Sun Microsystems, Inc. Integrated three-tier application framework with automated class and table generation
US6243753B1 (en) * 1998-06-12 2001-06-05 Microsoft Corporation Method, system, and computer program product for creating a raw data channel form an integrating component to a series of kernel mode filters
US6256634B1 (en) 1998-06-30 2001-07-03 Microsoft Corporation Method and system for purging tombstones for deleted data items in a replicated database
US6449623B1 (en) 1998-09-04 2002-09-10 Lucent Technologies Inc, Method and apparatus for detecting and recovering from data corruption of a database via read logging
US6338089B1 (en) * 1998-10-06 2002-01-08 Bull Hn Information Systems Inc. Method and system for providing session pools for high performance web browser and server communications
US6304879B1 (en) 1998-11-25 2001-10-16 Microsoft Corporation Dynamic data cache for object-oriented computing environments
US6389462B1 (en) * 1998-12-16 2002-05-14 Lucent Technologies Inc. Method and apparatus for transparently directing requests for web objects to proxy caches
US6298478B1 (en) * 1998-12-31 2001-10-02 International Business Machines Corporation Technique for managing enterprise JavaBeans (™) which are the target of multiple concurrent and/or nested transactions
US6438705B1 (en) * 1999-01-29 2002-08-20 International Business Machines Corporation Method and apparatus for building and managing multi-clustered computer systems
US6453321B1 (en) 1999-02-11 2002-09-17 Ibm Corporation Structured cache for persistent objects
US6269373B1 (en) 1999-02-26 2001-07-31 International Business Machines Corporation Method and system for persisting beans as container-managed fields
US6430564B1 (en) 1999-03-01 2002-08-06 Hewlett-Packard Company Java data manager for embedded device
US6523130B1 (en) * 1999-03-11 2003-02-18 Microsoft Corporation Storage system having error detection and recovery
US6401239B1 (en) 1999-03-22 2002-06-04 B.I.S. Advanced Software Systems Ltd. System and method for quick downloading of electronic files
US6466972B1 (en) * 1999-03-31 2002-10-15 International Business Machines Corporation Server based configuration of network computers via machine classes
US6539381B1 (en) * 1999-04-21 2003-03-25 Novell, Inc. System and method for synchronizing database information
EP1049307A1 (en) * 1999-04-29 2000-11-02 International Business Machines Corporation Method and system for dispatching client sessions within a cluster of servers connected to the World Wide Web
US6804818B1 (en) * 1999-04-29 2004-10-12 International Business Machines Corporation Integration mechanism for object-oriented software and message-oriented software
US6343287B1 (en) * 1999-05-19 2002-01-29 Sun Microsystems, Inc. External data store link for a profile service
US6411956B1 (en) * 1999-06-14 2002-06-25 Sun Microsystems, Inc. Method for distributed transaction support using JDBC 1.0 drivers
US6526521B1 (en) 1999-06-18 2003-02-25 Emc Corporation Methods and apparatus for providing data storage access
US6405219B2 (en) * 1999-06-22 2002-06-11 F5 Networks, Inc. Method and system for automatically updating the version of a set of files stored on content servers
US6963857B1 (en) * 1999-07-12 2005-11-08 Jsa Technologies Network-accessible account system
US7100195B1 (en) * 1999-07-30 2006-08-29 Accenture Llp Managing user information on an e-commerce system
CA2280588C (en) 1999-08-20 2005-07-05 Leonard W. Theivendra Code wrapping to simplify access to and use of enterprise java beans
US6757708B1 (en) * 2000-03-03 2004-06-29 International Business Machines Corporation Caching dynamic content
AU2001245976A1 (en) 2000-03-29 2001-10-08 Nextset Software Inc. System and method of providing an asynchronous interface between a client system and an enterprise javabeans-enabled server
US6654766B1 (en) 2000-04-04 2003-11-25 International Business Machines Corporation System and method for caching sets of objects
US6775703B1 (en) * 2000-05-01 2004-08-10 International Business Machines Corporation Lease based safety protocol for distributed system with multiple networks
US6721777B1 (en) * 2000-05-24 2004-04-13 Sun Microsystems, Inc. Modular and portable deployment of a resource adapter in an application server
US6832238B1 (en) * 2000-05-24 2004-12-14 Sun Microsystems, Inc. Local transaction management
US7089584B1 (en) 2000-05-24 2006-08-08 Sun Microsystems, Inc. Security architecture for integration of enterprise information system with J2EE platform
US6578160B1 (en) 2000-05-26 2003-06-10 Emc Corp Hopkinton Fault tolerant, low latency system resource with high level logging of system resource transactions and cross-server mirrored high level logging of system resource transactions
US6687848B1 (en) * 2000-05-31 2004-02-03 Sun Microsystems, Inc. Techniques for preventing information loss in a business to business message in an enterprise computer system
US7171692B1 (en) * 2000-06-27 2007-01-30 Microsoft Corporation Asynchronous communication within a server arrangement
US7099926B1 (en) * 2000-07-06 2006-08-29 International Business Machines Corporation Object caching and update queuing technique to improve performance and resource utilization
US6505200B1 (en) * 2000-07-06 2003-01-07 International Business Machines Corporation Application-independent data synchronization technique
US6609213B1 (en) 2000-08-10 2003-08-19 Dell Products, L.P. Cluster-based system and method of recovery from server failures
US6651140B1 (en) 2000-09-01 2003-11-18 Sun Microsystems, Inc. Caching pattern and method for caching in an object-oriented programming environment
US6542845B1 (en) * 2000-09-29 2003-04-01 Sun Microsystems, Inc. Concurrent execution and logging of a component test in an enterprise computer system
GB2368930B (en) 2000-10-17 2005-04-06 Hewlett Packard Co Establishment of a deferred network communication session
US20020073188A1 (en) * 2000-12-07 2002-06-13 Rawson Freeman Leigh Method and apparatus for partitioning system management information for a server farm among a plurality of leaseholds
US7085834B2 (en) 2000-12-22 2006-08-01 Oracle International Corporation Determining a user's groups
US6675261B2 (en) 2000-12-22 2004-01-06 Oblix, Inc. Request based caching of data store data
US7188145B2 (en) 2001-01-12 2007-03-06 Epicrealm Licensing Llc Method and system for dynamic distributed data caching
US6366052B1 (en) * 2001-01-22 2002-04-02 Michael A. Centauro Battery saving electron flow blocking system
AU2002306495A1 (en) 2001-02-13 2002-08-28 Candera, Inc. Storage virtualization and storage management to provide higher level storage services
US7185364B2 (en) 2001-03-21 2007-02-27 Oracle International Corporation Access system interface
US20020161860A1 (en) * 2001-02-28 2002-10-31 Benjamin Godlin Method and system for differential distributed data file storage, management and access
GB2373069B (en) * 2001-03-05 2005-03-23 Ibm Method, apparatus and computer program product for integrating heterogeneous systems
US7240101B2 (en) 2001-04-02 2007-07-03 International Business Machines Corporation Method and apparatus for efficiently reflecting complex systems of objects in XML documents
US6711579B2 (en) 2001-04-20 2004-03-23 Sree Ayyanar Spinning And Weaving Mills Limited Data storage schema independent programming for data retrieval using semantic bridge
US7543066B2 (en) * 2001-04-30 2009-06-02 International Business Machines Corporation Method and apparatus for maintaining session affinity across multiple server groups
US6567809B2 (en) * 2001-06-08 2003-05-20 International Business Machines Corporation Disabling and reloading enterprise java beans using database trigger programs
US6918013B2 (en) 2001-07-16 2005-07-12 Bea Systems, Inc. System and method for flushing bean cache
US7409420B2 (en) 2001-07-16 2008-08-05 Bea Systems, Inc. Method and apparatus for session replication and failover
US7571215B2 (en) 2001-07-16 2009-08-04 Bea Systems, Inc. Data replication protocol
WO2003009610A1 (en) * 2001-07-18 2003-01-30 Telcontar System and method for initiating responses to location-based events
US6944785B2 (en) * 2001-07-23 2005-09-13 Network Appliance, Inc. High-availability cluster virtual server system
US7568000B2 (en) * 2001-08-21 2009-07-28 Rosemount Analytical Shared-use data processing for process control systems
US7028030B2 (en) 2001-08-30 2006-04-11 Bea Systems, Inc. Cluster caching with concurrency checking
US6826601B2 (en) * 2001-09-06 2004-11-30 Bea Systems, Inc. Exactly one cache framework
US6983465B2 (en) * 2001-10-11 2006-01-03 Sun Microsystems, Inc. Method and apparatus for managing data caching in a distributed computer system
US20030115366A1 (en) 2001-12-18 2003-06-19 Robinson Brian R. Asynchronous message delivery system and method
US7089317B2 (en) 2002-03-21 2006-08-08 Sun Microsystems, Inc. Architecture for plugging messaging systems into an application server

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101151630B (zh) * 2005-04-12 2012-09-05 国际商业机器公司 用于为工作单元提供原子性的方法、系统和计算机程序
CN100403307C (zh) * 2005-09-30 2008-07-16 华为技术有限公司 万维网交互编程语言平台环境下高频数据访问系统与方法
CN101060402B (zh) * 2006-04-21 2010-09-08 盛大计算机(上海)有限公司 基于Hash-map的多点缓存装置
CN101484879B (zh) * 2006-07-06 2012-11-28 日本电气株式会社 群集系统、服务器群集、群集成员、群集成员的冗余化方法、负荷分散方法
CN101188566B (zh) * 2007-12-13 2010-06-02 东软集团股份有限公司 一种集群环境下数据缓存同步的方法及系统
CN101217571B (zh) * 2008-01-18 2010-07-28 清华大学 用于多副本数据网格系统中的写/读文件操作的方法
CN102902730A (zh) * 2012-09-10 2013-01-30 新浪网技术(中国)有限公司 基于数据缓存的读数据方法及装置
CN102902730B (zh) * 2012-09-10 2016-04-20 新浪网技术(中国)有限公司 基于数据缓存的读数据方法及装置
CN102882977A (zh) * 2012-10-16 2013-01-16 北京奇虎科技有限公司 网络应用集成系统和方法
CN102882977B (zh) * 2012-10-16 2015-09-23 北京奇虎科技有限公司 网络应用集成系统和方法
CN107465714A (zh) * 2017-01-23 2017-12-12 北京思特奇信息技术股份有限公司 一种基于应用集群的配置数据动态更新系统及方法
CN108959548A (zh) * 2018-07-02 2018-12-07 阿里巴巴集团控股有限公司 业务请求的处理方法及装置

Also Published As

Publication number Publication date
US6918013B2 (en) 2005-07-12
US20070192320A1 (en) 2007-08-16
US20030051102A1 (en) 2003-03-13
US8176014B2 (en) 2012-05-08
EP1442398A1 (en) 2004-08-04
JP4234008B2 (ja) 2009-03-04
EP1442398A4 (en) 2008-01-16
JP2005507120A (ja) 2005-03-10
AU2002340274B2 (en) 2008-03-06
US20050177550A1 (en) 2005-08-11
US7293009B2 (en) 2007-11-06
EP1442398B1 (en) 2014-03-12
WO2003036517A1 (en) 2003-05-01
CN100578490C (zh) 2010-01-06

Similar Documents

Publication Publication Date Title
CN1602489A (zh) 刷新bean缓存的系统和方法
US8266305B2 (en) Method and system for purging content from a content delivery network
US8788475B2 (en) System and method of accessing a document efficiently through multi-tier web caching
US7451236B2 (en) Document distribution and storage system
CN1221898C (zh) 刷新网络代理高速缓存服务器对象的系统和方法
US9460421B2 (en) Distributing notifications to multiple recipients via a broadcast list
US8639742B2 (en) Refreshing cached documents and storing differential document content
Saito et al. Manageability, availability and performance in porcupine: A highly scalable, cluster-based mail service
US6338092B1 (en) Method, system and computer program for replicating data in a distributed computed environment
US7565423B1 (en) System and method of accessing a document efficiently through multi-tier web caching
US6687846B1 (en) System and method for error handling and recovery
JP4183170B2 (ja) 分散型マルチキャスト・キャッシュ方法及び装置
US8346843B2 (en) System and method for scalable data distribution
AU2002340274A1 (en) System and method for flushing bean cache
US6335937B1 (en) Node failure recovery in a hub and spoke data replication mechanism
US20070074066A1 (en) High availability for event forwarding
CN1259704A (zh) 可扩缩的超高速缓存
CN1549978A (zh) 用于会话复制和故障切换的方法和装置
US20040221011A1 (en) High volume electronic mail processing systems and methods having remote transmission capability
US20060015555A1 (en) Storage cluster server network
US20020026484A1 (en) High volume electronic mail processing systems and methods
CN1285047C (zh) 具有并行检查的群集高速缓存
US6912586B1 (en) Apparatus for journaling during software deployment and method therefor
Tewari et al. WCDP: A protocol for web cache consistency
EP1892624B1 (en) System and method for processing operational data associated with a transmission in a data communication system

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
CX01 Expiry of patent term

Granted publication date: 20100106