CN114442956B - 一种双存储池数据写入处理方法、装置、设备及介质 - Google Patents
一种双存储池数据写入处理方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN114442956B CN114442956B CN202210102565.5A CN202210102565A CN114442956B CN 114442956 B CN114442956 B CN 114442956B CN 202210102565 A CN202210102565 A CN 202210102565A CN 114442956 B CN114442956 B CN 114442956B
- Authority
- CN
- China
- Prior art keywords
- data
- pool
- written
- writing
- time
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 24
- 238000012545 processing Methods 0.000 claims abstract description 33
- 238000000034 method Methods 0.000 claims abstract description 17
- 238000012937 correction Methods 0.000 claims description 27
- 230000009977 dual effect Effects 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 abstract description 6
- 238000005516 engineering process Methods 0.000 abstract description 4
- 230000002159 abnormal effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011981 development test Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种双存储池数据写入处理方法、装置、设备及介质,属于计算机数据处理技术领域,所述双存储池包括副本池和纠删池,所述方法包括:将所述副本池设置为所述纠删池的缓存池;所述缓存池接收数据写入请求;第一次判断是否为首次收到所述数据写入请求;若是,则对待写入数据进行拆分,并第二次判断是否为首次收到所述数据写入请求,并根据判断结果对拆分后的待写入数据进行写入操作。本发明双存储池数据写入处理技术应用到重复请求场景,能够通过对所述待写入数据请求进行若干次判断,根据判断结果确定处理流程,同时缓存池接收到重复请求后对待写入数据请求进行正确处理,保证存储系统的数据一致性。
Description
技术领域
本发明涉及计算机数据处理技术领域,特别涉及一种双存储池数据写入处理方法、装置、设备及介质。
背景技术
在分布式存储系统中,可以使用副本和纠删这两种模式保存数据。其中副本模式可以应用在小块数据的存储,因为在副本模式下数据存储速度快,读取操作只需要选取一个副本同步读取,但这种存储模式的最大的缺点是:因为数据是复制保存的,所以造成了存储空间的浪费。纠删模式可以通过保存校验数据块同时可以节省更多的空间,但是纠删模式需要将待写入的数据按纠删条带切分并计算校验数据块,写入速度比副本模式慢,在读取时需要读取多个分片并合并计算,使用异步读取的方式,所以纠删模式读取速度慢于副本模式。
发明内容
为了克服上述技术缺陷,同时为了充分利用副本和纠删这两种存储模式的优势并规避这两种存储模式的缺点,本发明的目的在于提供一种双存储池数据写入处理方法、装置、设备及介质,能够通过对所述待写入数据请求进行若干次判断,根据判断结果确定处理流程,同时缓存池接收到写入请求后对待写入数据请求进行正确处理,保证存储系统的数据一致性。
本发明实施例提供的具体技术方案如下:
第一方面,提供了一种双存储池数据写入处理方法,所述双存储池包括副本池和纠删池,所述方法包括:
将所述副本池设置为所述纠删池的缓存池;
所述缓存池接收数据写入请求;
第一次判断是否为首次收到所述数据写入请求;
若是,则对待写入数据进行拆分,并第二次判断是否为首次收到所述数据写入请求,并根据判断结果对拆分后的待写入数据进行写入操作。
进一步地,若非首次收到所述数据写入请求,则判断所述缓存池接收数据是否出现错误,若出现错误,将出错信息反馈给客户端。
进一步地,所述对待写入数据进行拆分包括:
根据使用场景可配置项将所述待写入数据拆分为小块数据和大块数据。
进一步地,所述第二次判断是否为首次收到所述数据写入请求,并根据判断结果对拆分后的待写入数据进行写入操作,包括:
第二次判断所述数据写入请求是否为首次收到;
若是,则第三次判断是否为首次收到所述数据写入请求,并根据判断结果对拆分后的待写入数据进行写入操作;
若否,则根据所述对所述待写入数据进行拆分的结果对拆分后的待写入数据进行写入操作。
进一步地,所述根据所述对所述待写入数据进行拆分的结果对拆分后的待写入数据进行写入操作,包括:
将小块数据写入缓存池,则数据写入结束后将写入结果反馈给客户端,并将所述数据的属性信息用备份文件记录的信息替换;
将大块数据写入纠删池。
进一步地,所述将大块数据写入纠删池,还包括:
增加布尔型变量值来标记是否有数据写入所述纠删池,若是,则将所述布尔型变量值设置为true,并将所述数据的属性信息用备份文件记录的信息替换。
进一步地,所述第三次判断是否为首次收到所述数据写入请求,并根据判断结果对拆分后的待写入数据进行写入操作,包括:
第三次判断所述数据写入请求是否为首次收到;
若是,则对所述待写入数据进行拆分,并将所述待写入数据的属性信息进行备份,记录到备份文件;
若否,则所述缓存池向纠删池转发所述待写入数据,将所述待写入数据写入所述纠删池。
第二方面,提供了一种双存储池数据写入处理装置,所述装置包括:
创建模块,用于将所述副本池设置为所述纠删池的缓存池;
接收模块,用于所述缓存池接收数据写入请求;
判断模块,用于第一次判断是否为首次收到所述数据写入请求;
处理模块,用于对待写入数据进行拆分,并第二次判断是否为首次收到所述数据写入请求,并根据判断结果对拆分后的待写入数据进行写入操作。
第三方面,提供了一种计算机设备,所述设备包括:
存储器、处理器及存储在存储器上的计算机程序,所述处理器执行所述计算机程序以实现如第一方面任一所述的双存储池数据写入处理方法的步骤。
第四方面,提供了一种计算机存储介质,所述介质包括:
其上存储有计算机程序,该计算机程序被存储器执行时实现第一方面任一所述的双存储池数据写入处理方法的步骤。
与现有技术相比,本发明实施例提供的技术方案通过将所述副本池设置为所述纠删池的缓存池;所述缓存池接收数据写入请求;第一次判断是否为首次收到所述数据写入请求;若是,则对待写入数据进行拆分,并第二次判断是否为首次收到所述数据写入请求,并根据判断结果对拆分后的待写入数据进行写入操作。本发明双存储池数据写入处理技术应用到重复请求场景,能够通过对所述待写入数据请求进行若干次判断,根据判断结果确定处理流程,同时缓存池接收到重复请求后对待写入数据请求进行正确处理,保证存储系统的数据一致性。
本发明实施例提供的技术方案提供了一种双存储池数据写入处理方法,可以保证所述数据写入的完整性和正确性,在未收到数据写入指令时或在存储系统发生异常时会重发写入指令,避免所述数据未写入存储池,造成数据不完整或数据重复写入存储池造成的系统损耗。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的双存储池数据写入处理方法的流程图;
图2为本发明实施例一提供的双存储池数据写入处理方法的逻辑图;
图3为本发明实施例二提供的双存储池数据写入处理装置结构图;
图4为本发明实施例四提供的可被用于实施本申请中所述的各个实施例的示例性系统。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,除非上下文明确要求,否则整个说明书和权利要求书中的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。
此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
实施例一
本发明实施例提供了一种双存储池数据写入处理方法,如图1所示,所述双存储池包括副本池和纠删池,该方法可以包括:
步骤S01,将所述副本池设置为所述纠删池的缓存池。
具体地,在分布式存储系统中,可以使用副本和纠删两种模式保存数据,在存储系统中创建一个副本池和一个纠删池,将所述副本池设置为所述纠删池的缓存池,所有数据写入操作之前全部先经过缓存池,存储系统为了保证数据写入的完整性和正确性,在未收到数据写入指令时或者在存储系统发生异常时会重发写入操作指令,为了避免数据未写入造成数据不完整或数据重复写入造成的系统损耗,根据开发测试环境,这里设计一种双存储池数据写入处理方法。
其中,所述副本模式存储数据需要选取一个副本同步读取,对数据复制保存;所述纠删模式通过保存校验数据块,将待写入的数据按纠删条带切分并计算校验数据块,在读取时读取多个分片并合并计算保存数据。
步骤S02,所述缓存池接收数据写入请求。
具体地,接收对所述数据进行写入存储池的指令,若在客户前端发起重复请求写入数据时,存储系统根据数据请求的上一次处理结果和重复写入请求数据内容对重复请求进行正确处理。
步骤S03,第一次判断是否为首次收到所述数据写入请求;
若是,则对待写入数据进行拆分,并第二次判断是否为首次收到所述数据写入请求,并根据判断结果对拆分后的待写入数据进行写入操作;
若非首次收到所述数据写入请求,则判断所述缓存池接收数据是否出现错误,若出现错误,将出错信息反馈给客户端。
具体地,对所述待写入数据进行第一次判断;
判断是否为首次接收到所述待写入数据;
若是,则对所述待写入数据进行拆分,并将所述待写入数据的属性信息进行备份,记录到备份文件;
若否,则判断所述缓存池接收数据是否出现错误,若出现错误,将出错信息反馈给客户端。
可以理解为,对所述待写入数据进行第一次判断;
判断缓存池是否为首次接收到所述待写入数据;
若缓存池没有接收过所述待写入数据,则按原流程进行数据写入存储池处理,对所述待写入数据进行拆分,小块数据写入缓存池,大块数据写入纠删池,并将所述待写入数据的属性信息进行备份,记录到备份文件;
若缓存池已经接收过所述待写入数据,则判断所述缓存池接收数据是否出现错误,若出现错误,将出错信息反馈给客户端,请求处理截止。
这里,通过对所述待写入数据进行若干次判断确定判断结果。这里存储系统接收到写数据请求后,对待写入数据进行三次判断,并根据每次的判断结果决定处理流程,从而保证存储系统的数据一致性。
如图2为双存储池数据写入处理方法的逻辑图,使用所述副本池作为所述纠删池的缓存池,所有的待写入数据请求都经过缓存池,这里设计一种双存储池数据写入处理方法,保证当存储池接收到重复请求写入数据指令后对请求的写入数据进行正确处理,保证存储系统的数据一致性。
步骤S03还包括:
步骤S031,根据使用场景可配置项将所述待写入数据拆分为小块数据和大块数据。
具体地,将待写入数据拆分成小块数据和大块数据,所述小块数据写入缓存池,所述大块数据写入纠删池。
对请求待写入的数据进行拆分,将待写入数据拆分成小块数据和大块数据,所述小块数据写入缓存池,所述大块数据写入纠删池(数据池),同时所述缓存池保存所有待写入数据的属性信息。
这里,所述使用场景可配置项为一个可以根据使用场景等信息设置的经验值;例如将使用场景可配置项值设置为128k,即将小于128k的数据拆分为小块数据,将大于128k的数据拆分为大块数据。
步骤S032,第二次判断是否为首次收到所述数据写入请求,并根据判断结果对拆分后的待写入数据进行写入操作,包括:
第二次判断所述数据写入请求是否为首次收到;
若是,则第三次判断是否为首次收到所述数据写入请求,并根据判断结果对拆分后的待写入数据进行写入操作;
若否,则根据所述对所述待写入数据进行拆分的结果对拆分后的待写入数据进行写入操作。
所述根据所述对所述待写入数据进行拆分的结果对拆分后的待写入数据进行写入操作,包括:
将小块数据写入缓存池,则数据写入结束后将写入结果反馈给客户端,并将所述数据的属性信息用备份文件记录的信息替换;
将大块数据写入纠删池。
所述将大块数据写入纠删池,还包括:
增加布尔型变量值来标记是否有数据写入所述纠删池,若是,则将所述布尔型变量值设置为true,并将所述数据的属性信息用备份文件记录的信息替换。
具体地,所述对所述待写入数据进行拆分之后,包括:
对所述待写入数据进行第二次判断;
判断是否为首次接收到所述待写入数据;
若是,则忽略第二次判断,将待写入数据拆分成小块数据和大块数据,所述小块数据写入缓存池,所述大块数据写入纠删池;
若否,则根据所述对所述待写入数据进行拆分的结果进行判断。
可以理解的是,对所述待写入数据进行第二次判断;
判断缓存池是否为首次接收到所述待写入数据;
若缓存池没有接收过所述待写入数据,则忽略第二次判断,将待写入数据拆分成小块数据和大块数据,所述小块数据写入缓存池,所述大块数据写入纠删池;
若缓存池接收过所述待写入数据,则根据所述对所述待写入数据进行的拆分的结果进行判断。
同时,若将所述待写入数据写入缓存池,则数据处理结束后将处理结果反馈给客户端,并将所述数据的属性信息用备份文件记录的信息替换;
若将所述待写入数据写入纠删池,则增加布尔型变量值来标记是否有数据写入所述纠删池,将所述布尔型变量值设置为true,并将所述数据的属性信息用备份文件记录的信息替换。
具体地,若将所述待写入数据只写入缓存池,则数据处理结束后将处理结果反馈给客户端,并将所述数据的属性信息用备份文件记录的信息替换;
若将所述待写入数据需要写入纠删池,则增加布尔型变量值用作逻辑判断,来标记是否有数据写入所述纠删池,默认为有数据写向纠删池,当有数据写入所述纠删池,将所述布尔型变量值设置为true,在第二次判断完成后,并将所述数据的属性信息用备份文件记录的信息替换,恢复所述数据的属性信息。
步骤S033,所述第三次判断是否为首次收到所述数据写入请求,并根据判断结果对拆分后的待写入数据进行写入操作,包括:
第三次判断所述数据写入请求是否为首次收到;
若是,则对所述待写入数据进行拆分,并将所述待写入数据的属性信息进行备份,记录到备份文件;
若否,则所述缓存池向纠删池转发所述待写入数据,将所述待写入数据写入所述纠删池。
具体地,对所述待写入数据进行第三次判断;
判断是否为首次接收到所述待写入数据;
若是,则对所述待写入数据进行拆分,并将所述待写入数据的属性信息进行备份,记录到备份文件;
若否,则所述缓存池向纠删池转发所述待写入数据,将所述待写入数据写入所述纠删池。
具体地,这里缓存池向硬盘或磁盘提交数据和缓存池向纠删池转发数据写入请求的代码在同一位置,在这里,缓存池向磁盘写入数据,同时缓存池向纠删池转发数据后,对所述待写入数据进行第三次判断;
判断是否为首次接收到所述待写入数据;
若是,则按原流程进行数据写入存储池处理,对所述待写入数据进行拆分,并将所述待写入数据的属性信息进行备份,记录到备份文件;
若否,则所述缓存池向纠删池转发所述待写入数据,将所述待写入数据写入所述纠删池。
其中,这里需要向存储池添加至少一个硬盘才可开始保存数据。副本模式和纠删模式为数据存储方式,可以理解为使用硬盘的方式,当副本模式时,多个硬盘上数据相同;当为纠删模式时,数据会分到多个硬盘上,并进行数据写入处理。
最后,根据所述判断结果将所述待写入数据写入到对应的存储池。
具体地,可以理解为存储系统接收到写数据请求后,对写数据请求进行三次判断,并根据每次的判断结果决定处理流程,从而保证存储系统的数据一致性。
本发明实施例提供的双存储池数据写入处理方法在不脱离本发明技术方案的前提下,还可以做出若干改进以及优化,这些改进与优化也应当视为本发明的保护范围。
本发明实施例提供的双存储池数据写入处理方法应用到数据写入请求场景,能够通过对所述待写入数据请求进行若干次判断,根据判断结果确定处理流程,同时缓存池接收到重复请求后对待写入数据请求进行正确处理,保证存储系统的数据一致性。
本发明实施例提供的技术方案提供了一种双存储池数据写入处理方法,可以保证所述数据写入的完整性和正确性,在未收到数据写入指令时或在存储系统发生异常时会重发写入指令,避免所述数据未写入存储池,造成数据不完整或数据重复写入存储池造成的系统损耗。
实施例二
本发明提供了一种双存储池数据写入处理装置,如图3所示,所述系统包括:创建模块、接收模块、判断模块、处理模块。
在本实施例中,所述双存储池包括副本池和纠删池,创建模块用于将所述副本池设置为所述纠删池的缓存池;接收模块用于所述缓存池接收数据写入请求;判断模块用于第一次判断是否为首次收到所述数据写入请求;处理模块用于对待写入数据进行拆分,并第二次判断是否为首次收到所述数据写入请求,并根据判断结果对拆分后的待写入数据进行写入操作。
进一步地,处理模块用于若非首次收到所述数据写入请求,则判断所述缓存池接收数据是否出现错误,若出现错误,将出错信息反馈给客户端。
进一步地,处理模块用于根据使用场景可配置项将所述待写入数据拆分为小块数据和大块数据。
进一步地,判断模块用于第二次判断所述数据写入请求是否为首次收到;
若是,则第三次判断是否为首次收到所述数据写入请求,并根据判断结果对拆分后的待写入数据进行写入操作;
若否,则根据所述对所述待写入数据进行拆分的结果对拆分后的待写入数据进行写入操作。
进一步地,处理模块用于将小块数据写入缓存池,则数据写入结束后将写入结果反馈给客户端,并将所述数据的属性信息用备份文件记录的信息替换;
将大块数据写入纠删池。
进一步地,处理模块用于增加布尔型变量值来标记是否有数据写入所述纠删池,若是,则将所述布尔型变量值设置为true,并将所述数据的属性信息用备份文件记录的信息替换。
进一步地,判断模块还可用于第三次判断所述数据写入请求是否为首次收到;
若是,则对所述待写入数据进行拆分,并将所述待写入数据的属性信息进行备份,记录到备份文件;
若否,则所述缓存池向纠删池转发所述待写入数据,将所述待写入数据写入所述纠删池。
本发明实施例提供的技术方案带来的有益效果是:
本发明双存储池数据写入处理技术应用到重复请求场景,能够通过对所述待写入数据请求进行若干次判断,根据判断结果确定处理流程,同时缓存池接收到重复请求后对待写入数据请求进行正确处理,保证存储系统的数据一致性。
本发明实施例提供的技术方案提供了一种双存储池数据写入处理装置,可以保证所述数据写入的完整性和正确性,在未收到数据写入指令时或在存储系统发生异常时会重发写入指令,避免所述数据未写入存储池,造成数据不完整或数据重复写入存储池造成的系统损耗。
实施例三
本发明提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时可以执行如下双存储池数据写入处理方法:
将所述副本池设置为所述纠删池的缓存池;
所述缓存池接收数据写入请求;
第一次判断是否为首次收到所述数据写入请求;
若是,则对待写入数据进行拆分,并第二次判断是否为首次收到所述数据写入请求,并根据判断结果对拆分后的待写入数据进行写入操作。
实施例四
本发明提供了一种计算机存储介质,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
将所述副本池设置为所述纠删池的缓存池;
所述缓存池接收数据写入请求;
第一次判断是否为首次收到所述数据写入请求;
若是,则对待写入数据进行拆分,并第二次判断是否为首次收到所述数据写入请求,并根据判断结果对拆分后的待写入数据进行写入操作。
进一步地,若非首次收到所述数据写入请求,则判断所述缓存池接收数据是否出现错误,若出现错误,将出错信息反馈给客户端。
进一步地,所述对待写入数据进行拆分包括:
根据使用场景可配置项将所述待写入数据拆分为小块数据和大块数据。
进一步地,所述第二次判断是否为首次收到所述数据写入请求,并根据判断结果对拆分后的待写入数据进行写入操作,包括:
第二次判断所述数据写入请求是否为首次收到;
若是,则第三次判断是否为首次收到所述数据写入请求,并根据判断结果对拆分后的待写入数据进行写入操作;
若否,则根据所述对所述待写入数据进行拆分的结果对拆分后的待写入数据进行写入操作。
进一步地,所述根据所述对所述待写入数据进行拆分的结果对拆分后的待写入数据进行写入操作,包括:
将小块数据写入缓存池,则数据写入结束后将写入结果反馈给客户端,并将所述数据的属性信息用备份文件记录的信息替换;
将大块数据写入纠删池。
进一步地,所述将大块数据写入纠删池,还包括:
增加布尔型变量值来标记是否有数据写入所述纠删池,若是,则将所述布尔型变量值设置为true,并将所述数据的属性信息用备份文件记录的信息替换。
进一步地,所述第三次判断是否为首次收到所述数据写入请求,并根据判断结果对拆分后的待写入数据进行写入操作,包括:
第三次判断所述数据写入请求是否为首次收到;
若是,则对所述待写入数据进行拆分,并将所述待写入数据的属性信息进行备份,记录到备份文件;
若否,则所述缓存池向纠删池转发所述待写入数据,将所述待写入数据写入所述纠删池。
图4为本发明实施例四提供的可被用于实施本申请中所述的各个实施例的示例性系统;
如图4所示,在一些实施例中,系统能够作为各所述实施例中的任意一个用于双存储池数据写入处理的上述设备。在一些实施例中,系统可包括具有结果的一个或多个计算机可读介质(例如,系统存储器或NVM/存储设备)以及与该一个或多个计算机可读介质耦合并被配置为执行结果以实现模块从而执行本申请中所述的动作的一个或多个处理器(例如,(一个或多个)处理器)。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来结果相关的硬件来完成,上述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种双存储池数据写入处理方法,其特征在于,所述双存储池包括副本池和纠删池,所述方法包括:
将所述副本池设置为所述纠删池的缓存池;
所述缓存池接收数据写入请求;
第一次判断是否为首次收到所述数据写入请求;
若是,则对待写入数据进行拆分,并第二次判断是否为首次收到所述数据写入请求,并根据判断结果对拆分后的待写入数据进行写入操作。
2.根据权利要求1所述的双存储池数据写入处理方法,其特征在于,若第一次判断的结果为非首次收到所述数据写入请求,则判断所述缓存池接收数据是否出现错误,若出现错误,将出错信息反馈给客户端。
3.根据权利要求1所述的双存储池数据写入处理方法,其特征在于,所述对待写入数据进行拆分包括:
根据使用场景可配置项将所述待写入数据拆分为小块数据和大块数据。
4.根据权利要求3所述的双存储池数据写入处理方法,其特征在于,所述第二次判断是否为首次收到所述数据写入请求,并根据判断结果对拆分后的待写入数据进行写入操作,包括:
第二次判断所述数据写入请求是否为首次收到;
若是,则第三次判断是否为首次收到所述数据写入请求,并根据判断结果对拆分后的待写入数据进行写入操作;
若否,则根据对所述待写入数据进行拆分的结果对拆分后的待写入数据进行写入操作。
5.根据权利要求4所述的双存储池数据写入处理方法,其特征在于,所述根据对所述待写入数据进行拆分的结果对拆分后的待写入数据进行写入操作,包括:
将小块数据写入缓存池,则数据写入结束后将写入结果反馈给客户端,并将所述小块数据的属性信息用备份文件记录的信息替换;
将大块数据写入纠删池。
6.根据权利要求5所述的双存储池数据写入处理方法,其特征在于,所述将大块数据写入纠删池,还包括:
增加布尔型变量值来标记是否有数据写入所述纠删池,若是,则将所述布尔型变量值设置为true,并将所述大块数据的属性信息用备份文件记录的信息替换。
7.根据权利要求4所述的双存储池数据写入处理方法,其特征在于,所述第三次判断是否为首次收到所述数据写入请求,并根据判断结果对拆分后的待写入数据进行写入操作,包括:
第三次判断所述数据写入请求是否为首次收到;
若是,则对所述待写入数据进行拆分,并将所述待写入数据的属性信息进行备份,记录到备份文件;
若否,则所述缓存池向纠删池转发所述待写入数据,将所述待写入数据写入所述纠删池。
8.一种双存储池数据写入处理装置,其特征在于,所述装置包括:
创建模块,用于将副本池设置为纠删池的缓存池;
接收模块,用于设置缓存池接收数据写入请求;
判断模块,用于第一次判断是否为首次收到所述数据写入请求;
处理模块,用于对待写入数据进行拆分,并第二次判断是否为首次收到所述数据写入请求,并根据判断结果对拆分后的待写入数据进行写入操作。
9.一种计算机设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现如权利要求1至7中任一项所述方法的步骤。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于,该计算机程序被存储器执行时实现如权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210102565.5A CN114442956B (zh) | 2022-01-27 | 2022-01-27 | 一种双存储池数据写入处理方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210102565.5A CN114442956B (zh) | 2022-01-27 | 2022-01-27 | 一种双存储池数据写入处理方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114442956A CN114442956A (zh) | 2022-05-06 |
CN114442956B true CN114442956B (zh) | 2023-08-25 |
Family
ID=81369420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210102565.5A Active CN114442956B (zh) | 2022-01-27 | 2022-01-27 | 一种双存储池数据写入处理方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114442956B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105677742A (zh) * | 2015-12-30 | 2016-06-15 | 深圳市瑞驰信息技术有限公司 | 一种存储文件的方法及装置 |
CN108255429A (zh) * | 2018-01-10 | 2018-07-06 | 郑州云海信息技术有限公司 | 一种写操作控制方法、系统、装置及计算机可读存储介质 |
CN109683817A (zh) * | 2018-12-14 | 2019-04-26 | 浪潮电子信息产业股份有限公司 | 一种数据写入方法、系统及电子设备和存储介质 |
CN110597779A (zh) * | 2019-09-20 | 2019-12-20 | 浪潮电子信息产业股份有限公司 | 一种分布式文件系统中的数据读写方法及相关装置 |
CN112199054A (zh) * | 2020-12-07 | 2021-01-08 | 上海七牛信息技术有限公司 | 一种文件存储的方法及系统 |
CN112965660A (zh) * | 2021-02-09 | 2021-06-15 | 山东英信计算机技术有限公司 | 一种双存储池信息反馈的方法、系统、设备及介质 |
CN113608695A (zh) * | 2021-07-29 | 2021-11-05 | 济南浪潮数据技术有限公司 | 一种数据处理方法、系统、设备以及介质 |
-
2022
- 2022-01-27 CN CN202210102565.5A patent/CN114442956B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105677742A (zh) * | 2015-12-30 | 2016-06-15 | 深圳市瑞驰信息技术有限公司 | 一种存储文件的方法及装置 |
CN108255429A (zh) * | 2018-01-10 | 2018-07-06 | 郑州云海信息技术有限公司 | 一种写操作控制方法、系统、装置及计算机可读存储介质 |
CN109683817A (zh) * | 2018-12-14 | 2019-04-26 | 浪潮电子信息产业股份有限公司 | 一种数据写入方法、系统及电子设备和存储介质 |
CN110597779A (zh) * | 2019-09-20 | 2019-12-20 | 浪潮电子信息产业股份有限公司 | 一种分布式文件系统中的数据读写方法及相关装置 |
CN112199054A (zh) * | 2020-12-07 | 2021-01-08 | 上海七牛信息技术有限公司 | 一种文件存储的方法及系统 |
CN112965660A (zh) * | 2021-02-09 | 2021-06-15 | 山东英信计算机技术有限公司 | 一种双存储池信息反馈的方法、系统、设备及介质 |
CN113608695A (zh) * | 2021-07-29 | 2021-11-05 | 济南浪潮数据技术有限公司 | 一种数据处理方法、系统、设备以及介质 |
Non-Patent Citations (1)
Title |
---|
Ceph文件系统的对象异构副本技术研究与实现;詹玲;朱承浩;万继光;;小型微型计算机系统(第09期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114442956A (zh) | 2022-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107943414B (zh) | 嵌入式Linux的文件系统分区及数据读写方法 | |
TW201916018A (zh) | 資料儲存裝置與將資料寫入記憶體裝置之方法 | |
CN109144790A (zh) | MySQL数据库的合成备份方法和装置 | |
TW201329992A (zh) | 非揮發性快閃記憶體擦除異常存儲塊修復方法和裝置 | |
CN111475425A (zh) | 管理闪存模块的方法及相关的闪存控制器与电子装置 | |
US11372578B2 (en) | Control method for flash memory controller and associated flash memory controller and memory device | |
CN111581010B (zh) | 一种读操作处理方法、装置、设备及可读存储介质 | |
CN114442956B (zh) | 一种双存储池数据写入处理方法、装置、设备及介质 | |
US10261721B2 (en) | Memory system and operating method thereof | |
US11487475B2 (en) | Control method for referring to expired block table to perform expired block recycling operation and associated flash memory controller and memory device | |
CN113220221B (zh) | 存储器控制器与数据处理方法 | |
CN115543871B (zh) | 数据存储方法及相关设备 | |
CN114721602B (zh) | 一种基于FreeRTOS的Nor Flash滚动存储方法及装置 | |
CN114115745B (zh) | 多Pass编程NAND的RAID优化方法、装置及计算机设备 | |
CN115878041A (zh) | 固态硬盘raid写性能提升的实现方法、装置和计算机设备 | |
TWI670598B (zh) | 管理快閃記憶體模組的方法及相關的快閃記憶體控制器及電子裝置 | |
CN114047880B (zh) | 多Pass编程的NAND写入功耗优化方法、装置及计算机设备 | |
CN110275596B (zh) | 基于固态硬盘的上电初始化加速方法、装置和计算机设备 | |
JP2013069171A (ja) | メモリシステムとその制御方法 | |
CN114185620B (zh) | 加速ssd固件加载实现方法、装置、计算机设备及存储介质 | |
CN111090542A (zh) | 基于异常掉电的异常块识别方法、装置及计算机设备 | |
CN112596679B (zh) | 固态硬盘的raid实现方法、装置、计算机设备及存储介质 | |
CN117472292B (zh) | 独立磁盘冗余阵列的数据重构方法及存储系统、控制器 | |
CN114327274B (zh) | 基于固态硬盘的映射表加载检查方法、装置及计算机设备 | |
CN113094294B (zh) | Ssd异常掉电处理方法、装置、计算机设备及存储介质 |
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 |