发明名称 一种文件实时监控和智能备份的方法
摘要 本发明提供一种文件操作实时监控和智能备份的方法,该方法实现由文件实时监控模块、信息实时读取模块、信息实时处理模块和文件智能备份模块组成。各模块的作用如下:文件实时监控模块用于监控用户对指定文件的操作,可以获取多个指定目录下用户对文件的所有操作信息;信息实时读取模块用于读取来自文件监控模块获取的文件操作信息,并通知信息实时处理模块对这些文件操作信息进行处理;信息实时处理模块用于对文件操作信息进行处理,并通知文件智能备份模块进行文件备份操作;文件智能备份模块用于对文件进行备份,备份模式可以选择实时备份或者根据文件操作频率进行智能化备份。四个模块并行执行。本发明方法可及时准确地记录下用户对监控目录下文件的操作信息并进行实时或智能备份,为文件的持续数据保护提供了支持。
申请公布号 CN101833489B 申请公布日期 2013.04.10
申请号 CN201010169277.9 申请日期 2010.05.06
申请人 北京邮电大学 发明人 姚文斌;韩司;陈钊;伍淳华;王枞;肖达;刘建毅;叶鹏迪
分类号 G06F11/14(2006.01)I;G06F17/30(2006.01)I 主分类号 G06F11/14(2006.01)I
代理机构 代理人
主权项 一种实时文件监控和智能备份的方法,其特征是:该方法由文件实时监控模块、信息实时读取模块、信息实时处理模块和文件智能备份模块四个模块组成;当文件实时监控模块获取监控目录后,对该目录下的文件操作进行监控,在文件修改时能立即生成文件的操作信息,记为监控信息s,将监控信息s保存至内存后,发送通知给信息实时读取模块;信息实时读取模块得到来自文件实时监控的通知、并从内存读取监控信息s后,将监控信息保存至信息缓冲区,发送通知给信息实时处理模块要求其对该监控信息进行处理;信息实时处理模块从信息缓冲区中提取监控信息s中的文件路径P,用户对文件的四种基本操作OP包含新建、删除、修改、重命名四种类型,操作时间T,并生成处理后的文件更新信息ns={P,OP,T};智能备份模块收到ns后,对文件路径P对应的文件选择两种文件备份方式之一执行:1)进行操作频率判断,当用户对文件操作频率降低到频率阈值时进行该文件的备份;2)在收到一条文件更新信息ns后直接进行该文件的实时备份,从而针对每一次文件操作都进行实时备份,即文件备份的时间间隔粒度精确到文件的每个操作;在实现上,用户选择多个指定目录作为文件监控模块的监控目录,文件实时监控模块同步监控目录下的文件操作,并申请一定的内存空间用于存放获取的监控信息s,文件监控模块仅将该监控信息存入内存,信息实时处理模块则要完成对监控信息s的处理工作;监控和处理之间必然存在时间差异;如果信息实时处理模块直接从内存中取数据,则未来得及处理的监控信息便会被文件实时监控模块所生成的新监控信息所覆盖,产生由于信息处理不及时而造成的信息丢失现象;因此要设置信息实时读取模块,将监控信息及时从内存中取出存入信息实时读取模块的信息缓冲区中,这样既可以保证监控信息的不丢失,又保证监控信息的实时处理;信息实时处理模块要从信息缓冲区取出并删除监控信息,而信息实时读取模块要不停的向信息缓冲区内加入新的监控信息,这样必然会导致信息实时处理模块和信息实时读取模块对信息缓冲区的竞争;为保证信息实时读取模块能将监控到的监控信息及时存入信息缓冲区,信息实时处理模块在读取并删除信息后即释放信息缓冲区控制权,然后再进行信息的处理;信息实时处理模块对信息的处理包括四步,提取关键信息、删除重复信息、过滤临时信息和合并信息;提取关键信息即从监控信息s中取得所需的文件路径P、操作类型OP、操作时间T,并生成文件更新信息ns;在文件系统中,用户对文件的一个操作,便会引发文件的多次修改,则文件实时监控模块便会记录多条重复的s;信息实时处理模块为避免处理重复的信息,首先要进行重复信息的删除;其次,在用户对一些文档操作时中会产生一些临时文件,对临时文件的存储会造成存储空间的浪费,在此模块中实现了对临时文件的过滤;同时,文件监控模块会监控到一些并发操作,因此一次操作会监控到两条P、T相同而OP不同的文 件操作信息s1和s2,因此信息实时处理模块根据P、T需要对s1、s2进行合并;在接到信息实时处理模块处理完一条消息后,文件智能备份模块要根据用户的需求完成文件备份;若用户需要实时备份每个文件,文件智能备份模块在接收到一条文件更新信息ns后,根据ns中包含的路径P对该文件进行备份;若是用户不要求实时备份,可根据对文件操作频率的监控,记录下在时间阈值t内文件的操作次数count,仅当count小于次数阈值c时,即该文件不再被频繁操作时再对其进行备份;(1)设置ns’为空;输入文件的时间阈值t,次数阈值c;输入用户的备份模式,备份模式可以为实时备份或者基于频率的备份;(2)文件实时监控模块获取监控路径,文件实时监控模块进入监控状态;启动该监控路径下所有文件的时间计数器T,对于任意一个文件a,其时间计数器为T(a);(3)文件监控模块循环监控路径下的文件变化:一旦监控到用户对监控目录下某文件a进行了操作,设置该文件的操作次数count(a)加1;同时,文件监控模块生成文件操作信息s,并将s放入内存中;通知信息实时读取模块取走文件操作信息s;(4)信息实时读取模块获得信息缓冲区控制权,同时将文件操作信息s从内存中取出,并放入信息缓冲区中,信息缓冲区采用先进先出的队列组织方式,信息实时读取模块释放信息缓冲区控制权;信息实时读取模块唤醒信息实时处理模块;(5)信息实时处理模块获得信息缓冲区控制权,从信息缓冲区中取出第一条文件操作信息s;信息实时处理模块释放信息缓冲区控制权;信息实时处理模块从文件操作信息s中提取关键信息P、OP、T,生成文件更新信息ns;(6)信息实时处理模块将当前文件监控信息ns与上一条已处理的文件监控信息ns’比较,如果两者P、T相同,则执行步骤(3);否则,执行步骤(7);(7)若文件更新信息ns为临时文件的操作信息,则执行步骤(3)执行;否则,执行步骤(8);(8)ns’=ns,将本条文件监控信息赋值给ns’,供与下一条监控信息做比较;(9)信息实时处理模块将ns发送给文件智能备份模块,并通知其对ns对应的文件a进行备份;(10)文件智能备份模块在接收到文件a的备份通知后,如果备份模式为实时备份,则文件智能备份模块将文件a进行备份,执行步骤(13);否则,执行步骤(11);(11)如果文件a的时间计数器T(a)小于时间阀值,则T(a)加1;否则,T(a)=0;(12)如果文件a的操作次数count(a)小于次数阈值c,则对文件a进行备份,count(a)=0,执行步骤(13);否则,执行步骤(11);(13)读取用户输入,如果用户要求停止文件监控,则程序执行完毕;否则,执行步骤(3)。
地址 100876 北京市海淀区西土城路10号