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

技术编号:37455335 阅读:21 留言:0更新日期:2023-05-06 09:27
本发明专利技术实施例提供了一种数据获取方法、装置、电子设备及存储介质,涉及计算机技术领域,包括:在数据迁移任务的执行过程中,如果接收到携带有目标数据标识的数据获取请求,按照预设哈希算法计算目标数据标识的第一哈希值;基于预设的哈希值与数据库的对应关系,从存储系统中的多个数据库中确定第一哈希值对应的第一待查询数据库;从第一待查询数据库中获取第一哈希值对应的数据;在从第一待查询数据库中未获取到第一哈希值对应的数据的情况下,确定数据迁移信息中第一哈希值对应的第二待查询数据库;从第二待查询数据库中,获取第一哈希值对应的数据,得到目标数据标识所指示的目标数据,可以在一定程度上避免存储系统发生服务故障。故障。故障。

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


[0001]本专利技术涉及计算机
,特别是涉及一种数据获取方法、装置、电子设备及存储介质。

技术介绍

[0002]对象存储是指将数据存储至分布式对象存储系统中的数据存储系统,以及将数据的索引(例如,数据的大小、存储位置、存储时间、唯一标识、数据类型等)存储至索引存储系统。在获取目标数据时,需要从索引存储系统获取目标数据的索引,并按照获取到的索引,从数据存储系统获取目标数据。因此,索引是实现快速获取数据的关键信息,索引存储系统的性能决定着整个分布式对象存储系统的性能、延迟以及稳定性。
[0003]相关技术中,在部署索引存储系统时,根据当时的业务需要,以及预估的业务发展一段时间后可能达到的数据量级,部署索引存储系统中的多个数据库(可以称为原始数据库)。在业务发展的过程中,随着新业务的不断接入,则会有大量的新数据的索引不断的上传至索引存储系统,例如,以百亿、千亿甚至万亿计数据量级的数据不断的上传,进而导致索引存储系统的容量到达瓶颈,此时对索引存储系统进行扩容势在必行,也就是需要在索引存储系统中添加新的数据库,并将存储于原始数据库中的数据迁移至新添加的数据库中。
[0004]然而,在对索引存储系统进行扩容时,可能会接收到数据获取请求,则需要不断的轮询访问索引存储系统中新添加的数据库和原始数据库,也就会不断的以非常高的QPS(Queries Per Second,每秒查询率)访问索引存储系统,会给索引存储系统带来较大的负载压力,进而导致索引存储系统发生服务故障。

技术实现思路

[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]将各个数据迁移任务添加至预设队列;
[0030]按照数据迁移任务添加至预设队列中的顺序,从所述预设队列中获取一个数据迁移任务;
[0031]从所述第三数值相关联的原始数据库中,获取该数据迁移任务对应的待迁移数据,并将获取到的待迁移数据存储至新添加的数据库。
[0032]可选的,所述基于预设的哈希值与数据库的对应关系,从所述存储系统中的多个数据库中,确定所述第一哈希值对应的数据库,作为第一待查询数据库,包括:
[0033]根据预设的哈希值与数据库的对应关系,从所述存储系统中的多个数据库中的数据表中,确定所述第一哈希值在对应的第一待查询数据库中对应的数据表,作为第一待查询数据表;
[0034]所述从所述第一待查询数据库中获取所述第一哈希值对应的数据,包括:
[0035]从所述第一待查询数据表中获取所述第一哈希值对应的数据。
[0036]可选的,所述目标数据为用于获取目标资源的目标索引;所述目标数据包含所述目标资源的存储位置;
[0037]在所述从所述第二待查询数据库获取所述第一哈希值对应的数据,得到所述目标数据标识所指示的目标数据之后,所述方法还包括:
[0038]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据获取方法,其特征在于,所述方法包括:在数据迁移任务的执行过程中,如果接收到携带有目标数据标识的数据获取请求,按照预设哈希算法,计算所述目标数据标识的哈希值,作为第一哈希值;其中,所述数据迁移任务用于:按照数据迁移信息,将待迁移数据从存储系统中的原始数据库迁移至新添加的数据库;所述数据迁移信息包括:所述待迁移数据的数据标识的哈希值在所述存储系统中对应的原始数据库和新添加的数据库;基于预设的哈希值与数据库的对应关系,从所述存储系统中的多个数据库中,确定所述第一哈希值对应的数据库,作为第一待查询数据库;其中,所述对应关系中包含所述存储系统中新添加的数据库;从所述第一待查询数据库中获取所述第一哈希值对应的数据;在从所述第一待查询数据库中未获取到所述第一哈希值对应的数据的情况下,确定所述数据迁移信息中所述第一哈希值对应的原始数据库,作为第二待查询数据库;从所述第二待查询数据库中,获取所述第一哈希值对应的数据,得到所述目标数据标识所指示的目标数据。2.根据权利要求1所述的方法,其特征在于,所述基于预设的哈希值与数据库的对应关系,从所述存储系统中的多个数据库中,确定所述第一哈希值对应的数据库,作为第一待查询数据库,包括:从预设数值序列中,确定所述第一哈希值相匹配的数值,作为第一数值;其中,所述数值序列中的多个数值按照预设顺序排列;所述多个数据库与所述预设数值序列中不同的数值相关联;从所述存储系统中的多个数据库中,确定所述第一数值对应的数据库,作为第一待查询数据库。3.根据权利要求2所述的方法,其特征在于,所述预设数值序列为第一哈希环;所述多个数据库的数据库标识的哈希值与所述第一哈希环上的不同的数值相关联;所述从预设数值序列中,确定所述第一哈希值相匹配的数值,作为第一数值,包括:从所述第一哈希环中,按照顺时针方向,确定位于所述第一哈希值之后的第一个与数据库相关联的数值,得到第一数值。4.根据权利要求1所述的方法,其特征在于,所述多个数据库的数据库标识的哈希值与第二哈希环上不同的数值相关联;在所述在从所述第一待查询数据库中未获取到所述第一哈希值对应的数据的情况下,确定所述数据迁移信息中所述第一哈希值对应的原始数据库,作为第二待查询数据库之前,所述方法还包括:按照所述预设哈希算法,计算所述存储系统中新添加的数据库的数据库标识的哈希值,作为第二哈希值;从所述第二哈希环中,按照顺时针方向,确定位于所述第二哈希值之前的第一个与数据库相关联的数值,作为第二数值,以及位于所述第二哈希值之后的第一个与数据库相关联的指定数值,作为第三数值;确定所述第三数值相关联的原始数据库中,以所述第三数值和所述第二哈希值为端点的数值区间对应的数据,得到所述待迁移数据;
基于所述待迁移数据的数据标识、所述新添加的数据库和所述第三数值相关联的原始数据库,生成所述数据迁移信息。5.根据权利要求4所述的方法,其特征在于,所述确定所述第三数值相关联的原始数据库中,以所述第三数值和所述第二哈希值为端点的数值区间对应的数据,得到所述待迁移数据,包括:从所述存储系统中的多个数据库中的数据表中,确定所述第三数值在相关联的原始数据库中对应的数据表,得到待迁移数据表;确定所述待迁移数据表中,以所述第三数值和所述第二哈希值为端点的数值区间对应的数据,得到所述待迁移数据。6.根据权利要求4所述的方法,其特征在于,在所述确定所述第三数值相关联的原始数据库中,以所述第三数值和所述第二哈希值为...

【专利技术属性】
技术研发人员:陈永旺
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:

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

1