李丹
(華中科技大學,湖北 武漢 430030)
為了避免實驗室資源的閑置與浪費,開放式實驗室自主預約機制成為被廣泛研究的課題。
目前,文獻[1]提出了基于負荷均衡的預約決策方法,該方法根據實際實驗室遠程預約時間區間和預約排隊原則,在多目標決策模型下獲取最優預約機制;文獻[2]提出了基于實驗室遠程預約兩階段優化算法,該算法在預約調度基礎上,利用粗糙評估和精確評估兩個階段使用序列優化思想,實現遠程預約的自適應優化分配。上述方法存在預約出錯次數多、預約時間差大的問題,為此本文提出了一種基于統一身份驗證的實驗室遠程預約機制。
現有的實驗室遠程預約方法中,當預約從負載較高的節點過渡到負載較低的節點時,計算資源改變,導致預約系統的調度開銷增加,響應時間延長[3]。為了解決以上問題,本文提出一種遠程預約節點的負載均衡調度方法。在調度之前,需先進行統一身份認證,如圖1所示。

圖1 統一身份認證過程
如圖1 所示,用戶經過平臺管理員的認證獲得合法身份,登錄到授權應用系統的軟件中心[4]。授權應用系統將用戶的接入申請重新導向到統一的認證中心,向新的認證窗口輸入ID、口令等信息[5-7]。當網頁被重新導向至應用系統時,為使用者創建標簽,提交給授權應用系統,由用戶確認[8]。根據認證結果設計遠程預約節點負載均衡調度方案。
預約負載為所有預約任務執行完成所需時間,表示為:
式中Tij表示i個任務在j個預約信息上執行所需要的時間[9]。
所有預約信息的平均負載可表示為:
式中N表示預約信息總數。
遠程預約負載不均衡度可用負載的方差和算術平方根來表示[10]:
某個節點處于超負荷狀態時,會發送從請求隊列中抽取遠程預定節點的請求給調度節點,調度節點將節點的授權信息返回請求節點,目標節點判斷請求,預約任務分配數目為:
式中:ω1、ω2分別表示未完成預約任務節點和預約負載不均衡節點的指標權重;M表示未完成預約任務的數量[9]。設U'為判斷閾值,當U<U'時,預約節點能夠正常分配任務,反之,則需停止分配。當目標節點可以響應這個請求時,目標節點將根據所保存的備份請求信息向請求節點發送一個傳輸請求[11]。請求節點將實驗室遠程預約請求從等待狀態變為準備狀態,并設定更高的優先等級,由調度節點對其所保持的負載信息進行更新。
根據第1 節的遠程預約節點負載均衡調度結果,設計實驗室遠程預約機制,客戶端通過認證服務完成與統一身份認證平臺的交互。用戶使用用戶證書在Web 門戶上登錄,Web 門戶會提供統一驗證服務,生成安全標記語言令牌返回給用戶,令用戶使用這個標記享受遠程預約服務。
結合統一身份認證,設計的實驗室遠程預約機制為:在一定時間內對每一項實驗要求得分進行統計,得到每項實驗中要求得分最高的實驗任務[12]。對要求得分較高的實驗任務分配一間實驗室,如果該實驗項目的參與人數超出了一個實驗室的人數容納范圍,則按照式(5)對該實驗項目的實驗綜合受益總分進行調整。
式中:ω[U]表示老師指導的權重分值;H[U]表示實驗學術評估分值。
按照式(5)更新實驗的總收益得分和人數,如果不更新則將實驗綜合需求分設置為0,并繼續更新總收益得分,此時的總人數為0。當實驗室全部被占完,或者分數達到0,則終止循環。實驗室遠程預約機制設計流程如圖2 所示。

圖2 實驗室遠程預約機制設計流程
當實驗室沒有排到滿額時,空閑的實驗室可以被用作用戶進行自我研究的實驗室,學生可以在一個工作日之內隨時進行實驗。實驗室無預約用戶自動進入下一次的預約。如果實驗室處于閑置狀態,那么就可以將下一時段或者預約數量比較多的時段中的實驗項目調度到這個空閑時段中。
為了解決預約時間差大的問題,根據遠程預約客戶端與預約系統預約時間差值判定遠程預約的有效性,重新調整預約機制。遠程預約系統的預約時間差計算公式為[13]:
式中:Ts表示遠程預約發出時間;Tf表示用戶登錄時間。
客戶端的預約時間差的計算公式為:
式中:Td表示遠程預約客戶端接收到預約的時間;Tb表示用戶預約時間。
為了避免時間差影響預約結果,采用增益誤差校正方法進行時間差校正。第i個遠程預約客戶端與用戶端預約的增益誤差的表達式為:
式中:fi、f0分別表示遠程預約用戶端與客戶端的預約頻率值。
對于增益誤差的校正,是通過實驗綜合受益總分和發送響應校正控制值到第i個遠程預約客戶端與用戶端實現的。增益誤差校正控制值的公式為:
式中:D表示默認增益值;C表示增益的控制值步進。當誤差校正完畢后,遠程預約客戶端與用戶端預約的頻率相等,則校正結束,完成精準實驗室遠程預約。
將所設計的基于統一身份認證的實驗室遠程預約機制應用到某高校實驗室中,實驗室管理系統框架如圖3 所示。

圖3 某大學學院實驗室管理系統框架
該系統自2021 年6 月1 號正式使用以來,一直處于無人值守全天候開放運作中,將運作記錄作為基礎數據。在Matlab 中實現實驗室管理系統仿真,運行主機配置為Intel?CoreTMi7-9700 5.00 GHz CPU、16 GB RAM。用戶可以在系統預約開放前90 min 登錄系統,預約分配批次時間間隔是30 min,判斷閾值U'為6。實驗室預約最長時間為一個工作日,可預約實驗室共60 個。
200 名學生同時預約的實際預約出錯次數見表1。

表1 實際預約出錯次數次
從200 名學生中隨機選擇8 個學生,對其編號為#1~#8,分析遠程預約客戶端與用戶端的預約時間差見表2。

表2 預約時間差
由表2 可知,遠程預約客戶端與用戶端之間存在較大預約時間差。
將基于統一身份認證的實驗室遠程預約機制與基于負荷均衡的預約決策方法(文獻[1])、基于兩階段隨機仿真優化算法(文獻[2])的預約出錯次數進行對比,如圖4 所示。

圖4 不同方法預約出錯次數對比
由圖4 可知,使用基于負荷均衡的預約決策方法、基于兩階段隨機仿真優化算法出現的最大預約出錯次數為73 次、69次;使用基于統一身份認證的實驗室遠程預約機制在6:35—8:55 時間段內出現預約出錯最大次數為18次,不僅低于其他兩種方法,且低于表1 系統原出錯次數。
三種方法對遠程預約客戶端與用戶端的預約時間差控制結果如圖5 所示。

圖5 不同方法預約時間差控制結果
由圖5 可知,使用基于負荷均衡的預約決策方法和基于兩階段隨機仿真優化算法均只在編號4 達到了校正時間差的目的,其余均存在時間差。使用所設計機制只有在編號2、編號6 下遠程預約客戶端與用戶端預約時間點沒有重合,分別存在30 s 和1 min 的誤差,其余預約時間點完全重合,預約時間差控制效果較好,可以提升預約效率,避免資源浪費。
開放實驗室資源預約充分發揮了網絡的便捷和靈活優勢,為學生提供了一個快速資源獲取渠道。為了提升實驗室遠程預約的效果,減少時間差,本文提出了基于統一身份認證的實驗室遠程預約機制。測試結果表明,此機制工作正常,并能正確地錄入數據,出錯次數較少,并縮短了預約時間差,有效減輕了實驗室管理員的工作負擔,節省了資源。