【技术实现步骤摘要】
本专利技术涉及数据处理领域,尤其涉及一种磁盘数据管理方法和磁盘控制装置。
技术介绍
对于普通的机械硬盘,因为其依赖机械转动磁盘和移动磁头定位读写位置,所以硬盘顺序读写是最理想的读写模型。如果磁盘空间碎片化,那么写数据的时候,无法分配到连续的空间,导致磁头抖动严重,数据传输的主要时间消耗在定位磁道和扇区上,从而留给传输数据的时间很少。因为文件的数据比较离散,那么读取的这些文件的时候,效率也较低。因此,大多数磁盘文件系统都在尽力避免产生大量的碎片空间,但是碎片化仍然无法避免。如,采用COW机制可以利用磁盘顺序写的优势。当要修改写一块数据的时候,不是直接覆盖老版本的数据,而是读取老版本的数据,修改好之后,写到一个新的位置,将写数据的数据都聚合起来,顺序写到磁盘上,释放老版本的数据。因为数据的位置变化了,需要将指向数据的上一层索引块中的指针进行修改,如此递归到最顶层。这样就会释放大量的数据,导致磁盘上产生大量的碎片。
技术实现思路
本专利技术实施例提供了一种磁盘数据管理方法和磁盘控制装置,用于高效管理磁盘上的碎片。本专利技术第一方面提供一种磁盘数据管理方法,该方法应用于包括磁盘的磁盘控制装置,磁盘包括数据区和日志区,该方法包括:磁盘控制装置向缓存器件写入数据,该缓存器件例如可以是内存、flash卡、固态硬盘等与磁盘不同的存储器件,然后,磁盘控制装置判断该数据是否是热点数据,其中热点数据为存储在磁盘上后在预设次数的修改和释放后能使磁盘产生预设数量碎片的数据。通过在缓存器件上对写入的数据进行判断,确定该数据的类型,以对不同的数据执行不同的处理方式。在向磁盘写入数据时,若 ...
【技术保护点】
一种磁盘数据管理方法,其特征在于,所述方法应用于包括磁盘的磁盘控制装置,所述磁盘包括数据区和日志区,所述方法包括:向缓存器件写入数据;判断所述数据是否是热点数据,其中所述热点数据为存储在所述磁盘上后在预设次数的修改和释放后能使所述磁盘产生预设数量碎片的数据;若所述数据不是热点数据,则为所述数据在所述数据区分配数据区空间,将所述数据写入所述数据区空间;若所述数据是热点数据,则为所述数据在所述日志区分配日志区空间,将所述数据写入所述日志区空间。
【技术特征摘要】
1.一种磁盘数据管理方法,其特征在于,所述方法应用于包括磁盘的磁盘控制装置,所述磁盘包括数据区和日志区,所述方法包括:向缓存器件写入数据;判断所述数据是否是热点数据,其中所述热点数据为存储在所述磁盘上后在预设次数的修改和释放后能使所述磁盘产生预设数量碎片的数据;若所述数据不是热点数据,则为所述数据在所述数据区分配数据区空间,将所述数据写入所述数据区空间;若所述数据是热点数据,则为所述数据在所述日志区分配日志区空间,将所述数据写入所述日志区空间。2.根据权利要求1所述的方法,其特征在于,所述缓存器件为内存,所述为所述数据在所述日志区分配日志区空间之后,所述方法还包括:建立所述数据和所述日志区空间的映射关系。3.根据权利要求2所述的方法,其特征在于,所述建立所述数据和所述日志区空间的映射关系,包括:建立多个目标数据和所述多个目标数据分配到的日志区空间的映射关系,其中所述目标数据属于热点数据;所述将所述数据写入所述日志区空间,包括:将所述多个目标数据的多个写操作组合为一个事务;将所述事务的所有目标数据写入日志区空间,当所述事务的其中一个目标数据的写操作执行失败时,所述事务的其他目标数据执行的写操作失败。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:在所述内存上缓存属于所述热点数据的数据。5.根据权利要求4所述的方法,其特征在于,所述将所述事务的所有目标数据写入日志区空间之前,所述方法还包括:根据所述多个目标数据建立数据链表,其中,所述数据链表用于管理所述目标数据,所述数据链表管理的目标数据与所述事务的目标数据相同;根据所述数据链表对所述目标数据进行管理;在预设释放条件下,根据所述数据链表从先到后的建立顺序,查找所述数据链表未解除管理的数据;在所述内存上释放目标数据链表未解除管理的数据,且在所述内存上保留所述目标数据链表对应的目标映射关系;其中,所述根据所述数据链表对所述目标数据进行管理,包括:建立第二数据链表后,当所述第二数据链表管理的第二目标数据是由预先建立的第一数据链表管理的第一目标数据修改得到时,在所述第一数据链表上解除对所述第一目标数据的管理;在与所述第一数据链表对应的第一映射关系上删除所述第一目标数据的信息。6.根据权利要求5所述的方法,其特征在于,所述在预设释放条件下,根据所述数据链表从先到后的建立顺序,查找所述数据链表未解除管理的数据,包括:当所述内存达到第一预设水位时,根据所述数据链表从先到后的建立顺序,查找所述数据链表未解除管理的数据;所述在所述内存上释放目标数据链表未解除管理的数据之后,所述方法还包括:在所述内存达到第二预设水位时,从所述日志区读取所述目标映射关系指向的数据;将所述目标映射关系指向的数据写入所述数据区;在所述内存上删除所述目标映射关系。7.根据权利要求5所述的方法,其特征在于,所述方法还包括:在预设回收条件下,执行日志区数据搬迁的步骤;所述执行日志区数据搬迁的步骤,包括:查找所述映射关系;根据映射关系记录的信息判断与所述映射关系对应的第一日志区上的数据是否迁移完;若所述第一日志区上的数据未迁移完,则根据所述映射关系记录的信息,确定第一日志区上的空间利用率;当所述第一日志区的空间利用率小于预设利用率阀值时,将所述第一日志区的数据迁移至第二日志区,并更新与所述被搬迁的数据对应的映射关系,其中所述第二日志区为空闲的日志区或在回收日志区时使用过的日志区;当当前日志区总的空间水位达到预设空间阀值时,则停止执行日志区数据搬迁的步骤,否则继续执行日志区数据搬迁的步骤。8.根据权利要求7所述的方法,其特征在于,所述方法还包括:根据所述事务的写入顺序为所述事务对应的数据链表按照递增规则分配事务号;在所述执行日志区数据搬迁的步骤中,所述查找所述映射关系,包括:从当前事务号最小的数据链表开始,根据所述事务号由小到大的顺序查找与所述数据链表对应的映射关系。9.根据权利要求4所述的方法,其特征在于,所述在所述内存上缓存属于所述热点数据的数据,包括:所述判断所述数据是否是热点数据之后,若所述数据是热点数据,则在所述内存上保留所述数据;或者,所述向缓存器件写入数据之前,从所述日志区读取数据到所述缓存器件缓存。10.根据权利要求1至9任一项所述的方法,其特征在于,所述热点数据包括数据大小小于预设数据阀值的数据和/或所述热点数据包括元数据。11.根据权利要求1至9任一项所述的方法,其特征在于,所述为所述数据在所述日志区分配日志区空间,将所述数据写入所述日志区空间,包括:为所述数据在所述日志区按照顺序分配日志区空间,将所述数据顺序追加写入所述日志区空间。12.根据权利要求1至9任一项所述的方法,其特征在于,所述方法还包括:当所述数据区的空间利用率大于预设数据区利用阀值时,将当前空闲的日志区转化为数据区;当所述日志区的空间利用率大于预设日志区利用阀值时,将由空闲的日志区转化成的数据区转化为日志区。13.根据权利要求2至9任一项所述的方法,其特征在于,所述方法还包括:为所述映射关系在日志区上分配日志区空间;将所述映射关系写入所述映射关系分配到的日志区空间。14.一种磁盘控制装置,其特征在于,所述磁盘控制装...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。