zoukankan      html  css  js  c++  java
  • 做一款简单、高效、好用的文件同步工具

    最近经常遇到文件同步的场景:开发完将文件上传到站点、局域网内文件互拷。

    因为很多是相同的文件,覆盖拷贝费时费力,当然也试了各种工具例如FlashFXP、Beyond Compare,但要么部署麻烦,要么配置麻烦,换一台电脑又得搞一次,贼烦。

    然后想着这有啥技术难度,自己搞一个呗,所以就建了这么一个项目,因为也是解决自己的痛点,所以目标也很明确,追求简单、高效、好用。

    目前算完成v1.0版本吧,试了局域网内文件的镜像拷贝,还是贼快贼爽的,Ftp同步暂时没想到办法解决一致性校验的问题,文件还是覆盖拷贝,但速度也还行,毕竟文件夹有做了校验。

    ==========  作者:未闻    出处:博客园 原文链接点此处  ==========

    一、功能介绍

    1. 同步类型

    • 本地 to 本地(本地跨盘符拷贝50个文件,25个文件夹,6.5M,镜像同步,耗时367.8543毫秒,速度贼快)
    • 本地 to FTP(本地IIS搭建FTP,耗时1433.5284毫秒)
    • FTP to 本地(本地IIS搭建FTP,耗时1100.5071毫秒)
    • FTP to FTP(未测试)

    2. 同步模式:镜像同步、增量同步

    3. 文件校验策略:Size 文件大小,Date 最后修改时间,Hash 文件哈希值

    二、设计思路

    1.开发环境

    • .NET Framework 4.6
    • Visual Studio 2019
    • FluentFTP 34.0.2

    2.简单画的类图

    易同步-类图

    三、待解决问题

    1. FTP上传下载的文件,无法保留原文件的属性(创建时间、修改时间等),导致没办法按最后修改时间进行一致性校验,但是Beyond Compare可以做到保留~有了解还请不吝指点一二。

    2. 校验另一个方式是用文件的哈希值,但是目前试的几个基于IIS的FTP服务器都不支持返回文件哈希值,所以也没办法~

    四、参考资料

    --------------------------------------------------

    技术,让世界更美好 | 分享,让技术更简单
    郑重申明:转载请留言告知,不能擅自篡改文章内容
  • 相关阅读:
    Xcode-调试断点不能停在代码区终极解决方案
    iOS-修改Status Bar
    iOS-appStore发布流程
    iOS-Debug调试
    iOS-项目搭建
    iOS-UIButton-设置button标题和图片位置
    iOS-布局-Masonry-优先级
    intent 传参数
    五大布局
    execute、executeQuery和executeUpdate之间的区别
  • 原文地址:https://www.cnblogs.com/yokeqi/p/15201508.html
Copyright © 2011-2022 走看看