软件运行监控方法 【技术领域】
本发明涉及计算机技术,特别涉及一种软件运行监控方法。
背景技术
在一台PC(个人计算机)或服务器上,要判断指定的软件是否运行正常,当前采用的技术解决方案主要有进程名判断、窗口类名判断、程序内部特征值判断等几种解决方法。这几种解决方案如下:
1.根据进程名判断方式
该方案通过分析软件的进程名,判断指定的软件是否在运行。这种解决方式查找速度快,但是精度很低。而且当运行的很多程序本来进程名相同,或用户把软件的主文件名修改后运行,会出现判断错误或虽然程序在运行,却根据原有进程名查不到该程序的情况;
2.根据窗口类名判断方式
该方案采用软件内特殊的窗口名进行判断,这种方式比较准确,但速度稍慢于进程名判断方式。而且当程序进行升级时,很可能会修改窗口名,这时就监控不到。同时,如果要确定一个软件的窗口名,需要使用spy++等工具。这种使用环境或工具一般的用户不会使用或操作,这样就增加了技术应用地复杂性;
3.根据程序内部特征值判断方式
该方案直接分析程序内部的特征码,非常准确。其缺点是只有专业人员才能分析出文件的特征,并制作成程序特征库。且被监控软件重新编译、换用新的加壳方式等,这些都可能导致特征值改变,因而程序特征库的维护成本相对较高。
【发明内容】
本发明要解决的技术问题是提供一种软件运行监控方法,该软件运行监控方法,监控精确度高、维护成本低。
为解决上述技术问题,本发明的软件运行监控方法,监控程序启动之后,加载被监控软件的进程特征库,分别用每一个进程和该被监控软件的进程特征库进行比较,如果符合该被监控软件的进程特征库中的特征,那么就表示该被监控软件在运行;其中,进程特征库是根据程序运行过程中的目录结构以及要加载的辅助文件确定。
本发明的软件运行监控方法,进程特征库是根据程序运行过程中的目录结构以及要加载的辅助文件确定,监控精确度比较高,而且由于进程特征库只是通过文件名进行制作,因而制作简单,不需要使用专业的技术,只要理解计算机文件的普通用户就可以完成,能有效降低维护成本,具有非常实用的技术效果。
【附图说明】
下面结合附图及具体实施方式对本发明作进一步详细说明。
图1是本发明的软件运行监控方法示意图。
【具体实施方式】
本发明的软件运行监控方法一实施方式如图1所示,需要监控一应用软件时,监控程序启动之后,先查找计算机系统中当前运行的进程列表,并且加载该被监控应用软件的进程特征库。在得到的进程中列表中,分别用每一个运行进程和该被监控应用软件的进程特征库进行比较,一个用户运行进程如果符合该被监控应用软件的进程特征库中的特征,那么就表示该被监控应用软件在运行。
其中,进程特征库根据程序运行过程中的目录结构以及要加载辅助文件确定。因为在程序运行时,主程序本身的进程名可能会重复,也可能会被改名,但程序运行过程中的目录结构以及要加载的各种DLL(DynamicLink Library,动态链接库)文件或其它辅助文件具有唯一性,我们通过这些条件的组合,可以确定唯一一个程序的运行情况。比如:A程序的主程序下有一个Images目录,下面存放了程序运行的各个图片,其中有一个seka12b.jpg的文件,同时,程序还必须加载当前目录下的sldek.dll和hgwhjw.dat,所以只需要比较当前目录下是否存在当前目录\sldek.dll、当前目录\hgwhjw.dat以及当前目录\Images\seka12b.jpg这几个文件,就可以确定程序的运行情况。在正常的使用中,条件限定越多,使用程序本身专用的文件,精度就越高。
进程特征库文件,可以使用手工制作,也可以使用相应的工具制作。由于只是通过文件名进行制作进程特征库,因而制作简单,不需要使用专业的技术,只要理解计算机文件的普通用户就可以完成。
采用本发明所提供的软件运行监控方法,监控精确度比较高,同时进程特征库制作简单,能有效降低维护成本,具有非常实用的技术效果。