Reflink

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Ein Reflink bezeichnet zwei Dinge: Bezahlte Hyperlinks einer Website, englisch affiliate link, oder bei Dateisystemen mit Copy-on-Write die sehr schnelle Reflink-Kopie. Andere Schreibweisen sind Refer-Link oder Referral-Link, vom Englischen to refer ‚verweisen‘.

Online-Marketing[Bearbeiten | Quelltext bearbeiten]

Reflinks finden im Online-Marketing häufig Verwendung. Durch Anklicken eines Reflinks kann vom Betreiber dieses Links die Anzahl der Klicks ermittelt werden und teilweise auch die nächsten Schritte des Surfers verfolgt werden, z. B. ein Kauf im Webshop. Der Betreiber der verweisenden Website erhält für jeden Klick auf den Link einen pauschalen Geldbetrag oder eine prozentuale Verkaufsprovision.

Reflinks können relativ einfach anhand der URL ermittelt werden. Hier steht in den meisten Fällen die Identifizierungszahl oder -bezeichnung des Werbenden.

Der Unterschied zu einem normalen Link besteht darin, dass ein Reflink immer einen Nutzen für die Person hinter dem Reflink darstellt, während ein normaler Link ein einfacher Verweis ist.

Technisch betrachtet handelt es sich um eine Parameterübertragung zusätzlich innerhalb des URI.

Dateisysteme[Bearbeiten | Quelltext bearbeiten]

Innerhalb von Dateisystemen mit Copy-on-Write können große Dateien oder Verzeichnisse in Sekundenbruchteilen kopiert werden. Mit cp --reflink werden Daten nicht vervielfältigt, sondern nur ein neuer Dateieintrag (Verweis, englisch refer) angelegt. Bei Änderung einer Datei werden nur die veränderten Blöcke als Kopie in einem freien Speicherbereich angelegt und der Verweis umgebogen. Alle unveränderten Blöcke bleiben unberührt, wobei sich Original und Kopie unveränderte Bereiche weiterhin teilen. Da Dateisysteme mit Copy-on-Write grundsätzlich niemals Daten überschreiben, sondern immer in freien Bereichen eine veränderte Kopie anlegen, erfolgt dieses Vorgehen ohne Leistungseinbußen.[1] Dies ist z. B. bei Snapshots von VMs oder Provisioning hilfreich.[2]

Der reflink ist bei vielen neueren Linux-Dateisysteme implementiert, u. a. btrfs, ZFS, xfs. Beim Kopieren von Dateien mit reflinks wird über Extents und Copy-on-Write eine schnelle Kopie der Daten erstellt, indem lediglich ein weiterer Verweis auf die Extents hinzugefügt wird, die die Daten gerade verwenden, anstatt alle Daten lesen und wieder ausgeben zu müssen, wie es in anderen Dateisystemen der Fall wäre.

Ohne Reflinks ist der Hardlink eine gängige Technik, um beispielsweise eine schnelle Kopie einer Datei zu erstellen. Hardlinks haben jedoch eine Reihe von Nachteilen, vor allem, da es nur einen Inode (oder Dateisystem-Haupteintrag) gibt, müssen alle hardlinked Kopien die gleichen Metadaten haben (Besitzer, Gruppe, Berechtigungen usw.). Software, die die Dateien verändern könnte, muss auch auf Hardlinks achten: Eine naive Änderung einer hardlinked Datei verändert alle entsprechend angebundenen Dateien (Dateisystem-Einträge).[3]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. Thorsten Leemhuis: Vielfalt sticht: Wie die Kernel-Entwickler Linux voranbringen wollen. In: c’t. Band 2018, Nr. 13, 8. Juni 2018, ISSN 0724-8679, S. 88 (heise.de [abgerufen am 12. Dezember 2022]).
  2. Thorsten Leemhuis: Linux 5.6 unterstützt Wireguard und USB4. Abgerufen am 12. Dezember 2022.
  3. Thorsten Leemhuis: Kernel-Log: Linux 4.9: Internet-Beschleuniger und Performance-Analysen wie mit Dtrace. In: c’t. Band 2016, Nr. 26, 9. Dezember 2016, ISSN 0724-8679, S. 30 (heise.de [abgerufen am 12. Dezember 2022]).