Как механизм управления версиями SharePoint хранит только изменения в файлах, а не весь файл? - PullRequest
0 голосов
/ 13 февраля 2020

Одна из многих вещей, которые SharePoint делает чрезвычайно хорошо, заключается в том, что, когда у вас включено управление версиями для файлов, загружаемых в библиотеку документов, каждый раз, когда вы сохраняете изменения в файле, сохраняется только отличие от предыдущей версии файла в Содержимое базы данных, но не весь файл снова.

Я пытаюсь повторить то же поведение со стандартным кодом C# в папке файловой системы в Windows или SQL поле BLOB-объекта базы данных. У кого-нибудь есть идеи или указания относительно того, как SharePoint выполняет это и как это можно сделать вне SharePoint?

1 Ответ

1 голос
/ 15 февраля 2020

SharePoint использует технику, называемую «измельчение» данных, чтобы хранить каждое изменение в данном файле. К сожалению, я не думаю, что вы найдете достаточно технических деталей, чтобы по-настоящему воспроизвести то, что они делают, но вы можете разработать разумное приближение, используя собственный дизайн.

При измельчении данные, связанные с Файл, такой как Document.docx, распределяется по набору BLOB-объектов, связанных с файлом. Каждому независимому BLOBS присваивается уникальный идентификатор (смещение), чтобы обеспечить восстановление в правильном порядке по запросу пользователя.

Каждый «клочок» документа хранится в таблице базы данных SQL с именем DocStreams. Каждый большой двоичный объект содержит числовой идентификатор, представляющий исходный большой двоичный объект при объединении. Когда клиент обновляет файл, только измельченный большой двоичный объект, соответствующий изменению, обновляется обновлением, происходящим на сервере базы данных, а не на веб-сервере.

Подробнее о уничтожении см.

* 1008. * http://download.microsoft.com/download/9/6/6/9661DAC2-393D-445A-BDC1-E60743B1231E/Shredded%20Storage%20in%20SharePoint%202013.pdf https://jeremythake.com/the-truth-behind-shredded-storage-in-sharepoint-2013-a84ec047f28e https://www.c-sharpcorner.com/UploadFile/91b369/shredded-storage-in-sharepoint-2013/
...