[发明专利]一种读写锁优化方法、装置、系统及存储介质在审
| 申请号: | 201911408539.X | 申请日: | 2019-12-31 |
| 公开(公告)号: | CN111143080A | 公开(公告)日: | 2020-05-12 |
| 发明(设计)人: | 娄婷 | 申请(专利权)人: | 联想(北京)有限公司 |
| 主分类号: | G06F9/52 | 分类号: | G06F9/52 |
| 代理公司: | 北京乐知新创知识产权代理事务所(普通合伙) 11734 | 代理人: | 江宇 |
| 地址: | 100085 北京市海淀*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 读写 优化 方法 装置 系统 存储 介质 | ||
1.一种读写锁优化方法,其特征在于,所述方法包括:
接收加锁请求,所述加锁请求包括读锁请求和写锁请求;
依据读锁优先的原则将所述加锁请求有序地插入到待调度队列中,使得读锁请求都排在写锁请求之前;
在满足指定条件下,将所述待调度队列中的加锁请求全部按原有顺序移动到待执行队列中;
依据读写锁方法依次对所述待执行队列中的加锁请求进行处理。
2.根据权利要求1所述的方法,其特征在于,在所述接收加锁请求之前,所述方法还包括:
建立待调度队列并进行初始化;
建立待执行队列并进行初始化;
创建读写锁数据结构并进行初始化,所述数据结构包括指向所述待调度队列的指针、指向所述待执行队列的指针、所述待调度队列中读锁的请求个数、所述待调度队列中写锁的请求个数、所述待执行队列中读锁的请求个数、所述待执行队列中写锁的请求个数和指向当前执行加锁请求的指针。
3.根据权利要求1所述的方法,其特征在于,所述依据读锁优先的原则将所述加锁请求有序地插入到待调度队列中,包括:
根据所述加锁请求的类型为所述加锁请求设置优先级,其中,若所述加锁请求为加读锁的请求,则为所述加锁请求设置数值为负的优先级,若所述加锁请求为加写锁的请求,则为所述加锁请求设置数值为正的优先级,所述优先级的绝对值为所述加锁请求的线程标识号;
依照优先级由小至大的排序方法将所述加锁请求有序地插入到待调度队列中。
4.根据权利要求1所述的方法,其特征在于,所述在满足指定条件下,将所述待调度队列中的加锁请求全部按原有顺序移动到待执行队列中,包括:
在间隔指定的时间片后,将所述待调度队列中的加锁请求全部按原有顺序移动到待执行队列中。
5.根据权利要求1所述的方法,其特征在于,所述在满足指定条件下,将所述待调度队列中的加锁请求全部按原有顺序移动到待执行队列中包括:
在待执行队列的加锁请求变为零时,将所述待调度队列中的加锁请求全部按原有顺序移动到待执行队列中。
6.一种读写锁优化装置,其特征在于,所述装置包括:
接收模块,用于接收加锁请求,所述加锁请求包括读锁请求和写锁请求;
插入模块,用于依据读锁优先的原则将所述加锁请求有序地插入到待调度队列中,使得读锁请求都排在写锁请求之前;
移动模块,用于在满足指定条件下,将所述待调度队列中的加锁请求全部按原有顺序移动到待执行队列中;
读写锁处理模块,用于依据读写锁方法依次对所述待执行队列中的加锁请求进行处理。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
初始化模块,用于建立待调度队列并进行初始化;建立待执行队列并进行初始化;创建读写锁数据结构并进行初始化,所述数据结构包括指向所述待调度队列的指针、指向所述待执行队列的指针、所述待调度队列中读锁的请求个数、所述待调度队列中写锁的请求个数、所述待执行队列中读锁的请求个数、所述待执行队列中写锁的请求个数和指向当前执行加锁请求的指针。
8.根据权利要求6所述的装置,其特征在于,所述插入模块包括:
优先级设置单元,用于根据所述加锁请求的类型为所述加锁请求设置优先级,其中,若所述加锁请求为加读锁的请求,则为所述加锁请求设置数值为负的优先级,若所述加锁请求为加写锁的请求,则为所述加锁请求设置数值为正的优先级,所述优先级的绝对值为所述加锁请求的线程标识号;
插入单元,用于依照优先级由小至大的排序方法将所述加锁请求有序地插入到待调度队列中。
9.一种读写锁优化系统,其特征在于,所述系统包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行如权利要求1至5任一项所述的读写锁优化方法。
10.一种存储介质,在所述存储介质上存储了程序指令,其中,所述程序指令在运行时用于执行如权利要求1至5任一项所述的读写锁优化方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于联想(北京)有限公司,未经联想(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911408539.X/1.html,转载请声明来源钻瓜专利网。





