[发明专利]一种LINUX系统中变化文件的截获方法及装置有效
申请号: | 201310728887.1 | 申请日: | 2013-12-25 |
公开(公告)号: | CN103699846B | 公开(公告)日: | 2017-06-27 |
发明(设计)人: | 王旭;张道伟 | 申请(专利权)人: | 浪潮(北京)电子信息产业有限公司 |
主分类号: | G06F21/57 | 分类号: | G06F21/57 |
代理公司: | 北京安信方达知识产权代理有限公司11262 | 代理人: | 王丹,栗若木 |
地址: | 100085 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 linux 系统 变化 文件 截获 方法 装置 | ||
技术领域
本发明涉及计算机通信领域,具体涉及一种LINUX系统中变化文件的截获方法及装置。
背景技术
信息安全及数据容灾是IT信息系统建设中必须要关注的两个重要环节。信息安全关注于当前系统的安全性,确保系统不被入侵,数据不被窃取;数据容灾关注的是数据在停电,火灾,地震等灾难的情况下不被破坏,不发生丢失。无论是在信息安全领域还是在数据容灾领域,确定系统中发生变化事件的文件均是一项基础但却十分重要的技术。文件发生变化事件主要是指用户对文件的新建和删除、对文件内容及属性进行了修改,对于信息安全领域,病毒扫描软件、杀毒软件的输入对象就是一个个发生变化事件的文件;对于数据容灾领域,需要同步的也是一个个发生变化事件的文件。可见,截获发生变化事件的文件技术在IT信息系统中至关重要。
LINUX系统中,对于发生变化事件的文件的截获可分为两种方式:内核级截获及用户态截获。内核级截获需要编写相应的内核模块或是文件过滤驱动进行截获,其优点截获准确度高,不发生遗漏,能够取消文件变化的请求,但缺点是可移植性不好,需要根据每个系统版本进行调整,同时,由于是内核态的截获,也会影响系统的稳定性;用户态截获通过操作系统提供的接口进行截获,其优点是适应性好,对系统的破坏性小,不影响系统的稳定,但缺点是可能发生截获遗漏,并且只能进行单纯的截获,不能取消文件变化的请求。
LINUX系统提供了FSNOTIFY机制进行文件的事件通知,在其上提供了3种文件事件截获策略:inotify、dnotify及anotify。其中,dnotify仅可截获文件夹的变化事件,其通知方式为信号;anotify可截获整个文件,所有磁盘,文件夹及文件的变化事件,但其截获的事件较少;inotify可截获文件夹及文件的变化事件。目前,对这3种文件事件截获策略往往仅仅使用一种,而缺少在这3种截获策略中灵活的切换。
通常截获到变化事件后的处理方式是放在内存里处理,但是,在内存中处理会存在很多弊端,比如:当系统出现异常,比如突然关机或进程中断,就会将截获到的文件丢失;此外,内存是有限的,对于大量级的文件,比如千万量级的路径如果存储到内存是不现实的,无法支持大量级的文件的监控;另外还会消耗大量内存,降低内存的效率。
发明内容
本发明需要解决的技术问题是提供一种LINUX系统中变化文件的截获方法及装置,以实现文件事件截获策略的灵活切换,避免当系统出现异常时丢失文件,同时支持大量级的文件的监控,降低对内存的消耗。
为了解决上述技术问题,本发明提供了一种LINUX系统中的文件截获方法,包括:
将LINUX系统的文件事件截获策略封装提供统一的接口;
调用所述统一的接口对文件进行监控,当有文件发生变化事件时,截获发生变化事件的文件,并将所述发生变化事件的文件的路径和与所述路径对应的变化事件进行数据持久化存储。
进一步地,所述调用所述统一的接口对文件进行监控,当有文件发生变化事件时,截获发生变化事件的文件,包括:
调用所述统一的接口对文件进行监控,并根据用户设置的配置文件选择相应的文件事件截获策略,当有文件发生变化事件时,根据所述文件事件截获策略截获发生变化事件的文件。
进一步地,所述在截获发生变化事件的文件之后,还包括:判断所述发生变化事件的系统文件是否属于需要监控的文件,如果是,则将所述发生变化事件的系统文件的路径和与所述路径对应的变化事件进行数据持久化存储。
进一步地,所述方法还包括:对写入数据的方式进行封装,提供统一的数据写入接口;
所述将所述发生变化事件的系统文件的路径和变化事件进行数据持久化存储,包括:调用所述统一的数据写入接口,将所述发生变化事件的系统文件的路径和与所述路径对应的变化事件写入到相应的文件或数据库中。
进一步地,所述方法还包括:
在将所述发生变化事件的系统文件的路径和与所述路径对应的变化事件进行数据持久化存储时,判断所述路径是否为当前路径,如果是,则不存储;如果不是,则将该路径存储,并标记为当前路径。
为了解决上述技术问题,本发明还提供了一种LINUX系统中的文件截获装置,包括:
策略封装模块,用于将LINUX系统的文件事件截获策略封装提供统一的接口;
通用文件捕获模块,用于在调用所述统一的接口时,对文件进行监控,当有文件发生变化事件时,截获发生变化事件的文件,并通知通用路径存储模块将所述发生变化事件的文件的路径和与所述路径对应的变化事件进行数据持久化存储;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮(北京)电子信息产业有限公司,未经浪潮(北京)电子信息产业有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310728887.1/2.html,转载请声明来源钻瓜专利网。