Warum ein neues POSIX-ähnliches Dateisystem benötigt wird

Lassen Sie uns darüber sprechen, wie der Hyperdrive FS funktioniert und wer ihn bereits verwendet hat.





Foto - moren hsu - Unsplash



Ein paar Worte zu Hyperdrive



Es ist ein POSIX- ähnliches Dateisystem für Anwendungen mit verteilter Architektur. Die Hierarchie wird durch einen einzelnen Baum dargestellt, und alle Objekte haben zwei Namen: absolut (vom Stamm) und relativ (vom aktuellen Arbeitsverzeichnis). Hyperdrive wurde von den Autoren des offenen P2P-Browser- Bechers entwickelt. Es ermöglicht Ihnen, Websites "direkt im Browser" zu hosten. Erstellen Sie einfach einen lokalen Ordner und geben Sie den entsprechenden Link frei.



Wie das System funktioniert



Es ist in Node.js implementiert - sein Quellcode befindet sich auf GitHub . Laut den Autoren ähnelt die Arbeit mit Hyperdrive der Interaktion mit dem Standardknotenmodul - fs . Hier ist ein Beispiel :



var hyperdrive = require('hyperdrive')
var archive = hyperdrive('./my-first-hyperdrive') // content will be stored in this folder

archive.writeFile('/hello.txt', 'world', function (err) {
  if (err) throw err
  archive.readdir('/', function (err, list) {
    if (err) throw err
    console.log(list) // prints ['hello.txt']
    archive.readFile('/hello.txt', 'utf-8', function (err, data) {
      if (err) throw err
      console.log(data) // prints 'world'
    })
  })
})


Hyperdrive basiert auf zwei speziellen Strukturen, die als Hypercores bezeichnet werden. Dies sind nur Anhängeprotokolle. Der erste speichert Indexmetadaten und der zweite speichert Datei-Binärdateien. Datei- und Ordnernamen werden mithilfe eines vorangestellten Hash-Baums indiziert, um die Suche zu vereinfachen. In gewissem Sinne dient es als schnelles Schlüsselwertsystem. Die Datenintegrität wird mithilfe eines Merkle-Baums mit der kryptografischen Hash-Funktion BLAKE2b-256 überprüft . Ein spezieller Daemon ist für die Verarbeitung von Benutzeranforderungen an das Dateisystem verantwortlich . Über die CLI können Sie Hyperdrive-Verzeichnisse erstellen, freigeben und anzeigen. Der Daemon unterstützt FUSE



Daher können Hyperdrives auf Linux- und Mac-Systemen als reguläre Ordner angezeigt werden.



Wo wird es verwendet?



Hyperdrive eignet sich für die Entwicklung verteilter Anwendungen, die in ihrer Funktionalität dem Cloud-Speicher ähneln. Beispielsweise wird es von der Open Source-Plattform ScienceFair verwendet . Sie hilft Forschern bei der Suche nach wissenschaftlicher Literatur, Zeitschriften, Artikeln und Auszügen und teilt ihre eigenen Erkenntnisse.



Natürlich haben die Entwickler des Beaker Browser verwenden ihr eigenes Dateisystem . Es speichert die Daten, die zum Anzeigen von Websites benötigt werden.





Photo - Clint Adair - Unsplash



Hyperdrive ist das Herzstück des Dat- Protokolls... Es wird für den Datenaustausch in verteilten Netzwerken benötigt. Während der Übertragung werden Dateien in kleine Fragmente unterschiedlicher Größe aufgeteilt und von der empfangenden Partei in einer einzigen Dat-Datei gesammelt. Das System ermöglicht das Hinzufügen neuer Fragmente, das Ändern oder Löschen vorhandener Fragmente jedoch nicht. Mit diesem Ansatz können Sie den Verlauf von Dokumentänderungen speichern.



Heute hat sich bereits eine ziemlich große Community um Dat gebildet , und der Spezialfonds der Dat Foundation engagiert sich für dessen Förderung - er wird von Mozilla und Code for Science & Society unterstützt. Langfristig werden diese Organisationen zur wachsenden Beliebtheit sowohl des Dat-Protokolls als auch des Hyperdrive-Dateisystems beitragen.






1cloud.ru:



:

:



RAID-







All Articles