Технология push pull. Технология Push. Смотреть что такое "Технология Pull" в других словарях

Разное

Работа этого модуля требуется для обеспечения полной функциональности модулей Мобильные приложения , Блоги и Веб-мессенджер .

Модуль использует технологии:

Pull (англ. long-polling, англ. simple pull) - технология сетевой коммуникации, при которой первоначальный запрос данных производится клиентом, а ответ порождается сервером.

Технология Pull - эффективный и экономичный способ для открытого вещания широкому кругу неизвестных потенциальных клиентов. Он наиболее эффективен для клиента, ищущего специфический элемент. Pull-запросы составляют базовую основу сетевых вычислений, когда множество клиентов запрашивают данные с централизованых серверов. Так же, pull широко используется в сети Интернет для HTTP-запросов страниц на web-сайтах.

Противоположностью ей является технология Push.

Push (англ. Push, дословно - «продавливание» или «продвижение»), (также известен как webcasting или netcasting) - один из вариантов распространения контента в Интернете, когда информация поступает от сервера к клиенту на основе ряда параметров, установленных клиентом.

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

Примечание : Если при просмотре ленты у пользователя вместо правильного текста появляются нечитаемые символы, то скорее всего в браузере жестко указана какая-либо кодировка. Необходимо указать автоматический выбор кодировки (Вид > Кодировка > Авто).

Как работает Push and Pull

На серверной стороне поддержка мгновенных сообщений осуществляется модулем NGINX : nginx-push-stream-module. Данный модуль обеспечивает поддержку long-polling соединений с клиентами и доставку опубликованных им сообщений.

Примечание : Bitrix Framework и без модуля nginx-push-stream-module обеспечивает достаточно высокую скорость передачи сообщений: 60 секунд интервал, при наличии сообщений интервал между соединениями уменьшается до 10 секунд.

При открытии страницы клиент ajax-запросом, подключается к своему каналу на одном из портов NGINX: 8893 (http) или 8894 (https). (В случае использования виртуальной машины BitrixVM. При использовании собственной конфигурации сервера администратор волен использовать любые удобные ему порты.) С данного порта NGINX перенаправляет пользователя на внутренний сервер очередей (доступный только по 127.0.0.1:8895), где проверятся наличие канала пользователя и новых сообщений. В случае если в канале нет сообщений, сервер не отдает ответ, а держит соединение в течение 40 сек.

Если в течение этого времени в канал пользователя придет новое сообщение, то сервер отправит его клиенту и закроет соединение. В случае если в канал пользователя не будет новых сообщений в течение 40 секунд, то сервер разорвет соединение и отправит ему заголовок: 304 Not Modified.

После получения ответа сервера и закрытия соединения клиент выполнит повторное подключение к каналу с новой датой последнего изменения.

Сообщения в канал пользователя публикуются посредством вызова соответствующих методов API модуля Push and Pull .

Примечание : Большое значение имеет правильная синхронизация времени сервера с глобальными серверами.

Настройка модуля

При использовании продуктов Bitrix Framework на базе виртуальной машины BitrixVM с v. 5.0 необходимости в настройке модуля нет: всё работает "из коробки". Если проект используется не на штатных средствах установки Bitrix Framework, то необходимо произвести дополнительные настройки.

Примечание : Приведённые ниже образцы настроек даны для примера. Настройку под конкретный проект, при отказе от использования рекомендуемых BitrixVM или BitrixEnvironment, администратор должен произвести самостоятельно.
Внимание! Работа модуля Push and Pull поддерживается только до версии 0.5 nginx-push-stream-module . Более свежии версии не поддерживаются, так как для работы Push and Pull разрабатывается специальное решение от "1С-Битрикс".
  • Соберите NGINX с поддержкой модуля nginx-push-stream-module;

    В качестве примеров можно использовать файлы из нашей виртуальной машины:

    • /etc/nginx/bx/site_enabled/push.conf - настройки push and pull для публикации сообщений, а так же для работы мобильных;
    • /etc/nginx/bx/conf/im_subscrider.conf - настройки для получения сообщений (они подключаются к сайту непосредственно);
    • /etc/nginx/bx/conf/im_settings.conf - количество каналов, объём памяти и т.п..
    Настройка nginx-push-stream-module в версии 0.4.0 (рекомендуется к использованию)
    Настройка nginx-push-stream-module в версии 0.3.4
  • Включите в настройках продукта на странице Настройки > Настройки продукта > Настройки модулей > Push and Pull опцию На сервере установлен модуль nginx-push-stream-module :

    Так же необходимо выбрать версию используемой вами машины. Рекомендуется использовать Виртуальную машину в версии 4.4 и выше, так как в ней используется более совершенная версия модуля nginx-push-stream-module 0.4.0, позволяющая использовать технологию Веб-сокетов и отправление команд.

  • При заполнении поля учтите, что его значение зависит от настройки large_client_header_buffers сервера NGINX. Значение этой настройки в 8 kb соответствует возможности отправить 100 команд. Зависимость этого значения и числа команд - прямо пропорциональная: если нужно отправить, например 200 команд за одно соединение, то в large_client_header_buffers сервера NGINX должно стоять 16 kb.

    Большое число значений поля Максимальное кол-во отправленных команд за одно подключение к серверу нужно при большом среднем числе получателей сообщений. Зависимость от общего числа пользователей корпоративного портала здесь прямая, но пропорциональность устанавливать надо опытным путём конкретно для вашего случая. Если технические возможности позволяют, то можно не рассчитывать пропорциональность, а установить значение поля "с запасом": на 150 пользователей портала использовать 100 команд, на 300 - 200 команд и так далее.

  • При необходимости перенастройте шаблоны путей. Домен в адресе для чтения сообщений можно указать #DOMAIN# : такая нотация будет автоматически заменяться под нужный домен для многодоменных конфигураций. Примечание : Если используется Виртуальная машина, либо настройка nginx-push-stream-module производилась по аналогии с BitrixEnvironment , то изменения путей не требуется.
  • При использовании мобильных устройств включите поле Отправлять PUSH уведомления на мобильные телефоны .
  • Если в системе несколько активных сайтов, то есть возможность выбрать на каких сайтах модуль не будет работать.
Примечание : С версии 14.1.2 добавлена поддержка WebSocket, для активации опции необходима поддержка опции на "Сервере очередей".

Когда данные поступают от поставщика к пользователю на основе установленных параметров. Пользователь же в свою очередь либо отвергает, либо принимает данные.

Обычный пользователь может подписаться на различные темы, информацию от сервис-провайдера , и каждый раз, когда новое обновление формируется на сервере, это обновление доставляется на компьютер пользователя. Противоположностью Push-технологии является технология Pull , где запрос инициирует клиентское программное обеспечение.

Push-технологии приобрели известность благодаря продукту PointCast , популярному в 1990-е годы. Сеть PointCast занималась доставкой новостей и данных фондового рынка , содержала агрегатор с собственным форматом, отдалённо напоминавшим телевидение, с текстом и рисунками, вместо видео. Влияние СМИ было значительным, так что Netscape и Microsoft в разгар браузерной войны решили включить эту технологию в свои браузеры Netscape Navigator и Internet Explorer соответственно. Однако в большинстве случаев пользователи имели низкую скорость подключения , поэтому популярность сервиса была низкой, а позже сошла на нет, вытесненная pull-технологией RSS в начале 2000-х годов.

Принцип работы для современных ОС

Для работы push-уведомлений используется четыре компонента :

Предварительно разработчик приложения регистрирует свой сервер на сервере уведомлений ОС.

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

Когда сервер автора приложения должен будет отправить уведомления клиентам, он формирует само сообщение и список (может состоять из одного) уникальных идентификаторов и отправляет эти данные с помощью специального API на сервер уведомлений. Сервер уведомлений пересылает эти сообщения клиентам. Клиенты в праве как отбросить, так и принять эти данные.

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

Применение

Самое известное использование Push - рассылка сообщений по подписке , например, информационных бюллетеней, доставляемых по электронной почте . Подобная система используется в судах в США, которые отправляют на электронную почту подписчиков требуемую информацию о процессах.

Типичными примерами push-сервисов являются

  • Синхронные конференции и системы обмена мгновенными сообщениями (IRC , XMPP).
  • Система информеров (автоматически обновляющийся блок контента от поставщика, устанавливаемый на сайте пользователя)
  • SMTP -системы электронной почты также относятся к push-системам.

Push-запросы могут быть смоделированы и с помощью регулярных pull-запросов , как это происходит, например, при извлечении сообщений электронной почты с сервера POP3 , когда почтовый клиент делает запросы каждые несколько минут.

Также существуют специальные сайты, позволяющие автоматизировать процесс отправки push-уведомлений, например, Panaur , Pushwoosh , Push"Em

См. также

  • Android Cloud to Device Messaging Service (англ.)

Напишите отзыв о статье "Технология Push"

Примечания

Ссылки

  • , W3C Draft

Отрывок, характеризующий Технология Push

Горячие губы прижались к ее губам и в ту же минуту она почувствовала себя опять свободною, и в комнате послышался шум шагов и платья Элен. Наташа оглянулась на Элен, потом, красная и дрожащая, взглянула на него испуганно вопросительно и пошла к двери.
– Un mot, un seul, au nom de Dieu, [Одно слово, только одно, ради Бога,] – говорил Анатоль.
Она остановилась. Ей так нужно было, чтобы он сказал это слово, которое бы объяснило ей то, что случилось и на которое она бы ему ответила.
– Nathalie, un mot, un seul, – всё повторял он, видимо не зная, что сказать и повторял его до тех пор, пока к ним подошла Элен.
Элен вместе с Наташей опять вышла в гостиную. Не оставшись ужинать, Ростовы уехали.
Вернувшись домой, Наташа не спала всю ночь: ее мучил неразрешимый вопрос, кого она любила, Анатоля или князя Андрея. Князя Андрея она любила – она помнила ясно, как сильно она любила его. Но Анатоля она любила тоже, это было несомненно. «Иначе, разве бы всё это могло быть?» думала она. «Ежели я могла после этого, прощаясь с ним, улыбкой ответить на его улыбку, ежели я могла допустить до этого, то значит, что я с первой минуты полюбила его. Значит, он добр, благороден и прекрасен, и нельзя было не полюбить его. Что же мне делать, когда я люблю его и люблю другого?» говорила она себе, не находя ответов на эти страшные вопросы.

Пришло утро с его заботами и суетой. Все встали, задвигались, заговорили, опять пришли модистки, опять вышла Марья Дмитриевна и позвали к чаю. Наташа широко раскрытыми глазами, как будто она хотела перехватить всякий устремленный на нее взгляд, беспокойно оглядывалась на всех и старалась казаться такою же, какою она была всегда.
После завтрака Марья Дмитриевна (это было лучшее время ее), сев на свое кресло, подозвала к себе Наташу и старого графа.
– Ну с, друзья мои, теперь я всё дело обдумала и вот вам мой совет, – начала она. – Вчера, как вы знаете, была я у князя Николая; ну с и поговорила с ним…. Он кричать вздумал. Да меня не перекричишь! Я всё ему выпела!
– Да что же он? – спросил граф.
– Он то что? сумасброд… слышать не хочет; ну, да что говорить, и так мы бедную девочку измучили, – сказала Марья Дмитриевна. – А совет мой вам, чтобы дела покончить и ехать домой, в Отрадное… и там ждать…
– Ах, нет! – вскрикнула Наташа.
– Нет, ехать, – сказала Марья Дмитриевна. – И там ждать. – Если жених теперь сюда приедет – без ссоры не обойдется, а он тут один на один с стариком всё переговорит и потом к вам приедет.
Илья Андреич одобрил это предложение, тотчас поняв всю разумность его. Ежели старик смягчится, то тем лучше будет приехать к нему в Москву или Лысые Горы, уже после; если нет, то венчаться против его воли можно будет только в Отрадном.
– И истинная правда, – сказал он. – Я и жалею, что к нему ездил и ее возил, – сказал старый граф.
– Нет, чего ж жалеть? Бывши здесь, нельзя было не сделать почтения. Ну, а не хочет, его дело, – сказала Марья Дмитриевна, что то отыскивая в ридикюле. – Да и приданое готово, чего вам еще ждать; а что не готово, я вам перешлю. Хоть и жалко мне вас, а лучше с Богом поезжайте. – Найдя в ридикюле то, что она искала, она передала Наташе. Это было письмо от княжны Марьи. – Тебе пишет. Как мучается, бедняжка! Она боится, чтобы ты не подумала, что она тебя не любит.
– Да она и не любит меня, – сказала Наташа.
– Вздор, не говори, – крикнула Марья Дмитриевна.
– Никому не поверю; я знаю, что не любит, – смело сказала Наташа, взяв письмо, и в лице ее выразилась сухая и злобная решительность, заставившая Марью Дмитриевну пристальнее посмотреть на нее и нахмуриться.
– Ты, матушка, так не отвечай, – сказала она. – Что я говорю, то правда. Напиши ответ.
Наташа не отвечала и пошла в свою комнату читать письмо княжны Марьи.
Княжна Марья писала, что она была в отчаянии от происшедшего между ними недоразумения. Какие бы ни были чувства ее отца, писала княжна Марья, она просила Наташу верить, что она не могла не любить ее как ту, которую выбрал ее брат, для счастия которого она всем готова была пожертвовать.
«Впрочем, писала она, не думайте, чтобы отец мой был дурно расположен к вам. Он больной и старый человек, которого надо извинять; но он добр, великодушен и будет любить ту, которая сделает счастье его сына». Княжна Марья просила далее, чтобы Наташа назначила время, когда она может опять увидеться с ней.
Прочтя письмо, Наташа села к письменному столу, чтобы написать ответ: «Chere princesse», [Дорогая княжна,] быстро, механически написала она и остановилась. «Что ж дальше могла написать она после всего того, что было вчера? Да, да, всё это было, и теперь уж всё другое», думала она, сидя над начатым письмом. «Надо отказать ему? Неужели надо? Это ужасно!»… И чтоб не думать этих страшных мыслей, она пошла к Соне и с ней вместе стала разбирать узоры.
После обеда Наташа ушла в свою комнату, и опять взяла письмо княжны Марьи. – «Неужели всё уже кончено? подумала она. Неужели так скоро всё это случилось и уничтожило всё прежнее»! Она во всей прежней силе вспоминала свою любовь к князю Андрею и вместе с тем чувствовала, что любила Курагина. Она живо представляла себя женою князя Андрея, представляла себе столько раз повторенную ее воображением картину счастия с ним и вместе с тем, разгораясь от волнения, представляла себе все подробности своего вчерашнего свидания с Анатолем.

Недавно лоббисты ГМО пытались убедить африканские страны принять генетически модифицированную Bt-кукурузу, чтобы бороться с кукурузной гусеницей (гусеницей кукурузной листовой совки), которая распространяется по всему континенту и опустошает поля с кукурузой. Но лоббисты не указали, что Bt-кукуруза, нацеленная на эту гусеницу, в разных регионах из-за того, что вредители стали устойчивыми к Bt-токсинам. Лоббисты также проигнорировали тот факт, что агроэкологические методы, такие как привлечение муравьев для кормления яйцами, оказываются успешными.

Теперь стало известно о другом агроэкологическом и не-ГМО методе, который хорошо работает в Африке в качестве защиты от кукурузной гусеницы. Этот метод адаптирован к климату и называется Push-Pull, его разработал Международным центром физиологии и экологии насекомых (ICIPE), многонациональной финансируемой правительством организации, которая поддерживает борьбу с нищетой и продовольственную безопасность. Недавнее исследование, проведенное в Восточной Африке, показывает, что этот метод эффективен в борьбе с кукурузной гусеницей, обеспечивая доступной, экологически чистой и экономически эффективной стратегией контроля вредителей.

ICIPE сообщил: «Эти результаты представляют собой первый документально подтвержденный отчет о легкодоступной технологии, которая может быть немедленно развернута в разных регионах Африки для эффективной борьбы с кукурузной листовой совкой».

Что такое Push-Pull?
Push-Pull - инновационная технология, разработанная на протяжении последних 20 лет в сотрудничестве с национальными партнерами в Восточной Африке и научно-исследовательским институтом Ротамстед (Rothamsted Research ) в Великобритании. Он нацелен на африканскую систему фермерских хозяйств с несколькими культурами.

Растения испускают смесь соединений, которые отталкивают («прогоняют») мотыльков, в то время как растения на границе посева выделяют химические вещества, которые привлекают («заманивают») вредителей.

Недавно метод Push-Pull был адаптирован к более сухим регионам за счет использования засухоустойчивых растений. Кроме того, Push-Pull также контролирует кукурузные ростки и микотоксины, улучшая состояние почвы и обеспечивая высококачественным кормом, поскольку сопутствующие культуры являются превосходными кормами. Таким образом, технология облегчает интеграцию сельскохозяйственных культур, тем самым повышая доходы фермеров.

Кукурузных гусениц на полях Push-Pull на 80% меньше
Профессор Зеяур Хан, лидер Push-Pull в ICIPE и соавтор нового исследования, сказал: «В течение последних нескольких месяцев мы получали информацию от фермеров Push-Pull, что на их полях не было кукурузных гусениц, в то время как соседние монокультурные участки были разорены вредителем. Поэтому мы оценили версию технологии адаптированную к климату в качестве потенциального инструмента контроля кукурузной гусеницы в Кении, Уганде и Танзании».

Исследование показало, что заражение кукурузной гусеницей снизилось на 80% на участках, где использовался адаптированный к климату Push-Pull. Что также привело к соответствующему повышению урожайности по сравнению с монокультурными участками. Полученные результаты были подтверждены непосредственным наблюдением фермеров.

Генеральный директор ICIPE доктор Сегенет Келему прокомментировал: «Способность контролировать такого разрушительного вредителя наглядно демонстрирует полезность Push-Pull как платформенной технологии для решения множества проблем, которые затрагивают системы выращивания зерновых культур в Африке. ICIPE намерен и далее распространять эту технологию как можно более массово по всей Африке, в то же время продвигать исследования, чтобы понять научную основу этой эффективности против кукурузной гусеницы».

Интерактивность всего общения на портале достигается благодаря использованию технологии Push & Pull. Именно эта технология нужна для обеспечения на вашем портале полной функциональности мобильных приложений, сообщений (блогов) и Веб-мессенджера.

Технология Push & Pull делает все на портале «живым» Для полноценной работы интерактивного функционала продукта «Битрикс24», в частности, обмена мгновенными сообщениями, уведомлений, аудио/видеозвонков требуется сервер очередей, рекомендуемой реализацией которого является модуль nginx-push-stream-module для Ngnix , который входит в состав нашего готового веб-окружения для использования портала.

Без использования данного решения, клиентские устройства вынуждены постоянно (очень часто) опрашивать сервер портала на предмет новых сообщений/уведомлений. Уменьшив интервал опроса, можно добиться возможности получать частично функционал (сообщения, уведомления, счетчики, некоторые события P&P), однако большая часть интерактивности будет не доступна.

Кроме этого, такой постоянный опрос генерирует значительную нагрузку на сервер, что может приводить к задержкам получения сообщений, особенно при использовании серверной ОС Windows, производительность веб-подсистемы и СУБД которой ниже, чем у аналогичных ОС на базе linux.

Push and Pull
Модуль Push and Pull позволяет организовать транспорт мгновенных нотификаций и сообщений клиентам. Реализация данного функционала в виде отдельного модуля позволяет любому модулю (в том числе и модулям сторонних разработчиков) используя API отправлять мгновенные нотификации и сообщения клиентам.

Ваше сообщение прочли и пишут вам ответ

Отправляя сообщения, вы всегда будете в курсе, прочитал ли его ваш коллега. Благодаря технологии Push and Pull Веб-мессенджер выводит статус прочтенности сообщений.

Вы сразу видите, когда коллега отвечает - пишет вам сообщение.



Удобный «живой» мини-чат на портале

«Живые» сообщения

Откройте в отдельном окне адресованное вам или написанное вами сообщение на портале (блог), - и сможете в реальном времени вести обсуждение какой-то злободневной темы. При этом в обсуждении участвуют все сотрудники, кому было адресовано сообщение. Вы получаете аналог удобного мини-чата на портале - «Живые» сообщения.

Задачи real-time

Push & Pull! «Живые» мобильные задачи
Благодаря фирменной технологии Push & Pull в мобильном приложении вы видите реальные, «живые» задачи - и списки, и подробности. Если кто-то, к примеру, удалил задачу на портале с десктопного приложения - она тут же исчезает в списке задач, открытом в приложении мобильном. Или, еще один пример - задачу переименовали на портале, или в задаче изменился ответственный, срок и т.д. Вы сразу же увидите эти изменения, если в это время смотрите подробности задачи.

Instant viewing! Мгновенный просмотр содержимого задачи
В мобильном приложении задачи открываются не просто быстро, а практически моментально. Это достигнуто благодаря внедрению в мобильном приложении продвинутой технологии Instant viewing. Применение этой технологии позволило значительно ускорить отображение задач из списка. Вы сразу же видите основное содержимое задачи: заголовок, описание, статус, дедлайн, ответственный/постановщик и т.д.


Для разработчиков
Чтобы сообщения в десктопном приложении, IM сообщения и блоги на портале стали «живыми», а задачи в мобильном приложении - real-time, - должен быть установлен модуль pull. Модуль повышает интерактивность общения на портале. Оптимально использовать для работы продукта «1С-Битрикс: Виртуальная машина». «Сервер очередей», включенный в «1С-Битрикс: Виртуальная машина», убирает 60-секундную задержку при получении IM cообщений.