2010-11-01 4 views
3

В настоящее время я использую xdelta для создания файлов обновлений и отправляю только разницу в текущей версии приложения для пользователя, но я хотел бы знать, есть ли лучшие способы или другие способы для решения такой ситуации и советы, которые сообщество может дать меня.Обновление файлов размером более 1 ГБ?

Наше приложение написано на C#, и наш веб-сервер работает на Linux с apache httpd.

Использование новых патчей xdelta уменьшает размер разницы между старым и новым файлом, поэтому обновления варьируются от 10 до 500 мб, избегая необходимости повторно загружать их 1 ГБ каждый раз, когда мы что-то меняем.

  1. Какие еще варианты у меня есть, что вы могли бы мне порекомендовать?
  2. Что еще я должен учитывать в этом случае?

PS: Я действительно в убытке с этим, если честно, это первое приложение для обновления, которое я сделал, и я действительно не знаю, правильно ли я делаю это.


если можно рекомендовать с открытым исходным кодом или некоммерческих приложений

+0

Не могли бы вы, ребята, написать о близких голосах, из-за небольшой информации? если вы можете указать дополнительную информацию, которую вам нужно знать, я с удовольствием расскажу, но на первый взгляд это было тем, что я прочитал как резюме. – Prix

ответ

2

С минимальным количеством информации, я не вижу проблемы с вашим подходом. Если вам нужно исправить файл размером 1 ГБ, вам необходимо исправить файл размером 1 ГБ. Я предполагаю, что это файл данных и поэтому должен быть такого размера? Есть ли способ разбить его на файлы, которые часто не изменяются, чтобы, возможно, еще больше уменьшить размер патча?

+0

+1 @Toby благодарит за ответ. Ну, у меня есть несколько роликов, которые, даже если бы я разделил их, он мог бы иметь размер около 1 ГБ, а также некоторые пакеты данных с текстурами и т. Д. Основная часть того, что я ищу, - это хорошо зарегистрированное приложение или библиотека patcher. – Prix

0

Возможно, вы попробуете bsdiff. Это то же самое, что xdelta, с несколько иным алгоритмом.

Приступая к работе под Windows, не все это было в том случае, когда я впервые попробовал (это может быть иначе, не заглядывая в то время), но как только это сработало, все получилось нормально.
Мой пробег заключается в том, что сжатие работает примерно в 10 раз медленнее, чем xdiff (но, кто заботится ...) и генерирует исправления, которые обычно составляют примерно половину от размера. Очевидно, ваш пробег будет зависеть от ваших данных, но для меня это большая победа. Если у вас есть свободное время, вы всегда можете попробовать.

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

Смежные вопросы