一种缓存管理方法与设备技术

技术编号:12908853 阅读:44 留言:0更新日期:2016-02-24 15:09
本申请的目的是提供一种缓存管理的方法与设备;将每个数据块的第一索引信息与所述数据块存储于磁盘,其中,所述数据块在所述磁盘中的存储位置与所述第一索引信息相对应;将所述磁盘中的所有第一索引信息写入相对应的缓存。与现有技术相比,本申请建立的多个索引信息能够突破单个索引信息的取值范围限制,实现对海量数据的查询;同时,查询关键字的匹配都是在访问速度较快的缓存中进行,大大提高了查询速度;此外,存储于磁盘中的各数据块依据需要在必要时存入缓存,使得在保证查询效率的同时节约缓存空间。因此,通过本申请,用户即可以快速的访问海量数据,这将会对以获取海量数据为基础的即时数据统计、运算、分析等应用带来极大的便利。

【技术实现步骤摘要】

本申请涉及计算机领域,尤其涉及一种缓存管理技术。
技术介绍
随着互联网的发展,各种计算引擎和应用系统都对数据的管理提出了更高的要求,希望能对更多的数据进行访问,并且可以提高访问数据的速度。目前,该领域采用的方案为:一种是全内存哈希索引技术。该方案中,所有数据都缓存在内存,因此哈希索引数据量受内存大小限制,不能实现海量数据的索引。另一种是磁盘哈希索引技术。该方案中,所有的数据都存储在磁盘上,虽然缓存了小部分数据及其哈希关键字在内存中,但是在索引查询时,大多数查询需要磁盘10读操作,大大降低了查询访问的速度。
技术实现思路
本申请的目的是提供一种缓存管理方法与设备。根据本申请的一个方面,提供了一种缓存管理方法,包括:将每个数据块的第一索引信息与所述数据块存储于磁盘,其中,所述数据块在所述磁盘中的存储位置与所述第一索引信息相对应;将所述磁盘中的所有第一索引信息写入相对应的缓存。根据本申请的另一方面,还提供了一种缓存管理设备,包括:第一装置,用于将每个数据块的第一索引信息与所述数据块存储于磁盘,其中,所述数据块在所述磁盘中的存储位置与所述第一索引信息相对应;第二装置,用于将所述磁盘中的所有第一索引信息写入相对应的缓存。与现有技术相比,本申请通过将每个数据块的第一索引信息与所述数据块存储于磁盘,并将所述磁盘中的所有第一索引信息写入相对应的缓存;从而,针对不同数据分块可以有多个索引信息,可查询数据量不再依赖于单个索引信息的取值范围,可访问数据量能够根据需要大幅度扩增,真正能够实现对海量数据的查询访问。而且,本申请的缓存中包括所有数据块的第一索引信息,从而使得查询关键字的匹配可在访问速度较快的缓存中进行,大大提高了查询速度。此外,本申请克服了须在缓存中统一存储数据及其关键字的技术偏见,本申请的缓存中优先存储所有数据块的第一索引信息,而各数据块存储于磁盘,必要时且缓存中有可用空间时才将对应数据块写入缓存;这使得在保持查询效率较高的同时,大幅降低了缓存空间需求。因此,将本方案植入对数据索引查找等操作有需求的计算引擎或者应用系统时,用户即可快速访问海量数据,这将会对以获取海量数据为基础的即时数据统计、运算、分析等应用带来极大的便利。进一步地,本申请中的查询关键字包括多个关键字时,将所述多个关键字组合生成一个组合关键字,仅通过一次函数运算就可以查询到相应记录,从而简化了对多个关键字分别运算、多层查询的步骤,进一步地简化了运算过程,提高了查询访问的效率。【附图说明】通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1示出根据本申请一个方面的一种缓存管理的设备示意图;图2示出根据本申请一个优选实施例的一种缓存管理的设备示意图;图3示出根据本申请另一个方面的一种缓存管理的方法流程图;图4示出根据本申请一个优选实施例的一种缓存管理的方法流程图。图5示出根据本申请一个优选实施例的一种缓存管理设备的技术效果对比图。 附图中相同或相似的附图标记代表相同或相似的部件。【具体实施方式】下面结合附图对本申请作进一步详细描述。在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPR0M)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。图1示出根据本申请一个方面的一种缓存管理的设备示意图。缓存管理设备1包括第一装置101和第二装置102。其中,第一装置101将每个数据块的第一索引信息与该数据块存储于磁盘,其中,该数据块在所述磁盘中的存储位置与该第一索引信息相对应;第二装置102将所述磁盘中的所有第一索引信息写入相对应的缓存。具体地,缓存管理设备1的第一装置101将每个数据块的第一索引信息与该数据块存储于磁盘。所述数据块是使用缓存管理的上层应用系统一次读取数据的单位,数据块的大小通常依据上层应用对数据访问的实际需要来配置。例如,应用层所需要读取的数据单位可以是表、列、区、块等。第一装置101通过函数计算将所述第一索引信息映射到相应的数据块在磁盘中的存储位置,使得磁盘中每一个第一索引信息都与其指向的数据块相对应,建立起多个索引,进而通过已知的第一索引信息就可以找到对应的数据块。其中,第一装置101中所述第一索引信息可以采用任意方式存入磁盘,只要该方式可以确保存储于磁盘中的第一索引信息后续可以顺利读入相应缓存即可,所述存储方式例如序列化存储,压缩存储、加密存储等等。第二装置102将所述磁盘中的所有第一索引信息写入相对应的缓存。在将所有数据块和其第一索引信息相对应地存入磁盘中后,再将所述第一索引信息全量写入与所述磁盘相对应的缓存,完成缓存中第一索引信息的初始化。例如,第一装置101将数据块和其相对应的第一索引信息存入磁盘中时,存储的第一索引信息和相应的数据块之间通过函数映射相对应。如,对于数据块blockl,其中包含的具体数据记录为valuel,其第一索引信息为关键字keyl,将keyl作为自变量,通过函数f(x)进行计算,即可得到数据块对应的数据记录valuel在磁盘中的存储位置。由此,磁盘中所述的第一索引信息与相应数据块之间就形成了函数映射关系,当已知某第一索引信息时,就可以依据此函数映射找到磁盘中对应的数据块的数据记录。在此,缓存管理设备1第一装置101将每个数据块的第一索引信息与该数据块存储于磁盘,其中,该数据块在所述磁盘中的存储位置与该第一索引信息相对应。使得所管理的数据根据分块建立起了多层索引,比起数据没有分块时建立的单层索引,可查询数据量不再依赖于单个索引信息的取值范围限制,可查询数据量能够根据需要大幅度扩增,真正能够实现对海量数据的查询。接着,第二装置102将所述磁盘中的所有第一索引信息写入相对应的缓存。所述的缓存包括一级缓存、二级缓存、三级缓存、超级缓存等多种能够快速存取数据的存储设备。该缓存与所述磁盘相对应。磁盘中存入了所有数据块的数据记录以及其相对应的第一索引信息,如,磁盘中存入数据块的数据记录valuel, value2, value3, value4...,对应与第一索引信息keyl,key2,key3,key4...,初始化缓存时,第二装置102将所有的第一索引信息keyl, key2, 本文档来自技高网...

【技术保护点】
一种缓存管理方法,包括:将每个数据块的第一索引信息与所述数据块存储于磁盘,其中,所述数据块在所述磁盘中的存储位置与所述第一索引信息相对应;将所述磁盘中的所有第一索引信息写入相对应的缓存。

【技术特征摘要】

【专利技术属性】
技术研发人员:黄益聪吉剑南魏闯先潘岳
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1