Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The dLibra system periodically carries out certain activities which make it easier to control the consistency of data stored in the system. If the system encounters an inconsistency and cannot solve that problem on its own, it communicates the fact to the system administrator. The following activities are carried out in the dLibra system to control the consistency of the system:

  • Publication file consistency check – the dLibra system checks periodically if publication files have been modified without the system knowing about it.

    When files are entered in the digital library, the dLibra system calculates so-called checksums for them. Later, the system periodically (by default, every night) verifies if the files it manages still have the same checksums as when they were sent to the system. If there are few files in the digital library, then the system can verify the content of all of them every night. If, on any night, there are too many to verify their content in the time allotted per night, the system checks those files which have been verified the longest time ago. Each verification ends with a summarizing entry in the server logs, for example

System dLibra wykonuje okresowo pewne czynności, które ułatwiają kontrolę spójności danych przechowywanych w systemie. Jeśli system napotka na niespójność i nie może samodzielnie rozwiązać tego problemu to komunikuje ten fakt administratorowi systemu. W systemie dLibra wykonywane są następujące czynności kontrolujące spójność systemu:

  • Kontrola spójności plików publikacji - system dLibra sprawdza okresowo, czy pliki publikacji zostały zmodyfikowane bez wiedzy systemu. W momencie wprowadzania plików do biblioteki cyfrowej system dLibra oblicza tzw. sumy kontrolne dla każdego z plików. Następnie okresowo (domyślnie co noc) system weryfikuje, czy pliki którymi zarządza mają nadal taką samą sumę kontrolną jak w momencie ich przesłania do systemu. Jeżeli plików w bibliotece cyfrowej jest niewiele, to możliwe jest, że każdej nocy system zweryfikuje zawartość wszystkich plików. Jeżeli plików jest na tyle dużo, że weryfikacja całości danych trwa dłużej niż liczba godzin weryfikacji przewidziana na jedną noc, system każdej nocy będzie sprawdzał te pliki, które były weryfikowane najdawniej. Operacja weryfikacji kończy się podsumowującym wpisem w logach serwera, np.

    :

    Code Block
    INFO: Consistency check finished. Took 24423717 ms. 
    Not all versions (only 780) were checked. 
    24 of total 780 compared versions and stored checksums is probably damaged.
    W tym przypadku widać, że operacja sprawdzania spójności zajęła dokładnie 24423717 ms, czyli około 6h i 47 minut. Nie udało się w tym czasie sprawdzić wszystkich plików, sprawdzono ich tylko 780. Wśród tych 780 plików 24 miały sumę kontrolną niezgodną z sumą wzorcową zapisaną w bazie danych.
    Dodatkowo w czasie przeprowadzania kontroli spójności dla każdego pliku, którego aktualna suma kontrolna nie zgadza się z sumą wzorcową do logów serwera zapisywana jest dodatkowa wiadomość. Logowana jest również sytuacja, w której dostęp do pliku okazuje się niemożliwy np.

    In this case, we can see that the consistency verification took exactly 24423717 ms, that is, about 6 hours and 47 minutes. During that time, the system was not able to verify all files – only 780 were checked. From those 780 files, the checksums of 24 were different than the model checksums recorded in the database. During a consistency verification, for every file the checksum of which differs from its model checksum, an additional message is recorded in the logs of the server. The system also records situations in which it is not possible to access a file, for example:

    Code Block
    ERROR: Problem while calculating digests
    java.io.FileNotFoundException: 
    F:\dlibra\content\files\1.dir\5.dir\22.dir\696.grp\664.pub\76075.fil\76283.ver 
    (The system cannot find the file specified)
    Zawarta w wiadomości ścieżka wskazuje, o jaką publikację i o jaki dokładnie plik chodzi. W powyższym przykładzie mamy np. do czynienia z plikiem (.fil) o id 76075, a konkretnie jego wersją (.ver) o id 76283. Plik ten stanowi część publikacji (.pub) o id 664, która jest częścią publikacji grupowej (.grp) o id 696. Publikacja ta znajduje się w ścieżce trzech katalogów (.dir) o następujących id: 1, 5 i 22. Informacje te są wystarczające aby odnaleźć plik z poziomu Aplikacji Redaktora. Można również wykorzystać identyfikator publikacji do dostępu przez stronę WWW. W tym celu należy do głównego adresu biblioteki cyfrowej dodać /publication/<id publikacji>.Kontrola spójności indeksów wyszukiwawczych - system dLibra sprawdza, czy indeksy wyszukiwawcze są spójne z metadanymi indeksowanych obiektów. Jeśli nie ma takiej spójności w przypadku konkretnego obiektu to jest on poddany ponownej indeksacji (co naprawia niespójność

    The path in the message indicates which publication and file are meant. In this example, the file is .fil, with ID 76075, or – more precisely – its version (.ver) with ID 76283. That file is a part of publication .pub with ID 664, which, in turn, is a part of group publication .grp with ID 696. That publication is in the path of three catalogs (.dir) with IDs: 1, 5, and 22. The provided information makes it possible to find the file from the level of the Editor Application. The identifier of the publication can also be used to access it through the website. For that purpose, the main library address should be complemented with /publication/<publication id>.

  • Search index consistency check – the dLibra system checks if search indexes are consistent with indexed object metadata. If they are not, the object in question is re-indexed (to remove the inconsistency).