issue-843-fly-server-x64-x86-test-3.7z
С исходным кодом всей реализации данной функции можно познакомиться в ветке:
svn co http://flylinkdc.googlecode.com/svn/branches-dev/ppa/issue-618-mediainfo
Заранее спасибо за замечания.
Изменения в test-3
- На сервер передаются только те элементы, которые видны в окне результатов поиска
- По мере скроллирования окна на сервер досылаются запросы (с интервалом 5 секунд) после получения результата записи по которым есть сведения - немного темнеют (10%).
- На стороне сервер исправлен баг в обработке запросов размером более 64к)
- Снял видеоролик как это работает "Поиски Шрэка" (fly-server-shrek-search-demo.flv )
- Обмен информацией выполняется даже если не собрана расширенная инфа, собранная в FlylinkDC_mediainfo.sqlite (данная таблица заполняется только при новом хешировании)
- Со стороны сервера поправлен возврат параметра fly_xe - разрешение видео
- Добавил x64
Для увеличения активность - открыл доступ анонимам :)
Особенности и идея алгоритма:
* Клиент не меняет протокол.
* Ветка после успешного тестирования будет встроена в r4xx и StrongDC++ sqlite
* Для обмена используется www –сервер и алгоритм обработки пока реализован на C/C++
* База данных – sqlite (после анализа нагрузки подменю на другую – cassandra?)
* Модель хранения данных очень простая
- Мастер таблица TTH+size + счетчики популярности, фейков и т.д.
- Дочерняя таблица в модели EAV для сохранения дополнительной атрибутной информации.
* У каждого клиента информация о характеристиках медиа-файла будет храниться локально в дополнительной базе данных FlylinkDC_mediainfo.sqlite. В результате использования функции поиска «постепенно» передаваться на хранение в облако. Одновременно с этим клиент будет запрашивать у облака информацию о файлах, которые попадаю под критерии поиска и в случае успешности - получать результат и визуализировать его.
* После регистрации нового TTH на сервере, фоновый процесс будем дополнять объект признаками
- Ссылки на dcmagnets.ru и другие порталы
- Рейтинги этого объекта на указанных порталах и т.д.
* После анализа нагрузки планируется попробовать работу без www - прослойки на чистых сокетах. (для серверной части пока тестировал libevent – может что-то еще посоветуете?)