Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa
Darmowa diagnoza laptopa
Dojazd do klienta bezpłatnie
Dojazd do klienta bezpłatnie
Laptopy zastępcze bezpłatnie
Laptopy zastępcze bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie

zduplikowane dane przez wielokrotne zapisy

Termin Definicja
zduplikowane dane przez wielokrotne zapisy

Zduplikowane dane przez wielokrotne zapisy powstają, gdy ten sam formularz zostaje przypadkowo wysłany kilka razy.

Jak powstają duplikaty po wielokrotnym wysłaniu formularza

Zduplikowane dane przez wielokrotne zapisy pojawiają się wtedy, gdy jedna czynność użytkownika prowadzi do kilku identycznych operacji zapisu. Typowy przykład stanowi formularz internetowy, w którym po kliknięciu przycisku wysyłania odpowiedź aplikacji pojawia się z opóźnieniem. Użytkownik może wtedy kliknąć przycisk ponownie, odświeżyć stronę albo użyć skrótu klawiaturowego. Jeżeli aplikacja nie rozpoznaje, że kolejne żądania dotyczą tej samej operacji, każde z nich może utworzyć osobny rekord.

Problem nie musi wynikać z błędu użytkownika. Powtórzenie żądania może nastąpić także po utracie połączenia, ponownym przesłaniu formularza przez przeglądarkę, wznowieniu przerwanej sesji albo automatycznym ponowieniu żądania przez oprogramowanie. Z punktu widzenia serwera dwa żądania wysłane w krótkim odstępie mogą wyglądać jak dwie niezależne operacje. Jeżeli formularz zawiera takie same imię, adres, numer zamówienia lub treść zgłoszenia, w bazie mogą powstać rekordy o identycznych danych, ale z różnymi identyfikatorami technicznymi.

Różnica między identycznym rekordem a poprawną historią operacji

Nie każdy powtarzający się wpis jest błędem. W niektórych systemach użytkownik może prawidłowo przesłać ten sam formularz kilka razy, na przykład tworząc kilka zgłoszeń dotyczących różnych zdarzeń. O tym, czy dane są zduplikowane, decyduje znaczenie biznesowe operacji oraz identyfikator, który pozwala rozpoznać konkretny formularz lub zdarzenie. Dwa rekordy z taką samą treścią nie zawsze są równoważne, jeżeli zostały utworzone świadomie w różnych momentach.

Podczas analizy należy porównywać nie tylko widoczne pola formularza. Istotne są także znaczniki czasu, identyfikator użytkownika, adres źródłowy, identyfikator sesji, numer żądania oraz klucz operacji nadany przez aplikację. Duplikat może mieć nieco inną datę zapisu, ponieważ kolejne żądanie zostało obsłużone kilka sekund później. Czasem powtórzenie występuje w tabeli głównej, a w tabelach powiązanych powstają dodatkowe rekordy, takie jak kolejne pozycje zamówienia, wiadomości lub wpisy dziennika.

Idempotencja, klucze unikatowe i bezpieczny zapis

Podstawowym mechanizmem ograniczającym wielokrotne zapisy jest idempotencja operacji. Oznacza ona, że ponowne wykonanie tego samego żądania nie tworzy kolejnego skutku, lecz zwraca rezultat operacji już wykonanej. Aplikacja może osiągnąć taki efekt przez nadanie formularzowi unikatowego identyfikatora operacji i zapisanie go razem z rekordem. Gdy serwer otrzyma drugi raz ten sam identyfikator, powinien rozpoznać powtórzenie i nie tworzyć nowego wpisu.

Dodatkową ochronę zapewnia ograniczenie unikatowości w bazie danych. Może ono obejmować pojedynczą kolumnę albo kombinację kilku pól, na przykład identyfikator użytkownika i numer formularza. Sama kontrola po stronie interfejsu, taka jak czasowe wyłączenie przycisku, nie wystarcza, ponieważ nie chroni przed ponowieniem żądania przez przeglądarkę, sieć lub kod aplikacji. Warstwa zapisu powinna również prawidłowo obsługiwać równoległe żądania. Jeżeli dwa żądania sprawdzą brak rekordu w tym samym momencie, a dopiero potem spróbują go utworzyć, ograniczenie unikatowości i odpowiednia obsługa transakcji zapobiegają zaakceptowaniu obu zapisów.

Rozpoznanie i uporządkowanie powtórzonych zapisów

Wykrywanie duplikatów zaczyna się od ustalenia reguły, która definiuje powtórzenie. W prostym formularzu może nią być identyczny identyfikator operacji. W innych przypadkach trzeba zestawić kilka cech: użytkownika, czas przesłania, adres kontaktowy, numer sprawy oraz zawartość pól. Nie należy usuwać wpisów wyłącznie na podstawie podobnego tekstu, ponieważ dwa prawidłowe zgłoszenia mogą mieć wspólną treść. Przed zmianą danych warto wykonać kopię zapasową oraz zachować informację o rekordach połączonych, oznaczonych lub przeniesionych.

Naprawa może polegać na oznaczeniu nadmiarowych rekordów jako powtórzonych, połączeniu ich z rekordem głównym albo usunięciu wpisów po wcześniejszym sprawdzeniu zależności. Trzeba zweryfikować, czy duplikat nie jest powiązany z płatnością, dokumentem, wiadomością lub inną operacją, której nie wolno utracić. Po uporządkowaniu danych należy sprawdzić logikę formularza, działanie przycisku wysyłania, reakcję na opóźnienie sieci oraz zachowanie po odświeżeniu strony. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów stacjonarnych PC i ich podzespołów, w tym diagnostyką problemów z oprogramowaniem powodujących nieprawidłowy zapis danych.

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę