【技术实现步骤摘要】
处理I/O请求的方法、装置、系统、设备及存储介质
[0001]本申请涉及计算机
,特别涉及一种处理I/O请求的方法、装置、系统、设备及存储介质。
技术介绍
[0002]随着互联网技术和大数据的发展,一些互联网、金融等企业,可以购买硬件厂商开发的存储系统,可用于存储企业在运营时产生的各种业务数据。
[0003]在硬件厂商开发的存储系统中可以包括多个存储节点,每个存储节点可由控制器和存储器组成,多个存储节点的存储器可构建成一个存储池,用于提供数据存储功能。其中,技术人员可以将存储池中的存储空间划分为多个逻辑块,为了避免各存储节点在处理I/O请求时产生冲突以及实现各存储节点之间的负载均衡,技术人员可以在每个存储节点的控制器中预先设置数据处理策略,使得每个存储节点只负责其对应逻辑块的数据读写处理。
[0004]互联网、金融等企业在购买硬件厂商开发的存储系统后,可以通过第三方多路径软件,向存储系统中的各存储节点发送I/O请求,进而实现在存储系统读写数据。但是第三方多路径软件与硬件厂商的技术人员设置的数据处理策略之间解耦,即第三方多路径软件无法确定一个I/O请求归属哪个存储节点处理。一般第三方多路径软件通过网络转发设备(如交换机、路由器等)随机地将I/O请求发送至存储系统的各个存储节点,以达到负载均衡的目的。当存储节点的控制器接收到网络转发设备转发的I/O请求后,可以根据预先设置的数据处理策略,确定处理该I/O请求的存储节点。如果确定该I/O请求是归属其他存储节点处理的,则可以将该I/O请求转发至相应的存储 ...
【技术保护点】
【技术特征摘要】
1.一种处理I/O请求的方法,其特征在于,应用于网络转发设备,所述方法包括:接收目标I/O请求,所述目标I/O请求中携带有目的地址与目标逻辑块地址,所述目的地址为所述第一存储节点的节点地址;基于预设的逻辑块地址与存储节点的对应关系,确定所述目标逻辑块地址对应的第二存储节点;如果所述第二存储节点与所述第一存储节点不一致,则将所述目标I/O请求中的目的地址修改为所述第二存储节点的节点地址,得到修改目的地址后的目标I/O请求;发送所述修改目的地址后的目标I/O请求。2.根据权利要求1所述的方法,其特征在于,所述将所述目标I/O请求中的目的地址修改为所述第二存储节点的节点地址,得到修改目的地址后的目标I/O请求,包括:将所述目标I/O请求中的目的地址修改为所述第二存储节点对应的存储节点地址,并在所述目标I/O请求中添加所述第一存储节点的节点地址,得到修改目的地址后的目标I/O请求,其中,所述修改目的地址后的目标I/O请求用于,指示所述第二存储节点在接收到所述修改目的地址后的目标I/O请求后,基于所述修改目的地址后的目标I/O请求进行I/O请求处理;在完成所述I/O请求处理后,基于所述第一存储节点的节点地址,向所述第一存储节点发送第一I/O请求处理完成通知。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:将所述目标I/O请求添加已处理标识,得到添加处理后的目标I/O请求;将所述添加处理后的目标I/O请求发送至所述第一存储节点,所述已处理标识用于指示所述第一存储节点不对所述添加处理后的目标I/O请求进行I/O请求处理,并在接收到所述第二存储节点发送的第一I/O请求处理完成通知后,向所述网络转发设备发送第二I/O请求处理完成通知;所述方法还包括:接收所述第一存储节点发送的所述第二I/O请求处理完成通知;将所述第二I/O请求处理完成通知转发至下发所述目标I/O请求的客户端设备。4.根据权利要求1所述的方法,其特征在于,所述接收目标I/O请求之后,所述方法还包括:确定所述目标I/O请求是否为立即数写请求;如果确定所述目标I/O请求为立即数写请求,则确定所述立即数写请求对应的写请求信息,其中,所述写请求信息中包括所述立即数写请求的源地址、目的地址、以及所述立即数写请求对应的至少一个写数据报文的序列号范围;所述方法还包括:当接收到非I/O请求的报文时,获取所述非I/O请求的报文的源地址、目的地址、以及序列号,并基于所述立即数写请求的写请求信息,确定接收到的报文是否属于所述立即数写请求对应的写数据报文;如果确定所述接收到的报文为所述立即数写请求对应的写数据报文,则将所述写数据报文中的目的地址修改为所述第二存储节点的节点地址,得到修改目的地址后的写数据报文;发送所述修改目的地址后的写数据报文。
5.一种处理I/O请求的方法,其特征在于,应用于第二存储节点,所述方法包括:接收网络转发设备发送的修改目的地址后的目标I/O请求,所述修改目的地址后的目标I/O请求中携带有第一存储节点的节点地址;基于所述修改目的地址后的目标I/O请求,进行I/O请求处理;在完成所述I/O请求处理后,基于所述第一存储节点的节点地址,向所述第一存储节点发送第一I/O请求处理完成通知,所述第一I/O请求处理完成通知用于指示所述第一存储节点在接收到所述第一I/O请求处理完成通知后,向所述网络转发设备发送所述第二I/O请求处理完成通知,以使所述网络转发设备将所述第二I/O请求处理完成通知转发至下发所述目标I/O请求的客户端设备。6.一种处理I/O请求的方法,其特征在于,应用于第一存储节点,所述方法包括:接收网络转发设备发送的添加处理后的目标I/O请求,所述添加处理后的目标I/O请求中添加有已处理标识;接收第二存储节点发送的第一I/O请求处理完成通知;向所述网络转发设备发送所述第二I/O请求处理完成通知,以使所述网络转发设备将所述第二I/O请求处理完成通知转发至下发所述目标I/O请求的客户端设备。7.根据权利要求6所述的方法,其特征在于,所述接收网络转发设备发送的添加处理后的目标I/O请求之后,所述方法还包括:确定所述添加处理后的目标I/O请求是否为立即数写请求;如果确定所述添加处理后的目标I/O请求为立即数写请求,则确定所述立即数写请求对应的写请求信息,其中,所述写请求信息中包括所述立即数写请求的源地址、目的地址、以及所述立即数写请求对应的多个写数据报文对应的报文标识范围;所述方法还包括:当接收到非I/O请求的报文时,获取所述非I/O请求的报文的源地址、目的地址、以及序列号,并基于所述立即数写请求的写请求信息,确定接收到的报文是否属于所述立即数写请求对应的写数据报文;如果确定所述接收到的报文为所述立即数写请求对应的写数据报文,则不对所述写数据报文进行处理。8.一种处理I/O请求的装置,其特征在于,应用于网络转发设备,所述装置包括:接收模块,用于接收目标I/O请求,所述目标I/O请求中携带有目的地址与目标逻辑块地址,所述目的地址为所述第一存储节点的节点地址;确定模块,用于基于预设的逻辑块地址与存储节点的对应关系,确定所述目标逻辑块地址对应的第二存储节点;修改模块,用于如果所述第二存储节点与所述第一存储节点不一致,则将所述目标I/O请求中的目的地址修改为所述第二存储节点的节点地址,得到修改目的地址后的目标I/O请求;发送模块,用于发送所述修改目的地址后的目标I/O请求。9.根据权利要求8所述的装置,其特征在于,所述修改模块,用于:将所述目标I/O请求中的目的地址修改为所述第二存储节点对应的存储节点地址,并在所述目标I/O请求中添加所述第一存储节点的节点地址,得到修改目的地址后的目标I/O
请求,其中,所述修改目的地址后的目标I/O请求用于,指示所述第二存储节点在接收...
【专利技术属性】
技术研发人员:刘硕,张君逸,王巧灵,张鹏,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。