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

技术编号:31494658 阅读:14 留言:0更新日期:2021-12-18 12:33
本公开提供了一种数据存储方法、系统、装置、设备以及存储介质,涉及数据处理领域,尤其涉及数据存储领域。具体实现方案为:获取作为值value的待存储文件,以及该待存储文件的键key;基于该key,从多个数据库DB单元中,选取目标DB单元;确定该目标DB单元所位于的存储服务器作为目标服务器;向该目标服务器发送待存储文件和key,以使该目标服务器调用该目标DB单元,以将该待存储文件写入该目标DB单元所申请的、当前操作的数据块空间,并记录该key和写入有该待存储文件的空间位置信息的对应关系。通过本方案,针对数量庞大且数据量较小的文件,可以有效地存储到磁盘空间较大的存储服务器中。中。中。

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


[0001]本公开涉及计算机
,尤其涉及分布式数据存储领域,具体涉及一种数据存储方法、系统、装置、设备及存储介质。

技术介绍

[0002]为降低图片下载所需带宽,用户通常存在下载图片的缩略图以及在线预览图片的需求。为了满足用户需求,服务端可以将图片原图进行压缩,转换成客户端展现需要的分辨率,即数据量较小的文件。
[0003]并且,为了保证较低时延,需要将图片的缩略图以及在线预览请求所请求的图片,预先存储在服务端。

技术实现思路

[0004]本公开提供了一种数据存储方法、系统、装置、设备以及存储介质。
[0005]根据本公开的一方面,提供了一种数据存储方法,应用于键值KV存储系统中的代理服务器;所述KV存储系统还包括多个存储服务器;所述方法包括:
[0006]获取作为值value的待存储文件,以及所述待存储文件的键key;
[0007]基于所述key,从多个数据库DB单元中,选取目标DB单元;其中,所述多个DB单元为位于多个存储服务器中的、用于实现数据存储的进程;
[0008]确定所述目标DB单元所位于的存储服务器,作为目标服务器;
[0009]向所述目标服务器发送所述待存储文件和key,以使所述目标服务器调用所述目标DB单元,以将所述待存储文件写入所述目标DB单元所申请的、当前操作的数据块空间,并记录所述key和写入有所述待存储文件的空间位置信息的对应关系。
[0010]根据本公开的另一方面,提供了一种数据存储方法,应用于键值KV存储系统中的目标服务器,所述目标服务器为所述KV存储系统中的任一存储服务器,所述KV存储系统还包括代理服务器;所述方法包括:
[0011]获取所述代理服务器下发的作为值value的待存储文件,以及所述待存储文件的key;
[0012]从预先初始化的DB单元中,确定所述目标DB单元;
[0013]调用所述目标DB单元,以将所述待存储文件写入所述目标DB单元所申请的、当前操作的数据块空间,并记录所述key和写入有所述待存储文件的空间位置信息的对应关系。
[0014]根据本公开的另一方面,提供了一种键值KV存储系统,所述KV存储系统包括代理服务器和多个存储服务器;
[0015]所述代理服务器,用于获取作为值value的待存储文件,以及所述待存储文件的键key;基于所述key,从多个数据库DB单元中,选取目标DB单元;确定所述目标DB单元所位于的存储服务器,作为目标服务器;向所述目标服务器发送所述待存储文件和key;其中,所述多个DB单元为位于多个存储服务器中的、用于实现数据存储的进程;
[0016]所述任一存储服务器,用于作为所述目标服务器时,获取所述代理服务器下发的作为值value的待存储文件,以及所述待存储文件的key;从预先初始化的DB单元中,确定所述目标DB单元;调用所述目标DB单元,以将所述待存储文件写入所述目标DB单元所申请的、当前操作的数据块空间,并记录所述key和写入有所述待存储文件的空间位置信息的对应关系。
[0017]根据本公开的另一方面,提供了一种数据存储装置,应用于键值KV存储系统中的代理服务器;所述KV存储系统还包括多个存储服务器;所述装置包括:
[0018]获取模块,用于获取作为值value的待存储文件,以及所述待存储文件的键key;
[0019]选取模块,用于基于所述key,从多个数据库DB单元中,选取目标DB单元;其中,所述多个DB单元为位于多个存储服务器中的、用于实现数据存储的进程;
[0020]确定模块,用于确定所述目标DB单元所位于的存储服务器,作为目标服务器;
[0021]发送模块,用于向所述目标服务器发送所述待存储文件和key,以使所述目标服务器调用所述目标DB单元,以将所述待存储文件写入所述目标DB单元所申请的、当前操作的数据块空间,并记录所述key和写入有所述待存储文件的空间位置信息的对应关系。
[0022]根据本公开的另一方面,提供了一种数据存储装置,应用于键值KV存储系统中的目标服务器,所述目标服务器为所述KV存储系统中的任一存储服务器,所述KV存储系统还包括代理服务器;所述装置包括:
[0023]第二获取模块,用于获取所述代理服务器下发的作为值value的待存储文件,以及所述待存储文件的key;
[0024]第二确定模块,用于从预先初始化的DB单元中,确定所述目标DB单元;
[0025]写入模块,用于调用所述目标DB单元,以将所述待存储文件写入所述目标DB单元所申请的、当前操作的数据块空间,并记录所述key和写入有所述待存储文件的空间位置信息的对应关系。
[0026]根据本公开的另一方面,提供了一种电子设备,包括:
[0027]至少一个处理器;以及
[0028]与所述至少一个处理器通信连接的存储器;其中,
[0029]所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述数据存储方法。
[0030]根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述数据存储方法的步骤。
[0031]根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述数据存储方法的步骤。
[0032]本方案中,通过待存储文件的key,选定出位于存储服务器中的目标DB单元,进而,调用目标DB单元,以将待存储文件写入到预先申请的数据块空间中,并记录key和待存储文件的空间位置信息的对应关系。可见,通过本方案,可以避免将数据量较小且大量的待存储文件直接写入到存储服务器时,所带来的存储空间申请频繁以及存储空间碎片化严重的问题。因此,通过本方案,针对数量庞大且数据量较小的文件,可以有效地存储到磁盘空间较大的存储服务器中。
[0033]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特
征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0034]附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0035]图1是本公开实施例所提供的一种数据存储方法的流程图;
[0036]图2是本公开所提供实施例的一种结构示意图;
[0037]图3是本公开实施例所提供的一种数据存储方法的另一流程图;
[0038]图4是本公开实施例所提供的扩容过程的示意图;
[0039]图5是本公开实施例所提供的数据淘汰示意图;
[0040]图6是本公开实施例所提供的一种键值KV存储系统的结构示意图;
[0041]图7是本公开实施例所提供的一种数据存储装置的结构示意图;
[0042]图8是本公开实施例所提供的一种数据存储装置的另本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据存储方法,应用于键值KV存储系统中的代理服务器;所述KV存储系统还包括多个存储服务器;所述方法包括:获取作为值value的待存储文件,以及所述待存储文件的键key;基于所述key,从多个数据库DB单元中,选取目标DB单元;其中,所述多个DB单元为位于多个存储服务器中的、用于实现数据存储的进程;确定所述目标DB单元所位于的存储服务器,作为目标服务器;向所述目标服务器发送所述待存储文件和key,以使所述目标服务器调用所述目标DB单元,以将所述待存储文件写入所述目标DB单元所申请的、当前操作的数据块空间,并记录所述key和写入有所述待存储文件的空间位置信息的对应关系。2.根据权利要求1所述的方法,其中,所述基于所述key,从多个数据库DB单元中,选取目标DB单元,包括:对所述key进行哈希运算,得到待利用哈希值;根据关于哈希值与DB单元的映射关系,以及所述待利用哈希值,从多个DB单元中,确定目标DB单元。3.根据权利要求2所述的方法,其中,所述根据关于哈希值与DB单元的映射关系,以及所述待利用哈希值,从多个DB单元中,确定目标DB单元,包括:从关于哈希值与DB单元的映射关系中,确定所述待利用哈希值对应的DB单元,作为备选单元;检测所述备选单元是否符合预定条件,所述预定条件为分裂为至少两个从属单元;如果否,将所述备选单元,确定为目标DB单元;如果是,按照预定的从属单元确定方式,从所述备选单元的各个从属单元中,选取待利用的从属单元,作为所述目标DB单元。4.根据权利要求1

3任一项所述的方法,所述确定所述目标DB单元所位于的存储服务器,作为目标服务器之后,所述方法还包括:向所述目标服务器发送所述目标DB单元的标识,以使所述目标服务器基于所接收到的标识,确定所述目标DB单元。5.根据权利要求1

3任一项所述的方法,其中,所述获取作为值value的待存储的待存储文件,以及所述待存储文件的键key,包括:获取业务方发送的作为值value的待存储的待存储文件,以及所述待存储文件的key;其中,所述key为所述业务方按照预定的生成规则所生成。6.根据权利要求1

3任一项所述的方法,其中,所述方法还包括:当所述KV存储系统进行集群扩容后,按照负载均衡原则,从多个DB单元中,选取待迁移DB单元;确定待迁移DB单元所位于的存储服务器,作为指定服务器;向所述指定服务器发送针对所述待迁移DB单元的迁移指令,以使所述指定服务器将所述待迁移DB单元和所述待迁移进程所申请的数据块空间的数据,对应迁移到扩容服务器中。7.一种数据存储方法,应用于键值KV存储系统中的目标服务器,所述目标服务器为所述KV存储系统中的任一存储服务器,所述KV存储系统还包括代理服务器;所述方法包括:
获取所述代理服务器下发的作为值value的待存储文件,以及所述待存储文件的key;从预先初始化的DB单元中,确定所述目标DB单元;调用所述目标DB单元,以将所述待存储文件写入所述目标DB单元所申请的、当前操作的数据块空间,并记录所述key和写入有所述待存储文件的空间位置信息的对应关系。8.根据权利要求7所述的方法,其中,调用所述目标DB单元,以将所述待存储文件写入所述目标DB单元所申请的、当前操作的数据块空间,并记录所述key和写入有所述待存储文件的空间位置信息的对应关系,包括:调用所述目标DB单元,以按照顺序写入空间的规则,将所述待存储文件写入所述目标DB单元所申请的、当前操作的数据块空间,并在预设的用于存储键的存储引擎中,记录所述key和写入有所述待存储文件的空间位置信息的对应关系。9.根据权利要求8所述的方法,还包括:在任一DB单元所申请的数据块空间满足数据淘汰条件时,从满足数据淘汰条件的第一数据块空间中,选取预定比例的文件;其中,所述预定比例的文件的写入时间均早于所述第一数据块空间中的其他文件;删除所述预定比例的文件。10.根据权利要求9所述的方法,还包括:在任一DB单元所申请的数据块空间中的指定文件,存在读取操作时,调用该DB单元...

【专利技术属性】
技术研发人员:李磊陈亮
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

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

1