[發(fā)明專利]文件鎖定、解鎖方法及系統(tǒng)有效
| 申請?zhí)枺?/td> | 201410085383.7 | 申請日: | 2014-03-10 |
| 公開(公告)號: | CN103795813B | 公開(公告)日: | 2021-05-07 |
| 發(fā)明(設(shè)計)人: | 楊劍;韓竹 | 申請(專利權(quán))人: | 上海亦存網(wǎng)絡(luò)科技有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08;G06F21/62 |
| 代理公司: | 上海君瀾律師事務(wù)所 31338 | 代理人: | 陳凱 |
| 地址: | 200030 上海市*** | 國省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 文件 鎖定 解鎖 方法 系統(tǒng) | ||
1.一種文件鎖定方法,其特征在于包括以下步驟:
當(dāng)前用戶設(shè)備根據(jù)系統(tǒng)事件判定所述當(dāng)前用戶設(shè)備處的本地文件的文件鎖定狀態(tài),所述系統(tǒng)事件包括用戶通過所述當(dāng)前用戶設(shè)備的其他應(yīng)用程序?qū)λ霰镜匚募拇蜷_文件事件、關(guān)閉文件事件、進(jìn)程打開事件或進(jìn)程結(jié)束事件;
其中,所述當(dāng)前用戶設(shè)備包括狀態(tài)同步裝置、狀態(tài)檢測裝置和計數(shù)器,所述狀態(tài)檢測裝置被啟動,隨時準(zhǔn)備從所述當(dāng)前用戶設(shè)備接收所述系統(tǒng)事件,并在接收到所述系統(tǒng)事件后依據(jù)所述系統(tǒng)事件判定所述本地文件的所述文件鎖定狀態(tài);
其中,所述狀態(tài)檢測裝置接收到的所述系統(tǒng)事件的事件源包括以下一種或多種:Windows File System Watcher API、Windows File System Filter Drivers API、Windows Process State API、Linux inotify API、Linux Proc API、OS X File SystemEvents API、OS XNS Workspace API;
如果所述系統(tǒng)事件為打開文件事件,則所述計數(shù)器加1;
所述狀態(tài)檢測裝置獲取所述當(dāng)前用戶設(shè)備處系統(tǒng)應(yīng)用程序接口中的open操作調(diào)用記錄,并判斷所述記錄中是否包含寫權(quán)限;
如果所述記錄中不包含寫權(quán)限,則忽略;如果所述記錄中包含寫權(quán)限,則判定所述文件鎖定狀態(tài)為鎖定狀態(tài),由所述狀態(tài)同步裝置將所述文件鎖定狀態(tài)同步到遠(yuǎn)端服務(wù)器,并允許所述用戶開始編輯;
所述遠(yuǎn)端服務(wù)器被配置為能夠在接收到來自所述當(dāng)前用戶設(shè)備的所述文件鎖定狀態(tài)后,將所述文件鎖定狀態(tài)同步到其他各個用戶設(shè)備;
所述其他各個用戶設(shè)備根據(jù)獲得的所述文件鎖定狀態(tài),由所述其他各個用戶設(shè)備處的所述狀態(tài)同步裝置更新所述其他各個用戶設(shè)備處的所述本地文件的本地文件信息;以及
如果所述系統(tǒng)事件為關(guān)閉文件事件,則所述計數(shù)器減1;
如果所述計數(shù)器不為0,則維持所述文件鎖定狀態(tài);
如果所述計數(shù)器為0,則判定所述文件鎖定狀態(tài)為解鎖狀態(tài),并將所述文件鎖定狀態(tài)同步到所述遠(yuǎn)端服務(wù)器;
所述遠(yuǎn)端服務(wù)器將所述文件鎖定狀態(tài)同步到所述其他各個用戶設(shè)備,由所述其他各個用戶設(shè)備處的所述狀態(tài)同步裝置更新所述其他各個用戶設(shè)備處的所述本地文件的讀寫權(quán)限;
其中,如果所述系統(tǒng)事件為關(guān)閉文件事件,進(jìn)一步收集所述本地文件的歷史時間間隔,其中,所述歷史時間間隔為所述本地文件歷史上的關(guān)閉與再寫入之間的時間間隔;
判斷所述本地文件的歷史時間間隔是否小于預(yù)設(shè)值;
如果所述歷史時間間隔小于所述預(yù)設(shè)值,則保持所述本地文件為鎖定狀態(tài)直到超過所述預(yù)設(shè)值或者進(jìn)程退出后,所述計數(shù)器減1并判斷所述計數(shù)器是否為0;以及
如果所述歷史時間間隔大于等于所述預(yù)設(shè)值,則所述計數(shù)器減1并判斷所述計數(shù)器是否為0;
其中,所述狀態(tài)檢測裝置被啟動后,進(jìn)一步被配置為能夠捕獲所述當(dāng)前用戶設(shè)備處文件系統(tǒng)級別的寫入事件,并判斷所述本地文件是否被對應(yīng)進(jìn)程鎖定;
如果所述本地文件被對應(yīng)進(jìn)程鎖定,則所述遠(yuǎn)端服務(wù)器將所述本地文件的所述文件鎖定狀態(tài)同步到所述其他各個用戶設(shè)備,由所述其他各個用戶設(shè)備處的所述狀態(tài)同步裝置更新所述其他各個用戶設(shè)備處的所述本地文件的所述本地文件信息;以及
如果所述本地文件未被對應(yīng)進(jìn)程鎖定,則所述計數(shù)器加1,并判定所述文件鎖定狀態(tài)為鎖定,由所述狀態(tài)同步裝置將所述文件鎖定狀態(tài)同步到所述遠(yuǎn)端服務(wù)器。
2.如權(quán)利要求1所述的文件鎖定方法,其特征在于,根據(jù)系統(tǒng)事件判定所述當(dāng)前用戶設(shè)備處的本地文件的文件鎖定狀態(tài)包括,當(dāng)所述系統(tǒng)事件是文件系統(tǒng)級別的寫入事件,那么檢測該文件是否被對應(yīng)進(jìn)程鎖定,如果沒有鎖定,則補充執(zhí)行鎖定操作。
3.如權(quán)利要求1或2所述的文件鎖定方法,其特征在于,根據(jù)系統(tǒng)事件判定所述當(dāng)前用戶設(shè)備處的本地文件的文件鎖定狀態(tài)包括,當(dāng)所述系統(tǒng)事件是系統(tǒng)重啟事件時,解除所有鎖定操作,并且將文件鎖定狀態(tài)同步到所述遠(yuǎn)端服務(wù)器。
4.如權(quán)利要求1或2所述的文件鎖定方法,其特征在于,由所述其他各個用戶設(shè)備處的所述狀態(tài)同步裝置更新所述其他各個用戶設(shè)備處的所述本地文件的本地文件信息是指更新本地文件的讀寫權(quán)限或者更新本地文件的強(qiáng)制鎖狀態(tài)。
5.一種文件鎖定系統(tǒng),其特征在于,包括:
遠(yuǎn)端服務(wù)器,連接各個用戶設(shè)備,用于在用戶設(shè)備間同步文件鎖定狀態(tài),其中,所述遠(yuǎn)端服務(wù)器被配置為能夠在接收到來自用戶設(shè)備的所述文件鎖定狀態(tài)后,將所述文件鎖定狀態(tài)同步到其他各個用戶設(shè)備;
狀態(tài)檢測裝置,設(shè)置在每一個用戶設(shè)備端,用于檢測本地文件的鎖定狀態(tài)的變化,根據(jù)系統(tǒng)事件判斷用戶設(shè)備端的所述本地文件的鎖定狀態(tài);所述系統(tǒng)事件包括用戶通過當(dāng)前用戶設(shè)備的其他應(yīng)用程序?qū)λ霰镜匚募拇蜷_文件事件、關(guān)閉文件事件、進(jìn)程打開事件或進(jìn)程結(jié)束事件;
狀態(tài)同步裝置,設(shè)置在每一個用戶設(shè)備端,用于接收來自所述狀態(tài)檢測裝置的文件鎖定狀態(tài)以將所述文件鎖定狀態(tài)同步到所述遠(yuǎn)端服務(wù)器,以及用于從所述遠(yuǎn)端服務(wù)器同步來自其他用戶設(shè)備的文件鎖定狀態(tài),更新用戶設(shè)備端的本地文件信息;
其中,所述遠(yuǎn)端服務(wù)器與所述狀態(tài)同步裝置通信相連,在每一個用戶設(shè)備內(nèi),所述狀態(tài)檢測裝置與所述狀態(tài)同步裝置連接;以及
計數(shù)器,所述計數(shù)器分別與所述狀態(tài)同步裝置和所述狀態(tài)檢測裝置連接,用于對鎖定文件的進(jìn)程進(jìn)計數(shù);
其中,所述遠(yuǎn)端服務(wù)器、所述狀態(tài)檢測裝置、所述狀態(tài)同步裝置和所述計數(shù)器進(jìn)一步被配置為能夠執(zhí)行如權(quán)利要求1-4中任一項所述的文件鎖定方法。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于上海亦存網(wǎng)絡(luò)科技有限公司,未經(jīng)上海亦存網(wǎng)絡(luò)科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410085383.7/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





