Auf dieser Seite wird beschrieben, wie Sie die Wiederherstellung zu einem bestimmten Zeitpunkt (Point-in-Time Recovery, PITR) verwenden, um FHIR-Ressourcen in einem FHIR-Speicher in einem Status innerhalb der letzten 21 Tage wiederherzustellen. Sie können die PITR verwenden, um unerwünschte Änderungen wie das versehentliche Löschen von FHIR-Ressourcen wiederherzustellen.
Hinweise
PITR-Anfragen werden als erweiterte Vorgangsanfragen kategorisiert und entsprechend abgerechnet. Prüfen Sie vor der Verwendung der Wiederherstellung zu einem bestimmten Zeitpunkt die Preise für Anfragen für erweiterte Vorgänge.
Versionsverlauf der PITR- und FHIR-Ressourcen
PITR hängt nicht vom Versionsverlauf der FHIR-Ressourcen ab.
Sie können die PITR weiterhin verwenden, wenn das Feld disableResourceVersioning
in einem FHIR-Speicher true
ist oder wenn die historischen Versionen einer FHIR-Ressource gelöscht wurden.
Wiederherstellungsworkflow
Damit eine Produktionswiederherstellung wie erwartet funktioniert, sollten Sie zuerst einen Probelauf durchführen. Der Probelauf gibt eine oder mehrere Dateien aus, die die IDs und Typen der wiederherzustellenden FHIR-Ressourcen enthalten. Überprüfen Sie die Ausgabedateien, bevor Sie die Wiederherstellung im production-Bereich noch einmal ausführen.
Geben Sie einen Filter an, um bestimmte Ressourcen oder Ressourcen gemäß einem Filterkriterium wiederherzustellen.
Probelauf durchführen
Führen Sie einen Probelauf durch, bevor Sie FHIR-Ressourcen in der Produktion wiederherstellen.
Die folgenden Beispiele zeigen, wie Sie einen Probelauf mit der Methode fhirStores.rollback
ausführen.
REST
Stellen Sie die FHIR-Ressourcen wieder her.
Für einen Probelauf muss das Feld
force
den Wertfalse
haben.Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
PROJECT_ID
ist die ID Ihres Google Cloud-ProjektsLOCATION
ist der Standort des DatasetsDATASET_ID
: das übergeordnete Dataset des FHIR-SpeichersFHIR_STORE_ID
: die FHIR-Speicher-IDRECOVERY_TIMESTAMP
: ein Wiederherstellungspunkt innerhalb der letzten 21 Tage. Verwenden Sie das Format RFC 3339. Geben Sie die Zeit bis auf die Sekunde an und fügen Sie eine Zeitzone hinzu, z. B.2015-02-07T13:28:17.239+02:00
oder2017-01-01T00:00:00Z
.CLOUD_STORAGE_BUCKET
: der voll qualifizierte URI zu einem Cloud Storage-Ordner oder -Bucket, in den Ausgabedateien geschrieben werden
JSON-Text anfordern:
{ "rollbackTime": "RECOVERY_TIMESTAMP", "resultGcsBucket": "gs://CLOUD_STORAGE_BUCKET", "force": "false" }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen
request.json
. Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:cat > request.json << 'EOF' { "rollbackTime": "RECOVERY_TIMESTAMP", "resultGcsBucket": "gs://CLOUD_STORAGE_BUCKET", "force": "false" } EOF
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:rollback"PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen
request.json
. Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:@' { "rollbackTime": "RECOVERY_TIMESTAMP", "resultGcsBucket": "gs://CLOUD_STORAGE_BUCKET", "force": "false" } '@ | Out-File -FilePath request.json -Encoding utf8
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:rollback" | Select-Object -Expand ContentAPIs Explorer
Kopieren Sie den Anfragetext und öffnen Sie die Referenzseite für Methoden. Der API Explorer wird rechts auf der Seite geöffnet. Sie können mit diesem Tool interagieren, um Anfragen zu senden. Fügen Sie den Anfragetext in dieses Tool ein, füllen Sie alle Pflichtfelder aus und klicken Sie auf Ausführen.
OPERATION_ID
. Sie benötigen diesen Wert im nächsten Schritt.Mit der Methode
projects.locations.datasets.operations.get
können Sie den Status des Vorgangs mit langer Ausführungszeit abrufen.Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
PROJECT_ID
: die ID Ihres Google Cloud-ProjektsDATASET_ID
: die Dataset-IDLOCATION
: der Standort des DatasetsOPERATION_ID
: die ID, die vom Vorgang mit langer Ausführungszeit zurückgegeben wurde
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Führen Sie folgenden Befehl aus:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"PowerShell
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand ContentAPIs Explorer
Öffnen Sie die Referenzseite für Methoden. Der API Explorer wird rechts auf der Seite geöffnet. Sie können mit diesem Tool interagieren, um Anfragen zu senden. Füllen Sie die Pflichtfelder aus und klicken Sie auf Ausführen.
"done": true
enthält, ist der lang andauernde Vorgang abgeschlossen.
Probelauf-Ausgabedateien ansehen
Bei jedem Probelauf wird eine oder mehrere Dateien ausgegeben, die die IDs und Typen der wiederherzustellenden FHIR-Ressourcen enthalten. Die Dateien werden in einem Unterordner im Ordner rollback_resources
des Cloud Storage-Ziel-Buckets erstellt. Der Name des Unterordners ist die LRO-ID, die in der fhirStores.rollback
-Antwort zurückgegeben wird. Informationen zum Aufrufen der Dateien und Prüfen, ob die Wiederherstellung wie erwartet funktioniert, finden Sie unter Objektmetadaten ansehen.
Die Anzahl der Dateien ist proportional zur Anzahl der wiederhergestellten FHIR-Ressourcen.
Dateinamen haben das Format trial-NUMBER-of-TOTAL_NUMBER.txt
, wobei NUMBER
die Dateinummer und TOTAL_NUMBER
die Gesamtzahl der Dateien ist.
Ausgabedateischema für Probelauf
Die Ausgabedateien einer Probelaufwiederherstellung verwenden das in der folgenden Tabelle gezeigte Schema:
RESOURCE_TYPE |
RESOURCE_ID |
TIMESTAMP |
---|---|---|
Der FHIR-Ressourcentyp. | Die FHIR-Ressourcen-ID. | Der Zeitpunkt, zu dem die FHIR-Ressource im FHIR-Speicher erstellt oder aktualisiert wurde. |
In Produktion wiederherstellen
Führen Sie vor der Wiederherstellung in der Produktion einen Probelauf durch und prüfen Sie die Ausgabedateien für den Probelauf, um sicherzustellen, dass die Produktionswiederherstellung wie erwartet erfolgt.
Die folgenden Beispiele zeigen, wie FHIR-Ressourcen in der Produktion mit der Methode fhirStores.rollback
wiederhergestellt werden.
REST
Stellen Sie die FHIR-Ressourcen wieder her.
Das Feld
force
muss auftrue
gesetzt sein.Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
PROJECT_ID
ist die ID Ihres Google Cloud-ProjektsLOCATION
ist der Standort des DatasetsDATASET_ID
: das übergeordnete Dataset des FHIR-SpeichersFHIR_STORE_ID
: die FHIR-Speicher-IDRECOVERY_TIMESTAMP
: ein Wiederherstellungspunkt innerhalb der letzten 21 Tage. Verwenden Sie das Format RFC 3339. Geben Sie die Zeit bis auf die Sekunde an und fügen Sie eine Zeitzone hinzu, z. B.2015-02-07T13:28:17.239+02:00
oder2017-01-01T00:00:00Z
.CLOUD_STORAGE_BUCKET
: der voll qualifizierte URI zu einem Cloud Storage-Ordner oder -Bucket, in den Ausgabedateien geschrieben werden
JSON-Text anfordern:
{ "rollbackTime": "RECOVERY_TIMESTAMP", "resultGcsBucket": "gs://CLOUD_STORAGE_BUCKET", "force": "true" }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen
request.json
. Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:cat > request.json << 'EOF' { "rollbackTime": "RECOVERY_TIMESTAMP", "resultGcsBucket": "gs://CLOUD_STORAGE_BUCKET", "force": "true" } EOF
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:rollback"PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen
request.json
. Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:@' { "rollbackTime": "RECOVERY_TIMESTAMP", "resultGcsBucket": "gs://CLOUD_STORAGE_BUCKET", "force": "true" } '@ | Out-File -FilePath request.json -Encoding utf8
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:rollback" | Select-Object -Expand ContentAPIs Explorer
Kopieren Sie den Anfragetext und öffnen Sie die Referenzseite für Methoden. Der API Explorer wird rechts auf der Seite geöffnet. Sie können mit diesem Tool interagieren, um Anfragen zu senden. Fügen Sie den Anfragetext in dieses Tool ein, füllen Sie alle Pflichtfelder aus und klicken Sie auf Ausführen.
OPERATION_ID
. Sie benötigen diesen Wert im nächsten Schritt.Mit der Methode
projects.locations.datasets.operations.get
können Sie den Status des Vorgangs mit langer Ausführungszeit abrufen.Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
PROJECT_ID
: die ID Ihres Google Cloud-ProjektsDATASET_ID
: die Dataset-IDLOCATION
: der Standort des DatasetsOPERATION_ID
: die ID, die vom Vorgang mit langer Ausführungszeit zurückgegeben wurde
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Führen Sie folgenden Befehl aus:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"PowerShell
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand ContentAPIs Explorer
Öffnen Sie die Referenzseite für Methoden. Der API Explorer wird rechts auf der Seite geöffnet. Sie können mit diesem Tool interagieren, um Anfragen zu senden. Füllen Sie die Pflichtfelder aus und klicken Sie auf Ausführen.
"done": true
enthält, ist der lang andauernde Vorgang abgeschlossen.
Ausgabedateien für die Produktionswiederherstellung ansehen
Bei einer Produktionswiederherstellung werden die folgenden Dateien ausgegeben. Die Dateien werden in einem Unterordner im Ordner rollback_resources
des Cloud Storage-Ziel-Buckets erstellt. Der Name des Unterordners ist die LRO-ID, die in der fhirStores.rollback
-Antwort zurückgegeben wird. Informationen zum Ansehen der Dateien finden Sie unter Objektmetadaten ansehen.
success-NUMBER-of-TOTAL_NUMBER.txt
: Enthält erfolgreich wiederhergestellte FHIR-Ressourcen.fail-NUMBER-of-TOTAL_NUMBER.txt
: Enthält FHIR-Ressourcen, die nicht wiederhergestellt werden konnten. Eine leere Datei wird auch dann generiert, wenn keine Fehler auftreten.
In den Dateinamen ist NUMBER
die Dateinummer und TOTAL_NUMBER
die Gesamtzahl der Dateien.
Dateischema für Produktionsausgabe
Die Erfolgs- und Fehlerdateien aus einer Produktionswiederherstellung verwenden das folgende Schema. Fehlerdateien enthalten eine zusätzliche ERROR_MESSAGE
-Spalte.
RESOURCE_TYPE |
RESOURCE_ID |
ROLLBACK_VERSION_ID |
NEW_VERSION_ID |
ERROR_MESSAGE (nur Fehlerdateien) |
---|---|---|---|---|
Der FHIR-Ressourcentyp. | Die FHIR-Ressourcen-ID. | Die aktuelle Versions-ID der Ressource zu Beginn der Wiederherstellung. | Die aktuelle Versions-ID der Ressource nach der Wiederherstellung. Wenn disableResourceVersioning true ist oder wenn die Wiederherstellung einer Ressource die Ressource löschen würde, sind ROLLBACK_VERSION_ID und NEW_VERSION_ID leer. |
Nur Fehlerdateien. Beschreibt, warum die wiederherzustellende FHIR-Ressource eingereicht wurde. |
Filter verwenden, um bestimmte FHIR-Ressourcen wiederherzustellen
In den folgenden Abschnitten wird beschrieben, wie Sie Filter verwenden, um FHIR-Ressourcen anhand von Filterkriterien wiederherzustellen.
Die Filter geben Sie im Objekt RollbackFhirResourceFilteringFields
an, wenn Sie eine fhirStores.rollback
-Anfrage senden.
Sie können Filter kombinieren oder einzeln für mehrere Anwendungsfälle verwenden, darunter:
- Wiederherstellen bestimmter FHIR-Ressourcen nach versehentlichem Löschen, während andere unverändert bleiben
- Einen FHIR-Speicher in einem Zustand wiederherstellen, der vor dem Import bestimmter FHIR-Ressourcen durch einen bestimmten Importvorgang zurückliegt.
Filterdatei verwenden
Standardmäßig stellt die PITR alle FHIR-Ressourcen in einem FHIR-Speicher wieder her. Wenn Sie bestimmte FHIR-Ressourcen wiederherstellen möchten, geben Sie die Ressourcentypen und ihre Ressourcen-IDs in einer Datei an und laden Sie die Datei dann in Cloud Storage hoch. Geben Sie den Speicherort der Datei im Feld inputGcsObject
an.
Zum Lesen einer Filterdatei aus Cloud Storage müssen Sie dem Dienstkonto Cloud Healthcare Service Agent Berechtigungen erteilen. Weitere Informationen finden Sie unter Filterdateien aus Cloud Storage lesen.
Die Filterdatei kann eine beliebige Endung haben. Er muss das folgende Schema mit einer FHIR-Ressource pro Zeile verwenden:
FHIR_RESOURCE_TYPE/FHIR_RESOURCE_ID
Wenn Sie beispielsweise eine Patientenressource mit der ID 8f25b0ac
und zwei Beobachtungsressourcen mit den IDs d507417e90e
und e9950d90e
wiederherstellen möchten, geben Sie in der Filterdatei Folgendes an:
Patient/8f25b0ac
Observation/d507417e90e
Observation/e9950d90e
Benutzerdefinierte Funktionen verwenden
Die Cloud Healthcare API bietet die folgenden benutzerdefinierten Filterfunktionen.
Sie können die benutzerdefinierten Funktionen mit dem Feld rollbackTime
kombinieren, um einen zusätzlichen Filter anzuwenden.
tag
Details Funktionssyntax tag("system") = "code"
Beschreibung Filtert FHIR-Ressourcen anhand des RessourcenelementsMeta.tag
.Argumente system
string
Eine URL, die auf ein Codesystem verweist. Weitere Informationen finden Sie unter Codes in Ressourcen verwenden.code
string
Ein Wert, der ein vom Codesystem definiertes Konzept identifiziert. Weitere Informationen finden Sie unter Codes in Ressourcen verwenden.
extension_value_ts
Details Funktionssyntax extension_value_ts("url")
Beschreibung Filtert FHIR-Ressourcen basierend auf dem Werturl
in einemextension
-Element, wobeiurl
ein Unix-Zeitstempel ist. Unterstützt die folgenden Vergleichsoperatoren:=
!=
<
>
<=
>=
Argumente url
string
Die kanonische URL einer StructureDefinition-Ressource, die eine Erweiterung definiert. Im folgendenextension
-Element ist derurl
beispielsweisehttp://hl7.org/fhir/StructureDefinition/timezone
:"extension" : [{ "url" : "http://hl7.org/fhir/StructureDefinition/timezone", "valueCode" : "America/New_York" }]
Weitere Informationen finden Sie unter Definieren von Erweiterungen.
Nach FHIR-Ressourcentyp filtern
Wenn Sie FHIR-Ressourcen nur anhand des Ressourcentyps filtern möchten, geben Sie die Ressourcentypen im Array types[]
an.
Nach Vorgangstyp filtern
Geben Sie einen Wert im Enum ChangeType
an, um nach FHIR-Ressourcen zu filtern, die durch eine CREATE
-, UPDATE
- oder DELETE
-Transaktion geändert wurden.
Wenn Sie beispielsweise nur gelöschte FHIR-Ressourcen wiederherstellen möchten, geben Sie den Wert DELETE
an.
Wenn Sie CHANGE_TYPE_UNSPECIFIED
, ALL
oder keinen Wert angeben, werden alle FHIR-Ressourcen wiederhergestellt.
Frühere Wiederherstellungen ausschließen
Um frühere Wiederherstellungen beim Wiederherstellen von FHIR-Ressourcen auszuschließen, legen Sie das Feld excludeRollbacks
auf true
fest. Sie können frühere Wiederherstellungen ausschließen, wenn die Wiederherstellungen korrekt funktioniert haben und Sie die Änderungen nicht überschreiben möchten.
Sie können auch mehrere Wiederherstellungen mit sich überschneidenden Zeitstempeln ausführen.
Stellen Sie sich folgendes Szenario vor:
- Um
1:00
starten Sie eine Wiederherstellung, wobei der Zeitstempel der Wiederherstellung auf0:01
gesetzt ist. Bei2:00
werden durch den Wiederherstellungsvorgang die PatientenressourcenPatient/1
undPatient/2
im FHIR-Speicher gelöscht. Die Wiederherstellung endet um3:00
. Einige Tage später führen Sie einen Wiederherstellungsvorgang mit dem Zeitstempel
1:00
aus. Standardmäßig führt das Ausführen des Vorgangs zu Folgendem:- Die Patientenressourcen
Patient/1
undPatient/2
wurden falsch neu erstellt. - Korrekte Wiederherstellung von FHIR-Ressourcen, die nach
3:00
erstellt oder aktualisiert wurden.
- Die Patientenressourcen
Wenn Sie den ersten Wiederherstellungsvorgang ausschließen möchten, durch den die Patientenressourcen Patient/1
und Patient/2
gelöscht wurden, und sie nicht neu erstellen möchten, legen Sie excludeRollbacks
auf true
fest.
Nach IDs für Vorgänge mit langer Ausführungszeit filtern
Wenn FHIR-Ressourcen durch einen oder mehrere Vorgänge mit langer Ausführungszeit geändert wurden, können Sie die LRO-IDs im Feld operationIds
angeben, um die geänderten Ressourcen wiederherzustellen.
Weitere Informationen zum Auflisten und Anzeigen von LRO-IDs in einem Cloud Healthcare API-Dataset finden Sie unter LROs auflisten.
FHIR-Ressourcen wiederholen, die in der Produktion nicht wiederhergestellt werden konnten
Wenn einige FHIR-Ressourcen eine Produktionswiederherstellung fehlgeschlagen sind, können Sie die Wiederherstellung wiederholen. Verwenden Sie die generierte Produktionsausgabedatei, um die fehlerhaften FHIR-Ressourcen zu finden. Geben Sie die Typen dieser FHIR-Ressourcen und ihre IDs in einer Filterdatei an und führen Sie die Wiederherstellung noch einmal aus.
Jedes Mal, wenn Sie eine Wiederherstellung ausführen, ist die Wiederherstellung idempotent, wenn Sie in jeder Anfrage dieselbe Konfiguration verwenden und der Zeitstempel innerhalb der letzten 21 Tage liegt.
Beschränkungen
Die PITR erzwingt keine referenzielle Integrität, unabhängig von der Einstellung
disableReferentialIntegrity
im FHIR-Speicher. Wenn nur einige FHIR-Ressourcen wiederhergestellt werden, kann der FHIR-Speicher in einem Status belassen werden, der gegen die referenzielle Integrität verstößt.Die PITR überspringt die FHIR-Profilvalidierung, da die wiederhergestellten FHIR-Ressourcen beim Erstellen oder Aktualisieren validiert wurden. Wenn sich die Konfiguration des FHIR-Speicherprofils geändert hat, belässt die PITR den FHIR-Speicher möglicherweise in einem Status, der gegen die Profilvalidierung verstößt.
Wenn der Wert von
rollbackTime
vor dem Zeitpunkt liegt, an dem eine FHIR-Ressource im FHIR-Speicher gelöscht wurde, muss für den FHIR-SpeicherenableUpdateCreate
aktiviert sein. Andernfalls wird die Ressource nicht wiederhergestellt.Sie können während einer Wiederherstellung einen FHIR-Speicher aktualisieren oder Daten lesen und schreiben. Je nach Wiederherstellungsphase können jedoch unerwartete Ergebnisse angezeigt werden. Eine Leseanfrage kann beispielsweise eine Kombination aus wiederhergestellten und nicht wiederhergestellten FHIR-Ressourcen zurückgeben. Wenn Sie eine Ressource aktualisieren, wird die Aktualisierung möglicherweise durch die Wiederherstellung überschrieben.
PITR speichert den FHIR-Ressourcenverlauf. Jede wiederhergestellte Ressource erhält eine neue aktuelle Version und ihr Verlauf wird beibehalten.