CN104461847A - 数据处理程序检测方法及装置 - Google Patents

数据处理程序检测方法及装置 Download PDF

Info

Publication number
CN104461847A
CN104461847A CN201410728028.7A CN201410728028A CN104461847A CN 104461847 A CN104461847 A CN 104461847A CN 201410728028 A CN201410728028 A CN 201410728028A CN 104461847 A CN104461847 A CN 104461847A
Authority
CN
China
Prior art keywords
data
tested
handling procedure
log file
collection
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
Application number
CN201410728028.7A
Other languages
English (en)
Other versions
CN104461847B (zh
Inventor
崔维福
张轩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Gridsum Technology Co Ltd
Original Assignee
Beijing Gridsum Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Gridsum Technology Co Ltd filed Critical Beijing Gridsum Technology Co Ltd
Priority to CN201410728028.7A priority Critical patent/CN104461847B/zh
Publication of CN104461847A publication Critical patent/CN104461847A/zh
Application granted granted Critical
Publication of CN104461847B publication Critical patent/CN104461847B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种数据处理程序检测方法及装置,该数据处理程序检测方法包括:获取待检测数据处理程序的进程日志文件;判断进程日志文件是否包含第一预设标识符,其中,第一预设标识符用于表示待检测数据处理程序正常退出;如果判断出进程日志文件包含第一预设标识符,则确定待检测数据处理程序正常退出;以及如果判断出进程日志文件不包含第一预设标识符,则确定待检测数据处理程序非正常退出,输出第一提示信息,其中,第一提示信息用于提示待检测数据处理程序非正常退出。通过本发明,解决了数据处理程序异常退出检测效率低的问题,进而达到了提高数据处理程序异常退出检测效率的效果。

Description

数据处理程序检测方法及装置
技术领域
[0001] 本发明涉及数据处理领域,具体而言,涉及一种数据处理程序检测方法及装置。
背景技术
[0002] 服务器上会运行一些数据处理程序,但是这些数据处理程序因程序漏洞或者机器资源等原因导致数据处理程序执行中发生崩溃。为了避免上述问题,可以对数据处理程序运行情况进行检测,如果发现数据处理程序未能正常退出则发出报警通知。现有技术中检测数据处理程序异常退出的方案都是在待检测数据处理程序中嵌入心跳检测模块,心跳模块在定期发送心跳信号,在数据处理程序退出前发送特定退出信号来报告数据处理程序正常退出。但此方案存在如下两个问题,一是心跳检测模块需要嵌入到待检测数据处理程序中,降低了待检测数据处理程序的运行效率,同时降低了检测效率。二是待检测数据处理程序与心跳检测模块配对出现,因此大大增加了代码量,内存占用量增加。
[0003] 针对相关技术中数据处理程序异常退出检测效率低的问题,目前尚未提出有效的解决方案。
发明内容
[0004] 本发明的主要目的在于提供一种数据处理程序检测方法及装置,以解决相关技术中数据处理程序异常退出检测效率低的问题。
[0005] 为了实现上述目的,根据本发明的一个方面,提供了一种数据处理程序检测方法。
[0006] 根据本发明的数据处理程序检测方法包括:获取待检测数据处理程序的进程日志文件;判断进程日志文件是否包含第一预设标识符,其中,第一预设标识符用于表示待检测数据处理程序正常退出;如果判断出进程日志文件包含第一预设标识符,则确定待检测数据处理程序正常退出;以及如果判断出进程日志文件不包含第一预设标识符,则确定待检测数据处理程序非正常退出,输出第一提示信息,其中,第一提示信息用于提示待检测数据处理程序非正常退出。
[0007] 进一步地,在获取待检测数据处理程序的进程日志文件之前,该方法还包括:检测待检测数据处理程序是否退出;以及如果待检测数据处理程序退出,则获取进程日志文件。
[0008] 进一步地,在检测待检测数据处理程序是否退出之前,该方法还包括:检测待检测数据处理程序是否处于运行状态;如果检测出待检测数据处理程序处于运行状态,获取待检测数据处理程序的第一进程日志文件;判断第一进程日志文件中是否包含第二预设标识符,其中,第二预设标识符用于标识待检测数据处理程序能够正常输出进程日志;如果判断出第一进程日志文件中包含第二预设标识符,确定待检测数据处理程序能够正常输出进程日志;以及如果判断出第一进程日志文件中包含第二预设标识符,确定待检测数据处理程序不能够正常输出进程日志,输出第二提示信息。
[0009] 进一步地,检测待检测数据处理程序是否处于运行状态包括:获取数据处理设备在第一时刻的第一进程集合,其中,数据处理设备为用于运行待检测数据处理程序;获取数据处理设备在第二时刻的第二进程集合;由第一进程集合和第二进程集合得到数据处理设备新增进程集合;判断新增进程集合中是否包含待检测数据处理程序的进程;如果判断出新增进程集合中包含待检测数据处理程序的进程,则确定待检测数据处理程序处于运行状态;以及如果判断出新增进程集合中不包含待检测数据处理程序的进程,则确定待检测数据处理程序不处于运行状态。
[0010] 进一步地,判断新增进程集合中是否包含待检测数据处理程序的进程包括:获取待检测数据处理程序的标识;分别判断新增进程集合中的每一条进程是否包含待检测数据处理程序的标识;如果判断出新增进程集合中存在待检测数据处理程序的标识,则判断出新增进程集合包含待检测数据处理程序的进程;以及如果判断出新增进程集合中不存在待检测数据处理程序的标识,则判断出新增进程集合包含待检测数据处理程序的进程。
[0011] 进一步地,检测待检测数据处理程序是否退出包括:获取数据处理设备在第三时刻的第三进程集合;由第二进程集合和第三进程集合得到数据处理设备的退出进程集合;判断退出进程集合是否包含待检测数据处理程序的进程;以及如果判断出退出进程集合包含待检测数据处理程序的进程,则确定待检测数据处理程序退出。
[0012] 进一步地,判断进程日志文件是否包含预设标识符包括:获取进程日志文件中预设字节数的日志;以及判断进程日志文件中预设字节数的日志中是否包含预设标识符。
[0013] 为了实现上述目的,根据本发明的另一方面,提供了一种数据处理程序检测装置。
[0014] 根据本发明的数据处理程序检测装置包括:第一获取单元,用于获取待检测数据处理程序的进程日志文件;第一判断单元,用于判断进程日志文件是否包含第一预设标识符,其中,第一预设标识符用于表示待检测数据处理程序正常退出;以及第一确定单元,用于在判断出进程日志文件包含第一预设标识符,则确定待检测数据处理程序正常退出,在判断出进程日志文件不包含第一预设标识符时,则确定待检测数据处理程序非正常退出,输出第一提示信息,其中,第一提示信息用于提示待检测数据处理程序非正常退出。
[0015] 进一步地,该装置还包括:第一检测单元,用于检测待检测数据处理程序是否退出,其中,在待检测数据处理程序退出时,获取进程日志文件。
[0016] 进一步地,该装置还包括:第二检测单元,用于检测待检测数据处理程序是否处于运行状态;第二获取单元,用于在检测出待检测数据处理程序处于运行状态时,获取待检测数据处理程序的第一进程日志文件;第二判断单元,用于判断第一进程日志文件中是否包含第二预设标识符,其中,第二预设标识符用于标识待检测数据处理程序能够正常输出进程日志;以及第二确定单元,用于在判断出第一进程日志文件中包含第二预设标识符时,确定待检测数据处理程序能够正常输出进程日志,在判断出第一进程日志文件中包含第二预设标识符时,确定待检测数据处理程序不能够正常输出进程日志,输出第二提示信息。
[0017] 通过本发明,采用检测进程日志文件中是否包含第一预设标识符来确定待检测数据处理程序是否正常退出,解决了数据处理程序异常退出检测效率低的问题,进而达到了提高数据处理程序异常退出检测效率的效果。
附图说明
[0018] 构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0019] 图1是根据本发明第一实施例的数据处理程序检测方法的流程图;
[0020] 图2是根据本发明第二实施例的数据处理程序检测方法的流程图;以及
[0021] 图3是根据本发明实施例的数据处理程序检测装置的示意图。
具体实施方式
[0022] 需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
[0023] 为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
[0024] 需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0025] 根据本发明实施例,提供了一种数据处理程序检测方法,图1是根据本发明第一实施例的数据处理程序检测方法的流程图。
[0026] 如图1所示,该方法包括如下的步骤S102至步骤S108:
[0027] 步骤S102:获取待检测数据处理程序的进程日志文件。
[0028] 待检测数据处理程序可以是任意在运行状态时能够输出运行日志文件的程序,例如,微信应用程序,QQ应用程序等。待检测数据处理程序可以是一个,也可以是多个,可以是运行在一个数据处理设备上的多个数据处理程序,也可以是运行在多个数据处理设备上的多个数据处理程序,用户可以在配置文件中进行设置,包括待检测数据处理程序的名称、存储路径以及数据处理设备的地址、用户名等。进程日志文件是指数据处理程序的运行日志文件。数据处理程序在运行过程中,通常会写下运行日志来记录该数据处理程序的运行状态,例如该数据处理程序的运行时间、运行进程等,用户也可以根据需要设置数据处理程序的运行日志,例如,可以在数据处理程序运行到指定位置时输出预设日志行。
[0029] 步骤S104:判断进程日志文件是否包含第一预设标识符,其中,第一预设标识符用于表示待检测数据处理程序正常退出。
[0030] 第一预设标识符为用户预先设定的在待检测数据处理程序正常退出时输出的标识信息,例如,字符“end”。如果待检测数据处理程序不是正常退出,而是由于程序漏洞等原因造成待检测数据处理程序终止运行则不会输出该第一预设标识符。通过遍历进程日志文件,将进程日志文件中每一个字符与第一预设标识符比较,如果进程日志文件中存在字符与第一预设标识符相同,则说明进程日志文件中包含第一预设标识符,否则,进程日志文件中不包含第一预设标识符。
[0031] 优选地,为了提高判断进程日志文件是否包含第一预设标识符的效率同时节省内存空间,判断进程日志文件是否包含预设标识符包括:获取进程日志文件中预设字节数的日志;以及判断进程日志文件中预设字节数的日志中是否包含预设标识符。由于是根据数据处理程序的运行进程依次输出运行日志,数据处理程序在结束时输出的日志内容往往处于进程日志文件的靠后位置,因此,可以设定读取进程日志文件中靠后预设字节数的日志内容,也可以是预设数量的日志内容,或是预设数量的日志行。例如,读取进程日志文件中靠后1000字节的日志内容。具体地,可以通过Stream类来实现读取预设字节数的日志内容,其中,Stream类为Java、C++等编程语言中一个重要的类,所有的输入/输出(Input/Output)操作都基于该Stream类。
[0032] 步骤S106:如果判断出进程日志文件包含第一预设标识符,则确定待检测数据处理程序正常退出。
[0033] 步骤S108:如果判断出进程日志文件不包含第一预设标识符,则确定待检测数据处理程序非正常退出,输出第一提示信息,其中,第一提示信息用于提示待检测数据处理程序非正常退出。
[0034] 如果进程日志文件中包含第一预设标识符,则说明待检测数据处理程序为正常退出,如果进程日志文件不包含第一预设标识符,则说明待检测数据处理程序为非正常退出,同时输出提示信息,即第一提示信息,例如报警信息,通知相关人员该数据处理程序异常退出,从而可以及时的对异常退出的数据处理程序进行相关检测等处理。
[0035] 本发明实施例通过预先设置待检测数据处理程序正常退出时输出第一预设字符,进一步通过检测该待检测数据处理程序的进程日志文件中是否包含第一预设字符来确定该待检测数据处理程序是否正常退出,相比于现有技术通过在该待检测数据处理程序中嵌入心跳检测模块进行检测,不仅提高了检测的效率,而且节省内存空间。
[0036] 优选地,为了提高检测结果的准确性,在获取待检测数据处理程序的进程日志文件之前,该方法还包括:检测待检测数据处理程序是否退出;以及如果待检测数据处理程序退出,则获取进程日志文件。
[0037] 数据处理程序在运行过程中不断的向进程日志文件中写入日志内容,因此,在检测出待检测数据处理程序退出之后再获取待检测数据处理程序的进程日志文件,一方面可以避免频繁的获取进程日志文件操作影响检测效率,另一方面可以避免由于进程日志文件内容的不完整造成的检测结果不准确。
[0038] 优选地,为了提高检测结果的准确性,在检测待检测数据处理程序是否退出之前,该方法还包括:检测待检测数据处理程序是否处于运行状态;如果检测出待检测数据处理程序处于运行状态,获取待检测数据处理程序的第一进程日志文件;判断第一进程日志文件中是否包含第二预设标识符,其中,第二预设标识符用于标识待检测数据处理程序能够正常输出进程日志;如果判断出第一进程日志文件中包含第二预设标识符,确定待检测数据处理程序能够正常输出进程日志;以及如果判断出第一进程日志文件中包含第二预设标识符,确定待检测数据处理程序不能够正常输出进程日志,输出第二提示信息。
[0039] 本发明实施例在检测出待检测数据处理程序处于运行状态后,获取该待检测数据处理程序的运行日志文件,即第一进程日志文件,由于该待检测数据处理程序仍处于运行状态,因此第一进程日志文件的内容并不是待检测数据处理程序全部的运行日志。第二预设标识符同样是用户预先设定的在待检测数据处理程序开始运行时输出的标识信息,例如,字符“start”。如果判断出第一进程日志文件中包含第二预设标识符时,说明待检测数据处理程序能够正常输出日志内容,如果判断出第一进程日志文件中不包含第二预设标识符时,则说明待检测数据处理程序不能够正常输出日志内容,从而输出提示信息,即第二提示信息,例如报警信息,通知相关人员待检测数据处理程序输出日志信息异常,从而可以避免由于待检测数据处理程序不能正常输出日志信息导致的检测结果不准确。
[0040] 具体地,检测待检测数据处理程序是否处于运行状态可以通过扫描数据处理设备的进程列表得到扫描时刻数据处理设备运行的所有进程的集合,检测进程集合中是否包含检测待检测数据处理程序的运行进程,其中,进程集合中每一条进程包含数据处理程序的名称、存储路径、开始运行时间等信息。可选地,可以通过窗口管理规范(WindowsManagement Instrumentat1n)获取数据处理设备上的进程列表以及进程的运行时间、结束时间等信息。优选地,为了提高检测的效率,检测待检测数据处理程序是否处于运行状态包括:获取数据处理设备在第一时刻的第一进程集合,其中,数据处理设备为用于运行待检测数据处理程序;获取数据处理设备在第二时刻的第二进程集合;由第一进程集合和第二进程集合得到数据处理设备新增进程集合;判断新增进程集合中是否包含待检测数据处理程序的进程;如果判断出新增进程集合中包含待检测数据处理程序的进程,则确定待检测数据处理程序处于运行状态;以及如果判断出新增进程集合中不包含待检测数据处理程序的进程,则确定待检测数据处理程序不处于运行状态。
[0041] 第一时刻和第二时刻可以是任意两个不相同的时刻,两个时刻间隔的时间可以根据需要进行设置,例如,可以是每隔30秒扫描一次数据处理设备上的进程列表,也可以是每隔2分钟扫描一次数据处理设备上的进程列表。本发明实施例以第一时刻位于第二时刻之前为例进行说明。在第一时刻获取的数据处理设备上的进程列表为第一进程集合,第二时刻获取的数据处理设备上的进程列表为第二进程集合。数据处理设备会为其每一个数据处理程序的进程分配一个唯一标识,通过分别比较第一进程集合的所有进程的唯一标识和第二进程集合的所有进程的唯一标识,可以得到从第一时刻至第二时刻这段时间数据处理设备上新增进程集合。进一步通过判断新增进程集合中是否包含待检测数据处理程序的进程来确定待检测数据处理程序是否处于运行状态,避免了频繁的获取数据处理设备上的进程列表直接进行检测,提高了检测的效率。
[0042] 可选地,判断新增进程集合中是否包含待检测数据处理程序的进程包括:获取待检测数据处理程序的标识;分别判断新增进程集合中的每一条进程是否包含待检测数据处理程序的标识;如果判断出新增进程集合中存在待检测数据处理程序的标识,则判断出新增进程集合包含待检测数据处理程序的进程;以及如果判断出新增进程集合中不存在待检测数据处理程序的标识,则判断出新增进程集合包含待检测数据处理程序的进程。
[0043] 待检测数据处理程序的标识可以是待检测数据处理程序的名称,也可以是待检测数据处理程序的存储路径。新增进程集合中的每一条进程包含其对应的数据处理程序的名称、存储路径等信息。如果待检测数据处理程序的标识为待检测数据处理程序的名称,可以通过分别将新增进程集合中的每一条进程中包含的数据处理程序的名称与待检测数据处理程序的名称进行比较,同样的,如果待检测数据处理程序的标识为待检测数据处理程序的存储路径,则通过分别将新增进程集合中的每一条进程中包含的数据处理程序的存储路径与待检测数据处理程序的存储路径进行比较。如果在新增进程集合中存在待检测数据处理程序的标识,则说明新增进程集合包含待检测数据处理程序的进程,进一步说明待检测数据处理程序处于运行状态,如果新增进程集合中不包含待检测数据处理程序的标识,则说明新增进程集合包含待检测数据处理程序的进程,进一步地说明待检测数据处理程序不处于运行状态。
[0044] 优选地,检测待检测数据处理程序是否退出包括:获取数据处理设备在第三时刻的第三进程集合;由第二进程集合和第三进程集合得到数据处理设备的退出进程集合;判断退出进程集合是否包含待检测数据处理程序的进程;以及如果判断出退出进程集合包含待检测数据处理程序的进程,则确定待检测数据处理程序退出。
[0045] 第三时刻可以是上述第二时刻之后的任意时刻,在第三时刻获取的数据处理设备的进程列表为第三进程集合。通过分别比较第二进程集合中的每一个进程的唯一标识和第三进程集合中每一个进程的唯一标识,可以得到从第二时刻至第三时刻这段时间数据处理设备上退出进程集合。可以通过比较该退出进程集合中是否包含待检测数据处理程序的进程的唯一标识来判断该退出进程集合中是否包含该待检测数据处理程序的进程。如果判断出退出进程集合包含待检测数据处理程序的进程,则说明该待检测数据处理程序退出。通过预先检测出一个时间段的退出程序集合来检测待检测数据处理程序是否退出可以提高检测的效率。
[0046] 图2是根据本发明第二实施例的数据处理程序检测方法的流程图。如图2所示,该方法包括如下步骤S202至步骤S230:
[0047] 步骤S202:配置待检测数据处理程序的特征信息。
[0048] 待检测数据处理程序的特征信息包括目标机器地址、用户名、密码,待检测数据处理程序的目录和名称等信息,目标机器为用于运行待检测数据处理程序的数据处理设备,目标机器可以是一个,也可以是多个。
[0049] 步骤S204:扫描目标机器上进程列表,得到进程集合A。
[0050] 步骤S206:间隔预设时间,再次扫描目标机器上进程列表,得到进程集合B。
[0051] 该预设时间用户可以根据需要进行设置,例如,30秒。如果配置了多个目标机器,本发明实施例可以循环扫描上述多个目标机器上的进程信息。
[0052] 步骤S208:由进程集合A和进程集合B运算得到新增进程集合C。
[0053] 通过使用集合的交集运算、并集运算和差集运算,可以快速方便得到新增进程集合C。目标机器为运行的所有数据处理程序分配一个进程标识符,进程标识符为进程ID,进程ID是windows系统中进程的唯一标识符。
[0054] 步骤S210:判断新增进程集合C中是否有待检测进程。
[0055] 根据从配置文件中读取的程序特征信息,例如,待检测数据处理程序的名称,检测新增进程集合C中是否包含待检测的进程,该待检测进程即为待检测数据处理程序的进程。如果检测出新增进程集合C中包含待检测的进程,则执行步骤S212,否则,执行步骤S206。
[0056] 步骤S212:读取进程日志文件。
[0057] 数据处理程序在运行过程中,通常会写下运行日志来记录该数据处理程序的运行状态,用户可以根据需要设置数据处理程序的运行日志,例如,可以在数据处理程序运行到指定位置时输出预设日志行。
[0058] 步骤S214:是否存在第一预设日志行。
[0059] 第一预设日志行是预设的待检测数据处理程序开始运行时输出的日志行。如果进程日志文件中存在第一预设日志行,说明待检测数据处理程序可以正常输出日志,继续执行步骤S218,否则执行步骤S216。
[0060] 步骤S216:发送报警信息。用于提示相关人员该待检测数据处理程序不能正常输出日志。
[0061] 步骤S218:间隔预设时间,再次扫描目标机器上进程列表,得到进程集合D。
[0062] 步骤S220:由进程集合B和进程集合D运算得到退出进程集合E。
[0063] 退出进程集合E为存在于进程集合B且不存在于进程集合D的进程的集合,同样地,也可以通过集合运算快速得到退出进程集合E。
[0064] 步骤S222:判断退出进程集合E中是否有待检测进程。
[0065] 同样的,可以根据从配置文件中读取的程序特征信息,例如,待检测数据处理程序的名称,检测退出进程集合E中是否包含待检测的进程,该待检测进程即为待检测数据处理程序的进程。如果检测出退出进程集合E中包含待检测的进程,则执行步骤S224,否则,执行步骤S218。
[0066] 步骤S224:读取进程日志文件。
[0067] 步骤S226:是否存在第二预设日志行。
[0068] 第二预设日志行是预设的待检测数据处理程序正常退出时输出的日志行。如果进程日志文件中存在第二预设日志行,说明待检测数据处理程序正常退出,执行步骤S230,否贝U,执行步骤S228。
[0069] 步骤S228:发送报警信息,用于提示相关人员该待检测数据处理程序非正常退出。
[0070] 步骤S230:待检测数据处理程序正常退出。
[0071] 需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0072] 根据本发明实施例的另一方面,提供了一种数据处理程序检测装置,该数据处理程序检测装置可以用于执行本发明实施例的数据处理程序检测方法,本发明实施例的方法也可以通过本发明实施例的数据处理程序检测装置来执行。
[0073] 图3是根据本发明实施例的数据处理程序检测装置的示意图。如图3所示,该装置包括:第一获取单元10,第一判断单元20和第一确定单元30。
[0074] 第一获取单元10,用于获取待检测数据处理程序的进程日志文件。
[0075] 待检测数据处理程序可以是任意在运行时能够输出运行日志文件的程序,例如,微信应用程序,QQ应用程序等。待检测数据处理程序可以是一个,也可以是多个,可以是运行在一个数据处理设备上的多个数据处理程序,也可以是运行在多个数据处理设备上的多个数据处理程序,用户可以在配置文件中进行设置,包括待检测数据处理程序的名称、存储路径以及数据处理设备的地址、用户名等。进程日志文件是指数据处理程序的运行日志文件。数据处理程序在运行过程中,通常会写下运行日志来记录该数据处理程序的运行状态,例如该数据处理程序的运行时间、运行进程等。
[0076] 第一判断单元20,用于判断进程日志文件是否包含第一预设标识符,其中,第一预设标识符用于表示待检测数据处理程序正常退出。
[0077] 第一预设标识符为用户预先设定的在待检测数据处理程序正常退出时输出的标识信息,例如,字符“end”。如果待检测数据处理程序不是正常退出,而是由于程序漏洞等原因造成待检测数据处理程序终止运行则不会输出该第一预设标识符。
[0078] 第一确定单元30,用于在判断出进程日志文件包含第一预设标识符,则确定待检测数据处理程序正常退出,在判断出进程日志文件不包含第一预设标识符时,则确定待检测数据处理程序非正常退出,输出第一提示信息,其中,第一提示信息用于提示待检测数据处理程序非正常退出。
[0079] 本发明实施例通过第一获取单元10获取待检测数据处理程序的进程日志文件,通过第一判断单元20判断该待检测数据处理程序的进程日志文件中是否包含第一预设字符,通过第一确定单元30来确定该待检测数据处理程序是否正常退出,相比于现有技术通过在该待检测数据处理程序中嵌入心跳检测模块进行检测,不仅提高了检测的效率,而且节省内存空间。
[0080] 优选地,该装置还包括:第一检测单元,用于检测待检测数据处理程序是否退出,其中,在待检测数据处理程序退出时,获取进程日志文件。
[0081] 数据处理程序在运行过程中不断的向进程日志文件中写入日志内容,因此,在检测出待检测数据处理程序退出之后再获取待检测数据处理程序的进程日志文件,一方面可以避免频繁的获取进程日志文件操作影响检测效率,另一方面可以避免由于进程日志文件内容的不完整造成的检测结果不准确。
[0082] 优选地,该装置还包括:第二检测单元,用于检测待检测数据处理程序是否处于运行状态;第二获取单元,用于在检测出待检测数据处理程序处于运行状态时,获取待检测数据处理程序的第一进程日志文件;第二判断单元,用于判断第一进程日志文件中是否包含第二预设标识符,其中,第二预设标识符用于标识待检测数据处理程序能够正常输出进程日志;以及第二确定单元,用于在判断出第一进程日志文件中包含第二预设标识符时,确定待检测数据处理程序能够正常输出进程日志,在判断出第一进程日志文件中包含第二预设标识符时,确定待检测数据处理程序不能够正常输出进程日志,输出第二提示信息。
[0083] 本发明实施例在检测出待检测数据处理程序处于运行状态后,获取该待检测数据处理程序的运行日志文件,即第一进程日志文件。如果判断出第一进程日志文件中包含第二预设标识符时,说明待检测数据处理程序能够正常输出日志内容,如果判断出第一进程日志文件中不包含第二预设标识符时,则说明待检测数据处理程序不能够正常输出日志内容,从而输出提示信息,即第二提示信息,例如报警信息,通知相关人员待检测数据处理程序输出日志信息异常,从而可以避免由于待检测数据处理程序不能正常输出日志信息导致的检测结果不准确。
[0084] 显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0085] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种数据处理程序检测方法,其特征在于,包括: 获取待检测数据处理程序的进程日志文件; 判断所述进程日志文件是否包含第一预设标识符,其中,所述第一预设标识符用于表示所述待检测数据处理程序正常退出; 如果判断出所述进程日志文件包含所述第一预设标识符,则确定所述待检测数据处理程序正常退出;以及 如果判断出所述进程日志文件不包含所述第一预设标识符,则确定所述待检测数据处理程序非正常退出,输出第一提示信息,其中,所述第一提示信息用于提示所述待检测数据处理程序非正常退出。
2.根据权利要求1所述的数据处理程序检测方法,其特征在于,在获取待检测数据处理程序的进程日志文件之前,所述方法还包括: 检测所述待检测数据处理程序是否退出;以及 如果所述待检测数据处理程序退出,则获取所述进程日志文件。
3.根据权利要求2所述的数据处理程序检测方法,其特征在于,在检测所述待检测数据处理程序是否退出之前,所述方法还包括: 检测所述待检测数据处理程序是否处于运行状态; 如果检测出所述待检测数据处理程序处于运行状态,获取所述待检测数据处理程序的第一进程日志文件; 判断所述第一进程日志文件中是否包含第二预设标识符,其中,所述第二预设标识符用于标识所述待检测数据处理程序能够正常输出进程日志; 如果判断出所述第一进程日志文件中包含第二预设标识符,确定所述待检测数据处理程序能够正常输出进程日志;以及 如果判断出所述第一进程日志文件中包含第二预设标识符,确定所述待检测数据处理程序不能够正常输出进程日志,输出第二提示信息。
4.根据权利要求3所述的数据处理程序检测方法,其特征在于,检测所述待检测数据处理程序是否处于运行状态包括: 获取数据处理设备在第一时刻的第一线程集合,其中,所述数据处理设备为用于运行所述待检测数据处理程序; 获取所述数据处理设备在第二时刻的第二进程集合; 由所述第一进程集合和所述第二进程集合得到所述数据处理设备新增进程集合; 判断所述新增进程集合中是否包含所述待检测数据处理程序的进程; 如果判断出所述新增进程集合中包含所述待检测数据处理程序的进程,则确定所述待检测数据处理程序处于运行状态;以及 如果判断出所述新增进程集合中不包含所述待检测数据处理程序的进程,则确定所述待检测数据处理程序不处于运行状态。
5.根据权利要求4所述的数据处理程序检测方法,其特征在于,判断所述新增进程集合中是否包含所述待检测数据处理程序的进程包括: 获取所述待检测数据处理程序的标识; 分别判断所述新增进程集合中的每一条进程是否包含所述待检测数据处理程序的标识; 如果判断出所述新增进程集合中存在所述待检测数据处理程序的标识,则判断出所述新增进程集合包含所述待检测数据处理程序的进程;以及 如果判断出所述新增进程集合中不存在所述待检测数据处理程序的标识,则判断出所述新增进程集合包含所述待检测数据处理程序的进程。
6.根据权利要求4所述的数据处理程序检测方法,其特征在于,检测所述待检测数据处理程序是否退出包括: 获取所述数据处理设备在第三时刻的第三进程集合; 由所述第二进程集合和所述第三进程集合得到所述数据处理设备的退出进程集合; 判断所述退出进程集合是否包含所述待检测数据处理程序的进程;以及如果判断出所述退出进程集合包含所述待检测数据处理程序的进程,则确定所述待检测数据处理程序退出。
7.根据权利要求1所述的数据处理程序检测方法,其特征在于,判断所述进程日志文件是否包含预设标识符包括: 获取所述进程日志文件中预设字节数的日志;以及 判断所述进程日志文件中所述预设字节数的日志中是否包含所述预设标识符。
8.一种数据处理程序检测装置,其特征在于,包括: 第一获取单元,用于获取待检测数据处理程序的进程日志文件; 第一判断单元,用于判断所述进程日志文件是否包含第一预设标识符,其中,所述第一预设标识符用于表示所述待检测数据处理程序正常退出;以及 第一确定单元,用于在判断出所述进程日志文件包含所述第一预设标识符,则确定所述待检测数据处理程序正常退出,在判断出所述进程日志文件不包含所述第一预设标识符时,则确定所述待检测数据处理程序非正常退出,输出第一提示信息,其中,所述第一提示信息用于提示所述待检测数据处理程序非正常退出。
9.根据权利要求8所述的数据处理程序检测装置,其特征在于,所述装置还包括: 第一检测单元,用于检测所述待检测数据处理程序是否退出, 其中,在所述待检测数据处理程序退出时,获取所述进程日志文件。
10.根据权利要求9所述的数据处理程序检测装置,其特征在于,所述装置还包括: 第二检测单元,用于检测所述待检测数据处理程序是否处于运行状态; 第二获取单元,用于在检测出所述待检测数据处理程序处于运行状态时,获取所述待检测数据处理程序的第一进程日志文件; 第二判断单元,用于判断所述第一进程日志文件中是否包含第二预设标识符,其中,所述第二预设标识符用于标识所述待检测数据处理程序能够正常输出进程日志;以及 第二确定单元,用于在判断出所述第一进程日志文件中包含第二预设标识符时,确定所述待检测数据处理程序能够正常输出进程日志,在判断出所述第一进程日志文件中包含第二预设标识符时,确定所述待检测数据处理程序不能够正常输出进程日志,输出第二提不十目息。
CN201410728028.7A 2014-12-03 2014-12-03 数据处理程序检测方法及装置 Active CN104461847B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410728028.7A CN104461847B (zh) 2014-12-03 2014-12-03 数据处理程序检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410728028.7A CN104461847B (zh) 2014-12-03 2014-12-03 数据处理程序检测方法及装置

Publications (2)

Publication Number Publication Date
CN104461847A true CN104461847A (zh) 2015-03-25
CN104461847B CN104461847B (zh) 2018-02-23

Family

ID=52907940

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410728028.7A Active CN104461847B (zh) 2014-12-03 2014-12-03 数据处理程序检测方法及装置

Country Status (1)

Country Link
CN (1) CN104461847B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107145421A (zh) * 2016-03-01 2017-09-08 中国移动通信集团福建有限公司 一种异常信息获取方法和装置
WO2017190575A1 (zh) * 2016-05-03 2017-11-09 阿里巴巴集团控股有限公司 驱动程序的控制方法及装置
CN108241612A (zh) * 2016-12-27 2018-07-03 北京国双科技有限公司 标点符号处理方法和装置
CN108241612B (zh) * 2016-12-27 2021-11-05 北京国双科技有限公司 标点符号处理方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6539501B1 (en) * 1999-12-16 2003-03-25 International Business Machines Corporation Method, system, and program for logging statements to monitor execution of a program
US7120901B2 (en) * 2001-10-26 2006-10-10 International Business Machines Corporation Method and system for tracing and displaying execution of nested functions
CN101320350A (zh) * 2008-07-17 2008-12-10 金蝶软件(中国)有限公司 一种性能监控方法及装置
CN103198007A (zh) * 2012-01-06 2013-07-10 腾讯科技(深圳)有限公司 多进程的日志输出方法及系统
CN103324565A (zh) * 2012-05-30 2013-09-25 北京神州泰岳软件股份有限公司 日志监控方法
CN104077210A (zh) * 2014-06-06 2014-10-01 百度在线网络技术(北京)有限公司 一种客户端崩溃的定位方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6539501B1 (en) * 1999-12-16 2003-03-25 International Business Machines Corporation Method, system, and program for logging statements to monitor execution of a program
US7120901B2 (en) * 2001-10-26 2006-10-10 International Business Machines Corporation Method and system for tracing and displaying execution of nested functions
CN101320350A (zh) * 2008-07-17 2008-12-10 金蝶软件(中国)有限公司 一种性能监控方法及装置
CN103198007A (zh) * 2012-01-06 2013-07-10 腾讯科技(深圳)有限公司 多进程的日志输出方法及系统
CN103324565A (zh) * 2012-05-30 2013-09-25 北京神州泰岳软件股份有限公司 日志监控方法
CN104077210A (zh) * 2014-06-06 2014-10-01 百度在线网络技术(北京)有限公司 一种客户端崩溃的定位方法及系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107145421A (zh) * 2016-03-01 2017-09-08 中国移动通信集团福建有限公司 一种异常信息获取方法和装置
WO2017190575A1 (zh) * 2016-05-03 2017-11-09 阿里巴巴集团控股有限公司 驱动程序的控制方法及装置
CN107341026A (zh) * 2016-05-03 2017-11-10 阿里巴巴集团控股有限公司 驱动程序的控制方法及装置
CN108241612A (zh) * 2016-12-27 2018-07-03 北京国双科技有限公司 标点符号处理方法和装置
CN108241612B (zh) * 2016-12-27 2021-11-05 北京国双科技有限公司 标点符号处理方法和装置

Also Published As

Publication number Publication date
CN104461847B (zh) 2018-02-23

Similar Documents

Publication Publication Date Title
US20150347268A1 (en) Bottleneck Detector Application Programming Interface
US8676966B2 (en) Detecting and monitoring server side states during web application scanning
US20130198362A1 (en) System for Identifying a Server to be Decommissioned
CN104461847A (zh) 数据处理程序检测方法及装置
CN106462702B (zh) 用于在分布式计算机基础设施中获取并且分析电子取证数据的方法和系统
US20120110014A1 (en) Method, apparatus, and program for the discovery of resources in a computing environment
CN111176202A (zh) 工业控制网络的安全管理方法、装置、终端设备及介质
CN110943984A (zh) 一种资产安全保护方法及装置
CN107241229B (zh) 一种基于接口测试工具的业务监控方法及装置
CN108073499B (zh) 应用程序的测试方法及装置
CN105468507B (zh) 分支达标检测方法及装置
CN110324207B (zh) 一种数据采集终端的检测方法及装置
CN110474821B (zh) 节点故障检测方法及装置
CN112866260A (zh) 结合云计算和用户行为分析的流量检测方法及大数据中心
CN111400189A (zh) 代码覆盖率监测方法、装置、电子设备及存储介质
CN109614382B (zh) 一种应用的日志分割方法及装置
CN107342917B (zh) 用于检测网络设备性能的方法和装置
CN108153654B (zh) 一种日志收集方法及装置
WO2017161964A1 (zh) 通讯网络巡检的方法、装置及巡检客户端
US8448028B2 (en) System monitoring method and system monitoring device
CN111130938B (zh) 指标采集方法、装置、电子设备及计算机可读存储介质
CN112069070A (zh) 一种页面检测方法、装置、服务器及计算机可读存储介质
CN107861842B (zh) 一种元数据损坏检测方法、系统、设备及存储介质
CN109783263B (zh) 一种服务器老化测试故障的处理方法和系统
CN111736579B (zh) 基于日志问询留存的工业控制设备安全检测方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Data processing program detection method and device

Effective date of registration: 20190531

Granted publication date: 20180223

Pledgee: Shenzhen Black Horse World Investment Consulting Co., Ltd.

Pledgor: Beijing Guoshuang Technology Co.,Ltd.

Registration number: 2019990000503

CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 100083 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing

Patentee after: Beijing Guoshuang Technology Co.,Ltd.

Address before: 100086 Beijing city Haidian District Shuangyushu Area No. 76 Zhichun Road cuigongfandian 8 layer A

Patentee before: Beijing Guoshuang Technology Co.,Ltd.