本发明专利技术提供一种分布式存储的IO速度优化方法、系统、终端及存储介质,包括:预先为客户端操作请求缓存多个目录的分布式锁数据和底层文件布局数据;将分布式锁数据客户端操作请求所属的客户端绑定;记录缓存的分布式锁数据和底层文件布局数据被客户端操作请求引用的次数,并根据引用次数确定分布式锁数据和底层文件布局数据的缓存时间;获取客户端操作请求的目标文件的目标目录,从缓存的数据中调取目标目录的分布式锁数据和底层文件布局数据,执行目标文件加锁和对目标文件的IO操作。本发明专利技术无需再向分布式存储的元数据系统获取数据,减少了与元数据系统的交互次数,提高了IO操作效率。率。率。
【技术实现步骤摘要】
分布式存储的IO速度优化方法、系统、终端及存储介质
[0001]本专利技术涉及分布式存储
,具体涉及一种分布式存储的IO速度优化方法、系统、终端及存储介质。
技术介绍
[0002]分布式文件系统(Distributed File System,DFS)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点(可简单的理解为一台计算机)相连;或是若干不同的逻辑磁盘分区或卷标组合在一起而形成的完整的有层次的文件系统。DFS为分布在网络上任意位置的资源提供一个逻辑上的树形文件系统结构,从而使用户访问分布在网络上的共享文件更加简便。单独的DFS共享文件夹的作用是相对于通过网络上的其他共享文件夹的访问点。
[0003]目前的分布式文件系统中,在同一个目录下进行文件创建、删除等操作时,每操作一个文件都要重新对他的父目录依次进行加锁、解锁,对于创建和删除操作还要重新获取该目录的底层文件布局数据(dir_layout)等。这些操作对于同一个目录来说大部分都是重复的,且由于分布式锁的加解锁都需要分布式文件系统的元数据系统(mds)及客户端的交互操作,这就会大大降低系统IO的操作效率。
技术实现思路
[0004]针对现有技术的上述不足,本专利技术提供一种分布式存储的IO速度优化方法、系统、终端及存储介质,以解决上述技术问题。
[0005]第一方面,本专利技术提供一种分布式存储的IO速度优化方法,包括:
[0006]预先为客户端操作请求缓存多个目录的分布式锁数据和底层文件布局数据;
[0007]将分布式锁数据客户端操作请求所属的客户端绑定;
[0008]记录缓存的分布式锁数据和底层文件布局数据被客户端操作请求引用的次数,并根据引用次数确定分布式锁数据和底层文件布局数据的缓存时间;
[0009]获取客户端操作请求的目标文件的目标目录,从缓存的数据中调取目标目录的分布式锁数据和底层文件布局数据,执行目标文件加锁和对目标文件的IO操作。
[0010]进一步的,预先为客户端操作请求缓存多个目录的分布式锁数据和底层文件布局数据,包括:
[0011]为客户端操作请求创建锁缓存成员,将客户端操作请求涉及的文件目录的分布式锁数据和底层文件布局数据。
[0012]进一步的,将分布式锁数据客户端操作请求所属的客户端绑定,包括:
[0013]通过设置客户端操作请求权限将分布式锁数据客户端操作请求所属的客户端绑定,根据绑定关系在所述客户端的所有客户端操作请求释放完成后清除失效的绑定分布式锁数据。
[0014]进一步的,记录缓存的分布式锁数据和底层文件布局数据被客户端操作请求引用
的次数,并根据引用次数确定分布式锁数据和底层文件布局数据的缓存时间,包括:
[0015]设置引用次数随未引用时间递减的规则;
[0016]根据缓存的分布式锁数据和底层文件布局数据的引用次数、未引用时间和所述规则计算缓存系数;
[0017]若缓存系数为0,则清除相应的缓存数据。
[0018]进一步的,获取客户端操作请求的目标文件的目标目录,从缓存的数据中调取目标目录的分布式锁数据和底层文件布局数据,执行目标文件加锁和对目标文件的IO操作,包括:
[0019]获取客户端操作请求当前次IO操作的目标文件,以及目标文件所属的目标目录;
[0020]从缓存的数据中查找目标目录的目标分布式锁数据和目标底层文件布局数据;
[0021]根据目标分布式锁数据对目标目录进行加解锁操作,利用目标底层文件布局数据执行所述当前次IO操作。
[0022]第二方面,本专利技术提供一种分布式存储的IO速度优化系统,包括:
[0023]数据缓存单元,用于预先为客户端操作请求缓存多个目录的分布式锁数据和底层文件布局数据;
[0024]数据绑定单元,用于将分布式锁数据客户端操作请求所属的客户端绑定;
[0025]缓存管理单元,用于记录缓存的分布式锁数据和底层文件布局数据被客户端操作请求引用的次数,并根据引用次数确定分布式锁数据和底层文件布局数据的缓存时间;
[0026]操作执行单元,用于获取客户端操作请求的目标文件的目标目录,从缓存的数据中调取目标目录的分布式锁数据和底层文件布局数据,执行目标文件加锁和对目标文件的IO操作。
[0027]进一步的,所述缓存管理单元包括:
[0028]规则设置模块,用于设置引用次数随未引用时间递减的规则;
[0029]系数计算模块,用于根据缓存的分布式锁数据和底层文件布局数据的引用次数、未引用时间和所述规则计算缓存系数;
[0030]缓存清除模块,用于若缓存系数为0,则清除相应的缓存数据。
[0031]进一步的,所述操作执行单元包括:
[0032]目标获取模块,用于获取客户端操作请求当前次IO操作的目标文件,以及目标文件所属的目标目录;
[0033]数据查找模块,用于从缓存的数据中查找目标目录的目标分布式锁数据和目标底层文件布局数据;
[0034]操作执行模块,用于根据目标分布式锁数据对目标目录进行加解锁操作,利用目标底层文件布局数据执行所述当前次IO操作。
[0035]第三方面,提供一种终端,包括:
[0036]处理器、存储器,其中,
[0037]该存储器用于存储计算机程序,
[0038]该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。
[0039]第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,
当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
[0040]本专利技术的有益效果在于,
[0041]本专利技术提供的分布式存储的IO速度优化方法,通过为客户端操作请求预先缓存多个目录的分布式锁数据和底层文件布局数据,使客户端操作请求每次执行IO操作时只需从缓存中获取目标分布式锁数据和底层文件布局数据即可,无需再向分布式存储的元数据系统获取数据,减少了与元数据系统的交互次数,提高了IO操作效率,同时通过采用将缓存数据客户端操作请求所属的客户端绑定以及对缓存数据进行引用次数统计实现对缓存数据的管理,避免无用数据占用缓存资源。
[0042]本专利技术提供的分布式存储的IO速度优化系统,通过数据缓存单元为客户端操作请求预先缓存多个目录的分布式锁数据和底层文件布局数据,使操作执行单元在客户端操作请求每次执行IO操作时只需从缓存中获取目标分布式锁数据和底层文件布局数据即可,无需再向分布式存储的元数据系统获取数据,减少了与元数据系统的交互次数,提高了IO操作效率,同时通过采用数据绑定单元将缓存数据客户端操作请求所属的客户端绑定以及缓存管理单元对缓存数据进行引用次数统计实现对缓存数据的管理,避免无用数据占用缓存资源。
[0043]本专利技术提供的终端,执行分布式存储的IO速度优化方法,通过为客户端操作请求预先缓存多个目录的分布式锁数据和本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种分布式存储的IO速度优化方法,其特征在于,包括:预先为客户端操作请求缓存多个目录的分布式锁数据和底层文件布局数据;将分布式锁数据客户端操作请求所属的客户端绑定;记录缓存的分布式锁数据和底层文件布局数据被客户端操作请求引用的次数,并根据引用次数确定分布式锁数据和底层文件布局数据的缓存时间;获取客户端操作请求的目标文件的目标目录,从缓存的数据中调取目标目录的分布式锁数据和底层文件布局数据,执行目标文件加锁和对目标文件的IO操作。2.根据权利要求1所述的方法,其特征在于,预先为客户端操作请求缓存多个目录的分布式锁数据和底层文件布局数据,包括:为客户端操作请求创建锁缓存成员,将客户端操作请求涉及的文件目录的分布式锁数据和底层文件布局数据。3.根据权利要求1所述的方法,其特征在于,将分布式锁数据客户端操作请求所属的客户端绑定,包括:通过设置客户端操作请求权限将分布式锁数据客户端操作请求所属的客户端绑定,根据绑定关系在所述客户端的所有客户端操作请求释放完成后清除失效的绑定分布式锁数据。4.根据权利要求1所述的方法,其特征在于,记录缓存的分布式锁数据和底层文件布局数据被客户端操作请求引用的次数,并根据引用次数确定分布式锁数据和底层文件布局数据的缓存时间,包括:设置引用次数随未引用时间递减的规则;根据缓存的分布式锁数据和底层文件布局数据的引用次数、未引用时间和所述规则计算缓存系数;若缓存系数为0,则清除相应的缓存数据。5.根据权利要求1所述的方法,其特征在于,获取客户端操作请求的目标文件的目标目录,从缓存的数据中调取目标目录的分布式锁数据和底层文件布局数据,执行目标文件加锁和对目标文件的IO操作,包括:获取客户端操作请求当前次IO操作的目标文件,以及目标文件所属的目标目录;从缓存的数据中查找目标目录的目标分布式锁数据和目标底层文件布局数据;根据目...
【专利技术属性】
技术研发人员:李伟,肖国栋,
申请(专利权)人:济南浪潮数据技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。