CN104932965A - 对象实时监控方法和装置 - Google Patents

对象实时监控方法和装置 Download PDF

Info

Publication number
CN104932965A
CN104932965A CN201410100500.2A CN201410100500A CN104932965A CN 104932965 A CN104932965 A CN 104932965A CN 201410100500 A CN201410100500 A CN 201410100500A CN 104932965 A CN104932965 A CN 104932965A
Authority
CN
China
Prior art keywords
file
variation pattern
change
monitoring
monitored
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
CN201410100500.2A
Other languages
English (en)
Other versions
CN104932965B (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 Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing 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 Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201410100500.2A priority Critical patent/CN104932965B/zh
Publication of CN104932965A publication Critical patent/CN104932965A/zh
Application granted granted Critical
Publication of CN104932965B publication Critical patent/CN104932965B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种对象实时监控方法和装置,其中,方法包括:通过监控进程监控对象的变化,对象包括文件和/或目录;在监控进程监控到对象变化时,判断该对象是否为目标对象;如果该对象是目标对象,则判断该对象的变化方式是否属于预定义的变化方式;如果其变化方式属于预定义的变化方式,利用预先备份的对象恢复发生变化的对象。根据该方案,能够实时得知系统中文件、目录等对象的变化,并对其进行及时的修复,从而保证了相关程序、设备连续的正常工作;并且需监控的文件、目录可由用户、管理员自定义,更加灵活,高效。

Description

对象实时监控方法和装置
技术领域
本发明涉及计算机技术领域,具体涉及一种对象实时监控方法。
背景技术
操作系统中的一些文件或目录,如果受到更改,可能导致操作系统无法正常工作。例如,Linux系统中的/etc/resolv.conf文件,该文件是DNS域名解析的配置文件,其中包含了主机的域名搜索顺序和DNS服务器的地址等配置参数。各个机房对应有不同的配置。如果由于用户的误操作或其他程序的篡改配置参数而导致了其中的配置参数发生变化,则机房中的计算机可能会由于错误的配置文件而无法解析域名,返回错误。
现有技术中解决此问题的一种方法是人工维护,当发现有计算机出现问题,如无法正常访问DNS服务器时,由管理员人工登录服务器,手动地将该文件中的配置参数修复至正常参数。显然,这种方式繁琐费时,无法批量修复并且具有滞后性。另一种处理方法是,在服务器上配置crontab文件,定时执行配置文件的检查和修复,例如,每隔5分钟扫描一次配置文件,如果发现被更改,就恢复成正确的配置。该方式需要预先设定一个扫描间隔,在间隔之内还是存在配置文件被修改的可能。
因此,需要一种方法,实时地监控系统中关键文件或目录的变化,并实时地将其恢复为正确配置。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的对象实时监控的方法和装置。
根据本发明的一个方面,提供了一种对象实时监控方法,包括:通过监控进程监控对象的变化,对象包括文件和/或目录;在监控进程监控到对象变化时,判断该对象是否为目标对象;如果该对象是目标对象,则判断该对象的变化方式是否属于预定义的变化方式;如果其变化方式属于预定义的变化方式,利用预先备份的对象恢复发生变化的对象。
根据本发明的另一方面,提供了一种对象实时监控装置,包括:监控模块,用于通过监控进程监控对象的变化,对象包括文件和/或目录;第一判断模块,用于在监控模块监控到对象的变化时,判断该对象是否为目标对象;第二判断模块,用于在第一判断模块判断变化的对象是目标对象时,判断该对象的变化方式是否属于预定义的变化方式;恢复模块,用于在第二判断模块判断出对象的变化方式属于预定义的变化方式时,利用预先备份的对象恢复发生变化的对象。
根据本发明的对象监控方法和装置,当监控到对象发生变化时,如果该对象属于待监控的对象,并且该对象的变化方式也属于为其预定义的变化方式,则利用预先备份的正常对象恢复变化后的对象。根据该方案,能够实时得知系统中文件、目录等对象的变化,并对其进行及时的修复,从而保证了相关程序、设备连续的正常工作;并且需监控的文件、目录可由用户、管理员自定义,更加灵活和高效。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的对象监控方法的流程图;
图2示出了根据本发明另一个实施例的对象监控方法的流程图;
图3示出了根据本发明一个实施例的对象监控装置的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的对象监控方法的流程图,如图1所示,该方法包括如下步骤:
步骤S110,通过监控进程监控对象的变化。
监控对象包括文件和/或目录。对文件变化的监控主要包括对文件内容编辑的监控;对目录变化的监控包括对目录复制、目录移动、删除等动作的监控以及目录属性的变化,还包括目录下的文件或子目录的新建、删除、复制、文件名修改、属性变化等的监控。
步骤S120,在监控进程监控到所述对象变化时,判断该对象是否为目标对象。
目标对象是由用户或管理员自定义的待监控对象,通常即是用户需要关注的目标文件和/或目标目录。目标目录可以包括系统中包含关键配置文件的目录,例如:系统配置目录/etc,用户家目录/home,应用程序目录等;相应地,目标文件可以是存在于上述目录下的配置文件。例如,如果用户想要保证计算机能够正常访问指定的域名,则目标文件就是DNS域名解析的配置文件,在linux系统中,即是/etc/resolv.conf文件,若监控到的变化对象不属于目标对象,方法结束。步骤S110,S120所述的监控进程是本领域人员将本发明方法具体实现为应用程序时,用于监控的基本执行单元,可以是独立开发的,或是利用已有的工具实现,例如Inotify-tools等。
步骤S130,如果该对象是目标对象,判断对象的变化方式是否属于预定义的变化方式。
用户或管理员在定义目标对象时,也为每个对象定义了特定的变化方式。待监控的目标对象的变化方式包括以下方式的一项或多项:文件和/或目录的新增、编辑、移动、删除事件,以及文件和/或目录的属性变化。若目标对象的变化方式不属于预定义的变化方式,方法结束。
步骤S140,如果对象的变化方式属于预定义的变化方式,利用预先备份的对象恢复发生变化的对象。
在本实施例中的方法执行之前,将用户定义的目标对象备份,创建文件或目录对象的副本,当监控到该目标对象发生预定方式的变化时,利用预先创建的对象副本替换变化后的对象副本。
根据本发明上述实施例提供的方法,当监控到系统中的对象发生变化时,如果还判断出该对象属于用户关注的目标对象,并且该对象的变化方式也属于为其预定义的变化方式,则利用预先备份的正常对象恢复变化后的对象。根据该方案,能够实时得知系统中文件、目录等对象的变化,并对其进行及时的修复,从而保证了相关程序、活动连续的正常工作;并且需监控的文件、目录可由用户、管理员自定义,更加灵活和高效。
图2示出了根据本发明另一个实施例的对象监控方法的流程图,如图2所示,该方法包括如下步骤:
步骤S210,通过监控进程监控对象的变化。
该步骤可通过系统提供的接口函数实现。例如,Windows等常见的计算机操作系统为开发人员提供有多种应用程序开发接口(API),各种应用程序都是通过调用相应的API来实现的,则在Windows系统中,该步骤可通过监控操作系统提供的API来实现,例如,Windows系统通过WriteFile函数向指定路径的文件写数据,监控该函数即可实现对文件内容编辑事件的监控,当监控到该函数被调用时,可以从其参数中获取该函数的作用对象。对文件删除,创建等变化的监控也以类似方式实现,此处不再赘述。
在Linux系统中,可通过Inotify-tools来监控系统中的对象的变化。Inotify-tools是为Linux下Inotify文件监控工具提供的一套c的开发接口库函数,同时还提供了一系列的命令行工具,这些工具可以用来监控文件系统的事件。Inotify是一种文件变化通知机制,允许监控进程打开一个独立文件描述符,并针对事件集监控一个或者多个文件/目录,例如打开、关闭、移动/重命名、删除、创建或者属性改变。通过Inotify-tools可以实现高效率的实时监控。
步骤S220,判断发生变化的对象是否为监控列表中的目标对象,如果在监控列表中,执行步骤S230,否则,方法结束。
监控列表是通过读取用户设置文件生成的。本方法允许用户根据监控的目的和需求将待监控的目标对象的目标路径,文件/目录名等信息写入设置文件中,监控进程读取该用户设置文件的内容,生成目标对象的监控列表。
可选地,步骤S210和步骤S220中对目标对象的监控也可以实现为:监控进程首先读取用户设置文件,根据用户写入的信息生成包含目标对象的监控列表,然后,只对该监控列表中的目标对象进行监控。
步骤S230,判断对象的变化方式是否属于预定义的待监控的目标对象的变化方式,如果属于,执行步骤S240,否则,方法结束。
用户或管理员在定义目标对象时,也为每个对象定义了特定的变化方式。待监控的目标对象的变化方式包括以下方式的一项或多项:文件和/或目录的新增、编辑、移动、删除事件,以及文件和/或目录的属性变化。
监控到的文件和/或目录事件可能不会对系统产生影响,以文件监控为例,监控进程通过监控API函数或Inotify-tools中的相关函数监控到了配置文件打开、读取或复制事件的发生,然而如果该事件并未更改文件内容或文件内容的关键部分,则认为不属于预定义的变化方式,不必进行后续的步骤;或者,对于目录监控,在系统中安装了新的用户程序时,目录/etc下可能会新增有用户程序的配置文件,通常这并不会影响系统的运行,因此,可以将上述两种情况排除在预定义的变化方式之外,这有利于提高监控的效率。
用户将目标对象的变化方式也写入设置文件中,生成的监控列表中也包含了目标对象的变化方式,该步骤具体为:判断对象的变化方式是否属于监控列表中记录的预定义的待监控的目标对象的变化方式。
进一步地,对文件内容的修改,即文件的变化方式也可能在用户允许的范围内,例如,用户主动将IP地址等内容修改为其他可用值,这时,文件对象的变化方式即体现为IP地址相关内容的变化,可以允许用户预先将允许的IP地址写入到设置文件中,并使这些IP地址也包含生成的监控列表中,则判断对象的变化方式是否属于预定义的待监控的目标对象的变化方式具体可以为:判断变化后的IP地址是否记录在监控列表中。
步骤S240,判断发生变化的对象是否为文件,若是,执行步骤S250,否则,执行步骤S270。
该步骤通过文件校验信息判断文件内容是否发生了变化。校验信息通过特定算法生成,与文件内容唯一对应,例如,采用文件的MD5、SHA1、CRC32值作为文件的校验信息。
步骤S250,获得文件当前的MD5值以及该文件的备份文件的MD5值。
在本实施例中,采用文件的MD5值作为文件的校验信息。MD5(MessageDigest Algorithm5),是计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。MD5的作用是让大容量信息在用数字签名软件签署私人密匙前被“压缩”成一种保密的格式,就是把一个任意长度的字节串变换成一定长的十六进制数字串,通过不可逆的字符串变换算法,产生了这个唯一的MD5信息摘要。
步骤S260,将文件当前的MD5值与备份文件的MD5值比较,如果文件当前的MD5值与备份文件的MD5值是否一致,若不一致,执行步骤S270,若一致,方法结束。
由于MD5值唯一对应,如果文件当前的MD5值与备份文件的MD5值一致,则表明文件操作事件未改变文件内容。
对应于上述的情况,用户可能只关注该文件特定部分是否受到修改,例如,对于/etc/resolv.conf文件,用户可能只关注其中的nameserver部分是否被修改,则步骤S250,S260中还可以包括从/etc/resolv.conf文件中提取相应的部分,这可以通过配合简单的Shell脚本实现,然后,针对该部分内容生成MD5值等校验码,同时在备份文件中提取出相应的部分,对该部分内容执行上述比对的步骤。这可以准确地得知文件中发生变化的位置和内容,有利于向用户提供精确的信息,便于用户查看。
另外一种可能的情况是,用户允许对监控对象进行特定的修改,例如,/etc/resolv.conf文件中nameserver部分记录的DNS服务器的IP地址可能有多个可用值,这时,上述的比对、校验过程可以是,根据对应DNS服务器IP地址的不同可用值的多个备份文件分别生成MD5等文件校验值并记录,例如,记录为列表,再根据变化后的文件内容生成MD5值,将该变化后的MD5值与列表中多个备份文件的MD5值比较。或者,从备份文件中提取与nameserver相关的部分,只根据该部分内容生成MD5值,进行上述比对的步骤。
通过上述步骤使本发明中的对象监控更加灵活,具有更高的效率。
步骤S270,利用预先备份的对象恢复发生变化的对象。
在方法之前,还包括对用户或管理员自定义的目标对象进行备份。备份创建目标对象的副本,然后将创建的副本存储到其他位置或存储设备中。具体地,在Linux系统中,可以通过带有备份命令的shell脚本进行备份工作,利用cron工具定时运行该脚本,这样可以实现目标对象的自动备份。例如,使用tar命令对监控列表中的目标对象进行备份,在备份后还可进一步利用gzip命令对备份文件进行压缩,得到相应的gz文件。若备份的目标对象为目录,例如,/etc,该步骤包括对目录下的/etc/resolv.conf,/etc/password等全部文件生成副本。恢复时,将备份的文件释放到指定的位置。备份文件可以存储在指定的存放目录下或者存储在磁带机、光盘等外部媒介中,也可以传送至服务器或异地计算机中。
若备份的目标对象为文件,例如,/etc/resolv.conf文件,则备份过程也可以是,根据步骤S240中所述的方法,获取文件中发生变化的部分,例如,nameserver部分的DNS服务器的IP地址,将变化前的IP地址记录在日志中,则恢复过程为,根据记录的DNS服务器的IP地址修改变化后的IP地址。
步骤S280,将恢复的对象的信息写入恢复日志中。
恢复的对象的信息包括:对象的名称、恢复时间、对象的变化方式等。仍以Linux系统中的DNS配置文件/etc/resolv.conf为例,经过上述MD5值比对的步骤,监控到该文件的内容发生了变化,并且进一步识别出变化的部分是服务器主机名称、IP地址,则该步骤向恢复日志中写入的内容可以包括:文件名和路径,所在的目录名,该文件的修改时间,恢复时间,变化前后的服务器名称和IP地址等。
步骤S290,判断发生变化的对象是否配置有通知标记,如果配置有通知标记,执行步骤S2100,否则,方法结束。
通知标记由用户设定,也可以记录在用户设置文件中。通知标记可以设定通知的类型,例如,邮件,消息框等。若为邮件,通知标记中还包含收件人等必要信息。
步骤S2100,发送通知消息。
提取出恢复日志中与该变化对象相关的内容,按照通知标记定义的方式给出通知消息。
本实施例提供的方法还包括:预设间隔时间,根据间隔时间定时检测监控进程的工作状态,如果工作状态异常,重启监控进程。该步骤用于防止监控进程由于用户误操作而关闭,或被其他程序关闭,例如,安全软件的误杀或恶意软件的篡改,使本实施例的整个流程不会因为进程被误杀而导致监控失效。
根据本发明上述实施例提供的方法,允许用户或管理员通过设置文件自定义待监控的目标对象,并允许用户为每个目标对象预定义变化方式和通知标记,当监控到目标对象发生预定义范围内的变化时,利用预先备份的正常对象恢复变化后的对象,并将恢复对象的相关信息写入恢复日志中,根据设置的通知标记将恢复对象的信息通知给用户。进一步地,方法还包括分析文件对象的MD5值以及定时检测监控进程的工作状态。根据该方案,能够实时得知系统中文件、目录等对象的变化,并对其进行及时的修复,从而保证了相关程序、活动连续的正常工作;并且需监控的文件、目录可由用户、管理员自定义,更加灵活;通过对文件MD5值的分析,使监控更加高效并具有针对性。此外,对监控进程工作状态的检测保证了方法的可靠性,不会因为进程被误杀而导致监控失效。
图3示出了根据本发明一个实施例的对象实时监控装置,如图3所示,装置包括:
监控模块310,用于通过监控进程监控对象的变化,对象包括文件和/或目录。
监控模块310的监控对象包括文件和/或目录。对文件变化的监控主要包括对文件内容编辑的监控;对目录变化的监控包括对目录复制、目录移动、删除等动作的监控以及目录属性的变化,还包括目录下的文件或子目录的新建、删除、复制、文件名修改、属性变化等的监控。
具体地,监控模块310可通过系统提供的接口函数监控对象。例如,Windows等常见的计算机操作系统为开发人员提供有多种应用程序开发接口(API),各种应用层程序都是通过调用相应的API来实现的,则在Windows系统中,监控模块310可通过监控操作系统提供的API来实现,例如,Windows系统通过WriteFile函数向指定路径的文件写数据,监控该函数即可实现对文件内容编辑事件的监控,当监控到该函数被调用时,可以从其参数中获取该函数的作用对象。对文件删除,创建等变化的监控也以类似方式实现,此处不再赘述。
在Linux系统中,监控模块310可通过Inotify-tools来监控系统中的对象的变化。Inotify-tools是为Linux下Inotify文件监控工具提供的一套c的开发接口库函数,同时还提供了一系列的命令行工具,这些工具可以用来监控文件系统的事件。Inotify是一种文件变化通知机制,允许监控进程打开一个独立文件描述符,并针对事件集监控一个或者多个文件/目录,例如打开、关闭、移动/重命名、删除、创建或者属性改变。通过Inotify-tools可以实现高效率的实时监控。
第一判断模块320,用于在监控模块310监控到对象的变化时,判断对象是否为目标对象。
目标对象是由用户,或管理员自定义的待监控对象,通常即是用户需要关注的目标文件和/或目标目录。目标目录可以包括系统中包含关键配置文件的目录,例如。系统配置目录/etc,用户家目录/home,应用程序目录等;相应地,目标文件可以是存在于上述目录下的配置文件。例如,如果用户想要保证计算机能够正常访问指定的域名,则目标文件就是DNS域名解析的配置文件,在linux系统中,即是/etc/resolv.conf文件。
具体地,第一判断模块320用于:判断发生变化的对象是否在监控列表中。
监控列表是通过读取用户设置文件生成的,监控列表至少包含待监控的目标对象。用户根据监控的目的和需求预先将待监控的目标对象的目标路径,文件/目录名等信息写入设置文件中,监控进程读取该用户设置文件的内容,生成目标对象的列表。
第二判断模块330,用于在第一判断模块320判断对象是目标对象时,判断对象的变化方式是否属于预定义的变化方式。
用户或管理员在定义目标对象时,也为每个对象定义了特定的变化方式。待监控的目标对象的变化方式包括以下方式的一项或多项:文件和/或目录的新增、编辑、移动、删除事件,以及文件和/或目录的属性变化。
监控模块310监控到的文件和/或目录事件可能不会对计算机系统产生影响,以文件监控为例,监控模块310通过监控API函数或Inotify-tools中的相关函数监控到了配置文件打开、读取或复制事件的发生,然而如果该事件并未更改文件内容或文件内容的关机部分,则认为不属于预定义的变化方式,不必进行后续的步骤;或者,对于目录监控,在系统中安装了新的用户程序时,目录/etc下可能会新增有用户程序的配置文件,通常这并不会影响系统的运行,因此,可以将上述两种情况排除在预定义的变化方式之外,这有利于提高监控的效率。
用户将目标对象的变化方式也写入设置文件中,生成的监控列表中也包含了目标对象的变化方式,第二判断模块330具体用于:判断对象的变化方式是否属于监控列表中记录的预定义的待监控的目标对象的变化方式。
进一步地,对文件内容的修改,即文件的变化方式也可能在用户允许的范围内,例如,用户主动将IP地址等内容修改为其他可用值,这时,文件对象的变化方式即体现为IP地址等内容的变化,可以允许用户预先将允许的IP地址写入到设置文件中,并使这些IP地址也包含生成的监控列表中,则第二判断模块330判断对象的变化方式是否属于预定义的待监控的目标对象的变化方式具体可以为:判断变化后的IP地址是否记录在监控列表中。
恢复模块340,用于在第二判断模块330判断出对象的变化方式属于预定义的变化方式时,利用预先备份的对象恢复发生变化的对象。
用户或管理员预先对自定义的目标对象进行备份。备份创建目标对象的副本,然后将创建的副本存储到其他位置或存储设备中。具体地,在Linux系统中,可以通过带有备份命令的shell脚本进行备份工作,利用cron工具定时运行该脚本,这样可以实现目标对象的自动备份。例如,使用tar命令对监控列表中的目标对象进行备份,在备份后还可进一步利用gzip命令对备份文件进行压缩,得到相应的gz文件。若备份的目标对象为目录,例如,/etc,该步骤包括对目录下的/etc/resolv.conf,/etc/password等全部文件生成副本。
恢复时,恢复模块340将预先备份的文件释放到指定的位置。备份文件可以存储在指定的存放目录下或者存储在磁带机、光盘等外部媒介中,也可以传送至服务器或异地计算机中。
若备份的目标对象为文件,例如,/etc/resolv.conf文件,则备份过程也可以是,根据步骤S240中所述的方法,获取文件中发生变化的部分,例如,nameserver部分的DNS服务器的IP地址,将变化前的IP地址记录在日志中,则恢复模块340恢复过程可以为:根据记录的DNS服务器的IP地址修改变化后的IP地址。
可选地,装置还包括:比较模块370,比较模块370用于:在恢复模块340利用预先备份的文件恢复所述发生变化的文件之前,获得发生变化的文件当前的MD5值以及文件的备份文件的MD5值;将文件当前的MD5值与备份文件的MD5值比较;若文件当前的MD5值与备份文件的MD5值不一致,则通知恢复模块340利用预先备份的文件恢复发生变化的文件。
可选地,装置还包括:写入模块350,用于在恢复模块340利用预先备份的对象恢复发生变化的对象后,将恢复的对象的信息写入恢复日志中;
恢复的对象的信息包括:对象的名称、恢复时间、对象的变化方式等。仍以Linux系统中的DNS配置文件/etc/resolv.conf为例,经过比较模块370的MD5值比对,得知该文件的内容发生了变化,并且进一步识别出变化的部分是服务器主机名称、IP地址,则写入模块350向恢复日志中写入的内容可以包括:文件名和路径,所在的目录名,该文件的修改时间,恢复时间,变化前后的服务器名称和IP地址等。
可选地,装置还包括:通知模块360,用于判断发生变化的对象是否配置有通知标记;若配置有通知标记,发送通知消息,通知消息包括所述恢复日志中与该对象相关的内容。
通知标记由用户设定,也可以记录在用户设置文件中。通知标记可以设定通知的类型,例如,邮件,消息框等。若为邮件,通知标记中还包含收件人等必要信息。
通知模块360提取出恢复日志中与该变化对象相关的内容,按照通知标记定义的方式给出通知消息。
可选地,装置还包括:检测模块380,用于预设间隔时间,并根据间隔时间定时检测监控进程的工作状态,如果工作状态异常,重启监控进程。监控模块380用于防止监控进程由于用户误操作而关闭,或被其他程序关闭,例如,安全软件的误杀或恶意软件的篡改,使本实施例的整个流程不会因为进程被误杀而导致监控失效。
根据本发明上述实施例提供的装置,允许用户或管理员通过设置文件自定义待监控的目标对象,并允许用户为每个目标对象预定义变化方式和通知标记,当监控模块、第一判断模块以及第二判断模块判断目标对象发生预定义范围内的变化时,恢复模块利用预先备份的正常对象恢复变化后的对象,并通过写入模块将恢复对象的相关信息写入恢复日志中,然后,通知模块根据设置的通知标记将恢复对象的信息通知给用户。进一步地,装置还包括分析文件对象的MD5值的对比模块以及定时检测监控进程的工作状态的检测模块。根据该方案,能够实时得知系统中文件、目录等对象的变化,并对其进行及时的修复,从而保证了相关程序、活动连续的正常工作;并且需监控的文件、目录可由用户、管理员自定义,更加灵活;通过对文件MD5值的分析,使监控更加高效并具有针对性。此外,对监控进程工作状态的检测保证了方法的可靠性,不会因为进程被误杀而导致监控失效。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的对象实时监控装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了:
A1、一种对象实时监控方法,其包括:
通过监控进程监控对象的变化,所述对象包括文件和/或目录;
在所述监控进程监控到所述对象变化时,判断所述对象是否为目标对象;
如果所述对象是目标对象,判断所述对象的变化方式是否属于预定义的变化方式;
如果所述对象的变化方式属于预定义的变化方式,利用预先备份的对象恢复发生变化的对象。
A2、根据A1所述的方法,所述利用预先备份的对象恢复所述发生变化的对象之后还包括:将恢复的对象的信息写入恢复日志中;
所述恢复的对象的信息包括以下信息的一项或多项:对象的名称、恢复时间、服务器主机名称、IP地址。
A3、根据A2所述的方法,还包括:判断发生变化的对象是否配置有通知标记;
若配置有所述通知标记,发送通知消息,所述通知消息包括所述恢复日志中与该对象相关的内容。
A4、根据A1-A3任一项所述的方法,所述判断发生变化的对象是否为目标对象具体为:判断所述发生变化的对象是否在监控列表中;
所述监控列表是通过读取用户设置文件生成的,所述监控列表至少包含待监控的目标对象。
A5、根据A4所述的方法,所述监控列表中还包含:预定义的待监控的目标对象的变化方式;
所述判断对象的变化方式是否属于预定义的变化方式具体为:判断所述对象的变化方式是否属于所述监控列表中记录的预定义的待监控的目标对象的变化方式;
所述预定义的待监控的目标对象的变化方式包括以下方式的一项或多项:文件和/或目录的新增、编辑、移动、删除事件,以及文件和/或目录的属性变化。
A6、根据A1-A5任一项所述的方法,若发生变化的对象是文件,则在所述利用预先备份的文件恢复所述发生变化的文件之前还包括:
获得所述文件当前的MD5值以及所述文件的备份文件的MD5值;
将所述文件当前的MD5值与备份文件的MD5值比较;
若所述文件当前的MD5值与备份文件的MD5值不一致,则执行利用预先备份的文件恢复所述发生变化的文件的步骤。
A7、根据A1-A6任一项所述的方法,还包括:预设间隔时间,根据所述间隔时间定时检测所述监控进程的工作状态,如果工作状态异常,重启所述监控进程。
A8、根据A1所述的方法,所述通过监控进程监控对象的变化具体为:所述监控进程利用inotify工具监控系统中的对象的变化。
B9、一种对象实时监控的装置,包括:
监控模块,用于通过监控进程监控对象的变化,所述对象包括文件和/或目录;
第一判断模块,用于在所述监控模块监控到对象的变化时,判断所述对象是否为目标对象;
第二判断模块,用于在所述第一判断模块判断所述对象是目标对象时,判断所述对象的变化方式是否属于预定义的变化方式;
恢复模块,用于在所述第二判断模块判断出所述对象的变化方式属于预定义的变化方式时,利用预先备份的对象恢复发生变化的对象。
B10、根据B9所述的装置,还包括:写入模块,用于在所述恢复模块利用预先备份的对象恢复发生变化的对象后,将恢复的对象的信息写入恢复日志中;
所述对象的信息包括以下信息的一项或多项:对象的名称、恢复时间、服务器主机名称、IP地址。
B11、根据B10所述的装置,还包括:通知模块,用于判断发生变化的对象是否配置有通知标记;若配置有所述通知标记,发送通知消息,所述通知消息包括所述恢复日志中与该对象相关的内容。
B12、根据B9-B11任一项所述的装置,所述第一判断模块具体用于:判断所述发生变化的对象是否在监控列表中;
所述监控列表是通过读取用户设置文件生成的,所述监控列表至少包含待监控的目标对象。
B13、根据B12所述的装置,所述监控列表中还包含:预定义的待监控的目标对象的变化方式;
所述第二判断模块具体用于:判断所述对象的变化方式是否属于所述监控列表中记录的预定义的待监控的目标对象的变化方式;
所述预定义的待监控的目标对象的变化方式包括以下方式的一项或多项:对象的新增、编辑、移动、删除事件,以及对象的属性变化。
B14、根据B9-B13任一项所述的装置,还包括:比较模块,用于在所述恢复模块利用预先备份的文件恢复所述发生变化的文件之前,获得发生变化的所述文件当前的MD5值以及所述文件的备份文件的MD5值;将所述文件当前的MD5值与备份文件的MD5值比较;若所述文件当前的MD5值与备份文件的MD5值不一致,则通知所述恢复模块利用预先备份的文件恢复所述发生变化的文件。
B15、根据B9-B14任一项所述的装置,还包括:检测模块,用于预设间隔时间,并根据所述间隔时间定时检测所述监控进程的工作状态,如果工作状态异常,重启所述监控进程。
B16、根据B9所述的装置,所述监控模块具体用于:利用inotify工具监控系统中的对象的变化。

Claims (10)

1.一种对象实时监控方法,其包括:
通过监控进程监控对象的变化,所述对象包括文件和/或目录;
在所述监控进程监控到所述对象变化时,判断所述对象是否为目标对象;
如果所述对象是目标对象,判断所述对象的变化方式是否属于预定义的变化方式;
如果所述对象的变化方式属于预定义的变化方式,利用预先备份的对象恢复发生变化的对象。
2.根据权利要求1所述的方法,所述利用预先备份的对象恢复所述发生变化的对象之后还包括:将恢复的对象的信息写入恢复日志中;
所述恢复的对象的信息包括以下信息的一项或多项:对象的名称、恢复时间、服务器主机名称、IP地址。
3.根据权利要求2所述的方法,还包括:判断发生变化的对象是否配置有通知标记;
若配置有所述通知标记,发送通知消息,所述通知消息包括所述恢复日志中与该对象相关的内容。
4.根据权利要求1-3任一项所述的方法,所述判断发生变化的对象是否为目标对象具体为:判断所述发生变化的对象是否在监控列表中;
所述监控列表是通过读取用户设置文件生成的,所述监控列表至少包含待监控的目标对象。
5.根据权利要求4所述的方法,所述监控列表中还包含:预定义的待监控的目标对象的变化方式;
所述判断对象的变化方式是否属于预定义的变化方式具体为:判断所述对象的变化方式是否属于所述监控列表中记录的预定义的待监控的目标对象的变化方式;
所述预定义的待监控的目标对象的变化方式包括以下方式的一项或多项:文件和/或目录的新增、编辑、移动、删除事件,以及文件和/或目录的属性变化。
6.根据权利要求1-5任一项所述的方法,若发生变化的对象是文件,则在所述利用预先备份的文件恢复所述发生变化的文件之前还包括:
获得所述文件当前的MD5值以及所述文件的备份文件的MD5值;
将所述文件当前的MD5值与备份文件的MD5值比较;
若所述文件当前的MD5值与备份文件的MD5值不一致,则执行利用预先备份的文件恢复所述发生变化的文件的步骤。
7.根据权利要求1-6任一项所述的方法,还包括:预设间隔时间,根据所述间隔时间定时检测所述监控进程的工作状态,如果工作状态异常,重启所述监控进程。
8.根据权利要求1所述的方法,所述通过监控进程监控对象的变化具体为:所述监控进程利用inotify工具监控系统中的对象的变化。
9.一种对象实时监控的装置,包括:
监控模块,用于通过监控进程监控对象的变化,所述对象包括文件和/或目录;
第一判断模块,用于在所述监控模块监控到对象的变化时,判断所述对象是否为目标对象;
第二判断模块,用于在所述第一判断模块判断所述对象是目标对象时,判断所述对象的变化方式是否属于预定义的变化方式;
恢复模块,用于在所述第二判断模块判断出所述对象的变化方式属于预定义的变化方式时,利用预先备份的对象恢复发生变化的对象。
10.根据权利要求9所述的装置,还包括:写入模块,用于在所述恢复模块利用预先备份的对象恢复发生变化的对象后,将恢复的对象的信息写入恢复日志中;
所述对象的信息包括以下信息的一项或多项:对象的名称、恢复时间、服务器主机名称、IP地址。
CN201410100500.2A 2014-03-18 2014-03-18 对象实时监控方法和装置 Active CN104932965B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410100500.2A CN104932965B (zh) 2014-03-18 2014-03-18 对象实时监控方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410100500.2A CN104932965B (zh) 2014-03-18 2014-03-18 对象实时监控方法和装置

Publications (2)

Publication Number Publication Date
CN104932965A true CN104932965A (zh) 2015-09-23
CN104932965B CN104932965B (zh) 2019-05-28

Family

ID=54120137

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410100500.2A Active CN104932965B (zh) 2014-03-18 2014-03-18 对象实时监控方法和装置

Country Status (1)

Country Link
CN (1) CN104932965B (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105718800A (zh) * 2016-01-18 2016-06-29 北京金山安全管理系统技术有限公司 一种快速病毒扫描查杀方法和装置
CN105975361A (zh) * 2016-04-27 2016-09-28 浪潮(北京)电子信息产业有限公司 一种基于oracle数据库的对象备份方法及装置
CN106330966A (zh) * 2016-10-24 2017-01-11 福建中金在线信息科技有限公司 一种针对防火墙配置文件的检测方法及装置
CN106708660A (zh) * 2016-12-05 2017-05-24 郑州云海信息技术有限公司 一种k‑ux操作系统中自动备份修改文件的系统和方法
CN106776057A (zh) * 2016-11-22 2017-05-31 北京云知声信息技术有限公司 事件处理方法及装置
CN108090345A (zh) * 2016-11-21 2018-05-29 腾讯科技(深圳)有限公司 linux系统外部命令执行方法及装置
CN108776633A (zh) * 2018-05-22 2018-11-09 深圳壹账通智能科技有限公司 监控进程运行的方法、终端设备及计算机可读存储介质
CN109284607A (zh) * 2018-09-20 2019-01-29 沈文策 一种非法文件的检测方法、装置、设备及存储介质
CN109325347A (zh) * 2018-08-27 2019-02-12 杭州安恒信息技术股份有限公司 一种跳跃性病毒的查杀方法、系统、装置及可读存储介质
CN109472163A (zh) * 2018-09-03 2019-03-15 中新网络信息安全股份有限公司 一种Linux下基于Inotify的网页篡改事件的检测方法
CN110659488A (zh) * 2019-09-12 2020-01-07 北京市天元网络技术股份有限公司 基于shell脚本文件完整性保护方法以及装置
CN110851300A (zh) * 2019-09-26 2020-02-28 三维通信股份有限公司 程序进程监控的方法、装置、计算机设备及可读存储介质
CN111526198A (zh) * 2020-04-24 2020-08-11 深圳融安网络科技有限公司 服务器的数据同步方法、装置及计算机可读存储介质
CN111563015A (zh) * 2020-04-15 2020-08-21 成都欧珀通信科技有限公司 数据监控方法及装置、计算机可读介质及终端设备
CN114564632A (zh) * 2022-02-18 2022-05-31 北京圣博润高新技术股份有限公司 文档操作行为审计方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101388033A (zh) * 2008-11-05 2009-03-18 山东中创软件工程股份有限公司 基于Windows系统文件变更事件的文件保护技术
CN102163167A (zh) * 2011-03-02 2011-08-24 奇智软件(北京)有限公司 系统拯救的方法及装置
CN102736978A (zh) * 2012-06-26 2012-10-17 奇智软件(北京)有限公司 一种检测应用程序的安装状态的方法及装置
CN102902923A (zh) * 2012-09-29 2013-01-30 北京奇虎科技有限公司 文件修复方法和系统
CN102902604A (zh) * 2012-09-28 2013-01-30 北京奇虎科技有限公司 一种用于修复文件的方法和装置
CN102929733A (zh) * 2012-10-18 2013-02-13 北京奇虎科技有限公司 一种错误文件处理方法、装置和客户端设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101388033A (zh) * 2008-11-05 2009-03-18 山东中创软件工程股份有限公司 基于Windows系统文件变更事件的文件保护技术
CN102163167A (zh) * 2011-03-02 2011-08-24 奇智软件(北京)有限公司 系统拯救的方法及装置
CN102736978A (zh) * 2012-06-26 2012-10-17 奇智软件(北京)有限公司 一种检测应用程序的安装状态的方法及装置
CN102902604A (zh) * 2012-09-28 2013-01-30 北京奇虎科技有限公司 一种用于修复文件的方法和装置
CN102902923A (zh) * 2012-09-29 2013-01-30 北京奇虎科技有限公司 文件修复方法和系统
CN102929733A (zh) * 2012-10-18 2013-02-13 北京奇虎科技有限公司 一种错误文件处理方法、装置和客户端设备

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105718800A (zh) * 2016-01-18 2016-06-29 北京金山安全管理系统技术有限公司 一种快速病毒扫描查杀方法和装置
CN105975361A (zh) * 2016-04-27 2016-09-28 浪潮(北京)电子信息产业有限公司 一种基于oracle数据库的对象备份方法及装置
CN106330966A (zh) * 2016-10-24 2017-01-11 福建中金在线信息科技有限公司 一种针对防火墙配置文件的检测方法及装置
CN108090345A (zh) * 2016-11-21 2018-05-29 腾讯科技(深圳)有限公司 linux系统外部命令执行方法及装置
CN108090345B (zh) * 2016-11-21 2021-08-17 腾讯科技(深圳)有限公司 linux系统外部命令执行方法及装置
CN106776057A (zh) * 2016-11-22 2017-05-31 北京云知声信息技术有限公司 事件处理方法及装置
CN106708660A (zh) * 2016-12-05 2017-05-24 郑州云海信息技术有限公司 一种k‑ux操作系统中自动备份修改文件的系统和方法
CN108776633B (zh) * 2018-05-22 2021-07-02 深圳壹账通智能科技有限公司 监控进程运行的方法、终端设备及计算机可读存储介质
CN108776633A (zh) * 2018-05-22 2018-11-09 深圳壹账通智能科技有限公司 监控进程运行的方法、终端设备及计算机可读存储介质
CN109325347A (zh) * 2018-08-27 2019-02-12 杭州安恒信息技术股份有限公司 一种跳跃性病毒的查杀方法、系统、装置及可读存储介质
CN109325347B (zh) * 2018-08-27 2020-11-03 杭州安恒信息技术股份有限公司 一种跳跃性病毒的查杀方法、系统、装置及可读存储介质
CN109472163A (zh) * 2018-09-03 2019-03-15 中新网络信息安全股份有限公司 一种Linux下基于Inotify的网页篡改事件的检测方法
CN109284607A (zh) * 2018-09-20 2019-01-29 沈文策 一种非法文件的检测方法、装置、设备及存储介质
CN110659488A (zh) * 2019-09-12 2020-01-07 北京市天元网络技术股份有限公司 基于shell脚本文件完整性保护方法以及装置
CN110851300A (zh) * 2019-09-26 2020-02-28 三维通信股份有限公司 程序进程监控的方法、装置、计算机设备及可读存储介质
WO2021057855A1 (zh) * 2019-09-26 2021-04-01 三维通信股份有限公司 程序进程监控的方法、装置、计算机设备及可读存储介质
CN111563015A (zh) * 2020-04-15 2020-08-21 成都欧珀通信科技有限公司 数据监控方法及装置、计算机可读介质及终端设备
CN111526198A (zh) * 2020-04-24 2020-08-11 深圳融安网络科技有限公司 服务器的数据同步方法、装置及计算机可读存储介质
CN114564632A (zh) * 2022-02-18 2022-05-31 北京圣博润高新技术股份有限公司 文档操作行为审计方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN104932965B (zh) 2019-05-28

Similar Documents

Publication Publication Date Title
CN104932965A (zh) 对象实时监控方法和装置
US11113156B2 (en) Automated ransomware identification and recovery
AU2014334840B2 (en) Method and system for dynamic and comprehensive vulnerability management
JP4871359B2 (ja) 仮想アプリケーション環境でのデータのアーカイブ
CN101430703B (zh) 用于数据模型中实体的自动维护与修复的系统和方法
JP5049341B2 (ja) ウィルスチェックと複製フィルタの組合せ
CN106951345B (zh) 一种虚拟机磁盘数据的一致性测试方法及装置
US20190196919A1 (en) Maintaining files in a retained file system
US7913044B1 (en) Efficient incremental backups using a change database
US10481988B2 (en) System and method for consistency verification of replicated data in a recovery system
CN104572357A (zh) 一种用于hdfs系统的备份和恢复方法
JP2019530085A (ja) 重複排除ストレージ内の画像を修復するためのシステム及び方法
US7900003B2 (en) System, method and computer program product for storing an information block
US20190080016A1 (en) Systems and methods for updating data pipelines
JP7451476B2 (ja) 根本原因解析のために経時的にフォレンジックスナップショットを相互参照するためのシステムおよび方法
US20030101167A1 (en) File maintenance on a computer grid
Tom et al. Recommended practice for patch management of control systems
US8595271B1 (en) Systems and methods for performing file system checks
US10157106B1 (en) Method controlling backup data by using snapshot type image table
US8745001B1 (en) Automated remediation of corrupted and tempered files
Crespo et al. Modeling archival repositories for digital libraries
US20230315855A1 (en) Exact restoration of a computing system to the state prior to infection
US7500145B2 (en) Anomaly-driven software switch to capture event responses and automate recovery
CN105553767A (zh) 网站后门文件检测方法及装置
CN115080309A (zh) 数据备份系统、方法、存储介质以及电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220726

Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.

TR01 Transfer of patent right