一种数据存储方法及装置的制造方法_4

文档序号:9471078阅读:来源:国知局
储于所述磁性硬盘中。
[0167]另外,本申请实施例还提供了一种计算节点,计算节点可能是包含计算能力的主机服务器,或者是个人计算机PC,或者是可携带的便携式计算机或终端等等,本申请具体实施例并不对计算节点的具体实现做限定。
[0168]图7为本申请的计算节点的结构图。如图7所示,计算节点700包括:
[0169]处理器(processor)710,通信接口(Communicat1ns Interface) 720,存储器(memory) 730,总线 740。
[0170]处理器710,通信接口 720,存储器730通过总线740完成相互间的通信。
[0171]处理器710,用于执行程序732。
[0172]具体地,程序732可以包括程序代码,所述程序代码包括计算机操作指令。
[0173]处理器710可能是一个中央处理器CPU,或者是特定集成电路ASIC(Applicati0nSpecific Integrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路。
[0174]存储器730,用于存放程序732。存储器730可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0175]程序732中各模块的具体实现参见图6所示实施例中的相应单元,在此不赘述。
[0176]最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0177]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案对【背景技术】做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
[0178]本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0179]本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在【具体实施方式】及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本申请的限制。
【主权项】
1.一种数据存储方法,其特征在于,所述方法包括: 从内存中获取需要存储至固态硬盘中的数据; 将所述数据以日志结构合并树的数据结构缓存至磁性硬盘中; 对所述磁性硬盘中缓存的数据执行合并操作; 当所述磁性硬盘中缓存的数据容量达到预设容量时,将合并后的数据存储至所述固态硬盘中。2.根据权利要求1所述的方法,其特征在于,对所述磁性硬盘中缓存的数据执行合并操作,具体包括: 确定所述磁性硬盘中缓存的数据的键名以及版本号; 在具有相同键名的数据中,确定最新生成的数据对应的最新版本号; 保留所述最新版本号对应的数据; 删除另外的版本号对应的数据。3.根据权利要求1所述的方法,其特征在于,所述将合并后的数据存储至所述固态硬盘中,具体包括: 将合并后的数据写入所述内存; 将写入所述内存中的所述合并后的数据存储至所述固态硬盘中。4.根据权利要求3所述的方法,其特征在于,所述将合并后的数据写入所述内存之前,还包括: 判断所述内存中是否已经存有所述合并后的数据; 如果是,则直接将所述内存中存有的所述合并后的数据存储至所述固态硬盘中; 否则,执行将合并后的数据写入所述内存的步骤。5.根据权利要求1所述的方法,其特征在于,所述将合并后的数据存储至所述固态硬盘中之前,还包括: 判断所述磁性硬盘的空闲带宽是否大于预设阈值; 如果是,则将合并后的数据以排序的字符串表为单位存储至所述固态硬盘中; 否则,继续执行将所述数据以日志结构合并树的数据结构缓存至磁性硬盘的步骤。6.根据权利要求1所述的方法,其特征在于,所述将合并后的数据存储至所述固态硬盘中之前,还包括: 在所述合并后的数据中,确定更新频率小于预设频率的数据; 所述将合并后的数据存储至所述固态硬盘中,具体包括: 将所述更新频率小于预设频率的数据存储至所述固态硬盘中。7.根据权利要求1-6任一项所述的方法,其特征在于,所述合并后的数据以多路搜索树的数据结构存储在所述固态硬盘中。8.根据权利要求1-6任一项所述的方法,其特征在于,所述日志结构合并树的索引持久存储于所述磁性硬盘中。9.一种数据存储装置,其特征在于,所述装置包括: 数据获取单元,用于从内存中获取需要存储至固态硬盘中的数据; 缓存单元,用于将所述数据以日志结构合并树的数据结构缓存至磁性硬盘中; 合并单元,用于对所述磁性硬盘中缓存的数据执行合并操作; 存储迁移单元,用于当所述磁性硬盘中缓存的数据容量达到预设容量时,将合并后的数据存储至所述固态硬盘中。10.根据权利要求9所述的装置,其特征在于,所述合并单元,具体用于: 确定所述磁性硬盘中缓存的数据的键名以及版本号; 在具有相同键名的数据中,确定最新生成的数据对应的最新版本号; 保留所述最新版本号对应的数据; 删除另外的版本号对应的数据。11.根据权利要求9所述的装置,其特征在于,所述存储迁移单元,具体用于: 将合并后的数据写入所述内存; 将写入所述内存中的所述合并后的数据存储至所述固态硬盘中。12.根据权利要求11所述的装置,其特征在于,还包括: 第一判断单元,用于在将合并后的数据写入所述内存之前,判断所述内存中是否已经存有所述合并后的数据; 所述存储迁移单元,用于当所述第一判断单元的判断结果为是时,直接将所述内存中存有的所述合并后的数据存储至所述固态硬盘中; 当所述第一判断单元的判断结果为是时,执行将合并后的数据写入所述内存的步骤。13.根据权利要求9所述的装置,其特征在于,还包括: 第二判断单元,用于在将合并后的数据存储至所述固态硬盘中之前,判断所述磁性硬盘的空闲带宽是否大于预设阈值; 所述存储迁移单元,用于当所述第二判断单元的判断结果为是时,则将合并后的数据以排序的字符串表为单位存储至所述固态硬盘中; 当所述第二判断单元的判断结果为否时,继续执行将所述数据以日志结构合并树的数据结构缓存至磁性硬盘的步骤。14.根据权利要求9所述的装置,其特征在于,还包括: 数据确定单元,用于在将合并后的数据存储至所述固态硬盘中之前,在所述合并后的数据中,确定更新频率小于预设频率的数据; 所述存储迁移单元,具体用于: 将所述更新频率小于预设频率的数据存储至所述固态硬盘中。15.根据权利要求9-14任一项所述的装置,其特征在于,所述合并后的数据以多路搜索树的数据结构存储在所述固态硬盘中。16.根据权利要求9-14任一项所述的装置,其特征在于,所述日志结构合并树的索引持久存储于所述磁性硬盘中。
【专利摘要】本申请提供了一种数据存储方法及装置。所述方法包括:从内存中获取需要存储至固态硬盘中的数据;将所述数据以日志结构合并树的数据结构缓存至磁性硬盘中;对所述磁性硬盘中缓存的数据执行合并操作;当所述磁性硬盘中缓存的数据容量达到预设容量时,将合并后的数据存储至所述固态硬盘中。采用本申请的方法或装置,可以解决对小粒度数据进行更新时产生的写放大问题,延长固态硬盘的使用寿命。
【IPC分类】G06F3/06
【公开号】CN105224237
【申请号】CN201410226007
【发明人】刘扬宽, 熊劲, 岳银亮, 张子刚
【申请人】华为技术有限公司, 中国科学院计算技术研究所
【公开日】2016年1月6日
【申请日】2014年5月26日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1