面向服务器无感知计算的磁盘冗余阵列重建方法及系统

文档序号:34266390发布日期:2023-05-25 07:32阅读:45来源:国知局
面向服务器无感知计算的磁盘冗余阵列重建方法及系统

本申请涉及云计算,特别是涉及一种面向服务器无感知计算的磁盘冗余阵列重建方法及系统。


背景技术:

1、当一个或多个磁盘出现故障时,磁盘冗余阵列在读取数据时需要先对数据进行重建。针对磁盘冗余阵列的数据重建性能优化问题,目前的一些研究工作主要面向单机磁盘冗余阵列,主要针对存储器的特性进行优化,这些研究工作所设计和实现的系统假设控制器和磁盘之间通过总线进行通信,而并没有考虑到运行于分离式存储上的分布式磁盘冗余阵列所需要解决的问题。

2、相比采用本机存储(即存储服务器本地的各个磁盘)组成磁盘冗余阵列,采用分离式存储组成磁盘冗余阵列的数据重建性能会由于网卡带宽等原因极其受限,严重制约了极端情况下服务器无感知计算读取数据的速率。


技术实现思路

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、由上述技术方案可以看出,通过树状通信拓扑结构,由相关的各个存储服务器之间的少量通信交互完成数据重建操作,能够将客户端的通信开销在存储服务器端进行分摊,从而降低了客户端的网卡带宽对磁盘冗余阵列的数据重建性能限制,且根据可用带宽合理选择进行数据归约的节点,可以避免产生网络拥塞,进一步优化了磁盘冗余阵列的数据重建性能。



技术特征:

1.一种面向服务器无感知计算的磁盘冗余阵列重建方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述第一请求携带的信息包含以下至少一者:

3.根据权利要求2所述的方法,其特征在于,所述客户端根据所述树状通信拓扑结构,向所述各个第一存储服务器和各个第二存储服务器分别发送第一请求,包括:

4.根据权利要求2所述的方法,其特征在于,所述数据区间是通过所述第一请求携带的区间长度字段和区间偏移量字段进行描述的。

5.根据权利要求1所述的方法,其特征在于,在所述目标读取请求对应所述目标磁盘冗余阵列中的多个条带的情况下,客户端接收目标读取请求,确定所述目标读取请求所需读取的目标数据,包括:

6.根据权利要求1所述的方法,其特征在于,所述各个第二存储服务器通过以下步骤确定:

7.根据权利要求1-6任一所述的方法,其特征在于,所述方法还包括:

8.根据权利要求1-6任一所述的方法,其特征在于,所述客户端和每个所述存储服务器之间、以及每两个所述存储服务器之间是通过支持远程直接内存访问的网卡建立点对点的网络通信连接的。

9.根据权利要求1-6任一所述的方法,其特征在于,所述第二存储服务器是通过自身配置的中央处理器的x86指令集重建所述目标数据块的。

10.一种面向服务器无感知计算的磁盘冗余阵列重建系统,其特征在于,所述系统包括客户端和多个存储服务器,所述客户端和每个所述存储服务器之间、以及每两个所述存储服务器之间通过点对点的网络通信连接进行通信,其中:


技术总结
本申请实施例公开了一种面向服务器无感知计算的磁盘冗余阵列重建方法及系统,通过树状通信拓扑结构,由相关的各个存储服务器之间的少量通信交互完成数据重建操作,能够将客户端的通信开销在存储服务器端进行分摊,从而降低了客户端的网卡带宽对磁盘冗余阵列的数据重建性能限制,且根据可用带宽合理选择进行数据归约的节点,可以避免产生网络拥塞,进一步优化了磁盘冗余阵列的数据重建性能。

技术研发人员:金鑫,刘譞哲,舒俊宜,马郓,黄罡
受保护的技术使用者:北京大学
技术研发日:
技术公布日:2024/1/12
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1