数据存储方法、装置、电子设备及计算机可读存储介质与流程

文档序号:30978195发布日期:2022-08-02 23:55阅读:111来源:国知局
数据存储方法、装置、电子设备及计算机可读存储介质与流程

1.本技术涉及计算机技术领域,尤其涉及存储技术领域,具体涉及一种数据存储方法、装置、电子设备及计算机可读存储介质。


背景技术:

2.随着计算机通信技术的不断发展,智能手机、电脑、平板电脑及笔记本电脑等终端的大量普及应用,终端向着多样化、个性化的方向发展,日益成为人们在生活与工作中不可或缺的设备。随着信息技术的蓬勃发展,互联网上业务不断地扩张,数据呈现出无法想象的增长趋势。为了能够存储海量数据,分布式存储技术应运而生。分布式存储系统可以将数据分散存储在多台独立的设备上,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,这样的做法不但提高了系统的可靠性、可用性和存取效率,还易于扩展。分布式存储系统的存储类型包括文件存储、块存储以及对象存储,对象存储是目前主流的互联网数据存储方式,通过对象存储可以将一些非结构化数据,比如图片、音频、视频等以对象的形式存储在对象存储中。
3.目前,为了对对象存储的底层数据存储空间进行无限扩容,研发人员可以通过采用一致性哈希算法,将多个存储节点的数据进行哈希随机分布,从而实现对象存储底层存储空间的无限扩容。然而,通过采用一致性哈希算法进行存储空间扩容时,会对部分存储节点产生数据迁移,导致增加额外维护资源对发生数据迁移的存储节点进行维护,存储空间扩容工作量大,浪费计算资源。


技术实现要素:

4.本技术实施例提供一种数据存储方法、装置、电子设备及计算机可读存储介质,通过新增多个逻辑分组与存储节点连接,使得逻辑分组可以对属于同一逻辑分组的存储节点进行存储管理,能够在对对象存储底层存储空间进行存储空间扩容时,避免已经存储的数据发生数据迁移,减少存储空间扩容工作量,节省计算资源。
5.本技术实施例提供了一种数据存储方法,应用于分布式存储系统,所述分布式存储系统通过多个逻辑分组与存储节点连接,存储在相同逻辑分组下的存储节点中的数据基于一致性哈希算法存储,该数据存储方法包括:
6.获取待存储数据、以及所述待存储数据对应的时间戳信息;
7.基于所述时间戳信息以及逻辑分组对应的存储时间区间信息,确定所述待存储数据所需存储的目标逻辑分组;
8.基于一致性哈希算法将所述待存储数据写入所述目标逻辑分组对应的存储节点中;
9.若所述目标逻辑分组中存储节点的存储空间不足以写完所述待存储数据,则基于所述分布式存储系统中的空闲存储空间新增包括至少一个存储节点的目标逻辑分组;
10.基于新增的目标逻辑分组对所述待存储数据进行存储,以将所述待存储数据写入
所述新增的目标逻辑分组对应的存储节点中。
11.相应的,本技术实施例还提供了一种数据存储装置,该数据存储装置包括:
12.获取单元,用于获取待存储数据、以及所述待存储数据对应的时间戳信息;
13.确定单元,用于基于所述时间戳信息以及逻辑分组对应的存储时间区间信息,确定所述待存储数据所需存储的目标逻辑分组;
14.第一存储单元,用于基于一致性哈希算法将所述待存储数据写入所述目标逻辑分组对应的存储节点中;
15.处理单元,用于若所述目标逻辑分组中存储节点的存储空间不足以写完所述待存储数据,则基于所述分布式存储系统中的空闲存储空间新增包括至少一个存储节点的目标逻辑分组;
16.第二存储单元,用于基于新增的目标逻辑分组对所述待存储数据进行存储,以将所述待存储数据写入所述新增的目标逻辑分组对应的存储节点中。
17.在一些实施例中,该数据存储装置包括:
18.第一确定子单元,用于确定所述目标逻辑分组对应的目标存储资源集群;
19.第一处理子单元,用于根据所述目标存储资源集群的剩余存储空间的容量情况,新增包括至少一个存储节点的目标逻辑分组,其中,所述目标存储资源集群的剩余存储空间对应的存储节点未配置有逻辑分组。
20.在一些实施例中,该数据存储装置包括:
21.第二确定子单元,用于确定所述目标存储资源集群的剩余存储空间的容量是否小于第一预设存储容量;
22.第二处理子单元,用于若是,则基于所述分布式存储系统中的空闲存储空间和所述目标存储资源集群的剩余存储空间,新增包括至少一个存储节点的目标逻辑分组;
23.第二处理子单元,还用于若否,则基于所述目标存储资源集群的剩余存储空间,新增包括至少一个存储节点的目标逻辑分组。
24.在一些实施例中,该数据存储装置包括:
25.第一生成单元,用于从所述分布式存储系统中的空闲存储空间获取新的存储资源集群,并根据所述新的存储资源集群中的至少一个存储节点、以及所述目标存储资源集群中剩余存储空间对应的存储节点生成新的逻辑分组,将所述新的逻辑分组作为新增的目标逻辑分组。
26.在一些实施例中,该数据存储装置包括:
27.第二生成单元,用于根据所述目标存储资源集群的剩余存储空间对应的存储节点生成新的逻辑分组,将所述新的逻辑分组作为新增的目标逻辑分组。
28.在一些实施例中,该数据存储装置包括:
29.第三确定子单元,用于当检测到目标存储业务的触发指令时,确定所述目标存储业务的目标存储模式类型;
30.获取子单元,用于获取所述目标存储模式类型对应的多个存储时间区间,为所述存储时间区间设置对应的逻辑分组,其中,一个逻辑分组管理至少一个存储节点。
31.在一些实施例中,该数据存储装置包括:
32.第三处理子单元,用于基于一致性哈希算法对所述目标逻辑分组中所有存储节点
的地址标志进行处理,得到所述目标逻辑分组中所有存储节点在预设哈希值区间中的位置信息。
33.在一些实施例中,该数据存储装置包括:
34.第四处理子单元,用于基于一致性哈希算法对所述待存储数据进行处理,得到所述待存储数据的目标哈希值;
35.第四确定子单元,用于基于所述目标哈希值在所述预设哈希值区间的位置,以及所述目标逻辑分组中所有存储节点在预设哈希值区间中的位置信息,确定储存所述待存储数据的目标存储节点;
36.第一存储子单元,用于将所述待存储数据写入所述目标存储节点中,以存储所述待存储数据。
37.在一些实施例中,该数据存储装置包括:
38.第二存储子单元,用于基于一致性哈希算法将所述待存储数据写入所述新增的目标逻辑分组对应的存储节点中,其中,每个存储节点连接有至少一个存储设备。
39.相应的,本技术实施例还提供一种电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现数据存储方法任一项的步骤。
40.相应的,本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现数据存储方法任一项的步骤。
41.本技术实施例提供一种数据存储方法、装置、电子设备及计算机可读存储介质,通过新增多个逻辑分组与存储节点连接,使得逻辑分组可以对属于同一逻辑分组的存储节点进行存储管理;同时,在进行存储时,根据待存储数据的时间戳信息,将待存储数据存储至与该时间戳信息对应的逻辑分组的存储节点中,以实现按时间戳信息的方式对对象存储进行扩容,从而能够在对对象存储底层存储空间进行存储空间扩容时,避免已经存储的数据发生数据迁移,减少存储空间扩容工作量,有效节省计算资源。
附图说明
42.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
43.图1为本技术实施例提供的数据存储系统的场景示意图。
44.图2为本技术实施例提供的一致性哈希方法的一种结构示意图。
45.图3为本技术实施例提供的数据存储方法的一种流程示意图。
46.图4为本技术实施例提供的逻辑分组的一种类型示意图。
47.图5为本技术实施例提供的数据存储装置的一种结构示意图。
48.图6为本技术实施例提供的电子设备的结构示意图。
具体实施方式
49.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完
整地描述。显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
50.基于此,本技术实施例提供一种数据存储方法、装置、计算机设备及计算机可读存储介质,该任务处理方法可以应用于分布式存储系统,分布式存储系统通过多个逻辑分组与存储节点连接,存储在相同逻辑分组下的存储节点中的数据基于一致性哈希算法存储,进一步的,分布式存储系统通过多个逻辑分组分别与多个存储资源集群连接,一个所述存储资源集群包括多个存储节点,一个逻辑分组管理至少一个存储资源集群中的至少一个存储节点,分布式管理系统可以为中央处理器,该中央处理器用于对所述多个存储资源集群进行管理,能够在对对象存储底层存储空间进行存储空间扩容时,避免已经存储的数据发生数据迁移,减少存储空间扩容工作量,节省计算资源。
51.本技术实施例提供的数据存储方法可以应用于分布式存储系统中的对象存储的存储类型中,通常所有对象存储的读、写以及其他操作都是以http或者https协议方式进行数据交互,对象存储系统对外提供一套独立的restful-api接口,开发人员可以通过调用对象存储所提供的restful-api接口,将一些非结构化数据,比如图片、音频、视频等以对象的形式存储在对象存储中。
52.可选的,该中央处理器可以是单独设置的处理器,也可以是多个服务器中的某一个服务器作为中央处理器对多个存储资源集群进行管理。
53.本技术实施例提供一种数据存储方法、装置、计算机设备及计算机可读存储介质。具体地,本技术实施例提供适用于计算机设备的数据存储装置。其中,该计算机设备可以为终端或服务器等设备,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。终端包括但不限于智能手机、平板电脑、笔记本电脑、台式计算机、智能语音交互设备等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接;本发明实施例可应用于各种场景,本技术实施例在此不做限制。
54.请参阅图1,图1为本技术实施例所提供的数据存储系统的场景示意图,该系统可以包括至少一个终端,至少一个服务器,多个存储资源集群,以及网络。用户持有的终端可以通过网络连接到不同的服务器,服务器可以连接有多个存储资源集群。终端是具有计算硬件的任何设备,该计算硬件能够支持和执行与游戏对应的软件产品。
55.其中,服务器可以获取待存储数据、以及所述待存储数据对应的时间戳信息;基于所述时间戳信息以及逻辑分组对应的存储时间区间信息,确定所述待存储数据所需存储的目标逻辑分组;基于一致性哈希算法将所述待存储数据写入所述目标逻辑分组对应的存储节点中;若所述目标逻辑分组中存储节点的存储空间不足以写完所述待存储数据,则基于所述分布式存储系统中的空闲存储空间新增包括至少一个存储节点的目标逻辑分组;基于新增的目标逻辑分组对所述待存储数据进行存储,以将所述待存储数据写入所述新增的目标逻辑分组对应的存储节点中。
56.本技术实施例中存储在相同逻辑分组下的存储节点中的数据基于一致性哈希算法存储,一致性哈希算法是一种特殊的哈希算法,在使用一致哈希算法后,哈希表槽位数
(大小)的改变平均只需要对k/n个关键字重新映射,其中k是关键字的数量,n是槽位数量。例如,请参阅图2,设置一个哈希数值空间,该哈希数值空间是一个首(0)尾(2
32-1)相接的圆环;接着,假设有4台服务器,对所有服务器分别使用哈希算法进行处理,具体可以选择服务器的ip地址或唯一主机名作为关键字进行哈希计算,从而确定每个服务器在哈希数值空间上的位置,即第一服务器的位置为a,第二服务器的位置为b,第三服务器的位置为c,第四服务器的位置为d;最后,对待存储数据通过hash函数计算出对应的key值,确定该key值在哈希数值空间上的位置,基于该位置顺时针进行寻找,第一台遇到的服务器就是该待存储数据进行存储的位置,即待存储数据存储的位置为第三服务器。
57.需要说明的是,图1所示的数据存储系统的场景示意图仅仅是一个示例,本技术实施例描述的数据存储系统以及场景是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域普通技术人员可知,随着任务处理系统的演变和新业务场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
58.基于上述问题,本技术实施例提供一种数据存储方法、装置、电子设备及计算机可读存储介质,以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
59.请参阅图3,图3为本技术实施例提供的一种数据存储方法的流程示意图,具体流程可以如下步骤101至步骤105:
60.101,获取待存储数据、以及所述待存储数据对应的时间戳信息。
61.为了能够按照待存储数据的存储时间戳进行数据存储,在步骤“获取待存储数据、以及所述待存储数据对应的时间戳信息”之前,方法可以包括:
62.当检测到目标存储业务的触发指令时,确定所述目标存储业务的目标存储模式类型;
63.获取所述目标存储模式类型对应的多个存储时间区间,为所述存储时间区间设置对应的逻辑分组,其中,一个逻辑分组管理至少一个存储节点。
64.102,基于所述时间戳信息以及逻辑分组对应的存储时间区间信息,确定所述待存储数据所需存储的目标逻辑分组。
65.在一具体实施例中,可以设置有第一逻辑分组、第二逻辑分组以及第三逻辑分组这三个逻辑分组,第一逻辑分组对应的存储时间区间为星期一,第一逻辑分组对应的存储时间区间为星期二,第一逻辑分组对应的存储时间区间为星期三。当检测到待存储数据的时间戳信息为星期一时,则将该待存储信息存储至第一逻辑分组对应的存储节点中。
66.103,基于一致性哈希算法将所述待存储数据写入所述目标逻辑分组对应的存储节点中。
67.在一实施例中,在步骤“基于一致性哈希算法将所述待存储数据写入所述目标逻辑分组对应的存储节点中”之前,方法可以包括:
68.基于一致性哈希算法对所述目标逻辑分组中所有存储节点的地址标志进行处理,得到所述目标逻辑分组中所有存储节点在预设哈希值区间中的位置信息。
69.具体的,步骤“基于一致性哈希算法将所述待存储数据写入所述目标逻辑分组对应的存储节点中”,方法可以包括:
70.基于一致性哈希算法对所述待存储数据进行处理,得到所述待存储数据的目标哈希值;
71.基于所述目标哈希值在所述预设哈希值区间的位置,以及所述目标逻辑分组中所有存储节点在预设哈希值区间中的位置信息,确定储存所述待存储数据的目标存储节点;
72.将所述待存储数据写入所述目标存储节点中,以存储所述待存储数据。
73.104,若所述目标逻辑分组中存储节点的存储空间不足以写完所述待存储数据,则基于所述分布式存储系统中的空闲存储空间新增包括至少一个存储节点的目标逻辑分组。
74.其中,所述分布式存储系统通过多个逻辑分组分别与多个存储资源集群连接,一个所述存储资源集群包括多个存储节点,一个逻辑分组管理至少一个存储资源集群中的至少一个存储节点。
75.在一实施例中,步骤“所述若所述目标逻辑分组中存储节点的存储空间不足以写完所述待存储数据,则基于所述分布式存储系统中的空闲存储空间新增包括至少一个存储节点的目标逻辑分组”,方法可以包括:
76.确定所述目标逻辑分组对应的目标存储资源集群;
77.根据所述目标存储资源集群的剩余存储空间的容量情况,新增包括至少一个存储节点的目标逻辑分组,其中,所述目标存储资源集群的剩余存储空间对应的存储节点未配置有逻辑分组。
78.可选的,步骤“所述根据所述目标存储资源集群的剩余存储空间的容量情况,新增包括至少一个存储节点的目标逻辑分组”,方法可以包括:
79.确定所述目标存储资源集群的剩余存储空间的容量是否小于第一预设存储容量;
80.若是,则基于所述分布式存储系统中的空闲存储空间和所述目标存储资源集群的剩余存储空间,新增包括至少一个存储节点的目标逻辑分组;
81.若否,则基于所述目标存储资源集群的剩余存储空间,新增包括至少一个存储节点的目标逻辑分组。
82.在一实施例中,步骤“所述基于所述分布式存储系统中的空闲存储空间和所述目标存储资源集群的剩余存储空间,新增包括至少一个存储节点的目标逻辑分组”,方法可以包括:
83.从所述分布式存储系统中的空闲存储空间获取新的存储资源集群,并根据所述新的存储资源集群中的至少一个存储节点、以及所述目标存储资源集群中剩余存储空间对应的存储节点生成新的逻辑分组,将所述新的逻辑分组作为新增的目标逻辑分组。
84.在另一实施例中,步骤“所述基于所述目标存储资源集群的剩余存储空间,新增包括至少一个存储节点的目标逻辑分组”,方法可以包括:
85.根据所述目标存储资源集群的剩余存储空间对应的存储节点生成新的逻辑分组,将所述新的逻辑分组作为新增的目标逻辑分组。
86.本技术实施例提供了三种类型的逻辑分组,请参阅图4,图4为逻辑分组类型的结构示意图,每种类型的逻辑分组对应的存储结构具体如图所示。具体的,第一种逻辑分组结构(ring1)可以包含多个资源池(例如第一资源池pool1和第二资源池pool2),且这些资源池(pool1和pool2)都属于同一个存储资源集群(第一存储资源集群cluster1)中,这些资源池(pool1和pool2)属于第一种逻辑分组(ring1)独占。进一步的,第一种逻辑分组可以应用
在为在已有存储资源集群里面新增物理集群进行扩容的场景下,通常应用在机房物理机柜充足,可以在现有物理资源基础上进行扩容的情况。第二种逻辑分组结构(ring2)可以包含多个资源池(例如第三资源池pool3、第四资源池pool4、第五资源池pool5和第六资源池pool6),且这些资源池(pool3、pool4、pool5和pool6)可以分布在多个存储资源集群(cluster1和第二存储资源集群cluster2)中,同时这些底层资源池(pool3、pool4、pool5和pool6)支持存储空间独占和共享(pool6)两种类型。进一步的,第二种逻辑分组可以应用在为已有物理集群资源不足,通过新增一组物理资源,将两组物理资源进行逻辑组合的场景下,常见在机房物理机柜不足,需要新增机柜或者机房的情况。第三种逻辑分组结构(ring3)可以包含多个资源池(例如pool6、第七资源池pool7和第八资源池pool8),且这些资源池(pool6、pool7和pool8)都属于同一个存储资源集群(cluster2)中,同时这些资源池(pool6、pool7和pool8)可以和其他ring2进行存储空间共享(pool6)。进一步的,第三种逻辑分组可以应用在部分资源池剩余空间还比较富裕的情况,从而考虑到利旧现有设备,将新增的分组加上这部分可以利旧的资源,形成新的逻辑分组。
87.105,基于新增的目标逻辑分组对所述待存储数据进行存储,以将所述待存储数据写入所述新增的目标逻辑分组对应的存储节点中。
88.具体的,步骤“所述基于新增的目标逻辑分组对所述待存储数据进行存储,以将所述待存储数据写入所述新增的目标逻辑分组对应的存储节点中”,方法可以包括:
89.基于一致性哈希算法将所述待存储数据写入所述新增的目标逻辑分组对应的存储节点中,其中,每个存储节点连接有至少一个存储设备。
90.为了对本技术实施例提供的数据存储方法进行进一步说明,下面将以数据存储方法在具体实施场景中的应用为例进行说明,具体应用场景如下所述。
91.(1)在本技术实施例中,当目标存储业务的目标存储模式类型为周期性时,即目标存储业务需要周期性进行数据批量写入与删除操作,因此存储容量空间相对变化比较大。在这种业务场景下,目标存储业务每个数据的写入和读取请求都需要在其objectname对象名称字段中增加时间戳timestamp字段作为前缀,对象存储系统通过在后台设定时间戳timestamp字段与逻辑分组的映射策略(例如星期一对应ring1、星期二对应ring2,以此类推),实现将业务写入的数据按照周期性规则写入多个不同的逻辑分组中,而在具体的逻辑分组写入或读取操作仍然沿用之前的一致性哈希算法,实现数据请求最终落到具体的存储节点中。
92.(2)在本技术实施例中,当目标存储业务的目标存储模式类型为长期性时,即目标存储业务需要长期持续写入数据到对象存储,并保持相对稳定的数据存储空间的增长需求。在这种业务场景下,业务每个写入和读取请求都需要在其objectname对象名称字段中增加时间戳timestamp字段作为前缀,对象存储系统通过在后台设定时间戳timestamp字段与逻辑分组的映射策略(例如202101对应ring1、202102对应ring2,以此类推),实现将业务写入的数据按照时间线推进的方式进行存储,而在具体的逻辑分组数据写入或读取操作仍然沿用之前的一致性哈希算法,实现数据请求最终落到具体的存储节点中。
93.综上所述,本技术实施例提供一种数据存储方法,通过新增多个逻辑分组与存储节点连接,使得逻辑分组可以对属于同一逻辑分组的存储节点进行存储管理;同时,在进行存储时,根据待存储数据的时间戳信息,将待存储数据存储至与该时间戳信息对应的逻辑
分组的存储节点中,以实现按时间戳信息的方式对对象存储进行扩容,从而能够在对对象存储底层存储空间进行存储空间扩容时,避免已经存储的数据发生数据迁移,减少存储空间扩容工作量,有效节省计算资源。
94.为便于更好的实施本技术实施例提供的数据存储方法,本技术实施例还提供一种基于上述游戏场景的显示装置。其中名词的含义与上述数据存储方法中相同,具体实现细节可以参考方法实施例中的说明。
95.请参阅图5,图5为本技术实施例提供的数据存储装置的一种结构示意图,该装置包括:
96.获取单元201,用于获取待存储数据、以及所述待存储数据对应的时间戳信息;
97.确定单元202,用于基于所述时间戳信息以及逻辑分组对应的存储时间区间信息,确定所述待存储数据所需存储的目标逻辑分组;
98.第一存储单元203,用于基于一致性哈希算法将所述待存储数据写入所述目标逻辑分组对应的存储节点中;
99.处理单元204,用于若所述目标逻辑分组中存储节点的存储空间不足以写完所述待存储数据,则基于所述分布式存储系统中的空闲存储空间新增包括至少一个存储节点的目标逻辑分组;
100.第二存储单元205,用于基于新增的目标逻辑分组对所述待存储数据进行存储,以将所述待存储数据写入所述新增的目标逻辑分组对应的存储节点中。
101.在一些实施例中,该数据存储装置包括:
102.第一确定子单元,用于确定所述目标逻辑分组对应的目标存储资源集群;
103.第一处理子单元,用于根据所述目标存储资源集群的剩余存储空间的容量情况,新增包括至少一个存储节点的目标逻辑分组,其中,所述目标存储资源集群的剩余存储空间对应的存储节点未配置有逻辑分组。
104.在一些实施例中,该数据存储装置包括:
105.第二确定子单元,用于确定所述目标存储资源集群的剩余存储空间的容量是否小于第一预设存储容量;
106.第二处理子单元,用于若是,则基于所述分布式存储系统中的空闲存储空间和所述目标存储资源集群的剩余存储空间,新增包括至少一个存储节点的目标逻辑分组;
107.第二处理子单元,还用于若否,则基于所述目标存储资源集群的剩余存储空间,新增包括至少一个存储节点的目标逻辑分组。
108.在一些实施例中,该数据存储装置包括:
109.第一生成单元,用于从所述分布式存储系统中的空闲存储空间获取新的存储资源集群,并根据所述新的存储资源集群中的至少一个存储节点、以及所述目标存储资源集群中剩余存储空间对应的存储节点生成新的逻辑分组,将所述新的逻辑分组作为新增的目标逻辑分组。
110.在一些实施例中,该数据存储装置包括:
111.第二生成单元,用于根据所述目标存储资源集群的剩余存储空间对应的存储节点生成新的逻辑分组,将所述新的逻辑分组作为新增的目标逻辑分组。
112.在一些实施例中,该数据存储装置包括:
113.第三确定子单元,用于当检测到目标存储业务的触发指令时,确定所述目标存储业务的目标存储模式类型;
114.获取子单元,用于获取所述目标存储模式类型对应的多个存储时间区间,为所述存储时间区间设置对应的逻辑分组,其中,一个逻辑分组管理至少一个存储节点。
115.在一些实施例中,该数据存储装置包括:
116.第三处理子单元,用于基于一致性哈希算法对所述目标逻辑分组中所有存储节点的地址标志进行处理,得到所述目标逻辑分组中所有存储节点在预设哈希值区间中的位置信息。
117.在一些实施例中,该数据存储装置包括:
118.第四处理子单元,用于基于一致性哈希算法对对所述待存储数据进行处理,得到所述待存储数据的目标哈希值;
119.第四确定子单元,用于基于所述目标哈希值在所述预设哈希值区间的位置,以及所述目标逻辑分组中所有存储节点在预设哈希值区间中的位置信息,确定储存所述待存储数据的目标存储节点;
120.第一存储子单元,用于将所述待存储数据写入所述目标存储节点中,以存储所述待存储数据。
121.在一些实施例中,该数据存储装置包括:
122.第二存储子单元,用于基于一致性哈希算法将所述待存储数据写入所述新增的目标逻辑分组对应的存储节点中,其中,每个存储节点连接有至少一个存储设备。
123.本技术实施例提供一种数据存储装置,通过获取单元201获取待存储数据、以及所述待存储数据对应的时间戳信息;确定单元202基于所述时间戳信息以及逻辑分组对应的存储时间区间信息,确定所述待存储数据所需存储的目标逻辑分组;第一存储单元203基于一致性哈希算法将所述待存储数据写入所述目标逻辑分组对应的存储节点中;处理单元204若所述目标逻辑分组中存储节点的存储空间不足以写完所述待存储数据,则基于所述分布式存储系统中的空闲存储空间新增包括至少一个存储节点的目标逻辑分组;第二存储单元205基于新增的目标逻辑分组对所述待存储数据进行存储,以将所述待存储数据写入所述新增的目标逻辑分组对应的存储节点中。本技术实施例可以通过新增多个逻辑分组与存储节点连接,使得逻辑分组可以对属于同一逻辑分组的存储节点进行存储管理;同时,在进行存储时,根据待存储数据的时间戳信息,将待存储数据存储至与该时间戳信息对应的逻辑分组的存储节点中,以实现按时间戳信息的方式对对象存储进行扩容,从而能够在对对象存储底层存储空间进行存储空间扩容时,避免已经存储的数据发生数据迁移,减少存储空间扩容工作量,有效节省计算资源。
124.相应的,本技术实施例还提供一种电子设备,该电子设备可以为终端或者服务器,该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机(pc,personal computer)、个人数字助理(personal digital assistant,pda)等终端设备。如图6所示,图6为本技术实施例提供的电子设备的结构示意图。该电子设备300包括有一个或者一个以上处理核心的处理器301、有一个或一个以上计算机可读存储介质的存储器302及存储在存储器302上并可在处理器上运行的计算机程序。其中,处理器301与存储器302电性连接。本领域技术人员可以理解,图中示出的电子设备结构并不构成对电子设备的限定,可
以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
125.处理器301是电子设备300的控制中心,利用各种接口和线路连接整个电子设备300的各个部分,通过运行或加载存储在存储器302内的软件程序和/或模块,以及调用存储在存储器302内的数据,执行电子设备300的各种功能和处理数据,从而对电子设备300进行整体监控。
126.在本技术实施例中,电子设备300中的处理器301会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器302中,并由处理器301来运行存储在存储器302中的应用程序,从而实现各种功能:
127.获取待存储数据、以及所述待存储数据对应的时间戳信息;
128.基于所述时间戳信息以及逻辑分组对应的存储时间区间信息,确定所述待存储数据所需存储的目标逻辑分组;
129.基于一致性哈希算法将所述待存储数据写入所述目标逻辑分组对应的存储节点中;
130.若所述目标逻辑分组中存储节点的存储空间不足以写完所述待存储数据,则基于所述分布式存储系统中的空闲存储空间新增包括至少一个存储节点的目标逻辑分组;
131.基于新增的目标逻辑分组对所述待存储数据进行存储,以将所述待存储数据写入所述新增的目标逻辑分组对应的存储节点中。
132.在一实施例中,所述分布式存储系统通过多个逻辑分组分别与多个存储资源集群连接,一个所述存储资源集群包括多个存储节点,一个逻辑分组管理至少一个存储资源集群中的至少一个存储节点;
133.所述若所述目标逻辑分组中存储节点的存储空间不足以写完所述待存储数据,则基于所述分布式存储系统中的空闲存储空间新增包括至少一个存储节点的目标逻辑分组,包括:
134.确定所述目标逻辑分组对应的目标存储资源集群;
135.根据所述目标存储资源集群的剩余存储空间的容量情况,新增包括至少一个存储节点的目标逻辑分组,其中,所述目标存储资源集群的剩余存储空间对应的存储节点未配置有逻辑分组。
136.在一实施例中,所述根据所述目标存储资源集群的剩余存储空间的容量情况,新增包括至少一个存储节点的目标逻辑分组,包括:
137.确定所述目标存储资源集群的剩余存储空间的容量是否小于第一预设存储容量;
138.若是,则基于所述分布式存储系统中的空闲存储空间和所述目标存储资源集群的剩余存储空间,新增包括至少一个存储节点的目标逻辑分组;
139.若否,则基于所述目标存储资源集群的剩余存储空间,新增包括至少一个存储节点的目标逻辑分组。
140.在一实施例中,所述基于所述分布式存储系统中的空闲存储空间和所述目标存储资源集群的剩余存储空间,新增包括至少一个存储节点的目标逻辑分组,包括:
141.从所述分布式存储系统中的空闲存储空间获取新的存储资源集群,并根据所述新的存储资源集群中的至少一个存储节点、以及所述目标存储资源集群中剩余存储空间对应的存储节点生成新的逻辑分组,将所述新的逻辑分组作为新增的目标逻辑分组。
142.在一实施例中,所述基于所述目标存储资源集群的剩余存储空间,新增包括至少一个存储节点的目标逻辑分组,包括:
143.根据所述目标存储资源集群的剩余存储空间对应的存储节点生成新的逻辑分组,将所述新的逻辑分组作为新增的目标逻辑分组。
144.在一实施例中,在获取待存储数据、以及所述待存储数据对应的时间戳信息之前,还包括:
145.当检测到目标存储业务的触发指令时,确定所述目标存储业务的目标存储模式类型;
146.获取所述目标存储模式类型对应的多个存储时间区间,为所述存储时间区间设置对应的逻辑分组,其中,一个逻辑分组管理至少一个存储节点。
147.在一实施例中,在基于一致性哈希算法将所述待存储数据写入所述目标逻辑分组对应的存储节点中之前,还包括:
148.基于一致性哈希算法对所述目标逻辑分组中所有存储节点的地址标志进行处理,得到所述目标逻辑分组中所有存储节点在预设哈希值区间中的位置信息。
149.在一实施例中,所述基于一致性哈希算法将所述待存储数据写入所述目标逻辑分组对应的存储节点中,包括:
150.基于一致性哈希算法对所述待存储数据进行处理,得到所述待存储数据的目标哈希值;
151.基于所述目标哈希值在所述预设哈希值区间的位置,以及所述目标逻辑分组中所有存储节点在预设哈希值区间中的位置信息,确定储存所述待存储数据的目标存储节点;
152.将所述待存储数据写入所述目标存储节点中,以存储所述待存储数据。
153.在一实施例中,所述基于新增的目标逻辑分组对所述待存储数据进行存储,以将所述待存储数据写入所述新增的目标逻辑分组对应的存储节点中,包括:
154.基于一致性哈希算法将所述待存储数据写入所述新增的目标逻辑分组对应的存储节点中,其中,每个存储节点连接有至少一个存储设备。
155.以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
156.可选的,如图6所示,电子设备300还包括:触控显示屏303、射频电路304、音频电路305、输入单元306以及电源307。其中,处理器301分别与触控显示屏303、射频电路304、音频电路305、输入单元306以及电源307电性连接。本领域技术人员可以理解,图6中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
157.触控显示屏303可用于显示图形玩家界面以及接收玩家作用于图形玩家界面产生的操作指令。触控显示屏303可以包括显示面板和触控面板。其中,显示面板可用于显示由玩家输入的信息或提供给玩家的信息以及电子设备的各种图形玩家接口,这些图形玩家接口可以由图形、文本、图标、视频和其任意组合来构成。可选的,可以采用液晶显示器(lcd,liquid crystal display)、有机发光二极管(oled,organic light-emitting diode)等形式来配置显示面板。触控面板可用于收集玩家在其上或附近的触摸操作(比如玩家使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并生成相应的操作指令,且操作指令执行对应程序。可选的,触控面板可包括触摸检测装置和触摸控制器
两个部分。其中,触摸检测装置检测玩家的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器301,并能接收处理器301发来的命令并加以执行。触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器301以确定触摸事件的类型,随后处理器301根据触摸事件的类型在显示面板上提供相应的视觉输出。在本技术实施例中,可以将触控面板与显示面板集成到触控显示屏303而实现输入和输出功能。但是在某些实施例中,触控面板与触控面板可以作为两个独立的部件来实现输入和输出功能。即触控显示屏303也可以作为输入单元306的一部分实现输入功能。
158.在本技术实施例中,通过处理器301执行游戏应用程序在触控显示屏303上生成图形玩家界面。该触控显示屏303用于呈现图形玩家界面以及接收玩家作用于图形玩家界面产生的操作指令。
159.射频电路304可用于收发射频信号,以通过无线通信与网络设备或其他电子设备建立无线通讯,与网络设备或其他电子设备之间收发信号。
160.音频电路305可以用于通过扬声器、传声器提供玩家与电子设备之间的音频接口。音频电路305可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路305接收后转换为音频数据,再将音频数据输出处理器301处理后,经射频电路304以发送给比如另一电子设备,或者将音频数据输出至存储器302以便进一步处理。音频电路305还可能包括耳塞插孔,以提供外设耳机与电子设备的通信。
161.输入单元306可用于接收输入的数字、字符信息或玩家特征信息(例如指纹、虹膜、面部信息等),以及产生与玩家设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
162.电源307用于给电子设备300的各个部件供电。可选的,电源307可以通过电源管理系统与处理器301逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源307还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
163.尽管图6中未示出,电子设备300还可以包括摄像头、传感器、无线保真模块、蓝牙模块等,在此不再赘述。
164.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
165.由上可知,本实施例提供的电子设备,可以通过新增多个逻辑分组与存储节点连接,使得逻辑分组可以对属于同一逻辑分组的存储节点进行存储管理;同时,在进行存储时,根据待存储数据的时间戳信息,将待存储数据存储至与该时间戳信息对应的逻辑分组的存储节点中,以实现按时间戳信息的方式对对象存储进行扩容,从而能够在对对象存储底层存储空间进行存储空间扩容时,避免已经存储的数据发生数据迁移,减少存储空间扩容工作量,有效节省计算资源。
166.本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
167.为此,本技术实施例提供一种计算机可读存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本技术实施例所提供的任一种数据存储方法中的步骤。例如,该计算机程序可以执行如下步骤:
168.获取待存储数据、以及所述待存储数据对应的时间戳信息;
169.基于所述时间戳信息以及逻辑分组对应的存储时间区间信息,确定所述待存储数据所需存储的目标逻辑分组;
170.基于一致性哈希算法将所述待存储数据写入所述目标逻辑分组对应的存储节点中;
171.若所述目标逻辑分组中存储节点的存储空间不足以写完所述待存储数据,则基于所述分布式存储系统中的空闲存储空间新增包括至少一个存储节点的目标逻辑分组;
172.基于新增的目标逻辑分组对所述待存储数据进行存储,以将所述待存储数据写入所述新增的目标逻辑分组对应的存储节点中。
173.在一实施例中,所述分布式存储系统通过多个逻辑分组分别与多个存储资源集群连接,一个所述存储资源集群包括多个存储节点,一个逻辑分组管理至少一个存储资源集群中的至少一个存储节点;
174.所述若所述目标逻辑分组中存储节点的存储空间不足以写完所述待存储数据,则基于所述分布式存储系统中的空闲存储空间新增包括至少一个存储节点的目标逻辑分组,包括:
175.确定所述目标逻辑分组对应的目标存储资源集群;
176.根据所述目标存储资源集群的剩余存储空间的容量情况,新增包括至少一个存储节点的目标逻辑分组,其中,所述目标存储资源集群的剩余存储空间对应的存储节点未配置有逻辑分组。
177.在一实施例中,所述根据所述目标存储资源集群的剩余存储空间的容量情况,新增包括至少一个存储节点的目标逻辑分组,包括:
178.确定所述目标存储资源集群的剩余存储空间的容量是否小于第一预设存储容量;
179.若是,则基于所述分布式存储系统中的空闲存储空间和所述目标存储资源集群的剩余存储空间,新增包括至少一个存储节点的目标逻辑分组;
180.若否,则基于所述目标存储资源集群的剩余存储空间,新增包括至少一个存储节点的目标逻辑分组。
181.在一实施例中,所述基于所述分布式存储系统中的空闲存储空间和所述目标存储资源集群的剩余存储空间,新增包括至少一个存储节点的目标逻辑分组,包括:
182.从所述分布式存储系统中的空闲存储空间获取新的存储资源集群,并根据所述新的存储资源集群中的至少一个存储节点、以及所述目标存储资源集群中剩余存储空间对应的存储节点生成新的逻辑分组,将所述新的逻辑分组作为新增的目标逻辑分组。
183.在一实施例中,所述基于所述目标存储资源集群的剩余存储空间,新增包括至少一个存储节点的目标逻辑分组,包括:
184.根据所述目标存储资源集群的剩余存储空间对应的存储节点生成新的逻辑分组,将所述新的逻辑分组作为新增的目标逻辑分组。
185.在一实施例中,在获取待存储数据、以及所述待存储数据对应的时间戳信息之前,
还包括:
186.当检测到目标存储业务的触发指令时,确定所述目标存储业务的目标存储模式类型;
187.获取所述目标存储模式类型对应的多个存储时间区间,为所述存储时间区间设置对应的逻辑分组,其中,一个逻辑分组管理至少一个存储节点。
188.在一实施例中,在基于一致性哈希算法将所述待存储数据写入所述目标逻辑分组对应的存储节点中之前,还包括:
189.基于一致性哈希算法对所述目标逻辑分组中所有存储节点的地址标志进行处理,得到所述目标逻辑分组中所有存储节点在预设哈希值区间中的位置信息。
190.在一实施例中,所述基于一致性哈希算法将所述待存储数据写入所述目标逻辑分组对应的存储节点中,包括:
191.基于一致性哈希算法对所述待存储数据进行处理,得到所述待存储数据的目标哈希值;
192.基于所述目标哈希值在所述预设哈希值区间的位置,以及所述目标逻辑分组中所有存储节点在预设哈希值区间中的位置信息,确定储存所述待存储数据的目标存储节点;
193.将所述待存储数据写入所述目标存储节点中,以存储所述待存储数据。
194.在一实施例中,所述基于新增的目标逻辑分组对所述待存储数据进行存储,以将所述待存储数据写入所述新增的目标逻辑分组对应的存储节点中,包括:
195.基于一致性哈希算法将所述待存储数据写入所述新增的目标逻辑分组对应的存储节点中,其中,每个存储节点连接有至少一个存储设备。
196.以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
197.其中,该存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、磁盘或光盘等。
198.由于该存储介质中所存储的计算机程序,可以执行本技术实施例所提供的任一种数据存储方法中的步骤,本实施例提供的存储介质中所存储的计算机程序,可以通过新增多个逻辑分组与存储节点连接,使得逻辑分组可以对属于同一逻辑分组的存储节点进行存储管理;同时,在进行存储时,根据待存储数据的时间戳信息,将待存储数据存储至与该时间戳信息对应的逻辑分组的存储节点中,以实现按时间戳信息的方式对对象存储进行扩容,从而能够在对对象存储底层存储空间进行存储空间扩容时,避免已经存储的数据发生数据迁移,减少存储空间扩容工作量,有效节省计算资源。
199.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
200.以上对本技术实施例所提供的一种数据存储方法、装置、电子设备及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的技术方案及其核心思想;本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例的技术方案的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1