文件同步是协作同步的基础。

对于多文件修改后的同步备份,如果不是同步到网盘,那种有网盘软件帮助,识别修改后文件,并备份。容易出现备份出错,人就容易麻,麻中麻。

基本需求

对于文件的同步需求,如下:

  1. 识别更新后的文件(很多同步工具都是基于系统时间,一错全错)
  2. 不基于系统时间识别文件修改情况
  3. 支持任意格式
  4. 可以选择删除不对等的文件
  5. 增量备份(高端)
  6. 多端同步(即支持各类文件传输协议)

Allway sync 文件同步软件

有好多软件都有这个软件的影子。

也不知道谁是鸡谁是蛋。

软件下载地址:

链接:https://pan.baidu.com/s/1T28-nvumcEX3B1Wd1o-VvQ
提取码:n4am

小想法

下面就是我对这个软件两个小点的想法

第一个,不基于系统时间识别文件修改状态

第二个,增量备份

不基于系统时间识别文件修改状态

没有时间做参考系坐标原点,还是很容易乱套的。有一些软件的破解也是往系统时间上面做文章,这个点在正常写软件的时候也不好想到,奇奇怪怪的角度。

有一些权益的增加,必然会有一些舍弃。不用时间了,就需要用些空间。

基本思路是给文件打点,以文件名为索引,制定一张表。这张表包括这个文件的基本信息,每种文件格式都有一个特征头部,诶~。文件名,文件头部特征值,文件哈希值,巴拉巴拉巴拉

文件每有一次变更,就在表里面打个点。对比文件哈希值,一个文件有一点点变化,哈希值出现雪崩效应。对比哈希值是合理的,况且计算哈希值也花不了多少计算资源。

这里面还有一个基准点,文件用这个软件创建之后,形成两个对等的表。一个用来记时间(创建时间用秒表示),一个用来记变化。

简单点说就是,利用哈希值的雪崩效应,判定文件更新前后。

增量备份

增量就是只修改文件的一部分同时也只更新这一部分,达到备份的目的。

那可能要问了,打开文件修改,再保存,不就是增量修改么。格局小了格局小了,文件打开基于某个格式,各种格式的压缩方式又不一样。要是能寻求一种,底层的增量哈哈哈哈哪得省多少钱啊

这是个大课题,是个恰饭的点。奈何等级不够,只搞懂了一点点。

现在的增量备份是用CPU资源换带宽流量资源。也就是说这玩意儿就是算。

当一个文件很大的时候,我们可以把它分块,一个块一个块的储存。这时候,文件太过散乱了,需要一个程序或者说一个表(BT种子就是这么一回事),把这个块的名字存起来(还是哈希值)。

既然是要备份,也就是说我们修改一部分,后面还是要用的,文件不能损坏。

文件修改了一部分,整个去分块,对比之前的分块哈希,有变更的分块就是需要增量备份的块。

混合在一起 ~

数据这样分块存储,跟数据帧是一个意思,只是一个大一个小一点。

我这里有个疑问,数据的小变动会不会引起数据底层(0101010这块的)的大变动?

按我的想法,数据能表现成一个稀疏矩阵的时候,不会引起大的变动。(空间换信息这样的)

当然,我也知道压缩这个概念,字典中字段的数量决定了可压缩的极限。一个格式的能支持压缩率越高,它相对而言冗余的信息就越多。

压缩是个数学问题,留给数学家和编码学家。

研究了一段时间的PDF格式和国家自主研发电子文件格式OPD,下次写
– 文章完 –

一个好用的不基于时间的同步文件的软件 —— Allway sync 文件同步相关推荐

  1. 【TOTP】基于时间的动态密码及其工程实践

    探究了常见的动态密码的实现方式及其底层原理,并基于java做出了工程实践. 文章目录 A.来源于一个现象的好奇 B.2FA C.TOTP 1.什么是TOTP 2.原理详解(基于java-totp项目分 ...

  2. 2021年大数据Flink(十九):案例一 基于时间的滚动和滑动窗口

    目录 案例一 基于时间的滚动和滑动窗口 需求 代码实现 案例一 基于时间的滚动和滑动窗口 需求 nc -lk 9999 有如下数据表示: 信号灯编号和通过该信号灯的车的数量 9,3 9,2 9,7 4 ...

  3. mysql 时间点_MySQL 基于时间点与位置恢复

    基于时间点与位置恢复 利用二进制日志可以实现基于时间与位置的恢复,例如由于误操作删除了一张表,这时候完全恢复是没用的,因为日志里面还是存在错误语句,我们需要的是恢复到误操作之前的状态,然后跳过误操作数 ...

  4. 基于时间卷积神经网络的概率预测

    https://www.toutiao.com/a6715386490647478797/ 基于时间卷积神经网络的概率预测 题目: Probabilistic Forecasting with Tem ...

  5. 基于时间的访问控制列表

    版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://zpp2009.blog.51cto.com/730423/256204 ...

  6. MySQL基于时间字段进行分区的方案总结

    MySQL支持的分区类型一共有四种:RANGE,LIST,HASH,KEY.其中,RANGE又可分为原生RANGE和RANGE COLUMNS,LIST分为原生LIST和LIST COLUMNS,HA ...

  7. mysql基于时间盲注_MYSQL基于时间的盲注详解

    MYSQL基于时间的盲注 联合查询,报错注入,以及布尔盲注,都是基于攻击网站会回显消息,或者将错误信息返回在前端,或者会返回web页面的正确或错误 但是有时候网站关闭了错误回显或过滤了某些关键字,网页 ...

  8. 高效管理 Elasticsearch 中基于时间的索引——本质是在利用滚动模式做数据的冷热分离,热索引可以用ssd...

    高效管理 Elasticsearch 中基于时间的索引 转自:http://stormluke.me/es-managing-time-based-indices-efficiently/ 用 Ela ...

  9. 微信基于时间序的海量存储扩展性与多机容灾能力提升

    作者:jeryyzhang,腾讯 WXG 后台开发工程师 背景介绍 业务场景 作为以手机为主要平台的移动社交应用,微信内大部分业务生成的数据是有共性可言的:数据键值带有时间戳信息,并且单用户数据随着时 ...

  10. SQL注入——基于时间的盲注(九)

    本章目的 普及延时盲注技术的运用场景及条件,熟悉length().Substr().ascii().sleep().if()等函数的用法,掌握基于时间的盲注基本流程.PS:面试问答不深问就回答延迟 基 ...

最新文章

  1. 经典算法题每日演练——第六题 协同推荐SlopeOne 算法
  2. c语言直接插入排序步骤,经典排序之直接插入排序(C语言)
  3. msql查询指定日期
  4. 找不到QtDir变量的解决办法, 同时不需要经过编译就可以使用qt 库
  5. 入门响应式Web?看懂这篇文章就够了!——Web前端系列学习笔记
  6. 写个买卖小游戏,第1天(昨天)
  7. 谈谈基类与子类的this指针(C++)
  8. vscode之parcel清空dist目录
  9. [vs2015 + AE]建立窗体应用程序的简单实验
  10. 搜狗输入法纯净_输入法纯净,你其实只差个补丁
  11. mysql 核对_mysql数据库核对
  12. Axure RP Chrome插件安装
  13. 你拍一我拍一上学得学计算机,儿歌《你拍一,我拍一》
  14. 支付系统设计:银行卡支付
  15. 诸侯安置 简单的递推
  16. 准时制生产方式(Just In Time简称JIT)
  17. 项脊轩志-2017年元宵节后
  18. mysql 分库分表策略_【数据库】分库分表策略
  19. 【白手起家】Python教程01——Python总论
  20. vue项目回车删除数据(踩坑记录)

热门文章

  1. 聚溶众星CEO朱纯仪:MCN一年营收2.5亿,带货才是直播的未来
  2. sps的process插件安装包_SPSS的Process插件下载和安装
  3. unity自带后期处理插件PostProcess
  4. 三菱gxworks3安装失败_GX Works3|GX Works3(三菱PLC编程软件)下载官方中文版 附序列号 - 欧普软件下载...
  5. Asp.net MVC3 WebGrid查询绑定
  6. GIT仓库瘦身及GIT LFS迁移说明
  7. Win10系统更新后共享打印机无法打印
  8. 6.TensorRT中文版开发教程-----从头搭建TensorRT深度学习推理引擎
  9. vfpodbc.dll下载, 各版本下载,包含所有版本
  10. Ubuntu - 安装gcc