Аннотация:
Мы разработали бесплатную систему LiteUpdate, которая позволила минимизировать Интернет трафик в процессе обновления. Технология минимизации трафика достигнута следующими возможностями:
— все обновляемые файлы приложения, на стороне сервера, сжаты архиватором ZIP;
— возможность, не загружая обновление, посмотреть объем загружаемых файлов и информацию для пользователя по новой версии;
M> И эта система M>разработана на нет или же она native????
Похоже, эта система только под .NET.
Для родных приложений есть, например, Generic Updater, тоже под лицензией LGPL. Используется в Notepad++.
Здравствуйте, Кузьмин Александр, Вы писали:
КА>которая позволила минимизировать Интернет трафик в процессе обновления.
Это ее единственное достоинство?
КА>Технология минимизации трафика достигнута следующими возможностями: КА>- все обновляемые файлы приложения, на стороне сервера, сжаты архиватором ZIP;
И это достоинство заключается в сжатии файлов зипом?
КА>- возможность, не загружая обновление, посмотреть объем загружаемых файлов и информацию для пользователя по новой версии;
А это не имеет никакого отношения к минимизации трафика.
Re[2]: Система LiteUpdate
От:
Аноним
Дата:
08.07.08 12:51
Оценка:
Здравствуйте, fefelov, Вы писали:
КА>>- возможность, не загружая обновление, посмотреть объем загружаемых файлов и информацию для пользователя по новой версии;
F>А это не имеет никакого отношения к минимизации трафика.
Почему? Пользователь посмотрел что апдейт огромный и меняет он только иконки и решил не закачивать,
налицо минимизации трафика.
Честно говоря, крайне удивлен появлению на RSDN и в журнале RSDN Magazine такой слабой по всем критериям статьи. Интересно, кто из редакции пропустил сие чудо?
По пунктам: Совсем никак не раскрыта проблематика развертывания приложений: статья озаглавлена "Менеджер обновлений", а по факту есть только "Сжатие скачивания каких-то файлов (не факт, что они как-то вообще связаны с исполняемым кодом) в зависимости от выставленной цифры (типа номер версии) на сервере". Самое простое, в миру минимизация ресурсов обновления приложения (а это не только трафик, это, к примеру, и время) достигается не только за счет архивирования закачиваемых файлов, но и закачивания только действительно нужных (действительно обновленных) файлов. К примеру, если приложение включает 30 библиотек, а обновление представляет собой бакфикс всего одной строчки всего в одной библиотеке, то надо качать только один файл, а не все 30. В качестве аналогии можно вспомнить системы контроля версий, тот же SVN.
Как причина и следствие, почему совсем не описаны существующие решения на рынке? Это ведь банальность, которой учат студентов и дипломников в ВУЗе: утверждаешь, что сотворил нечто новое и полезное, будь добр сказать, чем оно лучше уже существующих решений. Так, к примеру, Eclipse UpdateManager (Java) или ClickOnce (.NET) — описанная в статье обновлялка канает максимум на 5-10% от функциональности этих компонентов. По сути описано некое кустарное решение, а учитывая отсутствие в материале анализа существующих решений, можно предполагать, что авторы попросту с ними не знакомы. А это уже называется велосипедостроением, за которое надо расстреливать из рогатки на месте.
Здравствуйте, Кузьмин Александр, Вы писали:
КА>- все обновляемые файлы приложения, на стороне сервера, сжаты архиватором ZIP;
Алгоритм ZIP обеспечивает очень посредственную степень сжатия для большинства файлов, это уже прошлый век. Потому экономия трафика может быть гораздо больше. Как 1й шаг оптимизации лучше смотреть в сторону 7z, который показывает куда лучшие результаты по степени сжатия (в данном случае степень сжатия важнее скорости, т.к. цель — максимальная экономия трафика). Однако и это не предел, учитывая что система под .net и значит завязана на Windows платформу, в идеале лучше воспользоваться готовыми документированным API от Microsoft, которое используется в их механизме обновления и использует delta сжатие, т.е. поддерживает механизм патчей. Как итог — пользователь будет скачивать только разницу в сжатом виде для уже существующих файлов, что очень сильно сэкономит трафик. Новые файлы будут скачиваться целиком в сжатом виде (LZX сжатие в новых cab'ах (жмёт на уровне 7z), гораздо более эффективное нежели старое MSZip).