Snowflake ID जेनरेटर और डिकोडर

Twitter या Discord epoch के साथ 64-बिट Snowflake ID जेनरेट और डिकोड करें, ठीक आपके ब्राउज़र में। आपके द्वारा दर्ज की गई कोई चीज़ आपके डिवाइस से बाहर नहीं जाती।

Snowflake ID जेनरेटर पूरी तरह आपके ब्राउज़र में चलता है। आपके द्वारा दर्ज या डिकोड किए ID, टाइमस्टैम्प, और फ़ील्ड मान कभी आपके डिवाइस से बाहर नहीं जाते और कुछ भी ArrayKit पर अपलोड नहीं होता।

ULID Generator खोलें

Snowflake ID जेनरेटर के बारे में

Snowflake ID जेनरेटर 64-बिट Snowflake ID उसी तरह बनाता है जैसे Twitter और Discord करते हैं: एक मिलीसेकंड टाइमस्टैम्प, एक worker id, एक process id, और एक प्रति-मिलीसेकंड sequence एक BigInt में पैक किया गया। Discord या Twitter epoch प्रीसेट चुनें, या Unix मिलीसेकंड में अपना स्वयं का epoch टाइप करें, फिर एक ID बनाने के लिए टाइमस्टैम्प और फ़ील्ड मान सेट करें। किसी भी Snowflake को पेस्ट करने और आपके द्वारा चुने epoch के तहत सटीक मिलीसेकंड टाइमस्टैम्प, उसका ISO समय, और worker, process, तथा sequence बिट्स देखने के लिए Decode पर स्विच करें। यह रिवर्स-इंजीनियरिंग के लिए काम आता है कि एक Discord संदेश कब पोस्ट किया गया, एक टेस्ट फ़िक्स्चर में एक ID पुन: उत्पन्न करने, या एक वितरित id योजना की जाँच करने के लिए। सभी बिट-शिफ़्टिंग आपके डिवाइस पर होती है; आपके द्वारा दर्ज किए ID और टाइमस्टैम्प कभी अपलोड नहीं होते।

विशेषताएँ

Snowflake ID जेनरेटर का उपयोग कैसे करें

  1. Discord, Twitter, या एक कस्टम epoch चुनें
  2. Generate में, टाइमस्टैम्प और worker, process, तथा sequence मान सेट करें
  3. परिणामी 64-बिट Snowflake ID कॉपी करें
  4. Decode पर स्विच करें और उसका टाइमस्टैम्प तथा फ़ील्ड वापस पढ़ने के लिए एक Snowflake पेस्ट करें

उदाहरण

इनपुट

175928847299117063  (Discord epoch)

आउटपुट

timestamp: 2016-04-30T11:18:25.796Z
worker: 1  process: 0  sequence: 7

एक Discord Snowflake डिकोड करना पुनर्प्राप्त करता है कि यह कब बनाया गया और इसके फ़ील्ड बिट्स।

सामान्य त्रुटियाँ और समस्या निवारण

अक्सर पूछे जाने वाले प्रश्न

एक Snowflake ID क्या है?
एक Snowflake Twitter और Discord द्वारा उपयोग किया जाने वाला एक 64-बिट id है जो एक मिलीसेकंड टाइमस्टैम्प, एक worker (मशीन) id, एक process id, और एक प्रति-मिलीसेकंड sequence को एक अकेली सॉर्ट करने योग्य संख्या में पैक करता है, इसलिए id एक केंद्रीय काउंटर के बिना अद्वितीय और मोटे तौर पर समय-क्रमबद्ध होते हैं।
मैं एक Discord संदेश की ID से कैसे पता करूँ कि यह कब भेजा गया?
संदेश या उपयोगकर्ता id को Discord epoch चयनित के साथ Decode में पेस्ट करें। टूल 42 टाइमस्टैम्प बिट्स को बाहर शिफ़्ट करता है, Discord epoch (1420070400000 ms) जोड़ता है, और सटीक निर्माण समय को ISO और Unix मिलीसेकंड के रूप में दिखाता है।
Twitter और Discord epoch में क्या अंतर है?
दोनों लेआउट समान बिट चौड़ाई के हैं, लेकिन वे अलग-अलग प्रारंभ बिंदुओं से मिलीसेकंड गिनते हैं: Twitter 1288834974657 (Nov 2010) का उपयोग करता है और Discord 1420070400000 (Jan 2015) का। गलत वाले के साथ डिकोड करना हर टाइमस्टैम्प को उस अंतराल से शिफ़्ट कर देता है।
worker और process को 31 पर और sequence को 4095 पर क्यों सीमित किया जाता है?
लेआउट worker और process को प्रत्येक को 5 बिट्स देता है (2^5 − 1 = 31) और sequence को 12 बिट्स (2^12 − 1 = 4095)। उन सीमाओं से ऊपर के मान अगले फ़ील्ड में ओवरफ़्लो हो जाते, इसलिए जेनरेटर उन्हें अस्वीकार करता है।
क्या मैं अपनी स्वयं की सेवा के लिए एक कस्टम epoch उपयोग कर सकता हूँ?
हाँ। Custom प्रीसेट चुनें और अपना epoch Unix मिलीसेकंड में दर्ज करें। Generate और Decode फिर उस मान का उपयोग करते हैं, जो आपको किसी भी Snowflake-शैली योजना के साथ काम करने देता है जो 42/5/5/12 बिट लेआउट रखती है।
क्या मेरे द्वारा जेनरेट या डिकोड किए ID कहीं भेजे जाते हैं?
नहीं। हर बिट-शिफ़्ट BigInt के साथ आपके ब्राउज़र में चलता है। आपके द्वारा टाइप या पेस्ट किए टाइमस्टैम्प, id, और फ़ील्ड मान कभी आपके डिवाइस से बाहर नहीं जाते और ArrayKit पर अपलोड नहीं होते।

संबंधित टूल

सभी ArrayKit टूल