数据存储方法、装置、设备及存储介质制造方法及图纸

技术编号:30245570 阅读:42 留言:0更新日期:2021-10-09 20:28
本发明专利技术实施方式涉及通信技术领域,公开了一种数据存储方法,包括:将待写入数据按照最小分配单元进行对齐;获取所述待写入数据的对齐部分数据和非对齐部分数据;将所述对齐部分数据写入磁盘,并将所述非对齐部分数据写入持久性内存;将所述非对齐部分数据从所述持久性内存写入所述磁盘。本发明专利技术实施方式还公开了一种数据存储装置、设备及存储介质。本发明专利技术实施方式提供的数据存储方法、装置、设备及存储介质,可以减少在磁盘写入数据时的写入放大的问题。题。题。

【技术实现步骤摘要】
数据存储方法、装置、设备及存储介质


[0001]本申请实施例涉及通信
,特别涉及一种数据存储方法、装置、设备及存储介质。

技术介绍

[0002]传统磁盘SSD(固态硬盘)和HDD(硬盘),特别是HDD,设备的随机访问性能与顺序访问性能差距较大。为了充分发挥磁盘的性能,往往通过把数据随机写转换为顺序写的方法对磁盘进行访问。比如LSM-Tree,通过把数据更新操作,在内存中进行缓存排序后,再批量顺序的写入到磁盘中。
[0003]虽然通过把数据随机写转换为顺序写的方法可以充分发挥磁盘的顺序访问的优势,但是,在用顺序写的方式写入数据时,写入的数据会导致一部分旧数据需要重新写入到磁盘的其它位置,从而导致了写入放大的问题。

技术实现思路

[0004]本申请实施例的主要目的在于提出一种数据存储方法、装置、设备及存储介质,可以减少在磁盘写入数据时的写入放大的问题。
[0005]为实现上述目的,本申请实施例提供了一种数据存储方法,包括:将待写入数据按照最小分配单元进行对齐;获取所述待写入数据的对齐部分数据和非对齐部分数据;将所述对齐部分数据写入磁盘,并将所述非对齐部分数据写入持久性内存;将所述非对齐部分数据从所述持久性内存写入所述磁盘。
[0006]为实现上述目的,本申请实施例还提供了一种数据存储装置,包括:对齐模块,用于将待写入数据按照最小分配单元进行对齐;获取模块,用于获取所述待写入数据的对齐部分数据和非对齐部分数据;第一写入模块,用于将所述对齐部分数据写入磁盘,并将所述非对齐部分数据写入持久性内存;第二写入模块,用于将所述非对齐部分数据从所述持久性内存写入所述磁盘。
[0007]为实现上述目的,本申请实施例还提供了一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的数据存储方法。
[0008]为实现上述目的,本申请实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述的数据存储方法。
[0009]本申请提出的数据存储方法,通过将待写入数据按照最小分配单元进行对齐后,将对齐部分数据写入磁盘,并将非对齐部分数据先写入持久性内存后再从持久性内存写入磁盘。由于对齐部分数据写入磁盘时可以整块写入,不会导致其它旧数据的重新写入,因此可以减少将数据写入磁盘时导致的写入放大问题;同时,非对齐部分数据先写入持久性内存再从持久性内存写入磁盘,可以利用持久性内存的持久特性保存非对齐部分数据,从而
保证非对齐部分数据最终也存储到磁盘中;另外,在将非对齐部分数据写入持久性内存后再从持久性内存写入磁盘,可以增加非对齐部分数据在持久性内存中进行数据合并的几率,可以进一步减少将待写入数据写入磁盘时的写入放大问题。
附图说明
[0010]一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定。
[0011]图1是本专利技术第一实施方式提供的数据存储方法的流程示意图;
[0012]图2是本专利技术第一实施方式提供的数据存储方法的原理示例图;
[0013]图3是本专利技术第一实施方式提供的数据存储方法的原理框架示例图;
[0014]图4是本专利技术第二实施方式提供的数据存储方法的流程示意图;
[0015]图5是本专利技术第二实施方式提供的数据存储方法的原理示例图;
[0016]图6是本专利技术第三实施方式提供的数据存储装置的模块结构示意图;
[0017]图7是本专利技术第四实施方式提供的电子设备的结构示意图。
具体实施方式
[0018]为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请的各实施例进行详细的阐述。然而,本领域的普通技术人员可以理解,在本申请各实施例中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本申请的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
[0019]本专利技术第一实施方式涉及一种数据存储方法,通过将待写入数据按照最小分配单元进行对齐,获取待写入数据的对齐部分和非对齐部分数据,将对齐部分数据写入磁盘,并将非对齐部分数据写入持久性内存;将非对齐部分数据从持久性内存写入磁盘。由于对齐部分数据写入磁盘时可以整块写入,不会导致其它旧数据的重新写入,因此可以减少将数据写入磁盘时导致的写入放大问题;同时,非对齐部分数据先写入持久性内存再从持久性内存写入磁盘,可以利用持久性内存的持久特性保存非对齐部分数据,从而保证非对齐部分数据最终也存储到磁盘中;另外,在将非对齐部分数据写入持久性内存后再从持久性内存写入磁盘,可以增加非对齐部分数据在持久性内存中进行数据合并的几率,可以进一步减少将待写入数据写入磁盘时的写入放大问题。
[0020]应当说明的是,本专利技术实施方式提供的数据存储方法的执行主体可以为包含磁盘与持久性内存组合的存储系统,具体可以为终端或服务端的处理器,其中,服务端可以由单个服务器或多个服务器组成的集群来实现。
[0021]本专利技术实施方式提供的数据存储方法的具体流程如图1所示,具体包括以下步骤:
[0022]S101:将待写入数据按照最小分配单元进行对齐。
[0023]S102:获取待写入数据的对齐部分数据和非对齐部分数据。
[0024]S103:将对齐部分数据写入磁盘,并将非对齐部分数据写入持久性内存。
[0025]S104:将非对齐部分数据从持久性内存写入磁盘。
[0026]对于S101-S104,详细说明如下:
[0027]其中,磁盘可以包括固态硬盘(SSD)和硬盘(HDD),优选地,磁盘为固态硬盘。
[0028]请参考图2,其为本专利技术实施方式提供的数据存储方法的原理示例图。具体地,将待写入数据按最小分配单元(Minimal Allocate Size,MAS)进行对齐,得到中间的对齐部分数据和首尾的非对齐部分数据;然后将中间的对齐部分数据直接写入磁盘中,将首尾的非对齐部分数据写入持久性内存;最后将非对齐部分数据从持久性内存写入磁盘。
[0029]可选地,在将待写入数据按照最小分配单元进行对齐之前,可以对待写入数据进行判断,若待写入数据小于最小分配单元,则直接将待写入数据写入持久性内存中,再将待写入数据从持久性内存写入磁盘;若待写入数据大于或等于最小分配单元,则将待写入数据按照最小分配单元进行对齐。可选地,若待写入数据等于最小分配单元,则不执行待写入数据按照最小分配单元进行对齐的步骤,直接写入磁盘。
[0030]在将对齐部分数据写入磁盘时,包括两种情况,一种是数据新写入磁盘,一种是数据以覆盖写的方式写入磁盘。对于新写的情况,直接将对齐本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据存储方法,其特征在于,包括:将待写入数据按照最小分配单元进行对齐;获取所述待写入数据的对齐部分数据和非对齐部分数据;将所述对齐部分数据写入磁盘,并将所述非对齐部分数据写入持久性内存;将所述非对齐部分数据从所述持久性内存写入所述磁盘。2.根据权利要求1所述的数据存储方法,其特征在于,所述将所述非对齐部分数据从所述持久性内存写入所述磁盘,包括:当达到预设时间间隔时或所述持久性内存的已使用空间达到预设阈值时,将所述非对齐部分数据从所述持久性内存写入所述磁盘。3.根据权利要求1所述的数据存储方法,其特征在于,所述将所述对齐部分数据写入磁盘,包括:当所述对齐部分数据写入磁盘的方式为覆盖写方式时,采用写时复制将所述对齐部分数据写入所述磁盘。4.根据权利要求1所述的数据存储方法,其特征在于,所述将所述对齐部分数据写入磁盘,包括:将所述对齐部分数据写入磁盘的裸设备中。5.根据权利要求1所述的数据存储方法,其特征在于,还包括:将所述待写入数据的元数据写入所述持久性内存。6.根据权利要求5所述的数据存储方法,其特征在于,所述将所述待写入数据的元数...

【专利技术属性】
技术研发人员:韩银俊屠要峰高洪陈正华田海东
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:

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

1