Xml schreiben --- zugriff?

hallo

blöde frage – eine anwendung soll die daten in ein xml-file speichern.
was ist wenn jemand versucht, das xml zu schreiben, wenn zeitgleich bereits ein anderer das xml schreibt?

gibt es da eine „zugriffs“-lösung?

oder kann ich evtl. auch nur bestimmte knoten überwachen – und nur diese beschreiben, während an anderer stelle ein anderer knoten geändert wird?

danke für antworten

grüße

rasta

hallo rasta

Interessante Frage.

Bisher hatte ich den Eindruck, das es zu einem Fehler führt. Ob man den abfragen kann? (außer try catch) keine Ahnung.

Wir speichern viel XML in DB´s. Die regelt die Reihenfolge schon, aber:
Beim Speichern dürfte gelten: Der letzte gewinnt. Egal ob File oder DB.

In der DB (basis für ein Web) haben wir mit TimeStamps gearbeitet, die als Sperre interpretiert werden. Diese werden beim Lesen (zum Schreiben) des Datensatzes gesetzt. Lebensdauer entsprechend Session Lebensdauer. Geschützt ist somit der Datensatz, bis der TimeStamp zu alt wird.

Ansonsten würde ich dazu tendieren, den Zugriff über einen Dienst zu gestalten, dem man Sperre etc. beibringt. Das an und abmelden ist allerdings ein Problem: Wie lange hält man die Sperre aufrecht? Im Web (siehe oben) haben wir uns an dem notwendigen Session-Objekt orientiert. Bei Desktop Applikationen müßte man ähnliches machen, kenne ich aber nich.

Bin mal auf die weitere Diskussion gespannt.

mfg

Dirk

hallo dirk,

erstmal vielen dank für deine antwort.

es geht um ein forum, das ich optmieren will, sowohl von der technik als auch design – eine professionelle grundreinigung eben :smile:

bisher verwende ich für die technik eine access-db.

in dieser db sind baumstrukturen abzubilden jedoch ein kleines problem.
entweder du verwendest „nested loops“ oder machst pro ebene eine abfrage an die db.

deswegen ist meine idee, das ganze auf xml umzustellen:

so in etwa…
davon verspreche ich mir einen geschwindigkeitsvorteil – da ich die baumstruktur 1:1 ausgeben kann- und nicht jede ebene abfragen muss

habe keine wirklich große erfahrung mit xml – deswegen tauchte unter anderem die von mir gestellte frage auf

wenn ich jedoch jedes mal auf das ende einer session warten muss – ist dies nicht wirklich hilfreich für meine anwendung…

wie könnte mans noch machen?(vor allem schneller??)

vielen dank für eure antworten

grüße

rasta

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Ach so.
hallo rasta

es geht um ein forum, das ich optmieren will, sowohl von der
technik als auch design – eine professionelle grundreinigung
eben :smile:

Da kommt mir der Verdacht, das XML da garnicht zum Tragen kommen sollte (in der Ablage), da in dem Forum sicherlich einzelne Threads entstehen, die dann den Baum bilden. Also rieeeeeesen Datenmengen.

Wir verwenden eine DB, in der wir die jeweiligen Einträge (auch) als xml-Fragmente halten und diese stellen wir nach Bedarf (dynamisch) zusammen.

Also je Posting den xml-Stream (Anzeige) als seperates Feld in die DB und die einzelnen Komponenten als Felder.

bisher verwende ich für die technik eine access-db.

Sagt dir caché als DB etwas? die soll direkt xml abbilden können. da ich das leider nicht kenne, müßte ich ggfs. meine Meinung revidieren.

davon verspreche ich mir einen geschwindigkeitsvorteil – da
ich die baumstruktur 1:1 ausgeben kann- und nicht jede ebene
abfragen muss

Siehe oben, die Kunst liegt darin, jeweils das Richtige zu tuen. Suchen und Listen = DB mit Feldern. Anzeigen ggfs. mit zusammengestelltem XML.

wenn ich jedoch jedes mal auf das ende einer session warten
muss – ist dies nicht wirklich hilfreich für meine
anwendung…

Was heißt warten, der user will einen Thread lesen, also den samt Kindern Zusammenstellen und anbieten.

wie könnte mans noch machen?(vor allem schneller??)

IMHO sollten zu einem Thread nie wirklich viele einzelen Posting existieren. Eine rekursive Suche und Zusammenstellung der Kinder sollte daher ausreichen performant sein.

mfg

Dirk