CN102165420B - 通过多个应用程序服务器访问共享数据的系统 - Google Patents
通过多个应用程序服务器访问共享数据的系统 Download PDFInfo
- Publication number
- CN102165420B CN102165420B CN200980138187.9A CN200980138187A CN102165420B CN 102165420 B CN102165420 B CN 102165420B CN 200980138187 A CN200980138187 A CN 200980138187A CN 102165420 B CN102165420 B CN 102165420B
- Authority
- CN
- China
- Prior art keywords
- migration
- concentrated
- shared data
- apps
- migration model
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/161—Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
- G06F16/1767—Concurrency control, e.g. optimistic or pessimistic approaches
- G06F16/1774—Locking methods, e.g. locking methods for file systems allowing shared and concurrent access to files
-
- 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/2336—Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
- G06F16/2343—Locking methods, e.g. distributed locking or locking implementation details
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种系统,其具备:访问共享数据的多个应用程序服务器;和集中管理多个应用程序服务器分别提供的共享数据的锁的集中管理部。多个应用程序服务器分别具备:管理该应用程序服务器提供的共享数据的锁的分散管理部;和选择从分散管理部取得锁的分散模式或者从集中管理部取得锁的集中模式的选择部。
Description
技术领域
本发明涉及通过多个应用程序服务器访问共享数据的系统、该系统中的应用程序服务器、程序及方法。
背景技术
已知有具备存储数据库的数据库服务器和分别访问数据库的多个应用程序服务器的系统。这样的系统在应用程序服务器高速缓存数据库的参照结果,可减轻数据库服务器的负荷。
在应用程序服务器高速缓存数据库的参照结果的系统中,为了防止数据库与不匹配的高速缓存数据的参照,必须在多个应用程序服务器间进行锁控制。作为锁控制的手法,例如已知有各应用程序服务器分别管理锁的分散锁方式,以及,锁服务器等集中管理锁的集中锁方式。另外,以下,将分散锁方式的锁控制称为高速缓存模式,将集中锁方式的锁控制称为数据库模式。
适用高速缓存模式的系统中,参照数据库时,应用程序服务器在参照之前取得本地管理的参照锁。另外,适用高速缓存模式的系统中,更新数据库时,应用程序服务器在更新之前取得其他全部的应用程序服务器内管理的排他锁。另外,适用数据库模式的系统中,参照或更新数据库时,应用程序服务器在参照或更新之前取得锁服务器管理的参照锁或排他锁。
这里,高速缓存模式中,虽然参照锁取得时的延迟短,但是,必须从多个应用程序服务器分别取得排他锁的处理则是繁杂的。相对地,数据库模式中,仅仅从一个锁服务器取得排他锁即可,因此处理简易,但是参照锁取得时的延迟长。从而,优选在实现参照多的应用程序的系统中,适用高速缓存模式,在实现更新多的应用程序的系统中,适用数据库模式。
发明内容
但是,实现银行业务等的系统,在白天的时段,与数据库的更新相比,参照更多,另外,在顾客利用比较少的夜间的时段,进行数据库的批更新。在这样的系统适用高速缓存模式时,在参照比较多的白天的时段,操作效率良好,但是在进行批更新的夜间的时段,操作效率低下。反之,在这样的系统适用数据库模式时,在进行批更新的夜间的时段,操作效率良好,但是在参照比较多的白天的时段,动作效率低下。从而,在实现例如某特定的时段更新比较多的应用程序的系统中,难以与时段无关地使操作效率良好。
因而本发明目的是提供解决所述课题的系统、应用程序服务器、程序及方法。该目的由权利要求范围中的独立项所述的特征的组合达成。另外,从属权利要求规定本发明的更有利的具体实例。
为了解决所述课题,本发明的第一实施例中,提供一种系统,其具备:访问共享数据的多个应用程序服务器;和集中管理所述多个应用程序服务器分别提供的所述共享数据的锁的集中管理部,所述多个应用程序服务器分别具备:管理该应用程序服务器提供的所述共享数据的锁的分散管理部;和选择从所述分散管理部取得锁的分散模式或者从所述集中管理部取得锁的集中模式的选择部。而且,提供该系统中的应用程序服务器、使计算机起到该应用程序服务器的功能的程序及方法。另外,所述的发明内容不是列举本发明的必要特征的全部。另外,这些特征的从属组合也属于发明。
附图说明
图1表示本发明的实施例的信息处理系统10的构成。
图2表示多个应用程序服务器30的各自的构成。
图3表示定义共享数据(ITEM表)的数据构造的架构的一个实例。
图4表示用于从图3所示的ITEM表参照值的参照查询的一个实例。
图5表示高速缓存部56高速缓存的数据的一个实例。
图6表示选择部60选择的模式的一个实例。
图7表示使模式迁移时的迁移条件的一个实例。
图8表示各模式中高速缓存的参照可否、数据库的参照可否及数据库的更新可否的一个实例。
图9表示信息处理系统10中某一应用程序服务器30(A1)及其他多个应用程序服务器30(A2~An)的处理流程的一个实例。
图10表示向信息处理系统10追加新应用程序服务器30时该新应用程序服务器30的模式的确定流程。
图11表示本发明的实施例的计算机1900的硬件构成的一个实例。
具体实施方式
以下,通过发明的实施例说明本发明,但是以下的实施例并非限定权利要求的范围。另外,实施例中说明的特征组合的全部并非发明的解决手段所必须的。
图1表示本实施例的信息处理系统10的构成。信息处理系统10具备数据库服务器20、多个应用程序服务器30、集中管理部40。
数据库服务器20存储共享数据。本实施例中,共享数据是数据库内的表。
多个应用程序服务器30分别通过执行应用程序来进行该应用程序记述的信息处理。另外,多个应用程序服务器30分别按照应用程序的记述,经由网络访问数据库服务器20存储的共享数据。即,多个应用程序服务器30分别进行共享数据的参照以及共享数据的更新。
集中管理部40集中管理多个应用程序服务器30分别提供的共享数据的锁。本实施例中,集中管理部40对于共享数据的记录逐个地管理锁。
更详细地说,集中管理部40对于一个记录,从一个应用程序服务器30收到参照锁的取得请求时,以其他应用程序服务器30未取得排他锁为条件,使该一个应用程序服务器30取得参照锁。另外,集中管理部40对于一个记录,从一个应用程序服务器30收到排他锁的取得请求时,以其他应用程序服务器30未取得参照锁或排他锁为条件,使该一个应用程序服务器30取得排他锁。从而,多个应用程序服务器30可以不会相互不匹配地参照及更新共享数据。另外,数据库服务器20及集中管理部40也可以是由同一个系统管理的构成。
图2表示多个应用程序服务器30的各自的构成。多个应用程序服务器30分别具备执行部52、访问控制部54、高速缓存部56、分散管理部58。这样的应用程序服务器30通过计算机执行程序而实现。
执行部52执行由应用程序提供的信息处理。执行部52执行例如赋予的请求相应的处理,将处理结果作为应答返回。另外,执行部52执行参照或更新共享数据的处理时,经由访问控制部54向数据库服务器20发出参照请求或更新请求。执行部52作为一个实例,可发出由SQL(StructuredQuery Language)记述的参照请求或更新请求。
访问控制部54经由网络向数据库服务器20发送对于执行部52发出的共享数据的参照请求或更新请求。然后,访问控制部54取得与向数据库服务器20发送的请求相应的处理结果,返回执行部52。
另外,访问控制部54在对数据库服务器20的访问的事务开始时,经由选择部60,从集中管理部40或分散管理部58取得锁。更详细地说,访问控制部54在包含更新请求的事务(以下,称为更新事务)开始时,取得排他锁。另外,访问控制部54在不包含更新请求的事务(以下,称为参照事务)开始时,取得参照锁。访问控制部54在无法取得锁时,不对共享数据进行访问。
另外,事务是指将数据库服务器20之间交换的例如不可分的多个处理汇总的单位。数据库服务器20若为例如SQL服务器,则事务是从″Begin″到″Commit″或″Rollback″为止的一系列处理。
高速缓存部56高速缓存访问控制部54参照的共享数据。高速缓存部56在事务结束时,可使高速缓存的共享数据无效化。
分散管理部58管理该应用程序服务器30提供的共享数据的锁。本实施例中,分散管理部58对于共享数据的记录逐个地管理锁。
更详细地说,分散管理部58对于一个记录,从访问控制部54收到参照锁的取得请求时,以其他应用程序服务器30的访问控制部54未取得排他锁为条件,使该访问控制部54取得参照锁。另外,分散管理部58对于一个记录,从访问控制部54收到排他锁的取得请求时,对其他应用程序服务器30分别进行询问,以其他应用程序服务器30的全部未取得参照锁或排他锁为条件,使该访问控制部54取得排他锁。从而,分散管理部58可以不会与其他应用程序服务器30不匹配地参照及更新共享数据。
选择部60选择从分散管理部58取得锁的分散模式或者从集中管理部40取得锁的集中模式。选择部60选择分散模式时,向分散管理部58提供来自访问控制部54的锁的取得请求,使访问控制部54从分散管理部58取得锁。另外,选择部60在选择集中模式时,经由网络向集中管理部40提供来自访问控制部54的锁的取得请求,使访问控制部54从集中管理部40取得锁。
这里,选择部60与其他应用程序服务器30内的各自的选择部60进行通信。选择部60以多个应用程序服务器30中至少一个更新共享数据为条件,向集中模式迁移。另外,选择部60以多个应用程序服务器30的全部未更新共享数据为条件,向分散模式迁移。然后,访问控制部54在分散模式中,可禁止对共享数据的参照进行许可且更新。另外,访问控制部54在集中模式中,可许可共享数据的参照及更新。
这样的应用程序服务器30在更新共享数据时,由于从集中管理部40取得排他锁,因此可消除与其他应用程序服务器之间的交换。另外,应用程序服务器30在不更新共享数据时,由于从分散管理部58取得参照锁,因此可缩短取得参照锁的延迟。从而,根据应用程序服务器30,可以有效地进行分散锁控制。
图3表示定义共享数据(ITEM表)的数据构造的架构的一个实例。图4表示用于从图3所示的ITEM表参照值的参照查询的一个实例。图5表示高速缓存部56高速缓存的数据的一个实例。
高速缓存部56作为一个实例,通过SQL记述的参照查询,存储参照数据库服务器20内的共享数据的结果。例如,数据库服务器20将图3的架构所示的ITEM表作为共享数据存储。该场合中,访问控制部54若对数据库服务器20发出图4的参照查询,则可从数据库服务器20取得图5所示的查询结果。高速缓存部56高速缓存访问控制部54取得的图5所示的查询结果。
然后,访问控制部54再次从执行部52收到图5所示数据的全部或部分的参照请求后,取代对数据库服务器20发出参照查询,从高速缓存部56取得共享数据,作为查询结果返回执行部52。从而,访问控制部54可降低数据库服务器20的负荷且缩短参照共享数据的延迟。
图6表示由选择部60选择的模式的一个实例。图7表示模式迁移时的迁移条件的一个实例。选择部60如图6及图7所示,选择分散模式、用于从分散模式向集中模式迁移的集中迁移模式、作为集中模式的集中参照模式、作为集中模式的集中更新模式及用于从集中模式向分散模式迁移的分散迁移模式之一。
选择部60在分散模式中,在更新共享数据时,从分散模式向集中迁移模式迁移。选择部60作为一个实例,在开始更新事务的执行时,可从分散模式向集中迁移模式迁移。或,选择部60在分散模式中,以其他至少一个应用程序服务器30是集中迁移模式为条件,从分散模式向集中迁移模式迁移。从而,多个应用程序服务器30在任一个应用程序服务器30更新共享数据时(例如,开始更新事务的执行时),可全部从分散模式向集中迁移模式迁移。
另外,选择部60在集中迁移模式中,以全部的应用程序服务器30是集中迁移模式、作为集中模式的集中参照模式或作为集中模式的集中更新模式之一为条件,从集中迁移模式向作为集中模式的集中参照模式迁移。从而,多个应用程序服务器30以全部从分散模式向集中迁移模式迁移为条件,可以向集中模式(集中参照模式或集中迁移模式)迁移。另外,也可以使多个应用程序服务器30从集中迁移模式向作为集中模式的集中参照模式的迁移相互同步。
另外,选择部60在集中参照模式中,在更新共享数据时,从集中参照模式向集中更新模式迁移。选择部60作为一个实例,在执行更新事务时,可从集中参照模式向集中更新模式迁移。
另外,选择部60在集中更新模式中,在共享数据的更新结束时,从集中更新模式向集中参照模式迁移。选择部60作为一个实例,在全部的更新事务的执行结束时,可从集中更新模式向集中参照模式迁移。
另外,选择部60在集中参照模式中,以全部的应用程序服务器30是集中参照模式或集中更新模式为条件,或,至少一个应用程序服务器30是分散迁移模式为条件,从集中参照模式向分散迁移模式迁移。另外,选择部60还以向集中参照模式迁移后经过一定期间为条件,可从集中参照模式向分散迁移模式迁移。从而,各应用程序服务器30在集中模式中不更新共享数据时,可向分散迁移模式迁移。
另外,选择部60在分散迁移模式中,以全部的应用程序服务器30是分散迁移模式、分散模式或集中迁移模式为条件,从集中迁移模式向分散模式迁移。从而,多个应用程序服务器30以全部从集中模式向分散迁移模式迁移为条件,可向分散模式迁移。另外,多个应用程序服务器30从分散迁移模式向分散模式也可以相互同步地迁移。
另外,选择部60也可以构成为在分散迁移模式中,更新共享数据时,以全部的应用程序服务器30是分散迁移模式、集中参照模式或集中更新模式为条件,从分散迁移模式向集中参照模式迁移。从而,应用程序服务器30在分散迁移模式中,更新共享数据时(例如,开始更新事务的执行时),可从分散迁移模式经由集中参照模式向集中更新模式迁移。
图8是表示各模式中,高速缓存的参照的可否、数据库的参照的可否及数据库的更新的可否的一个实例。选择部60在分散模式中,从分散管理部58取得锁。另外,选择部60在集中迁移模式、集中参照模式、集中更新模式及分散迁移模式中,从集中管理部40取得锁。
而且,分散模式中从分散管理部58取得锁时,选择部60在从分散模式向集中迁移模式的迁移中,从集中管理部40取得锁,将从分散管理部58取得的锁解锁。另外,分散迁移模式中从集中管理部40取得锁时,选择部60在从分散迁移模式向分散模式的迁移中,从分散管理部58取得锁,将从集中管理部40取得的锁解锁。从而,选择部60在切换锁的取得处时,可消除共享数据的不匹配。
另外,访问控制部54如图8,在分散模式中,许可高速缓存部56高速缓存的共享数据及数据库服务器20存储的共享数据的参照。即,访问控制部54在分散模式中,用高速缓存部56参照共享数据。从而,访问控制部54在分散模式中,可减轻数据库服务器20的负担,并加速对共享数据的访问。而且,访问控制部54在分散模式中,禁止数据库服务器20存储的共享数据的更新。从而,访问控制部54在分散模式中,无需从其他多个应用程序服务器30取得排他锁的处理,可简化分散锁控制。
另外,访问控制部54如图8,在集中更新模式中,禁止高速缓存部56高速缓存的共享数据的参照,许可数据库服务器20存储的共享数据的参照。即,访问控制部54在集中更新模式中,在不采用高速缓存部56的情况下参照共享数据。而且,访问控制部54在集中更新模式中,许可数据库服务器20存储的共享数据的更新。从而,访问控制部54在集中更新模式中,可禁止高速缓存访问,消除共享数据的不匹配。
另外,访问控制部54如图8,在集中迁移模式、集中参照模式及分散迁移模式中,禁止高速缓存部56高速缓存的共享数据的参照,许可数据库服务器20存储的共享数据的参照。即,访问控制部54在集中迁移模式、集中参照模式及分散迁移模式中,在不采用高速缓存部56的情况下参照共享数据。而且,访问控制部54在集中迁移模式、集中参照模式及分散迁移模式中,禁止数据库服务器20存储的共享数据的更新。从而,访问控制部54在从分散模式向集中更新模式的迁移及从集中更新模式向分散模式的迁移中,可禁止高速缓存访问,消除共享数据的不匹配。
而且,选择部60从分散迁移模式向分散模式迁移时,可使高速缓存部56高速缓存的共享数据无效。或者,选择部60也可以从分散迁移模式向分散模式迁移时,接受高速缓存部56高速缓存的共享数据中由任一应用程序服务器30更新的数据的通知,将接受通知的数据选择性地无效化。从而,选择部60可消除高速缓存部56高速缓存的共享数据和数据库服务器20存储的共享数据之间的不匹配。
图9表示信息处理系统10中,某一个应用程序服务器30(A1)及其他多个应用程序服务器30(A2~An)的处理流程的一个实例。全部的应用程序服务器30(A1~An)为分散模式时,某一个应用程序服务器30(A1)若开始更新事务的执行,则该一个应用程序服务器30(A1)及其他多个应用程序服务器30(A2~An)按照图9的流程动作。
首先,一个应用程序服务器30(A1)中更新事务开始后,该一个应用程序服务器30(A1)向集中迁移模式迁移(S101,S102,S103)。其他多个应用程序服务器30(A2~An)各自从一个应用程序服务器30(A1)接受通知(S103A),识别出一个应用程序服务器30(A1)是集中迁移模式后,向集中迁移模式迁移(S201,S204,S205)。其结果,全部的应用程序服务器30(A1~An)成为集中迁移模式。
多个应用程序服务器30(A1~An)各自从其他应用程序服务器30(A1~An)分别接受通知(S205A),识别出全部的应用程序服务器30(A1~An)是集中迁移模式(S106,S206)后,向集中参照模式迁移(S107,S207)。这里,多个应用程序服务器30(A1~An)也可以相互同步地从集中迁移模式向集中参照模式迁移。
接着,在其他应用程序服务器30(A2~An)各自向集中参照模式迁移到经过一定期间后(S212),向分散迁移模式迁移(S213)。
另外,一个应用程序服务器30(A1)从集中参照模式向集中更新模式迁移(S108)。接着,一个应用程序服务器30(A1)执行共享数据的更新(S109)。接着,一个应用程序服务器30(A1)在全部的更新事务结束后(S110),从集中更新模式向集中参照模式迁移(S111)。一个应用程序服务器30(A1)从向集中参照模式迁移到经过一定期间后(S112),向分散迁移模式迁移(S113)。其结果,全部的应用程序服务器30(A1~An)成为分散迁移模式。
多个应用程序服务器30(A1~An)各自从其他应用程序服务器30(A1~An)接受通知(S113A,S213A),识别出全部的应用程序服务器30(A1~An)是分散迁移模式后(S114,S214),向分散模式迁移(S115,S215)。这里,多个应用程序服务器30(A1~An)可以相互同步地从分散迁移模式向分散模式迁移。
以上,分散模式中任一个应用程序服务器30中若开始更新事务,则多个应用程序服务器30可分别从分散模式经由集中迁移模式向集中参照模式迁移。而且,一个应用程序服务器30可从集中参照模式向集中更新模式迁移,执行更新。然后,在一个应用程序服务器30中的更新结束后,多个应用程序服务器30可分别从集中参照模式经由分散迁移模式向分散模式迁移。
图10表示向信息处理系统10追加新应用程序服务器30时,该新应用程序服务器30的模式的确定流程。该信息处理系统10可追加新应用程序服务器30。向信息处理系统10新追加的应用程序服务器30的选择部60按照图10所示判断来选择模式。
首先,选择部60判断至少一个其他应用程序服务器30是否为集中迁移模式(S301)。选择部60以至少一个其他应用程序服务器30是集中迁移模式为条件(S301的是),向集中迁移模式迁移(S302)。
全部的其他应用程序服务器30都不是集中迁移模式时(S301的否),接着,选择部60判断至少一个其他应用程序服务器30是否为分散模式(S303)。选择部60以全部的其他应用程序服务器30不是集中迁移模式且至少一个其他应用程序服务器30是分散模式为条件(S303的是),向分散模式迁移(S304)。
接着,全部的其他应用程序服务器30都不是集中迁移模式或分散模式时(S303的否),接着,选择部60判断至少一个其他应用程序服务器30是否为分散迁移模式(S305)。选择部60以全部的其他应用程序服务器30不是集中迁移模式或分散模式且至少一个其他应用程序服务器30是分散迁移模式为条件(S305的是),向分散迁移模式迁移(S306)。
然后,选择部60以全部的其他应用程序服务器30不是集中迁移模式、分散模式或分散迁移模式为条件(S305的否),向集中参照模式迁移(S307)。以上,通过确定模式,即使在向信息处理系统10新追加时,应用程序服务器30也可以保持与其他应用程序服务器30的匹配性,访问共享数据。
图11表示本实施例的计算机1900的硬件构成的一个实例。本实施例的计算机1900具备:具有通过主机控制器2082相互连接的CPU2000、RAM2020、图形控制器2075及显示装置2080的CPU周边部;具有通过输入输出控制器2084与主机控制器2082连接的通信接口2030、硬盘驱动器2040及CD-ROM驱动器2060的输入输出部;具有与输入输出控制器2084连接的ROM2010、软盘驱动器2050及输入输出芯片2070的旧的输入输出部。
主机控制器2082与RAM2020、以高传输率访问RAM2020的CPU2000及图形控制器2075连接。CPU2000根据在ROM2010及RAM2020存储的程序操作,进行各部的控制。图形控制器2075取得CPU2000等在RAM2020内设置的帧缓冲器上生成的图像数据,在显示装置2080上显示。或者,图形控制器2075也可以将存储CPU2000等生成的图像数据的帧缓冲器包含在内部。
输入输出控制器2084与主机控制器2082和比较高速的输入输出装置即通信接口2030、硬盘驱动器2040、CD-ROM驱动器2060连接。通信接口2030经由网络与其他装置通信。硬盘驱动器2040存储计算机1900内的CPU2000使用的程序及数据。CD-ROM驱动器2060从CD-ROM2095读取程序或数据,经由RAM220向硬盘驱动器2040提供。
另外,输入输出控制器2084与ROM2010和软盘驱动器2050及输入输出芯片2070的比较低速的输入输出装置连接。ROM2010存储计算机1900启动时执行的引导程序和/或依赖于计算机1900的硬件的程序等。软盘驱动器2050从软盘2090读取程序或数据,经由RAM2020向硬盘驱动器2040提供。输入输出芯片2070将软盘驱动器2050与输入输出控制器2084连接,并且,例如经由并行端口、串行端口、键盘端口、鼠标端口等将各种的输入输出装置与输入输出控制器2084连接。
经由RAM2020向硬盘驱动器2040提供的程序在软盘2090、CD-ROM2095或IC卡等的记录介质存储,由使用者提供。程序从记录介质读出,经由RAM2020在计算机1900内的硬盘驱动器2040上安装,在CPU2000中执行。
在计算机1900上安装的使计算机1900起到应用程序服务器30的功能的程序,具备执行模块、访问控制模块、高速缓存模块、分散管理模块、选择模块。这些程序或模块由CPU2000等执行,使计算机1900分别起到执行部52、访问控制部54、高速缓存部56、分散管理部58及选择部60的功能。
这些程序记述的信息处理通过读入计算机1900,起到使软件和所述各种硬件资源协作的具体手段即执行部52、访问控制部54、高速缓存部56、分散管理部58及选择部60的功能。通过这些具体的手段实现与本实施例中的计算机1900的使用目的相应的信息的运算或加工,来构筑与使用目的相应的特有的应用程序服务器30。
作为一个实例,在计算机1900和外部的装置等之间通信时,CPU2000执行在RAM2020上加载的通信程序,根据通信程序记述的处理内容,对通信接口2030指示通信处理。通信接口2030接受CPU2000的控制,读出在RAM2020、硬盘驱动器2040、软盘2090或CD-ROM2095等的存储装置上设置的发送缓冲器区域等存储的发送数据,向网络发送,或者,将从网络接收的接收数据写入存储装置上设置的接收缓冲器区域等。这样,通信接口2030可通过DMA(直接存储访问)方式在存储装置之间传送收发数据,或者,CPU2000也可以从传送源的存储装置或通信接口2030读出数据,通过向传送目的地的通信接口2030或存储装置写入数据来传送收发数据。
另外,CPU2000从硬盘驱动器2040、CD-ROM驱动器2060(CD-ROM2095)、软盘驱动器2050(软盘2090)等的外部存储装置存储的文件或数据库等中,将全部或必要部分通过DMA传送等读入RAM2020,对RAM2020上的数据进行各种处理。然后,CPU2000将结束处理的数据通过DMA传送等写回外部存储装置。这样的处理中,认为RAM2020暂时保持外部存储装置的内容,因此,本实施例中将RAM2020及外部存储装置等总称为存储器、存储部或存储装置等。本实施例中的各种程序、数据、表、数据库等的各种信息在这样的存储装置上存储,成为信息处理的对象。另外,CPU2000也可将RAM2020的一部分在高速缓存存储器保持,在高速缓存存储器上进行读写。这样的形态中,高速缓存存储器起到RAM2020的功能的一部分,因此,本实施例中,除了区别表示的情况外,高速缓存存储器也是RAM2020、存储器及/或存储装置所包含的。
另外,CPU2000对从RAM2020读出的数据,进行由程序的命令列指定的包含本实施例中所述的各种运算、信息加工、条件判断、信息的检索、置换等的各种处理后,写回RAM2020。例如,CPU2000进行条件判断时,将本实施例中的各种变数与其他变数或常数比较,判断是否满足大、小、以上、以下、相等等的条件,在条件成立时(或不成立时),向不同的命令列分支,或调用子例程。
另外,CPU2000可检索存储装置内的文件或数据库等存储的信息。例如,第2属性的属性值与第1属性的属性值相关的多个条目在存储装置存储时,CPU2000从存储装置存储的多个条目中检索与指定第1属性的属性值的条件一致的条目,通过读出该条目存储的第2属性的属性值,可获得与满足规定的条件的第1属性相关的第2属性的属性值。
以上所示的程序或模块也可以在外部的记录介质存储。记录介质除了采用软盘2090、CD-ROM2095,也可以采用DVD或CD等的光学记录介质、MO等的光磁气记录介质、磁带介质,IC卡等的半导体存储器等。另外,也可以将在专用通信网络或互联网连接的服务器系统设置的硬盘或RAM等的存储装置作为记录介质使用,经由网络向计算机1900提供程序。
以上,用实施例说明了本发明,但是本发明的技术范围不限于所述实施例所述的范围。本专业技术人员可对所述实施例进行多样的变更或改良。从权利要求的范围的记载可明白各种各样的变更或改良后的形态也包含在本发明的技术范围内。
权利要求的范围、说明书及图面中表示的装置、系统、程序及方法中的动作、顺序、步骤及阶段等的各处理的执行顺序没有特别明示为″之前″、″先前″等,另外,应该了解之前的处理的输出不限于在之后的处理中采用,可以任意的顺序实现。关于权利要求的范围、说明书及图面中的动作流程,虽然为了方便而采用″首先″、″接着″等进行了说明,但是不意味以该顺序实施是必须的。
符号的说明
10 信息处理系统
20 数据库服务器,
30 应用程序服务器
40 集中管理部
52 执行部
54 访问控制部
56 高速缓存部
58 分散管理部
60 选择部
1900 计算机
2000 CPU
2010 ROM
2020 RAM
2030 通信接口
2040 硬盘驱动器
2050 软盘驱动器
2060 CD-ROM驱动器
2070 输入输出芯片
2075 图形控制器
2080 显示装置
2082 主机控制器
2084 输入输出控制器
2090 软盘
2095 CD-ROM
Claims (11)
1.一种访问共享数据的系统,使计算机起到具备访问共享数据的多个应用程序服务器和集中管理所述多个应用程序服务器分别提供的所述共享数据的锁的集中管理部的系统中的应用程序服务器的功能,其特征在于,具备:
使计算机起到管理该应用程序服务器提供的所述共享数据的锁的分散管理部;
具备禁止所述共享数据的更新的访问控制部;和
使计算机起到选择部的功能的选择部,选择从所述分散管理部取得锁的分散模式或者从所述集中管理部取得锁的集中模式,以所述多个应用程序服务器的全部不更新所述共享数据为条件,向所述分散模式迁移,以所述多个应用程序服务器中至少一个更新所述共享数据为条件,向所述集中模式迁移。
2.权利要求1所述的系统,其特征在于,
所述选择部,
在所述分散模式中,更新所述共享数据时,从所述分散模式向集中迁移模式迁移,
在所述分散模式中,以其他至少一个所述应用程序服务器是所述集中迁移模式为条件,从所述分散模式向所述集中迁移模式迁移,
在所述集中迁移模式中,以全部的所述应用程序服务器是所述集中迁移模式或所述集中模式为条件,从所述集中迁移模式向所述集中模式迁移。
3.权利要求2所述的系统,其特征在于,
所述选择部在所述集中迁移模式中,从所述集中管理部取得锁,
所述访问控制部在所述集中迁移模式中,禁止所述共享数据的更新。
4.权利要求3所述的系统,其特征在于,
所述选择部,
在所述集中迁移模式中,以全部的所述应用程序服务器是所述集中迁 移模式或所述集中模式为条件,从所述集中迁移模式向作为所述集中模式的集中参照模式迁移,
在所述集中参照模式中,更新所述共享数据时,从所述集中参照模式向作为所述集中模式的集中更新模式迁移,
在所述集中更新模式中,所述共享数据的更新结束时,从所述集中更新模式向所述集中参照模式迁移。
5.权利要求4所述的系统,其特征在于,
所述访问控制部在所述集中参照模式中,禁止所述共享数据的更新。
6.权利要求5所述的系统,其特征在于,
所述选择部,
在所述集中参照模式中,以全部的所述应用程序服务器是所述集中参照模式或所述集中更新模式,或至少一个所述应用程序服务器是分散迁移模式为条件,从所述集中参照模式向所述分散迁移模式迁移,
在所述分散迁移模式中,以全部的所述应用程序服务器是所述分散迁移模式、所述分散模式或所述集中迁移模式为条件,从所述集中迁移模式向所述分散模式迁移。
7.权利要求6所述的系统,其特征在于,
所述选择部在所述分散迁移模式中,从所述集中管理部取得锁,
所述访问控制部在所述分散迁移模式中,禁止所述共享数据的更新。
8.权利要求7所述的系统,其特征在于,
该系统可追加新的所述应用程序服务器,
新追加的所述应用程序服务器的所述选择部,
以至少一个其他所述应用程序服务器是所述集中迁移模式为条件,向所述集中迁移模式迁移,
以全部的其他所述应用程序服务器不是所述集中迁移模式且至少一个其他所述应用程序服务器是所述分散模式为条件,向所述分散模式迁移,
以全部的其他所述应用程序服务器不是所述集中迁移模式或所述分散模式,且至少一个其他所述应用程序服务器是所述分散迁移模式为条件, 向所述分散迁移模式迁移,
以全部的其他所述应用程序服务器不是所述集中迁移模式、所述分散模式或所述分散迁移模式为条件,向所述集中参照模式迁移。
9.权利要求2到5的任一项所述的系统,其特征在于,
所述选择部在从所述分散模式向所述集中迁移模式的迁移中,从所述集中管理部取得锁,将从所述分散管理部取得的锁解锁。
10.权利要求1到8的任一项所述的系统,其特征在于,
所述多个应用程序服务器还分别具备访问所述共享数据的访问控制部和将所述共享数据高速缓存的高速缓存部,
所述访问控制部在所述分散模式中,用所述高速缓存部参照所述共享数据,在所述集中模式中,在不采用所述高速缓存部的情况下参照所述共享数据,
所述选择部在向所述分散模式迁移时,使所述高速缓存部高速缓存的所述共享数据无效。
11.一种访问共享数据的方法,使计算机起到具备访问共享数据的多个应用程序服务器和集中管理所述多个应用程序服务器分别提供的所述共享数据的锁的集中管理部的系统中的应用程序服务器的功能,其特征在于,具备:
使计算机起到管理该应用程序服务器提供的所述共享数据的锁的分散管理部的功能的步骤;
具备禁止所述共享数据的更新的访问控制部的步骤;和
使计算机起到选择部的功能的步骤,选择从所述分散管理部取得锁的分散模式或者从所述集中管理部取得锁的集中模式,以所述多个应用程序服务器的全部不更新所述共享数据为条件,向所述分散模式迁移,以所述多个应用程序服务器中至少一个更新所述共享数据为条件,向所述集中模式迁移。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP259926/2008 | 2008-10-06 | ||
JP2008259926 | 2008-10-06 | ||
PCT/JP2009/064316 WO2010041515A1 (ja) | 2008-10-06 | 2009-08-13 | 複数のアプリケーションサーバにより共有データをアクセスするシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102165420A CN102165420A (zh) | 2011-08-24 |
CN102165420B true CN102165420B (zh) | 2014-07-16 |
Family
ID=42100471
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980138187.9A Active CN102165420B (zh) | 2008-10-06 | 2009-08-13 | 通过多个应用程序服务器访问共享数据的系统 |
Country Status (6)
Country | Link |
---|---|
US (2) | US8589438B2 (zh) |
EP (1) | EP2352090B1 (zh) |
JP (1) | JP5213077B2 (zh) |
KR (1) | KR20110066940A (zh) |
CN (1) | CN102165420B (zh) |
WO (1) | WO2010041515A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110066940A (ko) | 2008-10-06 | 2011-06-17 | 인터내셔널 비지네스 머신즈 코포레이션 | 복수의 어플리케이션 서버에 의해 공유 데이터를 액세스하는 시스템 |
CN102238203A (zh) * | 2010-04-23 | 2011-11-09 | 中兴通讯股份有限公司 | 一种实现物联网业务的方法及系统 |
US8620998B2 (en) * | 2010-09-11 | 2013-12-31 | Steelcloud, Inc. | Mobile application deployment for distributed computing environments |
US8484649B2 (en) | 2011-01-05 | 2013-07-09 | International Business Machines Corporation | Amortizing costs of shared scans |
US9088569B2 (en) * | 2011-05-12 | 2015-07-21 | International Business Machines Corporation | Managing access to a shared resource using client access credentials |
DE112012004099T5 (de) * | 2011-09-30 | 2014-07-17 | International Business Machines Corp. | Transaktionsverarbeitungssystem, Verfahren und Programm |
GB2503266A (en) * | 2012-06-21 | 2013-12-25 | Ibm | Sharing aggregated cache hit and miss data in a storage area network |
US20140280347A1 (en) * | 2013-03-14 | 2014-09-18 | Konica Minolta Laboratory U.S.A., Inc. | Managing Digital Files with Shared Locks |
KR101645163B1 (ko) * | 2014-11-14 | 2016-08-03 | 주식회사 인프라웨어 | 분산 시스템에서의 데이터베이스 동기화 방법 |
US11474991B2 (en) * | 2018-03-13 | 2022-10-18 | Google Llc | Including transactional commit timestamps in the primary keys of relational databases |
US11176121B2 (en) * | 2019-05-28 | 2021-11-16 | International Business Machines Corporation | Global transaction serialization |
US11032361B1 (en) * | 2020-07-14 | 2021-06-08 | Coupang Corp. | Systems and methods of balancing network load for ultra high server availability |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1662903A (zh) * | 2002-05-31 | 2005-08-31 | 莱夫特汉德网络公司 | 虚拟化的分布式网络存储系统 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07120333B2 (ja) * | 1985-12-16 | 1995-12-20 | 株式会社日立製作所 | 共用データ管理方法 |
JPH08202567A (ja) * | 1995-01-25 | 1996-08-09 | Hitachi Ltd | システム間ロック処理方法 |
US6516351B2 (en) * | 1997-12-05 | 2003-02-04 | Network Appliance, Inc. | Enforcing uniform file-locking for diverse file-locking protocols |
US7200623B2 (en) * | 1998-11-24 | 2007-04-03 | Oracle International Corp. | Methods to perform disk writes in a distributed shared disk system needing consistency across failures |
CN1320483C (zh) | 2001-09-21 | 2007-06-06 | 泛伺服公司 | 用于在多节点环境中实施日志处理的系统和方法 |
US7406473B1 (en) * | 2002-01-30 | 2008-07-29 | Red Hat, Inc. | Distributed file system using disk servers, lock servers and file servers |
US7240058B2 (en) * | 2002-03-01 | 2007-07-03 | Sun Microsystems, Inc. | Lock mechanism for a distributed data system |
US20050289143A1 (en) * | 2004-06-23 | 2005-12-29 | Exanet Ltd. | Method for managing lock resources in a distributed storage system |
US7716377B2 (en) * | 2005-05-25 | 2010-05-11 | Harris Steven T | Clustering server providing virtual machine data sharing |
US8103642B2 (en) * | 2006-02-03 | 2012-01-24 | Oracle International Corporation | Adaptive region locking |
US20080243847A1 (en) * | 2007-04-02 | 2008-10-02 | Microsoft Corporation | Separating central locking services from distributed data fulfillment services in a storage system |
KR20110066940A (ko) | 2008-10-06 | 2011-06-17 | 인터내셔널 비지네스 머신즈 코포레이션 | 복수의 어플리케이션 서버에 의해 공유 데이터를 액세스하는 시스템 |
-
2009
- 2009-08-13 KR KR20117008669A patent/KR20110066940A/ko not_active Application Discontinuation
- 2009-08-13 WO PCT/JP2009/064316 patent/WO2010041515A1/ja active Application Filing
- 2009-08-13 CN CN200980138187.9A patent/CN102165420B/zh active Active
- 2009-08-13 JP JP2010532855A patent/JP5213077B2/ja active Active
- 2009-08-13 EP EP09819051.5A patent/EP2352090B1/en active Active
- 2009-10-01 US US12/571,496 patent/US8589438B2/en not_active Expired - Fee Related
-
2013
- 2013-11-18 US US14/082,371 patent/US9031923B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1662903A (zh) * | 2002-05-31 | 2005-08-31 | 莱夫特汉德网络公司 | 虚拟化的分布式网络存储系统 |
Non-Patent Citations (1)
Title |
---|
JP特开平8-202567A 1996.08.09 |
Also Published As
Publication number | Publication date |
---|---|
US8589438B2 (en) | 2013-11-19 |
EP2352090B1 (en) | 2019-09-25 |
WO2010041515A1 (ja) | 2010-04-15 |
KR20110066940A (ko) | 2011-06-17 |
US20100106697A1 (en) | 2010-04-29 |
CN102165420A (zh) | 2011-08-24 |
JP5213077B2 (ja) | 2013-06-19 |
US9031923B2 (en) | 2015-05-12 |
JPWO2010041515A1 (ja) | 2012-03-08 |
US20140082127A1 (en) | 2014-03-20 |
EP2352090A4 (en) | 2015-05-06 |
EP2352090A1 (en) | 2011-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102165420B (zh) | 通过多个应用程序服务器访问共享数据的系统 | |
CN100353325C (zh) | 实现共享内存数据库的方法及内存数据库系统 | |
CN102473083B (zh) | 用于读取优化的批数据存储的系统和方法 | |
CN101183379A (zh) | 用于检索数据的方法和系统 | |
WO2022095366A1 (zh) | 基于Redis的数据读取方法、装置、设备及可读存储介质 | |
GB2266981A (en) | Concurrently operating design tools in an electronic CAD system. | |
CN101587491A (zh) | 使用运行时可重配置硬件的混合数据库系统 | |
US20120227055A1 (en) | Workflow Processing System and Method with Database System Support | |
EP3796185A1 (en) | Virtual database tables with updatable logical table pointers | |
CN104573112B (zh) | Oltp集群数据库中页面查询方法及数据处理节点 | |
CN102314506A (zh) | 基于动态索引的分布式缓冲区管理方法 | |
JP5697195B2 (ja) | アクセス予測に基づいてテーブルのミラーリングを制御する管理システム、プログラムおよび方法 | |
CN113190534A (zh) | 数据库数据迁移方法及装置 | |
CN116893854B (zh) | 指令资源的冲突检测方法、装置、设备及存储介质 | |
US20080313411A1 (en) | System controller and cache control method | |
US7398264B2 (en) | Simplifying movement of data to different desired storage portions depending on the state of the corresponding transaction | |
CN102201013A (zh) | 一种基于内存数据库的车辆状态管理方法 | |
CN1333346C (zh) | 一种访问文件的方法 | |
US20040181601A1 (en) | Peripheral device sharing | |
CN104081381A (zh) | 概念服务实施平台 | |
CN102314505B (zh) | 基于偏序关系的缓冲区版本产生方法 | |
CN113950145B (zh) | 数据处理方法及装置 | |
CN111241042B (zh) | 一种基于Etcd的分布锁实现方法、系统及设备 | |
JP2006227915A (ja) | 情報処理装置、情報検索方法、プログラム及び記憶媒体 | |
CN118747173A (zh) | 一种业务数据处理方法及装置 |
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 |