Udostępnij za pośrednictwem


Model szeregów czasowych w usłudze Azure Time Series Insights Gen2

Uwaga

Usługa Time Series Insights zostanie wycofana 7 lipca 2024 r. Rozważ migrację istniejących środowisk do alternatywnych rozwiązań tak szybko, jak to możliwe. Aby uzyskać więcej informacji na temat wycofywania i migracji, odwiedź naszą dokumentację.

W tym artykule opisano model szeregów czasowych, możliwości oraz sposób rozpoczęcia tworzenia i aktualizowania własnych modeli w środowisku usługi Azure Time Series Insights Gen2.

Napiwek

Podsumowanie

Tradycyjnie dane zbierane z urządzeń IoT nie zawierają informacji kontekstowych, co utrudnia szybkie znajdowanie i analizowanie czujników. Główną motywacją modelu szeregów czasowych jest uproszczenie znajdowania i analizowania danych IoT lub Time Series. Pozwala to osiągnąć ten cel, umożliwiając zarządzanie, konserwację i wzbogacanie danych szeregów czasowych, aby ułatwić przygotowanie zestawów danych gotowych do użycia przez konsumentów na potrzeby analizy.

Scenariusz: nowy inteligentny piekarnik firmy Contoso

Rozważ fikcyjny scenariusz inteligentnego piekarnika Firmy Contoso. W tym scenariuszu załóżmy, że każdy inteligentny piekarnik Firmy Contoso ma pięć czujników temperatury, jeden dla każdego z czterech najlepszych palników i jeden dla samego piekarnika. Do niedawna każdy czujnik temperatury firmy Contoso wysyłał, przechowywał i wizualizować dane osobno. Na potrzeby monitorowania urządzenia kuchennego firma Contoso oparła się na podstawowych wykresach, po jednym dla każdego czujnika.

Chociaż firma Contoso była zadowolona z początkowego rozwiązania do przetwarzania danych i wizualizacji, stało się oczywiste kilka ograniczeń:

  • Klienci chcieli wiedzieć, jak gorący ogólny piekarnik dostanie, gdy większość najlepszych palników była na. Firma Contoso miała większe trudności z analizowaniem i prezentowaniem ujednoliconej odpowiedzi na temat warunków ogólnego piekarnika.
  • Inżynierowie firmy Contoso chcieli sprawdzić, czy uruchamiane jednocześnie najważniejsze palniki nie spowodują nieefektywnego zużycia energii. Wystąpił problem podczas odwoływania się do tego, które czujniki temperatury i napięcia były ze sobą powiązane i jak je zlokalizować w sklepie.
  • Zespół ds. kontroli jakości firmy Contoso chciał przeprowadzić inspekcję i porównać historię między dwiema wersjami czujników. Trudno było określić, jakie dane należą do której wersji czujnika.

Bez możliwości struktury, organizowania i definiowania nadrzędnego modelu szeregów czasowych inteligentnego piekarnika każdy czujnik temperatury utrzymuje zwichnięty, izolowany i mniej informacyjny punkt danych. Przekształcenie tych punktów danych w szczegółowe informacje umożliwiające podejmowanie działań było trudniejsze, ponieważ każdy zestaw danych żył niezależnie od innych.

Te ograniczenia ujawniły znaczenie inteligentnych narzędzi agregacji danych i wizualizacji, które mają towarzyszyć nowemu piekarnikowi firmy Contoso:

  • Wizualizacja danych okazuje się przydatna, gdy możesz skojarzyć i połączyć dane w wygodny widok. Przykład przedstawia czujniki napięcia wraz z czujnikami temperatury.
  • Zarządzanie danymi wielowymiarowymi dla kilku jednostek wraz z porównaniem, powiększaniem i funkcjami zakresu czasu może być trudne do osiągnięcia.

Model szeregów czasowych zapewnia wygodne rozwiązanie dla wielu scenariuszy napotkanych w tym fikcyjnym przykładzie:

Przykład wykresu inteligentnego piekarnika modelu szeregów czasowych

  • Model szeregów czasowych odgrywa istotną rolę w zapytaniach i nawigacji, ponieważ kontekstuje dane, umożliwiając rysowanie porównań między zakresami czasu a rodzajami czujników i urządzeń. (A)
  • Dane są dalej kontekstowe, ponieważ dane utrwalone w modelu szeregów czasowych zachowują obliczenia zapytań szeregów czasowych jako zmienne i ponownie są używane w czasie wykonywania zapytań.
  • Model szeregów czasowych organizuje i agreguje dane w celu uzyskania ulepszonych możliwości wizualizacji i zarządzania. (B)

Najważniejsze możliwości

Dzięki temu, że zarządzanie kontekstem szeregów czasowych jest proste i łatwe, model szeregów czasowych umożliwia korzystanie z następujących funkcji w usłudze Azure Time Series Insights Gen2. Ułatwia to:

  • Tworzenie obliczeń lub formuł oraz zarządzanie nimi przy użyciu funkcji skalarnych, operacji agregacji itd.
  • Zdefiniuj relacje nadrzędno-podrzędne, aby włączyć nawigację, wyszukiwanie i odwołanie.
  • Zdefiniuj właściwości skojarzone z wystąpieniami zdefiniowanymi jako pola wystąpienia i użyj ich do tworzenia hierarchii.

Składniki

Model szeregów czasowych ma trzy podstawowe składniki:

Te składniki są łączone w celu określenia modelu szeregów czasowych i organizowania danych.

Wykres przeglądu modelu szeregów czasowych

Model szeregów czasowych można utworzyć i zarządzać nimi za pośrednictwem Eksploratora usługi Azure Time Series Insights. Ustawienia modelu szeregów czasowych można zarządzać za pomocą interfejsu API ustawień modelu.

Wystąpienia modelu szeregów czasowych

Wystąpienia modelu szeregów czasowych to wirtualne reprezentacje samych szeregów czasowych.

W większości przypadków wystąpienia są jednoznacznie identyfikowane przez identyfikatory deviceId lub assetId, które są zapisywane jako identyfikatory szeregów czasowych.

Wystąpienia mają skojarzone z nimi opisowe informacje o nazwach właściwości wystąpienia, takie jak identyfikator szeregów czasowych, typ, nazwa, opis, hierarchie i pola wystąpienia. Co najmniej właściwości wystąpienia zawierają informacje o hierarchii.

Pola wystąpienia to zbiór informacji opisowych, które mogą zawierać wartości poziomów hierarchii, a także producenta, operatora itd.

Po skonfigurowaniu źródła zdarzeń dla środowiska usługi Azure Time Series Insights Gen2 wystąpienia są automatycznie odnajdywane i tworzone w modelu szeregów czasowych. Wystąpienia można tworzyć lub aktualizować za pośrednictwem Eksploratora usługi Azure Time Series Insights przy użyciu zapytań modelu szeregów czasowych.

Pokaz firmy Contoso Wind Farm zawiera kilka przykładów wystąpienia na żywo.

Przykład wystąpienia modelu szeregów czasowych

Właściwości wystąpienia

Wystąpienia są definiowane przez atrybut timeSeriesId, typeId, name, description, hierarchyIds i instanceFields. Każde wystąpienie mapuje tylko na jeden typ i co najmniej jedną hierarchię.

Właściwości opis
timeSeriesId Unikatowy identyfikator szeregów czasowych, z których jest skojarzone wystąpienie. W większości przypadków wystąpienia są jednoznacznie identyfikowane przez właściwość, na przykład deviceId lub assetId. W niektórych przypadkach można użyć bardziej szczegółowego identyfikatora złożonego łączącego maksymalnie 3 właściwości.
typeId Unikatowy identyfikator ciągu z uwzględnieniem wielkości liter typu modelu szeregów czasowych, z który jest skojarzone wystąpienie. Domyślnie wszystkie odnalezione nowe wystąpienia są skojarzone z typem domyślnym.
name Właściwość name jest opcjonalna i uwzględnia wielkość liter. Jeśli nazwa jest niedostępna, wartość domyślna to timeSeriesId. Jeśli podano nazwę, identyfikator timeSeriesId jest nadal dostępny w studni.
opis Opis tekstowy wystąpienia.
hierarchyIds Definiuje hierarchie, do których należy wystąpienie.
instanceFields Właściwości wystąpienia i wszystkie dane statyczne definiujące wystąpienie. Definiują one wartości właściwości hierarchii lub nie hierarchii, a jednocześnie obsługują indeksowanie w celu wykonywania operacji wyszukiwania.

Uwaga

Hierarchie są tworzone przy użyciu pól wystąpienia. Dodatkowe wystąpieniaPola można dodać w celu uzyskania dalszych definicji właściwości wystąpienia.

Wystąpienia mają następującą reprezentację w formacie 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"
  }
}

Napiwek

W przypadku obsługi tworzenia, odczytywania, aktualizowania i usuwania interfejsu API wystąpienia (CRUD) przeczytaj artykuł Wykonywanie zapytań dotyczących danych i dokumentację REST interfejsu API wystąpień.

Hierarchie modeli szeregów czasowych

Hierarchie modelu szeregów czasowych organizują wystąpienia, określając nazwy właściwości i ich relacje.

W danym środowisku usługi Azure Time Series Insights Gen2 można skonfigurować wiele hierarchii. Wystąpienie modelu szeregów czasowych może mapować na jedną hierarchię lub wiele hierarchii (relacja wiele-do-wielu).

Pokaz farmy wiatrowej Firmy Contoso przedstawia standardowe wystąpienie i hierarchię typów.

Przykład hierarchii modelu szeregów czasowych

Definicja hierarchii

Hierarchie są definiowane przez identyfikator hierarchii, nazwę i źródło.

Właściwości opis
identyfikator Unikatowy identyfikator hierarchii, który jest używany na przykład podczas definiowania wystąpienia.
name Ciąg używany do podania nazwy hierarchii.
source Określa hierarchię organizacyjną lub ścieżkę, która jest kolejnością nadrzędny-podrzędna hierarchii, którą użytkownicy chcą utworzyć. Pola wystąpienia mapowania właściwości nadrzędny-podrzędny.

Hierarchie są reprezentowane w formacie JSON jako:

{
  "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"
        ]
      }
    }
  ]
}

W poprzednim przykładzie JSON:

  • Location definiuje hierarchię z elementem nadrzędnym i podrzędnym statescities. Każdy location może mieć wiele stateselementów , co z kolei może mieć wiele citieselementów .
  • ManufactureDate definiuje hierarchię z elementem nadrzędnym i podrzędnym yearmonth. Każdy ManufactureDate może mieć wiele yearselementów , co z kolei może mieć wiele monthselementów .

Napiwek

W przypadku obsługi tworzenia, odczytywania, aktualizowania i usuwania (CRUD) interfejsu API hierarchii zapoznaj się z artykułem Dotyczącym wykonywania zapytań dotyczących danych i dokumentacją REST interfejsu API hierarchii.

Przykład hierarchii

Rozważmy przykład, w którym hierarchia H1 ma buildingwartość , floori room w ramach definicji instanceFieldNames:

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

Biorąc pod uwagę pola wystąpienia używane w poprzedniej definicji i kilku szeregach czasowych, atrybuty hierarchii i wartości są wyświetlane w poniższej tabeli:

Identyfikator szeregu czasowego Pola wystąpienia
ID1 "building" = "1000", "floor" = "10", "room" = "55"
ID2 "building" = "1000", "room" = "55"
ID3 "floor" = "10"
ID4 "building" = "1000", "floor" = "10"
ID5 Żaden z "budynku", "piętro" lub "pokój" nie jest ustawiony.

Identyfikator szeregów czasowych 1 i ID4 są wyświetlane jako część hierarchii H1 w Eksploratorze usługi Azure Time Series Insights, ponieważ mają w pełni zdefiniowane i poprawnie uporządkowane parametry budynku, podłogi i pomieszczenia.

Pozostałe są klasyfikowane w obszarze Wystąpienia nieparzyste, ponieważ nie są zgodne z określoną hierarchią danych.

Typy modeli szeregów czasowych

Typy modeli szeregów czasowych ułatwiają definiowanie zmiennych lub formuł do wykonywania obliczeń. Typy są skojarzone z określonym wystąpieniem.

Typ może mieć co najmniej jedną zmienną. Na przykład wystąpienie modelu szeregów czasowych może być typu Czujnik temperatury, który składa się ze zmiennych średniej temperatury, minimalnej temperatury i maksymalnej temperatury.

Pokaz farmy wiatrowej firmy Contoso wizualizuje kilka typów modeli szeregów czasowych skojarzonych z odpowiednimi wystąpieniami.

Przykładowy typ modelu szeregów czasowych

Napiwek

W przypadku obsługi interfejsu API typów tworzenie, odczytywanie, aktualizowanie i usuwanie (CRUD) zawiera artykuł Dotyczący wykonywania zapytań dotyczących danych i dokumentację REST interfejsu API typów.

Właściwości typu

Typy modeli szeregów czasowych są definiowane według identyfikatora, nazwy, opisu i zmiennych.

Właściwości opis
identyfikator Unikatowy identyfikator ciągu z uwzględnieniem wielkości liter dla typu.
name Ciąg używany do podania nazwy typu.
opis Opis ciągu dla typu.
zmienne Określ zmienne skojarzone z typem.

Typy są zgodne z następującym przykładem 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)"
          }
        }
      }
    }
  ]
}

Typy modeli szeregów czasowych mogą mieć wiele zmiennych określających reguły formuł i obliczeń dla zdarzeń. Dowiedz się więcej o sposobie definiowania zmiennych modelu szeregów czasowych

Następne kroki