Author_Institution :
Software Center, Syst. Eng. Corp., Beijing, China
Abstract :
In order to improve the efficiency and security of raster data processing, a variable-length memory pool model is proposed, and it is realized in a spatial database management system named "IngreSDB", replacing the built-in memory management function of the C language, which relies on the heap management mechanism of the operating system. Consisting of four components of different sizes, which from the biggest to the smallest are separately the memory pool, the memory bucket, the memory block, and the memory piece, this model can allocate memory through processing an allocation request in the order of "pool-bucket-block-piece", and it can also release the allocated memory in the opposite order. In addition, by using the lock method, this model can safely deal with the multi-threaded concurrent access. In order to verify its performance, three experiments are conducted, including the memory allocation and release experiment, the single-threaded data importation experiment, as well as the multithreaded concurrent data importation experiment. According to the experimental results, this model can considerably reduce the time and memory consumption of raster data processing.
Keywords :
C language; concurrency control; data handling; multi-threading; security of data; storage management; visual databases; C language; IngreSDB; allocation request processing; heap management mechanism; lock method; memory allocation; memory block; memory bucket; memory consumption; memory management method; memory piece; memory release; multithreaded concurrent access; multithreaded concurrent data importation experiment; operating system; pool-bucket-block-piece; raster data processing; security; single-threaded data importation experiment; spatial database management system; variable-length memory pool model; Data models; Data processing; Instruction sets; Memory management; Operating systems; Resource management; Spatial databases; lock method; memory management; multi-threaded; raster data processing; variable-length memory pool;