CN105095418B - 一种处理写请求的方法和装置 - Google Patents

一种处理写请求的方法和装置 Download PDF

Info

Publication number
CN105095418B
CN105095418B CN201510409614.XA CN201510409614A CN105095418B CN 105095418 B CN105095418 B CN 105095418B CN 201510409614 A CN201510409614 A CN 201510409614A CN 105095418 B CN105095418 B CN 105095418B
Authority
CN
China
Prior art keywords
write request
written
file
temporary file
complete
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510409614.XA
Other languages
English (en)
Other versions
CN105095418A (zh
Inventor
吴明桥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Beijing Electronic Information Industry Co Ltd
Original Assignee
Inspur Beijing Electronic Information Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Beijing Electronic Information Industry Co Ltd filed Critical Inspur Beijing Electronic Information Industry Co Ltd
Priority to CN201510409614.XA priority Critical patent/CN105095418B/zh
Publication of CN105095418A publication Critical patent/CN105095418A/zh
Application granted granted Critical
Publication of CN105095418B publication Critical patent/CN105095418B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/164File meta data generation
    • G06F16/166File name conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Retry When Errors Occur (AREA)

Abstract

本发明公开了一种处理写请求的方法和装置,该方法包括以下步骤:将与写请求对应的待写入内容写入到临时文件;在日志中记录从所述临时文件到目标文件的重命名操作;将所述临时文件重命名为所述目标文件。本发明先将待写入内容写入到临时文件,再对临时文件进行重命名,只需要对待写入内容执行一次写入,使得系统的写入带宽能够接近或达到实际的物理带宽,能够有效提高物理带宽的使用率。

Description

一种处理写请求的方法和装置
技术领域
本发明涉及计算机技术领域,具体涉及一种处理写请求的方法和装置。
背景技术
随着云存储系统的迅速发展,日志机制作为云存储系统中用来保证数据一致性的常用机制之一,也得到广泛的应用。在使用日志机制的云存储系统中,存在一个被称为日志的追踪文件,提交到系统的所有更改操作,都会先记录到日志中,然后再执行实际的更改。在系统遭遇故障并重启后,可以通过回放日志完成重启之前尚未完成的操作,避免出现数据不一致或不完整的情况。
然而,日志机制要求所有的更新操作都必须先记录日志,再实际执行。在处理写请求时,既将待写入内容记录到日志,又要将待写入内容写入到目标文件,因此,待写入内容实际上被写入了两次,导致系统的写入带宽只能达到物理带宽的一半,对物理带宽的使用率较低。
发明内容
本发明提供了一种处理写请求的方法和装置,以解决现有技术中物理带宽使用率较低的缺陷。
本发明提供了一种处理写请求的方法,包括以下步骤:
将与写请求对应的待写入内容写入到临时文件;
在日志中记录从所述临时文件到目标文件的重命名操作;
将所述临时文件重命名为所述目标文件。
可选地,所述将与写请求对应的待写入内容写入到临时文件之前,还包括:
判断所述写请求是否为完全写请求;
所述将与写请求对应的待写入内容写入到临时文件,具体为:
当所述写请求为完全写请求时,将与所述写请求对应的待写入内容写入到临时文件。
可选地,判断所述写请求是否为完全写请求,具体为:
判断所述写请求是否满足以下条件:所述目标文件不存在;或者,写入位置为所述目标文件的开头且写入长度不小于所述目标文件的大小;如果满足,则确定所述写请求为完全写请求;否则,确定所述写请求不是完全写请求。
可选地,所述将与写请求对应的待写入内容写入到临时文件之前,还包括:
创建所述临时文件。
可选地,所述的方法,还包括:
在系统重启时,读取并回放所述日志;
删除所述系统中存在的临时文件。
本发明还提供了一种处理写请求的装置,包括:
写入模块,用于将与写请求对应的待写入内容写入到临时文件;
记录模块,用于在日志中记录从所述临时文件到目标文件的重命名操作;
重命名模块,用于在所述记录模块记录所述重命名操作后,将所述写入模块写入的所述临时文件重命名为所述目标文件。
可选地,所述的装置,还包括:
判断模块,用于判断所述写请求是否为完全写请求;
所述写入模块,具体用于在所述判断模块判断出所述写请求为完全写请求时,将与所述写请求对应的待写入内容写入到临时文件。
可选地,所述判断模块,具体用于判断所述写请求是否满足以下条件:所述目标文件不存在;或者,写入位置为所述目标文件的开头且写入长度不小于所述目标文件的大小;如果满足,则确定所述写请求为完全写请求;否则,确定所述写请求不是完全写请求。
可选地,所述的装置,还包括:
创建模块,用于创建所述临时文件。
可选地,所述的装置,还包括:
删除模块,用于当系统重启时,在回放所述日志后,删除所述系统中存在的临时文件。
本发明先将待写入内容写入到临时文件,再对临时文件进行重命名,只需要对待写入内容执行一次写入,使得系统的写入带宽能够接近或达到实际的物理带宽,能够有效提高物理带宽的使用率。
附图说明
图1为本发明实施例中的一种处理写请求的方法流程图;
图2为本发明实施例中的一种处理写请求的装置结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,如果不冲突,本发明实施例以及实施例中的各个特征可以相互结合,均在本发明的保护范围之内。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明实施例提供了一种处理写请求的方法,如图1所示,包括以下步骤:
步骤101,接收写请求。
步骤102,判断写请求是否为完全写请求,如果是,则执行步骤103;否则,执行步骤106。
具体地,可以判断写请求是否满足以下条件:目标文件不存在;或者,写入位置为目标文件的开头且写入长度不小于目标文件的大小;如果满足,则确定写请求为完全写请求;否则,确定写请求不是完全写请求。
其中,完全写请求为待写入内容能够完全覆盖目标文件中的原有内容的写请求。
步骤103,创建临时文件,将与写请求对应的待写入内容写入到临时文件。
步骤104,在日志中记录从临时文件到目标文件的重命名操作。
步骤105,将临时文件重命名为目标文件。
步骤106,将待写入内容记录到日志。
步骤107,将待写入内容写入到目标文件。
需要说明的是,在系统重启时,读取并回放日志,然后删除系统中存在的临时文件。
具体地,系统因为遇到故障而停止运行时,有可能已经向临时文件中写入了部分或全部数据,但还没有将重命名操作记录到日志,导致临时文件变成垃圾文件。因此,在系统重启的过程中,在读取并回放日志后,删除系统中仍然存在的所有临时文件,避免出现垃圾文件。
本发明实施例先将待写入内容写入到临时文件,再对临时文件进行重命名,只需要对待写入内容执行一次写入,使得系统的写入带宽能够接近或达到实际的物理带宽,能够有效提高物理带宽的使用率。此外,系统重启过程中,在回放日志后,删除系统中的所有临时文件,能够避免在系统中出现垃圾文件。
基于上述处理写请求的方法,本发明实施例还提供了一种处理写请求的装置,如图2所示,包括:
写入模块210,用于将与写请求对应的待写入内容写入到临时文件。
记录模块220,用于在日志中记录从临时文件到目标文件的重命名操作。
重命名模块230,用于在记录模块220记录重命名操作后,将写入模块210写入的临时文件重命名为目标文件。
进一步地,上述装置,还包括:
判断模块240,用于判断写请求是否为完全写请求;
相应地,上述写入模块210,具体用于在判断模块240判断出写请求为完全写请求时,将与写请求对应的待写入内容写入到临时文件。
具体地,上述判断模块240,具体用于判断写请求是否满足以下条件:目标文件不存在;或者,写入位置为目标文件的开头且写入长度不小于目标文件的大小;如果满足,则确定写请求为完全写请求;否则,确定写请求不是完全写请求。
进一步地,上述装置,还包括:
创建模块250,用于创建临时文件。
进一步地,上述装置,还包括:
回放模块260,用于在系统重启时,读取并回放日志;
删除模块270,用于在回放模块260回放日志后,删除系统中存在的临时文件。
本发明实施例先将待写入内容写入到临时文件,再对临时文件进行重命名,只需要对待写入内容执行一次写入,使得系统的写入带宽能够接近或达到实际的物理带宽,能够有效提高物理带宽的使用率。此外,系统重启过程中,在回放日志后,删除系统中的所有临时文件,能够避免在系统中出现垃圾文件。
结合本文中所公开的实施例描述的方法中的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (8)

1.一种处理写请求的方法,其特征在于,包括以下步骤:
判断所述写请求是否为完全写请求;
当所述写请求为完全写请求时,将与写请求对应的待写入内容写入到临时文件;
在日志中记录从所述临时文件到目标文件的重命名操作;
将所述临时文件重命名为所述目标文件。
2.如权利要求1所述的方法,其特征在于,判断所述写请求是否为完全写请求,具体为:
判断所述写请求是否满足以下条件:所述目标文件不存在;或者,写入位置为所述目标文件的开头且写入长度不小于所述目标文件的大小;如果满足,则确定所述写请求为完全写请求;否则,确定所述写请求不是完全写请求。
3.如权利要求1所述的方法,其特征在于,所述将与写请求对应的待写入内容写入到临时文件之前,还包括:
创建所述临时文件。
4.如权利要求3所述的方法,其特征在于,还包括:
在系统重启时,读取并回放所述日志;
删除所述系统中存在的临时文件。
5.一种处理写请求的装置,其特征在于,包括:
判断模块,用于判断所述写请求是否为完全写请求;
写入模块,用于在所述判断模块判断出所述写请求为完全写请求时,将与所述写请求对应的待写入内容写入到临时文件;
记录模块,用于在日志中记录从所述临时文件到目标文件的重命名操作;
重命名模块,用于在所述记录模块记录所述重命名操作后,将所述写入模块写入的所述临时文件重命名为所述目标文件。
6.如权利要求5所述的装置,其特征在于,
所述判断模块,具体用于判断所述写请求是否满足以下条件:所述目标文件不存在;或者,写入位置为所述目标文件的开头且写入长度不小于所述目标文件的大小;如果满足,则确定所述写请求为完全写请求;否则,确定所述写请求不是完全写请求。
7.如权利要求5所述的装置,其特征在于,还包括:
创建模块,用于创建所述临时文件。
8.如权利要求7所述的装置,其特征在于,还包括:
删除模块,用于当系统重启时,在回放所述日志后,删除所述系统中存在的临时文件。
CN201510409614.XA 2015-07-13 2015-07-13 一种处理写请求的方法和装置 Active CN105095418B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510409614.XA CN105095418B (zh) 2015-07-13 2015-07-13 一种处理写请求的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510409614.XA CN105095418B (zh) 2015-07-13 2015-07-13 一种处理写请求的方法和装置

Publications (2)

Publication Number Publication Date
CN105095418A CN105095418A (zh) 2015-11-25
CN105095418B true CN105095418B (zh) 2018-07-27

Family

ID=54575855

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510409614.XA Active CN105095418B (zh) 2015-07-13 2015-07-13 一种处理写请求的方法和装置

Country Status (1)

Country Link
CN (1) CN105095418B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105515855B (zh) * 2015-12-04 2018-10-30 浪潮(北京)电子信息产业有限公司 一种云存储系统中直接纠删的日志回放优化方法及装置
CN107239480B (zh) * 2016-03-28 2021-01-29 阿里巴巴集团控股有限公司 用于分布式文件系统执行重命名操作的方法和设备
CN107220388A (zh) * 2017-06-30 2017-09-29 郑州云海信息技术有限公司 一种上传文件的方法与装置
CN114936387B (zh) * 2022-07-25 2022-11-29 深圳市明源云科技有限公司 文本文件读取方法、写入方法、电子设备及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7991979B2 (en) * 2008-09-23 2011-08-02 International Business Machines Corporation Issuing load-dependent instructions in an issue queue in a processing unit of a data processing system
CN102541986A (zh) * 2011-10-27 2012-07-04 梁松 一种文件操作监控审计方法
CN103514258A (zh) * 2013-08-09 2014-01-15 北京龙存科技有限责任公司 一种基于离线缓存文件操作集中记录预处理并重放的方法
CN104572416A (zh) * 2014-12-29 2015-04-29 北京锐安科技有限公司 一种运维数据的处理方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7991979B2 (en) * 2008-09-23 2011-08-02 International Business Machines Corporation Issuing load-dependent instructions in an issue queue in a processing unit of a data processing system
CN102541986A (zh) * 2011-10-27 2012-07-04 梁松 一种文件操作监控审计方法
CN103514258A (zh) * 2013-08-09 2014-01-15 北京龙存科技有限责任公司 一种基于离线缓存文件操作集中记录预处理并重放的方法
CN104572416A (zh) * 2014-12-29 2015-04-29 北京锐安科技有限公司 一种运维数据的处理方法及装置

Also Published As

Publication number Publication date
CN105095418A (zh) 2015-11-25

Similar Documents

Publication Publication Date Title
US11093149B2 (en) Method to efficiently store object data of an object storage service on a magnetic disk drive and magnetic SMR disk drive
KR101702201B1 (ko) 솔리드 스테이트 드라이브(ssd)에 대한 최적화된 컨텍스트 드롭
US9448890B2 (en) Aggregation of write traffic to a data store
US8321482B2 (en) Selectively modifying files of a container file
CN105095418B (zh) 一种处理写请求的方法和装置
US10073649B2 (en) Storing metadata
CN105677258A (zh) 一种日志数据管理方法及系统
US9785641B2 (en) Reducing a backup time of a backup of data files
CN107643880A (zh) 基于分布式文件系统的文件数据迁移的方法及装置
GB2543392A (en) Methods and systems for improving storage journaling
US20170286150A1 (en) Transaction Processing Method and Apparatus, and Computer System
US9785438B1 (en) Media cache cleaning based on workload
US9990150B2 (en) Method to provide transactional semantics for updates to data structures stored in a non-volatile memory
CN111240879B (zh) 一种sas卡固件日志收集方法、系统、装置及存储介质
US8402230B2 (en) Recoverability while adding storage to a redirect-on-write storage pool
CN110658993A (zh) 一种快照回滚方法、装置、设备及存储介质
JP5729479B2 (ja) 仮想テープ装置及び仮想テープ装置の制御方法
CN105139870A (zh) 一种光盘的实时刻录方法及装置
CN110767258B (zh) 数据擦除命令测试方法和相关装置
US20130031320A1 (en) Control device, control method and storage apparatus
CN110019086A (zh) 基于分布式文件系统的多副本读取方法、设备及存储介质
US9672222B1 (en) Write-through buffer cache for write-able file system that utilizes differencing disk to preserve read-only data
CN111090396A (zh) 一种文件的处理方法、装置及电子设备
CN105573862A (zh) 一种恢复文件系统的方法和设备
CN112667161B (zh) 文件系统的数据处理方法、装置、设备及介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant