一種日志記錄方法、裝置及系統(tǒng)的制作方法
【技術領域】
[0001]本申請涉及數據處理技術領域,具體涉及一種日志記錄方法和裝置。本申請同時涉及一種業(yè)務處理的請求方法和裝置,以及一種日志記錄系統(tǒng)。
【背景技術】
[0002]企業(yè)級應用是指為商業(yè)組織、大型企業(yè)而創(chuàng)建并部署的解決方案及應用。隨著互聯(lián)網技術的不斷發(fā)展,當代的企業(yè)級應用不再是一個個相互獨立的系統(tǒng)。在企業(yè)中,一般都會部署多個彼此連接的、相互通過不同集成層次進行交互的企業(yè)級應用,同時這些應用又都有可能與其它企業(yè)的相關應用連接,從而構成一個結構復雜的、跨越Intranet和Internet的分布式企業(yè)應用群集。在這種系統(tǒng)架構下,要實現(xiàn)一個系統(tǒng)中的某個功能,可能需要多個系統(tǒng)相互配合才能完成。
[0003]在分布式企業(yè)應用群集中,各個系統(tǒng)產生的日志信息通常存儲在各自的前置服務器中。當一個系統(tǒng)接收到業(yè)務處理請求時,首先生成對應本次請求的事務處理標識符,通過在請求處理過程中將事務處理標識符傳遞至數據庫,實現(xiàn)系統(tǒng)內部從中間件到數據庫整個處理過程的一體化監(jiān)控,建立了前置服務器和數據庫具體處理邏輯的關聯(lián)關系。當該系統(tǒng)需要調用其它系統(tǒng)以完成業(yè)務處理請求時,其它系統(tǒng)將生成新的事務處理標識符??梢?,當一個業(yè)務處理請求在不同系統(tǒng)中逐級進行處理時,對于該請求而言,各個系統(tǒng)生成的事務處理標識符是不一致的,即:同一事務處理在不同系統(tǒng)中產生的日志信息之間不具有關聯(lián)性。
[0004]由于分布式企業(yè)應用群集的各個系統(tǒng)之間的耦合度較高,當一個系統(tǒng)出現(xiàn)的問題時,既可能是該系統(tǒng)本身的原因,還可能是其它關聯(lián)系統(tǒng)相互作用的結果。要判定哪一個系統(tǒng)是問題產生的根源,不僅需要從顯式發(fā)生問題的系統(tǒng)的前置服務器獲取與事務處理相關的日志信息,還需要登錄該系統(tǒng)所調用的其它系統(tǒng)的前置服務器中,獲取與該事務處理相關的其它相關系統(tǒng)的日志信息,將這些日志信息綜合起來進行問題分析,以確定問題出現(xiàn)的根源。
[0005]例如,A系統(tǒng)的一個功能在運行過程中出現(xiàn)運行緩慢的問題,假如A系統(tǒng)中該功能的實現(xiàn)需要調用B系統(tǒng)的b接口和C系統(tǒng)的c接口,而C系統(tǒng)的c接口的實現(xiàn)還需要調用D系統(tǒng)的d接口,那么當A系統(tǒng)出現(xiàn)運行緩慢的情況時,很可能是由于B、C或D三個系統(tǒng)提供的接口引起的。要分析上述不同系統(tǒng)間調用過程中出現(xiàn)的問題,需要維護人員將A、B、C、D四個系統(tǒng)的日志信息分別讀取出來,然后再對它們進行關聯(lián)分析。特別的,如果這些系統(tǒng)還是集群部署的,則要獲取一個事務處理相關的所有日志,就需要從B、C、D三個系統(tǒng)的所有前置服務中找到相關的日志信息。
[0006]然而,由于同一事務處理在不同系統(tǒng)中產生的日志信息之間不具有關聯(lián)性,使得很難獲取同一事務處理相關的各系統(tǒng)日志信息,更加無法定位到問題產生的根源。因此,現(xiàn)有技術存在同一事務處理在不同系統(tǒng)中產生的日志信息之間不具有關聯(lián)性的問題。
【發(fā)明內容】
[0007]本申請?zhí)峁┮环N日志記錄方法和裝置,以解決現(xiàn)有技術存在同一事務處理在不同系統(tǒng)中產生的日志信息之間不具有關聯(lián)性的問題。本申請另外提供一種業(yè)務處理的請求方法和裝置,以及一種日志記錄系統(tǒng)。
[0008]本申請?zhí)峁┮环N日志記錄方法,包括:
[0009]接收調用方發(fā)送的對應特定業(yè)務的業(yè)務處理請求;
[0010]將所述業(yè)務處理請求中包括的所述調用方預先生成的程序執(zhí)行標識符,作為與所述特定業(yè)務的本次執(zhí)行相對應的事務處理標識符;
[0011]執(zhí)行所述特定業(yè)務,并對應所述特定業(yè)務的本次執(zhí)行產生由所述事務處理標識符標識的業(yè)務處理日志信息。
[0012]可選的,所述執(zhí)行所述特定業(yè)務包括:
[0013]在執(zhí)行所述特定業(yè)務包括的子程序之前,為所述子程序的執(zhí)行生成對應所述子程序的程序執(zhí)行標識符;
[0014]執(zhí)行所述子程序,并對應所述子程序的執(zhí)行產生子程序起始執(zhí)行的日志信息和子程序終止執(zhí)行的日志信息;所述子程序起始執(zhí)行的日志信息和子程序終止執(zhí)行的日志信息由所述事務處理標識符和對應所述子程序的所述程序執(zhí)行標識符共同標識。
[0015]可選的,所述子程序的執(zhí)行需要調用下一級特定業(yè)務;
[0016]相應的,所述執(zhí)行所述子程序包括:
[0017]向執(zhí)行所述下一級特定業(yè)務的系統(tǒng)發(fā)送對應所述下一級特定業(yè)務的業(yè)務處理請求;所述下一級業(yè)務處理請求包括對應所述子程序的所述程序執(zhí)行標識符。
[0018]可選的,所述特定業(yè)務包括WebService應用程序。
[0019]可選的,所述業(yè)務處理請求包括的所述程序執(zhí)行標識符存儲在SOAP頭文件中。
[0020]可選的,在所述接收調用方發(fā)送的對應特定業(yè)務的業(yè)務處理請求之后,還包括:
[0021]驗證所述調用方是否有權請求所述特定業(yè)務。
[0022]可選的,在所述接收調用方發(fā)送的對應特定業(yè)務的業(yè)務處理請求之后,還包括:
[0023]從所述業(yè)務處理請求中獲取所述程序執(zhí)行標識符,并將其綁定到執(zhí)行所述特定業(yè)務的線程。
[0024]可選的,若所述業(yè)務處理請求中既未包括所述調用方的程序執(zhí)行標識符,也未包括調用方事務處理標識符,則在所述接收調用方發(fā)送的對應特定業(yè)務的業(yè)務處理請求之后,還包括:
[0025]為所述特定業(yè)務的執(zhí)行生成所述事務處理標識符。
[0026]可選的,所述事務處理標識符根據所述調用方的IP地址、所述事務處理標識符的生成時間以及所述業(yè)務處理請求的標識符的至少一者生成。
[0027]可選的,所述程序執(zhí)行標識符根據所述程序執(zhí)行標識符對應的程序的程序名和所述程序執(zhí)行標識符的生成時間生成。
[0028]相應的,本申請還提供一種日志記錄裝置,包括:
[0029]接收單元,用于接收調用方發(fā)送的對應特定業(yè)務的業(yè)務處理請求;
[0030]設置單元,用于將所述業(yè)務處理請求中包括的所述調用方預先生成的程序執(zhí)行標識符,作為與所述特定業(yè)務的本次執(zhí)行相對應的事務處理標識符;
[0031]執(zhí)行單元,用于執(zhí)行所述特定業(yè)務,并對應所述特定業(yè)務的本次執(zhí)行產生由所述事務處理標識符標識的業(yè)務處理日志信息。
[0032]可選的,所述執(zhí)行單元包括:
[0033]生成子單元,用于在執(zhí)行所述特定業(yè)務包括的子程序之前,為所述子程序的執(zhí)行生成對應所述子程序的程序執(zhí)行標識符;
[0034]子程序執(zhí)行子單元,用于執(zhí)行所述子程序,并對應所述子程序的執(zhí)行產生子程序起始執(zhí)行的日志信息和子程序終止執(zhí)行的日志信息;所述子程序起始執(zhí)行的日志信息和子程序終止執(zhí)行的日志信息由所述事務處理標識符和對應所述子程序的所述程序執(zhí)行標識符共同標識。
[0035]可選的,所述子程序的執(zhí)行需要調用下一級特定業(yè)務;
[0036]相應的,所述子程序執(zhí)行子單元包括:
[0037]請求子單元,用于向執(zhí)行所述下一級特定業(yè)務的系統(tǒng)發(fā)送對應所述下一級特定業(yè)務的業(yè)務處理請求;所述下一級業(yè)務處理請求包括對應所述子程序的所述程序執(zhí)行標識符。
[0038]可選的,還包括:
[0039]驗證單元,用于驗證所述調用方是否有權請求所述特定業(yè)務。
[0040]此外,本申請還提供一種業(yè)務處理的請求方法,包括:
[0041]為發(fā)送業(yè)務處理請求的程序生成程序執(zhí)行標識符;
[0042]向執(zhí)行第一特定業(yè)務的系統(tǒng)發(fā)送對應所述第一特定業(yè)務的所述業(yè)務處理請求;所述業(yè)務處理請求包括所述程序執(zhí)行標識符。
[0043]可選的,所述程序執(zhí)行標識符根據其對應的程序的程序名和所述程序執(zhí)行標識符的生成時間生成。
[0044]可選的,發(fā)送所述業(yè)務處理請求的程序所屬的特定業(yè)務為第二特定業(yè)務,所述方法還包括:
[0045]接收上一級調用方發(fā)送的對應所述第二特定業(yè)務的業(yè)務處理請求;
[0046]若所述對應所述第二特定業(yè)務的業(yè)務處理請求中既未包括所述上一級調用方預先生成的程序執(zhí)行標識符,也未包括所述上一級調用方預先生成的事務處理標識符,則為所述第二特定業(yè)務的執(zhí)行生成對應所述第二特定業(yè)務的事務處理標識符;
[0047]根據所述對應所述第二特定業(yè)務的業(yè)務處理請求執(zhí)行所述第二特定業(yè)務,并對應所述第二特定業(yè)務的本次執(zhí)行產生業(yè)務處理日志信息;所述業(yè)務處理日志信息由所述對應所述第二特定業(yè)務的事務處理標識符標識。
[0048]可選的,所述對應所述第二特定業(yè)務的事務處理標識符根據所述上一級調用方的IP地址、所述對應所述第二特定業(yè)務的事務處理標識符的生成時間以及所述對應所述第二特定業(yè)務的業(yè)務處理請求的標識符的至少一者生成。
[0049]可選的,所述第一特定業(yè)務包括WebService應用程序。
[0050]可選的,所述業(yè)務處理請求包括的所述程序執(zhí)行標識符存儲在SOAP頭文件中。
[0051]相應的,本申請還提供一種業(yè)務處理的請求裝置,包括:
[0052]第一生成單元,用于為發(fā)送業(yè)務處理請求的程序生成程序執(zhí)行標識符;
[0053]發(fā)送單元,用于向執(zhí)行第一特定業(yè)務的系統(tǒng)發(fā)送對應所述第一特定業(yè)務的所述業(yè)務處理請求;所述業(yè)務處理請求包括所述程序執(zhí)行標識符。
[0054]可選的,發(fā)送所述業(yè)