一种数据存储方法、存储设备及计算机可读存储介质技术

技术编号:38945812 阅读:29 留言:0更新日期:2023-09-25 09:41
本申请提供一种数据存储方法、存储设备及计算机可读存储介质,涉及数据处理技术领域,存储设备包括单机存储引擎和硬盘驱动器HDD,所述单机存储引擎包括数据处理模块、用户态文件系统模块和裸设备管理模块,该方法包括:获取目标数据,并将所述目标数据写入内存中;基于所述数据处理模块对所述内存中的所述目标数据进行处理,并基于所述数据处理模块的交互接口模块将处理后的数据写入所述用户态文件系统模块中;基于所述裸设备管理模块将所述用户态文件系统模块中的数据写入至所述HDD。本申请通过HDD作为存储介质能有效降低成本。申请通过HDD作为存储介质能有效降低成本。申请通过HDD作为存储介质能有效降低成本。

【技术实现步骤摘要】
一种数据存储方法、存储设备及计算机可读存储介质


[0001]本申请涉及数据处理
,具体涉及一种数据存储方法、存储设备及计算机可读存储介质。

技术介绍

[0002]在存储领域通常使用分布式存储的方式实现对数据的存储。在相关技术中,为满足高吞吐和低延时额需求,通常采用固态硬盘(Solid State Drive,SSD)介质或非易失性存储器(Non

Volatile Memory Express,NVMe)介质作为存储盘对数据进行存储。但在相关技术中,通过SSD或NVMe的单位储存的成本较高,在需要对大量数据进行存储的情况下总存储成本较高。
[0003]可见,相关技术中存在存储成本较高的问题。

技术实现思路

[0004]本申请实施例提供一种数据存储方法、存储设备及计算机可读存储介质,以解决相关技术中存在存储成本较高的问题。
[0005]为解决上述问题,本申请是这样实现的:第一方面,本申请实施例提供一种数据存储方法,应用于存储设备,所述存储设备包括单机存储引擎和硬盘驱动器HDD,所述单机存储引擎包括数据处理模块、用户态文件系统模块和裸设备管理模块,所述方法包括:获取目标数据,并将所述目标数据写入内存中;基于所述数据处理模块对所述内存中的所述目标数据进行处理,并基于所述数据处理模块的交互接口模块将处理后的数据写入所述用户态文件系统模块中;基于所述裸设备管理模块将所述用户态文件系统模块中的数据写入至所述HDD。
[0006]第二方面,本申请实施例还提供一种存储设备,包括单机存储引擎和硬盘驱动器HDD,所述单机存储引擎包括数据处理模块、用户态文件系统模块和裸设备管理模块,所述存储设备还包括:获取模块,用于获取目标数据,并将所述目标数据写入内存中;处理模块,用于基于所述数据处理模块对所述内存中的所述目标数据进行处理,并基于所述数据处理模块的交互接口模块将处理后的数据写入所述用户态文件系统模块中;第一写入模块,用于基于所述裸设备管理模块将所述用户态文件系统模块中的数据写入至所述HDD。
[0007]第三方面,本申请实施例还提供一种存储设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如上述第一方面所述的数据存储方法的步骤。
[0008]第四方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储
介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的数据存储方法的步骤。
[0009]在本申请实施例中,通过基于数据处理模块对目标数据进行处理,得到中间数据,再将中间数据写入用户态文件系统模块,能提高存储效率,应对高吞吐和低延时的数据传输场景;再基于裸设备管理模块将用户态文件系统模块中的中间数据写入HDD,提高HDD的存储效率,且HDD的成本较低,在需要存储大量数据的情况下能有效降低存储成本。
附图说明
[0010]为更清楚地说明本申请实施例的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0011]图1是本申请实施例提供的一种存储设备的结构示意图;图2是本申请实施例提供的一种存储方法的流程图;图3是本申请实施例提供的一种存储过程的示意图;图4是本申请实施例提供的写入速度对比图;图5是本申请实施例提供的一种存储设备的结构图;图6是本申请实施例提供的一种存储设备的结构图。
具体实施方式
[0012]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0013]请参见图1,图1是本申请实施例提供的存储设备的结构示意图,存储设备包括单机存储引擎和硬盘驱动器(Hard Disk Drive,HDD),其中,单机存储引擎为基于日志结构合并(Log Structured Merge,LSM)树构建的,用于存储键值对数据的单机数据库,可以应用于分布式存储系统(例如Ceph)集群的对象存储设备(Object base Storage Device,OSD)内部架构。单机存储引擎包括数据处理模块11、用户态文件系统模块12和裸设备管理模块13。单机存储引擎能对数据进行快速存储,以满足高吞吐和低时延的业务需求,具体见后续实施例。
[0014]进一步地,单机存储引擎还提供交互接口模块,数据处理模块11通过交互接口模块与用户态文件系统模块12进行交互。
[0015]其中,数据处理模块11用于对输入至存储设备的数据进行处理,并将处理后的数据写入文件中。用户态文件系统模块12用于存储数据处理模块写入的文件,例如排序字符串表(Sorted String Table,SST)文件。裸设备管理模块13用于管理存储硬件,并将用户态文件系统模块12中的数据写入存储硬件,例如HDD。
[0016]如图2所示,图2是本申请实施例提供的一种数据存储方法的流程图,应用于上述存储设备,如图2所示,包括以下步骤:
步骤201、获取目标数据,并将所述目标数据写入内存中。
[0017]上述目标数据为输入至存储设备的数据,在存储设备获取到目标数据后,将目标数据先存储与内存中,再将内存中的目标数据基于数据处理模块写入存储文件中。
[0018]其中,目标数据为键值对的结构,按照时间顺序存储在内存中,基于数据处理模块将目标数据的键和目标数据的值按照内存中的顺序写入存储文件。
[0019]步骤202、基于所述数据处理模块对所述内存中的所述目标数据进行处理,并基于所述数据处理模块的交互接口模块将处理后的数据写入所述用户态文件系统模块中。
[0020]应理解,在相关技术中数据存储至HDD中的方法通常为直接将数据写入,对于数据较大的用户数据,写入的速率较慢,难以满足高吞吐和低时延的需求。故在本申请中,先将目标数据通过数据处理模块处理,再进行写入,能提高写入效率。
[0021]上述对目标数据进行处理为基于预设策略对目标数据进行处理,例如将目标数据中的键值对分离后存储,得到中间数据,再将中间数据写入用户态文件系统模块,能有效提高存储的效率。上述用户态文件系统模块为轻量级文件系统,用于存放单机存储引擎的文件,包括SST文件和日志文件等文件,在基于数据处理模块对目标数据进行处理后,将处理后的数据写入用户态文件系统模块的文件中。
[0022]具体的,单机存储引擎提供了用户态文件系统模块中文件的读写接口,例如EnvWrapper接口。如图3所示,数据处理模块通过交互接口模块(交互接口模块继承EnvWrapper接口的功能)对用户态文件系统模块中的文件进行数据写入。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据存储方法,应用于存储设备,所述存储设备包括单机存储引擎和硬盘驱动器HDD,所述单机存储引擎包括数据处理模块、用户态文件系统模块和裸设备管理模块,其特征在于,所述方法包括:获取目标数据,并将所述目标数据写入内存中;基于所述数据处理模块对所述内存中的所述目标数据进行处理,并基于所述数据处理模块的交互接口模块将处理后的数据写入所述用户态文件系统模块中;基于所述裸设备管理模块将所述用户态文件系统模块中的数据写入至所述HDD。2.根据权利要求1所述的方法,其特征在于,所述基于所述数据处理模块对所述内存中的所述目标数据进行处理,并基于所述数据处理模块的交互接口模块将处理后的数据写入所述用户态文件系统模块中,包括:在所述目标数据的值小于或者等于目标阈值的情况下,基于所述数据处理模块的交互接口模块将所述目标数据的键值对写入所述用户态文件系统模块的排序字符串表SST文件中。3.根据权利要求1所述的方法,其特征在于,所述基于所述数据处理模块对所述内存中的所述目标数据进行处理,并基于所述数据处理模块的交互接口模块将处理后的数据写入所述用户态文件系统模块中,包括:在所述目标数据的值大于目标阈值的情况下,基于所述数据处理模块生成所述目标数据的索引数据,并基于所述数据处理模块的交互接口模块将所述目标数据的值写入所述用户态文件系统模块的二进制大对象BLOB文件中,以及将所述目标数据的键和所述索引数据写入所述用户态文件系统模块的SST文件中。4.根据权利要求3所述的方法,其特征在于,所述基于所述数据处理模块的交互接口模块将所述目标数据的值写入所述用户态文件系统模块的二进制大对象BLOB文件中,包括:基于所述数据处理模块生成所述目标数据的键对应的头部信息;基于所述数据处理模块将所述目标数据的值和所述头部信息写入所述BLOB文件;在所述基于所述裸设备管理模块将所述用户态文件系统模块中的数据写入至所述HDD之后,所述方法还包括:在所述单机存储引擎中未查询到所述目标数据的键的情况下,或者,在所述单机存储引擎中所述目标数据的键与所述目标数据的值对应的头部信息不匹配的情况下,基于所述数据处理模块删除所述单机存储引擎中所述目标数据的键。5.根据权...

【专利技术属性】
技术研发人员:刘岚任家英杨红刚
申请(专利权)人:中国移动通信集团有限公司
类型:发明
国别省市:

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

1