[发明专利]一种控制处理写操作的方法及装置有效
申请号: | 201810885670.4 | 申请日: | 2018-08-06 |
公开(公告)号: | CN109062513B | 公开(公告)日: | 2021-10-15 |
发明(设计)人: | 方兰春 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王宝筠 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 控制 处理 操作 方法 装置 | ||
1.一种控制处理写操作的方法,其特征在于,包括:
利用处理阈值控制对写操作的处理,获得写操作处理完成的消息;所述处理阈值,包括:数目阈值和数据长度阈值,所述数目阈值为预设的分布式存储系统同一时间处理的写操作最大数目,所述数据长度阈值为预设的所述分布式存储系统同一时间处理的写操作最大数据长度;所述消息中包括分布式存储系统的压力信息,所述压力信息包括:CPU负载,以及内存使用量;
根据所述消息中的所述压力信息,调整所述处理阈值;
所述利用处理阈值控制对写操作的处理,具体包括:将正在处理的写操作的数目与所述数目阈值进行比较,以及,将正在处理的写操作的数据长度与所述数据长度阈值进行比较;如果所述正在处理的写操作的数目未达到所述数目阈值,且所述正在处理的写操作的数据长度未达到所述数据长度阈值,则处理新的写操作;如果所述正在处理的写操作的数目达到所述数目阈值,和/或,所述正在处理的写操作的数据长度达到所述数据长度阈值,则将所述新的写操作存入待处理队列中,继续处理所述正在处理的写操作。
2.根据权利要求1所述的方法,其特征在于,所述将所述新的写操作存入待处理队列中之后,所述方法还包括:
等待正在处理的一个或多个写操作处理完成后,优先处理所述待处理队列中较先存入的写操作。
3.根据权利要求1-2任一项所述的方法,其特征在于,在所述调整所述处理阈值之前,所述方法还包括:
获取处理阈值的调整策略;
所述调整策略包括:多个处理策略的调整值,以及与每个所述调整值相对应的CPU负载区间及内存使用量区间;各个所述CPU负载区间互不相交,各个所述内存使用量区间互不相交;所述调整值越小,所述调整值对应的CPU负载越大,且所述调整值对应的内存使用量越大;
所述根据所述消息中的所述压力信息,调整所述处理阈值,具体包括:
将所述压力信息中CPU负载对应的调整值,与所述压力信息中内存使用量对应的调整值进行比较,
如果所述CPU负载对应的调整值与所述内存使用量对应的调整值相同,则将所述调整值作为处理阈值;
如果所述CPU负载对应的调整值,与所述内存使用量对应的调整值不同,则将较小的调整值作为处理阈值。
4.一种控制处理写操作的装置,其特征在于,包括:控制与处理模块,以及,调度模块;
所述控制与处理模块,用于利用处理阈值控制对写操作的处理,获得写操作处理完成的消息;所述处理阈值,包括:数目阈值和数据长度阈值,所述数目阈值为预设的分布式存储系统同一时间处理的写操作最大数目,所述数据长度阈值为预设的所述分布式存储系统同一时间处理的写操作最大数据长度;所述消息中包括分布式存储系统的压力信息,所述压力信息包括:CPU负载,以及内存使用量;
所述调度模块,用于根据所述消息中的所述压力信息,调整所述处理阈值;
所述控制与处理模块包括:第一比较子模块,第二比较子模块,第一处理子模块和第二处理子模块;所述第一比较子模块,用于将正在处理的写操作的数目与所述数目阈值进行比较,获得第一比较结果;所述第二比较子模块,用于将正在处理的写操作的数据长度与所述数据长度阈值进行比较,获得第二比较结果;所述第一处理子模块,用于根据所述第一比较结果和所述第二比较结果,处理新的写操作;所述第二处理子模块,用于根据所述第一比较结果和/或所述第二比较结果,则将所述新的写操作存入待处理队列中,继续处理所述正在处理的写操作。
5.根据权利要求4所述的装置,其特征在于,所述控制与处理模块还包括:
第三处理子模块,用于等待正在处理的一个或多个写操作处理完成后,优先处理所述待处理队列中较先存入的写操作。
6.根据权利要求4-5任一项所述的装置,其特征在于,所述装置还包括:
策略获取模块,用于获取处理阈值的调整策略;
所述调整策略包括:多个处理策略的调整值,以及与每个所述调整值相对应的CPU负载区间及内存使用量区间;各个所述CPU负载区间互不相交,各个所述内存使用量区间互不相交;所述调整值越小,所述调整值对应的CPU负载越大,且所述调整值对应的内存使用量越大;
所述调度模块,包括:比较子模块,第一调整子模块和第二调整子模块;
所述比较子模块,用于将所述压力信息中CPU负载对应的调整值,与所述压力信息中内存使用量对应的调整值进行比较,获得比较结果;
所述第一调整子模块,用于根据所述比较结果,将所述CPU负载和所述内存使用量共同对应的调整值作为处理阈值,并将调整后的处理阈值返回所述控制与处理模块;
所述第二调整子模块,用于根据所述比较结果,将所述CPU负载对应的调整值与所述内存使用量对应的调整值中,较小的调整值作为处理阈值,并将调整后的处理阈值返回所述控制与处理模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810885670.4/1.html,转载请声明来源钻瓜专利网。