<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>McKay D. Information Theory, Inference, and Learning Algorithms // Cambridge:
Cambridge University Press</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>WEB SERVICE FOR THE SEISMIC EVENT CLASSIFICATION BASED ON APACHE SPARK SYSTEM</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Semyon E. Popov</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Roman Yu. Zamaraev</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute of Computational Technologies SB RAS</institution>
          ,
          <addr-line>Novosibirsk</addr-line>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2003</year>
      </pub-date>
      <volume>631</volume>
      <issue>87</issue>
      <fpage>31</fpage>
      <lpage>37</lpage>
      <abstract>
        <p>The article describes the key points of the service development process for the rapid automatic classification of seismic signals based on diagnostic templates. Software solutions are presented for preprocessing of the signal and algorithmization of parallel computing on a mathematical model for the generation of final conclusions using the rating voting base. The possibilities of integrating such solutions with the Apache Spark distributed computing system are shown. Performance tests of the classification algorithm for a set of daily signals in various software environments were conducted.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Copyright © 2019 for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0
International (CC BY 4.0).</p>
      <p>ВЕБ-СЕРВИС КЛАССИФИКАЦИИ СЕЙСМИЧЕСКИХ СОБЫТИЙ НА БАЗЕ
СИСТЕМЫ РАСПРЕДЕЛЕННЫХ ВЫЧИСЛЕНИЙ APACHE SPARK</p>
      <p>C. Е. Попов, Р. Ю. Замараев
Федеральное государственное бюджетное учреждение науки Институт вычислительных
технологий Сибирского отделения
Российской академии наук</p>
      <p>
        г. Новосибирск
В статье описаны ключевые моменты процесса разработки сервиса для быстрой автоматической
классификации сейсмических сигналов на основе диагностических шаблонов. Представлены
программные решения для предварительной обработки сигнала и алгоритмизации параллельных
вычислений на математической модели выработки конечных заключений с использованием базы
рейтингового голосования. Показаны возможности интеграции таких решений с системой
распределенных вычислений Apache Spark. Проведены тесты производительности алгоритма
классификации для набора суточных сигналов в различных программных средах.
Веб-сервис, распределенные вычисления, Apache Spark, классификация сейсмических событий
Введение
Региональный мониторинг и анализ региональной геодинамической ситуации
характеризуется сложностью решаемых на этом направлении задач. Причина в том, что
наряду с мощными возмущениями из известных очаговых зон приходится анализировать и
классифицировать разнородный поток событий, среди которых промышленные взрывы
различной мощности и глубины заложения, региональные и местные сейсмические события.
В горнопромышленных регионах функционирует большое количество предприятий,
регулярно проводящих массивные взрывные работы. В общей сложности за год может
регистрироваться более 2,5 тысяч сейсмических событий. Накапливаются огромные массивы
информации, где только для одной станции недельный пул суточных записей составляет
около 150Мб (≈174 млн. отсчетов), с нескольких – более 1Гб (1 млрд отсчетов). Учитывая
данный фактор, процесс детектирования и классификации различных возмущений в наборе
даже суточных записей с нескольких станций требует значительных вычислительных
ресурсов и затрат времени. Что подтверждается анализом большинства исследований в
области обработки сейсмических сигналов [
        <xref ref-type="bibr" rid="ref1 ref10 ref11 ref2 ref3 ref4 ref5 ref6 ref7 ref8 ref9">1-17</xref>
        ]. Однако в большинстве исследований все
апробации алгоритмов на реальных сигналах осуществляются на малых таймфреймах
размером не более 60-80 секунд, рассматриваются отрезки сигнала с априори достоверной
информацией о присутствии на них существенных (детектируемых) возмущений. Время
работы представленных алгоритмов на полном сигнале (суточной записи) не приводится. В
некоторых работах [16-17] представлены так называемые быстрые алгоритм (Fingerprint And
Similarity Thresholding (FAST)) для детектирования природных землетрясений. Однако
тестирование на реальных сигналах недельного пула записей демонстрирует неутешительное
время исполнения (около 1 часа 36 минут, для автокорреляционного метода – 9 дней (данные
взяты с одной станции)). Таким образом при анализе даже 2-3 недельных таймфреймов с
нескольких сейсмопостов время работы может увеличиваться до 1 дня, а с использованием
другим методов и до месяца.
      </p>
      <p>Рассматривая программные средства информационно-аналитического обеспечения
процессов регионального сейсмического мониторинга можно обозначить основные
требования: стабильное поступление массивов актуальных сейсмических данных; их
оперативная обработка; анализ и выработка экспертных заключений с использованием
быстрых алгоритмов. В мировой практике насчитывается большое количество программных
решений, реализующих различные функции обработки и анализа сейсмической информации
[18-25].</p>
      <p>Однако функциональные возможности существующих программных решений не
поддерживают классификацию сейсмических событий, основанную на обработке множества
реальных суточных записей, полученных с разных станций наблюдений. Обработка данных
ведется в ручном режиме, с последовательной загрузкой файлов, и выделением мелких
таймфреймов интересующего события. Интегрированные в такие программные средства
алгоритмы классификации не поддерживают запуск в параллельном режиме обработки
полного временного отрезка сигнала. В большинстве случаев программные решения
представляют собой статические приложения, ориентированные на работу со
специализированной аппаратной частью.</p>
      <p>Учитывая выше изложенное, возникает актуальная задача разработки программного
обеспечения для классификации сейсмических событий, поддерживающего
высокопроизводительную обработку больших массивов данных и открытый доступом к ним
на базе веб-технологий.
Исходные данные и шаблоны</p>
      <p>Источником сейсмических данных служит региональная сеть из 8 станций с
международными кодами: (ASR1, ELT, BRCR, KEM, LUZB, NVS, SALR, TASR). Сигналы
поступают в формате miniSEED, данные предоставляются по трем каналам (например, EHE,
EHN, EHZ).</p>
      <p>Суточная запись с каждого канала содержит около 8,5 млн отсчетов (замеров с
датчиков) и время каждого отсчета, т.е. (24 часа) х (3600 сек в часе) х (100 количество
отсчетов в секунде (sample rate)). Начальные записи в каналах могут быть сдвинуты
относительно начала суток (00:00:00). Для их синхронизации выбирается самый поздний по
времени начальный отсчет (по максимальному времени от начала), и от этого времени
извлекаются все значения каждого канала. Далее, выбирается минимальная длина из
получившихся массивов (по минимальному времени от конца сигнала), оставшиеся массивы
«обрезаются справа» до этой длины. Таким образом получаем матрицу со значениями типа
Double
землетрясений EarthQuake (EarthQuake±S). Используя выражение  ( ) =  ( ⁄  2) exp( −
 ⁄ ) +  ( ), где</p>
      <p>A, T, n
числовые
параметры
(A=1</p>
      <p>
        T=3800
n=44,
подбираются
индивидуально, для станций в зависимости от расстояния до очаговых зон,  ( )-вектор
случайных чисел, соответствует статистическому распределению модели сигнала «Белый
шум» (WhiteNoise)) добавляются абстрактные шаблоны. Они показывают последовательное
прохождение сейсмического возмущения со сдвигом 100 отсчетов (1 сек.) через расчетное
окно. Таким образом получаем шаблоны со следующими названиями: на входе
«WaveFrontI», «WaveFront-II» и «WaveFront-III»; на выходе «WaveRear-I», «WaveRear-II» и
«WaveRearIII»; в середине окна со смещениями влево и вправо «WaveMiddle», «WaveLeft» и
«WaveRight» соответственно. Всего выделяется 16 шаблонов – матрица со значениями типа
Double (   ,  ∈ [0, 6144] ∈ Ζ,  ∈ [
        <xref ref-type="bibr" rid="ref11">0, 15</xref>
        ] ∈ Ζ).
      </p>
      <p>Алгоритм классификации
Алгоритм классификации является оригинальной разработкой авторов [27]. Алгоритм
позволяет анализировать полные трехкомонентные суточные сигналы.</p>
      <p>На вход алгоритму подается сформированная матрица (1) (CH = { ℎ ,  ∈ [0,   ℎ] ∈
Ζ,  ∈ [0, 2] ∈ Ζ}). Задается скользящее окно размером в  = 6145 отсчетов, с шагом сдвига</p>
      <p>= 100 отсчетов. На каждом шаге формируется сейсмограмма в виде матрицы X =
{  ,  ∈ [0,  ] ∈ Ζ,  ∈ [0, 2] ∈ Ζ}, содержащая часть сигнала CH (1). Алгоритм определяет
(классифицирует) тип сейсмограммы согласно шаблонам, следующим образом:
Шаг 1. Компоненты матрицы  = {  } заменяем квадратами размахов   , , что
обеспечивает неотрицательность значений для дальнейших вычислений
Шаг 2. Вычисляем матрицу весов (3) и, затем, матрица энтропий (4)
  , = (  , −   +1, )2,  ∈ [0,  − 1],  ∈ [0, 2].</p>
      <p>, =</p>
      <p>,
∑ =−01   ,</p>
      <p>,  ∈ [0,  − 1],  ∈ [0, 2].
  , = −  ,   (  , ) ,  ∈ [0,  − 1],  ∈ [0, 2].</p>
      <p>=   ,0 +   ,1 +   ,2,  ∈ [0,  − 1].
Шаг 3. Вычисляем вектор обобщенной информации по трем каналам измерений
Шаг 4. Строим характеристическую функцию в расчетном окне (6). Данный процесс
называется аккумулированием сигнала
С = ∑ =0   ,  ∈ [0,  − 1].</p>
      <p>За счет аккумулирования три компоненты сигналов приводятся к одномерной
стационарной
форме
[29].</p>
      <p>Стационарность
модели
(6)
обеспечивает
хорошую
аппроксимацию</p>
      <p>по осредненным (сглаженным) данным (шаблонам с известными
характеристиками).</p>
      <p>
        Шаг 5. Добавляем справа к матрице    ,  ∈ [0, 6144] ∈ Ζ,  ∈ [
        <xref ref-type="bibr" rid="ref11">0, 15</xref>
        ] ∈ Ζ вектор-столбец
С , получаем матрицу   ,  ∈ [0,  − 1],  ∈ [0,  ], n = 16.
      </p>
      <p>
        Согласно (6), все шаблоны находятся в одном метрическом пространстве. Полагая
шаблоны признаками, а отсчеты объектами (независимыми наблюдениями), можем
(2)
(3)
(4)
(5)
(6)
дополнить их набор выборочной характеристической функцией и вычислить аналог
диагностической матрицы по Байесу путем стандартизации в объектах
  , = (С , −   )⁄  , где   = 1 ∑

 =1   , и   = √ ∑
шаблону из набора, как расстояние между двумя признаками (одномерными векторами). Для
этого фиксируем  = 16, и для каждого   , ,  ∈ [
        <xref ref-type="bibr" rid="ref11">0, 15</xref>
        ] формируем пару с   ,16, получаем 16
пар.
Шаг 6. Для каждой пары рассчитываем значения следующих статистических расстояний
расстояний
      </p>
      <p>
        Получаем матрицу расстояний  = {  , ,  ∈ [0,11],  ∈ [
        <xref ref-type="bibr" rid="ref11">0, 15</xref>
        ]} ,
где весовой коэффициент   = {
1,  ∈ [0, 2(
0, в остальных случаях .
Шаг 8. Рассчитываем рейтинги   = ∑11=0   , (10) и находим максимум {  }
Шаг 9. Формируем заключение классификации по следующей схеме, назовем ее
а) если не существует единственного максимума, то заключение «не определено
б) если единственный максимум больше 10, то заключение «строгое (strictly)»
в) если единственный максимум больше 8, но меньше 11, то заключение «нестрогое
г) если единственный максимум меньше 9, то заключение «возможное (perhaps)»
  , = {
1,   , = min(  ) ,
0, в остальных случаях.
рейтинговым голосованием:
(undefined)».
соответствие шаблону.
(not strictly)» соответствие шаблону.
соответствие шаблону.
      </p>
      <p>Таким образом, сдвигая окно от начала сигнала в конец, алгоритмом детектируются и
идентифицируются согласно шаблону любые значимые возмущения суточного таймфрейма.
Оптимизация алгоритма
Для уменьшения времени работы программной реализации алгоритма и его адаптации
к запуску
в
среде
массово-параллельного
исполнения заданий были проведены
перечисленные далее действия (итерации).
Получаем матрицу 
шага сдвига. Получаем массив
 _
 _</p>
      <p>, =  _
 ,0 = ∑ =−01 
 , −1 ± ∑1=000 
 , .</p>
      <p>100 ± , ,  ∈ [1, 10ℎ0], где</p>
      <p>,  ∈ [0,   ℎ − 1]. Заранее рассчитываем ∑ =−11   , (2) для каждого
Массивы 
и 
_</p>
      <p>являются общедоступными константами для всех заданий в среде
Apache Spark, и передаются при помощи специального объекта Broadcast. Данная
оптимизации позволит существенно сократить время расчета формул (2) и (3), т.к. на каждом
сдвиге окна вычисляются суммы только предыдущих и последующих 100 элементов
матрицы  .</p>
      <p>
        2. Для матрицы   рассчитываем сумму 
 = ∑
 =1   , . 
 объявляем
общедоступной константой (Broadcast). Тогда на каждом шаге выражение   = 1 ∑
 =1   , в

 ), что также позволяет
формуле (7) можно заменить на следующее   = 1
(  ,16 + 
сократить количество операций с суммой элементов.

3. Используемые алгоритмы нахождения расстояний согласно [
        <xref ref-type="bibr" rid="ref10">14</xref>
        ] в своих расчетах
содержат повторяющиеся выражения. Например, расстояние Bray-Curtis будет содержать
выражение   ,16 −   , , которое также есть в Canberra, или ∑|   ,16 −   , | ,  ∈ [
        <xref ref-type="bibr" rid="ref11">0, 15</xref>
        ] в City
Block.
      </p>
      <p>Расчет
корреляции
через
ковариацию, позволит
получить
выражения:
∑   ,162 , ∑   , 2, ∑   ,16  , , которые присутствуют в расчете евклидова и косинусного
расстояний. Учитывая, что весовой коэффициент принимает значение 1 при двух третьих от
общего количества итераций, а остальные значения равны нулю, то при расчете сумм в
соответствующих расстояниях без весового коэффициента, необходимо зафиксировать
значении суммы на номере итерации равном 2( − 1)/3, и использовать ее при получении
значения расстояния с весовым коэффициентом. Т.е. если евклидово расстояние есть
будет вычисляться также, только для  ∈ [0, 2( − 1)/3].</p>
      <p>4. Анализ алгоритма классификации (шаги 1-9) показал независимость расчетов на
каждой итерации сдвига расчетного окна. Этот факт означает, что заключение классификации
получается, как единичное абстрактное значение одного из признаков (см. шаг 9, раздел
Алгоритм классификации). Таким образом, возможно разделить всю суточную запись
длинной   ℎ на части (partitions), и вычислять модель (2)-(10) параллельно. Назовем этот
этап Map. Затем после завершения всех заданий Map, запускать процесс объединения
полученных заключений, сортируя их по времени в начальном сигнале (получение карты
классификаций). Данный этап назовем Reduce. Таким образом возможно организовать
вычисления по классической схеме MapReduce.</p>
      <p>Такого рода оптимизации позволяют значительно сократить время работы алгоритма,
т.к. при каждом сдвиге приходится выполнять одни и те же вычислительные операции на
одних и тех же наборах данных по нескольку раз. Учитывая количество шагов (в среднем
  ℎ ) и размер окна ( − 1 = 6144 отсчета) потери производительности могут быть</p>
      <p>Технологический стек
Вычислительное ядро сервиса (BACKEND), который предлагается в настоящей статье,
реализовано на базе Apache Spark API (Java), менеджера ресурсов Apache YARN и сервиса
удаленного запуска заданий Apache Livy. Система обработки HTTP-запросов пользователя
(MIDDLEWARE) функционирует под управлением NodeJS, Chart.js (ECMAScript 6 (ES6)).
Графический интерфейс сервиса построен с применением библиотек React+Redux, Plot.ly,
Semantic UI (ES6) под управлением сервера Nginx (FRONTEND). Операции ввода/вывода
BACKEND- и MIDDLEWARE-компонентов реализуются на базе распределенной файловой</p>
      <p>BACKEND-компонент представлен java-классами, реализующими непосредственно
расчетную
часть
алгоритма
классификации
и
дополнительными
классами,
имплементирующими методы предварительной обработки сейсмического сигнала и работы с
объектами Apache Spark API (рис .1).
системы HDFS (ОС Ubuntu 16.04).</p>
      <p>Описание веб-сервиса</p>
    </sec>
    <sec id="sec-2">
      <title>MIDDLEWARE, FRONTEND.</title>
      <p>Разработанный веб-сервис логически разделен на три составляющие: BACKEND,
Рис. 1. Диаграмма объектов BACKEND-компонента</p>
      <p>ClassificationProcessor основной класс, который отвечает за запуск процесса
классификации (рис. 2). Содержит подкласс classify наследующий объект Function Spark API
для передачи его в функцию map. Подкласс classify реализует программный алгоритм
классификации (классы SignalProcessor и DistanceClassifier), адаптированный для работы в
распределенном режиме на узлах кластера. Класс ClassificationProcessor обеспечивает
настройку среды исполнения (Executor) заданий посредством объекта SparkContext. В
ClassificationProcessor реализована процедура размещения неизменяемых объектов-констант
(Broadcast), содержащих
предварительно
рассчитанные данные (см.</p>
      <p>Оптимизация
алгоритма) в классах TemplateProcessor и</p>
    </sec>
    <sec id="sec-3">
      <title>MiniSEEDProcessor. Данные константы</title>
      <p>доступны со всех узлов кластера в общей памяти текущего контекстного объекта.
Данные
шаблонов хранятся в HDFS в CSV-файле. Класс
TemplateProcessor
поддерживает методы чтения, обработки данных CSV и построение массива    и ∑

 =1   ,
для каждого  -го отсчета, для добавления в пул общедоступных констант (Broadcast, см.
Оптимизация алгоритма).</p>
      <p>Класс MiniSEEDProcessor содержит методы работы с файлами miniSEED-формата при
помощи библиотеки iris-WS.jar. Она позволяет открывать, декодировать и считывать данные
из файлов каналов сейсмических записей. MiniSEEDProcessor реализует процедуру
синхронизации каналов по времени и формирования константы Broadcast для матрицы CH
(1), Так же в данном классе рассчитываются вспомогательные данные: длинна сигнала и
метаинформация по каждому каналу (название, частота дискретизации, начальное/конечное
время записи).</p>
      <p>Рис. 2. Фрагмент кода настройки контекста Spark и запуска расчетного задания класса</p>
    </sec>
    <sec id="sec-4">
      <title>ClassificationProcessor</title>
      <p>Результатом работы метода classify является JSON-файл (рис. 3), хранящийся в HDFS,
где каждая часть (выполненное задание) идентифицируется ключом partition, содержащим
свойства того или иного заключения карты классификаций.</p>
      <p>Рис. 3. Результат классификации суточной записи сейсмического сигнала в виде карты
классификаций в формате JSON</p>
      <p>MIDDLEWARE-компонент реализован на базе объектов языка ES6. Имплементирует
методы программного каркаса библиотеки NodeJS API. Функционирует как прокси-уровень
между FRONTEND и BACKEND, выступает в качестве обработчика пользовательских
HTTP-запросов для вызовов их методов.</p>
      <p>Для запуска задания на стороне BACKEND-компонента MIDDLEWARE-компонент
использует объекты router и request, предоставляемые стандартной библиотекой NodeJS
Express API. Данные объекты перенаправляют POST-запросы со стороны
FRONTENDкомпонента сервису Apache Livy (URL-адрес: http://livy-server:8998/batches). POST-запрос
содержит настройки параметров среды Apache Spark, менеджера ресурсов Apache YARN,
параметров расчетного модуля и управляющей программы-драйвера (рис. 4).
Рис. 4. JSON-объект (параметр body) в POST-запросе к сервису Apache Livy на удаленный
запуск Spark-задания
Ответом на POST-запрос является JSON-объект, состоящий из частей (partition) по
количеству параллельно выполненных задач. Для их объединения используется метод
getResultAsJSON (рис. 5).</p>
      <p>Рис. 5. Фрагмент кода метода getResultAsJSON
Для простоты взаимодействия объектов MIDDLEWARE-компонента с распределенной
файловой системой HDFS, она монтируется, как обычная директория в операционной
системе с использованием программного интерфейса FUSE (Filesystem in Userspace). Это
позволиляет осуществлять операции ввода/вывода на базе методов объекта NodeJS
FileSystem и обрабатывать соответствующие GET/POST-запросы со стороны FRONTEND
непосредственно в MIDDLEWARE-компоненте.</p>
      <p>FRONTEND-компонент представлен программными объектами-классами
отвечающими за графический интерфейс и взаимодействие с пользователями веб-сервиса.</p>
      <p>Основной функцией FRONTEND является удаленный запуск расчета алгоритма
классификации в системе Apache Spark и визуализация результатов в виде карты
классификаций (рис. 7). Программные объекты FRONTEND взаимодействуют с
компонентами MIDDLEWARE через протокол HTTP, c помощью библиотеки axios-js (рис.
6).</p>
      <p>Рис. 6. Фрагмент кода отправки задания в систему Apache Spark в компоненте FRONEND
(SubmitButton.js)
Веб-сервис (рис. 7.) поддерживает следующие функциональные возможности:
добавление/удаление файлов каналов сейсмостанции в формате miniSEED (сохраняются в
HDFS, доступны со всех узлов кластера) и формирование сейсмического сигнала; запуск
процесса классификации для выбранного сигнала, получение результатов с сервера, удаление
результата из HDFS; фильтрация отображения результата по времени; построение карты
классификации выбранного результата; аутентификации на базе системы Apache Hue;
просмотр данных каналов в соответствии с выбранным уровнем масштабирования карты
классификаций; поддержка русского/английского языка интерфейса.</p>
      <p>Рис. 7. Общий вид графического интерфейса веб-сервиса.
Тест по оценке производительности
Тест, направленный на оценку производительности системы, производился на примере
запуска процесса классификации набора суточных записей со станции BRCR. Проведено 150
запусков. Файлы сигналов (3 канала) не повторялись. В таблице 2 указано среднее время
работы алгоритма. Представлены 4 программные реализации алгоритма в средах Matlab, Java
(консольное приложение) – локальный тест, Java, Python (Spark API приложение) –
распределенный тест. Фиксировалось только время расчета от подачи входных параметров
(файлы каналов, файл шаблонов, параметры настройки Spark и др.), до получения
JSONфайлы карты классификаций.</p>
      <p>Таблица 1. Тест производительности программной реализации представленного
алгоритма классификации (время работы).</p>
    </sec>
    <sec id="sec-5">
      <title>Java Spark API</title>
    </sec>
    <sec id="sec-6">
      <title>Python Spark API</title>
    </sec>
    <sec id="sec-7">
      <title>Matlab</title>
    </sec>
    <sec id="sec-8">
      <title>Java</title>
      <p>Программный код запускается
параллельно на 30 вычислительных
ядрах, с разбивкой на partitions</p>
      <p>Программный код запускается
последовательно, без применения</p>
      <p>Apache Spark API
Суточная запись
Время
работы 27 34 3574 801
(сек.)
Время Недельный таймфрейм
работы 224 283 25145 5599
(сек.)
Примечание. Суточная запись, синхронизированная по каналам в среднем, составляла
8355839 отчетов с интервалом в 10 мс или 83558 сдвигов. Аппаратное обеспечение: 2
сервера (AMD Ryzen 1700 (8+8 cores (Simultaneous Multi-Threading)) 3.2 GHz, 16Gb RAM,
1Gb/s скорость передачи данных между серверами). Локальный тест проводился на одном
сервере.</p>
      <p>Авторами проведены сравнения с протоколами наблюдений службы геофизического
мониторинга Кемеровской области. Полученные результаты в 95% случаев (выборка 2013
года, всего около 500 событий (промышленный взрыв), с двух станций) полностью совпадали
по типам заключений.</p>
      <p>Заключение
Разработан веб-сервис для детерминирования и идентификации сейсмических событий
с возможностью построения визуальных карт классификаций. Графическое представление
элементов (заключений), распределенных во времени прохождения волны в заданном
интервале, описывается классами возмущений сейсмического сигнала на базе
характеристических функций (шаблонов). Алгоритм классификации, применяемый в
вычислительном ядре сервиса успешно адаптирован для его запуска в распределенном
режиме реализации на основе массово-параллельного исполнения заданий в среде Apache
Spark. Проведенные тесты производительности показали, что предложенный подход к
оптимизации математической модели и программной реализации алгоритма, позволяет
применять его для потоковой обработки сигнала в виду очень малого времени выполнения
программного кода.</p>
      <p>В работе продемонстрированы механизмы интеграции современных веб-технологий
построения интернет-приложений с элементами кластерной инфраструктуры. По мнению
авторов, такой подход позволит разрабатывать подобные решения и в других областях
научно-технической деятельности.</p>
      <p>Исследование выполнено при финансовой поддержке РФФИ в рамках научного проекта
№ 18-07-00013 А.</p>
      <p>ЛИТЕРАТУРА
[1]. Scarpetta S., Giudicepietro F., Ezin E. C., Petrosino S., Del Pezzo E., Martini M.,
Marinaro M. Automatic Classification of Seismic Signals at Mt. Vesuvius Volcano, Italy, Using
Neural Networks // Bulletin of the Seismological Society of America, 2005. Vol. 95, No. 1. P.
185196.</p>
      <p>[2]. Benbrahim M., Daoudi A., Benjelloun K., Ibenbrahim A. Discrimination of Seismic
Signals Using Artificial Neural Networks // Proceedings of world academy of science, engineering
and technology. 2005. Vol. 4. P. 4-7.</p>
      <p>[3]. Diersena S., Leeb E-J., Spearsc D., Chenb P., Wanga L. Classification of Seismic
Windows Using Artificial Neural Networks // Procedia Computer Science. 2011. Vol. 4. P.
15721581.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>. Hamer R. M.</given-names>
            ,
            <surname>Cunningham</surname>
          </string-name>
          <string-name>
            <surname>J. W.</surname>
          </string-name>
          <article-title>Cluster analyzing profile data confounded with interrater differences: A comparison of profile association measures</article-title>
          .
          <source>Applied Psychological Measurement</source>
          .
          <year>1981</year>
          . Vol.
          <volume>5</volume>
          . P.
          <volume>63</volume>
          -
          <fpage>72</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [5]. Kedrov
          <string-name>
            <given-names>E.O.</given-names>
            ,
            <surname>Kedrov</surname>
          </string-name>
          <string-name>
            <surname>O.K.</surname>
          </string-name>
          <article-title>Spectral time method of identification of seismic events at</article-title>
          distances of 15°-40° // Izvestiya, Physics of the Solid Earth.
          <year>2006</year>
          . Vol.
          <volume>42</volume>
          . No. 5. P.
          <volume>398</volume>
          -
          <fpage>415</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [6]. Langer H.,
          <string-name>
            <surname>Falsaperla</surname>
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Powell</surname>
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Thompson</surname>
            <given-names>G</given-names>
          </string-name>
          .
          <article-title>Automatic classification and aposteriori analysis of seismic event identification at Soufrière Hills volcano</article-title>
          , Montserrat // Journal of Volcanology and Geothermal Research.
          <source>Elsevier 2006</source>
          . Vol.
          <volume>153</volume>
          (
          <issue>1</issue>
          ). P. 1-
          <fpage>10</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>. Lyubushin</given-names>
            <surname>Jr.</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.A.</given-names>
            ,
            <surname>Kaláb</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            and
            <surname>Častová</surname>
          </string-name>
          ,
          <string-name>
            <surname>N.</surname>
          </string-name>
          <article-title>Application of Wavelet Analysis to the Automatic Classification of Three-Component Seismic Records</article-title>
          .
          <source>Izvestiya, Physics of the Solid Earth</source>
          ,
          <year>2004</year>
          . Vol.
          <volume>40</volume>
          . No.7. P.
          <volume>587</volume>
          -
          <fpage>593</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [8]. Musil
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Pleginger</surname>
          </string-name>
          <string-name>
            <surname>A</surname>
          </string-name>
          .
          <article-title>Discrimination between Local Microearthquakes and Quarry Blasts by Multi-Layer Perceptrons</article-title>
          and Kohonen Maps // Bulletin of the Seismological Society of America,
          <year>1996</year>
          . Vol.
          <volume>86</volume>
          . No. 4. P.
          <volume>1077</volume>
          -
          <fpage>1090</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [9]. Ryzhikov
          <string-name>
            <given-names>G. A.</given-names>
            ,
            <surname>Biryulina</surname>
          </string-name>
          <string-name>
            <given-names>M. S.</given-names>
            ,
            <surname>Husebye</surname>
          </string-name>
          <string-name>
            <surname>E. S.</surname>
          </string-name>
          <article-title>A novel approach to automatic monitoring of regional seismic events /</article-title>
          / IRIS Newsletter.
          <year>1996</year>
          . Vol. XV, No. 1. P.
          <volume>12</volume>
          -
          <fpage>14</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [10]. Shimshoni
          <string-name>
            <given-names>Y.</given-names>
            ,
            <surname>Intrator</surname>
          </string-name>
          <string-name>
            <surname>N.</surname>
          </string-name>
          <article-title>Classification of Seismic Signals by Integrating Ensembles of Neural Networks // IEEE transactions on signal processing</article-title>
          .
          <source>1998</source>
          . Vol.
          <volume>46</volume>
          . No. 5. P.
          <volume>1194</volume>
          -
          <fpage>1201</fpage>
          [11]. Ryan
          <string-name>
            <given-names>T. M.</given-names>
            ,
            <surname>Borisov</surname>
          </string-name>
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Lefebvre</surname>
          </string-name>
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Tromp</surname>
          </string-name>
          <string-name>
            <surname>J</surname>
          </string-name>
          . SeisFlows - Flexible waveform inversion software // Computers &amp; Geosciences.
          <year>2018</year>
          . Vol.
          <volume>115</volume>
          . P.
          <volume>88</volume>
          -
          <fpage>95</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [12]. Philippe Lesage.
          <article-title>Interactive Matlab software for the analysis of seismic volcanic signals</article-title>
          // Computers &amp; Geosciences.
          <year>2009</year>
          . Vol.
          <volume>35</volume>
          .
          <string-name>
            <surname>Iss</surname>
          </string-name>
          . 10. P.
          <volume>2137</volume>
          -
          <fpage>2144</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [13]. Wenxiang Jiang,
          <string-name>
            <given-names>Haiying</given-names>
            <surname>Yu</surname>
          </string-name>
          ,
          <string-name>
            <surname>Li</surname>
            <given-names>Li</given-names>
          </string-name>
          &amp;
          <string-name>
            <given-names>Lei</given-names>
            <surname>Huang</surname>
          </string-name>
          .
          <source>A Robust Algorithm for Earthquake Detector // Proceedings of the 15 World Conference on Earthquake Engineering</source>
          . Lisbon. Portugal.
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [14]. Isaac Álvarez, Luz García, Sonia Mota, Guillermo Cortés, Carmen Benítez, and
          <string-name>
            <surname>Ángel De la Torre. An Automatic P-Phase Picking Algorithm Basedon Adaptive</surname>
          </string-name>
          Multiband Processing // IEEE Geoscience and
          <article-title>remote sensing letters</article-title>
          .
          <source>2013</source>
          . Vol.
          <volume>10</volume>
          , No. 6,
          <string-name>
            <surname>P.</surname>
          </string-name>
          1488-
          <fpage>1492</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [15]. Guilherme
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>António</surname>
          </string-name>
          <string-name>
            <surname>R.</surname>
          </string-name>
          <article-title>A neural network seismic detector // IFAC Proceedings Volumes</article-title>
          .
          <year>2009</year>
          . Vol.
          <volume>42</volume>
          ,
          <string-name>
            <surname>Iss</surname>
          </string-name>
          . 19. P.
          <volume>304</volume>
          -
          <fpage>309</fpage>
          [16]. Clara E. Y.,
          <string-name>
            <surname>Ossian O'R.</surname>
          </string-name>
          ,
          <string-name>
            <surname>Karianne</surname>
            <given-names>J. B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Beroza G.C.</surname>
          </string-name>
          <article-title>Earthquake detection through computationally efficient similarity search</article-title>
          // Science Advances.
          <year>2015</year>
          . Vol.
          <volume>1</volume>
          .
          <string-name>
            <surname>P.</surname>
          </string-name>
          e1501057(
          <issue>1-13</issue>
          ) [
          <volume>17</volume>
          ]. Paul
          <string-name>
            <given-names>B. Q.</given-names>
            ,
            <surname>Pierre</surname>
          </string-name>
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Yoann</surname>
          </string-name>
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>Munkhuu</surname>
          </string-name>
          <string-name>
            <surname>U</surname>
          </string-name>
          .
          <article-title>Detection and classification of seismic events with progressive multichannel correlation and hidden Markov models</article-title>
          // Computers &amp; Geosciences.
          <year>2015</year>
          . Vol 83. P.
          <volume>110</volume>
          -
          <fpage>119</fpage>
          [18]. «IRIS. Incorporated Research Institutions for Seismology» [Электронный ресурс]. - Режим доступа: https://www.iris.edu/hq/ (дата обращения:
          <volume>04</volume>
          .
          <fpage>05</fpage>
          .
          <year>2018</year>
          ) [
          <volume>19</volume>
          ]. José Emilio Romero, Manuel Titos, Ángel Bueno, Isaac Álvarez, Luz García, Ángel de la Torre,
          <string-name>
            <given-names>M</given-names>
            <surname>Carmen</surname>
          </string-name>
          <article-title>Benítez</article-title>
          .
          <article-title>APASVO: A free software tool for automatic P-phase picking and event</article-title>
          detection in seismic traces // Computers &amp; Geosciences.
          <year>2016</year>
          . Vol.
          <volume>90</volume>
          .
          <string-name>
            <surname>Part</surname>
            <given-names>A. P.</given-names>
          </string-name>
          213-
          <fpage>220</fpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>