社区
数据结构与算法
帖子详情
高分求一算法,如何高效扫描远程目录与本地目录同步,判断远程目录是否发生变化
paodan
2009-08-13 10:49:36
如何快速扫描远程目录下某个目录a出现变化(只包括增加文件和修改文件),假如我已经从远程把a复制到本地了,但是我要定时更新本地的a与远程a同步,远程a目录下文件很多,上万个子文件夹,如何高效的扫描到啊?
...全文
1233
54
打赏
收藏
高分求一算法,如何高效扫描远程目录与本地目录同步,判断远程目录是否发生变化
如何快速扫描远程目录下某个目录a出现变化(只包括增加文件和修改文件),假如我已经从远程把a复制到本地了,但是我要定时更新本地的a与远程a同步,远程a目录下文件很多,上万个子文件夹,如何高效的扫描到啊?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
54 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
paodan
2009-09-30
打赏
举报
回复
结了
paodan
2009-09-14
打赏
举报
回复
要结贴了,再加20分
paodan
2009-09-07
打赏
举报
回复
[Quote=引用 51 楼 java2000_net 的回复:]
我认为,把握源头才是关键。能否在复制这一层面做一些文章。
[/Quote]老紫竹能否解释一下这句。个人认为如果不能在远程设置个监控,也只能是全部对远程进行扫描才能知道哪些文件发生变化了
老紫竹
2009-09-07
打赏
举报
回复
我认为,把握源头才是关键。能否在复制这一层面做一些文章。
否则无论怎么样,你也要扫描才知道。
就算你启用了1000个线程,每个定时扫描10个文件夹,也是很耗系统资源的。
hanwangabc
2009-09-07
打赏
举报
回复
帮up
paodan
2009-09-01
打赏
举报
回复
还真是麻烦,只能寻找一个高效的扫描算法了
paodan
2009-08-31
打赏
举报
回复
顶起
paodan
2009-08-30
打赏
举报
回复
[Quote=引用 46 楼 flyinfish 的回复:]
我想你过于执着了,楼上有很多很有意思,很合理的解决方案,你需要做的仅仅是申请所需的权限。
寻求更好的算法和改善现有环境都是解决问题的手段。
[/Quote]楼上的很多建议都很好,但是在实际应用中客户会应为安全问题不给这个权限,再说远程机器很多,要是每台机器都开一个监控,维护成本就会很高。但是要是没开监控,那么效率就是哥很大的问题,所以想寻找一个居中的方法解决。
FlyinFish
2009-08-30
打赏
举报
回复
我想你过于执着了,楼上有很多很有意思,很合理的解决方案,你需要做的仅仅是申请所需的权限。
寻求更好的算法和改善现有环境都是解决问题的手段。
paodan
2009-08-29
打赏
举报
回复
[Quote=引用 44 楼 hciawfhvk 的回复:]
说说我的看法吧,或许对你有帮助。
在远程端品开一扫描文件的WEB SEVICE, 这样在每次需要同步时先调用此服务传入参数,必须包括所SYNC的文件夹和上次SYNC的时间,此方法会在远程机器上运行,只是扫描一个文件夹里的上次更改时间,并将最近更改时间大于上次SYNC时间时,将此文件视为修改的文件或新增的文件,这操作执行时间在远程机上就跟打开一个文件夹本地扫描一样,然后再返回需要重新同步的文件。
上面做完后,再根据所获得的更新文件进行FTP下载服务就可以解决。
[/Quote]对于远程只有访问的权限,没有监控或者其他权限,所以这种方法行不通
zb_fly
2009-08-28
打赏
举报
回复
thinking
paodan
2009-08-28
打赏
举报
回复
顶起
hciawfhvk
2009-08-28
打赏
举报
回复
说说我的看法吧,或许对你有帮助。
在远程端品开一扫描文件的WEB SEVICE, 这样在每次需要同步时先调用此服务传入参数,必须包括所SYNC的文件夹和上次SYNC的时间,此方法会在远程机器上运行,只是扫描一个文件夹里的上次更改时间,并将最近更改时间大于上次SYNC时间时,将此文件视为修改的文件或新增的文件,这操作执行时间在远程机上就跟打开一个文件夹本地扫描一样,然后再返回需要重新同步的文件。
上面做完后,再根据所获得的更新文件进行FTP下载服务就可以解决。
paodan
2009-08-28
打赏
举报
回复
再顶
hanwangabc
2009-08-26
打赏
举报
回复
期待高手
paodan
2009-08-25
打赏
举报
回复
期待大家的意见
paodan
2009-08-24
打赏
举报
回复
[Quote=引用 37 楼 rendao0563 的回复:]
你这个应该就算是自动更新服务吧。一般是这样的。服务端会维护一个xml表。这个表有对应的版本。如果客户端得到这个版本发现必须更新,那就向服务端请求对应的这个表,再根据这个表校验本地数据是否需要更新。
[/Quote]我的意思是本地一台机器有n台远程机器上某个目录的备份,对n台远程机器的目录分别存储,并且数据量很大,如何做到本地快速的增量更新,即本地要同步远程的。对于远程机器只有读取文件权限,不能对其目录远程监控。所以每次要判断远程目录是否发生变化时都得扫描一遍远程目录,这样效率就很低了,不知道还有没有好的办法。
rendao0563
2009-08-21
打赏
举报
回复
你这个应该就算是自动更新服务吧。一般是这样的。服务端会维护一个xml表。这个表有对应的版本。如果客户端得到这个版本发现必须更新,那就向服务端请求对应的这个表,再根据这个表校验本地数据是否需要更新。
showjim
2009-08-20
打赏
举报
回复
[Quote=引用 1 楼 paodan 的回复:]
就是远程文件同步,让客户端与远程端同步,有方法是比较文件名和最后修改时间,但是还是得重新对远程目录全部扫描一遍
[/Quote]
文件夹也有最后修改时间
showjim
2009-08-20
打赏
举报
回复
[Quote=引用 29 楼 paodan 的回复:]
引用 28 楼 sbwwkmyd 的回复:
虽然我不会C++,但是我肯定C++能够监视正常的文件修改.
数据源在远程,远程没有安装客户端,除非种植木马
[/Quote]
既然数据源没法控制,那就只能扫描了.本地程序的关键是你在每个阶段能获取哪些信息,能不能按条件获取信息,比如能不能获取最后修改时间可以决定是否接收文件内容,比如文件长度不等时可以决定是改写本地文件.如果要求本地文件的时间段内准确度高一点,可以改变优先级,先修改文件长度不等的,然后比较文件长度相等的.
加载更多回复(34)
行业文档-设计装置-智能纸制信息
扫描
储存器.zip
行业文档-设计装置-智能纸制信息
扫描
储存器.zip
基于FPGA和以太网接口的光栅解调应用.pdf
基于FPGA和以太网接口的光栅解调应用.pdf
通过全光圈处理实现
高分
辨率ScanSAR的MOCO
通过全光圈处理实现
高分
辨率ScanSAR的MOCO
创新项目应用案例集锦
创新项目应用案例集锦 虚拟仪器课程和实验室案例集锦
东集Scaner3.0.22
东集 Scaner 3.0.22.0 ,无数据库
数据结构与算法
33,027
社区成员
35,335
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章