CN109343853B - 一种应用程序的异常识别方法及设备 - Google Patents
一种应用程序的异常识别方法及设备 Download PDFInfo
- Publication number
- CN109343853B CN109343853B CN201810942567.9A CN201810942567A CN109343853B CN 109343853 B CN109343853 B CN 109343853B CN 201810942567 A CN201810942567 A CN 201810942567A CN 109343853 B CN109343853 B CN 109343853B
- Authority
- CN
- China
- Prior art keywords
- application program
- abnormality
- program
- abnormal
- indication identifier
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明适用于信息处理技术领域,提供了一种应用程序的异常识别方法及设备,包括:获取应用程序的程序文件,并将异常指示标识符添加到程序文件内;调整异常指示标识符的参数值;创建异常监听线程,并添加应用程序的程序标识至异常监听线程的监听对象列表内;若检测到监听对象列表中任一程序标识对应的应用程序启动,则调用异常监听线程识别该应用程序的异常指示标识符;若异常指示标识符为第二位值,则生成关于用于说明应用程序异常关闭的信息。本发明在下一次启动时,通过异常指示标识符确定上一次运行是否被正常关闭,从而提高了异常识别以及稳定性的评估的准确性,便于对应用程序进行优化调整,减少程序存在的漏洞,提高应用程序的安全性。
Description
技术领域
本发明属于信息处理技术领域,尤其涉及一种应用程序的异常识别方法及设备。
背景技术
随着移动设备技术的不断发展,应用程序作为移动设备的重要功能载体,其稳定性以及可靠性直接影响移动设备的性能。而异常率作为衡量应用程序稳定性的指标之一,准确识别异常情况并生成异常记录显得尤为重要。现有的应用程序的异常识别方法,主要在应用程序发生异常时创建一条异常记录,但当出现较大异常情况时,例如程序在后台运行时因设备资源占用过高,而导致异常退出时,应用程序并没有并由足够的资源创建异常记录,导致统计得到的异常次数与实际发生的异常次数会存在较大的差异,异常识别的准确性较低,从而降低了对于稳定性的评估的准确性,不利于对应用程序进行优化调整。
发明内容
有鉴于此,本发明实施例提供了一种应用程序的异常识别方法及设备,以解决现有的应用程序的异常识别方法,导致统计得到的异常次数与实际发生的异常次数会存在较大的差异,异常识别的准确性较低,从而降低了对于稳定性的评估的准确性,不利于对应用程序进行优化调整的问题。
本发明实施例的第一方面提供了一种应用程序的异常识别方法,包括:
获取应用程序的程序文件,并将异常指示标识符添加到所述程序文件内;其中,所述异常指示标识符的默认值为第一位值;
实时监测所述应用程序的运行状态,若检测到所述应用程序从前台运行状态切换至后台运行状态,则调整所述异常指示标识符为第二位值;若检测到所述应用程序从后台运行状态切换至前台运行状态,则调整所述异常指示标识符为第一位值;
创建异常监听线程,并添加所述应用程序的程序标识至所述异常监听线程的监听对象列表内;
若检测到所述监听对象列表中任一程序标识对应的应用程序启动,则调用所述异常监听线程识别该应用程序的异常指示标识符;
若所述异常指示标识符为第二位值,则生成关于用于说明所述应用程序异常关闭的信息。
本发明实施例的第二方面提供了一种应用程序的异常识别设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面的各个步骤。
本发明实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现第一方面的各个步骤。
实施本发明实施例提供的一种应用程序的异常识别方法及设备具有以下有益效果:
本发明实施例通过对需要进行异常识别的目标应用程序的程序文件中添加异常指示标识符,并根据预设的切换调整算法调整该异常指示标识符,在目标应用程序每一次被激活时,通过创建得到的异常监听线程检测该异常指示标识符的值,从而确定该目标应用程序在上一次运行过程中是否被正常关闭;目标应用程序被正常关闭一般是在处于前台运行状态,通过关闭指令来终止目标应用程序的运行,此时由于目标应用程序处于前台运行状态,因此异常指示标识符会为第一位值;若目标应用程序在后台运行的过程中,因资源不足而导致异常关闭,此时由于目标应用程序上一次切换操作是从前台运行状态转换到后台运行状态,因此异常指示标识符将会为第二位值;由此可见,当目标应用程序被重新启动时,若异常监听线程检测到该异常标识符为第二位值时,则可以确定该目标应用程序是在后台被异常关闭的,从而通过异常标识符的值即可实现异常识别。与现有应用程序的异常识别方法相比,并不依赖应用程序在异常情况下创建异常信息,而是在下一次启动时,通过异常指示标识符确定上一次运行是否被正常关闭,从而提高了异常识别的准确性,进一步提高了稳定性的评估的准确性,便于对应用程序进行优化调整,减少了应用程序存在的漏洞以及减少不法分子对应用程序进行篡改的风险,大大提高了应用程序的安全性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明第一实施例提供的一种应用程序的异常识别方法的实现流程图;
图2是本发明第二实施例提供的一种应用程序的异常识别方法S102具体实现流程图;
图3是本发明第三实施例提供的一种应用程序的异常识别方法S101具体实现流程图;
图4是本发明第四实施例提供的一种应用程序的异常识别方法具体实现流程图;
图5是本发明第五实施例提供的一种应用程序的异常识别方法的具体实现流程图;
图6是本发明一实施例提供的一种应用程序的异常识别设备的结构框图;
图7是本发明另一实施例提供的一种应用程序的异常识别设备的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例通过对需要进行异常识别的目标应用程序的程序文件中添加异常指示标识符,并根据预设的切换调整算法调整该异常指示标识符,在目标应用程序每一次被激活时,通过创建得到的异常监听线程检测该异常指示标识符的值,从而确定该目标应用程序在上一次运行过程中是否被正常关闭;目标应用程序被正常关闭一般是在处于前台运行状态,通过关闭指令来终止目标应用程序的运行,此时由于目标应用程序处于前台运行状态,因此异常指示标识符会为第一位值;若目标应用程序在后台运行的过程中,因资源不足而导致异常关闭,此时由于目标应用程序上一次切换操作是从前台运行状态转换到后台运行状态,因此异常指示标识符将会为第二位值;由此可见,当目标应用程序被重新启动时,若异常监听线程检测到该异常标识符为第二位值时,则可以确定该目标应用程序是在后台被异常关闭的,从而通过异常标识符的值即可实现异常识别,解决了现有的应用程序的异常识别方法,导致统计得到的异常次数与实际发生的异常次数会存在较大的差异,异常识别的准确性较低,从而降低了对于稳定性的评估的准确性,不利于对应用程序进行优化调整的问题。
在本发明实施例中,流程的执行主体为应用程序的异常识别设备。该应用程序的异常识别设备包括但不限于:服务器、计算机、智能手机以及平板电脑等具有应用程序的异常识别功能的设备。图1示出了本发明第一实施例提供的应用程序的异常识别方法的实现流程图,详述如下:
在S101中,获取应用程序的程序文件,并将异常指示标识符添加到所述程序文件内;其中,所述异常指示标识符的默认值为第一位值。
在本实施例中,应用程序的异常识别设备为了监测应用程序的异常情况,需要对所检测的应用程序的程序文件添加一个异常指示标识符,通过检测该异常指示标识符的参数值,确定是否发生异常情况。因此,在S101的步骤中,异常识别设备会基于应用程序的程序标识,从异常识别设备的存储空间内查询该程序标识对应的程序文件。特别地,若该异常识别设备为一外接设备,即所需进行检测的应用程序所安装的终端与异常识别设备处于不同的设备时,在该情况下,异常识别设备会通过串行接口与应用程序所安装的终端建立通信连接,并通过串行接口所连接的终端总线与终端的存储单元通信,并基于应用程序的程序标识,确定其对应的程序文件。
在本实施例中,异常识别设备在获取了应用程序的程序文件后,会在该程序文件中添加一个异常指示标识符,在每次启动应用程序文件时,可通过识别该异常指示标识符的参数值确定上一次运行该应用程序的过程中,是否发生了异常关闭程序的情况。具体地,该每个应用程序的程序文件中包含了扩展功能区,可在应用程序在版本更新的过程中,将所需添加的功能部署于该扩展功能区内,基于此,异常识别设备可以将该异常指示标识符添加到该扩展功能区内,从而对该应用程序的功能进行扩充。可选地,在添加异常指示标识符后首次运行该应用程序时,应用程序会读取该扩展功能区的数据,若检测到添加了异常指示标识符,则会为该异常指示标识符配置对应的调整线程,通过调整线程对该异常指数标识符的参数值进行调整。
在本实施例中,由于在异常识别设备在启动应用程序时会开始检测该异常指示标识符的参数值以确定上一次应用程序是否被异常关闭,因此为了保证添加了异常指示标识符后首次启动应用程序时,能够正常运行应用程序,该异常指示标识符的默认值会设置有第一位值。
在S102中,实时监测所述应用程序的运行状态,若检测到所述应用程序从前台运行状态切换至后台运行状态,则调整所述异常指示标识符为第二位值;若检测到所述应用程序从后台运行状态切换至前台运行状态,则调整所述异常指示标识符为第一位值。
在本实施例中,异常指示标识符会通过预设的调整算法对应用程序的异常指示标识符的参数值进行调整。具体地,该预设的调整算法为:若检测到应用程序从前台运行状态切换到后台运行状态,则会将异常指示标识符由第一位值调整为第二位值;若检测到应用程序从后台运行状态切换至前台运行状态,则将异常指示标识符由第二位值调整为第一位值,换而言之,当应用程序在正常运行的过程中,即不存在异常关闭或设备宕机等异常情况下,应用程序在前台运行的状态下,该异常指示标识符会为第一位值;而当应用程序在后台运行的状态下,该异常指示标识符会为第二位值。而应用程序被正常关闭的情况具体是用户在应用程序处于前台运行的状态下,通过发起关闭指令来终止应用程序的运行,而此时应用程序必然处于前台运行状态,即该异常指示标识符的参数值为第一位值。由此可以确定,若应用程序被正常关闭的状态下,该异常指示标识符会一直保持在第一位值,直到下一次启动后,从前台运行状态切换为后台运行状态才会改变该异常指示标识符的参数值。
在本实施例中,异常识别设备可以在主线程中创建一条标识符调整线程,并将需要进行异常检测的各个应用程序的程序标识添加到该标识符调整线程的调整列表内,从而当检测到该调整列表中任一应用程序的运行状态发生切换时,会通过该标识符调整线程对其异常指示标识符的参数值进行调整。
在S103中,创建异常监听线程,并添加所述应用程序的程序标识至所述异常监听线程的监听对象列表内。
在本实施例中,异常识别设备会创建一条异常监听线程,该异常监听线程用于在应用程序被启动时,检测各个应用程序的异常标识符的参数值,从而判断应用程序在上一次运行的过程中是否被异常关闭。由于异常识别设备中所运行的应用程序的个数较多,但并非每一个应用程序的均需要进行异常识别,因此,异常识别设备为了提高检测的效率以及减少异常监听线程的监测负载,会将各个需要监听的应用程序的程序标识添加到监听对象列表内,并建立异常监听线程与该监听对象列表之间的关联关系,从而实现异常监听线程对监听对象列表中的应用程序进行异常检测操作。
在本实施例中,执行异常检测操作的具体过程可以为:当异常识别设备检测到某一应用程序被启动时,会获取该应用程序的程序标识,判断该应用标识是否在监听对象列表内,若存在,则激活异常监听线程,并执行S104的相关操作;反之,若不存在,则直接启动该应用程序。
在S104中,若检测到所述监听对象列表中任一程序标识对应的应用程序启动,则调用所述异常监听线程识别该应用程序的异常指示标识符。
在本实施例中,异常识别设备若检测到监听对象列表中的应用程序被启动,则会激活异常监听线程,并通过该异常监听线程读取该应用程序的程序文件中该异常指示标识符的参数值。若该异常指示标识符的参数值为第一位值,则表示该应用程序上一次正常关闭,可以直接启动该应用程序;反之,若该异常指示标识符为第二位值,则执行S105的相关操作。
在S105中,若所述异常指示标识符为第二位值,则生成关于用于说明所述应用程序异常关闭的信息。
在本实施例中,当异常识别设备检测到某一应用程序启动时,其异常指示标识符的位值为第二位值,则表示该应用程序关闭时的状态为后台运行状态,即并非通过正常的关闭手段对该应用程序进行关闭的,因此异常识别设备会生成一条用于说明应用程序异常关闭的信息,从而应用程序的管理员可以通过统计异常关闭的信息的个数,确定应用程序的崩溃率以及稳定性,并基于上述两个参数判定是否需要对应用程序进行优化。
可选地,该异常关闭的信息可以包括:发生异常情况的应用程序的程序标识、异常发生时间以及异常分析信息。其中,异常发生时间的获取方式可以为:由于本实施例提供的异常识别是一个后置识别的过程,即并非在异常情况发生的时刻即可生成异常信息,因此,为了获取异常发生时间,异常识别设备会获取该应用程序的所有运行日志,并选取与当前时刻相距最近的运行日志作为目标运行日志,并根据目标运行日志中记载的应用启动时间以及应用运行时间,确定该应用程序的程序关闭时间,并将该程序关闭时间识别为异常发生时间。其中,确定异常分析信息的具体方式可以为:异常识别设备根据目标运行日志中记载有的资源占用率、处理速率、设备整体占用率等预设参数,确定本次异常关闭是由于设备负载过大而导致的抑或是应用程序本身存在漏洞而导致的,从而得到一个异常分析结果,并根据上述相关的参数以及该异常分析结果生成异常分析信息。
以上可以看出,本发明实施例提供的一种应用程序的异常识别方法通过对需要进行异常识别的目标应用程序的程序文件中添加异常指示标识符,并根据预设的切换调整算法调整该异常指示标识符,在目标应用程序每一次被激活时,通过创建得到的异常监听线程检测该异常指示标识符的值,从而确定该目标应用程序在上一次运行过程中是否被正常关闭;目标应用程序被正常关闭一般是在处于前台运行状态,通过关闭指令来终止目标应用程序的运行,此时由于目标应用程序处于前台运行状态,因此异常指示标识符会为第一位值;若目标应用程序在后台运行的过程中,因资源不足而导致异常关闭,此时由于目标应用程序上一次切换操作是从前台运行状态转换到后台运行状态,因此异常指示标识符将会为第二位值;由此可见,当目标应用程序被重新启动时,若异常监听线程检测到该异常标识符为第二位值时,则可以确定该目标应用程序是在后台被异常关闭的,从而通过异常标识符的值即可实现异常识别。与现有应用程序的异常识别方法相比,并不依赖应用程序在异常情况下创建异常信息,而是在下一次启动时,通过异常指示标识符确定上一次运行是否被正常关闭,从而提高了异常识别的准确性,进一步提高了稳定性的评估的准确性,便于对应用程序进行优化调整,减少了应用程序存在的漏洞以及减少不法分子对应用程序进行篡改的风险,大大提高了应用程序的安全性。
图2示出了本发明第二实施例提供的一种应用程序的异常识别方法S102的具体实现流程图。参见图2所示,相对于图1述实施例,本实施例提供的一种应用程序的异常识别方法中S102包括:S1021~S1024,具体详述如下:
在S1021中,为所述应用程序配置启动操作计数器以及暂停操作计数器;在检测到关于所述应用程序的启动指令时,增加所述启动操作计数器的第一数值;在检测到关于所述应用程序的暂停指令时,增加所述暂停操作计数器的第二数值。
在本实施例中,应用程序的异常识别设备除了将异常指示标识符添加到应用程序的程序数据包外,还会为该应用程序配置两个计数器,分别为启动操作计数器以及暂停操作计数器,通过上述两个计数器的计时值的大小,确定应用程序处于前台运行状态抑或是处于后台运行状态。
在本实施例中,异常识别设备在检测到设备中生成了一个关于应用程序的启动指令时,即表示用户激活该应用程序,则对该启动操作计数器进行加一操作,并更新该启动操作计数器的计数值。需要说明的是,当应用程序从关闭状态切换至开启状态,以及从后台运行状态切换至前台运行状态两个过程中,均会生成启动指令以激活该应用程序。
在本实施例中,异常识别设备在检测到设备中生成了一个关于应用程序的暂停指令时,会对暂停操作计数器进行加一操作,并更新该暂停操作计数器的计数值。需要说明的是,当应用程序在前台运行的过程中,用户需要操作其他应用程序,或返回到主界面时,会生成一个暂停指令以将当前应用程序的运行参数保存在缓存区,并暂停应用程序的运行。
综上所述,应用程序在从关闭状态切换到开启状态的过程中,会调整启动计数器的计数值,即启动计数器的计数值会先于暂停计数器进行调整,即当应用程序运行于前台状态下,启动计数器的计数值会大于暂停计数器的计数值;而当应用程序运行于后台状态下,启动计数器的计数值会与暂停计数器的计数值相同,即异常识别设备通过检测上述两个计数器的数值大小,则可识别应用程序的运行状态。
在S1022中,若当前时刻满足预设的运行状态监测条件,则判断所述第一数值是否大于所述第二数值。
在本实施例中,异常识别设备可以设置有运行状态监测条件,当检测到当前时刻满足预设的运行状态监测条件时,则会执行S1022的相关操作。其中,该运行状态监测条件可以为,当检测到设备内生成关于应用程序的操作指令时,则执行S1022的相关操作,由于切换运行状态必须依赖操作指令,因此当检测到操作指令时即执行S1022的操作,能够即时确定应用程序的运行状态识别发生改变,从而能够调整异常指示标识符的位值。当然,异常识别设备还可以以预设的监测周期,间隔获取上述两个计数器的计数值,判断第一数值以及第二数值之间的大小关系。
在本实施例中,若第一数值大于第二数值,则执行S1023的相关操作;若第一数值小于或等于第二数值,则执行S1024的相关操作。需要说明的是,当应用程序被关闭时,会重置上述两个计数器的值,将启动操作计数器以及暂停操作计数器的值设置为0。
在S1023中,若所述第一数值大于所述第二数值,则识别所述应用程序的状态为从后台运行状态切换至前台运行状态。
在本实施例中,由于第一数值大于第二数值,则表示执行启动操作的次数大于执行暂停操作的次数,从而可以判断应用程序当前是处于启动状态,即处于前台运行状态,因此可以确定应用程序从后台运行状态切换值前台运行状态。
在S1024中,若所述第一数值小于或等于所述第二数值,则识别所述应用程序的状态为从前台运行状态切换至后台运行状态。
在本实施例中,由于第一数值小于或等于第二数值,则表示执行启动操作的次数小于或等于执行暂停操作的次数,且启动操作必然先于暂停操作执行,因此可以判断应用程序处于后台运行状态,即可以确定应用程序从前台运行状态切换值后台运行状态。
在本发明实施例中,通过配置启动计数器以及暂停计数器,并比较两个计数值之间的大小,实现识别应用程序是运行于前台抑或是运行在后台,实现方式快捷,从而提高了应用程序状态识别的效率。
图3示出了本发明第三实施例提供的一种应用程序的异常识别方法S101的具体实现流程图。参见图3所示,相对于图1所述实施例,本实施例提供的一种应用程序的异常识别方法中S101包括S1011~S1013,具体详述如下:
在S1011中,从所述程序文件中获取所述应用程序的启动进程的代码数据。
在本实施例中,应用程序的异常识别设备在获取了应用程序的程序文件后,会对该程序文件进行解析,并从该程序文件中获取应用程序的启动进程所对应的代码数据。由于需要添加的异常指示标识符在首次添加时,是一个并非声明的符号,为了能够在后续的操作中,应用程序能够通过预设的调整算法对该异常指示标识符的参数值进行调整,因此需要在应用程序启动时,对该异常指示标识符进行合法性声明,而该操作是通过应用程序的启动进程执行的。基于此,异常识别设备需要对该应用程序的启动进程进行调整,故需要对程序文件进行解析,确定该启动进程的代码数据。
在S1012中,将所述异常指示标识符的注册语段添加到所述代码数据内。
在本实施例中,异常识别设备在获取了启动进程的代码数据后,会将异常指示标识符的注册语段添加到该代码数据内,具体地,该注册语段添加到代码数据中参数声明模块数据内,以便与应用程序中各个接口以及参数的注册操作一并执行。
在本实施例中,异常识别设备获取异常指示标识符的注册语段的具体方式可以为:解析代码数据中任一接口或参数的注册语段,并将接口名或参数名从注册语段中删除,得到注册语段模板,将异常指示标识符添加到该注册语段模板中,以得到该异常指示标识符对应的注册语段。
可选地,异常识别设备还可以与上位机服务器相连,向该上位机服务器发送注册语段获取请求,继而接收上位机服务器发送的关于异常指示标识符的注册语段,并将其添加到该代码数据内。
在S1013中,查询所述应用程序的运行主进程的目录,并在所述目录下添加用于调整所述异常指示标识符的运行子进程。
在本实施例中,由于在配置了异常指示标识符后,还需要通过预设的调整算法对该异常指示标识符进行调整,而调整的操作也是交由应用程序执行的,为了能够在应用程序启动的过程中实现异常指示标识符的参数值变更操作,异常识别设备会在应用程序的运行主进程中添加一个运行子进程。其中,运行主进程下的各个运行子进程的代码数据会记录于运行主进程所在的目录下,以便在应用程序激活后,在运行主进程的过程中创建一条用于调整该异常指示标识符的运行子线程。
在本发明实施例中,通过将异常指示标识符添加到应用程序的启动进程中,以通过启动进程对异常指示标识符进行合法性注册,继而通过运行主进程下的创建一个调整异常指示标识符的运行子进程,实现异常指示标识符的参数调整操作,提高了异常识别的准确率。
图4示出了本发明第四实施例提供的一种应用程序的异常识别方法的具体实现流程图。参见图4所示,相对于图1-图3所述实施例,本实施例提供的一种应用程序的异常识别方法在所述生成关于所述应用程序的异常关闭的信息之后,还包括:S401~S404,具体详述如下:
进一步地,在所述生成关于所述应用程序的异常关闭的信息之后,还包括:
在S401中,获取当前时刻已生成的异常关闭的信息;所述异常关闭的信息包含异常发生时间。
在本实施例中,异常识别设备在每识别得到一个异常情况时,会创建一个异常关闭的信息,该异常关闭的信息中记录了异常发生时间,若应用程序在运行的过程中多次异常关闭,则S401会获取得到多条异常关闭的信息。其中,确定异常发生时间的具体方式可以如S105中所述,在此不再一一阐述。
可选地,在本实施例中,触发S401的方式可以为:时间触发方式以及事件触发方式。时间触发方式具体为:异常识别设备设置有多个异常等级确定节点或异常等级确定周期,当检测到当前时刻到达上述节点或确定周期对应的时间点时,则执行S401的相关操作;事件触发方式具体为:若接收到预设的指令,例如服务器发送或用户发起的异常等级确定指令,或者异常识别设备生成一个异常关闭的信息时,则执行S401的相关操作。
在S402中,统计已生成的所述异常关闭的信息的个数,并基于所述个数确定第一异常因子。
在本实施例中,由于发生异常关闭的次数越多,则表示该应用程序的异常程度越多,因此异常识别设备会统计当前时刻该应用程序锁产品的异常关闭的信息的个数,并基于该个数得到用于计算应用程序的异常等级的第一异常因子。
在S403中,根据各个异常发生时间,确定所述应用程序的异常发生频率,将所述异常发生频率识别为第二异常因子。
在本实施例中,异常识别设备会根据各个异常关闭的信息中的异常发生时间,计算该应用程序的异常发生频率,具体的计算方式可以为获取异常发生时间最早以及异常发生时间最晚的两个异常关闭的信息,确定两个异常关闭的信息之间的时间跨度,基于该时间跨度以及该异常关闭的信息的个数,确定该异常发生频率;还可以获取两个发生次序相邻的两个异常关闭的信息,确定两个异常关闭的信息之间的发生频率,从而基于各个发生频率的均值作为该应用程序的异常发生频率,并将确定得到的异常发生频率识别为第二异常因子。
在S404中,将第一异常因子以及所述第二异常因子导入到异常等级转换模型,确定所述应用程序的异常等级;所述异常等级转换模型具体为:
ErrorLevel=10lg(Weight1*ErrorFactor1+Weight2*ErrorFactor2)
其中,ErrorLevel为所述异常等级;ErrorFactor1为所述第一异常因子;ErrorFactor2为所述第二异常因子;Weight1、Weight2为预设系数。
在本实施例中,异常识别设备将计算得到的第一异常因子以及第二异常因子导入到预设的异常等级转换模型内,确定该应用程序的异常等级,其中,为了提高异常等级识别的准确性,第一异常因子以及第二异常因子会配置有两个预设系数,对上述两个参数值进行调整,该预设系数可以由异常识别设备通过神经网络学习调整得到,还可以由用户自行设置。
在本发明实施例中,通过异常关闭的信息确定第一异常因子以及第二异常因子,并计算应用程序的异常等级,从而使得异常等级能够准确标识应用程序的异常程度,便于应用程序的管理人员对应用程序的稳定性进行评估。
图5示出了本发明第五实施例提供的一种应用程序的异常识别方法的具体实现流程图。参见图5所示,相对于图4所述实施例,本实施例提供的一种应用程序的异常识别方法在所述将第一异常因子以及所述第二异常因子导入到异常等级转换模型,确定所述目标应用程序的异常等级之后,还包括:S501~S502,具体详述如下:
在S501中,若所述异常等级超过预设的异常阈值,则重新下载所述应用程序的程序文件。
在本实施例中,应用程序的异常识别设备在计算了应用程序的异常等级后,可以通过与预设的异常阈值进行比对,判断该应用程序的运行指标是否超过正常范围,由于应用程序在设备上运行时,考虑到与设备中其他应用程序之间的兼容性的问题,是允许一定的异常关闭率的。因此,若该异常等级并未超过异常阈值,则表示该应用程序仍在正常的范围内工作,在该情况下,无需对该应用程序进行异常响应处理;反之,若该异常等级超过预设的异常阈值,则表示该应用程序的异常关闭率已过大,可能是应用程序的程序文件发生异常而导致的,在该情况下,异常识别设备会重新从服务器处获取该应用程序的程序文件。
在S502中,卸载所述应用程序,并运行重新下载的所述程序文件,以重新安装所述应用程序。
在本实施例中,异常识别设备在获取了重新下载的应用程序的程序文件后,会卸载安装于设备上的应用程序,并通过运行重新下载的程序文件,重新安装该应用程序,以修复该应用程序的异常情况,提高应用程序运行的稳定性。
在本发明实施例中,通过在异常等级超过预设异常阈值的情况下,重新安装应用程序,以修复应用程序经常异常关闭的情况,提高了应用程序运行的稳定性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
图6示出了本发明一实施例提供的一种应用程序的异常识别设备的结构框图,该应用程序的异常识别设备包括的各单元用于执行图1对应的实施例中的各步骤。具体请参阅图1与图1所对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。
参见图6,所述应用程序的异常识别设备包括:
程序文件获取单元61,用于获取应用程序的程序文件,并将异常指示标识符添加到所述程序文件内;其中,所述异常指示标识符的默认值为第一位值;
异常指示标识符调整单元62,用于实时监测所述应用程序的运行状态,若检测到所述应用程序从前台运行状态切换至后台运行状态,则调整所述异常指示标识符为第二位值;若检测到所述应用程序从后台运行状态切换至前台运行状态,则调整所述异常指示标识符为第一位值;
异常监听线程创建单元63,用于创建异常监听线程,并添加所述应用程序的程序标识至所述异常监听线程的监听对象列表内;
异常指示标识符识别单元64,用于若检测到所述监听对象列表中任一程序标识对应的应用程序启动,则调用所述异常监听线程识别该应用程序的异常指示标识符;
异常关闭信息生成单元65,用于若所述异常指示标识符为第二位值,则生成关于用于说明所述应用程序异常关闭的信息。
可选地,异常指示标识符调整单元62包括:
计数器配置单元,用于为所述应用程序配置启动操作计数器以及暂停操作计数器;在检测到关于所述应用程序的启动指令时,增加所述启动操作计数器的第一数值;在检测到关于所述应用程序的暂停指令时,增加所述暂停操作计数器的第二数值;
计时值比较单元,用于若当前时刻满足预设的运行状态监测条件,则判断所述第一数值是否大于所述第二数值;
前台判定单元,用于若所述第一数值大于所述第二数值,则识别所述应用程序的状态为从后台运行状态切换至前台运行状态;
后台判定单元,用于若所述第一数值小于或等于所述第二数值,则识别所述应用程序的状态为从前台运行状态切换至后台运行状态。
可选地,所述程序文件获取单元61包括:
代码数据获取单元,用于从所述程序文件中获取所述应用程序的启动进程的代码数据;
代码数据添加单元,用于将所述异常指示标识符的注册语段添加到所述代码数据内;
运行子进程调整单元,用于查询所述应用程序的运行主进程的目录,并在所述目录下添加用于调整所述异常指示标识符的运行子进程。
可选地,所述应用程序的异常识别设备还包括:
异常关闭信息获取单元,用于获取当前时刻已生成的异常关闭的信息;所述异常关闭的信息包含异常发生时间;
第一异常因子计算单元,用于统计已生成的所述异常关闭的信息的个数,并基于所述个数确定第一异常因子;
第二异常因子计算单元,用于根据各个异常发生时间,确定所述应用程序的异常发生频率,将所述异常发生频率识别为第二异常因子;
异常等级确定单元,用于将第一异常因子以及所述第二异常因子导入到异常等级转换模型,确定所述应用程序的异常等级;所述异常等级转换模型具体为:
ErrorLevel=10lg(Weight1*ErrorFactor1+Weight2*ErrorFactor2)
其中,ErrorLevel为所述异常等级;ErrorFactor1为所述第一异常因子;ErrorFactor2为所述第二异常因子;Weight1、Weight2为预设系数。
可选地,所述应用程序的异常识别设备还包括:
异常响应单元,用于若所述异常等级超过预设的异常阈值,则重新下载所述应用程序的程序文件;
应用程序重安装单元,用于卸载所述应用程序,并运行重新下载的所述程序文件,以重新安装所述应用程序。
因此,本发明实施例提供的应用程序的异常识别设备同样可以当目标应用程序被重新启动时,若异常监听线程检测到该异常标识符为第二位值时,则可以确定该目标应用程序是在后台被异常关闭的,从而通过异常标识符的值即可实现异常识别。与现有应用程序的异常识别方法相比,并不依赖应用程序在异常情况下创建异常信息,而是在下一次启动时,通过异常指示标识符确定上一次运行是否被正常关闭,从而提高了异常识别的准确性,进一步提高了稳定性的评估的准确性,便于对应用程序进行优化调整。
图7是本发明另一实施例提供的一种应用程序的异常识别设备的示意图。如图7所示,该实施例的应用程序的异常识别设备7包括:处理器70、存储器71以及存储在所述存储器71中并可在所述处理器70上运行的计算机程序72,例如应用程序的异常识别程序。所述处理器70执行所述计算机程序72时实现上述各个应用程序的异常识别方法实施例中的步骤,例如图1所示的S101至S105。或者,所述处理器70执行所述计算机程序72时实现上述各装置实施例中各单元的功能,例如图6所示模块61至65功能。
示例性的,所述计算机程序72可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器71中,并由所述处理器70执行,以完成本发明。所述一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序72在所述应用程序的异常识别设备7中的执行过程。例如,所述计算机程序72可以被分割成程序文件获取单元、异常指示标识符调整单元、异常监听线程创建单元、异常指示标识符识别单元以及异常关闭信息生成单元,各单元具体功能如上所述。
所述应用程序的异常识别设备7可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述应用程序的异常识别设备可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图7仅仅是应用程序的异常识别设备7的示例,并不构成对应用程序的异常识别设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述应用程序的异常识别设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器70可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器71可以是所述应用程序的异常识别设备7的内部存储单元,例如应用程序的异常识别设备7的硬盘或内存。所述存储器71也可以是所述应用程序的异常识别设备7的外部存储设备,例如所述应用程序的异常识别设备7上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器71还可以既包括所述应用程序的异常识别设备7的内部存储单元也包括外部存储设备。所述存储器71用于存储所述计算机程序以及所述应用程序的异常识别设备所需的其他程序和数据。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (8)
1.一种应用程序的异常识别方法,其特征在于,包括:
获取应用程序的程序文件,并将异常指示标识符添加到所述程序文件内;其中,所述异常指示标识符的默认值为第一位值;
实时监测所述应用程序的运行状态,若检测到所述应用程序从前台运行状态切换至后台运行状态,则调整所述异常指示标识符为第二位值;若检测到所述应用程序从后台运行状态切换至前台运行状态,则调整所述异常指示标识符为第一位值;
创建异常监听线程,并添加所述应用程序的程序标识至所述异常监听线程的监听对象列表内;
若检测到所述监听对象列表中任一程序标识对应的应用程序启动,则调用所述异常监听线程识别该应用程序的异常指示标识符;
若所述异常指示标识符为第二位值,则生成关于用于说明所述应用程序异常关闭的信息;
在所述生成关于所述应用程序的异常关闭的信息之后,还包括:
获取当前时刻已生成的异常关闭的信息;所述异常关闭的信息包含异常发生时间;
统计已生成的所述异常关闭的信息的个数,并基于所述个数确定第一异常因子;
根据各个异常发生时间,确定所述应用程序的异常发生频率,将所述异常发生频率识别为第二异常因子;
将第一异常因子以及所述第二异常因子导入到异常等级转换模型,确定所述应用程序的异常等级;所述异常等级转换模型具体为:
ErrorLevel=10(Weigh1*ErrorFactor1+eight2*ErrorFactor2)其中,ErrorLevel为所述异常等级;ErrorFactor1为所述第一异常因子;ErrorFactor2为所述第二异常因子;Weigh1、Weigh2为预设系数。
2.根据权利要求1所述的异常识别方法,其特征在于,所述实时监测所述应用程序的运行状态,包括:
为所述应用程序配置启动操作计数器以及暂停操作计数器;在检测到关于所述应用程序的启动指令时,增加所述启动操作计数器的第一数值;在检测到关于所述应用程序的暂停指令时,增加所述暂停操作计数器的第二数值;
若当前时刻满足预设的运行状态监测条件,则判断所述第一数值是否大于所述第二数值;
若所述第一数值大于所述第二数值,则识别所述应用程序的状态为从后台运行状态切换至前台运行状态;
若所述第一数值小于或等于所述第二数值,则识别所述应用程序的状态为从前台运行状态切换至后台运行状态。
3.根据权利要求1所述的异常识别方法,其特征在于,所述将异常指示标识符添加到所述程序文件内,包括:
从所述程序文件中获取所述应用程序的启动进程的代码数据;
将所述异常指示标识符的注册语段添加到所述代码数据内;
查询所述应用程序的运行主进程的目录,并在所述目录下添加用于调整所述异常指示标识符的运行子进程。
4.根据权利要求1所述的异常识别方法,其特征在于,在所述将第一异常因子以及所述第二异常因子导入到异常等级转换模型,确定所述应用程序的异常等级之后,还包括:
若所述异常等级超过预设的异常阈值,则重新下载所述应用程序的程序文件;
卸载所述应用程序,并运行重新下载的所述程序文件,以重新安装所述应用程序。
5.一种应用程序的异常识别设备,其特征在于,所述应用程序的异常识别设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:
获取应用程序的程序文件,并将异常指示标识符添加到所述程序文件内;其中,所述异常指示标识符的默认值为第一位值;
实时监测所述应用程序的运行状态,若检测到所述应用程序从前台运行状态切换至后台运行状态,则调整所述异常指示标识符为第二位值;若检测到所述应用程序从后台运行状态切换至前台运行状态,则调整所述异常指示标识符为第一位值;
创建异常监听线程,并添加所述应用程序的程序标识至所述异常监听线程的监听对象列表内;
若检测到所述监听对象列表中任一程序标识对应的应用程序启动,则调用所述异常监听线程识别该应用程序的异常指示标识符;
若所述异常指示标识符为第二位值,则生成关于用于说明所述应用程序异常关闭的信息;
在所述生成关于所述应用程序的异常关闭的信息之后,所述处理器执行所述计算机程序时还实现如下步骤:
获取当前时刻已生成的异常关闭的信息;所述异常关闭的信息包含异常发生时间;
统计已生成的所述异常关闭的信息的个数,并基于所述个数确定第一异常因子;
根据各个异常发生时间,确定所述应用程序的异常发生频率,将所述异常发生频率识别为第二异常因子;
将第一异常因子以及所述第二异常因子导入到异常等级转换模型,确定所述应用程序的异常等级;所述异常等级转换模型具体为:
ErrorLevel=10(Weigh1*ErrorFactor1+eight2*ErrorFactor2)其中,ErrorLevel为所述异常等级;ErrorFactor1为所述第一异常因子;ErrorFactor2为所述第二异常因子;Weigh1、Weigh2为预设系数。
6.根据权利要求5所述的异常识别设备,其特征在于,所述实时监测所述应用程序的运行状态,包括:
为所述应用程序配置启动操作计数器以及暂停操作计数器;在检测到关于所述应用程序的启动指令时,增加所述启动操作计数器的第一数值;在若检测到关于所述应用程序的暂停指令时,增加所述暂停操作计数器的第二数值;
若当前时刻满足预设的运行状态监测条件,则判断所述第一数值是否大于所述第二数值;
若所述第一数值大于所述第二数值,则识别所述应用程序的状态为从后台运行状态切换至前台运行状态;
若所述第一数值小于或等于所述第二数值,则识别所述应用程序的状态为从前台运行状态切换至后台运行状态。
7.根据权利要求5所述的异常识别设备,其特征在于,所述将异常指示标识符添加到所述程序文件内,包括:
从所述程序文件中获取所述应用程序的启动进程的代码数据;
将所述异常指示标识符的注册语段添加到所述代码数据内;
查询所述应用程序的运行主进程的目录,并在所述目录下添加用于调整所述异常指示标识符的运行子进程。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810942567.9A CN109343853B (zh) | 2018-08-17 | 2018-08-17 | 一种应用程序的异常识别方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810942567.9A CN109343853B (zh) | 2018-08-17 | 2018-08-17 | 一种应用程序的异常识别方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109343853A CN109343853A (zh) | 2019-02-15 |
CN109343853B true CN109343853B (zh) | 2023-08-04 |
Family
ID=65291721
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810942567.9A Active CN109343853B (zh) | 2018-08-17 | 2018-08-17 | 一种应用程序的异常识别方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109343853B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110007981B (zh) * | 2019-02-28 | 2021-12-24 | Oppo广东移动通信有限公司 | 启动应用程序的方法、装置、电子设备及介质 |
CN110347565B (zh) * | 2019-05-24 | 2022-06-03 | 平安科技(深圳)有限公司 | 一种应用程序的异常分析方法及装置、电子设备 |
CN112148547B (zh) * | 2019-06-26 | 2024-04-02 | 北京百度网讯科技有限公司 | 应用启动次数的监控方法、装置、设备及可读存储介质 |
CN110825396B (zh) * | 2019-10-31 | 2023-07-25 | Oppo(重庆)智能科技有限公司 | 异常处理方法及相关设备 |
CN114666390B (zh) * | 2022-05-19 | 2022-08-05 | 云账户技术(天津)有限公司 | 应用程序的页面监测方法、装置、电子设备及存储介质 |
CN117130824A (zh) * | 2023-01-10 | 2023-11-28 | 荣耀终端有限公司 | 一种处理异常的方法、电子设备及存储介质 |
CN117130809A (zh) * | 2023-03-09 | 2023-11-28 | 荣耀终端有限公司 | 一种应用运行状态的检测方法及设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8074116B2 (en) * | 2009-05-06 | 2011-12-06 | Microsoft Corporation | Exception raised notification |
CN106874753A (zh) * | 2016-12-30 | 2017-06-20 | 中国建设银行股份有限公司 | 识别异常界面的方法及装置 |
CN107168699A (zh) * | 2017-04-28 | 2017-09-15 | 北京五八信息技术有限公司 | 应用程序修复方法及终端设备 |
CN107526638B (zh) * | 2017-08-01 | 2022-09-09 | Oppo广东移动通信有限公司 | 应用程序处理方法、装置、移动终端及存储介质 |
-
2018
- 2018-08-17 CN CN201810942567.9A patent/CN109343853B/zh active Active
Non-Patent Citations (1)
Title |
---|
网络核心节点异常流量检测与控制技术研究;张伟;《中国博士学位论文全文数据库 (信息科技辑)》(第03期);I139-10 * |
Also Published As
Publication number | Publication date |
---|---|
CN109343853A (zh) | 2019-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109343853B (zh) | 一种应用程序的异常识别方法及设备 | |
CN109039740B (zh) | 一种处理运维监控告警的方法及设备 | |
JP5874936B2 (ja) | 運用管理装置、運用管理方法、及びプログラム | |
US10558544B2 (en) | Multiple modeling paradigm for predictive analytics | |
US8949676B2 (en) | Real-time event storm detection in a cloud environment | |
US8473789B2 (en) | Memory leak monitoring system and associated methods | |
CN109992600B (zh) | 一种设备故障的响应方法及设备 | |
CN109543891B (zh) | 容量预测模型的建立方法、设备及计算机可读存储介质 | |
CN110955586A (zh) | 一种基于日志的***故障预测方法、装置和设备 | |
CN113505044B (zh) | 数据库告警方法、装置、设备和存储介质 | |
CN110069925B (zh) | 软件监测方法、***及计算机可读存储介质 | |
CN114328102A (zh) | 设备状态监控方法、装置、设备及计算机可读存储介质 | |
CN113645085B (zh) | 智能网卡的异常检测方法、装置、电子设备及存储介质 | |
CN110674149B (zh) | 业务数据处理方法、装置、计算机设备和存储介质 | |
CN111694677A (zh) | 消息队列的管理方法、装置、终端和计算机可读存储介质 | |
CN108255703B (zh) | 一种sql脚本的故障修复方法及其终端 | |
CN111309562A (zh) | 服务器故障的预测方法、装置、设备和存储介质 | |
CN111343267B (zh) | 一种配置的管理方法及*** | |
CN113708986A (zh) | 服务器监控装置、方法及计算机可读存储介质 | |
CN108255710B (zh) | 一种脚本的异常检测方法及其终端 | |
CN111159009A (zh) | 一种日志服务***的压力测试方法及装置 | |
CN108255704B (zh) | 一种脚本调用事件的异常响应方法及其终端 | |
CN114625106B (zh) | 车辆诊断的方法、装置、电子设备及存储介质 | |
CN110795308A (zh) | 一种服务器检验方法、装置、设备及存储介质 | |
WO2018201864A1 (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 |