AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Sperrung von Datensätzen über mehrere Standorten
Thema durchsuchen
Ansicht
Themen-Optionen

Sperrung von Datensätzen über mehrere Standorten

Ein Thema von hsg · begonnen am 2. Feb 2007 · letzter Beitrag vom 2. Feb 2007
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.130 Beiträge
 
Delphi 10.3 Rio
 
#11

Re: Sperrung von Datensätzen über mehrere Standorten

  Alt 2. Feb 2007, 10:23
Wenn die Standleitung weg ist kannst Du doch auch nicht mehr sperren, also muss doch sowieso eine bessere Lösung her, oder?

Frank
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#12

Re: Sperrung von Datensätzen über mehrere Standorten

  Alt 2. Feb 2007, 10:31
Varaiante 1:
Da kann man nur einzelne Arbeitschritte in unterschiedliche Kategorien einstufen. Sodass Aktionen aus Kategorie 1 (Briefe verschicken an Kunden) nur durchführbar sind, wenn alle 3 Datenbanken verfügbar sind und damit durch einen Lcient oder durch die Datenbanken selber oder... vorherabgeglichen und damit freigegeben werden können.


Varainte 2:
-Festlegen, dass nur Datensatz A (=Kunde xyz) auf Server 1 der einzig Richtige ist (und Datensatz B auf Server 2; je nachdem wo es wichtiger ist).
-Diese Informationen auf allen 3 Servern hinterlegen. also, dass jeder weis, auch wenn er grad keine Verbindung zu Server 1 hat, dass nur dort die richtigen Daten liegen und er eine (womöglich falsche) Kopie hat.
Dadurch kann jemand, der auf Server 2 arbeitet sehen, dass er den einen Datensatz unbedingt mit Server 1 vorher (vorm Versenden) abgleichen muss.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
hsg

Registriert seit: 24. Apr 2006
Ort: Wustermark
354 Beiträge
 
Delphi 10.3 Rio
 
#13

Re: Sperrung von Datensätzen über mehrere Standorten

  Alt 2. Feb 2007, 10:37
Zitat von mkinzler:
Für eine SQL-Datenbankverbindung sollte das eigentlich reichen.
Bei 120 Usern die intensiv mit dem Programm arbeiten? Ich finde das schon alleine manchmal sehr träge.
Meine Applikation muss sich mit der Geschwindigkeit von mehreren Dos-Programmen messen, da sieht es lokal schon manchmal traurig aus (wobei ich auch wesentlich mehr Information auf einmal zur Verfügung stelle als die DOS-Programme und versucht habe mich dabei nur auf das Wesentliche zu konzentrieren, die GL will dort manchmal noch viel mehr Möglichkeiten haben)

Zitat von Mavarik:
Wenn die Standleitung weg ist kannst Du doch auch nicht mehr sperren, also muss doch sowieso eine bessere Lösung her, oder?

Frank
Wenn du eine hast: her damit!
  Mit Zitat antworten Zitat
kalmi01
(Gast)

n/a Beiträge
 
#14

Re: Sperrung von Datensätzen über mehrere Standorten

  Alt 2. Feb 2007, 11:59
Zitat:
Wenn die Standleitung weg ist kannst Du doch auch nicht mehr sperren, also muss doch sowieso eine bessere Lösung her, oder?

Wenn du eine hast: her damit!
Ich mache soetwas ähnliches ungefähr so:
1.) Server "unterhalten" sich per UDP untereinander (Jeder mit Jedem)
2.) Sobald 1 Server nicht mehr mit den anderen "spricht" schalten alle die Protokolierung ein
3.) Wenn wieder alle online sind, gleichen sie untereinander die Protokolle ab
4.) werden Transaktionen an gleichen Datensätzen festgestellt ==> Warnmeldung an den Anwender

In den Protokollen werden relevante Transaktionen festgehalten, z.B. wenn der Datensatz verändert wurde.
Jeder Server vergleicht die Protokolle der anderen beiden mit seinem eigenen.

UDP, weil es einfach ein Packet versendet, ohne sich drum zu kümmern, ob es ankommt.
Das ist wichtig, sonst wird bei Verlust der Verbindung der Server ausgebremst, weil er
versucht seine Packete los zu werden.
  Mit Zitat antworten Zitat
hsg

Registriert seit: 24. Apr 2006
Ort: Wustermark
354 Beiträge
 
Delphi 10.3 Rio
 
#15

Re: Sperrung von Datensätzen über mehrere Standorten

  Alt 2. Feb 2007, 12:23
Zitat von kalmi01:
Ich mache soetwas ähnliches ungefähr so:
1.) Server "unterhalten" sich per UDP untereinander (Jeder mit Jedem)
2.) Sobald 1 Server nicht mehr mit den anderen "spricht" schalten alle die Protokolierung ein
3.) Wenn wieder alle online sind, gleichen sie untereinander die Protokolle ab
4.) werden Transaktionen an gleichen Datensätzen festgestellt ==> Warnmeldung an den Anwender

In den Protokollen werden relevante Transaktionen festgehalten, z.B. wenn der Datensatz verändert wurde.
Jeder Server vergleicht die Protokolle der anderen beiden mit seinem eigenen.

UDP, weil es einfach ein Packet versendet, ohne sich drum zu kümmern, ob es ankommt.
Das ist wichtig, sonst wird bei Verlust der Verbindung der Server ausgebremst, weil er
versucht seine Packete los zu werden.
Was du machst, macht für mich die Replikation des Datenbank-Servers. Bei Kollisionen auf den Daten gibt es entsprechende OnConflict-Trigger die dann von mir irgendwie behandelt werden müssen.
Dies ist aber nicht mein Problem.


Zitat von sirius:
Varainte 2:
-Festlegen, dass nur Datensatz A (=Kunde xyz) auf Server 1 der einzig Richtige ist (und Datensatz B auf Server 2; je nachdem wo es wichtiger ist).
-Diese Informationen auf allen 3 Servern hinterlegen. also, dass jeder weis, auch wenn er grad keine Verbindung zu Server 1 hat, dass nur dort die richtigen Daten liegen und er eine (womöglich falsche) Kopie hat.
Dadurch kann jemand, der auf Server 2 arbeitet sehen, dass er den einen Datensatz unbedingt mit Server 1 vorher (vorm Versenden) abgleichen muss.
Die Lösung hört sich schon mal nicht schlecht an, innerhalb eines Standortes wird dann noch der Datensatz gelockt damit gleiche Zugriffe innerhalb eines Standortes nicht gehen......
Muss ich mal weiter durchdenken und mit meinem Chef bequatschen, hat mir aber schon mal viel weiter geholfen.
Für weitere Ideen bin ich natürlich auch noch offen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz