论文部分内容阅读
伴随现代计算机与通信技术的不断深入发展,内存的价格愈发便宜,且芯片的密度愈发紧密。这样给读写直接在内存的内存存储带来更多的可行性。内存数据库的实质即把数据全部载入内存,在内存里实现对数据的各项管理。因此,它很好地解决磁盘数据库I/0开销瓶颈的问题,访问速度比磁盘数据库高好几个数量级。这样的优势,让其被广泛推广到有苛刻时限要求、海量高性能事务处理、大规模智能计算设备的应用场合。共享内存是进程间通信的最快最重要的方式之一。通过地址映射方式,应用进程可直接访问内存,因而得到极高的通信效率。内存数据库需要多进程共享内存中的数据,才能保证能稳定地进行多进程并发操作。而共享内存在数据庞大的内存数据库中也有很大的使用空间。基于共享内存技术的内存数据库,结合两者优点,能很好地满足实时性、精准性、灵活性、智能性的系统要求。它被大量应用于电信领域。本文工作旨在通过自主研发一个基于共享内存的内存数据库,来提高电信计费系统的运行效率,借此提升电信行业的整体运营与服务水平。本文首先介绍了内存数据库的研究背景和应用意义,研究了内存数据库的相关理论和关键技术,针对电信计费系统高实时性和高准确性的业务需求特点,借鉴了其他商业数据库的实现方法,研发了一个基本的内存数据库。本文采用共享内存通信机制。在开辟的共享内存里建立表、字段、记录结构,并依照内存数据库的特点,采用平衡二叉树索引和Hash索引结构,以达到查询速率与存储效率的平衡。本文重点进行内存数据库结构设计(主要包括内存数据库的架构、数据组织方式、数据表加载机制、数据表操作流程、并发控制)和内存数据库的实现(主服务端进程、共享内存控制模块机制和数据更新实时分发进程)等工作。并将基于共享内存的内存数据库应用于电信计费系统,且根据内存数据库在承载电信计费系统运行过程中的变化,不断提出优化改进方案(数据快速全量导出后再加载的机制、将数据多维度分块多线程并发加载机制、共享内存切换机制),提升内存数据库的访问性能、可靠性、可用性及可拓展性。最后,对电信计费系统应用内存数据库后的运行情况进行对比测试,验证数据的正确性与处理性能的高效性,测试结果良好。方案满足电信计费系统需要。