[發明專利]一種數據庫表單記錄加鎖方法和裝置無效
| 申請號: | 201110051430.2 | 申請日: | 2011-02-25 |
| 公開(公告)號: | CN102651006A | 公開(公告)日: | 2012-08-29 |
| 發明(設計)人: | 王飛;陸曙蕓 | 申請(專利權)人: | 上海網環信息科技有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 200070 上*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據庫 表單 記錄 加鎖 方法 裝置 | ||
技術領域
本發明涉及數據庫技術應用領域,特別是指一種數據庫表單記錄的加鎖控制方法和裝置。?
背景技術
在數據庫的使用過程中,往往存在多用戶同時訪問同一數據庫數據的情況。多個客戶端同時調用同一數據庫的相同數據,而多用戶同時對同一數據庫的數據并發操作容易導致數據誤讀、數據不可重復讀取,甚至數據丟失等現象。為了解決因數據共享而產生的沖突,確保數據的一致性和準確性,軟件開發人員通常采用數據庫現有的封鎖指令鎖死記錄,對數據庫并發操作進行控制。?
數據庫封鎖方式分共享鎖、獨占鎖和更新鎖三種,其中共享鎖和獨占鎖用于表封鎖,更新鎖用于行封鎖。共享鎖保證查詢數據的一致性,其原理是對數據庫表中的所有數據進行封鎖,共享該表的所有用戶只能查詢表中的數據,不能對表進行更新。獨占鎖保證數據的一致性,其原理是封鎖表中所有數據,擁有該獨占鎖的用戶,既可以查詢該表,也可以更新該表,其他用戶可以查詢該表,但不能對該表施加任何封鎖,也不能更新該表。更新鎖是對一個表的一行或多行進行封鎖,也稱行級封鎖。擁有行級封鎖的用戶,既可以查詢也可以更新被封鎖的數據行,其他用戶只能查詢但不能更新被封鎖的數據行。其他用戶如果要更新該數據行,也必須對該數據行施加更新鎖。當多個用戶對該數據行施加更新鎖時,也不允許兩個事務同時對一個表進行更新。當用戶1在某行上進行更新操作時,用戶2只有等待用戶1提交事務后,才能更新自己所封鎖的行。?
傳統的封鎖機制實現了一種并發控制,可以滿足一般數據庫應用對并發控制的要求,但還是存在一些缺陷:表級封鎖保證了數據的一致性,但卻減弱了操作數據的并行性;行級封鎖確保在用戶取得被更新的行到該行進行更新這段時間內不被其它用戶所修改,在提高數據操作的并發性的同時保證了數據的一致性,但如果要對一系列數據庫表單行數據進行加鎖時,程序設計非常繁瑣,系統開銷太大,軟件維護也比較困難。?
發明內容
本發明的目的是要提供一種簡單、靈活的數據庫表單記錄加鎖控制方法和裝置,實現對“以某一字段為主KEY的涉及一系列數據庫表單行數據”加鎖,降低了技術開發的工作量,靈活添加鎖定范圍,而無須每次對數據表中的每行記錄進行加鎖操作,且保證了加鎖后,在以主KEY為關鍵字的相關數據庫表不能進行任何新增修改刪除操作,不影響主KEY外的其他數據庫表的操作,保證加鎖操作目標準確。?
本發明一種數據庫表單記錄加鎖控制方法和裝置內容包括:?
一種數據庫表單記錄加控制的方法,包括:?
一種數據庫表單記錄加鎖控制方法是對一個與主KEY關聯的一組數據庫表進行加鎖控制,包括:?
在數據庫表中設置主KEY,含相同主KEY的一組數據庫表的集合根據指定記錄中的鎖定字段狀態執行加鎖和解鎖指令;?
編輯任意一條數據庫表記錄時,首先判斷該記錄所對應的鎖定狀態字段的標識是否為加鎖狀態,若為是,則需要先解鎖。若為否,則成功防問記錄;?
成功訪問記錄時,主表記錄的鎖定狀態字段標識為加鎖狀態,同時相關聯的數據表集合也自動標識為加鎖狀態;?
正常退出數據庫記錄時,主表記錄的鎖定狀態字段釋放加鎖標識,其余字段為空;非正常退出數據庫記錄時,主表記錄的鎖定狀態字段仍標識為加鎖狀態,其余字段記錄保持加鎖狀態時相應的信息。?
其中,所述的在數據庫表中設置主KEY關聯的一組字段包括:含有該主KEY的主表添加鎖定狀態字段、用戶ID字段和MAC地址字段。?
其中,所述的解鎖,只有當以主KEY關聯的數據庫表單中的用戶ID和MAC地址與客戶端本次登陸的用戶ID和MAC地址同時匹配時,該記錄自動標識為非加鎖狀態,否則不能完成解鎖程序。?
其中,所述的正常退出數據庫是指沒有鏈接正常退出通道而退出該記錄。?
其中,所述的非正常退出數據庫是指沒有鏈接設計的退出通道退出該記錄,包括直接點擊IE本身的關閉按鈕、直接鏈接退出登入頁面、直接鏈接其它模塊。?
本發明還公開了一種數據庫表單行記錄加鎖控制的裝置,該裝置是對與一個關鍵字組合相關的多數據庫表多行記錄集合進行加鎖控制的裝置,包括:?
申請訪問數據庫單元,發送操作數據庫表單記錄的申請給接收單元;?
接收申請單元,接收訪問申請單元發送的編輯操作數據庫表單記錄的申請信息;?
判斷單元,根據接收申請單元中接收到的申請訪問的數據庫表單的記錄信息,判斷是否允許訪問該記錄,若不允許訪問,則向解鎖單元發送解鎖申請,若允許訪問,則向存儲單元發送訪問狀態;?
存儲單元,保存被訪問的數據庫表單記錄信息;?
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海網環信息科技有限公司,未經上海網環信息科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110051430.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種寬范圍高壓輸出變換器
- 下一篇:電源電路





