AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

kontinuierlichen Messdaten speichern

Ein Thema von Oracle · begonnen am 12. Dez 2007 · letzter Beitrag vom 13. Dez 2007
Antwort Antwort
Seite 3 von 5     123 45      
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.035 Beiträge
 
Delphi 12 Athens
 
#21

Re: kontinuierlichen Messdaten speichern

  Alt 12. Dez 2007, 17:53
Zitat von DeddyH:
Dann ist das aber auch keine typisierte Datei
Wer sagt das?

wenn die Datei als File of Word definiert ist und [Word=$FFFF][Double] = 3 * [Word],
dann paßt das auch in eine derart typisierte Datei rein, nur weiß man dann noch nicht wie oft die Zeit in der Datei vorkommt.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#22

Re: kontinuierlichen Messdaten speichern

  Alt 12. Dez 2007, 18:00
@Himitsu:
Das, was du über paar Seiten Code schreibst, sähe bei mir so:

Insert into Messwerte (SensorId, Creation, Temperatur) values (1,'2007-12-12 17:58:03',23.2) und so
Select Creation, Temperatur from Messwerte where SensorId = 1 order by Creation Ich will damit nur sagen, warum bis jetzt hier keinen ausser mir eine Datenbanklösung interessiert.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#23

Re: kontinuierlichen Messdaten speichern

  Alt 12. Dez 2007, 18:01
Zitat:
Zitat von DeddyH:
Dann ist das aber auch keine typisierte Datei
Wer sagt das?

wenn die Datei als File of Word definiert ist und [Word=$FFFF][Double] = 3 * [Word],
dann paßt das auch in eine derart typisierte Datei rein, nur weiß man dann noch nicht wie oft die Zeit in der Datei vorkommt.
Wenn Du davon ausgehst, ist jede Datei typisiert, notfalls als File of Byte.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#24

Re: kontinuierlichen Messdaten speichern

  Alt 12. Dez 2007, 18:02
Zitat von Jelly:
Ich will damit nur sagen, warum bis jetzt hier keinen ausser mir eine Datenbanklösung interessiert.
Zitat von Sirius:
Wenn du die Sache mit der Datenbank ausgeschlossen hast, dann ...

Edit: Sch*** QuoteTag-Fehler
Edit2: Nun aber
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#25

Re: kontinuierlichen Messdaten speichern

  Alt 12. Dez 2007, 18:08
Zitat von sirius:
Zitat von Sirius:
Wenn du die Sache mit der Datenbank ausgeschlossen hast, dann ...
Edit2: Nun aber
Das hast bislang nur du behauptet. Oracle hat nirgends geschrieben, dass er das ausschliesst. Und deshalb wunderts ich, dass hier alle kompliziert mit irgendwelchen typisierten Dateien hantieren, wenn auch anders und in meinen Augen leichter, ausfallsicherer geht.
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#26

Re: kontinuierlichen Messdaten speichern

  Alt 12. Dez 2007, 18:38
najajaja. Du hast gesagt, dass keiner außer du sich für DB interessiert. Das stimmte ja so nicht
Ich hatte es allerdings nur kurz erwähnt, da aber Oracle (man könnte sogar beinahe am Namen vermuten, dass er Datenbanken kennt ) nicht drauf eingegangen ist, habe ich (und wahrscheinlich nicht nur ich) gedacht, dass er diese Lösung aus irgendwelchen Gründen schon ausgeschlossen hat.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#27

Re: kontinuierlichen Messdaten speichern

  Alt 12. Dez 2007, 19:52
Zitat von sirius:
Ich hatte es allerdings nur kurz erwähnt, da aber Oracle (man könnte sogar beinahe am Namen vermuten, dass er Datenbanken kennt ) nicht drauf eingegangen ist, habe ich (und wahrscheinlich nicht nur ich) gedacht, dass er diese Lösung aus irgendwelchen Gründen schon ausgeschlossen hat.
Es gibt viele Oracle: In der Matrix kam auch eins vor

Wie dem auch sei... Ich finde wir sollten hier einfach mal beide Lösungsvorschläge betrachten.
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#28

Re: kontinuierlichen Messdaten speichern

  Alt 12. Dez 2007, 19:53
Zitat von Jelly:
Wie dem auch sei... Ich finde wir sollten hier einfach mal beide Lösungsvorschläge betrachten.
jo
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#29

Re: kontinuierlichen Messdaten speichern

  Alt 12. Dez 2007, 20:31
Zitat von Reinhard Kern:
das mit binär oder Text würde ich mir nochmal überlegen. Ich habe das zwar jahrzehntelang auch so gemacht, komme aber immer mehr davon ab. Binäre Dateien sind eben nicht offen lesbar (was das Debuggen erschwert), nicht reparierbar und können auch ohne die zugehörige Software überhaupt nicht gelesen werden. Daher geht der Trend in der IT ganz allgemein zu lesbaren Protokollen (FTP,HTTP) und lesbaren Dateien (XML). Eine XML-formatierte Datei mit Messwerten ist auch noch lesbar, wenn deine Software längst untergegangen ist.

Ich weiss natürlich nicht, ob du das überhaupt willst, aber meiner Meinung nach ist Verschleierung von Daten nicht Aufgabe eines Programmierers, im Gegenteil. Meine Kunden dürfen meine Dateien gerne auch noch lesen, wenn ich tot bin. Ich weiss aber, dass nicht jeder Programmierer so denkt.

Die Datenmenge kannst du ja nachrechenen, lohnt sich aber nicht: je Sekunde 2 Doubles geben nicht mal 2 MByte am Tag. Eine durchschnittliche heutige Festplatte reicht also ein paar Jahre. Ich würde wegen der leichteren Handhabung Monatsdateien anlegen.
Das finde ich witzig: ich bin gerade von der Textdatei abgekommen und zur binären gegangen. Davor habe ich "jahrzehntelang" jedem erklärt, wie vorteilhaft ASCII-Dateien sind. Da habe ich mir so manche blutige Nase geholt...
Ich denke, es hängt von der Aufgabenstellung ab. Im Moment schreibe ich binär, weil es um normkonforme Messungen geht, bei denen die Originaldaten möglichst manipulationsfrei aufbewahrt werden sollen. Für Anwendungen, bei denen es nur um die Informationen geht (ich habe lange Servicetools gewartet und weiterentwickelt) würde ich uneingeschränkt ASCII empfehlen: den Speicherverbrauch bestimmst Du selbst (1 Byte pro gespeichertem Zeichen), eine Datei kann auch nach irgendwelchen Fehlern mal restauriert werden (das ist bei binären Daten sehr aufwendig).
Zudem würde ich (habe nicht alle Posts vollständig gelesen) den Speicherzyklus an der Aufgabe orientieren. Temperaturen müssen oft nicht pro s gemessen bzw. geschrieben werden. meist reichen 10-15s aus. Das direkte Schreiben bei so "langsamen" Vorgängen ist auf jeden Fall zu bevorzugen - bei einem Stromausfall hast Du dann meist die aufgelaufenen Daten verfügbar. Von einer Datenbanklösung würde ich gar nichts halten, es sei denn, Du willst auf die Daten ca. 10mal pro Sekunde von zehn unterschiedlichen Stellen zugreifen und zehn unterschiedliche Auswertungen damit machen.
Wenn die Messungen ungefähr eine Woche dauern, kann man täglich eine Datei anlegen. Das hat den Vorteil, daß das Datum im Dateinamen erscheinen und somit zur Übersicht beitragen kann.
Ach ja, Du solltest das Auslesen und Speichern wirklich als Thread anlegen. Und zwar nicht, um auf eventuelle ausgedehnte Speichervorgänge zu warten wie sirius meint sondern um Deinen Rechner während des Messens freizustellen. Nochmal: Temperaturvorgänge sind relativ langsame Vorgänge, das Warten auf die Ergebnisse kann Deinen Rechner sehr langsam machen.

Grüße, Messie
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#30

Re: kontinuierlichen Messdaten speichern

  Alt 12. Dez 2007, 21:10
Hallo Oracle,

ich stelle einfach mal eine Frage, warum willst Du Temperaturwerte jede Sekunde messen und abspeichern und das eine ganze Woche, für 16 Messpunkte kommen da 9.676.800 Messwerte zusammen. Ich finde bei der Messdatenflut ist nicht das abspeichern das Problem, sondern was fängst Du anschließend mit diesen Messwerten an. Was zu überlegen ist, sind so viele Messwerte notwendig? Wenn ja, ist die Temperaturabweichung innerhalb einer sek. so groß das man sie abspeichern muss?
Mein Ansatz währe, die einzelnen Messwerte in einem Ringbuffer zu schreiben, sagen wir mal 60 Messwerte (also 1 min.), wenn der Ringbuffer voll ist würde ich einen Durchschnittswert errechen und diesen Wert dann mit dem Zeitstempel abspeichern. Ich würde dann auch alle 16 Messstellen mit den Zeitstempel abspeichern und dann so vorgehen wie es Messie beschrieben hat.

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 5     123 45      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz