夏威
摘要:隨著桌面虛擬化技術(shù)和網(wǎng)絡(luò)環(huán)境的快速發(fā)展,桌面虛擬化成為企業(yè)IT建設(shè)的重要組成部,原有的業(yè)務(wù)系統(tǒng)和桌面環(huán)境共生在企業(yè)的數(shù)據(jù)中心,傳統(tǒng)基于硬件特征的各類軟件授權(quán)需要遷移到虛擬化環(huán)境之上,這對傳統(tǒng)軟件的授權(quán)方式提出了挑戰(zhàn)。
關(guān)鍵詞:分布式;去中心化;軟件授權(quán)
中圖分類號: TP311? ? ? 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2021)03-0097-02
1 傳統(tǒng)的授權(quán)的局限性
傳統(tǒng)的服務(wù)端由于還存在主服務(wù)器與通信服務(wù)器之分,并且授權(quán)只對WEB界面的訪問進(jìn)行控制,因此在當(dāng)前環(huán)境下未出現(xiàn)授權(quán)的問題。隨著分布式系統(tǒng)的發(fā)展,當(dāng)整個系統(tǒng)實(shí)現(xiàn)去中心化和完全的負(fù)載均衡,沒有主服務(wù)與次服務(wù)之分,那么傳統(tǒng)的系統(tǒng)授權(quán)就會出現(xiàn)問題,每個服務(wù)器都會去讀他的授權(quán),同時將授權(quán)信息寫入到數(shù)據(jù)庫中,將引發(fā)授權(quán)紊亂,故需要確保服務(wù)端能夠從某個地方去讀取授權(quán),并且只有統(tǒng)一的授權(quán)頒發(fā)源即可解決授權(quán)紊亂問題。
2 分布式環(huán)境下的授權(quán)方案
將授權(quán)和管理服務(wù)器進(jìn)行拆分,授權(quán)模塊將分為授權(quán)提供、授權(quán)消費(fèi)兩個模塊。
授權(quán)管理模塊:
1)讀取授權(quán)文件中的授權(quán)內(nèi)容。
2)計(jì)算授權(quán)的可用量。
3)授權(quán)定期地更新到數(shù)據(jù)庫中。
4)提供授權(quán),并被消費(fèi)。
授權(quán)消費(fèi)模塊:
1)從數(shù)據(jù)庫中讀取授權(quán);
2)并監(jiān)視授權(quán)的心跳;
3)同時為各個模塊提供授權(quán)的認(rèn)證;
4)對授權(quán)進(jìn)行消費(fèi)/釋放。
設(shè)計(jì)上授權(quán)使用數(shù)據(jù)庫作為一個載體,采用數(shù)據(jù)庫作為模塊間的通信中轉(zhuǎn)。由于是采用數(shù)據(jù)庫,也就意味著雙方之間的通信將不是實(shí)時的。為了能夠保證授權(quán)消費(fèi)模塊能夠獲知授權(quán)提供模塊的運(yùn)行情況,授權(quán)提供模塊,必須實(shí)時將心跳信息更新到數(shù)據(jù)庫上,心跳的標(biāo)簽為系統(tǒng)的時間,因此雙方的服務(wù)器時間必須保持一致。
3 分布式環(huán)境下的授權(quán)流程
1)授權(quán)的獲取
授權(quán)消費(fèi)模塊,若發(fā)現(xiàn)長時間未更新,則判定授權(quán)管理模塊出現(xiàn)異常,暫時無法提供授權(quán)。將根據(jù)數(shù)據(jù)庫中的授權(quán)信息進(jìn)行授權(quán),同時授權(quán)過期時間將變?yōu)橹炼?0天,若原授權(quán)不足30天,則按原授權(quán)的過期時間。同時異常信息將進(jìn)行告警,以便管理員能夠及時地處理該問題。
3.2授權(quán)的消費(fèi)
業(yè)務(wù)模塊在進(jìn)行功能請求時,需要查詢是否有該授權(quán)。比如在添加監(jiān)控設(shè)備時,由于授權(quán)有設(shè)備量的控制,因此加入一個設(shè)備就要消耗一個授權(quán)。
由于授權(quán)消費(fèi)模塊,并不能對授權(quán)做出修改,因此授權(quán)消費(fèi)模塊,需要把該請求發(fā)送到授權(quán)管理模塊中,由授權(quán)管理模塊針對授權(quán)的信息決定是否允許頒發(fā)該授權(quán)。若頒發(fā)授權(quán),則業(yè)務(wù)模塊就可以將該設(shè)備加入監(jiān)控,既產(chǎn)生了一次消費(fèi)。同時需要將該事件通知到其他的授權(quán)模塊,讓其他授權(quán)模塊更新授權(quán)信息。
在業(yè)務(wù)模塊,在請求一個功能時,需要對授權(quán)進(jìn)行一次驗(yàn)證,由于授權(quán)消費(fèi)模塊本身已經(jīng)有緩存了授權(quán)的信息,因此對于授權(quán)的驗(yàn)證,只要在授權(quán)消費(fèi)模塊中查詢。
比如,服務(wù)器上的授權(quán)只有100個,但卻安裝了200個客戶端,管理客戶端上線后,向管理服務(wù)器請求策略,而該命令被服務(wù)器處理后,對授權(quán)進(jìn)行驗(yàn)證,如果該客戶端屬于超出的設(shè)備(可以定義數(shù)據(jù)庫的前N臺設(shè)備),則授權(quán)消費(fèi)模塊,則不提供授權(quán)。由于這種情況出現(xiàn)的比較少,對系統(tǒng)的整體性能來說,不會產(chǎn)生太大的影響,因此不對該部分的數(shù)據(jù)做緩存。
在業(yè)務(wù)模塊釋放授權(quán)時,比如刪除了被管理的設(shè)備。此時業(yè)務(wù)模塊會先從數(shù)據(jù)庫中刪除掉設(shè)備,然后向授權(quán)消費(fèi)模塊釋放授權(quán),消費(fèi)模塊則直接轉(zhuǎn)發(fā)該消息到授權(quán)管理模塊上,授權(quán)管理模塊,將對授權(quán)信息進(jìn)行更新,并通知所有的授權(quán)消費(fèi)模塊,授權(quán)消費(fèi)模塊接收到授權(quán)更新通知后,則從數(shù)據(jù)庫中重新讀取授權(quán)。
3.3授權(quán)的控制
在虛擬化監(jiān)控產(chǎn)品上,服務(wù)端主要會處理:
1)作為WEB服務(wù)器,提供管理員登錄查看、配置、界面。
2)服務(wù)端主動執(zhí)行的功能。如調(diào)度生成報(bào)表、設(shè)備自動發(fā)現(xiàn)等。
3)由客戶端請求的功能,如策略的請求。
4)服務(wù)端接收到客戶端發(fā)送的收集到的監(jiān)控?cái)?shù)據(jù)。
授權(quán)控制方面:
1)管理員登錄、WEB界面的功能授權(quán)。
管理員登錄到WEB系統(tǒng)上,對系統(tǒng)界面上的功能授權(quán)的一個控制,與現(xiàn)有的管理系統(tǒng)保持一致。
2)服務(wù)端功能授權(quán)。
服務(wù)端功能授權(quán)是指,服務(wù)器主動執(zhí)行的、被動執(zhí)行的功能??赡苁跈?quán)過期,或客戶未購買該功能,因此授權(quán)模塊可控制對這些功能的啟用。
3)監(jiān)控設(shè)備授權(quán)。
對XenApp/XenDesktop的服務(wù)器、XenServer、VM、交換機(jī)等設(shè)備的監(jiān)控授權(quán)。若設(shè)備的數(shù)量超過授權(quán)允許的數(shù)量,則超過的設(shè)備,服務(wù)器不會處理它們所發(fā)送的數(shù)據(jù),或者不會主動去收集這些設(shè)備的數(shù)據(jù)。對虛擬桌面上的客戶端,則不會再對策略請求進(jìn)行回應(yīng)。
參考文獻(xiàn):
[1] 云中遺留應(yīng)用的未來在何方[EB/OL].[2020-05-25].http://www.51sjk.com/b127b159673/.
[2] 王勝杰.基于桌面云技術(shù)的規(guī)劃設(shè)計(jì)與應(yīng)用[J].科協(xié)論壇,2012(6):85-86.
[3] 張振倫.傳統(tǒng)HA系統(tǒng)的終結(jié)者[J].軟件和信息服務(wù),2016(11):71.
[4] 王海嬌.ldap服務(wù)器關(guān)鍵技術(shù)研究[D].保定:華北電力大學(xué),2009.
【通聯(lián)編輯:李雅琪】