CN109684123B - 问题资源定位方法、装置、终端及存储介质 - Google Patents
问题资源定位方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- CN109684123B CN109684123B CN201811592573.2A CN201811592573A CN109684123B CN 109684123 B CN109684123 B CN 109684123B CN 201811592573 A CN201811592573 A CN 201811592573A CN 109684123 B CN109684123 B CN 109684123B
- Authority
- CN
- China
- Prior art keywords
- resource
- identifier
- resource identifier
- target folder
- positioning information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
- G06F11/0787—Storage of error reports, e.g. persistent data storage, storage using memory protection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/079—Root cause analysis, i.e. error or fault diagnosis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/366—Software debugging using diagnostics
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Telephonic Communication Services (AREA)
Abstract
本公开是关于一种问题资源定位方法、装置、终端及存储介质,属于网络技术领域。该方法包括:在重启成功时,对目标文件夹进行检测;当该目标文件夹中存储有任一资源标识时,生成问题资源定位信息;向服务器发送该问题资源定位信息。通过在重启成功时,对目标文件夹进行检测,以确认在本次重启前是否因为问题资源引发了崩溃事件,能够将引发客户端异常情况的原因定位到崩溃前所加载的问题资源,降低了技术人员人工排查的范围,节约了技术人员人工排查的时间,提高了对客户端进行优化的效率。
Description
技术领域
本公开涉及网络技术领域,尤其涉及一种问题资源定位方法、装置、终端及存储介质。
背景技术
相关技术中,终端上可以安装有进行多媒体资源处理的客户端,该多媒体资源可以是视频、音频、图片等,例如,该客户端可以用于在视频上添加魔法表情、在图片上添加贴纸等。
在客户端运行期间,通常以调用栈(call stack)的形式执行多个嵌套关系的函数,以实现对多媒体资源的处理。在上述处理过程中,通常需要联网下载各个资源,以获取某种固定处理模式的模型数据和算法参数等,客户端将下载的资源作为输入量,执行与该资源类型对应的函数。例如,以添加魔法表情为例,多个用于添加“耳朵”的不同样式的魔法表情资源,通常对应于同一个添加“耳朵”的函数。当该资源因为兼容性等原因成为问题资源时,由于加载了问题资源会导致客户端崩溃,客户端会根据本次崩溃前所执行的每个函数生成崩溃报告,将该崩溃报告发送至服务器。
在上述过程中,由于崩溃报告中只能显示崩溃前所执行的各个函数,也即是,技术人员根据崩溃报告只能定位出在调用栈中运行到哪一个函数时发生了崩溃,仍需要对与该函数对应的多个资源进行人工排查,才能进一步找到引发崩溃的问题资源,对异常情况的定位精度不高,影响了优化客户端的效率。
发明内容
本公开提供一种问题资源定位方法、装置、终端及存储介质,能够克服对客户端异常情况定位精度不高,影响优化客户端的效率的问题。
根据本公开实施例的第一方面,提供一种问题资源定位方法,包括:
在重启成功时,对目标文件夹进行检测;
当该目标文件夹中存储有任一资源标识时,生成问题资源定位信息,该问题资源定位信息用于指示在加载该资源标识对应的资源时发生崩溃事件;
向服务器发送该问题资源定位信息。
在一种可能实施方式中,当该目标文件夹中存储有任一资源标识时,生成问题资源定位信息包括:
根据该资源标识和该资源标识的存储时间,生成该问题资源定位信息;或,
根据该资源标识和该崩溃事件的发生时间,生成该问题资源定位信息。
在一种可能实施方式中,当该目标文件夹中存储有任一资源标识时,生成问题资源定位信息包括:
根据该资源标识、该资源标识的存储时间和终端标识,生成该问题资源定位信息;或,
根据该资源标识、该崩溃事件的发生时间和终端标识,生成该问题资源定位信息。
在一种可能实施方式中,向服务器发送该问题资源定位信息之后,该方法还包括:
从该目标文件夹中删除该资源标识。
在一种可能实施方式中,该方法还包括:
当接收到资源获取指令时,将该资源获取指令中携带的资源标识存储至该目标文件夹。
在一种可能实施方式中,将该资源获取指令中携带的资源标识存储至该目标文件夹之后,该方法还包括:
当处于前台运行状态时,间隔预设时长后从该目标文件夹中删除该资源标识。
在一种可能实施方式中,将该资源获取指令中携带的资源标识存储至该目标文件夹之后,该方法还包括:
当处于前台运行状态,且接收到新的资源获取指令时,在该目标文件夹中将该资源标识替换为新的资源标识。
在一种可能实施方式中,将该资源获取指令中携带的资源标识存储至该目标文件夹之后,该方法还包括:
当处于前台运行状态,且接收到界面切换指令时,从该目标文件夹中删除该资源标识,该界面切换指令用于指示从当前运行界面切换至任一除了该当前运行界面之外的界面。
在一种可能实施方式中,将该资源获取指令中携带的资源标识存储至该目标文件夹之后,该方法还包括:
当与该资源获取指令对应的资源加载失败时,从该目标文件夹中删除该资源标识。
在一种可能实施方式中,将该资源获取指令中携带的资源标识存储至该目标文件夹之后,该方法还包括:
当切换至后台运行状态时,从该目标文件夹中删除该资源标识。
在一种可能实施方式中,在重启成功时,对目标文件夹进行检测之前,该方法还包括:
在发生该崩溃事件后,根据重启指令进行重启。
根据本公开实施例的第二方面,提供一种问题资源定位方法,包括:
接收问题资源定位信息,该问题资源定位信息包括资源标识,该问题资源定位信息用于指示在加载该资源标识对应的资源时发生崩溃事件;
当检测到该资源标识已被上报过时,为该资源标识的上报次数加一;
当检测到该资源标识没有被上报过时,将该资源标识的上报次数设置为一。
在一种可能实施方式中,该方法还包括:
按照上报次数从大到小的顺序,显示各个资源标识。
在一种可能实施方式中,该方法还包括:
根据终端标识,对该资源标识的上报次数进行分类。
根据本公开实施例的第三方面,提供一种问题资源定位装置,包括:
检测单元,被配置为执行在重启成功时,对目标文件夹进行检测;
生成单元,被配置为执行当该目标文件夹中存储有任一资源标识时,生成问题资源定位信息,该问题资源定位信息用于指示在加载该资源标识对应的资源时发生崩溃事件;
发送单元,被配置为执行向服务器发送该问题资源定位信息。
在一种可能实施方式中,该生成单元还被配置为执行:
根据该资源标识和该资源标识的存储时间,生成该问题资源定位信息;或,
根据该资源标识和该崩溃事件的发生时间,生成该问题资源定位信息。
在一种可能实施方式中,该生成单元还被配置为执行:
根据该资源标识、该资源标识的存储时间和终端标识,生成该问题资源定位信息;或,
根据该资源标识、该崩溃事件的发生时间和终端标识,生成该问题资源定位信息。
在一种可能实施方式中,该装置还包括:
删除单元,被配置为执行从该目标文件夹中删除该资源标识。
在一种可能实施方式中,该装置还包括:
存储单元,被配置为执行当接收到资源获取指令时,将该资源获取指令中携带的资源标识存储至该目标文件夹。
在一种可能实施方式中,该装置还包括:
删除单元,被配置为执行当处于前台运行状态时,间隔预设时长后从该目标文件夹中删除该资源标识。
在一种可能实施方式中,该装置还包括:
替换单元,被配置为执行当处于前台运行状态,且接收到新的资源获取指令时,在该目标文件夹中将该资源标识替换为新的资源标识。
在一种可能实施方式中,该装置还包括:
删除单元,被配置为执行当处于前台运行状态,且接收到界面切换指令时,从该目标文件夹中删除该资源标识,该界面切换指令用于指示从当前运行界面切换至任一除了该当前运行界面之外的界面。
在一种可能实施方式中,该装置还包括:
删除单元,被配置为执行当与该资源获取指令对应的资源加载失败时,从该目标文件夹中删除该资源标识。
在一种可能实施方式中,该装置还包括:
删除单元,被配置为执行当切换至后台运行状态时,从该目标文件夹中删除该资源标识。
在一种可能实施方式中,该装置还包括:
重启单元,被配置为执行在发生该崩溃事件后,根据重启指令进行重启。
根据本公开实施例的第四方面,提供一种问题资源定位装置,包括:
接收单元,被配置为执行接收问题资源定位信息,该问题资源定位信息包括资源标识,该问题资源定位信息用于指示在加载该资源标识对应的资源时发生崩溃事件;
增加单元,被配置为执行当检测到该资源标识已被上报过时,为该资源标识的上报次数加一;
该增加单元,还被配置为执行当检测到该资源标识没有被上报过时,将该资源标识的上报次数设置为一。
在一种可能实施方式中,该装置还包括:
显示单元,被配置为执行按照上报次数从大到小的顺序,显示各个资源标识。
在一种可能实施方式中,该装置还包括:
分类单元,被配置为执行根据终端标识,对该资源标识的上报次数进行分类。
根据本公开实施例的第五方面,提供一种终端,该终端包括:
处理器;
用于存储该处理器可执行指令的存储器;
其中,该处理器被配置为:
在重启成功时,对目标文件夹进行检测;
当该目标文件夹中存储有任一资源标识时,生成问题资源定位信息,该问题资源定位信息用于指示在加载该资源标识对应的资源时发生崩溃事件;
向服务器发送该问题资源定位信息。
根据本公开实施例的第六方面,提供一种服务器,该服务器包括:
处理器;
用于存储该处理器可执行指令的存储器;
其中,该处理器被配置为:
接收问题资源定位信息,该问题资源定位信息包括资源标识,该问题资源定位信息用于指示在加载该资源标识对应的资源时发生崩溃事件;
当检测到该资源标识已被上报过时,为该资源标识的上报次数加一;
当检测到该资源标识没有被上报过时,将该资源标识的上报次数设置为一。
根据本公开实施例的第七方面,提供一种非临时性计算机可读存储介质,当该存储介质中的指令由终端的处理器执行时,使得终端能够执行一种问题资源定位方法,该方法包括:
在重启成功时,对目标文件夹进行检测;
当该目标文件夹中存储有任一资源标识时,生成问题资源定位信息,该问题资源定位信息用于指示在加载该资源标识对应的资源时发生崩溃事件;
向服务器发送该问题资源定位信息。
根据本公开实施例的第八方面,提供一种非临时性计算机可读存储介质,当该存储介质中的指令由服务器的处理器执行时,使得服务器能够执行一种问题资源定位方法,该方法包括:
接收问题资源定位信息,该问题资源定位信息包括资源标识,该问题资源定位信息用于指示在加载该资源标识对应的资源时发生崩溃事件;
当检测到该资源标识已被上报过时,为该资源标识的上报次数加一;
当检测到该资源标识没有被上报过时,将该资源标识的上报次数设置为一。
根据本公开实施例的第九方面,提供一种应用程序,包括一条或多条指令,该一条或多条指令可以由终端的处理器执行时,使得终端能够执行一种问题资源定位方法,该方法包括:
在重启成功时,对目标文件夹进行检测;
当该目标文件夹中存储有任一资源标识时,生成问题资源定位信息,该问题资源定位信息用于指示在加载该资源标识对应的资源时发生崩溃事件;
向服务器发送该问题资源定位信息。
根据本公开实施例的第十方面,提供一种应用程序,包括一条或多条指令,该一条或多条指令可以由服务器的处理器执行时,使得服务器能够执行一种问题资源定位方法,该方法包括:
接收问题资源定位信息,该问题资源定位信息包括资源标识,该问题资源定位信息用于指示在加载该资源标识对应的资源时发生崩溃事件;
当检测到该资源标识已被上报过时,为该资源标识的上报次数加一;
当检测到该资源标识没有被上报过时,将该资源标识的上报次数设置为一。
本公开的实施例提供的技术方案可以包括以下有益效果:
通过在重启成功时,对目标文件夹进行检测,以确认在本次重启前是否因为问题资源引发了崩溃事件,当该目标文件夹中存储有任一资源标识时,生成问题资源定位信息,向服务器发送该问题资源定位信息,能够将引发客户端异常情况的原因定位到崩溃前所加载的问题资源,从而降低了技术人员人工排查的范围,节约了技术人员人工排查的时间,提高了对客户端进行优化的效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种问题资源定位方法的流程图。
图2是根据一示例性实施例示出的一种问题资源定位方法的实施环境示意图。
图3是根据一示例性实施例示出的一种问题资源定位方法的交互流程图。
图4是根据一示例性实施例示出的一种问题资源定位方法的流程图。
图5是根据一示例性实施例示出的一种问题资源定位方法的流程图。
图6是根据一示例性实施例示出的一种问题资源定位装置的框图。
图7是根据一示例性实施例示出的一种问题资源定位装置的框图。
图8是根据一示例性实施例示出的一种终端的逻辑结构框图。
图9是根据一示例性实施例示出的一种服务器的逻辑结构框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种问题资源定位方法的流程图,如图1所示,问题资源定位方法用于终端中,包括以下步骤:
在步骤101中,在重启成功时,对目标文件夹进行检测;
在步骤102中,当该目标文件夹中存储有任一资源标识时,生成问题资源定位信息,该问题资源定位信息用于指示在加载该资源标识对应的资源时发生崩溃事件;
在步骤103中,向服务器发送该问题资源定位信息。
本公开实施例提供的方法,通过在重启成功时,对目标文件夹进行检测,以确认在本次重启前是否因为问题资源引发了崩溃事件,当该目标文件夹中存储有任一资源标识时,生成问题资源定位信息,向服务器发送该问题资源定位信息,能够将引发客户端异常情况的原因定位到崩溃前所加载的问题资源,从而降低了技术人员人工排查的范围,节约了技术人员人工排查的时间,提高了对客户端进行优化的效率。
在一种可能实施方式中,当该目标文件夹中存储有任一资源标识时,生成问题资源定位信息包括:
根据该资源标识和该资源标识的存储时间,生成该问题资源定位信息;或,
根据该资源标识和该崩溃事件的发生时间,生成该问题资源定位信息。
在一种可能实施方式中,当该目标文件夹中存储有任一资源标识时,生成问题资源定位信息包括:
根据该资源标识、该资源标识的存储时间和终端标识,生成该问题资源定位信息;或,
根据该资源标识、该崩溃事件的发生时间和终端标识,生成该问题资源定位信息。
在一种可能实施方式中,向服务器发送该问题资源定位信息之后,该方法还包括:
从该目标文件夹中删除该资源标识。
在一种可能实施方式中,该方法还包括:
当接收到资源获取指令时,将该资源获取指令中携带的资源标识存储至该目标文件夹。
在一种可能实施方式中,将该资源获取指令中携带的资源标识存储至该目标文件夹之后,该方法还包括:
当处于前台运行状态时,间隔预设时长后从该目标文件夹中删除该资源标识。
在一种可能实施方式中,将该资源获取指令中携带的资源标识存储至该目标文件夹之后,该方法还包括:
当处于前台运行状态,且接收到新的资源获取指令时,在该目标文件夹中将该资源标识替换为新的资源标识。
在一种可能实施方式中,将该资源获取指令中携带的资源标识存储至该目标文件夹之后,该方法还包括:
当处于前台运行状态,且接收到界面切换指令时,从该目标文件夹中删除该资源标识,该界面切换指令用于指示从当前运行界面切换至任一除了该当前运行界面之外的界面。
在一种可能实施方式中,将该资源获取指令中携带的资源标识存储至该目标文件夹之后,该方法还包括:
当与该资源获取指令对应的资源加载失败时,从该目标文件夹中删除该资源标识。
在一种可能实施方式中,将该资源获取指令中携带的资源标识存储至该目标文件夹之后,该方法还包括:
当切换至后台运行状态时,从该目标文件夹中删除该资源标识。
在一种可能实施方式中,在重启成功时,对目标文件夹进行检测之前,该方法还包括:
在发生该崩溃事件后,根据重启指令进行重启。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
图2是根据一示例性实施例示出的一种问题资源定位方法的实施环境示意图,如图2所示,在实施环境中,可以包括至少一个终端201和服务器202,在至少一个终端201和服务器202的交互过程中,可以实现对多媒体资源进行处理。
其中,该至少一个终端201上可以安装有客户端,该客户端可以是任一能够提供多媒体资源处理服务的客户端,其中,该多媒体资源可以是视频、音频、图片等,例如,当该客户端为视频处理客户端时,可以通过该客户端为视频添加魔法表情、音频特效以及滤镜等。
其中,该服务器202可以用于为多媒体资源处理过程提供数据存储服务,也即是,可以对经过该客户端处理后的多媒体资源进行存储,并将该多媒体资源与用户标识绑定,从而使得当用户登录客户端时,能够向服务器202发送携带用户标识的访问请求,当服务器202验证通过时,用户即可通过该客户端查看已编辑过的历史多媒体资源。
图3是根据一示例性实施例示出的一种问题资源定位方法的交互流程图,图4是根据一示例性实施例示出的一种问题资源定位方法的流程图,如图3和图4所示,基于上述实施场景,问题资源定位方法用于客户端和服务器的交互过程中,包括以下步骤:
在步骤301中,当客户端接收到资源获取指令时,将该资源获取指令中携带的资源标识存储至目标文件夹。
其中,该资源获取指令可以由目标操作触发,该目标操作可以是对资源图标的点击操作,也可以是语音指令等,该资源获取指令中至少携带该资源标识,该资源标识用于指示唯一标识资源,例如本公开实施例中的第一目标资源,该第一目标资源可以是服务器提供的,用于对多媒体资源进行第一预设处理的资源,该第一目标资源可以包括视频、音频或图片的模型参数和算法参数等,例如,该第一预设处理可以是为视频添加“猫耳”,也可以是为视频添加“狗耳”等,本公开实施例不对该第一预设处理的内容进行具体限定。
其中,该目标文件夹可以是该客户端对应的文件夹,例如基于磁盘的文件系统(disk-based file systems)中位于该客户端的根目录下的任一文件夹,可选地,该目标文件夹可以占用终端存储空间中的内部存储(internal storage)区域,也可以占用终端存储空间中的外部存储(external storage)区域,本公开实施例不对该目标文件夹占用的存储区域进行具体限定。
在对该资源标识进行存储时,可以通过File()构造器在该目标文件夹下创建一个资源标识文件,以安卓系统为例,通过File file=new File(context.getFilesDir(),resourceID)可以创建文件名为resourceID的资源标识文件,其中,该资源标识文件中至少包括该资源标识,可选地,该资源标识文件中还可以包括该资源标识的存储时间。需要说明的是,在存储该资源标识文件时,不能将该资源标识文件存储到缓存文件夹中,以避免当发生崩溃事件后,客户端重启时缓存文件夹被清空,从而不能实现对问题资源的定位。
在上述步骤301中,将该资源标识存储至目标文件夹中,使得当该第一目标资源为问题资源时,能够通过执行下述步骤302-308实现对问题资源的定位。
在步骤302中,客户端根据该资源获取指令,向服务器发送资源获取请求,该资源获取请求用于请求获取第一目标资源。
在上述过程中,客户端可以根据该资源获取指令,生成资源获取请求,并将该资源获取请求发送至服务器,该资源获取请求中可以携带该资源标识,从而能够通过该资源标识唯一指示到该第一目标资源。
在步骤303中,当服务器接收该资源获取请求,向客户端发送该第一目标资源。
在一些实施例中,服务器可以向客户端发送该第一目标资源的压缩包,客户端接收后对该压缩包进行解压,以获取该第一目标资源,从而节约了数据传输过程中所占用的通信资源。
在步骤304中,当客户端接收该第一目标资源,在运行第一目标资源的过程中,发生崩溃事件。
其中,该问题资源为引发崩溃事件的资源,该问题资源可以是兼容性不好,也可以是本身存在bug等,本公开实施例不对该问题资源产生问题的原因进行具体限定。
在上述步骤301-304中,客户端实现了从服务器处加载第一目标资源,当客户端加载完毕后,还可以将加载好的第一目标资源自动应用在当前所处理的多媒体资源中,以完成第一预设处理,也即是,客户端将该第一目标资源中的相应模型参数和算法参数作为输入量,输入到调用栈中与该第一目标资源所对应的函数中,以基于该输入量对多媒体资源执行第一预设处理。其中,在上述资源与函数的对应关系中,通常是多个资源对应于同一个函数,例如,“猫耳”、“狗耳”和“鹿耳”等资源同时对应于对“耳朵”进行处理的函数。以该第一目标资源为“猫耳”资源为例,用户点击“猫耳”图标,触发客户端加载“猫耳”资源,当加载完毕时自动将“猫耳”资源中的模型参数和算法参数输入与“耳朵”对应的函数中,当该函数运行完毕即可在视频中为人物添加“猫耳”,也即实现了第一预设处理。
在一些实施例中,崩溃事件可以发生在第一目标资源加载完毕时,也可以发生在根据该第一目标资源执行函数时,本公开实施例不对该崩溃事件的发生时间进行具体限定。
可选地,在运行第一目标资源的过程中,如果没有发生崩溃事件,还可以执行下述方式一至五中的任一项可能实施方式:
方式一:当客户端处于前台运行状态时,间隔预设时长后从该目标文件夹中删除该资源标识。
当客户端在运行时,分为前台运行状态和后台运行状态,当处于前台运行状态时,认为该客户端为活跃状态,由于崩溃事件并非一定是资源引起的,可以执行上述方式一来对崩溃事件的产生原因进行排除,如果在运行第一目标资源后预设时长内没有发生崩溃事件,则从目标文件夹中删除该资源标识,避免了后续如果发生崩溃事件时,将正常资源当做问题资源误报给服务器,可选地,该预设时长可以是客户端默认的数值,也可以是用户进行个性化重设的数值,该预设时长为正整数,例如,该预设时长为3秒,本公开实施例不对该预设时长的数值进行具体限定。
方式二:当处于前台运行状态,且接收到新的资源获取指令时,在该目标文件夹中将该资源标识替换为新的资源标识。
在上述方式二中,该新的资源获取指令至少携带该新的资源标识,该新的资源标识用于指示第二目标资源,该第二目标资源用于对多媒体资源进行第二预设处理。在一些实施例中,可以仅在预设时长内接收该新的资源获取指令时执行上述方式二,当超过预设时长后先执行上述方式一,从目标文件夹中删除该资源标识,再执行上述步骤301-304所执行的操作,在目标文件夹中存入新的资源标识。
例如,假设预设时长为3秒时,当用户误触了“猫耳”的资源获取指令,客户端会先将“猫耳”资源标识存入目标文件夹,在2秒后用户又触发了真正想加载的“猫胡子”的资源获取指令,当接收“猫胡子”的资源获取指令时,从目标文件夹中将“猫耳”资源标识替换为“猫胡子”资源标识,从而覆盖掉目标文件夹中原有的资源标识。当然,如果用户在5秒后触发“猫胡子”的资源获取指令,客户端会会执行上述方式一所执行的操作,也即是在第3秒删除“猫耳”资源标识,然后在第5秒执行上述步骤201所执行的操作,向目标文件夹中存入“猫胡子”资源标识。
通过上述方式二,由于客户端可以接收到新的资源获取指令后,证明在第一目标资源的运行过程中该客户端没有发生崩溃事件,如果后续发生崩溃事件,不可能是之前运行正常的第一目标资源造成的,因此在目标文件夹中,将已有的资源标识替换为新的资源标识,从而将第一目标资源从崩溃原因中排除,进一步地达到了对问题资源的精准定位。
方式三:当处于前台运行状态,且接收到界面切换指令时,从该目标文件夹中删除该资源标识,该界面切换指令用于指示从当前运行界面切换至任一除了该当前运行界面之外的界面。
在一些实施例中,可以仅在预设时长内接收该界面切换指令时执行上述方式三,当超过预设时长后先执行上述方式一,从目标文件夹中删除该资源标识,再执行上述步骤301-304所执行的操作,在目标文件夹中存入新的资源标识。
例如,假设预设时长为3秒时,当用户误触了“猫耳”的资源获取指令,客户端会先将“猫耳”资源标识存入目标文件夹,在2秒后用户又触发了界面切换指令,从资源处理界面切换至个人主页界面,当接收该界面切换指令时,从目标文件夹中删除“猫耳”资源标识,当然,如果用户在5秒后触发界面切换指令,客户端会执行上述方式一所执行的操作,也即是在第3秒删除“猫耳”资源标识。
通过上述方式三,由于客户端可以接收到界面切换指令,证明在第一目标资源的运行过程中该客户端没有发生崩溃事件,如果后续发生崩溃事件,不可能是之前运行正常的第一目标资源造成的,因此从目标文件夹中删除该资源标识,从而将第一目标资源从崩溃原因中排除,从而提高了定位的准确度。
方式四:当与该资源获取指令对应的资源加载失败时,从该目标文件夹中删除该资源标识。
在上述方式四中,可以是发生了网络故障,导致客户端与服务器断开连接,从而导致资源加载失败,由于客户端对第一目标资源加载失败,当后续发生崩溃事件时,不可能是由第一目标资源引起的,从而删除该资源标识,以避免将正常资源当做问题资源误报给服务器。当然,还可以是由于终端内存不够导致加载失败等,本公开实施例对资源加载失败的原因不进行具体限定。
方式五:当切换至后台运行状态时,从该目标文件夹中删除该资源标识。
在一些实施例中,可以仅在预设时长内切换至后台运行状态时执行上述方式三,当超过预设时长后先执行上述方式一,从目标文件夹中删除该资源标识,再执行上述步骤301-304所执行的操作,在目标文件夹中存入新的资源标识,在此不做赘述。
在上述过程中,由于客户端切换至后台运行状态后,可以认为客户端处于非活跃状态,此时会停止运行第一目标资源,如果客户端在后台运行状态时发生崩溃事件,则不可能是由于运行第一目标资源导致的,因此从目标文件夹中删除该资源标识,从而将第一目标资源从崩溃原因中排除,从而提高了定位的准确度。
通过上述方式一至五,当客户端处于前台运行状态正常运行、接收新的资源获取指令、接收界面切换指令、资源加载失败或者切换至后台运行状态时,均证明在第一目标资源的运行过程中没有发生崩溃事件,因此从目标文件夹中删除该资源标识。从而可以实现仅当第一目标资源的运行过程中发生崩溃事件时,该目标文件夹中的资源标识仍被保留,也即保证了该资源标识仅指示引发本次崩溃事件的问题资源,从而提高了客户端异常的定位精度,缩小了技术人员的排查范围,提高了优化客户端的效率。
可选地,还可以在客户端的运行期间,不执行上述方式一至五中的任一可能实施方式,也即是每当接收资源获取指令时,即存储该资源获取指令携带的资源标识,从而当某一问题资源引发崩溃事件时,保证了该问题资源的资源标识一定存储在目标文件夹中,在减少了客户端运行逻辑的同时,仍然可以缩小技术人员的排查范围,提高了客户端异常的定位精度,提高了优化客户端的效率。
当然,在上述每当接收资源获取指令即存储一次资源标识的情况下,在发生崩溃事件后,还可以按照各个资源标识的存储时间,仅将存储时间最新的资源标识发送至服务器,从而在减少了客户端运行逻辑的同时,缩小了技术人员的排查范围,提高了客户端异常的定位精度,提高了优化客户端的效率。
在步骤305中,在客户端发生崩溃事件后,根据重启指令进行重启。
在上述过程中,可以是在发送崩溃事件后的任一时刻,由于用户再次打开该客户端,从而触发该重启指令执行重启,也可以是在崩溃事件发生后,客户端自动触发重启指令执行重启,本公开实施例不对该重启指令的获取方式进行具体限定。
在步骤306中,在客户端重启成功时,对目标文件夹进行检测。
在一些实施例中,可以根据该目标文件夹的存储路径,访问该目标文件夹,从而检测该目标文件夹中是否存储有任一资源标识,可选地,还可以将该目标文件夹的名称作为索引,对该客户端的根目录进行遍历,当检索到与该目标文件夹的名称相匹配的文件夹时,检测该文件夹是否为空,从而完成对目标文件夹的检测,本公开实施例不对该目标文件夹的检测方式进行具体限定。
在上述过程中,如果不是因为问题资源引发的崩溃,例如因为终端上其他的应用程序占用了中央处理器(CPU,Central Processing Unit)中过多的处理能力,导致终端强制关闭该客户端时,则在目标文件夹中不会检测到资源标识,从而客户端会根据崩溃事件发生前调用栈中执行的各个函数生成崩溃报告,将该崩溃报告发送至服务器。
需要说明的是,本公开实施例仅以在崩溃事件发生后的重启场景为例进行说明,可选地,还可以是在任一重启场景下对该目标文件夹进行检测,例如,用户在关闭客户端后的某一时刻重新打开了该客户端,执行对目标文件夹进行检测的操作,从而能够在减少了客户端运行逻辑的同时,提高了客户端异常的定位精度,提高了优化客户端的效率。
在步骤307中,当该目标文件夹中存储有任一资源标识时,客户端根据该资源标识、该崩溃事件的发生时间和终端标识,生成该问题资源定位信息,该问题资源定位信息用于指示在加载该资源标识对应的资源时发生该崩溃事件。
其中,该终端标识用于标识终端的特征,该终端标识可以包括终端型号、终端操作系统的版本、客户端的版本以及用户标识等,本公开实施例不对该终端标识的内容进行具体限定。
在上述过程中,可以将该问题资源定位信息与基于函数运行情况的崩溃报告绑定发送,从而方便了技术人员同时参考资源定位和函数定位情况,提高了优化效率,还可以对该问题资源定位信息和该崩溃报告进行分别发送,从而方便了服务器对该问题资源的上报情况进行数据分析。
上述步骤307中,是一种生成问题资源定位信息的可能实施方式,而可选地,上述步骤307还可以采用下述方式进行替换:
根据该资源标识、该资源标识的存储时间和终端标识,生成该问题资源定位信息;或,
根据该资源标识和该资源标识的存储时间,生成该问题资源定位信息;或,
根据该资源标识和该崩溃事件的发生时间,生成该问题资源定位信息。
在一些实施例中,还可以仅将该资源标识获取为该问题资源定位信息,从而能够更加快速地为服务器提供反馈,本公开实施例不对该问题资源定位信息中除了该资源标识之外所携带的内容进行具体限定。
在步骤308中,客户端向服务器发送该问题资源定位信息。
在步骤309中,客户端从该目标文件夹中删除该资源标识。
在上述步骤309中,当客户端发送了该问题资源定位信息后,删除该资源标识,从而能够避免由于该第一目标资源之外的原因导致崩溃事件后,仍向服务器发送该问题资源定位信息,避免了服务器侧统计上报次数时的不准确计数,当然,还可以不对该资源标识进行删除,从而节约了客户端的处理能力。
本公开实施例提供的方法,通过在重启成功时,对目标文件夹进行检测,以确认在本次重启前是否因为问题资源引发了崩溃事件,当该目标文件夹中存储有任一资源标识时,生成问题资源定位信息,向服务器发送该问题资源定位信息,能够将引发客户端异常情况的原因定位到崩溃前所加载的问题资源,从而降低了技术人员人工排查的范围,节约了技术人员人工排查的时间,提高了对客户端进行优化的效率,进一步地,由于定位到问题资源,在某些崩溃事件的特殊情况下,没有引起客户端按照调用栈中函数运行情况生成崩溃报告,导致崩溃报告漏报时,仍能向服务器发送问题资源定位信息,从而使得对崩溃事件的统计和处理更加全面,进一步地,根据资源标识、崩溃事件的发生时间和终端标识生成问题资源定位信息,便于了服务器分析崩溃事件是否和某一类终端型号或者某一类客户端版本具有关联性,进一步方便了优化客户端,此外,还可以当客户端处于前台运行状态正常运行、接收新的资源获取指令、接收界面切换指令、资源加载失败或者切换至后台运行状态时,删除该资源标识,从而能够对问题资源实现更加精准的定位。
图5是根据一示例性实施例示出的一种问题资源定位方法的流程图,如图5所示,问题资源定位方法用于服务器中,包括以下步骤:
在步骤501中,服务器接收问题资源定位信息,该问题资源定位信息包括资源标识,该问题资源定位信息用于指示在加载该资源标识对应的资源时发生崩溃事件。
其中,该问题资源定位信息至少包括资源标识,此外,还可以包括资源标识的存储时间、崩溃事件的发生时间以及终端标识,该终端标识中可以包括终端型号、终端操作系统的版本、客户端版本和用户标识等,本公开实施例不对该终端标识的内容进行具体限定。
在上述过程中,可以是服务器接收任一终端发送的任一数据,读取该数据的目标字段,当该目标字段包括任一资源标识时,将该数据确认为问题资源定位信息。
在步骤502中,当服务器检测到该资源标识已被上报过时,为该资源标识的上报次数加一。
该步骤502提供了对已被上报过的资源标识进行次数统计的一种可能实施方式,可选地,当服务器检测到该资源标识没有被上报过时,将该资源标识的上报次数设置为一。
在一些实施例中,当服务器可以根据上报次数维护一个关于资源标识的异常情况表,该异常情况表的每一行用于指示一个资源标识,该异常情况表可以包括至少一个列,当该异常情况表为单列时,该单列用于记录各个资源标识的上报次数,当该异常情况表为多列时,除了记录上报次数之外的列中,每一列还可以用于记录资源标识的存储时间、崩溃事件的发生时间、终端型号、终端操作系统的版本、客户端版本和用户标识等,根据上述步骤501中接收到的问题资源定位信息的不同组成成分,该异常情况表可以具有不同的列数。
可选地,该异常情况表还可以是每一列用于指示一个资源标识,并包括至少一个行,该至少一个行中至少包括用于记录上报次数的行,除了记录上报次数之外的行中,每一行还可以用于记录资源标识的存储时间、崩溃事件的发生时间、终端型号、终端操作系统的版本、客户端版本、用户标识等,本公开实施例不对该异常情况表的形式进行具体限定。
当服务器侧维护有上述异常情况表时,上述步骤502可以是服务器在该异常情况表中进行遍历,查询是否存在与该资源标识相匹配的行或列,当匹配成功时,将相应的上报次数修改为原数值加一后的数值,当匹配失败时,在异常情况表中新建一行或一列,将上报次数设置为一,并将该问题资源定位信息中携带的其他信息记录在表格中。
在步骤503中,服务器按照上报次数从大到小的顺序,显示各个资源标识。
在上述过程中,服务器根据上报次数对各个资源标识进行显示时,可以基于该异常情况表,对每一个被上报过的资源标识都在异常情况表中进行显示,从而获取更加全面的统计信息,可选地,还可以对资源标识的上报次数设置显示阈值,也即当资源标识的上报次数大于该显示阈值时,才对该资源标识进行显示,从而能够进一步消除数据统计中的偶然误差。
当然,在一些实施例中,该异常情况表可以是基于实时统计结果进行更新显示的,也可以是在预设时间间隔后进行更新显示的,该预设时间间隔为正整数,例如该预设时间间隔为1分钟,本公开实施例不对该预设时间间隔进行具体限定。
在步骤504中,服务器根据终端标识,对该资源标识的上报次数进行分类。
在上述步骤504中,服务器在对该资源标识的上报次数进行分类时,可以根据该终端标识中携带的任一信息进行分类,以根据该客户端的版本进行分类为例进行说明,也即统计各个版本的客户端对该资源标识的上报次数,例如对排名第一的资源标识进行分类,统计该资源标识的5000次上报次数中,客户端5.0版本占1000次,客户端5.1版本占3500次,客户端5.2版本占500次等,此时技术人员可以基于该分类结果进行评估,例如认为在客户端5.1版本中该资源标识产生严重漏洞,从而对仍使用5.1版本而没有更新的客户端进行强制更新。
在一些实施例中,还可以根据终端标识中携带的全部信息都进行分类,并对各个信息与上报次数的关系进行线性回归拟合,从而获取各个信息与上报次数的相关度系数R,R为大于等于0且小于等于1的数值,并对相关度系数位于前目标数量的信息进行高亮显示,从而进一步提高了对问题资源进行分析的效率。
本公开实施例提供的方法,通过接收问题资源定位信息,当该资源标识已被上报过时,对上报次数加一,当资源标识未被上报过时,将上报次数设置为一,从而实现了对问题资源的定位和数据统计,以便于技术人员获取各个问题资源引发崩溃事件的次数,从而有针对性的对问题资源进行优化,进一步地,按照上报次数从大到小对资源标识进行显示,可与将问题较为严重的资源标识放在最先显示的位置,进一步地,根据终端标识进行分类,从而能够体现终端标识与上报次数之间的相关度,提高了对问题资源进行分析的效率。
图6是根据一示例性实施例示出的一种问题资源定位装置的框图。参照图6,该装置包括检测单元601,生成单元602和发送单元603:
检测单元601,被配置为执行在重启成功时,对目标文件夹进行检测;
生成单元602,被配置为执行当该目标文件夹中存储有任一资源标识时,生成问题资源定位信息,该问题资源定位信息用于指示在加载该资源标识对应的资源时发生崩溃事件;
发送单元603,被配置为执行向服务器发送该问题资源定位信息。
本公开实施例提供的装置,通过在重启成功时,对目标文件夹进行检测,以确认在本次重启前是否因为问题资源引发了崩溃事件,当该目标文件夹中存储有任一资源标识时,生成问题资源定位信息,向服务器发送该问题资源定位信息,能够将引发客户端异常情况的原因定位到崩溃前所加载的问题资源,从而降低了技术人员人工排查的范围,节约了技术人员人工排查的时间,提高了对客户端进行优化的效率。
在一种可能实施方式中,基于图6的装置组成,该生成单元602还被配置为执行:
根据该资源标识和该资源标识的存储时间,生成该问题资源定位信息;或,
根据该资源标识和该崩溃事件的发生时间,生成该问题资源定位信息。
在一种可能实施方式中,基于图6的装置组成,该生成单元602还被配置为执行:
根据该资源标识、该资源标识的存储时间和终端标识,生成该问题资源定位信息;或,
根据该资源标识、该崩溃事件的发生时间和终端标识,生成该问题资源定位信息。
在一种可能实施方式中,基于图6的装置组成,该装置还包括:
删除单元,被配置为执行从该目标文件夹中删除该资源标识。
在一种可能实施方式中,基于图6的装置组成,该装置还包括:
存储单元,被配置为执行当接收到资源获取指令时,将该资源获取指令中携带的资源标识存储至该目标文件夹。
在一种可能实施方式中,基于图6的装置组成,该装置还包括:
删除单元,被配置为执行当处于前台运行状态时,间隔预设时长后从该目标文件夹中删除该资源标识。
在一种可能实施方式中,基于图6的装置组成,该装置还包括:
替换单元,被配置为执行当处于前台运行状态,且接收到新的资源获取指令时,在该目标文件夹中将该资源标识替换为新的资源标识。
在一种可能实施方式中,基于图6的装置组成,该装置还包括:
删除单元,被配置为执行当处于前台运行状态,且接收到界面切换指令时,从该目标文件夹中删除该资源标识,该界面切换指令用于指示从当前运行界面切换至任一除了该当前运行界面之外的界面。
在一种可能实施方式中,基于图6的装置组成,该装置还包括:
删除单元,被配置为执行当与该资源获取指令对应的资源加载失败时,从该目标文件夹中删除该资源标识。
在一种可能实施方式中,基于图6的装置组成,该装置还包括:
删除单元,被配置为执行当切换至后台运行状态时,从该目标文件夹中删除该资源标识。
在一种可能实施方式中,基于图6的装置组成,该装置还包括:
重启单元,被配置为执行在发生该崩溃事件后,根据重启指令进行重启。
关于上述实施例中的装置,其中各个单元执行操作的具体方式已经在有关该问题资源定位方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图7是根据一示例性实施例示出的一种问题资源定位装置的框图。参照图7,该装置包括接收单元701和增加单元702:
接收单元701,被配置为执行接收问题资源定位信息,该问题资源定位信息包括资源标识,该问题资源定位信息用于指示在加载该资源标识对应的资源时发生崩溃事件;
增加单元702,被配置为执行当检测到该资源标识已被上报过时,为该资源标识的上报次数加一;
该增加单元702,还被配置为执行当检测到该资源标识没有被上报过时,将该资源标识的上报次数设置为一。
本公开实施例提供的装置,通过接收问题资源定位信息,当该资源标识已被上报过时,对上报次数加一,当资源标识未被上报过时,将上报次数设置为一,从而实现了对问题资源的定位和数据统计,以便于技术人员获取各个问题资源引发崩溃事件的次数,从而有针对性的对问题资源进行优化。
在一种可能实施方式中,基于图7的装置组成,该装置还包括:
显示单元,被配置为执行按照上报次数从大到小的顺序,显示各个资源标识。
在一种可能实施方式中,基于图7的装置组成,该装置还包括:
分类单元,被配置为执行根据终端标识,对该资源标识的上报次数进行分类。
图8是根据一示例性实施例示出的一种终端的逻辑结构框图。例如,终端800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图8,终端800可以包括以下一个或多个组件:处理器801和存储器802。
处理器801可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器801可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器801也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器801可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器801还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器802可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器802还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器802中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器801所执行以实现本申请中方法实施例提供的问题资源定位方法。
在一些实施例中,终端800还可选包括有:外围设备接口803和至少一个外围设备。处理器801、存储器802和外围设备接口803之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口803相连。具体地,外围设备包括:射频电路804、触摸显示屏805、摄像头806、音频电路807、定位组件808和电源809中的至少一种。
外围设备接口803可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器801和存储器802。在一些实施例中,处理器801、存储器802和外围设备接口803被集成在同一芯片或电路板上;在一些其他实施例中,处理器801、存储器802和外围设备接口803中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路804用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路804通过电磁信号与通信网络以及其他通信设备进行通信。射频电路804将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路804包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路804可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路804还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏805用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏805是触摸显示屏时,显示屏805还具有采集在显示屏805的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器801进行处理。此时,显示屏805还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏805可以为一个,设置终端800的前面板;在另一些实施例中,显示屏805可以为至少两个,分别设置在终端800的不同表面或呈折叠设计;在再一些实施例中,显示屏805可以是柔性显示屏,设置在终端800的弯曲表面上或折叠面上。甚至,显示屏805还可以设置成非矩形的不规则图形,也即异形屏。显示屏805可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件806用于采集图像或视频。可选地,摄像头组件806包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件806还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路807可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器801进行处理,或者输入至射频电路804以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端800的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器801或射频电路804的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路807还可以包括耳机插孔。
定位组件808用于定位终端800的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件808可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源809用于为终端800中的各个组件进行供电。电源809可以是交流电、直流电、一次性电池或可充电电池。当电源809包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端800还包括有一个或多个传感器810。该一个或多个传感器810包括但不限于:加速度传感器811、陀螺仪传感器812、压力传感器813、指纹传感器814、光学传感器815以及接近传感器816。
加速度传感器811可以检测以终端800建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器811可以用于检测重力加速度在三个坐标轴上的分量。处理器801可以根据加速度传感器811采集的重力加速度信号,控制触摸显示屏805以横向视图或纵向视图进行用户界面的显示。加速度传感器811还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器812可以检测终端800的机体方向及转动角度,陀螺仪传感器812可以与加速度传感器811协同采集用户对终端800的3D动作。处理器801根据陀螺仪传感器812采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器813可以设置在终端800的侧边框和/或触摸显示屏805的下层。当压力传感器813设置在终端800的侧边框时,可以检测用户对终端800的握持信号,由处理器801根据压力传感器813采集的握持信号进行左右手识别或快捷操作。当压力传感器813设置在触摸显示屏805的下层时,由处理器801根据用户对触摸显示屏805的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器814用于采集用户的指纹,由处理器801根据指纹传感器814采集到的指纹识别用户的身份,或者,由指纹传感器814根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器801授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器814可以被设置终端800的正面、背面或侧面。当终端800上设置有物理按键或厂商Logo时,指纹传感器814可以与物理按键或厂商Logo集成在一起。
光学传感器815用于采集环境光强度。在一个实施例中,处理器801可以根据光学传感器815采集的环境光强度,控制触摸显示屏805的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏805的显示亮度;当环境光强度较低时,调低触摸显示屏805的显示亮度。在另一个实施例中,处理器801还可以根据光学传感器815采集的环境光强度,动态调整摄像头组件806的拍摄参数。
接近传感器816,也称距离传感器,通常设置在终端800的前面板。接近传感器816用于采集用户与终端800的正面之间的距离。在一个实施例中,当接近传感器816检测到用户与终端800的正面之间的距离逐渐变小时,由处理器801控制触摸显示屏805从亮屏状态切换为息屏状态;当接近传感器816检测到用户与终端800的正面之间的距离逐渐变大时,由处理器801控制触摸显示屏805从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图8中示出的结构并不构成对终端800的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器802,上述指令可由终端800的处理器801执行以完成上述问题资源定位方法,该方法包括:在重启成功时,对目标文件夹进行检测;当该目标文件夹中存储有任一资源标识时,生成问题资源定位信息,该问题资源定位信息用于指示在加载该资源标识对应的资源时发生崩溃事件;向服务器发送该问题资源定位信息。可选地,上述指令还可以由终端800的处理器801执行以完成上述示例性实施例中所涉及的其他步骤。例如,该非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种应用程序,包括一条或多条指令,该一条或多条指令可以由终端800的处理器801执行,以完成上述问题资源定位方法,该方法包括:在重启成功时,对目标文件夹进行检测;当该目标文件夹中存储有任一资源标识时,生成问题资源定位信息,该问题资源定位信息用于指示在加载该资源标识对应的资源时发生崩溃事件;向服务器发送该问题资源定位信息。可选地,上述指令还可以由终端800的处理器801执行以完成上述示例性实施例中所涉及的其他步骤。
图9是根据一示例性实施例示出的一种服务器的逻辑结构框图,该服务器900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)901和一个或一个以上的存储器902,其中,该存储器902中存储有至少一条指令,该至少一条指令由该处理器901加载并执行以实现上述各个示例性实施例提供的问题资源定位方法,该方法包括:接收问题资源定位信息,该问题资源定位信息包括资源标识,该问题资源定位信息用于指示在加载该资源标识对应的资源时发生崩溃事件;当检测到该资源标识已被上报过时,为该资源标识的上报次数加一;当检测到该资源标识没有被上报过时,将该资源标识的上报次数设置为一。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (31)
1.一种问题资源定位方法,其特征在于,包括:
在发生崩溃事件后重启成功时,对目标文件夹进行检测,所述目标文件夹用于存储资源获取指令中携带的资源标识;
当所述目标文件夹中存储有任一资源标识时,生成问题资源定位信息,所述问题资源定位信息用于指示在加载所述资源标识对应的资源时发生崩溃事件;
向服务器发送所述问题资源定位信息。
2.根据权利要求1所述的问题资源定位方法,其特征在于,所述当所述目标文件夹中存储有任一资源标识时,生成问题资源定位信息包括:
根据所述资源标识和所述资源标识的存储时间,生成所述问题资源定位信息;或,
根据所述资源标识和所述崩溃事件的发生时间,生成所述问题资源定位信息。
3.根据权利要求1所述的问题资源定位方法,其特征在于,所述当所述目标文件夹中存储有任一资源标识时,生成问题资源定位信息包括:
根据所述资源标识、所述资源标识的存储时间和终端标识,生成所述问题资源定位信息;或,
根据所述资源标识、所述崩溃事件的发生时间和终端标识,生成所述问题资源定位信息。
4.根据权利要求1所述的问题资源定位方法,其特征在于,所述向服务器发送所述问题资源定位信息之后,所述方法还包括:
从所述目标文件夹中删除所述资源标识。
5.根据权利要求1所述的问题资源定位方法,其特征在于,所述方法还包括:
当接收到所述资源获取指令时,将所述资源获取指令中携带的资源标识存储至所述目标文件夹。
6.根据权利要求5所述的问题资源定位方法,其特征在于,所述将所述资源获取指令中携带的资源标识存储至所述目标文件夹之后,所述方法还包括:
当处于前台运行状态时,间隔预设时长后从所述目标文件夹中删除所述资源标识。
7.根据权利要求5所述的问题资源定位方法,其特征在于,所述将所述资源获取指令中携带的资源标识存储至所述目标文件夹之后,所述方法还包括:
当处于前台运行状态,且接收到新的资源获取指令时,在所述目标文件夹中将所述资源标识替换为新的资源标识。
8.根据权利要求5所述的问题资源定位方法,其特征在于,所述将所述资源获取指令中携带的资源标识存储至所述目标文件夹之后,所述方法还包括:
当处于前台运行状态,且接收到界面切换指令时,从所述目标文件夹中删除所述资源标识,所述界面切换指令用于指示从当前运行界面切换至任一除了所述当前运行界面之外的界面。
9.根据权利要求5所述的问题资源定位方法,其特征在于,所述将所述资源获取指令中携带的资源标识存储至所述目标文件夹之后,所述方法还包括:
当与所述资源获取指令对应的资源加载失败时,从所述目标文件夹中删除所述资源标识。
10.根据权利要求5所述的问题资源定位方法,其特征在于,所述将所述资源获取指令中携带的资源标识存储至所述目标文件夹之后,所述方法还包括:
当切换至后台运行状态时,从所述目标文件夹中删除所述资源标识。
11.根据权利要求1所述的问题资源定位方法,其特征在于,所述在发生崩溃事件后重启成功时,对目标文件夹进行检测之前,所述方法还包括:
在发生所述崩溃事件后,根据重启指令进行重启。
12.一种问题资源定位方法,其特征在于,包括:
接收问题资源定位信息,所述问题资源定位信息包括资源标识,所述问题资源定位信息用于指示在加载所述资源标识对应的资源时发生崩溃事件;
当检测到所述资源标识已被上报过时,为所述资源标识的上报次数加一;
当检测到所述资源标识没有被上报过时,将所述资源标识的上报次数设置为一。
13.根据权利要求12所述的问题资源定位方法,其特征在于,所述方法还包括:
按照上报次数从大到小的顺序,显示各个资源标识。
14.根据权利要求12所述的问题资源定位方法,其特征在于,所述方法还包括:
根据终端标识,对所述资源标识的上报次数进行分类。
15.一种问题资源定位装置,其特征在于,包括:
检测单元,被配置为执行在发生崩溃事件后重启成功时,对目标文件夹进行检测,所述目标文件夹用于存储资源获取指令中携带的资源标识;
生成单元,被配置为执行当所述目标文件夹中存储有任一资源标识时,生成问题资源定位信息,所述问题资源定位信息用于指示在加载所述资源标识对应的资源时发生崩溃事件;
发送单元,被配置为执行向服务器发送所述问题资源定位信息。
16.根据权利要求15所述的问题资源定位装置,其特征在于,所述生成单元还被配置为执行:
根据所述资源标识和所述资源标识的存储时间,生成所述问题资源定位信息;或,
根据所述资源标识和所述崩溃事件的发生时间,生成所述问题资源定位信息。
17.根据权利要求15所述的问题资源定位装置,其特征在于,所述生成单元还被配置为执行:
根据所述资源标识、所述资源标识的存储时间和终端标识,生成所述问题资源定位信息;或,
根据所述资源标识、所述崩溃事件的发生时间和终端标识,生成所述问题资源定位信息。
18.根据权利要求15所述的问题资源定位装置,其特征在于,所述装置还包括:
删除单元,被配置为执行从所述目标文件夹中删除所述资源标识。
19.根据权利要求15所述的问题资源定位装置,其特征在于,所述装置还包括:
存储单元,被配置为执行当接收到所述资源获取指令时,将所述资源获取指令中携带的资源标识存储至所述目标文件夹。
20.根据权利要求19所述的问题资源定位装置,其特征在于,所述装置还包括:
删除单元,被配置为执行当处于前台运行状态时,间隔预设时长后从所述目标文件夹中删除所述资源标识。
21.根据权利要求19所述的问题资源定位装置,其特征在于,所述装置还包括:
替换单元,被配置为执行当处于前台运行状态,且接收到新的资源获取指令时,在所述目标文件夹中将所述资源标识替换为新的资源标识。
22.根据权利要求19所述的问题资源定位装置,其特征在于,所述装置还包括:
删除单元,被配置为执行当处于前台运行状态,且接收到界面切换指令时,从所述目标文件夹中删除所述资源标识,所述界面切换指令用于指示从当前运行界面切换至任一除了所述当前运行界面之外的界面。
23.根据权利要求19所述的问题资源定位装置,其特征在于,所述装置还包括:
删除单元,被配置为执行当与所述资源获取指令对应的资源加载失败时,从所述目标文件夹中删除所述资源标识。
24.根据权利要求19所述的问题资源定位装置,其特征在于,所述装置还包括:
删除单元,被配置为执行当切换至后台运行状态时,从所述目标文件夹中删除所述资源标识。
25.根据权利要求15所述的问题资源定位装置,其特征在于,所述装置还包括:
重启单元,被配置为执行在发生所述崩溃事件后,根据重启指令进行重启。
26.一种问题资源定位装置,其特征在于,包括:
接收单元,被配置为执行接收问题资源定位信息,所述问题资源定位信息包括资源标识,所述问题资源定位信息用于指示在加载所述资源标识对应的资源时发生崩溃事件;
增加单元,被配置为执行当检测到所述资源标识已被上报过时,为所述资源标识的上报次数加一;
所述增加单元,还被配置为执行当检测到所述资源标识没有被上报过时,将所述资源标识的上报次数设置为一。
27.根据权利要求26所述的问题资源定位装置,其特征在于,所述装置还包括:
显示单元,被配置为执行按照上报次数从大到小的顺序,显示各个资源标识。
28.根据权利要求26所述的问题资源定位装置,其特征在于,所述装置还包括:
分类单元,被配置为执行根据终端标识,对所述资源标识的上报次数进行分类。
29.一种终端,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行以实现如权利要求1至权利要求11任一项所述的问题资源定位方法所执行的操作。
30.一种服务器,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行以实现如权利要求12至权利要求14任一项所述的问题资源定位方法所执行的操作。
31.一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行一种以实现如权利要求1至权利要求11或权利要求12至权利要求14任一项所述的问题资源定位方法所执行的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811592573.2A CN109684123B (zh) | 2018-12-25 | 2018-12-25 | 问题资源定位方法、装置、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811592573.2A CN109684123B (zh) | 2018-12-25 | 2018-12-25 | 问题资源定位方法、装置、终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109684123A CN109684123A (zh) | 2019-04-26 |
CN109684123B true CN109684123B (zh) | 2022-06-24 |
Family
ID=66188317
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811592573.2A Active CN109684123B (zh) | 2018-12-25 | 2018-12-25 | 问题资源定位方法、装置、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109684123B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111026462B (zh) * | 2019-12-10 | 2023-08-29 | 百度在线网络技术(北京)有限公司 | 小程序控制方法、装置、设备和介质 |
CN112463343B (zh) * | 2020-12-16 | 2023-09-26 | 广州博冠信息科技有限公司 | 业务进程的重启方法和装置、存储介质、电子设备 |
CN112732473A (zh) * | 2021-01-12 | 2021-04-30 | 平安资产管理有限责任公司 | 基于数据分层的功能问题定位方法、装置、设备和介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101763418A (zh) * | 2009-12-16 | 2010-06-30 | 中兴通讯股份有限公司 | 一种访问文件资源方法及装置 |
CN102541847A (zh) * | 2010-12-08 | 2012-07-04 | 金蝶软件(中国)有限公司 | 一种资源文件的载入方法、装置及erp系统 |
CN107968811A (zh) * | 2016-10-20 | 2018-04-27 | 法乐第(北京)网络科技有限公司 | 融合本地资源与网络资源的方法、装置及终端设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030056224A1 (en) * | 2001-07-19 | 2003-03-20 | General Instrument Corporation | Method and apparatus for processing transport type B ATVEF data |
-
2018
- 2018-12-25 CN CN201811592573.2A patent/CN109684123B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101763418A (zh) * | 2009-12-16 | 2010-06-30 | 中兴通讯股份有限公司 | 一种访问文件资源方法及装置 |
CN102541847A (zh) * | 2010-12-08 | 2012-07-04 | 金蝶软件(中国)有限公司 | 一种资源文件的载入方法、装置及erp系统 |
CN107968811A (zh) * | 2016-10-20 | 2018-04-27 | 法乐第(北京)网络科技有限公司 | 融合本地资源与网络资源的方法、装置及终端设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109684123A (zh) | 2019-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110674022B (zh) | 行为数据获取方法、装置及存储介质 | |
CN107979851B (zh) | 异常数据上报方法及装置 | |
CN111338910B (zh) | 日志数据处理、显示方法、装置、设备及存储介质 | |
CN108897659B (zh) | 修改日志级别的方法、装置及存储介质 | |
CN109684123B (zh) | 问题资源定位方法、装置、终端及存储介质 | |
CN111897525A (zh) | 大数据处理方法及系统 | |
CN111737100A (zh) | 数据获取方法、装置、设备及存储介质 | |
CN111858382A (zh) | 应用程序测试方法、装置、服务器、系统及存储介质 | |
CN114115647B (zh) | 菜单项调整方法、装置及终端 | |
CN110515962B (zh) | 缓存数据的方法、装置、电子设备及存储介质 | |
CN110825465B (zh) | 日志数据处理方法、装置、电子设备及存储介质 | |
CN109634872B (zh) | 应用测试方法、装置、终端及存储介质 | |
CN114168369A (zh) | 日志显示方法、装置、设备及存储介质 | |
CN108132817B (zh) | 对象管理方法及装置 | |
CN111258683A (zh) | 检测方法、装置、计算机设备及存储介质 | |
CN113591090B (zh) | 程序漏洞的上报方法、装置、设备及存储介质 | |
CN113971123A (zh) | 应用程序测试方法、装置、测试终端和存储介质 | |
CN113268234A (zh) | 页面生成方法、装置、终端和存储介质 | |
CN112000576A (zh) | 代码数据的检测方法、装置、设备及存储介质 | |
CN113099378A (zh) | 定位方法、装置、设备及存储介质 | |
CN113312249A (zh) | 日志数据生成方法、日志数据显示方法及装置 | |
CN107948171B (zh) | 一种用户账号管理的方法和装置 | |
CN113392120A (zh) | 获取SQLite的执行信息的方法及装置 | |
CN110941458A (zh) | 启动应用程序的方法、装置、设备及存储介质 | |
CN113342645B (zh) | 测试业务功能的方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |