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

基于自組織映射模型云軟件性能異常錯(cuò)誤診斷方法與系統(tǒng)的制作方法

文檔序號(hào):9910939閱讀:350來源:國知局
基于自組織映射模型云軟件性能異常錯(cuò)誤診斷方法與系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001 ]本發(fā)明屬于計(jì)算機(jī)軟件類錯(cuò)誤診斷領(lǐng)域,更具體地,涉及一種基于自組織映射模型的云軟件性能異常錯(cuò)誤診斷方法與系統(tǒng)。
【背景技術(shù)】
[0002]云計(jì)算環(huán)境中,性能異常錯(cuò)誤變成了用戶最關(guān)心的問題之一。由于性能bug引起的系統(tǒng)性能下降,會(huì)影響對(duì)用戶的服務(wù)質(zhì)量,甚至造成服務(wù)等級(jí)協(xié)議違例,產(chǎn)生嚴(yán)重的經(jīng)濟(jì)損失。但是很多時(shí)候性能bug的診斷是很困難的。首先,性能bug的觸發(fā)依賴于特定的輸入或者特殊的配置,在特定的條件下才會(huì)出現(xiàn),難以重現(xiàn)。然后,性能bug觸發(fā)之后,很少會(huì)輸出錯(cuò)誤信息,無法直接給開發(fā)者提供相關(guān)的診斷信息。為了幫助開發(fā)者自動(dòng)分析錯(cuò)誤產(chǎn)生的原因,錯(cuò)誤診斷系統(tǒng)成為當(dāng)前急切需要的新技術(shù)。
[0003]—般來說,目前的性能異常錯(cuò)誤檢測診斷方法主要分為兩大類。一類是靜態(tài)檢測及診斷技術(shù),通過審查程序源代碼或者分析程序bug報(bào)告,從中發(fā)現(xiàn)某種性能bug的特點(diǎn),包括出現(xiàn)的上下文條件,表現(xiàn)形式等方面。然后根據(jù)發(fā)現(xiàn)的特點(diǎn)提取檢查性能bug的規(guī)則,定制一個(gè)相應(yīng)的性能bug檢測器,通過遍歷源代碼,從中發(fā)現(xiàn)潛在的性能bug錯(cuò)誤。這種方法需要人工分析提取各種性能bug的具體特征,制定檢測的規(guī)則,難以廣泛擴(kuò)展應(yīng)用。另一類則是在線性能異常檢測診斷技術(shù)。通過在軟件運(yùn)行時(shí)監(jiān)測系統(tǒng)性能指標(biāo)變化,建立系統(tǒng)性能指標(biāo)變化模型,實(shí)時(shí)檢測系統(tǒng)性能指標(biāo)是否出現(xiàn)異常。當(dāng)發(fā)現(xiàn)系統(tǒng)性能異常出現(xiàn)的時(shí)候,將會(huì)開始自動(dòng)診斷性能異常錯(cuò)誤出現(xiàn)的原因?,F(xiàn)有的性能異常錯(cuò)誤原因診斷技術(shù)多是通過計(jì)算系統(tǒng)性能指標(biāo)和性能異常之間的相關(guān)性,識(shí)別錯(cuò)誤相關(guān)的系統(tǒng)指標(biāo)。這樣的診斷是粗粒度的,只能夠給開發(fā)者提供有限的幫助。
[0004]綜上所述,現(xiàn)有的軟件性能異常錯(cuò)誤檢測及診斷方案存在如下不足:
[0005]基于源代碼的靜態(tài)代碼檢測診斷技術(shù),依賴于開發(fā)人員的經(jīng)驗(yàn)和技術(shù)水平,需要耗費(fèi)大量人力,并且只能處理有限的幾種性能異常bug,難以廣泛地?cái)U(kuò)展應(yīng)用;在線性能異常檢測診斷技術(shù)可以動(dòng)態(tài)捕捉系統(tǒng)性能異常的出現(xiàn),但是檢測到異常出現(xiàn)之后,難以定位異常出現(xiàn)的位置,不能有效的幫助開發(fā)者找出異常出現(xiàn)的原因。

【發(fā)明內(nèi)容】

[0006]針對(duì)現(xiàn)有技術(shù)的以上缺點(diǎn)或者改進(jìn)需求,本發(fā)明提供了一種基于自組織映射模型的云軟件性能異常錯(cuò)誤診斷方法,其目的在于,解決現(xiàn)有軟件性能異常錯(cuò)誤檢測診斷方法中存在的依賴于大量人工工作無法有效擴(kuò)展的、難以定位異常出現(xiàn)的位置不能有效幫助開發(fā)者找出異常出現(xiàn)的原因的技術(shù)問題。
[0007]為了實(shí)現(xiàn)上述目的,按照本發(fā)明的一個(gè)方面,提供了一種基于自組織映射模型的云軟件性能異常錯(cuò)誤診斷方法,包括以下步驟:
[0008](I)追蹤記錄待檢測的軟件在云環(huán)境中運(yùn)行時(shí)的系統(tǒng)調(diào)用信息;
[0009](2)分析出現(xiàn)性能異常的虛擬機(jī)上軟件運(yùn)行時(shí)系統(tǒng)調(diào)用序列,劃分每個(gè)進(jìn)程對(duì)應(yīng)的系統(tǒng)調(diào)用序列;
[0010](3)根據(jù)劃分得到的進(jìn)程系統(tǒng)調(diào)用序列建立檢測模型,并對(duì)可疑進(jìn)程進(jìn)行異常檢測;
[0011 ] (4)計(jì)算出現(xiàn)異常的進(jìn)程中最相關(guān)的系統(tǒng)調(diào)用,排序后輸出。
[0012]本發(fā)明的一個(gè)實(shí)施例中,步驟(I)中軟件系統(tǒng)調(diào)用序列信息包括系統(tǒng)調(diào)用名、執(zhí)行的進(jìn)程或者線程號(hào)開始時(shí)間和結(jié)束時(shí)間。
[0013]本發(fā)明的一個(gè)實(shí)施例中,步驟(3)中對(duì)可疑進(jìn)程進(jìn)行異常檢測具體包括以下子步驟:
[0014](3-1)將進(jìn)程對(duì)應(yīng)的系統(tǒng)調(diào)用序列集合,根據(jù)其最終結(jié)束時(shí)間在虛擬機(jī)異常產(chǎn)生前后劃分為兩個(gè)集合,即異常發(fā)生前進(jìn)程系統(tǒng)調(diào)用序列集合和異常發(fā)生時(shí)進(jìn)程系統(tǒng)調(diào)用序列集合;
[0015](3-2)將步驟(3-1)中的異常發(fā)生前系統(tǒng)調(diào)用序列集合中的系統(tǒng)調(diào)用序列作為訓(xùn)練數(shù)據(jù),建立自組織映射模型。
[0016](3-3)使用步驟(3-2)中建立的自組織映射模型作為檢測標(biāo)準(zhǔn),將步驟(3-1)中的異常發(fā)生時(shí)系統(tǒng)調(diào)用序列集合中的每個(gè)序列輸入該模型,判斷每個(gè)序列是否異常。
[0017]本發(fā)明的一個(gè)實(shí)施例中,步驟(4)中計(jì)算異常進(jìn)程中最相關(guān)的系統(tǒng)調(diào)用需要計(jì)算異常系統(tǒng)調(diào)用節(jié)點(diǎn)與正常鄰居節(jié)點(diǎn)之間的差異,然后采用多數(shù)投票方式選擇出最相關(guān)的系統(tǒng)調(diào)用。
[0018]按照本發(fā)明的另一方面,提供了基于自組織映射模型的云軟件性能異常錯(cuò)誤診斷系統(tǒng),包括記錄模塊、劃分模塊、檢測模塊以及診斷模塊,其中:
[0019]所述記錄模塊,用于追蹤記錄待檢測的軟件在云環(huán)境中運(yùn)行時(shí)的系統(tǒng)調(diào)用信息;
[0020]所述劃分模塊,用于分析出現(xiàn)性能異常的虛擬機(jī)上軟件運(yùn)行時(shí)系統(tǒng)調(diào)用序列,劃分每個(gè)進(jìn)程對(duì)應(yīng)的系統(tǒng)調(diào)用序列;
[0021 ]所述檢測模塊,用于根據(jù)劃分得到的進(jìn)程系統(tǒng)調(diào)用序列建立檢測模型,并對(duì)可疑進(jìn)程進(jìn)行異常檢測;
[0022]所述診斷模塊,用于計(jì)算出現(xiàn)異常的進(jìn)程中最相關(guān)的系統(tǒng)調(diào)用,排序后輸出。
[0023]總體而言,通過本發(fā)明所構(gòu)思的以上技術(shù)方案與現(xiàn)有技術(shù)相比,能夠取得下列有益效果:
[0024](I)能夠在線自動(dòng)化自動(dòng)定位造成性能異常出現(xiàn)的系統(tǒng)調(diào)用序列,可以及時(shí)自動(dòng)捕捉偶然出現(xiàn)的系統(tǒng)性能異常bug,節(jié)省了大量人工測試以及檢查的時(shí)間和成本。
[0025](2)能夠發(fā)現(xiàn)性能異常出現(xiàn)的原因,自動(dòng)準(zhǔn)確定位與性能異常bug相關(guān)的系統(tǒng)調(diào)用函數(shù),幫助開發(fā)者更有效快速的找到并解決系統(tǒng)中的性能異常bug,有效避免系統(tǒng)出現(xiàn)更嚴(yán)重的問題。
[0026](3)采用了基于動(dòng)態(tài)追蹤技術(shù),能夠在不需要離線bug重現(xiàn)以及沒有應(yīng)用程序源代碼的情況下,自動(dòng)檢測并診斷性能異常bug的出現(xiàn),具有更廣闊的應(yīng)用場景。
[0027](4)采用了無監(jiān)督的學(xué)習(xí)模型,能夠在系統(tǒng)運(yùn)行時(shí)自動(dòng)訓(xùn)練系統(tǒng)運(yùn)行時(shí)模型,不需要提前準(zhǔn)備人工進(jìn)行標(biāo)記過的正常和異常數(shù)據(jù)對(duì)模型進(jìn)行訓(xùn)練,方便檢測系統(tǒng)的快速應(yīng)用和部署。
【附圖說明】
[0028]圖1是本發(fā)明基于自組織映射模型的云軟件性能異常錯(cuò)誤診斷方法的流程圖;
[0029]圖2是對(duì)系統(tǒng)調(diào)用序列進(jìn)行異常檢測的過程;
[0030]圖3是構(gòu)建自組織映射模型的過程;
[0031]圖4是利用構(gòu)建的自組織映射模型進(jìn)行異常檢測的過程。
【具體實(shí)施方式】
[0032]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。此外,下面所描述的本發(fā)明各個(gè)實(shí)施方式中所涉及到的技術(shù)特征只要彼此之間未構(gòu)成沖突就可以相互組合。
[0033]本發(fā)明的整體思路在于,當(dāng)發(fā)現(xiàn)系統(tǒng)出現(xiàn)性能異常的時(shí)候,利用記錄的系統(tǒng)運(yùn)行時(shí)系統(tǒng)調(diào)用情況,檢測出異常的系統(tǒng)運(yùn)行過程,定位造成性能異常出現(xiàn)的相關(guān)系統(tǒng)調(diào)用。
[0034]如圖1所示,本發(fā)明基于自組織映射模型的云軟件性能異常錯(cuò)誤診斷方法包括以下步驟:
[0035](I)啟動(dòng)待檢測的軟件,周期性的收集軟件所在虛擬機(jī)的系統(tǒng)指標(biāo)數(shù)據(jù)。同時(shí)記錄軟件函數(shù)調(diào)用和系統(tǒng)調(diào)用序列信息。軟件系統(tǒng)調(diào)用序列信息包括系統(tǒng)調(diào)用名,執(zhí)行進(jìn)程或者線程號(hào),開始和結(jié)束時(shí)間。這些信息可以通過LTTng工具動(dòng)態(tài)追蹤程序運(yùn)行獲得。
[0036](2)讀取異常虛擬機(jī)上軟件運(yùn)行時(shí)系統(tǒng)調(diào)用序列,劃分每次請(qǐng)求服務(wù)對(duì)應(yīng)的系統(tǒng)調(diào)用序列。系統(tǒng)調(diào)用序列同樣分為進(jìn)入和退出兩種記錄,具體包括{進(jìn)入或退出時(shí)間戳,程序名ppid,進(jìn)程ID,線程ID,cpu ID}。根據(jù)記錄的進(jìn)程線程ID,可以把記錄的所有系統(tǒng)調(diào)用序列劃分到相應(yīng)的集合。一般來說,某段時(shí)間內(nèi)的每個(gè)進(jìn)程線程代表一次獨(dú)立地對(duì)請(qǐng)求的處理過程。特別地,有些應(yīng)用程序采用了基于線程池的設(shè)計(jì)執(zhí)行方式。使得,一個(gè)線程的行為隨著時(shí)間的變化會(huì)變得不同。為此,我們引入時(shí)間間隔來解決這個(gè)問題。我們計(jì)算連續(xù)兩個(gè)系統(tǒng)調(diào)用之間的時(shí)間間隔,如果其時(shí)間間隔大于設(shè)定的閾值,則認(rèn)為該線程已經(jīng)被重新利用,是一次新的請(qǐng)求處理過程。這樣,就能分割每一次獨(dú)立的請(qǐng)求處理過程,得到每次請(qǐng)求服務(wù)對(duì)應(yīng)的系統(tǒng)調(diào)用序
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
额敏县| 噶尔县| 大港区| 瑞安市| 县级市| 比如县| 新密市| 吐鲁番市| 津市市| 钟山县| 拜城县| 三都| 札达县| 永川市| 蒙自县| 黄浦区| 屏东县| 广西| 宾阳县| 昌黎县| 铁岭县| 台中县| 渝北区| 皮山县| 望都县| 龙江县| 合肥市| 长汀县| 泗洪县| 三江| 北海市| 定州市| 禹城市| 平潭县| 贵州省| 南部县| 兴和县| 阿合奇县| 东源县| 宜丰县| 彭泽县|