verify = true

Ideen und Vorschläge sind willkommen.

verify = true

Beitragvon thq » Di Jan 13, 2009 1:41 pm

Bin mir nicht mehr sicher ob ich mal da gegen war, aber inzwischen würde ich es gut finden wenn jeder befragte Peer die Daten die er verteilt dann auch selber (lokal) verifiziert (man denke an P2P), es bringt nichts wenn wir Peers haben die immer wieder falsche Daten verteilen.

Durch das überprüfen wir auch der HTCACHE gefüllt was dann auch bei den snippets hilft. Der HTCACHE kann dann auch dafür benutzt werden um ein ständiges überprüfen zu verhindern.

Auch das "SearchEvents cleaning up event..." für eingehende Suchanfragen (remote) können wir deaktivieren weil ohne verifizieren da sowieso nichts gefunden wird. Es funktioniert halt nur was bei einer lokalen Suche.

Da wir bis jetzt kein andren Weg gefunden haben das Problem anders zu lösen hoffe ich und wünsche ich mir das das so umgesetzt wird.
thq
 
Beiträge: 651
Registriert: So Jul 08, 2007 12:23 pm

Re: verify = true

Beitragvon Orbiter » Di Jan 13, 2009 2:12 pm

ich kenne kein anderes System das ein Nachladen aus dem Web praktiziert (ausser metager2). wir haben uns damit schon einen ganz schönen Klotz ans Bein gehangen. Meine Argumentation gegen mehr checks geht so:
- es wird nichts verteilt, was man nicht selber gecrawlt hat (theoretisch). Beim DHT-Versand muss man also nicht überprüfen, das hat man ja schon.
- Bei der Suche funktioniert das aus mehreren Gründen nicht. Das eine ist das Timing, das andere ist die Gefahr einer leichten Ausnutzbarkeit des Netzes als DDoS-Tool, mal ganz abgesehen davon das man das dann auch schon 'versehentlich' bei jeder Suche auslöst. Und dann weiss ja auch jeder Peerbetreiber das sowieso das nochmal überprüft wird, warum soll er dann fälschen?
Orbiter
 
Beiträge: 5798
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: verify = true

Beitragvon thq » Di Jan 13, 2009 2:30 pm

Fälschen ?

Worum es mir geht sind veraltete Daten die sich auf den Peers ansammeln, erst recht auf Peers die nur DHT machen. Aufgefallen ist mir das das mein Peer bei einer lokalen Suche viele URLs verwirft weil das gesuchte Wort gar nicht mehr vorkam. Das Problem ist halt das das nur bei einer lokalen Suche auffällt und leider nicht wenn der eigene Peer von anderen Peers befragt wird. Somit werden irgendwann immer mehr falsche Daten verteilt, halt solange bis mein Peer zufällig mal das gleiche sucht und dann die Daten überprüft.

Das überprüfen soll ja nicht sofort bei der Suche gemacht werden sondern ein Teil von "SearchEvents cleaning up event..." werden. Dadurch werden nur 1x falsche Daten bei einer Suche verschickt und nicht immer wieder.
thq
 
Beiträge: 651
Registriert: So Jul 08, 2007 12:23 pm

Re: verify = true

Beitragvon thq » Mi Jan 14, 2009 2:24 am

Um mal zu zeigen wie wichtig das ist und das es die Qualität der DB verbessert mal ein Beispiel:

Das gesuchte Wort war eclipse.

Als erste habe ich die IndexControlRWIs_p.html Seite aufgerufen und mir alle URLs anzeigen lassen. Es waren 5600, nachdem ich die "unresolved URL Hashes" gelöscht habe waren es nur noch 5090. Danach habe ich lokal (resource=local&verify=true) danach gesucht, dann wieder auf IndexControlRWIs geprüft, dann wieder gesucht, geprüft usw.

Das was wir hier jetzt sehen ist das was schon viele festgestellt haben.

Code: Alles auswählen
eclipse
IndexControlRWIs: 5600 -> 5090
Suche: 86 links bei 5090 (also nur 86 URLs gefunden obwohl 5090 vorhanden sind)
IndexControlRWIs: 5090 -> 5039
Suche: 107 links bei 5039
IndexControlRWIs: 5039 -> 4996
Suche: 204 links bei 4996
IndexControlRWIs: 4996 -> 4900
Suche: 277 links bei 4900
IndexControlRWIs: 4996 -> 4878
Suche: 292 links bei 4878
usw.

Was sagt ihr dazu ?
thq
 
Beiträge: 651
Registriert: So Jul 08, 2007 12:23 pm

Re: verify = true

Beitragvon Orbiter » Mi Jan 14, 2009 12:27 pm

die URL-Referenzen die bei der Suche nicht aufgelöst werden können gehen auch jetzt schon in einen Scheduler und werden zeitverzögert aus den RWIs gelöscht, auch bei verify=false. Das ist etwas ganz anderes, das verify zieht die Snippets aus dem Internet.
Orbiter
 
Beiträge: 5798
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: verify = true

Beitragvon thq » Mi Jan 14, 2009 1:40 pm

Orbiter hat geschrieben:... gehen auch jetzt schon in einen Scheduler und werden zeitverzögert aus den RWIs gelöscht, auch ...
Das funktioniert aber nur wenn man direkt auf dem Peer sucht, wenn der Peer Suchanfragen von außen bekommt wird nichts gelöscht weil der Peer es ja nicht kontrolliert ob die Daten noch stimmen, das ist das Problem !

Ich habe es noch nie gesehen das bei ein "SearchEvents cleaning up event..." von einer eingehende Suche irgend eine URL-Referenz gelöscht wurde. Deswegen habe ich im ersten Post auch geschrieben das man sich das "SearchEvents cleaning up event..." bei eingehenden Suchanfragen auch sparen kann.

Irgendwie verstehe ich es nicht das wir uns nicht verstehen. Das Beispiel sagt doch alles, das kann ich mit vielen Wörter die ich vorher nie gesucht habe immer wieder wiederholen. Und ich finde es ist schon ein Unterschied ob der Peer 86 URLs oder 292++ URLs finden kann.

Mit dem verify meine ich nur das die Daten die verschickt werden auch lokal überprüft werden, es muss nicht die Seite nei indexziert werden, aber es muss wie bei einer Suche geprüft werden ob die gesuchten Wörter wirklich noch auf der Seite vorhanden sind. Oder wir versuchen es doch über den News wie schonmal angedacht war.
thq
 
Beiträge: 651
Registriert: So Jul 08, 2007 12:23 pm

Re: verify = true

Beitragvon Orbiter » Mi Jan 14, 2009 2:16 pm

thq hat geschrieben:das die Daten die verschickt werden auch lokal überprüft werden, es muss nicht die Seite nei indexziert werden, aber es muss wie bei einer Suche geprüft werden ob die gesuchten Wörter wirklich noch auf der Seite vorhanden sind

= DDoS + null Performance.

es stimmt das ein Peer Wörter haben kann, die per DHT kamen, und nun nicht mehr auf der Seite vorkommen. Diesen Fall sprichst du an. Das läßt sich aber nicht durch ein Fetchen der Seiten während der Suche glätten, denn dann eben DDoS + null performance. Es geht einfach nicht. Ich weiss das dadurch 'falsche' Daten da sein können. So wie du es willst funktioniert aber gar nichts mehr. Wir müssen die 'falschen' Daten hier halt schlucken. Es existieren Mechanismen um diese im Endeffekt wieder rauszubekommen.
Orbiter
 
Beiträge: 5798
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: verify = true

Beitragvon thq » Mi Jan 14, 2009 2:17 pm

ohne Änderungen = viel Datenmüll
thq
 
Beiträge: 651
Registriert: So Jul 08, 2007 12:23 pm

Re: verify = true

Beitragvon Orbiter » Mi Jan 14, 2009 2:21 pm

Das ist richtig. Geht aber m.E. nicht anders.
Orbiter
 
Beiträge: 5798
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: verify = true

Beitragvon thq » Mi Jan 14, 2009 2:28 pm

Es soll ja nicht während einer Suche geprüft werden sonder innerhalb des "SearchEvents cleaning up events". Dort werden maximal n Suchanfraen gespeichert die nach und nach geprüft werden. Das ist zwar auch nicht perfekt, aber besser als garnichts zu machen.

Ich finde das es einfach blöd aussieht wenn man bei einer lokalen Suche gesagt bekommt es gibt 1000 URLs aber nur 10 davon angezeigt bekommt. Das hängt irgendwie damit zusammen.
thq
 
Beiträge: 651
Registriert: So Jul 08, 2007 12:23 pm

Re: verify = true

Beitragvon Orbiter » Mi Jan 14, 2009 2:40 pm

die 1000 sind eh nicht richtig, weil wir so viele doppelte haben. Dagegen hilft nur ein URL-DHT oder ein vertikaler URL-orientierter Index. Daran arbeite ich.

Die bei der Suche übermittelten URLs könnte man tatsächlich in eine 'revision-queue' packen, dann hat man aber das problem das die gleichen URLs auch noch beim suchenden Peer sind, und dort ggf. nicht alle gecheckt wurden weil entweder verify=false war oder der User nicht so weit geblättert hat. Dann müsste man noch so was wie ein revision-update push machen, was aber wie eine Löschanweisung wäre. Viel Arbeit und geht an das Zensurthema, wirkt ausserdem wie ein DDoS Framework. Sehr schwierig.
Orbiter
 
Beiträge: 5798
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: verify = true

Beitragvon thq » Mi Jan 14, 2009 2:53 pm

???

Immer auf einer lokalen Suche (Resource=local) bezogen.
Die 1000 habe ich mir nur ausgedacht, bleiben wir bei mein Beispiel eclipse, da habe ich 5090 URLs gehabt, die mir alle auf der IndexControlRWIs_p.html Seite angezeigt wurden. Wo sollen da doppelte URLs sein !?

Das im den Beispiel die ULRs immer weniger wurden lagt daran das Seiten aussortiert wurden die das Wort nicht mehr hatten. Wenn ich das lange genug machen wurde könnte ich mir auch alle übrig gebliebenen URLs auch 1000++ anzeigen lassen und nicht nur 86 wie bei der ersten Suche.
Code: Alles auswählen
eclipse
IndexControlRWIs: 5600 -> 5090
Suche: 86 links bei 5090 (also nur 86 URLs gefunden obwohl 5090 vorhanden sind)
IndexControlRWIs: 5090 -> 5039
Suche: 107 links bei 5039
IndexControlRWIs: 5039 -> 4996
Suche: 204 links bei 4996
IndexControlRWIs: 4996 -> 4900
Suche: 277 links bei 4900
IndexControlRWIs: 4996 -> 4878
Suche: 292 links bei 4878
usw.


Noch haben wir ein kleines Netz, wenn das Netz mal größer ist und die Bereiche der einzelnen Peers sehr klein und wir bedingt dadurch viele kleine Peers dazu bekommen die fast nur DHT machen, verschicken wir irgendwann nur noch Müll! Wenn der Empfänger die Daten selber nicht prüft ist sein Problem, aber beim verschicken der Daten hat man dann halt nicht die Wahl sondern es ist Vorgabe, für mich gehört das zu Thema P2P-Netz.
thq
 
Beiträge: 651
Registriert: So Jul 08, 2007 12:23 pm


Zurück zu Wunschliste

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste