[XBUP]XBUP - Dokumentace: Fragmentovatelná struktura

Úvod

Tento dokument je součástí dokumentace projektu eXtensible Binary Universal Protocol. Obsahuje popis ...

O úroveň výše

Obsah

1. Fragmentovatelná struktura
  1.1. Popis řešení
  1.2. Výhody řešení
  1.3. Možné optimalizace
  1.4. Problémy

1. Fragmentovatelná struktura

Jelikož formát sám o sobě nepodporuje fragmentovatelnost dle blokové struktury souborového systému, je vhodné pro tyto účely použít vhodný transformační blok. Tato technika pracuje tak, že datový blok interpretuje jako sekvenci bloků konstantní velikosti a umožňuje jejich řazení v libovolném pořadí, čímž umožňuje nesouvislou reprezentaci běžných bloků.

1.1. Popis řešení

Jedná se o transformační blok typu data-strom. Jednotlivé clustery konstatní délky jsou buď strukturální, nebo datové. První blok je kořenový strukturální. Navrhované varianta není pravděpodobně konečná

UBClusterIndex - Next Block
UBENatural - SubBlockPartSize
UBClusterIndex - First SubBlock
...
UBClusterIndex - Last SubBlock
UBNatural - DataPartSize
UBNatural - MainBlockPartSize
UBClusterIndex - First MainBlock
...
UBClusterIndex - Last MainBlock

Zatímco indexy na SubBlock odkazují na strukturální bloky, indexy na MainBlock odkazují na posloupnost datového bloku. Hodnota SubBlockPartSize rovna nekonečnu říká, že soubor je ekvivalentní datovému bloku, v opačném případě se jedná o uzlový/listový blok.

1.2. Výhody řešení

Uvedená technika přináší některé výhody, především je možné mnohem flexibilněji upravovat soubor, přidávat do něj další bloky na libovolné úrovni zanoření a měnit i jejich velikost.

1.3. Možné optimalizace

Nízkou efektivitu řešení by mělo být možné vylepšit. Například zavedením bitové mapy využití bloků, používáním relativních hodnot indexů clusterů, nebo slučováním většího počtu malých bloků do jednoho. Také by mohlo být možné zavést kontrolní součty pro zvýšení robustnosti, či cachování některých hodnot pro vyšší efektivitu.

1.4. Problémy

Realizace tohoto řešení se také potýká s některými problémy.


Homepage: http://xbup.sf.net
License: GNU Free Documentation License (FDL)
Latest update: 2006-09-28