欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

日志校驗(yàn)方法及裝置的制造方法

文檔序號(hào):10489066閱讀:387來(lái)源:國(guó)知局
日志校驗(yàn)方法及裝置的制造方法
【專(zhuān)利摘要】本公開(kāi)是關(guān)于一種日志校驗(yàn)方法及裝置,屬于分布式技術(shù)領(lǐng)域。所述方法包括:獲取待校驗(yàn)的日志數(shù)據(jù),所述日志數(shù)據(jù)中包括多條消息的中間結(jié)果數(shù)據(jù);根據(jù)第一解析字段對(duì)所述日志數(shù)據(jù)進(jìn)行分類(lèi),得到至少一組分類(lèi)數(shù)據(jù);對(duì)于每一組分類(lèi)數(shù)據(jù),根據(jù)第二解析字段,對(duì)所述分類(lèi)數(shù)據(jù)中同一條消息的多個(gè)中間結(jié)果數(shù)據(jù)進(jìn)行合并,形成至少一條消息的處理路徑;基于每一條消息的處理路徑對(duì)所述日志數(shù)據(jù)的處理流程完整性進(jìn)行校驗(yàn)。由于在非日志處理的其他時(shí)段對(duì)日志數(shù)據(jù)進(jìn)行了分類(lèi)并基于分類(lèi)對(duì)中間結(jié)果數(shù)據(jù)進(jìn)行了路徑關(guān)聯(lián)性合并,進(jìn)而完成日志完整性校驗(yàn),減少了中間結(jié)果數(shù)據(jù)的長(zhǎng)度,校驗(yàn)效果較佳,可靠性好。
【專(zhuān)利說(shuō)明】
曰志校驗(yàn)方法及裝置
技術(shù)領(lǐng)域
[0001 ]本公開(kāi)涉及分布式技術(shù)領(lǐng)域,特別涉及一種日志校驗(yàn)方法及裝置。
【背景技術(shù)】
[0002]在分布式環(huán)境下,用于對(duì)用戶(hù)行為進(jìn)行記錄的日志通常會(huì)存儲(chǔ)在HDFS(Had00pDistributed File System,分布式文件系統(tǒng))中,再使用Storm等工具對(duì)日志進(jìn)行處理。在處理過(guò)程中,由于日志散落在分布式集群的各個(gè)節(jié)點(diǎn)中,這便需要主動(dòng)對(duì)每條日志的處理流程進(jìn)行校驗(yàn),檢查每條日志在處理時(shí)是否經(jīng)過(guò)了全部的處理流程,以確保日志處理流程的完整性。
[0003]相關(guān)技術(shù)中直接在日志處理過(guò)程中對(duì)日志處理流程的完整性進(jìn)行校驗(yàn),一般是一邊進(jìn)行日志處理,一邊進(jìn)行中間結(jié)果數(shù)據(jù)合并,使得同一條消息的所有中間結(jié)果數(shù)據(jù)都被合并在一起。

【發(fā)明內(nèi)容】

[0004]為克服相關(guān)技術(shù)中存在的問(wèn)題,本公開(kāi)提供一種日志校驗(yàn)方法及裝置。
[0005]根據(jù)本公開(kāi)實(shí)施例的第一方面,提供一種日志校驗(yàn)方法,所述方法包括:
[0006]獲取待校驗(yàn)的日志數(shù)據(jù),所述日志數(shù)據(jù)中包括多條消息的中間結(jié)果數(shù)據(jù);
[0007]根據(jù)第一解析字段對(duì)所述日志數(shù)據(jù)進(jìn)行分類(lèi),得到至少一組分類(lèi)數(shù)據(jù);
[0008]對(duì)于每一組分類(lèi)數(shù)據(jù),根據(jù)第二解析字段,對(duì)所述分類(lèi)數(shù)據(jù)中同一條消息的多個(gè)中間結(jié)果數(shù)據(jù)進(jìn)行合并,形成至少一條消息的處理路徑;
[0009]基于每一條消息的處理路徑對(duì)所述日志數(shù)據(jù)的處理流程完整性進(jìn)行校驗(yàn)。
[0010]在另一個(gè)實(shí)施例中,所述基于每一條消息的處理路徑對(duì)所述日志數(shù)據(jù)的處理流程完整性進(jìn)行校驗(yàn),包括:
[0011]對(duì)于每一條消息,對(duì)所述消息的處理路徑上中間結(jié)果數(shù)據(jù)的合并處理執(zhí)行先后順序進(jìn)行排序,確定最后一次合并處理形成的中間結(jié)果數(shù)據(jù)集合;
[0012]對(duì)所述中間結(jié)果數(shù)據(jù)集合中每一條處理路徑的入口數(shù)和出口數(shù)進(jìn)行統(tǒng)計(jì);
[0013]若任意一條處理路徑的出口數(shù)大于入口數(shù),則檢測(cè)出所述日志數(shù)據(jù)不完整。
[0014]在另一個(gè)實(shí)施例中,所述根據(jù)第一解析字段對(duì)所述日志數(shù)據(jù)進(jìn)行分類(lèi),得到至少一組分類(lèi)數(shù)據(jù)之前,所述方法還包括:
[0015]將所述日志數(shù)據(jù)上傳至消息隊(duì)列中;
[0016]所述根據(jù)第一解析字段對(duì)所述日志數(shù)據(jù)進(jìn)行分類(lèi),得到至少一組分類(lèi)數(shù)據(jù),包括:
[0017]當(dāng)通過(guò)設(shè)置的處理線(xiàn)程監(jiān)聽(tīng)到所述消息隊(duì)列中存儲(chǔ)有所述日志數(shù)據(jù)時(shí),執(zhí)行所述根據(jù)第一解析字段對(duì)所述待校驗(yàn)的日志數(shù)據(jù)進(jìn)行初步分類(lèi),得到至少一組分類(lèi)數(shù)據(jù)的步驟。
[0018]在另一個(gè)實(shí)施例中,所述根據(jù)第一解析字段對(duì)所述日志數(shù)據(jù)進(jìn)行分類(lèi),得到至少一組分類(lèi)數(shù)據(jù)之后,所述方法還包括:
[0019]將所述至少一組分類(lèi)數(shù)據(jù)分列存儲(chǔ)在中間表中。
[0020]在另一個(gè)實(shí)施例中,所述對(duì)所述中間結(jié)果數(shù)據(jù)集合中每一條處理路徑的入口數(shù)和出口數(shù)進(jìn)行統(tǒng)計(jì),包括:
[0021]采用鍵值對(duì)的形式,對(duì)所述中間結(jié)果數(shù)據(jù)集合中每一條處理路徑的入口數(shù)和出口數(shù)進(jìn)行統(tǒng)計(jì)。
[0022]根據(jù)本公開(kāi)實(shí)施例的第二方面,提供一種日志校驗(yàn)裝置,所述裝置包括:
[0023]獲取模塊,被配置為獲取待校驗(yàn)的日志數(shù)據(jù),所述日志數(shù)據(jù)中包括多條消息的中間結(jié)果數(shù)據(jù);
[0024]分類(lèi)模塊,被配置為根據(jù)第一解析字段對(duì)所述日志數(shù)據(jù)進(jìn)行分類(lèi),得到至少一組分類(lèi)數(shù)據(jù);
[0025]合并模塊,被配置為對(duì)于每一組分類(lèi)數(shù)據(jù),根據(jù)第二解析字段,對(duì)所述分類(lèi)數(shù)據(jù)中同一條消息的多個(gè)中間結(jié)果數(shù)據(jù)進(jìn)行合并,形成至少一條消息的處理路徑;
[0026]校驗(yàn)?zāi)K,被配置為基于每一條消息的處理路徑對(duì)所述日志數(shù)據(jù)的處理流程完整性進(jìn)行校驗(yàn)。
[0027]在另一個(gè)實(shí)施例中,所述校驗(yàn)?zāi)K,被配置為對(duì)于每一條消息,對(duì)所述消息的處理路徑上中間結(jié)果數(shù)據(jù)的合并處理執(zhí)行先后順序進(jìn)行排序,確定最后一次合并處理形成的中間結(jié)果數(shù)據(jù)集合;對(duì)所述中間結(jié)果數(shù)據(jù)集合中每一條處理路徑的入口數(shù)和出口數(shù)進(jìn)行統(tǒng)計(jì);若任意一條處理路徑的出口數(shù)大于入口數(shù),則檢測(cè)出所述日志數(shù)據(jù)不完整。
[0028]在另一個(gè)實(shí)施例中,所述裝置還包括:
[0029]上傳模塊,被配置為將所述日志數(shù)據(jù)上傳至消息隊(duì)列中;
[0030]所述分類(lèi)模塊,被配置為當(dāng)通過(guò)設(shè)置的處理線(xiàn)程監(jiān)聽(tīng)到所述消息隊(duì)列中存儲(chǔ)有所述日志數(shù)據(jù)時(shí),執(zhí)行所述根據(jù)第一解析字段對(duì)所述待校驗(yàn)的日志數(shù)據(jù)進(jìn)行初步分類(lèi),得到至少一組分類(lèi)數(shù)據(jù)的步驟。
[0031]在另一個(gè)實(shí)施例中,所述裝置還包括:
[0032]存儲(chǔ)模塊,被配置為將所述至少一組分類(lèi)數(shù)據(jù)分列存儲(chǔ)在中間表中。
[0033]在另一個(gè)實(shí)施例中,所述校驗(yàn)?zāi)K,被配置為采用鍵值對(duì)的形式,對(duì)所述中間結(jié)果數(shù)據(jù)集合中每一條處理路徑的入口數(shù)和出口數(shù)進(jìn)行統(tǒng)計(jì)。
[0034]本公開(kāi)的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:
[0035]在獲取到待校驗(yàn)的日志數(shù)據(jù)后,根據(jù)第一解析字段對(duì)日志數(shù)據(jù)進(jìn)行分類(lèi)得到至少一組分類(lèi)數(shù)據(jù);之后,對(duì)于每一組分類(lèi)數(shù)據(jù),根據(jù)第二解析字對(duì)該分類(lèi)數(shù)據(jù)中同一條消息的多個(gè)中間結(jié)果數(shù)據(jù)進(jìn)行合并,形成至少一條消息的處理路徑,最終基于每一條消息的處理路徑對(duì)日志數(shù)據(jù)的處理流程完整性進(jìn)行校驗(yàn),由于在非日志處理的其他時(shí)段對(duì)日志數(shù)據(jù)進(jìn)行了分類(lèi)并基于分類(lèi)對(duì)中間結(jié)果數(shù)據(jù)進(jìn)行了路徑關(guān)聯(lián)性合并,進(jìn)而完成日志完整性校驗(yàn),減少了中間結(jié)果數(shù)據(jù)的長(zhǎng)度,校驗(yàn)效果較佳,可靠性好。
[0036]應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本公開(kāi)。
【附圖說(shuō)明】
[0037]此處的附圖被并入說(shuō)明書(shū)中并構(gòu)成本說(shuō)明書(shū)的一部分,示出了符合本發(fā)明的實(shí)施例,并與說(shuō)明書(shū)一起用于解釋本發(fā)明的原理。
[0038]圖1是根據(jù)一示例性實(shí)施例示出的一種日志校驗(yàn)方法的流程圖。
[0039]圖2是根據(jù)一示例性實(shí)施例示出的一種日志校驗(yàn)方法的流程圖。
[0040]圖3A是根據(jù)一示例性實(shí)施例示出的一種日志校驗(yàn)裝置的框圖。
[0041 ]圖3B是根據(jù)一示例性實(shí)施例示出的一種日志校驗(yàn)裝置的框圖。
[0042]圖3C是根據(jù)一示例性實(shí)施例示出的一種日志校驗(yàn)裝置的框圖。
[0043]圖4是根據(jù)一示例性實(shí)施例示出的一種日志校驗(yàn)裝置400的框圖。
【具體實(shí)施方式】
[0044]這里將詳細(xì)地對(duì)示例性實(shí)施例進(jìn)行說(shuō)明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本發(fā)明相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書(shū)中所詳述的、本發(fā)明的一些方面相一致的裝置和方法的例子。
[0045]圖1是根據(jù)一示例性實(shí)施例示出的一種日志校驗(yàn)方法的流程圖,如圖1所示,該方法用于服務(wù)器中,包括以下步驟。
[0046]在步驟101中,獲取待校驗(yàn)的日志數(shù)據(jù),所述日志數(shù)據(jù)中包括多條消息的中間結(jié)果數(shù)據(jù)。
[0047]在步驟102中,根據(jù)第一解析字段對(duì)所述日志數(shù)據(jù)進(jìn)行分類(lèi),得到至少一組分類(lèi)數(shù)據(jù)。
[0048]在步驟103中,對(duì)于每一組分類(lèi)數(shù)據(jù),根據(jù)第二解析字段,對(duì)所述分類(lèi)數(shù)據(jù)中同一條消息的多個(gè)中間結(jié)果數(shù)據(jù)進(jìn)行合并,形成至少一條消息的處理路徑。
[0049]在步驟104中,基于每一條消息的處理路徑對(duì)所述日志數(shù)據(jù)的處理流程完整性進(jìn)行校驗(yàn)。
[0050]本公開(kāi)實(shí)施例提供的方法,在獲取到待校驗(yàn)的日志數(shù)據(jù)后,根據(jù)第一解析字段對(duì)日志數(shù)據(jù)進(jìn)行分類(lèi)得到至少一組分類(lèi)數(shù)據(jù);之后,對(duì)于每一組分類(lèi)數(shù)據(jù),根據(jù)第二解析字對(duì)該分類(lèi)數(shù)據(jù)中同一條消息的多個(gè)中間結(jié)果數(shù)據(jù)進(jìn)行合并,形成至少一條消息的處理路徑,最終基于每一條消息的處理路徑對(duì)日志數(shù)據(jù)的處理流程完整性進(jìn)行校驗(yàn),由于在非日志處理的其他時(shí)段對(duì)日志數(shù)據(jù)進(jìn)行了分類(lèi)并基于分類(lèi)對(duì)中間結(jié)果數(shù)據(jù)進(jìn)行了路徑關(guān)聯(lián)性合并,進(jìn)而完成日志完整性校驗(yàn),減少了中間結(jié)果數(shù)據(jù)的長(zhǎng)度,校驗(yàn)效果較佳,可靠性好。
[0051]在另一個(gè)實(shí)施例中,所述基于每一條消息的處理路徑對(duì)所述日志數(shù)據(jù)的處理流程完整性進(jìn)行校驗(yàn),包括:
[0052]對(duì)于每一條消息,對(duì)所述消息的處理路徑上中間結(jié)果數(shù)據(jù)的合并處理執(zhí)行先后順序進(jìn)行排序,確定最后一次合并處理形成的中間結(jié)果數(shù)據(jù)集合;
[0053]對(duì)所述中間結(jié)果數(shù)據(jù)集合中每一條處理路徑的入口數(shù)和出口數(shù)進(jìn)行統(tǒng)計(jì);
[0054]若任意一條處理路徑的出口數(shù)大于入口數(shù),則檢測(cè)出所述日志數(shù)據(jù)不完整。
[0055]在另一個(gè)實(shí)施例中,所述根據(jù)第一解析字段對(duì)所述日志數(shù)據(jù)進(jìn)行分類(lèi),得到至少一組分類(lèi)數(shù)據(jù)之前,所述方法還包括:
[0056]將所述日志數(shù)據(jù)上傳至消息隊(duì)列中;
[0057]所述根據(jù)第一解析字段對(duì)所述日志數(shù)據(jù)進(jìn)行分類(lèi),得到至少一組分類(lèi)數(shù)據(jù),包括:
[0058]當(dāng)通過(guò)設(shè)置的處理線(xiàn)程監(jiān)聽(tīng)到所述消息隊(duì)列中存儲(chǔ)有所述日志數(shù)據(jù)時(shí),執(zhí)行所述根據(jù)第一解析字段對(duì)所述待校驗(yàn)的日志數(shù)據(jù)進(jìn)行初步分類(lèi),得到至少一組分類(lèi)數(shù)據(jù)的步驟。
[0059]在另一個(gè)實(shí)施例中,所述根據(jù)第一解析字段對(duì)所述日志數(shù)據(jù)進(jìn)行分類(lèi),得到至少一組分類(lèi)數(shù)據(jù)之后,所述方法還包括:
[0060]將所述至少一組分類(lèi)數(shù)據(jù)分列存儲(chǔ)在中間表中。
[0061]在另一個(gè)實(shí)施例中,所述對(duì)所述中間結(jié)果數(shù)據(jù)集合中每一條處理路徑的入口數(shù)和出口數(shù)進(jìn)行統(tǒng)計(jì),包括:
[0062]采用鍵值對(duì)的形式,對(duì)所述中間結(jié)果數(shù)據(jù)集合中每一條處理路徑的入口數(shù)和出口數(shù)進(jìn)行統(tǒng)計(jì)。
[0063]上述所有可選技術(shù)方案,可以采用任意結(jié)合形成本公開(kāi)的可選實(shí)施例,在此不再
--贅述。
[0064]圖2是根據(jù)一示例性實(shí)施例示出的一種日志校驗(yàn)方法的流程圖,如圖2所示,該日志校驗(yàn)方法用于服務(wù)器中,包括以下步驟。
[0065]在步驟201中,獲取待校驗(yàn)的日志數(shù)據(jù),將待校驗(yàn)的日志數(shù)據(jù)上傳至消息隊(duì)列中。
[0066]在本公開(kāi)實(shí)施例中,可通過(guò)開(kāi)源的日志收集系統(tǒng)scribe從各種數(shù)據(jù)源上對(duì)用于記錄用戶(hù)行為的日志數(shù)據(jù)進(jìn)行收集。其中,scribe為日志收集提供了一種容錯(cuò)且可擴(kuò)展的方案,scribe可以從不同數(shù)據(jù)源、不同機(jī)器上收集日志數(shù)據(jù)。需要說(shuō)明的是,為了保證能夠獲取到日志數(shù)據(jù)以對(duì)日志數(shù)據(jù)進(jìn)行校驗(yàn),在獲取待校驗(yàn)的日志數(shù)據(jù)之前,還需進(jìn)行各個(gè)數(shù)據(jù)源的數(shù)據(jù)訂閱。也即,僅在訂閱某個(gè)數(shù)據(jù)源的數(shù)據(jù)之后,才能從該數(shù)據(jù)源中獲取日志數(shù)據(jù)??蛇x地,在獲取到待校驗(yàn)的日志數(shù)據(jù)后,還需通過(guò)scribe將待校驗(yàn)的日志數(shù)據(jù)上傳到分布式的消息隊(duì)列中。
[0067]其中,本公開(kāi)實(shí)施例還定義了多個(gè)處理線(xiàn)程,多個(gè)處理線(xiàn)程用于監(jiān)聽(tīng)該消息隊(duì)列。當(dāng)該消息隊(duì)列中有待校驗(yàn)的日志數(shù)據(jù)出現(xiàn)時(shí),立即啟動(dòng)下述步驟202,對(duì)該日志數(shù)據(jù)進(jìn)行校驗(yàn)處理,詳細(xì)過(guò)程參見(jiàn)后續(xù)步驟。其中,消息隊(duì)列可為阻塞隊(duì)列,即該消息隊(duì)列中僅能存放預(yù)設(shè)數(shù)目的日志數(shù)據(jù);若當(dāng)前獲取到待校驗(yàn)的日志數(shù)據(jù)后,該消息隊(duì)列中的日志數(shù)據(jù)已達(dá)到預(yù)設(shè)數(shù)目,則直至該消息隊(duì)列中出現(xiàn)空閑位置后,才將該當(dāng)前獲取到的待校驗(yàn)的日志數(shù)據(jù)存儲(chǔ)在該消息隊(duì)列中,本公開(kāi)實(shí)施例對(duì)此不進(jìn)行具體限定。其中,日志數(shù)據(jù)中包括多條消息的中間結(jié)果數(shù)據(jù)。
[0068]在步驟202中,根據(jù)第一解析字段對(duì)日志數(shù)據(jù)進(jìn)行分類(lèi),得到至少一組分類(lèi)數(shù)據(jù)。
[0069]其中,第一解析字段可為用戶(hù)標(biāo)識(shí)或者消息類(lèi)型等,本公開(kāi)實(shí)施例對(duì)此不進(jìn)行具體限定。本步驟是對(duì)待校驗(yàn)的日志數(shù)據(jù)進(jìn)行初步分類(lèi)。其中,在根據(jù)用戶(hù)標(biāo)識(shí)對(duì)日志數(shù)據(jù)進(jìn)行分類(lèi)時(shí),可將每個(gè)用戶(hù)產(chǎn)生的日志數(shù)據(jù)獨(dú)立分類(lèi)出來(lái)。一組分類(lèi)數(shù)據(jù)可對(duì)一個(gè)用戶(hù)執(zhí)行的購(gòu)買(mǎi)行為、游戲行為、聽(tīng)歌行為、瀏覽行為等進(jìn)行記錄。在根據(jù)消息類(lèi)型對(duì)日志數(shù)據(jù)進(jìn)行分類(lèi)時(shí),可將同一種操作行為對(duì)應(yīng)的日志數(shù)據(jù)分類(lèi)為一組。比如,將由聽(tīng)歌行為產(chǎn)生的日志數(shù)據(jù)全部分類(lèi)在一起,將由游戲行為產(chǎn)生的日志數(shù)據(jù)全部分類(lèi)在一起等,本公開(kāi)實(shí)施例對(duì)此不進(jìn)行具體限定。
[0070]需要說(shuō)明的是,在將待校驗(yàn)的日志數(shù)據(jù)進(jìn)行初步分類(lèi),得到至少一組分類(lèi)數(shù)據(jù)后,為了后續(xù)過(guò)程中更有利于校驗(yàn),本公開(kāi)實(shí)施例設(shè)計(jì)了一個(gè)按列存儲(chǔ)的中間表,并將至少一組分類(lèi)數(shù)據(jù)分列存儲(chǔ)在該中間表中,這樣便于后續(xù)過(guò)程中根據(jù)第二解析字段對(duì)待校驗(yàn)的日志數(shù)據(jù)進(jìn)行進(jìn)一步地處理。
[0071 ]在步驟203中,對(duì)于每一組分類(lèi)數(shù)據(jù),根據(jù)第二解析字段,對(duì)該分類(lèi)數(shù)據(jù)中同一條消息的多個(gè)中間結(jié)果數(shù)據(jù)進(jìn)行合并,形成一條消息的處理路徑。
[0072]其中,第二解析字段與第一解析字段不同。若第一解析字段為用戶(hù)標(biāo)識(shí),則第二解析字段可為消息類(lèi)型;若第一解析字段為消息類(lèi)型,則第二解析字段寧可為用戶(hù)標(biāo)識(shí),本公開(kāi)實(shí)施例對(duì)此不進(jìn)行具體限定。比如,在根據(jù)用戶(hù)標(biāo)識(shí)將待校驗(yàn)的日志數(shù)據(jù)進(jìn)行初步分類(lèi),得到多個(gè)分類(lèi)數(shù)據(jù)后。對(duì)于一個(gè)用戶(hù)對(duì)應(yīng)的一組分類(lèi)數(shù)據(jù),可根據(jù)消息類(lèi)型將該分類(lèi)數(shù)據(jù)中同一條消息的多個(gè)中間結(jié)果數(shù)據(jù)進(jìn)行合并,得到一條消息的處理路徑。
[0073]其中,該組分類(lèi)數(shù)據(jù)中可能包括多個(gè)不同的用戶(hù)行為產(chǎn)生的日志數(shù)據(jù),而通過(guò)消息類(lèi)型可將諸如聽(tīng)歌行為產(chǎn)生的至少一條消息的中間結(jié)果數(shù)據(jù)、瀏覽行為產(chǎn)生的至少一條消息的中間結(jié)果數(shù)據(jù)、購(gòu)買(mǎi)行為產(chǎn)生的至少一條消息的中間結(jié)果數(shù)據(jù)分別分類(lèi)開(kāi)來(lái)。之后,再將同一條消息的多個(gè)中間結(jié)果數(shù)據(jù)進(jìn)行合并,使得同一條消息的所有中間結(jié)果數(shù)據(jù)都被合并在一起,便可形成一條消息的處理路徑。其中,處理路徑記錄了一條消息經(jīng)過(guò)的處理流程,每一個(gè)處理步驟都會(huì)產(chǎn)生一個(gè)中間結(jié)果數(shù)據(jù)。
[0074]在步驟204中,基于每一條消息的處理路徑對(duì)待校驗(yàn)的日志數(shù)據(jù)的處理流程完整性進(jìn)行校驗(yàn)。
[0075]在本公開(kāi)實(shí)施例中,為了解決重試、日志分裂等情況造成的不良影響,還需要對(duì)每條消息的處理路徑上的中間結(jié)果數(shù)據(jù)進(jìn)行排序,使得整個(gè)消息成鏈?zhǔn)浇Y(jié)構(gòu),并以最近的一次中間結(jié)果集合為進(jìn)行主動(dòng)校驗(yàn)的依據(jù)。其中,重試指代的是在用戶(hù)操作過(guò)程中,可能由于誤操作或者前一次的操作服務(wù)器無(wú)響應(yīng)所以再次執(zhí)行了同樣的操作,這樣的行為便稱(chēng)之為重試。需要說(shuō)明的是,對(duì)于同一條消息來(lái)說(shuō),在將其對(duì)應(yīng)的多個(gè)中間結(jié)果數(shù)據(jù)進(jìn)行合并時(shí),由于這多個(gè)中間結(jié)果數(shù)據(jù)可能來(lái)自不同的集群或服務(wù)器,而鑒于不同的集群或服務(wù)器的反饋?lái)憫?yīng)速度有差別,因此在進(jìn)行數(shù)據(jù)合并時(shí),可能并不會(huì)按照處理流程從前往后的順序依次合并,以處理流程依次為1-2-3-4-5,中間結(jié)果數(shù)據(jù)依次為a-b-c-d-e為例,則在進(jìn)行中間結(jié)果數(shù)據(jù)合并時(shí),可能并不是按照處理流程執(zhí)行的先后順序a-b-c-d-e進(jìn)行合并的,而是按照類(lèi)似d和e合并,再跟b合并,再跟a和c合并這樣的順序來(lái)進(jìn)行的,因此還需要對(duì)每條消息的處理路徑上的中間結(jié)果數(shù)據(jù)進(jìn)行排序,也即對(duì)該消息的處理路徑上中間結(jié)果數(shù)據(jù)的合并處理執(zhí)行先后順序進(jìn)行排序,確定最后一次合并處理形成的中間結(jié)果數(shù)據(jù)集合。并根據(jù)最后一次合并處理行程的中間結(jié)果數(shù)據(jù)集合為準(zhǔn)進(jìn)行主動(dòng)校驗(yàn)過(guò)程。其中,在基于每一條消息的處理路徑對(duì)待校驗(yàn)的日志數(shù)據(jù)的完整性進(jìn)行校驗(yàn)時(shí),可采取下述方式實(shí)現(xiàn):對(duì)于每一條消息,對(duì)該消息的處理路徑上中間結(jié)果數(shù)據(jù)的合并處理執(zhí)行先后順序進(jìn)行排序,確定最后一次合并處理形成的中間結(jié)果數(shù)據(jù)集合;對(duì)中間結(jié)果數(shù)據(jù)集合中每一條處理路徑的入口數(shù)和出口數(shù)進(jìn)行統(tǒng)計(jì);若任意一條處理路徑的出口數(shù)大于入口數(shù),則檢測(cè)出日志數(shù)據(jù)不完整。
[0076]在本公開(kāi)實(shí)施例中,采用鍵值對(duì)(key-value)對(duì)中間結(jié)果數(shù)據(jù)集合中每一條處理路徑的入口數(shù)和出口數(shù)進(jìn)行統(tǒng)計(jì)。即,本公開(kāi)實(shí)施例采用實(shí)時(shí)性好且線(xiàn)程安全的key-value數(shù)據(jù)庫(kù),比如redis來(lái)作為計(jì)數(shù)工具。其中,采用解析字段、消息的具體內(nèi)容和處理路徑作為聯(lián)合key,標(biāo)識(shí)入口數(shù)和出口數(shù)。由于key-value數(shù)據(jù)可以部署在其他服務(wù)器,因此可大大減少運(yùn)行節(jié)點(diǎn)機(jī)器的壓力,同時(shí)提高了計(jì)數(shù)檢測(cè)的實(shí)時(shí)性。以處理流程依次為1-2-3-4-5為例,對(duì)于處理過(guò)程2來(lái)說(shuō),其僅對(duì)應(yīng)有處理過(guò)程I至處理過(guò)程2—個(gè)入口,和處理過(guò)程2至處理過(guò)程3—個(gè)出口,入口數(shù)等于出口數(shù),因此此處無(wú)分裂。如果此處有分裂的話(huà),還可以繼續(xù)檢查下一個(gè)入口的計(jì)數(shù),看是否同上一個(gè)出口相吻合,依次類(lèi)推,完成整個(gè)分布式日志的處理路徑的完整性校驗(yàn)。
[0077]本公開(kāi)實(shí)施例提供的方法,在獲取到待校驗(yàn)的日志數(shù)據(jù)后,根據(jù)第一解析字段對(duì)日志數(shù)據(jù)進(jìn)行分類(lèi)得到至少一組分類(lèi)數(shù)據(jù);之后,對(duì)于每一組分類(lèi)數(shù)據(jù),根據(jù)第二解析字對(duì)該分類(lèi)數(shù)據(jù)中同一條消息的多個(gè)中間結(jié)果數(shù)據(jù)進(jìn)行合并,形成至少一條消息的處理路徑,最終基于每一條消息的處理路徑對(duì)日志數(shù)據(jù)的處理流程完整性進(jìn)行校驗(yàn),由于在非日志處理的其他時(shí)段對(duì)日志數(shù)據(jù)進(jìn)行了分類(lèi)并基于分類(lèi)對(duì)中間結(jié)果數(shù)據(jù)進(jìn)行了路徑關(guān)聯(lián)性合并,進(jìn)而完成日志完整性校驗(yàn),減少了中間結(jié)果數(shù)據(jù)的長(zhǎng)度,校驗(yàn)效果較佳,可靠性好。
[0078]圖3A是根據(jù)一示例性實(shí)施例示出的一種日志校驗(yàn)裝置的框圖。參照?qǐng)D3A,該裝置包括獲取模塊301,分類(lèi)模塊302,合并模塊303和校驗(yàn)?zāi)K304。
[0079]獲取模塊301,被配置為獲取待校驗(yàn)的日志數(shù)據(jù),所述日志數(shù)據(jù)中包括多條消息的中間結(jié)果數(shù)據(jù);
[0080]分類(lèi)模塊302,被配置為根據(jù)第一解析字段對(duì)所述日志數(shù)據(jù)進(jìn)行分類(lèi),得到至少一組分類(lèi)數(shù)據(jù);
[0081 ]合并模塊303,被配置為對(duì)于每一組分類(lèi)數(shù)據(jù),根據(jù)第二解析字段,對(duì)所述分類(lèi)數(shù)據(jù)中同一條消息的多個(gè)中間結(jié)果數(shù)據(jù)進(jìn)行合并,形成至少一條消息的處理路徑;
[0082]校驗(yàn)?zāi)K304,被配置為基于每一條消息的處理路徑對(duì)所述日志數(shù)據(jù)的處理流程完整性進(jìn)行校驗(yàn)。
[0083]在另一個(gè)實(shí)施例中,所述校驗(yàn)?zāi)K304,被配置為對(duì)于每一條消息,對(duì)所述消息的處理路徑上中間結(jié)果數(shù)據(jù)的合并處理執(zhí)行先后順序進(jìn)行排序,確定最后一次合并處理形成的中間結(jié)果數(shù)據(jù)集合;對(duì)所述中間結(jié)果數(shù)據(jù)集合中每一條處理路徑的入口數(shù)和出口數(shù)進(jìn)行統(tǒng)計(jì);若任意一條處理路徑的出口數(shù)大于入口數(shù),則檢測(cè)出所述日志數(shù)據(jù)不完整。
[0084]在另一個(gè)實(shí)施例中,參見(jiàn)圖3B,該裝置還包括:
[0085]上傳模塊305,被配置為將所述日志數(shù)據(jù)上傳至消息隊(duì)列中;
[0086]所述分類(lèi)模塊,被配置為當(dāng)通過(guò)設(shè)置的處理線(xiàn)程監(jiān)聽(tīng)到所述消息隊(duì)列中存儲(chǔ)有所述日志數(shù)據(jù)時(shí),執(zhí)行所述根據(jù)第一解析字段對(duì)所述待校驗(yàn)的日志數(shù)據(jù)進(jìn)行初步分類(lèi),得到至少一組分類(lèi)數(shù)據(jù)的步驟。
[0087]在另一個(gè)實(shí)施例中,參見(jiàn)圖3C,該裝置還包括:
[0088]存儲(chǔ)模塊306,被配置為將所述至少一組分類(lèi)數(shù)據(jù)分列存儲(chǔ)在中間表中。
[0089]在另一個(gè)實(shí)施例中,所述校驗(yàn)?zāi)K,被配置為采用鍵值對(duì)的形式,對(duì)所述中間結(jié)果數(shù)據(jù)集合中每一條處理路徑的入口數(shù)和出口數(shù)進(jìn)行統(tǒng)計(jì)。
[0090]本公開(kāi)實(shí)施例提供的裝置,在獲取到待校驗(yàn)的日志數(shù)據(jù)后,根據(jù)第一解析字段對(duì)日志數(shù)據(jù)進(jìn)行分類(lèi)得到至少一組分類(lèi)數(shù)據(jù);之后,對(duì)于每一組分類(lèi)數(shù)據(jù),根據(jù)第二解析字對(duì)該分類(lèi)數(shù)據(jù)中同一條消息的多個(gè)中間結(jié)果數(shù)據(jù)進(jìn)行合并,形成至少一條消息的處理路徑,最終基于每一條消息的處理路徑對(duì)日志數(shù)據(jù)的處理流程完整性進(jìn)行校驗(yàn),由于在非日志處理的其他時(shí)段對(duì)日志數(shù)據(jù)進(jìn)行了分類(lèi)并基于分類(lèi)對(duì)中間結(jié)果數(shù)據(jù)進(jìn)行了路徑關(guān)聯(lián)性合并,進(jìn)而完成日志完整性校驗(yàn),減少了中間結(jié)果數(shù)據(jù)的長(zhǎng)度,校驗(yàn)效果較佳,可靠性好。
[0091]關(guān)于上述實(shí)施例中的裝置,其中各個(gè)模塊執(zhí)行操作的具體方式已經(jīng)在有關(guān)該方法的實(shí)施例中進(jìn)行了詳細(xì)描述,此處將不做詳細(xì)闡述說(shuō)明。
[0092]圖4是根據(jù)一示例性實(shí)施例示出的一種日志校驗(yàn)裝置400的框圖。例如,裝置400可以被提供為一服務(wù)器。參照?qǐng)D4,裝置400包括處理組件422,其進(jìn)一步包括一個(gè)或多個(gè)處理器,以及由存儲(chǔ)器432所代表的存儲(chǔ)器資源,用于存儲(chǔ)可由處理組件422的執(zhí)行的指令,例如應(yīng)用程序。存儲(chǔ)器432中存儲(chǔ)的應(yīng)用程序可以包括一個(gè)或一個(gè)以上的每一個(gè)對(duì)應(yīng)于一組指令的模塊。此外,處理組件422被配置為執(zhí)行指令,以執(zhí)行上述方法實(shí)施例。
[0093]裝置400還可以包括一個(gè)電源組件426被配置為執(zhí)行裝置400的電源管理,一個(gè)有線(xiàn)或無(wú)線(xiàn)網(wǎng)絡(luò)接口 450被配置為將裝置400連接到網(wǎng)絡(luò),和一個(gè)輸入輸出(I/O)接口 458。裝置400可以操作基于存儲(chǔ)在存儲(chǔ)器432的操作系統(tǒng),例如Windows Server?,Mac OS X?,Unix?,LinuxTM,F(xiàn)reeBSD? 或類(lèi)似。
[0094]本領(lǐng)域技術(shù)人員在考慮說(shuō)明書(shū)及實(shí)踐這里公開(kāi)的發(fā)明后,將容易想到本發(fā)明的其它實(shí)施方案。本申請(qǐng)旨在涵蓋本發(fā)明的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本發(fā)明的一般性原理并包括本公開(kāi)未公開(kāi)的本技術(shù)領(lǐng)域中的公知常識(shí)或慣用技術(shù)手段。說(shuō)明書(shū)和實(shí)施例僅被視為示例性的,本發(fā)明的真正范圍和精神由下面的權(quán)利要求指出。
[0095]應(yīng)當(dāng)理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來(lái)限制。
【主權(quán)項(xiàng)】
1.一種日志校驗(yàn)方法,其特征在于,所述方法包括: 獲取待校驗(yàn)的日志數(shù)據(jù),所述日志數(shù)據(jù)中包括多條消息的中間結(jié)果數(shù)據(jù); 根據(jù)第一解析字段對(duì)所述日志數(shù)據(jù)進(jìn)行分類(lèi),得到至少一組分類(lèi)數(shù)據(jù); 對(duì)于每一組分類(lèi)數(shù)據(jù),根據(jù)第二解析字段,對(duì)所述分類(lèi)數(shù)據(jù)中同一條消息的多個(gè)中間結(jié)果數(shù)據(jù)進(jìn)行合并,形成至少一條消息的處理路徑; 基于每一條消息的處理路徑對(duì)所述日志數(shù)據(jù)的處理流程完整性進(jìn)行校驗(yàn)。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述基于每一條消息的處理路徑對(duì)所述日志數(shù)據(jù)的處理流程完整性進(jìn)行校驗(yàn),包括: 對(duì)于每一條消息,對(duì)所述消息的處理路徑上中間結(jié)果數(shù)據(jù)的合并處理執(zhí)行先后順序進(jìn)行排序,確定最后一次合并處理形成的中間結(jié)果數(shù)據(jù)集合; 對(duì)所述中間結(jié)果數(shù)據(jù)集合中每一條處理路徑的入口數(shù)和出口數(shù)進(jìn)行統(tǒng)計(jì); 若任意一條處理路徑的出口數(shù)大于入口數(shù),則檢測(cè)出所述日志數(shù)據(jù)不完整。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)第一解析字段對(duì)所述日志數(shù)據(jù)進(jìn)行分類(lèi),得到至少一組分類(lèi)數(shù)據(jù)之前,所述方法還包括: 將所述日志數(shù)據(jù)上傳至消息隊(duì)列中; 所述根據(jù)第一解析字段對(duì)所述日志數(shù)據(jù)進(jìn)行分類(lèi),得到至少一組分類(lèi)數(shù)據(jù),包括: 當(dāng)通過(guò)設(shè)置的處理線(xiàn)程監(jiān)聽(tīng)到所述消息隊(duì)列中存儲(chǔ)有所述日志數(shù)據(jù)時(shí),執(zhí)行所述根據(jù)第一解析字段對(duì)所述待校驗(yàn)的日志數(shù)據(jù)進(jìn)行初步分類(lèi),得到至少一組分類(lèi)數(shù)據(jù)的步驟。4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)第一解析字段對(duì)所述日志數(shù)據(jù)進(jìn)行分類(lèi),得到至少一組分類(lèi)數(shù)據(jù)之后,所述方法還包括: 將所述至少一組分類(lèi)數(shù)據(jù)分列存儲(chǔ)在中間表中。5.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述對(duì)所述中間結(jié)果數(shù)據(jù)集合中每一條處理路徑的入口數(shù)和出口數(shù)進(jìn)行統(tǒng)計(jì),包括: 采用鍵值對(duì)的形式,對(duì)所述中間結(jié)果數(shù)據(jù)集合中每一條處理路徑的入口數(shù)和出口數(shù)進(jìn)行統(tǒng)計(jì)。6.—種日志校驗(yàn)裝置,其特征在于,所述裝置包括: 獲取模塊,被配置為獲取待校驗(yàn)的日志數(shù)據(jù),所述日志數(shù)據(jù)中包括多條消息的中間結(jié)果數(shù)據(jù); 分類(lèi)模塊,被配置為根據(jù)第一解析字段對(duì)所述日志數(shù)據(jù)進(jìn)行分類(lèi),得到至少一組分類(lèi)數(shù)據(jù); 合并模塊,被配置為對(duì)于每一組分類(lèi)數(shù)據(jù),根據(jù)第二解析字段,對(duì)所述分類(lèi)數(shù)據(jù)中同一條消息的多個(gè)中間結(jié)果數(shù)據(jù)進(jìn)行合并,形成至少一條消息的處理路徑; 校驗(yàn)?zāi)K,被配置為基于每一條消息的處理路徑對(duì)所述日志數(shù)據(jù)的處理流程完整性進(jìn)行校驗(yàn)。7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述校驗(yàn)?zāi)K,被配置為對(duì)于每一條消息,對(duì)所述消息的處理路徑上中間結(jié)果數(shù)據(jù)的合并處理執(zhí)行先后順序進(jìn)行排序,確定最后一次合并處理形成的中間結(jié)果數(shù)據(jù)集合;對(duì)所述中間結(jié)果數(shù)據(jù)集合中每一條處理路徑的入口數(shù)和出口數(shù)進(jìn)行統(tǒng)計(jì);若任意一條處理路徑的出口數(shù)大于入口數(shù),則檢測(cè)出所述日志數(shù)據(jù)不完整。8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括: 上傳模塊,被配置為將所述日志數(shù)據(jù)上傳至消息隊(duì)列中; 所述分類(lèi)模塊,被配置為當(dāng)通過(guò)設(shè)置的處理線(xiàn)程監(jiān)聽(tīng)到所述消息隊(duì)列中存儲(chǔ)有所述日志數(shù)據(jù)時(shí),執(zhí)行所述根據(jù)第一解析字段對(duì)所述待校驗(yàn)的日志數(shù)據(jù)進(jìn)行初步分類(lèi),得到至少一組分類(lèi)數(shù)據(jù)的步驟。9.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括: 存儲(chǔ)模塊,被配置為將所述至少一組分類(lèi)數(shù)據(jù)分列存儲(chǔ)在中間表中。10.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述校驗(yàn)?zāi)K,被配置為采用鍵值對(duì)的形式,對(duì)所述中間結(jié)果數(shù)據(jù)集合中每一條處理路徑的入口數(shù)和出口數(shù)進(jìn)行統(tǒng)計(jì)。11.一種日志校驗(yàn)裝置,其特征在于,包括: 處理器; 用于存儲(chǔ)處理器可執(zhí)行指令的存儲(chǔ)器; 其中,所述處理器被配置為:獲取待校驗(yàn)的日志數(shù)據(jù),所述日志數(shù)據(jù)中包括多條消息的中間結(jié)果數(shù)據(jù);根據(jù)第一解析字段對(duì)所述日志數(shù)據(jù)進(jìn)行分類(lèi),得到至少一組分類(lèi)數(shù)據(jù);對(duì)于每一組分類(lèi)數(shù)據(jù),根據(jù)第二解析字段,對(duì)所述分類(lèi)數(shù)據(jù)中同一條消息的多個(gè)中間結(jié)果數(shù)據(jù)進(jìn)行合并,形成至少一條消息的處理路徑;基于每一條消息的處理路徑對(duì)所述日志數(shù)據(jù)的處理流程完整性進(jìn)行校驗(yàn)。
【文檔編號(hào)】G06F17/30GK105843941SQ201610204404
【公開(kāi)日】2016年8月10日
【申請(qǐng)日】2016年4月1日
【發(fā)明人】張旭華, 張濤, 陳志軍
【申請(qǐng)人】北京小米移動(dòng)軟件有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
子长县| 成都市| 沁水县| 集贤县| 锡林郭勒盟| 五莲县| 东莞市| 霍邱县| 吉安市| 扎鲁特旗| 包头市| 封丘县| 什邡市| 时尚| 台中市| 乌鲁木齐市| 万州区| 城口县| 滨海县| 台东县| 安阳县| 临湘市| 额敏县| 贡觉县| 霍山县| 达拉特旗| 罗江县| 新田县| 保德县| 铜山县| 年辖:市辖区| 溧水县| 武川县| 越西县| 大连市| 清流县| 横峰县| 旺苍县| 星子县| 河南省| 龙山县|