![]() |
Ansätze für Daten Synchronisation? (keine Threads)
Hallo,
ich wollte mal fragen ob es im Web irgendwo etwas gibt was sich mit Synchronisation und den möglichen Konflikten beschäftigt? (Auch was es alles für Konflikte geben kann) Und wie man die Datenstruktur Aufbaut oder Konflikte vermeidet, und auch wie die Abläufe bei der Synchronisation sind/sein sollten. Mir gehts dabei um die Synchronisation von gleichen Daten zwischen verschiedenen "Geräten"/Clients die sich aber alle über eine gemeinsame Basis syncen (Server-DB). Wobei meine Synchronisation nicht "live" passieren soll, sondern per "manuellem" Abgleich. Was auch sehr interesannt wäre, wie man den Sync schnell und ohne viel Overhead umsetzen kann. (z.B. erst alle Änderungen ermitteln und dann syncen oder anders?) Wenn sich im Netz nichts dazu findet (ich hab nicht wirklich was gefunden, auch hier im Forum nicht) dann würde ich mich auch über ein Brainstorming hier im Thread freuen. |
Re: Ansätze für Daten Synchronisation? (keine Threads)
Suche mal nach Replikation
|
Re: Ansätze für Daten Synchronisation? (keine Threads)
Ich hab jetzt mal ein bisschen rumgesucht, leider geht es bei fast allen Themen dann um technische Umsetzung (also welches DBMS, Komponenten ...) aber über die theoretische Herangehensweise hab ich nicht wirklich was gefunden
|
Re: Ansätze für Daten Synchronisation? (keine Threads)
Hallo,
wenn es den ein MS-SQL Server ist, so kann der ab 2005 selber synchronisieren. Steht alles in der 'Online'-Dokumentation, wobei man sich laden kann. Ansonsten auf gleicher Grundlage, aber ohne MS-SQL, bietet sich Sync-Framework an. Kann jetzt aber nicht genau sagen ob es im Win7-SDK enthalten ist. Hatte es separat geladen und installiert. Viele Grüße |
Re: Ansätze für Daten Synchronisation? (keine Threads)
Ich werfe einfach mal
![]() |
Re: Ansätze für Daten Synchronisation? (keine Threads)
Er möchte keine Lösungen sondern Theorie :zwinker:
|
Re: Ansätze für Daten Synchronisation? (keine Threads)
Theoretisch könntest du es so machen, dass jeder Datensatz ein "LastUpdateDate" mit sich führt.
Über diesen kannst du dann leicht ermitteln, welche Datensätze geupdated werden müssen. |
Re: Ansätze für Daten Synchronisation? (keine Threads)
Es kommt dabei auch darauf an, in welche Richtung und wieviele Pools es gibt (werden Änderungen gemacht, welche in die Datenbasis zurückgeschrieben werden müssen)
|
Re: Ansätze für Daten Synchronisation? (keine Threads)
Zitat:
Zitat:
Zitat:
Zitat:
|
Re: Ansätze für Daten Synchronisation? (keine Threads)
Wenn du ein DBMS verwendest, würde ich eine spezielle DBMS bezogene Lösung verwenden.
SyncML ist theoretisch aucxh geeignet du müsstest dich dann aber um die Kapselung deiner daten kümmern |
Re: Ansätze für Daten Synchronisation? (keine Threads)
Zitat:
Du willst doch Tabellen vom Server mit denen von den Clients syncen, richtig? Passiert diese Synchronisation der Datensätze nur auf einem Weg (neue Datensätze vom Server => Client) oder auch umgekehrt (neue lokale Datensätze aller Clients => Server). Dann wird das ganze natürlich komplexer. |
Re: Ansätze für Daten Synchronisation? (keine Threads)
Zitat:
Zitat:
Jeder Client soll Daten erzeugen können die er dann zum "Server" synct, die sollen dann nat. auch an die anderen Clients verteilt werden ... kann aber auch sein das der "Server" selber Daten erzeugt die dann an alle Clients müssen. Zitat:
|
Re: Ansätze für Daten Synchronisation? (keine Threads)
Eine Replikation einer Menge an Pools ist natürlich komplexer. Am Besten arbeitet man hier mit verschiedenene Nummerkreisen ( jeder Pool hat eigenen). In welcher Form werden die Daten lokal gespeichert?
|
Re: Ansätze für Daten Synchronisation? (keine Threads)
Zitat:
die "Haupt-ID" -> Timestamp+Zufallswert (um sicher zu sein) damit könnte jeder Client (und auch der Server) neue Einträge erzeugen ohne das sich die IDs dann beim Sync überschneiden. (auch lässt sich das ganze dank Timestamp noch sortieren/indizieren) Die Trennung zwischen Server und Client IDs halte ich für weniger Sinnvoll ... dann muss man zum einen die Nummernkreise irgendwo pflegen, und irgendwann kommts dann sicher mal das die Kreise zu klein werden. Was meinst du mit "Form"? das DBMS oder die Datenstruktur ... wie gesagt DBMS das was für diese Platform gerade verfügbar ist, und zur Struktur ... ka. bisher gibt es noch keine wirklichen Pläne ... daher auch erstmal die Theorie :D |
Re: Ansätze für Daten Synchronisation? (keine Threads)
Möglicher Ansatz:
Der Server hat die Macht über die ID eines Datensatzes. Wenn der Server neue Datensätze schreibt, vergibt er eh neue ID's. Erzeugen die Clients offline neue Datensätze, wird diese globale ID erstmal freigelassen. Erfolgt dann ein Sync von diesem Client, werden die Datensätze vom Server mit einer ID versehen und diese IDs in die Datensätze des lokalen Clients zurückgeschrieben. Somit erhält jeder Datensatz eine eindeutige ID und kann identifiziert und verteilt werden. Problematisch wird es dann jedoch, wenn ein Datensatz, der bereits besteht, sowohl vom Server als auch von einem Client modifiziert wird. Bei einem Sync gäbe es dann eine Kollision. Trifft das bei deinem Problem überhaupt zu oder gibt es generell nur immer neue Datensätze bzw. werden bestehende immer nur von einem (Server?) geändert? |
Re: Ansätze für Daten Synchronisation? (keine Threads)
Zitat:
|
Re: Ansätze für Daten Synchronisation? (keine Threads)
Hi,
wenn es nur um dir Theorie geht, dann bitte hier ![]() Es ist eine Möglichkeit und sie funktioniert. |
AW: Re: Ansätze für Daten Synchronisation? (keine Threads)
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:15 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz