一种基于离线缓存文件操作集中记录预处理并重放的方法技术

技术编号:9569081 阅读:159 留言:0更新日期:2014-01-16 02:38
本发明专利技术涉及分布式存储系统的元数据与文件操作管理方法技术领域,特别涉及一种基于离线缓存文件操作集中记录预处理并重放的方法。本发明专利技术采用文件系统操作日志和数据缓存日志的离线缓存机制。可以在多次连续追加写入之后,将数据缓存日志中对应的内容预处理,合并这些缓存,减少数据补齐读取操作,提升性能。本发明专利技术(一种基于离线缓存文件操作集中记录预处理并重放的方法)其能够减小与分布式文件系统各个服务器的网络通信,降低网络开销,避免不必要的操作,提升临时文件的操作性能。

【技术实现步骤摘要】
一种基于离线缓存文件操作集中记录预处理并重放的方法
本专利技术涉及分布式存储系统的元数据与文件操作管理方法
,特别涉及一种基于离线缓存文件操作集中记录预处理并重放的方法。
技术介绍
在文件系统中,所有应用程序针对元数据和文件的操作都是按照时间顺序依次在元数据和存储中进行的。这些操作序列可以包括文件的创建、删除、重命名、加锁和解锁、属性和权限修改、文件的写入等。当应用程序需要频繁的创建、写入、读取、删除临时文件时,就需要频繁的进行这些操作。在分布式共享文件系统中,为了实现应用服务器对文件系统的上述操作的支持。使用该文件系统的应用服务器可以采用如下步骤完成操作:1、连接元数据服务器2、发送元数据操作的具体内容到元数据服务器3、元数据服务器完成操作后,通知应用服务器4、应用服务器收到完成通知后,按照元数据指令,连接存储服务器5、应用服务器向存储服务器发送要存储的文件中的内容数据6、应用服务器结束文件内容数据传输后,继续接下来的工作。对于每一个元数据操作,应用服务器都需要先连接元数据服务器,完成操作,再断开连接。因为网络通信延迟高,因此该操作代价很高。对于文件内容数据的写入,也同样需要经过上述的步骤,这会严重影响整个应用程序的性能。Lustre文件系统实现了一个类似的元数据操作本地缓存,上传元数据重放机制,减少网络通信的开销。但是该机制只是简单的将这些操作上传到元数据重新播放。对于大量临时文件的创建,写入和删除操作,仍然需要频繁的与存储服务器通信。且在元数据服务器上仍然需要多次操作。
技术实现思路
为了解决现有技术的问题,本专利技术提供了一种基于离线缓存文件操作集中记录预处理并重放的方法,其能够减小与分布式文件系统各个服务器的网络通信,降低网络开销,避免不必要的操作,提升临时文件的操作性能。本专利技术所采用的技术方案如下:一种基于离线缓存文件操作集中记录预处理并重放的方法,包括以下步骤:A、应用服务器端将文件操作信息记录到本地;B、应用服务器端对文件操作做预处理,删除并合并文件元数据相关操作和数据;C、应用服务器端将预处理后的文件系统操作日志上传至元数据服务器重放。步骤A具体包括:A1、开辟缓存:在应用服务器端,开辟一个内核态缓存,用于记录所有针对文件的文件系统操作日志,包括文件的创建、属性修改、文件内容的增删改查操作,同时开辟一块缓存指数据缓存日志,用于记录被操作的文件内容;A2、记录文件操作:所有文件操作相关的系统调用,在操作系统内核态,都先记录在本地缓存中,而非直接与元数据服务器、存储服务器通信,所有针对元数据的操作,记录在文件系统操作日志中;针对文件内容的操作,记录在数据缓存日志中。步骤B具体包括:积累到一定记录后,应用服务器首先在内核态中,按照时间顺序预处理文件系统操作日志,找到其中可以忽略的操作,将其删除;找到可以合并的操作,将其合并。步骤C具体包括:C1、预处理后的文件系统操作日志在元数据服务器上重放:将预处理后的文件元数据操作文件系统操作日志上传到元数据服务器,元数据服务器收到该日志后,将其再按照时间顺序重放,并完成日志中的操作;C2、将预处理后的指数据缓存日志上传到对应的存储服务器中:元数据服务器完成文件系统操作日志的处理之后,应用服务器根据元数据服务器的指令,将预处理后的文件数据缓存日志分别上传给对应的存储服务器。本专利技术提供的技术方案带来的有益效果是:1、进一步减小应用服务器在操作文件时的性能开销,对于大量临时文件创建和写入操作。除避免和元数据通信外,还可以避免将数据保存到存储服务器、再从存储服务器上将数据删除的操作。降低和存储服务器的通信。2、提前在本地缓存中对元数据和文件数据的操作进行预处理。找出可以互相抵消的操作序列。例如,实现创建一个临时文件,写入少量数据,又在不久后删除该文件。这种序列可以直接删除,无需再在元数据服务器和存储服务器上重放。附图说明为了更清楚地说明本专利技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术的一种基于离线缓存文件操作集中记录预处理并重放的方法中,应用服务器将文件操作信息记录到本地的流程图;图2为本专利技术的一种基于离线缓存文件操作集中记录预处理并重放的方法中,应用服务器对文件操作做预处理,删除并合并文件元数据相关操作和数据的流程图;图3为本专利技术的一种基于离线缓存文件操作集中记录预处理并重放的方法中,应用服务器将预处理后的文件系统操作日志上传至元数据服务器重放的流程图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。如附图1-3所示,一种基于离线缓存文件操作集中记录预处理并重放的方法,包括以下步骤:A、应用服务器端将文件操作信息记录到本地;步骤A具体包括:A1、开辟缓存:在应用服务器端,开辟一个内核态缓存,用于记录所有针对文件的文件系统操作日志,包括文件的创建、属性修改、文件内容的增删改查操作,同时开辟一块缓存指数据缓存日志,用于记录被操作的文件内容;A2、记录文件操作:所有文件操作相关的系统调用,在操作系统内核态,都先记录在本地缓存中,而非直接与元数据服务器、存储服务器通信,所有针对元数据的操作,记录在文件系统操作日志中;针对文件内容的操作,记录在数据缓存日志中。B、应用服务器端对文件操作做预处理,删除并合并文件元数据相关操作和数据;C、应用服务器端将预处理后的文件系统操作日志上传至元数据服务器重放。步骤B具体包括:积累到一定记录后,应用服务器首先在内核态中,按照时间顺序预处理文件系统操作日志,找到其中可以忽略的操作,将其删除;找到可以合并的操作,将其合并。步骤C具体包括:C1、预处理后的文件系统操作日志在元数据服务器上重放:将预处理后的文件元数据操作文件系统操作日志上传到元数据服务器,元数据服务器收到该日志后,将其再按照时间顺序重放,并完成日志中的操作;C2、将预处理后的指数据缓存日志上传到对应的存储服务器中:元数据服务器完成文件系统操作日志的处理之后,应用服务器根据元数据服务器的指令,将预处理后的文件数据缓存日志分别上传给对应的存储服务器。实施例1:优化包含大量临时文件操作的应用。对于进行大量Word等Office文件编辑的文件系统挂载节点。为了保证互斥访问这些office文档,记录操作相关信息。Word会在要打开的文件所在文件夹中,创建一个临时文件,在编辑文档的过程中,也会修改此临时文件,并在结束编辑后删除该文件。使用本专利技术的一种基于离线缓存文件操作集中记录预处理并重放的方法,在文件系统的挂载节点(即一台文件系统的应用服务器上),使用该技术方案中的机制,能避免频繁与元数据、数据服务器的通信,降低网络开销,提升应用程序的性能。实施例2:优化包含反复修改文件的属性或指定位置内容的应用。在个人网盘等存储应用中,可能需要频繁的读写文件中的某一个指定部分,或者需要多次修改文件的属性等元数据信息。将这些操纵都使用文件系统操作日志和指数据缓存日志管理起来,并在上传到元数据做重放操作之前进行预处理,能帮助合并或者删除不必要的文件内容或者元数据本文档来自技高网...
一种基于离线缓存文件操作集中记录预处理并重放的方法

【技术保护点】
一种基于离线缓存文件操作集中记录预处理并重放的方法,包括以下步骤:A、应用服务器端将文件操作信息记录到本地;B、应用服务器端对文件操作做预处理,删除并合并文件元数据相关操作和数据;C、应用服务器端将预处理后的文件系统操作日志上传至元数据服务器重放,将文件内容数据按照元数据的指令上传到对应的存储服务器上。

【技术特征摘要】
1.一种基于离线缓存文件操作集中记录预处理并重放的方法,包括以下步骤:A、开辟缓存:在应用服务器端,开辟一个内核态缓存,用于记录所有针对文件的文件系统操作日志,包括文件的创建、属性修改、文件内容的增删改查操作,同时开辟一块缓存存放数据缓存日志,用于记录被操作的文件内容;记录文件操作:所有文件操作相关的系统调用,在操作系统内核态,都先记录在本地缓存中,而非直接与元数据服务器、存储服务器通信,所有针对元数据的操作,记录在文件系统操作日志中;针对文件内容的操作,记录在数据缓存日志中;B、应用服务器端对文件系统操作日志和数据缓存日志做预处理,删除并合并文件元数据相关操作和数据;C、应用服务器端将预处理后的文件系统操作日志上传至元数据服务器重放;将预处理后的数据缓存日志上传到对应的存储服务器中。2.根据权利要...

【专利技术属性】
技术研发人员:丁亚军
申请(专利权)人:北京龙存科技有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1