Wyszukiwanie w ostatnio dodanych danych

Odpowiedz Nowy wątek
2019-03-13 19:11
0

Cześć!

Tworze aplikację, która w ogromnym uproszczeniu będzie się składać z 2 najważniejszych aplikacji:
1) Wyszukiwarka
2) Producer danych

Producer co jakiś czas produkuje dane.Wyszukiwarka powinna przeszukać je według podanych parametrów (które są pogrupowane w "set'y" których może być tysiące). Problem w tym że tylko najnowsze dane powinny zostać przeszukane. Aczkolwiek stare nie powinny zniknąć. Do głowy przychodzą mi rozwiązania:

1) Oznaczenie nowych wpisów w bazie jakąś flagą a następnie wyszukiwanie, a po zakończeniu oznaczanie danych jako przeprocesowane - odpada, bo szukanie będzie trwać za długo (może być tysiące różnych kombinacji parametrów) + dochodzi problem że w trakcie szukania dojdą nowe dane

2) Oznaczenie nowych wpisów w bazie jakąś flagą a następnie wyszukiwanie w wielu wątkach, a po zakończeniu oznaczanie danych jako przeprocesowane - tak jak wcześniej szukanie może trwać za długo + problem z nowymi danymi

3) Wrzucenie nowych danych na kolejkę, szukanie w każdym pojedynczym wpisie - odpada bo będzie to trwało wieki

4) Wrzucenie nowych na kolejkę, zebranie ich przez jednego recivera, i wyszukiwanie na grupie.Nowe dane tworzenie nowego reciviera jeśli poprzedni nie zakończył pracy - to jak na razie jest według mnie najlepsze rozwiązanie, aczkolwiek widzę problem w sensownej i odpornej implementacji.

Macie pomysł jak coś takiego ugryźć?

Pozostało 580 znaków

2019-03-13 19:41
2

nie wiem o co ci chodzi, bo jak dla mnie szukanie po najnowszych wpisach to po prostu ograniczenie względem daty utworzenia wpisu i jakiegoś wewnętrznego przyjęcia, że nowe wpisy to np te mające max 24h.

albo od ostatniego szukania - abrakadaber 2019-03-13 21:28

Pozostało 580 znaków

2019-03-13 20:36
0

Gdyby tak było nie było by problemu.
Nowy wpis to dane które pojawiły się w jednej "sesji" chodzenia producera. Z poziomu aplikacji nie wiem czy są to dane sprzed 20h czy 2 min.
Ale w sumie Twój post nasunął mi odpowiedz.Nadać każdej sesji producera jakieś uid, a następnie wrzucać to do kolejki. Aplikacja na podstawie uid tej sesji ogarnie sobie wszystkie dane i nie będzie problemu :D

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0