Основные компоненты сервера mPaaS: анализ архитектуры мобильной службы анализа MAS.

анализ данных mPaaS
Основные компоненты сервера mPaaS: анализ архитектуры мобильной службы анализа MAS.

Предприятие «Введение | Обзор системы основных компонентов сервера mPaaS» представило основные функции и каналы передачи данных службы мобильного анализа MAS, включая «базовый анализ, пользовательский анализ, анализ производительности, управление журналами». В этой главе мы дополнительно проанализируем архитектурные возможности службы мобильного анализа MAS.

1. Основные возможности мобильного анализа MAS:

  1. Благодаря вычислению многомерных данных в режиме реального времени можно полностью отобразить выразительную мощь мобильных приложений;
  2. Содействовать оптимизации сервисных продуктов и продвижению операций посредством автономного анализа характеристик и поведения пользователей;
  3. Благодаря автоматическому сбору журналов процессов повышается эффективность расследования и быстро решаются проблемы НИОКР.

Функции, расширенные за счет основных компетенций, включают:

  1. Анализ поведения пользователей: обеспечивает анализ использования приложений, включая статистические функции для различных показателей, таких как отчеты пользователей, вход пользователей в систему и новых пользователей, а также поддерживает многомерный анализ и сравнение в зависимости от платформы, версии, региона и времени, чтобы пользователи могли лучше понять себя. быстро и удобно использовать приложение.
  2. Анализ стабильности: Обеспечивает анализ стабильности приложений, включая мониторинг ретроспективных данных, мониторинг исключений, мониторинг производительности и функции диагностики пользователей, чтобы помочь разработчикам вовремя обнаруживать и локализовать проблемы.
  3. Диагностический анализ: Обеспечивает диагностику журнала приложений, включая диагностику отдельных пользователей и сбор журналов диагностики. Среди них пользователь диагностики отдельного пользователя получает информацию о поведении пользователя-клиента в режиме реального времени, а коллекция журналов диагностики отправляет инструкции клиенту через Push и возвращает локальный журнал клиента.

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

2. Анализ архитектуры мобильного анализа MAS

Сначала посмотрите на схему канала передачи данных:

Из диаграммы канала передачи данных мы можем знать, что внешний интерфейс данных поступает из клиентского SDK.В настоящее время встроенный в журнал SDK, предоставляемый в рамках mPaaS, в основном состоит из 4 функций:

  1. Извлекать правила сбора журналов и отчетов с сервера, такие как «отправлять ли отчеты, сообщать о состоянии сети, частоте отчетов, размере пакета, времени хранения журнала» и т. д.;
  2. Автоматически отслеживать основное поведение клиента и записывать скрытые журналы, такие как: отчет об активности, скачок, сеть, время, сбой и т. Д .;
  3. Предоставьте соответствующий интерфейс API для вызова бизнес-модуля и инкапсулируйте основные параметры (бизнесу нужно только обратить внимание на данные бизнес-журнала) и выведите их в файл журнала клиента;
  4. В соответствии с правилами сбора и отчетности журналы клиентов передаются на шлюз журналов сервера (MDAP).

Затем, когда все необходимые журналы будут отправлены в шлюз журналов MDAP, MDAP выведет журналы сервера в файл журнала сервера, а инструменты сбора, такие как logtail/flume, развернутые на сервере, будут собирать и передавать журналы в центр сообщений, например как SLS/Kafka.Файлы принимаются разными платформами и рассчитываются в соответствии с их собственными правилами и планами планирования.

В настоящее время MAS поддерживает формы вычислений как в реальном времени, так и в автономном режиме:

а. Вычисления в реальном времени

Опираясь на вычислительный движок Kepler или JStorm для обеспечения поддержки, среди которых: Kepler — вычислительная платформа муравья в реальном времени, включая базовый вычислительный движок Kepler и соответствующую платформу разработки Kepler-UI, поддерживает семантику ровно один раз и обеспечивает поддержку таких как Транзакция.

Kepler предлагает две парадигмы программирования для SQL и операторов более высокого порядка:

  1. Kepler SQL: совместим с большинством семантик Streaming SQL и поддерживает такие концепции Apache Beam, как Window и Trigger. Из-за своих простых в использовании и обслуживании функций SQL в настоящее время широко используется пользователями Kepler.
  2. операторы высшего порядка: Kepler имеет встроенные полные операторы вычислений в реальном времени, включая: фильтрацию (Filter), трансформацию (UDF, UDTF), агрегацию (UDAF), многопотоковое объединение, объединение, разделение и другие типы, в Spark, Flink high-time. уровень API, который вы можете увидеть. Увидев ту же концепцию, собрав эти операторы, пользователи могут легко реализовать DataStream с пользовательской логикой. С помощью высокоуровневых API-интерфейсов пользователи могут более детально описать сам расчет, а поскольку высокоуровневые операторы инкапсулируют такие возможности, как состояние и откат, это избавляет пользователей от утомительного хранения данных и подробностей отката ошибок.

На уровне вычислительного механизма Kepler он фокусируется на планировании и выполнении потоков данных, а механизм выполнения подключается к уровню оператора.В настоящее время Kepler поддерживает механизм выполнения по умолчанию и инфраструктуру распределенных вычислений Ant Raya.

Рая — это муравьиная версия Рэя. Чтобы узнать о Рэе, см.: https://ray.readthedocs.io/en/latest/index.html

На уровне ввода-вывода план Kepler поддерживает все компоненты хранилища, включая, помимо прочего, SLS, AntQ, DRC, HBase, MySQL, Kudu, Pangu, Explorer и т. д., и эти типы хранения имеют соответствующие встроенные компоненты ввода-вывода, пользователей Вам не нужно писать какую-либо строку кода, связанную с вводом-выводом, и вы можете легко выполнить чтение и хранение данных.

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

JStorm — это распределенный вычислительный движок в реальном времени, похожий на Hadoop MapReduce.Пользователи реализуют задачу в соответствии с указанными спецификациями программирования, отправляют задачу в JStorm, и JStorm может запланировать задачу на 7*24 часа. Основной принцип заключается в следующем:

  1. Программа, которую JStorm отправляет для запуска, называется Topology.
  2. Наименьшая единица сообщения, обрабатываемая Topology, — это Tuple, представляющий собой массив произвольных объектов.
  3. Топология состоит из носика и болта. Носик — это узел, излучающий Tuple. Bolt может подписаться на Spout или Tuple, отправленные Bolt по желанию. И Spout, и Bolt вместе называются Component.

Данные скрытых точек MAS передаются в вычислительную топологию через SLS/Kafka и другое промежуточное программное обеспечение сообщений. Топология будет обрабатывать данные несколько раз в соответствии с предварительно настроенными правилами сегментации и агрегации журналов и, наконец, передавать их на уровень сохраняемости MAS уровня сохраняемости в основном использует MESDB (на основе ElasticSearch), OTS (HBase) и Explorer:

  • Учитывая возможности полнотекстового поиска ElasticSearch и высокую производительность записи и запросов, MESDB в основном используется для хранения основных данных о поведении, таких как активные пользователи, новые пользователи, накопленные пользователи и данные воспроизведения журнала.

  • OTS (HBase) в основном хранит некоторые результаты и вычисляет данные промежуточного состояния, тогда как Explorer используется для хранения данных для пользовательского анализа.

  • Explorer — это распределённая аналитическая столбцовая база данных уровня PB с малой задержкой в ​​режиме реального времени:

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

    Во-вторых, уровень протокола Explorer предоставляет интерфейс протокола MySQL.Через mysql-jdbc-драйвер вы можете инициировать запросы на вставку и выбор к Explorer. Слой вычислений основан на Drill, который поддерживает различные типы хранилищ, кластер линейно расширяется, план выполнения можно настраивать.Слой хранения основан на Druid и имеет уникальные форматы хранения и вычислительные возможности для OLAP.Общая архитектура Проводника выглядит следующим образом:

Для пользовательского анализа MAS, поскольку невозможно заранее определить определенные пользователем правила агрегирования и измерения атрибутов, был выбран Explorer, который поддерживается его мощными возможностями предварительного агрегирования. В топологии вычислений в реальном времени Kepler/JStorm агрегирование может быть завершено путем вставки в проводник в реальном времени после сегментации в соответствии с измерением атрибута, определенным пользователем.

Кроме того, способность запроса в реальном времени является сильным и слабым основным критерием: время возврата.

Не говоря уже о таких суперприложениях, как клиент Alipay, у производителей публичных облачных сервисов mPaaS ежедневно регистрируются сотни миллионов журналов, а объем хранения данных составляет терабайт — для запросов такого уровня очень сложно вернуть данные за считанные секунды. Алгоритм Hyperlog, используемый Explorer, как раз решает эту проблему и полностью поддерживает требования MAS (если вы хотите узнать больше об этом алгоритме, пожалуйста, выполните поиск Cardinality Estimation, вы можете получить более полное представление о типе алгоритма).

б. Автономные вычисления

Для поддержки различных сценариев развертывания MAS может поддерживаться платформой исследований и разработок Alibaba Cloud DataWorks, Hadoop/Spark или Ant Financial Cloud-Data Intelligence в соответствии с фактическими потребностями.

  1. DataWorks: это автономная платформа данных, предоставляемая Alibaba Cloud, которая имеет очень хорошее приложение в Китае.
  2. Hadoop/Spark: де-факто стандартная платформа данных с открытым исходным кодом — лучший выбор для самостоятельных платформ больших данных.
  3. Платформа исследований и разработок Data Intelligence (Caiyunjian): это платформа исследований и разработок данных, размещенная в Ant Financial Cloud, которая применялась и практиковалась во многих крупных учреждениях.

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

Кроме того, основной концепцией автономных вычислений является задача ETL: ETL предназначена для больших данных, очистки, обработки, загрузки, она реализует форматирование, проверку, дополнение и другую обработку данных журнала после серии статистического анализа и загрузки. в онлайн-систему. Независимо от того, как поддерживаются три вышеуказанные платформы, автономный анализ MAS всегда строится и управляется на основе ETL.В текущем наборе MAS уже давно извлечены широко используемые и общие методы расчета и логика.MAS предустановляет сотни задач. , и В соответствии с функцией задачи он в основном делится на три уровня: ODS, CDM и ADS, которые представляют собой уровень доступа к данным, общий уровень данных и уровень приложения данных. Модель данных использует звездообразную модель, которая может соответствовать характеристикам быстрого понимания и быстрого развития.

  • отношения задачи:

  • Демонстрация дерева задач:

Автономные вычисления в настоящее время в основном поддерживают MAS: анализ устройств, анализ удержания, анализ страниц, анализ воронки, анализ компонентов mPaaS и другие модули.

3. Основная конкурентоспособность и преимущества MAS

  1. разнообразие: В дополнение к анализу пользовательских данных, таких как анализ поведения, активное распространение, анализ взаимодействия, анализ воронки, анализ удержания, анализ устройств, анализ страниц, анализ событий и пользовательский анализ, MAS также обеспечивает анализ запуска и анализ сбоев. Возможности анализа различных измерений, таких как анализ зависаний, анализ каналов и географический анализ, уже могут удовлетворить большинство потребностей в анализе обычных приложений.
  2. совместимость: MAS обеспечивает возможность поддержки основных решений с открытым исходным кодом и решений на основе Ant Financial Cloud и Alibaba Cloud, а также предоставления решений, которые больше соответствуют различным ресурсным средам.
  3. Расширяемость: Архитектура MAS была протестирована под давлением больших объемов данных и обладает широкими возможностями горизонтального расширения. Даже если на начальном этапе будет построена самая маленькая единица, по мере увеличения числа пользователей емкость может быть мгновенно расширена, а возможности обслуживания могут быть улучшены для удовлетворения будущих потребностей предприятия в планировании.
  4. приспособляемость: Клиенты MAS включают финансовые предприятия, такие как банки и ценные бумаги, а также нефинансовые отрасли, такие как путешествия и метро.В то же время MAS может помочь предприятиям настроить конкретные бизнес-отчеты в соответствии с их собственными характеристиками.

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

Добро пожаловать в группу технического обмена mPaaS:

  • Группа DingTalk: поиск номера группы «23124039» через DingTalk.

Мы надеемся, что вы можете присоединиться.

В первом выпуске прямой онлайн-трансляции Code Hub Чен Чжэнвэй из тайваньского сообщества DevOps и Гу Тан, команда mPaaS платформы мобильной разработки Ant Financial, обсудили «Прошлое и настоящее DevOps» и «Углубленная практика гибкой разработки и динамической разработки». Обновления в Alipay». До встречи в прямом эфире 13 марта!