[發(fā)明專利]一種數(shù)據(jù)庫(kù)系統(tǒng)、節(jié)點(diǎn)和方法在審
| 申請(qǐng)?zhí)枺?/td> | 201911038474.4 | 申請(qǐng)日: | 2019-10-29 |
| 公開(kāi)(公告)號(hào): | CN111241589A | 公開(kāi)(公告)日: | 2020-06-05 |
| 發(fā)明(設(shè)計(jì))人: | 張秦濤;聶光耀;劉奇;丁健 | 申請(qǐng)(專利權(quán))人: | 華為技術(shù)有限公司 |
| 主分類號(hào): | G06F21/64 | 分類號(hào): | G06F21/64;G06F16/23;G06F16/27 |
| 代理公司: | 暫無(wú)信息 | 代理人: | 暫無(wú)信息 |
| 地址: | 518129 廣東*** | 國(guó)省代碼: | 廣東;44 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 數(shù)據(jù)庫(kù) 系統(tǒng) 節(jié)點(diǎn) 方法 | ||
本發(fā)明提供了一種數(shù)據(jù)庫(kù)系統(tǒng)的交易方法以及節(jié)點(diǎn)設(shè)計(jì)。節(jié)點(diǎn)在接受到客戶端發(fā)送的請(qǐng)求后,直接在本地狀態(tài)機(jī)上模擬執(zhí)行生成一個(gè)模擬執(zhí)行結(jié)果,并將此模擬執(zhí)行結(jié)果與用戶執(zhí)行邏輯打包,復(fù)制給其他節(jié)點(diǎn)進(jìn)行防篡改檢驗(yàn);網(wǎng)絡(luò)中的其他節(jié)點(diǎn)收到消息包后,從中取出用戶執(zhí)行邏輯在本地進(jìn)行執(zhí)行生成模擬執(zhí)行結(jié)果,然后再對(duì)比消息包中的模擬執(zhí)行結(jié)果;如果兩份結(jié)果不一致,代表存在數(shù)據(jù)篡改情況,回復(fù)驗(yàn)證失敗給發(fā)起節(jié)點(diǎn);如果兩份結(jié)果一致,回復(fù)驗(yàn)證成功給發(fā)起節(jié)點(diǎn);驗(yàn)證發(fā)起節(jié)點(diǎn)收到足夠多的驗(yàn)證回復(fù)后,匯總判斷,判斷驗(yàn)證失敗的請(qǐng)求直接被丟棄,判斷驗(yàn)證成功的請(qǐng)求以模擬執(zhí)行結(jié)果集進(jìn)行pbft共識(shí)復(fù)制邏輯,直至狀態(tài)復(fù)制結(jié)束或失敗。
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)庫(kù)技術(shù),尤其涉及一種基于區(qū)塊鏈技術(shù)的數(shù)據(jù)庫(kù)設(shè)計(jì)。
背景技術(shù)
區(qū)塊鏈?zhǔn)且环N將數(shù)據(jù)區(qū)塊以順序相連的方式組合成的一種鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu),并以密碼學(xué)方式保證的不可篡改和不可偽造的分布式賬本。區(qū)塊鏈根據(jù)去中心化的協(xié)議,構(gòu)建了一個(gè)分布式的結(jié)構(gòu)體系,讓價(jià)值交換的信息通過(guò)分布式傳播發(fā)送給全網(wǎng),通過(guò)分布式記賬確定信息數(shù)據(jù)內(nèi)容,蓋上時(shí)間戳后生成區(qū)塊數(shù)據(jù),再通過(guò)分布式傳播發(fā)送給各個(gè)節(jié)點(diǎn),實(shí)現(xiàn)分布式存儲(chǔ)。
智能合約是隨著區(qū)塊鏈技術(shù)發(fā)展產(chǎn)生的一種新特性,智能合約實(shí)質(zhì)上是交易雙方合約的代碼化實(shí)例,它根據(jù)雙方合約規(guī)定對(duì)接收到的信息進(jìn)行回應(yīng),可以接收和存儲(chǔ)價(jià)值,也可以輸出信息和價(jià)值,它扮演著一個(gè)可被信任的系統(tǒng),總是按照事先約定的規(guī)則執(zhí)行操作。
關(guān)系數(shù)據(jù)庫(kù),是建立在關(guān)系模型基礎(chǔ)上的數(shù)據(jù)庫(kù),借助于集合代數(shù)等數(shù)學(xué)概念和方法來(lái)處理數(shù)據(jù)庫(kù)中的數(shù)據(jù)。當(dāng)前大部分業(yè)務(wù)系統(tǒng)的業(yè)務(wù)關(guān)系均可以用關(guān)系數(shù)據(jù)庫(kù)的模型來(lái)定義。標(biāo)準(zhǔn)數(shù)據(jù)查詢語(yǔ)言SQL是一種基于關(guān)系數(shù)據(jù)庫(kù)的語(yǔ)言,可以通過(guò)此類語(yǔ)言對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行檢索和操作。
基于現(xiàn)有的區(qū)塊鏈方案,無(wú)法實(shí)現(xiàn)關(guān)系型數(shù)據(jù)庫(kù)中的數(shù)據(jù)管理能力,也無(wú)法實(shí)現(xiàn)數(shù)據(jù)的事務(wù)操作。因此,難以滿足大型數(shù)據(jù)系統(tǒng)對(duì)數(shù)據(jù)管理的需要。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種數(shù)據(jù)庫(kù)系統(tǒng),包括交易方法和節(jié)點(diǎn),實(shí)現(xiàn)了用戶可以在保持對(duì)原有關(guān)系型數(shù)據(jù)庫(kù)使用方式的情況下,將對(duì)傳統(tǒng)區(qū)塊鏈的使用方式也向數(shù)據(jù)庫(kù)使用方式轉(zhuǎn)變,并將二者融合為一個(gè)系統(tǒng),系統(tǒng)統(tǒng)一協(xié)同管理兩塊數(shù)據(jù)。本發(fā)明數(shù)據(jù)庫(kù)系統(tǒng)兼容關(guān)系型數(shù)據(jù)庫(kù)中的大部分特性,包括SQL支持、關(guān)系型結(jié)構(gòu)存儲(chǔ)、ACID事務(wù)保證等。同時(shí)增加了更多的區(qū)塊鏈特性,具備區(qū)塊鏈防竄改的特征,其中包括具備防篡改的拜占庭共識(shí)協(xié)議、事務(wù)區(qū)塊鏈、智能合約等特性。
第一方面,本發(fā)明提供了一種數(shù)據(jù)存儲(chǔ)的方法:請(qǐng)求接受節(jié)點(diǎn)在接受到客戶端發(fā)送的請(qǐng)求后,直接在本地狀態(tài)機(jī)上模擬執(zhí)行生成一個(gè)模擬執(zhí)行結(jié)果,并將此模擬執(zhí)行結(jié)果與用戶執(zhí)行邏輯打包,復(fù)制給其他節(jié)點(diǎn)進(jìn)行防篡改檢驗(yàn);網(wǎng)絡(luò)中的其他節(jié)點(diǎn)收到消息包后,從中取出用戶執(zhí)行邏輯在本地進(jìn)行執(zhí)行生成模擬執(zhí)行結(jié)果,然后再對(duì)比消息包中的模擬執(zhí)行結(jié)果;如果兩份結(jié)果不一致,代表存在數(shù)據(jù)篡改情況,回復(fù)驗(yàn)證失敗給發(fā)起節(jié)點(diǎn);如果兩份結(jié)果一致,回復(fù)驗(yàn)證成功給發(fā)起節(jié)點(diǎn);驗(yàn)證發(fā)起節(jié)點(diǎn)收到足夠多的驗(yàn)證回復(fù)后,匯總判斷,判斷驗(yàn)證失敗的請(qǐng)求直接被丟棄,判斷驗(yàn)證成功的請(qǐng)求以模擬執(zhí)行結(jié)果集進(jìn)行pbft共識(shí)復(fù)制邏輯,直至狀態(tài)復(fù)制結(jié)束或失敗。
相比與現(xiàn)有技術(shù),在共識(shí)之前增加了防篡改驗(yàn)證邏輯,且使用通過(guò)驗(yàn)證的模擬執(zhí)行結(jié)果進(jìn)行復(fù)制,既達(dá)到了防篡改設(shè)計(jì),又能維護(hù)好狀態(tài)的一致性。
第二方面,本發(fā)明提供了一種包含鏈上與鏈下數(shù)據(jù)的事務(wù)處理方法:客戶端發(fā)起鏈上鏈下事務(wù)操作,事務(wù)中同時(shí)包含了鏈上數(shù)據(jù)更新操作集和鏈下數(shù)據(jù)更新操作集;服務(wù)端事務(wù)請(qǐng)求接收節(jié)點(diǎn)在接收到請(qǐng)求后,開(kāi)啟一個(gè)事務(wù)管理器,按照事務(wù)請(qǐng)求中的操作順序進(jìn)行處理,進(jìn)行事務(wù)預(yù)提交,產(chǎn)生兩份事務(wù)處理邏輯日志緩存,同時(shí)向鏈上事務(wù)緩存池中增加鏈上事務(wù)產(chǎn)生的事務(wù)日志,事務(wù)日志包括事務(wù)執(zhí)行邏輯;以鏈上事務(wù)產(chǎn)生的事務(wù)日志發(fā)起背書(shū)流程,如果背書(shū)流程成功,請(qǐng)求接收節(jié)點(diǎn)以起共識(shí)流程。如果共識(shí)流程成功,請(qǐng)求接收節(jié)點(diǎn)將包括了鏈上事務(wù)和鏈下事務(wù)產(chǎn)生的預(yù)提交進(jìn)行真正提交,其他節(jié)點(diǎn)只接收到了鏈上事務(wù),所以只對(duì)鏈上事務(wù)進(jìn)行提交,至此,請(qǐng)求接受節(jié)點(diǎn)完成了鏈上鏈下事務(wù)操作。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于華為技術(shù)有限公司,未經(jīng)華為技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911038474.4/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F21-00 防止未授權(quán)行為的保護(hù)計(jì)算機(jī)或計(jì)算機(jī)系統(tǒng)的安全裝置
G06F21-02 .通過(guò)保護(hù)計(jì)算機(jī)的特定內(nèi)部部件
G06F21-04 .通過(guò)保護(hù)特定的外圍設(shè)備,如鍵盤(pán)或顯示器
G06F21-06 .通過(guò)感知越權(quán)操作或外圍侵?jǐn)_
G06F21-20 .通過(guò)限制訪問(wèn)計(jì)算機(jī)系統(tǒng)或計(jì)算機(jī)網(wǎng)絡(luò)中的節(jié)點(diǎn)
G06F21-22 .通過(guò)限制訪問(wèn)或處理程序或過(guò)程
- 數(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í)行方法及裝置
- 節(jié)點(diǎn)查詢方法、節(jié)點(diǎn)、移動(dòng)通訊系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品
- 一種根據(jù)節(jié)點(diǎn)集合構(gòu)造節(jié)點(diǎn)關(guān)系樹(shù)的方法、裝置及系統(tǒng)
- 一種DHT網(wǎng)絡(luò)負(fù)載均衡裝置及虛節(jié)點(diǎn)劃分的方法
- 一種無(wú)線傳感網(wǎng)地理位置路由空洞處理方法
- 節(jié)點(diǎn)鎖定部件、節(jié)點(diǎn)滑軌、節(jié)點(diǎn)和機(jī)箱
- 一種待推薦節(jié)點(diǎn)線路的確定方法及裝置
- 流控方法、目標(biāo)節(jié)點(diǎn)、節(jié)點(diǎn)及施主節(jié)點(diǎn)
- 節(jié)點(diǎn)布局確定方法以及裝置
- 一種具有分布式柔度的全柔順微位移放大機(jī)構(gòu)
- 節(jié)點(diǎn)掛載方法、裝置、網(wǎng)絡(luò)節(jié)點(diǎn)及存儲(chǔ)介質(zhì)
- 一種數(shù)據(jù)庫(kù)讀寫(xiě)分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





