Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Mechanizm Grono.net
telepawel
post
Post #1





Grupa: Zarejestrowani
Postów: 81
Pomógł: 0
Dołączył: 11.05.2003

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


Witam,

Zastanawiałem się ostatnio nad stworzeniem podobnego aczkolwiek nie identycznego portalu i o ile większość
działów w/w portalu można zbudować bezproblemowo o tyle do chwili obecnej nie mam pojęcia jak rozwiązać
kwestię funkcji "najkrótsza droga do znajomego".

Dla niewtajemniczonych użytkownik może kliknąć w profilu innego usera ikonkę najkrótsza droga poprzez znajomych
gdzie widzi połączenie od 3 do 6 osób z którymi musiałby się skontaktować aby dojść do ostatecznego usera.

Pomyślałem ok przecież za każdym kliknięciem userzy nie będą obciążali serwera całościowym szukaniem zatem gdzieś
musi być to zapisane. Tyle, że teraz stworzenie bazy wszystkich kombinacji połączeń wymagałoby przy powiedzmy 20k userów
olbrzymiej bazy + wydajny serwer. Ponadto włączając taki skrypt szybko zapętliłby się w ilości informacji i mógł spowodować
wywrócenie serw.

Zatem pytanie konkretne. Czy przychodzi Wam na myśl jakieś innego rozwiązanie które skutecznie pozwoliłoby na zbudowanie tej funkcji ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Moli
post
Post #2





Grupa: Zarejestrowani
Postów: 662
Pomógł: 45
Dołączył: 26.03.2007
Skąd: Warszawa

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


Na blogu grona kiedyś to opisywali. przy takiej liczbie użytkowników, jest to kewstia kilku "podań", więc oni mogą łatwo to rozwiązać.
Go to the top of the page
+Quote Post
GrayHat
post
Post #3





Grupa: Zarejestrowani
Postów: 566
Pomógł: 18
Dołączył: 23.08.2003
Skąd: Łomża

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


Zasada najblizsza droga wyglada tak (maksymalnie 5 podan rak):
pobierz osobe ktora
1. ma mnie w znajomych lub zna osobe ktora
2. ma mnie w znajomych lub zna osobe ktora
3. ma mnie w znajomych lub zna osobe ktora
4. ma mnie w znajomych lub zna osobe ktora
5. ma mnie w znajomych

przepisz to sobie teraz na SQL winksmiley.jpg


--------------------
*Note: No animals were killed durning the construction of this post.
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


A ja bym siegnal do literatury o algorytmach, przyklad na pewno walkowany 100tki razy.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
Moli
post
Post #5





Grupa: Zarejestrowani
Postów: 662
Pomógł: 45
Dołączył: 26.03.2007
Skąd: Warszawa

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


http://itblog.grono.net/articles/2007/06/2...kiwanie-ścieżek
Go to the top of the page
+Quote Post
qrees
post
Post #6





Grupa: Zarejestrowani
Postów: 275
Pomógł: 44
Dołączył: 23.11.2007

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


Cytat(dr_bonzo @ 7.02.2008, 19:42:21 ) *
A ja bym siegnal do literatury o algorytmach, przyklad na pewno walkowany 100tki razy.

Nie no, można pobawić się w jakąś Dijkstrę, albo coś podobnego, ale problem jest taki, czy da się to na tyle zapisać, żeby nie generowało dużej liczby zapytań do bazy. Może lepiej zrobić jakieś jedno lub parę sprytnych acz rozbudowanych zapytań.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 03:16