XXX学习笔记

操作历史 events

数据结构

例子:同步盘策划书.doc

[
    {
        "id":210,
        "opType":"EDIT",
        "path":"/同步盘策划书.doc",
        "isdir":false,
        "isdel":false,
        "size":17,
        "version":2,
        "srcMachineName":"01acs5wkSoWdODo2sUK-dw",
        "editorNickName":"aisuhua",
        "editorAccount":"1079087531@qq.com",
        "timestamp":1494827907000,
        "isVirus":false
    },
    {
        "id":209,
        "opType":"ADD",
        "path":"/同步盘策划书.doc",
        "isdir":false,
        "isdel":false,
        "size":0,
        "version":1,
        "srcMachineName":"01acs5wkSoWdODo2sUK-dw",
        "editorNickName":"aisuhua",
        "editorAccount":"1079087531@qq.com",
        "timestamp":1494827835000,
        "isVirus":false
    }
]

字段分析

opType 行为类型

行为 标识 例子 说明
增加 ADD 用户 增加文件 同步盘策划书.doc -
修改 EDIT 用户 修改文件 同步盘策划书.doc -
重命名 RENAME 用户 重命名文件 同步盘策划书-初稿.doc(原名 同步盘策划书.doc) -
删除 DELETE 用户 删除文件 同步盘策划书.doc -
恢复 RESTORE 用户 恢复文件 无标题文档2 文件的历史版本记录中可执行此操作
粉碎 PURGE 用户 粉碎文件 无标题文档2 回收站可执行该操作,不可恢复
移动 MOVE 用户 移动文件 同步盘策划书.doc(从 temp 到 myfolder) 移动文件或重命名文件夹时,会发生此操作

path 文件的完整路径

  • 坚果云中的文件没有ID,或者说它的ID就是文件的完整路径 path

  • 同目录下,文件名一定是唯一的。

  • 通过 path 来查看它的版本信息、判断冲突等等。(会产生有趣的现象)

isdir 是否为目录

文件分类 标识
文件 file
文件夹 directory

version 文件版本

  • 每一次操作就会产生一个新的文件版本,操作与文件版本之间是一对一的关系。

  • 文件的版本是操作后的结果,文件的版本号随每一次操作而递增。

操作

操作 说明
撤销 撤销当前操作,把文件状态回滚到当前操作所对应版本的上一个版本

历史版本

数据结构

例子:文件的版本信息

[
    {
        "version":3,
        "opType":"RESTORE",
        "editorNick":"aisuhua",
        "editorAccount":"1079087531@qq.com",
        "mtime":1494828124000,
        "size":17,
        "isDir":false,
        "isDeleted":false,
        "isDelta":false,
        "altPath":null
    },
    {
        "version":2,
        "opType":"EDIT",
        "editorNick":"aisuhua",
        "editorAccount":"1079087531@qq.com",
        "mtime":1494827907000,
        "size":17,
        "isDir":false,
        "isDeleted":false,
        "isDelta":false,
        "altPath":null
    },
    {
        "version":1,
        "opType":"ADD",
        "editorNick":"aisuhua",
        "editorAccount":"1079087531@qq.com",
        "mtime":1494827835000,
        "size":0,
        "isDir":false,
        "isDeleted":false,
        "isDelta":false,
        "altPath":null
    }
]

操作

操作 说明
恢复 把文件恢复到特定版本所对应的状态
下载 下载特定版本的文件

几点特征

  • 文件夹没有历史版本信息,不能将它恢复到指定的版本。

  • 文件的历史版本记录中没有‘重命名’ RENAME 类型的记录。但 RENAME 操作可以在操作历史中看到。

同步文件夹

分类

分类 说明
个人同步文件夹 同步个人的私有文件
多人协同文件夹 多人参与的同步文件夹
  • 同步文件夹被删除后,该文件夹下的所有文件将被永久清空,不可恢复。

文件冲突

冲突发生的过程:

%E5%86%B2%E7%AA%81%E7%A4%BA%E6%84%8F%E5%9B%BE.png

根据版本号判断文件是否冲突,若本地所修改文件的版本号跟服务端不一致,那么就会发生冲突。

参考:如何避免和解决文件冲突

增量更新

%E8%AF%B4%E6%98%8E.jpg

参考:智能增量同步

例子

操作记录

例1:把 folder 重命名为 folder2

clipboard.png ---> clipboard.png

操作记录

clipboard.png

上传过程

上传进度

clipboard.png

网络截图

  • create 创建文件夹

  • upload 上传文件

clipboard.png

clipboard.png

响应内容

{"version":1,"name":"folder4","path":"/folder4"}

clipboard.png

响应内容

{"size":34,"version":1}

aisuhua 的博客
用代码改善人类的生活!

努力成为一名称职的工匠师

1.6k 声望
27 粉丝
0 条评论
推荐阅读
小凯15天快速讲完c语言-简单学习第七课
看到这篇博客的同学们,到今天为止,我们的c语言初级部分讲解就结束了(可能有的同学好奇我的标题不是写的15天么,这才七天,哈哈,因为我们接下来就要开始进入c++的世界了,算是c语言的进阶,我今天整理发布的曾...

瞿小凯1阅读 433

封面图
小凯15天快速讲完c语言-简单学习第四课
1.赋值注意的点:// 定义变量的时候,给的值 这时叫做初始化。int a = 0; int b = 10;int c = 0;// 定义完变量,再去给值,这个就叫赋值a = 100; //正确的100 = a; //错误的a = b = c = 500;复合赋值运算a+=b; //...

瞿小凯阅读 625

封面图
小凯15天快速讲完c语言-简单学习第十二课(本课包含贪吃蛇项目完整源码)
当我们使用父类指针指向子类对象,调用虚函数,优先调用子类的虚函数。子类假如没有实现这个虚函数,就调用父类的。虚函数是多态机制,属于动态联编。virtual void fun() =0 ; 这个叫做纯虚函数。只是提供了接口...

瞿小凯阅读 431

封面图
小凯15天快速讲完c语言-简单学习第六课
和宏的比较函数是先把参数的值给运算出来,然后传递给形参。 即便是最简单的函数,调用也会产生额外的消耗。宏是一个预处理,是编译之前进行的一个替换,不宜编写的复杂。什么时候使用函数,什么时候使用宏呢??...

瞿小凯阅读 402

封面图
小凯15天快速讲完c语言-简单学习第十一课
class 类A{};class 类B: public 类A{};类B如果继承了类A,类B称之为派生类(子类),类A就是基类(父类)。类B继承了类A,就会拥有类A的所有成员。

瞿小凯阅读 374

封面图
小凯15天快速讲完c语言-简单学习第八,九,十课(补充复习课)
有同学私信反馈最近两天的内容有点难,因为速度太快,再此我说声抱歉,因为进入c++阶段后,我没有讲c++基础,而是直接进入了c++操作和高级语法部分,因此特别对内容做回顾和补充,今天我特意讲的很细,目的就是要...

瞿小凯阅读 337

封面图
小凯15天快速讲完c语言-简单学习第三课
左边的 = 右边的;赋值的含义 是 将右边的值,存储到左边中。左边必须是一个 变量。右边可以是变量,也可以是常量,也可以是一个算式,最终是一个值。int a = 0;int b = 100;a = b;a = 200;a = b+200;复合赋值:比...

瞿小凯阅读 337

封面图

努力成为一名称职的工匠师

1.6k 声望
27 粉丝
宣传栏