上一主题: ItemReconciliation下一主题: ReconfigDetectionAttr


MatchAlgorithms

组件调节和项调节将采用匹配算法。 两个匹配算法都将受到支持:

如果对度量标准系列提供多个算法,则算法将拥有匹配优先级。 算法的顺序确定了优先顺序。 处于顶端的算法拥有最高的优先级。 底端的算法拥有最低的优先级。

每个算法必须拥有至少 1 个匹配属性。 如果数据通过同样的算法匹配多个项,那么拥有最佳匹配的项将会胜出。 如果多个匹配项拥有相同数量的匹配属性,将从这些项中随机挑选胜出者。

示例:调节的工作方式

对度量标准系统提供有两个匹配算法:alg1 和 alg2。 Alg1 拥有比 alg2 更高的优先级。 度量标准系列拥有三个现有组件项:1、2 和 3。 重新发现度量标准系列将会查找三个条目:A、B 和 C。 现在,我们将采用两种算法来确定哪个条目是新条目、已更改条目或未更改条目。

   调节元数据 新数据 现有组件
<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> 和 <MatchAlgorithm2> 可能是 <ExactMatch> 或 <BestOfMatch>。 两种匹配算法的顺序说明 MatchAlgorithm1 拥有比 MatchAlgorithm2 更高的优先级。

情况 1:唯一的 1 对 1 匹配

条目 A 匹配项 1,项 1 没有任何其他匹配。

A -----> 1

此示例是最简单的案例。 此匹配是唯一的,因此即使其匹配 alg1 或 alg2 也无关紧要。 条目 A 匹配项 1。

良好的匹配算法可产生更多的唯一匹配。

情况 2:一个条目拥有多种匹配

通过 alg1,条目 A 将匹配项 1,通过 alg2,还将匹配项 2。

           --> 1 (alg1)(1 胜出)
      /
    A                    鉴于 alg1 拥有更高的优先级,项 1 将会在匹配中胜出。
      \
           ---> 2 (alg2)
情况 3:通过不同的算法将多个条目与同样的项进行匹配

通过 alg1,条目 A 将匹配 1,通过 alg2 项目,B 还将匹配项 1。

A ------> 1 (alg1)  (A 胜出)
B ------> 1 (alg2)

鉴于 alg1 拥有更高的优先级,条目 A 将会胜出。

情况 4:通过同样的算法但不同的匹配属性数量将多个条目与同样的项进行匹配

通过 alg1,A 和 B 都将匹配 1。

A ------> 1(alg1, # 匹配属性数量:2)  (A 胜出)
B ------> 1(alg1, # 匹配属性数量:1)

鉴于 A 拥有更多的匹配属性,A 将胜出。

如果匹配属性的数量相同,则会随机挑选胜出者,还将生成警告。

情况 5:混合匹配 1
 alg1
  A ------------------------------------> 1
    /  alg2(匹配属性计数:3)
  B
    /  alg2(匹配属性计数:2)
           --------------------------------> 2

A 匹配 1,因为其是通过更高优先级算法进行匹配的。

B 匹配 2,因为 1 已匹配 A。

情况 6:混合匹配 2
	   ---------> 3
    /  alg1
  A                ==> A 对 3 胜出,因为 alg1 拥有更高的匹配优先级
    \  alg2
       ---------> 1
    /  alg2
  B                ==> B 对 2 胜出,因为 alg1 拥有更高的匹配优先级
    \  alg1
       ---------> 2
    /  alg2
  C                   ==> C 没有匹配,因为 2 已匹配 B,3 已匹配 A
    \  alg2
       ---------> 3

条目 C 将被视为新组件。 1 将被视为未匹配项。

情况 1(唯一匹配)匹配的越多,匹配算法将越有效。

可否更新:

更新效果:组件调节逻辑变更。

更新何时生效:重新发现时

更新生效所需的操作:更新度量标准系列或更改供应商认证优先顺序。

详细信息:

ComponentReconciliation

ItemReconciliation