本技术涉及数据处理,尤其涉及一种埋点数据上报方法及装置。
背景技术:
1、目前,主流客户端的埋点数据的上报时机分为实时和非实时发送两种。实时发送:是指在触发埋点后立即上报埋点数据;非实时发送:是指触发埋点后不立即上报,存储到本地,按照设定的频率,比如半小时上报一次、每生成10条记录上报或者程序进入后台时上报。
2、埋点数据的上报时机通常是预先固定设置的。在一些场景中,多个埋点事件产生的时间非常接近,同一个客户端处理尚未发送完上一条数据就要发送下一条数据,客户端往往会起多个线程。现有的埋点数据的上报方式灵活性较低,未考虑客户端的性能情况,在埋点数据上报时,容易造成移动客户端内存、cpu等硬件的压力过大,导致埋点数据上报失败,客户端运行异常。
技术实现思路
1、针对现有技术中的至少一个问题,本技术提出了一种埋点数据上报方法及装置,能够提高埋点数据上报的可靠性和灵活性,进而提高客户端运行的稳定性。
2、为了解决上述技术问题,本技术提供以下技术方案:
3、第一方面,本技术提供一种埋点数据上报方法,包括:
4、获取目标客户端的埋点数据,采集所述目标客户端的性能监测数据;
5、应用所述性能监测数据和预设的埋点发送策略模型,确定所述埋点数据对应的传输策略,其中,所述预设的埋点发送策略模型是根据批量历史性能监测数据及其各自对应的实际传输策略标签对分类模型预先训练得到的;
6、基于所述传输策略将所述埋点数据上报至服务端。
7、在一个实施例中,所述的埋点数据上报方法,还包括:
8、采集批量历史性能监测数据及其各自对应的实际传输策略标签,所述实际传输策略标签包括:实时发送标签以及多个延时发送标签;
9、应用批量历史性能监测数据及其各自对应的实际传输策略标签对分类模型进行训练,得到所述埋点发送策略模型。
10、在一个实施例中,所述性能监测数据包括:存储、网络和电量使用统计信息,匿名虚拟内存和堆栈,泄漏内存地址历史记录。
11、在一个实施例中,所述传输策略包括:实时发送策略、预设个数的埋点数据同时发送策略以及延时预设时长发送策略。
12、在一个实施例中,所述应用所述性能监测数据和预设的埋点发送策略模型,确定所述埋点数据对应的传输策略,包括:
13、应用所述性能监测数据和预设的性能监测模型,确定所述目标客户端的性能监测结果,其中,所述预设的性能监测模型是基于批量历史性能监测数据及其各自对应的实际性能监测结果标签对决策树算法进行预先训练得到的;
14、若所述性能监测结果为性能正常,则应用所述性能监测数据和预设的埋点发送策略模型,确定所述埋点数据对应的传输策略。
15、在一个实施例中,在所述获取目标客户端的埋点数据之后,还包括:
16、判断所述埋点数据大小是否大于数据量阈值,若是,则将所述埋点数据拆分为多个埋点子数据;
17、在预设时间范围内的多个时间点采集目标客户端的性能监测数据,所述埋点子数据与各个时间点一一对应;
18、应用所述预设的埋点发送策略模型和每个时间点的性能监测数据,确定该时间点对应的埋点子数据的传输策略;
19、基于每个埋点子数据对应的传输策略和时间点,将该埋点子数据上报至服务端,所述服务端将各个埋点子数据拼接得到所述埋点数据。
20、在一个实施例中,所述将该埋点子数据上报至服务端,所述服务端将各个埋点子数据拼接得到所述埋点数据,包括:
21、根据各个埋点子数据在所述埋点数据中的位置信息,确定各自对应的加密密钥;
22、应用各个埋点子数据对应的加密密钥分别对各自进行加密,将各个加密后的埋点子数据和位置信息上报至服务端,所述服务端根据所述位置信息,确定各个埋点子数据各自的解密密钥,应用所述解密密钥解密各个加密后的埋点子数据,拼接得到所述埋点数据。
23、第二方面,本技术提供一种埋点数据上报装置,包括:
24、获取模块,用于获取目标客户端的埋点数据,采集所述目标客户端的性能监测数据;
25、监测模块,用于应用所述性能监测数据和预设的埋点发送策略模型,确定所述埋点数据对应的传输策略,其中,所述预设的埋点发送策略模型是根据批量历史性能监测数据及其各自对应的实际传输策略标签对分类模型预先训练得到的;
26、上报模块,用于基于所述传输策略将所述埋点数据上报至服务端。
27、在一个实施例中,所述的埋点数据上报装置,还包括:
28、第一采集模块,用于采集批量历史性能监测数据及其各自对应的实际传输策略标签,所述实际传输策略标签包括:实时发送标签以及多个延时发送标签;
29、训练模块,用于应用批量历史性能监测数据及其各自对应的实际传输策略标签对分类模型进行训练,得到所述埋点发送策略模型。
30、在一个实施例中,所述性能监测数据包括:存储、网络和电量使用统计信息,匿名虚拟内存和堆栈,泄漏内存地址历史记录。
31、在一个实施例中,所述传输策略包括:实时发送策略、预设个数的埋点数据同时发送策略以及延时预设时长发送策略。
32、在一个实施例中,所述监测模块,包括:
33、性能监测单元,用于应用所述性能监测数据和预设的性能监测模型,确定所述目标客户端的性能监测结果,其中,所述预设的性能监测模型是基于批量历史性能监测数据及其各自对应的实际性能监测结果标签对决策树算法进行预先训练得到的;
34、应用单元,用于若所述性能监测结果为性能正常,则应用所述性能监测数据和预设的埋点发送策略模型,确定所述埋点数据对应的传输策略。
35、在一个实施例中,所述埋点数据上报装置还包括:
36、判断模块,用于判断所述埋点数据大小是否大于数据量阈值,若是,则将所述埋点数据拆分为多个埋点子数据;
37、第二采集模块,用于在预设时间范围内的多个时间点采集目标客户端的性能监测数据,所述埋点子数据与各个时间点一一对应;
38、确定模块,用于应用所述预设的埋点发送策略模型和每个时间点的性能监测数据,确定该时间点对应的埋点子数据的传输策略;
39、拼接模块,用于基于每个埋点子数据对应的传输策略和时间点,将该埋点子数据上报至服务端,所述服务端将各个埋点子数据拼接得到所述埋点数据。
40、在一个实施例中,所述拼接模块包括:
41、确定单元,用于根据各个埋点子数据在所述埋点数据中的位置信息,确定各自对应的加密密钥;
42、加解密单元,用于应用各个埋点子数据对应的加密密钥分别对各自进行加密,将各个加密后的埋点子数据和位置信息上报至服务端,所述服务端根据所述位置信息,确定各个埋点子数据各自的解密密钥,应用所述解密密钥解密各个加密后的埋点子数据,拼接得到所述埋点数据。
43、第三方面,本技术提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的埋点数据上报方法。
44、第四方面,本技术提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被处理器执行时实现所述的埋点数据上报方法。
45、由上述技术方案可知,本技术提供一种埋点数据上报方法及装置。其中,该方法包括:获取目标客户端的埋点数据,采集所述目标客户端的性能监测数据;应用所述性能监测数据和预设的埋点发送策略模型,确定所述埋点数据对应的传输策略,其中,所述预设的埋点发送策略模型是根据批量历史性能监测数据及其各自对应的实际传输策略标签对分类模型预先训练得到的;基于所述传输策略将所述埋点数据上报至服务端,能够提高埋点数据上报的可靠性和灵活性,进而提高客户端运行的稳定性;具体地,还可以避免页面加载时间过程、耗电量高、卡顿频率高等问题,提升客户体验,提高客户的稳定性,避免应用程序发生卡顿或闪退时,造成部分埋点数据丢失的问题,提高埋点数据传输的可靠性;提高埋点发送策略确定的灵活性和效率,提高客户的埋点数据质量。