日志回放方法、装置、计算设备及计算机存储介质制造方法及图纸

技术编号:35412550 阅读:26 留言:0更新日期:2022-11-03 11:09
本申请公开了一种日志回放方法、装置、计算设备及计算机存储介质。该方法包括:获取日志文件,根据日志数据发送时间戳对日志文件中的日志数据进行排序处理;针对排序处理后的任一当前日志数据,根据日志数据发送时间戳、历史日志数据的日志回放时间戳确定当前日志数据的日志数据回放时间戳;基于当前日志数据的日志数据回放时间戳对当前日志数据进行回放处理。本申请提供的方案,通过上述日志数据的回放处理,实现了流量的有序回放,并且提升了回放逼真度,解决了现有技术中由于误差累积而导致回放流量失真的问题,通过日志数据回放实现了真实模拟线上各服务,实现了各服务在线下环境复现,有助于协助提升服务的稳定性。有助于协助提升服务的稳定性。有助于协助提升服务的稳定性。

【技术实现步骤摘要】
日志回放方法、装置、计算设备及计算机存储介质


[0001]本申请涉及计算机
,具体涉及一种日志回放方法、装置、计算设备及计算机存储介质。

技术介绍

[0002]为了能够真实模拟线上服务场景,通常会采用流量回放工具来进行日志的回放,现有技术主要是通过计算录制第k+1个日志数据与第k个日志数据的间隔来控制回放日志数据的发送。通用定时器由于非实时性操作系统的任务调度机制都会产生ms级别的误差,每条日志数据发送延迟在0~10ms间波动。由于每一条日志数据发送时间偏移均基于上一条日志数据发送完毕的时间点,因此持续执行会将日志数据延迟记录叠加,最终导致总延迟放大至分钟级别,经测试,50条数据误差在150ms左右,20000条数据误差在2min左右。这种方法会使误差逐渐累积,进而导致在回放流量逐渐增大时,回放的逼真度会逐渐降低。

技术实现思路

[0003]本申请的目的是提供一种日志回放方法、装置、计算设备及计算机存储介质,以解决现有技术存在的流量回放失真等问题。
[0004]根据本申请实施例的一个方面,提供了一种日志回放方法,包括:
[0005]获取日志文件,根据日志数据发送时间戳对日志文件中的日志数据进行排序处理;
[0006]针对排序处理后的任一当前日志数据,根据日志数据发送时间戳、历史日志数据的日志回放时间戳确定当前日志数据的日志数据回放时间戳;
[0007]基于当前日志数据的日志数据回放时间戳对当前日志数据进行回放处理。
[0008]进一步地,针对排序处理后的任一当前日志数据,根据日志数据发送时间戳、历史日志数据的日志回放时间戳确定当前日志数据的日志数据回放时间戳进一步包括:
[0009]针对排序处理后的第k+1条日志数据,根据第0条日志数据的日志数据发送时间戳、第0条日志数据的日志数据回放时间戳及第k+1条日志数据的日志数据发送时间戳确定第k+1条日志数据的日志数据回放时间戳,k大于或等于0;
[0010]基于当前日志数据的日志数据回放时间戳对当前日志数据进行回放处理进一步包括:
[0011]根据第k+1条日志数据的日志数据回放时间戳对第k+1条日志数据进行回放处理。
[0012]进一步地,根据第0条日志数据的日志数据发送时间戳、第0条日志数据的日志数据回放时间戳及第k+1条日志数据的日志数据发送时间戳确定第k+1条日志数据的日志数据回放时间戳进一步包括:
[0013]根据第0条日志数据的日志数据发送时间戳、第0条日志数据的日志数据回放时间戳及第k条日志数据的日志数据发送时间戳计算第k条日志数据对应的日志数据回放累积延迟时长;
[0014]根据第k条日志数据对应的日志数据回放累积延迟时长确定第k+1条日志数据对应的日志数据回放偏移时长;
[0015]基于第k+1条日志数据对应的日志数据回放偏移时长确定第k+1条日志数据的日志数据回放时间戳。
[0016]进一步地,根据第k条日志数据对应的日志数据回放累积延迟时长确定第k+1条日志数据对应的日志数据回放偏移时长进一步包括:
[0017]根据第k+1条日志数据的日志数据发送时间戳及第k条日志数据的日志数据发送时间戳计算第一日志数据发送间隔时长;
[0018]判断第k条日志数据对应的日志数据回放累积延迟时长是否小于第一日志数据发送间隔时长;
[0019]若是,则根据第k条日志数据对应的日志数据回放累积延迟时长及第一日志数据发送间隔时长计算第k+1条日志数据对应的日志数据回放偏移时长;
[0020]若否,则将第k+1条日志数据对应的日志数据回放偏移时长设置为预设值。
[0021]进一步地,根据第0条日志数据的日志数据发送时间戳、第0条日志数据的日志数据回放时间戳及第k条日志数据的日志数据发送时间戳计算第k条日志数据对应的日志数据回放累积延迟时长进一步包括:
[0022]根据第k条日志数据的日志数据发送时间戳及第0条日志数据的日志数据发送时间戳计算第二日志数据发送间隔时长;
[0023]将第0条日志数据的日志数据回放时间戳叠加第二日志数据发送间隔时长,得到叠加后的时间;
[0024]根据当前时间及叠加后的时间进行求差计算,得到第k条日志数据对应的日志数据回放累积延迟时长。
[0025]进一步地,基于第k+1条日志数据对应的日志数据回放偏移时长确定第k+1条日志数据的日志数据回放时间戳进一步包括:
[0026]根据当前时间与第k+1条日志数据的日志数据回放偏移时长进行求和计算,得到第k+1条日志数据的日志数据回放时间戳。
[0027]进一步地,方法还包括:针对排序处理后的第0条日志数据,根据确定的第0条日志数据的日志数据回放时间戳对第0条日志数据进行回放处理。
[0028]进一步地,在根据日志数据发送时间戳对日志文件中的日志数据进行排序处理之前,方法还包括:
[0029]对日志文件中的日志数据逐行进行解码处理,得到日志数据发送时间戳及业务关键参数。
[0030]进一步地,在根据日志数据发送时间戳对日志文件中的日志数据进行排序处理之前,方法还包括:
[0031]对日志文件进行文件分片处理,得到分片日志文件;
[0032]对日志文件中的日志数据逐行进行解码处理,得到日志数据发送时间戳及业务关键参数进一步包括:
[0033]对分片日志文件中的日志数据逐行进行解码处理,得到日志数据发送时间戳及业务关键参数。
[0034]进一步地,在对日志文件中的日志数据逐行进行解码处理,得到日志数据发送时间戳及业务关键参数之后,方法还包括:
[0035]按照预设数据格式将日志数据发送时间戳及业务关键参数重组得到重组后的日志数据,生成包含重组后的日志数据的预设格式文件;
[0036]根据日志数据发送时间戳对日志文件中的日志数据进行排序处理进一步包括:
[0037]根据日志数据发送时间戳对预设格式文件中的重组后的日志数据进行排序处理。
[0038]进一步地,生成包含重组后的日志数据的预设格式文件进一步包括:
[0039]将重组后的日志数据缓存至文件列表中,将文件列表导出为预设格式文件。
[0040]进一步地,根据第k+1条日志数据的日志数据回放时间戳对第k+1条日志数据进行回放处理进一步包括:
[0041]判断当前时间是否达到第k+1条日志数据的日志数据回放时间戳对应的时间;
[0042]若是,则根据第k+1条日志数据的业务关键参数进行回放处理。
[0043]根据本申请实施例的另一方面,提供了一种日志回放装置,包括:
[0044]获取模块,适于获取日志文件;
[0045]排序模块,适于根据日志数据发送时间戳对日志文件中的日志数据进行排序处理;
[0046]确定模块,适于针对排序处理后的任一当前日志数据,根据日志数据发送时间戳、历史日志数据的日志回放时间戳确定当前日志数据的日志数据回放本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种日志回放方法,包括:获取日志文件,根据日志数据发送时间戳对所述日志文件中的日志数据进行排序处理;针对排序处理后的任一当前日志数据,根据日志数据发送时间戳、历史日志数据的日志回放时间戳确定当前日志数据的日志数据回放时间戳;基于当前日志数据的日志数据回放时间戳对当前日志数据进行回放处理。2.根据权利要求1所述的方法,其中,所述针对排序处理后的任一当前日志数据,根据日志数据发送时间戳、历史日志数据的日志回放时间戳确定当前日志数据的日志数据回放时间戳进一步包括:针对排序处理后的第k+1条日志数据,根据第0条日志数据的日志数据发送时间戳、第0条日志数据的日志数据回放时间戳及第k+1条日志数据的日志数据发送时间戳确定第k+1条日志数据的日志数据回放时间戳,k大于或等于0;所述基于当前日志数据的日志数据回放时间戳对当前日志数据进行回放处理进一步包括:根据所述第k+1条日志数据的日志数据回放时间戳对所述第k+1条日志数据进行回放处理。3.根据权利要求2所述的方法,其中,所述根据第0条日志数据的日志数据发送时间戳、第0条日志数据的日志数据回放时间戳及第k+1条日志数据的日志数据发送时间戳确定第k+1条日志数据的日志数据回放时间戳进一步包括:根据第0条日志数据的日志数据发送时间戳、第0条日志数据的日志数据回放时间戳及第k条日志数据的日志数据发送时间戳计算第k条日志数据对应的日志数据回放累积延迟时长;根据所述第k条日志数据对应的日志数据回放累积延迟时长确定第k+1条日志数据对应的日志数据回放偏移时长;基于所述第k+1条日志数据对应的日志数据回放偏移时长确定所述第k+1条日志数据的日志数据回放时间戳。4.根据权利要求3所述的方法,其中,所述根据所述第k条日志数据对应的日志数据回放累积延迟时长确定第k+1条日志数据对应的日志数据回放偏移时长进一步包括:根据第k+1条日志数据的日志数据发送时间戳及第k条日志数据的日志数据发送时间戳计算第一日志数据发送间隔时长;判断所述第k条日志数据对应的日志数据回放累积延迟时长是否小于所述第一日志数据发送间隔时长;若是,则根据所述第k条日志数据对应的日志数据回放累积延迟时长及所述第一日志数据发送间隔时长计算所述第k+1条日志数据对应的日志数据回放偏移时长;若否,则将第k+1条日志数据对应的日志数据回放偏移时长设置为预设值。5.根据权利要求3或4所述的方法,其中,所述根据第0条日志数据的日志数据发送时间戳、第0条日志数据的日志数据回放时间戳及第k条日志数据的日志数据发送时间戳计算第k条日志数据对应的日志数据回放累积延迟时长进一步包括:根据所述第k条日志数据的日志数据发送时间戳及所述第0条日志数据的日志数据发
送时间戳计算第二日志数据发送间隔时长;将所述第0条日志数据的日志数据回放时间戳叠加所述第二日志数据发送间隔时长,得到叠加后的时间;根据当前时间及所述叠加后的时间进行求差计算,得到所述第k条日志数据对应的日志数据回放累积延迟时长。6.根据权利要求3

5中任一项所述的方法,其中,所述基于所述第k+1条日志数据对应的日志数据回放偏移时长确定所述第k+1条日志数...

【专利技术属性】
技术研发人员:卢凯
申请(专利权)人:上海哔哩哔哩科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1