耿鵬+許國平+彭新宇+孫志偉

【摘要】商業銀行應用系統每時每刻都在產生日志數據,這些日志種類繁雜,格式多樣,散落在生產系統的各個角落,往往只有在系統出現問題時才會臨時到日志中去查找和分析,大部分日志數據都會在暫存一段時間后被永久清理。本文針對商業銀行日志分析面臨的數據量大、日志格式不規范、存儲分散及用途單一等問題,提出一種基于日志分析的商業銀行應用系統畫像架構,能夠實現對日志文件的有效分析,從中提取出有效的信息來指導生產、優化決策。
【關鍵詞】日志分析 ?應用系統畫像 ?大數據
一、引言
隨著商業銀行業務規模的不斷發展,各類應用系統的數量和規模也迅速增長,其所產生的數據量也越來越大。在這些日益增長,趨近海量的數據中,除了核心的業務數據之外,還存在著一類規模巨大且未得到有效利用的數據,這就是日志數據。商業銀行應用系統每時每刻都在產生日志數據,這些日志種類繁雜,格式多樣,散落在生產系統的各個角落,往往只有在系統出現問題時才會臨時到日志中去查找和分析,大部分日志數據都會在暫存一段時間后被永久清理。而這些日志文件作為應用系統在實際生產運行過程中的忠實記錄者,包含了大量能夠反映出應用系統運行情況的有效信息,這些信息可以對系統的優化、運維以及運營帶來重要的決策參考。因此,如何克服當前商業銀行應用系統中存在的日志量巨大、日志分布情況復雜、日志記錄格式不規范等問題,實現對日志文件的有效分析,從中提取出有效的信息來指導生產、優化決策,成為商業銀行IT部門面臨的一項重大問題。
二、應用系統畫像
目前大數據領域一個較為前沿的研究熱點就是用戶畫像(Personas)[1],所謂用戶畫像,即根據用戶的一些基本信息及行為數據進行分析,在不同的維度,抽象出能夠反映用戶特征的標簽,用標簽的集合對用戶進行描述。簡言之,用戶畫像的核心即是標簽的集合,根據不同的應用場景,定義不同的標簽,再根據不同用戶的標簽,針對不同用定義不同的營銷及推送策略,是用戶畫像在大數據領域的一個典型應用[2]。
同樣,對于商業銀行的眾多應用系統,每個應用系統都具有不同的運行特征,通過對這些不同的運行特征進行提取和歸納,形成相應的標簽,其所組成的集合,也即本文所提出的應用系統畫像。
應用系統畫像與日志分析可以完美的結合[3],從日志中能夠提取到應用系統不同維度的有效信息,通過對這些信息進行計算,形成特征,而從這些特征中歸納出的標簽的集合,即應用系統畫像,又可以直觀的讓人們認知這個系統,從而對系統的運行特征、業務特征、性能特征等方面有一個充分的了解,進而對應用系統進行系統運維或運營策略的調整。
三、商業銀行日志研究現狀分析
商業銀行日志中類繁多,用途各有不同,經過前期的調查與研究,商業銀行目前的日志大致可分為以下幾個大類:
(1)交易日志:交易日志是指系統所記錄的業務流水、交易報文等信息,可用于分析系統的業務特征,如交易量、活躍客戶數、交易流動性等。
(2)應用日志:應用日志包括系統自身所記錄的程序日志、數據日志以及后臺服務日志,可用于分析該應用的運行情況,包括異常率、異常種類、響應時間等。
(3)系統日志:系統日志記錄了系統所部屬的物理載體的運行情況,包括內存使用率、CPU占用率、磁盤使用率等。
(4)運維與操作日志:運維與操作日志記錄了系統的變更、應急以及日常操作行為,包括變更頻率、變更成功率、應急次數、登錄次數、登錄時長等信息,可用于分析系統的獎狀性、穩定性和安全性。
(5)網絡日志[4]:網絡日志記錄了應用系統的網絡狀態,包括丟包率、擁堵情況、帶寬變化等,可用于分析該系統的網絡聯通性、交易順暢性。
以上五類日志,涵蓋了商業銀行應用系統的大部分日志,而目前這五類日志并未得到廣泛的應用和分析,大部分日志都設置了清理策略,在暫存一段時間后都會被永久刪除。究其原因,一方面是因為目前日志數據的分析和管理尚未引起高度重視,目前銀行的應用系統仍然以響應業務為第一要素,系統上線后的運維也僅限于保證業務連續性等方面,雖然近些年來已經有一些利用大數據技術對系統數據進行分析的探索,但并未十分深入;而另一方面,也是由于對于日志的分析確實存在一些難點和問題。通過商業銀行目前日志存儲、產生、利用等相關情況的調查和分析,商業銀行日志數據目前面臨的幾個問題主要有以下幾個:
(1)日志規模大:以某國有銀行為例,僅網銀系統(僅包括企業、個人、手機等)一天產生的日志數量就達到71GB,這還僅僅是應用日志及交易日志,如果再加上系統日志、數據庫日志、網絡日志等數據,保守估計每日會產生近100GB的日志數據。而網銀系統僅僅是商業銀行信息系統中的一部分,核心業務系統、信貸系統、基金理財系統,每類系統每天都會產生大量的日志數據,傳統的日志分析方法,如利用Linux腳本如grep、awk等已經無法滿足如此海量日志的分析需求。
(2)日志格式不規范、存儲形式復雜且分散:商業銀行系統組成復雜,有自行開發的,有外購的,有外購二次開發的,也有開源改造的,如此復雜的系統構成,再加上對日志格式并未有明確的書寫規范,導致商業銀行各類日志的記錄格式多樣且不規范。且各應用系統的日志多為分散存儲,形式多樣,應用日志有記錄在數據庫中的,有記錄在文本文件的,系統日志在不同的平臺上更是有不同的存儲路徑和格式,各類日志散落在不同的地點,缺乏統一收集和管理的平臺。
(3)日志用途單一:目前商業銀行對于日志的用途多是用來查找問題,當生產系統出現問題時,查找該時點的日志,分析該問題產生原因。對日志的利用相對來講較為單一,沒有對日志進行更深層次的挖掘和分析。
四、基于日志分析的應用系統畫像架構設計與分析
正如上節所述,目前商業銀行日志數據分析存在日志規模大、日志格式不規范,存儲形式分散、日志用途單一等難點,想要對應用系統日志數據進行有效分析,必須提出一種可行的方法和架構,能夠解決這幾個重點問題。本文通過對目前國內外同業研究現狀進行分析,結合時下較為先進的大數據與畫像技術,提出一種基于日志分析的應用系統畫像架構,如圖1所示:
圖1 基于日志分析的應用系統畫像架構
該架構分為三個層次和六個階段,其中三個層次分別為數據層、處理層和應用層,其中數據層為對底層日志數據分類采集和梳理的過程,采取基于FLUME的分布式大數據提取框架,針對不同種類的日志,采取代理服務、文件傳輸、數據庫DUMP、程序抓取、通信管道等形式對數據進行統一采集;處理層為架構的核心層,處理層包括三個階段,從下至上分別是日志預處理及存儲、日志特征提取和標簽畫像,完成日志的采集之后,首先要進行數據清洗、結構化、標準化、轉碼、特殊字段處理等預處理手段,且由于數據量巨大,需要采取分布式文件存儲系統HDFS進行存儲[5];預處理之后,利用Hadoop分布式集群,編寫MapReduce分布式處理程序,利用數據挖掘、統計分析等算法,從日志中提取有效特征;根據從日志中提取的特征[6],從基本信息、業務運營、應用運行、運維操作、物理環境等五個維度,將各類特征歸納為標簽,形成系統畫像。應用層根據系統畫像可了解自己所關注的系統運行情況,從而做出最優的決策分析,典型的應用場景有運營情況分析、系統健康檢查、安全審計等。
上述構架中,采用時下主流分布式大數據收集框架Flume及分布式計算框架Hadoop來解決海量日志數據的收集和計算問題[7],并針對商業銀行日志數據存放分散,類別多樣的特點,集成了包括文件傳輸、數據庫DUMP、程序抓取等多種方式在內的統一收集系統,并對數據進行清洗、標準化、結構化等預處理操作,解決了日志格式不規范、存儲形式復雜且分散的問題。同時,針對日志中的有效字段,采取數據挖掘、統計分析等計算策略,提取特征,歸納標簽,形成應用畫像,增加了日志分析的意義,解決了日志用途單一的問題。
五、總結
基于日志分析的商業銀行應用系統畫像探索具有十分重要的研究意義,數據是商業銀行的寶貴財富,日志數據蘊含了大量能直觀反映系統運行情況的有效信息,通過從日志中提取的特征,歸納為標簽,形成應用系統畫像,對商業銀行對應用系統的運維、優化及運營都有著至關重要的意義。對于業務人員,業務維度的畫像可以使業務人員了解該系統的運營情況,及時調整運營策略,控制經濟成本,提高營銷精準度,調整業務資產投放等。對于運維人員,應用運行及物理環境維度的畫像可以讓他們更清楚系統當前的運行狀況,靈活調整運維策略,及時對系統進行升級和優化。對于開發人員,可以根據應用系統畫像,了解所開發系統的功能及性能短板,方便進行二次開發。對于審計人員,安全維度的標簽可以幫助其快速了解系統的安全隱患,審計出非法或不合規的操作。
總之,基于日志分析的應用系統畫像應該是商業銀行探索日志分析的一個較有意義的研究方向,但仍然存在一些問題,如畫像粒度的定義,數據的敏感程度,數據的處理能力,實時日志處理對系統性能的影響,都有待進一步研究和探索。
參考文獻
[1]劉海,盧慧,阮金花,田丙強,胡守忠.基于“用戶畫像”挖掘的精準營銷細分模型研究[J].絲綢,2015,12:37-42+47.
[2]丁偉,王題,劉新海,韓涵.基于大數據技術的手機用戶畫像與征信研究[J].郵電設計技術,2016,03:64-69.
[3]付偉.基于Hadoop的Web日志的分析平臺的設計與實現[D].北京郵電大學,2015.
[4]胡光民,周亮,柯立新.基于Hadoop的網絡日志分析系統研究[J].電腦知識與技術,2010,22:6163-6164+6185.
[5]趙龍.基于Hadoop的海量搜索日志分析平臺的設計和實現[D].大連理工大學,2013.
[6]薛文娟.基于層次聚類的日志分析技術研究[D].山東師范大學,2013.
[7]周秋彤.實時分布式Web日志分析系統的設計與實現[D].電子科技大學,2015.