Я хочу интегрировать дедупликацию данных в программное обеспечение, которое пишу для резервного копирования образов vmware.Я не смог найти ничего подходящего для того, что мне нужно.Кажется, есть много полных решений, которые включают одну или несколько дедупликации.К ним относятся решения для хранения или резервного копирования, которые используют публичные или частные облака, специализированные файловые системы, сети хранения или устройства и т. Д. Однако мне нужно разработать собственное решение и интегрировать в него дедупликацию.Мое программное обеспечение будет написано на C #, и я хотел бы иметь возможность вызывать API, чтобы сказать ему, что нужно дедуплицировать.
Тип дедупликации, о котором я говорю, - это не дедупликация одного изображения на другое изображение - обычноподход к созданию инкрементных или дифференциальных резервных копий двух «версий» чего-либо - или так называемой «дедупликации резервного копирования клиента» в записи Википедии о дедупликации данных , поскольку у меня уже есть решение для этого,и я хочу сделать еще один шаг вперед.
Я предполагаю подход, который позволил бы мне как-то дедуплицировать порции данных на глобальном уровне (то есть некоторую форму глобальной дедупликации ).Чтобы быть глобальным, я предполагаю, что была бы какая-то центральная таблица поиска (например, индекс хэшей), которая сообщала бы дедуперу, что копия проверяемых данных уже хранится и ее не нужно снова сохранять.Куски могут быть на уровне файлов (Single Instance Storage или SIS) или дедупликации на уровне файлов / блоков.Последнее должно быть более эффективным (что более важно для наших целей, чем, скажем, обработка накладных расходов) и было бы моим предпочтительным вариантом, но я мог бы также заставить SIS работать, если бы пришлось.
У меня сейчасЯ много читал о программах других людей, которые делают дедупликацию, как я уже упоминал выше.Я не буду приводить здесь примеры, потому что я не пытаюсь подражать чьему-либо подходу специально.Скорее, я не смог найти решение для программистов и хочу знать, есть ли что-нибудь подобное.Альтернативой было бы накатить мое собственное решение, но, мягко говоря, это было бы довольно большой задачей.
Спасибо.