Gewichtung des Servers

Hier wird dir geholfen, wenn du TV-Daten anbieten möchtest.
coolsebastian90

Gewichtung des Servers

Beitrag von coolsebastian90 »

Was genau passiert, wenn man die Gewichtung des Servers (mirror.weight) in der Datei "mirrorupdater.ini" ändert?
Morethantv
Gold Member
Beiträge: 482
Registriert: 01 Mai 2006, 02:58
Wohnort: Jena

Beitrag von Morethantv »

Das regelt doch, welcher Server primär verwendet wird? So habe ich es zumindest verstanden.
coolsebastian90

Gewichtung

Beitrag von coolsebastian90 »

das ist richtig!
aber woher weiß denn TV-Browser, welcher Server der Primärserver ist?
das muss doch in irgendeiner Datei stehen. Die Datei "mirrorlist_groupID" enthält nach jeder Änderung der Gewichtung immer die gleichen Daten. Das heißt, dass die information in dieser Datei nicht stehen kann.
Ich welcher dann?
Benutzeravatar
bodo
Site Admin
Beiträge: 19635
Registriert: 03 Dez 2003, 19:37
Wohnort: Köln
Kontaktdaten:

Beitrag von bodo »

Das ist etwas, das noch verschwiegen wird im Tutorial. Wenn du wirklich die Gewichtung ändern willst, dann muß deine myfirstgroup_mirrorlist z.B. so aussehen:

Code: Alles auswählen

http://www.tvbrowser.org/tv-daten-test/;50
http://www.tvbrowser-zwei.org/tv-daten-test/;100
Hier ist tvbrowser-zwei wichtiger als tvbrowser.org (die Zahlen gehen von 0 bis 100).
coolsebastian90

danke

Beitrag von coolsebastian90 »

danke für die info

kannst du mir schreiben wenn du weißt, was mit mirror.weight wirklich verändert wird?
__________________
http://www.coolsebastian90.de.vu
Benutzeravatar
bodo
Site Admin
Beiträge: 19635
Registriert: 03 Dez 2003, 19:37
Wohnort: Köln
Kontaktdaten:

Beitrag von bodo »

Das ist für den Fall das du mehrere Mirrorupdater.ini hast und damit jeweils einen FTP-Server aktualisierst.
coolsebastian90

??

Beitrag von coolsebastian90 »

das verstehe ich nicht ganz...
man kann doch immer nur eine konfigurationsdatei angeben (z.B mirrorupdater.ini)
Was genau passiert den jetzt, wenn eine konfigurationsdatei als Gewichtung 100 und die andere konfigurationsdatei -1 hat?
Worin besteht der Unterschied?
Morethantv
Gold Member
Beiträge: 482
Registriert: 01 Mai 2006, 02:58
Wohnort: Jena

Beitrag von Morethantv »

Das Thema interessiert mich nun auch verstärkt. Ich hatte schon diverse Beispiele nach der Art des oben genannten ausprobiert (Teile von 50 Prozent, beim Hauptserver ganze 50), weiterhin alle Server auf "100" sowie alle auf "-1" (heißt das "Minus Eins" gar, dass nach dem obenstehenden Server alle weiteren nicht beachtet werden?). Resultat war, dass der Hauptserver entweder nur noch gering, nur noch für Bilder oder überhaupt nicht mehr benutzt wurde.

Muss ein Server die 100er-Angabe erhalten (zum Beispiel 100/50/50/... bzw. 100/50/45/...)? Obendrein wäre mir eine rechnerisch vollständig nachvollziehbare Erklärung für den Sachverhalt lieber als Schlussfolgerungen auf Basis bestehender Fremdgruppen.
ds10
Site Admin
Beiträge: 19095
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Beitrag von ds10 »

Die Gewichtungen aller Mirrors werden aufaddiert und dann wird ein Gewicht per Zufall ausgewählt. Wenn alle aufaddierte Gewichte der bisher geprüften Mirrors beim nächsten Mirror größer als das zufällige Gewicht ist, wird dieser Mirror benutzt.

So sieht das dann in Java aus:

Code: Alles auswählen

    // Get the total weight
    int totalWeight = 0;
    for (Mirror mirror : mirrorArr) {
      totalWeight += mirror.getWeight();
    }

    // Choose a weight
    int chosenWeight = (int) (Math.random() * totalWeight);

    // Find the chosen mirror
    int currWeight = 0;
    for (Mirror mirror : mirrorArr) {
      currWeight += mirror.getWeight();
      if (currWeight > chosenWeight) {
        // Check whether this is the old mirror or Mirror is Blocked
        if (((mirror == oldMirror) || BLOCKEDSERVERS.contains(getServerBase(mirror.getUrl()))) && (mirrorArr.length > 1)) {
          // We chose the old mirror -> chose another one
          return chooseMirror(mirrorArr, oldMirror, name, caller);
        } else {
          return mirror;
        }
      }
    }
Das Gewicht hört übrigens nicht bei 100 auf, das kann durchaus größer sein.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
Benutzeravatar
bodo
Site Admin
Beiträge: 19635
Registriert: 03 Dez 2003, 19:37
Wohnort: Köln
Kontaktdaten:

Beitrag von bodo »

Im Klartext:

Mirror1 = 50
Mirror2 = 120
Mirror3 = 10

Das bedeutet:

50+120+10 => 160 als Maximum.

Nun wird eine Zufallszahl zw. 0 und 160 erzeugt, dann wird geschaut, welcher Mirror genutzt wird. Ist die Zahl < 50, wird Mirror1 benutzt, bei >= 50 und < 120 Mirror2 etc.

Die Zahl bestimmt also, wie wahrscheinlich es ist, das der jeweilige Mirror gewählt wird.
Morethantv
Gold Member
Beiträge: 482
Registriert: 01 Mai 2006, 02:58
Wohnort: Jena

Beitrag von Morethantv »

Danke! :) Das Zufallsprinzip habe ich mir schon erhofft, aber diese vglw. umständliche Vorgehensweise überrascht mich durchaus. Jetzt weiß ich Bescheid.

Ach ja: Bei der Angabe "-1" wird also ein beliebiger, per Zufall ausgewählter Server genutzt?
coolsebastian90

Beitrag von coolsebastian90 »

Ich muss auch noch mal kurz nachhaken :D :

Mir ist jetzt klar, wie der TV-Browser den Server auswählt, von dem er seine TV-Daten herunterlädt (die Gewichtung kann ja in der Datei myfirstgroup_mirrorlist.gz stehen)!

Ich habe allerdings noch nicht ganz verstanden, was genau die Gewichtung in der Datei mirrorupdater.ini bewirkt...
Werden auf den Servern (je nach Gewichtung) nur bestimmte Dateien hochgeladen? Wie genau ist das geregelt?
Das ist für den Fall das du mehrere Mirrorupdater.ini hast und damit jeweils einen FTP-Server aktualisierst.
Mit freundlichen Grüßen

Sebastian
Benutzeravatar
bodo
Site Admin
Beiträge: 19635
Registriert: 03 Dez 2003, 19:37
Wohnort: Köln
Kontaktdaten:

Beitrag von bodo »

Das müsste ich im Quelltext nochmal nachsehen. Ich nutze diese Funktion nämlich nicht ;).
Benutzeravatar
bodo
Site Admin
Beiträge: 19635
Registriert: 03 Dez 2003, 19:37
Wohnort: Köln
Kontaktdaten:

Beitrag von bodo »

So, ein bisschen durch den Quelltext gewühlt. Dieser Parameter ist anscheinend nicht mehr benutzt im MirrorUpdater. Kannst den also ignorieren, ich werde den auch gleich mal entfernen.
Benutzeravatar
bodo
Site Admin
Beiträge: 19635
Registriert: 03 Dez 2003, 19:37
Wohnort: Köln
Kontaktdaten:

Beitrag von bodo »

Kleiner Tip: ich aktualisiere mit dem MirrorUpdater immer in ein lokales Verzeichnis und lasse das hochspielen auf die Server ein Tool namens "sitecopy" machen. Wenn du unter Mac/Linux arbeitest, solltest du dir das mal ansehen. Allerdings ist das ein Kommandozeilen-Tool ;).
Antworten