專利名稱::在表名中編碼模式版本的制作方法
技術(shù)領(lǐng)域:
:本公開(kāi)涉及存儲(chǔ)在計(jì)算設(shè)備上和/或由計(jì)算設(shè)備使用的數(shù)據(jù)庫(kù),所述計(jì)算設(shè)備諸如個(gè)人計(jì)算機(jī)、平板計(jì)算機(jī)和蜂窩電話。
背景技術(shù):
:在典型的網(wǎng)絡(luò)計(jì)算環(huán)境中,計(jì)算設(shè)備可以經(jīng)由一個(gè)或多個(gè)通信網(wǎng)絡(luò)與一個(gè)或多個(gè)外部設(shè)備進(jìn)行通信。例如,客戶端設(shè)備可以經(jīng)由有線或無(wú)線網(wǎng)絡(luò)與服務(wù)器進(jìn)行通信。在一些情況下,網(wǎng)絡(luò)可以包括因特網(wǎng),以及外部設(shè)備可以包括web服務(wù)器。一些設(shè)備在允許用戶執(zhí)行以前為臺(tái)式計(jì)算機(jī)保留的功能同時(shí)提供便于攜帶的益處。然而,移動(dòng)設(shè)備一般具有比臺(tái)式計(jì)算機(jī)更有限的資源,諸如更慢的處理器和存儲(chǔ)設(shè)備。有限的資源可能限制移動(dòng)設(shè)備的能力或提供次優(yōu)的用戶體驗(yàn)。一些移動(dòng)設(shè)備能夠訪問(wèn)因特網(wǎng)、執(zhí)行應(yīng)用、播放視頻和音樂(lè)以及提供傳統(tǒng)蜂窩電話的功能性。例如,移動(dòng)設(shè)備可以向該移動(dòng)設(shè)備的用戶提供Web瀏覽器,在該Web瀏覽器中,用戶可以輸入網(wǎng)站的Web地址,并且從該網(wǎng)站下載內(nèi)容以在移動(dòng)設(shè)備上呈現(xiàn)。一些應(yīng)用或網(wǎng)站將應(yīng)用或網(wǎng)站所使用的信息的副本存儲(chǔ)在移動(dòng)設(shè)備內(nèi)??梢詫⑿畔⒌谋镜馗北敬鎯?chǔ)在與數(shù)據(jù)庫(kù)模式的特定版本相對(duì)應(yīng)的數(shù)據(jù)庫(kù)的表中。通常,當(dāng)應(yīng)用起動(dòng)時(shí),應(yīng)用執(zhí)行查詢來(lái)確定當(dāng)前數(shù)據(jù)庫(kù)模式版本,并且如果當(dāng)前版本與期望版本相同,則視需要執(zhí)行隨后命令,例如,結(jié)構(gòu)化查詢語(yǔ)言(SQL)語(yǔ)句。
發(fā)明內(nèi)容總的來(lái)說(shuō),本公開(kāi)描述了用于將數(shù)據(jù)庫(kù)模式版本標(biāo)識(shí)符編碼到數(shù)據(jù)庫(kù)的表名中來(lái)減少在啟動(dòng)應(yīng)用時(shí)所使用的查詢數(shù)的技術(shù)。例如,當(dāng)啟動(dòng)應(yīng)用時(shí),設(shè)備可以立即執(zhí)行初始查詢來(lái)從位于該設(shè)備內(nèi)的數(shù)據(jù)儲(chǔ)存庫(kù)檢索實(shí)質(zhì)性數(shù)據(jù),而不用首先確定數(shù)據(jù)儲(chǔ)存庫(kù)的數(shù)據(jù)庫(kù)模式版本是否與期望的數(shù)據(jù)庫(kù)模式版本相同。初始查詢可以包括編碼有期望的數(shù)據(jù)庫(kù)模式版本的一個(gè)或多個(gè)表名。如果該查詢返回錯(cuò)誤,則期望的數(shù)據(jù)庫(kù)模式版本與用來(lái)創(chuàng)建數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)模式版本不相同,以及安裝更新的數(shù)據(jù)庫(kù)模式。然而,如果該查詢返回除錯(cuò)誤外的結(jié)果,則期望的數(shù)據(jù)庫(kù)模式版本與用來(lái)創(chuàng)建數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)模式版本相同,以及應(yīng)用視需要執(zhí)行另外的查詢。在一個(gè)示例中,一種編碼有指令的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述指令用于促使一個(gè)或多個(gè)可編程處理器:使用為數(shù)據(jù)庫(kù)定義表集合的數(shù)據(jù)庫(kù)模式的第一版本來(lái)創(chuàng)建該數(shù)據(jù)庫(kù)的第一版本;以及執(zhí)行訪問(wèn)包含在該數(shù)據(jù)庫(kù)中的數(shù)據(jù)的命令,其中該命令包括一個(gè)或多個(gè)編碼的表名,以及其中包括在該命令中的一個(gè)或多個(gè)編碼的表名中的每一個(gè)基于至少數(shù)據(jù)庫(kù)模式版本標(biāo)識(shí)符來(lái)生成。所述指令還促使一個(gè)或多個(gè)可編程處理器接收對(duì)該命令作出響應(yīng)的結(jié)果,使得當(dāng)該結(jié)果指示成功狀態(tài)時(shí),對(duì)該命令的執(zhí)行允許訪問(wèn)包含在該數(shù)據(jù)庫(kù)中的數(shù)據(jù),以及進(jìn)一步允許對(duì)數(shù)據(jù)庫(kù)模式的第一版本進(jìn)行驗(yàn)證,其中該結(jié)果不包括數(shù)據(jù)庫(kù)模式版本信息。在另一個(gè)示例中,方法包括:使用為數(shù)據(jù)庫(kù)定義表集合的數(shù)據(jù)庫(kù)模式的第一版本來(lái)創(chuàng)建該數(shù)據(jù)庫(kù)的第一版本;以及執(zhí)行訪問(wèn)包含在該數(shù)據(jù)庫(kù)中的數(shù)據(jù)的命令,其中該命令包括一個(gè)或多個(gè)編碼的表名,以及其中包括在該命令中的一個(gè)或多個(gè)編碼的表名中的每一個(gè)基于至少數(shù)據(jù)庫(kù)模式版本標(biāo)識(shí)符來(lái)生成。該方法還包括:接收對(duì)該命令作出響應(yīng)的結(jié)果,使得當(dāng)該結(jié)果指示成功狀態(tài)時(shí),對(duì)該命令的執(zhí)行允許訪問(wèn)包含在該數(shù)據(jù)庫(kù)中的數(shù)據(jù),以及進(jìn)一步允許對(duì)數(shù)據(jù)庫(kù)模式的第一版本進(jìn)行驗(yàn)證,其中該結(jié)果不包括數(shù)據(jù)庫(kù)模式版本信息。在另一個(gè)示例中,設(shè)備包括:一個(gè)或多個(gè)處理器;數(shù)據(jù)儲(chǔ)存庫(kù),其被配置成存儲(chǔ)數(shù)據(jù);以及表版本模塊,其被配置成使用數(shù)據(jù)庫(kù)模式的第一版本來(lái)在數(shù)據(jù)儲(chǔ)存庫(kù)內(nèi)創(chuàng)建數(shù)據(jù)庫(kù)的第一版本,其中數(shù)據(jù)庫(kù)模式的第一版本為數(shù)據(jù)庫(kù)定義表集合,以及接收對(duì)命令作出響應(yīng)的結(jié)果,使得當(dāng)該結(jié)果指示成功狀態(tài)時(shí),對(duì)該命令的執(zhí)行允許訪問(wèn)包含在該數(shù)據(jù)庫(kù)中的數(shù)據(jù),以及進(jìn)一步允許對(duì)數(shù)據(jù)庫(kù)模式的第一版本進(jìn)行驗(yàn)證,其中該結(jié)果不包括數(shù)據(jù)庫(kù)模式版本信息。該設(shè)備還包括用于執(zhí)行訪問(wèn)包含在該數(shù)據(jù)庫(kù)中的數(shù)據(jù)的命令的裝置,其中該命令包括一個(gè)或多個(gè)編碼的表名,以及其中包括在該命令中的一個(gè)或多個(gè)編碼的表名中的每一個(gè)基于至少數(shù)據(jù)庫(kù)模式版本標(biāo)識(shí)符來(lái)生成。本公開(kāi)的技術(shù)可以提供若干優(yōu)勢(shì)。例如,這些技術(shù)可以使應(yīng)用能夠在應(yīng)用起動(dòng)期間使用單個(gè)命令,例如單個(gè)查詢,來(lái)既檢索存儲(chǔ)在數(shù)據(jù)庫(kù)中的數(shù)據(jù),又驗(yàn)證用來(lái)生成數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)模式版本。即,這些技術(shù)可以減少在應(yīng)用起動(dòng)期間針對(duì)數(shù)據(jù)庫(kù)執(zhí)行的查詢數(shù),減少了啟動(dòng)應(yīng)用所需的時(shí)間量。通過(guò)執(zhí)行初始數(shù)據(jù)請(qǐng)求查詢,而不用首先執(zhí)行明確的數(shù)據(jù)庫(kù)模式版本檢查,每當(dāng)數(shù)據(jù)庫(kù)模式?jīng)]有改變時(shí),本公開(kāi)的技術(shù)可以提供最小或潛在零成本解決方案。此外,減少應(yīng)用啟動(dòng)時(shí)間增加了應(yīng)用的響應(yīng)性,其可以導(dǎo)致對(duì)用戶來(lái)說(shuō)更好的用戶體驗(yàn)。在附圖和下面的描述中闡述了一個(gè)或多個(gè)示例的細(xì)節(jié)。其他特征、目的和優(yōu)勢(shì)從描述和附圖以及從權(quán)利要求將是顯而易見(jiàn)的。圖1是圖示依據(jù)本公開(kāi)的一個(gè)方面的示例聯(lián)網(wǎng)的計(jì)算環(huán)境的框圖,其中應(yīng)用運(yùn)行于客戶端設(shè)備上。圖2是圖示依據(jù)本公開(kāi)的一個(gè)方面的示例客戶端設(shè)備的框圖。圖3A和3B是圖示依據(jù)本公開(kāi)的一個(gè)方面、用于應(yīng)用的數(shù)據(jù)庫(kù)模式的不同版本的示例的概念圖。圖4是圖示依據(jù)本公開(kāi)的一個(gè)方面、用于加載應(yīng)用的示例方法的流程圖。在各附圖中,相同的參考符號(hào)指示相同的元素。具體實(shí)施例方式圖1是圖示依據(jù)本公開(kāi)的一個(gè)方面的示例聯(lián)網(wǎng)的計(jì)算系統(tǒng)2的框圖,其中應(yīng)用運(yùn)行于客戶端設(shè)備10上。如圖1中所示,計(jì)算系統(tǒng)2包括設(shè)備10、一個(gè)或多個(gè)服務(wù)器12A-12N(“服務(wù)器12”)以及網(wǎng)絡(luò)14。設(shè)備10的示例包括但不限于:便攜式或移動(dòng)設(shè)備,諸如蜂窩電話、個(gè)人數(shù)字助理(PDA)、膝上型計(jì)算機(jī)、便攜式游戲設(shè)備、便攜式媒體播放器、電子書(shū)閱讀器、手表;以及非便攜式設(shè)備,諸如臺(tái)式計(jì)算機(jī)。在本公開(kāi)中僅出于說(shuō)明目的,將設(shè)備10描述為用戶可以攜帶的便攜式或移動(dòng)設(shè)備,然而不應(yīng)當(dāng)認(rèn)為本公開(kāi)的方面限于便攜式或移動(dòng)設(shè)備。設(shè)備10和服務(wù)器12經(jīng)由有線和/或無(wú)線鏈路被耦接到網(wǎng)絡(luò)14。設(shè)備10可以經(jīng)由網(wǎng)絡(luò)14向服務(wù)器12發(fā)送數(shù)據(jù)或從服務(wù)器12接收數(shù)據(jù)。網(wǎng)絡(luò)14可以包括諸如因特網(wǎng)的廣域網(wǎng)、局域網(wǎng)(LAN)、企業(yè)網(wǎng)、或一個(gè)或多個(gè)其他類型的網(wǎng)絡(luò)。服務(wù)器12可以是任何若干不同類型的網(wǎng)絡(luò)設(shè)備。例如,服務(wù)器12可以是常規(guī)的web服務(wù)器、專用的媒體服務(wù)器、以對(duì)等方式運(yùn)作的個(gè)人計(jì)算機(jī)或其他類型的網(wǎng)絡(luò)設(shè)備。設(shè)備10可以包括一個(gè)或多個(gè)處理器20、存儲(chǔ)設(shè)備22、電池24、遙測(cè)模塊26、顯示器28和用戶接口30。在設(shè)備10是蜂窩電話的示例中,設(shè)備10包括用于語(yǔ)音通信的麥克風(fēng)和揚(yáng)聲器(未示出)。電池24為設(shè)備10的所有各種單元提供電力,并且可以是可再充電的。電池24的示例包括鋰聚合物電池、鋰離子電池、鎳鎘電池和鎳金屬氫化物電池。用戶接口30允許設(shè)備10的用戶,例如用戶16,與設(shè)備10進(jìn)行交互。用戶接口30的示例包括嵌入在設(shè)備10上的鍵區(qū)、鍵盤(pán)、鼠標(biāo)、滾球、按鈕或允許用戶16與設(shè)備10進(jìn)行交互的其他器件。在一些示例中,用戶接口30可以包括允許用戶16提供語(yǔ)音命令的麥克風(fēng)。顯示器28可以是液晶顯示器(IXD)、電子墨水或其他顯示器。顯示器28向用戶16呈現(xiàn)設(shè)備10的內(nèi)容。例如,顯示器28可以呈現(xiàn):在設(shè)備10上執(zhí)行的應(yīng)用,諸如web瀏覽器或視頻游戲;從服務(wù)器12檢索的內(nèi)容;以及可能需要向用戶16呈現(xiàn)的其他功能。在一些示例中,顯示器28可以提供用戶接口30的功能性的部分或全部。例如,顯示器28可以是允許用戶16與設(shè)備10進(jìn)行交互的觸摸屏。盡管設(shè)備10被示出為包括顯示器28,然而,不應(yīng)當(dāng)認(rèn)為本公開(kāi)的方面限于包括顯示器28的示例。在設(shè)備10的一些示例中,顯示器28可以是可選的。例如,如果設(shè)備10包括音樂(lè)播放器或無(wú)線電設(shè)備,則設(shè)備10可以不包括顯示器28。存儲(chǔ)設(shè)備22為可以由一個(gè)或多個(gè)處理器20執(zhí)行的應(yīng)用存儲(chǔ)指令。在下面描述中僅出于說(shuō)明目的,將可以由一個(gè)或多個(gè)處理器20執(zhí)行的應(yīng)用在下面描述為由一個(gè)處理器20執(zhí)行。應(yīng)用可以由用戶16經(jīng)由網(wǎng)絡(luò)14(例如,從服務(wù)器12中的一個(gè)或多個(gè))下載或可以被預(yù)編程在設(shè)備10內(nèi)。應(yīng)用可以由處理器20響應(yīng)于用戶16與設(shè)備10交互來(lái)執(zhí)行應(yīng)用而執(zhí)行。應(yīng)用還可以在用戶16打開(kāi)設(shè)備10時(shí)由處理器20執(zhí)行。存儲(chǔ)設(shè)備22還可以包括促使處理器20執(zhí)行在本公開(kāi)中歸于處理器20的各種功能的指令。存儲(chǔ)設(shè)備22可以包括計(jì)算機(jī)可讀、機(jī)器可讀或處理器可讀存儲(chǔ)介質(zhì),其包括促使例如處理器20的一個(gè)或多個(gè)處理器執(zhí)行各種功能的指令。存儲(chǔ)設(shè)備22可以包括任何易失性、非易失性、磁的、光的或電的介質(zhì),諸如隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、非易失性RAM(NVRAM)、電可擦除可編程ROM(EEPR0M)、閃存或任何其他數(shù)字介質(zhì)。在一些實(shí)施例中,存儲(chǔ)設(shè)備22可以包括非暫時(shí)性/有形存儲(chǔ)介質(zhì)中的一個(gè)或多個(gè),其中存儲(chǔ)在這樣的介質(zhì)中的數(shù)據(jù)可以或可以不改變(例如,ROM、RAM)。用戶16可以與用戶接口30和/或顯示器28進(jìn)行交互來(lái)執(zhí)行存儲(chǔ)在存儲(chǔ)設(shè)備22上的應(yīng)用中的一個(gè)或多個(gè)。一些應(yīng)用可以諸如在設(shè)備10被打開(kāi)或啟動(dòng)時(shí),由設(shè)備10自動(dòng)執(zhí)行。作為響應(yīng),處理器20執(zhí)行用戶16所選擇的一個(gè)或多個(gè)應(yīng)用、或執(zhí)行設(shè)備10所執(zhí)行的一個(gè)或多個(gè)應(yīng)用。處理器20可以包括以下任何一個(gè)或多個(gè):微處理器、控制器、數(shù)字信號(hào)處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)或等同分立或集成邏輯電路。另外,在本公開(kāi)中歸于處理器20的功能可以被具體化為軟件、固件、硬件或其任何組合。處理器20可以單獨(dú)或同時(shí)執(zhí)行應(yīng)用32A-32N(統(tǒng)稱“應(yīng)用32”)中的一個(gè)或多個(gè)。應(yīng)用32的示例包括web瀏覽器、電子郵件、檢索股票行情的程序、搜索餐館的程序、檢索當(dāng)前和未來(lái)天氣信息的程序、游戲、搜索因特網(wǎng)的程序、提供新聞的程序、提供地圖的程序以及處理器20執(zhí)行的其他程序。應(yīng)用32可以基于來(lái)自用戶16的請(qǐng)求被執(zhí)行,并且可以基于來(lái)自用戶16的請(qǐng)求被終止。一些應(yīng)用32可以在后臺(tái)中連續(xù)運(yùn)行。一些應(yīng)用32可以由設(shè)備10諸如在上電時(shí)自動(dòng)執(zhí)行,并且可以由設(shè)備10諸如在斷電時(shí)自動(dòng)終止。在一些示例中,處理器20執(zhí)行的任何應(yīng)用可能需要來(lái)自服務(wù)器12中的一個(gè)或多個(gè)的數(shù)據(jù)。遙測(cè)模塊26傳送對(duì)數(shù)據(jù)的請(qǐng)求,并且從服務(wù)器12中的一個(gè)或多個(gè)接收數(shù)據(jù)。遙測(cè)模塊26可以將接收到的數(shù)據(jù)提供給處理器20以供進(jìn)一步處理。遙測(cè)模塊26被配置成經(jīng)由網(wǎng)絡(luò)14向一個(gè)或多個(gè)服務(wù)器12傳送數(shù)據(jù)/請(qǐng)求,以及從一個(gè)或多個(gè)服務(wù)器12接收數(shù)據(jù)/響應(yīng)。遙測(cè)模塊26可以支持無(wú)線或有線通信,并且包括用來(lái)提供無(wú)線或有線通信的適當(dāng)硬件和軟件。例如,遙測(cè)模塊26可以包括天線、調(diào)制器、解調(diào)器、放大器以及實(shí)行在設(shè)備10和服務(wù)器12中的一個(gè)或多個(gè)之間的通信的其他電路。作為一個(gè)示例,存儲(chǔ)設(shè)備22可以存儲(chǔ)與GoogleChromeweb瀏覽器,例如應(yīng)用32Α,相關(guān)聯(lián)的應(yīng)用指令。用戶16可以與用戶接口30和/或顯示器28進(jìn)行交互來(lái)執(zhí)行該web瀏覽器。處理器20然后執(zhí)行web瀏覽器應(yīng)用,并且促使顯示器28向用戶16顯示web瀏覽器。用戶16然后可以與用戶接口30和/或顯示器28進(jìn)行交互來(lái)將諸如http://www.google,com的網(wǎng)站輸入到顯示的web瀏覽器。在該示例中,遙測(cè)模塊26經(jīng)由網(wǎng)絡(luò)14向服務(wù)器12中的一個(gè)或多個(gè)傳送對(duì)請(qǐng)求的網(wǎng)站的請(qǐng)求。顯示器28然后向用戶16呈現(xiàn)接收到的網(wǎng)站內(nèi)容。在一些示例中,網(wǎng)站是用于服務(wù)器12中的一個(gè)或多個(gè)所托管的電子郵件應(yīng)用的移動(dòng)電子郵件接口,例如用于GoogleGmail應(yīng)用的移動(dòng)Gmail接口。出于簡(jiǎn)化目的,將參考托管電子郵件應(yīng)用的服務(wù)器12A描述該示例。在其他示例中,電子郵件應(yīng)用可以由服務(wù)器12中的任何一個(gè)或由服務(wù)器12的任何組合使用例如集群或其他分布式應(yīng)用管理技術(shù)來(lái)托管。在該示例中,遙測(cè)模塊26向服務(wù)器12A傳送對(duì)移動(dòng)電子郵件接口的請(qǐng)求,并且接收用于檢索另外信息以及用于經(jīng)由顯示器28向用戶16顯示該信息的計(jì)算機(jī)指令。從服務(wù)器12A檢索的另外信息可以包括用戶數(shù)據(jù),諸如用戶16發(fā)送及接收的電子郵件消息、附件以及配置信息。移動(dòng)電子郵件接口可以包括促使設(shè)備10存儲(chǔ)被存儲(chǔ)在服務(wù)器12A內(nèi)的用戶數(shù)據(jù)的本地副本的指令。例如,可以將用戶數(shù)據(jù)的本地副本存儲(chǔ)在設(shè)備10的應(yīng)用數(shù)據(jù)儲(chǔ)存庫(kù)(“應(yīng)用數(shù)據(jù)”)34內(nèi)。應(yīng)用數(shù)據(jù)儲(chǔ)存庫(kù)34可以被配置為數(shù)據(jù)庫(kù)、平面文件、表或存儲(chǔ)在設(shè)備10的存儲(chǔ)設(shè)備22內(nèi)的其他數(shù)據(jù)結(jié)構(gòu)。在一些示例中,在設(shè)備10上執(zhí)行的應(yīng)用之間共享應(yīng)用數(shù)據(jù)儲(chǔ)存庫(kù)34。在其他示例中,為在設(shè)備10上執(zhí)行的需要數(shù)據(jù)儲(chǔ)存庫(kù)的每一個(gè)應(yīng)用配置不同的應(yīng)用數(shù)據(jù)儲(chǔ)存庫(kù)34。每一個(gè)應(yīng)用數(shù)據(jù)儲(chǔ)存庫(kù)34可以由不同應(yīng)用配置并管理,并且可以以不同方式存儲(chǔ)數(shù)據(jù)。例如,應(yīng)用數(shù)據(jù)儲(chǔ)存庫(kù)34可以被配置成包括具有特定結(jié)構(gòu)的一個(gè)或多個(gè)數(shù)據(jù)庫(kù)。每一個(gè)數(shù)據(jù)庫(kù)可以對(duì)應(yīng)于在設(shè)備10上執(zhí)行的特定網(wǎng)站或應(yīng)用。總的來(lái)說(shuō),數(shù)據(jù)庫(kù)的結(jié)構(gòu)由表、字段、表之間的關(guān)系、索引和其他元素定義。數(shù)據(jù)庫(kù)的結(jié)構(gòu)典型地被稱為數(shù)據(jù)庫(kù)模式。隨著時(shí)間的推移,數(shù)據(jù)庫(kù)的結(jié)構(gòu)可能改變,導(dǎo)致對(duì)于同一數(shù)據(jù)庫(kù),有數(shù)據(jù)庫(kù)模式的不同版本。數(shù)據(jù)庫(kù)模式的每一個(gè)版本可以具有獨(dú)特(unique)版本標(biāo)識(shí)符。當(dāng)接收促使web瀏覽器應(yīng)用將與移動(dòng)電子郵件接口相關(guān)聯(lián)的用戶數(shù)據(jù)的本地副本存儲(chǔ)在設(shè)備10的數(shù)據(jù)儲(chǔ)存庫(kù)內(nèi)的指令時(shí),web瀏覽器應(yīng)用(例如,應(yīng)用32A)使用例如表版本模塊(“表版本模塊”)33來(lái)創(chuàng)建數(shù)據(jù)庫(kù)??偟膩?lái)說(shuō),表版本模塊33確保在應(yīng)用數(shù)據(jù)儲(chǔ)存庫(kù)34內(nèi)維護(hù)應(yīng)用32A所需的數(shù)據(jù)庫(kù)的恰當(dāng)版本。在一些示例中,表版本模塊33被配置成響應(yīng)于確定用于應(yīng)用32A的數(shù)據(jù)庫(kù)基于不正確的數(shù)據(jù)庫(kù)模式版本,而向服務(wù)器12中的一個(gè)生成對(duì)更新的數(shù)據(jù)庫(kù)模式的請(qǐng)求。依據(jù)本公開(kāi)的技術(shù),基于從服務(wù)器12中的一個(gè)或多個(gè),例如服務(wù)器12A接收的數(shù)據(jù)庫(kù)模式來(lái)創(chuàng)建數(shù)據(jù)庫(kù)。在接收到的數(shù)據(jù)庫(kù)模式中的表名可以包括編碼的表名。在一個(gè)實(shí)施例中,編碼的表名包括基本部分和識(shí)別從服務(wù)器12中的一個(gè)或多個(gè)接收的數(shù)據(jù)庫(kù)模式的版本的數(shù)據(jù)庫(kù)模式版本標(biāo)識(shí)符。在該實(shí)施例中,將數(shù)據(jù)庫(kù)模式版本標(biāo)識(shí)符附加到基本部分來(lái)生成編碼的表名。編碼的表名的基本部分是典型地在不同數(shù)據(jù)庫(kù)模式版本之間保持不變的編碼的表名部分。雖然在數(shù)據(jù)庫(kù)模式版本之間可以對(duì)編碼的表名的基本部分進(jìn)行改變,然而,對(duì)基本部分的改變并不指示特定模式版本。相反,每次數(shù)據(jù)庫(kù)模式版本改變時(shí),附加到編碼的表名的基本部分的數(shù)據(jù)庫(kù)模式版本標(biāo)識(shí)符改變。例如,如果數(shù)據(jù)庫(kù)模式是版本二,則編碼的表名的每一個(gè)基本部分具有附加到其的“_2”、或?qū)τ诎姹救砻拿恳粋€(gè)基本部分具有附加到其的“_3”。附加到每一個(gè)編碼的表名的基本部分的版本標(biāo)識(shí)符可以是與特定版本相關(guān)聯(lián)的任何字符串。在另一個(gè)實(shí)施例中,在數(shù)據(jù)庫(kù)模式中的用于每一個(gè)表的編碼的表名通過(guò)至少將數(shù)據(jù)庫(kù)模式版本標(biāo)識(shí)符應(yīng)用到未編碼的表名來(lái)創(chuàng)建獨(dú)特哈希來(lái)生成。哈??梢酝ㄟ^(guò)用鍵對(duì)未編碼的表名進(jìn)行編碼來(lái)創(chuàng)建,其中該鍵是數(shù)據(jù)庫(kù)模式版本標(biāo)識(shí)符。在一些示例中,未編碼的表名與在前面實(shí)施例中描述的編碼的表名的基本部分相同。即,對(duì)未編碼的表名的任何改變并不指示特定模式版本。相反,未編碼的表名可以識(shí)別特定表,而與數(shù)據(jù)庫(kù)模式版本無(wú)關(guān)??偟膩?lái)說(shuō),當(dāng)程序員對(duì)與移動(dòng)電子郵件接口相關(guān)聯(lián)的數(shù)據(jù)庫(kù)模式進(jìn)行更新時(shí),程序員還對(duì)版本標(biāo)識(shí)符進(jìn)行更新。如上所述,更新的版本標(biāo)識(shí)符用來(lái)生成與版本標(biāo)識(shí)符所識(shí)別的數(shù)據(jù)庫(kù)模式版本相對(duì)應(yīng)的編碼的表名。為了經(jīng)由顯示器28向用戶16顯示移動(dòng)電子郵件接口,web瀏覽器應(yīng)用對(duì)從服務(wù)器12中的一個(gè)或多個(gè),例如服務(wù)器12A接收的指令進(jìn)行處理。所接收的指令可以包括促使web瀏覽器從存儲(chǔ)在為移動(dòng)電子郵件接口創(chuàng)建的數(shù)據(jù)庫(kù)內(nèi)的用戶數(shù)據(jù)的本地副本檢索信息的指令。各種編程語(yǔ)言可以用于檢索存儲(chǔ)在數(shù)據(jù)儲(chǔ)存庫(kù)內(nèi)的數(shù)據(jù),包括但不限于:結(jié)構(gòu)化查詢語(yǔ)言(SQL)、通用查詢語(yǔ)言(CQL)、對(duì)象查詢語(yǔ)言(0QL)、XQuery以及XSQL。用于從數(shù)據(jù)儲(chǔ)存庫(kù)檢索數(shù)據(jù)的指令可以與用來(lái)在web瀏覽器應(yīng)用中顯示信息的一個(gè)或多個(gè)不同編程語(yǔ)言相組合??梢允褂美绯谋緲?biāo)記語(yǔ)言(HTML)、JavaScript、PHP超文本處理器、Java、公共網(wǎng)關(guān)接口(CGI)或Perl來(lái)對(duì)用于顯示移動(dòng)電子郵件接口的指令進(jìn)行編碼。將顯示指令與數(shù)據(jù)檢索指令組合可以使得能夠動(dòng)態(tài)生成特定數(shù)據(jù)檢索指令。例如,指令“,SELECTactionFROMaction_table'+schema_version+'WHEREaction=2,,,可以是SQL和JavaScript的組合,其中“schema_version”是當(dāng)web瀏覽器執(zhí)行指令時(shí),替代與數(shù)據(jù)庫(kù)模式的期望版本相對(duì)應(yīng)的某一值的JavaScript變量,以及其中“+”是用于聯(lián)結(jié)的符號(hào)。數(shù)據(jù)庫(kù)模式的期望版本是在對(duì)從服務(wù)器12A接收的指令進(jìn)行編程以及設(shè)備10進(jìn)行處理時(shí)使用的數(shù)據(jù)庫(kù)模式的版本。在另一個(gè)示例中,在指令“’SELECTactionFROM’+action,table_name+’WHEREaction=2’”中,變量“8(:1:;響應(yīng)于該錯(cuò)誤,該應(yīng)用應(yīng)用數(shù)據(jù)庫(kù)模式的新版本,例如如圖3B的數(shù)據(jù)庫(kù)模式50所圖示的版本八,來(lái)創(chuàng)建新的數(shù)據(jù)庫(kù)。新的數(shù)據(jù)庫(kù)包括具有附加到每一個(gè)表的名稱的期望的數(shù)據(jù)庫(kù)模式版本標(biāo)識(shí)符,例如“_v8”的表。在基于數(shù)據(jù)庫(kù)模式的期望版本來(lái)創(chuàng)建數(shù)據(jù)庫(kù)之后,可以將存儲(chǔ)在數(shù)據(jù)庫(kù)的先前版本中的數(shù)據(jù)遷移到新的數(shù)據(jù)庫(kù)。如圖3A和3B中所圖示,圖3A的表52A-52C與圖3B中的對(duì)應(yīng)表52B-52D相同。S卩,表42A和52B每一個(gè)具有在字段46A和56A內(nèi)定義的相同字段,表42B和52C每一個(gè)具有在字段46B和56C內(nèi)定義的相同字段,以及表42C和52D每一個(gè)具有在字段46C和56D內(nèi)定義的相同字段。因此,可以將數(shù)據(jù)從在先前數(shù)據(jù)庫(kù)中的表42遷移到新數(shù)據(jù)庫(kù)中的對(duì)應(yīng)表52。在數(shù)據(jù)遷移完成之后,應(yīng)用可以重新執(zhí)行查詢。由于表“ItemTbl_v8”現(xiàn)存在于數(shù)據(jù)庫(kù)內(nèi),因此,查詢將不再因無(wú)效表名而返回錯(cuò)誤,并且一般將成功并返回結(jié)果集。圖4是圖示依據(jù)本公開(kāi)的一個(gè)方面、用于加載應(yīng)用的示例方法的流程圖。僅出于說(shuō)明目的,參考圖1的計(jì)算系統(tǒng)2描述了圖3的方法,然而,可以利用各種其他系統(tǒng)和/或設(shè)備來(lái)實(shí)現(xiàn)或執(zhí)行圖4中所示的方法。用戶16與設(shè)備10交互并且啟動(dòng)應(yīng)用32A(60)。在一個(gè)示例中,應(yīng)用32A是用戶16指向網(wǎng)站的web瀏覽器,以及該網(wǎng)站被配置成將用戶信息的本地副本存儲(chǔ)在應(yīng)用數(shù)據(jù)的數(shù)據(jù)庫(kù)34內(nèi)。遙測(cè)模塊26向服務(wù)器12中的一個(gè)或多個(gè)發(fā)送對(duì)信息的請(qǐng)求,并且從服務(wù)器12中的一個(gè)或多個(gè)接收該信息。所接收的信息包括促使應(yīng)用32A經(jīng)由顯示器28渲染并顯示網(wǎng)站的指令。所接收的信息的一部分包括促使應(yīng)用32A從應(yīng)用數(shù)據(jù)的數(shù)據(jù)庫(kù)34檢索信息集的指令。應(yīng)用32A然后執(zhí)行生成初始查詢的指令(62)。如上所述,查詢可以包括動(dòng)態(tài)生成的表名。所生成的表名包括附加有每次在服務(wù)器12中的一個(gè)或多個(gè)上實(shí)現(xiàn)新的數(shù)據(jù)庫(kù)模式版本時(shí)被改變的數(shù)據(jù)庫(kù)模式版本標(biāo)識(shí)符的表名的基本部分。所附加的數(shù)據(jù)庫(kù)模式版本標(biāo)識(shí)符被包括在所接收的指令中,并且對(duì)應(yīng)于在對(duì)所接收的指令進(jìn)行編程時(shí)所使用的數(shù)據(jù)庫(kù)模式版本。即,期望的數(shù)據(jù)庫(kù)模式版本是所接收的指令所基于的特定數(shù)據(jù)庫(kù)結(jié)構(gòu)。如果存儲(chǔ)在存儲(chǔ)設(shè)備22內(nèi)的數(shù)據(jù)庫(kù)沒(méi)有與期望的數(shù)據(jù)庫(kù)模式版本相同的結(jié)構(gòu),則執(zhí)行所述指令可能產(chǎn)生不可預(yù)測(cè)的結(jié)果或可能造成各種錯(cuò)誤狀態(tài)。應(yīng)用32A執(zhí)行所生成的查詢(64)并且接收來(lái)自查詢的結(jié)果(66)。例如,所述結(jié)果可以包括從數(shù)據(jù)庫(kù)檢索到的數(shù)據(jù)、沒(méi)有數(shù)據(jù)匹配查詢的指示、或錯(cuò)誤狀態(tài)的指示。應(yīng)用32A對(duì)結(jié)果進(jìn)行處理并且確定結(jié)果是否指示錯(cuò)誤狀態(tài)(68)。如果結(jié)果不指示錯(cuò)誤狀態(tài)(68的“否”分支),則應(yīng)用32A繼續(xù)視需要針對(duì)數(shù)據(jù)庫(kù)處理查詢來(lái)執(zhí)行應(yīng)用32A的功能(74)。例如,如果結(jié)果包括數(shù)據(jù)或沒(méi)有數(shù)據(jù)匹配查詢的指示,則結(jié)果不指示錯(cuò)誤狀態(tài)。如果結(jié)果指示錯(cuò)誤狀態(tài)(68的“是”分支),則應(yīng)用32A從服務(wù)器12中的一個(gè)或多個(gè)檢索新的數(shù)據(jù)庫(kù)模式(70)。應(yīng)用32A促使遙測(cè)模塊26向服務(wù)器12中的一個(gè)或多個(gè)發(fā)送對(duì)與在所接收的指令中所指示的期望的數(shù)據(jù)庫(kù)模式版本相對(duì)應(yīng)的數(shù)據(jù)庫(kù)模式的版本的請(qǐng)求。遙測(cè)模塊26然后從服務(wù)器12中的一個(gè)或多個(gè)接收新的數(shù)據(jù)庫(kù)模式,并且將該新的數(shù)據(jù)庫(kù)模式傳遞給應(yīng)用32A。應(yīng)用32A然后應(yīng)用該新的數(shù)據(jù)庫(kù)模式來(lái)基于該新的數(shù)據(jù)庫(kù)模式生成新的數(shù)據(jù)庫(kù)(72)。新的數(shù)據(jù)庫(kù)包括具有附加有期望的數(shù)據(jù)庫(kù)模式版本的名稱的表。如果可能的話,應(yīng)用32A將存儲(chǔ)在數(shù)據(jù)庫(kù)的舊版本中的數(shù)據(jù)遷移到新的數(shù)據(jù)庫(kù)(74)。如果數(shù)據(jù)被成功遷移到新的數(shù)據(jù)庫(kù)(74的“是”分支),則應(yīng)用32A可以重新執(zhí)行初始查詢(76)來(lái)檢索應(yīng)用32A原來(lái)請(qǐng)求的數(shù)據(jù)。在重新執(zhí)行初始查詢(76)之后,應(yīng)用32A繼續(xù)執(zhí)行指令,并且可以視需要針對(duì)新的數(shù)據(jù)庫(kù)執(zhí)行另外的查詢(78)。如果數(shù)據(jù)沒(méi)有被遷移到新的數(shù)據(jù)庫(kù)(74的“否”分支),則應(yīng)用32A然后可以基于新的數(shù)據(jù)庫(kù)的表為空來(lái)進(jìn)行,例如,應(yīng)用32A可以執(zhí)行查詢來(lái)用來(lái)自例如服務(wù)器12中的一個(gè)或多個(gè)的數(shù)據(jù)填充新的數(shù)據(jù)庫(kù),以及可以視需要針對(duì)新的數(shù)據(jù)庫(kù)執(zhí)行另外的查詢來(lái)執(zhí)行應(yīng)用32A的各種功能(78)。以這種方式,本公開(kāi)的技術(shù)在一些情況下可以提供最小乃至基本上零成本的解決方案,用于為在數(shù)據(jù)庫(kù)模式改變之間的每一個(gè)應(yīng)用起動(dòng),驗(yàn)證本地?cái)?shù)據(jù)庫(kù)基于與期望的數(shù)據(jù)庫(kù)模式版本相同的數(shù)據(jù)庫(kù)模式版本。即,所述技術(shù)可以使應(yīng)用通過(guò)以單個(gè)命令驗(yàn)證數(shù)據(jù)庫(kù)模式版本并且從數(shù)據(jù)庫(kù)檢索數(shù)據(jù),在應(yīng)用起動(dòng)時(shí)跳過(guò)執(zhí)行明確數(shù)據(jù)庫(kù)模式版本檢查,從而與使用多個(gè)命令來(lái)首先檢查數(shù)據(jù)庫(kù)模式版本,然后從數(shù)據(jù)庫(kù)檢索數(shù)據(jù)相比,減少了在應(yīng)用起動(dòng)期間所需的查詢數(shù)并且便于更快速的應(yīng)用起動(dòng)。當(dāng)數(shù)據(jù)庫(kù)模式已改變了時(shí),即數(shù)據(jù)庫(kù)結(jié)構(gòu)對(duì)應(yīng)于與期望的數(shù)據(jù)庫(kù)模式版本不相同的數(shù)據(jù)庫(kù)模式版本,與常見(jiàn)解決方案相比,所述技術(shù)可以將數(shù)據(jù)庫(kù)模式轉(zhuǎn)移到期望的數(shù)據(jù)庫(kù)模式版本,而不用任何另外的開(kāi)銷。因此,可以提聞應(yīng)用起動(dòng)的總體效率。在本文中描述的技術(shù)可以以硬件、軟件、固件或其任何組合來(lái)實(shí)現(xiàn)。被描述為模塊、單元或組件的各種特征可以在一起被實(shí)現(xiàn)為集成邏輯器件或分別被實(shí)現(xiàn)為分立但是能共同操作的邏輯器件或其他硬件器件。在一些情況下,電子電路的各種特征可以被實(shí)現(xiàn)為一個(gè)或多個(gè)集成電路器件,諸如集成電路芯片或芯片集。如果以硬件實(shí)現(xiàn),則本公開(kāi)可以針對(duì):裝置,諸如處理器;或集成電路器件,諸如集成電路芯片或芯片集。替選地或另外地,如果以軟件或固件實(shí)現(xiàn),則所述技術(shù)可以至少部分由包括指令的計(jì)算機(jī)可讀數(shù)據(jù)存儲(chǔ)介質(zhì)來(lái)實(shí)現(xiàn),所述指令當(dāng)被執(zhí)行時(shí)促使處理器執(zhí)行上述方法中的一個(gè)或多個(gè)。例如,計(jì)算機(jī)可讀數(shù)據(jù)存儲(chǔ)介質(zhì)可以存儲(chǔ)這樣的指令以供處理器執(zhí)行。計(jì)算機(jī)可讀介質(zhì)可以形成可以包括封裝材料的計(jì)算機(jī)程序產(chǎn)品的部分。計(jì)算機(jī)可讀介質(zhì)可以包括計(jì)算機(jī)數(shù)據(jù)存儲(chǔ)介質(zhì),諸如RAM、ROM、NVRAM、EEPR0M、閃存、磁或光數(shù)據(jù)存儲(chǔ)介質(zhì)等。另外地或替選地,所述技術(shù)可以至少部分由以能夠被計(jì)算機(jī)訪問(wèn)、讀取和/或執(zhí)行的指令或數(shù)據(jù)結(jié)構(gòu)形式載送或傳送代碼的計(jì)算機(jī)可讀通信介質(zhì)來(lái)實(shí)現(xiàn)。代碼或指令可以是由處理電路執(zhí)行的軟件和/或固件,該處理電路包括一個(gè)或多個(gè)處理器,諸如一個(gè)或多個(gè)DSP、通用微處理器、ASIC、FPGA或其他等價(jià)集成或分立邏輯電路。因此,如在本文中所使用的術(shù)語(yǔ)“處理器”可以是指前述結(jié)構(gòu)或適于實(shí)現(xiàn)在本文中描述的技術(shù)的任何其他結(jié)構(gòu)中的任何一個(gè)。另外,在一些方面中,可以在軟件模塊或硬件模塊內(nèi)提供在本公開(kāi)中描述的功能性。描述了本公開(kāi)的各種實(shí)施例。這些和其他實(shí)施例在所附權(quán)利要求的范圍內(nèi)。權(quán)利要求1.一種編碼有指令的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述指令用于促使一個(gè)或多個(gè)可編程處理器:使用為數(shù)據(jù)庫(kù)定義表集合的數(shù)據(jù)庫(kù)模式的第一版本來(lái)創(chuàng)建所述數(shù)據(jù)庫(kù)的第一版本;執(zhí)行訪問(wèn)包含在所述數(shù)據(jù)庫(kù)中的數(shù)據(jù)的命令,其中所述命令包括一個(gè)或多個(gè)編碼的表名,以及其中包括在所述命令中的所述一個(gè)或多個(gè)編碼的表名中的每一個(gè)基于至少數(shù)據(jù)庫(kù)模式版本標(biāo)識(shí)符來(lái)生成;以及接收對(duì)所述命令作出響應(yīng)的結(jié)果,使得當(dāng)所述結(jié)果指示成功狀態(tài)時(shí),對(duì)所述命令的所述執(zhí)行允許訪問(wèn)包含在所述數(shù)據(jù)庫(kù)中的所述數(shù)據(jù),以及進(jìn)一步允許對(duì)所述數(shù)據(jù)庫(kù)模式的所述第一版本進(jìn)行驗(yàn)證,其中所述結(jié)果不包括數(shù)據(jù)庫(kù)模式版本信息。2.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中所述數(shù)據(jù)庫(kù)的所述表集合中的每一個(gè)表包括編碼的表名,其中每一個(gè)表的所述編碼的表名基于未編碼的表名和識(shí)別所述數(shù)據(jù)庫(kù)模式的所述第一版本的數(shù)據(jù)庫(kù)模式版本標(biāo)識(shí)符來(lái)生成,以及其中當(dāng)包括在所述命令中的所述一個(gè)或多個(gè)編碼的表名中的每一個(gè)基于所述表集合的所述未編碼的表名中的一個(gè)和識(shí)別所述數(shù)據(jù)庫(kù)模式的所述第一版本的所述數(shù)據(jù)庫(kù)模式版本標(biāo)識(shí)符來(lái)生成時(shí),所述結(jié)果指示成功狀態(tài)。3.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),進(jìn)一步編碼有指令,所述指令用于促使所述一個(gè)或多個(gè)可編程處理器:確定所述結(jié)果指示錯(cuò)誤狀態(tài),其中包括在所述命令中的所述一個(gè)或多個(gè)編碼的表名中的每一個(gè)基于未編碼的表名和識(shí)別不同于所述第一版本的所述數(shù)據(jù)庫(kù)模式的第二版本的數(shù)據(jù)庫(kù)模式版本標(biāo)識(shí)符來(lái)生成;以`及響應(yīng)于確定所述結(jié)果指示所述錯(cuò)誤狀態(tài),使用所述數(shù)據(jù)庫(kù)模式的第二版本來(lái)創(chuàng)建所述數(shù)據(jù)庫(kù)的第二版本。4.根據(jù)權(quán)利要求3所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中所述數(shù)據(jù)庫(kù)模式的所述第二版本定義第二表集合,其每一個(gè)具有編碼的表名,其中所述數(shù)據(jù)庫(kù)模式的所述第二版本中的每一個(gè)表的所述編碼的表名包括第一部分和第二部分,其中所述數(shù)據(jù)庫(kù)模式的所述第二版本中的每一個(gè)編碼的表名的所述第一部分與所述數(shù)據(jù)庫(kù)模式的所述第一版本中的對(duì)應(yīng)表的所述編碼的表名的第一部分相同,以及其中所述數(shù)據(jù)庫(kù)模式的所述第二版本中的每一個(gè)編碼的表名的所述第二部分包括識(shí)別所述數(shù)據(jù)庫(kù)模式的所述第二版本的所述數(shù)據(jù)庫(kù)模式版本標(biāo)識(shí)符。5.根據(jù)權(quán)利要求3所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),進(jìn)一步編碼有指令,所述指令用于促使所述一個(gè)或多個(gè)可編程處理器經(jīng)由網(wǎng)絡(luò)從服務(wù)器檢索所述數(shù)據(jù)庫(kù)模式的所述第二版本。6.根據(jù)權(quán)利要求3所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),進(jìn)一步編碼有指令,所述指令用于促使所述一個(gè)或多個(gè)可編程處理器將存儲(chǔ)在使用所述數(shù)據(jù)庫(kù)模式的所述第一版本來(lái)創(chuàng)建的所述數(shù)據(jù)庫(kù)內(nèi)的數(shù)據(jù)遷移到使用所述數(shù)據(jù)庫(kù)模式的所述第二版本來(lái)創(chuàng)建的所述數(shù)據(jù)庫(kù)。7.根據(jù)權(quán)利要求2所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中每一個(gè)表的所述編碼的表名通過(guò)至少將所述數(shù)據(jù)庫(kù)模式版本標(biāo)識(shí)符應(yīng)用到所述未編碼的表名來(lái)創(chuàng)建獨(dú)特哈希來(lái)生成。8.根據(jù)權(quán)利要求2所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中每一個(gè)表的所述編碼的表名包括第一部分和第二部分,其中每一個(gè)編碼的表名的所述第一部分包括所述未編碼的表名,以及其中每一個(gè)編碼的表名的所述第二部分包括所述數(shù)據(jù)庫(kù)模式版本標(biāo)識(shí)符。9.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中所述命令是響應(yīng)于應(yīng)用起動(dòng)而執(zhí)行的應(yīng)用的初始命令。10.一種方法,包括:使用為數(shù)據(jù)庫(kù)定義表集合的數(shù)據(jù)庫(kù)模式的第一版本來(lái)創(chuàng)建所述數(shù)據(jù)庫(kù)的第一版本;執(zhí)行訪問(wèn)包含在所述數(shù)據(jù)庫(kù)中的數(shù)據(jù)的命令,其中所述命令包括一個(gè)或多個(gè)編碼的表名,以及其中包括在所述命令中的所述一個(gè)或多個(gè)編碼的表名中的每一個(gè)基于至少數(shù)據(jù)庫(kù)模式版本標(biāo)識(shí)符來(lái)生成;以及接收對(duì)所述命令作出響應(yīng)的結(jié)果,使得當(dāng)所述結(jié)果指示成功狀態(tài)時(shí),對(duì)所述命令的所述執(zhí)行允許訪問(wèn)包含在所述數(shù)據(jù)庫(kù)中的所述數(shù)據(jù),以及進(jìn)一步允許對(duì)所述數(shù)據(jù)庫(kù)模式的所述第一版本進(jìn)行驗(yàn)證,其中所述結(jié)果不包括數(shù)據(jù)庫(kù)模式版本信息。11.根據(jù)權(quán)利要求10所述的方法,其中所述數(shù)據(jù)庫(kù)的所述表集合中的每一個(gè)表包括編碼的表名,其中每一個(gè)表的所述編碼的表名基于未編碼的表名和識(shí)別所述數(shù)據(jù)庫(kù)模式的所述第一版本的數(shù)據(jù)庫(kù)模式版本標(biāo)識(shí)符來(lái)生成,以及其中當(dāng)包括在所述命令中的所述一個(gè)或多個(gè)編碼的表名中的每一個(gè)基于所述表集合的所述未編碼的表名中的一個(gè)和識(shí)別所述數(shù)據(jù)庫(kù)模式的所述第一版本的所述數(shù)據(jù)庫(kù)模式版本標(biāo)識(shí)符來(lái)生成時(shí),所述結(jié)果指示成功狀態(tài)。12.根據(jù)權(quán)利要求10所述的方法,進(jìn)一步包括:確定所述結(jié)果指示錯(cuò)誤狀態(tài),其中包括在所述命令中的所述一個(gè)或多個(gè)編碼的表名中的每一個(gè)基于未編碼的表名和識(shí)別不同于所述第一版本的所述數(shù)據(jù)庫(kù)模式的第二版本的數(shù)據(jù)庫(kù)模式版本標(biāo)識(shí)符來(lái)生成;以及響應(yīng)于確定所述結(jié)果指示所述錯(cuò)誤狀態(tài),使用所述數(shù)據(jù)庫(kù)模式的第二版本來(lái)創(chuàng)建所述數(shù)據(jù)庫(kù)的第二版本。13.根據(jù)權(quán)利要求12所述的方法,其中所述數(shù)據(jù)庫(kù)模式的所述第二版本定義第二表集合,其每一個(gè)具有編碼的表名,其中所述數(shù)據(jù)庫(kù)模式的所述第二版本中的每一個(gè)表的所述編碼的表名包括第一部分和第二部分,其中所述數(shù)據(jù)庫(kù)模式的所述第二版本中的每一個(gè)編碼的表名的所述第一部分與所述數(shù)據(jù)庫(kù)模式的所述第一版本中的對(duì)應(yīng)表的所述編碼的表名的第一部分相同,以及其中所述數(shù)據(jù)庫(kù)模式的所述第二版本中的每一個(gè)編碼的表名的所述第二部分包括識(shí)別所述源數(shù)據(jù)庫(kù)模式的所述第二版本的所述數(shù)據(jù)庫(kù)模式版本標(biāo)識(shí)符。14.根據(jù)權(quán)利要求11所述的方法,其中每一個(gè)表的所述編碼的表名通過(guò)至少將所述數(shù)據(jù)庫(kù)模式版本標(biāo)識(shí)符應(yīng)用到所述未編碼的表名來(lái)創(chuàng)建獨(dú)特哈希來(lái)生成。15.根據(jù)權(quán)利要求11所述的方法,其中每一個(gè)表的所述編碼的表名包括第一部分和第二部分,其中每一個(gè)編碼的表名的所述第一部分包括所述未編碼的表名,以及其中每一個(gè)編碼的表名的所述第二部分包括所述數(shù)據(jù)庫(kù)模式版本標(biāo)識(shí)符。16.根據(jù)權(quán)利要求10所述的方法,其中所述命令是響應(yīng)于應(yīng)用起動(dòng)而執(zhí)行的應(yīng)用的初始命令。17.—種設(shè)備,包括:一個(gè)或多個(gè)處理器;數(shù)據(jù)儲(chǔ)存庫(kù),其被配置成存儲(chǔ)數(shù)據(jù);表版本模塊,其被配置成使用數(shù)據(jù)庫(kù)模式的第一版本來(lái)在所述數(shù)據(jù)儲(chǔ)存庫(kù)內(nèi)創(chuàng)建數(shù)據(jù)庫(kù)的第一版本,其中所述數(shù)據(jù)庫(kù)模式的所述第一版本為所述數(shù)據(jù)庫(kù)定義表集合,以及接收對(duì)命令作出響應(yīng)的結(jié)果,使得當(dāng)所述結(jié)果指示成功狀態(tài)時(shí),對(duì)所述命令的執(zhí)行允許訪問(wèn)包含在所述數(shù)據(jù)庫(kù)中的數(shù)據(jù),以及進(jìn)一步允許對(duì)所述數(shù)據(jù)庫(kù)模式的所述第一版本進(jìn)行驗(yàn)證,其中所述結(jié)果不包括數(shù)據(jù)庫(kù)模式版本信息;以及用于執(zhí)行訪問(wèn)包含在所述數(shù)據(jù)庫(kù)中的所述數(shù)據(jù)的所述命令的裝置,其中所述命令包括一個(gè)或多個(gè)編碼的表名,以及其中包括在所述命令中的所述一個(gè)或多個(gè)編碼的表名中的每一個(gè)基于至少數(shù)據(jù)庫(kù)模式版本標(biāo)識(shí)符來(lái)生成。18.根據(jù)權(quán)利要求17所述的設(shè)備,其中所述數(shù)據(jù)庫(kù)的所述表集合中的每一個(gè)表包括編碼的表名,其中每一個(gè)表的所述編碼的表名基于未編碼的表名和識(shí)別所述數(shù)據(jù)庫(kù)模式的所述第一版本的數(shù)據(jù)庫(kù)模式版本標(biāo)識(shí)符來(lái)生成,以及其中當(dāng)包括在所述命令中的所述一個(gè)或多個(gè)編碼的表名中的每一個(gè)基于所述表集合的所述未編碼的表名中的一個(gè)和識(shí)別所述數(shù)據(jù)庫(kù)模式的所述第一版本的所述數(shù)據(jù)庫(kù)模式版本標(biāo)識(shí)符來(lái)生成時(shí),所述結(jié)果指示成功狀態(tài)。19.根據(jù)權(quán)利要求17所述的設(shè)備,其中所述表版本模塊被進(jìn)一步配置成:確定所述結(jié)果指示錯(cuò)誤狀態(tài),其中包括在所述命令中的所述一個(gè)或多個(gè)編碼的表名中的每一個(gè)基于未編碼的表名和識(shí)別不同于所述第一版本的所述數(shù)據(jù)庫(kù)模式的第二版本的數(shù)據(jù)庫(kù)模式版本標(biāo)識(shí)符來(lái)生成,以及響應(yīng)于確定所述結(jié)果指示所述錯(cuò)誤狀態(tài),使用所述數(shù)據(jù)庫(kù)模式的第二版本來(lái)創(chuàng)建所述數(shù)據(jù)庫(kù)的第二版本。20.根據(jù)權(quán)利要求19所述的設(shè)備,其中所述數(shù)據(jù)庫(kù)模式的所述第二版本定義第二表集合,其每一個(gè)具有編碼的表名,其中所述數(shù)據(jù)庫(kù)模式的所述第二版本中的每一個(gè)表的所述編碼的表名包括第一部分和第二部分,其中所述數(shù)據(jù)庫(kù)模式的所述第二版本中的每一個(gè)編碼的表名的所述第一部分與所述數(shù)據(jù)庫(kù)模式的所述第一版本的對(duì)應(yīng)表的所述編碼的表名的第一部分相同,以及其中所述數(shù)據(jù)庫(kù)模式的所述第二版本中的每一個(gè)編碼的表名的所述第二部分包括識(shí)別所述源數(shù)據(jù)庫(kù)模式的所述第二版本的所述數(shù)據(jù)庫(kù)模式版本標(biāo)識(shí)符。全文摘要本發(fā)明可以在包括以下的設(shè)備等中實(shí)現(xiàn)處理器;數(shù)據(jù)儲(chǔ)存庫(kù);以及表版本模塊,其被配置成使用為數(shù)據(jù)庫(kù)定義表集合的數(shù)據(jù)庫(kù)模式的第一版本來(lái)在數(shù)據(jù)儲(chǔ)存庫(kù)內(nèi)創(chuàng)建數(shù)據(jù)庫(kù)的第一版本,以及接收對(duì)命令作出響應(yīng)的結(jié)果,使得當(dāng)該結(jié)果指示成功狀態(tài)時(shí),對(duì)該命令的執(zhí)行允許訪問(wèn)包含在該數(shù)據(jù)庫(kù)中的數(shù)據(jù),以及對(duì)數(shù)據(jù)庫(kù)模式版本進(jìn)行驗(yàn)證,其中該結(jié)果不包括數(shù)據(jù)庫(kù)模式版本信息。該設(shè)備進(jìn)一步包括用于執(zhí)行訪問(wèn)數(shù)據(jù)的命令的裝置,其中該命令包括一個(gè)或多個(gè)編碼的表名,以及其中包括在該命令中的編碼的表名中的每一個(gè)基于至少數(shù)據(jù)庫(kù)模式版本標(biāo)識(shí)符來(lái)生成。文檔編號(hào)G06F9/445GK103109290SQ201180036085公開(kāi)日2013年5月15日申請(qǐng)日期2011年7月20日優(yōu)先權(quán)日2010年7月23日發(fā)明者馬修·博洛漢,羅伯特·克勒格爾申請(qǐng)人:谷歌公司