一种内存数据处理系统的制作方法

文档序号:12666262阅读:231来源:国知局

本发明涉及计算机数据领域,尤其涉及了一种内存数据处理系统。



背景技术:

目前的内存数据库是通过将系统中常用数据库表中的数据全部映射到主机共享内存中,通过使用一个固定的数据结构数组将每个固定的数据库表保存在共享内存中,也就是将内存中的一个存储区作为一个数据库表的表空间,根据表记录的实际大小将该存储区划分为多个内存块来保存数据库表中的数据;在数据库表中的关键字段上建立内存索引,通过该内存索引对关键数据进行实时访问。内存系统提供用于对内存数据库表中的数据进行修改和检索的应用编程接口API(Application Programming Interface)接口,应用程序在访问这些数据库表时,通过调用内存数据库的API来访问共享内存中的数据,而不是直接访问物理数据库表中的数据,因此,能够提高系统对关键数据的实时访问性能。

但是,关系型数据库中的表都是存储一些格式化的数据结构,每个元组字段的组成都一样,即使不是每个元组都需要所有的字段,但数据库会为每个元组分配所有的字段,这样的结构可以便于表与表之间进行连接等操作,但从另一个角度来说它也是关系型数据库性能瓶颈的一个因素。它不能满足以下“高”需求:对数据库高并发读写的需求;对海量数据的高效率存储和访问的需求;对数据库的高可扩展性和高可用性的需求。



技术实现要素:

本发明所要解决的技术问题是:目前的数据处理技术难以解决对数据库高并发读写的需求;以及对海量数据的高效率存储和访问的需求;和对数据库的高可扩展性和高可用性的需求。

为解决上面的技术问题,本发明提供了一种内存数据处理系统,该系统包括分别与数据创建模块连接的通信模块、数据操作模块及数据读取模块:

通信模块,用于接收各种信息和输出结果;

数据创建模块,用于根据通信模块接收到的数据信息确定数据的存储目录;将数据依数据文件的形式存储到存储服务器中,所述数据文件的文件名中包括有时间信息;所述的存储服务器包括由多个磁盘驱动器组成的磁盘阵列,预先对所述磁盘阵列进行逻辑分区;

数据操作模块,用于在所述操作需要向数据创建模块中添加表记录时,查询所述描述信息选择大小匹配的一个逻辑区,以及将表记录写入选择的逻辑区中空闲的存储区内;

数据读取模块,用于根据数据创建模块中的信息创建多个读取线程来依次从列表中提取数据文件,读取数据创建模块中的数据。

进一步,在进行逻辑分区后,在每一个逻辑分区内按设定规则建立多级文件目录;

建立数据文件的划分规则,使存储的数据文件的大小在设定的范围内;

存储数据时,存储服务器存储数据前,先分析数据并根据多级目录的建立规则确定存储目录;

为经过设定时间的存储数据文件建立索引;

存储服务器查询数据采用分段多线程并发技术来扫描索引和数据文件的路径。

进一步,所述的数据创建模块还包括:确定单元,用于确定数据创建模块中数据文件记录的大小;创建单元,用于在共享内存中建立第一存储区、第二存储区和第三存储区;保存单元,用于将数据库的描述信息保存到第一存储区,数据库的描述信息包括各数据库表的描述信息。

进一步,所述的数据操作模块还包括:操作单元,用于将需要添加的表记录写入选择的逻辑区中空闲的存储区内,以及在第二存储区中保存表记录的位置信。

进一步,对于数据创建模块,所述建立索引为建立多级索引。

进一步,对于数据创建模块,索引建立后,定时更新索引。

有益效果:解决了对数据库高并发读写的需求;以及对海量数据的高效率存储和访问的需求;和对数据库的高可扩展性和高可用性的需求,提高了数据存储和读取的速率。

附图说明

图1为本发明的一种内存数据处理系统的概要图。

具体实施方式

以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。

如附图1所示的,一种内存数据处理系统,该系统包括分别与数据创建模块连接的通信模块、数据操作模块及数据读取模块:

通信模块,用于接收各种信息和输出结果;

数据创建模块,用于根据通信模块接收到的数据信息确定数据的存储目录;将数据依数据文件的形式存储到存储服务器中,所述数据文件的文件名中包括有时间信息;所述的存储服务器包括由多个磁盘驱动器组成的磁盘阵列,预先对所述磁盘阵列进行逻辑分区;

数据操作模块,用于在所述操作需要向数据创建模块中添加表记录时,查询所述描述信息选择大小匹配的一个逻辑区,以及将表记录写入选择的逻辑区中空闲的存储区内;

数据读取模块,用于根据数据创建模块中的信息创建多个读取线程来依次从列表中提取数据文件,读取数据创建模块中的数据。

在进行逻辑分区后,在每一个逻辑分区内按设定规则建立多级文件目录;

建立数据文件的划分规则,使存储的数据文件的大小在设定的范围内;

存储数据时,存储服务器存储数据前,先分析数据并根据多级目录的建立规则确定存储目录;

为经过设定时间的存储数据文件建立索引;

存储服务器查询数据采用分段多线程并发技术来扫描索引和数据文件的路径建立索引为建立多级索引。

还包括步骤:索引建立后,定时更新索引。

数据创建模块还包括:确定单元,用于确定数据创建模块中数据文件记录的大小;创建单元,用于在共享内存中建立第一存储区、第二存储区和第三存储区;保存单元,用于将数据库的描述信息保存到第一存储区,数据库的描述信息包括各数据库表的描述信息。

数据操作模块还包括:操作单元,用于将需要添加的表记录写入选择的逻辑区中空闲的存储区内,以及在第二存储区中保存表记录的位置信。

内存数据库实现了内存数据库表结构与数据存储结构的松耦合,在存储表记录时,通过选取与表记录大小相匹配的逻辑块可以实现同一个表的变长记录的存储模式,降低了共享内存中表空间资源的占用;本实施例中动态扩充表空间的方式保证了内存数据库表结构与数据存储结构之间不存在耦合关系,并且,在系统通过一个内存数据库进程动态扩充表空间时,其他内存数据库应用进程更新本进程内逻辑块的时间戳与系统定义区中该逻辑志的时间戳一致,保证了内存空间映射的同步。

内存数据库能够满足对数据进行大量访问的实时性要求,可应用在实时要求较高的系统中,例如,在一个实时计费系统中采用本实施例提供的内存数据库来提高系统的实时响应性能,数据库存储用户的相关信息及使用业务的计费信息。

在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1