{"id":37019,"date":"2019-10-31T22:15:20","date_gmt":"2019-10-31T19:15:20","guid":{"rendered":"https:\/\/prohoster.info\/blog\/sistema-udalennogo-fajlovogo-dostupa-cage\/"},"modified":"2019-10-31T22:15:20","modified_gmt":"2019-10-31T19:15:20","slug":"sistema-udalennogo-fajlovogo-dostupa-cage","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/sistema-udalennogo-fajlovogo-dostupa-cage","title":{"rendered":"Das System f\u00fcr den entfernten Dateizugriff Cage.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<h3>Systemzweck<\/h3>\n<p><\/p>\n<p>Unterst\u00fctzung des Fernzugriffs auf Dateien auf Computern im Netzwerk. Das System unterst\u00fctzt \"virtuell\" alle g\u00e4ngigen Dateioperationen (Erstellen, L\u00f6schen, Lesen, Schreiben usw.) durch den Austausch von Transaktionen (Nachrichten) \u00fcber das TCP-Protokoll.<\/p>\n<p><\/p>\n<h3>Anwendungsbereiche<\/h3>\n<p><\/p>\n<p>Die Funktionalit\u00e4t des Systems ist in folgenden F\u00e4llen effektiv:<\/p>\n<ul>\n<li> in nativen Anwendungen f\u00fcr mobile und Embedded-Ger\u00e4te (Smartphones, Bordsteuerungssysteme usw.), die schnellen Zugriff auf Dateien auf entfernten Servern ben\u00f6tigen, auch wenn es zu kurzzeitigen Verbindungsunterbrechungen (Offline-Zeiten) kommen kann;<\/li>\n<li> in stark belasteten Datenbankmanagementsystemen, wenn die Anfragen auf einem Server bearbeitet und die Daten auf einem anderen gespeichert werden;<\/li>\n<li> in verteilten Unternehmensnetzwerken f\u00fcr die Sammlung und Verarbeitung von Informationen, die eine hohe Daten\u00fcbertragungsrate, Redundanz und Zuverl\u00e4ssigkeit erfordern;<\/li>\n<li> in komplexen Systemen mit mikroserviceorientierter Architektur, in denen Verz\u00f6gerungen beim Austausch von Informationen zwischen Modulen von entscheidender Bedeutung sind.<\/li>\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex> <\/p>\n<h3>Struktur<\/h3>\n<p><\/p>\n<p>Das Cage-System (eine Beta-Version ist f\u00fcr Python 3.7 unter Windows verf\u00fcgbar) umfasst zwei Hauptkomponenten: <\/p>\n<ol>\n<li> <b>Cageserver<\/b> \u2014 ein Programm zur Datei-Server-Verwaltung (Funktionspaket), das auf Computern im Netzwerk ausgef\u00fchrt wird, um den Remote-Zugriff auf Dateien zu erm\u00f6glichen;<\/li>\n<li> Klasse <b>Cage<\/b> mit einer Bibliothek von Methoden f\u00fcr Client-Software, die die Interaktion mit Servern vereinfacht.<\/li>\n<\/ol>\n<p><\/p>\n<h3>Verwendung des Systems auf der Clientseite<\/h3>\n<p><\/p>\n<p>Die Methoden der Klasse Cage ersetzen die gew\u00f6hnlichen, \u201ealltagsm\u00e4\u00dfigen\u201c Operationen des Dateisystems: <i>Erstellung, \u00d6ffnung, Schlie\u00dfung, L\u00f6schung <\/i>von Dateien sowie <i>das Lesen\/Schreiben von Daten im Bin\u00e4rformat<\/i> (mit Angabe der Position und Gr\u00f6\u00dfe der Daten). Konzeptuell sind diese Methoden den Dateioperationen der Programmiersprache C \u00e4hnlich, bei denen das \u00d6ffnen\/Schlie\u00dfen von Dateien \u00fcber Eingabe-\/Ausgabe-Kan\u00e4le erfolgt. <\/p>\n<p><\/p>\n<p>Mit anderen Worten, der Programmierer arbeitet nicht mit den Methoden der \u201eDatei\u201c-Objekte (der Klasse <b>_io<\/b> in Python), sondern mit den Methoden der Klasse Cage.<\/p>\n<p><\/p>\n<p>Beim Erstellen einer Cage-Instanz wird eine initiale Verbindung zu einem Server (oder mehreren Servern) hergestellt, die Autorisierung mit der Kunden-ID durchgef\u00fchrt und eine Best\u00e4tigung mit der Nummer des zugewiesenen Ports f\u00fcr alle Dateioperationen erhalten. Beim L\u00f6schen des Cage-Objekts wird ein Befehl an den Server gesendet, um die Verbindung zu beenden und Dateien zu schlie\u00dfen. Auch die Server selbst k\u00f6nnen die Verbindung beenden.<\/p>\n<p><\/p>\n<p>Das System verbessert die Lese-\/Schreibgeschwindigkeit durch die Pufferung h\u00e4ufig verwendeter Dateiabschnitte im Cache (Speicher) der Client-Programme.<br \/>\nDie Client-Software kann beliebig viele Cage-Objekte mit unterschiedlichen Einstellungen verwenden (Puffergr\u00f6\u00dfe, Blockgr\u00f6\u00dfe beim Austausch mit dem Server usw.). <\/p>\n<p><\/p>\n<p>Ein Cage-Objekt kann Daten mit mehreren Dateien auf mehreren Servern austauschen. Die Verbindungsparameter (IP-Adresse oder DNS des Servers, Hauptport zur Autorisierung, Pfad und Name der Datei) werden beim Erstellen des Objekts festgelegt.<\/p>\n<p><\/p>\n<p>Da jedes Cage-Objekt gleichzeitig mit mehreren Dateien arbeiten kann, wird ein gemeinsamer Speicherbereich f\u00fcr das Caching verwendet. Die Cache-Gr\u00f6\u00dfe - Anzahl der Seiten und deren Gr\u00f6\u00dfe - wird dynamisch bei der Erstellung des Cage-Objekts festgelegt. Beispielsweise bedeutet ein 1 GB Cache, dass es 1.000 Seiten mit je 1 MB oder 10.000 Seiten mit je 100 KB oder 1 Million Seiten mit je 1 KB gibt. Die Wahl der Gr\u00f6\u00dfe und Anzahl der Seiten ist eine spezifische Aufgabe f\u00fcr jeden Anwendungsfall.<\/p>\n<p><\/p>\n<p>Es k\u00f6nnen mehrere Cage-Objekte gleichzeitig verwendet werden, um verschiedene Einstellungen des Pufferspeichers zu bestimmen, je nach den Zugriffsmerkmalen auf Informationen in unterschiedlichen Dateien. Als Basis wird ein einfachster Pufferalgorithmus angewendet: Nach Ersch\u00f6pfung des zugewiesenen Speicherplatzes verdr\u00e4ngen neue Seiten alte in der Reihenfolge der geringsten Zugriffe. Die Pufferung ist besonders effektiv bei ungleichm\u00e4\u00dfigem (im statistischen Sinne) gemeinsamen Zugriff, erstens auf verschiedenen Dateien und zweitens auf Fragmenten jeder Datei. <\/p>\n<p><\/p>\n<p>Die Cage-Klasse unterst\u00fctzt Ein- und Ausgaben nicht nur \u00fcber Datenadressen (unter Angabe der Position und L\u00e4nge des Arrays, wodurch Dateisystemoperationen \"ersetzt\" werden), sondern auch auf einer tieferen, \"physischen\" Ebene \u2013 \u00fcber die Seitenzahlen im Pufferspeicher. <\/p>\n<p><\/p>\n<p>F\u00fcr Cage-Objekte wird die Originalfunktion <i>\u201eHibernation\u201c<\/i> (\u201eSchlaf\u201c) unterst\u00fctzt \u2013 sie k\u00f6nnen in eine lokale Dump-Datei auf der Client-Seite \"eingefroren\" werden (zum Beispiel im Falle eines Verbindungsabbruchs zu Servern oder beim Stoppen einer Anwendung usw.) und schnell aus dieser Datei wiederhergestellt werden (nach Wiederherstellung der Verbindung, bei erneutem Starten der Anwendung). Dies erm\u00f6glicht eine signifikante Reduzierung des Datenverkehrs, wenn das Client-Programm nach einem tempor\u00e4ren \"Offline-Gang\" wieder aktiviert wird, da h\u00e4ufig verwendete Dateifragmente bereits im Cache vorhanden sind.<\/p>\n<p><\/p>\n<p>Cage umfasst etwa 3600 Zeilen Code.<\/p>\n<p><\/p>\n<h3>Prinzipien des Serveraufbaus<\/h3>\n<p><\/p>\n<p>Cageserver-Dateiserver k\u00f6nnen mit einer beliebigen Anzahl von Ports betrieben werden, wobei einer davon (der \u201eHauptport\u201c) ausschlie\u00dflich f\u00fcr die Authentifizierung aller Clients verwendet wird, w\u00e4hrend die anderen f\u00fcr den Datenaustausch zust\u00e4ndig sind. F\u00fcr das Cage-Server-Programm wird lediglich Python ben\u00f6tigt. Gleichzeitig kann der Computer mit dem Dateiserver auch jede andere Aufgabe ausf\u00fchren. <\/p>\n<p><\/p>\n<p>Der Server wird zun\u00e4chst als Kombination zweier Hauptprozesse gestartet:<\/p>\n<ol>\n<li><b>\u201eVerbindungen\u201c<\/b> \u2013 ein Prozess zur Durchf\u00fchrung von Verbindungsaufbau und -abbruch mit den Clients auf Initiative des Servers;<\/li>\n<li><b>\u201eOperationen\u201c<\/b> \u2013 ein Prozess zur Ausf\u00fchrung von Aufgaben (Operationen) der Clients im Umgang mit Dateien sowie zur Beendigung von Verbindungen auf Anforderung der Clients.<\/li>\n<\/ol>\n<p><\/p>\n<p>Beide Prozesse sind nicht synchronisiert und organisiert als unendliche Schleifen f\u00fcr den Empfang und Versand von Nachrichten basierend auf multiplen Warteschlangen, Proxy-Objekten, Locks und Sockets.<br \/>\nDer Prozess \u201eVerbindungen\u201c weist jedem Client einen Port f\u00fcr den Datenempfang und -versand zu. Die Anzahl der Ports wird beim Start des Servers festgelegt. Die Zuordnung zwischen Ports und Clients wird im zwischen den Prozessen geteilten Proxy-Speicher gespeichert.<\/p>\n<p><\/p>\n<p>Der Prozess \u201eOperationen\u201c unterst\u00fctzt die Trennung von Dateiressourcen, sodass mehrere unterschiedliche Clients gleichzeitig (<i>quasi parallel<\/i>, da der Zugriff durch Sperren geregelt wird) Daten aus einer Datei lesen k\u00f6nnen, wenn dies beim urspr\u00fcnglichen \u00d6ffnen durch den \u201eersten\u201c Client erlaubt wurde. \n<\/p>\n<p>Die Verarbeitung von Befehlen zum Erstellen\/L\u00f6schen\/\u00d6ffnen\/Schlie\u00dfen von Dateien <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/de\/server\/dts-dronten\/\"   title=\"Server\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2497\">Server<\/a> erfolgt im Prozess \u201eOperationen\u201c streng sequenziell unter Verwendung des Dateisystems des Server-Betriebssystems.<\/p>\n<p><\/p>\n<p>Um das Lesen\/Schreiben zu beschleunigen, werden diese Operationen in Threads ausgef\u00fchrt, die durch den Prozess \u201eOperationen\u201c erzeugt werden. Die Anzahl der Threads entspricht in der Regel der Anzahl der ge\u00f6ffneten Dateien. Lese-\/Schreibauftr\u00e4ge von Clients werden in eine gemeinsame Warteschlange eingegeben, und der erste freigewordene Thread nimmt den Auftrag von deren Kopf auf. Eine spezielle Logik erm\u00f6glicht es, Schreiboperationen im Arbeitsspeicher des Servers auszuschlie\u00dfen.<\/p>\n<p><\/p>\n<p>Der Prozess \u201eOperationen\u201c \u00fcberwacht die Aktivit\u00e4t der Clients und beendet deren Bedienung sowohl auf ihre Befehle hin als auch bei \u00dcberschreitung der Inaktivit\u00e4tstimeout.<\/p>\n<p><\/p>\n<p>Um die Zuverl\u00e4ssigkeit zu gew\u00e4hrleisten, protokolliert Cageserver alle Transaktionen. Ein gemeinsames Protokoll enth\u00e4lt Kopien der Nachrichten von Kunden mit Auftr\u00e4gen zum Erstellen, \u00d6ffnen, Umbenennen oder L\u00f6schen von Dateien. F\u00fcr jede Arbeitsdatei wird ein separates Protokoll erstellt, in dem Kopien der Nachrichten zu Lese- und Schreibauftr\u00e4gen in dieser Arbeitsdatei sowie Arrays der geschriebenen (neuen) Daten und Arrays der Daten, die beim \u00dcberschreiben (Neuschreiben von Daten \"\u00fcber\" alte) verloren gingen, aufgezeichnet werden. <\/p>\n<p><\/p>\n<p>Diese Protokolle erm\u00f6glichen sowohl die Wiederherstellung neuer \u00c4nderungen in Backups als auch das \"Rollback\" vom aktuellen Inhalt zu einem gew\u00fcnschten Zeitpunkt in der Vergangenheit. <\/p>\n<p><\/p>\n<p>Cageserver besteht aus etwa 3100 Zeilen Code.<\/p>\n<p>\n<img decoding=\"async\" alt=\"Das System f\u00fcr den entfernten Dateizugriff Cage.\" src=\"\/wp-content\/uploads\/2019\/08\/606d593347d73274b0c172dae34da0d7.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3>Starten des Cageserver-Datei-Server-Programms.<\/h3>\n<p><\/p>\n<p>Beim Starten im Dialog m\u00fcssen Sie Folgendes festlegen:<br \/>\n \u2014 den Hauptport zur Authentifizierung;<br \/>\n \u2014 die Anzahl der Ports f\u00fcr den Austausch von Transaktionen mit autorisierten Kunden (mindestens 1, der Pool beginnt mit der Nummer nach dem Hauptport).<\/p>\n<p><\/p>\n<h3>Verwendung der Klasse Cage<\/h3>\n<p><\/p>\n<p><b>class<\/b> cage.<b>Cage<\/b>( <i>cage_name=&gt;&gt;, pagesize=0, numpages=0, maxstrlen=0, server_ip={}, wait=0, awake=False, cache_file=&gt;&gt;<\/i> )<\/p>\n<p><\/p>\n<p>Aus dieser Klasse werden Objekte erstellt, die mit Datei-Servern interagieren und \u00fcber einen Zwischenspeicher verf\u00fcgen.<\/p>\n<p><\/p>\n<p><b><u>Einstellungen<\/u><\/b><\/p>\n<p><\/p>\n<ul>\n<li> <b>cage_name<\/b>(<i>str<\/i>) - der bedingte Name des Objekts, der zur Identifizierung von Clients auf der Serverseite verwendet wird. <\/li>\n<li> <b>pagesize<\/b>(<i>int<\/i>) - die Gr\u00f6\u00dfe einer Seite im Zwischenspeicher (in Bytes).<\/li>\n<li> <b>numpages<\/b>(<i>int<\/i>) - die Anzahl der Seiten im Zwischenspeicher.<\/li>\n<li> <b>maxstrlen<\/b>(<i>int<\/i>) - die maximale L\u00e4nge der Byte-Zeichenfolge bei Schreib- und Lesevorg\u00e4ngen.<\/li>\n<li> <b>server_ip<\/b>(<i>dict<\/i>) - ein W\u00f6rterbuch mit den verwendeten Adressen, wobei der Schl\u00fcssel der bedingte Name des Servers (Server-ID innerhalb der Anwendung) ist und der Wert die Zeichenfolge mit der Adresse: \u201eIP-Adresse:Port\u201c oder \u201eDNS:Port\u201c (die Zuordnung von Namen und tats\u00e4chlichen Adressen ist tempor\u00e4r und kann ge\u00e4ndert werden). <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/de\/server\/\"   title=\"Server\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1347\">Server<\/a>, wobei der Schl\u00fcssel der bedingte Name des Servers (Server-ID innerhalb der Anwendung) ist und der Wert eine Zeichenfolge mit der Adresse ist: \"IP-Adresse:Port\" oder \"DNS:Port\" (die Zuordnung von Namen zu tats\u00e4chlichen Adressen ist tempor\u00e4r und kann ge\u00e4ndert werden)<\/li>\n<li> <b>wait<\/b>(<i>int<\/i>) - die Wartezeit auf eine Antwort vom Server bei der Abfrage der Ports (in Sekunden).<\/li>\n<li> <b>awake<\/b>(<i>boolean<\/i>) - ein Flag, das die Art der Erstellung des Objekts angibt (<i>False<\/i> - wenn ein neues Objekt erstellt wird, <i>True<\/i> - wenn das Objekt aus einem zuvor \"eingefrorenen\" Zustand erstellt wird - durch die Anwendung der Operation \u201eHibernate\u201c, per Voreinstellung False).<\/li>\n<li> <b>cache_file<\/b>(<i>str<\/i>) - der Name der Datei f\u00fcr das Hibernate.<\/li>\n<\/ul>\n<p><\/p>\n<p><b><u>Methoden<\/u><\/b><\/p>\n<p><\/p>\n<p>Cage.<b>file_create<\/b>( <i>server, path<\/i> ) - eine neue Datei erstellen.<\/p>\n<p><\/p>\n<p>Cage.<b>file_rename<\/b>( <i>server, path, new_name<\/i> ) - eine Datei umbenennen.<\/p>\n<p><\/p>\n<p>Cage.<b>file_remove<\/b>( <i>server, path<\/i>) - eine Datei l\u00f6schen.<\/p>\n<p><\/p>\n<p>Cage.<b>\u00f6ffnen<\/b>( <i>server, path, mod <\/i>) - eine Datei \u00f6ffnen.<\/p>\n<p><\/p>\n<p>Gibt zur\u00fcck <i>fchannel<\/i> Kanalnummer. Parameter <i>mod<\/i> \u2014 ist der Modus zum \u00d6ffnen einer Datei: \u201ewm\u201c \u2014 monopol (lesen\/schreiben), \u201ers\u201c \u2014 nur lesen und f\u00fcr andere Benutzer nur lesbar, \u201ews\u201c \u2014 lesen\/schreiben und f\u00fcr andere Benutzer nur lesbar. <\/p>\n<p><\/p>\n<p>Cage.<b>close<\/b> (<i>fchannel<\/i>) \u2013 Datei schlie\u00dfen<\/p>\n<p><\/p>\n<p>Cage.<b>write <\/b>(<i>fchannel, begin, data <\/i>) \u2013 eine Byte-Zeichenkette in die Datei schreiben<\/p>\n<p><\/p>\n<p>Cage.<b>read <\/b>(<i>fchannel, begin, len_data<\/i> ) \u2013 eine Byte-Zeichenkette aus der Datei lesen<\/p>\n<p><\/p>\n<p>Cage.<b>put_pages <\/b>( <i>fchannel<\/i> ) \u2013 \u201est\u00f6\u00dft\u201c alle Seiten des angegebenen Kanals aus dem Puffer auf den Server, die modifiziert wurden. Wird an den Stellen des Algorithmus verwendet, an denen sichergestellt werden muss, dass alle Operationen auf dem Kanal physisch in der Datei auf dem Server gespeichert sind.<\/p>\n<p><\/p>\n<p>Cage.<b>push_all<\/b> () \u2013 \u201est\u00f6\u00dft\u201c alle Seiten aller Kan\u00e4le f\u00fcr die Instanz der Klasse Cage aus dem Puffer auf den Server, die modifiziert wurden. Wird verwendet, wenn sichergestellt werden muss, dass alle Operationen auf allen Kan\u00e4len auf dem Server gespeichert sind.<\/p>\n<p>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/463085\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0444\u0430\u0439\u043b\u0430\u043c \u043d\u0430 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430\u0445 \u0432 \u0441\u0435\u0442\u0438. \u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u00ab\u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u00bb \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0432\u0441\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 (\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435, \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435, \u0447\u0442\u0435\u043d\u0438\u0435, \u0437\u0430\u043f\u0438\u0441\u044c \u0438 \u0434\u0440.) \u043f\u0443\u0442\u0451\u043c \u043e\u0431\u043c\u0435\u043d\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f\u043c\u0438 (\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u043c\u0438) \u043f\u043e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0443 \u0422\u0421\u0420. \u041e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u0435\u043d \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445: \u0432 \u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445 \u0434\u043b\u044f \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u0438 embedded \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 (\u0441\u043c\u0430\u0440\u0442\u0444\u043e\u043d\u044b, \u0431\u043e\u0440\u0442\u043e\u0432\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438 \u0442.\u043f.), \u0442\u0440\u0435\u0431\u0443\u044e\u0449\u0438\u0445 \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":27748,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-37019","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0444\u0430\u0439\u043b\u0430\u043c \u043d\u0430 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430\u0445 \u0432 \u0441\u0435\u0442\u0438. \u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u00ab\u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u00bb \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0432\u0441\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 (\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435, \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435, \u0447\u0442\u0435\u043d\u0438\u0435, \u0437\u0430\u043f\u0438\u0441\u044c \u0438 \u0434\u0440.) \u043f\u0443\u0442\u0451\u043c \u043e\u0431\u043c\u0435\u043d\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f\u043c\u0438 (\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u043c\u0438) \u043f\u043e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0443 \u0422\u0421\u0420. \u041e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u0435\u043d \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445: \u0432 \u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445 \u0434\u043b\u044f \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u0438 embedded \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 (\u0441\u043c\u0430\u0440\u0442\u0444\u043e\u043d\u044b, \u0431\u043e\u0440\u0442\u043e\u0432\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438 \u0442.\u043f.), \u0442\u0440\u0435\u0431\u0443\u044e\u0449\u0438\u0445 \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/sistema-udalennogo-fajlovogo-dostupa-cage\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430 Cage | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0444\u0430\u0439\u043b\u0430\u043c \u043d\u0430 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430\u0445 \u0432 \u0441\u0435\u0442\u0438. \u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u00ab\u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u00bb \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0432\u0441\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 (\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435, \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435, \u0447\u0442\u0435\u043d\u0438\u0435, \u0437\u0430\u043f\u0438\u0441\u044c \u0438 \u0434\u0440.) \u043f\u0443\u0442\u0451\u043c \u043e\u0431\u043c\u0435\u043d\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f\u043c\u0438 (\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u043c\u0438) \u043f\u043e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0443 \u0422\u0421\u0420. \u041e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u0435\u043d \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445: \u0432 \u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445 \u0434\u043b\u044f \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u0438 embedded \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 (\u0441\u043c\u0430\u0440\u0442\u0444\u043e\u043d\u044b, \u0431\u043e\u0440\u0442\u043e\u0432\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438 \u0442.\u043f.), \u0442\u0440\u0435\u0431\u0443\u044e\u0449\u0438\u0445 \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/sistema-udalennogo-fajlovogo-dostupa-cage\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:15:20+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:15:20+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Cage | ProHoster System f\u00fcr den remote Datei-Zugriff","description":"Zweck des Systems ist die Unterst\u00fctzung des Remote-Zugriffs auf Dateien auf Netzwerkcomputern. Das System unterst\u00fctzt alle grundlegenden Dateioperationen (Erstellen, L\u00f6schen, Lesen, Schreiben usw.) \u201evirtuell\u201c durch den Austausch von Transaktionen (Nachrichten) \u00fcber das TCP-Protokoll. Anwendungsbereiche Die Funktionalit\u00e4t des Systems ist in folgenden F\u00e4llen effektiv: in nativem Anwendungen f\u00fcr mobile und embedded Ger\u00e4te (Smartphones, Bordkontrollsysteme usw.), die schnelle...","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/sistema-udalennogo-fajlovogo-dostupa-cage","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430 Cage | ProHoster","og:description":"\u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0444\u0430\u0439\u043b\u0430\u043c \u043d\u0430 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430\u0445 \u0432 \u0441\u0435\u0442\u0438. \u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u00ab\u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u00bb \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0432\u0441\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 (\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435, \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435, \u0447\u0442\u0435\u043d\u0438\u0435, \u0437\u0430\u043f\u0438\u0441\u044c \u0438 \u0434\u0440.) \u043f\u0443\u0442\u0451\u043c \u043e\u0431\u043c\u0435\u043d\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f\u043c\u0438 (\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u043c\u0438) \u043f\u043e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0443 \u0422\u0421\u0420. \u041e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u0435\u043d \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445: \u0432 \u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445 \u0434\u043b\u044f \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u0438 embedded \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 (\u0441\u043c\u0430\u0440\u0442\u0444\u043e\u043d\u044b, \u0431\u043e\u0440\u0442\u043e\u0432\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438 \u0442.\u043f.), \u0442\u0440\u0435\u0431\u0443\u044e\u0449\u0438\u0445 \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/sistema-udalennogo-fajlovogo-dostupa-cage","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:15:20+00:00","article:modified_time":"2019-10-31T19:15:20+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"37019","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-02-09 21:52:49","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:34:26","updated":"2026-02-09 21:52:49"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/37019","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=37019"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/37019\/revisions"}],"predecessor-version":[{"id":159779,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/37019\/revisions\/159779"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/27748"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=37019"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=37019"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=37019"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}