मैं संदेश और दोहराव के नुकसान से बचने के लिए उपकरणों के बीच डेटा को कैसे सिंक्रनाइज़ कर सकता हूं?


9

मेरे पास एक-दूसरे को डेटा भेजने वाले उपकरणों का IoT नेटवर्क है, जिसमें डेटा को डेटाबेस में संग्रहीत किया जाता है।

यदि मेरे पास अनुक्रम में 10 पैकेट / एपीआई अनुरोध भेजने वाला उपकरण है, तो कभी-कभी कुछ ही अपने गंतव्य तक पहुंचते हैं। उदाहरण के लिए, पैकेट 1, 3 और 9 अपने गंतव्य तक पहुंच सकते हैं, जबकि अन्य नहीं।

मैं इन पैकेटों को कैसे ट्रैक कर सकता हूं और यह सुनिश्चित कर सकता हूं कि सभी बिना किसी दोहराव या रिसाव के अपने गंतव्य तक पहुंचें? मुझे उम्मीद है कि पैकेट खोने वाले केवल एक उपकरण के बजाय वास्तविक जीवन में हजारों डिवाइस होंगे।

जवाबों:


6

आमतौर पर, आपको इस बात की मजबूत गारंटी के साथ एक प्रोटोकॉल चुनने की आवश्यकता होगी कि क्या ग्राहक को कोई पैकेट / संदेश प्राप्त होगा, जिस क्रम में और क्या दोहराव की अनुमति है।

एक - दूसरे को छोटे-छोटे संदेश भेजने वाले IoT उपकरणों के नेटवर्क के लिए , MQTT का उपयोग सेवा की गुणवत्ता 2 के साथ करने से आपके उपयोग के मामले में अच्छी तरह से फिट होता प्रतीत होगा। जैसा कि HiveMQ लिंक में कहा गया है:

उच्चतम QoS 2 है, यह गारंटी देता है कि प्रत्येक संदेश समकक्ष द्वारा केवल एक बार प्राप्त किया जाता है। यह सबसे सुरक्षित है और सेवा स्तर की सबसे धीमी गुणवत्ता भी है। गारंटी दो प्रवाह द्वारा प्रदान की जाती है और प्रेषक और रिसीवर के बीच वापस आती है।

ध्यान दें कि QoS 2 संदेशों के क्रम को संरक्षित करता है , और, जैसा कि कहा गया है, डुप्लिकेट किए गए संदेशों को रोकता है।

एक नहीं है पर्याप्त MQTT क्यूओएस 2 मानक क्यूओएस 0 की तुलना में (जो एक के लिए समान है का उपयोग करने में भूमि के ऊपर फायर-एंड-भूल संदेश, यदि यह दलाल तक नहीं पहुंचता है, तो संदेश को पुन: भेजने नहीं मिलता है और हमेशा के लिए हट ) - क्यूओएस 2 से 4 संदेश (की आवश्यकता है PUBLISHइस से, PUBRECदलाल से, PUBRELग्राहक से, PUBCOMPदलाल से),) तो यह आम तौर पर, इस प्रक्रिया में अधिक समय लग जाएगा किसी भी विवश अंतिम बिंदुओं पर अधिक संसाधनों (इसलिए लंबे समय तक रेडियो प्रसारण और अधिक बिजली के उपयोग से लेते हैं।

एक MQTT QoS 2 संदेश केवल ब्रोकर से पावती प्राप्त होने तक बार-बार प्रेषक से नाराज होगा, इसलिए अंततः आपके संदेश के माध्यम से प्राप्त करना चाहिए, भले ही आपका कनेक्शन अपूर्ण हो।

विषय-आधारित प्रकाशन-सदस्यता प्रोटोकॉल आपके उपयोग के मामले के लिए उपयुक्त है या नहीं यह निर्धारित करने के लिए आपके ऊपर है; विकिपीडिया लेख आपको एक विचार प्राप्त करने में मदद कर सकता है।


1
धन्यवाद @ Aurora0001 आपके काम और उत्तर के लिए। HTTP प्रोटोकॉल आधारित संदेश संचार / async, या IP पैकेट पर आधारित कोई भी तंत्र आग की तरह कह सकता है और भूल सकता है? मान लीजिए कि एक परिदृश्य - सिस्टम A, सिस्टम B को एक संदेश भेजता है। सिस्टम में एक 5 संदेश बनाया गया है / अनुक्रम में भेजने के लिए तैयार है - 1,2,3,4,5। सिस्टम बी में संदेश प्राप्त हुआ जैसे - 1,4,5। यहाँ सिस्टम बी 2 3 के लिए रिकॉर्ड / पैकेट / डेटा से चूक गया। तो क्या सिस्टम एबी के बीच
तालमेल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.