[linux-l] Telekom-CD
Ole Streicher
ole-usenet-spam at gmx.net
So Jun 12 19:45:21 CEST 2005
Hallo Oliver,
Oliver Bandel wrote:
> Ole Streicher, der Programmierer von tbb.
> Bis jetzt habe ich von Ole auch noch keine Antwort.
> Ihn gibt es aber doch noch?
Sorry, dass ich mich bisher nicht gemeldet habe; ich wollte mir die CD
auch erstmal zu Gemuete fuehren. Doch schoen, dass man in Berlin nicht
verloren gehen kann... (Hi Sven, viele Grüße! :-) )
Das Problem ist, dass die Telekom 2002 ihr Datenformat auf der CD
umgestellt hatte und dass die Umstellung scheinbar nicht mehr mit dem
"normalen" tbb beizukommen ist - damals lag das Problem vor allem in
geaenderten Indizes. Seitdem gab es weitere Aenderungen, so liegen z.B.
offenbar jetzt die Namen in einer komprimierten Fassung vor. Früher gab
es z.B. eine Datei "rel_name" (19 MB), die alle Namen unkomprimiert mit
den Metadaten enthielt. Neuerdings liegt da ein Dateipaar "rel_name.cfd"
(8 kB) und "rel_name.cfi" (8 MB) vor, die voellig anders strukturiert
ist. Ausserdem ist ein weiterer Index ueber die Telefonnummern
hinzugekommen, der mit einzubauen waere (rufnummer.cfi/cfd).
Alles in Allem eine Menge Arbeit, auch wenn tbb2001 als Vorlage sicher
noch einige Anhaltspunkte gibt -- die Namensgebung der Dateien ist
prinzipiell noch gleich, so dass zu vermuten ist, dass die Aenderungen
eher evolutionaerer Art sind. Es gibt auch noch einige Dateien, die im
"alten" Format vorliegen: "rel_strasse" zu Beispiel.
Wenn jemand wuesste, wofuer diese Endungen ".cfd" und ".cfi"
normalerweise eingesetzt werden (ich tippe auf irgendein
Standard-Datenverwaltungstool einer Windows-Entwicklungsumgebung), waere
man einen grossen Schritt weiter. Ohne das sehe ich recht schwarz.
Ein Ansatz waeren evtl die .cfd-Dateien, die offenbar auf
Dateipositionen innerhalb der .cfi-Dateien verweisen (4-Byte-Integer);
der jeweils letzte Eintrag verweist dabei auf das Ende der
entsprechenden Datei. An den verwiesenen Stellen taucht immer die
Bytefolge "0x78 0x9c" auf. Allerdings sind die .cfd-Dateien sehr kurz;
rel_name.cfi enthaelt gerademal 2136 solcher Verweise.
Meine Vermutung ist, dass jeder dieser Bloecke, auf die die .cfd-Datei
verweist, jeweils fuer sich komprimiert ist. Kennt man den
Kompressionsalgorithmus, bekommt man quasi wieder eine "normale" Datei,
in der man dann die Indizes suchen kann (dann muesste man "nur" noch tbb
auf diese neue Indexstruktur anpassen).
Sorry, mehr kann ich dazu auch nicht sagen; bei der Komprimierung
verlaesst mich mein Latein. Vielleicht findet sich hier ja jemand, der
da den richtigen Gedankenblitz hat. Bei der Indexstruktur koennte ich
dann vielleicht wieder helfen; die bisher gesammelten Erkenntnisse
stehen auch alle in der Datei format.txt des Telefonbuch-Programms (mehr
weiss ich auch nicht...)
Ich hoffe, das hilft erstmal ein wenig weiter; bei Fortschritten wäre
eine Mail an mich sehr schoen (ole.streicher at gmx.de), da ich Linux-l nur
noch sporadisch lese.
Viele Grüße
Ole
Mehr Informationen über die Mailingliste linux-l