当前位置: 首页 > 专利查询>伊姆西公司专利>正文

用于管理数据访问的方法及装置制造方法及图纸

技术编号:15791492 阅读:302 留言:0更新日期:2017-07-09 21:16
本公开的实施例公开了一种用于管理数据访问的方法及装置。该方法包括:接收数据写请求,其中该写请求用于将数据写入一个或多个存储块;在确定特定的存储块不可用时,将需要被写入特定的存储块的数据写入与特定存储块对应的虚拟存储块;以及在确定特定的存储块变为可用时,将虚拟存储块存储的数据拷贝到特定的存储块。本公开的实施例还公开了相应的装置。本公开的实施例通过在数据访问操作中引入虚拟存储块,实现了多个写操作的并行数据传送,极大提升了系统数据写性能。同时,通过提出的数据加锁顺序方案,本公开的实施例还能避免数据访问可能产生的死锁现象。

【技术实现步骤摘要】
用于管理数据访问的方法及装置
本公开的实施例总体上涉及存储
,具体地,涉及用于管理数据访问的方法及装置。
技术介绍
在数据读写处理中,读写操作对存储设备进行访问,然而存储设备例如磁盘、磁盘阵列、缓存等是IO最慢的设备,数据拷贝耗时。同时,数据访问场景下,多用户操作和多线程应用非常广泛,进程并发时需要用锁来控制实现串行化。这些因素都导致数据系统的性能下降。为了改善上述串行化的数据访问方式,一种直观的方案是例如减小磁盘管理单位,从而降低读写操作中多个请求冲突的机会,然而,如果是小读写数据,该方案并不可扩展,另外,存储设备的消耗和管理开销也将大幅增加。因此,需要对现有的数据读写性能进一步优化。
技术实现思路
本公开的实施例通过将虚拟存储块的概念引入到数据写操作,提出一种优化数据访问和写操作性能的方案,实现多个写操作的并行数据传送。根据本公开的第一方面,提供一种用于管理数据访问的方法,包括:接收数据写请求,其中该写请求用于将数据写入一个或多个存储块;在确定特定的存储块不可用时,将需要被写入特定存储块的数据写入与特定存储块对应的虚拟存储块;以及在确定特定的存储块变为可用时,将虚拟存储块存储的数据拷贝到特定的存储块。根据本公开的实施例,该方法还包括:基于写请求,按照顺序获取多个存储块。根据本公开的实施例,所述顺序包括逻辑块地址的升序或降序。根据本公开的实施例,在确定特定的存储块不可用时,将需要被写入特定存储块的数据写入与特定存储块对应的虚拟存储块包括:按照逐个的顺序确定需要写入数据的存储块是否可用;将可用的存储块加锁;在确定特定的存储块不可用时,创建与特定的存储块对应的虚拟存储块;创建与需要写入后续数据的存储块对应的虚拟存储块;以及将数据分别写入可用的存储块以及虚拟存储块。根据本公开的实施例,在确定特定的存储块变为可用时,将虚拟存储块存储的数据拷贝到特定的存储块包括:响应于确定特定的存储块可用,对特定的存储块加锁,以将虚拟存储块存储的数据拷贝到特定的存储块。根据本公开的实施例,该方法进一步包括:响应于完成将数据写入一个或多个存储块,对一个或多个存储块解锁。根据本公开的实施例,每个存储块包含相同数目的逻辑页。根据本公开的实施例,在确定特定的存储块不可用时,将需要被写入特定存储块的数据写入与特定存储块对应的虚拟存储块包括:创建与特定的存储块相对应的虚拟存储块;以及从存储池中分配与虚拟存储块大小对应的逻辑页,并将需要被写入特定存储块的数据写入分配的逻辑页。根据本公开的实施例,在确定所述特定的存储块变为可用时,将虚拟存储块存储的数据拷贝到特定的存储块包括:将虚拟存储块迁移至特定存储块,或者将虚拟存储块存储的数据合并到特定的存储块。根据本公开的第二方面,提供一种用于管理数据访问的装置,包括:接收单元,被配置为接收数据写请求,其中该写请求用于将数据写入一个或多个存储块;以及数据访问控制单元,被配置为在确定特定的存储块不可用时,将需要被写入特定存储块的数据写入与特定存储块对应的虚拟存储块;以及在确定特定的存储块变为可用时,将虚拟存储块存储的数据拷贝到特定的存储块。根据本公开的实施例,数据访问控制单元进一步被配置为,基于写请求,按照顺序获取多个存储块。根据本公开的实施例,其中所述顺序包括逻辑块地址的升序或降序。根据本公开的实施例,数据访问控制单元进一步被配置为,按照逐个的顺序确定需要写入数据的存储块是否可用;将可用的存储块加锁;在确定特定的存储块不可用时,创建与特定的存储块对应的虚拟存储块;创建与需要写入后续数据的存储块对应的虚拟存储块;以及将数据分别写入可用的存储块以及虚拟存储块。根据本公开的实施例,数据访问控制单元进一步被配置为,响应于确定特定的存储块可用,对特定的存储块加锁,以将虚拟存储块存储的数据拷贝到特定的存储块。根据本公开的实施例,数据访问控制单元进一步被配置为,响应于完成将数据写入一个或多个存储块,对一个或多个存储块解锁。根据本公开的实施例,每个存储块包含相同数目的逻辑页。根据本公开的实施例,数据访问控制单元进一步被配置为,创建与特定的存储块相对应的虚拟存储块;以及从存储池中分配与虚拟存储块大小对应的逻辑页,并将需要被写入特定存储块的数据写入分配的逻辑页。根据本公开的实施例,数据访问控制单元进一步被配置为,将虚拟存储块迁移至特定存储块,或者将虚拟存储块存储的数据合并到特定的存储块。根据本公开的第三方面,提供一种计算机可读存储介质,具有存储在其上的计算机可读程序指令,所述计算机可读程序指令用于执行本公开的实施例的管理数据访问的方法。根据本公开的第四方面,提供一种存储系统,其包括上述的根据本公开实施例的管理数据访问的装置。通过在数据访问中引入虚拟存储块,实现了多个写操作的并行数据传送。由于写操作最耗时的部分被并行执行,极大提升了数据写性能。进一步地,通过引入新的数据加锁顺序方案,本公开的实施例还能避免可能产生的死锁现象。附图说明通过参考下列附图所给出的对非限制性实施例的详细描述,将更好地理解本公开的实施例,并且本公开的实施例的其他目的、细节、特点和优点将变得更明显。在附图中:图1是示出一种典型单个写操作IO流程图;图2是示出根据本公开的实施例的用于管理数据访问的方法流程图;图3是示出根据本公开的实施例的单个写操作IO流程图;图4是示出根据本公开的实施例避免死锁方法的示意图;以及图5是示出根据本公开的实施例的用于管理数据访问的装置示意图。具体实施方式现将结合附图对本公开的实施例进行具体的描述。所附附图仅仅通过示例的方式示出了能够实现本公开的特定的实施例,示例的实施例并不旨在穷尽根据本公开的所有实施例。本领域的技术人员可以在不偏离本公开的实施例精神和保护范围的基础上从下述描述得到替代的实施方式,进行结构性或者逻辑性的修改。因此,以下的具体描述并非限制性的,且本公开的实施例的范围由所附的权利要求所限定。需要说明的是,尽管附图中以特定顺序描述了本公开的实施例中有关方法的步骤,但是这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果,相反,本文中所描述的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。如前所述,本公开的实施例旨在提供一种优化数据访问性能的方案。在不同类型的存储设备中,由于缓存运行速度快,能够进行高速数据交换,其被广泛应用,更具体地,例如数据处理系统中广泛应用大的动态随机访问存储器(RAM)作为来自或到物理磁盘的数据缓存,但对其进行数据写操作同样存在前述的问题。为了便于描述,现以存储介质为缓存为例,详细描述本公开的原理和精神,但应该理解的是,本领域技术人员根据现有技术以及本领域的公知常识容易知晓在本公开的各个实施例中数据写操作如何对其他存储介质访问。考虑到数据处理效率和便于管理的目的,缓存通常被分为固定大小的缓存页,例如8k大小的缓存页。缓存页存储一组相邻磁盘分区数据,是最小的缓存管理单位。缓存逻辑页(CLP)由多个缓存页(例如8个)组成,用于存储更大片的连续磁盘数据。CLP是磁盘数据的基本管理单位,它在磁盘上维系缓存页和数据之间的映射。另外,除了存储和磁盘映射,CL本文档来自技高网...
用于管理数据访问的方法及装置

【技术保护点】
一种用于管理数据访问的方法,包括:接收数据写请求,其中所述写请求用于将数据写入一个或多个存储块;在确定特定的存储块不可用时,将需要被写入所述特定存储块的数据写入与所述特定存储块对应的虚拟存储块;以及在确定所述特定的存储块变为可用时,将所述虚拟存储块存储的数据拷贝到所述特定的存储块。

【技术特征摘要】
1.一种用于管理数据访问的方法,包括:接收数据写请求,其中所述写请求用于将数据写入一个或多个存储块;在确定特定的存储块不可用时,将需要被写入所述特定存储块的数据写入与所述特定存储块对应的虚拟存储块;以及在确定所述特定的存储块变为可用时,将所述虚拟存储块存储的数据拷贝到所述特定的存储块。2.根据权利要求1所述的方法,还包括:基于所述写请求,按照顺序获取多个存储块。3.根据权利要求2所述的方法,其中所述顺序包括逻辑块地址的升序或降序。4.根据权利要求2所述的方法,其中在确定特定的存储块不可用时,将需要被写入所述特定存储块的数据写入与所述特定存储块对应的虚拟存储块包括:按照逐个的顺序确定需要写入数据的存储块是否可用;将可用的存储块加锁;在确定所述特定的存储块不可用时,创建与所述特定存储块对应的虚拟存储块;创建与需要写入后续数据的存储块对应的虚拟存储块;以及将所述数据分别写入所述可用的存储块以及所述虚拟存储块。5.根据权利要求1所述的方法,其中在确定所述特定的存储块变为可用时,将所述虚拟存储块存储的数据拷贝到所述特定的存储块包括:响应于确定所述特定的存储块可用,对所述特定的存储块加锁,以将所述虚拟存储块存储的数据拷贝到所述特定的存储块。6.根据权利要求1所述的方法,进一步包括:响应于完成将所述数据写入所述一个或多个存储块,对所述一个或多个存储块解锁。7.根据权利要求1所述的方法,其中每个存储块包含相同数目的逻辑页。8.根据权利要求7所述的方法,其中在确定特定的存储块不可用时,将需要被写入所述特定存储块的数据写入与所述特定存储块对应的虚拟存储块包括:创建与所述特定的存储块相对应的虚拟存储块;以及从存储池中分配与所述虚拟存储块大小对应的逻辑页,并将所述需要被写入所述特定存储块的数据写入所述分配的逻辑页。9.根据权利要求1所述的方法,其中在确定所述特定的存储块变为可用时,将所述虚拟存储块存储的数据拷贝到所述特定的存储块包括:将所述虚拟存储块迁移至所述特定存储块,或者将所述虚拟存储块存储的数据合并到所述特定的存储块。10.一种用于管理数据访问的装置,包括:接收单元...

【专利技术属性】
技术研发人员:贾瑞勇高健杨利锋徐鑫磊董继炳
申请(专利权)人:伊姆西公司
类型:发明
国别省市:美国,US

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

1