CN102981782B - 数据处理方法及装置 - Google Patents
数据处理方法及装置 Download PDFInfo
- Publication number
- CN102981782B CN102981782B CN201210494666.8A CN201210494666A CN102981782B CN 102981782 B CN102981782 B CN 102981782B CN 201210494666 A CN201210494666 A CN 201210494666A CN 102981782 B CN102981782 B CN 102981782B
- Authority
- CN
- China
- Prior art keywords
- address
- data
- storage array
- storage pool
- written
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据处理方法及装置,属于计算机技术领域。方法包括:接收主机发送的携带有待写数据及对应的存储阵列地址的写数据请求;根据预先设置的映射表查询存储阵列地址是否存在相对应的共享存储池地址,映射表用于记录存储阵列地址与共享存储池地址之间的映射关系;如果是,则根据对应的共享存储池地址将待写数据写入共享存储池;如果否,则根据对应的存储阵列地址将待写数据写入对应的存储阵列。本发明通过根据预先设置的映射表查询存储阵列地址是否存在对应的共享存储池地址,根据查询结果将待写数据写入共享存储池或对应的存储阵列,避免了因对应存储阵列无足够存储空间而导致存储待写数据失败的情况,进而保证主机业务运行的连续性。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种数据处理方法及装置。
背景技术
随着计算机技术的不断发展和用户业务量的日益增多,用户的存储数据量呈飞速增长趋势。而用户前期规划的存储空间可能已无法满足其日益增长的存储数据需求,为保证用户业务的连续性,如何进行数据处理成为了计算机领域的一个关键问题。
现有技术中,存储序列通过使用TP(ThinProvisioning,自动精简配置)功能为主机分配比实际物理存储空间大的虚拟存储空间,当存储数据使用的空间超过主机实际物理存储空间时,会通过预警机制提醒用户扩充物理存储空间以便后续进行数据处理。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
如果主机实际物理存储空间不足而用户又未及时扩充物理存储空间,则后续在进行数据处理时,会出现存储数据失败的情况;进一步地,在用户为主机扩充物理存储空间时,还可能会出现无法找到符合扩充规格要求的硬盘的情况,从而无法实现后续数据处理,进而导致用户业务中断。
发明内容
为了解决现有技术存在的问题,本发明实施例提供了一种数据处理方法及装置。所述技术方案如下:
第一方面,提供了一种数据处理方法,所述方法包括:
接收主机发送的携带有待写数据及对应的存储阵列地址的写数据请求;
根据预先设置的映射表查询所述存储阵列地址是否存在相对应的共享存储池地址,所述映射表用于记录存储阵列地址与共享存储池地址之间的映射关系;
如果是,则根据对应的共享存储池地址将所述待写数据写入共享存储池;
如果否,则根据对应的存储阵列地址将所述待写数据写入对应的存储阵列。
在第一方面的第一种可能的实现方式中,所述根据对应的共享存储池地址将所述待写数据写入共享存储池之后,所述方法还包括:
如果检测到所述写数据请求中携带的存储阵列地址所对应的存储阵列具有空闲存储空间,则将所述待写数据由共享存储池迁移至对应的存储阵列。
结合第一方面,在第二种可能的实现方式中,所述根据对应的存储阵列地址将所述待写数据写入对应的存储阵列之后,所述方法还包括:
如果检测到所述对应的存储阵列分配空间失败,则将所述待写数据重定向到共享存储池,并在所述映射表中记录所述共享存储池地址与所述对应的存储阵列地址之间的映射关系。
结合第一方面,在第三种可能的实现方式中,所述根据对应的共享存储池地址将所述待写数据写入共享存储池或根据对应的存储阵列地址将所述待写数据写入对应的存储阵列之后,所述方法还包括:
接收主机发送的携带请求访问的存储阵列地址的读数据请求;
根据所述预先设置的映射表查询所述请求访问的存储阵列地址是否存在相对应的共享存储池地址;
如果是,则根据对应的共享存储池地址向所述共享存储池读取数据;
如果否,则根据所述请求访问的存储阵列地址向对应的存储阵列读取数据。
结合第一方面或第一方面的第一种可能的实现方式或第二种可能的实现方式或第三种可能的实现方式,所述接收主机发送的携带有待写数据及对应的存储阵列地址的写数据请求之前,所述方法还包括:
预先设置存储阵列地址与共享存储池地址之间的映射关系,并将所述映射关系记录在所述映射表中。
第二方面,提供了一种数据处理装置,所述装置包括:
接收模块,用于接收主机发送的携带有待写数据及对应的存储阵列地址的写数据请求;
查询模块,用于根据预先设置的映射表查询所述接收模块接收到的存储阵列地址是否存在相对应的共享存储池地址,所述映射表用于记录存储阵列地址与共享存储池地址之间的映射关系;
第一处理模块,用于如果所述查询模块查询到对应的共享存储池地址,则根据对应的共享存储池地址将所述待写数据写入共享存储池;
第二处理模块,用于如果所述查询模块未查询到对应的共享存储池地址,则根据对应的存储阵列地址将所述待写数据写入对应的存储阵列。
在第二方面的第一种可能的实现方式中,所述第二处理模块,还用于如果检测到所述写数据请求中携带的存储阵列地址所对应的存储阵列具有空闲存储空间,则将所述待写数据由共享存储池迁移至对应的存储阵列。
结合第二方面,在第二种可能的实现方式中,所述第一处理模块,还用于如果检测到所述对应的存储阵列分配空间失败,则将所述待写数据重定向到共享存储池,并在所述映射表中记录所述共享存储池地址与所述对应的存储阵列地址之间的映射关系。
结合第二方面,在第三种可能的实现方式中,所述接收模块,还用于接收主机发送的携带请求访问的存储阵列地址的读数据请求;
所述查询模块,还用于根据所述预先设置的映射表查询所述接收模块接收到的请求访问的存储阵列地址是否存在相对应的共享存储池地址;
所述第一处理模块,还用于如果所述查询模块查询到对应的共享存储池地址,则根据对应的共享存储池地址向所述共享存储池读取数据;
所述第二处理模块,还用于如果所述查询模块未查询到对应的共享存储池地址,则根据所述请求访问的存储阵列地址向对应的存储阵列读取数据。
结合第一方面或第一方面的第一种可能的实现方式或第二种可能的实现方式或第三种可能的实现方式,所述装置还包括:
预设模块,用于预先设置存储阵列地址与共享存储池地址之间的映射关系;
记录模块,用于将所述预设模块设置的映射关系记录在所述映射表中。
本发明实施例提供的技术方案带来的有益效果是:
通过根据预先设置的映射表查询存储阵列地址是否存在相对应的共享存储池地址,根据查询结果将待写数据写入共享存储池或对应的存储阵列,从而可在存储阵列的物理空间不足而无法动态分配新的存储空间时,将待写数据重定向到共享存储池,避免了因对应的存储阵列没有足够的空闲存储空间从而导致存储待写数据失败的情况,进而保证主机业务运行的连续性;另外,因不依赖于原有阵列的存储空间,所以存储资源的扩容增长不再受原有阵列的硬件限制。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的一种数据处理的方法流程图;
图2是本发明实施例二提供的一种数据存储***的结构示意图;
图3是本发明实施例二提供的另一种数据存储***的结构示意图;
图4是本发明实施例二提供的一种数据处理的方法流程图;
图5是本发明实施例二提供的一种写数据的处理流程图;
图6是本发明实施例二提供的一种读数据的处理流程图;
图7是本发明实施例三提供的一种数据处理装置的结构示意图;
图8是本发明实施例三提供的另一种数据处理装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
本发明实施例提供了一种数据处理方法,参见图1,方法流程包括:
步骤101:接收主机发送的携带有待写数据及对应的存储阵列地址的写数据请求;
步骤102:根据预先设置的映射表查询存储阵列地址是否存在相对应的共享存储池地址,映射表用于记录存储阵列地址与共享存储池地址之间的映射关系;如果是,则执行步骤103;如果否,则执行步骤104;
步骤103:根据对应的共享存储池地址将待写数据写入共享存储池;
进一步地,根据对应的共享存储池地址将待写数据写入共享存储池之后,该方法还包括:
如果检测到写数据请求中携带的存储阵列地址所对应的存储阵列具有空闲存储空间,则将待写数据由共享存储池迁移至对应的存储阵列。
步骤104:根据对应的存储阵列地址将待写数据写入对应的存储阵列。
进一步地,根据对应的存储阵列地址将待写数据写入对应的存储阵列之后,该方法还包括:
如果检测到对应的存储阵列分配空间失败,则将待写数据重定向到共享存储池,并在映射表中记录共享存储池地址与对应的存储阵列地址之间的映射关系。
进一步地,根据对应的共享存储池地址将待写数据写入共享存储池或根据对应的存储阵列地址将待写数据写入对应的存储阵列之后,该方法还包括:
接收主机发送的携带请求访问的存储阵列地址的读数据请求;
根据预先设置的映射表查询请求访问的存储阵列地址是否存在相对应的共享存储池地址;
如果是,则根据对应的共享存储池地址向共享存储池读取数据;
如果否,则根据请求访问的存储阵列地址向对应的存储阵列读取数据。
进一步地,接收主机发送的携带有待写数据及对应的存储阵列地址的写数据请求之前,该方法还包括:
预先设置存储阵列地址与共享存储池地址之间的映射关系,并将映射关系记录在映射表中。
本实施例提供的方法,通过根据预先设置的映射表查询存储阵列地址是否存在相对应的共享存储池地址,根据查询结果将待写数据写入共享存储池或对应的存储阵列,从而可在存储阵列的物理空间不足而无法动态分配新的存储空间时,将待写数据重定向到共享存储池,避免了因对应的存储阵列没有足够的空闲存储空间从而导致存储待写数据失败的情况,进而保证主机业务运行的连续性;另外,因不依赖于原有阵列的存储空间,所以存储资源的扩容增长不再受原有阵列的硬件限制。进一步地,在将待写数据写入共享存储池之后,如果检测到对应存储阵列存在空闲存储空间,又可将待写数据迁移至对应的存储阵列,所以存储数据的方式更具灵活性。
实施例二
本发明实施例提供了一种数据处理方法,结合上述实施例一的内容,本实施例以如图2所示的数据存储***中,存储网关执行数据处理的方法为例,对本实施例提供的方法进行举例说明。图2中,存储网关管理来自若干个存储阵列的存储空间,并以资源池的形式管理和重分配,以向主机提供存储服务。如图2所示,存储网关为主机A、主机B和主机C等提供存储空间,而每个主机对应存储网关中的一个存储池,每个存储池对应各自的LUN(LogicUnitNumber,存储块逻辑单元编号),并被映射为对应的存储阵列,存储阵列可映射激活TP(ThinProvisioning,自动精简配置)功能的LUN给存储网关。在对数据进行处理时,如图3所示的***结构,主机可向存储网关发送读写请求,该读写请求对应存储网关中的存储池,存储网关通过空间映射管理、空间重定向或映射LUN等方式进行数据处理。接下来,结合图2和图3所示的***结构,对本实施例提供的方法进行详细说明。参见图4,本实施例提供的方法流程包括:
步骤201:预先设置存储阵列地址与共享存储池地址之间的映射关系,并将映射关系记录在映射表中;
针对该步骤,为了能够更好地进行数据处理,使所有待写数据都能成功存储,本实施例提供的方法会预先为存储阵列地址设置相应的映射地址,即共享存储池地址,并将二者之间的映射关系记录在映射表中。其中,为存储阵列地址设置共享存储池地址的具体实现方式可依据现有的设置映射关系的方式实现,本实施例对此不作具体限定。
其中,该步骤中预先设置的存储阵列地址与共享存储池地址之间的映射关系可以为之前执行数据处理时得到的映射关系,具体得到该映射关系的方式可参见本实施例提供的后续方法步骤,此处暂不赘述。当预先设置存储阵列地址与共享存储池地址之间的映射关系,并将映射关系记录在映射表中之后,后续再执行该方法时可直接使用该映射表,即在每次执行本实施例提供的方法时无需每次均执行该步骤,仅在映射关系有更新时,对映射表进行更新即可。接下来,为了便于说明,现结合图5对本实施例提供的方法进行详细阐述。
步骤202:接收主机发送的携带有待写数据及对应的存储阵列地址的写数据请求;
具体地,接收主机发送的写数据请求的具体实现方式可依据现有的接收数据方式实现,本实施例对此不作具体限定。其中,该写数据请求中除了携带待写数据及对应的存储阵列地址外,还可以携带其他信息,例如,待写数据所需的存储空间大小等等,本实施例对写数据请求中携带的具体内容不进行限定。
步骤203:根据预先设置的映射表查询存储阵列地址是否存在相对应的共享存储池地址,映射表用于记录存储阵列地址与共享存储池地址之间的映射关系;如果是,则执行步骤204;如果否,则执行步骤206;
针对该步骤,根据上述步骤201中预先设置的映射表查询上述步骤202中接收到的写数据请求中携带的待写数据对应的存储阵列地址是否存在与其相对应的共享存储池地址,如果是,则执行下述步骤204;如果否,则执行下述步骤206;其中,在映射表中查询该待写数据对应的存储阵列地址是否存在相对应的共享存储池地址的具体实现方式可依据现有的查询方式实现,例如,根据该待写数据对应的存储阵列地址从映射表的第一行开始依次进行比对查询,如果在查询的过程中,发现该待写数据对应的存储阵列地址存在相应的映射关系,则判断该待写数据对应的存储阵列地址存在与其相对应的共享存储池地址;如果遍历整个映射表也不能够查询到该待写数据对应的存储阵列地址的相应的映射关系,则判断该待写数据对应的存储阵列地址不存在与其相对应的共享存储池地址。
步骤204:根据对应的共享存储池地址将待写数据写入共享存储池;
具体地,如果根据上述步骤203在预先设置的映射表中查询到写数据请求中携带的待写数据对应的存储阵列地址存在对应的共享存储池地址,则此时该待写数据对应的存储阵列可能没有足够的空闲存储空间存储该待写数据,所以此时根据对应的共享存储池地址将该待写数据直接写入共享存储池,以避免直接将该待写数据写入对应的存储阵列,而对应的存储阵列又没有足够的空闲存储空间存储该待写数据,从而出现存储数据失败的情况。例如,假设预先设置了映射表A,且映射表A中存储了存储阵列地址B与共享存储池地址C之间的映射关系,当检测到有数据要写入存储阵列地址B对应的存储阵列时,如果此时存储阵列地址B对应的存储阵列没有足够的存储空间存储当前待写数据,则查询映射表A,根据映射表A中记录的存储阵列地址B与共享存储池地址C之间的映射关系将该待写入的数据存储至共享存储池中。
其中,本实施例不对将待写数据写入共享存储池的具体实现方式进行限定,例如,在标注待写数据所需的存储空间、存储待写数据的时间后,可将该待写数据存储在共享存储池中。
进一步地,将待写数据写入共享存储池后,写数据的处理流程可至此结束。但由于共享存储池为重定向空间,用于动态存储数据,因而将待写数据写入共享存储池之后,本实施例提供的方法还支持在对应的存储阵列具有空闲存储空间时,将写入共享存储池中的数据迁移至存储阵列的过程,以释放共享存储池的存储空间,该过程的具体实现方式详见后续步骤205。
步骤205:如果检测到写数据请求中携带的存储阵列地址所对应的存储阵列具有空闲存储空间,则将待写数据由共享存储池迁移至对应的存储阵列,执行步骤208;
针对该步骤,在根据上述步骤204将该待写数据写入至共享存储池后,可每隔预设时间自动检测写数据请求中携带的存储阵列地址所对应的存储阵列是否具有空闲存储空间,例如,每隔预设时间可通过网管协议或SCSI(SmallComputerSystemInterface,小型计算机***接口)命令查询写数据请求中携带的存储阵列地址所对应的存储阵列是否已经扩容或者存储的资源是否被释放。如果检测到写数据请求中携带的存储阵列地址所对应的存储阵列具有空闲存储空间,则将该待写数据由共享存储池迁移至对应的存储阵列中,从而释放共享存储池的存储空间。其中,预设时间的大小具体可为1分钟,当然,预设时间除上述数值外,还可以为其他数值,例如,5分钟等等,本实施例对预设时间的大小不作具体限定。进一步地,将该待写数据由共享存储池迁移至对应的存储阵列的具体实现方式可依据现有的迁移方式实现,例如,将该待写数据压缩后迁移至对应的存储阵列后再解压缩,本实施例对此不作具体限定。
另外,在经过上述步骤204的写数据操作以及该步骤205的数据迁移操作之后,在此基础之上,本实施例提供的方法还支持读数据的操作,具体参见后续步骤208。
步骤206:根据对应的存储阵列地址将待写数据写入对应的存储阵列;
具体地,如果根据上述步骤203在预先设置的映射表中查询到写数据请求中携带的待写数据对应的存储阵列地址不存在对应的共享存储池地址,则此时该待写数据对应的存储阵列可能有足够的空闲存储空间存储该待写数据,所以根据对应的存储阵列池地址将该待写数据直接写入对应的存储阵列。
其中,本实施例同样不对将待写数据写入对应的存储阵列的具体实现方式进行限定。例如,在标注待写数据所需的存储空间、存储待写数据的时间后,将该待写数据存储在对应的存储阵列中。
进一步地,将待写数据写入对应的存储阵列之后,如果该对应的存储阵列分配空间失败,为了保证写数据的成功操作,本实施例提供的方法针对存储阵列分配空间失败的情况,还提供了解决方案,具体参见后续步骤207。
步骤207:如果检测到对应的存储阵列分配空间失败,则将待写数据重定向到共享存储池,并在映射表中记录共享存储池地址与对应的存储阵列地址之间的映射关系;
具体地,在根据上述步骤206将待写数据写入对应的存储阵列后,如果检测到该对应的存储阵列分配空间失败,即该对应的存储阵列没有足够的空闲存储空间将该待写数据存储,则直接将该待写数据重定向到共享存储池,并在映射表中记录共享存储池地址与该对应的存储阵列地址之间的映射关系。
进一步地,接收主机发送的携带有待写数据及对应的存储阵列地址的写数据请求,并将待写数据存储至共享存储池或对应的存储阵列后,本实施例提供的方法还支持接收主机发送的携带请求访问的存储阵列地址的读数据请求,并对该读数据请求进行处理的方法,为了便于说明,现结合图6,对本实施例提供的处理读数据请求方法进行详细说明。
进一步地,在经过上述步骤206的写数据操作以及该步骤207的写数据失败的处理操作之后,在此基础之上,本实施例提供的方法还支持读数据的操作,具体参见后续步骤208。
步骤208:接收主机发送的携带请求访问的存储阵列地址的读数据请求;
针对该步骤,接收主机发送的读数据请求的具体实现方式可依据现有的接收数据方式实现,本实施例对此不作具体限定。其中,读数据请求中除了携带请求访问的存储阵列地址外,还可携带其他信息,例如,待读取数据的一些描述性信息等等,本实施例对读数据请求携带的具体信息不进行限定。
步骤209:根据预先设置的映射表查询请求访问的存储阵列地址是否存在相对应的共享存储池地址;如果是,则执行步骤210;如果否,则执行步骤211;
针对该步骤,首先根据上述步骤201中预先设置的映射表查询上述步骤208中接收到的读数据请求中携带的请求访问的存储阵列地址是否存在相对应的共享存储池地址,如果是,则执行下述步骤210;如果否,则执行下述步骤211;其中,在映射表中查询该请求访问的存储阵列地址是否存在相对应的共享存储池地址的具体实现方式可依据现有的查询方式实现,例如,根据该请求访问的存储阵列地址从映射表的第一行开始依次进行比对查询,如果在查询的过程中,发现该请求访问的存储阵列地址存在相应的映射关系,则判断该请求访问的存储阵列地址存在与其相对应的共享存储池地址;如果遍历整个映射表也不能够查询到该请求访问的存储阵列地址的相应的映射关系,则判断该请求访问的存储阵列地址不存在与其相对应的共享存储池地址。
步骤210:根据对应的共享存储池地址向共享存储池读取数据,流程结束;
具体地,如果根据上述步骤209查询到该请求访问的存储阵列地址存在相对应的共享存储池地址,则根据对应的共享存储池地址向共享存储池读取数据。
其中,向共享存储池读取数据的具体实现方式,可依据现有的读取数据方式实现,本实施例对此不作具体限定。
步骤211:根据请求访问的存储阵列地址向对应的存储阵列读取数据,流程结束。
具体地,如果根据上述步骤209查询到该请求访问的存储阵列地址不存在相对应的共享存储池地址,则根据请求访问的存储阵列地址向对应的存储阵列读取数据。
其中,向存储阵列读取数据的具体实现方式,可依据现有的读取数据方式实现,本实施例对此不作具体限定。
本实施例提供的方法,通过根据预先设置的映射表查询存储阵列地址是否存在相对应的共享存储池地址,根据查询结果将待写数据写入共享存储池或对应的存储阵列,从而可在存储阵列的物理空间不足而无法动态分配新的存储空间时,将待写数据重定向到共享存储池,避免了因对应的存储阵列没有足够的空闲存储空间从而导致存储待写数据失败的情况,进而保证主机业务运行的连续性;另外,因不依赖于原有阵列的存储空间,所以存储资源的扩容增长不再受原有阵列的硬件限制。进一步地,在将待写数据写入共享存储池之后,如果检测到对应存储阵列存在空闲存储空间,又可将待写数据迁移至对应的存储阵列,所以存储数据的方式更具灵活性。
实施例三
本发明实施例提供了一种数据处理装置,用来执行上述实施例一或实施例二所述的方法,参见图7,该装置70包括:
接收模块71,用于接收主机发送的携带有待写数据及对应的存储阵列地址的写数据请求;
查询模块72,用于根据预先设置的映射表查询接收模块71接收到的存储阵列地址是否存在相对应的共享存储池地址,映射表用于记录存储阵列地址与共享存储池地址之间的映射关系;
第一处理模块73,用于如果查询模块72查询到对应的共享存储池地址,则根据对应的共享存储池地址将待写数据写入共享存储池;
第二处理模块74,用于如果查询模块72未查询到对应的共享存储池地址,则根据对应的存储阵列地址将待写数据写入对应的存储阵列。
进一步地,第二处理模块74,还用于如果检测到写数据请求中携带的存储阵列地址所对应的存储阵列具有空闲存储空间,则将待写数据由共享存储池迁移至对应的存储阵列。
进一步地,第一处理模块73,还用于如果检测到对应的存储阵列分配空间失败,则将待写数据重定向到共享存储池,并在映射表中记录共享存储池地址与对应的存储阵列地址之间的映射关系。
进一步地,接收模块71,还用于接收主机发送的携带请求访问的存储阵列地址的读数据请求;
查询模块72,还用于根据预先设置的映射表查询接收模块51接收到的请求访问的存储阵列地址是否存在相对应的共享存储池地址;
第一处理模块73,还用于如果查询模块72查询到对应的共享存储池地址,则根据对应的共享存储池地址向共享存储池读取数据;
第二处理模块74,还用于如果查询模块72未查询到对应的共享存储池地址,则根据请求访问的存储阵列地址向对应的存储阵列读取数据。
进一步地,参见图8,该装置70还包括:
预设模块75,用于预先设置存储阵列地址与共享存储池地址之间的映射关系;
记录模块76,用于将预设模块76设置的映射关系记录在映射表中。
综上所述,本发明实施例提供的装置,通过根据预先设置的映射表查询存储阵列地址是否存在相对应的共享存储池地址,根据查询结果将待写数据写入共享存储池或对应的存储阵列,从而可在存储阵列的物理空间不足而无法动态分配新的存储空间时,将待写数据重定向到共享存储池,避免了因对应的存储阵列没有足够的空闲存储空间从而导致存储待写数据失败的情况,进而保证主机业务运行的连续性;另外,因不依赖于原有阵列的存储空间,所以存储资源的扩容增长不再受原有阵列的硬件限制。进一步地,在将待写数据写入共享存储池之后,如果检测到对应存储阵列存在空闲存储空间,又可将待写数据迁移至对应的存储阵列,所以存储数据的方式更具灵活性。
实施例四
本实施例提供了一种数据处理设备,该数据处理设备包括存储池及处理器;
其中,处理器,用于接收主机发送的携带有待写数据及对应的存储阵列地址的写数据请求;根据预先设置的映射表查询存储阵列地址是否存在相对应的共享存储池地址,映射表用于记录存储阵列地址与共享存储池地址之间的映射关系;如果是,则根据对应的共享存储池地址将待写数据写入共享存储池;如果否,则根据对应的存储阵列地址将待写数据写入对应的存储阵列。
进一步地,该处理器,还用于如果检测到写数据请求中携带的存储阵列地址所对应的存储阵列具有空闲存储空间,则将待写数据由共享存储池迁移至对应的存储阵列。
进一步地,该处理器,还用于如果检测到对应的存储阵列分配空间失败,则将待写数据重定向到共享存储池,并在映射表中记录共享存储池地址与对应的存储阵列地址之间的映射关系。
进一步地,该处理器,还用于接收主机发送的携带请求访问的存储阵列地址的读数据请求;根据预先设置的映射表查询请求访问的存储阵列地址是否存在相对应的共享存储池地址;如果是,则根据对应的共享存储池地址向共享存储池读取数据;如果否,则根据请求访问的存储阵列地址向对应的存储阵列读取数据。
进一步地,该处理器,还用于预先设置存储阵列地址与共享存储池地址之间的映射关系,并将映射关系记录在映射表中。
其中,数据处理设备具体可为存储网关或存储资源管理设备,例如,主机,本实施例对数据处理设备的类型不作具体限定。
本实施例提供的数据处理设备,通过根据预先设置的映射表查询存储阵列地址是否存在相对应的共享存储池地址,根据查询结果将待写数据写入共享存储池或对应的存储阵列,从而可在存储阵列的物理空间不足而无法动态分配新的存储空间时,将待写数据重定向到共享存储池,避免了因对应的存储阵列没有足够的空闲存储空间从而导致存储待写数据失败的情况,进而保证主机业务运行的连续性;另外,因不依赖于原有阵列的存储空间,所以存储资源的扩容增长不再受原有阵列的硬件限制。进一步地,在将待写数据写入共享存储池之后,如果检测到对应存储阵列存在空闲存储空间,又可将待写数据迁移至对应的存储阵列,所以存储数据的方式更具灵活性。
需要说明的是:上述实施例提供的数据处理装置在进行数据处理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据处理装置及设备与数据处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种数据处理方法,其特征在于,所述方法包括:
接收主机发送的携带有待写数据及对应的存储阵列地址的写数据请求;
根据预先设置的映射表查询所述存储阵列地址是否存在相对应的共享存储池地址,所述映射表用于记录存储阵列地址与共享存储池地址之间的映射关系;
如果是,则根据对应的共享存储池地址将所述待写数据写入共享存储池;
如果否,则根据对应的存储阵列地址将所述待写数据写入对应的存储阵列,如果检测到所述对应的存储阵列分配空间失败,则将所述待写数据重定向到共享存储池,并在所述映射表中记录所述共享存储池地址与所述对应的存储阵列地址之间的映射关系。
2.根据权利要求1所述的方法,其特征在于,所述根据对应的共享存储池地址将所述待写数据写入共享存储池之后,所述方法还包括:
如果检测到所述写数据请求中携带的存储阵列地址所对应的存储阵列具有空闲存储空间,则将所述待写数据由共享存储池迁移至对应的存储阵列。
3.根据权利要求1所述的方法,其特征在于,所述根据对应的共享存储池地址将所述待写数据写入共享存储池或根据对应的存储阵列地址将所述待写数据写入对应的存储阵列之后,所述方法还包括:
接收主机发送的携带请求访问的存储阵列地址的读数据请求;
根据所述预先设置的映射表查询所述请求访问的存储阵列地址是否存在相对应的共享存储池地址;
如果是,则根据对应的共享存储池地址向所述共享存储池读取数据;
如果否,则根据所述请求访问的存储阵列地址向对应的存储阵列读取数据。
4.根据权利要求1至3中任一权利要求所述的方法,其特征在于,所述接收主机发送的携带有待写数据及对应的存储阵列地址的写数据请求之前,所述方法还包括:
预先设置存储阵列地址与共享存储池地址之间的映射关系,并将所述映射关系记录在所述映射表中。
5.一种数据处理装置,其特征在于,所述装置包括:
接收模块,用于接收主机发送的携带有待写数据及对应的存储阵列地址的写数据请求;
查询模块,用于根据预先设置的映射表查询所述接收模块接收到的存储阵列地址是否存在相对应的共享存储池地址,所述映射表用于记录存储阵列地址与共享存储池地址之间的映射关系;
第一处理模块,用于如果所述查询模块查询到对应的共享存储池地址,则根据对应的共享存储池地址将所述待写数据写入共享存储池;
第二处理模块,用于如果所述查询模块未查询到对应的共享存储池地址,则根据对应的存储阵列地址将所述待写数据写入对应的存储阵列;
所述第一处理模块,还用于如果检测到所述对应的存储阵列分配空间失败,则将所述待写数据重定向到共享存储池,并在所述映射表中记录所述共享存储池地址与所述对应的存储阵列地址之间的映射关系。
6.根据权利要求5所述的装置,其特征在于,所述第二处理模块,还用于如果检测到所述写数据请求中携带的存储阵列地址所对应的存储阵列具有空闲存储空间,则将所述待写数据由共享存储池迁移至对应的存储阵列。
7.根据权利要求5所述的装置,其特征在于,所述接收模块,还用于接收主机发送的携带请求访问的存储阵列地址的读数据请求;
所述查询模块,还用于根据所述预先设置的映射表查询所述接收模块接收到的请求访问的存储阵列地址是否存在相对应的共享存储池地址;
所述第一处理模块,还用于如果所述查询模块查询到对应的共享存储池地址,则根据对应的共享存储池地址向所述共享存储池读取数据;
所述第二处理模块,还用于如果所述查询模块未查询到对应的共享存储池地址,则根据所述请求访问的存储阵列地址向对应的存储阵列读取数据。
8.根据权利要求5至7中任一权利要求所述的装置,其特征在于,所述装置还包括:
预设模块,用于预先设置存储阵列地址与共享存储池地址之间的映射关系;
记录模块,用于将所述预设模块设置的映射关系记录在所述映射表中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210494666.8A CN102981782B (zh) | 2012-11-28 | 2012-11-28 | 数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210494666.8A CN102981782B (zh) | 2012-11-28 | 2012-11-28 | 数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102981782A CN102981782A (zh) | 2013-03-20 |
CN102981782B true CN102981782B (zh) | 2016-08-03 |
Family
ID=47855858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210494666.8A Active CN102981782B (zh) | 2012-11-28 | 2012-11-28 | 数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102981782B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103218305B (zh) * | 2013-05-10 | 2016-08-17 | 曙光信息产业(北京)有限公司 | 存储空间的分配方法 |
CN110377548B (zh) * | 2019-06-28 | 2021-10-22 | 苏州浪潮智能科技有限公司 | 一种地址空间复用方法、装置及多路复用器 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101719103A (zh) * | 2009-11-25 | 2010-06-02 | 成都市华为赛门铁克科技有限公司 | 基于存储设备的信息处理方法以及存储设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100578143B1 (ko) * | 2004-12-21 | 2006-05-10 | 삼성전자주식회사 | 버퍼 메모리에 저장된 데이터를 무효화시키는 스킴을 갖는저장 시스템 및 그것을 포함한 컴퓨팅 시스템 |
WO2011039802A1 (en) * | 2009-09-29 | 2011-04-07 | Hitachi,Ltd. | Storage subsystem |
CN102185910B (zh) * | 2011-04-22 | 2013-04-10 | 湖南大学 | 基于ssd和hdd混合存储的无盘网络服务器数据分布方法 |
-
2012
- 2012-11-28 CN CN201210494666.8A patent/CN102981782B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101719103A (zh) * | 2009-11-25 | 2010-06-02 | 成都市华为赛门铁克科技有限公司 | 基于存储设备的信息处理方法以及存储设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102981782A (zh) | 2013-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7555575B2 (en) | Method and apparatus for migrating data between storage volumes of different data pattern | |
US7543129B2 (en) | Storage system and storage area allocation method configuring pool areas each including logical volumes having identical allocation unit size | |
US8281033B1 (en) | Techniques for path selection | |
CN109791522B (zh) | 数据迁移的方法、***及智能网卡 | |
US8639898B2 (en) | Storage apparatus and data copy method | |
US6954839B2 (en) | Computer system | |
US10552089B2 (en) | Data processing for managing local and distributed storage systems by scheduling information corresponding to data write requests | |
CN112632069B (zh) | 哈希表数据存储管理方法、装置、介质和电子设备 | |
US9542126B2 (en) | Redundant array of independent disks systems that utilize spans with different storage device counts for a logical volume | |
US20160179420A1 (en) | Apparatus and method for managing storage | |
US20100235599A1 (en) | Access control device, storage system, and access control method | |
CN103399823A (zh) | 业务数据的存储方法、设备和*** | |
CN107329704A (zh) | 一种缓存镜像方法及控制器 | |
CN111949210A (zh) | 分布式存储***中元数据存储方法、***及存储介质 | |
JP2004192174A (ja) | ディスクアレイ制御装置 | |
CN112783449A (zh) | 数据迁移方法及装置 | |
WO2019071699A1 (zh) | 处理i/o请求的方法、存储阵列及主机 | |
CN102981782B (zh) | 数据处理方法及装置 | |
CN112395220B (zh) | 共享存储控制器的处理方法、装置、***及存储控制器 | |
US8566560B2 (en) | System and method for configuring storage resources for database storage | |
US8656070B2 (en) | Striping with SCSI I/O referrals | |
CN113608690B (zh) | 一种iscsi target多路径分组的方法、装置、设备及可读介质 | |
JP2015038668A (ja) | 電子装置 | |
JP2003085014A (ja) | ネットワークシステムのボリューム管理方法及び計算機 | |
JP3456234B2 (ja) | ターゲット装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220914 Address after: No.1899 Xiyuan Avenue, high tech Zone (West District), Chengdu, Sichuan, 611730 Patentee after: Chengdu Huawei Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TR01 | Transfer of patent right |