首页 / 专利库 / 电脑零配件 / 固件 / 软件 / 应用软件 / 一种文件解析方法、装置、系统和存储介质

一种文件解析方法、装置、系统和存储介质

阅读:319发布:2020-05-08

专利汇可以提供一种文件解析方法、装置、系统和存储介质专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种文件解析方法、装置、系统和存储介质,该方法包括:在应用 软件 每次启动时,检测系统中是否存在 应用软件 对应的第一崩溃文件;若存在第一崩溃文件,则根据第一崩溃文件的生成时间,对第一崩溃文件的第一文件名称进行更新,获得第二崩溃文件;将第二崩溃文件发送至服务端中,以使服务端根据每次接收到的第二崩溃文件的第二文件名称,对第二崩溃文件进行时间归类,并在检测到解析触发指令时,对每个目标时间类别下的各第二崩溃文件进行筛选确定出目标崩溃文件,并对目标崩溃文件进行解析。通过本发明技术方案,可以提高解析效率,同时也提高了设备资源利用率。,下面是一种文件解析方法、装置、系统和存储介质专利的具体信息内容。

1.一种文件解析方法,其特征在于,应用于客户端,包括:
在应用软件每次启动时,检测系统中是否存在所述应用软件对应的第一崩溃文件;
若存在所述第一崩溃文件,则根据所述第一崩溃文件的生成时间,对所述第一崩溃文件的第一文件名称进行更新,获得第二崩溃文件;
将所述第二崩溃文件发送至服务端中,以使所述服务端根据每次接收到的所述第二崩溃文件的第二文件名称,对所述第二崩溃文件进行时间归类,并在检测到解析触发指令时,对目标时间类别下的各所述第二崩溃文件进行筛选确定出目标崩溃文件,并对所述目标崩溃文件进行解析。
2.根据权利要求1所述的方法,其特征在于,根据所述第一崩溃文件的生成时间,对所述第一崩溃文件的第一文件名称进行更新,包括:
获取所述应用软件的登录用户信息;
根据所述第一崩溃文件的生成时间和所述登录用户信息,对所述第一崩溃文件的第一文件名称进行更新,以使更新后获得的第二崩溃文件的第二文件名称中包含所述生成时间和所述登录用户信息。
3.一种文件解析方法,其特征在于,应用于服务端,包括:
接收客户端发送的应用软件对应的第二崩溃文件,其中所述第二崩溃文件的第二文件名称包含第一崩溃文件的生成时间;
根据所述第二文件名称对当前接收到的所述第二崩溃文件进行时间归类;
在检测到解析触发指令时,对目标时间类别下的各所述第二崩溃文件进行筛选确定出目标崩溃文件,并对所述目标崩溃文件进行解析。
4.根据权利要求3所述的方法,其特征在于,根据所述第二文件名称对当前接收到的所述第二崩溃文件进行时间归类,包括:
根据每个时间类别对应的生成时间段以及所述第二文件名称中的第一崩溃文件的生成时间,确定所述第二崩溃文件对应的当前时间类别,并将所述第二崩溃文件添加至所述当前时间类别中。
5.根据权利要求3所述的方法,其特征在于,对目标时间类别下的各所述第二崩溃文件进行筛选确定出目标崩溃文件,包括:
获取目标时间类别下的每个所述第二崩溃文件中的崩溃线程信息;
将所述崩溃线程信息相同的各个第二崩溃文件进行组合,并将每个组合结果确定为属于同一崩溃原因的崩溃文件集合;
根据各所述崩溃文件集合,确定所述崩溃文件集合中的目标崩溃文件。
6.根据权利要求3所述的方法,其特征在于,对所述目标崩溃文件进行解析,包括:
获取所述目标崩溃文件的文件标识;
根据所述文件标识,确定出所述目标崩溃文件对应的目标符号表文件;
根据所述目标符号表文件对所述目标崩溃文件进行解析。
7.根据权利要求5所述的方法,其特征在于,在确定所述崩溃文件集合中的目标崩溃文件之后,还包括:
根据所述目标崩溃文件对应的崩溃文件集合所包含的第二崩溃文件数量,确定所述目标崩溃文件对应的崩溃原因发生频次;
相应地,在对所述目标崩溃文件进行解析之后,还包括:
将解析后的目标崩溃文件和所述目标崩溃文件对应的崩溃原因发生频次发送至开发人员对应的开发端。
8.根据权利要求3所述的方法,其特征在于,所述第二崩溃文件的第二文件名称还包含所述应用软件的登录用户信息;
相应地,所述方法还包括:
若接收到崩溃文件查询指令,则根据所述崩溃文件查询指令中的目标用户信息和每个所述第二崩溃文件的第二文件名称中的登录用户信息,从各所述第二崩溃文件中查询出所述目标用户信息对应的第二崩溃文件。
9.一种文件解析装置,其特征在于,集成于客户端,包括:
第一崩溃文件检测模,用于在应用软件每次启动时,检测系统中是否存在所述应用软件对应的第一崩溃文件;
文件名称更新模块,用于若存在所述第一崩溃文件,则根据所述第一崩溃文件的生成时间,对所述第一崩溃文件的第一文件名称进行更新,获得第二崩溃文件;
第二崩溃文件发送模块,用于将所述第二崩溃文件发送至服务端中,以使所述服务端根据每次接收到的所述第二崩溃文件的第二文件名称,对所述第二崩溃文件进行时间归类,并在检测到解析触发指令时,对目标时间类别下的各所述第二崩溃文件进行筛选确定出目标崩溃文件,并对所述目标崩溃文件进行解析。
10.一种文件解析装置,其特征在于,集成于服务端,包括:
第二崩溃文件接收模块,用于接收客户端发送的应用软件对应的第二崩溃文件,其中所述第二崩溃文件的第二文件名称包含第一崩溃文件的生成时间;
第二崩溃文件归类模块,用于根据所述第二文件名称对当前接收到的所述第二崩溃文件进行时间归类;
目标崩溃文件解析模块,用于在检测到解析触发指令时,对目标时间类别下的各所述第二崩溃文件进行筛选确定出目标崩溃文件,并对所述目标崩溃文件进行解析。
11.一种文件解析系统,其特征在于,所述系统包括多个客户端与服务端;
其中,每个所述客户端用于执行如权利要求1或2所述的文件解析方法;
所述服务端用于执行如权利要求3-8中任一所述的文件解析方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8中任一所述的文件解析方法。

说明书全文

一种文件解析方法、装置、系统和存储介质

技术领域

[0001] 本发明实施例涉及计算机技术,尤其涉及一种文件解析方法、装置、系统和存储介质。

背景技术

[0002] 随着计算机技术的快速发展,越来越多的应用软件被研发,以满足用户日益增长的需求。
[0003] 应用软件在运行过程中可能会出现异常崩溃情况,比如闪退、死机等情况,从而开发人员需要对出现的异常崩溃情况进行异常分析,以避免异常情况的再次出现,提高用户体验。应用程序在出现异常崩溃情况时,操作系统会生成相应的崩溃文件。由于崩溃文件是加密文件,从而需要对崩溃文件进行解析,以便基于解析后的崩溃信息确定出具体的崩溃原因。
[0004] 现有技术中,安装有应用软件的每个客户端通常会将生成的崩溃文件发送至服务端中,开发人员会对服务端接收到的每个崩溃文件进行实时解析。然而,由于崩溃文件的数量较多,并且对因同一崩溃原因产生的多个崩溃文件也会逐个进行解析,从而降低了解析效率,同时也浪费了设备资源。

发明内容

[0005] 本发明实施例提供了一种文件解析方法、装置、系统和存储介质,以提高解析效率,同时也提高了设备资源利用率。
[0006] 第一方面,本发明实施例提供了一种文件解析方法,应用于客户端,包括:
[0007] 在应用软件每次启动时,检测系统中是否存在所述应用软件对应的第一崩溃文件;
[0008] 若存在所述第一崩溃文件,则根据所述第一崩溃文件的生成时间,对所述第一崩溃文件的第一文件名称进行更新,获得第二崩溃文件;
[0009] 将所述第二崩溃文件发送至服务端中,以使所述服务端根据每次接收到的所述第二崩溃文件的第二文件名称,对所述第二崩溃文件进行时间归类,并在检测到解析触发指令时,对每个目标时间类别下的各所述第二崩溃文件进行筛选确定出目标崩溃文件,并对所述目标崩溃文件进行解析。
[0010] 第二方面,本发明实施例还提供了一种文件解析方法,应用于服务端,包括:
[0011] 接收客户端发送的应用软件对应的第二崩溃文件,其中所述第二崩溃文件的第二文件名称包含第一崩溃文件的生成时间;
[0012] 根据所述第二文件名称对当前接收到的所述第二崩溃文件进行时间归类;
[0013] 在检测到解析触发指令时,对每个目标时间类别下的各所述第二崩溃文件进行筛选确定出目标崩溃文件,并对所述目标崩溃文件进行解析。
[0014] 第三方面,本发明实施例还提供了一种文件解析装置,集成于客户端,包括:
[0015] 第一崩溃文件检测模,用于在应用软件每次启动时,检测系统中是否存在所述应用软件对应的第一崩溃文件;
[0016] 文件名称更新模块,用于若存在所述第一崩溃文件,则根据所述第一崩溃文件的生成时间,对所述第一崩溃文件的第一文件名称进行更新,获得第二崩溃文件;
[0017] 第二崩溃文件发送模块,用于将所述第二崩溃文件发送至服务端中,以使所述服务端根据每次接收到的所述第二崩溃文件的第二文件名称,对所述第二崩溃文件进行时间归类,并在检测到解析触发指令时,对每个目标时间类别下的各所述第二崩溃文件进行筛选确定出目标崩溃文件,并对所述目标崩溃文件进行解析。
[0018] 第四方面,本发明实施例还提供了一种文件解析装置,集成于服务端,包括:
[0019] 第二崩溃文件接收模块,用于接收客户端发送的应用软件对应的第二崩溃文件,其中所述第二崩溃文件的第二文件名称包含第一崩溃文件的生成时间;
[0020] 第二崩溃文件归类模块,用于根据所述第二文件名称对当前接收到的所述第二崩溃文件进行时间归类;
[0021] 目标崩溃文件解析模块,用于在检测到解析触发指令时,对每个目标时间类别下的各所述第二崩溃文件进行筛选确定出目标崩溃文件,并对所述目标崩溃文件进行解析。
[0022] 第五方面,本发明实施例还提供了一种文件解析系统,所述系统包括多个客户端与服务端;
[0023] 其中,每个所述客户端用于执行如本发明第一方面所提供的文件解析方法;
[0024] 所述服务端用于执行如本发明第二方面所提供的文件解析方法。
[0025] 第六方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所提供的文件解析方法。
[0026] 本发明实施例通过在应用软件每次启动时,检测系统中是否存在应用软件对应的第一崩溃文件;若是,则根据第一崩溃文件的生成时间,对第一崩溃文件的第一文件名称进行更新,并将更新后获得的第二崩溃文件发送至服务端中,服务端可以根据每次接收到的第二崩溃文件的第二文件名称,对第二崩溃文件进行时间归类,并在检测到解析触发指令时,对目标时间类别下的各第二崩溃文件进行筛选确定出目标崩溃文件,并对目标崩溃文件进行解析,从而通过时间归类和对目标时间类别下的各个第二崩溃文件进行筛选的方式,可以对当前具有解析价值的目标崩溃文件进行解析,比如对所属崩溃原因不同的各个目标崩溃文件进行解析,从而可以避免对因同一崩溃原因产生的多个崩溃文件进行多次解析的情况,进而提高了解析效率,以及避免了设备资源的浪费,提高了设备资源利用率。附图说明
[0027] 图1是本发明实施例一提供的一种文件解析方法的流程图
[0028] 图2是本发明实施例二提供的一种文件解析方法的流程图;
[0029] 图3是本发明实施例三提供的一种文件解析装置的结构示意图;
[0030] 图4是本发明实施例四提供的一种文件解析装置的结构示意图;
[0031] 图5是本发明实施例五提供的一种文件解析系统的结构示意图。

具体实施方式

[0032] 下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
[0033] 实施例一
[0034] 图1为本发明实施例一提供的一种文件解析方法的流程图,本实施例可适用于对应用软件的崩溃文件(即crash文件)进行解析的情况。该方法可以由集成在客户端上的文件解析装置来执行,该装置可以由软件和/或硬件的方式来实现。其中,客户端可以是指安装有应用软件的设备,比如智能手机、平板电脑或掌上游戏机等设备。如图1所示,该方法具体包括以下步骤:
[0035] S110、在应用软件每次启动时,检测系统中是否存在应用软件对应的第一崩溃文件。
[0036] 其中,应用软件可以是指客户端中安装的任意一个应用程序(App)。例如,应用软件可以是但不限于游戏软件。系统可以是指客户端所搭载的操作系统。例如,系统可以是指苹果iOS操作系统。第一崩溃文件,即Crash文件,可以是指应用软件运行崩溃时,系统基于应用软件的运行信息所生成的文件。第一崩溃文件可以保存应用软件运行崩溃时的堆栈信息,即应用软件中出现崩溃的具体原因。需要说明的是,由于第一崩溃文件是存储在用户使用的客户端上,从而系统生成的第一崩溃文件是密文文件,需要进行解析后才可查看具体内容,以便保证数据的安全性。
[0037] 具体地,若客户端中的应用软件启动后发生运行崩溃,则客户端的系统可以基于应用软件在崩溃时刻的运行信息生成一个第一崩溃文件。本实施例可以实时检测该应用软件是否再次进行启动,即该应用软件对应的应用进程是否再次启动,若是,则可以基于该应用软件的软件名称,检测系统中是否存在应用软件对应的第一崩溃文件,以便确定出该应用软件上次启动时是否发生异常崩溃情况。
[0038] S120、若存在第一崩溃文件,则根据第一崩溃文件的生成时间,对第一崩溃文件的第一文件名称进行更新,获得第二崩溃文件。
[0039] 其中,第一崩溃文件的生成时间可以是指系统生成第一崩溃文件的时间,即应用软件发生崩溃的时刻。例如,第一崩溃文件的生成时间可以为:2019-12-17_10-53-06,其表示该第一崩溃文件是在2019年12月17日10点53分06秒生成的。第二崩溃文件可以是指对第一文件名称进行更新后的第一崩溃文件。
[0040] 具体地,若检测到系统中存在应用软件对应的第一崩溃文件,则表明该应用软件上次启动时发生了异常崩溃情况,此时可以获取第一崩溃文件的生成时间,并将生成时间以预设时间格式添加至第一崩溃文件的第一文件名称中的预设位置处,比如文件名称的头部或尾部等,以对第一文件名称进行更新,使得获得的第二崩溃文件的第二文件名称中包含第一崩溃文件的生成时间。
[0041] S130、将第二崩溃文件发送至服务端中,以使服务端根据每次接收到的第二崩溃文件的第二文件名称,对第二崩溃文件进行时间归类,并在检测到解析触发指令时,对目标时间类别下的各第二崩溃文件进行筛选确定出目标崩溃文件,并对目标崩溃文件进行解析。
[0042] 其中,服务端可以是指用于解析应用软件对应的崩溃文件的服务器。解析触发指令可以是用于指示对崩溃文件进行文件解析的指令。例如,解析触发指令可以是基于用户操作手动触发生成,也可以是定时自动触发生成,以便可以周期性地进行自动解析,无需人工参与。时间类别可以是指预先设置的每个生成时间段所对应的类别。本实施例可以包括多个时间类别。目标时间类别可以是所有时间类别中的特定时间类别,其可以基于业务需求和场景进行设置。本实施例中的目标时间类别可以是基于解析触发指令实时设置的。例如,可以将距离解析触发指令的生成时刻最近的生成时间段所对应的时间类别确定为目标时间类别。比如,假设每三天对应一个时间类别,则在10月17号生成解析触发指令时,可以将生成时间段为10月14号至16号所对应的时间类别确定为目标时间类别,从而可以对最近三天内生成的崩溃文件进行统计,并筛选出目标崩溃文件。目标崩溃文件可以是指目标时间类别下的各个待解析的第二崩溃文件。例如,目标崩溃文件可以是指目标时间类别下基于不同崩溃原因所生成的第二崩溃文件。
[0043] 具体地,安装有同一应用软件的客户端存在多个,每个客户端均执行上述S110-S130的操作,使得每个客户端将获得的所有第二崩溃文件均发送至服务端中。服务端可以根据每次接收到的第二崩溃文件的第二文件名称,获得崩溃文件的生成时间,并基于该生成时间可以对该第二崩溃文件进行时间归类,从而在未检测到解析触发指令之前,可以实时对接收到的所有第二崩溃文件均进行时间归类,以便实时更新每个时间类别下的各个第二崩溃文件。服务端当检测到解析触发指令时,可以对目标时间类别下的各个第二崩溃文件进行统计筛选,确定出待解析的目标崩溃文件,比如目标时间类别下基于不同崩溃原因所生成的第二崩溃文件。通过仅对目标崩溃文件进行解析,从而可以避免对重复的崩溃文件进行多次解析,提高了解析效率,同时也可以提供资源利用率。
[0044] 本实施例的技术方案,通过在应用软件每次启动时,检测系统中是否存在应用软件对应的第一崩溃文件;若是,则根据第一崩溃文件的生成时间,对第一崩溃文件的第一文件名称进行更新,并将更新后获得的第二崩溃文件发送至服务端中,服务端可以根据每次接收到的第二崩溃文件的第二文件名称,对第二崩溃文件进行时间归类,并在检测到解析触发指令时,对目标时间类别下的各第二崩溃文件进行筛选确定出目标崩溃文件,并对目标崩溃文件进行解析,从而通过时间归类和对目标时间类别下的各个第二崩溃文件进行筛选的方式,可以对当前具有解析价值的目标崩溃文件进行解析,比如对所属崩溃原因不同的各个目标崩溃文件进行解析,从而可以避免对因同一崩溃原因产生的多个崩溃文件进行多次解析的情况,进而提高了解析效率,以及避免了设备资源的浪费,提高了设备资源利用率。
[0045] 在上述技术方案的基础上,S120中的根据第一崩溃文件的生成时间,对第一崩溃文件的第一文件名称进行更新,可以包括:获取应用软件的登录用户信息;根据第一崩溃文件的生成时间和登录用户信息,对第一崩溃文件的第一文件名称进行更新,以使更新后获得的第二崩溃文件的第二文件名称中包含生成时间和登录用户信息。
[0046] 其中,登录用户信息可以是指在客户端中登录该应用软件的用户信息。示例性地,登录用户信息可以是但不限于登录用户标识,以便区分不同的登录用户。
[0047] 具体地,若检测到系统中存在应用软件对应的第一崩溃文件,则可以通过应用程序进程获取当前登录该应用软件的登录用户信息,并将该登录用户信息也添加至第一崩溃文件的第一文件名称中,以标识出该第一崩溃文件是由该用户登录时所产生的,便于后续可以基于崩溃文件的文件名称对特定用户的崩溃文件进行查询,从而提高查询效率。
[0048] 示例性地,本实施例还可以将客户端的设备信息也添加至第一崩溃文件的第一文件名称中,其中,设备信息可以包括操作系统信息、机型信息等,以便标识出产生第一崩溃文件的设备信息,便于后续基于业务需求进行崩溃文件筛选和查询,从而实现筛选方式的多样性以及满足用户个性化需求。
[0049] 实施例二
[0050] 图2为本发明实施例二提供的一种文件解析方法的流程图,本实施例可适用于对应用软件的崩溃文件(即crash文件)进行解析的情况。该方法可以由集成在服务端上的文件解析装置来执行,该装置可以由软件和/或硬件的方式来实现。其中,服务端可以是用于解析应用软件对应的崩溃文件的服务器。如图2所示,该方法具体包括以下步骤:
[0051] S210、接收客户端发送的应用软件对应的第二崩溃文件,其中第二崩溃文件的第二文件名称包含第一崩溃文件的生成时间。
[0052] 其中,应用软件可以是指客户端中安装的任意一个应用程序(App)。第一崩溃文件,即Crash文件,可以是指应用软件运行崩溃时,系统基于应用软件的运行信息所生成的文件。第二崩溃文件可以是客户端预先基于第一崩溃文件的生成时间对第一崩溃文件的第一文件名称进行更新后获得的崩溃文件,从而第二崩溃文件的第二文件名称中可以包含第一崩溃文件的生成时间。
[0053] 具体地,每个客户端在每次检测到系统中存在应用软件对应的第一崩溃文件时,基于该第一崩溃文件获得第二崩溃文件,并将第二崩溃文件发送至服务端中,从而服务端可以接收到每个客户端发送的应用软件对应的第二崩溃文件。
[0054] S220、根据第二文件名称对当前接收到的第二崩溃文件进行时间归类。
[0055] 其中,可以预设基于业务需求和场景设置各个时间类别,以便进行时间归类。时间类别可以是基于预先设置的每个生成时间段设置相应的类别。每个时间类别可以用于存储在该时间类别对应的生成时间段内所生成的各个第二崩溃文件。其中,生成时间段可以基于解析触发指令生成的时间间隔进行设置,以便可以获得在每个时间间隔内生成的崩溃文件。本实施例可以包括多个时间类别。示例性地,生成时间段可以设置为三天,使得每隔三天对应一个时间类别,比如,10月14号至16号对应的时间类别可以用于存储客户端在10月14号至16号内生成的所有第二崩溃文件。例如,每个时间类别可以对应一个文件夹,其文件夹的名称可以为该时间类别对应的生成时间段,以便利用该文件夹来存储相应的第二崩溃文件,实现时间归类。
[0056] 具体地,可以基于每个时间类别所对应的生成时间段,对接收到的每个第二崩溃文件进行时间归类,以便实时更新每个时间类别下包含的第二崩溃文件。
[0057] 示例性地,S220可以包括:根据每个时间类别对应的生成时间段以及第二文件名称中的第一崩溃文件的生成时间,确定第二崩溃文件对应的当前时间类别,并将第二崩溃文件添加至当前时间类别中。
[0058] 具体地,可以根据接收到的第二崩溃文件的第二文件名称,获得第一崩溃文件的生成时间,并将每个时间类别对应的生成时间段与获得的生成时间进行匹配,确定出该生成时间所处于的生成时间段对应的时间类别,并作为当前时间类别,将第二崩溃文件存储添加至当前时间类别中。同理,服务端可以对接收到的每个第二崩溃文件均进行时间归类。
[0059] S230、在检测到解析触发指令时,对目标时间类别下的各第二崩溃文件进行筛选确定出目标崩溃文件,并对目标崩溃文件进行解析。
[0060] 其中,解析触发指令可以是用于指示对崩溃文件进行文件解析的指令。例如,解析触发指令可以是基于用户操作手动触发生成,也可以是定时自动触发生成,以便可以周期性地进行自动解析,无需人工参与。其中,触发周期可以是应用软件基于崩溃原因更新上线后的预设时间间隔,以便可以监测更新后的应用软件的运行情况。目标时间类别可以是所有时间类别中的特定时间类别,其可以基于业务需求和场景进行设置。本实施例中的目标时间类别可以是基于解析触发指令实时设置。例如,可以将距离解析触发指令的生成时刻最近的生成时间段所对应的时间类别确定为目标时间类别。比如,假设每三天对应一个时间类别,则在10月17号生成解析触发指令时,可以将生成时间段为10月14号至16号所对应的时间类别确定为目标时间类别,从而可以对最近三天内生成的崩溃文件进行统计,并筛选出目标崩溃文件。目标崩溃文件可以是指目标时间类别下的各个待解析的第二崩溃文件。例如,目标崩溃文件的数量可以为一个或多个,并且每个目标崩溃文件所对应的崩溃原因均不同。
[0061] 具体地,服端当检测到解析触发指令时,可以对目标时间类别下的各个第二崩溃文件进行统计筛选,确定出待解析的目标崩溃文件,比如目标时间类别下基于不同崩溃原因所生成的第二崩溃文件。通过仅对目标崩溃文件进行解析,从而可以避免对重复的崩溃文件进行多次解析,提高了解析效率,同时也可以提供资源利用率。
[0062] 示例性地,S230中的对目标时间类别下的各第二崩溃文件进行筛选确定出目标崩溃文件,可以包括:获取目标时间类别下的每个第二崩溃文件中的崩溃线程信息;将崩溃线程信息相同的各个第二崩溃文件进行组合,并将每个组合结果确定为属于同一崩溃原因的崩溃文件集合;根据各崩溃文件集合,确定崩溃文件集合中的目标崩溃文件。
[0063] 其中,第二崩溃文件是文本txt格式的密文文件,从而可以查看第二崩溃文件中加密后的崩溃内容,即崩溃线程信息。崩溃线程信息可以是指应用软件运行崩溃时所运行的线程的堆栈信息。若至少两个第二崩溃文件中的崩溃线程信息相同,则表明至少两个第二崩溃文件所对应的崩溃原因也相同。崩溃文件集合可以是指由基于同一崩溃原因生成的第二崩溃文件所组成的集合。
[0064] 具体地,可以对目标时间类别下的每个第二崩溃文件进行信息读取,获得每个第二崩溃文件中的崩溃线程信息,并对各个崩溃线程信息进行比较,确定出具有相同崩溃线程信息的各个第二崩溃文件并进行组合,从而可以获得各个组合结果,每个组合结果即为一个属于同一崩溃原因的崩溃文件集合,每个崩溃文件集合对应的崩溃原因均不同,从而实现了对目标时间类别下的各个第二崩溃文件对应的崩溃原因的统计分析。本实施例可以从每个崩溃文件集合中随机选择一个第二崩溃文件作为目标崩溃文件,或者选择距离当前最近的生成时间所对应的第二崩溃文件作为目标崩溃文件,从而可以获得崩溃原因彼此不同的待解析的目标崩溃文件。当崩溃文件集合大于预设数量时,可以统计每个崩溃文件集合中的第二崩溃文件数量,并基于第二崩溃文件数量对各个崩溃文件集合进行降序排列,获取排列后的前预设个数的崩溃文件集合,并从获得的前预设个数的每个崩溃文件集合中确定出一个目标崩溃文件,以便对崩溃原因出现次数较多的目标崩溃文件,即具有较高解析价值的目标崩溃文件进行解析,减少目标崩溃文件的数量,进一步提高解析效率。
[0065] 示例性地,若第二崩溃文件的第二文件名称中包含客户端的设备信息和/或用户登录信息,则可以基于客户端的设备信息和/或用户登录信息,对目标时间类别下的各第二崩溃文件进行筛选确定出目标崩溃文件。例如,可以将目标时间类别下指定设备信息和/或指定用户信息所对应的第二崩溃文件确定为目标崩溃文件,以便对该指定设备信息和/或指定用户信息的第二崩溃文件进行解析,从而可以实现筛选方式的多样性以及满足用户个性化需求。
[0066] 示例性地,S230中的对目标崩溃文件进行解析,可以包括:获取目标崩溃文件的文件标识;根据文件标识,确定出目标崩溃文件对应的目标符号表文件;根据目标符号表文件对目标崩溃文件进行解析。
[0067] 其中,文件标识可以是用于唯一表征崩溃文件的标识。对于苹果iOS操作系统,可以将应用软件的每个开发版本对应的通用唯一标识码(Universally Unique Identifier,UUID)作为崩溃文件的文件标识,以便区分不同的崩溃文件。当对一个新的开发版本的应用软件进行打包后,会为该开发版本分配一个通用唯一标识码UUID,同时针对该开发版本会生成一个软件安装文件和符号表文件,从而可以利用该通用唯一标识码UUID作为软件安装文件和符号表文件的文件标识。其中,软件安装文件用于在客户端中安装应用软件。符号表文件,即dSYM文件,可以是在编译后保存16进制函数地址映射信息的中转文件。符号表文件可以用于对崩溃文件进行解密,以使崩溃文件从密文文件转换为明文文件,便于查看具体的崩溃内容。符号表文件存储在服务端中,不会进行外放,是开发人员私有的文件,以保证数据的安全性。
[0068] 需要说明的是,随着应用软件的开发版本的迭代更新,同一个应用软件对应的符号表文件越来越多,从而需要准确地查询出当前开发版本下的应用软件所对应的目标符号表文件,以便利用目标符号表文件可以对该应用软件的崩溃文件进行解析成功。
[0069] 具体地,目标崩溃文件中包含明文的文件标识,从而可以通过命令行的方式获得目标崩溃文件的文件标识。根据文件标识与符号表文件的对应关系和目标崩溃文件的文件标识,可以从多个符号表文件中确定出目标崩溃文件对应的目标符号表文件。例如,若利用通用唯一标识码表征UUID文件标识,则可以从用于存储符号表文件的模块中拉取目标崩溃文件的UUID所对应的目标符号表文件。本实施例可以利用目标符号表文件对目标崩溃文件进行自动解析。例如,服务端可以预先搭载有Mac操作系统,从而可以利用运行在Mac操作系统上的Xcode集成开发工具,通过目标符号表文件对目标崩溃文件进行自动解析,无需人工手动解析,进一步提高了解析效率。
[0070] 示例性地,本实施例中的服务端可以包括第一服务端和第二服务端,以便提高数据处理效率。其中,第一服务端可以为一个转存服务端,用于根据第二文件名称对当前接收到的第二崩溃文件进行时间归类,并在检测到解析触发指令时,对目标时间类别下的各第二崩溃文件进行筛选确定出目标崩溃文件,并将目标崩溃文件发送至第二服务端。第二服务端可以是专用于解析崩溃文件的服务器,用于对第一服务端发送的目标崩溃文件进行自动解析。
[0071] 本实施例的技术方案,服务端可以根据每次接收到的第二崩溃文件的第二文件名称,对第二崩溃文件进行时间归类,并在检测到解析触发指令时,对目标时间类别下的各第二崩溃文件进行筛选确定出目标崩溃文件,并对目标崩溃文件进行解析,从而通过时间归类和对目标时间类别下的各个第二崩溃文件进行筛选的方式,可以对当前具有解析价值的目标崩溃文件进行解析,比如对所属崩溃原因不同的各个目标崩溃文件进行解析,从而可以避免对因同一崩溃原因产生的多个崩溃文件进行多次解析的情况,进而提高了解析效率,以及避免了设备资源的浪费,提高了设备资源利用率。
[0072] 在上述技术方案的基础上,在确定崩溃文件集合中的目标崩溃文件之后,还可以包括:根据目标崩溃文件对应的崩溃文件集合所包含的第二崩溃文件数量,确定目标崩溃文件对应的崩溃原因发生频次;相应地,在S230之后,还可以包括:将解析后的目标崩溃文件和目标崩溃文件对应的崩溃原因发生频次发送至开发人员对应的开发端。
[0073] 其中,崩溃原因发生频次可以是指生成时间段内因同一个崩溃原因出现崩溃现象的次数和/或频率。其中,开发人员可以是指用于分析应用软件的崩溃原因,以便对应用软件进行版本更新的人员。
[0074] 具体地,针对每个目标崩溃文件而言,可以确定出该目标崩溃文件所在的崩溃文件集合包含的第二崩溃文件数量,将第二崩溃文件数量确定为目标崩溃文件对应的崩溃原因发生次数;将第二崩溃文件数量与目标时间类别下的第二崩溃文件总数量的比值确定为目标崩溃文件对应的崩溃原因发生频率。通过将解析后的每个目标崩溃文件和每个目标崩溃文件对应的崩溃原因发生频次发送至开发人员对应的开发端,可以使得开发人员快速分析定位出崩溃原因,并基于崩溃原因发生频次了解到这一崩溃原因的严重程度,从而可以对应用软件进行版本开发,并在开发后将新开发版本对应的应用软件进行上线,以避免应用软件再次因为同一崩溃原因出现异常崩溃情况,进而提高用户体验。
[0075] 在上述技术方案的基础上,第二崩溃文件的第二文件名称还包含应用软件的登录用户信息;相应地,该方法还可以包括:若接收到崩溃文件查询指令,则根据崩溃文件查询指令中的目标用户信息和每个第二崩溃文件的第二文件名称中的登录用户信息,从各第二崩溃文件中查询出目标用户信息对应的第二崩溃文件。
[0076] 其中,崩溃文件查询指令可以是指用于查询目标用户信息的指令。具体地,当用户反馈自己登陆的应用软件出现异常崩溃情况时,可以根据用户反馈的目标用户信息生成崩溃文件查询指令。由于每个第二崩溃文件的第二文件名称中均包含用户登录信息,从而可以基于第二文件名称快速查找到目标用户信息对应的所有第二崩溃文件,并检测查询出每个第二崩溃文件是否已经被解析,若否,则对未解析的第二崩溃文件进行解析,并根据目标用户对应的所有解析后的第二崩溃文件进行统计分析,确定出目标用户所使用的应用软件出现崩溃现象的具体原因,并将该具体原因反馈至目标用户,以使目标用户可以进行了解,提高用户体验。
[0077] 以下是本发明实施例提供的集成于客户端的文件解析装置的实施例,该装置与上述实施例一所提供的文件解析方法属于同一个发明构思,在文件解析装置的实施例中未详尽描述的细节内容,可以参考上述实施例一。
[0078] 实施例三
[0079] 图3为本发明实施例三提供的一种文件解析装置的结构示意图,本实施例可适用于对应用软件的崩溃文件(即crash文件)进行解析的情况。该装置集成于客户端中,具体包括:第一崩溃文件检测模块310、文件名称更新模块320和第二崩溃文件发送模块330。
[0080] 其中,第一崩溃文件检测模块310,用于在应用软件每次启动时,检测系统中是否存在应用软件对应的第一崩溃文件;文件名称更新模块320,用于若存在第一崩溃文件,则根据第一崩溃文件的生成时间,对第一崩溃文件的第一文件名称进行更新,获得第二崩溃文件;第二崩溃文件发送模块330,用于将第二崩溃文件发送至服务端中,以使服务端根据每次接收到的第二崩溃文件的第二文件名称,对第二崩溃文件进行时间归类,并在检测到解析触发指令时,对目标时间类别下的各第二崩溃文件进行筛选确定出目标崩溃文件,并对目标崩溃文件进行解析。
[0081] 可选地,文件名称更新模块320,具体用于:
[0082] 获取应用软件的登录用户信息;根据第一崩溃文件的生成时间和登录用户信息,对第一崩溃文件的第一文件名称进行更新,以使更新后获得的第二崩溃文件的第二文件名称中包含生成时间和登录用户信息。
[0083] 本发明实施例所提供的文件解析装置可执行本发明实施例一所提供的文件解析方法,具备执行文件解析方法相应的功能模块和有益效果。
[0084] 值得注意的是,上述文件解析装置的实施例中,所包括的各个模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
[0085] 以下是本发明实施例提供的集成于服务端的文件解析装置的实施例,该装置与上述实施例二所提供的文件解析方法属于同一个发明构思,在文件解析装置的实施例中未详尽描述的细节内容,可以参考上述实施例二。
[0086] 实施例四
[0087] 图4为本发明实施例四提供的一种文件解析装置的结构示意图,本实施例可适用于对应用软件的崩溃文件(即crash文件)进行解析的情况。该装置集成于服务端中,具体包括:第二崩溃文件接收模块410、第二崩溃文件归类模块420和目标崩溃文件解析模块430。
[0088] 其中,第二崩溃文件接收模块410,用于接收客户端发送的应用软件对应的第二崩溃文件,其中第二崩溃文件的第二文件名称包含第一崩溃文件的生成时间;第二崩溃文件归类模块420,用于根据第二文件名称对当前接收到的第二崩溃文件进行时间归类;目标崩溃文件解析模块430,用于在检测到解析触发指令时,对目标时间类别下的各第二崩溃文件进行筛选确定出目标崩溃文件,并对目标崩溃文件进行解析。
[0089] 可选地,第二崩溃文件归类模块420,具体用于:
[0090] 根据每个时间类别对应的生成时间段以及第二文件名称中的第一崩溃文件的生成时间,确定第二崩溃文件对应的当前时间类别,并将第二崩溃文件添加至当前时间类别中。
[0091] 可选地,目标崩溃文件解析模块430包括:目标崩溃文件确定单元,具体用于:
[0092] 获取目标时间类别下的每个第二崩溃文件中的崩溃线程信息;将崩溃线程信息相同的各个第二崩溃文件进行组合,并将每个组合结果确定为属于同一崩溃原因的崩溃文件集合;根据各崩溃文件集合,确定崩溃文件集合中的目标崩溃文件。
[0093] 可选地,目标崩溃文件解析模块430包括:目标崩溃文件解析单元,具体用于:
[0094] 获取目标崩溃文件的文件标识;根据文件标识,确定出目标崩溃文件对应的目标符号表文件;根据目标符号表文件对目标崩溃文件进行解析。
[0095] 可选地,该装置还包括:
[0096] 崩溃原因发生频次确定模块,用于在确定崩溃文件集合中的目标崩溃文件之后,根据目标崩溃文件对应的崩溃文件集合所包含的第二崩溃文件数量,确定目标崩溃文件对应的崩溃原因发生频次;
[0097] 相应地,该装置还包括:文件发送模块,用于在对目标崩溃文件进行解析之后,将解析后的目标崩溃文件和目标崩溃文件对应的崩溃原因发生频次发送至开发人员对应的开发端。
[0098] 可选地,第二崩溃文件的第二文件名称还包含应用软件的登录用户信息;
[0099] 相应地,该装置还包括:
[0100] 崩溃文件查询模块,用于若接收到崩溃文件查询指令,则根据崩溃文件查询指令中的目标用户信息和每个第二崩溃文件的第二文件名称中的登录用户信息,从各第二崩溃文件中查询出目标用户信息对应的第二崩溃文件。
[0101] 本发明实施例所提供的文件解析装置可执行本发明实施例二所提供的文件解析方法,具备执行文件解析方法相应的功能模块和有益效果。
[0102] 值得注意的是,上述文件解析装置的实施例中,所包括的各个模块和单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
[0103] 实施例五
[0104] 图5是本发明实施例五提供的一种文件解析系统的结构示意图。参见图5,该系统包括:多个客户端510和服务端520。
[0105] 其中,每个客户端510用于如实施例一所提供的文件解析方法步骤;服务端520用于如实施例二所提供的文件解析方法步骤。
[0106] 在本实施例中,每个客户端510与服务端520可以通过网络服务进行通信,从而实现信息的交互。
[0107] 本实施例提供的文件解析系统的工作过程如下:
[0108] 每个客户端510在应用软件每次启动时,检测系统中是否存在应用软件对应的第一崩溃文件;若存在第一崩溃文件,则根据第一崩溃文件的生成时间,对第一崩溃文件的第一文件名称进行更新,获得第二崩溃文件;将第二崩溃文件发送至服务端520中。服务端520根据每次接收到的第二崩溃文件的第二文件名称,对第二崩溃文件进行时间归类,并在检测到解析触发指令时,对目标时间类别下的各第二崩溃文件进行筛选确定出目标崩溃文件,并对目标崩溃文件进行解析,从而可以避免对重复的崩溃文件进行多次解析,提高了解析效率和提高了设备资源利用率。
[0109] 可选地,客户端510还具体用于:获取应用软件的登录用户信息;根据第一崩溃文件的生成时间和登录用户信息,对第一崩溃文件的第一文件名称进行更新,以使更新后获得的第二崩溃文件的第二文件名称中包含生成时间和登录用户信息。
[0110] 可选地,服务端520还具体用于:根据每个时间类别对应的生成时间段以及第二文件名称中的第一崩溃文件的生成时间,确定第二崩溃文件对应的当前时间类别,并将第二崩溃文件添加至当前时间类别中。
[0111] 可选地,服务端520还具体用于:获取目标时间类别下的每个第二崩溃文件中的崩溃线程信息;将崩溃线程信息相同的各个第二崩溃文件进行组合,并将每个组合结果确定为属于同一崩溃原因的崩溃文件集合;根据各崩溃文件集合,确定崩溃文件集合中的目标崩溃文件。
[0112] 可选地,服务端520还具体用于:获取目标崩溃文件的文件标识;根据文件标识,确定出目标崩溃文件对应的目标符号表文件;根据目标符号表文件对目标崩溃文件进行解析。
[0113] 可选地,服务端520还具体用于:在确定崩溃文件集合中的目标崩溃文件之后,根据目标崩溃文件对应的崩溃文件集合所包含的第二崩溃文件数量,确定目标崩溃文件对应的崩溃原因发生频次;相应地,在对目标崩溃文件进行解析之后,将解析后的目标崩溃文件和目标崩溃文件对应的崩溃原因发生频次发送至开发人员对应的开发端。
[0114] 可选地,在第二崩溃文件的第二文件名称还包含应用软件的登录用户信息时,服务端520还具体用于:若接收到崩溃文件查询指令,则根据崩溃文件查询指令中的目标用户信息和每个第二崩溃文件的第二文件名称中的登录用户信息,从各第二崩溃文件中查询出目标用户信息对应的第二崩溃文件。
[0115] 本实施例中的文件解析系统,客户端通过对第一崩溃文件的第一文件名称进行更新,并将更新后获得的第二崩溃文件发送至服务端中,服务端通过根据每次接收到的第二崩溃文件的第二文件名称,对第二崩溃文件进行时间归类,并在检测到解析触发指令时,对目标时间类别下的各第二崩溃文件进行筛选确定出目标崩溃文件,并对目标崩溃文件进行解析,从而通过时间归类和对目标时间类别下的各个第二崩溃文件进行筛选的方式,对当前具有解析价值的目标崩溃文件进行解析,比如对所属崩溃原因不同的各个目标崩溃文件进行解析,从而可以避免对因同一崩溃原因产生的多个崩溃文件进行多次解析的情况,进而提高了解析效率,以及避免了设备资源的浪费,提高了设备资源利用率。
[0116] 实施例六
[0117] 本实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例一所提供的文件解析方法步骤,该方法包括:
[0118] 在应用软件每次启动时,检测系统中是否存在应用软件对应的第一崩溃文件;
[0119] 若存在第一崩溃文件,则根据第一崩溃文件的生成时间,对第一崩溃文件的第一文件名称进行更新,获得第二崩溃文件;
[0120] 将第二崩溃文件发送至服务端中,以使服务端根据每次接收到的第二崩溃文件的第二文件名称,对第二崩溃文件进行时间归类,并在检测到解析触发指令时,对目标时间类别下的各第二崩溃文件进行筛选确定出目标崩溃文件,并对目标崩溃文件进行解析。
[0121] 本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0122] 计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0123] 计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
[0124] 可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0125] 本领域普通技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个计算装置上,或者分布在多个计算装置所组成的网络上,可选地,他们可以用计算机装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件的结合。
[0126] 本发明实施例还提供了另一种计算机可读存储介质,计算机可执行指令在由计算机处理器执行时用于实现如本发明实施例二所提供的一种文件解析方法步骤,该方法包括:
[0127] 接收客户端发送的应用软件对应的第二崩溃文件,其中第二崩溃文件的第二文件名称包含第一崩溃文件的生成时间;
[0128] 根据第二文件名称对当前接收到的第二崩溃文件进行时间归类;
[0129] 在检测到解析触发指令时,对目标时间类别下的各第二崩溃文件进行筛选确定出目标崩溃文件,并对目标崩溃文件进行解析。
[0130] 当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明实施例二所提供的文件解析方法中的相关操作。对存储介质的介绍可参见实施例九中的内容解释。
[0131] 注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈