Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] Automatyczne pobieranie "nowych" danych
phpmack
post
Post #1





Grupa: Zarejestrowani
Postów: 55
Pomógł: 1
Dołączył: 11.06.2011

Ostrzeżenie: (0%)
-----


Witam
Mam następującą sytuacje:
Do bazy wrzucam sobie dane z uradzeń mobilnych za pośrednictwem "mini servera" który działa w tle i w przypadku odebrania danych z urządzenia zapisuje je do bazy. Teraz tworze stronę kliencką która będzie służyła do prezentacji tych danych w czasie rzeczywistym. I w tym momencie natknąłem się na dość poważny problem - w jaki sposób sprawdzać czy w bazie danych pojawiły się nowe dane? Czy istnieje jakiś bardzie inteligentny mechanizm niż młóceniem w pętli zapytań do db co 5 sec?? Dane będą spływały asynchronicznie czasami co 30s a niekiedy raz dziennie...
Go to the top of the page
+Quote Post
croc
post
Post #2





Grupa: Zarejestrowani
Postów: 706
Pomógł: 108
Dołączył: 12.03.2010

Ostrzeżenie: (0%)
-----


Możesz na przykład przy każdym wpisie czegoś do bazy nadpisywać wartość pliku tekstowego, wpisując np. aktualny czas. "Sprawdzarka" patrzyłaby na zawartość tego pliku co co X sekund i wykonywała zapytania tylko wtedy, gdy zawartość tego pliku różni się od tej, którą odebrała ostatnio.
Go to the top of the page
+Quote Post
lessi
post
Post #3





Grupa: Zarejestrowani
Postów: 89
Pomógł: 12
Dołączył: 1.12.2009

Ostrzeżenie: (0%)
-----


Robiłem niedawno shoutboxa co 1 s przeglądarka wysyłała jedną zmienną, a mianowicie ostatni identyfikator. Serwer porównywał czy ktoś dodał nowy post. Jeżeli tak to zwracał wszystkie większe od wysłanego identyfikatora. Wykorzystałem do tego JSON w jQuery. Oczywiście im większy czas wstawisz tym mniejsze obciążenie. Przy 1s u mnie na localhoscie otrzymywałem wynik w ok 8ms.
Go to the top of the page
+Quote Post
phpmack
post
Post #4





Grupa: Zarejestrowani
Postów: 55
Pomógł: 1
Dołączył: 11.06.2011

Ostrzeżenie: (0%)
-----


Czyli rozumie że sama baza nie zapewnia takiej funkcjonalności? w mssql jest coś takiego jak "zapytanie zwrotne" - nie pamiętam dokładnie jak to się nazywało ale działa na tej zasadzie że wysyłamy zapytanie do bazy (np. czy pojawił się nowy wpis) a baza odpowiada dopiero po spełnieniu warunku...

A trigery? procedury? nie da się tego wykorzystać w żaden sposób aby informowanie o nowym raporcie generowała sama baza?
lub jeśli już php musi cyklicznie odpytywać o nowy raport to może da się indeks czy też czas ostatniego raportu trzymać w jakiejś zmiennej zamiast korzystać z plików pośredniczących?(IMG:style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 13:00