數據平衡驗證方法及裝置的制造方法【專利摘要】本發明公開了一種數據平衡驗證方法及裝置,包括:接收日志數據,并根據所述配置文件生成完整日志文件和短日志文件;所述配置文件中包括短日志文件生成信息,所述短日志文件中包含的日志信息少于所述完整日志文件中包含的日志信息;根據所述短日志文件,統計第一預設時間閾值內接收得到的短日志文件數量;將所述完整日志文件寫入分布式文件系統并解析得到入庫日志文件;根據所述入庫日志文件,統計所述第一預設時間閾值內的入庫日志文件數量;根據所述短日志文件數量和入庫日志文件數量,驗證所述第一預設時間閾值內的日志量是否平衡。本發明提出的數據平衡驗證方法及裝置,能夠在數據平衡驗證時減少對系統資源的占用。【專利說明】數據平衡驗證方法及裝置
技術領域:
[0001]本發明涉及數據處理
技術領域:
,特別是指一種數據平衡驗證方法及裝置。【
背景技術:
】[0002]Hadoop和Hive是目前業界廣泛使用的數據存儲以及查詢的分布式解決方案。Hive,是基于Hadoop的一個數據倉庫工具,可以將結構化的數據文件映射為一張數據庫表,并提供簡單的sql(StructuredQueryLanguage,結構化查詢語言)查詢功能,可以將sql語句轉換為MapReduce(映射化簡)任務進行運行。其優點是學習成本低,可以通過類SQL語句快速實現簡單的MapReduce統計,不必開發專門的MapReduce應用,十分適合數據倉庫的統計分析。[0003]HDFS,亦即,Hadoop分布式文件系統,其被設計成適合運行在通用硬件(commodityhardware)上的分布式文件系統。它和現有的分布式文件系統有很多共同點。但同時,它和其他的分布式文件系統的區別也是很明顯的。HDFS是一個高度容錯性的系統,適合部署在廉價的機器上。HDFS能提供高吞吐量的數據訪問,非常適合大規模數據集上的應用。HDFS放寬了一部分P0SIX(PortableOperatingSystemInterface,可移植操作系統接口)標準的約束,來實現流式讀取文件系統數據的目的。[0004]現有的技術進行數據日志量驗平(即,數據日志量的平衡性驗證,屬于數據監控方式的一種)時,通常采用服務器(server)接收得到的日志文件(aCCeSS_log)統計得到日志數量,與日志文件寫入HDFS后經解析掛載到Hive得到的日志數量進行對比,通過對比兩次統計得到的日志數量是否相等來進行驗平。[0005]通常為了滿足需要,配置文件中accessjog會預先配置log_format(即access_1〇區存儲日志的信息),其中包含很多信息,比如1'6111(^6_3(1(11',1:;[1116_10031,代911681:,111^卩_content_type,status等等。這樣一來,高峰期日志量很大時,形成的日志文件也會很大(可達到GB級別)。統計日志文件的記錄數時會占用很多系統資源,所以頻繁的統計操作有可能會影響服務器的性能,嚴重的時候有可能影響服務器的正常業務。【
發明內容】[0006]有鑒于此,本發明的目的在于提出一種數據平衡驗證方法及裝置,能夠在數據平衡驗證時減少對系統資源的占用。[0007]基于上述目的本發明實施例提供的數據平衡驗證方法,包括:[0008]接收日志數據,并根據所述配置文件生成完整日志文件和短日志文件;所述配置文件中包括短日志文件生成信息,所述短日志文件中包含的日志信息少于所述完整日志文件中包含的日志信息;[0009]根據所述短日志文件,統計第一預設時間閾值內接收得到的短日志文件數量;[0010]將所述完整日志文件寫入分布式文件系統并解析得到入庫日志文件;[0011]根據所述入庫日志文件,統計所述第一預設時間閾值內的入庫日志文件數量;[0012]根據所述短日志文件數量和所述入庫日志文件數量,驗證所述第一預設時間閾值內的日志量是否平衡。[0013]在一些實施方式中,所述短日志文件包含的日志信息為日志數據產生時的本地時間或日志狀態。[0014]在一些實施方式中,所述入庫日志文件包括有效日志文件和無效日志文件;所述入庫日志文件數量為所述有效日志文件的數量和無效日志文件的數量之和。[0015]在一些實施方式中,所述根據所述短日志文件數量和入庫日志文件數量,驗證所述第一預設時間閾值內的日志量是否平衡的步驟包括:[0016]計算所述第一預設時間閾值內的所述入庫日志文件數量與所述短日志文件數量的比值;[0017]判斷所述比值是否處于預設比值閾值范圍內;[0018]若所述比值處于預設比值閾值范圍內,則判定所述第一預設時間閾值內的日志量平衡;[0019]若所述比值不處于預設比值閾值范圍內,則判定所述第一預設時間閾值內的日志量不平衡。[0020]在一些實施方式中,所述配置文件中還包括第二預設時間閾值,所述根據所述配置文件生成完整日志文件和短日志文件的步驟包括:[0021]按照所述第二預設時間閾值,加載所述配置文件,并將所述日志數據生成為完整日志文件和短日志文件。[0022]本發明實施例的另一方面,還提供了一種數據平衡驗證裝置,包括:[0023]日志文件生成模塊,用于接收日志數據,并根據所述配置文件生成完整日志文件和短日志文件;所述配置文件中包括短日志文件生成信息,所述短日志文件中包含的日志信息少于所述完整日志文件中包含的日志信息;[0024]短日志計數模塊,用于根據所述短日志文件,統計第一預設時間閾值內接收得到的短日志文件數量;[0025]入庫文件獲得模塊,用于將所述完整日志文件寫入分布式文件系統并解析得到入庫日志文件;[0026]入庫文件計數模塊,用于根據所述入庫日志文件,統計所述第一預設時間閾值內的入庫日志文件數量;[0027]平衡驗證模塊,用于根據所述短日志文件數量和入庫日志文件數量,驗證所述第一預設時間閾值內的日志量是否平衡。[0028]在一些實施方式中,所述短日志文件包含的日志信息為日志數據產生時的本地時間或日志狀態。[0029]在一些實施方式中,所述入庫日志文件包括有效日志文件和無效日志文件;所述入庫日志文件數量為所述有效日志文件的數量和無效日志文件的數量之和。[0030]在一些實施方式中,所述平衡驗證模塊,具體用于:[0031]計算所述第一預設時間閾值內的所述入庫日志文件數量與所述短日志文件數量的比值;[0032]判斷所述比值是否處于預設比值閾值范圍內;[0033]若所述比值處于預設比值閾值范圍內,則判定所述第一預設時間閾值內的日志量平衡;[0034]若所述比值不處于預設比值閾值范圍內,則判定所述第一預設時間閾值內的日志量不平衡。[0035]在一些實施方式中,所述配置文件中還包括第二預設時間閾值,所述日志文件生成模塊,具體用于:[0036]按照所述第二預設時間閾值,加載所述配置文件,并將所述日志數據生成為完整日志文件和短日志文件。[0037]從上面所述可以看出,本發明實施例提供的數據平衡驗證方法及裝置,通過統計短日志文件來對接收到的日志數據進行統計,在完整日志文件落盤入庫后對入庫日志文件進行統計,從而根據兩個統計數據完成數據平衡驗證;這樣,在對接收到的日志數據進行統計時,因為只需要對數量進行統計,而不用對日志數據的實際內容進行分析,因此可以僅對短日志文件的數量進行統計,而無需對完整日志文件的數量進行統計,從而對接收到的日志數據的數量統計是采用統計短日志文件的數量來完成,使得在數據平衡驗證時能夠減少對系統資源的占用,從而能夠節約大量的時間和資源。【附圖說明】[0038]圖1為本發明提供的數據平衡驗證方法的一個實施例的流程示意圖;[0039]圖2為本發明提供的數據平衡驗證方法的另一個實施例的流程示意圖;[0040]圖3為本發明提供的數據平衡驗證裝置實施例的模塊結構示意圖。【具體實施方式】[0041]為使本發明的目的、技術方案和優點更加清楚明白,以下結合具體實施例,并參照附圖,對本發明進一步詳細說明。[0042]需要說明的是,本發明實施例中所有使用"第一"和"第二"的表述均是為了區分兩個相同名稱非相同的實體或者非相同的參量,可見"第一""第二"僅為了表述的方便,不應理解為對本發明實施例的限定,后續實施例對此不再一一說明。[0043]本發明實施例的第一個方面,提出了一種能夠在數據平衡驗證時減少對系統資源的占用的數據平衡驗證方法及裝置的一個實施例。如圖1所示,為本發明提供的數據平衡驗證方法的一個實施例的流程示意圖。[0044]所述數據平衡驗證方法,包括以下步驟:[0045]步驟101:接收日志數據,并根據所述配置文件生成完整日志文件(其中包含有所有需要的日志信息)和短日志文件;所述配置文件中包括短日志文件生成信息,所述短日志文件中包含的日志信息少于所述完整日志文件中包含的日志信息;所述完整日志文件可以是指正常情況下系統所記錄的日志文件,其中包含了一個常規日志文件所需要具有的所有日志信息;[0046]可選的,本發明實施例針對的是離線分析架構,本發明實施例應用于Nginx,這里的配置文件可以直接利用Nginx中的配置文件,在該配置文件中增加短日志文件生成信息;Nginx(也稱〃enginex〃,引擎X)是一種高性能的HTTP(HyperTextTransferProtocol,超文本傳輸協議)和反向代理服務器,也是一個IMAP(InternetMailAccessProtocol,互聯網郵件訪問協議)/P0P3(PostOfficeProtocol-Version3,郵局協議版本3)/SMTP(SimpleMailTransferProtocol,簡單郵件傳輸協議)服務器;Nginx作為負載均衡服務器,既可以在內部直接支持Rails(可譯為軌道,是一種用于開發數據庫驅動的網絡應用程序的完整框架)和PHP(HypertextPreprocessor,超文本預處理器)程序對外進行服務,也可以支持作為HTTP代理服務器對外進行服務;[0047]Nginx中的配置文件里有很多配置信息,設置日志文件(access_log)的日志格式的配置是其中一項,例如:[0049]其中pv、sm是預先設置好的日志格式,例如:[0051]其中,pv這種日志格式包含的數據量較多,相反sm包含的信息很少;[0052]可選的,按照步驟101的配置,每隔一段時間會旋轉一次,旋轉后服務器會重新加載(reload)所述配置文件,服務器的/log/con目錄下生成兩個日志文件:完整日志文件con.log(對應于pv日志格式,完整日志文件的實際名稱為被重命名的名稱,例如con.20160512-0110·log)和短日志文件cons·log(對應于sm日志格式,同樣的,短日志文件的實際名稱為被重命名的名稱,例如cons.20160512-0110.log),數據量較大時,每個日志文件中會存儲很多條日志數據;其中,完整日志文件con.log中的每條數據都包含很多的數據信息,而短日志文件cons.log中的每條數據則只會存儲一些用于區分不同日志數據的數據信息,例如接收到對應日志數據的時間;當日志量很大時,統計完整日志文件和短日志文件分別所消耗的時間和資源的對比就比較明顯了;[0053]其中,所述旋轉是指日志旋轉,簡單來說,是指將現有的日志文件重命名,然后重新創建原始空日志文件;[0054]例如,配置文件中有如下配置信息:[0056]配置信息設定后,在一段時間內是不會改變的,如果不進行日志旋轉,那么服務器接收的所有文件都會存儲在/1<^8/(3011/(3011.1(^和/1(^8/(3011/(30118.1(^兩個文件中,隨著時間的增長,日志文件會越來越大;[0057]為了能及時處理日志文件,一般一段時間后(視具體情況,可能按小時、天或者周,可選的,設置為10分鐘)會將接收日志的那個文件重命名,以con.log為例,每隔10分鐘將con.log重命名(例如con.20160512-0110.log),然后重新創建一個空的日志文件con.log;因為配置文件中設置的是接收到的數據存儲在con.log中,所以服務器新接收到的數據依然存入到con.log文件中,旋轉之后,con.20160512-0110.log中的數據就可以被用來做后續的操作了,即:寫入HDFS-〉文件解析->掛載到hive;[0058]步驟102:根據所述短日志文件,統計第一預設時間閾值內接收得到的短日志文件數量;所述第一預設時間閾值,可以是指需要進行數據驗平的時間段(例如一天中的某一個時段,這個時段采集的數據用于驗平的效果最好)或者能夠滿足數據驗平需要而應當采集數據的時間長度(例如每隔2小時進行一次數據驗平的效果最好);這里,根據實際需要,可以對第一預設時間閾值進行選擇,并可以根據實際情況的變化,對第一預設時間閾值進行調整;[0059]步驟103:將所述完整日志文件寫入分布式文件系統并解析得到入庫日志文件;[0060]這里,服務器接收到數據后,會存儲到服務器的磁盤上,然后完整日志文件在服務器落盤后存儲到分布式文件系統HDFS中,得到seq(可譯為序列,一種預設的外部命令,一般用作一堆數字的簡化寫法)文件格式的落盤日志文件,所述seq文件格式的落盤日志文件經過解析程序后得到RC(runcommand,運行命令)文件并掛載到Hive完成入庫,得到入庫日志文件;[0061]具體的,完整日志文件的落盤過程(即完整日志文件寫入HDFS的過程)可包括以下步驟:服務器接收到日志數據后,暫存在日志文件con.log中,每十分鐘旋轉一次,旋轉后,前述的日志文件被重命名為另一個文件(這個重命名的文件就是用于落盤的所述完整日志文件,例如cons.20160512-0110.log),同時重新加載(reload)所述配置文件,生成一個新的日志文件con.log(雖然與前一日志文件con.log命名相同,但因為前一日志文件被重命名后形成為一個完整日志文件,這里的重新生成的日志文件con.log則為一個全新的空日志文件,其中接下來繼續暫存的內容也就是新的日志內容);接著,被重命名后得到的完整日志文件可使用一個程序(例如glume(可譯為穎),一種類似于Flume(可譯為水槽)的程序)存儲到HDFS,這樣,就完成了從日志數據接收到本地落盤寫入HDFS的過程;Flume是一種高可用的、高可靠的、分布式的海量日志采集、聚合和傳輸的系統,Flume支持在日志系統中定制各類數據發送方,用于收集數據;同時,Flume提供對數據進行簡單處理,并寫到各種數據接受方(可定制)的能力;[0062]步驟104:根據所述入庫日志文件,統計所述第一預設時間閾值內的入庫日志文件數量;可選的,所述入庫日志文件數量是從Hive中統計得到的;[0063]步驟105:根據所述短日志文件數量和入庫日志文件數量,驗證所述第一預設時間閾值內的日志量是否平衡;[0064]可選的,驗證所述第一預設時間閾值內的日志量是否平衡的方法可以是,判斷所述短日志文件數量和入庫日志文件數量是否相等,若相等,則日志量平衡,若不相等,則日志量不平衡。[0065]從上述實施例可以看出,本發明實施例提供的數據平衡驗證方法,通過增加設置短日志文件,并通過統計短日志文件來對接收到的日志數據進行統計,在完整日志文件落盤入庫后對入庫日志文件進行統計,從而根據兩個統計數據完成數據平衡驗證;這樣,在對接收到的日志數據進行統計時,因為只需要對接收到的日志數據的數量進行統計,而不用對日志數據的實際內容進行分析,因此可以僅對短日志文件的數量進行統計,而無需對完整日志文件的數量進行統計,從而對接收到的日志數據的數量統計是采用統計短日志文件的數量來完成,使得在數據平衡驗證時能夠減少對系統資源的占用并縮短統計時間,在日志數據較為龐大時,能夠節約大量的時間和資源。[0066]本發明實施例的第二個方面,提出了一種能夠在數據平衡驗證時減少對系統資源的占用的數據平衡驗證方法的另一個實施例。如圖2所示,為本發明提供的數據平衡驗證方法的另一個實施例的流程示意圖。[0067]所述數據平衡驗證方法,包括以下步驟:[0068]步驟201:接收日志數據,按照所述第二預設時間閾值,加載所述配置文件,并生成完整日志文件和短日志文件;所述配置文件中包括短日志文件生成信息,所述短日志文件中包含的日志信息少于所述完整日志文件中包含的日志信息;可選的,在一些實施方式中,所述短日志文件包含的日志信息為日志數據產生時的本地時間(time_l〇cal)或日志狀態(status),這兩個數據,一方面占用的資源較少,另一方面能夠對日志數據進行初步區分,從而方便數量統計;[0069]這里,加載一次配置文件,生成一個完整日志文件con.log和一個短日志文件cons,log,分別用于存儲相應的日志數據,每隔所述第二預設時間閾值,所述完整日志文件con.log和短日志文件cons.log被重命名并另存,然后再次加載所述配置文件,并生成新的一個完整日志文件con.log和一個短日志文件cons.log,這樣周而復始,即可在第一預設時間閾值內產生多個完整日志文件和短日志文件,用于進行日志文件的數量統計;所述第二預設時間閾值小于第一預設時間閾值,可以根據需要進行設置,例如5~10分鐘,在日志數據量較大時,可以適當縮短所述第二預設時間閾值;[0070]步驟202:根據所述短日志文件,統計第一預設時間閾值內接收得到的短日志文件數量;[0071]步驟203:將所述完整日志文件寫入分布式文件系統并得到入庫日志文件;[0072]步驟204:根據所述入庫日志文件,統計所述第一預設時間閾值內的入庫日志文件數量;所述第一預設時間閾值,可以是指需要進行數據驗平的時間段(例如一天中的某一個時段,這個時段采集的數據用于驗平的效果最好)或者能夠滿足數據驗平需要而應當采集數據的時間長度(例如每隔2小時進行一次數據驗平的效果最好);這里,根據實際需要,可以對第一預設時間閾值進行選擇,并可以根據實際情況的變化,對第一預設時間閾值進行調整;[0073]寫入到所述分布式文件系統中落盤入庫的入庫日志文件,其中的某些入庫日志文件,因為其中的日志數據不符合規范或要求,會被清洗掉,清洗掉的數據會進行另外的處理,因此,落盤入庫的入庫日志文件的文件總數量則包括有效日志文件的數量和無效日志文件的數量,無效日志文件即被清洗掉的數據;從而,在一些可選實施方式中,所述入庫日志文件包括有效日志文件和無效日志文件;所述入庫日志文件數量為所述有效日志文件的數量和無效日志文件的數量之和;這樣,在數據平衡驗證時,不會因為被清洗掉的無效日志文件沒有被統計而影響數據平衡驗證結果;可選的,所述有效日志文件和無效日志文件是經所述分布式文件系統分析得到的;[0074]作為步驟104的一種可選實施方式,可具體包括以下步驟:[0075]步驟205:計算所述第一預設時間閾值內的所述短日志文件數量與所述入庫日志文件數量的比值;[0076]步驟206:判斷所述比值是否處于預設比值閾值范圍內;[0077]通常情況下,所述預設比值閾值范圍是1,即,所述短日志文件數量與所述入庫日志文件數量必須相等;但是,在現代網絡技術中,每天會產生大量日志數據,這樣,正常情況下,經過解析程序后入庫的入庫日志文件可能會存在一部分的數據丟失或者數據的讀取失敗等問題產生,因此,所述預設比值閾值范圍,是指預設的能夠驗證數據平衡的比值范圍,例如0.97~1,這樣,允許一部分數據的正常丟失,而不會出現數據不平衡的問題;[0078]步驟207:若所述比值處于預設比值閾值范圍內,則判定所述第一預設時間閾值內的日志量平衡;[0079]步驟208:若所述比值不處于預設比值閾值范圍內,則判定所述第一預設時間閾值內的日志量不平衡;[0080]通過上述步驟205~步驟208實現的步驟104的實施例,使得在數據平衡驗證的過程中,一方面保證了數據平衡驗證的正確性,另一方面又允許了數據的正常的少量丟失,從而使少量的數據丟失不影響數據平衡驗證的判斷結果。從上述實施例可以看出,本發明實施例提供的數據平衡驗證方法,通過增加設置短日志文件,并通過統計短日志文件來對接收到的日志數據進行統計,在完整日志文件落盤入庫后對入庫日志文件進行統計,從而根據兩個統計數據完成數據平衡驗證;這樣,在對接收到的日志數據進行統計時,因為只需要對接收到的日志數據的數量進行統計,而不用對日志數據的實際內容進行分析,因此可以僅對短日志文件的數量進行統計,而無需對完整日志文件的數量進行統計,從而對接收到的日志數據的數量統計是采用統計短日志文件的數量來完成,使得在數據平衡驗證時能夠減少對系統資源的占用并縮短統計時間,在日志數據較為龐大時,能夠節約大量的時間和資源。[0081]本發明實施例的第三個方面,提出了一種能夠在數據平衡驗證時減少對系統資源的占用的數據平衡驗證裝置的實施例。如圖3所示,為本發明提供的數據平衡驗證裝置實施例的模塊結構示意圖。[0082]所述數據平衡驗證裝置,包括:[0083]日志文件生成模塊301,用于接收日志數據,并根據所述配置文件生成完整日志文件(其中包含有所有需要的日志信息)和短日志文件;所述配置文件中包括短日志文件生成信息,所述短日志文件中包含的日志信息少于所述完整日志文件中包含的日志信息;所述完整日志文件可以是指正常情況下系統所記錄的日志文件,其中包含了一個常規日志文件所需要具有的所有日志信息;[0084]可選的,本發明實施例針對的是離線分析架構,本發明實施例應用于Nginx,這里的配置文件可以直接利用Nginx中的配置文件,在該配置文件中增加短日志文件生成信息;Nginx(也稱〃enginex〃,引擎X)是一種高性能的HTTP(HyperTextTransferProtocol,超文本傳輸協議)和反向代理服務器,也是一個IMAP(InternetMailAccessProtocol,互聯網郵件訪問協議)/P〇P3(PostOfficeProtocol-Version3,郵局協議版本3)/SMTP服務器(SimpleMailTransferProtocol,簡單郵件傳輸協議);Nginx作為負載均衡服務器,既可以在內部直接支持Rails(可譯為軌道,是一種用于開發數據庫驅動的網絡應用程序的完整框架)和PHP(HypertextPreprocessor,超文本預處理器)程序對外進行服務,也可以支持作為HTTP代理服務器對外進行服務;[0085]Nginx中的配置文件里有很多配置信息,設置日志文件(access_log)的日志格式的配置是其中一項,例如:[0087]其中pv、sm是預先設置好的日志格式,例如:[0089]其中,pv這種日志格式包含的數據量較多,相反sm包含的信息很少;[0090]可選的,按照步驟101的配置,每隔一段時間會旋轉一次,旋轉后服務器會重新加載(reload)所述配置文件,服務器的/log/con目錄下生成兩個日志文件:完整日志文件con.log(對應于pv日志格式,完整日志文件的實際名稱為被重命名的名稱,例如con.20160512-0110.log)、短日志文件cons·log(對應于sm日志格式,同樣的,短日志文件的實際名稱為被重命名的名稱,例如cons.20160512-0110.log),數據量較大時,每個日志文件中會存儲很多條日志數據;其中,完整日志文件con.log中的每條數據都包含很多的數據信息,而短日志文件cons.log中的每條數據則只會存儲一些用于區分不同日志數據的數據信息,例如接收到對應日志數據的時間;當日志量很大時,統計完整日志文件和短日志文件分別所消耗的時間和資源的對比就比較明顯了;[0091]其中,所述旋轉是指日志旋轉,簡單來說,是指將現有的日志文件重命名,然后重新創建原始空日志文件;[0092]例如,配置文件中有如下配置信息:[0094]配置信息設定后,在一段時間內是不會改變的,如果不進行日志旋轉,那么服務器接收的所有文件都會存儲在/1<^8/(3011/(3011.1(^和/1(^8/(3011/(30118.1(^兩個文件中,隨著時間的增長,日志文件會越來越大;[0095]為了能及時處理日志文件,一般一段時間后(視具體情況,可能按小時、天或者周,可選的,設置為10分鐘)會將接收日志的那個文件重命名,以con.log為例,每隔10分鐘將con.log重命名(例如con.20160512-0110.log),然后重新創建一個空的日志文件con.log;因為配置文件中設置的是接收到的數據存儲在con.log中,所以服務器新接收到的數據依然存入到con.log文件中,旋轉之后,con.20160512-0110.log中的數據就可以被用來做后續的操作了,即:寫入HDFS-〉文件解析->掛載到hive;[0096]短日志計數模塊302,用于根據所述短日志文件,統計第一預設時間閾值內接收得到的短日志文件數量;[0097]所述第一預設時間閾值,可以是指需要進行數據平衡驗證的時間段(例如一天中的某一個時段,這個時段采集的數據用于驗平的效果最好)或者能夠滿足數據驗平需要而應當采集數據的時間長度(例如每隔2小時進行一次數據驗平的效果最好);這里,根據實際需要,可以對第一預設時間閾值進行選擇,并可以根據實際情況的變化,對第一預設時間閾值進行調整;[0098]入庫文件獲得模塊303,用于將所述完整日志文件寫入分布式文件系統并解析得到入庫日志文件;[0099]這里,服務器接收到數據后,會存儲到服務器的磁盤上,然后完整日志文件在服務器落盤后存儲到分布式文件系統HDFS中,得到seq文件格式的落盤日志文件,所述seq文件格式的落盤日志文件經過解析程序后得到RC文件并掛載到Hive完成入庫,得到入庫日志文件;[0100]具體的,完整日志文件的落盤過程(即完整日志文件寫入HDFS的過程)可包括以下步驟:服務器接收到日志數據后,暫存在日志文件con.log中,每十分鐘旋轉一次,旋轉后,前述的日志文件被重命名為另一個文件(這個重命名的文件就是用于落盤的所述完整日志文件,例如cons.20160512-0110.log),同時重新加載(reload)所述配置文件,生成一個新的日志文件con.log(雖然與前一日志文件con.log命名相同,但因為前一日志文件被重命名后形成為一個完整日志文件,這里的重新生成的日志文件con.log則為一個全新的空日志文件,其中接下來繼續暫存的內容也就是新的日志內容);接著,被重命名后得到的完整日志文件可使用一個程序(例如glume(可譯為穎),一種類似于Flume(可譯為水槽)的程序)存儲到HDFS,這樣,就完成了從日志數據接收到本地落盤寫入HDFS的過程;Flume是一種高可用的、高可靠的、分布式的海量日志采集、聚合和傳輸的系統,Flume支持在日志系統中定制各類數據發送方,用于收集數據;同時,Flume提供對數據進行簡單處理,并寫到各種數據接受方(可定制)的能力;[0101]入庫文件計數模塊304,用于根據所述入庫日志文件,統計所述第一預設時間閾值內的入庫日志文件數量;可選的,所述入庫日志文件數量是從Hive中統計得到的;[0102]平衡驗證模塊305,用于根據所述短日志文件數量和入庫日志文件數量,驗證所述第一預設時間閾值內的日志量是否平衡;[0103]可選的,驗證所述第一預設時間閾值內的日志量是否平衡的方法可以是,判斷所述短日志文件數量和入庫日志文件數量是否相等,若相等,則日志量平衡,若不相等,則日志量不平衡。[0104]從上述實施例可以看出,本發明實施例提供的數據平衡驗證裝置,通過增加設置短日志文件,并通過統計短日志文件來對接收到的日志數據進行統計,在完整日志文件落盤入庫后對入庫日志文件進行統計,從而根據兩個統計數據完成數據平衡驗證;這樣,在對接收到的日志數據進行統計時,因為只需要對接收到的日志數據的數量進行統計,而不用對日志數據的實際內容進行分析,因此可以僅對短日志文件的數量進行統計,而無需對完整日志文件的數量進行統計,從而對接收到的日志數據的數量統計是采用統計短日志文件的數量來完成,使得在數據平衡驗證時能夠減少對系統資源的占用并縮短統計時間,在日志數據較為龐大時,能夠節約大量的時間和資源。[0105]可選的,在一些實施方式中,所述短日志文件包含的日志信息為日志數據產生時的本地時間(time_local)或日志狀態(status),這兩個數據,一方面占用的資源較少,另一方面能夠對日志數據進行初步區分,從而方便數量統計。[0106]寫入到所述分布式文件系統中落盤入庫的入庫日志文件,其中的某些入庫日志文件,因為其中的日志數據不符合規范或要求,會被清洗掉,清洗掉的數據會進行另外的處理,因此,落盤入庫的入庫日志文件的文件總數量則包括有效日志文件的數量和無效日志文件的數量,無效日志文件即被清洗掉的數據;從而,進一步的,在一些可選實施方式中,所述入庫日志文件包括有效日志文件和無效日志文件;所述入庫日志文件數量為所述有效日志文件的數量和無效日志文件的數量之和;這樣,在數據驗平時,不會因為被清洗掉的無效日志文件沒有被統計而影響數據驗平結果;可選的,所述有效日志文件和無效日志文件是經所述分布式文件系統分析得到的。[0107]較佳的,在一些可選實施方式中,所述平衡驗證模塊305,具體用于:[0108]計算所述第一預設時間閾值內的所述入庫日志文件數量與所述短日志文件數量的比值;[0109]判斷所述比值是否處于預設比值閾值范圍內;[0110]通常情況下,所述預設比值閾值范圍是1,即,所述短日志文件數量與所述入庫日志文件數量必須相等;但是,在現代網絡技術中,每天會產生大量日志數據,這樣,正常情況下,經過解析程序后入庫的入庫日志文件可能會存在一部分的數據丟失或者數據的讀取失敗等問題產生,因此,所述預設比值閾值范圍,是指預設的能夠驗證數據平衡的比值范圍,例如0.97~1,這樣,允許一部分數據的正常丟失,而不會出現數據不平衡的問題;若所述比值處于預設比值閾值范圍內,則判定所述第一預設時間閾值內的日志量平衡;[0112]若所述比值不處于預設比值閾值范圍內,則判定所述第一預設時間閾值內的日志量不平衡。[0113]通過上述實施例,使得在數據驗平的過程中,一方面保證了數據驗平的正確性,另一方面又允許了數據的正常的少量丟失,從而使少量的數據丟失不影響數據驗平的判斷結果。[0114]可選的,在一些實施方式中,所述配置文件中還包括第二預設時間閾值,所述日志文件生成模塊301,具體用于:[0115]按照所述第二預設時間閾值,加載所述配置文件,并將所述日志數據生成為完整日志文件和短日志文件;這里,加載一次配置文件,生成一個完整日志文件con.log和一個短日志文件cons,log,分別用于存儲相應的日志數據,每隔所述第二預設時間閾值,所述完整日志文件con.log和短日志文件cons.log被重命名并另存,然后再次加載所述配置文件,并生成新的一個完整日志文件con.log和一個短日志文件cons,log,這樣周而復始,即可在第一預設時間閾值內產生多個完整日志文件和短日志文件,用于進行日志文件的數量統計;所述第二預設時間閾值小于第一預設時間閾值,可以根據需要進行設置,例如5~10分鐘,在日志數據量較大時,可以適當縮短所述第二預設時間閾值。[0116]所屬領域的普通技術人員應當理解:以上任何實施例的討論僅為示例性的,并非旨在暗示本公開的范圍(包括權利要求)被限于這些例子;在本發明的思路下,以上實施例或者不同實施例中的技術特征之間也可以進行組合,步驟可以以任意順序實現,并存在如上所述的本發明的不同方面的許多其它變化,為了簡明它們沒有在細節中提供。[0117]另外,為簡化說明和討論,并且為了不會使本發明難以理解,在所提供的附圖中可以示出或可以不示出與集成電路(1C)芯片和其它部件的公知的電源/接地連接。此外,可以以框圖的形式示出裝置,以便避免使本發明難以理解,并且這也考慮了以下事實,即關于這些框圖裝置的實施方式的細節是高度取決于將要實施本發明的平臺的(即,這些細節應當完全處于本領域技術人員的理解范圍內)。在闡述了具體細節(例如,電路)以描述本發明的示例性實施例的情況下,對本領域技術人員來說顯而易見的是,可以在沒有這些具體細節的情況下或者這些具體細節有變化的情況下實施本發明。因此,這些描述應被認為是說明性的而不是限制性的。[0118]盡管已經結合了本發明的具體實施例對本發明進行了描述,但是根據前面的描述,這些實施例的很多替換、修改和變型對本領域普通技術人員來說將是顯而易見的。例如,其它存儲器架構(例如,動態RAM(DRAM))可以使用所討論的實施例。[0119]本發明的實施例旨在涵蓋落入所附權利要求的寬泛范圍之內的所有這樣的替換、修改和變型。因此,凡在本發明的精神和原則之內,所做的任何省略、修改、等同替換、改進等,均應包含在本發明的保護范圍之內。【主權項】1.一種數據平衡驗證方法,其特征在于,包括:接收日志數據,并根據所述配置文件生成完整日志文件和短日志文件;所述配置文件中包括短日志文件生成信息,所述短日志文件中包含的日志信息少于所述完整日志文件中包含的日志信息;根據所述短日志文件,統計第一預設時間閾值內接收得到的短日志文件數量;將所述完整日志文件寫入分布式文件系統并解析得到入庫日志文件;根據所述入庫日志文件,統計所述第一預設時間閾值內的入庫日志文件數量;根據所述短日志文件數量和所述入庫日志文件數量,驗證所述第一預設時間閾值內的日志量是否平衡。2.根據權利要求1所述的方法,其特征在于,所述短日志文件包含的日志信息為日志數據產生時的本地時間或日志狀態。3.根據權利要求1所述的方法,其特征在于,所述入庫日志文件包括有效日志文件和無效日志文件;所述入庫日志文件數量為所述有效日志文件的數量和無效日志文件的數量之和。4.根據權利要求1所述的方法,其特征在于,所述根據所述短日志文件數量和入庫日志文件數量,驗證所述第一預設時間閾值內的日志量是否平衡的步驟包括:計算所述第一預設時間閾值內的所述入庫日志文件數量與所述短日志文件數量的比值;判斷所述比值是否處于預設比值閾值范圍內;若所述比值處于預設比值閾值范圍內,則判定所述第一預設時間閾值內的日志量平衡;若所述比值不處于預設比值閾值范圍內,則判定所述第一預設時間閾值內的日志量不平衡。5.根據權利要求1-4任意一項所述的方法,其特征在于,所述配置文件中還包括第二預設時間閾值,所述根據所述配置文件生成完整日志文件和短日志文件的步驟包括:按照所述第二預設時間閾值,加載所述配置文件,并將所述日志數據生成為完整日志文件和短日志文件。6.-種數據平衡驗證裝置,其特征在于,包括:日志文件生成模塊,用于接收日志數據,并根據所述配置文件生成完整日志文件和短日志文件;所述配置文件中包括短日志文件生成信息,所述短日志文件中包含的日志信息少于所述完整日志文件中包含的日志信息;短日志計數模塊,用于根據所述短日志文件,統計第一預設時間閾值內接收得到的短日志文件數量;入庫文件獲得模塊,用于將所述完整日志文件寫入分布式文件系統并解析得到入庫日志文件;入庫文件計數模塊,用于根據所述入庫日志文件,統計所述第一預設時間閾值內的入庫日志文件數量;平衡驗證模塊,用于根據所述短日志文件數量和入庫日志文件數量,驗證所述第一預設時間閾值內的日志量是否平衡。7.根據權利要求6所述的裝置,其特征在于,所述短日志文件包含的日志信息為日志數據產生時的本地時間或日志狀態。8.根據權利要求6所述的裝置,其特征在于,所述入庫日志文件包括有效日志文件和無效日志文件;所述入庫日志文件數量為所述有效日志文件的數量和無效日志文件的數量之和。9.根據權利要求6所述的裝置,其特征在于,所述平衡驗證模塊,具體用于:計算所述第一預設時間閾值內的所述入庫日志文件數量與所述短日志文件數量的比值;判斷所述比值是否處于預設比值閾值范圍內;若所述比值處于預設比值閾值范圍內,則判定所述第一預設時間閾值內的日志量平衡;若所述比值不處于預設比值閾值范圍內,則判定所述第一預設時間閾值內的日志量不平衡。10.根據權利要求6-9任意一項所述的裝置,其特征在于,所述配置文件中還包括第二預設時間閾值,所述日志文件生成模塊,具體用于:按照所述第二預設時間閾值,加載所述配置文件,并將所述日志數據生成為完整日志文件和短日志文件。【文檔編號】G06F17/30GK106095870SQ201610393585【公開日】2016年11月9日【申請日】2016年6月6日公開號201610393585.7,CN106095870A,CN106095870A,CN201610393585,CN-A-106095870,CN106095870A,CN106095870A,CN201610393585,CN201610393585.7【發明人】鄭宇,張甲超【申請人】樂視控股(北京)有限公司,樂視網信息技術(北京)股份有限公司