新四季網

更新資料庫記錄的控制方法和裝置製造方法

2023-10-17 13:36:19 1

更新資料庫記錄的控制方法和裝置製造方法
【專利摘要】本發明公開一種更新資料庫記錄的控制方法和裝置。所述方法包括:獲取預更新的一條資料庫記錄;利用主鍵定位所述資料庫記錄;更新所述第一預更新欄位,控制內存中所述資料庫記錄的版本號加1;在更新所述第一預更新欄位的過程中,當獲取到對第二預更新欄位的更新請求時,利用所述主鍵定位所述資料庫記錄;所述第二預更新欄位位於所述資料庫記錄中;獲取所述資料庫記錄在內存中的版本號以及在資料庫中的版本號;當所述資料庫記錄在內存中的版本號,減去所述資料庫記錄在資料庫中的版本號所得到的差值為1時,更新所述第二預更新欄位。採用本發明提供的技術方案,能夠避免現有技術的並發控制方法,容易造成死鎖,會降低並發效率的問題。
【專利說明】更新資料庫記錄的控制方法和裝置

【技術領域】
[0001]本發明涉及軟體【技術領域】,尤其涉及一種更新資料庫記錄的控制方法和裝置。

【背景技術】
[0002]資料庫是信息系統的核心和基礎。現在主流的資料庫管理系統中,都支持多個事務同時執行,這樣能夠有效提高資料庫管理系統的運行效率。事務是指在資料庫上完成的一個操作。開發多用戶資料庫應用,常常要要力爭最大的並發訪問。但是,多用戶並發訪問資料庫時,經常多個事務同時對同一條記錄進行更新操作,由於不同事務所需要的處理時間長短不同,會出現長事務的修改操作覆蓋掉短事務對記錄的修改這一情況。
[0003]為了避免長事務的修改操作覆蓋掉短事務對記錄的修改這一情況的產生,需要引入並發控制機制,現有的技術中,一般利用資料庫悲觀鎖完成並發控制,即,每次對需要進行並發控制的記錄,進行讀加更新鎖。
[0004]但是,現有技術中的這種並發控制方法,容易造成死鎖,會較大程度上降低並發效率。


【發明內容】

[0005]有鑑於此,本發明提供了一種更新資料庫記錄的控制方法和裝置,用以避免現有技術的並發控制方法,容易造成死鎖,會較大程度上降低並發效率的問題。
[0006]為實現上述目的,本發明提供如下技術方案:
[0007]一種更新資料庫記錄的控制方法,包括:
[0008]獲取預更新的一條資料庫記錄;
[0009]利用主鍵定位所述資料庫記錄;
[0010]更新所述第一預更新欄位,控制內存中所述資料庫記錄的版本號加I ;
[0011]在更新所述第一預更新欄位的過程中,當獲取到對第二預更新欄位的更新請求時,利用所述主鍵定位所述資料庫記錄;所述第二預更新欄位位於所述資料庫記錄中;
[0012]獲取所述資料庫記錄在內存中的版本號以及在資料庫中的版本號;
[0013]當所述資料庫記錄在內存中的版本號,減去所述資料庫記錄在資料庫中的版本號所得到的差值為I時,更新所述第二預更新欄位。
[0014]優選的,通過select語句獲取預更新的一條所述資料庫記錄,所述select語句未加行級鎖。
[0015]優選的,所述更新所述第一預更新欄位之前,還包括:
[0016]查找所述第一預更新欄位,所述第一預更新欄位位於所述資料庫記錄中;
[0017]獲取用戶輸入的與所述第一預更新欄位相對應的第一更新數據。
[0018]優選的,所述控制內存中所述資料庫記錄的版本號加I之前,還包括:
[0019]讀取資料庫中所述資料庫記錄的版本號,將所述資料庫記錄的版本號存至內存。
[0020]優選的,所述更新所述第二預更新欄位之前,還包括:[0021 ] 查找所述第二預更新欄位;
[0022]獲取用戶輸入的與所述第二預更新欄位相對應的第二更新數據。
[0023]優選的,當所述差值為O時,等待預設時間,直至所述差值為I。
[0024]一種更新資料庫記錄的控制裝置,包括:
[0025]資料庫記錄獲取單元,用於獲取預更新的一條資料庫記錄;
[0026]第一主鍵定位單元,用於利用主鍵定位所述資料庫記錄;
[0027]第一預更新欄位更新單元,用於更新所述第一預更新欄位,控制內存中所述資料庫記錄的版本號加I ;
[0028]第二主鍵定位單元,用於在更新所述第一預更新欄位的過程中,當獲取到對第二預更新欄位的更新請求時,利用所述主鍵定位所述資料庫記錄;所述第二預更新欄位位於所述資料庫記錄中;
[0029]資料庫記錄版本號獲取單元,用於獲取所述資料庫記錄在內存中的版本號以及在資料庫中的版本號;
[0030]第二預更新欄位更新單元,用於當所述資料庫記錄在內存中的版本號,減去所述資料庫記錄在資料庫中的版本號所得到的差值為I時,更新所述第二預更新欄位。
[0031]優選的,還包括:
[0032]第一預更新欄位查找單元,用於查找所述第一預更新欄位,所述第一預更新欄位位於所述資料庫記錄中;
[0033]第一更新數據獲取單元,用於獲取用戶輸入的與所述第一預更新欄位相對應的第一更新數據。
[0034]優選的,還包括:
[0035]存儲單元,用於讀取資料庫中所述資料庫記錄的版本號,將所述資料庫記錄的版本號存至內存。
[0036]優選的,還包括:
[0037]第二預更新欄位查找單元,用於查找所述第二預更新欄位;
[0038]第二更新數據獲取單元,用於獲取用戶輸入的與所述第二預更新欄位相對應的第二更新數據。
[0039]經由上述的技術方案可知,與現有技術相比,本發明提供了一種更新資料庫記錄的控制方法和裝置。當需要對資料庫記錄進行更新時,本發明提供的技術方案,獲取預更新的一條資料庫記錄,利用主鍵定位所述資料庫記錄,然後更新所述第一預更新欄位,控制內存中所述資料庫記錄的版本號加1,在更新所述第一預更新欄位的過程中,當獲取到對第二預更新欄位的更新請求時,利用所述主鍵定位所述資料庫記錄,所述第二預更新欄位位於所述資料庫記錄中,然後獲取所述資料庫記錄在內存中的版本號以及在資料庫中的版本號,當所述資料庫記錄在內存中的版本號,減去所述資料庫記錄在資料庫中的版本號所得到的差值為I時,更新所述第二預更新欄位。本發明提供的技術方案,通過主鍵與資料庫版本號控制的方式,實現並發控制,能夠避免長事務的修改操作覆蓋掉短事務對記錄的修改這一情況,而本發明提供的技術方案,不需要引入資料庫悲觀鎖,因此不會出現死鎖造成的並發效率低的情況。因此,本發明提供的技術方案,相對於現有技術中利用資料庫悲觀鎖完成並發控制的方式,能夠提高並發效率。

【專利附圖】

【附圖說明】
[0040]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據提供的附圖獲得其他的附圖。
[0041]圖1為本發明實施例提供的一種更新資料庫記錄的控制方法的流程圖;
[0042]圖2為本發明實施例提供的另外一種更新資料庫記錄的控制方法的流程圖;
[0043]圖3為本發明實施例提供的一種更新資料庫記錄的控制裝置的結構圖。

【具體實施方式】
[0044]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
[0045]為使本發明的上述目的、特徵和優點能夠更加明顯易懂,下面結合附圖和【具體實施方式】對本發明作進一步詳細的說明。
[0046]實施例一
[0047]請參閱圖1,圖1為本發明實施例提供的一種更新資料庫記錄的控制方法的流程圖。如圖1所示,該方法包括:
[0048]步驟S101,獲取預更新的一條資料庫記錄;
[0049]具體的,通過select語句獲取預更新的一條所述資料庫記錄,所述select語句未加行級鎖。
[0050]步驟S102,利用主鍵定位所述資料庫記錄;
[0051]具體的,所述主鍵為Constraint資料庫中唯一標識一條記錄的欄位信息。
[0052]步驟S103,更新所述第一預更新欄位,控制內存中所述資料庫記錄的版本號加I ;
[0053]步驟S104,在更新所述第一預更新欄位的過程中,當獲取到對第二預更新欄位的更新請求時,利用所述主鍵定位所述資料庫記錄;
[0054]具體的,所述第二預更新欄位位於所述資料庫記錄中。
[0055]步驟S105,獲取所述資料庫記錄在內存中的版本號以及在資料庫中的版本號;
[0056]步驟S106,當所述資料庫記錄在內存中的版本號,減去所述資料庫記錄在資料庫中的版本號所得到的差值為I時,更新所述第二預更新欄位。
[0057]具體的,當所述資料庫記錄在內存中的版本號,減去所述資料庫記錄在資料庫中的版本號所得到的差值為I時,說明第一預更新欄位已經更新成功,則開始更新第二預更新欄位。
[0058]經由上述的技術方案可知,與現有技術相比,本發明實施例一提供了一種更新資料庫記錄的控制方法和裝置。當需要對資料庫記錄進行更新時,本發明實施例一提供的技術方案,獲取預更新的一條資料庫記錄,利用主鍵定位所述資料庫記錄,然後更新所述第一預更新欄位,控制內存中所述資料庫記錄的版本號加1,在更新所述第一預更新欄位的過程中,當獲取到對第二預更新欄位的更新請求時,利用所述主鍵定位所述資料庫記錄,所述第二預更新欄位位於所述資料庫記錄中,然後獲取所述資料庫記錄在內存中的版本號以及在資料庫中的版本號,當所述資料庫記錄在內存中的版本號,減去所述資料庫記錄在資料庫中的版本號所得到的差值為I時,更新所述第二預更新欄位。本發明實施例一提供的技術方案,通過主鍵與資料庫版本號控制的方式,實現並發控制,能夠避免長事務的修改操作覆蓋掉短事務對記錄的修改這一情況,而本發明實施例一提供的技術方案,不需要引入資料庫悲觀鎖,因此不會出現死鎖造成的並發效率低的情況。因此,本發明實施例一提供的技術方案,相對於現有技術中利用資料庫悲觀鎖完成並發控制的方式,能夠提高並發效率。
[0059]為了更加詳細的闡述本發明提供的技術方案,本發明還公開了另外一個具體實施例。
[0060]實施例二
[0061]請參閱圖2,圖2為本發明實施例提供的另外一種更新資料庫記錄的控制方法的流程圖。如圖2所示,該方法包括:
[0062]步驟S201,獲取預更新的一條資料庫記錄;
[0063]步驟S202,利用主鍵定位所述資料庫記錄;
[0064]步驟S203,查找所述第一預更新欄位,獲取用戶輸入的與所述第一預更新欄位相對應的第一更新數據,更新所述第一預更新欄位;
[0065]具體的,所述第一預更新欄位位於所述資料庫記錄中。
[0066]步驟S204,讀取資料庫中所述資料庫記錄的版本號,將所述資料庫記錄的版本號存至內存,控制內存中所述資料庫記錄的版本號加I ;
[0067]步驟S205,在更新所述第一預更新欄位的過程中,當獲取到對第二預更新欄位的更新請求時,利用所述主鍵定位所述資料庫記錄;
[0068]具體的,所述第二預更新欄位位於所述資料庫記錄中。
[0069]步驟S206,獲取所述資料庫記錄在內存中的版本號以及在資料庫中的版本號;
[0070]步驟S207,計算所述資料庫記錄在內存中的版本號,減去所述資料庫記錄在資料庫中的版本號的差值;若所述差值0,執行步驟S208 ;若所述差值為1,執行步驟S209 ;
[0071]步驟S208,等待預設時間,直至所述差值為I ;
[0072]步驟S209,查找所述第二預更新欄位,獲取用戶輸入的與所述第二預更新欄位相對應的第二更新數據,更新所述第二預更新欄位。
[0073]為了更加全面地闡述本發明提供的技術方案,本發明實施例還提供一種更新資料庫記錄的控制裝置。
[0074]圖3為本發明實施例提供的一種更新資料庫記錄的控制裝置的結構圖。如圖3所示,該裝置包括:
[0075]資料庫記錄獲取單元301,用於獲取預更新的一條資料庫記錄;
[0076]第一主鍵定位單元302,用於利用主鍵定位所述資料庫記錄;
[0077]第一預更新欄位更新單元303,用於更新所述第一預更新欄位,控制內存中所述資料庫記錄的版本號加I ;
[0078]第二主鍵定位單元304,用於在更新所述第一預更新欄位的過程中,當獲取到對第二預更新欄位的更新請求時,利用所述主鍵定位所述資料庫記錄;所述第二預更新欄位位於所述資料庫記錄中;
[0079]資料庫記錄版本號獲取單元305,用於獲取所述資料庫記錄在內存中的版本號以及在資料庫中的版本號;
[0080]第二預更新欄位更新單元306,用於當所述資料庫記錄在內存中的版本號,減去所述資料庫記錄在資料庫中的版本號所得到的差值為I時,更新所述第二預更新欄位。
[0081]進一步的,本發明實施例提供的更新資料庫記錄的控制裝置,還包括:
[0082]第一預更新欄位查找單元,用於查找所述第一預更新欄位,所述第一預更新欄位位於所述資料庫記錄中;
[0083]第一更新數據獲取單元,用於獲取用戶輸入的與所述第一預更新欄位相對應的第一更新數據。
[0084]存儲單元,用於讀取資料庫中所述資料庫記錄的版本號,將所述資料庫記錄的版本號存至內存。
[0085]第二預更新欄位查找單元,用於查找所述第二預更新欄位;
[0086]第二更新數據獲取單元,用於獲取用戶輸入的與所述第二預更新欄位相對應的第二更新數據。
[0087]最後,還需要說明的是,在本文中,諸如第一和第二等之類的關係術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關係或者順序。而且,術語「包括」、「包含」或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句「包括一個……」限定的要素,並不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
[0088]本說明書中各個實施例採用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。對於實施例公開的裝置而言,由於其與實施例公開的方法相對應,所以描述的比較簡單,相關之處參見方法部分說明即可。
[0089]結合本文中所公開的實施例描述的方法或算法的步驟可以直接用硬體、處理器執行的軟體模塊,或者二者的結合來實施。軟體模塊可以置於隨機存儲器(RAM)、內存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬碟、可移動磁碟、CD-ROM、或【技術領域】內所公知的任意其它形式的存儲介質中。
[0090]對所公開的實施例的上述說明,使本領域專業技術人員能夠實現或使用本發明。對這些實施例的多種修改對本領域的專業技術人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發明的精神或範圍的情況下,在其它實施例中實現。因此,本發明將不會被限制於本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的範圍。
【權利要求】
1.一種更新資料庫記錄的控制方法,其特徵在於,包括: 獲取預更新的一條資料庫記錄; 利用主鍵定位所述資料庫記錄; 更新所述第一預更新欄位,控制內存中所述資料庫記錄的版本號加I; 在更新所述第一預更新欄位的過程中,當獲取到對第二預更新欄位的更新請求時,利用所述主鍵定位所述資料庫記錄;所述第二預更新欄位位於所述資料庫記錄中; 獲取所述資料庫記錄在內存中的版本號以及在資料庫中的版本號; 當所述資料庫記錄在內存中的版本號,減去所述資料庫記錄在資料庫中的版本號所得到的差值為I時,更新所述第二預更新欄位。
2.根據權利要求1所述的方法,其特徵在於,通過select語句獲取預更新的一條所述資料庫記錄,所述select語句未加行級鎖。
3.根據權利要求1所述的方法,其特徵在於,所述更新所述第一預更新欄位之前,還包括: 查找所述第一預更新欄位,所述第一預更新欄位位於所述資料庫記錄中; 獲取用戶輸入的與所述第一預更新欄位相對應的第一更新數據。
4.根據權利要求1所述的方法,其特徵在於,所述控制內存中所述資料庫記錄的版本號加I之前,還包括: 讀取資料庫中所述資料庫記錄的版本號,將所述資料庫記錄的版本號存至內存。
5.根據權利要求1所述的方法,其特徵在於,所述更新所述第二預更新欄位之前,還包括: 查找所述第二預更新欄位; 獲取用戶輸入的與所述第二預更新欄位相對應的第二更新數據。
6.根據權利要求1所述的方法,其特徵在於,當所述差值為O時,等待預設時間,直至所述差值為I。
7.一種更新資料庫記錄的控制裝置,其特徵在於,包括: 資料庫記錄獲取單元,用於獲取預更新的一條資料庫記錄; 第一主鍵定位單元,用於利用主鍵定位所述資料庫記錄; 第一預更新欄位更新單元,用於更新所述第一預更新欄位,控制內存中所述資料庫記錄的版本號加I ; 第二主鍵定位單元,用於在更新所述第一預更新欄位的過程中,當獲取到對第二預更新欄位的更新請求時,利用所述主鍵定位所述資料庫記錄;所述第二預更新欄位位於所述資料庫記錄中; 資料庫記錄版本號獲取單元,用於獲取所述資料庫記錄在內存中的版本號以及在資料庫中的版本號; 第二預更新欄位更新單元,用於當所述資料庫記錄在內存中的版本號,減去所述資料庫記錄在資料庫中的版本號所得到的差值為I時,更新所述第二預更新欄位。
8.根據權利要求7所述的裝置,其特徵在於,還包括: 第一預更新欄位查找單元,用於查找所述第一預更新欄位,所述第一預更新欄位位於所述資料庫記錄中; 第一更新數據獲取單元,用於獲取用戶輸入的與所述第一預更新欄位相對應的第一更新數據。
9.根據權利要求7所述的裝置,其特徵在於,還包括: 存儲單元,用於讀取資料庫中所述資料庫記錄的版本號,將所述資料庫記錄的版本號存至內存。
10.根據權利要求7所述的裝置,其特徵在於,還包括: 第二預更新欄位查找單元,用於查找所述第二預更新欄位; 第二更新數據獲取單元,用於獲取用戶輸入的與所述第二預更新欄位相對應的第二更新數據。
【文檔編號】G06F17/30GK104376070SQ201410645604
【公開日】2015年2月25日 申請日期:2014年11月12日 優先權日:2014年11月12日
【發明者】舒展, 陳炙, 聶砂, 劉海, 李拓, 曲麟智 申請人:中國建設銀行股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀