[发明专利]一种磁盘初始化方法及装置有效
申请号: | 201810229420.5 | 申请日: | 2018-03-20 |
公开(公告)号: | CN108536393B | 公开(公告)日: | 2021-03-19 |
发明(设计)人: | 李浩然 | 申请(专利权)人: | 深圳神州数码云科数据技术有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹;李相雨 |
地址: | 518131 广东省深圳市南山区粤海*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 磁盘 初始化 方法 装置 | ||
1.一种磁盘初始化方法,其特征在于,所述方法包括:
根据各磁盘输入/输出IO的偏移获取各磁盘IO对应的定长数据块chunk表,在各chunk表中查找或添加各磁盘IO对应的chunk表节点,将各chunk表节点的状态信息记录在位图bitmap中;
对各chunk表节点设置对应的自旋锁,根据各自旋锁将所述bitmap中对应的chunk表节点的状态信息锁定为初始化状态;
根据各目标chunk表节点,生成对应的磁盘初始化IO,并将各磁盘初始化IO发送给目标设备,以使所述目标设备执行各磁盘初始化IO,以实现磁盘的初始化;
其中,所述目标chunk表节点为状态信息是初始化状态的chunk表节点。
2.根据权利要求1所述的方法,其特征在于,所述根据各目标chunk表节点,生成对应的磁盘初始化IO,并将各磁盘初始化IO发送给目标设备,以使所述目标设备执行各磁盘初始化IO,以实现磁盘的初始化之后,还包括:根据各目标chunk表节点,生成对应的磁盘初始化IO,并将各磁盘初始化IO发送给目标设备,以使所述目标设备异步处理所述磁盘IO,以实现磁盘的初始化。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
检查各chunk表节点上是否存在等待的磁盘写IO;
如果存在,则将所述bitmap中对应的chunk表节点的状态信息设置为写入状态,并启动所述bitmap的同步流程;
其中,所述同步流程采用周期性或者立即同步到磁盘。
4.根据权利要求3所述的方法,其特征在于,所述bitmap设置有读写锁;
其中,所述读写锁包括写锁和读锁;
当所述bitmap启动同步流程时,对所述bitmap设置写锁或读锁。
5.根据权利要求1所述的方法,其特征在于,所述根据各磁盘输入/输出IO的偏移获取各磁盘IO对应的定长数据块chunk表,在各chunk表中查找或添加各磁盘IO对应的chunk表节点,将各chunk表节点的状态信息记录在位图bitmap中,具体包括:
根据定时器的预设周期和各磁盘输入/输出IO的偏移获取各磁盘IO对应的定长数据块chunk表,在各chunk表中查找或添加各磁盘IO对应的chunk表节点,将各chunk表节点的状态信息记录在位图bitmap中。
6.根据权利要求5所述的方法,其特征在于,所述根据定时器的预设周期和各磁盘输入/输出IO的偏移获取各磁盘IO对应的定长数据块chunk表,在各chunk表中查找或添加各磁盘IO对应的chunk表节点,将各chunk表节点的状态信息记录在位图bitmap中之前,还包括:
根据磁盘IO计数方式确认是否存在磁盘IO;
如果存在,则增加所述定时器的预设周期,以限制所述磁盘初始化IO的速度。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
若判断获知所述chunk表节点的IO等待队列不为空,或所述chunk表节点记录对应的chunk正在执行对应bitmap的读写操作,则将IO加入等待队列;
若判断获知所述chunk表节点记录的对应的chunk的状态为正在初始化,则继续检查IO的读写属性;若IO的读写属性为读IO,则立即返回全零数据;若IO的读写属性为写IO,则将IO加入等待队列;
若判断获知所述chunk表节点记录的对应的chunk的状态为已写入数据,则将IO直接下发;
若判断获知所述chunk表节点记录的对应的chunk的状态为尚未初始化,则将IO加入chunk的等待队列并执行chunk初始化。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳神州数码云科数据技术有限公司,未经深圳神州数码云科数据技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810229420.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:混合数据查找方法
- 下一篇:命令分配方法、装置、设备及介质