2016-06-19 85 views
0

我最近一直在研究Instagram及其API,並且遇到了它奇怪的文件命名。這裏有一個例子:Instagram如何命名上傳的文件?

https://scontent-lhr3-1.cdninstagram.com/t51.2885-15/11357983_574786385995155_503550105_n.jpg

(圖像被認爲僅僅是黑色的......)

據我所知,他們使用類似名稱this文件,但我似乎無法找到他們是如何現在命名。雖然我想知道Instagram是如何命名文件的,但它似乎是隨機的。我將不勝感激這方面的任何信息。

回答

2

他們在這裏解釋這一切在這個博客帖子:

https://engineering.instagram.com/sharding-ids-at-instagram-1cf5a71e5a5c

他們創造下他們developped,使得它的64位和garantees單一性自定義編號方案的唯一ID:

每的我們的ID包括:

  • 41 bits for時間以毫秒(讓我們41年ID的與自定義曆元)

  • 13位代表的邏輯碎片ID

  • 10比特表示一個自動遞增序列,模量1024。這意味着我們可以產生1024點的ID,每個碎片,每毫秒

如果你想要一個實現示例,博客文章解釋了它相當不錯,但因爲原來的問題不是關於如何獲取文件名,而不是在那裏來自我感受到了上面的引用就足夠了。

+1

歡迎您訪問解決方案的鏈接,但請確保您的答案在沒有它的情況下很有用:[在鏈接附近添加上下文](// meta.stackexchange.com/a/8259),以便您的同行用戶瞭解它是什麼以及爲什麼它在那裏,然後引用您鏈接的頁面中最相關的部分,以防目標頁面不可用。 [只有鏈接的答案可能會被刪除。](// stackoverflow.com/help/deleted-answers) – paper1111

+0

@ paper1111在這種情況下,我不確定導入整篇文章是否有意義。我傾向於允許它。 – ceejayoz

+0

@ceejayoz如果在連接到外部資源時無法正確回答問題,問題很可能過於寬泛。 – Rob

-1

最好的猜測是他們使用隨機。它是Javascript,所以它們可能會隨機生成一組數字以避免數據損壞。

+0

這與JavaScript無關。 – ceejayoz