Sdílet prostřednictvím


Sledování distribuovaných odkazů a identifikátory objektů

Uložení odkazu na soubor nebo adresář pomocí jeho cesty a názvu souboru není spolehlivé. Pokud uživatel soubor přejmenuje, přeruší odkazy na soubor. Pokud uživatel adresář přejmenuje, přeruší odkazy na soubor a všechny soubory a podadresáře ve stromu adresáře.

Služba pro sledování distribuovaných odkazů umožňuje klientským aplikacím sledovat zdroje propojení, které se přesunuly. Klienti, kteří se přihlásí k odběru služby pro sledování odkazů, mohou zachovat integritu svých odkazů a objekty je možné sledovat způsobem, který je pro uživatele transparentní.

Identifikátory objektů

Služba sledování odkazů udržuje svůj odkaz na objekt pomocí identifikátoru objektu (ID). ID objektu je volitelný atribut, který jednoznačně identifikuje soubor nebo adresář na svazku.

Index všech ID objektů je uložen na svazku. Operace přejmenování, zálohování a obnovení uchovávají ID objektů. Operace kopírování však nezachovají ID objektů, protože by to porušilo jejich jedinečnost.

U ID objektů můžete provádět následující operace:

  • Vytvoření
  • Smazání
  • Dotaz

Při vytváření ID objektu vytvoříte identitu souboru do služby pro sledování odkazů. Naopak když odstraníte ID objektu, služba pro sledování odkazů přestane udržovat odkazy na soubor. Seznam kódů řízení systému souborů, které provádějí operace s ID objektů, naleznete v tématu kódy řízení správy souborů.

Služba sledování distribuovaných odkazů sleduje zdroje propojení pro zástupce prostředí a propojení OLE v rámci svazků systému souborů NTFS. Klient propojení může opravit poškozený odkaz s aktualizovanými informacemi o novém umístění zdroje propojení.

Klávesové zkratky prostředí zahrnují heuristické sledování odkazů, které používá algoritmus stromového vyhledávání k vyhledání shody pro přesunutý zdroj propojení. Vyhledávací algoritmus vychází z poslední známé cesty k souboru a informacím o souboru, které zahrnují datum vytvoření, velikost souboru a název souboru a příponu.

Propojení OLE zahrnuje stejné heuristické sledování propojení. Systém Windows obsahuje také stejné heuristické sledování odkazů s některými přidanými vylepšeními vyhledávání názvových prostorů, aby výsledky přinesly v některých běžných scénářích. Mezi vylepšení patří následující postup, který závisí na časových limitech stanovených klientskou aplikací.

Hledání názvových prostorů

  1. Prohledejte čtyři úrovně adresáře z posledního adresáře.
  2. Přesuňte jeden adresář nahoru a opakujte kroky 1 a 2 další třikrát, což může přinést výsledky, pokud se objekt přesunul poblíž.
  3. Vyhledejte čtyři úrovně dolů z kořenového adresáře plochy, což může přinést výsledky, pokud se objekt přesunul do umístění na stejné ploše.
  4. Prohledejte čtyři úrovně z kořenového adresáře na každé místní pevné jednotce.
  5. Opakujte kroky 1 až 3 bez limitu čtyř adresářů.

Poznámka

Tato schémata sledování odkazů jsou pro koncového uživatele transparentní. Ne vždy ale přinášejí pozitivní výsledky a mohou být časově náročné.

 

Další informace o klávesových zkratkách prostředí najdete v tématu IShellLink .

Další informace o propojení OLE naleznete v tématu IOleLink.

Pokud je odkaz na soubor ve službě NTFS 3.0 nebo novější a soubor se přesune na jakýkoli jiný svazek se systémem SOUBORŮ NTFS 3.0 nebo novějším ve stejné doméně, může soubor najít sledovací služba s ohledem na čas. Kromě toho, pokud je soubor přesunut mimo doménu nebo v pracovní skupině, je nalezen.

Pokud chcete získat verzi svazku NTFS, otevřete příkazový řádek s přístupovými právy správce a spusťte následující příkaz:

fsutil fsinfo ntfsinfoX:

kde X je písmeno jednotky svazku.

Při vytvoření odkazu na soubor je cílový soubor považován za zdroj odkazua tvůrce odkazu je klienta propojení. Pokud je například vytvořen zástupce prostředí pro propojení s textovým dokumentem, je textový dokument zdrojem odkazu a zástupce prostředí je klient propojení.

Služba sledování distribuovaných odkazů udržuje odkazy na soubory pro následující situace, ke kterým dochází v rámci domény:

  • Zdrojový soubor propojení se přesune z jednoho svazku systému souborů NTFS do jiného ve stejné doméně.
  • Název počítače, který obsahuje zdroj propojení, se přejmenuje.
  • Sdílené síťové složky ve zdrojovém počítači propojení se změní.
  • Svazek, který obsahuje zdrojový soubor propojení, se přesune do jiného počítače ve stejné doméně.

Služba pro sledování distribuovaných odkazů se také pokouší udržovat propojení v předchozích situacích, i když nedochází v rámci domény, tj. jsou mezi doménami nebo v pracovní skupině. Propojení lze v těchto situacích udržovat vždy, když se změní sdílená síťová složka na zdrojovém počítači propojení. Je také možné je udržovat, když se zdroj propojení přesune v počítači. Odkazy se obvykle dají udržovat, když se zdroj propojení přesune do jiného počítače, ale tato forma sledování je v průběhu času méně spolehlivá.

Funkce sledování odkazů je primárně implementována ve formě následujících dvou systémových služeb:

  • Klient pro sledování distribuovaných odkazů
  • Distribuovaný server pro sledování odkazů

klienta pro sledování distribuovaných odkazů

Klient pro sledování distribuovaných odkazů běží na všech počítačích a spravuje aktivity sledování odkazů pro daný počítač. Mezi tyto aktivity patří hledání zdrojů propojení a zpracování přesunů zdroje odkazů. Když se zdroj propojení přesune, služba předá informace serveru pro sledování distribuovaných odkazů, který běží na řadičích domény.

serveru pro sledování distribuovaných odkazů

Distribuovaný server pro sledování odkazů běží na každém řadiči domény v doméně. Služba přijímá oznámení o souboru a svazku přesunu ze sledovací služby na počítači a umožňuje klientovi pro sledování distribuovaných odkazů dotazovat aktuální umístění zdroje propojení.

Tato serverová služba uchovává informace v řadičích domény o svazcích a souborech, které byly přesunuty. Informace o přesunech se nemůžou zvětšit nad určitou velikost a automaticky se odeberou, pokud se stanou nepotřebnými.

Služby pro sledování odkazů jsou zpřístupněny rozhraními IShellLink a IOleLink. Proto je používají zástupci prostředí. Když je volána metoda IShellLink::Resolve a odkazující soubor nelze najít, například když uživatel aktivuje zástupce prostředí, služba sledování se volá automaticky pro vyhledání souboru. Podobně, když IOleLink implementace nemůže najít soubor, například v jeho BindToSource metoda, automaticky volá sledovací službu.

Služby pro sledování distribuovaných odkazů jsou k dispozici pouze v systému souborů NTFS a jsou k dispozici pouze pro zdroje propojení v systému souborů NTFS 3.0 nebo novějších. Proto pokud je zdroj propojení přesunut do svazku systému souborů FAT, informace o sledování se ztratí. Kromě toho, pokud je zdroj propojení přesunut mezi NTFS 3.0 nebo novější, ale počítač, který provádí přesun, používá starší verzi Systému Windows, informace o sledování odkazů budou ztraceny. Když dojde ke ztrátě informací o sledování odkazů, nedojde k žádnému poškození samotného zdrojového souboru propojení, které jednoduše nesleduje služba pro sledování distribuovaných odkazů.

Pokud chcete získat verzi svazku NTFS, otevřete příkazový řádek s přístupovými právy správce a spusťte následující příkaz:

fsutil fsinfo ntfsinfoX:

kde X je písmeno jednotky svazku.

Odkazy na soubory na vyměnitelných médiích nejsou zachovány. Sledovací služba také nerozpozná nový svazek systému souborů NTFS, dokud se systém znovu nespustí. Nový svazek může být dostupný z důvodu opětovného dělení, přeformátování svazku systému souborů FAT do systému souborů NTFS nebo připojení nové externí jednotky.