日志控制系統(tǒng)及方法
【專利摘要】本發(fā)明公開了一種日志控制系統(tǒng),包括日志文件定位模塊、日志信息完善模塊、日志開關(guān)控制模塊、日志查詢模塊,其中:日志開關(guān)控制模塊用于日志的開啟和關(guān)閉;日志文件定位模塊用于獲取事件的日志信息,以進行日志定位和日志內(nèi)容查詢;日志信息完善模塊用于將獲取的日志信息寫入各日志文件;日志查詢模塊用于提供人機交互的日志查詢界面。本發(fā)明還提供了一種日志控制方法。本發(fā)明的日志控制系統(tǒng)及方法提供獲取并記錄聯(lián)機事件相關(guān)信息,據(jù)此信息實現(xiàn)界面化的日志開關(guān)、查詢等操作的方法,方便開發(fā)和維護人員及時、準確定位、診斷系統(tǒng)應(yīng)用問題,提高開發(fā)、測試工作效率。
【專利說明】日志控制系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及銀行業(yè)務(wù)系統(tǒng)開發(fā)領(lǐng)域,尤其涉及一種日志控制系統(tǒng)及方法。
【背景技術(shù)】
[0002] 日志是指有關(guān)計算機系統(tǒng)發(fā)生的事務(wù)或操作的記錄。在各種應(yīng)用系統(tǒng),如銀行系 統(tǒng)、門戶網(wǎng)站系統(tǒng)、電子商務(wù)系統(tǒng)、公司內(nèi)部的財務(wù)系統(tǒng)等等應(yīng)用系統(tǒng)中,都會將系統(tǒng)運行 過程中所發(fā)生的一切記錄為日志,并生成日志文件,然后通過對日志文件的解析,就可以詳 細了解系統(tǒng)的整個運行過程。在日志解析的過程中需要對日志來執(zhí)行各項操作,所述對日 志執(zhí)行的操作可以看作是一項任務(wù),例如,下載日志可以看作是一項任務(wù),要執(zhí)行下載日志 這項任務(wù)就需要調(diào)度任務(wù),然后通過系統(tǒng)命令將任務(wù)發(fā)送到操作系統(tǒng),操作系統(tǒng)再執(zhí)行下 載日志的操作。在任務(wù)調(diào)度中任務(wù)可以分為后置任務(wù)和前置任務(wù),前置任務(wù)執(zhí)行完畢才能 執(zhí)行后置任務(wù)。通常的任務(wù)調(diào)度系統(tǒng)的配置是當天調(diào)度當天的任務(wù),當天執(zhí)行的后置任務(wù) 可以自動找到當天的前置任務(wù),判斷當天的前置任務(wù)執(zhí)行完畢,則可以執(zhí)行當天的后置任 務(wù)。系統(tǒng)中的每一個交易可以看做一個事件。
[0003] 核心銀行系統(tǒng)主要是通過程序?qū)⒏鲬?yīng)用程序的日志記入多個日志中,主要存在 問題為:診斷問題時無法準確定位日志文件;日志內(nèi)容繁雜且缺少必要的公共要素項,無 法區(qū)分辨識唯一交易,很難快速進行問題診斷;日志內(nèi)容巨大,資源消耗很大,且只能借助 IBM工具File Manager查閱,應(yīng)用開發(fā)人員和測試人員使用均不方便,見圖1。
[0004] 因此需要在交易進行過程中獲取相關(guān)交易信息實現(xiàn)日志快速查詢的需要,且需豐 富日志內(nèi)容,提升開發(fā)人員診斷問題的準確性,還需要增加日志開啟、關(guān)閉功能,適時較少 資源的消耗。另外還需增加日志查詢界面和開關(guān)維護界面,從而取代外部工具,方便開發(fā)和 維護人員及時發(fā)現(xiàn)和查找系統(tǒng)應(yīng)用問題。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明提供一種日志控制系統(tǒng)及方法,提供獲取并記錄聯(lián)機事件相關(guān)信息,據(jù)此 信息實現(xiàn)界面化的日志開關(guān)、查詢等操作的方法,方便開發(fā)和維護人員及時、準確定位、診 斷系統(tǒng)應(yīng)用問題,提高開發(fā)、測試工作效率。
[0006] 為了解決上述技術(shù)問題,本發(fā)明提供了一種日志控制系統(tǒng),包括日志文件定位模 塊、日志信息完善模塊、日志開關(guān)控制模塊、日志查詢模塊,其中:
[0007] 所述日志開關(guān)控制模塊用于日志的開啟和關(guān)閉;
[0008] 所述日志文件定位模塊用于獲取事件的日志信息,以進行日志定位和日志內(nèi)容查 詢;
[0009] 所述日志信息完善模塊用于將獲取的日志信息寫入各日志文件;
[0010] 所述日志查詢模塊用于提供人機交互的日志查詢界面。
[0011] 作為優(yōu)選,所述日志文件定位模塊具體配置為:其用于增加用于記錄日志記錄的 索引信息的日志索引表;所述日志索引表記錄有信息元素和日志文件名,通過查詢所述日 志索引表能夠獲知具體交易的日志信息所記入的日志文件名。
[0012] 作為優(yōu)選,所述日志索引表包括交易號、終端號、柜員號、網(wǎng)點號、U0W、交易時間、 系統(tǒng)ID。
[0013] 作為優(yōu)選,所述日志文件定位模塊進一步配置為:比較內(nèi)存區(qū)保存的上一筆成功 記錄的日志信息,如果U0W、系統(tǒng)ID、日志文件名相同,則默認是同一筆交易上來的日志,不 記錄到所述日志索引表中。
[0014] 作為優(yōu)選,所述日志文件定位模塊進一步配置為:先將記錄信息寫入TDQ,再對該 TDQ設(shè)置一守護進程,當TDQ中記錄增加時,調(diào)起該守護進程,將TDQ的信息逐條讀出并寫入 所述日志索引表。
[0015] 作為優(yōu)選,所述日志信息完善模塊具體配置為:其讀取所述日志索引表,獲取日志 信息寫入各日志文件。
[0016] 作為優(yōu)選,所述日志開關(guān)控制模塊配置有開關(guān)文件,所述開關(guān)文件包括總開關(guān)和 柜員級開關(guān);
[0017] 當程序讀取所述開關(guān)文件時,先讀取所述總開關(guān)的狀態(tài),若所述總開關(guān)的狀態(tài)為 關(guān),則再讀該柜員對應(yīng)的柜員級開關(guān)的開關(guān)狀態(tài),其狀態(tài)為是否寫日志的最終標識;若所述 總開關(guān)的狀態(tài)為開,則所有的交易都寫日志。
[0018] 本發(fā)明還提供一種基于如上述的系統(tǒng)的日志控制方法,包括以下步驟:
[0019] S1 :判斷是否能夠讀取日志文件,如果不能讀取,則結(jié)束處理;如果能夠讀取,則 執(zhí)行S2 ;
[0020] S2 :獲取事件的日志信息;
[0021] S3 :將獲取的日志信息寫入各日志文件。
[0022] 與現(xiàn)有技術(shù)相比,本發(fā)明的日志控制系統(tǒng)及方法提出了合理的解決方案,提供了 友好的日志查詢界面,方便開發(fā)、測試中問題的定位和診斷。本發(fā)明的日志控制系統(tǒng)及方法 的有益效果在于:
[0023] 1、日志文件定位準確;業(yè)務(wù)人員通過查詢界面輸入交易號、終端號、柜員號、機構(gòu) 號、交易日期、交易時間中的一項或多項,得到相應(yīng)的日志文件名。從而縮小了日志文件的 范圍,再通過查看所選日志文件的具體內(nèi)容,可以查到具體交易的日志信息
[0024] 2、日志內(nèi)容豐富;除記錄現(xiàn)有的系統(tǒng)時間及傳入的錯誤信息外,還記錄了交易日 期、應(yīng)用名、交易號、終端號、柜員號、網(wǎng)點號、Tran ID、CICS U0W、SYSID等字段。
[0025] 3、日志開關(guān)功能靈活:通過總開關(guān)和柜員級開關(guān)可不同程度控制交易日志的寫入 規(guī)模,從而緩解資源的爭搶。
[0026] 4、操作界面友好;交易查詢和開關(guān)維護界面沿用主機傳統(tǒng)的MAP界面,支持上下 翻屏,使用方便。
【專利附圖】
【附圖說明】
[0027] 圖1為現(xiàn)有技術(shù)流程狀況圖;
[0028] 圖2為本發(fā)明的實施例的日志控制系統(tǒng)的模塊關(guān)聯(lián)關(guān)系示意圖;
[0029] 圖3為本發(fā)明的實施例的日志控制系統(tǒng)及方法的邏輯架構(gòu)及流程示意圖。
【具體實施方式】
[0030] 下面結(jié)合附圖和具體實施例對本發(fā)明的實施例的日志控制系統(tǒng)及方法作進一步 詳細描述,但不作為對本發(fā)明的限定。
[0031] 本發(fā)明的實施例的日志控制系統(tǒng),包括日志文件定位模塊、日志信息完善模塊、日 志開關(guān)控制模塊、日志查詢模塊,其中:
[0032] 所述日志開關(guān)控制模塊用于日志的開啟和關(guān)閉;
[0033] 所述日志文件定位模塊用于獲取事件的日志信息,以進行日志定位和日志內(nèi)容查 詢;
[0034] 所述日志信息完善模塊用于將獲取的日志信息寫入各日志文件;
[0035] 所述日志查詢模塊用于提供人機交互的日志查詢界面。
[0036] 圖2為本發(fā)明的實施例的日志控制系統(tǒng)的模塊關(guān)聯(lián)關(guān)系示意圖,圖3為本發(fā)明的 實施例的日志控制系統(tǒng)及方法的邏輯架構(gòu)及流程示意圖。如圖2和圖3所示,以下詳細說 明本發(fā)明的日志控制系統(tǒng)各模塊以及優(yōu)選的實施方式。
[0037]日志文件定位模塊負責獲取某支交易的日志信息所記入的日志文件名、交易號、 終端號、柜員號、網(wǎng)點號、U0W、交易時間、系統(tǒng)ID(SYSID)等信息,新增日志索引表記錄以上 信息,以便后續(xù)模塊讀取,進行日志定位和日志內(nèi)容查詢。
[0038] 日志文件定位模塊可以配置日志索引表REPI,該表用于記錄日志記錄的索引信 息,在成功記錄日志文件后,將對應(yīng)的一些信息元素和日志文件名記錄在該日志索引表中。 通過查詢此表即可獲知具體某支交易的日志信息所記入的日志文件名。
[0039] 為了定位交易,縮小查尋范圍,該日志索引表還需要如下要素:交易號、終端號、 柜員號、網(wǎng)點號、U0W(unit of work,最小工作單元,用于唯一區(qū)分某個交易)、交易時間、 SYSID(系統(tǒng)ID,IBM的事物處理中間件的系統(tǒng)標識)等。為獲取上述要素項,在實際系 統(tǒng)中需新增一個子程序(如圖所示命名為:GETINF),用來獲取該筆交易的第一個U0W、 交易日期、交易時間、柜員號、終端號、交易號、網(wǎng)點號、SYSID等信息,將這些信息連同 RBA (Relative Byte Address,存儲日志的文件類型的一個概念,它表示邏輯記錄從數(shù)據(jù)集 起始位置的位移量、日志名)等寫入索引表REPI。
[0040] 對于每次成功記錄日志后,先比較內(nèi)存區(qū)保存的上一筆成功記錄的日志信息,若 UOW、SYSID、日志名稱等相同,則默認是同一筆交易上來的日志,不記錄到索引表中。其中, 日志是即時存儲的,一個交易可能寫很多條記錄,第一條記錄寫日志文件的同時,就會在索 引表REPI中記錄一條索引信息,同一筆交易的后續(xù)日志記錄的索引信息與第一條相同。
[0041] 由于可能出現(xiàn)交易ROLLBACK(回滾)的情況,ROLLBACK之前記錄到日志索引表的 記錄會被回滾,從而導致后續(xù)測試和開發(fā)人員無法在索引表中查到相應(yīng)的記錄。為避免此 情況,先將記錄信息寫入TDQ(如圖圖3中所示,TDQ是IBM事務(wù)處理中間的一種存儲隊列, 可以定義多個,通過不同的名稱來進行區(qū)分,日志記錄使用的TDQ名稱為REPT,REPT為一臨 時中轉(zhuǎn)站),再對該TDQ設(shè)置一守護進程,當TDQ中記錄增加時,調(diào)起該進程,將TDQ的信息 逐條讀出并寫入日志索引表??紤]到效率問題,對該日志索引表采用PARTITION的方式建 立。
[0042]日志信息完善模塊讀取日志索引表,獲取交易日期、應(yīng)用名、交易號、終端號、柜員 號、網(wǎng)點號、Tran ID、CICS U0W、SYSID等字段寫入日志文件。
[0043] 日志開關(guān)控制模塊定義一個開關(guān)文件,包括一個總開關(guān)和柜員級開關(guān)。程序在讀 開關(guān)文件時,先讀取總開關(guān)狀態(tài),若為關(guān),則再讀該柜員對應(yīng)的開關(guān)狀態(tài),其狀態(tài)即為最后 是否寫日志的標識;若總開關(guān)為開,則所有的交易都寫日志。開關(guān)采用文件方式,即定義一 個VSAM文件,由于讀該文件的頻率相當高,為了提高效率,將文件定義成CMT。
[0044] 日志查詢模塊可以采用如下實施方式:查詢界面輸入查詢條件:交易號、柜員號、 終端號、機構(gòu)號、交易日期、交易時間中的幾項,程序?qū)斎胫颠M行有效性檢查,若出錯,則 在屏幕下方顯示提示信息,要求用戶重輸。若輸入值合理,程序則根據(jù)查詢信息,搜索日志 索引表,返回若干條記錄。支持上下翻屏;選擇其中一條記錄,輸入與其對應(yīng)RBA值。程序 根據(jù)RBA值讀取相應(yīng)的日志,過濾后顯示日志明細內(nèi)容。
[0045] 繼續(xù)結(jié)合圖2和圖3,本發(fā)明還提供基于如上述的系統(tǒng)的日志控制方法,包括以下 步驟:
[0046] S1 :判斷是否能夠讀取日志文件,如果不能讀取,則結(jié)束處理;如果能夠讀取,則 執(zhí)行S2 ;
[0047] S2 :獲取事件的日志信息;
[0048] S3 :將獲取的日志信息寫入各日志文件。
[0049] 本發(fā)明的日志控制方法按照日志類型、問題級別、銀行網(wǎng)點、用戶、業(yè)務(wù)代碼等不 同緯度對大量繁雜應(yīng)用日志進行開關(guān)、查詢等控制的方法,解決日志記錄和資源消耗的矛 盾。
[0050] 以上實施例僅為本發(fā)明的示例性實施例,不用于限制本發(fā)明,本發(fā)明的保護范圍 由權(quán)利要求書限定。本領(lǐng)域技術(shù)人員可以在本發(fā)明的實質(zhì)和保護范圍內(nèi),對本發(fā)明做出各 種修改或等同替換,這種修改或等同替換也應(yīng)視為落在本發(fā)明的保護范圍內(nèi)。
【權(quán)利要求】
1. 一種日志控制系統(tǒng),其特征在于,包括日志文件定位模塊、日志信息完善模塊、日志 開關(guān)控制模塊、日志查詢模塊,其中: 所述日志開關(guān)控制模塊用于日志的開啟和關(guān)閉; 所述日志文件定位模塊用于獲取事件的日志信息,以進行日志定位和日志內(nèi)容查詢; 所述日志信息完善模塊用于將獲取的日志信息寫入各日志文件; 所述日志查詢模塊用于提供人機交互的日志查詢界面。
2. 根據(jù)權(quán)利要求1所述的日志控制系統(tǒng),其特征在于,所述日志文件定位模塊具體配 置為:其用于增加用于記錄日志記錄的索引信息的日志索引表;所述日志索引表記錄有信 息元素和日志文件名,通過查詢所述日志索引表能夠獲知具體交易的日志信息所記入的日 志文件名。
3. 根據(jù)權(quán)利要求2所述的日志控制系統(tǒng),其特征在于,所述日志索引表包括交易號、終 端號、柜員號、網(wǎng)點號、UOW、交易時間、系統(tǒng)ID。
4. 根據(jù)權(quán)利要求3所述的日志控制系統(tǒng),其特征在于,所述日志文件定位模塊進一步 配置為:比較內(nèi)存區(qū)保存的上一筆成功記錄的日志信息,如果UOW、系統(tǒng)ID、日志文件名相 同,則默認是同一筆交易上來的日志,不記錄到所述日志索引表中。
5. 根據(jù)權(quán)利要求4所述的日志控制系統(tǒng),其特征在于,所述日志文件定位模塊進一步 配置為:先將記錄信息寫入TDQ,再對該TDQ設(shè)置一守護進程,當TDQ中記錄增加時,調(diào)起該 守護進程,將TDQ的信息逐條讀出并寫入所述日志索引表。
6. 根據(jù)權(quán)利要求2所述的日志控制系統(tǒng),其特征在于,所述日志信息完善模塊具體配 置為:其讀取所述日志索引表,獲取日志信息寫入各日志文件。
7. 根據(jù)權(quán)利要求1所述的日志控制系統(tǒng),其特征在于,所述日志開關(guān)控制模塊配置有 開關(guān)文件,所述開關(guān)文件包括總開關(guān)和柜員級開關(guān); 當程序讀取所述開關(guān)文件時,先讀取所述總開關(guān)的狀態(tài),若所述總開關(guān)的狀態(tài)為關(guān),則 再讀該柜員對應(yīng)的柜員級開關(guān)的開關(guān)狀態(tài),其狀態(tài)為是否寫日志的最終標識;若所述總開 關(guān)的狀態(tài)為開,則所有的交易都寫日志。
8. -種基于如權(quán)利要求1至7中任一項所述的系統(tǒng)的日志控制方法,包括以下步驟: 51 :判斷是否能夠讀取日志文件,如果不能讀取,則結(jié)束處理;如果能夠讀取,則執(zhí)行 S2 ; 52 :獲取事件的日志信息; 53 :將獲取的日志信息寫入各日志文件。
【文檔編號】G06F3/06GK104123104SQ201410397763
【公開日】2014年10月29日 申請日期:2014年8月13日 優(yōu)先權(quán)日:2014年8月13日
【發(fā)明者】張明偉, 湯東波 申請人:中國銀行股份有限公司