数据平衡验证方法及装置的制造方法

文档序号:10724997阅读:164来源:国知局
数据平衡验证方法及装置的制造方法【专利摘要】本发明公开了一种数据平衡验证方法及装置,包括:接收日志数据,并根据所述配置文件生成完整日志文件和短日志文件;所述配置文件中包括短日志文件生成信息,所述短日志文件中包含的日志信息少于所述完整日志文件中包含的日志信息;根据所述短日志文件,统计第一预设时间阈值内接收得到的短日志文件数量;将所述完整日志文件写入分布式文件系统并解析得到入库日志文件;根据所述入库日志文件,统计所述第一预设时间阈值内的入库日志文件数量;根据所述短日志文件数量和入库日志文件数量,验证所述第一预设时间阈值内的日志量是否平衡。本发明提出的数据平衡验证方法及装置,能够在数据平衡验证时减少对系统资源的占用。【专利说明】数据平衡验证方法及装置
技术领域
[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【发明人】郑宇,张甲超【申请人】乐视控股(北京)有限公司,乐视网信息技术(北京)股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1