本技術(shù)涉及計算機,尤其涉及一種灰度版本的異常檢測方法、裝置、電子設(shè)備及存儲介質(zhì)。
背景技術(shù):
1、在現(xiàn)在軟件工程中,當(dāng)需要對已經(jīng)上線應(yīng)用的軟件或者服務(wù)進行更新時,一般會重新開發(fā)一個新版本替換已經(jīng)上線的舊版本。對新版本而言,其可能存在潛在的風(fēng)險,例如在代碼中未出現(xiàn)的問題,因此,為了防止新版本中的潛在風(fēng)險影響大部分用戶的使用,目前一般選擇灰度發(fā)布,也即,先選擇一部分用戶或者一小部分服務(wù)器發(fā)布新版本,進一步地,可將灰度發(fā)布的版本稱為灰度版本。
2、基于此,則需要實時檢測灰度版本在應(yīng)用的過程中是否存在異常,以當(dāng)灰度版本存在異常時,便可以在影響范圍較小的情況下迅速回滾,降低發(fā)布新版本的風(fēng)險。
3、目前,一般通過對灰度版本的應(yīng)用數(shù)據(jù)進行統(tǒng)計,并根據(jù)統(tǒng)計的監(jiān)控指標(biāo)確定灰度版本是否存在異常。然而,由于灰度版本的應(yīng)用范圍較小,因此灰度版本的應(yīng)用數(shù)據(jù)較少,這就導(dǎo)致統(tǒng)計的監(jiān)控指標(biāo)沒有足夠的數(shù)據(jù)支持,從而導(dǎo)致無法準(zhǔn)確地確定灰度版本是否存在異常。
技術(shù)實現(xiàn)思路
1、本技術(shù)提供了一種灰度版本的異常檢測方法、裝置、電子設(shè)備及存儲介質(zhì),以解決現(xiàn)有技術(shù)中在統(tǒng)計灰度版本的監(jiān)控指標(biāo)時,由于灰度版本的應(yīng)用數(shù)據(jù)較少,導(dǎo)致統(tǒng)計的監(jiān)控指標(biāo)沒有足夠的數(shù)據(jù)支持,從而導(dǎo)致無法準(zhǔn)確地確定灰度版本是否存在異常的技術(shù)問題。
2、第一方面,本技術(shù)提供了一種灰度版本的異常檢測方法,所述方法包括:
3、針對任一預(yù)設(shè)長度的滑動窗口,利用預(yù)設(shè)長度的滑動窗口對灰度版本發(fā)布后的應(yīng)用數(shù)據(jù)進行采集并聚合,得到每個所述滑動窗口每次采集的所述灰度版本的目標(biāo)監(jiān)控指標(biāo);
4、利用歷史版本的歷史應(yīng)用數(shù)據(jù)擬合所述滑動窗口采集的目標(biāo)監(jiān)控指標(biāo)對應(yīng)的標(biāo)準(zhǔn)監(jiān)控指標(biāo),所述歷史版本包括所述灰度版本發(fā)布之前的全部版本;
5、根據(jù)每個所述滑動窗口每次采集的所述目標(biāo)監(jiān)控指標(biāo)和所述目標(biāo)監(jiān)控指標(biāo)對應(yīng)的標(biāo)準(zhǔn)監(jiān)控指標(biāo),對所述灰度版本進行異常檢測。
6、作為一個可選的實現(xiàn)方式,所述利用預(yù)設(shè)長度的滑動窗口對灰度版本發(fā)布后的應(yīng)用數(shù)據(jù)進行采集并聚合,得到每個所述滑動窗口每次采集的所述灰度版本的目標(biāo)監(jiān)控指標(biāo),包括:
7、確定預(yù)設(shè)長度的滑動窗口的滑動間隔和滑動步長;
8、按照所述滑動窗口的滑動間隔和滑動步長控制所述滑動窗口在所述灰度版本發(fā)布后的應(yīng)用數(shù)據(jù)上滑動;
9、利用所述滑動窗口采集并聚合所述滑動窗口每次移動所覆蓋的應(yīng)用數(shù)據(jù),得到所述滑動窗口每次采集的所述灰度版本的目標(biāo)監(jiān)控指標(biāo)。
10、作為一個可選的實現(xiàn)方式,所述利用歷史版本的歷史應(yīng)用數(shù)據(jù)擬合所述滑動窗口每次采集的目標(biāo)監(jiān)控指標(biāo)對應(yīng)的標(biāo)準(zhǔn)監(jiān)控指標(biāo),包括:
11、確定所述目標(biāo)監(jiān)控指標(biāo)的指標(biāo)類型;
12、根據(jù)所述指標(biāo)類型,從所述歷史版本的歷史應(yīng)用數(shù)據(jù)中確定所述灰度版本對應(yīng)的目標(biāo)歷史應(yīng)用數(shù)據(jù);
13、利用所述滑動窗口對所述目標(biāo)歷史應(yīng)用數(shù)據(jù)進行采集并聚合,得到所述滑動窗口每次采集的目標(biāo)監(jiān)控指標(biāo)對應(yīng)的初始監(jiān)控指標(biāo);
14、利用預(yù)先訓(xùn)練的擬合模型對所述初始監(jiān)控指標(biāo)進行擬合,得到所述滑動窗口每次采集的所述目標(biāo)監(jiān)控指標(biāo)對應(yīng)的標(biāo)準(zhǔn)監(jiān)控指標(biāo)。
15、作為一個可選的實現(xiàn)方式,所述根據(jù)所述指標(biāo)類型,從所述歷史版本的歷史應(yīng)用數(shù)據(jù)中確定所述灰度版本對應(yīng)的目標(biāo)歷史應(yīng)用數(shù)據(jù),包括:
16、在所述指標(biāo)類型為比例型的情況下,將所述歷史版本全部的歷史應(yīng)用數(shù)據(jù)確定為所述灰度版本對應(yīng)的目標(biāo)歷史應(yīng)用數(shù)據(jù);
17、在所述指標(biāo)類型為數(shù)據(jù)型的情況下,獲取所述灰度版本對應(yīng)的灰度用戶量,以及所述歷史版本對應(yīng)的歷史用戶量;
18、根據(jù)所述灰度用戶量和所述歷史用戶量,確定所述灰度版本和所述歷史版本的用戶比例;
19、根據(jù)所述用戶比例,對所述歷史版本的歷史應(yīng)用數(shù)據(jù)進行縮放,得到所述灰度版本對應(yīng)的目標(biāo)歷史應(yīng)用數(shù)據(jù)。
20、作為一個可選的實現(xiàn)方式,所述利用所述滑動窗口對所述目標(biāo)歷史應(yīng)用數(shù)據(jù)進行采集并聚合,得到所述滑動窗口每次采集的目標(biāo)監(jiān)控指標(biāo)對應(yīng)的初始監(jiān)控指標(biāo),包括:
21、確定所述滑動窗口的滑動間隔和滑動步長;
22、按照所述滑動窗口的滑動間隔和滑動步長控制所述滑動窗口在所述目標(biāo)歷史應(yīng)用數(shù)據(jù)上滑動;
23、利用所述滑動窗口采集并聚合所述滑動窗口每次移動所覆蓋的目標(biāo)歷史應(yīng)用數(shù)據(jù),得到所述滑動窗口每次采集的目標(biāo)監(jiān)控指標(biāo)對應(yīng)的初始監(jiān)控指標(biāo)。
24、作為一個可選的實現(xiàn)方式,所述根據(jù)每個所述滑動窗口每次采集的所述目標(biāo)監(jiān)控指標(biāo)和所述目標(biāo)監(jiān)控指標(biāo)對應(yīng)的標(biāo)準(zhǔn)監(jiān)控指標(biāo),對所述灰度版本進行異常檢測,包括:
25、針對每個滑動窗口每次采集的目標(biāo)監(jiān)控指標(biāo),根據(jù)所述目標(biāo)監(jiān)控指標(biāo)對應(yīng)的標(biāo)準(zhǔn)監(jiān)控指標(biāo)和預(yù)設(shè)的異常檢測算法,確定所述目標(biāo)監(jiān)控指標(biāo)對應(yīng)的標(biāo)準(zhǔn)指標(biāo)范圍;
26、確定每個滑動窗口每次采集的目標(biāo)監(jiān)控指標(biāo)是否位于對應(yīng)的標(biāo)準(zhǔn)指標(biāo)范圍之內(nèi);
27、將目標(biāo)監(jiān)控指標(biāo)位于對應(yīng)的標(biāo)準(zhǔn)指標(biāo)范圍之外的滑動窗口,確定為異?;瑒哟翱冢?/p>
28、將目標(biāo)監(jiān)控指標(biāo)位于對應(yīng)的標(biāo)準(zhǔn)指標(biāo)范圍之內(nèi)的滑動窗口,確定為非異?;瑒哟翱?;
29、根據(jù)所述異?;瑒哟翱诤退龇钱惓;瑒哟翱?,對所述灰度版本進行異常檢測。
30、作為一個可選的實現(xiàn)方式,所述根據(jù)所述異?;瑒哟翱诤退龇钱惓;瑒哟翱?,對所述灰度版本進行異常檢測,包括:
31、根據(jù)所述異?;瑒哟翱?,確定所述灰度版本是否存在異常;
32、在根據(jù)所述異?;瑒哟翱诖_定所述灰度版本不存在異常的情況下,停止利用所述異常滑動窗口對所述灰度版本發(fā)布后的應(yīng)用數(shù)據(jù)進行采集并聚合;
33、在根據(jù)所述異?;瑒哟翱诖_定所述灰度版本存在異常的情況下,將所述異常滑動窗口更新為非異?;瑒哟翱?;
34、利用所述非異?;瑒哟翱趯λ龌叶劝姹景l(fā)布后的應(yīng)用數(shù)據(jù)進行采集并聚合,得到所述非異?;瑒哟翱诓杉男履繕?biāo)監(jiān)控指標(biāo);
35、針對每個所述非異常滑動窗口,利用歷史版本的歷史應(yīng)用數(shù)據(jù)擬合所述非異?;瑒哟翱诿看尾杉男履繕?biāo)監(jiān)控指標(biāo)對應(yīng)的新標(biāo)準(zhǔn)監(jiān)控指標(biāo);
36、根據(jù)每個所述非異常滑動窗口采集的所述新目標(biāo)監(jiān)控指標(biāo)和所述新目標(biāo)監(jiān)控指標(biāo)對應(yīng)的新標(biāo)準(zhǔn)監(jiān)控指標(biāo),對所述灰度版本進行異常檢測。
37、第二方面,本技術(shù)提供了一種灰度版本的異常檢測裝置,所述裝置包括:
38、指標(biāo)確定模塊,用于針對任一預(yù)設(shè)長度的滑動窗口,利用預(yù)設(shè)長度的滑動窗口對灰度版本發(fā)布后的應(yīng)用數(shù)據(jù)進行采集并聚合,得到每個所述滑動窗口每次采集的所述灰度版本的目標(biāo)監(jiān)控指標(biāo);
39、指標(biāo)擬合模塊,用于利用歷史版本的歷史應(yīng)用數(shù)據(jù)擬合所述滑動窗口采集的目標(biāo)監(jiān)控指標(biāo)對應(yīng)的標(biāo)準(zhǔn)監(jiān)控指標(biāo),所述歷史版本包括所述灰度版本發(fā)布之前的全部版本;
40、異常檢測模塊,用于根據(jù)每個所述滑動窗口每次采集的所述目標(biāo)監(jiān)控指標(biāo)和所述目標(biāo)監(jiān)控指標(biāo)對應(yīng)的標(biāo)準(zhǔn)監(jiān)控指標(biāo),對所述灰度版本進行異常檢測。
41、作為一個可選的實現(xiàn)方式,所述指標(biāo)確定模塊,包括:
42、確定子模塊,用于確定預(yù)設(shè)長度的滑動窗口的滑動間隔和滑動步長;
43、控制子模塊,用于按照所述滑動窗口的滑動間隔和滑動步長控制所述滑動窗口在所述灰度版本發(fā)布后的應(yīng)用數(shù)據(jù)上滑動;
44、采集子模塊,用于利用所述滑動窗口采集并聚合所述滑動窗口每次移動所覆蓋的應(yīng)用數(shù)據(jù),得到所述滑動窗口每次采集的所述灰度版本的目標(biāo)監(jiān)控指標(biāo)。
45、作為一個可選的實現(xiàn)方式,所述指標(biāo)擬合模塊,包括:
46、指標(biāo)類型確定子模塊,用于確定所述目標(biāo)監(jiān)控指標(biāo)的指標(biāo)類型;
47、歷史確定子模塊,用于根據(jù)所述指標(biāo)類型,從所述歷史版本的歷史應(yīng)用數(shù)據(jù)中確定所述灰度版本對應(yīng)的目標(biāo)歷史應(yīng)用數(shù)據(jù);
48、采集聚合子模塊,用于利用所述滑動窗口對所述目標(biāo)歷史應(yīng)用數(shù)據(jù)進行采集并聚合,得到所述滑動窗口每次采集的目標(biāo)監(jiān)控指標(biāo)對應(yīng)的初始監(jiān)控指標(biāo);
49、擬合子模塊,用于利用預(yù)先訓(xùn)練的擬合模型對所述初始監(jiān)控指標(biāo)進行擬合,得到所述滑動窗口每次采集的所述目標(biāo)監(jiān)控指標(biāo)對應(yīng)的標(biāo)準(zhǔn)監(jiān)控指標(biāo)。
50、作為一個可選的實現(xiàn)方式,所述歷史確定子模塊,具體用于:
51、在所述指標(biāo)類型為比例型的情況下,將所述歷史版本全部的歷史應(yīng)用數(shù)據(jù)確定為所述灰度版本對應(yīng)的目標(biāo)歷史應(yīng)用數(shù)據(jù);
52、在所述指標(biāo)類型為數(shù)據(jù)型的情況下,獲取所述灰度版本對應(yīng)的灰度用戶量,以及所述歷史版本對應(yīng)的歷史用戶量;
53、根據(jù)所述灰度用戶量和所述歷史用戶量,確定所述灰度版本和所述歷史版本的用戶比例;
54、根據(jù)所述用戶比例,對所述歷史版本的歷史應(yīng)用數(shù)據(jù)進行縮放,得到所述灰度版本對應(yīng)的目標(biāo)歷史應(yīng)用數(shù)據(jù)。
55、作為一個可選的實現(xiàn)方式,所述采集聚合子模塊,具體用于:
56、確定所述滑動窗口的滑動間隔和滑動步長;
57、按照所述滑動窗口的滑動間隔和滑動步長控制所述滑動窗口在所述目標(biāo)歷史應(yīng)用數(shù)據(jù)上滑動;
58、利用所述滑動窗口采集并聚合所述滑動窗口每次移動所覆蓋的目標(biāo)歷史應(yīng)用數(shù)據(jù),得到所述滑動窗口每次采集的目標(biāo)監(jiān)控指標(biāo)對應(yīng)的初始監(jiān)控指標(biāo)。
59、作為一個可選的實現(xiàn)方式,所述異常檢測模塊,包括:
60、指標(biāo)范圍確定子模塊,用于針對每個滑動窗口每次采集的目標(biāo)監(jiān)控指標(biāo),根據(jù)所述目標(biāo)監(jiān)控指標(biāo)對應(yīng)的標(biāo)準(zhǔn)監(jiān)控指標(biāo)和預(yù)設(shè)的異常檢測算法,確定所述目標(biāo)監(jiān)控指標(biāo)對應(yīng)的標(biāo)準(zhǔn)指標(biāo)范圍;
61、第一確定子模塊,用于確定每個滑動窗口每次采集的目標(biāo)監(jiān)控指標(biāo)是否位于對應(yīng)的標(biāo)準(zhǔn)指標(biāo)范圍之內(nèi);
62、第二確定子模塊,用于將目標(biāo)監(jiān)控指標(biāo)位于對應(yīng)的標(biāo)準(zhǔn)指標(biāo)范圍之外的滑動窗口,確定為異常滑動窗口;
63、第三確定子模塊,用于將目標(biāo)監(jiān)控指標(biāo)位于對應(yīng)的標(biāo)準(zhǔn)指標(biāo)范圍之內(nèi)的滑動窗口,確定為非異常滑動窗口;
64、異常檢測子模塊,用于根據(jù)所述異?;瑒哟翱诤退龇钱惓;瑒哟翱?,對所述灰度版本進行異常檢測。
65、作為一個可選的實現(xiàn)方式,所述異常檢測子模塊,具體用于:
66、根據(jù)所述異?;瑒哟翱?,確定所述灰度版本是否存在異常;
67、在根據(jù)所述異常滑動窗口確定所述灰度版本不存在異常的情況下,停止利用所述異常滑動窗口對所述灰度版本發(fā)布后的應(yīng)用數(shù)據(jù)進行采集并聚合;
68、在根據(jù)所述異?;瑒哟翱诖_定所述灰度版本存在異常的情況下,將所述異?;瑒哟翱诟聻榉钱惓;瑒哟翱?;
69、利用所述非異?;瑒哟翱趯λ龌叶劝姹景l(fā)布后的應(yīng)用數(shù)據(jù)進行采集并聚合,得到所述非異?;瑒哟翱诓杉男履繕?biāo)監(jiān)控指標(biāo);
70、針對每個所述非異?;瑒哟翱?,利用歷史版本的歷史應(yīng)用數(shù)據(jù)擬合所述非異?;瑒哟翱诿看尾杉男履繕?biāo)監(jiān)控指標(biāo)對應(yīng)的新標(biāo)準(zhǔn)監(jiān)控指標(biāo);
71、根據(jù)每個所述非異常滑動窗口采集的所述新目標(biāo)監(jiān)控指標(biāo)和所述新目標(biāo)監(jiān)控指標(biāo)對應(yīng)的新標(biāo)準(zhǔn)監(jiān)控指標(biāo),對所述灰度版本進行異常檢測。
72、第三方面,本技術(shù)提供了一種電子設(shè)備,包括:處理器和存儲器,所述處理器用于執(zhí)行所述存儲器中存儲的灰度版本的異常檢測程序,以實現(xiàn)第一方面中任一項所述的灰度版本的異常檢測方法。
73、第四方面,本技術(shù)提供了一種存儲介質(zhì),所述存儲介質(zhì)存儲有一個或者多個程序,所述一個或者多個程序可被一個或者多個處理器執(zhí)行,以實現(xiàn)第一方面中任一項所述的灰度版本的異常檢測方法。
74、本技術(shù)實施例提供的技術(shù)方案,通過針對任一預(yù)設(shè)長度的滑動窗口,利用預(yù)設(shè)長度的滑動窗口對灰度版本發(fā)布后的應(yīng)用數(shù)據(jù)進行采集并聚合,得到每個滑動窗口每次采集的灰度版本的目標(biāo)監(jiān)控指標(biāo),利用歷史版本的歷史應(yīng)用數(shù)據(jù)擬合滑動窗口采集的目標(biāo)監(jiān)控指標(biāo)對應(yīng)的標(biāo)準(zhǔn)監(jiān)控指標(biāo),上述歷史版本包括灰度版本發(fā)布之前的全部版本,根據(jù)每個滑動窗口每次采集的目標(biāo)監(jiān)控指標(biāo)和該目標(biāo)監(jiān)控指標(biāo)對應(yīng)的標(biāo)準(zhǔn)監(jiān)控指標(biāo),對灰度版本進行異常檢測。這一技術(shù)方案,通過不同長度的滑動窗口對灰度版本的應(yīng)用數(shù)據(jù)進行滾動聚合,而通過不同長度的滑動窗口對應(yīng)用數(shù)據(jù)進行滾動聚合,可以利用滑動窗口擴展應(yīng)用數(shù)據(jù)的數(shù)據(jù)量,且每個滑動窗口每次可采集到灰度版本的目標(biāo)監(jiān)控指標(biāo),最終可得到多個目標(biāo)監(jiān)控指標(biāo),與此同時,將歷史版本的歷史應(yīng)用數(shù)據(jù)作為灰度版本的歷史應(yīng)用數(shù)據(jù),并擬合出每個目標(biāo)監(jiān)控指標(biāo)的標(biāo)準(zhǔn)監(jiān)控指標(biāo),以根據(jù)較多的目標(biāo)監(jiān)控指標(biāo)和標(biāo)準(zhǔn)監(jiān)控指標(biāo)更加準(zhǔn)確地確定灰度版本是否存在異常,實現(xiàn)了采集的灰度版本的目標(biāo)監(jiān)控指標(biāo)存在足夠的數(shù)據(jù)支持,從而實現(xiàn)更加準(zhǔn)確地確定灰度版本是否存在異常。