本發(fā)明涉及互聯(lián)網(wǎng)
技術(shù)領(lǐng)域:
:,尤其涉及一種異常數(shù)據(jù)的獲取方法、設(shè)備及計算機可讀存儲介質(zhì)。
背景技術(shù):
::在j2ee(java2platformenterpriseedition,java2平臺企業(yè)版)系統(tǒng)中,系統(tǒng)中難免會出現(xiàn)異常數(shù)據(jù)。異常數(shù)據(jù)會在瀏覽器頁面中呈現(xiàn),影響用戶正常瀏覽頁面,也可能讓某些用戶通過異常數(shù)據(jù)找到j(luò)2ee系統(tǒng)的破解辦法?,F(xiàn)有技術(shù)中,通常在瀏覽器頁面中呈現(xiàn)一個友好的錯誤提示頁面。當(dāng)系統(tǒng)中出現(xiàn)異常數(shù)據(jù)時,用戶向工程師反饋異常數(shù)據(jù),工程師開始查找j2ee系統(tǒng)中的日志,通過對日志進行排查定位異常數(shù)據(jù)的位置,工程師處于被動處理異常數(shù)據(jù)的局面;同時,在分布式j(luò)2ee系統(tǒng)中,多臺分布式j(luò)2ee系統(tǒng)服務(wù)器都在記錄日志,工程師查找j2ee系統(tǒng)中的多臺服務(wù)器中的日志排查異常數(shù)據(jù)非常困難?,F(xiàn)有技術(shù)中,j2ee系統(tǒng)只做到定向錯誤頁面,記錄異常數(shù)據(jù)到關(guān)系型數(shù)據(jù)庫中,該方法存在兩個弊端:第一,無法及時查找到系統(tǒng)異常數(shù)據(jù),并通知工程師對異常數(shù)據(jù)進行處理;第二,j2ee系統(tǒng)采用分布式部署,j2ee系統(tǒng)僅能簡單的記錄異常數(shù)據(jù),無法描述異常數(shù)據(jù)發(fā)生的場景以及位置。技術(shù)實現(xiàn)要素:本發(fā)明的主要目的在于提出一種異常數(shù)據(jù)的獲取方法、設(shè)備及計算機可讀存儲介質(zhì),旨在解決現(xiàn)有技術(shù)中不能對分布式系統(tǒng)中的異常數(shù)據(jù)及時獲取并提供給目標(biāo)用戶解決異常數(shù)據(jù)的缺陷。為實現(xiàn)上述目的,本發(fā)明提供的一種異常數(shù)據(jù)的獲取方法,包括:實時獲取分布式系統(tǒng)中的異常數(shù)據(jù);基于預(yù)置的異常數(shù)據(jù)模型,實時對所述異常數(shù)據(jù)進行定位,得到所述異常數(shù)據(jù)的發(fā)生時間,及所述異常數(shù)據(jù)在所述分布式系統(tǒng)中的位置;將異常消息寫入redis隊列中,所述異常消息包括:所述異常數(shù)據(jù),所述異常數(shù)據(jù)的發(fā)生時間,及所述異常數(shù)據(jù)在所述分布式系統(tǒng)中的位置;根據(jù)設(shè)定的周期,獲取當(dāng)前周期內(nèi)寫入所述redis隊列中的所述異常消息的集合,并將所述異常消息的集合發(fā)送至目標(biāo)用戶??蛇x的,所述實時獲取分布式系統(tǒng)中的異常數(shù)據(jù),包括:通過所述分布式系統(tǒng)中預(yù)置的埋點實時獲取所述分布式系統(tǒng)中的所述異常數(shù)據(jù)??蛇x的,所述將所有異常消息寫入redis隊列中,包括:將所述異常消息通過原子操作的方式寫入redis隊列中??蛇x的,所述根據(jù)設(shè)定的周期,獲取當(dāng)前周期內(nèi)寫入所述redis隊列中的所述異常消息的集合,并將所述異常消息的集合發(fā)送至目標(biāo)用戶的步驟包括:所述根據(jù)設(shè)定的周期,獲取當(dāng)前周期內(nèi)寫入所述redis隊列中的所述異常消息的集合;基于哈希算法,對所述異常消息的集合中的所有異常消息進行去重,得到去重異常消息集合;將所述去重異常消息集合發(fā)送至所述目標(biāo)用戶??蛇x的,在所述基于哈希算法,對所述異常消息的集合中的所有異常消息進行去重,得到去重異常消息集合之前,包括:將所述異常消息的集合存儲至設(shè)定數(shù)據(jù)庫中??蛇x的,所述基于哈希算法,對所述異常消息的集合中的所有異常消息進行去重,得到去重異常消息集合,包括:基于所述預(yù)置的異常數(shù)據(jù)模型,根據(jù)預(yù)置的哈希函數(shù),計算所述異常消息的集合中的每個異常消息對應(yīng)的哈希值;基于所述每個異常消息對應(yīng)的哈希值,對所述異常消息的集合中的所有異常消息進行去重,得到去重異常消息集合??蛇x的,所述基于所述預(yù)置的異常數(shù)據(jù)模型,根據(jù)預(yù)置的哈希函數(shù),計算所述異常消息的集合中的每個異常消息對應(yīng)的哈希值,包括:根據(jù)預(yù)置的異常數(shù)據(jù)模型,將所述異常消息的集合中的每個異常消息設(shè)置為多個不同維度的異常維度數(shù)據(jù);根據(jù)預(yù)置的哈希函數(shù),計算所述異常消息的集合中的每個異常消息對應(yīng)的多個不同維度的異常維度數(shù)據(jù)的哈希值;根據(jù)預(yù)置的維度排序,將所述異常消息的集合中的每個異常消息對應(yīng)的多個不同維度的異常維度數(shù)據(jù)的哈希值進行拼接,得到所述異常消息的集合中的每個異常消息對應(yīng)的哈希值??蛇x的,所述將所述去重異常消息集合發(fā)送至目標(biāo)用戶的步驟包括:將所述去重異常消息集合以設(shè)定格式發(fā)送至所述目標(biāo)用戶。此外,為實現(xiàn)上述目的,本發(fā)明還提出一種異常數(shù)據(jù)的獲取設(shè)備,所述異常數(shù)據(jù)的獲取設(shè)備包括處理器和存儲器;所述處理器用于執(zhí)行存儲器中存儲的共享文件的程序,以實現(xiàn)上述的異常數(shù)據(jù)的獲取方法的步驟。此外,為實現(xiàn)上述目的,本發(fā)明還提出一種計算機可讀存儲介質(zhì),其特征在于,所述計算機可讀存儲介質(zhì)存儲有一個或者多個程序,所述一個或者多個程序可被一個或者多個處理器執(zhí)行,以實現(xiàn)上述的異常數(shù)據(jù)的獲取方法的步驟。本發(fā)明提出的一種異常數(shù)據(jù)的獲取方法、設(shè)備及計算機可讀存儲介質(zhì),能夠?qū)崟r對分布式系統(tǒng)中的異常數(shù)據(jù)進行實時采集,并對實時采集的異常數(shù)據(jù)進行并發(fā)處理;對異常數(shù)據(jù)進行去重,并周期性的將去重后的異常數(shù)據(jù)發(fā)送至工程師,以供工程師對異常數(shù)據(jù)進行快速處理,有效的減少了重復(fù)異常數(shù)據(jù)對工程師的干擾,提高了工程師對異常數(shù)據(jù)的排查效率。附圖說明圖1為本發(fā)明第一實施例的異常數(shù)據(jù)的獲取方法流程圖;圖2為本發(fā)明第一~第六實施例的分布式j(luò)2ee系統(tǒng)中實時獲取異常數(shù)據(jù)示意圖;圖3為本發(fā)明第二實施例的異常數(shù)據(jù)的獲取方法流程圖;圖4為本發(fā)明第三實施例的異常數(shù)據(jù)的獲取設(shè)備結(jié)構(gòu)示意圖。本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結(jié)合實施例,參照附圖做進一步說明。具體實施方式應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。在后續(xù)的描述中,使用用于表示元件的諸如“模塊”、“部件”或“單元”的后綴僅為了有利于本發(fā)明的說明,其本身沒有特定的意義。因此,“模塊”、“部件”或“單元”可以混合地使用。終端可以以各種形式來實施。例如,本發(fā)明中描述的終端可以包括諸如手機、平板電腦、筆記本電腦、掌上電腦、個人數(shù)字助理(personaldigitalassistant,pda)、便捷式媒體播放器(portablemediaplayer,pmp)、導(dǎo)航裝置、可穿戴設(shè)備、智能手環(huán)、計步器等移動終端,以及諸如數(shù)字tv、臺式計算機等固定終端。后續(xù)描述中將以移動終端為例進行說明,本領(lǐng)域技術(shù)人員將理解的是,除了特別用于移動目的的元件之外,根據(jù)本發(fā)明的實施方式的構(gòu)造也能夠應(yīng)用于固定類型的終端。本發(fā)明第一實施例,一種異常數(shù)據(jù)的獲取方法,如圖1~圖2所示,包括以下具體步驟:步驟s101,實時獲取分布式系統(tǒng)中的異常數(shù)據(jù)??蛇x的,步驟s101,包括:通過分布式系統(tǒng)中預(yù)置的埋點實時獲取分布式系統(tǒng)中的異常數(shù)據(jù)。例如:如圖2所示,通過分布式j(luò)2ee系統(tǒng)中預(yù)置的埋點實時獲取分布式j(luò)2ee系統(tǒng)中頁面的異常數(shù)據(jù)的方式,包括:依次調(diào)用控制(controller)層、業(yè)務(wù)(service)層、數(shù)據(jù)訪問(dao)和數(shù)據(jù)庫(db,database)中預(yù)置的埋點實時獲取分布式j(luò)2ee系統(tǒng)中頁面的異常數(shù)據(jù),并將頁面中的異常數(shù)據(jù)依次通過數(shù)據(jù)庫(db,database)、數(shù)據(jù)訪問(dao)、業(yè)務(wù)(service)層和控制(controller)層上報至全局異常攔截器,以供定位錯誤頁面。步驟s102,基于預(yù)置的異常數(shù)據(jù)模型,實時對異常數(shù)據(jù)進行定位,得到異常數(shù)據(jù)的發(fā)生時間,及異常數(shù)據(jù)在分布式系統(tǒng)中的位置。其中,異常數(shù)據(jù)模型為根據(jù)分布式系統(tǒng)中的硬件和軟件,進行預(yù)先設(shè)計。異常數(shù)據(jù)模型包括但不限于:機器ip(internetprotocol,網(wǎng)絡(luò)之間互連的協(xié)議)地址、應(yīng)用服務(wù)器tomcat(apachetomcat,湯姆貓)端口、線程名稱、異常消息頭、異常堆棧的字符串形式和時間戳等。步驟s103,將異常消息寫入redis隊列中;異常消息包括:異常數(shù)據(jù),異常數(shù)據(jù)的發(fā)生時間,及異常數(shù)據(jù)在分布式系統(tǒng)中的位置。redis是一個開源的使用ansic語言編寫、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、key-value(鍵值)數(shù)據(jù)庫,并提供多種語言的api(applicationprogramminginterface,應(yīng)用程序編程接口)。ansic是由美國國家標(biāo)準(zhǔn)協(xié)會(ansi)及國際標(biāo)準(zhǔn)化組織(iso)推出的關(guān)于c語言的標(biāo)準(zhǔn)??蛇x的,步驟s103,包括:將異常消息通過原子操作的方式寫入redis隊列中;異常消息包括:異常數(shù)據(jù),異常數(shù)據(jù)的發(fā)生時間,及異常數(shù)據(jù)在分布式系統(tǒng)中的位置。其中,原子操作(atomicoperation)是指不會被線程調(diào)度機制打斷的操作;原子操作一旦開始,就一直運行到結(jié)束,中間不會有任何切換到另一個線程(contextswitch)。原子操作可以是一個步驟,也可以是多個操作步驟,但是原子操作順序不可以被打亂,也不可以被切割而只執(zhí)行其中的一部分。通過將異常消息通過原子操作的方式寫入redis隊列中,能夠有效的提高分布式系統(tǒng)并發(fā)處理異常數(shù)據(jù)的效率。步驟s104,根據(jù)設(shè)定的周期,獲取當(dāng)前周期內(nèi)寫入redis隊列中的異常消息的集合,并將異常消息的集合發(fā)送至目標(biāo)用戶。例如:根據(jù)設(shè)定的周期1分鐘,獲取當(dāng)前周期1分鐘內(nèi)寫入redis隊列中的異常消息的集合,并將異常消息的集合發(fā)送至目標(biāo)用戶(例如:工程師),以供目標(biāo)用戶根據(jù)異常消息中的異常數(shù)據(jù)的發(fā)生時間,及異常數(shù)據(jù)在分布式系統(tǒng)中的位置進行定位,并對異常消息中的異常數(shù)據(jù)進行處理。又如:根據(jù)設(shè)定的周期5分鐘,獲取當(dāng)前周期5分鐘內(nèi)寫入redis隊列中的異常消息的集合,并將異常消息的集合以短信或郵件的形式發(fā)送至目標(biāo)用戶(例如:工程師),以供目標(biāo)用戶根據(jù)異常消息中的異常數(shù)據(jù)的發(fā)生時間,及異常數(shù)據(jù)在分布式j(luò)2ee系統(tǒng)中的位置進行定位,并對異常消息中的異常數(shù)據(jù)進行處理。本發(fā)明第一實施例所述的一種異常數(shù)據(jù)的獲取方法,能夠?qū)崟r對分布式系統(tǒng)中的異常數(shù)據(jù)進行實時采集,并對實時采集的異常數(shù)據(jù)進行并發(fā)處理;并將異常數(shù)據(jù)及時發(fā)送至目標(biāo)用戶,以供目標(biāo)用戶對異常數(shù)據(jù)進行及時處理。本發(fā)明第二實施例,一種異常數(shù)據(jù)的獲取方法,如圖3所示,包括以下具體步驟:步驟s201,實時獲取分布式系統(tǒng)中的異常數(shù)據(jù)。可選的,步驟s201,包括:通過分布式系統(tǒng)中預(yù)置的埋點實時獲取分布式系統(tǒng)中的異常數(shù)據(jù)。例如:如圖2所示,通過分布式j(luò)2ee系統(tǒng)中預(yù)置的埋點實時獲取分布式j(luò)2ee系統(tǒng)中頁面的異常數(shù)據(jù)的方式,包括:依次調(diào)用控制(controller)層、業(yè)務(wù)(service)層、數(shù)據(jù)訪問(dao)和數(shù)據(jù)庫(db,database)中預(yù)置的埋點實時獲取分布式j(luò)2ee系統(tǒng)中頁面的異常數(shù)據(jù),并將頁面中的異常數(shù)據(jù)依次通過數(shù)據(jù)庫(db,database)、數(shù)據(jù)訪問(dao)、業(yè)務(wù)(service)層和控制(controller)層上報至全局異常攔截器,以供定位錯誤頁面。步驟s202,基于預(yù)置的異常數(shù)據(jù)模型,實時對異常數(shù)據(jù)進行定位,得到異常數(shù)據(jù)的發(fā)生時間,及異常數(shù)據(jù)在分布式系統(tǒng)中的位置。其中,異常數(shù)據(jù)模型為根據(jù)分布式系統(tǒng)中的硬件和軟件,進行預(yù)先設(shè)計。異常數(shù)據(jù)模型包括但不限于:機器ip(internetprotocol,網(wǎng)絡(luò)之間互連的協(xié)議)地址、應(yīng)用服務(wù)器tomcat(apachetomcat,湯姆貓)端口、線程名稱、異常消息頭、異常堆棧的字符串形式和時間戳等。步驟s203,將異常消息寫入redis隊列中;異常消息包括:異常數(shù)據(jù),異常數(shù)據(jù)的發(fā)生時間,及異常數(shù)據(jù)在分布式系統(tǒng)中的位置。redis是一個開源的使用ansic語言編寫、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、key-value(鍵值)數(shù)據(jù)庫,并提供多種語言的api(applicationprogramminginterface,應(yīng)用程序編程接口)。ansic是由美國國家標(biāo)準(zhǔn)協(xié)會(ansi)及國際標(biāo)準(zhǔn)化組織(iso)推出的關(guān)于c語言的標(biāo)準(zhǔn)??蛇x的,步驟s203,包括:將異常消息通過原子操作的方式寫入redis隊列中;異常消息包括:異常數(shù)據(jù),異常數(shù)據(jù)的發(fā)生時間,及異常數(shù)據(jù)在分布式系統(tǒng)中的位置。其中,原子操作(atomicoperation)是指不會被線程調(diào)度機制打斷的操作;原子操作一旦開始,就一直運行到結(jié)束,中間不會有任何切換到另一個線程(contextswitch)。原子操作可以是一個步驟,也可以是多個操作步驟,但是原子操作順序不可以被打亂,也不可以被切割而只執(zhí)行其中的一部分。通過將異常消息通過原子操作的方式寫入redis隊列中,能夠有效的提高分布式系統(tǒng)并發(fā)處理異常數(shù)據(jù)的效率。步驟s204,根據(jù)設(shè)定的周期,獲取當(dāng)前周期內(nèi)寫入redis隊列中的異常消息的集合,并將異常消息的集合發(fā)送至目標(biāo)用戶。可選的,步驟s204,包括:根據(jù)設(shè)定的周期,獲取當(dāng)前周期內(nèi)寫入redis隊列中的異常消息的集合;基于哈希算法,對異常消息的集合中的所有異常消息進行去重,得到去重異常消息集合;將去重異常消息集合以設(shè)定格式發(fā)送至目標(biāo)用戶。可選的,步驟s204,包括:根據(jù)設(shè)定的周期,獲取當(dāng)前周期內(nèi)寫入redis隊列中的異常消息的集合;將異常消息的集合存儲至設(shè)定數(shù)據(jù)庫中;基于哈希算法,對異常消息的集合中的所有異常消息進行去重,得到去重異常消息集合;將去重異常消息集合以設(shè)定格式發(fā)送至目標(biāo)用戶。可選的,步驟s204,包括:根據(jù)設(shè)定的周期,獲取當(dāng)前周期內(nèi)寫入redis隊列中的異常消息的集合;基于預(yù)置的異常數(shù)據(jù)模型,根據(jù)預(yù)置的哈希函數(shù),計算異常消息的集合中的每個異常消息對應(yīng)的哈希值;基于每個異常消息對應(yīng)的哈希值,對異常消息的集合中的所有異常消息進行去重,得到去重異常消息集合;將去重異常消息集合以設(shè)定格式發(fā)送至目標(biāo)用戶??蛇x的,步驟s204,包括:根據(jù)設(shè)定的周期,獲取當(dāng)前周期內(nèi)寫入redis隊列中的異常消息的集合;根據(jù)預(yù)置的異常數(shù)據(jù)模型,將異常消息的集合中的每個異常消息設(shè)置為多個不同維度的異常維度數(shù)據(jù);根據(jù)預(yù)置的哈希函數(shù),計算異常消息的集合中的每個異常消息對應(yīng)的多個不同維度的異常維度數(shù)據(jù)的哈希值;根據(jù)預(yù)置的維度排序,將異常消息的集合中的每個異常消息對應(yīng)的多個不同維度的異常維度數(shù)據(jù)的哈希值進行拼接,得到異常消息的集合中的每個異常消息對應(yīng)的哈希值;基于每個異常消息對應(yīng)的哈希值,對異常消息的集合中的所有異常消息進行去重,得到去重異常消息集合;將去重異常消息集合以設(shè)定格式發(fā)送至目標(biāo)用戶。其中,將去重異常消息集合以設(shè)定格式發(fā)送至目標(biāo)用戶。將去重異常消息集合中的每個異常消息設(shè)置為設(shè)定格式的異常消息,得到格式化去重異常消息集合;將異常消息轉(zhuǎn)換為設(shè)定格式,包括:分別將異常消息中的異常數(shù)據(jù),異常數(shù)據(jù)的發(fā)生時間,及異常數(shù)據(jù)在分布式系統(tǒng)中的位置轉(zhuǎn)換為設(shè)定格式的格式化數(shù)據(jù)。例如:根據(jù)設(shè)定的周期1分鐘,獲取當(dāng)前周期內(nèi)1分鐘內(nèi)寫入redis隊列中的異常消息的集合;根據(jù)預(yù)置的異常數(shù)據(jù)模型,將異常消息的集合中的每個異常消息設(shè)置為5個不同維度的異常維度數(shù)據(jù);根據(jù)預(yù)置的哈希函數(shù),計算異常消息的集合中的每個異常消息對應(yīng)的5個不同維度的異常維度數(shù)據(jù)的哈希值;根據(jù)預(yù)置的維度排序,將異常消息的集合中的每個異常消息對應(yīng)的5個不同維度的異常維度數(shù)據(jù)的哈希值進行拼接,得到異常消息的集合中的每個異常消息對應(yīng)的哈希值;基于每個異常消息對應(yīng)的哈希值,對異常消息的集合中的所有異常消息進行去重,得到去重異常消息集合;將去重異常消息集合以設(shè)定格式發(fā)送至目標(biāo)用戶(例如:工程師),以供目標(biāo)用戶根據(jù)異常消息中的異常數(shù)據(jù)的發(fā)生時間,及異常數(shù)據(jù)在分布式j(luò)2ee系統(tǒng)中的位置進行定位,并對異常消息中的異常數(shù)據(jù)進行處理。本發(fā)明第二實施例所述的一種異常數(shù)據(jù)的獲取方法,能夠?qū)崟r對分布式系統(tǒng)中的異常數(shù)據(jù)進行實時采集,并對實時采集的異常數(shù)據(jù)進行并發(fā)處理;對異常數(shù)據(jù)進行去重,并周期性的將去重后的異常數(shù)據(jù)發(fā)送至目標(biāo)用戶,以供目標(biāo)用戶對異常數(shù)據(jù)進行快速處理,有效的減少了重復(fù)異常數(shù)據(jù)對工程師的干擾,提高了目標(biāo)用戶對異常數(shù)據(jù)的排查效率。本發(fā)明第三實施例,一種異常數(shù)據(jù)的獲取設(shè)備,如圖4所示,包括以下組成部分:處理器110和存儲器109。在本發(fā)明的一些實施例中,這些部件可通過總線或者其它方式連接。處理器110可以是通用處理器,例如中央處理器(centralprocessingunit,cpu),還可以是數(shù)字信號處理器(digitalsignalprocessor,dsp)、專用集成電路(英文:applicationspecificintegratedcircuit,asic),或者是被配置成實施本發(fā)明實施例的一個或多個集成電路。其中,存儲器用于存儲所述處理器的可執(zhí)行指令;存儲器109,用于存儲程序代碼,并將該程序代碼傳輸給處理器110。存儲器109可以包括易失性存儲器(volatilememory),例如隨機存取存儲器(randomaccessmemory,ram);存儲器109也可以包括非易失性存儲器(non-volatilememory),例如只讀存儲器(read-onlymemory,rom)、快閃存儲器(flashmemory)、硬盤(harddiskdrive,hdd)或固態(tài)硬盤(solid-statedrive,ssd);存儲器109還可以包括上述種類的存儲器的組合。存儲器109通過總線與處理器110相連接。其中,處理器110用于調(diào)用所述存儲器109存儲的程序代碼管理代碼,執(zhí)行如下操作:1)實時獲取分布式系統(tǒng)中的異常數(shù)據(jù)。可選的,實時獲取分布式系統(tǒng)中的異常數(shù)據(jù),包括:通過分布式系統(tǒng)中預(yù)置的埋點實時獲取分布式系統(tǒng)中的異常數(shù)據(jù)。例如:如圖2所示,通過分布式j(luò)2ee系統(tǒng)中預(yù)置的埋點實時獲取分布式j(luò)2ee系統(tǒng)中頁面的異常數(shù)據(jù)的方式,包括:依次調(diào)用控制(controller)層、業(yè)務(wù)(service)層、數(shù)據(jù)訪問(dao)和數(shù)據(jù)庫(db,database)中預(yù)置的埋點實時獲取分布式j(luò)2ee系統(tǒng)中頁面的異常數(shù)據(jù),并將頁面中的異常數(shù)據(jù)依次通過數(shù)據(jù)庫(db,database)、數(shù)據(jù)訪問(dao)、業(yè)務(wù)(service)層和控制(controller)層上報至全局異常攔截器,以供定位錯誤頁面。2)基于預(yù)置的異常數(shù)據(jù)模型,實時對異常數(shù)據(jù)進行定位,得到異常數(shù)據(jù)的發(fā)生時間,及異常數(shù)據(jù)在分布式系統(tǒng)中的位置。其中,異常數(shù)據(jù)模型為根據(jù)分布式系統(tǒng)中的硬件和軟件,進行預(yù)先設(shè)計。異常數(shù)據(jù)模型包括但不限于:機器ip(internetprotocol,網(wǎng)絡(luò)之間互連的協(xié)議)地址、應(yīng)用服務(wù)器tomcat(apachetomcat,湯姆貓)端口、線程名稱、異常消息頭、異常堆棧的字符串形式和時間戳等。3)將異常消息寫入redis隊列中;異常消息包括:異常數(shù)據(jù),異常數(shù)據(jù)的發(fā)生時間,及異常數(shù)據(jù)在分布式系統(tǒng)中的位置。redis是一個開源的使用ansic語言編寫、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、key-value(鍵值)數(shù)據(jù)庫,并提供多種語言的api(applicationprogramminginterface,應(yīng)用程序編程接口)。ansic是由美國國家標(biāo)準(zhǔn)協(xié)會(ansi)及國際標(biāo)準(zhǔn)化組織(iso)推出的關(guān)于c語言的標(biāo)準(zhǔn)。可選的,將異常消息寫入redis隊列中,包括:將異常消息通過原子操作的方式寫入redis隊列中。其中,原子操作(atomicoperation)是指不會被線程調(diào)度機制打斷的操作;原子操作一旦開始,就一直運行到結(jié)束,中間不會有任何切換到另一個線程(contextswitch)。原子操作可以是一個步驟,也可以是多個操作步驟,但是原子操作順序不可以被打亂,也不可以被切割而只執(zhí)行其中的一部分。通過將異常消息通過原子操作的方式寫入redis隊列中,能夠有效的提高分布式系統(tǒng)并發(fā)處理異常數(shù)據(jù)的效率。4)根據(jù)設(shè)定的周期,獲取當(dāng)前周期內(nèi)寫入redis隊列中的異常消息的集合,并將異常消息的集合發(fā)送至目標(biāo)用戶。例如:根據(jù)設(shè)定的周期1分鐘,獲取當(dāng)前周期1分鐘內(nèi)寫入redis隊列中的異常消息的集合,并將異常消息的集合發(fā)送至目標(biāo)用戶(例如:工程師),以供目標(biāo)用戶根據(jù)異常消息中的異常數(shù)據(jù)的發(fā)生時間,及異常數(shù)據(jù)在分布式系統(tǒng)中的位置進行定位,并對異常消息中的異常數(shù)據(jù)進行處理。又如:根據(jù)設(shè)定的周期5分鐘,獲取當(dāng)前周期5分鐘內(nèi)寫入redis隊列中的異常消息的集合,并將異常消息的集合以短信或郵件的形式發(fā)送至目標(biāo)用戶(例如:工程師),以供目標(biāo)用戶根據(jù)異常消息中的異常數(shù)據(jù)的發(fā)生時間,及異常數(shù)據(jù)在分布式j(luò)2ee系統(tǒng)中的位置進行定位,并對異常消息中的異常數(shù)據(jù)進行處理。本發(fā)明第三實施例所述的一種異常數(shù)據(jù)的獲取設(shè)備,能夠?qū)崟r對分布式系統(tǒng)中的異常數(shù)據(jù)進行實時采集,并對實時采集的異常數(shù)據(jù)進行并發(fā)處理;并將異常數(shù)據(jù)及時發(fā)送至目標(biāo)用戶,以供目標(biāo)用戶對異常數(shù)據(jù)進行及時處理。本發(fā)明第四實施例,一種異常數(shù)據(jù)的獲取設(shè)備,包括以下組成部分:處理器110和存儲器109。在本發(fā)明的一些實施例中,這些部件可通過總線或者其它方式連接。處理器110可以是通用處理器,例如中央處理器(centralprocessingunit,cpu),還可以是數(shù)字信號處理器(digitalsignalprocessor,dsp)、專用集成電路(英文:applicationspecificintegratedcircuit,asic),或者是被配置成實施本發(fā)明實施例的一個或多個集成電路。其中,存儲器用于存儲所述處理器的可執(zhí)行指令;存儲器109,用于存儲程序代碼,并將該程序代碼傳輸給處理器110。存儲器109可以包括易失性存儲器(volatilememory),例如隨機存取存儲器(randomaccessmemory,ram);存儲器109也可以包括非易失性存儲器(non-volatilememory),例如只讀存儲器(read-onlymemory,rom)、快閃存儲器(flashmemory)、硬盤(harddiskdrive,hdd)或固態(tài)硬盤(solid-statedrive,ssd);存儲器109還可以包括上述種類的存儲器的組合。存儲器109通過總線與處理器110相連接。其中,處理器110用于調(diào)用所述存儲器109存儲的程序代碼管理代碼,執(zhí)行如下操作:1)實時獲取分布式系統(tǒng)中的異常數(shù)據(jù)??蛇x的,實時獲取分布式系統(tǒng)中的異常數(shù)據(jù),包括:通過分布式系統(tǒng)中預(yù)置的埋點實時獲取分布式系統(tǒng)中的異常數(shù)據(jù)。例如:如圖2所示,通過分布式j(luò)2ee系統(tǒng)中預(yù)置的埋點實時獲取分布式j(luò)2ee系統(tǒng)中頁面的異常數(shù)據(jù)的方式,包括:依次調(diào)用控制(controller)層、業(yè)務(wù)(service)層、數(shù)據(jù)訪問(dao)和數(shù)據(jù)庫(db,database)中預(yù)置的埋點實時獲取分布式j(luò)2ee系統(tǒng)中頁面的異常數(shù)據(jù),并將頁面中的異常數(shù)據(jù)依次通過數(shù)據(jù)庫(db,database)、數(shù)據(jù)訪問(dao)、業(yè)務(wù)(service)層和控制(controller)層上報至全局異常攔截器,以供定位錯誤頁面。2)基于預(yù)置的異常數(shù)據(jù)模型,實時對異常數(shù)據(jù)進行定位,得到異常數(shù)據(jù)的發(fā)生時間,及異常數(shù)據(jù)在分布式系統(tǒng)中的位置。其中,異常數(shù)據(jù)模型為根據(jù)分布式系統(tǒng)中的硬件和軟件,進行預(yù)先設(shè)計。異常數(shù)據(jù)模型包括但不限于:機器ip(internetprotocol,網(wǎng)絡(luò)之間互連的協(xié)議)地址、應(yīng)用服務(wù)器tomcat(apachetomcat,湯姆貓)端口、線程名稱、異常消息頭、異常堆棧的字符串形式和時間戳等。3)將異常消息寫入redis隊列中;異常消息包括:異常數(shù)據(jù),異常數(shù)據(jù)的發(fā)生時間,及異常數(shù)據(jù)在分布式系統(tǒng)中的位置。redis是一個開源的使用ansic語言編寫、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、key-value(鍵值)數(shù)據(jù)庫,并提供多種語言的api(applicationprogramminginterface,應(yīng)用程序編程接口)。ansic是由美國國家標(biāo)準(zhǔn)協(xié)會(ansi)及國際標(biāo)準(zhǔn)化組織(iso)推出的關(guān)于c語言的標(biāo)準(zhǔn)。可選的,將異常消息寫入redis隊列中,包括:將異常消息通過原子操作的方式寫入redis隊列中。其中,原子操作(atomicoperation)是指不會被線程調(diào)度機制打斷的操作;原子操作一旦開始,就一直運行到結(jié)束,中間不會有任何切換到另一個線程(contextswitch)。原子操作可以是一個步驟,也可以是多個操作步驟,但是原子操作順序不可以被打亂,也不可以被切割而只執(zhí)行其中的一部分。通過將異常消息通過原子操作的方式寫入redis隊列中,能夠有效的提高分布式系統(tǒng)并發(fā)處理異常數(shù)據(jù)的效率。4)根據(jù)設(shè)定的周期,獲取當(dāng)前周期內(nèi)寫入redis隊列中的異常消息的集合,并將異常消息的集合發(fā)送至目標(biāo)用戶??蛇x的,根據(jù)設(shè)定的周期,獲取當(dāng)前周期內(nèi)寫入redis隊列中的異常消息的集合,并將異常消息的集合發(fā)送至目標(biāo)用戶,包括:根據(jù)設(shè)定的周期,獲取當(dāng)前周期內(nèi)寫入redis隊列中的異常消息的集合;基于哈希算法,對異常消息的集合中的所有異常消息進行去重,得到去重異常消息集合;將去重異常消息集合以設(shè)定格式發(fā)送至目標(biāo)用戶??蛇x的,根據(jù)設(shè)定的周期,獲取當(dāng)前周期內(nèi)寫入redis隊列中的異常消息的集合,并將異常消息的集合發(fā)送至目標(biāo)用戶,包括:根據(jù)設(shè)定的周期,獲取當(dāng)前周期內(nèi)寫入redis隊列中的異常消息的集合;將異常消息的集合存儲至設(shè)定數(shù)據(jù)庫中;基于哈希算法,對異常消息的集合中的所有異常消息進行去重,得到去重異常消息集合;將去重異常消息集合以設(shè)定格式發(fā)送至目標(biāo)用戶??蛇x的,根據(jù)設(shè)定的周期,獲取當(dāng)前周期內(nèi)寫入redis隊列中的異常消息的集合,并將異常消息的集合發(fā)送至目標(biāo)用戶,包括:根據(jù)設(shè)定的周期,獲取當(dāng)前周期內(nèi)寫入redis隊列中的異常消息的集合;基于預(yù)置的異常數(shù)據(jù)模型,根據(jù)預(yù)置的哈希函數(shù),計算異常消息的集合中的每個異常消息對應(yīng)的哈希值;基于每個異常消息對應(yīng)的哈希值,對異常消息的集合中的所有異常消息進行去重,得到去重異常消息集合;將去重異常消息集合以設(shè)定格式發(fā)送至目標(biāo)用戶??蛇x的,根據(jù)設(shè)定的周期,獲取當(dāng)前周期內(nèi)寫入redis隊列中的異常消息的集合,并將異常消息的集合發(fā)送至目標(biāo)用戶,包括:根據(jù)設(shè)定的周期,獲取當(dāng)前周期內(nèi)寫入redis隊列中的異常消息的集合;根據(jù)預(yù)置的異常數(shù)據(jù)模型,將異常消息的集合中的每個異常消息設(shè)置為多個不同維度的異常維度數(shù)據(jù);根據(jù)預(yù)置的哈希函數(shù),計算異常消息的集合中的每個異常消息對應(yīng)的多個不同維度的異常維度數(shù)據(jù)的哈希值;根據(jù)預(yù)置的維度排序,將異常消息的集合中的每個異常消息對應(yīng)的多個不同維度的異常維度數(shù)據(jù)的哈希值進行拼接,得到異常消息的集合中的每個異常消息對應(yīng)的哈希值;基于每個異常消息對應(yīng)的哈希值,對異常消息的集合中的所有異常消息進行去重,得到去重異常消息集合;將去重異常消息集合以設(shè)定格式發(fā)送至目標(biāo)用戶。其中,將去重異常消息集合以設(shè)定格式發(fā)送至目標(biāo)用戶。將去重異常消息集合中的每個異常消息設(shè)置為設(shè)定格式的異常消息,得到格式化去重異常消息集合;將異常消息轉(zhuǎn)換為設(shè)定格式,包括:分別將異常消息中的異常數(shù)據(jù),異常數(shù)據(jù)的發(fā)生時間,及異常數(shù)據(jù)在分布式系統(tǒng)中的位置轉(zhuǎn)換為設(shè)定格式的格式化數(shù)據(jù)。例如:根據(jù)設(shè)定的周期1分鐘,獲取當(dāng)前周期內(nèi)1分鐘內(nèi)寫入redis隊列中的異常消息的集合;根據(jù)預(yù)置的異常數(shù)據(jù)模型,將異常消息的集合中的每個異常消息設(shè)置為5個不同維度的異常維度數(shù)據(jù);根據(jù)預(yù)置的哈希函數(shù),計算異常消息的集合中的每個異常消息對應(yīng)的5個不同維度的異常維度數(shù)據(jù)的哈希值;根據(jù)預(yù)置的維度排序,將異常消息的集合中的每個異常消息對應(yīng)的5個不同維度的異常維度數(shù)據(jù)的哈希值進行拼接,得到異常消息的集合中的每個異常消息對應(yīng)的哈希值;基于每個異常消息對應(yīng)的哈希值,對異常消息的集合中的所有異常消息進行去重,得到去重異常消息集合;將去重異常消息集合以設(shè)定格式發(fā)送至目標(biāo)用戶(例如:工程師),以供目標(biāo)用戶根據(jù)異常消息中的異常數(shù)據(jù)的發(fā)生時間,及異常數(shù)據(jù)在分布式j(luò)2ee系統(tǒng)中的位置進行定位,并對異常消息中的異常數(shù)據(jù)進行處理。本發(fā)明第四實施例所述的一種異常數(shù)據(jù)的獲取設(shè)備,能夠?qū)崟r對分布式系統(tǒng)中的異常數(shù)據(jù)進行實時采集,并對實時采集的異常數(shù)據(jù)進行并發(fā)處理;對異常數(shù)據(jù)進行去重,并周期性的將去重后的異常數(shù)據(jù)發(fā)送至目標(biāo)用戶,以供目標(biāo)用戶對異常數(shù)據(jù)進行快速處理,有效的減少了重復(fù)異常數(shù)據(jù)對工程師的干擾,提高了目標(biāo)用戶對異常數(shù)據(jù)的排查效率。本發(fā)明第五實施例,一種計算機可讀存儲介質(zhì)。計算機存儲介質(zhì)可以是ram存儲器、閃存、rom存儲器、eprom存儲器、eeprom存儲器、寄存器、硬盤、移動硬盤、cd-rom或者本領(lǐng)域已知的任何其他形式的存儲介質(zhì)。計算機可讀存儲介質(zhì)存儲有一個或者多個程序,該一個或者多個程序可被一個或者多個處理器執(zhí)行,以實現(xiàn)以下步驟:步驟s501,實時獲取分布式系統(tǒng)中的異常數(shù)據(jù)??蛇x的,步驟s501,包括:通過分布式系統(tǒng)中預(yù)置的埋點實時獲取分布式系統(tǒng)中的異常數(shù)據(jù)。例如:如圖2所示,通過分布式j(luò)2ee系統(tǒng)中預(yù)置的埋點實時獲取分布式j(luò)2ee系統(tǒng)中頁面的異常數(shù)據(jù)的方式,包括:依次調(diào)用控制(controller)層、業(yè)務(wù)(service)層、數(shù)據(jù)訪問(dao)和數(shù)據(jù)庫(db,database)中預(yù)置的埋點實時獲取分布式j(luò)2ee系統(tǒng)中頁面的異常數(shù)據(jù),并將頁面中的異常數(shù)據(jù)依次通過數(shù)據(jù)庫(db,database)、數(shù)據(jù)訪問(dao)、業(yè)務(wù)(service)層和控制(controller)層上報至全局異常攔截器,以供定位錯誤頁面。步驟s502,基于預(yù)置的異常數(shù)據(jù)模型,實時對異常數(shù)據(jù)進行定位,得到異常數(shù)據(jù)的發(fā)生時間,及異常數(shù)據(jù)在分布式系統(tǒng)中的位置。其中,異常數(shù)據(jù)模型為根據(jù)分布式系統(tǒng)中的硬件和軟件,進行預(yù)先設(shè)計。異常數(shù)據(jù)模型包括但不限于:機器ip(internetprotocol,網(wǎng)絡(luò)之間互連的協(xié)議)地址、應(yīng)用服務(wù)器tomcat(apachetomcat,湯姆貓)端口、線程名稱、異常消息頭、異常堆棧的字符串形式和時間戳等。步驟s503,將異常消息寫入redis隊列中;異常消息包括:異常數(shù)據(jù),異常數(shù)據(jù)的發(fā)生時間,及異常數(shù)據(jù)在分布式系統(tǒng)中的位置。redis是一個開源的使用ansic語言編寫、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、key-value(鍵值)數(shù)據(jù)庫,并提供多種語言的api(applicationprogramminginterface,應(yīng)用程序編程接口)。ansic是由美國國家標(biāo)準(zhǔn)協(xié)會(ansi)及國際標(biāo)準(zhǔn)化組織(iso)推出的關(guān)于c語言的標(biāo)準(zhǔn)??蛇x的,步驟s503,包括:將異常消息通過原子操作的方式寫入redis隊列中;異常消息包括:異常數(shù)據(jù),異常數(shù)據(jù)的發(fā)生時間,及異常數(shù)據(jù)在分布式系統(tǒng)中的位置。其中,原子操作(atomicoperation)是指不會被線程調(diào)度機制打斷的操作;原子操作一旦開始,就一直運行到結(jié)束,中間不會有任何切換到另一個線程(contextswitch)。原子操作可以是一個步驟,也可以是多個操作步驟,但是原子操作順序不可以被打亂,也不可以被切割而只執(zhí)行其中的一部分。通過將異常消息通過原子操作的方式寫入redis隊列中,能夠有效的提高分布式系統(tǒng)并發(fā)處理異常數(shù)據(jù)的效率。步驟s504,根據(jù)設(shè)定的周期,獲取當(dāng)前周期內(nèi)寫入redis隊列中的異常消息的集合,并將異常消息的集合發(fā)送至目標(biāo)用戶。例如:根據(jù)設(shè)定的周期1分鐘,獲取當(dāng)前周期1分鐘內(nèi)寫入redis隊列中的異常消息的集合,并將異常消息的集合發(fā)送至目標(biāo)用戶(例如:工程師),以供目標(biāo)用戶根據(jù)異常消息中的異常數(shù)據(jù)的發(fā)生時間,及異常數(shù)據(jù)在分布式系統(tǒng)中的位置進行定位,并對異常消息中的異常數(shù)據(jù)進行處理。又如:根據(jù)設(shè)定的周期5分鐘,獲取當(dāng)前周期5分鐘內(nèi)寫入redis隊列中的異常消息的集合,并將異常消息的集合以短信或郵件的形式發(fā)送至目標(biāo)用戶(例如:工程師),以供目標(biāo)用戶根據(jù)異常消息中的異常數(shù)據(jù)的發(fā)生時間,及異常數(shù)據(jù)在分布式j(luò)2ee系統(tǒng)中的位置進行定位,并對異常消息中的異常數(shù)據(jù)進行處理。本發(fā)明第五實施例所述的一種計算機可讀存儲介質(zhì),計算機可讀存儲介質(zhì)存儲有一個或者多個異常數(shù)據(jù)的獲取程序,通過異常數(shù)據(jù)的獲取程序能夠?qū)崟r對分布式系統(tǒng)中的異常數(shù)據(jù)進行實時采集,并對實時采集的異常數(shù)據(jù)進行并發(fā)處理;并將異常數(shù)據(jù)及時發(fā)送至目標(biāo)用戶,以供目標(biāo)用戶對異常數(shù)據(jù)進行及時處理。本發(fā)明第六實施例,一種計算機可讀存儲介質(zhì)。計算機存儲介質(zhì)可以是ram存儲器、閃存、rom存儲器、eprom存儲器、eeprom存儲器、寄存器、硬盤、移動硬盤、cd-rom或者本領(lǐng)域已知的任何其他形式的存儲介質(zhì)。計算機可讀存儲介質(zhì)存儲有一個或者多個程序,該一個或者多個程序可被一個或者多個處理器執(zhí)行,以實現(xiàn)以下步驟:步驟s601,實時獲取分布式系統(tǒng)中的異常數(shù)據(jù)??蛇x的,步驟s601,包括:通過分布式系統(tǒng)中預(yù)置的埋點實時獲取分布式系統(tǒng)中的異常數(shù)據(jù)。例如:如圖2所示,通過分布式j(luò)2ee系統(tǒng)中預(yù)置的埋點實時獲取分布式j(luò)2ee系統(tǒng)中頁面的異常數(shù)據(jù)的方式,包括:依次調(diào)用控制(controller)層、業(yè)務(wù)(service)層、數(shù)據(jù)訪問(dao)和數(shù)據(jù)庫(db,database)中預(yù)置的埋點實時獲取分布式j(luò)2ee系統(tǒng)中頁面的異常數(shù)據(jù),并將頁面中的異常數(shù)據(jù)依次通過數(shù)據(jù)庫(db,database)、數(shù)據(jù)訪問(dao)、業(yè)務(wù)(service)層和控制(controller)層上報至全局異常攔截器,以供定位錯誤頁面。步驟s602,基于預(yù)置的異常數(shù)據(jù)模型,實時對異常數(shù)據(jù)進行定位,得到異常數(shù)據(jù)的發(fā)生時間,及異常數(shù)據(jù)在分布式系統(tǒng)中的位置。其中,異常數(shù)據(jù)模型為根據(jù)分布式系統(tǒng)中的硬件和軟件,進行預(yù)先設(shè)計。異常數(shù)據(jù)模型包括但不限于:機器ip(internetprotocol,網(wǎng)絡(luò)之間互連的協(xié)議)地址、應(yīng)用服務(wù)器tomcat(apachetomcat,湯姆貓)端口、線程名稱、異常消息頭、異常堆棧的字符串形式和時間戳等。步驟s603,將異常消息寫入redis隊列中;異常消息包括:異常數(shù)據(jù),異常數(shù)據(jù)的發(fā)生時間,及異常數(shù)據(jù)在分布式系統(tǒng)中的位置。redis是一個開源的使用ansic語言編寫、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、key-value(鍵值)數(shù)據(jù)庫,并提供多種語言的api(applicationprogramminginterface,應(yīng)用程序編程接口)。ansic是由美國國家標(biāo)準(zhǔn)協(xié)會(ansi)及國際標(biāo)準(zhǔn)化組織(iso)推出的關(guān)于c語言的標(biāo)準(zhǔn)??蛇x的,步驟s603,包括:將異常消息通過原子操作的方式寫入redis隊列中;異常消息包括:異常數(shù)據(jù),異常數(shù)據(jù)的發(fā)生時間,及異常數(shù)據(jù)在分布式系統(tǒng)中的位置。其中,原子操作(atomicoperation)是指不會被線程調(diào)度機制打斷的操作;原子操作一旦開始,就一直運行到結(jié)束,中間不會有任何切換到另一個線程(contextswitch)。原子操作可以是一個步驟,也可以是多個操作步驟,但是原子操作順序不可以被打亂,也不可以被切割而只執(zhí)行其中的一部分。通過將異常消息通過原子操作的方式寫入redis隊列中,能夠有效的提高分布式系統(tǒng)并發(fā)處理異常數(shù)據(jù)的效率。步驟s604,根據(jù)設(shè)定的周期,獲取當(dāng)前周期內(nèi)寫入redis隊列中的異常消息的集合,并將異常消息的集合發(fā)送至目標(biāo)用戶??蛇x的,步驟s604,包括:根據(jù)設(shè)定的周期,獲取當(dāng)前周期內(nèi)寫入redis隊列中的異常消息的集合;基于哈希算法,對異常消息的集合中的所有異常消息進行去重,得到去重異常消息集合;將去重異常消息集合以設(shè)定格式發(fā)送至目標(biāo)用戶。可選的,步驟s604,包括:根據(jù)設(shè)定的周期,獲取當(dāng)前周期內(nèi)寫入redis隊列中的異常消息的集合;將異常消息的集合存儲至設(shè)定數(shù)據(jù)庫中;基于哈希算法,對異常消息的集合中的所有異常消息進行去重,得到去重異常消息集合;將去重異常消息集合以設(shè)定格式發(fā)送至目標(biāo)用戶??蛇x的,步驟s604,包括:根據(jù)設(shè)定的周期,獲取當(dāng)前周期內(nèi)寫入redis隊列中的異常消息的集合;基于預(yù)置的異常數(shù)據(jù)模型,根據(jù)預(yù)置的哈希函數(shù),計算異常消息的集合中的每個異常消息對應(yīng)的哈希值;基于每個異常消息對應(yīng)的哈希值,對異常消息的集合中的所有異常消息進行去重,得到去重異常消息集合;將去重異常消息集合以設(shè)定格式發(fā)送至目標(biāo)用戶??蛇x的,步驟s604,包括:根據(jù)設(shè)定的周期,獲取當(dāng)前周期內(nèi)寫入redis隊列中的異常消息的集合;根據(jù)預(yù)置的異常數(shù)據(jù)模型,將異常消息的集合中的每個異常消息設(shè)置為多個不同維度的異常維度數(shù)據(jù);根據(jù)預(yù)置的哈希函數(shù),計算異常消息的集合中的每個異常消息對應(yīng)的多個不同維度的異常維度數(shù)據(jù)的哈希值;根據(jù)預(yù)置的維度排序,將異常消息的集合中的每個異常消息對應(yīng)的多個不同維度的異常維度數(shù)據(jù)的哈希值進行拼接,得到異常消息的集合中的每個異常消息對應(yīng)的哈希值;基于每個異常消息對應(yīng)的哈希值,對異常消息的集合中的所有異常消息進行去重,得到去重異常消息集合;將去重異常消息集合以設(shè)定格式發(fā)送至目標(biāo)用戶。其中,將去重異常消息集合以設(shè)定格式發(fā)送至目標(biāo)用戶。將去重異常消息集合中的每個異常消息設(shè)置為設(shè)定格式的異常消息,得到格式化去重異常消息集合;將異常消息轉(zhuǎn)換為設(shè)定格式,包括:分別將異常消息中的異常數(shù)據(jù),異常數(shù)據(jù)的發(fā)生時間,及異常數(shù)據(jù)在分布式系統(tǒng)中的位置轉(zhuǎn)換為設(shè)定格式的格式化數(shù)據(jù)。例如:根據(jù)設(shè)定的周期1分鐘,獲取當(dāng)前周期內(nèi)1分鐘內(nèi)寫入redis隊列中的異常消息的集合;根據(jù)預(yù)置的異常數(shù)據(jù)模型,將異常消息的集合中的每個異常消息設(shè)置為5個不同維度的異常維度數(shù)據(jù);根據(jù)預(yù)置的哈希函數(shù),計算異常消息的集合中的每個異常消息對應(yīng)的5個不同維度的異常維度數(shù)據(jù)的哈希值;根據(jù)預(yù)置的維度排序,將異常消息的集合中的每個異常消息對應(yīng)的5個不同維度的異常維度數(shù)據(jù)的哈希值進行拼接,得到異常消息的集合中的每個異常消息對應(yīng)的哈希值;基于每個異常消息對應(yīng)的哈希值,對異常消息的集合中的所有異常消息進行去重,得到去重異常消息集合;將去重異常消息集合以設(shè)定格式發(fā)送至目標(biāo)用戶(例如:工程師),以供目標(biāo)用戶根據(jù)異常消息中的異常數(shù)據(jù)的發(fā)生時間,及異常數(shù)據(jù)在分布式j(luò)2ee系統(tǒng)中的位置進行定位,并對異常消息中的異常數(shù)據(jù)進行處理。本發(fā)明第六實施例所述的一種計算機可讀存儲介質(zhì),計算機可讀存儲介質(zhì)存儲有一個或者多個異常數(shù)據(jù)的獲取程序,通過異常數(shù)據(jù)的獲取程序能夠?qū)崟r對分布式系統(tǒng)中的異常數(shù)據(jù)進行實時采集,并對實時采集的異常數(shù)據(jù)進行并發(fā)處理;對異常數(shù)據(jù)進行去重,并周期性的將去重后的異常數(shù)據(jù)發(fā)送至目標(biāo)用戶,以供目標(biāo)用戶對異常數(shù)據(jù)進行快速處理,有效的減少了重復(fù)異常數(shù)據(jù)對工程師的干擾,提高了目標(biāo)用戶對異常數(shù)據(jù)的排查效率。需要說明的是,在本文中,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者裝置不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者裝置所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括該要素的過程、方法、物品或者裝置中還存在另外的相同要素。上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實施例方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺終端(可以是手機,計算機,服務(wù)器,空調(diào)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。上面結(jié)合附圖對本發(fā)明的實施例進行了描述,但是本發(fā)明并不局限于上述的具體實施方式,上述的具體實施方式僅僅是示意性的,而不是限制性的,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的啟示下,在不脫離本發(fā)明宗旨和權(quán)利要求所保護的范圍情況下,還可做出很多形式,這些均屬于本發(fā)明的保護之內(nèi)。當(dāng)前第1頁12當(dāng)前第1頁12