一種基于數(shù)據(jù)挖掘的云服務(wù)性能預(yù)警事件生成方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于云服務(wù)技術(shù)領(lǐng)域,具體涉及一種基于數(shù)據(jù)挖掘的云服務(wù)性能預(yù)警事件 生成方法。
【背景技術(shù)】
[0002] 在大數(shù)據(jù)時(shí)代中,信息量指數(shù)型的增長特性直接導(dǎo)致了諸多行業(yè)中的數(shù)據(jù)大爆 發(fā),整個(gè)社會也因此在生活方式和生產(chǎn)方式上產(chǎn)生了巨大的變革,而支撐這種科技大變革 的技術(shù)基礎(chǔ),則要?dú)w功于當(dāng)前運(yùn)供應(yīng)商和云服務(wù)商提供的各種各樣的"云"服務(wù)。云計(jì)算技 術(shù)(CloudComputing)是利用高速互聯(lián)網(wǎng)的傳輸能力,將數(shù)據(jù)的處理過程從個(gè)人計(jì)算機(jī)或 服務(wù)器轉(zhuǎn)移到互聯(lián)網(wǎng)上的計(jì)算機(jī)集群中的技術(shù)。云計(jì)算是一種新興的商業(yè)計(jì)算模型,它將 計(jì)算任務(wù)分布在大量計(jì)算機(jī)構(gòu)成的資源池上,使各種應(yīng)用系統(tǒng)能夠根據(jù)需要獲取計(jì)算力、 存儲空間和各種軟件服務(wù)。"云"是一些可以自我維護(hù)和管理的虛擬計(jì)算資源,通常為一些 大型服務(wù)器集群,這使得應(yīng)用提供者無需為繁瑣的細(xì)節(jié)而煩惱,能夠更加專注于自己的業(yè) 務(wù),有利于創(chuàng)新和降低成本。隨著分布式異構(gòu)計(jì)算機(jī)應(yīng)用項(xiàng)目的大量推廣,云計(jì)算憑借著 其創(chuàng)新的計(jì)算模式,近年來日益受到商業(yè)界和學(xué)術(shù)界的高度重視。根據(jù)云計(jì)算服務(wù)模式的 不同,可以將其分為三個(gè)服務(wù)層次,軟件即服務(wù)(softwareasaservice,SaaS)、平臺即服 務(wù)(platformasaservice,PaaS)和基礎(chǔ)設(shè)施即服務(wù)(infrastructureasaservice, IaaS)〇
[0003] 在常規(guī)云環(huán)境中,云硬件供應(yīng)商已經(jīng)在硬件服務(wù)基礎(chǔ)上做了大量基礎(chǔ)工作,通常 情況下云服務(wù)的供應(yīng)商只需要將自己的服務(wù)部署到相應(yīng)的硬件環(huán)境中,也就是云集群中 的虛擬機(jī)(virtualmachine,VM)上即可對外提供服務(wù)。但是隨著服務(wù)的長時(shí)間運(yùn)營,月艮 務(wù)的自身組件會逐漸受到歷史數(shù)據(jù)的積累、即時(shí)大并發(fā)流量沖擊以及新增部署組件的干 擾等多因素的影響,致使其服務(wù)性能下降以至于違反先定服務(wù)等級協(xié)議(servicelevel agreement,SLA)。SLA是關(guān)于網(wǎng)絡(luò)服務(wù)供應(yīng)商和客戶間的一份合同,其中定義了服務(wù)類型、 服務(wù)質(zhì)量等術(shù)語。SLA協(xié)議是云系統(tǒng)對客戶提供的服務(wù)基礎(chǔ),在提供服務(wù)的全過程中,供應(yīng) 商必須嚴(yán)格遵守SLA。故此,云系統(tǒng)的主要任務(wù)之一就是保證系統(tǒng)持續(xù)穩(wěn)定的提供滿足SLA 的服務(wù),進(jìn)而保證整個(gè)服務(wù)的服務(wù)質(zhì)量(qualityofservice,QoS)。
[0004] 針對這種情況,服務(wù)環(huán)境需要一個(gè)高效準(zhǔn)確的服務(wù)性能自適應(yīng)優(yōu)化系統(tǒng),以助各 云服務(wù)在服務(wù)性能下架的場景下,可以自發(fā)的調(diào)節(jié)服務(wù)自身工作環(huán)境,從而為客戶提供一 個(gè)穩(wěn)定舒適的服務(wù)體驗(yàn)。
[0005] 在現(xiàn)有技術(shù)中,大多數(shù)都是從組件在線運(yùn)營場景層面上設(shè)計(jì)服務(wù)組件的觸發(fā)事 件,在云服務(wù)系統(tǒng)開發(fā)設(shè)計(jì)階段枚舉所有可能的場景,針對各場景特性和不同的SLA協(xié)議 設(shè)計(jì)不同的觸發(fā)事件集,構(gòu)建該組件的觸發(fā)事件系統(tǒng)。但由于服務(wù)組件部署環(huán)境具有極強(qiáng) 的不確定性和服務(wù)組件所承受負(fù)載壓力的隨機(jī)性,就其能夠羅列出的場景相對于實(shí)際運(yùn)行 的場景而言,數(shù)量是十分有限的,另外單純基于在線運(yùn)營場景靜態(tài)設(shè)計(jì)出的觸發(fā)事件集在 后期維護(hù)工作上也需要投入大量的人力。也有通過預(yù)測技術(shù)預(yù)測服務(wù)組件未來負(fù)載壓力, 從而進(jìn)一步預(yù)測服務(wù)組件的響應(yīng)時(shí)間來達(dá)到提前預(yù)警的目的,但是其解決思路依然停留在 了SLA約束層面,未能進(jìn)一步挖掘更精確、更微粒度的事件觸發(fā)條件,未能從實(shí)質(zhì)上改善預(yù) 警系統(tǒng)的預(yù)警精度和時(shí)效性問題。
【發(fā)明內(nèi)容】
[0006] 針對現(xiàn)有技術(shù)存在的不足,本發(fā)明提供一種基于數(shù)據(jù)挖掘的云服務(wù)性能預(yù)警事件 生成方法。
[0007] 本發(fā)明的技術(shù)方案是:
[0008] -種基于數(shù)據(jù)挖掘的云服務(wù)性能預(yù)警事件生成方法,包括如下步驟:
[0009] 步驟1 :監(jiān)測物理機(jī)群數(shù)據(jù)、虛擬機(jī)數(shù)據(jù)、服務(wù)組件數(shù)據(jù);
[0010] 步驟2 :針對實(shí)時(shí)監(jiān)測的數(shù)據(jù)利用觸發(fā)事件庫進(jìn)行觸發(fā)判斷:若當(dāng)前數(shù)據(jù)觸發(fā)約 束事件,則執(zhí)行步驟4,否則執(zhí)行步驟3 ;
[0011] 所述觸發(fā)事件庫中包括約束事件和預(yù)警事件:根據(jù)SLA生成約束事件;根據(jù)歷史 運(yùn)營日志數(shù)據(jù)庫生成預(yù)警事件;
[0012] 步驟3 :判斷當(dāng)前數(shù)據(jù)是否觸發(fā)預(yù)警事件:是,則執(zhí)行步驟4,否則返回步驟1 ;
[0013] 步驟4 :根據(jù)自適應(yīng)方法庫進(jìn)行云服務(wù)性能自優(yōu)化;
[0014] 根據(jù)歷史自優(yōu)化軌跡數(shù)據(jù)庫建立自適應(yīng)方法庫,自適應(yīng)方法庫中包括資源調(diào)整方 案決策方法、服務(wù)迀移方案決策方法和虛擬機(jī)副本增刪方案決策方法;
[0015] 步驟5 :反饋學(xué)習(xí),更新觸發(fā)事件庫,返回步驟1。
[0016] 所述步驟1包括以下步驟:
[0017] 步驟1-1 :實(shí)時(shí)采集物理機(jī)群數(shù)據(jù)、虛擬機(jī)數(shù)據(jù)、服務(wù)組件數(shù)據(jù);
[0018] 物理機(jī)群數(shù)據(jù)、虛擬機(jī)數(shù)據(jù)均包括CPU核數(shù)、內(nèi)存大小、帶寬、服務(wù)組件數(shù)據(jù)、可用 磁盤大?。?br>[0019] 服務(wù)組件數(shù)據(jù)包括CPU占用率、內(nèi)存占用率、并發(fā)量、響應(yīng)時(shí)間、I/O設(shè)備調(diào)用頻 率;
[0020] 步驟1-2 :預(yù)處理:對篩選出的數(shù)據(jù)中的錯(cuò)誤信息、非法信息、冗余信息和噪點(diǎn)信 息進(jìn)行清洗。
[0021] 所述觸發(fā)事件庫的建立過程如下:
[0022] 步驟2-1 :根據(jù)歷史運(yùn)營日志、歷史自優(yōu)化軌跡建立歷史運(yùn)營日志數(shù)據(jù)庫、歷史自 優(yōu)化軌跡數(shù)據(jù)庫;
[0023] 歷史運(yùn)營日志信息包括某時(shí)間段某服務(wù)組件所占內(nèi)存大小、負(fù)載大小、吞吐量;
[0024] 歷史自優(yōu)化軌跡是:服務(wù)組件的性能下降、自優(yōu)化方案及其執(zhí)行效果的歷史信 息;
[0025] 步驟2-2 :根據(jù)歷史運(yùn)營日志數(shù)據(jù)庫和SLA約束生成觸發(fā)事件庫;
[0026] 步驟2-2-1 :根據(jù)SLA生成約束事件;
[0027] 步驟2-2-2 :根據(jù)歷史運(yùn)營日志數(shù)據(jù)庫生成預(yù)警事件;
[0028] 步驟2-2-3 :根據(jù)約束事件和預(yù)警事件生成觸發(fā)事件庫;
[0029] 預(yù)警事件生成:結(jié)合當(dāng)前組件服務(wù)環(huán)境的資源量、部署環(huán)境及Vlini,生成該環(huán)境下 該組件的預(yù)警事件,并存入觸發(fā)事件數(shù)據(jù)庫De中。
[0030]所述步驟2-2-2根據(jù)歷史運(yùn)營日志數(shù)據(jù)庫生成預(yù)警事件,按以下步驟進(jìn)行:
[0031] 步驟2-2-2-1:預(yù)警事件數(shù)據(jù)定位與采集:
[0032] 觸發(fā)約束事件的某時(shí)間點(diǎn)Ts的采集數(shù)據(jù)超過設(shè)定閾值且距離前次自優(yōu)化結(jié)束的 時(shí)間點(diǎn)Te時(shí)間間隔h大于N個(gè)監(jiān)測周期,則時(shí)間點(diǎn)Ts為預(yù)警事件觸發(fā)節(jié)點(diǎn);
[0033] 采集的數(shù)據(jù)包括物理機(jī)群數(shù)據(jù)、虛擬機(jī)數(shù)據(jù)、服務(wù)組件數(shù)據(jù);
[0034] 物理機(jī)群數(shù)據(jù)、虛擬機(jī)數(shù)據(jù)均包括CPU核數(shù)、內(nèi)存大小、帶寬、服務(wù)組件數(shù)據(jù)、可用 磁盤大?。?br>[0035] 服務(wù)組件數(shù)據(jù)包括CPU占用率、內(nèi)存占用率、并發(fā)量、響應(yīng)時(shí)間、I/O設(shè)備調(diào)用頻 率;
[0036] 步驟2-2-2_2:預(yù)警事件數(shù)據(jù)整合:將Ts至Te之間的M各監(jiān)測周期內(nèi)采集的數(shù)據(jù) 分別按組件ID分組,隨后再將各分組不同監(jiān)測周期內(nèi)的數(shù)據(jù)按資源類型分組,并刪去非特 征屬性的干擾數(shù)據(jù);
[0037] 所述特征屬性數(shù)據(jù)包括內(nèi)存占用率、內(nèi)存使用率和組件調(diào)用率;
[0038] 所述刪去非特征屬性的干擾數(shù)據(jù):計(jì)算在Ts之后的特征屬性值得均值Vn,將各時(shí) 間段內(nèi)與均值Vn偏差大于n%的數(shù)據(jù)作為噪點(diǎn)數(shù)據(jù)去除;
[0039] 步驟2-2-2_3:預(yù)警事件特征屬性閾值提?。?br>[0040] 步驟2-2-2-3-1:去除干擾數(shù)據(jù)后剩余有效數(shù)據(jù)的均值記為Va,并取Va的r%作 為特征屬性閾值指標(biāo),并標(biāo)記為As,r為特征屬性閾值系數(shù),As=Va*r% ;
[0041] 步驟2-2-2-3_2:計(jì)算在Ts之前的若干個(gè)大于As且小于Va的最高峰值,計(jì)算均 值,取該均值的q%作為該組件在此環(huán)境下的該資源的最高閾值,記作Vlini,Vlini即所需的預(yù) 警事件的預(yù)警閾值,q為閾值系數(shù)。
[0