Hans Wurst: [Suche Idee] Counter

Hallo zusammen,

Aufgabenstellung:

  • Ländershops: 40
  • Zahlungsversuche: 5
  • Counter-Länge: 9
  • Unique für 720 Tage (2 Jahre)
  • ca. 2000 Bestellungen / Tag

Counter-Aufbau:

  • 1-7 Stelle ist ein Timestamp
  • 8-9 soll ein dynamischer Counter sein
    --> Dieser 2-stelliger Counter soll sowohl die 40 Länderschops als auch die Anzahl der Zahlversuche beinhalten und in Verbindung mit dem Timestamp (9 Stellen zusmmmen) für die nächsten 2 Jahre unique sein (bei ~2000 Bestellungen pro Tag).

Im Team haben wir uns bereits Gedanken gemacht wie wir in den Zahlenbereich 0-99 diesen Aufbau realisieren, aber jede Idee wurde verworfen, da die Zahlen sich früher oder später überschneiden, und somit wird die Zahl nicht unique.

Hat jemand eine Idee? So langsam denke ich dass das unmöglich ist.

  1. Mahlzeit,

    Im Team haben wir uns bereits Gedanken gemacht wie wir in den Zahlenbereich 0-99 diesen Aufbau realisieren, aber jede Idee wurde verworfen, da die Zahlen sich früher oder später überschneiden, und somit wird die Zahl nicht unique.

    Hat jemand eine Idee? So langsam denke ich dass das unmöglich ist.

    Ok, Du hast mit 0..99 also 2 byte und damit immerhin 256 Möglichkeiten, wenn Du das byte von 0..15 ausschöpfst. Reicht das?

    Horst Heizer

    1. Mahlzeit,

      Ok, Du hast mit 0..99 also 2 byte und damit immerhin 256 Möglichkeiten, wenn Du das byte von 0..15 ausschöpfst. Reicht das?

      Ähmmm, hab nochmal nachgerechnet ;-) Ein byte hat ja schon 256 Möglichkeiten (also nicht 16 ich Trottel von vorhin), mit 2 byte hast Du 65536 Möglichkeiten, Deine Werte abzulegen. Bitweise staffeln geht auch:

      1 Bit => 2
      2 Bit => 4
      3 Bit => 8
      4 Bit => 16 Möglichkeiten usw. Damit kannst Du die byte-Grenzen sprengen und eigene Grenzen für kleinere Werte schaffen, die dann mit Bitoperatoren eingeschoben oder ausgelesen werden.

      Horst Heizer

    2. Ok, Du hast mit 0..99 also 2 byte und damit immerhin 256 Möglichkeiten, wenn Du das byte von 0..15 ausschöpfst. Reicht das?

      Hallo,
      nein leider nicht.

      Diesen Counter (Gesamtlänge: 9) muss ich als Dezimal-Zahl an einen Payment-Provider senden, damit ist deine Idee leider nicht brauchbar für mich.

      Aber Danke trotzdem, Ideen sind immer erwünscht :)

      1. Aber Danke trotzdem, Ideen sind immer erwünscht :)

        Vergiß den Timestamp und zähle hoch. 2000*720 ergibt eine niedrige siebenstellige Zahl. 2000*720*5 ergibt eine hohe siebenstellige Zahl, bleiben zwei Stellen für 01-40. Allerdings dürfen es dann nicht viel mehr als 2000 je Tag werden.

  2. --> Dieser 2-stelliger Counter soll sowohl die 40 Länderschops als auch die Anzahl der Zahlversuche beinhalten

    200 (40*5) Zustände lassen sich mit 100 Bezeichnungen nicht eindeutig bezeichnen. Es sind aber 200 Zustände, da sich 40 und 5 mit zwei Dezimalstellen nicht getrennt abbilden lassen.

    und in Verbindung mit dem Timestamp (9 Stellen zusmmmen) für die nächsten 2 Jahre unique sein (bei ~2000 Bestellungen pro Tag).

    Dann muß verhindert werden, daß zwei Leute innerhalb einer Zeitspanne einen Code erzeugen (denn man kann nicht verhindern, daß die Informationen außerhalb des Timestamps gleich sind). Eine Zeitspanne wäre ca. 6.22 (720*24*60*60/10000000) Sekunden lang. Im Durchschnitt muß aller 43,2 (24*60*60/2000) Sekunden ein Code erzeugt werden. Kritisch.

    Irgendwelche Denkfehler?