本公开涉及数据处理,具体涉及数据存储、数据分离、数据读取等,可应用于存储文本、图片、音视频等非结构化数据的场景下,尤其涉及一种数据存储方法、装置、设备及存储介质。
背景技术:
1、键值(key-value,kv)存储是nosql数据库中的一种存储方式。nosql数据库是指不是关系型数据库的数据库,可以存储文本、图片、音视频等非结构化数据。在kv存储方式中,数据可以按照键值(kv)对的形式进行组织、索引和存储。
2、目前,kv存储方式在向数据库存储数据(即键值对)时,可以通过raft算法将键值对预写到日志中。应用侧在访问数据时,可以通过raft算法,将日志中预写入的键值对再写入到应用侧。
3、但是,目前的kv存储方式中,数据对应的实际写入量远远超过数据自身大小,造成了写放大,严重影响了存储性能。
技术实现思路
1、本公开提供了一种数据存储方法、装置、设备及存储介质,可以减少存储数据时的数据写入量,降低写放大,提升存储性能。
2、根据本公开的第一方面,提供了一种数据存储方法,所述方法包括:将待存储的目标数据对应的目标键值对中的关键字和值分离,得到目标关键字和目标值;为目标键值对生成唯一的标识信息,并建立目标关键字和标识信息的第一对应关系、以及标识信息和目标值的第二对应关系;将标识信息、目标关键字、目标值、以及第一对应关系和第二对应关系预写入日志中;当应用侧访问目标数据时,将目标关键字、标识信息、以及第一对应关系写入应用侧,标识信息用于应用侧从日志中查找目标值。
3、根据本公开的第二方面,提供了一种数据存储方法,所述方法包括:
4、为待存储的目标数据对应的目标键值对生成唯一的标识信息,并将目标键值对、以及标识信息预写入日志中;当应用侧访问目标数据时,将目标键值对中的关键字和值分离,得到目标关键字和目标值,并建立目标关键字和标识信息的第一对应关系;将目标关键字、标识信息、以及第一对应关系写入应用侧,标识信息用于应用侧从日志中查找目标值。
5、根据本公开的第三方面,提供了一种数据存储装置,所述装置包括:分离单元、生成单元、预写单元、写入单元。
6、分离单元,用于将待存储的目标数据对应的目标键值对中的关键字和值分离,得到目标关键字和目标值;生成单元,用于为目标键值对生成唯一的标识信息,并建立目标关键字和标识信息的第一对应关系、以及标识信息和目标值的第二对应关系;预写单元,用于将标识信息、目标关键字、目标值、以及第一对应关系和第二对应关系预写入日志中;写入单元,用于当应用侧访问目标数据时,将目标关键字、标识信息、以及第一对应关系写入应用侧,标识信息用于应用侧从日志中查找目标值。
7、根据本公开的第四方面,提供了一种数据存储装置,所述装置包括:生成单元、分离单元、写入单元。
8、生成单元,用于为待存储的目标数据对应的目标键值对生成唯一的标识信息,并将目标键值对、以及标识信息预写入日志中;分离单元,用于当应用侧访问目标数据时,将目标键值对中的关键字和值分离,得到目标关键字和目标值,并建立目标关键字和标识信息的第一对应关系;写入单元,用于将目标关键字、标识信息、以及第一对应关系写入应用侧,标识信息用于应用侧从日志中查找目标值。
9、根据本公开的第五方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如第一方面或第二方面的方法。
10、根据本公开的第六方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行根据第一方面或第二方面的方法。
11、根据本公开的第七方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现根据第一方面或第二方面的方法。
12、应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
1.一种数据存储方法,所述方法包括:
2.根据权利要求1所述的方法,所述为所述目标键值对生成唯一的标识信息,包括:
3.根据权利要求2所述的方法,所述目标时刻在将所述目标键值对中的关键字和值分离的时刻之前;
4.根据权利要求1所述的方法,所述为所述目标键值对生成唯一的标识信息,包括:
5.根据权利要求1-4任一项所述的方法,所述建立所述目标关键字和所述标识信息的第一对应关系、以及所述标识信息和所述目标值的第二对应关系,包括:
6.一种数据存储方法,所述方法包括:
7.根据权利要求6所述的方法,所述为待存储的目标数据对应的目标键值对生成唯一的标识信息,包括:
8.根据权利要求7所述的方法,所述目标时刻在将所述目标键值对预写入日志的时刻之前;
9.根据权利要求6所述的方法,所述为待存储的目标数据对应的目标键值对生成唯一的标识信息,包括:
10.根据权利要求6-9任一项所述的方法,所述建立所述目标关键字和所述标识信息的第一对应关系,包括:
11.一种数据存储装置,所述装置包括:
12.根据权利要求11所述的装置,所述生成单元,具体用于:
13.根据权利要求12所述的装置,所述目标时刻在将所述目标键值对中的关键字和值分离的时刻之前;
14.根据权利要求11-13任一项所述的装置,所述生成单元,具体用于:
15.一种数据存储装置,所述装置包括:
16.根据权利要求15所述的装置,所述生成单元,具体用于:
17.根据权利要求15或16所述的装置,所述生成单元,具体用于:
18.一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;
19.一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使计算机执行根据权利要求1-5任一项所述的方法或者权利要求6-10任一项所述的方法。
20.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-5任一项所述的方法或者权利要求6-10任一项所述的方法。