ਕੇਐਸਯੂਆਈਡੀ ਜਨਰੇਟਰ: ਵਿਲੱਖਣ ਪਛਾਣਕਰਤਾ ਬਣਾਓ

ਵੰਡਿਤ ਪ੍ਰਣਾਲੀਆਂ, ਡੇਟਾਬੇਸਾਂ ਅਤੇ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ ਵਿਲੱਖਣ, ਸਮੇਂ-ਸਰਣੀਬੱਧ ਕੁੰਜੀਆਂ ਦੀ ਲੋੜ ਲਈ ਕੇ-ਸੋਰਟੇਬਲ ਵਿਲੱਖਣ ਪਛਾਣਕਰਤਾ (ਕੇਐਸਯੂਆਈਡੀ) ਜਨਰੇਟ ਕਰੋ। ਕੇਐਸਯੂਆਈਡੀ ਇੱਕ ਟਾਈਮਸਟੈਂਪ ਨੂੰ ਯਾਦਰੱਖਣਯੋਗ ਡੇਟਾ ਨਾਲ ਜੋੜਦੇ ਹਨ ਤਾਂ ਜੋ ਟਕਰਾਅ-ਰਹਿਤ, ਸਰਣੀਬੱਧ ਪਛਾਣਕਰਤਾ ਬਣ ਸਕਣ।

ਕੇਐਸਯੂਆਈਡੀ ਜਨਰੇਟਰ

📚

ਦਸਤਾਵੇਜ਼ੀਕਰਣ

KSUID ਜਨਰੇਟਰ

ਪਰਿਚਯ

KSUID (K-Sortable Unique IDentifier) ਇੱਕ ਵਿਲੱਖਣ ਪਛਾਣਕਰਤਾ ਫਾਰਮੈਟ ਹੈ ਜੋ ਪਰੰਪਰਾਗਤ UUID (Universally Unique Identifier) ਅਤੇ ਹੋਰ ਪਛਾਣਕਰਤਾ ਪ੍ਰਣਾਲੀਆਂ ਦੇ ਮੁਕਾਬਲੇ ਕਈ ਫਾਇਦੇ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਇਹ ਟੂਲ ਤੁਹਾਨੂੰ KSUIDs ਨੂੰ ਤੇਜ਼ੀ ਅਤੇ ਆਸਾਨੀ ਨਾਲ ਜਨਰੇਟ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।

KSUID ਕੀ ਹੈ?

KSUID ਇੱਕ 20-ਬਾਈਟ ਦਾ ਸੋਰਟ ਕਰਨ ਯੋਗ ਪਛਾਣਕਰਤਾ ਹੈ ਜਿਸ ਵਿੱਚ ਸ਼ਾਮਲ ਹੈ:

  1. ਇੱਕ 32-ਬਿੱਟ ਦਾ ਟਾਈਮਸਟੈਂਪ (4 ਬਾਈਟ)
  2. 16 ਬਾਈਟ ਦੀ ਬੇਰੂਪਤਾ

ਜਦੋਂ ਇੱਕ ਸਤਰ ਦੇ ਰੂਪ ਵਿੱਚ ਦਰਸਾਇਆ ਜਾਂਦਾ ਹੈ, KSUID ਨੂੰ ਬੇਸ62 ਵਿੱਚ ਕੋਡ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਅਤੇ ਇਹ 27 ਅੱਖਰ ਲੰਬਾ ਹੁੰਦਾ ਹੈ।

KSUID ਦਾ ਢਾਂਚਾ

KSUID ਦਾ ਢਾਂਚਾ ਹੇਠਾਂ ਦਿੱਤੇ ਗਏ ਤਰੀਕੇ ਨਾਲ ਵੰਡਿਆ ਜਾ ਸਕਦਾ ਹੈ:

  1. ਟਾਈਮਸਟੈਂਪ (4 ਬਾਈਟ): ਇਹ ਯੂਨਿਕਸ ਯੁੱਗ (1 ਜਨਵਰੀ 1970, 00:00 UTC) ਤੋਂ ਬਾਅਦ ਦੇ ਸੈਕੰਡਾਂ ਦੀ ਗਿਣਤੀ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ। ਟਾਈਮਸਟੈਂਪ KSUIDs ਨੂੰ ਪੈਦਾ ਕਰਨ ਦੇ ਸਮੇਂ ਦੁਆਰਾ ਲਗਭਗ ਸੋਰਟ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।

  2. ਬੇਰੂਪਤਾ ਦਾ ਹਿੱਸਾ (16 ਬਾਈਟ): ਇਹ ਇੱਕ ਕ੍ਰਿਪਟੋਗ੍ਰਾਫਿਕਲ ਸੁਰੱਖਿਅਤ ਬੇਰੂਪਤਾ ਹੈ ਜੋ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਇੱਕੋ ਸਮੇਂ ਵਿੱਚ ਕਈ KSUIDs ਜਨਰੇਟ ਹੋਣ 'ਤੇ ਵੀ ਵਿਲੱਖਣਤਾ ਬਣੀ ਰਹੇ।

  3. ਬੇਸ62 ਕੋਡਿੰਗ: ਮਿਲੀ ਹੋਈ 20 ਬਾਈਟ (ਟਾਈਮਸਟੈਂਪ + ਬੇਰੂਪਤਾ) ਨੂੰ ਬੇਸ62 (A-Z, a-z, 0-9) ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕੋਡ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਤਾਂ ਜੋ ਅੰਤਿਮ 27-ਅੱਖਰ ਦੀ ਸਤਰ ਬਣੇ।

KSUID ਫਾਰਮੂਲਾ

KSUID ਨੂੰ ਗਣਿਤੀਕ ਤੌਰ 'ਤੇ ਇਸ ਤਰ੍ਹਾਂ ਦਰਸਾਇਆ ਜਾ ਸਕਦਾ ਹੈ:

KSUID=Base62(TR)KSUID = Base62(T || R)

ਜਿੱਥੇ:

  • TT 32-ਬਿੱਟ ਦਾ ਟਾਈਮਸਟੈਂਪ ਹੈ
  • RR 128-ਬਿੱਟ ਦੀ ਬੇਰੂਪਤਾ ਦਾ ਹਿੱਸਾ ਹੈ
  • || ਜੋੜਨ ਦਾ ਪ੍ਰਤੀਕ ਹੈ

ਟਾਈਮਸਟੈਂਪ TT ਨੂੰ ਇਸ ਤਰ੍ਹਾਂ ਗਣਨਾ ਕੀਤਾ ਜਾਂਦਾ ਹੈ:

T = \text{floor}(\text{current_time} - \text{KSUID_epoch})

ਜਿੱਥੇ KSUID_epoch 1400000000 (2014-05-13T16:53:20Z) ਹੈ।

KSUID ਢਾਂਚਾ ਡਾਇਗ੍ਰਾਮ

ਟਾਈਮਸਟੈਂਪ (4 ਬਾਈਟ) ਬੇਰੂਪਤਾ ਦਾ ਹਿੱਸਾ (16 ਬਾਈਟ)

KSUIDs ਲਈ ਵਰਤੋਂ ਦੇ ਕੇਸ

KSUIDs ਖਾਸ ਤੌਰ 'ਤੇ ਹੇਠਾਂ ਦਿੱਤੇ ਗਏ ਦ੍ਰਿਸ਼ਟੀਕੋਣਾਂ ਵਿੱਚ ਲਾਭਦਾਇਕ ਹਨ:

  1. ਵੰਡੇ ਗਏ ਪ੍ਰਣਾਲੀਆਂ: ਜਦੋਂ ਤੁਹਾਨੂੰ ਬਿਨਾਂ ਸਮਨਵਯ ਦੇ ਕਈ ਸਰਵਰਾਂ ਜਾਂ ਸੇਵਾਵਾਂ ਵਿੱਚ ਵਿਲੱਖਣ ਪਛਾਣਕਰਤਾ ਦੀ ਲੋੜ ਹੋਵੇ।

  2. ਸਮੇਂ-ਸੋਰਟ ਕਰਨ ਯੋਗ ਡਾਟਾ: ਜਦੋਂ ਤੁਸੀਂ ਡਾਟਾ ਨੂੰ ਬਣਾਉਣ ਦੇ ਸਮੇਂ ਦੁਆਰਾ ਸੋਰਟ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ ਬਿਨਾਂ ਵੱਖਰੇ ਟਾਈਮਸਟੈਂਪ ਨੂੰ ਸਟੋਰ ਕੀਤੇ।

  3. ਡੇਟਾਬੇਸ ਕੁੰਜੀਆਂ: ਡੇਟਾਬੇਸਾਂ ਵਿੱਚ ਪ੍ਰਾਇਮਰੀ ਕੁੰਜੀਆਂ ਵਜੋਂ, ਖਾਸ ਕਰਕੇ ਵੰਡੇ ਗਏ ਡੇਟਾਬੇਸਾਂ ਵਿੱਚ ਜਿੱਥੇ ਆਟੋ-ਇੰਕ੍ਰਿਮੈਂਟਿੰਗ ਪੂਰਨਾਂ ਉਪਯੋਗੀ ਨਹੀਂ ਹੁੰਦੀਆਂ।

  4. URL-ਸੁਰੱਖਿਅਤ ਪਛਾਣਕਰਤਾ: ਵੈੱਬ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ ਸਰੋਤਾਂ ਲਈ ਛੋਟੇ, ਵਿਲੱਖਣ, URL-ਸੁਰੱਖਿਅਤ ਪਛਾਣਕਰਤਾ ਬਣਾਉਣ ਲਈ।

  5. ਲਾਗ ਸਹਿਯੋਗ: ਮਾਈਕ੍ਰੋਸਰਵਿਸ ਆਰਕੀਟੈਕਚਰ ਵਿੱਚ ਵੱਖ-ਵੱਖ ਸੇਵਾਵਾਂ ਵਿੱਚ ਲਾਗ ਦੇ ਦਰਜਿਆਂ ਨੂੰ ਸਹਿਯੋਗ ਕਰਨ ਲਈ।

KSUIDs ਦੇ ਫਾਇਦੇ

KSUIDs ਹੋਰ ਪਛਾਣਕਰਤਾ ਪ੍ਰਣਾਲੀਆਂ ਦੇ ਮੁਕਾਬਲੇ ਕਈ ਫਾਇਦੇ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ:

  1. ਸੋਰਟ ਕਰਨ ਯੋਗਤਾ: UUIDs ਦੇ ਮੁਕਾਬਲੇ, KSUIDs ਨੂੰ ਕ੍ਰੋਨੋਲੋਜੀਕਲ ਤੌਰ 'ਤੇ ਸੋਰਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਜੋ ਡੇਟਾਬੇਸ ਇੰਡੈਕਸਿੰਗ ਅਤੇ ਲਾਗ ਵਿਸ਼ਲੇਸ਼ਣ ਲਈ ਲਾਭਦਾਇਕ ਹੈ।

  2. ਕੋਈ ਸਮਨਵਯ ਦੀ ਲੋੜ ਨਹੀਂ: ਆਟੋ-ਇੰਕ੍ਰਿਮੈਂਟਿੰਗ ID ਦੇ ਮੁਕਾਬਲੇ, KSUIDs ਵੱਖ-ਵੱਖ ਸਰਵਰਾਂ ਦੁਆਰਾ ਬਿਨਾਂ ਕਿਸੇ ਟਕਰਾਅ ਦੇ ਜਨਰੇਟ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ।

  3. ਸੰਕੁਚਿਤ ਪ੍ਰਤੀਨਿਧੀ: 27 ਅੱਖਰਾਂ 'ਤੇ, KSUIDs ਸਤਰਾਂ ਦੇ ਰੂਪ ਵਿੱਚ ਦਰਸਾਉਂਦੇ ਸਮੇਂ UUIDs ਨਾਲੋਂ ਜ਼ਿਆਦਾ ਸੰਕੁਚਿਤ ਹਨ।

  4. ਟਾਈਮਸਟੈਂਪ ਸ਼ਾਮਲ: ਸ਼ਾਮਲ ਟਾਈਮਸਟੈਂਪ ਸਮੇਂ-ਅਧਾਰਤ ਸੋਰਟਿੰਗ ਅਤੇ ਫਿਲਟਰਿੰਗ ਲਈ ਆਗਿਆ ਦਿੰਦਾ ਹੈ ਬਿਨਾਂ ਵੱਖਰੇ ਟਾਈਮਸਟੈਂਪ ਫੀਲਡ ਦੀ ਲੋੜ।

  5. URL-ਸੁਰੱਖਿਅਤ: ਬੇਸ62 ਕੋਡਿੰਗ KSUIDs ਨੂੰ URLs ਵਿੱਚ ਕਿਸੇ ਵੀ ਵਾਧੂ ਕੋਡਿੰਗ ਦੇ ਬਿਨਾਂ ਵਰਤਣ ਲਈ ਸੁਰੱਖਿਅਤ ਬਣਾਉਂਦੀ ਹੈ।

  6. ਟਕਰਾਅ ਦੀ ਸੰਭਾਵਨਾ ਘੱਟ: 16-ਬਾਈਟ ਦੀ ਬੇਰੂਪਤਾ ਦਾ ਹਿੱਸਾ ਟਕਰਾਅ ਦੇ ਮੌਕੇ ਨੂੰ ਬਹੁਤ ਘੱਟ ਕਰਦਾ ਹੈ, ਭਾਵੇਂ ਉੱਚ ਜਨਰੇਸ਼ਨ ਦਰਾਂ 'ਤੇ ਵੀ।

ਇਸ ਜਨਰੇਟਰ ਨੂੰ ਕਿਵੇਂ ਵਰਤਣਾ ਹੈ

  1. ਜੇ ਜ਼ਰੂਰੀ ਹੋਵੇ ਤਾਂ ਕੋਈ ਵਾਧੂ ਪੈਰਾਮੀਟਰ ਦਰਜ ਕਰੋ (ਜਿਵੇਂ ਕਿ ਕਸਟਮ ਟਾਈਮਸਟੈਂਪ)।
  2. ਨਵਾਂ KSUID ਬਣਾਉਣ ਲਈ "Generate KSUID" ਬਟਨ 'ਤੇ ਕਲਿਕ ਕਰੋ।
  3. ਜਨਰੇਟ ਕੀਤਾ ਗਿਆ KSUID ਨਿਕਾਸ ਖੇਤਰ ਵਿੱਚ ਦਰਸਾਇਆ ਜਾਵੇਗਾ।
  4. ਤੁਸੀਂ ਕਈ KSUIDs ਜਨਰੇਟ ਕਰਨ ਲਈ ਕਦਮ 1-3 ਨੂੰ ਦੁਹਰਾਉਂਦੇ ਰਹਿ ਸਕਦੇ ਹੋ।
  5. ਹਰ KSUID ਦੇ ਨਾਲ "Copy" ਬਟਨ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇਸਨੂੰ ਆਪਣੇ ਕਲਿੱਪਬੋਰਡ 'ਤੇ ਕਾਪੀ ਕਰੋ।
  6. ਵਿਕਲਪਕ ਤੌਰ 'ਤੇ, ਜਨਰੇਟ ਕੀਤੇ KSUIDs ਦੀ ਸੂਚੀ ਡਾਊਨਲੋਡ ਕਰਨ ਲਈ "Export" ਫੀਚਰ ਦੀ ਵਰਤੋਂ ਕਰੋ।

ਯਾਦ ਰੱਖੋ ਕਿ ਹਰ KSUID ਵਿਲੱਖਣ ਹੈ ਅਤੇ ਇਸਨੂੰ ਸਿਰਫ ਇੱਕ ਵਾਰ ਵਰਤਣਾ ਚਾਹੀਦਾ ਹੈ। ਜਦੋਂ ਵੀ ਤੁਹਾਨੂੰ ਇੱਕ ਵਿਲੱਖਣ ਪਛਾਣਕਰਤਾ ਦੀ ਲੋੜ ਹੋਵੇ, ਨਵਾਂ KSUID ਜਨਰੇਟ ਕਰੋ।

ਕੋਡ ਉਦਾਹਰਣ

ਇੱਥੇ ਵੱਖ-ਵੱਖ ਪ੍ਰੋਗ੍ਰਾਮਿੰਗ ਭਾਸ਼ਾਵਾਂ ਵਿੱਚ KSUIDs ਜਨਰੇਟ ਕਰਨ ਦੇ ਉਦਾਹਰਣ ਹਨ:

1## ਪਾਇਥਨ
2import ksuid
3
4new_id = ksuid.ksuid()
5print(f"Generated KSUID: {new_id}")
6

ਹਵਾਲੇ

  1. ਸੈਗਮੈਂਟ ਦਾ KSUID ਗਿਟਹੱਬ ਰਿਪੋਜ਼ਿਟਰੀ: https://github.com/segmentio/ksuid
  2. "Generating good unique identifiers" ਪੀਟਰ ਬੌਰਗਨ ਦੁਆਰਾ: https://peter.bourgon.org/blog/2019/05/20/generating-good-unique-ids.html
  3. KSUID ਵਿਸ਼ੇਸ਼ਤਾ: https://github.com/segmentio/ksuid/blob/master/README.md
🔗

ਸਬੰਧਿਤ ਸੰਦਾਰਬਾਰਾਂ

ਆਪਣੇ ਕਾਰਜ ਦੇ ਲਈ ਵਰਤਣ ਯੋਗ ਹੋਣ ਵਾਲੇ ਹੋਰ ਸੰਦੇਸ਼ ਦੀ ਖੋਜ ਕਰੋ

ਗਿੱਲੀ ਪਰਿਮਿਟਰ ਕੈਲਕੂਲੇਟਰ: ਹਾਈਡ੍ਰੌਲਿਕ ਇੰਜੀਨੀਅਰਿੰਗ ਲਈ

ਇਸ ਸੰਦ ਨੂੰ ਮੁਆਇਆ ਕਰੋ

MongoDB ObjectID Generator for Testing and Development

ਇਸ ਸੰਦ ਨੂੰ ਮੁਆਇਆ ਕਰੋ

ਯੂਨੀਕ ਆਈਡੈਂਟੀਫਾਇਰ ਜਨਰੇਟਰ: UUID ਬਣਾਉਣ ਦਾ ਸਾਧਨ

ਇਸ ਸੰਦ ਨੂੰ ਮੁਆਇਆ ਕਰੋ

CUID ਜਨਰੇਟਰ: ਵਿਲੱਖਣ ਪਛਾਣ ਪੱਤਰ ਬਣਾਉਣ ਦਾ ਟੂਲ

ਇਸ ਸੰਦ ਨੂੰ ਮੁਆਇਆ ਕਰੋ

ਨੈਨੋ ID ਜਨਰੇਟਰ: ਸੁਰੱਖਿਅਤ ਅਤੇ ਵਿਲੱਖਣ ਪਛਾਣਕਰਤਾਂ ਬਣਾਓ

ਇਸ ਸੰਦ ਨੂੰ ਮੁਆਇਆ ਕਰੋ

ਸਧਾਰਣ ਕਿਊਆਰ ਕੋਡ ਜਨਰੇਟਰ: ਤੁਰੰਤ ਕਿਊਆਰ ਕੋਡ ਬਣਾਓ ਅਤੇ ਡਾਊਨਲੋਡ ਕਰੋ

ਇਸ ਸੰਦ ਨੂੰ ਮੁਆਇਆ ਕਰੋ

ਬ੍ਰਾਜ਼ੀਲ ਲਈ ਟੈਸਟਿੰਗ ਲਈ ਵੈਧ CPF ਨੰਬਰ ਜਨਰੇਟਰ

ਇਸ ਸੰਦ ਨੂੰ ਮੁਆਇਆ ਕਰੋ

ਅਰਜੈਂਟੀਨਾ ਦਾ CUIT/CUIL ਜਨਰੇਟਰ ਅਤੇ ਵੈਰੀਫਾਇਰ ਟੂਲ

ਇਸ ਸੰਦ ਨੂੰ ਮੁਆਇਆ ਕਰੋ

ਐਮਡੀ5 ਹੈਸ਼ ਜਨਰੇਟਰ

ਇਸ ਸੰਦ ਨੂੰ ਮੁਆਇਆ ਕਰੋ

ਟੈਸਟਿੰਗ ਅਤੇ ਵੈਰੀਫਿਕੇਸ਼ਨ ਲਈ IBAN ਜਨਰੇਟਰ ਅਤੇ ਵੈਲੀਡੇਟਰ ਟੂਲ

ਇਸ ਸੰਦ ਨੂੰ ਮੁਆਇਆ ਕਰੋ