CN100578490C - 刷新bean缓存的系统和方法 - Google Patents
刷新bean缓存的系统和方法 Download PDFInfo
- Publication number
- CN100578490C CN100578490C CN02824692A CN02824692A CN100578490C CN 100578490 C CN100578490 C CN 100578490C CN 02824692 A CN02824692 A CN 02824692A CN 02824692 A CN02824692 A CN 02824692A CN 100578490 C CN100578490 C CN 100578490C
- Authority
- CN
- China
- Prior art keywords
- read
- bean
- data item
- server
- copy
- 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.)
- Expired - Lifetime
Links
Images
Classifications
-
- 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
-
- 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
- G06F16/2315—Optimistic 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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
-
- 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/1097—Protocols 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]
-
- 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
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- 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
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99938—Concurrency, e.g. lock management in shared database
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
Abstract
网络群集(104)中的服务器(110、112、114)可分别存储数据项(122)的副本(116、118、120)在本地缓存中,通过只读实体bean提供对这些副本的读访问。数据库(108)中的原始数据项(122)可通过其中一个群集服务器上的读/写实体bean来更新。群集服务器可访问使无效目标,它包含有群集中服务器上存储的数据项的副本(116、118、120)相关的标识信息。一旦读/写bean更新了数据库中的数据项,使无效请求可发送或多点传送到所有群集成员,或者到使无效目标上所包含的任何只读bean或者服务器。每个接收请求的服务器或只读bean知道在本地缓存中废弃该数据项的任何副本,并且可从数据库请求该数据项的当前副本。
Description
优先权要求
本申请要求下列申请的优先权,并在此引入作为参考:
美国临时专利申请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 (23)
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;
其中,
在所述群集中的一服务器上缓冲允许对所述数据项的写访问的读/写bean,该读/写bean被编程为当所述读/写bean更新所述数据项时发送使无效请求到第一和第二只读bean。
16.如权利要求15所述的系统,进一步包括:
适合于包含数据项的数据库。
17.如权利要求15所述的系统,其中:
第一只读bean有允许删除数据项的第一缓冲副本的接口;和
第二只读bean有允许删除数据项的第二缓冲副本的接口。
18.如权利要求15所述的系统,其中:
如果没有接收到请求时,第一和第二只读bean的每一个都适合于请求重新发送使无效请求。
19.如权利要求18所述的系统,其中:
如果无法获得使无效请求的重新发送时,第一和第二只读bean的每一个都适合于读取数据项。
20.如权利要求15所述的系统,进一步包括:
包含每一个只读bean的标识符的使无效目标,该只读bean在缓冲数据项的副本的群集中。
21.如权利要求20所述的系统,其中:
使无效目标进一步包含读/写bean的标识符。
22.如权利要求20所述的系统,其中:
为了发送使无效请求到缓冲数据项的副本的每一个只读bean,读/写bean适合于检查使无效目标。
23.如权利要求15所述的系统,其中:
在处理使无效请求之后,第一和第二只读bean中的每一个还适合于读取数据项的新副本。
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 US6918013B2 (en) | 2001-07-16 | 2002-08-05 | System and method for flushing bean cache |
US10/212,382 | 2002-08-05 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1602489A CN1602489A (zh) | 2005-03-30 |
CN100578490C true 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) |
Families Citing this family (103)
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 |
US7409420B2 (en) | 2001-07-16 | 2008-08-05 | Bea Systems, Inc. | Method and apparatus for session replication and failover |
US7702791B2 (en) | 2001-07-16 | 2010-04-20 | Bea Systems, Inc. | Hardware load-balancing apparatus for session replication |
US7571215B2 (en) * | 2001-07-16 | 2009-08-04 | Bea Systems, Inc. | Data replication protocol |
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 |
US6978278B2 (en) * | 2002-01-18 | 2005-12-20 | Bea Systems, Inc. | System and method for heterogeneous caching |
US7020684B2 (en) * | 2002-01-18 | 2006-03-28 | Bea Systems, Inc. | System and method for optimistic caching |
US6898587B2 (en) * | 2002-01-18 | 2005-05-24 | Bea Systems, Inc. | System and method for performing commutative operations in data access systems |
US7392302B2 (en) * | 2002-02-21 | 2008-06-24 | Bea Systems, Inc. | Systems and methods for automated service migration |
AU2003216332A1 (en) * | 2002-02-21 | 2003-09-09 | Bea Systems, Inc. | System and method for message driven bean service migration |
US7152181B2 (en) * | 2002-02-22 | 2006-12-19 | Bea Systems, Inc. | Method for highly available transaction recovery for transaction processing systems |
US7178050B2 (en) * | 2002-02-22 | 2007-02-13 | Bea Systems, Inc. | System 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 |
US7941521B1 (en) | 2003-12-30 | 2011-05-10 | Sap Ag | Multi-service management architecture employed within a clustered node configuration |
US7822826B1 (en) | 2003-12-30 | 2010-10-26 | Sap Ag | Deployment of a web service |
US8166152B1 (en) * | 2003-12-30 | 2012-04-24 | Sap Ag | Architecture and method for monitoring system resources within an enterprise network |
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 |
US7725572B1 (en) | 2003-12-30 | 2010-05-25 | Sap Ag | Notification architecture and method employed within a clustered node configuration |
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 |
JP2008507928A (ja) | 2004-07-23 | 2008-03-13 | サイトリックス システムズ, インコーポレイテッド | ネットワークノード間の通信を最適化するためのシステムおよび方法 |
EP2264956B1 (en) * | 2004-07-23 | 2017-06-14 | Citrix Systems, Inc. | Method for securing remote access to private networks |
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 |
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 |
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 |
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 |
AU2005325674A1 (en) | 2005-01-24 | 2006-08-03 | Citrix Systems, Inc. | Systems and methods for performing caching of dynamically generated objects in a network |
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 |
GB0507350D0 (en) * | 2005-04-12 | 2005-05-18 | Ibm | A method, system and computer program for providing atomicity for a unit of work |
US8065606B1 (en) | 2005-09-16 | 2011-11-22 | Jpmorgan Chase Bank, N.A. | System and method for automating document generation |
CN100403307C (zh) * | 2005-09-30 | 2008-07-16 | 华为技术有限公司 | 万维网交互编程语言平台环境下高频数据访问系统与方法 |
US7685109B1 (en) | 2005-12-29 | 2010-03-23 | Amazon Technologies, Inc. | Method and apparatus for data partitioning and replication in a searchable data service |
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 |
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 |
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 | 华为技术有限公司 | 保证集群系统中配置信息一致的方法 |
US8095823B2 (en) * | 2006-03-31 | 2012-01-10 | 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 |
EP2002336A1 (en) | 2006-03-31 | 2008-12-17 | British Telecommunications Public Limited Company | Server computer component |
CN101060402B (zh) * | 2006-04-21 | 2010-09-08 | 盛大计算机(上海)有限公司 | 基于Hash-map的多点缓存装置 |
US7849211B2 (en) * | 2006-05-12 | 2010-12-07 | Broadcom Corporation | Method and system for reliable multicast datagrams and barriers |
WO2008004569A1 (fr) * | 2006-07-06 | 2008-01-10 | Nec Corporation | Système à configuration en grappe, grappe pour serveur, élément de grappe, procédé permettant de rendre un élément de grappe redondant, et procédé de distribution de la charge |
US9189303B2 (en) * | 2006-08-10 | 2015-11-17 | International Business Machines Corporation | Shadow queues for recovery of messages |
WO2008057557A2 (en) | 2006-11-06 | 2008-05-15 | Rambus Inc. | Memory system supporting nonvolatile physical memory |
US8104076B1 (en) | 2006-11-13 | 2012-01-24 | Jpmorgan Chase Bank, N.A. | Application access control system |
US7925626B2 (en) * | 2006-12-20 | 2011-04-12 | International Business Machines Corporation | Immediate copy target pull of volume data |
US8019723B2 (en) * | 2006-12-20 | 2011-09-13 | International Business Machines Corporation | Deferred copy target pull of volume data |
CN101188566B (zh) * | 2007-12-13 | 2010-06-02 | 东软集团股份有限公司 | 一种集群环境下数据缓存同步的方法及系统 |
CN101217571B (zh) * | 2008-01-18 | 2010-07-28 | 清华大学 | 用于多副本数据网格系统中的写/读文件操作的方法 |
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 |
US20110289425A1 (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 |
US8769138B2 (en) | 2011-09-02 | 2014-07-01 | Compuverde Ab | Method for data retrieval from 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 |
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 |
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 |
US8645978B2 (en) | 2011-09-02 | 2014-02-04 | Compuverde Ab | Method for data maintenance |
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 |
CN102902730B (zh) * | 2012-09-10 | 2016-04-20 | 新浪网技术(中国)有限公司 | 基于数据缓存的读数据方法及装置 |
CN102882977B (zh) * | 2012-10-16 | 2015-09-23 | 北京奇虎科技有限公司 | 网络应用集成系统和方法 |
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 |
CN107465714B (zh) * | 2017-01-23 | 2021-01-01 | 北京思特奇信息技术股份有限公司 | 一种基于应用集群的配置数据动态更新系统及方法 |
CN108959548B (zh) * | 2018-07-02 | 2023-04-18 | 创新先进技术有限公司 | 业务请求的处理方法及装置 |
Family Cites Families (108)
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 |
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 |
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 |
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 |
US6804818B1 (en) * | 1999-04-29 | 2004-10-12 | International Business Machines Corporation | Integration mechanism for object-oriented software and message-oriented software |
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 |
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 |
US20020004848A1 (en) * | 2000-03-29 | 2002-01-10 | Krishna Sudarshan | 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 |
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 |
US6918013B2 (en) * | 2001-07-16 | 2005-07-12 | Bea Systems, Inc. | System and method for flushing bean cache |
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 |
-
2002
- 2002-08-05 US US10/212,382 patent/US6918013B2/en not_active Expired - Lifetime
- 2002-10-21 AU AU2002340274A patent/AU2002340274B2/en not_active Expired
- 2002-10-21 EP EP02778622.7A patent/EP1442398B1/en not_active Expired - Lifetime
- 2002-10-21 WO PCT/US2002/033659 patent/WO2003036517A1/en active Application Filing
- 2002-10-21 JP JP2003538936A patent/JP4234008B2/ja not_active Expired - Lifetime
- 2002-10-21 CN CN02824692A patent/CN100578490C/zh not_active Expired - Lifetime
-
2005
- 2005-04-13 US US11/105,263 patent/US7293009B2/en not_active Expired - Lifetime
-
2007
- 2007-04-06 US US11/697,675 patent/US8176014B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US20030051102A1 (en) | 2003-03-13 |
EP1442398B1 (en) | 2014-03-12 |
EP1442398A1 (en) | 2004-08-04 |
US6918013B2 (en) | 2005-07-12 |
US8176014B2 (en) | 2012-05-08 |
US20050177550A1 (en) | 2005-08-11 |
CN1602489A (zh) | 2005-03-30 |
JP2005507120A (ja) | 2005-03-10 |
EP1442398A4 (en) | 2008-01-16 |
WO2003036517A1 (en) | 2003-05-01 |
US7293009B2 (en) | 2007-11-06 |
US20070192320A1 (en) | 2007-08-16 |
JP4234008B2 (ja) | 2009-03-04 |
AU2002340274B2 (en) | 2008-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100578490C (zh) | 刷新bean缓存的系统和方法 | |
AU2002340274A1 (en) | System and method for flushing bean cache | |
US7444333B2 (en) | Cluster caching with concurrency checking | |
US6243715B1 (en) | Replicated database synchronization method whereby primary database is selected queries to secondary databases are referred to primary database, primary database is updated, then secondary databases are updated | |
AU633510B2 (en) | Device server units for local area network for digital data processing system | |
US8266305B2 (en) | Method and system for purging content from a content delivery network | |
US5721914A (en) | System and method for hierarchical data distribution | |
CN100568214C (zh) | 用于会话复制和故障切换的方法和装置 | |
US7624155B1 (en) | Data replication facility for distributed computing environments | |
US6944623B2 (en) | Method for data synchronization in web-based communications management system | |
US20060092933A1 (en) | Mechanism for delivering messages to competing consumers in a point-to-point system | |
EP0467546A2 (en) | Distributed data processing systems | |
EP0814590A2 (en) | Preventing conflicts in distributed systems | |
US6094694A (en) | System for storing new messages in both full-length and abbreviated versions of message expiration data, and eliminating old, expired messages when a message is retrieved | |
US20060031262A1 (en) | Synchronizing client data and server data | |
RU2005120666A (ru) | Транспортная агностическая служба передачи сообщений с режимом извлечения | |
US20100131465A1 (en) | Method for duplicating a database in a network of machines, and system of machines comprising a duplicated database | |
US11561961B2 (en) | Global uniqueness checking in distributed databases | |
EP1430419B1 (en) | Cluster caching with concurrency checking | |
US20030046230A1 (en) | Method for maintaining account consistency | |
US6912586B1 (en) | Apparatus for journaling during software deployment and method therefor | |
US6772158B1 (en) | Apparatus for data depoting and method therefor | |
JP3672465B2 (ja) | ファイル蓄積装置 | |
US7136879B2 (en) | System and method for read-only entity bean caching | |
WO2001090943A2 (en) | Distributed internet content delivery 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 |
Granted publication date: 20100106 |
|
CX01 | Expiry of patent term |