XBUP - Dokumentace: Fragmentovatelná strukturaTento dokument je součástí dokumentace projektu eXtensible Binary Universal Protocol. Obsahuje popis ...
1. Fragmentovatelná struktura
1.1. Popis řešení
1.2. Výhody řešení
1.3. Možné optimalizace
1.4. Problémy
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ů.
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.
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.
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.
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