Introducing Microsoft Sync Framework: Sync Services for File Systems

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Introducing Microsoft Sync Framework: Sync Services for File Systems相关的知识,希望对你有一定的参考价值。

https://msdn.microsoft.com/en-us/sync/bb887623

Introduction to Microsoft Sync Framework File Synchronization Provider

Introduction

Microsoft Sync Framework is a comprehensive综合 synchronization同步 platform that enables collaboration合作 and offline scenarios方案;情节;剧本 for applications, services, and devices.

Developers can build synchronization ecosystems生态系统 that integrate使…成整体 any application and any type of data, using any protocol over any network.

As part of the new framework, we‘re also working on simplifying the development of end-to-end synchronization solutions by providing domain-specific components for common scenarios such as synchronizing relational databases, file systems, devices, etc.

Towards this goal, we have developed a reusable provider for synchronizing the contents of file system directories on PCs and removable media such as USB thumb drives.

In this article, I‘ll cover the details of this reusable file synchronization provider, along with enabled scenarios and sample code for getting started.

 

Overview

The file synchronization provider is designed to be a generic, reusable component that can be used for synchronizing files and folders between any NTFS or FAT formatted file volumes. It uses Sync Framework‘s powerful metadata model to enable peer-to-peer synchronization of file data with support for arbitrary topologies (client/server, full-mesh, P2P) including support for removable media such as flash drives, USB thumb drives, etc. It enables 3rd parties to build file synchronization and roaming scenarios into their end-to-end synchronization solutions without having to worry about directly interacting with the file system.

Key features of the File system provider include:

  • Incremental synchronization of changes between two file system locations specified via a local or UNC path.
  • Synchronization of file contents, file and folder names, file timestamps, and attributes.
  • Support for optional filtering of files based on filename/extensions, sub-directories, or file attributes
  • Optional use of file hashes to detect changes to file contents if file timestamps are not reliable
  • Reliable detection of conflicting changes to the same file and automatic resolution of conflicts with a no-data-loss policy
  • Allow for limited user undo operation by optionally allowing file deletes and overwrites to be moved to the Recycle Bin
  • Support for Preview mode which provides a preview of the incremental synchronization operation without committing changes to the file system.
  • First-class support for the scenario where the user may start synchronization with equal or partially equal file hierarchies on more than one replica.
  • Support for graceful cancellation of an ongoing synchronization operation such that the remaining changes can be synchronized later without having to re-synchronize changes that were already synchronized.

Security note: The file synchronization provider does not synchronization security information, such as the Discretionary Access Control List (DACL). It is up to the application or user to correctly secure the destination folders to help prevent unauthorized access. Also, files in an encrypted folder are decrypted before they are sent and will not be encrypted in the destination folder. Be aware that this means that even if the source folder is encrypted, the files will still not be encrypted when they are sent. To help prevent unauthorized access or tampering, the communication channel between the provider and the folder must be trusted.

 

以上是关于Introducing Microsoft Sync Framework: Sync Services for File Systems的主要内容,如果未能解决你的问题,请参考以下文章

Introducing the Microservices Reference Architecture from NGINX

Introducing Apache Spark Datasets

architecture 20190628

Introducing RecyclerView

iOS Framework: Introducing MKNetworkKit

[Cycle.js] Introducing run() and driver functions