[发明专利]一种自精简元数据的线程调用方法有效
申请号: | 201710909927.0 | 申请日: | 2017-09-29 |
公开(公告)号: | CN107729142B | 公开(公告)日: | 2021-06-29 |
发明(设计)人: | 刘志勇 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 罗满 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 精简 数据 线程 调用 方法 | ||
本发明公开了一种自精简元数据的线程调用方法,该方法包括:建立元数据读写线程和读写盘线程,将自精简元数据的所有任务均以串行方式添加到链表中;通过元数据读写线程从链表中依次读取任务进行处理;其中,元数据读写线程采用B+树读写线程;当元数据读写线程中树的节点不在内存中而需要读盘时,将元数据读写线程正在处理的任务重新放回链表,将读盘操作移交给读写盘线程进行处理,由元数据读写线程处理下一个任务。该方法提高元数据处理效率。
技术领域
本发明涉及元数据技术领域,特别是涉及一种自精简元数据的线程调用方法。
背景技术
目前,自精简技术是应用于存储系统的基本技术之一,也是中高端存储系统(包括部分低端存储)的一项基本功能,它的关键在于使存储系统能够按需分配使用空间,即创建卷后不必立即分配全部空间,而是根据需要分配,从而可以提高存储系统磁盘的利用率,降低成本。
自精简技术能够在空间使用效率上发挥巨大作用,提高磁盘使用效率,但自精简卷相对于普通卷而言,由于其空间并不是采用预分配方式,而是边使用边分配,因此就必然需要增加额外的元数据管理机制,因而导致自精简卷性对于普通卷增加了性能的损耗。导致性能损耗的主要原因是自精简卷在进行数据读写前,需要首先进行元数据的读写,目前元数据管理通常使用B+Tree来实现,通过多线程方式读写元数据。而这可能会在两个方面影响性能,一是多线程读写元数据时需要对树加锁以避免竞争,因而虽有多个线程,但无法实现树的并行操作,读写实际仍为串行方式,这不但没有发挥出多线程的优势,反而因频繁加解锁而耗费时间;二是由于树中的所有结点只能有一部分在内存中,当读写元数据时可能发生多次读盘操作,因此如果每次都等待元数据处理完成,可能会因等待读盘而消耗较多时间,降低性能,元数据处理效率较低。因此如何提高元数据的处理效率是亟待解决的问题。
发明内容
本发明的目的是提供一种自精简元数据的线程调用方法,以实现提高元数据处理效率。
为解决上述技术问题,本发明提供一种自精简元数据的线程调用方法,包括:
建立元数据读写线程和读写盘线程,将自精简元数据的所有任务均以串行方式添加到链表中;
通过元数据读写线程从链表中依次读取任务进行处理;其中,元数据读写线程采用B+树读写线程;
当元数据读写线程中树的节点不在内存中而需要读盘时,将元数据读写线程正在处理的任务重新放回链表,将读盘操作移交给读写盘线程进行处理,由元数据读写线程处理下一个任务。
优选的,所述元数据读写线程的个数为一个,所述读写盘线程的个数为多个。
优选的,所述将元数据读写线程正在处理的任务重新放回链表之后,还包括:
将重新放回链表中的任务标记为读盘状态。
优选的,所述方法还包括:
当读盘操作完成,并且树的节点都存放到内存后,取消重新放回链表中的任务的读盘状态,通过元数据读写线程处理该任务。
优选的,将重新放回链表中的任务标记为读盘状态之后,还包括:
将标记为读盘状态的任务添加到链表的开头。
优选的,所述将自精简元数据的所有任务均以串行方式添加到链表中之后,还包括:
当有新任务产生时,将新任务添加到链表的结尾,等待执行。
优选的,如果链表开头已经存在设置读盘标记的任务,将重新放回链表中的任务从链表开头插入到置位任务后的位置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710909927.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:车辆管理系统
- 下一篇:一种项目申报系统及其实现方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置