本发明涉及计算机系统及存储,特别是涉及一种独立冗余磁盘阵列卡控制方法、一种独立冗余磁盘阵列卡控制装置,一种电子设备和一种存储介质。
背景技术:
1、近些年随着科技的高速发展,越来越多的用户数据需要安全高效的存储在数据中心,面对与日俱增的大数据计算业务量,用户不仅对数据可靠性和数据安全性的要求越来越高,而且对读写i/o(input/output,输入输出)数据效率的要求呈指数级增长。因此当今存储领域的专有技术人员一直在两个方面寻求突破:提高存储i/o性能和增加数据安全性。在提高i/o性能方面,业界在软raid(redundant array of independent disks,独立冗余磁盘阵列)存储技术的基础上提出了硬raid存储技术,硬raid存储技术的最重要构成单元是raid卡。而目前raid卡的写性能,将极大的增加raid阵列中条带的不一致风险概率。
技术实现思路
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、在所述哈希表中,查找所述主机输入输出值命中的哈希项为命中哈希项;
32、将所述哈希表中所述命中哈希项之外的哈希项确定为所述未命中哈希项。
33、可选地,所述依据所述落盘树进行数据落盘的步骤包括:
34、判断是否存在所述落盘树;
35、响应于存在所述落盘树,执行所述落盘树进行数据落盘;
36、响应于不存在所述落盘树,依据所述形成树生成所述落盘树,执行所述落盘树,进行数据落盘。
37、可选地,所述响应于存在所述落盘树,依据所述形成树生成所述落盘树,执行所述落盘树,进行数据落盘的步骤包括:
38、阻塞所述落盘树,执行所述落盘树进行落盘,直至落盘完成;并继续处理所述读写数据。
39、可选地,所述响应于不存在所述落盘树,依据所述形成树生成所述落盘树,执行所述落盘树,进行数据落盘的步骤包括:
40、响应于不存在所述落盘树,将所述形成树转化为所述落盘树,执行所述落盘树,进行数据落盘。
41、可选地,所述将所述形成树转化为所述落盘树,执行所述落盘树,进行数据落盘的步骤包括:
42、将所述形成树转化为所述落盘树,阻塞所述落盘树,执行所述落盘树进行落盘的步骤,直至落盘完成;并继续处理所述读写数据。
43、可选地,所述预设缓存超限条件为在所述独立冗余磁盘阵列卡的当前缓存节点上增加所述新申请缓存节点超过预设缓存占有率。
44、可选地,所述形成树与所述落盘树均为红黑树。
45、在本发明的第二个方面,本发明实施例公开了一种独立冗余磁盘阵列卡控制装置,独立冗余磁盘阵列卡配置有形成树和落盘树;所述形成树用于所述独立冗余磁盘阵列卡内的真实物理地址进行排序生成地址顺序,所述落盘树用于按所述地址顺序进行数据落盘,所述装置包括:
46、申请模块,用于接收来自主机的读写数据,依据所述读写数据确定新申请缓存节点;
47、第一判断模块,用于判断所述新申请缓存节点是否满足预设缓存超限条件;
48、挂入模块,用于响应于所述新申请缓存节点不满足预设缓存超限条件,将所述新申请缓存节点挂入所述形成树;
49、落盘模块,用于响应于所述新申请缓存节点满足预设缓存超限条件,依据所述落盘树进行数据落盘。
50、在本发明的第三个方面,本发明实施例还公开了一种电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的独立冗余磁盘阵列卡控制方法的步骤。
51、在本发明的第四个方面,本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的独立冗余磁盘阵列卡控制方法的步骤。
52、本发明实施例包括以下优点:
53、本发明实施例通过接收来自主机的读写数据,依据所述读写数据确定新申请缓存节点;判断所述新申请缓存节点是否满足预设缓存超限条件;响应于所述新申请缓存节点不满足预设缓存超限条件,将所述新申请缓存节点挂入所述形成树;响应于所述新申请缓存节点满足预设缓存超限条件,依据所述落盘树进行数据落盘。通过在确定缓存节点后,形成树将主机下发的随机读写数据做真实物理地址排序,供落盘树在真实物理地址顺序进行落盘,以提高磁盘写性能。