【技术实现步骤摘要】
一种数据存储与查询的方法、系统及存储引擎装置
本专利技术涉及通信及计算机领域数据存储技术,尤其涉及一种数据存储与查询的方法、系统及存储引擎装置。
技术介绍
目前,存储数据可以采用数据库、文件系统等方式,在现有的数据存储方式中,数据是存储在数据库或文件系统划分的数据块中的。数据在存入数据块时,通过相关的存储管理算法实现存储,且数据记录是按行随机存放的,查询时通过构造的索引进行查询。以数据库为例,数据库的相关逻辑结构如图1所示,显然,在图1中,数据是按行存储的,索引中存储了行身份标识号码(ID,Identity),其中,所述行ID是唯一标志记录物理位置的ID。在进行常规表访问时,通过从索引里面找到的记录的行ID去查表,进而找到所要查找的数据。 但是,由于现有的数据存储方法使每个数据块中存储的数据是无规律的,因此,至少存在以下问题: 1、相似的数据存储于不同的数据块中。比如,一个用户某月的通用无线分组业务(General Packet Rad1 Service,GPRS)话单存储在多个数据块中,会造成块级数据冗余,消耗大量的存储空间;即使采用Oracle数据库的块级压缩技术进行去冗,也会因相似的数据存储在不同的块中而导致数据去冗率大大低于传统的数据字典去冗方法,海量数据消耗的存储空间依然巨大。 2、现有数据库或文件系统的存储结构影响了查询性能。如果进行多行数据的查询,则需要将存储相关数据的数据块全部找出;如查询1000条数据记录,最坏的情况下需要读取1000个数据块进行解析,这大大增加了系统的输入/输出(Input/Output,1 ...
【技术保护点】
一种数据存储方法,其特征在于,在数据块存储结构中,数据块头中预留有至少一个压缩槽;在索引块存储结构中,索引块包括索引块头和索引块本体;所述方法还包括:将接收到的原始数据文件划分成多个子数据文件;依次读取子数据文件中的每条数据,根据每条数据中的信息生成与所述每条数据对应的索引身份标识号码ID,并根据所述索引ID查询索引树,获取与所述索引ID对应的数据块号,并将所述每条数据逐条存储到相应的数据块中。
【技术特征摘要】
1.一种数据存储方法,其特征在于,在数据块存储结构中,数据块头中预留有至少一个压缩槽;在索引块存储结构中,索引块包括索引块头和索引块本体;所述方法还包括: 将接收到的原始数据文件划分成多个子数据文件; 依次读取子数据文件中的每条数据,根据每条数据中的信息生成与所述每条数据对应的索引身份标识号码ID,并根据所述索引ID查询索引树,获取与所述索引ID对应的数据块号,并将所述每条数据逐条存储到相应的数据块中。2.根据权利要求1所述的方法,其特征在于,所述索引块头中至少存储有数据块记录开始地址、数据块记录结束地址、以及数据块前映像地址; 所述索引块本体包括第一信息、第二信息、第二信息标识、开始数据块号和结束数据块号。3.根据权利要求1所述的方法,其特征在于,所述至少一个压缩槽对应一个压缩值段;在所述数据块头中还设置有存储下一个数据块地址的存储槽; 其中,所述压缩槽至少包括字段标识、字段长度和压缩值偏移地址;所述压缩值段用于存储所述至少一个压缩槽所对应的具体字段内容。4.根据权利要求1至3任一项所述的方法,其特征在于,所述根据每条数据中的信息生成与所述每条数据对应的索引ID为:根据所述每条数据的第一信息和/或第二信息生成索引ID ; 所述将每条数据逐条存储到相应的数据块中包括:判断所述数据块是否有可用存储空间,如果有可用存储空间,则将所述每条数据存储到所述数据块中;如果没有可用存储空间,则将所述每条数据存储到新分配的数据块中,同时在当前数据块的存储槽中记录新分配的数据块地址,并将索引块中存储的地址更新为指向新分配的数据块。5.根据权利要求4所述的方法,其特征在于,将所述每条数据存储到所述数据块中,包括: 判断当前字段值是否等于压缩槽所对应的相关字段值,如果等于,则将所述当前字段值存储为相关压缩值的指针;如果不等于,则判断是否还有未占用的压缩槽,如果有,则将所述当前字段值存储到压缩槽中,并将当前字段值存储为相关压缩值的指针;如果没有,则直接进行存储。6.根据权利要求5所述的方法,其特征在于,所述方法还包括: 在数据块中有未占用的压缩槽时,将重复率大于设定阈值的字段存储到压缩槽中。7.一种数据查询方法,其特征在于,在数据块存储结构中,数据块头中预留有至少一个压缩槽;在索引块存储结构中,索引块包括索引块头和索引块本体;所述方法还包括: 接收到查询指示时,根据索引ID定位所述索引ID对应的开始数据块号,依次读取开始数据块号至结束数据块号的数据。8.根据权利要求7所述的方法,其特征在于,所述索引块头中至少存储有数据块记录开始地址、数据块记录结束地址、以及数据块前映像地址; 所述索引块本体包括第一信息、第二信息、第二信息标识、开始数...
【专利技术属性】
技术研发人员:王凡,陈乐君,钟全龙,谭正,
申请(专利权)人:中国移动通信集团重庆有限公司,
类型:发明
国别省市:重庆;85
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。