计算机技术与发展2020,Vol.30Issue(3) :82-87.

基于内存映射文件的复杂对象快速读取方法

Fast Reading Method of Complex Objects Based on Memory Mapping Files

黄向平 彭明田 杨永凯
计算机技术与发展2020,Vol.30Issue(3) :82-87.

基于内存映射文件的复杂对象快速读取方法

Fast Reading Method of Complex Objects Based on Memory Mapping Files

黄向平 1彭明田 1杨永凯1
扫码查看

作者信息

  • 1. 中国民航信息网络股份有限公司,北京 101318;民航旅客服务智能化应用技术重点实验室,北京 101318
  • 折叠

摘要

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

关键词

内存数据库/嵌入式数据库/复杂对象共享读取/内存映射/内存分配器

引用本文复制引用

基金项目

国家核高基课题(2014ZX010450101)

国家发改委2014年云计算工程项目(发改办高技(1799号)

出版年

2020
计算机技术与发展
陕西省计算机学会

计算机技术与发展

CSTPCD
影响因子:0.621
ISSN:1673-629X
被引量6
参考文献量14
段落导航相关论文