With the structure and characteristics of the page, it is necessary to implement the salvage work of the database page;
In order to facilitate the common use of Windows and Linux, plan to make a C language console application, and try to use only ANSI C;
About multi-threading, planning to make multithreaded programs, preferably a thread read a file, a thread calculation and output;
About line libraries: Choose Pthead, Multi-line is impersonating is a headache thing ah, undrop although also use multi-threading, but each thread is to finish all the process, programming difficulty and single-threaded basic no difference;
My plan is that one thread reads the source file, and the other thread does the judging and extracting work;
Wrote a day, now only found Undrop in the Stream_perser have data salvage function, the use of the characteristics and their own basic one to learn, or decided to recreate a wheel, many code directly in the Undrop;
Yesterday because the command line operation is too cumbersome, so the program made Win32 window interface, considering the Linux porting, so the code basically did not change, can easily be changed to Linux programs, of course, Linux is the command line interface.
About the performance, ordinary Pc,i3 550CPU, mechanical hard disk, if sweep cluster scan or scan by sector, the CPU does not have pressure, can reach the maximum speed of reading hard disk, when scanning byte by bit, the CPU single core full load, the speed has a certain impact, and then there is the mechanical hard disk if read and write are on the same block, Speed has a greater impact.
This tool is not a final version,
MySQL InnoDB data Salvage (ii) INNODB page Salvage Programming