国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種支持異構(gòu)構(gòu)件的構(gòu)件庫(kù)統(tǒng)一管理方法

      文檔序號(hào):6559272閱讀:253來(lái)源:國(guó)知局
      專(zhuān)利名稱(chēng):一種支持異構(gòu)構(gòu)件的構(gòu)件庫(kù)統(tǒng)一管理方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種支持異構(gòu)構(gòu)件的構(gòu)件庫(kù)統(tǒng)一管理方法,屬于軟件工程技術(shù)領(lǐng)域。
      背景技術(shù)
      隨著計(jì)算機(jī)網(wǎng)絡(luò)和Internet技術(shù)的不斷發(fā)展,用戶(hù)通過(guò)多樣化的形式獲取各種網(wǎng)絡(luò)應(yīng)用程序(服務(wù)),對(duì)Internet應(yīng)用的智能化、個(gè)性化、綜合化的要求越來(lái)越高。從這種發(fā)展趨勢(shì)中可以看出,面向終端用戶(hù)的應(yīng)用程序個(gè)性化定制將是未來(lái)軟件和服務(wù)開(kāi)發(fā)的主要模式之一。
      在這樣的背景下,構(gòu)件技術(shù)被提出并得到廣泛應(yīng)用。構(gòu)件是指具有相對(duì)獨(dú)立功能和可復(fù)用的軟件模塊(如圖1所示)。它使得軟件開(kāi)發(fā)人員在新的系統(tǒng)開(kāi)發(fā)中能夠充分利用過(guò)去系統(tǒng)開(kāi)發(fā)過(guò)程中積累的知識(shí)、經(jīng)驗(yàn)和功能模塊,而不必一切都“從零開(kāi)始”,從而避免了軟件開(kāi)發(fā)中的重復(fù)勞動(dòng)。目前,構(gòu)件作為一種依附在計(jì)算機(jī)硬件和操作系統(tǒng)之上的重要的中間件系統(tǒng),在金融、教育、電子商務(wù)、電子政務(wù)、醫(yī)療衛(wèi)生等應(yīng)用領(lǐng)域中得到了大量應(yīng)用,為提高軟件復(fù)用程度和軟件開(kāi)發(fā)的效率發(fā)揮了很好的作用。
      為了支持構(gòu)件復(fù)用,一些組織和公司紛紛推出自己的構(gòu)件技術(shù)標(biāo)準(zhǔn),如SUN公司提出的Java構(gòu)件標(biāo)準(zhǔn)JavaBeans、EJB,微軟公司提出的COM、DCOM標(biāo)準(zhǔn)以及對(duì)象管理組織(OMG)CORBA3.0規(guī)范中的CCM標(biāo)準(zhǔn)等等。另一方面,當(dāng)前對(duì)于支持Web服務(wù)的構(gòu)件庫(kù)系統(tǒng)在國(guó)內(nèi)外已經(jīng)有了比較廣泛的研究,也具備了相當(dāng)多成熟的技術(shù)和成果,Internet上出現(xiàn)了很多遵循各類(lèi)同構(gòu)構(gòu)件技術(shù)標(biāo)準(zhǔn)的專(zhuān)門(mén)的構(gòu)件庫(kù)(如Alphaworks、Flashline、ComponentPlanet、ComponentSource等),提供了多種現(xiàn)成的可用構(gòu)件,這些構(gòu)件庫(kù)形成了Internet上的構(gòu)件資源,為軟件復(fù)用、基于構(gòu)件的程序開(kāi)發(fā)提供了基礎(chǔ)。而且隨著構(gòu)件技術(shù)的發(fā)展,網(wǎng)絡(luò)構(gòu)件庫(kù)的規(guī)模仍在不斷擴(kuò)大,為應(yīng)用和服務(wù)的組合提供了構(gòu)件資源。
      但是,目前各大研究和商業(yè)機(jī)構(gòu)所都使用自己特定的規(guī)范和標(biāo)準(zhǔn)來(lái)開(kāi)發(fā)構(gòu)件,構(gòu)件描述結(jié)構(gòu)各異,如EJB、COM、CORBA等,均具有獨(dú)特的構(gòu)件實(shí)現(xiàn)機(jī)制和描述方法,表現(xiàn)為構(gòu)件之間的“異構(gòu)性”,即不一致。歸納而言,各種構(gòu)件開(kāi)發(fā)標(biāo)準(zhǔn)和規(guī)范之間的異構(gòu)性問(wèn)題主要體現(xiàn)在以下兩個(gè)方面構(gòu)件描述的外部性信息,如構(gòu)件組織資源和功能分類(lèi)等信息很不一致,構(gòu)件的許多基本開(kāi)發(fā)和應(yīng)用描述也不完整,造成上層應(yīng)用在構(gòu)件搜索、獲取方面的困難;構(gòu)件接口的行為信息不一致,構(gòu)件接口作為行為描述的標(biāo)志,卻嚴(yán)重依賴(lài)于構(gòu)件實(shí)現(xiàn)的編程語(yǔ)言,造成描述不一致,不能很好地支持異構(gòu)構(gòu)件之間的相互訪(fǎng)問(wèn)。
      正是由于構(gòu)件之間的異構(gòu)性,導(dǎo)致現(xiàn)今仍沒(méi)有一種合理的規(guī)范實(shí)現(xiàn)異構(gòu)構(gòu)件的統(tǒng)一管理和操作,構(gòu)件之間的相互訪(fǎng)問(wèn)和調(diào)用還只局限于同一類(lèi)型的構(gòu)件之間,對(duì)不同類(lèi)型構(gòu)件之間一致性訪(fǎng)問(wèn)缺乏必要的支持,造成開(kāi)發(fā)人員和終端用戶(hù)在進(jìn)行構(gòu)件搜索、獲取以及分析、組裝等構(gòu)件處理活動(dòng)中只能基于同一規(guī)范的構(gòu)件進(jìn)行操作,對(duì)軟件構(gòu)件的重用局限性較大,現(xiàn)有Internet上的大量構(gòu)件資源無(wú)法得到廣泛的應(yīng)用,不利于在Internet平臺(tái)上實(shí)現(xiàn)按需個(gè)性化服務(wù);而且,各類(lèi)構(gòu)件庫(kù)系統(tǒng)之間的組織存儲(chǔ)與檢索等機(jī)制也不盡相同,無(wú)法實(shí)現(xiàn)統(tǒng)一的程序挖掘和構(gòu)件管理。
      可見(jiàn),構(gòu)件異構(gòu)性已經(jīng)成為了限制軟件復(fù)用技術(shù)發(fā)展的瓶頸,實(shí)現(xiàn)各類(lèi)規(guī)范的構(gòu)件之間的一致性訪(fǎng)問(wèn)和操作是今后主要的研究方向。構(gòu)件異構(gòu)性問(wèn)題主要需通過(guò)以下兩步來(lái)解決首先是對(duì)異構(gòu)構(gòu)件進(jìn)行統(tǒng)一封裝和描述,屏蔽不同類(lèi)型構(gòu)件描述和調(diào)用接口的差異。在專(zhuān)利“一種構(gòu)件封裝和一致性訪(fǎng)問(wèn)的方法”(ZL200410030654.5)中,已經(jīng)提出一種統(tǒng)一構(gòu)件封裝件結(jié)構(gòu),該封裝件結(jié)構(gòu)在現(xiàn)有的各種構(gòu)件模型(如ActiveX,JavaBeans,EJB等)的基礎(chǔ)上,通過(guò)對(duì)構(gòu)件的封裝將構(gòu)件的外部信息進(jìn)行歸一映射,形成系統(tǒng)、規(guī)范的構(gòu)件模型,從而實(shí)現(xiàn)構(gòu)件的一致性訪(fǎng)問(wèn)。
      其次是在上述封裝基礎(chǔ)上,對(duì)異構(gòu)構(gòu)件進(jìn)行統(tǒng)一訪(fǎng)問(wèn)管理。上述專(zhuān)利為多種類(lèi)型之間的構(gòu)件資源一致性訪(fǎng)問(wèn)提供了一種可行的方法。但是,使用構(gòu)件的最終目的是為了通過(guò)構(gòu)件組裝來(lái)創(chuàng)建新的應(yīng)用系統(tǒng),這就需要在如前所述的構(gòu)件封裝和一致性訪(fǎng)問(wèn)方法基礎(chǔ)上,設(shè)置構(gòu)件庫(kù)來(lái)對(duì)現(xiàn)有構(gòu)件資源進(jìn)行統(tǒng)一描述和有效組織,按照應(yīng)用需求從構(gòu)件庫(kù)中檢索和訪(fǎng)問(wèn)到所需的構(gòu)件,形成統(tǒng)一的支持異構(gòu)構(gòu)件的管理方法,為各種標(biāo)準(zhǔn)的異構(gòu)構(gòu)件創(chuàng)建統(tǒng)一的開(kāi)發(fā)和應(yīng)用平臺(tái)。設(shè)計(jì)和實(shí)現(xiàn)支持異構(gòu)構(gòu)件的統(tǒng)一構(gòu)件庫(kù)管理方法的技術(shù)重點(diǎn)和難點(diǎn)主要在于1)解決構(gòu)件分類(lèi)的一致性問(wèn)題。構(gòu)件分類(lèi)是以自然語(yǔ)言為基礎(chǔ),從功能、復(fù)用層次等角度對(duì)構(gòu)件進(jìn)行細(xì)化定位的過(guò)程,主要目的是便于構(gòu)件使用者更方便、更精確地找到所需要的構(gòu)件。不同構(gòu)件規(guī)范導(dǎo)致各個(gè)構(gòu)件庫(kù)對(duì)構(gòu)件的分類(lèi)體系在表達(dá)上完全不同,因此需要設(shè)計(jì)一種能統(tǒng)一和規(guī)范地描述各種構(gòu)件的構(gòu)件分類(lèi)體系結(jié)構(gòu),使各種構(gòu)件都能映射到該分類(lèi)體系空間中。
      2)解決構(gòu)件存儲(chǔ)的一致性問(wèn)題。構(gòu)件存儲(chǔ)架構(gòu)模型的優(yōu)劣決定了構(gòu)件庫(kù)對(duì)構(gòu)件進(jìn)行管理的效率高低。異構(gòu)構(gòu)件被不同組織開(kāi)發(fā)后存儲(chǔ)在不同的構(gòu)件庫(kù)中,其存儲(chǔ)模式各不相同。在統(tǒng)一構(gòu)件管理系統(tǒng)中,需要將異構(gòu)構(gòu)件的實(shí)體、封裝描述等信息一體化存儲(chǔ)到構(gòu)件庫(kù)的相應(yīng)位置,并提供一致性訪(fǎng)問(wèn)操作接口。
      3)解決構(gòu)件庫(kù)訪(fǎng)問(wèn)和管理的一致性問(wèn)題。構(gòu)件庫(kù)的統(tǒng)一訪(fǎng)問(wèn)和管理是必須在構(gòu)件異構(gòu)性被完全屏蔽、且構(gòu)件的分類(lèi)組織體系一致的基礎(chǔ)上實(shí)現(xiàn)的,根據(jù)構(gòu)件的統(tǒng)一描述機(jī)制,實(shí)現(xiàn)對(duì)異構(gòu)構(gòu)件的入庫(kù)、檢索、刪除等一致性操作,為進(jìn)一步構(gòu)件應(yīng)用和組裝提供操作服務(wù)。

      發(fā)明內(nèi)容
      本發(fā)明的目的是為克服已有的針對(duì)異構(gòu)構(gòu)件庫(kù)管理技術(shù)的不足之處,提出一種支持異構(gòu)構(gòu)件的構(gòu)件庫(kù)統(tǒng)一管理方法,屏蔽各類(lèi)構(gòu)件“異構(gòu)性”特點(diǎn),主要包括以下步驟在已有的針對(duì)異構(gòu)構(gòu)件的統(tǒng)一構(gòu)件封裝件結(jié)構(gòu)基礎(chǔ)上,創(chuàng)建一種以XML和SQL Server數(shù)據(jù)庫(kù)相結(jié)合的網(wǎng)狀索引結(jié)構(gòu)作為構(gòu)件庫(kù)的體系框架;在此平臺(tái)上實(shí)現(xiàn)異構(gòu)構(gòu)件的分類(lèi)和組織模式;剖析各類(lèi)構(gòu)件的描述信息,封裝和屏蔽其原有的外部信息,歸一化存儲(chǔ)到以本分類(lèi)組織模式定義的構(gòu)件檢索庫(kù)中;在構(gòu)件統(tǒng)一分類(lèi)和存儲(chǔ)的基礎(chǔ)上實(shí)現(xiàn)對(duì)構(gòu)件庫(kù)的一致性訪(fǎng)問(wèn)和檢索。有效完成每個(gè)構(gòu)件從Internet上被獲取到本地并驗(yàn)證、信息映射規(guī)范、描述信息和實(shí)體入庫(kù)、構(gòu)件檢索訪(fǎng)問(wèn)等操作,并形成統(tǒng)一的數(shù)據(jù)封裝、傳輸和解析規(guī)范。本發(fā)明可在金融、教育、電子商務(wù)、電子政務(wù)、醫(yī)療衛(wèi)生等應(yīng)用領(lǐng)域中提高網(wǎng)絡(luò)軟件復(fù)用和軟件開(kāi)發(fā)的效率,為進(jìn)一步實(shí)現(xiàn)Internet個(gè)性化按需服務(wù)中所涉及的程序挖掘和構(gòu)件組裝提供支持。
      本發(fā)明提出一種支持異構(gòu)構(gòu)件的構(gòu)件庫(kù)統(tǒng)一管理方法,其操作流程如圖2所示。本發(fā)明的特征在于,所述方法依次含有以下步驟步驟(1)在一臺(tái)或多臺(tái)計(jì)算機(jī)上設(shè)置構(gòu)件庫(kù),其上存儲(chǔ)所有構(gòu)件的實(shí)體,形成構(gòu)件庫(kù)計(jì)算機(jī);步驟(2)在另一臺(tái)計(jì)算機(jī)上設(shè)置構(gòu)件目錄庫(kù),維護(hù)一個(gè)統(tǒng)一構(gòu)件封裝件庫(kù),用于存儲(chǔ)構(gòu)件描述信息的集合,形成構(gòu)件目錄庫(kù)計(jì)算機(jī);步驟(3)依次按以下步驟在構(gòu)件目錄庫(kù)計(jì)算機(jī)上設(shè)計(jì)一種異構(gòu)統(tǒng)一的構(gòu)件分類(lèi)組織體系,以此構(gòu)造基于XML的網(wǎng)狀構(gòu)件信息索引結(jié)構(gòu)表,并創(chuàng)建基于SQL Server數(shù)據(jù)庫(kù)的構(gòu)件分類(lèi)檢索表步驟(3.1)按構(gòu)件屬性把構(gòu)件庫(kù)劃分為以下三個(gè)刻面領(lǐng)域構(gòu)件類(lèi)型、構(gòu)件功能以及復(fù)用層次,該復(fù)用層次是構(gòu)件在程序挖掘和軟件復(fù)用各個(gè)過(guò)程階段的復(fù)用層次;步驟(3.2)構(gòu)造多刻面網(wǎng)狀結(jié)構(gòu)的空的XML信息索引結(jié)構(gòu)表,在所述網(wǎng)狀結(jié)構(gòu)中,每個(gè)葉節(jié)點(diǎn)對(duì)應(yīng)于一個(gè)包括構(gòu)件的描述信息以及一個(gè)指明構(gòu)件實(shí)體所在位置的標(biāo)識(shí)在內(nèi)的構(gòu)件說(shuō)明,每個(gè)非葉節(jié)點(diǎn)對(duì)應(yīng)一個(gè)由相同類(lèi)別的一組構(gòu)件說(shuō)明所構(gòu)成的元目錄,含有包括元目錄的名稱(chēng)、定義在內(nèi)的描述信息以及該元目錄下的構(gòu)件說(shuō)明的索引信息;
      步驟(3.3)遍歷和提取構(gòu)件庫(kù)刻面領(lǐng)域和術(shù)語(yǔ)空間的關(guān)鍵詞信息,生成包括刻面領(lǐng)域、一級(jí)術(shù)語(yǔ)、二級(jí)術(shù)語(yǔ)在內(nèi)的以大綱形式描述的構(gòu)件索引結(jié)構(gòu),然后根據(jù)XML Schema規(guī)范,以樹(shù)狀形式將構(gòu)件索引結(jié)構(gòu)寫(xiě)入到步驟(3.2)所述的空的XML文件中,該文檔中描述三個(gè)刻面領(lǐng)域節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)下包含若干個(gè)子領(lǐng)域術(shù)語(yǔ)節(jié)點(diǎn),最底層為各個(gè)構(gòu)件節(jié)點(diǎn)及其ID;步驟(3.4)在構(gòu)件目錄庫(kù)計(jì)算機(jī)的SQL Server數(shù)據(jù)庫(kù)中創(chuàng)建構(gòu)件分類(lèi)檢索表,表項(xiàng)包括構(gòu)件ID、構(gòu)件刻面領(lǐng)域和構(gòu)件基本描述;步驟(4)將從Internet上各個(gè)專(zhuān)業(yè)構(gòu)件庫(kù)下載異構(gòu)構(gòu)件保存在臨時(shí)文件夾中,并按照描述信息進(jìn)行分類(lèi),用統(tǒng)一XML形式描述所提取的各構(gòu)件的自身信息,經(jīng)過(guò)映射形成統(tǒng)一的構(gòu)件封裝件,保存在統(tǒng)一構(gòu)件封裝件庫(kù)中,所述的描述信息是指判斷構(gòu)件類(lèi)型用的構(gòu)件文件擴(kuò)展名及內(nèi)部自帶的標(biāo)識(shí)字段;步驟(5)根據(jù)構(gòu)件的統(tǒng)一構(gòu)件封裝件信息,進(jìn)行本地構(gòu)件入庫(kù)存儲(chǔ)以及建立索引操作,依次包括以下步驟步驟(5.1)從待入庫(kù)構(gòu)件的統(tǒng)一構(gòu)件封裝件中獲得構(gòu)件分類(lèi)信息和構(gòu)件基本描述信息;步驟(5.2)按照構(gòu)件庫(kù)的刻面領(lǐng)域分類(lèi),依次提取相應(yīng)領(lǐng)域的有效關(guān)鍵詞,得到構(gòu)件的功能、類(lèi)型、復(fù)用層次各領(lǐng)域分別對(duì)應(yīng)的描述關(guān)鍵詞;步驟(5.3)利用已設(shè)定的自然語(yǔ)言處理模塊,進(jìn)行描述信息映射,按匹配最完全的原則確定構(gòu)件的規(guī)范刻面屬性;步驟(5.4)打開(kāi)在構(gòu)件目錄庫(kù)計(jì)算機(jī)上創(chuàng)建的XML信息索引結(jié)構(gòu)表;步驟(5.5)根據(jù)步驟(3.3)獲得的構(gòu)件刻面各級(jí)規(guī)范術(shù)語(yǔ),在XML信息索引結(jié)構(gòu)表中定位術(shù)語(yǔ)位置,并將該構(gòu)件的唯一ID包裝成XML結(jié)點(diǎn)描述,掛在該術(shù)語(yǔ)節(jié)點(diǎn)內(nèi),同一結(jié)點(diǎn)描述需要掛在多個(gè)相應(yīng)術(shù)語(yǔ)節(jié)點(diǎn)內(nèi);步驟(5.6)再將此構(gòu)件的刻面各級(jí)規(guī)范術(shù)語(yǔ)與構(gòu)件ID、構(gòu)件基本描述信息一起,整合生成SQL記錄添加命令,記錄構(gòu)件ID、構(gòu)件類(lèi)型、構(gòu)件功能、復(fù)用層次和構(gòu)件基本描述信息;步驟(5.7)連接SQL Server數(shù)據(jù)庫(kù),并執(zhí)行步驟(5.6)生成的記錄添加命令,使該構(gòu)件的分類(lèi)信息和基本描述信息以記錄形式保存到構(gòu)件分類(lèi)檢索表中;步驟(5.8)在構(gòu)件庫(kù)保存構(gòu)件實(shí)體的目錄下創(chuàng)建一個(gè)以構(gòu)件ID命名的文件夾,將原來(lái)臨時(shí)文件夾中的構(gòu)件實(shí)體存放至該ID文件夾下;
      步驟(5.9)在構(gòu)件封裝件中把構(gòu)件地址更新為構(gòu)件庫(kù)中的本地地址;步驟(5.10)把修改完的構(gòu)件封裝件以構(gòu)件ID命名,放入構(gòu)件目錄庫(kù)的構(gòu)件描述信息文件夾中;步驟(5.11)重復(fù)步驟(5.1)~(5.10),直到全部待入庫(kù)的構(gòu)件入庫(kù),關(guān)閉XML信息索引結(jié)構(gòu)表文件,完成構(gòu)件入庫(kù)及索引建立的步驟;步驟(6)對(duì)構(gòu)件庫(kù)實(shí)行統(tǒng)一檢索和訪(fǎng)問(wèn)管理,包括以下步驟步驟(6.1)獲取構(gòu)件使用方提出的構(gòu)件需求條件,格式包括指定的刻面領(lǐng)域術(shù)語(yǔ)特征、關(guān)鍵詞、接口信息,以XML的形式傳遞和保存;步驟(6.2)從構(gòu)件需求中提取檢索刻面領(lǐng)域術(shù)語(yǔ)及其術(shù)語(yǔ)空間;步驟(6.3)對(duì)于已獲取的檢索刻面術(shù)語(yǔ),結(jié)合其刻面領(lǐng)域信息,進(jìn)行SQL Server數(shù)據(jù)庫(kù)查詢(xún);步驟(6.4)把刻面檢索的結(jié)果保存在臨時(shí)數(shù)據(jù)集DataSet1中;步驟(6.5)從步驟(6.1)的構(gòu)件需求中提取檢索關(guān)鍵詞;步驟(6.6)對(duì)用戶(hù)輸入的關(guān)鍵檢索詞進(jìn)行拆分,并以鏈表的形式分離保存;步驟(6.7)按鏈表中關(guān)鍵詞的個(gè)數(shù)設(shè)計(jì)循環(huán)體,從鏈表中依次取出關(guān)鍵詞,針對(duì)前面步驟(6.4)中得到的臨時(shí)數(shù)據(jù)集DataSet1的構(gòu)件基本描述信息域進(jìn)行掃描,把所有包含該關(guān)鍵詞的記錄全部挖掘出來(lái);步驟(6.8)重復(fù)步驟(6.7),依次在前一次的挖掘結(jié)果中進(jìn)行再搜索,直到檢索完最后一個(gè)關(guān)鍵詞得到包含所有關(guān)鍵詞的概要信息的記錄為止;步驟(6.9)將關(guān)鍵詞檢索的結(jié)果保存在臨時(shí)數(shù)據(jù)集DataSet2中,同時(shí)得到了所有滿(mǎn)足檢索條件的構(gòu)件ID;步驟(6.10)根據(jù)DataSet2中的構(gòu)件ID,從構(gòu)件信息庫(kù)中提取以這些ID命名的構(gòu)件信息描述統(tǒng)一構(gòu)件封裝件;步驟(6.11)對(duì)于每個(gè)封裝件,掃描其接口描述信息,確認(rèn)與用戶(hù)提出的接口要求一致、且數(shù)據(jù)類(lèi)型匹配后,把滿(mǎn)足檢索條件的統(tǒng)一構(gòu)件封裝件以XML的形式返回給用戶(hù),供需求方進(jìn)行更細(xì)致的檢查;步驟(6.12)根據(jù)構(gòu)件信息描述中的本地地址信息,從構(gòu)件實(shí)體庫(kù)中下載所需要的構(gòu)件實(shí)體并保存。
      本發(fā)明是為保證在Internet個(gè)性化按需服務(wù)和程序挖掘過(guò)程中能充分利用軟件復(fù)用技術(shù),提供一個(gè)包含大量可重用和組裝的構(gòu)件以及完備構(gòu)件信息的本地資源構(gòu)件庫(kù)(Local ResourceComponent Warehouse),為各種類(lèi)型、各種功能構(gòu)件的有效組織提出了一種基于XML和SQLServer數(shù)據(jù)庫(kù)的網(wǎng)狀信息層次化索引結(jié)構(gòu),并針對(duì)該構(gòu)件庫(kù)實(shí)現(xiàn)以構(gòu)件入庫(kù)存儲(chǔ)、構(gòu)件檢索訪(fǎng)問(wèn)等功能為主體的構(gòu)件一致性訪(fǎng)問(wèn)管理,形成統(tǒng)一的數(shù)據(jù)封裝、傳輸和解析規(guī)范。本發(fā)明主要有以下幾個(gè)具體特點(diǎn)1)清晰的層次化體系結(jié)構(gòu)。本構(gòu)件庫(kù)管理系統(tǒng)是基于Browser/Server的三層體系結(jié)構(gòu)模式(即用戶(hù)界面層、應(yīng)用邏輯層、數(shù)據(jù)庫(kù)層)創(chuàng)建的。用戶(hù)界面可以采用簡(jiǎn)單的Web形式,降低客戶(hù)端系統(tǒng)的要求,同時(shí)提高系統(tǒng)的安全性;應(yīng)用邏輯層主要根據(jù)構(gòu)件訪(fǎng)問(wèn)管理協(xié)議來(lái)提供構(gòu)件入庫(kù)存儲(chǔ)、檢索訪(fǎng)問(wèn)等構(gòu)件管理操作;數(shù)據(jù)庫(kù)層是采用XML網(wǎng)狀信息層次化索引結(jié)構(gòu)與SQL Server數(shù)據(jù)庫(kù)相關(guān)聯(lián)的縱橫結(jié)合模式對(duì)構(gòu)件進(jìn)行存儲(chǔ)。
      2)多種檢索機(jī)制相結(jié)合。本構(gòu)件庫(kù)系統(tǒng)提供比較完備的檢索機(jī)制,根據(jù)構(gòu)件的基本描述信息、關(guān)鍵詞、構(gòu)件分類(lèi)信息和構(gòu)件接口信息進(jìn)行一體化的串行檢索。因?yàn)楫悩?gòu)構(gòu)件描述方式各異,所以一方面我們對(duì)其分類(lèi)信息實(shí)現(xiàn)了規(guī)范統(tǒng)一,可進(jìn)行基于刻面的分類(lèi)檢索,另一方面對(duì)于構(gòu)件的基本描述信息和關(guān)鍵詞的檢索是保證對(duì)構(gòu)件的信息有比較全面的覆蓋。同時(shí),因?yàn)樵跇?gòu)件進(jìn)行復(fù)用時(shí),構(gòu)件的輸入、輸出接口信息的匹配極其重要,所以也必須按要求進(jìn)行構(gòu)件接口數(shù)量和類(lèi)型的匹配檢索。將上述構(gòu)件檢索方式串行實(shí)現(xiàn),既保證檢索的到位,盡量減少遺漏構(gòu)件;也保證檢索的精確,去除與檢索要求相關(guān)度低的構(gòu)件,為構(gòu)件重用和組裝提供有效支持。
      3)簡(jiǎn)單的操作流程,可同時(shí)面向開(kāi)發(fā)者和普通用戶(hù)。本方法的應(yīng)用不需要復(fù)雜的人工操作,既可面向軟件開(kāi)發(fā)者,也可為普通終端用戶(hù)使用,進(jìn)行構(gòu)件的重用和組裝。
      本發(fā)明的技術(shù)效果及應(yīng)用如下1、采用本發(fā)明的方法,創(chuàng)建以XML網(wǎng)狀索引結(jié)構(gòu)與SQL Server數(shù)據(jù)庫(kù)想結(jié)合的構(gòu)件描述存儲(chǔ)體系架構(gòu),并通過(guò)對(duì)構(gòu)件的統(tǒng)一封裝,在構(gòu)件庫(kù)訪(fǎng)問(wèn)管理協(xié)議的操作控制下,實(shí)現(xiàn)對(duì)不同構(gòu)件的一致性訪(fǎng)問(wèn),使得需要訪(fǎng)問(wèn)多種構(gòu)件的客戶(hù)程序可以按照統(tǒng)一的方式來(lái)訪(fǎng)問(wèn)不同類(lèi)型的構(gòu)件,不僅大大簡(jiǎn)化了客戶(hù)端的操作程序,也顯著提高了軟件集成的靈活性。
      2、本發(fā)明為軟件開(kāi)發(fā)人員和終端用戶(hù)提供了豐富、統(tǒng)一的構(gòu)件管理平臺(tái),這樣不僅可以提高軟件開(kāi)發(fā)人員進(jìn)一步開(kāi)發(fā)服務(wù)平臺(tái)和構(gòu)件(程序)挖掘系統(tǒng)的效率;同時(shí)還可以令終端用戶(hù)根據(jù)其需求直接發(fā)現(xiàn)、定制用戶(hù)需要而選擇構(gòu)件組裝應(yīng)用程序,實(shí)現(xiàn)面向用戶(hù)的個(gè)性化主動(dòng)服務(wù)。
      3、本發(fā)明可在金融、教育、電子商務(wù)、電子政務(wù)、醫(yī)療衛(wèi)生等應(yīng)用領(lǐng)域中提高網(wǎng)絡(luò)軟件復(fù)用和軟件開(kāi)發(fā)的效率,為進(jìn)一步實(shí)現(xiàn)Internet個(gè)性化按需服務(wù)中所涉及的程序挖掘和構(gòu)件組裝提供支持。本發(fā)明將來(lái)自不同供應(yīng)商、不同模型的各類(lèi)構(gòu)件進(jìn)行統(tǒng)一封裝和描述,并通過(guò)構(gòu)件庫(kù)訪(fǎng)問(wèn)管理協(xié)議對(duì)各種構(gòu)件進(jìn)行一致性訪(fǎng)問(wèn),從而可靈活地支持本應(yīng)用領(lǐng)域的業(yè)務(wù)流程的形成和動(dòng)態(tài)調(diào)整以及面向用戶(hù)的個(gè)性化應(yīng)用程序的定制和集成。
      4、應(yīng)用本發(fā)明可以提高軟件系統(tǒng)的安全性。用戶(hù)可以根據(jù)網(wǎng)絡(luò)環(huán)境和應(yīng)用安全的需要,隨時(shí)采用本發(fā)明方法選取構(gòu)件,靈活地置換軟件系統(tǒng)所使用的安全性構(gòu)件及其組裝方式,如金融、電子政務(wù)等領(lǐng)域的安全防護(hù)方面可以起到重要作用。


      圖1為構(gòu)件結(jié)構(gòu)示意圖。
      圖2為支持異構(gòu)構(gòu)件的構(gòu)件庫(kù)統(tǒng)一管理方法流程圖。
      圖3為本發(fā)明中支持異構(gòu)構(gòu)件的多刻面網(wǎng)型結(jié)構(gòu)示例圖。
      圖4為本發(fā)明中基于XML的多刻面網(wǎng)狀體系結(jié)構(gòu)框架示意圖。
      圖5為本發(fā)明中基于XML的構(gòu)件結(jié)點(diǎn)入庫(kù)示意圖。
      圖6為本發(fā)明中支持異構(gòu)構(gòu)件的構(gòu)件檢索流程示意圖。
      圖7為本發(fā)明中基于XML的構(gòu)件檢索需求示意圖。
      具體實(shí)施例方式
      本發(fā)明提出的一種支持異構(gòu)構(gòu)件的構(gòu)件庫(kù)統(tǒng)一管理方法結(jié)合附圖及實(shí)施例詳細(xì)說(shuō)明如下第一步,在一臺(tái)或多臺(tái)計(jì)算機(jī)上設(shè)置構(gòu)件庫(kù),其上存儲(chǔ)所有構(gòu)件的實(shí)體,形成構(gòu)件庫(kù)計(jì)算機(jī)。
      第二步,在另一臺(tái)計(jì)算機(jī)上設(shè)置構(gòu)件目錄庫(kù),維護(hù)一個(gè)構(gòu)件統(tǒng)一封裝件庫(kù),用于存儲(chǔ)構(gòu)件描述信息集合,形成構(gòu)件目錄庫(kù)計(jì)算機(jī)。
      第三步,在構(gòu)件目錄庫(kù)計(jì)算機(jī)上設(shè)計(jì)一種異構(gòu)統(tǒng)一的構(gòu)件分類(lèi)組織體系,以此構(gòu)造基于XML的網(wǎng)狀構(gòu)件信息索引結(jié)構(gòu)表,創(chuàng)建SQL Server數(shù)據(jù)庫(kù)構(gòu)件分類(lèi)檢索表。
      本步驟的具體過(guò)程描述如下首先對(duì)構(gòu)件庫(kù)劃分刻面。按照精簡(jiǎn)、刻面正交、全面性和一致性這四個(gè)原則,可以選取那些在用戶(hù)檢索中經(jīng)常用到的,又符合上述原則的屬性作為刻面。在本發(fā)明中,選定了以下三個(gè)構(gòu)件屬性作為刻面。
      刻面1構(gòu)件類(lèi)型(CTComponent Type)。該刻面根據(jù)現(xiàn)有的多種構(gòu)件格式而設(shè)定。例如JavaBean、EJB、ActiveX等。
      表1構(gòu)件類(lèi)型刻面(CT)的術(shù)語(yǔ)詞表

      刻面2構(gòu)件功能(CFComponent Functionality)。構(gòu)件的功能是該構(gòu)件在原有或可能的軟件系統(tǒng)中所提供的軟件功能集。例如用戶(hù)接口設(shè)計(jì)、網(wǎng)絡(luò)功能、文件操作、圖形處理等等。構(gòu)件庫(kù)中任何構(gòu)件都必須提供一種或多種功能。該刻面根據(jù)構(gòu)件的具體功能以及在軟件開(kāi)發(fā)中的作用分為電子商務(wù)(E-Commerce)、電子政務(wù)(E-Government)、教育(E-Learning)、開(kāi)發(fā)工具(Development Tools)、多媒體(Multimedia)、文件處理(File Manipulation)、科學(xué)計(jì)算(Scientific Computing)、網(wǎng)絡(luò)工具(Network Tools)、網(wǎng)絡(luò)安全(Network Security)、雜項(xiàng)(Miscellaneous)、其他(Others)共11個(gè)類(lèi)別,每個(gè)類(lèi)別進(jìn)一步細(xì)分為多個(gè)子類(lèi)作為術(shù)語(yǔ)空間。
      刻面3復(fù)用層次(LRLevel of Reusing)。構(gòu)件的復(fù)用層次是構(gòu)件在程序挖掘和軟件復(fù)用各個(gè)過(guò)程階段的應(yīng)用層次。如有些構(gòu)件本身就是一個(gè)完整的應(yīng)用,它的復(fù)用層次就處于“應(yīng)用”層次;而對(duì)于源代碼構(gòu)件,它的復(fù)用層次就處于“編碼”層次。目前復(fù)用層次術(shù)語(yǔ)有Application-Level(應(yīng)用)、Component-Level(構(gòu)件)、Code-Level(編碼)等。
      以上三個(gè)屬性彼此間完全相互隔離和獨(dú)立,而且比較充分地體現(xiàn)了構(gòu)件與復(fù)用相關(guān)的特性,也能適應(yīng)程序挖掘系統(tǒng)和本地資源構(gòu)件庫(kù)今后的發(fā)展,因此將以上三個(gè)屬性確定為L(zhǎng)CRW構(gòu)件庫(kù)的刻面體系。
      接著構(gòu)造網(wǎng)狀結(jié)構(gòu)的XML信息索引結(jié)構(gòu)表。網(wǎng)狀結(jié)構(gòu)是對(duì)樹(shù)型結(jié)構(gòu)的一種改進(jìn)。與樹(shù)型結(jié)構(gòu)相同的地方在于,在網(wǎng)狀結(jié)構(gòu)中,每個(gè)葉節(jié)點(diǎn)對(duì)應(yīng)于一個(gè)構(gòu)件說(shuō)明(ComponentDescription),它包括構(gòu)件的描述信息以及一個(gè)指明構(gòu)件代碼所在位置的標(biāo)識(shí)。每個(gè)非葉節(jié)點(diǎn)對(duì)應(yīng)一個(gè)由相同類(lèi)別的一組構(gòu)件說(shuō)明所構(gòu)成的元目錄(Metacategory),它包括元目錄的名稱(chēng)、定義等描述信息以及該元目錄下所有的構(gòu)件說(shuō)明的索引信息。
      在采用了多刻面模式以后,構(gòu)件庫(kù)就從不同角度對(duì)構(gòu)件進(jìn)行分類(lèi),以方便用戶(hù)從不同角度來(lái)檢索訪(fǎng)問(wèn)構(gòu)件。每一種分類(lèi)角度都將對(duì)應(yīng)一個(gè)樹(shù)型結(jié)構(gòu)來(lái)劃分組織構(gòu)件庫(kù)中的構(gòu)件資源。這使得同一個(gè)構(gòu)件說(shuō)明將被同時(shí)組織在不同樹(shù)型結(jié)構(gòu)中的多個(gè)元目錄下,這樣,一個(gè)葉節(jié)點(diǎn)將同時(shí)屬于幾個(gè)不同的非葉節(jié)點(diǎn),從而構(gòu)成一個(gè)網(wǎng)狀的組織結(jié)構(gòu)。
      由于本地資源構(gòu)件庫(kù)同時(shí)從構(gòu)件類(lèi)型、構(gòu)件功能、構(gòu)件復(fù)用層次這三個(gè)角度來(lái)組織構(gòu)件,一個(gè)構(gòu)件實(shí)際上同時(shí)屬于對(duì)應(yīng)的三個(gè)樹(shù)型結(jié)構(gòu)中不同的元目錄下。仍以FTP Protocol構(gòu)件為例,從構(gòu)件類(lèi)型角度進(jìn)行組織,它屬于JavaBean元目錄;從構(gòu)件功能角度進(jìn)行組織,它屬于Network下的網(wǎng)絡(luò)傳輸元目錄;從構(gòu)件復(fù)用層次角度進(jìn)行組織,它屬code-level元目錄。這樣,F(xiàn)TP Protocol構(gòu)件所對(duì)應(yīng)的FTP Protocol構(gòu)件說(shuō)明將被同時(shí)鏈接在JavaBean、網(wǎng)絡(luò)傳輸和code-level這三個(gè)不同的元目錄下,從而形成一個(gè)網(wǎng)狀結(jié)構(gòu),如圖3所示。
      然后在構(gòu)件目錄庫(kù)計(jì)算機(jī)上構(gòu)造一個(gè)空的XML信息索引結(jié)構(gòu)表文件命名為ComponentTable.xml,遍歷和提取構(gòu)件庫(kù)刻面領(lǐng)域和術(shù)語(yǔ)空間的關(guān)鍵詞信息,生成包括刻面領(lǐng)域、一級(jí)術(shù)語(yǔ)、二級(jí)術(shù)語(yǔ)等以大綱形式描述的構(gòu)件索引結(jié)構(gòu),根據(jù)XML Schema規(guī)范,以樹(shù)狀形式將構(gòu)件索引結(jié)構(gòu)寫(xiě)入到XML文件中。在該文檔中描述三個(gè)主領(lǐng)域節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)下包含若干個(gè)子領(lǐng)域術(shù)語(yǔ)節(jié)點(diǎn),最底層為各個(gè)構(gòu)件節(jié)點(diǎn),描述構(gòu)件的ID。該信息索引結(jié)構(gòu)表的架構(gòu)描述如圖4所示。
      完成上述對(duì)XML文件的編輯和填寫(xiě)后,在構(gòu)件目錄庫(kù)計(jì)算機(jī)的SQL Server數(shù)據(jù)庫(kù)中創(chuàng)建構(gòu)件分類(lèi)檢索表ComponrntTable,表項(xiàng)包括構(gòu)件ID、構(gòu)件刻面領(lǐng)域和構(gòu)件基本描述。
      第四步,從Internet上的各個(gè)專(zhuān)業(yè)構(gòu)件庫(kù)中獲取多種異構(gòu)構(gòu)件,保存在臨時(shí)文件夾中。根據(jù)該構(gòu)件的文件擴(kuò)展名及內(nèi)部自帶標(biāo)識(shí)字段判斷要封裝的構(gòu)件類(lèi)型,例如區(qū)分出是JavaBean構(gòu)件、ActiveX構(gòu)件或是其他類(lèi)型構(gòu)件,然后針對(duì)不同構(gòu)件類(lèi)型,提取構(gòu)件自身信息,采用相應(yīng)的映射方法,將該構(gòu)件自身信息填充到封裝件結(jié)構(gòu)的相應(yīng)部分,形成用統(tǒng)一XML形式描述的該構(gòu)件自身信息的統(tǒng)一構(gòu)件封裝件,即以該構(gòu)件ID命名的XML文件。該步驟詳細(xì)過(guò)程參考專(zhuān)利“一種構(gòu)件的封裝和一致性訪(fǎng)問(wèn)的方法”(ZL200410030654.5)。
      第五步,根據(jù)構(gòu)件的統(tǒng)一封裝件信息,進(jìn)行本地構(gòu)件入庫(kù)存儲(chǔ)以及建立索引操作按照其中的分類(lèi)信息組織到構(gòu)件索引信息庫(kù)中,形成網(wǎng)狀結(jié)構(gòu)中的一個(gè)節(jié)點(diǎn),如圖5所示,同時(shí)將構(gòu)件實(shí)體保存到構(gòu)件庫(kù)中,并在統(tǒng)一構(gòu)件封裝件中將構(gòu)件的本地地址更新,接著利用XML與SQL Server數(shù)據(jù)庫(kù)的轉(zhuǎn)換工具,將每個(gè)構(gòu)件的分類(lèi)信息和基本描述信息以記錄的形式完整地保存在SQL數(shù)據(jù)庫(kù)中。
      將構(gòu)件分類(lèi)信息和基本描述信息映射到刻面術(shù)語(yǔ)空間上之后,以記錄的形式,保存在數(shù)據(jù)庫(kù)中,這主要是利用刻面術(shù)語(yǔ)空間規(guī)范性和確定性,并充分發(fā)揮SQL Server數(shù)據(jù)庫(kù)在關(guān)鍵詞檢索方面的優(yōu)勢(shì),加速縱向構(gòu)件檢索,與基于構(gòu)件索引結(jié)構(gòu)XML表的橫向?yàn)g覽機(jī)制相輔相成,便于更高精度地定位構(gòu)件。
      本步驟的具體操作過(guò)程如下(1)從待入庫(kù)構(gòu)件的統(tǒng)一構(gòu)件封裝件中獲得構(gòu)件分類(lèi)信息和基本描述信息;(2)按照構(gòu)件庫(kù)的刻面分類(lèi),依次提取相應(yīng)領(lǐng)域的有效關(guān)鍵詞,得到構(gòu)件的功能、類(lèi)型、復(fù)用層次分別對(duì)應(yīng)的描述符;(3)利用已有的自然語(yǔ)言處理模塊,進(jìn)行描述信息映射,按匹配最完全的原則確定構(gòu)件的規(guī)范刻面屬性;(4)若尚未打開(kāi)已經(jīng)在構(gòu)件目錄庫(kù)計(jì)算機(jī)上創(chuàng)建的XML信息索引結(jié)構(gòu)表,則打開(kāi)該索引結(jié)構(gòu)表文件;(5)根據(jù)第三步中獲得的構(gòu)件刻面各級(jí)規(guī)范術(shù)語(yǔ),在XML信息索引結(jié)構(gòu)表定位術(shù)語(yǔ)位置,并將該構(gòu)件的唯一ID包裝成XML結(jié)點(diǎn)描述,掛在該術(shù)語(yǔ)結(jié)點(diǎn)內(nèi),因?yàn)闃?gòu)件有多個(gè)領(lǐng)域的術(shù)語(yǔ),則在信息索引結(jié)構(gòu)表中該構(gòu)件的結(jié)點(diǎn)描述要掛在多個(gè)相應(yīng)術(shù)語(yǔ)內(nèi),如圖5所示;(6)再將此構(gòu)件的刻面各級(jí)規(guī)范術(shù)語(yǔ)與構(gòu)件ID、構(gòu)件基本描述信息一起,整合生成SQL記錄添加命令,該SQL語(yǔ)句的格式為Insert into ComponentTable(構(gòu)件ID,構(gòu)件類(lèi)別,構(gòu)件功能,復(fù)用層次,構(gòu)件描述信息)Values(′構(gòu)件ID′ ,′構(gòu)件類(lèi)別術(shù)語(yǔ)′,′構(gòu)件功能術(shù)語(yǔ)′復(fù)用層次術(shù)語(yǔ)′構(gòu)件基本描述信息′);(7)連接SQL Server數(shù)據(jù)庫(kù),并執(zhí)行步驟(6)生成的記錄添加命令,使該構(gòu)件的分類(lèi)信息和基本描述信息以記錄形式保存到構(gòu)件分類(lèi)檢索表中;(8)在構(gòu)件庫(kù)保存構(gòu)件實(shí)體的目錄下創(chuàng)建一個(gè)以構(gòu)件ID命名的文件夾,將原來(lái)臨時(shí)文件夾中的構(gòu)件實(shí)體存放至該ID文件夾下;(9)在統(tǒng)一構(gòu)件封裝件中將構(gòu)件地址更新為構(gòu)件庫(kù)中的本地地址;(10)把修改完的構(gòu)件統(tǒng)一封裝件以構(gòu)件ID命名,放入目錄信息庫(kù)的構(gòu)件描述信息文件夾中;(11)若還有其他待入庫(kù)的構(gòu)件,則回到步驟(1)重復(fù)此過(guò)程,否則關(guān)閉XML信息索引結(jié)構(gòu)表文件,完成構(gòu)件入庫(kù)存儲(chǔ)及索引建立的方法。
      第六步,結(jié)合步驟5獲取的構(gòu)件描述信息,在步驟2設(shè)計(jì)的統(tǒng)一構(gòu)件分類(lèi)組織體系基礎(chǔ)上,實(shí)現(xiàn)構(gòu)件庫(kù)的統(tǒng)一檢索和訪(fǎng)問(wèn)管理。
      構(gòu)件檢索和訪(fǎng)問(wèn)方法是根據(jù)用戶(hù)提供的檢索條件,結(jié)合構(gòu)件索引信息庫(kù)的索引結(jié)構(gòu)和SQL Server數(shù)據(jù)庫(kù)中的表項(xiàng)記錄來(lái)查找構(gòu)件。構(gòu)件檢索是構(gòu)件庫(kù)實(shí)現(xiàn)的關(guān)鍵模塊之一,它直接影響到構(gòu)件庫(kù)中的構(gòu)件能否最終得到復(fù)用。是否提供良好的檢索方法是衡量構(gòu)件庫(kù)管理系統(tǒng)成功與否的主要標(biāo)志。
      構(gòu)件庫(kù)系統(tǒng)一般要提供多種方法來(lái)方便軟件復(fù)用人員使用和提高檢索效率,針對(duì)不同的要求采取不同的檢索的方法。本發(fā)明中所闡述的構(gòu)件檢索方法主要是為進(jìn)一步構(gòu)件封裝和個(gè)性化服務(wù)而設(shè)計(jì)的,包括基于刻面領(lǐng)域分類(lèi)的檢索和基于構(gòu)件信息關(guān)鍵詞的檢索,最后還需要檢查構(gòu)件接口信息是否符合要求。
      異構(gòu)構(gòu)件統(tǒng)一檢索和訪(fǎng)問(wèn)方法的流程如圖6所示,具體包括以下步驟(1)獲取構(gòu)件使用方提出的構(gòu)件需求條件,以XML的形式傳遞和保存,文件格式如圖7所示;(2)從構(gòu)件需求中提取檢索刻面的術(shù)語(yǔ)及其相應(yīng)的術(shù)語(yǔ)空間;(3)對(duì)于有效的檢索刻面的術(shù)語(yǔ),結(jié)合其領(lǐng)域信息,進(jìn)行SQL Server數(shù)據(jù)庫(kù)查詢(xún),其SQL語(yǔ)句格式為select構(gòu)件ID,構(gòu)件描述信息from ComponentTable where+檢索條件檢索條件包括構(gòu)件類(lèi)型=′構(gòu)件類(lèi)型術(shù)語(yǔ)′構(gòu)件功能=′構(gòu)件功能術(shù)語(yǔ)′復(fù)用層次=′復(fù)用層次術(shù)語(yǔ)′
      這三個(gè)條件中的一個(gè)或多個(gè),之間用“and”操作符連接;(4)將刻面檢索的結(jié)果保存在臨時(shí)數(shù)據(jù)集DataSet1中;(5)從構(gòu)件需求中提取檢索關(guān)鍵詞,并進(jìn)行有效性檢查,刪除空的或者非法的查詢(xún)條件;(6)根據(jù)空格或標(biāo)點(diǎn)等條件將用戶(hù)輸入的多個(gè)關(guān)鍵詞進(jìn)行拆分,并以鏈表的形式分離保存;(7)按鏈表中關(guān)鍵詞的個(gè)數(shù)設(shè)計(jì)循環(huán)體,從鏈表中依次取出關(guān)鍵詞,針對(duì)前面步驟(4)中得到的臨時(shí)數(shù)據(jù)集DataSet1的構(gòu)件基本描述信息域進(jìn)行掃描,把所有包含該關(guān)鍵詞的記錄全部挖掘出來(lái);(8)對(duì)于每一個(gè)關(guān)鍵詞,不斷重復(fù)步驟(7),依次在前一次的挖掘結(jié)果中進(jìn)行再度搜索,直到檢索完最后一個(gè)關(guān)鍵詞得到包含所有關(guān)鍵詞的概要信息的記錄為止;(9)將關(guān)鍵詞檢索的結(jié)果保存在臨時(shí)數(shù)據(jù)集DataSet2中,即DataSet2中保存著所有滿(mǎn)足條件的構(gòu)件ID;(10)根據(jù)DataSet2中的構(gòu)件ID,從構(gòu)件信息庫(kù)中提取以這些ID命名的構(gòu)件信息描述統(tǒng)一構(gòu)件封裝件;(11)對(duì)于每個(gè)封裝件,掃描其接口描述信息,主要檢查構(gòu)件輸入和輸出接口數(shù)量是否分別與用戶(hù)提出的接口要求一致,以及各個(gè)接口的數(shù)據(jù)類(lèi)型是否能匹配,然后把進(jìn)一步選取的結(jié)果中所有滿(mǎn)足檢索條件的構(gòu)件的統(tǒng)一封裝件以XML的形式返回給用戶(hù),供開(kāi)發(fā)人員或終端用戶(hù)進(jìn)行更細(xì)致的檢索,如構(gòu)件的基本信息、接口定義等等,便于構(gòu)件的復(fù)用;(12)對(duì)于最終確定的需要獲取的構(gòu)件,根據(jù)構(gòu)件信息描述中的本地地址信息,從構(gòu)件實(shí)體庫(kù)中下載構(gòu)件實(shí)體并保存。
      完成以上步驟后,可檢索并獲取滿(mǎn)足構(gòu)件組裝條件的構(gòu)件,包括構(gòu)件統(tǒng)一描述信息和構(gòu)件實(shí)體。
      權(quán)利要求
      1.一種支持異構(gòu)構(gòu)件的構(gòu)件庫(kù)統(tǒng)一管理方法,其特征在于,所述方法依次含有以下步驟步驟(1)在一臺(tái)或多臺(tái)計(jì)算機(jī)上設(shè)置構(gòu)件庫(kù),其上存儲(chǔ)所有構(gòu)件的實(shí)體,形成構(gòu)件庫(kù)計(jì)算機(jī);步驟(2)在另一臺(tái)計(jì)算機(jī)上設(shè)置構(gòu)件目錄庫(kù),維護(hù)一個(gè)統(tǒng)一構(gòu)件封裝件庫(kù),用于存儲(chǔ)構(gòu)件描述信息的集合,形成構(gòu)件目錄庫(kù)計(jì)算機(jī);步驟(3)依次按以下步驟在構(gòu)件目錄庫(kù)計(jì)算機(jī)上設(shè)計(jì)一種異構(gòu)統(tǒng)一的構(gòu)件分類(lèi)組織體系,以此構(gòu)造基于XML的網(wǎng)狀構(gòu)件信息索引結(jié)構(gòu)表,并創(chuàng)建基于SQL Server數(shù)據(jù)庫(kù)的構(gòu)件分類(lèi)檢索表步驟(3.1)按構(gòu)件屬性把構(gòu)件庫(kù)劃分為以下三個(gè)刻面領(lǐng)域構(gòu)件類(lèi)型、構(gòu)件功能以及復(fù)用層次,該復(fù)用層次是構(gòu)件在程序挖掘和軟件復(fù)用各個(gè)過(guò)程階段的復(fù)用層次;步驟(3.2)構(gòu)造多刻面網(wǎng)狀結(jié)構(gòu)的空的XML信息索引結(jié)構(gòu)表,在所述網(wǎng)狀結(jié)構(gòu)中,每個(gè)葉節(jié)點(diǎn)對(duì)應(yīng)于一個(gè)包括構(gòu)件的描述信息以及一個(gè)指明構(gòu)件實(shí)體所在位置的標(biāo)識(shí)在內(nèi)的構(gòu)件說(shuō)明,每個(gè)非葉節(jié)點(diǎn)對(duì)應(yīng)一個(gè)由相同類(lèi)別的一組構(gòu)件說(shuō)明所構(gòu)成的元目錄,含有包括元目錄的名稱(chēng)、定義在內(nèi)的描述信息以及該元目錄下的構(gòu)件說(shuō)明的索引信息;步驟(3.3)遍歷和提取構(gòu)件庫(kù)刻面領(lǐng)域和術(shù)語(yǔ)空間的關(guān)鍵詞信息,生成包括刻面領(lǐng)域、一級(jí)術(shù)語(yǔ)、二級(jí)術(shù)語(yǔ)在內(nèi)的以大綱形式描述的構(gòu)件索引結(jié)構(gòu),然后根據(jù)XMLSchema規(guī)范,以樹(shù)狀形式將構(gòu)件索引結(jié)構(gòu)寫(xiě)入到步驟(3.2)所述的空的XML文件中,該文檔中描述三個(gè)刻面領(lǐng)域節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)下包含若干個(gè)子領(lǐng)域術(shù)語(yǔ)節(jié)點(diǎn),最底層為各個(gè)構(gòu)件節(jié)點(diǎn)及其ID;步驟(3.4)在構(gòu)件目錄庫(kù)計(jì)算機(jī)的SQL Server數(shù)據(jù)庫(kù)中創(chuàng)建構(gòu)件分類(lèi)檢索表,表項(xiàng)包括構(gòu)件ID、構(gòu)件刻面領(lǐng)域和構(gòu)件基本描述;步驟(4)將從Internet上各個(gè)專(zhuān)業(yè)構(gòu)件庫(kù)下載異構(gòu)構(gòu)件保存在臨時(shí)文件夾中,并按照描述信息進(jìn)行分類(lèi),用統(tǒng)一XML形式描述所提取的各構(gòu)件的自身信息,經(jīng)過(guò)映射形成統(tǒng)一的構(gòu)件封裝件,保存在統(tǒng)一構(gòu)件封裝件庫(kù)中,所述的描述信息是指判斷構(gòu)件類(lèi)型用的構(gòu)件文件擴(kuò)展名及內(nèi)部自帶的標(biāo)識(shí)字段;步驟(5)根據(jù)構(gòu)件的統(tǒng)一構(gòu)件封裝件信息,進(jìn)行本地構(gòu)件入庫(kù)存儲(chǔ)以及建立索引操作,依次包括以下步驟步驟(5.1)從待入庫(kù)構(gòu)件的統(tǒng)一構(gòu)件封裝件中獲得構(gòu)件分類(lèi)信息和構(gòu)件基本描述信息;步驟(5.2)按照構(gòu)件庫(kù)的刻面領(lǐng)域分類(lèi),依次提取相應(yīng)領(lǐng)域的有效關(guān)鍵詞,得到構(gòu)件的功能、類(lèi)型、復(fù)用層次各領(lǐng)域分別對(duì)應(yīng)的描述關(guān)鍵詞;步驟(5.3)利用已設(shè)定的自然語(yǔ)言處理模塊,進(jìn)行描述信息映射,按匹配最完全的原則確定構(gòu)件的規(guī)范刻面屬性;步驟(5.4)打開(kāi)在構(gòu)件目錄庫(kù)計(jì)算機(jī)上創(chuàng)建的XML信息索引結(jié)構(gòu)表;步驟(5.5)根據(jù)步驟(3.3)獲得的構(gòu)件刻面各級(jí)規(guī)范術(shù)語(yǔ),在XML信息索引結(jié)構(gòu)表中定位術(shù)語(yǔ)位置,并將該構(gòu)件的唯一ID包裝成XML結(jié)點(diǎn)描述,掛在該術(shù)語(yǔ)節(jié)點(diǎn)內(nèi),同一結(jié)點(diǎn)描述需要掛在多個(gè)相應(yīng)術(shù)語(yǔ)節(jié)點(diǎn)內(nèi);步驟(5.6)再將此構(gòu)件的刻面各級(jí)規(guī)范術(shù)語(yǔ)與構(gòu)件ID、構(gòu)件基本描述信息一起,整合生成SQL記錄添加命令,記錄構(gòu)件ID、構(gòu)件類(lèi)型、構(gòu)件功能、復(fù)用層次和構(gòu)件基本描述信息;步驟(5.7)連接SQL Server數(shù)據(jù)庫(kù),并執(zhí)行步驟(5.6)生成的記錄添加命令,使該構(gòu)件的分類(lèi)信息和基本描述信息以記錄形式保存到構(gòu)件分類(lèi)檢索表中;步驟(5.8)在構(gòu)件庫(kù)保存構(gòu)件實(shí)體的目錄下創(chuàng)建一個(gè)以構(gòu)件ID命名的文件夾,將原來(lái)臨時(shí)文件夾中的構(gòu)件實(shí)體存放至該ID文件夾下;步驟(5.9)在構(gòu)件封裝件中把構(gòu)件地址更新為構(gòu)件庫(kù)中的本地地址;步驟(5.10)把修改完的構(gòu)件封裝件以構(gòu)件ID命名,放入構(gòu)件目錄庫(kù)的構(gòu)件描述信息文件夾中;步驟(5.11)重復(fù)步驟(5.1)~(5.10),直到全部待入庫(kù)的構(gòu)件入庫(kù),關(guān)閉XML信息索引結(jié)構(gòu)表文件,完成構(gòu)件入庫(kù)及索引建立的步驟;步驟(6)對(duì)構(gòu)件庫(kù)實(shí)行統(tǒng)一檢索和訪(fǎng)問(wèn)管理,包括以下步驟步驟(6.1)獲取構(gòu)件使用方提出的構(gòu)件需求條件,格式至少包括指定的刻面領(lǐng)域術(shù)語(yǔ)特征、關(guān)鍵詞、接口信息,以XML的形式傳遞和保存;步驟(6.2)從構(gòu)件需求中提取檢索刻面領(lǐng)域術(shù)語(yǔ)及其相應(yīng)的術(shù)語(yǔ)空間;步驟(6.3)對(duì)于已獲取的檢索刻面術(shù)語(yǔ),結(jié)合其刻面領(lǐng)域信息,進(jìn)行SQL Server數(shù)據(jù)庫(kù)查詢(xún);步驟(6.4)把刻面檢索的結(jié)果保存在臨時(shí)數(shù)據(jù)集DataSet1中;步驟(6.5)從步驟(6.1)的構(gòu)件需求中提取檢索關(guān)鍵詞;步驟(6.6)對(duì)用戶(hù)輸入的每個(gè)經(jīng)過(guò)有效性檢查通過(guò)的關(guān)鍵檢索詞進(jìn)行拆分,并以鏈表的形式分離保存;步驟(6.7)按鏈表中關(guān)鍵詞的個(gè)數(shù)設(shè)計(jì)循環(huán)體,從鏈表中依次取出關(guān)鍵詞,針對(duì)前面步驟(6.4)中得到的臨時(shí)數(shù)據(jù)集DataSet1的構(gòu)件基本描述信息域進(jìn)行掃描,把所有包含該關(guān)鍵詞的記錄全部挖掘出來(lái);步驟(6.8)重復(fù)步驟(6.7),依次在前一次的挖掘結(jié)果中進(jìn)行再搜索,直到檢索完最后一個(gè)關(guān)鍵詞得到包含所有關(guān)鍵詞的概要信息的記錄為止;步驟(6.9)將關(guān)鍵詞檢索的結(jié)果保存在臨時(shí)數(shù)據(jù)集DataSet2中,同時(shí)得到了所有滿(mǎn)足檢索條件的構(gòu)件ID;步驟(6.10)根據(jù)DataSet2中的構(gòu)件ID,從構(gòu)件信息庫(kù)中提取以這些ID命名的構(gòu)件信息描述統(tǒng)一構(gòu)件封裝件;步驟(6.11)對(duì)于每個(gè)封裝件,掃描其接口描述信息,確認(rèn)與用戶(hù)提出的接口要求一致、且數(shù)據(jù)類(lèi)型匹配后,把滿(mǎn)足檢索條件的統(tǒng)一構(gòu)件封裝件以XML的形式返回給用戶(hù),供需求方進(jìn)行更細(xì)致的檢查;步驟(6.12)根據(jù)構(gòu)件信息描述中的本地地址信息,從構(gòu)件實(shí)體庫(kù)中下載所需要的構(gòu)件實(shí)體并保存。
      全文摘要
      本發(fā)明涉及一種支持異構(gòu)構(gòu)件的構(gòu)件庫(kù)統(tǒng)一管理方法,屬于軟件工程技術(shù)領(lǐng)域。其特征在于,包括以下步驟在對(duì)異構(gòu)構(gòu)件的統(tǒng)一構(gòu)件封裝結(jié)構(gòu)的基礎(chǔ)上,創(chuàng)建一種以XML和SQLServer數(shù)據(jù)庫(kù)相結(jié)合的網(wǎng)狀索引結(jié)構(gòu)作為構(gòu)件庫(kù)體系框架;對(duì)異構(gòu)構(gòu)件進(jìn)行分類(lèi)組織;歸一化后存儲(chǔ)到所述分類(lèi)組織模式定義的構(gòu)件檢索庫(kù)中;在構(gòu)件統(tǒng)一分類(lèi)和存儲(chǔ)的基礎(chǔ)上實(shí)現(xiàn)對(duì)構(gòu)件庫(kù)的一致性訪(fǎng)問(wèn)和檢索。本發(fā)明有效完成每個(gè)構(gòu)件從互聯(lián)網(wǎng)上被獲取到本地,經(jīng)過(guò)驗(yàn)證、信息映射規(guī)范、描述信息和實(shí)體入庫(kù)、構(gòu)件檢索訪(fǎng)問(wèn)一系列操作,形成統(tǒng)一的數(shù)據(jù)封裝、傳輸和解析規(guī)范,從而為互聯(lián)網(wǎng)個(gè)性化按需服務(wù)所涉及的程序挖掘和構(gòu)件組裝提供支持。
      文檔編號(hào)G06F17/30GK1877523SQ20061008938
      公開(kāi)日2006年12月13日 申請(qǐng)日期2006年6月23日 優(yōu)先權(quán)日2006年6月23日
      發(fā)明者張堯?qū)W, 鐘鳴, 方存好, 田鵬偉 申請(qǐng)人:清華大學(xué)
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1