本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,尤其涉及一種運(yùn)用管理工具與靜態(tài)數(shù)據(jù)倉(cāng)庫(kù)的項(xiàng)目依賴(lài)關(guān)系解決方法。
背景技術(shù):
大家合作的過(guò)程中相同的功能有可能出現(xiàn)幾份不同的實(shí)現(xiàn),無(wú)法形成標(biāo)準(zhǔn)化,需要把這些公共的代碼統(tǒng)一化并進(jìn)行管理。
為給企業(yè)提供及時(shí)有效的決策支持,遠(yuǎn)程數(shù)據(jù)倉(cāng)庫(kù)需要向數(shù)據(jù)新鮮度更高水平的方向發(fā)展,但是總存在項(xiàng)目關(guān)系解決過(guò)程的問(wèn)題,標(biāo)代碼不統(tǒng)一、構(gòu)建項(xiàng)目復(fù)雜、依賴(lài)關(guān)系不明確,無(wú)法能實(shí)時(shí)獲取數(shù)據(jù)庫(kù)中的數(shù)據(jù)信息并完成項(xiàng)目包安裝,卻是對(duì)安裝項(xiàng)目的代碼數(shù)據(jù)包的的版本進(jìn)行透明查詢(xún),當(dāng)有一個(gè)項(xiàng)目數(shù)據(jù)包的版本出現(xiàn)偏差或者版本已經(jīng)更新,或者出現(xiàn)多個(gè)版本時(shí),無(wú)法及時(shí)對(duì)版本進(jìn)行總體查詢(xún)與優(yōu)化設(shè)計(jì),無(wú)法實(shí)現(xiàn)對(duì)模式進(jìn)化的版本控制,無(wú)法有效保證項(xiàng)目代碼分離包安裝的可靠性。
因此,本領(lǐng)域的技術(shù)人員亟需研究出一種可形成標(biāo)準(zhǔn)代碼、重復(fù)使用、簡(jiǎn)便靈活、構(gòu)建項(xiàng)目簡(jiǎn)單、依賴(lài)關(guān)系明確,能實(shí)時(shí)獲取數(shù)據(jù)庫(kù)中的數(shù)據(jù)信息并完成項(xiàng)目包安裝的運(yùn)用管理工具與靜態(tài)數(shù)據(jù)倉(cāng)庫(kù)的項(xiàng)目依賴(lài)關(guān)系解決辦法。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決的技術(shù)問(wèn)題是提供一種運(yùn)用管理工具與靜態(tài)數(shù)據(jù)倉(cāng)庫(kù)的項(xiàng)目依賴(lài)關(guān)系解決辦法,該運(yùn)用管理工具與靜態(tài)數(shù)據(jù)倉(cāng)庫(kù)的項(xiàng)目依賴(lài)關(guān)系解決辦法可形成標(biāo)準(zhǔn)代碼、重復(fù)使用、簡(jiǎn)便靈活、構(gòu)建項(xiàng)目簡(jiǎn)單、依賴(lài)關(guān)系明確,能實(shí)時(shí)獲取數(shù)據(jù)庫(kù)中的數(shù)據(jù)信息并完成項(xiàng)目包安裝,對(duì)安裝項(xiàng)目的代碼數(shù)據(jù)包的的版本進(jìn)行透明查詢(xún)及優(yōu)化設(shè)計(jì),在遠(yuǎn)程數(shù)據(jù)倉(cāng)庫(kù)基礎(chǔ)上實(shí)現(xiàn)對(duì)模式進(jìn)化的版本控制,有效保證項(xiàng)目代碼分離包安裝的可靠性。
為解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種運(yùn)用管理工具與靜態(tài)數(shù)據(jù)倉(cāng)庫(kù)的項(xiàng)目依賴(lài)關(guān)系解決方法,提供靜態(tài)資源倉(cāng)庫(kù)生成器、遠(yuǎn)程倉(cāng)庫(kù)、公共代碼分離包存儲(chǔ)器、靜態(tài)資源倉(cāng)庫(kù)、管理項(xiàng)目依賴(lài)關(guān)系模塊及項(xiàng)目依賴(lài)關(guān)系定義模塊,所述運(yùn)用管理工具與靜態(tài)數(shù)據(jù)倉(cāng)庫(kù)的項(xiàng)目依賴(lài)關(guān)系解決方法包括以下步驟:
S1:所述公共代碼分離包存儲(chǔ)器將項(xiàng)目中常用到的功能拆分出來(lái)形成一個(gè)代碼分離包,然后將所述代碼分離包發(fā)送給所述遠(yuǎn)程代碼資源倉(cāng)庫(kù)生成器,所述遠(yuǎn)程代碼資源倉(cāng)庫(kù)生成器接收所述公共代碼分離包存儲(chǔ)器中的代碼分離包,并生成用于存儲(chǔ)代碼分離包的遠(yuǎn)程倉(cāng)庫(kù);
S2:所述靜態(tài)資源倉(cāng)庫(kù)生成器與所述遠(yuǎn)程倉(cāng)庫(kù)建立資源共享;
S3:所述靜態(tài)資源倉(cāng)庫(kù)生成器分析放在所述遠(yuǎn)程倉(cāng)庫(kù)上的各種代碼分離包,獲取所述代碼分離包的元數(shù)據(jù),構(gòu)建一個(gè)靜態(tài)資源倉(cāng)庫(kù),當(dāng)在本地構(gòu)建項(xiàng)目時(shí),需要實(shí)現(xiàn)一種功能,所述管理項(xiàng)目依賴(lài)關(guān)系模塊查找所述靜態(tài)資源倉(cāng)庫(kù)是否有實(shí)現(xiàn)所述功能的代碼分離包元數(shù)據(jù),如果有,所述項(xiàng)目依賴(lài)關(guān)系定義模塊在項(xiàng)目中定義依賴(lài)關(guān)系,所述依賴(lài)關(guān)系通過(guò)一個(gè)json文件來(lái)聲明并形成一個(gè)可由所述管理項(xiàng)目依賴(lài)關(guān)系模塊識(shí)別的一個(gè)配置文件,所述項(xiàng)目依賴(lài)關(guān)系定義模塊將所述配置文件發(fā)送給所述管理項(xiàng)目依賴(lài)關(guān)系模塊,所述管理項(xiàng)目依賴(lài)關(guān)系模塊查詢(xún)所述代碼分離包所代表的項(xiàng)目的版本并對(duì)代碼分離包的數(shù)據(jù)進(jìn)行版本的優(yōu)化,所述管理項(xiàng)目依賴(lài)關(guān)系模塊獲得代碼分離包元數(shù)據(jù)后,根據(jù)代碼分離包的元數(shù)據(jù)去所述遠(yuǎn)程倉(cāng)庫(kù)獲取代碼分離包文件,所述管理項(xiàng)目依賴(lài)關(guān)系模塊根據(jù)所述配置文件及代碼分離包的版本信息安裝解決所述項(xiàng)目依賴(lài)關(guān)系的代碼分離包。
優(yōu)選地,所述靜態(tài)資源倉(cāng)庫(kù)定義了代碼分離包的來(lái)源、代碼分離包的版本。
優(yōu)選地,所述管理項(xiàng)目依賴(lài)關(guān)系模塊包括控制單元、查詢(xún)優(yōu)化單元、查詢(xún)分析單元、查詢(xún)結(jié)果集成單元、及項(xiàng)目安裝單元,所述步驟S3的實(shí)現(xiàn)步驟包括:所述查詢(xún)分析單元根據(jù)查詢(xún)聚合條件檢查代碼數(shù)據(jù)包的語(yǔ)句的語(yǔ)義和語(yǔ)法是否符合查詢(xún)代數(shù)邏輯,若正確,利用元數(shù)據(jù)計(jì)算公式完成查詢(xún)所需要的數(shù)據(jù)倉(cāng)庫(kù)版本集合,將查詢(xún)語(yǔ)句分解為一組獨(dú)立的子查詢(xún),每個(gè)子查詢(xún)針對(duì)一個(gè)數(shù)據(jù)項(xiàng)目版本進(jìn)行計(jì)算,若錯(cuò)誤,則結(jié)束流程;
所述控制單元將分解后的子查詢(xún)分發(fā)到各個(gè)項(xiàng)目版本上執(zhí)行,所述查詢(xún)優(yōu)化單元對(duì)子查詢(xún)進(jìn)行優(yōu)化處理,監(jiān)控子查詢(xún)能否正確執(zhí)行,若所有子查詢(xún)都能成功執(zhí)行,將子查詢(xún)結(jié)果傳送到查詢(xún)結(jié)果集成單元,所述查詢(xún)結(jié)果集成單元將多個(gè)子查詢(xún)的結(jié)果進(jìn)行集成后輸出。
優(yōu)選地,所述查詢(xún)結(jié)果集成單元利用轉(zhuǎn)換函數(shù)將一個(gè)項(xiàng)目模式版本下的查詢(xún)結(jié)果轉(zhuǎn)換為指定的另一個(gè)模式版本結(jié)構(gòu)中的數(shù)據(jù)。
優(yōu)選地,所述查詢(xún)分析單元的查詢(xún)結(jié)果為F,所述查詢(xún)聚合條件為:將Qr與B1,B2,…,BK聚合形成Qg,所述查詢(xún)分析單元運(yùn)用聚合函數(shù)從R1,R2,…,Rp中選擇A1,A2,…,Am,φ(Am+1),…,φ(An);
其中,R1,R2,…,Rp為維度表或事實(shí)表,A1,A2,…,Am和B1,B2,…,BK為R1,R2,…,Rp中的屬性;為在屬性Am+1,…,An上的聚合函數(shù),B1,B2,…,BK為分組聚合屬性;Qr為記錄篩選條件,Qg為分組篩選條件,Qr=Λfi,Qg=Λfj,Λ代表邏輯運(yùn)算符;fi(i=1,2,…,s)和fj(j=s+1,…,t)都是形為xθy的式子,θ為關(guān)系運(yùn)算符,x為R1,R2,…,Rp中的屬性,y可以為R1,R2,…,Rp中的屬性或變量、常量。
優(yōu)選地,所述查詢(xún)優(yōu)化單元對(duì)查詢(xún)結(jié)果F進(jìn)行優(yōu)化選擇相應(yīng)的聚合優(yōu)化函數(shù),所述查詢(xún)結(jié)果集成單元將查詢(xún)結(jié)果F根據(jù)聚合優(yōu)化函數(shù)進(jìn)行再聚合,
所述查詢(xún)結(jié)果集成單元將查詢(xún)結(jié)果F分解為一組子查詢(xún){F_S1,F_S2,…,F_Sn},再將子查詢(xún)結(jié)果合并,即F=F_S1∪F_S2∪…∪F_Sn,
其中,所述聚合優(yōu)化函數(shù)包括sum(),avg(),count(),max()和min(),所述查詢(xún)結(jié)果F的聚合結(jié)果為所述子查詢(xún)F_Si的聚合結(jié)果為所述查詢(xún)結(jié)果經(jīng)過(guò)化后的聚合結(jié)果如下所示:
(4)F*max(Ak)=max(F_S1*max(Ak),F_S2*max(Ak),…,F_Sn*max(Ak));
(5)F*min(Ak)=min(F_S1*min(Ak),F_S2*max(Ak),…,F_Sn*min(Ak))。
優(yōu)選地,所述靜態(tài)資源倉(cāng)庫(kù)生成器包括數(shù)據(jù)包接收分析模塊、元數(shù)據(jù)提取模塊及數(shù)據(jù)倉(cāng)庫(kù)生成模塊,所述步驟S3的實(shí)現(xiàn)步驟包括:所述數(shù)據(jù)包接收分析模塊接收所述遠(yuǎn)程倉(cāng)庫(kù)的項(xiàng)目的代碼分離包并對(duì)所述接收的代碼分離包進(jìn)行分析獲取所述代碼分離包的元數(shù)據(jù),所述元數(shù)據(jù)提取模塊提取所述數(shù)據(jù)包接收分析模塊的元數(shù)據(jù)并將接收的元數(shù)據(jù)發(fā)送給所述數(shù)據(jù)倉(cāng)庫(kù)生成模塊,所述數(shù)據(jù)倉(cāng)庫(kù)生成模塊根據(jù)獲取的所述代碼分離包的元數(shù)據(jù),構(gòu)建一個(gè)靜態(tài)資源倉(cāng)庫(kù)。
采用了上述方法之后,所述公共代碼分離包存儲(chǔ)器將項(xiàng)目中常用到的功能拆分出來(lái)形成一個(gè)代碼分離包,然后將所述代碼分離包發(fā)送給所述遠(yuǎn)程代碼資源倉(cāng)庫(kù)生成器,所述遠(yuǎn)程代碼資源倉(cāng)庫(kù)生成器接收所述公共代碼分離包存儲(chǔ)器中的代碼分離包,并生成用于存儲(chǔ)代碼分離包的遠(yuǎn)程倉(cāng)庫(kù),所述靜態(tài)資源倉(cāng)庫(kù)生成器與所述遠(yuǎn)程倉(cāng)庫(kù)建立資源共享;所述靜態(tài)資源倉(cāng)庫(kù)生成器分析放在所述遠(yuǎn)程倉(cāng)庫(kù)上的各種代碼分離包,獲取所述代碼分離包的元數(shù)據(jù),構(gòu)建一個(gè)靜態(tài)資源倉(cāng)庫(kù),當(dāng)在本地構(gòu)建項(xiàng)目時(shí),需要實(shí)現(xiàn)一種功能,所述管理項(xiàng)目依賴(lài)關(guān)系模塊查找所述靜態(tài)資源倉(cāng)庫(kù)是否有實(shí)現(xiàn)所述功能的代碼分離包元數(shù)據(jù),如果有,所述項(xiàng)目依賴(lài)關(guān)系定義模塊在項(xiàng)目中定義依賴(lài)關(guān)系,所述依賴(lài)關(guān)系通過(guò)一個(gè)json文件來(lái)聲明并形成一個(gè)可由所述管理項(xiàng)目依賴(lài)關(guān)系模塊識(shí)別的一個(gè)配置文件,所述項(xiàng)目依賴(lài)關(guān)系定義模塊將所述配置文件發(fā)送給所述管理項(xiàng)目依賴(lài)關(guān)系模塊,所述管理項(xiàng)目依賴(lài)關(guān)系模塊查詢(xún)所述代碼分離包所代表的項(xiàng)目的版本并對(duì)代碼分離包的數(shù)據(jù)進(jìn)行版本的優(yōu)化,所述管理項(xiàng)目依賴(lài)關(guān)系模塊獲得代碼分離包元數(shù)據(jù)后,根據(jù)代碼分離包的元數(shù)據(jù)去所述遠(yuǎn)程倉(cāng)庫(kù)獲取代碼分離包文件,所述管理項(xiàng)目依賴(lài)關(guān)系模塊根據(jù)所述配置文件及代碼分離包的版本信息安裝解決所述項(xiàng)目依賴(lài)關(guān)系的代碼分離包,該運(yùn)用管理工具與靜態(tài)數(shù)據(jù)倉(cāng)庫(kù)的項(xiàng)目依賴(lài)關(guān)系解決辦法可形成標(biāo)準(zhǔn)代碼、重復(fù)使用、簡(jiǎn)便靈活、構(gòu)建項(xiàng)目簡(jiǎn)單、依賴(lài)關(guān)系明確,能實(shí)時(shí)獲取數(shù)據(jù)庫(kù)中的數(shù)據(jù)信息并完成項(xiàng)目包安裝,對(duì)安裝項(xiàng)目的代碼數(shù)據(jù)包的的版本進(jìn)行透明查詢(xún)及優(yōu)化設(shè)計(jì),在遠(yuǎn)程數(shù)據(jù)倉(cāng)庫(kù)基礎(chǔ)上實(shí)現(xiàn)對(duì)模式進(jìn)化的版本控制,有效保證項(xiàng)目代碼分離包安裝的可靠性。
附圖說(shuō)明
圖1是本發(fā)明的一種運(yùn)用管理工具與靜態(tài)數(shù)據(jù)倉(cāng)庫(kù)的項(xiàng)目依賴(lài)關(guān)系解決方法的整體模型示意圖;
圖2是與圖1的整體模型示意圖對(duì)應(yīng)的執(zhí)行流程示意圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用于解釋本發(fā)明,并不用于限定本發(fā)明。
實(shí)施例1
請(qǐng)參閱圖1至圖2,
圖1是本發(fā)明的一種運(yùn)用管理工具與靜態(tài)數(shù)據(jù)倉(cāng)庫(kù)的項(xiàng)目依賴(lài)關(guān)系解決方法的整體模型示意圖;
圖2是與圖1的整體模型示意圖對(duì)應(yīng)的執(zhí)行流程示意圖。
本發(fā)明公開(kāi)了一種運(yùn)用管理工具與靜態(tài)數(shù)據(jù)倉(cāng)庫(kù)的項(xiàng)目依賴(lài)關(guān)系解決方法,其特征在于:提供靜態(tài)資源倉(cāng)庫(kù)生成器、遠(yuǎn)程倉(cāng)庫(kù)、公共代碼分離包存儲(chǔ)器、靜態(tài)資源倉(cāng)庫(kù)、管理項(xiàng)目依賴(lài)關(guān)系模塊及項(xiàng)目依賴(lài)關(guān)系定義模塊,所述運(yùn)用管理工具與靜態(tài)數(shù)據(jù)倉(cāng)庫(kù)的項(xiàng)目依賴(lài)關(guān)系解決方法包括以下步驟:
S1:所述公共代碼分離包存儲(chǔ)器將項(xiàng)目中常用到的功能拆分出來(lái)形成一個(gè)代碼分離包,然后將所述代碼分離包發(fā)送給所述遠(yuǎn)程代碼資源倉(cāng)庫(kù)生成器,所述遠(yuǎn)程代碼資源倉(cāng)庫(kù)生成器接收所述公共代碼分離包存儲(chǔ)器中的代碼分離包,并生成用于存儲(chǔ)代碼分離包的遠(yuǎn)程倉(cāng)庫(kù);
S2:所述靜態(tài)資源倉(cāng)庫(kù)生成器與所述遠(yuǎn)程倉(cāng)庫(kù)建立資源共享;
S3:所述靜態(tài)資源倉(cāng)庫(kù)生成器分析放在所述遠(yuǎn)程倉(cāng)庫(kù)上的各種代碼分離包,獲取所述代碼分離包的元數(shù)據(jù),構(gòu)建一個(gè)靜態(tài)資源倉(cāng)庫(kù),當(dāng)在本地構(gòu)建項(xiàng)目時(shí),需要實(shí)現(xiàn)一種功能,所述管理項(xiàng)目依賴(lài)關(guān)系模塊查找所述靜態(tài)資源倉(cāng)庫(kù)是否有實(shí)現(xiàn)所述功能的代碼分離包元數(shù)據(jù),如果有,所述項(xiàng)目依賴(lài)關(guān)系定義模塊在項(xiàng)目中定義依賴(lài)關(guān)系,所述依賴(lài)關(guān)系通過(guò)一個(gè)json文件來(lái)聲明并形成一個(gè)可由所述管理項(xiàng)目依賴(lài)關(guān)系模塊識(shí)別的一個(gè)配置文件,所述項(xiàng)目依賴(lài)關(guān)系定義模塊將所述配置文件發(fā)送給所述管理項(xiàng)目依賴(lài)關(guān)系模塊,所述管理項(xiàng)目依賴(lài)關(guān)系模塊查詢(xún)所述代碼分離包所代表的項(xiàng)目的版本并對(duì)代碼分離包的數(shù)據(jù)進(jìn)行版本的優(yōu)化,所述管理項(xiàng)目依賴(lài)關(guān)系模塊獲得代碼分離包元數(shù)據(jù)后,根據(jù)代碼分離包的元數(shù)據(jù)去所述遠(yuǎn)程倉(cāng)庫(kù)獲取代碼分離包文件,所述管理項(xiàng)目依賴(lài)關(guān)系模塊根據(jù)所述配置文件及代碼分離包的版本信息安裝解決所述項(xiàng)目依賴(lài)關(guān)系的代碼分離包。
所述靜態(tài)資源倉(cāng)庫(kù)定義了代碼分離包的來(lái)源、代碼分離包的版本。
所述管理項(xiàng)目依賴(lài)關(guān)系模塊包括控制單元、查詢(xún)優(yōu)化單元、查詢(xún)分析單元、查詢(xún)結(jié)果集成單元、及項(xiàng)目安裝單元,所述步驟S3的實(shí)現(xiàn)步驟包括:所述查詢(xún)分析單元根據(jù)查詢(xún)聚合條件檢查代碼數(shù)據(jù)包的語(yǔ)句的語(yǔ)義和語(yǔ)法是否符合查詢(xún)代數(shù)邏輯,若正確,利用元數(shù)據(jù)計(jì)算公式完成查詢(xún)所需要的數(shù)據(jù)倉(cāng)庫(kù)版本集合,將查詢(xún)語(yǔ)句分解為一組獨(dú)立的子查詢(xún),每個(gè)子查詢(xún)針對(duì)一個(gè)數(shù)據(jù)項(xiàng)目版本進(jìn)行計(jì)算,若錯(cuò)誤,則結(jié)束流程;
所述控制單元將分解后的子查詢(xún)分發(fā)到各個(gè)項(xiàng)目版本上執(zhí)行,所述查詢(xún)優(yōu)化單元對(duì)子查詢(xún)進(jìn)行優(yōu)化處理,監(jiān)控子查詢(xún)能否正確執(zhí)行,若所有子查詢(xún)都能成功執(zhí)行,將子查詢(xún)結(jié)果傳送到查詢(xún)結(jié)果集成單元,所述查詢(xún)結(jié)果集成單元將多個(gè)子查詢(xún)的結(jié)果進(jìn)行集成后輸出。
所述查詢(xún)結(jié)果集成單元利用轉(zhuǎn)換函數(shù)將一個(gè)項(xiàng)目模式版本下的查詢(xún)結(jié)果轉(zhuǎn)換為指定的另一個(gè)模式版本結(jié)構(gòu)中的數(shù)據(jù)。
所述查詢(xún)分析單元的查詢(xún)結(jié)果為F,所述查詢(xún)聚合條件為:將Qr與B1,B2,…,BK聚合形成Qg,所述查詢(xún)分析單元運(yùn)用聚合函數(shù)從R1,R2,…,Rp中選擇A1,A2,…,Am,φ(Am+1),…,φ(An);
其中,R1,R2,…,Rp為維度表或事實(shí)表,A1,A2,…,Am和B1,B2,…,BK為R1,R2,…,Rp中的屬性;為在屬性Am+1,…,An上的聚合函數(shù),B1,B2,…,BK為分組聚合屬性;Qr為記錄篩選條件,Qg為分組篩選條件,Qr=Λfi,Qg=Λfj,Λ代表邏輯運(yùn)算符;fi(i=1,2,…,s)和fj(j=s+1,…,t)都是形為xθy的式子,θ為關(guān)系運(yùn)算符,x為R1,R2,…,Rp中的屬性,y可以為R1,R2,…,Rp中的屬性或變量、常量。
所述查詢(xún)優(yōu)化單元對(duì)查詢(xún)結(jié)果F進(jìn)行優(yōu)化選擇相應(yīng)的聚合優(yōu)化函數(shù),所述查詢(xún)結(jié)果集成單元將查詢(xún)結(jié)果F根據(jù)聚合優(yōu)化函數(shù)進(jìn)行再聚合,
所述查詢(xún)結(jié)果集成單元將查詢(xún)結(jié)果F分解為一組子查詢(xún){F_S1,F_S2,…,F_Sn},再將子查詢(xún)結(jié)果合并,即F=F_S1∪F_S2∪…∪F_Sn,
其中,所述聚合優(yōu)化函數(shù)包括sum(),avg(),count(),max()和min(),所述查詢(xún)結(jié)果F的聚合結(jié)果為所述子查詢(xún)F_Si的聚合結(jié)果為所述查詢(xún)結(jié)果經(jīng)過(guò)化后的聚合結(jié)果如下所示:
(4)F*max(Ak)=max(F_S1*max(Ak),F_S2*max(Ak),…,F_Sn*max(Ak));
(5)F*min(Ak)=min(F_S1*min(Ak),F_S2*max(Ak),…,F_Sn*min(Ak))。
在本實(shí)施例中,所述靜態(tài)資源倉(cāng)庫(kù)生成器包括數(shù)據(jù)包接收分析模塊、元數(shù)據(jù)提取模塊及數(shù)據(jù)倉(cāng)庫(kù)生成模塊,所述步驟S3的實(shí)現(xiàn)步驟包括:所述數(shù)據(jù)包接收分析模塊接收所述遠(yuǎn)程倉(cāng)庫(kù)的項(xiàng)目的代碼分離包并對(duì)所述接收的代碼分離包進(jìn)行分析獲取所述代碼分離包的元數(shù)據(jù),所述元數(shù)據(jù)提取模塊提取所述數(shù)據(jù)包接收分析模塊的元數(shù)據(jù)并將接收的元數(shù)據(jù)發(fā)送給所述數(shù)據(jù)倉(cāng)庫(kù)生成模塊,所述數(shù)據(jù)倉(cāng)庫(kù)生成模塊根據(jù)獲取的所述代碼分離包的元數(shù)據(jù),構(gòu)建一個(gè)靜態(tài)資源倉(cāng)庫(kù)。
采用了上述方法之后,所述公共代碼分離包存儲(chǔ)器將項(xiàng)目中常用到的功能拆分出來(lái)形成一個(gè)代碼分離包,然后將所述代碼分離包發(fā)送給所述遠(yuǎn)程代碼資源倉(cāng)庫(kù)生成器,所述遠(yuǎn)程代碼資源倉(cāng)庫(kù)生成器接收所述公共代碼分離包存儲(chǔ)器中的代碼分離包,并生成用于存儲(chǔ)代碼分離包的遠(yuǎn)程倉(cāng)庫(kù),所述靜態(tài)資源倉(cāng)庫(kù)生成器與所述遠(yuǎn)程倉(cāng)庫(kù)建立資源共享;所述靜態(tài)資源倉(cāng)庫(kù)生成器分析放在所述遠(yuǎn)程倉(cāng)庫(kù)上的各種代碼分離包,獲取所述代碼分離包的元數(shù)據(jù),構(gòu)建一個(gè)靜態(tài)資源倉(cāng)庫(kù),當(dāng)在本地構(gòu)建項(xiàng)目時(shí),需要實(shí)現(xiàn)一種功能,所述管理項(xiàng)目依賴(lài)關(guān)系模塊查找所述靜態(tài)資源倉(cāng)庫(kù)是否有實(shí)現(xiàn)所述功能的代碼分離包元數(shù)據(jù),如果有,所述項(xiàng)目依賴(lài)關(guān)系定義模塊在項(xiàng)目中定義依賴(lài)關(guān)系,所述依賴(lài)關(guān)系通過(guò)一個(gè)json文件來(lái)聲明并形成一個(gè)可由所述管理項(xiàng)目依賴(lài)關(guān)系模塊識(shí)別的一個(gè)配置文件,所述項(xiàng)目依賴(lài)關(guān)系定義模塊將所述配置文件發(fā)送給所述管理項(xiàng)目依賴(lài)關(guān)系模塊,所述管理項(xiàng)目依賴(lài)關(guān)系模塊查詢(xún)所述代碼分離包所代表的項(xiàng)目的版本并對(duì)代碼分離包的數(shù)據(jù)進(jìn)行版本的優(yōu)化,所述管理項(xiàng)目依賴(lài)關(guān)系模塊獲得代碼分離包元數(shù)據(jù)后,根據(jù)代碼分離包的元數(shù)據(jù)去所述遠(yuǎn)程倉(cāng)庫(kù)獲取代碼分離包文件,所述管理項(xiàng)目依賴(lài)關(guān)系模塊根據(jù)所述配置文件及代碼分離包的版本信息安裝解決所述項(xiàng)目依賴(lài)關(guān)系的代碼分離包,該運(yùn)用管理工具與靜態(tài)數(shù)據(jù)倉(cāng)庫(kù)的項(xiàng)目依賴(lài)關(guān)系解決辦法可形成標(biāo)準(zhǔn)代碼、重復(fù)使用、簡(jiǎn)便靈活、構(gòu)建項(xiàng)目簡(jiǎn)單、依賴(lài)關(guān)系明確,能實(shí)時(shí)獲取數(shù)據(jù)庫(kù)中的數(shù)據(jù)信息并完成項(xiàng)目包安裝,對(duì)安裝項(xiàng)目的代碼數(shù)據(jù)包的的版本進(jìn)行透明查詢(xún)及優(yōu)化設(shè)計(jì),在遠(yuǎn)程數(shù)據(jù)倉(cāng)庫(kù)基礎(chǔ)上實(shí)現(xiàn)對(duì)模式進(jìn)化的版本控制,有效保證項(xiàng)目代碼分離包安裝的可靠性。
同時(shí),應(yīng)當(dāng)理解的是,以上僅為本發(fā)明的優(yōu)選實(shí)施例,不能因此限制本發(fā)明的專(zhuān)利范圍,凡是利用本發(fā)明說(shuō)明書(shū)及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效實(shí)現(xiàn)方法,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專(zhuān)利保護(hù)范圍內(nèi)。