數(shù)據(jù)特征的滾動(dòng)升級(jí)的系統(tǒng)和方法
【專(zhuān)利摘要】用于管理計(jì)算環(huán)境(例如云數(shù)據(jù)倉(cāng)庫(kù))的方法、制品和設(shè)備。在一些實(shí)施例中,這包括在運(yùn)行時(shí)間修改對(duì)象或?qū)ο蟮慕M件并且將修改的對(duì)象或修改的對(duì)象的組件存儲(chǔ)在存儲(chǔ)裝置中。在一些實(shí)施例中,修改的對(duì)象的組件可包括特征。在一些實(shí)施例中,對(duì)象或特征可具有超過(guò)一個(gè)版本。
【專(zhuān)利說(shuō)明】數(shù)據(jù)特征的滾動(dòng)升級(jí)的系統(tǒng)和方法
[0001]相關(guān)申請(qǐng)的交叉引用
本申請(qǐng)要求于2011年9月30日提交的對(duì)于“數(shù)據(jù)特征的滾動(dòng)升級(jí)的系統(tǒng)和方法”的同在審批中的美國(guó)專(zhuān)利申請(qǐng)?zhí)?3/250,992 (代理人案號(hào)EMC-11-545)的優(yōu)先權(quán),其為了全部目的通過(guò)引用結(jié)合于此。它與2011年9月30日提交的對(duì)于動(dòng)態(tài)數(shù)據(jù)對(duì)象升級(jí)的系統(tǒng)和方法的同在審批中的美國(guó)專(zhuān)利申請(qǐng)?zhí)?3/251,175有關(guān),其也為了所有目的通過(guò)引用結(jié)合于此。
【技術(shù)領(lǐng)域】
[0002]本發(fā)明大體上涉及數(shù)據(jù)系統(tǒng),并且更特定地涉及用于在數(shù)據(jù)系統(tǒng)中組織和升級(jí)數(shù)據(jù)的系統(tǒng)和方法。
【背景技術(shù)】
[0003]對(duì)于數(shù)據(jù)的存儲(chǔ)、入倉(cāng)和分析越來(lái)越需要提高系統(tǒng)的可用性和正常運(yùn)行時(shí)間。
[0004]頻繁地,當(dāng)需要改變數(shù)據(jù)系統(tǒng)(例如數(shù)據(jù)庫(kù))時(shí),并且特別地當(dāng)需要改變數(shù)據(jù)存儲(chǔ)或組織或?qū)?shù)據(jù)格式做出添加所采用的方式時(shí),系統(tǒng)必須脫機(jī)、下落(brought down)或用別的方式暫時(shí)對(duì)用戶不可用。例如,如果數(shù)據(jù)庫(kù)方案需要更新或升級(jí),這對(duì)于整個(gè)數(shù)據(jù)倉(cāng)庫(kù)典型地需要停機(jī)時(shí)間。
[0005]期望訪問(wèn)數(shù)據(jù)系統(tǒng)的用戶因數(shù)據(jù)系統(tǒng)的不可用而感到受挫,例如,他們頻繁地需要訪問(wèn)數(shù)據(jù)系統(tǒng)來(lái)執(zhí)行他們的工作職責(zé)。因?yàn)槔缭乒?yīng)商難以調(diào)度所有他們的消費(fèi)者或用戶可接受的停機(jī)時(shí)間,停機(jī)時(shí)間對(duì)于分布式和基于“云”的倉(cāng)庫(kù)特別成問(wèn)題。更一般地,基于云的服務(wù)和數(shù)據(jù)系統(tǒng)中的大部分消費(fèi)者以及特別是企業(yè)消費(fèi)者可預(yù)期幾乎沒(méi)有停機(jī)時(shí)間的大致上連續(xù)可用性。
[0006]因此需要有用于在數(shù)據(jù)系統(tǒng)中對(duì)數(shù)據(jù)的組織做出改變和用于對(duì)存儲(chǔ)在數(shù)據(jù)系統(tǒng)中的數(shù)據(jù)做出添加同時(shí)如果不消除系統(tǒng)對(duì)于用戶不可用的時(shí)間量則使其最小化的改進(jìn)方法、制品和設(shè)備。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0007]本發(fā)明將通過(guò)下列詳細(xì)描述連同附圖而容易理解,其中類(lèi)似的標(biāo)號(hào)指代類(lèi)似的結(jié)構(gòu)元件,并且其中:
圖1圖示根據(jù)一些實(shí)施例的數(shù)據(jù)對(duì)象。
[0008]圖2圖示根據(jù)一些實(shí)施例的數(shù)據(jù)類(lèi)型定義。
[0009]圖3圖示根據(jù)一些實(shí)施例的對(duì)象。
[0010]圖4圖示根據(jù)一些實(shí)施例的特征定義。
[0011]圖5圖示物理對(duì)象類(lèi)型與它的邏輯表示之間的關(guān)系。
[0012]圖6圖示物理特征類(lèi)型與它的邏輯表示之間的關(guān)系。
[0013]圖7圖示根據(jù)一些實(shí)施例對(duì)于創(chuàng)作特征的方案。[0014]圖8是根據(jù)一些實(shí)施例組織數(shù)據(jù)的方法的流程圖。
[0015]圖9是根據(jù)一些實(shí)施例組織數(shù)據(jù)的方法的流程圖。
[0016]圖10是根據(jù)一些實(shí)施例組織數(shù)據(jù)的方法的流程圖。
[0017]圖11圖示根據(jù)一些實(shí)施例的數(shù)據(jù)系統(tǒng)。
[0018]圖12圖示根據(jù)一些實(shí)施例的數(shù)據(jù)系統(tǒng)。
[0019]圖13圖示根據(jù)一些實(shí)施例的數(shù)據(jù)系統(tǒng)。
[0020]圖14圖示根據(jù)一些實(shí)施例的數(shù)據(jù)系統(tǒng)。
[0021]圖15是根據(jù)一些實(shí)施例的數(shù)據(jù)升級(jí)的流程圖。
【具體實(shí)施方式】
[0022]在下文連同附圖提供本發(fā)明的一個(gè)或多個(gè)實(shí)施例的詳細(xì)描述,這些附圖圖示本發(fā)明的原理。盡管本發(fā)明連同一個(gè)或多個(gè)這樣的實(shí)施例描述,應(yīng)該理解本發(fā)明不限于任一個(gè)實(shí)施例。相反地,本發(fā)明的范圍僅由權(quán)利要求限制并且本發(fā)明包含許多備選、修改和等同物。為了示例目的,在下列描述中闡述許多具體細(xì)節(jié)以便提供本發(fā)明的全面理解。為了示例目的提供這些細(xì)節(jié),并且本發(fā)明可根據(jù)權(quán)利要求實(shí)踐而沒(méi)有這些具體細(xì)節(jié)中的一些或全部。為了清楚目的,在與本發(fā)明有關(guān)的【技術(shù)領(lǐng)域】中已知的技術(shù)材料未被詳細(xì)描述使得不會(huì)不必要地使本發(fā)明晦澀。
[0023]應(yīng)該意識(shí)到本發(fā)明可以以許多方式實(shí)現(xiàn),包括作為過(guò)程、設(shè)備、系統(tǒng)、裝置、方法或計(jì)算機(jī)可讀介質(zhì),例如計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)或計(jì)算機(jī)網(wǎng)絡(luò),其中計(jì)算機(jī)程序指令通過(guò)光或電子通信鏈路發(fā)送。應(yīng)用可采取在通用計(jì)算機(jī)上執(zhí)行的軟件的形式或在硬件中或固件中硬連線或硬編碼。在該說(shuō)明書(shū)中,這些實(shí)現(xiàn)或本發(fā)明可采取的任何其他形式可稱(chēng)為技術(shù)。一般,可在本發(fā)明的范圍內(nèi)更改公開(kāi)的過(guò)程的步驟順序。
[0024]本發(fā)明的實(shí)施例將參考采用配置成存儲(chǔ)文件的存儲(chǔ)系統(tǒng)的形式的數(shù)據(jù)存儲(chǔ)系統(tǒng)描述,但應(yīng)該理解本發(fā)明的原理不限于該配置。相反,它們能適用于能夠存儲(chǔ)和處理各種類(lèi)型的對(duì)象以及特別地采用模擬、數(shù)字或其他形式的數(shù)據(jù)對(duì)象的任何系統(tǒng)。盡管可通過(guò)示例使用例如文檔、文件、對(duì)象等術(shù)語(yǔ),本發(fā)明的原理不限于代表和存儲(chǔ)數(shù)據(jù)或其他信息的任何特定形式;相反,它們同樣能適用于代表信息的任何方式。相似地,盡管在本文可參考數(shù)據(jù)庫(kù)、數(shù)據(jù)系統(tǒng)、文檔存儲(chǔ)系統(tǒng)、數(shù)據(jù)倉(cāng)庫(kù)或相似的系統(tǒng)或數(shù)據(jù)收集;對(duì)這些系統(tǒng)中的一個(gè)類(lèi)型的參考應(yīng)指所有這樣的適合系統(tǒng),除非另外明確規(guī)定。
[0025]傳統(tǒng)的數(shù)據(jù)庫(kù)或內(nèi)容管理系統(tǒng)具有相對(duì)嚴(yán)格的數(shù)據(jù)對(duì)象定義。與這樣的數(shù)據(jù)庫(kù)或系統(tǒng)一起提供或使用的常規(guī)數(shù)據(jù)對(duì)象典型地繼承許多元數(shù)據(jù)和功能性,即使不需要或不使用該元數(shù)據(jù)和功能性中的很多也如此。此外,每對(duì)象所有權(quán)的總成本是相對(duì)高的,并且提供的功能性大體上不靈活且不能改變。
[0026]本文的本發(fā)明的實(shí)施例允許數(shù)據(jù)結(jié)構(gòu)的更新、升級(jí)或其他改動(dòng)或修改(在本文大體上“更新”),或允許在運(yùn)行中更新對(duì)于數(shù)據(jù)結(jié)構(gòu)的策略而不使數(shù)據(jù)系統(tǒng)關(guān)閉或脫機(jī)。在某些實(shí)施例中,可允許開(kāi)發(fā)者為單獨(dú)對(duì)象選擇更新策略。在其他實(shí)施例中,可允許開(kāi)發(fā)者為對(duì)象的集合選擇更新策略。備選地,在某些實(shí)施例中,可允許開(kāi)發(fā)者為整個(gè)倉(cāng)庫(kù)選擇更新策略。在一些實(shí)施例中,在系統(tǒng)繼續(xù)操作并且從而系統(tǒng)對(duì)用戶保持可用而沒(méi)有實(shí)質(zhì)性中斷時(shí)執(zhí)行一個(gè)或多個(gè)選擇的對(duì)象的數(shù)據(jù)模型改變或升級(jí)。[0027]本發(fā)明的實(shí)施例提供基于策略動(dòng)態(tài)改變或升級(jí)具有持久對(duì)象的數(shù)據(jù)庫(kù)的方式。本發(fā)明的另外的實(shí)施例提供用于對(duì)“在運(yùn)行中”的升級(jí)對(duì)象設(shè)置策略而不使數(shù)據(jù)庫(kù)脫機(jī)以用于升級(jí)的系統(tǒng)。這些策略允許開(kāi)發(fā)者選擇適合于例如升級(jí)可適用于單獨(dú)對(duì)象這一情形的升級(jí)策略。備選地,升級(jí)可適用于對(duì)象的集合。在一些實(shí)施例和使用中,升級(jí)可適用于整個(gè)數(shù)據(jù)倉(cāng)庫(kù);一個(gè)或多個(gè)選擇的對(duì)象的數(shù)據(jù)模型改變或升級(jí)在系統(tǒng)繼續(xù)操作時(shí)執(zhí)行。采用該方式,本發(fā)明的實(shí)施例允許應(yīng)用的連續(xù)操作,即使應(yīng)用和數(shù)據(jù)倉(cāng)庫(kù)所使用的數(shù)據(jù)結(jié)構(gòu)需要改變(例如這樣的數(shù)據(jù)結(jié)構(gòu)可因?yàn)樵L問(wèn)這樣的數(shù)據(jù)結(jié)構(gòu)的商業(yè)過(guò)程中的對(duì)應(yīng)改變以及相應(yīng)地基于該商業(yè)過(guò)程的應(yīng)用中的改變而需要改變)也如此。
[0028]本文描述的增強(qiáng)技術(shù)允許數(shù)據(jù)對(duì)象或附屬數(shù)據(jù)結(jié)構(gòu)或特性的動(dòng)態(tài)定義,如在2011年6月30日提交的共同所有和同在審批中的美國(guó)專(zhuān)利申請(qǐng)?zhí)?3/174,746 (代理人案號(hào)EMC-11-219)對(duì)于“動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu)”中更詳細(xì)描述的;這樣的申請(qǐng)為了所有目的通過(guò)引用結(jié)合于此。
[0029]如在這樣的申請(qǐng)中描述的,數(shù)據(jù)對(duì)象可采用XML文檔的形式實(shí)現(xiàn)。例如,在涉及掃描的紙文檔、數(shù)據(jù)文件或一些其他實(shí)際、虛擬或電子文檔或文件的一些實(shí)施例中,可創(chuàng)建“文檔”對(duì)象。具有類(lèi)型“文檔”的該對(duì)象可例如通過(guò)在XML文檔中適當(dāng)?shù)靥峁?biāo)簽而給出特征。在一些實(shí)施例中,數(shù)據(jù)方面或其他橫切或多對(duì)象數(shù)據(jù)結(jié)構(gòu)或?qū)傩远皇恰疤卣鳌笨衫缤ㄟ^(guò)采用XML文檔來(lái)實(shí)現(xiàn)而與數(shù)據(jù)對(duì)象(在本文統(tǒng)稱(chēng)為“特征”)關(guān)聯(lián)。這些數(shù)據(jù)對(duì)象與它們關(guān)聯(lián)的特征可方便地存儲(chǔ)在面向?qū)ο蠡蚱渌麛?shù)據(jù)庫(kù)中,例如為XML文檔的存儲(chǔ)而優(yōu)化的那個(gè)(如果對(duì)象或特征在這樣的文檔中實(shí)現(xiàn))。直接的發(fā)明的受讓人所分配的xDB數(shù)據(jù)庫(kù)可合適地在實(shí)施例中采用用于存儲(chǔ)實(shí)現(xiàn)數(shù)據(jù)對(duì)象和關(guān)聯(lián)特征的XML文檔。
[0030]例如,具有類(lèi)型“文檔”的對(duì)象可創(chuàng)建有“內(nèi)容”特征和“創(chuàng)作”特征。對(duì)象持有與一些文件(其可在系統(tǒng)中在別的地方存儲(chǔ))有關(guān)的數(shù)據(jù)(“文檔”對(duì)象的實(shí)例),例如采用本地二進(jìn)制大對(duì)象(“BLOB”)、眾所周知的二進(jìn)制數(shù)據(jù)格式或MME格式。在一些實(shí)施例中,“內(nèi)容”特征可將關(guān)于該文件(例如MIME類(lèi)型、大小、文件參考、文件名或文件系統(tǒng)元數(shù)據(jù))的數(shù)據(jù)編組,而“創(chuàng)作”特征可與關(guān)于文件的創(chuàng)作過(guò)程(例如,最后的修改日期、最后的修改者、創(chuàng)建日期、創(chuàng)建者或應(yīng)用元數(shù)據(jù))的數(shù)據(jù)關(guān)聯(lián)。
[0031]特征是很適合于在運(yùn)行時(shí)間添加到例如對(duì)象等數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)定義。特征定義限定數(shù)據(jù)模型,但特征還可揭露服務(wù)和方法。在運(yùn)行時(shí)間期間將特征添加到對(duì)象允許有靈活的數(shù)據(jù)庫(kù)模型而不必提前定義嚴(yán)格的數(shù)據(jù)庫(kù)結(jié)構(gòu)。實(shí)施例可進(jìn)一步允許在運(yùn)行中添加或修改特征而不中斷存儲(chǔ)系統(tǒng)或數(shù)據(jù)庫(kù)的連續(xù)使用。其他實(shí)施例可將連續(xù)使用的中斷限制在期望的量,其包括零中斷或停機(jī)時(shí)間。
[0032]因?yàn)閷?duì)象和特征定義數(shù)據(jù)模型并且揭露或?qū)崿F(xiàn)服務(wù)或方法,在組織內(nèi)偶爾改變數(shù)據(jù)模型或關(guān)聯(lián)的服務(wù)或方法來(lái)反映數(shù)據(jù)系統(tǒng)或數(shù)據(jù)庫(kù)以及用于在數(shù)據(jù)系統(tǒng)上操作并且訪問(wèn)數(shù)據(jù)系統(tǒng)的關(guān)聯(lián)應(yīng)用的所有者的商業(yè)過(guò)程中的改變、更新或校正,這可是必要的。這些改變可牽涉例如將特征添加到之前沒(méi)有特征的對(duì)象。備選地,與一個(gè)或多個(gè)對(duì)象關(guān)聯(lián)的現(xiàn)有特征可例如通過(guò)改變類(lèi)型或添加數(shù)據(jù)結(jié)構(gòu)、字段、方法或服務(wù)而改變來(lái)反映對(duì)商業(yè)過(guò)程或應(yīng)用的改變。
[0033]因此,實(shí)施例可提供對(duì)象或特征的更新,并且可識(shí)別對(duì)于對(duì)象或特征的識(shí)別特性或版本號(hào),并且在版本號(hào)的情況下,當(dāng)實(shí)現(xiàn)或部署新版本的對(duì)象或特征以便有助于維持在什么時(shí)間做出什么改變的記載或記錄以及用別的方式能夠在未來(lái)在必要時(shí)復(fù)制結(jié)果或狀態(tài)時(shí)連續(xù)遞增。因?yàn)樾掳姹镜膶?duì)象或特征通過(guò)相關(guān)商業(yè)過(guò)程而開(kāi)發(fā)或變得必要,他(數(shù)據(jù)系統(tǒng)或數(shù)據(jù)庫(kù)的管理員)可希望轉(zhuǎn)出新版本的對(duì)象或特征而不中斷使用對(duì)象或特征的數(shù)據(jù)系統(tǒng)或數(shù)據(jù)庫(kù)的連續(xù)使用。
[0034]實(shí)施例可對(duì)數(shù)據(jù)庫(kù)或數(shù)據(jù)系統(tǒng)管理員或操作者提供描述對(duì)對(duì)象或特征的更新應(yīng)如何實(shí)現(xiàn)使得管理員可指定與商業(yè)過(guò)程、組織策略、監(jiān)管或法律框架和組織的任何其他相關(guān)準(zhǔn)則或需要一致的實(shí)現(xiàn)更新的方式的能力。實(shí)施例提供多個(gè)預(yù)定義備選更新部署模型或定制部署模型或系統(tǒng).ata (systems, ata)的創(chuàng)建。
[0035]在某些實(shí)施例中,可允許在數(shù)據(jù)系統(tǒng)上實(shí)現(xiàn)更新的管理員從更新傳播到哪些對(duì)象方面定義更新的范圍和定時(shí)。例如,管理員可選取使更新關(guān)于單個(gè)數(shù)據(jù)對(duì)象、一組數(shù)據(jù)對(duì)象或甚至整個(gè)數(shù)據(jù)倉(cāng)庫(kù)而實(shí)現(xiàn)。
[0036]本文描述的增強(qiáng)技術(shù)允許數(shù)據(jù)對(duì)象或數(shù)據(jù)結(jié)構(gòu)的動(dòng)態(tài)定義。圖1圖示根據(jù)一些實(shí)施例的數(shù)據(jù)對(duì)象。圖1中的對(duì)象是具有“內(nèi)容”特征和“創(chuàng)作”特征的“文檔”對(duì)象。對(duì)象持有與一些文件有關(guān)的數(shù)據(jù)(其可在系統(tǒng)中在別的地方存儲(chǔ))。“內(nèi)容”特征將關(guān)于該文件(MME類(lèi)型、大小、文件參考、文件名)的數(shù)據(jù)編組,而“創(chuàng)作”特征將關(guān)于文件的創(chuàng)作過(guò)程(最后的修改日期、最后的修改者、創(chuàng)建日期、創(chuàng)建者)的數(shù)據(jù)編組。
[0037]特征是設(shè)計(jì)成在運(yùn)行時(shí)間添加到數(shù)據(jù)結(jié)構(gòu)(例如,對(duì)象)的數(shù)據(jù)定義。在圖1中的示例中,創(chuàng)作特征和內(nèi)容特征是在運(yùn)行時(shí)間添加到文檔對(duì)象的數(shù)據(jù)定義。特征定義定義數(shù)據(jù)模型,但特征還可揭露服務(wù)和方法。在運(yùn)行時(shí)間期間將特征添加到對(duì)象允許靈活的數(shù)據(jù)庫(kù)模型而不必提前定義嚴(yán)格的數(shù)據(jù)庫(kù)結(jié)構(gòu)。
[0038]對(duì)象和特征每個(gè)具有類(lèi)型。對(duì)象類(lèi)型可采用XML文檔定義,并且對(duì)象類(lèi)型定義可包括名稱(chēng)、名稱(chēng)空間和版本。圖2圖示根據(jù)一些實(shí)施例的數(shù)據(jù)類(lèi)型定義。圖2中的類(lèi)型定義在http: //www.emc.com/typesystem/def名稱(chēng)空間中將名稱(chēng)定義為“文檔”。該定義的版本是I。另外的數(shù)據(jù)類(lèi)型定義可包括事件配置、Java類(lèi)配置和需要的特征的集合。例如,在圖2中,Java類(lèi)配置是com.0bjects, core.Document。在檢索該類(lèi)型的對(duì)象時(shí),com.0bjects,core.Document對(duì)象被例示化并且代表采用JVM的該對(duì)象。對(duì)象的文檔提供給實(shí)例化。這允許用于在XML文檔與代表對(duì)象的Java對(duì)象之間設(shè)置綁定的實(shí)現(xiàn)。圖2中的類(lèi)型定義還包括事件配置。例如,關(guān)于“創(chuàng)建”事件,關(guān)于創(chuàng)作特征的處理程序在內(nèi)容特征的處理程序之前。相反,關(guān)于“刪除”事件,關(guān)于內(nèi)容特征的處理程序在關(guān)于創(chuàng)作特征的處理程序之前。在一些實(shí)施例中,對(duì)對(duì)象設(shè)置限制(例如定義哪些特征可以添加到對(duì)象),這可是優(yōu)選的。
[0039]圖10圖示根據(jù)一些實(shí)施例用于組織數(shù)據(jù)的方法。在步驟1000中,創(chuàng)建事件配置,其中該事件配置確定調(diào)用特征的事件處理程序所采用的順序。在步驟1002中,識(shí)別java類(lèi)配置,其中該java類(lèi)配置確定對(duì)象的實(shí)例的組成。在步驟1004中,識(shí)別需要的特征的集合。在步驟1006中,事件配置、java類(lèi)配置和需要的特征的集合存儲(chǔ)在XML文檔中。
[0040]在一些實(shí)施例中,對(duì)象本身幾乎不包含數(shù)據(jù)并且不包含特征。然而,在一些實(shí)施例中,對(duì)象類(lèi)型定義可包括需要的特征的集合。需要的特征定義可包括特征的名稱(chēng)、特征的類(lèi)型和屬性名稱(chēng)。特征的名稱(chēng)是在對(duì)象中檢索實(shí)例的鍵。屬性名稱(chēng)用于在生成的對(duì)象類(lèi)型的類(lèi)中產(chǎn)生獲得者的方法。
[0041]圖3圖示根據(jù)一些實(shí)施例的對(duì)象。患者對(duì)象包括基本特征和消費(fèi)者特征。該基本特征和消費(fèi)者特征可以是對(duì)于患者特征的需要特征。也就是說(shuō),患者對(duì)象的每個(gè)實(shí)例必定具有這兩個(gè)特征。如由圖3圖示的,每個(gè)特征提供服務(wù)的不同集合并且處理不同集合的事件。每個(gè)特征還繼承不同集合的元數(shù)據(jù)。當(dāng)患者對(duì)象被實(shí)例化時(shí),它將調(diào)用基本特征和消費(fèi)者特征。根據(jù)用戶偏好,可調(diào)用其他特征。
[0042]圖9圖示根據(jù)一些實(shí)施例用于組織數(shù)據(jù)的方法。在步驟900中,識(shí)別名稱(chēng)空間。在步驟902中,識(shí)別事件處理程序。在步驟904中,識(shí)別java類(lèi)配置。在步驟906中,名稱(chēng)空間、事件處理程序和java類(lèi)配置存儲(chǔ)在XML文檔中。也就是說(shuō),已經(jīng)創(chuàng)建特征定義。
[0043]盡管用戶可在運(yùn)行時(shí)間基于用戶偏好從對(duì)象添加或去除特征,在一些實(shí)施例中,限制或約束對(duì)于對(duì)象的特征,這可是優(yōu)選的。例如,如果數(shù)據(jù)庫(kù)的管理員不希望用戶能夠?qū)V泛的特征添加到對(duì)象(除其他外,可能由于可能的性能問(wèn)題而引起),管理員可定義對(duì)象類(lèi)型來(lái)限制可添加到對(duì)象的特征的量、可使某些特征局限于某些對(duì)象或可限制來(lái)自某些對(duì)象的某些特征。
[0044]圖3還圖示對(duì)于每個(gè)特征的特征定義。圖4圖示根據(jù)一些實(shí)施例的特征定義。該特征定義在它的名稱(chēng)空間(例如在〈名稱(chēng)空間 > 標(biāo)簽之間)中將名稱(chēng)定義為創(chuàng)作(例如,由圖1中的文檔對(duì)象使用的)。該定義的版本是2(不要與使用的XML標(biāo)準(zhǔn)的版本混淆)。該類(lèi)型的特征包括對(duì)于創(chuàng)建、刪除和更新事件的處理程序。在檢索該類(lèi)型的特征時(shí),〈類(lèi)-配置〉類(lèi)型的Java對(duì)象將被實(shí)例化,其代表采用JVM的特征。相似地,當(dāng)出現(xiàn)關(guān)于該特征的創(chuàng)建事件時(shí),“…CreateHandler”的Java對(duì)象被實(shí)例化,其處理創(chuàng)建事件。特征在一些實(shí)施例中還可包括方案。方案可用于驗(yàn)證在運(yùn)行時(shí)間的特征,并且可通過(guò)xsdref元素而由特征定義引用。圖7圖示根據(jù)一些實(shí)施例對(duì)于創(chuàng)作特征的方案。
[0045]圖5圖示物理對(duì)象類(lèi)型與它的邏輯表示之間的關(guān)系。相似地,圖6圖示物理特征類(lèi)型與它的邏輯表示之間的關(guān)系。
[0046]圖8圖示根據(jù)一些實(shí)施例用于組織數(shù)據(jù)的方法。在步驟800中,對(duì)象被實(shí)例化。在步驟802中,修改對(duì)象的特征。在步驟804中,修改的對(duì)象存儲(chǔ)在存儲(chǔ)裝置中。
[0047]圖11圖示根據(jù)一些實(shí)施例的數(shù)據(jù)系統(tǒng)。該圖示包括根據(jù)一些實(shí)施例用于更新數(shù)據(jù)系統(tǒng)的特征的系統(tǒng)的方面。對(duì)象1110的實(shí)例化可包含特征1120的零個(gè)或以上的實(shí)例化。本發(fā)明的實(shí)施例可提供在對(duì)象中包含的初始特征(其是空的),并且例如可被給予零或I的版本號(hào)。對(duì)象1110與它的一個(gè)或多個(gè)關(guān)聯(lián)的特征1120可例如采用使對(duì)象1110和它的一個(gè)或多個(gè)組成特征1120持久的方式(例如采用對(duì)象-到-數(shù)據(jù)庫(kù)映射1135)存儲(chǔ)在數(shù)據(jù)庫(kù)1130 (例如面向XML對(duì)象的數(shù)據(jù)庫(kù))中。
[0048]特征1120可以是特征定義1140的實(shí)例化,即,它的特征可由特征定義1140 (特征1120憑借關(guān)聯(lián)1160而與之關(guān)聯(lián))所調(diào)用的特征指定??芍付ㄌ卣鞫x1140,其具有版本V(n) 1145,其中η可以是例如遞增了 I的整數(shù)或每當(dāng)更新、升級(jí)或用別的方式修改(例如通過(guò)修改數(shù)據(jù)模型、數(shù)據(jù)類(lèi)型、服務(wù)、方法、功能或諸如此類(lèi))新版本的特征定義1140版本1145時(shí)的其他值。分配給一系列版本的特征定義1140的不同版本號(hào)V(n)做出能與其他早期或后來(lái)的特征定義1140(其具有相同的名稱(chēng)并且在包含或?qū)務(wù)撝械奶卣鞫x1140的實(shí)例化的一個(gè)或多個(gè)對(duì)象1110中實(shí)例化)區(qū)分開(kāi)的一個(gè)特征定義。一般,特征定義在一些實(shí)施例中可描述對(duì)于對(duì)象部分的類(lèi)的約束。
[0049]一些實(shí)施例規(guī)定這些一個(gè)或多個(gè)特征定義1140可存儲(chǔ)在類(lèi)型系統(tǒng)數(shù)據(jù)庫(kù)1180中。類(lèi)型系統(tǒng)數(shù)據(jù)庫(kù)1180可以是例如面向?qū)ο蟮臄?shù)據(jù)庫(kù)的組件,其包括這樣的數(shù)據(jù)庫(kù)的唯一組件。一些實(shí)施例規(guī)定類(lèi)型系統(tǒng)數(shù)據(jù)庫(kù)1180是用于將XML文檔存儲(chǔ)在類(lèi)型系統(tǒng)數(shù)據(jù)庫(kù)1180中的XML數(shù)據(jù)庫(kù),XML文檔憑借該XML數(shù)據(jù)庫(kù)而持有各種一個(gè)或多個(gè)特征定義版本1140或使其持久。特征定義的當(dāng)前操作版本1140可改變。例如,在本發(fā)明的實(shí)施例中,在多租戶或云實(shí)現(xiàn)中,它可改變,租戶在那時(shí)憑借其使用應(yīng)用或數(shù)據(jù)倉(cāng)庫(kù)。
[0050]圖12圖示根據(jù)一些實(shí)施例的數(shù)據(jù)系統(tǒng)。它進(jìn)一步圖示本發(fā)明的實(shí)施例,特征定義1240可憑借其而如由商業(yè)操作或過(guò)程所指定的那樣改變,并且對(duì)特征定義1140的改變可通過(guò)如此將特征定義V (n+1) 1240存儲(chǔ)在類(lèi)型系統(tǒng)1180中而持久化為特征定義1140的新版本V(n+1) 1240。在本發(fā)明的一個(gè)實(shí)施例中,提供一種系統(tǒng),數(shù)據(jù)倉(cāng)庫(kù)管理員可憑借其通過(guò)將類(lèi)型定義的新版本1240上載到類(lèi)型系統(tǒng)1180中而改變類(lèi)型定義1140。
[0051]提供升級(jí)策略的一些實(shí)施例進(jìn)一步規(guī)定特征定義1240可用升級(jí)過(guò)程或策略1250來(lái)實(shí)例化,數(shù)據(jù)倉(cāng)庫(kù)管理員憑借其指示數(shù)據(jù)倉(cāng)庫(kù)關(guān)于對(duì)象1110中實(shí)例化的相同對(duì)象的現(xiàn)有或未來(lái)實(shí)例或它的構(gòu)成特征實(shí)現(xiàn)從特征定義V (η) 1140到特征定義V(n+1) 1240的升級(jí)或改變。升級(jí)策略1250可包含在特征定義V(n+1) 1240中或用別的方式與類(lèi)型系統(tǒng)1180內(nèi)的特征定義1240關(guān)聯(lián)。
[0052]通過(guò)提供特定升級(jí)策略1250,本發(fā)明的實(shí)施例允許管理員通過(guò)在商業(yè)過(guò)程邏輯或能適用于特征、對(duì)象和倉(cāng)庫(kù)的其他應(yīng)用要求的約束內(nèi)指定改變采用將消耗最小資源并且引起最小不方便的方式出現(xiàn)而減少特征定義改變的影響。
[0053]在一些實(shí)施例中,本發(fā)明提供允許存儲(chǔ)在數(shù)據(jù)庫(kù)中的持久對(duì)象的部分或全部的動(dòng)態(tài)修改的升級(jí)策略的實(shí)現(xiàn)。本發(fā)明的實(shí)施例提供一種系統(tǒng),策略憑借其而對(duì)對(duì)象特征的升級(jí)來(lái)設(shè)置,該策略可適用于單獨(dú)對(duì)象、對(duì)象的集合或整個(gè)數(shù)據(jù)倉(cāng)庫(kù)以及所有它的構(gòu)成對(duì)象。根據(jù)一個(gè)或多個(gè)策略,一個(gè)或多個(gè)選擇的對(duì)象的數(shù)據(jù)模型改變或升級(jí)或其他修改可在不使數(shù)據(jù)倉(cāng)庫(kù)脫機(jī)的情況下實(shí)現(xiàn)。
[0054]在一些實(shí)施例中,適用于特定特征實(shí)例1120或在其中實(shí)施的特征定義1140V(η) 1145可持續(xù)一段時(shí)間地在特征實(shí)例1120中保持不變,即使管理員已經(jīng)同時(shí)提供一個(gè)或多個(gè)升級(jí)的特征定義V (n+1) 1240也如此。升級(jí)策略1250可例如規(guī)定如在特征1120中實(shí)例化的特征定義1140V(n)應(yīng)在被用戶訪問(wèn)時(shí)同步變成升級(jí)定義V(n+1) 1240,即當(dāng)對(duì)象1110的特征1120在搜索數(shù)據(jù)庫(kù)后被用戶檢索時(shí)。根據(jù)該訪問(wèn)策略,特征1120應(yīng)升級(jí)以在下一次訪問(wèn)對(duì)象的特征時(shí)使用或遵從特征定義V(n+1) 1240。備選地,特征定義V(n) 1140可在特征1120和/或?qū)ο?110對(duì)數(shù)據(jù)庫(kù)的搜索作出響應(yīng)(即,關(guān)于數(shù)據(jù)庫(kù)的搜索是“命中”)時(shí)根據(jù)升級(jí)策略來(lái)升級(jí),即使特征1120、對(duì)象1110和它關(guān)聯(lián)的數(shù)據(jù)(例如對(duì)應(yīng)于存儲(chǔ)在對(duì)象1110中或存儲(chǔ)為對(duì)象1110的元數(shù)據(jù)的文檔)分別都未在詢問(wèn)后被用戶檢索或查看也如此。
[0055]備選地,實(shí)施例可提供或允許這樣的配置,其提供在訪問(wèn)時(shí)的異步升級(jí)。例如,特征根據(jù)新的特征定義的升級(jí)可被調(diào)度以在背景中、在計(jì)算資源允許時(shí)或在最佳或方便的時(shí)間、在請(qǐng)求或訪問(wèn)對(duì)象的特征之后的一些時(shí)間處出現(xiàn)。
[0056]此外,實(shí)施例可提供特征1110的特征定義1140V (η) 1145直接到V (n+m)的升級(jí),其中(n+m) > (n+1),即,其中對(duì)于特征1120的特征定義V (η)之前未被升級(jí)(盡管超過(guò)一個(gè)的特征定義升級(jí)被管理員宣布,例如在要適用于特征1120的升級(jí)特征定義1240的條件因?yàn)槲磳?shí)現(xiàn)早期的特征定義升級(jí)(例如,特征定義V(n+1) 1240)而未被滿足的情況下)。
[0057]圖13圖示根據(jù)一些實(shí)施例的數(shù)據(jù)系統(tǒng),并且進(jìn)一步圖示該一般情況的特定實(shí)例,在對(duì)于特征定義1140的升級(jí)策略直接從早期特征定義1140提供給后來(lái)的特征定義1340時(shí)在對(duì)于特征定義策略η — η+1 1250的條件在宣布特征定義V (η+2) 1340之前未被滿足的情況下的實(shí)施例中的場(chǎng)景。如與特征定義1240 —樣,特征定義V (η+2) 1340具有升級(jí)策略組件1350,其在對(duì)于特征實(shí)例1120的特征定義因?yàn)樵缙谔卣鞫x升級(jí)1240已被管理員宣布而升級(jí)的情況下預(yù)備從η+1 —η+2 1355的特征定義升級(jí)。然而,該實(shí)施例進(jìn)一步規(guī)定升級(jí)的特征定義1340具有額外的升級(jí)策略1350組件1360,從而提供直接從特征定義1140到特征定義1340的升級(jí)方式。如與特征定義1140和升級(jí)的特征定義1240 —樣,特征定義V (η+2) 1340可存儲(chǔ)在類(lèi)型系統(tǒng)或數(shù)據(jù)庫(kù)1180中。從特征定義V (η) 1140到特征定義V (η+2) 1340而沒(méi)有對(duì)特征1120應(yīng)用介入的特征定義V(n+1) 1240升級(jí)策略1250的該“直接”升級(jí)策略1360可根據(jù)商業(yè)過(guò)程和管理的數(shù)據(jù)倉(cāng)庫(kù)所服務(wù)的商業(yè)過(guò)程或域的其他特性在必要時(shí)完成。
[0058]其他實(shí)施例可提供額外或備選的升級(jí)策略,例如在成批處理中根據(jù)升級(jí)特征定義1240或后來(lái)的升級(jí)特征定義來(lái)升級(jí)特征1120的策略。例如,升級(jí)策略可規(guī)定特征可在倉(cāng)庫(kù)中升級(jí),即使對(duì)象1110的特征1120或可能甚至整個(gè)對(duì)象1110近來(lái)尚未或甚至從未被訪問(wèn)也如此。另外的實(shí)施例可提供升級(jí)策略,其提供特征1120的定義的升級(jí)作為成批處理而不管對(duì)應(yīng)于特征定義1140的每個(gè)或甚至任何特征1120是否已被訪問(wèn)。
[0059]額外的實(shí)施例可通過(guò)阻斷對(duì)受特征定義升級(jí)影響的特征的訪問(wèn)或通過(guò)阻斷對(duì)整個(gè)對(duì)象(其包含受特征定義升級(jí)影響)的訪問(wèn)來(lái)修改該成批處理升級(jí)策略直到受影響的特征的大量升級(jí)跨整個(gè)數(shù)據(jù)倉(cāng)庫(kù)或倉(cāng)庫(kù)的一些段而實(shí)現(xiàn)的這樣的時(shí)間。另一個(gè)實(shí)施例可提供升級(jí)策略,具有某一特征定義1140的某些特征1120憑借其而在任何時(shí)間未被升級(jí),即使共享相同特征定義1140的其他特征可根據(jù)其他升級(jí)策略中的一個(gè)而改變也如此。
[0060]對(duì)于特征定義的版本的升級(jí)或修改政策可規(guī)定特征定義升級(jí)可持續(xù)若干時(shí)間(甚至非常長(zhǎng)的時(shí)間,例如在升級(jí)策略在訪問(wèn)時(shí)提供同步升級(jí)的情況下)地對(duì)于特定特征實(shí)例未出現(xiàn),但談?wù)撝械奶卣鲗?shí)例未持續(xù)長(zhǎng)時(shí)間地被數(shù)據(jù)倉(cāng)庫(kù)的用戶訪問(wèn),例如因?yàn)樗磳?duì)用戶詢問(wèn)作出響應(yīng)或用別的方式與用戶活動(dòng)不相關(guān)或不對(duì)其作出響應(yīng)。將意識(shí)到在這樣的情況下,升級(jí)策略能夠跳過(guò)數(shù)據(jù)模型的版本,并且直到升級(jí)策略提供升級(jí)的時(shí)候,針對(duì)特定特征實(shí)例的超過(guò)單個(gè)升級(jí)可待定。圖14圖示根據(jù)本發(fā)明的實(shí)施例應(yīng)用超出單個(gè)升級(jí)策略的一個(gè)方式。
[0061]當(dāng)多個(gè)特征定義升級(jí)同時(shí)待定時(shí),將意識(shí)到可用升級(jí)策略的集合可對(duì)于特征定義的升級(jí)未提供直接或甚至間接的顯式路徑。例如,因?yàn)樘卣鲗?shí)例1120和/或?qū)ο髮?shí)例1110可還未被用戶訪問(wèn),而特征定義升級(jí)策略在訪問(wèn)時(shí)提供同步升級(jí),特征實(shí)例1120的特征定義1140可持續(xù)一段時(shí)期地未實(shí)現(xiàn)。如果對(duì)于到V (η+1) 1240、V (η+2) 1340、V(n+3) 1440并且最后到V(n+4) 1460和n+3 — n+4 1490的升級(jí)的連續(xù)特征升級(jí)策略還提供在訪問(wèn)時(shí)的升級(jí),但在特征定義1140的這些連續(xù)倉(cāng)庫(kù)升級(jí)期間大體上沒(méi)有出現(xiàn)訪問(wèn),在升級(jí)策略規(guī)定特征定義1140從特征定義V (η)到特征定義V (n+4)或更一般地V (最新)的升級(jí)最后被觸發(fā)的時(shí)候,可注意管理員可未提供特征定義1140從版本V (η) 1140到最終當(dāng)前版本V(n+4) 1460的直接升級(jí)路徑。相反,僅一些附屬升級(jí)可已同時(shí)由管理員提供,例如升級(jí)策略V(η) — (η+1) 1250、V (η+1) — (η+2) 1355、V (η) — (η+2) 1360、V (η+2) — (η+3) 1450 和升級(jí)策略V(n+2) — V (η+4) 1475和附屬升級(jí)V (η+3) — (η+4) 1480。然后在該示例下,如果在特征實(shí)例1120的升級(jí)根據(jù)能適用的升級(jí)策略而被觸發(fā)的時(shí)候,管理員僅實(shí)現(xiàn)直到特征定義V(n+2) 1340的升級(jí)策略,特征實(shí)例1140可以根據(jù)升級(jí)策略V(n) — (η+2) 1360而直接從特征定義V(n) 1145升級(jí)到特征定義V(n+2) 1340。如果另一方面管理員已經(jīng)宣布升級(jí)的特征定義V (n+4) 1460,則沒(méi)有直接升級(jí)策略;相反,根據(jù)由管理員實(shí)現(xiàn)的可用升級(jí)策略,特征實(shí)例1120從特征定義V (η) 1140到特征定義V (n+4) 1460的最終升級(jí)必須以一系列步驟發(fā)生。
[0062]本發(fā)明的實(shí)施例將根據(jù)可用特征定義升級(jí)策略V(n) — (η+2) 1360 (即,特征定義
V(η) 1140升級(jí)到V (η+2) 1340并且隨后從特征定義升級(jí)策略V (η+2) — V (n+4) 1475升級(jí)所憑借的升級(jí)策略(即,特征定義V (η+2) 1340升級(jí)到V (n+4) 1460所憑借的升級(jí)策略))提供特征實(shí)例1120的特征定義V(n) 1140沿升級(jí)路徑1690的逐步或多階段升級(jí)。在許多實(shí)施例中,順著具有超出從任何升級(jí)路徑可用的最少數(shù)量的跳躍的升級(jí)路徑,這可是不利或次優(yōu)的。例如,將意識(shí)到根據(jù)升級(jí)策略V(n) — (η+2) 1360然后升級(jí)策略(η+2) — (η+3) 1450以及最后根據(jù)升級(jí)策略V (η+3) — (n+4) 1480、根據(jù)升級(jí)路徑1485通常將沒(méi)有來(lái)自特征定義
V(η)的升級(jí)特征實(shí)例1120的任何優(yōu)勢(shì),因?yàn)榇篌w上可以預(yù)期升級(jí)路徑1490提供具有較少開(kāi)銷(xiāo)和時(shí)間的相同升級(jí)特征定義。然而,直接的發(fā)明的實(shí)施例可根據(jù)可用資源和能適用的商業(yè)過(guò)程和倉(cāng)庫(kù)組織對(duì)管理員提供指定最佳更新路徑的能力而不考慮升級(jí)路徑中的策略步驟的數(shù)量以便使開(kāi)銷(xiāo)和其他資源最小化或優(yōu)化它們。
[0063]本發(fā)明的實(shí)施例可提供用于訪問(wèn)并且升級(jí)特征的過(guò)程。圖15是根據(jù)一些實(shí)施例升級(jí)數(shù)據(jù)的流程圖。在步驟1510中,例如數(shù)據(jù)處理或數(shù)據(jù)庫(kù)應(yīng)用等應(yīng)用針對(duì)訪問(wèn)對(duì)象的特征,例如圖11的對(duì)象1110的特征1120。應(yīng)用可訪問(wèn)持久層(例如數(shù)據(jù)庫(kù)的持久層1130)以便訪問(wèn)對(duì)象或?qū)ο蟮慕M成特征。當(dāng)前發(fā)明的實(shí)施例可利用下面的過(guò)程以便使應(yīng)用能夠確定升級(jí)對(duì)于對(duì)象或特征是否是待定的,并且如果是這樣的話,確定應(yīng)如何完成升級(jí)(例如升級(jí)是否在運(yùn)行中還是作為成批處理而實(shí)現(xiàn))。此外在步驟1510中,對(duì)象和/或它的組成特征從持久層訪問(wèn)。在例如步驟1520等另一個(gè)步驟中,對(duì)象或?qū)ο蟮慕M成特征的序列化形式從數(shù)據(jù)倉(cāng)庫(kù)接收,例如經(jīng)由DBMS 1130或其他能適用的持久層。
[0064]在步驟1530中,與檢索的特征關(guān)聯(lián)的特征定義例如通過(guò)檢查圖11中的能適用于特征實(shí)例的版本標(biāo)簽1145或通過(guò)檢查經(jīng)由關(guān)聯(lián)1160而與特征關(guān)聯(lián)的特征定義1140來(lái)確定。在步驟1540中,一些實(shí)施例規(guī)定可對(duì)于特征定義的后面版本的存在來(lái)詢問(wèn)或輪詢類(lèi)型系統(tǒng)1180,即特征定義典型地具有比與在步驟1510中訪問(wèn)的特征關(guān)聯(lián)的當(dāng)前特征定義的版本號(hào)更高的版本號(hào)。因此對(duì)于步驟1540中的特征定義的更高版本號(hào)的存在大體上可指示后面的版本的存在。如果沒(méi)有后面的版本與特征定義關(guān)聯(lián),對(duì)象的特征可在步驟1550中經(jīng)由“N” (“否,,)分支1545來(lái)檢索。
[0065]如果后面的版本可用,在步驟1560中,可檢查后面的版本的特征定義或特征定義的版本(例如,圖14特征定義1240、1340、1440和1460)例如來(lái)確定是否有嵌入的升級(jí)策略或用別的方式與一個(gè)或多個(gè)這樣的后面版本關(guān)聯(lián)的升級(jí)策略。如果存在可用的升級(jí)策略(例如,圖14升級(jí)策略1250、1350、1450和1470),則在步驟1570中,可檢查來(lái)自類(lèi)型系統(tǒng)1180的特征定義的最新或最近的版本V (最新)的升級(jí)策略(即,在類(lèi)型系統(tǒng)1180中可用的最近版本,圖14中的特征定義V(n+4) 1460)來(lái)看看特征定義版本是否包含從對(duì)象特征中實(shí)例化的版本直接升級(jí)到該最新版本的策略。如果由最近的版本V(最新)提供這樣的直接升級(jí)策略或方法,在步驟1580中該策略可被檢索并且應(yīng)用于特征。如果沒(méi)有直接的升級(jí)策略從特征的當(dāng)前特征定義版本提供給最當(dāng)前的特征定義版本,對(duì)于特征的特征定義從當(dāng)前實(shí)例化的V(n)到V(最新)的升級(jí)的最佳升級(jí)路徑可在步驟1590中映射。該升級(jí)映射可進(jìn)一步在步驟1600中應(yīng)用來(lái)使特征的特征定義升級(jí)到當(dāng)前最新特征定義V (最新)。在步驟1600中,選擇的升級(jí)策略被檢索(其包括它們關(guān)聯(lián)的實(shí)現(xiàn)商業(yè)過(guò)程或在各種特征定義升級(jí)中實(shí)現(xiàn)的其他計(jì)算改變的升級(jí)代碼或腳本)并且按照從最舊到最新的順序應(yīng)用于特征以便使特征的特征定義更新到最近特征定義V(最新)。采用該方式,本發(fā)明的實(shí)施例可用于創(chuàng)建特征或?qū)ο蟮男蛄谢姹荆涫怯行У牟⑶覞M足特征定義的最近版本的定義、約束、數(shù)據(jù)類(lèi)型和/或過(guò)程。
[0066]因?yàn)樘卣饕呀?jīng)更新為與最近特征定義V(最新)一致,在步驟1610中,對(duì)象的特征可與特征定義的新的最新版本關(guān)聯(lián)使得在稍后訪問(wèn)特征時(shí),將經(jīng)由圖14的關(guān)聯(lián)1160知道特征遵循最近特征定義,或如果已經(jīng)做出對(duì)特征定義的介入式改變,可以確定什么升級(jí)步驟或升級(jí)路徑適合于再次將特征帶入與最近特征定義版本兼容。在步驟1620中,對(duì)象的序列化形式(其包括對(duì)應(yīng)于特征定義的更新特征)存儲(chǔ)在數(shù)據(jù)庫(kù)中。最后,實(shí)施例可提供根據(jù)升級(jí)/遷移數(shù)據(jù)模型的對(duì)象特征的實(shí)例化。
[0067]為了清楚起見(jiàn),本文的過(guò)程和方法已經(jīng)用具體流程圖示,但應(yīng)該理解其他順序可以是可能的并且一些可并行執(zhí)行,而不偏離本發(fā)明的精神。另外,步驟可細(xì)分或組合,或過(guò)程可調(diào)用其他過(guò)程來(lái)處理某些任務(wù)。在本文對(duì)“服務(wù)”、“過(guò)程”、“方法”、“任務(wù)”和相似術(shù)語(yǔ)的引用應(yīng)理解為包含服務(wù)、方法、應(yīng)用、小程序、功能、模塊、守護(hù)程序、腳本、任務(wù)和其他計(jì)算機(jī)過(guò)程,然而是被命名。盡管一些過(guò)程或方法可描述為“預(yù)期”、“期望”或“接受”某些信息或結(jié)果,或更一般地執(zhí)行動(dòng)作(例如“獲得”),本領(lǐng)域內(nèi)技術(shù)人員將意識(shí)到這些過(guò)程不必有意識(shí)或具有知覺(jué)或代理,相反,指示預(yù)期或希望的擬人性語(yǔ)言僅規(guī)定成說(shuō)明過(guò)程或方法可設(shè)計(jì)成處理或使用某些類(lèi)型的變量或具有某些質(zhì)量或類(lèi)型的數(shù)據(jù),并且其他變量或數(shù)據(jù)可導(dǎo)致錯(cuò)誤、失效、例外、溢出、異常終止、異常結(jié)束或“崩潰”;或用別的方式導(dǎo)致非預(yù)期、不準(zhǔn)確、不可取或次優(yōu)的結(jié)果或輸出。如本文公開(kāi)的,根據(jù)本發(fā)明編寫(xiě)的軟件可存儲(chǔ)在例如存儲(chǔ)器或CD-ROM/光學(xué)介質(zhì)等一些形式的計(jì)算機(jī)可讀介質(zhì)中,或在網(wǎng)絡(luò)上傳送,并且由處理器執(zhí)行。
[0068]本文引用的所有參考意在通過(guò)引用而包含。盡管已經(jīng)在上文根據(jù)具體實(shí)施例描述本發(fā)明,預(yù)期對(duì)本發(fā)明的改動(dòng)和修改將無(wú)疑對(duì)于本領(lǐng)域內(nèi)技術(shù)人員變得明顯并且可在附上的權(quán)利要求的范圍和等同物內(nèi)實(shí)踐??墒褂贸^(guò)一個(gè)的計(jì)算機(jī),例如通過(guò)使用并聯(lián)或負(fù)載分享的布置的多個(gè)計(jì)算機(jī)或使任務(wù)跨多個(gè)計(jì)算機(jī)、處理器或分區(qū)分配,使得它們作為整體執(zhí)行本文識(shí)別的組件的功能;即,它們代替單個(gè)計(jì)算機(jī)。上文描述的各種功能可由單個(gè)計(jì)算機(jī)上或分布在若干計(jì)算機(jī)上的單個(gè)過(guò)程或過(guò)程組執(zhí)行??墒褂脝蝹€(gè)存儲(chǔ)裝置,或可使用若干個(gè)來(lái)代替單個(gè)存儲(chǔ)裝置。公開(kāi)的實(shí)施例是說(shuō)明性而非限制性的,并且本發(fā)明不限于本文給出的細(xì)節(jié)。存在實(shí)現(xiàn)本發(fā)明的許多備選方式。因此規(guī)定本公開(kāi)和隨附的權(quán)利要求解釋為涵蓋所有這樣的改動(dòng)和修改,它們落入本發(fā)明的真正精神和范圍內(nèi)。
【權(quán)利要求】
1.一種用于更新存儲(chǔ)在數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)對(duì)象的方法,所述數(shù)據(jù)對(duì)象具有一個(gè)或多個(gè)特征,所述一個(gè)或多個(gè)特征中的至少一個(gè)具有數(shù)據(jù)結(jié)構(gòu),所述方法包括: 訪問(wèn)所述數(shù)據(jù)對(duì)象的特征; 確定被訪問(wèn)的特征的數(shù)據(jù)結(jié)構(gòu)的版本特性; 確定是否存在被訪問(wèn)的特征的數(shù)據(jù)結(jié)構(gòu)的其他優(yōu)選版本;以及 根據(jù)被訪問(wèn)的特征的數(shù)據(jù)結(jié)構(gòu)的優(yōu)選版本來(lái)修改被訪問(wèn)的特征的數(shù)據(jù)結(jié)構(gòu)。
2.如權(quán)利要求1所述的方法,其中,根據(jù)其來(lái)修改數(shù)據(jù)結(jié)構(gòu)的被訪問(wèn)的特征的數(shù)據(jù)結(jié)構(gòu)的優(yōu)選版本是較近的版本。
3.如權(quán)利要求1所述的方法,其中,根據(jù)被訪問(wèn)的特征的數(shù)據(jù)結(jié)構(gòu)的優(yōu)選版本來(lái)修改被訪問(wèn)的特征的數(shù)據(jù)結(jié)構(gòu)的步驟包括以下步驟: 從實(shí)現(xiàn)優(yōu)選數(shù)據(jù)結(jié)構(gòu)版本的數(shù)據(jù)倉(cāng)庫(kù)識(shí)別可用的更新策略的第一集合; 識(shí)別由所述數(shù)據(jù)倉(cāng)庫(kù)提供的更新策略的第二集合,可應(yīng)用其中的一個(gè)或多個(gè)來(lái)實(shí)現(xiàn)被訪問(wèn)的特征的數(shù)據(jù)結(jié)構(gòu)從它的當(dāng)前版本到來(lái)自所述更新策略的第一集合的策略可應(yīng)用的版本的更新; 將來(lái)自所述更新策略的 第二集合的一個(gè)或多個(gè)更新策略應(yīng)用于所述特征的數(shù)據(jù)結(jié)構(gòu); 將來(lái)自所述更新策略的第一集合的更新策略應(yīng)用于所述特征的數(shù)據(jù)結(jié)構(gòu)。
4.如權(quán)利要求3所述的方法,進(jìn)一步包括對(duì)于提供優(yōu)化更新路徑的特征的數(shù)據(jù)結(jié)構(gòu)來(lái)識(shí)別所述更新策略的第二集合的子集的步驟。
5.如權(quán)利要求4所述的方法,其中,識(shí)別所述更新策略的第二集合的子集的步驟使來(lái)自要應(yīng)用的第二集合的更新策略的數(shù)量最小化。
6.如權(quán)利要求1所述的方法,進(jìn)一步包括以下步驟: 從所述倉(cāng)庫(kù)獲得所述特征的序列化形式;以及 將所述特征的更新序列化形式存儲(chǔ)在所述倉(cāng)庫(kù)中。
7.如權(quán)利要求1所述的方法,其中,所述一個(gè)或多個(gè)特征中的至少一個(gè)的數(shù)據(jù)結(jié)構(gòu)包括服務(wù)。
8.如權(quán)利要求7所述的方法,進(jìn)一步包括以下步驟: 選擇并且應(yīng)用更新策略以便使必須應(yīng)用于所述數(shù)據(jù)對(duì)象的特征以便實(shí)現(xiàn)與優(yōu)選定義兼容的更新策略的數(shù)量最小化。
9.如權(quán)利要求1所述的方法,其中所述數(shù)據(jù)結(jié)構(gòu)的優(yōu)選版本是較近版本。
10.如權(quán)利要求3所述的方法,其中,將來(lái)自所述更新策略的第二步驟的一個(gè)或多個(gè)策略應(yīng)用于所述特征的數(shù)據(jù)結(jié)構(gòu)的步驟包括選擇并且應(yīng)用實(shí)現(xiàn)所述特征的數(shù)據(jù)結(jié)構(gòu)到能夠通過(guò)來(lái)自所述更新策略的第一集合的更新策略所起作用的形式的更新所必需的更新策略的最小數(shù)量。
11.如權(quán)利要求1所述的方法,其中訪問(wèn)所述數(shù)據(jù)對(duì)象的特征的步驟包括訪問(wèn)所述特征的序列化形式。
12.如權(quán)利要求11所述的方法,進(jìn)一步包括采用序列化形式存儲(chǔ)所述數(shù)據(jù)對(duì)象的修改特征的步驟。
13.一種用于組織數(shù)據(jù)的系統(tǒng),包括存儲(chǔ)裝置和處理器,所述處理器配置成:從所述存儲(chǔ)裝置檢索數(shù)據(jù)對(duì)象的特征,所述特征根據(jù)能修改的定義來(lái)組織; 將所述數(shù)據(jù)對(duì)象的特征與當(dāng)前定義版本相比較; 在必要時(shí)將零個(gè)或以上的更新策略應(yīng)用于所述數(shù)據(jù)對(duì)象的特征來(lái)實(shí)現(xiàn)所述數(shù)據(jù)對(duì)象的特征與所述當(dāng)前定義版本的兼容;以及將修改的特征存儲(chǔ)在所述存儲(chǔ)裝置中。
14.一種用于更新存儲(chǔ)在倉(cāng)庫(kù)中的數(shù)據(jù)對(duì)象的計(jì)算機(jī)程序產(chǎn)品,所述數(shù)據(jù)對(duì)象具有零個(gè)或以上的特征,所述零個(gè)或以上的特征具有數(shù)據(jù)結(jié)構(gòu),其包括計(jì)算機(jī)可讀介質(zhì),所述計(jì)算機(jī)可讀介質(zhì)具有包含在其中用于以下的程序指令: 訪問(wèn)所述數(shù)據(jù)對(duì)象的特征; 確定被訪問(wèn)的特征的數(shù)據(jù)結(jié)構(gòu)的版本號(hào); 確定是否存在被訪問(wèn)的特征的數(shù)據(jù)結(jié)構(gòu)的其他版本;以及 根據(jù)被訪問(wèn)的特 征的數(shù)據(jù)結(jié)構(gòu)的不同版本來(lái)修改被訪問(wèn)的特征的數(shù)據(jù)結(jié)構(gòu)。
【文檔編號(hào)】G06F7/00GK103946794SQ201280058212
【公開(kāi)日】2014年7月23日 申請(qǐng)日期:2012年9月28日 優(yōu)先權(quán)日:2011年9月30日
【發(fā)明者】J.范羅特丹, M.波爾曼 申請(qǐng)人:Emc 公司