键值对存储方法、装置、终端设备以及存储介质制造方法及图纸

技术编号:27471280 阅读:24 留言:0更新日期:2021-03-02 17:36
本发明专利技术公开一种键值对存储方法,所述键值对存储方法包括以下步骤:接收客户端发送的待存储键值对;按照第一预设顺序对所述待存储键值对添加哨兵键值对,获得结果键值对;将所述结果键值对写入内存表中,获得待处理内存表;将所述待处理内存表中的结果键值对持久化到第一本地存储系统中,获得存储日志。本发明专利技术还公开了一种键值对存储装置、终端设备以及计算机可读存储介质。所以利用本申请的键值对存储方法,降低了处理器的占用率,处理器的性能消耗较低,终端设备的运行速度较快。终端设备的运行速度较快。终端设备的运行速度较快。

【技术实现步骤摘要】
键值对存储方法、装置、终端设备以及存储介质


[0001]本专利技术涉及数据存储
,特别涉及一种键值对存储、装置、终端设备以及计算机可读存储介质。

技术介绍

[0002]在键值存储系统中,可以对键值对(key-value对)进行增、删、改和查操作的存储系统。每个键值对由key(键)和value(值)两部分组成。
[0003]键值对在本地存储系统的存储流程如下:接收到的键值对时,将键值对持久化至预写日志系统,预写日志系统将键值对写入内存中的内存表,当内存表被写满时,写满的内存表会转为只读内存表,将只读内存表中的键值对持久化到本地存储系统中,获得存储日志。
[0004]但是,采用现有的键值对键值对存储,终端设备将键值对存储到本地存储系统时,终端设备的处理器性能消耗较多,终端设备的运行速度较慢。

技术实现思路

[0005]本专利技术的主要目的是提供种键值对存储、装置、终端设备以及计算机可读存储介质,旨在解决现有技术中终端设备将键值对存储到本地存储系统时,终端设备的处理器性能消耗较多,终端设备的运行速度较慢的技术问题。
[0006]为实现上述目的,本专利技术提出一种键值对存储方法,其特征在于,所述键值对存储方法包括以下步骤:
[0007]接收客户端发送的待存储键值对;
[0008]按照第一预设顺序对所述待存储键值对添加哨兵键值对,获得结果键值对;
[0009]将所述结果键值对写入内存表中,获得待处理内存表;
[0010]将所述待处理内存表中的结果键值对持久化到第一本地存储系统中,获得存储日志。
[0011]可选的,所述将所述待处理内存表中的结果键值对持久化到第一本地存储系统中,获得存储日志的步骤之后,所述方法还包括:
[0012]基于所述第一本地存储系统中的存储状态,获得所述第一本地存储系统的快照;
[0013]基于所述快照,在所述存储日志中确定出待清理存储日志;
[0014]将所述存储日志中的所述待清理存储日志删除,获得结果存储日志,并将所述快照存储到所述第一本地存储系统。
[0015]可选的,所述基于所述第一本地存储系统中的存储状态,获得所述第一本地存储系统的快照的步骤之前,所述方法还包括:
[0016]获取所述存储日志中结果键值对的哨兵键值;
[0017]所述基于所述第一本地存储系统中的存储状态,获得所述第一本地存储系统的快照的步骤包括:
[0018]基于所述第一本地存储系统的存储状态和所述存储日志中结果键值对的哨兵键值,获得所述第一本地存储系统的快照。
[0019]可选的,所述基于所述快照,在所述存储日志中确定出待清理存储日志的步骤包括:
[0020]在所述存储日志中结果键值对的哨兵键值中确定出与所述索引满足预设条件的选定哨兵键值;
[0021]将与所述选定哨兵键值对应的结果键值对确定为选定结果键值对;
[0022]在所述存储日志中确定出与所述选定结果键值对对应的待清理存储日志。
[0023]可选的,所述方法用于终端设备,所述终端设备与发送端通过一致性协议连接;所述将所述存储日志中的所述待清理存储日志删除,获得结果存储日志,并将所述快照存储到所述第一本地存储系统的步骤之后,所述方法还包括:
[0024]接收所述发送端发送的同步请求;
[0025]基于所述同步请求,将所述快照和所述结果存储日志发送至所述发送端,以使所述发送端基于所述快照和所述结果存储日志,对所述发送端的第二本地存储系统进行存储状态的恢复。
[0026]可选的,所述将所述待处理内存表中的结果键值对持久化到第一本地存储系统中,获得存储日志的步骤包括:
[0027]按照第二预设顺序将所述待处理内存表转换为只读内存表;
[0028]利用回刷方法,按照所述第二预设顺序将所述只读内存表中的结果键值对持久化到第一本地存储系统中,获得存储日志。
[0029]可选的,所述一致性协议为RAFT或,PAXOS,所述第一本地存储系统为基于LSM树的本地存储系统,所述第二本地存储系统为基于LSM树的本地存储系统。
[0030]此外,为实现上述目的,本专利技术还提出了一种键值对存储装置,所述装置包括:
[0031]接收模块,用于接收客户端发送的待存储键值对;
[0032]添加模块,用于按照第一预设顺序对所述待存储键值对添加哨兵键值对,获得结果键值对;
[0033]写入模块,用于将所述结果键值对写入内存表中,获得待处理内存表;
[0034]持久化模块,用于将所述待处理内存表中的结果键值对持久化到第一本地存储系统中,获得存储日志。
[0035]此外,为实现上述目的,本专利技术还提出了一种终端设备,所述终端设备包括:存储器、处理器及存储在所述存储器上并在所述处理器上运行存储程序,所述存储程序被所述处理器执行时实现如上述任一项所述的键值对存储的步骤。
[0036]此外,为实现上述目的,本专利技术还提出了一种计算机可读存储介质,所述计算机可读存储介质上存储有存储程序,所述存储程序被处理器执行时实现如上述任一项所述的键值对存储的步骤。
[0037]本专利技术技术方案提出了一种键值对存储方法,通过接收客户端发送的待存储键值对;按照第一预设顺序对所述待存储键值对添加哨兵键值对,获得结果键值对;将所述结果键值对写入内存表中,获得待处理内存表;将所述待处理内存表中的结果键值对持久化到第一本地存储系统中,获得存储日志。利用现有的键值对存储技术进行键值对的存储时,需
要将键值对序列化并持久化至预写日志系统时,并将只读内存表中的键值对持久化到本地存储系统中,存在两次持久化的过程,对键值对进行持久化时,终端设备的处理器占用率较高,两次持久化的过程更是使得终端设备的处理器占用率极高,而本申请,通过按照第一预设顺序对待存储键值对添加哨兵键值对,以对待存储键值对进行序列化,并不需要进行待存储键值对的持久化,只在将所述待处理内存表中的结果键值对存储到第一本地存储系统中时,进行一次持久化,终端设备的处理器使用率较低,所以利用本申请的键值对存储方法,降低了处理器的占用率,处理器的性能消耗较低,终端设备的运行速度较快。
附图说明
[0038]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
[0039]图1为本专利技术实施例方案涉及的硬件运行环境的终端设备结构示意图;
[0040]图2为本专利技术键值对存储方法第一实施例的流程示意图;
[0041]图3为本专利技术键值对存储方法第二实施例的流程示意图;
[0042]图4为本专利技术结果键值对的存储状态示意图;
[0043]图5为本专利技术键值对存储装置第一实施例的结构框图。
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种键值对存储方法,其特征在于,所述键值对存储方法包括以下步骤:接收客户端发送的待存储键值对;按照第一预设顺序对所述待存储键值对添加哨兵键值对,获得结果键值对;将所述结果键值对写入内存表中,获得待处理内存表;将所述待处理内存表中的结果键值对持久化到第一本地存储系统中,获得存储日志。2.如权利要求1所述的键值对存储方法,其特征在于,所述将所述待处理内存表中的结果键值对持久化到第一本地存储系统中,获得存储日志的步骤之后,所述方法还包括:基于所述第一本地存储系统中的存储状态,获得所述第一本地存储系统的快照;基于所述快照,在所述存储日志中确定出待清理存储日志;将所述存储日志中的所述待清理存储日志删除,获得结果存储日志,并将所述快照存储到所述第一本地存储系统。3.如权利要求2所述的键值对存储方法,其特征在于,所述基于所述第一本地存储系统中的存储状态,获得所述第一本地存储系统的快照的步骤之前,所述方法还包括:获取所述存储日志中结果键值对的哨兵键值;所述基于所述第一本地存储系统中的存储状态,获得所述第一本地存储系统的快照的步骤包括:基于所述第一本地存储系统的存储状态和所述存储日志中结果键值对的哨兵键值,获得所述第一本地存储系统的快照。4.如权利要求3所述的键值对存储方法,其特征在于,所述基于所述快照,在所述存储日志中确定出待清理存储日志的步骤包括:在所述存储日志中结果键值对的哨兵键值中确定出与所述索引满足预设条件的选定哨兵键值;将与所述选定哨兵键值对应的结果键值对确定为选定结果键值对;在所述存储日志中确定出与所述选定结果键值对对应的待清理存储日志。5.如权利要求4所述的键值对存储方法,其特征在于,所述方法用于终端设备,所述终端设备与发送端通过一致性协议连接;所述将所述存储日志中的所...

【专利技术属性】
技术研发人员:李润辉
申请(专利权)人:深信服科技股份有限公司
类型:发明
国别省市:

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

1