[发明专利]一种对共享资源互斥访问的同步方法、装置和网络设备无效
申请号: | 200910091209.2 | 申请日: | 2009-08-14 |
公开(公告)号: | CN101631328A | 公开(公告)日: | 2010-01-20 |
发明(设计)人: | 宋树迎 | 申请(专利权)人: | 北京星网锐捷网络技术有限公司 |
主分类号: | H04W24/00 | 分类号: | H04W24/00 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100036北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 共享资源 访问 同步 方法 装置 网络设备 | ||
1.一种对共享资源互斥访问的同步方法,其特征在于,所述方法包括:
锁住锁一,将共享资源指针变量指向共享资源的原始副本,解开锁一; 所述锁一为读写自旋锁;
对共享资源进行读操作时,锁住锁一,读取共享资源指针变量,解开锁 一;读取共享资源指针变量指向的原始副本;
对共享资源进行写操作时,锁住锁二,锁住锁一,读取共享资源指针变 量,解开锁一;读取共享资源指针变量指向的原始副本;根据所述原始副本 复制并更新共享资源的新副本,锁住锁一,将共享资源指针变量指向更新后 的新副本,解开锁一,解开锁二;所述锁二为自旋锁。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:判断所 述副本是否未被引用,如果是则释放所述副本。
3.根据权利要求2所述的方法,其特征在于,
所述将共享资源指针变量指向共享资源的原始副本后,还要对原始副本 进行增加引用的计数;
所述读取共享资源指针变量后,还要对原始副本进行增加引用的计数;
所述根据所述原始副本复制并更新共享资源的新副本后,还要对原始副 本进行减少引用的计数;
所述将共享资源指针变量指向更新后的新副本后,还要对原始副本进行 减少引用的计数,对新副本进行增加引用的计数;
所述方法还包括:读操作完成后,对原始副本进行减少引用的计数;
所述判断所述副本是否未被引用具体为:根据副本的计数值判断所述副 本是否未被引用。
4.一种对共享资源互斥访问的同步装置,其特征在于,所述装置包括初 始化模块、读操作模块、写操作模块和存储模块;
所述初始化模块用于:锁住锁一,将共享资源指针变量指向共享资源的 原始副本,解开锁一;所述锁一为读写自旋锁;
所述读操作模块用于对共享资源进行读操作时,锁住锁一,读取共享资 源指针变量,解开锁一;读取共享资源指针变量指向的原始副本;
所述写操作模块用于对共享资源进行写操作时,锁住锁二,锁住锁一, 读取共享资源指针变量,解开锁一;读取共享资源指针变量指向的原始副本; 根据所述原始副本复制并更新共享资源的新副本,锁住锁一,将共享资源指 针变量指向更新后的新副本,解开锁一,解开锁二;所述锁二为自旋锁;
所述存储模块与初始化模块、读操作模块和写操作模块连接,用于存储 指针变量、共享资源的原始副本和共享资源的新副本。
5.根据权利要求4所述的装置,其特征在于,所述装置还包括判断释放 模块,与存储模块连接,用于判断所述副本是否未被引用,如果是则释放所 述副本。
6.根据权利要求5所述的装置,其特征在于,
所述初始化模块还用于将共享资源指针变量指向共享资源的原始副本 后,对原始副本进行增加引用的计数;
所述读操作模块还用于在读取共享资源指针变量后,对原始副本进行增 加引用的计数;
所述写操作模块还用于在读取共享资源指针变量后,对原始副本进行增 加引用的计数;
所述写操作模块还用于在根据所述原始副本复制并更新共享资源的新副 本后,对原始副本进行减少引用的计数;
所述写操作模块还用于在将共享资源指针变量指向更新后的新副本后, 对原始副本进行减少引用的计数,对新副本进行增加引用的计数;
所述读操作模块还用于在读操作完成后,对原始副本进行减少引用的计 数;
所述判断释放模块具体用于根据副本的计数值判断所述副本是否未被引 用,如果是则释放所述副本。
7.一种包括权利要求4-6任一所述装置的网络设备。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京星网锐捷网络技术有限公司,未经北京星网锐捷网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910091209.2/1.html,转载请声明来源钻瓜专利网。