Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Datei in Echtzeit "teilen" (https://www.delphipraxis.net/135995-datei-echtzeit-teilen.html)

alzaimar 21. Jun 2009 22:04

Re: Datei in Echtzeit "teilen"
 
[quote="Reinhard Kern"]
Zitat:

Zitat von 64Jabor
m.a.W. es können viele an einer Kundendatei arbeiten, aber nie 2 am gleichen Kunden.

Das stimmt so nicht. Person A arbeitet an den Adressdaten, Person B an den Bankverbindungen. Beide können ohne Probleme gleichzeitig am Kunden herumsezieren und die Daten auch speichern (Es werden natürlich nur die Änderungen gespeichert). Im Allgemeinen ist es unkritisch, wenn Änderungen auf elementarer Ebene nicht gleichzeitig (mehrere Personen verändern ein und das selbe Feld) geschehen. Wenn ja, kann man gegensteuern. Entweder durch Satzsperren (hier: Feldsperren) oder durch Reconcile-Strategien, wobei die Einfachste die ist, der zweiten Person den Konflikt anzuzeigen ("Person A hat die Adresse auf 'XYZ' geändert, Sie auf 'ABC'. Welche Version ist gültig?").

Cyf 21. Jun 2009 22:49

Re: Datei in Echtzeit "teilen"
 
Je nachdem, für was das sein soll, klingt hier auch der Einsatz von SVN ganz naheliegend.

Fridolin Walther 21. Jun 2009 23:00

Re: Datei in Echtzeit "teilen"
 
[rant]SVN ist das Böse ;).[/rant]

Ansonsten zum Thema:
Das was Du Dir da vorgenommen hast ist alles andere als trivial. Du magst mehr oder weniger quasi in Echtzeit das Bearbeiten des selben Dokuments durch mehrere Leute ermöglichen. Je nachdem was für eine Art Dokument das ist, sollte man schauen ob sich die Sache nicht evtl. anders lösen lässt.

Wenn Du Dich partou nicht von der Idee trennen magst, kannst Du ja mal schauen wie Google dieses Concurrency Problem in Google Wave gelöst hat.

uwewo 22. Jun 2009 07:28

Re: Datei in Echtzeit "teilen"
 
Hi,

zuerst einaml habe mir nicht alles durchgelesen, falls doppel Posting Sorry,

Warum nicht in jeder Tabelle ein Feld "Änderung" Typ TimeStamp anlegen und das dann einfach vergleichen ;-)

Uwe

64Jabor 22. Jun 2009 22:20

Re: Datei in Echtzeit "teilen"
 
Das artet aus, ich sehs schon :D

ALso was ich will, ist zB. ein Blatt Papier auf dem jeder malen kann, als Beispiel.
Nun soll das halt möglichst in Echtzeit mitzuverfolgen sein.
Das Problem ist denke ich, dass ich Textdateien verwendet habe, die ja jedesmal als ganzes heruntergeladne werden (müssen?)
Würde ich zB. nur die Position eines Punktes durchgeben - und eine Linie besteht ja nunmal aus vielen Punkten, wäre dies wahrscheinlich wesentlich schneller.
Das ließe sich aber kaum mit Webspace realisieren, sondern wohl eher mit einer Serverversion meines Programmes, das als Verteiler dient, und dafür müsste ich mein Konzept bisher über den Haufen werfen ^^

himitsu 22. Jun 2009 22:42

Re: Datei in Echtzeit "teilen"
 
Der Server (bzw. auch ein "billiges" PHP-Script) muß ja nur die IPs der Rechner kennen und dann unterhalten die Programme sich direkt und schicken sich nur noch die Änderungen untereinander hin und her.

uwewo 23. Jun 2009 22:16

Re: Datei in Echtzeit "teilen"
 
Anscheinend verstehe ich Dein Problem nicht, oder Du hast mein Vorschlag ignoriert!!!!
Wäre die letzte Änderung jedes Datensatzes per TimeStamp protokolliert,(Das machte TimeStamp automatisch) ist es doch einfach beim hochladen nur die Datensätze zu ersetzen, die ein neueres Datum bzw. Uhrzeit haben.

Uwe

Der.Kaktus 24. Jun 2009 05:34

Re: Datei in Echtzeit "teilen"
 
Hallo, nutzt Du keine Netzwerkfaehige Datenbank?..Damit waer es kein Problem, da Du Datensaetze einzeln sperren kanns wenn sie in Bearbeitung sind.

64Jabor 24. Jun 2009 14:14

Re: Datei in Echtzeit "teilen"
 
Nein ich benutze keine Datenbank, ich habe Delphi 7 Personal, denke das kann soetwas gar nicht =/

Ich muss zugeben deinen Vorschlag mit dem TimeStamp hatte ich schlichtweg überlesen xD
Also ich sollte einen TimeStamp der letzen Änderung in meiner Datei für jeden Datensatz mitspeichern und dann nur die neueren Datensätze speichern, aber wie ist da gewährleistet, dass die Änderung bei anderen angezeigt wird?
Ich meine wenn ich die Zahl 30 habe und ich sehe meine Datei gleichzeitig an mit jemand anderen, ich verringe auf 25, er dreht sie hoch auf 35, dann sieht er bei seiner Änderung zu keiner Zeit, dass ich die Zahl gerade runterschraube, oder?

Vielleicht muss es aber auch gar nicht so kompliziert sein würde ich davon ausgehen, dass nie der gleiche Datensatz bearbeitet würde.
Dann wäre die Sache mit einem TimeStamp wiederum leicht zu realsisieren...

Fridolin Walther 24. Jun 2009 14:16

Re: Datei in Echtzeit "teilen"
 
Ich mag mich ja nicht aufdrängen (obwohl: doch eigentlich schon ;)) aber genau Dein Problem ist wie gesagt in der Google Wave Protokoll Spezifikation erläutert: http://www.waveprotocol.org/whitepap...onal-transform.

Ebenfalls interessant zu Deinem Problem ist der Wikipedia Eintrag zum entsprechenden Themengebiet (Operational Transformation): http://en.wikipedia.org/wiki/Operational_transformation


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:23 Uhr.
Seite 2 von 3     12 3      

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