專利名稱:保證服務(wù)質(zhì)量的Web服務(wù)器系統(tǒng)請(qǐng)求區(qū)分服務(wù)方法與中間件的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及互聯(lián)網(wǎng)上Web服務(wù)器系統(tǒng)的技術(shù)領(lǐng)域,具體是一種保證服務(wù)質(zhì)量的Web服務(wù)器系統(tǒng)請(qǐng)求區(qū)分服務(wù)方法,以及根據(jù)本發(fā)明方法設(shè)計(jì)的一種保證服務(wù)質(zhì)量的Web服務(wù)器系統(tǒng)請(qǐng)求區(qū)分服務(wù)中間件,以解決Web服務(wù)器系統(tǒng)無(wú)區(qū)分服務(wù)、負(fù)荷平衡與服務(wù)質(zhì)量保證的問(wèn)題。
背景技術(shù):
目前,互聯(lián)網(wǎng)上Web(World Wide Web,簡(jiǎn)稱WWW或Web)服務(wù)發(fā)展迅速,建立在Web服務(wù)上的電子商務(wù)業(yè)務(wù),使傳統(tǒng)的商業(yè)活動(dòng)煥然一新,人們可以通過(guò)Web服務(wù)在網(wǎng)上進(jìn)行商業(yè)交易、商業(yè)調(diào)查、信息發(fā)布等。然而,Web服務(wù)器系統(tǒng)作為電子商務(wù)與Web服務(wù)的核心設(shè)施之一,它對(duì)客戶請(qǐng)求的響應(yīng)處理與服務(wù)質(zhì)量的好壞,直接影響到電子商務(wù)的進(jìn)一步發(fā)展。根據(jù)美國(guó)Zona研究中心調(diào)查,一個(gè)電子商務(wù)網(wǎng)站必須保證客戶請(qǐng)求在7秒內(nèi)得到響應(yīng)處理,否則它將會(huì)在未來(lái)丟失約30%左右的客戶訪問(wèn)量。在2006年至2007年期間,因客戶請(qǐng)求被拒絕響應(yīng)處理或響應(yīng)處理延遲等因素,導(dǎo)致全球電子商務(wù)市場(chǎng)約400億美元的銷售損失。但是,客戶對(duì)Web服務(wù)器系統(tǒng)的訪問(wèn)行為是一個(gè)隨機(jī)事件,至今為止仍然沒(méi)有很好的方法預(yù)測(cè)客戶的訪問(wèn)行為,這給如何實(shí)現(xiàn)Web服務(wù)器系統(tǒng)的區(qū)分服務(wù)與服務(wù)質(zhì)量保證帶來(lái)了許多技術(shù)困難。這些技術(shù)困難主要體現(xiàn)在如何使Web服務(wù)器系統(tǒng)對(duì)客戶請(qǐng)求實(shí)現(xiàn)區(qū)分服務(wù);如何使Web服務(wù)器系統(tǒng)在合理降低優(yōu)先級(jí)低的客戶請(qǐng)求的響應(yīng)率與服務(wù)質(zhì)量同時(shí),優(yōu)先保證優(yōu)先級(jí)高的客戶請(qǐng)求的響應(yīng)率與服務(wù)質(zhì)量;如何平衡Web服務(wù)器系統(tǒng)網(wǎng)絡(luò)端口的客戶請(qǐng)求負(fù)荷,合理分配Web服務(wù)器系統(tǒng)網(wǎng)絡(luò)端口的帶寬等問(wèn)題。
然而,大多數(shù)Web服務(wù)器系統(tǒng)無(wú)法對(duì)客戶請(qǐng)求提供區(qū)分服務(wù)、負(fù)荷平衡與服務(wù)質(zhì)量保證。例如在電子商務(wù)與Web服務(wù)中普遍使用的Apache Web服務(wù)器系統(tǒng),它對(duì)到達(dá)的客戶請(qǐng)求采用“一視同仁”的請(qǐng)求先來(lái)先服務(wù)方法,當(dāng)客戶請(qǐng)求進(jìn)入Web服務(wù)器系統(tǒng)的TCP監(jiān)聽(tīng)隊(duì)列后,Web服務(wù)器系統(tǒng)按先來(lái)先服務(wù)方法響應(yīng)處理客戶請(qǐng)求,這種先來(lái)先服務(wù)方法無(wú)法做到優(yōu)先響應(yīng)處理哪些客戶請(qǐng)求,延遲響應(yīng)處理哪些客戶請(qǐng)求,容易造成優(yōu)先級(jí)高的客戶請(qǐng)求的響應(yīng)率與服務(wù)質(zhì)量降低,而優(yōu)先級(jí)低的客戶請(qǐng)求的響應(yīng)率與服務(wù)質(zhì)量也沒(méi)有得到提高。可是,電子商務(wù)與Web服務(wù)今后發(fā)展,需要Web服務(wù)器系統(tǒng)能夠針對(duì)不同類型的客戶請(qǐng)求,實(shí)現(xiàn)客戶請(qǐng)求的區(qū)分服務(wù)、負(fù)荷平衡與服務(wù)質(zhì)量保證。因此,Web服務(wù)器系統(tǒng)“一視同仁”的請(qǐng)求先來(lái)先服務(wù)方法,在技術(shù)上不符合未來(lái)電子商務(wù)與Web服務(wù)的發(fā)展趨勢(shì)。針對(duì)這些問(wèn)題,一種有效的辦法就是使Web服務(wù)器系統(tǒng)對(duì)客戶請(qǐng)求不再遵循“一視同仁”的服務(wù)方法,而是采用“非一視同仁”的區(qū)分服務(wù)方法。
目前,針對(duì)Web服務(wù)器系統(tǒng)的區(qū)分服務(wù)、負(fù)荷平衡與服務(wù)質(zhì)量保證的研究十分活躍,各國(guó)的研究組織和IT公司都非常重視這方面的研究工作,一些針對(duì)Web服務(wù)器系統(tǒng)區(qū)分服務(wù)、負(fù)荷平衡與服務(wù)質(zhì)量保證的方法主要是建立綜合服務(wù)和區(qū)分服務(wù)的體系結(jié)構(gòu),其主要可以分成如下兩種類型的方法 ①區(qū)分的Web服務(wù)機(jī)制與策略通過(guò)定義客戶請(qǐng)求的類別,確定客戶服務(wù)優(yōu)先級(jí),利用基于優(yōu)先級(jí)的客戶請(qǐng)求分配策略和資源監(jiān)控與調(diào)度機(jī)制來(lái)保證對(duì)不同客戶請(qǐng)求的不同Web服務(wù)水平。
②Web服務(wù)器系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)通過(guò)增加內(nèi)存和CPU來(lái)擴(kuò)大單個(gè)Web服務(wù)器系統(tǒng)的處理能力;在局域范圍內(nèi)通過(guò)復(fù)制服務(wù)器系統(tǒng)頁(yè)面建立Web服務(wù)器系統(tǒng)集群,以增強(qiáng)本地Web服務(wù)器系統(tǒng)的處理能力;在地理上廣域分布的范圍內(nèi),通過(guò)復(fù)制服務(wù)器系統(tǒng)集群來(lái)擴(kuò)大全局處理能力。
針對(duì)上述的解決方法,相繼出現(xiàn)了一些模型或方法來(lái)解決Web服務(wù)器系統(tǒng)的區(qū)分服務(wù)和服務(wù)質(zhì)量保證的問(wèn)題,例如美國(guó)威斯康星-麥迪遜大學(xué)提出的優(yōu)先調(diào)度方法;美國(guó)波士頓大學(xué)提出的最短連接優(yōu)先策略;美國(guó)密歇根大學(xué)提出的按比例分配網(wǎng)絡(luò)帶寬給客戶端的Web服務(wù)器系統(tǒng)模型;HP實(shí)驗(yàn)室提出的支持分層的Web服務(wù)器系統(tǒng)結(jié)構(gòu);美國(guó)維吉尼亞大學(xué)提出的Web服務(wù)器系統(tǒng)相對(duì)延遲保證的技術(shù);美國(guó)賴斯大學(xué)利用集群技術(shù)來(lái)提高Web服務(wù)器系統(tǒng)性能以改善Web服務(wù)質(zhì)量方法。然而,這些模型或方法仍然存在一些不足之處 ①過(guò)多依賴操作系統(tǒng)與Web服務(wù)器系統(tǒng)軟件結(jié)構(gòu),對(duì)操作系統(tǒng)與Web服務(wù)器系統(tǒng)軟件修改太多; ②沒(méi)有很好地把區(qū)分服務(wù)、負(fù)荷平衡與服務(wù)質(zhì)量保證結(jié)合起來(lái),更沒(méi)有提出基于“非一視同仁”的區(qū)分服務(wù)方法,不能針對(duì)不同類型的客戶請(qǐng)求用不同質(zhì)量頁(yè)面進(jìn)行響應(yīng)處理; ③無(wú)法實(shí)時(shí)針對(duì)不同類型客戶請(qǐng)求負(fù)荷,合理分配Web服務(wù)器系統(tǒng)網(wǎng)絡(luò)端口的帶寬給不同質(zhì)量標(biāo)準(zhǔn)的客戶請(qǐng)求。
發(fā)明內(nèi)容
本發(fā)明目的是設(shè)計(jì)一種保證服務(wù)質(zhì)量的Web服務(wù)器系統(tǒng)請(qǐng)求區(qū)分服務(wù)方法,以取代Web服務(wù)器系統(tǒng)中請(qǐng)求先來(lái)先服務(wù)方法,本方法采用“非一視同仁”的區(qū)分服務(wù)方法,針對(duì)不同類型的客戶請(qǐng)求,采用不同質(zhì)量的頁(yè)面對(duì)其進(jìn)行響應(yīng)處理,保證Web服務(wù)器系統(tǒng)對(duì)客戶請(qǐng)求的響應(yīng)率與服務(wù)質(zhì)量。同時(shí),本發(fā)明方法通過(guò)區(qū)分服務(wù),可以平衡Web服務(wù)器系統(tǒng)網(wǎng)絡(luò)端口的客戶請(qǐng)求負(fù)荷,合理分配Web服務(wù)器系統(tǒng)網(wǎng)絡(luò)端口的帶寬。
本發(fā)明另一目的是根據(jù)本發(fā)明方法,設(shè)計(jì)了一種保證服務(wù)質(zhì)量的Web服務(wù)器系統(tǒng)請(qǐng)求區(qū)分服務(wù)中間件,通過(guò)在Web服務(wù)器系統(tǒng)中安裝該中間件后,可以使Web服務(wù)器系統(tǒng)具有區(qū)分服務(wù)、負(fù)荷平衡與服務(wù)質(zhì)量保證的功能。
本發(fā)明方法包括主控初始化、請(qǐng)求分類、實(shí)時(shí)調(diào)度與頁(yè)面定位四個(gè)步驟,這些步驟首先把到達(dá)Web服務(wù)器系統(tǒng)客戶請(qǐng)求,按其源IP地址查詢客戶類別庫(kù),并根據(jù)其服務(wù)類別分類它們到對(duì)應(yīng)服務(wù)隊(duì)列中;其次讀取優(yōu)先級(jí)最高的服務(wù)隊(duì)列中客戶請(qǐng)求,按其響應(yīng)方式選取對(duì)應(yīng)質(zhì)量頁(yè)面進(jìn)行響應(yīng)處理;最后實(shí)時(shí)調(diào)整各個(gè)服務(wù)隊(duì)列的歷史日志、絕對(duì)質(zhì)量、響應(yīng)方式、相對(duì)質(zhì)量與優(yōu)先級(jí)參數(shù)。主控初始化、請(qǐng)求分類、實(shí)時(shí)調(diào)度和頁(yè)面定位步驟均為安裝在Web服務(wù)器系統(tǒng)中獨(dú)立運(yùn)行的進(jìn)程,且它們的運(yùn)行初始時(shí)鐘都是t=T,T是一個(gè)時(shí)間單位,單位是秒。本發(fā)明方法的主控初始化、請(qǐng)求分類、實(shí)時(shí)調(diào)度與頁(yè)面定位四個(gè)步驟涉及到的庫(kù)、隊(duì)列、參數(shù)與公式介紹如下 I.客戶類別庫(kù) 客戶類別庫(kù)是一個(gè)二維表,包括服務(wù)類別、服務(wù)隊(duì)列序號(hào)、客戶端源IP地址、絕對(duì)質(zhì)量標(biāo)準(zhǔn)四個(gè)字段。服務(wù)類別表示W(wǎng)eb服務(wù)器系統(tǒng)向客戶請(qǐng)求提供的響應(yīng)服務(wù)種類,服務(wù)類別決定了Web服務(wù)器系統(tǒng)以何種服務(wù)質(zhì)量標(biāo)準(zhǔn)響應(yīng)處理所屬服務(wù)類別的客戶請(qǐng)求。服務(wù)隊(duì)列序號(hào)表示服務(wù)隊(duì)列的一個(gè)順序編號(hào),每個(gè)服務(wù)隊(duì)列只有一個(gè)唯一的編號(hào)。客戶端源IP地址表示發(fā)出客戶請(qǐng)求的那個(gè)客戶端IP地址,它可以是單個(gè)IP地址,也可以是一批IP地址。絕對(duì)質(zhì)量標(biāo)準(zhǔn)表示W(wǎng)eb服務(wù)器系統(tǒng)向客戶請(qǐng)求提供的響應(yīng)服務(wù)的質(zhì)量高低,每種服務(wù)類別對(duì)應(yīng)一種絕對(duì)服務(wù)質(zhì)量標(biāo)準(zhǔn),絕對(duì)質(zhì)量標(biāo)準(zhǔn)與服務(wù)類別構(gòu)成一一對(duì)應(yīng)關(guān)系,它們的數(shù)量總數(shù)為n??蛻纛悇e庫(kù)以服務(wù)類別作為關(guān)鍵字索引,其初始化值由系統(tǒng)管理員根據(jù)提供的服務(wù)類別手工設(shè)置。
II.緩存隊(duì)列 緩存隊(duì)列是一個(gè)先進(jìn)先出循環(huán)隊(duì)列,其隊(duì)列長(zhǎng)度是“100”,它用于保存請(qǐng)求分類步驟中因服務(wù)隊(duì)列滿而暫時(shí)無(wú)法進(jìn)入服務(wù)隊(duì)列的客戶請(qǐng)求,當(dāng)客戶請(qǐng)求入隊(duì)或出隊(duì)時(shí),緩存隊(duì)列的隊(duì)尾指針或隊(duì)頭指針按?!?00”運(yùn)算調(diào)整。沒(méi)有為緩存隊(duì)列設(shè)置優(yōu)先級(jí),其初始化值是不包含任何客戶請(qǐng)求的一個(gè)空循環(huán)隊(duì)列。
III.服務(wù)隊(duì)列 服務(wù)隊(duì)列是一個(gè)先進(jìn)先出循環(huán)隊(duì)列,其隊(duì)列長(zhǎng)度是“100”,它用于保存被請(qǐng)求分類步驟分類的客戶請(qǐng)求,當(dāng)客戶請(qǐng)求入隊(duì)或出隊(duì)時(shí),服務(wù)隊(duì)列的隊(duì)尾指針或隊(duì)頭指針按?!?00”運(yùn)算調(diào)整。每種服務(wù)類別對(duì)應(yīng)一個(gè)服務(wù)隊(duì)列,服務(wù)隊(duì)列與服務(wù)類別構(gòu)成一一對(duì)應(yīng)關(guān)系,它們的數(shù)量總數(shù)為n。服務(wù)隊(duì)列的初始化值是不包含任何客戶請(qǐng)求的n個(gè)空循環(huán)隊(duì)列,n是服務(wù)隊(duì)列的總數(shù)。
IV.絕對(duì)質(zhì)量標(biāo)準(zhǔn) 每個(gè)服務(wù)隊(duì)列都有一個(gè)絕對(duì)質(zhì)量標(biāo)準(zhǔn),它表示W(wǎng)eb服務(wù)器系統(tǒng)響應(yīng)處理一個(gè)服務(wù)隊(duì)列中客戶請(qǐng)求的質(zhì)量標(biāo)準(zhǔn),其取值是[100,0)之間的一個(gè)正整數(shù),最大值“100”代表Web服務(wù)器系統(tǒng)應(yīng)該100%響應(yīng)處理該服務(wù)隊(duì)列中客戶請(qǐng)求。絕對(duì)質(zhì)量標(biāo)準(zhǔn)的初始化值由系統(tǒng)管理員根據(jù)Web服務(wù)器系統(tǒng)提供的服務(wù)類別手工設(shè)置。
V.相對(duì)質(zhì)量標(biāo)準(zhǔn) 每個(gè)服務(wù)隊(duì)列都有一個(gè)相對(duì)質(zhì)量標(biāo)準(zhǔn),它表示一個(gè)服務(wù)隊(duì)列的絕對(duì)質(zhì)量標(biāo)準(zhǔn)占所有服務(wù)隊(duì)列的絕對(duì)質(zhì)量標(biāo)準(zhǔn)總和的百分比,第i個(gè)服務(wù)隊(duì)列相對(duì)質(zhì)量標(biāo)準(zhǔn)值的計(jì)算公式如下
其中i,j是服務(wù)隊(duì)列的序號(hào),1≤i≤n,n是服務(wù)隊(duì)列的總數(shù)。
VI.服務(wù)隊(duì)列序號(hào) 每個(gè)服務(wù)隊(duì)列都有一個(gè)服務(wù)隊(duì)列序號(hào),它表示服務(wù)隊(duì)列的一個(gè)順序編號(hào),每個(gè)服務(wù)隊(duì)列只有一個(gè)唯一的序號(hào),其取值范圍是[1,n],n是服務(wù)隊(duì)列的總數(shù)。服務(wù)隊(duì)列序號(hào)分配原則把各個(gè)服務(wù)隊(duì)列按其絕對(duì)質(zhì)量標(biāo)準(zhǔn)從高至低進(jìn)行排列,這樣排列得到的各個(gè)服務(wù)隊(duì)列順序號(hào)就是對(duì)應(yīng)服務(wù)隊(duì)列序號(hào)。
VII.歷史日志 每個(gè)服務(wù)隊(duì)列都有一個(gè)歷史日志隊(duì)列,歷史日志隊(duì)列是一個(gè)先進(jìn)先出循環(huán)隊(duì)列,其隊(duì)列長(zhǎng)度是“100”,它用于保存服務(wù)隊(duì)列中最近100個(gè)客戶請(qǐng)求的響應(yīng)方式值。每個(gè)服務(wù)隊(duì)列的歷史日志隊(duì)列中響應(yīng)方式值,隨著客戶請(qǐng)求不斷得到響應(yīng)處理而實(shí)時(shí)更新,歷史日志隊(duì)列中響應(yīng)方式值的更新方法是當(dāng)一個(gè)客戶請(qǐng)求得到響應(yīng)處理時(shí),歷史日志隊(duì)列隊(duì)頭第一位響應(yīng)方式值出隊(duì),該客戶請(qǐng)求所屬服務(wù)隊(duì)列的響應(yīng)方式值入隊(duì)歷史日志隊(duì)列,以隊(duì)列長(zhǎng)度100為模運(yùn)算調(diào)整歷史日志隊(duì)列隊(duì)頭指針與隊(duì)尾指針。對(duì)歷史日志隊(duì)列的初始化就是從隊(duì)尾依次進(jìn)入100個(gè)“0”,初始化后歷史日志隊(duì)列各位都是“0”。歷史日志值就是從隊(duì)尾至隊(duì)頭逐位累加各位響應(yīng)方式值得到的總和,其初始化值是“0”。第t時(shí)刻第i個(gè)服務(wù)隊(duì)列歷史日志值的計(jì)算公式如下 歷史日志值i(t)=∑(1≤p≤100)[歷史日志隊(duì)列i(t)]p,其中p是歷史日志隊(duì)列i(t)中指向各個(gè)響應(yīng)方式值的指針,i是服務(wù)隊(duì)列的序號(hào),1≤i≤n,n是服務(wù)隊(duì)列的總數(shù)。
VIII.絕對(duì)質(zhì)量 每個(gè)服務(wù)隊(duì)列都有一個(gè)絕對(duì)質(zhì)量,它表示一個(gè)服務(wù)隊(duì)列中客戶請(qǐng)求得到Web服務(wù)器系統(tǒng)響應(yīng)處理的自身質(zhì)量,其初始化值是對(duì)應(yīng)絕對(duì)質(zhì)量標(biāo)準(zhǔn)值。第t時(shí)刻第i個(gè)服務(wù)隊(duì)列絕對(duì)質(zhì)量值的計(jì)算公式如下 絕對(duì)質(zhì)量值i(t)=絕對(duì)質(zhì)量值i(t-1)-歷史日志值i(t-1)+歷史日志值i(t),其中i是服務(wù)隊(duì)列的序號(hào),1≤i≤n,n是服務(wù)隊(duì)列的總數(shù)。
IX.相對(duì)質(zhì)量 每個(gè)服務(wù)隊(duì)列都有一個(gè)相對(duì)質(zhì)量,它表示一個(gè)服務(wù)隊(duì)列的絕對(duì)質(zhì)量占所有服務(wù)隊(duì)列的絕對(duì)質(zhì)量總和的百分比,其初始化值是對(duì)應(yīng)相對(duì)質(zhì)量標(biāo)準(zhǔn)值,其中n是服務(wù)隊(duì)列的總數(shù)。第t時(shí)刻第i個(gè)服務(wù)隊(duì)列相對(duì)質(zhì)量值的計(jì)算公式如下
其中i,k是服務(wù)隊(duì)列的序號(hào),1≤i≤n,n是服務(wù)隊(duì)列的總數(shù)。
X.優(yōu)先級(jí) 每個(gè)服務(wù)隊(duì)列都有一個(gè)優(yōu)先級(jí),它表示一個(gè)服務(wù)隊(duì)列得到Web服務(wù)器系統(tǒng)響應(yīng)處理優(yōu)先次序,處于同一個(gè)服務(wù)隊(duì)列中客戶請(qǐng)求具有相同的優(yōu)先級(jí)。優(yōu)先級(jí)取值是[1,2n]之間的一個(gè)整數(shù),n是服務(wù)隊(duì)列的總數(shù)。優(yōu)先級(jí)值越小表示對(duì)應(yīng)服務(wù)隊(duì)列中客戶請(qǐng)求得到Web服務(wù)器系統(tǒng)響應(yīng)處理越優(yōu)先。每個(gè)服務(wù)隊(duì)列優(yōu)先級(jí)初始值是對(duì)應(yīng)服務(wù)隊(duì)列序號(hào)。第t時(shí)刻第i個(gè)服務(wù)隊(duì)列優(yōu)先級(jí)值的計(jì)算公式如下
其中i是服務(wù)隊(duì)列的序號(hào),1≤i≤n,n是服務(wù)隊(duì)列的總數(shù)。
XI.響應(yīng)方式 每個(gè)服務(wù)隊(duì)列都有一個(gè)響應(yīng)方式,它表示一個(gè)服務(wù)隊(duì)列中客戶請(qǐng)求用什么質(zhì)量頁(yè)面進(jìn)行響應(yīng)處理。響應(yīng)方式有三種客戶請(qǐng)求精確響應(yīng),用高質(zhì)量頁(yè)面響應(yīng)處理該客戶請(qǐng)求;客戶請(qǐng)求近似響應(yīng),用低質(zhì)量頁(yè)面響應(yīng)處理該客戶請(qǐng)求;客戶請(qǐng)求出現(xiàn)超時(shí),直接丟棄不響應(yīng)處理該客戶請(qǐng)求。為了實(shí)現(xiàn)服務(wù)隊(duì)列的響應(yīng)方式,本方法把Web服務(wù)器系統(tǒng)中頁(yè)面設(shè)計(jì)成兩種質(zhì)量等級(jí)高質(zhì)量頁(yè)面和低質(zhì)量頁(yè)面。未刪除Flash或圖片或音樂(lè)等信息的頁(yè)面是高質(zhì)量頁(yè)面,已刪除Flash或圖片或音樂(lè)等信息的頁(yè)面是低質(zhì)量頁(yè)面。響應(yīng)方式初始值是“1”。響應(yīng)方式取值也有三種,第t時(shí)刻第i個(gè)服務(wù)隊(duì)列響應(yīng)方式值的計(jì)算公式如下
其中i是服務(wù)隊(duì)列的序號(hào),1≤i≤n,n是服務(wù)隊(duì)列的總數(shù)。
基于上述客戶類別庫(kù)、緩存隊(duì)列、服務(wù)隊(duì)列、絕對(duì)質(zhì)量標(biāo)準(zhǔn)、相對(duì)質(zhì)量標(biāo)準(zhǔn)、服務(wù)隊(duì)列序號(hào)、歷史日志、絕對(duì)質(zhì)量、相對(duì)質(zhì)量、優(yōu)先級(jí)與響應(yīng)方式的定義與公式,本發(fā)明方法的主控初始化、請(qǐng)求分類、實(shí)時(shí)調(diào)度與頁(yè)面定位步驟的操作如下 第一、主控初始化 主控初始化步驟首先對(duì)請(qǐng)求分類、實(shí)時(shí)調(diào)度和頁(yè)面定位步驟的參數(shù)初始化,然后調(diào)用請(qǐng)求分類、實(shí)時(shí)調(diào)度和頁(yè)面定位步驟并傳遞時(shí)鐘t給這三個(gè)步驟。主控初始化步驟的具體操作如下 ①按上述IV至XI定義與公式初始化絕對(duì)質(zhì)量標(biāo)準(zhǔn)、相對(duì)質(zhì)量標(biāo)準(zhǔn)、服務(wù)隊(duì)列序號(hào)、歷史日志、絕對(duì)質(zhì)量、相對(duì)質(zhì)量、優(yōu)先級(jí)、響應(yīng)方式的各個(gè)參數(shù)值。其中絕對(duì)質(zhì)量標(biāo)準(zhǔn)、相對(duì)質(zhì)量標(biāo)準(zhǔn)與服務(wù)隊(duì)列序號(hào)的參數(shù)值在請(qǐng)求分類、實(shí)時(shí)調(diào)度和頁(yè)面定位步驟執(zhí)行中不變,絕對(duì)質(zhì)量、相對(duì)質(zhì)量、歷史日志、優(yōu)先級(jí)、響應(yīng)方式的參數(shù)值隨請(qǐng)求分類、實(shí)時(shí)調(diào)度和頁(yè)面定位步驟的執(zhí)行更新。
②主控初始化步驟調(diào)用請(qǐng)求分類、實(shí)時(shí)調(diào)度和頁(yè)面定位步驟。
③傳遞時(shí)鐘t參數(shù)給請(qǐng)求分類、實(shí)時(shí)調(diào)度和頁(yè)面定位步驟。
④如果主控初始化步驟未結(jié)束,時(shí)鐘t步長(zhǎng)增加1,則轉(zhuǎn)③操作;否則傳遞“結(jié)束”參數(shù)給請(qǐng)求分類、實(shí)時(shí)調(diào)度和頁(yè)面定位步驟,結(jié)束。
第二、請(qǐng)求分類 請(qǐng)求分類步驟把到達(dá)Web服務(wù)器系統(tǒng)客戶請(qǐng)求,按其源IP地址查詢客戶類別庫(kù),并根據(jù)其服務(wù)類別分類它們到對(duì)應(yīng)服務(wù)隊(duì)列中。請(qǐng)求分類步驟的具體操作如下 ①讀取主控初始化步驟傳遞來(lái)的參數(shù),如果參數(shù)是“結(jié)束”,則結(jié)束;否則轉(zhuǎn)②操作。
②如果緩存隊(duì)列未空,則讀取緩存隊(duì)列中客戶請(qǐng)求(t),按其源IP地址查詢客戶類別庫(kù),根據(jù)其服務(wù)類別確定其所屬服務(wù)隊(duì)列x,轉(zhuǎn)③操作;否則轉(zhuǎn)④操作。
③如果客戶請(qǐng)求(t)所屬服務(wù)隊(duì)列x未滿,則客戶請(qǐng)求(t)進(jìn)入服務(wù)隊(duì)列x中,從緩存隊(duì)列中刪除客戶請(qǐng)求(t),轉(zhuǎn)④操作;否則轉(zhuǎn)④操作。
④如果TCP監(jiān)聽(tīng)隊(duì)列未空,則讀取TCP監(jiān)聽(tīng)隊(duì)列中客戶請(qǐng)求(t),按其源IP地址查詢客戶類別庫(kù),根據(jù)其服務(wù)類別確定其所屬服務(wù)隊(duì)列y,轉(zhuǎn)⑤操作;否則轉(zhuǎn)①操作。
⑤如果客戶請(qǐng)求(t)所屬服務(wù)隊(duì)列y未滿,則客戶請(qǐng)求(t)進(jìn)入服務(wù)隊(duì)列y中,從TCP監(jiān)聽(tīng)隊(duì)列中刪除客戶請(qǐng)求(t),轉(zhuǎn)①操作;否則轉(zhuǎn)⑥操作。
⑥如果緩存隊(duì)列未滿,則客戶請(qǐng)求(t)進(jìn)入緩存隊(duì)列中,從TCP監(jiān)聽(tīng)隊(duì)列中刪除客戶請(qǐng)求(t),轉(zhuǎn)①操作;否則轉(zhuǎn)①操作。
第三、實(shí)時(shí)調(diào)度 實(shí)時(shí)調(diào)度步驟按服務(wù)隊(duì)列的優(yōu)先級(jí)高低,首先讀取優(yōu)先級(jí)最高的服務(wù)隊(duì)列中客戶請(qǐng)求,然后傳遞其客戶請(qǐng)求到頁(yè)面定位步驟進(jìn)行處理。每當(dāng)服務(wù)隊(duì)列中一個(gè)客戶請(qǐng)求得到響應(yīng)處理后,實(shí)時(shí)調(diào)度步驟根據(jù)上述本方法各個(gè)參數(shù)的計(jì)算公式,實(shí)時(shí)更新服務(wù)隊(duì)列的歷史日志、絕對(duì)質(zhì)量、相對(duì)質(zhì)量、優(yōu)先級(jí)、響應(yīng)方式的值。實(shí)時(shí)調(diào)度步驟的具體操作如下 ①讀取主控初始化步驟傳遞來(lái)的參數(shù),如果參數(shù)是“結(jié)束”,則結(jié)束;否則轉(zhuǎn)②操作。
②如果服務(wù)隊(duì)列都是空,則轉(zhuǎn)①操作;否則轉(zhuǎn)③操作。
③在n個(gè)服務(wù)隊(duì)列中,選取一個(gè)優(yōu)先級(jí)最高的非空服務(wù)隊(duì)列top,讀取其客戶請(qǐng)求top(t),轉(zhuǎn)④操作。
④如果客戶請(qǐng)求top(t)超時(shí),則執(zhí)行a、b、c、d、e操作;否則執(zhí)行f、g、h、j操作。
a.隊(duì)頭第一位響應(yīng)方式值top(t-1)出隊(duì)歷史日志隊(duì)列top(t-1),“0”入隊(duì)歷史日志隊(duì)列top(t-1),以隊(duì)列長(zhǎng)度100為模運(yùn)算調(diào)整歷史日志隊(duì)列top(t-1)隊(duì)頭指針與隊(duì)尾指針,歷史日志隊(duì)列top(t-1)變成為歷史日志隊(duì)列top(t)。
b.歷史日志值top(t)=∑(1≤p≤100)[歷史日志隊(duì)列top(t)]p,其中p是歷史日志隊(duì)列top(t)中指向各個(gè)響應(yīng)方式值的指針。
c.絕對(duì)質(zhì)量值top(t)=絕對(duì)質(zhì)量值top(t-1)-歷史日志值top(t-1)+歷史日志值top(t)。
其中k是服務(wù)隊(duì)列的序號(hào),n是服務(wù)隊(duì)列的總數(shù)。
e.轉(zhuǎn)⑤操作。
f.把客戶請(qǐng)求top(t)傳遞給頁(yè)面定位步驟。
g.隊(duì)頭第一位響應(yīng)方式值top(t-1)出隊(duì)歷史日志隊(duì)列top(t-1),響應(yīng)方式值top(t)入隊(duì)歷史日志隊(duì)列top(t-1),以隊(duì)列長(zhǎng)度100為模運(yùn)算調(diào)整歷史日志隊(duì)列top(t-1)隊(duì)頭指針與隊(duì)尾指針,歷史日志隊(duì)列top(t-1)變成為歷史日志隊(duì)列top(t)。
h.歷史日志值top(t)=∑(1≤p≤100)[歷史日志隊(duì)列top(t)]p,其中p是歷史日志隊(duì)列top(t)中指向各個(gè)響應(yīng)方式值的指針。
i.絕對(duì)質(zhì)量值top(t)=絕對(duì)質(zhì)量值top(t-1)-歷史日志值top(t-1)+歷史日志值top(t)。
其中k是服務(wù)隊(duì)列的序號(hào),n是服務(wù)隊(duì)列的總數(shù)。
⑤如果相對(duì)質(zhì)量值top(t)<相對(duì)質(zhì)量標(biāo)準(zhǔn)值top,則從除服務(wù)隊(duì)列top之外的n-1個(gè)服務(wù)隊(duì)列中,選取一個(gè)優(yōu)先級(jí)最低且響應(yīng)方式值是“1”的非空服務(wù)隊(duì)列l(wèi)ow,置其響應(yīng)方式值low(t)=0.5,轉(zhuǎn)⑥操作;否則從n個(gè)服務(wù)隊(duì)列中,選取一個(gè)相對(duì)質(zhì)量值pick(t)大于等于相對(duì)質(zhì)量標(biāo)準(zhǔn)值pick且優(yōu)先級(jí)最高且響應(yīng)方式值是“0.5”的非空服務(wù)隊(duì)列pick,置其響應(yīng)方式值pick(t)=1。
⑥按優(yōu)先級(jí)計(jì)算公式,計(jì)算更新n個(gè)服務(wù)隊(duì)列優(yōu)先級(jí)的值,轉(zhuǎn)①操作。
第四、頁(yè)面定位 為了實(shí)現(xiàn)服務(wù)隊(duì)列的響應(yīng)方式,Web服務(wù)器系統(tǒng)中頁(yè)面設(shè)計(jì)成兩種質(zhì)量等級(jí)高質(zhì)量頁(yè)面和低質(zhì)量頁(yè)面,高質(zhì)量頁(yè)面是指那些未刪除Flash或圖片或音樂(lè)等信息的頁(yè)面,低質(zhì)量頁(yè)面是指那些已刪除Flash或圖片或音樂(lè)等信息的頁(yè)面。同時(shí),設(shè)計(jì)了一種頁(yè)面定位步驟,它采用通用網(wǎng)關(guān)接口的腳本語(yǔ)言(例如Perl、PHP、C/C++、Visual Basic等)編寫其實(shí)現(xiàn)程序,并通過(guò)通用網(wǎng)關(guān)接口與Web服務(wù)器系統(tǒng)中頁(yè)面數(shù)據(jù)庫(kù)建立連接。頁(yè)面定位步驟的具體操作如下 ①讀取主控初始化步驟傳遞來(lái)的參數(shù),如果參數(shù)是“結(jié)束”,則結(jié)束;否則轉(zhuǎn)②操作。
②接收從實(shí)時(shí)調(diào)度步驟傳遞的客戶請(qǐng)求top(t),解析客戶請(qǐng)求top(t)的統(tǒng)一資源定位符,以客戶請(qǐng)求top(t)的統(tǒng)一資源定位符為關(guān)鍵字,在Web服務(wù)器系統(tǒng)中頁(yè)面數(shù)據(jù)庫(kù)查找對(duì)應(yīng)頁(yè)面。
③如果查找到對(duì)應(yīng)頁(yè)面,則轉(zhuǎn)④操作;否則以“頁(yè)面不存在”響應(yīng)客戶請(qǐng)求top(t),轉(zhuǎn)①操作。
④如果客戶請(qǐng)求top(t)所屬服務(wù)隊(duì)列top的響應(yīng)方式值top(t)=1,則用高質(zhì)量頁(yè)面響應(yīng)客戶請(qǐng)top(t),轉(zhuǎn)①操作;否則轉(zhuǎn)⑤操作。
⑤如果客戶請(qǐng)求top(t)所屬服務(wù)隊(duì)列top的響應(yīng)方式值top(t)=0.5,則用低質(zhì)量頁(yè)面響應(yīng)客戶請(qǐng)求top(t),轉(zhuǎn)①操作;否則拒絕響應(yīng)處理,轉(zhuǎn)①操作。
根據(jù)本發(fā)明方法和中間件技術(shù)設(shè)計(jì)的保證服務(wù)質(zhì)量的Web服務(wù)器系統(tǒng)請(qǐng)求區(qū)分服務(wù)中間件,在Web服務(wù)器系統(tǒng)安裝了該中間件,可以使Web服務(wù)器系統(tǒng)具有區(qū)分服務(wù)、負(fù)荷平衡與服務(wù)質(zhì)量保證的功能。本發(fā)明的中間件包括主控初始化模塊、請(qǐng)求分類模塊、實(shí)時(shí)調(diào)度模塊與頁(yè)面定位模塊四個(gè)部分,它們的具體內(nèi)容如下 第一部分主控初始化模塊是整個(gè)中間件的主控模塊,它包括運(yùn)行時(shí)鐘單元、參數(shù)初始化單元、模塊調(diào)用單元及模塊結(jié)束單元。運(yùn)行時(shí)鐘單元含有時(shí)鐘設(shè)置程序和時(shí)鐘傳遞程序,參數(shù)初始化單元含有手工設(shè)置客戶類別庫(kù)與絕對(duì)質(zhì)量標(biāo)準(zhǔn)參數(shù)操作程序,以及緩存隊(duì)列、服務(wù)隊(duì)列、相對(duì)質(zhì)量標(biāo)準(zhǔn)、服務(wù)隊(duì)列序號(hào)、絕對(duì)質(zhì)量、相對(duì)質(zhì)量、歷史日志、優(yōu)先級(jí)與響應(yīng)方式的參數(shù)的初始化程序,模塊調(diào)用單元含有請(qǐng)求分類模塊、實(shí)時(shí)調(diào)度模塊、頁(yè)面定位模塊的模塊調(diào)用程序,模塊結(jié)束單元含有請(qǐng)求分類模塊、實(shí)時(shí)調(diào)度模塊、頁(yè)面定位模塊的結(jié)束運(yùn)行程序。
本發(fā)明的中間件在開(kāi)始運(yùn)行時(shí),首先運(yùn)行時(shí)鐘單元設(shè)置的時(shí)鐘初始值t=1(秒)。其次參數(shù)初始化單元初始化客戶類別庫(kù)、緩存隊(duì)列、服務(wù)隊(duì)列、絕對(duì)質(zhì)量標(biāo)準(zhǔn)、相對(duì)質(zhì)量標(biāo)準(zhǔn)、服務(wù)隊(duì)列序號(hào)、絕對(duì)質(zhì)量、相對(duì)質(zhì)量、歷史日志、優(yōu)先級(jí)、響應(yīng)方式的參數(shù)值。然后模塊調(diào)用單元調(diào)用請(qǐng)求分類模塊、實(shí)時(shí)調(diào)度模塊、頁(yè)面定位模塊開(kāi)始運(yùn)行,運(yùn)行時(shí)鐘單元同時(shí)把時(shí)鐘t傳遞給請(qǐng)求分類模塊、實(shí)時(shí)調(diào)度模塊與頁(yè)面定位模塊,并負(fù)責(zé)下一個(gè)時(shí)鐘t的更新與傳遞。當(dāng)需要結(jié)束本中間件的運(yùn)行時(shí),模塊結(jié)束單元通過(guò)傳遞“結(jié)束”參數(shù)給請(qǐng)求分類模塊、實(shí)時(shí)調(diào)度模塊、頁(yè)面定位模塊,結(jié)束它們的運(yùn)行。
第二部分請(qǐng)求分類模塊包括請(qǐng)求分類單元、客戶類別庫(kù)、n個(gè)長(zhǎng)度為“100”的服務(wù)隊(duì)列和一個(gè)長(zhǎng)度為100的緩存隊(duì)列。請(qǐng)求分類單元與TCP監(jiān)聽(tīng)隊(duì)列連接,從TCP監(jiān)聽(tīng)隊(duì)列讀取客戶請(qǐng)求,并按客戶請(qǐng)求源IP地址查詢客戶類別庫(kù),根據(jù)其服務(wù)類別分類它們到對(duì)應(yīng)的服務(wù)隊(duì)列中。
第三部分實(shí)時(shí)調(diào)度模塊包括讀取請(qǐng)求單元、參數(shù)調(diào)整單元和請(qǐng)求傳遞單元。
讀取請(qǐng)求單元與請(qǐng)求分類模塊的服務(wù)隊(duì)列相接,含有服務(wù)隊(duì)列優(yōu)先級(jí)排序程序與客戶請(qǐng)求讀取程序;參數(shù)調(diào)整單元含有t時(shí)刻絕對(duì)質(zhì)量、相對(duì)質(zhì)量、優(yōu)先級(jí)與響應(yīng)方式的參數(shù)值的計(jì)算程序;請(qǐng)求傳遞單元與頁(yè)面定位模塊連接。在開(kāi)始運(yùn)行時(shí),首先請(qǐng)求讀取單元讀取一個(gè)優(yōu)先級(jí)最高的非空服務(wù)隊(duì)列中客戶請(qǐng)求。其次參數(shù)調(diào)整單元根據(jù)客戶請(qǐng)求是否超時(shí)及響應(yīng)方式,調(diào)整該客戶請(qǐng)求對(duì)應(yīng)服務(wù)隊(duì)列的歷史日志值、絕對(duì)質(zhì)量值、相對(duì)質(zhì)量值,以及根據(jù)相對(duì)質(zhì)量值是否滿足相對(duì)質(zhì)量標(biāo)準(zhǔn),合理調(diào)整其他服務(wù)隊(duì)列的響應(yīng)方式值,以保證優(yōu)先級(jí)最高的非空服務(wù)隊(duì)列中客戶請(qǐng)求的服務(wù)質(zhì)量。最后請(qǐng)求傳遞單元把請(qǐng)求讀取單元讀取的客戶請(qǐng)求傳送給頁(yè)面定位模塊。
第四部分頁(yè)面定位模塊包括請(qǐng)求接收單元與請(qǐng)求定位單元。在開(kāi)始運(yùn)行時(shí),首先請(qǐng)求接收單元接收實(shí)時(shí)調(diào)度模塊傳遞過(guò)來(lái)的客戶請(qǐng)求;其次請(qǐng)求定位單元在Web服務(wù)器系統(tǒng)的頁(yè)面數(shù)據(jù)庫(kù)中查找到對(duì)應(yīng)質(zhì)量頁(yè)面,并根據(jù)此刻需要響應(yīng)的客戶請(qǐng)求所屬服務(wù)隊(duì)列的響應(yīng)方式,讀取對(duì)應(yīng)質(zhì)量頁(yè)面響應(yīng)該客戶請(qǐng)求。
本發(fā)明保證服務(wù)質(zhì)量的Web服務(wù)器系統(tǒng)請(qǐng)求區(qū)分服務(wù)方法的優(yōu)點(diǎn)是基于“非一視同仁”的請(qǐng)求區(qū)分服務(wù)方法,可以取代Web服務(wù)器系統(tǒng)基于“一視同仁”的請(qǐng)求先來(lái)先服務(wù)方法。它針對(duì)不同類型的客戶請(qǐng)求,在優(yōu)先保證優(yōu)先級(jí)高客戶請(qǐng)求的響應(yīng)率與服務(wù)質(zhì)量前提下,盡量保證優(yōu)先級(jí)低客戶請(qǐng)求的響應(yīng)率與服務(wù)質(zhì)量。它在提高Web服務(wù)器系統(tǒng)的客戶請(qǐng)求響應(yīng)率與服務(wù)質(zhì)量同時(shí),通過(guò)區(qū)分服務(wù)又可以平衡Web服務(wù)器系統(tǒng)網(wǎng)絡(luò)端口的客戶請(qǐng)求負(fù)荷,合理分配Web服務(wù)器系統(tǒng)網(wǎng)絡(luò)端口的帶寬。本發(fā)明方法適合用于各種Web服務(wù)器系統(tǒng),便于應(yīng)用推廣。根據(jù)本發(fā)明方法設(shè)計(jì)的保證服務(wù)質(zhì)量的Web服務(wù)器系統(tǒng)請(qǐng)求區(qū)分服務(wù)中間件,獨(dú)立于操作系統(tǒng)軟件,在Web服務(wù)器系統(tǒng)安裝該中間件后,可以使Web服務(wù)器系統(tǒng)具有區(qū)分服務(wù)、負(fù)荷平衡與服務(wù)質(zhì)量保證的功能。本發(fā)明的中間件適合用于各種Web服務(wù)器系統(tǒng),便于應(yīng)用推廣。
圖1是本發(fā)明方法主控初始化步驟的程序框圖; 圖2是圖1中請(qǐng)求分類步驟的程序框圖; 圖3是圖1中實(shí)時(shí)調(diào)度步驟的程序框圖; 圖4是圖1中頁(yè)面定位步驟的程序框圖; 圖5是請(qǐng)求先來(lái)先服務(wù)方法與本發(fā)明方法的請(qǐng)求響應(yīng)對(duì)比實(shí)施例; 圖6是本發(fā)明方法服務(wù)類別A、B、E的請(qǐng)求響應(yīng)對(duì)比實(shí)施例; 圖7是本發(fā)明方法服務(wù)類別C、D、F的請(qǐng)求響應(yīng)對(duì)比實(shí)施例; 圖8是本發(fā)明方法設(shè)計(jì)的中間件實(shí)施例的總體結(jié)構(gòu)示意圖; 圖9是圖8中主控初始化模塊的結(jié)構(gòu)示意圖; 圖10是圖8中請(qǐng)求分類模塊的結(jié)構(gòu)示意圖; 圖11是圖8中實(shí)時(shí)調(diào)度模塊的結(jié)構(gòu)示意圖; 圖12是圖8中頁(yè)面定位模塊的結(jié)構(gòu)示意圖。
具體實(shí)施例方式 一、保證服務(wù)質(zhì)量的Web服務(wù)器系統(tǒng)請(qǐng)求區(qū)分服務(wù)方法的實(shí)施例 在Web服務(wù)器系統(tǒng)中,本實(shí)施例為客戶請(qǐng)求提供6種服務(wù)類別的絕對(duì)質(zhì)量標(biāo)準(zhǔn),它們分別是服務(wù)類別A、服務(wù)類別B、服務(wù)類別C、服務(wù)類別D、服務(wù)類別E、服務(wù)類別F,每種服務(wù)類別一一對(duì)應(yīng)一個(gè)服務(wù)隊(duì)列。本發(fā)明方法實(shí)施例的初始時(shí)鐘是t=1(秒)時(shí)刻,并且在t=1(秒)時(shí)刻,通過(guò)上述客戶類別庫(kù)、緩存隊(duì)列、服務(wù)隊(duì)列、絕對(duì)質(zhì)量標(biāo)準(zhǔn)、相對(duì)質(zhì)量標(biāo)準(zhǔn)、服務(wù)隊(duì)列序號(hào)、歷史日志、絕對(duì)質(zhì)量、相對(duì)質(zhì)量、優(yōu)先級(jí)與響應(yīng)方式的定義與公式,得到本發(fā)明方法實(shí)施例的庫(kù)、隊(duì)列與參數(shù)的初始化值,具體如下 I.客戶類別庫(kù) 通過(guò)上述客戶類別庫(kù)的定義,系統(tǒng)管理員根據(jù)Web服務(wù)器系統(tǒng)提供的服務(wù)類別,在Web服務(wù)器系統(tǒng)數(shù)據(jù)庫(kù)中手工構(gòu)建一個(gè)客戶類別庫(kù),其中包括服務(wù)類別、服務(wù)隊(duì)列序號(hào)、客戶端源IP地址、絕對(duì)質(zhì)量標(biāo)準(zhǔn)字段。所構(gòu)建的客戶類別庫(kù)以服務(wù)類別作為索引,客戶類別庫(kù)如表1所示。
表1客戶類別庫(kù) II.緩存隊(duì)列 通過(guò)上述緩存隊(duì)列的定義,緩存隊(duì)列的初始化值是不包含任何客戶請(qǐng)求的一個(gè)空循環(huán)隊(duì)列,其隊(duì)列長(zhǎng)度是“100”。
III.服務(wù)隊(duì)列 通過(guò)上述服務(wù)隊(duì)列的定義,6個(gè)服務(wù)隊(duì)列的初始化值是不包含任何客戶請(qǐng)求的6個(gè)空循環(huán)隊(duì)列,其隊(duì)列長(zhǎng)度是“100”。
VI.絕對(duì)質(zhì)量標(biāo)準(zhǔn) 通過(guò)上述絕對(duì)質(zhì)量標(biāo)準(zhǔn)的定義,系統(tǒng)管理員根據(jù)Web服務(wù)器系統(tǒng)提供的6種服務(wù)類別,手工設(shè)置為6個(gè)服務(wù)隊(duì)列對(duì)應(yīng)的絕對(duì)質(zhì)量標(biāo)準(zhǔn)初始化值,它們分別是絕對(duì)質(zhì)量標(biāo)準(zhǔn)值1=100,絕對(duì)質(zhì)量標(biāo)準(zhǔn)值3=80,絕對(duì)質(zhì)量標(biāo)準(zhǔn)值2=90,絕對(duì)質(zhì)量標(biāo)準(zhǔn)值4=62,絕對(duì)質(zhì)量標(biāo)準(zhǔn)值5=45,絕對(duì)質(zhì)量標(biāo)準(zhǔn)值6=23。
V.相對(duì)質(zhì)量標(biāo)準(zhǔn) 通過(guò)上述相對(duì)質(zhì)量標(biāo)準(zhǔn)的計(jì)算公式,可以計(jì)算得到6個(gè)服務(wù)隊(duì)列對(duì)應(yīng)的相對(duì)質(zhì)量標(biāo)準(zhǔn)初始化值分別是相對(duì)質(zhì)量標(biāo)準(zhǔn)值1(1)=25.00%,相對(duì)質(zhì)量標(biāo)準(zhǔn)值3(1)=20.00%,相對(duì)質(zhì)量標(biāo)準(zhǔn)值2(1)=22.50%,相對(duì)質(zhì)量標(biāo)準(zhǔn)值4(1)=15.50%,相對(duì)質(zhì)量標(biāo)準(zhǔn)值5(1)=11.25%,相對(duì)質(zhì)量標(biāo)準(zhǔn)值6(1)=5.75%。
IV.服務(wù)隊(duì)列序號(hào) 通過(guò)上述服務(wù)隊(duì)列序號(hào)的定義,6個(gè)服務(wù)隊(duì)列按其絕對(duì)質(zhì)量標(biāo)準(zhǔn)從高至低進(jìn)行排列,這樣排列得到的各個(gè)服務(wù)隊(duì)列順序號(hào)就是對(duì)應(yīng)服務(wù)隊(duì)列序號(hào),通過(guò)這種方式得到6種服務(wù)類別相應(yīng)的6個(gè)服務(wù)隊(duì)列的服務(wù)隊(duì)列序號(hào)見(jiàn)表1所示。
V.歷史日志 通過(guò)上述歷史日志的定義,歷史日志隊(duì)列初始化就是從隊(duì)尾依次進(jìn)入100個(gè)“0”,初始化后歷史日志隊(duì)列各位都是“0”,6個(gè)服務(wù)隊(duì)列的歷史日志隊(duì)列初始化值是“0”。
VI.絕對(duì)質(zhì)量 通過(guò)上述絕對(duì)質(zhì)量的定義,6個(gè)服務(wù)隊(duì)列絕對(duì)質(zhì)量初始化值是對(duì)應(yīng)絕對(duì)質(zhì)量標(biāo)準(zhǔn)值。
VII.相對(duì)質(zhì)量 通過(guò)上述相對(duì)質(zhì)量的定義,6個(gè)服務(wù)隊(duì)列相對(duì)質(zhì)量初始化值是對(duì)應(yīng)相對(duì)質(zhì)量標(biāo)準(zhǔn)值。
IX.優(yōu)先級(jí) 通過(guò)上述優(yōu)先級(jí)的定義,6個(gè)服務(wù)隊(duì)列優(yōu)先級(jí)初始值是其對(duì)應(yīng)的服務(wù)隊(duì)列序號(hào),它們分別是優(yōu)先級(jí)值1(1)=1,優(yōu)先級(jí)值3(1)=3,優(yōu)先級(jí)值2(1)=2,優(yōu)先級(jí)值4(1)=4,優(yōu)先級(jí)值5(1)=5,優(yōu)先級(jí)值6(1)=6。
X.響應(yīng)方式 通過(guò)上述響應(yīng)方式的定義,6個(gè)服務(wù)隊(duì)列響應(yīng)方式初始值是“1”。
基于上述客戶類別庫(kù)、緩存隊(duì)列、服務(wù)隊(duì)列、絕對(duì)質(zhì)量標(biāo)準(zhǔn)、相對(duì)質(zhì)量標(biāo)準(zhǔn)、服務(wù)隊(duì)列序號(hào)、歷史日志、絕對(duì)質(zhì)量、相對(duì)質(zhì)量、優(yōu)先級(jí)與響應(yīng)方式的參數(shù)初始化值,下面介紹主控初始化、請(qǐng)求分類、實(shí)時(shí)調(diào)度和頁(yè)面定位四個(gè)步驟的實(shí)施例。
第一、主控初始化 當(dāng)t=1(秒)時(shí)刻,主控初始化步驟的程序框圖見(jiàn)圖1所示,其具體操作如下 ①在t=1時(shí)刻,按上述IV至XI定義與公式初始化絕對(duì)質(zhì)量標(biāo)準(zhǔn)、相對(duì)質(zhì)量標(biāo)準(zhǔn)、服務(wù)隊(duì)列序號(hào)、歷史日志、絕對(duì)質(zhì)量、相對(duì)質(zhì)量、優(yōu)先級(jí)、響應(yīng)方式的各個(gè)參數(shù)值。其中絕對(duì)質(zhì)量標(biāo)準(zhǔn)、相對(duì)質(zhì)量標(biāo)準(zhǔn)與服務(wù)隊(duì)列序號(hào)的參數(shù)值在請(qǐng)求分類、實(shí)時(shí)調(diào)度和頁(yè)面定位步驟執(zhí)行中不變,絕對(duì)質(zhì)量、相對(duì)質(zhì)量、歷史日志、優(yōu)先級(jí)、響應(yīng)方式的參數(shù)值隨請(qǐng)求分類、實(shí)時(shí)調(diào)度和頁(yè)面定位步驟的執(zhí)行更新,其初始化結(jié)果見(jiàn)表2所示。
②主控初始化步驟調(diào)用請(qǐng)求分類、實(shí)時(shí)調(diào)度和頁(yè)面定位步驟。
③傳遞時(shí)鐘t=1(秒)參數(shù)給請(qǐng)求分類、實(shí)時(shí)調(diào)度和頁(yè)面定位步驟。
④主控初始化步驟未結(jié)束,時(shí)鐘t步長(zhǎng)增加1,則轉(zhuǎn)③操作。
表2t=1(秒)各個(gè)參數(shù)初始化值
在表2中服務(wù)隊(duì)列1的優(yōu)先級(jí)值=1(最高),服務(wù)隊(duì)列2的優(yōu)先級(jí)值=3,服務(wù)隊(duì)列3的優(yōu)先級(jí)值=2,服務(wù)隊(duì)列4的優(yōu)先級(jí)值=4,服務(wù)隊(duì)列5的優(yōu)先級(jí)值=5,服務(wù)隊(duì)列6的優(yōu)先級(jí)值=6(最低)。
第二、請(qǐng)求分類 當(dāng)t=1446(秒)時(shí)刻,請(qǐng)求分類步驟的程序框圖見(jiàn)圖2所示,其具體操作如下 ①請(qǐng)求分類步驟讀取主控初始化步驟傳遞來(lái)的參數(shù),因參數(shù)不是“結(jié)束”,是“時(shí)鐘t=1446(秒)”,那么根據(jù)實(shí)時(shí)調(diào)度步驟的②至⑥操作,分類TCP監(jiān)聽(tīng)隊(duì)列中8個(gè)客戶請(qǐng)求的操作如下,其分類結(jié)果見(jiàn)表3所示。
②緩存隊(duì)列是空,轉(zhuǎn)④操作。
④TCP監(jiān)聽(tīng)隊(duì)列未空,則讀取TCP監(jiān)聽(tīng)隊(duì)列中客戶請(qǐng)求(1446)R11、R12、R13、R21、R22、R31、R41、R51,按其源IP地址查詢客戶類別庫(kù),根據(jù)其服務(wù)類別確定其所屬服務(wù)隊(duì)列1、服務(wù)隊(duì)列2、服務(wù)隊(duì)列3、服務(wù)隊(duì)列4、服務(wù)隊(duì)列5,轉(zhuǎn)⑤操作。
⑤客戶請(qǐng)求(1446)R11、R12、R13、R21、R22、R31、R41、R51所屬服務(wù)隊(duì)列1、服務(wù)隊(duì)列2、服務(wù)隊(duì)列3、服務(wù)隊(duì)列4、服務(wù)隊(duì)列5未滿,則客戶請(qǐng)求(1446)R11、R12、R13、R21、R22、R31、R41、R51進(jìn)入服務(wù)隊(duì)列1、服務(wù)隊(duì)列2、服務(wù)隊(duì)列3、服務(wù)隊(duì)列4、服務(wù)隊(duì)列5中,分別是R11、R12、R13進(jìn)入服務(wù)隊(duì)列1,R21、R22進(jìn)入服務(wù)隊(duì)列2,R31進(jìn)入服務(wù)隊(duì)列3、R41進(jìn)入服務(wù)隊(duì)列4、R51進(jìn)入服務(wù)隊(duì)列5,從TCP監(jiān)聽(tīng)隊(duì)列中刪除該客戶請(qǐng)求(1446)R11、R12、R13、R21、R22、R31、R41、R51,轉(zhuǎn)①操作。
表3t=1446(秒)8個(gè)客戶請(qǐng)求到對(duì)應(yīng)服務(wù)隊(duì)列情況 同時(shí),在t=1446(秒)時(shí)刻,本發(fā)明方法實(shí)施例的各個(gè)參數(shù)值變化情況如表4所示。
表4t=1446(秒)各個(gè)參數(shù)值變化情況
第三、實(shí)時(shí)調(diào)度 在t=1447(秒)時(shí)刻,實(shí)時(shí)調(diào)度步驟的程序框圖見(jiàn)圖3所示,其具體操作如下 ①實(shí)時(shí)調(diào)度步驟讀取主控初始化步驟傳遞來(lái)的參數(shù),因參數(shù)不是“結(jié)束”,是時(shí)鐘t=1447(秒),那么根據(jù)實(shí)時(shí)調(diào)度步驟的②至⑥操作,調(diào)度服務(wù)隊(duì)列中8個(gè)客戶請(qǐng)求操作如下 ②服務(wù)隊(duì)列1至服務(wù)隊(duì)列5都不是空,則轉(zhuǎn)③操作。
③在6個(gè)服務(wù)隊(duì)列中,選取服務(wù)隊(duì)列2,讀取其客戶請(qǐng)求(1447)R31,轉(zhuǎn)④操作。
④客戶請(qǐng)求(1447)R31超時(shí),則執(zhí)行a、b、c、d、e操作。
a.“1”出隊(duì)歷史日志隊(duì)列2(1446),“0”入隊(duì)歷史日志隊(duì)列2(1446),以隊(duì)列長(zhǎng)度100為模運(yùn)算調(diào)整歷史日志隊(duì)列2(1446)隊(duì)頭指針與隊(duì)尾指針,歷史日志隊(duì)列2(1446)變成為歷史日志隊(duì)列2(1447)。
b.歷史日志值2(1447)=∑(1≤p≤100)[歷史日志隊(duì)列2(1447)]p=88-1+0=87。
c.絕對(duì)質(zhì)量值2(1447)=絕對(duì)質(zhì)量值2(1446)-歷史日志值2(1446)+歷史日志值2(1447)=88-88+87=87。
e.轉(zhuǎn)⑤操作。
⑤相對(duì)質(zhì)量值2(1447)=22.03%<相對(duì)質(zhì)量標(biāo)準(zhǔn)值2=22.50%,則從除服務(wù)隊(duì)列2之外的5個(gè)服務(wù)隊(duì)列中,選取一個(gè)優(yōu)先級(jí)最低且響應(yīng)方式值是“1”的非空服務(wù)隊(duì)列3,置其響應(yīng)方式值3(1447)=0.5,轉(zhuǎn)⑥操作。
⑥按優(yōu)先級(jí)計(jì)算公式,計(jì)算更新6個(gè)服務(wù)隊(duì)列優(yōu)先級(jí)的值(見(jiàn)表5所示),轉(zhuǎn)①操作。
表5t=1447(秒)各個(gè)參數(shù)更新情況
①在t=1448(秒)時(shí)刻,根據(jù)上述實(shí)時(shí)調(diào)度步驟的具體操作首先實(shí)時(shí)調(diào)度步驟讀取主控初始化步驟傳遞來(lái)的參數(shù)。因參數(shù)不是“結(jié)束”,是時(shí)鐘t=1448(秒),那么根據(jù)實(shí)時(shí)調(diào)度步驟的②至⑥操作,調(diào)度服務(wù)隊(duì)列中7個(gè)客戶請(qǐng)求操作如下 ②服務(wù)隊(duì)列1、服務(wù)隊(duì)列3、服務(wù)隊(duì)列4、服務(wù)隊(duì)列5都不是空,則轉(zhuǎn)③操作。
③在5個(gè)服務(wù)隊(duì)列中,選取服務(wù)隊(duì)列5,讀取其客戶請(qǐng)求5(1448)R51,轉(zhuǎn)④操作。
④客戶請(qǐng)求5(1448)R51沒(méi)有超時(shí),則執(zhí)行f、g、h、i、j操作。
f.把客戶請(qǐng)求5(1448)R51傳遞給頁(yè)面定位步驟。
g.“0.5”出隊(duì)歷史日志隊(duì)列5(1447),“1”入隊(duì)歷史日志隊(duì)列5(1447),以隊(duì)列長(zhǎng)度100為模運(yùn)算調(diào)整歷史日志隊(duì)列5(1447)隊(duì)頭指針與隊(duì)尾指針,歷史日志隊(duì)列5(1447)變成為歷史日志隊(duì)列5(1448)。
h.歷史日志值5(1448)=∑(1≤p≤100)[歷史日志隊(duì)列5(1448)]p=43-0.5+1=43.5。
i.絕對(duì)質(zhì)量值5(1448)=絕對(duì)質(zhì)量值5(1447)-歷史日志值5(1447)+歷史日志值5(1448)=43-43+43.5=43.5。
⑤相對(duì)質(zhì)量值5(1448)=11.00%<相對(duì)質(zhì)量標(biāo)準(zhǔn)值5=11.25%,則從除服務(wù)隊(duì)列2之外的5個(gè)服務(wù)隊(duì)列中,選取一個(gè)優(yōu)先級(jí)最低且響應(yīng)方式值是“1”的非空服務(wù)隊(duì)列1,置其響應(yīng)方式值1(1448)=0.5,轉(zhuǎn)⑥操作。
⑥按優(yōu)先級(jí)計(jì)算公式,計(jì)算更新6個(gè)服務(wù)隊(duì)列優(yōu)先級(jí)的值(見(jiàn)表6所示),轉(zhuǎn)①操作。
表6t=1448(秒)各個(gè)參數(shù)更新情況
第四、頁(yè)面定位 在t=1448(秒)時(shí)刻,頁(yè)面定位步驟的程序框圖見(jiàn)圖4所示,其具體操作如下 ①在t=1448(秒)時(shí)刻,根據(jù)上述頁(yè)面定位步驟的具體操作首先頁(yè)面定位步驟讀取主控初始化步驟傳遞來(lái)的參數(shù),參數(shù)不是“結(jié)束”,是時(shí)鐘t=1448(秒);然后根據(jù)頁(yè)面定位步驟的②至⑤操作,響應(yīng)實(shí)時(shí)調(diào)度步驟傳遞過(guò)來(lái)的客戶請(qǐng)求5(1448)R51操作如下 ②接收從實(shí)時(shí)調(diào)度步驟傳遞的客戶請(qǐng)求5(1448)R51,解析客戶請(qǐng)求5(1448)R51的統(tǒng)一資源定位符,以客戶請(qǐng)求5(1448)R51的統(tǒng)一資源定位符為關(guān)鍵字,在Web服務(wù)器系統(tǒng)中頁(yè)面數(shù)據(jù)庫(kù)查找對(duì)應(yīng)頁(yè)面。
③查找到對(duì)應(yīng)頁(yè)面,則轉(zhuǎn)④操作。
④客戶請(qǐng)求5(1448)R51所屬服務(wù)隊(duì)列5的響應(yīng)方式值5(1448)=0.5,則用低質(zhì)量頁(yè)面響應(yīng)客戶請(qǐng)求5(1448)R51,轉(zhuǎn)①操作。
下面是綜合本發(fā)明方法的主控初始化、請(qǐng)求分類、實(shí)時(shí)調(diào)度與頁(yè)面定位四個(gè)步驟的四個(gè)實(shí)施例,其目的是對(duì)比請(qǐng)求先來(lái)先服務(wù)方法與本發(fā)明方法的請(qǐng)求響應(yīng)率、本發(fā)明方法服務(wù)類別A、B、E的請(qǐng)求響應(yīng)率、本發(fā)明方法服務(wù)類別C、D、F的請(qǐng)求響應(yīng)率,這些實(shí)施例的具體說(shuō)明如下 請(qǐng)求先來(lái)先服務(wù)方法與本發(fā)明方法的請(qǐng)求響應(yīng)對(duì)比實(shí)施例 為了分析請(qǐng)求先來(lái)先服務(wù)方法與本發(fā)明方法的性能差異,下面介紹請(qǐng)求先來(lái)先服務(wù)方法與本發(fā)明方法的客戶請(qǐng)求響應(yīng)對(duì)比實(shí)施例,實(shí)施例時(shí)鐘單位是秒。實(shí)施例在1800(秒)時(shí)間內(nèi),按客戶請(qǐng)求步長(zhǎng)=600(請(qǐng)求數(shù)量/秒)不斷增加客戶請(qǐng)求到達(dá)數(shù)量,其中客戶請(qǐng)求到達(dá)范圍從2900(請(qǐng)求數(shù)量/秒)至9900(請(qǐng)求數(shù)量/秒)??蛻粽?qǐng)求到達(dá)量為2900(請(qǐng)求數(shù)量/秒)代表正常情況下Web服務(wù)器系統(tǒng)的客戶請(qǐng)求訪問(wèn)量,客戶請(qǐng)求到達(dá)量為9500(請(qǐng)求數(shù)量/秒)代表高峰期間Web服務(wù)器系統(tǒng)的客戶請(qǐng)求訪問(wèn)量。客戶請(qǐng)求響應(yīng)率是指某時(shí)刻客戶請(qǐng)求響應(yīng)成功的比例,顯然客戶請(qǐng)求響應(yīng)率越高,客戶請(qǐng)求響應(yīng)質(zhì)量就越好。
圖5是請(qǐng)求先來(lái)先服務(wù)方法與本發(fā)明方法的客戶請(qǐng)求響應(yīng)對(duì)比實(shí)施例,其縱坐標(biāo)為客戶請(qǐng)求響應(yīng)率,單位為%,橫坐標(biāo)為客戶請(qǐng)求數(shù)量,單位為請(qǐng)求數(shù)量/秒。在圖5中,■曲線為本發(fā)明方法的實(shí)施例曲線,▲曲線為請(qǐng)求先來(lái)先服務(wù)方法的實(shí)施例曲線。從圖5中數(shù)據(jù)可以知道,在客戶請(qǐng)求數(shù)量≤2900(請(qǐng)求數(shù)量/秒)較低客戶請(qǐng)求訪問(wèn)量時(shí),請(qǐng)求先來(lái)先服務(wù)方法與本發(fā)明方法都有較低的客戶請(qǐng)求丟失率。例如,當(dāng)客戶請(qǐng)求數(shù)量=2900(請(qǐng)求數(shù)量/秒)時(shí),請(qǐng)求先來(lái)先服務(wù)方法與本發(fā)明方法的客戶請(qǐng)求響應(yīng)率=99%。隨著客戶請(qǐng)求數(shù)量不斷增加,客戶請(qǐng)求響應(yīng)率不斷下降,當(dāng)客戶請(qǐng)求數(shù)量=5900(請(qǐng)求數(shù)量/秒)時(shí),請(qǐng)求先來(lái)先服務(wù)方法的客戶請(qǐng)求響應(yīng)率=76%,本發(fā)明方法的客戶請(qǐng)求響應(yīng)率=87%,明顯地,請(qǐng)求先來(lái)先服務(wù)方法的客戶請(qǐng)求響應(yīng)率低于本發(fā)明方法的客戶請(qǐng)求響應(yīng)率,本發(fā)明方法的客戶請(qǐng)求響應(yīng)率-請(qǐng)求先來(lái)先服務(wù)方法的客戶請(qǐng)求響應(yīng)率=87-76%=11%。隨著客戶請(qǐng)求數(shù)量進(jìn)一步的增加,請(qǐng)求先來(lái)先服務(wù)方法的客戶請(qǐng)求響應(yīng)率與本發(fā)明方法的客戶請(qǐng)求響應(yīng)率差值進(jìn)一步增大,當(dāng)客戶請(qǐng)求數(shù)量=9500(請(qǐng)求數(shù)量/秒)時(shí),本發(fā)明方法的客戶請(qǐng)求響應(yīng)率=68%,請(qǐng)求先來(lái)先服務(wù)方法的客戶請(qǐng)求響應(yīng)率=50%,本發(fā)明方法的客戶請(qǐng)求響應(yīng)率-請(qǐng)求先來(lái)先服務(wù)方法的客戶請(qǐng)求響應(yīng)率=68%-50%=18%,此時(shí)的本發(fā)明方法的客戶請(qǐng)求響應(yīng)率與請(qǐng)求先來(lái)先服務(wù)方法的客戶請(qǐng)求響應(yīng)率差值18%,明顯大于當(dāng)客戶請(qǐng)求數(shù)量=5900(請(qǐng)求數(shù)量/秒)時(shí),本發(fā)明方法的客戶請(qǐng)求響應(yīng)率與請(qǐng)求先來(lái)先服務(wù)方法的客戶請(qǐng)求響應(yīng)率差值11%。因此,本發(fā)明方法的客戶請(qǐng)求響應(yīng)率高于請(qǐng)求先來(lái)先服務(wù)方法的客戶請(qǐng)求響應(yīng)率。
本發(fā)明方法服務(wù)類別A、B、E的請(qǐng)求響應(yīng)對(duì)比實(shí)施例 為了分析本發(fā)明方法的性能,下面介紹本發(fā)明方法的客戶請(qǐng)求屬于服務(wù)類別A、B、E的響應(yīng)對(duì)比實(shí)施例,實(shí)施例時(shí)鐘單位是秒。實(shí)施例在1800(秒)時(shí)間內(nèi),按客戶請(qǐng)求步長(zhǎng)=600(請(qǐng)求數(shù)量/秒)不斷增加客戶請(qǐng)求到達(dá)數(shù)量,其中客戶請(qǐng)求到達(dá)范圍從2900(請(qǐng)求數(shù)量/秒)至9900(請(qǐng)求數(shù)量/秒)??蛻粽?qǐng)求到達(dá)數(shù)量為2900(請(qǐng)求數(shù)量/秒)代表正常情況下Web服務(wù)器系統(tǒng)的客戶請(qǐng)求訪問(wèn)量,客戶請(qǐng)求到達(dá)數(shù)量為9500(請(qǐng)求數(shù)量/秒)代表高峰期間Web服務(wù)器系統(tǒng)的客戶請(qǐng)求訪問(wèn)量??蛻粽?qǐng)求響應(yīng)率是指某時(shí)刻客戶請(qǐng)求響應(yīng)成功的比例,顯然客戶請(qǐng)求響應(yīng)率越高,客戶請(qǐng)求響應(yīng)質(zhì)量就越好。
圖6是本發(fā)明方法的客戶請(qǐng)求屬于服務(wù)類別A、B、E的響應(yīng)對(duì)比實(shí)施例,其縱橫坐標(biāo)與圖5相同。在圖6中,◆曲線為服務(wù)類別A實(shí)施例曲線,■曲線為服務(wù)類別B實(shí)施例曲線,▲曲線為服務(wù)類別E實(shí)施例曲線。從上述表1可以知道,服務(wù)類別A的絕對(duì)質(zhì)量標(biāo)準(zhǔn)=100%,即服務(wù)類別A的客戶請(qǐng)求響應(yīng)率是100%;服務(wù)類別B的絕對(duì)質(zhì)量標(biāo)準(zhǔn)=80%,即服務(wù)類別B的客戶請(qǐng)求響應(yīng)率是80%;服務(wù)類別E的絕對(duì)質(zhì)量標(biāo)準(zhǔn)=45%,即服務(wù)類別E的客戶請(qǐng)求響應(yīng)率是45%。從圖6數(shù)據(jù)可以知道,屬于服務(wù)類別A、B、E的平均客戶請(qǐng)求響應(yīng)率情況如下 ①服務(wù)類別A的平均客戶請(qǐng)求響應(yīng)率 =[(100%×12)/12]%≈100% 達(dá)到了服務(wù)類別A的絕對(duì)質(zhì)量標(biāo)準(zhǔn)=100%。
②服務(wù)類別B的平均客戶請(qǐng)求響應(yīng)率 =[100%+99%×4+98%+86%+64%+68%+66%+79%+71%)/12]×100%≈85.7% 超過(guò)了服務(wù)類別B的絕對(duì)質(zhì)量標(biāo)準(zhǔn)=80%。
③服務(wù)類別E的平均請(qǐng)求響應(yīng)率 =[(100%+73%+71%×2+69%+77%+38%×6)/12]×100%≈57.4% 超過(guò)了服務(wù)類別E的絕對(duì)質(zhì)量標(biāo)準(zhǔn)=45%。
因此,本發(fā)明方法使服務(wù)類別A、B、E的客戶請(qǐng)求響應(yīng)率達(dá)到了它們的絕對(duì)質(zhì)量標(biāo)準(zhǔn)。
本發(fā)明方法服務(wù)類別C、D、F的請(qǐng)求響應(yīng)對(duì)比實(shí)施例 為了分析本發(fā)明方法的性能,下面介紹本發(fā)明方法請(qǐng)求屬于服務(wù)類別C、D、F的響應(yīng)對(duì)比實(shí)施例,實(shí)施情況與上述服務(wù)類別A、B、C的響應(yīng)對(duì)比實(shí)施例相同。
圖7是本發(fā)明方法的客戶請(qǐng)求屬于服務(wù)類別C、D、F的響應(yīng)對(duì)比實(shí)施例,其縱橫坐標(biāo)與圖5相同。在圖7中,◆曲線為服務(wù)類別C實(shí)施例曲線,■曲線為服務(wù)類別D實(shí)施例曲線,▲曲線為服務(wù)類別F實(shí)施例曲線。從上述表1可以知道,服務(wù)類別C的絕對(duì)質(zhì)量標(biāo)準(zhǔn)=90%,即服務(wù)類別C的客戶請(qǐng)求響應(yīng)率是90%;服務(wù)類別D的絕對(duì)質(zhì)量標(biāo)準(zhǔn)=62%,即服務(wù)類別D的客戶請(qǐng)求響應(yīng)率是62%;服務(wù)類別F的絕對(duì)質(zhì)量標(biāo)準(zhǔn)=23%,即服務(wù)類別F的客戶請(qǐng)求響應(yīng)率是23%。從圖7數(shù)據(jù)可以知道,屬于服務(wù)類別C、D、F的平均客戶請(qǐng)求響應(yīng)率情況如下 ①服務(wù)類別C的平均請(qǐng)求響應(yīng)率 =[(100%×6+98%×3+96%+99%+95%)/12]×100%≈98.7% 超過(guò)了服務(wù)類別C的絕對(duì)質(zhì)量標(biāo)準(zhǔn)=90%。
②服務(wù)類別D的平均請(qǐng)求響應(yīng)率 =[(100%+87%×2+82%+86%+85%+46%×2+52%+48%+44%+45%)/12]×100% ≈67.3% 超過(guò)了服務(wù)類別D的絕對(duì)質(zhì)量標(biāo)準(zhǔn)=62%。
③服務(wù)類別F的平均請(qǐng)求響應(yīng)率 =[(96%+36%×2+38%+32%+35%+25%×2+23%×3+24%)/12]×100%≈34.7% 超過(guò)了服務(wù)類別F的絕對(duì)質(zhì)量標(biāo)準(zhǔn)=23%。
因此,本發(fā)明方法使服務(wù)類別C、D、F的客戶請(qǐng)求響應(yīng)率達(dá)到并超過(guò)了它們的絕對(duì)質(zhì)量標(biāo)準(zhǔn)。
從上述圖5至圖7的實(shí)施例知道,請(qǐng)求先來(lái)先服務(wù)方法的客戶請(qǐng)求響應(yīng)率比本發(fā)明方法的客戶請(qǐng)求響應(yīng)率低。因此,本發(fā)明方法在實(shí)現(xiàn)了客戶請(qǐng)求“非一視同仁”的區(qū)分服務(wù)同時(shí),比請(qǐng)求先來(lái)先服務(wù)方法提高了客戶請(qǐng)求的響應(yīng)率與服務(wù)質(zhì)量,特別是那些優(yōu)先級(jí)高的客戶請(qǐng)求的響應(yīng)率與服務(wù)質(zhì)量。同時(shí),本發(fā)明方法通過(guò)區(qū)分服務(wù)平衡了Web服務(wù)器系統(tǒng)網(wǎng)絡(luò)端口的客戶請(qǐng)求負(fù)荷,實(shí)現(xiàn)了合理分配Web服務(wù)器系統(tǒng)網(wǎng)絡(luò)端口的帶寬。
二、根據(jù)上述本發(fā)明方法設(shè)計(jì)的保證服務(wù)質(zhì)量的Web服務(wù)器系統(tǒng)請(qǐng)求區(qū)分服務(wù)中間件實(shí)施例 本實(shí)施例是根據(jù)本發(fā)明方法與中間件技術(shù),將本發(fā)明方法設(shè)計(jì)成為一種獨(dú)立于操作系統(tǒng)的中間件。本中間件的總體結(jié)構(gòu)示意圖8所示,包括主控初始化模塊、請(qǐng)求分類模塊、實(shí)時(shí)調(diào)度模塊和頁(yè)面定位模塊四個(gè)部分,它們的具體內(nèi)容分別介紹如下 第一部分主控初始化模塊是整個(gè)中間件的主控模塊,它包括運(yùn)行時(shí)鐘單元、參數(shù)初始化單元、模塊調(diào)用單元及模塊結(jié)束單元。運(yùn)行時(shí)鐘單元含有時(shí)鐘設(shè)置程序和時(shí)鐘傳遞程序,參數(shù)初始化單元含有手工設(shè)置客戶類別庫(kù)與絕對(duì)質(zhì)量標(biāo)準(zhǔn)參數(shù)操作程序,以及緩存隊(duì)列、服務(wù)隊(duì)列、相對(duì)質(zhì)量標(biāo)準(zhǔn)、服務(wù)隊(duì)列序號(hào)、絕對(duì)質(zhì)量、相對(duì)質(zhì)量、歷史日志、優(yōu)先級(jí)、響應(yīng)方式的參數(shù)的初始化程序,模塊調(diào)用單元含有請(qǐng)求分類模塊、實(shí)時(shí)調(diào)度模塊、頁(yè)面定位模塊的模塊調(diào)用程序,模塊結(jié)束單元含有請(qǐng)求分類模塊、實(shí)時(shí)調(diào)度模塊、頁(yè)面定位模塊的結(jié)束運(yùn)行程序。
本發(fā)明方法的中間件在開(kāi)始運(yùn)行時(shí)第一步,運(yùn)行時(shí)鐘單元設(shè)置時(shí)鐘初始值t=1(秒)。第二步,參數(shù)初始化單元向系統(tǒng)管理員提供手工設(shè)置客戶類別庫(kù)與絕對(duì)質(zhì)量標(biāo)準(zhǔn)參數(shù)操作界面,通過(guò)這個(gè)界面系統(tǒng)管理員手工設(shè)置客戶類別庫(kù)與絕對(duì)質(zhì)量標(biāo)準(zhǔn)初始值。當(dāng)客戶類別庫(kù)與絕對(duì)質(zhì)量標(biāo)準(zhǔn)初始值設(shè)置完成后,參數(shù)初始化單元按照緩存隊(duì)列、服務(wù)隊(duì)列、服務(wù)隊(duì)列序號(hào)與歷史日志的定義與公式,生成緩存隊(duì)列、服務(wù)隊(duì)列、服務(wù)隊(duì)列序號(hào)、歷史日志隊(duì)列,以及計(jì)算相對(duì)質(zhì)量標(biāo)準(zhǔn)、絕對(duì)質(zhì)量、相對(duì)質(zhì)量、優(yōu)先級(jí)與響應(yīng)方式的參數(shù)初始值。第三步,模塊調(diào)用單元調(diào)用請(qǐng)求分類模塊、實(shí)時(shí)調(diào)度模塊、頁(yè)面定位模塊開(kāi)始運(yùn)行,運(yùn)行時(shí)鐘傳遞單元同時(shí)把時(shí)鐘參數(shù)t傳遞給請(qǐng)求分類模塊、實(shí)時(shí)調(diào)度模塊與頁(yè)面定位模塊,并負(fù)責(zé)下一個(gè)時(shí)鐘t的更新與傳遞。當(dāng)需要結(jié)束本中間件的運(yùn)行時(shí),模塊結(jié)束單元通過(guò)傳遞“結(jié)束”參數(shù)給請(qǐng)求分類模塊、實(shí)時(shí)調(diào)度模塊、頁(yè)面定位模塊,結(jié)束它們的運(yùn)行。
第二部分請(qǐng)求分類模塊包括請(qǐng)求分類單元、客戶類別庫(kù)、n個(gè)長(zhǎng)度為“100”的服務(wù)隊(duì)列和一個(gè)長(zhǎng)度為100的緩存隊(duì)列。請(qǐng)求分類單元與TCP監(jiān)聽(tīng)隊(duì)列連接。在開(kāi)始運(yùn)行時(shí)第一步,請(qǐng)求分類單元從TCP監(jiān)聽(tīng)隊(duì)列讀取客戶請(qǐng)求。第二步,請(qǐng)求分類單元按客戶請(qǐng)求源IP地址查詢客戶類別庫(kù),根據(jù)其服務(wù)類別分類它們到對(duì)應(yīng)的服務(wù)隊(duì)列中。
第三部分實(shí)時(shí)調(diào)度模塊包括讀取請(qǐng)求單元、參數(shù)調(diào)整單元和請(qǐng)求傳遞單元。讀取請(qǐng)求單元與請(qǐng)求分類模塊的服務(wù)隊(duì)列相接,含有隊(duì)列優(yōu)先級(jí)排序程序和客戶請(qǐng)求讀取程序;參數(shù)調(diào)整單元含有t時(shí)刻絕對(duì)質(zhì)量、相對(duì)質(zhì)量、優(yōu)先級(jí)、響應(yīng)方式的參數(shù)值的計(jì)算程序;請(qǐng)求傳遞單元與頁(yè)面定位模塊連接。
在開(kāi)始運(yùn)行時(shí)第一步,請(qǐng)求讀取單元讀取一個(gè)優(yōu)先級(jí)最高的非空服務(wù)隊(duì)列中客戶請(qǐng)求。第二步,參數(shù)調(diào)整單元根據(jù)客戶請(qǐng)求是否超時(shí)及響應(yīng)方式,調(diào)整該客戶請(qǐng)求對(duì)應(yīng)服務(wù)隊(duì)列的歷史日志值、絕對(duì)質(zhì)量值、相對(duì)質(zhì)量值,以及根據(jù)相對(duì)質(zhì)量值是否滿足相對(duì)質(zhì)量標(biāo)準(zhǔn),合理調(diào)整其他服務(wù)隊(duì)列的響應(yīng)方式值,以保證優(yōu)先級(jí)最高的非空服務(wù)隊(duì)列中客戶請(qǐng)求的服務(wù)質(zhì)量。第三步,請(qǐng)求傳遞單元把請(qǐng)求讀取單元讀取的客戶請(qǐng)求傳送給頁(yè)面定位模塊。
第四部分頁(yè)面定位模塊包括請(qǐng)求接收單元與請(qǐng)求定位單元。
在開(kāi)始運(yùn)行時(shí)第一步,請(qǐng)求接收單元接收實(shí)時(shí)調(diào)度模塊傳遞過(guò)來(lái)的客戶請(qǐng)求。第二步,請(qǐng)求定位單元在Web服務(wù)器系統(tǒng)的頁(yè)面數(shù)據(jù)庫(kù)中查找到對(duì)應(yīng)質(zhì)量頁(yè)面,并根據(jù)此刻需要響應(yīng)的客戶請(qǐng)求所屬服務(wù)隊(duì)列的響應(yīng)方式,讀取對(duì)應(yīng)質(zhì)量頁(yè)面響應(yīng)該客戶請(qǐng)求。
權(quán)利要求
1、一種保證服務(wù)質(zhì)量的Web服務(wù)器系統(tǒng)請(qǐng)求區(qū)分服務(wù)方法,其特征在于
包括主控初始化、請(qǐng)求分類、實(shí)時(shí)調(diào)度和頁(yè)面定位四個(gè)步驟,它們都是安裝在Web服務(wù)器系統(tǒng)中獨(dú)立運(yùn)行的進(jìn)程,其主要實(shí)現(xiàn)過(guò)程是首先把到達(dá)Web服務(wù)器系統(tǒng)客戶請(qǐng)求,按其源IP地址查詢客戶類別庫(kù),根據(jù)其服務(wù)類別分類它們到對(duì)應(yīng)服務(wù)隊(duì)列中;其次讀取優(yōu)先級(jí)最高的服務(wù)隊(duì)列中客戶請(qǐng)求,按其響應(yīng)方式選取對(duì)應(yīng)質(zhì)量頁(yè)面進(jìn)行響應(yīng)處理;最后實(shí)時(shí)調(diào)整各個(gè)服務(wù)隊(duì)列的歷史日志、絕對(duì)質(zhì)量、響應(yīng)方式、相對(duì)質(zhì)量與優(yōu)先級(jí)參數(shù)。
2、根據(jù)權(quán)利要求1所述的保證服務(wù)質(zhì)量的Web服務(wù)器系統(tǒng)請(qǐng)求區(qū)分服務(wù)方法,其特征在于
所述主控初始化、請(qǐng)求分類、實(shí)時(shí)調(diào)度與頁(yè)面定位四個(gè)步驟涉及到的庫(kù)、隊(duì)列、參數(shù)與公式如下
I.客戶類別庫(kù)
客戶類別庫(kù)是一個(gè)二維表,包括服務(wù)類別、服務(wù)隊(duì)列序號(hào)、客戶端源IP地址、絕對(duì)質(zhì)量標(biāo)準(zhǔn)四個(gè)字段;服務(wù)類別表示W(wǎng)eb服務(wù)器系統(tǒng)向客戶請(qǐng)求提供的響應(yīng)服務(wù)種類,服務(wù)隊(duì)列序號(hào)表示服務(wù)隊(duì)列的一個(gè)順序編號(hào),每個(gè)服務(wù)隊(duì)列只有一個(gè)唯一的編號(hào);客戶端源IP地址表示發(fā)出客戶請(qǐng)求的那個(gè)客戶端IP地址,絕對(duì)質(zhì)量標(biāo)準(zhǔn)表示W(wǎng)eb服務(wù)器系統(tǒng)向客戶請(qǐng)求提供的響應(yīng)服務(wù)的質(zhì)量高低,每種服務(wù)類別對(duì)應(yīng)一種絕對(duì)服務(wù)質(zhì)量標(biāo)準(zhǔn),絕對(duì)質(zhì)量標(biāo)準(zhǔn)與服務(wù)類別構(gòu)成一一對(duì)應(yīng)關(guān)系,它們的數(shù)量總數(shù)為n;客戶類別庫(kù)以服務(wù)類別作為關(guān)鍵字索引,其初始化值由系統(tǒng)管理員根據(jù)提供的服務(wù)類別手工設(shè)置;
II.緩存隊(duì)列
緩存隊(duì)列是一個(gè)先進(jìn)先出循環(huán)隊(duì)列,其隊(duì)列長(zhǎng)度是“100”,它用于保存請(qǐng)求分類步驟中因服務(wù)隊(duì)列滿而暫時(shí)無(wú)法進(jìn)入服務(wù)隊(duì)列的客戶請(qǐng)求,當(dāng)客戶請(qǐng)求入隊(duì)或出隊(duì)時(shí),緩存隊(duì)列的隊(duì)尾指針或隊(duì)頭指針按?!?00”運(yùn)算調(diào)整,其初始化值是不包含任何客戶請(qǐng)求的一個(gè)空循環(huán)隊(duì)列;
III.服務(wù)隊(duì)列
服務(wù)隊(duì)列是一個(gè)先進(jìn)先出循環(huán)隊(duì)列,其隊(duì)列長(zhǎng)度是“100”,它用于保存被請(qǐng)求分類步驟分類的客戶請(qǐng)求,當(dāng)客戶請(qǐng)求入隊(duì)或出隊(duì)時(shí),服務(wù)隊(duì)列的隊(duì)尾指針或隊(duì)頭指針按?!?00”運(yùn)算調(diào)整;每種服務(wù)類別對(duì)應(yīng)一個(gè)服務(wù)隊(duì)列,服務(wù)隊(duì)列的初始化值是不包含任何客戶請(qǐng)求的n個(gè)空循環(huán)隊(duì)列;
IV.絕對(duì)質(zhì)量標(biāo)準(zhǔn)
每個(gè)服務(wù)隊(duì)列都有一個(gè)絕對(duì)質(zhì)量標(biāo)準(zhǔn),它表示W(wǎng)eb服務(wù)器系統(tǒng)響應(yīng)處理一個(gè)服務(wù)隊(duì)列中客戶請(qǐng)求的質(zhì)量標(biāo)準(zhǔn),其取值是[100,0)之間的一個(gè)正整數(shù),最大值“100”代表Web服務(wù)器系統(tǒng)應(yīng)該100%響應(yīng)處理該服務(wù)隊(duì)列中客戶請(qǐng)求;絕對(duì)質(zhì)量標(biāo)準(zhǔn)的初始化值由系統(tǒng)管理員根據(jù)Web服務(wù)器系統(tǒng)提供的服務(wù)類別手工設(shè)置;
V.相對(duì)質(zhì)量標(biāo)準(zhǔn)
每個(gè)服務(wù)隊(duì)列都有一個(gè)相對(duì)質(zhì)量標(biāo)準(zhǔn),它表示一個(gè)服務(wù)隊(duì)列的絕對(duì)質(zhì)量標(biāo)準(zhǔn)占所有服務(wù)隊(duì)列的絕對(duì)質(zhì)量標(biāo)準(zhǔn)總和的百分比,第i個(gè)服務(wù)隊(duì)列相對(duì)質(zhì)量標(biāo)準(zhǔn)值的計(jì)算公式如下
其中i,j是服務(wù)隊(duì)列的序號(hào),1≤i≤n;
VI.服務(wù)隊(duì)列序號(hào)
每個(gè)服務(wù)隊(duì)列有一個(gè)唯一的序號(hào),其取值范圍是[1,n],各個(gè)服務(wù)隊(duì)列按其絕對(duì)質(zhì)量標(biāo)準(zhǔn)從高至低進(jìn)行排列,得到的各個(gè)服務(wù)隊(duì)列順序號(hào)就是對(duì)應(yīng)服務(wù)隊(duì)列序號(hào);
VII.歷史日志
每個(gè)服務(wù)隊(duì)列都有一個(gè)歷史日志隊(duì)列,歷史日志隊(duì)列是一個(gè)先進(jìn)先出循環(huán)隊(duì)列,其隊(duì)列長(zhǎng)度是“100”,它用于保存服務(wù)隊(duì)列中最近100個(gè)客戶請(qǐng)求的響應(yīng)方式值;每個(gè)服務(wù)隊(duì)列的歷史日志隊(duì)列中響應(yīng)方式值,隨著客戶請(qǐng)求不斷得到響應(yīng)處理而實(shí)時(shí)更新,歷史日志隊(duì)列中響應(yīng)方式值的更新方法是當(dāng)一個(gè)客戶請(qǐng)求得到響應(yīng)處理時(shí),歷史日志隊(duì)列隊(duì)頭第一位響應(yīng)方式值出隊(duì),該客戶請(qǐng)求所屬服務(wù)隊(duì)列的響應(yīng)方式值入隊(duì)歷史日志隊(duì)列,以隊(duì)列長(zhǎng)度100為模運(yùn)算調(diào)整歷史日志隊(duì)列隊(duì)頭指針與隊(duì)尾指針;初始化后歷史日志隊(duì)列各位都是“0”;歷史日志值是從隊(duì)尾至隊(duì)頭逐位累加各位響應(yīng)方式值得到的總和,其初始化值是“0”;第t時(shí)刻第i個(gè)服務(wù)隊(duì)列歷史日志值的計(jì)算公式如下
歷史日志值i(t)=∑(1≤p≤100)[歷史日志隊(duì)列i(t)]p,其中p是歷史日志隊(duì)列i(t)中指向各個(gè)響應(yīng)方式值的指針;
VIII.絕對(duì)質(zhì)量
每個(gè)服務(wù)隊(duì)列都有一個(gè)絕對(duì)質(zhì)量,它表示一個(gè)服務(wù)隊(duì)列中客戶請(qǐng)求得到Web服務(wù)器系統(tǒng)響應(yīng)處理的自身質(zhì)量,其初始化值是對(duì)應(yīng)絕對(duì)質(zhì)量標(biāo)準(zhǔn)值;第t時(shí)刻第i個(gè)服務(wù)隊(duì)列絕對(duì)質(zhì)量值的計(jì)算公式如下
絕對(duì)質(zhì)量值i(t)=絕對(duì)質(zhì)量值i(t-1)-歷史日志值i(t-1)+歷史日志值i(t);
IX.相對(duì)質(zhì)量
每個(gè)服務(wù)隊(duì)列都有一個(gè)相對(duì)質(zhì)量,它表示一個(gè)服務(wù)隊(duì)列的絕對(duì)質(zhì)量占所有服務(wù)隊(duì)列的絕對(duì)質(zhì)量總和的百分比,其初始化值是對(duì)應(yīng)相對(duì)質(zhì)量標(biāo)準(zhǔn)值;第t時(shí)刻第i個(gè)服務(wù)隊(duì)列相對(duì)質(zhì)量值的計(jì)算公式如下
X.優(yōu)先級(jí)
每個(gè)服務(wù)隊(duì)列都有一個(gè)優(yōu)先級(jí),它表示一個(gè)服務(wù)隊(duì)列得到Web服務(wù)器系統(tǒng)響應(yīng)處理優(yōu)先次序,處于同一個(gè)服務(wù)隊(duì)列中客戶請(qǐng)求具有相同的優(yōu)先級(jí);優(yōu)先級(jí)取值是[1,2n]之間的一個(gè)整數(shù),優(yōu)先級(jí)值越小表示對(duì)應(yīng)服務(wù)隊(duì)列中客戶請(qǐng)求得到Web服務(wù)器系統(tǒng)響應(yīng)處理越優(yōu)先;每個(gè)服務(wù)隊(duì)列優(yōu)先級(jí)初始值是對(duì)應(yīng)服務(wù)隊(duì)列序號(hào);第t時(shí)刻第i個(gè)服務(wù)隊(duì)列優(yōu)先級(jí)值的計(jì)算公式如下
XI.響應(yīng)方式
每個(gè)服務(wù)隊(duì)列都有一個(gè)響應(yīng)方式,它表示一個(gè)服務(wù)隊(duì)列中客戶請(qǐng)求用什么質(zhì)量頁(yè)面進(jìn)行響應(yīng)處理;響應(yīng)方式有三種客戶請(qǐng)求精確響應(yīng),用高質(zhì)量頁(yè)面響應(yīng)處理該客戶請(qǐng)求;客戶請(qǐng)求近似響應(yīng),用低質(zhì)量頁(yè)面響應(yīng)處理該客戶請(qǐng)求;客戶請(qǐng)求出現(xiàn)超時(shí),直接丟棄不響應(yīng)處理該客戶請(qǐng)求;為了實(shí)現(xiàn)服務(wù)隊(duì)列的響應(yīng)方式,本方法把Web服務(wù)器系統(tǒng)中頁(yè)面設(shè)計(jì)成兩種質(zhì)量等級(jí)高質(zhì)量頁(yè)面和低質(zhì)量頁(yè)面;未刪除Flash或圖片或音樂(lè)等信息的頁(yè)面是高質(zhì)量頁(yè)面,已刪除Flash或圖片或音樂(lè)等信息的頁(yè)面是低質(zhì)量頁(yè)面;響應(yīng)方式初始值是“1”;響應(yīng)方式取值有三種,第t時(shí)刻第i個(gè)服務(wù)隊(duì)列響應(yīng)方式值的計(jì)算公式如下
上述絕對(duì)質(zhì)量標(biāo)準(zhǔn)、相對(duì)質(zhì)量標(biāo)準(zhǔn)與服務(wù)隊(duì)列序號(hào)的參數(shù)值在請(qǐng)求分類、實(shí)時(shí)調(diào)度和頁(yè)面定位步驟執(zhí)行中不變,絕對(duì)質(zhì)量、相對(duì)質(zhì)量、歷史日志、優(yōu)先級(jí)、響應(yīng)方式的參數(shù)值隨請(qǐng)求分類、實(shí)時(shí)調(diào)度和頁(yè)面定位步驟的執(zhí)行更新。
3、根據(jù)權(quán)利要求1或2所述的保證服務(wù)質(zhì)量的Web服務(wù)器系統(tǒng)請(qǐng)求區(qū)分服務(wù)方法,其特征在于
所述的主控初始化步驟第t時(shí)刻操作如下
①按本方法設(shè)置的初始化值和計(jì)算公式初始化絕對(duì)質(zhì)量標(biāo)準(zhǔn)、相對(duì)質(zhì)量標(biāo)準(zhǔn)、服務(wù)隊(duì)列序號(hào)、絕對(duì)質(zhì)量、相對(duì)質(zhì)量、歷史日志、優(yōu)先級(jí)、響應(yīng)方式值;②主控初始化步驟調(diào)用請(qǐng)求分類、實(shí)時(shí)調(diào)度和頁(yè)面定位步驟;
③傳遞時(shí)鐘t參數(shù)給請(qǐng)求分類、實(shí)時(shí)調(diào)度和頁(yè)面定位步驟;
④如果主控初始化步驟未結(jié)束,時(shí)鐘t步長(zhǎng)增加1,則轉(zhuǎn)③操作;否則傳遞“結(jié)束”參數(shù)給請(qǐng)求分類、實(shí)時(shí)調(diào)度和頁(yè)面定位步驟,結(jié)束。
4、根據(jù)權(quán)利要求1或2所述的保證服務(wù)質(zhì)量的Web服務(wù)器系統(tǒng)請(qǐng)求區(qū)分服務(wù)方法,其特征在于
所述請(qǐng)求分類步驟第t時(shí)刻操作如下
①讀取主控初始化步驟傳遞來(lái)的參數(shù),如果參數(shù)是“結(jié)束”,則結(jié)束;否則轉(zhuǎn)②操作;
②如果緩存隊(duì)列未空,則讀取緩存隊(duì)列中客戶請(qǐng)求(t),按其源IP地址查詢客戶類別庫(kù),根據(jù)其服務(wù)類別確定其所屬服務(wù)隊(duì)列x,轉(zhuǎn)③操作;否則轉(zhuǎn)④操作;
③如果客戶請(qǐng)求(t)所屬服務(wù)隊(duì)列x未滿,則客戶請(qǐng)求(t)進(jìn)入服務(wù)隊(duì)列x中,從緩存隊(duì)列中刪除客戶請(qǐng)求(t),轉(zhuǎn)④操作;否則轉(zhuǎn)④操作;
④如果TCP監(jiān)聽(tīng)隊(duì)列未空,則讀取TCP監(jiān)聽(tīng)隊(duì)列中客戶請(qǐng)求(t),按其源IP地址查詢客戶類別庫(kù),根據(jù)其服務(wù)類別確定其所屬服務(wù)隊(duì)列y,轉(zhuǎn)⑤操作;否則轉(zhuǎn)①操作;
⑤如果客戶請(qǐng)求(t)所屬服務(wù)隊(duì)列y未滿,則客戶請(qǐng)求(t)進(jìn)入服務(wù)隊(duì)列y中,從TCP監(jiān)聽(tīng)隊(duì)列中刪除客戶請(qǐng)求(t),轉(zhuǎn)①操作;否則轉(zhuǎn)⑥操作;
⑥如果緩存隊(duì)列未滿,則客戶請(qǐng)求(t)進(jìn)入緩存隊(duì)列中,從TCP監(jiān)聽(tīng)隊(duì)列中刪除客戶請(qǐng)求(t),轉(zhuǎn)①操作;否則轉(zhuǎn)①操作。
5、根據(jù)權(quán)利要求1或2所述的保證服務(wù)質(zhì)量的Web服務(wù)器系統(tǒng)請(qǐng)求區(qū)分服務(wù)方法,其特征在于
所述的實(shí)時(shí)調(diào)度步驟第t時(shí)刻操作如下
①讀取主控初始化步驟傳遞來(lái)的參數(shù),如果參數(shù)是“結(jié)束”,則結(jié)束;否則轉(zhuǎn)②操作;
②如果服務(wù)隊(duì)列都是空,則轉(zhuǎn)①操作;否則轉(zhuǎn)③操作;
③在n個(gè)服務(wù)隊(duì)列中,選取一個(gè)優(yōu)先級(jí)最高的非空服務(wù)隊(duì)列top,讀取其客戶請(qǐng)求top(t),轉(zhuǎn)④操作;
④如果客戶請(qǐng)求top(t)超時(shí),則執(zhí)行a、b、c、d、e操作;否則執(zhí)行f、g、h、j操作;
a.隊(duì)頭第一位響應(yīng)方式值top(t-1)出隊(duì)歷史日志隊(duì)列top(t-1),“0”入隊(duì)歷史日志隊(duì)列top(t-1),以隊(duì)列長(zhǎng)度100為模運(yùn)算調(diào)整歷史日志隊(duì)列top(t-1)隊(duì)頭指針與隊(duì)尾指針,歷史日志隊(duì)列top(t-1)變成為歷史日志隊(duì)列top(t);
b.歷史日志值top(t)=∑(1≤p≤100)[歷史日志隊(duì)列top(t)]p,其中p是歷史日志隊(duì)列top(t)中指向各個(gè)響應(yīng)方式值的指針;
c.絕對(duì)質(zhì)量值top(t)=絕對(duì)質(zhì)量值top(t-1)-歷史日志值top(t-1)+歷史日志值top(t);
其中k是服務(wù)隊(duì)列的序號(hào),n是服務(wù)隊(duì)列的總數(shù);
e.轉(zhuǎn)⑤操作;
f.把客戶請(qǐng)求top(t)傳遞給頁(yè)面定位步驟;
g.隊(duì)頭第一位響應(yīng)方式值top(t-1)出隊(duì)歷史日志隊(duì)列top(t-1),響應(yīng)方式值top(t)入隊(duì)歷史日志隊(duì)列top(t-1),以隊(duì)列長(zhǎng)度100為模運(yùn)算調(diào)整歷史日志隊(duì)列top(t-1)隊(duì)頭指針與隊(duì)尾指針,歷史日志隊(duì)列top(t-1)變成為歷史日志隊(duì)列top(t);
h.歷史日志值top(t)=∑(1≤p≤100)[歷史日志隊(duì)列top(t)]p,其中p是歷史日志隊(duì)列top(t)中指向各個(gè)響應(yīng)方式值的指針;
i.絕對(duì)質(zhì)量值top(t)=絕對(duì)質(zhì)量值top(t-1)-歷史日志值top(t-1)+歷史日志值top(t);
⑤如果相對(duì)質(zhì)量值top(t)<相對(duì)質(zhì)量標(biāo)準(zhǔn)值top,則從除服務(wù)隊(duì)列top之外的n-1個(gè)服務(wù)隊(duì)列中,選取一個(gè)優(yōu)先級(jí)最低且響應(yīng)方式值是“1”的非空服務(wù)隊(duì)列l(wèi)ow,置其響應(yīng)方式值low(t)=0.5,轉(zhuǎn)⑥操作;否則從n個(gè)服務(wù)隊(duì)列中,選取一個(gè)相對(duì)質(zhì)量值pick(t)大于等于相對(duì)質(zhì)量標(biāo)準(zhǔn)值pick且優(yōu)先級(jí)最高且響應(yīng)方式值是“0.5”的非空服務(wù)隊(duì)列pick,置其響應(yīng)方式值pick(t)=1;
⑥按優(yōu)先級(jí)計(jì)算公式,計(jì)算更新n個(gè)服務(wù)隊(duì)列優(yōu)先級(jí)的值,轉(zhuǎn)①操作。
6、根據(jù)權(quán)利要求1或2所述的保證服務(wù)質(zhì)量的Web服務(wù)器系統(tǒng)請(qǐng)求區(qū)分服務(wù)方法,其特征在于
所述的頁(yè)面定位步驟第t時(shí)刻操作如下
①讀取主控初始化步驟傳遞來(lái)的參數(shù),如果參數(shù)是“結(jié)束”,則結(jié)束;否則轉(zhuǎn)②操作;
②接收從實(shí)時(shí)調(diào)度步驟傳遞的客戶請(qǐng)求top(t),解析客戶請(qǐng)求top(t)的統(tǒng)一資源定位符,以客戶請(qǐng)求top(t)的統(tǒng)一資源定位符為關(guān)鍵字,在Web服務(wù)器系統(tǒng)中頁(yè)面數(shù)據(jù)庫(kù)查找對(duì)應(yīng)頁(yè)面;
③如果查找到對(duì)應(yīng)頁(yè)面,則轉(zhuǎn)④操作;否則以“頁(yè)面不存在”響應(yīng)客戶請(qǐng)求top(t),轉(zhuǎn)①操作;
④如果客戶請(qǐng)求top(t)所屬服務(wù)隊(duì)列top的響應(yīng)方式值top(t)=1,則用高質(zhì)量頁(yè)面響應(yīng)客戶請(qǐng)求top(t),轉(zhuǎn)①操作;否則轉(zhuǎn)⑤操作;
⑤如果客戶請(qǐng)求top(t)所屬服務(wù)隊(duì)列top的響應(yīng)方式值top(t)=0.5,則用低質(zhì)量頁(yè)面響應(yīng)客戶請(qǐng)求top(t),轉(zhuǎn)①操作;否則拒絕響應(yīng)處理,轉(zhuǎn)①操作。
7、根據(jù)權(quán)利要求1或2所述的保證服務(wù)質(zhì)量的Web服務(wù)器系統(tǒng)請(qǐng)求區(qū)分服務(wù)方法與中間件技術(shù)設(shè)計(jì)的保證服務(wù)質(zhì)量的Web服務(wù)器系統(tǒng)請(qǐng)求區(qū)分服務(wù)中間件,其特征在于
本中間件包括主控初始化模塊、請(qǐng)求分類模塊、實(shí)時(shí)調(diào)度模塊與頁(yè)面定位模塊四個(gè)部分,它們的具體內(nèi)容如下
第一部分主控初始化模塊是整個(gè)中間件的主控模塊,它包括運(yùn)行時(shí)鐘單元、參數(shù)初始化單元、模塊調(diào)用單元及模塊結(jié)束單元;運(yùn)行時(shí)鐘單元含有時(shí)鐘設(shè)置程序和時(shí)鐘傳遞程序,參數(shù)初始化單元含有手工設(shè)置客戶類別庫(kù)與絕對(duì)質(zhì)量標(biāo)準(zhǔn)參數(shù)操作程序,以及緩存隊(duì)列、服務(wù)隊(duì)列、相對(duì)質(zhì)量標(biāo)準(zhǔn)、服務(wù)隊(duì)列序號(hào)、絕對(duì)質(zhì)量、相對(duì)質(zhì)量、歷史日志、優(yōu)先級(jí)與響應(yīng)方式的參數(shù)的初始化程序,模塊調(diào)用單元含有請(qǐng)求分類模塊、實(shí)時(shí)調(diào)度模塊、頁(yè)面定位模塊的模塊調(diào)用程序,模塊結(jié)束單元含有請(qǐng)求分類模塊、實(shí)時(shí)調(diào)度模塊、頁(yè)面定位模塊的結(jié)束運(yùn)行程序;
本中間件在開(kāi)始運(yùn)行時(shí),首先運(yùn)行時(shí)鐘單元設(shè)置的時(shí)鐘初始值t=1(秒);其次參數(shù)初始化單元初始化客戶類別庫(kù)、緩存隊(duì)列、服務(wù)隊(duì)列、絕對(duì)質(zhì)量標(biāo)準(zhǔn)、相對(duì)質(zhì)量標(biāo)準(zhǔn)、服務(wù)隊(duì)列序號(hào)、絕對(duì)質(zhì)量、相對(duì)質(zhì)量、歷史日志、優(yōu)先級(jí)、響應(yīng)方式的參數(shù)值;然后模塊調(diào)用單元調(diào)用請(qǐng)求分類模塊、實(shí)時(shí)調(diào)度模塊、頁(yè)面定位模塊開(kāi)始運(yùn)行,運(yùn)行時(shí)鐘單元同時(shí)把時(shí)鐘t傳遞給請(qǐng)求分類模塊、實(shí)時(shí)調(diào)度模塊與頁(yè)面定位模塊,并負(fù)責(zé)下一個(gè)時(shí)鐘t的更新與傳遞;當(dāng)需要結(jié)束本中間件的運(yùn)行時(shí),模塊結(jié)束單元通過(guò)傳遞“結(jié)束”參數(shù)給請(qǐng)求分類模塊、實(shí)時(shí)調(diào)度模塊、頁(yè)面定位模塊,結(jié)束它們的運(yùn)行;
第二部分請(qǐng)求分類模塊包括請(qǐng)求分類單元、客戶類別庫(kù)、n個(gè)長(zhǎng)度為“100”的服務(wù)隊(duì)列和一個(gè)長(zhǎng)度為100的緩存隊(duì)列;請(qǐng)求分類單元與TCP監(jiān)聽(tīng)隊(duì)列連接,從TCP監(jiān)聽(tīng)隊(duì)列讀取客戶請(qǐng)求,并按客戶請(qǐng)求源IP地址查詢客戶類別庫(kù),根據(jù)其服務(wù)類別分類它們到對(duì)應(yīng)的服務(wù)隊(duì)列中;
第三部分實(shí)時(shí)調(diào)度模塊包括讀取請(qǐng)求單元、參數(shù)調(diào)整單元和請(qǐng)求傳遞單元;讀取請(qǐng)求單元與請(qǐng)求分類模塊的服務(wù)隊(duì)列相接,含有服務(wù)隊(duì)列優(yōu)先級(jí)排序程序與客戶請(qǐng)求讀取程序;參數(shù)調(diào)整單元含有t時(shí)刻絕對(duì)質(zhì)量、相對(duì)質(zhì)量、優(yōu)先級(jí)與響應(yīng)方式的參數(shù)值的計(jì)算程序;請(qǐng)求傳遞單元與頁(yè)面定位模塊連接;在開(kāi)始運(yùn)行時(shí),首先請(qǐng)求讀取單元讀取一個(gè)優(yōu)先級(jí)最高的非空服務(wù)隊(duì)列中客戶請(qǐng)求;其次參數(shù)調(diào)整單元根據(jù)客戶請(qǐng)求是否超時(shí)及響應(yīng)方式,調(diào)整該客戶請(qǐng)求對(duì)應(yīng)服務(wù)隊(duì)列的歷史日志值、絕對(duì)質(zhì)量值、相對(duì)質(zhì)量值,以及根據(jù)相對(duì)質(zhì)量值是否滿足相對(duì)質(zhì)量標(biāo)準(zhǔn),合理調(diào)整其他服務(wù)隊(duì)列的響應(yīng)方式值,以保證優(yōu)先級(jí)最高的非空服務(wù)隊(duì)列中客戶請(qǐng)求的服務(wù)質(zhì)量;最后請(qǐng)求傳遞單元把請(qǐng)求讀取單元讀取的客戶請(qǐng)求傳送給頁(yè)面定位模塊;
第四部分頁(yè)面定位模塊包括請(qǐng)求接收單元與請(qǐng)求定位單元;在開(kāi)始運(yùn)行時(shí),首先請(qǐng)求接收單元接收實(shí)時(shí)調(diào)度模塊傳遞過(guò)來(lái)客戶請(qǐng)求;其次請(qǐng)求定位單元在Web服務(wù)器系統(tǒng)的頁(yè)面數(shù)據(jù)庫(kù)中查找到對(duì)應(yīng)質(zhì)量頁(yè)面,并根據(jù)此刻需要響應(yīng)的客戶請(qǐng)求所屬服務(wù)隊(duì)列的響應(yīng)方式,讀取對(duì)應(yīng)質(zhì)量頁(yè)面響應(yīng)該客戶請(qǐng)求。
全文摘要
本發(fā)明是保證服務(wù)質(zhì)量的Web服務(wù)器系統(tǒng)請(qǐng)求區(qū)分服務(wù)方法與中間件,涉及到互聯(lián)網(wǎng)上Web服務(wù)器系統(tǒng)技術(shù)領(lǐng)域。本發(fā)明方法包括主控初始化、請(qǐng)求分類、實(shí)時(shí)調(diào)度與頁(yè)面定位四個(gè)步驟。首先按其服務(wù)類別分類到達(dá)的客戶請(qǐng)求到對(duì)應(yīng)服務(wù)隊(duì)列中;其次讀取優(yōu)先級(jí)最高的服務(wù)隊(duì)列中客戶請(qǐng)求,按其響應(yīng)方式選取對(duì)應(yīng)質(zhì)量頁(yè)面進(jìn)行響應(yīng);最后調(diào)整各個(gè)服務(wù)隊(duì)列的歷史日志、絕對(duì)質(zhì)量、響應(yīng)方式、相對(duì)質(zhì)量與優(yōu)先級(jí)參數(shù)。此外,根據(jù)本發(fā)明方法設(shè)計(jì)的中間件通過(guò)主控初始化、請(qǐng)求分類、實(shí)時(shí)調(diào)度與頁(yè)面定位四個(gè)模塊來(lái)實(shí)現(xiàn)上述四個(gè)步驟??傊?,本發(fā)明方法與中間件都采用“非一視同仁”區(qū)分服務(wù)方式,實(shí)現(xiàn)了Web服務(wù)器系統(tǒng)對(duì)客戶請(qǐng)求的區(qū)分服務(wù)、負(fù)荷平衡與服務(wù)質(zhì)量保證。
文檔編號(hào)G06Q30/00GK101252451SQ20081007350
公開(kāi)日2008年8月27日 申請(qǐng)日期2008年3月22日 優(yōu)先權(quán)日2008年3月22日
發(fā)明者黃桂敏, 婭 周 申請(qǐng)人:桂林電子科技大學(xué)