[發(fā)明專利]一種基于分布式數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)模式構(gòu)建方法在審
| 申請(qǐng)?zhí)枺?/td> | 202010857727.7 | 申請(qǐng)日: | 2020-08-24 |
| 公開(公告)號(hào): | CN112000645A | 公開(公告)日: | 2020-11-27 |
| 發(fā)明(設(shè)計(jì))人: | 馬偉科;馮友旭;高子奇;金越;李欣澤;朱云昊;陳磊 | 申請(qǐng)(專利權(quán))人: | 浪潮云信息技術(shù)股份公司 |
| 主分類號(hào): | G06F16/21 | 分類號(hào): | G06F16/21;G06F16/22;G06F16/23;G06F16/242;G06F16/2455;G06F16/27 |
| 代理公司: | 濟(jì)南信達(dá)專利事務(wù)所有限公司 37100 | 代理人: | 孫園園 |
| 地址: | 250100 山東省濟(jì)南市高*** | 國(guó)省代碼: | 山東;37 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 分布式 數(shù)據(jù)庫(kù) 模式 構(gòu)建 方法 | ||
本發(fā)明公開了一種基于分布式數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)模式構(gòu)建方法,屬于分布式數(shù)據(jù)庫(kù)領(lǐng)域,本發(fā)明要解決的技術(shù)問(wèn)題為如何滿足不同用戶能夠在同一數(shù)據(jù)庫(kù)下進(jìn)行針對(duì)各自數(shù)據(jù)的操作,提升數(shù)據(jù)庫(kù)的安全性,采用的技術(shù)方案為:該方法具體如下:在table和database中間引入一個(gè)schema,schema用于連接數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)存儲(chǔ)對(duì)象;基于分布式數(shù)據(jù)庫(kù)構(gòu)建包含模式的database?schema?table三層結(jié)構(gòu),使得數(shù)據(jù)庫(kù)的存儲(chǔ)內(nèi)容得到進(jìn)一步劃分;針對(duì)分布式數(shù)據(jù)庫(kù)構(gòu)建模式的緩存,模式的緩存用于同步schema元數(shù)據(jù)更新,減少查詢過(guò)程的網(wǎng)絡(luò)開銷。
技術(shù)領(lǐng)域
本發(fā)明涉及分布式數(shù)據(jù)庫(kù)技術(shù)領(lǐng)域,具體地說(shuō)是一種基于分布式數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)模式構(gòu)建方法。
背景技術(shù)
在SQL環(huán)境下,數(shù)據(jù)庫(kù)的模式(schema)就是數(shù)據(jù)庫(kù)對(duì)象的集合,所謂的數(shù)據(jù)庫(kù)對(duì)象也就是常說(shuō)的表、索引、視圖、存儲(chǔ)過(guò)程等。在schema之上就是數(shù)據(jù)庫(kù)的實(shí)例,也就是通常create databases獲得的東西,也就是說(shuō)一個(gè)schema實(shí)例可以有多個(gè)schema,可以給不同的用戶創(chuàng)建不同的schema,并且他們都是在同一數(shù)據(jù)庫(kù)實(shí)例下面。在MySQL中基本認(rèn)為schema和數(shù)據(jù)庫(kù)相同,也就是說(shuō)schema的名稱和數(shù)據(jù)庫(kù)的實(shí)例的名稱相同,一個(gè)數(shù)據(jù)庫(kù)有且僅有一個(gè)schema。而在PostgreSQL中,可以創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),然后在數(shù)據(jù)庫(kù)中,創(chuàng)建不同的schema,每個(gè)schema又有著一些各自的表、索引等。
對(duì)于這兩種傳統(tǒng)的數(shù)據(jù)庫(kù)而言,在數(shù)據(jù)庫(kù)下建立模式的方式不同,但由于都是單機(jī)數(shù)據(jù)庫(kù),所以只需要在單點(diǎn)上進(jìn)行模式的構(gòu)建即可,但是對(duì)于分布式數(shù)據(jù)庫(kù)來(lái)說(shuō),因?yàn)槠涠喙?jié)點(diǎn)的特點(diǎn),在分布式系統(tǒng)中,相隔甚遠(yuǎn)的節(jié)點(diǎn)之間需要對(duì)模式的數(shù)據(jù)信息進(jìn)行更新和同步,所需要的通訊時(shí)間以及可能產(chǎn)生的沖突也是需要考慮到的一個(gè)方面。
現(xiàn)有分布式數(shù)據(jù)庫(kù)的兩層結(jié)構(gòu)即直接將數(shù)據(jù)庫(kù)中的對(duì)象直接放在數(shù)據(jù)庫(kù)(database)下,這樣的缺點(diǎn)顯而易見,連入同一個(gè)數(shù)據(jù)庫(kù)的所有用戶共用一個(gè)數(shù)據(jù)庫(kù),對(duì)用戶而言即不能有效找到自己所需要的數(shù)據(jù),又不能保證數(shù)據(jù)本身的安全性。原有的兩層結(jié)構(gòu)如附圖1所示,table等數(shù)據(jù)庫(kù)對(duì)象存在database中,table和database都有各自的描述符(Descriptor)來(lái)存儲(chǔ)各自的信息,描述符中包含該對(duì)象的名稱和ID等信息。
故如何滿足不同用戶能夠在同一數(shù)據(jù)庫(kù)下進(jìn)行針對(duì)各自數(shù)據(jù)的操作,提升數(shù)據(jù)庫(kù)的安全性是目前亟待解決的技術(shù)問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明的技術(shù)任務(wù)是提供一種基于分布式數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)模式構(gòu)建方法,來(lái)解決如何滿足不同用戶能夠在同一數(shù)據(jù)庫(kù)下進(jìn)行針對(duì)各自數(shù)據(jù)的操作,提升數(shù)據(jù)庫(kù)的安全性的問(wèn)題。
本發(fā)明的技術(shù)任務(wù)是按以下方式實(shí)現(xiàn)的,一種基于分布式數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)模式構(gòu)建方法,該方法具體如下:
在table和database中間引入一個(gè)schema(模式),schema用于連接數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)存儲(chǔ)對(duì)象(表、索引、視圖、存儲(chǔ)過(guò)程等);
基于分布式數(shù)據(jù)庫(kù)構(gòu)建包含模式(schema)的database-schema-table三層結(jié)構(gòu),使得數(shù)據(jù)庫(kù)的存儲(chǔ)內(nèi)容得到進(jìn)一步劃分;
針對(duì)分布式數(shù)據(jù)庫(kù)構(gòu)建模式的緩存,模式的緩存用于同步schema元數(shù)據(jù)更新,減少查詢過(guò)程的網(wǎng)絡(luò)開銷。
作為優(yōu)選,通過(guò)map的方式構(gòu)建所述模式的緩存,在模式的緩存中存放(schemaName,schemaParentID)和對(duì)應(yīng)的schemeID;當(dāng)初次請(qǐng)求模式的ID時(shí),緩存將會(huì)被填充,之后獲取模式ID直接通過(guò)查詢緩存數(shù)據(jù)得到。
更優(yōu)地,所述針對(duì)分布式數(shù)據(jù)庫(kù)構(gòu)建schema的緩存具體如下:
當(dāng)用戶需要使用任一數(shù)據(jù)庫(kù)中的schema時(shí),在第一次讀取schema的信息后,將schema的名字和ID以map的形式進(jìn)行本地節(jié)點(diǎn)緩存;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于浪潮云信息技術(shù)股份公司,未經(jīng)浪潮云信息技術(shù)股份公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010857727.7/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)管理系統(tǒng)及數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)構(gòu)筑裝置、數(shù)據(jù)庫(kù)檢索裝置、數(shù)據(jù)庫(kù)裝置、數(shù)據(jù)庫(kù)構(gòu)筑方法、以及數(shù)據(jù)庫(kù)檢索方法
- 數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)處理方法
- 數(shù)據(jù)庫(kù)系統(tǒng)、數(shù)據(jù)庫(kù)更新方法、數(shù)據(jù)庫(kù)以及數(shù)據(jù)庫(kù)更新程序
- 容器數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)同步方法及數(shù)據(jù)庫(kù)
- 一種MongoDB數(shù)據(jù)庫(kù)對(duì)象復(fù)制延遲監(jiān)控方法和裝置
- 數(shù)據(jù)分布式存儲(chǔ)方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 數(shù)據(jù)庫(kù)語(yǔ)句執(zhí)行方法及裝置





