[發明專利]數據庫主鍵生成方法、裝置、設備及其存儲介質在審
| 申請號: | 201810021713.4 | 申請日: | 2018-01-09 |
| 公開(公告)號: | CN108256019A | 公開(公告)日: | 2018-07-06 |
| 發明(設計)人: | 向榮輝;陳峰;巫可;孫冬冬;嚴琴 | 申請(專利權)人: | 順豐科技有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京志霖恒遠知識產權代理事務所(普通合伙) 11435 | 代理人: | 郭棟梁 |
| 地址: | 518061 廣東省深圳市南山區學府路(以南)*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數據對象 存儲文件 字段 分布式文件系統 數據庫主鍵 存儲介質 鎖定 名稱檢測 內容生成 系統數據 應用場景 多用戶 主鍵 申請 存儲 查找 共享 | ||
1.一種數據庫主鍵生成方法,其特征在于,所述方法包括:
選擇Hadoop分布式文件系統中存儲的數據表的數據對象,確定所述數據對象的字段名稱;
基于所述字段名稱在所述Hadoop分布式文件系統中查找與所述字段名稱對應的存儲文件;
如果查找到所述存儲文件,則基于所述字段名稱檢測所述數據對象是否正在被使用;
如果所述數據對象沒有正在被使用,則鎖定所述數據表的數據對象;
基于所述存儲文件的內容生成主鍵。
2.根據權利要求1所述的方法,其特征在于,所述方法還包括:
如果未查找到所述存儲文件,則創建存儲文件,并在該存儲文件中寫入初始狀態值,該存儲文件以所述字段名稱命名;
然后,進入基于所述字段名稱判斷所述數據對象是否正在被使用的步驟。
3.根據權利要求1或2所述的方法,其特征在于,所述基于所述字段名稱檢測所述數據對象是否正在被使用,包括:
基于所述字段名稱檢測所述Hadoop分布式文件系統中是否存在以所述字段名稱命名的鎖文件;如果存在所述鎖文件,則表示所述數據對象正在被使用。
4.根據權利要求3所述的方法,其特征在于,所述如果所述數據對象沒有正在被使用,則鎖定所述數據表的數據對象,包括:
如果所述數據對象沒有正在被使用,則在所述Hadoop分布式文件系統中,創建以所述字段名稱命名的鎖文件來鎖定所述數據表的數據對象。
5.根據權利要求1-3任一項所述的方法,其特征在于,所述方法還包括:
如果所述數據對象正在被使用,則等待一段時間,直到所述數據對象未被使用,才進入基于所述存儲文件的內容生成主鍵的步驟。
6.根據權利要求1-5任一項所述的方法,其特征在于,所述基于所述存儲文件的內容生成主鍵,包括:
讀取所述存儲文件中保存的所述數據對象的狀態值;
基于所述狀態值按照指定增量遞增生成所述主鍵。
7.根據權利要求6所述的方法,其特征在于,所述基于所述存儲文件的內容生成主鍵之后,所述方法還包括:
將所述主鍵的最后一個狀態值保存到所述存儲文件;
刪除所述鎖文件以釋放所述數據對象。
8.一種數據庫主鍵生成裝置,其特征在于,所述裝置包括:
選擇單元,用于選擇Hadoop分布式文件系統存儲的數據表的數據對象,確定所述數據對象的字段名稱;
查找單元,用于基于所述字段名稱在Hadoop分布式文件系統中查找與所述字段名稱對應的存儲文件;
檢測單元,用于如果查找到所述存儲文件,則基于所述字段名稱檢測所述數據對象是否正在被使用;
鎖定單元,用于如果所述數據對象沒有正在被使用,則鎖定所述數據表的數據對象;
生成單元,用于基于所述存儲文件的內容生成主鍵。
9.根據權利要求8所述的裝置,其特征在于,所述裝置還包括:
創建單元,用于如果未查找到所述存儲文件,則創建存儲文件,并在該存儲文件中寫入初始狀態值,該存儲文件以所述字段名稱命名;
然后,則進入所述檢測單元。
10.根據權利要求8或9所述的裝置,其特征在于,所述檢測單元,包括:
鎖文件檢測子單元,用于基于所述字段名稱檢測所述Hadoop分布式文件系統中是否存在以所述字段名稱命名的鎖文件;如果存在所述鎖文件,則表示所述數據對象正在被使用。
11.根據權利要求10所述的裝置,其特征在于,所述鎖定單元,包括:
鎖文件創建子單元,用于如果所述數據對象沒有正在被使用,則在所述Hadoop分布式文件系統中,創建以所述字段名稱命名的鎖文件來鎖定所述數據表的數據對象。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于順豐科技有限公司,未經順豐科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810021713.4/1.html,轉載請聲明來源鉆瓜專利網。





