
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.目标分析节点确定模块,被配置为执行在所述分析任务节点的任务执行状态为第二中断状态的情况下,确定所述第二中断状态对应的目标分析任务节点;
46.第二数据分析模块,被配置为执行对所述目标分析任务节点进行数据分析,得到第二中断分析结果;
47.第二任务重执行模块,被配置为执行基于所述第二中断分析结果,重新执行所述日志数据分析任务。
48.作为一个可选的实施例,任务发送模块包括:
49.日志信息获取单元,被配置为执行基于所述客户端发送的反馈信息,生成所述反馈信息对应的日志信息;
50.任务生成单元,被配置为执行基于所述日志信息,生成所述日志数据收集任务;
51.任务发送单元,被配置为执行向客户端发送所述日志数据收集任务。
52.作为一个可选的实施例,所述日志数据收集任务包括任务标识,所述任务执行状态接收模块包括:
53.任务执行状态接收单元,被配置为执行接收所述客户端发送的客户端标识、所述任务标识和所述各个收集任务节点的任务执行状态。
54.第一状态存储模块,被配置为执行基于所述客户端标识和所述任务标识,存储所述各个收集任务节点的任务执行状态。
55.作为一个可选的实施例,所述装置还包括:
56.第二状态存储模块,被配置为执行基于所述客户端标识和所述任务标识,存储所述各个分析任务节点的任务执行状态。
57.根据本公开实施例的第四方面,提供一种日志数据处理装置,所述装置包括;
58.任务接收模块,被配置为执行接收服务器发送的日志数据收集任务,执行所述日志数据收集任务;
59.任务执行状态发送模块,被配置为执行向所述服务器发送所述日志数据收集任务的各个收集任务节点的任务执行状态;所述服务器在所述各个收集任务节点的任务执行状态为第一预设状态,以及接收到目标日志数据的情况下,执行对所述目标日志数据的日志数据分析任务;并在执行所述日志数据分析任务的各个分析任务节点的任务执行状态为第二预设状态的情况下,生成对所述目标日志数据的分析结果。
60.作为一个可选的实施例,任务接收模块包括:
61.任务接收单元,被配置为执行接收所述服务器发送的所述日志数据收集任务;
62.采集任务执行单元,被配置为执行基于所述日志数据收集任务中的日志信息,执行所述日志数据收集任务。
63.作为一个可选的实施例,所述向所述服务器发送所述日志数据收集任务的各个收集任务节点的任务执行状态包括:
64.在执行所述日志数据收集任务的过程中,获取当前执行的收集任务节点对应的当前任务执行状态;
65.向所述服务器发送所述当前任务执行状态。
66.根据本公开实施例的第五方面,提供一种电子设备,包括:
67.处理器;
68.用于存储所述处理器可执行指令的存储器;
69.其中,所述处理器被配置为执行所述指令,以实现如上述所述的日志数据处理方法。
70.根据本公开实施例的第六方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如上述所述的日志数据处理方法。
71.根据本公开实施例的第七方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述所述的日志数据处理方法。
72.本公开的实施例提供的技术方案至少带来以下有益效果:
73.向客户端发送日志数据收集任务。接收客户端在执行日志数据收集任务的各个收集任务节点的任务执行状态。在各个收集任务节点的任务执行状态为第一预设状态,以及接收到目标日志数据的情况下,执行对目标日志数据的日志数据分析任务。在执行日志数据分析任务的各个分析任务节点的任务执行状态为第二预设状态的情况下,生成对目标日志数据的分析结果。该方法可以在日志数据收集任务以及日志数据分析任务中确定每个任务节点的状态,从而可以在失败的情况下定位到执行失败的任务节点,提高了任务中断定位的及时性和准确性,以及任务执行的有效性。
74.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
75.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
76.图1是根据一示例性实施例示出的一种日志数据处理方法的应用场景示意图。
77.图2是根据一示例性实施例示出的一种日志数据处理方法的交互流程图。
78.图3是根据一示例性实施例示出的一种日志数据处理方法中发送日志数据收集任务流程图。
79.图4是根据一示例性实施例示出的一种日志数据处理方法中发送各个收集任务节点的任务执行状态流程图。
80.图5是根据一示例性实施例示出的一种日志数据处理方法中进行收集任务中断分析的流程图。
81.图6是根据一示例性实施例示出的一种日志数据处理方法中进行分析任务中断分析的流程图。
82.图7是根据一示例性实施例示出的一种服务器侧的日志数据处理方法的流程图。
83.图8是根据一示例性实施例示出的一种客户端侧的日志数据处理方法的流程图。
84.图9是根据一示例性实施例示出的一种日志数据处理方法中执行日志数据回捞流程的示意图。
85.图10是根据一示例性实施例示出的一种日志数据处理方法中日志回捞过程中的
各端交互示意图。
86.图11是根据一示例性实施例示出的一种服务器侧的日志数据处理装置的框图。
87.图12是根据一示例性实施例示出的一种客户端侧的日志数据处理装置的框图。
88.图13是根据一示例性实施例示出的一种服务器侧电子设备的框图。
89.图14是根据一示例性实施例示出的一种客户端侧电子设备的框图。
具体实施方式
90.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
91.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
92.需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
93.图1是根据一示例性实施例示出的一种日志数据处理方法的应用场景示意图,如图1所示,应用场景包括客户端110和服务器120,服务器120向客户端110发送日志数据收集任务,客户端110在执行日志数据收集任务的过程中,向服务器120发送每个收集任务节点对应的任务执行状态。服务器120在各个收集任务节点的任务执行状态为第一预设状态,以及接收到目标日志数据的情况下,执行对目标日志数据的日志数据分析任务。服务器120在执行日志数据分析任务的各个分析任务节点的任务执行状态为第二预设状态的情况下,生成对目标日志数据的分析结果。
94.在本公开实施例中,客户端110包括智能手机、台式电脑、平板电脑、笔记本电脑、数字助理、智能可穿戴设备等类型的实体设备,也可以包括运行于实体设备中的软体,例如应用程序等。本技术实施例中实体设备上运行的操作系统可以包括但不限于安卓系统、ios系统、linux、unix、windows等。
95.在本公开实施例中,服务器120可以包括一个独立运行的服务器,或者分布式服务器,或者由多个服务器组成的服务器集群。服务器120可以包括有网络通信单元、处理器和存储器等等。
96.图2是根据一示例性实施例示出的一种日志数据处理方法的交互流程图,如图2所示,包括以下步骤。
97.s210.服务器向客户端发送日志数据收集任务;
98.作为一个可选的实施例,服务器可以生成日志数据收集任务,并向客户端发送日志数据收集任务,获取客户端中的目标日志数据。服务器可以基于预设的时间周期,主动生成日志数据收集任务,或者基于客户端发送的反馈信息生成日志数据收集任务。
99.作为一个可选的实施例,请参见图3,如图3所示,向客户端发送日志数据收集任务
包括:
100.s310.基于客户端发送的反馈信息,生成反馈信息对应的日志信息;
101.s320.基于日志信息,生成日志数据收集任务;
102.s330.向客户端发送日志数据收集任务。
103.作为一个可选的实施例,客户端中的应用软件出现故障时,向服务器发送与故障相关的反馈信息,服务器在接收到反馈信息后,基于反馈信息生成对应的日志信息,该日志信息为目标日志数据的描述信息,可以包括目标时间段和目标内容。基于日志信息,可以生成日志数据收集任务,并在生成日志数据收集任务时,生成日志数据收集任务对应的任务标识,该任务标识为唯一的任务标识。
104.日志数据收集任务可以包括日志信息、客户端系统类型信息、日志收集凭证信息等,日志收集凭证信息可以为客户端标识或对象标识,用于确定待收集的日志数据对应的数据源。通过日志数据收集任务对应的目标日志数据,服务器可以对客户端中的故障进行定位,从而对客户端中的故障进行处理。
105.服务器基于客户端的反馈信息,生成日志数据收集任务,可以针对客户端中存在的问题进行精准收集,从而提高了日志数据收集任务的准确性,且同时保障了客户端的用户隐私。
106.s220.客户端接收日志数据收集任务,执行日志数据收集任务;
107.作为一个可选的实施例,接收服务器发送的日志数据收集任务,执行日志数据收集任务包括:
108.接收服务器发送的日志数据收集任务;
109.基于日志数据收集任务中的日志信息,执行日志数据收集任务。
110.作为一个可选的实施例,客户端接收到日志数据收集任务后,基于日志数据收集任务中的日志信息,可以确定目标日志数据对应的存储标识(logtoken),基于该存储标识可以生成目标日志数据的下载链接,通过下载链接获取到目标日志数据。
111.在客户端接收到日志数据收集任务后,客户端可以调用任务开始服务接口(start接口),启动日志数据收集任务,从而确定目标日志数据对应的存储标识。
112.作为一个可选的实施例,客户端可以通过长链接、短连接和推送(push)三种不同的方式接收日志数据收集任务。在通过这三种方式节点日志数据收集任务时,可以由客户端后台自动执行日志数据收集任务,而用户无感知。
113.长链接是在客户端在线的情况下,由客户端和服务器中的长链接服务之间建立一个长链接,基于该长链接,服务器将日志数据收集任务发送到客户端中。此时客户端若处于在线状态,就可以接收到日志数据收集任务。在线状态即为用户在应用软件的前台活跃时客户端所处的状态。
114.短连接是在客户端的应用软件启动时,客户端和服务器建立一次连接,接收到服务器传输的日志数据收集任务。应用软件的启动可以为热启动或冷启动。热启动即为从后台列表中启动应用软件。冷启动即为重新启动应用软件。在通过短连接的方式传输日志数据收集任务时,可以将日志数据收集任务存储到缓存中,并定时进行更新,移除已经执行完成的日志数据收集任务。在客户端的应用软件启动时,服务器从缓存中的读取日志数据收集任务,并将读取到的日志数据收集任务发送到客户端。
115.推送则是服务器主动向客户端发送日志数据收集任务,在客户端启动时,客户端可以通过后台接收到日志数据收集任务。
116.客户端可以基于日志信息执行日志数据收集任务,且可以通过多种方式接收到日志数据收集任务,提高了任务接收的有效性。
117.s230.客户端向服务器发送日志数据收集任务的各个收集任务节点的任务执行状态;
118.作为一个可选的实施例,日志数据收集任务可以包括多个收集任务节点,例如接收到任务标识、数据压缩、数据上传等。客户端可以在每执行到一个收集任务节点时,向服务器发送该收集任务节点的任务执行状态。
119.作为一个可选的实施例,请参见图4,向服务器发送日志数据收集任务的各个收集任务节点的任务执行状态包括:
120.s410.在执行日志数据收集任务的过程中,获取当前执行的收集任务节点对应的当前任务执行状态;
121.s420.向服务器发送当前任务执行状态。
122.作为一个可选的实施例,在执行日志数据收集任务的过程中,在每个当前执行的收集任务节点,获取当前执行的收集任务节点对应的当前任务执行状态,向服务器发送当前任务执行状态。客户端可以调用任务更新服务接口(stage接口),将当前任务执行状态同步到服务器中。
123.收集任务节点对应的任务执行状态可以包括指示收集任务节点执行成功的任务执行状态,以及指示收集任务节点执行失败的任务执行状态。在每一次客户端执行日志数据收集任务时,服务器可以接收到指示收集任务节点执行成功的任务执行状态和指示收集任务节点执行失败的任务执行状态中的一种状态。
124.在当前任务执行状态指示当前执行的收集任务节点执行成功时,则继续执行当前执行的收集任务节点的下一收集任务节点,服务器接收到指示执行成功的当前任务执行状态。在当前任务执行状态指示当前执行的收集任务节点执行失败时,则不执行当前执行的收集任务节点的下一收集任务节点,此时服务器接收指示执行失败的当前任务执行状态后,就可以确定日志数据收集任务在当前执行的收集任务节点处执行失败,从而定位日志数据收集任务执行失败的任务节点。
125.客户端每执行一个收集任务节点,就向服务器发送一次任务执行状态,从而可以使得服务器能够获取到每个收集任务节点的任务执行状态,从而对日志数据收集任务进行有效的流程跟踪。
126.s240.服务器接收客户端在执行日志数据收集任务的各个收集任务节点的任务执行状态;
127.作为一个可选的实施例,服务器可以通过日志数据收集任务的各个收集任务节点的任务执行状态,对日志数据收集任务的执行流程进行跟踪,从而确定各个收集任务节点是否被成功执行。
128.s250.服务器在各个收集任务节点的任务执行状态为第一预设状态,以及接收到目标日志数据的情况下,执行对目标日志数据的日志数据分析任务;
129.作为一个可选的实施例,第一预设状态为指示收集任务节点执行成功的任务执行
状态。在各个收集任务节点的任务执行状态为第一预设状态的情况下,说明日志数据收集任务中每个收集任务节点均执行成功。在日志数据收集任务执行成功的情况下,服务器接收到目标日志数据,可以基于目标日志数据,继续执行日志数据分析任务。
130.s260.服务器在执行日志数据分析任务的各个分析任务节点的任务执行状态为第二预设状态的情况下,生成对目标日志数据的分析结果。
131.作为一个可选的实施例,第二预设状态为指示分析任务节点执行成功的任务执行状态。在各个分析任务节点的任务执行状态为第二预设状态的情况下,说明日志数据分析任务中的各个分析任务节点均执行成功,从而生成对目标日志数据的分析结果。
132.作为一个可选的实施例,日志数据收集任务包括任务标识,接收客户端在执行日志数据收集任务的各个收集任务节点的任务执行状态包括:
133.接收客户端发送的客户端标识、任务标识和各个收集任务节点的任务执行状态;
134.基于客户端标识和任务标识,存储各个收集任务节点的任务执行状态。
135.作为一个可选的实施例,日志数据收集任务中可以包括任务标识,客户端在每一次向服务器发送任务执行状态时,可以发送客户端标识和任务标识。服务器中同样具有客户端标识和任务标识,因此在服务器中的任务标识和客户端发送的任务标识匹配,且服务器中的客户端标识和客户端发送的客户端标识匹配的情况下,可以确定接收到的任务执行状态对应的日志数据收集任务以及客户端,从而基于客户端标识和任务标识,存储接收到的各个收集任务节点的任务执行状态。
136.在服务器存储收集任务节点的任务执行状态的过程中,基于任务标识和客户端标识,唯一标识一个日志数据收集任务,在日志数据收集任务每更新一个收集任务节点对应的任务执行状态时,在数据库中新增该任务执行状态。在新增任务执行状态的过程中,数据不做覆盖,也不进行回退,从而可以记录每个收集任务节点对应的任务执行状态。
137.各个收集任务节点对应的任务执行状态可以基于预设的事件类型信息进行存储,在新增任务执行状态的过程中,每接收到一个收集任务节点对应的任务执行状态,则将该任务执行状态对应的事件类型信息存储到服务器的数据库中。例如将任务执行状态中的收到任务标识作为事件类型信息1,将任务执行状态中的开始压缩作为事件类型信息2,将任务执行状态中的压缩成功作为事件类型信息3,将任务执行状态中的压缩失败作为事件类型信息4。在接收到收到任务标识对应的任务执行状态时,在数据库中记录事件类型信息1,在接收到开始压缩对应的任务执行状态时,在数据库中记录事件类型信息2。事件类型信息3和事件类型信息4分别指示压缩执行成功和压缩执行失败两种任务执行状态,因此在每一次客户端执行日志数据收集任务时,服务器只能接收到压缩执行成功和压缩执行失败中的一种任务执行状态,服务器的数据库中同样只记录事件类型信息3和事件类型信息4中的一个。
138.基于客户端标识和任务标识,对应存储各个收集任务节点的任务执行状态,可以确保目标数据收集任务与任务执行状态的唯一对应,从而提高状态同步的准确性。
139.作为一个可选的实施例,该方法还包括:
140.基于客户端标识和任务标识,存储各个分析任务节点的任务执行状态。
141.作为一个可选的实施例,在服务器存储分析任务节点的任务执行状态的过程中,同样可以基于任务标识和客户端标识,唯一标识一个日志数据分析任务,在日志数据分析
任务每更新一个分析任务节点对应的任务执行状态时,在数据库中新增该任务执行状态。在新增任务执行状态的过程中,数据不做覆盖,也不进行回退,从而可以记录每个分析任务节点对应的任务执行状态。
142.各个分析任务节点对应的任务执行状态可以基于预设的事件类型信息进行存储,在新增任务执行状态的过程中,每接收到一个分析任务节点对应的任务执行状态,则将该任务执行状态对应的事件类型信息存储到服务器的数据库中。例如将任务执行状态中的日志分析作为事件类型信息9,将任务执行状态中的已通知用户作为事件类型信息10。在接收到日志分析的任务状态信息时,在数据库中存储事件类型信息9,在接收到已通知用户的任务状态信息时,在数据库中存储事件类型信息10。
143.基于客户端标识和任务标识,对应存储各个分析任务节点的任务执行状态,可以确保目标数据分析任务与任务执行状态的唯一对应,从而提高状态同步的准确性。
144.作为一个可选的实施例,请参见图5,该方法还包括:
145.s510.在接收到的收集任务节点的任务执行状态为第一中断状态的情况下,确定第一中断状态对应的目标收集任务节点;
146.s520.对目标收集任务节点进行数据分析,得到第一中断分析结果;
147.s530.基于第一中断分析结果,重新向客户端发送日志数据收集任务。
148.作为一个可选的实施例,第一中断状态为指示收集任务节点执行失败的任务执行状态。在接收到的收集任务节点的任务执行状态为第一中断状态,服务器可以确定日志数据收集任务执行失败,并确定该第一中断状态对应的目标收集任务节点。目标收集任务节点即为日志数据收集任务执行失败的节点。
149.在确定该第一中断状态对应的目标收集任务节点时,服务器可以通过数据库中与第一中断状态对应的事件类型信息,确定该第一中断状态对应的目标收集任务节点。第一中断状态可以包括压缩失败对应的任务执行状态,以及上传失败对应的任务执行状态。例如,在服务器接收到指示压缩失败的任务状态信息时,说明服务器接收到了第一中断状态,在数据库中存储指示压缩失败的任务状态信息对应事件类型信息。则基于该事件类型信息,可以确定是在日志数据压缩对应的收集任务节点为目标收集任务节点。
150.对目标收集任务节点进行数据分析,可以确定日志数据收集任务失败的原因,得到第一中断分析结果。基于第一中断分析结果,重新向客户端发送日志数据收集任务,并将之前存储的日志数据收集任务对应的任务执行状态清除,客户端可以重新执行日志数据收集任务。重新发送的日志数据收集任务和执行失败的日志数据收集任务可以使用同一个任务标识。
151.通过定位执行失败的目标收集任务节点,可以分析执行失败的原因,从而提高下一次执行日志数据收集任务时的成功率,可以提高了收集任务中断定位的及时性和准确性
152.作为一个可选的实施例,请参见图6,该方法还包括:
153.s610.在分析任务节点的任务执行状态为第二中断状态的情况下,确定第二中断状态对应的目标分析任务节点;
154.s620.对目标分析任务节点进行数据分析,得到第二中断分析结果;
155.s630.基于第二中断分析结果,重新执行日志数据分析任务。
156.作为一个可选的实施例,第二中断状态为指示分析任务节点执行失败的任务执行
状态。在分析任务节点的任务执行状态为第二中断状态,服务器可以确定日志数据分析任务执行失败,并确定该第二中断状态对应的目标分析任务节点。目标分析任务节点即为日志数据分析任务执行失败的节点。
157.在确定该第二中断状态对应的目标分析任务节点时,服务器可以通过数据库中与第二中断状态对应的事件类型信息,确定该第二中断状态对应的目标分析任务节点。第二中断状态可以包括日志分析失败对应的任务执行状态,以及通知用户失败对应的任务执行状态。例如,在服务器接收到指示日志分析失败的任务状态信息时,说明服务器接收到了第二中断状态,在数据库中存储指示日志分析的任务状态信息对应事件类型信息。则基于该事件类型信息,可以确定是在日志数据压缩对应的收集任务节点为目标收集任务节点。
158.对目标分析任务节点进行数据分析,可以确定日志数据分析任务失败的原因,得到第二中断分析结果。基于第二中断分析结果,重新执行日志数据分析任务,并将之前存储的日志数据分析任务对应的任务执行状态清除。重新执行的日志数据分析任务和执行失败的日志数据分析任务可以对应同一日志数据收集任务的任务标识。
159.通过定位执行失败的目标分析任务节点,可以分析执行失败的原因,从而提高下一次执行日志数据分析任务时的成功率,可以提高了分析任务中断定位的及时性和准确性
160.图7是根据一示例性实施例示出的一种日志数据处理方法的流程图,该方法应用于服务器侧,该方法包括:
161.s710.向客户端发送日志数据收集任务;
162.s720.接收客户端在执行日志数据收集任务的各个收集任务节点的任务执行状态;
163.s730.在各个收集任务节点的任务执行状态为第一预设状态,以及接收到目标日志数据的情况下,执行对目标日志数据的日志数据分析任务;
164.s740.在执行日志数据分析任务的各个分析任务节点的任务执行状态为第二预设状态的情况下,生成对目标日志数据的分析结果。
165.作为一个可选的实施例,客户端中的应用软件出现故障时,向服务器发送与故障相关的反馈信息,服务器在接收到反馈信息后,基于反馈信息生成对应的日志信息,该日志信息为目标日志数据的描述信息,可以包括目标时间段和目标内容。基于日志信息,可以生成日志数据收集任务,向客户端发送日志数据收集任务。
166.日志数据收集任务可以包括多个收集任务节点,例如接收到任务标识、数据压缩、数据上传等。服务器可以接收客户端发送的每个收集任务节点的任务执行状态。
167.服务器接收到的客户端发送的每个收集任务节点的任务执行状态可以为第一预设状态。第一预设状态为指示收集任务节点执行成功的任务执行状态。在各个收集任务节点的任务执行状态为第一预设状态的情况下,说明日志数据收集任务中每个收集任务节点均执行成功。因此服务器可以基于目标日志数据,继续执行日志数据分析任务。
168.服务器在执行日志数据分析任务的过程中,获取到的分析任务节点的任务执行状态可以为第二预设状态。第二预设状态为指示分析任务节点执行成功的任务执行状态。在各个分析任务节点的任务执行状态为第二预设状态的情况下,说明日志数据分析任务中的各个分析任务节点均执行成功,从而生成对目标日志数据的分析结果
169.服务器接收到的客户端发送的每个收集任务节点的任务执行状态可以为第一中
断状态。第一中断状态指示收集任务节点执行失败的任务执行状态。服务器可以基于第一中断状态确定目标收集任务节点,从而基于目标收集任务节点分析任务中断的原因,并基于分析结果调整日志数据收集任务,重新发送日志数据收集任务。
170.服务器在执行日志数据分析任务的过程中,获取到的分析任务节点的任务执行状态可以为第二中断状态。服务器可以基于第二中断状态确定目标分析任务节点,从而基于目标分析任务节点分析任务中断的原因,,并基于分析结果调整日志数据分析任务,重新执行日志数据分析任务。
171.服务器可以获取到日志数据收集任务以及日志数据分析任务中确定每个任务节点的状态,从而可以在失败的情况下定位到执行失败的任务节点,提高了任务执行的有效性。
172.图8是根据一示例性实施例示出的一种日志数据处理方法的流程图,该方法应用于客户端侧,该方法包括:
173.s810.接收服务器发送的日志数据收集任务,执行日志数据收集任务;
174.s820.向服务器发送日志数据收集任务的各个收集任务节点的任务执行状态;服务器在各个收集任务节点的任务执行状态为第一预设状态,以及接收到目标日志数据的情况下,执行对目标日志数据的日志数据分析任务;并在执行日志数据分析任务的各个分析任务节点的任务执行状态为第二预设状态的情况下,生成对目标日志数据的分析结果。
175.作为一个可选的实施例,客户端接收到日志数据收集任务后,可以调用任务开始服务接口(start接口),启动日志数据收集任务。基于日志数据收集任务中的日志信息,可以确定目标日志数据对应的存储标识(logtoken),基于该存储标识可以生成目标日志数据的下载链接,通过下载链接获取到目标日志数据。
176.客户端可以通过长链接、短连接和推送(push)三种不同的方式接收日志数据收集任务。在通过这三种方式节点日志数据收集任务时,可以由客户端后台自动执行日志数据收集任务,而用户无感知。
177.在执行日志数据收集任务的过程中,在每个当前执行的收集任务节点,获取当前执行的收集任务节点对应的当前任务执行状态,向服务器发送当前任务执行状态。客户端可以调用任务更新服务接口(stage接口),将当前任务执行状态同步到服务器中。
178.客户端可以将收集任务节点的任务执行状态发送到服务器中,服务器对客户端上传的任务执行状态进行数据新增处理,可以保证任务执行状态的完整性。
179.作为一个可选的实施例,该日志数据处理方法可以应用在日志回捞的应用场景中。日志回捞可以包括日志数据收集任务和日志数据分析任务。日志数据收集任务可以分为收到任务标识、压缩日志数据、上传日志数据和日志收集结束四个收集任务节点。其中,压缩日志数据的收集任务节点可以对应开始压缩、压缩成功和压缩失败三种任务执行状态。上传日志数据的收集任务节点可以对应开始上传、上传成功和上传失败三种任务执行状态。日志数据分析任务可以分为日志分析和已通知用户两个分析任务节点。其中,日志分析的分析任务节点可以对应分析成功和分析失败两种任务执行状态,已通知用户的分享任务节点可以对应通知成功和通知失败两种任务执行专题。
180.服务器可以为任务管理平台和数据处理服务器。客户端可以为应用程序。如图9所示为执行日志数据回捞流程的示意图。数据处理服务器中包括日志数据处理服务,日志数
据处理服务可以包括任务创建服务、任务下发服务、任务开始服务、任务更新服务和任务结束服务。基于任务管理平台,可以调用数据处理服务器中的任务创建服务,创建日志数据收集任务并生成任务标识。
181.在通过短连接下发任务时,可以调用任务下发服务,向客户端发送日志数据收集任务,在通过长链接或推送的方式下发任务时,可以由任务管理平台直接向客户端发送日志数据收集任务。应用程序接收到日志数据收集任务后,可以调用数据处理服务中的任务开始服务,开始执行日志数据收集任务,在每执行一个收集任务节点的情况下,调用任务更新服务,将该收集任务节点对应的任务执行状态同步到数据处理服务器中。
182.在收集任务节点对应的任务执行状态均为第一预设状态的情况下,数据处理服务器接收到目标日志数据,并对目标日志数据执行日志数据分析任务。在每执行一个分析任务节点的情况下,调用任务更新服务,将该分析任务节点对应的任务执行状态更新到数据处理服务器中。数据处理服务器向应用程序发送的分析结果,更新已通知用户的任务执行状态,应用程序在接收到数据处理服务器发送的分析结果后,可以确定日志数据收集任务和日志数据分析任务均结束,日志数据处理完成,则可以调用任务结束服务,结束日志数据处理。
183.数据处理服务器可以通过预设的事件类型信息,将收集任务节点对应的任务执行状态和分析任务节点对应的任务执行状态存储到数据库中。在数据库中已存储的任务执行状态对应唯一的任务标识和客户端标识。收集任务节点对应的任务执行状态和分析任务节点对应的任务执行状态可以包括收到任务标识、开始压缩、压缩成功、压缩失败、开始上传、上传完成、上传失败、回捞结束、日志分析、已通知用户10种状态,分别对应事件类型信息1到事件类型信息10,如下表所示,该表格为任务状态同步信息表。
184.[0185][0186]
请参见图10,如图10所示为日志回捞过程中的各端交互示意图。服务器和客户端间可以通过远程过程调用(remote procedure call,rpc)服务、日志回捞应用程序接口(application programming interface,api)和关键配置进行交互,应用程序和数据处理服务器间可以基于预设的多媒体传输协议进行交互。应用程序在启动后,通过关键配置将携带有对象标识或客户端标识的反馈信息发送到rpc服务中,rpc服务可以从数据处理服务器的缓存中获取日志数据收集任务,并向客户端发送日志数据收集任务,日志数据收集任务中包括任务标识,应用程序在通过关键配置获取到日志数据收集任务时,调用任务开始服务,开始执行日志数据收集任务,此时即完成接收任务标识的收集任务节点,客户端可以向日志回捞api发送收到任务标识的任务执行状态,数据处理服务器存储与收到任务标识的任务执行状态对应的事件类型信息。
[0187]
应用程序在执行日志数据收集任务的过程中,在开始压缩日志数据时,向数据处
理服务器同步压缩开始的任务执行状态,数据处理服务器存储与压缩开始的任务执行状态对应的事件类型信息。在结束压缩日志数据时,向数据处理服务器同步压缩成功的任务执行状态或压缩失败的任务执行状态,数据处理服务器存储与压缩失败的任务执行状态对应的事件类型信息,或者与压缩成功的任务执行状态对应的事件类型信息。在压缩成功的情况下,应用程序开始进行数据上传,向数据处理服务器同步上传开始的任务执行状态,在结束数据上传时,向数据处理服务器同步上传成功的任务执行状态或上传失败的任务执行状态。在数据上传成功的情况下,数据处理服务器执行日志数据分析任务。并同步日志分析对应的任务执行状态和已通知用户对应的任务执行状态。在已通知用户的情况下,应用程序可以调用任务结束服务,结束日志数据处理,并将任务结束的任务执行状态同步到数据处理服务器。同时数据处理服务器也可以向任务管理平台同步任务结束的信息。
[0188]
本公开实施例提出了一种日志数据处理方法,该方法包括:向客户端发送日志数据收集任务。接收客户端在执行日志数据收集任务的各个收集任务节点的任务执行状态。在各个收集任务节点的任务执行状态为第一预设状态,以及接收到目标日志数据的情况下,执行对目标日志数据的日志数据分析任务。在执行日志数据分析任务的各个分析任务节点的任务执行状态为第二预设状态的情况下,生成对目标日志数据的分析结果。该方法可以在日志数据收集任务以及日志数据分析任务中确定每个任务节点的状态,从而可以在失败的情况下定位到执行失败的任务节点,提高了任务中断定位的及时性和准确性,以及任务执行的有效性。
[0189]
图11是根据一示例性实施例示出的一种日志数据处理装置框图。参照图11,该装置包括;
[0190]
任务发送模块1110,被配置为执行向客户端发送日志数据收集任务;
[0191]
任务执行状态接收模块1120,被配置为执行接收客户端在执行日志数据收集任务的各个收集任务节点的任务执行状态;
[0192]
分析任务执行模块1130,被配置为执行在各个收集任务节点的任务执行状态为第一预设状态,以及接收到目标日志数据的情况下,执行对目标日志数据的日志数据分析任务;
[0193]
分析结果生成模块1140,被配置为执行在执行日志数据分析任务的各个分析任务节点的任务执行状态为第二预设状态的情况下,生成对目标日志数据的分析结果。
[0194]
作为一个可选的实施例,装置还包括:
[0195]
目标收集节点确定模块,被配置为执行在接收到的收集任务节点的任务执行状态为第一中断状态的情况下,确定第一中断状态对应的目标收集任务节点;
[0196]
第一数据分析模块,被配置为执行对目标收集任务节点进行数据分析,得到第一中断分析结果;
[0197]
第一任务重执行模块,被配置为执行基于第一中断分析结果,重新向客户端发送日志数据收集任务。
[0198]
作为一个可选的实施例,装置还包括:
[0199]
目标分析节点确定模块,被配置为执行在分析任务节点的任务执行状态为第二中断状态的情况下,确定第二中断状态对应的目标分析任务节点;
[0200]
第二数据分析模块,被配置为执行对目标分析任务节点进行数据分析,得到第二
中断分析结果;
[0201]
第二任务重执行模块,被配置为执行基于第二中断分析结果,重新执行日志数据分析任务。
[0202]
作为一个可选的实施例,任务发送模块包括:
[0203]
日志信息获取单元,被配置为执行基于客户端发送的反馈信息,生成反馈信息对应的日志信息;
[0204]
任务生成单元,被配置为执行基于日志信息,生成日志数据收集任务;
[0205]
任务发送单元,被配置为执行向客户端发送日志数据收集任务。
[0206]
作为一个可选的实施例,日志数据收集任务包括任务标识,任务执行状态接收模块包括:
[0207]
任务执行状态接收单元,被配置为执行接收客户端发送的客户端标识、任务标识和各个收集任务节点的任务执行状态。
[0208]
第一状态存储模块,被配置为执行基于客户端标识和任务标识,存储各个收集任务节点的任务执行状态。
[0209]
作为一个可选的实施例,装置还包括:
[0210]
第二状态存储模块,被配置为执行基于客户端标识和任务标识,存储各个分析任务节点的任务执行状态。
[0211]
图12是根据一示例性实施例示出的一种日志数据处理装置框图。参照图12,该装置包括;
[0212]
任务接收模块1210,被配置为执行接收服务器发送的日志数据收集任务,执行日志数据收集任务;
[0213]
任务执行状态发送模块1220,被配置为执行向服务器发送日志数据收集任务的各个收集任务节点的任务执行状态;服务器在各个收集任务节点的任务执行状态为第一预设状态,以及接收到目标日志数据的情况下,执行对目标日志数据的日志数据分析任务;并在执行日志数据分析任务的各个分析任务节点的任务执行状态为第二预设状态的情况下,生成对目标日志数据的分析结果。
[0214]
作为一个可选的实施例,任务接收模块包括:
[0215]
任务接收单元,被配置为执行接收服务器发送的日志数据收集任务;
[0216]
采集任务执行单元,被配置为执行基于日志数据收集任务中的日志信息,执行日志数据收集任务。
[0217]
作为一个可选的实施例,向服务器发送日志数据收集任务的各个收集任务节点的任务执行状态包括:
[0218]
在执行日志数据收集任务的过程中,获取当前执行的收集任务节点对应的当前任务执行状态;
[0219]
向服务器发送当前任务执行状态。
[0220]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0221]
图13是根据一示例性实施例示出的一种用于日志数据处理的电子设备的框图,该电子设备可以是终端,其内部结构图可以如图13所示。该电子设备包括通过系统总线连接
的处理器、存储器、网络接口、显示屏和输入装置。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种日志数据处理方法。该电子设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该电子设备的输入装置可以是显示屏上覆盖的触摸层,也可以是电子设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0222]
图14是根据一示例性实施例示出的一种用于日志数据处理的电子设备的框图,该电子设备可以是服务器,其内部结构图可以如图14所示。该电子设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种日志数据处理方法。
[0223]
本领域技术人员可以理解,图13和图14中示出的结构,仅仅是与本公开方案相关的部分结构的框图,并不构成对本公开方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0224]
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器,上述指令可由电子设备的处理器执行以完成上述方法。可选地,计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
[0225]
在示例性实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行本公开实施例中的日志数据处理方法。
[0226]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0227]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
[0228]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并
且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。