partners section

Обнаружение изменений в файловой системе

Служба синхронизации файлов синхронизирует постепенные изменения между двух местах файловой системы (также определены как реплики по Sync Framework,). Для того чтобы сделать это, в начале каждого сеанса синхронизации, он должен оценить дополнительные изменения на каждой реплики с момента последней синхронизации. Этот процесс называется обнаружения изменения.

Поставщик сохраняет небольшое количество информации (так называемый метаданные), который описывает, где и когда элемент был изменен, давая снимок каждого файла и папки в реплике. Изменения обнаруживаются путем сравнения текущего файл метаданных с версией последнего сохранения в снимке. Для файлов, сравнение выполняется от размера файла, времени и атрибуты файлов, имя файла (с учетом регистра), и, возможно, хэш содержимого файлов. Для папок, сравнение выполняется на атрибутах папок и имени папки (с учетом регистра).

Эвристический алгоритм используется для определения переименования файлов. Если файл был только переименован или перемещен, просто операция будет выполняться с другой реплике, избегая полной передачи потока, который может быть дорого. Для папок, переименовать или переместить в настоящее время обрабатывается как удаление и создать на другие реплики. Файлы в папку переименованного однако будут обрабатываться как переименований и никаких ненужных переводы поток не будет сделано.

По умолчанию поставщик синхронизации файлов обнаруживает изменения в начале каждого сеанса синхронизации. Такое поведение может быть изменена приложением с помощью инициализации флаги и явный метод DetectChanges на поставщика. Учитывая выше способ обнаружения изменений (для поддержки FAT файловых систем), если существует большое количество файлов в реплике, обнаружения изменения могут быть дорогостоящей операцией и должно быть сделано только так часто, как того требует взаимодействия с пользователем приложения.