Checksumme eines Objekts

Hierein gehört alles, was in den übrigen Foren keinen Platz findet. // Please post here in case your topic doesn't fit enywhere else.
Antworten
Benutzeravatar
dave
Beiträge: 921
Registriert: 04.02.2011, 19:03:57
Wohnort: Berlin
Kontaktdaten:

Checksumme eines Objekts

Beitrag von dave » 13.03.2018, 11:03:52

Ich habe mal eine grundsätzliche Frage:

Ich muss in regelmässigen Abständen neu eintreffenden Daten mit bereits existierenden Daten vergleichen.
Die existierenden Daten liegen als GenericDomainObject vor, die neu eintreffenden Daten werden ebenfalls als ein GDO zusammen gefasst.
Diese möchte ich nun mit einander vergleichen. Sind Änderungen vorhanden, soll das existierende Objekt mit dem neuen Objekt überschrieben werden.

Das Problem an der Sache ist die Menge an Daten. Das GDO besteht aus etwa ~15 Parametern mit bis zu 200 Zeichen Länge. Insgesamt müssen pro Woche mehrere 100.000 GDOs miteinander abgeglichen werden.

Ich dachte dabei bereits an eine Checksumnme.
Beim Abspeichern des GDO wird eine Checksumme gebildet, diese wird dann beim Abgleichen verglichen. Ist sie gleich, sind keine Änderungen vorhanden, ist sie unterschiedlich, wird das neue GDO übernommen.

Die Checksumme erstellt sich so:

Code: Alles auswählen

$prufsumme = md5(serialize($meinGDO));
Ist das sinnvoll?

Benutzeravatar
dr.e.
Administrator
Beiträge: 4580
Registriert: 04.11.2007, 16:13:53

Re: Checksumme eines Objekts

Beitrag von dr.e. » 18.03.2018, 14:41:31

Hallo dave,

das ist sicher die sinnvollste Möglichkeit, denn dann bist du sicher, dass alle Inhalte wirklich mit in die Bildung der Checksum einbezogen werden. In PHP gibt es noch die Methode spl_object_hash(), allerdings ist das (nach meinem Verständnis) nur ein eindeutiger Speicher-Identifier und keine Referenz auf den Inhalt.
Viele Grüße,
Christian

Benutzeravatar
dave
Beiträge: 921
Registriert: 04.02.2011, 19:03:57
Wohnort: Berlin
Kontaktdaten:

Re: Checksumme eines Objekts

Beitrag von dave » 18.03.2018, 15:30:48

Danke Christian,
ich habe gestern dazu bereits einige Versuche durchgeführt und das Verfahren eignet sich dafür ziemlich gut.

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste