[发明专利]一种资源共享的方法及系统有效
申请号: | 201010182624.1 | 申请日: | 2010-05-24 |
公开(公告)号: | CN102262559A | 公开(公告)日: | 2011-11-30 |
发明(设计)人: | 禹荣凌 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/50 |
代理公司: | 深圳中一专利商标事务所 44237 | 代理人: | 贾振勇 |
地址: | 518044 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 资源共享 方法 系统 | ||
技术领域
本发明属于计算机应用领域,尤其涉及一种资源共享的方法及系统。
背景技术
当多个进程或线程并发访问同一个资源时,为了保证资源的一致性,必须遵守互斥规则。在具体实现时,互斥规则主要包括共享锁(也称为读锁)和互斥锁(也称为写锁)两种。其中共享锁是指多个进程或线程可以同时访问资源,但不能修改资源。即当某个进程或线程在访问资源,不是修改资源时,对该资源增加共享锁,则其他进程或线程可以访问该资源,但不可以修改该资源。其中互斥锁是指多个进程或线程不可以同时访问资源。即当某个进程或线程访问资源(一般是修改资源)时,其他进程或线程此时都不能在访问(包括读取和修改)该资源。因此,需要一种技术来按照互斥规则实现资源共享。
现有技术提供了一种通过信号量的方式来按照互斥规则实现资源共享的方法,简述如下:声明一个semaphore对应一个资源,目前主流的semaphore有两种,一种是SYSV的semaphore,使用semop申请或释放锁,一种是POSIX的semaphore,使用sem_wait申请锁,使用sem_post释放锁,SYSV的semaphore个数是有限制的,POSIX的semaphore则需要显示的占用用户空间的内存。这种方法因为semaphore个数有限或者semaphore需要显示的占用用户空间的内存,从而导致系统中可以使用的信号量的数目容易达到上限,当需要同时互斥的资源较多时,将出现信号量不够用而无法按照互斥规则实现资源共享。
现有技术还提供了一种本地POSIX线程库(Native POSIX Thread Library,NPTL)互斥锁。但NPTL互斥锁是适用于单进程内的多线程互斥的,无法跨越进程,实现多进程互斥。
发明内容
本发明实施例的目的在于提供一种资源共享的方法,旨在解决通过文件锁实现大量资源的跨进程互斥访问的问题。
本发明实施例是这样实现的,一种资源共享的方法,所述方法包括下述步骤:
设置资源与文件中的字节之间的对应关系;
当进程访问资源时,针对文件中与该资源对应的字节申请文件锁,并在文件锁申请成功后,进程按照申请的文件锁访问资源;
当进程释放资源时,解除进程针对文件中该资源对应的字节申请的文件锁。
本发明实施例的另一目的在于提供一种资源共享系统,所述系统包括:
对应关系存储单元,用于存储设置的资源与文件中的字节之间的对应关系;
文件锁申请单元,用于在进程访问资源时,针对文件中与该资源对应的字节申请文件锁;
资源访问单元,用于在所述文件锁申请单元的文件锁申请成功后,使进程按照申请的文件锁访问资源;
文件锁解除单元,用于在进程释放资源时,解除进程针对文件中该资源对应的字节申请的文件锁。
在本发明实施例中,通过文件锁实现资源的互斥共享,由于对文件中与该资源对应的字节申请文件锁,即对文件中对应的偏移量申请文件锁,锁住的是文件的偏移量,而与文件的实际内容无关,因此,对文件的大小没有要求,从而可以实现大量资源的跨进程互斥访问。
附图说明
图1是本发明第一实施例提供的资源共享的方法的实现流程图;
图2是本发明第二实施例提供的资源共享的方法的实现流程图;
图3是本发明第三实施例提供的资源共享的方法的实现流程图;
图4是本发明实施例提供的资源共享的示例图;
图5是本发明第四实施例提供的资源共享系统的结构框图;
图6是本发明第五、六实施例提供的资源共享系统的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,预先设置资源与文件中的字节之间的对应关系,当进程访问资源时,针对文件中与该资源对应的字节申请文件锁,并在文件锁申请成功后,访问该资源,当进程释放该资源时,解除针对文件中与该资源对应的字节的文件锁,由于文件锁只是锁住文件的偏移量,从而文件的大小可以为任意大小,从而可以实现大量资源的跨进程互斥访问。
实施例一:
图1示出了本发明第一实施例提供的资源共享的方法的实现流程,详述如下:
在步骤S101中,设置资源与文件中的字节之间的对应关系。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010182624.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:虚拟机调度决策的系统、平台及方法
- 下一篇:一种划屏智能感应系统