मॉड्यूल snmp_index SNMP तालिकाओं के लिए एक SNMP सूचकांक संरचना के लिए एक सार डेटा प्रकार (ADT) को लागू करता है। इसे ऑर्डर किए गए डेटा-प्रकार के ईटीएस टेबल के रूप में लागू किया गया है, जिसका अर्थ है कि सभी ऑपरेशन ओ (लॉग एन) हैं। तालिका में, कुंजी ASN.1 OBJECT IDENTIFIER है।
यह सूचकांक तालिका के वास्तविक कार्यान्वयन से एसएनएमपी आदेश के कार्यान्वयन को अलग करने के लिए उपयोग किया जाता है। एसएनएमपी ऑर्डरिंग, जो कि GET NEXT का कार्यान्वयन है, इस मॉड्यूल में लागू किया गया है।
उदाहरण के लिए, मान लें कि एक एसएनएमपी तालिका है, जिसे एर्लांग में सबसे अच्छी तरह से एसएनएमपी तालिका पंक्ति में एक प्रक्रिया के रूप में लागू किया गया है। मान लीजिए कि SNMP तालिका में INDEX एक OCTET STRING है। सूचकांक संरचना निम्नानुसार बनाई जाएगी:
snmp_index:new(string)
हमारे द्वारा बनाई गई प्रत्येक नई प्रक्रिया के लिए, हम एक आइटम को snmp_index संरचना में सम्मिलित करते हैं:
new_process(Name, SnmpIndex) ->
Pid = start_process(),
NewSnmpIndex =
snmp_index:insert(SnmpIndex, Name, Pid),
<...>
इस संरचना के साथ, हम अब OBJECT IDENTIFIER को एक GET NEXT अनुरोध में सही प्रक्रिया के लिए मैप कर सकते हैं:
get_next_pid(Oid, SnmpIndex) ->
{ok, {_, Pid}} = snmp_index:get_next(SnmpIndex, Oid),
Pid.
पिछले उद्धरण में प्रदान की गई जानकारी और जानकारी के साथ निष्कर्ष में, मेरा मानना है कि एसएनएमपी सूचकांकों को इस तथ्य के कारण नहीं बदलना चाहिए कि यह एक सूचकांक के उद्देश्य को हरा देगा (मुझे गलत होने पर सही करें)।
अद्यतन: जिस तरह से मैं इसे देखता हूं, एक एसएनएमपी सूचकांक डेटाबेस सूचकांक के समान है, लेकिन यह संदर्भ के लिए नेटवर्क उपकरणों को अनुक्रमित करता है। जब हार्डवेयर हटाया जाता है या जोड़ा जाता है, तो केवल इस सूचकांक को बदलना चाहिए। आप नहीं चाहेंगे कि आप एक मौजूदा रिकॉर्ड पर डेटाबेस इंडेक्स को बदल दें क्योंकि यह डुप्लिकेट या अन्य मुद्दों का कारण बन सकता है। हो सकता है कि कोई अन्य उत्तर या टिप्पणी के साथ इस प्रश्न पर कुछ प्रकाश डाल सके। मैं नेटवर्किंग के बारे में बहुत कुछ जानता हूं, लेकिन मैंने एसएनएमपी इंडोल को बदलते हुए कभी नहीं सुना है। मैंने लगभग एक घंटे तक इसे देखा और पहले से बताए गए वेब पेज और विकी पेज के अलावा अन्य बहुत उपयोगी चीजों के साथ नहीं आया ।