CN110516479B - 一种数据写入方法及相关装置 - Google Patents
一种数据写入方法及相关装置 Download PDFInfo
- Publication number
- CN110516479B CN110516479B CN201910760809.7A CN201910760809A CN110516479B CN 110516479 B CN110516479 B CN 110516479B CN 201910760809 A CN201910760809 A CN 201910760809A CN 110516479 B CN110516479 B CN 110516479B
- Authority
- CN
- China
- Prior art keywords
- data
- written
- writing
- snapshot
- cache
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000011010 flushing procedure Methods 0.000 claims abstract description 14
- 230000001680 brushing effect Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 230000000295 complement effect Effects 0.000 claims description 3
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000012545 processing Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000002035 prolonged effect Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
Abstract
本申请公开了一种数据写入方法,包括:判断是否存在与接收到的待写入数据对应的快照数据;若是,将待写入数据在缓存中对应的第一原数据更新至快照数据中;获取待写入数据在硬盘中对应的第二原数据的数据地址,以便当执行数据下刷操作之前,根据数据地址将第二原数据更新至快照数据中;将待写入数据写入缓存中,实现数据写入操作。通过在数据写入的时候只将第一原数据更新在快照数据中,而对于第二原数据则记录数据地址以便后续进行更新操作,最后将待写入数据写入缓存中,实现数据写入,并且无需等待硬盘中的数据读取写入,提高了数据写入的效率和速度。本申请还公开了一种数据写入装置、服务器以及计算机可读存储介质,具有以上有益效果。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种数据写入方法、数据写入装置、服务器以及计算机可读存储介质。
背景技术
随着数据存储技术的不断发展,存储的数据量巨增,存储数据的存储速度以及存储性能的要求也越来越高,同时还要保证数据存储的安全性。因此,目前的技术中通常通过数据快照技术对数据的安全进行保护。
因此,当应用的环境中存在数据快照机制时,向存储介质中保存数据时,就需要判断该数据在快照数据中是否存在对应的对象。若不存在,则表示快照中没有需要进行修改的对应的快照数据,因此,可以将该数据直接写入存储介质中进行保存。但是,当快照数据中存在对应的对象时,则需要将原有的数据从存储介质读取出来再写入到快照数据中,当写入快照数据后再将新的数据写入到存储介质中,可见,新数据不仅无法直接写入到存储介质中,还需要等待存储介质中的数据读取出来后再进行写数据。也就是说需要更多的等待时间,才能完成数据写入操作。降低了写数据的效率,延长了等待时间,降低用户体验。
因此,如何提高数据写操作的效率是本领域技术人员关注的重点问题。
发明内容
本申请的目的是提供一种数据写入方法、数据写入装置、服务器以及计算机可读存储介质,通过在数据写入的时候只将第一原数据更新在快照数据中,而对于第二原数据则只记录数据地址以便后续进行更新操作,最后将待写入数据写入缓存中,实现数据写入,并且无需等待硬盘中的数据读取写入,提高了数据写入的效率和速度。
为解决上述技术问题,本申请提供一种数据写入方法,包括:
判断是否存在与接收到的待写入数据对应的快照数据;
若是,则将所述待写入数据在缓存中对应的第一原数据更新至所述快照数据中;
获取所述待写入数据在硬盘中对应的第二原数据的数据地址,以便当执行数据下刷操作之前,根据所述数据地址将所述第二原数据更新至所述快照数据中;
将所述待写入数据写入所述缓存中,实现数据写入操作。
可选的,还包括:
当不存在与所述待写入数据对应的快照数据时,将所述待写入数据写入所述硬盘中。
可选的,执行数据下刷操作,包括:
将所述缓存中的所述待写入数据写入至所述硬盘中的对应位置。
可选的,所述第一原数据与所述第二原数据的对应关系为互补关系。
本申请还提供一种数据写入装置,包括:
快照数据判断模块,用于判断是否存在与接收到的待写入数据对应的快照数据;
第一原数据更新模块,用于当所述存在所述待写入数据对应的快照数据时,将所述待写入数据在缓存中对应的第一原数据更新至所述快照数据中;
第二原数据更新模块,用于获取所述待写入数据在硬盘中对应的第二原数据的数据地址,以便当执行数据下刷操作之前,根据所述数据地址将所述第二原数据更新至所述快照数据中;
数据写入模块,用于将所述待写入数据写入所述缓存中,实现数据写入操作。
可选的,还包括:
正常写数据模块,用于当不存在与所述待写入数据对应的快照数据时,将所述待写入数据写入所述硬盘中。
可选的,第二原数据更新模块,还包括:
数据下刷单元,用于将所述缓存中的所述待写入数据写入至所述硬盘中的对应位置。
本申请还提供一种服务器,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上所述的数据写入方法的步骤。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的数据写入方法的步骤。
本申请所提供的一种数据写入方法,包括:判断是否存在与接收到的待写入数据对应的快照数据;若是,则将所述待写入数据在缓存中对应的第一原数据更新至所述快照数据中;获取所述待写入数据在硬盘中对应的第二原数据的数据地址,以便当执行数据下刷操作之前,根据所述数据地址将所述第二原数据更新至所述快照数据中;将所述待写入数据写入所述缓存中,实现数据写入操作。
先通过对待写入数据进行判断,当该待写入数据存在对应的快照数据时,则说明如果写入该数据还需要对快照数据中对应的内容进行修改,以便保持快照数据的功能,然后通过先将缓存中的第一原数据更新至快照中,并且获取到第二原数据的数据地址,以便在数据下刷的过程中将第二原数据更新至快照数据中,实现了对快照数据进行相应内容的更新操作,最后将待写入数据写入缓存中,实现待写入数据的写操作,可见,数据写入的流程中并不需要等待原数据从硬盘中读取出来,而是直接写在缓存中,并且没有影响对快照数据进行正常的更新操作。提高了数据写入的速度,同时保持了快照功能,提高了存储系统整体的性能,也提高了用户的使用体验。
本申请还提供一种数据写入装置、服务器以及计算机可读存储介质,具有以上有益效果,在此不作赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种数据写入方法的流程图;
图2为本申请实施例所提供的一种数据写入装置的结构示意图。
具体实施方式
本申请的核心是提供一种数据写入方法、数据写入装置、服务器以及计算机可读存储介质,通过在数据写入的时候只将第一原数据更新在快照数据中,而对于第二原数据则只记录数据地址以便后续进行更新操作,最后将待写入数据写入缓存中,实现数据写入,并且无需等待硬盘中的数据读取写入,提高了数据写入的效率和速度。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
现有技术中,当应用的环境中存在数据快照机制时,向存储介质中保存数据时,就需要判断该数据在快照数据中是否存在对应的对象。若不存在,则表示快照中没有需要进行修改的对应的快照数据,因此,可以将该数据直接写入存储介质中进行保存。但是,当快照数据中存在对应的对象时,则需要将原有的数据中存储介质中读取出来并写入到快照数据中,当写入快照数据后再将新的数据写入到存储介质中,可见,新数据不仅无法直接写入到存储介质中,还需要等待存储介质中的数据读取出来后再进行写数据。也就是说需要更多的等待时间,才能完成数据写入操作。降低了写数据的效率,延长了等待时间,降低用户体验。
因此,本申请提供一种数据写入方法,先通过对待写入数据进行判断,当该待写入数据存在对应的快照数据时,则说明如果写入该数据还需要对快照数据中对应的内容进行修改,以便保持快照数据的功能,然后通过先将缓存中的第一原数据更新至快照中,并且获取到第二原数据的数据地址,以便在数据下刷的过程中将第二原数据更新至快照数据中,实现了对快照数据进行相应内容的更新操作,最后将待写入数据写入缓存中,实现待写入数据的写操作,可见,数据写入的流程中并不需要等待原数据从硬盘中读取出来,而是直接写在缓存中,并且没有影响对快照数据进行正常的更新操作。提高了数据写入的速度,同时保持了快照功能,提高了存储系统整体的性能,也提高了用户的使用体验。
请参考图1,图1为本申请实施例所提供的一种数据写入方法的流程图。
本实施例中,该方法可以包括:
S101,判断是否存在与接收到的待写入数据对应的快照数据;若是,则执行S102;若否,则执行S105;
本步骤旨在判断该待写入数据在系统中是否存在对应的快照数据,即该待写入数据的对象是否存在于快照数据中。若是,则为了保持快照数据的功能性和有效性,则需要将同样的改动更新至快照数据中的对应的对象中。若否,则说明不存在需要更新的快照数据,对待写入数据执行正常的数据写入操作即可。
一般的,在现有技术中,当存在对应的快照数据时,则对快照数据执行的更新操作会严重影响到数据写入的速度,增加数据写入时延。而在本实施例中通过以下步骤可见,可以直接将待写入数据写入到缓存中,实现数据的写入操作,在使用者看来数据直接被写入,而不用进行等待操作,提高了用户的使用体验。
需要说明的是,本实施例中S102和S103的执行顺序仅是多种执行方式中的一种,可以先执行S102,也可以先执行S103,还可以将S102和S103同时执行。即本步骤中,当存在与接收到的待写入数据对应的快照数据时,还可以执行S103,也可以是执行S102和S103。可见,此处的执行方式并不唯一,在此不做具体限定。
S102,将待写入数据在缓存中对应的第一原数据更新至快照数据中;
在S101的基础上,本步骤旨在将缓存中的对应的第一原数据更新在快照数据中。
其中,原数据是指对快照数据进行对应修改的数据,也就是快照数据需要记录的该数据对象在修改前的状态。因此,需要将待写入数据未写入前的原数据对快照数据进行更新。但是,目前在本存储系统中,数据的读取和写入的过程中,为了加快数据操作的速度,将该数据一部分存储在缓存中,另一部分存储在硬盘中。也就是,S102和S103中所指的在缓存中的第一原数据和在硬盘中的第二原数据。而对快照数据进行操作的方式即为将第一原数据和第二原数据对快照数据进行更新操作。
而现有技术中,不仅读取第一原数据对快照数据进行更新,还从硬盘中读取出第二原数据对快照数据进行最后的更新操作,最后再将待写入数据写入到硬盘中,实现数据的写入操作。可见,现有技术中不仅需要等待数据从硬盘中读取出来,还需要等待数据写入硬盘中。可见,延长了数据写入的时延,降低了数据写入的速度,降低了用户体验。因此,本实施例通过以下的S103避免在数据写入的时候进行硬盘的读取和写入操作,提高了数据写入的速度。
此外,本步骤中将第一原数据更新至快照数据中,还有在当待写入数据写入缓存中时,会将缓存中的第一原数据进行覆盖。因此,为了避免丢失第一原数据,本步骤中直接将第一原数据更新至快照数据中。
S103,获取待写入数据在硬盘中对应的第二原数据的数据地址,以便当执行数据下刷操作之前,根据数据地址将第二原数据更新至快照数据中;
在S101的基础上,本步骤旨在获取到在硬盘中的第二原数据的数据地址,并记录该数据地址。以便在数据进行下刷操作时,根据数据地址将对应的第二原数据更新至快照数据中。不仅实现了对快照数据进行更新,还由于是在下刷操作过程中进行操作,不会对正常的数据写入和读取操作产生影响。
可见,本步骤中对第二原数据进行的操作,不仅避免了在数据写入的过程中从硬盘中读取第二原数据,还有效利用了数据下刷的过程保证快照数据的有效性。
其中,本实施例的第一原数据和第二原数据即为两个相互对应的数据。两个对应关系可以是互补关系,还可以是相互存在重叠部分,也可以是某一份数据是原数据的全部数据,另一份数据是原数据的部分数据。但是,无论第一原数据和第二原数据之间的关系如何,当获取到第一原数据和第二原数据时,都可以通过第一原数据和第二原数据构建出完整的原数据。从而在数据下刷时,根据数据地址将第二原数据更新至快照数据后,实现对快照数据进行正确无误的更新操作。
其中,本实施例中的数据下刷操作指的是将缓存中的待写入数据写入至硬盘中的对应位置。其中,执行下刷操作的时机可以根据现有技术确定,在此不做具体限定。
而在现有技术中,尤其当硬盘为机械硬盘时,会极大的延长数据写入的时长,降低数据写入效率,降低用户体验。而通过本步骤就可以避免这样的数据读取的时间,直接完成数据写入操作,提高了数据写入的效率,提高了用户的体验。
S104,将待写入数据写入缓存中,实现数据写入操作。
在S102和S103的基础上,本步骤旨在将待写入数据写入缓存中,实现对数据进行写入操作。在后续的过程中通过数据下刷操作将该数据写入到硬盘中,而数据下刷操作并不会过多的影响性能。并且,本实施例中实现数据写入操作的过程并没有对硬盘进行读写操作,避免等待,提高了数据写入的效率,提高了用户的体验。
S105,将待写入数据写入硬盘中。
可见,S101的基础上S105主要是当不存在与待写入数据对应的快照数据时,执行正常的数据读写操作。
综上,本实施例先通过对待写入数据进行判断,当该待写入数据存在对应的快照数据时,则说明如果写入该数据还需要对快照数据中对应的内容进行修改,以便保持快照数据的功能,然后通过先将缓存中的第一原数据更新至快照中,并且获取到第二原数据的数据地址,以便在数据下刷的过程中将第二原数据更新至快照数据中,实现了对快照数据进行相应内容的更新操作,最后将待写入数据写入缓存中,实现待写入数据的写操作,可见,数据写入的流程中并不需要等待原数据从硬盘中读取出来,而是直接写在缓存中,并且没有影响对快照数据进行正常的更新操作。提高了数据写入的速度,同时保持了快照功能,提高了存储系统整体的性能,也提高了用户的使用体验。
以下通过一个具体的实施例,对本申请提供的一种数据写入方法做进一步说明。
本实施例中,该方法采用了先记录HDD(Hard Disk Drive机械硬盘)上的数据的范围,延后写入快照对象的方法;先处理对象Cache(缓存)中的数据,并将写操作的数据落入对象的Cache中。后台Cache下刷线程中先将HDD上的原数据更新到快照对象上,再下刷Cache中的数据到HDD上。最终可以保证快照对象上的数据的完整。
通过以下的五个模块分别对本实施例提供的方案进行说明,模块包括有:判断模块、原数据处理模块、快照处理模块、写处理模块、Cache下刷模块。
其中,判断模块,用于根据客户端操作对象判断该对象是否有快照,根据该对象有无快照,走不同的处理流程,如果没有快照时,则走正常的写入流程。
其中,原数据处理模块,用于当该对象存在快照时,现有技术中该模块会分别读取该对象分布在Cache上的数据和HDD上的数据;本实施例中,该模块会读取该对象在Cache中的数据,并记录HDD上该对象数据的范围。
其中,快照处理模块,在现有技术中该模块会将该对象完整的数据写入快照对象中;本实施例中该模块先将该对象Cache中的数据写入到快照的Cache中。
其中,写处理模块,在现有技术中该模块会将写操作的数据写入该对象中(可能写入Cache,也可能写入HDD中);在本实施例中,该模块会将写操作的数据写入该对象的Cache中(不会写入到HDD上,如果写入到HDD上,则该对象HDD上的原数据被覆盖。且没有写入到快照对象上,这样会导致快照对象上的数据不正确)。
其中,Cache下刷模块是独立的处理线程,该模块主要用于根据Cache的下刷策略将对象Cache中的数据下刷到该对象的HDD上;本实施例中,该模块还会在Cache中的数据下刷前,根据记录的HDD的数据范围,读取HDD上的数据并更新到快照对象上,再进行Cache中的数据下刷操作。其中,下刷策略可以采用现有技术提供的任意一种缓存下刷策略,在此不做具体限定。
通过以上模块,本实施例的方法具体可以包括:
步骤1,客户端发送写操作请求;
步骤2,分布式存储系统根据操作对象是否有快照数据进行判断;
步骤3,如果没有快照数据,则走正常的写数据流程进行处理;
步骤4,如果有快照数据,则需要读取写操作前的原来对象的Cache中的数据,并记录原来对象HDD上数据的范围;
步骤5,将读取对象的Cache中数据写入到快照对象的Cache中;
步骤6,最后将客户端的写操作数据写入到Cache中。
此外,该方法还可以包括Cache下刷流程,具体如下:
步骤1,Cache下刷前,需要将HDD中的数据读出来;
步骤2,跟进记录数据范围写入到快照对象中;
步骤3,读取Cache中的待写入数据;
步骤4,写入HDD中。
可见,本实施例先通过对待写入数据进行判断,当该待写入数据存在对应的快照数据时,则说明如果写入该数据还需要对快照数据中对应的内容进行修改,以便保持快照数据的功能,然后通过先将缓存中的第一原数据更新至快照中,并且获取到第二原数据的数据地址,以便在数据下刷的过程中将第二原数据更新至快照数据中,实现了对快照数据进行相应内容的更新操作,最后将待写入数据写入缓存中,实现待写入数据的写操作,可见,数据写入的流程中并不需要等待原数据从硬盘中读取出来,而是直接写在缓存中,并且没有影响对快照数据进行正常的更新操作。提高了数据写入的速度,同时保持了快照功能,提高了存储系统整体的性能,也提高了用户的使用体验。
下面对本申请实施例提供的一种数据写入装置进行介绍,下文描述的一种数据写入装置与上文描述的一种数据写入方法可相互对应参照。
请参考图2,图2为本申请实施例所提供的一种数据写入装置的结构示意图。
本实施例中,该装置可以包括:
快照数据判断模块100,用于判断是否存在与接收到的待写入数据对应的快照数据;
第一原数据更新模块200,用于当存在待写入数据对应的快照数据时,将待写入数据在缓存中对应的第一原数据更新至快照数据中;
第二原数据更新模块300,用于获取待写入数据在硬盘中对应的第二原数据的数据地址,以便当执行数据下刷操作之前,根据数据地址将第二原数据更新至快照数据中;
数据写入模块400,用于将待写入数据写入缓存中,实现数据写入操作。
可选的,该装置还可以包括:
正常写数据模块,用于当不存在与待写入数据对应的快照数据时,将待写入数据写入硬盘中。
可选的,该第二原数据更新模块300,还可以包括:
数据下刷单元,用于将缓存中的待写入数据写入至硬盘中的对应位置。
本申请实施例还提供一种服务器,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如以上实施例所述的数据写入方法的步骤。
本申请实施例还提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如以上实施例所述的数据写入方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种数据写入方法、数据写入装置、服务器以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (9)
1.一种数据写入方法,其特征在于,包括:
判断是否存在与接收到的待写入数据对应的快照数据;
若是,则将所述待写入数据在缓存中对应的第一原数据更新至所述快照数据中;
获取所述待写入数据在硬盘中对应的第二原数据的数据地址,以便当执行数据下刷操作之前,根据所述数据地址将所述第二原数据更新至所述快照数据中;其中,所述第一原数据和所述第二原数据用于共同构建出完整的原数据;
将所述待写入数据写入所述缓存中,实现数据写入操作。
2.根据权利要求1所述的数据写入方法,其特征在于,还包括:
当不存在与所述待写入数据对应的快照数据时,将所述待写入数据写入所述硬盘中。
3.根据权利要求1所述的数据写入方法,其特征在于,执行数据下刷操作,包括:
将所述缓存中的所述待写入数据写入至所述硬盘中的对应位置。
4.根据权利要求1所述的数据写入方法,其特征在于,所述第一原数据与所述第二原数据的对应关系为互补关系。
5.一种数据写入装置,其特征在于,包括:
快照数据判断模块,用于判断是否存在与接收到的待写入数据对应的快照数据;
第一原数据更新模块,用于当所述存在所述待写入数据对应的快照数据时,将所述待写入数据在缓存中对应的第一原数据更新至所述快照数据中;
第二原数据更新模块,用于获取所述待写入数据在硬盘中对应的第二原数据的数据地址,以便当执行数据下刷操作之前,根据所述数据地址将所述第二原数据更新至所述快照数据中;其中,所述第一原数据和所述第二原数据用于共同构建出完整的原数据;
数据写入模块,用于将所述待写入数据写入所述缓存中,实现数据写入操作。
6.根据权利要求5所述的数据写入装置,其特征在于,还包括:
正常写数据模块,用于当不存在与所述待写入数据对应的快照数据时,将所述待写入数据写入所述硬盘中。
7.根据权利要求5所述的数据写入装置,其特征在于,第二原数据更新模块,还包括:
数据下刷单元,用于将所述缓存中的所述待写入数据写入至所述硬盘中的对应位置。
8.一种服务器,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至4任一项所述的数据写入方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述的数据写入方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910760809.7A CN110516479B (zh) | 2019-08-16 | 2019-08-16 | 一种数据写入方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910760809.7A CN110516479B (zh) | 2019-08-16 | 2019-08-16 | 一种数据写入方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110516479A CN110516479A (zh) | 2019-11-29 |
CN110516479B true CN110516479B (zh) | 2021-08-10 |
Family
ID=68626466
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910760809.7A Active CN110516479B (zh) | 2019-08-16 | 2019-08-16 | 一种数据写入方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110516479B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101482838A (zh) * | 2009-02-06 | 2009-07-15 | 杭州华三通信技术有限公司 | 基于写时拷贝的数据写入方法及设备 |
CN102033793A (zh) * | 2010-12-14 | 2011-04-27 | 成都市华为赛门铁克科技有限公司 | 快照方法和固态硬盘 |
CN104407933A (zh) * | 2014-10-31 | 2015-03-11 | 华为技术有限公司 | 一种数据的备份方法及装置 |
CN109491605A (zh) * | 2018-11-01 | 2019-03-19 | 郑州云海信息技术有限公司 | 一种基于cow的数据存储方法、装置和介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102843396B (zh) * | 2011-06-22 | 2018-03-13 | 中兴通讯股份有限公司 | 一种分布式缓存系统中的数据写入及读取方法及装置 |
CN103544077B (zh) * | 2012-07-17 | 2016-12-07 | 华为技术有限公司 | 数据处理方法及装置、共享存储设备 |
US10671427B2 (en) * | 2017-06-22 | 2020-06-02 | Board Of Supervisors Of Louisiana State University And Agricultural And Mechanical College | Snapshot isolation in graphical processing unit hardware transactional memory |
-
2019
- 2019-08-16 CN CN201910760809.7A patent/CN110516479B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101482838A (zh) * | 2009-02-06 | 2009-07-15 | 杭州华三通信技术有限公司 | 基于写时拷贝的数据写入方法及设备 |
CN102033793A (zh) * | 2010-12-14 | 2011-04-27 | 成都市华为赛门铁克科技有限公司 | 快照方法和固态硬盘 |
CN104407933A (zh) * | 2014-10-31 | 2015-03-11 | 华为技术有限公司 | 一种数据的备份方法及装置 |
CN109491605A (zh) * | 2018-11-01 | 2019-03-19 | 郑州云海信息技术有限公司 | 一种基于cow的数据存储方法、装置和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110516479A (zh) | 2019-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7475202B2 (en) | Memory controller and method for optimized read/modify/write performance | |
TWI335512B (en) | Technique for using memory attributes | |
US20150106656A1 (en) | Application program startup method and apparatus | |
US20100088459A1 (en) | Improved Hybrid Drive | |
JP2007004234A (ja) | ストレージ装置 | |
US9785438B1 (en) | Media cache cleaning based on workload | |
CN102521349A (zh) | 一种文件预读方法 | |
CN103856516A (zh) | 数据存储、读取方法及数据存储、读取装置 | |
CN106469119B (zh) | 一种基于nvdimm的数据写缓存方法及其装置 | |
US20160070648A1 (en) | Data storage system and operation method thereof | |
CN113608695A (zh) | 一种数据处理方法、系统、设备以及介质 | |
CN105095418B (zh) | 一种处理写请求的方法和装置 | |
CN111459413B (zh) | 提升ssd性能的方法、装置、计算机设备及存储介质 | |
CN110516479B (zh) | 一种数据写入方法及相关装置 | |
CN110928890B (zh) | 数据存储方法、装置、电子设备及计算机可读存储介质 | |
JP2006099802A (ja) | 記憶制御装置およびキャッシュメモリの制御方法 | |
US6330641B1 (en) | Method and apparatus for controlling magnetic disk device | |
CN112988880B (zh) | 数据同步方法、装置、电子设备及计算机存储介质 | |
CN112860188A (zh) | 一种数据迁移方法、系统、设备以及介质 | |
CN110134615B (zh) | 应用程序获取日志数据的方法及装置 | |
CN106897311B (zh) | 数据库批次更新方法、数据还原日志产生方法与存储装置 | |
CN110348245B (zh) | 基于nvm的数据完整性保护方法、系统、装置及存储介质 | |
CN110658993A (zh) | 一种快照回滚方法、装置、设备及存储介质 | |
CN112463041B (zh) | 一种主机读写数据的处理方法及相关装置 | |
JP2009181373A (ja) | ネットワーク受信履歴の保存・再生方法及び情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |