對通常讀出事務進行工作負載管理的設備和方法
2024-01-23 17:41:15
專利名稱:對通常讀出事務進行工作負載管理的設備和方法
技術領域:
本發明通常涉及計算機伺服器,更具體而言,涉及通過工作負栽管理有效處理計算機伺服器環境中的通常讀出(mostly read )、在使 伺服器利用率最大的同時保持數據完整性的設備和方法。
背景技術:
數據的及時可用性對計算機性能而言是至關重要的。計算機系統 通常使用通過網絡相連的伺服器向多個客戶機提供數據文件和軟體應 用程序文件。同樣的數據被複製到多個伺服器上,以實現高可用性、 系統可伸縮性和更高性能。高可用性表示,通過在多個伺服器上對數 據進行分片和複製,即便出現因升級引起的預期中斷,或因硬體或軟 件失效引起的意外中斷,也能保持可用性。在HA系統以及其他計算機系統中,將複製數據存儲在多個服務 器上,以便及時響應來自多個不同客戶機的請求。通常來講,具有分 配器的工作負載管理器用於對客戶機請求的工作負載進行管理,以便確保對伺服器的有效利用,以使伺服器的性能最大化。通常可將服務 器上存儲的數據劃分成以下四種類型中的一種1)讀出/寫入數據,2) 具有特定更新時期的通常讀出數據,3)更新時間不特定的通常讀出數 據,和4)只讀數據。如果在伺服器上存儲的數據為只讀數據,則工 作負載管理能夠簡單引導客戶機請求以訪問任何伺服器。圖2顯示出, 對於只讀事務214,客戶機210可如何訪問在任何伺服器212上的數 據。由於只讀數據在所有伺服器上都是最新的(current),能夠將對 於只讀數據的請求路由到主伺服器216以及複製伺服器218, 220。然而,如果存儲在伺服器上的數據屬於類型1, 2或3,則僅主服 務器216上的數據總是有效和最新的。對於這些其他類型的數據,例
如,讀出/寫入事務數據和通常讀出數據,在不同數據更新期間,存儲 在不同伺服器中的數據可能不同。因此,對於這些類型的數據事務222,將所有客戶機數據請求僅引向主伺服器,所有複製伺服器不用於 這樣的操作。圖3說明了工作負載管理器(未示出)將所有客戶機212 的數據請求222引導到主伺服器216。此外,圖3說明了在HA系統 中的典型情形,其中,所有訪問都是針對主伺服器的,並且以延遲方 式實現其他伺服器的複製。在客戶機訪問利用率方面而言,這些複製 伺服器是浪費的。複製伺服器僅在當主伺服器失效時才被使用,但由 於主伺服器很少失效,導致這些伺服器不能很好地利用。在現有技術中,當存儲在伺服器上的數據為通常讀出數據時,必 須使用主伺服器以確保數據是最新(不過時)的。由於多達80%的普 通資料庫包含有很少進行更新且進行大量讀出的通常讀出數據,使大 量伺服器資源被浪費,使可伸縮性和性能大大減小。由於通常讀出數 據的更新並不頻繁,當複製伺服器最新且數據不過時時,可更好地利 用複製伺服器。對於通常讀出數據,在不能更有效利用伺服器的情況 下,計算機產業仍將受到網絡伺服器的較慢響應和低效利用的影響。發明內容根據優選實施例,描述了用於有效利用複製數據伺服器,以便使 伺服器響應時間最短,而且能夠實現更大可伸縮性以支持多個並發客 戶機的設備和方法。在優選實施例中,負載均衡器通過對主伺服器和 所有複製伺服器上的客戶機請求進行負載管理,為通常讀出數據事務 提供最新數據,同時使伺服器利用率最高。在負栽管理器中,通過負 栽均衡器對客戶機請求進行管理。當路由表(過時數據標記列表)表 明數據處於安全期間時,由負載均衡器將客戶機請求發送到複製服務 器。僅在數據更新期間,才將客戶機僅引導至主伺服器。儘管此處所述優選實施例針對的是WebSphere伺服器環境,然 而此處所提出的實施例顯然包括其他網絡伺服器環境及其相關體系結 構和文件。
參照附圖,通過以下關於本發明的優選實施例的更具體的描述, 將清楚地理解本發明的上述以及其他特徵和優點。
下面,將結合附圖,描述本發明的優選實施例,其中,相同的附圖標記表示相同的元件圖l表示根據本發明優選實施例的設備的框圖;圖2表示根據現有技術由客戶機對網絡伺服器的只讀事務的框圖;圖3表示根據現有技術由客戶機對網絡伺服器的通常讀出以及讀 出/寫入事務的框圖;圖4表示根據優選實施例由客戶機對網絡伺服器的通常讀出事務 的框圖;圖5a表示根據優選實施例由多個客戶機通過單個客戶機伺服器對網絡伺服器的只讀事務的框圖;圖5b表示根據優選實施例由客戶機通過不同負栽管理器訪問網絡伺服器的只讀事務的另一框圖;圖6表示根據優選實施例的過時數據標記列表的內容的框圖;圖7表示根據優選實施例的請求流程處理方法的流程圖;圖8表示根據優選實施例用於創建和更新過時數據標記列表的方法的流程圖;圖9表示根據優選實施例,在客戶機端和伺服器端之間將路由表 和過時數據標記列表的版本進行比較的方法的流程圖;圖10表示根據優選實施例用於轉發關於最新改變數據的請求的 方法的流程圖;以及圖11表示根據優選實施例在複製時間之後清除過時數據標記列 表表項的方法的流程圖。
具體實施例方式
本發明涉及應用伺服器,具體而言,WebSphere應用伺服器用於 所示示例。下面,為不熟悉WebSphere和應用伺服器的技術人員,提 供關於背景信息的簡要概述,這將有助於幫助讀者理解本發明。2.概述在WebSphere環境中的WebSphere應用月良務器 WebSphere是IBM的軟體產品品牌,其設計用於一起工作以便 提供用於將人、系統和應用與內部和外部資源連接的動態電子商務解 決方案。軟體產品的WebSphere環境包括應用J3艮務器。WebSphere 是基於為動態電子商務而設計的基礎結構軟體(中間件)。它提供了 安全可靠的軟體包。支持WebSphere產品的技術是JavaTM。在過去 數年間,許多軟體提供商已在一組伺服器端應用編程技術方面進行合 作,其有助於構建Web可訪問、分布式、平臺中性的應用。將這些技 術一起稱為Java 2平臺企業版(J2EE )。其與Java 2標準版(J2SE ) 平臺相對應,J2SE是大多數用戶所熟悉的。J2SE通過豐富的圖形用 戶接口 (GUI)支持客戶端應用的開發。J2EE平臺構建在J2SE平臺 的頂部。J2EE由用於定義業務邏輯和訪問企業資源的應用技術組成, 所述企業資源諸如資料庫、企業資源計劃(ERP)系統、消息傳遞系 統、電子郵件伺服器等。Enterprise JavaBeans( EJB )技術是用於Java 平臺企業版(Java EE)的伺服器端組件體系結構。EJB技術允許基 於Java技術快速而簡單地開發出分布式、事務處理型、安全和便攜的 應用。2.詳細描述根據本發明的優選實施例,描述了一種設備和方法,用於有效利 用複製數據伺服器,以便使伺服器響應時間最短,以及使得能夠實現 更大可伸縮性,以便支持多個並發客戶機。此處所述優選實施例使得 能夠在所有伺服器(主伺服器和複製伺服器)上對數據請求進行有效 的工作負栽管理,同時又確保數據完整性和數據最新。參看圖1,計算機系統100為根據本發明優選實施例的設備的一
種合適的實現。計算機系統100為IBM eSever iSeries計算機系統。 然而,本領域技術人員應該理解,本發明的機制和設備同樣應用於任 何計算機系統,而與該計算機系統是否為複雜的多用戶計算設備,單 用戶工作站,或嵌入控制系統無關。如圖1所示,計算機系統100包 括處理器110,主存儲器120、大容量存儲設備接口 130、顯示器接口 140和網絡接口 150。這些系統部件利用系統總線160進行互連。大容 量存儲設備接口 130用於將大容量存儲設備,例如直接訪問存儲設備 155,與計算機系統100相連。 一種特殊類型的直接訪問存儲設備155 為可讀和可寫CDRW驅動器,它可將數據存儲到CDRW195,以及 從CD RW 195讀出數據。根據優選實施例的主存儲器120包含數據121、作業系統122、 客戶機伺服器123和數據伺服器127。數據121表示用作為對計算機 系統IOO中任何程序的輸入以及來自它的輸出的任何數據。作業系統 122為在業界熟知為i5/OS的多任務作業系統;不過,本領域技術人 員應該理解,本發明的精神和範圍並不局限在任何一種作業系統。客 戶機伺服器123和數據伺服器127為在許多方面與本領域所熟知的系 統類似的軟體系統,不過也有本領域不知道的附加特徵。客戶機服務 器123包括工作負載管理器124,用於如以下所述對關於數據的客戶 機請求進行管理。在優選實施例中,數據伺服器123包括與路由表126 結合使用的過時數據標記列表125。數據伺服器127還包括與路由表 129結合使用的過時數據標記列表128。下面,將進一步描述優選實施 例的這些部分。計算機系統IOO使用眾所周知的虛擬編址機制,其允許計算機系 統100的程序的行為如同它們僅訪問大型、單個存儲實體而不是訪問 多個更小存儲實體(例如,主存儲器120和DASD設備155 )那樣。 因此,儘管將數據121、作業系統122、客戶機伺服器123和數據服務 器127顯示為駐留在主存儲器120中,本領域技術人員應該理解,並 沒有必要在主存儲器120中同時將這些項都完全包含在內。實際上, 客戶機伺服器123和數據伺服器127最有可能如以下所述駐留在不同 計算機系統中。還應注意,此處術語"存儲器"通常用來指計算機系統100的全部虛擬存儲器,並可包括與計算機系統100相連的其他計算機系統的虛擬存儲器。處理器110可由一個或多個微處理器和/或集成電路構成。處理 器110執行在主存儲器120中存儲的程序指令。主存儲器120存儲有 處理器110可訪問的程序和數據。當計算機系統100啟動時,處理器 110最初執行構成作業系統122的程序指令。作業系統122是對計算 機系統100的資源進行管理的高級程序。這些資源的其中一些是處理 器110、主存儲器120、大容量存儲設備接口 130、顯示器接口 140、 網絡接口 150和系統總線160。儘管將計算機系統IOO顯示為包含單個處理器和單個系統總線, 本領域技術人員應該理解,可使用具有多個處理器和/或多個總線的計 算機系統實現本發明。此外,在優選實施例中使用的接口均包括單獨 的、完全編程的微處理器,用於從處理器IIO分擔計算密集型處理。 然而,本領域技術人員應該理解,本發明同樣可應用於僅使用1/0適 配器以執行類似功能的計算機系統。顯示器接口 140用於直接將一個或多個顯示器165與計算機系統 100相連。可以為非智能(即,啞)終端或完全可編程工作站的這些 顯示器165被用於使系統管理員和用戶能夠與計算機系統100進行通 信。然而,注意,儘管設置了顯示器接口 140以支持與一個或多個顯 示器165的通信,但計算機系統100並非必須需要顯示器165,這是 因為所有與用戶的必需交互以及其他處理可通過網絡接口 150實現。網絡接口 150用於在網絡170上將其他計算機系統和/或工作站 (例如,圖1所示175)與計算機系統IOO相連。不管計算機系統IOO 與其他計算機系統和/或工作站將如何連接,同樣可應用本發明,這與 是否使用目前模擬和/或數位技術或通過某些未來聯網機制來實現網 絡連接170無關。此外,可使用許多不同網絡協議實現網絡。這些協 議是允許計算機在網絡170上進行通信的專用電腦程式。TCP/IP(傳 輸控制協議/網際協議)是合適網絡協議的示例。
這裡,重要的是要注意,儘管在完全功能計算機系統的場境中描 述了以及將繼續如此描述本發明,然而本領域技術人員應該理解,本 發明能夠作為程序產品以各種形式發布,而且,本發明的應用同樣與 實際執行發布的計算機可讀介質無關。適宜的計算機可讀介質的示例包括可記錄型介質,例如,軟盤和CDRW(例如,圖1所示195), 傳輸類型介質,例如,數字和模擬通信鏈路。注意,優選的計算機可 讀介質是有形的。此外,重要的是要指出,在計算機系統100內存在網絡接口 150 表明計算機系統100可與網絡170上的一個或多個其他計算機系統或 工作站進行協同處理。當然,這進而表明,所示在主存儲器120中的 程序和數據無需都要駐留在計算機系統IOO上。例如,所示在主存儲 器120中的一個或多個部分可駐留在另一系統上,以及與駐留在計算 機系統IOO上的一個或多個對象或程序進行協同處理。該協同處理可 使用諸如遠程過程調用(RPC)之類眾所周知的客戶機伺服器機制中 的一種來實現。根據優選實施例,描述了用於有效利用複製數據伺服器以便使服 務器響應時間最小的設備和方法。此處所述優選實施例使得能夠在主 和複製伺服器上對數據請求進行有效工作負載管理,同時又確保數據 完整性和數據最新。圖4表示根據優選實施例對客戶機請求進行引導 以便更有效利用複製數據伺服器的計算機網絡系統400。客戶機計算 機410, 412能夠訪問最新數據以便進行通常讀出數據事務,同時通過 監視在伺服器上數據何時最新或過時,在主伺服器和所有複製伺服器 上對客戶機請求進行工作負栽管理,以使伺服器利用率最高。當複製伺服器上的數據過時時,僅從主伺服器416為數據請求提供所請求的 數據(通常讀出事務414)。在複製伺服器上的通常讀出類型數據在 更新和複製期間是過時的。當在複製伺服器上的數據為過時時,如圖 4實線所示,通常讀出事務414僅被引向主伺服器。在其他時間,當 未進行更新從而在其他伺服器上複製的數據是最新數據時,在所有服 務器416, 418和420上對數據請求進行工作負栽管理,如來自客戶機 410, 412的虛線所示。在優選實施例中,伺服器416, 418和420均具有過時數據標記 列表422, 423, 424,其對應於圖1的數據伺服器124中所示的過時 數據標記列表。過時數據標記列表422, 423, 424指示哪些數據是過 時或非最新的。然後,系統能夠確定何時僅對主伺服器416進行訪問 或何時可按如上所述方式在所有伺服器上對最新數據進行工作負載管 理。在列表422, 423, 424中的過時數據標記類似於用於計算機存儲 器緩存中的髒位(dirty bit)。過時數據標記列表與路由表結合使用, 以便確定在何處訪問數據。可將過時數據標記列表視為路由表的擴展。 路由表包含有具有數據的所有端點的列表,包括主伺服器和複製服務 器。路由表由工作負栽管理器結合過時數據列表一起使用,以確定在 何處訪問數據。當對於數據的請求由工作負載管理器進行處理時,對 過時數據標記列表進行檢查,以查看被請求的數據是否具有過時數據 列表中的表項。在過時數據標記列表422中對過時的或在複製伺服器 中正處在更新處理中的任何數據進行標記,使得請求該數據的任何客 戶機被路由到主伺服器,以確保數據完整性。在優選實施例中,對於 與過時數據相關聯的每個表項,過時數據標記列表都具有關鍵字,如 以下所述。圖5a說明了根據優選實施例,用於實現如圖4所述功能以使復 制月良務器的效率最大的系統拓樸。客戶機1 410和客戶機2 412訪問在 如上所述主伺服器(數據伺服器)127a和複製伺服器127b, 127c上 的數據。客戶機1和客戶機2執行的數據訪問通過客戶機伺服器123 實現。客戶機伺服器123包括工作負載管理器124。工作負載管理器 124和客戶機伺服器123在操作上類似於對針對複製伺服器的只讀數 據請求進行工作負載管理的現有技術工作負載管理技術。與現有技術 相比,優選實施例的工作管理器124使用過時數據標記列表125,128a, 128b, 128c,對針對複製伺服器的通常讀出數據請求進行工作負載管 理,如此處所述。過時數據標記列表128a, 128b和128c是對過時數 據標記列表125的本地複製。過時數據標記列表128a, 128b和128c
是更新過的,包含有時間戳,如以下所述。圖5b說明了根據優選實施例,用於實現使複製伺服器的效率最 大以訪問通常讀出數據的設備的另一拓樸。在圖5b中的系統以與以上 參照圖5a所述的系統相似的方式操作。客戶機l 410和客戶機2 412 訪問在如上所述主伺服器(數據伺服器1) 127a和複製伺服器127b, 127c上的數據。在該系統中,將工作負載管理器包括在系統的客戶機 端,如所示包含在客戶機410, 412中。在優選實施例中,客戶機410, 412為Java虛擬機(JVM)。客戶機1 410包含具有過時數據列表125a 的工作負載管理器124a,客戶機2 412包含具有過時數據列表125b 的工作負載管理器124b。通過後面參照圖11所述的相應工作負栽管 理器分別對過時數據標記列表124a, 124b進行更新。以此方式,如以 下所述,能夠支持來自不同機器或不同JVM的許多客戶機,以便對 在複製伺服器上通常讀出數據進行工作負栽管理。圖5a和5b的兩個拓樸說明了對於不同拓樸,如何將工作負栽管 理器設置在目標伺服器前面的一級。在多層體系結構的優選實施例中, 工作負載管理器處在WebSphere邊緣伺服器中,以便對http伺服器 請求進行工作負栽管理。在另一實施例中,工作負栽管理器處在http 伺服器中,以便對進入WebSphere應用伺服器Web容器中的servlet 請求進行工作負載管理。在另一實施例中,工作負載管理器處在 WebSphere應用伺服器servlet容器中,以便對針對WebSphere應用 伺服器EJB容器的請求進行工作負載管理。在另一實施例中,工作負 載管理器可處在EJB容器中,以便對針對不同資料庫伺服器的請求進 行工作負載管理。 一個伺服器可充當另一伺服器的客戶機。在如圖5b 所示客戶機模式中,例如,java客戶機或客戶客戶機即時(onthefly) 下載路由表(過時數據標記列表)以便將請求引導到不同伺服器。圖6說明了根據優選實施例的過時數據標記列表422的更多細 節。過時數據標記列表422包含過時數據標記612的列表,其中,每 個過時數據標記作為列表中的表項。在優選實施例中,每個過時數據 標記612具有關鍵字614以及一個或多個相應改變時間616和複製時 間618或冷卻(cool down )周期。關鍵字614最好為存儲在數據服務 器上可由客戶機訪問的數據集的索引關鍵字。該關鍵字可為用於標識 伺服器上數據的任何類型的指針或引用。每個關鍵字614的改變時間 為將資料庫中與數據關鍵字相對應的數據進行更新的時間。主伺服器根據客戶機請求(插入、更新或刪除)對數據進行更新。通過用於對 系統中數據更新進行監視的工作負載管理器的連續運行處理,將過時 數據標記612設置在過時數據標記列表中。在改變時間616之後的復 制時間618內,過時數據標記是有效的。當過時數據標記有效時,將 過時數據標記612設置在過時數據標記列表中。通過以下要描述的另 一處理,從過時數據標記列表中清除無效過時數據標記。在過時數據標記列表422中的複製時間618是計算的用於將數據 改變從主伺服器傳到主伺服器的所有各個複製所需的時間量。複製時 間618是在改變時間616之後且在統計上(statistically)能夠安全訪 問在複製伺服器上與各自關鍵字614相對應的數據之前等待的時間。 複製時間618為對於1求和(sigma) 、 2求和、3求和或對於要從主 伺服器傳到複製伺服器的一定百分率數據進行統計計算的傳播時間。 在優選實施例中,求和級別或百分率是用戶可定義的。因此,在改變 時間處開始並且在改變時間加上複製時間之前是不安全的時期,其中, 由於數據可能是過時的,從複製伺服器訪問相應數據是不安全的。在 改變時間加上傳播時間之後和下一改變時間之前的任何時間,是客戶 機從複製伺服器訪問數據的安全時期。對於不頻繁更新的通常讀出數 據而言,存在大量安全時期。例如,如果每天對通常讀出數據更新24 次,且在數據中心之間的地理複製時間佔2分鐘,則有58分鐘安全時 期用來從所有複製伺服器訪問數據,僅有2分鐘的不安全時期。在不 安全時期期間,將客戶機請求僅路由到主伺服器,以確保數據完整性 和最新。以此方式,可大大提高可伸縮性和伺服器利用率,在該示例 中,超過95%。現在參看圖7,此處,顯示出根據優選實施例的方法700。方法 700表示,根據優選實施例,用於實現工作負栽管理器以使用過時數
據標記列表中的關鍵字訪問資料庫中的數據的方法。該方法開始於工作負載管理器接收對於數據的客戶機請求(步驟710)。然後,從請 求中提取關於客戶機請求的數據的數據關鍵字(步驟720)。如果由 於相應關鍵字不處在過時數據列表中從而數據不過時(步驟730=否), 則負載均衡器通過將數據請求路由到所有伺服器(步驟750)對數據 請求進行工作負栽管理,並且方法結束。如果數據是過時的(數據關 鍵字處在過時數據列表中)(步驟730=是),則將數據僅路由到主服 務器(步驟740),並且方法結束。現在參看圖8,所示方法800用於根據優選實施例創建和廣播過 時數據標記列表。如圖4所示,在每個數據伺服器中保持有優選實施 例中的過時數據標記列表,以確保當數據有效(不過時)時實現對復 制伺服器上的數據的訪問。在優選實施例中,工作負載管理器對數據 訪問進行監視,以更新過時數據標記列表的內容,然後,將更新廣播 到過時數據標記列表的每個伺服器拷貝。方法800描述用於維護過時 數據標記列表的這個過程。工作負載管理器監視著對資料庫的數據訪 問(插入、刪除、更新)(步驟810)。從對資料庫的客戶機訪問中 提取出傳播時間(步驟820)。傳播時間為用於對複製資料庫伺服器 進行更新以使這些伺服器中的數據與主伺服器中的數據保持最新所用 的實際時間量。傳播時間用於計算要存儲在過時數據標記列表中的復 制時間(步驟830)。針對與關鍵字相對應的數據,確定複製時間和 改變時間,並更新過時數據標記列表(步驟840)。將過時數據標記 列表複製到主和複製伺服器(步驟850)。然後,結束該方法。在優選實施例中,使用紀元日期(epoch)或時間戳維護和協調 路由表和過時數據標記列表。在客戶機伺服器中的工作負載管理器將 反映路由表和過時數據標記列表的狀態的時間戳,插入到向數據服務 器發送的數據請求中。當客戶機接收響應時,該響應攜帶類似時間戳。 如果該響應時間戳是更新的,則客戶機伺服器接收對路由表和過時數 據標記列表的更新。在數據伺服器端,當接收到對數據的請求時,將 數據請求的時間戳與本地路由表和過時數據標記列表的時間戳進行比
較。如果時間戳不匹配,則將請求轉發到具有更新路由表和過時數據 標記列表的伺服器,並且如果需要的話,根據數據請求,將路由表和過時數據標記列表的新版本發送到客戶機伺服器。下面,將參照圖9 和IO描述這些操作。圖9說明了在客戶端的行為,用於維護路由表和 過時數據標記列表。圖IO表示在數據伺服器端的操作。現在參照圖9,所示方法900用於根據此處的優選實施例對服務 器路由表和過時數據標記列表進行更新。在客戶機伺服器端的工作負 載管理器將時間戳或紀元日期插入到向數據伺服器發送的數據請求中 (步驟910)。時間戳是過時標記列表在伺服器端的最後更新時間。 當接收到來自數據請求的響應後,工作負載管理器將響應中的時間戳 與其本地路由表時間戳進行比較,以確定本地路由表和過時數據標記 列表是否是最新的(步驟930)。如果時間戳不匹配,則本地過時數 據標記列表不是最新的(步驟930=否),則利用源自伺服器的包含其 路由表和過時數據標記列表信息的響應對象,該伺服器對其路由表和 過時數據標記列表進行更新(步驟940)。如果時間戳匹配,則本地 過時數據標記列表是最新的(步驟930=是),則結束該方法。現在參照圖10,所示方法IOOO用於根據此處的優選實施例對在 伺服器上的數據請求進行處理。數據伺服器用伺服器本地過時數據標 記列表檢查輸入請求,以確保數據完整性。當數據發生改變而該改變 沒有被分配該請求的工作負栽管理器即時檢測到時,這就非常重要。 在此情形中,伺服器會通過將其本身的過時數據標記列表的版本與客 戶機插入的版本進行比較,來檢測過時數據,如果它們不同,則將數 據請求重新路由到主伺服器,如參照方法1000所述。方法1000開始於數據伺服器將輸入時間戳與本地路由表時間戳 進行比較,以確定本地過時數據標記列表是否是最新的(步驟1010 )。 如果本地過時數據標記列表是最新的(時間戳相匹配)(步驟1020= 是),則對數據請求進行本地處理(步驟1030),結束該方法。如果 本地過時數據標記列表不是最新的(時間戳不匹配)(步驟1020=否), 且伺服器為主伺服器(步驟1040=是),則對數據請求進行本地處理, 並在響應流中將路由表和過時數據標記列表的新版本發送到客戶機服 務器(步驟1050)。如果時間戳不匹配(步驟1020=否),伺服器不 是主伺服器(步驟1040=否),並且請求的數據不是在路由表和過時 數據標記列表中的改變數據(步驟1060=否),則對數據請求進行本 地處理,在響應流中將路由表和過時數據標記列表的新版本發送到客 戶機伺服器(步驟1050)。如果時間戳不匹配(步驟1020=否),服 務器不是主伺服器(步驟1040=否),並且請求的數據是路由表和過 時數據標記列表中的改變數據(步驟1060=是),則將數據請求轉發 到主伺服器(步驟1070),結束該方法。主伺服器將通過該同樣方法 對請求進行處理,這將導致在響應流中要向客戶機伺服器發送路由表 和過時數據標記列表的新版本(步驟1050)。現在參看圖11,所示方法IIOO用於根據此處優選實施例對過時 數據標記列表進行處理和更新。在優選實施例中,在主伺服器上定期 運行根據該方法的軟體,以使過時數據標記列表保持最新。選擇在過 時數據標記列表中下一個過時數據標記以便進行更新(步驟1110)。 如果經過時間大於在過時數據標記列表中相應的複製時間(步驟 1120=是),則從過時數據標記列表清除具有該關鍵字的過時數據標 記(步驟1130)。如果經過時間不大於在過時數據標記列表中的相應 複製時間(步驟1120=否),則進行到檢查下一個數據標記(步驟1140 )。 如果在列表中存在更多標記(步驟1140=是),則跳到步驟1110。如 果在列表中沒有更多的標記(步驟1140=否),則結束該方法。以上描述了用於對網絡伺服器上通常讀出數據的訪問進行改善 的設備和方法。通過儘可能地在主伺服器和所有複製伺服器上對客戶 機請求進行工作負載管理,以改善對網絡伺服器的數據訪問性能,從 而,優選實施例更有效地使用複製數據伺服器,以使伺服器響應時間 最短。本領域技術人員應該理解,在本發明的範圍內可進行多種改變。 從而,儘管參照其優選實施例具體示出和描述了本發明,本領域技術 人員應該理解,在不偏離本發明精神和範圍的條件下,此處可進行形 式和細節方面的這些以及其他改變。
權利要求
1.一種計算機設備,包括至少一個處理器;與所述至少一個處理器相連的存儲器;在所述存儲器中的客戶機伺服器程序,由從客戶機接收數據請求的所述至少一個處理器執行,所述客戶機伺服器程序包括過時數據標記列表,具有與在複製伺服器上的過時數據相對應的過時數據標記;以及工作負載管理器,當在過時數據標記列表中存在與請求的數據相對應的表項時,其將數據請求僅路由到主伺服器,其中,當在過時數據標記列表中不存在與請求的數據相對應的表項時,工作負載管理器對針對主伺服器和一個或多個複製伺服器的數據請求進行工作負載管理。
2. 根據權利要求1的計算機設備,其中,客戶機伺服器程序與 進行數據請求的客戶機駐留在同 一計算機硬體上。
3. 根據權利要求1的計算機設備,還包括駐留在第二計算機設 備上的數據伺服器程序,所述第二計算機設備從客戶機伺服器接收數 據請求,其中,所述數據伺服器程序還包括第二過時數據標記列表, 所述第二過時數據標記列表指示駐留在第二計算機系統上的過時數 據。
4. 根據權利要求1的計算機設備,其中,過時數據標記包括與 過時數據相對應的關鍵字。
5. 根據權利要求1的計算機設備,其中,過時數據標記包括數 據改變時間和複製時間。
6. 根據權利要求5的計算機設備,其中,由工作負載管理器使 用改變時間和複製時間來確定在伺服器上的數據何時變得過時。
7. 根據權利要求1的設備,其中,所述客戶機伺服器為 WebSphere的一部分。
8. —種用於對通常讀出事務進行工作負載管理的計算機方法, 所述方法包括步驟(A) 客戶機伺服器從客戶機接收數據請求;(B) 從數據請求中提取關鍵字;(C) 如果與關鍵字相對應的數據過時,則將數據請求路由到主 伺服器;以及(D) 如果與關鍵字相對應的數據未過時,則將數據請求路由到 複製伺服器。
9. 根據權利要求8的方法,還包括步驟(E) 監視數據的改變;(F) 提取歷史傳播時間和改變時間;(G) 由傳播時間計算複製時間;(H) 用複製時間更新過時數據標記;以及(I) 將過時數據標記複製到一個或多個複製數據伺服器。
10. 根據權利要求8的方法,還包括步驟(J)將過時數據標記的時間戳插入到針對數據伺服器的數據請求中;(K)數據伺服器將該時間戳與本地過時數據標記列表的時間戳 進行比較;以及(L )如果時間戳不匹配,則將針對數據的請求轉發到主伺服器, 如果時間戳匹配,則在本地數據伺服器對針對數據的請求進行處理。
11. 根據權利要求8的方法,還包括步驟(M)選擇在過時數據標記列表中的下一個過時數據標記; (N)通過將經過時間與複製時間進行比較,確定是否仍需要過時數據標記;以及(O)如果經過時間大於複製時間,則從過時數據標記列表中清除過時數據標記。
12. 根據權利要求8的方法,其中,客戶機伺服器為WebSphere 的一部分。
全文摘要
本發明描述了用於對網絡伺服器上通常讀出數據的訪問進行改善的設備和方法。通過儘可能地在主伺服器和所有複製伺服器上對客戶機請求進行工作負載管理,以改善對網絡伺服器的數據訪問性能,從而,優選實施例更有效地使用複製數據伺服器,以使伺服器響應時間最短。在優選實施例中,負載均衡器通過在主伺服器和所有複製伺服器上對客戶機請求進行負載管理,為通常讀出數據事務提供最新數據,同時使伺服器利用率最高。在負載管理器中,通過負載均衡器對客戶機請求進行管理。當路由表(過時數據標記列表)表示數據處於安全期間時,由負載均衡器將客戶機請求發送到複製伺服器。僅在數據更新期間,將客戶機僅引導至主伺服器。
文檔編號H04L12/54GK101155116SQ20071010211
公開日2008年4月2日 申請日期2007年4月26日 優先權日2006年6月7日
發明者沈金梅, 浩 王 申請人:國際商業機器公司