Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   

Die mobilen Seiten von c++.de:
http://m.c-plusplus.de
Infos hier [BETA]

  
c++.de :: WinAPI ::  Eine Datei simulieren     Zeige alle Beiträge auf einer Seite Auf Beitrag antworten
Autor Nachricht
Blaze
Mitglied

Benutzerprofil
Anmeldungsdatum: 04.11.2007
Beiträge: 429
Beitrag Blaze Mitglied 11:35:12 24.06.2012   Titel:   Eine Datei simulieren            Zitieren

Hi Leute!

Ich habe etwas ungewöhnliches vor: Ich will eine Datei simulieren.
Kurz zum Hintergrund:
Programm A schreibt / liest alles aus einer relativ großen Datei (~3GB). Programm A läuft auf mehreren PCs und die große Datei soll übers Internet synchronisiert werden. Es wird aber nie gleichzeitig mit mehreren PCs auf die Datei zugegriffen. Theoretisch wäre auch ein USB Stick möglich. Ist aber praktisch nicht möglich.
Das große Problem hierbei: Sobald Programm A die Datei verändert hat, wird sie komplett synchronisiert. Also ~3GB sollen über meine 2Mb DLS Leitung gequetscht werden. Vergiss es. Das muss doch auch anders gehen.

Jetzt kam mir die Idee: Ich schreibe das Programm B, dass die große Datei nur simuliert (eigentlich emulieren). Programm A glaubt aber, das ist sie.
Programm B seinerseits erstellt aber viele viele kleine Dateien, die ~1MB groß sind. Der komplette Ordner kann dann synchronisiert werden, da nur die veränderten Dateien übertragen werden müssen.

Programmiertechnisch wäre das sicher kein großen Problem, aber ich kenne mich nicht so in den Tiefen von Windows aus.
Also wenn jemand Vorschläge hat, wie ich das realisieren kann, nur her damit.
DerCoder
Mitglied

Benutzerprofil
Anmeldungsdatum: 04.07.2009
Beiträge: 183
Beitrag DerCoder Mitglied 12:54:38 24.06.2012   Titel:              Zitieren

Wenn du die ~3gB große Datei nur simulierst, dann heißt das doch, dass sie nur im Ram vorhanden ist.

Ich fürchte jedoch, dass du so locker 3gB Ram für dein Programm bekommst, vor Allem, wenn in deinem Synchronisierungs-Netzwerk jemand mit weniger Ram ist.
Blaze
Mitglied

Benutzerprofil
Anmeldungsdatum: 04.11.2007
Beiträge: 429
Beitrag Blaze Mitglied 15:07:47 24.06.2012   Titel:              Zitieren

Nein, die Zugriffe werden praktisch nur weitergeleitet. Aber 3GB Dateien im RAM passen in meine PCs dicke. ;)
Jochen Kalmbach
Moderator

Benutzerprofil
Anmeldungsdatum: 11.11.2005
Beiträge: 12081
Beitrag Jochen Kalmbach Moderator 20:54:55 24.06.2012   Titel:              Zitieren

Verwende ein sinnvolles Programm um die Dateien zu synchronisieren! Eines, welches nur die geänderten Bereiche der Datei überträgt und nicht alles!

In der c´t war letztens ein Test darüber drin... ;)

_________________
Greetings
Jochen
(Microsoft MVP VC++) My blog about Win32 and .NET: http://blog.kalmbach-software.de/ (deutsch)
c++.de :: WinAPI ::  Eine Datei simulieren   Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info und www.c-plusplus.net enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.