端云文件协同概述

端云文件协同为应用开发提供端云一体的统一文件系统能力,为用户和应用提供一致的文件同步与跨端访问体验。

作为系统级平台能力,端云协同提供标准化接入接口与封装好的核心能力(同步、下载、版本管理等),帮助应用以极低接入成本快速集成,同时保障用户侧体验的一致性及数据的可靠性。

能力范围

  • 全维度同步上云:支持文件内容修改(如编辑、更新)与元数据修改(如重命名)的双向同步。文件发生变更后,系统会自动触发云端同步流程。同时,通过回调接口将同步状态(成功/失败/进度)实时通知给应用,确保端云数据的一致性。

    • 节省空间:文件实体全量存储于云端,本地仅保留文件元数据(名称、类型、大小、修改时间),大幅释放设备本地存储空间,避免冗余文件占用。
    • 无缝体验:文件的打开、编辑、删除、重命名等操作,完全复刻本地文件操作逻辑,同步流程后台自动执行,用户无需感知上行和下行过程,体验无缝衔接。
    • 断点续传:文件上传过程中遭遇网络中断、设备离线等异常时,系统自动记录已上传分片进度,网络恢复后从断点处继续上传,无需重复传输,节省数据流量与时间。
    • 增量上传:本地文件发生修改时,仅对变化部分(新增 / 修改的文件分片)进行上传,无需传输完整文件,大幅提升上传效率,减少带宽占用。
    • 极速同步:连续上传同一文件(或文件内容未发生变化)时,云端通过文件唯一标识快速校验已存储文件,直接复用云端已有资源完成同步,无需实际传输文件数据,实现快速上传。
  • 灵活的文件下载能力:提供云上文件的单点下载(指定单个文件精准下载)与批量下载(多选文件或文件夹打包下载)功能,适配不同业务场景下的文件获取需求。

    • 断点下载:文件下载时若遇网络波动或主动暂停,支持保留已下载分片数据,再次下载时直接接续未完成部分,避免全量重下,降低流量损耗。
    • 差分下载:当其他设备修改并同步文件后,本端仅下载文件的变化分片(而非完整文件),缩短下载耗时,降低流量成本,同步更高效。
  • 全生命周期版本管理:支持端侧与云侧文件版本的全流程管理,包括版本创建(同步时自动生成新版本)、版本查询(获取历史版本列表与详情),满足文件修改追溯与数据安全需求。

适用场景

  • 用户场景

    • 图库照片备份
    • 云盘文件管理
    • 应用文件云存储
  • 应用场景

    • 云文件多端协同编辑
    • 云文件多端同步流转

实现原理

针对应用开发者,端云文件协同提供文件的上传和下载同步、单点下载与批量下载等核心能力接口,应用只需将待上云的文件放在沙箱目录/data/sotrage/el2/cloud下,即可自动完成文件的上云,其余基础文件操作接口,请参考应用文件访问与管理开发指南。

该能力基于系统级服务构建,由 cloudfiledaemon 进程提供基础文件操作、元数据管理、分片预读等核心功能;cloudfileservice 进程则在后台自动与云端服务进行交互,根据业务需求变化触发并完成文件上下行,文件下载,同时也提供了接口支持版本管理和主动触发同步任务。

file cloud sync overview

基本概念

  • cloudfiledaemon:端云文件守护进程,为接入云的应用提供端云文件的基本文件操作、元数据管理和分片预读等能力。
  • cloudfileservice:端云同步服务进程,为接入云的应用提供完成端云文件的上下行、文件下载和版本管理等能力。
  • fuse:一种允许非特权用户在用户空间实现的文件系统,通过在内核中提供一个通用的 VFS(虚拟文件系统)桥接模块,将文件系统操作转发到用户空间的进程,由用户程序实现具体的逻辑。
  • hmdfs:分布式文件系统,在内核中为端云文件协同提供了文件预读、本地视图的能力。
  • 元数据管理:支持本地只保留文件名、文件大小和时间戳等基本元数据信息,端云文件守护进程支持对这些基本信息进行管理。
  • 分片预读:文件预读的一种精细化策略,将读取请求划分为多个逻辑分片,按需或按优先级异步预加载特定分片,进一步优化IO性能及带宽利用率。
  • 文件预读:一种 I/O 优化技术,在用户尚未显式请求后续数据之前,hmdfs会根据读取文件区间提前将后续的部分内容加载到内存中,以减少后续读取时的延迟。
  • 本地视图:当前设备本地文件系统中的目录结构与文件列表,反映的是用户所在主机上的实际存储状态,所有操作(如浏览、创建、删除、重命名等)直接作用于本地磁盘。