-
Die Erfindung betrifft ein Verfahren zum priorisierten Dateizugriff in einem Computersystem mit einem Betriebssystem umfassend eine von dem Betriebssystem bereitgestellten Verzeichnisstruktur, ein Speichermedium, ein Blockvirtualisierungssystem, zumindest ein erstes Blockgerät, welches über ein Blockvirtualisierungssystem auf das Speichermedium zugreift, einen ersten Einhängepunkt, welcher in die Verzeichnisstruktur eingehängt wird und auf das erste Blockgerät zeigt. Ferner betrifft die Erfindung ein Computersystem zum priorisierten Dateizugriff, ein Computerprogramm und einen computerlesbaren Datenträger.
-
Aktuelle Dateisysteme erlauben es nicht, einen lang anhaltenden und andauernden Zugriff, beispielsweise das Lesen einer großen Datei, anzuhalten, um zuerst einen wichtigeren Prozess durchzuführen.
-
Eingehende Anfragen für Lese- und Schreibzugriffe werden nach der Reihenfolge abgearbeitet, in der sie bei der jeweiligen Dateisystem-Software-Instanz eintreffen. Dies bezeichnet man auch als „FIFO-First In - First Out“- Prinzip. Dabei werden Dateien, die zuerst gespeichert werden, auch zuerst dem Speicher wieder entnommen. Die Warteschlange in der Informatik beruht auf dem FIFO Prinzip. Die Dateien werden genau in der Reihenfolge abgerufen, in der sie vorher abgelegt wurden.
-
Es existiert jedoch keine Priorisierung von abzuarbeitenden Zugriffen bzw. Anfragen und keine Unterbrechung der aktuell zu bearbeitenden Anfrage.
-
In vielen Fällen ist es jedoch erforderlich, gewisse Zugriffe bzw. Datenströme gegenüber anderen zu bevorzugen.
-
Dies ist beispielsweise der Fall für Leseanfragen, die schnellstmöglich oder in einem bestimmten Zeitraster ausgeführt werden sollen, beispielsweise bei sicherheitskritischen Funktionalitäten, wie einer Darstellung eines Fahrzeugumfelds, in Form von einer Abstandswarnung oder aber eine Audio- oder Videowiedergabe des Fahrzeugumfelds. Diese Leseanfragen werden durch bereits wartende Anfragen verzögert, also auch durch Zugriffsanfragen, die keine oder niedrige Anforderungen bezüglich einer zeitnahen Durchführung haben, aber zeitlich früher beim Dateisystem eintreffen. Ferner werden diese Anfragen durch aktuell abzuarbeitende Anfragen verzögert. Dies kann insbesondere bei Lese- oder Schreibzugriffen, die auf große Datenmengen zugreifen, zu einer deutlichen Verzögerung führen.
-
Die bisherigen Lösungen für derartige Probleme sind aufwändige Konfigurationen oder Implementierungen, beispielsweise das sogenannte Caching für ein Audio/Video Playback. Dies erfordert jedoch einen höheren RAM-Bedarf. Eine weitere Möglichkeit liegt in der Konfiguration von Aufstart-Zeitpunkten oder der Aufteilung großer Datenmengen zum Lesen/Schreiben in kleinere Einheiten. Dadurch ergeben sich jedoch höhere Kosten.
-
Die
US 20080126645 A1 offenbart ein Speichersystem und ein Dateneingabe- / Ausgabesteuerverfahren, beispielsweise eines, das zur Verwendung in einem Speichersystem geeignet ist, in dem eine Hostvorrichtung die Verarbeitung für verschiedene Arten von Arbeit unter Verwendung von Anwendungsprogrammen ausführt. Das Speichersystem führt dabei die Dateneingabe- / Ausgabeverarbeitung für die Prioritätsziele und die nicht vorrangige Zielgruppe bei den Frequenzen aus, die den jeweiligen Verarbeitungsprozentsätzen entsprechen, die durch die Verarbeitungsprozentsatzbestimmungseinheit bestimmt werden.
-
Die
US 6253260 B1 offenbart ein System und ein Verfahren zum Verarbeiten einer Dateizugriffsanforderung (DAR). Eine Verarbeitungseinheit, wie z. B. eine Speichersteuereinheit, empfängt eine DAR, die Daten anzeigt, die auf einem Kanal zurückkehren sollen, beispielsweise einen Kanal, der mit einem Hostsystem verbunden ist, und Prioritätsinformationen für die empfangene DAR. Die Verarbeitungseinheit ruft die angeforderten Daten für die empfangene DAR aus einem Speicherbereich wie einem Cache oder einer Direktzugriffsspeichervorrichtung (DASD) ab und bestimmt, ob es eine Warteschlange von Dateneinträgen gibt, die abgerufene Daten für DARs angeben, die auf dem Kanal übertragen werden sollen. Die in der Warteschlange befindlichen DARs enthalten Prioritätsinformationen. Die Verarbeitungseinheit verarbeitet mindestens einen Dateneintrag in der Warteschlange, die Prioritätsinformation für den Dateneintrag und die Prioritätsinformation für den empfangenen DAR aufweisen, um eine Position in der Warteschlange für den empfangenen DAR zu bestimmen. Die Verarbeitungseinheit zeigt dann an, dass sich der empfangene DAR an der bestimmten Position in der Warteschlange befindet, und verarbeitet die Warteschlange, um abgerufene Daten auszuwählen, die auf dem Kanal an das Hostsystem übertragen werden sollen.
-
In der
DE 112008003256 T5 wird bestimmt, ob eine Datei auf einem langsameren Laufwerk eines logischen Speichervolumenbereichs oder auf einem schnelleren Laufwerk des logischen Speichervolumenbereichs abgelegt werden soll, wobei ein Nutzer keine Kenntnis darüber zu haben braucht, ob die Datei auf dem langsameren Laufwerk oder auf dem schnelleren Laufwerk abgelegt wurde.
-
In der
DE 10032962 A1 wird ein verteiltes Dateisystem mit autonomen Platten beschrieben. Das Dateisystem umfasst autonome Platten, die Applikationsdaten speichern. Legacyattributplatten speichern Metadaten des Dateisystems und die Verzeichnisstruktur. Die Verzeichnisstruktur wird auf den Legacyattributplatten im ursprünglichen Dateisystem abgelegt. Einer der Klienten des Dateisystems wird als Konfigurationsmanager zur Zugriffsüberwachung für das System verwendet. Das verteilte Dateisystem verwendet Agenten um Echtzeitanwendungen und konkurrierende Lese/Schreib-Zugriffe auf Dateien zu unterstützen.
-
Die
US 4616338 offenbart eine Einrichtung zur Zwischenspeicherung von Daten, organisiert gemäß einer Warteschlange nach dem Prinzip « first in-first out », umfassend einen Schreib-Lese-Zwischenspeicher mit wahlfreiem Zugriff und ein Regelungssystem, wobei die Einrichtung ein erstes und ein zweites Ausgangs-Pufferregister aufweist, die dem Zwischenspeicher in Reihe nachgeschaltet sind, und wobei sie außerdem ein dem Zwischenspeicher vorgeschaltetes Eingangs-Pufferregister aufweist.
-
Die Aufgabe der Erfindung ist daher die Angabe eines kostengünstigen Verfahrens und eines Computersystems, mit welchen sich ein priorisierter Datei- bzw. Datenzugriff bewerkstelligen lässt, sowie ein entsprechendes Computerprogramm und ein entsprechender computerlesbarer Datenträger.
-
Die Aufgabe wird durch ein Verfahren zum priorisierten Dateizugriff mit den Merkmalen des Anspruchs 1, ein Computersystem mit den Merkmalen des Anspruchs 10 als auch ein Computerprogramm mit den Merkmalen des Anspruchs 18 sowie ein computerlesbarer Datenträger mit den Merkmalen des Anspruchs 19 gelöst.
-
In den Unteransprüchen sind weitere vorteilhafte Maßnahmen aufgelistet, die beliebig miteinander kombiniert werden können, um weitere Vorteile zu erzielen.
-
Die Aufgabe wird gelöst durch die Angabe eines Verfahrens zum priorisierten Dateizugriff in einem Computersystem mit einem Betriebssystem umfassend eine von dem Betriebssystem bereitgestellten Verzeichnisstruktur, ein Speichermedium, ein Blockvirtualisierungssystem, zumindest ein erstes Blockgerät, welches über das Blockvirtualisierungssystem auf das Speichermedium zugreift, einen ersten Einhängepunkt, welcher in die Verzeichnisstruktur eingehängt wird und auf das erste Blockgerät zeigt.
-
Im Rahmen der Erfindung wird zumindest ein zweites Blockgerät, welches über das Blockvirtualisierungssystem auf das Speichermedium zugreift und ein zweiter Einhängepunkt, welcher in die Verzeichnisstruktur eingehängt wird und auf das zweite Blockgerät zeigt, umfasst, wobei eine erste Datei in dem Speichermedium, auf welches das erste Blockgerät als auch das zweite Blockgerät zugreift, gespeichert wird, und der Zugriff auf die erste Datei über den ersten Einhängepunkt mit einer ersten Priorität und der Zugriff auf die erste Datei über den zweiten Einhängepunkt mit einer von der ersten Priorität unterschiedlichen zweiten Priorität erfolgt.
-
In anderen Worten wird zwischen Blockvirtualisierungssystem und einer Anwendungsschicht eine Speicherzugriffsschicht, in der die Blockgeräte angeordnet sind, so ausgestaltet, dass für das nur einmal physikalisch vorhandene Speichermedium, das das Dateisystem, beispielsweise das Dateisystem FS_PA, enthält, statt einem Blockgerät mehrere Blockgeräte zur Verfügung gestellt werden. Diese können untereinander in der Speicherzugriffsschicht, in der die Blockgeräte angeordnet sind priorisiert, werden.
-
Dabei kann als Priorität auch ein Anwendungsfall vorgesehen sein, beispielsweise ein Speichervorgriff, eine normale Anwendungszugriffspriorität oder ein priorisierter Anwendungszugriff. Dabei versteht man unter Speichervorgriff, eine Technik die von Computerprozessoren verwendet wird, um die Ausführungsleistung zu erhöhen, indem Anweisungen oder Daten von ihrem ursprünglichen Speicher im langsameren Speicher zu einem schnelleren lokalen Speicher abgerufen werden, bevor sie tatsächlich benötigt werden. Dateien können auch einzelne Daten sein.
-
Ein Blockgerät, auch blockorientiertes Gerät genannt, überträgt Daten in vorhandene Speicherblöcke eines Speichermediums und wird daher oft für parallele Datenübertragungen genutzt. Blockgeräte weisen einen betriebssystemeigenen Puffer auf.
-
Die Beziehung von Instanzen des Dateisystems zu bestimmten Einhängepunkten innerhalb eines Dateisystems oder eines root-Dateisystems wird normalerweise in der Dateisystemschicht behandelt. Dabei wird dem Speichermedium beispielsweise ein Dateisystem FS_PA zugeordnet. Sind in einer Recheneinheit mehrere Speichermedien vorhanden, so besitzen alle Instanzen ein Dateisystem. Gegebenenfalls kann das Speichermedium in Partitionen aufgeteilt sein, denen ebenfalls jeweils ein eigenes Dateisystem zugeordnet ist.
-
Eine Verzeichnisstruktur ist die hierarchische Struktur des Dateisystems von einem einzelnen Computer.
-
Erfindungsgemäß wurde erkannt, dass lediglich das Einführen von Einhängepunkten innerhalb desselben Dateisystems, beispielsweise des Dateisystems FS PA, nicht zum gewünschten Effekt führen würde. Während des Auflösens des Pfades innerhalb der Dateisystemschicht löst ein virtueller Dateisystem-Switch die Zugriffe auf die gleichen Teile des Speichermediums nur auf, obwohl sie über verschiedene Pfade / Einhängepunkte gegeben sind. Daher erhält das Blockvirtualisierungssystem, beispielsweise der Blocktreiber, unterhalb des Dateisystems keine Informationen über die angeforderte Priorität für den Dateisystemzugriff. Erfindungsgemäß wurde weiter erkannt, dass die Information über die verschiedenen Prioritäten bis zum Speichermedium bereitgestellt werden müssen. Das Verfahren stellt für das Speichermedium verschiedene Blockgeräte bereit, die jedoch alle demselben physikalischen Speichermedium bzw. derselben physikalischen Partition des Speichermediums zugeordnet sind. Dadurch kann auf dieselbe Datei in dem Speichermedium mit unterschiedlicher Priorität zugegriffen werden.
-
Erfindungsgemäß wurde zudem erkannt, dass das Dateisystem Metadaten enthält, die nur einmal vorhanden sind, und die dem Dateisystem von allen Blockgeräten zur Verfügung gestellt werden müssen.
-
Wird nun ein Zugriff auf eine Datei ausgeführt, beispielsweise wird auf die erste Datei unter dem Einhängepunkt mit niedriger Priorität zugegriffen, und greift das System auf eine zweite Datei mit höherer Priorität als der niedrigen Priorität zu, welche unter dem Einhängepunkt mit hoher Priorität angeordnet ist, so kann das Ausführen der ersten Datei unterbrochen werden und die zweite Datei zuerst ausgeführt werden. Zudem werden unabhängig von der „Warteschlange“ hochpriorisierte Dateizugriffe immer vor niedrigeren Dateizugriffen ausgeführt, unabhängig von dem „ankommen/anfrage“ des Dateizugriffes. Durch die Erfindung kann daher zwischen sicherheitsrelevanten und nicht sicherheitsrelevanten Daten unterschieden werden.
-
Die Erfindung bewirkt, dass das Blockvirtualisierungssystem auf das gesamte Speichermedium zugreift, den darüberliegenden Instanzen bzw. Schichten aber für dasselbe physikalische Speichermedium ein unterschiedliches (virtuelles) Blockgerät zur Verfügung stellen.
-
Das virtuelle Dateisystem sieht somit die Speichermedien:
- /dev/virt-blockdevice-A
- /dev/virt-blockdevice-AA
- /dev/virt-blockdevice-AAA
-
Das Blockvirtualisierungssystem weist bevorzugt eine Tabelle auf, in der festgelegt ist, wie das Blockvirtualisierungssystem Zugriffe, die über die verschiedenen Einhängepunkte hereinkommen, untereinander behandelt.
-
Durch die Erfindung ist es möglich eine HMI (Human Maschine Interface) Schnittstelle mit priorisiertem Zugriff auf ein und dieselbe Datei beispielsweise in einer Integrationsplattform bereitzustellen. Dazu greift beispielsweise ein Fahrerassistenzsystem einfach über den ersten Einhängepunkt mit erster Priorität auf diese Datei zu. Ist die Datei ausgeführt und beispielsweise der sicherheitsrelevante Aspekt wieder vorbei, so kann das Fahrerassistenzsystem wieder über einen anderen Einhängepunkt mit niedrigerer Priorität auf diesselbe Datei zugreifen.
-
Dadurch ist es möglich, eine Standard-Dateischnittstelle, beispielsweise POSIX, welche keine Zugriffprioritäten bietet, mit unterschiedlich priorisiertem Dateizugriff, beispielsweise für elektronische Steuergeräte oder Apps etc. bereitzustellen.
-
Durch den mehrfachen, redundanten Zugriff ist zudem eine sichere Datenverwendung möglich.
-
Mittels der Erfindung können die Dateizugriffe für den Boot-Vorgang optimiert werden, beispielsweise durch einen verzögerten Start von weniger wichtigen Applikationen etc.
-
Weiterhin bevorzugt ist eine zweite Datei vorgesehen, welche über den zweiten Einhängepunkt mit der zweiten Priorität ausgeführt wird, wobei die Ausführung bei Zugriff auf die erste Datei über den Einhängepunkt mit der ersten Priorität unterbrochen wird. Dabei ist die erste Priorität höher als die zweite Priorität. Dadurch kann auf sicherheitsrelevante Daten bevorzugt zugriffen werden und kurzfristig weniger priorisierte Zugriffe mit weniger sicherheitsrelevanten Daten unterbrochen werden, um die sicherheitsrelevanten Daten so schnell wie möglich zu erlangen.
-
In bevorzugter Ausgestaltung ist eine erste Datei vorgesehen, die über den zweiten Einhängepunkt mit der zweiten Priorität ausgeführt wird, wobei die Ausführung bei Zugriff auf die erste Datei oder auf Teile der ersten Datei über den ersten Einhängepunkt mit der ersten Priorität unterbrochen wird. Es wird daher bei einem Ausführen einer Datei über einen Einhängepunkt mit niedrigerer Priorität immer die Ausführung unterbrochen, sobald ein höherpriorisierter Dateizugriff ankommt.
-
Bevorzugt wird die Verzeichnisstruktur als eine als Baumstruktur ausgebildete hierarchische Verzeichnisstruktur mit einem Wurzelverzeichnis ausgebildet. Dabei wird die Verzeichnisstruktur zur Ablage von Dateien und/oder Verzeichnissen in jeder Instanz ausgebildet.
-
Weiterhin bevorzugt wird das Speichermedium zumindest als ein Speicherblock ausgestaltet. Ein Speicherblock, auch Datenblock genannt, stellt die kleinste in einem Zugriff lese- oder schreibbare Einheit eines Speichermediums dar.
-
In bevorzugter Ausgestaltung weist das Speichermedium zumindest eine Partition auf, wobei der Speicherblock der zumindest einen Partition zugeordnet wird. Auch kann der Speicherblock mehrere Partitionen aufweisen.
-
In weiterer bevorzugter Ausgestaltung wird zumindest ein drittes Blockgerät, welches auf das Speichermedium zugreift, und ein dritter Einhängepunkt, welcher in die Verzeichnisstruktur eingehängt wird und auf das dritte Blockgerät zeigt, umfasst, wobei die erste Datei in dem Speichermedium gespeichert wird, und der Zugriff auf die erste Datei über den dritten Einhängepunkt und das dritte Blockgerät mit einer dritten Priorität erfolgt, wobei die dritte Priorität von der ersten Priorität und der zweiten Priorität unterschiedlich ausgebildet wird. In einer bevorzugten weiteren Ausgestaltung wird die erste Priorität höher als die zweite Priorität und die zweite Priorität höher als die dritte Priorität ausgebildet.
-
Beispielsweise ist hier die Datei beispiel.sql gegeben. Diese wird durch drei verschiedene Einhängepunkte in die Verzeichnisstruktur eingehängt. Dabei weist der erste Einhängepunkt /highprio/opt/hmi eine erste hohe Priorität auf. Der zweite Einhängepunkt /opt/hmi weist eine zweite Priorität auf, welche niedriger als die erste Priorität ist, und beispielsweise als Standardpriorität gesetzt ist. Der dritte Einhängepunkte /prefetch/opt/hmi ist für Background Anwendungen gedacht und weist eine dritte Priorität auf, welche niedriger als die erste und die zweite Priorität ist. Von einer Anwendungsschicht kann daher auf die Datei mit einer ersten Priorität unter /highprio/opt/hmi/beipsiel.sql, mit einer zweiten Priorität unter /opt/hmi/beispiel.sql und mit einer dritten Priorität unter prefetch/opt/hmi/beispiel.sql zugriffen werden, um die Datei beispiel.sql auszuführen.
-
Auch können mehrere Einhängepunkte mit mehreren Prioritäten vorgesehen sein.
-
Besonders bevorzugt ist eine dritte Datei vorgesehen, die über den dritten Einhängepunkt mit der dritten Priorität ausgeführt wird, wobei die Ausführung bei Zugriff auf die erste Datei über den ersten Einhängepunkt mit der ersten Priorität oder bei Zugriff auf die erste Datei über den zweiten Einhängepunkt mit der zweiten Priorität unterbrochen wird. Die Ausführung einer Datei wird immer unterbrochen, wenn ein höherer priorisierter Zugriff auf eine andere Datei erfolgt.
-
Weiterhin bevorzugt wird das Speichermedium als embedded Multimedia Card (eMMC), also als eingebettete Mutlimediakarte ausgebildet. Eine eMMC (embedded Multimedia Card) ist eine auf einem Flash-Speicher basierender Standard für einen universell einsetzbaren, integrierten Massenspeicher. Diese sind besonders kostengünstig.
-
In zusätzlicher bevorzugter Ausgestaltung ist ein VFS (Virtual file system, VFS) Switch vorgesehen, welcher die Einhängepunkte in die Verzeichnisstruktur einhängt. Ein VFS-Switch stellt hier auf einer VFS-Schicht Programmen eine einheitliche Schnittstelle zur Anwendungsprogrammierung zur Verfügung, um auf die unterschiedlichen Einhängepunkte zuzugreifen. Der VFS-Switch ist auf einer VFS-(Layer)schicht angeordnet.
-
Das Blockvirtualisierungssystem weist bevorzugt eine Tabelle auf, in der festgelegt ist, wie das Blockvirtualisierungssystem Zugriffe, die über die verschiedenen Einhängepunkte hereinkommen, untereinander behandelt und legt dadurch die Prioritäten fest. Die VFS-(Layer)schicht bleibt bevorzugt unangetastet.
-
Weiterhin bevorzugt wird das Betriebssystem als ein unix- oder liunxbasiertes Betriebssystem ausgestaltet.
-
Es kann vorteilhaft gesehen werden, dass bei einem Schreibzugriff auf das Speichermedium durch einen ersten Einhängepunkt der Schreibzugriff auf das Speichermedium durch einen zweiten Einhängepunkt blockiert wird. Dies gilt auch umgekehrt, das heißt, dass bei einem Schreibzugriff auf das Speichermedium durch einen zweiten Einhängepunkt der Schreibzugriff auf das Speichermedium durch einen ersten Einhängepunkt blockiert wird.
-
Weiter kann vorteilhafterweise vorgesehen sein, dass bei einem Schreibzugriff auf das Speichermedium durch einen ersten Einhängepunkt ein jeweils anderer, zweiter Einhängepunkte ausgehängt wird. Dies heißt, dass beim Senden oder beim Empfangen von Daten einer Datei immer gewartet (blockiert) wird, bis der jeweilige Schreibzugriff abgeschlossen ist.
-
Zur anschließenden Synchronisation des Speichermediums werden bevorzugt Synchronisationsmechanismen angewandt.
-
Ferner wird die Aufgabe gelöst durch die Angabe eines Computersystems mit einem Betriebssystem zum Ausführen eines wie oben beschriebenen Verfahrens, zum Ausführen eines priorisierten Dateizugriffs, umfassend eine von dem Betriebssystem bereitgestellten Verzeichnisstruktur, ein Speichermedium, ein Blockvirtualisierungssystem, zumindest ein erstes Blockgerät, welches über das Blockvirtualisierungssystem auf das Speichermedium zugreift, ein erster Einhängepunkt, welcher in die Verzeichnisstruktur eingehängt ist und auf das erste Blockgerät zeigt, wobei
zumindest ein zweites Blockgerät, welches über das Blockvirtualisierungssystem auf das Speichermedium zugreift, und ein zweiter Einhängepunkt, welcher in die Verzeichnisstruktur eingehängt ist und auf das zweite Blockgerät zeigt, vorgesehen ist, wobei eine erste Datei in dem Speichermedium, auf welches das erste Blockgerät als auch das zweite Blockgerät zugreift, gespeichert ist, und der Zugriff auf die erste Datei über den ersten Einhängepunkt mit einer ersten Priorität und der Zugriff auf die erste Datei über den zweiten Einhängepunkt mit einer von der ersten Priorität unterschiedlichen zweiten Priorität erfolgt.
-
Das Computersystem ist wie das Verfahren, mit frei auf dem Markt verfügbaren Dateisystemen nutzbar, ohne dass diese angepasst oder geändert werden müssen. Die Erfindung ist damit unabhängig vom verwendeten Dateisystem und für bestehende Standarddateisysteme und Standardbetriebssysteme für Dateisystemzugriffe, z.B. POSIX nutzbar.
-
Bevorzugt ist eine zweite Datei vorgesehen, welche über den zweiten Einhängepunkt mit der zweiten Priorität ausgeführt ist, wobei die Ausführung bei Zugriff auf die erste Datei über den Einhängepunkt mit der ersten Priorität unterbrochen ist.
-
Weiterhin bevorzugt umfasst das Speichermedium zumindest einen Speicherblock. In weiterer bevorzugter Ausgestaltung ist zumindest ein drittes Blockgerät, welche auf das Speichermedium zugreift, und ein dritter Einhängepunkt, welcher in die Verzeichnisstruktur eingehängt ist und auf das dritte Blockgerät zeigt, umfasst, wobei die erste Datei auf dem Speichermedium gespeichert ist, und der Zugriff auf die erste Datei über den dritten Einhängepunkt und das dritte Blockgerät mit einer dritten Priorität erfolgt, wobei die dritte Priorität von der ersten Priorität und der zweiten Priorität unterschiedlich ist. Weiter bevorzugt ist die erste Priorität höher als die zweite Priorität und die zweite Priorität höher als die dritte Priorität.
-
Vorteilhafterweise ist eine dritte Datei vorgesehen, die über den dritten Einhängepunkt mit der dritten Priorität ausgeführt ist, wobei die Ausführung bei Zugriff auf die erste Datei über den ersten Einhängepunkt mit der ersten Priorität oder bei Zugriff auf die erste Datei über den zweiten Einhängepunkt mit der zweiten Priorität unterbrochen ist.
-
In weiterer bevorzugter Ausgestaltung ist bei einem Schreibzugriff auf das Speichermedium durch einen ersten Einhängepunkt der Schreibzugriff auf das Speichermedium durch einen zweiten Einhängepunkt blockiert. Bevorzugt ist bei einem Schreibzugriff auf das Speichermedium durch einen ersten Einhängepunkt der jeweils andere, zweite Einhängepunkte ausgehängt.
-
Die Vorteile des Verfahrens können auch auf das Computersystem angewendet werden.
-
Ein weiterer Gegenstand der Erfindung betrifft ein Computerprogramm, umfassend Befehle, die bei der Ausführung des Programms durch den Computer diesen veranlassen, das wie oben beschriebene Verfahren auszuführen.
-
Ein weiterer Gegenstand der Erfindung betrifft einen computerlesbaren Datenträger, auf dem das wie oben beschriebene Computerprogramm gespeichert ist.
-
Weitere Merkmale, Eigenschaften und Vorteile der vorliegenden Erfindung ergeben sich aus der nachfolgenden Beschreibung unter Bezugnahme auf die beiliegenden Figuren. Darin zeigen schematisch:
- 1: ein erstes Ausführungsbeispiel der Erfindung,
- 2: ein zweites Ausführungsbeispiel gemäß der Erfindung,
- 3: ein drittes Ausführungsbeispiel gemäß der Erfindung.
-
Obwohl die Erfindung im Detail durch das bevorzugte Ausführungsbeispiel näher illustriert und beschrieben wurde, ist die Erfindung nicht durch die offenbarten Beispiele eingeschränkt. Variationen hiervon können vom Fachmann abgeleitet werden, ohne den Schutzumfang der Erfindung, wie er durch die nachfolgenden Patentansprüche definiert wird, zu verlassen.
-
1 zeigt ein erstes Ausführungsbeispiel der Erfindung. Das erfindungsgemäße Computersystem und Verfahren weist eine hierarchische Verzeichnisstruktur sowie - hier beispielhaft eine Datei mit einem Dateinamen animationxyz.mp4 - auf. Dabei ist eine hierarchische Verzeichnisstruktur die hierarchische Gestalt eines Dateisystems.
-
1 zeigt ein Speichermedium 1. Das Speichermedium 1 kann als eMMC (emmedded MultiMedia Card) oder als Festplatte oder als ein anderes Speichermedium ausgebildet sein. Das Speichermedium 1 weist in diesem Beispiel eine Partition K mit dem Filesystem FS_PA auf. Dabei kann das Filesystem auch als Dateisystem bezeichnet werden. Die Partition K umfasst mehrere Datenblöcke auch Speicherblöcke genannt.
-
Ferner ist ein erstes Blockgerät A, vorgesehen, welches auf das Speichermedium 1 bzw. auf die Speicherblöcke der Partition K zeigt. Das heißt, das Blockgerät A wird auf die physikalische Adresse, hier auf die Speicherblöcke der Partition K abgebildet. Dies wird mit einem Blockvirtualisierungssystem 2, das heißt einer Speicherverwaltungseinheit/Gerätetreiber realisiert. Bei der Blockvirtualisierung werden die Speicherblöcke eines Speichermediums 1 in einer Tabelle gespeichert, welche auch als „Mapping Table“ bezeichnet wird. Dieser ist zu entnehmen, wo genau sich bestimmte Speicherblöcke befinden. Die Blockvirtualisierung trennt somit das Blockgerät von dem physikalischen Speicher, so dass auf diesen Speicher zugegriffen werden kann, ohne Rücksicht auf das physikalische Speichermedium. Das Blockvirtualisierungssystem 2 ist auf der Speicherzugriffsschicht 7 angeordnet.
-
Die physikalische Adresse der Speicherblöcke der Partition K wird daher anhand des „Blockgerätes A“ festgehalten. Weiterhin ist ein zweites Blockgerät AA, vorgesehen, welches auf das Speichermedium 1 bzw. auf die Speicherblöcke der Partition K zeigt. Zudem ist ein drittes Blockgerät AAA, vorgesehen, welches auf das Speichermedium 1 bzw. auf die Speicherblöcke der Partition K zeigt. Das erste Blockgerät A, das zweite Blockgerät AA und das dritte Blockgerät AAA werden mit drei Einhängepunkten, sogenannten MountPoints X, Y, Z verknüpft.
-
Durch einen VFS-Switch 3 (engl. virtual File System, virtuelles Dateisystem) auf einer VFS-(Layer)schicht 4, werden die Einhängepunkte X, Y, Z in der hierarchischen Verzeichnisstruktur eingehängt und sind dort sichtbar. Der VFS-Switch 3 kann die Verknüpfung der Blockgeräte A, AA, AAA mit den Einhängepunkten X, Y, Z, bewerkstelligen.
-
VFS-Switches 3 sind Anwendungsprogrammierschnittstellen, welche das „unmounten“ und „mounten“ der Einhängepunkte X, Y, Z übernehmen. Die Einhängepunkte X, Y, Z werden somit in einer Verzeichnisstruktur des Rechners eingehängt, das heißt die vorherige Verzeichnisstruktur wird also um die Einhängepunkte X, Y, Z erweitert. Die Einhängepunkte X, Y, Z werden in einer Filesystem Table angegeben, in der auch Eigenschaften vordefiniert werden können. Hier werden über die jeweiligen Einhängepunkte X, Y, Z die verschiedenen Prioritäten oder die verschiedenen Anwendungsfälle (use-cases) zugeordnet, das heißt dass durch das Einhängen (Mounten) auf einen bestimmten Einhängepunkt X,Y,Z, die Zuordnung zu den Prioritäten / Anwendungsfällen erfolgt. Das VFS-Switch 3 und die Zuordnung von Dateisystem-Instanzen zu verschiedenen Einhängepunkten X, Y, Z bleiben aber unverändert, so wie vom jeweiligen Betriebssystem zur Verfügung gestellt, das heißt, gibt keine Änderung in der Dateisystem-Funktionalität und keine Änderung durch das VFS-Switch 3. Dies bedeutet, dass die ganze VFS-(Layer)schicht 4 unangetastet bleibt. Die Priorisierung erfolgt in dem Blockvirtualisierungssystem 2 und der Speicherzugriffsschicht 7.
-
Ein Anwendungsfall bündelt alle Möglichkeiten, die eintreten können, wenn ein Nutzer versucht, mit Hilfe eines Verfahrens / Computersystems ein bestimmtes Ziel zu erreichen, d.h. ein Anwendungsfall beschreibt beispielsweise, wie ein Nutzer ein System verwendet, um ein bestimmtes Ziel zu erreichen.
-
Dem ersten Einhängepunkt X wird eine erste Priorität, dem zweiten Einhängepunkt Y eine zweite Priorität und dem dritten Einhängepunkt Z eine dritte Priorität zugewiesen, wobei die erste Priorität größer als die zweite Priorität und die zweite Priorität größer als dritte Priorität ist.
-
Hier wird die Datei animationxyz.mp4 im Verzeichnispfad „/res/video/ animationxyz.mp4“ nun auf die Einhängepunkte X, Y, Z gemounted. Dadurch ergeben sich nun drei unterschiedliche Verzeichnispfade mit drei unterschiedlichen Prioritäten:
- /X/res/video/animationxyz.mp4
- /Y/res/video/animationxyz.mp4
- /Z/res/video/animationxyz.mp4
-
Durch diese Pfade kann der Anwender oder ein System, beispielsweise ein Fahrerassistenzsystem, mit verschiedenen Prioritäten auf die Datei animationxyz.mp4 zugreifen. Auf die Datei kann von einer Anwendungsschicht 5 durch eine Anwendungsprogrammierschnittstelle 6 (API) zugriffen werden.
-
Dabei hat ein Zugriff über den Einhängepunkt /X/res/video/ animationxyz.mp4 die höchste Priorität. Zugriffe auf andere Dateien oder dieselbe Datei werden unterbrochen, sofern diese mit einem Zugriff mit niederer Priorität ausgeführt werden.
-
Der Zugriff wird von der Speicherzugriffsschicht 7 aus priorisiert.
-
Da die Dateien der verschiedenen Blockgeräte A, AA, AAA auf die verschiedenen Einhängepunkte X, Y, Z gesetzt werden, bzw. die Blockgeräte A, A, AAA den verschiedenen Einhängepunkten X, Y, Z zugeordnet werden, landen Anwendungszugriffe auf die Datei animationxyz.mp4 durch die verschiedenen Einhängepunkte X, Y, Z mit den korrespondierenden Blockgeräten A, AA, AAA auf der Partition K des Speichermediums 1. Der Zugriff auf das Speichermedium 1 unterliegt somit den verschiedenen Prioritäten.
-
Ein Schreibzugriff auf das Speichermedium 1 erfolgt durch ein Blockgerät A oder AA oder AAA. Wenn ein Schreibzugriff durch verschiedene Blockgeräte möglich ist, wird der Schreibzugriff entweder ganz blockiert oder es werden bis auf das eine Blockgerät, durch das der Schreibzugriff erfolgen soll, alle anderen Blockgeräte mittels ihres Einhängepunktes X, Y, Z ausgehängt.
-
In diesem Beispiel ist das Speichermedium 1 hier als eMMC ausgebildet.
-
Es können auch mehr als drei Blockgeräte mit mehr als drei Einhängepunkten, welche auf die Partition K des Speichermedium 1 zugreifen, vorgesehen sein.
-
Wird nun ein Zugriff auf eine Datei mit niedriger Priorität ausgeführt, also wird beispielsweise auf eine erste Datei unter dem dritten Einhängepunkt Z zugegriffen, und greift das System auf eine zweite Datei zu, welche unter dem ersten Einhängepunkt X angeordnet ist, so wird das Ausführen der ersten Datei unterbrochen und die zweite Datei wird zuerst ausgeführt.
-
Somit kann beispielsweise ein Fahrerassistenzsystem priorisiert auf die Datei animationxyz.mp4 über den Dateinamen und den Pfadnamen, hier also über den ersten Einhängepunkt X und den Pfadnamen /X/res/video/animationxyz.mp4 zugreifen, wenn diese Datei bzw. Daten für sicherheitsrelevante Aspekte gerade von Bedeutung sind. Andere weniger hoch priorisierte Zugriffe werden dann unterbrochen.
-
2 zeigt ein zweites Ausführungsbeispiel der Erfindung. Hier wird über eine Anwendungsprogrammierschnittstelle 6 eine Datei wichtig.sql aufgerufen. Die Datei wurde, wie unter 1 beschrieben, über die Einhängepunkte X, Y, Z und die Blockgeräte A, A, AAA in einer Partition K des Speichermediums 1 gespeichert.
-
Die Datei wird von einem beispielsweise Fahrerassistenzsystem über die Anwendungsprogrammierschnittstelle 6 mit höchster Priorität aufgerufen. Der VFS-Switch 3 greift (8) über den ersten Einhängepunkt X auf das Blockgerät A zu. Dieses wiederum greift (8) über das Blockvirtualisierungssystem 2 auf die Partition K zu, und die Datei wichtig.sql wird ausgeführt. Die Zugriffe von der Anwendungsprogrammierschnittstelle 6 bis zur Partition K über den ersten Einhängepunkt X sind mit dem Bezugszeichen 8 gekennzeichnet. Das heißt, solange der Zugriff andauert, werden Daten der ausgeführten Datei wichtig.sql zu der Anwendungsprogrammierschnittstelle 6 zurückgeliefert, dies ist mit dem Bezugszeichen 9 gekennzeichnet.
-
Während des Zugriffs des Fahrerassistenzsystems über die Anwendungsprogrammierschnittstelle 6 und den ersten Einhängepunkt X, greift die Anwendungsprogrammierschnittstelle 6 erneut auf eine Datei wenigerwichtig.sql zu. Die Datei wird von dem Fahrerassistenzsystem über die Anwendungsprogrammierschnittstelle 6 mit niedrigster Priorität aufgerufen. Der VFS-Switch 3 greift (10) über den dritten Einhängepunkt Z auf das Blockgerät AAA zu. Dieses versucht, über das Blockvirtualisierungssystem 2 auf die Partition K, zuzugreifen, um die Datei wenigerwichtig.sql auszuführen; es wird jedoch vom Blockvirtualisierungssystem 2, das heißt der Speicherzugriffsschicht 7, der Zugriff verweigert. Dieser Zugriff, hier mit dem Bezugszeichen 10 gekennzeichnet, wird solange verweigert bis das Ausführen der Datei wichtig.sql beendet worden ist; hier als Beendigungspunkt 11 gekennzeichnet. Anschließend wird die Datei wenigerwichtig.sql ausgeführt und Daten der ausgeführten Datei wenigerwichtig.sql werden zurückgeliefert, hier mit dem Bezugszeichen 12 gekennzeichnet.
-
3 zeigt ein drittes Ausführungsbeispiel der Erfindung. Hier wird über eine Anwendungsprogrammierschnittstelle 6 eine Datei wenigerwichtig.sql aufgerufen. Die Datei wurde, wie unter 1 beschrieben, über die Einhängepunkte X, Y, Z und die Blockgeräte A, A, AAA in einer Partition K des Speichermediums 1 gespeichert.
-
Die Datei wird beispielsweise von einem Fahrerassistenzsystem über die Anwendungsprogrammierschnittstelle 6 mit niedrigster Priorität aufgerufen. Der VFS-Switch 3 greift über den dritten Einhängepunkt Z auf das Blockgerät AAA zu. Dieses wiederum greift über das Blockvirtualisierungssystem 2 auf die Partition K zu, und das Programm wenigerwichtig.sql wird ausgeführt. Die Zugriffe von der Anwendungsprogrammierschnittstelle 6 bis zur Partition K über den dritten Einhängepunkt Z sind mit dem Bezugszeichen 10 gekennzeichnet.
-
Das heißt, die Daten der ausgeführten Datei wenigerwichtig.sql werden zu der Anwendungsprogrammierschnittstelle 6 zurückgeliefert, dies wird mit dem Bezugszeichen 12 gekennzeichnet.
-
Während der Ausführung wird über die Anwendungsprogrammierschnittstelle 6 eine Datei wichtig.sql aufgerufen. Die Datei wurde, wie unter 1 beschrieben, über die Einhängepunkte X, Y, Z und die Blockgeräte A, A, AAA in einer Partition K des Speichermediums 1 gespeichert. Die Datei wird von dem Fahrerassistenzsystem über die Anwendungsprogrammierschnittstelle 6 mit höchster Priorität über den ersten Einhängepunkt X und das Blockgerät A aufgerufen. Der VFS-Switch 3 greift über den ersten Einhängepunkt X auf das Blockgerät A zu. Dieses greift über das Blockvirtualisierungssystem 2 auf die Partition K zu, um die Datei wichtig.sql auszuführen. Das Speichermedium 1, das heißt die Partition K unterbricht an einem Unterbrechungspunkt 13 in diesem Fall sofort die Ausführung der Datei wenigerwichtig.sql und beginnt mit der Ausführung der Datei wichtig.sql. Dieser Zugriff, hier mit dem Bezugszeichen 8, wird solange ausgeführt bis die Ausführung der Datei wichtig.sql beendet worden ist; hier als Endzeitpunkt 14 gekennzeichnet. Anschließend wird wieder die Datei wenigerwichtig.sql ausgeführt.
-
Bezugszeichenliste
-
- 1
- Speichermedium
- 2
- Blockvirtualisierungssystem
- 3
- VFS-Switch
- 4
- VFS-Layerschicht
- 5
- Anwendungsschicht
- 6
- Anwendungsprogrammierschnittstelle
- 7
- Speicherzugriffsschicht
- 8
- Zugriffe
- 9
- Zurückgelieferte Daten von 8
- 10
- Zugriffe
- 11
- Beendigungspunkt
- 12
- Zurückgelieferte Daten von 10
- 13
- Unterbrechungspunkt
- 14
- Endzeitpunkt
- X,Y,Z
- Einhängepunkte
- A,AA, AAA
- Blockgeräte
- K
- Partition
- FS PA
- Dateisystem
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- US 20080126645 A1 [0008]
- US 6253260 B1 [0009]
- DE 112008003256 T5 [0010]
- DE 10032962 A1 [0011]
- US 4616338 [0012]