【技术实现步骤摘要】
本专利技术涉及处理数据
,尤其涉及一种处理数据的方法、装置及系统。
技术介绍
存储域网络(Storage Area Network,简称SAN)技术的虚拟化功能可以将磁盘阵列物理存储空间切片,即将磁盘阵列的所有物理存储空间在逻辑上分成大小相等的若干个部分,可以将每部分称为一个存储块;按照一定的原则将一个或者多个存储块映射为一个虚拟页,若干个虚拟页组成虚拟卷;例如,可以按照磁盘阵列(Redundant Arraysoflnexpensive Disks,简称RAID)技术将一个或者多个存储块映射为一个RAID单元,将一个或者多个RAID单元组成一个虚拟页。在文件系统中,一段连续的文件数据存储于连续的虚拟页所映射的存储块中,若用户指示待写入数据需要写入该文件数据的中间部分,则在主机的控制下,磁盘阵列一般直接为该新数据分配可用虚拟页,以使得该新数据存储于分配的可用虚拟页所映射的存储块中;若用户指示的待删除数据在该文件数据的中间部分时,则在主机的控制下,磁盘阵列一般直接删除待删除数据。在实现上述处理数据的过程中,专利技术人发现至少存在如下问题有新数据需要写入文件数据的中间部分或者从该文件数据的中间部分删除数据,导致系统中文件碎片增多,进而影响系统的输入输出性能。
技术实现思路
本专利技术实施例提供一种存储数据的方法、装置及系统,用以减少文件碎片,提高磁盘阵列缓存预取数据的命中率,以及提高系统的输入输出性能。为达到上述目的,本专利技术实施例采用的技术方案是,第一方面,提供一种写入数据的方法,包括磁盘阵列接收主机发送的处理数据的请求信息,所述请求信息包括处理方式为 ...
【技术保护点】
一种写入数据的方法,其特征在于,包括:磁盘阵列接收主机发送的处理数据的请求信息,所述请求信息包括:处理方式为插入操作、待写入数据、所述待写入数据所需占用的空闲虚拟页的第一数目以及所述插入操作的第一起始地址;所述第一数目为正整数;所述插入操作的第一起始地址为第一虚拟页的首地址,所述第一虚拟页的首地址为用户指示的开始写入数据的地址,所述第一虚拟页所映射的存储块以及与所述第一虚拟页相邻的前一个虚拟页所映射的存储块中均存储有数据;根据所述请求信息从所述第一起始地址开始插入所述第一数目个空闲虚拟页;向已插入的所述空闲虚拟页所映射的存储块中写入所述待写入数据。
【技术特征摘要】
1.一种写入数据的方法,其特征在于,包括 磁盘阵列接收主机发送的处理数据的请求信息,所述请求信息包括处理方式为插入操作、待写入数据、所述待写入数据所需占用的空闲虚拟页的第一数目以及所述插入操作的第一起始地址;所述第一数目为正整数;所述插入操作的第一起始地址为第一虚拟页的首地址,所述第一虚拟页的首地址为用户指示的开始写入数据的地址,所述第一虚拟页所映射的存储块以及与所述第一虚拟页相邻的前一个虚拟页所映射的存储块中均存储有数据; 根据所述请求信息从所述第一起始地址开始插入所述第一数目个空闲虚拟页; 向已插入的所述空闲虚拟页所映射的存储块中写入所述待写入数据。2.一种写入数据的方法,其特征在于,包括 磁盘阵列接收主机发送的处理数据的请求信息,所述请求信息包括处理方式为插入操作、待写入数据、所述待写入数据所需占用的空闲虚拟页的第一数目、所述插入操作的第一起始地址以及所述插入操作的第二起始地址;所述第一数目为正整数;所述插入操作的第一起始地址为第一虚拟页的首地址,所述第一虚拟页所映射的存储块以及与所述第一虚拟页相邻的前一个虚拟页所映射的存储块中均存储有数据;所述插入操作的第二起始地址为用户指示的开始写入数据的地址,且所述第二起始地址为一个虚拟页的中间地址或者尾地址; 根据所述请求信息从所述第一起始地址开始插入所述第一数目个空闲虚拟页; 若已插入的所述空闲虚拟页所映射的存储块空间足够存储所述第二起始地址与所述第一起始地址之间的虚拟页所映射的第一存储块中的第一数据和所述待写入数据,则向所述已插入的所述空闲虚拟页所映射的存储块存储块中写入所述第一数据和所述待写入数据,使得所述第一数据和所述待写入数据顺序存储; 或者,若已插入的所述空闲虚拟页所映射的存储块空间不足以存储所述第二起始地址与所述第一起始地址之间的虚拟页所映射的第一存储块中的第一数据和所述待写入数据,则在所述第一存储块和已插入的所述空闲虚拟页所映射的存储块中搬移所述第一数据,并写入所述待写入数据,使得所述第一数据和所述待写入数据顺序存储。3.一种删除数据的方法,其特征在于,包括 磁盘阵列接收主机发送的处理数据操作的请求信息,所述请求信息包括处理方式为删除操作、待删除数据所占的完整虚拟页的第一数目,以及所述删除操作的第一起始地址;所述第一数目为正整数;所述删除操作的第一起始地址为所述第一数目个完整虚拟页的首地址,在所述第一数目个完整虚拟页之前和之后的、与所述第一数目个完整虚拟页相邻的虚拟页所映射的存储块中存储有数据; 根据所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置; 将所述第一数目个完整虚拟页所映射的存储块中的数据删除。4.一种删除数据的方法,其特征在于,包括 磁盘阵列接收主机发送的处理数据操作的请求信息,所述请求信息包括处理方式为删除操作、待删除数据所占的完整虚拟页的第一数目、所述删除操作的第一起始地址,以及所述删除操作的第二起始地址和/或所述删除操作的第二终止地址;所述第一数目为正整数;所述删除操作的第一起始地址为所述第一数目个完整虚拟页的首地址,在所述第一数目个完整虚拟页之前和之后的、与所述第一数目个完整虚拟页相邻的虚拟页所映射的存储块中存储有数据;所述删除操作的第二起始地址为用户指示的开始删除数据的地址,所述第二起始地址与所述第一起始地址不重合;所述删除操作的第二终止地址为用户指示的终止删除数据的地址,所述第二终止地址为一个虚拟页的中间地址或首地址; 根据所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置; 将所述第一数目个完整虚拟页所映射的存储块中的数据删除、并将所述第二起始地址与所述第一起始地址之间的虚拟页所映射的存储块中的数据和/或所述第二终止地址与所述待删除数据所占的完整虚拟页的尾地址之间的虚拟页所映射的存储块中的数据删除。5.一种写入数据的方法,其特征在于,包括 主机接收用户指示信息,所述指示信息包括处理方式为插入操作、所述插入操作的第二起始地址以及待写入数据;所述插入操作的第二起始地址为用户指示的开始写入数据的地址; 根据所述待写入数据的大小确定所述待写入数据所需占用的空闲虚拟页的第一数目;所述第一数目为正整数; 当所述插入操作的第二起始地址为第一虚拟页的首地址时,确定所述插入操作的第一起始地址为所述第二起始地址,所述第一虚拟页所映射的存储块以及与所述第一虚拟页相邻的前一个虚拟页所映射的存储块中均存储有数据; 向磁盘阵列发送处理数据的请求信息,所述请求信息包括所述处理方式为插入操作、所述待写入数据、所述第一数目,以及所述插入操作的第一起始地址;以使得所述磁盘阵列根据所述请求信息从所述第一起始地址开始插入所述第一数目个空闲虚拟页,并写入所述待写入数据。6.一种写入数据的方法,其特征在于,包括 主机接收用户指示信息,所述指示信息包括处理方式为插入操作、所述插入操作的第二起始地址以及待写入数据;所述插入操作的第二起始地址为用户指示的开始写入数据的地址; 根据所述待写入数据的大小确定所述待写入数据所需占用的空闲虚拟页的第一数目;所述第一数目为正整数; 当所述插入操作的第二起始地址不为一个虚拟页的首地址时,确定所述插入操作的第一起始地址为第一虚拟页的首地址,所述第一虚拟页所映射的存储块以及与所述第一虚拟页相邻的前一个虚拟页所映射的存储块中均存储有数据; 向磁盘阵列发送处理数据的请求信息,所述请求信息包括所述处理方式为插入操作、所述待写入数据、所述第一数目、所述插入操作的第一起始地址、以及所述插入操作的第二起始地址;以使得所述磁盘阵列根据所述请求信息从所述第一起始地址开始插入所述第一数目个空闲虚拟页,并写入所述待写入数据。7.根据权利要求6所述的写入数据的方法,其特征在于,将与所述第二起始地址距离最近的一个虚拟页作为所述第一虚拟页。8.一种删除数据的方法,其特征在于,包括主机接收用户指示信息,所述指示信息包括处理方式为删除操作、待删除数据所占的完整虚拟页的第一数目、所述删除操作的第二起始地址以及所述删除操作的第二终止地址;所述删除操作的第二起始地址为用户指示的开始删除数据的地址;所述删除操作的第二终止地址为用户指示的终止删除数据的地址;在所述第一数目个完整虚拟页之前和之后的、与所述第一数目个完整虚拟页相邻的虚拟页所映射的存储块中存储有数据; 根据所述待删除数据的大小确定所述待删除数据所占的完整虚拟页的第一数目;所述第一数目为正整数; 当所述删除操作的第二起始地址为一个虚拟页的首地址,确定所述删除操作的第一起始地址为所述删除操作的第二起始地址; 若所述删除操作的第二终止地址为一个虚拟页的尾地址,则向磁盘阵列发送处理数据的请求信息,所述请求信息包括所述处理方式为删除操作、所述第一数目以及所述第一起始地址;以使得所述磁盘阵列根据所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置,并将所述第一数目个所述完整虚拟页所映射的存储块中的数据删除; 若所述删除操作的第二终止地址不为一个虚拟页的尾地址,则向磁盘阵列发送处理数据的请求信息,所述请求信息包括所述处理方式为删除操作、所述第一数目、所述第一起始地址以及所述第二终止地址;以使得所述磁盘阵列根据所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置,并将所述第一数目个所述完整虚拟页所映射的存储块中的数据以及所述待删除数据所占的完整虚拟页的尾地址与所述第二终止地址之间的虚拟页所映射的存储块中的数据删除; 或者,当所述删除操作的第二起始地址不为一个虚拟页的首地址,确定所述删除操作的第一起始地址为所述待删除数据所占的第一个完整虚拟页的首地址; 若所述删除操作的第二终止地址为一个虚拟页的尾地址,则向磁盘阵列发送处理数据的请求信息,所述请求信息包括所述处理方式为删除操作、所述第一数目、所述第一起始地址以及所述第二起始地址;以使得所述磁盘阵列根据所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置,并将所述第一数目个所述完整虚拟页所映射的存储块中的数据以及所述第一起始地址与所述第二起始地址之间的虚拟页所映射的存储块中的数据删除; 若所述删除操作的第二终止地址不为一个虚拟页的尾地址,则向磁盘阵列发送处理数据的请求信息,所述请求信息包括所述处理方式为删除操作、所述第一数目、所述第一起始地址以及所述第二起始地址;以使得所述磁盘阵列根据所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置,并将所述第一数目个所述完整虚拟页所映射的存储块中的数据、所述第一起始地址与所述第二起始地址之间的虚拟页所映射的存储块中的数据、以及所述待删除数据所占的完整虚拟页的尾地址与所述第二终止地址之间的虚拟页所映射的存储块中的数据删除。9.一种磁盘阵列,其特征在于,包括接收单元以及处理单元,其中, 所述接收单元,用于接收主机发送的处理数据的请求信息,所述请求信息包括处理方式为插入操作、待写入数据、所述待写入数据所需占用的空闲虚拟页的第一数目以及所述插入操作的第一起始地址;所述第一数目为正整数;所述插入操作的第一起始地址为第一虚拟页的首地址,所述第一虚拟页的首地址为用户指示的开始写入数据的地址,所述第一虚拟页所映射的存储块以及与所述第一虚拟页相邻的前一个虚拟页所映射的存储块中均存储有数据;并将所述请求信息传输给所述处理单元; 所述处理单元,用于根据所述接收单元传输的所述请求信息从所述第一起始地址开始插入所述第一数目个空闲虚拟页;并向已插入的所述空闲虚拟页所映射的存储块...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。