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

Теперь WhatsApp занимает первое место среди всех других каналов обмена сообщениями по числу активных пользователей. Из-за пандемии использование WhatsApp выросло на 40%.

Сегодня WhatsApp доставляет около 100 миллиардов сообщений в день.

В этом блоге мы собираемся обсудить системный дизайн WhatsApp. Мы сосредоточимся на реализации некоторых ключевых функций и продолжим нашу идею.

Давайте по порядку рассмотрим функции, необходимые для разработки системы WhatsApp.

Обмен сообщениями

Мы можем поговорить с другом или любым номером, который есть в наших контактах. Если у нас есть только два устройства в одной сети, которым необходимо передавать сообщения между собой, тогда нам нужно знать адреса обоих устройств и напрямую обмениваться сообщениями. Но когда количество устройств и сетей увеличивается, это становится все труднее, и нам нужен промежуточный сервер, который отвечает за получение / отправку сообщений соответствующим клиентам.

Как вы можете видеть выше, на диаграмме есть два клиента: Клиент A и Клиент B. Здесь клиенту A необходимо отправить сообщение клиенту B. Он инициирует запрос к серверу. Для связи между пользователем и шлюзом устанавливается TCP-соединение.

Как только пользователь подключается к сети, устанавливается новое TCP-соединение. Когда пользователь отправляет сообщение, оно проходит через шлюз. Шлюз отвечает за абстракцию безопасности, обратный прокси, ограничение скорости и т. Д. Затем запрос поступает на балансировщик нагрузки, который отвечает за распределение нагрузки между несколькими серверами. Затем сервер обмена сообщениями проверяет базу данных, к которой подключен клиент-сервер B, и пересылает запрос клиенту B.

При отправке сообщения могут быть разные сценарии.

  • Клиент A находится в автономном режиме: в этом сценарии сообщение, которое необходимо отправить, сохраняется в базе данных устройства (например, SQLite) до тех пор, пока устройство не перейдет в режим онлайн.
  • Клиент B отключен: в этом сценарии сообщение сохраняется в базе данных. Как только клиент подключается к сети, ему отправляются сообщения.

Групповой обмен сообщениями

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

Whatsapp Pay

WhatsApp Pay - это функция оплаты в чате, которая позволяет пользователям совершать транзакции через WhatsApp в свой список контактов. Это сервис платежей на основе UPI, который позволяет отправлять и получать деньги. Он был разработан Национальной корпорацией Payments Индии (NPCI).

Онлайн / Последний визит

Эта функция используется, чтобы узнать, был ли человек в сети или последний раз он был в сети.

Когда клиент выполняет какое-либо действие, такое как отправка сообщения, открытие нового сообщения, загрузка документов или телефонный звонок, это недавнее действие вместе с отметкой времени записывается для пользователя. С каждым новым действием обновляется метка времени пользователя. Всякий раз, когда пользователь B хочет проверить последнее посещение пользователя A, он запрашивает базу данных, чтобы получить метку времени пользователя A. Если метка времени находится в диапазоне текущее время - пороговое значение (например, 1 минута), тогда мы можем отобразить статус как онлайн. иначе отображать последнее посещение как метку времени последней активности пользователя A.

Сообщение Благодарности

Давайте поговорим о подтверждениях сообщений, то есть о концепции одинарной, двойной и синей галочки.

WhatsApp поддерживает 3 типа подтверждения сообщений:

  • Сообщение отправлено
  • Сообщение доставлено
  • Сообщение прочитано.

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

Обмен изображениями

В системе обмена сообщениями в чате принято обмениваться изображениями, видео и вложенными файлами. Это может быть длительный процесс, и его следует выделить в другой микросервис, который мог бы обрабатывать такие запросы. Как показано на схеме ниже, существует еще один мультимедийный сервер, который обрабатывает такие типы запросов на совместное использование файлов. Клиент инициирует HTTP-запрос к мультимедийному серверу. Мультимедийный сервер проверяет, находится ли принимающий клиент B в сети. Если да, то он отправляет хеш файла клиенту B. Клиент B использует этот хеш для загрузки файла.

Если клиент B отключен, файл хранится в безопасном облачном хранилище. Как только клиент B подключается к сети, он получает хэш и загружает файлы из облака. Чтобы ускорить этот обмен файлами, мы могли бы использовать CDN. CDN расшифровывается как Content Delivery Network, которая кэширует информацию географически рядом с местонахождением клиента, чтобы уменьшить задержку и увеличить скорость загрузки.

Как WhatsApp использует Data Science

Столь значительный рост использования WhatsApp за последние пару лет открыл множество возможностей для бизнеса. Чат-бот WhatsApp - важная функция для предприятий WhatsApp.

Чат-боты WhatsApp

Чат-бот WhatsApp - это автоматизированное программное обеспечение на базе искусственного интеллекта, работающее на платформе WhatsApp. Люди общаются с чат-ботом WhatsApp через интерфейс чата, как с реальным человеком. Это набор автоматических ответов, имитирующих человеческий разговор в WhatsApp.

Чат-боты WhatsApp на самом деле помогают компаниям автоматизировать предоставляемые ими вещи и услуги.

Есть официальные компании-чат-боты WhatsApp. Они постоянно работают над тем, чтобы этот процесс прошел гладко.

Компания по созданию чат-ботов WhatsApp - это компания по разработке чат-ботов, которая создает чат-ботов для WhatsApp. Многие из этих компаний сотрудничают с официальными поставщиками решений WhatsApp Business и помогают нам получить доступ к API и направляют нас через процесс подачи заявки, а после этого у нас есть доступ к чат-ботам WhatsApp.

Проверка поддельных сообщений

WhatsApp произвел революцию в способах распространения информации. Он соединяет более 1,5 миллиарда человек и помогает ежедневно обмениваться невероятным количеством сообщений - 65 миллиардов. Хотя WhatsApp предназначен для общения с семьей, друзьями и коллегами, некоторые злоупотребляют им для распространения слухов и фальшивых сообщений. Это привело к неоправданному насилию и социальным беспорядкам. После серии инцидентов с линчеванием толпы, спровоцированных слухами, циркулирующими в WhatsApp, правительство Индии готовит поправку к Закону об ИТ. На данный момент проект требует от «посредников», таких как WhatsApp и Google, развертывать технологические инструменты автоматизации с соответствующими элементами управления для упреждающего выявления и отключения доступа к незаконной информации или контенту. Большинство фальшивых сообщений WhatsApp имеют такие особенности и мотивы, как

  • Просьба переслать сообщение многим
  • Угроза последствий при игнорировании запроса,
  • Поддельный источник информации для повышения достоверности,
  • Подробности об авторе и происхождении информации не приводятся.
  • Точный момент времени не указывается, упоминается только общая информация о времени, например, «прошлый год» или «вчера».

Науку о данных можно использовать для классификации текстового сообщения WhatsApp по одной из этих пяти категорий - полностью истинное, в основном верное, в основном ложное, полностью ложное и опровергнутое. Используя Data Science в приложении, человек, получивший переадресованное текстовое сообщение, сможет его проверить.

В 2019 году WhatsApp объявил, что заблокировал более 2 миллионов учетных записей за отправку массовых автоматических сообщений и фейковых новостей в месяц. Эта инициатива была реализована с использованием машинного обучения. Используя машинное обучение, мы можем ограничить количество раз, когда можно пересылать конкретное сообщение, включая несколько текстов.

Как WhatsApp сможет использовать Data Science в ближайшем будущем

Виртуальные помощники

Виртуальный помощник или цифровой помощник - это прикладная программа, которая понимает голосовые команды на естественном языке и выполняет задачи за пользователя. Они используют обработку естественного языка (NLP) для сопоставления пользовательского текста или голосового ввода для выполнения команд. Виртуальные помощники - это в основном облачные программы, которым требуются подключенные к Интернету устройства или приложения для работы с их возможностями. Каждый раз, когда помощнику дается команда, он, как правило, обеспечивает лучшее взаимодействие с пользователем на основе прошлого опыта использования алгоритмов машинного обучения и обучения. Некоторые из популярных виртуальных помощников включают Amazon Alexa, Cortana (Microsoft), Siri (Apple) и Google Assistant.

В нашем случае WhatsApp может использовать виртуальных помощников для отправки и чтения сообщений с помощью голосовых команд.

Для этого WhatsApp не обязательно может создавать виртуального помощника, но он также может интегрировать его с виртуальным помощником, который уже присутствует в операционной системе устройства (например, Siri на устройствах Apple и помощников Google на устройствах Android).

Поиск по ключевым словам и показ соответствующей рекламы

Несмотря на то, что WhatsApp имеет сквозное шифрование, он может использовать некоторые модели машинного обучения, которые не нарушат безопасность и могут предложить список ключевых слов, который можно использовать для персонализированной рекламы. Они могут отправлять необработанные расшифрованные сообщения обратно на серверы WhatsApp, выполнять машинное обучение на устройстве, создавать локальный рекламный профиль с учетом наших предпочтений и отправлять ограниченные данные на основе этих данных, чтобы не нарушить безопасность. Как мы все знаем, WhatsApp является частью Facebook. Это означает, что Facebook может знать, интересуются ли мы кошками, не зная на самом деле точного содержания любого из наших сообщений. Согласно некоторым журналам, WhatsApp может использовать данные facebook для монетизации платформы, показывая соответствующую рекламу только с помощью данных facebook, но WhatsApp может также монетизировать таким образом.

Они могут использовать несколько фильтров для преобразования видео

Поскольку платформа WhatsApp используется для взаимодействия с людьми, и бизнес будет расти, если взаимодействие будет выше, поэтому WhatsApp может делать что-то, что может помочь людям больше взаимодействовать с помощью Deep Fake.

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

Вывод

  • WhatsApp занимает первое место среди всех других каналов обмена сообщениями с 2,5 миллиардами пользователей по всему миру.
  • Он использует так много функций, которые помогают его клиентам взаимодействовать практически в любое время в любом месте.
  • Он использует Data Science для проверки поддельного контента, чат-ботов и прогнозирования мошенничества при платежах WhatsApp.
  • Существует огромная сфера, в которой наука о данных может быть использована в интеграции с WhatsApp, даже не нарушая безопасности пользователей в ближайшем будущем.

Это все для этой статьи, и мы надеемся, что вы хорошо научитесь из этой статьи !!
Приятно работать с командой, которая настолько самостоятельна и мотивирована. Я хотел бы поблагодарить Бхану Шахи, Джатин и Ришаба Кесарвани за вклад в эту статью 😇.
Удачного обучения !!