本申请提供了一种节点元数据获取方法与装置,其中,节点元数据获取方法包括:接收访问网络文件系统中的文件访问请求,从文件访问请求中获取待访问的文件的路径名;其中,网络文件系统使用VFS;使用加密算法对获取的文件的路径名进行加密,获得唯一的加密值;将获得的文件的路径名的加密值发送给网络文件系统中的数据库服务器,其中,数据库服务器中存储有网络文件系统中所有文件的元数据与所有文件的路径名的加密值的对应关系;根据文件的路径名的加密值,从数据库服务器中获取对应的文件的元数据,并根据获取的元数据访问文件。通过本申请,提高了系统的负载能力。
【技术实现步骤摘要】
【专利摘要】本申请提供了一种节点元数据获取方法与装置,其中,节点元数据获取方法包括:接收访问网络文件系统中的文件访问请求,从文件访问请求中获取待访问的文件的路径名;其中,网络文件系统使用VFS;使用加密算法对获取的文件的路径名进行加密,获得唯一的加密值;将获得的文件的路径名的加密值发送给网络文件系统中的数据库服务器,其中,数据库服务器中存储有网络文件系统中所有文件的元数据与所有文件的路径名的加密值的对应关系;根据文件的路径名的加密值,从数据库服务器中获取对应的文件的元数据,并根据获取的元数据访问文件。通过本申请,提高了系统的负载能力。【专利说明】节点元数据获取方法与装置
本申请涉及网络
,特别是涉及一种跨单机的分布式系统的节点元数据获取方法与装置。
技术介绍
网络文件系统是文件系统之上的一个网络抽象,允许远程客户端以与本地文件系统类似的方式,通过网络进行访问。在网络文件系统中,用户看到的文件和真实存放到网络文件系统中的物理文件存在一定映射关系,而联系两者的桥梁则是文件的元数据。当用户需要访问文件(例如/rOOt_dir/sub_dirI/f i Ie )时,必须首先找到该文件对应的元数据,也即用来描述一个文件的特征的系统数据,诸如访问权限、文件拥有者、文件数据块的分布信息等,其中,在网络文件系统中,分布信息包括文件在磁盘上的位置以及磁盘在网络中的位置;在找到元数据后,通过记录在元数据内数据的物理位置,从而能够真正定位该物理文件。而如何快速找到节点的元数据,一直是网络文件系统重要的设计之一。 目前,网络文件系统的设计思想通常来自于常用的本地文件系统,如ext2,ext3,minx, reiserfs文件系统等。而在此设计思想上构建的网络文件系统,如PVFS、luster、GoogleFS, Hadoop,在元数据管理上,均采用中央元数据管理器设计。当中央元数据管理接受到一个请求获取/a/b/c/d元数据的请求后,首先,获取根节点“/”的元数据,而根节点通常可以通过一个固化的方式(写入配置文件或代码写死)获取到,获取根节点后的元数据后,就可以找到子节点“a/”的元数据的索引(类似本地文件系统中的inode),通常目录的元数据中会包含所有子目录或子文件的元数据的索引,有了 “a/”的索引,就可以找到“a/”的元数据,依次类推,可以找到子目录“/a/b/”和“/a/b/c/”的元数据,最终“/a/b/c/d”元数据的索引就存储在节点“/a/b/c/”的元数据中,再根据“/a/b/c/d”的索引可以找到“/a/b/c/d”的元数据。 而现代采用Iinux操作系统的所有的宿主文件系统或网络文件系统,都必须实现VFS (虚拟文件系统)指定的接口。VFS规定,当访问文件/a/b/c/d时,需要先获取“/”的元数据,然后检查客户端是否拥有权限访问a/子目录,然后再获取“/a/”的元数据,再确认客户端是否拥有“/a/b/”的权限,依次类推,访问“/a/b/c”元数据,确保客户端可以访问“/a/b/c/d”。因此,在客户端使用VFS这种接口模拟本地访问文件时,这种一级一级查找文件,存在着如下方面的问题。 问题 1: 在现代网络文件系统中,尤其一些类似网盘系统,常常需要提供web service访问,如,用户想要访问WWW.alipay.com/dfs/a/b/c/d时,此时,就期望不要经过VFS这种一级一级的审查,期望服务器端能够迅速定位到数据“/a/b/c/d”,而现有的这种一级一级的获取元数据方式,极大地增加了服务器的负荷,降低了服务器的吞吐率,服务器端无法迅速定位到数据。 问题2: 常用的网络文件系统中,元数据服务器采用中央元数据服务器,并且采用的一主一备方式或单主机方式,例如Hadoop、luster、PVFS,注定了整个系统的tps (每秒事务处理量)无法超越一台元数据服务器的处理能力。 问题3: 在网络文件系统不够稳定时或在开发过程中,如果中间节点“/a/b/c”元数据丢失,则无法追踪到节点“/a/b/c/d”的元数据,或者,当log中反馈无法获取“/a/b/c/d”的元数据时,无法通过某种方式直接获取“/a/b/c/d”的元数据。
技术实现思路
本申请提供了一种节点元数据获取方法与装置,以解决上述问题至少之一。 为了解决上述问题,本申请公开了一种节点元数据获取方法,包括:接收访问网络文件系统中的文件访问请求,从所述文件访问请求中获取待访问的所述文件的路径名;其中,所述网络文件系统使用虚拟文件系统VFS ;使用加密算法对获取的所述文件的路径名进行加密,获得唯一的加密值;将获得的所述文件的路径名的加密值发送给所述网络文件系统中的数据库服务器,其中,所述数据库服务器中存储有所述网络文件系统中所有文件的元数据与所述所有文件的路径名的加密值的对应关系,其中,所述所有文件的路径名的加密值通过使用所述加密算法对所述所有文件的元数据中的文件路径名进行加密后生成;根据所述文件的路径名的加密值,从所述数据库服务器中获取对应的所述文件的元数据,并根据获取的所述元数据访问所述文件。 优选地,所述使用加密算法对获取的所述文件的路径名进行加密,获得唯一的加密值的步骤包括:使用散列加密算法对获取的所述文件的路径名进行加密,获得唯一的加密值。 优选地,所述使用散列加密算法对获取的所述文件的路径名进行加密,获得唯一的加密值的步骤包括:使用MD5算法或者SHAl算法对获取的所述文件的路径名进行加密,获得唯一的加密值。 优选地,所述数据库服务器使用KV数据库存储所述网络文件系统中所有文件的元数据与所述所有文件的路径名的加密值的对应关系。 优选地,所述节点元数据获取方法还包括:当所述网络文件系统中发生文件更新时,向所述数据库服务器发送文件更新请求,所述文件更新请求中携带有更新的所述文件的元数据;接收所述数据库服务器返回的确认所述文件更新的响应消息,其中,所述响应消息为所述数据库服务器根据所述更新的文件的元数据中的路径名,使用所述加密算法对所述路径名进行加密获得加密值;根据获得的所述加密值和所述更新的文件的元数据,对存储的所述对应关系进行更新后,返回的响应消息。 为了解决上述问题,本申请还公开了一种节点元数据获取装置,包括:第一获取模块,用于接收访问网络文件系统中的文件访问请求,从所述文件访问请求中获取待访问的所述文件的路径名;其中,所述网络文件系统使用虚拟文件系统VFS ;第二获取模块,用于使用加密算法对获取的所述文件的路径名进行加密,获得唯一的加密值;发送模块,将获得的所述文件的路径名的加密值发送给所述网络文件系统中的数据库服务器,其中,所述数据库服务器中存储有所述网络文件系统中所有文件的元数据与所述所有文件的路径名的加密值的对应关系,其中,所述所有文件的路径名的加密值通过使用所述加密算法对所述所有文件的元数据中的文件路径名进行加密后生成;第三获取模块,用于根据所述文件的路径名的加密值,从所述数据库服务器中获取对应的所述文件的元数据,并根据获取的所述元数据访问所述文件。 优选地,所述第二获取模块,用于使用散列加密算法对获取的所述文件的路径名进行加密,获得唯一的加本文档来自技高网...
【技术保护点】
一种节点元数据获取方法,其特征在于,包括:接收访问网络文件系统中的文件访问请求,从所述文件访问请求中获取待访问的所述文件的路径名;其中,所述网络文件系统使用虚拟文件系统VFS;使用加密算法对获取的所述文件的路径名进行加密,获得唯一的加密值;将获得的所述文件的路径名的加密值发送给所述网络文件系统中的数据库服务器,其中,所述数据库服务器中存储有所述网络文件系统中所有文件的元数据与所述所有文件的路径名的加密值的对应关系,其中,所述所有文件的路径名的加密值通过使用所述加密算法对所述所有文件的元数据中的文件路径名进行加密后生成;根据所述文件的路径名的加密值,从所述数据库服务器中获取对应的所述文件的元数据,并根据获取的所述元数据访问所述文件。
【技术特征摘要】
【专利技术属性】
技术研发人员:纪君祥,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛;KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。