CN107544856B - 信息推送方法和装置 - Google Patents
信息推送方法和装置 Download PDFInfo
- Publication number
- CN107544856B CN107544856B CN201610466237.8A CN201610466237A CN107544856B CN 107544856 B CN107544856 B CN 107544856B CN 201610466237 A CN201610466237 A CN 201610466237A CN 107544856 B CN107544856 B CN 107544856B
- Authority
- CN
- China
- Prior art keywords
- data
- information
- fault data
- function
- dynamic link
- 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
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种信息推送方法和装置。其中,该方法包括:获取第一故障数据和第二故障数据;提取第一故障数据携带的第一动态链接库的信息和第一函数,提取第二故障数据携带的第二动态链接库的信息和第二函数;比较第二动态链接库的信息是否与第一动态链接库的信息一致,并且比较第二函数是否与第一函数一致;若第二动态链接库的信息与第一动态链接库的信息一致,并且第二函数与第一函数一致,则确定第二故障数据与第一故障数据相同;在确定第二故障数据与第一故障数据相同时,将第一故障数据相关的目标信息作为第二故障数据的目标信息进行推送。本发明解决了对故障问题进行聚类时准确度比较低的技术问题。
Description
技术领域
本发明涉及互联网领域,具体而言,涉及一种信息推送方法和装置。
背景技术
应用程序故障可能表现出多种问题,每种问题有相应的解决方案。对于相同的问题可以采用相同的方案解决,而不需要开发新的解决方案。服务器收集应用程序的故障数据,并根据收集到的信息对相同的问题进行归类,以推荐相同的解决方案。
现有技术通常采用以下两种方式对应用程序的问题进行聚类:
第一种:去掉故障数据的代码行号,并对去掉代码行号的代码进行全文比对。但是,由于不同应用程序的代码有差异,相同的问题可能不被划分为同一个问题,准确度比较低。
第二种:对故障数据进行关键词匹配,但是这种方式可能将不同的问题也划分为同一个类别,使得聚类时的准确度比较低。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种信息推送方法和装置,以至少解决对故障问题进行聚类时准确度比较低的技术问题。
根据本发明实施例的一个方面,提供了一种信息推送方法,包括:获取第一故障数据和第二故障数据;提取所述第一故障数据携带的第一动态链接库的信息和第一函数,提取所述第二故障数据携带的第二动态链接库的信息和第二函数,其中,所述第一函数为发生所述第一故障数据所对应的故障时被调用的函数,所述第二函数为发生所述第二故障数据所对应的故障时被调用的函数;比较所述第二动态链接库的信息是否与所述第一动态链接库的信息一致,并且比较所述第二函数是否与所述第一函数一致;若所述第二动态链接库的信息与所述第一动态链接库的信息一致,并且所述第二函数与所述第一函数一致,则确定所述第二故障数据与所述第一故障数据相同;在确定所述第二故障数据与所述第一故障数据相同时,将所述第一故障数据相关的目标信息作为所述第二故障数据的目标信息进行推送。
根据本发明实施例的另一方面,还提供了一种信息推送装置,包括:获取单元,用于获取第一故障数据和第二故障数据;提取单元,用于提取所述第一故障数据携带的第一动态链接库的信息和第一函数,提取所述第二故障数据携带的第二动态链接库的信息和第二函数,其中,所述第一函数为发生所述第一故障数据所对应的故障时被调用的函数,所述第二函数为发生所述第二故障数据所对应的故障时被调用的函数;比较单元,用于比较所述第二动态链接库的信息是否与所述第一动态链接库的信息一致,并且比较所述第二函数是否与所述第一函数一致;确定单元,用于在所述第二动态链接库的信息与所述第一动态链接库的信息一致,并且所述第二函数与所述第一函数一致时,确定所述第二故障数据与所述第一故障数据相同;推送单元,用于在确定所述第二故障数据与所述第一故障数据相同时,将所述第一故障数据相关的目标信息作为所述第二故障数据的目标信息进行推送。
在本发明实施例中,由于应用程序在调用某个链接库或者某个函数时发生故障,因此,通过比较应用程序的故障数据中的链接库和函数就判断出两个故障数据是否由同样的问题造成的,可以更加准确的反应第二故障数据与第一故障数据是否属于同样的问题,解决了现有技术在进行故障进行聚类时准确度比较低的技术问题,达到了提高聚类的准确度的技术效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种硬件环境系统的示意图;
图2是根据本发明实施例的信息推送方法的流程图;
图3是根据本发明实施例的还原后数据的示意图;
图4是根据本发明实施例的分析界面的示意图;
图5是根据本发明实施例的问题和解决方案的对应关系示意图;
图6是根据本发明实施例的信息推送装置的示意图;
图7是根据本发明实施例的服务器的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
名词解释:
unity3d:Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。
.NET:.NET是Microsoft XML Web services平台。XML Web services允许应用程序通过Internet进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。
C#:C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。
crash:应用异常中断或者退出。
issue:特指故障记录平台记录的一条crash上报信息,故障记录平台用于记录应用程序发生异常的数据。
so:Android、Linux平台动态链接库。
dylib:iOS动态链接库。
dll:动态链接库,unity3d引擎编译生成的代码文件。
dex:Android平台上可执行文件的类型。
java_crash:特指java层抛出异常导致的应用中断或者退出。
native_crash:特指c、c++底层实现抛出异常导致的应用中断或者退出。
unity3d_crash:特指unity引擎或者C#代码实现抛出异常导致的应用中断或者退出。
符号表:符号表是内存地址与函数名、文件名、行号的映射表。符号表元素如下所示:<起始地址><结束地址><函数>[<文件名:行号>]
实施例1
根据本发明实施例,提供了一种可以通过本申请装置实施例执行的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
根据本发明实施例,提供了一种信息推送方法。
可选地,在本实施例中,上述信息推送方法可以应用于如图1所示的终端102和服务器104所构成的硬件环境中。如图1所示,终端102通过网络与服务器104进行连接,上述网络包括但不限于:移动通信网络、广域网、城域网或局域网,终端102可以是手机终端,也可以是PC终端、笔记本终端或平板电脑终端。
图1中示出的硬件环境系统的主要工作原理是:
服务器104收集终端102上报的故障数据(crash数据),服务器104对上报的数据进行聚类,对于一个故障聚类后查找该故障的解决方案,并推送相应的解决方案的信息。对于没有查找到解决方案的故障,则生成新的解决方案,并与该故障数据进行关联,以便于再次出现相同的故障时推送相同的解决方案。
在进行聚类时,先利用符号表对故障数据进行还原,将二进制编码数据形式的故障数据还原成可读的明文编码数据,并从明文编码数据中提取链接库信息和函数信息,以及链接库信息和函数信息在明文编码数据中的层级顺序,对两个不同故障数据提取出的链接库信息、函数信息和层级顺序一一进行比较,如果均一致,则确定两个故障数据为相同的问题,推送相同的解决方案的信息。由于在调用某个链接库或者某个函数时发生故障,即使在不同的应用程序中,或者相同应用程序的不同版本中,调用相同链接库或相同函数时发生的故障也可以划分为同一个问题,采用相同的解决方案,因此,通过比较故障数据中的链接库的信息、函数信息以及层级顺序,就能判断出两个故障数据是否对应相同的问题,并进行信息推送,从而解决了现有技术中聚类故障数据时不准确的技术问题,达到了准确对故障数据聚类并且准确推送解决方案的技术效果。
图2是根据本发明实施例的信息推送方法的流程图,以下结合图2对本发明实施例所提供的信息推送方法做具体介绍,如图2所示,该信息推送方法主要包括如下步骤:
步骤S202,获取第一故障数据和第二故障数据。应用程序在运行过程中出现的异常中断或者退出都可以认为该应用程序发生了故障。通常情况下,应用程序的故障出现在调用某个动态链接库或者某个函数时,那么,应用程序上报的故障数据就包括动态链接库的信息和函数。
步骤S204,提取第一故障数据携带的第一动态链接库的信息和第一函数,提取第二故障数据携带的第二动态链接库的信息和第二函数,其中,第一函数为发生第一故障数据所对应的故障时被调用的函数,第二函数为发生第二故障数据所对应的故障时被调用的函数。由于故障数据中携带有动态链接库的信息和函数,则分别从第一故障数据和第二故障数据中提取动态链接库的信息和函数。提取的动态链接库(包括第一动态链接库和第二动态链接库)可以是发生故障时应用程序调用的动态链接库,或者发生故障时与调用的动态链接库相关联的动态链接库。同理,提取的函数可以是发生故障时应用程序调用的函数,或者发生故障时与调用的函数或者动态链接库相关联的函数。
步骤S206,比较第二动态链接库的信息是否与第一动态链接库的信息一致,并且比较第二函数是否与第一函数一致。故障数据包括动态链接库的信息和函数,动态链接库的信息和函数可以反映故障的类型,因此,通过比较第一故障数据和第二故障数据的动态链接库的信息和函数,可以判断第一故障数据和第二故障数据是否为相同的故障。
步骤S208,若第二动态链接库的信息与第一动态链接库的信息一致,并且第二函数与第一函数一致,则确定第二故障数据与第一故障数据相同。在确定出第一故障数据和第二故障数据相同时,确定第一故障数据和第二故障数据由相同的故障造成。
步骤S210,在确定第二故障数据与第一故障数据相同时,将第一故障数据相关的目标信息作为第二故障数据的目标信息进行推送。
确定了第二故障数据与第一故障数据由相同的故障造成,则查找与第一故障数据相关的目标信息。目标信息可以是解决第一故障数据所表示的故障的解决方案,第二故障数据与第一故障数据由相同的故障造成,则可以采用解决第一故障数据所表示的故障的解决方案来解决第二故障数据所表示的故障。
在本实施例中,由于应用程序在调用某个链接库或者某个函数时发生故障,因此,通过比较应用程序的故障数据中的链接库和函数就判断出两个故障数据是否由同样的问题造成的,可以更加准确的反应第二故障数据与第一故障数据是否属于同样的问题,解决了现有技术在进行故障进行聚类时准确度比较低的技术问题,达到了提高聚类的准确度的技术效果。
服务器获取终端上报的应用程序的故障数据,故障数据采用堆栈的数据格式存储。故障数据包括第一故障数据和第二故障数据,在一些实施例中,第一故障数据是第一应用程序中的故障数据,第二故障数据是第二应用程序中故障数据,第一应用程序和第二应用程序为不同的应用程序。在另外一些实施例中,第一故障数据是第一个版本的第一应用程序中的故障数据,第二故障数据是第二个版本的第一应用程序中的故障数据。
在获取上述第一故障数据和第二故障数据之后,对第一故障数据和第二故障数据分别利用符号表进行还原。符号表是内存地址与函数名、文件名、行号的映射表。符号表元素如下所示:
<起始地址><结束地址><函数>[<文件名:行号>]
根据符号表将通过二进制数据编码显示的故障数据还原为可读性的明文编码,将二进制数据编码翻译为内存地址、函数、文件名和行号等信息。
图3中的301、302、303都是还原后的可读性的明文编码。如图3中的301所示,#u’表示处理后的格式分隔符,#07表示堆栈层级,/system/lib/libdvm.so表示so动态链接库的路径,(dvmMterpStd(thread*)+4c)’表示函数信息相关。
图3所示的302表示提取函数信息样例,图3所示的303表示提取dylib动态链接库的信息样例,图3所示的304表示提取dex动态链接库的信息样例。具体的解释参考301,此处不再一一赘述。
将还原得到的明文编码存储在数据库中,并在数据库中提取数据。为了便于比对,在将还原后的明文编码存储在数据库时,将不同格式的动态链接库的信息按照相同的动态链接库的格式存储在数据库中,可以为so动态链接库、dylib动态链接库等。即在提取第一动态链接库的信息和第二动态链接库的信息之后,将第一动态链接库的信息和第二动态链接库的信息以so动态链接库的格式存储在数据库中;比较第一动态链接库的信息和第二动态链接库的信息是否一致;在第一动态链接库的信息和第二动态链接库的信息一致时,确定第一动态链接库的信息和第二动态链接库的信息一致。
第一故障数据和第二故障数据是采用符号表进行还原后得到的数据,采用符号表对第一原始数据进行还原得到第一故障数据,采用符号表对第二原始数据进行还原得到第二故障数据。原始数据是二进制编码数据,为计算机可读的数据;还原后的故障数据的明文编码数据,根据明文编码数据可以判断出哪些明文表示函数、哪些明文表示动态链接库。
采集到第一故障数据的第一原始数据和第二故障数据的第二原始数据之后,需要先对原始数据进行过滤。去掉正常退出上报的crash数据(中断或者退出的数据),然后丢掉不完整的crash数据,比如丢失或者截断的数据,避免正常退出的crash数据对数据分析的干扰,以及不完整的crash数据对聚类造成的干扰,从而提高了聚类的准确度。
采用符号表对原始数据进行还原时,有些原始数据可以被还原为明文编码数据,也有些原始数据无法被还原为明文编码数据。对于可以还原为明文编码数据的原始数据,对比明文来判断第一故障数据和第二故障数据是否相同。对于不能还原为明文编码数据的原始数据,对比二进制编码数据来判断第一故障数据和第二故障数据是否相同。以下分别进行说明:
第一种:原始二进制编码数据可以被还原为明文编码数据,即第一故障数据和第二故障数据为明文编码数据。
对第一故障数据和第二故障数据进行比较,包括比较故障数据中的动态链接库是否相同,动态链接库的层级顺序是否相同,函数是否相同,函数的层级顺序是否相同。
在一些实施例中,比较第一动态链接库与第二动态链接库是否为相同的动态链接库,且层级顺序是否相同。例如,第一动态链接库包括so动态链接库,第二动态链接库也包括so动态链接库,且第一动态链接库在第一故障数据中的层级顺序与第二动态链接库在第二故障数据中的层级顺序相同。
进一步地,比较第一函数与第二函数是否为相同函数,且层级顺序是否一致。例如,第一函数和第二函数都是fun1,且第一函数在第一故障数据中的层级顺序与第二函数在第二故障数据中的层级顺序相同。
在第一动态链接库与第二动态链接库为相同动态链接库,且分别在各自的故障数据中的层级顺序也相同,第一函数与第二函数为相同函数,且分别在各自的故障数据中的层级顺序也相同。此时确定第一故障数据和第二故障数据相同,可以推送第一故障数据的目标信息,作为第二故障数据所表示的故障的解决方案,也可以推送同一个目标信息作为第一故障数据所表示的故障的解决方案,以及第二故障数据所表示的故障的解决方案。
进一步地,在提取动态链接库的信息时,分别对多种类型的动态链接库就进行查找。在一些实施例中,查找故障数据中的so动态链接库、示dylib动态链接库和dex动态链接库等。这三种动态链接库的查找顺序不做限定。
在查找时按照每种动态链接库的特征来查找,例如,查找第二故障数据中是否有“so”特征(格式信息),如果有,则将“so”特征相关的信息作为第二动态链接库的信息。
例如,dylib的格式信息包括(0x000000001956b2b18abort+104/r’),则第二故障数据中查找满足上述格式信息的数据,并将查找到的数据作为第二动态链接库的信息。
其他动态链接库的查找形式可以参考上述动态链接库,查找第一动态链接库的信息的方式与查找第二动态链接库的信息的方式相同,不再赘述。
根据动态数据库的格式信息可以准确获取动态链接库的信息,根据函数的格式信息可以准确获取函数的信息,动态链接库和函数是比较第一故障数据和第二故障数据是否相同的基础,因此,动态链接库和函数的准确提取也进一步提高了对故障问题进行聚类时的准确度,从而剞劂了现有技术对故障问题进行聚类时准确度比较低的技术问题。
第二种:原始二进制编码数据不可以被还原为明文编码数据,即第一故障数据和第二故障数据为二进制编码数据。
虽然原始的二进制编码数据没有被还原为明文编码数据,但是,原始的二进制编码数据与符号表中的元素具有对应关系,按照符号表的结构解析出原始的二进制编码数据对应的符号表中的元素,并对第一故障数据和第二故障数据中对应符号表中的同一个元素的二进制编码数据进行比对,如果对应相同元素的二进制编码数据相同,则确定第一故障数据和第二故障数据相同。
在本实施例中,若判断出第一故障数据和第二故障数据相同,则判断预先存储的解决方案中是否有针对第一故障数据所关联的故障的目标信息,如果有,则将目标信息作为解析第二故障数据所关联的故障的解决方案,如果没有,则创建新的目标信息来解决第一故障数据所关联的故障,同时,将目标信息也作为第二故障数据所关联的故障的解决方案。
在存储目标信息时,建立目标信息与第一故障数据的so动态链接库、第一故障数据的函数的对应关系;按照对应关系存储目标信息、第一故障数据的so动态链接库和第一故障数据的函数。
在获取故障数据的so动态链接库和函数后,比对第一故障数据和第二故障数据是否为相同的故障,再根据so动态链接库和函数查找到相应的目标信息。因此,目标信息、so动态链接库和函数对应存储,便于根据so动态链接库和/或函数查找目标信息,提高查找效率。
采用新创建的目标信息来解决第一故障数据对应的第一故障和第二故障数据对应的第二故障,从而解决了应用程序的故障。当再次出现相同的问题时,采用新创建的目标信息作为解决方案。
本实施例的聚类方式和信息推送方式,可以针对不同终端上报的同一个应用程序的故障信息进行聚类,也可以针对不同应用程序上报的故障信息进行聚类,还可以对同一应用程序的不同版本的故障信息进行聚类。对聚类后的故障信息可以推送相应的目标信息作为故障的解决方案。在一些实施例中,对具有相同问题的不同应用程序推送相同的目标信息来解决故障。在另外一些实施例中,对具有相同问题的相同应用程序推送相同的目标信息来解决故障。还有一些实施例中,对具有相同问题的相同应用程序的不同版本推送相同的目标信息来解决故障。
在一些实施例中,可以对不同crash类型问题进行分类聚合。基于crash特性,将crash类型分为java_crash、native_crash和unity3d_crash,分别对每个类型的故障数据进行聚合。
如图4所示,在本实施例中,根据聚类后的故障数据可以分析相同的故障出现的次数,影响用户的人数,此类故障与总的故障次数的占比,以及在指定版本中的变化趋势等等。针对分析结果对应用程序进行优化。
如图5所示,在数据库中记载了问题的原因以及同类解决方案。若聚类后的一些问题没有找到原因以及解决方案,则显示为空,此时创建解决方案并进行推送。若聚类后的问题已找到原因和同类解决方案,则向同类问题推送解决方案。在数据库中记载的问题的原因及解决方案,便于及时确定发生问题的原因,并获取相应的解决方案或者创建新的解决方案,提高了问题的发现和解决速度。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
根据本发明实施例,还提供了一种用于实施上述信息推送方法的信息推送装置,该信息推送装置主要用于执行本发明实施例上述内容所提供的信息推送方法,以下对本发明实施例所提供的信息推送装置做具体介绍:
图6是根据本发明实施例的信息推送装置的示意图,如图6所示,该信息推送装置主要包括:获取单元60、提取单元62、比较单元64、确定单元66和推送单元68。
获取单元60用于获取第一故障数据和第二故障数据。应用程序在运行过程中出现的异常中断或者退出都可以认为该应用程序发生了故障。通常情况下,应用程序的故障出现在调用某个动态链接库或者某个函数时,那么,应用程序上报的故障数据就包括动态链接库的信息和函数。
提取单元62用于提取第一故障数据携带的第一动态链接库的信息和第一函数,提取第二故障数据携带的第二动态链接库的信息和第二函数,其中,第一函数为发生第一故障数据所对应的故障时被调用的函数,第二函数为发生第二故障数据所对应的故障时被调用的函数。由于故障数据中携带有动态链接库的信息和函数,则分别从第一故障数据和第二故障数据中提取动态链接库的信息和函数。提取的动态链接库(包括第一动态链接库和第二动态链接库)可以是发生故障时应用程序调用的动态链接库,或者发生故障时与调用的动态链接库相关联的动态链接库。同理,提取的函数可以是发生故障时应用程序调用的函数,或者发生故障时与调用的函数或者动态链接库相关联的函数。
比较单元64用于比较第二动态链接库的信息是否与第一动态链接库的信息一致,并且比较第二函数是否与第一函数一致。故障数据包括动态链接库的信息和函数,动态链接库的信息和函数可以反映故障的类型,因此,通过比较第一故障数据和第二故障数据的动态链接库的信息和函数,可以判断第一故障数据和第二故障数据是否为相同的故障。
确定单元66用于在第二动态链接库的信息与第一动态链接库的信息一致,并且第二函数与第一函数一致时,确定第二故障数据与第一故障数据相同。在确定出第一故障数据和第二故障数据相同时,确定第一故障数据和第二故障数据由相同的故障造成。
推送单元68用于在确定第二故障数据与第一故障数据相同时,将第一故障数据相关的目标信息作为第二故障数据的目标信息进行推送。
确定了第二故障数据与第一故障数据由相同的故障造成,则查找与第一故障数据相关的目标信息。目标信息可以是解决第一故障数据所表示的故障的解决方案,第二故障数据与第一故障数据由相同的故障造成,则可以采用解决第一故障数据所表示的故障的解决方案来解决第二故障数据所表示的故障。
在本实施例中,由于应用程序在调用某个链接库或者某个函数时发生故障,因此,通过比较单元64比较应用程序的故障数据中的链接库和函数就判断出两个故障数据是否由同样的问题造成的,可以更加准确的反应第二故障数据与第一故障数据是否属于同样的问题,解决了现有技术在进行故障进行聚类时准确度比较低的技术问题,达到了提高聚类的准确度的技术效果。
可选地,获取单元包括:第一获取模块,用于获取第一故障数据的第一原始数据,并且获取第二故障数据的第二原始数据,其中,第一原始数据和第二原始数据为二进制编码数据;还原模块,用于利用符号表对第一原始数据进行还原,得到第一故障数据,其中,符号表用于表示内存地址与函数或者动态链接库的映射关系;利用符号表对第二原始数据进行还原,得到第二故障数据,其中,第一故障数据和第二故障数据为明文编码数据。
服务器获取终端上报的应用程序的故障数据,故障数据采用堆栈的数据格式存储。故障数据包括第一故障数据和第二故障数据,在一些实施例中,第一故障数据是第一应用程序中的故障数据,第二故障数据是第二应用程序中故障数据,第一应用程序和第二应用程序为不同的应用程序。在另外一些实施例中,第一故障数据是第一个版本的第一应用程序中的故障数据,第二故障数据是第二个版本的第一应用程序中的故障数据。
在获取上述第一故障数据和第二故障数据之后,对第一故障数据和第二故障数据分别利用符号表进行还原。符号表是内存地址与函数名、文件名、行号的映射表。符号表元素如下所示:
<起始地址><结束地址><函数>[<文件名:行号>]
根据符号表将通过二进制数据编码显示的故障数据还原为可读性的明文编码,将二进制数据编码翻译为内存地址、函数、文件名和行号等信息。
可选地,获取单元包括:第二获取模块,用于获取第一故障数据的第一原始数据,并且获取第二故障数据的第二原始数据,其中,第一原始数据和第二原始数据为二进制编码数据;第一解析模块,用于按照符号表的格式将第一原始数据解析为第一参考数据,其中,符号表用于表示内存地址与函数或者动态链接库的映射关系,第一参考数据用于表示二进制编码数据对应的符号表中的元素;第二解析模块,用于按照符号表的格式将第二原始数据解析为第二参考数据,其中,第二参数数据用于表示第二原始数据的二进制编码数据对应的符号表中的元素,第一故障数据和第二故障数据为二进制编码数据;第一确定模块,用于将第一参考数据作为第一故障数据,并将第二参数数据作为第二故障数据。
可选地,比较单元包括:第一比较模块,用于比较第二动态链接库是否与第一动态链接库为相同链接库,比较第二动态链接库在第二故障数据中的层级顺序与第一动态链接库在第一故障数据中的层级顺序是否相同;第二比较模块,用于比较第二函数是否与第一函数一致包括:比较第二函数是否与第一函数为相同函数,比较第二函数在第二故障数据中的层级顺序与第一函数在第一故障数据中的层级顺序是否相同,其中,在第二动态链接库与第一动态链接库为相同链接库、第二动态链接库在第二故障数据中的层级顺序与第一动态链接库在第一故障数据中的层级顺序相同、第二函数与第一函数为相同函数和第二函数在第二故障数据中的层级顺序与第一函数在第一故障数据中的层级顺序相同时,第一故障数据与第二故障数据相同。
可选地,提取单元包括:第三获取模块,用于获取用于表示动态链接库的格式信息;第一查找模块,用于在第二故障数据中查找符合格式信息的数据,其中,查找到的数据按照格式信息存储;第二确定模块,用于将查找到的数据作为第二动态链接库的信息。
可选地,第三获取模块还用于获取第一格式信息、第二格式信息和第三格式信息中的至少之一,其中,第一格式信息用于表示so动态链接库的信息格式,第二格式信息用于表示dylib动态链接库的信息格式,第三格式信息用于表示dex动态链接库的信息格式。
可选地,提取单元包括:第四获取模块,用于获取用于表示第二函数的格式信息;第二查找模块,用于在第二故障数据中查找符合格式信息的数据,其中,查找到的数据按照格式信息存储;提取模块,用于从查找到的数据中提取第二函数。
可选地,装置还包括:第一存储单元,用于在提取第一动态链接库的信息和第二动态链接库的信息之后,将第一动态链接库的信息和第二动态链接库的信息以so动态链接库的格式存储在数据库中。
可选地,推送单元包括:第三查找模块,用于查找预先存储的信息中是否有与第一故障数据相关的目标信息;推送模块,用于在从预先存储的信息中查找到目标信息,将目标信息作为第二故障数据的目标信息进行推送;创建模块,用于在预先存储的信息中未查找到目标信息时,创建目标信息,并推送创建的目标信息,其中,创建的目标信息与第一故障数据、第二故障数据相关联。
可选地,装置还包括:建立单元,用于在创建目标信息之后,建立目标信息与第一故障数据的so动态链接库、第一故障数据的函数的对应关系;第二存储单元,用于按照对应关系存储目标信息、第一故障数据的so动态链接库和第一故障数据的函数。
可选地,本实施例中的具体示例可以参考上述实施例1中所描述的示例,本实施例在此不再赘述。
实施例3
根据本发明实施例,还提供了一种用于实施上述信息推送方法的服务器,如图7所示,该服务器主要包括处理器701、数据接口703、存储器705和网络接口707,其中:
数据接口703则主要通过数据传输的方式将第三方工具获取到的故障数据传输给处理器701。
存储器705主要用于故障数据和目标信息。
网络接口707主要用于与终端进行网络通信,为终端推送目标信息。
处理器701用于获取第一故障数据和第二故障数据;提取第一故障数据携带的第一动态链接库的信息和第一函数,提取第二故障数据携带的第二动态链接库的信息和第二函数,其中,第一函数为发生第一故障数据所对应的故障时被调用的函数,第二函数为发生第二故障数据所对应的故障时被调用的函数;比较第二动态链接库的信息是否与第一动态链接库的信息一致,并且比较第二函数是否与第一函数一致;若第二动态链接库的信息与第一动态链接库的信息一致,并且第二函数与第一函数一致,则确定第二故障数据与第一故障数据相同;在确定第二故障数据与第一故障数据相同时,将第一故障数据相关的目标信息作为第二故障数据的目标信息进行推送。
处理器701用于获取第一故障数据和第二故障数据包括:获取所述第一故障数据的第一原始数据,并且获取所述第二故障数据的第二原始数据,其中,所述第一原始数据和所述第二原始数据为二进制编码数据;利用符号表对所述第一原始数据进行还原,得到所述第一故障数据,其中,所述符号表用于表示内存地址与函数或者动态链接库的映射关系;利用所述符号表对所述第二原始数据进行还原,得到所述第二故障数据,其中,所述第一故障数据和所述第二故障数据为明文编码数据。
处理器701还用于获取第一故障数据和第二故障数据包括:获取所述第一故障数据的第一原始数据,并且获取所述第二故障数据的第二原始数据,其中,所述第一原始数据和所述第二原始数据为二进制编码数据;按照符号表的格式将所述第一原始数据解析为第一参考数据,其中,所述符号表用于表示内存地址与函数或者动态链接库的映射关系,所述第一参考数据用于表示二进制编码数据对应的所述符号表中的元素;按照符号表的格式将所述第二原始数据解析为第二参考数据,其中,所述第二参数数据用于表示所述第二原始数据的二进制编码数据对应的所述符号表中的元素,所述第一故障数据和所述第二故障数据为二进制编码数据;将所述第一参考数据作为所述第一故障数据,并将所述第二参数数据作为所述第二故障数据。
可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。
实施例4
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于存储本发明实施例的信息推送方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于移动通信网络、广域网、城域网或局域网的网络中的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
S1,获取第一故障数据和第二故障数据。
S2,提取第一故障数据携带的第一动态链接库的信息和第一函数,提取第二故障数据携带的第二动态链接库的信息和第二函数。
S3,比较第二动态链接库的信息是否与第一动态链接库的信息一致,并且比较第二函数是否与第一函数一致。
S4,比较第二动态链接库的信息是否与第一动态链接库的信息一致,并且比较第二函数是否与第一函数一致。
S5,在确定第二故障数据与第一故障数据相同时,将第一故障数据相关的目标信息作为第二故障数据的目标信息进行推送。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read‐Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:取第一故障数据和第二故障数据包括:获取第一故障数据的第一原始数据,并且获取第二故障数据的第二原始数据,其中,第一原始数据和第二原始数据为二进制编码数据;利用符号表对第一原始数据进行还原,得到第一故障数据,其中,符号表用于表示内存地址与函数或者动态链接库的映射关系;利用符号表对第二原始数据进行还原,得到第二故障数据,其中,第一故障数据和第二故障数据为明文编码数据
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:获取第一故障数据和第二故障数据包括:获取第一故障数据的第一原始数据,并且获取第二故障数据的第二原始数据,其中,第一原始数据和第二原始数据为二进制编码数据;按照符号表的格式将第一原始数据解析为第一参考数据,其中,符号表用于表示内存地址与函数或者动态链接库的映射关系,第一参考数据用于表示二进制编码数据对应的符号表中的元素;按照符号表的格式将第二原始数据解析为第二参考数据,其中,第二参数数据用于表示第二原始数据的二进制编码数据对应的符号表中的元素,第一故障数据和第二故障数据为二进制编码数据;将第一参考数据作为第一故障数据,并将第二参数数据作为第二故障数据
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:比较第二动态链接库的信息是否与第一动态链接库的信息一致包括:比较第二动态链接库是否与第一动态链接库为相同链接库,比较第二动态链接库在第二故障数据中的层级顺序与第一动态链接库在第一故障数据中的层级顺序是否相同;比较第二函数是否与第一函数一致包括:比较第二函数是否与第一函数为相同函数,比较第二函数在第二故障数据中的层级顺序与第一函数在第一故障数据中的层级顺序是否相同,其中,在第二动态链接库与第一动态链接库为相同链接库、第二动态链接库在第二故障数据中的层级顺序与第一动态链接库在第一故障数据中的层级顺序相同、第二函数与第一函数为相同函数和第二函数在第二故障数据中的层级顺序与第一函数在第一故障数据中的层级顺序相同时,第一故障数据与第二故障数据相同。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:提取第二故障数据携带的第二动态链接库的信息包括:获取用于表示动态链接库的格式信息;在第二故障数据中查找符合格式信息的数据,其中,查找到的数据按照格式信息存储;将查找到的数据作为第二动态链接库的信息。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:获取第一格式信息、第二格式信息和第三格式信息中的至少之一,其中,第一格式信息用于表示so动态链接库的信息格式,第二格式信息用于表示dylib动态链接库的信息格式,第三格式信息用于表示dex动态链接库的信息格式。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:获取用于表示第二函数的格式信息;在第二故障数据中查找符合格式信息的数据,其中,查找到的数据按照所述格式信息存储;从所述查找到的数据中提取所述第二函数。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:将所述第一动态链接库的信息和所述第二动态链接库的信息以so动态链接库的格式存储在数据库中。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:查找预先存储的信息中是否有与所述第一故障数据相关的所述目标信息;若从所述预先存储的信息中查找到所述目标信息,则针对所述第二故障数据推送所述目标信息;若所述预先存储的信息中未查找到所述目标信息,则创建所述目标信息,并推送创建的所述目标信息,其中,创建的所述目标信息与所述第一故障数据、所述第二故障数据相关联。
可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (20)
1.一种信息推送方法,其特征在于,包括:
获取第一故障数据和第二故障数据;
提取所述第一故障数据携带的第一动态链接库的信息和第一函数,提取所述第二故障数据携带的第二动态链接库的信息和第二函数,其中,所述第一函数为发生所述第一故障数据所对应的故障时被调用的函数,所述第二函数为发生所述第二故障数据所对应的故障时被调用的函数;
比较所述第二动态链接库的信息是否与所述第一动态链接库的信息一致,并且比较所述第二函数是否与所述第一函数一致;
若所述第二动态链接库的信息与所述第一动态链接库的信息一致,并且所述第二函数与所述第一函数一致,则确定所述第二故障数据与所述第一故障数据相同;
在确定所述第二故障数据与所述第一故障数据相同时,将所述第一故障数据相关的目标信息作为所述第二故障数据的目标信息进行推送。
2.根据权利要求1所述的方法,其特征在于,获取第一故障数据和第二故障数据包括:
获取所述第一故障数据的第一原始数据,并且获取所述第二故障数据的第二原始数据,其中,所述第一原始数据和所述第二原始数据为二进制编码数据;
利用符号表对所述第一原始数据进行还原,得到所述第一故障数据,其中,所述符号表用于表示内存地址与函数或者动态链接库的映射关系;
利用所述符号表对所述第二原始数据进行还原,得到所述第二故障数据,其中,所述第一故障数据和所述第二故障数据为明文编码数据。
3.根据权利要求1所述的方法,其特征在于,获取第一故障数据和第二故障数据包括:
获取所述第一故障数据的第一原始数据,并且获取所述第二故障数据的第二原始数据,其中,所述第一原始数据和所述第二原始数据为二进制编码数据;
按照符号表的格式将所述第一原始数据解析为第一参考数据,其中,所述符号表用于表示内存地址与函数或者动态链接库的映射关系,所述第一参考数据用于表示二进制编码数据对应的所述符号表中的元素;
按照符号表的格式将所述第二原始数据解析为第二参考数据,其中,所述第二参考数据用于表示所述第二原始数据的二进制编码数据对应的所述符号表中的元素,所述第一故障数据和所述第二故障数据为二进制编码数据;
将所述第一参考数据作为所述第一故障数据,并将所述第二参考数据作为所述第二故障数据。
4.根据权利要求1所述的方法,其特征在于,
比较所述第二动态链接库的信息是否与所述第一动态链接库的信息一致包括:比较所述第二动态链接库是否与所述第一动态链接库为相同链接库,比较所述第二动态链接库在所述第二故障数据中的层级顺序与所述第一动态链接库在所述第一故障数据中的层级顺序是否相同;
比较所述第二函数是否与所述第一函数一致包括:比较所述第二函数是否与所述第一函数为相同函数,比较所述第二函数在所述第二故障数据中的层级顺序与所述第一函数在所述第一故障数据中的层级顺序是否相同,
其中,在所述第二动态链接库与所述第一动态链接库为相同链接库、所述第二动态链接库在所述第二故障数据中的层级顺序与所述第一动态链接库在所述第一故障数据中的层级顺序相同、所述第二函数与所述第一函数为相同函数和所述第二函数在所述第二故障数据中的层级顺序与所述第一函数在所述第一故障数据中的层级顺序相同时,所述第一故障数据与所述第二故障数据相同。
5.根据权利要求1所述的方法,其特征在于,提取所述第二故障数据携带的第二动态链接库的信息包括:
获取用于表示动态链接库的格式信息;
在所述第二故障数据中查找符合所述格式信息的数据,其中,查找到的数据按照所述格式信息存储;
将所述查找到的数据作为所述第二动态链接库的信息。
6.根据权利要求5所述的方法,其特征在于,获取用于表示动态链接库的格式信息包括:
获取第一格式信息、第二格式信息和第三格式信息中的至少之一,其中,所述第一格式信息用于表示so动态链接库的信息格式,所述第二格式信息用于表示dylib动态链接库的信息格式,所述第三格式信息用于表示dex动态链接库的信息格式。
7.根据权利要求1所述的方法,其特征在于,提取所述第二故障数据携带的第二函数包括:
获取用于表示所述第二函数的格式信息;
在所述第二故障数据中查找符合所述格式信息的数据,其中,查找到的数据按照所述格式信息存储;
从所述查找到的数据中提取所述第二函数。
8.根据权利要求1所述的方法,其特征在于,在提取所述第一动态链接库的信息和所述第二动态链接库的信息之后,所述方法还包括:
将所述第一动态链接库的信息和所述第二动态链接库的信息以so动态链接库的格式存储在数据库中。
9.根据权利要求1所述的方法,其特征在于,将所述第一故障数据相关的目标信息作为所述第二故障数据的目标信息进行推送包括:
查找预先存储的信息中是否有与所述第一故障数据相关的所述目标信息;
若从所述预先存储的信息中查找到所述目标信息,则针对所述第二故障数据推送所述目标信息;
若所述预先存储的信息中未查找到所述目标信息,则创建所述目标信息,并推送创建的所述目标信息,其中,创建的所述目标信息与所述第一故障数据、所述第二故障数据相关联。
10.根据权利要求9所述的方法,其特征在于,在创建所述目标信息之后,所述方法还包括:
建立所述目标信息与所述第一故障数据的so动态链接库、所述第一故障数据的函数的对应关系;
按照所述对应关系存储所述目标信息、所述第一故障数据的so动态链接库和所述第一故障数据的函数。
11.一种信息推送装置,其特征在于,包括:
获取单元,用于获取第一故障数据和第二故障数据;
提取单元,用于提取所述第一故障数据携带的第一动态链接库的信息和第一函数,提取所述第二故障数据携带的第二动态链接库的信息和第二函数,其中,所述第一函数为发生所述第一故障数据所对应的故障时被调用的函数,所述第二函数为发生所述第二故障数据所对应的故障时被调用的函数;
比较单元,用于比较所述第二动态链接库的信息是否与所述第一动态链接库的信息一致,并且比较所述第二函数是否与所述第一函数一致;
确定单元,用于在所述第二动态链接库的信息与所述第一动态链接库的信息一致,并且所述第二函数与所述第一函数一致时,确定所述第二故障数据与所述第一故障数据相同;
推送单元,用于在确定所述第二故障数据与所述第一故障数据相同时,将所述第一故障数据相关的目标信息作为所述第二故障数据的目标信息进行推送。
12.根据权利要求11所述的装置,其特征在于,所述获取单元包括:
第一获取模块,用于获取所述第一故障数据的第一原始数据,并且获取所述第二故障数据的第二原始数据,其中,所述第一原始数据和所述第二原始数据为二进制编码数据;
还原模块,用于利用符号表对所述第一原始数据进行还原,得到所述第一故障数据,其中,所述符号表用于表示内存地址与函数或者动态链接库的映射关系;利用所述符号表对所述第二原始数据进行还原,得到所述第二故障数据,其中,所述第一故障数据和所述第二故障数据为明文编码数据。
13.根据权利要求11所述的装置,其特征在于,所述获取单元包括:
第二获取模块,用于获取所述第一故障数据的第一原始数据,并且获取所述第二故障数据的第二原始数据,其中,所述第一原始数据和所述第二原始数据为二进制编码数据;
第一解析模块,用于按照符号表的格式将所述第一原始数据解析为第一参考数据,其中,所述符号表用于表示内存地址与函数或者动态链接库的映射关系,所述第一参考数据用于表示二进制编码数据对应的所述符号表中的元素;
第二解析模块,用于按照符号表的格式将所述第二原始数据解析为第二参考数据,其中,所述第二参考数据用于表示所述第二原始数据的二进制编码数据对应的所述符号表中的元素,所述第一故障数据和所述第二故障数据为二进制编码数据;
第一确定模块,用于将所述第一参考数据作为所述第一故障数据,并将所述第二参考数据作为所述第二故障数据。
14.根据权利要求11所述的装置,其特征在于,所述比较单元包括:
第一比较模块,用于比较所述第二动态链接库是否与所述第一动态链接库为相同链接库,比较所述第二动态链接库在所述第二故障数据中的层级顺序与所述第一动态链接库在所述第一故障数据中的层级顺序是否相同;
第二比较模块,用于比较所述第二函数是否与所述第一函数一致包括:比较所述第二函数是否与所述第一函数为相同函数,比较所述第二函数在所述第二故障数据中的层级顺序与所述第一函数在所述第一故障数据中的层级顺序是否相同,
其中,在所述第二动态链接库与所述第一动态链接库为相同链接库、所述第二动态链接库在所述第二故障数据中的层级顺序与所述第一动态链接库在所述第一故障数据中的层级顺序相同、所述第二函数与所述第一函数为相同函数和所述第二函数在所述第二故障数据中的层级顺序与所述第一函数在所述第一故障数据中的层级顺序相同时,所述第一故障数据与所述第二故障数据相同。
15.根据权利要求11所述的装置,其特征在于,所述提取单元包括:
第三获取模块,用于获取用于表示动态链接库的格式信息;
第一查找模块,用于在所述第二故障数据中查找符合所述格式信息的数据,其中,查找到的数据按照所述格式信息存储;
第二确定模块,用于将所述查找到的数据作为所述第二动态链接库的信息。
16.根据权利要求15所述的装置,其特征在于,所述第三获取模块还用于获取第一格式信息、第二格式信息和第三格式信息中的至少之一,其中,所述第一格式信息用于表示so动态链接库的信息格式,所述第二格式信息用于表示dylib动态链接库的信息格式,所述第三格式信息用于表示dex动态链接库的信息格式。
17.根据权利要求11所述的装置,其特征在于,所述提取单元包括:
第四获取模块,用于获取用于表示所述第二函数的格式信息;
第二查找模块,用于在所述第二故障数据中查找符合所述格式信息的数据,其中,查找到的数据按照所述格式信息存储;
提取模块,用于从所述查找到的数据中提取所述第二函数。
18.根据权利要求11所述的装置,其特征在于,所述装置还包括:
第一存储单元,用于在提取所述第一动态链接库的信息和所述第二动态链接库的信息之后,将所述第一动态链接库的信息和所述第二动态链接库的信息以so动态链接库的格式存储在数据库中。
19.根据权利要求11所述的装置,其特征在于,所述推送单元包括:
第三查找模块,用于查找预先存储的信息中是否有与所述第一故障数据相关的所述目标信息;
推送模块,用于在从所述预先存储的信息中查找到所述目标信息,将所述目标信息作为所述第二故障数据的目标信息进行推送;
创建模块,用于在所述预先存储的信息中未查找到所述目标信息时,创建所述目标信息,并推送创建的所述目标信息,其中,创建的所述目标信息与所述第一故障数据、所述第二故障数据相关联。
20.根据权利要求19所述的装置,其特征在于,所述装置还包括:
建立单元,用于在创建所述目标信息之后,建立所述目标信息与所述第一故障数据的so动态链接库、所述第一故障数据的函数的对应关系;
第二存储单元,用于按照所述对应关系存储所述目标信息、所述第一故障数据的so动态链接库和所述第一故障数据的函数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610466237.8A CN107544856B (zh) | 2016-06-23 | 2016-06-23 | 信息推送方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610466237.8A CN107544856B (zh) | 2016-06-23 | 2016-06-23 | 信息推送方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107544856A CN107544856A (zh) | 2018-01-05 |
CN107544856B true CN107544856B (zh) | 2019-06-07 |
Family
ID=60959826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610466237.8A Active CN107544856B (zh) | 2016-06-23 | 2016-06-23 | 信息推送方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107544856B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104199749A (zh) * | 2014-09-17 | 2014-12-10 | 百度在线网络技术(北京)有限公司 | 一种崩溃信息的处理方法及装置 |
CN104536966A (zh) * | 2014-11-28 | 2015-04-22 | 广州华多网络科技有限公司 | 数据上传方法、数据接收方法、客户端及服务器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9952922B2 (en) * | 2013-07-18 | 2018-04-24 | Nxp Usa, Inc. | Fault detection apparatus and method |
-
2016
- 2016-06-23 CN CN201610466237.8A patent/CN107544856B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104199749A (zh) * | 2014-09-17 | 2014-12-10 | 百度在线网络技术(北京)有限公司 | 一种崩溃信息的处理方法及装置 |
CN104536966A (zh) * | 2014-11-28 | 2015-04-22 | 广州华多网络科技有限公司 | 数据上传方法、数据接收方法、客户端及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN107544856A (zh) | 2018-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103346912B (zh) | 告警相关性分析的方法、装置及系统 | |
CN112543176A (zh) | 一种异常网络访问检测方法、装置、存储介质及终端 | |
CN110569298B (zh) | 一种数据对接、可视化方法和系统 | |
CN111046011B (zh) | 日志收集方法、系统、装置、电子设备及可读存储介质 | |
CN108737182A (zh) | 系统异常的处理方法及系统 | |
CN106815125A (zh) | 一种日志审计方法及平台 | |
CN104142822A (zh) | 使用信息检索进行源代码流分析 | |
EP3107009A1 (en) | Self-learning based crawling and rule-based data mining for automatic information extraction | |
CN112738040A (zh) | 一种基于dns日志的网络安全威胁检测方法、系统及装置 | |
CN105657471A (zh) | 一种管理账户的方法和装置 | |
KR20180079434A (ko) | 바이러스 데이터베이스 획득 방법 및 기기, 장비, 서버 그리고 시스템 | |
CN112003840A (zh) | 一种基于攻击面的漏洞检测方法及系统 | |
CN117827784A (zh) | 噪音日志的过滤方法、系统 | |
CN107544856B (zh) | 信息推送方法和装置 | |
CN113688012A (zh) | 调用链监控系统及方法 | |
CN110874301A (zh) | 程序卡顿信息的获取方法和装置 | |
CN108287831B (zh) | 一种url分类方法和系统、数据处理方法和系统 | |
CN108334778A (zh) | 病毒检测方法、装置、存储介质及处理器 | |
CN114465875B (zh) | 故障处理方法及装置 | |
CN109688125A (zh) | 一种网络安全合规性自动化检测方法及装置 | |
CN114390015B (zh) | 一种基于物模型的数据推送系统、方法、设备及存储介质 | |
CN102378005B (zh) | 运动图像处理装置和运动图像处理方法 | |
CN109347948A (zh) | 一种基于区块链技术的大数据防篡改方法及系统 | |
EP3402153A1 (en) | Cloud infrastructure vulnerabilities assessment background | |
CN115296892A (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 |