分布式存储系统及其文件写入优化方法、客户端处理方法技术方案

技术编号:18731912 阅读:24 留言:0更新日期:2018-08-22 02:53
本发明专利技术公开了一种分布式存储系统的文件写入优化方法和系统,以低成本方式改进分布式存储系统中的数据写入效率,减少了写入等待时间,提高了写入性能。其技术方案为:在写入分布式存储系统的时候在数据写入缓存中时就返回写入成功的消息,不需要在数据写入磁盘之后再返回写入成功的消息,节省了数据从缓存中写入后端机器磁盘中的时间,提高了文件写入效率。

Distributed storage system and its file write optimization method and client processing method

The invention discloses a file writing optimization method and a system of a distributed storage system, which improves the data writing efficiency in the distributed storage system in a low cost manner, reduces the writing waiting time and improves the writing performance. The technical scheme is that the successful message is returned when the data is written to the cache when the distributed storage system is written, and the successful message is not returned after the data is written to the disk, which saves the time for the data to be written from the cache to the back-end machine disk and improves the file writing efficiency.

【技术实现步骤摘要】
分布式存储系统及其文件写入优化方法、客户端处理方法
本专利技术涉及计算机领域的数据存储技术,尤其涉及分布式存储系统的文件写入的优化处理方法和系统。
技术介绍
随着计算机技术的迅速发展,各种各样的数据信息量不断增大,由最初的GB发展到TB再到现在的PB,甚至于未来的EB级,数据信息量越来越大,这对于数据的存储量的需求越来越大,传统的文件系统早已不能满足现有应用的大容量、高可用性、高性能等要求,所以分布式存储系统得到了广泛的重视。分布式存储系统是将数据分散存储在多台独立的设备上。传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。如图1所示,对于分布式存储系统,如果写入一个文件,需要进行下面几步:1、首先将数据内容写入到客户端;2、客户端根据一定的算法找出该数据需要存入哪台服务器;3、从客户端将数据存到后端找到的服务器中;4、把数据写入到后端服务器的磁盘成功后,返回写入成功的消息。由上述的数据写入流程可见,写入数据时必须等数据写入到磁盘后才能返回写入成功的消息,等待时间较长,因为写磁盘的速度是很慢的,所以会影响分布式存储系统写入数据的速度,从而降低用户体验。由于当前使用中的分布式存储系统对于大量数据的写入性能不足,严重影响了分布式存储系统的服务质量。
技术实现思路
以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以为稍后给出的更加详细的描述之序。本专利技术的目的在于解决上述问题,提供了一种分布式存储系统的文件写入优化方法和系统,以低成本方式改进分布式存储系统中的数据写入效率,减少了写入等待时间,提高了写入性能。本专利技术的技术方案为:本专利技术揭示了一种分布式存储系统的文件写入优化方法,包括:客户端接收文件写请求,将文件写入到缓存中并返回写入成功的消息;客户端在后台查找所要写入的文件在分布式存储系统中对应的服务器,接收返回的查找结果;客户端将写入到缓存中的文件再写入到查找到的分布式存储系统的服务器的磁盘中。本专利技术还揭示了一种分布式存储系统,包括至少一个客户端和多个服务器,其中客户端中安装缓存,服务器中装有磁盘,客户端将接收到的文件写请求中的文件写入到缓存中并返回写入成功的消息,然后在后台查找所写入的文件在分布式存储系统中对应的服务器并根据查找结果将写入到缓存中的文件再写入到查找到的分布式存储系统的对应的服务器的磁盘中。本专利技术还揭示了一种对分布式存储系统的文件写入进行优化的客户端处理方法,其特征在于,分布式存储系统的架构如上所述,客户端处理方法包括:步骤1:客户端接收文件写请求,维护一个写请求大小累加器,对本次写请求的数据大小进行累加放入累加器中;步骤2:判断写请求中要写入的文件是否已经存在于分布式存储系统上,若不存在则先创建该文件;步骤3:将本次写请求放入到请求队列;步骤4:对于请求队列,判断每个请求是否为写请求,如果是写请求则将当前的请求队列中写请求累加数据大小加上本次写请求的数据大小,如果不是写请求则标记当前请求并将请求队列中的当前请求之前的所有请求全部进行刷新,其中刷新操作是指将当前请求之前的所有请求移除出请求队列以表示请求的操作已经完成;步骤5:对请求队列中的每个请求进行处理,将不是写请求的请求标记出来,对于两个相邻的写请求进行合并,合并后的数据文件大小不超过缓存中的缓存页的大小;步骤6:判断请求队列是否为空或第一个请求是否为写请求,若是则进入步骤7,否则进入步骤8;步骤7:当请求队列中存在非写请求的其他请求或没有相连的写请求时对这些请求进行标记并加入到刷新队列,或步骤4中的请求队列中写请求的累加数据大小超过缓存中的窗口设定大小时将窗口内的请求加入到刷新队列;步骤8:向用户返回写入成功的消息;步骤9:判断步骤1中的当前写请求是否是第一次写请求,如果是则先申请刷新的窗口空间;步骤10:计算缓存页个数和缓存数据大小;步骤11:如果窗口个数大于设定个数,或者写请求的数据大小大于设定值,或者已经没有下个请求,则将缓存中的文件刷新到服务器的磁盘中;步骤12:恢复非写请求的其他请求,以防止请求队列中的操作被阻塞。根据本专利技术的对分布式存储系统的文件写入进行优化的客户端处理方法的一实施例,窗口大小的设定范围为512KB~1GB。根据本专利技术的对分布式存储系统的文件写入进行优化的客户端处理方法的一实施例,采用保存日志的方式防止数据在写缓存时断电丢失。本专利技术对比现有技术有如下的有益效果:本专利技术的写入优化方法在写入分布式存储系统的时候在数据写入缓存中时就返回写入成功的消息,不需要在数据写入磁盘之后再返回写入成功的消息,节省了数据从缓存中写入后端机器磁盘中的时间,提高了文件写入效率。本专利技术的改进对应用来说是透明的,是在存储系统的层面上进行的,对于上层应用不需要修改任何逻辑,也不会影响一些存储系统分析查看工具的使用。同时所有的优化都不会加长处理流程,不会增加复杂度。附图说明在结合以下附图阅读本公开的实施例的详细描述之后,能够更好地理解本专利技术的上述特征和优点。在附图中,各组件不一定是按比例绘制,并且具有类似的相关特性或特征的组件可能具有相同或相近的附图标记。图1示出了分布式存储系统的现有的文件写入方法的流程事宜图。图2示出了本专利技术的分布式存储系统的一实施例的原理图。图3示出了本专利技术的分布式存储系统的文件写入优化方法的一实施例的流程图。图4示出了本专利技术的对分布式存储系统的文件写入进行优化的客户端处理方法的一实施例的流程图。具体实施方式以下结合附图和具体实施例对本专利技术作详细描述。注意,以下结合附图和具体实施例描述的诸方面仅是示例性的,而不应被理解为对本专利技术的保护范围进行任何限制。图2示出了本专利技术的分布式存储系统的一实施例的原理。如图2所示,本实施例的分布式存储系统包括至少一个客户端(图示为1个客户端)和多个服务器(图示为2个服务器)。在客户端中安装缓存,服务器中装有磁盘。首先客户端将接收到的文件写请求中的文件写入到缓存中。然后客户端向用户返回写入成功的消息。在返回写入成功的消息之后客户端在后台进行如下的操作:查找所写入的文件在分布式存储系统中对应的服务器。客户端根据查找结果将写入到缓存中的文件再写入到查找到的分布式存储系统的对应的服务器的磁盘中。图3示出了本专利技术的分布式存储系统的文件写入优化方法的一实施例的流程。请参见图3,本实施例的方法的实施步骤如下所述。步骤S1:客户端接收文件写请求,将文件写入到缓存中并返回写入成功的消息。当数据正在写缓存时如果突然断电,还在缓存中的内容就会丢失,这样对于用户体验是很差的。在实施例中可以使用保存日志的方式防止内容丢失,正在写缓存时如果突然断电,在日志中会同步写入一些记录数据,包括文件名、数据偏移量以及文件写到哪个位置等的信息,在重新接上电源时,本实施例会自动读取日志文件,并根据日志本文档来自技高网...

【技术保护点】
1.一种分布式存储系统的文件写入优化方法,其特征在于,包括:客户端接收文件写请求,将文件写入到缓存中并返回写入成功的消息;客户端在后台查找所要写入的文件在分布式存储系统中对应的服务器,接收返回的查找结果;客户端将写入到缓存中的文件再写入到查找到的分布式存储系统的服务器的磁盘中。

【技术特征摘要】
1.一种分布式存储系统的文件写入优化方法,其特征在于,包括:客户端接收文件写请求,将文件写入到缓存中并返回写入成功的消息;客户端在后台查找所要写入的文件在分布式存储系统中对应的服务器,接收返回的查找结果;客户端将写入到缓存中的文件再写入到查找到的分布式存储系统的服务器的磁盘中。2.一种分布式存储系统,其特征在于,包括至少一个客户端和多个服务器,其中客户端中安装缓存,服务器中装有磁盘,客户端将接收到的文件写请求中的文件写入到缓存中并返回写入成功的消息,然后在后台查找所写入的文件在分布式存储系统中对应的服务器并根据查找结果将写入到缓存中的文件再写入到查找到的分布式存储系统的对应的服务器的磁盘中。3.一种对分布式存储系统的文件写入进行优化的客户端处理方法,其特征在于,分布式存储系统的架构如权利要求2所述,客户端处理方法包括:步骤1:客户端接收文件写请求,维护一个写请求大小累加器,对本次写请求的数据大小进行累加放入累加器中;步骤2:判断写请求中要写入的文件是否已经存在于分布式存储系统上,若不存在则先创建该文件;步骤3:将本次写请求放入到请求队列;步骤4:对于请求队列,判断每个请求是否为写请求,如果是写请求则将当前的请求队列中写请求累加数据大小加上本次写请求的数据大小,如果不是写请求则标记当前请求并将请求队列中的当前请求之前的所有...

【专利技术属性】
技术研发人员:颜新波钱明丁晓杰曹敬涛徐启亮韩明轩
申请(专利权)人:上海凯翔信息科技有限公司
类型:发明
国别省市:上海,31

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

1