通过多个应用程序服务器访问共享数据的系统的制作方法

文档序号:6595013阅读:245来源:国知局
专利名称:通过多个应用程序服务器访问共享数据的系统的制作方法
技术领域
本发明涉及通过多个应用程序服务器访问共享数据的系统、该系统中的应用程序服务器、程序及方法。
背景技术
已知有具备存储数据库的数据库服务器和分别访问数据库的多个应用程序服务器的系统。这样的系统在应用程序服务器高速缓存数据库的参照结果,可减轻数据库服务器的负荷。在应用程序服务器高速缓存数据库的参照结果的系统中,为了防止数据库与不匹配的高速缓存数据的参照,必须在多个应用程序服务器间进行锁控制。作为锁控制的手法, 例如已知有各应用程序服务器分别管理锁的分散锁方式,以及,锁服务器等集中管理锁的集中锁方式。另外,以下,将分散锁方式的锁控制称为高速缓存模式,将集中锁方式的锁控制称为数据库模式。适用高速缓存模式的系统中,参照数据库时,应用程序服务器在参照之前取得本地管理的参照锁。另外,适用高速缓存模式的系统中,更新数据库时,应用程序服务器在更新之前取得其他全部的应用程序服务器内管理的排他锁。另外,适用数据库模式的系统中, 参照或更新数据库时,应用程序服务器在参照或更新之前取得锁服务器管理的参照锁或排他锁。这里,高速缓存模式中,虽然参照锁取得时的延迟短,但是,必须从多个应用程序服务器分别取得排他锁的处理则是繁杂的。相对地,数据库模式中,仅仅从一个锁服务器取得排他锁即可,因此处理简易,但是参照锁取得时的延迟长。从而,优选在实现参照多的应用程序的系统中,适用高速缓存模式,在实现更新多的应用程序的系统中,适用数据库模式。

发明内容
但是,实现银行业务等的系统,在白天的时段,与数据库的更新相比,参照更多,另外,在顾客利用比较少的夜间的时段,进行数据库的批更新。在这样的系统适用高速缓存模式时,在参照比较多的白天的时段,操作效率良好,但是在进行批更新的夜间的时段,操作效率低下。反之,在这样的系统适用数据库模式时,在进行批更新的夜间的时段,操作效率良好,但是在参照比较多的白天的时段,动作效率低下。从而,在实现例如某特定的时段更新比较多的应用程序的系统中,难以与时段无关地使操作效率良好。因而本发明目的是提供解决所述课题的系统、应用程序服务器、程序及方法。该目的由权利要求范围中的独立项所述的特征的组合达成。另外,从属权利要求规定本发明的更有利的具体实例。为了解决所述课题,本发明的第一实施例中,提供一种系统,其具备访问共享数据的多个应用程序服务器;和集中管理所述多个应用程序服务器分别提供的所述共享数据的锁的集中管理部,所述多个应用程序服务器分别具备管理该应用程序服务器提供的所述共享数据的锁的分散管理部;和选择从所述分散管理部取得锁的分散模式或者从所述集中管理部取得锁的集中模式的选择部。而且,提供该系统中的应用程序服务器、使计算机起到该应用程序服务器的功能的程序及方法。另外,所述的发明内容不是列举本发明的必要特征的全部。另外,这些特征的从属组合也属于发明。


图1表示本发明的实施例的信息处理系统10的构成。图2表示多个应用程序服务器30的各自的构成。图3表示定义共享数据(ITEM表)的数据构造的架构的一个实例。图4表示用于从图3所示的ITEM表参照值的参照查询的一个实例。图5表示高速缓存部56高速缓存的数据的一个实例。图6表示选择部60选择的模式的一个实例。图7表示使模式迁移时的迁移条件的一个实例。图8表示各模式中高速缓存的参照可否、数据库的参照可否及数据库的更新可否的一个实例。图9表示信息处理系统10中某一应用程序服务器30 (Al)及其他多个应用程序服务器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执行参照或更新共享数据的处理时,经由访问控制部M向数据库服务器20发出参照请求或更新请求。执行部52作为一个实例, 可发出由SQLGtructured Query Language)记述的参照请求或更新请求。访问控制部M经由网络向数据库服务器20发送对于执行部52发出的共享数据的参照请求或更新请求。然后,访问控制部M取得与向数据库服务器20发送的请求相应的处理结果,返回执行部52。另外,访问控制部M在对数据库服务器20的访问的事务开始时,经由选择部60, 从集中管理部40或分散管理部58取得锁。更详细地说,访问控制部M在包含更新请求的事务(以下,称为更新事务)开始时,取得排他锁。另外,访问控制部M在不包含更新请求的事务(以下,称为参照事务)开始时,取得参照锁。访问控制部M在无法取得锁时,不对共享数据进行访问。另外,事务是指将数据库服务器20之间交换的例如不可分的多个处理汇总的单位。数据库服务器20若为例如SQL服务器,则事务是从〃 Begin"到〃 Commit" 或"Rollback"为止的一系列处理。高速缓存部56高速缓存访问控制部M参照的共享数据。高速缓存部56在事务结束时,可使高速缓存的共享数据无效化。分散管理部58管理该应用程序服务器30提供的共享数据的锁。本实施例中,分散管理部58对于共享数据的记录逐个地管理锁。更详细地说,分散管理部58对于一个记录,从访问控制部M收到参照锁的取得请求时,以其他应用程序服务器30的访问控制部M未取得排他锁为条件,使该访问控制部M 取得参照锁。另外,分散管理部58对于一个记录,从访问控制部M收到排他锁的取得请求时,对其他应用程序服务器30分别进行询问,以其他应用程序服务器30的全部未取得参照锁或排他锁为条件,使该访问控制部M取得排他锁。从而,分散管理部58可以不会与其他应用程序服务器30不匹配地参照及更新共享数据。选择部60选择从分散管理部58取得锁的分散模式或者从集中管理部40取得锁的集中模式。选择部60选择分散模式时,向分散管理部58提供来自访问控制部M的锁的取得请求,使访问控制部M从分散管理部58取得锁。另外,选择部60在选择集中模式时, 经由网络向集中管理部40提供来自访问控制部M的锁的取得请求,使访问控制部M从集中管理部40取得锁。这里,选择部60与其他应用程序服务器30内的各自的选择部60进行通信。选择部60以多个应用程序服务器30中至少一个更新共享数据为条件,向集中模式迁移。另外, 选择部60以多个应用程序服务器30的全部未更新共享数据为条件,向分散模式迁移。然后,访问控制部M在分散模式中,可禁止对共享数据的参照进行许可且更新。另外,访问控制部M在集中模式中,可许可共享数据的参照及更新。
这样的应用程序服务器30在更新共享数据时,由于从集中管理部40取得排他锁, 因此可消除与其他应用程序服务器之间的交换。另外,应用程序服务器30在不更新共享数据时,由于从分散管理部58取得参照锁,因此可缩短取得参照锁的延迟。从而,根据应用程序服务器30,可以有效地进行分散锁控制。图3表示定义共享数据(ITEM表)的数据构造的架构的一个实例。图4表示用于从图3所示的ITEM表参照值的参照查询的一个实例。图5表示高速缓存部56高速缓存的数据的一个实例。高速缓存部56作为一个实例,通过SQL记述的参照查询,存储参照数据库服务器 20内的共享数据的结果。例如,数据库服务器20将图3的架构所示的ITEM表作为共享数据存储。该场合中,访问控制部M若对数据库服务器20发出图4的参照查询,则可从数据库服务器20取得图5所示的查询结果。高速缓存部56高速缓存访问控制部M取得的图 5所示的查询结果。然后,访问控制部M再次从执行部52收到图5所示数据的全部或部分的参照请求后,取代对数据库服务器20发出参照查询,从高速缓存部56取得共享数据,作为查询结果返回执行部52。从而,访问控制部M可降低数据库服务器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在切换锁的取得处时,可消除共享数据的不匹配。另外,访问控制部M如图8,在分散模式中,许可高速缓存部56高速缓存的共享数据及数据库服务器20存储的共享数据的参照。即,访问控制部M在分散模式中,用高速缓存部56参照共享数据。从而,访问控制部M在分散模式中,可减轻数据库服务器20的负担,并加速对共享数据的访问。而且,访问控制部M在分散模式中,禁止数据库服务器20 存储的共享数据的更新。从而,访问控制部M在分散模式中,无需从其他多个应用程序服务器30取得排他锁的处理,可简化分散锁控制。另外,访问控制部M如图8,在集中更新模式中,禁止高速缓存部56高速缓存的共享数据的参照,许可数据库服务器20存储的共享数据的参照。即,访问控制部M在集中更新模式中,在不采用高速缓存部56的情况下参照共享数据。而且,访问控制部讨在集中更新模式中,许可数据库服务器20存储的共享数据的更新。从而,访问控制部M在集中更新模式中,可禁止高速缓存访问,消除共享数据的不匹配。另外,访问控制部M如图8,在集中迁移模式、集中参照模式及分散迁移模式中, 禁止高速缓存部56高速缓存的共享数据的参照,许可数据库服务器20存储的共享数据的参照。即,访问控制部讨在集中迁移模式、集中参照模式及分散迁移模式中,在不采用高速缓存部56的情况下参照共享数据。而且,访问控制部讨在集中迁移模式、集中参照模式及分散迁移模式中,禁止数据库服务器20存储的共享数据的更新。从而,访问控制部M在从分散模式向集中更新模式的迁移及从集中更新模式向分散模式的迁移中,可禁止高速缓存访问,消除共享数据的不匹配。
而且,选择部60从分散迁移模式向分散模式迁移时,可使高速缓存部56高速缓存的共享数据无效。或者,选择部60也可以从分散迁移模式向分散模式迁移时,接受高速缓存部56高速缓存的共享数据中由任一应用程序服务器30更新的数据的通知,将接受通知的数据选择性地无效化。从而,选择部60可消除高速缓存部56高速缓存的共享数据和数据库服务器20存储的共享数据之间的不匹配。图9表示信息处理系统10中,某一个应用程序服务器30 (Al)及其他多个应用程序服务器30 (A2 An)的处理流程的一个实例。全部的应用程序服务器30 (Al An)为分散模式时,某一个应用程序服务器30 (Al)若开始更新事务的执行,则该一个应用程序服务器30 (Al)及其他多个应用程序服务器30 (A2 An)按照图9的流程动作。首先,一个应用程序服务器30 (Al)中更新事务开始后,该一个应用程序服务器 30 (Al)向集中迁移模式迁移(S101,S102, S103)。其他多个应用程序服务器30 (A2 An) 各自从一个应用程序服务器30 (Al)接受通知(S103A),识别出一个应用程序服务器30 (Al) 是集中迁移模式后,向集中迁移模式迁移(S201,S204, S2(^)。其结果,全部的应用程序服务器30 (Al An)成为集中迁移模式。多个应用程序服务器30 (Al An)各自从其他应用程序服务器30 (Al An)分别接受通知(S205A),识别出全部的应用程序服务器30 (Al An)是集中迁移模式(S106, S206)后,向集中参照模式迁移(S107,S207)。这里,多个应用程序服务器30 (Al An)也可以相互同步地从集中迁移模式向集中参照模式迁移。接着,在其他应用程序服务器30 (A2 An)各自向集中参照模式迁移到经过一定期间后(S212),向分散迁移模式迁移(S213)。另外,一个应用程序服务器30 (Al)从集中参照模式向集中更新模式迁移(S108)。 接着,一个应用程序服务器30 (Al)执行共享数据的更新(S109)。接着,一个应用程序服务器30 (Al)在全部的更新事务结束后(SllO),从集中更新模式向集中参照模式迁移(Slll)。 一个应用程序服务器30 (Al)从向集中参照模式迁移到经过一定期间后(SlU),向分散迁移模式迁移(Sli:3)。其结果,全部的应用程序服务器30 (Al An)成为分散迁移模式。多个应用程序服务器30 (Al An)各自从其他应用程序服务器30 (Al An)接受通知(S113A,S213A),识别出全部的应用程序服务器30 (Al An)是分散迁移模式后 (S114,S214),向分散模式迁移(S115,S215)。这里,多个应用程序服务器30 (Al 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是否为分散模式(S30;3)。选择部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及⑶-ROM驱动器2060的输入输出部;具有与输入输出控制器 2084连接的R0M2010、软盘驱动器2050及输入输出芯片2070的旧的输入输出部。主机控制器2082与RAM2020、以高传输率访问RAM2020的CPU2000及图形控制器 2075连接。CPU2000根据在R0M2010及RAM2020存储的程序操作,进行各部的控制。图形控制器2075取得CPU2000等在RAM2020内设置的帧缓冲器上生成的图像数据,在显示装置 2080上显示。或者,图形控制器2075也可以将存储CPU2000等生成的图像数据的帧缓冲器包含在内部。输入输出控制器2084与主机控制器2082和比较高速的输入输出装置即通信接口 2030、硬盘驱动器2040、⑶-ROM驱动器2060连接。通信接口 2030经由网络与其他装置通信。硬盘驱动器2040存储计算机1900内的CPU2000使用的程序及数据。⑶-ROM驱动器 2060从⑶-R0M2095读取程序或数据,经由RAM220向硬盘驱动器2040提供。另外,输入输出控制器2084与R0M2010和软盘驱动器2050及输入输出芯片2070 的比较低速的输入输出装置连接。R0M2010存储计算机1900启动时执行的引导程序和/或依赖于计算机1900的硬件的程序等。软盘驱动器2050从软盘2090读取程序或数据,经由 RAM2020向硬盘驱动器2040提供。输入输出芯片2070将软盘驱动器2050与输入输出控制器2084连接,并且,例如经由并行端口、串行端口、键盘端口、鼠标端口等将各种的输入输出装置与输入输出控制器2084连接。经由RAM2020向硬盘驱动器2040提供的程序在软盘2090、CD_R0M2095或IC卡等的记录介质存储,由使用者提供。程序从记录介质读出,经由RAM2020在计算机1900内的硬盘驱动器2040上安装,在CPU2000中执行。在计算机1900上安装的使计算机1900起到应用程序服务器30的功能的程序,具备执行模块、访问控制模块、高速缓存模块、分散管理模块、选择模块。这些程序或模块由 CPU2000等执行,使计算机1900分别起到执行部52、访问控制部54、高速缓存部56、分散管
11理部58及选择部60的功能。这些程序记述的信息处理通过读入计算机1900,起到使软件和所述各种硬件资源协作的具体手段即执行部52、访问控制部54、高速缓存部56、分散管理部58及选择部60的功能。通过这些具体的手段实现与本实施例中的计算机1900的使用目的相应的信息的运算或加工,来构筑与使用目的相应的特有的应用程序服务器30。作为一个实例,在计算机1900和外部的装置等之间通信时,CPU2000执行在 RAM2020上加载的通信程序,根据通信程序记述的处理内容,对通信接口 2030指示通信处理。通信接口 2030接受CPU2000的控制,读出在RAM2020、硬盘驱动器2040、软盘2090或 CD-R0M2095等的存储装置上设置的发送缓冲器区域等存储的发送数据,向网络发送,或者, 将从网络接收的接收数据写入存储装置上设置的接收缓冲器区域等。这样,通信接口 2030 可通过DMA(直接存储访问)方式在存储装置之间传送收发数据,或者,CPU2000也可以从传送源的存储装置或通信接口 2030读出数据,通过向传送目的地的通信接口 2030或存储装置写入数据来传送收发数据。另外,CPU2000从硬盘驱动器2040、CD-ROM驱动器2060 (CD_R0M20%)、软盘驱动器 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、⑶-R0M2095,也可以采用DVD或⑶等的光学记录介质、MO等的光磁气记录介质、磁带介质,IC卡等的半导体存储器等。另外,也可以将在专用通信网络或互联网连接的服务器系统设置的硬盘或RAM等的存储装置作为记录介质使用,经由网络向计算机1900提供程序。以上,用实施例说明了本发明,但是本发明的技术范围不限于所述实施例所述的范围。本专业技术人员可对所述实施例进行多样的变更或改良。从权利要求的范围的记载可明白各种各样的变更或改良后的形态也包含在本发明的技术范围内。
权利要求的范围、说明书及图面中表示的装置、系统、程序及方法中的动作、顺序、 步骤及阶段等的各处理的执行顺序没有特别明示为"之前"、“先前"等,另外,应该了解之前的处理的输出不限于在之后的处理中采用,可以任意的顺序实现。关于权利要求的范围、说明书及图面中的动作流程,虽然为了方便而采用"首先"、“接着"等进行了说明, 但是不意味以该顺序实施是必须的。符号的说明
10信息处理系统
20 I〔据库服务器,
30应用程序服务器
40集中管理部
52执行部
54访问控制部
56高速缓存部
58分散管理部
60选择部
1900计算机
2000CPU
2010ROM
2020RAM
2030通信接口
2040硬盘驱动器
2050软盘驱动器
2060CD-ROM驱动器
2070输入输出芯片
2075图形控制器
2080显示装置
2082主机控制器
2084输入输出控制器
2090软盘
2095CD-ROM
权利要求
1.一种系统,其特征在于,具备访问共享数据的多个应用程序服务器;和集中管理所述多个应用程序服务器分别提供的所述共享数据的锁的集中管理部, 所述多个应用程序服务器分别具备管理该应用程序服务器提供的所述共享数据的锁的分散管理部;和选择从所述分散管理部取得锁的分散模式或者从所述集中管理部取得锁的集中模式的选择部。
2.权利要求1所述的系统,其特征在于,还具备 所述分散模式中,禁止所述共享数据的更新的访问控制部。
3.权利要求2所述的系统,其特征在于, 所述选择部,以所述多个应用程序服务器的全部不更新所述共享数据为条件,向所述分散模式迁移,以所述多个应用程序服务器中至少一个更新所述共享数据为条件,向所述集中模式迁移。
4.权利要求3所述的系统,其特征在于, 所述选择部,在所述分散模式中,更新所述共享数据时,从所述分散模式向集中迁移模式迁移, 在所述分散模式中,以其他至少一个所述应用程序服务器是所述集中迁移模式为条件,从所述分散模式向所述集中迁移模式迁移,在所述集中迁移模式中,以全部的所述应用程序服务器是所述集中迁移模式或所述集中模式为条件,从所述集中迁移模式向所述集中模式迁移。
5.权利要求4所述的系统,其特征在于,所述选择部在所述集中迁移模式中,从所述集中管理部取得锁, 所述访问控制部在所述集中迁移模式中,禁止所述共享数据的更新。
6.权利要求5所述的系统,其特征在于, 所述选择部,在所述集中迁移模式中,以全部的所述应用程序服务器是所述集中迁移模式或所述集中模式为条件,从所述集中迁移模式向作为所述集中模式的集中参照模式迁移,在所述集中参照模式中,更新所述共享数据时,从所述集中参照模式向作为所述集中模式的集中更新模式迁移,在所述集中更新模式中,所述共享数据的更新结束时,从所述集中更新模式向所述集中参照模式迁移。
7.权利要求6所述的系统,其特征在于,所述访问控制部在所述集中参照模式中,禁止所述共享数据的更新。
8.权利要求7所述的系统,其特征在于, 所述选择部,在所述集中参照模式中,以全部的所述应用程序服务器是所述集中参照模式或所述集中更新模式,或至少一个所述应用程序服务器是分散迁移模式为条件,从所述集中参照模式向所述分散迁移模式迁移,在所述分散迁移模式中,以全部的所述应用程序服务器是所述分散迁移模式、所述分散模式或所述集中迁移模式为条件,从所述集中迁移模式向所述分散模式迁移。
9.权利要求8所述的系统,其特征在于,所述选择部在所述分散迁移模式中,从所述集中管理部取得锁, 所述访问控制部在所述分散迁移模式中,禁止所述共享数据的更新。
10.权利要求9所述的系统,其特征在于, 该系统可追加新的所述应用程序服务器, 新追加的所述应用程序服务器的所述选择部,以至少一个其他所述应用程序服务器是所述集中迁移模式为条件,向所述集中迁移模式迁移,以全部的其他所述应用程序服务器不是所述集中迁移模式且至少一个其他所述应用程序服务器是所述分散模式为条件,向所述分散模式迁移,以全部的其他所述应用程序服务器不是所述集中迁移模式或所述分散模式,且至少一个其他所述应用程序服务器是所述分散迁移模式为条件,向所述分散迁移模式迁移,以全部的其他所述应用程序服务器不是所述集中迁移模式、所述分散模式或所述分散迁移模式为条件,向所述集中参照模式迁移。
11.权利要求4到7的任一项所述的系统,其特征在于,所述选择部在从所述分散模式向所述集中迁移模式的迁移中,从所述集中管理部取得锁,将从所述分散管理部取得的锁解锁。
12.权利要求1到11的任一项所述的系统,其特征在于,所述多个应用程序服务器还分别具备访问所述共享数据的访问控制部和将所述共享数据高速缓存的高速缓存部,所述访问控制部在所述分散模式中,用所述高速缓存部参照所述共享数据,在所述集中模式中,在不采用所述高速缓存部的情况下参照所述共享数据,所述选择部在向所述分散模式迁移时,使所述高速缓存部高速缓存的所述共享数据无效。
13.—种系统,其特征在于,具备访问共享数据的多个应用程序服务器;和集中管理所述多个应用程序服务器分别提供的所述共享数据的锁的集中管理部, 所述多个应用程序服务器分别具备管理该应用程序服务器提供的所述共享数据的锁的分散管理部;和选择从所述分散管理部取得锁的分散模式或者从所述集中管理部取得锁的集中迁移模式、集中参照模式、集中更新模式及分散迁移模式之一的选择部, 所述选择部,在所述分散模式中,更新所述共享数据时,从所述分散模式向集中迁移模式迁移, 在所述分散模式中,以其他至少一个所述应用程序服务器是所述集中迁移模式为条件,从所述分散模式向所述集中迁移模式迁移,在所述集中迁移模式中,以全部的所述应用程序服务器是所述集中迁移模式、所述集中参照模式或所述集中更新模式为条件,从所述集中迁移模式向所述集中参照模式迁移,在所述集中参照模式中,更新所述共享数据时,从所述集中参照模式向所述集中更新模式迁移,在所述集中更新模式中,所述共享数据的更新结束时,从所述集中更新模式向所述集中参照模式迁移,在所述集中参照模式中,以全部的所述应用程序服务器是所述集中参照模式或所述集中更新模式,或,至少一个所述应用程序服务器是分散迁移模式为条件,从所述集中参照模式向所述分散迁移模式迁移,在所述分散迁移模式中,以全部的所述应用程序服务器是所述分散迁移模式、所述分散模式或所述集中迁移模式为条件,从所述集中迁移模式向所述分散模式迁移。
14.一种应用程序服务器,是具备访问共享数据的多个应用程序服务器和集中管理所述多个应用程序服务器分别提供的所述共享数据的锁的集中管理部的系统中的应用程序服务器,其特征在于,具备管理该应用程序服务器提供的所述共享数据的锁的分散管理部;和选择从所述分散管理部取得锁的分散模式或者从所述集中管理部取得锁的集中模式的选择部。
15.一种程序,使计算机起到具备访问共享数据的多个应用程序服务器和集中管理所述多个应用程序服务器分别提供的所述共享数据的锁的集中管理部的系统中的应用程序服务器的功能,其特征在于,使计算机起到如下部分的功能管理该应用程序服务器提供的所述共享数据的锁的分散管理部;和选择从所述分散管理部取得锁的分散模式或者从所述集中管理部取得锁的集中模式的选择部。
16.一种方法,使计算机起到具备访问共享数据的多个应用程序服务器和集中管理所述多个应用程序服务器分别提供的所述共享数据的锁的集中管理部的系统中的应用程序服务器的功能,其特征在于,具备使计算机起到管理该应用程序服务器提供的所述共享数据的锁的分散管理部的功能的步骤;和使计算机起到选择从所述分散管理部取得锁的分散模式或者从所述集中管理部取得锁的集中模式的选择部的功能的步骤。
全文摘要
本发明提供一种系统,其具备访问共享数据的多个应用程序服务器;和集中管理多个应用程序服务器分别提供的共享数据的锁的集中管理部。多个应用程序服务器分别具备管理该应用程序服务器提供的共享数据的锁的分散管理部;和选择从分散管理部取得锁的分散模式或者从集中管理部取得锁的集中模式的选择部。
文档编号G06F9/52GK102165420SQ20098013818
公开日2011年8月24日 申请日期2009年8月13日 优先权日2008年10月6日
发明者堀井洋, 小泽阳介, 小野寺民也, 榎美纪 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1