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

技术编号:32462723 阅读:15 留言:0更新日期:2022-02-26 08:54
本申请涉及人工智能技术领域,公开了一种数据存取方法、装置、设备及存储介质,方法包括:根据分区指令将磁盘以及内存划分成预设数值个分区;接收到数据存储指令时,从指令中获取存储关键字以及存储关键值;根据存储关键字的哈希值得到目标分区序列;根据目标分区序列获取目标磁盘分区以及目标缓存分区,并根据目标磁盘分区确定管理区、数据区以及回收区,且根据目标缓存分区确定缓存临时区以及缓存常驻区;判断到存储关键值对应的存储数据量小于或等于第一数值时,将存储关键字以及存储关键值存储至缓存临时区中;否则,将存储关键字以及存储关键值存储至目标数据区中,并对应生成管理信息,且将管理信息存储至缓存常驻区以及管理区中。管理区中。管理区中。

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


[0001]本申请涉及人工智能的
,尤其涉及一种数据存取方法、装置、设备及存储介质。

技术介绍

[0002]大部分后端服务为了提高性能,提升并发能力,会把常用的、不常改变的数据放入缓存。每次从缓存中取数据比从关系型数据库中取数要快很多。目前市面上比较常见的缓存工具有redis,leveldb等。redis数据库是纯内存的数据库,它将所有的数据都放入了内存。然而计算机内存比较贵,并且内存条空间相较于磁盘来说,比较小,另外,redis数据库使用单线程处理请求,对计算器上cpu的利用率不高。而Leveldb数据库是google则采用分层设计,将最新的数据放在最前面的层。读数据需要每层查询,性能较差,适用于写多读少的场景。它们都有不同的缺点,不能很好的兼顾性能与成本。

技术实现思路

[0003]本申请的主要目的在于提供一种数据存取方法、装置、设备及存储介质,旨在保证数据库性能的同时降低硬件成本。
[0004]第一方面,本申请提供一种数据存取方法,包括:
[0005]接收到分区指令时,将磁盘以及缓存划分为预设数值个分区,其中,每一个缓存分区包括缓存临时区以及缓存常驻区,每一个磁盘分区包括管理区、数据区以及回收区;
[0006]接收到数据存储指令时,根据所述数据存储指令获取存储关键字以及对应所述存储关键字的存储关键值;
[0007]确定所述存储关键字对应的哈希值为目标哈希值,并根据所述目标哈希值对所述预设数值取余,得到目标分区序列;
>[0008]根据所述目标分区序列获取目标磁盘分区以及目标缓存分区,并根据所述目标磁盘分区确定目标管理区、目标数据区以及目标回收区,且根据所述目标缓存分区确定目标缓存临时区以及目标缓存常驻区;
[0009]判断所述存储关键值对应的存储数据量是否大于第一数值;
[0010]若所述存储数据量小于或等于所述第一数值,则将所述存储关键字以及所述存储关键值存储至所述目标缓存临时区中;
[0011]若所述存储数据量大于所述第一数值,则将所述存储关键字以及所述存储关键值存储至所述目标数据区中,并根据所述存储关键字以及所述存储关键值生成管理信息,且将所述管理信息存储至所述目标缓存常驻区以及所述目标管理区中。
[0012]第二方面,本申请还提供一种数据存取装置,所述数据存取装置包括:
[0013]分区模块,用于接收到分区指令时,将磁盘以及缓存划分为预设数值个分区,其中,每一个缓存分区包括缓存临时区以及缓存常驻区,每一个磁盘分区包括管理区、数据区以及回收区;
[0014]存储指令接收模块,用于接收到数据存储指令时,根据所述数据存储指令获取存储关键字以及对应所述存储关键字的存储关键值;
[0015]分区序列获取模块,用于确定所述存储关键字对应的哈希值为目标哈希值,并根据所述目标哈希值对所述预设数值取余,得到目标分区序列;
[0016]分区获取模块,用于根据所述目标分区序列获取目标磁盘分区以及目标缓存分区,并根据所述目标磁盘分区确定目标管理区、目标数据区以及目标回收区,且根据所述目标缓存分区确定目标缓存临时区以及目标缓存常驻区;
[0017]判断模块,用于判断所述存储关键值对应的存储数据量是否大于第一数值;
[0018]第一存储模块,用于若所述存储数据量小于或等于所述第一数值,则将所述存储关键字以及所述存储关键值存储至所述目标缓存临时区中;
[0019]第二存储模块,用于若所述存储数据量大于所述第一数值,则将所述存储关键字以及所述存储关键值存储至所述目标数据区中,并根据所述存储关键字以及所述存储关键值生成管理信息,且将所述管理信息存储至所述目标缓存常驻区以及所述目标管理区中。
[0020]第三方面,本申请还提供一种计算机设备,所述计算机设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的计算机程序,其中所述计算机程序被所述处理器执行时,实现如上所述的数据存取方法的步骤。
[0021]第四方面,本申请还提供一种存储介质,所述计算机可读存储介质上存储有计算机程序,其中所述计算机程序被处理器执行时,实现如上所述的数据存取方法的步骤。
[0022]本申请提供一种数据存取方法、装置、设备及存储介质,本申请中,接收到分区指令时,将磁盘以及缓存划分为预设数值个分区;接收到数据存储指令时,根据存储关键字对应的哈希值获取目标磁盘分区以及目标缓存分区;若存储关键值对应的存储数据量小于或等于第一数值,则将存储关键字以及存储关键值存储至目标缓存分区对应的目标缓存临时区中;否则,则将存储关键字以及存储关键值存储至目标磁盘分区对应的目标数据区中,同时生成对应的管理信息并进行存储。通过本申请所提供的技术方案,在保证数据库性能的同时,还降低了硬件成本。
附图说明
[0023]为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0024]图1为本申请实施例提供的一种数据存取方法的步骤流程示意图;
[0025]图2为本申请实施例提供的一种数据存取装置的示意性框图;
[0026]图3为本申请实施例提供的一种计算机设备的结构示意性框图。
[0027]本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0028]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施
例,都属于本申请保护的范围。
[0029]附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。另外,虽然在装置示意图中进行了功能模块的划分,但是在某些情况下,可以以不同于装置示意图中的模块划分。
[0030]本申请实施例提供一种数据存取方法、装置、设备及存储介质。其中,该数据存取方法可应用于终端设备或服务器中,该终端设备可以为手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等电子设备;该服务器可以为单台的服务器,也可以为由多台服务器组成的服务器集群。以下以该数据存取方法应用于服务器为例进行解释说明。
[0031]下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
[0032]请参照图1,图1为本申请实施例提供的一种数据存取方法的步骤流程示意图。
[0033]如图1所示,该数据存取方法包括步骤S10至步骤S16。
...

【技术保护点】

【技术特征摘要】
1.一种数据存取方法,其特征在于,包括:接收到分区指令时,将磁盘以及缓存划分为预设数值个分区,其中,每一个缓存分区包括缓存临时区以及缓存常驻区,每一个磁盘分区包括管理区、数据区以及回收区;接收到数据存储指令时,根据所述数据存储指令获取存储关键字以及对应所述存储关键字的存储关键值;确定所述存储关键字对应的哈希值为目标哈希值,并根据所述目标哈希值对所述预设数值取余,得到目标分区序列;根据所述目标分区序列获取目标磁盘分区以及目标缓存分区,并根据所述目标磁盘分区确定目标管理区、目标数据区以及目标回收区,且根据所述目标缓存分区确定目标缓存临时区以及目标缓存常驻区;判断所述存储关键值对应的存储数据量是否大于第一数值;若所述存储数据量小于或等于所述第一数值,则将所述存储关键字以及所述存储关键值存储至所述目标缓存临时区中;若所述存储数据量大于所述第一数值,则将所述存储关键字以及所述存储关键值存储至所述目标数据区中,并根据所述存储关键字以及所述存储关键值生成管理信息,且将所述管理信息存储至所述目标缓存常驻区以及所述目标管理区中。2.根据权利要求1所述的方法,其特征在于,所述将所述管理信息存储至所述目标缓存常驻区以及所述目标管理区中,包括:确定所述目标缓存常驻区的存储容量为目标常驻容量;根据所述目标哈希值对所述目标常驻容量取余,得到目标存储地址;将所述管理信息分别存储至所述目标缓存常驻区以及所述目标管理区对应所述目标存储地址的存储位置中。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:确定所述目标缓存临时区的剩余存储容量为剩余临时容量;当所述剩余临时容量小于第二数值时,从所述目标缓存临时区的临时数据中选择临时关键字以及所述临时关键字对应的临时关键值;拼接所述临时关键字以及所述临时关键值,得到第一记录结果,并确定所述第一记录结果对应的存储数据量为第一数据量;根据所述目标数据区的存储状态信息,配置所述临时关键字以及所述临时关键值的存储文件,并确定所述存储文件对应的存储路径为匹配存储路径;根据预设算法获取所述临时关键值对应的临时校验值,其中,所述临时校验值用于校验所述临时关键值;对所述临时关键字、所述匹配存储路径、所述临时校验值以及所述第一数据量进行拼接,得到第二记录结果,并确定所述第二记录结果对应的存储数据量为第二数据量;当所述第一数据量小于或等于所述第二数据量时,确定所述第一记录结果为所述临时关键字以及所述临时关键值的管理信息;将所述第一记录结果存储至所述目标缓存常驻区以及所述目标管理区中。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:当所述第一数据量大于所述第二数据量时,确定所述第二记录结果为所述临时关键字
以及所述临时关键值的管理信息;根据所述匹配存储路径,将所述第一记录结果存储至所述目标数据区中;将所述第二记录结果存储至所述目标缓存常驻区以及所述目标管理区中。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:接收到数据查询指令时,从所述数据查询指令中获取查询关键字;确定所述查询关键字对应的哈希值为查询哈希值,并根据所述查询哈希值对所述预设数值取余,得到查询分区序列;根据所述查询分区序列获取查询磁盘分区以及查询缓存分区;根据所述查询磁盘分区确定查询管理区、查询数据区以及查询回收区,并根据所述查询缓存分区确定查询缓存临时区以及查询缓存常驻区;判断所述查询缓存临时区是否存储有所述查询关键字对应的查询关键值;若所述查询缓存临时区存储有所述查询关键值,则返回所述查询关键值;若所述查询缓存临时区未存储有所述查询关键值,则从所述查询缓存常驻区中获取与所述查询关键字匹配的查询管理信息,并根据所述查询管理信息获取所述查询关键值。6.根据权利要求1

...

【专利技术属性】
技术研发人员:郑庆
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:

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

1