crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Теория, как сократить объём трафика по сети, Что-то вроде дельта кодирования..
512es
  опции профиля:
сообщение 17.1.2012, 18:28
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 135
Регистрация: 31.10.2008
Пользователь №: 407

Спасибо сказали: 5 раз(а)




Репутация:   0  


Доброго времени суток!

Упрошённая схема:
Имеется 2 компьютера, клиент и сервер.
Клиент достаточно часто запрашивает одни и те же данные (QByteArray) у сервера.
Объём данных будем считать относительно большим.
Иногда данные могут незначительно меняться.

Задача:
Максимально сократить объём трафика между клиентом и сервером.

Возможно запоминание последних отданных данных клиенту на стороне сервера и последних принятых данных клиентом на стороне клиента.

Сейчас используется qCompress. Заметный выигрыш в размере пакетов, но всё равно, теоретически, можно посылать только различия между новым и предыдущим QByteArray + хеш, указывающий на то, какие данные были использованы при сравнении (на всякий случай, для коррекции ошибок).

Смотрю в сторону Delta кодирования. Но помоему это немного не то, или я просто не умею его использовать. Как его адаптировать для сравнения двух массивов данных?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
512es
  опции профиля:
сообщение 17.1.2012, 23:54
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 135
Регистрация: 31.10.2008
Пользователь №: 407

Спасибо сказали: 5 раз(а)




Репутация:   0  


Iron Bug, Но сделали же!


А вообще, по теме:
Может кто смог бы написать обёртку над bsdiff для Qt?)

Вроде кода совсем немного, но для меня так запутано...
А главное, там пишут в файл через BZ2_bzWriteOpen, BZ2_bzWrite тоесть через библиотеку BZip2, сразу архивируя. А мне надо в QByteArray сохранить, можно уже запакованные данные...

Для Ruby например, уже есть обёртка
Для питона есть даже модуль

Сообщение отредактировал 512es - 18.1.2012, 0:14
Прикрепленные файлы
Прикрепленный файл  bsdiff.zip ( 5.88 килобайт ) Кол-во скачиваний: 0
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 18.1.2012, 17:54
Сообщение #3


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


Цитата(512es @ 18.1.2012, 2:54) *

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

Цитата(Алексей1153 @ 18.1.2012, 10:32) *
Опробовано лично на передаче изображения на экране на удалённый комп :)

дык, аналогичные алгоритмы работают в пожатии разных mpеg'ов, например. там есть ключевой кадр и потом несколько "кадров" с изменениями. потом снова ключевой и серия изменений. и так далее. есть разные варианты выбора ключевых кадров и от этого зависит степень пожатия.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- 512es   Теория, как сократить объём трафика по сети   17.1.2012, 18:28
- - 512es   Ковыряю пример с википедии по дельта-кодированию. ...   17.1.2012, 20:49
- - BRE   Вот это почитай: http://ru.wikipedia.org/wiki/Цело...   17.1.2012, 21:25
- - 512es   Эм, спс, почитал... Правда всё равно не понял как...   17.1.2012, 22:09
- - 512es   Тыкс.. Отвечаю сам себе. В задуманном мною аглори...   17.1.2012, 22:56
|- - Iron Bug   Цитата(512es @ 18.1.2012, 1:56) Но новый ...   17.1.2012, 23:32
- - 512es   Iron Bug, Но сделали же! А вообще, по теме: ...   17.1.2012, 23:54
|- - Iron Bug   Цитата(512es @ 18.1.2012, 2:54) Iron Bug,...   18.1.2012, 17:54
- - Алексей1153   незначительное изменение данных влияет на размер д...   18.1.2012, 7:32
- - 512es   Размер динамический. Вообщем утилита bsdiff просто...   18.1.2012, 17:37
- - Алексей1153   Iron Bug, и в GIF похоже делается. 512es, алгорит...   19.1.2012, 6:40
|- - Iron Bug   Цитата(Алексей1153 @ 19.1.2012, 9:40) При...   23.1.2012, 23:29
- - zloiia   Быть может немного не в тему, но может не стоит из...   19.1.2012, 7:04
- - Алексей1153   zloiia, всё зависит от критичности времени обработ...   19.1.2012, 7:33
- - 512es   Алексей1153, скорость да, уступает простому вычита...   20.1.2012, 11:13
- - Алексей1153   Цитата(512es @ 20.1.2012, 14:13) когда ок...   20.1.2012, 13:01
- - 512es   Алексей1153, кстати, а что вас заставило изобретат...   23.1.2012, 19:48
- - Алексей1153   512es, задача была - написать систему удалённого а...   23.1.2012, 19:58
- - Алексей1153   Цитата(Iron Bug @ 24.1.2012, 2:29) никако...   24.1.2012, 21:05
- - Iron Bug   Цитата(Алексей1153 @ 25.1.2012, 0:05) не ...   25.1.2012, 6:39
- - lanz   http://fabiensanglard.net/quake3/network.php Вооб...   20.2.2013, 16:59


Ответить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 12.5.2025, 16:40