欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

轉(zhuǎn)儲的自動分配方法和設(shè)備與流程

文檔序號:12596714閱讀:301來源:國知局
轉(zhuǎn)儲的自動分配方法和設(shè)備與流程

本公開的實施例總體上涉及計算機領(lǐng)域,更具體地涉及轉(zhuǎn)儲的自動分配方法和設(shè)備。



背景技術(shù):

崩潰轉(zhuǎn)儲(crash dump)是計算機系統(tǒng)或進程崩潰時的狀態(tài)快照。崩潰轉(zhuǎn)儲在系統(tǒng)發(fā)生崩潰或異常時保存故障信息或者環(huán)境信息,以供相關(guān)人員進行排錯分析使用。在具有多個功能組件區(qū)域的大型系統(tǒng)中,在開發(fā)、測試和部署期間可能產(chǎn)生許多崩潰轉(zhuǎn)儲。在獲得轉(zhuǎn)儲之后,通常需要確定大型系統(tǒng)中的具體哪個功能區(qū)域應(yīng)當(dāng)負責(zé)轉(zhuǎn)儲分析。

通常,可以根據(jù)轉(zhuǎn)儲的原因、理由或者簽名將崩潰轉(zhuǎn)儲分類或分配到相應(yīng)的功能區(qū)域。簽名可以是堆棧信息或者轉(zhuǎn)儲中的其它內(nèi)部狀態(tài)。例如,崩潰轉(zhuǎn)儲中的堆棧信息是最常使用的信息,并且它是將產(chǎn)生的轉(zhuǎn)儲映射到某些功能區(qū)域的最有價值的簽名。然而,現(xiàn)有技術(shù)中通過人工的對崩潰轉(zhuǎn)儲進行分配,不僅耗費大量時間精力,而且受分析人員知識的限制,導(dǎo)致轉(zhuǎn)儲分配的準(zhǔn)確性較低。此外,不同的功能區(qū)域可以引起具有相似的甚至相同的堆棧轉(zhuǎn)儲,因此,僅僅依靠轉(zhuǎn)儲堆棧中的信息進行分類不夠準(zhǔn)確。

因此,在不斷地產(chǎn)生崩潰轉(zhuǎn)儲時,如何在沒有了解轉(zhuǎn)儲的具體內(nèi)容的情況下,快速、準(zhǔn)確地對轉(zhuǎn)儲進行自動分類,成為一個亟待解決的問題。



技術(shù)實現(xiàn)要素:

有鑒于此,本公開的各實施例提出了一種轉(zhuǎn)儲的自動分配方法和設(shè)備。

根據(jù)本公開的一個方面,提供了一種轉(zhuǎn)儲的自動分配方法,該方法包括:計算未分配的轉(zhuǎn)儲與已分配的轉(zhuǎn)儲中的每個轉(zhuǎn)儲之間的堆棧相似性得分,并且將堆棧相似性得分大于堆棧相似性得分閾值的所有已分配的轉(zhuǎn)儲確定為相關(guān)的已分配的轉(zhuǎn)儲;響應(yīng)于確定相關(guān)的已分配的轉(zhuǎn)儲,計算相關(guān)的已分配的轉(zhuǎn)儲中的每個轉(zhuǎn)儲的其它特征的得分,其它特征包括與轉(zhuǎn)儲相關(guān)聯(lián)的轉(zhuǎn)儲的新近度、轉(zhuǎn)儲的狀態(tài)、轉(zhuǎn)儲的發(fā)行號、轉(zhuǎn)儲的版本號以及轉(zhuǎn)儲的重復(fù)值中的至少一項;根據(jù)堆棧相似性得分和其它特征的得分來計算總相似性得分;以及基于總相似性得分來對未分配的轉(zhuǎn)儲進行自動分配。

根據(jù)本公開的一個實施例,該方法進一步包括:從轉(zhuǎn)儲獲得與堆棧有關(guān)的信息,以及從轉(zhuǎn)儲、系統(tǒng)日志或系統(tǒng)數(shù)據(jù)庫獲得與其它特征有關(guān)的信息。

根據(jù)本公開的另一個實施例,其中計算未分配的轉(zhuǎn)儲與已分配的轉(zhuǎn)儲中的每個轉(zhuǎn)儲之間的堆棧相似性得分包括:選擇轉(zhuǎn)儲中直接導(dǎo)致轉(zhuǎn)儲發(fā)生的一個堆棧來計算堆棧相似性得分,或者選擇轉(zhuǎn)儲中的多個堆棧來計算堆棧相似性得分。

根據(jù)本公開的又一個實施例,其中計算未分配的轉(zhuǎn)儲與已分配的轉(zhuǎn)儲中的每個轉(zhuǎn)儲之間的堆棧相似性得分包括:通過從上到下逐行地比較堆棧中的行,來計算未分配的轉(zhuǎn)儲與已分配的轉(zhuǎn)儲中的每個轉(zhuǎn)儲之間的堆棧相似性得分。

根據(jù)本公開的一個實施例,其中計算相關(guān)的已分配的轉(zhuǎn)儲中的每個轉(zhuǎn)儲的其它特征的得分包括:分別計算其它特征中的每個特征的得分,并根據(jù)其它特征中的每個特征的權(quán)重來計算其它特征的得分。

根據(jù)本公開的另一個實施例,其中分別計算其它特征中的每個特征的得分包括:通過比較轉(zhuǎn)儲的時間戳信息來計算轉(zhuǎn)儲的新近度得分;和/或通過確定已分配的轉(zhuǎn)儲的當(dāng)前狀態(tài)來計算轉(zhuǎn)儲的狀態(tài)得分;和/或通過比較轉(zhuǎn)儲的發(fā)行號信息來計算轉(zhuǎn)儲的發(fā)行號得分;和/或通過比較轉(zhuǎn)儲的版本號信息來計算轉(zhuǎn)儲的版本號得分;和/或通過確定已分配轉(zhuǎn)儲的副本數(shù)量來計算轉(zhuǎn)儲的重復(fù)值得分。

根據(jù)本公開的又一個實施例,其中通過比較轉(zhuǎn)儲的時間戳信息、發(fā)行號信息或者版本號信息來計算轉(zhuǎn)儲的新近度得分、發(fā)行號得分或者版本號得分包括:將所有的轉(zhuǎn)儲按照時間戳信息、發(fā)行號信息或者版本號信息的進行排序,并且根據(jù)轉(zhuǎn)儲之間的排序間隔來計算新近度得分、發(fā)行號得分或者版本號得分。

根據(jù)本公開的一個實施例,其中通過確定已分配的轉(zhuǎn)儲的當(dāng)前狀態(tài)來計算轉(zhuǎn)儲的狀態(tài)得分包括:根據(jù)轉(zhuǎn)儲的當(dāng)前狀態(tài)在轉(zhuǎn)儲的所有狀態(tài)中所處的順序,來計算轉(zhuǎn)儲的狀態(tài)得分。

根據(jù)本公開的另一個實施例,其中通過確定已分配轉(zhuǎn)儲的副本數(shù)量來計算轉(zhuǎn)儲的重復(fù)值得分包括:根據(jù)特定已分配的轉(zhuǎn)儲在所有已分配的轉(zhuǎn)儲中的累計副本數(shù)量,來計算轉(zhuǎn)儲的重復(fù)值得分。

根據(jù)本公開的又一個實施例,其中基于總相似性得分來對未分配的轉(zhuǎn)儲進行自動分配包括:選擇總相似性得分排名前K名的相關(guān)的已分配的轉(zhuǎn)儲的分配區(qū)域作為候選分配區(qū)域,對前K名的相關(guān)的已分配的轉(zhuǎn)儲的分配區(qū)域進行統(tǒng)計,并且選擇統(tǒng)計結(jié)果最高的分配區(qū)域作為最終分配區(qū)域,其中K≥3。

根據(jù)本公開的另一個方面,提供了一種轉(zhuǎn)儲的自動分配設(shè)備,該設(shè)備包括:堆棧相似性計算裝置,用于計算未分配的轉(zhuǎn)儲與已分配的轉(zhuǎn)儲中的每個轉(zhuǎn)儲之間的堆棧相似性得分,并且將堆棧相似性得分大于堆棧相似性得分閾值的所有已分配的轉(zhuǎn)儲確定為相關(guān)的已分配的轉(zhuǎn)儲;其它特征得分計算裝置,用于響應(yīng)于確定相關(guān)的已分配的轉(zhuǎn)儲,計算相關(guān)的已分配的轉(zhuǎn)儲中的每個轉(zhuǎn)儲的其它特征的得分,其它特征包括與轉(zhuǎn)儲相關(guān)聯(lián)的轉(zhuǎn)儲的新近度、轉(zhuǎn)儲的狀態(tài)、轉(zhuǎn)儲的發(fā)行號、轉(zhuǎn)儲的版本號以及轉(zhuǎn)儲的重復(fù)值中的至少一項;總相似性計算裝置,用于根據(jù)堆棧相似性得分和其它特征的得分來計算總相似性得分;以及轉(zhuǎn)儲自動分配裝置,用于基于總相似性得分來對未分配的轉(zhuǎn)儲進行自動分配。

根據(jù)本公開的一個實施例,該設(shè)備進一步包括信息獲得裝置,信息獲得裝置用于從轉(zhuǎn)儲獲得與堆棧有關(guān)的信息,以及從轉(zhuǎn)儲、系統(tǒng)日 志或系統(tǒng)數(shù)據(jù)庫獲得與其它特征有關(guān)的信息。

根據(jù)本公開的另一個實施例,其中堆棧相似性計算裝置進一步用于:選擇轉(zhuǎn)儲中直接導(dǎo)致轉(zhuǎn)儲發(fā)生的一個堆棧來計算堆棧相似性得分,或者選擇轉(zhuǎn)儲中的多個堆棧來計算堆棧相似性得分。

根據(jù)本公開的又一個實施例,其中堆棧相似性計算裝置進一步用于:通過從上到下逐行地比較堆棧中的行,來計算未分配的轉(zhuǎn)儲與已分配的轉(zhuǎn)儲中的每個轉(zhuǎn)儲之間的堆棧相似性得分。

根據(jù)本公開的一個實施例,其中其它特征得分計算裝置進一步用于:分別計算其它特征中的每個特征的得分,并根據(jù)其它特征中的每個特征的權(quán)重來計算其它特征的得分。

根據(jù)本公開的另一個實施例,其中其它特征得分計算裝置進一步用于:通過比較轉(zhuǎn)儲的時間戳信息來計算轉(zhuǎn)儲的新近度得分;和/或通過確定已分配的轉(zhuǎn)儲的當(dāng)前狀態(tài)來計算轉(zhuǎn)儲的狀態(tài)得分;和/或通過比較轉(zhuǎn)儲的發(fā)行號信息來計算轉(zhuǎn)儲的發(fā)行號得分;和/或通過比較轉(zhuǎn)儲的版本號信息來計算轉(zhuǎn)儲的版本號得分;和/或通過確定已分配轉(zhuǎn)儲的副本數(shù)量來計算轉(zhuǎn)儲的重復(fù)值得分。

根據(jù)本公開的又一個實施例,其中通過比較轉(zhuǎn)儲的時間戳信息、發(fā)行號信息或者版本號信息來計算轉(zhuǎn)儲的新近度得分、發(fā)行號得分或者版本號得分包括:將所有的轉(zhuǎn)儲按照時間戳信息、發(fā)行號信息或者版本號信息的進行排序,并且根據(jù)轉(zhuǎn)儲之間的排序間隔來計算新近度得分、發(fā)行號得分或者版本號得分。

根據(jù)本公開的一個實施例,通過確定已分配的轉(zhuǎn)儲的當(dāng)前狀態(tài)來計算轉(zhuǎn)儲的狀態(tài)得分包括:根據(jù)轉(zhuǎn)儲的當(dāng)前狀態(tài)在轉(zhuǎn)儲的所有狀態(tài)中所處的順序,來計算轉(zhuǎn)儲的狀態(tài)得分。

根據(jù)本公開的另一個實施例,通過確定已分配轉(zhuǎn)儲的副本數(shù)量來計算轉(zhuǎn)儲的重復(fù)值得分包括:根據(jù)特定已分配的轉(zhuǎn)儲在所有已分配的轉(zhuǎn)儲中的累計副本數(shù)量,來計算轉(zhuǎn)儲的重復(fù)值得分。

根據(jù)本公開的又一個實施例,其中轉(zhuǎn)儲自動分配裝置進一步用于:選擇總相似性得分排名前K名的相關(guān)的已分配的轉(zhuǎn)儲的分配區(qū)域作 為候選分配區(qū)域,對前K名的相關(guān)的已分配的轉(zhuǎn)儲的分配區(qū)域進行統(tǒng)計,并且選擇統(tǒng)計結(jié)果最高的分配區(qū)域作為最終分配區(qū)域,其中K≥3。

根據(jù)本公開的又一個方面,提供了一種計算機程序產(chǎn)品,該計算機程序產(chǎn)品包括具體化于其中的計算機可讀程序指令,計算機可讀程序指令在由處理器執(zhí)行時,引起處理器執(zhí)行根據(jù)本公開的實施例的轉(zhuǎn)儲的自動分配方法。

本公開的示例性實施例提供的示例性解決方案可以帶來以下技術(shù)效果中的至少一種:基于歷史已分配的轉(zhuǎn)儲信息,通過計算未分配的轉(zhuǎn)儲與已分配的轉(zhuǎn)儲之間的堆棧相似性和已分配的轉(zhuǎn)儲的其它特征的得分,能夠確定與未分配的轉(zhuǎn)儲最相關(guān)的已分配的轉(zhuǎn)儲的分配區(qū)域,從而在沒有了解具體知識領(lǐng)域的情況下,快速、準(zhǔn)確地對轉(zhuǎn)儲進行自動分配。

附圖說明

結(jié)合附圖并參考以下詳細說明,本公開的各實施例的特征、優(yōu)點及其他方面將變得更加明顯,在此以示例性而非限制性的方式示出了本公開的若干實施例。在附圖中:

圖1圖示了根據(jù)本公開的實施例的轉(zhuǎn)儲的自動分配方法100的流程圖;

圖2圖示了根據(jù)本公開的另一個實施例的轉(zhuǎn)儲的自動分配方法200的流程圖;

圖3圖示了根據(jù)本公開的實施例的轉(zhuǎn)儲的自動分配設(shè)備300的框圖;

圖4圖示了可以在其中實現(xiàn)根據(jù)本公開的實施例的計算機設(shè)備的系統(tǒng)400的框圖。

具體實施方式

以下參考附圖詳細描述本公開的各個示例性實施例。附圖中的流 程圖和框圖示出了根據(jù)本公開的各種實施例的方法和系統(tǒng)的可能實現(xiàn)的體系架構(gòu)、功能和操作。應(yīng)當(dāng)注意,流程圖或框圖中的每個方框可以代表一個模塊、程序段、或代碼的一部分,所述模塊、程序段、或代碼的一部分可以包括一個或多個用于實現(xiàn)各個實施例中所規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為備選的實現(xiàn)中,方框中所標(biāo)注的功能也可以按照不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個接連地表示的方框?qū)嶋H上可以基本并行地執(zhí)行,或者它們有時也可以按照相反的順序執(zhí)行,這取決于所涉及的功能。同樣應(yīng)當(dāng)注意的是,流程圖和/或框圖中的每個方框、以及流程圖和/或框圖中的方框的組合,可以使用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以使用專用硬件與計算機指令的組合來實現(xiàn)。

本文所使用的術(shù)語“包括”、“包含”及類似術(shù)語應(yīng)該被理解為是開放性的術(shù)語,即“包括/包含但不限于”。術(shù)語“基于”是“至少部分地基于”。術(shù)語“一個實施例”表示“至少一個實施例”;術(shù)語“另一實施例”表示“至少一個另外的實施例”。其他術(shù)語的相關(guān)定義將在下文描述中給出

應(yīng)當(dāng)理解,給出這些示例性實施例僅是為了使本領(lǐng)域技術(shù)人員能夠更好地理解進而實現(xiàn)本公開的實施例,而并非以任何方式限制發(fā)明的范圍。

圖1圖示了根據(jù)本公開的實施例的轉(zhuǎn)儲的自動分配方法100的流程圖。參考圖1,在步驟102處,計算未分配的轉(zhuǎn)儲與已分配的轉(zhuǎn)儲中的每個轉(zhuǎn)儲之間的堆棧相似性得分,并且將堆棧相似性得分大于堆棧相似性得分閾值的所有已分配的轉(zhuǎn)儲確定為相關(guān)的已分配的轉(zhuǎn)儲。

根據(jù)本公開的實施例,可以從轉(zhuǎn)儲獲得與堆棧有關(guān)的信息,以及從轉(zhuǎn)儲、系統(tǒng)日志或系統(tǒng)數(shù)據(jù)庫獲得與其它特征有關(guān)的信息。例如,從轉(zhuǎn)儲文件收集關(guān)鍵信息,對于無法從轉(zhuǎn)儲文件本身獲得的其它特征信息,可以從實況系統(tǒng)、可靠日志或者其它資源等進行收集。對于與轉(zhuǎn)儲有關(guān)的信息的收集可以實時地獲得,也可以構(gòu)建數(shù)據(jù)庫,提前存儲與轉(zhuǎn)儲有關(guān)的信息。這些信息很大程度上能夠表示儲之間的關(guān)聯(lián)或 者相關(guān)程度,包括但不限于轉(zhuǎn)儲文件中的堆棧、轉(zhuǎn)儲的時間戳信息、轉(zhuǎn)儲的狀態(tài)(即,轉(zhuǎn)儲目前的處理狀態(tài))、轉(zhuǎn)儲的發(fā)行號(release)、轉(zhuǎn)儲的版本號(version)、轉(zhuǎn)儲的重復(fù)值(即,該轉(zhuǎn)儲被重復(fù)出現(xiàn)的次數(shù))。在收集信息之后,可以對信息進行抽取或者處理以供后續(xù)計算使用。

堆棧相似性得分

一般來說,轉(zhuǎn)儲文件具有一個或者多個堆棧,堆棧信息可以從轉(zhuǎn)儲文件中獲得。由于直接導(dǎo)致轉(zhuǎn)儲發(fā)生的一個堆棧是轉(zhuǎn)儲的直接代碼路徑和原因,因此,可以僅選擇直接導(dǎo)致崩潰轉(zhuǎn)儲發(fā)生的堆棧(也被稱為“panic stack”)來計算相似性得分。可選地,也可以選擇轉(zhuǎn)儲中的多個堆棧來分別計算相似性得分,并將多個轉(zhuǎn)儲的得分進行加權(quán)組合形成堆棧相似性的總得分。可選地,也可以選擇轉(zhuǎn)儲中的所有堆棧來分別計算堆棧相似性得分。

根據(jù)本公開的實施例,通過從上到下逐行地比較堆棧中的行,來計算未分配的轉(zhuǎn)儲與已分配的轉(zhuǎn)儲中的每個轉(zhuǎn)儲之間的堆棧相似性得分。例如,以下是直接導(dǎo)致轉(zhuǎn)儲發(fā)生的一個示例堆棧A,該堆棧A具有21行的深度。

libc.so.6!raise

libc.so.6!abort

libAAA.so!proc_do_abort

libAAA.so!rt_assert_int_take_user_space_panic_action

libBBB.so!rt_assert_fail_hard_assert_with_info

libBBB.so!rt_ux_spl_destroy

libBBB.so!rt_sked_spl_destroy

libBBB.so!p_raw_spl_destroy_nid

CCC.so!p_dsh_sched_spinlock_destroy_nid

DDD.so!p_dsh_Spinlock_unconstructed_t::destroy

DDD.so!p_dsh_Sthread_MutexSpl_unconstructed_t::destroy

DDD.so!Sthread_MutexSpl::~Sthread_MutexSpl

DDD.so!SelectStream::~SelectStream

DDD.so!smb_browserInitial::recvDgram

DDD.so!smb_browserInitial::start

DDD.so!Sthread_RootFunction

libBBB.so!csx_p_int_dsh_sched_thread_create_root

libBBB.so!csx_p_int_thread_wrapper

libBBB.so!csx_rt_sked_thread_wrapper

libpthread.so.0!start_thread

libc.so.6!clone

通過逐行地比較該示例堆棧A與每個已分配的轉(zhuǎn)儲的堆棧來計算堆棧相似性。該示例堆棧A與每個已分配的轉(zhuǎn)儲的堆棧之間的堆棧 相似性或者匹配度可以通過公式(1)來計算。

<mrow> <mi>S</mi> <mo>=</mo> <mfrac> <mi>d</mi> <mi>D</mi> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>

其中,S表示堆棧相似性得分,D表示該示例堆棧A的總行數(shù)(深度),d表示與已分配的轉(zhuǎn)儲的堆棧的最大匹配的行數(shù)(深度)。在計算堆棧相似性時,從上到下逐行地進行比較,將連續(xù)匹配的行數(shù)確定為最大匹配的行數(shù)。例如,假設(shè)已分配的轉(zhuǎn)儲中包括如下堆棧B。

libc.so.6!raise

libc.so.6!abort

libAAA.so!proc_do_abort

libAAA.so!rt_assert_int_take_user_space_panic_action

libBBB.so!rt_assert_fail_hard_assert_with_info

libEEE.so!myassert

libpthread.so.0!start_thread

libc.so.6!clone

由于堆棧A的前五行與堆棧B的前五行相同,并且從第一行(libc.so.6!raise)開始順序也相同,因此堆棧B與堆棧A的最大匹配行為五行。因此,通過公式(1)可以計算出堆棧A與堆棧B之間的堆棧相似性S為0.24(即,S=d/D,其中d=5,D=21)。

如果未分配的堆棧與某個已分配的堆棧具有相同的行數(shù),并且每一行的內(nèi)容完全相同,則這兩個堆棧之間的相似性得分是1,否則,這兩個堆棧之間的相似性得分在0-1之間。

根據(jù)本公開的另一個實施例,可以選擇一些其它堆棧(例如,在轉(zhuǎn)儲時積極的不在等待的堆棧,或者對于描述堆棧狀態(tài)有用的特定堆棧)來計算堆棧的總相似性得分,可以通過上述堆棧相似性得分計算方法來計算其它堆棧中的每個堆棧相似性得分,并且給出另一個備選相似性得分Sa,然后通過以下公式(2)來計算堆棧的總相似性得分。

S=f(Sa0,Sa1,Sa2,…) (2)

其中,S表示堆棧的總相似性得分,Sa0表示直接導(dǎo)致崩潰轉(zhuǎn)儲發(fā)生的堆棧(例如,panic stack)的相似性得分,Sa1~SaN表示其它堆棧的相似性得分。

接下來,在計算出堆棧相似性得分之后,將堆棧相似性得分大于堆棧相似性得分閾值的所有已分配的轉(zhuǎn)儲確定為相關(guān)的已分配的轉(zhuǎn) 儲。堆棧的相似性是轉(zhuǎn)儲是否相似的最重要的因素之一,也就是說,如果堆棧之間的相似性低,則轉(zhuǎn)儲之間的相似程度也低。因此,在計算出堆棧相似性得分之和,對于小于等于堆棧相似性得分閾值的轉(zhuǎn)儲,認為其與未分配的堆棧的相關(guān)程度不高,因此不予考慮,所以,選擇堆棧相似性得分大于堆棧相似性得分閾值的所有已分配的轉(zhuǎn)儲作為相關(guān)的已分配的轉(zhuǎn)儲,以供后續(xù)處理使用。

繼續(xù)參考圖1,在步驟104處,響應(yīng)于已確定的相關(guān)的已分配的轉(zhuǎn)儲,計算相關(guān)的已分配的轉(zhuǎn)儲中的每個轉(zhuǎn)儲的其它特征的得分,其它特征包括與轉(zhuǎn)儲相關(guān)聯(lián)的轉(zhuǎn)儲的新近度、轉(zhuǎn)儲的狀態(tài)、轉(zhuǎn)儲的發(fā)行號、轉(zhuǎn)儲的版本號以及轉(zhuǎn)儲的重復(fù)值中的至少一項。雖然堆棧相似性是轉(zhuǎn)儲之間是否相關(guān)的重要因素,但是如果僅僅考慮堆棧之間的相似性,則這種自動分配方法還不夠非常準(zhǔn)確。因此,除了堆棧相似性之外,還計算與轉(zhuǎn)儲相關(guān)聯(lián)的其它特征(例如,轉(zhuǎn)儲的新近度、轉(zhuǎn)儲的狀態(tài)、轉(zhuǎn)儲的發(fā)行號、轉(zhuǎn)儲的版本號以及轉(zhuǎn)儲的重復(fù)值)的得分??蛇x地,可以計算其它特征中的一個或者多個特征的得分。

根據(jù)本公開的實施例,分別計算其它特征中的每個特征的得分。例如,分別的計算轉(zhuǎn)儲的新近度得分、狀態(tài)得分、發(fā)行號得分、版本號得分以及重復(fù)值得分中的一個或者多個得分。

新近度得分

新近度(recency)被定義為轉(zhuǎn)儲之間的時間緊密程度。在獲得轉(zhuǎn)儲的時間戳信息之后,根據(jù)轉(zhuǎn)儲的時間戳信息對所有轉(zhuǎn)儲進行排序,每個轉(zhuǎn)儲可以被分配作為時間戳順序#的唯一的T#。因此,T#是從0到N的唯一編號,以標(biāo)記轉(zhuǎn)儲發(fā)生的時間線,其中N表示所有可用的轉(zhuǎn)儲的總數(shù)。通過以下公式(3)來計算已分配的轉(zhuǎn)儲與未分配的轉(zhuǎn)儲之間的新近度得分。

<mrow> <mi>R</mi> <mo>=</mo> <msup> <mi>e</mi> <mrow> <mo>-</mo> <msup> <mrow> <mo>(</mo> <mi>T</mi> <mi>u</mi> <mo>-</mo> <mi>T</mi> <mi>a</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>/</mo> <msup> <mi>L</mi> <mn>2</mn> </msup> </mrow> </msup> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow>

其中,R表示已分配的轉(zhuǎn)儲與未分配的轉(zhuǎn)儲之間的新近度得分,公式(3)已經(jīng)進行了R值的歸一化處理,因此R的值在0-1之間,Tu表示未分配的轉(zhuǎn)儲的時間戳順序T#,Ta表示已分配的轉(zhuǎn)儲的時間 戳順序T#,L表示在最近的轉(zhuǎn)儲上的加權(quán)的帶寬(band width)參數(shù),其指示前L名或者第L名前后的轉(zhuǎn)儲需要被重點考慮,根據(jù)一個實施例,將L的默認值設(shè)置為10000。然而,公式(3)只是一種示例性計算方式,可選地,還可以通過計算轉(zhuǎn)儲之間的時間間隔等方式確定新近度得分。

狀態(tài)得分

轉(zhuǎn)儲從產(chǎn)生到最終被解決一共會經(jīng)歷多個狀態(tài),轉(zhuǎn)儲的狀態(tài)表示著轉(zhuǎn)儲由指定區(qū)域處理的處理進展情況。例如,某個轉(zhuǎn)儲具有以下五種處理狀態(tài),當(dāng)轉(zhuǎn)儲首先被產(chǎn)生時,其狀態(tài)是WAITING_ASSIGN,然后它被分配到相應(yīng)的所有者進行處理,其狀態(tài)是“IN_PROGESS”,如果所有者得到轉(zhuǎn)儲發(fā)生的根本原因,則他將會將轉(zhuǎn)儲的狀態(tài)其設(shè)置為“ROOT_CAUSE_KNOWN”;然后進行相應(yīng)的修正處理,即進入狀態(tài)“FIX_IN_PROGRESS”,最終在完成轉(zhuǎn)儲的修正處理之后,狀態(tài)變?yōu)橐研拚隣顟B(tài)“FIXED”。因此,針對上述轉(zhuǎn)儲的示例分析狀態(tài)的順序如下:

WAITING_ASSIGN(0)->IN_PROGRESS(1)->ROOT_CAUSE_KNOWN(2)->FIX_IN_PROGRESS(3)->FIXED(4)

如以上順序所指示的,如果轉(zhuǎn)儲的狀態(tài)指示轉(zhuǎn)儲是較新的,則對該轉(zhuǎn)儲打更高的分。一般來說,新產(chǎn)生的轉(zhuǎn)儲更可能與未分配的轉(zhuǎn)儲相關(guān),而那些已經(jīng)修正的轉(zhuǎn)儲,則較少可能與未分配的轉(zhuǎn)儲相關(guān)。因此,對于具有M個狀態(tài)的轉(zhuǎn)儲而言,可以通過以下公式(4)來計算已分配的轉(zhuǎn)儲的狀態(tài)得分。

<mrow> <mi>S</mi> <mi>v</mi> <mo>=</mo> <mn>1</mn> <mo>-</mo> <mfrac> <mrow> <mi>O</mi> <mi>s</mi> </mrow> <mi>N</mi> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>4</mn> <mo>)</mo> </mrow> </mrow>

其中,Sv表示轉(zhuǎn)儲的狀態(tài)得分,它的值在0-1之間,Os表示轉(zhuǎn)儲的當(dāng)前狀態(tài)在所有狀態(tài)中所處的順序,例如,“IN_PROGRESS”狀態(tài)的順序是1,N表示被選擇為歸一化狀態(tài)得分的值,其中N≥M。例如,將N選擇為10,從而計算出當(dāng)前狀態(tài)為“IN_PROGRESS”的轉(zhuǎn)儲的狀態(tài)得分是0.9,而當(dāng)前狀態(tài)為“FIXED”的轉(zhuǎn)儲的狀態(tài)得分是0.6,這也說明了正在被處理的那些轉(zhuǎn)儲的熱度得分反而更高。然 而,上述狀態(tài)順序和公式(4)只是一種示例,可以包括其他狀態(tài)順序,并且根據(jù)轉(zhuǎn)儲的當(dāng)前狀態(tài)計算出轉(zhuǎn)儲的狀態(tài)得分。

發(fā)行號得分

在工程組織中,針對相同的產(chǎn)品可以開發(fā)許多不同的發(fā)行號(release)。一般來說,與具有不同發(fā)行號的兩個轉(zhuǎn)儲相比,具有相同發(fā)行號的兩個轉(zhuǎn)儲之間的關(guān)聯(lián)性更大。發(fā)行號信息一般可以從產(chǎn)生轉(zhuǎn)儲的系統(tǒng)中被獲得。在一個實施例中,如果未分配的轉(zhuǎn)儲與已分配的轉(zhuǎn)儲的發(fā)行號相同,則發(fā)行號得分被確定為1,如果不相同,則發(fā)行號得分被確定為0。在另一個實施例中,如果發(fā)行號可以按照發(fā)行的先后時間或者順序進行排序,則通過以下公式(5)根據(jù)轉(zhuǎn)儲之間的發(fā)行號排序間隔來計算轉(zhuǎn)儲的發(fā)行號得分。

<mrow> <mi>R</mi> <mi>v</mi> <mo>=</mo> <mn>1</mn> <mo>-</mo> <mfrac> <mrow> <mo>|</mo> <mi>s</mi> <mo>-</mo> <mi>S</mi> <mo>|</mo> </mrow> <msub> <mi>S</mi> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> </msub> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>5</mn> <mo>)</mo> </mrow> </mrow>

其中,Rv表示轉(zhuǎn)儲的發(fā)行號得分,Smax表示可用的發(fā)行號的最大順序編號,s表示特定已分配的轉(zhuǎn)儲的發(fā)行號順序編號,S表示未分配的轉(zhuǎn)儲的發(fā)行號順序編號。由公式(5)可見,轉(zhuǎn)儲之間的發(fā)行號越接近,發(fā)行號得分越高。根據(jù)本公開的另一個實施例,如果在特定的發(fā)行號上轉(zhuǎn)儲發(fā)生更為頻繁,則也可以對該發(fā)行號設(shè)置更高的發(fā)行號得分。

版本號得分

在工程組織中,針對相同的產(chǎn)品可以開發(fā)許多不同的版本號(version)。一般來說,與具有不同版本號的兩個轉(zhuǎn)儲相比,具有相同版本號的兩個轉(zhuǎn)儲之間的關(guān)聯(lián)性更大。版本號信息一般可以從產(chǎn)生轉(zhuǎn)儲的系統(tǒng)中被獲得。在一個實施例中,如果未分配的轉(zhuǎn)儲與已分配的轉(zhuǎn)儲的版本號相同,則版本號得分被確定為1,如果不相同,則版本號得分被確定為0。在另一個實施例中,如果版本號可以按照版本的先后時間或者順序進行排序,則通過以下公式(6)根據(jù)轉(zhuǎn)儲之間的版本號排序間隔來計算轉(zhuǎn)儲的版本號得分。

<mrow> <mi>V</mi> <mo>=</mo> <mn>1</mn> <mo>-</mo> <mfrac> <mrow> <mo>|</mo> <mi>s</mi> <mo>-</mo> <mi>S</mi> <mo>|</mo> </mrow> <msub> <mi>S</mi> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> </msub> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>6</mn> <mo>)</mo> </mrow> </mrow>

其中,V表示轉(zhuǎn)儲的版本號得分,Smax表示可用的版本號的最大順序編號,s表示特定已分配的轉(zhuǎn)儲的版本號順序編號,S表示未分配的轉(zhuǎn)儲的版本號順序編號。由公式(5)可見,轉(zhuǎn)儲之間的版本號越接近,版本號得分越高。根據(jù)本公開的另一個實施例,如果在特定的版本號上轉(zhuǎn)儲發(fā)生更為頻繁,則也可以對該版本號設(shè)置更高的版本號得分。

重復(fù)值得分

一般來說,在歷史已分配的轉(zhuǎn)儲的分析或者調(diào)試期間,會標(biāo)識相同的轉(zhuǎn)儲,這些轉(zhuǎn)儲重復(fù)信息會被存儲在數(shù)據(jù)庫中,可選地,也可以在轉(zhuǎn)儲的狀態(tài)分析過程中記錄轉(zhuǎn)儲的重復(fù)次數(shù)。通常,轉(zhuǎn)儲重復(fù)的次數(shù)越多,說明該轉(zhuǎn)儲出現(xiàn)的可能性越大,轉(zhuǎn)儲的關(guān)注度和流行性也越大,因此未分配的轉(zhuǎn)儲與其相關(guān)的可能性也越大。根據(jù)特定已分配的轉(zhuǎn)儲在所有已分配的轉(zhuǎn)儲中的累計副本數(shù)量,來計算轉(zhuǎn)儲的重復(fù)值得分。例如,可以通過以下公式(7)來計算轉(zhuǎn)儲的重復(fù)值得分。

<mrow> <mi>D</mi> <mi>v</mi> <mo>=</mo> <mfrac> <mrow> <mi>C</mi> <mi>d</mi> </mrow> <mi>D</mi> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>7</mn> <mo>)</mo> </mrow> </mrow>

其中,Dv表示轉(zhuǎn)儲的重復(fù)得分,它的值在0-1之間,Cd表示轉(zhuǎn)儲被重復(fù)的次數(shù),D表示所有轉(zhuǎn)儲中的轉(zhuǎn)儲的最高重復(fù)次數(shù),如果D的值是0,則默認將其設(shè)置為1。

在分別計算其它特征中的每個特征的得分(例如,R、Sv、Rv、V、Dv)之后,根據(jù)其它特征中的每個特征的權(quán)重來計算其它特征的得分。根據(jù)本公開的一個實施例,其它特征之間可以設(shè)置為相同的權(quán)重(例如,1:1),則其它特征的得分等于每個特征得分(例如,R、Sv、Rv、V、Dv)之和。根據(jù)本公開的另一個實施例,其它特征之間的權(quán)重可以設(shè)置為不相同,則根據(jù)各自的權(quán)重來計算綜合的其它特征的得分。例如,其它特征的得分=a1×R+a2×Sv+a3×Rv+a4×V+a5×Dv,其中a1-a5分別表示各個特征的權(quán)重。

繼續(xù)參考圖1,在步驟106處,根據(jù)堆棧相似性得分和其它特征的得分來計算總相似性得分。根據(jù)本公開的一個實施例,總相似得分等于堆棧相似性得分和其它特征的得分的和。例如,考慮到堆棧相似 的更重要性,可以將堆棧相似性設(shè)置較高的權(quán)重、將其它特征的得分設(shè)置較低的權(quán)重,從而根據(jù)堆棧和其它特征的不同權(quán)重來計算出轉(zhuǎn)儲之間的總相似得分。

在步驟108處,基于總相似性得分來對未分配的轉(zhuǎn)儲進行自動分配。根據(jù)總相似得分,選擇最相關(guān)的轉(zhuǎn)儲的分配區(qū)域作為未分配的轉(zhuǎn)儲的推薦分配區(qū)域。根據(jù)本公開的一個實施例,可以將得分最高的已分配的轉(zhuǎn)儲確定為最相關(guān)的轉(zhuǎn)儲,然后將未分配的轉(zhuǎn)儲分配到該最相關(guān)的轉(zhuǎn)儲的分配區(qū)域。

根據(jù)本公開的另一個實施例,選擇總相似性得分排名前K名的相關(guān)的已分配的轉(zhuǎn)儲的分配區(qū)域作為候選分配區(qū)域,對前K名的相關(guān)的已分配的轉(zhuǎn)儲的分配區(qū)域進行統(tǒng)計或者投票,并且選擇統(tǒng)計結(jié)果最高的分配區(qū)域作為最終分配區(qū)域,其中K≥3。如果一個區(qū)域和另一個區(qū)域的統(tǒng)計出的次數(shù)相同,則選擇對應(yīng)于這兩個區(qū)域的轉(zhuǎn)儲中得分排名最高的轉(zhuǎn)儲對應(yīng)的區(qū)域作為最終分配區(qū)域。本公開的實施例中所使用的統(tǒng)計或者投票算法的原理可以參考現(xiàn)有技術(shù)的K-近鄰算法的處理方法。

舉例來說,以下是針對具有事件#680629命名為safe_dump_spb_FNM00124800443_2014-10-23_15_27_50_29160_safe的給定轉(zhuǎn)儲的示例分類,在該示例中,選擇前9個匹配的已分配的轉(zhuǎn)儲的進行區(qū)域統(tǒng)計。根據(jù)統(tǒng)計結(jié)果,前9名中,出現(xiàn)次數(shù)最多的區(qū)域是“Platform Core:Platform”,共3次,因此,事件#68062的轉(zhuǎn)儲自動分配的區(qū)域是“Platform Core:Platform”。

表1:總相似性得分排名前9的轉(zhuǎn)儲的得分

由此可見,本公開的實施例的方案能夠快速地、自動地對轉(zhuǎn)儲進行自動分類,并且其轉(zhuǎn)儲分類的準(zhǔn)確率超過60%,而現(xiàn)有的人工轉(zhuǎn)儲分類的準(zhǔn)確率一般都只有50%左右,因此,本公開的實施例的方案能夠更準(zhǔn)確地對轉(zhuǎn)儲進行分類。

圖2圖示了根據(jù)本公開的另一個實施例的轉(zhuǎn)儲的自動分配方法200的流程圖。在步驟202處,獲得與轉(zhuǎn)儲有關(guān)的信息,例如獲得轉(zhuǎn)儲的堆棧信息、新近度信息、狀態(tài)信息、發(fā)行號信息、版本號信息或者重復(fù)值信息中的至少兩項。在步驟204處,對獲得的信息進行數(shù)據(jù)抽取和準(zhǔn)備,使得信息被轉(zhuǎn)換成可以被計算的標(biāo)準(zhǔn)化格式。在步驟206處,進行特征轉(zhuǎn)換和歸一化處理,計算出相應(yīng)的特征得分(例如,以上所描述的S、R、Sv、Rv、V、Dv中的至少兩項),并對每個特征得分進行歸一化處理,使得每個特征得分的值在0-1之間。在步驟208處,根據(jù)每個特征得分計算總得分(例如,根據(jù)每個特征的加權(quán)值進行加權(quán)計算,或者直接將每個特征得分相加來得到總得分),并且按得分對相關(guān)的未分配的轉(zhuǎn)儲進行排名,并且選擇前K名(例如,K=10)的轉(zhuǎn)儲對應(yīng)的區(qū)域進行統(tǒng)計(例如,前10名中,AAA區(qū)域出現(xiàn)5次,BBB區(qū)域出現(xiàn)3次),根據(jù)統(tǒng)計結(jié)果選擇最相關(guān)的區(qū)域(例如,AAA區(qū)域)進行分配。

圖3圖示了根據(jù)本公開的實施例的轉(zhuǎn)儲的自動分配設(shè)備300的框圖,該設(shè)備包括:堆棧相似性計算裝置302,用于計算未分配的轉(zhuǎn)儲與已分配的轉(zhuǎn)儲中的每個轉(zhuǎn)儲之間的堆棧相似性得分,并且將堆棧相似性得分大于堆棧相似性得分閾值的所有已分配的轉(zhuǎn)儲確定為相關(guān)的已分配的轉(zhuǎn)儲;其它特征得分計算裝置304,用于響應(yīng)于確定相關(guān)的已分配的轉(zhuǎn)儲,計算相關(guān)的已分配的轉(zhuǎn)儲中的每個轉(zhuǎn)儲的其它特征的得分,其它特征包括與轉(zhuǎn)儲相關(guān)聯(lián)的轉(zhuǎn)儲的新近度、轉(zhuǎn)儲的狀態(tài)、轉(zhuǎn)儲的發(fā)行號、轉(zhuǎn)儲的版本號以及轉(zhuǎn)儲的重復(fù)值中的至少一項;總相似性計算裝置306,用于根據(jù)堆棧相似性得分和其它特征的得分來計算總相似性得分;以及轉(zhuǎn)儲自動分配裝置308,轉(zhuǎn)儲自動分配裝置用于基于總相似性得分來對未分配的轉(zhuǎn)儲進行自動分配。

應(yīng)當(dāng)理解,設(shè)備300可以利用各種方式來實現(xiàn)。例如,在某些實施例中,設(shè)備300可以通過硬件、軟件或者軟件和硬件的結(jié)合來實現(xiàn)。其中,硬件部分可以利用專用邏輯來實現(xiàn);軟件部分則可以存儲在存儲器中,由適當(dāng)?shù)闹噶顖?zhí)行系統(tǒng),例如微處理器或者專用設(shè)計硬件來執(zhí)行。本領(lǐng)域的普通技術(shù)人員可以理解上述的方法和系統(tǒng)可以使用計算機可執(zhí)行指令和/或包含在處理器控制代碼中來實現(xiàn),例如在諸如磁盤、CD或DVD-ROM的載體介質(zhì)、諸如只讀存儲器的可編程的存儲器或者諸如光學(xué)或電子信號載體的數(shù)據(jù)載體上提供了這樣的代碼。本公開的實施例的設(shè)備和裝置不僅可以由諸如超大規(guī)模集成電路或門陣列、諸如邏輯芯片、晶體管等的半導(dǎo)體、或者諸如現(xiàn)場可編程門陣列、可編程邏輯設(shè)備等的可編程硬件設(shè)備的硬件電路實現(xiàn),也可以用例如由各種類型的處理器所執(zhí)行的軟件實現(xiàn),還可以由上述硬件電路和軟件的結(jié)合來實現(xiàn)。

在下文中,將參考圖4來描述可以在其中實現(xiàn)本公開的實施例的計算機設(shè)備。圖4圖示了可以在其中實現(xiàn)根據(jù)本公開的實施例的計算機設(shè)備的系統(tǒng)400的框圖。

圖4中所示的計算機系統(tǒng)包括CPU(中央處理單元)401、RAM(隨機訪問存儲器)402、ROM(只讀存儲器)403、系統(tǒng)總線404、硬盤控制器405、鍵盤控制器406、串行接口控制器407、并行接口控制器408、顯示器控制器409、硬盤410、鍵盤411、串行外部設(shè)備412、并行外部設(shè)備413和顯示器414。在這些部件中,與系統(tǒng)總線404相連的有CPU 401、RAM 402、ROM 403、硬盤控制器405、鍵盤控制器406、串行接口控制器407、并行接口控制器408和顯示器控制器409。硬盤410與硬盤控制器405相連,鍵盤411與鍵盤控制器406相連,串行外部設(shè)備412與串行接口控制器407相連,并行外部設(shè)備413與并行接口控制器408相連,以及顯示器414與顯示器控制器409相連。需要說明的是,圖4所述的結(jié)構(gòu)框圖僅僅為了示例的目的而示出的,并非是對本公開的限制。在一些情況下,可以根據(jù)需要添加或者減少其中的一些設(shè)備。

本公開的實施方式可以作為計算機程序代碼存儲在上計算機的例如硬盤410的存儲設(shè)備中,在被載入諸如內(nèi)存中運行時,將使得CPU 401執(zhí)行根據(jù)本公開的轉(zhuǎn)儲的自動分配方法。

應(yīng)當(dāng)注意,盡管在上文的詳細描述中提及了設(shè)備的若干裝置或子裝置,但是這種劃分僅僅是示例性而非強制性的。實際上,根據(jù)本公開的實施例,上文描述的兩個或更多裝置的特征和功能可以在一個裝置中具體化。反之,上文描述的一個裝置的特征和功能可以進一步劃分為由多個裝置來具體化。

以上所述僅為本公開的實施例可選實施例,并不用于限制本公開的實施例,對于本領(lǐng)域的技術(shù)人員來說,本公開的實施例可以有各種更改和變化。凡在本公開的實施例的精神和原則之內(nèi),所作的任何修改、等效替換、改進等,均應(yīng)包含在本公開的實施例的保護范圍之內(nèi)。

雖然已經(jīng)參考若干具體實施例描述了本公開的實施例,但是應(yīng)該理解,本公開的實施例并不限于所公開的具體實施例。本公開的實施例旨在涵蓋在所附權(quán)利要求的精神和范圍內(nèi)所包括的各種修改和等同布置。所附權(quán)利要求的范圍符合最寬泛的解釋,從而包含所有這樣的修改及等同結(jié)構(gòu)和功能。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
顺平县| 万宁市| 宁化县| 大同市| 丘北县| 安塞县| 苗栗县| 德庆县| 洱源县| 洛川县| 湖南省| 白银市| 大荔县| 清徐县| 临沂市| 米脂县| 荔波县| 乐业县| 翁源县| 筠连县| 固阳县| 广安市| 航空| 永平县| 富宁县| 鱼台县| 米脂县| 四会市| 商城县| 嵊州市| 张家川| 彭泽县| 蒙山县| 兴仁县| 万州区| 华亭县| 庆元县| 丹江口市| 吴忠市| 梁平县| 合阳县|