国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      日志統(tǒng)計(jì)方法及裝置與流程

      文檔序號:12375779閱讀:557來源:國知局
      日志統(tǒng)計(jì)方法及裝置與流程

      本發(fā)明涉及信息技術(shù)領(lǐng)域,尤其涉及一種日志統(tǒng)計(jì)方法及裝置。



      背景技術(shù):

      目前,通常采用Hadoop分布式文件系統(tǒng)存儲海量的日志,同時(shí)采用MapReduce(Map:映射;Reduce:歸約)框架或者構(gòu)建于MapReduce框架上的Hive系統(tǒng)對日志進(jìn)行離線統(tǒng)計(jì)和分析。當(dāng)出現(xiàn)一個新的統(tǒng)計(jì)需求時(shí),開發(fā)人員需要為該新的統(tǒng)計(jì)需求編寫對應(yīng)的MapReduce程序或者Hive-SQL語句,并在指定的數(shù)據(jù)集上運(yùn)行。

      在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問題:對于每一個統(tǒng)計(jì)需求都需要單獨(dú)開發(fā)程序,造成開發(fā)效率較低,且代碼量大,維護(hù)工作量大;且對于同一份日志的多次掃描將占用大量的集群計(jì)算資源。



      技術(shù)實(shí)現(xiàn)要素:

      技術(shù)問題

      有鑒于此,本發(fā)明要解決的技術(shù)問題是,現(xiàn)有的日志統(tǒng)計(jì)方式的開發(fā)工作量較大,維護(hù)難度大,且占用大量的集群計(jì)算資源。

      解決方案

      為了解決上述技術(shù)問題,根據(jù)本發(fā)明的一實(shí)施例,提供了一種日志統(tǒng)計(jì)方法,包括:

      獲取日志,并將所述日志的每行分別轉(zhuǎn)換為日志項(xiàng)目;

      分別將每個所述日志項(xiàng)目在統(tǒng)計(jì)規(guī)則集中進(jìn)行匹配,以確定與每個所述日志項(xiàng)目匹配的統(tǒng)計(jì)規(guī)則;

      根據(jù)與每個所述日志項(xiàng)目匹配的統(tǒng)計(jì)規(guī)則,統(tǒng)計(jì)每條統(tǒng)計(jì)規(guī)則匹配的所述日志項(xiàng)目的數(shù)量。

      對于上述方法,在一種可能的實(shí)現(xiàn)方式中,在分別將每個所述日志項(xiàng)目在統(tǒng)計(jì)規(guī)則集中進(jìn)行匹配之前,所述方法還包括:

      根據(jù)用戶的統(tǒng)計(jì)需求創(chuàng)建統(tǒng)計(jì)規(guī)則;

      根據(jù)所述統(tǒng)計(jì)規(guī)則生成所述統(tǒng)計(jì)規(guī)則集。

      對于上述方法,在一種可能的實(shí)現(xiàn)方式中,根據(jù)所述統(tǒng)計(jì)規(guī)則生成所述統(tǒng)計(jì)規(guī)則集,具體為:

      根據(jù)已啟用的統(tǒng)計(jì)規(guī)則生成所述統(tǒng)計(jì)規(guī)則集。

      對于上述方法,在一種可能的實(shí)現(xiàn)方式中,在分別將每個所述日志項(xiàng)目在統(tǒng)計(jì)規(guī)則集中進(jìn)行匹配之前,所述方法還包括:采用所述統(tǒng)計(jì)規(guī)則集初始化規(guī)則引擎;

      分別將每個所述日志項(xiàng)目在統(tǒng)計(jì)規(guī)則集中進(jìn)行匹配,具體為:調(diào)用所述規(guī)則引擎分別將每個所述日志項(xiàng)目與所述統(tǒng)計(jì)規(guī)則集中的每條統(tǒng)計(jì)規(guī)則進(jìn)行匹配。

      對于上述方法,在一種可能的實(shí)現(xiàn)方式中,在統(tǒng)計(jì)每條統(tǒng)計(jì)規(guī)則匹配的所述日志項(xiàng)目的數(shù)量之后,所述方法還包括:

      將每條統(tǒng)計(jì)規(guī)則匹配的所述日志項(xiàng)目的數(shù)量寫入結(jié)果數(shù)據(jù)庫中。

      為了解決上述技術(shù)問題,根據(jù)本發(fā)明的另一實(shí)施例,提供了一種日志統(tǒng)計(jì)裝置,包括:

      轉(zhuǎn)換模塊,用于獲取日志,并將所述日志的每行分別轉(zhuǎn)換為日志項(xiàng)目;

      統(tǒng)計(jì)規(guī)則匹配模塊,用于分別將每個所述日志項(xiàng)目在統(tǒng)計(jì)規(guī)則集中進(jìn)行匹配,以確定與每個所述日志項(xiàng)目匹配的統(tǒng)計(jì)規(guī)則;

      統(tǒng)計(jì)模塊,用于根據(jù)與每個所述日志項(xiàng)目匹配的統(tǒng)計(jì)規(guī)則,統(tǒng)計(jì)每條統(tǒng)計(jì)規(guī)則匹配的所述日志項(xiàng)目的數(shù)量。

      對于上述裝置,在一種可能的實(shí)現(xiàn)方式中,所述裝置還包括:

      統(tǒng)計(jì)規(guī)則創(chuàng)建模塊,用于根據(jù)用戶的統(tǒng)計(jì)需求創(chuàng)建統(tǒng)計(jì)規(guī)則;

      統(tǒng)計(jì)規(guī)則集生成模塊,用于根據(jù)所述統(tǒng)計(jì)規(guī)則生成所述統(tǒng)計(jì)規(guī)則集。

      對于上述裝置,在一種可能的實(shí)現(xiàn)方式中,所述統(tǒng)計(jì)規(guī)則集生成模塊具體用于:

      根據(jù)已啟用的統(tǒng)計(jì)規(guī)則生成所述統(tǒng)計(jì)規(guī)則集。

      對于上述裝置,在一種可能的實(shí)現(xiàn)方式中,所述裝置還包括:

      規(guī)則引擎初始化模塊,用于采用所述統(tǒng)計(jì)規(guī)則集初始化規(guī)則引擎;

      所述統(tǒng)計(jì)規(guī)則匹配模塊具體用于:調(diào)用所述規(guī)則引擎分別將每個所述日志項(xiàng)目與所述統(tǒng)計(jì)規(guī)則集中的每條統(tǒng)計(jì)規(guī)則進(jìn)行匹配。

      對于上述裝置,在一種可能的實(shí)現(xiàn)方式中,所述裝置還包括:

      統(tǒng)計(jì)結(jié)果寫入模塊,用于將每條統(tǒng)計(jì)規(guī)則匹配的所述日志項(xiàng)目的數(shù)量寫入結(jié)果數(shù)據(jù)庫中。

      有益效果

      通過獲取日志,將日志的每行分別轉(zhuǎn)換為日志項(xiàng)目,分別將每個日志項(xiàng)目在統(tǒng)計(jì)規(guī)則集中進(jìn)行匹配,以確定與每個日志項(xiàng)目匹配的統(tǒng)計(jì)規(guī)則,根據(jù)與每個日志項(xiàng)目匹配的統(tǒng)計(jì)規(guī)則,統(tǒng)計(jì)每條統(tǒng)計(jì)規(guī)則匹配的日志項(xiàng)目的數(shù)量,根據(jù)本發(fā)明實(shí)施例的日志統(tǒng)計(jì)方法及裝置在統(tǒng)計(jì)需求新增和修改時(shí)無需改動代碼,減小了代碼量和開發(fā)工作量,減少了相關(guān)代碼和腳本的維護(hù)工作,提高了開發(fā)效率,便于統(tǒng)計(jì)需求的擴(kuò)展,且對于一個日志僅需掃描一次,節(jié)省了集群計(jì)算資源,提高了統(tǒng)計(jì)效率。

      根據(jù)下面參考附圖對示例性實(shí)施例的詳細(xì)說明,本發(fā)明的其它特征及方面將變得清楚。

      附圖說明

      包含在說明書中并且構(gòu)成說明書的一部分的附圖與說明書一起示出了本發(fā)明的示例性實(shí)施例、特征和方面,并且用于解釋本發(fā)明的原理。

      圖1示出根據(jù)本發(fā)明一實(shí)施例的日志統(tǒng)計(jì)方法的實(shí)現(xiàn)流程圖;

      圖2示出根據(jù)本發(fā)明一實(shí)施例的日志統(tǒng)計(jì)方法的一示例性的實(shí)現(xiàn)流程圖;

      圖3示出根據(jù)本發(fā)明一實(shí)施例的日志統(tǒng)計(jì)方法的一示例性的實(shí)現(xiàn)流程圖;

      圖4示出根據(jù)本發(fā)明一實(shí)施例的日志統(tǒng)計(jì)方法的一示例性的實(shí)現(xiàn)流程圖;

      圖5示出根據(jù)本發(fā)明一實(shí)施例的日志統(tǒng)計(jì)方法的一示例性的實(shí)現(xiàn)流程圖;

      圖6示出根據(jù)本發(fā)明一實(shí)施例的日志統(tǒng)計(jì)方法的一示例性的實(shí)現(xiàn)流程圖;

      圖7示出根據(jù)本發(fā)明另一實(shí)施例的日志統(tǒng)計(jì)裝置的結(jié)構(gòu)框圖;

      圖8示出根據(jù)本發(fā)明另一實(shí)施例的日志統(tǒng)計(jì)裝置的一示例性的結(jié)構(gòu)框圖;

      圖9示出了本發(fā)明的另一個實(shí)施例的一種日志統(tǒng)計(jì)設(shè)備的結(jié)構(gòu)框圖。

      具體實(shí)施方式

      以下將參考附圖詳細(xì)說明本發(fā)明的各種示例性實(shí)施例、特征和方面。附圖中相同的附圖標(biāo)記表示功能相同或相似的元件。盡管在附圖中示出了實(shí)施例的各種方面,但是除非特別指出,不必按比例繪制附圖。

      在這里專用的詞“示例性”意為“用作例子、實(shí)施例或說明性”。這里作為“示例性”所說明的任何實(shí)施例不必解釋為優(yōu)于或好于其它實(shí)施例。

      另外,為了更好的說明本發(fā)明,在下文的具體實(shí)施方式中給出了眾多的具體細(xì)節(jié)。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,沒有某些具體細(xì)節(jié),本發(fā)明同樣可以實(shí)施。在一些實(shí)例中,對于本領(lǐng)域技術(shù)人員熟知的方法、手段、元件和電路未作詳細(xì)描述,以便于凸顯本發(fā)明的主旨。

      實(shí)施例1

      圖1示出根據(jù)本發(fā)明一實(shí)施例的日志統(tǒng)計(jì)方法的實(shí)現(xiàn)流程圖。如圖1所示,該方法主要包括:

      在步驟S101中,獲取日志,并將日志的每行分別轉(zhuǎn)換為日志項(xiàng)目。

      作為本發(fā)明實(shí)施例的一個示例,在步驟S101之前,該方法還可以包括:通過日志采集系統(tǒng)進(jìn)行收集各業(yè)務(wù)相關(guān)的日志,并通過日志采集系統(tǒng)對收集的日志進(jìn)行處理,再將處理后的日志存儲在例如HDFS(Hadoop Distributed File System,Hadoop分布式文件系統(tǒng))中。HDFS可以按照指定格式存儲日志,例如,在HDFS中存儲的日志的每一行的各個字段都可以根據(jù)指定格式有明確的含義,各個字段之間還可以用約定的分隔符進(jìn)行間隔。

      作為本發(fā)明實(shí)施例的一個示例,獲取日志可以為:從HDFS中獲取日志。

      在步驟S102中,分別將每個日志項(xiàng)目在統(tǒng)計(jì)規(guī)則集中進(jìn)行匹配,以確定與每個日志項(xiàng)目匹配的統(tǒng)計(jì)規(guī)則。

      在步驟S103中,根據(jù)與每個日志項(xiàng)目匹配的統(tǒng)計(jì)規(guī)則,統(tǒng)計(jì)每條統(tǒng)計(jì)規(guī)則匹配的日志項(xiàng)目的數(shù)量。

      作為本發(fā)明實(shí)施例的一個示例,在確定與每個日志項(xiàng)目匹配的統(tǒng)計(jì)規(guī)則后,可以進(jìn)行Reduce(歸約)處理,從而得到每條統(tǒng)計(jì)規(guī)則匹配的日志項(xiàng)目的數(shù)量。

      圖2示出根據(jù)本發(fā)明一實(shí)施例的日志統(tǒng)計(jì)方法的一示例性的實(shí)現(xiàn)流程圖。如圖2所示,該方法包括:

      在步驟S201中,根據(jù)用戶的統(tǒng)計(jì)需求創(chuàng)建統(tǒng)計(jì)規(guī)則。

      例如,統(tǒng)計(jì)需求可以為統(tǒng)計(jì)頁面訪問量、統(tǒng)計(jì)每小時(shí)的頁面訪問量或者統(tǒng)計(jì)用戶的訪問設(shè)備等。以視頻網(wǎng)站為例,統(tǒng)計(jì)需求可以為統(tǒng)計(jì)視頻的曝光量、點(diǎn)擊量、評論量或者頂踩量等。需要說明的是,統(tǒng)計(jì)需求可以由統(tǒng)計(jì)人員根據(jù)具體應(yīng)用場景進(jìn)行設(shè)計(jì),在這里僅僅是對統(tǒng)計(jì)需求進(jìn)行舉例,并不對統(tǒng)計(jì)需求進(jìn)行具體限定。

      在步驟S202中,根據(jù)統(tǒng)計(jì)規(guī)則生成統(tǒng)計(jì)規(guī)則集。

      作為本發(fā)明實(shí)施例的一個示例,統(tǒng)計(jì)需求可以用統(tǒng)計(jì)規(guī)則來描述,根據(jù)統(tǒng)計(jì)需求可以創(chuàng)建統(tǒng)計(jì)規(guī)則,并可以將統(tǒng)計(jì)規(guī)則存儲在統(tǒng)計(jì)規(guī)則配置庫中,由此,各個統(tǒng)計(jì)需求都可以通過配置統(tǒng)計(jì)規(guī)則配置庫來存儲,從而能夠方便統(tǒng)計(jì)需求的新增與修改。例如,統(tǒng)計(jì)規(guī)則的核心可以為regex(Regular Expression,正則表達(dá)式)字段,regex字段的書寫可以遵循DRL(Drools Rule Language,Drools規(guī)則語言)中LHS(Left Hand Side,左邊)條件部分的域約束(Field Constraints)的語法規(guī)范。

      在步驟S203中,獲取日志,并將日志的每行分別轉(zhuǎn)換為日志項(xiàng)目。

      在步驟S204中,分別將每個日志項(xiàng)目在統(tǒng)計(jì)規(guī)則集中進(jìn)行匹配,以確定與每個日志項(xiàng)目匹配的統(tǒng)計(jì)規(guī)則。

      在步驟S205中,根據(jù)與每個日志項(xiàng)目匹配的統(tǒng)計(jì)規(guī)則,統(tǒng)計(jì)每條統(tǒng)計(jì)規(guī)則匹配的日志項(xiàng)目的數(shù)量。

      圖3示出根據(jù)本發(fā)明一實(shí)施例的日志統(tǒng)計(jì)方法的一示例性的實(shí)現(xiàn)流程圖。如圖3所示,該方法包括:

      在步驟S301中,根據(jù)用戶的統(tǒng)計(jì)需求創(chuàng)建統(tǒng)計(jì)規(guī)則。

      在步驟S302中,根據(jù)已啟用的統(tǒng)計(jì)規(guī)則生成統(tǒng)計(jì)規(guī)則集。

      作為本發(fā)明實(shí)施例的一個示例,統(tǒng)計(jì)規(guī)則可以包含開關(guān)字段,例如enabled字段。各條統(tǒng)計(jì)規(guī)則的開關(guān)字段可以分別用于確定各條統(tǒng)計(jì)規(guī)則是否啟用。在該示例中,可以由統(tǒng)計(jì)人員通過開關(guān)字段控制統(tǒng)計(jì)規(guī)則的啟用與停用。

      在步驟S303中,獲取日志,并將日志的每行分別轉(zhuǎn)換為日志項(xiàng)目。

      在步驟S304中,分別將每個日志項(xiàng)目在統(tǒng)計(jì)規(guī)則集中進(jìn)行匹配,以確定與每個日志項(xiàng)目匹配的統(tǒng)計(jì)規(guī)則。

      在步驟S305中,根據(jù)與每個日志項(xiàng)目匹配的統(tǒng)計(jì)規(guī)則,統(tǒng)計(jì)每條統(tǒng)計(jì)規(guī)則匹配的日志項(xiàng)目的數(shù)量。

      圖4示出根據(jù)本發(fā)明一實(shí)施例的日志統(tǒng)計(jì)方法的一示例性的實(shí)現(xiàn)流程圖。如圖4所示,該方法包括:

      在步驟S401中,采用統(tǒng)計(jì)規(guī)則集初始化規(guī)則引擎。

      作為本發(fā)明實(shí)施例的一個示例,用于初始化規(guī)則引擎的統(tǒng)計(jì)規(guī)則集可以包括所有已啟用的統(tǒng)計(jì)規(guī)則,而不包括已停用的統(tǒng)計(jì)規(guī)則。

      在步驟S402中,獲取日志,并將日志的每行分別轉(zhuǎn)換為日志項(xiàng)目。

      作為本發(fā)明實(shí)施例的一個示例,日志項(xiàng)目可以作為item(項(xiàng)目)對象,例如JavaBean,以通過規(guī)則引擎進(jìn)行匹配處理。

      在步驟S403中,調(diào)用規(guī)則引擎分別將每個日志項(xiàng)目與統(tǒng)計(jì)規(guī)則集中的每條統(tǒng)計(jì)規(guī)則進(jìn)行匹配,以確定與每個日志項(xiàng)目匹配的統(tǒng)計(jì)規(guī)則。

      作為本發(fā)明實(shí)施例的一個示例,可以調(diào)用規(guī)則引擎對每個日志項(xiàng)目逐一進(jìn)行匹配處理。若某個日志項(xiàng)目命中某條統(tǒng)計(jì)規(guī)則,則確定該日志項(xiàng)目與該條統(tǒng)計(jì)規(guī)則匹配。在確定某條統(tǒng)計(jì)規(guī)則與某個日志項(xiàng)目匹配之后,可以將該條統(tǒng)計(jì)規(guī)則的ID(Identification,唯一編號)添加到該日志項(xiàng)目對應(yīng)的規(guī)則ID列表中。

      在步驟S404中,根據(jù)與每個日志項(xiàng)目匹配的統(tǒng)計(jì)規(guī)則,統(tǒng)計(jì)每條統(tǒng)計(jì)規(guī)則匹配的日志項(xiàng)目的數(shù)量。

      圖5示出根據(jù)本發(fā)明一實(shí)施例的日志統(tǒng)計(jì)方法的一示例性的實(shí)現(xiàn)流程圖。如圖5所示,該方法包括:

      在步驟S501中,獲取日志,并將日志的每行分別轉(zhuǎn)換為日志項(xiàng)目。

      在步驟S502中,分別將每個日志項(xiàng)目在統(tǒng)計(jì)規(guī)則集中進(jìn)行匹配,以確定與每個日志項(xiàng)目匹配的統(tǒng)計(jì)規(guī)則。

      在步驟S503中,根據(jù)與每個日志項(xiàng)目匹配的統(tǒng)計(jì)規(guī)則,統(tǒng)計(jì)每條統(tǒng)計(jì)規(guī)則匹配的日志項(xiàng)目的數(shù)量。

      在步驟S504中,將每條統(tǒng)計(jì)規(guī)則匹配的日志項(xiàng)目的數(shù)量寫入結(jié)果數(shù)據(jù)庫中。

      作為本發(fā)明實(shí)施例的一個示例,在統(tǒng)計(jì)得到每條統(tǒng)計(jì)規(guī)則匹配的日志項(xiàng)目的數(shù)量之后,可以按照統(tǒng)計(jì)規(guī)則的ID,將每條統(tǒng)計(jì)規(guī)則匹配的日志項(xiàng)目的數(shù)量寫入結(jié)果數(shù)據(jù)庫中,從而通過結(jié)果數(shù)據(jù)庫存儲統(tǒng)計(jì)結(jié)果。

      圖6示出根據(jù)本發(fā)明一實(shí)施例的日志統(tǒng)計(jì)方法的一示例性的實(shí)現(xiàn)流程圖。如圖6所示,該方法包括:

      在步驟S601中,從統(tǒng)計(jì)規(guī)則配置庫中讀取統(tǒng)計(jì)規(guī)則集。

      在步驟S602中,將統(tǒng)計(jì)規(guī)則集中的每個統(tǒng)計(jì)規(guī)則設(shè)置DRL為:若一日志項(xiàng)目命中該統(tǒng)計(jì)規(guī)則,則將該統(tǒng)計(jì)規(guī)則的ID添加到該日志項(xiàng)目對應(yīng)的規(guī)則ID列表中。

      在步驟S603中,采用統(tǒng)計(jì)規(guī)則集初始化規(guī)則引擎。

      在步驟S604中,按行掃描日志,并將日志的每行分別轉(zhuǎn)換為日志項(xiàng)目(JavaBean)。

      在步驟S605中,對日志項(xiàng)目執(zhí)行規(guī)則引擎。

      在步驟S606中,對執(zhí)行規(guī)則引擎的結(jié)果進(jìn)行歸約處理,得到與每條統(tǒng)計(jì)規(guī)則匹配的日志項(xiàng)目的數(shù)量。

      在步驟S607中,按照統(tǒng)計(jì)規(guī)則的ID將統(tǒng)計(jì)結(jié)果寫入結(jié)果數(shù)據(jù)庫中。

      這樣,通過獲取日志,將日志的每行分別轉(zhuǎn)換為日志項(xiàng)目,分別將每個日志項(xiàng)目在統(tǒng)計(jì)規(guī)則集中進(jìn)行匹配,以確定與每個日志項(xiàng)目匹配的統(tǒng)計(jì)規(guī)則,根據(jù)與每個日志項(xiàng)目匹配的統(tǒng)計(jì)規(guī)則,統(tǒng)計(jì)每條統(tǒng)計(jì)規(guī)則匹配的日志項(xiàng)目的數(shù)量,根據(jù)本發(fā)明實(shí)施例的日志統(tǒng)計(jì)方法在統(tǒng)計(jì)需求新增和修改時(shí)無需改動代碼,減小了代碼量和開發(fā)工作量,減少了相關(guān)代碼和腳本的維護(hù)工作,提高了開發(fā)效率,便于統(tǒng)計(jì)需求的擴(kuò)展,且對于一個日志僅需掃描一次,節(jié)省了集群計(jì)算資源,提高了統(tǒng)計(jì)效率。

      實(shí)施例2

      圖7示出根據(jù)本發(fā)明另一實(shí)施例的日志統(tǒng)計(jì)裝置的結(jié)構(gòu)框圖。該裝置可以用于運(yùn)行圖1所示的日志統(tǒng)計(jì)方法。為了便于說明,在圖7中僅示出了與該實(shí)施例相關(guān)的部分。

      如圖7所示,該裝置包括:轉(zhuǎn)換模塊71,用于獲取日志,并將所述日志的每行分別轉(zhuǎn)換為日志項(xiàng)目;統(tǒng)計(jì)規(guī)則匹配模塊72,用于分別將每個所述日志項(xiàng)目在統(tǒng)計(jì)規(guī)則集中進(jìn)行匹配,以確定與每個所述日志項(xiàng)目匹配的統(tǒng)計(jì)規(guī)則;統(tǒng)計(jì)模塊73,用于根據(jù)與每個所述日志項(xiàng)目匹配的統(tǒng)計(jì)規(guī)則,統(tǒng)計(jì)每條統(tǒng)計(jì)規(guī)則匹配的所述日志項(xiàng)目的數(shù)量。

      圖8示出根據(jù)本發(fā)明另一實(shí)施例的日志統(tǒng)計(jì)裝置的一示例性的結(jié)構(gòu)框圖。該裝置可以用于運(yùn)行圖1至圖6所示的日志統(tǒng)計(jì)方法。圖8中標(biāo)號與圖7相同的組件具有相同的功能,為簡明起見,省略對這些組件的詳細(xì)說明。為了便于說明,在圖8中僅示出了與該實(shí)施例相關(guān)的部分。如圖8所示:

      在一種可能的實(shí)現(xiàn)方式中,所述裝置還包括:統(tǒng)計(jì)規(guī)則創(chuàng)建模塊74,用于根據(jù)用戶的統(tǒng)計(jì)需求創(chuàng)建統(tǒng)計(jì)規(guī)則;統(tǒng)計(jì)規(guī)則集生成模塊75,用于根據(jù)所述統(tǒng)計(jì)規(guī)則生成所述統(tǒng)計(jì)規(guī)則集。

      在一種可能的實(shí)現(xiàn)方式中,所述統(tǒng)計(jì)規(guī)則集生成模塊75具體用于:根據(jù)已啟用的統(tǒng)計(jì)規(guī)則生成所述統(tǒng)計(jì)規(guī)則集。

      在一種可能的實(shí)現(xiàn)方式中,所述裝置還包括:規(guī)則引擎初始化模塊76,用于采用所述統(tǒng)計(jì)規(guī)則集初始化規(guī)則引擎;所述統(tǒng)計(jì)規(guī)則匹配模塊72具體用于:調(diào)用所述規(guī)則引擎分別將每個所述日志項(xiàng)目與所述統(tǒng)計(jì)規(guī)則集中的每條統(tǒng)計(jì)規(guī)則進(jìn)行匹配。

      在一種可能的實(shí)現(xiàn)方式中,所述裝置還包括:統(tǒng)計(jì)結(jié)果寫入模塊77,用于將每條統(tǒng)計(jì)規(guī)則匹配的所述日志項(xiàng)目的數(shù)量寫入結(jié)果數(shù)據(jù)庫中。

      需要說明的是,這樣,通過獲取日志,將日志的每行分別轉(zhuǎn)換為日志項(xiàng)目,分別將每個日志項(xiàng)目在統(tǒng)計(jì)規(guī)則集中進(jìn)行匹配,以確定與每個日志項(xiàng)目匹配的統(tǒng)計(jì)規(guī)則,根據(jù)與每個日志項(xiàng)目匹配的統(tǒng)計(jì)規(guī)則,統(tǒng)計(jì)每條統(tǒng)計(jì)規(guī)則匹配的日志項(xiàng)目的數(shù)量,根據(jù)本發(fā)明實(shí)施例的日志統(tǒng)計(jì)裝置在統(tǒng)計(jì)需求新增和修改時(shí)無需改動代碼,減小了代碼量和開發(fā)工作量,減少了相關(guān)代碼和腳本的維護(hù)工作,提高了開發(fā)效率,便于統(tǒng)計(jì)需求的擴(kuò)展,且對于一個日志僅需掃描一次,節(jié)省了集群計(jì)算資源,提高了統(tǒng)計(jì)效率。

      實(shí)施例3

      圖9示出了本發(fā)明的另一個實(shí)施例的一種日志統(tǒng)計(jì)設(shè)備的結(jié)構(gòu)框圖。所述日志統(tǒng)計(jì)設(shè)備1100可以是具備計(jì)算能力的主機(jī)服務(wù)器、個人計(jì)算機(jī)PC、或者可攜帶的便攜式計(jì)算機(jī)或終端等。本發(fā)明具體實(shí)施例并不對計(jì)算節(jié)點(diǎn)的具體實(shí)現(xiàn)做限定。

      所述日志統(tǒng)計(jì)設(shè)備1100包括處理器(processor)1110、通信接口(Communications Interface)1120、存儲器(memory)1130和總線1140。其中,處理器1110、通信接口1120、以及存儲器1130通過總線1140完成相互間的通信。

      通信接口1120用于與網(wǎng)絡(luò)設(shè)備通信,其中網(wǎng)絡(luò)設(shè)備包括例如虛擬機(jī)管理中心、共享存儲等。

      處理器1110用于執(zhí)行程序。處理器1110可能是一個中央處理器CPU,或者是專用集成電路ASIC(Application Specific Integrated Circuit),或者是被配置成實(shí)施本發(fā)明實(shí)施例的一個或多個集成電路。

      存儲器1130用于存放文件。存儲器1130可能包含高速RAM存儲器,也可能還包括非易失性存儲器(non-volatile memory),例如至少一個磁盤存儲器。存儲器1130也可以是存儲器陣列。存儲器1130還可能被分塊,并且所述塊可按一定的規(guī)則組合成虛擬卷。

      在一種可能的實(shí)施方式中,上述程序可為包括計(jì)算機(jī)操作指令的程序代碼。該程序具體可用于:實(shí)現(xiàn)實(shí)施例1中各步驟的操作。

      本領(lǐng)域普通技術(shù)人員可以意識到,本文所描述的實(shí)施例中的各示例性單元及算法步驟,能夠以電子硬件、或者計(jì)算機(jī)軟件和電子硬件的結(jié)合來實(shí)現(xiàn)。這些功能究竟以硬件還是軟件形式來實(shí)現(xiàn),取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以針對特定的應(yīng)用選擇不同的方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。

      如果以計(jì)算機(jī)軟件的形式來實(shí)現(xiàn)所述功能并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),則在一定程度上可認(rèn)為本發(fā)明的技術(shù)方案的全部或部分(例如對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分)是以計(jì)算機(jī)軟件產(chǎn)品的形式體現(xiàn)的。該計(jì)算機(jī)軟件產(chǎn)品通常存儲在計(jì)算機(jī)可讀取的非易失性存儲介質(zhì)中,包括若干指令用以使得計(jì)算機(jī)設(shè)備(可以是個人計(jì)算機(jī)、服務(wù)器、或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各實(shí)施例方法的全部或部分步驟。而前述的存儲介質(zhì)包括U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機(jī)存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。

      以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。

      當(dāng)前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1