फास्ट इंफोसेट

फास्ट इंफोसेट (या FI) एक अंतरराष्ट्रीय मानक है जो XML दस्तावेज़ प्रारूप के विकल्प के रूप में XML सूचना सेट (XML Infoset) के लिए एक बाइनरी XML प्रारूप निर्दिष्ट करता है। इसका उद्देश्य पाठ-आधारित XML प्रारूप की तुलना में अधिक कुशल क्रमांकन प्रदान करना है।

FI प्रभावी रूप से एक दोषरहित संपीड़न है, जो XML के लिए gzip के अनुरूप है, सिवाय इसके कि जब मूल स्वरूपण खो जाता है, तो XML से FI और XML में वापस रूपांतरण में कोई जानकारी नहीं खोती है। जबकि संपीड़न का उद्देश्य भौतिक डेटा आकार को कम करना है, FI का उद्देश्य दस्तावेज़ आकार और प्रसंस्करण प्रदर्शन दोनों को अनुकूलित करना है।

फास्ट इन्फोसेट विनिर्देश ITU-T और मानकीकरण के लिए अंतर्राष्ट्रीय संगठन/अंतर्राष्ट्रीय इंटरनेशनल इलेक्ट्रोटेक्नीकल कमीशन निकायों दोनों द्वारा परिभाषित किया गया है। FI को आधिकारिक तौर पर 'ITU-T Rec' में परिभाषित किया गया है। X.891 और ISO/IEC 24824-1, और फास्ट इंफोसेट'' के हकदार हैं। मानक 14 मई, 2005 को ITU-T द्वारा और 4 मई, 2007 को ISO द्वारा प्रकाशित किया गया था। फास्ट इन्फोसेट मानक दस्तावेज़ से डाउनलोड किया जा सकता है। X.891-200505-I/en ITU वेबसाइट। हालांकि दस्तावेज़ कार्यान्वयन या उपयोग पर बौद्धिक संपदा (आईपी) प्रतिबंधों पर जोर नहीं देता है, पृष्ठ ii चेतावनी देता है कि इसे नोटिस प्राप्त हुए हैं और विषय पूरी तरह से आईपी अभिकथनों से मुक्त नहीं हो सकता है।

एक आम ग़लतफ़हमी यह है कि FI को ASN.1 टूल सपोर्ट की आवश्यकता है। हालांकि औपचारिक विनिर्देश ASN.1 संकेतन का उपयोग करता है, मानक में एन्कोडिंग नियंत्रण संकेतन (ECN) और ASN.1 उपकरण कार्यान्वयन के लिए आवश्यक नहीं हैं।

FI का एक विकल्प FleXPath है।

संरचना
अंतर्निहित फ़ाइल प्रारूप एब्सट्रैक्ट सिंटैक्स नोटेशन वन | ASN.1 है, जिसमें टैग/लंबाई/वैल्यू ब्लॉक हैं। विशेषताओं और तत्वों के पाठ मूल्यों को अंत सीमांकक के बजाय लंबाई उपसर्गों के साथ संग्रहीत किया जाता है, और डेटा खंडों को विशेष वर्णों के लिए भागने की आवश्यकता नहीं होती है। बाल-तत्वों की सूची के अंत में केवल अंत टैग (टर्मिनेटर) के समतुल्य की आवश्यकता होती है। बाइनरी डेटा मूल प्रारूप में प्रसारित होता है, और इसे बेस 64 जैसे ट्रांसमिशन प्रारूप में परिवर्तित करने की आवश्यकता नहीं होती है।

फास्ट इंफोसेट ASN.1 फॉर्म और नोटेशन पर निर्मित एक उच्च स्तरीय प्रारूप है। पारंपरिक ASN.1 एन्कोडिंग योजनाओं के विपरीत, तत्व और विशेषता नाम ऑक्टेट स्ट्रीम के भीतर संग्रहीत किए जाते हैं। परिणामस्वरूप, पारंपरिक XML फ़ाइल को XML स्कीमा के संदर्भ के बिना बाइनरी स्ट्रीम से पुनर्प्राप्त किया जा सकता है, और XML स्कीमा को ASN.1 परिभाषा के रूप में व्यक्त करने की आवश्यकता नहीं है। (ASN.1 टैग केवल प्रकार के नाम हैं, उदाहरण के लिए स्ट्रिंग, पूर्णांक, या जटिल प्रकार।) ASN.1 ECN के साथ फ़ाइल स्वरूप को परिभाषित करने के लिए उपयोग किया जाता है।

अधिकांश स्ट्रिंग्स के लिए एक अनुक्रमणिका तालिका बनाई गई है, जिसमें तत्व और विशेषता नाम और उनके मान शामिल हैं। इसका मतलब है कि दोहराए गए टैग और मूल्यों का पाठ प्रति दस्तावेज़ केवल एक बार दिखाई देता है।

संदर्भ कार्यान्वयन
JAXB के ग्रहण कार्यान्वयन के हिस्से के रूप में FI विनिर्देशन का जावा कार्यान्वयन उपलब्ध है। लाइब्रेरी खुला स्रोत सॉफ्टवेयर  है और अपाचे लाइसेंस 2.0 की शर्तों के तहत वितरित की जाती है। कई परियोजनाएं इस कार्यान्वयन का उपयोग करती हैं, जिसमें  ग्रहण मेट्रो  में उपयोग किए जाने वाले JAX-WS के संदर्भ कार्यान्वयन शामिल हैं।

C++ के लिए QtitanFastInfoset कार्यान्वयन वाणिज्यिक लाइसेंस के तहत Qt_(सॉफ्टवेयर) ढांचे के लिए एक घटक के रूप में उपलब्ध है।

प्रदर्शन
चूंकि फास्ट इंफोसेट एक्सएमएल पीढ़ी प्रक्रिया के हिस्से के रूप में संकुचित होते हैं, वे एक्सएमएल स्ट्रीम पर ज़िप-शैली संपीड़न एल्गोरिदम का उपयोग करने से ज्यादा तेज़ होते हैं, हालांकि आउटपुट उतना ही संकुचित नहीं होता है।

फास्ट इंफोसेट का SAX-टाइप पार्सिंग प्रदर्शन XML 1.0 के पार्सिंग प्रदर्शन की तुलना में बहुत तेज है, यहां तक ​​कि बिना किसी जिप-स्टाइल कंप्रेशन के भी। संदर्भ जावा (प्रोग्रामिंग भाषा) कार्यान्वयन के लिए देखी गई पार्सिंग गति में विशिष्ट वृद्धि Apache Xerces पर 10 का कारक है, और Piccolo ड्राइवर पर 4 का कारक है (सबसे तेज़ में से एक) जावा-आधारित एक्सएमएल पार्सर्स)।

विशिष्ट अनुप्रयोग
पोर्टेबल डिवाइस - मोबाइल डिवाइस में आमतौर पर कम बैंडविड्थ डेटा कनेक्शन और धीमे सीपीयू होते हैं। फास्ट इंफोसेट एक्सएमएल की तुलना में कम बैंडविड्थ का उपयोग करता है और इसे संसाधित करने के लिए तेज़ है, जिससे यह एक बेहतर विकल्प बन जाता है।

बड़ी मात्रा में डेटा संग्रहीत करना - XML ​​को फ़ाइल या डेटाबेस में संग्रहीत करते समय, सिस्टम द्वारा उत्पादित डेटा की मात्रा अक्सर कई बाधाओं के साथ उचित सीमा से अधिक हो सकती है: जैसे-जैसे अधिक डेटा पढ़ा जाता है, एक्सेस समय बढ़ता जाता है, CPU लोड बढ़ता जाता है XML डेटा को संसाधित करने में अधिक शक्ति लगती है, और संग्रहण लागत बढ़ जाती है। XML डेटा को फास्ट इन्फोसेट फॉर्मेट में स्टोर करके, डेटा वॉल्यूम को 80 प्रतिशत तक कम किया जा सकता है।

इंटरनेट के माध्यम से एक्सएमएल पास करना - जब कोई एप्लिकेशन इंटरनेट पर डेटा पास करता है, तो नेटवर्क बैंडविड्थ एक बड़ी अड़चन हो सकती है, क्लाइंट एप्लिकेशन के प्रदर्शन को गंभीरता से कम कर सकती है और अनुरोधों को संसाधित करने के लिए सर्वर की शक्ति को सीमित कर सकती है। इंटरनेट पर स्थानांतरित डेटा के आकार को कम करने से संदेश भेजने या प्राप्त करने के लिए आवश्यक समय कम हो जाता है, और लेन-देन की संख्या बढ़ जाती है जिसे सर्वर प्रति घंटे संसाधित कर सकता है।

यह भी देखें

 * बाइनरी एक्सएमएल
 * कुशल एक्सएमएल इंटरचेंज
 * X3D

बाहरी संबंध

 * A heavy technical description on OTN
 * FastInfoset.NET home page
 * FI project home page
 * Fast Infoset page at the ASN.1 site
 * OSS Fast Infoset Tools page
 * Free download of the Fast Infoset standard (ITU-T Rec. X.891) from the ITU Web site
 * Free download of the Fast Infoset standard (ISO/IEC 24824-1:2007) from ISO Freely Available Standards
 * Liquid Fast Infoset .Net (an Open Source .Net implementation)