[發(fā)明專利]基于關系-XML雙模數(shù)據(jù)庫的XML多粒度鎖無效
| 申請?zhí)枺?/td> | 201010273372.3 | 申請日: | 2010-09-03 |
| 公開(公告)號: | CN102385600A | 公開(公告)日: | 2012-03-21 |
| 發(fā)明(設計)人: | 袁立言 | 申請(專利權)人: | 上海實方軟件有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 上海精晟知識產(chǎn)權代理有限公司 31253 | 代理人: | 何新平 |
| 地址: | 201500 上海市張江高科技園*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 關系 xml 雙模 數(shù)據(jù)庫 粒度 | ||
技術領域
本發(fā)明涉及一種基于關系-XML雙模數(shù)據(jù)庫的XML多粒度鎖。
背景技術
關系數(shù)據(jù)庫數(shù)據(jù)與XML數(shù)據(jù)的無縫處理,需要提高針對XML的并發(fā)控制效率。這是因為XML數(shù)據(jù)一般比關系數(shù)據(jù)大,設計基于關系-XML雙模數(shù)據(jù)庫的XML多粒度鎖是提高并發(fā)控制效率的途徑之一。傳統(tǒng)的數(shù)據(jù)庫往往是通過把XML轉化為關系來處理的,很少有針對關系-XML雙模數(shù)據(jù)庫,所以也就沒有XML的并發(fā)控制。XML數(shù)據(jù)庫具有多粒度鎖的功能,又沒有處理關系數(shù)據(jù)的能力。
發(fā)明內(nèi)容
為了解決上述問題,本發(fā)明針對關系數(shù)據(jù)與XML數(shù)據(jù)的無縫處理,需呀提高針對XML的并發(fā)控制效率,設計基于關系-XML雙模數(shù)據(jù)庫的XML多粒度鎖,通過控制并發(fā)控制的粒度提高并發(fā)控制效率,同時融合關系模式的并發(fā)控制信息,也適應關系-XML雙模數(shù)據(jù)庫的要求。
本發(fā)明具體是通過以下技術方案來實現(xiàn)的:
一種基于關系-XML雙模數(shù)據(jù)庫的XML多粒度鎖,它是基于關系-XML雙模數(shù)據(jù)庫,即能無縫處理關系模式與XML模式的數(shù)據(jù)庫,針對XML的多粒度鎖,包括節(jié)點鎖、層級鎖和子樹鎖,可以融合關系模式的并發(fā)控制信息;所述的節(jié)點鎖、層級鎖和子樹鎖每種粒度的鎖又分讀鎖和寫鎖兩種,并由此而形成鎖表。
所述關系模式的并發(fā)控制信息可以在表級,行級或者列級鎖定,如果關系模式的并發(fā)控制信息為空,則按照XML鎖信息進行并發(fā)控制;如XML鎖為寫鎖且關系模式為讀鎖,則降級XML鎖為讀鎖;如XML為讀鎖,則保留關系模式鎖信息,忽略XML鎖操。
本發(fā)明從基于關系-XML雙模數(shù)據(jù)庫出發(fā),轉化XML處理的關系數(shù)據(jù)庫或XML數(shù)據(jù)庫,這兩種單模數(shù)據(jù)庫不同的。與XML數(shù)據(jù)庫的XML多粒度鎖相比,融合關系模式的并發(fā)控制信息的多粒度鎖,提高并發(fā)控制的效率。
具體實施方式
一種基于關系-XML雙模數(shù)據(jù)庫的XML多粒度鎖,它是基于關系-XML雙模數(shù)據(jù)庫,即能無縫處理關系模式與XML模式的數(shù)據(jù)庫,針對XML的多粒度鎖,包括節(jié)點鎖、層級鎖和子樹鎖,可以融合關系模式的并發(fā)控制信息;所述的節(jié)點鎖、層級鎖和子樹鎖每種粒度的鎖又分讀鎖和寫鎖兩種,并由此而形成鎖表。
所述關系模式的并發(fā)控制信息可以在表級,行級或者列級鎖定,如果關系模式的并發(fā)控制信息為空,則按照XML鎖信息進行并發(fā)控制;如XML鎖為寫鎖且關系模式為讀鎖,則降級XML鎖為讀鎖;如XML為讀鎖,則保留關系模式鎖信息,忽略XML鎖操。
本發(fā)明的一個優(yōu)選實例如下:
假設接口函數(shù)名為xmlquery,輸入?yún)?shù)為記為A和B。
A:XML數(shù)據(jù)列
B:XQUERY執(zhí)行命令
假設關系-XML雙模數(shù)據(jù)庫的表為create?table?xmlcustomer(cid?bigint,info?XML)。
命令為select?xmlquery(info,′replace?value?of?node$new/customerinfo/phone?with″905-477-9011″′)fromxmlcustomer?where?cid=1000;
以上命令的初始情況XML為節(jié)點寫鎖,關系模式為行級讀鎖,按照步驟2降級XML鎖為讀鎖,這樣就提高了并發(fā)度。
另一個命令如下:
update?xmlcustomer?set?info=xmlquery(info,′replace?valueof?node$new/customerinfo/phone[type=″home″]with″905-477-9011″′);
以上命令的初始情況XML為節(jié)點寫鎖,關系模式為列級寫鎖。如果沒有多粒度的XML鎖則整個XML數(shù)據(jù)列被鎖住。由于本發(fā)明的節(jié)點鎖,只鎖住含有home類型電話節(jié)點的XML數(shù)據(jù),提高了并發(fā)度。
對比上面兩個例子可以看出,本發(fā)明提高了并發(fā)控制的效率。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海實方軟件有限公司,未經(jīng)上海實方軟件有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010273372.3/2.html,轉載請聲明來源鉆瓜專利網(wǎng)。





