CN113641544B - 用于检测应用状态的方法、装置、设备、介质和产品 - Google Patents
用于检测应用状态的方法、装置、设备、介质和产品 Download PDFInfo
- Publication number
- CN113641544B CN113641544B CN202110969746.3A CN202110969746A CN113641544B CN 113641544 B CN113641544 B CN 113641544B CN 202110969746 A CN202110969746 A CN 202110969746A CN 113641544 B CN113641544 B CN 113641544B
- Authority
- CN
- China
- Prior art keywords
- application
- target application
- target
- state
- determining
- 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
- 238000000034 method Methods 0.000 title claims abstract description 181
- 230000008569 process Effects 0.000 claims abstract description 139
- 230000004044 response Effects 0.000 claims description 19
- 238000001514 detection method Methods 0.000 abstract description 9
- 238000004891 communication Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual 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/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2215—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test error correction or detection circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & 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是根据本公开的用于检测应用状态的装置的一个实施例的结构示意图;
图6是用来实现本公开实施例的用于检测应用状态的方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
如图1所示,***架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103可以为手机、电脑以及平板等电子设备,终端设备101、102、103可以将云计算技术应用于终端服务,基于与云端的服务器105进行数据交互实现云服务。例如,终端设备101、102、103可以为云手机。
终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是各种电子设备,包括但不限于车载电脑、车载平板、车辆控制设备等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
服务器105可以是提供各种服务的服务器,例如,服务器105可以获取为云手机(终端设备101、102、103)提供服务的工具应用,并检测工具应用的进程是否启动,如果工具应用的进程启动,则进一步根据工具应用的脚本日志信息确定工具应用的脚本是否启动,如果工具应用的进程和脚本均启动,则将工具应用确定为正常启动状态。如果工具应用的进程启动但是脚本未启动,则将工具应用确定为空跑状态,在核算结算设备时,筛除这些处于空跑状态的工具应用,能够提高应用核算的精准度。
需要说明的是,服务器105可以是硬件,也可以是软件。当服务器105为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器105为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
需要说明的是,本公开实施例所提供的用于检测应用状态的方法可以由终端设备101、102、103执行,也可以由服务器105执行,用于检测应用状态的装置可以设置于终端设备101、102、103中,也可以设置于服务器105中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本公开的用于检测应用状态的方法的一个实施例的流程200。本实施例的用于检测应用状态的方法,包括以下步骤:
步骤201,获取目标应用。
在本实施例中,执行主体(如图1中的终端设备101、102、103或者服务器105)可以获取需要检测应用状态的应用,这里的目标应用可以是为云手机用户提供云手机用户服务的工具应用,也可以为其他各类应用,本实施例对此不做限定。并且,执行主体在获取目标应用时,可以同时获取目标应用的属性信息,属性信息可以包括但不限于工具应用的进程名称、工具应用的包名、工具应用的应用名称等,本实施例对此不做限定。以及,目标应用的数量可以为一个,也可以为两个及两个以上,本实施例对此不做限定。
步骤202,确定目标应用的进程启动信息。
在本实施例中,进程启动信息用于指示目标应用的进程的启动状态,进程启动信息可以包括指示目标应用的进程处于启动状态的信息或者指示目标应用的进程处于未启动状态的信息。
其中,执行主体在获取到目标应用之后,可以在相应的进程文件目录中遍历各个进程文件,基于对进程文件的内容进行解析,确定目标应用的进程启动信息。可选的,执行主体可以基于工具应用的属性信息,在进程文件目录中确定是否包含与工具应用的属性信息相匹配的进程文件,如果包含,则确定目标应用的进程处于启动状态,如果不包含,则确定目标应用的进程处于未启动状态。
步骤203,响应于确定进程启动信息指示目标应用的进程处于启动状态,获取目标应用对应的脚本日志信息。
在本实施例中,如果进程启动信息指示目标应用的进程处于启动状态,则进一步获取目标应用对应的脚本日志信息来确定目标应用的脚本是否启动。其中,脚本日志信息指的是目标应用在运行脚本时会输出的日志信息,基于对脚本日志信息进行解析,能够确定得到目标应用的脚本运行情况。
可选的,响应于确定进程启动信息指示目标应用的进程处于未启动状态,确定目标应用的应用状态为未启动。
步骤204,基于脚本日志信息确定目标应用的应用状态。
在本实施例中,执行主体可以预先统计目标应用处于脚本启动状态时所对应的启动状态日志信息。基于启动状态日志信息和当前的脚本日志信息进行匹配,如果启动状态日志信息和当前的脚本日志信息相匹配,则说明目标应用的脚本处于启动状态,如果启动状态日志信息和当前的脚本日志信息不匹配,则说明目标应用的脚本处于未启动状态。
之后,执行主体可以基于脚本日志信息确定出的脚本状态和上述的进程状态,综合确定目标应用的应用状态。也即是,如果基于脚本日志信息确定目标应用的脚本处于启动状态,此时确定目标应用的应用状态为启动状态。如果基于脚本日志信息确定目标应用的脚本处于未启动状态,此时确定目标应用的应用状态为未启动状态。
可选的,对于目标应用的数量为两个及两个以上的情况,可以分别确定每个目标应用处于脚本启动状态时所对应的启动状态日志信息,基于对每个目标应用的启动状态日志信息进行分析,可以得到与每个目标应用对应的启动状态关键信息,启动状态关键信息可以包括但不限于目标应用处于脚本启动状态时的关键词、关键句、关键字符串等,本实施例对此不做限定。在确定目标应用的应用状态时,基于每个目标应用的启动状态关键信息,确定该目标应用的脚本日志信息是否和该目标应用的启动状态关键信息匹配,如果匹配,则确定该目标应用处于启动状态,如果不匹配,则确定该目标应用处于未启动状态。
继续参见图3,其示出了根据本公开的用于检测应用状态的方法的一个应用场景的示意图。在图3的应用场景中,工具应用可以为向云手机用户提供服务的应用,执行主体可以检测各个工具应用的应用状态。具体的,可以执行以下步骤:
步骤301,遍历/proc目录下各个进程的cmdline文件。
在本实施例中,执行主体可以遍历安卓***中的/proc目录,其中,/proc目录指的是用于管理各个进程的文件的目录,/proc目录中包含一级目录pid和二级目录cmdline文件,具体表现形式为/proc/pid/cmdline。其中,一级目录pid指的是进程识别号,用于区分不同的进程。二级目录cmdline文件中包含相应的进程所产生的进程启动文件。因此,在确定工具应用的进程启动状态时,可以对/proc目录下各个进程的cmdline文件进行遍历。
步骤302,如果当前遍历的cmdline文件和工具应用相匹配,则确定工具应用的进程已启动。
在本实施例中,执行主体可以确定当前遍历的cmdline文件的进程名称是否为预设的进程名称,如app_process32。具体可以将当前遍历的cmdline文件的指定行字符串与预设的进程名称进行匹配。以及执行主体还可以确定当前遍历的cmdline文件中是否包含工具应用的包名。如果cmdline文件中的指定行字符串与预设的进程名称匹配,并且cmdline文件中包含工具应用的包名,则确定工具应用的进程已启动。
步骤303,跳出遍历,根据工具应用相匹配的cmdline文件的pid,确定logcat日志。
在本实施例中,在确定工具应用的进程已启动的情况下,可以跳出遍历,并确定工具应用相匹配的cmdline文件的pid,再进一步确定该pid对应的logcat日志。其中,logcat日志指的是工具应用在运行脚本时在logcat中产生的日志。其中,logcat是安卓***中用于得到程序日志信息的命令行工具。
步骤304,如果logcat日志未输出关键字,则说明工具应用处于空跑状态。
在本实施例中,关键字可以为预先设置的工具应用的脚本启动时所产生的关键字,如“ZDLOG”、“injectJar”、“LogTest”。执行主体可以对logcat日志进行分析,确定logcat日志中是否输出关键字,如果未输出,则说明工具应用处于空跑状态。并且,执行主体在判断logcat日志是否输出关键字时,可以先清空logcat日志,再等待预设时长,观察在预设时长内logcat是否输出关键字。
需要说明的是,这里的空跑状态指的是进程启动但脚本未启动的状态。可选的,在进行云端工具应用结算时,可以筛除这些处于空跑状态的工具应用,从而提高应用结算的精准度。
本公开上述实施例提供的用于检测应用状态的方法,能够先确定目标应用的进程启动信息,在进程启动信息指示目标应用的进程处于启动状态的情况下,进一步获取目标应用对应的脚本日志信息,来确定目标应用的脚本启动状态,从进程启动检测和脚本启动检测两方面,实现应用状态的精准检测。
继续参见图4,其示出了根据本公开的用于检测应用状态的方法的另一个实施例的流程400。如图4所示,本实施例的用于检测应用状态的方法可以包括以下步骤:
步骤401,获取目标应用。
在本实施例中,对于步骤401的详细描述请参照对于步骤201的详细描述,在此不再赘述。
步骤402,遍历预设的进程管理目录中的目标文件集合。
在本实施例中,预设的进程管理目录用于管理各个应用对应的进程文件,如上述的/proc。目标文件集合中包含各个应用所产生的进程对应的目标文件。执行主体可以在预设的进程管理目录中遍历目标文件集合中的各个目标文件,来确定目标应用的进程是否启动。
步骤403,对于目标文件集合中的每个目标文件,响应于确定该目标文件和目标应用的进程名称相匹配、且该目标文件包含目标应用的包名,将该目标文件确定为目标应用对应的进程启动文件。
在本实施例中,目标文件集合中的每个目标文件对应着相应的进程识别号,如上述的pid。目标文件用于表示相应的进程所产生的进程启动文件,如上述的cmdline文件。执行主体可以基于目标应用的属性信息确定目标应用的进程名称,并判断目标文件是否和目标应用的进程名称相匹配,以及判断目标文件中是否包含目标应用的包名,如果目标文件和目标应用的进程名称匹配、且目标文件中包含目标应用的包名,则将目标文件确定为目标应用对应的进程启动文件。
步骤404,响应于检测到在预设的进程管理目录中包含目标应用对应的进程启动文件,确定目标应用的进程处于启动状态。
在本实施例中,执行主体如果检测到在预设的进程管理目录中存在和目标应用的名称匹配、且包含目标应用的包名的进程启动文件,也即是在预设的进程管理目录中包含目标应用对应的进程启动文件,则确定目标应用的进程处于启动状态。
步骤405,基于目标应用对应的进程启动文件的进程识别号,确定与目标应用对应的脚本日志信息。
在本实施例中,执行主体可以先确定目标应用对应的进程启动文件的进程识别号,之后,基于进程识别号,确定相对应的脚本日志信息。
在本实施例的一些可选的实现方式中,基于目标应用对应的进程启动文件的进程识别号,确定与目标应用对应的脚本日志信息可以包括:基于目标应用对应的进程启动文件的进程识别号,按照预设的时间间隔,获取预设时间段内的、与目标应用对应的脚本日志信息。其中,预设时间段可以为当前时刻以前的预设时长的时间段,例如从当前时刻以前8秒。通过实施这种可选的实现方式,执行主体可以按照时间间隔获取最近的脚本日志信息,提高了脚本日志信息的获取准确度。
步骤406,响应于确定进程启动信息指示目标应用的进程处于启动状态,获取目标应用对应的脚本日志信息。
在本实施例中,对于步骤406的详细描述请参照对于步骤203的详细描述,在此不再赘述。
步骤407,基于目标应用的脚本启动时产生的关键字,确定预设的关键字。
在本实施例中,执行主体可以预先统计目标应用的脚本启动时,在脚本日志信息中所产生的关键字,将其作为预设的关键字。
步骤408,响应于确定脚本日志信息未输出预设的关键字,确定目标应用的应用状态为空跑状态。
在本实施例中,如果脚本日志信息未输出预设的关键字,则说明目标应用的脚本未启动,此时确定目标应用的应用状态为空跑状态。可选的,可以对处于空跑状态的目标应用设置空跑标识,后续在确定结算设备时,剔除具有空跑标识的目标应用。
步骤409,响应于确定脚本日志信息输出预设的关键字,确定目标应用的应用状态为正常运行状态。
在本实施例中,如果脚本日志信息输出预设的关键字,则说明目标应用的脚本已启动,此时将目标应用的应用状态确定为正常运行状态。可选的,可以对处于正常运行状态的目标应用设置结算标识,后续在确定结算设备时,统计这些具有结算标识的目标应用。
本公开的上述实施例提供的用于检测应用状态的方法,还可以基于对预设的进程管理目录中的各个目标文件进行遍历,基于进程名称匹配,以及对是否包含应用包名的判断,确定目标应用的进程是否启动,提高了进程启动的判断精准度。以及根据进程识别号确定脚本日志信息,基于脚本日志信息是否输出关键字,确定目标应用处于空跑状态还是正常运行状态。这一过程还可以实现对于空跑状态的判断,精准检测假性启动的应用,进一步提高了应用状态检测精准度。
进一步参考图5,作为对上述各图所示方法的实现,本公开提供了一种用于检测应用状态的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于终端设备、服务器等电子设备中。
如图5所示,本实施例的用于检测应用状态的装置500包括:应用获取单元501、进程确定单元502、日志获取单元503和状态确定单元504。
应用获取单元501,被配置成获取目标应用。
进程确定单元502,被配置成确定目标应用的进程启动信息。
日志获取单元503,被配置成响应于确定进程启动信息指示目标应用的进程处于启动状态,获取目标应用对应的脚本日志信息。
状态确定单元504,被配置成基于脚本日志信息确定目标应用的应用状态。
在本实施例的一些可选的实现方式中,进程确定单元502进一步被配置成:响应于检测到在预设的进程管理目录中包含目标应用对应的进程启动文件,确定目标应用的进程处于启动状态。
在本实施例的一些可选的实现方式中,上述装置还包括:文件遍历单元,被配置成遍历预设的进程管理目录中的目标文件集合;文件确定单元,被配置成对于目标文件集合中的每个目标文件,响应于确定该目标文件和目标应用的进程名称相匹配、且该目标文件包含目标应用的包名,将该目标文件确定为目标应用对应的进程启动文件。
在本实施例的一些可选的实现方式中,目标文件集合中的每个目标文件对应着相应的进程识别号;以及,上述装置还包括:日志确定单元,被配置成基于目标应用对应的进程启动文件的进程识别号,确定与目标应用对应的脚本日志信息。
在本实施例的一些可选的实现方式中,状态确定单元进一步被配置成:响应于确定脚本日志信息未输出预设的关键字,确定目标应用的应用状态为空跑状态。
在本实施例的一些可选的实现方式中,状态确定单元进一步被配置成:响应于确定脚本日志信息输出预设的关键字,确定目标应用的应用状态为正常运行状态。
在本实施例的一些可选的实现方式中,上述装置还包括:关键字确定单元,被配置成基于目标应用的脚本启动时产生的关键字,确定预设的关键字。
应当理解,用于检测应用状态的装置500中记载的单元501至单元504分别与参考图2中描述的方法中的各个步骤相对应。由此,上文针对用车载通话的方法描述的操作和特征同样适用于装置500及其中包含的单元,在此不再赘述。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图6示出了可以用来实施本公开的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图6所示,设备600包括计算单元601,其可以根据存储在只读存储器(ROM)602中的计算机程序或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序,来执行各种适当的动作和处理。在RAM603中,还可存储设备600操作所需的各种程序和数据。计算单元601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如用于检测应用状态的方法。例如,在一些实施例中,用于检测应用状态的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到RAM 603并由计算单元601执行时,可以执行上文描述的用于检测应用状态的方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行用于检测应用状态的方法。
本文中以上描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式***的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (6)
1.一种用于检测应用状态的方法,包括:
获取目标应用;
确定所述目标应用的进程启动信息;
响应于确定所述进程启动信息指示所述目标应用的进程处于启动状态,获取所述目标应用对应的脚本日志信息;
基于所述脚本日志信息确定所述目标应用的应用状态;
其中,所述方法还包括:遍历预设的进程管理目录中的目标文件集合;对于所述目标文件集合中的每个目标文件,响应于确定该目标文件和所述目标应用的进程名称相匹配、且该目标文件包含所述目标应用的包名,将该目标文件确定为所述目标应用对应的进程启动文件;以及
所述确定所述目标应用的进程启动信息,包括:响应于检测到在预设的进程管理目录中包含所述目标应用对应的进程启动文件,确定所述目标应用的进程处于启动状态;
所述目标文件集合中的每个目标文件对应着相应的进程识别号;以及所述方法还包括:基于所述目标应用对应的进程启动文件的进程识别号,确定与所述目标应用对应的所述脚本日志信息;
所述方法还包括:基于所述目标应用的脚本启动时产生的关键字,确定所述预设的关键字;以及所述基于所述脚本日志信息确定所述目标应用的应用状态,包括:响应于确定所述脚本日志信息未输出预设的关键字,确定所述目标应用的应用状态为空跑状态。
2.根据权利要求1所述的方法,其中,所述基于所述脚本日志信息确定所述目标应用的应用状态,包括:
响应于确定所述脚本日志信息输出预设的关键字,确定所述目标应用的应用状态为正常运行状态。
3.一种用于检测应用状态的装置,包括:
应用获取单元,被配置成获取目标应用;
进程确定单元,被配置成确定所述目标应用的进程启动信息;
日志获取单元,被配置成响应于确定所述进程启动信息指示所述目标应用的进程处于启动状态,获取所述目标应用对应的脚本日志信息;
状态确定单元,被配置成基于所述脚本日志信息确定所述目标应用的应用状态;
其中,所述装置还包括:文件遍历单元,被配置成遍历预设的进程管理目录中的目标文件集合;
文件确定单元,被配置成对于所述目标文件集合中的每个目标文件,响应于确定该目标文件和所述目标应用的进程名称相匹配、且该目标文件包含所述目标应用的包名,将该目标文件确定为所述目标应用对应的进程启动文件;以及
所述进程确定单元进一步被配置成:响应于检测到在预设的进程管理目录中包含所述目标应用对应的进程启动文件,确定所述目标应用的进程处于启动状态;
所述目标文件集合中的每个目标文件对应着相应的进程识别号;以及所述装置还包括:日志确定单元,被配置成基于所述目标应用对应的进程启动文件的进程识别号,确定与所述目标应用对应的所述脚本日志信息;
所述装置还包括:关键字确定单元,被配置成基于所述目标应用的脚本启动时产生的关键字,确定所述预设的关键字;以及所述状态确定单元进一步被配置成:响应于确定所述脚本日志信息未输出预设的关键字,确定所述目标应用的应用状态为空跑状态。
4.根据权利要求3所述的装置,其中,所述状态确定单元进一步被配置成:
响应于确定所述脚本日志信息输出预设的关键字,确定所述目标应用的应用状态为正常运行状态。
5. 一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1或2所述的方法。
6.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1或2所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110969746.3A CN113641544B (zh) | 2021-08-23 | 2021-08-23 | 用于检测应用状态的方法、装置、设备、介质和产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110969746.3A CN113641544B (zh) | 2021-08-23 | 2021-08-23 | 用于检测应用状态的方法、装置、设备、介质和产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113641544A CN113641544A (zh) | 2021-11-12 |
CN113641544B true CN113641544B (zh) | 2024-04-26 |
Family
ID=78423423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110969746.3A Active CN113641544B (zh) | 2021-08-23 | 2021-08-23 | 用于检测应用状态的方法、装置、设备、介质和产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113641544B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115185813A (zh) * | 2022-06-09 | 2022-10-14 | 深圳价值网络科技有限公司 | 一种应用启动时的状态检测方法及*** |
CN116541104B (zh) * | 2023-07-04 | 2023-09-29 | 宁德时代新能源科技股份有限公司 | 程序管理方法、控制装置、平台、设备以及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105045714A (zh) * | 2015-07-25 | 2015-11-11 | 北京金山安全软件有限公司 | 一种应用软件启动时长的测试方法、装置及终端 |
CN107122306A (zh) * | 2017-05-15 | 2017-09-01 | 网易(杭州)网络有限公司 | 自动化测试方法及装置、存储介质、电子设备 |
WO2019144670A1 (zh) * | 2018-01-23 | 2019-08-01 | 晶晨半导体(上海)股份有限公司 | 一种***日志的收集方法 |
CN110888740A (zh) * | 2019-11-22 | 2020-03-17 | 腾讯科技(深圳)有限公司 | 小程序的增量内存确定方法、装置、设备及存储介质 |
CN111625342A (zh) * | 2020-06-07 | 2020-09-04 | 智博云信息科技(广州)有限公司 | 一种数据溯源方法、装置及服务器 |
CN111782372A (zh) * | 2020-06-30 | 2020-10-16 | 中国平安财产保险股份有限公司 | java进程的启动方法、装置、计算机设备和存储介质 |
CN112380088A (zh) * | 2020-11-09 | 2021-02-19 | 北京字节跳动网络技术有限公司 | 测试方法、装置和电子设备 |
CN112733588A (zh) * | 2020-08-13 | 2021-04-30 | 精英数智科技股份有限公司 | 机器运行状态检测方法、装置及电子设备 |
EP3819764A2 (en) * | 2020-09-29 | 2021-05-12 | Beijing Baidu Netcom Science And Technology Co. Ltd. | Service information processing method, apparatus, device and computer storage medium |
CN113076246A (zh) * | 2021-03-31 | 2021-07-06 | 中国建设银行股份有限公司 | 软件***的维护方法、装置、计算机设备及可读存储介质 |
-
2021
- 2021-08-23 CN CN202110969746.3A patent/CN113641544B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105045714A (zh) * | 2015-07-25 | 2015-11-11 | 北京金山安全软件有限公司 | 一种应用软件启动时长的测试方法、装置及终端 |
CN107122306A (zh) * | 2017-05-15 | 2017-09-01 | 网易(杭州)网络有限公司 | 自动化测试方法及装置、存储介质、电子设备 |
WO2019144670A1 (zh) * | 2018-01-23 | 2019-08-01 | 晶晨半导体(上海)股份有限公司 | 一种***日志的收集方法 |
CN110888740A (zh) * | 2019-11-22 | 2020-03-17 | 腾讯科技(深圳)有限公司 | 小程序的增量内存确定方法、装置、设备及存储介质 |
CN111625342A (zh) * | 2020-06-07 | 2020-09-04 | 智博云信息科技(广州)有限公司 | 一种数据溯源方法、装置及服务器 |
CN111782372A (zh) * | 2020-06-30 | 2020-10-16 | 中国平安财产保险股份有限公司 | java进程的启动方法、装置、计算机设备和存储介质 |
CN112733588A (zh) * | 2020-08-13 | 2021-04-30 | 精英数智科技股份有限公司 | 机器运行状态检测方法、装置及电子设备 |
EP3819764A2 (en) * | 2020-09-29 | 2021-05-12 | Beijing Baidu Netcom Science And Technology Co. Ltd. | Service information processing method, apparatus, device and computer storage medium |
CN112380088A (zh) * | 2020-11-09 | 2021-02-19 | 北京字节跳动网络技术有限公司 | 测试方法、装置和电子设备 |
CN113076246A (zh) * | 2021-03-31 | 2021-07-06 | 中国建设银行股份有限公司 | 软件***的维护方法、装置、计算机设备及可读存储介质 |
Non-Patent Citations (1)
Title |
---|
监控***中获取进程信息的算法实现;刘燕生, 卓贤林, 游志胜;四川大学学报(自然科学版);20040428(02);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113641544A (zh) | 2021-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113641544B (zh) | 用于检测应用状态的方法、装置、设备、介质和产品 | |
CN113778644B (zh) | 任务的处理方法、装置、设备及存储介质 | |
CN110881224B (zh) | 一种网络长连接方法、装置、设备及存储介质 | |
CN113495825A (zh) | 线路告警的处理方法、装置、电子设备及可读存储介质 | |
CN116303013A (zh) | 源码分析方法、装置、电子设备及存储介质 | |
CN116545905A (zh) | 一种服务健康检测方法、装置、电子设备及存储介质 | |
CN116126719A (zh) | 接口测试方法、装置、电子设备及存储介质 | |
CN111159009A (zh) | 一种日志服务***的压力测试方法及装置 | |
CN116450176A (zh) | 版本更新方法、装置、电子设备及存储介质 | |
CN116301997A (zh) | 一种控制器的升级方法、装置、设备和介质 | |
CN111382017A (zh) | 故障查询方法、装置,服务器及存储介质 | |
CN112596814B (zh) | 项目的集成打包方法、装置、设备、介质和程序产品 | |
CN115328736A (zh) | 一种探针部署方法、装置、设备和存储介质 | |
CN115130112A (zh) | 一种快速启停方法、装置、设备及存储介质 | |
CN116401113B (zh) | 一种异构众核架构加速卡的环境验证方法、装置及介质 | |
CN113360258B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN112527802B (zh) | 基于键值数据库的软链接方法及装置 | |
CN113835893B (zh) | 数据处理的方法、装置、设备、存储介质及程序产品 | |
CN115757275A (zh) | 一种资产信息管理方法、装置、电子设备及存储介质 | |
CN117093274A (zh) | 一种应用运行堆栈解析方法、装置、设备及存储介质 | |
CN112540929A (zh) | 检测方法、装置、设备及存储介质 | |
CN115309717A (zh) | 数据库加载方法、装置、设备、介质和计算机程序产品 | |
CN117852043A (zh) | 异常设备的确定方法、装置、电子设备以及存储介质 | |
CN117632149A (zh) | 应用程序的控制方法、装置、电子设备及存储介质 | |
CN116954689A (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 |