System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机领域,特别是涉及一种磁盘访问方法及装置、电子设备、存储介质。
技术介绍
1、随着数据中心业务量的增加,单台服务器需要处理的数据量也在不断增长。这导致传统的单个物理硬盘无法满足系统在可靠性、性能和容量方面的需求。为此,raid(redundant array of independent disks,独立磁盘冗余阵列)技术应运而生,其通过将多个独立硬盘组合成单个逻辑存储单元的方式来提高数据的可靠性和性能,不同的raid级别如raid 0、raid 1等可以根据其数据保护策略和数据分布方式,为不同的应用场景提供优化。
2、在相关技术中,raid控制器是一种专用的硬件设备,通常安装在计算机主板上或连接到主板的扩展插槽中。raid控制器拥有自己的处理器、内存和接口,用于管理多个硬盘并实现raid功能。尤其是基于nvme(non-volatile memory express,非易失性内存主机控制器接口规范)协议的raid控制器,它通过位于主机内存中的命令队列来完成与主机的通信,具体操作包括主机下发的读写命令被放入sq(submission queue,提交队列)队列,然后raid控制器通过pcie(peripheral component interconnect express ,外设部件互连快速通道) tlp(transaction layer packet,事务层数据包)消息从sq队列读取相关命令并执行,执行完成后,将结果通过pcie tlp消息放回主机内存中的cq(completion queue
3、然而,尽管raid控制器极大地提高了数据处理效率,但在连接具有不同属性的硬盘时,如同时使用速度较慢的sata(serial advanced technology attachment,高级主机控制器接口)盘和速度较快的nvme盘时,往往会遇到性能问题。例如,sata盘在i/o(input/output,输入输出)操作中可能会填满主机内存的sq队列,导致主机无法下发nvme盘的i/o命令,从而导致系统整体性能下降,也会使nvme的性能受到影响,无法发挥其高速优势。
技术实现思路
1、鉴于上述问题,提出了以便提供克服上述问题或者至少部分地解决上述问题的一种磁盘访问方法及装置、电子设备、存储介质,包括:
2、一种磁盘访问方法,应用于主机端,所述方法包括:
3、获取所述主机的处理器信息,并向磁盘阵列控制器端发送识别命令,以获取所述磁盘阵列控制器端支持的输入输出队列属性信息;其中,所述磁盘阵列控制器端用于响应于所述主机端发出的所述识别命令,向所述主机端发送所述磁盘阵列控制器端支持的输入输出队列属性信息;
4、根据所述处理器信息与所述输入输出队列属性信息,创建输入输出命令队列;
5、响应于所述主机端上层应用下发的输入输出命令,生成读写命令并确定所述输入输出命令对应的所述输入输出命令队列;
6、通过所述输入输出命令对应的所述输入输出命令队列将所述读写命令发送至所述磁盘阵列控制器端;其中,所述磁盘阵列控制器端还用于接收所述读写命令,并根据所述读写命令进行磁盘访问。
7、可选的,所述根据所述处理器信息与所述输入输出队列属性信息,创建输入输出命令队列,包括:
8、根据所述处理器信息与所述输入输出队列属性信息,确定处理器数量信息与输入输出队列属性种类信息;
9、根据所述处理器数量信息与输入输出队列属性种类信息,创建所述输入输出命令队列。
10、可选的,所述响应于所述主机端上层应用下发的输入输出命令,生成读写命令并确定所述输入输出命令对应的所述输入输出命令队列之前,还包括:
11、根据所述处理器信息、所述输入输出队列属性信息与所述输入输出命令队列,创建队列映射关系表。
12、可选的,所述确定所述输入输出命令对应的所述输入输出命令队列,包括:
13、根据所述输入输出命令与所述队列映射关系表,确定所述输入输出命令对应的所述输入输出命令队列。
14、可选的,所述方法还包括:
15、接收所述磁盘阵列控制器端发送的异步事件通知,并根据所述异步事件通知,确定所述磁盘阵列控制器端是否发生了输入输出队列属性变更事件;其中,所述磁盘阵列控制器端还用于响应于所述磁盘阵列控制器端发生的异步事件,向所述主机端发送所述异步事件通知;
16、若所述磁盘阵列控制器端发生了所述输入输出队列属性变更事件,则再次执行所述向磁盘阵列控制器端发送识别命令,以获取所述磁盘阵列控制器端支持的输入输出队列属性信息的步骤。
17、可选的,所述创建队列映射关系表之后,还包括:
18、接收所述磁盘阵列控制器端发送的所述磁盘阵列中命名空间的属性信息;其中,所述磁盘阵列控制器端还用于向所述主机端发送所述磁盘阵列中命名空间的属性信息。
19、可选的,所述根据所述输入输出命令与所述队列映射关系表,确定所述输入输出命令对应的所述输入输出命令队列,包括:
20、确定所述输入输出命令请求访问的命名空间的属性信息,并根据所述输入输出命令请求访问的命名空间的属性信息与所述队列映射关系表,确定所述输入输出命令对应的所述输入输出命令队列。
21、可选的,所述获取所述主机的处理器信息之前,还包括:
22、获取所述磁盘阵列控制器端支持的队列深度信息与单个命令大小信息。
23、可选的,所述根据所述处理器信息与所述输入输出队列属性信息,创建输入输出命令队列,包括:
24、根据所述处理器信息、所述输入输出队列属性信息、所述队列深度信息与单个命令大小信息,创建所述输入输出命令队列。
25、可选的,所述创建输入输出命令队列之后,还包括:
26、将所述输入输出命令队列的首地址信息发送至所述磁盘阵列控制器端;其中,所述磁盘阵列控制器端还用于接收所述主机端发送的所述首地址信息并将所述首地址信息保存至所述磁盘阵列控制器内部。
27、一种磁盘访问方法,应用于磁盘阵列控制器端,所述方法包括:
28、响应于主机端发出的识别命令,向所述主机端发送所述磁盘阵列控制器端支持的输入输出队列属性信息;其中,所述主机端用于获取所述主机的处理器信息,并向磁盘阵列控制器端发送所述识别命令,以获取所述磁盘阵列控制器端支持的输入输出队列属性信息;根据所述处理器信息与所述输入输出队列属性信息,创建输入输出命令队列;
29、接收读写命令,并根据所述读写命令进行磁盘访问;其中,所述主机端还用于响应于所述主机端上层应用下发的输入输出命令,生成读写命令并确定所述输入输出命令对应的所述输入输出命令队列;通过所述输入输出命令对应的所述输入输出命令队列将所述读写命令发送至所述磁盘阵列控制器端。
30、可选的,所述方法还包括:
31、响应于本文档来自技高网...
【技术保护点】
1.一种磁盘访问方法,其特征在于,应用于主机端,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述处理器信息与所述输入输出队列属性信息,创建输入输出命令队列,包括:
3.根据权利要求1所述的方法,其特征在于,所述响应于所述主机端上层应用下发的输入输出命令,生成读写命令并确定所述输入输出命令对应的所述输入输出命令队列之前,还包括:
4.根据权利要求3所述的方法,其特征在于,所述确定所述输入输出命令对应的所述输入输出命令队列,包括:
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
6.根据权利要求4所述的方法,其特征在于,所述创建队列映射关系表之后,还包括:
7.根据权利要求6所述的方法,其特征在于,所述根据所述输入输出命令与所述队列映射关系表,确定所述输入输出命令对应的所述输入输出命令队列,包括:
8.根据权利要求1所述的方法,其特征在于,所述获取所述主机的处理器信息之前,还包括:
9.根据权利要求8所述的方法,其特征在于,所述根据所述处理器信息与所述输入
10.根据权利要求1所述的方法,其特征在于,所述创建输入输出命令队列之后,还包括:
11.一种磁盘访问方法,其特征在于,应用于磁盘阵列控制器端,所述方法包括:
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
13.根据权利要求11所述的方法,其特征在于,所述接收读写命令,并根据所述读写命令进行磁盘访问之前,还包括:
14.根据权利要求13所述的方法,其特征在于,所述向所述主机端发送所述磁盘阵列中命名空间的属性信息之前,还包括:
15.根据权利要求11所述的方法,其特征在于,所述向所述主机端发送所述磁盘阵列控制器端支持的输入输出队列属性信息之后,还包括:
16.一种磁盘访问装置,其特征在于,应用于主机端,所述装置包括:
17.一种磁盘访问装置,其特征在于,应用于磁盘阵列控制器端,所述装置包括:
18.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至10或权利要求11至15中任一项所述的磁盘访问方法。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至10或权利要求11至15中任一项所述的磁盘访问方法。
20.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序在被处理器执行时实现如权利要求1至10或权利要求11至15中任一项所述的磁盘访问方法。
...【技术特征摘要】
1.一种磁盘访问方法,其特征在于,应用于主机端,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述处理器信息与所述输入输出队列属性信息,创建输入输出命令队列,包括:
3.根据权利要求1所述的方法,其特征在于,所述响应于所述主机端上层应用下发的输入输出命令,生成读写命令并确定所述输入输出命令对应的所述输入输出命令队列之前,还包括:
4.根据权利要求3所述的方法,其特征在于,所述确定所述输入输出命令对应的所述输入输出命令队列,包括:
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
6.根据权利要求4所述的方法,其特征在于,所述创建队列映射关系表之后,还包括:
7.根据权利要求6所述的方法,其特征在于,所述根据所述输入输出命令与所述队列映射关系表,确定所述输入输出命令对应的所述输入输出命令队列,包括:
8.根据权利要求1所述的方法,其特征在于,所述获取所述主机的处理器信息之前,还包括:
9.根据权利要求8所述的方法,其特征在于,所述根据所述处理器信息与所述输入输出队列属性信息,创建输入输出命令队列,包括:
10.根据权利要求1所述的方法,其特征在于,所述创建输入输出命令队列之后,还包括:
11.一种磁盘访问方法,其特征在于,应用于磁盘阵列控制器端,所述方法包...
【专利技术属性】
技术研发人员:马艳,李维校,王辉,
申请(专利权)人:山东云海国创云计算装备产业创新中心有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。