Rubrique précédente: ItemReconciliationRubrique suivante: ReconfigDetectionAttr


MatchAlgorithms

Le rapprochement de composants et le rapprochement d'éléments utilisent des algorithmes de correspondance. Deux algorithmes de correspondance sont pris en charge :

L'algorithme comprend une priorité de correspondance utilisée lorsque plusieurs algorithmes sont fournis à une famille de mesures. L'ordre des algorithmes détermine leur priorité. L'algorithme au début de la liste a la priorité la plus élevée. L'algorithme situé en fin de liste la priorité la plus basse.

Chaque algorithme doit avoir un attribut correspondant au minimum. Lorsque les données renvoient des correspondances à plusieurs éléments avec le même algorithme, l'élément obtenant le plus de correspondances est sélectionné. Lorsque plusieurs éléments renvoient le même nombre de correspondances d'attributs, l'un d'entre eux est sélectionné au hasard.

Exemples : Fonctionnement du rapprochement

Deux algorithmes de correspondance sont fournis pour une famille de mesures : alg1 et alg2. L'algorithme alg1 a une priorité plus élevée que alg2. La famille de mesures comprend trois éléments de composant : 1, 2 et 3. La redétection appliquée à la famille de mesures renvoie trois entrées : A, B et C. Les deux algorithmes sont appliqués pour déterminer la nouvelle entrée, l'entrée modifiée et l'entrée inchangée.

   Métadonnées de rapprochement                   Nouvelles données          Composants existants
<ComponentReconciliation>                        A                    1
  <MatchAlgorithms>                              B                    2
    <MatchAlgorithm1>                            C                    3
      <MatchAttribute name="attr1"/>
      <MatchAttribute name="attr2"/>
    </MatchAlgorithm1>

    <MatchAlgorithm2>
      <MatchAttribute name="attr1"/>
      <MatchAttribute name="attr3"/>
      <MatchAttribute name="attr4"/>
    </MatchAlgorithm2>

  </MatchAlgorithms>
</ComponentReconciliation>

<MatchAlgorithm1> et <MatchAlgorithm2> peuvent être <ExactMatch> ou <BestOfMatch>. L'ordre des deux algorithmes de correspondance indique que MatchAlgorithm1 a une priorité plus élevée que MatchAlgorithm2.

Cas numéro 1 : correspondance unique

L'entrée A correspond à l'élément 1 et l'élément 1 n'a aucune autre correspondance.

A -----> 1

Cet exemple représente le cas le plus simple. Cette correspondance étant unique, la correspondance pour l'algorithme alg1 ou alg2 importe peu. L'entrée A correspond à l'élément 1.

Un bon algorithme de correspondance renvoie plusieurs correspondances uniques.

Cas numéro 2 : une entrée a plusieurs correspondances

L'entrée A correspond à l'élément 1 selon l'algorithme alg1 et correspond également à l'élément 2 selon l'algorithme alg2.

           ---> 1 (alg1)  (l'élément 1 est sélectionné)
      /
    A                         L'algorithme alg1 ayant une priorité plus élevée, l'élément 1 est sélectionné.
      \
           ---> 2 (alg2)
Cas numéro 3 : correspondance de plusieurs entrées au même élément avec des algorithmes différents

L'entrée A correspond à l'élément 1 selon l'algorithme alg1 et l'entrée B correspond également à l'élément 1 selon l'algorithme alg2.

A ------> 1 (alg1)  (A est sélectionné)
B ------> 1 (alg2)

L'algorithme alg1 ayant une priorité plus élevée, l'entrée A est sélectionnée.

Cas numéro 4 : correspondance de plusieurs entrées au même élément avec le même algorithme, mais un nombre d'attributs correspondants différent

A et B correspondent à 1 selon l'algorithme alg1.

A ------> 1 (alg1, nombre d'attributs correspondants : 2) (A est sélectionné)
B ------> 1 (alg1, nombre d'attributs correspondants : 1)

L'entrée A ayant plusieurs attributs correspondants, elle est sélectionnée.

Si le nombre d'attributs correspondants est identique, l'entrée est aléatoirement sélectionnée et un avertissement est renvoyé.

Cas numéro 5 : correspondance mixte 1
 alg1
  A ------------------------------------> 1
    / alg2 (nombre d'attributs correspondants : 3)
  B
    / alg2 (nombre d'attributs correspondants : 2)
           --------------------------------> 2

L'entrée A correspond à 1, car la correspondance est établie avec un algorithme de priorité plus élevée.

L'entrée B correspond à 2, car 1 a renvoyé une correspondance à A.

Cas numéro 6 : correspondance mixte 2
	   ---------> 3
    /  alg1
  A                ==> A correspond à 3, car l'algorithme alg1 a une priorité plus élevée.
    \  alg2
       ---------> 1
    /  alg2
  B                ==> B correspond à 2, car l'algorithme alg1 a une priorité plus élevée.
    \  alg1
       ---------> 2
    /  alg2
  C                ==> C ne renvoie aucune correspondance, car B correspond à 2 et A correspond à 3.
    \  alg2
       ---------> 3

L'entrée C est considérée comme un nouveau composant. 1 est considéré comme un élément non correspondant.

La qualité de l'algorithme de correspondance est indiquée par le nombre de correspondances à 1 renvoyées (correspondances uniques) : plus leur nombre est élevé, meilleur est l'algorithme.

Mise à jour possible : oui

Effets de la mise à jour : modification de la logique de rapprochement de composant

Application de la mise à jour : lors de la redétection

Actions requises pour l'application des mises à jour : mise à jour de la famille de mesures ou modification de la priorité de certification de fournisseur