欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

具有依賴關(guān)系組件的部署系統(tǒng)和方法

文檔序號:6562159閱讀:140來源:國知局
專利名稱:具有依賴關(guān)系組件的部署系統(tǒng)和方法
技術(shù)領(lǐng)域
本發(fā)明涉及計算機軟件領(lǐng)域的組件部署技術(shù),尤其涉及具有依賴關(guān)系組件的應(yīng)用系統(tǒng)的組件部署。
背景技術(shù)
隨著運營規(guī)模的擴大,運營業(yè)務(wù)范圍的擴展,企業(yè)更需要能夠提供多種功能,支持多種業(yè)務(wù),集成程度更高的大型系統(tǒng)。電信領(lǐng)域中的網(wǎng)管系統(tǒng)就是這樣的一種大型系統(tǒng),網(wǎng)管系統(tǒng)需要提供拓?fù)?、告警、性能、配置、信令跟蹤、安全、日志、策略管理等種類繁多的功能。一個大型應(yīng)用系統(tǒng)往往由數(shù)十個功能模塊構(gòu)成,每一個功能模塊又由數(shù)個到數(shù)十個應(yīng)用組件組成,因此大型應(yīng)用系統(tǒng)必然包含著數(shù)以百計的應(yīng)用組件。
編碼完成的應(yīng)用組件,必須要經(jīng)過部署這個步驟,才能夠為用戶使用。部署就是將應(yīng)用組件按照一定的格式進行打包并放在應(yīng)用服務(wù)器內(nèi);在部署時,部署服務(wù)需要對應(yīng)用組件進行設(shè)置。目前所采用的部署機制是基于應(yīng)用組件層面的,以J2EE(Java企業(yè)應(yīng)用開發(fā))為例在J2EE中,應(yīng)用組件往往打成不同格式的包(jar,war,ear等)來進行部署;在J2EE規(guī)范中,能夠提供的最大部署單元就是ear,而ear只能提供對war和jar的簡單封裝,因此這樣的部署方式更適應(yīng)于簡單的小型應(yīng)用系統(tǒng)。對于復(fù)雜的應(yīng)用系統(tǒng),往往需要涉及到一些其它類型的應(yīng)用組件,例如MBean、數(shù)據(jù)源等,這些都超出了ear的封裝范疇,需要部署者通過專用管理接口手工配置和部署;此外,應(yīng)用組件之間在部署上如果還存在依賴關(guān)系,部署者往往不得不采取一些特別措施來加以處理。類似的情況在其它架構(gòu)環(huán)境中也是同樣存在的。
由此可見,采用目前的部署方式,部署者為了保證一個系統(tǒng)部署成功,需要進行大量工作,而且針對不同系統(tǒng)可能還需要不同的部署實施措施;不僅增加了工作量和工作難度,而且系統(tǒng)的模塊化部署也無法實現(xiàn)。這樣的方式帶來了很多問題,造成系統(tǒng)的可維護性大大降低,甚至出現(xiàn)系統(tǒng)因為維護困難而報廢的情況。

發(fā)明內(nèi)容
為了克服上述缺陷,本發(fā)明的目的在于提供一種具有依賴關(guān)系組件模塊化的部署系統(tǒng),有效解決大型應(yīng)用系統(tǒng)部署步驟繁瑣,維護困難的問題。
為達(dá)到上述目的,本發(fā)明一種具有依賴關(guān)系組件的部署系統(tǒng),包括插件和插件部署器;
所述插件用于封裝復(fù)雜應(yīng)用的文件集合;所述插件部署器用于指定插件需要部署的范圍并對插件進行部署。
進一步地,所述插件具有插件自描述信息,該插件的自描述信息包括插件標(biāo)識、插件版本、該插件所依賴的同組中其他插件的名字。
進一步地,所述插件自描述信息采用文件或數(shù)據(jù)庫方式進行存儲。
進一步地,上述部署系統(tǒng)還包括系統(tǒng)總體部署信息,該系統(tǒng)總體部署信息用于描述系統(tǒng)中要部署的插件的范圍以及插件組在部署上的先后順序。
進一步地,所述系統(tǒng)總體部署信息采用文件或數(shù)據(jù)庫方式進行存儲。
進一步地,上述部署系統(tǒng)還包括解析器,所述解析器用于解析系統(tǒng)總體部署信息以及一組插件自描述信息,完成部署范圍的確定,并整理出一個全局意義上的插件依賴關(guān)系鏈表,然后根據(jù)該鏈表,依次調(diào)用插件部署器完成插件的部署。
為達(dá)到上述目的,一種具有依賴關(guān)系組件的部署方法,包括如下步驟(1)讀取系統(tǒng)總體部署信息;(2)通過分析步驟(1)中得到的系統(tǒng)總體部署信息,得出所部署的插件列表;(3)通過分析步驟(2)中得到的插件列表,得出插件組之間的依賴關(guān)系;(4)若要部署的插件存在且該要部署的插件具有自描述信息,則讀取該要部署的插件的自描述信息,并根據(jù)該自描述信息判斷該插件所依賴的其他插件是否存在,若不存在,異常退出,若存在,根據(jù)該插件的自描述信息整理出局部依賴關(guān)系列表;(5)根據(jù)步驟(4)中整理出的局部依賴關(guān)系列表,并結(jié)合步驟(3)中得到的插件組之間的依賴關(guān)系,整理出全局依賴關(guān)系列表;(6)根據(jù)步驟(5)中得到的全局依賴關(guān)系列表逐次調(diào)用插件部署器,對插件進行部署。
進一步地,所述的系統(tǒng)總體部署信息采用文件或數(shù)據(jù)庫方式存儲;所述插件的自描述信息采用文件或數(shù)據(jù)庫方式存儲。
本發(fā)明是基于插件的部署是一種新型部署機制,只需修改系統(tǒng)總體部署信息,就可以輕松實現(xiàn)功能模塊(組)級別的部署與去部署;系統(tǒng)總體部署信息格式簡單明確,可以讓部署者很容易定義需要部署的功能模塊范圍;通過系統(tǒng)總體部署信息可以實現(xiàn)對復(fù)雜系統(tǒng)部署的總體規(guī)劃;通過引入插件機制,插件以下的部署由模塊開發(fā)者維護,而應(yīng)用程序部署者就只需要負(fù)責(zé)系統(tǒng)中功能模塊(組)級別的部署;插件(PAR)具有自描述性,可以描述局部依賴性關(guān)系,部署人員僅僅考慮更高層次(功能模塊組之間)的依賴關(guān)系;插件(PAR)是一種打包部署的方式,但它又超越了打包部署,PAR下面可以指定某些目錄不部署(例如資源文件所在的目錄);在實現(xiàn)功能模塊結(jié)構(gòu)上保持內(nèi)聚性的同時,又不會增加系統(tǒng)部署的時間開銷;這種方法有效降低系統(tǒng)部署的復(fù)雜性,實現(xiàn)模塊化部署;且實現(xiàn)起來簡單,直觀,不同角色(開發(fā)者,部署者,系統(tǒng)管理者)只需要關(guān)心很少的配置文件,大大降低了這些角色的技能要求。


圖1是具有依賴關(guān)系組件的部署系統(tǒng)示意圖;圖2是具有依賴關(guān)系組件的部署系統(tǒng)總體流程圖;圖3是復(fù)雜系統(tǒng)層次結(jié)構(gòu)示例圖;圖4是系統(tǒng)總體部署文件示例圖。
具體實施例方式
下面結(jié)合附圖對本發(fā)明的部署系統(tǒng)和方法做進一步詳細(xì)的描述,以電信領(lǐng)域中的網(wǎng)管軟件系統(tǒng)為例,電信領(lǐng)域中的網(wǎng)管系統(tǒng)可以劃分為基礎(chǔ)支撐層Support Layer(SL)、框架層Framework Later(FL)和應(yīng)用層Application Layer(AL)如圖3所示。所有復(fù)雜的系統(tǒng)都應(yīng)有明確的層次劃分,典型的如TCP/IP協(xié)議棧,功能模型中的層次概念在部署中與模塊組對應(yīng),層下面(在部署中是模塊組)就是一個個的功能模塊,例如告警、性能、拓?fù)涞取?br> 功能模塊是從功能模型中提取出來的,可以對應(yīng)于需求上一個個功能點,本發(fā)明基于這種情況提出了一種具有依賴關(guān)系功能模塊的部署系統(tǒng),該系統(tǒng)主要包括插件(PAR Plug-inArchive)和插件部署器。
1、插件是相當(dāng)于功能模塊的一種新型的部署單元,且可以包容其它普通的部署單元,從而具備封裝復(fù)雜應(yīng)用的能力,復(fù)雜應(yīng)用系統(tǒng)的部署,可以視為一個個插件的部署。插件PAR是復(fù)雜系統(tǒng)中一個軟件模塊在服務(wù)端/客戶端上對應(yīng)的物理實現(xiàn),具體體現(xiàn)為一個軟件模塊的開發(fā)者所提供的全部文件和模塊單元在運行期生成的文件的集合。
在沒有提出插件的概念之前,一個軟件模塊所需要的各種文件是零碎的,如jar文件、配置文件、運行期文件等,往往分散在應(yīng)用系統(tǒng)的各個目錄之下,為了達(dá)到各模塊可拆卸的目的,需要手工做大量的工作,或者使用復(fù)雜的安裝程序來解決這個問題。本發(fā)明提出插件的概念之后,可以將所有這些文件整合為一個插件,極大增強了系統(tǒng)部署運行時的模塊化程度;此外,插件(PAR)還支持依賴關(guān)系,一個插件可能利用另一個插件提供的服務(wù)完成自己的功能。以J2EE為例,即便是J2EE規(guī)范中最大的部署單元ear,也未必能夠在部署上完全體現(xiàn)一個功能點;而且這些功能點(組)之間的依賴關(guān)系,在目前的部署單元更是無法描述清楚。因此,本發(fā)明提出一種新的部署單元即插件PAR(Plug-in Archive)。實現(xiàn)了功能點部署上的模塊化。
每一個都具有插件自身的信息,例如插件ID,插件版本,以及該插件所依賴的同組中其它插件的名字(借以提供一個局部依賴關(guān)系列表)等,對于部署者而言是極為重要的。插件自身的信息可以用不同的方式(文件或者數(shù)據(jù)庫等)來存儲。本實施例中采用的是文件方式,每一個插件通過一個插件自描述文件(以特定的文件后綴加以區(qū)分)來存放這些插件自身的信息,每一個插件自描述文件的內(nèi)容由插件開發(fā)者完成。
如下所示就是一個插件自描述文件的示例該文件中包含模塊(在部署中為插件)的ID(標(biāo)識)、版本、模塊依賴關(guān)系等信息,< xml version="1.0"encoding="GB2312" >
<par>
<info name="example1"version="1.0"/>
<depend>example2.par</depend>
<depend>example3.par</depend>
</par>
通過這個文件,可以知道插件的ID(example1),版本(1.0),其依賴的同一層次中其它par的名字(example2.par和example3.par)。
2、插件部署器,用于指定插件(PAR)中需要部署的范圍,在實現(xiàn)功能點結(jié)構(gòu)上保持內(nèi)聚性的同時,又不會增加系統(tǒng)部署的時間開銷。
插件和插件部署器構(gòu)成了部署系統(tǒng)的核心,但是為了部署大型應(yīng)用系統(tǒng),還需要一些輔助部件A、系統(tǒng)總體部署信息,用以描述系統(tǒng)中所要部署的插件PAR的范圍,以及模塊組在部署上的先后順序。這些信息在系統(tǒng)中是全局唯一的,可以用不同的方式(文件或者數(shù)據(jù)庫等)來存儲該信息,在本實施例中采用的是文件方式,用系統(tǒng)總體部署文件來存儲,如圖4所示該文件通過DeployedPar元素來定義部署插件的范圍;通過fileset元素來定義插件組,在插件部署依賴關(guān)系處理的時候,寫在前面fileset(插件組)會先部署,因此,圖4中模塊組部署的先后順序就是dir1→dir1/dir2→dir1/dir3→dir1/dir4→dir1/dir5。該文件格式簡單,并且支持通配符(例如*或者?號等),從圖中可以看出,只需要寫幾行文字,就可以很方便地定義需要部署的插件范圍。因此用戶可以很方便地在系統(tǒng)總體部署文件中定義出需要部署的插件。
B、解析器,負(fù)責(zé)解析系統(tǒng)總體部署文件(deploy.xml)以及一組插件自描述文件(本實施例中采用文件方式,如果采用數(shù)據(jù)庫或者其它方式會略有不同),完成部署范圍的確定,定義該插件所依賴的其他插件列表,收集所有的部署文件,將多個局部依賴關(guān)系列表合并成一個全局插件依賴關(guān)系列表,然后,根據(jù)該列表,調(diào)用插件部署器來依次部署插件;插件部署器根據(jù)部署約定,決定插件下面的哪些目錄將會被部署;然后通過文件掃描器獲取所有可被部署的組件集合,按照類型部署所有的組件。
插件部署依賴關(guān)系處理的原則是插件組(是指在系統(tǒng)總體部署文件中的fileset元素)之間的依賴關(guān)系,是寫在前面的fileset先部署。
插件組之內(nèi)的依賴關(guān)系,是通過插件自描述文件(parinfo.xml)中定義的依賴關(guān)系來決定。
圖2描述了本發(fā)明的具有依賴關(guān)系的插件部署的流程圖,該流程主要包括如下步驟(1)讀取總體部署文件deploy.xml;(2)通過解析該總體部署文件,得出所部署的全局插件列表;(3)分析出模塊組(層)之間的依賴關(guān)系;(4)判斷要部署的插件實際上是否存在,如果不存在,異常退出,若存在,并判斷該插件下面是否存在對應(yīng)的自描述文件,若該插件沒有對應(yīng)的自描述文件,則異常退出,若該插件有對應(yīng)的自描述文件,則根據(jù)該插件的自描述文件整理出局部依賴關(guān)系鏈表;(5)根據(jù)局部依賴關(guān)系列表,結(jié)合模塊組(層)之間的依賴關(guān)系,整理出全局依賴關(guān)系鏈表;(6)根據(jù)全局依賴關(guān)系鏈表,逐次調(diào)用插件部署器,對插件進行部署。
由上述技術(shù)方案可以得知,本發(fā)明是基于插件的部署是一種新型部署機制,只需修改系統(tǒng)總體部署信息,就可以輕松實現(xiàn)功能模塊(組)級別的部署與去部署;而其它的部署機制,都需要從部署目錄中添加/刪除大量組件包才能實現(xiàn)某一個組件的部署/去部署;系統(tǒng)總體部署信息格式簡單明確,可以讓部署者很容易定義需要部署的功能模塊范圍;通過系統(tǒng)總體部署信息可以實現(xiàn)對復(fù)雜系統(tǒng)部署的總體規(guī)劃;通過引入插件機制,插件以下的部署由模塊開發(fā)者維護,而應(yīng)用程序部署者就只需要負(fù)責(zé)系統(tǒng)中功能模塊(組)級別的部署;插件(PAR)具有自描述性,可以描述局部依賴性關(guān)系,部署人員僅僅考慮更高層次(功能模塊組之間)的依賴關(guān)系;插件(PAR)是一種打包部署的方式,但它又超越了打包部署,PAR下面可以指定某些目錄不部署(例如資源文件所在的目錄);在實現(xiàn)功能模塊結(jié)構(gòu)上保持內(nèi)聚性的同時,又不會增加系統(tǒng)部署的時間開銷;這種方法有效降低系統(tǒng)部署的復(fù)雜性,實現(xiàn)模塊化部署;且實現(xiàn)起來簡單,直觀,不同角色(開發(fā)者,部署者,系統(tǒng)管理者)只需要關(guān)心很少的配置文件,大大降低了這些角色的技能要求。
權(quán)利要求
1.一種具有依賴關(guān)系組件的部署系統(tǒng),其特征在于,包括插件和插件部署器;所述插件用于封裝復(fù)雜應(yīng)用的文件集合;所述插件部署器用于指定插件需要部署的范圍并對插件進行部署。
2.根據(jù)權(quán)利要求1所述的具有依賴關(guān)系組件的部署系統(tǒng),其特征在于,所述插件具有插件自描述信息,該插件的自描述信息包括插件標(biāo)識、插件版本、該插件所依賴的同組中其他插件的名字。
3.根據(jù)權(quán)利要求2所述的具有依賴關(guān)系組件的部署系統(tǒng),其特征在于,所述插件自描述信息采用文件或數(shù)據(jù)庫方式進行存儲。
4.根據(jù)權(quán)利要求3所述的具有依賴關(guān)系組件的部署系統(tǒng),其特征在于,還包括系統(tǒng)總體部署信息,該系統(tǒng)總體部署信息用于描述系統(tǒng)中要部署的插件的范圍以及插件組在部署上的先后順序。
5.根據(jù)權(quán)利要求4所述的具有依賴關(guān)系組件的部署系統(tǒng),其特征在于,所述系統(tǒng)總體部署信息采用文件或數(shù)據(jù)庫方式進行存儲。
6.根據(jù)權(quán)利要求5所述的具有依賴關(guān)系組件的部署系統(tǒng),其特征在于,還包括解析器,所述解析器用于解析系統(tǒng)總體部署信息以及一組插件自描述信息,完成部署范圍的確定,并整理出一個全局意義上的插件依賴關(guān)系鏈表,然后根據(jù)該鏈表,依次調(diào)用插件部署器完成插件的部署。
7.一種具有依賴關(guān)系組件的部署方法,其特征在于,包括如下步驟(1)讀取系統(tǒng)總體部署信息;(2)通過分析步驟(1)中得到的系統(tǒng)總體部署信息,得出所部署的插件列表;(3)通過分析步驟(2)中得到的插件列表,得出插件組之間的依賴關(guān)系;(4)若要部署的插件存在且該要部署的插件具有自描述信息,則讀取該要部署的插件的自描述信息,并根據(jù)該自描述信息判斷該插件所依賴的其他插件是否存在,若不存在,異常退出,若存在,根據(jù)該插件的自描述信息整理出局部依賴關(guān)系列表;(5)根據(jù)步驟(4)中整理出的局部依賴關(guān)系列表,并結(jié)合步驟(3)中得到的插件組之間的依賴關(guān)系,整理出全局依賴關(guān)系列表;(6)根據(jù)步驟(5)中得到的全局依賴關(guān)系列表逐次調(diào)用插件部署器,對插件進行部署。
8.根據(jù)權(quán)利要求7所述的具有依賴關(guān)系組件的部署方法,其特征在于,所述的系統(tǒng)總體部署信息采用文件或數(shù)據(jù)庫方式存儲;所述插件的自描述信息采用文件或數(shù)據(jù)庫方式存儲。
全文摘要
本發(fā)明公開一種具有依賴關(guān)系組件的部署系統(tǒng)和方法,為解決現(xiàn)有部署的步驟繁瑣且部署封裝粒度細(xì),無法實現(xiàn)模塊化部署可維護性低的問題而發(fā)明。本發(fā)明包括插件和插件部署器;所述插件用于封裝復(fù)雜應(yīng)用的文件集合;所述插件部署器用于指定插件需要部署的范圍并對插件進行部署。本發(fā)明通過插件機制實現(xiàn)了模塊化部署,大大提高了系統(tǒng)的可維護性。
文檔編號G06F9/44GK1945530SQ20061013833
公開日2007年4月11日 申請日期2006年11月7日 優(yōu)先權(quán)日2006年11月7日
發(fā)明者田珂, 鄧朝明, 張強, 唐英, 彭向梅, 程圣宇 申請人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
观塘区| 施甸县| 浮梁县| 大同市| 田东县| 宁强县| 阿克陶县| 河池市| 常熟市| 金平| 新和县| 平乡县| 西青区| 乌鲁木齐县| 北辰区| 英吉沙县| 白朗县| 昆明市| 鱼台县| 平塘县| 冀州市| 涞水县| 日照市| 卫辉市| 嘉善县| 双峰县| 泽库县| 黑河市| 蒙阴县| 衢州市| 章丘市| 平原县| 高阳县| 汾阳市| 长子县| 沅陵县| 吕梁市| 斗六市| 怀仁县| 怀来县| 吴旗县|