業(yè)務數(shù)據監(jiān)控方法和系統(tǒng)的制作方法
【技術領域】
[0001]本發(fā)明涉及電子商務領域,特別涉及一種業(yè)務數(shù)據監(jiān)控方法和系統(tǒng)。
【背景技術】
[0002]通常對于電子商務公司來說,網站業(yè)務數(shù)據量的漲跌決定這個公司的營收,其中業(yè)務數(shù)據量分為訂單數(shù)據和非訂單數(shù)據,非訂單數(shù)據包括網站請求數(shù)、響應時間、定位成功率、集群的CPU (Central Processing Unit,中央處理單元)和連接數(shù)、網絡流量、SOA(Service-Oriented Architecture,面向服務的體系結構)服務的請求數(shù)和錯誤數(shù)等。如何通過對業(yè)務數(shù)據量的監(jiān)控告警來發(fā)現(xiàn)網站是否有問題,是一個業(yè)界的難題?,F(xiàn)有技術中一般采用報表顯示方式展示網站訂單數(shù)據量的情況,譬如DASHBOARD (businessintelligence dashboard,BI dashboard的簡稱,商業(yè)智能儀表盤)采用的存儲是0PENTSDB(Open-source Distributed, Scalable, Time Series Database,開源時序數(shù)據庫),但是這只是一個報表的展示,不能做告警,且經常有延遲。
【發(fā)明內容】
[0003]本發(fā)明要解決的技術問題是為了克服現(xiàn)有技術中電子商務網站業(yè)務數(shù)據監(jiān)控方式單一、效果差、實時性不高以及告警缺失的缺陷,提供一種可以實時告警的業(yè)務數(shù)據監(jiān)控方法和系統(tǒng)。
[0004]本發(fā)明是通過下述技術方案來解決上述技術問題:
[0005]本發(fā)明提供一種業(yè)務數(shù)據監(jiān)控方法,其特點是,包括:
[0006]S1、提前生成每M分鐘業(yè)務數(shù)據預測值,存儲到數(shù)據源數(shù)據庫;
[0007]S2、從所述數(shù)據源數(shù)據庫采集業(yè)務數(shù)據和預測值,存放到數(shù)據隊列庫隊尾;
[0008]S3、所述數(shù)據隊列庫將其隊頭數(shù)據同時發(fā)給告警worker和存儲worker,所述存儲worker將接收到的數(shù)據存儲到監(jiān)控數(shù)據庫;
[0009]S4、所述告警worker判斷接收到的數(shù)據的類型,如果是預測值,不作處理并等待接收下一組數(shù)據;如果是業(yè)務數(shù)據,根據業(yè)務數(shù)據ID在所述監(jiān)控數(shù)據庫中獲得對應預測值,并比較業(yè)務數(shù)據與對應預測值,根據告警規(guī)則判斷是否觸發(fā)告警,若否,則所述告警worker等待接收下一組數(shù)據,若是,則觸發(fā)告警。
[0010]其中,數(shù)據源數(shù)據庫可以是一個,也可以是多個數(shù)據庫,其用來存放業(yè)務數(shù)據和預測值,預測值可以和業(yè)務數(shù)據共同存放于一個數(shù)據源數(shù)據庫,也可以分別存放于不同的多個數(shù)據源數(shù)據庫。其中業(yè)務數(shù)據也可以來自于廣義的數(shù)據源數(shù)據庫API (Applicat1nProgramming Interface,應用程序編程接口)。
[0011]其中,數(shù)據隊列庫用來按照先后順序存儲從數(shù)據源數(shù)據庫中采集的業(yè)務數(shù)據和預測值,有隊頭和隊尾,新采集的數(shù)據插入數(shù)據隊列的隊尾,每次數(shù)據隊列庫都從隊頭取數(shù)據,每取走一組數(shù)據,隊頭數(shù)據自動更新為下一組數(shù)據。
[0012]其中,worker為程序中的消費者線程,分為兩種類型,分別為告警worker消費者和存儲worker消費者,每種worker消費者只負責消費制定的數(shù)據或者行為,具體為只負責存儲或者告警。通過增加woker消費者數(shù)量可以提高數(shù)據隊列庫中數(shù)據的處理速度。
[0013]其中,監(jiān)控數(shù)據庫用來存儲存儲worker消費者獲得的數(shù)據,其存儲的數(shù)據量根據數(shù)據采集粒度的不同而不同,如果數(shù)據采集粒度每分鐘采集一次,也就是每組數(shù)據包括一分鐘的業(yè)務數(shù)據量,那么監(jiān)控數(shù)據庫中可以存儲的數(shù)據時間量為30天,如果數(shù)據采集粒度為一天采集一次,那么監(jiān)控數(shù)據庫中可以存儲的數(shù)據時間量為2年。監(jiān)控數(shù)據庫中存儲的數(shù)據用于后續(xù)告警操作步驟時比較使用,也可以用于web (互聯(lián)網總稱)端展示等。
[0014]其中,&中所述的預測值可以是S 提前生成的每M分鐘業(yè)務數(shù)據預測值,也可以是監(jiān)控數(shù)據庫中存儲的上周同期歷史數(shù)據值。
[0015]較佳地,S1包括:
[0016]Sn、根據同比四周的每日歷史業(yè)務數(shù)據量,預測下周同期全天業(yè)務數(shù)據量;
[0017]S12、根據同比四周的每M分鐘歷史業(yè)務數(shù)據量,依據季節(jié)性周期預測模型預測下周同期每M分鐘季節(jié)指數(shù);
[0018]S13、用S11中預測的全天業(yè)務數(shù)據量與S12中預測的每M分鐘季節(jié)指數(shù)相乘,得到每M分鐘業(yè)務數(shù)據預測值。
[0019]其中,季節(jié)性周期預測模型起源于受季節(jié)影響比較明顯的商品需求訂單預測,如啤酒在夏季的需求較大、冬季的需求較少。根據歷年每個季度的訂單總量,可以預測出未來一年各個季度的訂單量。具體計算方法為:
[0020](I)根據歷年訂單總量及增長趨勢,計算未來一年訂單量F,計算方法有很多種,譬如最小二乘法或移動平均數(shù)法;
[0021](2)計算各年同季度訂單的平均數(shù),Ai ;
[0022](3)計算各年度訂單總量的平均數(shù),B ;
[0023](4)計算各個季度的季節(jié)指數(shù),Ai/B ;
[0024](5)未來一年季節(jié)i的訂單為:FXAi/B
[0025]轉化至本方案中預測每M分鐘業(yè)務數(shù)據預測值,則本方案中的同比四周的每日歷史業(yè)務數(shù)據量對應模型中歷年訂單數(shù)據,本方案中的I天對應模型中的I年,本方案中的每M分鐘對應模型中的每個季節(jié)。
[0026]本方案S12下周同期每M分鐘季節(jié)指數(shù)預測采用如前面所述計算方法中(2)至(4)步驟原理計算得出;S13中每M分鐘業(yè)務數(shù)據預測值依據前述計算方法中步驟(5)原理計算得出。
[0027]本方案中,針對特殊節(jié)假日,每M分鐘業(yè)務數(shù)據預測值的產生方法會自動調整,根據歷年節(jié)假日的業(yè)務數(shù)據增長趨勢為預測依據。
[0028]較佳地,所述業(yè)務數(shù)據監(jiān)控方法還包括配置告警規(guī)則并存儲到告警規(guī)則數(shù)據庫。
[0029]本方案中,告警規(guī)則數(shù)據庫是一個單獨的數(shù)據庫,僅用來存儲所有的告警規(guī)則數(shù)據,同告警規(guī)則數(shù)據存放于數(shù)據源數(shù)據庫相比,本方案可以保證告警worker能夠快速的獲取所需使用的告警規(guī)則數(shù)據,提高告警的實時性。
[0030]較佳地,S4還包括根據業(yè)務數(shù)據ID從所述告警規(guī)則數(shù)據庫中獲得對應告警規(guī)則。
[0031]較佳地,所述告警規(guī)則包括閥值、環(huán)比、同比、告警通知對象或告警通知方式。
[0032]其中閥值是指一個固定的數(shù)值,可以是小數(shù)或負數(shù)等;環(huán)比是指本期統(tǒng)計數(shù)據與上期統(tǒng)計數(shù)據相比較,例如2015年7月統(tǒng)計數(shù)據與2015年6月統(tǒng)計數(shù)據相比較;同比是指本期統(tǒng)計數(shù)據與歷史同時期統(tǒng)計數(shù)據相比較,例如2014年7月統(tǒng)計數(shù)據與2013年7月統(tǒng)計數(shù)據相比較。
[0033]較佳地,所述告警通知方式為郵件、短信推送、語音或彈窗。
[0034]本方案中,告警方式可以是發(fā)送郵件或者彈出對話窗口到告警通知對象、也可以發(fā)送手機短消息或者微信,或者直接通過揚聲器發(fā)出告警語音。如果是發(fā)送郵件,可以同時在郵件中增加告警截圖,這樣告警通知對象可以在收到郵件的同時根據截圖判斷問題的嚴重性。
[0035]較佳地,S11中預測下周同期全天業(yè)務數(shù)據量采用最小二乘法或移動平均數(shù)法。
[0036]本方案中,預測下周同期全天業(yè)務數(shù)據量所采用的方法現(xiàn)有技術中有很多種,可以根據具體需求不同有所選擇。
[0037]較佳地,所述數(shù)據隊列庫為Zeromq,所述監(jiān)控數(shù)據庫為Graphite。
[0038]其中,Zeromq是一個類似于Socket的一系列接口,是一個消息處理隊列庫。Graphite是一個用于采集網站實時信息并進行統(tǒng)計的開源項目,可用于采集多