Hi,
für mein (Studium-)Software-Projekt benötige ich Klassen für die (effiziente) Verwaltung von Kontent. Ich stelle mir da eine Art Indexing vor. Kontent ist beschrieben durch den Dateinamen, Größe, Version, (MD5-Key), Description, Keywords (für effiziente Suche nach passender Datei).
Ich möchte das Rad nicht neu erfinden, aber die Kontent-Verwaltung sollte auch nicht zu komplex sein.
Kann jemand helfen?
Gruss
Christian
Nicht das jemand denkt, ich möchte das jemand anderes meine „Hausaufgaben“ erledigt!
Das Projekt ist nicht die Kontentverwaltung selbst, sondern eine P2P-Anwendung für den Datenaustausch. Ich möchte bloss nicht zuviel Arbeit in die Kontentverwaltung reinstecken.
Danke,
Christian
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Ok, die Fragestellung ist noch sehr allgemein. Daher noch ein paar Zusatzinfos:
Angenommen ich verwalte den Kontent in einer Klasse
class Content {
String Dateiname, Groesse, MD5Key, Beschreibung;
int Version;
String[] Keywords;
get/set Methoden…
}
-
ist das die optimale Art und Weise Kontent darzustellen??
-
welche Datenstruktur verwende ich zur Verwaltung (Indexierung, Suche, Einfügen, Entfernen) der Kontent-Objekte ??
Unter Indexierung und Suche verstehe ich Zuordnung einer/mehrerer Datei/(en) zu einem Keyword bzw. genauere Treffer durch Keyword-Liste.
Das dynamische Entfernen bzw. Hinzufügen von Kontent soll auch möglich sein.
Für eine einfache verkettete Liste bzw. HashTable (Keyword -> Dateiname) ist das vermutlich schon zu komplex?!
- Wie speichere ich Kontent-Objekt und Kontent-Liste für spätere Verwendung (wenn Anwendung geschlossen und wiedergeöffnet wurde)??
Noch zur Info
Informationen über eine Datei (Content-Advertisement) werden in Form einer XML-Datei übers Netz geschickt.
Gruss
Christian
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Moin
Ok, die Fragestellung ist noch sehr allgemein.
Machts du was für die Uni oder was privates ? wenns was privates wird schreib mir mal eine mail/gibt mir mal eine HP an. An sowas in der Art hab ich auch mal gebastelt.
Angenommen ich verwalte den Kontent in einer Klasse
class Content {
String Dateiname, Groesse, MD5Key, Beschreibung;
int Version;
String[] Keywords;
get/set Methoden…
}
- ist das die optimale Art und Weise Kontent darzustellen??
vielleicht. Hängt davon ab was du mit dem Ding vor hast und wieviele davon rumlaufen sollen. Und wie schnell der Zugriff sein soll. Und ob alle einzeln gespeichert/übertragen werden sollen…
- welche Datenstruktur verwende ich zur Verwaltung
(Indexierung, Suche, Einfügen, Entfernen) der Kontent-Objekte
??
Factory-Pattern zur erzeugung, (da es verteilt laufen soll ?) Indexer-Klasse für alle Zugriffe.
Dann noch ein paar Hashtables ((Teil)-Keyword/Eigenschaft => Vector von Treffern).
Ich würd das bei grossen Datenmengen so aufziehen wie die SQL-DB’s mit ihren indizierten Spalten. Ist eine menge Aufwand zu Programmieren, sehr Fehleranfällig aber sauschnell.
Für eine einfache verkettete Liste bzw. HashTable (Keyword
-> Dateiname) ist das vermutlich schon zu komplex?!
hängt von der Anzahl der Einträge ab.
- Wie speichere ich Kontent-Objekt und Kontent-Liste für
spätere Verwendung (wenn Anwendung geschlossen und
wiedergeöffnet wurde)??
XML => FileOutputStream.
Noch zur Info
Informationen über eine Datei (Content-Advertisement) werden
in Form einer XML-Datei übers Netz geschickt.
(Content-Advertisement) => JXTA ? must du das Ding benutzen ? wenn nein, steig um. Benutz an Anfang was selbstgehacktes, das ist einfacher.
cu