• / 17
  • 下載費用:30 金幣  

一種日志記錄方法、裝置及系統.pdf

摘要
申請專利號:

CN201510649462.0

申請日:

2015.10.09

公開號:

CN105260292A

公開日:

2016.01.20

當前法律狀態:

授權

有效性:

有權

法律詳情: 授權|||實質審查的生效IPC(主分類):G06F 11/34申請日:20151009|||公開
IPC分類號: G06F11/34; G06F17/30 主分類號: G06F11/34
申請人: 中國人民財產保險股份有限公司
發明人: 于灝; 林涵
地址: 100022北京市朝陽區建國門外大街2號院2號樓
優先權:
專利代理機構: 北京市清華源律師事務所11441 代理人: 沈泳; 李贊堅
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201510649462.0

授權公告號:

||||||

法律狀態公告日:

2018.06.29|||2016.02.17|||2016.01.20

法律狀態類型:

授權|||實質審查的生效|||公開

摘要

本申請公開了一種提供的日志記錄方法和裝置、一種業務處理的請求方法和裝置以及一種日志記錄系統。其中所述日志記錄方法包括:接收調用方發送的對應特定業務的業務處理請求;將所述業務處理請求中包括的所述調用方預先生成的程序執行標識符,作為與所述特定業務的本次執行相對應的事務處理標識符;執行所述特定業務,并對應所述特定業務的本次執行產生由所述事務處理標識符標識的業務處理日志信息。采用本申請提供的方法,能夠將程序執行標識符作為調用方和被調用方之間同一事務處理的日志信息的關聯字段,從而在跨系統的事務處理中,方便的將同一事務處理相關的各系統日志信息關聯起來,從而便于跟蹤該事務處理過程中的各種問題。

權利要求書

1.一種日志記錄方法,其特征在于,包括:
接收調用方發送的對應特定業務的業務處理請求;
將所述業務處理請求中包括的所述調用方預先生成的程序執行標識符,作
為與所述特定業務的本次執行相對應的事務處理標識符;
執行所述特定業務,并對應所述特定業務的本次執行產生由所述事務處理
標識符標識的業務處理日志信息。
2.根據權利要求1所述的日志記錄方法,其特征在于,所述執行所述特定
業務包括:
在執行所述特定業務包括的子程序之前,為所述子程序的執行生成對應所
述子程序的程序執行標識符;
執行所述子程序,并對應所述子程序的執行產生子程序起始執行的日志信
息和子程序終止執行的日志信息;所述子程序起始執行的日志信息和子程序終
止執行的日志信息由所述事務處理標識符和對應所述子程序的所述程序執行標
識符共同標識。
3.根據權利要求2所述的日志記錄方法,其特征在于,所述子程序的執行
需要調用下一級特定業務;
相應的,所述執行所述子程序包括:
向執行所述下一級特定業務的系統發送對應所述下一級特定業務的業務處
理請求;所述下一級業務處理請求包括對應所述子程序的所述程序執行標識符。
4.根據權利要求1所述的日志記錄方法,其特征在于,所述特定業務包括
WebService應用程序。
5.根據權利要求4所述的日志記錄方法,其特征在于,所述業務處理請求
包括的所述程序執行標識符存儲在SOAP頭文件中。
6.根據權利要求1所述的日志記錄方法,其特征在于,在所述接收調用方
發送的對應特定業務的業務處理請求之后,還包括:
驗證所述調用方是否有權請求所述特定業務。
7.根據權利要求1所述的日志記錄方法,其特征在于,在所述接收調用方
發送的對應特定業務的業務處理請求之后,還包括:
從所述業務處理請求中獲取所述程序執行標識符,并將其綁定到執行所述
特定業務的線程。
8.根據權利要求1所述的日志記錄方法,其特征在于,若所述業務處理請
求中既未包括所述調用方的程序執行標識符,也未包括調用方事務處理標識符,
則在所述接收調用方發送的對應特定業務的業務處理請求之后,還包括:
為所述特定業務的執行生成所述事務處理標識符。
9.根據權利要求8所述的日志記錄方法,其特征在于,所述事務處理標識
符根據所述調用方的IP地址、所述事務處理標識符的生成時間以及所述業務處
理請求的標識符的至少一者生成。
10.根據權利要求1-9任意一項所述的日志記錄方法,其特征在于,所述程
序執行標識符根據所述程序執行標識符對應的程序的程序名和所述程序執行標
識符的生成時間生成。
11.一種日志記錄裝置,其特征在于,包括:
接收單元,用于接收調用方發送的對應特定業務的業務處理請求;
設置單元,用于將所述業務處理請求中包括的所述調用方預先生成的程序
執行標識符,作為與所述特定業務的本次執行相對應的事務處理標識符;
執行單元,用于執行所述特定業務,并對應所述特定業務的本次執行產生
由所述事務處理標識符標識的業務處理日志信息。
12.根據權利要求11所述的日志記錄裝置,其特征在于,所述執行單元包
括:
生成子單元,用于在執行所述特定業務包括的子程序之前,為所述子程序
的執行生成對應所述子程序的程序執行標識符;
子程序執行子單元,用于執行所述子程序,并對應所述子程序的執行產生
子程序起始執行的日志信息和子程序終止執行的日志信息;所述子程序起始執
行的日志信息和子程序終止執行的日志信息由所述事務處理標識符和對應所述
子程序的所述程序執行標識符共同標識。
13.根據權利要求12所述的日志記錄裝置,其特征在于,所述子程序的執
行需要調用下一級特定業務;
相應的,所述子程序執行子單元包括:
請求子單元,用于向執行所述下一級特定業務的系統發送對應所述下一級
特定業務的業務處理請求;所述下一級業務處理請求包括對應所述子程序的所
述程序執行標識符。
14.根據權利要求11所述的日志記錄裝置,其特征在于,還包括:
驗證單元,用于驗證所述調用方是否有權請求所述特定業務。
15.一種業務處理的請求方法,其特征在于,包括:
為發送業務處理請求的程序生成程序執行標識符;
向執行第一特定業務的系統發送對應所述第一特定業務的所述業務處理請
求;所述業務處理請求包括所述程序執行標識符。
16.根據權利要求15所述的業務處理的請求方法,其特征在于,所述程序
執行標識符根據其對應的程序的程序名和所述程序執行標識符的生成時間生
成。
17.根據權利要求15所述的業務處理的請求方法,其特征在于,發送所述
業務處理請求的程序所屬的特定業務為第二特定業務,所述方法還包括:
接收上一級調用方發送的對應所述第二特定業務的業務處理請求;
若所述對應所述第二特定業務的業務處理請求中既未包括所述上一級調用
方預先生成的程序執行標識符,也未包括所述上一級調用方預先生成的事務處
理標識符,則為所述第二特定業務的執行生成對應所述第二特定業務的事務處
理標識符;
根據所述對應所述第二特定業務的業務處理請求執行所述第二特定業務,
并對應所述第二特定業務的本次執行產生業務處理日志信息;所述業務處理日
志信息由所述對應所述第二特定業務的事務處理標識符標識。
18.根據權利要求17所述的業務處理的請求方法,其特征在于,所述對應
所述第二特定業務的事務處理標識符根據所述上一級調用方的IP地址、所述對
應所述第二特定業務的事務處理標識符的生成時間以及所述對應所述第二特定
業務的業務處理請求的標識符的至少一者生成。
19.根據權利要求15所述的業務處理的請求方法,其特征在于,所述第一
特定業務包括WebService應用程序。
20.根據權利要求19所述的業務處理的請求方法,其特征在于,所述業務
處理請求包括的所述程序執行標識符存儲在SOAP頭文件中。
21.一種業務處理的請求裝置,其特征在于,包括:
第一生成單元,用于為發送業務處理請求的程序生成程序執行標識符;
發送單元,用于向執行第一特定業務的系統發送對應所述第一特定業務的
所述業務處理請求;所述業務處理請求包括所述程序執行標識符。
22.根據權利要求21所述的業務處理的請求裝置,其特征在于,發送所述
業務處理請求的程序所屬的特定業務為第二特定業務,所述裝置還包括:
接收單元,用于接收上一級調用方發送的對應所述第二特定業務的業務處
理請求;
第二生成單元,用于若所述對應所述第二特定業務的業務處理請求中既未
包括所述上一級調用方預先生成的程序執行標識符,也未包括所述上一級調用
方預先生成的事務處理標識符,則為所述第二特定業務的執行生成對應所述第
二特定業務的事務處理標識符;
執行單元,用于根據所述對應所述第二特定業務的業務處理請求執行所述
第二特定業務,并對應所述第二特定業務的本次執行產生業務處理日志信息;
所述業務處理日志信息由所述對應所述第二特定業務的事務處理標識符標識。
23.一種日志記錄系統,其特征在于,包括:根據上述權利要求11所述的
日志記錄裝置;以及根據權利要求21所述的業務處理的請求裝置。

說明書

一種日志記錄方法、裝置及系統

技術領域

本申請涉及數據處理技術領域,具體涉及一種日志記錄方法和裝置。本申
請同時涉及一種業務處理的請求方法和裝置,以及一種日志記錄系統。

背景技術

企業級應用是指為商業組織、大型企業而創建并部署的解決方案及應用。
隨著互聯網技術的不斷發展,當代的企業級應用不再是一個個相互獨立的系統。
在企業中,一般都會部署多個彼此連接的、相互通過不同集成層次進行交互的
企業級應用,同時這些應用又都有可能與其它企業的相關應用連接,從而構成
一個結構復雜的、跨越Intranet和Internet的分布式企業應用群集。在這種系統
架構下,要實現一個系統中的某個功能,可能需要多個系統相互配合才能完成。

在分布式企業應用群集中,各個系統產生的日志信息通常存儲在各自的前
置服務器中。當一個系統接收到業務處理請求時,首先生成對應本次請求的事
務處理標識符,通過在請求處理過程中將事務處理標識符傳遞至數據庫,實現
系統內部從中間件到數據庫整個處理過程的一體化監控,建立了前置服務器和
數據庫具體處理邏輯的關聯關系。當該系統需要調用其它系統以完成業務處理
請求時,其它系統將生成新的事務處理標識符。可見,當一個業務處理請求在
不同系統中逐級進行處理時,對于該請求而言,各個系統生成的事務處理標識
符是不一致的,即:同一事務處理在不同系統中產生的日志信息之間不具有關
聯性。

由于分布式企業應用群集的各個系統之間的耦合度較高,當一個系統出現
的問題時,既可能是該系統本身的原因,還可能是其它關聯系統相互作用的結
果。要判定哪一個系統是問題產生的根源,不僅需要從顯式發生問題的系統的
前置服務器獲取與事務處理相關的日志信息,還需要登錄該系統所調用的其它
系統的前置服務器中,獲取與該事務處理相關的其它相關系統的日志信息,將
這些日志信息綜合起來進行問題分析,以確定問題出現的根源。

例如,A系統的一個功能在運行過程中出現運行緩慢的問題,假如A系統
中該功能的實現需要調用B系統的b接口和C系統的c接口,而C系統的c接
口的實現還需要調用D系統的d接口,那么當A系統出現運行緩慢的情況時,
很可能是由于B、C或D三個系統提供的接口引起的。要分析上述不同系統間
調用過程中出現的問題,需要維護人員將A、B、C、D四個系統的日志信息分
別讀取出來,然后再對它們進行關聯分析。特別的,如果這些系統還是集群部
署的,則要獲取一個事務處理相關的所有日志,就需要從B、C、D三個系統的
所有前置服務中找到相關的日志信息。

然而,由于同一事務處理在不同系統中產生的日志信息之間不具有關聯性,
使得很難獲取同一事務處理相關的各系統日志信息,更加無法定位到問題產生
的根源。因此,現有技術存在同一事務處理在不同系統中產生的日志信息之間
不具有關聯性的問題。

發明內容

本申請提供一種日志記錄方法和裝置,以解決現有技術存在同一事務處理
在不同系統中產生的日志信息之間不具有關聯性的問題。本申請另外提供一種
業務處理的請求方法和裝置,以及一種日志記錄系統。

本申請提供一種日志記錄方法,包括:

接收調用方發送的對應特定業務的業務處理請求;

將所述業務處理請求中包括的所述調用方預先生成的程序執行標識符,作
為與所述特定業務的本次執行相對應的事務處理標識符;

執行所述特定業務,并對應所述特定業務的本次執行產生由所述事務處理
標識符標識的業務處理日志信息。

可選的,所述執行所述特定業務包括:

在執行所述特定業務包括的子程序之前,為所述子程序的執行生成對應所
述子程序的程序執行標識符;

執行所述子程序,并對應所述子程序的執行產生子程序起始執行的日志信
息和子程序終止執行的日志信息;所述子程序起始執行的日志信息和子程序終
止執行的日志信息由所述事務處理標識符和對應所述子程序的所述程序執行標
識符共同標識。

可選的,所述子程序的執行需要調用下一級特定業務;

相應的,所述執行所述子程序包括:

向執行所述下一級特定業務的系統發送對應所述下一級特定業務的業務處
理請求;所述下一級業務處理請求包括對應所述子程序的所述程序執行標識符。

可選的,所述特定業務包括WebService應用程序。

可選的,所述業務處理請求包括的所述程序執行標識符存儲在SOAP頭文
件中。

可選的,在所述接收調用方發送的對應特定業務的業務處理請求之后,還
包括:

驗證所述調用方是否有權請求所述特定業務。

可選的,在所述接收調用方發送的對應特定業務的業務處理請求之后,還
包括:

從所述業務處理請求中獲取所述程序執行標識符,并將其綁定到執行所述
特定業務的線程。

可選的,若所述業務處理請求中既未包括所述調用方的程序執行標識符,
也未包括調用方事務處理標識符,則在所述接收調用方發送的對應特定業務的
業務處理請求之后,還包括:

為所述特定業務的執行生成所述事務處理標識符。

可選的,所述事務處理標識符根據所述調用方的IP地址、所述事務處理標
識符的生成時間以及所述業務處理請求的標識符的至少一者生成。

可選的,所述程序執行標識符根據所述程序執行標識符對應的程序的程序
名和所述程序執行標識符的生成時間生成。

相應的,本申請還提供一種日志記錄裝置,包括:

接收單元,用于接收調用方發送的對應特定業務的業務處理請求;

設置單元,用于將所述業務處理請求中包括的所述調用方預先生成的程序
執行標識符,作為與所述特定業務的本次執行相對應的事務處理標識符;

執行單元,用于執行所述特定業務,并對應所述特定業務的本次執行產生
由所述事務處理標識符標識的業務處理日志信息。

可選的,所述執行單元包括:

生成子單元,用于在執行所述特定業務包括的子程序之前,為所述子程序
的執行生成對應所述子程序的程序執行標識符;

子程序執行子單元,用于執行所述子程序,并對應所述子程序的執行產生
子程序起始執行的日志信息和子程序終止執行的日志信息;所述子程序起始執
行的日志信息和子程序終止執行的日志信息由所述事務處理標識符和對應所述
子程序的所述程序執行標識符共同標識。

可選的,所述子程序的執行需要調用下一級特定業務;

相應的,所述子程序執行子單元包括:

請求子單元,用于向執行所述下一級特定業務的系統發送對應所述下一級
特定業務的業務處理請求;所述下一級業務處理請求包括對應所述子程序的所
述程序執行標識符。

可選的,還包括:

驗證單元,用于驗證所述調用方是否有權請求所述特定業務。

此外,本申請還提供一種業務處理的請求方法,包括:

為發送業務處理請求的程序生成程序執行標識符;

向執行第一特定業務的系統發送對應所述第一特定業務的所述業務處理請
求;所述業務處理請求包括所述程序執行標識符。

可選的,所述程序執行標識符根據其對應的程序的程序名和所述程序執行
標識符的生成時間生成。

可選的,發送所述業務處理請求的程序所屬的特定業務為第二特定業務,
所述方法還包括:

接收上一級調用方發送的對應所述第二特定業務的業務處理請求;

若所述對應所述第二特定業務的業務處理請求中既未包括所述上一級調用
方預先生成的程序執行標識符,也未包括所述上一級調用方預先生成的事務處
理標識符,則為所述第二特定業務的執行生成對應所述第二特定業務的事務處
理標識符;

根據所述對應所述第二特定業務的業務處理請求執行所述第二特定業務,
并對應所述第二特定業務的本次執行產生業務處理日志信息;所述業務處理日
志信息由所述對應所述第二特定業務的事務處理標識符標識。

可選的,所述對應所述第二特定業務的事務處理標識符根據所述上一級調
用方的IP地址、所述對應所述第二特定業務的事務處理標識符的生成時間以及
所述對應所述第二特定業務的業務處理請求的標識符的至少一者生成。

可選的,所述第一特定業務包括WebService應用程序。

可選的,所述業務處理請求包括的所述程序執行標識符存儲在SOAP頭文
件中。

相應的,本申請還提供一種業務處理的請求裝置,包括:

第一生成單元,用于為發送業務處理請求的程序生成程序執行標識符;

發送單元,用于向執行第一特定業務的系統發送對應所述第一特定業務的
所述業務處理請求;所述業務處理請求包括所述程序執行標識符。

可選的,發送所述業務處理請求的程序所屬的特定業務為第二特定業務,
所述裝置還包括:

接收單元,用于接收上一級調用方發送的對應所述第二特定業務的業務處
理請求;

第二生成單元,用于若所述對應所述第二特定業務的業務處理請求中既未
包括所述上一級調用方預先生成的程序執行標識符,也未包括所述上一級調用
方預先生成的事務處理標識符,則為所述第二特定業務的執行生成對應所述第
二特定業務的事務處理標識符;

執行單元,用于根據所述對應所述第二特定業務的業務處理請求執行所述
第二特定業務,并對應所述第二特定業務的本次執行產生業務處理日志信息;
所述業務處理日志信息由所述對應所述第二特定業務的事務處理標識符標識。

此外,本申請還提供一種日志記錄系統,包括:根據上述任一項所述的日
志記錄裝置、以及任一項所述的業務處理的請求裝置。

本申請還提供一種……。

與現有技術相比,本申請具有以下優點:

本申請提供的日志記錄方法、業務處理的請求方法、以及相應裝置和系統,
通過接收調用方發送的對應特定業務的業務處理請求,并將業務處理請求中包
括的調用方預先生成的程序執行標識符作為與特定業務的本次執行相對應的事
務處理標識符;在執行特定業務時,對應特定業務的本次執行產生由事務處理
標識符標識的業務處理日志信息,使得能夠將程序執行標識符作為調用方和被
調用方之間同一事務處理的日志信息的關聯字段,從而在跨系統的事務處理中,
方便的將同一事務處理相關的各系統日志信息關聯起來,從而便于跟蹤該事務
處理過程中的各種問題。

附圖說明

圖1是本申請的日志記錄方法實施例的流程圖;

圖2是本申請的日志記錄裝置實施例的數據流圖;

圖3是本申請的日志記錄裝置實施例的示意圖;

圖4是本申請的業務處理的請求方法實施例的流程圖;

圖5是本申請的業務處理的請求裝置實施例的示意圖;

圖6是本申請的日志記錄系統實施例的示意圖。

具體實施方式

在下面的描述中闡述了很多具體細節以便于充分理解本申請。但是本申請
能夠以很多不同于在此描述的其它方式來實施,本領域技術人員可以在不違背
本申請內涵的情況下做類似推廣,因此本申請不受下面公開的具體實施的限制。

在本申請中,提供了一種日志記錄方法和裝置、一種業務處理的請求方法
和裝置、以及一種日志記錄系統。在下面的實施例中逐一進行詳細說明。

本申請提供的日志記錄方法,其核心的基本思想為:調用方和被調用方之
間同一事務處理的日志信息均采用調用方的程序執行標識符進行標識,使得不
同系統的同一事務處理的相關日志信息之間能夠產生關聯。

請參考圖1,其為本申請的日志記錄方法實施例的流程圖。所述方法包括如
下步驟:

步驟S101:接收調用方發送的對應特定業務的業務處理請求。

本申請實施例所述的調用方包括第三方應用。所述的第三方應用是指,將
接收業務處理請求的互聯網應用程序作為其部分功能的某種軟件或應用,第三
方應用可以是由非互聯網應用程序編制方的其他組織或個人開發的相關軟件。

本申請實施例所述的特定業務包括互聯網應用程序,例如:用于開發分布
式的互操作的Webservice應用程序。第三方應用通過網絡套接字向運行特定業
務的系統發送業務處理請求。

本申請實施例所述的業務處理請求包括調用方預先生成的程序執行標識
符。本申請實施例所述的程序執行標識符是指,第三方應用在發送業務處理請
求之前、根據發送業務處理請求的具體程序的程序名和生成程序執行標識符的
時間所生成的標識符。在實際應用中,發送業務處理請求的具體程序既可以為
第三方應用本身,也可為第三方應用包括的各級子程序。如果由第三方應用本
身發送業務處理請求,則業務處理請求中的程序執行標識符為與第三方應用的
本次執行所對應的事務處理標識符;如果由第三方應用包括的各級子程序發送
業務處理請求,則首先需要為該子程序生成與其本次執行所對應的程序執行標
識符,并將該程序執行標識符記錄到業務處理請求中。

需要注意的是,當第三方應用的同一子程序在同一事務中多次調用特定業
務時,每一次調用均會產生新的程序執行標識符,即:程序執行標識符與子程
序的每次執行相對應。

在本實施例中,特定業務為Webservice應用程序。為了盡量少的修改特定
業務的現有業務邏輯,本申請實施例結合Webservice的soaphead技術,將業務
處理請求包括的程序執行標識符存儲在SOAP頭文件中進行傳遞,由此使得在
不同系統進行集成時,僅需對調用方做較少的調整。

此外,為了使得特定業務在執行過程中易于讀取業務處理請求中的程序執
行標識符,本申請實施例在接收調用方發送的對應特定業務的業務處理請求之
后,結合Java的ThreadLocal技術,將從業務處理請求中獲取的程序執行標識符
綁定到執行特定業務的線程。

在實際應用中,為了避免非授權的調用方非法調用特定業務,本申請實施
例在接收調用方發送的對應特定業務的業務處理請求之后,還結合了Java的過
濾器(filter)技術,通過過濾器驗證調用方是否有權請求特定業務。

步驟S103:將所述業務處理請求中包括的所述調用方預先生成的程序執行
標識符,作為與所述特定業務的本次執行相對應的事務處理標識符。

通過步驟S101接收到對應特定業務的業務處理請求后,就進入到步驟S103,
將業務處理請求中調用方的程序執行標識符作為與特定業務的本次執行相對應
的事務處理標識符,從而在兩個系統間建立關聯。

在實際應用中,若調用方發送的業務處理請求中既未包括調用方子程序的
程序執行標識符,也未包括調用方特定業務的事務處理標識符,則在接收調用
方發送的對應特定業務的業務處理請求之后,還包括:為所述特定業務的執行
生成所述事務處理標識符。

例如,調用方為客戶端,當客戶端用戶通過瀏覽器向運行特定業務的系統
發送業務處理請求時,業務處理請求中并不包括調用方的程序執行標識符或事
務處理標識符,這種情況表示一個新的事務處理剛剛開始,此時需要為特定業
務的本次執行生成事務處理標識符。具體的,新生成的事務處理標識符根據調
用方的IP地址、事務處理標識符的生成時間以及業務處理請求的標識符(即:
requestId)的至少一者生成。

步驟S105:執行所述特定業務,并對應所述特定業務的本次執行產生由所
述事務處理標識符標識的業務處理日志信息。

通過步驟S103獲取到特定業務的本次執行所對應的事務處理標識符后,就
可以開始執行特定業務,并且由該事務處理標識符標識執行過程中產生的業務
處理日志信息。例如,A系統的特定業務A的子程序a在執行過程中需要調用
B系統的特定業務B,特定業務B在執行過程中所產生的日志信息由為子程序a
的本次執行所生成的程序執行標識符(如:XA)進行標識,特定業務B的日志
信息格式如下:事務處理標識符(XA),日志生成時間,日志信息描述等。

在本實施例中,特定業務包括子程序,為了對子程序的執行情況進行監測,
并且為了能夠在該特定業務與下一級特定業務的日志信息之間建立關聯,本申
請實施例在執行特定業務時,還包括:1)在執行所述特定業務包括的子程序之
前,為所述子程序的執行生成對應所述子程序的程序執行標識符;2)執行所述
子程序,并對應所述子程序的執行產生子程序起始執行的日志信息和子程序終
止執行的日志信息。

1)在執行所述特定業務包括的子程序之前,為所述子程序的執行生成對應
所述子程序的程序執行標識符。

通過為特定業務中子程序的執行生成程序執行標識符,使得當該子程序需
要調用下一級特定業務時,能夠將該程序執行標識符存儲到對下一級特定業務
的業務處理請求中,同時下一級特定業務將該程序執行標識符作為該下一級特
定業務的事務處理標識符,由此不僅能夠實現在該特定業務與下一級特定業務
的日志信息之間建立關聯,還能夠在系統發生問題時,直接定位到問題產生的
根源,即:直接定位到子程序一級的問題根源。

2)執行所述子程序,并對應所述子程序的執行產生子程序起始執行的日志
信息和子程序終止執行的日志信息。

為子程序的執行生成程序執行標識符之后,由特定業務的事務處理標識符
和該子程序的程序執行標識符共同標識子程序執行過程中所產生的子程序的日
志信息。本申請實施例所產生的子程序的日志信息包括:子程序起始執行的日
志信息和子程序終止執行的日志信息。通過記錄子程序起始執行的日志信息和
子程序終止執行的日志信息,能夠獲取到該子程序的執行情況,由此判斷該子
程序在運行過程中是否存在異常。

請參看圖2,其為本申請的日志記錄方法實施例的數據流圖。在本實施例中,
利用Spring框架的AOP技術實現特定業務的子程序日志信息的記錄。一方面,
在每執行特定業務的一個子程序之前,AOP攔截層首先從ThreadLocal中讀取特
定業務的事務處理標識符,并生成要執行的子程序的程序執行標識符,同時記
錄下子程序起始執行的日志信息,格式如下:事務處理標識符(XA),程序執
行標識符(如xa),日志生成時間,日志信息描述等。另一方面,在每執行特定
業務的一個子程序之后,AOP攔截層還將記錄下子程序終止執行的日志信息,
格式如下:事務處理標識符(XA),程序執行標識符(如xa),日志生成時間,
日志信息描述等;同時,還將清除與子程序的本次執行相對應的程序執行標識
符,即:程序執行標識符的適用范圍僅為子程序的本次執行過程。

在實際應用中,如果子程序的執行需要調用下一級特定業務;相應的,所
述執行所述子程序包括:向執行所述下一級特定業務的系統發送對應所述下一
級特定業務的業務處理請求;所述下一級業務處理請求包括對應所述子程序的
所述程序執行標識符。

在上述的實施例中,提供了一種日志記錄方法,與之相對應的,本申請還
提供一種日志記錄裝置。該裝置是與上述方法的實施例相對應。

請參看圖3,其為本申請的日志記錄裝置實施例的示意圖。由于裝置實施例
基本相似于方法實施例,所以描述得比較簡單,相關之處參見方法實施例的部
分說明即可。下述描述的裝置實施例僅僅是示意性的。

本實施例的一種日志記錄裝置,包括:

接收單元301,用于接收調用方發送的對應特定業務的業務處理請求;

設置單元303,用于將所述業務處理請求中包括的所述調用方預先生成的程
序執行標識符,作為與所述特定業務的本次執行相對應的事務處理標識符;

執行單元305,用于執行所述特定業務,并對應所述特定業務的本次執行產
生由所述事務處理標識符標識的業務處理日志信息。

可選的,所述執行單元305包括:

生成子單元,用于在執行所述特定業務包括的子程序之前,為所述子程序
的執行生成對應所述子程序的程序執行標識符;

子程序執行子單元,用于執行所述子程序,并對應所述子程序的執行產生
子程序起始執行的日志信息和子程序終止執行的日志信息;所述子程序起始執
行的日志信息和子程序終止執行的日志信息由所述事務處理標識符和對應所述
子程序的所述程序執行標識符共同標識。

可選的,所述子程序的執行需要調用下一級特定業務;

相應的,所述子程序執行子單元包括:

請求子單元,用于向執行所述下一級特定業務的系統發送對應所述下一級
特定業務的業務處理請求;所述下一級業務處理請求包括對應所述子程序的所
述程序執行標識符。

可選的,還包括:

驗證單元,用于驗證所述調用方是否有權請求所述特定業務。

與上述的日志記錄方法相對應,本申請還提供一種業務處理的請求方法。
請參考圖4,其為本申請提供的一種業務處理的請求方法的實施例的流程示意
圖,本實施例與第一實施例內容相同的部分不再贅述,請參見實施例一中的相
應部分。本申請提供的一種業務處理的請求方法包括:

步驟S301:為發送業務處理請求的程序生成程序執行標識符。

本申請實施例所述的發送業務處理請求的程序,既可以為第三方應用本身,
也可為第三方應用包括的各級子程序。如果由第三方應用本身發送業務處理請
求,則業務處理請求中的程序執行標識符為與第三方應用的本次執行所對應的
事務處理標識符;如果由第三方應用包括的各級子程序發送業務處理請求,則
首先需要為該子程序生成與其本次執行所對應的程序執行標識符,并將該程序
執行標識符記錄到業務處理請求中。程序執行標識符的生成方法在上述實施例
一中已作詳細說明,此處不再贅述,請見實施例一的相關部分。

步驟S303:向執行第一特定業務的系統發送對應所述第一特定業務的所述
業務處理請求;所述業務處理請求包括所述程序執行標識符。

由于業務處理請求中記錄了程序執行標識符,因而能夠在本系統和執行第
一特定業務的系統的日志信息之間建立關聯。

本申請實施例所述的第一特定業務包括WebService應用程序。所述業務處
理請求包括的所述程序執行標識符存儲在SOAP頭文件中。在本實施例中,將
發送業務處理請求的程序所屬的特定業務稱為第二特定業務,發送業務處理請
求的程序為第二特定業務的子程序。

由于本申請實施例發送業務處理請求的程序也屬于一個特定業務(即上述
第二特定業務),因此業務處理的請求方法還包括:1)接收上一級調用方發送
的對應所述第二特定業務的業務處理請求;2)若所述對應所述第二特定業務的
業務處理請求中既未包括所述上一級調用方預先生成的程序執行標識符,也未
包括所述上一級調用方預先生成的事務處理標識符,則為所述第二特定業務的
執行生成對應所述第二特定業務的事務處理標識符;3)根據所述對應所述第二
特定業務的業務處理請求執行所述第二特定業務,并對應所述第二特定業務的
本次執行產生業務處理日志信息;所述業務處理日志信息由所述對應所述第二
特定業務的事務處理標識符標識。

通過上述步驟1-3,當來自上一級調用方的業務處理請求中不包括程序執行
標識符或事務處理標識符時,表示第二特定業務開始一次新的事務處理,此時
需要為第二特定業務的本次執行生成事務處理標識符。具體的,新生成的事務
處理標識符根據上一級調用方的IP地址、事務處理標識符的生成時間以及業務
處理請求的標識符(即:requestId)的至少一者生成。

在上述的實施例中,提供了一種業務處理的請求方法,與之相對應的,本
申請還提供一種業務處理的請求裝置。該裝置是與上述方法的實施例相對應。

請參看圖5,其為本申請的業務處理的請求裝置實施例的示意圖。由于裝置
實施例基本相似于方法實施例,所以描述得比較簡單,相關之處參見方法實施
例的部分說明即可。下述描述的裝置實施例僅僅是示意性的。

本實施例的一種業務處理的請求裝置,包括:

第一生成單元501,用于為發送業務處理請求的程序生成程序執行標識符;

發送單元503,用于向執行第一特定業務的系統發送對應所述第一特定業務
的所述業務處理請求;所述業務處理請求包括所述程序執行標識符。

可選的,發送所述業務處理請求的程序所屬的特定業務為第二特定業務,
所述裝置還包括:

接收單元,用于接收上一級調用方發送的對應所述第二特定業務的業務處
理請求;

第二生成單元,用于若所述對應所述第二特定業務的業務處理請求中既未
包括所述上一級調用方預先生成的程序執行標識符,也未包括所述上一級調用
方預先生成的事務處理標識符,則為所述第二特定業務的執行生成對應所述第
二特定業務的事務處理標識符;

執行單元,用于根據所述對應所述第二特定業務的業務處理請求執行所述
第二特定業務,并對應所述第二特定業務的本次執行產生業務處理日志信息;
所述業務處理日志信息由所述對應所述第二特定業務的事務處理標識符標識。

本申請實施例還提供了一種日志記錄系統,如圖6所示,該系統包括上述
實施例所述的日志記錄裝置601和業務處理的請求裝置602。所述日志記錄裝置
通常部署于服務器,但并不局限于服務器,也可以是能夠實現所述日志記錄方
法的任何設備;所述業務處理的請求裝置即可以部署于移動通訊設備、個人電
腦、PAD、iPad等終端設備,還可以部署于服務器。例如,業務處理的請求裝
置部署在第三方應用服務器上,能夠為發送業務處理請求的程序生成程序執行
標識符,并向執行特定業務的系統發送對應特定業務的業務處理請求,其中業
務處理請求包括程序執行標識符;日志記錄裝置部署在執行特定業務的服務器
上,能夠接收調用方發送的對應特定業務的業務處理請求,并將業務處理請求
中包括的第三方應用服務器預先生成的程序執行標識符,作為與特定業務的本
次執行相對應的事務處理標識符,并在執行特定業務時,對應特定業務的本次
執行產生由該事務處理標識符標識的業務處理日志信息。

本申請提供的日志記錄方法、業務處理的請求方法、以及相應裝置和系統,
通過接收調用方發送的對應特定業務的業務處理請求,并將業務處理請求中包
括的調用方預先生成的程序執行標識符作為與特定業務的本次執行相對應的事
務處理標識符;在執行特定業務時,對應特定業務的本次執行產生由事務處理
標識符標識的業務處理日志信息,使得能夠將程序執行標識符作為調用方和被
調用方之間同一事務處理的日志信息的關聯字段,從而在跨系統的事務處理中,
方便的將同一事務處理相關的各系統日志信息關聯起來,從而便于跟蹤該事務
處理過程中的各種問題。

本申請雖然以較佳實施例公開如上,但其并不是用來限定本申請,任何本
領域技術人員在不脫離本申請的精神和范圍內,都可以做出可能的變動和修改,
因此本申請的保護范圍應當以本申請權利要求所界定的范圍為準。

在一個典型的配置中,計算設備包括一個或多個處理器(CPU)、輸入/輸出
接口、網絡接口和內存。

內存可能包括計算機可讀介質中的非永久性存儲器,隨機存取存儲器
(RAM)和/或非易失性內存等形式,如只讀存儲器(ROM)或閃存(flashRAM)。
內存是計算機可讀介質的示例。

1、計算機可讀介質包括永久性和非永久性、可移動和非可移動媒體可以由
任何方法或技術來實現信息存儲。信息可以是計算機可讀指令、數據結構、程
序的模塊或其他數據。計算機的存儲介質的例子包括,但不限于相變內存
(PRAM)、靜態隨機存取存儲器(SRAM)、動態隨機存取存儲器(DRAM)、其
他類型的隨機存取存儲器(RAM)、只讀存儲器(ROM)、電可擦除可編程只讀存
儲器(EEPROM)、快閃記憶體或其他內存技術、只讀光盤只讀存儲器
(CD-ROM)、數字多功能光盤(DVD)或其他光學存儲、磁盒式磁帶,磁帶磁磁
盤存儲或其他磁性存儲設備或任何其他非傳輸介質,可用于存儲可以被計算設
備訪問的信息。按照本文中的界定,計算機可讀介質不包括非暫存電腦可讀媒
體(transitorymedia),如調制的數據信號和載波。

2、本領域技術人員應明白,本申請的實施例可提供為方法、系統或計算機
程序產品。因此,本申請可采用完全硬件實施例、完全軟件實施例或結合軟件
和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計
算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、
CD-ROM、光學存儲器等)上實施的計算機程序產品的形式。

關 鍵 詞:
一種 日志 記錄 方法 裝置 系統
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:一種日志記錄方法、裝置及系統.pdf
鏈接地址:http://www.rgyfuv.icu/p-6345514.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服客服 - 聯系我們

[email protected] 2017-2018 zhuanlichaxun.net網站版權所有
經營許可證編號:粵ICP備17046363號-1 
 


收起
展開
山东11选5中奖结果走势图