Freigeben über


Metadatenanforderungen für Standardanbieter

In Sync Framework ist für jedes Replikat und jedes zu synchronisierende Element ein bestimmter Satz von Metadaten erforderlich.

Erforderliche Metadaten für jedes Replikat

In jedem Replikat muss der in der folgenden Tabelle aufgeführte Satz von Metadaten gespeichert werden.

Metadatenelement Beschreibung

Replikat-ID

Der eindeutige Bezeichner eines Replikats in einer Synchronisierungscommunity. Obwohl die Replikat-ID flexibel ist und daher durch das Schema für die Community definiert werden kann, wird eine 16-Byte-GUID empfohlen. Das Format einer Replikat-ID, die an eine globalId-Methode übergeben wird, muss mit dem vom Anbieter angegebenen Format übereinstimmen.

Verwalteter Code Das Format wird durch die ReplicaIdFormat-Eigenschaft der SyncIdFormatGroup-Klasse angegeben. Die ID wird durch die SyncId-Klasse dargestellt.

Nicht verwalteter Code Das Format wird durch das replicaId-Feld der ID_PARAMETERS-Struktur-Struktur angegeben. Die ID wird durch die SYNC_ID-Struktur dargestellt.

Aktuelle Taktanzahl

Die aktuelle Taktanzahl für das Replikat. Beachten Sie, dass es sich hierbei um eine konzeptionelle Zahl handelt, die aus der letzten lokalen Version im Wissen für jedes Element oder einem anderen monoton steigenden, für das Replikat verfügbaren Wert abgeleitet werden kann. Beispielsweise kann ein Replikat die aktuelle Uhrzeit verwenden, solange verhindert wird, dass dieser Wert zurückgesetzt wird.

Verwalteter Code Dargestellt durch eine UInt64.

Nicht verwalteter Code Dargestellt durch eine ULONGLONG.

Replikatschlüsselmapping

Ein Mapping zwischen Replikat-IDs und 4-Byte-Schlüsseln. Wegen des wiederholten Auftretens von Replikat-IDs in den Metadaten (idealerweise 16-Byte-GUIDs) ist es effizienter, die IDs mithilfe einer Tabelle darzustellen, in der die Replikat-IDs 4-Byte-Schlüsseln zugeordnet sind. Diese Schlüssel werden dann an anderer Stelle verwendet, wenn Verweise auf bestimmte Replikate erforderlich sind.

Verwalteter Code Dargestellt durch ReplicaKeyMap.

Nicht verwalteter Code Dargestellt durch IReplicaKeyMap.

Aktuelles Wissen

Die Zusammenfassung der Versionsinformationen, die dem Replikat für den angegebenen Bereich bekannt sind. Replikatwissen wird durch die Metadatendienste bearbeitet und sollte nicht direkt bearbeitet werden.

Verwalteter Code Dargestellt durch SyncKnowledge.

Nicht verwalteter Code Dargestellt durch ISyncKnowledge.

Vergessenes Wissen

Ermöglicht einem Replikat zu ermitteln, dass ein Partnerreplikat kein Wissen über gelöschte Elemente besitzt. Dies kann auftreten, wenn die Tombstones für diese Elemente bereinigt wurden. Vergessenes Wissen wird durch die Metadatendienste bearbeitet.

Verwalteter Code Dargestellt durch ForgottenKnowledge.

Nicht verwalteter Code Dargestellt durch IForgottenKnowledge.

Konfliktprotokoll

Ein Protokoll von Konflikten, die nach der Änderungsenumeration erkannt und nicht gelöst wurden. Für Replikate muss nur dann ein Konfliktprotokoll geführt werden, wenn Konflikte während der Synchronisierung gespeichert werden. Die Darstellung eines Konfliktprotokolls wird durch das Replikat bestimmt. Sync Framework muss nicht auf dieses Protokoll zugreifen können. Wenn jedoch ein Änderungsanwender verwendet wird, kann Sync Framework bei der Verwaltung des Konfliktprotokolls hilfreich sein. Weitere Informationen finden Sie unter Protokollieren und Verwalten von Konflikten.

Tombstoneprotokoll

Speichert Informationen über die Löschung von Elementen aus einem Replikat, sodass Löschänderungen in den Synchronisierungscommunitys ordnungsgemäß weitergegeben und gelöschte Elemente nicht versehentlich wiedereingeführt werden. Für Replikate muss ein Tombstoneprotokoll geführt werden. Die Darstellung eines Tombstoneprotokolls wird durch das Replikat bestimmt. Sync Framework muss nicht auf dieses Protokoll zugreifen können. Weitere Informationen finden Sie unter Verwalten von Tombstones.

Erforderliche Metadaten für jedes Element

Jedes zu synchronisierende Element muss über den in der folgenden Tabelle aufgeführten Satz von Metadaten verfügen.

Metadatenelement Beschreibung

Globale ID

Ein Bezeichner für ein in einem Replikat gespeichertes Element. Da das Replikat für das Generieren der globalen IDs verantwortlich ist, kann es globale IDs für eine effizientere Enumeration zuordnen. Beispielsweise kann als Format der globalen ID für eine Community eine GUID mit einem 8-Byte-Präfix festgelegt werden. Mit dem Präfix kann dann die Sortierreihenfolge der globalen IDs gesteuert werden. Dadurch können Anbieter einfacher Bereiche zum Auflisten von Änderungen verwenden, und da ein Bereich eine große Anzahl an Elementen enthalten kann, ist die Wissensstruktur kompakter, wenn Elemente als geordnete Gruppen dargestellt werden. Weitere Informationen zu globalen ID-Formaten finden Sie unter Flexible IDs.

Verwalteter Code Das Format wird durch die ItemIdFormat-Eigenschaft der SyncIdFormatGroup-Klasse angegeben. Die ID wird durch die SyncId-Klasse dargestellt.

Nicht verwalteter Code Das Format wird durch das itemId-Feld der ID_PARAMETERS-Struktur-Struktur angegeben. Die ID wird durch die SYNC_ID-Struktur dargestellt.

Aktuelle Version

Die letzte aktualisierte Version für ein bestimmtes Element. Die aktuelle Version enthält den Schlüssel des Replikats, von dem das Element zuletzt aktualisiert wurde, sowie die Taktanzahl des Replikats zum Zeitpunkt der Änderung.

Diese Version wird pro Änderungseinheit gespeichert, wenn ein Element Änderungseinheiten verwendet. Beispielsweise kann ein Kontakt über unterschiedliche Versionsnummern der Änderungseinheiten für die Felder für Adresse und Telefonnummer verfügen.

Verwalteter Code Dargestellt durch SyncVersion.

Nicht verwalteter Code Dargestellt durch SYNC_VERSION.

Erstellungsversion

Die Version zum Zeitpunkt der Erstellung des Elements. Die Erstellungsversion enthält den Schlüssel des Replikats, von dem das Element erstellt wurde, sowie die Taktanzahl des Replikats zum Zeitpunkt der Erstellung des Elements.

Verwalteter Code Dargestellt durch SyncVersion.

Nicht verwalteter Code Dargestellt durch SYNC_VERSION.

Speicheranforderungen

Da das Format der globalen ID vom Replikat bestimmt wird, variiert der Speicherbedarf für Metadaten bei den einzelnen Elementen. Wenn dagegen das empfohlene Format einer GUID mit einem 8-Byte-Präfix verwendet wird, beträgt die Gesamtmenge an erforderlichem Speicher 48 Bytes, wie in der folgenden Tabelle gezeigt wird.

Element Bytes

Globale ID

24 (GUID + 8-Byte-Präfix)

Aktuelle Version

12 (4-Byte-Replikatschlüssel + 8-Byte-Taktanzahl)

Erstellungsversion

12 (4-Byte-Replikatschlüssel + 8-Byte-Taktanzahl)

48 Bytes insgesamt

Metadaten für Einschränkungskonflikte

Wenn Einschränkungskonflikte durch das Zusammenführen der in Konflikt stehenden Elemente aufgelöst werden, sind für die zusammengeführten Elemente zusätzliche Metadaten erforderlich. Weitere Informationen finden Sie unter Erkennen und Auflösen von Einschränkungskonflikten.

Metadaten für benutzerdefinierte Filter

Wenn benutzerdefinierte Filter verwendet werden, sind für jedes Replikat und jedes Element zusätzliche Metadaten erforderlich. Weitere Informationen finden Sie unter Filtern von Synchronisierungsdaten.

Siehe auch

Verweis

IReplicaKeyMap-Schnittstelle
SYNC_ID-Struktur
SYNC_GID-Struktur
SYNC_VERSION-Struktur
ReplicaKeyMap
SyncId
SyncGlobalId
SyncIdFormat
SyncIdFormatGroup
SyncVersion

Konzepte

Verwalten von Metadaten für Standardanbieter
Synchronisierungswissen
Flexible IDs
Synchronisierungsversionen
Verwalten von Tombstones