一种日志跟踪方法和装置转让专利

申请号 : CN201610991445.X

文献号 : CN106503250B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孙伟

申请人 : 广东浪潮大数据研究有限公司

摘要 :

本发明提供了一种日志跟踪方法和装置,通过设置切分阈值,确定当前日志文件,并为当前日志文件分配第一索引编号;当当前日志文件写入数据达到切分阈值时,从当前日志文件中切分出目标日志文件;将第一索引编号分配给目标日志文件,重新为当前日志文件分配第二索引编号;当跟踪当前日志文件出现故障时,在当前日志文件中,记录当前跟踪位置,并记录当前日志文件对应的当前索引编号;当跟踪重启时,确定当前索引编号对应的日志文件,并在当前索引编号对应的日志文件中,确定当前跟踪位置。本发明提供的方案能够有效地避免日志跟踪丢失。

权利要求 :

1.一种日志跟踪方法,其特征在于,设置切分阈值,还包括:确定当前日志文件,并为所述当前日志文件分配第一索引编号;

当所述当前日志文件写入数据达到所述切分阈值时,从所述当前日志文件中切分出目标日志文件;

将所述第一索引编号分配给所述目标日志文件,重新为所述当前日志文件分配第二索引编号;

当跟踪所述当前日志文件出现故障时,在所述当前日志文件中,记录当前跟踪位置,并记录所述当前日志文件对应的当前索引编号;

当跟踪重启时,确定所述当前索引编号对应的日志文件,并在所述当前索引编号对应的日志文件中,确定所述当前跟踪位置。

2.根据权利要求1所述的方法,其特征在于,进一步包括:设置计时器;

所述切分阈值,包括:时间段;

在构建当前日志文件时,触发所述计时器计时;

所述当所述当前日志文件写入数据达到所述切分阈值时,从所述当前日志文件中切分出目标日志文件,包括:当计时时长达到所述时间段时,将所述当前日志文件中写入的数据切分到目标日志文件中,并触发所述计时器重新计时。

3.根据权利要求1所述的方法,其特征在于,所述切分阈值,包括:文件大小阈值;

在所述确定当前日志文件之后,在所述从所述当前日志文件中切分出目标日志文件之前,进一步包括:记录当前写入次数,并监测所述当前写入次数对应的数据量,根据下述第一计算公式,计算所述当前日志文件存储的数据总量;

第一计算公式:

W=wi+wi+1+…+wi+n

其中,W表征所述当前日志文件存储的数据总量;w表征单次写入数据量;i表征切分位置对应的写入次数;i+n表征当前写入次数(n=2,...);

所述当所述当前日志文件写入数据达到所述切分阈值时,从所述当前日志文件中切分出目标日志文件,包括:当所述当前日志文件存储的数据总量达到所述文件大小阈值时,将所述当前日志文件中写入的数据切分到目标日志文件中,并将所述当前日志文件中的数据清零。

4.根据权利要求1至3任一所述的方法,其特征在于,进一步包括:为各个存储空间分配对应的存储编码,并为每一种文件类型分配对应的类型编码;

所述为所述当前日志文件分配第一索引编号,包括:确定所述当前日志文件属于的目标存储空间以及所述当前日志文件属于的目标文件类型;

将所述目标存储空间对应的存储编码以及所述目标文件类型对应的类型编码合并,生成所述第一索引编号。

5.根据权利要求4所述的方法,其特征在于,在所述从所述当前日志文件中切分出目标日志文件之后,在所述重新为所述当前日志文件分配第二索引编号之前,进一步包括:统计当前切分次数;

所述重新为所述当前日志文件分配第二索引编号,包括:根据统计出的当前切分次数,利用下述第二计算公式,计算第二索引编号,并将所述第二索引编号替换所述当前日志文件对应的当前索引编号;

第二计算公式:

hi=h0+Aα

其中,hi表征第二索引编号;h0表征当前日志文件未切分时对应的第一索引编号;A表征计算常数;α表征当前切分次数。

6.一种日志跟踪装置,其特征在于,包括:设置单元、文件处理单元和日志跟踪单元,其中,所述设置单元,用于设置切分阈值;

所述文件处理单元,用于当前日志文件写入数据达到所述设置单元设置的切分阈值时,从所述当前日志文件中切分出目标日志文件;将第一索引编号分配给目标日志文件,重新为所述当前日志文件分配第二索引编号;

所述日志跟踪单元,用于确定所述文件处理单元为所述当前日志文件分配的当前索引编号,当跟踪所述当前日志文件出现故障时,在所述当前日志文件中,记录当前跟踪位置,并记录所述当前日志文件对应的当前索引编号;当跟踪重启时,确定所述当前索引编号对应的日志文件,并在所述当前索引编号对应的日志文件中,确定所述当前跟踪位置。

7.根据权利要求6所述的装置,其特征在于,进一步包括:计时器;

所述设置单元,用于设置时间段;

所述计时器,用于当接收到触发时,进行计时;

所述文件处理单元,用于当计时时长达到所述时间段时,将所述当前日志文件中写入的数据切分到目标日志文件中,并触发所述计时器重新计时。

8.根据权利要求6所述的装置,其特征在于,进一步包括:数据量计算单元,其中,所述设置单元,用于文件大小阈值;

所述数据量计算单元,用于记录当前写入次数,并监测所述当前写入次数对应的数据量,根据下述第一计算公式,计算所述当前日志文件存储的数据总量;

第一计算公式:

W=wi+wi+1+…+wi+n

其中,W表征所述当前日志文件存储的数据总量;w表征单次写入数据量;i表征切分位置对应的写入次数;i+n表征当前写入次数(n=2,...);

所述文件处理单元,用于当所述数据量计算单元计算出的当前日志文件存储的数据总量达到所述设置单元设置的文件大小阈值时,将所述当前日志文件中写入的数据切分到目标日志文件中,并将所述当前日志文件中的数据清零。

9.根据权利要求6至8任一所述的装置,其特征在于,所述设置单元,进一步用于为各个存储空间分配对应的存储编码,并为每一种文件类型分配对应的类型编码;

所述文件处理单元,用于确定所述当前日志文件属于的目标存储空间以及所述当前日志文件属于的目标文件类型;将所述目标存储空间对应的存储编码以及所述目标文件类型对应的类型编码合并,生成所述第一索引编号。

10.根据权利要求9所述的装置,其特征在于,进一步包括:统计单元,其中,所述统计单元,用于统计当前切分次数;

所述文件处理单元,用于根据所述统计单元统计出的当前切分次数,利用下述第二计算公式,计算第二索引编号,并将所述第二索引编号替换所述当前日志文件对应的当前索引编号;

第二计算公式:

hi=h0+Aα

其中,hi表征第二索引编号;h0表征当前日志文件未切分时对应的第一索引编号;A表征计算常数;α表征当前切分次数。

说明书 :

一种日志跟踪方法和装置

技术领域

[0001] 本发明涉及计算机技术领域,特别涉及一种日志跟踪方法和装置。

背景技术

[0002] 在当今这个大数据时代,日志文件是计算的原材料以及数据交换的基础。由于日志文件生成过程中,常常按时间或大小对日志文件进行切分,并对切分后的日志文件重新命名,例如:持续不断地向日志文件1中写入,当预设达到1小时,对日志文件进行切分。则每在日志文件1中写入日志达到1小时,则切分出一个新的日志文件,该切分出的新的日志文件名称与日志文件1名称不同。在对日志跟踪过程中,则仅对日志文件1写入的日志进行跟踪。那么,一旦跟踪中断过程出现了切分,将造成日志跟踪丢失。

发明内容

[0003] 本发明实施例提供了一种日志跟踪方法和装置,能够有效地避免日志跟踪丢失。
[0004] 一种日志跟踪方法,设置切分阈值,还包括:
[0005] 确定当前日志文件,并为所述当前日志文件分配第一索引编号;
[0006] 当所述当前日志文件写入数据达到所述切分阈值时,从所述当前日志文件中切分出目标日志文件;
[0007] 将所述第一索引编号分配给所述目标日志文件,重新为所述当前日志文件分配第二索引编号;
[0008] 当跟踪所述当前日志文件出现故障时,在所述当前日志文件中,记录当前跟踪位置,并记录所述当前日志文件对应的当前索引编号;
[0009] 当跟踪重启时,确定所述当前索引编号对应的日志文件,并在所述当前索引编号对应的日志文件中,确定所述当前跟踪位置。
[0010] 优选地,上述方法进一步包括:设置计时器;
[0011] 所述切分阈值,包括:时间段;
[0012] 在构建当前日志文件时,触发所述计时器计时;
[0013] 所述当所述当前日志文件写入数据达到所述切分阈值时,从所述当前日志文件中切分出目标日志文件,包括:
[0014] 当所述计时时长达到所述时间段时,将所述当前日志文件中写入的数据切分到目标日志文件中,并触发所述计时器重新计时。
[0015] 优选地,所述切分阈值,包括:文件大小阈值;
[0016] 在所述确定当前日志文件之后,在所述从所述当前日志文件中切分出目标日志文件之前,进一步包括:记录当前写入次数,并监测所述当前写入次数对应的数据量,根据下述第一计算公式,计算所述当前日志文件存储的数据总量;
[0017] 第一计算公式:
[0018] W=wi+wi+1+…+wi+n
[0019] 其中,W表征所述当前日志文件存储的数据总量;w表征单次写入数据量;i表征切分位置对应的写入次数;i+n表征当前写入次数(n=2,…);
[0020] 所述当所述当前日志文件写入数据达到所述切分阈值时,从所述当前日志文件中切分出目标日志文件,包括:
[0021] 当所述当前日志文件存储的数据总量达到所述文件大小阈值时,将所述当前日志文件中写入的数据切分到目标日志文件中,并将所述当前日志文件中的数据清零。
[0022] 优选地,上述方法进一步包括:为各个存储空间分配对应的存储编码,并为每一种文件类型分配对应的类型编码;
[0023] 所述为所述当前日志文件分配第一索引编号,包括:
[0024] 确定所述当前日志文件属于的目标存储空间以及所述当前日志文件属于的目标文件类型;
[0025] 将所述目标存储空间对应的存储编码以及所述目标文件类型对应的类型编码合并,生成所述第一索引编号。
[0026] 优选地,在所述从所述当前日志文件中切分出目标日志文件之后,在所述重新为所述当前日志文件分配第二索引编号之前,进一步包括:
[0027] 统计当前切分次数;
[0028] 所述重新为所述当前日志文件分配第二索引编号,包括:
[0029] 根据统计出的当前切分次数,利用下述第二计算公式,计算第二索引编号,并将所述第二索引编号替换所述当前日志文件对应的当前索引编号;
[0030] 第二计算公式:
[0031] hi=h0+Aα
[0032] 其中,hi表征第二索引编号;h0表征当前日志文件未切分时对应的第一索引编号;A表征计算常数;α表征当前切分次数。
[0033] 一种日志跟踪装置,包括:设置单元、文件处理单元和日志跟踪单元,其中,[0034] 所述设置单元,用于设置切分阈值;
[0035] 所述文件处理单元,用于当所述当前日志文件写入数据达到所述设置单元设置的切分阈值时,从所述当前日志文件中切分出目标日志文件;将所述第一索引编号分配给所述目标日志文件,重新为所述当前日志文件分配第二索引编号;
[0036] 所述日志跟踪单元,用于确定所述文件处理单元为所述当前日志文件分配的当前索引编号,当跟踪所述当前日志文件出现故障时,在所述当前日志文件中,记录当前跟踪位置,并记录所述当前日志文件对应的当前索引编号;当跟踪重启时,确定所述当前索引编号对应的日志文件,并在所述当前索引编号对应的日志文件中,确定所述当前跟踪位置。
[0037] 优选地,上述装置进一步包括:计时器;
[0038] 所述设置单元,用于设置时间段;
[0039] 所述计时器,用于当接收到触发时,进行计时;
[0040] 所述文件处理单元,用于当所述计时时长达到所述时间段时,将所述当前日志文件中写入的数据切分到目标日志文件中,并触发所述计时器重新计时。
[0041] 优选地,上述装置进一步包括:数据量计算单元,其中,
[0042] 所述设置单元,用于文件大小阈值;
[0043] 所述数据量计算单元,用于记录当前写入次数,并监测所述当前写入次数对应的数据量,根据下述第一计算公式,计算所述当前日志文件存储的数据总量;
[0044] 第一计算公式:
[0045] W=wi+wi+1+…+wi+n
[0046] 其中,W表征所述当前日志文件存储的数据总量;w表征单次写入数据量;i表征切分位置对应的写入次数;i+n表征当前写入次数(n=2,…);
[0047] 所述文件处理单元,用于当所述数据量计算单元计算出的当前日志文件存储的数据总量达到所述设置单元设置的文件大小阈值时,将所述当前日志文件中写入的数据切分到目标日志文件中,并将所述当前日志文件中的数据清零。
[0048] 优选地,所述设置单元,进一步用于为各个存储空间分配对应的存储编码,并为每一种文件类型分配对应的类型编码;
[0049] 所述文件处理单元,用于确定所述当前日志文件属于的目标存储空间以及所述当前日志文件属于的目标文件类型;将所述目标存储空间对应的存储编码以及所述目标文件类型对应的类型编码合并,生成所述第一索引编号。
[0050] 优选地,上述装置进一步包括:统计单元,其中,
[0051] 所述统计单元,用于统计当前切分次数;
[0052] 所述文件处理单元,用于根据所述统计单元统计出的当前切分次数,利用下述第二计算公式,计算第二索引编号,并将所述第二索引编号替换所述当前日志文件对应的当前索引编号;
[0053] 第二计算公式:
[0054] hi=h0+Aα
[0055] 其中,hi表征第二索引编号;h0表征当前日志文件未切分时对应的第一索引编号;A表征计算常数;α表征当前切分次数。
[0056] 本发明实施例提供了一种日志跟踪方法和装置,通过设置切分阈值,确定当前日志文件,并为所述当前日志文件分配第一索引编号;当所述当前日志文件写入数据达到所述切分阈值时,从所述当前日志文件中切分出目标日志文件;将所述第一索引编号分配给所述目标日志文件,重新为所述当前日志文件分配第二索引编号;当跟踪所述当前日志文件出现故障时,在所述当前日志文件中,记录当前跟踪位置,并记录所述当前日志文件对应的当前索引编号;当跟踪重启时,确定所述当前索引编号对应的日志文件,并在所述当前索引编号对应的日志文件中,确定所述当前跟踪位置,由于跟踪过程是对索引编号的跟踪,当发生切分时,通过索引编号也能够找到当前跟踪的位置,而不再是仅对同一个日志文件进行跟踪,能够有效地避免日志跟踪丢失。

附图说明

[0057] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0058] 图1是本发明一个实施例提供的一种日志跟踪方法的流程图;
[0059] 图2是本发明另一个实施例提供的一种日志跟踪方法的流程图;
[0060] 图3是本发明一个实施例提供的日志跟踪装置所在架构的结构示意图;
[0061] 图4是本发明一个实施例提供的一种日志跟踪装置的结构示意图;
[0062] 图5是本发明另一个实施例提供的一种日志跟踪装置的结构示意图;
[0063] 图6是本发明又一个实施例提供的一种日志跟踪装置的结构示意图;
[0064] 图7是本发明另一个实施例提供的一种日志跟踪装置的结构示意图。

具体实施方式

[0065] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0066] 如图1所示,本发明实施例提供了一种日志跟踪方法,该方法可以包括以下步骤:
[0067] 步骤101:设置切分阈值;
[0068] 步骤102:确定当前日志文件,并为所述当前日志文件分配第一索引编号;
[0069] 步骤103:当所述当前日志文件写入数据达到所述切分阈值时,从所述当前日志文件中切分出目标日志文件;
[0070] 步骤104:将所述第一索引编号分配给所述目标日志文件,重新为所述当前日志文件分配第二索引编号;
[0071] 步骤105:当跟踪所述当前日志文件出现故障时,在所述当前日志文件中,记录当前跟踪位置,并记录所述当前日志文件对应的当前索引编号;
[0072] 步骤106:当跟踪重启时,确定所述当前索引编号对应的日志文件,并在所述当前索引编号对应的日志文件中,确定所述当前跟踪位置。
[0073] 在图1所示的实施例中,由于跟踪过程是对索引编号的跟踪,当发生切分时,通过索引编号也能够找到当前跟踪的位置,而不再是仅对同一个日志文件进行跟踪,能够有效地避免日志跟踪丢失。
[0074] 在本发明一个实施例中,为了实现按照时间切分日志文件,上述方法进一步包括:设置计时器;所述切分阈值,包括:时间段;在构建当前日志文件时,触发所述计时器计时;
步骤103的一种具体实施方式可以包括:当所述计时时长达到所述时间段时,将所述当前日志文件中写入的数据切分到目标日志文件中,并触发所述计时器重新计时。例如:设置时段为1小时,当计时器计时达到1小时时,将当前日志文件切分出目标日志文件,此时,当前日志文件中的数据全部转到了目标日志文件中。
[0075] 在本发明一个实施例中,为了实现按照存储量切分日志文件,所述切分阈值,包括:文件大小阈值;在步骤102之后,在步骤103之前,进一步包括:记录当前写入次数,并监测所述当前写入次数对应的数据量,根据下述计算公式(1),计算所述当前日志文件存储的数据总量;
[0076] W=wi+wi+1+…+wi+n          (1)
[0077] 其中,W表征所述当前日志文件存储的数据总量;w表征单次写入数据量;i表征切分位置对应的写入次数;i+n表征当前写入次数(n=2,…);
[0078] 步骤103的一种具体实施方式可以包括:当所述当前日志文件存储的数据总量达到所述文件大小阈值时,将所述当前日志文件中写入的数据切分到目标日志文件中,并将所述当前日志文件中的数据清零。例如:设置的文件大小阈值为1MB,则当写入当前日志文件中的日志总量达到1MB时,将该1MB的日志切分到目标日志文件中,当前日志文件清零。
[0079] 在本发明一个实施例中,为了能够使索引编码体现日志文件的存储位置和类型,上述方法进一步包括:为各个存储空间分配对应的存储编码,并为每一种文件类型分配对应的类型编码;步骤102的具体实施方式,包括:确定所述当前日志文件属于的目标存储空间以及所述当前日志文件属于的目标文件类型;将所述目标存储空间对应的存储编码以及所述目标文件类型对应的类型编码合并,生成所述第一索引编号,该第一索引编码体现出了日志文件的存储位置和日志文件的类型。从而在后续跟踪日志过程中,可以根据索引编码很快定位出日志的具体位置,有效地提高了跟踪定位的效率。
[0080] 在本发明一个实施例中,在步骤103之后,在步骤104之前,进一步包括:统计当前切分次数;步骤104的一种实施方式可以包括:根据统计出的当前切分次数,利用下述计算公式(2),计算第二索引编号,并将所述第二索引编号替换所述当前日志文件对应的当前索引编号;
[0081] hi=h0+Aα                  (2)
[0082] 其中,hi表征第二索引编号;h0表征当前日志文件未切分时对应的第一索引编号;A表征计算常数;α表征当前切分次数。
[0083] 下面以文件大小阈值作为切分阈值为例,展开说明日志跟踪方法,如图2所示,该方法可以包括以下步骤:
[0084] 步骤201:设置文件大小阈值;
[0085] 该步骤设置的文件大小阈值主要是后续对日志文件进行切分的基础。
[0086] 步骤202:为各个存储空间分配对应的存储编码,并为每一种文件类型分配对应的类型编码;
[0087] 例如:为存储空间1分配对应的存储编码为11;为文件类型A分配对应的类型编码为580。
[0088] 步骤203:确定当前日志文件;
[0089] 步骤204:确定所述当前日志文件属于的目标存储空间以及所述当前日志文件属于的目标文件类型;
[0090] 例如:确定出当前日志文件为日志文件Nginx.log,在该步骤中,确定出其属于的目标存储空间为存储空间1;并确定出其属于的文件类型为文件类型A。
[0091] 步骤205:将所述目标存储空间对应的存储编码以及所述目标文件类型对应的类型编码合并,生成所述第一索引编号;
[0092] 例如:上述步骤204中确定出日志文件Nginx.log对应的存储空间1,属于文件类型A,另外,在步骤202中,已经确定出存储空间1对应的存储编码为11,文件类型A对应的类型编码为580,则在该步骤中确定日志文件Nginx.log的第一索引编号为11580。
[0093] 步骤206:记录当前写入次数,并监测所述当前写入次数对应的数据量;
[0094] 例如:当前写入次数为第100次写入,写入的数据量为0.3MB。
[0095] 步骤207:计算所述当前日志文件存储的数据总量;
[0096] 该步骤主要通过下述计算公式(1),计算得到:
[0097] W=wi+wi+1+…+wi+n                (1)
[0098] 其中,W表征所述当前日志文件存储的数据总量;w表征单次写入数据量;i表征切分位置对应的写入次数;i+n表征当前写入次数(n=2,…);
[0099] 例如:上一次切分位置为写入第90次之后进行切分,则当前日志文件中起始存储的为第91次写入的日志,则计算公式中的i=91;n=9,即i+n=100为当前写入次数为100次。
[0100] 步骤208:当所述当前日志文件存储的数据总量达到所述文件大小阈值时,将所述当前日志文件中写入的数据切分到目标日志文件中,并将所述当前日志文件中的数据清零;
[0101] 该步骤主要是完成了对日志文件的切分。
[0102] 步骤209:将所述第一索引编号分配给所述目标日志文件;
[0103] 步骤210:统计当前切分次数;
[0104] 步骤211:根据统计出的当前切分次数,计算第二索引编号,并将所述第二索引编号替换所述当前日志文件对应的当前索引编号;
[0105] 该步骤的计算结果主要通过下述计算公式(2)计算得到:
[0106] hi=h0+Aα                   (2)
[0107] 其中,hi表征第二索引编号;h0表征当前日志文件未切分时对应的第一索引编号;A表征计算常数;α表征当前切分次数。
[0108] 上述写入、切分、分配对应的索引编码的过程和结果如下表所示:
[0109]
[0110] 步骤212:当跟踪所述当前日志文件出现故障时,在所述当前日志文件中,记录当前跟踪位置,并记录所述当前日志文件对应的当前索引编号;
[0111] 步骤213:当跟踪重启时,确定所述当前索引编号对应的日志文件,并在所述当前索引编号对应的日志文件中,确定所述当前跟踪位置。
[0112] 例如:跟踪到当前日志文件对应的当前索引编号为11590,则在跟踪重启之后,重新跟踪11590,而不会仅对文件名为Nginx.log的文件进行跟踪,从而避免了丢失跟踪日志。
[0113] 如图3、图4所示,本发明实施例提供了一种日志跟踪装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图3所示,为本发明实施例提供的日志跟踪装置所在设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图4所示,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。本实施例提供的日志跟踪装置,包括:设置单元401、文件处理单元402和日志跟踪单元403,其中,
[0114] 所述设置单元401,用于设置切分阈值;
[0115] 所述文件处理单元402,用于当所述当前日志文件写入数据达到所述设置单元401设置的切分阈值时,从所述当前日志文件中切分出目标日志文件;将所述第一索引编号分配给所述目标日志文件,重新为所述当前日志文件分配第二索引编号;
[0116] 所述日志跟踪单元403,用于确定所述文件处理单元402为所述当前日志文件分配的当前索引编号,当跟踪所述当前日志文件出现故障时,在所述当前日志文件中,记录当前跟踪位置,并记录所述当前日志文件对应的当前索引编号;当跟踪重启时,确定所述当前索引编号对应的日志文件,并在所述当前索引编号对应的日志文件中,确定所述当前跟踪位置。
[0117] 如图5所示,在本发明另一实施例中,上述进一步包括:计时器501;
[0118] 所述设置单元401,用于设置时间段;
[0119] 所述计时器501,用于当接收到触发时,进行计时;
[0120] 所述文件处理单元402,用于当所述计时器501的计时时长达到所述设置单元401设置的时间段时,将所述当前日志文件中写入的数据切分到目标日志文件中,并触发所述计时器501重新计时。
[0121] 如图6所示,在本发明又一实施例中,上述装置进一步包括:数据量计算单元601,其中,
[0122] 所述设置单元401,用于文件大小阈值;
[0123] 所述数据量计算单元601,用于记录当前写入次数,并监测所述当前写入次数对应的数据量,根据下述计算公式(1),计算所述当前日志文件存储的数据总量;
[0124] W=wi+wi+1+…+wi+n                (1)
[0125] 其中,W表征所述当前日志文件存储的数据总量;w表征单次写入数据量;i表征切分位置对应的写入次数;i+n表征当前写入次数(n=2,…);
[0126] 所述文件处理单元402,用于当所述数据量计算单元601计算出的当前日志文件存储的数据总量达到所述设置单元401设置的文件大小阈值时,将所述当前日志文件中写入的数据切分到目标日志文件中,并将所述当前日志文件中的数据清零。
[0127] 在本发明另一实施例中,所述设置单元401,进一步用于为各个存储空间分配对应的存储编码,并为每一种文件类型分配对应的类型编码;
[0128] 所述文件处理单元402,用于确定所述当前日志文件属于的目标存储空间以及所述当前日志文件属于的目标文件类型;将所述目标存储空间对应的存储编码以及所述目标文件类型对应的类型编码合并,生成所述第一索引编号。
[0129] 如图7所示,在本发明另一实施例中,上述装置进一步包括:统计单元701,其中,[0130] 所述统计单元701,用于统计当前切分次数;
[0131] 所述文件处理单元402,用于根据所述统计单元701统计出的当前切分次数,利用下述计算公式(2),计算第二索引编号,并将所述第二索引编号替换所述当前日志文件对应的当前索引编号;
[0132] hi=h0+Aα                      (2)
[0133] 其中,hi表征第二索引编号;h0表征当前日志文件未切分时对应的第一索引编号;A表征计算常数;α表征当前切分次数。
[0134] 上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
[0135] 另外,上述方法或装置可应用于Linux系统中日志文件的跟踪。
[0136] 本发明还提供了一种计算机存储介质,存储用于使一机器执行如本文所述的程序代码的审核方法的指令。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
[0137] 在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
[0138] 用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
[0139] 此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
[0140] 此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
[0141] 根据上述方案,本发明的各实施例,至少具有如下有益效果:
[0142] 1.通过设置切分阈值,确定当前日志文件,并为所述当前日志文件分配第一索引编号;当所述当前日志文件写入数据达到所述切分阈值时,从所述当前日志文件中切分出目标日志文件;将所述第一索引编号分配给所述目标日志文件,重新为所述当前日志文件分配第二索引编号;当跟踪所述当前日志文件出现故障时,在所述当前日志文件中,记录当前跟踪位置,并记录所述当前日志文件对应的当前索引编号;当跟踪重启时,确定所述当前索引编号对应的日志文件,并在所述当前索引编号对应的日志文件中,确定所述当前跟踪位置,由于跟踪过程是对索引编号的跟踪,当发生切分时,通过索引编号也能够找到当前跟踪的位置,而不再是仅对同一个日志文件进行跟踪,能够有效地避免日志跟踪丢失。
[0143] 2.通过设置计时器,在构建当前日志文件时,触发所述计时器计时;当所述计时时长达到所述时间段时,将所述当前日志文件中写入的数据切分到目标日志文件中,并触发所述计时器重新计时。实现了按照时间对日志文件的切分。
[0144] 3.通过记录当前写入次数,并监测所述当前写入次数对应的数据量,计算所述当前日志文件存储的数据总量;当所述当前日志文件存储的数据总量达到所述文件大小阈值时,将所述当前日志文件中写入的数据切分到目标日志文件中,并将所述当前日志文件中的数据清零,实现了按照日志文件的大小对日志文件进行切分。
[0145] 4.通过为各个存储空间分配对应的存储编码,并为每一种文件类型分配对应的类型编码;通过确定所述当前日志文件属于的目标存储空间以及所述当前日志文件属于的目标文件类型;将所述目标存储空间对应的存储编码以及所述目标文件类型对应的类型编码合并,生成所述第一索引编号,使得通过索引编号能够准确的快速的定位出日志文件。
[0146] 需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
[0147] 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
[0148] 最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。