一种数据发送方法技术

技术编号:39799494 阅读:6 留言:0更新日期:2023-12-22 02:30
本申请实施例涉及数据存储技术领域,具体涉及一种数据发送方法

【技术实现步骤摘要】
一种数据发送方法、装置、设备及存储介质


[0001]本申请实施例涉及数据存储
,具体而言,涉及一种数据发送方法

装置

设备及存储介质


技术介绍

[0002]在高端存储架构下,主机
IO

Input/Output
,输入
/
输出)数据下发后,会随机发送到一个控制器群组中,当该控制器群组无法处理下发的数据时,需要将数据转发至可以处理该数据的控制器群组的节点中,由该节点进行处理之后再发送至存储设备进行存储,相关技术中的存储方式中,数据在不同控制器群组之间进行转发

[0003]相关技术中,主机下发的数据无法在同一个控制器群组内的多个节点之间进行转发,导致控制器群组内的各个节点的负载不均衡,处理速度较慢


技术实现思路

[0004]本申请实施例提供一种数据发送方法

装置

设备及存储介质,旨在实现控制器群组内的各个节点之间的数据转发

[0005]本申请实施例第一方面提供一种数据发送方法,所述方法包括:将待存储数据发送至控制器群组中任意一个控制器节点的数据转发层;响应于所述待存储数据对应的存储卷为运行状态,确定所述待存储数据对应的数据区域;响应于所述待存储数据对应的所述数据区域为非单一数据区域,根据所述待存储数据对应的所述数据区域,对所述待存储数据进行数据拆分,得到多个待存储子数据;响应于所述待存储子数据为待转发子数据,根据每个所述待存储子数据对应的所述数据区域,确定每个所述待存储子数据对应的索引节点号;将每个所述待存储子数据发送至目标控制器节点中,所述目标控制器节点是所述索引节点号对应的控制器节点

[0006]可选地,在将待存储数据发送至控制器群组中任意一个控制器节点的数据转发层之前,所述方法还包括:在所述控制器群组中添加多个所述控制器节点;通过循环镜像的方式,对多个所述控制器节点进行结对,得到多个控制器节点对;在每个所述控制器节点对中指定一个所述控制器节点为主控制器节点

[0007]可选地,所述方法还包括:响应于所述存储卷为非运行状态,将所述待存储数据放入等待队列中;响应于所述存储卷由所述非运行状态变更为所述运行状态,确定所述待存储数据对应的所述数据区域

[0008]可选地,所述方法还包括:响应于所述待存储数据对应的所述数据区域为单一数据区域,确定所述待存储数
据对应的传输路径是否为快速路径;当所述待存储数据对应的传输路径为快速路径时,将所述待存储数据直接传输至所述待存储数据对应的存储设备

[0009]可选地,所述方法还包括:当所述存储数据对应的所述传输路径不是所述快速路径时,确定所述待存储数据对应的存储卷是否为非运行状态;当所述存储卷为非运行状态时,将所述待存储数据放入等待队列中

[0010]可选地,在根据所述待存储数据对应的所述数据区域,对所述待存储数据进行数据拆分,得到多个待存储子数据之前,所述方法还包括:确定所述待存储数据对应的起始存储地址以及终止存储地址;根据所述起始存储地址与所述终止存储地址,确定所述待存储数据对应的所述数据区域是否为单一数据区域

[0011]可选地,所述根据所述起始存储地址与所述终止存储地址,确定所述待存储数据对应的所述数据区域是否为单一数据区域,包括:将所述起始存储地址与所述终止存储地址与每个所述数据区域的预设起始地址和预设终止地址进行对比;当所述起始存储地址与所述终止存储地址位于同一个所述数据区域内时,确定所述待存储数据对应的所述数据区域为所述单一数据区域;当所述起始存储地址与所述终止存储地址位于不同所述数据区域内时,确定所述待存储数据对应的所述数据区域为非单一数据区域

[0012]可选地,所述根据所述待存储数据对应的所述数据区域,对所述待存储数据进行数据拆分,得到多个待存储子数据,包括:获取所述待存储数据对应的每个所述数据区域的起始地址以及终止地址;根据所述起始地址以及所述终止地址,将所述待存储数据拆分至每个所述数据区域中

[0013]可选地,在根据每个所述待存储子数据对应的所述数据区域,确定每个所述待存储子数据对应的索引节点号之前,所述方法还包括:确定所述待存储子数据对应的所述数据区域中是否存在转发标志;当所述待存储子数据对应的所述数据区域中存在所述转发标志时,确定所述待存储子数据为所述待转发子数据

[0014]可选地,所述根据每个所述待存储子数据对应的所述数据区域,确定每个所述待存储子数据对应的索引节点号,包括:获取所述数据区域对应的节点位图集合;从所述节点位图集合中,将数值为1的节点号作为所述待存储子数据对应的所述索引节点号

[0015]可选地,所述方法还包括:响应于所述控制器节点发生故障事件,确定所述待存储子数据是否开始进行转发;当所述待存储子数据未开始进行转发时,将所述待存储子数据对应的所述目标控
制器节点设置为故障状态;在所述控制器节点对应的节点位图上添加转发失败标记;将所述待存储子数据放入等待队列;每隔一个预设时间段,对所述待存储子数据进行重试转发;当所述待存储子数据正常转发时,删除所述转发失败标记

[0016]可选地,所述方法还包括:在与所述待存储子数据同属于一个所述待存储数据的后续待存储子数据中,设置故障标记;对所述控制器节点对应的所述节点位图添加所转发失败标记;将所述后续待存储子数据的状态码设置为失败状态;等待一个所述预设时间段后,清理所述故障标记;将所述后续待存储子数据重新进行转发;当所述后续待存储子数据正常转发时,清除所述转发失败标记

[0017]可选地,所述方法还包括:当所述待存储子数据已经开始转发时,将所述待存储子数据对应的所述目标控制器节点设置为故障状态;在所述控制器节点对应的节点位图上添加所述转发失败标记;将所述待存储子数据的数据状态码设置为错误状态;将所述待存储子数据放入所述等待队列;每隔一个预设时间段,对所述待存储子数据进行重试转发;确定所述待存储子数据转发失败

[0018]可选地,所述方法还包括:将与所述待存储子数据同属于一个所述待存储数据的后续待存储子数据的数据状态码设置为失败状态;确定所述后续待存储子数据转发失败;结束对所述后续待存储子数据的转发流程;在所述后续待存储子数据对应的所述控制器节点对应的所述节点位图上添加所述转发失败标记

[0019]本申请实施例第二方面提供一种数据发送装置,所述装置包括:待存储数据发送模块,用于将待存储数据发送至控制器群组中任意一个控制器节点的数据转发层;数据区域确定模块,用于响应于所述待存储数据对应的存储卷为运行状态,确定所述待存储数据对应的数据区域;数据拆分模块,用于响应于所述待存储数据对应的所述数据区域为非单一数据区域,根据所述待存储数据对应本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种数据发送方法,其特征在于,所述方法包括:将待存储数据发送至控制器群组中任意一个控制器节点的数据转发层;响应于所述待存储数据对应的存储卷为运行状态,确定所述待存储数据对应的数据区域;响应于所述待存储数据对应的所述数据区域为非单一数据区域,根据所述待存储数据对应的所述数据区域,对所述待存储数据进行数据拆分,得到多个待存储子数据;响应于所述待存储子数据为待转发子数据,根据每个所述待存储子数据对应的所述数据区域,确定每个所述待存储子数据对应的索引节点号;将每个所述待存储子数据发送至目标控制器节点中,所述目标控制器节点是所述索引节点号对应的控制器节点
。2.
根据权利要求1所述的方法,其特征在于,在将待存储数据发送至控制器群组中任意一个控制器节点的数据转发层之前,所述方法还包括:在所述控制器群组中添加多个所述控制器节点;通过循环镜像的方式,对多个所述控制器节点进行结对,得到多个控制器节点对;在每个所述控制器节点对中指定一个所述控制器节点为主控制器节点
。3.
根据权利要求1所述的方法,其特征在于,所述方法还包括:响应于所述存储卷为非运行状态,将所述待存储数据放入等待队列中;响应于所述存储卷由所述非运行状态变更为所述运行状态,确定所述待存储数据对应的所述数据区域
。4.
根据权利要求1所述的方法,其特征在于,所述方法还包括:响应于所述待存储数据对应的所述数据区域为单一数据区域,确定所述待存储数据对应的传输路径是否为快速路径;当所述待存储数据对应的传输路径为快速路径时,将所述待存储数据直接传输至所述待存储数据对应的存储设备
。5.
根据权利要求4所述的方法,其特征在于,所述方法还包括:当所述存储数据对应的所述传输路径不是所述快速路径时,确定所述待存储数据对应的存储卷是否为非运行状态;当所述存储卷为非运行状态时,将所述待存储数据放入等待队列中
。6.
根据权利要求1所述的方法,其特征在于,在根据所述待存储数据对应的所述数据区域,对所述待存储数据进行数据拆分,得到多个待存储子数据之前,所述方法还包括:确定所述待存储数据对应的起始存储地址以及终止存储地址;根据所述起始存储地址与所述终止存储地址,确定所述待存储数据对应的所述数据区域是否为单一数据区域
。7.
根据权利要求6所述的方法,其特征在于,所述根据所述起始存储地址与所述终止存储地址,确定所述待存储数据对应的所述数据区域是否为单一数据区域,包括:将所述起始存储地址与所述终止存储地址与每个所述数据区域的预设起始地址和预设终止地址进行对比;当所述起始存储地址与所述终止存储地址位于同一个所述数据区域内时,确定所述待存储数据对应的所述数据区域为所述单一数据区域;
当所述起始存储地址与所述终止存储地址位于不同所述数据区域内时,确定所述待存储数据对应的所述数据区域为非单一数据区域
。8.
根据权利要求1所述的方法,其特征在于,所述根据所述待存储数据对应的所述数据区域,对所述待存储数据进行数据拆分,得到多个待存储子数据,包括:获取所述待存储数据对应的每个所述数据区域的起始地址以及终止地址;根据所述起始地址以及所述终止地址,将所述待存储数据拆分至每个所述数据区域中
。9.
根据权利要求1所述的方法,其特征在于,在根据每个所述待存储子数据对应的所述数据区域,确定每个所述待存储子数据对应的索引节点号之前,所述方法还包括:确定所述待存储子数据对应的所述数据区域中是否存在转发标志;当所述待存储子数据对应的所述数据区域中存在所述转发标志时,确定所述待存储子数据为所述待转...

【专利技术属性】
技术研发人员:肖诗淼邵雨恬刘志魁
申请(专利权)人:苏州元脑智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1