[发明专利]一种基于离线缓存文件操作集中记录预处理并重放的方法有效
申请号: | 201310344811.9 | 申请日: | 2013-08-09 |
公开(公告)号: | CN103514258A | 公开(公告)日: | 2014-01-15 |
发明(设计)人: | 丁亚军 | 申请(专利权)人: | 北京龙存科技有限责任公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;H04L29/08 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100000 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 离线 缓存 文件 操作 集中 记录 预处理 重放 方法 | ||
技术领域
本发明涉及分布式存储系统的元数据与文件操作管理方法技术领域,特别涉及一种基于离线缓存文件操作集中记录预处理并重放的方法。
背景技术
在文件系统中,所有应用程序针对元数据和文件的操作都是按照时间顺序依次在元数据和存储中进行的。这些操作序列可以包括文件的创建、删除、重命名、加锁和解锁、属性和权限修改、文件的写入等。当应用程序需要频繁的创建、写入、读取、删除临时文件时,就需要频繁的进行这些操作。
在分布式共享文件系统中,为了实现应用服务器对文件系统的上述操作的支持。使用该文件系统的应用服务器可以采用如下步骤完成操作:
1、连接元数据服务器
2、发送元数据操作的具体内容到元数据服务器
3、元数据服务器完成操作后,通知应用服务器
4、应用服务器收到完成通知后,按照元数据指令,连接存储服务器
5、应用服务器向存储服务器发送要存储的文件中的内容数据
6、应用服务器结束文件内容数据传输后,继续接下来的工作。
对于每一个元数据操作,应用服务器都需要先连接元数据服务器,完成操作,再断开连接。因为网络通信延迟高,因此该操作代价很高。
对于文件内容数据的写入,也同样需要经过上述的步骤,这会严重影响整个应用程序的性能。
Lustre文件系统实现了一个类似的元数据操作本地缓存,上传元数据重放机制,减少网络通信的开销。但是该机制只是简单的将这些操作上传到元数据重新播放。对于大量临时文件的创建,写入和删除操作,仍然需要频繁的与存储服务器通信。且在元数据服务器上仍然需要多次操作。
发明内容
为了解决现有技术的问题,本发明提供了一种基于离线缓存文件操作集中记录预处理并重放的方法,其能够减小与分布式文件系统各个服务器的网络通信,降低网络开销,避免不必要的操作,提升临时文件的操作性能。
本发明所采用的技术方案如下:
一种基于离线缓存文件操作集中记录预处理并重放的方法,包括以下步骤:
A、应用服务器端将文件操作信息,及文件内容数据记录到本地;
B、应用服务器端对文件操作做预处理,删除并合并文件元数据相关操作和数据;
C、应用服务器端将预处理后的文件系统操作日志上传至元数据服务器重放,将文件内容数据按照元数据的指令上传到对应的存储服务器上。
步骤A具体包括:
A1、开辟缓存:在应用服务器端,开辟一个内核态缓存,用于记录所有针对临时文件的操作文件系统操作日志,包括文件的创建、属性修改、文件内容的增删改查操作,同时开辟一块缓存存放数据缓存日志,用于记录被操作的文件内容;
A2、记录文件操作:所有文件操作相关的系统调用,在操作系统内核态,都先记录在本地缓存中,而非直接与元数据服务器、存储服务器通信,所有针对元数据的操作,记录在文件系统操作日志中;针对文件内容的操作,记录在数据缓存日志中。
步骤B具体包括:积累到一定记录后,应用服务器首先在内核态中,按照时间顺序预处理文件系统操作日志,找到其中可以抵销的操作,将其删除;找到可以合并的操作,将其合并;
步骤C具体包括:
C1、预处理后的文件系统操作日志在元数据服务器上重放:将预处理后的文件元数据操作文件系统操作日志上传到元数据服务器,元数据服务器收到该日志后,将其在按照时间顺序重放,并完成日志中的操作;
C2、将预处理后的数据缓存日志上传到对应的存储服务器中:元数据完成文件系统操作日志的处理之后,应用服务器根据元数据服务器的指令,将预处理后的文件数据缓存日志分别上传给对应的存储服务器。
本发明提供的技术方案带来的有益效果是:
1、进一步减小应用服务器在操作文件时的性能开销,对于大量临时文件创建和写入操作。除避免和元数据通信外,还可以避免将数据保存到存储服务器、再从存储服务器上将数据删除的操作。降低和存储服务器的通信。
2、提前在本地缓存中对元数据和文件数据的操作进行预处理。找出可以互相抵消的操作序列。例如,实现创建一个临时文件,写入少量数据,又在不久后删除该文件。这种序列可以直接删除,无需再在元数据服务器和存储服务器上重放。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京龙存科技有限责任公司,未经北京龙存科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310344811.9/2.html,转载请声明来源钻瓜专利网。