Zarządzanie blokadami w programie Revit Server

Trzy różne typy blokady są używane, aby utrzymać integralność danych w trybie współdzielenia pracy na serwerze:
  • Blokady na poziomie elementu, które ograniczają dostęp w taki sposób, że element może być modyfikowany w tym samym czasie tylko przez jednego użytkownika
  • Blokady na poziomie modelu, które ograniczają dostęp do danych modelu (chronią go) na określonych etapach pewnych operacji
  • Blokady na poziomie administratora, które ułatwiają obsługę serwera i utrzymanie danych

Blokady na poziomie elementu

Blokady na poziomie elementu sterują dostępem do każdego elementu, gdy wielu użytkowników pracuje na tym samym modelu. Są one używane w procesie roboczym w pliku i na serwerze, i zachowują się zgodnie z następującymi regułami:
  • Element może należeć w tym samym czasie tylko do jednego użytkownika.
  • Blokady elementów są skojarzone z użytkownikami programu Revit za pomocą nazw użytkowników aplikacji Revit.
  • Element może być modyfikowany tylko przez użytkownika, który jest jego właścicielem; wszyscy inni użytkownicy zostaną zablokowani.
  • Użytkownik może oddać przynależność tylko niezmienionych elementów.
  • Zmiany zmodyfikowanych elementów muszą być przypisane do modelu centralnego lub porzucone w całości przed zwolnieniem przynależności.

Blokady na poziomie elementu są wykonywane przez wypisanie zadania, jawne wypożyczenie elementu lub poprzez bezpośrednią edycję elementu. Mogą one zostać zwolnione, gdy użytkownik przeprowadzi synchronizację z plikiem centralnym oraz są zwalniane zawsze po zakończeniu operacji Zwolnij wszystkie użytkownika.

W procesie roboczym opartym na serwerze blokady na poziomie elementu są zachowywane w kolekcji baz danych SQLite. Na przykład blokady na poziomie elementu uzyskiwane bez użycia zadań są przechowywane w pliku elementpermissions.db3:

Ponieważ blokady na poziomie elementu są skojarzone w programie Revit z użytkownikami poprzez nazwy użytkownika (a nie przez określone wystąpienie w programie Revit, na danej stacji roboczej lub koncie użytkownika sieciowego), serwer Revit będzie traktować dwie osoby z tą samą nazwą użytkownika Revit jako pojedynczego użytkownika. W takim przypadku każdy użytkownik będzie mógł modyfikować ten sam element w tym samym czasie, co może spowodować utratę danych i uszkodzenie modelu. Dlatego każdy użytkownik pracujący za pomocą aplikacji Revit Server powinien wybrać niepowtarzalną nazwę użytkownika aplikacji Revit.

W niektórych przypadkach może on także przyjąć tożsamość innego użytkownika celowo przyjmując daną nazwę użytkownika programu Revit. Jeśli użytkownik musi modyfikować element, który jest zablokowany przez innego użytkownika, który nie jest dostępne, aby zwolnić ten element, administrator może tymczasowo przypisać tożsamość użytkownika i zwolnić blokadę. Należy pamiętać, że może to spowodować nieprawidłowe renderowanie kopii lokalnej użytkownika z modelem centralnym, co potencjalnie oznacza utratę danych. Dlatego, jeśli to niezbędne, zaleca się, aby użytkownik, który zablokował element, zwolnił go.

Blokady na poziomie modelu

Używane w obu rodzajach współdzielenia pracy, opartych na plikach i na serwerze, blokady na poziomie modelu są tworzone przez program Revit podczas wykonywania niektórych operacji, aby ograniczyć dostęp do modelu centralnego, jeśli równoczesny dostęp może zagrozić integralności danych. Blokady są automatycznie zwalniane po pomyślnym zakończeniu tych samych operacji i nie wymagają ręcznego działania.

Blokady na poziomie administratora

Blokada na poziomie administratora ma zastosowanie tylko przy współdzieleniu pracy na serwerze, ponieważ jest używana w celu ułatwienia obsługi operacji na serwerze Revit Server Host, na którym czynności wykonywanie w stosunku do modelu (lub kolekcji modeli) powinny być zatrzymane. Na przykład stan modelu powinien zostać zablokowany przed zarchiwizowaniem modelu. Niewykonanie tej operacji może spowodować, że kopia archiwalna będzie zawierać częściowe zmiany z uaktualnienia i stanie się nieużyteczna. Jeśli blokada na poziomie administratora zostanie zastosowana jako pierwsza, model będzie nieaktywny i będzie można uniknąć tego problemu.

Blokada na poziomie administratora jest stosowana za pomocą sieciowych narzędzi zarządzania Revit Server Administrator (lub ich odpowiednika w postaci narzędziowej linii poleceń). Blokadę można zastosować do całego serwera Revit Server Host, wszystkich modeli w folderze lub pojedynczego modelu.

Aby zastosować blokadę elementu na poziomie administratora

  1. Otwórz moduł Revit Server Administrator.
  2. Wybierz element w strukturze drzewa i kliknij (blokada).
    Uwaga: Jeśli do zastosowania blokady jest używane narzędzie z linii poleceń, po odświeżeniu ekranu wyświetla się ikona blokady, a informacje o modelu będącym w użyciu pokazują się w prawym panelu.

Gdy element jest zablokowany:

Blokada jest stosowana w dwóch etapach. Na początku wszystkie operacje będące w toku są kontynuowane, a nowe są zablokowane. Gdy wszystkie operacje będące w toku zakończą się, blokada jest w pełni zastosowana i dalszy dostęp jest bezwarunkowo blokowany do czasu zwolnienia blokady.

Blokady na poziomie administratora rzadko wymagają jakichkolwiek działań. Jednak jeśli istnieją jakiekolwiek błędne modele centralne (na przykład z powodu nieudanego pierwszego ich zapisu), serwer Revit może nie być w stanie prawidłowo utworzyć blokady na poziomie administratora lub jej zwolnić. W tym przypadku blokada może być zwolniona przez usunięcie pliku super.lock z głównego katalogu Revit Server Host·przechowującego projekt. (Należy zwrócić uwagę, że błędny model powinien być także usunięty, aby zapobiec problemom z jego powielaniem).

Wzorce postępowania dotyczące pracy z blokadami

Blokady są przeznaczone do zarządzania w trybie nakładkowym i są utrzymywane przez system. Przestrzeganie poniższych wskazówek może pomóc zapewnić pozytywne doświadczenia przy pracy w geograficznie rozproszonych obszarach korzystających z serwera Revit.
  • Upewnij się, że wszyscy użytkownicy mają niepowtarzalne nazwy użytkowników aplikacji Revit.
  • Nie zamykaj programu Revit, gdy jest on w trakcie wykonywania operacji.
  • Jeśli operacja zakończy się niepowodzeniem, natychmiast ją ponów (po ponownym uruchomieniu programu Revit, jeśli jest to wymagane).
  • Jeśli pierwsze zapisanie nowego modelu centralnego zakończy się niepowodzeniem, należy zawiadomić administratora, aby błędny model mógł zostać usunięty.