[發(fā)明專利]一種解決NoSQL數(shù)據(jù)庫并發(fā)訪問沖突的系統(tǒng)及方法有效
| 申請?zhí)枺?/td> | 201510836145.X | 申請日: | 2015-11-25 |
| 公開(公告)號: | CN105354328B | 公開(公告)日: | 2019-03-26 |
| 發(fā)明(設(shè)計(jì))人: | 高翔;饒慧 | 申請(專利權(quán))人: | 南京萊斯信息技術(shù)股份有限公司 |
| 主分類號: | G06F16/25 | 分類號: | G06F16/25 |
| 代理公司: | 南京蘇高專利商標(biāo)事務(wù)所(普通合伙) 32204 | 代理人: | 張弛 |
| 地址: | 210014 江蘇省南*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 解決 nosql 數(shù)據(jù)庫 并發(fā) 訪問 沖突 系統(tǒng) 方法 | ||
本發(fā)明公開一種解決NoSQL數(shù)據(jù)庫并發(fā)訪問沖突的系統(tǒng)及使用該系統(tǒng)的解決方法,實(shí)現(xiàn)了NoSQL數(shù)據(jù)庫在Web應(yīng)用中并發(fā)操作數(shù)據(jù)資源發(fā)生沖突的問題,在不改變web前端代碼和NoSQL數(shù)據(jù)庫端的訪問接口的方式下,設(shè)計(jì)新的數(shù)據(jù)訪問代理的處理方法,采用將數(shù)據(jù)并發(fā)判斷處理提前,減輕數(shù)據(jù)庫端的訪問壓力、避免NoSQL數(shù)據(jù)庫同資源沖突操作的業(yè)務(wù)不一致性;同時采用REST風(fēng)格的接口方式,實(shí)現(xiàn)各層之間交互的松耦合。
技術(shù)領(lǐng)域
本發(fā)明涉及信息交互的數(shù)據(jù)庫訪問技術(shù)領(lǐng)域。
背景技術(shù)
隨著互聯(lián)網(wǎng)web2.0的興起,非關(guān)系型數(shù)據(jù)庫NoSQL現(xiàn)在成了一個極其熱門的新領(lǐng)域,非關(guān)系數(shù)據(jù)庫產(chǎn)品的發(fā)展非常迅速。而傳統(tǒng)的關(guān)系數(shù)據(jù)庫在應(yīng)付web2.0應(yīng)用,特別是超大規(guī)模和高并發(fā)的動態(tài)Web企業(yè)級應(yīng)用已經(jīng)顯得力不從心,暴露了很多難以克服的問題。
NoSQL數(shù)據(jù)庫種類繁多,但都基本具有易擴(kuò)展、大數(shù)據(jù)量、高性能、靈活的數(shù)據(jù)模型、高可用等優(yōu)勢特點(diǎn);NoSQL數(shù)據(jù)庫在下列場景比較適用:數(shù)據(jù)模型比較簡單,需要靈活性更強(qiáng)的IT系統(tǒng),對數(shù)據(jù)庫性能要求較高,不需要高度的數(shù)據(jù)一致性,對于給定Key比較容易映射復(fù)雜值得環(huán)境。
NoSQL數(shù)據(jù)庫在Web應(yīng)用上的適應(yīng)性,以及大多數(shù)開源項(xiàng)目的低成本要求,更加速了NoSQL數(shù)據(jù)庫在新興的云計(jì)算、大數(shù)據(jù)互聯(lián)網(wǎng)應(yīng)用的推廣。
隨著Ajax、RoR等新的Web開發(fā)技術(shù)的回歸與興起,REST架構(gòu)風(fēng)格得到更多的關(guān)注與運(yùn)用,當(dāng)今各種流行的Web開發(fā)框架,幾乎沒有不支持REST開發(fā)的了。許多NoSQL數(shù)據(jù)庫都有REST式的數(shù)據(jù)接口或者查詢API;在快速開發(fā)Web應(yīng)用的原型系統(tǒng)或小型應(yīng)用中,可直接基于HTTP協(xié)議操作數(shù)據(jù)庫,提高系統(tǒng)開發(fā)效率。
雖然現(xiàn)行Web應(yīng)用大多數(shù)的特點(diǎn)是多讀少寫,并且很少有復(fù)雜事務(wù)需求。然而依然存在并發(fā)修改或刪除相同數(shù)據(jù)信息的情況存在,如訂票、搶單等多請求對統(tǒng)一資源的競爭處理,反映到數(shù)據(jù)庫往往就是單條記錄的并發(fā)沖突,處理不當(dāng)會造成數(shù)據(jù)混亂,結(jié)果難以修復(fù)。
傳統(tǒng)解決方案有:
1)利用關(guān)系型數(shù)據(jù)庫的鎖機(jī)制
關(guān)系型數(shù)據(jù)有整套的事務(wù)并發(fā)處理機(jī)制,比如表級鎖、行級鎖、死鎖檢測,回滾等。一些數(shù)據(jù)訪問中間件框架如J2EE中的Hibernate等,使用的悲觀鎖與樂觀鎖,也是依靠數(shù)據(jù)庫的鎖機(jī)制實(shí)現(xiàn)的。
2)數(shù)據(jù)庫操作單線程控制
即將對數(shù)據(jù)庫的記錄操作,以單線程處理,即串行化隔離方式,采用操作隊(duì)列順序訪問;或者優(yōu)化處理,將查詢訪問采用數(shù)據(jù)庫連接池多線程訪問,增刪改等操作采用單線程處理。
3)采用數(shù)據(jù)版本記錄機(jī)制
將數(shù)據(jù)增加一個版本號或時間戳版本標(biāo)識,即數(shù)據(jù)庫表增加一個“版本”字段實(shí)現(xiàn),更新版本號變動,將提交數(shù)據(jù)的版本數(shù)據(jù)與數(shù)據(jù)庫表對應(yīng)記錄的當(dāng)前版本信息進(jìn)行比對,如果提交的數(shù)據(jù)版本號大于數(shù)據(jù)庫表當(dāng)前版本號,則予以更新,否則認(rèn)為是過期數(shù)據(jù)。
上述的已有解決方案的技術(shù)中,主要有以下缺點(diǎn):
1)過度依賴關(guān)系型數(shù)據(jù)庫的特性,當(dāng)采用NoSQL數(shù)據(jù)庫時無法適應(yīng)。
2)簡單粗暴的丟棄多線程數(shù)據(jù)庫訪問處理的能力和NoSQL高并發(fā)讀寫效率,大大降低Web應(yīng)用并發(fā)訪問的性能要求。
3)增加了數(shù)據(jù)模型設(shè)計(jì)的復(fù)雜度,也使得對數(shù)據(jù)操作的額外增加篩選條件,對數(shù)據(jù)的回退、遷移、備份等增加難度。
發(fā)明內(nèi)容
由于以上現(xiàn)有技術(shù)各有各的特點(diǎn)和缺陷,本發(fā)明提出一種新的針對NoSQL數(shù)據(jù)庫并發(fā)訪問沖突的解決辦法,可以減少系統(tǒng)復(fù)雜程度,提高Web應(yīng)用開發(fā)效率,保證數(shù)據(jù)一致性要求。
為達(dá)到上述目的,本發(fā)明可采用如下技術(shù)方案:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于南京萊斯信息技術(shù)股份有限公司,未經(jīng)南京萊斯信息技術(shù)股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510836145.X/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種NOSQL與RDBMS的數(shù)據(jù)庫同步方法和系統(tǒng)
- NoSQL數(shù)據(jù)庫的高性能關(guān)系運(yùn)算系統(tǒng)
- 基于NoSQL實(shí)現(xiàn)元數(shù)據(jù)緩存與分析的系統(tǒng)及方法
- 一種基于云計(jì)算的nosql集群自動配置系統(tǒng)及自動配置方法
- 一種基于NoSQL的數(shù)據(jù)庫管理方法
- 一種NoSQL數(shù)據(jù)庫條件查詢的方法及系統(tǒng)
- 基于移動端NoSQL數(shù)據(jù)庫的索引創(chuàng)建方法及裝置
- 面向傳感器數(shù)據(jù)的NoSQL數(shù)據(jù)庫評測系統(tǒng)及其構(gòu)建方法
- 異步處理消息的方法、裝置、可讀介質(zhì)及電子設(shè)備
- 一種基于NoSql的自動納稅申報方法、裝置及存儲介質(zhì)
- 數(shù)據(jù)庫
- 數(shù)據(jù)庫管理系統(tǒng)及數(shù)據(jù)庫
- 數(shù)據(jù)庫構(gòu)筑裝置、數(shù)據(jù)庫檢索裝置、數(shù)據(jù)庫裝置、數(shù)據(jù)庫構(gòu)筑方法、以及數(shù)據(jù)庫檢索方法
- 數(shù)據(jù)庫和數(shù)據(jù)庫處理方法
- 數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫更新方法、數(shù)據(jù)庫以及數(shù)據(jù)庫更新程序
- 容器數(shù)據(jù)庫
- 數(shù)據(jù)庫同步方法及數(shù)據(jù)庫
- 一種MongoDB數(shù)據(jù)庫對象復(fù)制延遲監(jiān)控方法和裝置
- 數(shù)據(jù)分布式存儲方法、裝置、電子設(shè)備及存儲介質(zhì)
- 數(shù)據(jù)庫語句執(zhí)行方法及裝置





