数据存储方法、数据读取方法以及数据存储系统与流程

未命名 08-29 阅读:91 评论:0


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.根据本说明书实施例的第十二方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述方法的步骤。
44.本说明书提供的数据存储方法,应用于数据存储系统中的计算节点,所述数据存储系统包括至少一个计算节点和共享存储器,所述至少一个计算节点上部署有本地存储器,所述共享存储器与所述至少一个计算节点通过网络连接;所述方法包括:获取目标存储数据;将所述目标存储数据存储至所述本地存储器和所述共享存储器;在所述本地存储器的已占用存储空间达到预设存储条件的情况下,释放所述本地存储器的已占用存储空间。
45.本说明书一个实施例实现了在获取目标存储数据后,将目标存储数据存储至本地存储器和共享存储器,实现对目标存储数据的双重存储,避免目标存储数据丢失,也无需在进行数据存储前,提前部署大量的计算节点来存储数据,降低成本;并在将目标存储数据存
储至共享存储器后,将本地存储器的目标存储数据进行删除,释放本地存储器的已占用存储空间,保证本地存储器的存储空间不被占满,可以使得新的存储数据进行写入;为了对本地存储器的存储空间进行调控,设置预设存储条件进行约束,使得在本地存储器的已占用存储空间达到预设存储条件的情况下,对本地存储器的已占用存储空间进行释放,使得本地存储器的存储空间不被占满。
附图说明
46.图1是本说明书一个实施例提供的一种数据存储系统的架构示意图;
47.图2是本说明书一个实施例提供的一种数据存储方法的流程图;
48.图3是本说明书一个实施例提供的一种本地存储器的结构示意图;
49.图4是本说明书一个实施例提供的一种块存储空间的结构示意图;
50.图5是本说明书一个实施例提供的一种页缓存空间的结构示意图;
51.图6是本说明书一个实施例提供的一种数据存储装置的结构示意图;
52.图7是本说明书一个实施例提供的一种日志数据存储方法的流程图;
53.图8是本说明书一个实施例提供的一种日志数据存储装置的结构示意图;
54.图9是本说明书一个实施例提供的一种数据读取方法的流程图;
55.图10是本说明书一个实施例提供的一种数据读取装置的结构示意图;
56.图11是本说明书一个实施例提供的一种日志数据读取方法的流程图;
57.图12是本说明书一个实施例提供的一种日志数据读取装置的结构示意图;
58.图13是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
59.在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
60.在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
61.应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
62.此外,需要说明的是,本说明书一个或多个实施例所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入
口,供用户选择授权或者拒绝。
63.首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
64.热数据:经常访问,一般需要较低的访问延迟。
65.冷数据:不经常访问,但仍需要长期保留的数据,一般对访问延迟的容忍度较高。
66.存算一体:计算节点与存储设备部署在一起,集群增加节点个数时,需要进行节点间的数据迁移。
67.存算分离:计算节点与存储集群分开部署,提升了存储的可靠性和扩展性。
68.fifo(firstinputfirstoutput):即先入先出队列,在计算机技术中,先入先出队列是一种传统的按序执行方法。
69.在实际应用中,各种应用平台都会产生日志数据,而日志数据一般用于记录应用平台在处理任务时所产生的增加、删除、修改和查询等一系列操作数据,以在后续过程中,帮助用户对应用平台进行问题排查、数据分析等。因此,对日志数据进行存储,是必不可少的操作。
70.但对海量的日志数据进行存储,则面临着存储成本较高的问题。由于各日志数据的访问量的不同,日志数据分为热数据和冷数据,当热数据的数据状态发生变化成为冷数据时,需要将冷数据迁移至冷节点进行存储,而对冷数据进行迁移的过程中,很可能导致新的数据不能及时进行存储,甚至造成数据丢失,造成用户损失。
71.以电商场景为例,需要对电商日志数据进行存储,但由于将该电商日志数据进行存储时,计算节点正在进行冷数据的迁移,导致没有空闲节点用于存储该电商日志数据,则该电商日志数据则无法进行存储,甚至可能需要再另外部署新的计算节点来进行存储该电商日志数据,进而,又会产生新的存储成本和部署成本,造成成本消耗。
72.在本说明书中,提供了一种数据存储方法、一种日志数据存储方法、一种数据读取方法、一种日志数据读取方法、一种数据存储系统、一种数据存储装置、一种日志数据存储装置、一种数据读取装置、一种日志数据读取装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序,在下面的实施例中逐一进行详细说明。
73.参见图1,图1示出了根据本说明书一个实施例提供的一种数据存储系统的架构示意图。如图1所示,数据存储系统包括至少一个计算节点和共享存储器,各计算节点均挂载至少一个本地存储器,各计算节点与共享存储器之间通过网络连接。
74.本说明书提供的数据存储系统实施例如下:
75.所述数据存储系统包括至少一个计算节点110和共享存储器130,所述至少一个计算节点110上部署有本地存储器120,所述共享存储器130与所述至少一个计算节点110通过网络连接;
76.所述计算节点110,被配置为获取目标存储数据,将所述目标存储数据存储至所述本地存储器120和所述共享存储器130;
77.所述共享存储器130,被配置为接收并存储所述目标存储数据;
78.所述计算节点110,进一步被配置为在所述本地存储器120的已占用存储空间达到预设存储条件的情况下,释放所述本地存储器120的已占用存储空间。
79.其中,各计算节点通过网络连接组成分布式集群,各计算节点均挂载至少一个本地存储器,本地存储器包括但不限于nvme固态硬盘、ssd固态硬盘等。各计算节点通过网络
连接于同一个共享存储器,可以将需要进行存储的数据存储至共享服务器上,各计算节点也可以读取同一个共享存储器上所存储的数据。
80.目标存储数据,是指由计算节点获取到的需要进行存储的数据,目标存储数据可以是由计算节点所产生的数据,也可以是由计算节点获取到的数据存储系统之外的数据,可以是用户行为数据,也可以是基于用户行为数据产生的日志数据。
81.预设存储条件,是指本地存储器的已占用存储空间所达到的需要进行释放的条件。具体可以为本地存储器的已占用存储空间的使用率,也可以是本地存储器的已占用存储空间的最大占用阈值。例如,预设存储条件为本地存储器的已占用存储空间的使用率为90%,则在本地存储器的已占用存储空间的使用率达到90%的情况下,说明此时本地存储器的已占用存储空间已经达到预设存储条件,则可以释放本地存储器的已占用存储空间。又例如,预设存储条件为本地存储器的已占用存储空间的最大占用阈值为2.5t,则在本地存储器的已占用存储空间达到2.5t的情况下,说明此时本地存储器的已占用存储空间已经达到预设存储条件,则可以释放本地存储器的已占用存储空间。
82.需要进行说明的是,计算节点释放本地储存器的已占用存储空间,可以是将已占用存储空间全部释放,也可以是释放部分已占用存储空间,在本说明书提供的一个实施例中,优选释放部分已占用存储空间。通过释放部分已占用存储空间,使得本地存储器被释放掉的存储空间可以进行存储其他数据,未被释放的存储空间存储有剩余数据,可以在后续对该数据进行访问读取时,直接从本地存储器进行访问读取,相比较于从共享存储器进行访问读取该数据,读取速度更快。如此一来,通过释放部分已占用存储空间,既可以保证本地存储器的存储空间不被占满,也兼顾了后续的数据访问性能。
83.具体地,本说明书提供的数据存储系统,包括至少一个计算节点和共享存储器,个计算节点上均部署有本地存储器,共享存储器与各计算节点通过网络连接。在计算节点获取到需要进行存储的数据后,将该存储数据存储至本地存储器和共享存储器,共享存储器在接收到存储数据后,对该存储数据进行存储,在这个过程中,由计算节点对本地存储器的已占用存储空间进行检测,在本地存储器的已占用存储空间达到预设存储条件的情况下,释放本地存储器的已占用存储空间,实现对本地存储器的数据清理和空间释放。
84.以电商场景为例,以目标存储数据为基于用户行为产生的电商交易数据为例进行说明。首先计算节点1在接收到客户端发送的数据存储请求后,响应于数据存储请求,将电商交易数据存储至计算节点1挂载的本地存储器上,在将电商交易是数据存储至本地存储器后,再将电商交易数据存储至共享存储器。基于计算节点1对本地存储器的已占用存储空间的检测情况,若此时本地存储器的已占用存储空间已经达到本地存储器存储空间的90%,则将本地存储器的已占用存储空间进行释放。
85.本说明书提供的数据存储系统,在将目标存储数据存储至本地存储器后,还将目标存储数据存储至共享存储器,在将目标存储数据存储至共享存储器后,再将本地存储器的目标存储数据进行释放,以减少目标存储数据对本地存储器存储空间的占用,在将本地存储器的目标存储数据进行释放的过程中,还可以根据实际应用情况,选择性地进行释放部分数据,以实现后续对本地存储器的存储数据进行访问时,加快数据访问速度。
86.基于本说明书提供的数据存储系统,本说明书还提供了应用于所述数据存储系统的数据存储方法和数据读取方法,在下面的实施例中逐一进行详细说明。
87.参见图2,图2示出了根据本说明书一个实施例提供的一种数据存储方法的流程图,具体包括以下步骤。
88.步骤202:获取目标存储数据。
89.所述数据存储方法应用于数据存储系统中的计算节点,所述数据存储系统包括至少一个计算节点和共享存储器,所述至少一个计算节点上部署有本地存储器,所述共享存储器与所述至少一个计算节点通过网络连接。
90.具体地,计算节点获取目标存储数据,可以是获取用户客户端需要向数据存储系统进行存储的数据,也可以是获取由数据存储系统中计算节点执行操作所产生的日志数据等。在获取目标存储数据后,将目标存储数据存储至所述数据存储系统。
91.步骤204:将所述目标存储数据存储至所述本地存储器和所述共享存储器。
92.在实际应用中,将目标存储数据进行存储至计算节点,往往需要提前部署大量计算节点,为了保证可以将目标存储数据完全存储至计算节点中,需要使得计算节点中可以进行存储目标存储数据的存储空间大于目标存储数据的大小,在这种情况下,可能会出现所部署的计算节点的存储空间剩余的情况,浪费部署成本,相应的,计算节点的副本节点同样会存在部署成本浪费的问题,从而导致存储成本较高。
93.因此,本说明书提供的数据存储方法,除了可以将目标存储数据存储至本地存储器,还可以将目标存储数据存储至共享存储器。由于共享存储器与各计算节点通过网络进行连接,在进行存储数据时,各计算节点均可以将目标存储数据存储至共享服务器,不需要提前部署大量的计算节点,以实现对目标存储数据的存储。
94.本说明书提供的一具体实施方式中,将所述目标存储数据存储至所述本地存储器和所述共享存储器,包括:
95.将所述目标存储数据存储至所述本地存储器;
96.在所述目标存储数据存储至所述本地存储器的情况下,将所述目标存储数据存储至所述共享存储器。
97.在获取得到目标存储数据之后,可以将目标存储数据存储至本地存储器,在确定目标存储数据已经存储至本地存储器之后,再将目标存储数据存储至共享存储器,从而既可以实现对目标存储数据进行本地存储,也可以实现对目标存储数据的共享存储,在后续进行是数据读取的过程,与共享存储器进行连接的计算节点,均可以对共享存储器中的数据进行读取。
98.在本说明书提供的另一具体实施方式中,也可以在将目标存储数据分别存储至本地存储器和共享存储器,也可以实现对目标共享存储器的本地存储和共享存储。
99.进一步地,如图3所示,图3示出了根据本说明书一个实施例提供的一种本地存储器的结构示意图。本说明书提供的本地存储器包括页缓存空间、块存储空间和事务日志,其中,页缓存空间用于计算节点对共享存储器进行数据访问读取时,加速数据访问进程;块缓存空间用于存储需要进行存储的数据;事物日志用于记录计算节点的操作行为数据信息,具体可以包括数据的增加、删除、修改、查询等操作数据信息。
100.基于此,在本说明书提供的一具体实施方式中,所述本地存储器包括至少一个存储块;
101.将所述目标存储数据存储至所述本地存储器,包括:
102.基于各存储块的大小,对所述目标存储数据进行分割,得到多个子数据;
103.将各子数据分别存储至对应的存储块。
104.本说明书提供的数据存储方法,本地存储器中包括块存储空间,块存储空间包括至少一个存储块,将目标存储数据存储至本地存储器,相当于把目标存储数据暂时存储至本地存储器的至少一个存储块中,且各存储块的大小相同。
105.基于此,可以将需要进行存储的目标存储数据,按照各存储块的大小进行分割,得到多个子数据,由于各存储块的大小相同,基于各存储块大小进行分割后的子数据的大小也是相同的。进而,将分割得到的各子数据分别存储至对应的存储块,以完成将目标存储数据存储至本地存储器。
106.以各存储块的大小均为64m(兆)为例进行说明,由于各存储块的大小均为64m,即可将目标存储数据分割为多个64m大小的子数据,先将目标存储数据中的64m数据存储至一个存储块,再将目标存储数据中65-128m的子数据存储至下一个存储块,以此类推,直至目标存储数据全部存储完成。
107.进一步地,参见图4,图4示出了根据本说明书一个实施例提供的一种块存储空间的结构示意图。如图4所示,块存储空间包括多个存储块,各存储块对应有存储块逻辑标识。在将存储数据向各存储块中进行存储的过程中,可以对存储数据进行切分,将切分获得的子数据采用并行存储的方式,向不同的存储块中分别进行存储数据,直至存储数据存储完成。也即,对于一份存储数据,可以存储至多个存储块中。相应的,在实际进行存储的过程中,可以采用多份存储数据向存储块中进行并发存储的方式进行存储,从而提高存储效率。
108.更进一步地,参见图5,图5示出了根据本说明书一个实施例提供的一种页缓存空间的结构示意。如图5所示,页缓存空间包括多个缓存分区,各缓存分区中包括多个缓存页,各缓存页对应有缓存页逻辑标识。各缓存页用于在对存储于共享存储器中的数据进行数据读取时,进行缓存加速,以提高数据读取效率。
109.在将目标存储数据存储至各存储块,即完成本地存储器的存储后,为了提高目标存储数据使用的可靠性,可以将目标存储数据进行备份。具体可以为将目标存储数据存储至计算节点的副本节点或是将目标存储数据存储至共享存储器,将目标存储数据存储至计算节点的副本节点的实现方式如下:
110.在本说明书提供的一具体实施方式中,所述方法还包括:
111.基于预设分割数据大小,对所述目标存储数据进行分割,获得至少一个分割存储数据;
112.基于滑动窗口的宽度,将所述滑动窗口覆盖的分割存储数据存储至所述计算节点的副本节点;
113.响应于所述副本节点的已接收指令,返回执行基于滑动窗口的宽度,将所述滑动窗口覆盖的分割存储数据存储至所述计算节点的副本节点的步骤,直至所述目标存储数据存储完成。
114.其中,预设分割数据大小,是指预先设置的对目标存储数据进行分割的数据分割大小,例如,可以将预设分割数据大小设置为512k。具体的,预设分割数据大小可以根据实际应用情况进行设置,例如,根据网络传输速度、数据存储系统性能等进行设置。
115.分割存储数据,是指将目标存储数据按照预设分割数据大小进行分割后所获得的
存储数据。例如,目标存储数据大小为64m(也即65536k),由于预设分割数据大小为512k,则基于预设分割数据大小,可以将目标存储数据分割为128个512k大小的分割存储数据。
116.滑动窗口,是指用于将分割存储数据存储至计算节点的副本节点的数据传输窗口。滑动窗口的宽度,是指滑动窗口可以用于一次传输的数据数量,例如,2个、3个等。滑动窗口的宽度也可以基于实际应用情况进行设置,例如,根据网络传输速度、数据存储系统性能等进行设置。
117.已接收指令,是指副本节点在接收到计算节点传输的分割存储数据后所发送的指令。
118.具体地,根据预设分割数据大小,对目标存储数据进行分割,获得多个分割存储数据,基于滑动窗口的宽度,将滑动窗口所覆盖的分割存储数据进行存储至计算节点的副本节点,在副本节点接收到基于滑动窗口传输的分割存储数据后,向计算节点发送已接收指令,计算节点响应于该已接收指令,并基于上述方法,再次通过滑动窗口将相同数量的分割存储数据进行存储至副本节点,直至目标存储数据全部存储至副本节点。
119.为了保证目标存储数据本身的物理组织结构不被改变,在通过滑动窗口进行存储的过程中,可以基于目标存储数据本身的数据内容的顺序进行传输和存储。更具体地,可以在对目标存储数据进行分割后,基于目标存储数据本身的数据内容的顺序,为各分割存储数据进行编号,以识别各分割存储数据的先后顺序,也可以进一步确定各分割存储数据的传输存储顺序。
120.沿用上例,进一步地,以滑动窗口的宽度为3为例进行解释说明,基于预设分割数据大小为512k,将大小为64m的目标存储数据进行分割为128个512k大小的分割存储数据,且各分割存储数据对应有进行传输存储的编号,如{001,002,003
……
128}。根据各分割存储数据的编号,以及滑动窗口的宽度为3,将编号为001、002和003的分割存储数据通过滑动窗口传输并存储至副本节点,在计算节点接收到副本节点的已接收指令后,响应于该已接收指令,将编号为004、005和006的分割存储数据通过滑动窗口传输并存储至副本节点,反复执行上述操作,直至将编号为128的分割存储数据存储至副本节点。
121.由于网络传输速度的不同,滑动窗口在对编号为001、002和003的分割存储数据进行传输的过程中,可能会存在副本节点先接收到编号为001的分割存储数据,而后接收到编号为002和003的分割存储数据。在这种情况下,副本节点会向计算节点发送已接收到编号为001的分割存储数据的已接收指令,此时,计算节点即可将编号为004的分割存储数据添加至滑动窗口,由滑动窗口对编号为002、003和004的分割存储数据进行传输。
122.在将目标存储数据存储至副本节点的过程中,通过基于预设分割数据大小,将目标存储数据进行分割,获得多个分割存储数据,降低直接将整个目标存储数据存储至副本节点的传输存储压力;通过设置滑动窗口,将各分割存储数据传输至副本节点,实现对各分割存储数据的并行存储;通过设置滑动窗口的宽度,可以实现对传输存储的各分割存储数据的数量进行调控,实现在进行数据存储的过程中,对计算资源的占用进行调控。
123.通过将目标存储数据存储至计算节点的副本节点中,可以在后续对目标存储数据进行读取时,加快对目标存储数据的读取速度,提高读取性能。
124.进一步地,在将目标存储数据向共享存储器进行存储时,可以采用数据拷贝的方式,将目标存储数据上传至共享存储器,在这个过程中,可以将整个目标存储数据拷贝至共
享存储器,也可以是将目标存储数据进行分割后,在进行拷贝上传,本说明书对将目标存储数据存储至共享存储器的存储方式不做限定。
125.在实际应用中,直接将完整的数据向共享存储器中进行存储,可能会存在由于文件过大,导致存储速度慢、存储效率低的问题。因此,在将目标存储数据向共享存储器进行存储时,可以将目标存储数据进行分割,将分割后的数据分别在共享存储器中进行存储,在完成将目标存储数据存储至共享存储器的存储过程后,再将分割后的数据进行拼接,以获得完整的目标存储数据。
126.在将目标存储数据存储至共享存储器后,可以将计算节点中本地存储器中的目标存储数据进行删除,从而节省本地存储器的存储空间。
127.需要进行说明的是,在实际应用中,对于将目标存储数据存储至计算节点的副本节点,或是将目标存储数据存储至共享存储器,可以基于实际应用情况进行确定。例如,若是为了提高后续对目标存储数据的读取性能,则可以采用将目标存储数据存储至副本节点的方式进行存储,若是为了节省本地存储器的存储空间,则可以采用将目标存储数据存储至共享存储器,并将本地存储器的目标存储数据进行删除的方式进行存储。上述两种存储方式也可以同时进行,即在将目标存储数据存储至副本节点的同时,也可以将目标存储数据存储至共享存储器,本说明书对目标存储数据的存储方式不做过多限定。
128.在将目标存储数据存储至共享存储器的过程中,为了使得计算节点和计算节点的副本节点都可以对同一份数据进行数据读取,需要使得在共享存储器中读取的存储数据的数据组织形式等是一致的,因此,通过将目标存储数据存储至副本节点和共享存储器,可以实现对目标存储数据进行存储的数据一致性,从而,在共享存储器中进行存储数据时,只需存储一份数据,就可以实现计算节点与计算节点的副本节点所读取的数据不仅读取结果相同,所读取的数据内容也是相同的,无需在计算节点和副本节点上存储两份数据,从而降低存储成本。
129.本说明书提供的数据存储方法,可以实现在对目标存储数据进行本地存储后,也可以通过设置滑动窗口将目标存储数据存储至计算节点的副本节点,也可以对目标存储数据进行远程共享存储,通过两种存储方式,对目标存储数据实现存储备份。由于各计算节点均与共享存储器通过网络进行连接,因此,各计算节点都可以对共享存储器中所存储的数据进行访问,提高后续过程中的数据访问效率。
130.步骤206:在所述本地存储器的已占用存储空间达到预设存储条件的情况下,释放所述本地存储器的已占用存储空间。
131.在实际应用中,将目标存储数据存储至本地存储器,可能会出现本地存储器的的存储空间被占满的情况下,若不对本地存储器的已占用存储空间进行释放,可能会导致新的数据无法进行存储。
132.在本说明书提供的数据存储方法中,为了使得本地存储器的存储空间不被占满,对本地存储器的已占用存储空间设置预设存储条件,在本地存储器的已占用存储空间达到预设存储条件的情况下,将本地存储器的已占用存储空间进行释放,从而保证本地存储器的存储空间不被占满,减轻本地存储器的存储压力。
133.在本说明书提供的一具体实施方式中,在所述本地存储器的已占用存储空间达到预设存储条件的情况下,释放所述本地存储器的已占用存储空间,包括:
134.基于预设时间间隔,确定所述本地存储器的存储空间占用率;
135.在所述存储空间占用率达到第一预设存储阈值的情况下,获取所述共享存储器中已存储数据列表;
136.基于所述已存储数据列表,删除所述已占用存储空间中的存储数据。
137.其中,预设时间间隔,是指预先设置的用于检测本地存储器的已占用存储空间的使用情况的时间间隔,例如,10秒、15秒、20秒等。预设时间间隔的设置可以具体实际应用情况进行设置,例如数据存储系统的释放速度、释放空间的大小等,本说明书对预设时间间隔的设置不做具体限定。
138.存储空间占用率,是指本地存储器中的存储空间的使用情况,具体可以理解为,本地存储器中已占用存储空间与总存储空间之间的比值。
139.第一预设存储阈值,是指本地存储器的存储空间占用率的最大值,用于表征本地存储器可进行存储的存储数据的上限。第一预设存储阈值的设置,同样根据实际应用情况进行设置,例如,数据存储系统释放存储空间的释放速度、数据存储系统的性能、数据存储系统的资源负载情况等。
140.已存储数据列表,是指共享存储器中已经存储完成的数据的数据列表。
141.具体地,基于预设时间间隔,对本地存储器的存储空间占用率进行检测,在本地存储器的存储空间占用率达到第一预设存储阈值的情况下,获取共享存储器中的已存储数据列表,根据已存储数据列表,对已占用存储空间中的存储数据进行删除,以实现对本地存储器中的存储空间进行释放。需要进行说明的是,在进行删除已占用存储空间中的存储数据时,可以根据实际应用情况,将已经在共享存储器中存储完成的存储数据全部进行删除,也可以删除其中的部分存储数据。
142.例如,以预设时间间隔为10秒,第一预设存储阈值为90%为例进行说明。间隔10秒进行获取本地存储器的已占用存储空间,并基于本地存储器的总存储空间,确定本地存储器的存储空间占用率,在本地存储器的存储空间占用率达到90%的情况下,进一步获取共享存储器中的已存储数据列表,根据已存储数据列表,删除已占用存储空间中的存储数据。
143.对本地存储器中的存储数据进行删除,是为了释放本地存储器的存储空间,而为了使得存储数据不被丢失,需要在存储数据已经在共享存储器中存储完成后,再进行删除。
144.进一步地,在本说明书提供的一具体实施方式中,基于所述已存储数据列表,删除所述已占用存储空间中的存储数据,包括:
145.基于所述已存储数据列表,在所述目标存储数据中确定待删除数据;
146.将所述待删除数据从所述已占用存储空间中删除。
147.其中,待删除数据,是指基于已存储数据列表,在目标存储数据中确定需要进行删除的数据,具体是指目标存储数据中已经在共享存储器中存储完成的数据。
148.具体地,根据已存储数据列表,在目标存储数据中确定可以进行删除的数据,并将可以进行删除的数据,从已占用存储空间中进行删除即可。
149.例如,获取到的已存储数据列表为{f1,f2,f3},目标存储数据为{f1,f2,f3,
……
fn},则可以确定{f1,f2,f3}为待删除数据,将{f1,f2,f3}从已占用存储空间中删除即可。
150.进一步地,本说明书提供的数据存储系统还可以用于数据访问,为了保证计算节点对本地存储器的数据访问效率,以及用户客户端对数据存储系统进行数据访问效率,还
可以通过设置最大可释放空间,对已占用存储空间中存储数据的删除进行调控,以实现对本地存储器的数据访问情况。
151.例如,设置最大可释放空间为1g,则在本地存储器的存储空间占用率达到第一预设存储阈值的情况下,释放待删除数据中的1g存储数据。
152.为了进一步保证本地存储器中的存储数据不为空,可以实现对本地存储器的数据访问,还可以通过设置本地存储器的存储空间占用率的最小值进行调控。
153.基于此,在本说明书提供的一具体实施方式中,所述方法还包括:
154.在删除所述已占用存储空间中存储数据的过程中,检测所述本地存储器的剩余存储空间占用率;
155.在所述剩余存储空间占用率小于或等于第二预设存储阈值的情况下,停止删除所述已占用存储空间中的存储数据。
156.其中,第二预设存储阈值,是指本地存储器的存储空间占用率的最小值,用于表征本地存储器可进行存储的存储数据的下限。第二预设存储阈值的设置,同样根据实际应用情况进行设置,例如,数据存储系统释放存储空间的释放速度、数据存储系统的性能、数据存储系统的资源负载情况等。
157.具体地,在对已占用存储空间中的存储数据进行删除的过程中,对本地存储器的剩余存储空间占用率进行检测,在本地存储器的剩余存储空间占用率小于或等于第二预设存储阈值的情况下,停止删除已占用存储空间中的存储数据。
158.例如,第二预设存储阈值为10%,在对已占用存储空间中的存储数据进行删除的过程中,本地存储器的剩余存储空间占用率达到10%的情况下,则停止对已占用存储空间中的存储数据进行删除。
159.通过设置第一预设存储阈值,并在本地存储器的存储空间占用率达到第一预设阈值的情况下,对已占用存储空间中的存储数据进行释放,从而保证本地存储器的存储空间不被占满;在设置第一预设存储阈值的基础上,设置第二预设存储阈值,在对已占用存储空间中的存储数据进行删除的过程中,对可以进行删除的存储数据进行调控,以确定本地存储器中存储有数据,可以实现计算节点,或是用户客户端对本地存储器进行数据访问或读取,在保证本地存储器的存储空间不被占满的情况下,兼顾对本地存储器的数据访问性能。
160.进一步地,由于在实际应用中,不同的存储数据具有不同的数据存储需求,因此,可以根据数据存储需求进行确定是否需要将目标存储数据存储至共享存储器,也即,基于数据存储需求进行判断是否开启数据存储系统的动态混合存储功能。
161.在本说明书提供的一具体实施方式中,在将所述目标存储数据存储至所述共享存储器之前,所述方法还包括:
162.在所述本地存储器的已占用存储空间达到所述本地存储器的存储空间阈值的情况下,将所述目标存储数据存储至所述共享存储器;
163.在所述本地存储器的已占用存储空间未达到所述本地存储器的存储空间阈值的情况下,将所述目标存储数据存储至所述计算节点的副本节点。
164.其中,存储空间阈值,用于判断是否触发开启数据存储系统的动态混合存储功能,即是否需要将目标存储数据存储至共享存储器,一般小于本地存储器的总存储空间的大小。例如,存储空间阈值可以为本地存储器的总存储空间的80%等,相应的,若本地存储器
的总存储空间为2t,则存储空间阈值为1.6t。
165.具体地,在将目标存储数据存储至共享存储器之前,即未开启数据存储系统的动态混合存储功能的情况下,在将目标存储数据存储至本地存储器的过程中,对本地存储器的已占用存储空间进行检测,在本地存储器的已占用存储空间达到本地存储器的大小限额(即存储空间阈值)的情况下,则触发开启数据存储系统的动态混合存储功能,进而,则可以将目标存储数据存储至共享存储器。
166.需要进行说明的是,存储空间阈值并不是上述第一预设存储阈值,存储空间阈值的设定往往小于第一预设存储阈值的设定。在本地存储器的已占用存储空间达到存储空间阈值的情况下,即可将目标存储数据向共享存储器中进行存储,此时并不对本地存储器的已占用存储空间中的存储数据进行删除,而是在已占用存储空间达到本地存储器的第一预设存储阈值的情况下,才会将已占用存储空间中的存储数据进行删除,实现对已占用存储空间的释放。
167.若本地存储器的已占用存储空间未达到本地存储器的大小限额,则无需触发开启数据存储系统的动态混合存储功能,可以通过对目标存储数据进行分割,并设备滑动窗口的方式,将目标存储数据存储至计算节点的副本节点中。本说明书对本地存储器的已占用存储空间进行检测的方式不做限定。
168.通过在将目标存储数据存储至本地存储器的过程中,对本地存储器的已占用存储空间进行动态检测,从而根据本地存储器的已占用存储空间的使用情况,进行确定是否触发并开启数据存储系统的动态混合存储功能。
169.本说明书提供的数据存储方法,在本地存储器的已占用存储空间达到预设存储条件的情况下,释放本地存储器的已占用存储空间,可以使得本地存储器的存储空间不被占满,有利于新的存储数据的写入。
170.本说明书提供的数据存储方法,应用于数据存储系统中的计算节点,所述数据存储系统包括至少一个计算节点和共享存储器,所述至少一个计算节点上部署有本地存储器,所述共享存储器与所述至少一个计算节点通过网络连接;所述方法包括:获取目标存储数据;将所述目标存储数据存储至所述本地存储器和所述共享存储器;在所述本地存储器的已占用存储空间达到预设存储条件的情况下,释放所述本地存储器的已占用存储空间。
171.本说明的一个实施例实现了,将目标存储数据既在本地存储器进行存储,也在共享存储器进行存储,实现对存储数据的双重存储保障,避免存储数据丢失,也无需在进行数据存储前,提前部署大量的计算节点来存储数据,降低成本;并在将目标存储数据存储至共享存储器后,将本地存储器的存储数据进行删除,释放本地存储器的已占用存储空间,保证本地存储器的存储空间不被占满,可以使得新的存储数据进行写入;为了对本地存储器的存储空间进行调控,设置预设存储条件进行约束,使得在本地存储器的已占用存储空间达到预设存储条件的情况下,对本地存储器的已占用存储空间进行释放,使得本地存储器中存储有部分数据,可供计算节点或是用户客户端对本地存储器进行数据访问,在保证本地存储器的存储空间不被占满的情况下,兼顾本地存储器的数据访问性能。
172.与上述方法实施例相对应,本说明书还提供了数据存储装置实施例,图6示出了本说明书一个实施例提供的一种数据存储装置的结构示意图,该装置应用于数据存储系统中的计算节点,所述数据存储系统包括至少一个计算节点和共享存储器,所述至少一个计算
节点上部署有本地存储器,所述共享存储器与所述至少一个计算节点通过网络连接。如图6所示,该装置包括:
173.获取模块602,被配置为获取目标存储数据;
174.存储模块604,被配置为将所述目标存储数据存储至所述本地存储器和所述共享存储器;
175.释放模块606,被配置为在所述本地存储器的已占用存储空间达到预设存储条件的情况下,释放所述本地存储器的已占用存储空间。
176.可选的,所述存储模块604,进一步被配置为:
177.将所述目标存储数据存储至所述本地存储器;
178.在所述目标存储数据存储至所述本地存储器的情况下,将所述目标存储数据存储至所述共享存储器。
179.可选的,所述本地存储器包括至少一个存储块;
180.所述存储模块604,进一步被配置为:
181.基于各存储块的大小,对所述目标存储数据进行分割,得到多个子数据;
182.将各子数据分别存储至对应的存储块。
183.可选的,所述装置还包括:
184.数据分割模块,被配置为基于预设分割数据大小,对所述目标存储数据进行分割,获得至少一个分割存储数据;
185.数据存储模块,被配置为基于滑动窗口的宽度,将所述滑动窗口覆盖的分割存储数据存储至所述计算节点的副本节点;
186.指令响应模块,被配置为响应于所述副本节点的已接收指令,返回执行基于滑动窗口的宽度,将所述滑动窗口覆盖的分割存储数据存储至所述计算节点的副本节点的步骤,直至所述目标存储数据存储完成。
187.可选的,所述释放模块606,进一步被配置为:
188.基于预设时间间隔,确定所述本地存储器的存储空间占用率;
189.在所述存储空间占用率达到第一预设存储阈值的情况下,获取所述共享存储器中已存储数据列表;
190.基于所述已存储数据列表,删除所述已占用存储空间中的存储数据。
191.可选的,所述释放模块606,还被配置为:
192.在删除所述已占用存储空间中存储数据的过程中,检测所述本地存储器的剩余存储空间占用率;
193.在所述剩余存储空间占用率小于或等于第二预设存储阈值的情况下,停止删除所述已占用存储空间中的存储数据。
194.可选的,所述释放模块606,进一步被配置为:
195.基于所述已存储数据列表,在所述目标存储数据中确定待删除数据;
196.将所述待删除数据从所述已占用存储空间中删除。
197.可选的,所述装置还包括:
198.共享存储模块,被配置为在所述本地存储器的已占用存储空间达到所述本地存储器的存储空间阈值的情况下,将所述目标存储数据存储至所述共享存储器;
199.副本存储模块,被配置为在所述本地存储器的已占用存储空间未达到所述本地存储器的存储空间阈值的情况下,将所述目标存储数据存储至所述计算节点的副本节点。
200.本说明书提供的数据存储装置,应用于数据存储系统中的计算节点,所述数据存储系统包括至少一个计算节点和共享存储器,所述至少一个计算节点上部署有本地存储器,所述共享存储器与所述至少一个计算节点通过网络连接;所述装置包括:获取模块,被配置为获取目标存储数据;存储模块,被配置为将所述目标存储数据存储至所述本地存储器和所述共享存储器;释放模块,被配置为在所述本地存储器的已占用存储空间达到预设存储条件的情况下,释放所述本地存储器的已占用存储空间。
201.本说明的一个实施例实现了,将目标存储数据既在本地存储器进行存储,也在共享存储器进行存储,实现对存储数据的双重存储保障,避免存储数据丢失,也无需在进行数据存储前,提前部署大量的计算节点来存储数据,降低成本;并在将目标存储数据存储至共享存储器后,将本地存储器的存储数据进行删除,释放本地存储器的已占用存储空间,保证本地存储器的存储空间不被占满,可以使得新的存储数据进行写入;为了对本地存储器的存储空间进行调控,设置预设存储条件进行约束,使得在本地存储器的已占用存储空间达到预设存储条件的情况下,对本地存储器的已占用存储空间进行释放,使得本地存储器中存储有部分数据,可供计算节点或是用户客户端对本地存储器进行数据访问,在保证本地存储器的存储空间不被占满的情况下,兼顾本地存储器的数据访问性能。
202.上述为本实施例的一种数据存储装置的示意性方案。需要说明的是,该数据存储装置的技术方案与上述的数据存储方法的技术方案属于同一构思,数据存储装置的技术方案未详细描述的细节内容,均可以参见上述数据存储方法的技术方案的描述。
203.参见图7,图7示出了根据本说明书一个实施例提供的一种日志数据存储方法的流程图,具体包括以下步骤。
204.步骤702:所述计算节点获取用户客户端发送的目标日志数据,将所述目标日志数据存储至所述本地存储器和所述共享存储器。
205.所述日志数据存储方法应用于数据存储系统,所述数据存储系统包括至少一个计算节点和共享存储器,所述至少一个计算节点上部署有本地存储器,所述共享存储器与所述至少一个计算节点通过网络连接。
206.其中,目标日志数据,是指用户客户端发送的需要在数据存储系统中进行存储的日志数据。
207.具体地,计算节点可以在接收用户客户端发送的目标日志数据后,将目标日志数据存储至本地存储器和共享存储器,对目标日志数据进行存储的方法可参见上述数据存储方法所记载的内容,本说明书在此不再赘述。
208.步骤704:所述共享存储器接收并存储所述目标日志数据。
209.步骤706:所述计算节点在所述本地存储器的已占用存储空间达到预设存储条件的情况下,释放所述本地存储器的已占用存储空间,并向所述用户客户端发送存储完成提示信息。
210.其中,存储完成提示信息,是指在将目标日志数据存储至共享存储器后,向用户客户端发送的提示信息,用于提示用户目标日志数据已经存储完成。
211.计算节点在将目标日志数据存储至共享存储器后,即可向用户客户端发送存储完
成提示信息,以通知并提示用户目标日志数据已经存储至数据存储系统。
212.进一步地,以电商应用场景为例进行说明,计算节点接收用户客户端发送的电商日志数据,电商日志数据一般用于记载用户在电商场景下的用户行为信息,例如,商家的商品售卖行为记录等。计算节点在接收到用户终端发送的电商日志数据后,将电商日志数据存储至本地存储器和共享存储器,共享存储器在接收到电商日志数据后,对其进行数据存储。进而,计算节点对本地存储器的已占用存储空间的使用情况进行检测,在本地存储器的已占用存储空间达到预设存储条件的情况下,对本地存储器的已占用存储空间进行释放,并在电商日志数据存储完成的情况下,生成存储完成提示信息,将存储完成提示信息发送至用户客户端,以通知并提示商家,电商日志数据已经在数据存储系统中存储完成。
213.需要进行说明的是,在进行目标日志数据存储的过程中,不仅限于存储用户客户端发送的日志数据,也可以是数据存储系统在执行数据存储操作、数据读取操作等过程中所产生的日志数据,并对日志数据进行存储。
214.本说明书提供的日志数据存储方法,应用于数据存储系统,所述数据存储系统包括至少一个计算节点和共享存储器,所述至少一个计算节点上部署有本地存储器,所述共享存储器与所述至少一个计算节点通过网络连接;所述方法包括:所述计算节点获取用户客户端发送的目标日志数据,将所述目标日志数据存储至所述本地存储器和所述共享存储器;所述共享存储器接收并存储所述目标日志数据;所述计算节点在所述本地存储器的已占用存储空间达到预设存储条件的情况下,释放所述本地存储器的已占用存储空间,并向所述用户客户端发送存储完成提示信息。
215.本说明的一个实施例实现了,将目标日志数据既在本地存储器进行存储,也在共享存储器进行存储,实现对日志数据的双重存储,避免日志数据丢失,也无需在进行日志数据存储前,提前部署大量的计算节点来存储日志数据,降低成本;并在将目标日志数据存储至共享存储器后,将本地存储器的日志数据进行删除,释放本地存储器的已占用存储空间,保证本地存储器的存储空间不被占满,可以使得新的日志数据进行写入;为了对本地存储器的存储空间进行调控,设置预设存储条件进行约束,使得在本地存储器的已占用存储空间达到预设存储条件的情况下,对本地存储器的已占用存储空间进行释放,使得本地存储器中存储有部分日志数据,可供计算节点或是用户客户端对本地存储器进行数据访问,在保证本地存储器的存储空间不被占满的情况下,兼顾本地存储器的数据访问性能。
216.与上述方法实施例相对应,本说明书还提供了日志数据存储装置实施例,图8示出了本说明书一个实施例提供的一种日志数据存储装置的结构示意图,该装置应用于数据存储系统中的计算节点,所述数据存储系统包括至少一个计算节点和共享存储器,所述至少一个计算节点上部署有本地存储器,所述共享存储器与所述至少一个计算节点通过网络连接。如图8所示,该装置包括:
217.日志数据获取模块802,被配置为所述计算节点获取用户客户端发送的目标日志数据,将所述目标日志数据存储至所述本地存储器和所述共享存储器;
218.日志数据存储模块804,被配置为所述共享存储器接收并存储所述目标日志数据;
219.存储空间释放模块806,被配置为所述计算节点在所述本地存储器的已占用存储空间达到预设存储条件的情况下,释放所述本地存储器的已占用存储空间,并向所述用户客户端发送存储完成提示信息。
220.本说明的一个实施例实现了,将目标日志数据既在本地存储器进行存储,也在共享存储器进行存储,实现对日志数据的双重存储,避免日志数据丢失,也无需在进行日志数据存储前,提前部署大量的计算节点来存储日志数据,降低成本;并在将目标日志数据存储至共享存储器后,将本地存储器的日志数据进行删除,释放本地存储器的已占用存储空间,保证本地存储器的存储空间不被占满,可以使得新的日志数据进行写入;为了对本地存储器的存储空间进行调控,设置预设存储条件进行约束,使得在本地存储器的已占用存储空间达到预设存储条件的情况下,对本地存储器的已占用存储空间进行释放,使得本地存储器中存储有部分日志数据,可供计算节点或是用户客户端对本地存储器进行数据访问,在保证本地存储器的存储空间不被占满的情况下,兼顾本地存储器的数据访问性能。
221.上述为本实施例的一种日志数据存储装置的示意性方案。需要说明的是,该日志数据存储装置的技术方案与上述的日志数据存储方法的技术方案属于同一构思,日志数据存储装置的技术方案未详细描述的细节内容,均可以参见上述日志数据存储方法的技术方案的描述。
222.参见图9,图9示出了根据本说明书一个实施例提供的一种数据读取方法的流程图,具体包括以下步骤。
223.步骤902:响应于数据读取请求,在本地存储器中读取目标数据。
224.所述数据读取方法应用于数据存储系统中的计算节点,所述数据存储系统包括至少一个计算节点和共享存储器,所述至少一个计算节点上部署有本地存储器,所述共享存储器与所述至少一个计算节点通过网络连接。
225.其中,数据读取请求,是指向计算节点发送的进行读取数据存储系统中的存储数据的请求。目标数据,即为需要在数据存储系统中进行读取的存储数据。目标数据可以携带于数据读取请求中。
226.具体地,计算节点接收数据读取请求,并响应于数据读取请求,在本地存储器中读取需要进行读取的目标数据。
227.参见图4,图4示出了根据本说明书一个实施例提供的一种块存储空间的结构示意图。如图4所示,块存储空间包括多个存储块,各存储块对应有存储块逻辑标识。在将存储数据向各存储块中进行存储的过程中,可以对存储数据进行切分,将切分获得的子数据采用并行存储的方式,向不同的存储块中分别进行存储数据,直至存储数据存储完成。也即,对于一份存储数据,可以存储至多个存储块中。相应的,在实际进行存储的过程中,可以采用多份存储数据向存储块中进行并发存储的方式进行存储,从而提高存储效率。
228.在本说明书提供一具体实施方式中,所述本地存储器包括至少一个存储块;
229.在本地存储器中读取目标数据,包括:
230.基于数据读取位置和所述至少一个存储块的大小,确定目标存储块标识;
231.基于所述目标存储块标识和所述目标数据的数据名称,确定目标存储块;
232.在所述目标存储块中读取所述目标数据。
233.其中,数据读取位置,是指开始读取目标数据的读取位置,具体可以为目标数据的某一字节。目标存储块标识,是指至少一个存储块中任一存储块对应的存储块逻辑标识。目标存储块,是指用于存储目标数据的存储块。
234.具体地,首先根据目标数据的数据读取位置,和各存储块的大小,进行确定目标存
储块标识,再根据目标存储块标识和目标数据的数据名称,确定用于存储目标数据的目标存储块,进而,即可在目标存储块中读取目标数据。
235.以一个存储块的大小为64m为例进行说明,存储块的大小为64m,即存储块的大小为67108864字节(1m=1024k,1k=1024字节)。若目标数据的长度为671088640字节,可以计算获得目标数据所存储占用的存储块的数量=671088640/67108864=10个,例如,需要读取的目标数据的数据读取位置为第67108865字节,则可以确定目标存储块标识为2。由于在块存储空间中,目标存储块标识为2的存储块并不唯一,因此,仅基于目标存储块标识并不能确定用于存储目标数据的存储块。在此基础上,基于目标存储块标识为2,以及目标数据的数据名称,在目标存储块标识为2的存储块中,根据目标数据的数据名称,即可确定存储目标数据的目标存储块,并在目标存储块中进行读取目标数据。
236.基于上述数据存储方法所述内容,计算节点在将目标存储数据存储至共享存储器后,会对本地存储器的已占用存储空间进行释放,因此,在计算节点对本地存储器进行数据读取时(也即对存储块进行读取),可能会存在读取不到的情况,此时则需要在共享存储器中继续进行读取目标数据。
237.步骤904:在所述本地存储器中未读取到所述目标数据的情况下,在所述共享存储器中读取所述目标数据。
238.在本说明书提供的数据存储方法中,计算节点在将目标存储数据存储至共享存储器后,会在本地存储器的已占用存储空间达到预设存储条件的情况下,对本地存储器的已占用存储空间进行释放,因此,在计算节点响应于数据读取请求,对本地存储器进行数据读取时,可能会导致计算节点无法读取到目标数据。在这种情况下,计算节点可以对共享存储器进行数据访问,以实现对目标数据的读取。
239.在本说明书提供的一具体实施方式中,在所述共享存储器中读取所述目标数据,包括:
240.基于数据读取位置和所述本地存储器的至少一个缓存页的大小,在所述共享存储器中读取所述目标数据,并将所述目标数据缓存至所述至少一个缓存页。
241.具体地,根据目标数据的数据读取位置,和各缓存页的大小,确定一次读取的数据长度为从数据读取位置至一个缓存页大小位置的数据长度,将该数据长度的目标数据加载至缓存页中进行读取,以此类推,直至目标数据读取完成。
242.以一个缓存页的大小为4k为例进行说明,缓存页的大小为4k,即缓存页的大小为4096字节(1k=1024字节)。例如,需要进行读取的目标数据的数据读取位置为第1字节,则,一次读取的数据长度为4096字节,也即,第一次进行读取的目标数据为第1字节至第4096字节的数据,第二次进行读取的目标数据为第4097字节至第8192字节,
……
以此类推,直至目标数据读取完成。
243.计算节点在向共享存储器进行读取目标数据的过程中,将目标数据加载至缓存页中进行读取,可以加速计算节点对共享存储器的数据读取速度,提高数据读取效率。
244.进一步地,在本说明书提供的一具体实施方式中,所述方法还包括;
245.基于数据读取位置和所述至少一个缓存页的大小,确定目标缓存页标识;
246.基于所述目标缓存页标识和所述目标数据的数据名称,确定目标缓存页;
247.在所述目标缓存页中读取所述目标数据。
248.其中,目标缓存页标识,是指至少一个缓存页中任一缓存页对应的缓存页逻辑标识。目标缓存页,是指用于存储目标数据的缓存页。
249.具体地,首先根据目标数据的数据读取位置,和各缓存页的大小,进行确定目标缓存页标识,再根据目标缓存页标识和目标数据的数据名称,确定用于缓存目标数据的目标缓存页,进而,即可在目标缓存页中读取目标数据。
250.参见图5,图5示出了根据本说明书一个实施例提供的一种页缓存空间的结构示意。如图5所示,页缓存空间包括多个缓存分区,各缓存分区中包括多个缓存页,各缓存页对应有缓存页逻辑标识。
251.沿用上例,以缓存页大小为4k(4096字节)为例进行说明。若目标数据的长度为409600字节,可以计算获得目标数据所缓存占用的缓存页的数量=409600/4096=100个,例如,需要读取的目标数据的数据读取位置为第4090字节,则可以确定目标缓存页标识为1。由于在页缓存空间中,目标缓存页标识为1的缓存页并不唯一,因此,仅基于目标缓存页标识并不能确定用于缓存目标数据的缓存页。在此基础上,基于目标缓存页标识为1,以及目标数据的数据名称,在目标缓存页标识为1的缓存页中,根据目标数据的数据名称,即可确定缓存目标数据的目标缓存页,并在目标缓存页中进行读取目标数据。
252.进一步地,在对共享存储器中的数据进行读取时,为了提高对共享存储器中的数据的读取加速,需要将共享存储器中的数据加载并缓存至缓存页进行读取,但由于页缓存空间有限,在将数据缓存至缓存页的过程中,需要对已缓存的页缓存空间进行释放。
253.具体地,释放已缓存的页缓存空间可以基于淘汰算法进行释放,可以采用先入先出算法对缓存在缓存页中的数据进行删除,即,在有新的数据写入缓存页,且页缓存空间中已缓存的缓存页的数量达到上限,则可以将最先缓存至缓存页的数据进行删除,再将新的数据进行写入。也可以基于各缓存页中数据的访问量,对各缓存页中的数据进行删除,例如,可以将各缓存页中访问量最低的数据进行删除。
254.通过对各缓存页中的数据进行删除,实现对页缓存空间的释放,以使得新的数据可以写入至缓存页,从而不影响对共享存储器中的数据进行读取。
255.本说明书提供的数据读取方法,在对数据进行读取时,按照先从本地存储器进行读取,若在本地存储器中未读取到目标数据,则向共享存储器进行读取,在使得本地存储器的存储空间不被占满的情况下,兼顾计算节点对数据的访问功能。
256.更进一步地,由于在对共享存储器进行数据读取后,会将目标数据暂时缓存至缓存页中,缓存于缓存页中的目标数据的删除依赖于淘汰算法,而不是缓存后立刻进行删除,因此,若在存储块中未读取到目标数据,可以在缓存页中进行读取目标数据,若在存储块和缓存页中均未读取到目标数据,则在共享存储器中进行读取目标数据。
257.本说明书提供的数据读取方法,应用于数据存储系统中的计算节点,所述数据存储系统包括至少一个计算节点和共享存储器,所述至少一个计算节点上部署有本地存储器,所述共享存储器与所述至少一个计算节点通过网络连接;所述方法包括:响应于数据读取请求,在本地存储器中读取目标数据;在所述本地存储器中未读取到所述目标数据的情况下,在所述共享存储器中读取所述目标数据。
258.本说明的一个实施例实现了,通过先在本地存储器中进行数据读取,再在共享存储器中进行数据读取,避免出现本地存储器中的存储数据还未进行删除,就直接在共享存
储器中进行读取数据的情况,从而提高数据读取速度。
259.与上述方法实施例相对应,本说明书还提供了数据读取装置实施例,图10示出了本说明书一个实施例提供的一种数据读取装置的结构示意图,该装置应用于数据存储系统中的计算节点,所述数据存储系统包括至少一个计算节点和共享存储器,所述至少一个计算节点上部署有本地存储器,所述共享存储器与所述至少一个计算节点通过网络连接。如图10所示,该装置包括:
260.本地读取模块1002,被配置为响应于数据读取请求,在本地存储器中读取目标数据;
261.共享读取模块1004,被配置为在所述本地存储器中未读取到所述目标数据的情况下,在所述共享存储器中读取所述目标数据。
262.可选的,所述本地存储器包括至少一个存储块;
263.所述本地读取模块1002,进一步被配置为:
264.基于数据读取位置和所述至少一个存储块的大小,确定目标存储块标识;
265.基于所述目标存储块标识和所述目标数据的数据名称,确定目标存储块;
266.在所述目标存储块中读取所述目标数据。
267.可选的,所述共享读取模块1004,进一步被配置为:
268.基于数据读取位置和所述本地存储器的至少一个缓存页的大小,在所述共享存储器中读取所述目标数据,并将所述目标数据缓存至所述至少一个缓存页。
269.可选的,所述本地读取模块1002,还被配置为;
270.基于数据读取位置和所述至少一个缓存页的大小,确定目标缓存页标识;
271.基于所述目标缓存页标识和所述目标数据的数据名称,确定目标缓存页;
272.在所述目标缓存页中读取所述目标数据。
273.本说明书提供的数据读取装置,应用于数据存储系统中的计算节点,所述数据存储系统包括至少一个计算节点和共享存储器,所述至少一个计算节点上部署有本地存储器,所述共享存储器与所述至少一个计算节点通过网络连接;所述装置包括:本地读取模块,被配置为响应于数据读取请求,在本地存储器中读取目标数据;共享读取模块,被配置为在所述本地存储器中未读取到所述目标数据的情况下,在所述共享存储器中读取所述目标数据。
274.本说明的一个实施例实现了,通过先在本地存储器中进行数据读取,再在共享存储器中进行数据读取,避免出现本地存储器中的存储数据还未进行删除,就直接在共享存储器中进行读取数据的情况,从而提高数据读取速度。
275.上述为本实施例的一种数据读取装置的示意性方案。需要说明的是,该数据读取装置的技术方案与上述的数据读取方法的技术方案属于同一构思,数据读取装置的技术方案未详细描述的细节内容,均可以参见上述数据读取方法的技术方案的描述。
276.参见图11,图11示出了根据本说明书一个实施例提供的一种日志数据读取方法的流程图,具体包括以下步骤。
277.步骤1102:所述计算节点响应于用户客户端发送的数据读取请求,在本地存储器中读取目标日志数据,在所述本地存储器中未读取到所述目标日志数据的情况下,在所述共享存储器中读取所述目标日志数据。
278.所述日志数据读取方法应用于数据存储系统,所述数据存储系统包括至少一个计算节点和共享存储器,所述至少一个计算节点上部署有本地存储器,所述共享存储器与所述至少一个计算节点通过网络连接。
279.具体地,计算节点可以在接收用户客户端发送的数据读取请求后,先在本地存储器中进行读取目标日志数据,在本地存储器中未读取到目标日志数据的情况下,则可以在共享存储器中进行读取目标日志数据,对目标日志数据进行读取的方法可参见上述数据读取方法所记载的内容,本说明书在此不再赘述。
280.步骤1104:所述共享存储器将所述目标日志数据发送至所述计算节点。
281.共享存储器将计算节点需要读取的目标日志数据发送至计算节点,以使得计算节点对目标日志数据进行数据读取。
282.步骤1106:所述计算节点将所述目标日志数据反馈至所述用户客户端。
283.计算节点在获取目标日志数据后,将目标日志数据反馈至用户客户端。
284.进一步地,以电商应用场景为例进行说明,计算节点接收用户客户端发送的数据读取请求,响应于数据读取请求,先在本地存储器中进行读取电商日志数据,电商日志数据一般用于记载用户在电商场景下的用户行为信息,例如,商家的商品售卖行为记录等。计算节点若在本地存储器中未读取到电商日志数据,则可以进一步在共享存储器中进行读取,共享存储器将电商日志数据发送给计算节点,以使得计算节点将电商日志数据反馈给用户客户端,实现商家对电商日志数据的获取。
285.需要进行说明的是,在进行目标日志数据读取的过程中,不仅限于读取用户客户端发送的日志数据,也可以是数据存储系统在执行数据存储操作、数据读取操作等过程中所产生的日志数据,并对日志数据进行读取。
286.本说明书提供的日志数据读取方法,应用于数据存储系统,所述数据存储系统包括至少一个计算节点和共享存储器,所述至少一个计算节点上部署有本地存储器,所述共享存储器与所述至少一个计算节点通过网络连接;所述方法包括:所述计算节点响应于用户客户端发送的数据读取请求,在本地存储器中读取目标日志数据,在所述本地存储器中未读取到所述目标日志数据的情况下,在所述共享存储器中读取所述目标日志数据;所述共享存储器将所述目标日志数据发送至所述计算节点;所述计算节点将所述目标日志数据反馈至所述用户客户端。
287.本说明的一个实施例实现了,通过先在本地存储器中进行目标日志数据读取,再在共享存储器中进行目标日志数据读取,避免出现本地存储器中的目标日志数据还未进行删除,就直接在共享存储器中进行读取目标日志数据的情况,从而提高数据读取速度。
288.与上述方法实施例相对应,本说明书还提供了日志数据读取装置实施例,图12示出了本说明书一个实施例提供的一种日志数据读取装置的结构示意图,该装置应用于数据存储系统中的计算节点,所述数据存储系统包括至少一个计算节点和共享存储器,所述至少一个计算节点上部署有本地存储器,所述共享存储器与所述至少一个计算节点通过网络连接。如图12所示,该装置包括:
289.日志数据读取模块1202,被配置为所述计算节点响应于用户客户端发送的数据读取请求,在本地存储器中读取目标日志数据,在所述本地存储器中未读取到所述目标日志数据的情况下,在所述共享存储器中读取所述目标日志数据;
290.日志数据发送模块1204,被配置为所述共享存储器将所述目标日志数据发送至所述计算节点;
291.日志数据反馈模块1206,被配置为所述计算节点将所述目标日志数据反馈至所述用户客户端。
292.本说明的一个实施例实现了,通过先在本地存储器中进行目标日志数据读取,再在共享存储器中进行目标日志数据读取,避免出现本地存储器中的目标日志数据还未进行删除,就直接在共享存储器中进行读取目标日志数据的情况,从而提高数据读取速度。
293.上述为本实施例的一种日志数据读取装置的示意性方案。需要说明的是,该日志数据读取装置的技术方案与上述的日志数据读取方法的技术方案属于同一构思,日志数据读取装置的技术方案未详细描述的细节内容,均可以参见上述日志数据读取方法的技术方案的描述。
294.图13示出了根据本说明书一个实施例提供的一种计算设备1300的结构框图。该计算设备1300的部件包括但不限于存储器1310和处理器1320。处理器1320与存储器1310通过总线1330相连接,数据库1350用于保存数据。
295.计算设备1300还包括接入设备1340,接入设备1340使得计算设备1300能够经由一个或多个网络1360通信。这些网络的示例包括公用交换电话网(pstn,publicswitched telephonenetwork)、局域网(lan,localareanetwork)、广域网(wan,wideareanetwork)、个域网(pan,personalareanetwork)或诸如因特网的通信网络的组合。接入设备1340可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic,networkinterface controller))中的一个或多个,诸如ieee802.11无线局域网(wlan,wirelesslocalarea network)无线接口、全球微波互联接入(wi-max,worldwideinteroperabilityformicrowave access)接口、以太网接口、通用串行总线(usb,universalserialbus)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc,nearfieldcommunication)。
296.在本说明书的一个实施例中,计算设备1300的上述部件以及图13中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图13所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
297.计算设备1300可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或个人计算机(pc,personalcomputer)的静止计算设备。计算设备1300还可以是移动式或静止式的服务器。
298.其中,处理器1320用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述方法的步骤。
299.上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述方法的技术方案的描述。
300.本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述方法的步骤。
301.上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述方法的技术方案的描述。
302.本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述方法的步骤。
303.上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述的方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述方法的技术方案的描述。
304.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
305.所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据专利实践的要求进行适当的增减,例如在某些地区,根据专利实践,计算机可读介质不包括电载波信号和电信信号。
306.需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
307.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
308.以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。

技术特征:
1.一种数据存储方法,应用于数据存储系统中的计算节点,所述数据存储系统包括至少一个计算节点和共享存储器,所述至少一个计算节点上部署有本地存储器,所述共享存储器与所述至少一个计算节点通过网络连接;所述方法包括:获取目标存储数据;将所述目标存储数据存储至所述本地存储器和所述共享存储器;在所述本地存储器的已占用存储空间达到预设存储条件的情况下,释放所述本地存储器的已占用存储空间。2.如权利要求1所述的方法,所述本地存储器包括至少一个存储块;将所述目标存储数据存储至所述本地存储器,包括:基于各存储块的大小,对所述目标存储数据进行分割,得到多个子数据;将各子数据分别存储至对应的存储块。3.如权利要求1所述的方法,所述方法还包括:基于预设分割数据大小,对所述目标存储数据进行分割,获得至少一个分割存储数据;基于滑动窗口的宽度,将所述滑动窗口覆盖的分割存储数据存储至所述计算节点的副本节点;响应于所述副本节点的已接收指令,返回执行基于滑动窗口的宽度,将所述滑动窗口覆盖的分割存储数据存储至所述计算节点的副本节点的步骤,直至所述目标存储数据存储完成。4.如权利要求1所述的方法,在所述本地存储器的已占用存储空间达到预设存储条件的情况下,释放所述本地存储器的已占用存储空间,包括:基于预设时间间隔,确定所述本地存储器的存储空间占用率;在所述存储空间占用率达到第一预设存储阈值的情况下,获取所述共享存储器中已存储数据列表;基于所述已存储数据列表,删除所述已占用存储空间中的存储数据。5.如权利要求4所述的方法,所述方法还包括:在删除所述已占用存储空间中存储数据的过程中,检测所述本地存储器的剩余存储空间占用率;在所述剩余存储空间占用率小于或等于第二预设存储阈值的情况下,停止删除所述已占用存储空间中的存储数据。6.如权利要求1所述的方法,在将所述目标存储数据存储至所述共享存储器之前,所述方法还包括:在所述本地存储器的已占用存储空间达到所述本地存储器的存储空间阈值的情况下,将所述目标存储数据存储至所述共享存储器;在所述本地存储器的已占用存储空间未达到所述本地存储器的存储空间阈值的情况下,将所述目标存储数据存储至所述计算节点的副本节点。7.一种数据读取方法,应用于数据存储系统中的计算节点,所述数据存储系统包括至少一个计算节点和共享存储器,所述至少一个计算节点上部署有本地存储器,所述共享存储器与所述至少一个计算节点通过网络连接;所述方法包括:响应于数据读取请求,在本地存储器中读取目标数据;
在所述本地存储器中未读取到所述目标数据的情况下,在所述共享存储器中读取所述目标数据。8.如权利要求7所述的方法,所述本地存储器包括至少一个存储块;在本地存储器中读取目标数据,包括:基于数据读取位置和所述至少一个存储块的大小,确定目标存储块标识;基于所述目标存储块标识和所述目标数据的数据名称,确定目标存储块;在所述目标存储块中读取所述目标数据。9.如权利要求7所述的方法,在所述共享存储器中读取所述目标数据,包括:基于数据读取位置和所述本地存储器的至少一个缓存页的大小,在所述共享存储器中读取所述目标数据,并将所述目标数据缓存至所述至少一个缓存页。10.如权利要求9所述的方法,所述方法还包括;基于数据读取位置和所述至少一个缓存页的大小,确定目标缓存页标识;基于所述目标缓存页标识和所述目标数据的数据名称,确定目标缓存页;在所述目标缓存页中读取所述目标数据。11.一种数据存储系统,所述数据存储系统包括至少一个计算节点和共享存储器,所述至少一个计算节点上部署有本地存储器,所述共享存储器与所述至少一个计算节点通过网络连接;所述计算节点,被配置为获取目标存储数据,将所述目标存储数据存储至所述本地存储器和所述共享存储器;所述共享存储器,被配置为接收并存储所述目标存储数据;所述计算节点,进一步被配置为在所述本地存储器的已占用存储空间达到预设存储条件的情况下,释放所述本地存储器的已占用存储空间。12.一种日志数据存储方法,应用于数据存储系统,所述数据存储系统包括至少一个计算节点和共享存储器,所述至少一个计算节点上部署有本地存储器,所述共享存储器与所述至少一个计算节点通过网络连接;所述方法包括:所述计算节点获取用户客户端发送的目标日志数据,将所述目标日志数据存储至所述本地存储器和所述共享存储器;所述共享存储器接收并存储所述目标日志数据;所述计算节点在所述本地存储器的已占用存储空间达到预设存储条件的情况下,释放所述本地存储器的已占用存储空间,并向所述用户客户端发送存储完成提示信息。13.一种日志数据读取方法,应用于数据存储系统,所述数据存储系统包括至少一个计算节点和共享存储器,所述至少一个计算节点上部署有本地存储器,所述共享存储器与所述至少一个计算节点通过网络连接;所述方法包括:所述计算节点响应于用户客户端发送的数据读取请求,在本地存储器中读取目标日志数据,在所述本地存储器中未读取到所述目标日志数据的情况下,在所述共享存储器中读取所述目标日志数据;所述共享存储器将所述目标日志数据发送至所述计算节点;所述计算节点将所述目标日志数据反馈至所述用户客户端。14.一种计算设备,包括:
存储器和处理器;所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至6或者7至10任意一项所述方法的步骤。

技术总结
本说明书实施例提供数据存储方法、数据读取方法以及数据存储系统,其中数据存储方法应用于数据存储系统中的计算节点,数据存储系统包括至少一个计算节点和共享存储器,至少一个计算节点上部署有本地存储器,共享存储器与至少一个计算节点通过网络连接;方法包括:获取目标存储数据;将目标存储数据存储至本地存储器和共享存储器;在本地存储器的已占用存储空间达到预设存储条件的情况下,释放本地存储器的已占用存储空间。通过将目标存储数据存储至本地存储器和共享存储器,无需在进行数据存储前,提前部署大量的计算节点来存储数据,降低成本;对本地存储器的已占用存储空间进行释放,使得本地存储器的存储空间不被占满。使得本地存储器的存储空间不被占满。使得本地存储器的存储空间不被占满。


技术研发人员:郭嘉梁 罗荣华 吴昊天 赵帅兵 邓万禧
受保护的技术使用者:阿里巴巴(中国)有限公司
技术研发日:2023.04.26
技术公布日:2023/8/28
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐