[發(fā)明專利]減少數(shù)據(jù)庫系統(tǒng)中即席查詢語句的裝置和方法有效
| 申請?zhí)枺?/td> | 201110284581.2 | 申請日: | 2011-09-22 |
| 公開(公告)號: | CN102354318A | 公開(公告)日: | 2012-02-15 |
| 發(fā)明(設(shè)計)人: | 黃衛(wèi) | 申請(專利權(quán))人: | 用友軟件股份有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京友聯(lián)知識產(chǎn)權(quán)代理事務(wù)所(普通合伙) 11343 | 代理人: | 尚志峰;汪海屏 |
| 地址: | 100094 北京*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 減少 數(shù)據(jù)庫 系統(tǒng) 即席 查詢 語句 裝置 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及查詢技術(shù),具體而言,涉及減少數(shù)據(jù)庫系統(tǒng)中即席查詢語句的裝置和方法。
背景技術(shù)
ERP系統(tǒng)是一類功能龐大而復(fù)雜的大型應(yīng)用系統(tǒng),其中存在許多復(fù)雜的業(yè)務(wù)計算。這類系統(tǒng)通常都是基于大型關(guān)系數(shù)據(jù)庫系統(tǒng)的,應(yīng)用系統(tǒng)中的業(yè)務(wù)計算有很大的部分是由數(shù)據(jù)庫執(zhí)行的。數(shù)據(jù)庫系統(tǒng)的性能將直接決定ERP系統(tǒng)的性能,數(shù)據(jù)庫系統(tǒng)最容易出現(xiàn)瓶頸的是CPU資源。大量的即席查詢,需要數(shù)據(jù)庫系統(tǒng)頻繁的進(jìn)行執(zhí)行計劃編譯,這種編譯將大大消耗數(shù)據(jù)庫CPU資源,影響系統(tǒng)的流暢性和用戶體驗效果。目前,減少即席查詢通常的方法有兩種:程序中使用變量綁定方式或使用數(shù)據(jù)庫系統(tǒng)提供的強制參數(shù)化機制,但這兩種方法僅僅適用于查詢語句簡單,條件變量個數(shù)固定的場景,當(dāng)查詢語句的條件變量個數(shù)不固定時將失去作用,甚至對系統(tǒng)有害無益。
因此,需要一種新的減少即席查詢的技術(shù),可以對非固定長度、數(shù)量的輸入條件查詢語句的數(shù)據(jù)條件進(jìn)行格式匯總,令同類型查詢語句使用相同的查詢計劃,以實現(xiàn)降低即席查詢語句數(shù)量,提高查詢效率。
發(fā)明內(nèi)容
本發(fā)明正是基于上述問題,提出了一種新的減少即席查詢的技術(shù),可以對非固定長度、數(shù)量的輸入條件查詢語句的數(shù)據(jù)條件進(jìn)行格式匯總,令同類型查詢語句使用相同的查詢計劃,以實現(xiàn)降低即席查詢語句數(shù)量,提高查詢效率。
有鑒于此,本發(fā)明提出了一種減少數(shù)據(jù)庫系統(tǒng)中即席查詢語句的裝置,包括:獲取模塊,在參與查詢的條件變量的個數(shù)不固定時,獲取所述條件變量中的同類變量;生成模塊,利用編程語言中的集合對象匯總所述同類變量,生成至少一個變量集合對象;轉(zhuǎn)換模塊,根據(jù)所述編程語言使用的數(shù)據(jù)結(jié)構(gòu)類型,將所述至少一個變量集合對象按照對應(yīng)于所述數(shù)據(jù)結(jié)構(gòu)類型的格式轉(zhuǎn)換為至少一個XML數(shù)據(jù)串;解析模塊,使用解析函數(shù)將所述XML數(shù)據(jù)串解析為子查詢方式的結(jié)果集。在該技術(shù)方案中,通過將同類變量匯總至集合對象,并對該集合對象進(jìn)行XML數(shù)據(jù)串的轉(zhuǎn)換及解析,從而實現(xiàn)在非固定長度、數(shù)量的輸入條件下,減少即席查詢語句。這里進(jìn)行匯總的條件變量可以包括多種類型,從而在匯總時可以得到多個集合對象,并在后續(xù)處理中同時進(jìn)行處理。
在上述技術(shù)方案中,優(yōu)選地,還包括:標(biāo)記模塊,在獲取所述同類變量的位置進(jìn)行標(biāo)記;以及返回模塊,將所述子查詢方式的結(jié)果集返回至所述標(biāo)記處。在該技術(shù)方案中,從A處獲取條件變量進(jìn)行處理后,得到的結(jié)果還需要返回A處,通過在獲取時進(jìn)行標(biāo)記,從而可以確保得到的結(jié)果得以及時、正確地處理。
在上述技術(shù)方案中,優(yōu)選地,還包括:判斷模塊,判斷所述XML數(shù)據(jù)串的合法性;以及修正模塊,在所述XML數(shù)據(jù)串出現(xiàn)錯誤時,對所述錯誤進(jìn)行修正。在該技術(shù)方案中,XML數(shù)據(jù)串在生成時可能出現(xiàn)語法錯誤等,因此需要進(jìn)行合法性檢查,并在發(fā)現(xiàn)錯誤時進(jìn)行更正,提高結(jié)果的可靠性。
在上述技術(shù)方案中,優(yōu)選地,還包括:臨時存儲模塊,在所述解析函數(shù)的內(nèi)部定義臨時存儲區(qū)域,用于存儲進(jìn)行所述判斷和/或所述解析的所述XML數(shù)據(jù)串。在該技術(shù)方案中,XML數(shù)據(jù)串作為中間數(shù)據(jù),可以在解析函數(shù)的內(nèi)部劃分出一個臨時存儲區(qū)域,相當(dāng)于緩存,從而對XML數(shù)據(jù)串進(jìn)行暫存和處理,而不用每次從外部調(diào)取XML數(shù)據(jù)串,提高運算效率。
在上述技術(shù)方案中,優(yōu)選地,還包括:函數(shù)創(chuàng)建模塊,創(chuàng)建所述解析函數(shù),并將所述解析函數(shù)存儲于所述數(shù)據(jù)庫中。在該技術(shù)方案中,在建立上述裝置前,需要針對運行中可能出現(xiàn)的情況,預(yù)存需要用到的解析函數(shù),從而避免在運行中出現(xiàn)無法解析等情形,提高運行的可靠性。
根據(jù)本發(fā)明的又一方面,還提出了一種減少數(shù)據(jù)庫系統(tǒng)中即席查詢語句的方法,包括:步驟202,在參與查詢的條件變量的個數(shù)不固定時,獲取所述條件變量中的同類變量,并利用編程語言中的集合對象匯總所述同類變量,生成至少一個變量集合對象;步驟204,根據(jù)所述編程語言使用的數(shù)據(jù)結(jié)構(gòu)類型,將所述至少一個變量集合對象按照對應(yīng)于所述數(shù)據(jù)結(jié)構(gòu)類型的格式轉(zhuǎn)換為至少一個XML數(shù)據(jù)串;步驟206,使用解析函數(shù)將所述至少一個XML數(shù)據(jù)串解析為子查詢方式的結(jié)果集。在該技術(shù)方案中,通過將同類變量匯總至集合對象,并對該集合對象進(jìn)行XML數(shù)據(jù)串的轉(zhuǎn)換及解析,從而實現(xiàn)在非固定長度、數(shù)量的輸入條件下,減少即席查詢語句。這里進(jìn)行匯總的條件變量可以包括多種類型,從而在匯總時可以得到多個集合對象,并在后續(xù)處理中同時進(jìn)行處理。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于用友軟件股份有限公司,未經(jīng)用友軟件股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110284581.2/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種攪拌棒
- 下一篇:用于協(xié)作式波束成形的調(diào)度算法
- 數(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í)行方法及裝置





