CN106708734A - 软件异常检测方法及装置 - Google Patents
软件异常检测方法及装置 Download PDFInfo
- Publication number
- CN106708734A CN106708734A CN201611148502.4A CN201611148502A CN106708734A CN 106708734 A CN106708734 A CN 106708734A CN 201611148502 A CN201611148502 A CN 201611148502A CN 106708734 A CN106708734 A CN 106708734A
- Authority
- CN
- China
- Prior art keywords
- software
- file
- abnormal
- detection
- document
- 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.)
- Granted
Links
Classifications
-
- 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/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种软件异常检测方法及装置,属于计算机技术领域。所述方法包括:在软件运行正常时,若检测到终端当前处于资源空闲状态,则基于至少两个检测算法,对所述软件包含的全部文件进行异常检测;在软件发生异常时,确定软件发生异常时的崩溃进程,获取崩溃进程的调用栈,调用栈记录了崩溃进程调用的文件;若调用的文件中存在属性信息错误的文件,则确定崩溃进程调用的文件中存在异常文件,基于至少两个检测算法,对软件包含的全部文件进行异常检测。本发明在软件运行正常和异常的不同场景下采取不同的策略对软件包含的文件进行异常检测,且异常检测过程基于至少两个检测算法,因此检测方式多样,较为灵活,功能丰富,智能性较优,效果佳。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种软件异常检测方法及装置。
背景技术
计算机技术的蓬勃发展,极大地丰富了人们的日常生活,这使得越来越多的用户开始使用平板电脑、笔记本电脑或手机等设备从事上网活动,诸如通过安装的软件进行网页浏览、视频观看、聊天交友等。众所周知,在使用软件上网过程中,由于受到软件自身因素或硬盘故障、内存故障等外部因素的影响,常常会出现软件异常不能正常使用的情况。其中,大多数情况下造成软件异常的原因是软件自身出现了问题,因此时下在对软件异常进行检测时,首先且主要检测软件中是否存在异常文件。
在软件发生异常的场景下,终端进行软件异常检测时目前通常直接采取单一检测方式。以数字签名检验的检测方式为例,对于该软件的每一个文件来说,软件网站在发布该软件之前均用一个哈希函数从文件的文本中生成摘要,然后用密钥对这个摘要进行了加密,这个加密后的摘要将作为该文件的数字签名和该文件一起发送给终端;这样终端在对该文件进行异常检测时,首先用与软件网站一样的哈希函数从接收到的文件中计算出摘要,接着再用软件网站的公用密钥来对该文件附加的数字签名进行解密;如果这两个摘要相同,那么终端确定该文件未发生异常。以MD5(Message Digest Algorithm MD5,消息摘要算法第五版)校验的检测方式为例,其中一个软件通常由若干个文件组成,对于该软件中的一个文件,根据从软件网站获取的与该软件匹配的校验码对该文件进行MD5运算,得到计算结果;之后将得到的计算结果与上述校验码进行比较;如果上述计算结果与上述校验码一致,则证明该文件完整无误,未发生异常。依次类推,完成对该软件中所有文件的检测。若该软件中出现了异常文件,则表明出现的软件异常情况是由这些异常文件引起的。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
由于在软件发生异常的场景下采取单一检测方式对软件异常进行检测,因此检测方式较为单一,不够灵活,功能局限,智能性欠佳,效果不好。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种软件异常检测方法及装置。所述技术方案如下:
一方面,提供了一种软件异常检测方法,所述方法包括:
在软件运行正常时,若检测到终端当前处于资源空闲状态,则基于至少两个检测算法,对所述软件包含的至少一个文件进行异常检测;
在所述软件发生异常时,确定所述软件发生异常时的崩溃进程,获取所述崩溃进程的调用栈,所述调用栈记录了所述崩溃进程调用的文件,若所述调用的文件中存在属性信息错误的文件,则确定所述崩溃进程调用的文件中存在异常文件,基于所述至少两个检测算法,对所述软件包含的至少一个文件进行异常检测。
另一方面,提供了一种软件异常检测装置,所述装置包括:
检测模块,用于在软件运行正常时,若检测到终端当前处于资源空闲状态,则基于至少两个检测算法,对所述软件包含的至少一个文件进行异常检测;
第一确定模块,用于在所述软件发生异常时,确定所述软件发生异常时的崩溃进程;
第一获取模块,用于获取所述崩溃进程的调用栈,所述调用栈记录了所述崩溃进程调用的文件;
第二确定模块,用于在所述调用的文件中存在属性信息错误的文件时,确定所述崩溃进程调用的文件中存在异常文件;
所述检测模块,还用于在确定所述崩溃进程调用的文件中存在异常文件时,基于所述至少两个检测算法,对所述软件包含的至少一个文件进行异常检测。
本发明实施例提供的技术方案带来的有益效果是:
在软件运行正常和异常的不同场景下采取不同的策略对软件包含的文件进行异常检测,且异常检测过程基于至少两个检测算法,因此检测方式多样,较为灵活,功能丰富,智能性较优,效果佳。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A是本发明实施例提供的一种软件异常检测方法所涉及的实施环境架构图;
图1B是本发明实施例提供的一种软件异常检测方法的流程图;
图1C是本发明实施例提供的另一种软件异常检测方法的流程图;
图1D是本发明实施例提供的一种软件异常检测的过程示意图;
图2A是本发明实施例提供的一种软件异常检测装置的结构示意图;
图2B是本发明实施例提供的另一种软件异常检测装置的结构示意图;
图2C是本发明实施例提供的另一种软件异常检测装置的结构示意图;
图2D是本发明实施例提供的另一种软件异常检测装置的结构示意图;
图2E是本发明实施例提供的另一种软件异常检测装置的结构示意图;
图2F是本发明实施例提供的另一种软件异常检测装置的结构示意图;
图3是本发明实施例提供的一种终端的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
在对本发明实施例进行详细地解释说明之前,先对本发明实施例可能涉及到的名词进行解释。
数字签名:又称公钥数字签名、电子签章,是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现的用于鉴别数字信息的方法。数字签名,即是只有文件的发送方才能产生别人无法伪造的一段数字串,这段数字串同时也是对文件的发送方发送文件真实性的一个有效证明。简单地说,所谓数字签名就是附加在文件上的一些数据,或是对文件所作的密码变换。这种数据或变换允许接收方用以确认文件的来源和文件的完整性,防止被人进行伪造。
详细地签名过程为:发送文件时,发送方用一个哈希函数从文件的文本中生成摘要,然后用自己的私人密钥对这个摘要进行加密,这个加密后的摘要将作为该文件的数字签名和该文件一起发送给接收方;接收方首先用与发送方一样的哈希函数从接收到的原始文件中计算出摘要,接着再用发送方的公用密钥来对该文件附加的数字签名进行解密;如果这两个摘要相同,那么接收方确认该数字签名是发送方的,即校验该数字签名正确,否则校验该数字签名错误。其中,数字签名有两种功效:一是能确定文件确实是由发送方签名并发出来的,因为别人假冒不了发送方的签名。二是数字签名能确定文件的完整性。因为数字签名的特点是它代表了文件的特征,文件如果发生改变,摘要的值也将发生变化。其中,针对本发明实施例来说,发送方指代软件网站,接收方指代终端。
此外,由于微软提供的底层函数存在不稳定性,校验结果可能存在不准确的问题,即存在以下问题:如果校验函数返回的结果是校验通过,则文件一定是正确的。如果校验函数返回的结果是校验错误,则既可能是文件存在异常,也可能是接收方的计算机证书存在异常,而并非文件异常。
MD5(Message Digest Algorithm MD5,消息摘要算法第五版)检验:为计算机安全领域广泛使用的一种散列函数,用以提供文件的完整性保护,将文件运算为另一固定长度值,是杂凑算法的基础原理。MD5具有压缩性,容易计算,抗修改性,强抗撞击等特点。其中,MD5的校验原理为:接收方接收到发送方发送的一个文件,同时发送方在发送这个文件时,还会发送一个检验码;之后对这个文件做MD5运算,若得到的计算结果与接收到的校验码一致,则证明这个文件未发生异常。MD5校验算法的检测准确度要大于数字签名校验算法。
图1A是本发明实施例提供的一种软件异常检测方法所涉及的实施环境架构图。参见图1A,该架构中包括终端11和服务器12。其中,终端11除了可为手机、平板电脑等移动终端外,还可为个人计算机等固定终端,本发明实施例对终端11的类型不进行具体限定。以终端11上安装的安全管理软件为例,终端11在不同场景下采取不同的策略进行软件异常检测:在该安全管理软件运行正常时,若终端11检测到当前自身处于资源空闲状态,则基于至少两个检测算法,对该安全管理软件包含的全部文件进行异常检测;在该安全管理软件发生异常时,若终端11检测到该安全管理软件的崩溃进程调用的文件中存在异常文件,则基于至少两个检测算法,对该安全管理软件包含的全部文件进行异常检测。服务器12可向终端11提供该安全管理软件的任何可更新版本的安装包,其中该安装包既可以是该安全管理软件整体的全量升级包,也可以是针对该安全管理软件中部分文件的增量升级包。关于软件异常检测的详细实施方式请参见下述实施例。
图1B是本发明实施例提供的一种软件异常检测方法的流程图。以图1A所示的终端执行软件异常检测方法为例,参见图1B,本发明实施例提供的方法流程包括:
101、在启动一个软件后,判断该软件是否运行正常;若该软件运行正常,则执行下述步骤102;若该软件发生异常,则执行下述步骤103。
在本发明实施例中,为了快速解决终端上软件异常的问题,实现软件的自我修复,提出了基于主动策略和被动策略的两种软件异常检测和修复方式。其中,在软件正常运行时执行主动策略,在软件发生异常时执行被动策略。其中,软件正常运行时软件所提供的全部功能用户均可使用,在软件发生异常时,软件处于崩溃(Crash)状态,软件所提供的功能不可使用。其中,在判断一个软件是否正常运行时,可采取下述几种方式实现:判断该软件的启动进程是否处于运行状态;若该启动进程处于不可运行状态,则确定该软件发生异常;或者,由于时下一般的软件在发生异常时均会向用户报错或生成异常日志,因此可通过检测该软件的报错信息或者异常日志来确定该软件是否运行正常。若该软件当前生成了报错信息或异常日志,则确定该软件发生异常;或者,在该软件成功启动后,判断该软件的任一功能所涉及的进程是否可正常运行;若某一功能所涉及的进程可正常运行,则确定该软件发生正常。
102、若该软件运行正常,则检测终端当前是否处于资源空闲状态;若检测到终端当前处于资源空闲状态,则基于至少两个检测算法,对该软件包含的全部文件进行异常检测。
在本发明实施例中,主动策略用户的感知度低,不影响用户平时正常使用终端。基于此,当该软件在终端上正常运行的时候,该软件会自动执行一个定时任务,实时检测终端的使用情况。如果终端当前处于资源空闲状态,即终端的CPU(Central Processing Unit,中央处理单元)或内存等部件的使用率较低,比如低于一个预设阈值,且与终端适配的键盘或鼠标等输入设备均处于无输入状态,则执行对该软件的异常检测逻辑,即基于至少两个检测算法,对该软件包含的全部文件进行异常检测,也即,对该软件包括的每一个文件进行完整性校验,以确定每一个文件是否有损坏。其中,该预设阈值可为10%或20%等等,其取值可以维持终端正常运行时的最低使用率为准。需要说明的是,在主动策略下执行异常检测逻辑时,针对的是该软件包含的每一个文件,且这个异常检测过程需采用低系统优先级执行,以最大限度地减少对终端的系统资源的占用。
此外,当该软件运行正常时,在对该软件包含的全部文件进行异常检测的过程中,若尚未发现异常文件且终端由资源空闲状态转变为资源繁忙状态,则终止进行异常检测;当终端再次处于资源空闲状态时,继续对全部文件中未被检测的文件进行异常检测。换句话说,在主动策略下执行异常检测逻辑时,如果尚未在该软件包含的全部文件中发现异常文件,则这个异常检测逻辑可以被用户随时打断,比如当用户的鼠标或键盘等输入设备存在输入时,则确定终端处于资源繁忙状态,异常检测逻辑的执行进度终止。寻找下次终端处于资源空闲状态时,继续对执行进度终止之前未进行检测的文件进行异常检测,或者重新执行一个新的异常检测逻辑从头对该软件包括的全部文件进行异常检测。
进一步地,当该软件运行正常时,在对该软件包含的全部文件进行异常检测的过程中,如果已经发现该软件中存在异常文件的情况,则该软件在后续运行过程中,发生异常的概率较大,则用户的鼠标、键盘等输入设备的输入不会影响异常检测逻辑的执行进度,因此即便在检测到用户的鼠标、键盘等输入设备存在输入的情况下,异常检测逻辑也将持续完成。
其中,在基于至少两个检测算法,对该软件包含的全部文件进行异常检测时,通常采取下述方式实现:采用第一检测算法,在全部文件中确定不存在异常的第一文件;采用检测准确度大于第一检测算法的第二检测算法,在第二文件中确定存在异常的第二文件,其中第二文件为全部文件中除第一文件之外的其他文件;将第二文件确定为异常文件。
在本发明实施例中,第一检测算法指代数字签名校验算法,第二检测算法指代MD5校验算法,由于数字签名校验算法检测正常的文件一定正常,而检测异常的文件则不一定异常,因此本发明实施例采用第一检测算法判白,即仅采用第一检测算法在该软件包含的全部文件中确定不存在异常的第一文件,对于第一文件来说一定是不存在任何异常的正常文件。除了第一文件之外的全部文件中剩余的文件,第一检测算法则确定为异常文件,由于第一检测算法的精准度有限,因此剩余的文件中可能包含有真正异常的文件和误判为异常的文件。因此接下来,采用检测准确度大于数字签名校验算法的MD5校验算法对全部文件中除了第一文件之外的第二文件进行异常检测,此时本发明实施例采用第二检测算法判黑,即采用第二检测算法在第二文件中确定异常文件。此外,在检测到一个异常文件后,会实时将该文件存入一个待修复文件列表中,以等待下一步的修复过程。
在另一个实施例中,在确定该软件中的异常文件后,本发明实施例还会执行进一步检测逻辑,其中执行进一步检测逻辑还需获取异常文件的属性信息。其中,异常文件的属性信息包括文件版本信息、文件修改日期等,本发明实施例对此不进行具体限定。其中,根据文件的属性信息可确定异常文件的异常原因。比如,在文件版本信息未发生变化的场景下,可通过判断异常文件的修改日期来确定异常原因。示例来说,假设一个软件的版本信息是V1.1,则安装该软件释放文件时,文件的版本信息也应是V1.1,若一个异常文件最近一次的修改日期为11月8号12:00,此时该软件的当前版本信息为V1.1,而在10月8号12:00时该软件的版本信息和该异常文件的版本信息同样为V1.1,则基于上述情况可知该文件异常的原因很大程度上可能是被恶意篡改了。在文件版本信息发生变化的场景下,继续以上述例子为例,如果上述异常文件的当前版本信息为V2.3,则该异常文件在软件安装后应该是被执行过升级,比如执行过升级的时间是在10月8号之后的11月份,使得上述异常文件由V1.1升级到V2.3,而此时该软件的当前版本信息仍然为V1.1,因此该文件出现异常的原因很大程度上可能是升级过程导致的。
其中,还可根据属性信息中包括的文本版本信息进一步执行异常文件的修复策略。当异常文件的当前版本信息与该软件的当前版本信息不一致时,则确定异常文件的异常原因是出现了文件版本信息异常,会将该文件版本信息异常情况一并存入上述待修复文件列表中,以等待修复工具基于文件版本信息异常情况执行不同于文件版本信息正常时的修复策略。具体地修复过程请参见下述步骤104。此外,在该软件中存在异常文件的情况下,本发明实施例还包括对终端的内存以及硬盘进行故障检测的步骤,以确定文件异常原因是否由终端的内存以及硬盘故障引起,因为在内存或硬盘故障的情况下数据读写很大程度上会出现错误,从而导致文件异常;在得到对内存以及硬盘进行故障检测的检测结果后,将检测结果保存在本地,此外上述异常原因也可同该检测结果一并保存在本地。另外,还可对异常文件执行文件错误类型的判定,并将得到的判定结果保存在本地。本发明实施例对进一步检测逻辑涉及的检测种类不进行限定。
103、若该软件发生异常,则确定软件发生异常时的崩溃进程,获取崩溃进程的调用栈,若该调用栈记录的崩溃进程调用的文件中存在属性信息错误的文件,确定检测到该软件的崩溃进程调用的文件中存在异常文件,则基于至少两个检测算法,对软件包含的全部文件进行异常检测。
在本发明实施例中,若如果该软件的文件异常,并导致该软件崩溃,则在该软件崩溃之后,该软件会自动调用异常上报工具来上报及分析软件异常,并在检测到该软件的崩溃进程调用的文件中存在异常文件后,调用检测工具对该软件包括的全部文件进行异常检测,即调用检测工具,基于至少两个检测算法,对该软件包含的全部文件进行异常检测。其中,异常上报工具指代Bugreport工具。其中,Bugreport工具本质上是一个进程文件,时下很多的软件中均包括这一工具,在软件的安装文件夹中便可查找到。这一工具的主要作用是对软件出错返回报告,一旦其所属软件运行错误导致软件崩溃,Bugreport工具便会将发生的错误以电子邮件等方式发送回服务器。其中,Bugreport工具在检测该软件的崩溃进程调用的文件中存在异常文件时,通常采取下述方式实现:确定该软件发生异常时的崩溃进程;获取崩溃进程的调用栈,其中调用栈中记录了崩溃进程调用的文件;若调用的文件中存在属性信息错误的文件,则确定崩溃进程调用的文件中存在异常文件。
即,Bugreport工具通过微软提供的底层函数接口,分析该软件的崩溃进程的调用栈,其中该调用栈中记录了崩溃进程在未发生崩溃之前运行正常时调用的文件。进一步,Bugreport工具分析上述调用的文件的属性信息,其中属性信息可包括文件路径、文件名、文件的数字签名、文件MD5值,文件版本号、文件修改时间等,本发明实施例对此不进行具体限定。在本发明实施例中,通过对调用的文件进行数字签名快速判定,确定上述调用的文件中是否存在异常文件,即判定上述调用的文件中是否存在受损的文件。其中,如果一个调用的文件的数字签名错误,则该文件具有很高的概率受损,则Bugreport工具确定崩溃进程调用的文件中存在异常文件,会以最高系统优先级调用检测工具,而文件检测工具也同样采用最高系统优先级执行异常检测逻辑,也即通过采取与上述步骤102类似的方式在该软件包括的全部文件中确定异常文件,在确定异常文件后,后续修复工具也会采用最高系统优先级执行修复逻辑,以确保终端上的异常文件被及时修复。
针对被动策略来说,在检测到一个异常文件后,也会实时将该文件存入一个待修复文件列表中,以等待下一步的修复过程。其中,进一步检测逻辑同上述步骤102类似,本发明实施例对此不进行具体限定。
在软件发生异常的场景下,在调用异常上报工具对崩溃进程调用的文件进行检测后;如果崩溃进程调用的文件中存在异常文件,则导致进程崩溃,进而导致软件异常的原因很有可能由文件出现异常引起的。因此如上述步骤103所示还需调用检测工具,基于至少两个检测算法对该软件包含的全部文件进行异常检测。之所以调用检测工具进行全部文件的检测是因为:一方面异常上报工具的检测精准度不是特别高,因此还需采用检测工具对崩溃进程调用的文件进行再次检测。
另一方面,除了崩溃进程调用的文件之外,其他文件中还有可能存在潜在的可能引起软件异常的文件,因此需要针对全部文件进行检测。在另一个实施例中,如果崩溃进程调用的文件中没有一个文件异常,则导致进程崩溃,进而导致软件异常的原因基本上可以确定不是由文件出现异常引起的。此时的软件异常情况很有可能是由于软件或崩溃进程本身有bug(缺陷)存在,或者软件当前的运行环境有问题存在,比如操作系统出现故障,或者终端的内存或硬盘等方面出现了故障,针对这一情况,终端此时可向服务器上报当前的问题现场,或者在对上述可能造成软件异常的情形进行相关检测后,比如在进行内存故障检测或硬盘故障检测后,将检测结果上报给服务器,进而服务器在接收到终端上报的上述异常信息后,由服务器根据问题现场或接收到的检测结果对软件发生异常的原因进行进一步地分析。
本发明实施例提供的方法,在软件运行正常和异常的不同场景下采取不同的策略对软件包含的文件进行异常检测,且异常检测过程基于至少两个检测算法,因此检测方式多样,较为灵活,功能丰富,智能性较优,效果佳。
图1C是本实施例提供的一种软件异常检测方法,该方法在基于上述图1B提供的软件异常检测方法检测到异常情况后,还支持对异常文件进行修复的过程。以图1A所示的终端执行软件异常检测方法为例,参见图1C,本发明实施例提供的方法流程包括:
111、在启动一个软件后,判断该软件是否运行正常;若该软件运行正常,则执行下述步骤112;若该软件发生异常,则执行下述步骤113。
该步骤111同上述图1B中所示实施例的步骤101,具体参见上述内容,此处不再赘述。
112、若该软件运行正常,则检测终端当前是否处于资源空闲状态;若检测到终端当前处于资源空闲状态,则基于至少两个检测算法,对该软件包含的全部文件进行异常检测。
该步骤112同上述图1B中所示实施例的步骤102,具体参见上述内容,此处不再赘述。
113、若该软件发生异常,则确定软件发生异常时的崩溃进程,获取崩溃进程的调用栈,若该调用栈记录的崩溃进程调用的文件中存在属性信息错误的文件,确定检测到该软件的崩溃进程调用的文件中存在异常文件,则基于至少两个检测算法,对软件包含的全部文件进行异常检测。
该步骤113同上述图1B中所示实施例的步骤103,具体参见上述内容,此处不再赘述。
114、对该软件的异常文件进行修复。
针对主动策略来说,若在该软件运行正常时检测到全部文件中存在异常文件,且异常文件未导致软件发生异常,则在对软件中每一个文件进行异常检测结束时,采用第一系统优先级,对异常文件进行修复。针对被动策略来说,若在软件发生异常时检测到全部文件中存在异常文件,则在对软件中每一个文件进行异常检测结束时,采用第二系统优先级,对异常文件进行修复;其中,第一系统优先级的级别低于第二系统优先级。比如,第一系统优先级可为最低系统优先级,而第二系统优先级可为最高系统优先级。即,在检测到异常文件且并未导致软件发生异常时,采用主动修复方式,可以慢慢执行修复过程。该种主动修复方式的用户感知度低,不影响用户平时正常使用软件;而当软件因为文件异常而发生崩溃时,采用被动修复方式,需要对异常文件立即执行修复过程,使得软件尽快恢复正常运行。该种被动修复方式可以快速定位问题,提高软件运行的稳定性。需要说明的是,如果在软件运行正常过程中,该软件突然因为文件异常发生崩溃,则立即由主动策略跳转为被动策略,执行异常检测逻辑以及修复逻辑。
在本发明实施例中,在对异常文件进行修复时,可采取下述方式实现:
情况一、文件版本信息未异常。若异常文件的当前版本信息与软件的当前软件版本信息一致,则在本地备份的该软件的安装包文件中,获取与该异常文件同名的第一替换文件,以第一替换文件替换该异常文件。
情况二、文件版本信息异常。若异常文件的当前版本信息与软件的当前软件版本信息不一致,则从服务器获取与该异常文件同名且版本最新的第二替换文件,以第二替换文件替换该异常文件。针对这种情况,证明在该软件的软件版本最后一次更新之后,该软件包括的全部文件中有部分文件进行了模块升级,因此从服务器中获取与该异常文件同名且版本最新的文件替换异常文件,即采取模块升级整体回滚的方式执行修复过程。
在另一个实施例中,对异常文件的修复过程采取尝试后重启的方式,也即先尝试替换文件,如果异常文件存在被占用等情况,则异常文件暂时无法被替换,此时对异常文件进行修复失败,则等待终端执行重启操作;若之后的某一时刻检测到终端执行了重启操作,则在重启过程中再次执行对异常文件进行修复的过程。
在另一个实施例中,在修复工具执行完毕上述对异常文件的修复过程后,还可执行该软件的版本升级或该软件中任一文件的版本升级。即,在对异常文件修复完毕后,检测该软件或该软件中包含的任一文件是否存在可更新版本;若该软件存在可更新版本,则从服务器获取可更新版本的软件安装包,并根据软件安装包对该软件进行升级;若任一文件存在可更新版本,则从服务器获取可更新版本的文件安装包,并根据文件安装包对任一文件进行升级。
基于上述软件异常检测及修复过程,本实施例提供的方法可以图1D进行概括说明。如图1D所示,软件启动后,判断该软件是否运行正常,如果软件运行正常,并在资源空闲时,对软件执行异常文件的检测逻辑;如果软件运行异常,启动Bugreport工具检测软件的崩溃进程调用的文件中是否存在异常文件,如果崩溃进程调用的文件中存在异常文件,则对软件执行异常文件的检测逻辑。无论是在上述哪种场景下对软件执行异常文件的检测逻辑,在检测到文件破坏等异常后,执行修复过程。
本发明实施例提供的方法,在软件运行正常和异常的不同场景下采取不同的策略对软件包含的文件进行异常检测,且异常检测过程基于至少两个检测算法,因此检测方式多样,较为灵活,功能丰富,智能性较优,效果佳。
另外,在检测到异常文件后,通过针对异常文件对软件的不同影响情况,采用不同的修复方式对异常文件进行修复,可进一步提高软件运行的稳定性。
本发明实施例提供了一种软件异常检测装置的结构示意图。
参见图2A,该装置包括:
检测模块201,用于在软件运行正常时,若检测到终端当前处于资源空闲状态,则基于至少两个检测算法,对软件包含的全部文件进行异常检测。
参见图2B,该装置包括:
第一确定模块202,用于在所述软件发生异常时,确定所述软件发生异常时的崩溃进程;
第一获取模块203,用于获取所述崩溃进程的调用栈,所述调用栈记录了所述崩溃进程调用的文件;
第二确定模块204,用于在所述调用的文件中存在属性信息错误的文件时,确定所述崩溃进程调用的文件中存在异常文件;
检测模块201,还用于在确定所述崩溃进程调用的文件中存在异常文件时,基于至少两个检测算法,对软件包含的全部文件进行异常检测。
在另一个实施例中,检测模块201,基于至少两个检测算法,对所述软件全部文件进行异常检测时,用于采用第一检测算法,在全部文件中确定不存在异常的第一文件;采用检测准确度大于第一检测算法的第二检测算法,在第二文件中确定存在异常的文件,第二文件为全部文件中除第一文件之外的其他文件;将存在异常的文件确定为异常文件。
在另一个实施例中,参见图2C,该装置还包括:
上报模块205,用于确定所述软件发生异常时的崩溃进程之后,若未检测到所述软件的崩溃进程调用的文件中存在异常文件,则上报异常信息。
在另一个实施例中,参见图2D,该装置还包括:
修复模块206,用于若在软件运行正常时检测到全部文件中存在异常文件,且异常文件未导致软件发生异常,则在对软件中每一个文件进行异常检测结束时,采用第一系统优先级,对异常文件进行修复;
修复模块206,还用于若在软件发生异常时检测到全部文件中存在异常文件,则在对软件中每一个文件进行异常检测结束时,采用第二系统优先级,对异常文件进行修复;
其中,第一系统优先级的级别低于第二系统优先级。
在另一个实施例中,参见图2E,该装置还包括:
第二获取模块207,用于在确定全部文件中的异常文件后,获取异常文件的属性信息;
第三确定模块208,用于根据属性信息,确定异常文件的异常原因;
检测模块201,还用于对终端的内存以及硬盘进行故障检测,得到检测结果;保存模块209,用于将异常原因和检测结果保存在本地。
在另一个实施例中,修复模块206,用于判断异常文件的属性信息中的当前版本信息与软件的当前软件版本信息是否一致;若异常文件的当前版本信息与软件的当前软件版本信息一致,则在本地备份的软件的安装包文件中,获取与异常文件同名的第一替换文件,以第一替换文件替换异常文件;若异常文件的当前版本信息与软件的当前软件版本信息不一致,则从服务器获取与异常文件同名且版本最新的第二替换文件,以第二替换文件替换异常文件。
在另一个实施例中,修复模块206,用于若对异常文件进行修复失败,则在检测到终端执行重启操作后,在重启过程中再次执行对异常文件进行修复的过程。
在另一个实施例中,参见图2F,该装置还包括:
升级模块210,还用于检测软件或软件中包含的任一文件是否存在可更新版本;若软件存在可更新版本,则从服务器获取可更新版本的软件安装包,并根据软件安装包对软件进行升级;
升级模块210,还用于若任一文件存在可更新版本,则从服务器获取可更新版本的文件安装包,并根据文件安装包对任一文件进行升级。
在另一个实施例中,检测模块201,还用于当软件运行正常时,在对软件包含的全部文件进行异常检测的过程中,若尚未发现异常文件且终端由资源空闲状态转变为资源繁忙状态,则终止进行异常检测;当终端再次处于资源空闲状态时,继续对全部文件中未被检测的文件进行异常检测。
本发明实施例提供的装置,在软件运行正常和异常的不同场景下采取不同的策略对软件包含的文件进行异常检测,且异常检测过程基于至少两个检测算法,因此检测方式多样,较为灵活,功能丰富,智能性较优,效果佳。
另外,在检测到异常文件后,通过针对异常文件对软件的不同影响情况,采用不同的修复方式对异常文件进行修复,可进一步提高软件运行的稳定性。
需要说明的是:上述实施例提供的软件异常检测装置在检测软件异常时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的软件异常检测装置与软件异常检测方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图3是本发明实施例提供的一种终端的结构示意图,该终端可以用于执行上述实施例中提供的软件异常检测方法。参见图3,该终端300包括:
RF(Radio Frequency,射频)电路110、包括有一个或一个以上计算机可读存储介质的存储器120、输入单元130、显示单元140、传感器150、音频电路160、WiFi(WirelessFidelity,无线保真)模块170、包括有一个或者一个以上处理核心的处理器180、以及电源190等部件。本领域技术人员可以理解,图3中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器180处理;另外,将涉及上行的数据发送给基站。通常,RF电路110包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他设备通信。无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(CodeDivision Multiple Access,码分多址)、WCDMA(Wideband Code Division MultipleAccess,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(ShortMessaging Service,短消息服务)等。
存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端300的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器120还可以包括存储器控制器,以提供处理器180和输入单元130对存储器120的访问。
输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括触敏表面131以及其他输入设备132。触敏表面131,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面131上或在触敏表面131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面131。除了触敏表面131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元140可用于显示由用户输入的信息或提供给用户的信息以及终端300的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板141。进一步的,触敏表面131可覆盖显示面板141,当触敏表面131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图3中,触敏表面131与显示面板141是作为两个独立的部件来实现输入和输出功能,但是在某些实施例中,可以将触敏表面131与显示面板141集成而实现输入和输出功能。
终端300还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在终端300移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端300还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路160、扬声器161,传声器162可提供用户与终端300之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一终端,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与终端300的通信。
WiFi属于短距离无线传输技术,终端300通过WiFi模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。
处理器180是终端300的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行终端300的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理核心;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
终端300还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端300还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端的显示单元是触摸屏显示器,终端还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行述一个或者一个以上程序包含用于执行上述软件异常检测方法的指令。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (18)
1.一种软件异常检测方法,其特征在于,所述方法包括:
在软件运行正常时,若检测到终端当前处于资源空闲状态,则基于至少两个检测算法,对所述软件包含的全部文件进行异常检测;
在所述软件发生异常时,确定所述软件发生异常时的崩溃进程,获取所述崩溃进程的调用栈,所述调用栈记录了所述崩溃进程调用的文件,若所述调用的文件中存在属性信息错误的文件,则确定所述崩溃进程调用的文件中存在异常文件,基于所述至少两个检测算法,对所述软件包含的全部文件进行异常检测。
2.根据权利要求1所述的方法,其特征在于,所述基于至少两个检测算法,对所述软件包含的全部文件进行异常检测,包括:
采用第一检测算法,在所述全部文件中确定不存在异常的第一文件;
采用检测准确度大于所述第一检测算法的第二检测算法,在第二文件中确定存在异常的文件,所述第二文件为所述全部文件中除所述第一文件之外的其他文件;
将所述存在异常的文件确定为所述异常文件。
3.根据权利要求要求1所述的方法,其特征在于,所述方法还包括:
确定所述软件发生异常时的崩溃进程之后,若未检测到所述软件的崩溃进程调用的文件中存在异常文件,则上报异常信息。
4.根据权利要求1至3中任一权利要求所述的方法,其特征在于,所述方法还包括:
若在所述软件运行正常时检测到所述全部文件中存在异常文件,且所述异常文件未导致所述软件发生异常,则在对所述软件中每一个文件进行异常检测结束时,采用第一系统优先级,对所述异常文件进行修复;
若在所述软件发生异常时检测到所述全部文件中存在异常文件,则在对所述软件中每一个文件进行异常检测结束时,采用第二系统优先级,对所述异常文件进行修复;
其中,所述第一系统优先级的级别低于所述第二系统优先级。
5.根据权利要求1至3中任一权利要求所述的方法,其特征在于,所述方法还包括:
在确定所述全部文件中的异常文件后,获取所述异常文件的属性信息;
根据所述属性信息,确定所述异常文件的异常原因;
对所述终端的内存以及硬盘进行故障检测,得到检测结果;
将所述异常原因和所述检测结果保存在本地。
6.根据权利要求4所述的方法,其特征在于,所述对所述异常文件进行修复,包括:
判断所述异常文件的属性信息中的当前版本信息与所述软件的当前软件版本信息是否一致;
若所述异常文件的当前版本信息与所述软件的当前软件版本信息一致,则在本地备份的所述软件的安装包文件中,获取与所述异常文件同名的第一替换文件,以所述第一替换文件替换所述异常文件;
若所述异常文件的当前版本信息与所述软件的当前软件版本信息不一致,则从服务器获取与所述异常文件同名且版本最新的第二替换文件,以所述第二替换文件替换所述异常文件。
7.根据权利要求4所述的方法,其特征在于,所述对所述异常文件进行修复,包括:
若对所述异常文件进行修复失败,则在检测到所述终端执行重启操作后,在重启过程中再次执行对所述异常文件进行修复的过程。
8.根据权利要求4所述的方法,其特征在于,所述方法还包括:
检测所述软件或所述软件中包含的任一文件是否存在可更新版本;
若所述软件存在可更新版本,则从服务器获取所述可更新版本的软件安装包,并根据所述软件安装包对所述软件进行升级;
若所述任一文件存在可更新版本,则从服务器获取所述可更新版本的文件安装包,并根据所述文件安装包对所述任一文件进行升级。
9.根据权利要求1至3中任一权利要求所述的方法,其特征在于,所述方法还包括:
当所述软件运行正常时,在对所述软件包含的全部文件进行异常检测的过程中,若尚未发现异常文件且所述终端由所述资源空闲状态转变为资源繁忙状态,则终止进行异常检测;
当所述终端再次处于所述资源空闲状态时,继续对所述全部文件中未被检测的文件进行异常检测。
10.一种软件异常检测装置,其特征在于,所述装置包括:
检测模块,用于在软件运行正常时,若检测到终端当前处于资源空闲状态,则基于至少两个检测算法,对所述软件全部文件进行异常检测;
第一确定模块,用于在所述软件发生异常时,确定所述软件发生异常时的崩溃进程;
第一获取模块,用于获取所述崩溃进程的调用栈,所述调用栈记录了所述崩溃进程调用的文件;
第二确定模块,用于在所述调用的文件中存在属性信息错误的文件时,确定所述崩溃进程调用的文件中存在异常文件;
所述检测模块,还用于在确定所述崩溃进程调用的文件中存在异常文件时,基于所述至少两个检测算法,对所述软件全部文件进行异常检测。
11.根据权利要求10所述的装置,其特征在于,所述检测模块,基于至少两个检测算法,对所述软件全部文件进行异常检测时,用于采用第一检测算法,在所述全部文件中确定不存在异常的第一文件;采用检测准确度大于所述第一检测算法的第二检测算法,在第二文件中确定存在异常的文件,所述第二文件为所述全部文件中除所述第一文件之外的其他文件;将所述存在异常的文件确定为所述异常文件。
12.根据权利要求要求10所述的装置,其特征在于,所述装置还包括:
上报模块,用于确定所述软件发生异常时的崩溃进程之后,若未检测到所述软件的崩溃进程调用的文件中存在异常文件,则上报异常信息。
13.根据权利要求10至12中任一权利要求所述的装置,其特征在于,所述装置还包括:
修复模块,用于若在所述软件运行正常时检测到所述全部文件中存在异常文件,且所述异常文件未导致所述软件发生异常,则在对所述软件中每一个文件进行异常检测结束时,采用第一系统优先级,对所述异常文件进行修复;
所述修复模块,还用于若在所述软件发生异常时检测到所述全部文件中存在异常文件,则在对所述软件中每一个文件进行异常检测结束时,采用第二系统优先级,对所述异常文件进行修复;
其中,所述第一系统优先级的级别低于所述第二系统优先级。
14.根据权利要求10至12中任一权利要求所述的装置,其特征在于,所述装置还包括:
第二获取模块,用于在确定所述全部文件中的异常文件后,获取所述异常文件的属性信息;
第三确定模块,用于根据所述属性信息,确定所述异常文件的异常原因;
所述检测模块,还用于对所述终端的内存以及硬盘进行故障检测,得到检测结果;
保存模块,用于将所述异常原因和所述检测结果保存在本地。
15.根据权利要求13所述的装置,其特征在于,所述修复模块,用于判断所述异常文件的属性信息中的当前版本信息与所述软件的当前软件版本信息是否一致;若所述异常文件的当前版本信息与所述软件的当前软件版本信息一致,则在本地备份的所述软件的安装包文件中,获取与所述异常文件同名的第一替换文件,以所述第一替换文件替换所述异常文件;若所述异常文件的当前版本信息与所述软件的当前软件版本信息不一致,则从服务器获取与所述异常文件同名且版本最新的第二替换文件,以所述第二替换文件替换所述异常文件。
16.根据权利要求13所述的装置,其特征在于,所述修复模块,用于若对所述异常文件进行修复失败,则在检测到所述终端执行重启操作后,在重启过程中再次执行对所述异常文件进行修复的过程。
17.根据权利要求13所述的装置,其特征在于,所述装置还包括:
升级模块,用于检测所述软件或所述软件中包含的任一文件是否存在可更新版本;若所述软件存在可更新版本,则从服务器获取所述可更新版本的软件安装包,并根据所述软件安装包对所述软件进行升级;
所述升级模块,还用于若所述任一文件存在可更新版本,则从服务器获取所述可更新版本的文件安装包,并根据所述文件安装包对所述任一文件进行升级。
18.根据权利要求10至12中任一权利要求所述的装置,其特征在于,所述检测模块,还用于当所述软件运行正常时,在对所述软件全部文件进行异常检测的过程中,若尚未发现异常文件且所述终端由所述资源空闲状态转变为资源繁忙状态,则终止进行异常检测;当所述终端再次处于所述资源空闲状态时,继续对所述全部文件中未被检测的文件进行异常检测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611148502.4A CN106708734B (zh) | 2016-12-13 | 2016-12-13 | 软件异常检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611148502.4A CN106708734B (zh) | 2016-12-13 | 2016-12-13 | 软件异常检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106708734A true CN106708734A (zh) | 2017-05-24 |
CN106708734B CN106708734B (zh) | 2020-01-10 |
Family
ID=58937398
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611148502.4A Active CN106708734B (zh) | 2016-12-13 | 2016-12-13 | 软件异常检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106708734B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108491320A (zh) * | 2018-03-05 | 2018-09-04 | 平安普惠企业管理有限公司 | 应用程序的异常分析方法、装置、计算机设备和存储介质 |
CN109388569A (zh) * | 2018-10-08 | 2019-02-26 | 金蝶软件(中国)有限公司 | 远程检测客户端环境异常的方法、测试服务器及存储介质 |
CN109768896A (zh) * | 2018-12-14 | 2019-05-17 | 平安普惠企业管理有限公司 | 监控服务器环境状态的方法、装置和计算机设备 |
CN109766701A (zh) * | 2018-06-26 | 2019-05-17 | 360企业安全技术(珠海)有限公司 | 针对异常进程结束操作的处理方法、装置、及电子装置 |
CN110399246A (zh) * | 2019-07-30 | 2019-11-01 | 腾讯科技(深圳)有限公司 | 程序修复方法和装置 |
CN110764977A (zh) * | 2019-09-27 | 2020-02-07 | 赛诺贝斯(北京)营销技术股份有限公司 | 一种实现系统安全的报警方法和装置 |
CN111124821A (zh) * | 2019-12-13 | 2020-05-08 | 苏州智加科技有限公司 | 行车软件检测方法、装置及存储介质 |
CN111752909A (zh) * | 2020-06-11 | 2020-10-09 | 厦门网宿有限公司 | 一种多版本文件的操作方法、系统及装置 |
CN112114991A (zh) * | 2020-09-18 | 2020-12-22 | 北京百度网讯科技有限公司 | 小程序的异常处理方法、装置、电子设备和存储介质 |
CN113467407A (zh) * | 2021-09-06 | 2021-10-01 | 西安热工研究院有限公司 | 一种分散控制系统故障信息收集方法、系统及设备 |
US20220092201A1 (en) * | 2018-08-17 | 2022-03-24 | Microchip Technology Incorporated | Authentication of files |
CN114937316A (zh) * | 2022-05-18 | 2022-08-23 | 深圳市易孔立出软件开发有限公司 | 一种软件故障检测方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080177827A1 (en) * | 2007-01-22 | 2008-07-24 | Fujitsu Limited | Software operation results management system, method, and program |
CN103400076A (zh) * | 2013-07-30 | 2013-11-20 | 腾讯科技(深圳)有限公司 | 一种移动终端上的恶意软件检测方法、装置和系统 |
CN103856368A (zh) * | 2011-06-27 | 2014-06-11 | 北京奇虎科技有限公司 | 一种监控程序的方法及系统 |
CN105653432A (zh) * | 2015-12-22 | 2016-06-08 | 北京奇虎科技有限公司 | 一种崩溃数据的处理方法和装置 |
CN106095500A (zh) * | 2016-06-08 | 2016-11-09 | 江苏中威科技软件系统有限公司 | 一种软件自动更新的方法及系统 |
-
2016
- 2016-12-13 CN CN201611148502.4A patent/CN106708734B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080177827A1 (en) * | 2007-01-22 | 2008-07-24 | Fujitsu Limited | Software operation results management system, method, and program |
CN103856368A (zh) * | 2011-06-27 | 2014-06-11 | 北京奇虎科技有限公司 | 一种监控程序的方法及系统 |
CN103400076A (zh) * | 2013-07-30 | 2013-11-20 | 腾讯科技(深圳)有限公司 | 一种移动终端上的恶意软件检测方法、装置和系统 |
CN105653432A (zh) * | 2015-12-22 | 2016-06-08 | 北京奇虎科技有限公司 | 一种崩溃数据的处理方法和装置 |
CN106095500A (zh) * | 2016-06-08 | 2016-11-09 | 江苏中威科技软件系统有限公司 | 一种软件自动更新的方法及系统 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108491320A (zh) * | 2018-03-05 | 2018-09-04 | 平安普惠企业管理有限公司 | 应用程序的异常分析方法、装置、计算机设备和存储介质 |
CN109766701B (zh) * | 2018-06-26 | 2021-04-27 | 360企业安全技术(珠海)有限公司 | 针对异常进程结束操作的处理方法、装置、及电子装置 |
CN109766701A (zh) * | 2018-06-26 | 2019-05-17 | 360企业安全技术(珠海)有限公司 | 针对异常进程结束操作的处理方法、装置、及电子装置 |
US20220092201A1 (en) * | 2018-08-17 | 2022-03-24 | Microchip Technology Incorporated | Authentication of files |
CN109388569A (zh) * | 2018-10-08 | 2019-02-26 | 金蝶软件(中国)有限公司 | 远程检测客户端环境异常的方法、测试服务器及存储介质 |
CN109768896A (zh) * | 2018-12-14 | 2019-05-17 | 平安普惠企业管理有限公司 | 监控服务器环境状态的方法、装置和计算机设备 |
CN109768896B (zh) * | 2018-12-14 | 2022-03-18 | 平安普惠企业管理有限公司 | 监控服务器环境状态的方法、装置和计算机设备 |
CN110399246A (zh) * | 2019-07-30 | 2019-11-01 | 腾讯科技(深圳)有限公司 | 程序修复方法和装置 |
CN110399246B (zh) * | 2019-07-30 | 2022-04-22 | 腾讯科技(深圳)有限公司 | 程序修复方法和装置 |
CN110764977A (zh) * | 2019-09-27 | 2020-02-07 | 赛诺贝斯(北京)营销技术股份有限公司 | 一种实现系统安全的报警方法和装置 |
CN110764977B (zh) * | 2019-09-27 | 2023-11-10 | 赛诺贝斯(北京)营销技术股份有限公司 | 一种实现系统安全的报警方法和装置 |
CN111124821A (zh) * | 2019-12-13 | 2020-05-08 | 苏州智加科技有限公司 | 行车软件检测方法、装置及存储介质 |
CN111752909A (zh) * | 2020-06-11 | 2020-10-09 | 厦门网宿有限公司 | 一种多版本文件的操作方法、系统及装置 |
CN111752909B (zh) * | 2020-06-11 | 2023-05-16 | 厦门网宿有限公司 | 一种多版本文件的操作方法、系统及装置 |
CN112114991A (zh) * | 2020-09-18 | 2020-12-22 | 北京百度网讯科技有限公司 | 小程序的异常处理方法、装置、电子设备和存储介质 |
CN112114991B (zh) * | 2020-09-18 | 2024-01-16 | 北京百度网讯科技有限公司 | 小程序的异常处理方法、装置、电子设备和存储介质 |
CN113467407A (zh) * | 2021-09-06 | 2021-10-01 | 西安热工研究院有限公司 | 一种分散控制系统故障信息收集方法、系统及设备 |
CN113467407B (zh) * | 2021-09-06 | 2021-11-16 | 西安热工研究院有限公司 | 一种分散控制系统故障信息收集方法、系统及设备 |
CN114937316A (zh) * | 2022-05-18 | 2022-08-23 | 深圳市易孔立出软件开发有限公司 | 一种软件故障检测方法、装置、设备及介质 |
CN114937316B (zh) * | 2022-05-18 | 2023-12-29 | 深圳市易孔立出软件开发有限公司 | 一种软件故障检测方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106708734B (zh) | 2020-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106708734A (zh) | 软件异常检测方法及装置 | |
US10187855B2 (en) | Message processing method and apparatus | |
CN105278937B (zh) | 一种显示弹出框消息的方法及装置 | |
CN106502906B (zh) | 一种测试应用程序的方法和装置 | |
CN107273160A (zh) | 一种版本升级的方法及装置 | |
CN103810004B (zh) | 嵌入式系统升级的方法、装置及设备 | |
CN104852885A (zh) | 一种进行验证码验证的方法、装置和系统 | |
CN105847325B (zh) | 应用客户端的调试方法及装置 | |
CN103763112B (zh) | 一种用户身份保护方法和装置 | |
CN104965722B (zh) | 一种显示信息的方法及装置 | |
CN108089977A (zh) | 一种应用程序的异常处理方法、装置及移动终端 | |
CN107622200A (zh) | 应用程序的安全性检测方法及装置 | |
CN107766747A (zh) | 校验应用程序安装包完整性的方法、移动终端及服务器 | |
CN106888087A (zh) | 一种管理证书的方法和装置 | |
CN104104656B (zh) | 找回帐号的方法及装置 | |
CN106789866B (zh) | 一种检测恶意网址的方法及装置 | |
CN106649126A (zh) | 一种对应用程序进行测试的方法和装置 | |
CN108073495A (zh) | 应用程序崩溃原因的定位方法及装置 | |
CN103501487A (zh) | 分类器更新方法、装置、终端、服务器及系统 | |
CN106708555B (zh) | 一种加载插件的方法和装置 | |
CN104731782B (zh) | 一种信息处理的方法及移动终端 | |
CN108090345A (zh) | linux系统外部命令执行方法及装置 | |
CN107122036A (zh) | 中央处理器频率调节方法及装置 | |
CN104166899B (zh) | 语音互动的方法及终端 | |
CN103729283B (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 |