CN112667157B - 磁盘阵列的写控制方法和系统 - Google Patents

磁盘阵列的写控制方法和系统 Download PDF

Info

Publication number
CN112667157B
CN112667157B CN202011563200.XA CN202011563200A CN112667157B CN 112667157 B CN112667157 B CN 112667157B CN 202011563200 A CN202011563200 A CN 202011563200A CN 112667157 B CN112667157 B CN 112667157B
Authority
CN
China
Prior art keywords
service data
stripe
data
stripes
unit
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
CN202011563200.XA
Other languages
English (en)
Other versions
CN112667157A (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.)
Shenzhen Innovation Technology Co ltd
Original Assignee
Shenzhen Innovation Technology 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 Shenzhen Innovation Technology Co ltd filed Critical Shenzhen Innovation Technology Co ltd
Priority to CN202011563200.XA priority Critical patent/CN112667157B/zh
Publication of CN112667157A publication Critical patent/CN112667157A/zh
Application granted granted Critical
Publication of CN112667157B publication Critical patent/CN112667157B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本发明提供了磁盘阵列的写控制方法和系统,包括:获取业务数据;根据业务数据的大小为业务数据匹配对应的分条;将业务数据写入到分条对应的磁盘中,不需要执行读操作,在为业务数据匹配到对应的分条后,直接写入分条对应的磁盘中,从而提高写入效率。

Description

磁盘阵列的写控制方法和系统
技术领域
本发明涉及存储技术领域,尤其是涉及磁盘阵列的写控制方法和系统。
背景技术
在磁盘阵列里,当写入新的数据时,如果该数据不是满分条大小,即该数据不能占满整个分条的容量,则需要进行读操作和冗余校验后才能下盘。具体为:首先读取分条上的原始数据,根据原始数据和新的数据得到冗余数据,然后将新的数据和冗余数据写入到分条中。通过上述方法,会增加系统的读数据量,降低写入效率。
发明内容
有鉴于此,本发明的目的在于提供磁盘阵列的写控制方法和系统,通过为业务数据匹配对应的分条,将业务数据写入到分条对应的磁盘中,不需要执行读操作,提高写入效率。
第一方面,本发明实施例提供了磁盘阵列的写控制方法,所述方法包括:
获取业务数据;
根据所述业务数据的大小为所述业务数据匹配对应的分条;
将所述业务数据写入到所述分条对应的磁盘中。
进一步的,所述根据所述业务数据的大小为所述业务数据匹配对应的分条,包括:
当所述业务数据的大小为小于或等于预设容量阈值时,为所述业务数据匹配包括多个副本的分条;
当所述业务数据的大小为大于所述预设容量阈值时,为所述业务数据匹配预设冗余级别的分条或纠删码EC类分条。
进一步的,所述分条包括多个分条单元,将所述业务数据写入到所述分条对应的磁盘中,包括:
将所述业务数据进行拆分,得到多个业务子数据;
将每个所述业务子数据分配到对应的分条单元中;
获取每个所述分条单元对应的磁盘分块;
将每个所述业务子数据写入到每个所述分条单元对应的磁盘的分块中。
进一步的,所述方法还包括:
将每个所述分条单元上对应的所述业务子数据通过奇偶校验算法或EC算法,得到冗余数据。
进一步的,所述方法还包括:
获取所述分条的冗余级别、所述分条的列数和每个所述分条单元的大小。
第二方面,本发明实施例提供了磁盘阵列的写控制系统,所述系统包括:
获取单元,用于获取业务数据;
匹配单元,用于根据所述业务数据的大小为所述业务数据匹配对应的分条;
写入单元,用于将所述业务数据写入到所述分条对应的磁盘中。
进一步的,所述匹配单元具体用于:
当所述业务数据的大小为小于或等于预设容量阈值时,为所述业务数据匹配包括多个副本的分条;
当所述业务数据的大小为大于所述预设容量阈值时,为所述业务数据匹配预设冗余级别的分条或纠删码EC类分条。
进一步的,所述分条包括多个分条单元,所述写入单元具体用于:
将所述业务数据进行拆分,得到多个业务子数据;
将每个所述业务子数据分配到对应的分条单元中;
获取每个所述分条单元对应的磁盘分块;
将每个所述业务子数据写入到每个所述分条单元对应的磁盘的分块中。
第三方面,本发明实施例提供了电子设备,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的方法。
第四方面,本发明实施例提供了具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行如上所述的方法。
本发明实施例提供了磁盘阵列的写控制方法和系统,包括:获取业务数据;根据业务数据的大小为业务数据匹配对应的分条;将业务数据写入到分条对应的磁盘中,不需要执行读操作,在为业务数据匹配到对应的分条后,直接写入分条对应的磁盘中,从而提高写入效率。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的磁盘阵列的写控制方法流程图;
图2为本发明实施例二提供的磁盘阵列的写控制方法应用场景示意图;
图3为本发明实施例三提供的磁盘阵列的写控制系统示意图。
图标:
1-获取单元;2-匹配单元;3-写入单元。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在磁盘阵列里,当写入新的数据时,如果该数据不是满分条大小,即该数据不能占满整个分条的容量,则需要进行读操作和冗余校验后才能下盘。具体为:首先读取分条上的原始数据,根据原始数据和新的数据得到冗余数据,然后将新的数据和冗余数据写入到分条中。通过上述方法,会增加系统的读数据量,降低写入效率。
本申请中,不需要进行读操作,根据业务数据的大小为业务数据分配对应的分条,将业务数据写入到分条对应的磁盘中,从而提高写入效率。
为便于对本实施例进行理解,下面对本发明实施例进行详细介绍。
实施例一:
图1为本发明实施例一提供的磁盘阵列的写控制方法流程图。
参照图1,该方法包括以下步骤:
步骤S101,获取业务数据;
步骤S102,根据业务数据的大小为业务数据匹配对应的分条;
具体地,业务数据包括视频数据和音频数据等。在获取业务数据后,根据业务数据的大小匹配出对应的分条,以及分条的大小、分条的冗余级别、分条的列数和每个分条单元的大小。其中,分条包括多个分条单元,分条的列数为分条单元的个数。为业务数据匹配的分条,可以使写入的业务数据一次把分条写满。
步骤S103,将业务数据写入到分条对应的磁盘中。
这里,将业务数据写入到分条对应的磁盘后,再更新分条与磁盘的映射关系,并进行存储。
本实施例中,通过获取业务数据,根据业务数据的大小为业务数据匹配合适的分条,不需要执行读操作,使写入的业务数据能够一次把分条写满,然后将业务数据写入到分条对应的磁盘中,从而提高写入效率。
进一步的,步骤S102包括以下步骤:
步骤S201,当业务数据的大小为小于或等于预设容量阈值时,为业务数据匹配包括多个副本的分条;
步骤S202,当业务数据的大小为大于预设容量阈值时,为业务数据匹配预设冗余级别的分条或EC(Erasure Coding,纠删码)类分条。
具体地,在为业务数据分配分条时,业务数据与分条存在一种对应关系,即根据业务数据的大小为业务数据匹配对应的分条。当业务数据的大小为预设容量阈值或预设容量阈值以下时,为业务数据匹配包括多个副本的分条;当业务数据的大小为预设容量阈值以上时,为业务数据匹配预设冗余级别的分条或EC类分条。其中,预设冗余级别为raid5或raid6,或者EC类3个冗余、4个冗余等。
其中,分条的列数和分条单元的大小可以根据性能优先或容量优先等策略确定,最终使写入的业务数据的大小满足满分条即可。
进一步的,分条包括多个分条单元,步骤S103包括以下步骤:
步骤S301,将业务数据进行拆分,得到多个业务子数据;
步骤S302,将每个业务子数据分配到对应的分条单元中;
步骤S303,获取每个分条单元对应的磁盘分块;
步骤S304,将每个业务子数据写入到每个分条单元对应的磁盘的分块中。
具体地,分条包括多个分条单元,为了将业务数据依次分配到每个分条单元中,故需要将业务数据进行拆分,得到多个业务子数据;然后将每个业务子数据分别分配到对应的分条单元中;由于分条单元与磁盘之间存在映射关系,故获取每个分条单元对应的磁盘分块,最后将每个业务子数据写入到每个分条单元对应的磁盘的分块中,不需要进行读操作,可以提高写入效率。
进一步的,该方法还包括:
将每个分条单元上对应的业务子数据通过奇偶校验算法或EC算法,得到冗余数据。
具体地,将每个分条单元上对应的业务子数据作为奇偶校验算法或EC算法的输入,输出得到冗余数据。上述过程并不限于奇偶校验算法和EC算法,还可以通过其他算法得到冗余数据。
计算冗余数据的作用可以解决磁盘失效的问题。当其中一个磁盘失效时,由于磁盘与分条单元之间存在映射关系,因此,根据失效的磁盘可以确定对应的分条单元,将对应的分条单元作为当前分条单元。根据冗余数据和除了当前分条单元以外的分条单元上的数据进行计算后,可以得到失效的数据,从而进行读取。
本发明实施例提供了磁盘阵列的写控制方法,包括:获取业务数据;根据业务数据的大小为业务数据匹配对应的分条;将业务数据写入到分条对应的磁盘中,不需要执行读操作,在为业务数据匹配到对应的分条后,直接写入分条对应的磁盘中,从而提高写入效率。
实施例二:
图2为本发明实施例二提供的磁盘阵列的写控制方法应用场景示意图。
参照图2,LUN(Logical Unit Number,逻辑单元号)上的A数据空间由分条1提供,大小为16KB,冗余为一个副本;B数据空间由分条2提供,分条2的大小为128KB,分条2包括5个分条单元,每个分条单元的大小为32KB,冗余级别为raid5;C数据空间由分条3提供,分条3的大小为384KB,分条3包括7个分条单元,每个分条单元的大小为64KB,冗余级别为raid5。
分条1对应的磁盘空间为disk1的分块ck10和disk2上的分块ck20;分条2对应的磁盘空间为disk3的分块ck30、disk4的分块ck40、disk5的分块ck50、disk6的分块ck60和disk7的分块ck70;分条3对应的磁盘空间为disk8的分块ck80、disk1的分块ck11、disk2的分块ck21、disk3的分块ck31、disk4的分块ck41、disk5的分块ck51和disk6的分块ck61。
其中,分条单元和磁盘分块的对应关系可以是一对一,也可以是多个分条单元对应一个磁盘分块。分条的冗余级别根据系统配置来设定,可以是一个冗余,也可以是两个或者多个。
实施例三:
图3为本发明实施例三提供的磁盘阵列的写控制系统示意图。
参照图3,该系统包括:
获取单元1,用于获取业务数据;
匹配单元2,用于根据业务数据的大小为业务数据匹配对应的分条;
写入单元3,用于将业务数据写入到分条对应的磁盘中。
进一步的,匹配单元2具体用于:
当业务数据的大小为小于或等于预设容量阈值时,为业务数据匹配包括多个副本的分条;
当业务数据的大小为大于预设容量阈值时,为业务数据匹配预设冗余级别的分条或纠删码EC类分条。
进一步的,分条包括多个分条单元,写入单元3具体用于:
将业务数据进行拆分,得到多个业务子数据;
将每个业务子数据分配到对应的分条单元中;
获取每个分条单元对应的磁盘分块;
将每个业务子数据写入到每个分条单元对应的磁盘的分块中。
进一步的,该系统还包括:
冗余数据获取单元(未示出),用于将每个所述分条单元上对应的所述业务子数据通过奇偶校验算法或EC算法,得到冗余数据。
进一步的,该系统还包括:
分条参数获取单元(未示出),用于获取所述分条的冗余级别、所述分条的列数和每个所述分条单元的大小。
本发明实施例提供了磁盘阵列的写控制系统,包括:获取业务数据;根据业务数据的大小为业务数据匹配对应的分条;将业务数据写入到分条对应的磁盘中,不需要执行读操作,在为业务数据匹配到对应的分条后,直接写入分条对应的磁盘中,从而提高写入效率。
本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例提供的磁盘阵列的写控制方法的步骤。
本发明实施例还提供一种具有处理器可执行的非易失的程序代码的计算机可读介质,计算机可读介质上存储有计算机程序,计算机程序被处理器运行时执行上述实施例的磁盘阵列的写控制方法的步骤。
本发明实施例所提供的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (6)

1.一种磁盘阵列的写控制方法,其特征在于,所述方法包括:
获取业务数据;
根据所述业务数据的大小为所述业务数据匹配对应的分条,以及分条的大小、分条的冗余级别、分条的列数和每个分条单元的大小,其中,分条包括多个分条单元,分条的列数为分条单元的个数;包括:
当所述业务数据的大小为小于或等于预设容量阈值时,为所述业务数据匹配包括多个副本的分条;
当所述业务数据的大小为大于所述预设容量阈值时,为所述业务数据匹配预设冗余级别的分条或纠删码EC类分条,其中,预设冗余级别为raid5或raid6,EC类为3个冗余或4个冗余;
将所述业务数据写入到所述分条对应的磁盘中,包括:
将所述业务数据进行拆分,得到多个业务子数据;
将每个所述业务子数据分配到对应的分条单元中;
获取每个所述分条单元对应的磁盘分块;
将每个所述业务子数据写入到每个所述分条单元对应的磁盘的分块中。
2.根据权利要求1所述的磁盘阵列的写控制方法,其特征在于,所述方法还包括:
将每个所述分条单元上对应的所述业务子数据通过奇偶校验算法或EC算法,得到冗余数据。
3.根据权利要求1所述的磁盘阵列的写控制方法,其特征在于,所述方法还包括:
获取所述分条的冗余级别、所述分条的列数和每个所述分条单元的大小。
4.一种磁盘阵列的写控制系统,其特征在于,所述系统包括:
获取单元,用于获取业务数据;
匹配单元,用于根据所述业务数据的大小为所述业务数据匹配对应的分条,以及分条的大小、分条的冗余级别、分条的列数和每个分条单元的大小,其中,分条包括多个分条单元,分条的列数为分条单元的个数;包括:
当所述业务数据的大小为小于或等于预设容量阈值时,为所述业务数据匹配包括多个副本的分条;
当所述业务数据的大小为大于所述预设容量阈值时,为所述业务数据匹配预设冗余级别的分条或纠删码EC类分条,其中,预设冗余级别为raid5或raid6,EC类为3个冗余或4个冗余;
写入单元,用于将所述业务数据写入到所述分条对应的磁盘中,包括:
将所述业务数据进行拆分,得到多个业务子数据;
将每个所述业务子数据分配到对应的分条单元中;
获取每个所述分条单元对应的磁盘分块;
将每个所述业务子数据写入到每个所述分条单元对应的磁盘的分块中。
5.一种电子设备,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至3任一项所述的方法。
6.一种具有处理器可执行的非易失的程序代码的计算机可读介质,其特征在于,所述程序代码使所述处理器执行所述权利要求1至3任一项所述的方法。
CN202011563200.XA 2020-12-25 2020-12-25 磁盘阵列的写控制方法和系统 Active CN112667157B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011563200.XA CN112667157B (zh) 2020-12-25 2020-12-25 磁盘阵列的写控制方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011563200.XA CN112667157B (zh) 2020-12-25 2020-12-25 磁盘阵列的写控制方法和系统

Publications (2)

Publication Number Publication Date
CN112667157A CN112667157A (zh) 2021-04-16
CN112667157B true CN112667157B (zh) 2024-04-26

Family

ID=75409212

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011563200.XA Active CN112667157B (zh) 2020-12-25 2020-12-25 磁盘阵列的写控制方法和系统

Country Status (1)

Country Link
CN (1) CN112667157B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106033320A (zh) * 2015-03-11 2016-10-19 中兴通讯股份有限公司 高性能廉价磁盘冗余阵列raid机制的处理方法及装置
CN109634523A (zh) * 2018-12-10 2019-04-16 深圳市网心科技有限公司 一种磁盘管理方法、系统及电子设备和存储介质
CN110347344A (zh) * 2019-07-19 2019-10-18 北京计算机技术及应用研究所 一种基于分布式存储系统的自动配置块存储方法
CN111782135A (zh) * 2019-06-14 2020-10-16 北京京东尚科信息技术有限公司 数据存储方法、系统、数据节点和计算机可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005284816A (ja) * 2004-03-30 2005-10-13 Hitachi Ltd ディスクアレイシステム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106033320A (zh) * 2015-03-11 2016-10-19 中兴通讯股份有限公司 高性能廉价磁盘冗余阵列raid机制的处理方法及装置
CN109634523A (zh) * 2018-12-10 2019-04-16 深圳市网心科技有限公司 一种磁盘管理方法、系统及电子设备和存储介质
CN111782135A (zh) * 2019-06-14 2020-10-16 北京京东尚科信息技术有限公司 数据存储方法、系统、数据节点和计算机可读存储介质
CN110347344A (zh) * 2019-07-19 2019-10-18 北京计算机技术及应用研究所 一种基于分布式存储系统的自动配置块存储方法

Also Published As

Publication number Publication date
CN112667157A (zh) 2021-04-16

Similar Documents

Publication Publication Date Title
US20190205039A1 (en) Distributed Object Storage System Comprising Performance Optimizations
CN107844268B (zh) 一种数据分发方法、数据存储方法、相关装置以及系统
US8819482B2 (en) Method and apparatus for distributed storage integrity processing
US8489915B2 (en) Method and apparatus for storage integrity processing based on error types in a dispersed storage network
US8706980B2 (en) Method and apparatus for slice partial rebuilding in a dispersed storage network
CN104160452B (zh) 用于存储数据和对擦除进行纠正的方法、系统和装置
US7093069B2 (en) Integration of a RAID controller with a disk drive module
US7752389B1 (en) Techniques for determining physical data layout of RAID devices
US20080155191A1 (en) Systems and methods for providing heterogeneous storage systems
US9606866B2 (en) Method of, and apparatus for, improved data recovery in a storage system
JP2009098996A (ja) ストレージシステム
CN113176858B (zh) 数据处理方法、存储系统及存储设备
US10705737B2 (en) Storage system and data arrangement method of storage system
CN110413208B (zh) 用于管理存储系统的方法、设备和计算机程序产品
US20160342360A1 (en) Raid random distribution scheme
US11442636B2 (en) Method, apparatus for managing the redundant array of independent disks (RAID) and related computer readable medium
CN103608784A (zh) 网络卷创建方法、数据存储方法、存储设备和存储系统
CN114442950A (zh) 一种数据恢复方法、系统、装置及计算机可读存储介质
CN114415982B (zh) 一种数据存储方法、装置、设备及可读存储介质
US11481275B2 (en) Managing reconstruction of a malfunctioning disk slice
CN112667157B (zh) 磁盘阵列的写控制方法和系统
CN116339644B (zh) 一种独立磁盘冗余阵列创建方法、装置、设备及介质
US8402231B2 (en) Storage device, method for restoring data in storage device and storage controller
US10901843B2 (en) Managing data storage
CN112748862A (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
GR01 Patent grant
GR01 Patent grant