H04L29/08 H04L29/06 G06F17/30
1.一种基于授权方式的元数据的处理方法,其特征在于,包括:
申请步骤,客户端向元数据服务器发送获得元数据的授权的申请;
发送步骤,所述元数据服务器接收到所述申请后,向所述客户端发送所述 元数据的授权;
访问步骤,所述客户端获得所述元数据的授权后,直接访问与所述元数据 服务器逻辑隔离的元数据存储资源,获得所述元数据;
释放步骤,所述客户端释放所述元数据的授权。
2.如权利要求1所述的基于授权方式的元数据的处理方法,其特征在于, 所述访问步骤中还包括:
缓存步骤,将所述客户端获得的所述元数据保存在元数据缓存中,所述客 户端将所述元数据缓存标记为有效。
3.如权利要求2所述的基于授权方式的元数据的处理方法,其特征在于, 所述申请步骤中还包括:
申请判断步骤,所述客户端根据第一策略判断是否向所述元数据服务器发 送获得所述元数据的授权的申请。
4.如权利要求3所述的基于授权方式的元数据的处理方法,其特征在于, 所述发送步骤中还包括:
发送判断步骤,所述元数据服务器根据第二策略判断是否向所述客户端发 送所述元数据的授权;
同步步骤,当所述元数据服务器判断为向所述客户端发送所述元数据的授 权时,如果所述元数据与所述元数据存储资源中的所述元数据不一致且全部客 户端无已有所述元数据的授权,所述元数据服务器直接将新的元数据同步到所 述元数据存储资源。
5.如权利要求4所述的基于授权方式的元数据的处理方法,其特征在于, 所述释放步骤进一步包括:
释放判断步骤,所述客户端根据第三策略判断是否释放所述元数据的授 权;如果判断为释放所述元数据的授权,则进入元数据缓存失效步骤,否则拒 绝释放所述元数据的授权;
元数据缓存失效步骤,所述客户端将所述元数据缓存的状态标记为失效, 进入授权释放步骤;
授权释放通知步骤,所述客户端向所述元数据服务器发送授权释放的消 息。
6.如权利要求5所述的基于授权方式的元数据的处理方法,其特征在于, 所述第三策略为:
所述元数据服务器需要修改所述元数据而回收全部所述已有元数据的授 权时,所述客户端判断为释放所述元数据的授权。
7.一种基于授权方式的元数据的处理系统,其特征在于,包括:
申请模块,用于客户端向元数据服务器发送获得元数据的授权的申请;
发送模块,用于所述元数据服务器接收到所述申请后,向所述客户端发送 所述元数据的授权;
访问模块,用于所述客户端获得所述元数据的授权后,直接访问与所述元 数据服务器逻辑隔离的元数据存储资源,获得所述元数据;
释放模块,用于所述客户端释放所述元数据的授权。
8.如权利要求7所述的基于授权方式的元数据的处理系统,其特征在于, 所述访问模块中还包括:
缓存模块,用于将所述客户端获得的所述元数据保存在元数据缓存中,所 述客户端将所述元数据缓存标记为有效。
9.如权利要求8所述的基于授权方式的元数据的处理系统,其特征在于, 所述申请模块中还包括:
申请判断子模块,用于所述客户端根据第一策略判断是否向所述元数据服 务器发送获得所述元数据的授权的申请。
10.如权利要求9所述的基于授权方式的元数据的处理系统,其特征在于, 所述发送模块中还包括:
发送判断模块,用于所述元数据服务器根据第二策略判断是否向所述客户 端发送所述元数据的授权;
同步模块,当所述元数据服务器判断为向所述客户端发送所述元数据的授 权时,如果所述元数据与所述元数据存储资源中的所述元数据不一致且全部客 户端无已有所述元数据的授权,所述元数据服务器直接将新的元数据同步到所 述元数据存储资源。
本发明涉及机文件系统技术,特别涉及一种机文件系统的元数据的处 理技术。
近年来,越来越多的高性能计算机采用机体系结构。机上的全局共享 文件系统技术,即机文件系统技术,也越来越受到关注。目前,常见的机 文件系统由元数据服务器、共享存储服务器和客户端组成,客户端通过元数据 服务器从共享存储服务器的元数据存储资源获得元数据。机文件系统中,客 户端的应用程序访问文件的工作原理如下:
步骤1:解析路径;
步骤2:获取文件布局信息;
步骤3:读取文件数据;
步骤4:重复2~3的步骤,直到所需要的数据都读取完毕。
其中,步骤1又包括:(1)获取目录的inode信息;(2)在目录结构中查 路径下一级的目录项,并获取目录项的句柄;(3)重复(1)~(2),直到获 取路径最后一级的目录项,即要访问文件的inode信息。
上述机文件系统中,客户端需要通过与元数据服务器进行网络交互来得 到元数据,因此每个步骤都需要与元数据服务器进行网络交互来完成。客户端 往往会采用某种缓存机制,通过将元数据缓存在内存中,减少与元数据服务器 的网络交互,但是元数据服务器和客户端的元数据一致性被减弱了。因为元数 据缓存期间,可能存在其他客户端修改元数据,所以客户端需要定期地失效缓 存中的元数据,通过与元数据服务器重新交互来验证其缓存的元数据是否有 效。
由此可知,在客户端的元数据访问频繁且客户端元数据访问比例较高的场 景下,大量的网络交互会成为元数据服务器和客户端工作的瓶颈。大量的网络 交互主要由两种情况产生:1)客户端需要通过与元数据服务器的网络交互来 获得元数据;2)客户端需要定期失效缓存的元数据,并通过与元数据服务器 的网络交互获得元数据来更新缓存。这些网络交互会占用元数据服务器和客户 端的CPU、内存和网络等资源,也延长了元数据IO路径。1)和2)两种情况 出现在元数据访问频繁的场景时,会成为元数据服务器和客户端工作的瓶颈。 互联网应用和流媒体服务等场景属于元数据访问频繁的场景,这些场景的文件 尺寸较小,访问随机,与大文件访问为主的应用相比元数据访问比例较高。业 内有几种相关的技术,可以提高上述应用场景下整个系统的负载能力,但都存 在一定的缺陷:
1.多元数据服务器
通过多个元数据服务器来提高服务能力。多元数据服务器之间,通过分布 式锁和分布式日志机制来保证文件系统的一致性。这种技术在一定程度上通过 增加元数据服务器线性扩展整个系统的负载能力。但这种技术不能减少网络交 互,无法减轻客户端的负载,也无法缩短元数据IO路径。另外,分布式锁机 制比较复杂,实现和调试都有较大难度。
2.采用独立的文件布局服务器
通过将文件布局与其他元数据(主要是目录结构)分离到不同的服务器上 以减低元数据服务器的负载。与多元数据服务器一样,这种技术无法减轻客户 端的负载,也无法缩短元数据IO路径。这种技术更适用于大规模大文件并发 访问为主的应用场景。
然而,在大规模机文件系统中,元数据与数据服务分离结构已经成为了 一种趋势。元数据与数据服务分离结构的原理为:元数据服务器负责维护文件 系统全局命名空间,以及特别负责维护文件布局(layout)服务,管理文件逻 辑地址与磁盘物理地址的映射关系,为文件分配物理存储资源。客户端文件数 据访问采用带外方式直接访问存储设备,不必通过元数据服务器,从而获取较 高的数据访问性能。客户端文件数据访问过程中,首先获取文件在全局命名空 间中的逻辑位置,然后获取文件读写逻辑地址对应的磁盘物理地址,最后访问 磁盘物理地址获取数据。
本发明要解决的技术问题是,大规模小文件并发读访问为主的场景下,现 有技术无法有效解决元数据访问瓶颈问题,即存在大量的客户端与元数据服务 器的网络交互。本发明提供了一种基于授权方式的元数据的处理方法和系统, 实现了授权客户端读取和管理元数据时能够直接访问元数据存储资源,而且授 权客户端不需要定期失效元数据缓存来保证元数据的一致性,从而达到减少网 络交互,缩短元数据IO路径,提高整个系统的负载能力和性能的目的。
为了实现上述目的,本发明提出了一种基于授权方式的元数据的处理方 法。包括:
申请步骤,客户端向元数据服务器发送获得元数据的授权的申请;
发送步骤,所述元数据服务器接收到所述申请后,向所述客户端发送所述 元数据的授权;
访问步骤,所述客户端获得所述元数据的授权后,直接访问与所述元数据 服务器逻辑隔离的元数据存储资源,获得所述元数据;
释放步骤,所述客户端释放所述元数据的授权。
所述访问步骤中还包括:
缓存步骤,将所述客户端获得的所述元数据保存在元数据缓存中,所述客 户端将所述元数据缓存标记为有效。
所述申请步骤中还包括:
申请判断步骤,所述客户端根据第一策略判断是否向所述元数据服务器发 送获得所述元数据的授权的申请。
所述发送步骤中还包括:
发送判断步骤,所述元数据服务器根据第二策略判断是否向所述客户端发 送所述元数据的授权;
同步步骤,当所述元数据服务器判断为向所述客户端发送所述元数据的授 权时,如果所述元数据与所述元数据存储资源中的所述元数据不一致且全部客 户端无已有所述元数据的授权,所述元数据服务器直接将新的元数据同步到所 述元数据存储资源。
所述释放步骤进一步包括:
释放判断步骤,所述客户端根据第三策略判断是否释放所述元数据的授 权;如果判断为释放所述元数据的授权,则进入元数据缓存失效步骤,否则拒 绝释放所述元数据的授权;
元数据缓存失效步骤,所述客户端将所述元数据缓存的状态标记为失效, 进入授权释放步骤;
授权释放通知步骤,所述客户端向所述元数据服务器发送授权释放的消 息。
所述第三策略为:
所述元数据服务器需要修改所述元数据而回收全部所述已有元数据的授 权时,所述客户端判断为释放所述元数据的授权。
本发明还提供了一种基于授权方式的元数据的处理系统,包括:
申请模块,用于客户端向元数据服务器发送获得元数据的授权的申请;
发送模块,用于所述元数据服务器接收到所述申请后,向所述客户端发送 所述元数据的授权;
访问模块,用于所述客户端获得所述元数据的授权后,直接访问与所述元 数据服务器逻辑隔离的元数据存储资源,获得所述元数据;
释放模块,用于所述客户端释放所述元数据的授权。
所述访问模块中还包括:
缓存模块,用于将所述客户端获得的所述元数据保存在元数据缓存中,所 述客户端将所述元数据缓存标记为有效。
所述申请模块中还包括:
申请判断子模块,用于所述客户端根据第一策略判断是否向所述元数据服 务器发送获得所述元数据的授权的申请。
所述发送模块中还包括:
发送判断模块,用于所述元数据服务器根据第二策略判断是否向所述客户 端发送所述元数据的授权;
同步模块,当所述元数据服务器判断为向所述客户端发送所述元数据的授 权时,如果所述元数据与所述元数据存储资源中的所述元数据不一致且全部客 户端无已有所述元数据的授权,所述元数据服务器直接将新的元数据同步到所 述元数据存储资源。
本发明的有益之处在于:
通过元数据授权管理技术,在大规模并发小文件读访问为主的应用场景 下,与现有技术相比具有如下优点:
1)客户端可以直接读取元数据卷获取所需要的元数据,缩短IO路径,充 分发挥元数据存储设备的IO能力;
2)客户端可以长期缓存住热点元数据,消除缓存定期失效引入的网络交 互,减少元数据服务器和客户端的负载和网络开销。
图1是本发明的基于授权方式的元数据的处理方法的示意图。
图2是本发明的基于授权方式的元数据的处理系统的示意图。
图3是本发明的基于授权方式的元数据的处理系统的结构图的实施例。
下面结合附图和具体实施方式对本发明做进一步详细描述。
图1是本发明的基于授权方式的元数据的处理方法的示意图。包括:申请 步骤(S1),客户端向元数据服务器发送获得元数据的授权的申请;发送步骤 (S2),元数据服务器接收到申请后,向客户端发送元数据的授权;访问步骤(S3), 客户端获得元数据的授权后,直接访问与元数据服务器逻辑隔离的元数据存储 资源,获得元数据;释放步骤(S4),客户端释放元数据的授权。
其中,元数据的授权可以被元数据服务器重复发送给多个客户端。授权中 包括客户端可以使用的元数据的范围,也就是客户端可以使用的元数据存储资 源上元数据卷的目录的范围。授权的粒度可以根据实际情况而定。一般而言不 会采用太小的粒度以免引入更多的网络交互。可以对一个inode及其相关的元 数据作为整体授权,例如:文件及其文件布局(layout);可以对目录及其所有 目录项作为整体授权;也可以对目录加上目录的一级子目录和文件的inode作 为整体授权。拥有元数据的授权的客户端可以直接访问元数据存储资源获得元 数据。因此,客户端可以通过授权在元数据存储资源中的元数据卷上查、获 得对应的所有元数据块,在解析元数据块获得元数据。
下面以流媒体服务为例对本发明进行详细介绍。一电影文件常常会被切片 成许多片段,因此文件数量较多,但文件尺寸较小。这种场景的文件系统操作 主要是,分别到电影文件的所有片段(子文件),将电影文件完整地读取上 来。从文件系统层面看,主要的文件系统请求是目录项查和读取文件布局。 其中,电影文件所在目录的元数据包括:
(1)电影文件所在目录的inode;
(2)电影文件所在目录的目录结构;
(3)目录中所有子文件的inode及其文件布局。
客户端获得电影文件所在目录的元数据的授权后,访问元数据存储资源获 得电影文件所在目录的inode,根据目录的inode获得目录结构,从目录结构 中查需要的电影文件的一个或多个子文件的inode,然后根据子文件的inode 读取子文件的文件布局,根据子文件的文件布局读取需要的电影文件数据。
图1的申请步骤(S1),客户端向元数据服务器发送获得元数据的授权的 申请。
申请步骤(S1)还包括申请判断步骤,客户端根据第一策略判断是否向元 数据服务器发送获得元数据的授权的申请。
针对上述流媒体服务应用场景,具体介绍本发明的申请步骤(S1),即客 户端向元数据服务器申请元数据的授权的过程。
首先,客户端进行申请判断步骤;接着,客户端根据判断结果发送获得电 影文件所在目录的元数据的授权的申请或者拒绝发送获得电影文件所在目录 的元数据的授权的申请。即客户端根据第一策略判断是否向元数据服务器发送 获得电影文件所在目录的元数据的授权的申请,如果是则发送申请,否则拒绝 发送申请。
具体而言,客户端查电影文件所在的目录的目录项或者读取电影文件的 文件布局前,先判断是否具有电影文件所在目录的元数据的授权。如果没有, 则根据第一策略判断是否向元数据服务器发送获得电影文件所在目录的元数 据的授权的申请。较佳地,第一策略包括:如果需要的电影文件所在目录的元 数据是热点数据则发送获得电影文件所在目录的元数据的授权的申请,否则拒 绝发送申请;第一策略还可以包括:如果需要的电影文件所在目录的元数据最 近经常被修改则拒绝发送获得电影文件所在目录的元数据的授权的申请,否则 发送申请。第一策略不限于上述内容。较佳地,每个授权以电影文件所在目录 的inode号为标记(inode号在一套文件系统中是唯一的,而目录的inode号是 客户端从元数据存储资源读取目录的元数据的键值)。
图1的发送步骤(S2),元数据服务器接收到申请后,向客户端发送元数 据的授权。
发送步骤(S2)还包括发送判断步骤和同步步骤。发送判断步骤,元数据 服务器根据第二策略判断是否向客户端发送元数据的授权;同步步骤,当元数 据服务器判断为向客户端发送元数据的授权时,如果元数据与元数据存储资源 中的元数据不一致且全部客户端无已有元数据的授权,元数据服务器直接将新 的元数据同步到元数据存储资源。同步步骤保证了整个机文件系统中元数据 的一致性。
针对流媒体服务应用场景,具体介绍本发明的发送步骤(S2),即元数据 服务器接收到申请后,向客户端发送元数据的授权的过程。
首先,元数据服务器进行发送判断步骤;接着,元数据服务器根据判断结 果发送电影文件所在目录的元数据的授权或者拒绝发送电影文件所在目录的 元数据的授权。即元数据服务器根据第二策略判断是否向客户端发送电影文件 所在目录的元数据的授权,如果是则发送授权,否则拒绝发送授权。
具体而言,元数据服务器收到客户端的授权申请后,根据第二策略判断是 否要向客户端发送电影文件所在目录的元数据的授权。较佳地,第二策略包括: 根据用户配置的授权策略进行授权判断,用户配置的授权策略可以为:申请的 元数据在用户指定的元数据的范围内,则发送授权,否则拒绝发送授权;第二 策略还可包括:如果需要的元数据最近经常被修改则拒绝发送授权,否则发送 授权。第二策略不限于上述内容。发送授权前,元数据服务器将电影文件所在 目录的元数据的授权状态标记为“准备授权”,较佳地,元数据服务器将电影 文件所在目录的元数据的授权状态记录在内存中。
如果在元数据服务器根据第二策略判断为向客户端发送电影文件所在目 录的元数据的授权后,如果电影文件所在目录的元数据与元数据存储资源中的 元数据不一致且元数据服务器的全部客户端无已有电影文件所在目录的元数 据的授权,元数据服务器直接将新的元数据同步到元数据存储资源。
在元数据服务器将授权发送给客户端后,元数据服务器应答客户端“授权 发送”,也就意味着,本次元数据服务器电影文件所在目录授权完毕。
图1的访问步骤(S3),客户端获得元数据的授权后,直接访问与元数据 服务器逻辑隔离的元数据存储资源,获得元数据。
客户端获得元数据的授权后,保存接收到的元数据的授权,同时客户端保 存元数据的授权状态,较佳地,客户端将元数据的授权状态记录在内存中。客 户端拥有元数据的授权后,就可以直接访问元数据存储资源,从元数据存储资 源中读取元数据。
访问步骤还包括缓存步骤,客户端将获得的元数据保存在元数据缓存中, 将元数据缓存标记为有效。较佳地,将获得的元数据转换成内存结构,保存在 元数据缓存中。
客户端将保存元数据的元数据缓存状态标记为“有效”,表示元数据缓存 中的元数据有效,并且不需要定期失效,因为本发明中客户端在持有授权时元 数据不会被修改(因为,如果元数据服务器发现元数据被修改,那么元数据服 务器会先收回发出的所有授权,再进行同步步骤;如果客户端后续要再访问的 元数据,可以通过元数据服务器访问元数据存储资源获得元数据,或者重新申 请、获得元数据的授权后访问元数据存储资源来获得元数据)。
针对上述流媒体服务应用场景,具体介绍本发明的访问步骤(S3),即客 户端从元数据存储资源获得元数据的过程。
客户端获得电影文件所在目录的元数据的授权后,客户端根据要访问的电 影文件所在目录的元数据,确定对应的电影文件所在目录的元数据块。如果电 影文件所在目录的元数据块不存在于元数据缓存中,则需要先将其从元数据存 储资源中读取上来,将元数据块先读取到设备缓存中,然后在设备缓存中进行 解析并将解析出的电影文件所在目录的元数据加载到元数据缓存中,以加速元 数据访问性能。客户端读取到设备缓存的电影文件所在目录的元数据块时,会 记录电影文件所在目录的元数据的授权状态。
客户端获取电影文件所在目录的元数据的过程中,要从元数据卷的根目录 开始根据每级目录的inode在目录中查下级子目录,直到获得电影文件的元 数据。客户端对于电影文件所在目录的父目录的访问可以通过申请授权的方式 直接访问元数据存储资源,或者通过访问元数据服务器的方式间接访问元数据 存储资源。客户端如果是在目录中查下级子目录,则解析目录结构到请求 的目录名,将到的目录项和对应的inode加载到内存中;如果是在电影文件 所在的目录中查电影文件,则解析目录结构到请求的文件名,将到的文 件对应的目录项和对应的inode及其内嵌在inode结构中的文件布局加载到内 存。客户端就可以通过访问元数据缓存获得电影文件所在目录的元数据。
因为电影文件所在目录的元数据可以有多种,所以将所有加载了电影文件 所在目录的元数据的元数据缓存标记为“有效”,即缓存中的电影文件所在目 录的元数据有效。
客户端获得电影文件所在目录的元数据的授权后,每次对元数据缓存进行 读访问时,要判断电影文件所在目录的元数据是否在元数据缓存中。如果不在, 客户端直接访问元数据存储资源,从元数据存储资源中读取电影文件所在目录 的元数据,并将电影文件所在目录的元数据保存在元数据缓存中,客户端将元 数据缓存标记为“有效”,客户端从元数据缓存中获得电影文件所在目录的元 数据。如果在,客户端从元数据缓存中直接获得电影文件所在目录的元数据。
图1的释放步骤(S4):客户端释放元数据的授权。
释放步骤(S4)还包括释放判断步骤、元数据缓存失效步骤和授权释放通 知步骤。释放判断步骤,客户端根据第三策略判断是否释放元数据的授权;如 果判断为释放元数据的授权,则进入元数据缓存失效步骤,否则拒绝释放元数 据的授权。元数据缓存失效步骤,客户端将元数据缓存的状态标记为失效,进 入授权释放通知步骤。授权释放通知步骤,客户端向元数据服务器发送授权释 放的消息。较佳地,第三策略为,元数据服务器需要修改元数据而回收全部已 有元数据的授权时,客户端判断为释放元数据的授权,其中,元数据服务器需 要修改元数据的情况可以有很多种,比如:其他客户端向元数据服务器申请修 改元数据等等。
将元数据缓存状态标记为“失效”,意味着元数据缓存中的元数据失效。 该步骤保证了整个机文件系统中元数据的一致性。引起元数据失效的情况有 很多种,比如:客户端的元数据的授权被元数据服务器回收、客户端认为该元 数据不再是热点数据主动释放授权等等。
当元数据已失效,如果客户端后续要再访问元数据,可以通过元数据服务 器访问元数据存储资源获得元数据,或者重新申请、获得元数据的授权后访问 元数据存储资源来获得元数据,并加载元数据到元数据缓存中。
针对上述流媒体服务应用场景,具体介绍本发明的释放步骤(S4),即客户 端释放元数据的授权的过程。
首先,客户端进行释放判断步骤;接着,客户端根据判断结果释放电影文 件所在目录的元数据的授权或者拒绝释放电影文件所在目录的元数据的授权。 即客户端根据第三策略判断是否向释放电影文件所在目录的元数据的授权,如 果是则释放授权,否则拒绝释放授权。
具体而言,客户端根据第三策略判断是否释放电影文件所在目录的元数据 的授权。较佳的,第三策略包括:如果元数据不再是热点数据,那么客户端释 放元数据的授权,否则拒绝释放授权;第三策略还可以包括:如果元数据服务 器需要修改元数据而回收所有已有元数据的授权时,客户端释放电影文件所在 目录的元数据的授权,否则拒绝释放授权。第三策略不限于上述内容。
然后,客户端将电影文件所在目录的元数据所有缓存的状态标记为“失 效”。客户端将电影文件所在目录的元数据的授权状态更新为“失效中”。客户 端以后查询电影文件所在目录的元数据的授权时,该授权被识别为无效的授 权,通常客户端也不会立即向元数据服务器重新申请授权。
将授权粒度范围内的电影文件所在目录的元数据的所有缓存的状态都标 记为“失效”,包括电影文件所在目录inode的缓存,目录结构的缓存,所有 子文件inode的缓存,所有子文件的文件布局的缓存。后续对这些电影文件所 在目录的元数据的访问,需要客户端通过与元数据服务器的网络交互,或者客 户端重新获得授权,读取元数据存储资源来获得。因为从本次授权释放到下次 重新获得授权之间,元数据存储资源中的电影文件所在目录的元数据很可能已 经发生改变,因此客户端释放授权前,还需要将授权相关的所有电影文件所在 目录的元数据块缓存的状态标记为失效。
最后,客户端向元数据服务器发送授权释放的消息。
本发明中机文件系统保证元数据一致性的方法有如下的三种:
(1)元数据服务器需要修改元数据而回收全部已有元数据的授权时,拥 有已有元数据的授权的客户端释放已有元数据的授权。比如:当存在客户端请 求元数据服务器修改元数据时,元数据服务器需要向所有拥有授权的客户端回 收元数据的授权,客户端释放授权。。
(2)元数据服务器接收到客户端发送的获得元数据的授权的申请后,当 元数据服务器根据第二策略判断为向客户端发送元数据的授权时,如果元数据 与元数据存储资源中的元数据不一致且全部客户端无已有元数据的授权,元数 据服务器直接将新的元数据同步到元数据存储资源。比如:如果新的元数据在 内存中且与元数据存储资源不同步,则元数据服务器需要将内存中新的元数据 同步到元数据存储资源中;如果新的元数据仅被提交到文件系统日志中,需要 将其同步回元数据存储资源。
(3)当客户端拥有的元数据的授权被释放后,客户端需要将保存元数据 的所有缓存的状态标记为失效,包括内存中元数据缓存和设备缓存中相关元数 据块的缓存。上述失效完成后,失效的元数据不可用,保证了元数据的一致性。
图2是本发明的基于授权方式的元数据的处理系统的示意图。包括:申请 模块(M1)、发送模块(M2)、访问模块(M3)和释放模块(M4)。
申请模块(M1),用于客户端向元数据服务器发送获得元数据的授权的申 请。
申请模块(M1)中还包括:
申请判断子模块,用于客户端根据第一策略判断是否向元数据服务器发送 获得元数据的授权的申请。
发送模块(M2),用于元数据服务器接收到申请后,向客户端发送元数据 的授权。发送模块之前还包括:同步模块,用于将元数据同步到元数据存储资 源。
发送模块中(M2)还包括:
发送判断模块,用于元数据服务器根据第二策略判断是否向客户端发送元 数据的授权;
同步模块,当元数据服务器判断为向客户端发送元数据的授权时,如果元 数据与元数据存储资源中的元数据不一致且全部客户端无已有元数据的授权, 元数据服务器直接将新的元数据同步到元数据存储资源。
访问模块(M3),用于客户端获得元数据的授权后,直接访问与元数据服 务器逻辑隔离的元数据存储资源,获得元数据。
访问模块中(M3)还包括:
缓存模块,用于将客户端获得的元数据保存在元数据缓存中,客户端将元 数据缓存标记为有效。
释放模块(M4),用于客户端释放元数据的授权。
本发明的基于授权方式的元数据的处理系统是与本发明的基于授权方式 的元数据的处理方法对应的系统,其具体描述请参见对图1的本发明的基于授 权方式的元数据的处理方法的具体描述。
图3是本发明的基于授权方式的元数据的处理系统的结构图的实施例。包 括:共享存储服务器2、客户端14和元数据服务器23。
共享存储服务器2包括:元数据存储资源1;
客户端14包括:元数据缓存管理装置11、元数据缓存13、具有从元数据 存储资源1中读取元数据的接口、与元数据缓存管理装置11连接的授权管理 装置12、与元数据缓存管理装置11连接的目录查部件15和文件布局读取 部件16;
元数据服务器23包括:授权管理装置22和与授权管理装置22连接的元 数据写回装置21。
元数据存储资源1,是具有一定容量的线性地址空间,元数据以预先定义 好的格式存放在该空间中。
元数据缓存管理装置11是管理元数据存储资源1的装置,用于客户端的 元数据存储资源的维护装置。具有元数据读取和元数据缓存管理等功能,具体 包括元数据13的缓存管理、查询、修改、从元数据存储资源1中读取元数据、 接收元数据访问部件15的元数据访问请求。其中,元数据读取功能,用于从 元数据存储资源1将指定元数据加载到客户端的内存中;元数据缓存管理功 能,用于维护元数据13在内存的缓存,包括元数据13缓存的查询、修改、更 新和失效,此外还维护元数据的设备层面缓存,包括元数据对应的元数据块缓 存的查询和失效。
客户端的授权管理装置12,与元数据服务器的授权管理装置22进行网络 交互来完成授权管理。为元数据缓存管理装置11提供授权的状态查询、申请 和释放接口。通过授权管理装置22的授权申请和释放接口进行授权的申请和 释放。对授权管理装置22提供授权的回收接口。
元数据服务器的元数据写回装置21,用于确定指定的元数据中未写回元 数据存储资源1的部分,将元数据服务器的元数据缓存中的修改的元数据写回 到元数据存储资源1,或者将提交到日志的元数据写回到元数据存储资源1。 也就是,负责将未写回到元数据存储资源1的元数据修改写回到元数据存储资 源1。对授权管理装置22提供元数据写回接口。元数据写回装置21。
元数据服务器的元数据授权管理装置22,用于元数据的授权的状态查询、 申请、释放和回收。与客户端的授权管理装置12进行网络交互,提供授权申 请和释放接口,并使用授权回收接口进行授权回收。授权首次被发送时,会使 用元数据写回装置21的元数据写回接口同步元数据到元数据存储资源1中。
客户端的目录查部件15,用于目录查和路径解析。包括查目录下 是否存在对应的目录项、以及将对应的inode加载到内存。
客户端的文件布局读取部件16,用于文件布局的读取和文件内容的访问。
本发明基于授权技术,通过客户端直接读取和管理元数据,有效减少了客 户端与元数据服务器之间的网络交互,缩短元数据IO路径,提高系统的负载 能力和性能,进而提高系统的可扩展能力。
以上,仅是本发明的较佳实施例,并非对本发明作任何形式上的限制,任 何所属技术领域的技术人员,若在不脱离本发明所提出技术特征的范围内,利 用本发明所公开的技术内容所作出局部更动或修改的等效实施例,并且未脱 离本发明的技术特征内容,均仍属于本发明技术特征的范围内。
本文发布于:2023-04-14 05:42:11,感谢您对本站的认可!
本文链接:https://patent.en369.cn/patent/1/86985.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |