Einzelnen Beitrag anzeigen

Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#24

AW: Uhrzeit zwischen zwei Win10 Rechnern synchronisieren

  Alt 24. Okt 2019, 09:00
Wenn zB der erfassungszeitpunkt von Daten für eine DB vom Client und nicht von der DB generiert wird.

Gruß
K-H
Aber dann wäre doch die sauberste Lösung, dass der Datenbank zu überlassen, oder?
Genau das wollte ich. Allerdings ist meine Datenbank auf 2 PCs, weil redundant. Dafür nutze ich gegenseitige Replikation von MariaDB. Aber es sollte nicht nur die DB redundant sein, sondern auch unsere hauseigene Software, die die Verbindung zwischen der SPS und der DB herstellt. Diese macht u.a. auch die Signal-Meldungserzeugung für die Anlagensteuerung. Also gab es 2 "Connectors" die in ihre jeweils lokale DB Meldungen geschrieben haben. Selbst bei Nutzung des DBMS-Seitigen NOW() entstanden hier haufenweise doppelte Einträge, die im schlimmsten Fall dann sogar eine falsche Reihenfolge einnahmen und die Meldungslisten effektiv unbrauchbar gemacht haben. (Bei Sätzen mit gleichen Schlüsseln hat die Replikation diese ignoriert. Ich wollte genau dies mit der Synchronisierung erreichen.)

Meine Lösung war am Ende, dass ich dann doch davon abgerückt bin beide Connectors gleichwertig zu behandeln, und es nun immer nur einen gibt, der in die DB schreiben darf. War zwar ein wenig Gehampel es zu schaffen, dass die Instanzen verlässlich ihre gegenseitige Existenz bzw. Nichtexistenz erkennen (insbesondere auch ob sie überhaupt noch Verbindung zur SPS haben), aber das System läuft jetzt seit ein paar Monaten bereits stabil. Und den Krampf mit der Synchronisierung bin ich los. (Jetzt sind nur ggf. Meldungen für wenige Sekunden "verschränkt", wenn tatsächlich der aktuell schreibende PC ausfällt. Das ist eh der Ausnahmefall, und zu verschmerzen.)
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat