一种日志的存储与读取方法及装置与流程

文档序号:12364284阅读:340来源:国知局
一种日志的存储与读取方法及装置与流程

本发明涉及日志存储与读取领域,特别涉及一种日志的存储与读取方法及装置。



背景技术:

随着大数据、服务器等技术在计算机领域的推广,将产生海量的日志文件,在日志保存方面,需要对日志文件快速准确进行保存,且随着科学技术的发展,对于将日志文件按照指定位置保存的需求越来越高;且在保存之后,还需要按照不同的需求进行不同的日志的读取,进而方便进行日志统计;在日志存储与读取过程中,既要保证时间的高效性,还要保证数据的简易性和准确性,因此,目前急需要一种可以准确高效又简易的日志存储与读取方法。



技术实现要素:

本发明提供一种日志的存储与读取方法及装置,通过对日志的预设存储参数进行哈希计算,并根据哈希计算获取的第一哈希值对日志进行准确存储,以供在需要对日志进行统计时读取该日志,其操作过程简便高效,提升了用户体验。

根据本发明实施例的第一方面,提供一种日志的存储与读取方法,包括:

自各地服务器上读取日志,并获取所述日志的预设存储参数和日志生成时间;

根据所述预设存储参数进行哈希计算生成第一哈希值;

根据所述第一哈希值确定所述日志的存储区域,并将所述日志与所述第一哈希值关联存储至所述存储区域中。

在一些实施例中,所述预设存储参数包括日志ID、日志类型、日志点击数量和/或日志访问量。

在一些实施例中,所述根据所述预设存储参数进行哈希计算生成第一哈希值,包括:

将多个所述预设存储参数进行拼接;

根据拼接后的多个所述预设存储参数进行哈希计算生成第一哈希值。

在一些实施例中,所述方法还包括:

根据所述日志的生成时间进行哈希计算生成第二哈希值;

将所述第二哈希值与所述日志关联存储至所述存储区域中。

在一些实施例中,所述将所述第二哈希值与所述日志关联存储至所述存储区域中之后,还包括:

在需要读取日志进行统计时,获取待统计的日志所属的时间范围;

将所述时间范围内的预设时间段进行哈希计算生成第三哈希值;

在各所述存储区域中搜索与所述第三哈希值匹配的第二哈希值,并读取与所述第二哈希值关联的日志。

根据本发明实施例的第二方面,还提供一种日志的存储与读取装置,包括:

参数获取模块,用于自各地服务器上读取日志,并获取所述日志的预设存储参数和日志生成时间;

第一生成模块,用于根据所述预设存储参数进行哈希计算生成第一哈希值;

第一存储模块,用于根据所述第一哈希值确定所述日志的存储区域,并将所述日志与所述第一哈希值关联存储至所述存储区域中。

在一些实施例中,所述预设存储参数包括日志ID、日志类型、日志点击数量和/或日志访问量。

在一些实施例中,所述第一生成模块包括:

拼接子模块,用于将多个所述预设存储参数进行拼接;

生成子模块,用于根据拼接后的多个所述预设存储参数进行哈希计算生成第一哈希值。

在一些实施例中,所述装置还包括:

第二生成模块,用于根据所述日志的生成时间进行哈希计算生成第二哈希值;

第二存储模块,用于将所述第二哈希值与所述日志关联存储至所述存储区域中。

在一些实施例中,所述装置还包括:

时间获取模块,用于在需要读取日志进行统计时,获取待统计的日志所属的时间范围;

第三生成模块,用于将所述时间范围内的预设时间段进行哈希计算生成第三哈希值;

读取模块,用于在各所述存储区域中搜索与所述第三哈希值匹配的第二哈希值,并读取与所述第二哈希值关联的日志。

本发明实施例提供的技术方案可产生以下有益效果:自各地服务器上读取日志,并获取所述日志的预设存储参数和日志生成时间;根据所述预设存储参数进行哈希计算生成第一哈希值;根据所述第一哈希值确定所述日志的存储区域,并将所述日志与所述第一哈希值关联存储至所述存储区域中。该方案通过对日志的预设存储参数进行哈希计算,并根据哈希计算获取的第一哈希值对日志进行准确存储,以供在需要对日志进行统计时读取该日志,其操作过程简便高效,提升了用户体验。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。

在附图中:

图1为本发明根据一示例性实施例示出的一种日志的存储与读取方法的流程图。

图2为本发明根据一示例性实施例示出的一种日志的存储与读取方法中步骤S20的流程图。

图3为本发明根据一示例性实施例示出的另一种日志的存储与读取方法的流程图。

图4为本发明根据一示例性实施例示出的又一种日志的存储与读取方法的流程图。

图5为本发明根据一示例性实施例示出的一种日志的存储与读取装置的框图。

图6为本发明根据一示例性实施例示出的一种日志的存储与读取装置中第一生成模块62的框图。

图7为本发明根据一示例性实施例示出的另一种日志的存储与读取装置的框图。

图8为本发明根据一示例性实施例示出的又一种日志的存储与读取装置的框图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

本公开实施例提供了一种日志的存储与读取方法,用于通过对日志的预设存储参数进行哈希计算,并根据哈希计算获取的第一哈希值对日志进行准确存储,以供在需要对日志进行统计时读取该日志,其操作过程简便高效,提升了用户体验。如图1所示,该方法包括步骤S10-S30:

在步骤S10中,自各地服务器上读取日志,并获取所述日志的预设存储参数和日志生成时间;也即,自各地服务器上读取其中一条日志,并获取该条日志的预设存储参数,其中,所述预设存储参数可以根据需要进行设定,在一些实施例中,所述预设存储参数包括但不限定于为日志ID、日志类型、日志点击数量和/或日志访问量中的一种或多种。该预设存储参数是根据业务的需求来进行设定的,比如,某些业务需要进行日志点击数量的统计,则可以根据日志点击数量来进行分类存储,比如,将日志点击数量在预设数量以上的存储至一个存储区域,而将日志点击数量在预设数量以下的(或某个范围内)存储在另一个存储区域,以便于后续进行读取和统计。

在步骤S20中,根据所述预设存储参数进行哈希计算生成第一哈希值;也即,所述预设存储参数在进行哈希计算之后生成了可以用于快速查找的第一哈希值,可以根据所述第一哈希值查找所述存储区域中与所述第一哈希值对应的哈希值;其中,所述存储区域中适合存储的日志的标签已预先进行哈希计算,将所述第一哈希值与所述存储区域的标签进行匹配即可查找到与其对应的存储区域,并将所述日志存储至与其匹配的存储区域中。

在步骤S30中,根据所述第一哈希值确定所述日志的存储区域,并将所述日志与所述第一哈希值关联存储至所述存储区域中。也即,在根据所述第一哈希值确定与所述日志的第一哈希值匹配的存储区域之后,将所述日志及所述第一哈希值关联存储至所述存储区域,在需要进行读取日志时,也可以根据所述第一哈希值进行调取。

在一些实施例中,如图2所示,所述步骤S20包括:

步骤S201、将多个所述预设存储参数进行拼接;也即,在本实施例中,如果所述预设存储参数为多个,比如,当所述预设存储参数为日志ID和日志类型时,首先需要将该日志的日志ID与日志类型进行拼接,且本次拼接的顺序与拼接方式可以按照预设的规则执行,比如,可以将所述日志ID放置于所述日志类型的前面进行拼接,也可以将所述日志ID放置于所述日志类型的后面进行拼接,该拼接方式可以根据用户的喜好和需求进行设定。

步骤S202、根据拼接后的多个所述预设存储参数进行哈希计算生成第一哈希值。在进行拼接完毕之后,可以将拼接之后的结果进行哈希计算,生成第一哈希值,并根据所述第一哈希值将所述日志存储至对应的存储区域中。

在一些实施例中,如图3所示,所述方法的步骤S10中自各地服务器上读取日志之后还包括步骤S40-S50:

在步骤S40中,根据所述日志的生成时间进行哈希计算生成第二哈希值;可理解的,该步骤可以在所述步骤S10中获取到所述日志的生成时间之后就进行,也可以等待所述步骤S30中将所述日志存储至存储区域之后再进行,根据用户需要设定,在该步骤中,将所述日志的生成时间计算生成第二哈希值,是为了在后续的统计过程中,根据所述第二哈希值所对应的所述日志的生成时间获取在一定时间之内生成的日志文件。

在步骤S50中,将所述第二哈希值与所述日志关联存储至所述存储区域中。也即,所述第二哈希值必须与所述第一哈希值及所述日志一并关联存储,可理解的,在后续在需要进行统计的情况下,读取日志时,可以同时根据所述第一哈希值与所述第二哈希值中的一个或两个进行读取。

在一些实施例中,如图4所示,所述方法的步骤S50之后包括步骤S60-S80:

在步骤S60中,在需要读取日志进行统计时,获取待统计的日志所属的时间范围;也即,在该步骤中,当需要读取日志进行统计时,首先需要明确需要统计的日志所属的时间范围,从而获取该时间范围之内生成的日志。

在步骤S70中,将所述时间范围内的预设时间段进行哈希计算生成第三哈希值;也即,在需要进行查找时,首先将需要查找的数据(比如预设时间段的各时间)映射为它的哈希值(也即第三哈希值),然后查找具有这个哈希值的存储区域中的日志。可理解的,该时间段的长度可以根据需要进行设定,比如,设定该时间段的时长为1分钟。

在步骤S80中,在各所述存储区域中搜索与所述第三哈希值匹配的第二哈希值,并读取与所述第二哈希值关联的日志。也即,由于之前存储至各所述存储区域中的日志均已关联存储有第二哈希值(也即日志的生成时间),因此,只要在各所述存储区域中查找具有与所述第三哈希值匹配的第二哈希值,只要两者的值相同,就说明该日志是属于正在查找的时间段内的某个时间生成的日志。

本发明实施例提供的上述方法,自各地服务器上读取日志,并获取所述日志的预设存储参数和日志生成时间;根据所述预设存储参数进行哈希计算生成第一哈希值;根据所述第一哈希值确定所述日志的存储区域,并将所述日志与所述第一哈希值关联存储至所述存储区域中。该方案通过对日志的预设存储参数进行哈希计算,并根据哈希计算获取的第一哈希值对日志进行准确存储,以供在需要对日志进行统计时读取该日志,其操作过程简便高效,提升了用户体验。

对应本发明实施例提供的日志的存储与读取方法,本发明还提供日志的存储与读取装置,如图5所示,该装置可包括:

参数获取模块61,用于自各地服务器上读取日志,并获取所述日志的预设存储参数和日志生成时间;也即,自各地服务器上读取其中一条日志,并获取该条日志的预设存储参数,其中,所述预设存储参数可以根据需要进行设定,在一些实施例中,所述预设存储参数包括但不限定于为日志ID、日志类型、日志点击数量和/或日志访问量中的一种或多种。该预设存储参数是根据业务的需求来进行设定的,比如,某些业务需要进行日志点击数量的统计,则可以根据日志点击数量来进行分类存储,比如,将日志点击数量在预设数量以上的存储至一个存储区域,而将日志点击数量在预设数量以下的(或某个范围内)存储在另一个存储区域,以便于后续进行读取和统计。

第一生成模块62,用于根据所述预设存储参数进行哈希计算生成第一哈希值;也即,所述预设存储参数在进行哈希计算之后生成了可以用于快速查找的第一哈希值,可以根据所述第一哈希值查找所述存储区域中与所述第一哈希值对应的哈希值;其中,所述存储区域中适合存储的日志的标签已预先进行哈希计算,将所述第一哈希值与所述存储区域的标签进行匹配即可查找到与其对应的存储区域,并将所述日志存储至与其匹配的存储区域中。

第一存储模块63,用于根据所述第一哈希值确定所述日志的存储区域,并将所述日志与所述第一哈希值关联存储至所述存储区域中。也即,在根据所述第一哈希值确定与所述日志的第一哈希值匹配的存储区域之后,将所述日志及所述第一哈希值关联存储至所述存储区域,在需要进行读取日志时,也可以根据所述第一哈希值进行调取。

在一些实施例中,所述预设存储参数包括日志ID、日志类型、日志点击数量和/或日志访问量。

在一些实施例中,如图6所示,所述第一生成模块62包括:

拼接子模块621,用于将多个所述预设存储参数进行拼接;也即,在本实施例中,如果所述预设存储参数为多个,比如,当所述预设存储参数为日志ID和日志类型时,首先需要将该日志的日志ID与日志类型进行拼接,且本次拼接的顺序与拼接方式可以按照预设的规则执行,比如,可以将所述日志ID放置于所述日志类型的前面进行拼接,也可以将所述日志ID放置于所述日志类型的后面进行拼接,该拼接方式可以根据用户的喜好和需求进行设定。

生成子模块622,用于根据拼接后的多个所述预设存储参数进行哈希计算生成第一哈希值。在进行拼接完毕之后,可以将拼接之后的结果进行哈希计算,生成第一哈希值,并根据所述第一哈希值将所述日志存储至对应的存储区域中。

在一些实施例中,如图7所示,所述装置还包括:

第二生成模块64,用于根据所述日志的生成时间进行哈希计算生成第二哈希值;可理解的,根据所述日志的生成时间进行哈希计算生成第二哈希值可以在获取到所述日志的生成时间之后就进行,也可以等待将所述日志存储至存储区域之后再进行,根据用户需要设定;将所述日志的生成时间计算生成第二哈希值,是为了在后续的统计过程中,根据所述第二哈希值所对应的所述日志的生成时间获取在一定时间之内生成的日志文件。

第二存储模块65,用于将所述第二哈希值与所述日志关联存储至所述存储区域中。也即,所述第二哈希值必须与所述第一哈希值及所述日志一并关联存储,可理解的,在后续在需要进行统计的情况下,读取日志时,可以同时根据所述第一哈希值与所述第二哈希值中的一个或两个进行读取。

在一些实施例中,如图8所示,所述装置还包括:

时间获取模块66,用于在需要读取日志进行统计时,获取待统计的日志所属的时间范围;也即,当需要读取日志进行统计时,首先需要明确需要统计的日志所属的时间范围,从而获取该时间范围之内生成的日志。

第三生成模块67,用于将所述时间范围内的预设时间段进行哈希计算生成第三哈希值;也即,在需要进行查找时,首先将需要查找的数据(比如预设时间段的各时间)映射为它的哈希值(也即第三哈希值),然后查找具有这个哈希值的存储区域中的日志。可理解的,该时间段的长度可以根据需要进行设定,比如,设定该时间段的时长为1分钟。

读取模块68,用于在各所述存储区域中搜索与所述第三哈希值匹配的第二哈希值,并读取与所述第二哈希值关联的日志。也即,由于之前存储至各所述存储区域中的日志均已关联存储有第二哈希值(也即日志的生成时间),因此,只要在各所述存储区域中查找具有与所述第三哈希值匹配的第二哈希值,只要两者的值相同,就说明该日志是属于正在查找的时间段内的某个时间生成的日志。

本发明实施例提供的上述装置通过对日志的预设存储参数进行哈希计算,并根据哈希计算获取的第一哈希值对日志进行准确存储,以供在需要对日志进行统计时读取该日志,其操作过程简便高效,提升了用户体验。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序请求实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序请求到通用计算机、专用计算机、嵌入式处理机或其他可编程信息处理设备的处理器以产生一个机器,使得通过计算机或其他可编程信息处理设备的处理器执行的请求产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序请求也可存储在能引导计算机或其他可编程信息处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的请求产生包括请求装置的制造品,该请求装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序请求也可装载到计算机或其他可编程信息处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的请求提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1