專利名稱:一種數(shù)據(jù)庫(kù)表單記錄加鎖方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)庫(kù)技術(shù)應(yīng)用領(lǐng)域,特別是指一種數(shù)據(jù)庫(kù)表單記錄的加鎖控制方法和裝置。
背景技術(shù):
在數(shù)據(jù)庫(kù)的使用過(guò)程中,往往存在多用戶同時(shí)訪問(wèn)同一數(shù)據(jù)庫(kù)數(shù)據(jù)的情況。多個(gè)客戶端同時(shí)調(diào)用同一數(shù)據(jù)庫(kù)的相同數(shù)據(jù),而多用戶同時(shí)對(duì)同一數(shù)據(jù)庫(kù)的數(shù)據(jù)并發(fā)操作容易導(dǎo)致數(shù)據(jù)誤讀、數(shù)據(jù)不可重復(fù)讀取,甚至數(shù)據(jù)丟失等現(xiàn)象。為了解決因數(shù)據(jù)共享而產(chǎn)生的沖突,確保數(shù)據(jù)的一致性和準(zhǔn)確性,軟件開發(fā)人員通常采用數(shù)據(jù)庫(kù)現(xiàn)有的封鎖指令鎖死記錄,對(duì)數(shù)據(jù)庫(kù)并發(fā)操作進(jìn)行控制。數(shù)據(jù)庫(kù)封鎖方式分共享鎖、獨(dú)占鎖和更新鎖三種,其中共享鎖和獨(dú)占鎖用于表封鎖,更新鎖用于行封鎖。共享鎖保證查詢數(shù)據(jù)的一致性,其原理是對(duì)數(shù)據(jù)庫(kù)表中的所有數(shù)據(jù)進(jìn)行封鎖,共享該表的所有用戶只能查詢表中的數(shù)據(jù),不能對(duì)表進(jìn)行更新。獨(dú)占鎖保證數(shù)據(jù)的一致性,其原理是封鎖表中所有數(shù)據(jù),擁有該獨(dú)占鎖的用戶,既可以查詢?cè)摫?,也可以更新該表,其他用戶可以查詢?cè)摫?,但不能?duì)該表施加任何封鎖,也不能更新該表。更新鎖是對(duì)一個(gè)表的一行或多行進(jìn)行封鎖,也稱行級(jí)封鎖。擁有行級(jí)封鎖的用戶,既可以查詢也可以更新被封鎖的數(shù)據(jù)行,其他用戶只能查詢但不能更新被封鎖的數(shù)據(jù)行。其他用戶如果要更新該數(shù)據(jù)行,也必須對(duì)該數(shù)據(jù)行施加更新鎖。當(dāng)多個(gè)用戶對(duì)該數(shù)據(jù)行施加更新鎖時(shí),也不允許兩個(gè)事務(wù)同時(shí)對(duì)一個(gè)表進(jìn)行更新。當(dāng)用戶I在某行上進(jìn)行更新操作時(shí),用戶2只有等待用戶I提交事務(wù)后,才能更新自己所封鎖的行。傳統(tǒng)的封鎖機(jī)制實(shí)現(xiàn)了一種并發(fā)控制,可以滿足一般數(shù)據(jù)庫(kù)應(yīng)用對(duì)并發(fā)控制的要求,但還是存在一些缺陷表級(jí)封鎖保證了數(shù)據(jù)的一致性,但卻減弱了操作數(shù)據(jù)的并行性;行級(jí)封鎖確保在用戶取得被更新的行到該行進(jìn)行更新這段時(shí)間內(nèi)不被其它用戶所修改,在提高數(shù)據(jù)操作的并發(fā)性的同時(shí)保證了數(shù)據(jù)的一致性,但如果要對(duì)一系列數(shù)據(jù)庫(kù)表單行數(shù)據(jù)進(jìn)行加鎖時(shí),程序設(shè)計(jì)非常繁瑣,系統(tǒng)開銷太大,軟件維護(hù)也比較困難。
發(fā)明內(nèi)容
本發(fā)明的目的是要提供一種簡(jiǎn)單、靈活的數(shù)據(jù)庫(kù)表單記錄加鎖控制方法和裝置,實(shí)現(xiàn)對(duì)“以某一字段為主KEY的涉及一系列數(shù)據(jù)庫(kù)表單行數(shù)據(jù)”加鎖,降低了技術(shù)開發(fā)的工作量,靈活添加鎖定范圍,而無(wú)須每次對(duì)數(shù)據(jù)表中的每行記錄進(jìn)行加鎖操作,且保證了加鎖后,在以主KEY為關(guān)鍵字的相關(guān)數(shù)據(jù)庫(kù)表不能進(jìn)行任何新增修改刪除操作,不影響主KEY外的其他數(shù)據(jù)庫(kù)表的操作,保證加鎖操作目標(biāo)準(zhǔn)確。本發(fā)明一種數(shù)據(jù)庫(kù)表單記錄加鎖控制方法和裝置內(nèi)容包括一種數(shù)據(jù)庫(kù)表單記錄加控制的方法,包括一種數(shù)據(jù)庫(kù)表單記錄加鎖控制方法是對(duì)一個(gè)與主KEY關(guān)聯(lián)的一組數(shù)據(jù)庫(kù)表進(jìn)行加鎖控制,包括
在數(shù)據(jù)庫(kù)表中設(shè)置主KEY,含相同主KEY的一組數(shù)據(jù)庫(kù)表的集合根據(jù)指定記錄中的鎖定字段狀態(tài)執(zhí)行加鎖和解鎖指令;編輯任意一條數(shù)據(jù)庫(kù)表記錄時(shí),首先判斷該記錄所對(duì)應(yīng)的鎖定狀態(tài)字段的標(biāo)識(shí)是否為加鎖狀態(tài),若為是,則需要先解鎖。若為否,則成功防問(wèn)記錄;成功訪問(wèn)記錄時(shí),主表記錄的鎖定狀態(tài)字段標(biāo)識(shí)為加鎖狀態(tài),同時(shí)相關(guān)聯(lián)的數(shù)據(jù)表集合也自動(dòng)標(biāo)識(shí)為加鎖狀態(tài);正常退出數(shù)據(jù)庫(kù)記錄時(shí),主表記錄的鎖定狀態(tài)字段釋放加鎖標(biāo)識(shí),其余字段為空;非正常退出數(shù)據(jù)庫(kù)記錄時(shí),主表記錄的鎖定狀態(tài)字段仍標(biāo)識(shí)為加鎖狀態(tài),其余字段記錄保持加鎖狀態(tài)時(shí)相應(yīng)的信息。其中,所述的在數(shù)據(jù)庫(kù)表中設(shè)置主KEY關(guān)聯(lián)的一組字段包括含有該主KEY的主表添加鎖定狀態(tài)字段、用戶ID字段和MAC地址字段。其中,所述的解鎖,只有當(dāng)以主KEY關(guān)聯(lián)的數(shù)據(jù)庫(kù)表單中的用戶ID和MAC地址與客戶端本次登陸的用戶ID和MAC地址同時(shí)匹配時(shí),該記錄自動(dòng)標(biāo)識(shí)為非加鎖狀態(tài),否則不能完成解鎖程序。其中,所述的正常退出數(shù)據(jù)庫(kù)是指沒(méi)有鏈接正常退出通道而退出該記錄。其中,所述的非正常退出數(shù)據(jù)庫(kù)是指沒(méi)有鏈接設(shè)計(jì)的退出通道退出該記錄,包括直接點(diǎn)擊IE本身的關(guān)閉按鈕、直接鏈接退出登入頁(yè)面、直接鏈接其它模塊。本發(fā)明還公開了一種數(shù)據(jù)庫(kù)表單行記錄加鎖控制的裝置,該裝置是對(duì)與一個(gè)關(guān)鍵字組合相關(guān)的多數(shù)據(jù)庫(kù)表多行記錄集合進(jìn)行加鎖控制的裝置,包括申請(qǐng)?jiān)L問(wèn)數(shù)據(jù)庫(kù)單元,發(fā)送操作數(shù)據(jù)庫(kù)表單記錄的申請(qǐng)給接收單元;接收申請(qǐng)單元,接收訪問(wèn)申請(qǐng)單元發(fā)送的編輯操作數(shù)據(jù)庫(kù)表單記錄的申請(qǐng)信息;判斷單元,根據(jù)接收申請(qǐng)單元中接收到的申請(qǐng)?jiān)L問(wèn)的數(shù)據(jù)庫(kù)表單的記錄信息,判斷是否允許訪問(wèn)該記錄,若不允許訪問(wèn),則向解鎖單元發(fā)送解鎖申請(qǐng),若允許訪問(wèn),則向存儲(chǔ)單元發(fā)送訪問(wèn)狀態(tài); 存儲(chǔ)單元,保存被訪問(wèn)的數(shù)據(jù)庫(kù)表單記錄信息;解鎖單元,接收訪問(wèn)判斷單元發(fā)送的解鎖申請(qǐng)信息,將申請(qǐng)人所屬的用戶ID字段、MAC地址字段信息于所訪問(wèn)的數(shù)據(jù)庫(kù)表單記錄的信息進(jìn)行匹配,并將解鎖后的數(shù)據(jù)庫(kù)表單記錄的信息發(fā)送到存儲(chǔ)單元;與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn)I、靈活聞效的記錄加鎖功能。通過(guò)在主表上對(duì)指定關(guān)鍵字組合建立鎖定標(biāo)識(shí)和用戶ID、MAC字段標(biāo)識(shí),實(shí)現(xiàn)與主表上的關(guān)鍵字組合相同的一系列附表的多行記錄的某種特定操作的加鎖,使加鎖過(guò)程更加靈活高效;2、保證記錄信息的時(shí)效性、避免了數(shù)據(jù)丟失、實(shí)現(xiàn)數(shù)據(jù)重復(fù)可讀性。保證了同時(shí)只能有一個(gè)用戶ID、使用一個(gè)客戶端更新數(shù)據(jù)庫(kù)記錄信息,保證記錄信息的實(shí)時(shí)同步更新,防止誤讀數(shù)據(jù),實(shí)現(xiàn)根鋸鎖死目標(biāo)嚴(yán)格鎖死的過(guò)程;3、開辟靈活高效的解鎖通道,開辟了手工的解鎖過(guò)程,也同樣保證同時(shí)只能由一 個(gè)用戶ID、使用一個(gè)客戶端解鎖,實(shí)現(xiàn)記錄信息的實(shí)時(shí)同步更新,防止誤讀數(shù)據(jù),實(shí)現(xiàn)根據(jù)解鎖目標(biāo)嚴(yán)格解鎖的過(guò)程。
圖I是本發(fā)明數(shù) 據(jù)庫(kù)表單記錄加鎖控制方法的流程示意圖;圖2是訪問(wèn)數(shù)據(jù)庫(kù)記錄時(shí)內(nèi)部的匹配過(guò)程圖;圖3是斷開數(shù)據(jù)庫(kù)訪問(wèn)記錄時(shí)數(shù)據(jù)的記錄過(guò)程圖;圖4是本發(fā)明數(shù)據(jù)庫(kù)表單記錄加鎖控制裝置的結(jié)構(gòu)框圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明。圖I示出了本發(fā)明數(shù)據(jù)庫(kù)表單記錄加鎖控制的方法的流程,包括以下步驟步驟S101,客戶端申請(qǐng)?jiān)L問(wèn)數(shù)據(jù)庫(kù)某條記錄,將用戶ID字段信息、客戶端MAC地址字段信息發(fā)送至接收申請(qǐng)單元202 ;步驟S102,數(shù)據(jù)庫(kù)端判斷該數(shù)據(jù)記錄的鎖定字段狀態(tài)的標(biāo)志是否為加鎖狀態(tài),若為是,則執(zhí)行步驟S104,若為否,則成功訪問(wèn)該記錄信息,鎖定狀態(tài)字段、用戶ID字段信息、客戶端MAC地址信息自動(dòng)標(biāo)識(shí)為加鎖狀態(tài),并記錄該用戶ID和MAC地址;步驟S103,客戶端斷開數(shù)據(jù)庫(kù)記錄連接時(shí),程序/數(shù)據(jù)庫(kù)端判斷其斷開執(zhí)行過(guò)程從而識(shí)別并保存該記錄的鎖定狀態(tài)字段信息、用戶ID字段信息和MAC地址字段信息;步驟S104,是手動(dòng)解除加鎖狀態(tài)的觸發(fā)程序,接受客戶端發(fā)送的用戶ID字段信息和客戶端MAC地址字段信息,并與數(shù)據(jù)庫(kù)該條記錄相應(yīng)字段信息進(jìn)行匹配,若匹配成功,則完成手動(dòng)解鎖,該條記錄標(biāo)識(shí)為非加鎖狀態(tài);若匹配不成功則保持加鎖狀態(tài)。優(yōu)選地,在執(zhí)行步驟S104時(shí),需要匹配用戶ID字段信息、MAC字段信息,匹配結(jié)果為如下定義匹配成功是指申請(qǐng)方的用戶ID字段信息和MAC字段信息同時(shí)與已有記錄完全一致;匹配不成功是指申請(qǐng)方的用戶ID字段信息、MAC字段信息不同時(shí)或部不與已有記錄完全一致。包括以下三種情形(I)申請(qǐng)方的用戶ID字段信息和MAC字段信息中只有申請(qǐng)方的用戶ID字段信息與已有記錄一致,申請(qǐng)方的MAC字段信息與已有記錄不一致;(2)申請(qǐng)方的用戶ID字段信息和MAC字段信息只有申請(qǐng)方的MAC字段信息與已有記錄一致,申請(qǐng)方的用戶ID字段信息與已有記錄不一致;(3)申請(qǐng)方的用戶ID字段信息和MAC字段信息都與已有記錄不一致。圖2示出了步驟S102防問(wèn)數(shù)據(jù)庫(kù)記錄時(shí)內(nèi)部的匹配過(guò)程,包括以下步驟步驟S1021,數(shù)據(jù)庫(kù)端接收申請(qǐng)?jiān)L問(wèn)的用戶的ID字段信息、MAC地址字段信息,等待匹配;步驟S1022,調(diào)出該數(shù)據(jù)庫(kù)記錄的鎖定狀態(tài)字段信息,判斷該數(shù)據(jù)庫(kù)記錄的鎖定狀態(tài),若鎖定狀態(tài)字段標(biāo)識(shí)為加鎖狀態(tài),則執(zhí)行步驟S1024 ;若為非加鎖狀態(tài),則執(zhí)行步驟S1023 ;步驟S1023,成功訪問(wèn)該數(shù)據(jù)庫(kù)記錄,自動(dòng)將該數(shù)據(jù)庫(kù)記錄標(biāo)識(shí)為加鎖狀態(tài),并記錄步驟S1021接收到的用戶ID字段信息利MAC地址字段信息;
步驟S1024,發(fā)送指令執(zhí)行步驟S104,同時(shí)接收步驟S104反饋的解鎖信息,并將解鎖信息返回給步驟S1022優(yōu)選地,所述步驟S1024,發(fā)送指令執(zhí)行步驟S104,程序/數(shù)據(jù)庫(kù)端將發(fā)送來(lái)的用戶ID字段信息、MAC字段信息與數(shù)據(jù)庫(kù)中該條記錄保存的用戶ID字段信息、MAC字段信息進(jìn)行一致性匹配,當(dāng)兩個(gè)字段信息同時(shí)匹配成功時(shí),將匹配信息發(fā)送回S1024 ;當(dāng)兩個(gè)字段信息沒(méi)有同時(shí)匹配成功時(shí),則仍舊止步于S1023步驟。圖3示出了步驟S103斷開數(shù)據(jù)庫(kù)訪問(wèn)記錄時(shí),數(shù)據(jù)的記錄過(guò)程圖,包括以下步驟步驟S1031,斷開數(shù)據(jù)庫(kù)連接時(shí),程序/數(shù)據(jù)庫(kù)端字段判斷斷開鏈接申請(qǐng)是否有異常。若判斷結(jié)果為否,則執(zhí)行步驟S1032 ;若判斷結(jié)果為是,則執(zhí)行步驟S1033 ;步驟S1032,斷開申請(qǐng)為正常斷開,數(shù)據(jù)庫(kù)該條記錄的鎖定狀態(tài)字段、用戶ID字段、MAC地址字段值均為NULL,并將該記錄標(biāo)記為正常準(zhǔn)許防問(wèn)記錄。步驟S1033,斷開申請(qǐng)為異常斷開,數(shù)據(jù)庫(kù)該條記錄的鎖定狀態(tài)字段、用戶ID字段、MAC地址字段值分別記錄為locked、用戶ID、MAC地址,并將該記錄標(biāo)識(shí)為加鎖狀態(tài)。圖4示出了本發(fā)明數(shù)據(jù)庫(kù)表單記錄加鎖控制的裝置結(jié)構(gòu)框圖,具體包括訪問(wèn)數(shù)據(jù)庫(kù)申請(qǐng)單元201,發(fā)送申請(qǐng)?jiān)L問(wèn)數(shù)據(jù)庫(kù)指令及申請(qǐng)?jiān)L問(wèn)信息至接收申請(qǐng)單元202,并接收來(lái)自判斷單元203的反饋的數(shù)據(jù)庫(kù)表單記錄鎖定狀態(tài)信息,若為加鎖狀態(tài),則發(fā)送解鎖指令信息至解鎖單元205 ;接收申請(qǐng)單元202,接收來(lái)自訪問(wèn)數(shù)據(jù)庫(kù)申請(qǐng)單元201的申請(qǐng)?jiān)L問(wèn)數(shù)據(jù)庫(kù)表單記錄指令及信息,臨時(shí)存儲(chǔ)該指令信息,等待判斷;判斷單元203,判斷該數(shù)據(jù)庫(kù)表單記錄的鎖定狀態(tài)。存儲(chǔ)單元204,存儲(chǔ)數(shù)據(jù)庫(kù)表單記錄信息。解鎖單元205,接收來(lái)自訪問(wèn)數(shù)據(jù)庫(kù)申請(qǐng)單元201發(fā)送的解鎖指令信息,并與存儲(chǔ)單元204的信息進(jìn)行解鎖匹配,若匹配成功,則解鎖成功,并將結(jié)果返回給防問(wèn)數(shù)據(jù)庫(kù)申請(qǐng)單元201,否則不能執(zhí)行解鎖指令。優(yōu)選地,所述訪問(wèn)數(shù)據(jù)庫(kù)申請(qǐng)單元201中,申請(qǐng)?jiān)L問(wèn)數(shù)據(jù)庫(kù)表單記錄指令信息包括用戶ID字段信息、MAC地址字段信息以及指定要訪問(wèn)的數(shù)據(jù)庫(kù)表單記錄信息。優(yōu)選地,所述訪問(wèn)數(shù)據(jù)庫(kù)申請(qǐng)單元201中,解鎖指令信息包括用戶ID字段信息和MAC地址字段信息。優(yōu)選地,所述判斷單元203中,若判斷結(jié)果為加鎖狀態(tài),則將加鎖狀態(tài)信息反饋給訪問(wèn)數(shù)據(jù)庫(kù)申請(qǐng)單元201,并由訪問(wèn)數(shù)據(jù)庫(kù)申請(qǐng)單元201發(fā)送解鎖指令至解鎖單元205 ;若判斷結(jié)果為非加鎖狀態(tài),則將非加鎖狀態(tài)信息反饋給接收申請(qǐng)單元202。接收申請(qǐng)單元202釋放其臨時(shí)存儲(chǔ)信息,并對(duì)該數(shù)據(jù)庫(kù)表單記錄同步加載加鎖狀態(tài)標(biāo)識(shí),臨時(shí)記錄用戶ID信息和客戶端MAC地址信息。優(yōu)選地,所述存儲(chǔ)單元204中,若該數(shù)據(jù)庫(kù)表單記錄為異常存儲(chǔ),則數(shù)據(jù)庫(kù)表單記錄的鎖定狀態(tài)字段、用戶ID字段、MAC地址字段值分別標(biāo)記為L(zhǎng)ocked、用戶ID、MAC地址,并將存儲(chǔ)的記錄信息發(fā)送給解鎖單元205,等待處理;若該數(shù)據(jù)庫(kù)表單記錄為正常存儲(chǔ),則數(shù)據(jù)庫(kù)表單記錄的鎖定狀態(tài)字段、用戶ID字段、MAC地址字段值均為NULL。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同 換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種數(shù)據(jù)庫(kù)表單記錄加鎖控制方法,其特征在于,所述方法包括 在數(shù)據(jù)庫(kù)表中設(shè)置主KEY,與主KEY數(shù)據(jù)關(guān)聯(lián)的一整套數(shù)據(jù)庫(kù)表的集合根據(jù)主表中指定的鎖定字段狀態(tài)執(zhí)行加鎖和解鎖指令; 編輯任意一條數(shù)據(jù)庫(kù)表記錄時(shí),首先判斷該記錄所對(duì)應(yīng)的鎖定狀態(tài)字段的標(biāo)識(shí)是否為加鎖狀態(tài),若為是,則需要先解鎖。若為否,則成功訪問(wèn)記錄; 成功訪問(wèn)記錄時(shí),主表記錄的鎖定狀態(tài)字段標(biāo)識(shí)為加鎖狀態(tài),同時(shí)相關(guān)聯(lián)的數(shù)據(jù)表集合也自動(dòng)標(biāo)識(shí)為加鎖狀態(tài); 正常退出數(shù)據(jù)庫(kù)記錄時(shí),主表記錄的鎖定狀態(tài)字段釋放加鎖標(biāo)識(shí),其余字段為空;非正常退出數(shù)據(jù)庫(kù)記錄時(shí),主表記錄的鎖定狀態(tài)字段仍標(biāo)識(shí)為加鎖狀態(tài),其余字段記錄保持加鎖狀態(tài)時(shí)相應(yīng)的信息。
2.如權(quán)利要求I所述的數(shù)據(jù)庫(kù)表單記錄加鎖控制方法,其特征在于,所述的在數(shù)據(jù)庫(kù)表中設(shè)置主KEY關(guān)聯(lián)的一組字段包括含有該主KEY的主表添加鎖定狀態(tài)字段、用戶ID字段和MAC地址字段。
3.如權(quán)利要求I所述的數(shù)據(jù)庫(kù)表單記錄加鎖控制方法,其特征在于,所述的解鎖,只有當(dāng)以主key關(guān)聯(lián)的數(shù)據(jù)庫(kù)表單中的用戶ID和MAC地址與客戶端本次登陸的用戶ID和MAC地址同時(shí)匹配時(shí),該記錄自動(dòng)標(biāo)識(shí)為非加鎖狀態(tài),否則不能完成解鎖程序。
4.如權(quán)利要求I所述的數(shù)據(jù)庫(kù)表單記錄加鎖控制方法,其特征在于,所述的正常退出數(shù)據(jù)庫(kù)記錄是指鏈接正常退出通道退出該記錄。
5.如權(quán)利要求I所述的數(shù)據(jù)庫(kù)表單記錄加鎖控制方法,其特征在于,所述的非正常退出數(shù)據(jù)庫(kù)是指沒(méi)有鏈接正常退出通道而退出該記錄。
6.如權(quán)利要求5所述的數(shù)據(jù)庫(kù)表單記錄加鎖控制方法,其特征在干,所述的沒(méi)有從鏈接設(shè)計(jì)的退出通道退出該記錄,包括直接點(diǎn)擊IE本身的關(guān)閉按鈕、直接鏈接退出登入頁(yè)面、直接鏈接其它模塊。
7.一種數(shù)據(jù)庫(kù)表單記錄加鎖控制裝置,其特征在于,包括 申請(qǐng)?jiān)L問(wèn)數(shù)據(jù)庫(kù)單元,發(fā)送操作數(shù)據(jù)庫(kù)表單記錄的申請(qǐng)給接收單元; 接收申請(qǐng)単元,接收訪問(wèn)申請(qǐng)單元發(fā)送的編輯操作數(shù)據(jù)庫(kù)表單記錄的申請(qǐng)信息; 判斷単元,根據(jù)接收申請(qǐng)單元中接收到的申請(qǐng)?jiān)L問(wèn)的數(shù)據(jù)庫(kù)表單的記錄信息,判斷是否允許訪問(wèn)該記錄,若不允許防問(wèn),則向解鎖單元發(fā)送解鎖申請(qǐng),若允許訪問(wèn),則向存儲(chǔ)單元發(fā)送訪問(wèn)狀態(tài); 存儲(chǔ)單元,保存被訪問(wèn)的數(shù)據(jù)庫(kù)表單記錄信息; 解鎖單元,接收訪問(wèn)判斷單元發(fā)送的解鎖申請(qǐng)信息,將申請(qǐng)人所屬的用戶ID字段、MAC地址字段信息于所訪問(wèn)的數(shù)據(jù)庫(kù)表單記錄的信息進(jìn)行匹配,并將解鎖后的數(shù)據(jù)庫(kù)表單記錄的信息發(fā)送到存儲(chǔ)單元;
8.如權(quán)利要求7所述的數(shù)據(jù)庫(kù)表單記錄加鎖控制裝置,其特征在干,所述的數(shù)據(jù)庫(kù)表單的記錄信息包括鎖定狀態(tài)字段、ID字段、客戶端MAC地址字段。
全文摘要
本發(fā)明公開了一種數(shù)據(jù)庫(kù)表單記錄加鎖控制方法和裝置。該方法包括在數(shù)據(jù)庫(kù)表中設(shè)置主KEY,含相同主KEY的一組數(shù)據(jù)庫(kù)表的集合根據(jù)指定記錄中的鎖定字段狀態(tài)執(zhí)行加鎖和解鎖指令;編輯數(shù)據(jù)庫(kù)表中任意一條相關(guān)記錄時(shí),判斷該記錄所對(duì)應(yīng)的鎖定狀態(tài)字段的標(biāo)識(shí)是否為加鎖狀態(tài),若為是,則需要先解鎖。若為否,則成功訪問(wèn)記錄;成功訪問(wèn)記錄時(shí),主表記錄的鎖定狀態(tài)字段標(biāo)識(shí)為加鎖狀態(tài),同時(shí)相關(guān)聯(lián)的數(shù)據(jù)表集合也自動(dòng)標(biāo)識(shí)為加鎖狀態(tài);正常退出數(shù)據(jù)庫(kù)記錄時(shí),主表記錄的鎖定狀態(tài)字段釋放加鎖標(biāo)識(shí),其余字段為空;非正常退出數(shù)據(jù)庫(kù)記錄時(shí),主表記錄的鎖定狀態(tài)字段仍標(biāo)識(shí)為加鎖狀態(tài),其余字段記錄保持加鎖狀態(tài)時(shí)相應(yīng)的信息。
文檔編號(hào)G06F17/30GK102651006SQ201110051430
公開日2012年8月29日 申請(qǐng)日期2011年2月25日 優(yōu)先權(quán)日2011年2月25日
發(fā)明者王飛, 陸曙蕓 申請(qǐng)人:上海網(wǎng)環(huán)信息科技有限公司