СПОСОБ И СИСТЕМА ПЕРЕДАЧИ ИНФОРМАЦИИ В СОЦИАЛЬНОЙ СЕТИ
METHOD AND SYSTEM TO TRANSFER INFORMATION IN SOCIAL NETWORK

Область изобретения
Изобретение относится к компьютерным технологиям, в частности к способу и системе передачи информации в социальной сети.
Предпосылки к созданию изобретения
В существующей сети Интернет социальная сеть, сформированная онлайновыми сетевыми пользователями, включает не только отношения между отдельными пользователями, но и отношения "один ко многим", "многие ко многим". Социальная сеть включает онлайновых пользователей и их реляционные сети. Социальной сети свойственно наличие большого количества пользователей и большого объема реляционных данных. Следовательно, осуществление экономичной и эффективной передачи информации среди большого количества пользователей социальной сети (например, для пропаганды и продвижения общественно полезных мероприятий среди сетевых пользователей) является проблемой, требующей решения. При использовании известной технологии, передача информации для пропаганды и продвижения общественно полезных мероприятий среди сетевых пользователей носит случайный характер. Очевидно, что распространение и продвижение информации к произвольно выбранным пользователям в социальной сети характеризуется недостаточной нацеленностью и может требовать больших затрат ресурсов для достижения приемлемого эффекта. Например, если информация должна быть передана одной тысяче пользователей на платформе Мгновенного Обмена Сообщениями МОС (IM), эту одну тысячу пользователей для приема передаваемой информации могут выбрать из десяти тысяч пользователей. Если требуемый результат не достигнут, то могут произвольно выбрать еще одну тысячу пользователей для приема информации, что может привести к значительному занятию ресурсов на платформе МОС (IM). Такая же проблема существует и в социальной сети на основе Web 2.0.
Сущность изобретения
При использовании традиционного метода передача информации среди пользователей социальной сети может требовать больших затрат ресурсов. Для решения этой проблемы вариант осуществления настоящего изобретения предоставляет способ передачи информации в социальной сети; данный способ включает:
вычисление пропускной способности передачи информации для полученного пользовательского идентификатора согласно пользовательской информации, соответствующей полученному пользовательскому идентификатору;
сохранение пользовательских идентификаторов, для которых значения пропускной способности передачи превышают заданное пороговое значение, в начальной пользовательской очереди раздачи и
передачу пересылаемой информации клиенту, пользовательский идентификатор которого сохранен в начальной пользовательской очереди раздачи.
Кроме того, вариант осуществления настоящего изобретения предоставляет систему передачи информации в социальной сети; данная система содержит:
вычислительный модуль, предназначенный для вычисления пропускной способности передачи информации для полученного пользовательского идентификатора согласно пользовательской информации, соответствующей полученному пользовательскому идентификатору;
записывающий модуль, предназначенный для сохранения пользовательских идентификаторов, для которых значения пропускной способности передачи превышают заданное пороговое значение, в начальной пользовательской очереди раздачи; и
передающий модуль, предназначенный для передачи пересылаемой информации клиенту, пользовательский идентификатор которого сохранен в начальной пользовательской очереди раздачи.
Далее вариант осуществления настоящего изобретения предоставляет систему передачи информации в социальной сети; эта система содержит:
сервер, предназначенный для вычисления способности передачи информации для полученного пользовательского идентификатора согласно пользовательской информации, соответствующей полученному пользовательскому идентификатору, для сохранения пользовательских идентификаторов, для которых значения пропускной способности передачи превышают заданное пороговое значение, в начальной пользовательской очереди раздачи, для расширения начальной пользовательской очереди раздачи для создания расширенной пользовательской очереди, включающей заданное количество пользовательских идентификаторов, согласно пользовательской реляционной информации, соответствующей пользовательским идентификаторам в начальной пользовательской очереди раздачи, а также для передачи пересылаемой информации клиенту, пользовательский идентификатор которого сохранен в начальной пользовательской очереди раздачи; и
клиент с пользовательским идентификатором, содержащимся в начальной пользовательской очереди раздачи, предназначенный для передачи пересылаемой информации другим клиентам, пользовательские идентификаторы которых включены в расширенную пользовательскую очередь.
Из вышеописанной схемы, предоставляемой в вариантах осуществления настоящего изобретения, можно заметить, что пересылаемая в социальной сети информация передается целевым пользователям, располагающим относительно высокой пропускной способностью передачи, поэтому снижаются затраты на передачу информации среди пользователей.
Краткое описание чертежей
На фиг.1 показана блок-схема, представляющая способ в соответствии с первым вариантом осуществления настоящего изобретения.
На фиг.2 показана блок-схема, представляющая способ в соответствии с первым вариантом осуществления настоящего изобретения.
На фиг.3 показана функциональная схема, представляющая систему в соответствии со вторым вариантом осуществления настоящего изобретения.
На фиг.4 показана функциональная схема, представляющая систему в соответствии с третьим вариантом осуществления настоящего изобретения.
Подробное описание изобретения
Первый вариант осуществления настоящего изобретения предоставляет способ передачи информации в социальной сети; соответствующий процесс показан на фиг.1 и состоит из нижеперечисленных шагов.
Шаг 101: из базы данных пользовательской информации пользователей социальной сети извлекают информацию об уровне активности и пользовательскую реляционную информацию, связанную с пользовательскими идентификаторами (ИД), и сохраняют извлеченную информацию.
Здесь информация об уровне активности может содержать один из следующих элементов информации или несколько таких элементов для индикации уровня активности пользователя в социальной сети: время пребывания пользователя в режиме онлайн, периодичность общения с друзьями, периодичность посещений пространств друзей, периодичность обновления регистрационного пространства и так далее. Сохраненная информация об уровне активности может выглядеть так, как показано в таблице 1.
Таблица 1
Уникальный идентификатор в системе социальной сети
Время пребывания в режиме онлайн
Периодичность общения с друзьями
Периодичность посещений пространств друзей
Периодичность обновления регистрационного пространства
10001
3 часа
30 раз в день
3 раза в день
0,3 раза в день
10002
2 часа
20 раз в день
2 раза в день
0,2 раза в день
Для представления отношений пользователя с другими пользователями в социальной сети используют пользовательскую реляционную информацию, выраженную следующим образом: (ИД1, реляционный тип 1), …, (ИДn, реляционный тип 2). Например, определяют следующие реляционные типы: "друг", "знакомый", "посторонний". Для пользователя А пользователь В является другом, пользователь С является знакомым. Пользователь А один раз посетил блог постороннего пользователя D. В таком случае, как показано в таблице 2, пользовательская реляционная информация пользователя А может быть представлена в следующем виде: (В, друг), (С, знакомый), (D, посторонний).
Таблица 2
Пользовательский идентификатор в системе социальной сети
Пользовательская реляционная информация
10001
(ИД1, реляционный тип 1), …, (ИДn, реляционный тип 2)
10002
(ИД1, реляционный тип 2), …, (ИДn, реляционный тип 1)
Шаг 102: вычисляют пропускную способность передачи для каждого пользовательского идентификатора согласно информации об уровне активности и пользовательской реляционной информации для пользовательского идентификатора, а также сортируют значения пропускной способности передачи в порядке убывания.
n
n
n
n
n
n
1
2
j
Например, компоненту fx уровня активности, соответствующую информации об уровне активности x, получают согласно информации об уровне активности x, соответствующей пользовательскому идентификатору 10001, и согласно коэффициенту f информации об уровне активности x; количественное значение "А (пользовательский ИД)" информации об уровне активности, соответствующей пользовательскому идентификатору, получают путем суммирования всех компонент уровня активности для пользовательского идентификатора; количественное значение "R (пользовательский ИД)" пользовательской реляционной информации для пользовательского идентификатора получают согласно всей пользовательской реляционной информации r, r, …, r, соответствующей пользовательскому идентификатору; значение "Т (пользовательский ИД)" пропускной способности передачи для пользовательского идентификатора получают путем определения взвешенной суммы количественного значения "А (пользовательский ИД)" информации об уровне активности, соответствующей пользовательскому идентификатору, и количественного значения "R (пользовательский ИД)" пользовательской реляционной информации, соответствующей пользовательскому идентификатору.
<mrow><mi>A</mi><mrow><mo>(</mo><mrow><mi>п</mi><mi>о</mi><mi>л</mi><mi>ь</mi><mi>з</mi><mi>о</mi><mi>в</mi><mi>а</mi><mi>т</mi><mi>е</mi><mi>л</mi><mi>ь</mi><mi>с</mi><mi>к</mi><mi>и</mi><mi>й</mi><mtext> ИД</mtext></mrow><mo>)</mo></mrow><mo>=</mo><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mrow><msub><mi>f</mi><mi>n</mi></msub></mrow></mstyle><msub><mi>x</mi><mi>n</mi></msub></mrow>
Значение информации об уровне активности, соответствующей пользовательскому идентификатору, вычисляют следующим образом:
, где "А (пользовательский ИД)" является количественным значением информации об уровне активности, соответствующей пользовательскому идентификатору.
n
n
<mrow><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mrow><msub><mi>f</mi><mi>n</mi></msub><mo>=</mo><mn>1</mn></mrow></mstyle></mrow>
Здесь N обозначает общее количество информации об уровне активности, соответствующей пользовательскому идентификатору, x обозначает информацию об уровне активности, соответствующую пользовательскому идентификатору, f обозначает коэффициент информации об уровне активности, соответствующей пользовательскому идентификатору, причем
.
<mrow><mi>R</mi><mrow><mo>(</mo><mrow><mi>п</mi><mi>о</mi><mi>л</mi><mi>ь</mi><mi>з</mi><mi>о</mi><mi>в</mi><mi>а</mi><mi>т</mi><mi>е</mi><mi>л</mi><mi>ь</mi><mi>с</mi><mi>к</mi><mi>и</mi><mi>й</mi><mtext> ИД</mtext></mrow><mo>)</mo></mrow><mo>=</mo><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><mrow><msub><mi>r</mi><mi>j</mi></msub></mrow></mstyle></mrow>
j
Значение пользовательской реляционной информации, соответствующей пользовательскому идентификатору, вычисляют следующим образом:
, где М является общим количеством реляционных типов, включенных в пользовательскую реляционную информацию для пользовательского идентификатора, "R (пользовательский ИД)" является количественным значением пользовательской реляционной информации, соответствующей пользовательскому идентификатору, r является количественным значением реляционного типа, включенного в пользовательскую реляционную информацию, соответствующую пользовательскому идентификатору.
Значение пропускной способности передачи, соответствующее пользовательскому идентификатору, вычисляют путем определения взвешенной суммы значений "А (пользовательский ИД)" и "R (пользовательский ИД)" следующим образом: Т(пользовательский ИД)=А(пользовательский ИД)*f+R(пользовательский ИД)*(1-f), где "Т (пользовательский ИД)" является пропускной способностью передачи, соответствующей пользовательскому идентификатору, и f является весовым коэффициентом.
Шаг 103: выбирают заданную процентную долю пользовательских идентификаторов согласно результату сортировки значений пропускной способности передачи в порядке убывания и сохраняют выбранные пользовательские идентификаторы в начальной пользовательской очереди раздачи.
Разумеется, когда выбирают заданную процентную долю пользовательских идентификаторов согласно соответствующим значениям пропускной способности передачи, ранжированным в порядке убывания, фактически необходимо выбрать такие пользовательские идентификаторы, значения пропускной способности передачи для которых превышают заданное пороговое значение, причем это пороговое значение может быть установлено так, чтобы оно соответствовало процентной доле выбираемых пользовательских идентификаторов. Допустим, существует 10000 пользовательских идентификаторов, ранжированных согласно соответствующим значениям пропускной способности передачи в порядке убывания и для добавления в начальную пользовательскую очередь раздачи выбрана заданная процентная доля пользовательских идентификаторов, составляющая, например, 10%. Согласно заданному пороговому значению выбирают верхнюю тысячу пользовательских идентификаторов, причем заданное пороговое значение должно быть меньше, чем пропускная способность передачи, соответствующая 1000-му пользовательскому идентификатору, но больше, чем пропускная способность передачи, соответствующая 1001-му пользовательскому идентификатору. В одном из примеров начальная пользовательская очередь раздачи может содержать два пользовательских идентификатора, в частности 10001 и 10002, а пользовательская реляционная информация, соответствующая идентификатору 10001, может содержать "(10002, реляционный тип 1)" или не содержать 10002. Подобным же образом, пользовательская реляционная информация, соответствующая идентификатору 10002, может содержать "(10001, реляционный тип 1)" или не содержать 10001.
Шаг 104: если между какими-либо двумя пользовательскими идентификаторами существует реляционная цепочка в начальной пользовательской очереди раздачи, то пользовательский идентификатор из этой реляционной цепочки также помещают в начальную пользовательскую очередь раздачи.
Например, в начальной пользовательской очереди раздачи пользовательская реляционная информация, соответствующая пользовательскому идентификатору 10001, содержит "(10003, реляционный тип 1)" и пользовательская реляционная информация, соответствующая пользовательскому идентификатору 10002, содержит "(10003, реляционный тип 2)". В этом случае существует реляционная цепочка между пользовательским идентификатором 10001 и пользовательским идентификатором 10002, то есть цепочка 10001-10003-10002, и пользовательский идентификатор 10003 из реляционной цепочки, ранее не включенный в начальную пользовательскую очередь раздачи, может быть добавлен в начальную пользовательскую очередь раздачи. То есть пользовательские идентификаторы 10001 и 10002 являются двумя пользовательскими идентификаторами, которым соответствует пропускная способность передачи, превышающая заданное пороговое значение, и реляционная цепочка, сформированная из соответствующей этим идентификаторам пользовательской реляционной информации, содержит, по крайней мере, один другой пользовательский идентификатор, например 10003, причем пользовательский идентификатор 10003 не входит в число выбранных пользовательских идентификаторов, которым соответствует пропускная способность передачи, превышающая заданное пороговое значение. В этом случае пользовательский идентификатор 10003 также сохраняют в начальной пользовательской очереди раздачи. Подобным же образом, если пользовательская реляционная информация, соответствующая содержащемуся в начальной пользовательской очереди раздачи пользовательскому идентификатору 10001, содержит "(10003, реляционный тип 1)", пользовательская реляционная информация, соответствующая не содержащемуся в начальной пользовательской очереди раздачи пользовательскому идентификатору 10003, содержит "(10004, реляционный тип 1)" и пользовательская реляционная информация, соответствующая пользовательскому идентификатору 10002, содержит "(10004, реляционный тип 2)", то между пользовательскими идентификаторами 10001 и 10002 существует реляционная цепочка 10001-10003-10004-10002. Следовательно, пользовательские идентификаторы 10003 и 10004 из реляционной цепочки, ранее не включенные в начальную пользовательскую очередь раздачи, добавляют в начальную пользовательскую очередь раздачи. Добавление пользовательского идентификатора 10003 в начальную пользовательскую очередь раздачи повышает эффективность последующей передачи пересылаемой информации из расширенной пользовательской очереди, сформированной из начальной пользовательской очереди раздачи.
Шаг 105: выполняют расширение начальной пользовательской очереди раздачи, используя реляционную цепочку для наращивания очереди и формирования расширенной пользовательской очереди, пока количество пользовательских идентификаторов в расширенной пользовательской очереди не достигнет заданной величины.
Как показано на фиг.2, конкретная реализация шага 105 может включать нижеперечисленные шаги.
Шаг 1051: создают пустую расширенную пользовательскую очередь.
Шаг 1052: удаляют первый пользовательский идентификатор из начальной пользовательской очереди раздачи и добавляют этот идентификатор в расширенную пользовательскую очередь.
Шаг 1053: просматривают всю пользовательскую реляционную информацию, соответствующую первому удаляемому пользовательскому идентификатору, и определяют, существует ли пользовательский идентификатор с наибольшим значением пропускной способности передачи, который пока отсутствует в начальной пользовательской очереди раздачи и расширенной пользовательской очереди, и если таковой идентификатор существует, то переходят к шагу 1055; в противном случае переходят к шагу 1054.
Шаг 1054: проверяют, опустошена ли начальная пользовательская очередь раздачи, и если опустошена, то переходят к шагу 1056 для завершения наращивания; в противном случае выполняют шаг 1055.
Шаг 1055: добавляют пользовательский идентификатор в хвост начальной пользовательской очереди раздачи, затем проверяют, достигла ли расширенная пользовательская очередь заданного размера, и если достигла, то переходят к шагу 1056 для завершения наращивания; в противном случае возвращаются к шагу 1052.
Шаг 1056: прекращают наращивание расширенной пользовательской очереди и сохраняют пользовательские идентификаторы, содержащиеся в расширенной пользовательской очереди, как список группы пользователей социальной сети.
Шаг 1057: передают пересылаемую информацию клиенту с пользовательским идентификатором, содержащимся в начальной пользовательской очереди раздачи, затем этот клиент передает пересылаемую информацию другим клиентам, имеющим пользовательские идентификаторы, внесенные в список группы пользователей. Например, клиент может представлять собой клиентское программное обеспечение, веб-страницу, беспроводной терминал мобильной связи и так далее.
Второй вариант осуществления настоящего изобретения предоставляет систему для передачи информации в социальной сети, показанную на фиг.3; в состав системы входят сервер 10 и клиент 20.
Сервер 10 предназначен для сохранения информации об уровне активности и пользовательской реляционной информации, связанной с пользовательскими идентификаторами и извлекаемой сервером 10 из базы данных пользовательской информации пользователей социальной сети.
Здесь информация об уровне активности может включить: время пребывания пользователя в режиме онлайн, периодичность общения с друзьями, периодичность посещений пространств друзей, периодичность обновления регистрационного пространства и так далее. Сохраненная информация об уровне активности может выглядеть так, как показано в таблице 1.
Таблица 1
Уникальный идентификатор в системе социальной сети
Время пребывания в режиме онлайн
Периодичность общения с друзьями
Периодичность посещений пространств друзей
Периодичность обновления регистрационного пространства
10001
3 часа
30 раз в день
3 раза в день
0,3 раза в день
10002
2 часа
20 раз в день
2 раза в день
0,2 раза в день
Для представления отношений пользователя с другими пользователями в социальной сети используют пользовательскую реляционную информацию, выраженную следующим образом: (ИД1, реляционный тип 1), …, (ИДn, реляционный тип 2). Например, определяют следующие реляционные типы: "друг", "знакомый", "посторонний". Для пользователя А пользователь В является другом, пользователь С является знакомым. Пользователь А один раз посетил блог постороннего пользователя D. В таком случае, как показано в таблице 2, пользовательская реляционная информация пользователя А может быть представлена в следующем виде: (В, друг), (С, знакомый), (D, посторонний).
Таблица 2
Пользовательский идентификатор в системе социальной сети
Пользовательская реляционная информация
10001
(ИД1, реляционный тип 1), …, (ИДn, реляционный тип 2)
10002
(ИД1, реляционный тип 2), …, (ИДn, реляционный тип 1)
Информация об уровне активности и пользовательская реляционная информация могут быть сохранены на сервере 10 в виде, показанном, соответственно, в таблице 1 и таблице 2. Кроме того, информацию могут сохранять и в другом виде в других доступных пространствах памяти сервера 10.
Сервер 10 предназначен для вычисления пропускной способности передачи для каждого пользовательского идентификатора согласно информации об уровне активности и пользовательской реляционной информации для пользовательского идентификатора, а также для сортировки значений пропускной способности передачи в порядке убывания.
n
n
n
n
n
n
1
2
j
Например, компоненту fx уровня активности, соответствующую информации об уровне активности x, получают согласно информации об уровне активности x, соответствующей пользовательскому идентификатору 10001, и согласно коэффициенту f информации об уровне активности x; количественное значение "А (пользовательский ИД)" информации об уровне активности, соответствующей пользовательскому идентификатору, получают путем суммирования всех компонент уровня активности для пользовательского идентификатора; количественное значение "R (пользовательский ИД)" пользовательской реляционной информации для пользовательского идентификатора получают согласно всей пользовательской реляционной информации r, r, …, r, соответствующей пользовательскому идентификатору; значение "Т (пользовательский ИД)" пропускной способности передачи для пользовательского идентификатора получают путем определения взвешенной суммы количественного значения "А (пользовательский ИД)" информации об уровне активности, соответствующей пользовательскому идентификатору, и количественного значения "R (пользовательский ИД)" пользовательской реляционной информации, соответствующей пользовательскому идентификатору.
<mrow><mi>A</mi><mrow><mo>(</mo><mrow><mi>п</mi><mi>о</mi><mi>л</mi><mi>ь</mi><mi>з</mi><mi>о</mi><mi>в</mi><mi>а</mi><mi>т</mi><mi>е</mi><mi>л</mi><mi>ь</mi><mi>с</mi><mi>к</mi><mi>и</mi><mi>й</mi><mtext> ИД</mtext></mrow><mo>)</mo></mrow><mo>=</mo><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mrow><msub><mi>f</mi><mi>n</mi></msub></mrow></mstyle><msub><mi>x</mi><mi>n</mi></msub></mrow>
Значение информации об уровне активности, соответствующей пользовательскому идентификатору, вычисляют следующим образом:
, где "А (пользовательский ИД)" является количественным значением информации об уровне активности, соответствующей пользовательскому идентификатору.
n
n
<mrow><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mrow><msub><mi>f</mi><mi>n</mi></msub><mo>=</mo><mn>1</mn></mrow></mstyle></mrow>
Здесь N обозначает общее количество информации об уровне активности, соответствующей пользовательскому идентификатору, x обозначает информацию об уровне активности, соответствующую пользовательскому идентификатору, f обозначает коэффициент информации об уровне активности, соответствующей пользовательскому идентификатору, причем
.
<mrow><mi>R</mi><mrow><mo>(</mo><mrow><mi>п</mi><mi>о</mi><mi>л</mi><mi>ь</mi><mi>з</mi><mi>о</mi><mi>в</mi><mi>а</mi><mi>т</mi><mi>е</mi><mi>л</mi><mi>ь</mi><mi>с</mi><mi>к</mi><mi>и</mi><mi>й</mi><mtext> ИД</mtext></mrow><mo>)</mo></mrow><mo>=</mo><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><mrow><msub><mi>r</mi><mi>j</mi></msub></mrow></mstyle></mrow>
j
Значение пользовательской реляционной информации, соответствующей пользовательскому идентификатору, вычисляют следующим образом:
, где M является общим количеством реляционных типов, включенных в пользовательскую реляционную информацию для пользовательского идентификатора, "R (пользовательский ИД)" является количественным значением пользовательской реляционной информации, соответствующей пользовательскому идентификатору, r является количественным значением реляционного типа, включенного в пользовательскую реляционную информацию, соответствующую пользовательскому идентификатору.
Значение пропускной способности передачи, соответствующее пользовательскому идентификатору, вычисляют путем определения взвешенной суммы значений "А (пользовательский ИД)" и "R (пользовательский ИД)" следующим образом: Т(пользовательский ИД)=А(пользовательский ИД)*f+R(пользовательский ИД)*(1-f), где "Т (пользовательский ИД)" является пропускной способностью передачи, соответствующей пользовательскому идентификатору, и f является весовым коэффициентом.
Сервер 10 предназначен для выбора заданной процентной доли пользовательских идентификаторов согласно результату сортировки значений пропускной способности передачи в порядке убывания и для сохранения выбранных пользовательских идентификаторов в начальной пользовательской очереди раздачи.
Разумеется, когда выбирают заданную процентную долю пользовательских идентификаторов согласно соответствующим значениям пропускной способности передачи, ранжированным в порядке убывания, фактически необходимо выбрать такие пользовательские идентификаторы, значения пропускной способности передачи для которых превышают заданное пороговое значение, причем это пороговое значение может быть установлено так, чтобы оно соответствовало процентной доле выбираемых пользовательских идентификаторов. Допустим, существует 10000 пользовательских идентификаторов, ранжированных согласно соответствующим значениям пропускной способности передачи в порядке убывания и для добавления в начальную пользовательскую очередь раздачи выбрана заданная процентная доля пользовательских идентификаторов, составляющая, например, 10%. Согласно заданному пороговому значению выбирают верхнюю тысячу пользовательских идентификаторов, причем заданное пороговое значение должно быть меньше, чем пропускная способность передачи, соответствующая 1000-му пользовательскому идентификатору, но больше, чем пропускная способность передачи, соответствующая 1001-му пользовательскому идентификатору.
Сервер 10 предназначен для переноса пользовательского идентификатора из реляционной цепочки в начальную пользовательскую очередь раздачи, когда существует реляционная цепочка между какими-либо двумя пользовательскими идентификаторами в начальной пользовательской очереди раздачи.
Например, в начальной пользовательской очереди раздачи пользовательская реляционная информация, соответствующая пользовательскому идентификатору 10001, содержит "(10003, реляционный тип 1)" и пользовательская реляционная информация, соответствующая пользовательскому идентификатору 10002, содержит "(10003, реляционный тип 2)". В этом случае существует реляционная цепочка между пользовательским идентификатором 10001 и пользовательским идентификатором 10002, то есть цепочка 10001-10003-10002, и пользовательский идентификатор 10003 из реляционной цепочки, ранее не включенный в начальную пользовательскую очередь раздачи, может быть добавлен в начальную пользовательскую очередь раздачи. Подобным же образом, если пользовательская реляционная информация, соответствующая содержащемуся в начальной пользовательской очереди раздачи пользовательскому идентификатору 10001, содержит "(10003, реляционный тип 1)", пользовательская реляционная информация, соответствующая не содержащемуся в начальной пользовательской очереди раздачи пользовательскому идентификатору 10003, содержит "(10004, реляционный тип 1)" и пользовательская реляционная информация, соответствующая пользовательскому идентификатору 10002, содержит "(10004, реляционный тип 2)", то между пользовательскими идентификаторами 10001 и 10002 существует реляционная цепочка 10001-10003-10004-10002. Следовательно, пользовательские идентификаторы 10003 и 10004 из реляционной цепочки, ранее не включенные в начальную пользовательскую очередь раздачи, добавляют в начальную пользовательскую очередь раздачи.
Сервер 10 предназначен для расширения начальной пользовательской очереди раздачи, выполняемого (с использованием реляционной цепочки для наращивания очереди и формирования расширенной пользовательской очереди) до тех пор, пока количество пользовательских идентификаторов в расширенной пользовательской очереди не достигнет заданной величины.
Сервер 10 предназначен для создания пустой расширенной пользовательской очереди. Кроме того, сервер 10 предназначен для удаления пользовательских идентификаторов из начальной пользовательской очереди раздачи согласно ранжированным в порядке убывания значениям пропускной способности передачи для пользовательских идентификаторов. Например, сервер 10 сначала удаляет первый пользовательский идентификатор с наибольшим значением пропускной способности передачи, просматривает всю пользовательскую реляционную информацию, соответствующую первому удаляемому пользовательскому идентификатору, выбирает из всей пользовательской реляционной информации такой пользовательский идентификатор с наибольшей пропускной способностью передачи, который пока отсутствует в начальной пользовательской очереди раздачи, и добавляет этот идентификатор в начальную пользовательскую очередь раздачи, а также добавляет первый пользовательский идентификатор в расширенную пользовательскую очередь. Затем сервер 10 удаляет из начальной пользовательской очереди раздачи второй пользовательский идентификатор со второй по величине пропускной способностью передачи, просматривает всю пользовательскую реляционную информацию второго удаляемого пользовательского идентификатора, выбирает из всей пользовательской реляционной информации такой пользовательский идентификатор с наибольшей пропускной способностью передачи, который пока отсутствует в начальной пользовательской очереди раздачи и расширенной пользовательской очереди. Сервер 10 последовательно удаляет пользовательские идентификаторы из начальной пользовательской очереди раздачи, выбирает новый пользовательский идентификатор из всей пользовательской реляционной информации, соответствующей удаленным пользовательским идентификаторам, добавляет этот идентификатор в начальную пользовательскую очередь раздачи, а также добавляет удаленные пользовательские идентификаторы в расширенную пользовательскую очередь, пока количество пользовательских идентификаторов в расширенной пользовательской очереди не достигнет заданной величины.
Например, пользовательские идентификаторы ранжированы в порядке убывания как 10001, 10002 и 10003 согласно значениям пропускной способности передачи для пользовательских идентификаторов в начальной пользовательской очереди раздачи. Сначала сервер 10 удаляет идентификатор 10001 из начальной пользовательской очереди раздачи и добавляет этот идентификатор в расширенную пользовательскую очередь. Одновременно сервер 10 просматривает всю пользовательскую реляционную информацию, соответствующую идентификатору 10001, выбирает пользовательский идентификатор 10011 и добавляет идентификатор 10011 в хвост начальной пользовательской очереди раздачи. Здесь в число пользовательских идентификаторов-кандидатов входят идентификаторы 20001, 10011 и 10003, причем последовательность пользовательских идентификаторов 10003, 10011 и 20001 ранжирована в порядке убывания значений пропускной способности передачи. Следовательно, в начальную пользовательскую очередь раздачи включены идентификаторы 10002, 10003 и 10011, а в расширенную пользовательскую очередь включен идентификатор 10001.
Далее сервер 10 удаляет идентификатор 10002 из начальной пользовательской очереди раздачи и добавляет этот идентификатор в расширенную пользовательскую очередь. Одновременно сервер 10 просматривает всю пользовательскую реляционную информацию, соответствующую идентификатору 10002, выбирает пользовательский идентификатор 10012 и добавляет идентификатор 10012 в хвост начальной пользовательской очереди раздачи. Здесь в число пользовательских идентификаторов-кандидатов входят идентификаторы 20002, 10012 и 10003, причем последовательность пользовательских идентификаторов 10003, 10012 и 20002 ранжирована в порядке убывания значений пропускной способности передачи. Следовательно, в начальную пользовательскую очередь раздачи включены идентификаторы 10003, 10011 и 10012, а в расширенную пользовательскую очередь включены идентификаторы 10001 и 10002.
Далее сервер 10 удаляет идентификатор 10003 из начальной пользовательской очереди раздачи и добавляет этот идентификатор в расширенную пользовательскую очередь. Одновременно сервер 10 просматривает всю пользовательскую реляционную информацию, соответствующую идентификатору 10003, выбирает пользовательский идентификатор 10013 и добавляет идентификатор 10013 в хвост начальной пользовательской очереди раздачи. Здесь в число пользовательских идентификаторов-кандидатов входят идентификаторы 20003, 10013, 10001 и 10002, причем последовательность пользовательских идентификаторов 10001, 10002, 10013 и 20003 ранжирована в порядке убывания значений пропускной способности передачи. Следовательно, в начальную пользовательскую очередь раздачи включены идентификаторы 10011, 10012 и 10013, а в расширенную пользовательскую очередь включены идентификаторы 10001, 10002 и 10003.
Далее сервер 10 удаляет идентификатор 10011 из начальной пользовательской очереди раздачи и добавляет этот идентификатор в расширенную пользовательскую очередь. Одновременно сервер 10 просматривает всю пользовательскую реляционную информацию, соответствующую идентификатору 10011, и не выбирает ни один пользовательский идентификатор, который может быть добавлен в хвост начальной пользовательской очереди раздачи. Здесь в число пользовательских идентификаторов-кандидатов входят идентификаторы 10001 и 10012, причем идентификатор 10001 помещен в расширенную пользовательскую очередь, а идентификатор 10012 помещен в начальную пользовательскую очередь раздачи. Следовательно, начальную пользовательскую очередь раздачи составляют идентификаторы 10012 и 10013, а расширенную пользовательскую очередь составляют идентификаторы 10001, 10002, 10003 и 10011.
Далее сервер 10 удаляет идентификатор 10012 из начальной пользовательской очереди раздачи и добавляет этот идентификатор в расширенную пользовательскую очередь. Одновременно сервер 10 просматривает всю пользовательскую реляционную информацию, соответствующую идентификатору 10012, выбирает пользовательский идентификатор 10112 и добавляет идентификатор 10112 в хвост начальной пользовательской очереди раздачи. Здесь в число пользовательских идентификаторов-кандидатов входят идентификаторы 20002, 10002 и 10112, причем последовательность пользовательских идентификаторов 10002, 10112 и 20002 ранжирована в порядке убывания значений пропускной способности передачи. Следовательно, начальную пользовательскую очередь раздачи составляют идентификаторы 10013 и 10112, а расширенную пользовательскую очередь составляют идентификаторы 10001, 10002, 10003, 10011 и 10012. Если заданное количество пользовательских идентификаторов в расширенной пользовательской очереди равно 5, то в этот момент времени сервер 10 прекращает наращивание.
Если заданное количество пользовательских идентификаторов в расширенной пользовательской очереди равно 8, то сервер 10 продолжает выполнение операций, то есть удаляет идентификаторы 10013 и 10112 из начальной пользовательской очереди раздачи и, соответственно, добавляет эти идентификаторы в расширенную пользовательскую очередь. Одновременно сервер 10 просматривает всю пользовательскую реляционную информацию, соответствующую идентификаторам 10013 и 10112, но не находит ни один пользовательский идентификатор, который может быть добавлен в хвост начальной пользовательской очереди раздачи. Следовательно, начальная пользовательская очередь раздачи опустошена, а расширенную пользовательскую очередь составляют идентификаторы 10001, 10002, 10003, 10011, 10012, 10013 и 10112. После этого сервер 10 прекращает наращивание.
Вышеприведенное описание соответствует только предпочтительному варианту. В общем, сервер 10 может сформировать расширенную пользовательскую очередь, используя реляционную цепочку для наращивания начальной пользовательской очереди раздачи, выполняемого до тех пор, пока количество пользовательских идентификаторов в расширенной пользовательской очереди не достигнет заданной величины. При формировании расширенной пользовательской очереди на основе начальной пользовательской очереди раздачи, сервер 10 может выполнить нижеперечисленные шаги, используя реляционную цепочку для наращивания очереди.
Шаг 2051: создают пустую расширенную пользовательскую очередь.
Шаг 2052: удаляют первый пользовательский идентификатор из начальной пользовательской очереди раздачи и добавляют этот идентификатор в расширенную пользовательскую очередь.
Шаг 2053: просматривают всю пользовательскую реляционную информацию, соответствующую первому удаляемому пользовательскому идентификатору, и определяют, существует ли пользовательский идентификатор с наибольшим значением пропускной способности передачи, который пока отсутствует в начальной пользовательской очереди раздачи и расширенной пользовательской очереди, и если таковой идентификатор существует, то переходят к шагу 2055; в противном случае переходят к шагу 2054.
Шаг 2054: проверяют, опустошена ли начальная пользовательская очередь раздачи, и если опустошена, то переходят к шагу 2056 для завершения наращивания; в противном случае выполняют шаг 2055.
Шаг 2055: добавляют пользовательский идентификатор в хвост начальной пользовательской очереди раздачи, затем проверяют, достигла ли расширенная пользовательская очередь заданного размера, и если достигла, то переходят к шагу 2056 для завершения наращивания; в противном случае возвращаются к шагу 2052.
Шаг 2056: прекращают наращивание расширенной пользовательской очереди и сохраняют пользовательские идентификаторы, содержащиеся в расширенной пользовательской очереди, как список группы пользователей социальной сети.
Затем сервер 10 передает пересылаемую информацию клиенту, пользовательский идентификатор которого сохранен в начальной пользовательской очереди раздачи.
Клиент 20, пользовательский идентификатор которого сохранен в начальной пользовательской очереди раздачи, принимает пересылаемую информацию и передает пересылаемую информацию другим клиентам, имеющим пользовательские идентификаторы, внесенные в список группы пользователей.
Третий вариант осуществления настоящего изобретения предоставляет систему для передачи информации в социальной сети, показанную на фиг.4; в состав этой системы входят:
вычислительный модуль 201, предназначенный для вычисления пропускной способности передачи информации для полученного пользовательского идентификатора согласно пользовательской информации, соответствующей полученному пользовательскому идентификатору;
записывающий модуль 202, предназначенный для сохранения пользовательских идентификаторов, для которых значения пропускной способности передачи превышают заданное пороговое значение, в начальной пользовательской очереди раздачи; и
передающий модуль 203, предназначенный для передачи пересылаемой информации клиенту, пользовательский идентификатор которого сохранен в начальной пользовательской очереди раздачи.
В частности, вычислительный модуль 201 предназначен для вычисления пропускной способности передачи информации для полученного пользовательского идентификатора согласно информации об уровне активности и пользовательской реляционной информации, соответствующей полученному пользовательскому идентификатору.
Кроме того, система содержит: расширительный модуль 204, предназначенный для расширения начальной пользовательской очереди раздачи для создания расширенной пользовательской очереди, включающей заданное количество пользовательских идентификаторов, согласно пользовательской реляционной информации, соответствующей пользовательским идентификаторам в начальной пользовательской очереди раздачи; распространительный модуль 205, предназначенный для передачи пересылаемой информации клиенту с пользовательским идентификатором, включенным в расширенную пользовательскую очередь, через клиента с пользовательским идентификатором, включенным в начальную пользовательскую очередь раздачи.
Кроме того, вычислительный модуль 201 предназначен для вычисления пропускной способности передачи информации для полученного пользовательского идентификатора согласно времени пребывания пользователя в режиме онлайн, и/или периодичности общения с друзьями, и/или периодичности посещений пространств друзей, и/или периодичности обновления регистрационного пространства, а также согласно пользовательской реляционной информации, соответствующей полученному пользовательскому идентификатору.
<mrow><mi>A</mi><mrow><mo>(</mo><mrow><mi>п</mi><mi>о</mi><mi>л</mi><mi>ь</mi><mi>з</mi><mi>о</mi><mi>в</mi><mi>а</mi><mi>т</mi><mi>е</mi><mi>л</mi><mi>ь</mi><mi>с</mi><mi>к</mi><mi>и</mi><mi>й</mi><mtext> ИД</mtext></mrow><mo>)</mo></mrow><mo>=</mo><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mrow><msub><mi>f</mi><mi>n</mi></msub></mrow></mstyle><msub><mi>x</mi><mi>n</mi></msub></mrow>
Кроме того, вычислительный модуль 201 предназначен для вычисления информации об уровне активности, соответствующей пользовательскому идентификатору; вычисление выполняют следующим образом:
, где "А (пользовательский ИД)" является количественным значением информации об уровне активности, соответствующей пользовательскому идентификатору.
n
n
<mrow><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mrow><msub><mi>f</mi><mi>n</mi></msub><mo>=</mo><mn>1</mn></mrow></mstyle></mrow>
Здесь N обозначает общее количество информации об уровне активности, соответствующей пользовательскому идентификатору, x обозначает информацию об уровне активности, соответствующую пользовательскому идентификатору, f обозначает коэффициент информации об уровне активности, соответствующей пользовательскому идентификатору, причем
.
<mrow><mi>R</mi><mrow><mo>(</mo><mrow><mi>п</mi><mi>о</mi><mi>л</mi><mi>ь</mi><mi>з</mi><mi>о</mi><mi>в</mi><mi>а</mi><mi>т</mi><mi>е</mi><mi>л</mi><mi>ь</mi><mi>с</mi><mi>к</mi><mi>и</mi><mi>й</mi><mtext> ИД</mtext></mrow><mo>)</mo></mrow><mo>=</mo><mstyle displaystyle="true"><munderover><mo>∑</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><mrow><msub><mi>r</mi><mi>j</mi></msub></mrow></mstyle></mrow>
j
Вычислительный модуль 201 также вычисляет значение пользовательской реляционной информации, соответствующей пользовательскому идентификатору, следующим образом:
, где М является общим количеством реляционных типов, включенных в пользовательскую реляционную информацию для пользовательского идентификатора, "R (пользовательский ИД)" является количественным значением пользовательской реляционной информации, соответствующей пользовательскому идентификатору, r является количественным значением реляционного типа, включенного в пользовательскую реляционную информацию, соответствующую пользовательскому идентификатору.
Вычислительный модуль 201 также вычисляет значение пропускной способности передачи, соответствующее пользовательскому идентификатору, путем определения взвешенной суммы значений "А (пользовательский ИД)" и "R (пользовательский ИД)" следующим образом: Т(пользовательский ИД)=А(пользовательский ИД)*f+R(пользовательский ИД)*(1-f), где "Т (пользовательский ИД)" является пропускной способностью передачи, соответствующей пользовательскому идентификатору, и f является весовым коэффициентом.
Кроме того, записывающий модуль 202 предназначен для следующего: в начальную пользовательскую очередь раздачи добавляют другой пользовательский идентификатор, когда определено, что реляционная цепочка, сформированная на основе пользовательской реляционной информации двух пользовательских идентификаторов, которым соответствует пропускная способность передачи, превышающая заданное пороговое значение, также содержит другой пользовательский идентификатор, ранее не включенный в начальную пользовательскую очередь раздачи, причем этот другой пользовательский идентификатор не входит в число уже выбранных пользовательских идентификаторов, которым соответствует пропускная способность передачи, превышающая заданное пороговое значение.
Вычислительный модуль предназначен для следующего: получают компоненту уровня активности, соответствующую информации об уровне активности для пользовательского идентификатора, согласно информации об уровне активности и коэффициенту информации об уровне активности;
вычисляют сумму всех компонент уровня активности, соответствующих пользовательскому идентификатору, для определения количественного значения информации об уровне активности, соответствующей пользовательскому идентификатору;
получают количественное значение пользовательской реляционной информации для пользовательского идентификатора согласно всей пользовательской реляционной информации, соответствующей пользовательскому идентификатору; и
вычисляют взвешенную сумму количественного значения информации об уровне активности, соответствующей пользовательскому идентификатору, и количественного значения пользовательской реляционной информации, соответствующей пользовательскому идентификатору, для определения пропускной способности передачи для пользовательского идентификатора.
Записывающий модуль также предназначен для следующего: в начальной пользовательской очереди раздачи сохраняют пользовательские идентификаторы, для которых значения пропускной способности передачи меньше, чем заданное пороговое значение.
Кроме того, расширительный модуль 204 предназначен для следующего: из начальной пользовательской очереди раздачи удаляют пользовательские идентификаторы в порядке убывания значений пропускной способности передачи для пользовательских идентификаторов; просматривают всю пользовательскую реляционную информацию, соответствующую удаленным пользовательским идентификаторам; выбирают такой пользовательский идентификатор с наибольшим значением пропускной способности передачи, который пока не включен в начальную пользовательскую очередь раздачи и расширенную пользовательскую очередь, и добавляют этот пользовательский идентификатор в начальную пользовательскую очередь раздачи; добавляют удаленные пользовательские идентификаторы в расширенную пользовательскую очередь, пока количество пользовательских идентификаторов в расширенной пользовательской очереди не достигнет заданной величины.
Расширительный модуль также предназначен для следующего: из начальной пользовательской очереди раздачи удаляют пользовательские идентификаторы, выбирают пользовательский идентификатор согласно всей пользовательской реляционной информации, соответствующей удаленным пользовательским идентификаторам, и добавляют пользовательский идентификатор в начальную пользовательскую очередь раздачи, а также добавляют удаленные пользовательские идентификаторы в расширенную пользовательскую очередь.
Очевидно, что специалисты в данной области техники могут вносить различные модификации и изменения в настоящее изобретение в рамках сущности и объема настоящего изобретения. Следовательно, если модификации и изменения настоящего изобретения не выходят за рамки патентной формулы настоящего изобретения и его эквивалентной технологии, то подразумевается, что такие модификации и изменения входят в объем настоящего изобретения.