CN113885806A - 一种盘阵的写入控制方法、装置以及存储介质 - Google Patents

一种盘阵的写入控制方法、装置以及存储介质 Download PDF

Info

Publication number
CN113885806A
CN113885806A CN202111226357.8A CN202111226357A CN113885806A CN 113885806 A CN113885806 A CN 113885806A CN 202111226357 A CN202111226357 A CN 202111226357A CN 113885806 A CN113885806 A CN 113885806A
Authority
CN
China
Prior art keywords
disk array
write
data
lock
writing
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
Application number
CN202111226357.8A
Other languages
English (en)
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.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information 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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN202111226357.8A priority Critical patent/CN113885806A/zh
Publication of CN113885806A publication Critical patent/CN113885806A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种盘阵的写入控制方法、装置以及存储介质,应用于存储领域,该方法中盘阵包括多个盘阵区域,分别与多个存储控制器一一对应,且各盘阵区域设置有对应的锁。其中一个存储控制器接收到服务器的写入命令后可能有多个进程,即向写入命令对应的各个盘阵区域写入数据,当根据写入命令判断出数据写入的位置为自身对应的盘阵区域时,不进行跨节点通信就可以发送锁请求;当数据写入的位置为其他存储控制器对应的盘阵区域时,需要向对应的锁发送锁请求。本申请提供的盘阵的写入控制方法避免了一部分跨节点通信,提高了盘阵的写入效率。

Description

一种盘阵的写入控制方法、装置以及存储介质
技术领域
本申请涉及存储领域,特别是涉及一种盘阵的写入控制方法、装置以及存储介质。
背景技术
存储控制器的功能是接收服务器的数据,然后存储到与存储控制器相连接的硬盘上。每个存储后端都可以挂载多个硬盘,硬盘会组成硬盘阵列,也称作盘阵,raid6就是通常使用的一种盘阵。在高端存储中,为了冗余的要求,通常都会有两个存储控制器,当一个存储控制器故障,可以迅速切换到另一个存储控制器,让盘阵能够持续工作。
当前raid6的一般的写入流程为:设有两个存储控制器,其中一个存储控制器可能有多个进程(process),它们可以同时向另一个存储控制器请求条带锁,但是后面的请求未真正发出。假设有两个process发出锁请求,它们实际上共享一个锁请求;当process0拿到条带锁后,可以进行处理,写入数据;当process0写入数据完成后,process1才拥有了条带锁,并可以写入数据,当两个process都写入完成时,才最终释放条带锁。图1为当前raid6的一般的写入流程图,具体为:S10:process0与process1请求锁;S11:process0向盘阵写入数据;S12:process1向盘阵写入数据;S13:释放锁。这种方式中每一个process都需要一次跨节点通信发送锁请求,导致每一次写操作都需要进行一次节点间通信,并且需要存储控制器中的多个process都完成后才会释放条带锁,导致盘阵的写入效率低。
由此可见,如何提高盘阵的写入效率,是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种盘阵的写入控制方法、装置以及存储介质,用于提高盘阵的写入效率。
为解决上述技术问题,本申请提供一种盘阵的写入控制方法,盘阵包括多个盘阵区域,分别与多个存储控制器一一对应,且各所述盘阵区域设置有对应的锁,所述方法包括:
接收服务器发送的写入命令;
根据所述写入命令获取数据写入的位置;
向与写入的位置对应的所述存储控制器发送锁请求;
请求成功后向与写入的位置对应的所述盘阵区域写入数据。
优选地,所述存储控制器为两个;
所述向与写入的位置对应的所述存储控制器发送锁请求具体为向自身或者向另外一个所述存储控制器发送锁请求。
优选地,还包括:
将正在写入数据的所述盘阵区域对应的锁添加加锁标识;
将写入数据完成后的所述盘阵区域对应的锁添加释放标识。
优选地,所述请求成功后向与写入的位置对应的所述盘阵区域写入数据包括:
读所述盘阵区域中分块的数据;
计算校验数据;
向所述分块中写入数据并根据所述校验数据执行校验。
优选地,所述向与写入的位置对应的所述存储控制器发送锁请求之后,还包括:
若请求失败,等待接收与写入的位置对应的所述存储控制器发送的写入完成信号。
优选地,所述向与写入的位置对应的所述存储控制器发送锁请求之后,还包括:
若请求失败,则每隔一预设时段向与写入的位置对应的所述存储控制器发送一次锁请求。
优选地,还包括:
若预设时间内未接收到所述写入完成信号,或发送锁请求的次数达到预设次数且未得到回复,则发出报警信号。
为解决上述技术问题,本申请还提供一种盘阵的写入控制装置,盘阵包括多个盘阵区域,分别与多个存储控制器一一对应,且各所述盘阵区域设置有对应的锁,所述装置包括:
接收模块,用于接收服务器发送的写入命令;
获取模块,用于根据所述写入命令获取数据写入的位置;
发送模块,用于向与写入的位置对应的所述存储控制器发送锁请求;
写入模块,用于请求成功后向与写入的位置对应的所述盘阵区域写入数据。
优选地,盘阵的写入控制装置还包括:
添加模块,用于将正在写入数据的所述盘阵区域对应的锁添加加锁标识,还用于将写入数据完成后的所述盘阵区域对应的锁添加释放标识。
优选地,盘阵的写入控制装置还包括:
报警模块,用于若预设时间内未接收到所述写入完成信号,或发送锁请求的次数达到预设次数且未得到回复,则发出报警信号。
为解决上述技术问题,本申请还提供一种盘阵的写入控制装置,包括:存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现上述盘阵的写入控制方法的步骤。
为解决上述技术问题,本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述盘阵的写入控制方法的步骤。
本申请提供了一种盘阵的写入控制方法,其中盘阵包括多个盘阵区域,分别与多个存储控制器一一对应,且各盘阵区域设置有对应的锁。其中一个存储控制器接收到服务器的写入命令后可能有多个进程,即向写入命令对应的各个盘阵区域写入数据,当根据写入命令判断出数据写入的位置为自身对应的盘阵区域时,不进行跨节点通信就可以发送锁请求;当数据写入的位置为其他存储控制器对应的盘阵区域时,需要向对应的锁发送锁请求。本申请提供的盘阵的写入控制方法避免了一部分跨节点通信,提高了盘阵的写入效率。
本申请还提供了一种盘阵的写入控制装置和计算机可读存储介质,与上述方法对应,故具有与上述方法相同的有益效果。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为当前raid6的一般的写入流程图;
图2为本申请实施例提供的盘阵的写入控制方法的流程图;
图3为本申请实施例提供的包含两个存储控制器的盘阵的写入控制装置的结构图;
图4为本申请实施例提供的存储控制器向自身对应的盘阵区域写入数据的流程图;
图5为本申请实施例提供的盘阵的写入控制装置的结构图;
图6为本申请另一实施例提供的盘阵的写入控制装置的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的核心是提供一种盘阵的写入控制方法、装置以及存储介质。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
本申请实施例提供了一种盘阵的写入控制方法,应用于存储领域中,每个存储后端都可以挂载多个硬盘,硬盘会组成硬盘阵列,即盘阵,raid6就是通常使用的一种,本申请可以应用在raid6中。盘阵包括多个盘阵区域,分别与多个存储控制器一一对应,存储控制器的功能是接收服务器的数据,然后存储到与存储控制器相连接的盘阵上。当前的技术是整个盘阵设置一个条带锁,有存储控制器需要向盘阵写入数据时都需要向其他存储控制器请求该条带锁,需要进行跨节点通信,跨节点通信实际为不同存储控制器之间进行通信,通常情况下,一次跨节点通信需要2微秒,造成通信代价高。本申请为各盘阵区域都设置有对应的锁,称为并发锁。存储控制器向与自身不对应的盘阵区域写入数据时仍需要跨节点通信向其他存储控制器发送锁请求,但向自身发送锁请求时不需要跨节点通信。图2为本申请实施例提供的盘阵的写入控制方法的流程图,如图2所示,该方法包括:
S20:接收服务器发送的写入命令;
S21:根据写入命令获取数据写入的位置;
S22:向与写入的位置对应的存储控制器发送锁请求;
S23:请求成功后向与写入的位置对应的盘阵区域写入数据。
服务器可以向多个存储控制器中的任意一个发送写入命令以及需要写入的数据,存储控制器通过光纤卡中的光纤口与服务器连接,用于接收服务器的写入命令和数据。存储控制器在接收到数据后,会对数据做相应的处理并写入盘阵,一次写入相当于一个process。值得一提的是,这里并不限制服务器的数量,可以是多个服务器分别连接不同的存储控制器,也可以是一个服务器连接多个存储控制器。存储控制器在接收到服务器发送的写入命令和需要写入的数据之后,会根据上述写入命令确定出上述数据需要写入的盘阵区域。若写入的位置是自身对应的盘阵区域,则不需要跨节点通信即可发送锁请求,请求成功后直接向自身对应的盘阵区域写入数据。若写入的位置不是自身对应的盘阵区域,则需要向与写入的位置对应的存储控制器发送锁请求,请求成功后向与写入的位置对应的盘阵区域写入数据;若请求失败,则不能向该盘阵区域写入数据,此时可以等待或者向服务器发出信号请求下一步指令。在实际应用中,如果向其他的存储控制器发送一次锁请求则需要进行一次跨节点通信,这个过程通常需要2微秒才能完成,通信的代价较高;如果向自身对应的盘阵区域写入数据,则不需要跨节点通信即可发送锁请求。根据研究数据得到本申请提供的盘阵的写入控制方法应用在raid6中相比于原来使用一个条带锁访问整个盘阵的方式速度有所提高,提升幅度为19.3%。
本申请提供的盘阵的写入控制方法,其中盘阵包括多个盘阵区域,分别与多个存储控制器一一对应,且各盘阵区域设置有对应的锁。其中一个存储控制器接收到服务器的写入命令后可能有多个进程,即向写入命令对应的各个盘阵区域写入数据,当根据写入命令判断出数据写入的位置为自身对应的盘阵区域时,不进行跨节点通信就可以发送锁请求;当数据写入的位置为其他存储控制器对应的盘阵区域时,需要向对应的锁发送锁请求。本申请提供的盘阵的写入控制方法避免了一部分跨节点通信,提高了盘阵的写入效率。
在实际应用中,为了冗余的要求,可以设置两个存储控制器,当一个存储控制器故障时,可以迅速切换到另一个存储控制器,让盘阵能够持续工作,服务器向其中一个存储控制器发送写入命令以及需要写入的数据,此存储控制器在接收到服务器发送的写入命令和需要写入的数据之后,会根据上述写入命令确定出上述数据需要写入的盘阵区域。若写入的位置是自身对应的盘阵区域,则能快速的发送锁请求,不需要跨节点通信,成功后向自身对应的盘阵区域写入数据。若写入的位置是另外一个存储控制器对应的盘阵区域,则需要向另外一个存储控制器发送锁请求,请求成功后能向与另外一个存储控制器对应的盘阵区域写入数据;若请求失败,则不能向该盘阵区域写入数据,此时可以等待或者向服务器发出信号请求下一步指令。
图3为本申请实施例提供的包含两个存储控制器的盘阵的写入控制装置的结构图;如图3所示,包括服务器10、第一存储控制器11、第二存储控制器12、第一盘阵区域13、第二盘阵区域14;服务器10与第一存储控制器11以及第二存储控制器12相连,并向其中一个存储控制器发送写入命令以及需要写入的数据,将盘阵区域分成了第一盘阵区域13和第二盘阵区域14,第一存储控制器11向第一盘阵区域13写入数据时只需要向自身发送锁请求,不需要跨节点通信,第一存储控制器11向第二盘阵区域14写入数据时需要向第二存储控制器12发送锁请求,此时需要进行跨节点通信。第二存储控制器12写入数据时与此类似。
在实际应用中,如果某个存储控制器的process正在向某个盘阵区域写入数据,则其他process不能请求到该盘阵区域对应的并发锁,故将正在写入数据的盘阵区域对应的并发锁添加加锁标识,可以是将并发锁的计数加一,此时其他process无法获得计数加一后的并发锁。在该process写入数据完成后需要将向该并发锁添加释放标识将并发锁释放,其他process才能成功请求该并发锁以写入数据,可以是将并发锁的计数减一以释放该并发锁。本实施例提供的添加加锁标识以及释放标识能够防止多个process同时发出锁申请而造成的混乱。
在实际应用中,盘阵中的数据会出现损坏的情况,故请求成功后向与写入的位置对应的盘阵区域写入数据或向自身对应的盘阵区域写入数据包括:读盘阵区域中分块的数据,计算校验数据,向分块中写入数据并根据校验数据执行校验,校验数据能修复盘阵中的数据以保证盘阵中的数据正确。例如在raid6的写入过程中,需要计算校验数据以确保盘阵中的数据正确。
图4为本申请实施例提供的存储控制器向自身对应的盘阵区域写入数据的流程图,如图4所示,某个存储控制器有两个进程:process0和process1,两个进程都需要向该存储控制器自身对应的盘阵区域写入数据,其中process0先发送锁请求,写入完成后process1才发送锁请求。具体步骤为:S30:process0请求锁;S31:process0读盘阵中分块的数据;S32:process0计算校验数据;S33:process0向盘阵写入数据;S34:process0释放锁;S35:process1请求锁;S36:process1读盘阵中分块的数据;S37:process1计算校验数据;S38:process1向盘阵写入数据;S39:process1释放锁。在process0请求向存储控制器请求并发锁后,并发锁的计数会增加,其他process无法再向该存储控制器请求到该并发锁,此时process0开始执行,先读取需要写入数据的盘阵的分块中的数据,再计算校验数据,最后再向上述读取数据的分块中写入数据并执行校验。process0完成后相应的并发锁计数会减少,即释放并发锁,此时process1可以发送锁请求并重复process1的步骤。存储控制器向自身对应的盘阵区域写入数据时只需要向自身发送锁请求,故不需要跨节点通信,故两个进程之间的过渡时间短,加快了写入数据的速度。
在具体实施中,若需要写入数据的盘阵区域正在被其他process占用,则向该process对应的存储控制器发送锁请求时会请求失败,故向与写入的位置对应的存储控制器发送锁请求之后,还包括:若请求失败,等待接收与写入的位置对应的存储控制器发送的写入完成信号。或者还包括:若请求失败,则每隔一预设时段向与写入的位置对应的存储控制器发送一次锁请求。
具体实施中,需要写入数据的盘阵区域很可能被占用,此时发送的锁请求无法请求成功,故将所有存储控制器都设置提醒功能,可以在释放锁之后向除自身外的其他存储控制器发送写入完成信号,表征自己写入数据完成,已经释放锁;也可以只向在写入过程中发送了锁请求的存储控制器发送写入完成信号,以便于该存储控制器发送锁请求写入数据。盘阵区域被占用导致锁请求失败之后,还可以设置一个预设时段,不对预设时段的时长作限制,可以设置为完成一般进程需要的时间,在预设时段之后,再次向该盘阵区域对应的存储控制器发送锁请求,重复此步骤直至锁请求成功。
本实施例提供的盘阵的写入控制方法,在锁请求失败后可以等待接收与写入的位置对应的存储控制器发送的写入完成信号,也可以每隔一预设时段向与写入的位置对应的存储控制器发送一次锁请求,为存储控制器的锁请求失败提供了解决办法。
在上述实施例中,可能会出现重复发送锁请求均得不到回复或者是长时间内都未接收到其他存储控制器发送的写入完成信号,这表明其他存储控制器可能出现了故障,故若预设时间内未接收到写入完成信号,或发送锁请求的次数达到预设次数且未得到回复,则发出报警信号。
在上述实施例的具体实施过程中,锁请求失败可能有两种情况,一种情况是该并发锁对应的盘阵区域正在写入数据,并发锁被占用;另一种情况是该并发锁对应的存储控制器出现故障,导致锁请求失败。故预设时间未接收到对应的存储控制器发送的写入完成信号,或者是向对应的存储控制器发送锁请求的次数达到预设次数均未得到回复,则判定对应的存储控制器出现故障,并可以向服务器发出报警信号提醒工作人员进行维修。这里不对预设时间的长短以及预设次数的大小作限制,以实际情况为准。
本实施例提供的盘阵的写入控制方法在存储控制器可能故障时发出报警,避免了需要写入数据的存储控制器长时间无效的等待。
在上述实施例中,对于盘阵的写入控制方法进行了详细描述,本申请还提供盘阵的写入控制装置对应的实施例。需要说明的是,本申请从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。
基于功能模块的角度,本实施例提供一种盘阵的写入控制装置,图5为本申请实施例提供的盘阵的写入控制装置的结构图,如图5所示,该装置包括:
接收模块20,用于接收服务器发送的写入命令;
获取模块21,用于根据写入命令获取数据写入的位置;
发送模块22,用于向与写入的位置对应的存储控制器发送锁请求;
写入模块23,用于请求成功后向与写入的位置对应的盘阵区域写入数据。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
作为优选的实施方式,盘阵的写入控制装置还包括:
添加模块,用于将正在写入数据的盘阵区域对应的锁添加加锁标识,还用于将写入数据完成后的盘阵区域对应的锁添加释放标识。
报警模块,用于若预设时间内未接收到写入完成信号,或发送锁请求的次数达到预设次数且未得到回复,则发出报警信号。
本实施例提供的盘阵的写入控制装置,包括接收模块、获取模块、发送模块以及写入模块,可以实现上述方法的步骤,其中盘阵包括多个盘阵区域,分别与多个存储控制器一一对应,且各盘阵区域设置有对应的锁。其中一个存储控制器接收到服务器的写入命令后可能有多个进程,即向写入命令对应的各个盘阵区域写入数据,当根据写入命令判断出数据写入的位置为自身对应的盘阵区域时,不进行跨节点通信就可以发送锁请求;当数据写入的位置为其他存储控制器对应的盘阵区域时,需要向对应的锁发送锁请求。本申请提供的盘阵的写入控制装置避免了盘阵写入数据时的一部分跨节点通信,提高了盘阵的写入效率。
基于硬件的角度,本实施例提供了另一种盘阵的写入控制装置,图6为本申请另一实施例提供的盘阵的写入控制装置的结构图,如图6所示,盘阵的写入控制装置包括:存储器30,用于存储计算机程序;
处理器31,用于执行计算机程序时实现如上述实施例中所提到的盘阵的写入控制方法的步骤。
本实施例提供的盘阵的写入控制装置可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
其中,处理器31可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器31可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器31也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器31可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器31还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器30可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器30还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器30至少用于存储以下计算机程序301,其中,该计算机程序被处理器31加载并执行之后,能够实现前述任一实施例公开的盘阵的写入控制方法的相关步骤。另外,存储器30所存储的资源还可以包括操作***302和数据303等,存储方式可以是短暂存储或者永久存储。其中,操作***302可以包括Windows、Unix、Linux等。数据303可以包括但不限于盘阵的写入控制方法涉及到的数据等。
在一些实施例中,盘阵的写入控制装置还可包括有显示屏32、输入输出接口33、通信接口34、电源35以及通信总线36。
本领域技术人员可以理解,图6中示出的结构并不构成对盘阵的写入控制装置的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的盘阵的写入控制装置,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:盘阵的写入控制方法。其中盘阵包括多个盘阵区域,分别与多个存储控制器一一对应,且各盘阵区域设置有对应的锁。其中一个存储控制器接收到服务器的写入命令后可能有多个进程,即向写入命令对应的各个盘阵区域写入数据,当根据写入命令判断出数据写入的位置为自身对应的盘阵区域时,不进行跨节点通信就可以发送锁请求;当数据写入的位置为其他存储控制器对应的盘阵区域时,需要向对应的锁发送锁请求。本申请提供的盘阵的写入控制装置避免了盘阵写入数据时的一部分跨节点通信,提高了盘阵的写入效率。
最后,本申请还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例描述的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例提供的计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤,其中盘阵包括多个盘阵区域,分别与多个存储控制器一一对应,且各盘阵区域设置有对应的锁。其中一个存储控制器接收到服务器的写入命令后可能有多个进程,即向写入命令对应的各个盘阵区域写入数据,当根据写入命令判断出数据写入的位置为自身对应的盘阵区域时,不进行跨节点通信就可以发送锁请求;当数据写入的位置为其他存储控制器对应的盘阵区域时,需要向对应的锁发送锁请求。本申请提供的计算机可读存储介质避免了盘阵写入数据时的一部分跨节点通信,提高了盘阵的写入效率。
以上对本申请所提供的盘阵的写入控制方法、装置以及存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括上述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种盘阵的写入控制方法,其特征在于,盘阵包括多个盘阵区域,分别与多个存储控制器一一对应,且各所述盘阵区域设置有对应的锁,所述方法包括:
接收服务器发送的写入命令;
根据所述写入命令获取数据写入的位置;
向与写入的位置对应的所述存储控制器发送锁请求;
请求成功后向与写入的位置对应的所述盘阵区域写入数据。
2.根据权利要求1所述的盘阵的写入控制方法,其特征在于,所述存储控制器为两个;
所述向与写入的位置对应的所述存储控制器发送锁请求具体为向自身或者向另外一个所述存储控制器发送锁请求。
3.根据权利要求1所述的盘阵的写入控制方法,其特征在于,还包括:
将正在写入数据的所述盘阵区域对应的锁添加加锁标识;
将写入数据完成后的所述盘阵区域对应的锁添加释放标识。
4.根据权利要求1至3任意一项所述的盘阵的写入控制方法,其特征在于,所述请求成功后向与写入的位置对应的所述盘阵区域写入数据包括:
读所述盘阵区域中分块的数据;
计算校验数据;
向所述分块中写入数据并根据所述校验数据执行校验。
5.根据权利要求1所述的盘阵的写入控制方法,其特征在于,所述向与写入的位置对应的所述存储控制器发送锁请求之后,还包括:
若请求失败,等待接收与写入的位置对应的所述存储控制器发送的写入完成信号。
6.根据权利要求1所述的盘阵的写入控制方法,其特征在于,所述向与写入的位置对应的所述存储控制器发送锁请求之后,还包括:
若请求失败,则每隔一预设时段向与写入的位置对应的所述存储控制器发送一次锁请求。
7.根据权利要求5或6所述的盘阵的写入控制方法,其特征在于,还包括:
若预设时间内未接收到所述写入完成信号,或发送锁请求的次数达到预设次数且未得到回复,则发出报警信号。
8.一种盘阵的写入控制装置,其特征在于,盘阵包括多个盘阵区域,分别与多个存储控制器一一对应,且各所述盘阵区域设置有对应的锁,所述装置包括:
接收模块,用于接收服务器发送的写入命令;
获取模块,用于根据所述写入命令获取数据写入的位置;
发送模块,用于向与写入的位置对应的所述存储控制器发送锁请求;
写入模块,用于请求成功后向与写入的位置对应的所述盘阵区域写入数据。
9.一种盘阵的写入控制装置,其特征在于,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的盘阵的写入控制方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的盘阵的写入控制方法的步骤。
CN202111226357.8A 2021-10-21 2021-10-21 一种盘阵的写入控制方法、装置以及存储介质 Pending CN113885806A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111226357.8A CN113885806A (zh) 2021-10-21 2021-10-21 一种盘阵的写入控制方法、装置以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111226357.8A CN113885806A (zh) 2021-10-21 2021-10-21 一种盘阵的写入控制方法、装置以及存储介质

Publications (1)

Publication Number Publication Date
CN113885806A true CN113885806A (zh) 2022-01-04

Family

ID=79004049

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111226357.8A Pending CN113885806A (zh) 2021-10-21 2021-10-21 一种盘阵的写入控制方法、装置以及存储介质

Country Status (1)

Country Link
CN (1) CN113885806A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101399840A (zh) * 2007-09-26 2009-04-01 新奥特硅谷视频技术有限责任公司 利用虚拟文件***技术实现镜像存储的方法及***
CN107209733A (zh) * 2015-12-31 2017-09-26 华为技术有限公司 写数据方法和装置以及***
CN109634523A (zh) * 2018-12-10 2019-04-16 深圳市网心科技有限公司 一种磁盘管理方法、***及电子设备和存储介质
CN113253944A (zh) * 2021-07-07 2021-08-13 苏州浪潮智能科技有限公司 一种磁盘阵列访问方法、***及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101399840A (zh) * 2007-09-26 2009-04-01 新奥特硅谷视频技术有限责任公司 利用虚拟文件***技术实现镜像存储的方法及***
CN107209733A (zh) * 2015-12-31 2017-09-26 华为技术有限公司 写数据方法和装置以及***
US20180260340A1 (en) * 2015-12-31 2018-09-13 Huawei Technologies Co., Ltd. Data Write Method, Apparatus, and System
CN109634523A (zh) * 2018-12-10 2019-04-16 深圳市网心科技有限公司 一种磁盘管理方法、***及电子设备和存储介质
CN113253944A (zh) * 2021-07-07 2021-08-13 苏州浪潮智能科技有限公司 一种磁盘阵列访问方法、***及存储介质

Similar Documents

Publication Publication Date Title
KR20230004394A (ko) 공유 메모리 액세스 제어 방법, 장치, 전자 기기 및 자율 주행 차량
CN115576501B (zh) 一种raid卡的节点更新方法、***及相关装置
CN111858090B (zh) 一种数据处理方法、***、电子设备及存储介质
CN107277022B (zh) 进程标记方法及装置
CN111737212A (zh) 一种分布式文件***提升性能的方法和设备
CN115904669A (zh) 任务调度方法、***、电子设备及计算机可读存储介质
CN111290836A (zh) 虚拟机快照创建方法、装置、存储介质及计算机设备
CN113190427B (zh) 卡顿监控方法、装置、电子设备及存储介质
CN116991328B (zh) 磁盘阵列的卷格式化控制方法、装置、***、设备及介质
CN113885806A (zh) 一种盘阵的写入控制方法、装置以及存储介质
CN106844234B (zh) 数据写入方法及装置、双活***
CN117472647A (zh) 一种数据库事务回滚方法及装置
CN111124622A (zh) 一种多线程访问临界资源的方法、存储介质及智能终端
CN105808556B (zh) 一种数据库的操作方法及数据库引擎
CN110008065A (zh) 一种一致性组快照管理方法及相关装置
CN114327259B (zh) 一种闪存通道控制器运行方法、装置、设备及存储介质
CN109508151A (zh) 一种提升固态硬盘性能的方法
CN109857519A (zh) 虚拟磁盘的处理方法及相关装置
CN109445698A (zh) 查询多片flash状态的方法、装置及计算机可读存储介质
CN108958776A (zh) 一种基于命令行的bmc固件更新方法与装置
CN103399949B (zh) 一种数据库存储块状态控制方法和装置
CN108536393B (zh) 一种磁盘初始化方法及装置
CN106776046A (zh) 一种scst读写优化方法及***
CN106919487A (zh) NVMe门铃处理方法及其装置
CN111142795A (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: 20220104

RJ01 Rejection of invention patent application after publication