CN107832406B - 海量日志数据的去重入库方法、装置、设备及存储介质 - Google Patents
海量日志数据的去重入库方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN107832406B CN107832406B CN201711069370.0A CN201711069370A CN107832406B CN 107832406 B CN107832406 B CN 107832406B CN 201711069370 A CN201711069370 A CN 201711069370A CN 107832406 B CN107832406 B CN 107832406B
- Authority
- CN
- China
- Prior art keywords
- log data
- deduplication
- result
- key
- weight
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2358—Change logging, detection, and notification
Abstract
本发明公开了一种海量日志数据的去重入库方法、装置、设备及存储介质。该方法包括:获取第一时间区间内的待入库海量日志数据;通过对所述待入库海量日志数据进行局部去重,获取待入库预去重结果;将所述待入库预去重结果和基准全量去重结果进行全局去重,获得与所述第一时间区间对应的全量去重结果,所述基准全量去重结果为前一次去重入库操作得到的全量去重结果;根据与所述第一时间区间对应的全量去重结果,对日志数据库进行更新处理。通过上述方法实现了对海量日志数据的去重入库处理,不仅避免了对单台计算机的磁盘容量需求过高的问题,还大大提高了海量日志数据去重、统计以及入库的效率。
Description
技术领域
本发明实施例涉及数据处理技术领域,尤其涉及一种海量日志数据的去重入库方法、装置、设备及存储介质。
背景技术
在计算机中,日志文件是记录在操作系统或其他软件运行中发生的事件或在通信软件的不同用户之间的消息的文件。目前,人们的工作生活与计算机密不可分,日志数据的总量通过在万亿条以上级别,因此,在海量日志数据中提取有价值的信息进行去重入库存储,是十分必要的。
对于海量日志数据的去重入库通常采用两种方式:
第一种方式为使用Redis缓存数据库保存日志数据的主键信息。系统逐条读取海量日志数据,从数据中获取日志数据的主键信息,根据主键信息查询Redis缓存数据库,如果能够查询到数据,则重新计算该主键的统计信息,并将统计结果回写到Redis缓存数据库和Hbase数据库中,如果没有查询到数据,将主键和统计信息写入Redis缓存数据库,并将原始日志数据保存到hbase库中。
第二种方式为直接对Hbase数据库中保存的日志数据进行去重。系统逐条读取海量日志数据,从数据中取得获取日志数据的主键信息,根据主键生成RowKey(行主键),通过该RowKey可以直接从Hbase数据库中取得原始数据,如果能够获取到数据,则重新计算该数据的统计信息,生成新数据插入到Hbase数据库中覆盖原来的数据;如果没有获取到数据,则直接插入该数据。
但是,上述两种方式存在一定的局限性。第一种方式的缺点是随着日志数据量的增大,计算机将无法满足Redis缓存数据库的空间需求。第二种方式缺点是性能偏低,每条日志数据从Hbase数据库读取后经过处理再写回Hbase数据库中的耗时通常为毫秒级,但对于海量数据(总量在万亿条以上级别)来说,时间性能开销将是巨大的。
发明内容
本发明提供一种海量日志数据的去重入库方法、装置、设备及存储介质,以提高对海量日志数据去重处理的效率,同时避免出现由于日志数据量的增大而造成单台计算机磁盘容量不足又无法无限扩充的问题。
第一方面,本发明实施例提供了一种海量日志数据的去重入库方法,包括:
获取第一时间区间内的待入库海量日志数据;
通过对所述待入库海量日志数据进行局部去重,获取待入库预去重结果;
将所述待入库预去重结果和基准全量去重结果进行全局去重,获得与所述第一时间区间对应的全量去重结果,所述基准全量去重结果为前一次去重入库操作得到的全量去重结果;
根据与所述第一时间区间对应的全量去重结果,对日志数据库进行更新处理。
第二方面,本发明实施例还提供了一种海量日志数据的去重入库装置,包括:
待入库数据获取模块,用于获取第一时间区间内的待入库海量日志数据;
待入库预去重结果获取模块,用于通过对所述待入库海量日志数据进行局部去重,获取待入库预去重结果;
全量去重结果获取模块,用于将所述待入库预去重结果和基准全量去重结果进行全局去重,获得与所述第一时间区间对应的全量去重结果,所述基准全量去重结果为前一次去重入库操作得到的全量去重结果;
数据库更新模块,用于根据与所述第一时间区间对应的全量去重结果,对日志数据库进行更新处理。
第三方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明任意实施例所述的海量日志数据的去重入库方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所述的海量日志数据的去重入库方法。
本发明实施例提供了一种海量日志数据的去重入库方法、装置、设备及存储介质,通过获取第一时间区间内的待入库海量日志数据;通过对待入库海量日志数据进行局部去重,获取待入库预去重结果;将待入库预去重结果和基准全量去重结果进行全局去重,获得与第一时间区间对应的全量去重结果,基准全量去重结果为前一次去重入库操作得到的全量去重结果;根据与第一时间区间对应的全量去重结果,对日志数据库进行更新处理的技术方案,实现了对海量日志数据的去重入库处理,不仅避免了对单台计算机的磁盘容量需求过高的问题,还大大提高了海量日志数据去重、统计以及入库的效率。
附图说明
图1是本发明实施例一中的一种海量日志数据的去重入库方法的流程图;
图2是本发明实施例二中的一种海量日志数据的去重入库装置的结构示意图;
图3是本发明实施例三中的一种计算机设备的硬件结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1为本发明实施例一提供的一种海量日志数据的去重入库方法的流程图,本实施例可适用于对海量日志数据进行去重后存储有价值的信息的情况,例如是给警方提供去重后的日志数据,为警方查案提供便利。该方法可以由本发明实施例提供的海量日志数据的去重入库装置来执行,该装置可采用软件和/或硬件的方式实现,并一般可集成在计算机设备中,如图1所示,本实施例的方法具体包括:
S110、获取第一时间区间内的待入库海量日志数据。
第一时间区间为预先设定的时间区间,将该时间区间内的海量日志进行去重入库,优选的,第一时间区间为每日,即,每日对当前日的海量日志数据进行去重入库,这样可以将每日的海量数据大大压缩,进而提升计算机的后续处理性能。
通常,对待入库海量日志数据去重入库处理是离线进行的,而非实时进行的。
具体的,可以基于Hadoop平台,在HDFS(Hadoop Distributed File System,Hadoop分布式文件系统)上保存未去重的海量日志数据和去重后的全量数据,使用MapReduce程序对日志数据进行逻辑处理,进而实现对海量日志数据的去重入库处理。
S120、通过对所述待入库海量日志数据进行局部去重,获取待入库预去重结果。
对每日的待入库海量日志数据进行局部去重,也可称之为入库前的预去重,进而得到当日海量日志数据的待入库预去重结果。
优选的,可以采用MapReduce程序对所述待入库海量日志数据进行局部去重,具体操作如下:
通过Map端将所述第一时间区间内的待入库海量日志数据中的每条日志数据处理为键值对格式后,发送到Reduce端,其中,键值对中的键为每条日志数据的主键,键值对中的值为与所述主键对应的日志数据;
通过Reduce端将键值对中的键相同的日志数据进行合并处理,依据采集时间对所述键值对中的键相同的日志数据进行统计,将第一统计数据作为所述键值对中键相同的键对应的所述键值对中的值,其中,所述第一统计数据包括所述键值对中的键相同的日志数据的第一次采集时间、最后一次采集时间和采集次数,以及在所述最后一次采集时间采集的日志数据的各字段的值;
将通过所述Reduce端处理后的日志数据以键值对格式存储至待入库预去重序列文件中,以实现对所述待入库海量日志数据的局部去重,生成待入库预去重结果。
作为本实施例一种具体的实施方式,可以每日对当天的海量日志数据进行一次局部去重,具体的处理过程为:
输入每日的海量日志数据后,在Map端将每个日志数据的主键(主键指的是可以唯一标识每个日志数据的值,例如可以是应用程序登录账号等)拼成字符串,通过加密算法生成Md5值。将Md5值作为Key(即键值对中的键),将整条日志数据作为Value(即键值对中的值)发送到Reduce端,即可完成通过Map端将每条日志数据处理为键值对(Key-Value)格式后发送至Reduce端。
在Reduce端对相同Key值的日志数据进行合并处理,根据日志数据的采集时间进行统计信息的计算,其中,将最小时间定义为第一次采集到该Key值的日志数据的时间,将最大时间定义为最后一次采集到该Key值的日志数据的时间。对相同Key值的日志数据进行合并处理后,Key-Value格式的日志数据的Key值为Md5值,Value值为最小时间、最大时间、相同Key值日志数据的采集次数和最后一次采集到该Key值的日志数据中各字段的值。
将合并处理后的Key-Value格式的日志数据输出至待入库预去重序列文件(Sequence File)中,就此完成对当日的海量日志数据局部去重,生成了待入库预去重结果。
S130、将所述待入库预去重结果和基准全量去重结果进行全局去重,获得与所述第一时间区间对应的全量去重结果,所述基准全量去重结果为前一次去重入库操作得到的全量去重结果。
优选的,可以采用MapReduce程序将所述待入库预去重结果和基准全量去重结果进行全局去重,具体操作如下:
采用MapReduce程序将所述待入库预去重结果中的第一日志数据和所述基准全量去重结果中的第二日志数据加载至所述Map端;
通过所述Map端对所述第一日志数据添加第一标签,对所述第二日志数据添加第二标签后,将所述第一日志数据和所述第二日志数据以键值对格式发送到Reduce端,其中,键值对中的键为每条日志数据的主键,键值对中的值为与所述主键对应的添加标签后的日志数据;
通过Reduce端将键值对中键相同的日志数据进行合并处理,依据采集时间对所述键值对中键相同的日志数据进行统计,将第二统计数据作为所述键值对中键相同的键对应的所述键值对中的值,其中,所述第二统计数据包括所述键值对中的键相同的日志数据的第一次采集时间、最后一次采集时间、总采集次数和标签信息,以及在所述最后一次采集时间采集的日志数据的各字段的值;
根据所述键值对中的键相同的日志数据中的各标签信息,通过Reduce端对键值对中的键相同的日志数据执行相应的存储操作,以实现对所述待入库预去重结果和基准全量去重结果的全局去重,生成与所述第一时间区间对应的全量去重结果。
作为本实施例一种具体的实施方式,可以对当日预去重结果和前一次全局去重成功后的日志数据进行全局去重。其中,对每次全量去重结果的保存路径进行存储,通过查看去重文件,可以获取最后一次全量去重成功后的日志数据在HDFS上的保存路径。具体的处理过程为:
使用MapReduce程序将上一次全局去重成功的数据(即前一日的全量去重结果,也即基准全量去重结果)与当日局部去重的数据(即当日的待入库预去重结果)一起加载进Map端。
在Map端,对于当日局部去重的数据打上标签为新数据(即添加第一标签),对上一次全局去重成功的数据打上标签为旧数据(即添加第二标签),以Md5值为Key,以添加标签信息后的日志数据为Value的键值对日志数据输出到Reduce端。
在Reduce端,将相同Key值的日志数据进行合并处理,重新计算统计信息,仍然将最小时间定义为第一次采集到该Key值的日志数据的时间,将最大时间定义为最后一次采集到该Key值的日志数据的时间,将相同Key值日志数据的采集次数之和作为总采集次数。对相同Key值的日志数据进行合并处理后,Key-Value格式的日志数据的Key值为Md5值,Value值为最小时间、最大时间、相同Key值日志数据的总采集次数、标签信息和最后一次采集到该Key值的日志数据中各字段的值。
然后根据相同Key值的日志数据中的各标签信息,通过Reduce端对日志数据执行相应的存储操作,具体可以为:
如果确定各标签信息均为所述第一标签,则将所述键值对中键相同的日志数据存储至第一序列文件中;
如果确定各标签信息包含所述第一标签和所述第二标签,则将所述键值对中键相同的日志数据存储至第二序列文件中;
其中,所述第一序列文件和所述第二序列文件为所述与所述第一时间区间对应的全量去重结果,所述与所述第一时间区间对应的全量去重结果的保存路径存储于历史记录文件中,以便于下一次全局去重时查找前一次去重入库操作得到的全量去重结果。
即,根据打标信息,将日志数据输出到不同的序列文件中,例如可以是:
将相同Key值的日志数据中,标签信息都为新数据的,输出到new开头的序列文件(即第一序列文件)中;将相同Key值的日志数据中,标签信息有新数据,也有旧数据的,输出到modify开头的序列文件(即第二序列文件)中;将相同Key值的日志数据中,标签信息都为旧数据的,输出到old开头的序列文件中。
S140、根据与所述第一时间区间对应的全量去重结果,对日志数据库进行更新处理。
优选的,可以根据与所述第一时间区间对应的全量去重结果,采用MapReduce程序对日志数据库进行更新处理,具体操作如下:
采用MapReduce程序对所述第一序列文件和所述第二序列文件中的日志数据进行入库处理。
即,对于全局去重后输出的序列文件,只需要将以new开头的和以modify开头的序列文件中的日志数据重新入库即可。而对于以old开头的序列文件中日志数据无需进行入库处理,其本身为上一次全量去重结果中的数据。至此,完成对当日的海量日志数据的去重入库处理。
本实施例提供的一种海量日志数据的去重入库方法,利用Hadoop平台的分布式系统,充分地利用了所有机器的存储空间对全量去重结果进行存储,而且在存储空间不够时,可以方便地增加机器的数量和存储空间。另外,充分地利用了每台机器的资源对海量日志数据进行逻辑处理,整个处理过程都是针对序列文件的操作,最终入库也仅需要对去重后有变化的日志数据进行入库处理,大大减少了入库量的同时,还减少了对Hbase数据库的访问次数,从而大大提高了系统的整体性能。
实施例二
图2所示为本发明实施例二提供的一种海量日志数据的去重入库装置的结构示意图,本实施例可适用于对海量日志数据进行去重后存储有价值的信息的情况,例如是给警方提供去重后的日志数据,为警方查案提供便利。该装置可采用软件和/或硬件的方式实现,并一般可集成在计算机设备中,如图2所示,该海量日志数据的去重入库装置具体包括:待入库数据获取模块210、待入库预去重结果获取模块220、全量去重结果获取模块230以及数据库更新模块240,其中,
待入库数据获取模块210,用于获取第一时间区间内的待入库海量日志数据;
待入库预去重结果获取模块220,用于通过对所述待入库海量日志数据进行局部去重,获取待入库预去重结果;
全量去重结果获取模块230,用于将所述待入库预去重结果和基准全量去重结果进行全局去重,获得与所述第一时间区间对应的全量去重结果,所述基准全量去重结果为前一次去重入库操作得到的全量去重结果;
数据库更新模块240,用于根据与所述第一时间区间对应的全量去重结果,对日志数据库进行更新处理。
本实施例提供的一种海量日志数据的去重入库装置,通过获取第一时间区间内的待入库海量日志数据;通过对待入库海量日志数据进行局部去重,获取待入库预去重结果;将待入库预去重结果和基准全量去重结果进行全局去重,获得与第一时间区间对应的全量去重结果,基准全量去重结果为前一次去重入库操作得到的全量去重结果;根据与第一时间区间对应的全量去重结果,对日志数据库进行更新处理的技术方案,实现了对海量日志数据的去重入库处理,不仅避免了对单台计算机的磁盘容量需求过高的问题,还大大提高了海量日志数据去重、统计以及入库的效率。
在上述各实施例的基础上,待入库预去重结果获取模块220,具体用于采用MapReduce程序对所述待入库海量日志数据进行局部去重;
全量去重结果获取模块230,具体用于采用MapReduce程序将所述待入库预去重结果和基准全量去重结果进行全局去重;
数据库更新模块240,具体用于根据与所述第一时间区间对应的全量去重结果,采用MapReduce程序对日志数据库进行更新处理。
具体的,待入库预去重结果获取模块220包括:日志数据第一处理单元、日志数据第一合并单元和预去重数据存储单元,其中,
日志数据第一处理单元,用于通过Map端将所述第一时间区间内的待入库海量日志数据中的每条日志数据处理为键值对格式后,发送到Reduce端,其中,键值对中的键为每条日志数据的主键,键值对中的值为与所述主键对应的日志数据;
日志数据第一合并单元,用于通过Reduce端将键值对中的键相同的日志数据进行合并处理,依据采集时间对所述键值对中的键相同的日志数据进行统计,将第一统计数据作为所述键值对中键相同的键对应的所述键值对中的值,其中,所述第一统计数据包括所述键值对中的键相同的日志数据的第一次采集时间、最后一次采集时间和采集次数,以及在所述最后一次采集时间采集的日志数据的各字段的值;
预去重数据存储单元,用于将通过所述Reduce端处理后的日志数据以键值对格式存储至待入库预去重序列文件中,以实现对所述待入库海量日志数据的局部去重,生成待入库预去重结果。
具体的,全量去重结果获取模块230包括:日志数据加载单元、日志数据第二处理单元、日志数据第二合并单元和全局去重数据存储单元,其中,
日志数据加载单元,用于采用MapReduce程序将所述待入库预去重结果中的第一日志数据和所述基准全量去重结果中的第二日志数据加载至所述Map端;
日志数据第二处理单元,用于通过所述Map端对所述第一日志数据添加第一标签,对所述第二日志数据添加第二标签后,将所述第一日志数据和所述第二日志数据以键值对格式发送到Reduce端,其中,键值对中的键为每条日志数据的主键,键值对中的值为与所述主键对应的添加标签后的日志数据;
日志数据第二合并单元,用于通过Reduce端将键值对中键相同的日志数据进行合并处理,依据采集时间对所述键值对中键相同的日志数据进行统计,将第二统计数据作为所述键值对中键相同的键对应的所述键值对中的值,其中,所述第二统计数据包括所述键值对中的键相同的日志数据的第一次采集时间、最后一次采集时间、总采集次数和标签信息,以及在所述最后一次采集时间采集的日志数据的各字段的值;
全局去重数据存储单元,用于根据所述键值对中的键相同的日志数据中的各标签信息,通过Reduce端对所述键值对中的键相同的日志数据执行相应的存储操作,以实现对所述待入库预去重结果和基准全量去重结果的全局去重,生成与所述第一时间区间对应的全量去重结果。
全局去重数据存储单元,具体用于:
如果确定各标签信息均为所述第一标签,则将所述键值对中键相同的日志数据存储至第一序列文件中;
如果确定各标签信息包含所述第一标签和所述第二标签,则将所述键值对中键相同的日志数据存储至第二序列文件中;
其中,所述第一序列文件和所述第二序列文件为所述与所述第一时间区间对应的全量去重结果,所述与所述第一时间区间对应的全量去重结果的保存路径存储于历史记录文件中,以便于下一次全局去重时查找前一次去重入库操作得到的全量去重结果。
在上述各实施例的基础上,数据库更新模块240,具体用于采用MapReduce程序对所述第一序列文件和所述第二序列文件中的日志数据进行入库处理。
上述海量日志数据的去重入库装置可执行本发明任意实施例所提供的海量日志数据的去重入库方法,具备执行的海量日志数据的去重入库方法相应的功能模块和有益效果。
实施例三
如图3所示,为本发明实施例三提供的一种计算机设备的硬件结构示意图,如图3所示,该计算机设备包括:
一个或多个处理器310,图3中以一个处理器310为例;
存储器320;
所述计算机设备还可以包括:输入装置330和输出装置340。
所述计算机设备中的处理器310、存储器320、输入装置330和输出装置340可以通过总线或者其他方式连接,图3中以通过总线连接为例。
存储器320作为一种非暂态计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的一种海量日志数据的去重入库方法对应的程序指令/模块(例如,附图2所示的待入库数据获取模块210、待入库预去重结果获取模块220、全量去重结果获取模块230和数据库更新模块240)。处理器310通过运行存储在存储器320中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述方法实施例的一种海量日志数据的去重入库方法。
存储器320可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器320可以包括高速随机存取存储器,还可以包括非暂态性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态性固态存储器件。在一些实施例中,存储器320可选包括相对于处理器310远程设置的存储器,这些远程存储器可以通过网络连接至终端设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置330可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。输出装置340可包括显示屏等显示设备。
实施例四
本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种海量日志数据的去重入库方法,该方法包括:
获取第一时间区间内的待入库海量日志数据;
通过对所述待入库海量日志数据进行局部去重,获取待入库预去重结果;
将所述待入库预去重结果和基准全量去重结果进行全局去重,获得与所述第一时间区间对应的全量去重结果,所述基准全量去重结果为前一次去重入库操作得到的全量去重结果;
根据与所述第一时间区间对应的全量去重结果,对日志数据库进行更新处理。
可选的,该计算机可执行指令在由计算机处理器执行时还可以用于执行本发明任意实施例所提供的一种海量日志数据的去重入库方法的技术方案。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (8)
1.一种海量日志数据的去重入库方法,其特征在于,包括:
获取第一时间区间内的待入库海量日志数据;
通过对所述待入库海量日志数据进行局部去重,获取待入库预去重结果;
将所述待入库预去重结果和基准全量去重结果进行全局去重,获得与所述第一时间区间对应的全量去重结果,所述基准全量去重结果为前一次去重入库操作得到的全量去重结果;
根据与所述第一时间区间对应的全量去重结果,对日志数据库进行更新处理;
其中,所述对所述待入库海量日志数据进行局部去重,包括:
采用MapReduce程序对所述待入库海量日志数据进行局部去重;
所述将所述待入库预去重结果和基准全量去重结果进行全局去重,包括:
采用MapReduce程序将所述待入库预去重结果和基准全量去重结果进行全局去重;
所述根据与所述第一时间区间对应的全量去重结果,对日志数据库进行更新处理,包括:
根据与所述第一时间区间对应的全量去重结果,采用MapReduce程序对日志数据库进行更新处理。
2.根据权利要求1所述的方法,其特征在于,所述采用MapReduce程序对所述待入库海量日志数据进行局部去重,包括:
通过Map端将所述第一时间区间内的待入库海量日志数据中的每条日志数据处理为键值对格式后,发送到Reduce端,其中,键值对中的键为每条日志数据的主键,键值对中的值为与所述主键对应的日志数据;
通过Reduce端将键值对中的键相同的日志数据进行合并处理,依据采集时间对所述键值对中的键相同的日志数据进行统计,将第一统计数据作为所述键值对中键相同的键对应的所述键值对中的值,其中,所述第一统计数据包括所述键值对中的键相同的日志数据的第一次采集时间、最后一次采集时间和采集次数,以及在所述最后一次采集时间采集的日志数据的各字段的值;
将通过所述Reduce端处理后的日志数据以键值对格式存储至待入库预去重序列文件中,以实现对所述待入库海量日志数据的局部去重,生成待入库预去重结果。
3.根据权利要求2所述的方法,其特征在于,所述采用MapReduce程序将所述待入库预去重结果和基准全量去重结果进行全局去重,包括:
采用MapReduce程序将所述待入库预去重结果中的第一日志数据和所述基准全量去重结果中的第二日志数据加载至所述Map端;
通过所述Map端对所述第一日志数据添加第一标签,对所述第二日志数据添加第二标签后,将所述第一日志数据和所述第二日志数据以键值对格式发送到Reduce端,其中,键值对中的键为每条日志数据的主键,键值对中的值为与所述主键对应的添加标签后的日志数据;
通过Reduce端将键值对中键相同的日志数据进行合并处理,依据采集时间对所述键值对中键相同的日志数据进行统计,将第二统计数据作为所述键值对中键相同的键对应的所述键值对中的值,其中,所述第二统计数据包括所述键值对中的键相同的日志数据的第一次采集时间、最后一次采集时间、总采集次数和标签信息,以及在所述最后一次采集时间采集的日志数据的各字段的值;
根据所述键值对中的键相同的日志数据中的各标签信息,通过Reduce端对所述键值对中的键相同的日志数据执行相应的存储操作,以实现对所述待入库预去重结果和基准全量去重结果的全局去重,生成与所述第一时间区间对应的全量去重结果。
4.根据权利要求3所述的方法,其特征在于,所述根据所述键值对中的键相同的日志数据中的各标签信息,通过Reduce端对所述键值对中的键相同的日志数据执行相应的存储操作,包括:
如果确定各标签信息均为所述第一标签,则将所述键值对中键相同的日志数据存储至第一序列文件中;
如果确定各标签信息包含所述第一标签和所述第二标签,则将所述键值对中键相同的日志数据存储至第二序列文件中;
其中,所述第一序列文件和所述第二序列文件为所述与所述第一时间区间对应的全量去重结果,所述与所述第一时间区间对应的全量去重结果的保存路径存储于历史记录文件中,以便于下一次全局去重时查找前一次去重入库操作得到的全量去重结果。
5.根据权利要求4所述的方法,其特征在于,所述根据与所述第一时间区间对应的全量去重结果,采用MapReduce程序对日志数据库进行更新处理,包括:
采用MapReduce程序对所述第一序列文件和所述第二序列文件中的日志数据进行入库处理。
6.一种海量日志数据的去重入库装置,其特征在于,包括:
待入库数据获取模块,用于获取第一时间区间内的待入库海量日志数据;
待入库预去重结果获取模块,用于通过对所述待入库海量日志数据进行局部去重,获取待入库预去重结果;
全量去重结果获取模块,用于将所述待入库预去重结果和基准全量去重结果进行全局去重,获得与所述第一时间区间对应的全量去重结果,所述基准全量去重结果为前一次去重入库操作得到的全量去重结果;
数据库更新模块,用于根据与所述第一时间区间对应的全量去重结果,对日志数据库进行更新处理;
其中,所述待入库预去重结果获取模块,具体用于采用MapReduce程序对所述待入库海量日志数据进行局部去重;
所述全量去重结果获取模块,具体用于采用MapReduce程序将所述待入库预去重结果和基准全量去重结果进行全局去重;
所述数据库更新模块,具体用于根据与所述第一时间区间对应的全量去重结果,采用MapReduce程序对日志数据库进行更新处理。
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-5中任一所述的方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711069370.0A CN107832406B (zh) | 2017-11-03 | 2017-11-03 | 海量日志数据的去重入库方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711069370.0A CN107832406B (zh) | 2017-11-03 | 2017-11-03 | 海量日志数据的去重入库方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107832406A CN107832406A (zh) | 2018-03-23 |
CN107832406B true CN107832406B (zh) | 2020-09-11 |
Family
ID=61653618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711069370.0A Active CN107832406B (zh) | 2017-11-03 | 2017-11-03 | 海量日志数据的去重入库方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107832406B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109086313A (zh) * | 2018-06-27 | 2018-12-25 | 马赫 | 一种基于逆文本相似度进行试题命制排重方法 |
CN109062997A (zh) * | 2018-07-05 | 2018-12-21 | 中国电子科技集团公司第五十四研究所 | 一种电子围栏数据自动去重方法 |
CN108897890B (zh) * | 2018-07-11 | 2020-04-24 | 吉林吉大通信设计院股份有限公司 | 一种基于时空双重压缩的分布式大数据日志汇聚方法 |
CN109460389B (zh) * | 2018-11-29 | 2021-08-06 | 四川长虹电器股份有限公司 | 一种基于openresty的日志记录方法 |
CN109522305B (zh) * | 2018-12-06 | 2021-02-02 | 北京千方科技股份有限公司 | 一种大数据去重方法及装置 |
CN111723063A (zh) * | 2019-03-18 | 2020-09-29 | 北京沃东天骏信息技术有限公司 | 一种离线日志数据处理的方法和装置 |
CN110209656B (zh) * | 2019-04-26 | 2022-05-17 | 北京互金新融科技有限公司 | 数据处理方法及装置 |
CN110191005B (zh) * | 2019-06-25 | 2020-02-21 | 北京九章云极科技有限公司 | 一种告警日志处理方法及系统 |
CN110941598A (zh) * | 2019-12-02 | 2020-03-31 | 北京锐安科技有限公司 | 一种数据去重方法、装置、终端及存储介质 |
CN112115099B (zh) * | 2020-08-14 | 2023-11-07 | 华北科技学院 | 数据归一化方法、装置、计算机可读介质和电子设备 |
CN112765190A (zh) * | 2021-01-08 | 2021-05-07 | 光通天下网络科技股份有限公司 | Ip数据更新方法、装置、设备及介质 |
CN113688122A (zh) * | 2021-06-09 | 2021-11-23 | 上海万物新生环保科技集团有限公司 | 一种数据去重方法及设备 |
CN113836431A (zh) * | 2021-10-19 | 2021-12-24 | 中国平安人寿保险股份有限公司 | 基于用户时长的用户推荐方法、装置、设备及介质 |
CN115086195B (zh) * | 2022-06-09 | 2024-02-02 | 北京锐安科技有限公司 | 分流设备的报文去重时间确定方法、装置、设备及介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521406A (zh) * | 2011-12-26 | 2012-06-27 | 中国科学院计算技术研究所 | 海量结构化数据复杂查询任务的分布式查询方法和系统 |
CN103324552A (zh) * | 2013-06-06 | 2013-09-25 | 西安交通大学 | 两阶段单实例去重数据备份方法 |
CN103593442A (zh) * | 2013-11-15 | 2014-02-19 | 北京国双科技有限公司 | 日志数据的去重方法及装置 |
CN104636477A (zh) * | 2015-02-15 | 2015-05-20 | 山东卓创资讯集团有限公司 | 一种信息推送前推送列表的去重方法 |
CN105049287A (zh) * | 2015-07-28 | 2015-11-11 | 小米科技有限责任公司 | 日志处理方法及装置 |
CN105068757A (zh) * | 2015-07-23 | 2015-11-18 | 浙江大学 | 一种基于文件语义和系统实时状态的冗余数据去重方法 |
CN105069111A (zh) * | 2015-08-10 | 2015-11-18 | 广东工业大学 | 云存储中基于相似性的数据块级数据去重方法 |
CN105630658A (zh) * | 2015-12-22 | 2016-06-01 | 北京奇虎科技有限公司 | 数据处理的方法及装置 |
CN106294351A (zh) * | 2015-05-13 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 日志事件处理方法和装置 |
CN106603742A (zh) * | 2016-12-14 | 2017-04-26 | 北京邮电大学 | 一种ip地址与域名对应关系的更新方法及装置 |
CN106844143A (zh) * | 2016-12-27 | 2017-06-13 | 微梦创科网络科技(中国)有限公司 | 一种日志去重处理方法及装置 |
CN106899426A (zh) * | 2016-06-30 | 2017-06-27 | 阿里巴巴集团控股有限公司 | 用户访问数量统计方法及其系统 |
CN107003935A (zh) * | 2014-11-20 | 2017-08-01 | 国际商业机器公司 | 优化数据库去重 |
CN108897890A (zh) * | 2018-07-11 | 2018-11-27 | 吉林吉大通信设计院股份有限公司 | 一种基于时空双重压缩的分布式大数据日志汇聚方法 |
-
2017
- 2017-11-03 CN CN201711069370.0A patent/CN107832406B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521406A (zh) * | 2011-12-26 | 2012-06-27 | 中国科学院计算技术研究所 | 海量结构化数据复杂查询任务的分布式查询方法和系统 |
CN103324552A (zh) * | 2013-06-06 | 2013-09-25 | 西安交通大学 | 两阶段单实例去重数据备份方法 |
CN103593442A (zh) * | 2013-11-15 | 2014-02-19 | 北京国双科技有限公司 | 日志数据的去重方法及装置 |
CN107003935A (zh) * | 2014-11-20 | 2017-08-01 | 国际商业机器公司 | 优化数据库去重 |
CN104636477A (zh) * | 2015-02-15 | 2015-05-20 | 山东卓创资讯集团有限公司 | 一种信息推送前推送列表的去重方法 |
CN106294351A (zh) * | 2015-05-13 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 日志事件处理方法和装置 |
CN105068757A (zh) * | 2015-07-23 | 2015-11-18 | 浙江大学 | 一种基于文件语义和系统实时状态的冗余数据去重方法 |
CN105049287A (zh) * | 2015-07-28 | 2015-11-11 | 小米科技有限责任公司 | 日志处理方法及装置 |
CN105069111A (zh) * | 2015-08-10 | 2015-11-18 | 广东工业大学 | 云存储中基于相似性的数据块级数据去重方法 |
CN105630658A (zh) * | 2015-12-22 | 2016-06-01 | 北京奇虎科技有限公司 | 数据处理的方法及装置 |
CN106899426A (zh) * | 2016-06-30 | 2017-06-27 | 阿里巴巴集团控股有限公司 | 用户访问数量统计方法及其系统 |
CN106603742A (zh) * | 2016-12-14 | 2017-04-26 | 北京邮电大学 | 一种ip地址与域名对应关系的更新方法及装置 |
CN106844143A (zh) * | 2016-12-27 | 2017-06-13 | 微梦创科网络科技(中国)有限公司 | 一种日志去重处理方法及装置 |
CN108897890A (zh) * | 2018-07-11 | 2018-11-27 | 吉林吉大通信设计院股份有限公司 | 一种基于时空双重压缩的分布式大数据日志汇聚方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107832406A (zh) | 2018-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107832406B (zh) | 海量日志数据的去重入库方法、装置、设备及存储介质 | |
CN109034993B (zh) | 对账方法、设备、系统及计算机可读存储介质 | |
CN107220142B (zh) | 执行数据恢复操作的方法及装置 | |
CN105373448B (zh) | 数据库中故障数据的恢复方法和系统 | |
CN104298760B (zh) | 一种应用于数据仓库的数据处理方法和数据处理装置 | |
CN107229420B (zh) | 数据存储方法、读取方法、删除方法和数据操作系统 | |
CN110941598A (zh) | 一种数据去重方法、装置、终端及存储介质 | |
CN112714359B (zh) | 视频推荐方法、装置、计算机设备及存储介质 | |
CN110727727B (zh) | 一种数据库的统计方法及装置 | |
CN108536745B (zh) | 基于Shell的数据表提取方法、终端、设备及存储介质 | |
CN109086382B (zh) | 一种数据同步方法、装置、设备及存储介质 | |
CN107832440B (zh) | 一种数据挖掘方法、装置、服务器及计算机可读存储介质 | |
CN110851209A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN111414389A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN111651296A (zh) | 数据删除操作的拦截备份方法、装置、设备及存储介质 | |
CN105260639A (zh) | 一种脸部识别系统的数据更新的方法及装置 | |
CN106407442B (zh) | 一种海量文本数据处理方法及装置 | |
CN112860412B (zh) | 业务数据处理方法、装置、电子设备及存储介质 | |
Zhang et al. | Recovering SQLite data from fragmented flash pages | |
CN110222046B (zh) | 列表数据的处理方法、装置、服务器和存储介质 | |
CN111046106A (zh) | 缓存数据同步方法、装置、设备及介质 | |
CN109213972B (zh) | 确定文档相似度的方法、装置、设备和计算机存储介质 | |
CN111723063A (zh) | 一种离线日志数据处理的方法和装置 | |
CN110851437A (zh) | 一种存储方法、装置及设备 | |
CN104484174A (zh) | Rar格式的压缩文件的处理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |