[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