亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Openstack云平臺(tái)自適應(yīng)認(rèn)證系統(tǒng)負(fù)載均衡策略研究

        2019-09-13 03:39:00林韌昊朱智強(qiáng)胡翠云
        關(guān)鍵詞:貝葉斯特征值狀況

        林韌昊 朱智強(qiáng),2 孫 磊 胡翠云

        1(信息工程大學(xué) 河南 鄭州 450001)2(鄭州信大先進(jìn)技術(shù)研究院 河南 鄭州 450001)

        0 引 言

        近年來,隨著云計(jì)算技術(shù)的高速發(fā)展,與云計(jì)算相關(guān)領(lǐng)域的研究成果層出不窮,開源云平臺(tái)Openstack是由Rackspace和美國國家航空航天局(NASA)合作研制的一種旨在提供基礎(chǔ)設(shè)施即服務(wù)(IAAS)的虛擬化管理平臺(tái),能夠提供可靠的云部署方案。目前國內(nèi)外許多云行業(yè)領(lǐng)軍企業(yè)都以O(shè)penstack作為云計(jì)算架構(gòu)的基石,標(biāo)志著Openstack已經(jīng)是事實(shí)上的開源云平臺(tái)的行業(yè)標(biāo)準(zhǔn)。

        隨著云用戶的不斷增多,云平臺(tái)安全問題日益突出,身份認(rèn)證技術(shù)作為保護(hù)云用戶信息隱私數(shù)據(jù)安全的第一道防線,對于云平臺(tái)安全具有重要意義。Openstack的認(rèn)證服務(wù)主要通過Keystone作為認(rèn)證授權(quán)的中樞組件,但由于Keystone組件的負(fù)載壓力過大,極易成為性能上的瓶頸,加上云環(huán)境下海量用戶的并發(fā)認(rèn)證請求,會(huì)使得某臺(tái)認(rèn)證節(jié)點(diǎn)負(fù)載過高,導(dǎo)致整個(gè)云平臺(tái)無法正常工作。負(fù)載均衡是用來維持系統(tǒng)高可用性的關(guān)鍵技術(shù),一個(gè)好的負(fù)載均衡策略能夠有效地避免數(shù)據(jù)流量的擁擠、縮短節(jié)點(diǎn)響應(yīng)時(shí)間、提高資源利用率,使得負(fù)載分布更加均衡,從而保證整個(gè)云平臺(tái)的服務(wù)質(zhì)量(QoS)[1]。文獻(xiàn)[2]考慮到任務(wù)優(yōu)先級問題,提出了一種基于蜜蜂覓食策略行為的云環(huán)境下的負(fù)載均衡技術(shù),但是僅適用于非搶占式任務(wù)。文獻(xiàn)[3]提出了一種基于改進(jìn)加權(quán)最小連接結(jié)合指數(shù)平滑預(yù)測算法,但是沒有充分考慮節(jié)點(diǎn)的性能狀況,且任務(wù)完成時(shí)間較長。文獻(xiàn)[4]提出了用局部種群減少的方法對遺傳算法進(jìn)行了改進(jìn)并將響應(yīng)時(shí)間作為算法主要參數(shù),但是該方案對節(jié)點(diǎn)負(fù)載狀況沒有進(jìn)行充分考量,且自適應(yīng)性不足。文獻(xiàn)[5]提出一種動(dòng)態(tài)負(fù)載均衡算法,重點(diǎn)考慮虛擬節(jié)點(diǎn)的資源分配問題,通過CloudAnalyst軟件進(jìn)行仿真。但是該算法每次分配資源需要對所有虛擬節(jié)點(diǎn)負(fù)載狀況進(jìn)行檢測,導(dǎo)致算法效率較低。文獻(xiàn)[6]采用樸素貝葉斯算法對各節(jié)點(diǎn)負(fù)載狀態(tài)進(jìn)行分類,并根據(jù)節(jié)點(diǎn)狀態(tài)分類結(jié)果來實(shí)現(xiàn)任務(wù)和資源分配的合理調(diào)度。文獻(xiàn)[7]在文獻(xiàn)[6]的基礎(chǔ)上提出了一種模擬蜜蜂采蜜機(jī)理的負(fù)載均衡策略,通過模擬蜂群的覓食行為同時(shí)考慮到任務(wù)優(yōu)先級來實(shí)現(xiàn)負(fù)載均衡。

        上述負(fù)載策略算法存在工作效率較低、節(jié)點(diǎn)平均響應(yīng)時(shí)間較長、自適應(yīng)性不足以及對節(jié)點(diǎn)負(fù)載狀況及性能考慮不充分等問題。為了提升Openstack云平臺(tái)認(rèn)證系統(tǒng)的性能,針對Keystone節(jié)點(diǎn),提出一種基于改進(jìn)樸素貝葉斯分類算法的負(fù)載策略。通過樸素貝葉斯算法對Keystone節(jié)點(diǎn)的負(fù)載狀況進(jìn)行分類。并通過信息熵算法確定各特征值指標(biāo)所占權(quán)重,使得分類結(jié)果具有更高的準(zhǔn)確率。通過一種基于往返時(shí)延的性能評估方法來表示節(jié)點(diǎn)的性能,用自適應(yīng)系統(tǒng)和閾值判定策觸發(fā)條件來防止短時(shí)間內(nèi)認(rèn)證服務(wù)請求暴增的情況,并由任務(wù)的合理分發(fā)和遷移來避免單個(gè)節(jié)點(diǎn)因負(fù)載過高宕機(jī),從而實(shí)現(xiàn)對Openstack云認(rèn)證系統(tǒng)的負(fù)載均衡。通過實(shí)驗(yàn)對比分析,本文所提策略相較于WRR(Weighted Round-Robin)算法、動(dòng)態(tài)負(fù)載均衡算法(Dynamic Load Balancing, DLB)[5]、遺傳算法[4](Genetic Algorithm, GA)、NB(Naive Bayes)算法[6]及BHHLB(Bees Hunting Honey Load Balancing)算法[7],降低了任務(wù)完成時(shí)間及每臺(tái)虛擬節(jié)點(diǎn)的平均響應(yīng)時(shí)間,且相較于DLB算法、GA算法、NB算法及BHHLB算法和有著更高的遷移準(zhǔn)確率。

        1 Openstack認(rèn)證系統(tǒng)分析

        1.1 開源云平臺(tái)Openstack

        Openstack作為開源云平臺(tái)的行業(yè)標(biāo)準(zhǔn),相較于其他的虛擬化管理軟件,由多種獨(dú)立的組件共同組成,各組件之間分工明確,協(xié)同完成云平臺(tái)中的各項(xiàng)工作,構(gòu)成云平臺(tái)的實(shí)質(zhì)就是組合這些組件[8]。各組件之間統(tǒng)一采用Rest-full API接口規(guī)范來提高其標(biāo)準(zhǔn)化及快速擴(kuò)展能力。Openstack采用了無共享、基于消息的架構(gòu),在部署方面較為靈活,并且具有模塊松耦合、組件配置靈活、易于二次開發(fā)等優(yōu)點(diǎn)。

        由于Openstack云平臺(tái)采用了靈活的分布式低耦合SOA架構(gòu)模式,所以需要一個(gè)類似服務(wù)總線的模塊對Openstack中的各個(gè)組件進(jìn)行統(tǒng)一的授權(quán)認(rèn)證及服務(wù)規(guī)則管理。

        1.2 認(rèn)證服務(wù)組件Keystone

        Openstack在Essex版本后增加了Keystone組件作為串聯(lián)Openstack中各組件的授權(quán)認(rèn)證中心。Keystone組件通過其特有的插件化架構(gòu)為Openstack云平臺(tái)用戶提供統(tǒng)一的訪問控制、授權(quán)管理、目錄服務(wù)管理以及令牌(Token)管理等服務(wù)。Keystone組件的身份認(rèn)證機(jī)制主要通過Token的簽發(fā)和驗(yàn)證實(shí)現(xiàn)來實(shí)現(xiàn),云用戶在與Openstack其他應(yīng)用組件交互之前,需要從Keystone獲得令牌,作為訪問Openstack API和其他服務(wù)資源時(shí)提供的一種身份證明。Keystone詳細(xì)工作流程如圖1所示。

        圖1 Keystone詳細(xì)工作流程圖

        Keystone組件負(fù)載分析:

        Keystone作為Openstack中的服務(wù)總線模塊,訪問Openstack中所有應(yīng)用組件都需要經(jīng)過Keystone組件的認(rèn)證與授權(quán),用戶與其他組件交互前都需要通過Keystone獲取服務(wù)列表,獲取每個(gè)服務(wù)的訪問地址Endpoint。這使得Keystone成為Openstack云平臺(tái)的認(rèn)證授權(quán)中樞,與API Client以及其他組件有著大量的交互次數(shù)。

        文獻(xiàn)[9]對Keystone的安全性進(jìn)行了分析,基于Keystone的認(rèn)證方式是通過用戶名/口令以明文形式發(fā)送,默認(rèn)使用HTTP協(xié)議進(jìn)行認(rèn)證,存在諸多安全隱患。由于Keystone組件具有良好的擴(kuò)展性,可以與其他后端授權(quán)系統(tǒng)集成,如增加認(rèn)證服務(wù)器構(gòu)成加密的訪問環(huán)境。但是通過增加新的認(rèn)證協(xié)議實(shí)現(xiàn)更安全的通信必然會(huì)帶來更多的開銷。相較于普通的基于用戶名/口令的認(rèn)證方式,高安全性的認(rèn)證方式會(huì)帶來額外的通信開銷與計(jì)算開銷,使得Keystone組件具有更高的負(fù)載。

        Keystone組件采用基于Token的認(rèn)證方式,UUID Token需要持久化后端存儲(chǔ),所有API的調(diào)用都需要通過Keystone組件對Token進(jìn)行認(rèn)證。而PKI Token的長度負(fù)載較重,不推薦用于生產(chǎn)部署。這種基于Token的認(rèn)證方式在一定程度上也增加了Keystone組件的負(fù)載,使得Keystone成為性能上的瓶頸。

        Keystone作為Openstack云平臺(tái)的認(rèn)證核心組件,同時(shí)也是制約Openstack云平臺(tái)是否能夠高效穩(wěn)定運(yùn)行的關(guān)鍵。但是Openstack云平臺(tái)基于Keystone組件的認(rèn)證系統(tǒng),在任務(wù)分發(fā)至Keystone節(jié)點(diǎn)時(shí)采用的是隨機(jī)分配的方法,沒有考慮到節(jié)點(diǎn)的性能及負(fù)載狀況同時(shí)也沒有相應(yīng)的任務(wù)分發(fā)及遷移策略。所以通過適當(dāng)?shù)呢?fù)載均衡策略對Openstack基于Keystone組件的認(rèn)證系統(tǒng)進(jìn)行負(fù)載均衡是非常有必要的。

        2 自適應(yīng)負(fù)載均衡機(jī)制

        2.1 自適應(yīng)負(fù)載管理框架設(shè)計(jì)

        為了更好地應(yīng)對云環(huán)境下的海量用戶的并發(fā)認(rèn)證請求,本文設(shè)計(jì)了自適應(yīng)負(fù)載均衡管理框架[10],通過各模塊協(xié)同工作來實(shí)時(shí)收集各節(jié)點(diǎn)當(dāng)前的負(fù)載和性能狀況,從而提高本文策略動(dòng)態(tài)的自適應(yīng)能力。

        RabbitMQ是目前常用的開源消息隊(duì)列組件,本文通過RabbitMQ組件作為消息中間件來實(shí)現(xiàn)Openstack認(rèn)證系統(tǒng)高并發(fā)的業(yè)務(wù)的異步處理。應(yīng)用服務(wù)器在接收到用戶請求后,首先寫入消息隊(duì)列,能夠有效防止數(shù)據(jù)流量的擁堵和大量日志傳輸問題。

        采集模塊主要負(fù)責(zé)以t1為周期通過心跳機(jī)制實(shí)時(shí)收集集群中各Keystone服務(wù)節(jié)點(diǎn)負(fù)載及性能狀況并提交至計(jì)算模塊。計(jì)算模塊首先判斷是否滿足觸發(fā)負(fù)載策略的條件,若觸發(fā)負(fù)載策略,則將采集周期改為t2(t2

        圖2 自適應(yīng)負(fù)載均衡管理框架圖

        2.2 自適應(yīng)機(jī)制觸發(fā)閾值

        當(dāng)集群處于低負(fù)載狀態(tài)時(shí),使用負(fù)載策略會(huì)引起系統(tǒng)不必要的開銷,本文通過兩種觸發(fā)閾值來喚醒集群中的負(fù)載均衡機(jī)制。

        第一種情況是短時(shí)間內(nèi)服務(wù)請求暴增的情況。例如在上班高峰期大量桌面云同時(shí)啟動(dòng)會(huì)導(dǎo)致Keystone節(jié)點(diǎn)在短時(shí)間內(nèi)負(fù)載過高,從而影響到云平臺(tái)的正常工作。針對這種情況本文設(shè)計(jì)了負(fù)載變化量閾值Rthreshold,由中央控制節(jié)點(diǎn)在單位時(shí)間內(nèi)收集并計(jì)算節(jié)點(diǎn)的負(fù)載變化量ΔLoadi,并判斷在當(dāng)次檢測中如果ΔLoadi>Rthreshold則觸發(fā)集群中的負(fù)載均衡機(jī)制并縮短對節(jié)點(diǎn)負(fù)載狀況檢測的周期。關(guān)于負(fù)載變化量取CPU或內(nèi)存變化較為敏感的部分[11]。ΔRC表示單位時(shí)間內(nèi)CPU使用率變化,ΔRM表示單位時(shí)間內(nèi)內(nèi)存使用率變化。若ΔRC>ΔRM,則ΔLoadi表示ΔRC,若ΔRM>ΔRC,則ΔLoadi表示ΔRM。關(guān)于Rthreshold的設(shè)定需參考實(shí)際的應(yīng)用場景中的應(yīng)用服務(wù)帶來的I/O請求次數(shù)以及需要滿足的云用戶數(shù)量。

        第二種是設(shè)置高位閾值[12]Hthreshold。當(dāng)某臺(tái)Keystone服務(wù)節(jié)點(diǎn)的當(dāng)前負(fù)載量超過所設(shè)定的閾值時(shí),表示該節(jié)點(diǎn)已經(jīng)處于高負(fù)載狀態(tài),此時(shí)需要觸發(fā)負(fù)載均衡策略。關(guān)于高位閾值的觸發(fā)需要結(jié)合預(yù)測模塊根據(jù)任務(wù)隊(duì)列給出的預(yù)測結(jié)果Loadforecast來避免瞬時(shí)峰值引起策略觸發(fā)帶來的資源消耗問題。閾值的設(shè)置必須有一個(gè)合理的依據(jù),設(shè)置過高會(huì)導(dǎo)致某臺(tái)節(jié)點(diǎn)負(fù)載過高但不能及時(shí)處理,設(shè)置過低會(huì)導(dǎo)致策略頻繁觸發(fā)引起系統(tǒng)不必要的開銷。因此需要根據(jù)Keystone節(jié)點(diǎn)具體情況及云用戶的實(shí)際需求來設(shè)定。

        3 基于改進(jìn)樸素貝葉斯分類算法的負(fù)載策略

        本文使用KS{KS1,KS2,…,KSn}表示n個(gè)處于工作狀態(tài)的Keystone服務(wù)節(jié)點(diǎn)集合。使用T{T1,T2,…,Tm}表示m個(gè)要處理的認(rèn)證請求。為了提高系統(tǒng)資源利用率,將Keystone虛擬節(jié)點(diǎn)作為認(rèn)證服務(wù)基本執(zhí)行單元。

        樸素貝葉斯算法是數(shù)據(jù)挖掘中常用的條件假設(shè)獨(dú)立分類算法。相較于決策樹、人工神經(jīng)網(wǎng)絡(luò)等分類算法[13]具有簡單、高效、易實(shí)現(xiàn)及實(shí)用性強(qiáng)等優(yōu)點(diǎn),能夠處理很好地多分類任務(wù),并且適合增量式訓(xùn)練,新增數(shù)據(jù)不需要重建所有的知識(shí)庫,能夠很好地應(yīng)對云環(huán)境下的服務(wù)節(jié)點(diǎn)不斷變化的問題。由于Keystone作為Openstack云平臺(tái)的認(rèn)證交互中心,與其他組件API存在大量交互次數(shù),所以本文通過樸素貝葉斯算法對Keystone服務(wù)節(jié)點(diǎn)的負(fù)載狀況進(jìn)行直觀的分類,從而更好地實(shí)施負(fù)載均衡策略。

        本策略根據(jù)系統(tǒng)工作時(shí)虛擬認(rèn)證節(jié)點(diǎn)的負(fù)載狀況,利用樸素貝葉斯分類算法將虛擬認(rèn)證節(jié)點(diǎn)分為低負(fù)載狀態(tài)集合L,中負(fù)載狀態(tài)集合M及重負(fù)載集合H。為了使算法具有更高的分類準(zhǔn)確度,對樸素貝葉斯分類算法進(jìn)行改進(jìn),通過信息熵算法確定各特征值指標(biāo)所占的權(quán)重,使算法的分類結(jié)果具有更高的準(zhǔn)確率。

        3.1 相關(guān)概念

        定義1負(fù)載特征值,將虛擬節(jié)點(diǎn)k的各負(fù)載特征值表示為L(k)=(L1,L2,L3,L4,L5),用來反映該節(jié)點(diǎn)的當(dāng)前負(fù)載狀況。

        定義2CPU特征值,L1=LC=α1C1+α2C2,其中:C1表示虛擬認(rèn)證節(jié)點(diǎn)k的CPU處理能力,主要衡量指標(biāo)為MIPS(Million Instructions Per Second);C2為該節(jié)點(diǎn)的當(dāng)前CPU利用率。

        定義3內(nèi)存特征值,L2=LM=β1M1+β2M2,其中:M1為該節(jié)點(diǎn)的的物理內(nèi)存;M2為節(jié)點(diǎn)當(dāng)前內(nèi)存利用率。

        定義4帶寬特征值,L3=LB=χ1B1+χ2B2,其中:B1為該節(jié)點(diǎn)的網(wǎng)絡(luò)帶寬資源:B2表示節(jié)點(diǎn)當(dāng)前帶寬資源利用率。

        定義5I/O特征值,L4=LI=δ1I1+δ2I2,其中:I1表示該節(jié)點(diǎn)的磁盤I/O性能IOPS (Input/Output Per Second);I2表示節(jié)點(diǎn)當(dāng)前的磁盤IO資源利用率。

        定義6隊(duì)列特征值,為了更好地實(shí)施負(fù)載策略通過預(yù)測模塊對任務(wù)隊(duì)列進(jìn)行統(tǒng)計(jì)避免瞬時(shí)峰值引發(fā)不必要的遷移和觸發(fā)。L5=LQ=ε1Q1,其中Q1為隊(duì)列長度。

        定義7訓(xùn)練樣本分類集,LC={LCi|i=1,2,3},其中:LC1表示低負(fù)載集合;LC2表示中負(fù)載集合;LC3表示重負(fù)載集合。

        3.2 基于信息熵算法的特征指標(biāo)權(quán)重評價(jià)模型

        信息熵算法是為了解決對信息的量化度量問題的常用算法,可以表示一組不確定的事物所包含的信息量的多少,也可以用于度量已知數(shù)據(jù)中包含的信息量及權(quán)重。本策略通過信息熵算法對不同特征值指標(biāo)賦予一個(gè)權(quán)值來解決各個(gè)特征屬性對類別決策影響相同的問題,從而使樸素貝葉斯分類算法的分類結(jié)果具有更高的準(zhǔn)確率。

        根據(jù)所定義的決定負(fù)載狀況的5個(gè)特征值指標(biāo)可得到矩陣V:

        (1)

        根據(jù)云計(jì)算中心采取資源冗余來使得云資源利率達(dá)到最大的特性,可根據(jù)式(2)對矩陣進(jìn)行標(biāo)準(zhǔn)化處理,得到標(biāo)準(zhǔn)化矩陣R,且矩陣R滿足歸一性。

        (2)

        (3)

        則第i項(xiàng)虛擬資源特征狀態(tài)指標(biāo)下的第j個(gè)評估對象的特征比重為:

        (4)

        特征指標(biāo)的信息熵計(jì)算公式如下:

        (5)

        (6)

        3.3 基于改進(jìn)樸素貝葉斯的負(fù)載狀況分類算法

        (7)

        P(kx|LCi)=P((L1kx,L2kx,L3kx,L4kx,L5kx)|LCi)=

        (8)

        式中:P(Lj|LCi)表示未知樣本kx的負(fù)載特征值Lj屬于樣本分類LCi的概率,可通過訓(xùn)練數(shù)據(jù)獲得。由此可知LCi的后驗(yàn)概率為:

        (9)

        由于分母P(kx)不依賴于P(LCi)的特征,所以可以將分母設(shè)為常數(shù)C,則:

        (10)

        根據(jù)最大后驗(yàn)概率(MAP)決策準(zhǔn)則,可得分類器對未知樣本kx分類函數(shù)為:

        argmax{P(LCi|kx)P(LCi)}i=1,2,3

        (11)

        根據(jù)式(10)和式(11)可得:

        (12)

        對式(12)進(jìn)行最大似然化,并對似然函數(shù)取對數(shù),加入式(6)中根據(jù)信息熵算法所得權(quán)重,得到:

        (13)

        綜上可得Keystone虛擬節(jié)點(diǎn)的負(fù)載狀態(tài)LC(kx)可表示為:

        (14)

        3.4 性能評估模型

        構(gòu)成云端的服務(wù)節(jié)點(diǎn)是異構(gòu)的,能否準(zhǔn)確地評估集群中各服務(wù)節(jié)點(diǎn)的性能是負(fù)載策略能否有效實(shí)施的關(guān)鍵一環(huán)。目前常用的基于硬件性能的評估方法需要進(jìn)行大量的實(shí)驗(yàn)且通用性較差,而基于壓力測試的評估方法無法實(shí)時(shí)掌握節(jié)點(diǎn)性能且會(huì)占用一定系統(tǒng)開銷。

        往返時(shí)延RTT(Round-Trip Time)是衡量系統(tǒng)性能的重要指標(biāo)。這里往返時(shí)延是指:從請求端建立連接起發(fā)送的第一個(gè)報(bào)文開始,數(shù)據(jù)包在請求端與服務(wù)端之間的傳輸時(shí)間以及請求被服務(wù)端處理后返回結(jié)果的時(shí)間之和。本文通過基于往返時(shí)延的評估方式來評估認(rèn)證節(jié)點(diǎn)的性能。

        考慮到任務(wù)的多樣性,單位時(shí)間內(nèi)每個(gè)Keystone服務(wù)節(jié)點(diǎn)處理的請求數(shù)量及種類是不同的,本文以需求量最高的令牌驗(yàn)證服務(wù)為例,取單個(gè)節(jié)點(diǎn)在一定時(shí)間內(nèi)令牌驗(yàn)證服務(wù)的平均往返時(shí)延作為衡量該節(jié)點(diǎn)的性能指標(biāo)。并對所有認(rèn)證節(jié)點(diǎn)進(jìn)行一次測試,若某臺(tái)節(jié)點(diǎn)在一次采集周期內(nèi)未處理請求,則使用上個(gè)周期采集到的數(shù)據(jù)進(jìn)行評估;若為新添加的節(jié)點(diǎn),則使用測試數(shù)據(jù)作為衡量其性能值的依據(jù)。用P來表示一臺(tái)Keystone節(jié)點(diǎn)的性能:

        (15)

        (16)

        式中:RTTtotal表示節(jié)點(diǎn)單位時(shí)間內(nèi)的往返時(shí)延之和;RTTave為一次檢測周期內(nèi)的平均往返時(shí)延,ΔN表示單位時(shí)間內(nèi)處理的并發(fā)請求的數(shù)量;λ為常數(shù)系數(shù)。

        3.5 策略流程

        本文提出一種基于樸素貝葉斯算法的負(fù)載策略,由中央控制節(jié)點(diǎn)的采集模塊通過心跳機(jī)制實(shí)時(shí)收集節(jié)點(diǎn)的負(fù)載信息,再交由計(jì)算模塊計(jì)算出節(jié)點(diǎn)KSi的負(fù)載特征值,并結(jié)合節(jié)點(diǎn)的性能狀況,對任務(wù)進(jìn)行合理的分發(fā)和遷移,達(dá)到負(fù)載均衡的目的。

        Task1自適應(yīng)觸發(fā)策略:在集群整體負(fù)載水平較低時(shí),觸發(fā)負(fù)載均衡策略會(huì)引起不必要開銷。由中央控制節(jié)點(diǎn)以T0為周期收集并計(jì)算節(jié)點(diǎn)負(fù)載狀況并通過自適應(yīng)閾值來控制策略的觸發(fā),不觸發(fā)時(shí)默認(rèn)以加權(quán)輪詢方式分發(fā),閾值設(shè)定需根據(jù)實(shí)際應(yīng)用場景及用戶需求而定。

        Task2任務(wù)分發(fā)策略:通過樸素貝葉斯算法對節(jié)點(diǎn)負(fù)載狀況進(jìn)行分類,并計(jì)算出各集合內(nèi)節(jié)點(diǎn)的性能值。根據(jù)分類結(jié)果對三種負(fù)載狀況集合中的Keystone節(jié)點(diǎn)進(jìn)行排列,將任務(wù)按照低負(fù)載集合節(jié)點(diǎn)優(yōu)于中負(fù)載集合節(jié)點(diǎn)優(yōu)于重負(fù)載集合節(jié)點(diǎn)的優(yōu)先級進(jìn)行分發(fā)。且在同一集合內(nèi),根據(jù)性能值的高低再對同一集合中的節(jié)點(diǎn)進(jìn)行排序,確保能夠分發(fā)到性能最高的節(jié)點(diǎn)。

        Task3任務(wù)遷移策略:在任務(wù)遷移方面,為了使遷移目標(biāo)更加準(zhǔn)確,盡可能避免不必要或者過多的遷移,所以規(guī)定任務(wù)遷移僅在高負(fù)載集合和低負(fù)載集合之間進(jìn)行。遷移部分同分發(fā)部分,根據(jù)負(fù)載狀況分類結(jié)果對節(jié)點(diǎn)進(jìn)行排序。根據(jù)排序結(jié)果,將高負(fù)載集合中節(jié)點(diǎn)的任務(wù)向低負(fù)載集合節(jié)點(diǎn)進(jìn)行遷移,且優(yōu)先遷移到同一集合中性能較高的節(jié)點(diǎn)中。

        Task1:自適應(yīng)觸發(fā)部分

        1. while(true)

        2.Load=Loadnow-Loadbefore;

        3. if ΔLoad>RthredholdorLoadnow>Hthredholdthen

        4. break;

        5. else

        6. sleepT0seconds;

        7. end if

        8. end while

        Task2:任務(wù)分發(fā)部分

        9. while(break)

        10. Initialize;

        11. for eachKSido

        12. classifyKSiintoL,M,H;

        13. calculatePfor eachKSiintoL,M,H;

        14. sortKSsin the order ofL,M,H;

        15. sortKSiin same set in order ofPfrom high to low;

        16. end for

        17. for eachTjdo

        18. distributeTjtoKSiby priority fromLtoH;

        19. distributeTjtoKSiin order ofPfrom high to low;

        20. updateL,M,HandP;

        21. end for

        22. end while

        Task3:任務(wù)遷移部分

        23. while(break andL≠?,H≠?)

        24. for eachTsdo

        25. migrateTsfromKSi∈HtoKSj∈L;

        26. migrateTstoKSj∈Lin order ofPfrom high to low;

        27. updateL,HandP;

        28. end for

        29. end while

        4 實(shí) 驗(yàn)

        本文通過云計(jì)算仿真軟件Cloudsim[14]對本文所提出的負(fù)載策略進(jìn)行模擬仿真實(shí)驗(yàn)。通過對Cloudsim中的DataCenterBroker類進(jìn)行擴(kuò)展,構(gòu)造并實(shí)現(xiàn)本文所設(shè)計(jì)的策略,具體流程如下:

        (1) 初始化各項(xiàng)參數(shù)。

        (2) 創(chuàng)建數(shù)據(jù)中心及代理業(yè)務(wù)。

        DataCenter Mydatacenter_0=createDatacenter

        (“MyDatacenter_0”);

        DatacenterBroker broker=createBroker();

        (3) 創(chuàng)建虛擬機(jī)列表并設(shè)定虛擬機(jī)基本參數(shù)。

        private static List createVM(int userId, int vms, int idShift);

        (4) 對bindCloudletToVm(int cloudletId,int vmId)進(jìn)行修改,構(gòu)造本文設(shè)計(jì)算法。

        public static void runSimulation_Bayes(DatacenterBroker broker);

        (5) 提交任務(wù)列表及虛擬機(jī)列表。

        broker.submitVmList(vmList);

        broker.submitCloudletList(cloudletlist);

        (6) 開始仿真。

        CloudSim.startSimulation();

        ListnewList=broker.getCloudletReceivedList();

        (7) 仿真結(jié)束,輸出仿真結(jié)果。

        CloudSim.stopSimulation();

        Log.printLine(String.format(″vm id= %s,mips=%s ″,vm.getId(),vm.getMips()));

        printCloudletList(newList);

        將本文所提出的負(fù)載均衡策略與加權(quán)輪詢算法WRR、動(dòng)態(tài)負(fù)載均衡算法DLB以及基于GA算法、NB算法、BHHLB算法的負(fù)載均衡策略進(jìn)行對比、分析與評估來得出實(shí)驗(yàn)結(jié)論。主要評估指標(biāo)為任務(wù)最大完成時(shí)間、各節(jié)點(diǎn)的平均響應(yīng)時(shí)間以及被遷移的任務(wù)數(shù)量。

        4.1 實(shí)驗(yàn)環(huán)境

        通過Cloudsim模擬選取5臺(tái)虛擬機(jī)作為Keystone虛擬節(jié)點(diǎn)。對不同的負(fù)載均衡策略選取相同的實(shí)驗(yàn)環(huán)境,具體實(shí)驗(yàn)環(huán)境配置如表1所示。

        表1 仿真環(huán)境中資源參數(shù)列表

        4.2 實(shí)驗(yàn)分析

        通過對Cloudsim中的cloudlet類進(jìn)行改寫來設(shè)置云任務(wù)的長度、數(shù)量及屬性來模擬云平臺(tái)Openstack認(rèn)證系統(tǒng)中多樣化的服務(wù)請求,分別對任務(wù)的最大完成時(shí)間和節(jié)點(diǎn)的平均響應(yīng)時(shí)間及被遷移任務(wù)遷移數(shù)量進(jìn)行統(tǒng)計(jì)。

        圖3反映了通過本文策略進(jìn)行負(fù)載均衡前后的任務(wù)最大完成時(shí)間比較。在不使用本文策略的情況下默認(rèn)采用Openstack認(rèn)證系統(tǒng)使用的隨機(jī)分配法。對比結(jié)果顯示,通過本文策略進(jìn)行負(fù)載均衡后,任務(wù)的最大完成時(shí)間顯著減少,并且隨著任務(wù)數(shù)量增加,差距較為明顯,反映了使用本文負(fù)載均衡策略后系統(tǒng)的工作效率有較大的提高。

        圖3 負(fù)載均衡前后任務(wù)最大完成時(shí)間對比

        圖4反映了隨著任務(wù)數(shù)量增加不同算法任務(wù)最大完成時(shí)間比較。任務(wù)完成時(shí)間能夠反映系統(tǒng)的工作效率。由于本文策略增加了自適負(fù)載均衡管理應(yīng)框架,通過各個(gè)模塊實(shí)時(shí)收集掌握節(jié)點(diǎn)負(fù)載信息,并計(jì)算各Keystone節(jié)點(diǎn)的負(fù)載特征值,在任務(wù)量較低時(shí)占用了一定的開銷。但是隨著任務(wù)數(shù)量增加,通過樸素貝葉斯算法對節(jié)點(diǎn)負(fù)載狀況進(jìn)行分類,使得任務(wù)能夠優(yōu)先分發(fā)到負(fù)載較低的節(jié)點(diǎn)。通過自適應(yīng)閾值避免在低負(fù)載狀態(tài)下策略的頻繁觸發(fā)引起系統(tǒng)不必要的開銷。相較于其他對比算法對節(jié)點(diǎn)性能的表示以及任務(wù)分發(fā)時(shí)節(jié)點(diǎn)的性能狀況考慮更加充分,克服了其他對比算法權(quán)重分配不合理及自適應(yīng)性不足等問題。隨著任務(wù)數(shù)量增加,能夠使系統(tǒng)處于一個(gè)相對穩(wěn)定且高效的工作狀態(tài),有著更好的負(fù)載均衡效果。

        圖4 任務(wù)最大完成時(shí)間對比

        圖5反映了隨著任務(wù)數(shù)量增加,不同算法之間響應(yīng)時(shí)間的對比。節(jié)點(diǎn)平均響應(yīng)時(shí)間可以反映出負(fù)載的分布情況。由于本文所提出策略基于樸素貝葉斯算法,相較于DLB、GA算法,能夠有效避免在Keystone虛擬節(jié)點(diǎn)中尋找最優(yōu)解的問題,節(jié)省了大量計(jì)算開銷,并減輕了系統(tǒng)負(fù)擔(dān)。相較于NB、BHHLB算法,通過信息熵算法來度量各特征值指標(biāo)的所占權(quán)重,克服了各個(gè)特征屬性對于類別決策影響相同的問題,使算法的分類結(jié)果具有更高的準(zhǔn)確率。通過中央控制節(jié)點(diǎn)實(shí)時(shí)收集各Keystone節(jié)點(diǎn)負(fù)載狀況,并通過自適應(yīng)閾值來防止短時(shí)間內(nèi)認(rèn)證服務(wù)請求暴增的情況,使節(jié)點(diǎn)處于相對穩(wěn)定的狀態(tài)。所以本文策略能夠有效降低各節(jié)點(diǎn)的平均響應(yīng)時(shí)間,并且能夠高效地利用每一個(gè)節(jié)點(diǎn)的計(jì)算資源,使得集群中各節(jié)點(diǎn)的負(fù)載分布更加均衡。

        圖5 節(jié)點(diǎn)平均響應(yīng)時(shí)間對比

        圖6表示隨著任務(wù)數(shù)量增加不同算法之間任務(wù)遷移次數(shù)比較。任務(wù)遷移頻繁會(huì)帶來不必要的資源損耗,為了避免不必要的遷移,本文策略在特征值選取方面綜合考慮了節(jié)點(diǎn)的負(fù)載狀況,增加了隊(duì)列特征值,結(jié)合預(yù)測模塊對負(fù)載進(jìn)行預(yù)測,在任務(wù)遷移時(shí)充分考慮了各節(jié)點(diǎn)的性能狀況。相較于NB算法規(guī)定任務(wù)遷移僅在高負(fù)載集合和低負(fù)載集合之間進(jìn)行,避免了過多遷移。相較于BHHLB算法將節(jié)點(diǎn)的性能狀況作為任務(wù)遷移時(shí)的重要依據(jù)。結(jié)果表明:本文策略隨著任務(wù)數(shù)量增加,相較于其他對比算法在任務(wù)遷移方面具有較高的準(zhǔn)確度,能夠有效避免任務(wù)在不同節(jié)點(diǎn)間多次遷移導(dǎo)致的資源浪費(fèi)。

        圖6 被遷移任務(wù)數(shù)量對比

        綜合對比分析,本文所提出策略在任務(wù)完工時(shí)間、節(jié)點(diǎn)平均響應(yīng)時(shí)間方面優(yōu)于WRR、DLB、GA、NB、BHHLB算法,在任務(wù)遷移次數(shù)方面優(yōu)于DLB、GA、NB、BHHLB算法。在任務(wù)量較大時(shí),能夠使負(fù)載的分布更加均衡。在Openstack云平臺(tái)認(rèn)證系統(tǒng)中有著更好地負(fù)載均衡效果。

        5 結(jié) 語

        身份認(rèn)證技術(shù)是保護(hù)云環(huán)境下用戶隱私數(shù)據(jù)安全的第一道防線。Keystone作為Openstack云平臺(tái)的認(rèn)證核心組件同時(shí)也是制約云平臺(tái)穩(wěn)定高效運(yùn)行的瓶頸,所以維持Keystone節(jié)點(diǎn)穩(wěn)定高效的工作具有重要意義。本文針對云平臺(tái)Openstack基于Keystone組件的認(rèn)證系統(tǒng)資源消耗導(dǎo)致負(fù)載不均衡問題,考慮到Keystone組件的特點(diǎn),對節(jié)點(diǎn)的負(fù)載及性能狀況進(jìn)行實(shí)時(shí)的監(jiān)測。通過改進(jìn)的樸素貝葉斯算法對節(jié)點(diǎn)的負(fù)載狀況進(jìn)行分類并結(jié)合節(jié)點(diǎn)的當(dāng)前性能對任務(wù)進(jìn)行合理的分發(fā)和遷移,從而實(shí)現(xiàn)Openstack認(rèn)證系統(tǒng)的負(fù)載均衡。實(shí)驗(yàn)結(jié)果顯示,本文所提出的負(fù)載策略,相較于WRR、GA等算法在任務(wù)數(shù)量較大時(shí)能夠取得更好的負(fù)載均衡效果。下一步工作是將本文所設(shè)計(jì)的負(fù)載策略在實(shí)際Openstack云身份認(rèn)證系統(tǒng)中進(jìn)行測試和應(yīng)用。

        猜你喜歡
        貝葉斯特征值狀況
        聲敏感患者的焦慮抑郁狀況調(diào)查
        一類帶強(qiáng)制位勢的p-Laplace特征值問題
        單圈圖關(guān)聯(lián)矩陣的特征值
        2019年中國國際收支狀況依然會(huì)保持穩(wěn)健
        中國外匯(2019年13期)2019-10-10 03:37:38
        第五節(jié) 2015年法學(xué)專業(yè)就業(yè)狀況
        貝葉斯公式及其應(yīng)用
        基于貝葉斯估計(jì)的軌道占用識(shí)別方法
        一種基于貝葉斯壓縮感知的說話人識(shí)別方法
        電子器件(2015年5期)2015-12-29 08:43:15
        基于商奇異值分解的一類二次特征值反問題
        關(guān)于兩個(gè)M-矩陣Hadamard積的特征值的新估計(jì)
        国内精品亚洲成av人片| 熟妇人妻精品一区二区视频免费的| 无码午夜剧场| 无码国产午夜福利片在线观看| 精品亚洲麻豆1区2区3区| 国产黄色一区二区三区av| 亚洲一区精品中文字幕| 97精品伊人久久大香线蕉| 免费超爽大片黄| 日本一二三四区在线观看| 人成视频在线观看免费播放| 亚洲国产麻豆综合一区| 亚洲av无码国产精品色午夜字幕| 亚洲av乱码一区二区三区女同| 国产成人精品午夜福利| 国产精品亚洲欧美大片在线看| 亚洲av中文无码乱人伦在线视色| av中文字幕一区人妻| 久久久亚洲精品免费视频| 欧美a级在线现免费观看| 色综合无码av网站| 无码人妻丰满熟妇区五十路百度| 巨人精品福利官方导航| 亚洲最大中文字幕在线| av免费在线播放一区二区| 国产综合第一夜| 国产mv在线天堂mv免费观看| 亚洲一线二线三线写真 | 亚洲国内精品一区二区在线| 我和隔壁的少妇人妻hd| 一本一道av无码中文字幕 | 国产亚洲av片在线观看18女人| 国产对白刺激在线观看| 国产亚洲成人精品久久久| 免费人成网ww555kkk在线| 免费无码又爽又刺激高潮的视频网站 | 毛多水多www偷窥小便| 免费黄色福利| 人妖啪啪综合av一区| 亚洲av永久无码精品网站在线观看 | 中文无码制服丝袜人妻AV|