在云環(huán)境中管理復(fù)雜對(duì)象的方法及系統(tǒng)的制作方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種在云環(huán)境中管理復(fù)雜對(duì)象的方法和相應(yīng)的系統(tǒng)。在該方法中,首先,獲取復(fù)雜對(duì)象的對(duì)象模型,其中對(duì)象模型至少包括描述復(fù)雜對(duì)象的約束、屬性和方法的信息。其次,分析對(duì)象模型,以確定所需的與對(duì)象模型相映射的至少一個(gè)數(shù)據(jù)存儲(chǔ)和表示用于訪(fǎng)問(wèn)復(fù)雜對(duì)象的對(duì)象服務(wù)接口的至少一個(gè)數(shù)據(jù)服務(wù)。然后,根據(jù)所需的至少一個(gè)數(shù)據(jù)存儲(chǔ)和至少一個(gè)數(shù)據(jù)服務(wù),在云環(huán)境中產(chǎn)生用于復(fù)雜對(duì)象的至少一個(gè)數(shù)據(jù)存儲(chǔ)和至少一個(gè)數(shù)據(jù)服務(wù)。
【專(zhuān)利說(shuō)明】在云環(huán)境中管理復(fù)雜對(duì)象的方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及交互式系統(tǒng)(System of Engagement)應(yīng)用,具體地說(shuō),涉及在云環(huán)境 中管理用于交互式系統(tǒng)應(yīng)用的復(fù)雜對(duì)象(complex object)的方法及系統(tǒng)。
【背景技術(shù)】
[0002] 在諸如微博系統(tǒng)、移動(dòng)銀行等交互式系統(tǒng)應(yīng)用中,諸如用戶(hù)、微博、評(píng)論等的對(duì)象 是復(fù)雜的。例如,對(duì)象的數(shù)據(jù)格式是變化多端的,可包括結(jié)構(gòu)數(shù)據(jù)(Structure data)/非結(jié) 構(gòu)數(shù)據(jù)(un-structure data)、純文本數(shù)據(jù)/多媒體數(shù)據(jù)。另外,對(duì)象之間可具有某種關(guān)系。 例如,對(duì)象"用戶(hù)"可以具有對(duì)象"微博",對(duì)象"微博"可以具有對(duì)象"評(píng)論"。此外,隨著交 互式系統(tǒng)應(yīng)用的發(fā)展,對(duì)象的數(shù)據(jù)結(jié)構(gòu)可能會(huì)改變,并且對(duì)象的數(shù)據(jù)也將迅速地增長(zhǎng)。
[0003] 現(xiàn)在通過(guò)一個(gè)例子來(lái)說(shuō)明交互式系統(tǒng)應(yīng)用中的對(duì)象。例如,在移動(dòng)銀行這一交互 式系統(tǒng)應(yīng)用中,用戶(hù)John和基金New Energy是對(duì)象。用戶(hù)John是VIP客戶(hù),其關(guān)注了基 金New Energy。對(duì)于基金New Energy定義了規(guī)則,即如果投資回報(bào)率超過(guò)25%,則通知關(guān) 注了它的VIP客戶(hù)。這樣,用戶(hù)John和基金New Energy之間具有"關(guān)注"關(guān)系,并且當(dāng)基 金New Energy的投資回報(bào)率超過(guò)25%時(shí),用戶(hù)John將收到通知。
[0004] 由于交互式系統(tǒng)應(yīng)用中對(duì)象的上述特征,因此,如何在云環(huán)境中描述、管理和使用 這樣的對(duì)象是具有挑戰(zhàn)性的。
[0005] 在現(xiàn)有技術(shù)中,通常由編程人員在編寫(xiě)交互式系統(tǒng)應(yīng)用的程序時(shí)定義對(duì)象,并且 如果交互式系統(tǒng)應(yīng)用的程序在云環(huán)境中執(zhí)行,則還需要手動(dòng)地產(chǎn)生具有數(shù)據(jù)存儲(chǔ)的虛擬 機(jī)。具體地,首先定義對(duì)象的數(shù)據(jù)結(jié)構(gòu),并將與對(duì)象有關(guān)的數(shù)據(jù)映射到不同的數(shù)據(jù)存儲(chǔ),然 后編寫(xiě)程序以存儲(chǔ)和獲取數(shù)據(jù)??梢钥闯?,由于預(yù)先在程序中定義了對(duì)象并生成對(duì)象的數(shù) 據(jù)到數(shù)據(jù)存儲(chǔ)的映射,因此,如果對(duì)象的數(shù)據(jù)結(jié)構(gòu)發(fā)生改變,則需要修改交互式系統(tǒng)應(yīng)用的 程序。這種定義和管理對(duì)象的方法非常不靈活。
[0006] 此外,還提出了基于已有平臺(tái)提供簡(jiǎn)單接口以管理交互式系統(tǒng)應(yīng)用的對(duì)象的方 法,其可通過(guò)向用戶(hù)提供例如圖形用戶(hù)接口來(lái)管理對(duì)象。該圖形用戶(hù)接口可由用戶(hù)定義對(duì) 象和動(dòng)作。然而,該接口必須基于已有的交互式系統(tǒng)應(yīng)用的平臺(tái),并且只能提供有限的能 力。
【發(fā)明內(nèi)容】
[0007] 根據(jù)本發(fā)明的一個(gè)方面,提供了一種在云環(huán)境中管理復(fù)雜對(duì)象的方法,包括:獲取 所述復(fù)雜對(duì)象的對(duì)象模型,所述對(duì)象模型至少包括描述所述復(fù)雜對(duì)象的約束、屬性和方法 的信息;分析所述對(duì)象模型,以獲得與所述對(duì)象模型相映射的至少一個(gè)數(shù)據(jù)存儲(chǔ)和表示用 于訪(fǎng)問(wèn)所述復(fù)雜對(duì)象的對(duì)象服務(wù)接口的至少一個(gè)數(shù)據(jù)服務(wù);以及根據(jù)所映射的至少一個(gè)數(shù) 據(jù)存儲(chǔ)和所獲得的至少一個(gè)數(shù)據(jù)服務(wù),在所述云環(huán)境中產(chǎn)生用于所述復(fù)雜對(duì)象的至少一個(gè) 數(shù)據(jù)存儲(chǔ)和至少一個(gè)數(shù)據(jù)服務(wù)。
[0008] 根據(jù)本發(fā)明的另一個(gè)方面,提供了一種在云環(huán)境中管理復(fù)雜對(duì)象的系統(tǒng),包括:獲 取裝置,其被配置為獲取所述復(fù)雜對(duì)象的對(duì)象模型,所述對(duì)象模型至少包括描述所述復(fù)雜 對(duì)象的約束、屬性和方法的信息;分析裝置,其被配置為分析所述對(duì)象模型,以獲得與所述 對(duì)象模型相映射的至少一個(gè)數(shù)據(jù)存儲(chǔ)和表示用于訪(fǎng)問(wèn)所述復(fù)雜對(duì)象的對(duì)象服務(wù)接口的至 少一個(gè)數(shù)據(jù)服務(wù);以及產(chǎn)生裝置,其被配置為根據(jù)所映射的至少一個(gè)數(shù)據(jù)存儲(chǔ)和所獲得的 至少一個(gè)數(shù)據(jù)服務(wù),在所述云環(huán)境中產(chǎn)生用于所述復(fù)雜對(duì)象的至少一個(gè)數(shù)據(jù)存儲(chǔ)和至少一 個(gè)數(shù)據(jù)服務(wù)。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0009] 通過(guò)結(jié)合附圖對(duì)本公開(kāi)示例性實(shí)施方式進(jìn)行更詳細(xì)的描述,本公開(kāi)的上述以及其 它目的、特征和優(yōu)勢(shì)將變得更加明顯,其中,在本公開(kāi)示例性實(shí)施方式中,相同的參考標(biāo)號(hào) 通常代表相同部件。
[0010]圖1表不根據(jù)本發(fā)明一實(shí)施例的云計(jì)算節(jié)點(diǎn);
[0011] 圖2表示根據(jù)本發(fā)明一實(shí)施例的云計(jì)算環(huán)境;
[0012] 圖3表示根據(jù)本發(fā)明一實(shí)施例的抽象模型層;
[0013] 圖4是根據(jù)本發(fā)明的一個(gè)實(shí)施例的在云環(huán)境中管理復(fù)雜對(duì)象的方法的示意性流 程圖; t〇〇14]圖5示出了根據(jù)本發(fā)明的實(shí)施例的復(fù)雜對(duì)象的示例性示意圖;
[0015]圖6是圖4所示的方法中分析復(fù)雜對(duì)象的對(duì)象模型的步驟的示意性流程圖;
[0016]圖7是圖4所示的方法中產(chǎn)生數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)服務(wù)的步驟的示意性流程圖;
[0017]圖8是通過(guò)本發(fā)明的實(shí)施例的方法而產(chǎn)生的用于復(fù)雜對(duì)象的數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)服 務(wù)的虛擬機(jī)結(jié)構(gòu)的示意圖;
[0018]圖9是根據(jù)本發(fā)明的另一個(gè)實(shí)施例的在云環(huán)境中管理復(fù)雜對(duì)象的方法的示意性 流程圖;
[0019]圖10是根據(jù)本發(fā)明的一個(gè)實(shí)施例的在云環(huán)境中管理復(fù)雜對(duì)象的系統(tǒng)的示意性方 框圖;
[0020]圖η是根據(jù)本發(fā)明的一個(gè)實(shí)施例的在云環(huán)境中管理復(fù)雜對(duì)象的系統(tǒng)的示意性方 框圖。
【具體實(shí)施方式】
[0021]、下面將參照附圖更詳細(xì)地描述本公開(kāi)的優(yōu)選實(shí)施方式。雖然附圖中顯示了本公開(kāi) 的優(yōu)選實(shí)施方式,然而應(yīng)該理解,可以以各種形式實(shí)現(xiàn)本公開(kāi)而不應(yīng)被這里闡述的實(shí)施方 式所限制。相反,提供這些實(shí)施方式是為了使本公開(kāi)更加透徹和完整,并且能夠?qū)⒈竟_(kāi)的 范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
[0012]首先應(yīng)當(dāng)理解,盡管本公開(kāi)包括關(guān)于云計(jì)算的詳細(xì)描述,但其中記載的技術(shù)方案 的實(shí)現(xiàn)卻不限于云計(jì)算環(huán)境,而是能夠結(jié)合現(xiàn)在已知或以后開(kāi)發(fā)的任何其它類(lèi)型的計(jì)算環(huán) 境而實(shí)現(xiàn)。
[0023]、、云計(jì)算是一種服務(wù)交付模式,用于對(duì)共享的可配置計(jì)算資源池進(jìn)行方便、按需的 網(wǎng)絡(luò)訪(fǎng)問(wèn)??膳渲糜?jì)算資源是能夠以最小的管理成本或與服務(wù)提供者進(jìn)行最少的交互就能 快速部署和釋放的資源,例如可以是網(wǎng)絡(luò)、網(wǎng)絡(luò)帶寬、服務(wù)器、處理、內(nèi)存、存儲(chǔ)、應(yīng)用、虛擬 機(jī)和服務(wù)。這種云模式可以包括至少五個(gè)特征、至少三個(gè)服務(wù)模型和至少四個(gè)部署模型。
[0024] 特征包括:
[0025] 按需自助式服務(wù):云的消費(fèi)者在無(wú)需與服務(wù)提供者進(jìn)行人為交互的情況下能夠單 方面自動(dòng)地按需部署諸如服務(wù)器時(shí)間和網(wǎng)絡(luò)存儲(chǔ)等的計(jì)算能力。
[0026] 廣泛的網(wǎng)絡(luò)接入:計(jì)算能力可以通過(guò)標(biāo)準(zhǔn)機(jī)制在網(wǎng)絡(luò)上獲取,這種標(biāo)準(zhǔn)機(jī)制促進(jìn) 了通過(guò)不同種類(lèi)的痩客戶(hù)機(jī)平臺(tái)或厚客戶(hù)機(jī)平臺(tái)(例如移動(dòng)電話(huà)、膝上型電腦、個(gè)人數(shù)字助 理PDA)對(duì)云的使用。
[0027] 資源池:提供者的計(jì)算資源被歸入資源池并通過(guò)多租戶(hù)(multi-tenant)模式服 務(wù)于多重消費(fèi)者,其中按需將不同的實(shí)體資源和虛擬資源動(dòng)態(tài)地分配和再分配。一般情況 下,消費(fèi)者不能控制或甚至并不知曉所提供的資源的確切位置,但可以在較高抽象程度上 指定位置(例如國(guó)家、州或數(shù)據(jù)中心),因此具有位置無(wú)關(guān)性。
[0028] 迅速?gòu)椥裕耗軌蜓杆佟⒂袕椥缘?有時(shí)是自動(dòng)地)部署計(jì)算能力,以實(shí)現(xiàn)快速擴(kuò)展, 并且能迅速釋放來(lái)快速縮小。在消費(fèi)者看來(lái),用于部署的可用計(jì)算能力往往顯得是無(wú)限的, 并能在任意時(shí)候都能獲取任意數(shù)量的計(jì)算能力。
[0029] 可測(cè)量的服務(wù):云系統(tǒng)通過(guò)利用適于服務(wù)類(lèi)型(例如存儲(chǔ)、處理、帶寬和活躍用戶(hù) 帳號(hào))的某種抽象程度的計(jì)量能力,自動(dòng)地控制和優(yōu)化資源效用。可以監(jiān)測(cè)、控制和報(bào)告資 源使用情況,為服務(wù)提供者和消費(fèi)者雙方提供透明度。
[0030] 服務(wù)模型如下:
[0031] 軟件即服務(wù)(SaaS):向消費(fèi)者提供的能力是使用提供者在云基礎(chǔ)架構(gòu)上運(yùn)行的 應(yīng)用??梢酝ㄟ^(guò)諸如網(wǎng)絡(luò)瀏覽器的痩客戶(hù)機(jī)接口(例如基于網(wǎng)絡(luò)的電子郵件)從各種客戶(hù)機(jī) 設(shè)備訪(fǎng)問(wèn)應(yīng)用。除了有限的特定于用戶(hù)的應(yīng)用配置設(shè)置外,消費(fèi)者既不管理也不控制包括 網(wǎng)絡(luò)、服務(wù)器、操作系統(tǒng)、存儲(chǔ)、乃至單個(gè)應(yīng)用能力等的底層云基礎(chǔ)架構(gòu)。
[0032]平臺(tái)即服務(wù)(PaaS):向消費(fèi)者提供的能力是在云基礎(chǔ)架構(gòu)上部署消費(fèi)者創(chuàng)建或 獲得的應(yīng)用,這些應(yīng)用利用提供者支持的程序設(shè)計(jì)語(yǔ)言和工具創(chuàng)建。消費(fèi)者既不管理也不 控制包括網(wǎng)絡(luò)、服務(wù)器、操作系統(tǒng)或存儲(chǔ)的底層云基礎(chǔ)架構(gòu),但對(duì)其部署的應(yīng)用具有控制 權(quán),對(duì)應(yīng)用托管環(huán)境配置可能也具有控制權(quán)。
[0033]基礎(chǔ)架構(gòu)即服務(wù)(IaaS):向消費(fèi)者提供的能力是消費(fèi)者能夠在其中部署并運(yùn)行包 括操作系統(tǒng)和應(yīng)用的任意軟件的處理、存儲(chǔ)、網(wǎng)絡(luò)和其他基礎(chǔ)計(jì)算資源。消費(fèi)者既不管理也 不控制底層的云基礎(chǔ)架構(gòu),但是對(duì)操作系統(tǒng)、存儲(chǔ)和其部署的應(yīng)用具有控制權(quán),對(duì)選擇的網(wǎng) 絡(luò)組件(例如主機(jī)防火墻)可能具有有限的控制權(quán)。
[0034] 部署模型如下:
[0035]私有云:云基礎(chǔ)架構(gòu)單獨(dú)為某個(gè)組織運(yùn)行。云基礎(chǔ)架構(gòu)可以由該組織或第三方管 理并且可以存在于該組織內(nèi)部或外部。
[0036]共同體云:云基礎(chǔ)架構(gòu)被若干組織共享并支持有共同利害關(guān)系(例如任務(wù)使命、安 全要求、政策和合規(guī)考慮)的特定共同體。共同體云可以由共同體內(nèi)的多個(gè)組織或第三方管 理并且可以存在于該共同體內(nèi)部或外部。
[0037]公共云:云基礎(chǔ)架構(gòu)向公眾或大型產(chǎn)業(yè)群提供并由出售云服務(wù)的組織擁有。
[0038] j昆合云:云基礎(chǔ)架構(gòu)由兩個(gè)或更多部署模型的云(私有云、共同體云或公共云)組 成,這些云依然是獨(dú)特的實(shí)體,但是通過(guò)使數(shù)據(jù)和應(yīng)用能夠移植的標(biāo)準(zhǔn)化技術(shù)或私有技術(shù) (例如用于石之間的負(fù)載平衡的z?突發(fā)流量分擔(dān)技術(shù))綁定在一起。
[0039] 一云計(jì)算環(huán)境是面向服務(wù)的,特點(diǎn)集中在無(wú)狀態(tài)性、低耦合性、模塊性和語(yǔ)意的互操 作性。云計(jì)算的核心是包含互連節(jié)點(diǎn)網(wǎng)絡(luò)的基礎(chǔ)架構(gòu)。
[0040]現(xiàn)在參考圖L其中顯示了云計(jì)算節(jié)點(diǎn)的一個(gè)例子。圖1顯示的云計(jì)算節(jié)點(diǎn)10僅僅 是適合的云計(jì)算節(jié)點(diǎn)的一個(gè)示例,不應(yīng)對(duì)本發(fā)明實(shí)施例的功能和使用范圍帶來(lái)任何限制。 總之,云計(jì)算節(jié)點(diǎn)10能夠被用來(lái)實(shí)現(xiàn)和/或執(zhí)行以上所述的任何功能。
[0041]云計(jì)算節(jié)點(diǎn)10具有計(jì)算機(jī)系統(tǒng)/服務(wù)器12,其可與眾多其它通用或?qū)S糜?jì)算系 統(tǒng)環(huán)境或配置一起操作。眾所周知,適于與計(jì)算機(jī)系統(tǒng)/服務(wù)器12 一起操作的計(jì)算系統(tǒng)、 環(huán)境和/或配置的例子包括但不限于:個(gè)人計(jì)算機(jī)系統(tǒng)、服務(wù)器計(jì)算機(jī)系統(tǒng)、瘦客戶(hù)機(jī)、厚 客戶(hù)機(jī)、手持或膝上設(shè)備、基于微處理器的系統(tǒng)、機(jī)頂盒、可編程消費(fèi)電子產(chǎn)品、網(wǎng)絡(luò)個(gè)人電 腦、小型計(jì)算機(jī)系統(tǒng)、大型計(jì)算機(jī)系統(tǒng)和包括上述任意系統(tǒng)的分布式云計(jì)算技術(shù)環(huán)境,等 等。
[0042]計(jì)算機(jī)系統(tǒng)/服務(wù)器12可以在由計(jì)算機(jī)系統(tǒng)執(zhí)行的計(jì)算機(jī)系統(tǒng)可執(zhí)行指令(諸如 程序模塊)的一般語(yǔ)境下描述。通常,程序模塊可以包括執(zhí)行特定的任務(wù)或者實(shí)現(xiàn)特定的抽 象數(shù)據(jù)類(lèi)型的例程、程序、目標(biāo)程序、組件、邏輯、數(shù)據(jù)結(jié)構(gòu)等。計(jì)算機(jī)系統(tǒng)/服務(wù)器12可以 在通過(guò)通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行任務(wù)的分布式云計(jì)算環(huán)境中實(shí)施。在分布式云計(jì) 算環(huán)境中,程序模塊可以位于包括存儲(chǔ)設(shè)備的本地或遠(yuǎn)程計(jì)算系統(tǒng)存儲(chǔ)介質(zhì)上。
[0043]如圖1所示,云計(jì)算節(jié)點(diǎn)10中的計(jì)算機(jī)系統(tǒng)/服務(wù)器12以通用計(jì)算設(shè)備的形式 表現(xiàn)。計(jì)算機(jī)系統(tǒng)/服務(wù)器I2的組件可以包括但不限于:一個(gè)或者多個(gè)處理器或者處理單 元16,系統(tǒng)存儲(chǔ)器28,連接不同系統(tǒng)組件(包括系統(tǒng)存儲(chǔ)器28和處理單元16)的總線(xiàn)18。 [0044]總線(xiàn)I 8表示幾類(lèi)總線(xiàn)結(jié)構(gòu)中的一種或多種,包括存儲(chǔ)器總線(xiàn)或者存儲(chǔ)器控制器, 外圍總線(xiàn),圖形加速端口,處理器或者使用多種總線(xiàn)結(jié)構(gòu)中的任意總線(xiàn)結(jié)構(gòu)的局域總線(xiàn)。舉 例來(lái)說(shuō),這些體系結(jié)構(gòu)包括但不限于工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)總線(xiàn),微通道體系結(jié)構(gòu)(MAC) 總線(xiàn),增強(qiáng)型ISA總線(xiàn)、視頻電子標(biāo)準(zhǔn)協(xié)會(huì)(VESA)局域總線(xiàn)以及外圍組件互連(PCI)總線(xiàn)。
[0045] 計(jì)算機(jī)系統(tǒng)/服務(wù)器12典型地包括多種計(jì)算機(jī)系統(tǒng)可讀介質(zhì)。這些介質(zhì)可以是 能夠被計(jì)算機(jī)系統(tǒng)/服務(wù)器12訪(fǎng)問(wèn)的任意可獲得的介質(zhì),包括易失性和非易失性介質(zhì),可 移動(dòng)的和不可移動(dòng)的介質(zhì)。
[0046] 系統(tǒng)存儲(chǔ)器28可以包括易失性存儲(chǔ)器形式的計(jì)算機(jī)系統(tǒng)可讀介質(zhì),例如隨機(jī)存 取存儲(chǔ)器(RAM)30和/或高速緩存存儲(chǔ)器32。計(jì)算機(jī)系統(tǒng)/服務(wù)器12可以進(jìn)一步包括其 它可移動(dòng)/不可移動(dòng)的、易失性/非易失性計(jì)算機(jī)系統(tǒng)存儲(chǔ)介質(zhì)。僅作為舉例,存儲(chǔ)系統(tǒng)34 可以用于讀寫(xiě)不可移動(dòng)的、非易失性磁介質(zhì)(圖1未顯示,通常稱(chēng)為"硬盤(pán)驅(qū)動(dòng)器")。盡管圖 1中未示出,可以提供用于對(duì)可移動(dòng)非易失性磁盤(pán)(例如"軟盤(pán)")讀寫(xiě)的磁盤(pán)驅(qū)動(dòng)器,以及對(duì) 可移動(dòng)非易失性光盤(pán)(例如CD-ROM,DVD-ROM或者其它光介質(zhì))讀寫(xiě)的光盤(pán)驅(qū)動(dòng)器。在這些 情況下,每個(gè)驅(qū)動(dòng)器可以通過(guò)一個(gè)或者多個(gè)數(shù)據(jù)介質(zhì)接口與總線(xiàn)18相連。存儲(chǔ)器28可以 包括至少一個(gè)程序產(chǎn)品,該程序產(chǎn)品具有一組(例如至少一個(gè))程序模塊,這些程序模塊被 配置以執(zhí)行本發(fā)明各實(shí)施例的功能。
[0047] 具有一組(至少一個(gè))程序模塊42的程序/實(shí)用工具40,可以存儲(chǔ)在存儲(chǔ)器28中, 這樣的程序模塊42包括但不限于操作系統(tǒng)、一個(gè)或者多個(gè)應(yīng)用程序、其它程序模塊以及程 序數(shù)據(jù),這些示例中的每一個(gè)或某種組合中可能包括網(wǎng)絡(luò)環(huán)境的實(shí)現(xiàn)。程序模塊42通常執(zhí) 行本發(fā)明所描述的實(shí)施例中的功能和/或方法。
[0048]計(jì)算機(jī)系統(tǒng)/服務(wù)器12也可以與一個(gè)或多個(gè)外部設(shè)備14 (例如鍵盤(pán)、指向設(shè)備、 顯示器24等)通信,還可與一個(gè)或者多個(gè)使得用戶(hù)能與該計(jì)算機(jī)系統(tǒng)/服務(wù)器12交互的設(shè) 備通信,和/或與使得該計(jì)算機(jī)系統(tǒng)/服務(wù)器 12能與一個(gè)或多個(gè)其它計(jì)算設(shè)備進(jìn)行通信的 任何設(shè)備(例如網(wǎng)卡,調(diào)制解調(diào)器等等)通信。這種通信可以通過(guò)輸入/輸出( 1/〇)接口 22 進(jìn)行。并且,計(jì)算機(jī)系統(tǒng)/服務(wù)器12還可以通過(guò)網(wǎng)絡(luò)適配器20與一個(gè)或者多個(gè)網(wǎng)絡(luò)(例如 局域網(wǎng)(LAN),廣域網(wǎng)(WAN)和/或公共網(wǎng)絡(luò),例如因特網(wǎng))通信。如圖所示,網(wǎng)絡(luò)適配器 2〇 通過(guò)總線(xiàn)I8與計(jì)算機(jī)系統(tǒng)/服務(wù)器12的其它模塊通信。應(yīng)當(dāng)明白,盡管圖中未示出,其它 硬件和^或軟件模塊可以與計(jì)算機(jī)系統(tǒng)/服務(wù)器 12 -起操作,包括但不限于:微代碼、設(shè)備 驅(qū)動(dòng)器、冗余處理單元、外部磁盤(pán)驅(qū)動(dòng)陣列、RAID系統(tǒng)、磁帶驅(qū)動(dòng)器以及數(shù)據(jù)備份存儲(chǔ)系統(tǒng) 等。
[0049]現(xiàn)在參考圖2,其中顯示了示例性的云計(jì)算環(huán)境50。如圖所示,云計(jì)算環(huán)境50包 括云計(jì)算消費(fèi)者使用的本地計(jì)算設(shè)備可以與其相通信的一個(gè)或者多個(gè)云計(jì)算節(jié)點(diǎn)1〇,本地 計(jì)算設(shè)備例如可以是個(gè)人數(shù)字助理(PDA)或移動(dòng)電話(huà)54A,臺(tái)式電腦54B、筆記本電腦54C和 /或汽車(chē)計(jì)算機(jī)系統(tǒng)54N。云計(jì)算節(jié)點(diǎn)1〇之間可以相互通信。可以在包括但不限于如上所 述的私有云、共同體云、公共云或混合云或者它們的組合的一個(gè)或者多個(gè)網(wǎng)絡(luò)中將云計(jì)算 節(jié)點(diǎn)10進(jìn)行物理或虛擬分組(圖中未顯示)。這樣,云的消費(fèi)者無(wú)需在本地計(jì)算設(shè)備上維護(hù) 資源就能請(qǐng)求云計(jì)算環(huán)境50提供的基礎(chǔ)架構(gòu)即服務(wù)(l aas)、平臺(tái)即服務(wù)(paaS)和/或軟 件即服務(wù)(SaaS)。應(yīng)當(dāng)理解,圖2顯示的各類(lèi)計(jì)算設(shè)備54A-N僅僅是示意性的,云計(jì)算節(jié)點(diǎn) 10以及云計(jì)算環(huán)境50可以與任意類(lèi)型網(wǎng)絡(luò)上和/或網(wǎng)絡(luò)可尋址連接的任意類(lèi)型的計(jì)算^ 備(例如使用網(wǎng)絡(luò)瀏覽器)通信。
[0050]現(xiàn)在參考圖3,其中顯示了云計(jì)算環(huán)境50 (圖2)提供的一組功能抽象層。首先應(yīng) 當(dāng)理解,圖3所示的組件、層以及功能都僅僅是示意性的,本發(fā)明的實(shí)施例不限于此。如圖 3所示,提供下列層和對(duì)應(yīng)功能:
[0051]硬件和軟件層60包括硬件和軟件組件。硬件組件的例子包括:主機(jī),例如 IBM? zSeries?,系統(tǒng);基于Rise (精簡(jiǎn)指令集計(jì)算機(jī))體系結(jié)構(gòu)的服務(wù)器,例如 IBM pSeries?系統(tǒng);IBM邊eries?;系統(tǒng);IBM BfedeC_:er?系統(tǒng);存儲(chǔ)設(shè)備;網(wǎng)絡(luò) 和網(wǎng)絡(luò)組件。軟件組件的例子包括:網(wǎng)絡(luò)應(yīng)用服務(wù)器軟件,例如IBM MSplffife:?應(yīng)用服 務(wù)器軟件;數(shù)據(jù)庫(kù)軟件,例如IBM DM?,數(shù)據(jù)庫(kù)軟件。(IBM,zSeries,pSeries,xSeries, BladeCenter,WebSphere以及DB2是國(guó)際商業(yè)機(jī)器公司在全世界各地的注冊(cè)商標(biāo))。
[0052]虛擬層62提供一個(gè)抽象層,該層可以提供下列虛擬實(shí)體的例子:虛擬服務(wù)器、虛 擬存儲(chǔ)、虛擬網(wǎng)絡(luò)(包括虛擬私有網(wǎng)絡(luò))、虛擬應(yīng)用和操作系統(tǒng),以及虛擬客戶(hù)端。
[0053]在一個(gè)示例中,管理層Μ可以提供下述功能:資源供應(yīng)功能:提供用于在云計(jì)算 環(huán)境中執(zhí)行任務(wù)的計(jì)算資源和其它資源的動(dòng)態(tài)獲??;計(jì)量和定價(jià)功能:在云計(jì)算環(huán)境內(nèi)對(duì) 資源的使用進(jìn)行成本跟蹤,并為此提供帳單和發(fā)票。在一個(gè)例子中,該資源可以包括應(yīng)用軟 件許可。安全功能:為云的消費(fèi)者和任務(wù)提供身份認(rèn)證,為數(shù)據(jù)和其它資源提供保護(hù)。用戶(hù) 門(mén)戶(hù)功能:為消費(fèi)者和系統(tǒng)管理員提供對(duì)云計(jì)算環(huán)境的訪(fǎng)問(wèn)。服務(wù)水平管理功能:提供云 計(jì)算資源的分配和管理,以滿(mǎn)足必需的服務(wù)水平。服務(wù)水平協(xié)議(SLA)計(jì)劃和履行功能:為 根據(jù)SLA預(yù)測(cè)的對(duì)云計(jì)算資源未來(lái)需求提供預(yù)先安排和供應(yīng)。
[0054]工作負(fù)載層冊(cè)提供云計(jì)算環(huán)境可能實(shí)現(xiàn)的功能的示例。在該層中,可提供的工作 負(fù)載或功能的示例包括:地圖繪制與導(dǎo)航;軟件開(kāi)發(fā)及生命周期管理;虛擬教室的教學(xué)提 供;數(shù)據(jù)分析處理;交易處理;以及根據(jù)本發(fā)明的實(shí)施例的復(fù)雜對(duì)象的管理。
[0055]圖4示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的在云環(huán)境中管理復(fù)雜對(duì)象的方法的示意 性流程圖。下面結(jié)合附圖對(duì)本實(shí)施例進(jìn)行詳細(xì)描述。
[0056]在以下的實(shí)施例中,使用"復(fù)雜對(duì)象,,表示描述交互式系統(tǒng)應(yīng)用中的實(shí)體的對(duì)象。 在描述復(fù)雜對(duì)象時(shí),除了使用傳統(tǒng)的屬性和方法以外,還可使用約束。在此,約束是指對(duì)復(fù) 雜對(duì)象的屬性、方法或復(fù)雜對(duì)象本身的限制或修飾。此外,在描述復(fù)雜對(duì)象時(shí),還可以使用 關(guān)系和/或條件-動(dòng)作,其中,關(guān)系描述了復(fù)雜對(duì)象相對(duì)其它復(fù)雜對(duì)象的關(guān)系,條件-動(dòng)作 描述了在一定條件下的復(fù)雜對(duì)象的操作。在交互式系統(tǒng)應(yīng)用中,復(fù)雜對(duì)象可以持續(xù)發(fā)展,表 現(xiàn)在增長(zhǎng)的數(shù)據(jù)和變化的結(jié)構(gòu)。
[0057]如圖4所示,在步驟S401,獲取用于交互式系統(tǒng)應(yīng)用的復(fù)雜對(duì)象的對(duì)象模型。在復(fù) 雜對(duì)象的對(duì)象模型中,可包括描述復(fù)雜對(duì)象的約束、屬性和方法的信息??蛇x地,在對(duì)象模 型中還可以包括描述復(fù)雜對(duì)象的關(guān)系和條件-動(dòng)作中的至少一個(gè)的信息。
[0058] 在本實(shí)施例中,復(fù)雜對(duì)象可以使用聲明性編程語(yǔ)言來(lái)描述,例如,具有注釋的面 向?qū)ο蟮恼Z(yǔ)言,從而建立復(fù)雜對(duì)象的對(duì)象模型。例如,可以使用"類(lèi)"描述復(fù)雜對(duì)象,使用 "屬性"和"方法"描述復(fù)雜對(duì)象的屬性和方法,使用"注釋"描述復(fù)雜對(duì)象的約束、關(guān)系、條 件-動(dòng)作。
[0059] 復(fù)雜對(duì)象的屬性用于描述復(fù)雜對(duì)象的性質(zhì),其可以使用諸如整型(int )、字符串型 (string)、字符型(char)、日期/時(shí)間、浮點(diǎn)型(float)、參考型(reference)的簡(jiǎn)單類(lèi)型的 數(shù)據(jù),也可以使用諸如XML (可擴(kuò)展標(biāo)記語(yǔ)言)、JSON (JavaScriptObjectNotation,一種輕 量級(jí)的數(shù)據(jù)交換格式)、視頻/音頻、圖像的復(fù)雜類(lèi)型的數(shù)據(jù),還可以使用諸如空間數(shù)據(jù)、列 表、表、結(jié)構(gòu)的組合類(lèi)型的數(shù)據(jù)。
[0060] 復(fù)雜對(duì)象的方法用于描述復(fù)雜對(duì)象的行為,其可以是任何可編程邏輯的描述。在 復(fù)雜對(duì)象的模型中,必須提供方法以操作使用復(fù)雜類(lèi)型或組合類(lèi)型的數(shù)據(jù)的屬性。
[0061] 復(fù)雜對(duì)象的約束用于描述對(duì)復(fù)雜對(duì)象的屬性、方法或復(fù)雜對(duì)象本身的限制或 修飾。約束可包括復(fù)雜對(duì)象的屬性的可搜索性(Sear ch-ab le)、復(fù)雜對(duì)象的可關(guān)注性 (follow-able)、復(fù)雜對(duì)象的可標(biāo)簽性(tag-able)、復(fù)雜對(duì)象的可評(píng)論性(comment-able) 和復(fù)雜對(duì)象的可定位性(locatab 1 e )。
[0062] 如果復(fù)雜對(duì)象的某一屬性具有可搜索性的約束,則表明復(fù)雜對(duì)象可基于該屬性而 被搜索。在這種情況下,該屬性將被建立索引。
[0063] 如果復(fù)雜對(duì)象具有可關(guān)注性的約束,則表明復(fù)雜對(duì)象可被其它對(duì)象關(guān)注,并與作 為關(guān)注者的對(duì)象之間存在關(guān)系。在這種情況下,復(fù)雜對(duì)象可具有特定屬性以存儲(chǔ)關(guān)注者列 表,并可具有訪(fǎng)問(wèn)和/或通知關(guān)注者的方法。
[0064] 如果復(fù)雜對(duì)象具有可標(biāo)簽性的約束,則表明復(fù)雜對(duì)象可被標(biāo)記標(biāo)簽,在這種情況 下,復(fù)雜對(duì)象可具有處理標(biāo)簽(例如添加、刪除標(biāo)簽)的屬性和方法,并具有通過(guò)標(biāo)簽被添 力口、訪(fǎng)問(wèn)和搜索的方法。
[0065] 如果復(fù)雜對(duì)象具有可評(píng)論性的約束,則表明復(fù)雜對(duì)象可被評(píng)論,在這種情況下,復(fù) 雜對(duì)象可具有處理評(píng)論(例如,添加、刪除評(píng)論)的方法和/或?qū)傩浴?br>
[0066]如果復(fù)雜對(duì)象具有可定位性的約束,則表明復(fù)雜對(duì)象可被確定位置,在這種情況 下,復(fù)雜對(duì)象可具有存儲(chǔ)位置的屬性,并可具有訪(fǎng)問(wèn)位置的方法。
[0067]復(fù)雜對(duì)象的關(guān)系用于描述與其它對(duì)象之間的關(guān)系,可通過(guò)使用參考型數(shù)據(jù)的屬性 來(lái)描述。
[0068]復(fù)雜對(duì)象的條件-動(dòng)作用于描述在一定條件下的復(fù)雜對(duì)象的操作,其可使用例如 "如果〈條件〉,則〈動(dòng)作〉"的格式來(lái)描述,其中"〈條件〉"可以是布爾表達(dá)式,"〈動(dòng)作>" 可以是腳本或復(fù)雜對(duì)象的方法的調(diào)用。
[0069]圖5示出了根據(jù)本發(fā)明的實(shí)施例的復(fù)雜對(duì)象的示例性示意圖。在該例子中,以 移動(dòng)銀行為例,有兩個(gè)復(fù)雜對(duì)象"人John"和"基金New Energy"。如圖5所示,復(fù)雜對(duì)象 "人John"具有屬性"姓名"、"出生日期"和"圖像"、方法"上傳圖像"、約束"可搜索性[姓 名]"和關(guān)系"關(guān)注基金New Energy"。復(fù)雜對(duì)象"基金New Energy"具有屬性"名稱(chēng)"、"價(jià) 格"和"投資回報(bào)率R0I"、方法"添加關(guān)注"、"投資回報(bào)率變化ROIChange,,、約束"可搜索性
[名稱(chēng)]"、"可關(guān)注性"、關(guān)系"關(guān)注者:人John"、條件-動(dòng)作"如果R0I變化,則調(diào)用方法 "ROIChange""。
[0070]如前所述,可以使用聲明性語(yǔ)言來(lái)建立復(fù)雜對(duì)象的對(duì)象模型。下面給出用于定義 上述的復(fù)雜對(duì)象"基金"的代碼的例子,其中,在屬性中定義了使用字符串型數(shù)據(jù)的"名稱(chēng)"、 使用雙精度型(doub 1 e )數(shù)據(jù)的"投資回報(bào)率R0I "、使用文本的"描述"、記錄關(guān)注了復(fù)雜對(duì) 象"基金"的其它復(fù)雜對(duì)象的"關(guān)注者"、使用視頻數(shù)據(jù)的"簡(jiǎn)報(bào)(briefing),,;在約束中定義 了針對(duì)屬性"名稱(chēng)"和"描述"的"可搜索性"、可標(biāo)簽性、可評(píng)論性和可關(guān)注性;此外,在條 件-動(dòng)作中定義了 "如果R0I超過(guò)25%且用戶(hù)在關(guān)注者中且用戶(hù)類(lèi)別是VIP,則通知用戶(hù)"。
[0071] Model DO FundDO(f //Attributes name: String, ROI: Double, description: Text, briefing: Video, followers: UserDO[], locations: LocationDO, //Constraints: social, location, tfansaeSicffi search-able: [name, deseoption], tag-able: yes, comment-able: yes, follow-able: yes, //Events, conditions and actions notifyROIChange: ECA(| event: ROIChanged, condition: "if ROI>25°/〇 AND User in. followers AND User.class.=='VIP'", action: User.notify(ROI), })
[0072] 因此,通過(guò)復(fù)雜對(duì)象"人John"和"基金New Energy"的對(duì)象模型,描述了人(用 戶(hù))John可登錄到移動(dòng)銀行的門(mén)戶(hù)網(wǎng)頁(yè),瀏覽基金并關(guān)注了基金New Energy。當(dāng)基金New Energy的投資回報(bào)率超過(guò)25%時(shí),人John可接收到通知。
[0073] 返回到圖4,在獲取了復(fù)雜對(duì)象的對(duì)象模型后,在步驟S410,分析在步驟S401中獲 取的對(duì)象模型,以確定所需的與對(duì)象模型相映射的至少一個(gè)數(shù)據(jù)存儲(chǔ)和表示用于訪(fǎng)問(wèn)復(fù)雜 對(duì)象的對(duì)象服務(wù)接口的至少一個(gè)數(shù)據(jù)服務(wù)。
[0074]圖6示出了分析步驟S410的示意性流程圖。如圖6所示,在步驟S601,從對(duì)象模 型中提取元數(shù)據(jù),元數(shù)據(jù)是描述對(duì)象模型的結(jié)構(gòu)的數(shù)據(jù)。這樣,可以獲得對(duì)象模型中作為元 數(shù)據(jù)的屬性的名稱(chēng)及其數(shù)據(jù)類(lèi)型以及約束。
[0075] 接著,在步驟S605,根據(jù)所提取的元數(shù)據(jù),建立對(duì)象模型的屬性到相應(yīng)的數(shù)據(jù)存儲(chǔ) 的映射。通過(guò)該映射,可以確定將要用于復(fù)雜對(duì)象的數(shù)據(jù)存儲(chǔ)。
[0076] 在該映射步驟中,首先,在步驟S6051,根據(jù)所提取的元數(shù)據(jù),確定屬性是結(jié)構(gòu)化數(shù) 據(jù)、半結(jié)構(gòu)化數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù)、空間數(shù)據(jù)和需檢索的文本數(shù)據(jù)中的任意一種。如上所述, 元數(shù)據(jù)中包含屬性的數(shù)據(jù)類(lèi)型,則可以根據(jù)數(shù)據(jù)類(lèi)型,確定屬性是結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù) 據(jù)、非結(jié)構(gòu)化數(shù)據(jù)、空間屬性數(shù)據(jù)和需檢索的文本數(shù)據(jù)中的哪一種。例如,整型數(shù)據(jù)、浮點(diǎn)型 數(shù)據(jù)、雙精度型數(shù)據(jù)、參考型數(shù)據(jù)等屬于結(jié)構(gòu)化數(shù)據(jù),XML數(shù)據(jù)、HTML文檔等屬于半結(jié)構(gòu)化 數(shù)據(jù),文本數(shù)據(jù)、音頻數(shù)據(jù)、視頻數(shù)據(jù)、圖像數(shù)據(jù)等屬于非結(jié)構(gòu)化數(shù)據(jù)。此外,當(dāng)復(fù)雜對(duì)象具 有"可定位性"約束時(shí),相應(yīng)的關(guān)于位置的屬性是空間數(shù)據(jù)。當(dāng)復(fù)雜對(duì)象的某個(gè)屬性具有"可 搜索性"約束時(shí),該屬性是需檢索的文本數(shù)據(jù)。
[0077] 然后,在確定屬性是結(jié)構(gòu)化數(shù)據(jù)的情況下,則在步驟S6052,響應(yīng)于屬性被確定為 是結(jié)構(gòu)化數(shù)據(jù),該屬性被映射到關(guān)系型數(shù)據(jù)庫(kù)。因此,關(guān)系型數(shù)據(jù)庫(kù),例如RDBMS數(shù)據(jù)庫(kù),成 為復(fù)雜對(duì)象的數(shù)據(jù)存儲(chǔ)之一。
[0078] 在確定屬性是半結(jié)構(gòu)化數(shù)據(jù)的情況下,則在步驟S6053,響應(yīng)于屬性被確定為是半 結(jié)構(gòu)化數(shù)據(jù),該屬性被映射到非關(guān)系型數(shù)據(jù)庫(kù)。因此,非關(guān)系型數(shù)據(jù)庫(kù),例如NoSQL數(shù)據(jù)庫(kù), 成為復(fù)雜對(duì)象的數(shù)據(jù)存儲(chǔ)之一。
[0079] 在確定屬性是非結(jié)構(gòu)化數(shù)據(jù)的情況下,則在步驟S6054,響應(yīng)于屬性被確定為是非 結(jié)構(gòu)化數(shù)據(jù),該屬性被映射到對(duì)象存儲(chǔ)系統(tǒng)。因此,對(duì)象存儲(chǔ)系統(tǒng)成為復(fù)雜對(duì)象的數(shù)據(jù)存儲(chǔ) 之一。
[0080] 在確定屬性是空間數(shù)據(jù)的情況下,則在步驟S6055,響應(yīng)于屬性被確定為是空間數(shù) 據(jù),該屬性被映射到空間數(shù)據(jù)庫(kù)。因此,空間數(shù)據(jù)庫(kù)成為復(fù)雜對(duì)象的數(shù)據(jù)存儲(chǔ)之一。
[0081] 在確定屬性是需檢索的文本數(shù)據(jù)的情況下,則在步驟S6056,響應(yīng)于屬性被確定為 是需檢索的文本數(shù)據(jù),該屬性被映射到索引數(shù)據(jù)庫(kù)系統(tǒng)。因此,索引數(shù)據(jù)庫(kù)系統(tǒng)成為復(fù)雜對(duì) 象的數(shù)據(jù)存儲(chǔ)之一。
[0082] 然后,在步驟S610,根據(jù)對(duì)象模型中的信息,確定至少一個(gè)對(duì)象服務(wù)接口,作為復(fù) 雜對(duì)象的數(shù)據(jù)服務(wù)。在一個(gè)實(shí)施例中,響應(yīng)于描述復(fù)雜對(duì)象的屬性的信息,確定用于添加、 刪除、修改和查詢(xún)屬性的接口。接著,響應(yīng)于描述復(fù)雜對(duì)象的方法的信息,確定用于暴露開(kāi) 放函數(shù)(public method)的接口。然后,響應(yīng)于描述復(fù)雜對(duì)象的約束的信息,確定用于添 力口、獲取和刪除約束的接口。例如,對(duì)于"可評(píng)論性"約束,可以確定諸如addComment ()、 getComraentsO、deleteComraentO的接口函數(shù);對(duì)于"可標(biāo)簽性"約束,可以確定諸如 addTagO、getTagO、deleteTagO 的接口 函數(shù)。
[0083] 返回到圖4,在步驟S420,根據(jù)通過(guò)步驟S410確定的所需的至少一個(gè)數(shù)據(jù)存儲(chǔ)和 至少一個(gè)數(shù)據(jù)服務(wù),在云環(huán)境中產(chǎn)生用于復(fù)雜對(duì)象的至少一個(gè)數(shù)據(jù)存儲(chǔ)和至少一個(gè)數(shù)據(jù)服 務(wù)。圖7示出了步驟S420的示意性流程圖。
[0084] 在一個(gè)實(shí)施例中,如圖7所示,首先,在步驟S701,根據(jù)所確定的所需的至少一個(gè) 數(shù)據(jù)存儲(chǔ),在云環(huán)境中選擇相應(yīng)的可用的數(shù)據(jù)存儲(chǔ)。通常,在云環(huán)境中注冊(cè)了所有被支持的 數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)服務(wù),并建立了數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)服務(wù)的目錄。這樣,可以根據(jù)目錄選擇與所 需的至少一個(gè)數(shù)據(jù)存儲(chǔ)響應(yīng)的可用的數(shù)據(jù)存儲(chǔ)。例如,如果所需的數(shù)據(jù)存儲(chǔ)是關(guān)系型數(shù)據(jù) 庫(kù)、非關(guān)系型數(shù)據(jù)庫(kù)、對(duì)象存儲(chǔ)系統(tǒng)、索引數(shù)據(jù)庫(kù)系統(tǒng),則在云環(huán)境中選擇可用的關(guān)系型數(shù) 據(jù)庫(kù)、非關(guān)系型數(shù)據(jù)庫(kù)、對(duì)象存儲(chǔ)系統(tǒng)、索引數(shù)據(jù)庫(kù)系統(tǒng),作為復(fù)雜對(duì)象的數(shù)據(jù)存儲(chǔ)。
[0085] 可選地,在選擇了可用的數(shù)據(jù)存儲(chǔ)后,可以在步驟S703,對(duì)所選擇的可用的數(shù)據(jù)存 儲(chǔ)中的至少一個(gè),執(zhí)行關(guān)于高可用性的優(yōu)化。通過(guò)高可用性的優(yōu)化,確保數(shù)據(jù)存儲(chǔ)的高度可 用性。在一個(gè)實(shí)施例中,可以對(duì)數(shù)據(jù)存儲(chǔ)建立多個(gè)備份數(shù)據(jù)存儲(chǔ),從而提高數(shù)據(jù)存儲(chǔ)的高可 用性。該實(shí)施例尤其適用于對(duì)象存儲(chǔ)系統(tǒng)。在另一個(gè)實(shí)施例中,對(duì)于MySQL數(shù)據(jù)庫(kù),可以使 用MySQL集群技術(shù)以提供高可用性。
[0086]接著,在步驟S7〇5,對(duì)于所選擇的可用的數(shù)據(jù)存儲(chǔ),生成各數(shù)據(jù)存儲(chǔ)的存儲(chǔ)結(jié)構(gòu)。 例如,對(duì)于SQL數(shù)據(jù)庫(kù),其存儲(chǔ)結(jié)構(gòu)包括數(shù)據(jù)庫(kù)連接、表名稱(chēng)。對(duì)于NoSOL數(shù)據(jù)庫(kù),其存儲(chǔ)結(jié) 構(gòu)包括連接信息和連接名稱(chēng)。對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),云環(huán)境中的各種類(lèi)型的數(shù) 據(jù)存儲(chǔ)的存儲(chǔ)結(jié)構(gòu)的生成是已知的,在此省略相應(yīng)的說(shuō)明。
[0087]然后,在步驟S710,根據(jù)所需的至少一個(gè)數(shù)據(jù)服務(wù),產(chǎn)生相應(yīng)的對(duì)象服務(wù)接口。如 前所述,對(duì)象服務(wù)接口可包括針對(duì)屬性的接口、針對(duì)方法的接口以及針對(duì)約束的接口。通過(guò) 所產(chǎn)生的對(duì)象服務(wù)接口,可以訪(fǎng)問(wèn)所產(chǎn)生的數(shù)據(jù)存儲(chǔ)以對(duì)所存儲(chǔ)的數(shù)據(jù)進(jìn)行操作。
[0088] 所產(chǎn)生的數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)服務(wù)可采用虛擬機(jī)的方式呈現(xiàn),從而對(duì)復(fù)雜對(duì)象產(chǎn)生具 有數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)服務(wù)的虛擬機(jī)結(jié)構(gòu)。圖8示出了這種虛擬機(jī)結(jié)構(gòu)的一個(gè)例子的示意圖。 在該例子中,如圖8所示,虛擬機(jī)VM1、VM2、VM3代表三種數(shù)據(jù)存儲(chǔ),虛擬機(jī)VMX表示數(shù)據(jù)服 務(wù),VM A和VM B代表對(duì)某種類(lèi)型的復(fù)雜對(duì)象提供的數(shù)據(jù)服務(wù)。對(duì)于不同的復(fù)雜對(duì)象,數(shù)據(jù) 服務(wù)可采用數(shù)據(jù)服務(wù)聯(lián)合的方式來(lái)提供。
[0089] 本領(lǐng)域的普通技術(shù)人員能夠理解,圖8僅僅是虛擬機(jī)結(jié)構(gòu)的一個(gè)例子的示意圖, 也可以采用其它的虛擬機(jī)結(jié)構(gòu)。例如,VM A和VM B上的數(shù)據(jù)服務(wù)可以位于同一個(gè)虛擬機(jī) 上。
[0090] 通過(guò)以上描述可以看出,本實(shí)施例的管理復(fù)雜對(duì)象的方法擴(kuò)展了用于交互式系統(tǒng) 應(yīng)用的復(fù)雜對(duì)象的對(duì)象模型,并且能夠簡(jiǎn)單且靈活地對(duì)復(fù)雜對(duì)象產(chǎn)生數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)服 務(wù)。
[0091] 圖9示出了根據(jù)本發(fā)明的另一個(gè)實(shí)施例的在云環(huán)境中管理復(fù)雜對(duì)象的方法的示 意性流程圖。下面結(jié)合附圖,對(duì)本實(shí)施例進(jìn)行詳細(xì)描述,其中,對(duì)于與前面實(shí)施例相同的部 分,付與相同的附圖標(biāo)記并適當(dāng)省略其說(shuō)明。
[0092] 圖9所示的實(shí)施例的方法在圖4所示的實(shí)施例的方法的基礎(chǔ)上,增加了在對(duì)象模 型發(fā)生變化時(shí)對(duì)數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)服務(wù)的更新的操作。
[0093] 如圖9所示,在步驟S901,監(jiān)控復(fù)雜對(duì)象的對(duì)象模型是否發(fā)生變化^在此,假定對(duì) 象模型的變化是與原對(duì)象模型兼容的。在本實(shí)施例中,對(duì)象模型的變化可包括:增加新的信 息(例如,描述新的屬性的信息、描述新的約束的信息等)、刪除當(dāng)前信息中的至少一個(gè)(例 如,刪除了描述某個(gè)屬性的信息)或者修改了當(dāng)前信息中的至少一個(gè)(例如,修改了某個(gè)屬 性的數(shù)據(jù)類(lèi)型等)。
[0094] 接著,在步驟S905,響應(yīng)于對(duì)象模型的變化,更新用于復(fù)雜對(duì)象的原數(shù)據(jù)存儲(chǔ)和原 數(shù)據(jù)服務(wù)。在一個(gè)實(shí)施例中,首先,在步驟S9051,分析變化后的對(duì)象模型,以確定所需的與 對(duì)象模型的變化變化相映射的數(shù)據(jù)存儲(chǔ)和新的數(shù)據(jù)服務(wù)。該分析步驟與前面所述的分析步 驟S410相同,在此省略其說(shuō)明。接著,在步驟S9052,根據(jù)在步驟S9051確定的所需的數(shù)據(jù) 存儲(chǔ),產(chǎn)生新的數(shù)據(jù)存儲(chǔ)。該產(chǎn)生步驟與前面所述的步驟S420相同,在此省略其說(shuō)明。然 后,在步驟S9053,將原數(shù)據(jù)存儲(chǔ)中與所產(chǎn)生的新的數(shù)據(jù)存儲(chǔ)是相同類(lèi)型的數(shù)據(jù)存儲(chǔ)中的數(shù) 據(jù)遷移到新的數(shù)據(jù)存儲(chǔ)中。例如,如果對(duì)象模型的變化導(dǎo)致增加了新的屬性(其數(shù)據(jù)類(lèi)型例 如是整型),則針對(duì)該變化將產(chǎn)生新的數(shù)據(jù)存儲(chǔ),例如,新的關(guān)系型數(shù)據(jù)庫(kù),然后,原數(shù)據(jù)存 儲(chǔ)中的關(guān)系型數(shù)據(jù)庫(kù)中的數(shù)據(jù)被遷移到新的關(guān)系型數(shù)據(jù)庫(kù)中。接著,在步驟S9054,將原數(shù) 據(jù)服務(wù)修改成新的數(shù)據(jù)服務(wù),即用新的數(shù)據(jù)服務(wù)替換原數(shù)據(jù)服務(wù),并在步驟S9055,移除原 數(shù)據(jù)存儲(chǔ)中的所存儲(chǔ)的數(shù)據(jù)被遷移的數(shù)據(jù)存儲(chǔ)和原數(shù)據(jù)服務(wù)。
[0095]通過(guò)以上描述可以看出,本實(shí)施例的管理復(fù)雜對(duì)象的方法能夠進(jìn)一步在復(fù)雜對(duì)象 的對(duì)象模型發(fā)生變化時(shí)自動(dòng)更新相應(yīng)的數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)服務(wù),而無(wú)需修改交互式系統(tǒng)應(yīng)用 的程序。
[0096] 在相同的發(fā)明構(gòu)思下,圖10示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的在云環(huán)境中管理 復(fù)雜對(duì)象的系統(tǒng)1000的示意性方框圖。下面結(jié)合附圖,對(duì)本實(shí)施例進(jìn)行詳細(xì)描述,其中對(duì) 于與前面實(shí)施例相同的部分,適當(dāng)省略其說(shuō)明。
[0097] 如圖10所示,本實(shí)施例的系統(tǒng)1000包括:獲取裝置1001,其獲取用于交互式系統(tǒng) 應(yīng)用的復(fù)雜對(duì)象的對(duì)象模型,其中對(duì)象模型至少包括描述復(fù)雜對(duì)象的約束、屬性和方法的 信息;分析裝置1002,其分析所獲取的對(duì)象模型,以確定所需的與對(duì)象模型相映射的至少 一個(gè)數(shù)據(jù)存儲(chǔ)和表示用于訪(fǎng)問(wèn)復(fù)雜對(duì)象的對(duì)象服務(wù)接口的至少一個(gè)數(shù)據(jù)服務(wù);以及產(chǎn)生裝 置1003,其根據(jù)所需的至少一個(gè)數(shù)據(jù)存儲(chǔ)和至少一個(gè)數(shù)據(jù)服務(wù),在云環(huán)境中產(chǎn)生用于復(fù)雜 對(duì)象的至少一個(gè)數(shù)據(jù)存儲(chǔ)和至少一個(gè)數(shù)據(jù)服務(wù)。
[0098] 可選地,復(fù)雜對(duì)象的對(duì)象模型還可包括描述復(fù)雜對(duì)象的關(guān)系和條件-動(dòng)作中的至 少一個(gè)的信息。
[0099] 在本實(shí)施例中,復(fù)雜對(duì)象的約束可包括屬性的可搜索性、復(fù)雜對(duì)象的可關(guān)注性、復(fù) 雜對(duì)象的可標(biāo)簽性、復(fù)雜對(duì)象的可評(píng)論性、復(fù)雜對(duì)象的可定位性中的至少一個(gè)。關(guān)于復(fù)雜對(duì) 象的約束,在前面已經(jīng)詳細(xì)描述過(guò),此處省略其說(shuō)明。
[0100] 在本實(shí)施例的系統(tǒng)1000中,在獲取裝置1001獲取了復(fù)雜對(duì)象的對(duì)象模型之后,分 析裝置1002對(duì)所獲取的對(duì)象模型進(jìn)行分析。
[0101] 在一個(gè)實(shí)施例中,在分析裝置1002中,提取模塊10021從對(duì)象模型中提取元數(shù)據(jù), 接著,映射建立模塊10022根據(jù)所提取的元數(shù)據(jù),建立對(duì)象模型中的屬性到相應(yīng)的數(shù)據(jù)存 儲(chǔ)的映射,并且確定模塊10023根據(jù)對(duì)象模型中的信息,確定至少一個(gè)對(duì)象服務(wù)接口。
[0102] 在一個(gè)實(shí)施例中,映射建立模塊10022可包括:確定單元,其為根據(jù)所提取的元數(shù) 據(jù),確定屬性是結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù)、空間屬性數(shù)據(jù)和需檢索的文本 數(shù)據(jù)中的任意一種;以及映射單元,其響應(yīng)于屬性被確定為是結(jié)構(gòu)化數(shù)據(jù),將屬性映射到關(guān) 系型數(shù)據(jù)庫(kù);響應(yīng)于屬性被確定為是半結(jié)構(gòu)化數(shù)據(jù),將屬性映射到非關(guān)系型數(shù)據(jù)庫(kù);響應(yīng) 于屬性被確定為是非結(jié)構(gòu)化數(shù)據(jù),將屬性映射到對(duì)象存儲(chǔ)系統(tǒng);響應(yīng)于屬性被確定為是空 間數(shù)據(jù),將屬性映射到空間數(shù)據(jù)庫(kù);以及響應(yīng)于屬性被確定為是需檢索的文本數(shù)據(jù),將屬性 映射到索引數(shù)據(jù)庫(kù)系統(tǒng)。
[0103] 在一個(gè)實(shí)施例中,確定模塊10023可被配置為響應(yīng)于描述復(fù)雜對(duì)象的屬性的信 息,確定用于添加、刪除、修改和查詢(xún)所述屬性的接口,響應(yīng)于描述復(fù)雜對(duì)象的方法的信息, 確定用于暴露開(kāi)放函數(shù)的接口,以及響應(yīng)于描述復(fù)雜對(duì)象的約束的信息,確定用于添加、獲 取和刪除所述約束的接口。
[0104] 然后,產(chǎn)生裝置1〇〇3根據(jù)通過(guò)分析裝置1002獲得的至少一個(gè)數(shù)據(jù)存儲(chǔ)和至少一 個(gè)數(shù)據(jù)服務(wù),產(chǎn)生用于復(fù)雜對(duì)象的至少一個(gè)數(shù)據(jù)存儲(chǔ)和至少一個(gè)數(shù)據(jù)服務(wù)。
[0105] 在一個(gè)實(shí)施例中,在產(chǎn)生裝置1003中,選擇模塊10031在云環(huán)境中選擇與所需的 至少一個(gè)數(shù)據(jù)存儲(chǔ)相應(yīng)的可用的數(shù)據(jù)存儲(chǔ),并且生成模塊10032對(duì)于所選擇的可用的數(shù)據(jù) 存儲(chǔ),生成各自的存儲(chǔ)結(jié)構(gòu),然后,產(chǎn)生模塊10033根據(jù)所需的至少一個(gè)數(shù)據(jù)服務(wù),產(chǎn)生相 應(yīng)的對(duì)象服務(wù)接口。
[0106] 可選地,產(chǎn)生裝置1003還可包括優(yōu)化模塊,其對(duì)所選擇的可用的數(shù)據(jù)存儲(chǔ)中的至 少一個(gè),執(zhí)行關(guān)于高可用性的優(yōu)化。
[0107] 應(yīng)當(dāng)注意,本實(shí)施例的系統(tǒng)1000能夠在操作上實(shí)現(xiàn)圖4、圖6和圖7所示的在云環(huán) 境中管理復(fù)雜對(duì)象的方法。
[0108] 圖11示出了根據(jù)本發(fā)明的另一個(gè)實(shí)施例的在云環(huán)境中管理復(fù)雜對(duì)象的系統(tǒng)1100 的示意性方框圖。下面結(jié)合附圖,對(duì)本實(shí)施例進(jìn)行詳細(xì)描述,其中對(duì)于與前面實(shí)施例相同的 部分,付與相同的附圖標(biāo)記并適當(dāng)省略其說(shuō)明。
[0109]圖11所示的系統(tǒng)1100在圖10所示的系統(tǒng)1000的基礎(chǔ)上,增加了監(jiān)控裝置 1101 和更新裝置1102,其中,監(jiān)控裝置1101監(jiān)控對(duì)象模型是否發(fā)生變化,更新裝置11〇2響應(yīng)于 對(duì)象模型的變化,更新用于復(fù)雜對(duì)象的至少一個(gè)數(shù)據(jù)存儲(chǔ)和至少一個(gè)數(shù)據(jù)服務(wù)。
[0110]在一個(gè)實(shí)施例中,監(jiān)控裝置11〇1被配置為監(jiān)控對(duì)象模型是否被增加了新的信息、 刪除了原信息中的至少一個(gè)或者修改了原信息中的至少一個(gè)。
[0111] 在一個(gè)實(shí)施例中,當(dāng)對(duì)象模型發(fā)生了變化時(shí),分析裝置1002進(jìn)一步分析變化后的 對(duì)象模型,以確定所需的與變化相映射的數(shù)據(jù)存儲(chǔ)和新的至少一個(gè)數(shù)據(jù)服務(wù),然后,產(chǎn)生裝 置1003進(jìn)一步根據(jù)所需的數(shù)據(jù)存儲(chǔ),產(chǎn)生新的數(shù)據(jù)存儲(chǔ)。接著,更新裝置11〇2中的遷移模 塊11021將原數(shù)據(jù)存儲(chǔ)中與新的數(shù)據(jù)存儲(chǔ)是相同類(lèi)型的數(shù)據(jù)存儲(chǔ)中的數(shù)據(jù)遷移到新的數(shù) 據(jù)存儲(chǔ)中,并且修改模塊11022將原數(shù)據(jù)服務(wù)修改成新的數(shù)據(jù)服務(wù),然后移除模塊11〇23移 除原數(shù)據(jù)存儲(chǔ)中所存儲(chǔ)的數(shù)據(jù)被遷移的數(shù)據(jù)存儲(chǔ)和原數(shù)據(jù)服務(wù)。
[0112] 應(yīng)當(dāng)注意,本實(shí)施例的系統(tǒng)1100能夠在操作上實(shí)現(xiàn)圖9所示的在云環(huán)境中管理復(fù) 雜對(duì)象的方法。
[0113] 附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個(gè)實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程 序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以 代表一個(gè)模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個(gè)或多個(gè) 用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所 標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)連續(xù)的方框?qū)嶋H上可以 基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的 是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行 規(guī)定的功能或動(dòng)作的專(zhuān)用的基于硬件的系統(tǒng)來(lái)實(shí)現(xiàn),或者可以用專(zhuān)用硬件與計(jì)算機(jī)指令的 組合來(lái)實(shí)現(xiàn)。
[0114] 以上已經(jīng)描述了本發(fā)明的各實(shí)施例,上述說(shuō)明是示例性的,并非窮盡性的,并且也 不限于所披露的各實(shí)施例。在不偏離所說(shuō)明的各實(shí)施例的范圍和精神的情況下,對(duì)于本技 術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō)許多修改和變更都是顯而易見(jiàn)的。本文中所用術(shù)語(yǔ)的選擇,旨 在最好地解釋各實(shí)施例的原理、實(shí)際應(yīng)用或?qū)κ袌?chǎng)中的技術(shù)的技術(shù)改進(jìn),或者使本技術(shù)領(lǐng) 域的其它普通技術(shù)人員能理解本文披露的各實(shí)施例。
【權(quán)利要求】
1. 一種在云環(huán)境中管理復(fù)雜對(duì)象的方法,包括: 獲取所述復(fù)雜對(duì)象的對(duì)象模型,所述對(duì)象模型至少包括描述所述復(fù)雜對(duì)象的約束、屬 性和方法的信息; 分析所述對(duì)象模型,以確定所需的與所述對(duì)象模型相映射的至少一個(gè)數(shù)據(jù)存儲(chǔ)和表示 用于訪(fǎng)問(wèn)所述復(fù)雜對(duì)象的對(duì)象服務(wù)接口的至少一個(gè)數(shù)據(jù)服務(wù);以及 根據(jù)所需的至少一個(gè)數(shù)據(jù)存儲(chǔ)和至少一個(gè)數(shù)據(jù)服務(wù),在所述云環(huán)境中產(chǎn)生用于所述復(fù) 雜對(duì)象的至少一個(gè)數(shù)據(jù)存儲(chǔ)和至少一個(gè)數(shù)據(jù)服務(wù)。
2. 根據(jù)權(quán)利要求1所述的方法,其中,所述約束包括以下的至少一個(gè):所述屬性的可搜 索性、所述復(fù)雜對(duì)象的可關(guān)注性、所述復(fù)雜對(duì)象的可標(biāo)簽性、所述復(fù)雜對(duì)象的可評(píng)論性、所 述復(fù)雜對(duì)象的可定位性。
3. 根據(jù)權(quán)利要求1所述的方法,其中,所述對(duì)象模型還包括描述所述復(fù)雜對(duì)象的關(guān)系 和條件-動(dòng)作中的至少一個(gè)的信息。
4. 根據(jù)權(quán)利要求1至3任意一項(xiàng)所述的方法,其中,分析所述對(duì)象模型,以確定所需的 與所述對(duì)象模型相映射的至少一個(gè)數(shù)據(jù)存儲(chǔ)和表示用于訪(fǎng)問(wèn)所述復(fù)雜對(duì)象的對(duì)象服務(wù)接 口的至少一個(gè)數(shù)據(jù)服務(wù)包括: 從所述對(duì)象模型中提取元數(shù)據(jù); 根據(jù)所提取的元數(shù)據(jù),建立所述屬性到相應(yīng)的數(shù)據(jù)存儲(chǔ)的映射;以及 根據(jù)所述信息,確定至少一個(gè)所述對(duì)象服務(wù)接口。
5. 根據(jù)權(quán)利要求4所述的方法,其中,根據(jù)所提取的元數(shù)據(jù),建立所述屬性到相應(yīng)的數(shù) 據(jù)存儲(chǔ)的映射包括: 根據(jù)所提取的元數(shù)據(jù),確定所述屬性是結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù)、空 間數(shù)據(jù)和需檢索的文本數(shù)據(jù)中的任意一種; 響應(yīng)于所述屬性被確定為是結(jié)構(gòu)化數(shù)據(jù),將所述屬性映射到關(guān)系型數(shù)據(jù)庫(kù); 響應(yīng)于所述屬性被確定為是半結(jié)構(gòu)化數(shù)據(jù),將所述屬性映射到非關(guān)系型數(shù)據(jù)庫(kù); 響應(yīng)于所述屬性被確定為是非結(jié)構(gòu)化數(shù)據(jù),將所述屬性映射到對(duì)象存儲(chǔ)系統(tǒng); 響應(yīng)于所述屬性被確定為是空間數(shù)據(jù),將所述屬性映射到空間數(shù)據(jù)庫(kù);以及 響應(yīng)于所述屬性被確定為是需檢索的文本數(shù)據(jù),將所述屬性映射到索引數(shù)據(jù)庫(kù)系統(tǒng)。
6. 根據(jù)權(quán)利要求4所述的方法,其中,根據(jù)所述信息,確定至少一個(gè)所述對(duì)象服務(wù)接口 包括: 響應(yīng)于描述所述復(fù)雜對(duì)象的屬性的信息,確定用于添加、刪除、修改和查詢(xún)所述屬性的 接口; 響應(yīng)于描述所述復(fù)雜對(duì)象的方法的信息,確定用于暴露開(kāi)放函數(shù)的接口;以及 響應(yīng)于描述所述復(fù)雜對(duì)象的約束的信息,確定用于添加、獲取和刪除所述約束的接口。
7. 根據(jù)權(quán)利要求1至3任意一項(xiàng)所述的方法,其中,根據(jù)所需的至少一個(gè)數(shù)據(jù)存儲(chǔ)和至 少一個(gè)數(shù)據(jù)服務(wù),在所述云環(huán)境中產(chǎn)生用于所述復(fù)雜對(duì)象的至少一個(gè)數(shù)據(jù)存儲(chǔ)和至少一個(gè) 數(shù)據(jù)服務(wù)包括: 在所述云環(huán)境中選擇與所需的至少一個(gè)數(shù)據(jù)存儲(chǔ)相應(yīng)的可用的數(shù)據(jù)存儲(chǔ); 對(duì)于所選擇的可用的數(shù)據(jù)存儲(chǔ),生成各自的存儲(chǔ)結(jié)構(gòu);以及 根據(jù)所需的至少一個(gè)數(shù)據(jù)服務(wù),產(chǎn)生相應(yīng)的對(duì)象服務(wù)接口。
8. 根據(jù)權(quán)利要求7所述的方法,根據(jù)所需的至少一個(gè)數(shù)據(jù)存儲(chǔ)和至少一個(gè)數(shù)據(jù)服務(wù), 在所述云環(huán)境中產(chǎn)生用于所述復(fù)雜對(duì)象的至少一個(gè)數(shù)據(jù)存儲(chǔ)和至少一個(gè)數(shù)據(jù)服務(wù)還包 括: 對(duì)所選擇的可用的數(shù)據(jù)存儲(chǔ)中的至少一個(gè),執(zhí)行關(guān)于高可用性的優(yōu)化。
9. 根據(jù)權(quán)利要求1至3任意一項(xiàng)所述的方法,還包括: 監(jiān)控所述對(duì)象模型是否發(fā)生變化;以及 響應(yīng)于所述對(duì)象模型的變化,更新用于所述復(fù)雜對(duì)象的所述至少一個(gè)數(shù)據(jù)存儲(chǔ)和所述 至少一個(gè)數(shù)據(jù)服務(wù)。
10. 根據(jù)權(quán)利要求9所述的方法,其中,監(jiān)控所述對(duì)象模型是否發(fā)生變化包括: 監(jiān)控所述對(duì)象模型是否被增加了新的所述信息、刪除了所述信息中的至少一個(gè)或者修 改了所述信息中的至少一個(gè)。
11. 根據(jù)權(quán)利要求9所述的方法,其中,響應(yīng)于所述對(duì)象模型的變化,更新用于所述復(fù) 雜對(duì)象的所述至少一個(gè)數(shù)據(jù)存儲(chǔ)和所述至少一個(gè)數(shù)據(jù)服務(wù)包括: 分析變化后的對(duì)象模型,以確定所需的與所述變化相映射的數(shù)據(jù)存儲(chǔ)和新的至少一個(gè) 數(shù)據(jù)服務(wù); 根據(jù)所需的數(shù)據(jù)存儲(chǔ),產(chǎn)生新的數(shù)據(jù)存儲(chǔ); 將所述至少一個(gè)數(shù)據(jù)存儲(chǔ)中與所述新的數(shù)據(jù)存儲(chǔ)相同類(lèi)型的數(shù)據(jù)存儲(chǔ)中的數(shù)據(jù)遷移 到所述新的數(shù)據(jù)存儲(chǔ)中; 將所述至少一個(gè)數(shù)據(jù)服務(wù)修改成所述新的至少一個(gè)數(shù)據(jù)服務(wù);以及 移除所存儲(chǔ)的數(shù)據(jù)被遷移的數(shù)據(jù)存儲(chǔ)和所述至少一個(gè)數(shù)據(jù)服務(wù)。
12. -種在云環(huán)境中管理復(fù)雜對(duì)象的系統(tǒng),包括: 獲取裝置,其被配置為獲取所述復(fù)雜對(duì)象的對(duì)象模型,所述對(duì)象模型至少包括描述所 述復(fù)雜對(duì)象的約束、屬性和方法的信息; 分析裝置,其被配置為分析所述對(duì)象模型,以確定所需的與所述對(duì)象模型相映射的至 少一個(gè)數(shù)據(jù)存儲(chǔ)和表示用于訪(fǎng)問(wèn)所述復(fù)雜對(duì)象的對(duì)象服務(wù)接口的至少一個(gè)數(shù)據(jù)服務(wù);以及 產(chǎn)生裝置,其被配置為根據(jù)所需的至少一個(gè)數(shù)據(jù)存儲(chǔ)和至少一個(gè)數(shù)據(jù)服務(wù),在所述云 環(huán)境中產(chǎn)生用于所述復(fù)雜對(duì)象的至少一個(gè)數(shù)據(jù)存儲(chǔ)和至少一個(gè)數(shù)據(jù)服務(wù)。
13. 根據(jù)權(quán)利要求12所述的系統(tǒng),其中,所述約束包括以下的至少一個(gè):所述屬性的可 搜索性、所述復(fù)雜對(duì)象的可關(guān)注性、所述復(fù)雜對(duì)象的可標(biāo)簽性、所述復(fù)雜對(duì)象的可評(píng)論性、 所述復(fù)雜對(duì)象的可定位性。
14. 根據(jù)權(quán)利要求12所述的系統(tǒng),其中,所述對(duì)象模型還包括描述所述復(fù)雜對(duì)象的關(guān) 系和條件-動(dòng)作中的至少一個(gè)的信息。
15. 根據(jù)權(quán)利要求12至14任意一項(xiàng)所述的系統(tǒng),其中,所述分析裝置包括: 提取模塊,其被配置為從所述對(duì)象模型中提取元數(shù)據(jù); 映射建立模塊,其被配置為根據(jù)所提取的元數(shù)據(jù),建立所述屬性到相應(yīng)的數(shù)據(jù)存儲(chǔ)的 映射;以及 確定模塊,其被配置為根據(jù)所述信息,確定至少一個(gè)所述對(duì)象服務(wù)接口。
16. 根據(jù)權(quán)利要求15所述的系統(tǒng),其中,所述映射建立模塊包括: 確定單元,其被配置為根據(jù)所提取的元數(shù)據(jù),確定所述屬性是結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù) 據(jù)、非結(jié)構(gòu)化數(shù)據(jù)、空間屬性數(shù)據(jù)和需檢索的文本數(shù)據(jù)中的任意一種;以及 映射單元,其被配置為響應(yīng)于所述屬性被確定為是結(jié)構(gòu)化數(shù)據(jù),將所述屬性映射到關(guān) 系型數(shù)據(jù)庫(kù);響應(yīng)于所述屬性被確定為是半結(jié)構(gòu)化數(shù)據(jù),將所述屬性映射到非關(guān)系型數(shù)據(jù) 庫(kù);響應(yīng)于所述屬性被確定為是非結(jié)構(gòu)化數(shù)據(jù),將所述屬性映射到對(duì)象存儲(chǔ)系統(tǒng);響應(yīng)于 所述屬性被確定為是空間數(shù)據(jù),將所述屬性映射到空間數(shù)據(jù)庫(kù);以及響應(yīng)于所述屬性被確 定為是需檢索的文本數(shù)據(jù),將所述屬性映射到索引數(shù)據(jù)庫(kù)系統(tǒng)。
17. 根據(jù)權(quán)利要求15所述的系統(tǒng),其中,所述確定模塊被配置為響應(yīng)于描述所述復(fù)雜 對(duì)象的屬性的信息,確定用于添加、刪除、修改和查詢(xún)所述屬性的接口,響應(yīng)于描述所述復(fù) 雜對(duì)象的方法的信息,確定用于暴露開(kāi)放函數(shù)的接口,以及響應(yīng)于描述所述復(fù)雜對(duì)象的約 束的信息,確定用于添加、獲取和刪除所述約束的接口。
18. 根據(jù)權(quán)利要求12至14任意一項(xiàng)所述的系統(tǒng),其中,所述產(chǎn)生裝置包括: 選擇模塊,其被配置為在所述云環(huán)境中選擇與所需的至少一個(gè)數(shù)據(jù)存儲(chǔ)相應(yīng)的可用的 數(shù)據(jù)存儲(chǔ); 生成模塊,其被配置為對(duì)于所選擇的可用的數(shù)據(jù)存儲(chǔ),生成各自的存儲(chǔ)結(jié)構(gòu);以及 產(chǎn)生模塊,其被配置為根據(jù)所需的至少一個(gè)數(shù)據(jù)服務(wù),產(chǎn)生相應(yīng)的對(duì)象服務(wù)接口。
19. 根據(jù)權(quán)利要求18所述的系統(tǒng),其中,所述產(chǎn)生裝置還包括: 優(yōu)化模塊,其被配置為對(duì)所選擇的可用的數(shù)據(jù)存儲(chǔ)中的至少一個(gè),執(zhí)行關(guān)于高可用性 的優(yōu)化。
20. 根據(jù)權(quán)利要求12至14任意一項(xiàng)所述的系統(tǒng),還包括: 監(jiān)控裝置,其被配置為監(jiān)控所述對(duì)象模型是否發(fā)生變化;以及 更新裝置,其被配置為響應(yīng)于所述對(duì)象模型的變化,更新用于所述復(fù)雜對(duì)象的至少一 個(gè)數(shù)據(jù)存儲(chǔ)和至少一個(gè)數(shù)據(jù)服務(wù)。
21. 根據(jù)權(quán)利要求20所述的系統(tǒng),其中,所述監(jiān)控裝置被配置為監(jiān)控所述對(duì)象模型是 否被增加了新的所述信息、刪除了所述信息中的至少一個(gè)或者修改了所述信息中的至少一 個(gè)。
22. 根據(jù)權(quán)利要求20所述的系統(tǒng),其中,所述分析裝置進(jìn)一步被配置為分析變化后的 對(duì)象模型,以確定所需的與所述變化相映射的數(shù)據(jù)存儲(chǔ)和新的至少一個(gè)數(shù)據(jù)服務(wù),所述產(chǎn) 生裝置進(jìn)一步被配置為根據(jù)所需的數(shù)據(jù)存儲(chǔ),產(chǎn)生新的數(shù)據(jù)存儲(chǔ); 所述更新裝置包括: 遷移模塊,其被配置為將所述至少一個(gè)數(shù)據(jù)存儲(chǔ)中與所述新的數(shù)據(jù)存儲(chǔ)相同類(lèi)型的數(shù) 據(jù)存儲(chǔ)中的數(shù)據(jù)遷移到所述新的數(shù)據(jù)存儲(chǔ)中; 修改模塊,其被配置為將所述至少一個(gè)數(shù)據(jù)服務(wù)修改成所述新的至少一個(gè)數(shù)據(jù)服務(wù); 以及 移除模塊,其被配置為移除所存儲(chǔ)的數(shù)據(jù)被遷移的數(shù)據(jù)存儲(chǔ)和所述至少一個(gè)數(shù)據(jù)服 務(wù)。
【文檔編號(hào)】G06F9/44GK104252345SQ201310261714
【公開(kāi)日】2014年12月31日 申請(qǐng)日期:2013年6月27日 優(yōu)先權(quán)日:2013年6月27日
【發(fā)明者】郭迎春, 毛新生, 楊博, 陳麗如, 張華
申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司