有没有可能在手机端按需加载资源文件?

感觉往思源笔记里面放入的 PDF 越来越多了,每次用手机或者平板打开的时候,下载的文件都不少,而且手机上的存储消耗也会大不少。

之前看过一个帖子是统计大家的笔记存储消耗的,有些人达到了惊人的 50 多 G,那么如果在手机上看就会占用掉这么多的容量。

有没有可能针对那些「大型」的资源文件,做到「按需下载对应的块」的方式加载?

这样可以达到节省空间的目的。


之前使用过一款在 ios 上的文档管理工具,它是可以在手机端只下载索引文件,只有访问的时候才会真的与「云同步」空间上下载文件,感觉还是很好用的一个特性,可以让用户选择「同步模式」。

  • 思源笔记

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

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

    22026 引用 • 87851 回帖 • 4 关注

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • 云端是加密的,只有全量下载下来才知道你有哪些文件,他们的内容是什么。这就是端到端加密的坏处。思源的加密是分块加密,而不是对每一个文件分别做加密。

    从思源目前的支持能力来看,如果想要按需加载,最好的方法就是你自己在服务器上部署思源,然后通过手机访问 web 界面的方式来阅读即可。

    2 回复
  • Wetoria 1 赞同

    可以考虑伺服模式?

    1 回复
  • ringx

    技术上其实不算问题,同步的内容是加密的,但是只要区分开「索引块」和「文件块」就可以了。

    最简单粗暴的方式是,全量下载「索引块」,解密之后生成本地索引,「按需」拉取「文件块」。

    1 回复
  • 他现在是手机里面东西太多了,不是手机伺服给别人的问题

  • 改动量太大,不现实,官方不会这么做的

  • 88250

    这个问题之前讨论过 建议为资源文件提供独立的同步配置 没有好的方案,搞不了。

    1 回复
  • ringx

    并不一定是在当下就要解决,可以有一个长期的预期嘛。

    如果用户的笔记和资源数量是海量的,那么针对性的把「索引」和「文件」进行分离应该是比较自然的想法吧。

    类似文件系统的想法,metadata 和 block 分开存放,按需访问。

    2 回复
  • 88250

    目前已经是分离的了,但是按需同步带来的问题就是无法保证多个设备上的数据完全一致。举个例子,我有两个设备,每个设备都设置了按需同步,那么这就意味着每个设备上都不会有完整的数据,这种情况对于本地数据的安全性来说是非常危险的,因为一旦云端不可用就无法保证数据的完整性了。

    1 回复
  • 不如早日实现思源云笔记,所有数据都在云端,然后就跟 notion 一样在线使用trollface

    1 回复
  • FenXue

    考虑下 docker 的思源吧,或者换大容量的手机

  • 现在已经可以了,需要自建服务而已

  • ringx

    「按需下载」和「完整性」好像本来就是正交的概念,后者不应该成为前者的障碍的吧。

    相反,既然用户选择了按需下载,他应该就要接受云端不可用了,本地数据也无法访问的吧。


    我理解一下你的意思,你是说如果用户的客户端选择按需下载数据,然后云端的数据突然丢了,

    那么用户的笔记就全都找不回来了么?

    这种情况应该是不存在的,因为思源笔记云端的数据是加密的,所以「必定」会在某个地方有完整的笔记数据的,这个是「思源笔记」的加密特性导致的一个结果。

    就像我的场景,我是 docker 端的笔记备份到云端,然后手机上的应用从云上按需访问。

    我永远都会有一份全量的数据的。

    1 回复
  • 88250

    数据的安全是重中之重,如果提供的机制不能保证安全性的话还是不提供为好。

  • xchwzhy

    我觉得吧,可以考虑 伺服模式解决,什么资源文件都不用 同步到手机,应该就是这样的。

    不过,使用伺服模式,直接输入网址 就能看笔记,没有 密码登录 啥的,手机丢了,笔记 也就容易被泄露:这个问题 该如何解决呢?

  • yikexiaoyao

    如果想要实现按需加载,那么怎么实现在确保数据安全的前提下控制这个“需”,这才是最重要的,不能为了一时的便捷放弃数据安全,还有就是,能不能让多个客户端的设置统一,我总是忘记之前配置了什么,有的时候要用到了才能想起来,个人觉得不太方便

    1 回复
  • ringx

    思源设置同步插件

    这个插件大概可以成为同步配置的一个工具,可以给作者提提需求~ 😋


    回到「按需加载」这个话题,其实只需要手机端按需加载就够了,而且可以做成一个配置项。

    这样的话,我感觉安全性是还好的。

请输入回帖内容 ...

推荐标签 标签

  • Gitea

    Gitea 是一个开源社区驱动的轻量级代码托管解决方案,后端采用 Go 编写,采用 MIT 许可证。

    4 引用 • 16 回帖 • 1 关注
  • Hprose

    Hprose 是一款先进的轻量级、跨语言、跨平台、无侵入式、高性能动态远程对象调用引擎库。它不仅简单易用,而且功能强大。你无需专门学习,只需看上几眼,就能用它轻松构建分布式应用系统。

    9 引用 • 17 回帖 • 615 关注
  • HHKB

    HHKB 是富士通的 Happy Hacking 系列电容键盘。电容键盘即无接点静电电容式键盘(Capacitive Keyboard)。

    5 引用 • 74 回帖 • 465 关注
  • JetBrains

    JetBrains 是一家捷克的软件开发公司,该公司位于捷克的布拉格,并在俄国的圣彼得堡及美国麻州波士顿都设有办公室,该公司最为人所熟知的产品是 Java 编程语言开发撰写时所用的集成开发环境:IntelliJ IDEA

    18 引用 • 54 回帖
  • jQuery

    jQuery 是一套跨浏览器的 JavaScript 库,强化 HTML 与 JavaScript 之间的操作。由 John Resig 在 2006 年 1 月的 BarCamp NYC 上释出第一个版本。全球约有 28% 的网站使用 jQuery,是非常受欢迎的 JavaScript 库。

    63 引用 • 134 回帖 • 726 关注
  • 反馈

    Communication channel for makers and users.

    123 引用 • 911 回帖 • 237 关注
  • 思源笔记

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

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

    22026 引用 • 87851 回帖 • 4 关注
  • Sym

    Sym 是一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)系统平台。

    下一代的社区系统,为未来而构建

    524 引用 • 4600 回帖 • 701 关注
  • Jenkins

    Jenkins 是一套开源的持续集成工具。它提供了非常丰富的插件,让构建、部署、自动化集成项目变得简单易用。

    53 引用 • 37 回帖
  • Redis

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

    286 引用 • 248 回帖 • 74 关注
  • HTML

    HTML5 是 HTML 下一个的主要修订版本,现在仍处于发展阶段。广义论及 HTML5 时,实际指的是包括 HTML、CSS 和 JavaScript 在内的一套技术组合。

    107 引用 • 295 回帖
  • Wide

    Wide 是一款基于 Web 的 Go 语言 IDE。通过浏览器就可以进行 Go 开发,并有代码自动完成、查看表达式、编译反馈、Lint、实时结果输出等功能。

    欢迎访问我们运维的实例: https://wide.b3log.org

    30 引用 • 218 回帖 • 626 关注
  • 七牛云

    七牛云是国内领先的企业级公有云服务商,致力于打造以数据为核心的场景化 PaaS 服务。围绕富媒体场景,七牛先后推出了对象存储,融合 CDN 加速,数据通用处理,内容反垃圾服务,以及直播云服务等。

    26 引用 • 222 回帖 • 165 关注
  • TGIF

    Thank God It's Friday! 感谢老天,总算到星期五啦!

    287 引用 • 4484 回帖 • 668 关注
  • OpenStack

    OpenStack 是一个云操作系统,通过数据中心可控制大型的计算、存储、网络等资源池。所有的管理通过前端界面管理员就可以完成,同样也可以通过 Web 接口让最终用户部署资源。

    10 引用 • 2 关注
  • Angular

    AngularAngularJS 的新版本。

    26 引用 • 66 回帖 • 533 关注
  • SOHO

    为成为自由职业者在家办公而努力吧!

    7 引用 • 55 回帖 • 18 关注
  • Flume

    Flume 是一套分布式的、可靠的,可用于有效地收集、聚合和搬运大量日志数据的服务架构。

    9 引用 • 6 回帖 • 621 关注
  • DNSPod

    DNSPod 建立于 2006 年 3 月份,是一款免费智能 DNS 产品。 DNSPod 可以为同时有电信、网通、教育网服务器的网站提供智能的解析,让电信用户访问电信的服务器,网通的用户访问网通的服务器,教育网的用户访问教育网的服务器,达到互联互通的效果。

    6 引用 • 26 回帖 • 505 关注
  • 知乎

    知乎是网络问答社区,连接各行各业的用户。用户分享着彼此的知识、经验和见解,为中文互联网源源不断地提供多种多样的信息。

    10 引用 • 66 回帖 • 1 关注
  • Git

    Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

    209 引用 • 358 回帖
  • 黑曜石

    黑曜石是一款强大的知识库工具,支持本地 Markdown 文件编辑,支持双向链接和关系图。

    A second brain, for you, forever.

    14 引用 • 106 回帖 • 1 关注
  • 域名

    域名(Domain Name),简称域名、网域,是由一串用点分隔的名字组成的 Internet 上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。

    43 引用 • 208 回帖 • 1 关注
  • Google

    Google(Google Inc.,NASDAQ:GOOG)是一家美国上市公司(公有股份公司),于 1998 年 9 月 7 日以私有股份公司的形式创立,设计并管理一个互联网搜索引擎。Google 公司的总部称作“Googleplex”,它位于加利福尼亚山景城。Google 目前被公认为是全球规模最大的搜索引擎,它提供了简单易用的免费服务。不作恶(Don't be evil)是谷歌公司的一项非正式的公司口号。

    49 引用 • 192 回帖
  • Netty

    Netty 是一个基于 NIO 的客户端-服务器编程框架,使用 Netty 可以让你快速、简单地开发出一个可维护、高性能的网络应用,例如实现了某种协议的客户、服务端应用。

    49 引用 • 33 回帖 • 19 关注
  • 微软

    微软是一家美国跨国科技公司,也是世界 PC 软件开发的先导,由比尔·盖茨与保罗·艾伦创办于 1975 年,公司总部设立在华盛顿州的雷德蒙德(Redmond,邻近西雅图)。以研发、制造、授权和提供广泛的电脑软件服务业务为主。

    8 引用 • 44 回帖 • 1 关注
  • 脑图

    脑图又叫思维导图,是表达发散性思维的有效图形思维工具 ,它简单却又很有效,是一种实用性的思维工具。

    25 引用 • 83 回帖