Skip to main content

Сравнение хэш-сумм метрик за период

Для сравнения хэш-сумм используется функция хэширования SHA256. Хэшируется JSON строка выборки данных за указанный период. Структура данных для метрик по устройствам и метрикам по переходам указана ниже. 

Обязательно условия выборки данных:

  1. Сортировка:
    1. Для переходов
      1. portal_id - по возрастанию
      2. metric_type - по возрастанию
    2. Для устройств
      1. device_id - по возрастанию
      2. sensor_id - по возрастанию
      3. metric_type - по возрастанию
  2. Порядок полей: 
    1. Для переходов
      1. portal_id
      2. metric_type
      3. count
      4. modify_data
    2. Для устройств
      1. device_id
      2. sensor_id
      3. metric_type
      4. count
  3. В строке JSON должны быть полностью исключены все символы кроме значимых (исключить пробелы, переносы строк и т.п.).

Тело ответа на запрос хэш-суммы за период:

{
    "error_flag": 0,
    "messages": [],
    "payload": {
        "agent_id": "de61e105-f743-44aa-b1ab-f799cd513229",
        "from": 1679300100,
        "to": 1679300300,
        "hash_device": "831e7c6c89053b74840fbc72e972d10c24757d4225784e1c7ab25a5e08199e04",
        "hash_portal": "ffa45493d81296512e0eea5a80c456e5938159b0f5aba5d59318c60d8df6a489"
    }
}

 

Пример структуры для переходов:

[
    {
        "portal_id": "75c1f93c-6d8f-4bf0-bb1c-f5852e178b88",
        "metric_type": "in",
        "count": 15,
        "modify_data": 0
    },
    {
        "portal_id": "75c1f93c-6d8f-4bf0-bb1c-f5852e178b88",
        "metric_type": "out",
        "count": 11,
        "modify_data": 0
    },
    {
        "portal_id": "75c1f93c-6d8f-4bf0-bb1c-f5852e178b88",
        "metric_type": "pass",
        "count": 11,
        "modify_data": 0
    },
    {
        "portal_id": "75c1f93c-6d8f-4bf0-bb1c-f5852e178b88",
        "metric_type": "unknown",
        "count": 11,
        "modify_data": 0
    }
]

Пример структуры для устройств:

[
    {
        "device_id": "75c1f93c-238f-4bf0-bb1c-f5852e178b88",
      	"sensor_id": "45c1f93c-6d8f-4650-bb1c-f5852e156b78",
        "metric_type": "in",
        "count": 15
    },
    {
        "device_id": "75c1f93c-238f-4bf0-bb1c-f5852e178b88",
      	"sensor_id": "45c1f93c-6d8f-4650-bb1c-f5852e156b78",
        "metric_type": "out",
        "count": 11
    },
    {
        "device_id": "75c1f93c-238f-4bf0-bb1c-f5852e178b88",
      	"sensor_id": "45c1f93c-6d8f-4650-bb1c-f5852e156b78",
        "metric_type": "pass",
        "count": 11
    },
    {
        "device_id": "05b0b047-013f-4b88-8534-b2ddecf80384",
      	"sensor_id": "45c1f93c-6d8f-4650-bb1c-f5852e156b78",
        "metric_type": "unknown",
        "count": 11
    }
]