อ่าน 2 นาที
รหัสเกล็ดหิมะ
รหัสเกล็ดหิมะ หรือ เกล็ดหิมะ เป็นรูปแบบ ตัวระบุที่ไม่ซ้ำกัน ซึ่งใช้ใน การประมวลผลแบบกระจาย รูปแบบนี้สร้างขึ้นโดย X (เดิมคือ Twitter) และใช้สำหรับรหัสของทวีต [ 1 ]...
รหัสเกล็ดหิมะ
| 2068676992835780608 | |
|---|---|
รหัสเกล็ดหิมะ | |
| ชื่ออื่นๆ | ทวิตเตอร์ เกล็ดหิมะX เกล็ดหิมะ |

รหัสเกล็ดหิมะหรือเกล็ดหิมะเป็นรูปแบบตัวระบุที่ไม่ซ้ำกันซึ่งใช้ในการประมวลผลแบบกระจายรูปแบบนี้สร้างขึ้นโดยX (เดิมคือ Twitter)และใช้สำหรับรหัสของทวีต[ 1 ]เป็นที่เชื่อกันโดยทั่วไปว่าเกล็ดหิมะ แต่ละอัน มีโครงสร้างที่ไม่ซ้ำกัน ดังนั้นจึงใช้ชื่อว่า "รหัสเกล็ดหิมะ" รูปแบบนี้ได้รับการนำไปใช้โดยบริษัทอื่นๆ รวมถึงDiscord และ Instagram เครือ ข่ายสังคม Mastodon ใช้เวอร์ชันที่ดัดแปลง
รูปแบบ
เกล็ดหิมะประกอบด้วย 64 บิต :
- บิตที่มีลำดับสูงสุดจะเป็น 0 เสมอ
- 10 บิตถัดไปแสดงถึงรหัสเครื่อง เพื่อป้องกันการชนกันของรหัส
- บิต อีก 12 บิต ถัดไปแสดงถึงหมายเลขลำดับต่อเครื่อง เพื่อให้สามารถสร้างเกล็ดหิมะหลายเกล็ดในมิลลิวินาทีเดียวกันได้
มีเพียง63 บิต เท่านั้น ที่เป็นตัวแปร ดังนั้นจำนวนที่ไม่เป็นลบจึงสามารถประมวลผลได้อย่างง่ายดายเป็นจำนวนเต็มที่มีเครื่องหมาย64 บิต โดยทั่วไปแล้วจำนวนสุดท้ายจะถูกแปลงเป็นข้อความในรูปแบบเลขฐานสิบ[ 2 ]
เกล็ดหิมะสามารถเรียงลำดับตามเวลาได้ เนื่องจากขึ้นอยู่กับเวลาที่สร้างขึ้น[ 2 ]นอกจากนี้ เวลาที่สร้างเกล็ดหิมะยังสามารถคำนวณได้จากตัวเกล็ดหิมะเอง ซึ่งสามารถใช้เพื่อค้นหาเกล็ดหิมะ (และวัตถุที่เกี่ยวข้อง) ที่สร้างขึ้นก่อนหรือหลังวันที่กำหนด[ 3 ]
| ค่าชดเชย | อ็อกเท็ต | 0 | 1 | 2 | 3 | |||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| อ็อกเท็ต | นิดหน่อย | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | |
| 0 | 0 | 0 | เวลาประทับ - 31 บิตแรก | |||||||||||||||||||||||||||||||
| 4 | 32 | เวลาประทับ - 10 บิตสุดท้าย | รหัสเครื่อง | หมายเลขลำดับเครื่องจักร | ||||||||||||||||||||||||||||||
ตัวอย่าง
ทวีตที่สร้างโดย @Wikipedia ในเดือนกุมภาพันธ์ 2025 [ 4 ]มีรหัสเกล็ดหิมะ1888944671579078978หมายเลขนี้สามารถแปลงเป็นเลขฐานสองได้เป็น0001 1010 0011 0110 1110 0001 0010 1011 1011 0101 11 | 01 0110 1000 | 0001 0100 0010โดยใช้สัญลักษณ์ท่อแทนส่วนทั้งสามของรหัส
- บิต 41 บิตแรก (+ 1 บิตศูนย์บนสุด) แปลงเป็นเลขฐานสิบได้เป็น450359504599เพิ่มค่านี้ลงใน X Epoch ของ1288834974657 (ใน หน่วยมิลลิวินาที ของเวลา Unix ) [ 5 ]ดังนั้นเวลา Unix ของทวีตคือ1739194479256 : 10 กุมภาพันธ์ 2025 13:34:39.256 UTC
- 10 บิตตรงกลาง01 0110 1000คือรหัสประจำเครื่อง (Machine ID)
- 12 บิตสุดท้าย0001 0100 0010เมื่อถอดรหัสจะได้322ซึ่งหมายความว่าทวีตนี้เป็นทวีตลำดับที่ 322 ที่ได้รับการประมวลผลในมิลลิวินาทีนี้
การใช้งาน
รูปแบบนี้ได้รับการประกาศครั้งแรกโดย Twitter ในเดือนมิถุนายน พ.ศ. 2553 [ 1 ]เนื่องจากปัญหาในการใช้งาน พวกเขาจึงรอจนถึงปลายปีจึงเริ่มเปิดตัวการอัปเดต[ 6 ]
- X (เดิมคือ Twitter) ใช้รหัสเกล็ดหิมะสำหรับทวีต ข้อความโดยตรง ผู้ใช้ รายการ และวัตถุอื่นๆ ทั้งหมดที่มีให้ใช้งานผ่าน API [ 7 ]
- ฟิลด์รหัสเครื่อง 10 บิตสามารถแบ่งออกเป็นฟิลด์ย่อยเพิ่มเติมได้ตามการใช้งานที่กำหนด ตัวอย่างเช่น เวอร์ชันที่เก็บถาวรของไลบรารี Twitter snowflake ดั้งเดิมในScalaจะแบ่งออกเป็นรหัสศูนย์ข้อมูล 5 บิตและรหัสผู้ปฏิบัติงาน 5 บิต[ 8 ]
- Discord ยังใช้เกล็ดหิมะ โดยกำหนดยุคเริ่มต้นไว้ที่1420070400000ซึ่งตรงกับวินาทีที่ศูนย์ของปี 2015 [ 3 ]
- Instagram ใช้รูปแบบที่ดัดแปลงแล้ว โดยมี 41 บิตสำหรับประทับเวลา 13 บิตสำหรับ รหัส ชาร์ดและ 10 บิตสำหรับหมายเลขลำดับ[ 9 ]
- รูปแบบที่แก้ไขของ Mastodon มี 48 บิตสำหรับไทม์สแตมป์ระดับมิลลิวินาที เนื่องจากใช้ยุค UNIXบิตที่เหลืออีก 16 บิตใช้สำหรับข้อมูลลำดับ[ 10 ]
ดูเพิ่มเติม
ลิงก์ภายนอก
- ตัวอย่างการใช้งานของ TwitterบนGitHub
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ รหัสเกล็ดหิมะ
รหัสเกล็ดหิมะ หรือ เกล็ดหิมะ เป็นรูปแบบ ตัวระบุที่ไม่ซ้ำกัน ซึ่งใช้ใน การประมวลผลแบบกระจาย รูปแบบนี้สร้างขึ้นโดย X (เดิมคือ Twitter) และใช้สำหรับรหัสของทวีต [ 1 ]...
ตัวอย่าง
ทวีตที่สร้างโดย @Wikipedia ในเดือนกุมภาพันธ์ 2025 [ 4 ] มีรหัสเกล็ดหิมะ 1888944671579078978 หมายเลขนี้สามารถแปลงเป็นเลขฐานสองได้เป็น 0001 1010 0011 0110 1110 0001 0010 1011 1011 0101 11 | 01 0110 1000 | 0001 0100 0010 โดยใช้สัญลักษณ์ท่อแทนส่วนทั้งสามของรหัส
การใช้งาน
รูปแบบนี้ได้รับการประกาศครั้งแรกโดย Twitter ในเดือนมิถุนายน พ.ศ. 2553 [ 1 ] เนื่องจากปัญหาในการใช้งาน พวกเขาจึงรอจนถึงปลายปีจึงเริ่มเปิดตัวการอัปเดต [ 6 ]
ลิงก์ภายนอก
ตัวอย่างการใช้งานของ Twitterบน GitHub ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Snowflake_ID&oldid=1360429225 "