數(shù)據(jù)模型改變管理的制作方法
【專利說明】數(shù)據(jù)模型改變管理
[0001 ] 背景
[0002]計算系統(tǒng)和相關(guān)聯(lián)的網(wǎng)絡(luò)徹底改變了人類工作、游戲和通信的方式。我們生活的幾乎每個方面都在某種方式上受到計算系統(tǒng)的影響。網(wǎng)絡(luò)的擴增允許計算系統(tǒng)共享數(shù)據(jù)并通信,從而快速地增加信息訪問。出于這個理由,現(xiàn)在的時代通常被稱為“信息時代”。
[0003]數(shù)據(jù)模型描述經(jīng)結(jié)構(gòu)化的數(shù)據(jù)的結(jié)構(gòu)(S卩,定義、格式、關(guān)系、約束等)以供存儲在數(shù)據(jù)管理系統(tǒng)(諸如關(guān)系數(shù)據(jù)庫)中。在操作期間,各個執(zhí)行軟件在確定要檢索的數(shù)據(jù)、數(shù)據(jù)的含義、數(shù)據(jù)與其它數(shù)據(jù)的關(guān)系、數(shù)據(jù)的屬性或特性等時可參考數(shù)據(jù)模型。
[0004]當設(shè)計針對組織的數(shù)據(jù)系統(tǒng)時,通常首先設(shè)計相對獨立于底層數(shù)據(jù)管理系統(tǒng)(例如,相對獨立于底層數(shù)據(jù)庫管理系統(tǒng))的邏輯數(shù)據(jù)模型。邏輯數(shù)據(jù)模型通常包括描述業(yè)務(wù)實體的數(shù)據(jù)對象。例如,如果組織是刨冰公司,則業(yè)務(wù)實體可包括刨冰站、雇員、口味、大小、價格、營業(yè)收入、銷售量等。當然,這些術(shù)語獨立于任何底層物理數(shù)據(jù)管理系統(tǒng)。
[0005]—旦邏輯數(shù)據(jù)模型被設(shè)計,數(shù)據(jù)管理系統(tǒng)的其余部分就被設(shè)計來滿足邏輯數(shù)據(jù)模型的需要。例如,物理數(shù)據(jù)模型位于邏輯數(shù)據(jù)模型之下,并還描述實體、關(guān)系、屬性等,但是以更加對準底層數(shù)據(jù)管理系統(tǒng)的工具和約束的方式。邏輯數(shù)據(jù)模型內(nèi)的實體和屬性被映射到物理數(shù)據(jù)模型內(nèi)的實體和屬性。
[0006]此處要求保護的主題不限于解決任何缺點或僅在諸如上述環(huán)境這樣的環(huán)境中操作的各實施例。相反,提供該背景僅用于例示其中可實現(xiàn)所述一些實施例的一個示例性技術(shù)領(lǐng)域。
[0007]簡要概述
[0008]本文中描述的至少一些實施例涉及對管理邏輯數(shù)據(jù)模型的多個版本的版本管理器的使用。邏輯數(shù)據(jù)模型的每個版本使用對應(yīng)的語義映射集來展示數(shù)據(jù)存儲系統(tǒng),針對多個邏輯數(shù)據(jù)模型實體,該對應(yīng)的語義映射集將至少邏輯數(shù)據(jù)模型實體映射到數(shù)據(jù)存儲系統(tǒng)的至少對應(yīng)的物理數(shù)據(jù)模型實體。在一些實施例中,邏輯數(shù)據(jù)模型本身可由多個構(gòu)成邏輯數(shù)據(jù)模型來構(gòu)成,每個構(gòu)成邏輯數(shù)據(jù)模型被用于不同的縱向來展示相同的底層存儲系統(tǒng)。
[0009]版本管理器將數(shù)據(jù)存儲系統(tǒng)的一個或多個數(shù)據(jù)消費者中的每一個與邏輯數(shù)據(jù)模型的某一版本相對應(yīng)。因此,當來自特定數(shù)據(jù)消費者的請求到達時,邏輯數(shù)據(jù)模型的對應(yīng)版本被使用。由此,數(shù)據(jù)模型可用新版本來更新,而不影響現(xiàn)有數(shù)據(jù)消費者的執(zhí)行或不在繼續(xù)查詢之前要求現(xiàn)有數(shù)據(jù)消費者改變他們對邏輯數(shù)據(jù)模型的理解。
[0010]該概述不旨在標識所要求保護的主題的關(guān)鍵特征或必要特征,也不旨在被用來幫助確定所要求保護的主題的范圍。
[0011]附圖簡述
[0012]為了描述能夠獲得上述和其它優(yōu)點和特征的方式,各實施例的更具體的描述將通過參考各附圖來呈現(xiàn)??梢岳斫?,這些附圖只描繪了示例實施例,并且因此不被認為是對其范圍的限制,將通過使用附圖并利用附加特征和細節(jié)來描述和解釋各實施例,在附圖中:
[0013]圖1抽象地解說了其中可采用本文中所描述的一些實施例的計算系統(tǒng);
[0014]圖2示出數(shù)據(jù)管理環(huán)境,該數(shù)據(jù)管理環(huán)境包括數(shù)據(jù)存儲系統(tǒng)、物理數(shù)據(jù)模型層、包括多個邏輯數(shù)據(jù)模型的邏輯數(shù)據(jù)模型層以及在物理數(shù)據(jù)模型層和邏輯數(shù)據(jù)模型層之間作為中介的映射層;
[0015]圖3示出在示例邏輯數(shù)據(jù)模型上執(zhí)行的四種不同的邏輯數(shù)據(jù)模型結(jié)構(gòu)更改類型的示例;
[0016]圖4示出用于擴充已經(jīng)包括展示數(shù)據(jù)存儲系統(tǒng)的一個或多個邏輯數(shù)據(jù)模型的數(shù)據(jù)模型的方法的流程圖;
[0017]圖5示出類似于圖2的數(shù)據(jù)管理環(huán)境的數(shù)據(jù)管理環(huán)境,并且其中模型查詢引擎用作用于處理模型查詢的中樞;
[0018]圖6示出用于模型查詢引擎對接收到的模型查詢進行操作的方法的流程圖;
[0019]圖7示出類似于圖2的數(shù)據(jù)管理環(huán)境的數(shù)據(jù)管理環(huán)境,除了附加的邏輯數(shù)據(jù)模型被示出,邏輯和物理數(shù)據(jù)模型中的每一個具有相關(guān)聯(lián)的索引,并且存在用于模型查詢的高速緩存;
[0020]圖8示出版本管理環(huán)境,其中多個數(shù)據(jù)消費者要經(jīng)由邏輯數(shù)據(jù)模型和物理數(shù)據(jù)模型的相應(yīng)版本來訪問來自數(shù)據(jù)源系統(tǒng)的數(shù)據(jù);以及
[0021]圖9示出用于在存在邏輯數(shù)據(jù)模型或統(tǒng)一數(shù)據(jù)模型的多個版本的上下文中對模型查詢進行響應(yīng)的方法的流程圖。
[0022]詳細描述
[0023]本文中描述的至少一些實施例涉及對管理邏輯數(shù)據(jù)模型的多個版本的版本管理器的使用。邏輯數(shù)據(jù)模型的每個版本使用對應(yīng)的語義映射集來展示數(shù)據(jù)存儲系統(tǒng),針對多個邏輯數(shù)據(jù)模型實體,該對應(yīng)的語義映射集將至少邏輯數(shù)據(jù)模型實體映射到數(shù)據(jù)存儲系統(tǒng)的至少對應(yīng)的物理數(shù)據(jù)模型實體。在一些實施例中,邏輯數(shù)據(jù)模型本身可由多個構(gòu)成邏輯數(shù)據(jù)模型來構(gòu)成,每個構(gòu)成邏輯數(shù)據(jù)模型被用于不同的縱向來展示相同的底層存儲系統(tǒng)。在一些實施例中,邏輯數(shù)據(jù)模型可被稱為“統(tǒng)一數(shù)據(jù)模型”。
[0024]版本管理器將數(shù)據(jù)存儲系統(tǒng)的一個或多個數(shù)據(jù)消費者中的每一個與邏輯數(shù)據(jù)模型的某一版本相對應(yīng)。因此,當來自特定數(shù)據(jù)消費者的請求進入時,邏輯數(shù)據(jù)模型的對應(yīng)版本被使用。由此,數(shù)據(jù)模型可用新版本來更新,而不影響現(xiàn)有數(shù)據(jù)消費者的執(zhí)行或不在繼續(xù)查詢之前要求現(xiàn)有數(shù)據(jù)消費者改變他們對邏輯數(shù)據(jù)模型的理解。
[0025]將參考圖1描述對計算設(shè)備的一些介紹性討論。接著,將參考圖2到圖7描述用于展示數(shù)據(jù)存儲系統(tǒng)的多個邏輯數(shù)據(jù)模型(此后也被稱為“”統(tǒng)一數(shù)據(jù)模型)的結(jié)構(gòu)和使用。接著,將參考圖8和后續(xù)附圖描述邏輯數(shù)據(jù)模型或統(tǒng)一數(shù)據(jù)模型的版本化的原理。
[0026]計算系統(tǒng)現(xiàn)在越來越多地采取多種多樣的形式。例如,計算系統(tǒng)可以是手持式設(shè)備、電器、膝上型計算機、臺式計算機、大型機、分布式計算系統(tǒng)、數(shù)據(jù)中心、或甚至是常規(guī)上不被認為是計算系統(tǒng)的設(shè)備(諸如可穿戴設(shè)備(如眼鏡))。在本說明書以及權(quán)利要求書中,術(shù)語“計算系統(tǒng)”被廣義地定義為包括任何設(shè)備或系統(tǒng)(或其組合),該設(shè)備或系統(tǒng)包含至少一個物理且有形的處理器以及其上能具有可由處理器執(zhí)行的計算機可執(zhí)行指令的物理且有形的存儲器。存儲器可以采取任何形式,并可以取決于計算系統(tǒng)的性質(zhì)和形式。計算系統(tǒng)可以分布在網(wǎng)絡(luò)環(huán)境中,并可包括多個組分計算系統(tǒng)。
[0027]如圖1所例示,在其最基本的配置中,計算系統(tǒng)100通常包括至少一個硬件處理單元102和存儲器104。存儲器104可以是物理系統(tǒng)存儲器,該物理系統(tǒng)存儲器可以是易失性的、非易失性的、或兩者的某種組合。術(shù)語“存儲器”也可在此用來指示諸如物理存儲介質(zhì)這樣的非易失性大容量存儲器。如果計算系統(tǒng)是分布式的,則處理、存儲器和/或存儲能力也可以是分布式的。如本文中所使用的,術(shù)語“可執(zhí)行模塊”或“可執(zhí)行組件”可指可在計算系統(tǒng)上執(zhí)行的軟件對象、例程或方法。此處所描述的不同組件、模塊、引擎以及服務(wù)可以實現(xiàn)為在計算系統(tǒng)上執(zhí)行的對象或進程(例如,作為分開的線程)。
[0028]在隨后的描述中,參考由一個或多個計算系統(tǒng)執(zhí)行的動作描述了各實施例。如果這樣的動作是以軟件實現(xiàn)的,則執(zhí)行動作的相關(guān)聯(lián)計算系統(tǒng)的一個或多個處理器響應(yīng)于已經(jīng)執(zhí)行了計算機可執(zhí)行指令來引導(dǎo)計算系統(tǒng)的操作。例如,這樣的計算機可執(zhí)行指令可以在形成計算機程序產(chǎn)品的一個或多個計算機可讀介質(zhì)上實現(xiàn)。這樣的操作的示例涉及對數(shù)據(jù)的操縱。計算機可執(zhí)行指令(以及被操縱的數(shù)據(jù))可以存儲在計算系統(tǒng)100的存儲器104中。計算系統(tǒng)100還可包含允許計算系統(tǒng)100例如通過網(wǎng)絡(luò)110與其他計算系統(tǒng)通信的通信信道108。計算系統(tǒng)100還包括顯示器112,顯示器112可被用于向用戶顯示視覺表示。
[0029]本文所述的實施例可包括或利用專用或通用計算系統(tǒng),該專用或通用計算系統(tǒng)包括諸如舉例來說一個或多個處理器和系統(tǒng)存儲器等計算機硬件,如以下更詳細討論的。本文中描述的各實施例還包括用于承載或存儲計算機可執(zhí)行指令和/或數(shù)據(jù)結(jié)構(gòu)的物理和其他計算機可讀介質(zhì)。這樣的計算機可讀介質(zhì)可以是可由通用或?qū)S糜嬎阆到y(tǒng)訪問的任何可用介質(zhì)。存儲計算機可執(zhí)行指令的計算機可讀介質(zhì)是物理存儲介質(zhì)。承載計算機可執(zhí)行指令的計算機可讀介質(zhì)是傳輸介質(zhì)。由此,作為示例而非限制,本發(fā)明的各實施例可包括至少兩種顯著不同的計算機可讀介質(zhì):存儲介質(zhì)和傳輸介質(zhì)。
[0030]計算機可讀存儲介質(zhì)包括RAM、R0M、EEPR0M、CD_R0M或其他光盤存儲、磁盤存儲或其他磁存儲設(shè)備,或可用于存儲計算機可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的所需程序代碼手段且可由通用或?qū)S糜嬎阆到y(tǒng)訪問的任何其他物理且有形存儲介質(zhì)。
[0031]“網(wǎng)絡(luò)”被定義為允許在計算系統(tǒng)和/或模塊和/或其他電