李丹
(華中科技大學(xué),湖北 武漢 430030)
為了避免實驗室資源的閑置與浪費,開放式實驗室自主預(yù)約機(jī)制成為被廣泛研究的課題。
目前,文獻(xiàn)[1]提出了基于負(fù)荷均衡的預(yù)約決策方法,該方法根據(jù)實際實驗室遠(yuǎn)程預(yù)約時間區(qū)間和預(yù)約排隊原則,在多目標(biāo)決策模型下獲取最優(yōu)預(yù)約機(jī)制;文獻(xiàn)[2]提出了基于實驗室遠(yuǎn)程預(yù)約兩階段優(yōu)化算法,該算法在預(yù)約調(diào)度基礎(chǔ)上,利用粗糙評估和精確評估兩個階段使用序列優(yōu)化思想,實現(xiàn)遠(yuǎn)程預(yù)約的自適應(yīng)優(yōu)化分配。上述方法存在預(yù)約出錯次數(shù)多、預(yù)約時間差大的問題,為此本文提出了一種基于統(tǒng)一身份驗證的實驗室遠(yuǎn)程預(yù)約機(jī)制。
現(xiàn)有的實驗室遠(yuǎn)程預(yù)約方法中,當(dāng)預(yù)約從負(fù)載較高的節(jié)點過渡到負(fù)載較低的節(jié)點時,計算資源改變,導(dǎo)致預(yù)約系統(tǒng)的調(diào)度開銷增加,響應(yīng)時間延長[3]。為了解決以上問題,本文提出一種遠(yuǎn)程預(yù)約節(jié)點的負(fù)載均衡調(diào)度方法。在調(diào)度之前,需先進(jìn)行統(tǒng)一身份認(rèn)證,如圖1所示。
圖1 統(tǒng)一身份認(rèn)證過程
如圖1 所示,用戶經(jīng)過平臺管理員的認(rèn)證獲得合法身份,登錄到授權(quán)應(yīng)用系統(tǒng)的軟件中心[4]。授權(quán)應(yīng)用系統(tǒng)將用戶的接入申請重新導(dǎo)向到統(tǒng)一的認(rèn)證中心,向新的認(rèn)證窗口輸入ID、口令等信息[5-7]。當(dāng)網(wǎng)頁被重新導(dǎo)向至應(yīng)用系統(tǒng)時,為使用者創(chuàng)建標(biāo)簽,提交給授權(quán)應(yīng)用系統(tǒng),由用戶確認(rèn)[8]。根據(jù)認(rèn)證結(jié)果設(shè)計遠(yuǎn)程預(yù)約節(jié)點負(fù)載均衡調(diào)度方案。
預(yù)約負(fù)載為所有預(yù)約任務(wù)執(zhí)行完成所需時間,表示為:
式中Tij表示i個任務(wù)在j個預(yù)約信息上執(zhí)行所需要的時間[9]。
所有預(yù)約信息的平均負(fù)載可表示為:
式中N表示預(yù)約信息總數(shù)。
遠(yuǎn)程預(yù)約負(fù)載不均衡度可用負(fù)載的方差和算術(shù)平方根來表示[10]:
某個節(jié)點處于超負(fù)荷狀態(tài)時,會發(fā)送從請求隊列中抽取遠(yuǎn)程預(yù)定節(jié)點的請求給調(diào)度節(jié)點,調(diào)度節(jié)點將節(jié)點的授權(quán)信息返回請求節(jié)點,目標(biāo)節(jié)點判斷請求,預(yù)約任務(wù)分配數(shù)目為:
式中:ω1、ω2分別表示未完成預(yù)約任務(wù)節(jié)點和預(yù)約負(fù)載不均衡節(jié)點的指標(biāo)權(quán)重;M表示未完成預(yù)約任務(wù)的數(shù)量[9]。設(shè)U'為判斷閾值,當(dāng)U<U'時,預(yù)約節(jié)點能夠正常分配任務(wù),反之,則需停止分配。當(dāng)目標(biāo)節(jié)點可以響應(yīng)這個請求時,目標(biāo)節(jié)點將根據(jù)所保存的備份請求信息向請求節(jié)點發(fā)送一個傳輸請求[11]。請求節(jié)點將實驗室遠(yuǎn)程預(yù)約請求從等待狀態(tài)變?yōu)闇?zhǔn)備狀態(tài),并設(shè)定更高的優(yōu)先等級,由調(diào)度節(jié)點對其所保持的負(fù)載信息進(jìn)行更新。
根據(jù)第1 節(jié)的遠(yuǎn)程預(yù)約節(jié)點負(fù)載均衡調(diào)度結(jié)果,設(shè)計實驗室遠(yuǎn)程預(yù)約機(jī)制,客戶端通過認(rèn)證服務(wù)完成與統(tǒng)一身份認(rèn)證平臺的交互。用戶使用用戶證書在Web 門戶上登錄,Web 門戶會提供統(tǒng)一驗證服務(wù),生成安全標(biāo)記語言令牌返回給用戶,令用戶使用這個標(biāo)記享受遠(yuǎn)程預(yù)約服務(wù)。
結(jié)合統(tǒng)一身份認(rèn)證,設(shè)計的實驗室遠(yuǎn)程預(yù)約機(jī)制為:在一定時間內(nèi)對每一項實驗要求得分進(jìn)行統(tǒng)計,得到每項實驗中要求得分最高的實驗任務(wù)[12]。對要求得分較高的實驗任務(wù)分配一間實驗室,如果該實驗項目的參與人數(shù)超出了一個實驗室的人數(shù)容納范圍,則按照式(5)對該實驗項目的實驗綜合受益總分進(jìn)行調(diào)整。
式中:ω[U]表示老師指導(dǎo)的權(quán)重分值;H[U]表示實驗學(xué)術(shù)評估分值。
按照式(5)更新實驗的總收益得分和人數(shù),如果不更新則將實驗綜合需求分設(shè)置為0,并繼續(xù)更新總收益得分,此時的總?cè)藬?shù)為0。當(dāng)實驗室全部被占完,或者分?jǐn)?shù)達(dá)到0,則終止循環(huán)。實驗室遠(yuǎn)程預(yù)約機(jī)制設(shè)計流程如圖2 所示。
圖2 實驗室遠(yuǎn)程預(yù)約機(jī)制設(shè)計流程
當(dāng)實驗室沒有排到滿額時,空閑的實驗室可以被用作用戶進(jìn)行自我研究的實驗室,學(xué)生可以在一個工作日之內(nèi)隨時進(jìn)行實驗。實驗室無預(yù)約用戶自動進(jìn)入下一次的預(yù)約。如果實驗室處于閑置狀態(tài),那么就可以將下一時段或者預(yù)約數(shù)量比較多的時段中的實驗項目調(diào)度到這個空閑時段中。
為了解決預(yù)約時間差大的問題,根據(jù)遠(yuǎn)程預(yù)約客戶端與預(yù)約系統(tǒng)預(yù)約時間差值判定遠(yuǎn)程預(yù)約的有效性,重新調(diào)整預(yù)約機(jī)制。遠(yuǎn)程預(yù)約系統(tǒng)的預(yù)約時間差計算公式為[13]:
式中:Ts表示遠(yuǎn)程預(yù)約發(fā)出時間;Tf表示用戶登錄時間。
客戶端的預(yù)約時間差的計算公式為:
式中:Td表示遠(yuǎn)程預(yù)約客戶端接收到預(yù)約的時間;Tb表示用戶預(yù)約時間。
為了避免時間差影響預(yù)約結(jié)果,采用增益誤差校正方法進(jìn)行時間差校正。第i個遠(yuǎn)程預(yù)約客戶端與用戶端預(yù)約的增益誤差的表達(dá)式為:
式中:fi、f0分別表示遠(yuǎn)程預(yù)約用戶端與客戶端的預(yù)約頻率值。
對于增益誤差的校正,是通過實驗綜合受益總分和發(fā)送響應(yīng)校正控制值到第i個遠(yuǎn)程預(yù)約客戶端與用戶端實現(xiàn)的。增益誤差校正控制值的公式為:
式中:D表示默認(rèn)增益值;C表示增益的控制值步進(jìn)。當(dāng)誤差校正完畢后,遠(yuǎn)程預(yù)約客戶端與用戶端預(yù)約的頻率相等,則校正結(jié)束,完成精準(zhǔn)實驗室遠(yuǎn)程預(yù)約。
將所設(shè)計的基于統(tǒng)一身份認(rèn)證的實驗室遠(yuǎn)程預(yù)約機(jī)制應(yīng)用到某高校實驗室中,實驗室管理系統(tǒng)框架如圖3 所示。
圖3 某大學(xué)學(xué)院實驗室管理系統(tǒng)框架
該系統(tǒng)自2021 年6 月1 號正式使用以來,一直處于無人值守全天候開放運作中,將運作記錄作為基礎(chǔ)數(shù)據(jù)。在Matlab 中實現(xiàn)實驗室管理系統(tǒng)仿真,運行主機(jī)配置為Intel?CoreTMi7-9700 5.00 GHz CPU、16 GB RAM。用戶可以在系統(tǒng)預(yù)約開放前90 min 登錄系統(tǒng),預(yù)約分配批次時間間隔是30 min,判斷閾值U'為6。實驗室預(yù)約最長時間為一個工作日,可預(yù)約實驗室共60 個。
200 名學(xué)生同時預(yù)約的實際預(yù)約出錯次數(shù)見表1。
表1 實際預(yù)約出錯次數(shù)次
從200 名學(xué)生中隨機(jī)選擇8 個學(xué)生,對其編號為#1~#8,分析遠(yuǎn)程預(yù)約客戶端與用戶端的預(yù)約時間差見表2。
表2 預(yù)約時間差
由表2 可知,遠(yuǎn)程預(yù)約客戶端與用戶端之間存在較大預(yù)約時間差。
將基于統(tǒng)一身份認(rèn)證的實驗室遠(yuǎn)程預(yù)約機(jī)制與基于負(fù)荷均衡的預(yù)約決策方法(文獻(xiàn)[1])、基于兩階段隨機(jī)仿真優(yōu)化算法(文獻(xiàn)[2])的預(yù)約出錯次數(shù)進(jìn)行對比,如圖4 所示。
圖4 不同方法預(yù)約出錯次數(shù)對比
由圖4 可知,使用基于負(fù)荷均衡的預(yù)約決策方法、基于兩階段隨機(jī)仿真優(yōu)化算法出現(xiàn)的最大預(yù)約出錯次數(shù)為73 次、69次;使用基于統(tǒng)一身份認(rèn)證的實驗室遠(yuǎn)程預(yù)約機(jī)制在6:35—8:55 時間段內(nèi)出現(xiàn)預(yù)約出錯最大次數(shù)為18次,不僅低于其他兩種方法,且低于表1 系統(tǒng)原出錯次數(shù)。
三種方法對遠(yuǎn)程預(yù)約客戶端與用戶端的預(yù)約時間差控制結(jié)果如圖5 所示。
圖5 不同方法預(yù)約時間差控制結(jié)果
由圖5 可知,使用基于負(fù)荷均衡的預(yù)約決策方法和基于兩階段隨機(jī)仿真優(yōu)化算法均只在編號4 達(dá)到了校正時間差的目的,其余均存在時間差。使用所設(shè)計機(jī)制只有在編號2、編號6 下遠(yuǎn)程預(yù)約客戶端與用戶端預(yù)約時間點沒有重合,分別存在30 s 和1 min 的誤差,其余預(yù)約時間點完全重合,預(yù)約時間差控制效果較好,可以提升預(yù)約效率,避免資源浪費。
開放實驗室資源預(yù)約充分發(fā)揮了網(wǎng)絡(luò)的便捷和靈活優(yōu)勢,為學(xué)生提供了一個快速資源獲取渠道。為了提升實驗室遠(yuǎn)程預(yù)約的效果,減少時間差,本文提出了基于統(tǒng)一身份認(rèn)證的實驗室遠(yuǎn)程預(yù)約機(jī)制。測試結(jié)果表明,此機(jī)制工作正常,并能正確地錄入數(shù)據(jù),出錯次數(shù)較少,并縮短了預(yù)約時間差,有效減輕了實驗室管理員的工作負(fù)擔(dān),節(jié)省了資源。