Re[2]: Сборка мозаики
От: pva  
Дата: 03.11.23 13:56
Оценка:
Здравствуйте, Pzz, Вы писали:

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

недостатком такого метода является фрагментация кеша. Например, для примера выше, приход индексов 4 и 5 (с пропуском 3) сгенерировал бы сегмент "45" и пришедшая позже "3" зависла бы в воздухе навсегда.
В качестве альтернативы можно установить дискретный шаг, размером с лимит. Но тогда, например, ".4" + "5." останутся "выпавшими".
newbie
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.