Rychlá infoset - Fast Infoset
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)
|
Rychlá infoset (nebo FI) je mezinárodní standard, který specifikuje a binární kódování formát pro Sada informací XML (Infoset XML) jako alternativa k XML formát dokumentu. Jeho cílem je poskytnout efektivnější serializaci než textový formát XML.
FI je ve skutečnosti a bezztrátová komprese, analogicky k gzip, pro XML, kromě toho, že zatímco dojde ke ztrátě původního formátování, neztratí se žádná informace při převodu z XML na FI a zpět do XML. Zatímco účelem komprese je zmenšit velikost fyzických dat, FI si klade za cíl optimalizovat jak velikost dokumentu, tak výkon zpracování.
Specifikace Fast Infoset je definována oběma ITU-T a ISO normalizační orgány. FI je oficiálně definována v ITU-T Rec. X.891 a ISO / IEC 24824-1, a oprávněné Rychlá infoset. Standard byl publikován ITU-T 14. května 2005 a ISO 4. května 2007. Standardní dokument Fast Infoset lze stáhnout z Web ITU. Ačkoli dokument neuplatňuje omezení týkající se implementace nebo použití duševního vlastnictví (IP), stránka ii varuje, že obdržel oznámení a subjekt nemusí být zcela osvobozen od tvrzení IP.
Běžná mylná představa je, že FI vyžaduje ASN.1 podpora nástroje. Ačkoli formální specifikace používá notaci ASN.1, standard obsahuje Kódovací kontrolní notace Implementace nástroje (ECN) a ASN.1 nevyžadují.
Alternativou k FI je FleXPath.[1]
Struktura
Formát podkladového souboru je ASN.1, s bloky značek / délek / hodnot. Textové hodnoty atributů a prvků se ukládají s předponami délky, nikoli s koncovými oddělovači, a datové segmenty nevyžadují pro speciální znaky únik. Ekvivalent koncových značek („terminátorů“) je potřeba pouze na konci seznamu podřízených prvků. Binární data jsou přenášena v nativním formátu a nemusí být převedena do formátu přenosu, jako je base64.
Fast Infoset je formát vyšší úrovně postavený na formulářích ASN.1 a notaci. Názvy prvků a atributů jsou uloženy v proudu oktetu, na rozdíl od tradičních schémat kódování ASN.1. V důsledku toho lze konvenční soubor XML obnovit z binárního proudu bez odkazu na schéma XML a schéma XML nemusí být vyjádřeno jako definice ASN.1. (ASN.1 „Značky“ jsou jen názvy typů, např. String, Integer nebo komplexní typy.) ASN.1 společně s ECN se používá k definování formátu souboru.
Pro většinu řetězců je vytvořena indexová tabulka, která obsahuje názvy prvků a atributů a jejich hodnoty. To znamená, že text opakovaných značek a hodnot se v dokumentu zobrazí pouze jednou.
Implementace
Referenční implementace
A Implementace Java specifikace FI je k dispozici jako součást GlassFish projekt. Knihovna je otevřený zdroj a je distribuován v souladu s podmínkami Licence Apache 2.0. Tuto implementaci používá několik projektů, včetně referenční implementace pro JAX-WS použito v GlassFish Metro.QtitanFastInfoset - implementace pro C ++ je k dispozici v komerční licenci jako součást pro Digia Qt Framework.
Výkon
Protože jsou rychlé infosety komprimovány jako součást procesu generování XML, jsou mnohem rychlejší než použití kompresních algoritmů ve stylu Zip v proudu XML, ačkoli výstup není tak dobře komprimován.
Výkon analýzy Fast Infoset typu SAX je také mnohem rychlejší než výkon analýzy XML 1.0, a to i bez jakékoli komprese ve stylu Zip. Typické zvýšení rychlosti analýzy pozorované u reference Jáva implementace jsou faktorem 10 Java Xerces a faktor 4 nad Řidič Piccolo (jeden z nejrychlejších XML analyzátorů založených na Javě).[2][3][4]
Typické aplikace
Přenosná zařízení - Mobilní zařízení mají obvykle datová připojení s malou šířkou pásma a pomalejší CPU. Fast Infoset využívá menší šířku pásma než XML a je rychlejší ke zpracování, což z něj činí vynikající volbu.
Ukládání velkých objemů dat - Při ukládání XML do souboru nebo databáze může objem dat, který systém produkuje, často překročit rozumné limity s řadou škodlivých účinků: časy přístupu se zvyšují, když se čte více dat, zatížení CPU se zvyšuje, protože data XML potřebují více energie proces a náklady na skladování stoupají. Uložením dat XML ve formátu Fast Infoset může být objem dat snížen až o 80 procent.
Předávání XML prostřednictvím Internetu - Když aplikace předává data přes internet, může být hlavní překážkou šířka pásma sítě, která vážně zhoršuje výkon klientských aplikací a omezuje výkon serveru na zpracování požadavků.[Citace je zapotřebí ] Zmenšení velikosti dat přenášených přes internet zkracuje čas potřebný k odeslání nebo přijetí zprávy a zvyšuje počet transakcí, které může server zpracovat za hodinu.
Viz také
Reference
- ^ Amer-Yahia, Sihem, Laks VS Lakshmanan a Shashank Pandit. „FleXPath: flexibilní struktura a fulltextové dotazování pro XML.“ Sborník mezinárodní konference ACM SIGMOD z roku 2004 o správě dat. ACM, 2004.
- ^ „Rychlé zprávy o výkonu infosetu“. 06.10.2005. Archivovány od originál dne 07.08.2011. Citováno 2007-10-11.
- ^ „Zpráva Japex: ParsingPerformance“. 10. 1. 2005. Archivovány od originál dne 07.08.2011. Citováno 2007-10-11.
- ^ „Zpráva Japex: SizePerformance“. 10. 1. 2005. Archivovány od originál dne 07.08.2011. Citováno 2007-10-11.
externí odkazy
- Těžký technický popis OTN
- Domovská stránka FastInfoset.NET
- Domovská stránka projektu FI
- Rychlá stránka Infoset na webu ASN.1
- Stránka OSS Fast Infoset Tools
- Stažení standardu Fast Infoset (ITU-T Rec. X.891) zdarma z webu ITU
- Stažení standardu Fast Infoset (ISO / IEC 24824-1: 2007) zdarma z ISO volně dostupných standardů