Skocz do zawartości

Nieregularne rotowanie linków


Kesera

Rekomendowane odpowiedzi

Witam,

Chiałbym rotować linki w sposób nieregularny, tj. linki które będą miały przydzielone 10 punktow będą 10x rzadziej pobierane od linków które będą miały przydzielone 100 punktów, itp. Jak zrobić takie coś?

Na jakiej zasadzie są kolejkowane linki w e-weblinku? Jak to działa u nich?

Jak zakolejkować np. poniższe linki wg określonego priorytetu:

link;punkty

xxxxx;10

yyyy;123

ffffffff;234

67kik;2173

nrstnrt;12676

Odnośnik do komentarza
Udostępnij na innych stronach

Nie wymagasz czasami za dużo :puknijsie:

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

A jak SWLe kolejkują linki? Bo tak patrzę do kodu i widzę że oni trzymają tylko po kilkaset linków i to bez żadnych identyfikatorów, czyli random bez tołku. Ile razy dziennie serwer klienta aktualizuje plik z linkami, bo 1 raz dziennie to na bank. A może każde wywołanie kodu powoduje nawiązanie połączenia z serwerem SWL? Jeśli tak to chyba muszą mieć serwer wielki jak chałupa.

Np. co-op po prostu duplikuje ilość linków x razy :) , w ten sposób zwiększając prawdopodobieństwo wylosowania

Pytam się bo sam buduję mikro-swl dla bardzo wąskiej niszy.

Odnośnik do komentarza
Udostępnij na innych stronach

A może każde wywołanie kodu powoduje nawiązanie połączenia z serwerem SWL? Jeśli tak to chyba muszą mieć serwer wielki jak chałupa.

To byłoby samobójstwo, przy tak dużej ilości stron podpiętych do swli.

Możesz linki które mają "większy priorytet" "umieścić" więcej razy w pliku emitującym owe linki, więc nawet zwykły random statystycznie wylosuje je częściej.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 tygodnie później...

Jest co najmniej kilka rozwiązań tego problemu, ale ten zaproponowany przez nutado wydaje się być i prosty i w miarę precyzyjny (przy odpowiednio dużej ilości wywołań).

Oto propozycja jednego z przykładowych rozwiązań tego problemu metodą statystyczną. Ani ona najlepsza, ani najbardziej optymalna, ale łatwa do wytłumaczenia:

1) bierzesz te linki i ich punkty, posługując się twoim przykładem:

xxxxx;10

yyyy;57

ffffffff;23

67kik;21

nrstnrt;12

2) sortujesz je w kolejności od największej ilości punktów:

yyyy;57

ffffffff;23

67kik;21

nrstnrt;12

xxxxx;10

3) budujesz coś przypominającego funkcję rozkładu liczby losowej, iterując po posortowanych linkach i sumujesz dla danego linku jego punkty wraz ze wszystkimi poprzednimi. Uzyskasz coś takiego:

yyyy;57

ffffffff;80 (bo 57 + 23 = 80)

67kik;101 (bo 80 + 21 = 101)

nrstnrt;113 (bo 101 + 12 = 113)

xxxxx;123 (bo 113 + 10 = 123)

4) dla każdej odsłony/wywołania-funkcji-wybierającej-link/jak-zwał-tak-zwał robisz:

a) losujesz liczbę x z zakresu 1 <= x <= 123 (to 123 to maksymalna wartość jaką uzyskałeś w punkcie 3)

B) iterujesz po kolejnych wartościach listy z punktu 3. Jeśli wylosowana liczba x jest mniejsza lub równa wartości linku obliczonej w punkcie 3, to przerywasz pętlę i zwracasz właśnie ten link.

Przykład dla pkt 4:

Wylosowaliśmy liczbę 85. Sprawdzamy po kolei:

- czy 104 <= 57 (dla linku yyyy)? nie. idziemy dalej.

- czy 104 <= 80 (dla linku ffffffff)? nie. idziemy dalej.

- czy 85 <= 101 (dla linku 67kik)? tak. przerywamy pętlę i zwracamy link 67kik.

Napisałem krótki programik symulacyjny i dla 1000 odsłon miałem takie wyniki:

yyyy - 469 odsłon

ffffffff - 179 odsłon

67kik - 166 odsłon

nrstnrt - 98 odsłon

xxxxx - 88 odsłon

Wyniki wyglądają całkiem sensownie, więc sposób chyba jest wystarczająco dobry ;)

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności