同步的工作原理

本文概述了 Microsoft OneDrive 中的同步工作原理。 它可帮助你了解信息如何在应用程序之间流动背后的逻辑、技术如何协同工作以及如何保护数据。

下载 PDF

同步过程的插图

信息流动方式

OneDrive 同步应用使用 Windows 推送通知服务 (WNS) 实时同步文件。 每当实际发生更改时,WNS 都会通知同步应用,从而消除冗余轮询并节省不必要的计算能力。

以下是相应的工作方式:

  • Microsoft 365 中发生更改。

  • WNS 会向同步应用发出更改警报。

  • OneDrive 将其添加到内部服务器更改队列。

    • 任何元数据更改都会立即发生,例如重命名或删除文件。
    • 下载内容还会启动与客户端的特定会话。
  • Microsoft 365 具有通过 Microsoft Azure 进行定向的元数据指针。

  • 更改按接收的顺序进行处理。

以前的OneDrive 同步应用 (Groove.exe) 使用轮询服务来检查预先确定的计划上的更改。 轮询可能会导致系统滞后和缓慢,因为它需要大量的计算能力。 使用 WNS 是一项重大增强。

身份验证协议

身份验证协议取决于您使用的 SharePoint 版本。

  • SharePoint Server 2019使用 NTLM。
  • Microsoft 365 中的 SharePoint 使用 FedAuth。

同步不同的文件类型

OneDrive 根据文件类型以不同的方式处理同步。

对于 Office 2016 和 Office 2019 文件,OneDrive 直接与特定应用协作,以确保正确传输数据。 如果 Office 桌面应用正在运行,它将处理同步。 如果它未运行,OneDrive 将运行。

对于其他类型的文件和文件夹,小于 8 MB 的项目在单个 HTTPS 请求中内联发送。 任何 8 MB 或更大的内容都划分为文件区块,并通过 后台智能传输服务 (BITS) 会话单独发送。 其他更改将一起批处理为对服务器的 HTTPS 请求。

基础技术

OneDrive 同步应用使用以下项来同步文件:

  • 若要查找新更改并上传信息,请: https://<tenant_name, i.e. contoso>-my.sharepoint.com/personal/<user_contoso_onmicrosoft_com>/_api/SPFileSync/sync/<default document library ID GUID>/

  • 若要下载项目,请: https://<tenant_name, i.e. contoso>-my.sharepoint.com/personal/<user_contoso_onmicrosoft_com>/_layouts/15/download.aspx

  • 若要发现用户可以访问的网站和组织,请执行以下操作: https://odc.officeapps.live.com/odc/servicemanager/userconnected

安全和加密

文件区块存储在 Azure 中的多个容器中,每个容器都有一个唯一的密钥。 重新组合完整文件需要每个密钥。 还有一个单独的主密钥用于加密每个文件区块密钥,确保数据即使在不移动时也保持安全。