專利名稱:一種基于數(shù)據(jù)補(bǔ)丁包的資料庫增量方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)庫領(lǐng)域,特別是涉及一種基于數(shù)據(jù)補(bǔ)丁包的資料庫增量方法。
背景技術(shù):
在資料庫中,經(jīng)常會(huì)對(duì)原始數(shù)據(jù)進(jìn)行插入刪除或更新等操作,進(jìn)行這些操作的對(duì)象可稱為增量數(shù)據(jù),在某些情況下,需要將一些原始表的增量數(shù)據(jù)同步到其它一些表中,使這些表的數(shù)據(jù)保持一致;還有一些情況,需要詳細(xì)了解一些原始表的變化,用于數(shù)據(jù)分析和挖掘,在上述情況下一般會(huì)進(jìn)行增量數(shù)據(jù)采集。現(xiàn)有技術(shù)中的增量數(shù)據(jù)采集一般使用以下兩種方法:第一種方法是基于Trigger的增量數(shù)據(jù)采集,當(dāng)資料庫中發(fā)生插入更新或刪除的操作時(shí),資料庫會(huì)自動(dòng)執(zhí)行預(yù)定義的預(yù)存程序,侵入原始表,將原始表中的增量數(shù)據(jù)采集到備份表中。其中,第一種方式在操作頻繁時(shí)會(huì)增加資料庫負(fù)荷,對(duì)系統(tǒng)造成性能影響。另外,第一種方式必須保證本地資料庫與原始資料庫的網(wǎng)絡(luò)連接,對(duì)網(wǎng)絡(luò)條件有特別限制,不能解決無網(wǎng)絡(luò)條件下的資料庫離線更新。第二種方法是基于時(shí)間戳字段的增量數(shù)據(jù)采集,是查詢?cè)急頂?shù)據(jù)中代表被操作時(shí)間的時(shí)間戳字段,將指定時(shí)間段中產(chǎn)生的增量數(shù)據(jù)采集到備份表中。其中,第二種方式要求原始表必須具有時(shí)間戳字段,局限性大,并且對(duì)進(jìn)行了刪除操作的增量無法進(jìn)行記錄。上述兩種方式都是對(duì)資料庫中的原始表進(jìn)行直接操作,均要求本地資料庫中必須存在所有的原始表,如果本地資料庫不存在某種原始表,則不能把該種原始表的數(shù)據(jù)更新到本地資料庫;需要侵入原始表進(jìn)行采集,影響系統(tǒng)的進(jìn)程,用戶體驗(yàn)差。綜上所述,現(xiàn)有的方法在資料庫增量方法中存在的當(dāng)本地資料庫中無對(duì)應(yīng)表時(shí)則無法進(jìn)行資料更新本地資料的缺陷。因而,目前需要本領(lǐng)域技術(shù)人員迫切解決的一個(gè)技術(shù)問題就是:如何找到一種新型的資料庫增量方法,能夠有效的解決目前對(duì)資料庫進(jìn)行增量的方法中存在的的當(dāng)本地資料庫中無對(duì)應(yīng)表時(shí)則無法進(jìn)行資料更新本地資料的缺陷。
發(fā)明內(nèi)容
本發(fā)明所要解決的一個(gè)技術(shù)問題是提供一種基于數(shù)據(jù)補(bǔ)丁包的資料庫增量方法,能夠有效的解決目前對(duì)資料庫進(jìn)行增量的方法中存在的的當(dāng)本地資料庫中無對(duì)應(yīng)表時(shí)則無法進(jìn)行資料更新本地資料的缺陷。為了解決上述問題,本發(fā)明公開了一種基于數(shù)據(jù)補(bǔ)丁包的資料庫增量方法,包括:對(duì)預(yù)更新的加密數(shù)據(jù)補(bǔ)丁包進(jìn)行采集,獲得更新后的數(shù)據(jù)源;將所述更新后的數(shù)據(jù)源導(dǎo)入到原始本地資料庫中,獲得更新后的本地資料庫;對(duì)所述更新后的本地資料庫進(jìn)行確認(rèn),獲得所述更新后的本地資料庫的增量結(jié)果O優(yōu)選的,所述對(duì)預(yù)更新的加密數(shù)據(jù)補(bǔ)丁包進(jìn)行采集,獲得更新后的數(shù)據(jù)源的步驟,包括:通過電子郵件、文件傳輸或磁盤媒介的方式,對(duì)預(yù)更新的加密數(shù)據(jù)補(bǔ)丁包進(jìn)行采集,獲得更新后的數(shù)據(jù)源;其中,所述預(yù)更新的加密數(shù)據(jù)補(bǔ)丁包包括服務(wù)器端發(fā)布版本的預(yù)更新的加密數(shù)據(jù)補(bǔ)丁包以及客戶端定制版本的預(yù)更新的加密數(shù)據(jù)補(bǔ)丁包。優(yōu)選的,所述將所述更新后的數(shù)據(jù)源導(dǎo)入到原始本地資料庫中,獲得更新后的本地資料庫的步驟,包括:對(duì)更新后的數(shù)據(jù)源進(jìn)行解密及驗(yàn)證,獲得經(jīng)過解密及驗(yàn)證后的更新數(shù)據(jù)源;對(duì)所述經(jīng)過解密及驗(yàn)證后的更新數(shù)據(jù)源進(jìn)行有效數(shù)據(jù)的提取,獲得有效數(shù)據(jù);
將所述有效數(shù)據(jù)更新到本地資料庫中,獲得更新后的本地資料庫。優(yōu)選的,所述對(duì)更新后的數(shù)據(jù)源進(jìn)行解密及驗(yàn)證,獲得經(jīng)過解密及驗(yàn)證后的更新數(shù)據(jù)源的步驟,包括:對(duì)更新后的數(shù)據(jù)源進(jìn)行解密,獲得解密后的更新數(shù)據(jù)源;對(duì)所述解密后的更新數(shù)據(jù)源進(jìn)行驗(yàn)證,獲得經(jīng)過解密及驗(yàn)證后的更新數(shù)據(jù)源。優(yōu)選的,所述對(duì)所述解密后的更新數(shù)據(jù)源進(jìn)行驗(yàn)證,獲得經(jīng)過解密及驗(yàn)證后的更新數(shù)據(jù)源的步驟,包括:若解密后的更新數(shù)據(jù)源中有相應(yīng)的主標(biāo)識(shí)號(hào)及版本信息,則所述解密后的更新數(shù)據(jù)源通過驗(yàn)證,獲得經(jīng)過解密及驗(yàn)證后的更新數(shù)據(jù)源;若解密后的更新數(shù)據(jù)源中只有相應(yīng)的主標(biāo)識(shí)號(hào),則所述解密后的更新數(shù)據(jù)源不能夠通過驗(yàn)證,不能夠獲得經(jīng)過解密及驗(yàn)證后的更新數(shù)據(jù)源;若解密后的更新數(shù)據(jù)源中只有相應(yīng)的版本信息,則所述解密后的更新數(shù)據(jù)源不能夠通過驗(yàn)證,不能夠獲得經(jīng)過解密及驗(yàn)證后的更新數(shù)據(jù)源。優(yōu)選的,所述對(duì)所述經(jīng)過解密及驗(yàn)證后的更新數(shù)據(jù)源進(jìn)行有效數(shù)據(jù)的提取,獲得有效數(shù)據(jù)的步驟,包括:若原始本地資料庫中不存在經(jīng)過解密及驗(yàn)證后的更新數(shù)據(jù)源相對(duì)應(yīng)的表,則所述經(jīng)過解密及驗(yàn)證后的更新數(shù)據(jù)源為有效數(shù)據(jù);并通過依據(jù)數(shù)據(jù)源中的新表的結(jié)構(gòu)在本地資料庫中創(chuàng)建新表的方式來對(duì)所述有效數(shù)據(jù)進(jìn)行提取,獲得有效數(shù)據(jù);若原始本地資料庫中存在經(jīng)過解密及驗(yàn)證后的更新數(shù)據(jù)源相對(duì)應(yīng)的表,則通過判斷所述相對(duì)應(yīng)的表中是否存在所述表中每條記錄的主標(biāo)識(shí)號(hào),來驗(yàn)證所述經(jīng)過解密的更新數(shù)據(jù)源為有效數(shù)據(jù),并作出相應(yīng)的操作;若所述相對(duì)應(yīng)的表中存在所述表中每條記錄的主標(biāo)識(shí)號(hào),則所述經(jīng)過解密的更新數(shù)據(jù)源為無效數(shù)據(jù),并將所述經(jīng)過解密的更新數(shù)據(jù)源廢棄;若所述相對(duì)應(yīng)的表中不存在所述表中每條記錄的主標(biāo)識(shí)號(hào),則所述經(jīng)過解密的更新數(shù)據(jù)源為有效數(shù)據(jù),并將所述經(jīng)過解密的更新數(shù)據(jù)源作為新增數(shù)據(jù)添加到原始本地資料庫中。與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn):1、有效解決了本地資料庫中不存在對(duì)應(yīng)的表時(shí)無法更新的問題。2、簡(jiǎn)單靈活,不限制數(shù)據(jù)的存儲(chǔ)方式及傳輸方式,對(duì)有無網(wǎng)絡(luò)無苛刻要求。3、不局限于任何一種編程語言。
4、有效的解決客戶端資料與服務(wù)器端資料的離線增量問題。5、支持按需索取和統(tǒng)一管理兩種方式,實(shí)現(xiàn)增量方便靈活的效果。6、支持一次性大數(shù)據(jù)量的導(dǎo)入,同時(shí)支持多次少量數(shù)據(jù)到的方法。7、有效地解決了由于網(wǎng)絡(luò)閉塞延遲等原因帶來的數(shù)據(jù)無法更新問題。本發(fā)明解決了客戶端資料庫在不受網(wǎng)絡(luò)限制的情況下完成離線增量的問題;本發(fā)明所采用的資料庫增量方法中的數(shù)據(jù)格式不限,加密方式不限,并且可以采用任意開發(fā)語言,這將大大地拓寬本發(fā)明的應(yīng)用價(jià)值及領(lǐng)域??傊景l(fā)明提供了一種基于數(shù)據(jù)包的資料庫增量方法,能夠有效的解決目前對(duì)資料庫進(jìn)行增量的方法中存在的的當(dāng)本地資料庫中無對(duì)應(yīng)表時(shí)則無法進(jìn)行資料更新本地資料的缺陷。
圖1是本發(fā)明一種基于數(shù)據(jù)補(bǔ)丁包的資料庫增量方法實(shí)施例1的流程示意圖;圖2是本發(fā)明一種基于數(shù)據(jù)補(bǔ)丁包的資料庫增量方法實(shí)施例2的流程示意圖;圖3是本發(fā)明中數(shù)據(jù)補(bǔ)丁包的結(jié)構(gòu)示意圖;圖4是本發(fā)明中提取有效數(shù)據(jù)的流程示意圖;圖5是本發(fā)明一種基于數(shù)據(jù)補(bǔ)丁包的資料庫增量系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施例方式為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說明。本發(fā)明的核心思想之一是提供了一種基于數(shù)據(jù)補(bǔ)丁包的資料庫增量方法,包括:對(duì)預(yù)更新的加密數(shù)據(jù)補(bǔ)丁包進(jìn)行采集,獲得更新后的數(shù)據(jù)源;將所述更新后的數(shù)據(jù)源導(dǎo)入到原始本地資料庫中,獲得更新后的本地資料庫;對(duì)所述更新后的本地資料庫進(jìn)行確認(rèn),獲得所述更新后的本地資料庫的增量結(jié)果;該方法能夠有效的解決目前對(duì)資料庫進(jìn)行增量的方法中存在的的當(dāng)本地資料庫中無對(duì)應(yīng)表時(shí)則無法進(jìn)行資料更新本地資料的缺陷。數(shù)據(jù)補(bǔ)丁包是由一張或多張表組成,每張表則由多條記錄組成,其中每條記錄必須擁有版本號(hào)和ID號(hào)(主標(biāo)識(shí)號(hào))的字段,其余信息可以隨意增減,在此不作任何限制。ID號(hào)(主標(biāo)識(shí)號(hào))標(biāo)識(shí)是判斷新舊數(shù)據(jù)的重要標(biāo)識(shí),版本號(hào)是數(shù)據(jù)補(bǔ)丁包自身信息的重要標(biāo)識(shí)。通過版本號(hào)可以迅速定位數(shù)據(jù)補(bǔ)丁包內(nèi)應(yīng)具備的所有數(shù)據(jù)信息,并且根據(jù)需求的不同,可以取得不同級(jí)別、不同數(shù)據(jù)量、不同類別的數(shù)據(jù)信息,實(shí)現(xiàn)增量數(shù)據(jù)的靈活配置。并且,數(shù)據(jù)補(bǔ)丁包內(nèi)的數(shù)據(jù)是按照規(guī)約進(jìn)行過加密處理的,如采用AES(高級(jí)加密標(biāo)準(zhǔn))的加密方式,防止信息在傳播的過程中泄露,為數(shù)據(jù)的安全提供保證。在軟件應(yīng)用過程中,例如,在各種操作系統(tǒng)以及各種游戲中,可能會(huì)發(fā)現(xiàn)軟件存在問題或漏洞,所述軟件存在的問題或漏洞可以被稱為BUG,漏洞會(huì)使用戶在使用軟件的過程中,出現(xiàn)被病毒或惡意軟件侵襲的干擾,從而降低了上述各種操作系統(tǒng)以及各種游戲的安全性能,尤其在網(wǎng)上銀行等在在線交易過程的安全性是更加重要的,以防止黑客的侵襲。目前的技術(shù)可以通過修改或更新受影響的程序或模塊寫出一些可插入源程序的程序語言,來對(duì)所述各種操作系統(tǒng)以及各種游戲中存在的漏洞進(jìn)行修復(fù),上述用于修復(fù)漏洞的程序語言被稱為補(bǔ)丁包。
增量資料庫是客戶端的本地?cái)?shù)據(jù)庫,將數(shù)據(jù)補(bǔ)丁包正確的導(dǎo)入至資料庫,完成本地資料庫數(shù)據(jù)的有效增長(zhǎng)。通過獲取服務(wù)器端資料庫的所有數(shù)據(jù)補(bǔ)丁包,實(shí)現(xiàn)與服務(wù)器端資料庫的同步增長(zhǎng);也可獲取客戶端需求的數(shù)據(jù)補(bǔ)丁包,實(shí)現(xiàn)客戶端自定義的資料庫。參照?qǐng)D1,示出了本發(fā)明一種基于數(shù)據(jù)補(bǔ)丁包的資料庫增量方法實(shí)施例1的流程示意圖,具體可以包括:步驟101、對(duì)預(yù)更新的加密數(shù)據(jù)補(bǔ)丁包進(jìn)行采集,獲得更新后的數(shù)據(jù)源。為了使本領(lǐng)域的技術(shù)人員更好地理解本發(fā)明,在本發(fā)明的一個(gè)優(yōu)選實(shí)施例中,所述步驟101,具體可以包括:子步驟Al、通過電子郵件、文件傳輸或磁盤媒介的方式,對(duì)預(yù)更新的加密數(shù)據(jù)補(bǔ)丁包進(jìn)行采集,獲得更新后的數(shù)據(jù)源;其中,所述預(yù)更新的加密數(shù)據(jù)補(bǔ)丁包包括服務(wù)器端發(fā)布版本的預(yù)更新的加密數(shù)據(jù)補(bǔ)丁包以及客戶端定制版本的預(yù)更新的加密數(shù)據(jù)補(bǔ)丁包。步驟102、將所述更新后的數(shù)據(jù)源導(dǎo)入到原始本地資料庫中,獲得更新后的本地資料庫。為了使本領(lǐng)域的技術(shù)人員更好地理解本發(fā)明,在本發(fā)明的另一個(gè)優(yōu)選實(shí)施例中,所述步驟102,具體可以包括:子步驟B1、對(duì)更新后的數(shù)據(jù)源進(jìn)行解密及驗(yàn)證,獲得經(jīng)過解密及驗(yàn)證后的更新數(shù)據(jù)源。其中,所述子步驟BI,具體可以包括:子步驟Cl、對(duì)更新后的數(shù)據(jù)源進(jìn)行解密,獲得解密后的更新數(shù)據(jù)源。子步驟C2、對(duì)所述解密后的更新數(shù)據(jù)源進(jìn)行驗(yàn)證,獲得經(jīng)過解密及驗(yàn)證后的更新數(shù)據(jù)源。其中,所述子步驟C2,具體可以包括:子步驟D1、若解密后的更新數(shù)據(jù)源中有相應(yīng)的主標(biāo)識(shí)號(hào)及版本信息,則所述解密后的更新數(shù)據(jù)源通過驗(yàn)證,獲得經(jīng)過解密及驗(yàn)證后的更新數(shù)據(jù)源。子步驟D2、若解密后的更新數(shù)據(jù)源中只有相應(yīng)的主標(biāo)識(shí)號(hào),則所述解密后的更新數(shù)據(jù)源不能夠通過驗(yàn)證,不能夠獲得經(jīng)過解密及驗(yàn)證后的更新數(shù)據(jù)源。子步驟D3、若解密后的更新數(shù)據(jù)源中只有相應(yīng)的版本信息,則所述解密后的更新數(shù)據(jù)源不能夠通過驗(yàn)證,不能夠獲得經(jīng)過解密及驗(yàn)證后的更新數(shù)據(jù)源。子步驟B2、對(duì)所述經(jīng)過解密及驗(yàn)證后的更新數(shù)據(jù)源進(jìn)行有效數(shù)據(jù)的提取,獲得有效數(shù)據(jù)。其中,所述子步驟B2,具體可以包括:子步驟E1、若原始本地資料庫中不存在經(jīng)過解密及驗(yàn)證后的更新數(shù)據(jù)源相對(duì)應(yīng)的表,則所述經(jīng)過解密及驗(yàn)證后的更新數(shù)據(jù)源為有效數(shù)據(jù);并通過依據(jù)數(shù)據(jù)源中的新表的結(jié)構(gòu)在本地資料庫中創(chuàng)建新表的方式來對(duì)所述有效數(shù)據(jù)進(jìn)行提取,獲得有效數(shù)據(jù)。子步驟E2、若原始本地資料庫中存在經(jīng)過解密及驗(yàn)證后的更新數(shù)據(jù)源相對(duì)應(yīng)的表,則通過判斷所述相對(duì)應(yīng)的表中是否存在所述表中每條記錄的主標(biāo)識(shí)號(hào),來驗(yàn)證所述經(jīng)過解密的更新數(shù)據(jù)源為有效數(shù)據(jù),并作出相應(yīng)的操作;若所述相對(duì)應(yīng)的表中存在所述表中每條記錄的主標(biāo)識(shí)號(hào),則所述經(jīng)過解密的更新數(shù)據(jù)源為無效數(shù)據(jù),并將所述經(jīng)過解密的更新數(shù)據(jù)源廢棄;若所述相對(duì)應(yīng)的表中不存在所述表中每條記錄的主標(biāo)識(shí)號(hào),則所述經(jīng)過解密的更新數(shù)據(jù)源為有效數(shù)據(jù),并將所述經(jīng)過解密的更新數(shù)據(jù)源作為新增數(shù)據(jù)添加到原始本地資料庫中。子步驟B3、將所述有效數(shù)據(jù)更新到本地資料庫中,獲得更新后的本地資料庫。步驟103、對(duì)所述更新后的本地資料庫進(jìn)行確認(rèn),獲得所述更新后的本地資料庫的
增量結(jié)果。為了使本領(lǐng)域的技術(shù)人員更好地理解本發(fā)明,在本發(fā)明的另一個(gè)優(yōu)選實(shí)施例中,所述步驟103,具體可以包括:子步驟F1、通過查詢方式方式,對(duì)所述更新后的本地資料庫進(jìn)行確認(rèn),獲得所述更新后的本地資料庫的增量結(jié)果。其中,所述子步驟F1,具體可以包括:子步驟G1、通過查詢所述數(shù)據(jù)補(bǔ)丁包中是否有資料庫增量的版本信息來對(duì)更新后的本地資料庫進(jìn)行確認(rèn),獲得所述更新后的本地資料庫的增量結(jié)果;其中,若所述數(shù)據(jù)補(bǔ)丁包中有資料庫增量的版本信息,則確認(rèn)所述更新后的本地資料庫的數(shù)據(jù)發(fā)生了增加;若所述數(shù)據(jù)補(bǔ)丁包中沒有資料庫增量的版本信息,則確認(rèn)所述更新后的本地資料庫的數(shù)據(jù)沒有發(fā)生增加。子步驟F2、通過檢索方式,對(duì)所述更新后的本地資料庫進(jìn)行確認(rèn),獲得所述更新后的本地資料庫的增量結(jié)果。其中,所述子步驟F2,具體可以包括:子步驟H1、通過檢索所述更新后的本地資料庫中是否有所需求的信息類對(duì)更新后的本地資料庫進(jìn)行確認(rèn),獲得所述更新后的本地資料庫的增量結(jié)果;其中,若所述更新后的本地資料庫中有所需求的信息,則確認(rèn)所述更新后的本地資料庫的數(shù)據(jù)發(fā)生了增加;若所述更新后的本地資料庫中沒有所需求的信息,則確認(rèn)所述更新后的本地資料庫的數(shù)據(jù)沒有發(fā)生增加。參照?qǐng)D2,示出了本發(fā)明一種基于數(shù)據(jù)補(bǔ)丁包的資料庫增量方法實(shí)施例2的流程示意圖,具體可以包括:步驟201、獲取數(shù)據(jù)源。所述獲取數(shù)據(jù)源為獲取預(yù)更新的加密數(shù)據(jù)補(bǔ)丁包。通過電子郵件、文件傳輸或磁盤媒介等方式,取得服務(wù)器端發(fā)布版本或者客戶端定制版本的數(shù)據(jù)補(bǔ)丁包。獲取的數(shù)據(jù)信息可為步驟202提供基礎(chǔ)數(shù)據(jù)保證。參照?qǐng)D3,示出了本發(fā)明中數(shù)據(jù)補(bǔ)丁包的結(jié)構(gòu)示意圖。從圖3中可以看出:本發(fā)明中數(shù)據(jù)補(bǔ)丁包的結(jié)構(gòu)。步驟202、數(shù)據(jù)源解密及驗(yàn)證。對(duì)獲取的信息按照約定進(jìn)行數(shù)據(jù)解密工作,并對(duì)數(shù)據(jù)進(jìn)行本地驗(yàn)證,即是否擁有ID號(hào)(主標(biāo)識(shí)號(hào))和版本信息,如果擁有,則表不此記錄正確,如果缺少任意一種信息(ID號(hào)(主標(biāo)識(shí)號(hào))和版本信息),則表示此記錄存在問題,應(yīng)予以放棄。保證導(dǎo)入數(shù)據(jù)的正確性和可追溯性。步驟203、提取有效數(shù)據(jù)。參照?qǐng)D4,示出了本發(fā)明中提取有效數(shù)據(jù)的流程示意圖。
從圖4中,可以看出本發(fā)明中提取有效數(shù)據(jù)的全過程,具體如下所述:原始數(shù)據(jù)中存在兩種可用數(shù)據(jù):本地資料庫中不存在表結(jié)構(gòu)數(shù)據(jù)和在本地資料庫的表結(jié)構(gòu)中不存在ID號(hào)(主標(biāo)識(shí)號(hào))的記錄數(shù)據(jù)。通過與本地資料庫進(jìn)行對(duì)比,可得出上述兩種可用的數(shù)據(jù)。如果本地庫中不存在此張表,則認(rèn)為是有效數(shù)據(jù);如果此表存在,則判斷表中每條記錄的ID號(hào)(主標(biāo)識(shí)號(hào)),如果記錄的ID號(hào)(主標(biāo)識(shí)號(hào))不存在,則認(rèn)為是新增數(shù)據(jù),如果ID號(hào)(主標(biāo)識(shí)號(hào))存在,則認(rèn)為是無效數(shù)據(jù),將其廢棄。步驟204、更新至本地資源庫。將所述步驟203所提出的有效數(shù)據(jù)保存至本地資料庫,完成數(shù)據(jù)補(bǔ)丁包的本地持久化。為本地的數(shù)據(jù)檢索提供數(shù)據(jù)支持。步驟205、確認(rèn)資料庫增量結(jié)果。通過兩種方式進(jìn)行資料庫增量結(jié)果的確認(rèn),其一,通過查詢已安裝的數(shù)據(jù)補(bǔ)丁包,方可確認(rèn)資料庫增量的所有版本信息;其二,通過對(duì)所需求的信息檢索,確認(rèn)本地資料庫信息的正確增量更新。參照?qǐng)D5,示出了本發(fā)明一種基于數(shù)據(jù)補(bǔ)丁包的資料庫增量系統(tǒng)的結(jié)構(gòu)示意圖。數(shù)據(jù)源獲取系統(tǒng)501,用于對(duì)預(yù)更新的加密數(shù)據(jù)補(bǔ)丁包進(jìn)行采集,獲得更新后的數(shù)據(jù)源。原始本地資料庫導(dǎo)入系統(tǒng)502,用于將所述更新后的數(shù)據(jù)源導(dǎo)入到原始本地資料庫中,獲得更新后的本地資料庫。其中,所述原始本地資料庫導(dǎo)入系統(tǒng)502,具體可以包括: 數(shù)據(jù)源解密及驗(yàn)證系統(tǒng)5021,用于對(duì)更新后的數(shù)據(jù)源進(jìn)行解密及驗(yàn)證,獲得經(jīng)過解密及驗(yàn)證后的更新數(shù)據(jù)源。有效數(shù)據(jù)提取系統(tǒng)5022,用于對(duì)所述經(jīng)過解密及驗(yàn)證后的更新數(shù)據(jù)源進(jìn)行有效數(shù)據(jù)的提取,獲得有效數(shù)據(jù)。本地資料庫更新系統(tǒng)5023,用于將所述有效數(shù)據(jù)更新到本地資料庫中,獲得更新后的本地資料庫。更新后的本地資料庫確認(rèn)系統(tǒng)503,用于對(duì)所述更新后的本地資料庫進(jìn)行確認(rèn),獲得所述更新后的本地資料庫的增量結(jié)果。在本發(fā)明中,引入表結(jié)構(gòu)概念,利用必要的數(shù)據(jù)信息以及加密手段,以軟件開發(fā)為輔的方式,完成本地資料庫增量更新。在本發(fā)明中,將數(shù)據(jù)補(bǔ)丁包通過解密、提取、轉(zhuǎn)換等多重環(huán)節(jié)導(dǎo)入到本地資料庫中,實(shí)現(xiàn)客戶端資料與服務(wù)器端的資料離線增量,并且利用數(shù)據(jù)補(bǔ)丁包的版本信息等確認(rèn)增量結(jié)果;能夠解決客戶端資料庫在不受網(wǎng)絡(luò)限制的情況下完成離線增量的問題。本發(fā)明中所涉及的數(shù)據(jù)格式不限,加密方式不限,并且可以采用任意開發(fā)語言??傊景l(fā)明提供了一種基于數(shù)據(jù)補(bǔ)丁包的資料庫增量方法,該方法能夠有效的解決目前對(duì)資料庫進(jìn)行增量的方法中存在的的當(dāng)本地資料庫中無對(duì)應(yīng)表時(shí)則無法進(jìn)行資料更新本地資料的缺陷。以上對(duì)本發(fā)明所提供的一種基于數(shù)據(jù)補(bǔ)丁包的資料庫增量方法進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
權(quán)利要求
1.一種基于數(shù)據(jù)補(bǔ)丁包的資料庫增量方法,其特征在于,包括: 對(duì)預(yù)更新的加密數(shù)據(jù)補(bǔ)丁包進(jìn)行采集,獲得更新后的數(shù)據(jù)源; 將所述更新后的數(shù)據(jù)源導(dǎo)入到原始本地資料庫中,獲得更新后的本地資料庫; 對(duì)所述更新后的本地資料庫進(jìn)行確認(rèn),獲得所述更新后的本地資料庫的增量結(jié)果。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述對(duì)預(yù)更新的加密數(shù)據(jù)補(bǔ)丁包進(jìn)行采集,獲得更新后的數(shù)據(jù)源的步驟,包括: 通過電子郵件、文件傳輸或磁盤媒介的方式,對(duì)預(yù)更新的加密數(shù)據(jù)補(bǔ)丁包進(jìn)行采集,獲得更新后的數(shù)據(jù)源; 其中,所述預(yù)更新的加密數(shù)據(jù)補(bǔ)丁包包括服務(wù)器端發(fā)布版本的預(yù)更新的加密數(shù)據(jù)補(bǔ)丁包以及客戶端定制版本的預(yù)更新的加密數(shù)據(jù)補(bǔ)丁包。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將所述更新后的數(shù)據(jù)源導(dǎo)入到原始本地資料庫中,獲得更新后的本地資料庫的步驟,包括: 對(duì)更新后的數(shù)據(jù)源進(jìn)行解密及驗(yàn)證,獲得經(jīng)過解密及驗(yàn)證后的更新數(shù)據(jù)源; 對(duì)所述經(jīng)過解密及驗(yàn)證后的更新數(shù)據(jù)源進(jìn)行有效數(shù)據(jù)的提取,獲得有效數(shù)據(jù); 將所述有效數(shù)據(jù)更新到本地資料庫中,獲得更新后的本地資料庫。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述對(duì)更新后的數(shù)據(jù)源進(jìn)行解密及驗(yàn)證,獲得經(jīng)過解密及驗(yàn)證后的更新數(shù)據(jù)源的步驟,包括: 對(duì)更新后的數(shù)據(jù)源進(jìn)行解密,獲得解密后的更新數(shù)據(jù)源; 對(duì)所述解密后的更新數(shù)據(jù)源進(jìn)行驗(yàn)證,獲得經(jīng)過解密及驗(yàn)證后的更新數(shù)據(jù)源。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述對(duì)所述解密后的更新數(shù)據(jù)源進(jìn)行驗(yàn)證,獲得經(jīng)過解密及驗(yàn)證后的更新數(shù)據(jù)源的步驟,包括: 若解密后的更新數(shù)據(jù)源中有相應(yīng)的主標(biāo)識(shí)號(hào)及版本信息,則所述解密后的更新數(shù)據(jù)源通過驗(yàn)證,獲得經(jīng)過解密及驗(yàn)證后的更新數(shù)據(jù)源; 若解密后的更新數(shù)據(jù)源中只有相應(yīng)的主標(biāo)識(shí)號(hào),則所述解密后的更新數(shù)據(jù)源不能夠通過驗(yàn)證,不能夠獲得經(jīng)過解密及驗(yàn)證后的更新數(shù)據(jù)源; 若解密后的更新數(shù)據(jù)源中只有相應(yīng)的版本信息,則所述解密后的更新數(shù)據(jù)源不能夠通過驗(yàn)證,不能夠獲得經(jīng)過解密及驗(yàn)證后的更新數(shù)據(jù)源。
6.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述對(duì)所述經(jīng)過解密及驗(yàn)證后的更新數(shù)據(jù)源進(jìn)行有效數(shù)據(jù)的提取,獲得有效數(shù)據(jù)的步驟,包括: 若原始本地資料庫中不存在經(jīng)過解密及驗(yàn)證后的更新數(shù)據(jù)源相對(duì)應(yīng)的表,則所述經(jīng)過解密及驗(yàn)證后的更新數(shù)據(jù)源為有效數(shù)據(jù);并通過依據(jù)數(shù)據(jù)源中的新表的結(jié)構(gòu)在本地資料庫中創(chuàng)建新表的方式來對(duì)所述有效數(shù)據(jù)進(jìn)行提取,獲得有效數(shù)據(jù); 若原始本地資料庫中存在經(jīng)過解密及驗(yàn)證后的更新數(shù)據(jù)源相對(duì)應(yīng)的表,則通過判斷所述相對(duì)應(yīng)的表中是否存在所述表中每條記錄的主標(biāo)識(shí)號(hào),來驗(yàn)證所述經(jīng)過解密的更新數(shù)據(jù)源為有效數(shù)據(jù),并作出相應(yīng)的操作;若所述相對(duì)應(yīng)的表中存在所述表中每條記錄的主標(biāo)識(shí)號(hào),則所述經(jīng)過解密的更新數(shù)據(jù)源為無效數(shù)據(jù),并將所述經(jīng)過解密的更新數(shù)據(jù)源廢棄;若所述相對(duì)應(yīng)的表中不存在所述表中每條記錄的主標(biāo)識(shí)號(hào),則所述經(jīng)過解密的更新數(shù)據(jù)源為有效數(shù)據(jù),并將所述經(jīng)過解密的更新數(shù)據(jù)源作為新增數(shù)據(jù)添加到原始本地資料庫中。
全文摘要
本發(fā)明提供了一種基于數(shù)據(jù)補(bǔ)丁包的資料庫增量方法,包括對(duì)預(yù)更新的加密數(shù)據(jù)補(bǔ)丁包進(jìn)行采集,獲得更新后的數(shù)據(jù)源;將所述更新后的數(shù)據(jù)源導(dǎo)入到原始本地資料庫中,獲得更新后的本地資料庫;對(duì)所述更新后的本地資料庫進(jìn)行確認(rèn),獲得所述更新后的本地資料庫的增量結(jié)果;該方法能夠有效的解決目前對(duì)資料庫進(jìn)行增量的方法中存在的當(dāng)本地資料庫中無對(duì)應(yīng)表時(shí)則無法進(jìn)行資料更新本地資料的缺陷。
文檔編號(hào)G06F17/30GK103186641SQ201110460479
公開日2013年7月3日 申請(qǐng)日期2011年12月31日 優(yōu)先權(quán)日2011年12月31日
發(fā)明者尚云飛, 程明, 楊熙, 梅亞雷 申請(qǐng)人:北京卡達(dá)克數(shù)據(jù)技術(shù)中心