李憲英 戰(zhàn)德臣 聶蘭順
摘要:BIRIS-Cloud服務(wù)平臺(tái)是一個(gè)第四方的服務(wù)平臺(tái),上面有著大量的第三方,將這些第三方稱之為服務(wù)中心。每個(gè)服務(wù)中心下都有來(lái)自不同提供者的大量的異構(gòu)資源,對(duì)不同種類的資源以一種統(tǒng)一的方式進(jìn)行管理,能夠提高資源的利用率,有助于資源的優(yōu)化調(diào)度。先是對(duì)資源管理的問(wèn)題進(jìn)行描述,建立起資源型的概念,在資源型和資源的通型表示的基礎(chǔ)之上提出資源模型,即資源管理框架,該框架能夠把不同種類的資源以一種統(tǒng)一的方式進(jìn)行瀏覽、查詢和管理,最后對(duì)資源管理框架進(jìn)行形式化定義,提出了基于XML的資源管理框架解析引擎。
關(guān)鍵詞:資源管理; 資源型; 資源模型; 資源管理框架
中圖分類號(hào):TP39 文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):2095-2163(2013)06-0025-05
0引言
隨著服務(wù)業(yè)發(fā)展的日趨成熟,已有更多的資源提供者和客戶參與到服務(wù)中來(lái)。云計(jì)算描述了一種基于互聯(lián)網(wǎng)的IT服務(wù)增加、使用和交付的嶄新模式[1]。BIRIS-Cloud服務(wù)平臺(tái)是建立在面向雙邊資源整合的服務(wù)模式(BIRIS)[2]基礎(chǔ)之上的云服務(wù)平臺(tái),是一個(gè)第四方的服務(wù)平臺(tái),在其上集聚著大量的服務(wù)中心,每個(gè)服務(wù)中心擁有大量的客戶和資源提供者,資源提供者能夠提供大量的不同種類的資源接入到服務(wù)中心,這里的資源并不僅僅只是具有物理實(shí)體的資源,還包括提供諸如Web Service等類似的軟構(gòu)件資源。資源管理問(wèn)題并非新設(shè)問(wèn)題,無(wú)論在任何領(lǐng)域,若要發(fā)揮資源作用的最大化,資源管理即必不可少。云計(jì)算在近年來(lái)發(fā)展迅速,很多傳統(tǒng)項(xiàng)目都在結(jié)合云計(jì)算的優(yōu)點(diǎn)進(jìn)行轉(zhuǎn)型,因此云環(huán)境下的資源管理也相應(yīng)地成為近來(lái)研究的熱點(diǎn)和焦點(diǎn)。立體化教學(xué)資源模型構(gòu)建[3]主要是針對(duì)教學(xué)資源的管理;文獻(xiàn)[4]提出了一種基于RDF[5]的資源形式化方法;OWL(Web Ontology Language)是W3C開(kāi)發(fā)的一種網(wǎng)絡(luò)本體語(yǔ)言,用于對(duì)本體進(jìn)行語(yǔ)義描述[6],文獻(xiàn)[7]在OWL語(yǔ)言的基礎(chǔ)之上,構(gòu)建了面向制造功能描述的資源信息模型[7]。文獻(xiàn)[8]則提出了一種資源的元模型,然后形成了對(duì)制造資源管理的統(tǒng)一框架[8]。
在資源管理的相關(guān)研究中,一方面,每個(gè)服務(wù)中心都會(huì)擁有大量不同類型的資源,另一方面還需要針對(duì)異構(gòu)資源能夠以一種統(tǒng)一的方式來(lái)進(jìn)行描述?;谌缟蟽蓚€(gè)方面,本文提出了一套資源管理框架,該資源管理框架能夠針對(duì)不同服務(wù)中心下的不同類型的資源在資源管理框架中以一種統(tǒng)一的形式來(lái)對(duì)資源進(jìn)行瀏覽和查詢。另外,研究可知,XML語(yǔ)言具有跨平臺(tái)性、自描述性、靈活性等特征,因此本文采用XML Schema來(lái)對(duì)資源管理框架進(jìn)行了形式化定義,并提出了基于XML的資源管理框架解析引擎。
1資源管理問(wèn)題描述
本文主要研究的是資源管理,圖1是對(duì)資源管理問(wèn)題的一個(gè)描述。圖中的服務(wù)中心代表BIRIS-Cloud服務(wù)平臺(tái)上大量的服務(wù)中心,每個(gè)服務(wù)中心都擁有大量的不同種類的資源,而由于不同種類的資源特征是不同的,所以對(duì)其的描述屬性也是不同的,反映在系統(tǒng)中就是不同種類的資源將使用不同的數(shù)據(jù)表來(lái)進(jìn)行存儲(chǔ),如何能夠?qū)⑦@些不同種類的資源使用一種統(tǒng)一的方式進(jìn)行管理,即是本文即將著重解決的主要問(wèn)題。
由圖1可以看出,要想實(shí)現(xiàn)資源以統(tǒng)一方式進(jìn)行瀏覽和管理,主要存在以下幾個(gè)問(wèn)題:
(1)每個(gè)服務(wù)中心下的不同的種類的資源使用不同數(shù)據(jù)表來(lái)進(jìn)行存儲(chǔ);
(2)不同服務(wù)中心下的相同種類的資源的描述屬性可能也是不同的;
(3)要想使用一種統(tǒng)一的方式進(jìn)行表示,如何確定資源統(tǒng)一表示方式的屬性組;
(4)如何在資源統(tǒng)一表示方法中區(qū)分主鍵相同而類別不同的資源;
(5)如何檢測(cè)到資源的數(shù)據(jù)表中的變化,完成資源統(tǒng)一表示的數(shù)據(jù)表的同步。
2資源管理問(wèn)題建模
2.1資源型的定義
一方面,不同類型的資源,所能提供的服務(wù)是不同的,其描述的屬性也是不同的,因此相應(yīng)的數(shù)據(jù)表也分別是不同的;另一方面,同一種類型的資源的所有的信息可能是由多個(gè)數(shù)據(jù)表聯(lián)合得到的,因此一種類型的資源的集合可以使用以下形式來(lái)表示:
Resource:=
其中,Resource表示某種類型的資源集合,T1、T2、Tn分別表示與該資源類別相關(guān)的數(shù)據(jù)表,
資源型是對(duì)某一類別資源的描述屬性的定義,可用來(lái)描述和刻畫(huà)某一種類型的資源的描述屬性特點(diǎn),說(shuō)明某種類型的資源所具有的描述屬性和特征,且主要強(qiáng)調(diào)的是該類型的資源在系統(tǒng)中所需要描述的特征。在此使用以下關(guān)系式來(lái)對(duì)資源型ResourceType進(jìn)行定義:
ResourceType:=
ResTypeID:資源型的唯一標(biāo)識(shí),用來(lái)區(qū)分不同的資源型;
TableCount:用來(lái)說(shuō)明與此資源型相關(guān)的數(shù)據(jù)表的個(gè)數(shù);
Status:用來(lái)說(shuō)明資源型的使用狀態(tài),標(biāo)識(shí)資源型是否可用;
TableName:用來(lái)說(shuō)明資源型對(duì)應(yīng)的數(shù)據(jù)表的名稱;
TableCate:用來(lái)說(shuō)明資源型對(duì)應(yīng)的數(shù)據(jù)表的類別;
AttrCount:說(shuō)明一個(gè)數(shù)據(jù)表中的描述屬性的個(gè)數(shù);
AttrName:說(shuō)明一個(gè)數(shù)據(jù)表中的某一個(gè)描述屬性的名稱;
AttrType:說(shuō)明一個(gè)數(shù)據(jù)表中的某一個(gè)描述屬性的值的類別。
因?yàn)橘Y源型的定義中,資源型對(duì)應(yīng)的數(shù)據(jù)表是采用集合的形式進(jìn)行定義的,對(duì)于每個(gè)數(shù)據(jù)表的屬性定義也是采用集合的形式進(jìn)行和完成的,這樣可知資源型是可擴(kuò)展的。所以,當(dāng)有新的不同類型的資源需要注冊(cè)到系統(tǒng)中時(shí),可以通過(guò)資源型對(duì)該類別的資源進(jìn)行刻畫(huà)和描述,由此可將不同類別的資源接入到BIRIS-Cloud服務(wù)平臺(tái),使得BIRIS-Cloud服務(wù)平臺(tái)能夠識(shí)別該資源。
2.2資源的專型表示和通型表示
文中將這種使用資源型定義的屬性組來(lái)描述資源的方式稱為資源的專型表示。該種表示方法與資源型直接相關(guān),若資源型不同,則資源的專型表示也就不同。
資源的通型表示則是對(duì)所有資源的一種統(tǒng)一的表示方式,即與資源型無(wú)關(guān)的一種表示方法,也就是對(duì)于任意的一種資源都可使用相同的屬性組進(jìn)行描述和刻畫(huà)。資源的通型表示與資源的專型表示是相對(duì)的,也是一一對(duì)應(yīng)的。在這里,使用以下關(guān)系式來(lái)對(duì)資源的通型表示的屬性組ResourceGeneral來(lái)進(jìn)行描述:
ResourceGeneral:=
ResID:資源的通型表示中對(duì)資源的編號(hào),能夠唯一地標(biāo)識(shí)一個(gè)資源;
ProID:資源提供者的編號(hào),能夠唯一地標(biāo)識(shí)一個(gè)資源的提供者;
ResTypeID:資源型ID,即上一小節(jié)定義的能夠唯一標(biāo)識(shí)資源型的編號(hào);
ResTypePKValue:資源專型表示方式中的資源的物理主鍵的值,通過(guò)該值與資源型ID就可以對(duì)不同類型的資源,但是資源主鍵一樣的情況加以明確區(qū)分;
ResCate:資源的類別標(biāo)識(shí),因?yàn)橥环N類型的資源也會(huì)有很多,同一種類型的資源所能提供的服務(wù)也是有區(qū)別的,因此這個(gè)標(biāo)識(shí)說(shuō)明對(duì)資源型的一個(gè)分類;
{GeneralAtt}:資源的通型表示的屬性的集合,可擴(kuò)展的,能夠適應(yīng)服務(wù)系統(tǒng)的發(fā)展和變化情況。
2.3資源模型
因?yàn)橘Y源型的描述屬性是未知的,尤其是當(dāng)有新的資源類別注冊(cè)到系統(tǒng)中時(shí),為了能夠完成資源數(shù)據(jù)由資源專型數(shù)據(jù)表到資源通型信息表的實(shí)時(shí)同步,就需要記錄每種資源型的描述屬性與資源通型表中的屬性映射關(guān)系。根據(jù)這種映射關(guān)系,可以形成該資源型對(duì)應(yīng)的視圖,如圖2中的DishTypeView,該視圖中的屬性都是資源的通型信息表中的屬性之一,視圖中的值則來(lái)源于資源型信息表。因此,一個(gè)資源型與資源通型表示方法中的屬性的映射關(guān)系可以使用如下關(guān)系表達(dá)式進(jìn)行描述:
Mapping:={
RestypeID:資源型的唯一標(biāo)識(shí),能夠唯一地區(qū)分不同的資源型;
TableName:資源型對(duì)應(yīng)的數(shù)據(jù)表名稱;
SubAttr:資源型的屬性名稱;
GeneralAttr:資源通型表示中的屬性名稱。
因?yàn)橐粋€(gè)服務(wù)中心下會(huì)含有大量的不同種類的資源,因此一個(gè)服務(wù)中心下就會(huì)存在著多個(gè)資源型與之相對(duì)應(yīng),而每種資源型的專型表示與資源的通型表示也都會(huì)存在著大量的上述映射關(guān)系Mapping。為了能夠更好地管理這種映射關(guān)系,此處又提出了 “資源模型”的概念來(lái)進(jìn)行管理。
如圖3所示,資源模型是一套資源描述框架。一個(gè)資源模型則包含且僅包含一個(gè)資源的通型表示的數(shù)據(jù)表。一個(gè)資源模型可以包含若干個(gè)資源型的資源,一個(gè)資源型有多個(gè)數(shù)據(jù)表與之相關(guān),因此也就包含每個(gè)資源型相關(guān)的所有的數(shù)據(jù)表。這里資源的分類,指的是對(duì)資源型內(nèi)部進(jìn)行一個(gè)組織分類,由于資源的分類問(wèn)題不是本文關(guān)注的重點(diǎn),不需在這里進(jìn)行贅述。同時(shí),同一資源型對(duì)于不同的客戶可能展現(xiàn)的信息也是不同的,所以存在資源型與瀏覽方式綁定。
3資源管理框架解析引擎
3.1資源模型的形式化定義
在圖3中,可以看出一個(gè)資源模型應(yīng)該包括以下幾個(gè)部分:
(1)資源模型自身的一些基本信息以及資源模型的通型表示的數(shù)據(jù)表的定義;
(2)資源模型所包含的資源型;
(3)每個(gè)資源型的詳細(xì)定義,包括資源型對(duì)應(yīng)的數(shù)據(jù)表,每個(gè)數(shù)據(jù)表的屬性構(gòu)成以及該屬性與資源通型表示的數(shù)據(jù)表中的那個(gè)屬性構(gòu)成映射關(guān)系;
(4)資源型的分類體系,針對(duì)該資源型進(jìn)行了何種的組織和分類;
(5)資源型的瀏覽方式綁定,因?yàn)椴煌馁Y源型可以使用不同的瀏覽方式去進(jìn)行展示,也可以根據(jù)需要,針對(duì)不同的客戶展現(xiàn)方式的不同酌情展示,因此有必要綁定資源型與瀏覽方式。
資源模型是建立在資源型的基礎(chǔ)之上,資源模型管理的是多個(gè)資源型的專型表示與資源的通型表示的映射關(guān)系,因此這里將給出資源模型定義的部分規(guī)則。ResourceModel是整個(gè)文件的根元素,說(shuō)明了定義一個(gè)資源模型應(yīng)該包含的各個(gè)組成部分,其下有五個(gè)子元素分別與上面的五大部分相對(duì)應(yīng),依次為資源模型的基本信息、資源模型包含的資源型的詳細(xì)定義、資源模型包含的資源型的定義,資源類別的定義、資源型與瀏覽方式的綁定的定義。此處,以DOM樹(shù)的形式給出資源模型Schema的定義,詳情見(jiàn)圖4。其中,橢圓形代表的是復(fù)雜類型標(biāo)簽,長(zhǎng)方形代表的是簡(jiǎn)單類型標(biāo)簽,虛線的標(biāo)簽代表可能存在也可能不存在。只是中間有些復(fù)雜類型標(biāo)簽并未給出定義,因?yàn)樵擃悩?biāo)簽下是一些簡(jiǎn)單標(biāo)簽。
3.2資源管理框架解析引擎
資源管理框架解析引擎主要包括XML解析器、資源管理框架控制器、資源型管理器、資源類別管理器、資源模型管理器、資源型與瀏覽方式管理器等部分,如圖5所示。
由圖5可知,對(duì)其中各部分的功能解析如下所示。
XML解析器。讀取資源模型定義文件,根據(jù)資源模型的Schema文件來(lái)對(duì)資源模型定義文件的語(yǔ)法進(jìn)行檢查,并對(duì)其內(nèi)容進(jìn)行解析,以確保資源模型定義文件的合法性。XML解析器會(huì)將資源模型定義文件中的信息以一個(gè)對(duì)象的形式傳遞給資源管理框架控制器。
資源管理框架控制器。完成對(duì)資源型管理器、資源類別管理器、資源模型管理器和資源型與瀏覽方式管理器的調(diào)度,使得這些管理器之間協(xié)調(diào)工作,共同完成資源模型的配置工作。
資源型管理器。主要負(fù)責(zé)資源型定義部分的邏輯錯(cuò)誤驗(yàn)證,包括資源型ID是否被占用,資源型對(duì)應(yīng)的數(shù)據(jù)表的個(gè)數(shù)與數(shù)據(jù)表定義的個(gè)數(shù)是否一致等問(wèn)題。
資源類別管理器。主要負(fù)責(zé)資源類別定義部分的邏輯錯(cuò)誤的驗(yàn)證,包括資源類別ID是否沖突,資源類別的父項(xiàng)資源類別是否已經(jīng)存在,每一個(gè)資源型是否都有與之相對(duì)應(yīng)的資源類別等問(wèn)題。
資源模型管理器。主要負(fù)責(zé)資源模型定義部分的邏輯錯(cuò)誤的驗(yàn)證,包括資源通型信息表名稱是否被占用,資源模型包含的所有的資源型是否都已經(jīng)進(jìn)行了定義等問(wèn)題。
資源型與瀏覽方式管理器。主要負(fù)責(zé)資源型與不同瀏覽方式的綁定問(wèn)題。
4結(jié)束語(yǔ)
論文提出了一套新的資源管理框架,使用這套資源管理框架能夠?qū)⒉煌N類的資源以一種統(tǒng)一的方式進(jìn)行瀏覽、查詢和管理。該套資源管理框架對(duì)不同種類的資源進(jìn)行總結(jié),根據(jù)資源的不同,尋求其獨(dú)有的特征,稱這種表示方法為資源的專型表示法,找出不同類別的資源之間的共性,形成對(duì)資源的一種通型表示方法,并建立起二者之間的映射關(guān)系,從而完成對(duì)資源的統(tǒng)一形式描述,為其后進(jìn)行服務(wù)資源的組合、服務(wù)資源服務(wù)質(zhì)量評(píng)價(jià)提供了切實(shí)有效的基礎(chǔ)。
參考文獻(xiàn):
[1]張建勛, 古志民, 鄭超. 云計(jì)算研究進(jìn)展綜述[J]. 計(jì)算機(jī)應(yīng)用研究, 2010, 27(2): 429-433.
[2]王忠杰, 徐曉飛. 面向雙邊資源整合的服務(wù)創(chuàng)新模式[J]. 計(jì)算機(jī)集成制造系統(tǒng), 2009, 15(11): 2216-2225.
[3]宋云嫻, 韓凡石, 吳軍, 等. 立體化教學(xué)資源模型構(gòu)建[J]. 電氣電子教學(xué)學(xué)報(bào), 2005, 27(2): 100-103.
[4]KLYNE G, CARROLL J J, MCBRIDE B. Resource description framework (RDF): Concepts and abstract syntax[C]//W3C recommendation, 2004, 10.
[5]W3C Working Draft. Resource Description Framework(RDF) Model and Syntax Specification[C]//08 October 1998.
[6]ANTONIOU G, VAN HARMELEN F. Web ontology language: Owl[M]. Handbook on ontologies. Springer Berlin Heidelberg, 2009: 91-110.
[7]賀文銳, 何衛(wèi)平. 基于 OWL 的網(wǎng)絡(luò)化制造資源建模與應(yīng)用研究[J]. 制造技術(shù)與機(jī)床, 2004, 9: 114-118.
[8]劉威, 喬立紅. 基于元模型的統(tǒng)一制造資源模型框架[J]. 計(jì)算機(jī)集成制造系統(tǒng), 2007, 13(10): 1903-1908.