-
Die Erfindung betrifft ein Verfahren zum Austausch oder Übertragen von Daten zwischen einem flüchtigen Speichermedium und einem nicht-flüchtigen Speichermedium. Die Erfindung betrifft ferner eine Datenverarbeitungsvorrichtung, ein Computerprogramm, ein computerlesbares Speichermedium und ein Kraftfahrzeug.
-
Bekannte Fahrassistenzsysteme von Kraftfahrzeugen verwenden Schwarmdaten zur Navigation. Solche Schwarmdaten sind beispielsweise durch Erfassen oder Sammeln von einzelnen Datensätzen mittels einer Mehrzahl von Kraftfahrzeugen beim jeweiligen Befahren eines Streckenabschnitts erhältlich. In einer entfernten oder zentralen oder stationären Datenverarbeitungseinrichtung könnten die Schwarmdaten zum Herunterladen durch das nutzendes Kraftfahrzeug bereitgestellt werden. Das kontinuierliche Herunterladen von Schwarmdaten durch das Kraftfahrzeug kann zu hohem Datenverbrauch führen. Des Weiteren ist für das kontinuierliche Herunterladen von Schwarmdaten eine verlässliche Verbindung des Kraftfahrzeugs mit dem Internet erforderlich. Die Verfügbarkeit von Speichermedien in einem Kraftfahrzeug kann ebenfalls ein einschränkender Faktor auf das Herunterladen von Schwarmdaten sein. Hinzu kommt, dass Speichermedien im Allgemeinen nur für eine vorbestimmte Lebensdauer ausgelegt sind. Dies ist beispielsweise bei Flashspeichern und SSDs (solid state disks) ein relevant limitierender Faktor, da deren Speicherzellen nur eine begrenzte Anzahl an Schreib- und Lesezyklen unbeschadet überstehen. Das Speichern und das Löschen von Daten in einem nicht-flüchtigen Speichermedium in einem Kraftfahrzeug kann daher zu einem Verschleiß des Speichermediums führen, durch welchen die Anzahl der funktionstüchtigen Speicherzellen abnimmt. Außerdem kann ein exzessiver Verbrauch von Speicherkapazität auch vor Ende der Lebensdauer des Speichermediums zu Systemfehlern und Speicherengpässen führen.
-
-
Die Erfindung hat sich zur Aufgabe gestellt, ein verbessertes Verfahren zum Speichern von Daten in einem nicht-flüchtigen Speichermedium, insbesondere demjenigen eines Kraftfahrzeugs, zu schaffen.
-
Zum Lösen dieser Aufgabe schafft die Erfindung ein Verfahren zum Austausch von Daten zwischen einem flüchtigen Speichermedium und einem nicht-flüchtigen Speichermedium gemäß Anspruch 1. Eine Datenverarbeitungsvorrichtung, ein Computerprogramm, ein computerlesbares Speichermedium und ein Kraftfahrzeug sind Gegenstand der nebengeordneten Ansprüche.
-
Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche.
-
Gemäß einem Aspekt schafft die Erfindung ein Verfahren zum Austausch von Daten mit einem Datenvolumen (Datenmenge) zwischen einem flüchtigen Speichermedium und einem nicht-flüchtigen Speichermedium in einer Datenverarbeitungsvorrichtung, das Verfahren umfassend:
- a) Definieren eines Datenaustauschvolumenbudgets für einen Austausch von Daten zwischen dem flüchtigen Speichermedium und dem nicht-flüchtigen Speichermedium während eines Verwendungszeitraums der Datenverarbeitungsvorrichtung;
- b) Speichern einer von einem Datenaustauschvolumenverbrauch abhängigen Speicherzählvariablen in dem nicht-flüchtigen Speichermedium, wobei der Datenaustauschvolumenverbrauch einem Datenvolumen von Daten entspricht, die seit Beginn des Verwendungszeitraums in das nicht-flüchtige Speichermedium übertragen worden sind; und
- c) Bei einem Systemlauf der Datenverarbeitungsvorrichtung, Übertragen von in dem flüchtigen Speichermedium gespeicherten Daten in das nicht-flüchtige Speichermedium in Abhängigkeit eines Vergleichs des aus der gespeicherten Speicherzählvariablen bestimmbaren Datenaustauschvolumenverbrauchs und des Datenaustauschvolumenbudgets; und
- d) Anpassen der Speicherzählvariablen mittels des Datenvolumens der in Schritt c) in das nicht-flüchtige Speichermedium übertragenen Daten.
-
Ein Vorteil der Erfindung kann sein, dass zum Speichern von Daten in einem nicht-flüchtigen Speichermedium einer Datenverarbeitungsvorrichtung ein bisheriger Nutzungsumfang des Speichermediums berücksichtigt wird. Erreicht der Nutzungsumfang ein vordefiniertes Nutzungsbudget, kann ein verlässliches Funktionieren des nicht-flüchtigen Speichermediums gegebenenfalls nicht mehr garantiert werden. Vor dem Abspeichern von weiteren Daten in das nicht-flüchtigen Speichermedium hinein wird daher geprüft, ob der bisherige Nutzungsumfang das Nutzungsbudget bereits überschreitet oder das Abspeichern der weiteren Daten zur Überschreitung führen würde. Bei Überschreiten werden keine Daten abgespeichert oder nur in dem Umfang bis zum Erreichen des Schwellwerts. Damit wird verhindert, dass Daten aufgrund verschlissener Speicherzellen fehlerhaft abgespeichert werden, sodass durch das Verfahren die Datenintegrität bewahrt ist. Insbesondere in einem Kraftfahrzeug ist die Integrität von Daten ein wichtiger Aspekt, das der Fahrbetrieb von der Integrität der Daten abhängen kann.
-
Es ist bevorzugt, dass das Verfahren ferner umfasst:
- e) Bei einem System lauf der Datenverarbeitungsvorrichtung, Übertragen von in dem nicht-flüchtigen Speichermedium gespeicherten Daten in das flüchtige Speichermedium in Abhängigkeit des aus der gespeicherten Speicherzählvariablen bestimmbaren Datenaustauschvolumenverbrauchs und des Datenaustauschvolumenbudgets.
-
Das Überprüfen des Nutzungsumfangs wird vorzugsweise sowohl beim Speichern von Daten in dem nicht-flüchtigen Speichermedium als auch beim Übertragen von Daten aus dem nicht-flüchtigen Speichermedium durchgeführt. Somit wird ebenfalls verhindert, dass möglicherweise fehlerhafte Daten überhaupt in der Datenverarbeitungsvorrichtung verarbeitet werden, was die Datenintegrität ebenfalls erhöht.
-
Es ist bevorzugt, dass das Übertragen von Daten nur dann durchgeführt wird, wenn der aus der gespeicherten Speicherzählvariablen bestimmbare Datenaustauschvolumenverbrauch kleiner oder gleich dem Datenaustauschvolumenbudget ist.
-
Es ist bevorzugt, dass Schritt e) bei Beginn eines System laufs der Datenverarbeitungsvorrichtung durchgeführt wird.
-
Es ist bevorzugt, dass das Verfahren ferner umfasst:
- f) Definieren eines Speichervolumenbudgets für das nicht-flüchtige Speichermedium zum Übertragen von in dem flüchtigen Speichermedium gespeicherten Daten; und
- g) Überschreiben und/oder Löschen von bei einem vorangegangenen System lauf übertragenen und in dem nicht-flüchtigen Speichermedium gespeicherten Daten, sodass das vordefinierte Speichervolumenbudget nicht überschritten wird.
-
Die zum Übertragen verfügbare Speicherkapazität in dem nicht-flüchtigen Speichermedium kann als Speichervolumenbudget vordefiniert sein. Das Speichervolumenbudget wird dann in der bevorzugten Ausführungsform des Verfahrens nicht überschritten, selbst wenn neue Daten in das nicht-flüchtige Speichermedium übertragen werden. Dabei können bei einem vorangegangenen System übertragene und in dem nicht-flüchtigen Speichermedium gespeicherte Daten überschrieben und/oder gelöscht werden. Somit kann ein komplettes Vollschreiben des nicht-flüchtigen Speichermediums verhindert werden und das nicht-flüchtige Speichermedium kann weiterhin auch für andere Prozesse genutzt werden.
-
Es ist bevorzugt, dass Schritt c) umfasst:
- c1) Bestimmen der zu übertragenden Daten in Abhängigkeit eines Vergleichs der in dem flüchtigen Speichermedium gespeicherten Daten mit den in dem in nicht-flüchtigen Speichermedium gespeicherten Daten.
-
Ein Vorteil der Erfindung kann sein, dass nur Daten in das nicht-flüchtige Speichermedium übertragen werden, die dort noch nicht vorhanden sind bzw. die in einem flüchtigen Speichermedium neu abgespeichert worden sind. So wird die Nutzung des nicht-flüchtigen Speichermedium nur auf das Notwendige beschränkt, sodass der Verschleiß des nicht-flüchtigen Speichermedium verringert werden kann.
-
Es ist bevorzugt, dass Schritt c) einen oder beide der folgenden Schritte umfasst:
- c2) Übertragen der Daten durch Überschreiben von in dem nicht-flüchtigen Speichermedium gespeicherten Daten; und
- c3) Übertragen der Daten mit einem Datenzeitstempel und/oder mit einem Datenidentifikator.
-
Die Speicherkapazität des nicht-flüchtigen Speichermedium kann begrenzt sein. Deshalb kann es erforderlich sein, Daten in dem nicht-flüchtigen Speichermedium zu überschreiben. Vorzugsweise werden die Daten, die in das nicht-flüchtige Speichermedium übertragen werden, mit einem Datenzeitstempelund/oder mit einem Datenidentifikator versehen. Anhand des Datenzeitstempelsund/oder des Datenidentifikators kann die Datenverarbeitungsvorrichtung dann Daten aussuchen, die nicht mehr benötigt werden und zum Überschreiben geeignet sind. Somit kann das nicht-flüchtige Speichermedium auch nach einem Vollschreiben weiterhin genutzt werden.
-
Es ist bevorzugt, dass Schritt c) ferner einen oder beide der folgenden Schritte umfasst:
- c4) Überschreiben von in dem nicht-flüchtigen Speichermedium gespeicherten Daten beginnend mit einem frühesten Datenzeitstempel derselben; und
- c5) Bestimmen der zu übertragenden Daten in Abhängigkeit eines Vergleichs des Datenzeitstempels und/oder des Datenidentifikators der in dem flüchtigen Speichermedium gespeicherten Daten mit dem Datenzeitstempel und/oder dem Datenidentifikator der in dem nicht-flüchtigen Speichermedium gespeicherten Daten.
-
Vorzugsweise werden die ältesten Daten überschrieben. Somit sind vorteilhafterweise die aktuellsten Daten in dem nicht-flüchtigen Speichermedium abgespeichert.
-
Es ist bevorzugt, dass das Verfahren ferner einen oder beide der folgenden Schritte umfasst:
- h1) Bei einem Systemlauf der Datenverarbeitungsvorrichtung, Laden von Daten aus einer entfernten Datenverarbeitungseinrichtung in das flüchtige Speichermedium; und
- h2) Bei einem System lauf der Datenverarbeitungsvorrichtung, Erfassen von Daten mittels einer Datenerfassungseinrichtung und Ablegen der erfassten Daten in dem flüchtigen Speichermedium und/oder Übertragen der erfassten Daten an eine entfernte Datenverarbeitungseinrichtung.
-
Das flüchtige Speichermedium wird vorteilhafterweise zum Laden neuer Daten verwendet. Somit wird zunächst das flüchtige Speichermedium belastet und das nicht-flüchtige Speichermedium geschont. Erst beim Übertragen von Daten aus dem flüchtigen Speichermedium wird das nicht-flüchtige Speichermedium belastet. Vor dem Übertragen können auch Daten in dem flüchtigen Speichermedium aussortiert werden, sodass das nicht-flüchtige Speichermedium möglichst gering belastet wird.
-
Es ist bevorzugt, dass Schritt a) einen, mehrere oder alle der folgenden Schritte umfasst:
- a1) Definieren des Datenaustauschvolumenbudgets in Abhängigkeit einer vorbestimmten, maximalen Anzahl von Systemläufen der Datenverarbeitungsvorrichtung;
- a2) Definieren des Datenaustauschvolumenbudgets in Abhängigkeit eines vorbestimmten, maximalen Verwendungszeitraums der Datenverarbeitungsvorrichtung; und
- a3) Definieren des Datenaustauschvolumenbudgets in Abhängigkeit eines vorbestimmten, maximalen Datenvolumens übertragbarer Daten pro System lauf der Datenverarbeitungsvorrichtung.
-
Zum Definieren des Datenaustauschvolumenbudgets kann eine vorbestimmte Maximalbelastung des nicht-flüchtigen Speichermediums anhand verschiedener Faktoren berechnet werden. Das Datenaustauschvolumenbudget kann auch von einem Hersteller des nicht-flüchtigen Speichermediums definiert sein.
-
Es ist bevorzugt, dass der Schritt c) und/oder der Schritt d) bei Beendigung des System laufs der Datenverarbeitungsvorrichtung durchgeführt wird.
-
Für Anwendungsfälle oder Anwendungssituationen, die sich bei dem Verfahren ergeben können und die hier nicht explizit beschrieben sind, kann vorgesehen sein, dass gemäß dem Verfahren eine Fehlermeldung und/oder eine Aufforderung zur Eingabe einer Nutzerrückmeldung ausgegeben und/oder eine Standardeinstellung und/oder ein vorbestimmter Initialzustand eingestellt wird.
-
Gemäß einem weiteren Aspekt schafft die Erfindung eine Datenverarbeitungsvorrichtung, umfassend Mittel zur Ausführung des Verfahrens nach einem der vorhergehenden Ausgestaltungen.
-
Zu der Erfindung gehört auch die Datenverarbeitungsvorrichtung oder Prozessoreinrichtung. Die Datenverarbeitungsvorrichtung oder Prozessoreinrichtung ist dazu eingerichtet, eine Ausführungsform des erfindungsgemäßen Verfahrens durchzuführen. Die Prozessoreinrichtung kann hierzu zumindest einen Mikroprozessor und/oder zumindest einen Mikrocontroller und/oder zumindest einen FPGA (Field Programmable Gate Array) und/oder zumindest einen DSP (Digital Signal Processor) aufweisen. Des Weiteren kann die Prozessoreinrichtung Programmcode aufweisen, der dazu eingerichtet ist, bei Ausführen durch die Prozessoreinrichtung die Ausführungsform des erfindungsgemäßen Verfahrens durchzuführen. Der Programmcode kann in einem Datenspeicher der Prozessoreinrichtung gespeichert sein. Die Prozessorschaltung der Prozessoreinrichtung kann z.B. zumindest eine Schaltungsplatine und/oder zumindest ein SoC (System on Chip) aufweisen. Die Datenverarbeitungsvorrichtung kann z.B. durch ein einzelnes Steuergerät oder durch einen Verbund mehrerer Steuergeräte realisiert werden. Allgemein kann die Datenverarbeitungsvorrichtung somit als ein einzelnes Gerät oder als eine im Kraftfahrzeug verteilte Anordnung der beschriebenen Komponenten implementiert werden.
-
Zu der Erfindung gehören auch Weiterbildungen der erfindungsgemäßen Datenverarbeitungsvorrichtung, die Merkmale aufweisen, wie sie bereits im Zusammenhang mit den Weiterbildungen des erfindungsgemäßen Verfahrens beschrieben worden sind. Aus diesem Grund sind die entsprechenden Weiterbildungen der erfindungsgemäßen Datenverarbeitungsvorrichtung hier nicht noch einmal beschrieben.
-
Gemäß einem weiteren Aspekt schafft die Erfindung ein Computerprogramm, umfassend Befehle, die bei der Ausführung des Programms durch einen Computer diesen veranlassen, das Verfahren nach einem der vorhergehenden Ausgestaltungen auszuführen.
-
Gemäß einem weiteren Aspekt schafft die Erfindung ein computerlesbares Speichermedium, auf dem das Computerprogramm gespeichert ist.
-
Als eine weitere Lösung umfasst die Erfindung auch ein computerlesbares Speichermedium, umfassend Programmcode, der bei der Ausführung durch eine Prozessorschaltung eines Computers oder eines Computerverbunds diese veranlasst, eine Ausführungsform des erfindungsgemäßen Verfahrens auszuführen. Das Speichermedium kann z.B. zumindest teilweise als ein nichtflüchtiger Datenspeicher (z.B. als eine Flash-Speicher und/oder als SSD - solid state drive) und/oder zumindest teilweise als ein flüchtiger Datenspeicher (z.B. als ein RAM - random access memory) bereitgestellt sein. Das Speichermedium kann in der Prozessorschaltung in deren Datenspeicher angeordnet sein. Das Speichermedium kann aber auch beispielsweise als sogenannter Appstore-Server im Internet betrieben sein. Durch den Computer oder Computerverbund kann eine Prozessorschaltung mit zumindest einem Mikroprozessor bereitgestellt sein. Der Programmcode können als Binärcode oder Assembler und/oder als Quellcode einer Programmiersprache (z.B. C) und/oder als Programmskript (z.B. Python) bereitgestellt sein.
-
Gemäß einem weiteren Aspekt schafft die Erfindung ein Kraftfahrzeug, umfassend die Datenverarbeitungsvorrichtung.
-
Das erfindungsgemäße Kraftfahrzeug ist bevorzugt als Kraftwagen, insbesondere als Personenkraftwagen oder Lastkraftwagen, oder als Personenbus oder Motorrad ausgestaltet.
-
Die Erfindung umfasst auch die Kombinationen der Merkmale der beschriebenen Ausführungsformen. Die Erfindung umfasst also auch Realisierungen, die jeweils eine Kombination der Merkmale mehrerer der beschriebenen Ausführungsformen aufweisen, sofern die Ausführungsformen nicht als sich gegenseitig ausschließend beschrieben wurden.
-
Im Folgenden sind Ausführungsbeispiele der Erfindung beschrieben. Hierzu zeigt:
- 1 eine Ausführungsform einer Datenverarbeitungsvorrichtung;
- 2 eine Ausführungsform eines Verfahrens zum Austausch von Daten mit einem Datenvolumen zwischen einem flüchtigen Speichermedium und einem nicht-flüchtigen Speichermedium in der Datenverarbeitungsvorrichtung;
- 3 eine weitere Ausführungsform des Verfahrens; und
- 4 einen Pseudo-Code eines Computerprogramms.
-
Bei den im Folgenden erläuterten Ausführungsbeispielen handelt es sich um bevorzugte Ausführungsformen der Erfindung. Bei den Ausführungsbeispielen stellen die beschriebenen Komponenten der Ausführungsformen jeweils einzelne, unabhängig voneinander zu betrachtende Merkmale der Erfindung dar, welche die Erfindung jeweils auch unabhängig voneinander weiterbilden. Daher soll die Offenbarung auch andere als die dargestellten Kombinationen der Merkmale der Ausführungsformen umfassen. Des Weiteren sind die beschriebenen Ausführungsformen auch durch weitere der bereits beschriebenen Merkmale der Erfindung ergänzbar.
-
In den Figuren bezeichnen gleiche Bezugszeichen jeweils funktionsgleiche Elemente.
-
1 zeigt eine Ausführungsform einer Datenverarbeitungsvorrichtung 10.
-
Die Datenverarbeitungsvorrichtung 10 umfasst einen flüchtiges Speichermedium 12 und ein nicht-flüchtiges Speichermedium 14.
-
Das flüchtige Speichermedium 12 ist zum flüchtigen Speichern von Daten 16 ausgebildet. Mit anderen Worten behält das flüchtige Speichermedium 12 die Daten 16 nur solange die Datenverarbeitungsvorrichtung 10 mit Strom versorgt wird. Beispielsweise ist das flüchtige Speichermedium 12 ein Arbeitsspeicher (engl. random access memory; RAM) der Datenverarbeitungsvorrichtung 10. Ein weiteres Beispiel für ein flüchtiges Speichermedium ist ein Cache (z.B. sogenannte L1, L2 oder L3 Cache), wobei die hier angegebenen Auflistung von Beispielen an flüchtigen Speichermedien nicht abschließend zu verstehen ist.
-
Das nicht-flüchtige Speichermedium 14 ist zum nicht-flüchtigen Speichern von Daten 16 ausgebildet. Mit anderen Worten behält das nicht-flüchtige Speichermedium 14 die Daten 16 auch dann, wenn die Datenverarbeitungsvorrichtung 10 nicht mit Strom versorgt wird. Das heißt, dass die Daten 16 in dem nicht-flüchtigen Speichermedium 14 persistent gespeichert werden. Beispielsweise ist das nicht-flüchtige Speichermedium 14 eine Festplatte insbesondere eine SSD oder ein Flashspeicher, der Datenverarbeitungsvorrichtung 10.
-
Die bei einem Systemlauf der Datenverarbeitungsvorrichtung 10 in dem flüchtigen Speichermedium 12 gespeicherten Daten 16 oder eine Teilmenge davon werden im Folgenden der Einfachheit halber als erste Daten 18 bezeichnet. Ein Systemlauf kann definiert sein als der Zeitraum vom Einschalten (Booten) bis zum Ausschalten (Suspend oder Power-Off) der Datenverarbeitungsvorrichtung 10. Die in dem nicht-flüchtigen Speichermedium 14 gespeicherten Daten 16 oder eine Teilmenge davon werden im Folgenden der Einfachheit halber als zweite Daten 20 bezeichnet. Die Daten 16 weisen jeweils ein Datenvolumen 22 auf, das heißt eine begrenzte Datenmenge (z.B. angebbar in der Einheit Megabytes).
-
Die Datenverarbeitungsvorrichtung 10 ist zum Ausführen eines Verfahrens zum Austausch von Daten 16 mit dem Datenvolumen 22 zwischen dem flüchtigen Speichermedium 12 und dem nicht-flüchtigen Speichermedium 14 ausgebildet.
-
2 zeigt hierzu eine Ausführungsform des Verfahrens.
-
In einem Schritt S11 umfasst das Verfahren:
- - Definieren eines Datenaustauschvolumenbudgets 24 für einen Austausch der Daten 16 zwischen dem flüchtigen Speichermedium 12 und dem nicht-flüchtigen Speichermedium 14 während eines Verwendungszeitraums der Datenverarbeitungsvorrichtung 10.
-
Wie in 1 gezeigt, können die zweiten Daten 20 das Datenaustauschvolumenbudget 24 umfassen. Das Datenaustauschvolumenbudget 24 kann beispielsweise in Abhängigkeit einer vorbestimmten, maximalen Anzahl Nsys von Systemläufen der Datenverarbeitungsvorrichtung 10 definiert sein. Alternativ oder zusätzlich kann das Datenaustauschvolumenbudget 24 in Abhängigkeit eines vorbestimmten, maximalen Verwendungszeitraums Tuse der Datenverarbeitungsvorrichtung 10 definiert sein. Alternativ oder zusätzlich kann das Datenaustauschvolumenbudget 24 in Abhängigkeit eines vorbestimmten, maximalen Datenvolumens Vmax übertragbarer Daten pro System lauf der Datenverarbeitungsvorrichtung 10 definiert sein. Das vorbestimmte, maximalen Datenvolumen Vmax pro System lauf kann beispielsweise einer Speicherkapazität des nicht-flüchtigen Speichermedium 14 entsprechen.
-
Wenn das maximale Datenvolumen Vmax pro Systemlauf beispielsweise zwei MB (= Megabyte), die vorbestimmte, maximale Anzahl von Systemläufen pro Tag beispielsweise zehn und der vorbestimmte, maximale Verwendungszeitraum 15 (= fünfzehn) Jahre entspricht, kann aus diesen Werten das Datenaustauschvolumenbudget 24 definiert werden.
-
In einem Schritt S12 umfasst das Verfahren:
- - Speichern einer von einem Datenaustauschvolumenverbrauch 26 abhängigen Speicherzählvariablen 28 in dem nicht-flüchtigen Speichermedium 14, wobei der Datenaustauschvolumenverbrauch 26 einem Datenvolumen 22 von Daten 16 entspricht, die seit Beginn des Verwendungszeitraums in das nicht-flüchtige Speichermedium 14 übertragen worden sind.
-
Die zweiten Daten 20 können somit die Speicherzählvariable 28 umfassen. Die Speicherzählvariable 28 kann beispielsweise dem Datenaustauschvolumenverbrauch 26 entsprechen. Alternativ kann die Speicherzählvariable 28 auch dem Datenaustauschvolumenbudget 24 minus dem Datenaustauschvolumenverbrauch 26 entsprechen.
-
In einem Schritt S13 umfasst das Verfahren:
- - Bei einem System lauf der Datenverarbeitungsvorrichtung 10, Übertragen von ersten Daten 18 in das nicht-flüchtige Speichermedium 14 in Abhängigkeit eines Vergleichs des aus der gespeicherten Speicherzählvariablen 28 bestimmbaren Datenaustauschvolumenverbrauchs 26 und des Datenaustauschvolumenbudgets 24.
-
Wenn beispielsweise die Speicherzählvariable 28 dem Datenaustauschvolumenverbrauch 26 entspricht und kleiner oder gleich dem Datenaustauschvolumenbudget 24 ist, können erste Daten 18 in das nicht-flüchtige Speichermedium 14 übertragen werden. Andernfalls werden keine ersten Daten 18 in das nicht-flüchtige Speichermedium 14 übertragen.
-
Wenn beispielsweise die Speicherzählvariable 28 dem Datenaustauschvolumenbudget 24 minus dem Datenaustauschvolumenverbrauch 26 entspricht und größer oder gleich null ist, können erste Daten 18 in das nicht-flüchtige Speichermedium 14 übertragen werden. Andernfalls werden keine ersten Daten 18 in das nicht-flüchtige Speichermedium 14 übertragen.
-
Mit anderen Worten werden erste Daten 18 nur übertragen, wenn der aus der Speicherzählvariable 28 bestimmbare Datenaustauschvolumenbrauch 26 kleiner oder gleich dem Datenaustauschvolumenbudget 24 ist.
-
In einem Schritt S14 umfasst das Verfahren:
- - Anpassen der Speicherzählvariablen 28 mittels des Datenvolumens 22 der in das nicht-flüchtige Speichermedium 14 übertragenen Daten 16.
-
Das Anpassen der Speicherzählvariablen 28 kann beispielsweise das Akkumulieren der Speicherzählvariablen 28 mit dem Datenvolumen 22 der übertragenen Daten 16 umfassen. Alternativ kann das Anpassen der Speicherzählvariablen 28 das Verringern der Speicherzählvariablen 28 durch das Datenvolumen 22 der übertragenen Daten 16 umfassen.
-
Die Schritte S13 und S14 werden vorzugsweise bei Beendigung eines System laufs der Datenverarbeitungsvorrichtung 10 durchgeführt.
-
3 zeigt eine weitere Ausführungsform des Verfahrens. Das Verfahren gemäß 3 umfasst die Schritte S11 bis S14, die zur Übersichtlichkeit halber nicht noch einmal dargestellt sind.
-
In einem Schritt S21 umfasst das Verfahren:
- - Bei einem System lauf der Datenverarbeitungsvorrichtung 10, Übertragen von zweiten Daten 20 in das flüchtige Speichermedium 12 in Abhängigkeit des aus der gespeicherten Speicherzählvariablen 28 bestimmbaren Datenaustauschvolumenverbrauchs 26 und des Datenaustauschvolumenbudgets 24.
-
Wenn beispielsweise die Speicherzählvariable 28 dem Datenaustauschvolumenverbrauch 26 entspricht und kleiner oder gleich dem Datenaustauschvolumenbudget 24 ist, können zweite Daten 20 in das flüchtige Speichermedium 12 übertragen werden. Andernfalls werden keine zweiten Daten 20 in das flüchtige Speichermedium 12 übertragen.
-
Wenn beispielsweise die Speicherzählvariable 28 dem Datenaustauschvolumenbudget 24 minus dem Datenaustauschvolumenverbrauch 26 entspricht und größer oder gleich null ist, können zweite Daten 20 in das flüchtige Speichermedium 12 übertragen werden. Andernfalls werden keine zweiten Daten 20 in das flüchtige Speichermedium 12 übertragen.
-
Mit anderen Worten werden zweite Daten 20 nur übertragen, wenn der aus der Speicherzählvariable 28 bestimmbare Datenaustauschvolumenbrauch 26 kleiner oder gleich dem Datenaustauschvolumenbudget 24 ist.
-
Bei einem System lauf der Datenverarbeitungsvorrichtung 10 werden des Weiteren Daten 16 vorzugsweise aus einer entfernten Datenverarbeitungseinrichtung 30 in das flüchtige Speichermedium 12 geladen. Alternativ oder zusätzlich können bei einem System lauf der Datenverarbeitungsvorrichtung 10 Daten 16 mittels einer Datenerfassungseinrichtung 32 erfasst und in dem flüchtigen Speichermedium 12 abgelegt und/oder an die entfernte Datenverarbeitungseinrichtung 30 übertragen werden. Die Daten 16 können einen Datenzeitstempel 34 und/oder einen Datenidentifikator 36 umfassen. Der Datenidentifikator 36 kann beispielsweise einen Datenversionsstempel und/oder das Datenvolumen 22 der Daten 16 umfassen.
-
In einem weiteren Schritt S22 umfasst das Verfahren daher:
- - Bestimmen der zu übertragenden Daten 16 in Abhängigkeit eines Vergleichs der ersten Daten 18 mit den zweiten Daten 20.
-
Bei diesem Schritt werden die ersten Daten 18 und die zweiten Daten 20 miteinander verglichen. Beim Übertragen der Daten 16 in das nicht-flüchtige Speichermedium 14 werden vorzugsweise auch deren Datenzeitstempel 34 und/oder deren Datenidentifikator 36 übertragen. Bei Schritt S16 kann die Datenverarbeitungsvorrichtung 10 dann durch den Vergleich der Datenzeitstempel 34 und/oder der Datenidentifikatoren 36 der ersten Daten 18 und der zweiten Daten 20 bestimmen, welche Daten 16 übertragen werden sollen. Beispielsweise können die ersten Daten 18 aktueller als die zweiten Daten 20 sein, sodass solche ersten Daten 18 in das nicht-flüchtige Speichermedium 14 übertragen werden sollten.
-
In einem Schritt S23 umfasst das Verfahren:
- - Übertragen der Daten 16 durch Überschreiben von zweiten Daten 20.
-
Das nicht-flüchtige Speichermedium 14 hat üblicherweise eine begrenzte Speicherkapazität. Deshalb kann es sinnvoll sein, beim Übertragen von ersten Daten 18 in das nicht-flüchtige Speichermedium 14 zweite Daten 20 zu überschreiben. Vorzugsweise werden zweite Daten 20 ebenfalls in Abhängigkeit eines Vergleichs der Datenzeitstempel 34 und/oder der Datenidentifikators 36 der ersten Daten 18 und der zweiten Daten 20 überschrieben. Alternativ oder zusätzlich werden zweite Daten 20 beginnend mit dem frühesten oder ältesten Datenzeitstempel 34 überschrieben werden.
-
In diesem Zusammenhang kann insbesondere vorgesehen sein, dass die begrenzte Speicherkapazität aus einem zweiten Datenbudget oder Speichervolumenbudget Vpersistent resultieren kann, d.h. der auf dem nicht-flüchtigen Speichermedium durch das Verfahren nutzbare oder belegbare Speicherplatz kann durch eine zweite Budgetvorgabe (maximal belegbarer Speicherplatz) begrenzt sein.
-
Gibt es zwei Datenbudgets, so kann für das persistente, nicht-flüchtige Speichermedium 14 z.B. ein relativer Anteil (z.B. max. 10%) oder eine absolute Angabe (z.B. maximal 10MB) für das dort speicherbare Datenvolumen als zweites Datenbudget oder Speichervolumenbudget Vpersistent vorgegeben werden. Das zweite Datenbudget oder Speichervolumenbudget Vpersistent stellt somit eine onetime oder einmalige Vorgabe dar, die dauerhaft gültig ist. Sie begrenzt in vorteilhafter Weise die Speicherbelegung im nicht-flüchtigen Speichermedium 14 und damit einen Einfluss auf andere Prozesse, die dasselbe Speichermedium nutzen.
-
Insgesamt können durch das Speichern im nicht-flüchtigen Speichermedium 14 beim bei Fahrzeugstart Verzögerungen vermieden werden, die andernfalls bei ausschließlicher Nutzung einer Datenverbindung zu einem fahrzeugexternen Server entstehen könnten. Beim Fahrzeugstart können alle Daten 16 aus dem nicht-flüchtigen Speichermedium 14 in das flüchtige Speichermedium 12 geladen werden, um somit den Programmzustand vor dem Abschalten des Fahrzeugs zumindest in dem Umfang wieder herzustellen, den die Speicherkapazität im nicht-flüchtigen Speichermedium 14 zulässt. Während der Fahrt oder Betriebsphase des Fahrzeugs ist dann im Rahmen des Verfahrens bevorzugt kein Zugriff auf das nicht-flüchtige Speichermedium 14 vorgesehen, d.h. das nicht-flüchtige Speichermedium 14 kann inaktiv bleiben. Beim Abschalten des Fahrzeugs können dann die aktuellsten Daten 16 durch lokales (fahrzeuginternes) Speichern in das nicht-flüchtige Speichermedium 14 in der beschriebenen Weise gespeichert werden. Werden als Daten 16 z. B. Kartendaten für eine Navigationssystem gespeichert, kann somit ein Aufstart eines Navigationssystem beschleunigt werden.
-
Werden ältere und/oder nicht mehr benötigte Daten 16 im nicht-flüchtigen Speichermedium 14 identifiziert, können diese entweder durch Überschreiben oder durch Löschen und Neubeschreiben des Speicherplatzes entfernt werden, um im Umfang des zweiten Budgets zu bleiben.
-
4 zeigt einen Pseudo-Code 38 eines Computerprogramms, umfassend Befehle, die bei der Ausführung des Programms durch einen Computer diesen veranlassen, das beschriebene Verfahren auszuführen.
-
In dem Schritt S31 wird eine Instanzgenerierungsfunktion zum Generieren einer Instanz eines Download-Clientprogramms 40 aus einer virtuellen Maschine 42 gestartet.
-
Dabei wird zunächst in dem Schritt S32 die Speicherzählvariable 28 aus dem nicht-flüchtigen Speichermedium 14 geladen.
-
Anschließend folgt ein erster IF-Abschnitt (Bedingung) 44. In dem Schritt S33 des IF-Abschnitts (Bedingung) wird überprüft, ob der aus der Speicherzählvariable 28 bestimmbare Datenaustauschvolumenverbrauch 26 das Datenaustauschvolumenbudget 24 erreicht hat.
-
Falls der Datenaustauschvolumenverbrauch 26 das Datenaustauschvolumenbudget 24 noch nicht erreicht hat, lädt das Download-Clientprogramm 40 in dem Schritt S34 zweite Daten 20 aus dem nicht-flüchtigen Speichermedium 14. In dem Schritt S35 werden die zweiten Daten 20 aufbereitet. In dem Schritt S36 schreibt das Download-Clientprogramm 40 die aufbereiteten, zweiten Daten 20 in das flüchtige Speichermedium 12 geschrieben.
-
Dann folgt ein RUN-Abschnitt (Ausführung) 46. In dem Schritt S37 des RUN-Abschnitts (Ausführung) werden Daten 16 gestreamt. In dem Schritt S38 werden Daten 16 mittels der Datenerfassungseinrichtung 32 gestreamt. In dem Schritt S39 werden die Daten 16 in und aus dem flüchtige Speichermedium 14 als erste Daten 18 geschrieben bzw. geladen. In dem Schritt S40 werden zweite Daten 20 aus der der entfernten Datenverarbeitungseinrichtung 30 gestreamt.
-
In dem Schritt S41 wird eine Instanzvernichtungsfunktion zum Vernichten der Instanz des Download-Clientprogramms 40 aus der virtuellen Maschine 42 gestartet.
-
Dabei wird in einem zweiten IF-Abschnitt (Bedingung) 48 in dem Schritt S42 überprüft, ob der aus der Speicherzählvariable 28 bestimmbare Datenaustauschvolumenverbrauch 26 das Datenaustauschvolumenbudget 24 erreicht hat.
-
Falls der Datenaustauschvolumenverbrauch 26 das Datenaustauschvolumenbudget 24 noch nicht erreicht hat, lädt das Download-Clientprogramm 40 in dem Schritt S43 erste Daten 18 aus dem flüchtigen Speichermedium 12. In dem Schritt S44 lädt das Download-Clientprogramm 40 zweite Daten 20 aus dem nicht-flüchtigen Speichermedium 14. In dem Schritt S45 werden die ersten Daten 18 und die zweiten Daten 20 verglichen und neue oder veränderte Daten 16 aufbereitet. In dem Schritt S46 werden die neuen oder veränderten Daten 16 in das nicht-flüchtige Speichermedium 14 geschrieben. Dabei werden zweite Daten 20 beginnend mit dem frühesten oder ältesten Datenzeitstempel 34 überschrieben, sofern das Speichervolumenbudget Vpersistent erreicht ist. Anschließend wird in einem Schritt S47 die Speicherzählvariable 28 mittels des Datenvolumens 22 der in das nicht-flüchtige Speichermedium 14 übertragenen Daten 16 aktualisiert und in das nicht-flüchtige Speichermedium 14 geschrieben.
-
Die Erfindung umfasst auch die Datenverarbeitungsvorrichtung 10. Die Erfindung umfasst ferner das Computerprogramm (nicht gezeigt). Die Erfindung umfasst ferner ein computerlesbares Speichermedium (nicht gezeigt), auf dem das Computerprogramm gespeichert ist.
-
Die Erfindung umfasst auch ein Kraftfahrzeug (nicht gezeigt), umfassend die Datenverarbeitungsvorrichtung 10. Die Daten 16 sind in diesem Fall vorzugsweise als Kraftfahrzeug-Schwarmdaten ausgebildet. Solche Schwarmdaten sind beispielsweise durch Erfassen von Daten 16 mittels einer Mehrzahl von Kraftfahrzeugen beim jeweiligen Befahren eines Streckenabschnitts erhältlich.
-
Ein Prinzip bevorzugter Ausgestaltungen der Erfindung kann somit zusammenfassend wie folgt beschrieben werden:
-
Bevorzugte Ausgestaltungen der Erfindung schaffen ein Verfahren, umfassend die Schritte:
- 1. Definiere Lebens- und/oder Verwendungszeit des persistenten Speichers (z.B. zehn Kraftfahrzeug-Starts pro Tag über 15 Jahre);
- 2. Definiere die Menge von Speicher, die zum Cachen von Schwarmdaten pro Zyklus (Kraftfahrzeug-Start-Kraftfahrzeug-Stopp) erforderlich ist, z.B. zwei MB (Megabyte);
- 3. Implementiere einen Zähler, in dem die Menge von gespeicherten Daten in dem persistenten Speicher registriert wird;
- 4. Speichere Schwarmdaten nach dem initialem Herunterladen dieser in einem LiveCache für eine zukünftige Verwendung mit bestimmter File-ID, bestimmter Größe und bestimmtem Datum;
- 5. Aktualisiere den persistenten Speicher mit dem Inhalt des LiveCache bei Herunterfahren der Funktionen;
- 6. Lade Daten und Zähler von dem persistenten Speicher bei Funktions-Start und schreibe diese in das LiveCache;
- 7. Im Falle eines Lade-Überschreitens des Speichers pro Zyklus (z.B. zwei MB), aktualisiere die ältesten, gespeicherten Daten durch die neuen.
-
Insgesamt zeigen die Beispiele, wie eine Verwendung eines Speichers mit einem Budgetschalter zum Speichern von Schwarmdaten bereitgestellt werden kann.
-
Bezugszeichenliste:
-
- 10
- Datenverarbeitungsvorrichtung
- 12
- flüchtiges Speichermedium
- 14
- nicht-flüchtiges Speichermedium
- 16
- Daten
- 18
- erste Daten
- 20
- zweite Daten
- 22
- Datenvolumen
- 24
- Datenaustauschvolumenbudget
- 26
- Datenaustauschvolumenverbrauch
- 28
- Speicherzählvariable
- 30
- entfernte Datenverarbeitungseinrichtung
- 32
- Datenerfassungsvorrichtung
- 34
- Datenzeitstempel
- 36
- Datenidentifikator
- 38
- Pseudo-Code
- 40
- Download-Clientprogramm
- 42
- virtuelle Maschine
- 44
- erster IF-Abschnitt (Bedingung)
- 46
- RUN-Abschnitt (Ausführung)
- 48
- zweiter IF-Abschnitt (Bedingung)
- Nsys
- maximale Anzahl System laufe
- Tuse
- maximaler Verwendungszeitraum
- Vmax
- maximales Datenvolumen
- Vpersistent
- Speichervolumenbudget