Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Алгоритмы > Социальные сети: Получение списка друзей друзей


Автор: Royan 24.2.2012, 03:23
В контексте социальных сетей: Какие есть варианты алгоритма получения списка друзей, друзей пользователя? Понятно, что просто список друзей можно получить по принципу ключ-список индетификаторов. В случае когда нужно получить более обширный список этот вариант не эффективен, т.к. в цикле обходить, например, 100 контактов пользователя и состовлять огромный список слишком медленно. 

Какие есть варианты?

В linkedin и других сетях такой алгоритм реализован с целью рекомендаций людей, которых вы возможно знаете через тех кто уже с вами связан напрямую.

Автор: Lipetsk 24.2.2012, 10:35
Лучший вариант, это реализовать эту возможность в самой сети

Иначе нужно заводить сервер, который будет постоянно сканировать соц. сеть, собирая информацию о друзьях. Тогда он сможет быстро выбрать нужную вам информацию

Автор: Royan 25.2.2012, 23:46
Цитата(Lipetsk @  24.2.2012,  07:35 Найти цитируемый пост)
Лучший вариант, это реализовать эту возможность в самой сети

Вот я и пытаюсь выяснить какие есть способы это сделать? Не самый тривиальный но довольно простой способ, который я вижу - это распаралелить вышеописанный процесс через Map/Reduce по принципу: замапить всех текущих друзей-друзей на id пользователя (получиться большой список с дубликатами), а потом сделать reduce этого списка по id каждого друга друга, например через HashSet. И такая процедура должна гоняться ежедневно или даже чаще.

Автор: Lipetsk 26.2.2012, 19:52
все, что нужно -- обычный древовидный запрос

Автор: proftpd 29.2.2012, 03:08
Модератор: Сообщение скрыто.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)