Описание модели временных рядов в Аналитике временных рядов Azure 2-го поколения.

Примечание.

Служба временных рядов Аналитика (TSI) больше не будет поддерживаться после марта 2025 года. Попробуйте перенести существующие среды TSI в альтернативные решения как можно скорее. Дополнительные сведения об устаревании и миграции см. в нашей документации.

В этой статье описывается модель временных рядов, возможности и способы создания и обновления собственных моделей в среде Аналитики временных рядов Azure 2-го поколения.

Совет

Итоги

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

Сценарий: новая интеллектуальная печь компании Contoso

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

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

  • Часто клиенты включают верхние нагреватели и хотят узнать, насколько нагрелась печь в целом. В таких случаях возникали сложности при анализе и подготовке ответа об общей температуре в печи.
  • Инженеры компании Contoso хотели убедиться, что одновременное включение верхних нагревателей, не приведет к неправильному отображению температуры. Также возникли трудности с определением взаимного влияния датчиков температуры и напряжения, а также их размещением.
  • Группа специалистов по контролю качества Contoso хотела проводить аудит и сравнить данных двух версий датчиков. Возникли трудности и при определении того, какие данные принадлежат датчику определенной версии.

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

Эти ограничения показали, насколько важно использовать средства для агрегирования и визуализации интеллектуальных данных в новой печи Contoso:

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

Модель временных рядов предоставляет удобное решение для многих сценариев, описанных в нашем примере:

Time Series Model smart oven charting example

  • Модель временных рядов играет важную роль в запросах и навигации, так как увязывает данные с контекстом, позволяя проводить сравнения в пределах временных диапазонов, а также разных датчиков и типов устройств. (A)
  • В дальнейшем данные уже связаны с контекстом в модели временных рядов, поскольку результаты запросов временных рядов сохраняются в виде переменных и повторно используются при выполнении запроса.
  • Модель временных рядов упорядочивает и объединяет данные, что улучшает возможности для визуализации и управления. (B)

Основные возможности

Чтобы упростить и облегчить управление контекстом временного ряда, модель временного ряда обладает следующими возможностями в среде "Аналитика временных рядов (предварительная версия)". Она поможет вам в следующих аспектах.

  • Создание вычислений или формул, использование скалярных функций, статистических операций и т. д.
  • Определите связи типа «родители-потомки» для включения поиска и получения ссылок.
  • Определение свойств, которые связаны с экземплярами и входят в поля экземпляров, а также использование их для создания иерархий.

Компоненты

Модель временного ряда содержит три основных компонента:

Эти компоненты объединяются для использования в модели временных рядов и при организации данных.

Time Series Model overview chart

Модели временных рядов можно создавать и управлять ими с помощью обозревателя службы аналитика временных рядов Azure. Параметрами модели временных рядов можно управлять через параметров модели API.

Экземпляры модели временного ряда

Экземпляры модели временных рядов — это виртуальные представления самих временных рядов.

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

Экземпляры содержат описательные сведения, так называемые свойствами экземпляра, например, поля идентификатора временного ряда, типа, имени, описания, иерархии и экземпляра. Свойства экземпляр содержат, как минимум, сведения об иерархии.

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

После настройки источника событий для среды Аналитика временных рядов второго поколения экземпляры определяются автоматически и создаются в модели временных рядов. Экземпляры можно создавать или обновлять с помощью обозревателя службы Аналитика временных рядов Azure с помощью запросов модели временных рядов.

Демонстрационная версия ветряной электростанции Contoso содержит несколько примеров динамических экземпляров.

Time Series Model instance example

Свойства экземпляра

Экземпляры определяются переменными timeSeriesId, typeId, name, description, hierarchyIds и instanceFields. Каждый экземпляр сопоставляется только с одним типом и одной или несколькими иерархиями.

Свойство Description
timeSeriesId Уникальный идентификатор временного ряда, с которым связан экземпляр. В большинстве случаев экземпляры имеют уникальные идентификаторы, например deviceId или assetId. В некоторых случаях можно использовать более конкретный составной идентификатор, который соединяет до 3 свойств.
typeId Уникальный идентификатор строки с учетом регистра для типа модели временных рядов, с которым связан экземпляр. По умолчанию все обнаруженные новые экземпляры связаны с типом по умолчанию.
имя Свойство name является необязательным, и в нем учитывается регистр. Если свойство name недоступно, по умолчанию используется значение timeSeriesId. Если имя указано, параметр timeSeriesId остается доступным в разделе.
description Текстовое описание экземпляра.
hierarchyIds Определяет, к каким иерархиям принадлежит экземпляр.
instanceFields Это свойства экземпляра и любые статические данные, определяющие этот экземпляр. Они определяют значения свойств иерархии или неиерархические свойства и в то же время обеспечивают индексацию для выполнения операций поиска.

Примечание.

Иерархии создаются с помощью полей экземпляров. Дополнительные поля instanceFields можно добавить в дальнейшем для определения свойств экземпляров.

Экземпляры имеют следующее представление JSON:

{
  "timeSeriesId": ["PU2"],
  "typeId": "545314a5-7166-4b90-abb9-fd93966fa39b",
  "hierarchyIds": ["95f0a8d1-a3ef-4549-b4b3-f138856b3a12"],
  "description": "Pump #2",
  "instanceFields": {
    "Location": "Redmond",
    "Fleet": "Fleet 5",
    "Unit": "Pump Unit 3",
    "Manufacturer": "Contoso",
    "ScalePres": "0.54",
    "scaleTemp": "0.54"
  }
}

Совет

Инструкции по созданию, чтению, обновлению и удалению экземпляра API (CRUD) см. в статье Запросы данных, а также в документации по экземпляру API.

Иерархии модели временного ряда

Иерархии модели временных рядов позволяют упорядочить экземпляры, определяя имена свойств и связи между ними.

Вы можете настроить несколько иерархий в определенной среде Аналитики временных рядов Azure второго поколения. Экземпляр модели временного ряда можно сопоставить с одной или несколькими иерархиями (по принципу многие-ко-многим).

В среде демонстрационной версии ветряной электростанции Contoso показан стандартный экземпляр и иерархия типов.

Time Series Model hierarchy example

Определение иерархии

Иерархии определяются идентификатором, именем и источником иерархии.

Свойство Description
id Уникальный идентификатор иерархии, который используется, например, при определении экземпляра.
имя Строка, используемая для предоставления имени иерархии.
source Иерархия содержат нисходящий путь от родительских к дочерним элементам, который пользователи создают по своему усмотрению. Карта связей родителей и потомков определяет поле экземпляров.

Иерархии представлены в формате JSON следующим образом:

{
  "hierarchies": [
    {
      "id": "6e292e54-9a26-4be1-9034-607d71492707",
      "name": "Location",
      "source": {
        "instanceFieldNames": [
          "state",
          "city"
        ]
      }
    },
    {
      "id": "a28fd14c-6b98-4ab5-9301-3840f142d30e",
      "name": "ManufactureDate",
      "source": {
        "instanceFieldNames": [
          "year",
          "month"
        ]
      }
    }
  ]
}

В предыдущем примере JSON:

  • Location определяет иерархию с для родительского states и дочернего cities элементов. locationУ каждого из них может быть несколько states, которые, в свою очередь, могут иметь несколько cities.
  • ManufactureDate определяет иерархию с для родительского year и дочернего month элементов. ManufactureDateУ каждого из них может быть несколько years, которые, в свою очередь, могут иметь несколько months.

Совет

Инструкции по созданию, чтению, обновлению и удалению иерархии API (CRUD) см. в статье Запросы данных, а также в документации по иерархии API.

Пример иерархии

Рассмотрим пример, в котором иерархия H1 имеет building, floor и room, как часть определения instanceFieldNames:

{
  "id": "aaaaaa-bbbbb-ccccc-ddddd-111111",
  "name": "H1",
  "source": {
    "instanceFieldNames": [
      "building",
      "floor",
      "room"
    ]
  }
}

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

ИД временного ряда Поля экземпляров
ID1 "здание" = "1000", "этаж" = "10", "комната" = "55"
ID2 "здание" = "1000", "комната" = "55"
ID3 "этаж" = "10"
ID4 "здание" = "1000", "этаж" = "10"
ID5 Значения "здание", "этаж" и "комната" не заданы.

Временные ряды ID1 and ID4 отображаются как часть иерархии H1 в обозревателе службы Аналитика временных рядов Azure, так как они полностью определены и содержат правильно упорядоченные параметры здание, этаж и комната.

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

Типы модели временного ряда

Типы моделей временных рядов помогают определить переменные или формулы для выполнения вычислений. Типы связаны с конкретным экземпляром.

Один тип может содержать одну или несколько переменных. Например, экземпляр модели аналитики временных рядов может иметь тип Датчик температуры, который состоит из переменных ср_температура, мин_температураи макс_температура.

В демонстрационной версии ветряной электростанции Contoso показано типов временных рядов, связанных с соответствующими экземплярами.

Time Series Model type example

Совет

Инструкции по созданию, чтению, обновлению и удалению типов API (CRUD) см. в статье Запросы данных, а также в документации по типам API.

Свойства типа

Типы моделей временных рядов определяются по идентификатору, имени, описаниюи переменным.

Свойство Description
id Уникальный идентификатор строки для типа с учетом регистра.
имя Строка, используемая для предоставления имени типа.
description Строковое описание для ключевого показателя эффективности.
переменные Укажите переменные, связанные с типом.

Типы соответствуют следующему примеру JSON:

{
  "types": [
    {
      "id": "1be09af9-f089-4d6b-9f0b-48018b5f7393",
      "name": "DefaultType",
      "description": "Default type",
      "variables": {
        "EventCount": {
          "kind": "aggregate",
          "value": null,
          "filter": null,
          "aggregation": {
            "tsx": "count()"
          }
        },
        "Interpolated Speed": {
          "kind": "numeric",
          "value": {
              "tsx": "$event['Speed-Sensor'].Double"
          },
          "filter": null,
          "interpolation": {
              "kind": "step",
              "boundary": {
                  "span": "P1D"
              }
          },
          "aggregation": {
              "tsx": "right($value)"
          }
        }
      }
    }
  ]
}

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

Следующие шаги