CN113849129B - 一种存储控制器间的io请求转发方法、装置及设备 - Google Patents
一种存储控制器间的io请求转发方法、装置及设备 Download PDFInfo
- Publication number
- CN113849129B CN113849129B CN202111110933.2A CN202111110933A CN113849129B CN 113849129 B CN113849129 B CN 113849129B CN 202111110933 A CN202111110933 A CN 202111110933A CN 113849129 B CN113849129 B CN 113849129B
- Authority
- CN
- China
- Prior art keywords
- requests
- request
- storage controller
- forwarding
- upper limit
- 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
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000012545 processing Methods 0.000 claims description 33
- 238000004590 computer program Methods 0.000 claims description 10
- 238000012544 monitoring process Methods 0.000 claims description 6
- 230000000694 effects Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 6
- 230000006978 adaptation Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003827 upregulation Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000001052 transient effect Effects 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/061—Improving I/O performance
-
- 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
-
- 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/062—Securing storage systems
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 And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种存储控制器间的IO请求转发方法,应用于主存储控制器,该方法包括以下步骤:接收主机端发送的各IO请求;从控制器集群中选取从存储控制器;读取从存储控制器对应的可处理的IO请求数量上限值;根据IO请求数量上限值向从存储控制器转发各IO请求。应用本发明所提供的存储控制器间的IO请求转发方法,避免了从存储控制器的负载过大,提高了IO请求转发效率,提升了数据安全性。本发明还公开了一种存储控制器间的IO请求转发装置、设备及存储介质,具有相应技术效果。
Description
技术领域
本发明涉及存储技术领域,特别是涉及一种存储控制器间的IO请求转发方法、装置、设备及计算机可读存储介质。
背景技术
在常见的存储控制器中,为了达到数据的冗余备份,通常会设置主存储控制器和从存储控制器共两个存储控制器,将主存储控制器接收到的IO请求转发到从存储控制器,通过主存储控制器和从存储控制器两者分别进行IO请求处理。
但是,随着IO请求数量的增长,则会导致IO请求转发效率下降,存储控制器负载过大造成网络拥堵,严重时可能会导致存储控制器内存耗尽、系统宕机等异常问题,威胁数据安全。
综上所述,如何有效地解决IO请求转发效率低,易造成网络拥堵,威胁数据安全等问题,是目前本领域技术人员急需解决的问题。
发明内容
本发明的目的是提供一种存储控制器间的IO请求转发方法,该方法避免了从存储控制器的负载过大,提高了IO请求转发效率,提升了数据安全性;本发明的另一目的是提供一种存储控制器间的IO请求转发装置、设备及计算机可读存储介质。
为解决上述技术问题,本发明提供如下技术方案:
一种存储控制器间的IO请求转发方法,应用于主存储控制器,包括:
接收主机端发送的各IO请求;
从控制器集群中选取从存储控制器;
读取所述从存储控制器对应的可处理的IO请求数量上限值;
根据所述IO请求数量上限值向所述从存储控制器转发各所述IO请求。
在本发明的一种具体实施方式中,根据所述IO请求数量上限值向所述从存储控制器转发所述IO请求,包括:
判断各所述IO请求的总数是否大于所述IO请求数量上限值;
若是,则从各所述IO请求中选取所述IO请求数量上限值个IO请求;
将选取到的各所述IO请求转发至所述从存储控制器,并将剩余的各IO请求缓存至预设队列中;
若否,则将各所述IO请求统一转发至所述从存储控制器。
在本发明的一种具体实施方式中,在将选取到的各所述IO请求转发至所述从存储控制器,或者将各所述IO请求统一转发至所述从存储控制器之后,还包括:
根据向所述从存储控制器转发的IO请求数量,对所述从存储控制器对应的可处理的IO请求数量上限值进行缩减操作,得到缩减后IO请求数量上限值。
在本发明的一种具体实施方式中,在对所述从存储控制器对应的可处理的IO请求数量上限值进行缩减操作之后,还包括:
对转发完成的各所述IO请求的处理进程进行监控;
当监控到存在处理完成的IO请求时,对处理完成的IO请求数进行统计;
根据统计得到的处理完成的IO请求数,对所述缩减后IO请求数量上限值进行上调操作。
在本发明的一种具体实施方式中,当监控到存在处理完成的IO请求时,对处理完成的IO请求数进行统计,包括:
当接收到所述从存储控制器返回的存在IO请求处理完成的反馈信息时,对处理完成的IO请求数进行统计。
在本发明的一种具体实施方式中,在接收到所述从存储控制器返回的存在IO请求处理完成的反馈信息之后,还包括:
将所述反馈信息返回给所述主机端。
在本发明的一种具体实施方式中,读取所述从存储控制器对应的可处理的IO请求数量上限值,包括:
从初始化数组中读取所述从存储控制器对应的可处理的IO请求数量上限值。
一种存储控制器间的IO请求转发装置,应用于主存储控制器,包括:
请求接收模块,用于接收主机端发送的各IO请求;
从存储控制器选取模块,用于从控制器集群中选取从存储控制器;
上限值读取模块,用于读取所述从存储控制器对应的可处理的IO请求数量上限值;
请求转发模块,用于根据所述IO请求数量上限值向所述从存储控制器转发各所述IO请求。
一种存储控制器间的IO请求转发设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如前所述存储控制器间的IO请求转发方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述存储控制器间的IO请求转发方法的步骤。
本发明所提供的存储控制器间的IO请求转发方法,应用于主存储控制器,包括:接收主机端发送的各IO请求;从控制器集群中选取从存储控制器;读取从存储控制器对应的可处理的IO请求数量上限值;根据IO请求数量上限值向从存储控制器转发各IO请求。通过预先设置从存储控制器可处理的IO请求数量上限值,根据IO请求数量上限值控制向从存储控制器转发的IO请求数量,避免了从存储控制器的负载过大,减轻了对从存储控制器的内存消耗,提高了IO请求转发效率,降低了系统宕机的概率,提升了数据安全性。
相应的,本发明还提供了与上述存储控制器间的IO请求转发方法相对应的存储控制器间的IO请求转发装置、设备和计算机可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中存储控制器间的IO请求转发方法的一种实施流程图;
图2为本发明实施例中存储控制器间的IO请求转发方法的另一种实施流程图;
图3为本发明实施例中一种存储控制器间的IO请求转发装置的结构框图;
图4为本发明实施例中一种存储控制器间的IO请求转发设备的结构框图;
图5为本实施例提供的一种存储控制器间的IO请求转发设备的具体结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,图1为本发明实施例中存储控制器间的IO请求转发方法的一种实施流程图,应用于主存储控制器,该方法可以包括以下步骤:
S101:接收主机端发送的各IO请求。
当主机端需要利用存储控制器进行IO请求处理时,向主存储控制器发送待处理的各IO请求,主存储控制器接收各IO请求。各IO请求可以包括写请求,还可以包括读请求。
S102:从控制器集群中选取从存储控制器。
预先设置包含多个存储控制器的控制器集群,控制器集群中各存储控制器均与主存储控制器建立有通信连接。主存储控制器接收到各IO请求之后,从控制器集群中选取从存储控制器,如可以根据预先记录的控制器集群中各存储控制器的系统性能,选取当前运行状态良好,且系统性能最佳的存储控制器作为从存储控制器。
S103:读取从存储控制器对应的可处理的IO请求数量上限值。
在从控制器集群中选取得到从存储控制器之后,读取从存储控制器对应的可处理的IO请求数量上限值。可处理的IO请求数量上限值为根据从存储控制器的系统性能,通过实验训练获取的一个最优值,保证在不影响系统稳定性的前提下,达到转发效率的最大化。
S104:根据IO请求数量上限值向从存储控制器转发各IO请求。
在读取到从存储控制器对应的可处理的IO请求数量上限值之后,根据IO请求数量上限值向从存储控制器转发各IO请求。可处理的IO请求数量上限值标识从存储控制器最多可以并行处理的IO请求数,依据可处理的IO请求数量上限值来控制一次性转发至从存储控制器的IO请求数量不超过该IO请求数量上限值,实现了拥塞控制机制,利用拥塞控制机制控制转发过程,在增强系统稳定性的同时,使转发的效率最大化。避免了从存储控制器的负载过大,减轻了对从存储控制器的内存消耗,提高了IO请求转发效率,降低了系统宕机的概率,提升了数据安全性。
本发明所提供的存储控制器间的IO请求转发方法,应用于主存储控制器,包括:接收主机端发送的各IO请求;从控制器集群中选取从存储控制器;读取从存储控制器对应的可处理的IO请求数量上限值;根据IO请求数量上限值向从存储控制器转发各IO请求。通过预先设置从存储控制器可处理的IO请求数量上限值,根据IO请求数量上限值控制向从存储控制器转发的IO请求数量,避免了从存储控制器的负载过大,减轻了对从存储控制器的内存消耗,提高了IO请求转发效率,降低了系统宕机的概率,提升了数据安全性。
需要说明的是,基于上述实施例,本发明实施例还提供了相应的改进方案。在后续实施例中涉及与上述实施例中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在下文的改进实施例中不再一一赘述。
参见图2,图2为本发明实施例中存储控制器间的IO请求转发方法的另一种实施流程图,应用于主存储控制器,该方法可以包括以下步骤:
S201:接收主机端发送的各IO请求。
S202:从控制器集群中选取从存储控制器。
S203:从初始化数组中读取从存储控制器对应的可处理的IO请求数量上限值。
预先为控制器集群设置数组,当需要进行IO请求转发时,对该数组进行初始化,从初始化数组中读取从存储控制器对应的可处理的IO请求数量上限值。例如在一个8控集群(存储控制器1-8)中,存储控制器1可以转发给其他七个存储控制器,那么初始化数组transCount[7],存储控制器2给存储控制器1发送消息告知n为50,则存储控制器1的transCount[2]=50,以此类推。
S204:判断各IO请求的总数是否大于IO请求数量上限值,若是,则执行步骤S205,若否,则执行步骤S207。
在从初始化数组中读取到从存储控制器对应的可处理的IO请求数量上限值之后,判断各IO请求的总数是否大于IO请求数量上限值,若是,则说明当前从存储控制器不能对待处理的各IO请求一次性全部处理完,执行步骤S205,若否,则说明当前从存储控制器可以对待处理的各IO请求一次性全部处理完,执行步骤S207。
S205:从各IO请求中选取IO请求数量上限值个IO请求。
当确定各IO请求的总数大于IO请求数量上限值时,说明当前从存储控制器不能对待处理的各IO请求一次性全部处理完,从存储控制器当前可处理的最大IO请求数量为IO请求数量上限值,从各IO请求中选取IO请求数量上限值个IO请求。
需要说明的是,IO请求的选取规则可以根据实际情况进行设定和调整,本发明实施例对此不做限定,如可以按照各IO请求生成的先后顺序选取先生成的IO请求数量上限值个IO请求。
S206:将选取到的各IO请求转发至从存储控制器,并将剩余的各IO请求缓存至预设队列中。
预先设置用于对IO请求进行缓存的队列waitArray,在从各IO请求中选取IO请求数量上限值个IO请求之后,将选取到的各IO请求转发至从存储控制器,并将剩余的各IO请求缓存至预设队列中。
S207:将各IO请求统一转发至从存储控制器。
当确定各IO请求的总数小于等于IO请求数量上限值时,说明当前从存储控制器可以对待处理的各IO请求一次性全部处理完,将各IO请求统一转发至从存储控制器。
S208:根据向从存储控制器转发的IO请求数量,对从存储控制器对应的可处理的IO请求数量上限值进行缩减操作,得到缩减后IO请求数量上限值。
在向从存储控制器转发各IO请求之后,根据向从存储控制器转发的IO请求数量,对从存储控制器对应的可处理的IO请求数量上限值进行缩减操作,得到缩减后IO请求数量上限值。若向从存储控制器转发了IO请求数量上限值个IO请求,则从存储控制器在接收到转发的各IO请求之后,其对应的可处理IO请求数量减少至0,表示当前不可以再向从存储控制器发送IO请求,暂停向从存储控制器的IO请求发送。若将各IO请求统一转发至从存储控制器,说明从存储控制器的原IO请求数量上限值大于各IO请求的总数,再将各IO请求转发至从存储控制器之后,从存储控制器的IO请求数量上限值缩减为原IO请求数量上限值与各IO请求的总数的差值。通过根据从存储控制器接收到的IO请求数量对可处理的IO请求数量上限值进行动态调整,避免了从存储控制器的负载过大。
S209:对转发完成的各IO请求的处理进程进行监控。
在向从存储控制器转发各IO请求之后,对转发完成的各IO请求的处理进程进行监控,从而及时了解各IO请求的处理状况。
S210:当监控到存在处理完成的IO请求时,对处理完成的IO请求数进行统计。
通过对转发完成的各IO请求的处理进程进行监控,当监控到存在处理完成的IO请求时,对处理完成的IO请求数进行统计。通过统计处理完成的IO请求数,一方面方便对IO请求处理成功的数量与处理失败的数量进行统计,另一方面方便及时统计从存储控制器的资源占用情况,为后续向从存储控制器再次转发IO请求做准备。
在本发明的一种具体实施方式中,步骤S210可以包括以下步骤:
当接收到从存储控制器返回的存在IO请求处理完成的反馈信息时,对处理完成的IO请求数进行统计。
每当存在IO请求处理完成时,从存储控制器向主存储控制器返回的存在IO请求处理完成的反馈信息。当主存储控制器接收到从存储控制器返回的存在IO请求处理完成的反馈信息时,对处理完成的IO请求数进行统计。
在本发明的一种具体实施方式中,在接收到从存储控制器返回的存在IO请求处理完成的反馈信息之后,该方法还可以包括以下步骤:
将反馈信息返回给主机端。
主存储控制器在接收到从存储控制器返回的存在IO请求处理完成的反馈信息之后,将反馈信息返回给主机端,从而主机端能够统计到下发的各IO请求的处理状态。
如果IO请求是读请求,直接将需要读取的LBA(Logical Block Address,逻辑区块地址)相关信息发送给从存储控制器,从存储控制器收到后,先进行内存资源申请,然后读取相关内容,读取完后,将读取到的内容发送给主存储控制器,主存储控制器将读取到的信息发送给主机端,主存储控制器收到主机端返回成功后,给从存储控制器发送成功,然后从存储控制器释放相应的内存。
如果IO请求是写请求,主存储控制器根据IO请求对应的写数据量的大小先预分配内存资源,然后通知主机端开始写数据,数据写完后,通过主存储控制器向从存储控制器下发写请求,从存储控制器接收到写请求后,也是需要分配内存资源,分配完成后,主存储控制器将数据传送给从存储控制器。从存储控制器接收完成,给主存储控制器返回成功,然后主存储控制器给主机端返回成功。
S211:根据统计得到的处理完成的IO请求数,对缩减后IO请求数量上限值进行上调操作。
在对处理完成的IO请求数进行统计之后,根据统计得到的处理完成的IO请求数,对缩减后IO请求数量上限值进行上调操作。即将缩减后IO请求数量上限值与处理完成的IO请求数相加计算,将计算得到的数量和作为上调后IO请求数量上限值。通过根据从存储控制器处理完成的IO请求数对可处理的IO请求数量上限值进行动态调整,使得从存储控制器对应的IO请求数量上限值与其当前系统性能保持一致,避免了从存储控制器的负载过大。
相应于上面的方法实施例,本发明还提供了一种存储控制器间的IO请求转发装置,下文描述的存储控制器间的IO请求转发装置与上文描述的存储控制器间的IO请求转发方法可相互对应参照。
参见图3,图3为本发明实施例中一种存储控制器间的IO请求转发装置的结构框图,应用于主存储控制器,该装置可以包括:
请求接收模块31,用于接收主机端发送的各IO请求;
从存储控制器选取模块32,用于从控制器集群中选取从存储控制器;
上限值读取模块33,用于读取从存储控制器对应的可处理的IO请求数量上限值;
请求转发模块34,用于根据IO请求数量上限值向从存储控制器转发各IO请求。
发明所提供的存储控制器间的IO请求转发装置,应用于主存储控制器,包括:接收主机端发送的各IO请求;从控制器集群中选取从存储控制器;读取从存储控制器对应的可处理的IO请求数量上限值;根据IO请求数量上限值向从存储控制器转发各IO请求。通过预先设置从存储控制器可处理的IO请求数量上限值,根据IO请求数量上限值控制向从存储控制器转发的IO请求数量,避免了从存储控制器的负载过大,减轻了对从存储控制器的内存消耗,提高了IO请求转发效率,降低了系统宕机的概率,提升了数据安全性。
在本发明的一种具体实施方式中,请求转发模块34包括:
判断子模块,用于判断各IO请求的总数是否大于IO请求数量上限值;
请求选取子模块,用于当确定各IO请求的总数大于IO请求数量上限值时,从各IO请求中选取IO请求数量上限值个IO请求;
请求缓存子模块,用于将选取到的各IO请求转发至从存储控制器,并将剩余的各IO请求缓存至预设队列中;
请求转发子模块,用于当确定各IO请求的总数小于等于IO请求数量上限值时,将各IO请求统一转发至从存储控制器。
在本发明的一种具体实施方式中,该装置还可以包括:
上限值缩减模块,用于在将选取到的各IO请求转发至从存储控制器,或者将各IO请求统一转发至从存储控制器之后,根据向从存储控制器转发的IO请求数量,对从存储控制器对应的可处理的IO请求数量上限值进行缩减操作,得到缩减后IO请求数量上限值。
在本发明的一种具体实施方式中,该装置还可以包括:
监控模块,用于在对从存储控制器对应的可处理的IO请求数量上限值进行缩减操作之后,对转发完成的各IO请求的处理进程进行监控;
请求数统计模块,用于当监控到存在处理完成的IO请求时,对处理完成的IO请求数进行统计;
上限值上调模块,用于根据统计得到的处理完成的IO请求数,对缩减后IO请求数量上限值进行上调操作。
在本发明的一种具体实施方式中,请求数统计模块具体为当接收到从存储控制器返回的存在IO请求处理完成的反馈信息时,对处理完成的IO请求数进行统计。
在本发明的一种具体实施方式中,该装置还可以包括:
反馈信息返回模块,用于在接收到从存储控制器返回的存在IO请求处理完成的反馈信息之后,将反馈信息返回给主机端。
在本发明的一种具体实施方式中,上限值读取模块33具体为从初始化数组中读取从存储控制器对应的可处理的IO请求数量上限值的模块。
相应于上面的方法实施例,参见图4,图4为本发明所提供的存储控制器间的IO请求转发设备的示意图,该设备可以包括:
存储器332,用于存储计算机程序;
处理器322,用于执行计算机程序时实现上述方法实施例的存储控制器间的IO请求转发方法的步骤。
具体的,请参考图5,图5为本实施例提供的一种存储控制器间的IO请求转发设备的具体结构示意图,该存储控制器间的IO请求转发设备可因配置或性能不同而产生比较大的差异,可以包括处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,存储器332存储有一个或一个以上的计算机应用程序342或数据344。其中,存储器332可以是短暂存储或持久存储。存储在存储器332的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,处理器322可以设置为与存储器332通信,在存储控制器间的IO请求转发设备301上执行存储器332中的一系列指令操作。
存储控制器间的IO请求转发设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。
上文所描述的存储控制器间的IO请求转发方法中的步骤可以由存储控制器间的IO请求转发设备的结构实现。
相应于上面的方法实施例,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如下步骤:
接收主机端发送的各IO请求;从控制器集群中选取从存储控制器;读取从存储控制器对应的可处理的IO请求数量上限值;根据IO请求数量上限值向从存储控制器转发各IO请求。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
对于本发明提供的计算机可读存储介质的介绍请参照上述方法实施例,本发明在此不做赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置、设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (9)
1.一种存储控制器间的IO请求转发方法,其特征在于,应用于主存储控制器,包括:
接收主机端发送的各IO请求;
从控制器集群中选取从存储控制器;
读取所述从存储控制器对应的可处理的IO请求数量上限值;
根据所述IO请求数量上限值向所述从存储控制器转发各所述IO请求;
根据所述IO请求数量上限值向所述从存储控制器转发所述IO请求,包括:
判断各所述IO请求的总数是否大于所述IO请求数量上限值;
若是,则从各所述IO请求中选取所述IO请求数量上限值个IO请求;
将选取到的各所述IO请求转发至所述从存储控制器,并将剩余的各IO请求缓存至预设队列中;
若否,则将各所述IO请求统一转发至所述从存储控制器。
2.根据权利要求1所述的存储控制器间的IO请求转发方法,其特征在于,在将选取到的各所述IO请求转发至所述从存储控制器,或者将各所述IO请求统一转发至所述从存储控制器之后,还包括:
根据向所述从存储控制器转发的IO请求数量,对所述从存储控制器对应的可处理的IO请求数量上限值进行缩减操作,得到缩减后IO请求数量上限值。
3.根据权利要求2所述的存储控制器间的IO请求转发方法,其特征在于,在对所述从存储控制器对应的可处理的IO请求数量上限值进行缩减操作之后,还包括:
对转发完成的各所述IO请求的处理进程进行监控;
当监控到存在处理完成的IO请求时,对处理完成的IO请求数进行统计;
根据统计得到的处理完成的IO请求数,对所述缩减后IO请求数量上限值进行上调操作。
4.根据权利要求3所述的存储控制器间的IO请求转发方法,其特征在于,当监控到存在处理完成的IO请求时,对处理完成的IO请求数进行统计,包括:
当接收到所述从存储控制器返回的存在IO请求处理完成的反馈信息时,对处理完成的IO请求数进行统计。
5.根据权利要求4所述的存储控制器间的IO请求转发方法,其特征在于,在接收到所述从存储控制器返回的存在IO请求处理完成的反馈信息之后,还包括:
将所述反馈信息返回给所述主机端。
6.根据权利要求1至5任一项所述的存储控制器间的IO请求转发方法,其特征在于,读取所述从存储控制器对应的可处理的IO请求数量上限值,包括:
从初始化数组中读取所述从存储控制器对应的可处理的IO请求数量上限值。
7.一种存储控制器间的IO请求转发装置,其特征在于,应用于主存储控制器,包括:
请求接收模块,用于接收主机端发送的各IO请求;
从存储控制器选取模块,用于从控制器集群中选取从存储控制器;
上限值读取模块,用于读取所述从存储控制器对应的可处理的IO请求数量上限值;
请求转发模块,用于根据所述IO请求数量上限值向所述从存储控制器转发各所述IO请求;
请求转发模块包括:
判断子模块,用于判断各所述IO请求的总数是否大于所述IO请求数量上限值;
请求选取子模块,用于当确定各所述IO请求的总数大于所述IO请求数量上限值时,从各所述IO请求中选取所述IO请求数量上限值个IO请求;
请求缓存子模块,用于将选取到的各所述IO请求转发至所述从存储控制器,并将剩余的各IO请求缓存至预设队列中;
请求转发子模块,用于当确定各所述IO请求的总数小于等于所述IO请求数量上限值时,将各所述IO请求统一转发至所述从存储控制器。
8.一种存储控制器间的IO请求转发设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述存储控制器间的IO请求转发方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述存储控制器间的IO请求转发方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111110933.2A CN113849129B (zh) | 2021-09-18 | 2021-09-18 | 一种存储控制器间的io请求转发方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111110933.2A CN113849129B (zh) | 2021-09-18 | 2021-09-18 | 一种存储控制器间的io请求转发方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113849129A CN113849129A (zh) | 2021-12-28 |
CN113849129B true CN113849129B (zh) | 2023-08-25 |
Family
ID=78979063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111110933.2A Active CN113849129B (zh) | 2021-09-18 | 2021-09-18 | 一种存储控制器间的io请求转发方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113849129B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016061766A1 (zh) * | 2014-10-22 | 2016-04-28 | 华为技术有限公司 | 对象存储系统中的业务流控制方法、控制器和系统 |
CN107247564A (zh) * | 2017-07-17 | 2017-10-13 | 郑州云海信息技术有限公司 | 一种数据处理的方法及系统 |
CN108319430A (zh) * | 2018-01-17 | 2018-07-24 | 杭州宏杉科技股份有限公司 | 处理io请求的方法及装置 |
CN108595108A (zh) * | 2017-12-29 | 2018-09-28 | 北京奇虎科技有限公司 | 一种数据的迁移方法和装置 |
CN108924008A (zh) * | 2018-07-10 | 2018-11-30 | 郑州云海信息技术有限公司 | 一种双控制器数据通信方法、装置、设备及可读存储介质 |
CN111124283A (zh) * | 2019-11-29 | 2020-05-08 | 浪潮(北京)电子信息产业有限公司 | 一种存储空间管理方法、系统、电子设备及存储介质 |
CN111722791A (zh) * | 2019-03-22 | 2020-09-29 | 株式会社日立制作所 | 信息处理系统、存储系统和数据传输方法 |
CN112363678A (zh) * | 2021-01-13 | 2021-02-12 | 北京东方通软件有限公司 | 一种基于消息中间件的数据迁移方法及系统 |
CN112748880A (zh) * | 2021-01-14 | 2021-05-04 | 苏州浪潮智能科技有限公司 | 存储系统中的io通道均衡控制方法、装置及可读存储介质 |
-
2021
- 2021-09-18 CN CN202111110933.2A patent/CN113849129B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016061766A1 (zh) * | 2014-10-22 | 2016-04-28 | 华为技术有限公司 | 对象存储系统中的业务流控制方法、控制器和系统 |
CN107247564A (zh) * | 2017-07-17 | 2017-10-13 | 郑州云海信息技术有限公司 | 一种数据处理的方法及系统 |
CN108595108A (zh) * | 2017-12-29 | 2018-09-28 | 北京奇虎科技有限公司 | 一种数据的迁移方法和装置 |
CN108319430A (zh) * | 2018-01-17 | 2018-07-24 | 杭州宏杉科技股份有限公司 | 处理io请求的方法及装置 |
CN108924008A (zh) * | 2018-07-10 | 2018-11-30 | 郑州云海信息技术有限公司 | 一种双控制器数据通信方法、装置、设备及可读存储介质 |
CN111722791A (zh) * | 2019-03-22 | 2020-09-29 | 株式会社日立制作所 | 信息处理系统、存储系统和数据传输方法 |
CN111124283A (zh) * | 2019-11-29 | 2020-05-08 | 浪潮(北京)电子信息产业有限公司 | 一种存储空间管理方法、系统、电子设备及存储介质 |
CN112363678A (zh) * | 2021-01-13 | 2021-02-12 | 北京东方通软件有限公司 | 一种基于消息中间件的数据迁移方法及系统 |
CN112748880A (zh) * | 2021-01-14 | 2021-05-04 | 苏州浪潮智能科技有限公司 | 存储系统中的io通道均衡控制方法、装置及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113849129A (zh) | 2021-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102929834B (zh) | 众核处理器及其核间通信的方法、主核和从核 | |
CN109408243B (zh) | 一种基于rdma的数据处理方法、装置和介质 | |
CN106603692B (zh) | 一种分布式存储系统中的数据存储方法及装置 | |
EP3993346A1 (en) | Method and device for distributed data storage | |
CN110007877B (zh) | 主机与双控存储设备间数据传输方法、装置、设备及介质 | |
CN111309644B (zh) | 一种内存分配方法、装置和计算机可读存储介质 | |
CN111723057A (zh) | 一种文件预读方法、装置、设备及存储介质 | |
CN110674064B (zh) | 一种数据传输方法、装置、设备及计算机可读存储介质 | |
CN113849129B (zh) | 一种存储控制器间的io请求转发方法、装置及设备 | |
CN113347238A (zh) | 基于区块链的消息分区方法及系统、设备、存储介质 | |
CN115390762A (zh) | 一种存储资源访问方法、装置、设备及可读存储介质 | |
CN111177032A (zh) | 缓存空间申请方法、系统、装置及计算机可读存储介质 | |
US10846094B2 (en) | Method and system for managing data access in storage system | |
CN107229424B (zh) | 一种分布式存储系统数据写入方法及分布式存储系统 | |
CN111338567B (zh) | 一种基于Protocol Buffer的镜像缓存方法 | |
CN112291326B (zh) | 负载均衡方法、负载均衡装置、存储介质与电子设备 | |
CN112073327B (zh) | 一种抗拥塞的软件分流方法、装置及存储介质 | |
CN114020209A (zh) | 一种客户端业务限速方法、装置、设备及存储介质 | |
CN114116203A (zh) | 一种资源调用控制方法、资源调用控制装置及存储介质 | |
CN114138622A (zh) | 一种业务处理方法、系统、设备及计算机可读存储介质 | |
CN115878309A (zh) | 资源分配方法、装置、处理核、设备和计算机可读介质 | |
CN110780999A (zh) | 一种多核cpu的调度系统和方法 | |
CN106331036B (zh) | 一种服务器控制方法及装置 | |
CN108108243B (zh) | 一种资源分享系统和方法 | |
WO2023055295A2 (en) | Method and apparatus for task writing in edge terminal, terminal, and readable storage medium |
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 |