数据存储方法、装置、设备及计算机可读存储介质与流程
未命名
09-23
阅读:58
评论:0
1.本技术涉及数据存储技术领域,尤其涉及一种数据存储方法、装置、设备及计算机可读存储介质。
背景技术:
2.ec((erasure code,纠删码)存储系统采用纠删码算法实现信息纠错。其将原始数据分块并生成冗余数据块,然后将这些数据块分布存储在不同的节点上。当某些节点发生故障时,可以通过其他节点上的数据块恢复出原始数据。
3.纠删码存储系统因其高可靠性、高存储效率等特点,被越来越多的企业选择。但是纠删码(ec)存储系统需要凑足一个条带才能进行编码,对于数据大小较小的数据,需要更多的数据才能凑成完整的条带数据,会增加数据访问和传输的开销。
技术实现要素:
4.本技术实施例提供一种数据存储方法、装置、设备及计算机可读存储介质,以解决相关技术存在的问题,技术方案如下:
5.第一方面,本技术实施例提供了一种数据存储方法,包括:
6.获取目标数据的数据大小;
7.在所述数据大小小于第一预设阈值的情况下,将所述目标数据存储至文件存储系统;
8.在所述数据大小大于或等于所述第一预设阈值的情况下,将所述目标数据存储至纠删码存储系统。
9.第二方面,本技术实施例提供了一种数据存储装置,包括:
10.数据大小获取模块,用于获取目标数据的数据大小;
11.小数据存储模块,用于在所述数据大小小于第一预设阈值的情况下,将所述目标数据存储至文件存储系统;
12.大数据存储模块,用于在所述数据大小大于或等于所述第一预设阈值的情况下,将所述目标数据存储至纠删码存储系统。
13.第三方面,本技术实施例提供了一种电子设备,该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,以使至少一个处理器能够执行上述数据存储方法。
14.第四方面,本技术实施例提供了一种计算机可读存储介质,计算机可读存储介质存储计算机指令,当计算机指令在计算机上运行时,上述各方面任一种实施方式中的方法被执行。
15.上述技术方案中的优点或有益效果至少包括:
16.本技术实施例通过将文件存储系统与纠删码存储系统进行集成,共同实现数据存储,将数据大小较小的数据存储至文件存储系统,实现小数据的快速存储;此外,将数据大
小较大的数据存储至纠删码存储系统,实现数据的高可靠性存储。
17.本技术实施例通过文件存储系统与纠删码存储系统集成的方式实现数据存储,可以避免将小数据存储至纠删码存储系统时,频繁的数据访问和传输造成的资源消耗。
18.上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本技术进一步的方面、实施方式和特征将会是容易明白的。
附图说明
19.在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本技术公开的一些实施方式,而不应将其视为是对本技术范围的限制。
20.图1示出根据本技术一实施例的数据存储方法的应用场景示意图。
21.图2示出根据本技术一实施例的数据存储方法的流程示意图。
22.图3示出根据本技术一实施例的数据存储方法的数据流程示意图。
23.图4示出根据本技术一实施例的数据存储装置的示意性结构框图。
24.图5是用来实现本技术实施例的数据存储方法的电子设备的框图。
具体实施方式
25.在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本技术的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
26.在数据存储技术领域,数据存储的可靠性是非常重要的。ec(erasure code,纠删码)算法通过“信息纠错技术”,可以实现数据存储的可靠性。ec算法的核心是,将数据分割成片段,把冗余数据块扩展、编码,并将其存储在不同的位置。其中,有任意一个或多个数据块丢失,都可以通过一定的算法恢复出来。
27.ec存储系统采用上述ec算法实现数据存储。但是纠删码(ec)存储系统需要凑足一个条带才能进行编码,对于数据大小较小的数据,需要更多的数据才能凑成完整的条带数据,会增加数据访问和传输的开销。
28.基于上述技术缺陷,本技术实施例提供一种数据存储方法,采用文件存储系统与纠删码存储系统集成的方式实现数据存储。
29.以下为本技术实施例中可能涉及到的名词术语解释:
30.纠删码(erasure coding,ec):是一种数据保护方法,可以用于容忍数据丢失。纠删码是一种编码技术,可将数据分割成片段,把冗余数据块扩展、编码,并将其存储在不同的位置。可以用在网络传输中避免包的丢失,存储系统利用它来提高存储可靠性。相比多副本复制而言,纠删码能够以更小的数据冗余度获得更高数据可靠性。
31.条带(stripe):是把连续的数据分割成相同大小的数据块,把每段数据块分别写入到阵列中的不同磁盘上的方法。
32.元数据(metadata):是关于数据的组织、数据域及其关系的信息,简言之,元数据就是描述数据的数据,是对数据及信息资源的描述性信息。
33.objectkey:文件存储系统中对象的唯一标识,等于bucket/objectname。
34.索引:一种数据结构,它能够加快数据查找的速度。索引数据节点中有着实际文件的位置,因为索引是根据特定的规则和算法构建的,在查找的时候遵循索引的规则可以快速查找到对应数据的节点,从而达到快速查找数据的效果。
35.content-length:是http请求头中的一个字段,它表示消息体的大小(以字节为单位),并发送给接收者。
36.图1示出根据本技术一实施例的数据存储方法的应用场景示意图。如图1所示,用户发送数据存储请求,将需要存储的数据上传至s3网关,s3网关将数据传输至s3客户端,以对数据进行存储。数据存储系统包括ec存储系统和文件存储系统,将数据存储至数据存储系统时,生成相应的元数据,并将元数据存储至元数据服务端。在离线或者在线的情况下,可以实现从元数据服务端获取元数据,基于元数据查找到元数据对应的存储数据。通过元数据获得对应的存储数据,可以以实现对存储数据的管控。
37.图2示出根据本技术一实施例的数据存储方法的流程图。如图2所示,该数据存储方法可以包括:
38.s210,获取目标数据的数据大小。
39.目标数据为向数据存储服务端请求存储的数据。数据存储服务端在接收到存储请求的情况下,将存储请求中包含的目标数据进行存储。
40.目标数据可以是视频数据、图片数据或者文字数据等。
41.目标数据可以是用户浏览网页过程中获得或者生成的数据,其中,存储请求的触发可以是网页的服务提供商配置的,也可以是用户自定义配置的。
42.不同目标数据的数据大小不同。ec存储系统由于其高可靠性和高存储效率,是用于存储目标数据的主要存储系统。但是纠删码(ec)存储系统需要凑足一个条带才能进行编码,对于数据大小较小的目标数据,凑成一个条带需要更多数量的数据,会增加数据访问和传输的开销。
43.为解决上述技术缺陷,本技术实施例通过获取目标数据的数据大小,再分别对数据大小较大的目标数据和数据大小较小的目标数据进行处理,以避免将数据大小较小的目标数据存储至ec存储系统导致的数据频繁访问和传输的问题。
44.s220,在数据大小小于第一预设阈值的情况下,将目标数据存储至文件存储系统。
45.文件存储系统为数据存储服务端自有的存储系统,可以是内存或者磁盘。在其他可以实施的示例中,文件存储系统也可以替换为ec存储系统之外的其他存储系统。
46.本技术实施例,通过将数据大小与第一预设阈值进行比较,从而区分数据大小较小的目标数据和数据大小较大的目标数据。
47.并且,本技术实施例通过将数据大小较小的目标数据存储至文件存储系统,不需要凑成条带,可以直接的读取和写入,减少数据访问和数据传输的次数。
48.本技术实施例中,第一预设阈值为自定义配置的。可以根据需要存储的目标数据的频率,或者数据访问的频率,调整第一预设阈值。例如,可以是,频率越高,第一预设阈值的数值越小。第一预设阈值可以为例如100byte。
49.在一个示例中,第一预设阈值也可以是服务端根据需要存储的目标数据的频率,或者数据访问的频率自动调整的,调整的参数可以是用于自定义配置的。
50.s230,在数据大小大于或等于第一预设阈值的情况下,将目标数据存储至纠删码存储系统。
51.将目标数据存储至纠删码存储系统,可以是将目标数据与待拼凑数据拼凑成条带数据,以将条带数据存储至纠删码存储系统;其中,待拼凑数据为待存储至纠删码存储系统,且还未拼凑成完整条带的数据。
52.数据大小较大的目标数据,即大数据,比较容易就凑成条带,从而在较少的数据访问和传输的情况下,实现将目标数据存储至ec存储系统。
53.本技术实施例中,通过将数据大小较大的目标数据存储至ec存储系统,可以实现目标数据的高效存储,提高目标数据存储的可靠性。
54.本技术实施例,通过将数据大小较小的目标数据存储至文件存储系统,而优先将数据大小较大的目标数据存储至ec存储系统,可以避免数据大小较小的目标数据存储至ec存储系统导致数据访问和传输频繁的问题。
55.在一种实施方式中,步骤s210包括:获取请求存储目标数据的请求头的字段信息;基于字段信息,确定目标数据的数据大小。
56.在需要将目标数据进行存储时,会触发一个http存储请求,从而使得数据存储服务端执行数据存储的任务。
57.http请求头中包括字段“content-length”,其表示消息体的大小(以字节为单位),通过获取http请求头中的“content-length”字段,可以确定请求存储的数据大小。
58.本技术实施例中,通过获取http请求头中的“content-length”字段,可以方便、快速地获得待存储的目标数据的数据大小。
59.在一种实施方式中,数据存储方法还包括:在数据大小小于第一预设阈值的情况下,为目标数据添加标签,标签用于标识目标数据的数据大小小于第一预设阈值。
60.本技术实施例中,通过对数据大小小于第一预设阈值的目标数据,添加标签,使得可以对存储至文件存储系统中的数据进行标识。数据大小小于第一预设阈值,该数据为小数据,添加的标签用于标识该数据为小数据,即为该数据添加标识为小数据的小对象标签。在读取数据的时候,获取读取数据的信息时,可以知道待读取的数据是否包括小对象标签,如果包括小对象标签,则可以确定该数据存储于文件存储系统中,从而从文件存储系统中读取该数据。
61.在一种实施方式中,本技术实施例的数据存储方法还包括:
62.获取目标数据存储至文件存储系统时的时间戳和对象属性;
63.基于时间戳、数据大小和/或者对象属性创建目标数据的索引,索引对应的索引值为空;
64.将索引和索引值,存储至元数据服务端。
65.目标数据存储至文件存储系统的时间戳可以是触发存储时的时间戳。
66.对象属性(objectkey)是目标数据存储至文件存储系统时生成的属性信息,是文件存储系统中对目标数据对象的唯一标识,通过获取对象属性,则可以获得该对象属性对应的数据,从而可以基于该对象属性查找到相应的数据。
67.本技术实施例中,通过为目标数据创建索引,使得可以基于索引中的多个信息中的任意一个,而从元数据服务端获取到对应数据,并且基于获取到的对应数据,可以获知索
引中的其他信息,或者索引值信息。
68.本技术实施例,通过为目标数据创建索引,可以通过查找获得目标数据的相关信息,可以方便地获得数据,避免多个数据存储在不同存储系统时的数据导致的读取问题。
69.在一个示例中,还可以基于索引,根据索引中的对象属性,获取相应的元数据,再根据元数据获得数据或者数据大小信息等。
70.在一种实施方式中,文件存储系统存储有多个数据,多个数据包括目标数据;方法还包括:
71.按照预设的时间间隔,基于索引,从元数据服务端获取多个数据的数据大小;
72.根据多个数据的数据大小,采用预设算法,将多个数据拼凑成多个条带数据。
73.文件存储系统中存储了多个数据大小较小的数据,在这些数据的数量增多之后,就可以基于多个数据凑成条带数据,不需要等待数据的访问和传输。
74.本技术实施例中,通过定期地,以预设的时间间隔执行将多个数据凑成条带数据,从而可以使得拼凑成完整的条带数据之后,将条带数据存储至ec存储系统,从而可以给文件存储系统释放更多的存储空间,方便存储更多的数据。
75.在一个示例中,还可以基于文件存储系统的存储空间,和需要存储的目标数据的频率,调整第一预设阈值。
76.本技术实施例中,从多个数据中,为多个数据拼凑成条带数据,一个条带数据中所拼凑的多个数据,可以通过贪心算法获得。也即,可以采用贪心算法,将多个数据拼凑成多个条带数据。
77.在一种实施方式中,数据存储方法还包括:
78.将拼凑完成的条带数据存储至纠删码存储系统;
79.从文件存储系统中删除条带数据中包含的多个数据,并删除条带数据中包含的多个数据的标签。
80.本技术实施例中,通过定期地将文件存储系统中的多个数据拼凑成条带数据,在当次的拼凑中,可能还未拼凑完成;那么,再经过了预设的时间间隔之后,可以再次拼凑,直到拼凑成完整的条带数据后,将条带数据存储至纠删码存储系统。
81.基于将条带数据存储至了纠删码存储系统,则文件存储系统中可以不再保留该条带数据中的多个数据,因此,通过从文件存储系统中删除该条带数据中的多个数据,可以为文件存储系统释放更多存储空间。
82.基于定期地,对文件存储系统中的多个数据拼凑成条带数据,则拼凑完成为条带数据的,就可将该条带数据存储至ec存储系统。
83.在一种实施方式中,本技术实施例的数据存储方法还包括:
84.获取多个数据存储至文件存储系统的到期时间;
85.基于到期时间,从多个数据中确定到期数据;
86.获取到期数据的条带信息;
87.在条带信息为完成度超过第二预设阈值的情况下,将到期数据所在的条带数据存储至纠删码存储系统,并删除条带数据中包含的多个数据的标签。
88.基于文件存储系统为服务端自有的存储系统,其被占用空间太多容易影响服务端的数据处理效率,因此需要对存储至文件存储系统中的数据进行管控,避免文件存储系统
中存储太多数据。
89.本技术实施例中,通过为存储至文件存储系统中的多个数据配置到期时间,即期望在到期时间之前,对应的数据能够被删除或者被迁移。
90.基于前述实施例中,通过定期地对文件存储系统中的多个数据拼凑成条带数据,拼凑成完整条带数据的多个数据则可以存储至ec存储系统。
91.本技术实施例中,通过为多个数据配置到期时间,在数据到期的情况下,该数据还未拼凑成完整条带数据,通过判断其条带数据的完成度,如果完成度超过第二预设阈值,则将该条带数据存储至纠删码存储系统,可以避免数据长时间存储在文件存储系统中,导致文件存储系统中存储太多数据。
92.多个数据的到期时间可以基于第一预设阈值和文件存储系统的可占用空间进行配置。
93.第二预设阈值可以为例如80%。第二预设阈值可以根据实际应用情况进行设置,第二预设阈值可以是人为配置的。
94.将到期数据所在的条带数据存储至纠删码存储系统,可以是将该条带数据作为待存储的条带数据,与数据大小超过第一预设阈值的目标数据拼凑成完整条带数据存储至纠删码存储系统。
95.本技术实施例中,通过为存储至文件存储系统中的多个数据配置到期时间,可以避免数据长时间存储至文件存储系统,导致文件存储系统被占用太多空间,而影响服务端的数据处理。
96.在一种实施方式中,本技术实施例的数据存储方法还包括:
97.在条带信息为完成度不超过第二预设阈值的情况下,获取将到期数据所在条带的多个数据;
98.重置多个数据的到期时间。
99.在数据到了到期时间,但是条带数据的完成度不超过第二预设阈值的情况下,则还需要继续拼凑。本技术实施例,通过对到期数据所在条带的多个数据重置到期时间,使得到期数据所在条带的多个数据可以作为一个整体,继续与其他数据拼凑成条带数据,避免多个数据中的某一个又到期时,又要为其重置到期时间,从而提高数据管控效率。
100.在一种实施方式中,本技术实施例的数据存储方法还包括:
101.获取多个数据存储至文件存储系统的存储时间;
102.在存储时间超过第三预设阈值的个数超过第四预设阈值,或者存储时间超过第三预设阈值的情况下,记录异常日志。
103.存储时间超过第三预设阈值,可以表明文件存储系统中存储的数据,在文件存储系统中的存储时间过长。存储时间超过第三预设阈值的个数超过第四预设阈值,即表明存储时间过长的数据较多。数据的存储时间过长,也即该数据过了到期时间,重置了多次之后,依然没有凑成完整的条带数据;则希望针对这种情况进行参数的调整,使得数据的存储时间控制在合理的范围。
104.第三预设阈值和第四预设阈值,都可以根据实际的应用环境配置和调整。
105.本技术实施例,通过记录异常日志的方式,使得可以通过日志获知异常情况,从而基于反馈情况作出调整。
106.在一个示例中,还可以时通过发送反馈信息至终端界面的方式,使得工作人员获知情况。
107.在一种实施方式中,数据存储方法还包括:
108.获取数据删除请求,数据删除请求包括请求删除的数据;
109.从元数据服务端读取请求删除的数据,在请求删除的数据包括标签的情况下,从文件存储系统中删除请求删除的数据。
110.前述实施例中,存储至文件存储系统的数据都添加了标签,并且在数据凑成条带数据,存储至纠删码存储系统时删除了标签,因此,在获得请求删除的数据包括标签的情况下,则可以判断该数据是存储在文件存储系统的,可以直接地从文件存储系统中删除请求删除的数据,提高数据删除的效率。
111.在一种实施方式中,数据存储方法还包括:
112.在请求删除的数据不包括标签的情况下,从纠删码存储系统删除请求删除的数据。
113.数据不包括标签,则表明该数据是存储在纠删码存储系统中,可以直接地从纠删码存储系统中删除数据。可以避免同时从文件存储系统和纠删码存储系统中查找请求删除的数据的情况,提高数据删除的效率。
114.从纠删码存储系统中删除请求删除的数据,可以根据请求删除数据的数据信息,基于索引,从纠删码存储系统中查找到请求删除的数据。
115.与数据删除过程类似,在获得数据读取请求的情况下,也可以根据请求读取数据是否包括标签,而判断请求读取的数据在哪个存储系统,从而直接地读取数据,提高数据读取的效率。
116.在ec存储系统中,删除条带数据中的一个数据,该条带数据中的其他数据还可以与其他条带的未删除数据拼凑成一个条带数据,以减少纠删码存储系统的占用空间。
117.图3示出根据本技术一实施例的数据存储方法的数据流程示意图。如图3所示,s3客户端接收到用户上传的数据存储请求,读取请求头中的content-length,判断请求存储的数据为小于第一预设阈值的小对象数据,还是大于或者等于第一预设阈值的大对象数据。如果是小对象数据,则为该小对象数据添加小对象标签,并将该小对象数据存储至文件存储系统中。如果不是小对象数据,则将该数据存储至ec存储系统中。存储至ec存储系统中的大对象数据以与其他待存储的大对象数据拼凑成条带的形式存储至ec存储系统中。此外,定时地对存储在文件存储系统中的小对象数据拼凑成条带数据,在拼凑成完整条带数据的情况下,将该条带数据存储至ec存储系统,并将文件存储系统中的相应数据删除,为文件存储系统释放空间。另一情况为,在文件存储系统中存储数据的存储时间到了到期时间的情况下,获取该数据拼凑成条带数据的完成度,如果到了到期时间,且其条带数据的拼凑完成度例如大于50%的情况下,可以将其与其他待存储至ec存储系统的目标数据(大对象数据)拼凑成条带数据,存储至ec存储系统。将数据存储至ec存储系统的同时,为该数据创建索引,以通过索引可以查找到对应的数据。
118.图4示出根据本技术一实施例的数据存储装置400的结构框图。如图4所示,该数据存储装置400可以包括:
119.数据大小获取模块410,用于获取目标数据的数据大小;
120.小数据存储模块420,用于在数据大小小于第一预设阈值的情况下,将目标数据存储至文件存储系统;
121.大数据存储模块430,用于在数据大小大于或等于第一预设阈值的情况下,将目标数据存储至纠删码存储系统。
122.在一种实施方式中,数据大小获取模块410,用于:
123.获取请求存储目标数据的请求头的字段信息;
124.基于字段信息,确定目标数据的数据大小。
125.在一种实施方式中,数据存储装置400还包括:
126.标签添加模块,用于在数据大小小于第一预设阈值的情况下,为目标数据添加标签,标签用于标识目标数据的数据大小小于第一预设阈值。
127.在一种实施方式中,数据存储装置400还包括元数据存储模块,用于:
128.获取目标数据存储至文件存储系统时的时间戳和对象属性;
129.基于时间戳、数据大小和/或者对象属性创建目标数据的索引,索引对应的索引值为空;
130.将索引和索引值,存储至元数据服务端。
131.在一种实施方式中,文件存储系统存储有多个数据,多个数据包括目标数据;数据存储装置400还包括定期拼凑模块,用于:
132.按照预设的时间间隔,基于索引,从元数据服务端读取多个数据的数据大小;
133.根据多个数据的数据大小,采用预设算法,将多个数据拼凑成多个条带数据。
134.在一种实施方式中,数据存储装置400还包括数据迁移模块,用于:
135.将拼凑完成的条带数据存储至纠删码存储系统;
136.从文件存储系统中删除条带数据中包含的多个数据,并删除条带数据中包含的多个数据的标签。
137.在一种实施方式中,数据迁移模块,还用于:
138.获取多个数据存储至文件存储系统的到期时间;
139.基于到期时间,从多个数据中确定到期数据;
140.获取到期数据的条带信息;
141.在条带信息为完成度超过第二预设阈值的情况下,将到期数据所在的条带数据存储至纠删码存储系统,并删除条带数据中包含的多个数据的标签。
142.在一种实施方式中,数据迁移模块,还用于:
143.在条带信息为完成度不超过第二预设阈值的情况下,获取将到期数据所在条带的多个数据;
144.重置到期数据所在条带的多个数据的到期时间。
145.在一种实施方式中,数据存储装置400还包括异常记录模块,用于:
146.获取多个数据存储至文件存储系统的存储时间;
147.在存储时间超过第三预设阈值的个数超过第四预设阈值,或者存储时间超过第三预设阈值的情况下,记录异常日志。
148.在一种实施方式中,数据存储装置400还包括数据删除模块,用于:
149.获取数据删除请求,数据删除请求包括请求删除的数据;
150.从元数据服务端读取请求删除的数据,在请求删除的数据包括标签的情况下,从文件存储系统中删除请求删除的数据。
151.在一种实施方式中,数据删除模块还用于:
152.在请求删除的数据不包括标签的情况下,从纠删码存储系统删除请求删除的数据。
153.本技术实施例各装置中的各模块的功能可以参见上述方法中的对应描述,在此不再赘述。
154.图5示出根据本技术一实施例的电子设备的结构框图。如图5所示,该电子设备包括:存储器510和处理器520,存储器510内存储有可在处理器520上运行的指令。处理器520执行该指令时实现上述实施例中的数据存储方法。存储器510和处理器520的数量可以为一个或多个。该电子设备旨在表示各种形式的数字计算机,诸如,服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本技术的实现。
155.该电子设备还可以包括通信接口530,用于与外界设备进行通信,进行数据交互传输。各个设备利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器520可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示gui的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
156.可选的,在具体实现上,如果存储器510、处理器520及通信接口530集成在一块芯片上,则存储器510、处理器520及通信接口530可以通过内部接口完成相互间的通信。
157.应理解的是,上述处理器可以是中央处理器(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital dignal processing,dsp)、专用集成电路(application specific sntegrated circuit,asic)、现场可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(advanced risc machines,arm)架构的处理器。
158.本技术实施例提供了一种计算机可读存储介质(如上述的存储器510),其存储有计算机指令,该程序被处理器执行时实现本技术实施例中提供的方法。
159.可选的,存储器510可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据数据存储方法的电子设备的使用所创建的数据等。此外,存储器510可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器510可选包括相对于处理器520远程设置的存储器,这些远程存储器可
以通过网络连接至数据存储方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
160.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包括于本技术的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
161.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本技术的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
162.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或多个(两个或两个以上)用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分。并且本技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能。
163.在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
164.应理解的是,本技术的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。上述实施例方法的全部或部分步骤是可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
165.此外,在本技术各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。上述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。该存储介质可以是只读存储器,磁盘或光盘等。
166.以上,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
技术特征:
1.一种数据存储方法,其特征在于,包括:获取目标数据的数据大小;在所述数据大小小于第一预设阈值的情况下,将所述目标数据存储至文件存储系统;在所述数据大小大于或等于所述第一预设阈值的情况下,将所述目标数据存储至纠删码存储系统。2.根据权利要求1所述的方法,其特征在于,所述获取目标数据的数据大小,包括:获取请求存储所述目标数据的请求头的字段信息;基于所述字段信息,确定所述目标数据的数据大小。3.根据权利要求1所述的方法,其特征在于,还包括:在所述数据大小小于第一预设阈值的情况下,为所述目标数据添加标签,所述标签用于标识所述目标数据的数据大小小于所述第一预设阈值。4.根据权利要求3所述的方法,其特征在于,还包括:获取所述目标数据存储至所述文件存储系统时的时间戳和对象属性;基于所述时间戳、所述数据大小和/或者所述对象属性创建所述目标数据的索引,所述索引对应的索引值为空;将所述索引和所述索引值,存储至元数据服务端。5.根据权利要求4所述的方法,其特征在于,所述文件存储系统存储有多个数据,所述多个数据包括所述目标数据;所述方法还包括:按照预设的时间间隔,基于所述索引,从所述元数据服务端读取所述多个数据的数据大小;根据所述多个数据的数据大小,采用预设算法,将所述多个数据拼凑成多个条带数据。6.根据权利要求5所述的方法,其特征在于,还包括:将拼凑完成的条带数据存储至纠删码存储系统;从所述文件存储系统中删除所述条带数据中包含的多个数据,并删除所述条带数据中包含的多个数据的标签。7.根据权利要求5所述的方法,其特征在于,还包括:获取所述多个数据存储至所述文件存储系统的到期时间;基于所述到期时间,从所述多个数据中确定到期数据;获取所述到期数据的条带信息;在所述条带信息为完成度超过第二预设阈值的情况下,将所述到期数据所在的条带数据存储至所述纠删码存储系统,并删除所述条带数据中包含的多个数据的标签。8.根据权利要求7所述的方法,其特征在于,还包括:在所述条带信息为完成度不超过所述第二预设阈值的情况下,获取将所述到期数据所在条带的多个数据;重置所述到期数据所在条带的多个数据的到期时间。9.根据权利要求6至8任一项所述的方法,其特征在于,还包括:获取所述多个数据存储至所述文件存储系统的存储时间;在所述存储时间超过第三预设阈值的个数超过第四预设阈值,或者所述存储时间超过第三预设阈值的情况下,记录异常日志。
10.根据权利要求6至8任一项所述的方法,其特征在于,还包括:获取数据删除请求,所述数据删除请求包括请求删除的数据;从所述元数据服务端读取所述请求删除的数据,在所述请求删除的数据包括所述标签的情况下,从所述文件存储系统中删除所述请求删除的数据。11.根据权利要求10所述的方法,其特征在于,还包括:在所述请求删除的数据不包括所述标签的情况下,从所述纠删码存储系统删除所述请求删除的数据。12.一种数据存储装置,其特征在于,数据大小获取模块,用于获取目标数据的数据大小;小数据存储模块,用于在所述数据大小小于第一预设阈值的情况下,将所述目标数据存储至文件存储系统;大数据存储模块,用于在所述数据大小大于或等于所述第一预设阈值的情况下,将所述目标数据存储至纠删码存储系统。13.一种电子设备,其特征在于,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-11中任一项所述的方法。14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机指令,所述计算机指令被处理器执行时实现如权利要求1-11中任一项所述的方法。
技术总结
本申请提出一种数据存储方法、装置、设备及计算机可读存储介质。其中,方法包括:获取目标数据的数据大小;在数据大小小于第一预设阈值的情况下,将目标数据存储至文件存储系统;在数据大小大于或等于第一预设阈值的情况下,将目标数据存储至纠删码存储系统。本申请实施例通过文件存储系统与纠删码存储系统集成的方式实现数据存储,可以避免将小数据存储至纠删码存储系统时,频繁的数据访问和传输造成的资源消耗。资源消耗。资源消耗。
技术研发人员:刘易
受保护的技术使用者:上海哔哩哔哩科技有限公司
技术研发日:2023.06.26
技术公布日:2023/9/22
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:塔机吊物的重量检测与类型识别系统及方法 下一篇:代理进程异常自恢复方法及装置与流程