2016-06-19 14 views
0

Ich habe kürzlich etwas über Instagram und seine API recherchiert und bin auf seine merkwürdigen Dateinamen gestoßen. Hier ein Beispiel:Wie nennt Instagram hochgeladene Dateien?

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

(Das Bild soll nur schwarz sein ...)

Ich verstehe, dass sie verwendeten Dateien wie this zu nennen, aber ich kann nicht scheinen zu finden, wie sie sind jetzt benannt. Es scheint zufällig zu sein, obwohl ich gerne herausfinden möchte, ob es ein Muster dafür gibt, wie Instagram ihre Dateien benennt. Ich würde mich über jede Information diesbezüglich freuen.

Antwort

2

Sie erklären alles in diesem Blog-Eintrag hier:

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

Sie schaffen eindeutige IDs nach einer benutzerdefinierten Nummerierungsschema sie entwickelt, so dass es 64 Bit und Erfolgs- Garantie unicity:

Jeder unserer IDs besteht aus:

  • 41 Bits für Zeit in Millisekunden (us 41 Jahren IDs mit einer benutzerdefinierten Epoche gibt)

  • 13 Bits, die die logische Scherbe ID repräsentieren

  • 10 Bits, die eine automatisch inkrementierende Sequenz darstellen, Modul 1024. Das bedeutet, wir können erzeugen 1024 IDs, pro Shard, pro Millisekunde

Wenn Sie ein Implementierungsbeispiel wollen, ist es ziemlich gut die Blog-Post erklärt, aber da die ursprünglichen Fragen geht es nicht darum, wie die Dateinamen zu bekommen anstatt wo sie kommt von dem ich das obige Zitat empfinde ausreichend sein.

+1

Ein Link zu einer Lösung ist willkommen, aber stellen Sie bitte sicher, dass Ihre Antwort ohne sie nützlich ist: [Fügen Sie Kontext um den Link hinzu] (// meta.stackexchange.com/a/8259), damit Ihre Mitbenutzer eine Idee haben, was es ist und warum es dort ist, zitieren Sie dann den relevantesten Teil der Seite, auf den Sie verlinken, falls die Zielseite nicht verfügbar ist. [Antworten, die kaum mehr als ein Link sind, können gelöscht werden.] (// stackoverflow.com/help/deleted-answers) – paper1111

+0

@ paper1111 In diesem Fall bin ich mir nicht sicher, dass es überhaupt Sinn machen würde, den gesamten Artikel zu importieren. Ich bin geneigt, es zuzulassen. – ceejayoz

+0

@ceejayoz Wenn eine Frage hier nicht richtig beantwortet werden kann, ohne auf eine externe Ressource zu verweisen, ist die Frage sehr wahrscheinlich viel zu weit gefasst. – Rob

-1

Beste Schätzung ist, dass sie zufällig verwenden. Es ist Javascript, so dass sie wahrscheinlich eine zufällige Anzahl von Zahlen generiert haben, um Datenbeschädigung zu vermeiden.

+0

Dies hat nichts mit JavaScript zu tun. – ceejayoz