確定與特定業(yè)務(wù)相關(guān)的關(guān)聯(lián)日志的方法和裝置制造方法
【專利摘要】本申請涉及一種確定與特定業(yè)務(wù)相關(guān)的關(guān)聯(lián)日志的方法和裝置。該方法可以包括如下步驟:在特定業(yè)務(wù)被執(zhí)行期間產(chǎn)生與該特定業(yè)務(wù)相關(guān)的一個(gè)或多個(gè)鏈路,其中,所述特定業(yè)務(wù)具有一個(gè)或多個(gè)業(yè)務(wù)關(guān)鍵屬性;在針對與特定業(yè)務(wù)相關(guān)的每一個(gè)鏈路中,在被調(diào)用的一個(gè)或多個(gè)系統(tǒng)中相應(yīng)地生成一個(gè)或多個(gè)日志,其中,與相同鏈路相關(guān)的日志具有相同的標(biāo)識(shí),并且在每個(gè)鏈路中,至少一個(gè)日志包含所述一個(gè)或多個(gè)業(yè)務(wù)關(guān)鍵屬性中的至少一個(gè)業(yè)務(wù)關(guān)鍵屬性;以及基于所述標(biāo)識(shí)并且基于每個(gè)鏈路中的至少一個(gè)日志所包含的業(yè)務(wù)關(guān)鍵屬性,通過預(yù)定算法確定與所述特定業(yè)務(wù)相關(guān)的所有鏈路的關(guān)聯(lián)日志。利用本申請的方法和裝置,可以基于業(yè)務(wù)將關(guān)聯(lián)日志從海量日志中確定出來以進(jìn)行后續(xù)處理。
【專利說明】確定與特定業(yè)務(wù)相關(guān)的關(guān)聯(lián)日志的方法和裝置
【技術(shù)領(lǐng)域】
[0001]本申請涉及數(shù)據(jù)處理領(lǐng)域,更具體地涉及一種確定與特定業(yè)務(wù)相關(guān)的關(guān)聯(lián)日志的方法和裝置。
【背景技術(shù)】
[0002]在互聯(lián)網(wǎng)應(yīng)用中,每天都產(chǎn)生海量的數(shù)據(jù),其中包括產(chǎn)生的海量日志,單個(gè)業(yè)務(wù)的日志分散在各臺(tái)服務(wù)器上,每臺(tái)服務(wù)器上不同業(yè)務(wù)的日志都混在一起而位于同一個(gè)日志文件里。在這種對于日志文件沒有辦法按照業(yè)務(wù)而將日志分離出來的情況下,無法快速有效地對業(yè)務(wù)出錯(cuò)原因進(jìn)行排查。并且也無法將特定業(yè)務(wù)相關(guān)的日志進(jìn)行歷史記錄的比對。例如,系統(tǒng)A的維護(hù)者,在集成測試過程中,發(fā)現(xiàn)調(diào)用系統(tǒng)B拋出未知異常,只能去尋求系統(tǒng)B的維護(hù)者的幫助。隨后系統(tǒng)B發(fā)現(xiàn)異常是由系統(tǒng)C傳遞而來的,便又需要再去找系統(tǒng)C的維護(hù)者;最終發(fā)現(xiàn)異常是由系統(tǒng)D引起。于是線程上所有相關(guān)人員都被涉及,溝通成本巨大。現(xiàn)有方法由于采用人工的方式查找業(yè)務(wù)出錯(cuò)原因,效率很低,實(shí)施難度很大,往往一般的開發(fā)測試人員不具備這種能力。同時(shí),即使熟悉的調(diào)查問題人員,要整理出業(yè)務(wù)執(zhí)行路徑的歷史變化,也是非常困難的。
[0003]因此,需要一種數(shù)據(jù)處理的方法,通過該方法,可以從海量日志數(shù)據(jù)中確定與特定業(yè)務(wù)相關(guān)的關(guān)聯(lián)日志,也即是說,從海量日志數(shù)據(jù)中將與特定業(yè)務(wù)相關(guān)的關(guān)聯(lián)日志分離出來,從而能夠快遞有效地對業(yè)務(wù)出錯(cuò)原因進(jìn)行排查,而且可以對比歷史記錄,查看業(yè)務(wù)路徑的變化情況等等。
【發(fā)明內(nèi)容】
[0004]因此,本申請的目的在于提供一種確定與特定業(yè)務(wù)相關(guān)的關(guān)聯(lián)日志的方法和裝置,以克服上述缺陷。根據(jù)本申請一個(gè)方面的實(shí)施例,提供一種確定與特定業(yè)務(wù)相關(guān)的關(guān)聯(lián)日志的方法和裝置。
[0005]根據(jù)本申請一個(gè)方面的實(shí)施例,提供一種確定與特定業(yè)務(wù)相關(guān)的關(guān)聯(lián)日志的方法。該方法可以包括如下步驟:在特定業(yè)務(wù)被執(zhí)行期間產(chǎn)生與該特定業(yè)務(wù)相關(guān)的一個(gè)或多個(gè)鏈路,其中,所述特定業(yè)務(wù)具有一個(gè)或多個(gè)業(yè)務(wù)關(guān)鍵屬性;在針對與特定業(yè)務(wù)相關(guān)的每一個(gè)鏈路中,在被調(diào)用的一個(gè)或多個(gè)系統(tǒng)中相應(yīng)地生成一個(gè)或多個(gè)日志,其中,與相同鏈路相關(guān)的日志具有相同的標(biāo)識(shí),并且在每個(gè)鏈路中,至少一個(gè)日志包含所述一個(gè)或多個(gè)業(yè)務(wù)關(guān)鍵屬性中的至少一個(gè)業(yè)務(wù)關(guān)鍵屬性;以及基于所述標(biāo)識(shí)并且基于每個(gè)鏈路中的至少一個(gè)日志所包含的業(yè)務(wù)關(guān)鍵屬性,通過預(yù)定算法確定與所述特定業(yè)務(wù)相關(guān)的所有鏈路的關(guān)聯(lián)日
O
[0006]根據(jù)本申請的實(shí)施例,在該方法中所述預(yù)定算法可以是貪婪算法。
[0007]根據(jù)本申請的實(shí)施例,在該方法中,在被調(diào)用的一個(gè)或多個(gè)系統(tǒng)中生成一個(gè)或多個(gè)日志的步驟進(jìn)一步可以包括:針對每一個(gè)鏈路,在發(fā)起首次調(diào)用的系統(tǒng)中生成所述與鏈路相關(guān)的所述標(biāo)識(shí)。
[0008]根據(jù)本申請的實(shí)施例,在該方法中,在被調(diào)用的一個(gè)或多個(gè)系統(tǒng)中生成一個(gè)或多個(gè)日志的步驟可以進(jìn)一步包括:針對每一個(gè)鏈路,將在該鏈路的發(fā)起首次調(diào)用的系統(tǒng)中所生成的所述標(biāo)識(shí)向下一個(gè)被調(diào)用的系統(tǒng)傳送。
[0009]根據(jù)本申請的實(shí)施例,在該方法中,產(chǎn)生與該特定業(yè)務(wù)相關(guān)的一個(gè)或多個(gè)鏈路可以進(jìn)一步包括:同步地或異步地產(chǎn)生與該特定業(yè)務(wù)相關(guān)的一個(gè)或多個(gè)鏈路。
[0010]根據(jù)本申請的實(shí)施例,該方法可以進(jìn)一步包括:對與所述特定業(yè)務(wù)相關(guān)的所有鏈路的關(guān)聯(lián)日志進(jìn)行進(jìn)一步處理。
[0011]根據(jù)本申請的另一個(gè)方面的實(shí)施例,提供一種確定與特定業(yè)務(wù)相關(guān)的關(guān)聯(lián)日志的裝置。該裝置可以包括:一個(gè)或多個(gè)鏈路產(chǎn)生模塊,用于在特定業(yè)務(wù)被執(zhí)行期間產(chǎn)生與該特定業(yè)務(wù)相關(guān)的一個(gè)或多個(gè)鏈路,其中,所述特定業(yè)務(wù)具有一個(gè)或多個(gè)業(yè)務(wù)關(guān)鍵屬性;一個(gè)或多個(gè)日志生成模塊,用于在針對與特定業(yè)務(wù)相關(guān)的每一個(gè)鏈路中,在被調(diào)用的一個(gè)或多個(gè)系統(tǒng)中相應(yīng)地生成一個(gè)或多個(gè)日志,其中,與相同鏈路相關(guān)的日志具有相同的標(biāo)識(shí),并且在每個(gè)鏈路中,至少一個(gè)日志包含所述一個(gè)或多個(gè)業(yè)務(wù)關(guān)鍵屬性中的至少一個(gè)業(yè)務(wù)關(guān)鍵屬性;以及關(guān)聯(lián)日志確定模塊,用于基于所述標(biāo)識(shí)并且基于每個(gè)鏈路中的至少一個(gè)日志所包含的業(yè)務(wù)關(guān)鍵屬性,通過預(yù)定算法確定與所述特定業(yè)務(wù)相關(guān)的所有鏈路的關(guān)聯(lián)日志。
[0012]根據(jù)本申請的實(shí)施例,該裝置可以進(jìn)一步包括:標(biāo)識(shí)生成模塊,用于在每個(gè)鏈路首次調(diào)用的系統(tǒng)中生成日志的時(shí)候生成所述與鏈路相關(guān)的所述標(biāo)識(shí)。
[0013]根據(jù)本申請的實(shí)施例,該裝置可以進(jìn)一步包括:執(zhí)行模塊,用于對與所述特定業(yè)務(wù)相關(guān)的所有鏈路的關(guān)聯(lián)日志進(jìn)行進(jìn)一步處理。
[0014]與現(xiàn)有技術(shù)相比,根據(jù)本申請的技術(shù)方案,通過與特定業(yè)務(wù)相關(guān)的鏈路上的日志所帶的鏈路標(biāo)識(shí)以及特定業(yè)務(wù)的業(yè)務(wù)關(guān)鍵屬性,從而確定與特定業(yè)務(wù)相關(guān)的關(guān)聯(lián)日志,進(jìn)而優(yōu)化了海量日志的數(shù)據(jù)處理并從而能夠?qū)崿F(xiàn)與業(yè)務(wù)相關(guān)的關(guān)聯(lián)日志的管理和利用。
【專利附圖】
【附圖說明】
[0015]此處所說明的附圖用來提供對本申請的進(jìn)一步理解,構(gòu)成本申請的一部分,本申請的示意性實(shí)施例及其說明用于解釋本申請,并不構(gòu)成對本申請的不當(dāng)限定。在附圖中:
[0016]圖1示出了根據(jù)本申請實(shí)施例的確定與特定業(yè)務(wù)相關(guān)的關(guān)聯(lián)日志的方法的流程圖;以及
[0017]圖2示出了根據(jù)本申請實(shí)施例的確定與特定業(yè)務(wù)相關(guān)的關(guān)聯(lián)日志的裝置的框圖。
【具體實(shí)施方式】
[0018]本申請的主要思想在于,通過在調(diào)用時(shí)發(fā)送方系統(tǒng)和接收方系統(tǒng)共同維護(hù)一個(gè)唯一通訊標(biāo)識(shí),來關(guān)聯(lián)單次調(diào)用不同服務(wù)之間的鏈路;通過將一個(gè)鏈路上的本地線程日志的分離,來關(guān)聯(lián)單次調(diào)用的本機(jī)日志。通過業(yè)務(wù)關(guān)鍵屬性,將該業(yè)務(wù)的多次調(diào)用日志關(guān)聯(lián)起來。從而從業(yè)務(wù)角度對日志進(jìn)行了格式化分類,使調(diào)查業(yè)務(wù)人員可以在一個(gè)地方,看到本次業(yè)務(wù)在不同服務(wù)上的日志,并看到不同服務(wù)之間的調(diào)用時(shí)序圖,從而有助于快速定位錯(cuò)誤發(fā)生原因。
[0019]為使本申請的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本申請具體實(shí)施例及相應(yīng)的附圖對本申請技術(shù)方案進(jìn)行清楚、完整地描述。顯然,所描述的實(shí)施例僅是本申請一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾堉械膶?shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本申請保護(hù)的范圍。
[0020]參考圖1,圖1示出了根據(jù)本申請實(shí)施例的確定與特定業(yè)務(wù)相關(guān)的關(guān)聯(lián)日志的方法的流程圖。
[0021]在步驟101處,在特定業(yè)務(wù)被執(zhí)行期間產(chǎn)生與該特定業(yè)務(wù)相關(guān)的一個(gè)或多個(gè)鏈路,其中,所述特定業(yè)務(wù)具有一個(gè)或多個(gè)業(yè)務(wù)關(guān)鍵屬性。
[0022]舉例來說,在特定業(yè)務(wù)被執(zhí)行期間產(chǎn)生與該特定業(yè)務(wù)相關(guān)的一個(gè)或多個(gè)鏈路例如可以是用戶在一個(gè)支付網(wǎng)頁上通過執(zhí)行一個(gè)操作而引發(fā)的該支付網(wǎng)頁后臺(tái)的一系列線程的調(diào)用。而該業(yè)務(wù)可以包含多個(gè)業(yè)務(wù)屬性,其中的一些業(yè)務(wù)屬性無法將該業(yè)務(wù)與其他業(yè)務(wù)區(qū)分開來,這樣的屬性叫做業(yè)務(wù)非關(guān)鍵屬性;而其中另一些業(yè)務(wù)屬性可以將該業(yè)務(wù)與其他業(yè)務(wù)區(qū)分開來,這樣的屬性叫做業(yè)務(wù)關(guān)鍵屬性。本申請所關(guān)注的是該業(yè)務(wù)關(guān)鍵屬性。沿用上面的例子,該支付業(yè)務(wù)的業(yè)務(wù)關(guān)鍵屬性例如可以是交易號(hào),瀏覽器會(huì)話,訂單號(hào)等等。再例如,一個(gè)更通用的業(yè)務(wù)示例為登錄操作。用戶輸入用戶名和密碼并點(diǎn)擊登錄按鈕后所引發(fā)的后臺(tái)的一系列線程的調(diào)用。而該特定業(yè)務(wù)的業(yè)務(wù)關(guān)鍵屬性例如是用戶名、密碼、登錄操作時(shí)的瀏覽器會(huì)話等。在登錄這一特定業(yè)務(wù)被執(zhí)行期間產(chǎn)生了與該特定業(yè)務(wù)相關(guān)的一個(gè)或多個(gè)鏈路。而每個(gè)鏈路包含該鏈路所經(jīng)過的服務(wù)器上的相關(guān)線程。例如,登錄系統(tǒng)A可能需要知道密碼和用戶名是否一致,并且還需要知道執(zhí)行登錄操作的IP地址與以前的IP地址是否一致。這時(shí)候例如可能涉及兩個(gè)鏈路:一個(gè)鏈路可能調(diào)用密碼核查系統(tǒng)B,在該密碼核查系統(tǒng)B上的線程檢查密碼和用戶名是否一致;另一個(gè)鏈路可能調(diào)用IP地址管理系統(tǒng)C,在該IP地址管理系統(tǒng)C上的線程將檢查該用戶的登錄IP地點(diǎn)是否與以前一致。
[0023]應(yīng)當(dāng)理解,實(shí)際情形可能比上述示例復(fù)雜,例如實(shí)際鏈路更多,涉及的系統(tǒng)以及線程也更多,并且更多的系統(tǒng)涉及多個(gè)鏈路等等,但為了不模糊本申請,以上述兩個(gè)鏈路的示例為例來描述本申請。
[0024]在產(chǎn)生一個(gè)或多個(gè)鏈路之后,在步驟102處,在針對與特定業(yè)務(wù)相關(guān)的每一個(gè)鏈路中,在被調(diào)用的一個(gè)或多個(gè)系統(tǒng)中相應(yīng)地生成一個(gè)或多個(gè)日志,其中,與相同鏈路相關(guān)的日志具有相同的標(biāo)識(shí),并且在每個(gè)鏈路中,至少一個(gè)日志包含所述一個(gè)或多個(gè)業(yè)務(wù)關(guān)鍵屬性中的至少一個(gè)業(yè)務(wù)關(guān)鍵屬性。更具體地,被調(diào)用的系統(tǒng)可以是分布式系統(tǒng),從而,當(dāng)調(diào)用一個(gè)分布式系統(tǒng)時(shí),將可能涉及該分布式系統(tǒng)相關(guān)的一個(gè)或多個(gè)服務(wù)器,從而相應(yīng)地在該相關(guān)的一個(gè)或多個(gè)服務(wù)器上生成一個(gè)或多個(gè)日志。
[0025]根據(jù)本申請的實(shí)施例,在被調(diào)用的一個(gè)或多個(gè)系統(tǒng)中生成一個(gè)或多個(gè)日志的步驟可以進(jìn)一步包括:針對每一個(gè)鏈路,在發(fā)起首次調(diào)用的系統(tǒng)中生成所述與鏈路相關(guān)的所述標(biāo)識(shí)。
[0026]而且,在被調(diào)用的一個(gè)或多個(gè)系統(tǒng)中生成一個(gè)或多個(gè)日志的步驟可以進(jìn)一步包括:針對每一個(gè)鏈路,將在該鏈路的發(fā)起首次調(diào)用的系統(tǒng)中所生成的所述標(biāo)識(shí)向下一個(gè)被調(diào)用的系統(tǒng)傳送。
[0027]從而,與同一個(gè)鏈路相關(guān)的一個(gè)或多個(gè)日志都帶有相同的標(biāo)識(shí)。
[0028]具體而言,例如,在與特定業(yè)務(wù)相關(guān)的第一鏈路上的第一系統(tǒng)在調(diào)用第二系統(tǒng)時(shí)產(chǎn)生第一鏈路的第一標(biāo)識(shí)并向第二系統(tǒng)傳送;如果該第二系統(tǒng)還要調(diào)用第三系統(tǒng),則不會(huì)再產(chǎn)生標(biāo)識(shí),取而代之的是僅僅將該第一標(biāo)識(shí)向第三系統(tǒng)傳送。并且,在該第一鏈路中,在被調(diào)用的一個(gè)或多個(gè)系統(tǒng)(第一、第二以及第三系統(tǒng))中相應(yīng)地生成一個(gè)或多個(gè)日志,并且,第一鏈路上所涉及到的系統(tǒng)所產(chǎn)生的日志均帶著該第一標(biāo)識(shí)。應(yīng)該理解,在每一個(gè)鏈路上所涉及的系統(tǒng)可以是一個(gè)或多個(gè)系統(tǒng)。
[0029]同理,在與特定業(yè)務(wù)相關(guān)的第二鏈路上的第四系統(tǒng)在調(diào)用第五系統(tǒng)時(shí)產(chǎn)生第二鏈路的第二標(biāo)識(shí)并向第五系統(tǒng)傳送;如果該第五系統(tǒng)還要調(diào)用第六系統(tǒng),則不會(huì)再產(chǎn)生標(biāo)識(shí),取而代之的是僅僅將該第二標(biāo)識(shí)向第六系統(tǒng)傳送。并且,在該第二鏈路中,在被調(diào)用的一個(gè)或多個(gè)系統(tǒng)(第四、第五以及第六系統(tǒng))中相應(yīng)地生成一個(gè)或多個(gè)日志,并且,第二鏈路上所涉及到的系統(tǒng)所產(chǎn)生的日志均帶著該第二標(biāo)識(shí)。
[0030]也即是說,在相同鏈路上的日志具有相同的標(biāo)識(shí),并且,在每個(gè)鏈路中,至少一個(gè)日志包含所述一個(gè)或多個(gè)業(yè)務(wù)關(guān)鍵屬性中的至少一個(gè)業(yè)務(wù)關(guān)鍵屬性。
[0031]應(yīng)該理解,特定業(yè)務(wù)可以涉及一個(gè)或多個(gè)鏈路,并且在每一個(gè)鏈路上所涉及的系統(tǒng)可以是一個(gè)或多個(gè)系統(tǒng)。
[0032]應(yīng)當(dāng)指出,在某個(gè)特定業(yè)務(wù)執(zhí)行時(shí)與該業(yè)務(wù)相關(guān)的鏈路上,不同鏈路可能涉及相同的系統(tǒng)(例如上述登錄業(yè)務(wù)示例中的第一鏈路和第二現(xiàn)場都涉及登錄系統(tǒng)),也可能涉及不同的系統(tǒng)。
[0033]舉例來說,仍然以登錄業(yè)務(wù)為例,登錄系統(tǒng)A在調(diào)用密碼核查系統(tǒng)B時(shí)產(chǎn)生第一鏈路的第一標(biāo)識(shí),從而第一鏈路上所涉及到的系統(tǒng)所產(chǎn)生的日志均帶著該第一標(biāo)識(shí)。登錄系統(tǒng)A在調(diào)用IP地址核查系統(tǒng)C時(shí)產(chǎn)生第二鏈路的第二標(biāo)識(shí),從而第二鏈路上所涉及到的系統(tǒng)所產(chǎn)生的日志均帶著該第二標(biāo)識(shí)。并且在每一個(gè)鏈路上的日志中的至少一個(gè)日志包含所述一個(gè)或多個(gè)業(yè)務(wù)關(guān)鍵屬性中的至少一個(gè)業(yè)務(wù)關(guān)鍵屬性。例如,第一鏈路上的至少一個(gè)日志可能包含“密碼”屬性;第二鏈路上的至少一個(gè)日志可能包含“用戶名”屬性。諸如此類。
[0034]在產(chǎn)生帶有標(biāo)識(shí)的日志之后,在步驟103處,基于鏈路標(biāo)識(shí)并且基于每個(gè)鏈路中的至少一個(gè)日志所包含的業(yè)務(wù)關(guān)鍵屬性,通過預(yù)定算法確定與所述業(yè)務(wù)相關(guān)的所有鏈路的關(guān)聯(lián)日志。優(yōu)選地,所述預(yù)定算法是貪婪算法。
[0035]具體而言,基于鏈路標(biāo)識(shí),可以確定哪些日志屬于同一鏈路。例如,具有第一標(biāo)識(shí)的日志為第一鏈路的日志、具有第二表不的日志為第二鏈路的日志、具有第三標(biāo)識(shí)的日志為第三鏈路的日志。其中第一鏈路、第二鏈路與特定業(yè)務(wù)相關(guān),第三鏈路與特定業(yè)務(wù)無關(guān)。鏈路之間的相關(guān)性是這樣判斷的:需要確定與特定業(yè)務(wù)(即靠業(yè)務(wù)關(guān)鍵屬性區(qū)分的一個(gè)業(yè)務(wù))相關(guān)的鏈路,那么就獲取到了該特定業(yè)務(wù)的業(yè)務(wù)關(guān)鍵屬性I和它的值,基于該“第一個(gè)”業(yè)務(wù)關(guān)鍵屬性1,去比對其他鏈路,確定第一鏈路有該業(yè)務(wù)關(guān)鍵屬性I而且值與該特定業(yè)務(wù)的業(yè)務(wù)關(guān)鍵屬性I的值相等,因此確定第一鏈路與這個(gè)特定業(yè)務(wù)相關(guān)。然后第一鏈路的其他業(yè)務(wù)關(guān)鍵屬性及其值也被獲取出來(例如業(yè)務(wù)關(guān)鍵屬性2)(為了避免模糊或復(fù)雜化本申請的技術(shù)方案,將該示例進(jìn)行了簡化)。假設(shè)第二鏈路具有業(yè)務(wù)關(guān)鍵屬性2并且值也和第一鏈路的關(guān)鍵屬性2的值相等,那么確定第二鏈路也是和這個(gè)特定業(yè)務(wù)相關(guān)的,然后把第二屬性的其他業(yè)務(wù)關(guān)鍵屬性(例如業(yè)務(wù)關(guān)鍵屬性3)獲取出來,與屬性2,屬性I放在一起。假設(shè)第三個(gè)鏈路,具有業(yè)務(wù)關(guān)鍵屬性I但是值和上文的業(yè)務(wù)關(guān)鍵屬性I的不同,那么它就被認(rèn)為不是與該特定業(yè)務(wù)關(guān)聯(lián)的鏈路。然后,基于同一鏈路日志中所包含的業(yè)務(wù)關(guān)鍵屬性,通過預(yù)定算法確定與特定業(yè)務(wù)相關(guān)的第一和第二鏈路的關(guān)聯(lián)日志。例如,可以從系統(tǒng)全量日志中確定與特定業(yè)務(wù)相關(guān)的第一和第二鏈路的關(guān)聯(lián)日志。
[0036]例如,與第一業(yè)務(wù)相關(guān)的第一鏈路涉及第一標(biāo)識(shí)ID1,所涉及的第一系統(tǒng)包含兩個(gè)日志;第二系統(tǒng)包含兩個(gè)日志;第三系統(tǒng)包含三個(gè)日志;并且其中第二系統(tǒng)中的第二個(gè)日志包含業(yè)務(wù)關(guān)鍵屬性“密碼”,其中第三系統(tǒng)中的第一個(gè)日志包含業(yè)務(wù)關(guān)鍵屬性“用戶名”。例如,與第一業(yè)務(wù)相關(guān)的第二鏈路涉及第二標(biāo)識(shí)ID2,所涉及的第四系統(tǒng)包含三個(gè)日志;第五系統(tǒng)包含兩個(gè)日志;第六系統(tǒng)包含一個(gè)日志;并且其中第四系統(tǒng)中的第一個(gè)日志包含業(yè)務(wù)關(guān)鍵屬性“用戶名”和“IP地址”。例如,與第二業(yè)務(wù)相關(guān)的第三鏈路涉及第三標(biāo)識(shí)ID3,所涉及的第七系統(tǒng)包含一個(gè)日志;第八系統(tǒng)包含兩個(gè)日志;并且其中第八系統(tǒng)中的第一個(gè)日志包含業(yè)務(wù)關(guān)鍵屬性“訂單號(hào)”。
[0037]通過貪婪算法,可以將業(yè)務(wù)關(guān)鍵屬性“密碼”擴(kuò)展為“密碼” “用戶名”,“IP地址”。從而將具有擴(kuò)展后業(yè)務(wù)關(guān)鍵屬性的日志確定為與該特定業(yè)務(wù)相關(guān)的關(guān)聯(lián)日志。也即是說,將第一系統(tǒng)、第二系統(tǒng)以及第三系統(tǒng)上的帶有第一標(biāo)識(shí)IDl的日志和第四系統(tǒng)、第五系統(tǒng)以及第六系統(tǒng)上的帶有第二標(biāo)識(shí)ID2的日志確定為與該特定業(yè)務(wù)相關(guān)的關(guān)聯(lián)日志。而同時(shí)第七和第八系統(tǒng)上帶有標(biāo)識(shí)ID3的日志不被確定為與該特定業(yè)務(wù)相關(guān)的關(guān)聯(lián)日志。通過本申請的方法,可以確定與特定業(yè)務(wù)相關(guān)的關(guān)聯(lián)日志,從而將與特定業(yè)務(wù)相關(guān)的關(guān)聯(lián)日志從分集系統(tǒng)中各個(gè)系統(tǒng)中的海量日志中分離出來,以用于進(jìn)一步的處理。
[0038]將業(yè)務(wù)關(guān)鍵屬性進(jìn)行擴(kuò)展的算法或方式不限于貪婪算法。本申請也可以通過其他算法來將業(yè)務(wù)關(guān)鍵屬性進(jìn)行擴(kuò)展從而使得擴(kuò)展后的業(yè)務(wù)關(guān)鍵屬性集合與該特定業(yè)務(wù)相關(guān)。
[0039]根據(jù)本申請的實(shí)施例,生成與該特定業(yè)務(wù)相關(guān)的一個(gè)或多個(gè)鏈路進(jìn)一步可以包括:同步地或異步地生成與該特定業(yè)務(wù)相關(guān)的一個(gè)或多個(gè)鏈路。
[0040]例如,與第一業(yè)務(wù)相關(guān)的第一鏈路涉及第一標(biāo)識(shí)ID1,所涉及的第一系統(tǒng)包含兩個(gè)日志;第二系統(tǒng)包含兩個(gè)日志;第三系統(tǒng)包含三個(gè)日志;并且其中第二系統(tǒng)中的第二個(gè)日志包含業(yè)務(wù)關(guān)鍵屬性“密碼”,其中第三系統(tǒng)中的第一個(gè)日志包含業(yè)務(wù)關(guān)鍵屬性“用戶名”。此時(shí)第一鏈路所涉及的線程結(jié)束。第一鏈路的業(yè)務(wù)關(guān)鍵屬性為“密碼”和“用戶名”。過若干時(shí)間后,由第二系統(tǒng)發(fā)起第二鏈路涉及第二標(biāo)識(shí)ID2,所涉及的第二系統(tǒng)包含三個(gè)日志;第四系統(tǒng)包含一個(gè)日志;第五系統(tǒng)包含兩個(gè)日志;并且其中第三系統(tǒng)中的第一個(gè)日志包含業(yè)務(wù)關(guān)鍵屬性“交易號(hào)”,其中第五系統(tǒng)中的第一個(gè)日志包含業(yè)務(wù)關(guān)鍵屬性“用戶名”。此時(shí)第二鏈路的業(yè)務(wù)關(guān)鍵屬性為“用戶名”和“交易號(hào)”。此時(shí)如果第一鏈路的“用戶名”和第二鏈路的“用戶名”一致,則可以將這兩個(gè)鏈路的日志確定為與該特定業(yè)務(wù)相關(guān)的關(guān)聯(lián)日志。
[0041]至此,已經(jīng)描述了本申請實(shí)施例的確定與特定業(yè)務(wù)相關(guān)的關(guān)聯(lián)日志的方法。
[0042]根據(jù)本申請的實(shí)施例,還提供一種確定與特定業(yè)務(wù)相關(guān)的關(guān)聯(lián)日志的裝置200,如圖2所示,圖2為根據(jù)本申請實(shí)施例的確定與特定業(yè)務(wù)相關(guān)的關(guān)聯(lián)日志的裝置的框圖。該設(shè)備可以包括:鏈路產(chǎn)生模塊210、日志生成模塊220、以及關(guān)聯(lián)日志確定模塊230。
[0043]根據(jù)本申請實(shí)施例的裝置,一個(gè)或多個(gè)鏈路產(chǎn)生模塊210可以用于在特定業(yè)務(wù)被執(zhí)行期間產(chǎn)生與該特定業(yè)務(wù)相關(guān)的一個(gè)或多個(gè)鏈路,其中,所述特定業(yè)務(wù)具有一個(gè)或多個(gè)業(yè)務(wù)關(guān)鍵屬性。
[0044]并且,根據(jù)本申請實(shí)施例的裝置,一個(gè)或多個(gè)日志生成模塊220可以用于在針對與特定業(yè)務(wù)相關(guān)的每一個(gè)鏈路中,在被調(diào)用的一個(gè)或多個(gè)系統(tǒng)中相應(yīng)地生成一個(gè)或多個(gè)日志,其中,與相同鏈路相關(guān)的日志具有相同的標(biāo)識(shí),并且在每個(gè)鏈路中,至少一個(gè)日志包含所述一個(gè)或多個(gè)業(yè)務(wù)關(guān)鍵屬性中的至少一個(gè)業(yè)務(wù)關(guān)鍵屬性。
[0045]關(guān)聯(lián)日志確定模塊230可以用于基于所述標(biāo)識(shí)并且基于每個(gè)鏈路中的至少一個(gè)日志所包含的業(yè)務(wù)關(guān)鍵屬性,通過預(yù)定算法確定與所述特定業(yè)務(wù)相關(guān)的所有鏈路的關(guān)聯(lián)日志。其中,所述預(yù)定算法是貪婪算法。
[0046]根據(jù)本申請實(shí)施例的裝置,可以進(jìn)一步包括:標(biāo)識(shí)生成模塊,該模塊可以用于在每個(gè)鏈路首次調(diào)用的系統(tǒng)中生成日志的時(shí)候生成所述與鏈路相關(guān)的所述標(biāo)識(shí)。
[0047]根據(jù)本申請實(shí)施例的裝置,可以進(jìn)一步包括:執(zhí)行模塊,用于對與所述特定業(yè)務(wù)相關(guān)的所有鏈路的關(guān)聯(lián)日志進(jìn)行進(jìn)一步處理
[0048]由于本實(shí)施例的裝置所實(shí)現(xiàn)的功能基本相應(yīng)于前述圖1所示的方法實(shí)施例,故本實(shí)施例的描述中未詳盡之處,可以參見前述實(shí)施例中的相關(guān)說明,在此不做贅述。
[0049]在一個(gè)典型的配置中,計(jì)算設(shè)備包括一個(gè)或多個(gè)處理器(CPU)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。
[0050]內(nèi)存可能包括計(jì)算機(jī)可讀介質(zhì)中的非永久性存儲(chǔ)器,隨機(jī)存取存儲(chǔ)器(RAM)和/或非易失性內(nèi)存等形式,如只讀存儲(chǔ)器(ROM)或閃存(flashRAM)。內(nèi)存是計(jì)算機(jī)可讀介質(zhì)的示例。
[0051]計(jì)算機(jī)可讀介質(zhì)包括永久性和非永久性、可移動(dòng)和非可移動(dòng)媒體可以由任何方法或技術(shù)來實(shí)現(xiàn)信息存儲(chǔ)。信息可以是計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計(jì)算機(jī)的存儲(chǔ)介質(zhì)的例子包括,但不限于相變內(nèi)存(PRAM)、靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)、其他類型的隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、電可擦除可編程只讀存儲(chǔ)器(EEPROM)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲(chǔ)器(CD-ROM)、數(shù)字多功能光盤(DVD)或其他光學(xué)存儲(chǔ)、磁盒式磁帶,磁帶磁磁盤存儲(chǔ)或其他磁性存儲(chǔ)設(shè)備或任何其他非傳輸介質(zhì),可用于存儲(chǔ)可以被計(jì)算設(shè)備訪問的信息。按照本文中的界定,計(jì)算機(jī)可讀介質(zhì)不包括暫存電腦可讀媒體(transitory media),如調(diào)制的數(shù)據(jù)信號(hào)和載波。
[0052]還需要說明的是,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、商品或者設(shè)備中還存在另外的相同要素。
[0053]本領(lǐng)域技術(shù)人員應(yīng)明白,本申請的實(shí)施例可提供為方法、系統(tǒng)或計(jì)算機(jī)程序產(chǎn)品。因此,本申請可采用完全硬件實(shí)施例、完全軟件實(shí)施例或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
[0054]以上所述僅為本申請的實(shí)施例而已,并不用于限制本申請。對于本領(lǐng)域技術(shù)人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請的權(quán)利要求范圍之內(nèi)。
【權(quán)利要求】
1.一種確定與特定業(yè)務(wù)相關(guān)的關(guān)聯(lián)日志的方法,其特征在于,包括: 在特定業(yè)務(wù)被執(zhí)行期間產(chǎn)生與該特定業(yè)務(wù)相關(guān)的一個(gè)或多個(gè)鏈路,其中,所述特定業(yè)務(wù)具有一個(gè)或多個(gè)業(yè)務(wù)關(guān)鍵屬性; 在針對與特定業(yè)務(wù)相關(guān)的每一個(gè)鏈路中,在被調(diào)用的一個(gè)或多個(gè)系統(tǒng)中相應(yīng)地生成一個(gè)或多個(gè)日志,其中,與相同鏈路相關(guān)的日志具有相同的標(biāo)識(shí),并且在每個(gè)鏈路中,至少一個(gè)日志包含所述一個(gè)或多個(gè)業(yè)務(wù)關(guān)鍵屬性中的至少一個(gè)業(yè)務(wù)關(guān)鍵屬性;以及 基于所述標(biāo)識(shí)并且基于每個(gè)鏈路中的至少一個(gè)日志所包含的業(yè)務(wù)關(guān)鍵屬性,通過預(yù)定算法確定與所述特定業(yè)務(wù)相關(guān)的所有鏈路的關(guān)聯(lián)日志。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述預(yù)定算法是貪婪算法。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,在被調(diào)用的一個(gè)或多個(gè)系統(tǒng)中生成一個(gè)或多個(gè)日志的步驟進(jìn)一步包括:針對每一個(gè)鏈路,在發(fā)起首次調(diào)用的系統(tǒng)中生成所述與鏈路相關(guān)的所述標(biāo)識(shí)。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,在被調(diào)用的一個(gè)或多個(gè)系統(tǒng)中生成一個(gè)或多個(gè)日志的步驟進(jìn)一步包括:針對每一個(gè)鏈路,將在該鏈路的發(fā)起首次調(diào)用的系統(tǒng)中所生成的所述標(biāo)識(shí)向下一個(gè)被調(diào)用的系統(tǒng)傳送。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,產(chǎn)生與該特定業(yè)務(wù)相關(guān)的一個(gè)或多個(gè)鏈路進(jìn)一步包括:同步地或異步地產(chǎn)生與該特定業(yè)務(wù)相關(guān)的一個(gè)或多個(gè)鏈路。
6.根據(jù)權(quán)利要求1-4任一項(xiàng)所述的方法,進(jìn)一步包括:對與所述特定業(yè)務(wù)相關(guān)的所有鏈路的關(guān)聯(lián)日志進(jìn)行進(jìn)一步處理。
7.一種確定與特定業(yè)務(wù)相關(guān)的關(guān)聯(lián)日志的裝置,其特征在于,包括: 一個(gè)或多個(gè)鏈路產(chǎn)生模塊,用于在特定業(yè)務(wù)被執(zhí)行期間產(chǎn)生與該特定業(yè)務(wù)相關(guān)的一個(gè)或多個(gè)鏈路,其中,所述特定業(yè)務(wù)具有一個(gè)或多個(gè)業(yè)務(wù)關(guān)鍵屬性; 一個(gè)或多個(gè)日志生成模塊,用于在針對與特定業(yè)務(wù)相關(guān)的每一個(gè)鏈路中,在被調(diào)用的一個(gè)或多個(gè)系統(tǒng)中相應(yīng)地生成一個(gè)或多個(gè)日志,其中,與相同鏈路相關(guān)的日志具有相同的標(biāo)識(shí),并且在每個(gè)鏈路中,至少一個(gè)日志包含所述一個(gè)或多個(gè)業(yè)務(wù)關(guān)鍵屬性中的至少一個(gè)業(yè)務(wù)關(guān)鍵屬性;以及 關(guān)聯(lián)日志確定模塊,用于基于所述標(biāo)識(shí)并且基于每個(gè)鏈路中的至少一個(gè)日志所包含的業(yè)務(wù)關(guān)鍵屬性,通過預(yù)定算法確定與所述特定業(yè)務(wù)相關(guān)的所有鏈路的關(guān)聯(lián)日志。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述預(yù)定算法是貪婪算法。
9.根據(jù)權(quán)利要求7所述的裝置,其特征在于,進(jìn)一步包括:標(biāo)識(shí)生成模塊,用于在每個(gè)鏈路首次調(diào)用的系統(tǒng)中生成日志的時(shí)候生成所述與鏈路相關(guān)的所述標(biāo)識(shí)。
10.根據(jù)權(quán)利要求7-9任一項(xiàng)所述的裝置,進(jìn)一步包括:執(zhí)行模塊,用于對與所述特定業(yè)務(wù)相關(guān)的所有鏈路的關(guān)聯(lián)日志進(jìn)行進(jìn)一步處理。
【文檔編號(hào)】G06F17/30GK104346365SQ201310325577
【公開日】2015年2月11日 申請日期:2013年7月30日 優(yōu)先權(quán)日:2013年7月30日
【發(fā)明者】劉暉, 孫亦山, 李嘉鵬, 謝慧峰, 張永為 申請人:阿里巴巴集團(tuán)控股有限公司