【技术实现步骤摘要】
数据读写的方法和设备
本公开的实施例涉及数据读写领域,并且更具体地,涉及数据读写的方法及设备。
技术介绍
在现有的存储系统中,存储系统通常能够接收多个读写请求。为了避免多个读写请求之间发生冲突,被执行的读写请求的目标区域将被锁定,同时因目标区域被部分锁定而挂起的读写请求的全部目标区域也将被锁定,这会造成某些实际未被读写的存储空间因为被锁定而无法被读写,从而影响了存储系统的整体响应速度。因为,如何在保证不发生读写请求冲突的前提下,提高存储系统的多个读写请求之间的并发程度成为一个关注焦点。
技术实现思路
本公开的实施例提供一种用于数据读写的方案。根据本公开的第一方面,提出了一种数据读写的方法。该方法包括:响应于接收到针对第一目标区域的第一读写请求,确定是否存在与该第一读写请求冲突的正在执行的第二读写请求,该第二读写请求所针对的第二目标区域与该第一目标区域至少部分地重叠且该第一读写请求和该第二读写请求中至少一个为写入请求;以及响应于确定存在冲突的该第二读写请求,挂起该第一读写请求而保持该第一目标区域中未与该第二目标区域重叠的子区域处于未锁定状态。根据本公开的第二方面,提出了一种数据写入的方法。该方法包括:响应于接收针对文件系统的第一写入请求,基于该文件系统的逻辑数据单位将该第一写入请求分裂成至少一个子请求;确定该至少一个子请求中是否存在所针对的数据块大小小于该逻辑数据单位的第一子请求;响应于确定存在该第一子请求,确定是否存在能够与该第一子请求合并的、当前正被挂起的第二写入请求;以及响应于确定存在该第二写入请求,将该第一子写入请求与该第二写入请求合并以便执行。根据本公 ...
【技术保护点】
1.一种数据读写的方法,包括:响应于接收到针对第一目标区域的第一读写请求,确定是否存在与所述第一读写请求冲突的正在执行的第二读写请求,所述第二读写请求所针对的第二目标区域与所述第一目标区域至少部分地重叠且所述第一读写请求和所述第二读写请求中至少一个为写入请求;以及响应于确定存在冲突的所述第二读写请求,挂起所述第一读写请求而保持所述第一目标区域中未与所述第二目标区域重叠的子区域处于未锁定状态。
【技术特征摘要】
1.一种数据读写的方法,包括:响应于接收到针对第一目标区域的第一读写请求,确定是否存在与所述第一读写请求冲突的正在执行的第二读写请求,所述第二读写请求所针对的第二目标区域与所述第一目标区域至少部分地重叠且所述第一读写请求和所述第二读写请求中至少一个为写入请求;以及响应于确定存在冲突的所述第二读写请求,挂起所述第一读写请求而保持所述第一目标区域中未与所述第二目标区域重叠的子区域处于未锁定状态。2.根据权利要求1所述的方法,还包括:响应于确定不存在冲突的所述第二读写请求,执行所述第一读写请求而不检测所述第一读写请求与目前被挂起的其他读写请求是否存在冲突。3.根据权利要求1所述的方法,还包括:响应于第一读写请求完成,仅激活当前等待的且与第一读写请求冲突的请求。4.根据权利要求1所述的方法,还包括:响应于在所述第一读写请求之后接收到与所述第一读写请求相冲突的第三读写请求并且所述第三读写请求先于所述第一读写请求被执行,递增与所述第一读写请求相关联的计数器;以及响应于所述计数器的值达到预定阈值,提升所述第一读写请求的执行优先级。5.根据权利要求4所述的方法,还包括:响应于接收到第四读写请求,其中所述第四读写请求的第四目标区域与所述第一目标区域至少部分地重叠,且所述第四目标区域可用;比较所述第一读写请求与第四读写请求的优先级;以及响应于第四读写请求的所述优先级低于所述第一读写请求的所述优先级,挂起所述第四读写请求。6.一种数据写入的方法,包括:响应于接收针对文件系统的第一写入请求,基于所述文件系统的逻辑数据单位将所述第一写入请求分裂成至少一个子请求;确定所述至少一个子请求中是否存在所针对的数据块大小小于所述逻辑数据单位的第一子请求;响应于确定存在所述第一子请求,确定是否存在能够与所述第一子请求合并的、当前正被挂起的第二写入请求;以及响应于确定存在所述第二写入请求,将所述第一子写入请求与所述第二写入请求合并以便执行。7.根据权利要求6所述的方法,其中基于所述文件系统的所述逻辑数据单位将所述第一写入请求分裂成所述至少一个子请求包括:获取所述逻辑数据单位的偏移量;以及以所述偏移量作为所述目标区域的分割点而将所述目标区域分裂成一个或多个子区域,所述每个所述子区域对应于每个所述子请求。8.根据权利要求6所述的方法,其中确定是否存在能够与所述第一子请求合并的所述第二写入请求包括:获取第一子请求的第一目标区域;获取所述第二写入请求的第二目标区域;确定所述第一目标区域与所述第二目标区域是否邻接;响应于所述第一目标区域与所述第二目标区域邻接,确定所述第一目标区域与所述第二目标区域的合并是否落在单个所述逻辑数据单位内;以及响应于所述合并落在单个所述逻辑数据单位内,确定所述第二写入请求能够与第一子请求合并。9.根据权利要求8所述的方法,其中确定是否存在能够与所述第一子请求合并的所述第二写入请求还包括:响应于所述第一目标区域与所述第二目标区域的合并落在单个所述逻辑数据单位内,确定所述第一目标区域与所述第二目标区域的合并占单个所述逻辑数据单位大小的比值;确定所述比值是否达到预设的比值阈值;以及响应于所述比值达到所述比值阈值,确定所述第二写入请求能够与第一子请求合并。10.一种电子设备,包括:至少一个处理单元;至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理单元并且存储用于由所述至少一个处理单元执行的指令,所述指令当由所述至少一个处理单元执行时,使得所述设备执行动作,所述动作包括:响应于接收到针对第一目标区域的第一读写请求,确定是否存在与所述第...
【专利技术属性】
技术研发人员:赵彬,胡国玉,吴俊,吕烁,周巧生,张明,
申请(专利权)人:伊姆西IP控股有限责任公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。