Aktueller sectionsd und weitere Ambitionen?

Das Original Benutzerinterface Neutrino-SD incl. zapit, sectionsd, yWeb etc...
PauleFoul
Wissender
Wissender
Beiträge: 1839
Registriert: Sonntag 17. August 2003, 01:39

Beitrag von PauleFoul »

Nirvana hat geschrieben:Logo, habe ich ja auch schon irgendwo gesagt, dass das EPG-speichern den Weg gehen soll und die aktuelle Version nur Grundfunktionaöität bietet.
Wenn wir mal alle Richtung SD-Karte, IDE2 und der Mount-Funktion
schielen, kann es doch nur die Lösung sein das die EPG-Daten in einem
kopierbaren Format gespeichert werden.

Warum kann ich denn nicht einfach die Daten aus dem RAM auf das
gemountete Laufwerk kopieren und dann wieder zurücklesen.
Die reine Übertragung via Netzwerk dürfte ja eignetlich nur wenige
Sekunden dauern...
Duch die Formatwandlung währedn des Kopierens dauert es halt
entsprechend länger (lang)... :D


Gruß
____Paule
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Beitrag von Tommy »

...ja - so eine art Ramdump. Könnte man unterhalb /tmp nicht ein verzeichnis /EPG anlegen und wie eine Ramdisk nutzen? Beim Runterfahren wird das Verzeichnis auf den Server übertragen und beim hochfahren wieder retour?! :gruebel:
---------------------------
Alle weiteren Infos findest Du im WIKI
Bitte vor dem posten Boardregeln lesen und verstehen!
Wie erstelle ich ein Bootlog? Wo finde ich die FAQ?
Nirvana
Erleuchteter
Erleuchteter
Beiträge: 646
Registriert: Mittwoch 16. April 2003, 14:12

Beitrag von Nirvana »

Paul, ich kann dir nicht ganz folgen. Das Problem ist die CPU Power. Ich kann die Daten ratzfatz wegschreiben und lesen aber dann kannst du deine Box nicht bedienen.
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

ich würde sagen, wie es jetzt ist, läuft es prima.
einen kleinen ansatz hab ich noch für dich Nirvana.
wenn ich epg abspeichere, und dann paar tage nicht da bin, dann holt der sich beim einschalten den abgespeicherten epg. nur ist der zu alt, und ich habe auf keinen sender einen epg. nur epg reset hilft da. kannst dir das nochmal ansehen ?
Nirvana
Erleuchteter
Erleuchteter
Beiträge: 646
Registriert: Mittwoch 16. April 2003, 14:12

Beitrag von Nirvana »

@mb405
Das ist "normal" und müsste sich nach einem housekeeping nach 5 Minuten erledigen.
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

ok dann bin ich beruhigt :)
Nirvana
Erleuchteter
Erleuchteter
Beiträge: 646
Registriert: Mittwoch 16. April 2003, 14:12

Beitrag von Nirvana »

Naja, aber ich mach mal nen Vermerk im Hinterkopf, die Events nicht reinzulassen, wenn eine Uhrzeit da ist und sie ohnehin zu alt wären. :)
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

das ist klasse. ich hatte übrigens noch keinen absturz beim abspeichern wieder.
PauleFoul
Wissender
Wissender
Beiträge: 1839
Registriert: Sonntag 17. August 2003, 01:39

Beitrag von PauleFoul »

Nirvana hat geschrieben:Paul, ich kann dir nicht ganz folgen. Das Problem ist die CPU Power. Ich kann die Daten ratzfatz wegschreiben und lesen aber dann kannst du deine Box nicht bedienen.
Ist schon klar... Aber nur weil Du die Daten von dem einen in das
andere (XML) Format wandeln muss. Die Frage / Idee war warum ich
man die Daten nicht 1:1 wie sie heute im RAM liegen einfach auf das
Mount kopieren kann und dann wieder einlesen...
Würde man sich 2mal umwandeln sparen...

Alternativ könnte man die Daten natürlich auch gleich in XML im Ram
ablegen, aber das dürfte am Platzproblem geben...


Gruß
____Paule
Nirvana
Erleuchteter
Erleuchteter
Beiträge: 646
Registriert: Mittwoch 16. April 2003, 14:12

Beitrag von Nirvana »

Wahrscheinlich hab ich gerade mal wieder ein Brett vor dem Kopf oder mir fehlt die Fantasie. Du möchtest das Ram irgendwie binär abspeichern oder so? Aber ich weiß doch gar nicht wo was im Ram liegt. Irgendwie muss ich doch sagen EventID komm her und dann in der Textdatei muss ich vermerken: Das war mal eine EventID.
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Beitrag von Tommy »

einen festen adreßbereich kann man im RAM nicht reservieren - der dann womöglich nur für den sectionsd genutzt wird?!
---------------------------
Alle weiteren Infos findest Du im WIKI
Bitte vor dem posten Boardregeln lesen und verstehen!
Wie erstelle ich ein Bootlog? Wo finde ich die FAQ?
Nirvana
Erleuchteter
Erleuchteter
Beiträge: 646
Registriert: Mittwoch 16. April 2003, 14:12

Beitrag von Nirvana »

Ich glaube mir schwant, was ihr plant. Nee, das find ich ja unschön. Ihr seid ja von der quick & dirty Fraktion. ;)
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Beitrag von Tommy »

Also letztendlich würd ich den jetzigen Stand erstmal auf Eis legen bis IDE2 kommt. Da eröffnen sich glaube ich ganz neue möglichkeiten (swap als unerschöpflicher Speicher z.B.)

ich hoffe ja das es noch kommt ;-)
---------------------------
Alle weiteren Infos findest Du im WIKI
Bitte vor dem posten Boardregeln lesen und verstehen!
Wie erstelle ich ein Bootlog? Wo finde ich die FAQ?
PauleFoul
Wissender
Wissender
Beiträge: 1839
Registriert: Sonntag 17. August 2003, 01:39

Beitrag von PauleFoul »

Nirvana hat geschrieben:Ich glaube mir schwant, was ihr plant. Nee, das find ich ja unschön. Ihr seid ja von der quick & dirty Fraktion. ;)
OUICK & DIRTY???


Verstehe ich nicht... Also noch mal...

Die EPG - Daten müssen doch in irgendeinem Format, Liste , Datei oder
was weiss ich Stand heute im Ram abgelegt werden.
Warum ist es nicht möglich diese Daten aus dem RAM zu kopieren und sie
in Ihrer Datenform (wie auch immer diese aussieht) zu belassen!?
Dann würde das Aus- bzw. Einlesen doch viel schneller gehen, oder?

Eine andere Variante wäre natürlich die Daten gleich in einer Format /
Datei so zu speichern, dass diese einfach kopierbar ist oder/und auch
gleich auf einen externen Datenträger geschrieben werden kann.
Was spricht den dagegen die EPG Daten gleich in XML ins RAM zu legen?
Oder in irgendeinem anderen Format?


Gruß
____Paule
doktorknow
Interessierter
Interessierter
Beiträge: 99
Registriert: Dienstag 27. November 2001, 00:00

Beitrag von doktorknow »

Kurze Zwischenfrage zum Diff:

Reicht das Neuerstellen von Zapit und neutrino? Irgendwann musste man noch eine .conig Datei löschen ...
Muss das hier auch noch? Und wenn ja - welche?
MfG
doktorknow
JtG-Riker
Image-Team
Beiträge: 1015
Registriert: Freitag 7. Februar 2003, 18:37

Beitrag von JtG-Riker »

Tommy hat geschrieben:Also letztendlich würd ich den jetzigen Stand erstmal auf Eis legen bis IDE2 kommt. Da eröffnen sich glaube ich ganz neue möglichkeiten (swap als unerschöpflicher Speicher z.B.)

ich hoffe ja das es noch kommt ;-)
Swap geht noch nicht *g*, da kackt irgendwas ab...

Aber IDE2 kommt, müssen nur noch ein paar Bugs beseitigt werden im Treiber, im Moment verliert das Interface schonma den Interrupt und dann gibts ein Sync in der Aufnahme oder ein Ruckler bei der Wiedergabe.
Ich hoffe das DboxBear bald wieder mehr Zeit hat das man das Problem mal angehen kann.

Wenn das mal behoben ist und der Treiber noch was optimiert wird wird das schon werden, EPG speichern auf die Platte dauert aber bei mir auch schon ziemlich lang ;)

Riker
dietmarw
Contributor
Beiträge: 1833
Registriert: Mittwoch 10. April 2002, 15:39

Beitrag von dietmarw »

auf jeden fall sollte man irgendwelche epg/sectiond verbesserungen nicht von ide abhängig machen!

denn ein großteil der user wird nie ein ide interface haben..
Papst
Developer
Beiträge: 279
Registriert: Mittwoch 26. Juni 2002, 22:19

Beitrag von Papst »

@Nirvana
Gibts in C++ nicht so eine Art Serialisierung wie in Java? Damit kann ich ganze Klassen bzw. deren Objekte in einen OutputStream schreiben. Später dann aus einem Inputstream wieder zurück zu den Objekten.
Wie gesagt, kenne das von Java. Keine Ahnung ob sowas in diesem Fall funktioniert oder sinnvoll ist.
Gruß

Der Papst
Nico 77
Semiprofi
Semiprofi
Beiträge: 1383
Registriert: Freitag 18. April 2003, 15:12

Beitrag von Nico 77 »

dietmarw hat geschrieben:auf jeden fall sollte man irgendwelche epg/sectiond verbesserungen nicht von ide abhängig machen!

denn ein großteil der user wird nie ein ide interface haben..
Danke, wollte nicht den bösen Buben spielen. :D

Finde das man nie vergessen sollte das das kein VDR ist, sondern eine TV Box die auch ohne ide/mmc oder sonstige Mount-/Interfacefunktionen ohne große Einbusen laufen sollte.

Verdünnisiere mich nun auch wieder, bevor es wieder zu einem Antikritikthread wird. :oops:
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

Was spricht den dagegen die EPG Daten gleich in XML ins RAM zu legen?
Seid ihr wahnsinnig!!
Finger weg von XML.
Die Daten werden zur Zeit in Maps und Strings verwaltet und dabei geht schon ca. 50% des Speichers für die Verwaltungsinfos drauf.
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Beitrag von Tommy »

Houdini hat geschrieben:
Was spricht den dagegen die EPG Daten gleich in XML ins RAM zu legen?
Seid ihr wahnsinnig!!
Finger weg von XML.
Die Daten werden zur Zeit in Maps und Strings verwaltet und dabei geht schon ca. 50% des Speichers für die Verwaltungsinfos drauf.
deshalb war ja mein vorschlag - reserviere speicher - papp ihn voll und dump ihn auf whatever (ide/nfs/ emmc)
---------------------------
Alle weiteren Infos findest Du im WIKI
Bitte vor dem posten Boardregeln lesen und verstehen!
Wie erstelle ich ein Bootlog? Wo finde ich die FAQ?
PauleFoul
Wissender
Wissender
Beiträge: 1839
Registriert: Sonntag 17. August 2003, 01:39

Beitrag von PauleFoul »

Houdini hat geschrieben:
Was spricht den dagegen die EPG Daten gleich in XML ins RAM zu legen?
Seid ihr wahnsinnig!!
Finger weg von XML.
Die Daten werden zur Zeit in Maps und Strings verwaltet und dabei geht schon ca. 50% des Speichers für die Verwaltungsinfos drauf.
Bei der XML Sache habe ich wohl den Smilie vergessen... :D

Mir ging es ja Primär darum das die Daten in welchem Format auch immer
auf irgendeinem Medium speicherbar sind ohne sie wandeln zu müssen.

Das kann wenn möglich meinetwegen auch im jetzigen Format erfolgen...


Gruß
____Paule
petb
Erleuchteter
Erleuchteter
Beiträge: 785
Registriert: Samstag 6. August 2005, 03:39

Beitrag von petb »

Hallo,
möchte dazu was sagen:

a.) speichern extern find ich gut, aber wie schon gesagt man muss an die Usser ohne share denken.

b.) speichern extern sollte so aussehen, das auf der box zunächst nur eine Art Index mit Titel/Zeit, etc. geführt wird und der eigentliche große Datenteil kann auf dem Share liegen und wird nur auf Anforderung vom share gelesen.
Das ganze muss dann so sein das zu jeder Zeit andere Boxen drauf zugreifen können und nicht konkurrieren.
Also event darf nur gelöscht werden wenn keine andere box drauf zugreift.
houskeeping löscht doppelte events die vieleicht gerade von 2 boxen quasi gleichzeitig eingefügt wurden.

c.) Speicherart.
Wenn doch jetzt alles im Ram in Variablen liegt ?
Vieleicht indiziert oder wie auch immer.
Warum werden die dann nicht ausgelesen und in einem Format das noch zu definieren ist auf das share geschrieben und später wieder eingelesen ?

Ich kann doch Dateistrukturen selbst festlegen.
DateiA
Datensatz1=
1Byte für Integer SenderID
1Byte für Integer EventID
Rest bis zu einem Delimiter für Titel

DateiB
Datensatz1=
1Byte für Integer EventID
Rest bis zu einem Delimiter für info1

DateiC
Datensatz1=
1Byte für Integer EventID
Rest bis zu einem Delimiter für info2

Wobei die Byteangaben gelten je nach Wert, ob int oder long int usw....
So muss die Box immer nur die eine Art Index auf die eigentlichen Daten halten und zeigt je nach Bedarf nur das an was gewünscht wird und holt auch nur das was benötigt wird vom share.

Das houskeeping wird dann allerdings etwas aufwändiger weil die Daten seriell abgearbeitet werden müssen.
Und das löschen eines Datensatzen aus der Mitte einer Datei ist aufwändig.
Daher sollte der nur als gelöscht gekennzeichnet werden und nur beim runterfahren einer Box sollte diese dann den löschvorgang bzw. die reorganisation fahren, nachdem sie geprüft hat das keine andere Box gerade das houskeeping macht.

Das ganze liese sich auch im Ram der Box in einem begrenzteren Rahmen erledigen, für Leute ohne Share.

Wobei man das auch noch so machen könnte das die Dateinamen Zeitangaben enthalten und somit von einem script komplett gelöscht werden könnten wenn sie älter als z.B. 6 Stunden sind.
dann müsste die Box NULL houskeeping machen und nur beim anzeigen aus der indexdatei heraus die passende zeitdatei anpacken

Als mySql und ähnliches noch nicht so verbreitet war habe ich meine Daten immer so gehandelt und war immer unabhängig von irgendwelchen Dingen.

Ich meine auf jeden fall das so der Aufwand der Box lediglich das füllen/Append der Daten und dann das je nach Anforderung auslesen der Daten die gebraucht werden.

Hoffe ihr versteht was ich meine.

bye
PetB
jmittelst
Tuxboxer
Tuxboxer
Beiträge: 6044
Registriert: Montag 17. November 2003, 06:48

Beitrag von jmittelst »

Wenn ich mir das hier so alles durchlese, würde ich mir fast lieber wünschen, das jemand einen EPG-Server schreibt. Ein kleines Tool, was sich vielleicht auf den meisten NAS, einen Linux-Rechner und/oder einem Win-Rechner befindet. Es sammelt von xx-Boxen den EPG, der regelmässig von den Boxen geliefert wird und verwaltet den, sortiert den und wenn eine Box Infos will, fragt es die Daten da ab. Ist kein Server da, arbeitet der Sectionsd so wie jetzt. Aber das das auch nur ein Wunschtraum ist (am Beispiel Picserver sieht man, wie schnell Träume manchmal wahr werden ;)), wäre das doch eine Lösung, die vermutlich mehr Performance mit sich bringt, als jede andere.

Aber egal, wie Ihr den Sectionsd voran treibt, ich werde mich an allem neuen erfreuen :)

cu
Jens
Nirvana
Erleuchteter
Erleuchteter
Beiträge: 646
Registriert: Mittwoch 16. April 2003, 14:12

Beitrag von Nirvana »

Nirvana hat geschrieben:[
Nö, geschätzter Programmieraufwand: 15 min.
Naja, hat doch nur 12 min gedauert. ;)
http://s57.yousendit.com/d.aspx?id=1N0A ... Y7T8GTBC9F

Der Patch ändert die Eventbeschränkung so ab, dass Events, die zum aktuellen Sender gehören nicht gelöscht werden. Dafür muss halt ein Event eines anderen Senders dran glauben. Diesem Patch sind nur jeweils 4 Zeilen in 2 Funktionen zuzurechnen. Der Rest ist immer noch EPG-speichern, aber anders kann ich ja nicht diffen.