फास्ट इंफोसेट: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
फास्ट इंफोसेट (या FI) अंतरराष्ट्रीय मानक है जो [[XML]] | '''फास्ट इंफोसेट''' (या FI) ऐसा अंतरराष्ट्रीय मानक है जो [[XML]] डाॅक्यूमेंट के प्रारूप को मुख्य विकल्प के रूप में XML सूचना के समूह के रूप में ''XML इंफोसेट'' के लिए बाइनरी XML प्रारूप निर्दिष्ट करने में सहायता करता है। इसका उद्देश्य पाठ-आधारित XML प्रारूप की तुलना में अधिक कुशल क्रमांकन प्रदान करना है। | ||
FI प्रभावी रूप से [[दोषरहित संपीड़न]] है, जो XML के लिए ''[[gzip]]'' के अनुरूप है, | FI प्रभावी रूप से [[दोषरहित संपीड़न]] है, जो XML के लिए ''[[gzip]]'' के अनुरूप है, इसके अतिरिक्त जब मूल स्वरूपण विलुप्त हो जाता है, तो XML से FI और XML में वापस रूपांतरण में कोई जानकारी नहीं खोती है। जबकि संपीड़न का उद्देश्य भौतिक डेटा आकार को कम करना है, इस प्रकार FI का उद्देश्य डाॅक्यूमेंट आकार और प्रसंस्करण प्रदर्शन दोनों को अनुकूलित करना है। | ||
फास्ट इन्फोसेट विनिर्देश [[ITU-T]] और मानकीकरण के लिए अंतर्राष्ट्रीय संगठन/अंतर्राष्ट्रीय [[इंटरनेशनल इलेक्ट्रोटेक्नीकल कमीशन]] निकायों दोनों द्वारा परिभाषित किया गया है। FI को आधिकारिक तौर पर 'ITU-T Rec' में परिभाषित किया गया है। X.891'' और ''ISO/IEC 24824-1,'' और ''फास्ट इंफोसेट'' | फास्ट इन्फोसेट विनिर्देश [[ITU-T]] और मानकीकरण के लिए अंतर्राष्ट्रीय संगठन/अंतर्राष्ट्रीय [[इंटरनेशनल इलेक्ट्रोटेक्नीकल कमीशन]] निकायों दोनों द्वारा परिभाषित किया गया है। FI को आधिकारिक तौर पर 'ITU-T Rec' में परिभाषित किया गया है। X.891'' और ''ISO/IEC 24824-1,'' और ''फास्ट इंफोसेट'' का अधिकार रहता हैं। इसका मानक 14 मई, 2005 को ITU-T द्वारा और 4 मई, 2007 को ISO द्वारा प्रकाशित किया गया था। फास्ट इन्फोसेट मानक डाॅक्यूमेंट [http://www.itu.int/rec/T-REC- से डाउनलोड किया जा सकता है। X.891-200505-I/en ITU वेबसाइट]। चूंकि डाॅक्यूमेंट कार्यान्वयन या उपयोग पर बौद्धिक संपदा (आईपी) प्रतिबंधों पर बल नहीं देता है, इस प्रकार पृष्ठ ii यह चेतावनी देता है कि इसे नोटिस प्राप्त हुए हैं और विषय पूर्ण रूप से आईपी अभिकथनों से मुक्त नहीं हो सकता है।'' | ||
एक आम ग़लतफ़हमी यह है कि FI को ASN.1 टूल सपोर्ट की आवश्यकता है। | एक आम ग़लतफ़हमी यह है कि FI को ASN.1 टूल सपोर्ट की आवश्यकता है। चूंकि औपचारिक विनिर्देश ASN.1 संकेतन का उपयोग करता है, मानक में [[एन्कोडिंग नियंत्रण संकेतन]] (ECN) और ASN.1 उपकरण कार्यान्वयन के लिए आवश्यक नहीं हैं। | ||
FI का विकल्प | यहाँ पर FI का विकल्प मुख्य रूप से फ्लेक्स पाथ द्वार निर्दिष्ट किया जाता है।<ref>Amer-Yahia, Sihem, Laks VS Lakshmanan, and Shashank Pandit. "FleXPath: flexible structure and full-text querying for XML." Proceedings of the 2004 ACM SIGMOD international conference on Management of data. ACM, 2004.</ref> | ||
== संरचना == | == संरचना == | ||
अंतर्निहित फ़ाइल प्रारूप एब्सट्रैक्ट सिंटैक्स नोटेशन वन | अंतर्निहित फ़ाइल प्रारूप एब्सट्रैक्ट सिंटैक्स नोटेशन वन या ASN.1 है, जिसमें टैग/लंबाई/वैल्यू ब्लॉक हैं। इसकी मुख्य विशेषताओं और तत्वों के पाठ मूल्यों को अंत सीमांकक के बजाय लंबाई उपसर्गों के साथ संग्रहीत किया जाता है, और डेटा खंडों को विशेष वर्णों के लिए भागने की आवश्यकता नहीं होती है। इसके मुख्य एलिमेंट की सूची के अंत में केवल अंत टैग (टर्मिनेटर) के समतुल्य की आवश्यकता होती है। बाइनरी डेटा मूल प्रारूप में प्रसारित होता है, और इसे [[बेस 64]] जैसे ट्रांसमिशन प्रारूप में परिवर्तित करने की आवश्यकता नहीं होती है। | ||
फास्ट इंफोसेट ASN.1 फॉर्म और नोटेशन पर निर्मित उच्च स्तरीय प्रारूप है। पारंपरिक ASN.1 एन्कोडिंग योजनाओं के विपरीत, तत्व और विशेषता नाम ऑक्टेट स्ट्रीम के भीतर संग्रहीत किए जाते हैं। परिणामस्वरूप, पारंपरिक XML फ़ाइल को XML स्कीमा के संदर्भ के बिना बाइनरी स्ट्रीम से पुनर्प्राप्त किया जा सकता है, और XML स्कीमा को ASN.1 परिभाषा के रूप में व्यक्त करने की आवश्यकता नहीं है। | फास्ट इंफोसेट ASN.1 फॉर्म और नोटेशन पर निर्मित उच्च स्तरीय प्रारूप है। पारंपरिक ASN.1 एन्कोडिंग योजनाओं के विपरीत, तत्व और विशेषता नाम ऑक्टेट स्ट्रीम के भीतर संग्रहीत किए जाते हैं। परिणामस्वरूप, पारंपरिक XML फ़ाइल को XML स्कीमा के संदर्भ के बिना बाइनरी स्ट्रीम से पुनर्प्राप्त किया जा सकता है, और XML स्कीमा को ASN.1 परिभाषा के रूप में व्यक्त करने की आवश्यकता नहीं है। इस कारण ASN.1 टैग केवल प्रकार के नाम हैं, उदाहरण के लिए स्ट्रिंग, पूर्णांक इसका प्रमुख उदाहरम हैं। इस प्रकार ASN.1 ECN के साथ फ़ाइल स्वरूप को परिभाषित करने के लिए उपयोग किया जाता है। | ||
अधिकांश स्ट्रिंग्स के लिए अनुक्रमणिका | अधिकांश स्ट्रिंग्स के लिए अनुक्रमणिका सूची बनाई गई है, जिसमें तत्व और विशेषता नाम और उनके मान सम्मिलित हैं। इसका अर्थ है कि दोहराए गए टैग और मूल्यों का पाठ प्रति डाॅक्यूमेंट केवल बार दिखाई देता है। | ||
== कार्यान्वयन == | == कार्यान्वयन == | ||
=== संदर्भ कार्यान्वयन === | === संदर्भ कार्यान्वयन === | ||
JAXB के ग्रहण कार्यान्वयन | JAXB के ग्रहण कार्यान्वयन के रूप में FI विनिर्देशन का जावा कार्यान्वयन उपलब्ध है। इसके आधार पर लाइब्रेरी [[ खुला स्रोत सॉफ्टवेयर |ओपेन स्रोत सॉफ्टवेयर]] है और [[अपाचे लाइसेंस]] 2.0 की शर्तों के अनुसार वितरित किए जाते है। इसकी कई परियोजनाएं इस कार्यान्वयन का उपयोग करती हैं, जिसमें [[ ग्रहण मेट्रो |ग्रहण मेट्रो]] में उपयोग किए जाने वाले [[JAX-WS]] के संदर्भ कार्यान्वयन सम्मिलित करती हैं। | ||
C++ के लिए | C++ के लिए क्यूटीटन फास्ट इन्फोसेट कार्यान्वयन वाणिज्यिक लाइसेंस के अनुसार Qt_(सॉफ्टवेयर) की संरचना के लिए घटक के रूप में उपलब्ध है। | ||
== प्रदर्शन == | == प्रदर्शन == | ||
चूंकि फास्ट इंफोसेट एक्सएमएल पीढ़ी प्रक्रिया के हिस्से के रूप में संकुचित होते हैं, वे एक्सएमएल स्ट्रीम पर ज़िप-शैली संपीड़न एल्गोरिदम का उपयोग करने से ज्यादा तेज़ होते हैं, | चूंकि फास्ट इंफोसेट एक्सएमएल पीढ़ी प्रक्रिया के हिस्से के रूप में संकुचित होते हैं, वे एक्सएमएल स्ट्रीम पर ज़िप-शैली संपीड़न एल्गोरिदम का उपयोग करने से ज्यादा तेज़ होते हैं, चूंकि आउटपुट उतना ही संकुचित नहीं होता है। | ||
फास्ट इंफोसेट का SAX-टाइप पार्सिंग प्रदर्शन XML 1.0 के पार्सिंग प्रदर्शन की तुलना में बहुत तेज है, यहां तक कि बिना किसी जिप-स्टाइल कंप्रेशन के | फास्ट इंफोसेट का SAX-टाइप पार्सिंग प्रदर्शन XML 1.0 के पार्सिंग प्रदर्शन की तुलना में बहुत तेज है, यहां तक कि बिना किसी जिप-स्टाइल कंप्रेशन के लिए भी इस संदर्भ में [[जावा (प्रोग्रामिंग भाषा)]] कार्यान्वयन के लिए देखी गई पार्सिंग गति में विशिष्ट वृद्धि [[Apache Xerces|अपाचे जेसरेस]] पर 10 का कारक उपलब्ध है, और [http://piccolo.sourceforge.net/ पिक्कोला ड्राइवर] पर 4 का कारक है, जिसके सबसे तेज़ में से एक जावा-आधारित एक्सएमएल पार्सर्स हैं।<ref>{{cite web | ||
|url=https://fi.dev.java.net/performance.html | |url=https://fi.dev.java.net/performance.html | ||
|archive-url=https://archive.today/20110807184339/https://fi.dev.java.net/performance.html | |archive-url=https://archive.today/20110807184339/https://fi.dev.java.net/performance.html | ||
Line 51: | Line 51: | ||
}}</ref> | }}</ref> | ||
== विशिष्ट अनुप्रयोग == | == विशिष्ट अनुप्रयोग == | ||
पोर्टेबल डिवाइस - मोबाइल डिवाइस में | पोर्टेबल डिवाइस - मोबाइल डिवाइस में सामान्यतः कम बैंडविड्थ डेटा कनेक्शन और धीमे सीपीयू होते हैं। इसके आधार पर फास्ट इंफोसेट एक्सएमएल की तुलना में कम बैंडविड्थ का उपयोग करता है और इसे संसाधित करने के लिए तेज़ है, जिससे यह इसके लिए और उत्तम विकल्प बना देता है। | ||
बड़ी मात्रा में डेटा संग्रहीत करना | इस प्रकार बड़ी मात्रा में डेटा संग्रहीत करना मुख्य रूप से XML को फ़ाइल या डेटाबेस में संग्रहीत करते समय, सिस्टम द्वारा उत्पादित डेटा की मात्रा अधिकांशतः कई बाधाओं के साथ उचित सीमा से अधिक हो सकती है: जैसे-जैसे अधिक डेटा पढ़ा जाता है, एक्सेस समय बढ़ता जाता है, CPU लोड बढ़ता जाता है XML डेटा को संसाधित करने में अधिक शक्ति लगती है, और संग्रहण लागत बढ़ जाती है। इस प्रकार XML डेटा को फास्ट इन्फोसेट फॉर्मेट में स्टोर करके, डेटा वॉल्यूम को 80 प्रतिशत तक कम किया जा सकता है। | ||
इंटरनेट के माध्यम से एक्सएमएल पास करना - जब कोई एप्लिकेशन इंटरनेट पर डेटा पास करता है, तो नेटवर्क बैंडविड्थ बड़ी | इंटरनेट के माध्यम से एक्सएमएल पास करना - जब कोई एप्लिकेशन इंटरनेट पर डेटा पास करता है, तो नेटवर्क बैंडविड्थ में बड़ी कठिनाई हो सकती है, इस प्रकार क्लाइंट एप्लिकेशन के प्रदर्शन को गंभीरता से कम कर सकती है और अनुरोधों को संसाधित करने के लिए सर्वर की शक्ति को सीमित कर सकती है। इसके आधार पर इंटरनेट पर स्थानांतरित डेटा के आकार को कम करने से संदेश भेजने या प्राप्त करने के लिए आवश्यक समय कम हो जाता है, और लेन-देन की संख्या बढ़ जाती है जिसे सर्वर प्रति घंटे संसाधित कर सकता है। | ||
== यह भी देखें == | == यह भी देखें == | ||
* बाइनरी एक्सएमएल | * बाइनरी एक्सएमएल | ||
* [[कुशल एक्सएमएल इंटरचेंज]] | * [[कुशल एक्सएमएल इंटरचेंज]] | ||
* [[X3D]] | * [[X3D|एक्स3डी]] | ||
==संदर्भ== | ==संदर्भ== |
Revision as of 22:17, 27 June 2023
फास्ट इंफोसेट (या FI) ऐसा अंतरराष्ट्रीय मानक है जो XML डाॅक्यूमेंट के प्रारूप को मुख्य विकल्प के रूप में XML सूचना के समूह के रूप में XML इंफोसेट के लिए बाइनरी 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 का विकल्प मुख्य रूप से फ्लेक्स पाथ द्वार निर्दिष्ट किया जाता है।[1]
संरचना
अंतर्निहित फ़ाइल प्रारूप एब्सट्रैक्ट सिंटैक्स नोटेशन वन या ASN.1 है, जिसमें टैग/लंबाई/वैल्यू ब्लॉक हैं। इसकी मुख्य विशेषताओं और तत्वों के पाठ मूल्यों को अंत सीमांकक के बजाय लंबाई उपसर्गों के साथ संग्रहीत किया जाता है, और डेटा खंडों को विशेष वर्णों के लिए भागने की आवश्यकता नहीं होती है। इसके मुख्य एलिमेंट की सूची के अंत में केवल अंत टैग (टर्मिनेटर) के समतुल्य की आवश्यकता होती है। बाइनरी डेटा मूल प्रारूप में प्रसारित होता है, और इसे बेस 64 जैसे ट्रांसमिशन प्रारूप में परिवर्तित करने की आवश्यकता नहीं होती है।
फास्ट इंफोसेट ASN.1 फॉर्म और नोटेशन पर निर्मित उच्च स्तरीय प्रारूप है। पारंपरिक ASN.1 एन्कोडिंग योजनाओं के विपरीत, तत्व और विशेषता नाम ऑक्टेट स्ट्रीम के भीतर संग्रहीत किए जाते हैं। परिणामस्वरूप, पारंपरिक XML फ़ाइल को XML स्कीमा के संदर्भ के बिना बाइनरी स्ट्रीम से पुनर्प्राप्त किया जा सकता है, और XML स्कीमा को ASN.1 परिभाषा के रूप में व्यक्त करने की आवश्यकता नहीं है। इस कारण ASN.1 टैग केवल प्रकार के नाम हैं, उदाहरण के लिए स्ट्रिंग, पूर्णांक इसका प्रमुख उदाहरम हैं। इस प्रकार ASN.1 ECN के साथ फ़ाइल स्वरूप को परिभाषित करने के लिए उपयोग किया जाता है।
अधिकांश स्ट्रिंग्स के लिए अनुक्रमणिका सूची बनाई गई है, जिसमें तत्व और विशेषता नाम और उनके मान सम्मिलित हैं। इसका अर्थ है कि दोहराए गए टैग और मूल्यों का पाठ प्रति डाॅक्यूमेंट केवल बार दिखाई देता है।
कार्यान्वयन
संदर्भ कार्यान्वयन
JAXB के ग्रहण कार्यान्वयन के रूप में FI विनिर्देशन का जावा कार्यान्वयन उपलब्ध है। इसके आधार पर लाइब्रेरी ओपेन स्रोत सॉफ्टवेयर है और अपाचे लाइसेंस 2.0 की शर्तों के अनुसार वितरित किए जाते है। इसकी कई परियोजनाएं इस कार्यान्वयन का उपयोग करती हैं, जिसमें ग्रहण मेट्रो में उपयोग किए जाने वाले JAX-WS के संदर्भ कार्यान्वयन सम्मिलित करती हैं।
C++ के लिए क्यूटीटन फास्ट इन्फोसेट कार्यान्वयन वाणिज्यिक लाइसेंस के अनुसार Qt_(सॉफ्टवेयर) की संरचना के लिए घटक के रूप में उपलब्ध है।
प्रदर्शन
चूंकि फास्ट इंफोसेट एक्सएमएल पीढ़ी प्रक्रिया के हिस्से के रूप में संकुचित होते हैं, वे एक्सएमएल स्ट्रीम पर ज़िप-शैली संपीड़न एल्गोरिदम का उपयोग करने से ज्यादा तेज़ होते हैं, चूंकि आउटपुट उतना ही संकुचित नहीं होता है।
फास्ट इंफोसेट का SAX-टाइप पार्सिंग प्रदर्शन XML 1.0 के पार्सिंग प्रदर्शन की तुलना में बहुत तेज है, यहां तक कि बिना किसी जिप-स्टाइल कंप्रेशन के लिए भी इस संदर्भ में जावा (प्रोग्रामिंग भाषा) कार्यान्वयन के लिए देखी गई पार्सिंग गति में विशिष्ट वृद्धि अपाचे जेसरेस पर 10 का कारक उपलब्ध है, और पिक्कोला ड्राइवर पर 4 का कारक है, जिसके सबसे तेज़ में से एक जावा-आधारित एक्सएमएल पार्सर्स हैं।[2][3][4]
विशिष्ट अनुप्रयोग
पोर्टेबल डिवाइस - मोबाइल डिवाइस में सामान्यतः कम बैंडविड्थ डेटा कनेक्शन और धीमे सीपीयू होते हैं। इसके आधार पर फास्ट इंफोसेट एक्सएमएल की तुलना में कम बैंडविड्थ का उपयोग करता है और इसे संसाधित करने के लिए तेज़ है, जिससे यह इसके लिए और उत्तम विकल्प बना देता है।
इस प्रकार बड़ी मात्रा में डेटा संग्रहीत करना मुख्य रूप से XML को फ़ाइल या डेटाबेस में संग्रहीत करते समय, सिस्टम द्वारा उत्पादित डेटा की मात्रा अधिकांशतः कई बाधाओं के साथ उचित सीमा से अधिक हो सकती है: जैसे-जैसे अधिक डेटा पढ़ा जाता है, एक्सेस समय बढ़ता जाता है, CPU लोड बढ़ता जाता है XML डेटा को संसाधित करने में अधिक शक्ति लगती है, और संग्रहण लागत बढ़ जाती है। इस प्रकार XML डेटा को फास्ट इन्फोसेट फॉर्मेट में स्टोर करके, डेटा वॉल्यूम को 80 प्रतिशत तक कम किया जा सकता है।
इंटरनेट के माध्यम से एक्सएमएल पास करना - जब कोई एप्लिकेशन इंटरनेट पर डेटा पास करता है, तो नेटवर्क बैंडविड्थ में बड़ी कठिनाई हो सकती है, इस प्रकार क्लाइंट एप्लिकेशन के प्रदर्शन को गंभीरता से कम कर सकती है और अनुरोधों को संसाधित करने के लिए सर्वर की शक्ति को सीमित कर सकती है। इसके आधार पर इंटरनेट पर स्थानांतरित डेटा के आकार को कम करने से संदेश भेजने या प्राप्त करने के लिए आवश्यक समय कम हो जाता है, और लेन-देन की संख्या बढ़ जाती है जिसे सर्वर प्रति घंटे संसाधित कर सकता है।
यह भी देखें
- बाइनरी एक्सएमएल
- कुशल एक्सएमएल इंटरचेंज
- एक्स3डी
संदर्भ
- ↑ Amer-Yahia, Sihem, Laks VS Lakshmanan, and Shashank Pandit. "FleXPath: flexible structure and full-text querying for XML." Proceedings of the 2004 ACM SIGMOD international conference on Management of data. ACM, 2004.
- ↑ "Fast Infoset performance reports". 2005-10-06. Archived from the original on 2011-08-07. Retrieved 2007-10-11.
- ↑ "Japex Report: ParsingPerformance". 2005-01-10. Archived from the original on 2011-08-07. Retrieved 2007-10-11.
- ↑ "Japex Report: SizePerformance". 2005-01-10. Archived from the original on 2011-08-07. Retrieved 2007-10-11.
बाहरी संबंध
- 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)