System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 日志处理方法、电子设备和计算机可读存储介质技术_技高网

日志处理方法、电子设备和计算机可读存储介质技术

技术编号:41110889 阅读:4 留言:0更新日期:2024-04-25 14:03
本申请涉及电子设备技术领域,提供一种日志处理方法、电子设备和计算机可读存储介质,应用于电子设备,电子设备包括至少两个环形缓冲区,包括:电子设备在处于第一状态的第一环形缓冲区内写入跟踪日志。电子设备接收到跟踪日志转储请求后,响应于接收到的跟踪日志转储请求,对第一环形缓冲区进行跟踪日志转储,同时将处于第二状态的第二环形缓切换为第一状态,在转储期间在处于第一状态的第二环形缓冲区内写入跟踪日志。其中,第二状态不同于第一状态。由此,通过对多个环形缓冲区进行状态切换配合进行跟踪日志写入,即使在跟踪日志的转储期间也能有处于第一状态的环形缓冲区,进而能够顺利写入新产生的跟踪日志,防止跟踪日志出现数据真空期。

【技术实现步骤摘要】

本申请实施例涉及电子设备,尤其涉及一种日志处理方法、电子设备和计算机可读存储介质


技术介绍

1、跟踪日志是系统级别的跟踪数据,通常存储在内存的缓冲区。由于跟踪日志可以用于性能分析和优化,且提供系统级别的性能数据和时间轴分析,有助于识别性能瓶颈。因此,不同业务对跟踪日志都有一定的需求。

2、然而,目前从缓冲区为各业务转储跟踪日志的期间,是不能实时再往这个缓冲区写入新的跟踪日志的,从而导致转储期间的跟踪日志无法记录,即转储期间容易出现数据真空期,影响了后续的性能分析。


技术实现思路

1、本申请实施例提供一种日志处理方法、电子设备和计算机可读存储介质,可以实现跟踪日志转储期间内依旧能够写入跟踪日志,避免转储期间出现数据真空期,而影响后续性能分析的问题。

2、为达到上述目的,本申请的实施例采用如下技术方案:

3、第一方面,提供了一种日志处理方法,该方法应用于电子设备,该电子设备包括至少两块环形缓冲区。其中,环形缓冲区包括第一状态和第二状态,第二状态不同于第一状态,该方法包括:电子设备在处于第一状态的第一环形缓冲区内写入跟踪日志;电子设备响应于跟踪日志转储请求,对第一环形缓冲区进行跟踪日志转储,第一环形缓冲区切换为转储状态。同时,电子设备将处于第二状态的第二环形缓冲区切换为第一状态,在第一环形缓冲区的转储期间,电子设备在处于第一状态的第二环形缓冲区内写入跟踪日志。其中,第一状态可以是写入状态,用于表征可以进行跟踪日志写入。第二状态可以是空闲状态。可以理解的,处于第二状态的环形缓冲区当前既没有用于写入跟踪日志,也没有在转储跟踪日志。

4、由此,即使电子设备响应于跟踪日志转储请求,对当前用于写入跟踪日志的第一环形缓冲区进行跟踪日志转储,也能通过状态切换启用空闲的第二环形缓冲区接替进行跟踪日志的写入。即,电子设备在跟踪日志转储请求到来时,可以根据当下情形及时切换环形缓冲区的状态,从而通过对多个环形缓冲区进行状态切换来配合进行跟踪日志的转储和写入。这样,能够尽可能保证每一个跟踪日志转储请求到来时都有处于第一状态的环形缓冲区,也就是尽可能确保一直有可以用于写入跟踪日志的环形缓冲区。进而,就算其中一个环形缓冲区进入跟踪日志转储状态,转储期间产生的跟踪日志也能够被另一个环形缓冲区记录到,从而避免转储期间跟踪日志出现数据真空期的问题。

5、在第一方面的另一种可能的实现方式中,在第一环形缓冲区内存储的跟踪日志转储结束后,若当前存在处于第一状态(如写入状态)的环形缓冲区,电子设备进一步将第一环形缓冲区的状态切换为第二状态(如空闲状态),以便下次可以再将其切换为写入状态接替进行跟踪日志的写入。而若当前不存在处于第一状态(如写入状态)的环形缓冲区,电子设备则需要将第一环形缓冲区的状态切换为第一状态(如写入状态),使得尽快有环形缓冲区可以用于跟踪日志的写入,确保极端情形下能够缩短数据真空期。

6、在第一方面的另一种可能的实现方式中,由于电子设备主要通过确定环形缓冲区的状态来区分第一环形缓冲区和第二环形缓冲区,因此,日志处理方法还可以包括:检查每块环形缓冲区的状态,确定处于第一状态的第一环形缓冲区和确定处于第二状态的第二环形缓冲区。

7、在第一方面的一种可能的实现方式中,如果同时有多块环形缓冲区用于写入跟踪日志,不仅写入过程有多块环形缓冲区会占用电子设备过多的资源,同时转储过程的拼接转储工作量也会增加,从而所占资源消耗相应也会增加。因此,为了减少环形缓冲区写入过程和转储过程中所占的资源,同一时间段内,电子设备可以控制仅有一块环形缓冲区用于进行跟踪日志的写入。即,同一时间段内,电子设备内仅有一块环形缓冲区的状态是第一状态(如写入状态)。

8、在第一方面的另一种可能的实现方式中,因为转储需要一定的时间,因此在比较极端的情况下,可能出现所有环形缓冲区都处于转储状态的情形。在这种极端情形下,电子设备若接收到跟踪日志转储请求,电子设备可以响应于这个跟踪日志转储请求,复制转发转储后的目标跟踪日志。在该实现方式中,目标跟踪日志是目标环形缓冲区内存储的跟踪日志,而目标环形缓冲区是历史转储开始时间与跟踪日志转储请求时间最接近的环形缓冲区。

9、由此,即使电子设备接收到跟踪日志转储请求时,没有可以用于转储的环形缓冲区,也能够顺利响应跟踪日志转储请求完成跟踪日志的转储。

10、在第一方面的另一种可能的实现方式中,由于环形缓冲区通常是内存中划分的存储空间,所以环形缓冲区的数量越多,所占用的内存也会越多,那么电子设备对于环形缓冲区的资源开销就会越大,容易影响其他业务的正常运行。因此,在能够解决转储期间数据真空期问题的基础上,环形缓冲区的数量越少越能节省电子设备的内存资源,从而避免环形缓冲区占用电子设备过多的内存资源。基于此,为了节省环形缓冲区所占内存资源,电子设备可以仅包括两块环形缓冲区。进而,由这两块环形缓冲区配合进行跟踪日志转储和跟踪日志写入。

11、在第一方面的另一种可能的实现方式中,环形缓冲区的状态可以通过一一对应的标志位确定。即,可以通过标志位来确定环形缓冲区的状态,进而确定第一环形缓冲区和第二环形缓冲区。基于此,在该实现方式中,检查每块环形缓冲区的状态,可以包括:获取标志位,标志位与环形缓冲区一一对应;根据标志位确定对应环形缓冲区的状态。

12、在第一方面的另一种可能的实现方式中,电子设备响应于跟踪日志转储请求之前,还可以包括:审核跟踪日志转储请求对应请求方的转储权限;其中,转储权限包括采集权限和/或转储配额。而在请求方的转储权限审核通过的情况下,电子设备响应于跟踪日志转储请求,对第一环形缓冲区进行跟踪日志转储。

13、由此,通过采集权限的审核,能够避免没有采集权限的请求方随意转储跟踪日志。而由于转储需要占用一定资源,通过转储配额的审核能够避免频繁响应各请求方的跟踪日志转储请求,从而避免影响电子设备的正常使用。

14、在第一方面的另一种可能的实现方式中,采集权限的审核可以通过配置的权限名单实现。电子设备若根据权限名单确定请求方有采集权限,并且请求方的转储配额未超额,电子设备则确定请求方有转储权限;而电子设备若根据权限名单确定请求方没有采集权限,或者请求方转储配额已超额,电子设备则确定请求方没有转储权限。

15、在第一方面的另一种可能的实现方式中,电子设备还可以更新转储信息,定期将转储信息上传到云端服务器。其中,转储信息包括跟踪日志转储请求对应请求方的转储次数和请求方的请求次数。在该实现方式中,通过更新请求方对应的转储次数可以便于进行转储配额的审核。而通过更新请求方对应的请求次数,可以用于后续判断请求方对跟踪日志的需求,以便后续调整请求方的转储配额。即,在第一方面的另一种可能的实现方式中,电子设备可以根据请求方的请求次数调整请求方的转储配额。

16、在第一方面的另一种可能的实现方式中,权限名单根据实际需求可以是权限白名单或权限黑名单。因此,若权限白名单内包括请求方,电子设本文档来自技高网...

【技术保护点】

1.一种日志处理方法,其特征在于,应用于电子设备,所述电子设备包括至少两块环形缓冲区,其中,所述环形缓冲区包括第一状态和第二状态,所述第二状态不同于所述第一状态,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:

4.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:同一时间段内,仅有一块环形缓冲区的状态是所述第一状态。

5.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:

6.根据权利要求1或2所述的方法,其特征在于,所述电子设备包括两块环形缓冲区。

7.根据权利要求3所述的方法,其特征在于,所述检查每块环形缓冲区的状态,包括:

8.根据权利要求1或2所述的方法,其特征在于,所述响应于跟踪日志转储请求之前,所述方法还包括:

9.根据权利要求8所述的方法,其特征在于,所述审核所述跟踪日志转储请求对应请求方的转储权限,包括:

10.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:

11.根据权利要求10所述的方法,其特征在于,所述方法还包括:

12.根据权利要求9所述的方法,其特征在于,所述权限名单包括权限白名单,所述方法还包括:

13.根据权利要求1或2所述的方法,其特征在于,所述对所述第一环形缓冲区进行跟踪日志转储,包括:

14.一种电子设备,其特征在于,包括:一个或多个处理器和存储器,所述存储器与所述处理器耦合;所述存储器中存储有一个或多个计算机程序代码,所述计算机程序代码包括计算机指令;当所述处理器执行所述计算机指令时,使得所述电子设备执行如权利要求1-13中任一项所述的日志处理方法。

15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,当所述计算机程序被电子设备的处理器执行时,使得所述电子设备执行如权利要求1-13中任一项所述的日志处理方法。

16.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被电子设备中的处理器执行时,使得所述电子设备执行如权利要求1-13中任一项所述的日志处理方法。

...

【技术特征摘要】

1.一种日志处理方法,其特征在于,应用于电子设备,所述电子设备包括至少两块环形缓冲区,其中,所述环形缓冲区包括第一状态和第二状态,所述第二状态不同于所述第一状态,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:

4.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:同一时间段内,仅有一块环形缓冲区的状态是所述第一状态。

5.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:

6.根据权利要求1或2所述的方法,其特征在于,所述电子设备包括两块环形缓冲区。

7.根据权利要求3所述的方法,其特征在于,所述检查每块环形缓冲区的状态,包括:

8.根据权利要求1或2所述的方法,其特征在于,所述响应于跟踪日志转储请求之前,所述方法还包括:

9.根据权利要求8所述的方法,其特征在于,所述审核所述跟踪日志转储请求对应请求方的转储权限,包括:

10.根据权利要求1或2所...

【专利技术属性】
技术研发人员:李鑫孙丽娜夏兵吴伟锴
申请(专利权)人:荣耀终端有限公司
类型:发明
国别省市:

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

1