Sprzeczna aktualizacja

Opis

Konflikt występuje, gdy review lub merchant mają wiele aktualizacji (z tym samym identyfikatorem review lub merchant) o różnej treści, ale identycznej last_update_timestamp. Te wpisy mają te same wartości last_update_timestamp, dlatego nie możemy określić, która z nich jest nowsza.

Rozwiązanie

Umieść review lub merchant z najnowszymi treściami i zaktualizowanym last_update_timestamp.

Konflikty sygnatury czasowej utworzenia

Jeśli 2 aktualizacje powodują konflikty z powodu różnych wartości w polu create_timestamp, należy ponownie wyświetlić review lub merchant z czasem utworzenia odpowiadającym pierwotnemu czasowi utworzenia. Jeśli czas utworzenia nie będzie zgodny z pierwotnym czasem utworzenia, wystąpi dodatkowy problem z danymi.

Jeśli 2 aktualizacje powodują konflikty ze względu na różne wartości atrybutu create_timestamp i uważasz, że nowa właściwość create_timestamp jest prawidłowa, wykonaj poniższe czynności, aby ustawić nowy czas utworzenia dla elementu review lub merchant bez generowania nowego problemu z danymi:

  1. Ponownie dostarcz element review lub merchant z odpowiednim create_timestamp i zaktualizowaną wartością last_update_timestamp.
  2. Poinformuj zespół pomocy, że chcesz użyć nowego czasu utworzenia, i podaj nazwę pliku zawierającego wpis z nowym czasem utworzenia. Zespół pomocy gwarantuje, że wykorzystano nowy czas utworzenia i nie wygenerowano nowego problemu z danymi.

Konflikty zmian formatowania XML

Jeśli wystąpi konflikt spowodowany zmianą sposobu tworzenia plików XML (np. zmianą formatowania), ale bazowe dane nie zostaną zmienione, nie ma sensu ich zmieniać. W takiej sytuacji wykonaj te czynności.

  1. Poinformuj zespół pomocy o powodach, dla których last_update_timestamp nie ma uzasadnienia.
  2. Wygeneruj plik z najnowszą zawartością (w tym przypadku nie jest potrzebna aktualizacja last_update_timestamp).
  3. Podaj nazwę pliku z najnowszymi informacjami dla zespołu pomocy. Zespół pomocy ma pewność, że na stronie używane są najnowsze treści.

Przykład

1 marca przesyłasz plik danych „"2017_03_01.xml" do punktu końcowego. Plik zawiera te treści:

<review id="156368" mid="2739">
  <reviewer_name>Ada</reviewer_name>
  <create_timestamp>2017-02-25T03:02:23Z</create_timestamp>
  <last_update_timestamp>2017-02-25T03:02:23Z</last_update_timestamp>
  <country_code>US</country_code>
  <title>Great prices</title>
  <content>My order arrived on time and I got a great price.</content>
  <ratings>
    <overall min="1" max="10">9</overall>
    <customer_service min="1" max="10">10</customer_service>
  </ratings>
  <collection_method>after_fulfillment</collection_method>
</review>

5 marca przesyłasz do punktu końcowego plik danych "2017_03_05.xml". Plik zawiera zmianę nazwy zgodnie z tytułem opinii, ale właściwość last_update_timestamp nie zmieniła się w porównaniu z poprzednim wpisem przesłanym na potrzeby tej opinii:

<review id="156368" mid="2739">
  <reviewer_name>Ada</reviewer_name>
  <create_timestamp>2017-02-25T03:02:23Z</create_timestamp>
  <last_update_timestamp>2017-02-25T03:02:23Z</last_update_timestamp>
  <country_code>US</country_code>
  <title>Great prices and customer service!</title>
  <content>My order arrived on time and I got a great price.</content>
  <ratings>
    <overall min="1" max="10"<9>/overall>
    <customer_service min="1" max="10"<10>/customer_service>
  </ratings>
  <collection_method>after_fulfillment</collection_method>
</review>

Gdy otrzymasz od zespołu pomocy powiadomienie o problemie z aktualizacją danych, prześlij do punktu końcowego "2017_03_10-fix.xml"

<review id="156368" mid="2739">
  <reviewer_name>Ada</reviewer_name>
  <create_timestamp>2017-02-25T03:02:23Z</create_timestamp>
  <last_update_timestamp>2017-03-04T02:01:20Z</last_update_timestamp>
  <country_code>US</country_code>
  <title>Great prices and customer service!</title>
  <content>My order arrived on time and I got a great price.</content>
  <ratings>
    <overall min="1" max="10">9</overall>
    <customer_service min="1" max="10">10</customer_service>
  </ratings>
  <collection_method>after_fulfillment</collection_method>
</review>