一种本地文件监控方法及装置制造方法及图纸

技术编号:18204139 阅读:50 留言:0更新日期:2018-06-13 06:17
本发明专利技术公开了一种本地文件监控方法,该方法包括以下步骤:接收外部系统针对目标目录的监控请求;确定目标目录所在的目标磁盘的卷类型;如果目标磁盘的卷类型为NTFS类型,则获得本地系统中目标磁盘对应的监控日志;获取监控日志中自外部系统上次关闭至当前时刻期间目标目录的变更记录,将获取到的变更记录发送给外部系统;对监控日志进行监控,如果监测到存在针对目标目录的变更记录,则将监测到的变更记录发送给外部系统。应用本发明专利技术实施例所提供的技术方案,可以基于监控日志实现高效可靠的文件监控,增强了文件监控的实时性,不需要定期进行全盘扫描,可以提高监控效率。本发明专利技术还公开了一种本地文件监控装置,具有相应的技术效果。

【技术实现步骤摘要】
一种本地文件监控方法及装置
本专利技术涉及文件监控
,特别是涉及一种本地文件监控方法及装置。
技术介绍
在Windows系统中,大多利用微软的FindFirstChangeNotification和ReadDirectoryChangesW来进行文件监控。这种方式需要人工设置缓存,以缓存文件变化情况。如果文件变化量超过缓存大小,就会产生监控数据的丢失。这不仅增加了监控应用程序的内存开销,而且难以保证大数量文件操作数据的完整性和准确性。所以,需要定期进行全盘扫描来确保数据的准确性,而全盘扫描是一个非常耗时的操作,特别是监控目录中文件数量较多的情况下,使得文件监控实时性不强、监控效率较低。
技术实现思路
本专利技术的目的是提供一种本地文件监控方法及装置,以增强文件监控的实时性,提高监控效率。为解决上述技术问题,本专利技术提供如下技术方案:一种本地文件监控方法,包括:接收外部系统针对目标目录的监控请求;确定所述目标目录所在的目标磁盘的卷类型;如果所述目标磁盘的卷类型为新技术文件系统NTFS类型,则获得本地系统中所述目标磁盘对应的监控日志;获取所述监控日志中自所述外部系统上次关闭至当前时刻期间所述目标目录的变更记录,将获取到的变更记录发送给所述外部系统;对所述监控日志进行监控,在监控过程中,如果监测到存在针对所述目标目录的变更记录,则将监测到的变更记录发送给所述外部系统。在本专利技术的一种具体实施方式中,在所述获取所述监控日志中自所述外部系统上次关闭至当前时刻期间所述目标目录的变更记录之前,还包括:读取所述本地系统中所述监控日志的当前标识号;确定所述当前标识号与预先记录的标识号是否一致;如果是,则执行所述获取所述监控日志中自所述外部系统上次关闭至当前时刻期间所述目标目录的变更记录的步骤。在本专利技术的一种具体实施方式中,所述获取所述监控日志中自所述外部系统上次关闭至当前时刻期间所述目标目录的变更记录,包括:确定所述外部系统中记录的最后一条变更记录的第一更新序列号;判断所述第一更新序列号是否小于所述监控日志中最后一条变更记录的第二更新序列号;如果是,则根据所述监控日志中所述第一更新序列号和所述第二更新序列号之间的变更记录,确定自所述外部系统上次关闭至当前时刻期间所述目标目录的变更记录。在本专利技术的一种具体实施方式中,所述根据所述监控日志中所述第一更新序列号和所述第二更新序列号之间的变更记录,确定自所述外部系统上次关闭至当前时刻期间所述目标目录的变更记录,包括:从所述监控日志中获取所述第一更新序列号和所述第二更新序列号之间所有的变更记录;针对获取到的每个变更记录,根据预先建立的索引,确定该变更记录对应的完整路径;根据该变更记录对应的完整路径,确定该变更记录是否为所述目标目录的变更记录。在本专利技术的一种具体实施方式中,通过以下步骤建立所述索引:在创建所述监控日志之后,在对所述监控日志进行监控的过程中,以主文件表MFT方式遍历所述监控日志中每条变更记录;根据遍历结果,建立每个文件夹的文件参考编号和文件夹名称的索引。在本专利技术的一种具体实施方式中,在确定所述当前标识号与预先记录的标识号不一致时,还包括:向所述外部系统返回全盘扫描的应答消息,以使所述外部系统通过全盘扫描方式获得所述目标目录的变更记录。在本专利技术的一种具体实施方式中,在确定所述目标目录所在的目标磁盘的卷类型非NTFS类型时,还包括:向所述外部系统返回更换监控方式的应答消息,以使所述外部系统更换监控方式。一种本地文件监控装置,包括:监控请求接收模块,用于接收外部系统针对目标目录的监控请求;卷类型确定模块,用于确定所述目标目录所在的目标磁盘的卷类型;监控日志获得模块,用于在所述目标磁盘的卷类型为新技术文件系统NTFS类型时,获得本地系统中所述目标磁盘对应的监控日志;变更记录获取模块,用于获取所述监控日志中自所述外部系统上次关闭至当前时刻期间所述目标目录的变更记录,将获取到的变更记录发送给所述外部系统;变更记录监控模块,用于对所述监控日志进行监控,在监控过程中,如果监测到存在针对所述目标目录的变更记录,则将监测到的变更记录发送给所述外部系统。在本专利技术的一种具体实施方式中,还包括:标识号一致性确定模块,用于在所述获取所述监控日志中自所述外部系统上次关闭至当前时刻期间所述目标目录的变更记录之前,读取所述本地系统中所述监控日志的当前标识号;确定所述当前标识号与预先记录的标识号是否一致;如果是,则触发所述变更记录获取模块。在本专利技术的一种具体实施方式中,所述变更记录获取模块,包括:第一更新序列号确定子模块,用于确定所述外部系统中记录的最后一条变更记录的第一更新序列号;更新序列号判断子模块,用于判断所述第一更新序列号是否小于所述监控日志中最后一条变更记录的第二更新序列号,如果是,则触发变更记录确定子模块;变更记录确定子模块,用于根据所述监控日志中所述第一更新序列号和所述第二更新序列号之间的变更记录,确定自所述外部系统上次关闭至当前时刻期间所述目标目录的变更记录。应用本专利技术实施例所提供的技术方案,在接收到外部系统针对目标目录的监控请求时,如果确定目标目录所在的目标磁盘的卷类型为NTFS类型,则可以获得本地系统中目标磁盘对应的监控日志,获取监控日志中自外部系统上次关闭至当前时刻期间目标目录的变更记录,将获取到的变更记录发送给外部系统,对监控日志进行监控,在监控过程中,如果监测到存在针对目标目录的变更记录,则可以将监测到的变更记录发送给外部系统。这样可以基于监控日志实现高效可靠的文件监控,增强了文件监控的实时性,不需要定期进行全盘扫描,可以提高监控效率。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例中一种本地文件监控方法的实施流程图;图2为本专利技术实施例中本地文件监控过程的一种示意图;图3为本专利技术实施例中一种本地文件监控装置的结构示意图。具体实施方式为了使本
的人员更好地理解本专利技术方案,下面结合附图和具体实施方式对本专利技术作进一步的详细说明。显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例提供了一种本地文件监控方法,该方法可以应用于外部系统要与本地系统中的某些目录进行数据同步的场景中,比如,本地系统中某个目录中的文件同时存放在了云盘中,云盘需要定期或者不定期地获得该目录中文件的变化情况,以与本地系统中该目录保持数据同步。当然,本专利技术实施例所提供的方法还可以应用于其他需要对本地文件进行监控的场景中。可以在本地系统中配置监控应用程序,通过监控应用程序对本地文件进行监控。参见图1所示,为本专利技术实施例所提供的一种本地文件监控方法的实施流程图,该方法可以包括以下步骤:S110:接收外部系统针对目标目录的监控请求。在本专利技术实施例中,外部系统需要与本地系统中的某个目录进行数据同步时,需要对本地系统中该目录下文件进行监控,以获得该目本文档来自技高网
...
一种本地文件监控方法及装置

【技术保护点】
一种本地文件监控方法,其特征在于,包括:接收外部系统针对目标目录的监控请求;确定所述目标目录所在的目标磁盘的卷类型;如果所述目标磁盘的卷类型为新技术文件系统NTFS类型,则获得本地系统中所述目标磁盘对应的监控日志;获取所述监控日志中自所述外部系统上次关闭至当前时刻期间所述目标目录的变更记录,将获取到的变更记录发送给所述外部系统;对所述监控日志进行监控,在监控过程中,如果监测到存在针对所述目标目录的变更记录,则将监测到的变更记录发送给所述外部系统。

【技术特征摘要】
1.一种本地文件监控方法,其特征在于,包括:接收外部系统针对目标目录的监控请求;确定所述目标目录所在的目标磁盘的卷类型;如果所述目标磁盘的卷类型为新技术文件系统NTFS类型,则获得本地系统中所述目标磁盘对应的监控日志;获取所述监控日志中自所述外部系统上次关闭至当前时刻期间所述目标目录的变更记录,将获取到的变更记录发送给所述外部系统;对所述监控日志进行监控,在监控过程中,如果监测到存在针对所述目标目录的变更记录,则将监测到的变更记录发送给所述外部系统。2.根据权利要求1所述的本地文件监控方法,其特征在于,在所述获取所述监控日志中自所述外部系统上次关闭至当前时刻期间所述目标目录的变更记录之前,还包括:读取所述本地系统中所述监控日志的当前标识号;确定所述当前标识号与预先记录的标识号是否一致;如果是,则执行所述获取所述监控日志中自所述外部系统上次关闭至当前时刻期间所述目标目录的变更记录的步骤。3.根据权利要求2所述的本地文件监控方法,其特征在于,所述获取所述监控日志中自所述外部系统上次关闭至当前时刻期间所述目标目录的变更记录,包括:确定所述外部系统中记录的最后一条变更记录的第一更新序列号;判断所述第一更新序列号是否小于所述监控日志中最后一条变更记录的第二更新序列号;如果是,则根据所述监控日志中所述第一更新序列号和所述第二更新序列号之间的变更记录,确定自所述外部系统上次关闭至当前时刻期间所述目标目录的变更记录。4.根据权利要求3所述的本地文件监控方法,其特征在于,所述根据所述监控日志中所述第一更新序列号和所述第二更新序列号之间的变更记录,确定自所述外部系统上次关闭至当前时刻期间所述目标目录的变更记录,包括:从所述监控日志中获取所述第一更新序列号和所述第二更新序列号之间所有的变更记录;针对获取到的每个变更记录,根据预先建立的索引,确定该变更记录对应的完整路径;根据该变更记录对应的完整路径,确定该变更记录是否为所述目标目录的变更记录。5.根据权利要求4所述的本地文件监控方法,其特征在于,通过以下步骤建立所述索引:在创建所述监控日志之后,在对所述监控日志进行监控的过程中,以主文件表MFT方式遍历所述监控日志中每...

【专利技术属性】
技术研发人员:吴洋林人俊
申请(专利权)人:杭州亿方云网络科技有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1