[發明專利]一種避免線程并發訪問數據庫的方法和裝置在審
| 申請號: | 201610171969.4 | 申請日: | 2016-03-24 |
| 公開(公告)號: | CN107229632A | 公開(公告)日: | 2017-10-03 |
| 發明(設計)人: | 吳甲城;劉旭華 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30;G06F9/52 |
| 代理公司: | 北京國昊天誠知識產權代理有限公司11315 | 代理人: | 黃熊 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 避免 線程 并發 訪問 數據庫 方法 裝置 | ||
1.一種避免線程并發訪問數據庫的方法,其特征在于,所述方法包括:
當預設業務程序的第一線程和第二線程同時訪問預設數據庫時,獲取所述預設業務程序的互斥鎖池;其中,所述互斥鎖池中存儲有將所述預設業務程序的指定要素進行遍歷組合得到的多種互斥鎖;
判斷所述第一線程的互斥鎖和第二線程的互斥鎖是否同時位于所述互斥鎖池中;
若是,則判定所述第一線程和第二線程不能同時訪問所述預設數據庫。
2.如權利要求1所述的方法,其特征在于,當所述預設業務程序的第一線程訪問所述預設數據庫時,獲取所述預設業務程序的互斥鎖池,以及所述互斥鎖池對應的適配互斥鎖之前,還包括:
獲取預設業務程序的指定要素;
將所述指定要素進行遍歷組合,每一種組合的要素設置一個互斥鎖,得到多種互斥鎖;
將所述多種互斥鎖存儲在所述互斥鎖池中。
3.一種避免線程并發訪問數據庫的方法,其特征在于,所述方法包括:
當預設業務程序的第一線程訪問預設數據庫時,獲取所述預設業務程序的互斥鎖池,以及所述互斥鎖池對應的適配互斥鎖;其中,所述互斥鎖池中存儲有將所述預設業務程序的指定要素進行遍歷組合得到的多種互斥鎖;
若所述第一線程的互斥鎖位于所述互斥鎖池中,則將所述第一線程的互斥鎖轉換為所述互斥鎖池對應的適配互斥鎖,并將所述第一線程的適配互斥鎖插入所述預設數據庫中;
當所述預設業務程序的第二線程訪問所述預設數據庫時,判斷所述第二線程的互斥鎖是否位于所述互斥鎖池中;
若是,則將所述第二線程的互斥鎖轉換為所述互斥鎖池對應的適配互斥鎖,并將所述第二線程的所述適配互斥鎖與所述預設數據庫中已插入的所述 適配互斥鎖進行比較;
若判定所述第二線程的所述適配互斥鎖與所述預設數據庫中的所述適配互斥鎖互斥,則所述第二線程不能訪問所述預設數據庫。
4.如權利要求3所述的方法,其特征在于,當所述預設業務程序的第一線程訪問所述預設數據庫時,獲取所述預設業務程序的互斥鎖池,以及所述互斥鎖池對應的適配互斥鎖之前,還包括:
獲取預設業務程序的指定要素;
將所述指定要素進行遍歷組合,每一種組合的要素設置一個互斥鎖,得到多種互斥鎖;
將所述多種互斥鎖存儲在所述互斥鎖池中,并為所述互斥鎖池配置一個所述適配互斥鎖。
5.如權利要求3或4所述的方法,其特征在于,所述適配互斥鎖包括所述預設業務程序的指定要素的互斥鎖;
或者,所述預設業務程序的要素之外的其他要素的互斥鎖。
6.一種避免線程并發訪問數據庫的裝置,其特征在于,所述裝置包括:
第一獲取模塊,用于當預設業務程序的第一線程和第二線程同時訪問預設數據庫時,獲取所述預設業務程序的互斥鎖池;其中,所述互斥鎖池中存儲有將所述預設業務程序的指定要素進行遍歷組合得到的多種互斥鎖;
判斷模塊,用于判斷所述第一線程的互斥鎖和第二線程的互斥鎖是否同時位于所述互斥鎖池中;
處理模塊,用于在所述第一線程的互斥鎖和第二線程的互斥鎖同時位于所述互斥鎖池中時,判定所述第一線程和第二線程不能同時訪問所述預設數據庫。
7.如權利要求6所述的裝置,其特征在于,在所述第一獲取模塊之前,還包括:
第二獲取模塊,用于當預設業務程序的第一線程訪問預設數據庫時,獲 取預設業務程序的互斥鎖池,以及互斥鎖池對應的適配互斥鎖之前獲取預設業務程序的指定要素;
設置模塊,用于將指定要素進行遍歷組合,每一種組合的要素設置一個互斥鎖,得到多種互斥鎖;
配置模塊,用于將多種互斥鎖存儲在互斥鎖池中。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610171969.4/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種抓取網站數據的方法和裝置
- 下一篇:靜態頁面生成方法、網頁訪問方法及裝置





