一种处理写请求的方法和装置的制造方法

文档序号:9375804阅读:176来源:国知局
一种处理写请求的方法和装置的制造方法
【技术领域】
[0001]本发明涉及计算机技术领域,具体涉及一种处理写请求的方法和装置。
【背景技术】
[0002]随着云存储系统的迅速发展,日志机制作为云存储系统中用来保证数据一致性的常用机制之一,也得到广泛的应用。在使用日志机制的云存储系统中,存在一个被称为日志的追踪文件,提交到系统的所有更改操作,都会先记录到日志中,然后再执行实际的更改。在系统遭遇故障并重启后,可以通过回放日志完成重启之前尚未完成的操作,避免出现数据不一致或不完整的情况。
[0003]然而,日志机制要求所有的更新操作都必须先记录日志,再实际执行。在处理写请求时,既将待写入内容记录到日志,又要将待写入内容写入到目标文件,因此,待写入内容实际上被写入了两次,导致系统的写入带宽只能达到物理带宽的一半,对物理带宽的使用率较低。

【发明内容】

[0004]本发明提供了一种处理写请求的方法和装置,以解决现有技术中物理带宽使用率较低的缺陷。
[0005]本发明提供了一种处理写请求的方法,包括以下步骤:
[0006]将与写请求对应的待写入内容写入到临时文件;
[0007]在日志中记录从所述临时文件到目标文件的重命名操作;
[0008]将所述临时文件重命名为所述目标文件。
[0009]可选地,所述将与写请求对应的待写入内容写入到临时文件之前,还包括:
[0010]判断所述写请求是否为完全写请求;
[0011]所述将与写请求对应的待写入内容写入到临时文件,具体为:
[0012]当所述写请求为完全写请求时,将与所述写请求对应的待写入内容写入到临时文件。
[0013]可选地,判断所述写请求是否为完全写请求,具体为:
[0014]判断所述写请求是否满足以下条件:所述目标文件不存在;或者,写入位置为所述目标文件的开头且写入长度不小于所述目标文件的大小;如果满足,则确定所述写请求为完全写请求;否则,确定所述写请求不是完全写请求。
[0015]可选地,所述将与写请求对应的待写入内容写入到临时文件之前,还包括:
[0016]创建所述临时文件。
[0017]可选地,所述的方法,还包括:
[0018]在系统重启时,读取并回放所述日志;
[0019]删除所述系统中存在的临时文件。
[0020]本发明还提供了一种处理写请求的装置,包括:
[0021]写入模块,用于将与写请求对应的待写入内容写入到临时文件;
[0022]记录模块,用于在日志中记录从所述临时文件到目标文件的重命名操作;
[0023]重命名模块,用于在所述记录模块记录所述重命名操作后,将所述写入模块写入的所述临时文件重命名为所述目标文件。
[0024]可选地,所述的装置,还包括:
[0025]判断模块,用于判断所述写请求是否为完全写请求;
[0026]所述写入模块,具体用于在所述判断模块判断出所述写请求为完全写请求时,将与所述写请求对应的待写入内容写入到临时文件。
[0027]可选地,所述判断模块,具体用于判断所述写请求是否满足以下条件:所述目标文件不存在;或者,写入位置为所述目标文件的开头且写入长度不小于所述目标文件的大小;如果满足,则确定所述写请求为完全写请求;否则,确定所述写请求不是完全写请求。
[0028]可选地,所述的装置,还包括:
[0029]创建模块,用于创建所述临时文件。
[0030]可选地,所述的装置,还包括:
[0031]删除模块,用于当系统重启时,在回放所述日志后,删除所述系统中存在的临时文件。
[0032]本发明先将待写入内容写入到临时文件,再对临时文件进行重命名,只需要对待写入内容执行一次写入,使得系统的写入带宽能够接近或达到实际的物理带宽,能够有效提高物理带宽的使用率。
【附图说明】
[0033]图1为本发明实施例中的一种处理写请求的方法流程图;
[0034]图2为本发明实施例中的一种处理写请求的装置结构图。
【具体实施方式】
[0035]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0036]需要说明的是,如果不冲突,本发明实施例以及实施例中的各个特征可以相互结合,均在本发明的保护范围之内。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0037]本发明实施例提供了一种处理写请求的方法,如图1所示,包括以下步骤:
[0038]步骤101,接收写请求。
[0039]步骤102,判断写请求是否为完全写请求,如果是,则执行步骤103 ;否则,执行步骤 106。
[0040]具体地,可以判断写请求是否满足以下条件:目标文件不存在;或者,写入位置为目标文件的开头且写入长度不小于目标文件的大小;如果满足,则确定写请求为完全写请求;否则,确定写请求不是完全写请求。[0041 ] 其中,完全写请求为待写入内容能够完全覆盖目标文件中的原有内容的写请求。
[0042]步骤103,创建临时文件,将与写请求对应的待写入内容写入到临时文件。
[0043]步骤104,在日志中记录从临时文件到目标文件的重命名操作。
[0044]步骤105,将临时文件重命名为目标文件。
[0045]步骤106,将待写入内容记录到日志。
[0046]步骤107,将待写入内容写入到目标文件。
[0047]需要说明的是,在系统重启时,读取并回放日志,然后删除系统中存在的临时文件。
[0048]具体地,系统因为遇到故障而停止运行时,有可能已经向临时文件中写入了部分或全部数据,但还
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1