Strukturované úložiště COM - COM Structured Storage
![]() | Tento článek má několik problémů. Prosím pomozte vylepši to nebo diskutovat o těchto otázkách na internetu diskusní stránka. (Zjistěte, jak a kdy tyto zprávy ze šablony odebrat) (Zjistěte, jak a kdy odstranit tuto zprávu šablony)
|
Strukturované úložiště COM (různě také známý jako KOM strukturované úložiště nebo OLE strukturované úložiště) je technologie vyvinutá společností Microsoft jako součást jeho Okna operační systém pro ukládání hierarchických dat do jednoho souboru. Přesně řečeno, termín strukturované úložiště odkazuje na sadu COM rozhraní že musí vyhovující implementace poskytovat, a nikoli ke konkrétní implementaci, ani ke konkrétní soubor formát (implementace strukturovaného úložiště ve skutečnosti nemusí ukládat svá data do souboru vůbec). Kromě poskytování hierarchické struktury pro data může strukturované úložiště také poskytovat omezenou formu transakční podpora přístupu k datům. Microsoft poskytuje implementaci, která podporuje transakce, a také implementaci, která ji nepodporuje (tzv jednoduchý režim úložiště, druhá implementace je omezena i jinými způsoby, i když funguje lépe).
Strukturované úložiště je široce používáno v Microsoft Office aplikace, i když novější vydání (počínaje Office 2007 ) použijte XML -na základě Office Open XML ve výchozím stavu. Je také důležitou součástí jak COM, tak souvisejících technologií propojování a vkládání objektů (OLE). Mezi další významné aplikace strukturovaného úložiště patří SQL Server, prostředí Windows a mnoho třetích stran CAD programy.
Motivace
Strukturované úložiště řeší některé inherentní potíže s ukládáním více datových objektů do jednoho souboru. Jeden problém nastane, když objekt přetrvává v souboru, který se kvůli aktualizaci změní ve velikosti. Pokud aplikace, která čte / zapisuje soubor, očekává, že objekty v souboru zůstanou v určitém pořadí, může být nutné vše, co následuje po reprezentaci daného objektu v souboru, posunout dozadu, aby se uvolnil prostor, pokud objekt naroste, nebo dopředu k vyplnění zbývající prostor, pokud se objekt zmenší. Pokud je soubor velký, mohlo by to vést k nákladné operaci. Samozřejmě existuje mnoho možných řešení tohoto problému, ale aplikační programátor často nechce řešit podrobnosti na nízké úrovni, jako jsou binární formáty souborů.
Strukturované úložiště poskytuje abstrakci známou jako proud, představované rozhraním IStream
. Stream je koncepčně velmi podobný souboru a IStream
rozhraní poskytuje metody pro čtení a zápis podobné jako při vstupu / výstupu souboru. Mohl by bydlet proud Paměť, v souboru, v jiném streamu atd., v závislosti na implementaci. Další důležitou abstrakcí je a úložný prostor, představované rozhraním Úložiště
. Úložiště je koncepčně velmi podobné a adresář na souborový systém. Úložiště mohou obsahovat streamy i další úložiště.
Pokud si aplikace přeje přetrvávat několik datových objektů do souboru, jedním ze způsobů by bylo otevření souboru Úložiště
který představuje obsah tohoto souboru a uloží každý z objektů do jednoho IStream
. Jedním ze způsobů, jak toho dosáhnout, je standardní rozhraní COM IPersistStream
. OLE do značné míry závisí na tomto modelu pro vložení objektů do dokumentů.
Formát
Implementace společnosti Microsoft používá formát souboru známý jako složené souborya všechny široce nasazené implementace strukturovaného úložiště tento formát čtou a zapisují. Složené soubory používají a TLUSTÝ struktura podobná úložištím a proudům. Kousky souboru, známé jako odvětví (tyto mohou nebo nemusí odpovídat sektorům podkladového systému souborů), jsou přidělovány podle potřeby pro přidání nových streamů a pro zvětšení velikosti stávajících streamů. Pokud jsou streamy odstraněny nebo zmenšeny a ponechávají nepřidělené sektory, mohou být tyto sektory znovu použity pro nové streamy.
Následující aplikace používají strukturované úložiště OLE (formát složeného dokumentu)
- Microsoft Office 97 –2003 dokumenty:
- Slovo dokumenty (.DOC, .DOT)
- Vynikat tabulky (.XLS, .XLT)
- PowerPoint prezentace (.PPT, .POT)
- Vydavatel soubory (.PUB)
- Visio soubory (.VSD)
- Projekt soubory (.MPP)
- Microsoft PhotoDraw soubory (.MIX)
- Microsoft Outlook soubory (.MSG)
- Instalační služba systému Windows soubory (.MSI, .MSP, .MST)
- Microsoft Picture It! / Microsoft Digital Image soubory (.MIX)
- Informační kanály RSS aplikace Internet Explorer Platforma Windows RSS soubory (.feed-ms)
- Windows 7 StickyNotes (.SNT)
- Soubory seznamů Windows 7
- Thumbs.db
- Microsoft SQL 2000 Server DTS balíčky
- Autodesk Revit
- Autodesk Inventor
- FlashPix
Nativní strukturované úložiště
Během beta testování fáze Windows 2000, zahrnoval funkci s názvem Nativní strukturované úložiště (NSS) pro ukládání dokumentů strukturovaného úložiště (jako binární Microsoft Office formáty a thumbs.db
soubor Průzkumník Windows používá k ukládání miniatur do mezipaměti) Proud který tvoří dokument uložený v samostatném NTFS datový tok. Zahrnovalo nástroje, které automaticky rozdělují proudy v běžném dokumentu strukturovaného úložiště na datové proudy NTFS a naopak. Tato funkce však byla po verzi Beta 3 stažena z důvodu nekompatibility s jinými součástmi operačního systému a všechny soubory NSS byly automaticky převedeny do formátu jediného datového proudu.[1]
Reference
- ^ „Co je to nativní strukturované úložiště?“. Archivovány od originál dne 2007-09-27. Citováno 2007-12-03.
externí odkazy
Implementace
- Pro Microsoft .NET:
- OpenMCDF - Bezplatná komponenta .NET pro přístup k souborům strukturovaného úložiště OLE s licencí MPL.
- Pro Linux:
- Knihovna strukturovaných souborů GNOME - Může číst strukturované soubory úložiště Microsoft.
- PÓL.
- Cross platform C ++ pro Windows / MacOSX / Linux:
- Pro Javu:
- POIFS - Java implementace formátu složeného dokumentu OLE 2, část Apache POI.
- Pro Perl:
- Pro JavaScript:
- js-cfb - Implementace JavaScriptu ve formátu složeného dokumentu OLE 2.