Synchronisation déconnectée

Cette rubrique concerne exclusivement ArcEditor et ArcInfo.

La synchronisation déconnectée est effectuée dans un environnement déconnecté.

Dans le cas de réplicas dans un environnement déconnecté, l'utilisateur doit effectuer manuellement l'échange de messages pour la synchronisation. Cette opération consiste à exporter un message d'un réplica vers un fichier, puis à importer le message depuis ce fichier vers le réplica associé. Dans les systèmes déconnectés, les fichiers peuvent être transférés sur des supports tels que des CD ou des DVD et envoyés par la poste, via un transporteur privé, etc.

Un réplica peut être à tout moment expéditeur ou destinataire des données. Pour savoir si un réplica est expéditeur ou destinataire des données, reportez-vous à la rubrique Présentation rapide de la gestion des réplicas. Un expéditeur de données exporte des messages de mouvements de données vers des fichiers de deltas contenant des mouvements à appliquer au réplica associé. Un destinataire de données exporte des messages d'accusé de réception vers les fichiers d'accusé de réception pour confirmer les informations qu'il a reçues.

Il est important que le destinataire des données exporte des messages d'accusé de réception aussi souvent que possible. Si aucun message d'accusé de réception n'est reçu, l'expéditeur des données renvoie les mouvements et conserve les informations requises pour les renvoyer jusqu'à ce que la réception de ces mouvements soit confirmée. De ce fait, la taille de la géodatabase de l'expéditeur des données peut augmenter et les nouveaux messages de mouvements de données peuvent également devenir volumineux.

Bien que déconseillée, la meilleure méthode consiste à ce que le destinataire des données envoie un message d'accusé de réception après avoir reçu chaque message de mouvements de données. Il est également important de noter qu'un message d'accusé de réception peut confirmer la réception de tous les messages de mouvement de données. Par exemple, si un réplica reçoit trois messages de mouvements de données et importe chacun d'entre eux, il peut envoyer un seul message d'accusé de réception pour confirmer la réception des trois messages.

Dans l'exemple suivant, le réplica parent envoie des mouvements au réplica enfant, puis reçoit un message d'accusé de réception de l'enfant. Ici, le parent est l'expéditeur des données et l'enfant le destinataire de ces données.

sync_disconnected1

L'expéditeur et le destinataire des données peuvent également changer de rôle. Le changement est effectué par l'expéditeur des données lorsqu'il envoie un dernier message de mouvements de données contenant les instructions requises. Lorsque le message a été importé par le destinataire des données, les rôles sont inversés et le système est prêt à envoyer des données dans l'autre direction.

Dans le diagramme suivant, le réplica parent envoie un message de mouvements de données contenant les instructions permettant d'inverser les rôles. Lorsque le réplica parent exporte le message, il devient le destinataire des données. Quand l'enfant reçoit le message, il devient l'expéditeur des données. Le réplica enfant envoie alors un message de mouvements de données au parent.

sync_disconnected2

Le type de réplica définit l'échange des messages. Les réplicas bidirectionnels utilisent des messages de mouvements de données et d'accusé de réception et permettent d'inverser les rôles. Dans le cas des réplicas monodirectionnels, le parent est toujours l'expéditeur des données et il ne peut pas changer de rôle ; néanmoins, il est important que l'enfant envoie des messages d'accusé de réception. Pour les réplicas d'extraction, l'enfant est toujours l'expéditeur des données et aucun message d'accusé de réception n'est nécessaire.

L'exemple ci-dessus décrit un modèle élémentaire d'échange de messages dans lequel les messages sont échangés entre le réplica parent et le réplica enfant. Si vous conservez ce modèle, le système fonctionnera correctement et se corrigera lui-même si des messages sont perdus. Cependant, vous pouvez également être amené à utiliser les scénarios d'échange de messages spécifiques suivants.

Renvoi de messages sans accusé de réception

Le système permet également aux réplicas de renvoyer des mouvements de données sans accusé de réception. Vous pouvez effectuer cette opération si, en tant qu'expéditeur des données, vous savez ou pensez qu'un message de mouvement de données précédent a été perdu et doit être renvoyé. Vous pouvez également attendre le prochain envoi de mouvements de données, car ceux-ci comprennent par défaut les nouveaux mouvements et les mouvements sans accusé de réception, le cas échéant.

Dans le diagramme suivant, vous devez renvoyer des mouvements de données sans accusé de réception. Ici, le parent envoie un message de mouvements de données et passe du rôle d'expéditeur à celui de destinataire. Cependant, le message se perd et le parent et l'enfant demeurent destinataires des données. Pour résoudre ce problème, le destinataire des données qui vient de changer de rôle dispose d'une option de réexportation des messages sans accusé de réception. Dans ce cas, elle permet au parent de renvoyer le message afin de passer du rôle de parent à celui d'enfant.

sync_disconnected4

Accusé de réception des mouvements après inversion des rôles

Lorsque les rôles ont été inversés, l'option d'exportation d'un message d'accusé de réception est disponible pour que l'expéditeur des données puisse confirmer la réception du message de changement de rôle. Il est également possible d'envoyer un message de mouvement de données car la réception du message de changement de rôle est alors implicitement confirmée. Toutefois, si vous n'envisagez pas d'envoyer un message de mouvements de données dans un futur proche, vous pouvez envoyer un message d'accusé de réception.

Dans le diagramme ci-dessous, le parent envoie un message de mouvements de données permettant d'inverser les rôles. Lorsque l'enfant reçoit le message, il devient un expéditeur de données mais son rôle venant juste d'être inversé, le système lui permet encore d'envoyer un message d'accusé de réception.

sync_disconnected3

Inversement des rôles sans envoi de mouvements de données

Il est possible d'envoyer un message de mouvements de données contenant les instructions permettant d'inverser les rôles sans mouvement de données. Vous pouvez effectuer cette opération si, en tant qu'expéditeur des données, vous devez recevoir des changements de la part du destinataire, mais que vous n'êtes pas prêt à envoyer des mouvements de données. Reportez-vous à la rubrique Exportation d'un message de mouvement de données pour plus d'informations sur l'envoi d'un message pour basculer des rôles sans envoyer de données.

Accusé de réception verbal

Lors de l'envoi de mouvements de données, tous les nouveaux mouvements de données et mouvements de données sans accusé de réception sont envoyés par défaut. Les nouveaux mouvements de données comprennent toutes les insertions, mises à jour et suppressions effectuées dans la version du réplica depuis que le dernier message de mouvement de données a été export. Les mouvements de données sans accusé de réception incluent les mouvements exportés précédemment pour lesquels vous n'avez pas reçu d'accusé de réception. Si vous avez envoyé plusieurs messages de mouvements de données pour lesquels vous n'avez pas reçu d'accusé de réception, la taille des messages peut devenir importante.

La meilleure solution nécessite que le destinataire des données envoie un message d'accusé de réception. Cependant, cette méthode peut se révéler difficile en fonction du système de communication.

Une autre solution consiste à utiliser un accusé de réception verbal. Dans ce cas, l'expéditeur reçoit un accusé de réception verbal de la personne responsable du destinataire des données à l'origine des mouvements qui ont été reçus. Vous pouvez utiliser le gestionnaire de réplicas pour déterminer les mouvements envoyés et reçus par un réplica. L'expéditeur des données envoie ensuite uniquement les nouveaux mouvements. Ces mouvements peuvent être importés par le destinataire des données, à condition que les mouvements envoyés précédemment aient bien été reçus. Si le système détecte que les mouvements envoyés précédemment n'ont pas été importés, il génère une erreur. Si plusieurs messages de mouvements de données sont envoyés simultanément, ils doivent être importés dans l'ordre approprié. Le système génère une erreur si vous essayez de les importer dans un ordre incorrect.

Lorsque des erreurs se produisent, des messages d'erreur s'affichent. Cependant, si vous utilisez un système automatisé, vous risquez de ne pas visualiser les erreurs. Dans ce cas, vous pouvez utiliser le journal de l'activité du réplica pour détecter si des erreurs se sont produites pendant la synchronisation. Le journal fournit également des instructions permettant de corriger les erreurs le cas échéant.

Il est important de noter qu'un accusé de réception verbal est différent d'un message d'accusé de réception, même s'il affiche des messages plus réduits. L'importation de messages d'accusé de réception est la seule façon pour le système de sélectionner les versions nécessaires au renvoi des mouvements d'un réplica. Ces versions système peuvent perturber la compression dans le temps et augmenter considérablement la taille de la géodatabase de l'expéditeur. Pour cette raison, il est important d'envoyer régulièrement des messages d'accusé de réception même si vous utilisez des accusés de réception verbaux.

Rubriques associées


3/6/2012