CN109683817A - 一种数据写入方法、系统及电子设备和存储介质 - Google Patents
一种数据写入方法、系统及电子设备和存储介质 Download PDFInfo
- Publication number
- CN109683817A CN109683817A CN201811534410.9A CN201811534410A CN109683817A CN 109683817 A CN109683817 A CN 109683817A CN 201811534410 A CN201811534410 A CN 201811534410A CN 109683817 A CN109683817 A CN 109683817A
- Authority
- CN
- China
- Prior art keywords
- data
- write
- written
- polishing
- length
- 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.)
- Pending
Links
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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- 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/0629—Configuration or reconfiguration of storage systems
-
- 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
- G06F3/064—Management of blocks
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本申请公开了一种数据写入方法、系统及一种电子设备和计算机可读存储介质,该方法包括:当接收到非对齐数据的写入操作时,获取所述写入操作的待写入数据,并确定所述写入操作的写入类型;确定预设条带大小,并根据所述写入类型、所述待写入数据的长度和所述预设条带大小,确定需要补齐的数据范围;根据所述数据范围将所述待写入数据的长度补齐至所述预设条带大小的整数倍,得到补齐后数据;利用纠删码算法对所述补齐后数据进行编码,并将编码后数据发送至目标设备。本申请首先确定写入操作的类型,并采用与操作类型相应的数据补齐方法将待写入数据补齐至所述预设条带大小的整数倍,有效的提高了数据写入的速率,节省了工作时间。
Description
技术领域
本申请涉及存储技术领域,更具体地说,涉及一种数据写入方法、系统及一种电子设备和一种计算机可读存储介质。
背景技术
分布式存储系统中,副本和纠删码是两种广泛使用的数据冗余机制。其中,纠删码技术主要是通过利用纠删码算法将原始的数据进行编码得到冗余,并将数据和冗余一并存储起来,以达到容错的目的。其基本思想是将K块原始的数据元素通过一定的编码计算,得到M块冗余元素。对于这K+M块的元素,当其中任意的M块元素出错(包括数据和冗余出错)时,均可以通过对应的重构算法恢复出原来的K块数据。当写入数据时,要求数据大小是纠删条带(用来计算冗余元素的K个数据块的大小)的整数倍大小,即是条带对齐的,然而在大部分情况下这都是不满足的,必须对原始数据进行补齐才能进行纠删码的计算。
发明内容
本申请的目的在于提供一种数据写入方法、系统及一种电子设备和一种计算机可读存储介质,有效提高了非对齐数据的写入速率。
为实现上述目的,本申请提供了一种数据写入方法,包括:
当接收到非对齐数据的写入操作时,获取所述写入操作的待写入数据,并确定所述写入操作的写入类型;
确定预设条带大小,并根据所述写入类型、所述待写入数据的长度和所述预设条带大小,确定需要补齐的数据范围;
根据所述数据范围将所述待写入数据的长度补齐至所述预设条带大小的整数倍,得到补齐后数据;
利用纠删码算法对所述补齐后数据进行编码,并将编码后数据发送至目标设备。
可选的,所述根据所述写入类型、所述根据所述写入类型、所述待写入数据的长度和所述预设条带大小,确定需要补齐的数据范围,包括:
当所述写入类型为初次写入或修改写入时,根据所述待写入数据的长度和所述预设条带大小计算需要补齐的数据范围。
可选的,当所述写入类型为所述修改写入时,所述根据所述数据范围将所述待写入数据的长度补齐至所述预设条带大小的整数倍,得到补齐后数据,包括:
获取所述目标设备中与所述写入操作对应的原始数据;
根据所述待写入数据确定所述原始数据中的待修改数据段和无需修改的固定数据段;
根据所述数据范围将所述待写入数据的长度补齐至所述预设条带大小的整数倍,并与所述固定数据段合并,得到补齐后数据。
可选的,所述根据所述写入类型、所述待写入数据的长度和所述预设条带大小,确定需要补齐的数据范围,包括:
当所述写入类型为追加写入时,获取所述写入操作对应的原始数据,并确定所述原始数据中非对齐的目标数据段;
将所述目标数据段和所述待写入数据合并,并根据合并后数据的长度和所述预设条带大小计算需要补齐的数据范围。
可选的,所述将编码后数据发送至目标设备之前,还包括:
获取所述原始数据的实际大小,得到偏移量;
相应的,所述将编码后数据发送至目标设备,包括:
根据所述偏移量将所述编码后数据追加写入所述目标设备。
为实现上述目的,本申请提供了一种数据写入系统,包括:
类型确定模块,用于当接收到非对齐数据的写入操作时,获取所述写入操作的待写入数据,并确定所述写入操作的写入类型;
范围确定模块,用于确定预设条带大小,并根据所述写入类型、所述待写入数据的长度和所述预设条带大小,确定需要补齐的数据范围;
数据补齐模块,用于根据所述数据范围将所述待写入数据的长度补齐至所述预设条带大小的整数倍,得到补齐后数据;
纠删编码模块,用于利用纠删码算法对所述补齐后数据进行编码,并将编码后数据发送至目标设备。
可选的,当所述写入类型为所述修改写入时,所述范围确定模块,包括:
数据获取单元,用于获取所述目标设备中与所述写入操作对应的原始数据;
第一数据确定单元,用于根据所述待写入数据确定所述原始数据中的待修改数据段和无需修改的固定数据段;
第一数据合并单元,用于根据所述数据范围将所述待写入数据的长度补齐至所述预设条带大小的整数倍,并与所述固定数据段合并,得到补齐后数据。
可选的,所述范围确定模块,包括:
第二数据确定单元,用于当所述写入类型为追加写入时,获取所述写入操作对应的原始数据,并确定所述原始数据中非对齐的目标数据段;
第二数据合并单元,用于将所述目标数据段和所述待写入数据合并,并根据合并后数据的长度和所述预设条带大小计算需要补齐的数据范围。
为实现上述目的,本申请提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述数据写入方法的步骤。
为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述数据写入方法的步骤。
通过以上方案可知,本申请提供的数据写入方法,包括:当接收到非对齐数据的写入操作时,获取所述写入操作的待写入数据,并确定所述写入操作的写入类型;确定预设条带大小,并根据所述写入类型、所述待写入数据的长度和所述预设条带大小,确定需要补齐的数据范围;根据所述数据范围将所述待写入数据的长度补齐至所述预设条带大小的整数倍,得到补齐后数据;利用纠删码算法对所述补齐后数据进行编码,并将编码后数据发送至目标设备。本申请首先确定写入操作的类型,并采用与操作类型相应的数据补齐方法将待写入数据补齐至预设条带大小的整数倍,有效的提高了数据写入的速率,节省了工作时间。本申请还公开了一种数据写入系统及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种数据写入方法的流程图;
图2为本申请实施例公开的另一种数据写入方法的流程图;
图3为本申请实施例公开的另一种数据写入方法的流程图;
图4为本申请实施例公开的另一种数据写入方法的流程图;
图5为本申请实施例公开的一种具体的数据写入方法的流程图;
图6为本申请实施例公开的一种数据写入系统的结构图;
图7为本申请实施例公开的一种电子设备的结构图;
图8为本申请实施例公开的另一种电子设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
纠删码技术主要是通过利用纠删码算法将原始的数据进行编码得到冗余,并将数据和冗余一并存储起来,以达到容错的目的。当写入数据时,要求数据大小是纠删条带的整数倍大小,即是条带对齐的,然而在大部分情况下这都是不满足的,必须对原始数据进行补齐才能进行纠删码的计算。
本申请实施例公开了一种数据写入方法,提高了非对齐数据的写入速率。
参见图1,本申请实施例公开的一种数据写入方法的流程图,如图1所示,包括:
S101:当接收到非对齐数据的写入操作时,获取所述写入操作的待写入数据,并确定所述写入操作的写入类型;
本实施例中,当接收到非对齐数据的写入操作时,需要判断当前写入操作的类型,并获取待写入数据。
S102:确定预设条带大小,并根据所述写入类型、所述待写入数据的长度和所述预设条带大小,确定需要补齐的数据范围;
具体地,本实施例根据当前操作的类型、待写入数据的长度以及预设条带大小,确定需要补齐的数据范围,以对当前待写入数据进行补齐。
S103:根据所述数据范围将所述待写入数据的长度补齐至所述预设条带大小的整数倍,得到补齐后数据;
进一步地,本实施例根据所述数据范围对待写入数据进行补齐操作,从而将待写入数据的长度补齐至预设条带大小的整数倍。具体地,可以由客户端在待写入数据后直接补零至预设条带大小的整数倍。
S104:利用纠删码算法对所述补齐后数据进行编码,并将编码后数据发送至目标设备。
可以理解的是,在对数据进行补齐操作之后,可以对其进行纠删码的计算,编码得到冗余数据,并将冗余数据和待写入数据一并发送至目标设备。
通过以上方案可知,本申请提供的一种数据写入方法,包括:当接收到非对齐数据的写入操作时,获取所述写入操作的待写入数据,并确定所述写入操作的写入类型;确定预设条带大小,并根据所述写入类型、所述待写入数据的长度和所述预设条带大小,确定需要补齐的数据范围;根据所述数据范围将所述待写入数据的长度补齐至所述预设条带大小的整数倍,得到补齐后数据;利用纠删码算法对所述补齐后数据进行编码,并将编码后数据发送至目标设备。本申请首先确定写入操作的类型,并采用与操作类型相应的数据补齐方法将待写入数据补齐至所述预设条带大小的整数倍,有效的提高了数据写入的速率,节省了工作时间。
本实施例公开了另一种数据写入方法,参见图2,方法包括:
S201:当接收到非对齐数据的写入操作时,获取所述写入操作的待写入数据,并确定所述写入操作的写入类型以及预设条带大小;
S202:当所述写入类型为初次写入或修改写入时,根据所述待写入数据的长度和所述预设条带大小计算需要补齐的数据范围;
具体地,本实施例中当数据的写入操作为初次写入或修改写入时,直接根据待写入数据的长度和预设条带大小计算得到需要补齐的数据范围。
S203:根据所述数据范围将所述待写入数据的长度补齐至所述预设条带大小的整数倍,得到补齐后数据;
S204:利用纠删码算法对所述补齐后数据进行编码,并将编码后数据发送至目标设备。
在上述任一实施例的基础上,本实施例公开了另一种数据写入方法,参见图3,方法包括:
S301:当接收到非对齐数据的写入操作时,获取所述写入操作的待写入数据,并确定所述写入操作的写入类型以及预设条带大小;
S302:当所述写入类型为修改写入时,根据所述待写入数据的长度和所述预设条带大小计算需要补齐的范围;
关于上述步骤S301和S302的具体实施过程可参考前述实施例的内容,在此不再进行赘述。
S303:获取所述目标设备中与所述写入操作对应的原始数据;
S304:根据所述待写入数据确定所述原始数据中的待修改数据段和无需修改的固定数据段;
S305:根据所述数据范围将所述待写入数据的长度补齐至所述预设条带大小的整数倍,并与所述固定数据段合并,得到补齐后数据;
可以理解的是,当写入类型为修改写入时,需要从目标设备中获取当前修改写入操作对应的原始数据。进一步确定原始数据中与待写入数据对应的待修改数据段,以及无需修改的固定数据段。将待写入数据补齐,并与取出的所述固定数据段合并,得到补齐后数据,以使客户端对合并后的数据进行纠删处理后将编码后的数据发送至目标设备。例如,若当前的待写入数据的范围为5-10,那么将待写入数据根据预设条带大小补齐后,将原始数据中5之前的数据段以及10之后的数据段取出,并与待写入数据进行组合,从而得到补齐后数据。
S306:利用纠删码算法对所述补齐后数据进行编码,并将编码后数据发送至目标设备。
在上述任一实施例的基础上,本实施例公开了又一种数据写入方法,参见图4,方法包括:
S401:当接收到非对齐数据的写入操作时,获取所述写入操作的待写入数据,并确定所述写入操作的写入类型以及预设条带大小;
S402:当所述写入类型为追加写入时,获取所述写入操作对应的原始数据,并确定所述原始数据中非对齐的目标数据段;
可以理解的是,当确定写入操作的类型为追加写时,需要获取当前追加写入操作对应的原始数据,并根据原始数据的长度和预设条带大小确定出目标数据段,具体地,目标数据段为原始数据末尾的与预设条带大小不对齐的数据段。当然,若原始数据刚好为预设条带大小的整数倍,则不存在目标数据段。
S403:将所述目标数据段和所述待写入数据合并,并根据合并后数据的长度和所述预设条带大小计算需要补齐的数据范围;
进一步地,将非对齐的目标数据段和待写入数据组合,从而根据合并后数据长度和预设条带大小计算需要补齐的数据范围。
S404:获取所述原始数据的实际大小,得到偏移量;
S405:利用纠删码算法对所述补齐后数据进行编码,并根据所述偏移量将编码后数据追加写入目标设备。
另外,由于追加写的写入方式是在原始数据的末尾进行写入,因此需要确定数据的写入位置。具体地,可以通过原始数据的实际大小得到偏移量,从而确定写入位置,实现追加写入。
图5为本申请实施例公开的一种具体的数据写入方法的流程图,参见图5所示,方法包括:当接收到写操作后,分析写操作的类型。若为初始写,则计算待补齐的数据范围,并直接在客户端补齐原始数据;若为修改写,则计算待补齐数据范围,并从OSD(ObjectStorage Device,对象存储设备)端读取待补齐数据,也即除了修改写对应的数据段之外的不需修改的数据段,并补齐原始数据;若为追加写,则从OSD端读取当前写操作对应的原始数据对象的实际大小和原始数据对象末尾的非对齐数据段,进而将非对齐数据段和追加写操作的追加数据段合并,计算得到需要补齐的数据范围,并补齐原始数据。进一步地,将补齐后的数据进行纠删编码,并将编码后数据发送至各个OSD端。
下面对本申请实施例提供的一种数据写入系统进行介绍,下文描述的一种数据写入系统与上文描述的一种数据写入方法可以相互参照。
参见图6,本申请实施例提供的一种数据写入系统的结构图,如图6所示,包括:
类型确定模块11,用于当接收到非对齐数据的写入操作时,获取所述写入操作的待写入数据,并确定所述写入操作的写入类型;
范围确定模块12,用于确定预设条带大小,并根据所述写入类型、所述待写入数据的长度和所述预设条带大小,确定需要补齐的数据范围;
数据补齐模块13,用于根据所述数据范围将所述待写入数据的长度补齐至所述预设条带大小的整数倍,得到补齐后数据;
纠删编码模块14,用于利用纠删码算法对所述补齐后数据进行编码,并将编码后数据发送至目标设备。
进一步地,当所述写入类型为所述修改写入时,所述范围确定模块可以具体包括:
数据获取单元,用于获取所述目标设备中与所述写入操作对应的原始数据;
第一数据确定单元,用于根据所述待写入数据确定所述原始数据中的待修改数据段和无需修改的固定数据段;
第一数据合并单元,用于根据所述数据范围将所述待写入数据的长度补齐至所述预设条带大小的整数倍,并与所述固定数据段合并,得到补齐后数据。
可选的,当所述写入类型为修改写入时,所述范围确定模块,包括:
数据获取单元,用于获取所述目标设备中与所述写入操作对应的原始数据;
第一数据确定单元,用于根据所述待写入数据确定所述原始数据中的待修改数据段和无需修改的固定数据段;
第一数据合并单元,用于根据所述数据范围将所述待写入数据的长度补齐至所述预设条带大小的整数倍,并与所述固定数据段合并,得到补齐后数据。
可选的,当所述写入类型为追加写入时,所述范围确定模块,包括:
第二数据确定单元,用于获取所述写入操作对应的原始数据,并确定所述原始数据中非对齐的目标数据段;
第二数据合并单元,用于将所述目标数据段和所述待写入数据合并,并根据合并后数据的长度和所述预设条带大小计算需要补齐的数据范围。
第二数据确定单元,用于当所述写入类型为追加写入时,获取所述写入操作对应的原始数据,并确定所述原始数据中非对齐的目标数据段;
第二数据合并单元,用于将所述目标数据段和所述待写入数据合并,并根据合并后数据的长度和所述预设条带大小计算需要补齐的数据范围。
本申请还提供了一种电子设备,参见图7,本申请实施例提供的一种电子设备的结构图,如图7所示,包括:
存储器100,用于存储计算机程序;
处理器200,用于执行所述计算机程序时可以实现上述实施例所提供的步骤。
具体的,存储器100包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机可读指令,该内存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。处理器200在一些实施例中可以是一中央处理器(CentralProcessing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,为电子设备提供计算和控制能力。
在上述实施例的基础上,作为优选实施方式,参见图8,所述电子设备还包括:
输入接口300,与处理器200相连,用于获取外部导入的计算机程序、参数和指令,经处理器200控制保存至存储器100中。该输入接口300可以与输入装置相连,接收用户手动输入的参数或指令。该输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是键盘、触控板或鼠标等。
显示单元400,与处理器200相连,用于显示处理器200处理的数据以及用于显示可视化的用户界面。该显示单元400可以为LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。
网络端口500,与处理器200相连,用于与外部各终端设备进行通信连接。该通信连接所采用的通信技术可以为有线通信技术或无线通信技术,如移动高清链接技术(MHL)、通用串行总线(USB)、高清多媒体接口(HDMI)、无线保真技术(WiFi)、蓝牙通信技术、低功耗蓝牙通信技术、基于IEEE802.11s的通信技术等。
图8仅示出了具有组件100-500的电子设备,本领域技术人员可以理解的是,图8示出的结构并不构成对电子设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本申请还提供了一种计算机可读存储介质,该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述公开的任一种数据写入方法。
本申请首先确定写入操作的类型,并采用与操作类型相应的数据补齐方法将待写入数据补齐至所述预设条带大小的整数倍,有效的提高了数据写入的速率,节省了工作时间。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种数据写入方法,其特征在于,包括:
当接收到非对齐数据的写入操作时,获取所述写入操作的待写入数据,并确定所述写入操作的写入类型;
确定预设条带大小,并根据所述写入类型、所述待写入数据的长度和所述预设条带大小,确定需要补齐的数据范围;
根据所述数据范围将所述待写入数据的长度补齐至所述预设条带大小的整数倍,得到补齐后数据;
利用纠删码算法对所述补齐后数据进行编码,并将编码后数据发送至目标设备。
2.根据权利要求1所述的数据写入方法,其特征在于,所述根据所述写入类型、所述待写入数据的长度和所述预设条带大小,确定需要补齐的数据范围,包括:
当所述写入类型为初次写入或修改写入时,根据所述待写入数据的长度和所述预设条带大小计算需要补齐的数据范围。
3.根据权利要求2所述的数据写入方法,其特征在于,当所述写入类型为所述修改写入时,所述根据所述数据范围将所述待写入数据的长度补齐至所述预设条带大小的整数倍,得到补齐后数据,包括:
获取所述目标设备中与所述写入操作对应的原始数据;
根据所述待写入数据确定所述原始数据中的待修改数据段和无需修改的固定数据段;
根据所述数据范围将所述待写入数据的长度补齐至所述预设条带大小的整数倍,并与所述固定数据段合并,得到补齐后数据。
4.根据权利要求1至3任一项所述的数据写入方法,其特征在于,所述根据所述写入类型、所述待写入数据的长度和所述预设条带大小,确定需要补齐的数据范围,包括:
当所述写入类型为追加写入时,获取所述写入操作对应的原始数据,并确定所述原始数据中非对齐的目标数据段;
将所述目标数据段和所述待写入数据合并,并根据合并后数据的长度和所述预设条带大小计算需要补齐的数据范围。
5.根据权利要求4所述的数据写入方法,其特征在于,所述将编码后数据发送至目标设备之前,还包括:
获取所述原始数据的实际大小,得到偏移量;
相应的,所述将编码后数据发送至目标设备,包括:
根据所述偏移量将所述编码后数据追加写入所述目标设备。
6.一种数据写入系统,其特征在于,包括:
类型确定模块,用于当接收到非对齐数据的写入操作时,获取所述写入操作的待写入数据,并确定所述写入操作的写入类型;
范围确定模块,用于确定预设条带大小,并根据所述写入类型、所述待写入数据的长度和所述预设条带大小,确定需要补齐的数据范围;
数据补齐模块,用于根据所述数据范围将所述待写入数据的长度补齐至所述预设条带大小的整数倍,得到补齐后数据;
纠删编码模块,用于利用纠删码算法对所述补齐后数据进行编码,并将编码后数据发送至目标设备。
7.根据权利要求6所述的数据写入系统,其特征在于,当所述写入类型为所述修改写入时,所述范围确定模块,包括:
数据获取单元,用于获取所述目标设备中与所述写入操作对应的原始数据;
第一数据确定单元,用于根据所述待写入数据确定所述原始数据中的待修改数据段和无需修改的固定数据段;
第一数据合并单元,用于根据所述数据范围将所述待写入数据的长度补齐至所述预设条带大小的整数倍,并与所述固定数据段合并,得到补齐后数据。
8.根据权利要求6或7所述的数据写入系统,其特征在于,所述范围确定模块,包括:
第二数据确定单元,用于当所述写入类型为追加写入时,获取所述写入操作对应的原始数据,并确定所述原始数据中非对齐的目标数据段;
第二数据合并单元,用于将所述目标数据段和所述待写入数据合并,并根据合并后数据的长度和所述预设条带大小计算需要补齐的数据范围。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述数据写入方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述数据写入方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811534410.9A CN109683817A (zh) | 2018-12-14 | 2018-12-14 | 一种数据写入方法、系统及电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811534410.9A CN109683817A (zh) | 2018-12-14 | 2018-12-14 | 一种数据写入方法、系统及电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109683817A true CN109683817A (zh) | 2019-04-26 |
Family
ID=66187756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811534410.9A Pending CN109683817A (zh) | 2018-12-14 | 2018-12-14 | 一种数据写入方法、系统及电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109683817A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113835639A (zh) * | 2021-09-26 | 2021-12-24 | 深圳大普微电子科技有限公司 | 一种i/o请求处理方法、装置、设备及可读存储介质 |
CN114442956A (zh) * | 2022-01-27 | 2022-05-06 | 苏州浪潮智能科技有限公司 | 一种双存储池数据写入处理方法、装置、设备及介质 |
CN115865097A (zh) * | 2023-02-17 | 2023-03-28 | 浪潮电子信息产业股份有限公司 | 一种数据压缩方法、系统、设备及计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070113008A1 (en) * | 2003-04-26 | 2007-05-17 | Scales William J | Configuring Memory for a Raid Storage System |
US20070250737A1 (en) * | 2005-09-13 | 2007-10-25 | Agere Systems Inc. | Method and Apparatus for Aligned Data Storage Addresses in a Raid System |
CN104102558A (zh) * | 2014-07-13 | 2014-10-15 | 中国人民解放军国防科学技术大学 | 一种基于纠删码的文件追加方法 |
CN105930103A (zh) * | 2016-05-10 | 2016-09-07 | 南京大学 | 一种分布式存储ceph的纠删码覆盖写方法 |
CN107608820A (zh) * | 2017-09-26 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种基于纠删码的文件写入方法及相关装置 |
CN108255429A (zh) * | 2018-01-10 | 2018-07-06 | 郑州云海信息技术有限公司 | 一种写操作控制方法、系统、装置及计算机可读存储介质 |
-
2018
- 2018-12-14 CN CN201811534410.9A patent/CN109683817A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070113008A1 (en) * | 2003-04-26 | 2007-05-17 | Scales William J | Configuring Memory for a Raid Storage System |
US20070250737A1 (en) * | 2005-09-13 | 2007-10-25 | Agere Systems Inc. | Method and Apparatus for Aligned Data Storage Addresses in a Raid System |
CN104102558A (zh) * | 2014-07-13 | 2014-10-15 | 中国人民解放军国防科学技术大学 | 一种基于纠删码的文件追加方法 |
CN105930103A (zh) * | 2016-05-10 | 2016-09-07 | 南京大学 | 一种分布式存储ceph的纠删码覆盖写方法 |
CN107608820A (zh) * | 2017-09-26 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种基于纠删码的文件写入方法及相关装置 |
CN108255429A (zh) * | 2018-01-10 | 2018-07-06 | 郑州云海信息技术有限公司 | 一种写操作控制方法、系统、装置及计算机可读存储介质 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113835639A (zh) * | 2021-09-26 | 2021-12-24 | 深圳大普微电子科技有限公司 | 一种i/o请求处理方法、装置、设备及可读存储介质 |
CN113835639B (zh) * | 2021-09-26 | 2024-03-19 | 深圳大普微电子科技有限公司 | 一种i/o请求处理方法、装置、设备及可读存储介质 |
CN114442956A (zh) * | 2022-01-27 | 2022-05-06 | 苏州浪潮智能科技有限公司 | 一种双存储池数据写入处理方法、装置、设备及介质 |
CN114442956B (zh) * | 2022-01-27 | 2023-08-25 | 苏州浪潮智能科技有限公司 | 一种双存储池数据写入处理方法、装置、设备及介质 |
CN115865097A (zh) * | 2023-02-17 | 2023-03-28 | 浪潮电子信息产业股份有限公司 | 一种数据压缩方法、系统、设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109683817A (zh) | 一种数据写入方法、系统及电子设备和存储介质 | |
CN103348330B (zh) | 采用独立硅元件的动态较高级冗余模式管理 | |
JP6185993B2 (ja) | 不揮発性メモリのための混合粒度の上位レベルの冗長 | |
US8990670B2 (en) | Endurance aware error-correcting code (ECC) protection for non-volatile memories | |
CN109634523A (zh) | 一种磁盘管理方法、系统及电子设备和存储介质 | |
US20120268480A1 (en) | Methods of and apparatus for displaying windows on a display | |
US9147374B2 (en) | Controlling real-time compression detection | |
CN105579980A (zh) | 基于ssd的raid系统中的校验数据的去重 | |
US20130326169A1 (en) | Method and Storage Device for Detection of Streaming Data Based on Logged Read/Write Transactions | |
CN105206306A (zh) | 在非易失性存储器处理纠错码的方法及非易失性存储装置 | |
CN103729307A (zh) | 数据压缩装置和方法以及包括数据压缩装置的存储系统 | |
CN106990977A (zh) | 主机看到的设备固件更新效果的管理 | |
WO2012140695A1 (en) | Storage control apparatus and error correction method | |
US9182934B2 (en) | Method and apparatus for generating an output surface from one or more input surfaces in data processing systems | |
US20160292500A1 (en) | Ink file output method, output device, and program | |
US20150084983A1 (en) | Method and apparatus for generating an output surface from one or more input surfaces in data processing systems | |
US20130262407A1 (en) | Multiplex classification for tabular data compression | |
CN102520890A (zh) | 基于gpu的rs-draid系统及存储设备数据控制方法 | |
CN110020528A (zh) | 一种bmc启动方法、装置及电子设备和存储介质 | |
KR102652293B1 (ko) | 메모리 관리방법 | |
CN110401869A (zh) | 一种视频直播方法、系统及电子设备和存储介质 | |
US9472240B2 (en) | Video editing method and video editing device | |
US20150026519A1 (en) | Serial attached small computer system interface expander and debugging method | |
CN110008159A (zh) | Pcie宽度自动适配方法、装置及电子设备和存储介质 | |
CN112115001A (zh) | 数据备份方法、装置、计算机存储介质及电子设备 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190426 |
|
RJ01 | Rejection of invention patent application after publication |