![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 30 Pomógł: 0 Dołączył: 15.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
witam,
istnieje strona tibiaring.com, nie chce nawiazywac do tego o czym gromadzi ona informacje, tylko zapytac czy ma ktos pomysl, w jaki sposob to robi i w jaki sposob w tak szybkim czasie analizuje informacje juz zgromadzone, zrobilem mechanizm pozwalajacy w jakims stopniu przewidziec kto moze miec jaka inna postac bazujac sie na plikach, ktore powstawaly przez ponad miesiac na serverze hostingujacym przy uzyciu crona, tak juz zgromadzone dane 'wrzucilem' do mysql'a struktura mojej bazy wygladala mniej wiecej tak: dla kazdego nowego sprawdzenia (sprawdzanie bylo odnotowywane co 5 minut) powstawala nowa tabela, w tabeli byla jedna kolumna typu varchar o dlugosci ~35 znakow, srednio w kazdej tabeli istnieje 500 rekordow, jesli gromadzilem takie dane przez miesiac, to tabel powstalo ~30*24*(60/5)=30*24*12[skryopt zapisuje dane o graczach online 12 razy na godzine; daje to +/-8640 tabel miesiecznie; napisalem skrypt w php laczacy sie z baza danych nastepnie pobieralem wszystkie tabele z bazy (liste sprawdzen kto byl online i kiedy) wykonywalem petle na kazdej z tabel w bazie w poszukiwaniu danej nazwy gracza, jesli takowa istnieje, skrypt wrzuca roznice zbioru graczy w tabeli, ktora jest aktualnie oraz sasiednich sprawdzen w bazie, czyli mam na mysli ze jesli mamy tabele A,B,C i w tabeli B znaleziono dana nazwe gracza, to B-A oraz A-B oraz B-C oraz C-B wedrowalo do, mmm, nazwijmy to sobie np lista podejrzanych. w tym problem, ze ten caly proces trwa bardzo dlugo (okolo 5-10 minut), czy ma ktos pomysl, w jaki sposob moznaby zmienic strukture bazy czy sam mechanizm, aby to wszystko dzialalo sprawniej? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 30 Pomógł: 0 Dołączył: 15.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
pliki, na szczescie, da sie do load data inputa przygotowac
wspomniales cos o tym, zeby te dane z listy online co jakis czas (dzien lub rzadziej) dodawca do tabeli, ktora bedzie miaal strukture: tabela: osoby_od_do Kod osoba_id|czas_od /*odpowiedniki czasu zalogowania sie z tabeli serie*/ | |czas_do /*odpowiedniki czasu wylogowania sie z tabeli serie*/ 1 |1 |10 //ktos byl obecny przez 9 serii, czyli przez 50 minut, = od [1]2008-02-23 12:00:00 do [10]2008-02-23 12:50:00 2 |1 |2 // -||- przez 1 serie, czyli 5 minut 3 |1 |14 //anaglogicznie 4 |2 |8 5 |2 |5 6 |3 |9 czy o to chodzi? i kiedy juz bedzie taka tabela, to bedzie do 'podejrzanych' dodawalo dany id osoby, ktorej odpowiednik czas_od-czas_do lub czas_do-czas_od == 1 lub -1? chodzi mi o to, ze jesli bysmy poszukiwali osoby powiazanej z osobą o id 2 to zapytanie zwrocilo by osoby: 4 i 5 (dlatego, ze te osoby sa zalogowane od serii nr 2, a w tej serii sprawdzanej osoby o id 2 juz nie bylo[i sa to serie sasiednie]) tzn czy te osoby wystepowaly w sasiednik seriach? jesli dobrze zrozumialem to chcilabym zaznaczyc ze dziennie taka baza bedzie powiekszala sie o okolo 4000 wpisow :S czy to i tak nie bedzie za duzo? Ten post edytował test30 24.02.2008, 13:30:44 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 04:36 |