@INTERNALINTERFERENCE

Как построить дерево?

У меня есть таблица, в которую прилетает по 2-10к событий в секунду. Все это с виртуализацией показывается на ui, но проблема в другом.
Данные, которые прилетают в коллекцию, необходимо в реальном времени объединять и строить префиксное дерево (ведь id нет).
Данные выглядят вот так:
$SYS/scheme/node/beacon
$SYS/info/enum/beacon
$SYS/organization/production_calendar/beacon
$SYS/system/event_archive/beacon
$SYS/archive/search/beacon
$SYS/sys/services/beacon
$SYS/sys/broker/state/MQTTnet.LogViewer-23ac9203-50ad-4d90-8832-9ab0fb0f4a51
$SYS/sys/schedules/event/00:00:01

Сразу скажу, что $SYS - это не нода, их много, а это просто пример
Мне бы понять логику, как это все делается именно в реальном времени, когда список с названиями событий все время расширяется. И как не ловить outofmemory или stackoverflow ошибки
  • Вопрос задан
  • 480 просмотров
Решения вопроса 1
Я бы сделал очередь. Пришла строка, запихнул в задачу, забыл. Но тут вопрос сколько памяти нужно на обработку 10к в секунду + реалтайм. Тут уже возникает кэш (в БД или на диске), который не дает переполняться памяти. Опытным путем выясняем сколько задач влезает в память. Если задач уже много в очереди - пишем в кэш. Если мало, то ставим в очередь.
Или вопрос был про парсинг и построение дерева? Тогда зависит от ЯП.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
SOM4
@SOM4
Увлечён компьютерами более 30 лет
Уважаемый INTERNALINTERFERENCE, я не совсем понял Ваш вопрос.

Вы спрашиваете об идеях визуализации 10 тыс. событий?

Или как построить статистику вхождения нодов (листов) в ветку?

Или что-то ещё...

Поясните, пожалуйста.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы