[发明专利]一种文件系统变化的探测方法、探测装置及相应电子设备在审
申请号: | 201310376898.8 | 申请日: | 2013-08-26 |
公开(公告)号: | CN104424234A | 公开(公告)日: | 2015-03-18 |
发明(设计)人: | 袁志俊;禹扬帆 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F11/30 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 龙洪;栗若木 |
地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 文件系统 变化 探测 方法 装置 相应 电子设备 | ||
技术领域
本申请涉及文件管理,更具体地,涉及一种文件系统变化的探测方法、探测装置及相应的电子设备。
背景技术
在许多系统开发中经常会需要探测或者感知文件(本申请中的“文件”指计算机系统保存数据的物理单元,包括通常所说的文件和目录)的变化,比如在监控系统中需要感知机器上日志文件的变化(如尺寸、文件名和最后修改时间等),从而触发做进一步的处理。通常做法是使用轮询的方式来探测文件变化,如通过一个守护线程按照一定的频率扫描文件的元数据信息,然后对记录的上一次的信息和本次获取的信息做比较,判断文件的变化。但是因为该方案采用一定的周期频率来执行文件信息的采集,那么轮询间隔中发生的变化可能会被忽略,这会导致文件处理的错误。
Linux内核提供了一种称为Inotify的文件系统变化通知机制,在Andorid系统上有基于Inotify的系统内核监听实现,可以实时探测出文件变化,但该实现方案只能基于Android手机,不适用于其他系统平台。而且,该方案在一个应用的多个处理模块需要同时监控不同文件时,也只能创建一个Inotify实例,如果这些文件同时发生变化,Inotify实例只能将把多个事件混合报出,应用还需要为不同处理模块过滤和分发事件,线程监控模型非常低效。
发明内容
本申请实施例要解决的技术问题是提供一种更高效的文件系统变化的探测方法和探测装置。
为了解决上述问题,本申请提供了一种文件系统变化的探测方法,包括:
基于当前操作系统内核的文件系统变化通知机制,侦听内核在监视实例上监视到文件操作事件时发出的通知;
侦听到内核的所述通知后,读取内核缓存的第一事件结构,所述第一事件结构中封装有文件操作事件的文件操作信息;
根据配置的对文件操作信息的过滤条件对待选事件结构进行过滤,将符合过滤条件的待选事件结构上报,其中,所述待选事件结构为所述第一事件结构或对所述第一事件结构做格式变换得到的统一的第二事件结构。
较佳地,
所述过滤条件包括时间敏感度的过滤条件,所述待选事件结构中的文件操作信息包含事件类型和事件发生时间信息;
根据配置的所述过滤条件对待选事件结构进行过滤,包括:上报一待选事件结构后,缓存其中的事件类型和事件发生时间信息,对一待选事件结构进行过滤时,如其中的事件发生时间距离最近一次上报的同类事件的发生时间超过设置的时长阈值,则该待选事件结构符合时间敏感度的过滤条件,否则丢弃该待选事件结构。
较佳地,
所述过滤条件包括文件大小变化敏感度的过滤条件,所述待选事件结构中的文件操作信息包含事件类型和文件大小信息;
根据配置的所述过滤条件对待选事件结构进行过滤,包括:缓存所述待选事件结构中的事件类型和文件大小信息,上报一待选事件结构之后,每次对同类事件的待选事件结构进行过滤时,对本次事件相对于上次事件的文件大小变化量进行累计,如累计值超过设置的变化量阈值,则该待选事件结构符合文件大小变化敏感度的过滤条件,否则丢弃该待选事件结构。
较佳地,
所述过滤条件包括事件类型的过滤条件,所述待选事件结构中的文件操作信息包含事件类型信息;
根据配置的所述过滤条件对待选事件结构进行过滤,包括:对待选事件结构进行过滤时,如该待选事件结构对应的事件类型属于配置文件中配置的需要监视的事件类型,则该待选事件结构符合事件类型的过滤条件,否则丢弃该待选事件结构。
较佳地,
所述基于当前操作系统内核的文件系统变化通知机制,侦听内核在监视实例上监视到文件操作事件时发出的通知之前,还包括:
在应用中存在对文件系统变化有不同的探测需求且需要同时进行探测的多个处理模块时,为其中的每一处理模块创建一监视实例,且对不同的监视实例,使用不同的进程执行探测。
较佳地,
所述将符合过滤条件的待选事件结构上报,包括:将符合过滤条件的待选事件结构写入一阻塞队列,然后唤醒应用中相应的处理模块。
较佳地,
所述待选事件结构是所述第二事件结构,对所述第一事件结构做格式变换得到统一的第二事件结构,包括:
读取内核缓存的第一事件结构之后,根据当前操作系统的类型对所述第一事件结构进行相应解析,解析得到的文件操作信息重新封装为统一的第二事件结构。
相应地,本申请还提供了一种文件系统变化的探测装置,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310376898.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:多媒体文件处理方法及系统
- 下一篇:一种信息处理方法及电子设备