Kennst sich jemand mit der internen SMS/MMS Datenbank Sturktur aus?
-
-
-
Ich würd den Code mir gern mal anschauen und testen - sehr interessantes teil!
-
http://rapidshare.com/files/266315652/iphone.sitx.html
Das war damals das erste Grundgerüst. Es zeigt nur eine Konversation an (legt man fest mit der usergroup_id im Quellcode).
Die aktuellste Version liest auch die Kontaktdatenbank aus, übernimmt die dort gespeicherte Profibilder als Avatar, und zeigt eine Übersicht aller verfügbaren Konversationen an, die dann ausgewählt werden können.
Diese Version geb ich allerdings nicht raus, bevor das Phänomen nicht endgütig geklärt ist, warum manchmal gewisse MMS-Informationen in ganz seltenen Fällen in der Datenbank und nicht im Filesystem abgelegt werden.
Ich habe zwar OS3.1 zur Verfügung, kann damit aber, wegen mangelndem Jailbreaks, nicht viel damit testen. Ich hoffe aber, dass da Apple nachgebessert hat.
-
Auch die Frage, wann die MMS-Daten in der Datenbank abgelegt werde und wann im Filesystem, konnte ich gerade klären.
Die Antwort ist ziemlich einfach:
Datei (egal ob das Preview-File oder die Datei selber) kleiner als 20kb --> Daten werden in DB gespeichert
Datei (egal ob das Preview-File oder die Datei selber) größer als 20kb --> Daten werden im Filesystem gespeichertSomit ist eigentlich alles geklärt bis auf das WARUM.
Ich lege das "Projekt" erst mal auf Eis und schaue, ob sich in OS3.1 in der Hinsicht was verändert hat.
Mit dem aufteilen in die verschiedenen Unterverzeichnisse habe ich kein Problem. Man kann sich ja anhand der message_id ausrechnen, in welchem Verzeichniss die Datei gelandet ist.
Aber mit dem aufteilen der Files anhand ihrer Größe, habe ich ein Problem. Einmal so, einmal so. Das Dateien kleiner als 20kb in der Datenbank gespeichert werden ist sch****e.
Klar hat das speichern in der DB auch seinen Vorteil. Man müsste nur ein einziges File synchronisieren und hat somit alle Daten auf dem Server zu Verfügung. ABER: Man muss immer die gesamte Datenbank auf den Server kopieren. Selbst bei nur einer neuen SMS müssten, ja nachdem wieviel MMS man so in seinem iPhone hat, große Datenmengen völlig unnütz auf den Server kopiert werden.
Liegen die Dateien im Filesystem, wie es ja eigentlich auch zu 98% der Fall ist, reicht ein rsync aus, um nur die neuen Daten auf den Server zu kopieren. Fazit: Schnelle und Trafficschonender Sync zwischen iPhone und Webserver.
Sollte sich in OS3.1 in der Hinsicht etwas ändern, und binäre Dateien IMMER im Filesystem abgelegt werden, so werde ich an dem "Ding" weiterarbeiten.
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!