本發(fā)明涉及一種數(shù)據(jù)庫的訪問方法及裝置,尤其是一種KV數(shù)據(jù)庫訪問方法及裝置。
背景技術(shù):
KV數(shù)據(jù)庫是指鍵值(Key-Value)存儲(chǔ)數(shù)據(jù)庫,是一種NoSQL(非關(guān)系型數(shù)據(jù)庫)模型,其數(shù)據(jù)按照鍵值對(duì)的形式進(jìn)行組織、索引和存儲(chǔ)。
現(xiàn)有KV數(shù)據(jù)庫的接口代碼種類繁多,各個(gè)KV數(shù)據(jù)庫提供的接口信息和配置信息均存在很大的區(qū)別,因此無法實(shí)現(xiàn)對(duì)不同的KV數(shù)據(jù)庫的統(tǒng)一訪問,因而難以在的不同KV數(shù)據(jù)庫之間進(jìn)行數(shù)據(jù)遷移。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題是為了克服現(xiàn)有技術(shù)KV數(shù)據(jù)庫接口種類繁多導(dǎo)致的難以統(tǒng)一訪問以及數(shù)據(jù)遷移的缺陷,提供了一種KV數(shù)據(jù)庫訪問方法及裝置,通過針對(duì)接口構(gòu)建標(biāo)準(zhǔn)庫的模式,實(shí)現(xiàn)各類KV數(shù)據(jù)庫的統(tǒng)一訪問,進(jìn)而實(shí)現(xiàn)數(shù)據(jù)庫數(shù)據(jù)的遷移。
本發(fā)明是通過下述技術(shù)方案來解決上述技術(shù)問題的:
本發(fā)明提供了一種KV數(shù)據(jù)庫訪問方法,其特點(diǎn)是包括以下步驟:
獲取KV數(shù)據(jù)庫訪問請(qǐng)求;
通過頭文件調(diào)用標(biāo)準(zhǔn)庫,獲取與KV數(shù)據(jù)庫訪問請(qǐng)求相匹配的KV數(shù)據(jù)庫接口函數(shù)定義;
將KV數(shù)據(jù)庫接口函數(shù)定義轉(zhuǎn)化為KV數(shù)據(jù)庫接口;
通過KV數(shù)據(jù)庫接口訪問KV數(shù)據(jù)庫。
本發(fā)明通過針對(duì)數(shù)據(jù)庫接口構(gòu)建標(biāo)準(zhǔn)庫,并通過頭文件來實(shí)現(xiàn)應(yīng)用程序等對(duì)數(shù)據(jù)庫接口的使用,進(jìn)而實(shí)現(xiàn)對(duì)各類KV數(shù)據(jù)庫的統(tǒng)一訪問。其中本發(fā)明中所述頭文件和標(biāo)準(zhǔn)庫中構(gòu)建了對(duì)應(yīng)于不同種類KV數(shù)據(jù)庫接口的接口函數(shù)定義,從而實(shí)現(xiàn)對(duì)KV數(shù)據(jù)庫接口的使用。
較佳地,應(yīng)用程序獲取并解析KV數(shù)據(jù)庫訪問請(qǐng)求。
優(yōu)選地,應(yīng)用程序通過KV數(shù)據(jù)庫接口訪問KV數(shù)據(jù)庫。
本發(fā)明中所述應(yīng)用程序可以使用任何需要訪問數(shù)據(jù)庫的程序,而不僅限于應(yīng)用類的程序。
本發(fā)明還提供一種KV數(shù)據(jù)庫訪問裝置,其特點(diǎn)是,所述裝置包括:
獲取模塊,用于獲取KV數(shù)據(jù)庫訪問請(qǐng)求;
待用模塊,用于通過頭文件調(diào)用標(biāo)準(zhǔn)庫,獲取與KV數(shù)據(jù)庫訪問請(qǐng)求相匹配的KV數(shù)據(jù)庫接口函數(shù)定義;
處理模塊,用于將KV數(shù)據(jù)庫接口函數(shù)定義轉(zhuǎn)化為KV數(shù)據(jù)庫接口;
訪問模塊,用于通過KV數(shù)據(jù)庫接口訪問KV數(shù)據(jù)庫。
較佳地,應(yīng)用程序利用獲取模塊獲取并解析KV數(shù)據(jù)庫訪問請(qǐng)求。
優(yōu)選地,應(yīng)用程序利用訪問模塊通過KV數(shù)據(jù)庫接口訪問KV數(shù)據(jù)庫。
在符合本領(lǐng)域常識(shí)的基礎(chǔ)上,上述各優(yōu)選條件,可任意組合,即得本發(fā)明各較佳實(shí)例。
本發(fā)明的積極進(jìn)步效果在于:
通過針對(duì)接口構(gòu)建標(biāo)準(zhǔn)庫的模式,實(shí)現(xiàn)各類KV數(shù)據(jù)庫的統(tǒng)一訪問,進(jìn)而實(shí)現(xiàn)數(shù)據(jù)庫數(shù)據(jù)的遷移。
附圖說明
圖1為本發(fā)明的實(shí)施例1的KV數(shù)據(jù)庫訪問的流程圖。
具體實(shí)施方式
下面通過實(shí)施例的方式進(jìn)一步說明本發(fā)明,但并不因此將本發(fā)明限制在所述的實(shí)施例范圍之中。
本發(fā)明為了實(shí)現(xiàn)各類KV數(shù)據(jù)庫的統(tǒng)一訪問,重新構(gòu)建了KV數(shù)據(jù)庫訪問方法,通過針對(duì)接口構(gòu)建標(biāo)準(zhǔn)庫的模式,為不同的KV數(shù)據(jù)庫的接口構(gòu)建了統(tǒng)一的轉(zhuǎn)換平臺(tái),進(jìn)而實(shí)現(xiàn)KV數(shù)據(jù)庫的統(tǒng)一訪問。
下面通過下述實(shí)施例來對(duì)本發(fā)明進(jìn)行進(jìn)一步地詳細(xì)地說明。
實(shí)施例1
如圖1所示,本實(shí)施例的KV數(shù)據(jù)庫訪問方法包括以下步驟:
步驟S11,應(yīng)用程序獲取并解析KV數(shù)據(jù)庫訪問請(qǐng)求。通過本步驟中應(yīng)用程序分析請(qǐng)求所對(duì)應(yīng)的數(shù)據(jù)庫對(duì)象。
步驟S12,通過頭文件調(diào)用標(biāo)準(zhǔn)庫,獲取與KV數(shù)據(jù)庫訪問請(qǐng)求相匹配的KV數(shù)據(jù)庫接口函數(shù)定義。
步驟S13,將KV數(shù)據(jù)庫接口函數(shù)定義轉(zhuǎn)化為KV數(shù)據(jù)庫接口。通過這兩步實(shí)現(xiàn)對(duì)數(shù)據(jù)庫接口的調(diào)用,針對(duì)請(qǐng)求的需要,可以調(diào)用不同的數(shù)據(jù)庫的接口,從而實(shí)現(xiàn)數(shù)據(jù)庫的統(tǒng)一訪問。
步驟S14,應(yīng)用程序通過KV數(shù)據(jù)庫接口訪問KV數(shù)據(jù)庫。
為了實(shí)現(xiàn)上述方法,可以利用硬件平臺(tái)構(gòu)建KV數(shù)據(jù)庫訪問裝置,該KV數(shù)據(jù)庫訪問裝置包括獲取模塊,其用于獲取KV數(shù)據(jù)庫訪問請(qǐng)求。待用模塊,其用于通過頭文件調(diào)用標(biāo)準(zhǔn)庫,獲取與KV數(shù)據(jù)庫訪問請(qǐng)求相匹配的KV數(shù)據(jù)庫接口函數(shù)定義。處理模塊,其用于將KV數(shù)據(jù)庫接口函數(shù)定義轉(zhuǎn)化為KV數(shù)據(jù)庫接口。訪問模塊,其用于通過KV數(shù)據(jù)庫接口訪問KV數(shù)據(jù)庫。
利用本實(shí)施例的KV數(shù)據(jù)庫訪問方法,對(duì)不同KV數(shù)據(jù)庫的訪問,可以在不同數(shù)據(jù)庫之間實(shí)現(xiàn)數(shù)據(jù)的讀寫,進(jìn)而實(shí)現(xiàn)不同種類KV數(shù)據(jù)庫之間數(shù)據(jù)的遷移。
通過以上的KV數(shù)據(jù)庫訪問方法的具體實(shí)施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本申請(qǐng)的KV數(shù)據(jù)庫訪問流程可借助軟件加必需的通用硬件平臺(tái)的方式來實(shí)現(xiàn)?;谶@樣的理解,本申請(qǐng)的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,所述計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如ROM/RAM(只讀存儲(chǔ)器/隨機(jī)存取存儲(chǔ)器)、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請(qǐng)實(shí)施例或者實(shí)施例的某些部分所述的方法。
本申請(qǐng)可用于眾多通用或?qū)S玫挠?jì)算系統(tǒng)環(huán)境或配置中。例如:個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持設(shè)備或便攜式設(shè)備、平板型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、置頂盒、可編程的消費(fèi)電子設(shè)備、網(wǎng)絡(luò)PC(個(gè)人電腦)、小型計(jì)算機(jī)、大型計(jì)算機(jī)、包括以上任何系統(tǒng)或設(shè)備的分布式計(jì)算環(huán)境等等。
本申請(qǐng)可以在由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計(jì)算環(huán)境中實(shí)踐本申請(qǐng),在這些分布式計(jì)算環(huán)境中,由通過通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,程序模塊可以位于包括存儲(chǔ)設(shè)備在內(nèi)的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中。
雖然以上描述了本發(fā)明的具體實(shí)施方式,但是本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,這些僅是舉例說明,本發(fā)明的保護(hù)范圍是由所附權(quán)利要求書限定的。本領(lǐng)域的技術(shù)人員在不背離本發(fā)明的原理和實(shí)質(zhì)的前提下,可以對(duì)這些實(shí)施方式做出多種變更或修改,但這些變更和修改均落入本發(fā)明的保護(hù)范圍。