專利名稱:通過多個應(yīng)用程序服務(wù)器訪問共享數(shù)據(jù)的系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通過多個應(yīng)用程序服務(wù)器訪問共享數(shù)據(jù)的系統(tǒng)、該系統(tǒng)中的應(yīng)用程序服務(wù)器、程序及方法。
背景技術(shù):
已知有具備存儲數(shù)據(jù)庫的數(shù)據(jù)庫服務(wù)器和分別訪問數(shù)據(jù)庫的多個應(yīng)用程序服務(wù)器的系統(tǒng)。這樣的系統(tǒng)在應(yīng)用程序服務(wù)器高速緩存數(shù)據(jù)庫的參照結(jié)果,可減輕數(shù)據(jù)庫服務(wù)器的負(fù)荷。在應(yīng)用程序服務(wù)器高速緩存數(shù)據(jù)庫的參照結(jié)果的系統(tǒng)中,為了防止數(shù)據(jù)庫與不匹配的高速緩存數(shù)據(jù)的參照,必須在多個應(yīng)用程序服務(wù)器間進(jìn)行鎖控制。作為鎖控制的手法, 例如已知有各應(yīng)用程序服務(wù)器分別管理鎖的分散鎖方式,以及,鎖服務(wù)器等集中管理鎖的集中鎖方式。另外,以下,將分散鎖方式的鎖控制稱為高速緩存模式,將集中鎖方式的鎖控制稱為數(shù)據(jù)庫模式。適用高速緩存模式的系統(tǒng)中,參照數(shù)據(jù)庫時,應(yīng)用程序服務(wù)器在參照之前取得本地管理的參照鎖。另外,適用高速緩存模式的系統(tǒng)中,更新數(shù)據(jù)庫時,應(yīng)用程序服務(wù)器在更新之前取得其他全部的應(yīng)用程序服務(wù)器內(nèi)管理的排他鎖。另外,適用數(shù)據(jù)庫模式的系統(tǒng)中, 參照或更新數(shù)據(jù)庫時,應(yīng)用程序服務(wù)器在參照或更新之前取得鎖服務(wù)器管理的參照鎖或排他鎖。這里,高速緩存模式中,雖然參照鎖取得時的延遲短,但是,必須從多個應(yīng)用程序服務(wù)器分別取得排他鎖的處理則是繁雜的。相對地,數(shù)據(jù)庫模式中,僅僅從一個鎖服務(wù)器取得排他鎖即可,因此處理簡易,但是參照鎖取得時的延遲長。從而,優(yōu)選在實現(xiàn)參照多的應(yīng)用程序的系統(tǒng)中,適用高速緩存模式,在實現(xiàn)更新多的應(yīng)用程序的系統(tǒng)中,適用數(shù)據(jù)庫模式。
發(fā)明內(nèi)容
但是,實現(xiàn)銀行業(yè)務(wù)等的系統(tǒng),在白天的時段,與數(shù)據(jù)庫的更新相比,參照更多,另外,在顧客利用比較少的夜間的時段,進(jìn)行數(shù)據(jù)庫的批更新。在這樣的系統(tǒng)適用高速緩存模式時,在參照比較多的白天的時段,操作效率良好,但是在進(jìn)行批更新的夜間的時段,操作效率低下。反之,在這樣的系統(tǒng)適用數(shù)據(jù)庫模式時,在進(jìn)行批更新的夜間的時段,操作效率良好,但是在參照比較多的白天的時段,動作效率低下。從而,在實現(xiàn)例如某特定的時段更新比較多的應(yīng)用程序的系統(tǒng)中,難以與時段無關(guān)地使操作效率良好。因而本發(fā)明目的是提供解決所述課題的系統(tǒng)、應(yīng)用程序服務(wù)器、程序及方法。該目的由權(quán)利要求范圍中的獨(dú)立項所述的特征的組合達(dá)成。另外,從屬權(quán)利要求規(guī)定本發(fā)明的更有利的具體實例。為了解決所述課題,本發(fā)明的第一實施例中,提供一種系統(tǒng),其具備訪問共享數(shù)據(jù)的多個應(yīng)用程序服務(wù)器;和集中管理所述多個應(yīng)用程序服務(wù)器分別提供的所述共享數(shù)據(jù)的鎖的集中管理部,所述多個應(yīng)用程序服務(wù)器分別具備管理該應(yīng)用程序服務(wù)器提供的所述共享數(shù)據(jù)的鎖的分散管理部;和選擇從所述分散管理部取得鎖的分散模式或者從所述集中管理部取得鎖的集中模式的選擇部。而且,提供該系統(tǒng)中的應(yīng)用程序服務(wù)器、使計算機(jī)起到該應(yīng)用程序服務(wù)器的功能的程序及方法。另外,所述的發(fā)明內(nèi)容不是列舉本發(fā)明的必要特征的全部。另外,這些特征的從屬組合也屬于發(fā)明。
圖1表示本發(fā)明的實施例的信息處理系統(tǒng)10的構(gòu)成。圖2表示多個應(yīng)用程序服務(wù)器30的各自的構(gòu)成。圖3表示定義共享數(shù)據(jù)(ITEM表)的數(shù)據(jù)構(gòu)造的架構(gòu)的一個實例。圖4表示用于從圖3所示的ITEM表參照值的參照查詢的一個實例。圖5表示高速緩存部56高速緩存的數(shù)據(jù)的一個實例。圖6表示選擇部60選擇的模式的一個實例。圖7表示使模式遷移時的遷移條件的一個實例。圖8表示各模式中高速緩存的參照可否、數(shù)據(jù)庫的參照可否及數(shù)據(jù)庫的更新可否的一個實例。圖9表示信息處理系統(tǒng)10中某一應(yīng)用程序服務(wù)器30 (Al)及其他多個應(yīng)用程序服務(wù)器30 (A2 An)的處理流程的一個實例。圖10表示向信息處理系統(tǒng)10追加新應(yīng)用程序服務(wù)器30時該新應(yīng)用程序服務(wù)器 30的模式的確定流程。圖11表示本發(fā)明的實施例的計算機(jī)1900的硬件構(gòu)成的一個實例。
具體實施例方式以下,通過發(fā)明的實施例說明本發(fā)明,但是以下的實施例并非限定權(quán)利要求的范圍。另外,實施例中說明的特征組合的全部并非發(fā)明的解決手段所必須的。圖1表示本實施例的信息處理系統(tǒng)10的構(gòu)成。信息處理系統(tǒng)10具備數(shù)據(jù)庫服務(wù)器20、多個應(yīng)用程序服務(wù)器30、集中管理部40。數(shù)據(jù)庫服務(wù)器20存儲共享數(shù)據(jù)。本實施例中,共享數(shù)據(jù)是數(shù)據(jù)庫內(nèi)的表。多個應(yīng)用程序服務(wù)器30分別通過執(zhí)行應(yīng)用程序來進(jìn)行該應(yīng)用程序記述的信息處理。另外,多個應(yīng)用程序服務(wù)器30分別按照應(yīng)用程序的記述,經(jīng)由網(wǎng)絡(luò)訪問數(shù)據(jù)庫服務(wù)器 20存儲的共享數(shù)據(jù)。即,多個應(yīng)用程序服務(wù)器30分別進(jìn)行共享數(shù)據(jù)的參照以及共享數(shù)據(jù)的更新。集中管理部40集中管理多個應(yīng)用程序服務(wù)器30分別提供的共享數(shù)據(jù)的鎖。本實施例中,集中管理部40對于共享數(shù)據(jù)的記錄逐個地管理鎖。更詳細(xì)地說,集中管理部40對于一個記錄,從一個應(yīng)用程序服務(wù)器30收到參照鎖的取得請求時,以其他應(yīng)用程序服務(wù)器30未取得排他鎖為條件,使該一個應(yīng)用程序服務(wù)器 30取得參照鎖。另外,集中管理部40對于一個記錄,從一個應(yīng)用程序服務(wù)器30收到排他鎖的取得請求時,以其他應(yīng)用程序服務(wù)器30未取得參照鎖或排他鎖為條件,使該一個應(yīng)用程序服務(wù)器30取得排他鎖。從而,多個應(yīng)用程序服務(wù)器30可以不會相互不匹配地參照及更新共享數(shù)據(jù)。另外,數(shù)據(jù)庫服務(wù)器20及集中管理部40也可以是由同一個系統(tǒng)管理的構(gòu)成。圖2表示多個應(yīng)用程序服務(wù)器30的各自的構(gòu)成。多個應(yīng)用程序服務(wù)器30分別具備執(zhí)行部52、訪問控制部54、高速緩存部56、分散管理部58。這樣的應(yīng)用程序服務(wù)器30通過計算機(jī)執(zhí)行程序而實現(xiàn)。執(zhí)行部52執(zhí)行由應(yīng)用程序提供的信息處理。執(zhí)行部52執(zhí)行例如賦予的請求相應(yīng)的處理,將處理結(jié)果作為應(yīng)答返回。另外,執(zhí)行部52執(zhí)行參照或更新共享數(shù)據(jù)的處理時,經(jīng)由訪問控制部M向數(shù)據(jù)庫服務(wù)器20發(fā)出參照請求或更新請求。執(zhí)行部52作為一個實例, 可發(fā)出由SQLGtructured Query Language)記述的參照請求或更新請求。訪問控制部M經(jīng)由網(wǎng)絡(luò)向數(shù)據(jù)庫服務(wù)器20發(fā)送對于執(zhí)行部52發(fā)出的共享數(shù)據(jù)的參照請求或更新請求。然后,訪問控制部M取得與向數(shù)據(jù)庫服務(wù)器20發(fā)送的請求相應(yīng)的處理結(jié)果,返回執(zhí)行部52。另外,訪問控制部M在對數(shù)據(jù)庫服務(wù)器20的訪問的事務(wù)開始時,經(jīng)由選擇部60, 從集中管理部40或分散管理部58取得鎖。更詳細(xì)地說,訪問控制部M在包含更新請求的事務(wù)(以下,稱為更新事務(wù))開始時,取得排他鎖。另外,訪問控制部M在不包含更新請求的事務(wù)(以下,稱為參照事務(wù))開始時,取得參照鎖。訪問控制部M在無法取得鎖時,不對共享數(shù)據(jù)進(jìn)行訪問。另外,事務(wù)是指將數(shù)據(jù)庫服務(wù)器20之間交換的例如不可分的多個處理匯總的單位。數(shù)據(jù)庫服務(wù)器20若為例如SQL服務(wù)器,則事務(wù)是從〃 Begin"到〃 Commit" 或"Rollback"為止的一系列處理。高速緩存部56高速緩存訪問控制部M參照的共享數(shù)據(jù)。高速緩存部56在事務(wù)結(jié)束時,可使高速緩存的共享數(shù)據(jù)無效化。分散管理部58管理該應(yīng)用程序服務(wù)器30提供的共享數(shù)據(jù)的鎖。本實施例中,分散管理部58對于共享數(shù)據(jù)的記錄逐個地管理鎖。更詳細(xì)地說,分散管理部58對于一個記錄,從訪問控制部M收到參照鎖的取得請求時,以其他應(yīng)用程序服務(wù)器30的訪問控制部M未取得排他鎖為條件,使該訪問控制部M 取得參照鎖。另外,分散管理部58對于一個記錄,從訪問控制部M收到排他鎖的取得請求時,對其他應(yīng)用程序服務(wù)器30分別進(jìn)行詢問,以其他應(yīng)用程序服務(wù)器30的全部未取得參照鎖或排他鎖為條件,使該訪問控制部M取得排他鎖。從而,分散管理部58可以不會與其他應(yīng)用程序服務(wù)器30不匹配地參照及更新共享數(shù)據(jù)。選擇部60選擇從分散管理部58取得鎖的分散模式或者從集中管理部40取得鎖的集中模式。選擇部60選擇分散模式時,向分散管理部58提供來自訪問控制部M的鎖的取得請求,使訪問控制部M從分散管理部58取得鎖。另外,選擇部60在選擇集中模式時, 經(jīng)由網(wǎng)絡(luò)向集中管理部40提供來自訪問控制部M的鎖的取得請求,使訪問控制部M從集中管理部40取得鎖。這里,選擇部60與其他應(yīng)用程序服務(wù)器30內(nèi)的各自的選擇部60進(jìn)行通信。選擇部60以多個應(yīng)用程序服務(wù)器30中至少一個更新共享數(shù)據(jù)為條件,向集中模式遷移。另外, 選擇部60以多個應(yīng)用程序服務(wù)器30的全部未更新共享數(shù)據(jù)為條件,向分散模式遷移。然后,訪問控制部M在分散模式中,可禁止對共享數(shù)據(jù)的參照進(jìn)行許可且更新。另外,訪問控制部M在集中模式中,可許可共享數(shù)據(jù)的參照及更新。
這樣的應(yīng)用程序服務(wù)器30在更新共享數(shù)據(jù)時,由于從集中管理部40取得排他鎖, 因此可消除與其他應(yīng)用程序服務(wù)器之間的交換。另外,應(yīng)用程序服務(wù)器30在不更新共享數(shù)據(jù)時,由于從分散管理部58取得參照鎖,因此可縮短取得參照鎖的延遲。從而,根據(jù)應(yīng)用程序服務(wù)器30,可以有效地進(jìn)行分散鎖控制。圖3表示定義共享數(shù)據(jù)(ITEM表)的數(shù)據(jù)構(gòu)造的架構(gòu)的一個實例。圖4表示用于從圖3所示的ITEM表參照值的參照查詢的一個實例。圖5表示高速緩存部56高速緩存的數(shù)據(jù)的一個實例。高速緩存部56作為一個實例,通過SQL記述的參照查詢,存儲參照數(shù)據(jù)庫服務(wù)器 20內(nèi)的共享數(shù)據(jù)的結(jié)果。例如,數(shù)據(jù)庫服務(wù)器20將圖3的架構(gòu)所示的ITEM表作為共享數(shù)據(jù)存儲。該場合中,訪問控制部M若對數(shù)據(jù)庫服務(wù)器20發(fā)出圖4的參照查詢,則可從數(shù)據(jù)庫服務(wù)器20取得圖5所示的查詢結(jié)果。高速緩存部56高速緩存訪問控制部M取得的圖 5所示的查詢結(jié)果。然后,訪問控制部M再次從執(zhí)行部52收到圖5所示數(shù)據(jù)的全部或部分的參照請求后,取代對數(shù)據(jù)庫服務(wù)器20發(fā)出參照查詢,從高速緩存部56取得共享數(shù)據(jù),作為查詢結(jié)果返回執(zhí)行部52。從而,訪問控制部M可降低數(shù)據(jù)庫服務(wù)器20的負(fù)荷且縮短參照共享數(shù)據(jù)的延遲。圖6表示由選擇部60選擇的模式的一個實例。圖7表示模式遷移時的遷移條件的一個實例。選擇部60如圖6及圖7所示,選擇分散模式、用于從分散模式向集中模式遷移的集中遷移模式、作為集中模式的集中參照模式、作為集中模式的集中更新模式及用于從集中模式向分散模式遷移的分散遷移模式之一。選擇部60在分散模式中,在更新共享數(shù)據(jù)時,從分散模式向集中遷移模式遷移。 選擇部60作為一個實例,在開始更新事務(wù)的執(zhí)行時,可從分散模式向集中遷移模式遷移。 或,選擇部60在分散模式中,以其他至少一個應(yīng)用程序服務(wù)器30是集中遷移模式為條件, 從分散模式向集中遷移模式遷移。從而,多個應(yīng)用程序服務(wù)器30在任一個應(yīng)用程序服務(wù)器 30更新共享數(shù)據(jù)時(例如,開始更新事務(wù)的執(zhí)行時),可全部從分散模式向集中遷移模式遷移。另外,選擇部60在集中遷移模式中,以全部的應(yīng)用程序服務(wù)器30是集中遷移模式、作為集中模式的集中參照模式或作為集中模式的集中更新模式之一為條件,從集中遷移模式向作為集中模式的集中參照模式遷移。從而,多個應(yīng)用程序服務(wù)器30以全部從分散模式向集中遷移模式遷移為條件,可以向集中模式(集中參照模式或集中遷移模式)遷移。 另外,也可以使多個應(yīng)用程序服務(wù)器30從集中遷移模式向作為集中模式的集中參照模式的遷移相互同步。另外,選擇部60在集中參照模式中,在更新共享數(shù)據(jù)時,從集中參照模式向集中更新模式遷移。選擇部60作為一個實例,在執(zhí)行更新事務(wù)時,可從集中參照模式向集中更新模式遷移。另外,選擇部60在集中更新模式中,在共享數(shù)據(jù)的更新結(jié)束時,從集中更新模式向集中參照模式遷移。選擇部60作為一個實例,在全部的更新事務(wù)的執(zhí)行結(jié)束時,可從集中更新模式向集中參照模式遷移。另外,選擇部60在集中參照模式中,以全部的應(yīng)用程序服務(wù)器30是集中參照模式或集中更新模式為條件,或,至少一個應(yīng)用程序服務(wù)器30是分散遷移模式為條件,從集中參照模式向分散遷移模式遷移。另外,選擇部60還以向集中參照模式遷移后經(jīng)過一定期間為條件,可從集中參照模式向分散遷移模式遷移。從而,各應(yīng)用程序服務(wù)器30在集中模式中不更新共享數(shù)據(jù)時,可向分散遷移模式遷移。另外,選擇部60在分散遷移模式中,以全部的應(yīng)用程序服務(wù)器30是分散遷移模式、分散模式或集中遷移模式為條件,從集中遷移模式向分散模式遷移。從而,多個應(yīng)用程序服務(wù)器30以全部從集中模式向分散遷移模式遷移為條件,可向分散模式遷移。另外,多個應(yīng)用程序服務(wù)器30從分散遷移模式向分散模式也可以相互同步地遷移。另外,選擇部60也可以構(gòu)成為在分散遷移模式中,更新共享數(shù)據(jù)時,以全部的應(yīng)用程序服務(wù)器30是分散遷移模式、集中參照模式或集中更新模式為條件,從分散遷移模式向集中參照模式遷移。從而,應(yīng)用程序服務(wù)器30在分散遷移模式中,更新共享數(shù)據(jù)時(例如,開始更新事務(wù)的執(zhí)行時),可從分散遷移模式經(jīng)由集中參照模式向集中更新模式遷移。圖8是表示各模式中,高速緩存的參照的可否、數(shù)據(jù)庫的參照的可否及數(shù)據(jù)庫的更新的可否的一個實例。選擇部60在分散模式中,從分散管理部58取得鎖。另外,選擇部 60在集中遷移模式、集中參照模式、集中更新模式及分散遷移模式中,從集中管理部40取得鎖。而且,分散模式中從分散管理部58取得鎖時,選擇部60在從分散模式向集中遷移模式的遷移中,從集中管理部40取得鎖,將從分散管理部58取得的鎖解鎖。另外,分散遷移模式中從集中管理部40取得鎖時,選擇部60在從分散遷移模式向分散模式的遷移中,從分散管理部58取得鎖,將從集中管理部40取得的鎖解鎖。從而,選擇部60在切換鎖的取得處時,可消除共享數(shù)據(jù)的不匹配。另外,訪問控制部M如圖8,在分散模式中,許可高速緩存部56高速緩存的共享數(shù)據(jù)及數(shù)據(jù)庫服務(wù)器20存儲的共享數(shù)據(jù)的參照。即,訪問控制部M在分散模式中,用高速緩存部56參照共享數(shù)據(jù)。從而,訪問控制部M在分散模式中,可減輕數(shù)據(jù)庫服務(wù)器20的負(fù)擔(dān),并加速對共享數(shù)據(jù)的訪問。而且,訪問控制部M在分散模式中,禁止數(shù)據(jù)庫服務(wù)器20 存儲的共享數(shù)據(jù)的更新。從而,訪問控制部M在分散模式中,無需從其他多個應(yīng)用程序服務(wù)器30取得排他鎖的處理,可簡化分散鎖控制。另外,訪問控制部M如圖8,在集中更新模式中,禁止高速緩存部56高速緩存的共享數(shù)據(jù)的參照,許可數(shù)據(jù)庫服務(wù)器20存儲的共享數(shù)據(jù)的參照。即,訪問控制部M在集中更新模式中,在不采用高速緩存部56的情況下參照共享數(shù)據(jù)。而且,訪問控制部討在集中更新模式中,許可數(shù)據(jù)庫服務(wù)器20存儲的共享數(shù)據(jù)的更新。從而,訪問控制部M在集中更新模式中,可禁止高速緩存訪問,消除共享數(shù)據(jù)的不匹配。另外,訪問控制部M如圖8,在集中遷移模式、集中參照模式及分散遷移模式中, 禁止高速緩存部56高速緩存的共享數(shù)據(jù)的參照,許可數(shù)據(jù)庫服務(wù)器20存儲的共享數(shù)據(jù)的參照。即,訪問控制部討在集中遷移模式、集中參照模式及分散遷移模式中,在不采用高速緩存部56的情況下參照共享數(shù)據(jù)。而且,訪問控制部討在集中遷移模式、集中參照模式及分散遷移模式中,禁止數(shù)據(jù)庫服務(wù)器20存儲的共享數(shù)據(jù)的更新。從而,訪問控制部M在從分散模式向集中更新模式的遷移及從集中更新模式向分散模式的遷移中,可禁止高速緩存訪問,消除共享數(shù)據(jù)的不匹配。
而且,選擇部60從分散遷移模式向分散模式遷移時,可使高速緩存部56高速緩存的共享數(shù)據(jù)無效?;蛘撸x擇部60也可以從分散遷移模式向分散模式遷移時,接受高速緩存部56高速緩存的共享數(shù)據(jù)中由任一應(yīng)用程序服務(wù)器30更新的數(shù)據(jù)的通知,將接受通知的數(shù)據(jù)選擇性地?zé)o效化。從而,選擇部60可消除高速緩存部56高速緩存的共享數(shù)據(jù)和數(shù)據(jù)庫服務(wù)器20存儲的共享數(shù)據(jù)之間的不匹配。圖9表示信息處理系統(tǒng)10中,某一個應(yīng)用程序服務(wù)器30 (Al)及其他多個應(yīng)用程序服務(wù)器30 (A2 An)的處理流程的一個實例。全部的應(yīng)用程序服務(wù)器30 (Al An)為分散模式時,某一個應(yīng)用程序服務(wù)器30 (Al)若開始更新事務(wù)的執(zhí)行,則該一個應(yīng)用程序服務(wù)器30 (Al)及其他多個應(yīng)用程序服務(wù)器30 (A2 An)按照圖9的流程動作。首先,一個應(yīng)用程序服務(wù)器30 (Al)中更新事務(wù)開始后,該一個應(yīng)用程序服務(wù)器 30 (Al)向集中遷移模式遷移(S101,S102, S103)。其他多個應(yīng)用程序服務(wù)器30 (A2 An) 各自從一個應(yīng)用程序服務(wù)器30 (Al)接受通知(S103A),識別出一個應(yīng)用程序服務(wù)器30 (Al) 是集中遷移模式后,向集中遷移模式遷移(S201,S204, S2(^)。其結(jié)果,全部的應(yīng)用程序服務(wù)器30 (Al An)成為集中遷移模式。多個應(yīng)用程序服務(wù)器30 (Al An)各自從其他應(yīng)用程序服務(wù)器30 (Al An)分別接受通知(S205A),識別出全部的應(yīng)用程序服務(wù)器30 (Al An)是集中遷移模式(S106, S206)后,向集中參照模式遷移(S107,S207)。這里,多個應(yīng)用程序服務(wù)器30 (Al An)也可以相互同步地從集中遷移模式向集中參照模式遷移。接著,在其他應(yīng)用程序服務(wù)器30 (A2 An)各自向集中參照模式遷移到經(jīng)過一定期間后(S212),向分散遷移模式遷移(S213)。另外,一個應(yīng)用程序服務(wù)器30 (Al)從集中參照模式向集中更新模式遷移(S108)。 接著,一個應(yīng)用程序服務(wù)器30 (Al)執(zhí)行共享數(shù)據(jù)的更新(S109)。接著,一個應(yīng)用程序服務(wù)器30 (Al)在全部的更新事務(wù)結(jié)束后(SllO),從集中更新模式向集中參照模式遷移(Slll)。 一個應(yīng)用程序服務(wù)器30 (Al)從向集中參照模式遷移到經(jīng)過一定期間后(SlU),向分散遷移模式遷移(Sli:3)。其結(jié)果,全部的應(yīng)用程序服務(wù)器30 (Al An)成為分散遷移模式。多個應(yīng)用程序服務(wù)器30 (Al An)各自從其他應(yīng)用程序服務(wù)器30 (Al An)接受通知(S113A,S213A),識別出全部的應(yīng)用程序服務(wù)器30 (Al An)是分散遷移模式后 (S114,S214),向分散模式遷移(S115,S215)。這里,多個應(yīng)用程序服務(wù)器30 (Al An)可以相互同步地從分散遷移模式向分散模式遷移。以上,分散模式中任一個應(yīng)用程序服務(wù)器30中若開始更新事務(wù),則多個應(yīng)用程序服務(wù)器30可分別從分散模式經(jīng)由集中遷移模式向集中參照模式遷移。而且,一個應(yīng)用程序服務(wù)器30可從集中參照模式向集中更新模式遷移,執(zhí)行更新。然后,在一個應(yīng)用程序服務(wù)器30中的更新結(jié)束后,多個應(yīng)用程序服務(wù)器30可分別從集中參照模式經(jīng)由分散遷移模式向分散模式遷移。圖10表示向信息處理系統(tǒng)10追加新應(yīng)用程序服務(wù)器30時,該新應(yīng)用程序服務(wù)器 30的模式的確定流程。該信息處理系統(tǒng)10可追加新應(yīng)用程序服務(wù)器30。向信息處理系統(tǒng) 10新追加的應(yīng)用程序服務(wù)器30的選擇部60按照圖10所示判斷來選擇模式。首先,選擇部60判斷至少一個其他應(yīng)用程序服務(wù)器30是否為集中遷移模式 (S301)。選擇部60以至少一個其他應(yīng)用程序服務(wù)器30是集中遷移模式為條件(S301的是),向集中遷移模式遷移(S302)。全部的其他應(yīng)用程序服務(wù)器30都不是集中遷移模式時(S301的否),接著,選擇部 60判斷至少一個其他應(yīng)用程序服務(wù)器30是否為分散模式(S30;3)。選擇部60以全部的其他應(yīng)用程序服務(wù)器30不是集中遷移模式且至少一個其他應(yīng)用程序服務(wù)器30是分散模式為條件(S303的是),向分散模式遷移(S304)。接著,全部的其他應(yīng)用程序服務(wù)器30都不是集中遷移模式或分散模式時(S303的否),接著,選擇部60判斷至少一個其他應(yīng)用程序服務(wù)器30是否為分散遷移模式(S305)。 選擇部60以全部的其他應(yīng)用程序服務(wù)器30不是集中遷移模式或分散模式且至少一個其他應(yīng)用程序服務(wù)器30是分散遷移模式為條件(S305的是),向分散遷移模式遷移(S306)。然后,選擇部60以全部的其他應(yīng)用程序服務(wù)器30不是集中遷移模式、分散模式或分散遷移模式為條件(S305的否),向集中參照模式遷移(S307)。以上,通過確定模式,即使在向信息處理系統(tǒng)10新追加時,應(yīng)用程序服務(wù)器30也可以保持與其他應(yīng)用程序服務(wù)器 30的匹配性,訪問共享數(shù)據(jù)。圖11表示本實施例的計算機(jī)1900的硬件構(gòu)成的一個實例。本實施例的計算機(jī) 1900具備具有通過主機(jī)控制器2082相互連接的CPU2000、RAM2020、圖形控制器2075及顯示裝置2080的CPU周邊部;具有通過輸入輸出控制器2084與主機(jī)控制器2082連接的通信接口 2030、硬盤驅(qū)動器2040及⑶-ROM驅(qū)動器2060的輸入輸出部;具有與輸入輸出控制器 2084連接的R0M2010、軟盤驅(qū)動器2050及輸入輸出芯片2070的舊的輸入輸出部。主機(jī)控制器2082與RAM2020、以高傳輸率訪問RAM2020的CPU2000及圖形控制器 2075連接。CPU2000根據(jù)在R0M2010及RAM2020存儲的程序操作,進(jìn)行各部的控制。圖形控制器2075取得CPU2000等在RAM2020內(nèi)設(shè)置的幀緩沖器上生成的圖像數(shù)據(jù),在顯示裝置 2080上顯示?;蛘撸瑘D形控制器2075也可以將存儲CPU2000等生成的圖像數(shù)據(jù)的幀緩沖器包含在內(nèi)部。輸入輸出控制器2084與主機(jī)控制器2082和比較高速的輸入輸出裝置即通信接口 2030、硬盤驅(qū)動器2040、⑶-ROM驅(qū)動器2060連接。通信接口 2030經(jīng)由網(wǎng)絡(luò)與其他裝置通信。硬盤驅(qū)動器2040存儲計算機(jī)1900內(nèi)的CPU2000使用的程序及數(shù)據(jù)。⑶-ROM驅(qū)動器 2060從⑶-R0M2095讀取程序或數(shù)據(jù),經(jīng)由RAM220向硬盤驅(qū)動器2040提供。另外,輸入輸出控制器2084與R0M2010和軟盤驅(qū)動器2050及輸入輸出芯片2070 的比較低速的輸入輸出裝置連接。R0M2010存儲計算機(jī)1900啟動時執(zhí)行的引導(dǎo)程序和/或依賴于計算機(jī)1900的硬件的程序等。軟盤驅(qū)動器2050從軟盤2090讀取程序或數(shù)據(jù),經(jīng)由 RAM2020向硬盤驅(qū)動器2040提供。輸入輸出芯片2070將軟盤驅(qū)動器2050與輸入輸出控制器2084連接,并且,例如經(jīng)由并行端口、串行端口、鍵盤端口、鼠標(biāo)端口等將各種的輸入輸出裝置與輸入輸出控制器2084連接。經(jīng)由RAM2020向硬盤驅(qū)動器2040提供的程序在軟盤2090、CD_R0M2095或IC卡等的記錄介質(zhì)存儲,由使用者提供。程序從記錄介質(zhì)讀出,經(jīng)由RAM2020在計算機(jī)1900內(nèi)的硬盤驅(qū)動器2040上安裝,在CPU2000中執(zhí)行。在計算機(jī)1900上安裝的使計算機(jī)1900起到應(yīng)用程序服務(wù)器30的功能的程序,具備執(zhí)行模塊、訪問控制模塊、高速緩存模塊、分散管理模塊、選擇模塊。這些程序或模塊由 CPU2000等執(zhí)行,使計算機(jī)1900分別起到執(zhí)行部52、訪問控制部54、高速緩存部56、分散管
11理部58及選擇部60的功能。這些程序記述的信息處理通過讀入計算機(jī)1900,起到使軟件和所述各種硬件資源協(xié)作的具體手段即執(zhí)行部52、訪問控制部54、高速緩存部56、分散管理部58及選擇部60的功能。通過這些具體的手段實現(xiàn)與本實施例中的計算機(jī)1900的使用目的相應(yīng)的信息的運(yùn)算或加工,來構(gòu)筑與使用目的相應(yīng)的特有的應(yīng)用程序服務(wù)器30。作為一個實例,在計算機(jī)1900和外部的裝置等之間通信時,CPU2000執(zhí)行在 RAM2020上加載的通信程序,根據(jù)通信程序記述的處理內(nèi)容,對通信接口 2030指示通信處理。通信接口 2030接受CPU2000的控制,讀出在RAM2020、硬盤驅(qū)動器2040、軟盤2090或 CD-R0M2095等的存儲裝置上設(shè)置的發(fā)送緩沖器區(qū)域等存儲的發(fā)送數(shù)據(jù),向網(wǎng)絡(luò)發(fā)送,或者, 將從網(wǎng)絡(luò)接收的接收數(shù)據(jù)寫入存儲裝置上設(shè)置的接收緩沖器區(qū)域等。這樣,通信接口 2030 可通過DMA(直接存儲訪問)方式在存儲裝置之間傳送收發(fā)數(shù)據(jù),或者,CPU2000也可以從傳送源的存儲裝置或通信接口 2030讀出數(shù)據(jù),通過向傳送目的地的通信接口 2030或存儲裝置寫入數(shù)據(jù)來傳送收發(fā)數(shù)據(jù)。另外,CPU2000從硬盤驅(qū)動器2040、CD-ROM驅(qū)動器2060 (CD_R0M20%)、軟盤驅(qū)動器 2050 (軟盤2090)等的外部存儲裝置存儲的文件或數(shù)據(jù)庫等中,將全部或必要部分通過DMA 傳送等讀入RAM2020,對RAM2020上的數(shù)據(jù)進(jìn)行各種處理。然后,CPU2000將結(jié)束處理的數(shù)據(jù)通過DMA傳送等寫回外部存儲裝置。這樣的處理中,認(rèn)為RAM2020暫時保持外部存儲裝置的內(nèi)容,因此,本實施例中將RAM2020及外部存儲裝置等總稱為存儲器、存儲部或存儲裝置等。本實施例中的各種程序、數(shù)據(jù)、表、數(shù)據(jù)庫等的各種信息在這樣的存儲裝置上存儲,成為信息處理的對象。另外,CPU2000也可將RAM2020的一部分在高速緩存存儲器保持,在高速緩存存儲器上進(jìn)行讀寫。這樣的形態(tài)中,高速緩存存儲器起到RAM2020的功能的一部分, 因此,本實施例中,除了區(qū)別表示的情況外,高速緩存存儲器也是RAM2020、存儲器及/或存儲裝置所包含的。另外,CPU2000對從RAM2020讀出的數(shù)據(jù),進(jìn)行由程序的命令列指定的包含本實施例中所述的各種運(yùn)算、信息加工、條件判斷、信息的檢索、置換等的各種處理后,寫回 RAM2020。例如,CPU2000進(jìn)行條件判斷時,將本實施例中的各種變數(shù)與其他變數(shù)或常數(shù)比較,判斷是否滿足大、小、以上、以下、相等等的條件,在條件成立時(或不成立時),向不同的命令列分支,或調(diào)用子例程。另外,CPU2000可檢索存儲裝置內(nèi)的文件或數(shù)據(jù)庫等存儲的信息。例如,第2屬性的屬性值與第1屬性的屬性值相關(guān)的多個條目在存儲裝置存儲時,CPU2000從存儲裝置存儲的多個條目中檢索與指定第1屬性的屬性值的條件一致的條目,通過讀出該條目存儲的第2屬性的屬性值,可獲得與滿足規(guī)定的條件的第1屬性相關(guān)的第2屬性的屬性值。以上所示的程序或模塊也可以在外部的記錄介質(zhì)存儲。記錄介質(zhì)除了采用軟盤 2090、⑶-R0M2095,也可以采用DVD或⑶等的光學(xué)記錄介質(zhì)、MO等的光磁氣記錄介質(zhì)、磁帶介質(zhì),IC卡等的半導(dǎo)體存儲器等。另外,也可以將在專用通信網(wǎng)絡(luò)或互聯(lián)網(wǎng)連接的服務(wù)器系統(tǒng)設(shè)置的硬盤或RAM等的存儲裝置作為記錄介質(zhì)使用,經(jīng)由網(wǎng)絡(luò)向計算機(jī)1900提供程序。以上,用實施例說明了本發(fā)明,但是本發(fā)明的技術(shù)范圍不限于所述實施例所述的范圍。本專業(yè)技術(shù)人員可對所述實施例進(jìn)行多樣的變更或改良。從權(quán)利要求的范圍的記載可明白各種各樣的變更或改良后的形態(tài)也包含在本發(fā)明的技術(shù)范圍內(nèi)。
權(quán)利要求的范圍、說明書及圖面中表示的裝置、系統(tǒng)、程序及方法中的動作、順序、 步驟及階段等的各處理的執(zhí)行順序沒有特別明示為"之前"、“先前"等,另外,應(yīng)該了解之前的處理的輸出不限于在之后的處理中采用,可以任意的順序?qū)崿F(xiàn)。關(guān)于權(quán)利要求的范圍、說明書及圖面中的動作流程,雖然為了方便而采用"首先"、“接著"等進(jìn)行了說明, 但是不意味以該順序?qū)嵤┦潜仨毜?。符號的說明
10信息處理系統(tǒng)
20 I〔據(jù)庫服務(wù)器,
30應(yīng)用程序服務(wù)器
40集中管理部
52執(zhí)行部
54訪問控制部
56高速緩存部
58分散管理部
60選擇部
1900計算機(jī)
2000CPU
2010ROM
2020RAM
2030通信接口
2040硬盤驅(qū)動器
2050軟盤驅(qū)動器
2060CD-ROM驅(qū)動器
2070輸入輸出芯片
2075圖形控制器
2080顯示裝置
2082主機(jī)控制器
2084輸入輸出控制器
2090軟盤
2095CD-ROM
權(quán)利要求
1.一種系統(tǒng),其特征在于,具備訪問共享數(shù)據(jù)的多個應(yīng)用程序服務(wù)器;和集中管理所述多個應(yīng)用程序服務(wù)器分別提供的所述共享數(shù)據(jù)的鎖的集中管理部, 所述多個應(yīng)用程序服務(wù)器分別具備管理該應(yīng)用程序服務(wù)器提供的所述共享數(shù)據(jù)的鎖的分散管理部;和選擇從所述分散管理部取得鎖的分散模式或者從所述集中管理部取得鎖的集中模式的選擇部。
2.權(quán)利要求1所述的系統(tǒng),其特征在于,還具備 所述分散模式中,禁止所述共享數(shù)據(jù)的更新的訪問控制部。
3.權(quán)利要求2所述的系統(tǒng),其特征在于, 所述選擇部,以所述多個應(yīng)用程序服務(wù)器的全部不更新所述共享數(shù)據(jù)為條件,向所述分散模式遷移,以所述多個應(yīng)用程序服務(wù)器中至少一個更新所述共享數(shù)據(jù)為條件,向所述集中模式遷移。
4.權(quán)利要求3所述的系統(tǒng),其特征在于, 所述選擇部,在所述分散模式中,更新所述共享數(shù)據(jù)時,從所述分散模式向集中遷移模式遷移, 在所述分散模式中,以其他至少一個所述應(yīng)用程序服務(wù)器是所述集中遷移模式為條件,從所述分散模式向所述集中遷移模式遷移,在所述集中遷移模式中,以全部的所述應(yīng)用程序服務(wù)器是所述集中遷移模式或所述集中模式為條件,從所述集中遷移模式向所述集中模式遷移。
5.權(quán)利要求4所述的系統(tǒng),其特征在于,所述選擇部在所述集中遷移模式中,從所述集中管理部取得鎖, 所述訪問控制部在所述集中遷移模式中,禁止所述共享數(shù)據(jù)的更新。
6.權(quán)利要求5所述的系統(tǒng),其特征在于, 所述選擇部,在所述集中遷移模式中,以全部的所述應(yīng)用程序服務(wù)器是所述集中遷移模式或所述集中模式為條件,從所述集中遷移模式向作為所述集中模式的集中參照模式遷移,在所述集中參照模式中,更新所述共享數(shù)據(jù)時,從所述集中參照模式向作為所述集中模式的集中更新模式遷移,在所述集中更新模式中,所述共享數(shù)據(jù)的更新結(jié)束時,從所述集中更新模式向所述集中參照模式遷移。
7.權(quán)利要求6所述的系統(tǒng),其特征在于,所述訪問控制部在所述集中參照模式中,禁止所述共享數(shù)據(jù)的更新。
8.權(quán)利要求7所述的系統(tǒng),其特征在于, 所述選擇部,在所述集中參照模式中,以全部的所述應(yīng)用程序服務(wù)器是所述集中參照模式或所述集中更新模式,或至少一個所述應(yīng)用程序服務(wù)器是分散遷移模式為條件,從所述集中參照模式向所述分散遷移模式遷移,在所述分散遷移模式中,以全部的所述應(yīng)用程序服務(wù)器是所述分散遷移模式、所述分散模式或所述集中遷移模式為條件,從所述集中遷移模式向所述分散模式遷移。
9.權(quán)利要求8所述的系統(tǒng),其特征在于,所述選擇部在所述分散遷移模式中,從所述集中管理部取得鎖, 所述訪問控制部在所述分散遷移模式中,禁止所述共享數(shù)據(jù)的更新。
10.權(quán)利要求9所述的系統(tǒng),其特征在于, 該系統(tǒng)可追加新的所述應(yīng)用程序服務(wù)器, 新追加的所述應(yīng)用程序服務(wù)器的所述選擇部,以至少一個其他所述應(yīng)用程序服務(wù)器是所述集中遷移模式為條件,向所述集中遷移模式遷移,以全部的其他所述應(yīng)用程序服務(wù)器不是所述集中遷移模式且至少一個其他所述應(yīng)用程序服務(wù)器是所述分散模式為條件,向所述分散模式遷移,以全部的其他所述應(yīng)用程序服務(wù)器不是所述集中遷移模式或所述分散模式,且至少一個其他所述應(yīng)用程序服務(wù)器是所述分散遷移模式為條件,向所述分散遷移模式遷移,以全部的其他所述應(yīng)用程序服務(wù)器不是所述集中遷移模式、所述分散模式或所述分散遷移模式為條件,向所述集中參照模式遷移。
11.權(quán)利要求4到7的任一項所述的系統(tǒng),其特征在于,所述選擇部在從所述分散模式向所述集中遷移模式的遷移中,從所述集中管理部取得鎖,將從所述分散管理部取得的鎖解鎖。
12.權(quán)利要求1到11的任一項所述的系統(tǒng),其特征在于,所述多個應(yīng)用程序服務(wù)器還分別具備訪問所述共享數(shù)據(jù)的訪問控制部和將所述共享數(shù)據(jù)高速緩存的高速緩存部,所述訪問控制部在所述分散模式中,用所述高速緩存部參照所述共享數(shù)據(jù),在所述集中模式中,在不采用所述高速緩存部的情況下參照所述共享數(shù)據(jù),所述選擇部在向所述分散模式遷移時,使所述高速緩存部高速緩存的所述共享數(shù)據(jù)無效。
13.—種系統(tǒng),其特征在于,具備訪問共享數(shù)據(jù)的多個應(yīng)用程序服務(wù)器;和集中管理所述多個應(yīng)用程序服務(wù)器分別提供的所述共享數(shù)據(jù)的鎖的集中管理部, 所述多個應(yīng)用程序服務(wù)器分別具備管理該應(yīng)用程序服務(wù)器提供的所述共享數(shù)據(jù)的鎖的分散管理部;和選擇從所述分散管理部取得鎖的分散模式或者從所述集中管理部取得鎖的集中遷移模式、集中參照模式、集中更新模式及分散遷移模式之一的選擇部, 所述選擇部,在所述分散模式中,更新所述共享數(shù)據(jù)時,從所述分散模式向集中遷移模式遷移, 在所述分散模式中,以其他至少一個所述應(yīng)用程序服務(wù)器是所述集中遷移模式為條件,從所述分散模式向所述集中遷移模式遷移,在所述集中遷移模式中,以全部的所述應(yīng)用程序服務(wù)器是所述集中遷移模式、所述集中參照模式或所述集中更新模式為條件,從所述集中遷移模式向所述集中參照模式遷移,在所述集中參照模式中,更新所述共享數(shù)據(jù)時,從所述集中參照模式向所述集中更新模式遷移,在所述集中更新模式中,所述共享數(shù)據(jù)的更新結(jié)束時,從所述集中更新模式向所述集中參照模式遷移,在所述集中參照模式中,以全部的所述應(yīng)用程序服務(wù)器是所述集中參照模式或所述集中更新模式,或,至少一個所述應(yīng)用程序服務(wù)器是分散遷移模式為條件,從所述集中參照模式向所述分散遷移模式遷移,在所述分散遷移模式中,以全部的所述應(yīng)用程序服務(wù)器是所述分散遷移模式、所述分散模式或所述集中遷移模式為條件,從所述集中遷移模式向所述分散模式遷移。
14.一種應(yīng)用程序服務(wù)器,是具備訪問共享數(shù)據(jù)的多個應(yīng)用程序服務(wù)器和集中管理所述多個應(yīng)用程序服務(wù)器分別提供的所述共享數(shù)據(jù)的鎖的集中管理部的系統(tǒng)中的應(yīng)用程序服務(wù)器,其特征在于,具備管理該應(yīng)用程序服務(wù)器提供的所述共享數(shù)據(jù)的鎖的分散管理部;和選擇從所述分散管理部取得鎖的分散模式或者從所述集中管理部取得鎖的集中模式的選擇部。
15.一種程序,使計算機(jī)起到具備訪問共享數(shù)據(jù)的多個應(yīng)用程序服務(wù)器和集中管理所述多個應(yīng)用程序服務(wù)器分別提供的所述共享數(shù)據(jù)的鎖的集中管理部的系統(tǒng)中的應(yīng)用程序服務(wù)器的功能,其特征在于,使計算機(jī)起到如下部分的功能管理該應(yīng)用程序服務(wù)器提供的所述共享數(shù)據(jù)的鎖的分散管理部;和選擇從所述分散管理部取得鎖的分散模式或者從所述集中管理部取得鎖的集中模式的選擇部。
16.一種方法,使計算機(jī)起到具備訪問共享數(shù)據(jù)的多個應(yīng)用程序服務(wù)器和集中管理所述多個應(yīng)用程序服務(wù)器分別提供的所述共享數(shù)據(jù)的鎖的集中管理部的系統(tǒng)中的應(yīng)用程序服務(wù)器的功能,其特征在于,具備使計算機(jī)起到管理該應(yīng)用程序服務(wù)器提供的所述共享數(shù)據(jù)的鎖的分散管理部的功能的步驟;和使計算機(jī)起到選擇從所述分散管理部取得鎖的分散模式或者從所述集中管理部取得鎖的集中模式的選擇部的功能的步驟。
全文摘要
本發(fā)明提供一種系統(tǒng),其具備訪問共享數(shù)據(jù)的多個應(yīng)用程序服務(wù)器;和集中管理多個應(yīng)用程序服務(wù)器分別提供的共享數(shù)據(jù)的鎖的集中管理部。多個應(yīng)用程序服務(wù)器分別具備管理該應(yīng)用程序服務(wù)器提供的共享數(shù)據(jù)的鎖的分散管理部;和選擇從分散管理部取得鎖的分散模式或者從集中管理部取得鎖的集中模式的選擇部。
文檔編號G06F9/52GK102165420SQ20098013818
公開日2011年8月24日 申請日期2009年8月13日 優(yōu)先權(quán)日2008年10月6日
發(fā)明者堀井洋, 小澤陽介, 小野寺民也, 榎美紀(jì) 申請人:國際商業(yè)機(jī)器公司