国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種預(yù)測(cè)后置應(yīng)用延遲的方法與實(shí)現(xiàn)

2019-04-25 17:15潘鋼
中國(guó)信息化 2019年4期
關(guān)鍵詞:后置延時(shí)前置

潘鋼

現(xiàn)階段移動(dòng)經(jīng)營(yíng)分析的數(shù)據(jù)流大致分為數(shù)據(jù)接口、數(shù)據(jù)處理、數(shù)據(jù)分發(fā)、數(shù)據(jù)應(yīng)用四個(gè)層級(jí),每個(gè)層級(jí)內(nèi)有數(shù)量龐大的運(yùn)行程序,按照實(shí)際業(yè)務(wù)需求分成很多小層級(jí),形成后置程序依賴前置程序的關(guān)系。而且每個(gè)程序的前置程序數(shù)量不固定,大于等于一個(gè),就這形成了極其龐大且相互纏結(jié)的程序集群。程序間的依賴關(guān)系非常繁雜。每天凌晨開(kāi)始,大量數(shù)據(jù)(大于100T)流經(jīng)這些程序時(shí),偶爾會(huì)有個(gè)別程序發(fā)生運(yùn)行延遲。發(fā)生延遲程序會(huì)對(duì)后置造成多大范圍的影響、多深的影響是未知數(shù)。而且現(xiàn)有腳本和手工查證的方式不便,因?yàn)樗俣忍?dāng)查證出后置延遲應(yīng)用時(shí)往往已錯(cuò)過(guò)了時(shí)效性。即使讓有豐富經(jīng)驗(yàn)的工作人員操作此流程,也不能縮短這個(gè)時(shí)間,也不能達(dá)到理想的效果。

一、目標(biāo)與成果

本次研究目標(biāo)包括:

(一)一種預(yù)測(cè)后置應(yīng)用是否延遲的方法,重點(diǎn)解決數(shù)據(jù)庫(kù)生產(chǎn)和運(yùn)維過(guò)程中的問(wèn)題預(yù)測(cè)問(wèn)題,實(shí)現(xiàn)從“發(fā)現(xiàn)問(wèn)題-找原因-處理問(wèn)題”,轉(zhuǎn)變?yōu)椤鞍l(fā)現(xiàn)波動(dòng)-提出預(yù)警-啟動(dòng)預(yù)案-消滅問(wèn)題”問(wèn)題。

研究一種結(jié)合數(shù)據(jù)和機(jī)器學(xué)習(xí)方法,進(jìn)行自動(dòng)預(yù)測(cè)的方法,以數(shù)據(jù)監(jiān)控和算法預(yù)測(cè)代替人工,大幅降低數(shù)據(jù)生產(chǎn)過(guò)程中出現(xiàn)的后置應(yīng)用延時(shí)等問(wèn)題;

研究方法實(shí)踐中所需要的方法論,包括采用的算法分析、模型構(gòu)建、參數(shù)調(diào)整和模型調(diào)優(yōu)等。

(二)研究一種數(shù)據(jù)庫(kù)內(nèi)生產(chǎn)調(diào)度優(yōu)化的方法,重點(diǎn)解決數(shù)據(jù)庫(kù)內(nèi)前后置應(yīng)用配置不合理的問(wèn)題,實(shí)現(xiàn)理論和經(jīng)驗(yàn)調(diào)度向數(shù)據(jù)化、智能化調(diào)度的轉(zhuǎn)變。

研究一種結(jié)合數(shù)據(jù)和機(jī)器學(xué)習(xí)方法,判定程序啟動(dòng)時(shí)間是否合理的判別方法,以歷史運(yùn)行數(shù)據(jù)為基礎(chǔ),以模型判定為依據(jù),大幅降低由于調(diào)度導(dǎo)致后置程序延遲和前后置依賴不合理的問(wèn)題,解決長(zhǎng)期困擾運(yùn)維人員的數(shù)據(jù)生產(chǎn)程序的基礎(chǔ)配置問(wèn)題。

研究方法實(shí)踐中所需要的方法論,包括采用的算法分析、模型構(gòu)建、參數(shù)調(diào)整和模型調(diào)優(yōu)等。

二、技術(shù)方案

本方法分為三個(gè)步驟實(shí)現(xiàn):掃描程序、預(yù)測(cè)模型、優(yōu)化模型,如圖1所示。

(一)步驟一:掃描程序

為了得到當(dāng)前應(yīng)用的運(yùn)行情況和應(yīng)用的歷史信息,參見(jiàn)圖一中掃描程序的流程圖,具體步驟如下

1. 數(shù)據(jù)采集

從當(dāng)日應(yīng)用運(yùn)行記錄中提取應(yīng)用的運(yùn)行信息,包含接口、處理、分發(fā)、應(yīng)用等層級(jí)的全量元數(shù)據(jù)。經(jīng)過(guò)數(shù)據(jù)清洗、數(shù)據(jù)匹配得到應(yīng)用名、是否重要、是否延遲、是否完成、結(jié)束時(shí)間、延遲時(shí)間、標(biāo)桿時(shí)間等信息。其中每個(gè)應(yīng)用的標(biāo)桿時(shí)間來(lái)自最近一段時(shí)間段內(nèi)的統(tǒng)計(jì)值,如下圖二所示,x軸為最近一段時(shí)間內(nèi)某個(gè)應(yīng)用的歷史結(jié)束時(shí)間間隔記錄,y軸為次數(shù)。

泊松分布的參數(shù)λ是單位時(shí)間(或單位面積)內(nèi)隨機(jī)事件的平均發(fā)生率。泊松分布適合于描述單位時(shí)間內(nèi)隨機(jī)事件發(fā)生的次數(shù)。

2. 數(shù)據(jù)處理

對(duì)來(lái)自不同層級(jí)的數(shù)據(jù)進(jìn)行處理,得到數(shù)據(jù)格式一致的數(shù)據(jù)集。如有些數(shù)據(jù)接口的應(yīng)用名得加上前綴,完成狀態(tài)采用統(tǒng)一的編號(hào)格式,結(jié)束時(shí)間使用同一種格式。

這里采用簡(jiǎn)單的六西格瑪計(jì)算。對(duì)于每一個(gè)前置應(yīng)用程序,連續(xù)60天的完成情況可以構(gòu)成一個(gè)簡(jiǎn)單時(shí)間序列,可以反映一定時(shí)間內(nèi)的數(shù)據(jù)生產(chǎn)完成情況。那么這個(gè)時(shí)間序列的均值μ反映該程序的平均完成情況;時(shí)間序列的σ反映程序完成情況的波動(dòng)性。從生產(chǎn)角度來(lái)說(shuō),為了控制的嚴(yán)格程度,往往需要生產(chǎn)的及時(shí)性控制在更小的范圍內(nèi),因此,我們?cè)O(shè)定t≤μ+σ,即生產(chǎn)的波動(dòng)性應(yīng)控制在1個(gè)σ的范圍內(nèi),如果一個(gè)程序完成時(shí)間大于μ+σ,我們認(rèn)為該程序延遲,延時(shí)記為1,未延時(shí)記為0。例,假設(shè)一個(gè)程序的平均完成時(shí)間為20分鐘,誤差為5分鐘,今天該程序10分鐘運(yùn)行完畢,我們認(rèn)為沒(méi)有延時(shí),記為0;如果該程序運(yùn)行30分鐘,我們判定該程序延時(shí),記為1。

3. 數(shù)據(jù)保存

把應(yīng)用的屬性,如:是否重要、是否延遲、是否完成、結(jié)束時(shí)間、延遲時(shí)間、標(biāo)桿時(shí)間等信息,提取出來(lái)后放入一個(gè)對(duì)象中。以應(yīng)用名為鍵(key),應(yīng)用對(duì)象為值(value)統(tǒng)一保存。

4. 歷史數(shù)據(jù)統(tǒng)計(jì)

統(tǒng)計(jì)最近三個(gè)月內(nèi)每個(gè)應(yīng)用的平均運(yùn)行時(shí)長(zhǎng)和等待時(shí)長(zhǎng)。運(yùn)行時(shí)長(zhǎng)指的是應(yīng)用從開(kāi)始執(zhí)行到結(jié)束執(zhí)行中間所耗費(fèi)的時(shí)間。等待時(shí)長(zhǎng)指的是應(yīng)用眾多前置中最晚結(jié)束的時(shí)間到本應(yīng)用開(kāi)始執(zhí)行之間的間隔時(shí)長(zhǎng)。

(二)步驟二:預(yù)測(cè)模型

通過(guò)遞歸計(jì)算得到未執(zhí)行應(yīng)用的延遲可能性,參見(jiàn)圖一中預(yù)測(cè)模型的流程圖,具體步驟如下:

1. 設(shè)置延遲閥值

設(shè)置初始延遲的閥值和范圍,這里圈定數(shù)據(jù)接口、數(shù)據(jù)處理、數(shù)據(jù)分發(fā)、數(shù)據(jù)應(yīng)用四個(gè)層級(jí)中的重要應(yīng)用,閥值為延遲30分鐘以上。如果此應(yīng)用還沒(méi)執(zhí)行完成,則把當(dāng)前時(shí)間代指應(yīng)用的結(jié)束時(shí)間,在此基礎(chǔ)上累加后置時(shí)間。以結(jié)束時(shí)間作為標(biāo)記時(shí)間,即本分支推算到當(dāng)前應(yīng)用的標(biāo)記。

2. 得到關(guān)系樹(shù)

在程序血緣關(guān)系表中記錄著應(yīng)用的前后置關(guān)系,每條信息是一對(duì)一關(guān)系,但總體上是多對(duì)多關(guān)系,也就是說(shuō)一個(gè)前置會(huì)對(duì)應(yīng)多個(gè)后置,一個(gè)后置會(huì)有多個(gè)前置應(yīng)用。逐個(gè)拿到圖1的步驟二預(yù)測(cè)模型的第一個(gè)環(huán)節(jié)中判定的延遲應(yīng)用名,在關(guān)系表中取得它的后置應(yīng)用名。

3. 驗(yàn)證應(yīng)用有效

驗(yàn)證后置應(yīng)用是否有效,最近三個(gè)月是否有運(yùn)行記錄,如果沒(méi)有的話則忽略此應(yīng)用。

4. 查看是否已執(zhí)行

查看后置應(yīng)用當(dāng)日是否已經(jīng)執(zhí)行過(guò),如果已經(jīng)執(zhí)行過(guò)則更新標(biāo)記時(shí)間,即本分支推算到當(dāng)前應(yīng)用的標(biāo)記。直接把后置應(yīng)用的結(jié)束時(shí)間覆蓋標(biāo)記時(shí)間。如果還未執(zhí)行則跳至圖1的步驟二預(yù)測(cè)模型的第六個(gè)環(huán)節(jié)進(jìn)行判定。

5. 查看是否已預(yù)測(cè)

查看后置應(yīng)用是否已經(jīng)預(yù)測(cè)過(guò),因?yàn)橐粋€(gè)前置有多個(gè)后置應(yīng)用,意味著現(xiàn)在這個(gè)后置可能會(huì)出現(xiàn)在別的應(yīng)用的后置中,所以有必要查看此后置應(yīng)用是否已被預(yù)測(cè)。如果已經(jīng)被預(yù)測(cè)過(guò),則比較預(yù)測(cè)結(jié)束時(shí)候是否早于標(biāo)記時(shí)間加上等待時(shí)長(zhǎng)和運(yùn)行時(shí)長(zhǎng),取更大的那個(gè)時(shí)間覆蓋預(yù)測(cè)結(jié)束時(shí)間。這是因?yàn)閼?yīng)用得等待每個(gè)前置完成后才能開(kāi)始執(zhí)行。如果沒(méi)有預(yù)測(cè)過(guò),則跳至圖1的步驟二預(yù)測(cè)模型的最后一個(gè)環(huán)節(jié)。

6. 預(yù)測(cè)應(yīng)用

進(jìn)入此環(huán)節(jié)的便是待預(yù)測(cè)的應(yīng)用,累加標(biāo)記時(shí)間、應(yīng)用等待時(shí)長(zhǎng)、運(yùn)行時(shí)長(zhǎng),減去標(biāo)桿時(shí)間得到預(yù)計(jì)延時(shí)長(zhǎng),如果為負(fù)數(shù)或0表示不會(huì)延遲。使用預(yù)計(jì)延時(shí)長(zhǎng)通過(guò)線性擬合算法得到此后置的預(yù)計(jì)延時(shí)幾率。但無(wú)法保證此后置應(yīng)用沒(méi)有再下一層的后置,所以需要從圖1的步驟二預(yù)測(cè)模型的第二個(gè)環(huán)節(jié)開(kāi)始使用遞歸算法,把此后置應(yīng)用作為前置,運(yùn)算它的下一層,即后置的后置。如果沒(méi)有下一層則自動(dòng)終止。

(三)步驟三:優(yōu)化模型

驗(yàn)證預(yù)測(cè)出的延時(shí)幾率的可信度,參見(jiàn)圖一中優(yōu)化模型的流程圖,具體步驟如下:

1. 關(guān)聯(lián)預(yù)測(cè)

對(duì)比每個(gè)預(yù)測(cè)出來(lái)的結(jié)果和對(duì)應(yīng)的前置的關(guān)聯(lián)關(guān)系,即在歷史記錄中查看當(dāng)前置們發(fā)生延遲時(shí)后置是否也會(huì)發(fā)生延遲,得到如下的關(guān)系表,其中1表示延遲,0表示未延遲。

邏輯性的思維是指根據(jù)邏輯規(guī)則進(jìn)行推理的過(guò)程;它先將信息化成概念,并用符號(hào)表示,然后,根據(jù)符號(hào)運(yùn)算按串行模式進(jìn)行邏輯推理;這一過(guò)程可以寫成串行的指令,讓計(jì)算機(jī)執(zhí)行。然而,直觀性的思維是將分布式存儲(chǔ)的信息綜合起來(lái),結(jié)果是忽然間產(chǎn)生的想法或解決問(wèn)題的辦法。這種思維方式的根本之點(diǎn)在于以下兩點(diǎn):1、信息是通過(guò)神經(jīng)元上的興奮模式分布儲(chǔ)在網(wǎng)絡(luò)上;2、信息處理是通過(guò)神經(jīng)元之間同時(shí)相互作用的動(dòng)態(tài)過(guò)程來(lái)完成的。

結(jié)合BP網(wǎng)絡(luò)結(jié)構(gòu),誤差由輸出展開(kāi)至輸入的過(guò)程如下:

本模型在輸入層使用的節(jié)點(diǎn)數(shù)和前置數(shù)相同,設(shè)置兩個(gè)隱藏層,輸出層直接輸出0和1用來(lái)代指后置應(yīng)用是否會(huì)延遲。如下圖3所示。

3. 保存結(jié)果

保存預(yù)測(cè)出的應(yīng)用名和延時(shí)幾率

4. 使用結(jié)果

延時(shí)幾率大于50%的應(yīng)用自動(dòng)發(fā)送給運(yùn)維管理人員,對(duì)這些應(yīng)用進(jìn)行重點(diǎn)觀測(cè)或看情況進(jìn)行重新調(diào)度。如果該延遲應(yīng)用超過(guò)一定時(shí)間仍未完成則自動(dòng)重新調(diào)度。

三、結(jié)論

本文提出預(yù)測(cè)后置應(yīng)用延遲的方法,解決了當(dāng)前、后置關(guān)系呈金字塔狀的情況下的自動(dòng)預(yù)測(cè),現(xiàn)有的預(yù)測(cè)模型更多解決的是鏈?zhǔn)疥P(guān)系下的逐層排查問(wèn)題。在算法方面,使用的是自行設(shè)計(jì)的基于業(yè)務(wù)的推演算法,順著關(guān)系樹(shù)逐個(gè)節(jié)點(diǎn)計(jì)算出預(yù)計(jì)完成時(shí)間,遞歸至整個(gè)關(guān)系樹(shù),得到每個(gè)未完成節(jié)點(diǎn)的總的延時(shí)概率。在應(yīng)用成效上,預(yù)測(cè)結(jié)果的準(zhǔn)確率經(jīng)過(guò)驗(yàn)證達(dá)到94%以上。

猜你喜歡
后置延時(shí)前置
課后延時(shí)服務(wù)
“非線性”小組合作學(xué)習(xí)中前置學(xué)習(xí)任務(wù)的設(shè)計(jì)
核磁共振對(duì)妊娠晚期子宮后壁前置胎盤的診斷效果分析
淺談初中英語(yǔ)后置定語(yǔ)
課后延時(shí)中如何優(yōu)化不同年級(jí)學(xué)生活動(dòng)效果
帶前置功能的詞形《 в сопоставлениис 》的結(jié)構(gòu)與搭配
論延時(shí)攝影的類型與表現(xiàn)手法
自媒體,高中生物前置性學(xué)習(xí)的“好幫手”
定語(yǔ)何時(shí)須后置?
一種“死時(shí)間”少和自動(dòng)校準(zhǔn)容易的Wave Union TDC
宾川县| 宝丰县| 山丹县| 富川| 墨玉县| 潼南县| 扎兰屯市| 普安县| 拉孜县| 房山区| 抚顺县| 德州市| 巢湖市| 莲花县| 松江区| 法库县| 金湖县| 乾安县| 凉城县| 裕民县| 合山市| 开封县| 新巴尔虎左旗| 邵阳市| 吴江市| 南华县| 上饶市| 徐水县| 江北区| 卢龙县| 汶上县| 牟定县| 河曲县| 漳平市| 巴东县| 仲巴县| 古交市| 财经| 城固县| 揭阳市| 北流市|