CN109522198A - 应用程序的处理方法、装置、电子设备及可读存储介质 - Google Patents
应用程序的处理方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN109522198A CN109522198A CN201811418715.3A CN201811418715A CN109522198A CN 109522198 A CN109522198 A CN 109522198A CN 201811418715 A CN201811418715 A CN 201811418715A CN 109522198 A CN109522198 A CN 109522198A
- Authority
- CN
- China
- Prior art keywords
- log
- crash
- application program
- configuration information
- crash log
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 34
- 238000000034 method Methods 0.000 claims abstract description 37
- 230000006835 compression Effects 0.000 claims description 55
- 238000007906 compression Methods 0.000 claims description 55
- 230000005540 biological transmission Effects 0.000 claims description 52
- 238000012545 processing Methods 0.000 claims description 46
- 238000009434 installation Methods 0.000 claims description 44
- 238000004590 computer program Methods 0.000 claims description 10
- 238000004458 analytical method Methods 0.000 claims description 2
- 230000001737 promoting effect Effects 0.000 abstract 1
- 230000006870 function Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 8
- 238000011156 evaluation Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000003745 diagnosis Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000011022 operating instruction Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开实施例提供了一种应用程序的处理方法、装置、电子设备及可读存储介质。该方法包括:当应用程序崩溃时,将所述应用程序的崩溃日志写入系统内存;将所述崩溃日志发送至服务器,以使所述服务器基于所述崩溃日志解析所述应用程序的崩溃原因。本公开实施例的方案,能够在应用程序崩溃时,将崩溃日志写入系统内存,防止崩溃日志丢失,以便于基于崩溃日志确定崩溃的具体原因,及时根据崩溃的具体原因对应用程序的进行相应处理,有助于提升用户的使用体验。
Description
技术领域
本公开涉及应用程序技术领域,具体而言,本发明涉及一种应用程序的处理方法、装置、电子设备及可读存储介质。
背景技术
随着智能终端设备的普及,各类终端应用程序也开始被大量下载使用,极大的丰富了人们的生活。用户在使用应用程序时可能会出现应用程序崩溃的情况,现有技术中,在应用程序崩溃后,由于应用程序的后台服务器通常无法获取到程序崩溃时的现场信息,从而导致确定崩溃的原因比较困难,使上门调试或远程调试都比较困难,因此,无法很好为用户提供很好的解决方案,影响用户的使用体验。
发明内容
本公开的目的旨在至少能解决上述的技术缺陷之一。本公开所采用的技术方案如下:
第一方面,本公开提供了一种应用程序的处理的方法,该方法包括:
当应用程序崩溃时,将应用程序的崩溃日志写入系统内存;
将崩溃日志发送至服务器,以使服务器基于崩溃日志解析应用程序的崩溃原因。
可选的,将崩溃日志发送至服务器,包括:
将崩溃日志从系统内存中写入指定的日志文件中;
将日志文件发送至服务器。
可选的,将崩溃日志发送至服务器,包括:
当接收到服务器发送的崩溃日志的日志获取请求时,将崩溃日志发送至服务器;或者,
当检测到系统内存中存在崩溃日志时,将崩溃日志发送至服务器;或者,
在重新启动应用程序后,将崩溃日志发送至服务器。
可选的,该方法还包括:
获取应用程序的程序安装包,基于程序安装包进行应用程序的安装;
其中,程序安装包中包括应用程序的日志配置信息,日志配置信息包括以下信息中的至少一项:
日志传输控制信息、日志加密方式、日志压缩方式和业务配置信息;
日志传输控制信息,用于控制将崩溃日志发送至服务器时,崩溃日志的传输数据包的大小;
日志加密方式,用于指示崩溃日志的加密方式;
日志压缩方式,用于指示崩溃日志的压缩方式;
业务配置信息,用于指示需要写入系统内存的崩溃日志所对应的业务类型;
若日志配置信息包括业务配置信息,将应用程序的崩溃日志写入系统内存,包括:
将应用程序的、与业务配置信息对应的业务类型的崩溃日志写入系统内存;
若日志配置信息包括日志传输控制信息、日志加密方式和日志压缩方式中的至少一项,将崩溃日志发送至服务器,包括:
根据日志配置信息对崩溃日志进行处理;
将处理后的崩溃日志发送至服务器。
可选的,程序安装包为应用程序的至少两种版本的安装包中的任一版本的安装包;
其中,不同版本的安装包的大小不同,和/或,不同版本的安装包所对应的日志配置信息不同,和/或,不同版本的安装包所对应的上述方法实现时的代码编程语言不同。
第二方面,本公开提供了一种应用程序的处理的方法,该方法包括:
接收终端设备发送的应用程序的崩溃日志,崩溃日志是在应用程序崩溃时,被终端设备写入系统内存中的日志;
基于崩溃日志解析应用程序的崩溃原因。
可选的,接收终端设备发送的应用程序的崩溃日志,包括:
接收终端设备发送的日志文件,日志文件为终端设备将崩溃日志从系统内存中写入文件时的指定写入文件。
可选的,崩溃日志为终端设备在接收到日志获取请求时发送的日志,或者,为在终端设备检测到系统内存中存在崩溃日志时发送的日志,或者,为在终端设备重新启动应用程序后发送的日志。
可选的,该方法还包括:
发布应用程序的程序安装包,以使终端设备在获取到程序安装包时,基于程序安装包进行应用程序的安装;
其中,程序安装包中包括应用程序的日志配置信息,日志配置信息包括以下信息中的至少一项:
日志传输控制信息、日志加密方式、日志压缩方式和业务配置信息;
日志传输控制信息,用于控制崩溃日志被终端设备发送时,崩溃日志的传输数据包的大小;
日志加密方式,用于指示崩溃日志的加密方式;
日志压缩方式,用于指示崩溃日志的压缩方式;
业务配置信息,用于指定需要写入系统内存的崩溃日志所对应的业务类型;
若日志配置信息包括业务配置信息,接收到的崩溃日志为应用程序的、与业务配置信息对应的业务类型的日志;
若日志配置信息包括日志传输控制信息、日志加密方式和日志压缩方式中的至少一项,接收到的崩溃日志为终端设备根据日志配置信息进行相应处理后得到的日志。
可选的,程序安装包为应用程序的至少两种版本的安装包中的任一版本的安装包;
其中,不同版本的安装包的大小不同,和/或,不同版本的日志配置信息不同,和/或,不同版本的安装包所对应的上述方法实现时的代码编程语言不同。
第三方面,本公开提供了一种应用程序的处理装置,该装置包括:
崩溃日志写入模块,用于当应用程序崩溃时,将应用程序的崩溃日志写入系统内存;
崩溃日志发送模块,用于将崩溃日志发送至服务器,以使服务器基于崩溃日志解析应用程序的崩溃原因。
可选的,崩溃日志发送模块具体用于:
将崩溃日志从系统内存中写入指定的日志文件中;
将日志文件发送至服务器。
可选的,崩溃日志发送模块具体用于:
当接收到服务器发送的崩溃日志的日志获取请求时,将崩溃日志发送至服务器;或者,
当检测到系统内存中存在崩溃日志时,将崩溃日志发送至服务器;或者,
在重新启动应用程序后,将崩溃日志发送至服务器。
可选的,该装置还包括:
应用程序安装模块,用于获取应用程序的程序安装包,基于程序安装包进行应用程序的安装;
其中,程序安装包中包括应用程序的日志配置信息,日志配置信息包括以下信息中的至少一项:
日志传输控制信息、日志加密方式、日志压缩方式和业务配置信息;
日志传输控制信息,用于控制将崩溃日志发送至服务器时,崩溃日志的传输数据包的大小;
日志加密方式,用于指示崩溃日志的加密方式;
日志压缩方式,用于指示崩溃日志的压缩方式;
业务配置信息,用于指示需要写入系统内存的崩溃日志所对应的业务类型;
若日志配置信息包括业务配置信息,崩溃日志写入模块在将应用程序的崩溃日志写入系统内存时,具体用于:
将应用程序的、与业务配置信息对应的业务类型的崩溃日志写入系统内存;
若日志配置信息包括日志传输控制信息、日志加密方式和日志压缩方式中的至少一项,崩溃日志发送模块在将崩溃日志发送至服务器时,具体用于:
根据日志配置信息对崩溃日志进行处理;
将处理后的崩溃日志发送至服务器。
可选的,程序安装包为应用程序的至少两种版本的安装包中的任一版本的安装包;
其中,不同版本的安装包的大小不同,和/或,不同版本的安装包所对应的日志配置信息不同,和/或,不同版本的安装包所对应的上述装置实现时的代码编程语言不同。
第四方面,本公开提供了一种应用程序的处理装置,该装置包括:
崩溃日志接收模块,用于接收终端设备发送的应用程序的崩溃日志,崩溃日志是在应用程序崩溃时,被终端设备写入系统内存中的日志;
崩溃原因解析模块,用于基于崩溃日志解析应用程序的崩溃原因。
可选的,崩溃日志接收模块具体用于:
接收终端设备发送的日志文件,日志文件为终端设备将崩溃日志从系统内存中写入文件时的指定写入文件。
可选的,崩溃日志为终端设备在接收到日志获取请求时发送的日志,或者,为在终端设备检测到系统内存中存在崩溃日志时发送的日志,或者,为在终端设备重新启动应用程序后发送的日志。
可选的,该装置还包括:
程序安装包发布模块,用于发布应用程序的程序安装包,以使终端设备在获取到程序安装包时,基于程序安装包进行应用程序的安装;
其中,程序安装包中包括应用程序的日志配置信息,日志配置信息包括以下信息中的至少一项:
日志传输控制信息、日志加密方式、日志压缩方式和业务配置信息;
日志传输控制信息,用于控制崩溃日志被终端设备发送时,崩溃日志的传输数据包的大小;
日志加密方式,用于指示崩溃日志的加密方式;
日志压缩方式,用于指示崩溃日志的压缩方式;
业务配置信息,用于指定需要写入系统内存的崩溃日志所对应的业务类型;
若日志配置信息包括业务配置信息,接收到的崩溃日志为应用程序的、与业务配置信息对应的业务类型的日志;
若日志配置信息包括日志传输控制信息、日志加密方式和日志压缩方式中的至少一项,接收到的崩溃日志为终端设备根据日志配置信息进行相应处理后得到的日志。
可选的,程序安装包为应用程序的至少两种版本的安装包中的任一版本的安装包;
其中,不同版本的安装包的大小不同,和/或,不同版本的日志配置信息不同,和/或,不同版本的安装包所对应的上述装置实现时的代码编程语言不同。
第五方面,本公开提供了一种电子设备,该电子备包括:处理器和存储器;
存储器,用于存储操作指令;
处理器,用于通过调用操作指令,执行如本公开的第一方面的任一实施方式中所示的应用程序的处理方法。
第六方面,本公开提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开的第一方面的任一实施方式中所示的应用程序的处理方法。
本公开实施例提供的技术方案带来的有益效果是:
本公开实施例的方案,能够在应用程序崩溃时,将崩溃日志写入系统内存,防止崩溃日志丢失,以便于基于崩溃日志确定崩溃的具体原因,及时根据崩溃的具体原因对应用程序进行相应处理,有助于提升用户的使用体验。
附图说明
为了更清楚地说明本公开实施例中的技术方案,下面将对本公开实施例描述中所需要使用的附图作简单地介绍。
图1为本公开实施例提供的一种应用程序的处理方法的流程示意图;
图2为本公开实施例提供的另一种应用程序的处理方法的流程示意图;
图3为本公开实施例提供的一种应用程序的处理装置的结构示意图;
图4为本公开实施例提供的另一种应用程序的处理装置的结构示意图;
图5为本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
下面详细描述本公开的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本公开,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本公开的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。
目前,终端设备上的应用程序在使用中可能会存在应用程序崩溃的情况,尤其是一些测试版的应用程序,比如直播类应用程序中针对主播的测试版,应用程序崩溃后,存于应用程序内存内的、能够反映崩溃情况的崩溃日志也会丢失,导致无法直接上报并进行处理。如果为了获取崩溃情况而采用现场调试或者远程调试方式,其效率过于低下,并不能满足实际的使用需求,因此,如何在应用程序崩溃后获取崩溃情况,及时分析崩溃发生原因并进行相应的处理,成为了一个亟待解决的技术问题。
本公开提供的应用程序的处理方法、装置、电子设备和计算机可读存储介质,旨在解决现有技术的如上技术问题。
下面以具体地实施例对本公开的技术方案以及本公开的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本公开的实施例进行描述。
本公开实施例提供了一种应用程序的处理方法,如图1所示,该方法包括:
步骤S110:当应用程序崩溃时,将应用程序的崩溃日志写入系统内存;
步骤S120:将崩溃日志发送至服务器,以使服务器基于崩溃日志解析应用程序的崩溃原因。
本公开实施例中,崩溃日志是在应用程序崩溃时记录的日志信息。这些日志信息有助于了解应用程序崩溃的具体原因,以便根据崩溃原因对应用程序进行相应处理。
本公开实施例中,系统内存指的是终端设备的运行内存,应用内存指的是一个应用程序运行时所占用的运行内存。目前的崩溃日志一般都是写入到应用内存内的文件里,一旦应用程序崩溃,应用内存内的崩溃日志就会丢失,而本公开实施例中将应用程序的崩溃日志写入系统内存中的一个特定区域,该特定区域独立于应用内存,在应用程序崩溃或者应用程序的进程被杀掉时不受影响。这样能够防止崩溃日志的丢失,并能够在需要时将崩溃日志上报至服务器。
本公开实施例中,服务器接收到崩溃日志后,可以基于崩溃日志所反映的崩溃的具体情况,确定崩溃原因,进而可以依据崩溃原因采取措施,解决应用程序中存在的导致崩溃的问题。例如,在崩溃原因是由于程序本身的缺陷(bug)导致时,可以基于崩溃原因改进应用程序的程序安装包,使得应用程序基于改进后的程序安装包进行更新或重新安装后,应用程序中存在的导致崩溃的问题能够被消除。又例如,崩溃原因是由于用户的终端设备本身的一些配置信息的设置(该设置可以是对于应用程序的设置,也可以是对终端设备中其它硬件或软件的设置等)导致时,此时则可以根据崩溃原因,远程指导终端设备的用户进行终端设备的设置调整,或者由维修人员上门进行处理调试,以消除导致应用程序崩溃的问题,与现场排查崩溃原因相比,可以大大缩短处理时间,提高处理效率。
在实际应用中,服务器接收到崩溃日志后,管理员可以通过自己的终端设备在线预览崩溃日志或者下载崩溃日志,并可以通过运行日志诊断工具或者由技术人员人工进行日志分析,从而确定出程序的崩溃原因。
本公开实施例提供的应用程序处理方法,能够在应用程序崩溃时,将崩溃日志写入系统内存,防止崩溃日志丢失,以便基于崩溃日志确定崩溃的具体原因,及时根据崩溃的具体原因对应用程序进行处理,有助于提升用户的使用体验。
本公开实施例中,上述步骤S120中,将崩溃日志发送至服务器,可以包括:
将崩溃日志从系统内存中写入指定的日志文件中;
将日志文件发送至服务器。
在需要将系统内存中的崩溃日志发送给服务器时,需要将系统内存中的崩溃日志写入到文件中,在实际应用中,可以预先指定写入系统内存中的崩溃日志所要写入的日志文件,在需要发送崩溃日志或者需要将系统内存中的数据读出时,则可以将崩溃日志写入到该指定的日志文件中。
本公开实施例中,上述步骤S120中,将崩溃日志发送至服务器,可以包括:
当接收到服务器发送的崩溃日志的日志获取请求时,将崩溃日志发送至服务器;或者,
当检测到系统内存中存在崩溃日志时,将崩溃日志发送至服务器;或者,
在重新启动应用程序后,将崩溃日志发送至服务器。
本公开实施例中的一种实施方案中,可以依据服务器对崩溃日志的日志获取请求,上报崩溃日志,服务器可以根据需要确定具体需要获取哪些终端设备的崩溃日志,针对这些终端设备发送日志获取请求,例如,可以向特定用户的终端设备发送日志获取请求,以获取特定用户的终端设备的崩溃日志。又例如,可以向安装特定版本应用程序的终端设备发送日志获取请求,以获取安装特定版本应用程序的终端设备的崩溃日志。
另一种实施方案中,可以由终端设备来检测系统内存中的崩溃日志,在系统内存中存在崩溃日志时主动上报至服务器。
又一种实施方案中,可以在崩溃后的应用程序重新启动后,将系统内存中的崩溃日志主动上报至服务器。
本公开实施例中,该方法还包括:
获取应用程序的程序安装包,基于程序安装包进行应用程序的安装。
其中,程序安装包中包括应用程序的日志配置信息,日志配置信息包括以下信息中的至少一项:
日志传输控制信息、日志加密方式、日志压缩方式和业务配置信息;
日志传输控制信息,用于控制将崩溃日志发送至服务器时,崩溃日志的传输数据包的大小;
日志加密方式,用于指示崩溃日志的加密方式;
日志压缩方式,用于指示崩溃日志的压缩方式;
业务配置信息,用于指示需要写入系统内存的崩溃日志所对应的业务类型;
若日志配置信息包括业务配置信息,将应用程序的崩溃日志写入系统内存,包括:
将应用程序的、与业务配置信息对应的业务类型的崩溃日志写入系统内存;
若日志配置信息包括日志传输控制信息、日志加密方式和日志压缩方式中的至少一项,将崩溃日志发送至服务器,包括:
根据日志配置信息对崩溃日志进行处理;
将处理后的崩溃日志发送至服务器。
本公开实施例中,程序安装包内可以预配置日志配置信息,开发者可以通过预配置的日志配置信息,指示对待发送至服务器的崩溃日志的处理方式,和/或,指示需要写入系统内存的崩溃日志所对应的业务类型。
具体而言,可以通过预配置日志传输控制信息来控制崩溃日志的传输数据包的大小。日志文件上传时,会以传输数据包的形式上传,传输数据包的大小可以基于所处网络环境下的上行带宽预配置,避免在崩溃日志上报时占用过多的带宽。例如,在3G或4G的网络情况下,一个设备的上行带宽通常为100k,可以预配置单个传输数据包的大小为50k,由此避免终端设备上报崩溃日志时占用过多的带宽。
可以通过预配置日志加密方式指示对崩溃日志进行加密的加密方式,由于崩溃日志的内容可能会比较敏感,为保证用户隐私,可以将上报的崩溃日志加密,防止数据泄露。具体而言,加密的方式可以包括对崩溃日志的内容进行加密,和/或,对崩溃日志对应的传输数据包进行加密,而具体的加密算法可以根据实际需求配置。
可以通过预配置日志压缩方式指示对崩溃日志进行压缩时的压缩方式,由于崩溃日志的上报会耗费一定的流量,对于对耗费流量较为敏感的用户,为了减少流量耗费,也为了更快的上报,可以对崩溃日志进行压缩。具体实施中,压缩的具体方式可以为对崩溃日志的内容的压缩,也可以为对崩溃日志所在的日志文件的压缩,而具体的压缩算法可以根据实际需要配置。
可以通过预配置业务配置信息来指示需要写入系统内存的崩溃日志对应的业务类型,具体实施中,应用程序中可以有多种的业务类型,实际使用中可能会存在需要对应用程序的指定的业务类型进行崩溃监控的情况,这时可以采取只获取指定的业务类型对应的崩溃日志的方式,具体而言,可以通过业务配置信息指定业务类型,仅将指定的业务类型对应的崩溃日志写入系统内存,避免上传不必要的日志信息,减小数据传输量。
例如,一种直播应用程序,其业务类型包括:直播业务、短视频业务以及用户个人业务,若指定的业务类型为直播业务,则可以仅将直播业务对应的崩溃日志写入系统内存。
其中,用户个人业务,指的是与某个或某些特定用户的业务,例如,在实际应用中,只需要获取某个或某些指定用户的所对应的崩溃日志,则可以在业务配置信息中配置这些用户的标识信息,实现只对这些指定用户所对应的崩溃日志的获取,其中,用户的标识信息可以是用户的身份标识(Identity,ID)、应用程序账号、等级等信息。如在一方案中,业务配置信息中包括应用程序账号,则只有这些应用程序账号的用户所对应的应用程序的崩溃日志需要上报,通过该方式,可以实现对指定用户所对应的崩溃日志的回捞。
本公开实施例中,程序安装包为应用程序的至少两种版本的安装包中的任一版本的安装包;
其中,不同版本的安装包的大小不同,和/或,不同版本的安装包所对应的日志配置信息不同,和/或,不同版本的安装包所对应的方法实现时的代码编程语言不同。
在实际使用中,应用程序可以有功能完善程度不同多种版本,相应的各版本安装包的大小也可以不同,例如:体积较大、功能较完善的标准版,以及体积较小、功能较为精简的极速版。
用户可以根据自己的喜好或者终端设备的具体情况,来选择具体的安装包版本。例如,用户如果对应用程序体积较为敏感,可以选择极速版;如果用户使用的终端设备处理能力较差、内存较小,也可以选择极速版。
对应于不同的应用程序版本,实现上述处理方法的代码编程语言也可以不同,例如,在极速版应用程序的安装包中,上述处理方法所对应的应用程序代码的编程语言可以为java,采用java编写的实现上述处理方法所对应的应用程序代码的体积较小,所实现的功能也较为精简,这样可以减少对终端设备的存储空间以及处理能力的要求。而在标准版应用程序的安装包中,上述处理方法所对应的应用程序代码的代码编程语言可以为c++,基于c++将上述处理方法所对应的应用程序代码打包为.so库,该.so库相较于编程语言为java的版本体积较大,功能也较为完善,具有更好的用户体验。
对应于不同的应用程序版本,日志配置信息也可以有不同的版本,以使不同版本的应用程序可以对应不同的崩溃日志处理方式,和/或,不同版本的应用程序所需要发送至服务器的崩溃日志所对应的业务类型不同。例如,选择安装极速版应用程序的用户,可以推断其对流量也较为敏感,因此,可以在极速版应用程序对应的程序安装包内配置日志压缩方式,以使终端设备在上报崩溃日志时,会根据该日志压缩方式对日志进行压缩,将压缩后的日志再上报,从而减少了日志上报时耗费的流量。
本公开实施例还提供了一种应用程序的处理方法,如图2所示,该方法包括:
步骤S210:接收终端设备发送的应用程序的崩溃日志,崩溃日志是在应用程序崩溃时,被终端设备写入系统内存中的日志;
步骤S220:基于崩溃日志解析应用程序的崩溃原因。
本公开实施例中,崩溃日志是终端设备在应用程序崩溃时记录的日志信息。这些日志信息有助于了解应用程序崩溃的具体原因,以便根据崩溃原因对应用程序进行相应处理。
本公开实施例中,系统内存指的是终端设备的运行内存,应用内存指的是一个应用程序运行时所占用的运行内存。目前的崩溃日志一般都是写入到应用内存内的文件里,一旦应用程序崩溃,应用内存内的崩溃日志就会丢失,而本公开实施例中将应用程序的崩溃日志写入系统内存中的一个特定区域,该特定区域独立于应用内存,在应用程序崩溃或者应用程序的进程被杀掉时不受影响。这样能够防止崩溃日志的丢失,并能够在需要时将崩溃日志上报至服务器。
本公开实施例中,服务器接收到崩溃日志后,可以基于崩溃日志所反映的崩溃的具体情况,确定崩溃原因,进而可以依据崩溃原因采取措施,解决应用程序中存在的导致崩溃的问题。例如,在崩溃原因是由于程序本身的bug导致时,可以基于崩溃原因改进应用程序的程序安装包,使得应用程序基于改进后的程序安装包进行更新或重新安装后,应用程序中存在的导致崩溃的问题能够被消除。又例如,崩溃原因是由于用户的终端设备本身的一些配置信息的设置(该设置可以是对于应用程序的设置,也可以是对终端设备中其它硬件或软件的设置等)导致时,此时则可以根据崩溃原因,远程指导终端设备的用户进行终端设备的设置调整,或者由维修人员上门进行处理调试,以消除导致应用程序崩溃的问题,与现场排查崩溃原因相比,可以大大缩短处理时间,提高处理效率。
在实际应用中,服务器接收到崩溃日志后,管理员可以通过自己的终端设备在线预览崩溃日志或者下载崩溃日志,并可以通过运行日志诊断工具或者由技术人员人工进行日志分析,从而确定出程序的崩溃原因。
本公开实施例提供的应用程序处理方法,能够在应用程序崩溃时,将崩溃日志写入系统内存,防止崩溃日志丢失,以便基于崩溃日志确定崩溃的具体原因,及时根据崩溃的具体原因对应用程序进行处理,有助于提升用户的使用体验。
本公开实施例中,上述步骤S210中,接收终端设备发送的应用程序的崩溃日志,包括:
接收终端设备发送的日志文件,日志文件为终端设备将崩溃日志从系统内存中写入文件时的指定写入文件。
在终端设备需要将系统内存中的崩溃日志发送给服务器时,需要将系统内存中的崩溃日志写入到文件中,在实际应用中,可以预先指定写入系统内存中的崩溃日志所要写入的日志文件,在终端设备需要发送崩溃日志或者需要将系统内存中的数据读出时,则可以将崩溃日志写入到该指定的日志文件中。
本公开实施例中,崩溃日志为终端设备在接收到日志获取请求时发送的日志,或者,为在终端设备检测到系统内存中存在崩溃日志时发送的日志,或者,为在终端设备重新启动应用程序后发送的日志。
本公开实施例中的一种实施方案中,服务器可以发出崩溃日志的日志获取请求,终端设备基于接收到的日志获取请求上报崩溃日志。在实际应用中,服务器可以根据需要确定具体需要获取哪些终端设备的崩溃日志,针对这些终端设备发送日志获取请求,例如,可以向特定用户的终端设备发送日志获取请求,以获取特定用户的终端设备的崩溃日志。又例如,可以向安装特定版本应用程序的终端设备发送日志获取请求,以获取安装特定版本应用程序的终端设备的崩溃日志。
另一种实施方案中,终端设备可以检测系统内存中的崩溃日志,在系统内存中存在崩溃日志时主动上报至服务器。
又一种实施方案中,终端设备可以在崩溃后的应用程序重新启动后,将系统内存中的崩溃日志主动上报至服务器。
本公开实施例中,该方法还包括:
步骤S200(图中未示出):发布应用程序的程序安装包,以使终端设备在获取到程序安装包时,基于程序安装包进行应用程序的安装。
其中,程序安装包中包括应用程序的日志配置信息,日志配置信息包括以下信息中的至少一项:
日志传输控制信息、日志加密方式、日志压缩方式和业务配置信息;
日志传输控制信息,用于控制崩溃日志被终端设备发送时,崩溃日志的传输数据包的大小;
日志加密方式,用于指示崩溃日志的加密方式;
日志压缩方式,用于指示崩溃日志的压缩方式;
业务配置信息,用于指定需要写入系统内存的崩溃日志所对应的业务类型;
若日志配置信息包括业务配置信息,接收到的崩溃日志为应用程序的、与业务配置信息对应的业务类型的日志;
若日志配置信息包括日志传输控制信息、日志加密方式和日志压缩方式中的至少一项,接收到的崩溃日志为终端设备根据日志配置信息进行相应处理后得到的日志。
本公开实施例中,服务器发布的程序安装包内可以预配置日志配置信息,开发者可以通过预配置的日志配置信息,指示对待发送至服务器的崩溃日志的处理方式,和/或,指示需要写入系统内存的崩溃日志所对应的业务类型。
具体而言,可以通过预配置日志传输控制信息来控制崩溃日志的传输数据包的大小。日志文件上传时,会以传输数据包的形式上传,传输数据包的大小可以基于所处网络环境下的上行带宽预配置,避免在崩溃日志上报时占用过多的带宽。例如,在3G或4G的网络情况下,一个设备的上行带宽为100k,可以预配置单个传输数据包的大小为50k,由此避免终端设备上报崩溃日志时占用过多的带宽。
可以通过预配置日志加密方式指示对崩溃日志进行加密的加密方式,由于崩溃日志的内容可能会比较敏感,为保证用户隐私,可以将上报的崩溃日志加密,防止数据泄露。具体而言,加密的方式可以包括对崩溃日志的内容进行加密,和/或,对崩溃日志对应的传输数据包进行加密,而具体的加密算法可以根据实际需求配置。
可以通过预配置日志压缩方式指示对崩溃日志进行压缩时的压缩方式,由于崩溃日志的上报会耗费一定的流量,对于对耗费流量较为敏感的用户,为了减少流量耗费,也为了更快的上报,可以对崩溃日志进行压缩。具体实施中,压缩的具体方式可以为对崩溃日志的内容的压缩,也可以为对崩溃日志所在的日志文件的压缩。
可以通过预配置业务配置信息来指示需要写入系统内存的崩溃日志对应的业务类型,具体实施中,应用程序中可以有多种的业务类型,实际使用中可能会存在需要对应用程序的指定的业务类型进行崩溃监控的情况,这时可以采取只获取指定的业务类型对应的崩溃日志的方式,具体而言,可以通过业务配置信息指定业务类型,仅将指定的业务类型对应的崩溃日志写入系统内存,避免上传不必要的日志信息,减小数据传输量。
例如,一种直播应用程序,其业务类型包括:直播业务、短视频业务以及用户个人信息业务,若指定的业务类型为直播业务,则可以仅将直播业务对应的崩溃日志写入系统内存。
其中,用户个人业务,指的是与某个或某些特定用户的业务,例如,在实际应用中,只需要获取某个或某些指定用户的所对应的崩溃日志,则可以在业务配置信息中配置这些用户的标识信息,实现只对这些指定用户所对应的崩溃日志的获取,其中,用户的标识信息可以是用户的身份标识(Identity,ID)、应用程序账号、等级等信息。如在一方案中,业务配置信息中包括应用程序账号,则只有这些应用程序账号的用户所对应的应用程序的崩溃日志需要上报,通过该方式,可以实现对指定用户所对应的崩溃日志的回捞。
本公开实施例中,程序安装包为应用程序的至少两种版本的安装包中的任一版本的安装包;
其中,不同版本的安装包的大小不同,和/或,不同版本的安装包所对应的日志配置信息不同,和/或,不同版本的安装包所对应的方法实现时的代码编程语言不同。
在实际使用中,应用程序可以有功能完善程度不同多种版本,相应的各版本安装包的大小也可以不同,例如:体积较大、功能较完善的标准版,以及体积较小、功能较为精简的极速版。
用户可以根据自己的喜好或者终端设备的具体情况,来选择具体的安装包版本。例如,用户如果对应用程序体积较为敏感,可以选择极速版;如果用户使用的终端设备处理能力较差、内存较小,也可以选择极速版。
对应于不同的应用程序版本,实现上述处理方法的代码编程语言也可以不同,例如,在极速版应用程序的安装包中,上述处理方法所对应的应用程序代码的编程语言可以为java,采用java编写的实现上述处理方法所对应的应用程序代码的体积较小,所实现的功能也较为精简,这样可以减少对终端设备的存储空间以及处理能力的要求。而在标准版应用程序的安装包中,上述处理方法所对应的应用程序代码的代码编程语言可以为c++,基于c++将上述处理方法所对应的应用程序代码打包为.so库,该.so库相较于编程语言为java的版本体积较大,功能也较为完善,具有更好的用户体验。
对应于不同的应用程序版本,日志配置信息也可以有不同的版本,以使不同版本的应用程序可以对应不同的崩溃日志处理方式,和/或,不同版本的应用程序所需要发送至服务器的崩溃日志所对应的业务类型不同。例如,选择安装极速版应用程序的用户,可以推断其对流量也较为敏感,因此,可以在极速版应用程序对应的程序安装包内配置日志压缩方式,以使终端设备在上报崩溃日志时,会根据该日志压缩方式对日志进行压缩,将压缩后的日志再上报,从而减少了日志上报时耗费的流量。
可以理解的是,图1中所示的方法与图2中所示的方法的原理是系统的,只是图1中所示的方法是从终端设备侧进行描述的,图2中所示的方法是从服务器侧进行描述的,上述对于两种方法的具体描述可以相互参考。
基于与图1中所示的方法相同的原理,本公开实施例还提供了一种应用程序的处理装置,如图3所示,该处理装置30包括:
崩溃日志写入模块310,用于当应用程序崩溃时,将应用程序的崩溃日志写入系统内存;
崩溃日志发送模块320,用于将崩溃日志发送至服务器,以使服务器基于崩溃日志解析应用程序的崩溃原因。
本公开实施例提供的应用程序的处理装置,能够在应用程序崩溃时,将崩溃日志写入系统内存,防止崩溃日志丢失,以便基于崩溃日志确定崩溃的具体原因,及时根据崩溃的具体原因对应用程序进行处理,有助于提升用户的使用体验。
可选的,崩溃日志发送模块具体用于:
将崩溃日志从系统内存中写入指定的日志文件中;
将日志文件发送至服务器。
可选的,崩溃日志发送模块具体用于:
当接收到服务器发送的崩溃日志的日志获取请求时,将崩溃日志发送至服务器;或者,
当检测到系统内存中存在崩溃日志时,将崩溃日志发送至服务器;或者,
在重新启动应用程序后,将崩溃日志发送至服务器。
可选的,该装置还包括:
应用程序安装模块,用于获取应用程序的程序安装包,基于程序安装包进行应用程序的安装;
其中,程序安装包中包括应用程序的日志配置信息,日志配置信息包括以下信息中的至少一项:
日志传输控制信息、日志加密方式、日志压缩方式和业务配置信息;
日志传输控制信息,用于控制将崩溃日志发送至服务器时,崩溃日志的传输数据包的大小;
日志加密方式,用于指示崩溃日志的加密方式;
日志压缩方式,用于指示崩溃日志的压缩方式;
业务配置信息,用于指示需要写入系统内存的崩溃日志所对应的业务类型;
若日志配置信息包括业务配置信息,崩溃日志写入模块在将应用程序的崩溃日志写入系统内存时,具体用于:
将应用程序的、与业务配置信息对应的业务类型的崩溃日志写入系统内存;
若日志配置信息包括日志传输控制信息、日志加密方式和日志压缩方式中的至少一项,崩溃日志发送模块在将崩溃日志发送至服务器时,具体用于:
根据日志配置信息对崩溃日志进行处理;
将处理后的崩溃日志发送至服务器。
可选的,程序安装包为应用程序的至少两种版本的安装包中的任一版本的安装包;
其中,不同版本的安装包的大小不同,和/或,不同版本的安装包所对应的日志配置信息不同,和/或,不同版本的安装包所对应的上述装置实现时的代码编程语言不同。
可以理解的是,本实施例中的应用程序的处理装置的上述各模块具有实现图1中所示的实施例中的应用程序的处理方法相应步骤的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。上述模块可以是软件和/或硬件,上述各模块可以单独实现,也可以多个模块集成实现。对于上述应用程序的处理装置的各模块的功能描述具体可以参见图1中所示实施例中的应用程序的处理方法的对应描述,在此不再赘述。
基于与图2中所示的方法相同的原理,本公开实施例还提供了一种应用程序的处理装置,如图4所示,该处理装置40包括:
崩溃日志接收模块410,用于接收终端设备发送的应用程序的崩溃日志,崩溃日志是在应用程序崩溃时,被终端设备写入系统内存中的日志;
崩溃原因解析模块420,用于基于崩溃日志解析应用程序的崩溃原因。
本公开实施例提供的应用程序的处理装置,能够在应用程序崩溃时,将崩溃日志写入系统内存,防止崩溃日志丢失,以便基于崩溃日志确定崩溃的具体原因,及时根据崩溃的具体原因对应用程序的崩溃进行处理,有助于提升用户的使用体验。
可选的,崩溃日志接收模块具体用于:
接收终端设备发送的日志文件,日志文件为终端设备将崩溃日志从系统内存中写入文件时的指定写入文件。
可选的,崩溃日志为终端设备在接收到日志获取请求时发送的日志,或者,为在终端设备检测到系统内存中存在崩溃日志时发送的日志,或者,为在终端设备重新启动应用程序后发送的日志。
可选的,该装置还包括:
程序安装包发布模块,用于发布应用程序的程序安装包,以使终端设备在获取到程序安装包时,基于程序安装包进行应用程序的安装;
其中,程序安装包中包括应用程序的日志配置信息,日志配置信息包括以下信息中的至少一项:
日志传输控制信息、日志加密方式、日志压缩方式和业务配置信息;
日志传输控制信息,用于控制崩溃日志被终端设备发送时,崩溃日志的传输数据包的大小;
日志加密方式,用于指示崩溃日志的加密方式;
日志压缩方式,用于指示崩溃日志的压缩方式;
业务配置信息,用于指定需要写入系统内存的崩溃日志所对应的业务类型;
若日志配置信息包括业务配置信息,接收到的崩溃日志为应用程序的、与业务配置信息对应的业务类型的日志;
若日志配置信息包括日志传输控制信息、日志加密方式和日志压缩方式中的至少一项,接收到的崩溃日志为终端设备根据日志配置信息进行相应处理后得到的日志。
可选的,程序安装包为应用程序的至少两种版本的安装包中的任一版本的安装包;
其中,不同版本的安装包的大小不同,和/或,不同版本的日志配置信息不同,和/或,不同版本的安装包所对应的上述装置实现时的代码编程语言不同。
可以理解的是,本实施例中的应用程序的处理装置的上述各模块具有实现图2中所示的实施例中的应用程序的处理方法相应步骤的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。上述模块可以是软件和/或硬件,上述各模块可以单独实现,也可以多个模块集成实现。对于上述应用程序的处理装置的各模块的功能描述具体可以参见图2中所示实施例中的应用程序的处理方法的对应描述,在此不再赘述。
本公开实施例还提供了一种电子设备,其包括处理器和存储器;
存储器,用于存储操作指令;
处理器,用于通过调用操作指令,执行上述的应用程序的处理方法。
本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的应用程序的处理方法。
下面参考图5,其示出了适于用来实现本公开实施例的电子设备(例如用于实现图1中所示的应用程序的处理方法的终端设备或用于实现图2中所示的应用程序的处理方法的服务器)800的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图5示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图5所示,电子设备800可以包括处理装置(例如中央处理器、图形处理器等)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储装置808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有电子设备800操作所需的各种程序和数据。处理装置801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
通常,以下装置可以连接至I/O接口805:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置806;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置807;包括例如磁带、硬盘等的存储装置808;以及通信装置809。通信装置809可以允许电子设备800与其他设备进行无线或有线通信以交换数据。虽然图5示出了具有各种装置的电子设备800,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置809从网络上被下载和安装,或者从存储装置808被安装,或者从ROM802被安装。在该计算机程序被处理装置801执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取至少两个网际协议地址;向节点评价设备发送包括至少两个网际协议地址的节点评价请求,其中,节点评价设备从至少两个网际协议地址中,选取网际协议地址并返回;接收节点评价设备返回的网际协议地址;其中,所获取的网际协议地址指示内容分发网络中的边缘节点。
或者,上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:接收包括至少两个网际协议地址的节点评价请求;从至少两个网际协议地址中,选取网际协议地址;返回选取出的网际协议地址;其中,接收到的网际协议地址指示内容分发网络中的边缘节点。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (12)
1.一种应用程序的处理方法,其特征在于,包括:
当应用程序崩溃时,将所述应用程序的崩溃日志写入系统内存;
将所述崩溃日志发送至服务器,以使所述服务器基于所述崩溃日志解析所述应用程序的崩溃原因。
2.根据权利要求1所述的应用程序的处理方法,其特征在于,所述将所述崩溃日志发送至服务器,包括:
将所述崩溃日志从所述系统内存中写入指定的日志文件中;
将所述日志文件发送至所述服务器。
3.根据权利要求1或2所述的应用程序的处理方法,其特征在于,所述将所述崩溃日志发送至服务器,包括:
当接收到所述服务器发送的所述崩溃日志的日志获取请求时,将所述崩溃日志发送至所述服务器;或者,
当检测到所述系统内存中存在所述崩溃日志时,将所述崩溃日志发送至所述服务器;或者,
在重新启动所述应用程序后,将所述崩溃日志发送至所述服务器。
4.根据权利要求1或2所述的应用程序的处理方法,其特征在于,还包括:
获取所述应用程序的程序安装包,基于所述程序安装包进行所述应用程序的安装;
其中,所述程序安装包中包括所述应用程序的日志配置信息,所述日志配置信息包括以下信息中的至少一项:
日志传输控制信息、日志加密方式、日志压缩方式和业务配置信息;
所述日志传输控制信息,用于控制将所述崩溃日志发送至所述服务器时,所述崩溃日志的传输数据包的大小;
所述日志加密方式,用于指示所述崩溃日志的加密方式;
所述日志压缩方式,用于指示所述崩溃日志的压缩方式;
所述业务配置信息,用于指示需要写入所述系统内存的崩溃日志所对应的业务类型;
若所述日志配置信息包括所述业务配置信息,所述将所述应用程序的崩溃日志写入系统内存,包括:
将所述应用程序的、与所述业务配置信息对应的业务类型的崩溃日志写入所述系统内存;
若所述日志配置信息包括所述日志传输控制信息、所述日志加密方式和所述日志压缩方式中的至少一项,所述将所述崩溃日志发送至服务器,包括:
根据所述日志配置信息对所述崩溃日志进行处理;
将处理后的所述崩溃日志发送至所述服务器。
5.根据权利要求4所述的应用程序的处理方法,其特征在于,所述程序安装包为所述应用程序的至少两种版本的安装包中的任一版本的安装包;
其中,不同版本的安装包的大小不同,和/或,不同版本的安装包所对应的所述日志配置信息不同,和/或,不同版本的安装包所对应的所述方法实现时的代码编程语言不同。
6.一种应用程序的处理方法,其特征在于,包括:
接收终端设备发送的应用程序的崩溃日志,所述崩溃日志是在所述应用程序崩溃时,被所述终端设备写入系统内存中的日志;
基于所述崩溃日志解析所述应用程序的崩溃原因。
7.根据权利要求6所述的应用程序的处理方法,其特征在于,还包括:
发布所述应用程序的程序安装包,以使所述终端设备在获取到所述程序安装包时,基于所述程序安装包进行所述应用程序的安装;
其中,所述程序安装包中包括所述应用程序的日志配置信息,所述日志配置信息包括以下信息中的至少一项:
日志传输控制信息、日志加密方式、日志压缩方式和业务配置信息;
所述日志传输控制信息,用于控制所述崩溃日志被所述终端设备发送时,所述崩溃日志的传输数据包的大小;
所述日志加密方式,用于指示所述崩溃日志的加密方式;
所述日志压缩方式,用于指示所述崩溃日志的压缩方式;
所述业务配置信息,用于指定需要写入所述系统内存的崩溃日志所对应的业务类型;
若所述日志配置信息包括所述业务配置信息,接收到的所述崩溃日志为所述应用程序的、与所述业务配置信息对应的业务类型的日志;
若所述日志配置信息包括所述日志传输控制信息、所述日志加密方式和所述日志压缩方式中的至少一项,接收到的所述崩溃日志为所述终端设备根据所述日志配置信息进行相应处理后得到的日志。
8.根据权利要求7所述的应用程序的处理方法,其特征在于,所述程序安装包为所述应用程序的至少两种版本的安装包中的任一版本的安装包;
其中,不同版本的安装包的大小不同,和/或,不同版本的日志配置信息不同,和/或,不同版本的安装包所对应的所述方法实现时的代码编程语言不同。
9.一种应用程序的处理装置,其特征在于,包括:
崩溃日志写入模块,用于当应用程序崩溃时,将所述应用程序的崩溃日志写入系统内存;
崩溃日志发送模块,用于将所述崩溃日志发送至服务器,以使所述服务器基于所述崩溃日志解析所述应用程序的崩溃原因。
10.一种应用程序的处理装置,其特征在于,包括:
崩溃日志接收模块,用于接收终端设备发送的应用程序的崩溃日志,所述崩溃日志是在所述应用程序崩溃时,被所述终端设备写入系统内存中的日志;
崩溃原因解析模块,用于基于所述崩溃日志解析所述应用程序的崩溃原因。
11.一种电子设备,其特征在于,其包括处理器和存储器;
所述存储器,用于存储操作指令;
所述处理器,用于通过调用所述操作指令,执行上述权利要求1-8中任一项所述的应用程序的处理方法。
12.一种计算机可读储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述权利要求1-8任一项所述的应用程序的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811418715.3A CN109522198A (zh) | 2018-11-26 | 2018-11-26 | 应用程序的处理方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811418715.3A CN109522198A (zh) | 2018-11-26 | 2018-11-26 | 应用程序的处理方法、装置、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109522198A true CN109522198A (zh) | 2019-03-26 |
Family
ID=65778796
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811418715.3A Pending CN109522198A (zh) | 2018-11-26 | 2018-11-26 | 应用程序的处理方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109522198A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110109769A (zh) * | 2019-04-16 | 2019-08-09 | 深圳壹账通智能科技有限公司 | 应用程序崩溃的安全监控方法、装置、设备及存储介质 |
CN110457258A (zh) * | 2019-08-06 | 2019-11-15 | 北京字节跳动网络技术有限公司 | 一种日志管理方法、装置、设备及介质 |
CN112286773A (zh) * | 2020-10-19 | 2021-01-29 | 北京字节跳动网络技术有限公司 | 一种崩溃信息的收集方法、装置、介质和电子设备 |
CN112417245A (zh) * | 2020-11-18 | 2021-02-26 | 掌阅科技股份有限公司 | 应用日志的抓取方法、计算设备及计算机存储介质 |
CN112559277A (zh) * | 2019-09-25 | 2021-03-26 | 北京百度网讯科技有限公司 | 崩溃信息的处理方法、系统、车载设备、服务器、电子设备及存储介质 |
CN116775440A (zh) * | 2023-08-21 | 2023-09-19 | 青岛民航凯亚系统集成有限公司 | 一种基于机场生产运营系统的日志级链路追踪方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102891873A (zh) * | 2011-07-21 | 2013-01-23 | 腾讯科技(深圳)有限公司 | 一种存储日志数据的方法及日志数据存储系统 |
CN104516732A (zh) * | 2013-09-29 | 2015-04-15 | 北京新媒传信科技有限公司 | 一种应用程序崩溃报告方法和系统 |
CN106453652A (zh) * | 2016-11-30 | 2017-02-22 | 努比亚技术有限公司 | 日志文件上传方法及系统 |
CN107102928A (zh) * | 2017-04-18 | 2017-08-29 | 广州视源电子科技股份有限公司 | 一种应用程序崩溃信息上报方法和装置 |
CN108400893A (zh) * | 2018-02-22 | 2018-08-14 | 北京奇艺世纪科技有限公司 | 日志文件的处理方法、装置和电子设备 |
CN108664655A (zh) * | 2018-05-18 | 2018-10-16 | 上海赛治信息技术有限公司 | 嵌入式系统的日志存储方法及系统 |
-
2018
- 2018-11-26 CN CN201811418715.3A patent/CN109522198A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102891873A (zh) * | 2011-07-21 | 2013-01-23 | 腾讯科技(深圳)有限公司 | 一种存储日志数据的方法及日志数据存储系统 |
CN104516732A (zh) * | 2013-09-29 | 2015-04-15 | 北京新媒传信科技有限公司 | 一种应用程序崩溃报告方法和系统 |
CN106453652A (zh) * | 2016-11-30 | 2017-02-22 | 努比亚技术有限公司 | 日志文件上传方法及系统 |
CN107102928A (zh) * | 2017-04-18 | 2017-08-29 | 广州视源电子科技股份有限公司 | 一种应用程序崩溃信息上报方法和装置 |
CN108400893A (zh) * | 2018-02-22 | 2018-08-14 | 北京奇艺世纪科技有限公司 | 日志文件的处理方法、装置和电子设备 |
CN108664655A (zh) * | 2018-05-18 | 2018-10-16 | 上海赛治信息技术有限公司 | 嵌入式系统的日志存储方法及系统 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110109769A (zh) * | 2019-04-16 | 2019-08-09 | 深圳壹账通智能科技有限公司 | 应用程序崩溃的安全监控方法、装置、设备及存储介质 |
CN110457258A (zh) * | 2019-08-06 | 2019-11-15 | 北京字节跳动网络技术有限公司 | 一种日志管理方法、装置、设备及介质 |
CN112559277A (zh) * | 2019-09-25 | 2021-03-26 | 北京百度网讯科技有限公司 | 崩溃信息的处理方法、系统、车载设备、服务器、电子设备及存储介质 |
CN112286773A (zh) * | 2020-10-19 | 2021-01-29 | 北京字节跳动网络技术有限公司 | 一种崩溃信息的收集方法、装置、介质和电子设备 |
CN112417245A (zh) * | 2020-11-18 | 2021-02-26 | 掌阅科技股份有限公司 | 应用日志的抓取方法、计算设备及计算机存储介质 |
CN116775440A (zh) * | 2023-08-21 | 2023-09-19 | 青岛民航凯亚系统集成有限公司 | 一种基于机场生产运营系统的日志级链路追踪方法及系统 |
CN116775440B (zh) * | 2023-08-21 | 2023-12-01 | 青岛民航凯亚系统集成有限公司 | 一种基于机场生产运营系统的日志级链路追踪方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109522198A (zh) | 应用程序的处理方法、装置、电子设备及可读存储介质 | |
CN109582310B (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
US20220053068A1 (en) | Methods, apparatuses and computer storage media for applet state synchronization | |
CN111694674B (zh) | 消息分发处理方法、装置、设备及存储介质 | |
WO2019228344A1 (zh) | 资源配置方法、装置、终端及存储介质 | |
CN110275723A (zh) | 获取资源的方法、装置、电子设备及可读介质 | |
US10404568B2 (en) | Agent manager for distributed transaction monitoring system | |
CN111198859A (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN110177300B (zh) | 程序运行状态的监控方法、装置、电子设备和存储介质 | |
CN111432001B (zh) | 用于跳转场景的方法、装置、电子设备和计算机可读介质 | |
CN107644075B (zh) | 收集页面信息的方法和装置 | |
CN110297658B (zh) | 功能组件共享方法、装置和计算机设备 | |
WO2021139383A1 (zh) | 直播间礼物资源更新方法、装置、介质及电子设备 | |
CN110221857A (zh) | 应用程序的问题修复方法、装置、电子设备及存储介质 | |
CN116627333A (zh) | 日志缓存方法、装置、电子设备及计算机可读存储介质 | |
CN109947659B (zh) | 用于测试应用的系统、方法和装置 | |
CN115996179A (zh) | 业务节点的测试方法、装置、可读介质和电子设备 | |
US10432490B2 (en) | Monitoring single content page application transitions | |
CN111382039A (zh) | 上报用户行为事件的方法、装置、电子设备及存储介质 | |
CN111382058B (zh) | 一种服务的测试方法、装置,服务器及存储介质 | |
CN111596864A (zh) | 一种数据延时删除的方法、装置、服务器及存储介质 | |
CN111162973A (zh) | 数据流量采集方法、装置、电子设备和介质 | |
CN111193717A (zh) | Ftp黑白名单控制方法、装置及电子设备 | |
CN115269063A (zh) | 进程创建方法、系统、设备及介质 | |
CN111382057B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190326 |
|
RJ01 | Rejection of invention patent application after publication |