[發明專利]一種資源共享的方法及系統有效
| 申請號: | 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.szxzyx.cn/pat/books/201010182624.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:虛擬機調度決策的系統、平臺及方法
- 下一篇:一種劃屏智能感應系統





