[发明专利]一种存储数据的方法和装置有效
申请号: | 201110457404.X | 申请日: | 2011-12-30 |
公开(公告)号: | CN103186617A | 公开(公告)日: | 2013-07-03 |
发明(设计)人: | 郭祎;徐广鑫 | 申请(专利权)人: | 北京新媒传信科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京市隆安律师事务所 11323 | 代理人: | 权鲜枝 |
地址: | 100089 北京市海淀区万*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 存储 数据 方法 装置 | ||
技术领域
本发明涉及计算机领域,特别涉及一种存储数据的方法和装置。
背景技术
随着互联网应用服务的发展,常见的数据源为数据库系统以及文件系统。现有技术中主流操作系统,例如Windows,Unix,Solaris,都支持了MMF(Memory Mapped File,内存映射文件)机制,提高了文件读写的效率。在MMF机制中,以某一特定文件作为数据源,开辟一块内存,映射到该文件,在需要读写数据操作的时候,直接对该块内存进行操作,最后操作系统的MMF机制将内存中的数据变化写入文件。通过内存映射文件保留一个内存地址空间的区域,同时将物理存储器提交给此区域。使用MMF机制处理存储于磁盘上的文件时,将不必对文件执行I/O操作,处理速度更快。
但是该MMF机制存在如下缺陷,对于32位的操作系统,最大仅能够支持2G的文件,在文件读写操作的时候,会锁住文件的位置标记(position),在有大量并发请求到来的时候仅能串行顺序处理,效率较低。
发明内容
本发明提供的一种存储数据的方法和装置,以解决最大仅能够支持2G的文件,以及在有大量并发请求到来的时候仅能串行顺序处理,使得处理效率较低的问题。
本发明公开了一种存储数据的方法,所述方法包括:
步骤1,按配置将磁盘中一个文件划分为多个子文件,子文件包括一个或多个数据单元;
步骤2,建立内存与子文件的映射;
步骤3,为所述文件建立索引表,将索引表中的表项与数据单元一一对应,所述表项中存储该表项对应的数据单元中数据记录的索引。
其中,所述步骤3后还包括:
步骤21,在写入数据时,从索引表中查找空表项,将待写入数据的索引存入所述空表项;
步骤22,将数据写入所述空表项对应的数据单元映射的内存中;
步骤23,将内存中写入的数据同步到所述数据单元中。
其中,所述步骤3后还包括:
步骤31,在修改数据时,从索引表中查找到待修改的数据的索引;
步骤32,修改存储所述索引的表项对应的数据单元映射的内存中数据;
步骤33,将内存中的数据修改同步到所述数据单元。
其中,所述步骤3后还包括:
步骤41,在删除数据时,从索引表中查找到待删除数据记录的索引;
步骤42,将所述索引从索引表中删除。
其中,所述将索引表中的表项与数据单元一一对应,所述表项中存储该表项对应的数据单元中数据记录的索引进一步包括:
步骤51,确定表项对应的数据单元所在子文件在文件中的顺序号和所述数据单元在子文件中的顺序号组成所述数据单元的位置标号;
步骤52,通过哈希表存储索引和位置标号,以表项存储的索引为主键,以表项对应的数据单元的位置标号为值,组成键值对。
其中,所述步骤3后还包括:
步骤61,在修改数据时,以待修改数据的索引为主键;
步骤62,获得所述主键对应的键值对的值,根据所述值确定数据单元,修改数据单元映射的内存中数据;
步骤63,将内存中的数据修改同步到所述数据单元。
其中,所述步骤21后还包括:
步骤71,对于所述空表项,确定表项对应的数据单元所在子文件在文件中的顺序号和所述数据单元在子文件中的顺序号,组成所述数据单元的位置标号;
步骤72,以表项存储的索引为主键,以表项对应的数据单元的位置标号为值,通过哈希表存储所述主键和所述值组成的键值对。
其中,所述子文件中数据单元的数量为配置的单元数量;
所述将索引表中的表项与数据单元一一对应进一步包括:
步骤81,索引表中的表项与数据单元顺序对应;
所述确定表项对应的数据单元所在子文件在文件中的顺序号和所述数据单元在子文件中的顺序号进一步包括:
步骤82,将表项在索引表中的顺序号与所述单元数量相除,所得商为所述数据单元所在子文件在文件中的顺序号,所得余数为所述数据单元在子文件中的顺序号;
所述表项在索引表中的顺序号、子文件在文件中的顺序号、以及数据单元在子文件中的顺序号都以0为起始。
本发明还公开了一种存储数据的装置,所述装置包括:
子文件划分模块,用于按配置将磁盘中一个文件划分为多个子文件,子文件包括一个或多个数据单元;
映射建立模块,用于建立内存与子文件的映射;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京新媒传信科技有限公司,未经北京新媒传信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110457404.X/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置