[發(fā)明專利]數(shù)據(jù)庫的升級方法無效
| 申請?zhí)枺?/td> | 200710162436.0 | 申請日: | 2007-10-15 |
| 公開(公告)號: | CN101414295A | 公開(公告)日: | 2009-04-22 |
| 發(fā)明(設計)人: | 劉步 | 申請(專利權)人: | 北京瑞星國際軟件有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 永新專利商標代理有限公司 | 代理人: | 夏 青 |
| 地址: | 100080北京市中*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數(shù)據(jù)庫 升級 方法 | ||
技術領域
本發(fā)明涉及一種數(shù)據(jù)庫的升級方法。
背景技術
在計算機應用領域,根據(jù)應用的需要,往往要求對于用戶使用的數(shù)據(jù)庫進行經常性的升級。例如,隨著新病毒的不斷出現(xiàn),需要對殺毒軟件配置的病毒庫進行。目前在殺病毒技術領域,病毒庫的無縫升級是一個備受關注的問題,但是要完美實現(xiàn)無縫升級卻并不容易。所謂“無縫升級”是指,病毒庫的數(shù)據(jù)正在進行升級、更變、修正這一系列動作,然而數(shù)據(jù)的使用者卻絲毫感覺不到數(shù)據(jù)正在發(fā)生更新動作,仍然像平常一樣的繼續(xù)使用它而沒有任何阻礙。
在現(xiàn)有的數(shù)據(jù)庫升級技術中出現(xiàn)不少問題。
首先,當數(shù)據(jù)庫的數(shù)據(jù)升級時,一般都會導致本地計算機上整個業(yè)務的臨時暫停。
病毒庫是多客戶同時使用的復雜數(shù)據(jù)結構的集合。當殺毒軟件的病毒庫頻繁升級時,查殺毒效率也將面臨顯著下降的危險。還有其它很多數(shù)據(jù)庫在升級時也面臨類似的問題。
其次,在本地計算機上,如果將不同的進程或線程視為不同的用戶,那么,如果用戶A使用舊數(shù)據(jù)很長時間,使用期間數(shù)據(jù)發(fā)生了更新;而這時,用戶B獲取到了最新的數(shù)據(jù),那么這兩個數(shù)據(jù)就有可能發(fā)生沖突;如果用戶C、D、E又分別使用不同時間更新的數(shù)據(jù),這五個不同版本的數(shù)據(jù)在使用時發(fā)生沖突的幾率就更大。
當然,每當數(shù)據(jù)更新時,強行中斷所有用戶的工作,然后更新數(shù)據(jù),更新完畢后再恢復所有用戶的工作,是一個解決方法。但是這會降低數(shù)據(jù)使用效率。并且用戶會因為正在升級,而改變數(shù)據(jù)的訪問策略,甚至需要暫停行動。
第三,現(xiàn)有技術的升級過程對用戶透明化不夠。透明化是指用戶在從服務端獲取數(shù)據(jù)的時候,不用擔心數(shù)據(jù)是否過舊,是否需要排隊獲取,是否需要歸還數(shù)據(jù),是否數(shù)據(jù)在使用過程中會被其它用戶更改。當用戶向服務端請求數(shù)據(jù)時,他取到的數(shù)據(jù)一定是最新的、立刻獲取到的、可隨時歸還的、多用戶安全的。理想的情況是,用戶對于這些都無需知道,他所要做的只是簡單地請求數(shù)據(jù)和獲得數(shù)據(jù),即可完成數(shù)據(jù)庫的升級。
現(xiàn)有技術的第四個問題是,在多線程、多進程下不能得到正確的數(shù)據(jù)。如果一個用戶請求升級時數(shù)據(jù)庫的數(shù)據(jù)正在發(fā)生更新,那么另一個用戶需要等待數(shù)據(jù)更新完畢后才能訪問,否則,另一個用戶便會得到一半新、一半舊的數(shù)據(jù)。
發(fā)明內容
本發(fā)明的目的是針對現(xiàn)有技術存在的問題,提供一種改進的數(shù)據(jù)庫的升級方法,可以滿足數(shù)據(jù)庫無縫升級的需求。
根據(jù)本發(fā)明,提供一種數(shù)據(jù)庫的升級方法,包括以下步驟:請求升級數(shù)據(jù);獲取數(shù)據(jù)庫最新版本;查詢該數(shù)據(jù)庫最新版本的數(shù)據(jù)的索引細目,以找出滿足升級要求的新數(shù)據(jù),其中該數(shù)據(jù)庫最新版本的數(shù)據(jù)的索引細目存儲在全局共享區(qū)的最新數(shù)據(jù)列表中;將所有滿足升級要求的新數(shù)據(jù)合并,獲得最新版本的升級數(shù)據(jù)包;以及將該最新版本的更新數(shù)據(jù)包提供給請求升級的數(shù)據(jù)庫以完成升級。
根據(jù)本發(fā)明的實施例,其中,所述獲取數(shù)據(jù)庫最新版本包括:
在全局共享區(qū)中查詢數(shù)據(jù)庫最新版本;將該數(shù)據(jù)庫最新版本與本地數(shù)據(jù)庫相比較,以確定本地數(shù)據(jù)庫是否是該數(shù)據(jù)庫最新版本;當確定本地數(shù)據(jù)庫不是最新版本時,更新當前使用中的數(shù)據(jù)細目列表,其中所述當前使用中的數(shù)據(jù)細目列表存儲在內存最新列表中;以及獲得數(shù)據(jù)庫最新版本的數(shù)據(jù)。
根據(jù)本發(fā)明的實施例,其中,在所述獲取數(shù)據(jù)庫最新版本的步驟執(zhí)行期間,拒絕任何其它獲取數(shù)據(jù)庫最新版本的請求,直到所述獲得數(shù)據(jù)庫最新版本的數(shù)據(jù)之前。
根據(jù)本發(fā)明的實施例,其中,當所述數(shù)據(jù)庫最新版本再次被升級時,相應地更新所述最新數(shù)據(jù)列表。
根據(jù)本發(fā)明的實施例,數(shù)據(jù)庫的升級方法還包括為每一個更新數(shù)據(jù)資源設置一個計數(shù)器,其中,當新數(shù)據(jù)被創(chuàng)建的時候,將其計數(shù)器加1;當新數(shù)據(jù)變?yōu)榕f數(shù)據(jù)的時候,將相應的計數(shù)器減1;當客戶端獲取到數(shù)據(jù)時,將相應的計數(shù)器加1;以及當客戶端釋放其上的數(shù)據(jù)時,將相應的計數(shù)器減1;當該計數(shù)器的計數(shù)變?yōu)?時,刪除相應的更新數(shù)據(jù)資源。這樣可以保證客戶端上的數(shù)據(jù)的計數(shù)永遠大于0,新數(shù)據(jù)的計數(shù)永遠大于0;而無人使用的、舊的數(shù)據(jù),計數(shù)等于0。
根據(jù)本發(fā)明的實施例,其中,所述數(shù)據(jù)庫是病毒庫。
本發(fā)明可以實現(xiàn)數(shù)據(jù)庫的無縫升級,使得數(shù)據(jù)庫的升級類似于插件式數(shù)據(jù)庫,但擁有更高的靈活性、極低的資源占用率和良好的可移植性,數(shù)據(jù)庫的升級不會導致整個業(yè)務的暫停,可以實現(xiàn)新舊數(shù)據(jù)共存、多種數(shù)據(jù)類型共存、多線程多進程共存、單供應商多服務端及多客戶端共存,升級過程對客戶是完全透明化的,并支持多用戶和多平臺,從而克服現(xiàn)有技術中存在的各種缺陷。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京瑞星國際軟件有限公司,未經北京瑞星國際軟件有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200710162436.0/2.html,轉載請聲明來源鉆瓜專利網。
- 數(shù)據(jù)庫
- 數(shù)據(jù)庫管理系統(tǒng)及數(shù)據(jù)庫
- 數(shù)據(jù)庫構筑裝置、數(shù)據(jù)庫檢索裝置、數(shù)據(jù)庫裝置、數(shù)據(jù)庫構筑方法、以及數(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ù)庫對象復制延遲監(jiān)控方法和裝置
- 數(shù)據(jù)分布式存儲方法、裝置、電子設備及存儲介質
- 數(shù)據(jù)庫語句執(zhí)行方法及裝置





