[eMule-Web]

[eMule-Web] (http://www.emule-web.de/board/)
-   eMule MODs - Allgemein (http://www.emule-web.de/board/emule-mods-allgemein/)
-   -   :?: Seltenen Teile Funktion (http://www.emule-web.de/board/5990-seltenen-teile-funktion.html)

BuddyOli 3. December 2003 19:10

:?: Seltenen Teile Funktion
 
Hallo allerseits,

mir ist aufgefallen, daß das mein Mulie keine Paket prioritäten verteilt, also was ich meine, das es checkt, welche teile ammeisten verteilt sind und welche nicht. Sinnvoll wäre es doch, wenn es erst die teile runterladen würde, die es nicht so oft gibt, und erst dann die die es häufiger gibt.
Jetzt dei Frage, gibt es einen Mod, der das macht, oder arbeitet einer der entwickler schon an so etwas?

Wäre cool, wenn jemand ne antwort parat hätte, weil es mich nervt, das ich leute in meiner Que habe, die nicht viele Teile haben, mir aber nichts bringen, weil bis sie dran sind schon die teile herunter geladen sind bis sie an der reihe sind, selbes prob beim release, wenn nicht jeder die gleichen Teile bei mir runterladen würde, würde sich ein komplett release viel schneller verteilen.

Gruß Oli!

cosmic girl 3. December 2003 20:01

Das ist seit der 0.30 oder evtl. sogar schon eher in der offiziellen Version drin - das feature ist von Maella.

Wenn du ein besser funktionierendes feature - LoadRarestChunksFirst genannt - willst, dann versuch mal den Vorlost Omikron.4 - link in meiner sig.
Vorlost war der allererste, der dieses feature hatte und seine Weiterentwicklung macht den Mod in der Hinsicht für mich ideal. Man ist den anderen immer um diese winzige Nasenlänge voraus - und weil man selbst heissbegehrte chunks hat, kommt man auch öfter mal bei den anderen dran. *fg*

Vorlost nennt seinen Muli im Bezug auf dieses feature übrigens "Wiederbelebungsmuli" - das feature steuert dem "Aussterben" von files entgegen, weil eben genau die chunks zuerst geladen werden, die am allerseltensten sind. Das ist allerdings nur eine kurze Beschreibung des features - die Routine ist um einiges raffinierter als die, die im originalen Muli drin ist.

Xman 3. December 2003 20:02

eigentlich tut der offizielle 0.30 emule genau das was Du wilst: die seltensten Teile laden.

cosmic girl 3. December 2003 20:10

Offensichtlich aber nicht zu seiner vollen Zufriedenheit!
Leider beobachte ich genau das von BuddyOli Beschriebene auch immer mit neueren Versionen.. bei Vorlost arbeitet das feature definitiv besser.

vorlost 3. December 2003 21:33

Hi BuddyOli,
mein Feature funktioniert folgendermaßen:

LoadRarestFinishedChunksFirst:

Per Zufallsgenerator wird zunächst irgendein Partchunk des Files ausgesucht das wir noch nicht vollständig haben und unser Gegenüber auch schon besitzt.

Nun beginnt die Routine nach einem Partchunk zu suchen der noch besser dem entspricht was wir lieber runterladen möchten - das Feature geht nun immer einen Partchunk weiter nach rechts und prüft nach folgendem Chema ob dieser Partchunk besser ist als der den wir uns jeweils als besten vorgemerkt haben.

Die Seltenheit ist folgendermaßen definiert: Man stelle sich die Blöcke der einzelnen Quellen so wie bei Tetris vor und läßt nun alle Steine nach unten fallen.
eMule zählt nun wie oft jeder einzelne Partchunk vorhanden ist.

Der nächste verfügbare Partchunk wird mit dem zunachst gespeichertem verglichen was deren Seltenheit angeht.

- Ist die Seltenheit des gemerkten Parts und des nächsten Parts nicht jeweils mehr als 10* vorhanden geht das Feature davon aus das es sich um sehr seltene Parts handelt.

Ist der nächste noch seltener wird dieser nun als bester Partchunk vorgemerkt und der nächste Partchunk des Files wird gegengecheckt.

Sind diese beiden seltenen Partchunks allerdings gleich selten wird geprüft welcher von beiden bereits vollständiger ist.

Das war nun zunächst der Modus "Seltene Partchunks zuerst laden".

- Ist die Seltenheit des gemerkten Parts und des nächsten Parts jeweils mehr als 10* vorhanden geht das Feature davon aus das es sich nicht mehr um sehr seltene Parts handelt.

Ist der nächste Part nun vollständiger wird dieser jetzt als bester Partchunk vorgemert.
War der nächste Partchunk allerdings genauso vollständig dann wird wiederum geprüft ob dieser seltener ist und dann als bester Partchunk vorgemerkt.

Die Vollständigkeit des letzten Parts(ganz rechts) wird allerdings etwas anders berechnet da dieser meistens kürzer ist und somit von allen MOD´s mit höchster Vorliebe genommen wird. Außer von meinem MOD/Feature, mein MOD prüft ob es sich um den letzten Partchunk handelt und täuscht somit die Länge eines kompletten Partchunks vor damit dieser nicht fälschlich als bereits angeladen erkannt wird.

Dann hat das Feature noch ein Rechtsklick-Menu für jedes File in dem man aussuchen kann wie viel Preview man benötigt.
Ist die Preview-Funktion für ein File aktiv werden diese bevorzugt geladen solange die Seltenheit der Partchunks größer als 5 ist.

Natürlich wird für sämtliche Quellen individuell bestimmt welcher Partchunk als nächstes geladen werden soll.

Um so ein Preview so früh wie möglich zu erhalten wird zunachst nur 1/8Part am Anfang des Files, bzw. am Ende des Files bevorzugt geladen.
Für z.B. AVI-Files ist es notwendig zuerst auch das Ende des Files zu haben. Damit das Preview also wirklich früh geht lädt meine Routine den letzten Partchunk RÜCKWÄRTS ein.
Nun kann es natürlich sein das der letzte Partchunk so klein ist das 1/8 vom Ende des Files auch noch den vorletzten Partchunk betreffen, dann wird der vorletzte Partchunk ebenfalls RÜCKWÄRTS geladen.
Was ist nun wenn ein File bloß 1 Part größ ist und man möchte z.B. ein mp3-File anspielen ? - Dann wird der Part natürlich VORWÄRTS wie gewohnt geladen.

Die Auswahl der Partchunks die zuerst geladen werden beim Preview-Mode ist allerdings schon wieder etwas aufwendiger:
Der gesamte Moviepreview, jetzt Filepreview genannt geht natürlich noch einen Schritt weiter und nennt sich auch dann schon Version2.

Also Filepreviewpartchunks werden nur dann bevorzugt wenn im Vergleich zum nächsten Partchunk die Seltenheit 5 nicht übersteigt. Weiterhin wird ebenfalls wieder die Seltenheit und Vollständigkeit eines solchen Parts berücksichtigt. Und es gibt eine Reihenfolge in der die Previewpartchunks lieber geladen werden(Preview so früh wie möglich unter anderem).

Es gibt schon Pläne diese Version2.1 der Routine so zu erweitern das es möglich wird noch schneller ein File fertig zu bekommen ohne leechen.

Ich könnte auch mal schreiben was jemand im englischen Forum über meine Routine geschrieben hat:

Übersetzt ins Deutsche von Vorlost:
Ich glaube das Vorlost´s "Rare Chunk"-Patch ist besser zum Verteilen als der offizielle Algorhythmus.

Ein Beispiel:
Nur ein Client Released das File(hat es vollständig), was glaubst Du ist nun besser ?

A) Vervollständige einen weit verbreiteten chunk vom Releaser.
B) Frage bei dem Releaser nach einen seiner seltensten chunks.

Ich glaube Option B ist besser zum Verteilen von Files, weil der Upload eines Releasers ist meist nur schwer zu bekommen.
Und Option A verschwendet einfach Upload des Releasers. Aber der offizielle Algorhythmus verwendet die Option A !!!

Weiterhin beachtet Vorlost´s patch die Vollständigkeit der chunks und wählst den vollständigsten chunk wenn die Seltenheit gleich ist.

Ende der Übersetzung.....

Ich habe mir wirklich jede nur denkbare Situation vorgestellt und dafür dann jeweils das Feature wieder so weit verbessert wie es jetzt ist.

Falls noch Fragen sein sollten...

cosmic girl 3. December 2003 21:45

Wir sind "geplättet" ;) - danke für diese ausführliche Erläuterung, vorlost! :D
So wie es aussieht, bin ich ja nicht die einzige, die mit dem Verhalten der neueren Mulis nicht so sehr zufrieden ist, was die Auswahl der chunks angeht - ich finde es sehr schade und auch traurig, daß dein feature nicht Einzug in den offiziellen client gehalten hat! :cry:
Hoffe, daß du bald die Version2.1 in deinen nächsten vorlost-Muli einbaust!

vorlost 3. December 2003 21:48

DAP - DownloadAutoPriority
UAP - UploadAutoPrioriy

habe ich ebenfalls verbessert da nun die Seltenheit(Tetris-Beisp.) der einzelnen Parts als Berechnung dient und nicht wie üblich wie viele Quellen es gibt(Unsinn).
Die Anzahl verfügbarer Quellen gibt ja schließlich nicht an wie gut ein File verteilt ist, oder ?

Diese UploadAutoPriorität vergibt dann automatisch die Uploadpriorität hoch und release(allerdings nicht so stark wie bei einem File das man selber anbietet), dadurch werden Files die extrem selten sind wiederbelebt da der Upload bevorzugt an seltene Files zum WIEDERBELEBEN geht.
Bei Files die nicht selten sind bleibt die Uploadpriorität normal.

Am besten im changelog nachlesen wenn man dies ganz genau wissen möchte...

vorlost 3. December 2003 21:51

Zitat:

Zitat von cosmic girl
Wir sind "geplättet" ;) - danke für diese ausführliche Erläuterung, vorlost! :D
So wie es aussieht, bin ich ja nicht die einzige, die mit dem Verhalten der neueren Mulis nicht so sehr zufrieden ist, was die Auswahl der chunks angeht - ich finde es sehr schade und auch traurig, daß dein feature nicht Einzug in den offiziellen client gehalten hat! :cry:
Hoffe, daß du bald die Version2.1 in deinen nächsten vorlost-Muli einbaust!

Na klar kein Problem :wink:

Allerdings sind wir schon bei der V2.1 und Du darfst Dich auf die V3.0 freuen(sobald ich dazu komme)... :P

cosmic girl 3. December 2003 21:58

Zitat:

Zitat von vorlost
Allerdings sind wir schon bei der V2.1 und Du darfst Dich auf die V3.0 freuen(sobald ich dazu komme)... :P

OOPS :oops: - da hätte ich wohl besser aufpassen sollen beim Lesen..
Was heisst hier, sobald du dazu kommst!? Du sollst nichts anderes tun, als coden! ;) :lol:

BuddyOli 4. December 2003 10:21

Danke Vorlost,

hab mir deinen Mod schon gezogen, sobald ich die nächsten downloads fertig habe (ca. in 5 bis 8 Std.), werde ich ihn installieren und ab sofort allen empfehlen, wirklich schade, daß deine Fuktion noch nicht standard ist, würde vielen Dateinleichen am Leben erhalten!

Gruß Buddy!

Furio 4. December 2003 12:10

Habe beim laden seltener Files auch bemerkt, dass beim Orig. emule das laden seltener Teile nicht wunschgemäß funktioniert.

Beispiel (denke mal, das verdeutlich nur vorlost's Ausführungen): Zwei user (A+B) haben das file komplett, ein weiterer (C) nicht ganz, mir fehlen auch noch einige parts/chunks. User C hat genau einen chunk, den auch ich noch brauche. Nun komme ich bei user A zum download an die Reihe und lade genau den chunk von ihm 'runter, den mir auch user C noch anbieten könnte. Nachdem der chunk fertiggestellt ist, steht bei user C, na was wohl: "Keine benötigten Teile". ArGH!

Zitat:

Zitat von Xman
eigentlich tut der offizielle 0.30 emule genau das was Du wilst: die seltensten Teile laden.

Das muss auch ich daher mit Entschiedenheit verneinen :!:

cosmic girl 4. December 2003 12:24

Wissen die offiziellen devs eigentlich schon von dem Problem!?

Frage geht an alle, die öfter mal auf dem offiziellen Board emule-project.net lesen - bin leider in letzter Zeit kaum dazugekommen, dort auch zu lesen.


Wieso fällt das sonst niemandem auf? Feedback erwünscht.

Xman 4. December 2003 13:07

ich muß gestehen, daß ich den Code hierzu noch nicht im Detail angesehen hab.
Es ist wahr, auch im offiziellen Board beschweren sich einige Leute darüber, daß nicht wirklich die seltenen Chunks geladen werden. Allerdings bekommen diese User von anderen Usern dann immer den Hinweis, daß diese Option doch durch Maella-Code verbessert wurde. Von DEV-Seite las ich noch kein Statement.
Vielleicht könnte ja jemand von euch dem dieser Fehler auffällt mal im Bug-Forum posten ;-)

vorlost 4. December 2003 19:08

Ich hatte mal bei einem aktuelleren eMule die Funktion überprüft und dort ist das Vervollständigen von Partchunks das Allerwichtigste gewesen.

Meine Lösung wechselt für jeden einzelnen Client je nachdem was dieser so hat zwischen Partchunks die vervollständigt werden müssen und dem Bevorzugen von seltenen Partchunks.

Meine Version3 an der ich bald arbeiten werde wird dann noch berücksichtigen Clients die nur 1-2Partchunks noch für uns haben diesen exklusiv übertragen zu lassen damit deren Upload zu uns nicht versiegt.
Also die anderen Clients beteiligen sich nicht an Clients die kaum etwas haben !!!
Weiterhin wird es noch eine Unterstützung für TransmitFullChunks(falls bei unseren Quellen aktiviert) geben was dann auf ähnliche Art und Weise realisiert wird.

So viel aber nur mal als Vorschau...


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:03 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102