Автор работы: Пользователь скрыл имя, 16 Июня 2014 в 19:24, дипломная работа
Целью данной работы является изучение самых распространенных поисковых систем и программам, применяемых в организации поиска и обмена информацией в интернете.
Объектом исследования в работе является рассмотрение общих принципов организации обмена и поиска информации в сети интернет.
1.4 Обмен информацией в Интернете
Обмен информации в глобальной сети - это передача файлов, сообщений на расстоянии. Начиная от общения в социальных сетях и заканчивая скачиванием фильмов, музыки и игр из интернета. Все компьютеры, участвующие в передаче данных, используют единый протокол коммуникации TCP/IP. TCP/IP - аббревиатура термина Transmission Control Protocol/Internet Protocol (Протокол управления передачей/Интернет Протокол) - это согласованный заранее стандарт, служащий для обмена данных между двумя узлами (компьютерами в сети), причём неважно, на какой платформе эти компьютеры и какая между ними сеть. TCP/IP служит как мост, соединяющий все узлы сети воедино, за это TCP/IP и завоевал свою популярность.
Название "TCP/IP" связано с двумя протоколами: TCP и IP. Протокол IP- Internet Protocol, на него возложена важная задача - маршрутизация. Протокол IP обеспечивает доставку данных по каналам(маршрутам) к адресату, то есть отвечает за доставку данных из пункта А в пункт В. Но сам IP является дейтограмным протоколом, а значит, он не гарантирует, что посланные по нему данные придут к получателю полностью и без искажений, а такое часто происходит из-за помех на канале связи. Надёжность передачи данных по IP протоколу обеспечивают протоколы более высокого уровня.- Transmission Control Protocol занимается передачей больших объёмов данных по сети с помощью IP-протокола, разделяя их по частям и вновь собирая воедино в конце маршрута. При отправке с помощью TCP/IP данные кодируются и делятся на TCP-пакеты (сегменты) так, чтобы потом была возможность восстановить их при распаковке в случае их повреждения. Существуют целые науки о таком кодировании. Простым же примером обеспечения безопасности TCP-пакета является проверка на чётность (для чего к каждому байту добавляется ещё по одному биту) и хранение контрольной суммы в заголовке TCP-пакета. При помещении данных в TCP-конверт вычисляется контрольная сумма, которая записывается в TCP-заголовок. Если при приеме заново вычисленная сумма не совпадает с той, что указана на конверте, значит, при передаче данные были утеряны или искажены, поэтому протокол требует пересылку этого пакета заново. Таким образом, для работы по этому протоколу TCP модули должны быть установлены и у адресата, и у отправителя такого пакета.
В большинстве случаев TCP-пакет пересылается в одной IP-дейтограмме. Но бывает, что TCP разбивает сегмент на несколько дейтограмм. Иными словами, TCP не сохраняет во время передачи границы записей, но по прибытию данные будут собраны воедино в правильной последовательности, требует от получателя подтверждения прихода данных. Протокол TCP использует ожидания (таймауты) и повторные передачи для обеспечения надежной доставки. Отправителю разрешается передавать некоторое количество данных, не дожидаясь подтверждения приема ранее отправленных данных. Таким образом, между отправленными и подтвержденными данными существует "окно" уже отправленных, но ещё не подтвержденных данных. Количество байт, которое можно передавать без подтверждения, называется размером окна этот размер устанавливается в стартовых файлах ПО. TCP является двунаправленным протоколом, и данные могут передаваться по нему в двух направлениях одновременно, за счёт этого подтверждения принятия данных идут вместе с данными, идущими в этот момент в противоположном направлении. Такие возможности TCP даются не просто так. Его реализация требует немалой производительности от машины и большой пропускной способности сети.
Таким образом, протокол TCP обеспечивает гарантированную доставку с установлением логического соединения в виде байтовых потоков. Этот протокол освобождает прикладные процессы от необходимости использовать ожидания и повторные передачи для обеспечения надежности. Наиболее типичными прикладными процессами, использующими TCP, являются ftp и telnet. Кроме того, TCP использует система X-Windows. Однако бывают случаи, когда нам не столь нужна точность информации, сколь скорость передачи. Например, при передаче мультимедийных данных. В таких случаях применяют другой протокол передачи данных. Datagram Protocol - протокол пользовательских дейтаграмм. UDP приходит на смену TCP, когда пользователей не заботит точность передаваемых данных. Этот протокол реализует дейтаграммный метод передачи данных. Дейтаграмма - это пакет, передаваемый через сеть независимо от других пакетов без установления логического соединения и подтверждения приема. Дейтограмма сама содержит в себе все нужные данные для доставки.
В отличие от TCP, UDP не требует установки соединения и при передаче не делит свои дейтограммы на части. Схема без установления соединения привлекательна также тем, что позволяет при передаче данных от исходного источника к большому числу приемников минимизировать общий трафик. Использование точек разветвления поможет сократить исходящий от передатчика трафик для передачи данных N машинам в N раз! Таким образом, мультикастинговая передача с помощью UDP более практична, чем с TCP.
На практике UDР находит применение при транслировании мультимедийных данных, а также, например, в SNMP (Simple Network Management Protocol - простой протокол управления сетями) и многих других программах.
Альтернатива TCP - UDP - позволяет программисту гибко и рационально использовать предоставленные ресурсы, исходя из своих возможностей и потребностей. Именно для этого и служит TCP/IP. Входящие в его состав протоколы предоставляют широкие возможности настройки сети с помощью IP-протокола.
1.4.1 Обмен информацией в социальных сетях
За словосочетанием «социальная сеть» скрывается достаточно широкий круг, довольно сильно отличающихся друг от друга сайтов. В первую очередь, это сайты, разработанные с целью познакомить и собрать людей с общими интересами, дать им возможность общаться на различные темы, выкладывать и обсуждать фото и видео, добавлять друг друга в друзья или недруги, загружать и слушать музыку и так далее. Существует большое количество социальных сетей, но самые посещаемые это Twitter, Facebook, Myspace, Одноклассники и ВКонтакте. Одним из плюсов социальных сетей, является возможность найти давно потерянных друзей, родственников. В последние 10 лет произошел самый настоящий бум этих самых социальных сетей. Началось все, как обычно бывает, на Западе, в первую очередь потому, что там количество граждан online все ближе и ближе подползает к 100%. Конечно, «онлайн» все по-разному, кто-то только почту проверяет и погоду смотрит, но, тем не менее, так или иначе, с интернетом знакомо подавляющие большинство. И вот сейчас этот бум перебросился на Россию.com
Первым действительно популярным
сайтом стал культовый myspace.com <http://myspace.com/>,
основная аудитория которого в Америке.
Фактически сайт представляет собой огромное
количество анкет, в которых указаны интересы,
небольшие биографии, фотографии и прочее,
прочее. По большому счету сайт используется
для двух основных целей: знакомств (совершенно
разного характера) и раскрутки. Сотни
музыкальных групп начинали именно оттуда.
Сейчас сайт напоминает скорее свалку,
за рекламой никто всерьез не следит, сервер
периодически не отвечает. Но Myspace были
первыми и теперь имеют миллионы пользователей
- (от англ. tweet - «щебетать», «болтать»)
это бесплатный социальный сервис микроблоггинга,
по сути, в чем-то напоминает социальную
сеть <http://inet-earn.ru/
В твиттере есть возможность следовать за другими людьми (набирать друзей). Люди, которые читают чужие микропосты называются фолловеры - followers.
С помощью Твитера можно узнать различную информацию (в постах) от друзей (фолловеров), общаться с ними, обмениваться ссылками на полезные и интересные ресурсы. Вести классический блог, кратко делясь новостями и ссылками с желающими. Использовать как «групповую аську», когда каждый твит мгновенно отправляется ко всем знакомым. В Твиттере можно отвечать на публикации других людей. Чтобы ответить другому человеку на его сообщение, нужно начать ответ со знака @, после которого написать никнейм того человека, которому пользователь отвечает. Еще плюсом является то что, с главной страницы аккаунта можно поставить ссылку на свой сайт. Ссылки эти индексируются поисковиками, например Яндексом.
Для успешного использования Твиттера необходимо понять, что Твиттер - это не блог, а скорее средство общения и получения новой информации. Пользователь может познакомиться с помощью Твиттера со многими интересными людьми, знакомство с которыми в других обстоятельствах могло бы и не произойти. Потому что для общения в Твиттере не нужно добавлять друг друга в друзья или в лист контактов. Даже если человек не подписан на обновления отправителя, общение можно завязать с помощью знака @- крупнейшая социальная сеть в мире, основанная в 2004 году, это средство объединения людей и выявлять связи между пользователями сайта - его главная задача. Понятно, что такая деятельность невозможна без правдивой и более-менее полной информации, которую каждый пользователь Facebook сообщает о себе.позволяет создать профиль с фотографией и информацией о себе, приглашать друзей, обмениваться с ними сообщениями, изменять свой статус, оставлять сообщения на своей и чужой «стенах», загружать фотографии и видеозаписи, создавать группы (сообщества по интересам).
Профиль Facebook <http://www.facebook.
Основную часть занимает лента новостей, на которой автоматически появляются записи, сделанные пользователем и его друзьями. Соответственно записи хозяина страницы мгновенно появляются в лентах новостей.
Благодаря этому пользователь всегда может быть в курсе событий, которые происходят у друзей, и следить за их новостями и новостями их друзей.
Создав, таким образом, свой виртуальный мир, пользователь может с помощью различных функций и приложений Facebook сделать его безопастным и удобным. Таким образом, Facebook можно использовать как средство достижения определенных целей и как возможность общаться с дузьями.
В Контакте
В 2006 году стал функционировать сайт ВКонтакте. Это крупнейшая в Рунете социальная сеть, второй по популярности сайт на территории Белоруссии, третий на Украине, шестой в Казахстане. ВКонтакте похожа на Facebook, но в архитектуре есть различия.
Генерация страниц с новостями (микроблоги) происходит очень похожим образом с Facebook , основное отличие - использование собственной СУБД вместо MySQL.
При балансировке нагрузки используются:
Взвешенный round robin внутри системы
Разные сервера для разных типов запросов
Балансировка на уровне ДНС на 32 IP-адреса
Большая часть внутреннего софта написано самостоятельно, в том числе собственная СУБД, мониторинг с уведомлением по СМС, автоматическая система тестирования кода, анализаторы статистики и логов.
Мощные сервера:
ядерные процессоры Intel
Гб оперативной памяти
жестких дисков
Сейчас проект расположен в 4 датацентрах в Санкт-Петербурге и Москве, причем вся основная база данных располагается в одном датацентре в Санкт-Петербурге, в Московских датацентрах только аудио и видео.
Аудио и видео являются побочными для социальной сети, на них особо не фокусируются. В основном это связанно с тем, что они редко коррелируют с основной целью использования социальной сети - общением, а также создают большое количество проблем: видеотраффик - основная статья расходов проекта, плюс всем известные проблемы с нелегальным контентом и претензиями правообладателей. Медиа-файлы банятся по хэшу при удалении по просьбе правообладателей, но это неэффективно и планируется усовершенствовать этот механизм.
-1500 серверов используется для перекодирования видео, на них же оно и хранится.
Как известно, некоторое время назад появилась возможность общаться Вконтакте через протокол Jabber (XMPP). Протокол совершенно открытый и существует масса реализаций.
В целом Вконтакте развивается в сторону увеличения скорости распространения информацию внутри сети.
Одноклассники
Запуск социальной сети Одноклассники состоялся в марте 2006. Сайт предназначен для поиска одноклассников и старых друзей, сервис схож с предыдущими социальными сетями, но предназначен для зрелой аудитории и этим отличается от ВКонтакте.
Основные возможности проекта Odnoklassniki.ru:
Поиск всех своих одноклассников, родственников, старых друзей, подруг и коллег, знакомства с новыми людьми.
Удобные механизмы для общения и переписки.
Большое количество фотографий, возможность просматривать фотографии других пользователей и загружать свои.
Код проекта написан на Java. Java был выбран, так как является удобным языком для разработки и доступно множество наработок в различных сферах.
Архитектура проекта имеет традиционную многоуровневую структуру:
Презентационный уровень.
Используется собственный фреймворк, позволяющий строить композицию страниц на языке Jаvа, с использованием собственные GUI фабрик (для оформления текста, списков, таблиц).
Уровень бизнес-логики.
На уровне бизнес логики располагаются около 25 типов серверов и компонентов, общающихся между собой через удаленные интерфейсы. Каждую секунду происходит около 3 миллионов удаленных запросов между этими модулями.
Сервера на уровне бизнес логики разбиты на группы. Каждая группа обрабатывает различные события. Есть механизм маршрутизации событий, то есть любое событие или группу событий можно выделить и направить на обработку на определенную группу серверов.
Уровень кэширования.
Для кэширования данных используется самописный модуль odnoklassniki-cache. Модуль предоставляет возможность хранения данных в памяти средствами Java Unsafe. Кэшируются все данные, к которым происходит частое обращение, например: профили пользователей, списки участников сообществ, информация о самих сообществах, граф связей пользователей и групп, праздники, мета информация о фотографиях и многое другое.
Уровень баз данных.
Суммарный объем данных без резервирования составляет 160Тб. Данные хранятся в нескольких копиях, в зависимости от их типа от двух до четырех. Полное резервное копирование всех данных осуществляется раз в сутки, плюс каждые 15 минут делаются резервные копии новых данных.
Информация о работе Общие принципы организации поиска и обмена информацией в сети интернет