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

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

Info

Publication number
CN104461847B
CN104461847B CN201410728028.7A CN201410728028A CN104461847B CN 104461847 B CN104461847 B CN 104461847B CN 201410728028 A CN201410728028 A CN 201410728028A CN 104461847 B CN104461847 B CN 104461847B
Authority
CN
China
Prior art keywords
data
processing routine
log file
tested
tested processing
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
Application number
CN201410728028.7A
Other languages
English (en)
Other versions
CN104461847A (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]具体地,检测待检测数据处理程序是否处于运行状态可以通过扫描数据处理设备 的进程列表得到扫描时刻数据处理设备运行的所有进程的集合,检测进程集合中是否包含 检测待检测数据处理程序的运行进程,其中,进程集合中每一条进程包含数据处理程序的 名称、存储路径、开始运行时间等信息。可选地,可以通过窗口管理规范(Windows Management Instrumentation)获取数据处理设备上的进程列表以及进程的运行时间、结 束时间等信息。优选地,为了提高检测的效率,检测待检测数据处理程序是否处于运行状态 包括:获取数据处理设备在第一时刻的第一进程集合,其中,数据处理设备为用于运行待检 测数据处理程序;获取数据处理设备在第二时刻的第二进程集合;由第一进程集合和第二 进程集合得到数据处理设备新增进程集合;判断新增进程集合中是否包含待检测数据处理 程序的进程;如果判断出新增进程集合中包含待检测数据处理程序的进程,则确定待检测 数据处理程序处于运行状态;以及如果判断出新增进程集合中不包含待检测数据处理程序 的进程,则确定待检测数据处理程序不处于运行状态。
[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是w i ndows系统中进程的唯一标识符。
[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,否 贝!J,执行步骤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判断该待检测数据处理程序的进程日志文件中是否包含第一预设字符, 通过第一确定单元3〇来确定该待检测数据处理程序是否正常退出,相比于现有技术通过在 该待检测数据处理程序中嵌入心跳检测模块进行检测,不仅提高了检测的效率,而且节省 内存空间。
[0080] 优选地,该装置还包括:第一检测单元,用于检测待检测数据处理程序是否退出, 其中,在待检测数据处理程序退出时,获取进程日志文件。
[0081] 数据处理程序在运行过程中不断的向进程日志文件中写入日志内容,因此,在检 测出待检测数据处理程序退出之后再获取待检测数据处理程序的进程日志文件,一方面可 以避免频繁的获取进程日志文件操作影响检测效率,另一方面可以避免由于进程日志文件 内容的不完整造成的检测结果不准确。
[0082] 优选地,该装置还包括:第二检测单元,用于检测待检测数据处理程序是否处于运 行状态;第二获取单元,用于在检测出待检测数据处理程序处于运行状态时,获取待检测数 据处理程序的第一进程日志文件;第二判断单元,用于判断第一进程日志文件中是否包含 第二预设标识符,其中,第二预设标识符用于标识待检测数据处理程序能够正常输出进程 日志;以及第二确定单元,用于在判断出第一进程日志文件中包含第二预设标识符时,确定 待检测数据处理程序能够正常输出进程日志,在判断出第一进程日志文件中不包含第二预 设标识符时,确定待检测数据处理程序不能够正常输出进程日志,输出第二提示信息。
[0083] 本发明实施例在检测出待检测数据处理程序处于运行状态后,获取该待检测数据 处理程序的运行日志文件,即第一进程日志文件。如果判断出第一进程日志文件中包含第 二预设标识符时,说明待检测数据处理程序能够正常输出日志内容,如果判断出第一进程 日志文件中不包含第二预设标识符时,则说明待检测数据处理程序不能够正常输出日志内 容,从而输出提示信息,即第二提示信息,例如报警信息,通知相关人员待检测数据处理程 序输出日志信息异常,从而可以避免由于待检测数据处理程序不能正常输出日志信息导致 的检测结果不准确。
[0084]显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用 的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成 的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储 在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们 中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的 硬件和软件结合。
[0085]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1. 一种数据处理程序检测方法,其特征在于,包括: 获取待检测数据处理程序的进程日志文件; 判断所述进程日志文件是否包含第一预设标识符,其中,所述第一预设标识符用于表 示所述待检测数据处理程序正常退出; 如果判断出所述进程日志文件包含所述第一预设标识符,则确定所述待检测数据处理 程序正常退出;以及 如果判断出所述进程日志文件不包含所述第一预设标识符,则确定所述待检测数据处 理程序非正常退出,输出第一提示信息,其中,所述第一提示信息用于提示所述待检测数据 处理程序非正常退出; 在获取待检测数据处理程序的进程日志文件之前,检测所述待检测数据处理程序是否 退出;以及如果所述待检测数据处理程序退出,则获取所述进程日志文件; 其中,所述第一预设标识符为用户预先设定的在待检测数据处理程序正常退出时输出 的标识信息,遍历所述进程日志文件,将所述进程日志文件中每一个字符与所述第一预设 标识符进行比较,如果所述进程日志文件中存在与所述第一预设标识符相同的字符,则确 定所述进程日志文件中包含所述第一预设标识符,否则,所述进程日志文件中不包含所述 第一预设标识符。
2. 根据权利要求1所述的数据处理程序检测方法,其特征在于,在检测所述待检测数据 处理程序是否退出之前,所述方法还包括: 检测所述待检测数据处理程序是否处于运行状态; 如果检测出所述待检测数据处理程序处于运行状态,获取所述待检测数据处理程序的 第一进程日志文件; 判断所述第一进程日志文件中是否包含第二预设标识符,其中,所述第二预设标识符 用于标识所述待检测数据处理程序能够正常输出进程日志; 如果判断出所述第一进程日志文件中包含第二预设标识符,确定所述待检测数据处理 程序能够正常输出进程日志;以及 如果判断出所述第一进程日志文件中不包含第二预设标识符,确定所述待检测数据处 理程序不能够正常输出进程日志,输出第二提示信息。
3. 根据权利要求2所述的数据处理程序检测方法,其特征在于,检测所述待检测数据处 理程序是否处于运行状态包括: 获取数据处理设备在第一时刻的第一进程集合,其中,所述数据处理设备为用于运行 所述待检测数据处理程序; 获取所述数据处理设备在第二时刻的第二进程集合; 由所述第一进程集合和所述第二进程集合得到所述数据处理设备新增进程集合; 判断所述新增进程集合中是否包含所述待检测数据处理程序的进程; 如果判断出所述新增进程集合中包含所述待检测数据处理程序的进程,则确定所述待 检测数据处理程序处于运行状态;以及 如果判断出所述新增进程集合中不包含所述待检测数据处理程序的进程,则确定所述 待检测数据处理程序不处于运行状态。
4. 根据权利要求3所述的数据处理程序检测方法,其特征在于,判断所述新增进程集合 中是否包含所述待检测数据处理程序的进程包括: 获取所述待检测数据处理程序的标识; 分别判断所述新增进程集合中的每一条进程是否包含所述待检测数据处理程序的标 识; 如果判断出所述新增进程集合中存在所述待检测数据处理程序的标识,则判断出所述 新增进程集合包含所述待检测数据处理程序的进程;以及 如果判断出所述新增进程集合中不存在所述待检测数据处理程序的标识,则判断出所 述新增进程集合不包含所述待检测数据处理程序的进程。
5. 根据权利要求3所述的数据处理程序检测方法,其特征在于,检测所述待检测数据处 理程序是否退出包括: 获取所述数据处理设备在第三时刻的第三进程集合; 由所述第二进程集合和所述第三进程集合得到所述数据处理设备的退出进程集合; 判断所述退出进程集合是否包含所述待检测数据处理程序的进程;以及 如果判断出所述退出进程集合包含所述待检测数据处理程序的进程,则确定所述待检 测数据处理程序退出。
6. 根据权利要求1所述的数据处理程序检测方法,其特征在于,判断所述进程日志文件 是否包含所述第一预设标识符包括: 获取所述进程日志文件中预设字节数的日志;以及 判断所述进程日志文件中所述预设字节数的日志中是否包含所述第一预设标识符。
7. —种数据处理程序检测装置,其特征在于,包括: 第一获取单元,用于获取待检测数据处理程序的进程日志文件; 第一判断单元,用于判断所述进程日志文件是否包含第一预设标识符,其中,所述第一 预设标识符用于表示所述待检测数据处理程序正常退出;以及 第一确定单元,用于在判断出所述进程日志文件包含所述第一预设标识符,则确定所 述待检测数据处理程序正常退出,在判断出所述进程日志文件不包含所述第一预设标识符 时,则确定所述待检测数据处理程序非正常退出,输出第一提示信息,其中,所述第一提示 信息用于提示所述待检测数据处理程序非正常退出; 所述装置还包括:第一检测单元,用于检测所述待检测数据处理程序是否退出,其中, 在所述待检测数据处理程序退出时,获取所述进程日志文件; 其中,所述第一预设标识符为用户预先设定的在待检测数据处理程序正常退出时输出 的标识信息,遍历所述进程日志文件,将所述进程日志文件中每一个字符与所述第一预设 标识符进行比较,如果所述进程日志文件中存在与所述第一预设标识符相同的字符,则确 定所述进程日志文件中包含所述第一预设标识符,否则,所述进程日志文件中不包含所述 第一预设标识符。
8. 根据权利要求7所述的数据处理程序检测装置,其特征在于,所述装置还包括: 第二检测单元,用于检测所述待检测数据处理程序是否处于运行状态; 第二获取单元,用于在检测出所述待检测数据处理程序处于运行状态时,获取所述待 检测数据处理程序的第一进程日志文件; 第二判断单元,用于判断所述第一进程日志文件中是否包含第二预设标识符,其中,所 述第二预设标识符用于标识所述待检测数据处理程序能够正常输出进程日志;以及 第二确定单元,用于在判断出所述第一进程日志文件中包含第二预设标识符时,确定 所述待检测数据处理程序能够正常输出进程日志,在判断出所述第一进程日志文件中不包 含第二预设标识符时,确定所述待检测数据处理程序不能够正常输出进程日志,输出第二 提不彳曰息。
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 CN104461847A (zh) 2015-03-25
CN104461847B true 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)

Families Citing this family (3)

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

Citations (3)

* 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
CN103324565A (zh) * 2012-05-30 2013-09-25 北京神州泰岳软件股份有限公司 日志监控方法
CN104077210A (zh) * 2014-06-06 2014-10-01 百度在线网络技术(北京)有限公司 一种客户端崩溃的定位方法及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7120901B2 (en) * 2001-10-26 2006-10-10 International Business Machines Corporation Method and system for tracing and displaying execution of nested functions
CN101320350B (zh) * 2008-07-17 2010-07-14 金蝶软件(中国)有限公司 一种性能监控方法及装置
CN103198007A (zh) * 2012-01-06 2013-07-10 腾讯科技(深圳)有限公司 多进程的日志输出方法及系统

Patent Citations (3)

* 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
CN103324565A (zh) * 2012-05-30 2013-09-25 北京神州泰岳软件股份有限公司 日志监控方法
CN104077210A (zh) * 2014-06-06 2014-10-01 百度在线网络技术(北京)有限公司 一种客户端崩溃的定位方法及系统

Also Published As

Publication number Publication date
CN104461847A (zh) 2015-03-25

Similar Documents

Publication Publication Date Title
US10262145B2 (en) Systems and methods for security and risk assessment and testing of applications
US10459780B2 (en) Automatic application repair by network device agent
CN106130786B (zh) 一种网络故障的检测方法及装置
CN109586999A (zh) 一种容器云平台状态监控预警系统、方法及电子设备
US10353762B2 (en) Hierarchical fault determination in an application performance management system
CN104202201B (zh) 一种日志处理方法、装置及终端
CN106462702B (zh) 用于在分布式计算机基础设施中获取并且分析电子取证数据的方法和系统
CN107241229B (zh) 一种基于接口测试工具的业务监控方法及装置
CN105787364B (zh) 任务的自动化测试方法、装置及系统
CN104461847B (zh) 数据处理程序检测方法及装置
CN106100924B (zh) 一种业务逻辑和性能状态同时展现的方法和系统
CN109471845A (zh) 日志管理方法、服务器及计算机可读存储介质
CN107888437B (zh) 云监控方法及设备
CN102882748A (zh) 网络接入检测系统和网络接入检测方法
CN108667840A (zh) 注入漏洞检测方法及装置
CN110191000A (zh) 一种数据处理方法、消息追踪监控方法和分布式系统
US10706108B2 (en) Field name recommendation
CN112612680A (zh) 一种消息告警方法、系统、计算机设备及存储介质
CN111835582B (zh) 物联网巡检设备的配置方法、装置、计算机设备
US20170004026A1 (en) Monitoring method
CN111835585A (zh) 物联网设备的巡检方法、装置、计算机设备和存储介质
CN104754328B (zh) 一种分布式视频质量诊断方法
CN110138637B (zh) 测试数据处理方法、装置、计算机设备和存储介质
JP2017199250A (ja) 計算機システム、データの分析方法、及び計算機
CN111400189A (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.