一种数据处理的方法、装置、电子设备及存储介质制造方法及图纸

技术编号:36754604 阅读:12 留言:0更新日期:2023-03-04 10:44
本申请提供了一种数据处理的方法、装置、电子设备及存储介质,该方法包括:响应通过客户端发起的接口调用操作,所述接口层获取所述客户端生成的与所述接口调用操作对应的调用请求,并将所述调用请求发送给所述并行层;所述并行层对所述调用请求进行分析,从所述处理层包括的待选数据分区中,确定出该调用请求所对应的目标数据分区,并将所述调用请求发送到所述目标数据分区;所述处理层使用所述目标数据分区对应的处理方式对所述调用请求进行处理,得到处理结果。本申请从存储系统并行架构、访问粒度、写入方式、数据储存、垃圾回收等方面进行优化,使用了模块化的设计方式,实现了非易事内存上的异步高性能原生数据库存储引擎。易事内存上的异步高性能原生数据库存储引擎。易事内存上的异步高性能原生数据库存储引擎。

【技术实现步骤摘要】
一种数据处理的方法、装置、电子设备及存储介质


[0001]本申请涉及数据处理
,具体而言,涉及一种数据处理的方法、装置、电子设备及存储介质。

技术介绍

[0002]键值数据库:即Key

Value Database,是一种NoSQL数据库。键值存储应用通常被认为是其中实现最简单和性能最快的类型。键值存储应用的基本存储单位是键值对,包含键(key)和值(value)两部分,数据库中每一个的值都由一个键唯一标识。键值存储没有定义的数据类型,但几乎可以包含任何东西,值可以存储任意形式的数据,可以是结构化的整形数字、字符串,也可以是非结构化数据如嵌套的JSON文档、HTML信息、按照base64编码后的图像信息等。在键值存储应用中值与值之间相互独立,不存在相互依赖关系,同时键值存储应用没有默认查询语言,对键值对的操作由每一种数据库的API接口提供,常见的接口包括Put、Get、Delete、Scan等操作。
[0003]现有的键值数据库,基于块设备的键值存储系统无法充分发挥非易失性内存的硬件优势,与现有的硬件设备不能够完全契合,在吞吐量方面效率较低,不能够满足现有的工作需求。

技术实现思路

[0004]有鉴于此,本申请的目的在于提供一种数据处理的方法、装置、电子设备及存储介质,以克服现有技术中的问题。
[0005]第一方面,本申请实施例提供了一种数据处理的方法,应用于存储系统,所述存储系统包括接口层、并行层和处理层,所述方法包括:
[0006]响应通过客户端发起的接口调用操作,所述接口层获取所述客户端生成的与所述接口调用操作对应的调用请求,并将所述调用请求发送给所述并行层;
[0007]所述并行层对所述调用请求进行分析,从所述处理层包括的待选数据分区中,确定出该调用请求所对应的目标数据分区,并将所述调用请求发送到所述目标数据分区;
[0008]所述处理层使用所述目标数据分区对应的处理方式对所述调用请求进行处理,得到处理结果。
[0009]在本申请一些技术方案中,上述接口层执行的步骤由客户线程执行,所述并行层执行的步骤和所述处理层执行的步骤由工作线程执行,且所述客户线程与所述工作线程为不同的线程。
[0010]在本申请一些技术方案中,上述方法还包括:
[0011]在所述客户线程中创建promise和future对;其中,future返回客户端,用于创建异步回调链或者阻塞等待;promise对象保存下来,用于工作线程返回后将结果通知future对象。
[0012]在本申请一些技术方案中,上述处理层使用所述目标数据分区对应的处理方式对
所述调用请求进行处理,包括:
[0013]将所述调用请求依次排列在所述目标数据区分对应的工作线程中,所述目标数据分区对应的处理方式,按照工作线程中各个所述调用请求的排列顺序依次处理所述调用请求。
[0014]在本申请一些技术方案中,上述调用请求中包含有键值对,所述并行层对所述调用请求进行分析,从所述处理层包括的待选数据分区中,确定出该调用请求所对应的目标数据分区,包括:
[0015]对所述调用请求的键进行哈希运算,得到该键对应的哈希值,并根据该键对应的哈希值确定所述调用请求对应的目标数据分区。
[0016]在本申请一些技术方案中,上述目标数据分区对应的处理方式包括数据存储,所述方法通过以下方式对所述调用请求进行处理:
[0017]使用校验和的方式对存储的每条记录进行检测,确定该记录是否被写入。
[0018]在本申请一些技术方案中,上述目标数据分区对应的处理方式包括数据更新,所述方法通过以下方式对所述调用请求进行处理:
[0019]所述方法以追加写的方式进行数据更新。
[0020]第二方面,本申请实施例提供了一种数据处理的装置,所述装置驻留于存储系统,所述装置包括:
[0021]响应模块,用于响应通过客户端发起的接口调用操作,获取所述客户端生成的与所述接口调用操作对应的调用请求,并将所述调用请求发送给分析模块;
[0022]分析模块,用于对所述调用请求进行分析,从待选数据分区中,确定出该调用请求所对应的目标数据分区,并将所述调用请求发送到所述目标数据分区;
[0023]处理模块,用于使用所述目标数据分区对应的处理方式对所述调用请求进行处理,得到处理结果。
[0024]第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的数据处理的方法的步骤。
[0025]第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述的数据处理的方法的步骤。
[0026]本申请的实施例提供的技术方案可以包括以下有益效果:本申请方法包括响应通过客户端发起的接口调用操作,所述接口层获取所述客户端生成的与所述接口调用操作对应的调用请求,并将所述调用请求发送给所述并行层;所述并行层对所述调用请求进行分析,从所述处理层包括的待选数据分区中,确定出该调用请求所对应的目标数据分区,并将所述调用请求发送到所述目标数据分区;所述处理层使用所述目标数据分区对应的处理方式对所述调用请求进行处理,得到处理结果。本申请从存储系统并行架构、访问粒度、写入方式、数据储存、垃圾回收等方面进行优化,使用了模块化的设计方式,实现了非易事内存上的异步高性能原生数据库存储引擎。
[0027]为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
[0028]为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0029]图1示出了本申请实施例所提供的一种数据处理的方法的流程示意图;
[0030]图2示出了本申请实施例所提供的一种存储系统的示意图;
[0031]图3示出了本申请实施例所提供的一种记录结构示意图;
[0032]图4示出了本申请实施例所提供的一种线程示意图;
[0033]图5示出了本申请实施例所提供的一种数据处理的装置示意图;
[0034]图6为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
[0035]为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理的方法,其特征在于,应用于存储系统,所述存储系统包括接口层、并行层和处理层,所述方法包括:响应通过客户端发起的接口调用操作,所述接口层获取所述客户端生成的与所述接口调用操作对应的调用请求,并将所述调用请求发送给所述并行层;所述并行层对所述调用请求进行分析,从所述处理层包括的待选数据分区中,确定出该调用请求所对应的目标数据分区,并将所述调用请求发送到所述目标数据分区;所述处理层使用所述目标数据分区对应的处理方式对所述调用请求进行处理,得到处理结果。2.根据权利要求1所述的方法,其特征在于,所述接口层执行的步骤由客户线程执行,所述并行层执行的步骤和所述处理层执行的步骤由工作线程执行,且所述客户线程与所述工作线程为不同的线程。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:在所述客户线程中创建promise和future对;其中,future返回客户端,用于创建异步回调链或者阻塞等待;promise对象保存下来,用于工作线程返回后将结果通知future对象。4.根据权利要求1所述的方法,其特征在于,所述处理层使用所述目标数据分区对应的处理方式对所述调用请求进行处理,包括:将所述调用请求依次排列在所述目标数据区分对应的工作线程中,所述目标数据分区对应的处理方式,按照工作线程中各个所述调用请求的排列顺序依次处理所述调用请求。5.根据权利要求1所述的方法,其特征在于,所述调用请求中包含有键值对,所述并行层对所述调用请求进行分析,从所述处理层包括的待选数据分区中,确定出该调用请求所对应的目标数据分区,包括...

【专利技术属性】
技术研发人员:柴云鹏赵博瑄胡浦云查寒天
申请(专利权)人:中国人民大学
类型:发明
国别省市:

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

1