![]() |
![]() ![]() |
![]() |
![]() ![]()
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... |
|
|
![]()
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.
|
|
|
![]()
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.
|
|
|
![]()
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) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 13:00 |