一种数据访问方法及相关装置与流程
- 国知局
- 2024-10-21 14:25:01
本技术涉及信息技术(information technology,it)、存储,尤其涉及一种数据访问方法及相关装置。
背景技术:
1、随着存储技术的发展,用户(包含个体用户、企业、组织等)保存的数据可能会被存储在远端的存储设备中。存储在远端的存储设备的数据可以通过全局文件系统(globalfile system,gfs)来进行管理。gfs是用来管理文件系统的技术,其通过统一的元数据格式描述位于不同存储设备上的文件系统的层次结构和属性,使得多台存储设备上的不同的文件系统形成一个统一的全局文件系统,并使得用户看到包含该多个不同的文件系统的层次结构的全局文件视图。gfs可以使得多台存储设备上的文件系统中的数据能够自由流动,有效地减少跨存储设备的文件管理带来的复杂性。在gfs中,用户可以通过gfs提供的全局文件视图来访问全局文件系统中的数据(例如,用户通过计算设备接入gfs,并通过计算设备呈现的gfs的全局文件视图来访问gfs)。
2、目前,接入全局文件系统的计算设备在数据访问时通常基于消息系统来进行访问,消息系统作为中间设备实现了计算设备与gfs中的远端或本地的存储设备的通信。消息系统使得gfs易于扩展;但是,通过消息系统来实现数据流动过程中的通信,需要多轮的消息交互,使得时延增加,影响数据流动的效率。
技术实现思路
1、本技术实施例提供了一种数据访问方法及相关装置,能够降低数据流动的时延,提升数据流动的效率。
2、第一方面,本技术实施例提供一种数据访问方法,该方法包括:
3、接收第一访问请求,所述第一访问请求用于访问第一文件系统中的第一数据,且所述第一访问请求遵循基于http的存储访问协议;
4、通过第二访问请求访问第一存储空间以访问所述第一数据,其中,第二访问请求遵循基于文件系统的存储访问协议。其中,第一存储空间属于第一存储设备,第一存储设备在所述第一存储空间中存储第一文件系统的数据。
5、该方法可以应用于数据访问装置,该数据访问装置与第一存储设备通信,该数据访问装置提供基于http的存储访问协议的访问接口。
6、目前的gfs中,源设备(即共享自身存储的文件系统的设备)将文件系统的元数据保存到中心的存储服务(以下简称为中心服务),gfs中的各个分散的设备通过中心服务来进行元数据和数据流转,并通过消息系统来进行交互。在数据从一端流向另一端时(包含从源设备流向其他设备,或者从其他设备流向源设备),由于gfs中源设备和其他设备之间不直接感知,因此数据流动时需要通过中心服务来暂存,而且数据的变更(推送数据、暂存数据、拉取数据等)需要通过消息系统来通知。首先,数据流动的起始端需要通知中心服务数据已推送,而中心服务也需要通过消息系统来通知数据流动的终点端,使得终点端在接收到消息后再从中心服务上下载数据。此时,数据流动的两端(即两个data point)加上中心服务,使得整个数据流动的过程时延是翻倍的,而且由于数据需要暂存在中心服务,因此元数据和数据会重新保存,带来空间浪费。
7、而本技术实施例中,第一文件系统的数据存储在第一存储设备的第一存储空间中,对于第一文件系统的数据的访问可以通过数据访问装置来实现。数据访问装置不存储第一文件系统的数据,而是与存储第一文件系统的设备相连,并对外提供基于http的存储访问协议。当远端的设备需要访问第一文件系统的第一数据时,通过基于http的存储访问协议发起访问请求,该访问请求被数据访问装置接收。该数据访问装置接收访问请求后,通过文件系统的存储访问协议来访问第一存储空间中的第一数据,从而降低数据访问过程中的消息交互,降低了数据流动的时延且数据访问装置上不对第一数据进行本地保存,提升了数据流动的效率,降低了空间浪费。一些场景中,任一设备通过一轮消息交互(即发送访问请求)即可访问远端存储设备中的数据。
8、另外,发起访问请求的设备与第一存储设备之间可以相互不感知,即互相解耦,增加了系统的灵活性和可扩展性。
9、可选的,第一访问请求来自第一计算设备。第一计算设备102是能够对第一文件的系统中的文件的数据发起访问请求的设备,可以具有计算能力和通信能力。例如,第一计算设备可以为存储设备、用户终端(例如手机、个人计算机等)、服务、或机房设备等中的一项或者多项。示例性的,第一计算设备可以包含于第二存储设备(例如,第一计算设备可以是第二计算设备的控制器),第一计算设备也可以是与第二存储设备相连的主机,这里的相连是指通过线路相连或者通过网络(例如包含交换机的网络)相连。
10、在第一方面的又一种可能的实施方式中,访问包含读取(包含查询)、和写入,其中写入可以为增加、修改和删除等中的一项或者多项。
11、可选的,数据访问装置与第一存储设备通信包含:数据访问装置包含于第一存储设备。例如,第一访问空间通过第一存储设备中的控制器控制,数据访问装置与第一存储设备中的控制器通过总线连接。
12、或者可选的,数据方位装置与第一存储设备通信包含:数据访问装置与第一存储设备独立设置,但二者通信连接。这里的通信连接可以为有线链路连接或无线链路连接。例如通过交换机连接等。
13、在第一方面的又一种可能的实施方式中,所述数据访问装置具有第二存储空间,所述第二存储空间用于存储所述第一文件系统的元数据。
14、由于数据访问装置不需要存储第一文件系统的数据,而文件系统的元数据的数据大小远小于文件系统的数据,因此,将二者分开进行存储既不占用数据访问装置的太多空间,还能够实现数据和元数据的解耦,提升灵活性。一些场景中,第一文件系统的元数据和第一文件系统的数据分开存储,可以便于共享第一文件系统的元数据从而在其他设备上展示文件视图。
15、在第一方面的又一种可能的实施方式中,所述第一访问请求来自第一计算设备,所述方法还包括:
16、将所述第一文件系统的元数据提供给所述第一计算设备,所述第一文件系统的元数据被所述第一计算设备用于生成所述第一文件系统的文件视图。
17、上述实施方式中,第一文件系统的元数据有数据访问装置来共享,可以便于远端的多个通过元数据建立文件视图,从而按需存取自己需要的文件的数据,实现文件便捷共享和快速访问。
18、在第一方面的又一种可能的实施方式中,所述第一文件系统的元数据包含多条记录,多条记录中的每条记录包含第一文件系统中的一个节点的标识、一个节点的父节点的标识和一个节点的属性。其中,一个节点为一个文件或一个目录。第一文件系统中包含多个节点,这多个节点包含一个或者多个文件,和/或,一个或者多个目录。
19、在上述实施方式中,通过记录可以确定节点本身的属性及其对应的父节点。其他设备,例如第一计算设备,在获取了元数据以后,可以通过父节点-子节点的关系反映了节点的层次关系,根据元数据可以还原文件系统的树形组织结构,生成第一文件系统的文件视图。
20、进一步的,第一元数据流为流式结构,流式结构具有以下特征:只读、只增、有序,其中“只读”是指流式结构中的记录的值只能读取而无法修改;“只增”指示流式结构中只能追加新的记录而无法删除已有的记录,但属于同一个节点的多条记录可以被合并成一条记录;“有序”是指流式结构中的记录具有逻辑顺序,追加的记录在流式结构的尾部增加。流式结构的元数据的表达方式可以动态地反映文件系统的变化。
21、在第一方面的又一种可能的实施方式中,所述第一访问请求用于读取所述第一数据;
22、所述通过第二访问请求访问所述第一存储空间以访问所述第一数据,包括:
23、通过所述第二访问请求,从所述第一存储空间读取所述第一数据;
24、所述方法还包括:向第一计算设备返回响应消息,所述响应消息包括所述第一数据,且所述响应消息遵循所述基于http的存储访问协议。
25、在第一方面的又一种可能的实施方式中,所述第一访问请求用于读取所述第一数据;
26、所述通过第二访问请求访问所述第一存储空间以访问所述第一数据,包括:
27、通过所述第二访问请求,从所述第一存储空间读取所述第一数据;
28、所述方法还包括:向第一计算设备返回响应消息,所述响应消息包括所述第一数据,且所述响应消息遵循所述基于http的存储访问协议。
29、在第一方面的又一种可能的实施方式中,所述方法还包括:
30、在所述第二存储空间中更新所述第一文件系统的元数据。
31、在文件系统中有文件的属性变更、文件的数据变更和文件的层次关系变更时,数据访问装置可以更新第一文件系统的元数据,从而可以使得元数据与数据本技术的属性保持一致,提升系统的数据一致性和稳定性。
32、在第一方面的又一种可能的实施方式中,所述方法还包括:
33、根据所述第一文件系统的元数据,确定所述第一数据在所述第一文件系统中的存储位置;
34、根据所述存储位置构造所述第二访问请求。
35、一些场景中,第一文件系统的元数据中包含第一数据的元数据(或第一数据对应的文件的元数据)。第一数据的元数据可以包含第一数据的逻辑存储地址和/或物理存储地址。数据访问装置根据第一文件系统的元数据,确定第一数据的存储位置。
36、例如,用户发起对file1的访问请求,访问请求包含指示file1的信息,例如file1的inode号、名称、或访问路径等中的一项或者多项。数据访问装置根据指示file1的信息,确定file1的数据在第一文件系统中的本地存储位置(例如本地inode号)。数据访问装置可以基于文件系统的访问协议,确定第二访问请求,该第二访问请求指向file1的数据的本地存储位置,从而访问file1的数据。
37、在第一方面的又一种可能的实施方式中,所述基于http的存储访问协议包括基于对象的存储访问协议。
38、在第一方面的又一种可能的实施方式中,所述基于对象的存储访问协议包括简单存储服务s3或webdav。
39、在第一方面的又一种可能的实施方式中,所述数据访问装置位于所述第一存储设备上。进一步的,第一存储空间和所述第二存储空间是所述第一存储设备上不同的存储空间。通过两块不同的存储空间,可以将元数据和数据分开存储,实现数据和元数据的解耦,提升灵活性。
40、在第一方面的又一种可能的实施方式中,所述第一计算设备与所述第一存储设备位于不同的数据中心。进一步的,当第一计算设备属于第二存储设备(例如第一计算设备为第二存储设备或第一计算设备包含于第二存储设备)的情况下,所述第二存储设备与所述第一存储设备位于不同的数据中心。
41、在第一方面的又一种可能的实施方式中,所述第一计算设备属于第二存储设备且所述第二存储设备与所述第一存储设备异构。
42、第二方面,本技术实施例提供一种数据访问装置,其特征在于,所述数据访问装置与第一存储设备通信,所述第一存储设备的第一存储空间中存储了第一文件系统的数据,所述数据访问装置提供基于http的存储访问协议的访问接口;
43、所述数据访问装置包含通信单元和处理单元,该数据访问装置用于实现第一方面任一项所描述的方法。
44、在第二方面的一种可能的实施方式中,所述通信单元用于接收第一访问请求,所述第一访问请求用于访问所述第一文件系统中的第一数据,且所述第一访问请求遵循所述基于http的存储访问协议;
45、所述处理单元用于通过第二访问请求访问所述第一存储空间以访问所述第一数据,其中,所述第二访问请求遵循基于文件系统的存储访问协议。
46、在第二方面的又一种可能的实施方式中,所述第一访问请求来自第一计算设备,所述通信单元还用于将所述第一文件系统的元数据提供给所述第一计算设备,所述第一文件系统的元数据被所述第一计算设备用于生成所述第一文件系统的文件视图。
47、在第二方面的又一种可能的实施方式中,所述数据访问装置具有第二存储空间,所述第二存储空间用于存储所述第一文件系统的元数据。
48、在第二方面的一种可能的实施方式中,所述第一文件系统的元数据包含多条记录,多条记录中的每条记录包含第一文件系统中的一个节点的标识、所述一个节点的父节点的标识和所述一个节点的属性,所述一个节点为一个文件或一个目录。
49、在第二方面的又一种可能的实施方式中,所述第一访问请求用于读取所述第一数据;
50、所述处理单元还用于通过所述第二访问请求,从所述第一存储空间读取所述第一数据;
51、所述通信单元还用于向第一计算设备返回响应消息,所述响应消息包括所述第一数据,且所述响应消息遵循所述基于http的存储访问协议。
52、在第二方面的又一种可能的实施方式中,所述第一访问请求用于写入所述第一数据;
53、所述处理单元,还用于通过所述第二访问请求,在所述第一存储空间中写入所述第一数据。
54、在第二方面的又一种可能的实施方式中,所述处理单元还用于在所述第二存储空间中更新所述第一文件系统的元数据。
55、在第二方面的又一种可能的实施方式中,所述第一文件系统的数据包含所述第一数据在所述第一文件系统中的存储位置,所述处理单元,还用于:
56、根据所述第一文件系统的元数据,确定所述第一数据在所述第一文件系统中的存储位置;
57、根据所述存储位置构造所述第二访问请求。
58、在第二方面的又一种可能的实施方式中,所述基于http的存储访问协议包括基于对象的存储访问协议。
59、在第二方面的又一种可能的实施方式中,所述基于对象的存储访问协议包括简单存储服务s3或webdav。
60、在第二方面的又一种可能的实施方式中,所述数据访问装置位于所述第一存储设备上,所述第一存储空间和所述第二存储空间是所述第一存储设备上不同的存储空间。
61、在第二方面的又一种可能的实施方式中,所述第一计算设备与所述第一存储设备位于不同的数据中心。进一步的,当第一计算设备属于第二存储设备的情况下,所述第二存储设备与所述第一存储设备位于不同的数据中心。
62、在第二方面的又一种可能的实施方式中,所述第一计算设备属于第二存储设备且所述第二存储设备与所述第一存储设备异构。
63、第三方面,本技术实施例提供数据访问系统,该数据访问系统包含第一存储设备、第一计算设备和数据访问装置。
64、第一存储设备包含第一存储空间,第一存储空间中存储了第一文件系统的数据。
65、数据访问装置包含第二存储空间,第二存储空间中存储了所述第一文件系统的元数据,数据访问装置用于将第一文件系统的元数据提供给所述第一计算设备,第一计算设备用于根据所述第一文件系统的元数据生成所述第一文件系统的文件视图;
66、所述数据访问装置还用于实现第一方面任一项所述的数据访问方法。
67、在第三方面的一种可能的实施方式中,所述数据访问装置位于所述第一存储设备上,所述第一存储空间和所述第二存储空间是所述第一存储设备上不同的存储空间。
68、第四方面,本技术实施例提供一种数据访问装置,所述数据访问装置包含处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于调用所述计算机指令,以使得所述数据访问装置实现第一方面任一项所述的数据访问方法。
69、第五方面,本技术实施例提供一种存储设备,该存储设备包含计算设备和与计算设备相连的存储盘。其中,相连可以是通过有线线路相连,也可以通过无线线路相连。例如,二者通过总线相连。再如,二者通过交换机相连。
70、其中,存储盘用于提供第一存储空间和第二存储空间,第一存储空间和第二存储空间不同,该计算设备包含第三方面或者第四方面任一项所述的数据访问装置。
71、进一步的,该计算设备用于实现第一方面任一项所述的数据访问方法。
72、第六方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在至少一个处理器上运行时,实现前述第一方面任一项所描述的方法。
73、第七方面,本技术提供了一种计算机程序产品,计算机程序产品包括计算机指令,当所述指令在至少一个处理器上运行时,实现前述第一方面任一项所描述的方法。
74、可选的,该计算机程序产品可以为一个软件安装包或镜像包,在需要使用前述方法的情况下,可以下载该计算机程序产品并在计算设备上执行该计算机程序产品。
75、本技术第三至第七方面所提供的技术方案,其有益效果可以参考第一方面的技术方案的有益效果,此处不再赘述。
本文地址:https://www.jishuxx.com/zhuanli/20241021/318067.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表