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