專利名稱:對(duì)服務(wù)器進(jìn)行負(fù)荷管理的數(shù)據(jù)處理設(shè)備、方法和程序產(chǎn)品的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及的領(lǐng)域是計(jì)算機(jī)系統(tǒng),更具體地說(shuō)是客戶機(jī)/服務(wù)器(亦稱“分布式”)計(jì)算系統(tǒng),其中的一個(gè)計(jì)算設(shè)備(“客戶機(jī)”)請(qǐng)求另一個(gè)計(jì)算設(shè)備(“服務(wù)器”)執(zhí)行該客戶機(jī)的部分工作。
過(guò)去幾年中,客戶機(jī)/服務(wù)器計(jì)算在信息技術(shù)世界已經(jīng)變得越來(lái)越重要。這種分布式計(jì)算允許一臺(tái)計(jì)算機(jī)將其某些工作委托給另一臺(tái)例如可能更適合執(zhí)行該工作的計(jì)算機(jī)去執(zhí)行。例如,服務(wù)器可能是一臺(tái)高性能計(jì)算機(jī),運(yùn)行著管理大量數(shù)據(jù)的存儲(chǔ)的數(shù)據(jù)庫(kù)程序,而客戶機(jī)只是一臺(tái)從數(shù)據(jù)庫(kù)請(qǐng)求數(shù)據(jù)以用于其一個(gè)本地程序的桌面計(jì)算機(jī)(PC)。
報(bào)文排隊(duì)(亦稱報(bào)文代理)數(shù)據(jù)處理技術(shù)在當(dāng)今的客戶機(jī)/服務(wù)器計(jì)算機(jī)網(wǎng)絡(luò)中已經(jīng)越來(lái)越流行。這項(xiàng)技術(shù)允許客戶機(jī)計(jì)算機(jī)系統(tǒng)與服務(wù)器計(jì)算機(jī)系統(tǒng)進(jìn)行通訊,即使這兩個(gè)系統(tǒng)之間在操作系統(tǒng)、數(shù)據(jù)格式和通訊協(xié)議方面存在很大差別。此外,由于這項(xiàng)技術(shù)的異步性質(zhì),在客戶機(jī)能向服務(wù)器發(fā)送報(bào)文,服務(wù)器可以將報(bào)文存儲(chǔ)在一個(gè)隊(duì)列中,在晚些時(shí)候?qū)?bào)文作出處理與響應(yīng)。這與要求客戶機(jī)和服務(wù)器實(shí)時(shí)對(duì)話的同步客戶機(jī)/服務(wù)器模型(例如,客戶機(jī)要等待服務(wù)器響應(yīng)后才能執(zhí)行其它任務(wù))有相當(dāng)?shù)牟煌?br>
關(guān)于報(bào)文排隊(duì)和市場(chǎng)上的報(bào)文排隊(duì)產(chǎn)品的介紹文章有《使用MQI的報(bào)文發(fā)送和排隊(duì)》(“Messaging and Queuing Using the MQI”,作者B.Blakeley、H.Harris&R.Lewis、McGraw-Hill,1994年),以及IBM公司的下列出版物《報(bào)文發(fā)送和排隊(duì)介紹》(“An Introduction toMessaging and Queuing”,IBM文件號(hào)GC33-0805-00)和《MQSeries-報(bào)文排隊(duì)接口技術(shù)參考》(“MQSeries-Message Queue InterfaceTechnical Reference”,IBM文件號(hào)SG33-0850-01)。IBM和MQSeries是IBM公司的商標(biāo)。IBM公司的MQSeries報(bào)文發(fā)送軟件產(chǎn)品按照一個(gè)報(bào)文發(fā)送協(xié)議提供事務(wù)處理報(bào)文發(fā)送支持、邏輯工作單元內(nèi)的同步報(bào)文,該協(xié)議保證,即使發(fā)生系統(tǒng)或通訊故障,也只進(jìn)行一次并且僅僅一次報(bào)文投遞。MQSeries產(chǎn)品提供投遞保障的方法是,在確定接收系統(tǒng)安全地存儲(chǔ)了報(bào)文之前,不將發(fā)送系統(tǒng)中存儲(chǔ)的該報(bào)文最終刪除,并且還使用復(fù)雜的恢復(fù)手段。在確認(rèn)存儲(chǔ)成功時(shí)履行報(bào)文傳輸之前,從發(fā)送系統(tǒng)的存儲(chǔ)器中刪除該報(bào)文和將該報(bào)文插入接收系統(tǒng)的存儲(chǔ)器這兩種操作都處于疑問(wèn)狀態(tài),并能在發(fā)生故障時(shí)原子地放棄。對(duì)這種報(bào)文傳送協(xié)議和相關(guān)的事務(wù)處理概念及恢復(fù)手段的描述,見于國(guó)際專利申請(qǐng)WO 95/10805和美國(guó)專利5465328,它們被引用為本文的參考文獻(xiàn)。
在異步客戶機(jī)/服務(wù)器網(wǎng)絡(luò)例如使用報(bào)文和排隊(duì)軟件體系結(jié)構(gòu)的網(wǎng)絡(luò)中,越來(lái)越普遍地提供一組服務(wù)器,其中組中的每個(gè)服務(wù)器都能滿足客戶機(jī)的請(qǐng)求。這樣,客戶機(jī)的請(qǐng)求就能得到更迅速的服務(wù),這是因?yàn)椋?dāng)某個(gè)服務(wù)器忙時(shí),請(qǐng)求能被傳遞到另一個(gè)服務(wù)器。一般來(lái)說(shuō),位于客戶機(jī)側(cè)的工作負(fù)荷管理單元負(fù)責(zé)決定應(yīng)當(dāng)指定哪個(gè)服務(wù)器來(lái)處理特定請(qǐng)求,它采用每個(gè)服務(wù)器的可用性數(shù)據(jù)作為決定的依據(jù)。如果所有這種可用性數(shù)據(jù)一時(shí)還得不到,工作負(fù)荷管理單元就等待,直到能收到這種數(shù)據(jù),然后用這組完整數(shù)據(jù)來(lái)決定選擇哪個(gè)服務(wù)器。然后,客戶機(jī)請(qǐng)求與附加的工作負(fù)荷管理單元選擇的服務(wù)器的指示,被放置到一個(gè)傳輸隊(duì)列,等待傳輸?shù)竭x定服務(wù)器??蛻魴C(jī)也將有關(guān)該排隊(duì)請(qǐng)求的某些信息、包括選定服務(wù)器的指示信息,寫入本地存儲(chǔ)器,以便如果發(fā)生傳輸問(wèn)題,服務(wù)器未收到傳送的客戶機(jī)請(qǐng)求時(shí),該請(qǐng)求能再次從容戶機(jī)向服務(wù)器發(fā)送。
這個(gè)領(lǐng)域當(dāng)前的技術(shù)狀態(tài)的缺點(diǎn)在于工作負(fù)荷管理單元必須用復(fù)雜的軟件部分來(lái)連續(xù)地檢查每個(gè)服務(wù)器的服務(wù)器可用性數(shù)據(jù)的狀態(tài),以判定什么時(shí)候完整地從服務(wù)器收到所有這種數(shù)據(jù)。這種復(fù)雜的軟件編程大大地增加了總體系統(tǒng)的附加費(fèi)用。
此外,如果尚未收到所有的服務(wù)器可用性數(shù)據(jù),就不能向服務(wù)器組傳送請(qǐng)求,這樣就在客戶機(jī)側(cè)暫停數(shù)據(jù)傳送過(guò)程。這一點(diǎn)非常不好,在快速傳送速度非常重要的環(huán)境中尤為如此。
本發(fā)明的第一個(gè)方面是,提供一種對(duì)異步客戶機(jī)/服務(wù)器計(jì)算系統(tǒng)中的一組服務(wù)器進(jìn)行工作負(fù)荷管理的數(shù)據(jù)處理設(shè)備,它具有一個(gè)從客戶機(jī)應(yīng)用程序接收工作請(qǐng)求的裝置;一個(gè)查詢關(guān)于服務(wù)器組的可用性數(shù)據(jù),并根據(jù)所查詢可用性數(shù)據(jù)選擇該組中特定的服務(wù)器用于滿足所接收的工作請(qǐng)求的裝置-其中,為了從該組選擇一個(gè)服務(wù)器,總是在工作請(qǐng)求被接收時(shí)的當(dāng)前狀態(tài)使用所查詢的可用性數(shù)據(jù),而不管是否已經(jīng)收到該組中每個(gè)服務(wù)器的可用性數(shù)據(jù);以及一個(gè)將所接收的工作請(qǐng)求放入傳送隊(duì)列,等待向該組中該特定服務(wù)器傳送的裝置。
該設(shè)備最好還具有一種判定在收到工作請(qǐng)求后可用性數(shù)據(jù)是否改變的裝置;一種在可用性數(shù)據(jù)發(fā)生改變時(shí)查詢改變后的可用性數(shù)據(jù)、并根據(jù)改變后的可用性數(shù)據(jù)選擇該組中某個(gè)服務(wù)器用于滿足所接收工作請(qǐng)求的裝置;及一種更新傳送隊(duì)列中工作請(qǐng)求的裝置,使得如果根據(jù)改變后的可用性數(shù)據(jù)選擇的服務(wù)器與特定的服務(wù)器不同,則將工作請(qǐng)求發(fā)送到與該特定的服務(wù)器不同的該組中的服務(wù)器。
進(jìn)一步最好是,改變后的可用性數(shù)據(jù)包括對(duì)于當(dāng)最初收到工作請(qǐng)求時(shí)沒(méi)有可用性數(shù)據(jù)的組中的服務(wù)器添加可用性數(shù)據(jù)。另一種可選方案是,改變后可用性數(shù)據(jù)包括對(duì)于當(dāng)最初收到工作請(qǐng)求時(shí)有可用性數(shù)據(jù)的組中的服務(wù)器修改可用性數(shù)據(jù)。
本發(fā)明的第二個(gè)方面是,提供一種執(zhí)行第一個(gè)方面所述工作負(fù)荷管理設(shè)備的功能的方法。
本發(fā)明的第三個(gè)方面是,提供一種計(jì)算機(jī)程序產(chǎn)品,它存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,當(dāng)在計(jì)算機(jī)上運(yùn)行時(shí),執(zhí)行第一個(gè)方面的功能。
這樣,本發(fā)明能使工作負(fù)荷管理單元軟件大大簡(jiǎn)化,這是因?yàn)闆](méi)有必要連續(xù)檢查服務(wù)器可用性數(shù)據(jù)是否全部都已收到。相反,可以使用一種簡(jiǎn)單的軟件結(jié)構(gòu),其中的所有客戶機(jī)請(qǐng)求都按同樣方式對(duì)待,即一旦某客戶機(jī)發(fā)出請(qǐng)求,就用服務(wù)器可用性數(shù)據(jù)的當(dāng)前狀態(tài)來(lái)作出決定,將請(qǐng)求發(fā)送到傳送隊(duì)列。并且,作為記錄客戶機(jī)請(qǐng)求本身的同一操作的一部分也將目的地記錄在持久存儲(chǔ)器中。
倘若在請(qǐng)求從傳送隊(duì)列發(fā)往選定服務(wù)器之前,有了新的可用性數(shù)據(jù),則可以重新選擇服務(wù)器,將排隊(duì)的請(qǐng)求更新以發(fā)往不同的服務(wù)器。然而,如果在請(qǐng)求從傳送隊(duì)列發(fā)往選定服務(wù)器之前,沒(méi)有新的可用性數(shù)據(jù),則排隊(duì)的請(qǐng)求被發(fā)往選定的服務(wù)器,而不管是否組中的每個(gè)服務(wù)器的可用性數(shù)據(jù)都有了。這樣就增加了一個(gè)優(yōu)點(diǎn),即不會(huì)因?yàn)楣ぷ髫?fù)荷管理單元不得不等待每個(gè)服務(wù)器的可用性數(shù)據(jù)都有而產(chǎn)生的傳送延遲。本發(fā)明用在剛剛收到工作請(qǐng)求時(shí)的當(dāng)時(shí)所能得到的可用性數(shù)據(jù),對(duì)應(yīng)該選擇組中的哪個(gè)服務(wù)器作出初始決定。只有在不同尋常的情況下才會(huì)出現(xiàn)新的可用性數(shù)據(jù),從而要求建立新的目的地記錄。
現(xiàn)在結(jié)合以下
本發(fā)明的一個(gè)實(shí)施例
圖1是表示本發(fā)明優(yōu)選實(shí)施例的操作所在的基本客戶機(jī)/服務(wù)器環(huán)境的框圖;圖2是表示按照本發(fā)明的優(yōu)選實(shí)施例,報(bào)文發(fā)送與排隊(duì)單元所采取步驟的流程圖;圖3是表示按照本發(fā)明的優(yōu)選實(shí)施例,報(bào)文發(fā)送與排隊(duì)單元的工作負(fù)荷管理單元所查詢的可用性數(shù)據(jù)的表。
在圖1中,客戶機(jī)數(shù)據(jù)處理設(shè)備11與一組12服務(wù)器數(shù)據(jù)處理設(shè)備(121、122、123)在通訊網(wǎng)絡(luò)13上通訊??蛻魴C(jī)11和服務(wù)器組12運(yùn)行報(bào)文發(fā)送與排隊(duì)軟件產(chǎn)品例如IBM的MQSeries,這樣,客戶機(jī)和服務(wù)器之間進(jìn)行的是異步通訊。就是說(shuō),當(dāng)客戶機(jī)向服務(wù)器發(fā)送工作請(qǐng)求時(shí),該服務(wù)器不必是可操作的。請(qǐng)求將被放入隊(duì)列,服務(wù)器可以晚些時(shí)候在服務(wù)器可操作時(shí)檢索排隊(duì)的請(qǐng)求。報(bào)文發(fā)送與排隊(duì)產(chǎn)品也執(zhí)行必要的通訊協(xié)議轉(zhuǎn)換,以便允許客戶機(jī)11與服務(wù)器組12在網(wǎng)絡(luò)13上對(duì)話。
盡管在優(yōu)選實(shí)施例中,客戶機(jī)和服務(wù)器位于由網(wǎng)絡(luò)13連接的不同的處理單元中,本發(fā)明絕非限于此種結(jié)構(gòu)??蛻魴C(jī)和服務(wù)器組可以位于相同的數(shù)據(jù)處理單元。
客戶機(jī)11含有客戶機(jī)應(yīng)用程序111和報(bào)文發(fā)送與排隊(duì)軟件系統(tǒng)112,后者包括工作負(fù)荷管理單元112a和傳送隊(duì)列112b。客戶機(jī)應(yīng)用程序111是向服務(wù)器發(fā)出工作請(qǐng)求的消費(fèi)軟件部分。一旦服務(wù)器執(zhí)行了所請(qǐng)求的工作,就會(huì)將執(zhí)行結(jié)果返回給客戶機(jī)應(yīng)用程序111。傳送隊(duì)列112b是報(bào)文發(fā)送與排隊(duì)軟件結(jié)構(gòu)的一部分,用于在將工作請(qǐng)求通過(guò)網(wǎng)絡(luò)13發(fā)送到服務(wù)器組12之前,對(duì)從客戶機(jī)應(yīng)用程序111收到的工作請(qǐng)求進(jìn)行排隊(duì)。工作負(fù)荷管理單元112a也是報(bào)文發(fā)送與排隊(duì)軟件的一部分,它是一個(gè)軟件成分,負(fù)責(zé)為每個(gè)從客戶機(jī)應(yīng)用程序111接收的工作請(qǐng)求,從服務(wù)器組12中的服務(wù)器121、122、123中選擇一個(gè)服務(wù)器。
工作負(fù)荷管理單元112a通過(guò)網(wǎng)絡(luò)13接收關(guān)于服務(wù)器組中每個(gè)服務(wù)器121、122、123的數(shù)據(jù)(以下稱作“可用性數(shù)據(jù)”)。這個(gè)數(shù)據(jù)表示各服務(wù)器當(dāng)前的可用性,即各服務(wù)器對(duì)從客戶機(jī)接收新的工作請(qǐng)求的準(zhǔn)備程度。工作負(fù)荷管理單元用這個(gè)可用性數(shù)據(jù)來(lái)決定應(yīng)選擇服務(wù)器121、122、123的哪一個(gè)來(lái)滿足特定的工作請(qǐng)求。
下面結(jié)合圖2的流程圖來(lái)說(shuō)明報(bào)文發(fā)送與排隊(duì)系統(tǒng)112的操作。
步驟21,報(bào)文發(fā)送與排隊(duì)系統(tǒng)112接收客戶機(jī)應(yīng)用程序111的一個(gè)工作請(qǐng)求。步驟22,工作負(fù)荷管理單元112a查詢數(shù)據(jù)可用性表(見圖3),以便確定組12中服務(wù)器對(duì)處理所接收工作請(qǐng)求的可用性。
圖3中,工作請(qǐng)求剛剛被接收的時(shí)間點(diǎn)稱為時(shí)間1。在時(shí)間1,可用性表表示服務(wù)器1(121)可用于接收工作請(qǐng)求(如在構(gòu)成時(shí)間1與服務(wù)器1的交點(diǎn)的框中代表“可用”的字母A所括示的)。在時(shí)間1上,可用性表指示服務(wù)器2(122)不可用于接收工作請(qǐng)求(如在構(gòu)成時(shí)間1與服務(wù)器2的交點(diǎn)的框中代表“不可用”的字母NA所指示的)。在時(shí)間1上,注意在圖3的表中對(duì)服務(wù)器3沒(méi)有項(xiàng)目,從而表示服務(wù)器3尚未向客戶機(jī)11的報(bào)文發(fā)送與排隊(duì)軟件112提供其可用性數(shù)據(jù)。
假設(shè)時(shí)間1上這一可用性數(shù)據(jù)的狀態(tài),工作負(fù)荷管理單元112a選擇(步驟23)服務(wù)器1(121)分配給這一工作請(qǐng)求,由于服務(wù)器1可用,服務(wù)器2不可用及服務(wù)器3是否可用未知。該工作請(qǐng)求然后被放入(步驟24)傳送隊(duì)列112b,并向工作請(qǐng)求加入一個(gè)控制指示,指示該工作請(qǐng)求將被發(fā)往服務(wù)器1(121)。工作請(qǐng)求于是在隊(duì)列112b中等待,直到服務(wù)器1(121)指出其已經(jīng)準(zhǔn)備好接收請(qǐng)求(服務(wù)器1可能與客戶機(jī)處于不同的時(shí)間區(qū),在時(shí)間1是不可操作的)。
在稍晚于時(shí)間1的時(shí)間2,客戶機(jī)11已經(jīng)接收到更新的服務(wù)器可用性數(shù)據(jù),這種接收是報(bào)文發(fā)送與排隊(duì)軟件112在步驟25判定的。于是,控制循環(huán)返回步驟22,工作負(fù)荷管理單元112a再次查詢可用性數(shù)據(jù),判定現(xiàn)在的情況服務(wù)器1仍然可用(在時(shí)間2所在行與服務(wù)器1所在列交叉的方框中的字母A表示“可用”);服務(wù)器2現(xiàn)在變得可用(在時(shí)間2所在行與服務(wù)器2所在列交叉的方框中的字母A表示“可用”);服務(wù)器3不可用(在時(shí)間2所在行與服務(wù)器3所在列交叉的方框中的字母NA表示“不可用”)。于是,在時(shí)間1到時(shí)間2期間內(nèi),從服務(wù)器組12向客戶機(jī)11發(fā)送了新的可用性數(shù)據(jù),服務(wù)器2的可用性發(fā)生變化,服務(wù)器3提供了可用性數(shù)據(jù),而在這之前它并沒(méi)有提供這種數(shù)據(jù)。
于是,在步驟23,工作負(fù)荷管理單元112a用這個(gè)更新的可用性數(shù)據(jù)來(lái)從三個(gè)服務(wù)器中選擇一個(gè)服務(wù)器。盡管可以使用任何工作負(fù)荷平衡方案,但是最為有效的方案是,如果有兩個(gè)服務(wù)器均可用,而其中的一個(gè)已經(jīng)在上一遍通過(guò)流程中被選定,則保留對(duì)該服務(wù)器的選擇,以免為修改在隊(duì)列112b中等待的工作請(qǐng)求而付出處理能力。這也省去了向本地存儲(chǔ)器的數(shù)據(jù)寫操作,因?yàn)闉槊總€(gè)排隊(duì)工作請(qǐng)求選定的服務(wù)器都必須在本地存儲(chǔ)器記錄,以便萬(wàn)一發(fā)生傳送故障時(shí)作恢復(fù)用。于是在這種情況下,步驟24的結(jié)果是不對(duì)該排隊(duì)工作請(qǐng)求進(jìn)行更新。
然后在晚于時(shí)間2的時(shí)間3,工作請(qǐng)求仍然在隊(duì)列112b中等待,接收到新的服務(wù)器可用性數(shù)據(jù),這種數(shù)據(jù)的接收是由報(bào)文發(fā)送與排隊(duì)軟件112在步驟25通知的。于是,控制循環(huán)返回步驟22,工作負(fù)荷管理單元112a再次查詢圖3的可用性數(shù)據(jù)表,以確定是否需要根據(jù)新的可用性數(shù)據(jù)來(lái)改變選定的服務(wù)器。如圖3所示,服務(wù)器1現(xiàn)在不可用,服務(wù)器2仍然可用,服務(wù)器3現(xiàn)在可用。于是,在步驟23,工作負(fù)荷管理單元112a選擇服務(wù)器2或服務(wù)器3。同樣可以使用任何常用的工作負(fù)荷平衡算法來(lái)決定應(yīng)選擇這兩個(gè)服務(wù)器中的哪一個(gè)。按照循環(huán)調(diào)度法,選擇服務(wù)器2,因?yàn)樗陉?duì)列中排在服務(wù)器1之后(在后一輪中,服務(wù)器3將是隊(duì)列中下一個(gè)被選擇對(duì)象)。
然后在步驟24,工作請(qǐng)求在傳送隊(duì)列112b中被更新,使得該請(qǐng)求現(xiàn)在包含的目的地指示指向服務(wù)器2而不是服務(wù)器1。這也涉及必須執(zhí)行一次對(duì)本地存儲(chǔ)器的寫操作,以提供一個(gè)必要時(shí)用于數(shù)據(jù)恢復(fù)的記錄。
在這個(gè)操作期間的某個(gè)時(shí)刻,選定服務(wù)器將從隊(duì)列112b提取工作請(qǐng)求,該請(qǐng)求將經(jīng)網(wǎng)絡(luò)13被傳送到服務(wù)器2,這樣就結(jié)束了圖2中對(duì)某特定工作請(qǐng)求的循環(huán)流程。
應(yīng)當(dāng)注意,本發(fā)明的操作所基于的基本假設(shè)是,服務(wù)器可用性數(shù)據(jù)的變化不是很頻繁,并且很少發(fā)生需要在步驟25選擇YES分支、循環(huán)返回步驟22再次查詢圖3的表的情況。這樣,在客戶機(jī)應(yīng)用程序發(fā)出請(qǐng)求后,很早就能對(duì)服務(wù)器作出初始選擇。這樣就能盡快地將工作請(qǐng)求放入傳送隊(duì)列112b,與此同時(shí)利用當(dāng)前能獲得的服務(wù)器可用性數(shù)據(jù),使得請(qǐng)求能為向服務(wù)器組傳送而得到迅速有效的處理。只有當(dāng)服務(wù)器可用性數(shù)據(jù)改變時(shí),才有必要修改對(duì)服務(wù)器的初始選擇。
權(quán)利要求
1.一種用于對(duì)異步客戶機(jī)/服務(wù)器計(jì)算系統(tǒng)中的一組服務(wù)器進(jìn)行工作負(fù)荷管理的數(shù)據(jù)處理設(shè)備,該設(shè)備的特征在于包含從客戶機(jī)應(yīng)用程序接收工作請(qǐng)求的裝置;查詢關(guān)于服務(wù)器組的可用性數(shù)據(jù),并根據(jù)所查詢的可用性數(shù)據(jù)選擇該組中特定服務(wù)器用于滿足所接收工作請(qǐng)求的裝置-其中,為了從該組選擇一個(gè)服務(wù)器,總是在工作請(qǐng)求被接收時(shí)的當(dāng)前狀態(tài)使用所查詢的可用性數(shù)據(jù),而不管是否已經(jīng)收到該組中每個(gè)服務(wù)器的可用性數(shù)據(jù);以及將所接收工作請(qǐng)求放入傳送隊(duì)列,等待向該組中該特定服務(wù)器傳送的裝置。
2.權(quán)利要求1的設(shè)備,進(jìn)一步包含判定在收到工作請(qǐng)求后可用性數(shù)據(jù)是否已經(jīng)改變的裝置;在可用性數(shù)據(jù)發(fā)生改變時(shí)查詢改變后可用性數(shù)據(jù)、并根據(jù)改變后的可用性數(shù)據(jù)選擇該組中某個(gè)服務(wù)器用于滿足所接收工作請(qǐng)求的裝置;以及更新傳送隊(duì)列中工作請(qǐng)求的裝置,使得如果根據(jù)改變后的可用性數(shù)據(jù)選擇的服務(wù)器與特定的服務(wù)器不同,則將工作請(qǐng)求發(fā)送到該組中與所述服務(wù)器不同的服務(wù)器。
3.權(quán)利要求2的設(shè)備,其中,改變后的可用性數(shù)據(jù)包括對(duì)于當(dāng)最初收到工作請(qǐng)求時(shí)沒(méi)有可用性數(shù)據(jù)的組中的服務(wù)器添加可用性數(shù)據(jù)。
4.權(quán)利要求2的設(shè)備,其中,改變后的可用性數(shù)據(jù)包括對(duì)于當(dāng)最初收到工作請(qǐng)求時(shí)有可用性數(shù)據(jù)的組中的服務(wù)器修改可用性數(shù)據(jù)。
5.一種用于對(duì)異步客戶機(jī)/服務(wù)器計(jì)算系統(tǒng)中的一組服務(wù)器進(jìn)行工作負(fù)荷管理的數(shù)據(jù)處理方法,該方法的特征在于包含下述步驟從客戶機(jī)應(yīng)用程序接收工作請(qǐng)求;查詢關(guān)于服務(wù)器組的可用性數(shù)據(jù),并根據(jù)所查詢的可用性數(shù)據(jù)選擇該組中特定服務(wù)器用于滿足所接收工作請(qǐng)求-其中,為了從該組選擇一個(gè)服務(wù)器,總是在工作請(qǐng)求被接收時(shí)的當(dāng)前狀態(tài)使用所查詢的可用性數(shù)據(jù),而不管是否已經(jīng)收到該組中每個(gè)服務(wù)器的可用性數(shù)據(jù);以及將所接收工作請(qǐng)求放入傳送隊(duì)列,等待向該組中該特定服務(wù)器傳送。
6.權(quán)利要求5的方法,進(jìn)一步包含下述步驟判定在收到工作請(qǐng)求后可用性數(shù)據(jù)是否改變;在可用性數(shù)據(jù)發(fā)生改變時(shí)查詢改變后的可用性數(shù)據(jù)、并根據(jù)改變后的可用性數(shù)據(jù)選擇該組中某個(gè)服務(wù)器用于滿足所接收的工作請(qǐng)求;以及更新傳送隊(duì)列中工作請(qǐng)求,使得如果根據(jù)改變后可用性數(shù)據(jù)選擇的服務(wù)器與特定的服務(wù)器不同,則將工作請(qǐng)求發(fā)送到該組中與所述特定服務(wù)器不同的服務(wù)器。
7.權(quán)利要求6的方法,其中,改變后的可用性數(shù)據(jù)包括對(duì)于當(dāng)最初收到工作請(qǐng)求時(shí)沒(méi)有可用性數(shù)據(jù)的組中的服務(wù)器添加可用性數(shù)據(jù)。
8.權(quán)利要求6的方法,其中,改變后可用性數(shù)據(jù)包括對(duì)于當(dāng)最初收到工作請(qǐng)求時(shí)有可用性數(shù)據(jù)的組中的服務(wù)器修改可用性數(shù)據(jù)。
9.一種存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中的計(jì)算機(jī)程序產(chǎn)品,它在計(jì)算機(jī)上運(yùn)行時(shí),執(zhí)行一種用于對(duì)異步客戶機(jī)/服務(wù)器計(jì)算系統(tǒng)中的一組服務(wù)器進(jìn)行工作負(fù)荷管理的數(shù)據(jù)處理方法,該方法的特征在于包含下述步驟從客戶機(jī)應(yīng)用程序接收工作請(qǐng)求;查詢關(guān)于服務(wù)器組的可用性數(shù)據(jù),并根據(jù)所查詢可用性數(shù)據(jù)選擇該組中特定服務(wù)器用于滿足所接收工作請(qǐng)求-其中,為了從該組選擇一個(gè)服務(wù)器,總是使用在工作請(qǐng)求被接收時(shí)的當(dāng)前狀態(tài)的所查詢可用性數(shù)據(jù),而不管是否已經(jīng)收到該組中每個(gè)服務(wù)器的可用性數(shù)據(jù);以及將所接收工作請(qǐng)求放入傳送隊(duì)列,等待向該組中該特定服務(wù)器傳送。
10.權(quán)利要求9的產(chǎn)品,進(jìn)一步包含下述步驟判定在收到工作請(qǐng)求后可用性數(shù)據(jù)是否改變;在可用性數(shù)據(jù)發(fā)生改變時(shí)查詢改變后的可用性數(shù)據(jù)、并根據(jù)改變后的可用性數(shù)據(jù)選擇該組中某個(gè)服務(wù)器用于滿足所接收工作請(qǐng)求;以及更新傳送隊(duì)列中工作請(qǐng)求,使得如果根據(jù)改變后可用性數(shù)據(jù)選擇的服務(wù)器與特定的服務(wù)器不同,則將工作請(qǐng)求發(fā)送到該組中與所述特定服務(wù)器不同的服務(wù)器。
11.權(quán)利要求10的產(chǎn)品,其中,改變后可用性數(shù)據(jù)包括對(duì)于當(dāng)最初收到工作請(qǐng)求時(shí)沒(méi)有可用性數(shù)據(jù)的組中的服務(wù)器添加可用性數(shù)據(jù)。
12.權(quán)利要求10的產(chǎn)品,其中,改變后可用性數(shù)據(jù)包括對(duì)于當(dāng)最初收到工作請(qǐng)求時(shí)有可用性數(shù)據(jù)的組中的服務(wù)器修改可用性數(shù)據(jù)。
全文摘要
一種對(duì)異步客戶機(jī)/服務(wù)器計(jì)算系統(tǒng)中的一組服務(wù)器進(jìn)行工作負(fù)荷管理的數(shù)據(jù)處理設(shè)備,它具有:一個(gè)從客戶機(jī)應(yīng)用程序接收工作請(qǐng)求的裝置;一個(gè)查詢關(guān)于服務(wù)器組的可用性數(shù)據(jù),并根據(jù)所查詢可用性數(shù)據(jù)選擇該組中特定服務(wù)器用于滿足所接收工作請(qǐng)求的裝置;及一個(gè)將所接收工作請(qǐng)求放入傳送隊(duì)列,等待向該組中該特定服務(wù)器傳送的裝置。
文檔編號(hào)G06F15/177GK1232218SQ9910452
公開日1999年10月20日 申請(qǐng)日期1999年3月25日 優(yōu)先權(quán)日1998年4月14日
發(fā)明者A·D·J·班克斯, R·S·馬克斯韋爾, D·N·米爾伍德 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司