平臺化日志分析的計算方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種平臺化日志分析的計算方法及裝置,尤其涉及一種針對平臺化日 志分析中避免冗余計算和冗余存儲的計算方法及裝置。
【背景技術(shù)】
[0002] 數(shù)據(jù)平臺一般可向用戶提供日志分析服務(wù),比如將日志存儲在HDFS中,用戶編寫 Map/Reduce作業(yè)交給Hadoop平臺執(zhí)行,在流式計算的Storm里也是由用戶編寫類似的任 務(wù)。通過這樣的平臺化服務(wù),每個用戶只需要花費少量學習成本就可以實現(xiàn)各自的日志分 析需求。然而平臺化所帶來的一個缺陷在于計算和存儲資源的浪費,兩個用戶很可能需求 非常接近但是卻不知道對方的存在,計算的內(nèi)容大多是重復(fù)的;也可能兩者的計算互相關(guān) 聯(lián),但計算時卻都以整個數(shù)據(jù)庫作為輸入對象進行遍歷,這些現(xiàn)象都導(dǎo)致了嚴重的計算、存 儲資源浪費。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明的目的在于提供一種平臺化日志分析的計算方法及裝置。
[0004] 為實現(xiàn)上述發(fā)明目的之一,本發(fā)明一實施方式提供了一種平臺化日志分析的計算 方法,所述方法包括:
[0005] 接收第一條件組,形成第一計算規(guī)則;
[0006] 接收第二條件組,形成第二計算規(guī)則;
[0007] 若所述第二計算規(guī)則對應(yīng)的預(yù)期結(jié)果集是所述第一計算規(guī)則對應(yīng)的結(jié)果集的子 集,則將所述第一計算規(guī)則的結(jié)果集作為所述第二計算規(guī)則匹配的輸入數(shù)據(jù)。
[0008] 作為本發(fā)明一實施方式的進一步改進,所述方法包括:
[0009] 若所述第二計算規(guī)則對應(yīng)的預(yù)期結(jié)果集和所述第一計算規(guī)則對應(yīng)的結(jié)果集相同, 則將所述第一計算規(guī)則的結(jié)果集作為所述第二計算規(guī)則的結(jié)果集。
[0010] 作為本發(fā)明一實施方式的進一步改進,每個條件組均包括相應(yīng)的關(guān)聯(lián)維度、計算 數(shù)值列和計算方法。
[0011] 作為本發(fā)明一實施方式的進一步改進,所述若所述第二計算規(guī)則對應(yīng)的預(yù)期結(jié)果 集算是所述第一計算規(guī)則對應(yīng)的結(jié)果集的子集,具體包括:
[0012] 若所述第二計算規(guī)則的關(guān)聯(lián)維度是所述第一計算規(guī)則的關(guān)聯(lián)維度的子集,且所述 第一計算規(guī)則的計算數(shù)值列包括所述第二計算規(guī)則的計算數(shù)值列,所述第一計算規(guī)則的計 算方法包括所述第二計算規(guī)則的計算方法,則所述第二計算規(guī)則對應(yīng)的預(yù)期結(jié)果集是所述 第一計算規(guī)則對應(yīng)的結(jié)果集的子集。
[0013] 作為本發(fā)明一實施方式的進一步改進,所述每個計算規(guī)則中均包括更新周期;所 述方法還包括:
[0014] 根據(jù)所述更新周期更新所述第一計算規(guī)則的結(jié)果集。
[0015] 作為本發(fā)明一實施方式的進一步改進,每個條件組均包括節(jié)點符號,所述方法還 包括:
[0016] 通過至少兩個日志模型的節(jié)點符號,將至少兩個日志模型進行關(guān)聯(lián)計算。
[0017] 為實現(xiàn)上述發(fā)明目的之一,本發(fā)明一實施方式提供了一種平臺化日志分析的計算 方法,所述方法包括:
[0018] 接收第一條件組,形成第一計算規(guī)則;
[0019] 接收第二條件組,形成第二計算規(guī)則;
[0020] 若所述第二計算規(guī)則對應(yīng)的預(yù)期結(jié)果集和所述第一計算規(guī)則對應(yīng)的結(jié)果集相同, 則將所述第一計算規(guī)則的結(jié)果集作為所述第二計算規(guī)則的結(jié)果集。
[0021] 作為本發(fā)明一實施方式的進一步改進,每個條件組均包括相應(yīng)的關(guān)聯(lián)維度、計算 數(shù)值列和計算方法。
[0022] 作為本發(fā)明一實施方式的進一步改進,所述
[0023] 所述第二計算規(guī)則對應(yīng)的預(yù)期結(jié)果集和所述第一計算規(guī)則對應(yīng)的結(jié)果集相同,具 體包括:
[0024] 若所述第二計算規(guī)則的關(guān)聯(lián)維度、計算數(shù)值列、計算規(guī)則和第一計算規(guī)則的關(guān)聯(lián) 維度、計算數(shù)值列和計算方法相同,則所述第二計算規(guī)則對應(yīng)的預(yù)期結(jié)果集和所述第一計 算規(guī)則對應(yīng)的結(jié)果集相同。
[0025] 作為本發(fā)明一實施方式的進一步改進,所述每個計算規(guī)則中均包括更新周期;所 述方法還包括:
[0026] 根據(jù)所述更新周期更新所述第一計算規(guī)則的結(jié)果集。
[0027] 作為本發(fā)明一實施方式的進一步改進,每個條件組均包括節(jié)點符號,所述方法還 包括:
[0028] 通過至少兩個日志模型的節(jié)點符號,將至少兩個日志模型進行關(guān)聯(lián)計算。
[0029] 為實現(xiàn)上述發(fā)明目的之一,本發(fā)明一實施方式提供了一種平臺化日志分析的計算 裝置,所述平臺化日志分析的計算裝置包括:
[0030] 分析處理模塊,用于分別接收第一條件組和第二條件組,并分別對應(yīng)形成第一計 算規(guī)則和第二計算規(guī)則;
[0031] 比對配置模塊,用于若所述第二計算規(guī)則對應(yīng)的預(yù)期結(jié)果集是所述第一計算規(guī)則 對應(yīng)的結(jié)果集的子集,則將所述第一計算規(guī)則的結(jié)果集作為所述第二計算規(guī)則匹配的輸入 數(shù)據(jù)。
[0032] 作為本發(fā)明一實施方式的進一步改進,所述比對配置模塊還用于:
[0033] 判斷所述第二計算規(guī)則對應(yīng)的預(yù)期結(jié)果集和所述第一計算規(guī)則對應(yīng)的結(jié)果集是 否相同,若是,則將所述第一計算規(guī)則的結(jié)果集作為所述第二計算規(guī)則的結(jié)果集。
[0034] 作為本發(fā)明一實施方式的進一步改進,每個條件組均包括相應(yīng)的關(guān)聯(lián)維度、計算 數(shù)值列和計算方法。
[0035] 作為本發(fā)明一實施方式的進一步改進,所述比對配置模塊還用于:
[0036] 判斷所述第二計算規(guī)則的關(guān)聯(lián)維度是否是所述第一計算規(guī)則的關(guān)聯(lián)維度的子集, 且所述第一計算規(guī)則的計算數(shù)值列是否包括所述第二計算規(guī)則的計算數(shù)值列,所述第一計 算規(guī)則的計算方法是否包括所述第二計算規(guī)則的計算方法,若都是,則所述第二計算規(guī)則 對應(yīng)的預(yù)期結(jié)果集是所述第一計算規(guī)則對應(yīng)的結(jié)果集的子集。
[0037] 作為本發(fā)明一實施方式的進一步改進,所述每個計算規(guī)則中均包括更新周期;所 述平臺化日志分析的計算裝置還包括更新模塊,所述更新模塊用于根據(jù)所述更新周期更新 所述第一計算規(guī)則的結(jié)果集。
[0038] 作為本發(fā)明一實施方式的進一步改進,每個條件組均包括節(jié)點符號,所述平臺化 日志分析的計算裝置還包括關(guān)聯(lián)模塊,所述關(guān)聯(lián)模塊用于通過至少兩個日志模型的節(jié)點符 號,將至少兩個日志模型進行關(guān)聯(lián)計算。
[0039] 為實現(xiàn)上述發(fā)明目的之一,本發(fā)明一實施方式提供了一種平臺化日志分析的計算 裝置,所述平臺化日志分析的計算裝置包括:
[0040] 分析處理模塊,用于分別接收第一條件組和第二條件組,并分別對應(yīng)形成第一計 算規(guī)則和第二計算規(guī)則;
[0041] 比對配置模塊,用于若所述第二計算規(guī)則對應(yīng)的預(yù)期結(jié)果集和所述第一計算規(guī)則 對應(yīng)的結(jié)果集相同,則將所述第一計算規(guī)則的結(jié)果集作為所述第二計算規(guī)則的結(jié)果集。
[0042] 作為本發(fā)明一實施方式的進一步改進,每個條件組均包括相應(yīng)的關(guān)聯(lián)維度、計算 數(shù)值列和計算方法。
[0043] 作為本發(fā)明一實施方式的進一步改進,所述比對配置模塊還用于:
[0044] 判斷所述第二計算規(guī)則的關(guān)聯(lián)維度、計算數(shù)值列、計算規(guī)則是否和第一計算規(guī)則 的關(guān)聯(lián)維度、計算數(shù)值列和計算方法相同,若是,則所述第二計算規(guī)則對應(yīng)的預(yù)期結(jié)果集和 所述第一計算規(guī)則對應(yīng)的結(jié)果集相同。
[0045] 作為本發(fā)明一實施方式的進一步改進,所述每個計算規(guī)則中均包括更新周期;所 述平臺化日志分析的計算裝置還包括更新模塊,所述更新模塊用于根據(jù)所述更新周期更新 所述第一計算規(guī)則的結(jié)果集。
[0046] 作為本發(fā)明一實施方式的進一步改進,每個條件組均包括節(jié)點符號,所述平臺化 日志分析的計算裝置還包括關(guān)聯(lián)模塊,所述關(guān)聯(lián)模塊用于通過至少兩個日志模型的節(jié)點符 號,將至少兩個日志模型進行關(guān)聯(lián)計算。
[0047] 與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:可以通過判斷計算規(guī)則之間的關(guān)聯(lián)程度, 優(yōu)化計算方式,避免冗余計算和冗余存儲。
【附圖說明】
[0048] 圖1是本發(fā)明一實施方式中對SQL進行統(tǒng)計分析的示意圖。
[0049] 圖2是本發(fā)明一實施方式的平臺化日志分析的計算方法的流程圖;
[0050] 圖3是本發(fā)明一實施方式中供用戶配置的可視化建模的界面示意圖;
[0051] 圖4是本發(fā)明一實施方式中針對SQL進行統(tǒng)計分析與先前技術(shù)的對比示意圖;
[0052] 圖5是本發(fā)明一實施方式中將兩個日志模型進行關(guān)聯(lián)的示意圖;
[0053] 圖6是本發(fā)明一實施方式中供用戶配置報表的界面示意圖;
[0054] 圖7是本發(fā)明另一實施方式的平臺化日志分析的計算方法的流程圖;
[0055] 圖8是本發(fā)明一實施方式的平臺化日志分析裝置的模塊圖。
【具體實施方式】
[0056] 以下將結(jié)合附圖所示的各實施方式對本發(fā)明進行詳細描述。但這些實施方式并不 限制本發(fā)明,本領(lǐng)域的普通技術(shù)人員根據(jù)這些實施方式所輕易做出的結(jié)構(gòu)、方法、或功能上 的變換均包含在本發(fā)明的保護范圍內(nèi)。
[0057] 如果每個高速收費站都將過往車輛信息打成日志,通過日志我們可以分析得到例 如每個收費站的車流量、G25高速流量是否過高、各來源占比、國慶期間進入上??傑囕v數(shù)、 浙A123XX的嫌犯車輛的逃亡路線等各種各樣有價值的信息。在日志分析的過程中,首先會 對原始的日志做字符串解析,得到結(jié)構(gòu)化的數(shù)據(jù):
[0058]
[0059] 上表中每行記錄均對應(yīng)一行日志,這些結(jié)構(gòu)化的記錄可以看做是一張數(shù)據(jù)庫中的 表,而日志分析的過程就是對這張表執(zhí)行不同的SQL計算。
[0060] 如圖1所示,將日志分析過程理解為數(shù)據(jù)庫表的SQL計算過程進行分析,第1條 SQL產(chǎn)出的是各個城市+高速+收費站在某個時間段內(nèi)各自的收費總額(比如上個小時杭 州市在轉(zhuǎn)塘收費站上收取的通往G25高速的過路費總額);第2條SQL則只關(guān)心各個城市 的收費總額;第3條SQL則只關(guān)心各個高速的收費總額;第4條SQL和第2條SQL相同。我 們假設(shè)表中的記錄有N條,那這4條SQL各自獨立計算所需要的計算復(fù)雜度至少是4*N(不 考慮索引等因素,最少要全表遍歷4遍)。而在實際場景中,N可能是個天文數(shù)字