Christoph Zurnieden: Paralleler Schreibzugriff auf eine Datei ohne flock

Beitrag lesen

Hi,

und selbst wenn nicht ganz... ich glaube nicht, dass sich die
PIDs innerhalb einer Sekunde überrunden.

Wir sind hier nicht in einem theologischem Seminar, das hat mit Glauben nix zu tun. Entweder weist Du etwas oder nicht. Das einzige, was "Glauben" nahe kommt, waere statistische Wahrscheinlichkeit, aber auch das ist reine Mathematik.

Ausserdem sind wir auf
dem Weg zu 64bit Systemen. Bis 2038 vielleicht noch mehr... oder?

Das darf fuer das Design keine Rolle spielen, nur fuer die einzelnen Implementation. Der Zeitraum bezieht sich auch nur auf die moegliche maximale Gueltigkeitsdauer der Datei. Also ohne irgendeinen Neustart, Mainframelike.

Was ich natürlich auch machen könnte - als DBA hätte ich da eher
drauf kommen können - kann ich mir doch eine Datei in Form einer
Sequence erstellen. Jeder Prozess lockt kurzfristig und bedient sich
der Zahl+1 und legt diese auch dort ab. Wenn es dann irgendwann Mal
soweit ist und ich bei dem Ende eines Doublewertes angekommen bin,
dann kann ich auch wieder bei 1 anfangen :-)

Nichst selber basteln, was es schon fertig gibt.
Zudem holst Du Dir wirklich unnoetige Komplexitaet ohne irgendeinen GEwinn in's Haus. Lass es lieber, das Design ist gut wie es ist.

Aber die Praktikabilitaet eine Hashes laesst das verschmerzen glaube ich ;-)

Der Hash wird nicht von den Prozessen genutzt, sonder von einem
anderen Prozess, der diese Datei ausliest.

Auch das spielt keine Rolle beim Design, darf gar keine spielen.

Ein ordentlicher Programmierer prueft aber trotzdem nach dem Erzeugen und vor der ersten Nutzung, ob der Schluessel evt schon vorhanden ist.

Ja das prüfe ich. Mein Algorythmus war, solange den Key neu zu
erzeugen bis er einzigartig ist.

Das ist falsch.
Der Algorithmus zur Erzeugung des Alias ist sicher.
Wenn Du also einen doppelten Eintrag in der Datei findest, dann ist die Datei als korumpiert zu verwerfen und neu aufzubauen.
BTW: es ist natuerlich dafuer Sorge zu tragen, das die Datei auch wirklich *from scratch* neu aufgebaut werden kann!

so short

Christoph Zurnieden