[发明专利]一种缓存脏页刷写方法及装置有效
申请号: | 201610041801.1 | 申请日: | 2016-01-22 |
公开(公告)号: | CN105740170B | 公开(公告)日: | 2020-12-04 |
发明(设计)人: | 卓保特;施培任;杨善松;赵鹏 | 申请(专利权)人: | 浪潮(北京)电子信息产业有限公司 |
主分类号: | G06F12/0882 | 分类号: | G06F12/0882 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 罗满 |
地址: | 100085 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 缓存 脏页刷写 方法 装置 | ||
1.一种缓存脏页刷写方法,其特征在于,创建块设备时为每个块设备单独分配内核刷写线程,所述缓存脏页刷写方法包括:
每个块设备接收到脏页刷写指令后,调用本块设备的内核刷写线程,将本设备内的脏页刷写到磁盘中;其中,不同块设备指定不同的脏页刷写算法;
所述创建块设备时为每个块设备单独分配内核刷写线程之后,还包括:
为每个块设备单独分配定时器和work链表;
其中,所述每个块设备接收到脏页刷写指令后,调用本块设备的内核刷写线程,将本设备内的脏页刷写到磁盘中,包括:
以预定时长为间隔调用定时器回调函数;
封装第二work对象,并将所述第二work对象添加至所述块设备的work对象链表;其中,所述第二work对象包括待刷写的脏页保存时长阈值;
唤醒所述块设备的内核刷写线程,并根据所述第二work对象将所述块设备内的脏页刷写到磁盘中。
2.根据权利要求1所述的缓存脏页刷写方法,其特征在于,所述每个块设备接收到脏页刷写指令后,调用本块设备的内核刷写线程,将本设备内的脏页刷写到磁盘中,包括:
检测块设备的脏页比例是否超过预设阈值;
若是,则封装第一work对象,并将所述第一work对象添加至所述块设备的work对象链表;其中,所述第一work对象包括待刷写的脏页数量;
唤醒所述块设备的内核刷写线程,并根据所述第一work对象将所述块设备内的脏页刷写到磁盘中。
3.根据权利要求1所述的缓存脏页刷写方法,其特征在于,所述每个块设备接收到脏页刷写指令后,调用本块设备的内核刷写线程,将本设备内的脏页刷写到磁盘中,包括:
检测系统空闲页比例是否低于预定比例值;若是,则依次检查全局块设备链表中的块设备是否有脏页,并将有脏页的块设备作为目标块设备;
封装第三work对象,并将所述第三work对象添加至所述目标块设备的work对象链表;其中,所述第三work对象包括待刷写的脏页数量;
唤醒所述目标块设备的内核刷写线程,并根据所述第三work对象将所述目标块设备内的脏页刷写到磁盘中。
4.一种缓存脏页刷写装置,其特征在于,包括:
第一分配模块,用于在创建块设备时为每个块设备单独分配内核刷写线程;其中,不同块设备指定不同的脏页刷写算法;
脏页刷写模块,用于在块设备接收到脏页刷写指令后,调用本块设备的内核刷写线程,将本设备内的脏页刷写到磁盘中;
第二分配模块,用于为每个块设备单独分配定时器和work链表;
其中,所述脏页刷写模块,包括:
第二封装模块,用于以预定时长为间隔调用定时器回调函数后,封装第二work对象;其中,所述第二work对象包括待刷写的脏页保存时长阈值;
第二添加模块,用于将所述第二work对象添加至所述块设备的work对象链表,并唤醒所述块设备的内核刷写线程;
第二刷写单元,用于根据所述第二work对象将所述块设备内的脏页刷写到磁盘中。
5.根据权利要求4所述的缓存脏页刷写装置,其特征在于,所述脏页刷写模块,包括:
第一检测单元,用于检测块设备的脏页比例是否超过预设阈值;若是,则触发第一封装模块;
所述第一封装模块,用于封装第一work对象;其中,所述第一work对象包括待刷写的脏页数量;
第一添加模块,用于将所述第一work对象添加至所述块设备的work对象链表,并唤醒所述块设备的内核刷写线程;
第一刷写单元,用于根据所述第一work对象将所述块设备内的脏页刷写到磁盘中。
6.根据权利要求4所述的缓存脏页刷写装置,其特征在于,所述脏页刷写模块,包括:
第二检测单元,用于检测系统空闲页比例是否低于预定比例值;若是,则依次检查全局块设备链表中的块设备是否有脏页,并将有脏页的块设备作为目标块设备;
第三封装模块,用于封装第三work对象,其中,所述第三work对象包括待刷写的脏页数量;
第三添加模块,用于将所述第三work对象添加至所述目标块设备的work对象链表,唤醒所述目标块设备的内核刷写线程;
第三刷写单元,用于根据所述第三work对象将所述目标块设备内的脏页刷写到磁盘中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮(北京)电子信息产业有限公司,未经浪潮(北京)电子信息产业有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610041801.1/1.html,转载请声明来源钻瓜专利网。