專利名稱:一種基于復(fù)合域名的服務(wù)陣列負(fù)載均衡方法
技術(shù)領(lǐng)域:
本發(fā)明涉及高性能計(jì)算系統(tǒng)前端服務(wù)陣列的負(fù)載均衡方法。
背景技術(shù):
高性能計(jì)算系統(tǒng)通常包括前端服務(wù)陣列、計(jì)算陣列、后端存儲陣列三個組成部分。 前端服務(wù)陣列對外提供遠(yuǎn)程登錄、作業(yè)提交、作業(yè)調(diào)試、資源監(jiān)控等多種服務(wù),用戶使用客 戶端軟件登錄到服務(wù)陣列獲取服務(wù)。前端服務(wù)陣列通常由多個服務(wù)器組成,負(fù)載均衡方法 負(fù)責(zé)根據(jù)服務(wù)器的負(fù)載和可用狀態(tài)將客戶端引導(dǎo)到合適的服務(wù)器。所謂可用是指服務(wù)器處 于正常工作狀態(tài),能夠?qū)ν馓峁┓?wù)。目前通常的服務(wù)陣列負(fù)載均衡方法包括
(1)客戶端手工選擇的負(fù)載均衡方法。系統(tǒng)管理員預(yù)先給所有客戶端分發(fā)服務(wù)陣列中 所有服務(wù)器的網(wǎng)絡(luò)地址列表,客戶端手工選擇一臺服務(wù)器根據(jù)網(wǎng)絡(luò)地址登錄。該方法使用 不方便,客戶端使用前需人工選擇服務(wù)器。同時(shí)不能保證客戶端登錄到當(dāng)前的輕負(fù)載服務(wù) 器,客戶端也可能選擇了處于故障狀態(tài)的服務(wù)器登錄。(2)系統(tǒng)管理員預(yù)先指定的負(fù)載均衡方法。系統(tǒng)管理員預(yù)先手工分配不同用戶組 使用特定的服務(wù)器,用戶只能登錄到管理員指定的一臺或者幾臺服務(wù)器。該方法是一種靜 態(tài)的負(fù)載均衡方法,不能保證服務(wù)器之間的負(fù)載保持均衡。(3)由專用前端負(fù)載均衡設(shè)備分發(fā)負(fù)載的負(fù)載均衡方法。客戶端登錄請求提交給 專用負(fù)載均衡設(shè)備,負(fù)載均衡設(shè)備根據(jù)服務(wù)器的負(fù)載將客戶端請求轉(zhuǎn)發(fā)給可用的輕負(fù)載服 務(wù)器,其后客戶端和服務(wù)器之間的網(wǎng)絡(luò)通信經(jīng)過負(fù)載均衡設(shè)備轉(zhuǎn)發(fā)。該方法能夠較好的解 決服務(wù)器的負(fù)載均衡問題,但由于專用前端負(fù)載均衡設(shè)備通常工作于0SI互聯(lián)網(wǎng)七層模型 中的第三層或者第四層,無法感知用戶,所以不能滿足用戶親和性需求。所謂用戶親和性是 指將同一個用戶的多次登錄負(fù)載分布到同一個服務(wù)器上。沒有用戶親和性的支持,同一用 戶的多次登錄負(fù)載可能分別被分布到多個不同服務(wù)器上,很多用戶腳本程序?qū)⒉荒苷_\(yùn) 行。高端的負(fù)載均衡設(shè)備可工作在0SI互聯(lián)網(wǎng)七層模型中的第七層,但一般是針對web應(yīng) 用的特定實(shí)現(xiàn),無法實(shí)現(xiàn)應(yīng)用透明,不適合應(yīng)用在高性能計(jì)算領(lǐng)域,例如基于cookie的負(fù) 載均衡會話保持以及基于web訪問內(nèi)容的負(fù)載均衡技術(shù)。(4)采用專用的客戶端軟件的負(fù)載均衡方法。專用客戶端中集成負(fù)載均衡和用戶 親和性功能,用戶通過專用的客戶端提交登錄請求,客戶端獲取服務(wù)器的負(fù)載和用戶當(dāng)前 登錄情況并選擇合適的輕負(fù)載服務(wù)器執(zhí)行登錄動作。該方法的主要問題是對于不同的客戶 端操作系統(tǒng)和不同的服務(wù)陣列應(yīng)用需要開發(fā)多個專用服務(wù)訪問客戶端。例如Windows XP 的SSH登錄客戶端和Linux的FTP應(yīng)用客戶端。(5)基于DNS (domain name service)的負(fù)載均衡方法。在DNS服務(wù)器中,為服務(wù) 陣列的域名配置多個服務(wù)器的網(wǎng)絡(luò)地址??蛻舳说卿洉r(shí)向DNS服務(wù)器提交域名解析請求, DNS服務(wù)器采用輪轉(zhuǎn)的方法選擇一個服務(wù)器的網(wǎng)絡(luò)地址并返回給客戶端,此后客戶端登錄 所分配的服務(wù)器。該方法無法保持用戶親和性,同一客戶端在不同時(shí)間的登錄請求可能被 引導(dǎo)到不同的服務(wù)器。
當(dāng)前的高性能計(jì)算服務(wù)陣列所包含服務(wù)器的個數(shù)通常多于2個,規(guī)模大的達(dá)到64 個以上,同時(shí)在線的用戶達(dá)數(shù)百個以上,人工的負(fù)載分配方法無法滿足負(fù)載均衡需求。如何 實(shí)現(xiàn)較大規(guī)模的前端服務(wù)陣列的自動負(fù)載均衡,且在負(fù)載分配時(shí)如何保持對應(yīng)用透明和保 持用戶親和性是本領(lǐng)域技術(shù)人員極為關(guān)注的技術(shù)問題。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題在于針對高性能計(jì)算系統(tǒng)前端服務(wù)陣列的負(fù)載分配問 題,提出一種基于復(fù)合域名的服務(wù)陣列負(fù)載均衡方法,在無需專用負(fù)載均衡設(shè)備的前提下, 能夠根據(jù)復(fù)合域名將客戶端登錄請求引導(dǎo)到合適的服務(wù)器,引導(dǎo)過程中確保服務(wù)器的負(fù)載 均衡和用戶的親和性。為了解決上述技術(shù)問題,本發(fā)明的技術(shù)方案為在傳統(tǒng)域名中引入用戶名形成復(fù) 合域名。客戶端通過復(fù)合域名的方式提交登錄請求,負(fù)載均衡系統(tǒng)根據(jù)復(fù)合域名獲取當(dāng)前 登錄的用戶名,如果用戶已經(jīng)存在活躍登錄,則將其引導(dǎo)到已登錄的服務(wù)器;如果用戶當(dāng)前 未登錄,則將其引導(dǎo)到可用的輕負(fù)載服務(wù)器。該負(fù)載均衡方法對客戶端環(huán)境和服務(wù)器應(yīng)用 透明,同時(shí)保持用戶親和性。具體技術(shù)方案為
第一步,構(gòu)建負(fù)載均衡系統(tǒng),負(fù)載均衡系統(tǒng)是部署在前端服務(wù)陣列中服務(wù)器上的負(fù)載 均衡軟件包。它由負(fù)載狀態(tài)收集模塊、復(fù)合域名管理模塊、負(fù)載分配模塊組成。負(fù)載狀態(tài)收 集模塊定期檢測服務(wù)器的健康狀態(tài),從可用服務(wù)器上收集負(fù)載信息,將服務(wù)器負(fù)載信息發(fā) 送給負(fù)載分配模塊。復(fù)合域名管理模塊負(fù)責(zé)根據(jù)服務(wù)陣列操作系統(tǒng)的用戶文件生成復(fù)合域 名表,將復(fù)合域名表發(fā)送給負(fù)載分配模塊。負(fù)載分配模塊接收客戶端軟件提交的復(fù)合域名 解析請求,檢索該復(fù)合域名是否在復(fù)合域名表中,如果不在復(fù)合域名表中則向客戶端軟件 返回非法域名錯誤。如果該用戶已登錄則返回當(dāng)前登錄服務(wù)器的網(wǎng)絡(luò)地址,否則返回當(dāng)前 可用的最低負(fù)載服務(wù)器??蛻舳塑浖怯脩羲褂玫牡卿浀椒?wù)陣列的軟件,部署在用戶 終端上。操作系統(tǒng)的用戶文件由操作系統(tǒng)所帶的用戶管理軟件所創(chuàng)建和維護(hù),記錄服務(wù)陣 列的所有合法用戶信息的文件,例如linux操作系統(tǒng)下的/etc/passwd文件。第二步,負(fù)載狀態(tài)收集模塊按照時(shí)間間隔T定期檢測服務(wù)陣列中服務(wù)器是否處于 可用狀態(tài),收集可用服務(wù)器的負(fù)載信息。時(shí)間間隔參數(shù)T的范圍為1分鐘到5分鐘,由管理 員人工設(shè)定。服務(wù)器的負(fù)載信息包括CPU利用率、網(wǎng)絡(luò)帶寬利用率、活躍用戶總數(shù)、活躍獨(dú) 立用戶數(shù)、活躍用戶名。CPU利用率是指一段時(shí)間內(nèi)CPU實(shí)際執(zhí)行的指令數(shù)與CPU在該段時(shí) 間內(nèi)最多可執(zhí)行的指令數(shù)的比值,其取值范圍為0到1。網(wǎng)絡(luò)帶寬利用率是指一段時(shí)間內(nèi)網(wǎng) 絡(luò)設(shè)備實(shí)際傳輸?shù)臄?shù)據(jù)量與網(wǎng)絡(luò)設(shè)備在該段時(shí)間內(nèi)最多可傳輸?shù)臄?shù)據(jù)量的比值,其取值范 圍為0到1?;钴S用戶是指已經(jīng)登錄到服務(wù)器的用戶?;钴S用戶總數(shù)是已經(jīng)登錄到服務(wù)器 的用戶數(shù),包括同一用戶重復(fù)登錄數(shù),為大于等于0的整數(shù)?;钴S獨(dú)立用戶數(shù)是指已經(jīng)登錄 到服務(wù)器的不同用戶數(shù),為大于等于0的整數(shù)。所有服務(wù)陣列中服務(wù)器的負(fù)載信息構(gòu)成負(fù) 載信息表第三步,復(fù)合域名管理模塊根據(jù)操作系統(tǒng)的用戶文件生成復(fù)合域名表,發(fā)送給負(fù) 載分配模塊。操作系統(tǒng)的用戶文件中記錄了服務(wù)器的合法用戶信息,包括用戶名、登錄密碼 等信息。復(fù)合域名管理模塊首先從用戶文件中提取所有的用戶名信息,然后將每個用戶名X與服務(wù)陣列的服務(wù)域名Y進(jìn)行組合,形成X. Y形式的復(fù)合域名記錄,將所有復(fù)合域名記錄 寫入復(fù)合域名表,最后將復(fù)合域名表發(fā)送給負(fù)載分配模塊。復(fù)合域名管理模塊實(shí)時(shí)檢測用 戶文件的改變,發(fā)現(xiàn)有用戶增加或者刪除后及時(shí)更新復(fù)合域名表,并將更新后的復(fù)合域名 表發(fā)送給負(fù)載分配模塊。第四步,用戶通過客戶端軟件登錄服務(wù)陣列,客戶端軟件向負(fù)載分配模塊提交形 式為X. Y的復(fù)合域名解析請求。第五步,負(fù)載分配模塊收到客戶端軟件的復(fù)合域名解析請求,對復(fù)合域名進(jìn)行解 析,將解析得到的服務(wù)器網(wǎng)絡(luò)地址返回給客戶端軟件。復(fù)合域名的解析方法如下
步驟5.1、構(gòu)建綜合負(fù)載表和用戶親和信息表。根據(jù)從負(fù)載狀態(tài)收集模塊收到的負(fù)載信 息表,計(jì)算服務(wù)器綜合負(fù)載值,生成綜合負(fù)載表。綜合負(fù)載表的表項(xiàng)為服務(wù)器綜合負(fù)載值、 服務(wù)器網(wǎng)絡(luò)地址。服務(wù)器綜合負(fù)載值=80*(CPU利用率+網(wǎng)絡(luò)帶寬利用率)+ 10*(0.2*活躍用戶 總數(shù)+0. 8*活躍獨(dú)立用戶總數(shù))
根據(jù)從負(fù)載狀態(tài)收集模塊收到的負(fù)載信息表,提取活躍用戶名,生成用戶親和信息表。 用戶親和信息表中記錄已登錄的用戶信息,表項(xiàng)為活躍用戶名、登錄服務(wù)器網(wǎng)絡(luò)地址。步驟5. 2、檢索從復(fù)合域名管理模塊接收的復(fù)合域名表,判斷復(fù)合域名的合法性。 如果待解析的復(fù)合域名不在復(fù)合域名表中則為非法域名,返回?zé)o效域名錯誤,并執(zhí)行第六 步。如果待解析的復(fù)合域名在復(fù)合域名表中,則為合法域名,從復(fù)合域名X. Y中提取用戶名 Xo步驟5. 3、根據(jù)用戶名X檢索用戶親和信息表,如果該用戶在用戶親和信息表中, 則直接輸出用戶當(dāng)前所在的活躍服務(wù)器地址,并執(zhí)行第六步。如果該用戶不在用戶親和信 息表中,則執(zhí)行步驟5. 4。步驟5. 4、檢索綜合負(fù)載表,選擇負(fù)載最低的服務(wù)器,輸出該服務(wù)器的網(wǎng)絡(luò)地址。因 為負(fù)載狀態(tài)收集模塊定期收集服務(wù)器負(fù)載信息,所以其發(fā)送給負(fù)載分配模塊的負(fù)載信息表 不包括其最新收集負(fù)載的時(shí)間點(diǎn)到預(yù)定的下一次負(fù)載收集時(shí)間點(diǎn)之間登錄的用戶信息。為 解決該問題,負(fù)載分配模塊將當(dāng)前解析的復(fù)合域名中的用戶名X、輸出的最低負(fù)載服務(wù)器網(wǎng) 絡(luò)地址作為緩存信息加入本地的用戶親和信息表。第六步,客戶端軟件通過標(biāo)準(zhǔn)域名服務(wù)協(xié)議收到返回信息。如果返回信息為無效 域名錯誤,則提示用戶出錯信息,要求其重新輸入正確的復(fù)合域名。如果返回信息為正確的 服務(wù)器網(wǎng)絡(luò)地址,則直接登錄到該服務(wù)器,客戶端和服務(wù)器之間的網(wǎng)絡(luò)流量無需經(jīng)過負(fù)載 均衡系統(tǒng)。
與現(xiàn)有技術(shù)相比,采用本發(fā)明可達(dá)到以下技術(shù)效果
1.技術(shù)方案中第三步和第五步的步驟5.3支持本發(fā)明具有用戶親和性保持能力,能夠 將同一用戶的登錄引導(dǎo)到同一臺物理服務(wù)器上;
2.技術(shù)方案中第一步和第六步支持本發(fā)明無須部署專用的前端負(fù)載均衡設(shè)備,客戶端 和服務(wù)器的網(wǎng)絡(luò)流量無需經(jīng)負(fù)載均衡系統(tǒng)中轉(zhuǎn),負(fù)載均衡系統(tǒng)不會成為訪問瓶頸;
3.技術(shù)方案中第四步支持本發(fā)明對應(yīng)用透明,無需修改應(yīng)用客戶端軟件,能夠兼容支 持按域名訪問的各種高性能應(yīng)用;4.技術(shù)方案中第二步支持本發(fā)明具備負(fù)載均衡和故障探測能力。將用戶引導(dǎo)到當(dāng)前 可用的輕負(fù)載服務(wù)器。避免將客戶端引導(dǎo)到故障服務(wù)器,而且負(fù)載均衡能力強(qiáng)于傳統(tǒng)域名 服務(wù)所采用的簡單輪轉(zhuǎn)方式。
圖1為本發(fā)明第一步構(gòu)建的負(fù)載均衡系統(tǒng)邏輯結(jié)構(gòu)圖。圖2為本發(fā)明總體流程圖。
具體實(shí)施例方式圖1為本發(fā)明第一步構(gòu)建的負(fù)載均衡系統(tǒng)邏輯結(jié)構(gòu)圖。負(fù)載均衡系統(tǒng)是部署在前端服務(wù)陣列中服務(wù)器上的負(fù)載均衡軟件包。負(fù)載均衡系 統(tǒng)的開銷很低,消耗很少的計(jì)算和通信資源??蛻舳藘H在訪問服務(wù)器陣列之前通過標(biāo)準(zhǔn)的 域名訪問方式從負(fù)載均衡系統(tǒng)獲得所分配的服務(wù)器的網(wǎng)絡(luò)地址,此后客戶端直接與服務(wù)器 交互。負(fù)載均衡系統(tǒng)不會成為通信瓶頸。負(fù)載均衡系統(tǒng)由負(fù)載狀態(tài)收集模塊、復(fù)合域名管理模塊、負(fù)載分配模塊組成。負(fù)載 狀態(tài)收集模塊定期檢測服務(wù)器的健康狀態(tài),從可用服務(wù)器上收集負(fù)載信息,將服務(wù)器負(fù)載 信息發(fā)送給負(fù)載分配模塊。復(fù)合域名管理模塊負(fù)責(zé)根據(jù)服務(wù)陣列操作系統(tǒng)的用戶文件生成 復(fù)合域名表,將復(fù)合域名表發(fā)送給負(fù)載分配模塊。負(fù)載分配模塊接收客戶端軟件提交的復(fù) 合域名解析請求,檢索該復(fù)合域名是否在復(fù)合域名表中,如果不在復(fù)合域名表中則返回非 法域名錯誤。如果該用戶已登錄則返回當(dāng)前登錄服務(wù)器的網(wǎng)絡(luò)地址,否則返回當(dāng)前可用的 最低負(fù)載服務(wù)器??蛻舳塑浖怯脩羲褂玫牡卿浀椒?wù)陣列的軟件,部署在用戶終端上。 操作系統(tǒng)的用戶文件由操作系統(tǒng)所帶的用戶管理軟件所創(chuàng)建和維護(hù),記錄服務(wù)陣列的所有 合法用戶信息的文件。圖2為本發(fā)明總體流程圖
第一步,構(gòu)建如圖1所示的負(fù)載均衡系統(tǒng)。第二步、負(fù)載收集模塊按照時(shí)間間隔T定期檢測服務(wù)陣列中服務(wù)器是否處于可用 狀態(tài),收集可用服務(wù)器的負(fù)載信息。服務(wù)器的負(fù)載信息包括CPU利用率、網(wǎng)絡(luò)帶寬利用率、 活躍用戶總數(shù)、活躍獨(dú)立用戶數(shù)、活躍用戶名。所有服務(wù)陣列中服務(wù)器的負(fù)載信息構(gòu)成負(fù)載 fn息表ο第三步、復(fù)合域名管理模塊根據(jù)操作系統(tǒng)的用戶文件生成復(fù)合域名表,發(fā)送給負(fù) 載分配模塊。操作系統(tǒng)的用戶文件中記錄了服務(wù)器的合法用戶信息,包括用戶名、登錄密碼 等信息。復(fù)合域名管理模塊首先從用戶文件中提取所有的用戶名信息,然后將每個用戶名 X與服務(wù)陣列的服務(wù)域名Y進(jìn)行組合,形成X. Y形式的復(fù)合域名記錄,將所有復(fù)合域名記錄 寫入復(fù)合域名表,最后將復(fù)合域名表發(fā)送給負(fù)載分配模塊。復(fù)合域名管理模塊實(shí)時(shí)檢測用 戶文件的改變,發(fā)現(xiàn)有用戶增加或者刪除后及時(shí)更新復(fù)合域名表,并將更新后的復(fù)合域名 表發(fā)送給負(fù)載分配模塊。第四步、客戶端軟件向負(fù)載分配模塊提交形式為X. Y的復(fù)合域名解析請求。第五步、負(fù)載分配模塊收到客戶端軟件的復(fù)合域名解析請求,綜合服務(wù)器負(fù)載狀 態(tài)和用戶親和信息對復(fù)合域名進(jìn)行解析,將解析得到的服務(wù)器網(wǎng)絡(luò)地址返回給客戶端軟件。 第六步、客戶端軟件通過標(biāo)準(zhǔn)域名服務(wù)協(xié)議收到返回信息。如果返回信息為無效 域名錯誤,則提示用戶出錯信息,要求其重新輸入正確的復(fù)合域名。如果返回信息為正確的 服務(wù)器網(wǎng)絡(luò)地址,則直接登錄到該服務(wù)器,客戶端和服務(wù)器之間的網(wǎng)絡(luò)流量無需經(jīng)過負(fù)載 均衡系統(tǒng)。
權(quán)利要求
一種基于復(fù)合域名的服務(wù)陣列負(fù)載均衡方法,其特征在于包括以下步驟第一步,構(gòu)建負(fù)載均衡系統(tǒng),負(fù)載均衡系統(tǒng)是部署在前端服務(wù)陣列中服務(wù)器上的負(fù)載均衡軟件包,它由負(fù)載狀態(tài)收集模塊、復(fù)合域名管理模塊、負(fù)載分配模塊組成;負(fù)載狀態(tài)收集模塊定期檢測服務(wù)器的健康狀態(tài),從可用服務(wù)器上收集負(fù)載信息,將服務(wù)器負(fù)載信息發(fā)送給負(fù)載分配模塊;復(fù)合域名管理模塊負(fù)責(zé)根據(jù)服務(wù)陣列操作系統(tǒng)的用戶文件生成復(fù)合域名表,將復(fù)合域名表發(fā)送給負(fù)載分配模塊;負(fù)載分配模塊接收客戶端軟件提交的復(fù)合域名解析請求,檢索該復(fù)合域名是否在復(fù)合域名表中,如果不在復(fù)合域名表中則向客戶端軟件返回非法域名錯誤;如果該用戶已登錄則返回當(dāng)前登錄服務(wù)器的網(wǎng)絡(luò)地址,否則返回當(dāng)前可用的最低負(fù)載服務(wù)器;客戶端軟件是用戶所使用的登錄到服務(wù)陣列的軟件,部署在用戶終端上;操作系統(tǒng)的用戶文件由操作系統(tǒng)所帶的用戶管理軟件所創(chuàng)建和維護(hù),記錄服務(wù)陣列的所有合法用戶信息的文件;第二步,負(fù)載狀態(tài)收集模塊按照時(shí)間間隔T定期檢測服務(wù)陣列中服務(wù)器是否處于可用狀態(tài),收集可用服務(wù)器的負(fù)載信息;服務(wù)器的負(fù)載信息包括CPU利用率、網(wǎng)絡(luò)帶寬利用率、活躍用戶總數(shù)、活躍獨(dú)立用戶數(shù)、活躍用戶名;CPU利用率是指一段時(shí)間內(nèi)CPU實(shí)際執(zhí)行的指令數(shù)與CPU在該段時(shí)間內(nèi)最多可執(zhí)行的指令數(shù)的比值,其取值范圍為0到1;網(wǎng)絡(luò)帶寬利用率是指一段時(shí)間內(nèi)網(wǎng)絡(luò)設(shè)備實(shí)際傳輸?shù)臄?shù)據(jù)量與網(wǎng)絡(luò)設(shè)備在該段時(shí)間內(nèi)最多可傳輸?shù)臄?shù)據(jù)量的比值,其取值范圍為0到1;活躍用戶是指已經(jīng)登錄到服務(wù)器的用戶;活躍用戶總數(shù)是已經(jīng)登錄到服務(wù)器的用戶數(shù),包括同一用戶重復(fù)登錄數(shù),為大于等于0的整數(shù);活躍獨(dú)立用戶數(shù)是指已經(jīng)登錄到服務(wù)器的不同用戶數(shù),為大于等于0的整數(shù);所有服務(wù)陣列中服務(wù)器的負(fù)載信息構(gòu)成負(fù)載信息表;第三步,復(fù)合域名管理模塊根據(jù)操作系統(tǒng)的用戶文件生成復(fù)合域名表,發(fā)送給負(fù)載分配模塊;復(fù)合域名管理模塊首先從操作系統(tǒng)的用戶文件中提取所有的用戶名信息,然后將每個用戶名X與服務(wù)陣列的服務(wù)域名Y進(jìn)行組合,形成X.Y形式的復(fù)合域名記錄,將所有復(fù)合域名記錄寫入復(fù)合域名表,最后將復(fù)合域名表發(fā)送給負(fù)載分配模塊;復(fù)合域名管理模塊實(shí)時(shí)檢測用戶文件的改變,發(fā)現(xiàn)有用戶增加或者刪除后及時(shí)更新復(fù)合域名表,并將更新后的復(fù)合域名表發(fā)送給負(fù)載分配模塊;第四步,用戶通過客戶端軟件登錄服務(wù)陣列,客戶端軟件向負(fù)載分配模塊提交形式為X.Y的復(fù)合域名解析請求;第五步,負(fù)載分配模塊收到客戶端軟件的復(fù)合域名解析請求,對復(fù)合域名進(jìn)行解析,將解析得到的服務(wù)器網(wǎng)絡(luò)地址返回給客戶端軟件;復(fù)合域名的解析方法如下步驟5.1、構(gòu)建綜合負(fù)載表和用戶親和信息表,根據(jù)從負(fù)載狀態(tài)收集模塊收到的負(fù)載信息表,計(jì)算服務(wù)器綜合負(fù)載值,生成綜合負(fù)載表,綜合負(fù)載表的表項(xiàng)為服務(wù)器綜合負(fù)載值、服務(wù)器網(wǎng)絡(luò)地址;服務(wù)器綜合負(fù)載值=80*(CPU利用率+網(wǎng)絡(luò)帶寬利用率)+10*(0.2*活躍用戶總數(shù)+0.8*活躍獨(dú)立用戶總數(shù))根據(jù)從負(fù)載狀態(tài)收集模塊收到的負(fù)載信息表,提取活躍用戶名,生成用戶親和信息表,用戶親和信息表中記錄已登錄的用戶信息,表項(xiàng)為活躍用戶名、登錄服務(wù)器網(wǎng)絡(luò)地址;步驟5.2、檢索從復(fù)合域名管理模塊接收的復(fù)合域名表,判斷復(fù)合域名的合法性,如果待解析的復(fù)合域名不在復(fù)合域名表中則為非法域名,向客戶端軟件返回?zé)o效域名錯誤,并執(zhí)行第六步;如果待解析的復(fù)合域名在復(fù)合域名表中,則為合法域名,從復(fù)合域名X.Y中提取用戶名X;步驟5.3、根據(jù)用戶名X檢索用戶親和信息表,如果該用戶在用戶親和信息表中,則直接輸出用戶當(dāng)前所在的活躍服務(wù)器地址,并執(zhí)行第六步;如果該用戶不在用戶親和信息表中,則執(zhí)行步驟5.4;步驟5.4、檢索綜合負(fù)載表,選擇負(fù)載最低的服務(wù)器,輸出該服務(wù)器的網(wǎng)絡(luò)地址;負(fù)載分配模塊將當(dāng)前解析的復(fù)合域名中的用戶名X、輸出的最低負(fù)載服務(wù)器網(wǎng)絡(luò)地址作為緩存信息加入本地的用戶親和信息表;第六步,客戶端軟件通過標(biāo)準(zhǔn)域名服務(wù)協(xié)議收到返回信息,如果返回信息為無效域名錯誤,則提示用戶出錯信息,要求其重新輸入正確的復(fù)合域名;如果返回信息為正確的服務(wù)器網(wǎng)絡(luò)地址,則直接登錄到該服務(wù)器。
2.如權(quán)利要求1所述的一種基于復(fù)合域名的服務(wù)陣列負(fù)載均衡方法,其特征在于時(shí)間 間隔參數(shù)T的范圍為1分鐘到5分鐘。
全文摘要
本發(fā)明公開了一種基于復(fù)合域名的服務(wù)陣列負(fù)載均衡方法,目的是解決高性能計(jì)算系統(tǒng)前端服務(wù)陣列的負(fù)載分配問題。技術(shù)方案是先構(gòu)建由負(fù)載狀態(tài)收集模塊、復(fù)合域名管理模塊、負(fù)載分配模塊組成的負(fù)載均衡系統(tǒng);負(fù)載狀態(tài)收集模塊定期檢測服務(wù)器是否處于可用狀態(tài),收集可用服務(wù)器的負(fù)載信息;復(fù)合域名管理模塊根據(jù)用戶文件生成復(fù)合域名表;客戶端軟件向負(fù)載分配模塊提交復(fù)合域名解析請求;負(fù)載分配模塊對復(fù)合域名進(jìn)行解析,將得到的服務(wù)器網(wǎng)絡(luò)地址返回給客戶端軟件;客戶端軟件接收返回信息,根據(jù)返回信息登錄所分配的服務(wù)器或提示出錯信息。采用本發(fā)明可在無負(fù)載均衡設(shè)備時(shí)將客戶端登錄請求引導(dǎo)到合適的服務(wù)器,且確保服務(wù)器的負(fù)載均衡和用戶的親和性。
文檔編號H04L29/12GK101945130SQ201010282069
公開日2011年1月12日 申請日期2010年9月15日 優(yōu)先權(quán)日2010年9月15日
發(fā)明者盧宇彤, 周恩強(qiáng), 所光, 曹宏嘉, 董勇, 蔣艷凰, 謝旻, 陳海濤 申請人:中國人民解放軍國防科學(xué)技術(shù)大學(xué)