国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種大規(guī)模流式數(shù)據(jù)處理系統(tǒng)的瓶頸節(jié)點(diǎn)檢測(cè)方法與流程

      文檔序號(hào):12131702閱讀:396來(lái)源:國(guó)知局
      本發(fā)明涉及一種大規(guī)模流式數(shù)據(jù)處理系統(tǒng)的瓶頸節(jié)點(diǎn)檢測(cè)方法,屬于大數(shù)據(jù)計(jì)算、模糊邏輯以及流式預(yù)處理
      技術(shù)領(lǐng)域
      :。
      背景技術(shù)
      ::隨著實(shí)時(shí)大數(shù)據(jù)技術(shù)的發(fā)展,很多公司開(kāi)始部署自己的流式數(shù)據(jù)處理集群,維護(hù)這些集群的運(yùn)行需要非常大的開(kāi)銷,而流式數(shù)據(jù)處理系統(tǒng)的典型特征是數(shù)據(jù)流大小不穩(wěn)定,系統(tǒng)的復(fù)雜隨著事件變換很快。為了使得系統(tǒng)能在少數(shù)大流量的情況下也能正常運(yùn)行,在配置集群的時(shí)候需要按照預(yù)估的最大流量進(jìn)行資源分配;但是大流量情況通常只在很少的情況下發(fā)生,如果資源配置按最高要求配置,則在大部分時(shí)候大部分資源都處于閑置狀態(tài),系統(tǒng)的資源利用率非常低,造成嚴(yán)重的資源浪費(fèi)。因此如何監(jiān)控一個(gè)運(yùn)行中的集群,快速高效地檢測(cè)到集群中的瓶頸節(jié)點(diǎn)并對(duì)其實(shí)施擴(kuò)展成為了云計(jì)算基礎(chǔ)架構(gòu)領(lǐng)域的關(guān)鍵問(wèn)題之一?,F(xiàn)在主流的流式數(shù)據(jù)處理引擎都沒(méi)有對(duì)單個(gè)節(jié)點(diǎn)過(guò)載(瓶頸)檢測(cè)和進(jìn)行擴(kuò)展的設(shè)計(jì),比如Storm和S4都是使用靜態(tài)配置的方式進(jìn)行作業(yè)的,對(duì)于流量不穩(wěn)定的情況不能根據(jù)需要?jiǎng)討B(tài)的分配和回收資源,只能從整體檢測(cè)系統(tǒng)的運(yùn)行狀態(tài),如果需要擴(kuò)展則需要停止集群,根據(jù)需要編輯靜態(tài)配置文件重新分配資源然后才能繼續(xù)運(yùn)行。針對(duì)現(xiàn)在云計(jì)算平臺(tái)對(duì)擴(kuò)展性功能的需求,科研人員研究了幾種檢測(cè)瓶頸節(jié)點(diǎn)的方法,并且在Storm等平臺(tái)上進(jìn)行了集成,在流式數(shù)據(jù)處理領(lǐng)域得到了諸多應(yīng)用。對(duì)于流式數(shù)據(jù)處理系統(tǒng)的瓶頸節(jié)點(diǎn)檢測(cè)和擴(kuò)展的方方法大體分為三類,第一類是基于閾值的靜態(tài)判斷方法,這是一種簡(jiǎn)單而直觀的方法,但是靜態(tài)閾值的設(shè)定需要用戶對(duì)應(yīng)用的負(fù)載趨勢(shì)有很深的理解才能正確設(shè)置并且閾值對(duì)應(yīng)用是獨(dú)立的,云平臺(tái)不能得知這些閾值怎么確定。第二類是一種基于增強(qiáng)學(xué)習(xí)的自動(dòng)決策方式用于自動(dòng)擴(kuò)展,這種方式使用馬爾科夫決策處理模型和Q-learning算法,使用機(jī)器學(xué)習(xí)的方法通過(guò)訓(xùn)練一個(gè)判斷模型對(duì)系統(tǒng)的負(fù)載狀態(tài)做判斷;這中方法又兩個(gè)缺陷:一是初始化性能差,需要很大的訓(xùn)練時(shí)間;二是需要很大的狀態(tài)空間,隨著狀態(tài)變量的增加,狀態(tài)的數(shù)量呈指數(shù)增長(zhǎng),狀態(tài)過(guò)多的情況下導(dǎo)致性能下降嚴(yán)重。第三類是基于控制理論的方法,控制理論已經(jīng)用于web服務(wù)器,存儲(chǔ)系統(tǒng),數(shù)據(jù)中心等系統(tǒng)的自動(dòng)化管理;控制理論方法常分為開(kāi)放回路(Openloop)和前饋-反饋(feedbackandfeed-forward)兩種方式,開(kāi)放回路是一種無(wú)反饋的方式,它只根據(jù)當(dāng)前系統(tǒng)的狀態(tài)與系統(tǒng)模型計(jì)算一個(gè)值,并不判斷這個(gè)結(jié)果對(duì)系統(tǒng)的輸出的影響是否取得希望的結(jié)果。而帶反饋的控制器則會(huì)觀察系統(tǒng)輸出,并根據(jù)系統(tǒng)的輸出相應(yīng)地改進(jìn)計(jì)算以其得到一個(gè)期望的結(jié)果??刂评碚摷夹g(shù)集成到流數(shù)據(jù)處理系統(tǒng)的方法得到了廣泛的研究。PaldenLama和XiaoboZhou等在2010IEEEInternationalSymposiumonModeling,AnalysisandSimulationofComputerandTelecommunicationSystems會(huì)議上發(fā)表的名為“Automatedcontrolincloudcomputing:challengesandopportunities”即提出了一種使用基于平均CPU利用率調(diào)整集群虛擬機(jī)數(shù)量的控制方法,這種方法使用較為直觀易懂的控制邏輯,實(shí)現(xiàn)虛擬機(jī)資源的自動(dòng)分配,但是其缺點(diǎn)是過(guò)于簡(jiǎn)單,只考慮CPU使用率這一個(gè)參數(shù),變量過(guò)于單一難以體現(xiàn)流式數(shù)據(jù)處理系統(tǒng)整體的負(fù)載狀態(tài),其效果的可靠性較低,誤差較大。在2009年9thIEEE/ACMInternationalSymposiumonClusterComputingandtheGrid研討會(huì)上發(fā)表的名為“Self-TuningVirtualMachinesforPredictableeScience”的文章提出了一種控制批處理作業(yè)資源的PI(Proportional-Integral)控制器,這種方法根據(jù)作業(yè)的執(zhí)行進(jìn)度建立了一個(gè)關(guān)于已分配資源的有反饋的模型,雖然這個(gè)控制器能有效的工作,但是這個(gè)模型主要用來(lái)預(yù)測(cè)批處理系統(tǒng)的執(zhí)行進(jìn)度和資源分配,并不完全適合于流式數(shù)據(jù)處理系統(tǒng)。另外的一種廣泛的控制理論是模糊邏輯技術(shù),模糊邏輯控制使用將負(fù)載參數(shù)映射到一個(gè)模糊集合,通過(guò)定義的模糊規(guī)則集合的運(yùn)算得到結(jié)果對(duì)應(yīng)的模糊變量及其隸屬度,最后通過(guò)解模糊操作獲得一個(gè)模糊推理的最終結(jié)果?;谀:壿嬂碚摰目刂葡到y(tǒng)稱為模糊控制器,在2011年的IEEE19thInternationalSymposiumonModeling,Analysis&SimulationofComputerandTelecommunicationSystems會(huì)議上發(fā)表的名為“FuzzyModelingBasedResourceManagementforVirtualizedDatabaseSystems”提出了一種使用模糊邏輯控制資源動(dòng)態(tài)分配的方法,改方法使用CPU使用率代表輸入負(fù)載,改方法驗(yàn)證了使用模糊邏輯作為資源分配控制器的可行性,但是該論文主要考慮的是業(yè)務(wù)邏輯層(數(shù)據(jù)庫(kù))的資源分配,并且也存在選取的輸入變量過(guò)于簡(jiǎn)單的問(wèn)題,不能完全反映流式數(shù)據(jù)處理系統(tǒng)中數(shù)據(jù)流多變導(dǎo)致的系統(tǒng)狀態(tài)多樣化特征。上述的已有的資源控制策略雖然在各自的應(yīng)用場(chǎng)景中有一定的效果,但是基于控制理論的方法大多存在選取輸入變量過(guò)于簡(jiǎn)單的問(wèn)題,而基于增強(qiáng)學(xué)習(xí)的方法存在初始化階段性能過(guò)低而且學(xué)習(xí)模型的結(jié)果不保證可靠,而簡(jiǎn)單直觀的設(shè)置閾值方法則不能適應(yīng)更多的應(yīng)用場(chǎng)景,需要對(duì)各個(gè)應(yīng)用設(shè)置獨(dú)立的閾值且閾值的設(shè)定依賴于對(duì)應(yīng)用復(fù)雜程度的了解。本發(fā)明目的在于解決上述的問(wèn)題,提出一個(gè)基于控制理論的大規(guī)模流式數(shù)據(jù)處理系統(tǒng)瓶頸節(jié)點(diǎn)檢測(cè)方法,該方法既能獲得很好的計(jì)算性能,而且選取足夠反映流式處理系統(tǒng)特征的多個(gè)變量參與計(jì)算。我們的發(fā)明能及時(shí)檢測(cè)到流量的變化給系統(tǒng)負(fù)載帶來(lái)的變化,及時(shí)判斷出瓶頸節(jié)點(diǎn)進(jìn)行擴(kuò)展,以維護(hù)只運(yùn)行一個(gè)資源利用最優(yōu)的集群,達(dá)到減小集群規(guī)模,節(jié)省資源的目的。技術(shù)實(shí)現(xiàn)要素:本發(fā)明的目的是克服現(xiàn)有擴(kuò)展理論的狀態(tài)變量選取不充分以及可靠性不高的技術(shù)缺陷,提出了一種大規(guī)模流式數(shù)據(jù)處理系統(tǒng)的瓶頸節(jié)點(diǎn)檢測(cè)方法。一種大規(guī)模流式數(shù)據(jù)處理系統(tǒng)的瓶頸節(jié)點(diǎn)檢測(cè)方法所依托的系統(tǒng),即一種基于模糊邏輯控制的瓶頸檢測(cè)系統(tǒng),簡(jiǎn)稱本系統(tǒng)包括初始化單元、節(jié)點(diǎn)狀態(tài)采集單元、模糊推理單元和解模糊單元;一種大規(guī)模流式數(shù)據(jù)處理系統(tǒng)的瓶頸節(jié)點(diǎn)檢測(cè)方法,簡(jiǎn)稱本方法,具體步驟如下:步驟1:初始化單元初始化模糊邏輯引擎,設(shè)定輸入變量的語(yǔ)義化標(biāo)簽及各語(yǔ)義標(biāo)簽的隸屬函數(shù),加載模糊規(guī)則集,設(shè)定推理結(jié)果判定參數(shù);其中,模糊邏輯引擎是實(shí)現(xiàn)了模糊邏輯控制語(yǔ)言(FCL)標(biāo)準(zhǔn)(IEC1131-7)以及能進(jìn)行模糊推理的程序引擎,可使用C++語(yǔ)言實(shí)現(xiàn)的fuzzylite以及Java等語(yǔ)言實(shí)現(xiàn)的jFuzzylogic;語(yǔ)義化標(biāo)簽是模糊邏輯使用的“真值”,各個(gè)輸入值(即節(jié)點(diǎn)狀態(tài))有自己的語(yǔ)義標(biāo)簽及對(duì)應(yīng)的隸屬函數(shù),這些應(yīng)該在初始化節(jié)點(diǎn)設(shè)置好,通常記錄在一個(gè)配置文件中,有模糊邏輯引擎讀取并解析;輸入變量的每個(gè)語(yǔ)義標(biāo)簽都會(huì)對(duì)應(yīng)一個(gè)隸屬函數(shù),這個(gè)函數(shù)的值在0~1之間,假設(shè)某輸入變量x的取值范圍為(m,n),函數(shù)f(x,v)表示取值為x時(shí)對(duì)于語(yǔ)義標(biāo)簽v的隸屬函數(shù);一般來(lái)說(shuō),某個(gè)語(yǔ)義標(biāo)簽的隸屬函數(shù)在直角坐標(biāo)系中為梯形或三角圖形;模糊規(guī)則集是事先編寫(xiě)的模糊推理的規(guī)則集合,模糊邏輯引擎會(huì)讀取這些規(guī)則并解析,用于后面的邏輯推理;推理結(jié)果判定,對(duì)于最終的結(jié)果我們還需要設(shè)置兩個(gè)閾值:可收縮閾值和可擴(kuò)展閾值,分別使用threshold_scale_in和threshold_scale_out表示,當(dāng)解模糊的結(jié)果小于threshold_scale_in時(shí)即表示當(dāng)前節(jié)點(diǎn)可以回收,當(dāng)解模糊結(jié)果大于threshold_scale_out時(shí)表示當(dāng)前節(jié)點(diǎn)需要擴(kuò)展了;步驟2:節(jié)點(diǎn)狀態(tài)采集單元獲取節(jié)點(diǎn)狀態(tài);我們要對(duì)一個(gè)節(jié)點(diǎn)進(jìn)行瓶頸狀態(tài)判斷,需要先獲取該節(jié)點(diǎn)的當(dāng)前運(yùn)行狀態(tài),對(duì)于流式數(shù)據(jù)處理集群來(lái)說(shuō),我們選擇節(jié)點(diǎn)的CPU使用率、內(nèi)存占用率、數(shù)據(jù)元組大小為主的信息;其中,節(jié)點(diǎn)狀態(tài)用一個(gè)元組表示:statusi={Ci,Mi,Si,Missi},分別表示節(jié)點(diǎn)i當(dāng)前的cpu負(fù)載,Ci;內(nèi)存使用率,Mi;處理元組當(dāng)前處理的數(shù)據(jù)大小,Si,;最近時(shí)間內(nèi)未及時(shí)處理掉的元組數(shù)量,Missi;對(duì)于所有數(shù)據(jù)元組都嚴(yán)格在規(guī)定范圍內(nèi)處理完成,即不允許超時(shí)的流數(shù)據(jù)處理引擎,如果有元組的處理超時(shí)表示系統(tǒng)已經(jīng)需要擴(kuò)展了,所以這類引擎在本系統(tǒng)中的Missi的值永遠(yuǎn)為0,對(duì)于允許出現(xiàn)一些容錯(cuò)的流式數(shù)據(jù)處理引擎則可以在語(yǔ)義標(biāo)簽中為Miss選項(xiàng)設(shè)定一組標(biāo)簽和對(duì)應(yīng)的隸屬函數(shù);其中,Ci的范圍為0~100,Mi的范圍為0~100;Si和Missi的取值范圍和應(yīng)用的具體場(chǎng)景相關(guān);步驟3:模糊推理單元將輸入變量模糊化,具體為:模糊推理單元使用步驟2獲取的狀態(tài)元組,設(shè)置模糊邏輯處理引擎的輸入量,由定義的隸屬函數(shù)對(duì)輸入量進(jìn)行模糊化,這一步驟可以由模糊邏輯處理引擎完成;輸入變量模糊化的具體流程如下:步驟3.1用一個(gè)隸屬函數(shù)記錄變量對(duì)于模糊集的隸屬程度,對(duì)某個(gè)輸入變量的每一個(gè)模糊集需要分別求組隸屬程度;其中,隸屬函數(shù),記為μA(x);隸屬程度的取值范圍為0到1之間的實(shí)數(shù);對(duì)某個(gè)輸入變量的每一個(gè)模糊集需要分別求組隸屬程度,具體為:假設(shè)有A1,A2,...,An個(gè)模糊集,則需要對(duì)這n個(gè)模糊集分別求隸屬度,得到[μA1,μA2,...,μAn];步驟3.2對(duì)所有輸入變量分別求其模糊集的隸屬程度;步驟4:模糊推理;其中,模糊推理是基于模糊規(guī)則的推理,模糊規(guī)則的前提,即模糊推理的條件是模糊命題的邏輯組合;模糊規(guī)則的結(jié)論是表示推理結(jié)果的模糊命題,所有模糊命題成立的模糊程度均以相應(yīng)語(yǔ)言變量定性值的隸屬函數(shù)來(lái)表示,即步驟3所求的模糊化結(jié)果;步驟4,具體為:步驟4.1模糊推理單元計(jì)算每條模糊規(guī)則的結(jié)論;使用步驟3得到的模糊化結(jié)果計(jì)算規(guī)則前提部分模糊命題的邏輯組合,并將前提邏輯組合的隸屬程度與結(jié)論命題的隸屬函數(shù)做min運(yùn)算,求得結(jié)論的模糊程度;步驟4.2對(duì)步驟4.1中所有模糊規(guī)則的結(jié)論的模糊程度做max運(yùn)算,得到模糊推理結(jié)果;至此,模糊邏輯引擎已提供完備的模糊推理實(shí)現(xiàn),我們只需要定義好模糊規(guī)則集,即可調(diào)用引擎提供的接口獲得推理結(jié)果;步驟5:解模糊,獲得判定結(jié)果;步驟4得到的是結(jié)果的模糊集的一組隸屬度的值,我們要對(duì)這一組結(jié)果進(jìn)行解模糊得到一個(gè)節(jié)點(diǎn)是否處于瓶頸狀態(tài)的結(jié)論,優(yōu)選的解模糊方法有最大隸屬度方法、加權(quán)平均法和重心法(theCenterofGravity,COG);最大隸屬度方法即取所有結(jié)果中隸屬度最大的那個(gè)結(jié)果作為最終的判定結(jié)果,這種方法實(shí)現(xiàn)簡(jiǎn)單但精度較差;更常用的是COG,COG方法通過(guò)計(jì)算結(jié)果集的重心位置作為結(jié)果;模糊邏輯引擎中實(shí)現(xiàn)了多種解模糊算法,例如jFuzzylogic中只需要在配置文件中指定DEFUZZIFYMETHOD的值為COG既可使用重心法解模糊了;重心法解模糊的結(jié)果是一個(gè)數(shù)值,同于與初始化階段設(shè)置的兩個(gè)閾值比較,得到最終是應(yīng)該擴(kuò)展、應(yīng)該收縮還是保持不變的決策。至此,步驟1到步驟5,完成了一種大規(guī)模流式數(shù)據(jù)處理系統(tǒng)的瓶頸節(jié)點(diǎn)檢測(cè)方法。有益效果一種大規(guī)模流式數(shù)據(jù)處理系統(tǒng)的瓶頸節(jié)點(diǎn)檢測(cè)方法,與其他大規(guī)模流式數(shù)據(jù)處理系統(tǒng)的瓶頸節(jié)點(diǎn)檢測(cè)方法相比,具有如下有益效果:1.本發(fā)明所提的大規(guī)模流式數(shù)據(jù)處理系統(tǒng)的瓶頸節(jié)點(diǎn)檢測(cè)方法只依賴于系統(tǒng)當(dāng)前的狀態(tài)和之前的時(shí)間節(jié)點(diǎn)的系統(tǒng)狀態(tài),不需要一個(gè)對(duì)時(shí)間的積分函數(shù)的計(jì)算;2.本發(fā)明所提的大規(guī)模流式數(shù)據(jù)處理系統(tǒng)的瓶頸節(jié)點(diǎn)檢測(cè)方法不需要模型訓(xùn)練,它的準(zhǔn)確性和穩(wěn)定性不由訓(xùn)練數(shù)據(jù)的影響(本身不需要訓(xùn)練);3.本發(fā)明所提的大規(guī)模流式數(shù)據(jù)處理系統(tǒng)的瓶頸節(jié)點(diǎn)檢測(cè)方法的優(yōu)勢(shì)在于簡(jiǎn)化了計(jì)算,并且穩(wěn)定性與可靠性都比較好;附圖說(shuō)明圖1是本發(fā)明一種大規(guī)模流式數(shù)據(jù)處理系統(tǒng)的瓶頸節(jié)點(diǎn)檢測(cè)方法的執(zhí)行流程圖;圖2是本發(fā)明一種大規(guī)模流式數(shù)據(jù)處理系統(tǒng)的瓶頸節(jié)點(diǎn)檢測(cè)方法中CPU利用率的隸屬函數(shù)示例圖。具體實(shí)施方式下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明所述方法進(jìn)行深入闡述。實(shí)施例1本實(shí)施例具體闡述了本發(fā)明應(yīng)用于流式數(shù)據(jù)處理系統(tǒng)瓶頸節(jié)點(diǎn)檢測(cè)場(chǎng)景下的流程。步驟A:初始化,本實(shí)例使用的模糊處理引擎為Java語(yǔ)言實(shí)現(xiàn)的jFuzzyLogic,通過(guò)jFuzzyLogic提供的配置文件配置初始化的語(yǔ)義標(biāo)簽和隸屬函數(shù)。本實(shí)例的節(jié)點(diǎn)只需要處理一個(gè)流入的數(shù)據(jù)流。是用T表示O的任務(wù),在時(shí)間ti時(shí)使用Taski表示正在執(zhí)行的處理的狀態(tài)。我們使用下面的參數(shù)來(lái)描述這個(gè)狀態(tài)。pi(t):當(dāng)前處理的數(shù)據(jù)元組的大小ci(t):當(dāng)前節(jié)點(diǎn)的CPU使用率mi(t):當(dāng)前節(jié)點(diǎn)的內(nèi)存使用率missi(t):當(dāng)前未被處理而miss掉的元組數(shù)量我們使用模糊邏輯進(jìn)行決策的目的是判斷一個(gè)節(jié)點(diǎn)是否達(dá)到了瓶頸狀態(tài),如果節(jié)點(diǎn)是瓶頸狀態(tài)了就需要擴(kuò)展這個(gè)節(jié)點(diǎn),如果是負(fù)載很低的情況則可以回收這個(gè)節(jié)點(diǎn)。所以我們?cè)O(shè)定輸出為對(duì)節(jié)點(diǎn)應(yīng)執(zhí)行的動(dòng)作,輸出的集合為Out={擴(kuò)展,維持,收縮}。根據(jù)選取的隸屬函數(shù),我們分別對(duì)上面的四個(gè)輸入?yún)?shù)和一個(gè)輸出參數(shù)進(jìn)行模糊化。分別對(duì)選取的參數(shù)設(shè)置語(yǔ)義化標(biāo)簽,即設(shè)置它們的模糊集合。對(duì)于CPU的使用率,其論域?yàn)?%-100%,按照經(jīng)驗(yàn),可以設(shè)置CPU使用率的語(yǔ)義化標(biāo)簽集合為C={非常低,低,中等,高,非常高};我們把這個(gè)集合稱為CPU使用率的語(yǔ)言標(biāo)簽。對(duì)于內(nèi)存使用率,其論域范圍為0%-100%;同理可以設(shè)置為M={非常低,低,中等,高,非常高};對(duì)于超時(shí)(Miss)掉的元組數(shù)量,在本實(shí)例中其區(qū)間為0-10,設(shè)置其模糊集合為E={小,中,大}。同理對(duì)于當(dāng)前處理的數(shù)據(jù)元組的大小,在本實(shí)例中其論域范圍為0Mb-10Mb,取其模糊集合為P={小,中,大,非常大}。隸屬度函數(shù)用分段函數(shù)表示,也可以用折線圖表示。為了方便,我們使用折線圖表示各維度的隸屬函數(shù)。根據(jù)經(jīng)驗(yàn),我們認(rèn)為CPU使用率低于5%認(rèn)為其對(duì)于“非常低”的隸屬度為1,即100%認(rèn)為其為非常低;當(dāng)CPU使用率高于90%時(shí)認(rèn)為其對(duì)于“非常高”的隸屬度為1;當(dāng)其在其他情況,即5%-90%之間時(shí),其隸屬度如圖2所示。根據(jù)一種直觀的理解,比如認(rèn)為CPU使用率和內(nèi)存使用率都很高的時(shí)候認(rèn)為節(jié)點(diǎn)需要擴(kuò)展了,這樣,對(duì)每一個(gè)模糊化的變量組合設(shè)計(jì)模糊規(guī)則,下表是本實(shí)例使用的模糊規(guī)則庫(kù)的一個(gè)子集,使用這個(gè)模糊規(guī)則庫(kù)進(jìn)行模糊推理:圖1是本發(fā)明所提方法所依托的系統(tǒng)執(zhí)行的流程圖。從圖1中可以看出,我們的系統(tǒng)作為流數(shù)據(jù)處理系統(tǒng)的一個(gè)插件形式存在,從流式數(shù)據(jù)處理系統(tǒng)中去狀態(tài)數(shù)據(jù)執(zhí)行結(jié)算。模糊邏輯引擎jFuzzyLogic通過(guò)讀取語(yǔ)義標(biāo)簽和隸屬函數(shù)的定義執(zhí)行初始化。然后通過(guò)模糊化、模糊推理、解模糊幾個(gè)步驟獲得結(jié)果。步驟B:節(jié)點(diǎn)狀態(tài)采集單元獲取節(jié)點(diǎn)狀態(tài)。步驟一確定的變量可以在運(yùn)行時(shí)很方便的獲取,數(shù)據(jù)元組的大小是數(shù)據(jù)流的一個(gè)屬性,CPU使用率、內(nèi)存使用率和網(wǎng)口數(shù)據(jù)流量都可以通過(guò)系統(tǒng)接口獲得。這幾個(gè)參數(shù)對(duì)于流數(shù)據(jù)處理引擎而言是影響最大的,一個(gè)節(jié)點(diǎn)的處理性能取決于其CPU計(jì)算性能以及內(nèi)存容量,而系統(tǒng)的吞吐量受到數(shù)據(jù)流量的大小及單個(gè)數(shù)據(jù)元組的大小的影響。對(duì)于主流的處理節(jié)點(diǎn)的配置,我們認(rèn)為磁盤IO性能不會(huì)是影響節(jié)點(diǎn)吞吐率的主要因素,即時(shí)對(duì)于機(jī)械硬盤存儲(chǔ)設(shè)備其傳輸速度對(duì)于現(xiàn)在的流數(shù)據(jù)處理應(yīng)該也是足夠的。步驟C:模糊推理單元將輸入變量模糊化,初始化引擎后可以通過(guò)Java的接口設(shè)置輸入量。步驟D:模糊推理,模糊推理同樣可以通過(guò)調(diào)用及FuzyyLogic的Java接口實(shí)現(xiàn)。步驟E:解模糊,獲得判定結(jié)果。在本實(shí)例中,使用常用的COG(CenterofGravity)算法進(jìn)行解模糊,在jFuzzyLogic中設(shè)置好解模糊器為COG即可。COG解模糊后會(huì)得到一個(gè)輸出變量(Out)的數(shù)值。我們?cè)O(shè)定結(jié)果的判定閾值threshold_scale_in為20threshold_scale_out為80,當(dāng)解模糊的結(jié)果小于20時(shí)判定節(jié)點(diǎn)可以回收,當(dāng)解模糊的結(jié)果大于80時(shí)認(rèn)為當(dāng)前節(jié)點(diǎn)處于瓶頸狀態(tài),需要擴(kuò)展。以上所述為本發(fā)明的較佳實(shí)施例而已,本發(fā)明不應(yīng)該局限于該實(shí)施例和附圖所公開(kāi)的內(nèi)容。凡是不脫離本發(fā)明所公開(kāi)的精神下完成的等效或修改,都落入本發(fā)明保護(hù)的范圍。當(dāng)前第1頁(yè)1 2 3 當(dāng)前第1頁(yè)1 2 3 
      當(dāng)前第1頁(yè)1 2 3 
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1