多端同步数据丢失

本贴最后更新于 187 天前,其中的信息可能已经事过境迁

使用思源笔记一年多了,同步一直很方便好用。

昨天突然出现了一次异常情况。

版本:v3.1.10

我在公司的 MacOS 上记录了一些笔记,回到家用 Windows 电脑打开思源笔记后,发现公司的笔记没有同步过来,期初以为自己记错了。不过在 Windows 上,时不时的会弹出 Tree not found v3.1.10。

今天来到公司,启动思源笔记,发现昨天的笔记不见了,同步成家里 Windows 上的情况了。

好在我通过快照恢复到昨天的笔记并重新同步了快照,这是第一次遇到这种旧笔记覆盖新笔记的情况。

从云端快照的截图上可以看出体积变化:最新的一个 2.44GB 是通过昨天的 2.44GB 恢复出来的,恢复后笔记都回来了。

image.png

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    25453 引用 • 105283 回帖
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    9737 引用 • 44304 回帖 • 87 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • houzy via macOS
    1. 用的是官方同步吗?
    2. 导出日志上传一下
    1 回复
  • houzy via macOS

    用的是官方的同步

  • 88250

    需要上传两个端的日志才方便分析,谢谢。

  • houzy 1 评论 via macOS
    这是 macos 的日志,Windows 的日志我只能回家上传了
    houzy
  • houzy via macOS

    情况和这个有点像,也是时不时的弹窗 tree not found。Issue #12754 · siyuan-note/siyuan

  • 88250

    从日志上看是今早 macOS 同步了 Android 端的最新快照:

    I 2024/11/05 09:45:05 sync.go:1581: got cloud latest [device=25ofgfxixndm/android, id=aa7ce1fa954d634910a8ecdfe3789bc01b3475c4, files=6715, size=2.43 GB, created=2024-11-05 09:43:29]

    还需要发一下 Android 上的日志。

  • houzy via macOS

    systemlog1.zip

    安卓是上班路上打开看了一眼,没有做什么编辑动作。这是安卓的日志。

    1 回复
  • 88250

    Android 端的日志早上也是同步了 Windows 端凌晨的快照:

    I 2024/11/05 09:43:03 sync.go:1581: got cloud latest [device=8ef9de99-0089-4af2-bda7-7e817cf1a9de/windows, id=6222bc6a6da5c722a25479b0a7d2d27bce79aa2b, files=6715, size=2.43 GB, created=2024-11-05 00:15:22]

    那看来还是需要 Windows 端的日志,等晚上你到家以后麻烦上传回复我一下,谢谢。

  • systemlog.zip

    这是 windows 的日志

    @88250

    1 回复
  • houzy 1 评论

    另外,Windows 下还是时不时弹 tree not found v3.1.10,不知道为啥

    终于知道咋回事了,因为我打开了一个已经不存在的文档,关闭后不弹了
    houzy
  • 88250

    你好,我们分析发现是 Windows 端 3 号中午 13:25:13 的一次同步未完成导致的问题:

    image.png

    猜测可能是因为系统休眠导致同步未完成,4 号 21:22:12 系统唤醒后继续同步,导致最终使用了旧的快照 0e86a7efec8c2122edaad9fa8da087a0c1c9e410 覆盖了数据。

    这种情况似乎不太好改进了,因为无法根据同步耗时来判断同步是否正常(有的时候因为网速或者数据量同步时间是会长一些,虽然不可能长达一天,但是几个小时是可能的),建议使用时还是确保同步完成再休眠电脑,感谢反馈。

    3 回复
  • houzy 1 via macOS

    好的,我下次注意一下。有时用完就扣上笔记本休眠了。

  • 能不能就像同步锁那种,开始同步写一个 dummy 文件,结束同步写一个 dummy 文件并且删掉前一个 dummy 文件,如果只有开始同步的 dummy 说明中途被截断了,如果两个都存在就说明未知异常,如果只有结束同步的 dummy 就说明同步成功了。

    dummy 里还可以记上设备的 id

    1 回复
  • lumama

    ____能不能做一个同步锁,每次开始同步时,打个标记,同步完再打一个标记,如果中间哪一次有同步中断,是同一个设备没有内容更改的话就继续同步,如果有本地更改后的的内容和云端不一致,有冲突,提示让用户自己选择处理冲突内容,或者同时保留冲突内容,让用户去选择更改。(根据最后的编辑时间)

    1 回复
  • 88250 1

    写入后立即读取文件不一定可靠。

  • 88250

    楼主的这个场景代码上无法判断中断的(因为实际上没有中断,只是时间太长)。

请输入回帖内容 ...

推荐标签 标签

  • Chrome

    Chrome 又称 Google 浏览器,是一个由谷歌公司开发的网页浏览器。该浏览器是基于其他开源软件所编写,包括 WebKit,目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面。

    63 引用 • 289 回帖
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3201 引用 • 8216 回帖 • 1 关注
  • 心情

    心是产生任何想法的源泉,心本体会陷入到对自己本体不能理解的状态中,因为心能产生任何想法,不能分出对错,不能分出自己。

    59 引用 • 369 回帖
  • 自由行
    1 关注
  • 强迫症

    强迫症(OCD)属于焦虑障碍的一种类型,是一组以强迫思维和强迫行为为主要临床表现的神经精神疾病,其特点为有意识的强迫和反强迫并存,一些毫无意义、甚至违背自己意愿的想法或冲动反反复复侵入患者的日常生活。

    15 引用 • 161 回帖 • 1 关注
  • Redis

    Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。从 2010 年 3 月 15 日起,Redis 的开发工作由 VMware 主持。从 2013 年 5 月开始,Redis 的开发由 Pivotal 赞助。

    286 引用 • 248 回帖
  • 音乐

    你听到信仰的声音了么?

    62 引用 • 512 回帖 • 1 关注
  • 架构

    我们平时所说的“架构”主要是指软件架构,这是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计。另外还有“业务架构”、“网络架构”、“硬件架构”等细分领域。

    143 引用 • 442 回帖 • 1 关注
  • Typecho

    Typecho 是一款博客程序,它在 GPLv2 许可证下发行,基于 PHP 构建,可以运行在各种平台上,支持多种数据库(MySQL、PostgreSQL、SQLite)。

    12 引用 • 67 回帖 • 451 关注
  • 正则表达式

    正则表达式(Regular Expression)使用单个字符串来描述、匹配一系列遵循某个句法规则的字符串。

    31 引用 • 94 回帖
  • Caddy

    Caddy 是一款默认自动启用 HTTPS 的 HTTP/2 Web 服务器。

    12 引用 • 54 回帖 • 177 关注
  • HBase

    HBase 是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的 Google 论文 “Bigtable:一个结构化数据的分布式存储系统”。就像 Bigtable 利用了 Google 文件系统所提供的分布式数据存储一样,HBase 在 Hadoop 之上提供了类似于 Bigtable 的能力。

    17 引用 • 6 回帖 • 59 关注
  • TextBundle

    TextBundle 文件格式旨在应用程序之间交换 Markdown 或 Fountain 之类的纯文本文件时,提供更无缝的用户体验。

    1 引用 • 2 回帖 • 81 关注
  • Webswing

    Webswing 是一个能将任何 Swing 应用通过纯 HTML5 运行在浏览器中的 Web 服务器,详细介绍请看 将 Java Swing 应用变成 Web 应用

    1 引用 • 15 回帖 • 640 关注
  • danl
    164 关注
  • ZooKeeper

    ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现,是 Hadoop 和 HBase 的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

    59 引用 • 29 回帖
  • 人工智能

    人工智能(Artificial Intelligence)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门技术科学。

    167 引用 • 314 回帖
  • FFmpeg

    FFmpeg 是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。

    23 引用 • 32 回帖 • 1 关注
  • WiFiDog

    WiFiDog 是一套开源的无线热点认证管理工具,主要功能包括:位置相关的内容递送;用户认证和授权;集中式网络监控。

    1 引用 • 7 回帖 • 608 关注
  • OnlyOffice
    4 引用 • 23 关注
  • Oracle

    Oracle(甲骨文)公司,全称甲骨文股份有限公司(甲骨文软件系统有限公司),是全球最大的企业级软件公司,总部位于美国加利福尼亚州的红木滩。1989 年正式进入中国市场。2013 年,甲骨文已超越 IBM,成为继 Microsoft 后全球第二大软件公司。

    107 引用 • 127 回帖 • 336 关注
  • 大疆创新

    深圳市大疆创新科技有限公司(DJI-Innovations,简称 DJI),成立于 2006 年,是全球领先的无人飞行器控制系统及无人机解决方案的研发和生产商,客户遍布全球 100 多个国家。通过持续的创新,大疆致力于为无人机工业、行业用户以及专业航拍应用提供性能最强、体验最佳的革命性智能飞控产品和解决方案。

    2 引用 • 14 回帖 • 1 关注
  • WebClipper

    Web Clipper 是一款浏览器剪藏扩展,它可以帮助你把网页内容剪藏到本地。

    3 引用 • 9 回帖
  • 禅道

    禅道是一款国产的开源项目管理软件,她的核心管理思想基于敏捷方法 scrum,内置了产品管理和项目管理,同时又根据国内研发现状补充了测试管理、计划管理、发布管理、文档管理、事务管理等功能,在一个软件中就可以将软件研发中的需求、任务、bug、用例、计划、发布等要素有序的跟踪管理起来,完整地覆盖了项目管理的核心流程。

    6 引用 • 15 回帖 • 11 关注
  • PWL

    组织简介

    用爱发电 (Programming With Love) 是一个以开源精神为核心的民间开源爱好者技术组织,“用爱发电”象征开源与贡献精神,加入组织,代表你将遵守组织的“个人开源爱好者”的各项条款。申请加入:用爱发电组织邀请帖
    用爱发电组织官网:https://programmingwithlove.stackoverflow.wiki/

    用爱发电组织的核心驱动力:

    • 遵守开源守则,体现开源&贡献精神:以分享为目的,拒绝非法牟利。
    • 自我保护:使用适当的 License 保护自己的原创作品。
    • 尊重他人:不以各种理由、各种漏洞进行未经允许的抄袭、散播、洩露;以礼相待,尊重所有对社区做出贡献的开发者;通过他人的分享习得知识,要留下足迹,表示感谢。
    • 热爱编程、热爱学习:加入组织,热爱编程是首当其要的。我们欢迎热爱讨论、分享、提问的朋友,也同样欢迎默默成就的朋友。
    • 倾听:正确并恳切对待、处理问题与建议,及时修复开源项目的 Bug ,及时与反馈者沟通。不抬杠、不无视、不辱骂。
    • 平视:不诋毁、轻视、嘲讽其他开发者,主动提出建议、施以帮助,以和谐为本。只要他人肯努力,你也可能会被昔日小看的人所超越,所以请保持谦虚。
    • 乐观且活跃:你的努力决定了你的高度。不要放弃,多年后回头俯瞰,才会发现自己已经成就往日所仰望的水平。积极地将项目开源,帮助他人学习、改进,自己也会获得相应的提升、成就与成就感。
    1 引用 • 487 回帖 • 4 关注
  • Quicker

    Quicker 您的指尖工具箱!操作更少,收获更多!

    37 引用 • 157 回帖
  • 程序员

    程序员是从事程序开发、程序维护的专业人员。

    589 引用 • 3538 回帖