两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

對(duì)通常讀出事務(wù)進(jìn)行工作負(fù)載管理的設(shè)備和方法

文檔序號(hào):7652848閱讀:193來(lái)源:國(guó)知局
專利名稱:對(duì)通常讀出事務(wù)進(jìn)行工作負(fù)載管理的設(shè)備和方法
技術(shù)領(lǐng)域
本發(fā)明通常涉及計(jì)算機(jī)服務(wù)器,更具體而言,涉及通過(guò)工作負(fù)栽管理有效處理計(jì)算機(jī)服務(wù)器環(huán)境中的通常讀出(mostly read )、在使 服務(wù)器利用率最大的同時(shí)保持?jǐn)?shù)據(jù)完整性的設(shè)備和方法。
背景技術(shù)
數(shù)據(jù)的及時(shí)可用性對(duì)計(jì)算機(jī)性能而言是至關(guān)重要的。計(jì)算機(jī)系統(tǒng) 通常使用通過(guò)網(wǎng)絡(luò)相連的服務(wù)器向多個(gè)客戶機(jī)提供數(shù)據(jù)文件和軟件應(yīng) 用程序文件。同樣的數(shù)據(jù)被復(fù)制到多個(gè)服務(wù)器上,以實(shí)現(xiàn)高可用性、 系統(tǒng)可伸縮性和更高性能。高可用性表示,通過(guò)在多個(gè)服務(wù)器上對(duì)數(shù) 據(jù)進(jìn)行分片和復(fù)制,即便出現(xiàn)因升級(jí)引起的預(yù)期中斷,或因硬件或軟 件失效引起的意外中斷,也能保持可用性。在HA系統(tǒng)以及其他計(jì)算機(jī)系統(tǒng)中,將復(fù)制數(shù)據(jù)存儲(chǔ)在多個(gè)服務(wù) 器上,以便及時(shí)響應(yīng)來(lái)自多個(gè)不同客戶機(jī)的請(qǐng)求。通常來(lái)講,具有分 配器的工作負(fù)載管理器用于對(duì)客戶機(jī)請(qǐng)求的工作負(fù)載進(jìn)行管理,以便確保對(duì)服務(wù)器的有效利用,以使服務(wù)器的性能最大化。通??蓪⒎?wù) 器上存儲(chǔ)的數(shù)據(jù)劃分成以下四種類型中的一種1)讀出/寫入數(shù)據(jù),2) 具有特定更新時(shí)期的通常讀出數(shù)據(jù),3)更新時(shí)間不特定的通常讀出數(shù) 據(jù),和4)只讀數(shù)據(jù)。如果在服務(wù)器上存儲(chǔ)的數(shù)據(jù)為只讀數(shù)據(jù),則工 作負(fù)載管理能夠簡(jiǎn)單引導(dǎo)客戶機(jī)請(qǐng)求以訪問(wèn)任何服務(wù)器。圖2顯示出, 對(duì)于只讀事務(wù)214,客戶機(jī)210可如何訪問(wèn)在任何服務(wù)器212上的數(shù) 據(jù)。由于只讀數(shù)據(jù)在所有服務(wù)器上都是最新的(current),能夠?qū)?duì) 于只讀數(shù)據(jù)的請(qǐng)求路由到主服務(wù)器216以及復(fù)制服務(wù)器218, 220。然而,如果存儲(chǔ)在服務(wù)器上的數(shù)據(jù)屬于類型1, 2或3,則僅主服 務(wù)器216上的數(shù)據(jù)總是有效和最新的。對(duì)于這些其他類型的數(shù)據(jù),例
如,讀出/寫入事務(wù)數(shù)據(jù)和通常讀出數(shù)據(jù),在不同數(shù)據(jù)更新期間,存儲(chǔ) 在不同服務(wù)器中的數(shù)據(jù)可能不同。因此,對(duì)于這些類型的數(shù)據(jù)事務(wù)222,將所有客戶機(jī)數(shù)據(jù)請(qǐng)求僅引向主服務(wù)器,所有復(fù)制服務(wù)器不用于 這樣的操作。圖3說(shuō)明了工作負(fù)載管理器(未示出)將所有客戶機(jī)212 的數(shù)據(jù)請(qǐng)求222引導(dǎo)到主服務(wù)器216。此外,圖3說(shuō)明了在HA系統(tǒng) 中的典型情形,其中,所有訪問(wèn)都是針對(duì)主服務(wù)器的,并且以延遲方 式實(shí)現(xiàn)其他服務(wù)器的復(fù)制。在客戶機(jī)訪問(wèn)利用率方面而言,這些復(fù)制 服務(wù)器是浪費(fèi)的。復(fù)制服務(wù)器僅在當(dāng)主服務(wù)器失效時(shí)才被使用,但由 于主服務(wù)器很少失效,導(dǎo)致這些服務(wù)器不能很好地利用。在現(xiàn)有技術(shù)中,當(dāng)存儲(chǔ)在服務(wù)器上的數(shù)據(jù)為通常讀出數(shù)據(jù)時(shí),必 須使用主服務(wù)器以確保數(shù)據(jù)是最新(不過(guò)時(shí))的。由于多達(dá)80%的普 通數(shù)據(jù)庫(kù)包含有很少進(jìn)行更新且進(jìn)行大量讀出的通常讀出數(shù)據(jù),使大 量服務(wù)器資源被浪費(fèi),使可伸縮性和性能大大減小。由于通常讀出數(shù) 據(jù)的更新并不頻繁,當(dāng)復(fù)制服務(wù)器最新且數(shù)據(jù)不過(guò)時(shí)時(shí),可更好地利 用復(fù)制服務(wù)器。對(duì)于通常讀出數(shù)據(jù),在不能更有效利用服務(wù)器的情況 下,計(jì)算機(jī)產(chǎn)業(yè)仍將受到網(wǎng)絡(luò)服務(wù)器的較慢響應(yīng)和低效利用的影響。發(fā)明內(nèi)容根據(jù)優(yōu)選實(shí)施例,描述了用于有效利用復(fù)制數(shù)據(jù)服務(wù)器,以便使 服務(wù)器響應(yīng)時(shí)間最短,而且能夠?qū)崿F(xiàn)更大可伸縮性以支持多個(gè)并發(fā)客 戶機(jī)的設(shè)備和方法。在優(yōu)選實(shí)施例中,負(fù)載均衡器通過(guò)對(duì)主服務(wù)器和 所有復(fù)制服務(wù)器上的客戶機(jī)請(qǐng)求進(jìn)行負(fù)載管理,為通常讀出數(shù)據(jù)事務(wù) 提供最新數(shù)據(jù),同時(shí)使服務(wù)器利用率最高。在負(fù)栽管理器中,通過(guò)負(fù) 栽均衡器對(duì)客戶機(jī)請(qǐng)求進(jìn)行管理。當(dāng)路由表(過(guò)時(shí)數(shù)據(jù)標(biāo)記列表)表 明數(shù)據(jù)處于安全期間時(shí),由負(fù)載均衡器將客戶機(jī)請(qǐng)求發(fā)送到復(fù)制服務(wù) 器。僅在數(shù)據(jù)更新期間,才將客戶機(jī)僅引導(dǎo)至主服務(wù)器。盡管此處所述優(yōu)選實(shí)施例針對(duì)的是WebSphere服務(wù)器環(huán)境,然 而此處所提出的實(shí)施例顯然包括其他網(wǎng)絡(luò)服務(wù)器環(huán)境及其相關(guān)體系結(jié) 構(gòu)和文件。
參照附圖,通過(guò)以下關(guān)于本發(fā)明的優(yōu)選實(shí)施例的更具體的描述, 將清楚地理解本發(fā)明的上述以及其他特征和優(yōu)點(diǎn)。


下面,將結(jié)合附圖,描述本發(fā)明的優(yōu)選實(shí)施例,其中,相同的附圖標(biāo)記表示相同的元件圖l表示根據(jù)本發(fā)明優(yōu)選實(shí)施例的設(shè)備的框圖;圖2表示根據(jù)現(xiàn)有技術(shù)由客戶機(jī)對(duì)網(wǎng)絡(luò)服務(wù)器的只讀事務(wù)的框圖;圖3表示根據(jù)現(xiàn)有技術(shù)由客戶機(jī)對(duì)網(wǎng)絡(luò)服務(wù)器的通常讀出以及讀 出/寫入事務(wù)的框圖;圖4表示根據(jù)優(yōu)選實(shí)施例由客戶機(jī)對(duì)網(wǎng)絡(luò)服務(wù)器的通常讀出事務(wù) 的框圖;圖5a表示根據(jù)優(yōu)選實(shí)施例由多個(gè)客戶機(jī)通過(guò)單個(gè)客戶機(jī)服務(wù)器對(duì)網(wǎng)絡(luò)服務(wù)器的只讀事務(wù)的框圖;圖5b表示根據(jù)優(yōu)選實(shí)施例由客戶機(jī)通過(guò)不同負(fù)栽管理器訪問(wèn)網(wǎng)絡(luò)服務(wù)器的只讀事務(wù)的另一框圖;圖6表示根據(jù)優(yōu)選實(shí)施例的過(guò)時(shí)數(shù)據(jù)標(biāo)記列表的內(nèi)容的框圖;圖7表示根據(jù)優(yōu)選實(shí)施例的請(qǐng)求流程處理方法的流程圖;圖8表示根據(jù)優(yōu)選實(shí)施例用于創(chuàng)建和更新過(guò)時(shí)數(shù)據(jù)標(biāo)記列表的方法的流程圖;圖9表示根據(jù)優(yōu)選實(shí)施例,在客戶機(jī)端和服務(wù)器端之間將路由表 和過(guò)時(shí)數(shù)據(jù)標(biāo)記列表的版本進(jìn)行比較的方法的流程圖;圖10表示根據(jù)優(yōu)選實(shí)施例用于轉(zhuǎn)發(fā)關(guān)于最新改變數(shù)據(jù)的請(qǐng)求的 方法的流程圖;以及圖11表示根據(jù)優(yōu)選實(shí)施例在復(fù)制時(shí)間之后清除過(guò)時(shí)數(shù)據(jù)標(biāo)記列 表表項(xiàng)的方法的流程圖。
具體實(shí)施例方式
本發(fā)明涉及應(yīng)用服務(wù)器,具體而言,WebSphere應(yīng)用服務(wù)器用于 所示示例。下面,為不熟悉WebSphere和應(yīng)用服務(wù)器的技術(shù)人員,提 供關(guān)于背景信息的簡(jiǎn)要概述,這將有助于幫助讀者理解本發(fā)明。2.概述在WebSphere環(huán)境中的WebSphere應(yīng)用月良務(wù)器 WebSphere是IBM的軟件產(chǎn)品品牌,其設(shè)計(jì)用于一起工作以便 提供用于將人、系統(tǒng)和應(yīng)用與內(nèi)部和外部資源連接的動(dòng)態(tài)電子商務(wù)解 決方案。軟件產(chǎn)品的WebSphere環(huán)境包括應(yīng)用J3艮務(wù)器。WebSphere 是基于為動(dòng)態(tài)電子商務(wù)而設(shè)計(jì)的基礎(chǔ)結(jié)構(gòu)軟件(中間件)。它提供了 安全可靠的軟件包。支持WebSphere產(chǎn)品的技術(shù)是JavaTM。在過(guò)去 數(shù)年間,許多軟件提供商已在一組服務(wù)器端應(yīng)用編程技術(shù)方面進(jìn)行合 作,其有助于構(gòu)建Web可訪問(wèn)、分布式、平臺(tái)中性的應(yīng)用。將這些技 術(shù)一起稱為Java 2平臺(tái)企業(yè)版(J2EE )。其與Java 2標(biāo)準(zhǔn)版(J2SE ) 平臺(tái)相對(duì)應(yīng),J2SE是大多數(shù)用戶所熟悉的。J2SE通過(guò)豐富的圖形用 戶接口 (GUI)支持客戶端應(yīng)用的開發(fā)。J2EE平臺(tái)構(gòu)建在J2SE平臺(tái) 的頂部。J2EE由用于定義業(yè)務(wù)邏輯和訪問(wèn)企業(yè)資源的應(yīng)用技術(shù)組成, 所述企業(yè)資源諸如數(shù)據(jù)庫(kù)、企業(yè)資源計(jì)劃(ERP)系統(tǒng)、消息傳遞系 統(tǒng)、電子郵件服務(wù)器等。Enterprise JavaBeans( EJB )技術(shù)是用于Java 平臺(tái)企業(yè)版(Java EE)的服務(wù)器端組件體系結(jié)構(gòu)。EJB技術(shù)允許基 于Java技術(shù)快速而簡(jiǎn)單地開發(fā)出分布式、事務(wù)處理型、安全和便攜的 應(yīng)用。2.詳細(xì)描述根據(jù)本發(fā)明的優(yōu)選實(shí)施例,描述了一種設(shè)備和方法,用于有效利 用復(fù)制數(shù)據(jù)服務(wù)器,以便使服務(wù)器響應(yīng)時(shí)間最短,以及使得能夠?qū)崿F(xiàn) 更大可伸縮性,以便支持多個(gè)并發(fā)客戶機(jī)。此處所述優(yōu)選實(shí)施例使得 能夠在所有服務(wù)器(主服務(wù)器和復(fù)制服務(wù)器)上對(duì)數(shù)據(jù)請(qǐng)求進(jìn)行有效 的工作負(fù)栽管理,同時(shí)又確保數(shù)據(jù)完整性和數(shù)據(jù)最新。參看圖1,計(jì)算機(jī)系統(tǒng)100為根據(jù)本發(fā)明優(yōu)選實(shí)施例的設(shè)備的一
種合適的實(shí)現(xiàn)。計(jì)算機(jī)系統(tǒng)100為IBM eSever iSeries計(jì)算機(jī)系統(tǒng)。 然而,本領(lǐng)域技術(shù)人員應(yīng)該理解,本發(fā)明的機(jī)制和設(shè)備同樣應(yīng)用于任 何計(jì)算機(jī)系統(tǒng),而與該計(jì)算機(jī)系統(tǒng)是否為復(fù)雜的多用戶計(jì)算設(shè)備,單 用戶工作站,或嵌入控制系統(tǒng)無(wú)關(guān)。如圖1所示,計(jì)算機(jī)系統(tǒng)100包 括處理器110,主存儲(chǔ)器120、大容量存儲(chǔ)設(shè)備接口 130、顯示器接口 140和網(wǎng)絡(luò)接口 150。這些系統(tǒng)部件利用系統(tǒng)總線160進(jìn)行互連。大容 量存儲(chǔ)設(shè)備接口 130用于將大容量存儲(chǔ)設(shè)備,例如直接訪問(wèn)存儲(chǔ)設(shè)備 155,與計(jì)算機(jī)系統(tǒng)100相連。 一種特殊類型的直接訪問(wèn)存儲(chǔ)設(shè)備155 為可讀和可寫CDRW驅(qū)動(dòng)器,它可將數(shù)據(jù)存儲(chǔ)到CDRW195,以及 從CD RW 195讀出數(shù)據(jù)。根據(jù)優(yōu)選實(shí)施例的主存儲(chǔ)器120包含數(shù)據(jù)121、操作系統(tǒng)122、 客戶機(jī)服務(wù)器123和數(shù)據(jù)服務(wù)器127。數(shù)據(jù)121表示用作為對(duì)計(jì)算機(jī) 系統(tǒng)IOO中任何程序的輸入以及來(lái)自它的輸出的任何數(shù)據(jù)。操作系統(tǒng) 122為在業(yè)界熟知為i5/OS的多任務(wù)操作系統(tǒng);不過(guò),本領(lǐng)域技術(shù)人 員應(yīng)該理解,本發(fā)明的精神和范圍并不局限在任何一種操作系統(tǒng)???戶機(jī)服務(wù)器123和數(shù)據(jù)服務(wù)器127為在許多方面與本領(lǐng)域所熟知的系 統(tǒng)類似的軟件系統(tǒng),不過(guò)也有本領(lǐng)域不知道的附加特征??蛻魴C(jī)服務(wù) 器123包括工作負(fù)載管理器124,用于如以下所述對(duì)關(guān)于數(shù)據(jù)的客戶 機(jī)請(qǐng)求進(jìn)行管理。在優(yōu)選實(shí)施例中,數(shù)據(jù)服務(wù)器123包括與路由表126 結(jié)合使用的過(guò)時(shí)數(shù)據(jù)標(biāo)記列表125。數(shù)據(jù)服務(wù)器127還包括與路由表 129結(jié)合使用的過(guò)時(shí)數(shù)據(jù)標(biāo)記列表128。下面,將進(jìn)一步描述優(yōu)選實(shí)施 例的這些部分。計(jì)算機(jī)系統(tǒng)IOO使用眾所周知的虛擬編址機(jī)制,其允許計(jì)算機(jī)系 統(tǒng)100的程序的行為如同它們僅訪問(wèn)大型、單個(gè)存儲(chǔ)實(shí)體而不是訪問(wèn) 多個(gè)更小存儲(chǔ)實(shí)體(例如,主存儲(chǔ)器120和DASD設(shè)備155 )那樣。 因此,盡管將數(shù)據(jù)121、操作系統(tǒng)122、客戶機(jī)服務(wù)器123和數(shù)據(jù)服務(wù) 器127顯示為駐留在主存儲(chǔ)器120中,本領(lǐng)域技術(shù)人員應(yīng)該理解,并 沒(méi)有必要在主存儲(chǔ)器120中同時(shí)將這些項(xiàng)都完全包含在內(nèi)。實(shí)際上, 客戶機(jī)服務(wù)器123和數(shù)據(jù)服務(wù)器127最有可能如以下所述駐留在不同 計(jì)算機(jī)系統(tǒng)中。還應(yīng)注意,此處術(shù)語(yǔ)"存儲(chǔ)器"通常用來(lái)指計(jì)算機(jī)系統(tǒng)100的全部虛擬存儲(chǔ)器,并可包括與計(jì)算機(jī)系統(tǒng)100相連的其他計(jì)算機(jī)系統(tǒng)的虛擬存儲(chǔ)器。處理器110可由一個(gè)或多個(gè)微處理器和/或集成電路構(gòu)成。處理 器110執(zhí)行在主存儲(chǔ)器120中存儲(chǔ)的程序指令。主存儲(chǔ)器120存儲(chǔ)有 處理器110可訪問(wèn)的程序和數(shù)據(jù)。當(dāng)計(jì)算機(jī)系統(tǒng)100啟動(dòng)時(shí),處理器 110最初執(zhí)行構(gòu)成操作系統(tǒng)122的程序指令。操作系統(tǒng)122是對(duì)計(jì)算 機(jī)系統(tǒng)100的資源進(jìn)行管理的高級(jí)程序。這些資源的其中一些是處理 器110、主存儲(chǔ)器120、大容量存儲(chǔ)設(shè)備接口 130、顯示器接口 140、 網(wǎng)絡(luò)接口 150和系統(tǒng)總線160。盡管將計(jì)算機(jī)系統(tǒng)IOO顯示為包含單個(gè)處理器和單個(gè)系統(tǒng)總線, 本領(lǐng)域技術(shù)人員應(yīng)該理解,可使用具有多個(gè)處理器和/或多個(gè)總線的計(jì) 算機(jī)系統(tǒng)實(shí)現(xiàn)本發(fā)明。此外,在優(yōu)選實(shí)施例中使用的接口均包括單獨(dú) 的、完全編程的微處理器,用于從處理器IIO分擔(dān)計(jì)算密集型處理。 然而,本領(lǐng)域技術(shù)人員應(yīng)該理解,本發(fā)明同樣可應(yīng)用于僅使用1/0適 配器以執(zhí)行類似功能的計(jì)算機(jī)系統(tǒng)。顯示器接口 140用于直接將一個(gè)或多個(gè)顯示器165與計(jì)算機(jī)系統(tǒng) 100相連??梢詾榉侵悄?即,啞)終端或完全可編程工作站的這些 顯示器165被用于使系統(tǒng)管理員和用戶能夠與計(jì)算機(jī)系統(tǒng)100進(jìn)行通 信。然而,注意,盡管設(shè)置了顯示器接口 140以支持與一個(gè)或多個(gè)顯 示器165的通信,但計(jì)算機(jī)系統(tǒng)100并非必須需要顯示器165,這是 因?yàn)樗信c用戶的必需交互以及其他處理可通過(guò)網(wǎng)絡(luò)接口 150實(shí)現(xiàn)。網(wǎng)絡(luò)接口 150用于在網(wǎng)絡(luò)170上將其他計(jì)算機(jī)系統(tǒng)和/或工作站 (例如,圖1所示175)與計(jì)算機(jī)系統(tǒng)IOO相連。不管計(jì)算機(jī)系統(tǒng)IOO 與其他計(jì)算機(jī)系統(tǒng)和/或工作站將如何連接,同樣可應(yīng)用本發(fā)明,這與 是否使用目前模擬和/或數(shù)字技術(shù)或通過(guò)某些未來(lái)聯(lián)網(wǎng)機(jī)制來(lái)實(shí)現(xiàn)網(wǎng) 絡(luò)連接170無(wú)關(guān)。此外,可使用許多不同網(wǎng)絡(luò)協(xié)議實(shí)現(xiàn)網(wǎng)絡(luò)。這些協(xié) 議是允許計(jì)算機(jī)在網(wǎng)絡(luò)170上進(jìn)行通信的專用計(jì)算機(jī)程序。TCP/IP(傳 輸控制協(xié)議/網(wǎng)際協(xié)議)是合適網(wǎng)絡(luò)協(xié)議的示例。
這里,重要的是要注意,盡管在完全功能計(jì)算機(jī)系統(tǒng)的場(chǎng)境中描 述了以及將繼續(xù)如此描述本發(fā)明,然而本領(lǐng)域技術(shù)人員應(yīng)該理解,本 發(fā)明能夠作為程序產(chǎn)品以各種形式發(fā)布,而且,本發(fā)明的應(yīng)用同樣與 實(shí)際執(zhí)行發(fā)布的計(jì)算機(jī)可讀介質(zhì)無(wú)關(guān)。適宜的計(jì)算機(jī)可讀介質(zhì)的示例包括可記錄型介質(zhì),例如,軟盤和CDRW(例如,圖1所示195), 傳輸類型介質(zhì),例如,數(shù)字和模擬通信鏈路。注意,優(yōu)選的計(jì)算機(jī)可 讀介質(zhì)是有形的。此外,重要的是要指出,在計(jì)算機(jī)系統(tǒng)100內(nèi)存在網(wǎng)絡(luò)接口 150 表明計(jì)算機(jī)系統(tǒng)100可與網(wǎng)絡(luò)170上的一個(gè)或多個(gè)其他計(jì)算機(jī)系統(tǒng)或 工作站進(jìn)行協(xié)同處理。當(dāng)然,這進(jìn)而表明,所示在主存儲(chǔ)器120中的 程序和數(shù)據(jù)無(wú)需都要駐留在計(jì)算機(jī)系統(tǒng)IOO上。例如,所示在主存儲(chǔ) 器120中的一個(gè)或多個(gè)部分可駐留在另一系統(tǒng)上,以及與駐留在計(jì)算 機(jī)系統(tǒng)IOO上的一個(gè)或多個(gè)對(duì)象或程序進(jìn)行協(xié)同處理。該協(xié)同處理可 使用諸如遠(yuǎn)程過(guò)程調(diào)用(RPC)之類眾所周知的客戶機(jī)服務(wù)器機(jī)制中 的一種來(lái)實(shí)現(xiàn)。根據(jù)優(yōu)選實(shí)施例,描述了用于有效利用復(fù)制數(shù)據(jù)服務(wù)器以便使服 務(wù)器響應(yīng)時(shí)間最小的設(shè)備和方法。此處所述優(yōu)選實(shí)施例使得能夠在主 和復(fù)制服務(wù)器上對(duì)數(shù)據(jù)請(qǐng)求進(jìn)行有效工作負(fù)載管理,同時(shí)又確保數(shù)據(jù) 完整性和數(shù)據(jù)最新。圖4表示根據(jù)優(yōu)選實(shí)施例對(duì)客戶機(jī)請(qǐng)求進(jìn)行引導(dǎo) 以便更有效利用復(fù)制數(shù)據(jù)服務(wù)器的計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)400??蛻魴C(jī)計(jì)算 機(jī)410, 412能夠訪問(wèn)最新數(shù)據(jù)以便進(jìn)行通常讀出數(shù)據(jù)事務(wù),同時(shí)通過(guò) 監(jiān)視在服務(wù)器上數(shù)據(jù)何時(shí)最新或過(guò)時(shí),在主服務(wù)器和所有復(fù)制服務(wù)器 上對(duì)客戶機(jī)請(qǐng)求進(jìn)行工作負(fù)栽管理,以使服務(wù)器利用率最高。當(dāng)復(fù)制服務(wù)器上的數(shù)據(jù)過(guò)時(shí)時(shí),僅從主服務(wù)器416為數(shù)據(jù)請(qǐng)求提供所請(qǐng)求的 數(shù)據(jù)(通常讀出事務(wù)414)。在復(fù)制服務(wù)器上的通常讀出類型數(shù)據(jù)在 更新和復(fù)制期間是過(guò)時(shí)的。當(dāng)在復(fù)制服務(wù)器上的數(shù)據(jù)為過(guò)時(shí)時(shí),如圖 4實(shí)線所示,通常讀出事務(wù)414僅被引向主服務(wù)器。在其他時(shí)間,當(dāng) 未進(jìn)行更新從而在其他服務(wù)器上復(fù)制的數(shù)據(jù)是最新數(shù)據(jù)時(shí),在所有服 務(wù)器416, 418和420上對(duì)數(shù)據(jù)請(qǐng)求進(jìn)行工作負(fù)栽管理,如來(lái)自客戶機(jī) 410, 412的虛線所示。在優(yōu)選實(shí)施例中,服務(wù)器416, 418和420均具有過(guò)時(shí)數(shù)據(jù)標(biāo)記 列表422, 423, 424,其對(duì)應(yīng)于圖1的數(shù)據(jù)服務(wù)器124中所示的過(guò)時(shí) 數(shù)據(jù)標(biāo)記列表。過(guò)時(shí)數(shù)據(jù)標(biāo)記列表422, 423, 424指示哪些數(shù)據(jù)是過(guò) 時(shí)或非最新的。然后,系統(tǒng)能夠確定何時(shí)僅對(duì)主服務(wù)器416進(jìn)行訪問(wèn) 或何時(shí)可按如上所述方式在所有服務(wù)器上對(duì)最新數(shù)據(jù)進(jìn)行工作負(fù)載管 理。在列表422, 423, 424中的過(guò)時(shí)數(shù)據(jù)標(biāo)記類似于用于計(jì)算機(jī)存儲(chǔ) 器緩存中的臟位(dirty bit)。過(guò)時(shí)數(shù)據(jù)標(biāo)記列表與路由表結(jié)合使用, 以便確定在何處訪問(wèn)數(shù)據(jù)。可將過(guò)時(shí)數(shù)據(jù)標(biāo)記列表視為路由表的擴(kuò)展。 路由表包含有具有數(shù)據(jù)的所有端點(diǎn)的列表,包括主服務(wù)器和復(fù)制服務(wù) 器。路由表由工作負(fù)栽管理器結(jié)合過(guò)時(shí)數(shù)據(jù)列表一起使用,以確定在 何處訪問(wèn)數(shù)據(jù)。當(dāng)對(duì)于數(shù)據(jù)的請(qǐng)求由工作負(fù)載管理器進(jìn)行處理時(shí),對(duì) 過(guò)時(shí)數(shù)據(jù)標(biāo)記列表進(jìn)行檢查,以查看被請(qǐng)求的數(shù)據(jù)是否具有過(guò)時(shí)數(shù)據(jù) 列表中的表項(xiàng)。在過(guò)時(shí)數(shù)據(jù)標(biāo)記列表422中對(duì)過(guò)時(shí)的或在復(fù)制服務(wù)器 中正處在更新處理中的任何數(shù)據(jù)進(jìn)行標(biāo)記,使得請(qǐng)求該數(shù)據(jù)的任何客 戶機(jī)被路由到主服務(wù)器,以確保數(shù)據(jù)完整性。在優(yōu)選實(shí)施例中,對(duì)于 與過(guò)時(shí)數(shù)據(jù)相關(guān)聯(lián)的每個(gè)表項(xiàng),過(guò)時(shí)數(shù)據(jù)標(biāo)記列表都具有關(guān)鍵字,如 以下所述。圖5a說(shuō)明了根據(jù)優(yōu)選實(shí)施例,用于實(shí)現(xiàn)如圖4所述功能以使復(fù) 制月良務(wù)器的效率最大的系統(tǒng)拓樸。客戶機(jī)1 410和客戶機(jī)2 412訪問(wèn)在 如上所述主服務(wù)器(數(shù)據(jù)服務(wù)器)127a和復(fù)制服務(wù)器127b, 127c上 的數(shù)據(jù)??蛻魴C(jī)1和客戶機(jī)2執(zhí)行的數(shù)據(jù)訪問(wèn)通過(guò)客戶機(jī)服務(wù)器123 實(shí)現(xiàn)??蛻魴C(jī)服務(wù)器123包括工作負(fù)載管理器124。工作負(fù)載管理器 124和客戶機(jī)服務(wù)器123在操作上類似于對(duì)針對(duì)復(fù)制服務(wù)器的只讀數(shù) 據(jù)請(qǐng)求進(jìn)行工作負(fù)載管理的現(xiàn)有技術(shù)工作負(fù)載管理技術(shù)。與現(xiàn)有技術(shù) 相比,優(yōu)選實(shí)施例的工作管理器124使用過(guò)時(shí)數(shù)據(jù)標(biāo)記列表125,128a, 128b, 128c,對(duì)針對(duì)復(fù)制服務(wù)器的通常讀出數(shù)據(jù)請(qǐng)求進(jìn)行工作負(fù)載管 理,如此處所述。過(guò)時(shí)數(shù)據(jù)標(biāo)記列表128a, 128b和128c是對(duì)過(guò)時(shí)數(shù) 據(jù)標(biāo)記列表125的本地復(fù)制。過(guò)時(shí)數(shù)據(jù)標(biāo)記列表128a, 128b和128c
是更新過(guò)的,包含有時(shí)間戳,如以下所述。圖5b說(shuō)明了根據(jù)優(yōu)選實(shí)施例,用于實(shí)現(xiàn)使復(fù)制服務(wù)器的效率最 大以訪問(wèn)通常讀出數(shù)據(jù)的設(shè)備的另一拓樸。在圖5b中的系統(tǒng)以與以上 參照?qǐng)D5a所述的系統(tǒng)相似的方式操作??蛻魴C(jī)l 410和客戶機(jī)2 412 訪問(wèn)在如上所述主服務(wù)器(數(shù)據(jù)服務(wù)器1) 127a和復(fù)制服務(wù)器127b, 127c上的數(shù)據(jù)。在該系統(tǒng)中,將工作負(fù)載管理器包括在系統(tǒng)的客戶機(jī) 端,如所示包含在客戶機(jī)410, 412中。在優(yōu)選實(shí)施例中,客戶機(jī)410, 412為Java虛擬機(jī)(JVM)。客戶機(jī)1 410包含具有過(guò)時(shí)數(shù)據(jù)列表125a 的工作負(fù)載管理器124a,客戶機(jī)2 412包含具有過(guò)時(shí)數(shù)據(jù)列表125b 的工作負(fù)載管理器124b。通過(guò)后面參照?qǐng)D11所述的相應(yīng)工作負(fù)栽管 理器分別對(duì)過(guò)時(shí)數(shù)據(jù)標(biāo)記列表124a, 124b進(jìn)行更新。以此方式,如以 下所述,能夠支持來(lái)自不同機(jī)器或不同JVM的許多客戶機(jī),以便對(duì) 在復(fù)制服務(wù)器上通常讀出數(shù)據(jù)進(jìn)行工作負(fù)栽管理。圖5a和5b的兩個(gè)拓樸說(shuō)明了對(duì)于不同拓樸,如何將工作負(fù)栽管 理器設(shè)置在目標(biāo)服務(wù)器前面的一級(jí)。在多層體系結(jié)構(gòu)的優(yōu)選實(shí)施例中, 工作負(fù)載管理器處在WebSphere邊緣服務(wù)器中,以便對(duì)http服務(wù)器 請(qǐng)求進(jìn)行工作負(fù)栽管理。在另一實(shí)施例中,工作負(fù)栽管理器處在http 服務(wù)器中,以便對(duì)進(jìn)入WebSphere應(yīng)用服務(wù)器Web容器中的servlet 請(qǐng)求進(jìn)行工作負(fù)載管理。在另一實(shí)施例中,工作負(fù)載管理器處在 WebSphere應(yīng)用服務(wù)器servlet容器中,以便對(duì)針對(duì)WebSphere應(yīng)用 服務(wù)器EJB容器的請(qǐng)求進(jìn)行工作負(fù)載管理。在另一實(shí)施例中,工作負(fù) 載管理器可處在EJB容器中,以便對(duì)針對(duì)不同數(shù)據(jù)庫(kù)服務(wù)器的請(qǐng)求進(jìn) 行工作負(fù)載管理。 一個(gè)服務(wù)器可充當(dāng)另一服務(wù)器的客戶機(jī)。在如圖5b 所示客戶機(jī)模式中,例如,java客戶機(jī)或客戶客戶機(jī)即時(shí)(onthefly) 下載路由表(過(guò)時(shí)數(shù)據(jù)標(biāo)記列表)以便將請(qǐng)求引導(dǎo)到不同服務(wù)器。圖6說(shuō)明了根據(jù)優(yōu)選實(shí)施例的過(guò)時(shí)數(shù)據(jù)標(biāo)記列表422的更多細(xì) 節(jié)。過(guò)時(shí)數(shù)據(jù)標(biāo)記列表422包含過(guò)時(shí)數(shù)據(jù)標(biāo)記612的列表,其中,每 個(gè)過(guò)時(shí)數(shù)據(jù)標(biāo)記作為列表中的表項(xiàng)。在優(yōu)選實(shí)施例中,每個(gè)過(guò)時(shí)數(shù)據(jù) 標(biāo)記612具有關(guān)鍵字614以及一個(gè)或多個(gè)相應(yīng)改變時(shí)間616和復(fù)制時(shí) 間618或冷卻(cool down )周期。關(guān)鍵字614最好為存儲(chǔ)在數(shù)據(jù)服務(wù) 器上可由客戶機(jī)訪問(wèn)的數(shù)據(jù)集的索引關(guān)鍵字。該關(guān)鍵字可為用于標(biāo)識(shí) 服務(wù)器上數(shù)據(jù)的任何類型的指針或引用。每個(gè)關(guān)鍵字614的改變時(shí)間 為將數(shù)據(jù)庫(kù)中與數(shù)據(jù)關(guān)鍵字相對(duì)應(yīng)的數(shù)據(jù)進(jìn)行更新的時(shí)間。主服務(wù)器根據(jù)客戶機(jī)請(qǐng)求(插入、更新或刪除)對(duì)數(shù)據(jù)進(jìn)行更新。通過(guò)用于對(duì) 系統(tǒng)中數(shù)據(jù)更新進(jìn)行監(jiān)視的工作負(fù)載管理器的連續(xù)運(yùn)行處理,將過(guò)時(shí) 數(shù)據(jù)標(biāo)記612設(shè)置在過(guò)時(shí)數(shù)據(jù)標(biāo)記列表中。在改變時(shí)間616之后的復(fù) 制時(shí)間618內(nèi),過(guò)時(shí)數(shù)據(jù)標(biāo)記是有效的。當(dāng)過(guò)時(shí)數(shù)據(jù)標(biāo)記有效時(shí),將 過(guò)時(shí)數(shù)據(jù)標(biāo)記612設(shè)置在過(guò)時(shí)數(shù)據(jù)標(biāo)記列表中。通過(guò)以下要描述的另 一處理,從過(guò)時(shí)數(shù)據(jù)標(biāo)記列表中清除無(wú)效過(guò)時(shí)數(shù)據(jù)標(biāo)記。在過(guò)時(shí)數(shù)據(jù)標(biāo)記列表422中的復(fù)制時(shí)間618是計(jì)算的用于將數(shù)據(jù) 改變從主服務(wù)器傳到主服務(wù)器的所有各個(gè)復(fù)制所需的時(shí)間量。復(fù)制時(shí) 間618是在改變時(shí)間616之后且在統(tǒng)計(jì)上(statistically)能夠安全訪 問(wèn)在復(fù)制服務(wù)器上與各自關(guān)鍵字614相對(duì)應(yīng)的數(shù)據(jù)之前等待的時(shí)間。 復(fù)制時(shí)間618為對(duì)于1求和(sigma) 、 2求和、3求和或?qū)τ谝獜闹?服務(wù)器傳到復(fù)制服務(wù)器的一定百分率數(shù)據(jù)進(jìn)行統(tǒng)計(jì)計(jì)算的傳播時(shí)間。 在優(yōu)選實(shí)施例中,求和級(jí)別或百分率是用戶可定義的。因此,在改變 時(shí)間處開始并且在改變時(shí)間加上復(fù)制時(shí)間之前是不安全的時(shí)期,其中, 由于數(shù)據(jù)可能是過(guò)時(shí)的,從復(fù)制服務(wù)器訪問(wèn)相應(yīng)數(shù)據(jù)是不安全的。在 改變時(shí)間加上傳播時(shí)間之后和下一改變時(shí)間之前的任何時(shí)間,是客戶 機(jī)從復(fù)制服務(wù)器訪問(wèn)數(shù)據(jù)的安全時(shí)期。對(duì)于不頻繁更新的通常讀出數(shù) 據(jù)而言,存在大量安全時(shí)期。例如,如果每天對(duì)通常讀出數(shù)據(jù)更新24 次,且在數(shù)據(jù)中心之間的地理復(fù)制時(shí)間占2分鐘,則有58分鐘安全時(shí) 期用來(lái)從所有復(fù)制服務(wù)器訪問(wèn)數(shù)據(jù),僅有2分鐘的不安全時(shí)期。在不 安全時(shí)期期間,將客戶機(jī)請(qǐng)求僅路由到主服務(wù)器,以確保數(shù)據(jù)完整性 和最新。以此方式,可大大提高可伸縮性和服務(wù)器利用率,在該示例 中,超過(guò)95%?,F(xiàn)在參看圖7,此處,顯示出根據(jù)優(yōu)選實(shí)施例的方法700。方法 700表示,根據(jù)優(yōu)選實(shí)施例,用于實(shí)現(xiàn)工作負(fù)栽管理器以使用過(guò)時(shí)數(shù)
據(jù)標(biāo)記列表中的關(guān)鍵字訪問(wèn)數(shù)據(jù)庫(kù)中的數(shù)據(jù)的方法。該方法開始于工作負(fù)載管理器接收對(duì)于數(shù)據(jù)的客戶機(jī)請(qǐng)求(步驟710)。然后,從請(qǐng) 求中提取關(guān)于客戶機(jī)請(qǐng)求的數(shù)據(jù)的數(shù)據(jù)關(guān)鍵字(步驟720)。如果由 于相應(yīng)關(guān)鍵字不處在過(guò)時(shí)數(shù)據(jù)列表中從而數(shù)據(jù)不過(guò)時(shí)(步驟730=否), 則負(fù)載均衡器通過(guò)將數(shù)據(jù)請(qǐng)求路由到所有服務(wù)器(步驟750)對(duì)數(shù)據(jù) 請(qǐng)求進(jìn)行工作負(fù)栽管理,并且方法結(jié)束。如果數(shù)據(jù)是過(guò)時(shí)的(數(shù)據(jù)關(guān) 鍵字處在過(guò)時(shí)數(shù)據(jù)列表中)(步驟730=是),則將數(shù)據(jù)僅路由到主服 務(wù)器(步驟740),并且方法結(jié)束?,F(xiàn)在參看圖8,所示方法800用于根據(jù)優(yōu)選實(shí)施例創(chuàng)建和廣播過(guò) 時(shí)數(shù)據(jù)標(biāo)記列表。如圖4所示,在每個(gè)數(shù)據(jù)服務(wù)器中保持有優(yōu)選實(shí)施 例中的過(guò)時(shí)數(shù)據(jù)標(biāo)記列表,以確保當(dāng)數(shù)據(jù)有效(不過(guò)時(shí))時(shí)實(shí)現(xiàn)對(duì)復(fù) 制服務(wù)器上的數(shù)據(jù)的訪問(wèn)。在優(yōu)選實(shí)施例中,工作負(fù)載管理器對(duì)數(shù)據(jù) 訪問(wèn)進(jìn)行監(jiān)視,以更新過(guò)時(shí)數(shù)據(jù)標(biāo)記列表的內(nèi)容,然后,將更新廣播 到過(guò)時(shí)數(shù)據(jù)標(biāo)記列表的每個(gè)服務(wù)器拷貝。方法800描述用于維護(hù)過(guò)時(shí) 數(shù)據(jù)標(biāo)記列表的這個(gè)過(guò)程。工作負(fù)載管理器監(jiān)視著對(duì)數(shù)據(jù)庫(kù)的數(shù)據(jù)訪 問(wèn)(插入、刪除、更新)(步驟810)。從對(duì)數(shù)據(jù)庫(kù)的客戶機(jī)訪問(wèn)中 提取出傳播時(shí)間(步驟820)。傳播時(shí)間為用于對(duì)復(fù)制數(shù)據(jù)庫(kù)服務(wù)器 進(jìn)行更新以使這些服務(wù)器中的數(shù)據(jù)與主服務(wù)器中的數(shù)據(jù)保持最新所用 的實(shí)際時(shí)間量。傳播時(shí)間用于計(jì)算要存儲(chǔ)在過(guò)時(shí)數(shù)據(jù)標(biāo)記列表中的復(fù) 制時(shí)間(步驟830)。針對(duì)與關(guān)鍵字相對(duì)應(yīng)的數(shù)據(jù),確定復(fù)制時(shí)間和 改變時(shí)間,并更新過(guò)時(shí)數(shù)據(jù)標(biāo)記列表(步驟840)。將過(guò)時(shí)數(shù)據(jù)標(biāo)記 列表復(fù)制到主和復(fù)制服務(wù)器(步驟850)。然后,結(jié)束該方法。在優(yōu)選實(shí)施例中,使用紀(jì)元日期(epoch)或時(shí)間戳維護(hù)和協(xié)調(diào) 路由表和過(guò)時(shí)數(shù)據(jù)標(biāo)記列表。在客戶機(jī)服務(wù)器中的工作負(fù)載管理器將 反映路由表和過(guò)時(shí)數(shù)據(jù)標(biāo)記列表的狀態(tài)的時(shí)間戳,插入到向數(shù)據(jù)服務(wù) 器發(fā)送的數(shù)據(jù)請(qǐng)求中。當(dāng)客戶機(jī)接收響應(yīng)時(shí),該響應(yīng)攜帶類似時(shí)間戳。 如果該響應(yīng)時(shí)間戳是更新的,則客戶機(jī)服務(wù)器接收對(duì)路由表和過(guò)時(shí)數(shù) 據(jù)標(biāo)記列表的更新。在數(shù)據(jù)服務(wù)器端,當(dāng)接收到對(duì)數(shù)據(jù)的請(qǐng)求時(shí),將 數(shù)據(jù)請(qǐng)求的時(shí)間戳與本地路由表和過(guò)時(shí)數(shù)據(jù)標(biāo)記列表的時(shí)間戳進(jìn)行比
較。如果時(shí)間戳不匹配,則將請(qǐng)求轉(zhuǎn)發(fā)到具有更新路由表和過(guò)時(shí)數(shù)據(jù) 標(biāo)記列表的服務(wù)器,并且如果需要的話,根據(jù)數(shù)據(jù)請(qǐng)求,將路由表和過(guò)時(shí)數(shù)據(jù)標(biāo)記列表的新版本發(fā)送到客戶機(jī)服務(wù)器。下面,將參照?qǐng)D9 和IO描述這些操作。圖9說(shuō)明了在客戶端的行為,用于維護(hù)路由表和 過(guò)時(shí)數(shù)據(jù)標(biāo)記列表。圖IO表示在數(shù)據(jù)服務(wù)器端的操作?,F(xiàn)在參照?qǐng)D9,所示方法900用于根據(jù)此處的優(yōu)選實(shí)施例對(duì)服務(wù) 器路由表和過(guò)時(shí)數(shù)據(jù)標(biāo)記列表進(jìn)行更新。在客戶機(jī)服務(wù)器端的工作負(fù) 載管理器將時(shí)間戳或紀(jì)元日期插入到向數(shù)據(jù)服務(wù)器發(fā)送的數(shù)據(jù)請(qǐng)求中 (步驟910)。時(shí)間戳是過(guò)時(shí)標(biāo)記列表在服務(wù)器端的最后更新時(shí)間。 當(dāng)接收到來(lái)自數(shù)據(jù)請(qǐng)求的響應(yīng)后,工作負(fù)載管理器將響應(yīng)中的時(shí)間戳 與其本地路由表時(shí)間戳進(jìn)行比較,以確定本地路由表和過(guò)時(shí)數(shù)據(jù)標(biāo)記 列表是否是最新的(步驟930)。如果時(shí)間戳不匹配,則本地過(guò)時(shí)數(shù) 據(jù)標(biāo)記列表不是最新的(步驟930=否),則利用源自服務(wù)器的包含其 路由表和過(guò)時(shí)數(shù)據(jù)標(biāo)記列表信息的響應(yīng)對(duì)象,該服務(wù)器對(duì)其路由表和 過(guò)時(shí)數(shù)據(jù)標(biāo)記列表進(jìn)行更新(步驟940)。如果時(shí)間戳匹配,則本地 過(guò)時(shí)數(shù)據(jù)標(biāo)記列表是最新的(步驟930=是),則結(jié)束該方法?,F(xiàn)在參照?qǐng)D10,所示方法IOOO用于根據(jù)此處的優(yōu)選實(shí)施例對(duì)在 服務(wù)器上的數(shù)據(jù)請(qǐng)求進(jìn)行處理。數(shù)據(jù)服務(wù)器用服務(wù)器本地過(guò)時(shí)數(shù)據(jù)標(biāo) 記列表檢查輸入請(qǐng)求,以確保數(shù)據(jù)完整性。當(dāng)數(shù)據(jù)發(fā)生改變而該改變 沒(méi)有被分配該請(qǐng)求的工作負(fù)栽管理器即時(shí)檢測(cè)到時(shí),這就非常重要。 在此情形中,服務(wù)器會(huì)通過(guò)將其本身的過(guò)時(shí)數(shù)據(jù)標(biāo)記列表的版本與客 戶機(jī)插入的版本進(jìn)行比較,來(lái)檢測(cè)過(guò)時(shí)數(shù)據(jù),如果它們不同,則將數(shù) 據(jù)請(qǐng)求重新路由到主服務(wù)器,如參照方法1000所述。方法1000開始于數(shù)據(jù)服務(wù)器將輸入時(shí)間戳與本地路由表時(shí)間戳 進(jìn)行比較,以確定本地過(guò)時(shí)數(shù)據(jù)標(biāo)記列表是否是最新的(步驟1010 )。 如果本地過(guò)時(shí)數(shù)據(jù)標(biāo)記列表是最新的(時(shí)間戳相匹配)(步驟1020= 是),則對(duì)數(shù)據(jù)請(qǐng)求進(jìn)行本地處理(步驟1030),結(jié)束該方法。如果 本地過(guò)時(shí)數(shù)據(jù)標(biāo)記列表不是最新的(時(shí)間戳不匹配)(步驟1020=否), 且服務(wù)器為主服務(wù)器(步驟1040=是),則對(duì)數(shù)據(jù)請(qǐng)求進(jìn)行本地處理, 并在響應(yīng)流中將路由表和過(guò)時(shí)數(shù)據(jù)標(biāo)記列表的新版本發(fā)送到客戶機(jī)服 務(wù)器(步驟1050)。如果時(shí)間戳不匹配(步驟1020=否),服務(wù)器不 是主服務(wù)器(步驟1040=否),并且請(qǐng)求的數(shù)據(jù)不是在路由表和過(guò)時(shí) 數(shù)據(jù)標(biāo)記列表中的改變數(shù)據(jù)(步驟1060=否),則對(duì)數(shù)據(jù)請(qǐng)求進(jìn)行本 地處理,在響應(yīng)流中將路由表和過(guò)時(shí)數(shù)據(jù)標(biāo)記列表的新版本發(fā)送到客 戶機(jī)服務(wù)器(步驟1050)。如果時(shí)間戳不匹配(步驟1020=否),服 務(wù)器不是主服務(wù)器(步驟1040=否),并且請(qǐng)求的數(shù)據(jù)是路由表和過(guò) 時(shí)數(shù)據(jù)標(biāo)記列表中的改變數(shù)據(jù)(步驟1060=是),則將數(shù)據(jù)請(qǐng)求轉(zhuǎn)發(fā) 到主服務(wù)器(步驟1070),結(jié)束該方法。主服務(wù)器將通過(guò)該同樣方法 對(duì)請(qǐng)求進(jìn)行處理,這將導(dǎo)致在響應(yīng)流中要向客戶機(jī)服務(wù)器發(fā)送路由表 和過(guò)時(shí)數(shù)據(jù)標(biāo)記列表的新版本(步驟1050)?,F(xiàn)在參看圖11,所示方法IIOO用于根據(jù)此處優(yōu)選實(shí)施例對(duì)過(guò)時(shí) 數(shù)據(jù)標(biāo)記列表進(jìn)行處理和更新。在優(yōu)選實(shí)施例中,在主服務(wù)器上定期 運(yùn)行根據(jù)該方法的軟件,以使過(guò)時(shí)數(shù)據(jù)標(biāo)記列表保持最新。選擇在過(guò) 時(shí)數(shù)據(jù)標(biāo)記列表中下一個(gè)過(guò)時(shí)數(shù)據(jù)標(biāo)記以便進(jìn)行更新(步驟1110)。 如果經(jīng)過(guò)時(shí)間大于在過(guò)時(shí)數(shù)據(jù)標(biāo)記列表中相應(yīng)的復(fù)制時(shí)間(步驟 1120=是),則從過(guò)時(shí)數(shù)據(jù)標(biāo)記列表清除具有該關(guān)鍵字的過(guò)時(shí)數(shù)據(jù)標(biāo) 記(步驟1130)。如果經(jīng)過(guò)時(shí)間不大于在過(guò)時(shí)數(shù)據(jù)標(biāo)記列表中的相應(yīng) 復(fù)制時(shí)間(步驟1120=否),則進(jìn)行到檢查下一個(gè)數(shù)據(jù)標(biāo)記(步驟1140 )。 如果在列表中存在更多標(biāo)記(步驟1140=是),則跳到步驟1110。如 果在列表中沒(méi)有更多的標(biāo)記(步驟1140=否),則結(jié)束該方法。以上描述了用于對(duì)網(wǎng)絡(luò)服務(wù)器上通常讀出數(shù)據(jù)的訪問(wèn)進(jìn)行改善 的設(shè)備和方法。通過(guò)盡可能地在主服務(wù)器和所有復(fù)制服務(wù)器上對(duì)客戶 機(jī)請(qǐng)求進(jìn)行工作負(fù)載管理,以改善對(duì)網(wǎng)絡(luò)服務(wù)器的數(shù)據(jù)訪問(wèn)性能,從 而,優(yōu)選實(shí)施例更有效地使用復(fù)制數(shù)據(jù)服務(wù)器,以使服務(wù)器響應(yīng)時(shí)間 最短。本領(lǐng)域技術(shù)人員應(yīng)該理解,在本發(fā)明的范圍內(nèi)可進(jìn)行多種改變。 從而,盡管參照其優(yōu)選實(shí)施例具體示出和描述了本發(fā)明,本領(lǐng)域技術(shù) 人員應(yīng)該理解,在不偏離本發(fā)明精神和范圍的條件下,此處可進(jìn)行形 式和細(xì)節(jié)方面的這些以及其他改變。
權(quán)利要求
1.一種計(jì)算機(jī)設(shè)備,包括至少一個(gè)處理器;與所述至少一個(gè)處理器相連的存儲(chǔ)器;在所述存儲(chǔ)器中的客戶機(jī)服務(wù)器程序,由從客戶機(jī)接收數(shù)據(jù)請(qǐng)求的所述至少一個(gè)處理器執(zhí)行,所述客戶機(jī)服務(wù)器程序包括過(guò)時(shí)數(shù)據(jù)標(biāo)記列表,具有與在復(fù)制服務(wù)器上的過(guò)時(shí)數(shù)據(jù)相對(duì)應(yīng)的過(guò)時(shí)數(shù)據(jù)標(biāo)記;以及工作負(fù)載管理器,當(dāng)在過(guò)時(shí)數(shù)據(jù)標(biāo)記列表中存在與請(qǐng)求的數(shù)據(jù)相對(duì)應(yīng)的表項(xiàng)時(shí),其將數(shù)據(jù)請(qǐng)求僅路由到主服務(wù)器,其中,當(dāng)在過(guò)時(shí)數(shù)據(jù)標(biāo)記列表中不存在與請(qǐng)求的數(shù)據(jù)相對(duì)應(yīng)的表項(xiàng)時(shí),工作負(fù)載管理器對(duì)針對(duì)主服務(wù)器和一個(gè)或多個(gè)復(fù)制服務(wù)器的數(shù)據(jù)請(qǐng)求進(jìn)行工作負(fù)載管理。
2. 根據(jù)權(quán)利要求1的計(jì)算機(jī)設(shè)備,其中,客戶機(jī)服務(wù)器程序與 進(jìn)行數(shù)據(jù)請(qǐng)求的客戶機(jī)駐留在同 一計(jì)算機(jī)硬件上。
3. 根據(jù)權(quán)利要求1的計(jì)算機(jī)設(shè)備,還包括駐留在第二計(jì)算機(jī)設(shè) 備上的數(shù)據(jù)服務(wù)器程序,所述第二計(jì)算機(jī)設(shè)備從客戶機(jī)服務(wù)器接收數(shù) 據(jù)請(qǐng)求,其中,所述數(shù)據(jù)服務(wù)器程序還包括第二過(guò)時(shí)數(shù)據(jù)標(biāo)記列表, 所述第二過(guò)時(shí)數(shù)據(jù)標(biāo)記列表指示駐留在第二計(jì)算機(jī)系統(tǒng)上的過(guò)時(shí)數(shù) 據(jù)。
4. 根據(jù)權(quán)利要求1的計(jì)算機(jī)設(shè)備,其中,過(guò)時(shí)數(shù)據(jù)標(biāo)記包括與 過(guò)時(shí)數(shù)據(jù)相對(duì)應(yīng)的關(guān)鍵字。
5. 根據(jù)權(quán)利要求1的計(jì)算機(jī)設(shè)備,其中,過(guò)時(shí)數(shù)據(jù)標(biāo)記包括數(shù) 據(jù)改變時(shí)間和復(fù)制時(shí)間。
6. 根據(jù)權(quán)利要求5的計(jì)算機(jī)設(shè)備,其中,由工作負(fù)載管理器使 用改變時(shí)間和復(fù)制時(shí)間來(lái)確定在服務(wù)器上的數(shù)據(jù)何時(shí)變得過(guò)時(shí)。
7. 根據(jù)權(quán)利要求1的設(shè)備,其中,所述客戶機(jī)服務(wù)器為 WebSphere的一部分。
8. —種用于對(duì)通常讀出事務(wù)進(jìn)行工作負(fù)載管理的計(jì)算機(jī)方法, 所述方法包括步驟(A) 客戶機(jī)服務(wù)器從客戶機(jī)接收數(shù)據(jù)請(qǐng)求;(B) 從數(shù)據(jù)請(qǐng)求中提取關(guān)鍵字;(C) 如果與關(guān)鍵字相對(duì)應(yīng)的數(shù)據(jù)過(guò)時(shí),則將數(shù)據(jù)請(qǐng)求路由到主 服務(wù)器;以及(D) 如果與關(guān)鍵字相對(duì)應(yīng)的數(shù)據(jù)未過(guò)時(shí),則將數(shù)據(jù)請(qǐng)求路由到 復(fù)制服務(wù)器。
9. 根據(jù)權(quán)利要求8的方法,還包括步驟(E) 監(jiān)視數(shù)據(jù)的改變;(F) 提取歷史傳播時(shí)間和改變時(shí)間;(G) 由傳播時(shí)間計(jì)算復(fù)制時(shí)間;(H) 用復(fù)制時(shí)間更新過(guò)時(shí)數(shù)據(jù)標(biāo)記;以及(I) 將過(guò)時(shí)數(shù)據(jù)標(biāo)記復(fù)制到一個(gè)或多個(gè)復(fù)制數(shù)據(jù)服務(wù)器。
10. 根據(jù)權(quán)利要求8的方法,還包括步驟(J)將過(guò)時(shí)數(shù)據(jù)標(biāo)記的時(shí)間戳插入到針對(duì)數(shù)據(jù)服務(wù)器的數(shù)據(jù)請(qǐng)求中;(K)數(shù)據(jù)服務(wù)器將該時(shí)間戳與本地過(guò)時(shí)數(shù)據(jù)標(biāo)記列表的時(shí)間戳 進(jìn)行比較;以及(L )如果時(shí)間戳不匹配,則將針對(duì)數(shù)據(jù)的請(qǐng)求轉(zhuǎn)發(fā)到主服務(wù)器, 如果時(shí)間戳匹配,則在本地?cái)?shù)據(jù)服務(wù)器對(duì)針對(duì)數(shù)據(jù)的請(qǐng)求進(jìn)行處理。
11. 根據(jù)權(quán)利要求8的方法,還包括步驟(M)選擇在過(guò)時(shí)數(shù)據(jù)標(biāo)記列表中的下一個(gè)過(guò)時(shí)數(shù)據(jù)標(biāo)記; (N)通過(guò)將經(jīng)過(guò)時(shí)間與復(fù)制時(shí)間進(jìn)行比較,確定是否仍需要過(guò)時(shí)數(shù)據(jù)標(biāo)記;以及(O)如果經(jīng)過(guò)時(shí)間大于復(fù)制時(shí)間,則從過(guò)時(shí)數(shù)據(jù)標(biāo)記列表中清除過(guò)時(shí)數(shù)據(jù)標(biāo)記。
12. 根據(jù)權(quán)利要求8的方法,其中,客戶機(jī)服務(wù)器為WebSphere 的一部分。
全文摘要
本發(fā)明描述了用于對(duì)網(wǎng)絡(luò)服務(wù)器上通常讀出數(shù)據(jù)的訪問(wèn)進(jìn)行改善的設(shè)備和方法。通過(guò)盡可能地在主服務(wù)器和所有復(fù)制服務(wù)器上對(duì)客戶機(jī)請(qǐng)求進(jìn)行工作負(fù)載管理,以改善對(duì)網(wǎng)絡(luò)服務(wù)器的數(shù)據(jù)訪問(wèn)性能,從而,優(yōu)選實(shí)施例更有效地使用復(fù)制數(shù)據(jù)服務(wù)器,以使服務(wù)器響應(yīng)時(shí)間最短。在優(yōu)選實(shí)施例中,負(fù)載均衡器通過(guò)在主服務(wù)器和所有復(fù)制服務(wù)器上對(duì)客戶機(jī)請(qǐng)求進(jìn)行負(fù)載管理,為通常讀出數(shù)據(jù)事務(wù)提供最新數(shù)據(jù),同時(shí)使服務(wù)器利用率最高。在負(fù)載管理器中,通過(guò)負(fù)載均衡器對(duì)客戶機(jī)請(qǐng)求進(jìn)行管理。當(dāng)路由表(過(guò)時(shí)數(shù)據(jù)標(biāo)記列表)表示數(shù)據(jù)處于安全期間時(shí),由負(fù)載均衡器將客戶機(jī)請(qǐng)求發(fā)送到復(fù)制服務(wù)器。僅在數(shù)據(jù)更新期間,將客戶機(jī)僅引導(dǎo)至主服務(wù)器。
文檔編號(hào)H04L12/54GK101155116SQ20071010211
公開日2008年4月2日 申請(qǐng)日期2007年4月26日 優(yōu)先權(quán)日2006年6月7日
發(fā)明者沈金梅, 浩 王 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
莫力| 凤城市| 南宁市| 嘉祥县| 包头市| 尼木县| 上杭县| 武鸣县| 怀来县| 五河县| 河曲县| 蕉岭县| 定西市| 子长县| 桐乡市| 祁门县| 江北区| 平乐县| 云林县| 唐山市| 会昌县| 孝感市| 托里县| 开封市| 六安市| 彩票| 固原市| 房山区| 莲花县| 朝阳县| 习水县| 额济纳旗| 海丰县| 司法| 通化县| 金湖县| 荣昌县| 永靖县| 山西省| 南昌县| 原平市|