一种数据写入方法、系统及电子设备和存储介质技术方案

技术编号:20992039 阅读:40 留言:0更新日期:2019-04-29 22:10
本申请公开了一种数据写入方法、系统及一种电子设备和计算机可读存储介质,该方法包括:当接收到非对齐数据的写入操作时,获取所述写入操作的待写入数据,并确定所述写入操作的写入类型;确定预设条带大小,并根据所述写入类型、所述待写入数据的长度和所述预设条带大小,确定需要补齐的数据范围;根据所述数据范围将所述待写入数据的长度补齐至所述预设条带大小的整数倍,得到补齐后数据;利用纠删码算法对所述补齐后数据进行编码,并将编码后数据发送至目标设备。本申请首先确定写入操作的类型,并采用与操作类型相应的数据补齐方法将待写入数据补齐至所述预设条带大小的整数倍,有效的提高了数据写入的速率,节省了工作时间。

A Data Writing Method, System and Electronic Equipment and Storage Media

This application discloses a data writing method, system and an electronic device and a computer readable storage medium. The method includes: when receiving a write operation of Non-Aligned data, acquiring the data to be written in the write operation and determining the write type of the write operation; determining the preset band size and according to the write type and the length of the data to be written According to the data range, the length of the data to be written is filled up to an integer multiple of the size of the preset strip, and the data after completion is obtained. The data after completion is encoded by the erasure code algorithm, and the encoded data is sent to the target device. This application first determines the type of write operation, and uses the data completion method corresponding to the type of operation to complete the data to be written to the integer times of the preset band size, which effectively improves the speed of data writing and saves working time.

【技术实现步骤摘要】
一种数据写入方法、系统及电子设备和存储介质
本申请涉及存储
,更具体地说,涉及一种数据写入方法、系统及一种电子设备和一种计算机可读存储介质。
技术介绍
分布式存储系统中,副本和纠删码是两种广泛使用的数据冗余机制。其中,纠删码技术主要是通过利用纠删码算法将原始的数据进行编码得到冗余,并将数据和冗余一并存储起来,以达到容错的目的。其基本思想是将K块原始的数据元素通过一定的编码计算,得到M块冗余元素。对于这K+M块的元素,当其中任意的M块元素出错(包括数据和冗余出错)时,均可以通过对应的重构算法恢复出原来的K块数据。当写入数据时,要求数据大小是纠删条带(用来计算冗余元素的K个数据块的大小)的整数倍大小,即是条带对齐的,然而在大部分情况下这都是不满足的,必须对原始数据进行补齐才能进行纠删码的计算。
技术实现思路
本申请的目的在于提供一种数据写入方法、系统及一种电子设备和一种计算机可读存储介质,有效提高了非对齐数据的写入速率。为实现上述目的,本申请提供了一种数据写入方法,包括:当接收到非对齐数据的写入操作时,获取所述写入操作的待写入数据,并确定所述写入操作的写入类型;确定预设条带大小,并根据所述写入类型、所述待写入数据的长度和所述预设条带大小,确定需要补齐的数据范围;根据所述数据范围将所述待写入数据的长度补齐至所述预设条带大小的整数倍,得到补齐后数据;利用纠删码算法对所述补齐后数据进行编码,并将编码后数据发送至目标设备。可选的,所述根据所述写入类型、所述根据所述写入类型、所述待写入数据的长度和所述预设条带大小,确定需要补齐的数据范围,包括:当所述写入类型为初次写入或修改写入时,根据所述待写入数据的长度和所述预设条带大小计算需要补齐的数据范围。可选的,当所述写入类型为所述修改写入时,所述根据所述数据范围将所述待写入数据的长度补齐至所述预设条带大小的整数倍,得到补齐后数据,包括:获取所述目标设备中与所述写入操作对应的原始数据;根据所述待写入数据确定所述原始数据中的待修改数据段和无需修改的固定数据段;根据所述数据范围将所述待写入数据的长度补齐至所述预设条带大小的整数倍,并与所述固定数据段合并,得到补齐后数据。可选的,所述根据所述写入类型、所述待写入数据的长度和所述预设条带大小,确定需要补齐的数据范围,包括:当所述写入类型为追加写入时,获取所述写入操作对应的原始数据,并确定所述原始数据中非对齐的目标数据段;将所述目标数据段和所述待写入数据合并,并根据合并后数据的长度和所述预设条带大小计算需要补齐的数据范围。可选的,所述将编码后数据发送至目标设备之前,还包括:获取所述原始数据的实际大小,得到偏移量;相应的,所述将编码后数据发送至目标设备,包括:根据所述偏移量将所述编码后数据追加写入所述目标设备。为实现上述目的,本申请提供了一种数据写入系统,包括:类型确定模块,用于当接收到非对齐数据的写入操作时,获取所述写入操作的待写入数据,并确定所述写入操作的写入类型;范围确定模块,用于确定预设条带大小,并根据所述写入类型、所述待写入数据的长度和所述预设条带大小,确定需要补齐的数据范围;数据补齐模块,用于根据所述数据范围将所述待写入数据的长度补齐至所述预设条带大小的整数倍,得到补齐后数据;纠删编码模块,用于利用纠删码算法对所述补齐后数据进行编码,并将编码后数据发送至目标设备。可选的,当所述写入类型为所述修改写入时,所述范围确定模块,包括:数据获取单元,用于获取所述目标设备中与所述写入操作对应的原始数据;第一数据确定单元,用于根据所述待写入数据确定所述原始数据中的待修改数据段和无需修改的固定数据段;第一数据合并单元,用于根据所述数据范围将所述待写入数据的长度补齐至所述预设条带大小的整数倍,并与所述固定数据段合并,得到补齐后数据。可选的,所述范围确定模块,包括:第二数据确定单元,用于当所述写入类型为追加写入时,获取所述写入操作对应的原始数据,并确定所述原始数据中非对齐的目标数据段;第二数据合并单元,用于将所述目标数据段和所述待写入数据合并,并根据合并后数据的长度和所述预设条带大小计算需要补齐的数据范围。为实现上述目的,本申请提供了一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如上述数据写入方法的步骤。为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述数据写入方法的步骤。通过以上方案可知,本申请提供的数据写入方法,包括:当接收到非对齐数据的写入操作时,获取所述写入操作的待写入数据,并确定所述写入操作的写入类型;确定预设条带大小,并根据所述写入类型、所述待写入数据的长度和所述预设条带大小,确定需要补齐的数据范围;根据所述数据范围将所述待写入数据的长度补齐至所述预设条带大小的整数倍,得到补齐后数据;利用纠删码算法对所述补齐后数据进行编码,并将编码后数据发送至目标设备。本申请首先确定写入操作的类型,并采用与操作类型相应的数据补齐方法将待写入数据补齐至预设条带大小的整数倍,有效的提高了数据写入的速率,节省了工作时间。本申请还公开了一种数据写入系统及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例公开的一种数据写入方法的流程图;图2为本申请实施例公开的另一种数据写入方法的流程图;图3为本申请实施例公开的另一种数据写入方法的流程图;图4为本申请实施例公开的另一种数据写入方法的流程图;图5为本申请实施例公开的一种具体的数据写入方法的流程图;图6为本申请实施例公开的一种数据写入系统的结构图;图7为本申请实施例公开的一种电子设备的结构图;图8为本申请实施例公开的另一种电子设备的结构图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。纠删码技术主要是通过利用纠删码算法将原始的数据进行编码得到冗余,并将数据和冗余一并存储起来,以达到容错的目的。当写入数据时,要求数据大小是纠删条带的整数倍大小,即是条带对齐的,然而在大部分情况下这都是不满足的,必须对原始数据进行补齐才能进行纠删码的计算。本申请实施例公开了一种数据写入方法,提高了非对齐数据的写入速率。参见图1,本申请实施例公开的一种数据写入方法的流程图,如图1所示,包括:S101:当接收到非对齐数据的写入操作时,获取所述写入操作的待写入数据,并确定所述写入操作的写入类型;本实施例中,当接收到非对齐数据的写入操作时,需要判断当前写入操作的类型,并获取待写入数据。S102:确定预设条带大小,并根据所述写本文档来自技高网...

【技术保护点】
1.一种数据写入方法,其特征在于,包括:当接收到非对齐数据的写入操作时,获取所述写入操作的待写入数据,并确定所述写入操作的写入类型;确定预设条带大小,并根据所述写入类型、所述待写入数据的长度和所述预设条带大小,确定需要补齐的数据范围;根据所述数据范围将所述待写入数据的长度补齐至所述预设条带大小的整数倍,得到补齐后数据;利用纠删码算法对所述补齐后数据进行编码,并将编码后数据发送至目标设备。

【技术特征摘要】
1.一种数据写入方法,其特征在于,包括:当接收到非对齐数据的写入操作时,获取所述写入操作的待写入数据,并确定所述写入操作的写入类型;确定预设条带大小,并根据所述写入类型、所述待写入数据的长度和所述预设条带大小,确定需要补齐的数据范围;根据所述数据范围将所述待写入数据的长度补齐至所述预设条带大小的整数倍,得到补齐后数据;利用纠删码算法对所述补齐后数据进行编码,并将编码后数据发送至目标设备。2.根据权利要求1所述的数据写入方法,其特征在于,所述根据所述写入类型、所述待写入数据的长度和所述预设条带大小,确定需要补齐的数据范围,包括:当所述写入类型为初次写入或修改写入时,根据所述待写入数据的长度和所述预设条带大小计算需要补齐的数据范围。3.根据权利要求2所述的数据写入方法,其特征在于,当所述写入类型为所述修改写入时,所述根据所述数据范围将所述待写入数据的长度补齐至所述预设条带大小的整数倍,得到补齐后数据,包括:获取所述目标设备中与所述写入操作对应的原始数据;根据所述待写入数据确定所述原始数据中的待修改数据段和无需修改的固定数据段;根据所述数据范围将所述待写入数据的长度补齐至所述预设条带大小的整数倍,并与所述固定数据段合并,得到补齐后数据。4.根据权利要求1至3任一项所述的数据写入方法,其特征在于,所述根据所述写入类型、所述待写入数据的长度和所述预设条带大小,确定需要补齐的数据范围,包括:当所述写入类型为追加写入时,获取所述写入操作对应的原始数据,并确定所述原始数据中非对齐的目标数据段;将所述目标数据段和所述待写入数据合并,并根据合并后数据的长度和所述预设条带大小计算需要补齐的数据范围。5.根据权利要求4所述的数据写入方法,其特征在于,所述将编码后数据发送至目标设备之前,还包括:获取所述原始数据的实际大小,得到偏移量;相应的,所述将编码后数据发送...

【专利技术属性】
技术研发人员:刘吉庆
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1