AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Berechnen, wann eine Platte keinen Speicherplatz mehr hat ??
Thema durchsuchen
Ansicht
Themen-Optionen

Berechnen, wann eine Platte keinen Speicherplatz mehr hat ??

Ein Thema von RWarnecke · begonnen am 2. Jul 2008 · letzter Beitrag vom 6. Jul 2008
Antwort Antwort
Seite 3 von 3     123   
r2c2

Registriert seit: 9. Mai 2005
Ort: Nordbaden
925 Beiträge
 
#21

Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha

  Alt 3. Jul 2008, 18:12
@littleDave:
ich hab jetzt nicht nachgerechnet, aber ich geh mal davon aus, dass du dich nicht verrechnet hast. Allerdings hast du einen Denkfehler:
Deine Methode zum ermitteln des "besseren" Ergebnisses passt genau zu deinem Algorithmus, nicht aber zur Methode der kleinsten Quadrate. Mit deinem Ansatz minimierst du direkt die durchschnittliche Abweichung. Deshalb ist dein Algo da auch mehr oder weniger unschlagbar. Die Methode der kleinsten Quadrate minimiert aber gerade nicht die durchschnittliche Abweichung, sondern die Abweichungsquadrate. Rechne mal die aus und du wirst sehen, dass dein Algo da deutlich schlechter abschneidet. Ganz einfach weil dieses Kriterium direkt zur Methode der kleinsten Quadrate passt. Da is die per Definition unschlagbar.

@p80286:
Zitat:
Wie war das mit den zwei Eimern und der durchschnittlich optimalen Temperatur?
Sagt mir nix.

Zitat:
5Mb * 2 * Anzahl Benutzer
Wie kommst du auf die Formel? Kann ich nicht nachvollzeihen.

Jedenfalls hat deine Methoden den Nachteil, dass sie erfordert auf die jeweilige Situatuion(große/kleine Dateien, etc. wie du es schon beschrieben hast) angepasst wedren muss. Alle anderen bisher diskutierten Lösung interessiert das alles aber gar nicht. Die müssen nicht maßgeschneidert werden. Sie funktionieren einfach. Und genau das macht die Mathematik: Allgemeine Lösungen liefern. Nichts Zurechtgezimmertes, das man mit der Nagelschere auf die Anforderungen maßschneidern muss für dann zu hoffen, dass sich ja nix an den Bedingungen ändert...

mfg

Christian
Kaum macht man's richtig, schon klappts!
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#22

Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha

  Alt 3. Jul 2008, 18:20
Zitat von p80286:
So etwas klappt natürlich nur wenn alle Leute sich in einem engen Rahmen bewegen. Ein paar bösartige Chaoten, die mal schnell eine Video-DVD auf den Server packen, lassen die Meldeschwelle natürlich heftig ansteigen.

Ich empfehle zu analysieren was für Daten auf dem Server liegen und ob es Relationen zwischen der Größe und der "Bewegungshäufigkeit" gibt. Werden vor allem kleine(re) Dateien gespeichert und gelöscht sollte ein Durchschnittswert genügend Sicherheit geben. Sind für die Bewegung aber vor allem gößere Dateien verantwortlich sollte nur sie für die Abschätzung der Sicherheitsmarge genutzt werde.

Nebenbei gefragt, gibt es Beziehungen zwischen Wochentagen und den Dateibewegungen? Zum Quartalsende noch einmal richtig Daten produzieren?
In dem Programm gibt es einen grünen, einen gelben und einen roten Bereich. Die gelben und roten Bereiche kann der Admin selber über eine Größenangabe in KB oder prozentual von der Gesamtgröße angeben. Alles was dann größer als der gelbe Bereich ist, ist dann der grüne Bereich. Das sind die Warnhinweise, die das Programm schonmal ausgibt. Nun wollte ich auch eine eventuelle Warnmeldung anhand diesem Vorschlag ausgeben :
Zitat von Grakvaloth:
2. Warnmedungen könne Automatisch geregelt werden (Das Program beobachtet bzw. fürt einen 1 Monatz log über die größenveränderung, und ermitelt so eine art Deadline bis die Platte voll wird, dem entsprechend warnt es einem den in so und so viel tagen.)
So, dazu brauche ich ja die Berechnung des Trends und/oder vielleicht der Wahrscheinlichkeit, wann die Platte entweder voll ist oder in einen der Bereiche kommt. Dazu hatte ich mir überlegt, der Admin stellt ein, dass die Größe des freien und des belegten Speicherplatzes ein einem bestimmten Abschnitt aufgezeichnet wird. So kommen jetzt in der Aufzeichnung so große Brocken vor, wie es hier
Zitat von p80286:
Ein paar bösartige Chaoten, die mal schnell eine Video-DVD auf den Server packen, lassen die Meldeschwelle natürlich heftig ansteigen.
geschrieben hat, habe ich ja natürlich auf einmal einen klaren und deutlichen Anstieg des belegten Speicherpatzes. Dieses sollte dann ausgegeben werden, mit dem Hinweis, dass wenn es so bleibt die Platte in x Tagen voll ist und kein Speicherplatz mehr da ist.

Die andere Vairante ist, dass wenn das Programm meldet, das ein Volume in den gelben oder roten Bereich kommt, dann soll es noch zusätzlich anhand einer Berechnung ausgeben, das in ca. x Tagen das Volume voll ist.

Dafür brauche ich die Berechnung. Da ich nie Mathe studiert habe oder in der Oberstufe auf'm Gymnasium war, bin ich da etwas hilflos mit den Formeln, von dem Link zu der Methode der kleinsten Quadrate. Ich habe mir das zwar durchgelesen, aber meistens nur Bahnhof verstanden. Könnte mir bitte daher jemand die Formel oder den Mathematischen Weg erklären anhand eine Beispiels, wie ich da zu einem Ergebnis komme.

Dann noch eine Frage, wieviele Werte muss ich haben, um für mein Vorhaben eine einigermaßen vernüftige Berechnung anzustellen ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#23

Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha

  Alt 3. Jul 2008, 18:52
@r2c2
Du hast zwei Eimer.
Beide haben das gleiche Volumen.
Beide sind mit Wasser gefüllt.
Im einen ist die Temperatur ca 80 Grad Celsius im anderen ca 0 Grad Celsius.

"Statistisch gesehen hat man dan eine angehme Temperatur für ein Fußbad."

OK ist ein wenig platt, zeigt aber , daß Du ohne eine hinreichend große Anzahl von Stichproben mit der Statistik keine vernünftige Aussage treffen kanst.

Zitat:
5Mb * 2 * Anzahl der Benutzer
Jetzt erschlägst Du mich, aber ich hatte auch einmal das Vergnügen einen File-Server zu betreuen. Wir haben uns die Mühe gemacht und ein wenig Statistik betrieben und sind durch die gemachten Erfahrung bei den obigen Werten gelandet. 5Mb war damals die wahrscheinliche Maximalgröße der Datei, mit nocheinmal 5MB als Sicherungszuschlag und Anzahl der Benuter, da die 30 Leute, die den Server genutzt haben, doch recht chaotisch agierten.

Also es kommt darauf an wofür Du es brauchst. Eine IBM-Serverfarm (viele Stichproben) fährt mit der Statistik ganz gut, bei einer relativ kleinen Installation (wenige Stichproben) mußt Du eine "weiche" Korrektur einführen. Oder anders ausgedrückt lautet die Frage, kannst Du aus den Vergangenheitswerten die Zukunft hinreichend genau abschätzen und mögliche Verhaltensänderungen beachten?

Gruß
K-H
  Mit Zitat antworten Zitat
r2c2

Registriert seit: 9. Mai 2005
Ort: Nordbaden
925 Beiträge
 
#24

Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha

  Alt 4. Jul 2008, 21:56
Zitat von p80286:
Du hast zwei Eimer.
Beide haben das gleiche Volumen.
Beide sind mit Wasser gefüllt.
Im einen ist die Temperatur ca 80 Grad Celsius im anderen ca 0 Grad Celsius.

"Statistisch gesehen hat man dan eine angehme Temperatur für ein Fußbad."

OK ist ein wenig platt, zeigt aber , daß Du ohne eine hinreichend große Anzahl von Stichproben mit der Statistik keine vernünftige Aussage treffen kanst.
Nö. Das zeigt das nicht. Wenn du mehr Eimer hast, is die Schlussfolgerung(perfekte Temperatur) immer noch falsch. Das Beispiel zeigt nur, dass man aus dem arithmetischen Mittel nicht Aussagen herauslesen sollte, die nicht gelten...

Mit der Anzahl der Stichprobem hast du aber natürlich vollkommen Recht. Hab ich oben ja auch schon erwähnt.

Zitat:
Zitat:
5Mb * 2 * Anzahl der Benutzer
Jetzt erschlägst Du mich, aber ich hatte auch einmal das Vergnügen einen File-Server zu betreuen. Wir haben uns die Mühe gemacht und ein wenig Statistik betrieben und sind durch die gemachten Erfahrung bei den obigen Werten gelandet. 5Mb war damals die wahrscheinliche Maximalgröße der Datei, mit nocheinmal 5MB als Sicherungszuschlag und Anzahl der Benuter, da die 30 Leute, die den Server genutzt haben, doch recht chaotisch agierten.
Also eine rein empirische Formel. Wie gesagt: Das Ergebnis mag ganz gut sein, aber ich hab keine Chance das irgendwie einzuschätzen, zu sagen unter welchen Umständen die Formel brauchbare Ergebnisse liefert, wo es zuu Problemen kommt und überhaupt in welchen Fällen die Formel überhaupt anwendbar ist. Vielleicht sorgt schon eine marginale Umstellung der Verhaltensweise der User oder Ähnliches dafür, dass die Formel schlechte Ergebnisse liefert. Das Einzige, was man aussagen kann ist, dass die Formel in diesem einen konkreten Fall ganz gute Ergebnisse gezieht hat. Alles weitergehende ist Physikerinduktion[1]... Von gewissen Algorithmen kann man aber entsprechende Eigenschaften nachweisen[2].
Sofern sich das Verfahren also nicht eideutig in mehreren weiteren Fällen als brauchbar erweist, wäre es zumindest mir viel zu unsicher.

Zitat:
Oder anders ausgedrückt lautet die Frage, kannst Du aus den Vergangenheitswerten die Zukunft hinreichend genau abschätzen und mögliche Verhaltensänderungen beachten?
In gewissem Maße, ja.

@RWarnecke:
Zitat:
Da ich nie Mathe studiert habe oder in der Oberstufe auf'm Gymnasium war, bin ich da etwas hilflos mit den Formeln
Gut, das kann ich nachvollziehen. Das in der Wikipedia ist Größtenteils wirklich auf Uni-Niveau geschriebnen. Wobei das Verfahren an sich nicht soo schwer ist. Wobei das Verfahren an sich nicht so schwer ist. Trotzdem wird es wohl schwer es dir zu erklären, wenn du keine Oberstufenmathe(insbesodnere Analysis) hattest. Da müsste ich es so praktisch selbst implemetieren. Aber das haben auch schon andere getan. Google förderte z.B. folgendes zu Tage:
http://members.fortunecity.com/schut...wnload/de.html
Gut, das steht jetzt unter GPL, inwieweit es also für dich interessant ist(und wie gut es ist; hab mirs nicht näher angeguckt). Wobei ich nicht denke, dass es die einzige Implementietrung ist. Such einfach mal.

Alternativ kannst du natürlich auch eine der anderen hier angesprochenen Lösungswege gehen. Die sind allesamt einfacher, wenngleich das Ergebnis etwas "schlechter" sein dürfte. Über die Vor- und Nachteile haben wir ja diskutiert...


[1] Wer das nicht kennen sollte: Physiker: "Alle ungeraden Zahlen sind Primzahlen. Beweis: 3 ist prim, 5 ist prim 7 ist prim, 9 ist.... äh.... Messfahler, 11 ist prim, 13 ist prim... Passt!"
[2] Was nicht heißt, dass ich jetzt Zeit oder Lust dazu hätte. Beweis dur Lehrbuch: Entsprechende Beweise lassen sich in den einschlägigen Werken nachlesen. qed

mfg

Christian
Kaum macht man's richtig, schon klappts!
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.685 Beiträge
 
Delphi 2007 Enterprise
 
#25

Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha

  Alt 4. Jul 2008, 22:29
Ich werfe noch einmal die Regressionsanalyse in den Raum, wobei eine eigene Umsetzung mit Sekundarstufe 1 Mathe und in weniger als ein paar Wochen für eine Einzelperson eher unwahrscheinlich ist. Dennoch ist dies ein Verfahren, dass sich für eine völlig abstrakte Extrapolation rein auf Daten beziehend die besten Werte liefern kann[1].

Ein weniger komplizierter Weg zu etwas ähnlichem kann evtl. auch so aussehen:
Du nimmst Messwerte aus der Vergangenheit, und trägst sie grafisch in ein Koordinatensystem ein (Freier Speicher, jede Stunde z.B.). Dann schaust du dir den Verlauf an, und vergleichst es mit Verläufen von diversen Standardfunktionen (Parabel, Exponentialfunktion, Gerade, Sinus, etc.). Die ähnlichste Funktion schnappst du dir, und drehst an ihren Parametern so, dass die Funktion wenn sie in das Koordinatensystem eingetragen wird, möglichst überall ausreichend nah an den Messwerten liegt. (Hier und da kann man dann noch weitere Funktionen "aufmodulieren" um das zu verbessern. Bsp.: Eine wellig verlaufende Linie wird wohl besser von etwas der Form "y=a*x+sin(x)" beschrieben, als nur von "y=a*x".) Von da an kannst du Extrapolieren.
Nachteil: Man schätzt eine Schätung -> es ist schon noch irgendwo "Gefummel", und man benötigt Messdaten aus der Vergangenheit. Je mehr desto besser!
So in etwa arbeitet die Regressionsanalyse, nur wird dabei noch die Güte der Schätzung in Zahlen bewertet, man kann Wahrscheinlichkeiten für Wertebereiche ermitteln, und, und das ist die eigentliche Stärke, man kann mehr als nur eine Einflussgröße verwenden (also mehr als wie hier die vergangene Zeit z.B.) - wobei man hier vermutlich schwer weitere in Zahlen ausdrückbare Konditionen finden kann, die die Schätzung wirklich verbessern.


Allerdings habe ich ebenfalls die Erfahrung gemacht, dass es sich gerade bei solchen Problemen herausstellt, dass empirische Modelle (wie von p80286 vorgeschlagen) meistens die Nase deutlich vorne haben, sowohl in Genauigkeit der Vorhersagen, als auch vor allem in der Zeit in der man sie implementiert hat! Und was ist schlimm daran eine Speziallösung zu entwickeln, wenn es nur für einen Kunden ist? Der WILL ja schließlich eine Speziallösung, sonst bräuchte er den TE nicht um sie zu schreiben. Damit komme ich zum Fazit: Du kannst gerne mit diversen mathematischen Verfahren rumtesten, es ist ein total interessantes Themengebiet, aber wenn du eine praktikable Lösung zeitnah zum Kunden tragen willst, dann besorg dir Messwerte und gehe ähnlich wie p80286 vor.

Ich bin ja auch ein Fan von möglichst allgemeinen Lösungen, Mathe insbesondere, und einfach "schönen" Konstrukten. Aber in der "realen Welt" gehts halt darum, dass es klappt, und das nicht erst nächstes Weihnachten. Ich muss mich da aber auch regelmäßig von meinem Chef auf den Teppich runter zerren lassen .


[1] "Kann", da es noch auf die Wahl der Funktionsbasis ankommt, und auch noch auf die Skalierung und Verteilung der Basisdaten.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#26

Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha

  Alt 4. Jul 2008, 22:44
Zitat von Medium:
Ein weniger komplizierter Weg zu etwas ähnlichem kann evtl. auch so aussehen...
klick
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#27

Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha

  Alt 6. Jul 2008, 09:50
Zitat von Medium:
Allerdings habe ich ebenfalls die Erfahrung gemacht, dass es sich gerade bei solchen Problemen herausstellt, dass empirische Modelle (wie von p80286 vorgeschlagen) meistens die Nase deutlich vorne haben, sowohl in Genauigkeit der Vorhersagen, als auch vor allem in der Zeit in der man sie implementiert hat!
Das Programm muss nicht für irgendein Kunden so schnell wie möglich fertig werden. Da ich das Programm der Allgemeinheit als Freeware zur Verfügung stellen will, kann ich mit dem Weg von p80286, so ich das Verstanden habe, nicht nutzen oder ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.685 Beiträge
 
Delphi 2007 Enterprise
 
#28

Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha

  Alt 6. Jul 2008, 14:24
Mh, okay, dann muss es wohl in der Tat so generisch wie möglich sein. Ich weiss grad nicht, wie ich darauf gekommen bin, dass es eine Speziallösung sein sollte

Da wird es dann aber echt kompliziert. Stelle sir folgendes Szenario vor:
Datum 1: 200 GB frei
Datum 2: 310 GB frei
Datum 3: 120 GB frei
Datum 4: 230 GB frei

Sowas kann man nun durch eine leicht steigende sinusartige Funktion annähern, wodurch die Platte recht spät voll würde, oder man kann es über ein Polynom 3. Grades annähern, wo die Schätzung erheblich eher eine volle Platte postulieren würde. Die zwei vorhersagen wären so sehr unterschiedlich, dass sie keine sinnvolle Information mehr enthält.

In dem Fall könnte ich es mir fast noch vorstellen, dass ein N-Tage Durchschnitt nicht übel ist. Extrapolieren würde ich dann über eine Gerade, die durch die Durchschnittskurve eine Sekante bildet, die beim letzten Wert, und dem Wert vor N Tagen schneidet. Die Varianz der Geraden zu den real gemessenen Werten in diesem Zeitraum könnte man dann zu einer Angabe verwursten, wie wahrscheinlich das Vollwerden zu einem Zeitpunkt ist.
Aber das ist auch eher eine Methode, die ich mir gerade ausgedacht habe, die vermutlich keine mathem. nachweisbare Qualität besitzt. Ich kann mir lediglich vorstellen, dass das in vielen Fällen sinnvolle Werte ergibt. Feintunen kann man dann über die Wahl von N, und man könnte bei großen N überlegen, ob man aktuellere Tage nicht stärker gewichtet als weiter vergangene, so dass man auch noch über eine Gewichtungsfuntkion tunen kann. Das ist dann Ausprobieren
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#29

Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha

  Alt 6. Jul 2008, 15:00
Zitat von Medium:
Mh, okay, dann muss es wohl in der Tat so generisch wie möglich sein. Ich weiss grad nicht, wie ich darauf gekommen bin, dass es eine Speziallösung sein sollte
Das ist nicht schlimm, ich hatte es bis dato ja auch nicht erwähnt. Aber würdest Du gerne ein Programm nutzen, was Dir halbwage Aussagen macht ?
Mir ist ja auch klar, das ich nie eine korrekte Aussage machen kann.

Da das ja alles nicht so einfach ist, ist vielleicht das Anzeigen der Tendenz einfacher zu Berechnen und anzuzeigen ? Das ich im Grunde nur anzeige, in welche Richtung mein freier Speicherplatz geht, ob nach oben oder unten oder stagniert.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.685 Beiträge
 
Delphi 2007 Enterprise
 
#30

Re: Berechnen, wann eine Platte keinen Speicherplatz mehr ha

  Alt 6. Jul 2008, 16:45
Das ist ja, was ich mit meiner beschrieben Idee versuche. Ich hab das mal beispielhaft gebaut, und die angehängte Grafik verdeutlich evtl. was ich da vor hatte. Man muss nur etwas damit spielen, über welchen Zeitraum man den Durchschnitt bilden möchte. (Solche N-Tage Durchschnittslinien werden u.a. auch an der Bösre als Kursindikator herangezogen, neben natürlich anderen Analyseverfahren.)
Miniaturansicht angehängter Grafiken
progn_144.png  
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 07:36 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