[发明专利]对于大数据结构的表目锁定无效
申请号: | 02822408.6 | 申请日: | 2002-10-28 |
公开(公告)号: | CN1610884A | 公开(公告)日: | 2005-04-27 |
发明(设计)人: | J·胡格布鲁格;P·斯特拉维斯 | 申请(专利权)人: | 皇家飞利浦电子股份有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 中国专利代理(香港)有限公司 | 代理人: | 刘杰;王忠忠 |
地址: | 荷兰艾*** | 国省代码: | 荷兰;NL |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明根据这样一种思想,即对于具有N个表目的大数据结构,通过在一个代表一个表目的值上执行散列函数,使其成为1到M之间的一个被散列值,用于相应于所述表目的锁的存储空间可以被节省。这个被散列的值被用于索引M个锁的表。M值典型地比N值小很多,从而减少存储空间需求。如果M被选择足够大并且一种好的散列函数被选择,则碰撞问题将很小。另外,当第二个表目的被散列值等于第一个表目的被散列值时,与死锁有关的问题出现,通过当第二个表目的被散列值小于第一个表目的被散列值时,通过交换所述第一和第二个表目的所述散列值,所述问题可以得到解决。 | ||
搜索关键词: | 对于 数据结构 锁定 | ||
【主权项】:
1.一种用于特别在从多个进程可访问的大数据结构中锁定表目的方法,其中递归锁被使用,该方法包括步骤:将第一个表目(e1)散列成为在1和M之间的第一个值(i),将第二个表目(e2)散列成为在1和M之间的第二个值(j);如果所述第二个值(j)小于所述第一个值(i),则交换所述第一个和第二个被散列值(i;j);通过第一个进程获取相应于被散列的第一个值(i)的第一个锁(lock(i));通过第二个进程获取相应于被散列的第二个值(j)的第二个锁(lock(j));其中根据被散列的第一个值(i)来授权所述第一个进程独占访问所述第一个表目(e1);并且其中根据被散列的第二个值(j)来授权所述第二个进程独占访问所述第二个表目(e2);其中在已经在所述第一个表目(e1)上执行处理之后,使得所述第一个进程能够释放所述第一个锁(lock(i)),并且其中在已经在所述第二个表目(e2)上执行处理之后,使得所述第二个进程能够释放所述第二个锁(lock(j))。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于皇家飞利浦电子股份有限公司,未经皇家飞利浦电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/02822408.6/,转载请声明来源钻瓜专利网。