一种客户端日志收集方法与流程

文档序号:28709593发布日期:2022-01-29 13:56阅读:275来源:国知局
一种客户端日志收集方法与流程

1.本发明属于数据处理技术领域,更具体地说,涉及一种客户端日志收集方法。


背景技术:

2.目前,车辆远程诊断设备的诊断操作记录及诊断数据需要传到后台服务器,便于后台技术人员进行统计数据、排查问题等管理操作,利于提升产品以及售后服务的质量。车辆远程诊断设备的相关数据经由客户端操作产生日志,并在有网络连接的情况下将日志上传到后台服务器;但是当客户端由于各种因素导致无法上传日志到后台服务器,技术人员无法获取该时段的诊断数据和操作记录,影响数据的统计。
3.在边缘计算场景下,当车辆远程诊断设备部署在边缘端时,车辆远程诊断设备会持续地处理机器节点采集的数据,进而产生大量的日志。然而,由于边缘计算场景的网络通常不稳定,采用传统的日志上传方法上传大体量的日志数据时,会出现日志丢失的问题,日志上传的稳定性较差。
4.为解决上述问题,申请号为cn202010617963.1、申请日为2020年07月01日的中国发明专利公开了一种日志上传方法、日志查询方法、系统、计算机设备和存储介质。其中,所述的日志上传方法主要包括以下内容:通过边缘服务器获取与该边缘服务器处于同一个通信集群中的终端设备生成的初始日志,并根据初始日志的类型,选取对应的筛选策略对初始日志进行筛选,得到待上传日志并上传;所述上传所述待上传日志至云服务器,包括:
5.获取所述边缘服务器与所述云服务器之间的网络传输参数;
6.根据所述网络传输参数以及预设的限流算法,确定所述待上传日志限流后的上传速度;
7.以所述限流后的上传速度上传所述待上传日志至云服务器;
8.所述网络传输参数包括数据传输速度;所述根据所述网络传输参数以及预设的限流算法,确定所述待上传日志限流后的上传速度,包括:
9.根据所述数据传输速度以及预设的令牌桶算法,确定令牌桶中令牌的添加速度,并根据所述令牌的添加速度,向所述令牌桶中添加令牌;
10.当接收到所述日志上传请求时,根据所述令牌桶中已添加令牌的数量对所述日志上传请求进行处理,确定所述待上传日志限流后的上传速率。
11.该申请中通过根据初始日志的类型,选取对应的筛选策略对初始日志进行筛选,实现了对初始日志的删减和过滤,减小日志上传的体量;又通过采用令牌桶算法对待上传日志的上传速率进行限流,防止网络占用过高影响其他边缘计算服务。但该方法仍存在一些缺陷:(1)对初始日志进行筛选使得该方法的应用具有一定的局限性。例如:以车辆远程诊断设备的相关数据经由客户端操作产生的日志为例,日志中并不包含级别为error的日志、debug的日志以及upload的日志,对初始日志进行筛选也就无从谈起;(2)根据所述数据传输速度以及预设的令牌桶算法确定所述待上传日志限流后的上传速率,能够防止网络占用过高影响其他边缘计算服务,但却无法保证初始日志自身的上传稳定性和时效性。


技术实现要素:

12.1、要解决的问题
13.针对现有技术中存在的问题,本发明提供一种客户端日志收集方法,综合考虑上传日志的时间、数量以及上传网络的网络质量,动态调整日志上传的方式、数量等,以保证日志能够稳定、安全且速度较快的上传至服务端。
14.2、技术方案
15.为解决上述问题,本发明采用如下的技术方案。
16.一种客户端日志收集方法,包括:
17.对客户端的行为日志进行日志记录并以接口的方式实时上传;
18.当上传失败时,将上传失败的日志缓存到本地,等待补传;
19.当上传成功时,读取本地缓存中的缓存信息并判断是否有等待补传的日志,若存在,则以压缩包的方式对等待补传的日志进行补传。
20.其优选的技术方案为:
21.如上所述的一种客户端日志收集方法,当上传成功时,还包括:
22.读取本地缓存中等待补传日志的创建时间;
23.检测本地缓存中等待补传日志的数量。
24.如上所述的一种客户端日志收集方法,还包括:
25.当本地缓存中等待补传日志的最早创建时间超过预设时间阈值且本地缓存中等待补传日志的数量超过预设数量阈值时:
26.以预设时间阈值为时间点对本地缓存中等待补传的日志对等待补传日志进行切分,按最早创建时间至预设时间阈值所在时间节点进行排序,直至日志的数量等于预设数量阈值,以排序后的日志作为目标日志,压缩打包处理,以压缩包的方式进行补传。
27.如上所述的一种客户端日志收集方法,以压缩包的方式进行补传时,还包括:
28.对当前日志上传网络的网络传输质量进行评估;
29.根据当前日志上传网络的网络传输质量的评估结果,对当前日志上传网络的网络传输质量进行打分;
30.根据日志上传网络的网络传输质量的打分,对预设时间阈值或预设数量阈值进行调整。
31.如上所述的一种客户端日志收集方法,对当前日志上传网络的网络传输质量进行评估包括:
32.根据诊断设备发送的上行数据生成相应的上行信号网络传输记录;
33.基于上行信号网络传输记录,确定当前上传网络的网络类型和网络传输带宽。
34.如上所述的一种客户端日志收集方法,对预设时间阈值或预设数量阈值进行调整包括:
35.基于预设调节策略表,确定对应的调节参数,所述的调节策略表预先根据网络传输质量打分所在的的打分区间设置对应的调节参数。
36.如上所述的一种客户端日志收集方法,对预设时间阈值t进行调整的方法为:
[0037][0038]
式中,ts为预设的最大时间阈值,k1,k2,...kn分别为预设调节策略表中不同打分区间对应的调节参数,t
max
和t
min
分别为当前时刻本地缓存中等待补传的日志的最晚创建时间和最早创建时间,n为预设调节策略表中预设的打分区间数量,且n为自然数。
[0039]
如上所述的一种客户端日志收集方法,对预设数量阈值m进行调整的方法为:
[0040][0041]
式中,ms、mn分别为预设的最大补传日志的数量和当前时刻本地缓存中等待补传的日志的数量,k1,k2,...kn分别为预设调节策略表中不同打分区间对应的调节参数,n为预设调节策略表中预设的打分区间数量,且n为自然数。
[0042]
3、有益效果
[0043]
相比于现有技术,本发明的有益效果为:
[0044]
(1)本发明日志上传方式包括两种,包括采用接口的方式实时上传以及采用压缩包的方式对日志进行上传,其中,采用接口的方式能够实时将日志上传到后台供对应的管理人员实时查看,效率更高,但上传效率较低;而会使用压缩包的形式上传,日志文件的上传效率较高,但由于需要后台去解压缩和解析,因此实时性较差;本发明首先将客户端的行为日志进行日志记录并以接口的方式实时上传,以方便后台技术人员进行统计数据、排查问题等管理操作;同时在当客户端由于各种因素导致无法上传日志到后台服务器时,将缓存在本地的日志文件以压缩包的方式对等待补传的日志进行补传,批量完成无法上传时期客户端记录的日志,避免出现日志丢失的问题;
[0045]
(2)本发明在每一次日志上传成功时,读取本地缓存中等待补传日志的创建时间,检测本地缓存中等待补传日志的数量,以判断本地缓存中是否存在等待补传的日志;并同时设置一个预设时间阈值和一个预设数量阈值,其中,设置预设时间阈值和预设数量阈值能够分别从时间角度和数量角度对本地缓存中等待补传的日志进行切分,以舍弃本地缓存中时间久远的、价值不高的日志,并保证压缩后的单个压缩包中的日志信息的长度不会过长,避免占用后台较多的进程去完成对单一压缩包的解压缩和解析,也能够保证日志压缩包之间连续上传的稳定性;
[0046]
(3)本发明在考虑本地缓存中等待补传日志的创建时间和数量的基础上,进一步考虑如何对日志传输的过程进行优化;由于足够的网络带宽是日志传输优化的基础,而上传网络的不同网络类型也决定了日志传输的效率;本技术中的日志压缩包在补传时,首先确定了当前上传网络的网络类型和网络传输带宽,再对当前日志上传网络的网络传输质量进行评估,最后再基于预设调节策略表,结合对当前日志上传网络的网络传输质量的评估结果,对预设时间阈值或预设数量阈值进行调整,从而能够参考当前上传网络的网络传输质量,对预设时间阈值或预设数量阈值进行动态的调整,进一步避免出现日志丢失的问题,保证日志上传的稳定性;
[0047]
(4)本发明在日志文件以压缩包形式上传时,设置一个预设时间阈值和一个预设数量阈值,并综合当前上传网络的网络传输质量,建立了根据当前上传网络的网络传输质量对预设时间阈值和预设数量阈值调整的公式,从而能够在上传网络不稳定的情况下,也能够根据上传网络的具体情况选择切分的日志的数量以及单一压缩包中日志信息的长度,在尽可能减少日志丢失的同时,按照上传网络的最大能力完成日志的上传,并保持日志上传的稳定。
附图说明
[0048]
图1为本发明其中一实施例的一种客户端日志收集方法的流程图。
具体实施方式
[0049]
下面结合具体实施例和附图对本发明进一步进行描述。
[0050]
实施例1
[0051]
对车辆远程诊断设备而言,车辆远程诊断设备的诊断操作记录及诊断数据需要尽可能地完整、实时地发送至后台,以方便后台根据技术人员进行统计数据、排查问题等管理操作,完成对相关车辆故障的诊断。但在边缘计算场景下,由于边缘计算场景的网络通常不稳定,采用传统的日志上传方法上传大体量的日志数据时,会出现日志丢失的问题,日志上传的稳定性较差。
[0052]
针对上述问题,如图1所示,本实施例提出一种客户端日志收集方法,包括:
[0053]
对客户端的行为日志进行日志记录并以接口的方式实时上传;
[0054]
当上传失败时,将上传失败的日志缓存到本地,等待补传;
[0055]
当上传成功时,读取本地缓存中的缓存信息并判断是否有等待补传的日志,若存在,则以压缩包的方式对等待补传的日志进行补传。
[0056]
本实施例日志上传方式包括两种,包括采用接口的方式实时上传以及采用压缩包的方式对日志进行上传,其中,采用接口的方式能够实时将日志上传到后台供对应的管理人员实时查看,效率更高,但上传效率较低;而会使用压缩包的形式上传,日志文件的上传效率较高,但由于需要后台去解压缩和解析,因此实时性较差。
[0057]
本发明首先将客户端的行为日志进行日志记录并以接口的方式实时上传,以方便后台技术人员进行统计数据、排查问题等管理操作;同时在当客户端由于各种因素导致无法上传日志到后台服务器时,将缓存在本地的日志文件以压缩包的方式对等待补传的日志进行补传,批量完成无法上传时期客户端记录的日志,避免出现日志丢失的问题。
[0058]
当上传成功时,还包括:
[0059]
读取本地缓存中等待补传日志的创建时间;
[0060]
检测本地缓存中等待补传日志的数量。
[0061]
本实施例中,读取本地缓存中等待补传日志的创建时间的主要目的是根据读取结果,判断是否需要舍弃掉一部分时间久远,价值型不高的日志;而还检测本地缓存中等待补传日志的数量,是为了为后面对等待补传日志进行切分做准备,以确定每次上传的日志数据的数量。一般而言,随着时间增长,日志中内容越来越多,将会导致日志的大小越大,较大的日志传输时容易存在传输错误的问题,且当网络故障时,还需重新传输,浪费用户的流
量。
[0062]
更具体的,本实施例的客户端日志收集方法还包括:
[0063]
当本地缓存中等待补传日志的最早创建时间超过预设时间阈值且本地缓存中等待补传日志的数量超过预设数量阈值时:
[0064]
以预设时间阈值为时间点对本地缓存中等待补传的日志对等待补传日志进行切分,按最早创建时间至预设时间阈值所在时间节点进行排序,直至日志的数量等于预设数量阈值,以排序后的日志作为目标日志,压缩打包处理,以压缩包的方式进行补传。
[0065]
对本地缓存中缓存的日志而言,随着时间的推移,本地缓存中缓存的日志会越来越多,这会导致日志的大小越来越大;若直接对大储存量的日志直接打包上传,会容易存在传输错误的问题,且当网络故障时,还需重新传输,浪费用户的流量。本实施例在每一次日志上传成功时,读取本地缓存中等待补传日志的创建时间,检测本地缓存中等待补传日志的数量,以判断本地缓存中是否存在等待补传的日志;并同时设置一个预设时间阈值和一个预设数量阈值,其中,设置预设时间阈值和预设数量阈值能够分别从时间角度和数量角度对本地缓存中等待补传的日志进行切分。具体地说,设置预设时间阈值是为了舍弃本地缓存中时间久远的、价值不高的日志;而设置预设数量阈值是为了设置单个压缩包中的日志数据容量,保证压缩后的单个压缩包中的日志信息的长度不会过长,避免占用后台较多的进程去完成对单一压缩包的解压缩和解析,在日志数据较多时,还能够使得上传的的每个日志压缩包都具有相同的大小,也能够保证日志压缩包之间连续上传的稳定性。
[0066]
实施例2
[0067]
与实施例1基本相同。在压缩包形式的日志文件上传过程中,由于边缘计算场景的网络通常不稳定,因此必须考虑如何在上传网络不稳定的情况下,既能够最大效率完成日志文件的传输,又能够保证日志压缩包上传的稳定性。在上述构思的基础上,考虑到足够的网络带宽是日志传输优化的基础,而上传网络的不同网络类型也决定了日志传输的效率,本实施例中的客户端日志收集方法还包括:
[0068]
对当前日志上传网络的网络传输质量进行评估;
[0069]
根据当前日志上传网络的网络传输质量的评估结果,对当前日志上传网络的网络传输质量进行打分。
[0070]
其中,对当前日志上传网络的网络传输质量进行评估的方法包括:
[0071]
根据诊断设备发送的上行数据生成相应的上行信号网络传输记录;
[0072]
基于上行信号网络传输记录,确定当前上传网络的网络类型和网络传输带宽。
[0073]
本实施例中,对当前日志上传网络的网络传输质量进行评估时并不仅仅局限于根据当前上传网络的网络类型和网络传输带宽进行评估。事实上,还可以根据网络信号强度、延迟率、丢包率等对当前日志上传网络的网络传输质量进行评估,这是现有技术,本实施例中不再赘述。但值得说明的是,具体到本实施例中,由于网络带宽和网络类型是决定本实施例中的日志传输效率的最大因素,因而本实施例中选取当前上传网络的网络类型和网络传输带宽作为对当前日志上传网络的网络传输质量进行评估的参数具有参考性。
[0074]
由于网络类型和网络传输带宽对对网络质量的影响度不同,因此本实施例中建立了预设调节策略表,所述的调节策略表中至少包括两个部分,其一是基于网络类型和网络传输带宽的一个基础分数,其二是反应网络类型和网络传输带宽对对网络质量影响度的权
重值。
[0075]
示例性的,本实施例中网络类型可以包括无线网络、5g、4g、3g、2g等,网络传输带宽包括10m、8m等,其中为了计算的便捷性,本实施例中的网络传输带宽也可以转换为网络下载速度表征,如:下载速度大于1m/s、下载速度介于1m/s到200k/s之间、下载速度小于200k/s等。预设调节策略表中打分区间的设置可按照百分制的打分规则进行打分,如60分以下、60~70分、70~80分、80~90分、90~100分等。对于预设调节策略表的每一个打分区间,应综合考虑该打分区间内网络类型和网络传输带宽、以及二者对应的权重。评估当前日志上传网络的网络传输质量时,可按照如下的公式进行打分:
[0076]
打分分数score=k1*网络类型基础分数+k2*网络下载速度基础分数;
[0077]
上式中,k1和k2分别为网络类型调节参数和网络下载速度调节参数,k1+k2=1。
[0078]
这里值得说明的是,基于上述网络质量分数计算公式,即可得到一个量化当前上传网络网络质量的打分分数。上述打分分数计算公式根据实际网络质量评估需求设置,因此也可以根据实际需要适应性设置对应的网络质量打分分数计算公式。
[0079]
在对当前日志上传网络的网络传输质量进行打分后,本实施例还包括;
[0080]
根据日志上传网络的网络传输质量的打分,对预设时间阈值或预设数量阈值进行调整。
[0081]
其具体方法为:
[0082]
基于预设调节策略表,确定对应的调节参数,所述的调节策略表预先根据网络传输质量打分所在的的打分区间设置对应的调节参数。
[0083]
这里同样以预设调节策略表中打分区间的设置按照百分制的打分规则进行打分为例,预设调节策略表中打分区间包括60分以下、60~70分、70~80分、80~90分、90~100分,则对应于每一个打分区间,均存在一个调节参数,分别为k1、k2、k3、k4、k5。由于建立调节参数是为了表征网络质量对客户端日志上传稳定性以及出现日志丢失问题的影响,因此有k1》k2》k3》k4》k5。
[0084]
本实施例的一种客户端日志收集方法,综合考虑上传日志的时间、数量以及上传网络的网络质量,动态调整日志上传的方式、数量等,以保证日志能够稳定、安全且速度较快的上传至服务端。
[0085]
实施例3
[0086]
与实施例2基本相同。如上述实施例所述,在考虑客户端的操作日志上传时,即使通过时间和数量两个维度,对单一压缩包形式的日志文件上传前进行切分,一方面舍弃时间久远的、价值不高的日志,一方面保证单一压缩包中日志信息的长度的统一;但在实际的应用过程中仍无法避免上传网络自身不稳定对日志上传的影响。例如:当上传网络不佳,而此时单一压缩包中日志信息的长度仍较大,还是会出现传输错误的问题,仍需要重新传输;而当上传网络质量较好时,若单一压缩包中日志信息的长度较小,则不利于日志传输的效率。为了解决上述问题,本实施例还包括如何根据日志上传网络的网络传输质量的打分,对预设时间阈值或预设数量阈值进行调整。
[0087]
其中,对预设时间阈值或预设数量阈值进行调整进一步包括:
[0088][0089]
式中,ts为预设的最大时间阈值,k1,k2,...kn分别为预设调节策略表中不同打分区间对应的调节参数,t
max
和t
min
分别为当前时刻本地缓存中等待补传的日志的最晚创建时间和最早创建时间,n为预设调节策略表中预设的打分区间数量,且n为自然数。
[0090]
对预设数量阈值m进行调整的方法包括:
[0091][0092]
式中,ms、mn分别为预设的最大补传日志的数量和当前时刻本地缓存中等待补传的日志的数量,k1,k2,...kn分别为预设调节策略表中不同打分区间对应的调节参数,n为预设调节策略表中预设的打分区间数量,且n为自然数。
[0093]
本实施例在日志文件以压缩包形式上传时,设置一个预设时间阈值和一个预设数量阈值,并综合当前上传网络的网络传输质量,建立了根据当前上传网络的网络传输质量对预设时间阈值和预设数量阈值调整的公式,从而能够在上传网络不稳定的情况下,也能够根据上传网络的具体情况选择切分的日志的数量以及单一压缩包中日志信息的长度,在尽可能减少日志丢失的同时,按照上传网络的最大能力完成日志的上传,并保持日志上传的稳定。
[0094]
本发明所述实施例仅仅是对本发明的优选实施方式进行描述,并非对本发明构思和范围进行限定,在不脱离本发明设计思想的前提下,本领域工程技术人员对本发明的技术方案作出的各种变形和改进,均应落入本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1