Zum Inhalt springen

Lizenz-Heartbeats und Offline-Prüfung

Beide Einstellungen gehören zu den Lizenzrichtlinien, beantworten jedoch unterschiedliche Fragen: Wie oft muss der Server online kontaktiert werden und wie lange kann die Nutzung fortgesetzt werden, ohne ihn zu erreichen.

Heartbeat-Intervall: wie oft validiert werden soll

Stellen Sie das Heartbeat-Intervall (Sekunden) auf ein 600, sendet der SDK beim Laufen etwa alle 10 Minuten einen Heartbeat. Bei jedem Erfolg werden die neuesten Regeln abgerufen und der lokale Lizenzcache aktualisiert.

Geben Sie 600–86400 Sekunden ein. Treten Sie ein 0 deaktiviert geplante Heartbeats. Ihre Anwendung kann weiterhin manuell überprüft oder aktualisiert werden. Durch die Planung wird eine zufällige Verzögerung von 0–10 % hinzugefügt; Das Intervall fällt nie unter 600 Sekunden.

Bei einer gerätegebundenen Lizenz mit gültigem Cache stellt der Start den Zugriff wieder her und aktualisiert sich online im Hintergrund, auch wenn der Timer deaktiviert ist. Nur-Online-Lizenzen und Floating-Lizenzen warten auf die Bestätigung durch den Server.

Offline-Zulage: wie lange ohne Server ausgeführt werden soll

Der Offline-Modus bietet drei Möglichkeiten. Das Heartbeat-Intervall wird dadurch nicht geändert.

Eine bestimmte Dauer einplanen
Bei einem 24-Stunden-Kontingent bleibt der signierte Cache maximal 24 Stunden ab der letzten erfolgreichen Online-Prüfung bestehen. Die App kann innerhalb dieser Zeit eine Verbindungsunterbrechung oder einen vorübergehenden Serverausfall überstehen. Anschließend muss die Online-Validierung erfolgreich sein.
Offline-Fallback nicht zulässig
Der Startvorgang muss den Server erfolgreich erreichen; Festplatten-Caches können eine fehlgeschlagene Anfrage nicht umgehen. Eine beim Laufen erhaltene kurzlebige Signatur hält höchstens an max(10, 心跳间隔) Sekunden; Die App muss weiterhin Funktionsberechtigungen validieren und überprüfen.
Permanenten Offline-Zugriff zulassen
Eine vorhandene lokale Signatur kann langfristig, auch bei Netzwerkausfällen, genutzt werden. Eine 30-Tage-Lizenz läuft immer noch nach 30 Tagen ab; Durch die dauerhafte Offline-Nutzung ist eine zeitlich begrenzte Lizenz nicht unbefristet.

Die API verwendet offline_mode repräsentiert jeweils diese drei Möglichkeiten limited, none, permanent. Mit einem festen Offline-Zuschlag,offline_seconds beträgt 1–31536000 Sekunden; Verwenden Sie 0 für die anderen beiden Modi.

Wie verhalten sich diese Kombinationen?

Heartbeat-/Offline-EinstellungenTatsächliches Verhalten
10 Minuten / 24 StundenAlle 10 Minuten online validieren. Offline, maximal 24 Stunden nach der letzten erfolgreichen Prüfung fortfahren
10 Minuten / dauerhaft offlineVersucht immer noch alle 10 Minuten einen Heartbeat, aktualisiert die Erfolgsregeln und verwendet eine gültige Signatur, wenn nicht erreichbar.
0 / dauerhaft offlineMit einem gültigen Cache sind für den Start keine geplanten Anforderungen erforderlich. Bei der expliziten Validierung oder Aktualisierung wird weiterhin der Server kontaktiert
0 / 24 StundenKeine geplanten Heartbeats, aber der Cache läuft immer noch ab. Die App muss die Validierung planen; Durch die Deaktivierung von Heartbeats wird die Offline-Zugriffsdauer nicht verlängert.

Halten Sie die Offline-Zulage länger als das Heartbeat-Intervall. Bei stündlichen Heartbeats, aber nur 1 Minute offline, läuft die Signatur vor dem nächsten Heartbeat ab; Die App muss separat validiert werden.

Aktualisieren Richtlinienänderungen bestehende Lizenzen?

Ja. Beim Speichern synchronisiert der Server Geräte- oder Sitzlimits, Funktionen, Kontingente, Lizenzmodell, Wartung und Versionsgrenzen atomar mit allen verknüpften, nicht widerrufenen Lizenzen. Sie müssen die Richtlinie nicht mehr einzeln anwenden.

Die Synchronisierung bewahrt Laufzeittyp, Gültigkeitstage, Erstaktivierung, Ablauf, Kunde, Verbrauch und separate Wartungsverlängerung jeder Lizenz. Der Laufzeittyp der Richtlinie gilt nur für künftig ausgestellte Lizenzen und macht eine bestehende 30-Tage-Lizenz nicht unbefristet.

Wenn beim Wechsel zwischen Gerätebindung und Floating-Lizenz noch Geräte oder Sitzungen aktiv sind oder das neue Limit unter der aktuellen Belegung liegt, liefert das Speichern ACTIVE_DEVICES_CONFLICT, und weder die Richtlinie noch verknüpfte Lizenzen werden teilweise aktualisiert. Geben Sie die betroffenen Geräte frei und speichern Sie erneut.

Nach erfolgreichem Speichern übernehmen verknüpfte alte und neue Lizenzen die Regeln bei der nächsten erfolgreichen Aktivierung, Prüfung oder Heartbeat-Anfrage. Das SDK ersetzt den Cache durch die neue Signatur. Ein erneuter Aufruf mit demselben Idempotency-Key liefert weiterhin das ursprüngliche Ergebnis.

Ein Offline-Gerät verwendet weiterhin seine vorhandenen signierten Regeln. Durch die erneute Verbindung allein wird der Cache nicht aktualisiert; Eine Anfrage muss erfolgreich sein. Ihre App kann aktiv aktualisiert werden, wenn die Verbindung wiederhergestellt ist.

Richtlinie anwenden hat weiterhin einen Zweck.

Um ausgewählte Lizenzen auf eine andere Richtlinie zu verschieben, wählen Sie sie auf der Lizenzseite aus und prüfen die Änderung mit Richtlinie anwenden. Beim Bearbeiten ihrer aktuellen Richtlinie genügt Speichern für die automatische Synchronisierung.

Explizite Online-Aktualisierung

Diese Methoden testen immer den Server, auch bei dauerhafter Offline-Nutzung und deaktivierten Heartbeats. Bei Erfolg wird die Signatur aktualisiert. Ein Netzwerkfehler meldet einen Aktualisierungsfehler, behält aber einen ansonsten gültigen Cache bei. Durch einen ausdrücklichen Widerruf oder eine Freigabe wird es gelöscht.

SpracheSo rufen Sie an
Goclient.RefreshOnline(ctx)
Javaclient.refreshOnline()
Cln_refresh_online(client)
C++client.RefreshOnline()
C#await client.RefreshOnline()
Pythonclient.refresh_online()
JavaScriptawait client.refreshOnline()

Eine erfolgreiche Aktualisierung zählt als eine Aktivierungsanforderung API. Wenn eine Richtlinienänderung zuvor deaktivierte Heartbeats aktiviert, rufen Sie StartHeartbeat Ihrer Sprache auf, um mit der Planung zu beginnen. Offline-Geräte können keine Sperr- oder Release-Updates erhalten.