文件名称:基于内存映射文件的复杂对象快速读取方法_黄向平.pdf
文件大小:897KB
文件格式:PDF
更新时间:2023-07-17 05:35:15
内存 存储 映射
当前内存数据库( NoSQL) 、嵌入式数据库技术在高并发高性能系统中得到了广泛的应用,但对于复杂对象数据的 读取效率仍然低下,研究发现主要性能瓶颈有两个: 一是内核态与用户态间的内存拷贝,拷贝消耗时间与复杂对象的数据 量成线性增长; 二是从数据库数据到运行时数据对象的格式转化操作,不但需要开辟新的内存空间存储运行时数据对象, 而且还需要解析原始数据并拷贝至新对象之中。为此,提出了一种基于内存映射( memory mapping) 文件的复杂对象共享 读取方法。借助内存映射文件与自定义内存分配器,实现了结构复杂的 C++标准模板库容器对象跨进程无拷贝、无格式 转化的共享,有效降低了数据读取延时。通过性能的分析比较表明,与 NoSQL 内存数据库、嵌入式数据库比,读取性能效 率提升 10 倍以上。再加上底层技术成熟稳定,复用了标准模板库,具有开发成本低、可维护性强、实用性高等优点,因此, 适用于高并发高性能的高可用后台服务系统。