die Situation: ich eine Datenbank und eine Web-App haben, die Tabellen der wissenschaftlichen Daten anzuzeigen und zu aktualisieren interagieren. Meine Aufgabe ist es, eine mobile Anwendung zu erstellen, die Benutzer zuOffline/Online-Datenbank Authentifizierung/Synchronisation von jQuery Mobile
- Authentifizieren ermöglicht und identifizieren sie offline für Tracking-Zwecke (unter Verwendung von vordefinierten, aber dynamischen Benutzerkonten und im Cache gespeicherten Erlaubnissen)
- Download-Identifikationsdaten für Arbeiten auf dem Gebiet (mit Internetzugang)
- Fabrikat und Shop Beobachtungen im Feld (ohne Internetzugang)
- Beobachtungen Synchronisieren in eine Online-Datenbank zu einem späteren Zeitpunkt
Die Frage: Was ist der beste Weg zum Authentifizieren/Herunterladen/Speichern/Hochladen der notwendigen Daten für die Verwaltung einer solchen Anwendung unabhängig von konsistentem Internetzugang? Wenn zwei Personen denselben Messwert anpassen und zwischen den Synchronisationen ein Update stattfindet, wie kann ich verfolgen, welche Tabellen und Werte geändert wurden, und verhindern, dass die Änderungen verloren gehen?
Der aktuelle Zug des Gedankens: Meine aktuelle vorläufige Strategie zur Kollisionskontrolle einer „Sync“ Tabelle zu pflegen, die JSON-Objekte speichert jede Online-Datenbanktransaktion in sessionstorage gespeichert darstellen und hat die App ihre Sync kontinuierlich überprüfen vor den Heraufladen von Daten und überprüfen dieses Objekt auf mögliche Kollisionen bei Updates auf bestimmte Primärschlüssel. Ich möchte in der Lage sein, Tupel zu sperren, wenn sie sich in einer Bearbeitungsphase befinden, aber das scheint bei inkonsistentem Internetzugang unmöglich zu sein.
Sorry, wenn dies ein bisschen ein newb Frage ist, ich bin neu in der ganzen mobile app Entwicklung Sache ...
tl; dr Wie kann ich asynchrone Änderungen an der Datenbank von mobilen Anwendungen verhindern Das geht online und offline durch Überschreiben/kollidieren mit anderen Änderungen in der gleichen Datenbank? Und wie authentifiziere ich Benutzer ohne eine Netzwerkverbindung?
Concurrency ist ein Problem bei vielen Anwendungen und databasess. Es gibt nur eine längere Lücke im Posting und die Technologie mit dem Handy, aber das ist nicht so anders. – JeffO
@JeffO Sie beantworten nicht wirklich meine Fragen .. Parallelität und Datenkollisionen sind ein Problem, das ich festgestellt haben, das ist wahr, aber was davon? – XaxD