本發(fā)明涉及項目數(shù)據(jù)更新領(lǐng)域,具體涉及項目數(shù)據(jù)增量更新方法。
背景技術(shù):
在更新項目的時候采用全量更新會對本來已穩(wěn)定而沒涉及變更的模塊帶來不穩(wěn)定影響,而且有些項目由于全量更新包的體積比較大,影響傳輸效率。所以目前都是采用增量更新的方式。提取增量更新包目前主要有兩種方式:第一種是是通過查看源代碼管理系統(tǒng)的變更記錄(或者手工維護的一份文件變更記錄),然后手動提取需要增量更新的文件,根據(jù)系統(tǒng)的目錄結(jié)構(gòu)組裝成增量更新包,這種方式非常費時費力,而且容易遺漏更新文件。第二種方式是通過文件內(nèi)容比對工具把當(dāng)前發(fā)布的全量更新包和生產(chǎn)環(huán)境的程序文件做全量文件內(nèi)容比對,識別有差異的文件,然后手工提取更新文件,根據(jù)系統(tǒng)的目錄結(jié)構(gòu)組裝成增量更新包,這種方式雖然效率和準(zhǔn)確性比第一種要高,但是依然較為費時費力,以及可能遺漏更新文件。
技術(shù)實現(xiàn)要素:
為了克服現(xiàn)有技術(shù)的不足,本發(fā)明的目的之一在于提供一種項目增量更新方法,解決了現(xiàn)有更新費時費力,而且容易遺漏更新文件的問題。
本發(fā)明的目的之二在于提供一種項目增量更新裝置,解決了現(xiàn)有更新費時費力,而且容易遺漏更新文件的問題。
本發(fā)明的目的之三在于提供一種用戶終端,解決了現(xiàn)有更新費時費力,而且容易遺漏更新文件的問題。
為實現(xiàn)上述目的之一,本發(fā)明所采用的技術(shù)方案如下:
一種項目增量更新方法,包括以下步驟:
s1、加載新發(fā)布程序包,所述新發(fā)布程序包包括全量數(shù)據(jù);
s2、調(diào)用比對命令對比新發(fā)布程序包與當(dāng)前運行程序包,得到待更新文件列表;
s3、解析待更新文件列表,生成增量更新包;
s4、執(zhí)行增量更新包覆蓋至當(dāng)前運行程序包。
優(yōu)選的,所述待更新文件列表包括較新文件和/或新文件和/或多余文件。
優(yōu)選的,在步驟s3中,通過在新發(fā)布程序包中提取較新文件和/或新文件生成增量更新包;還針對多余文件生成批處理刪除命令;
在步驟s4中,還執(zhí)行批處理刪除命令。
優(yōu)選的,所述項目增量更新方法的執(zhí)行環(huán)境為windows環(huán)境,執(zhí)行頻率為每天定時自動執(zhí)行。所述比對命令為robocopy命令。
為實現(xiàn)上述目的之二,本發(fā)明所采用的技術(shù)方案如下:
一種項目增量更新裝置,包括以下模塊:
加載模塊,用于加載新發(fā)布程序包,所述新發(fā)布程序包包括全量數(shù)據(jù);
對比模塊,用于調(diào)用比對命令對比新發(fā)布程序包與當(dāng)前運行程序包,得到待更新文件列表;
解析模塊,用于解析待更新文件列表,生成增量更新包;
更新模塊,用于執(zhí)行增量更新包覆蓋至當(dāng)前運行程序包。
優(yōu)選的,所述待更新文件列表包括較新文件和/或新文件和/或多余文件。
優(yōu)選的,在解析模塊中,通過在新發(fā)布程序包中提取較新文件和/或新文件生成增量更新包;還針對多余文件生成批處理刪除命令;
在更新模塊中,還執(zhí)行批處理刪除命令。
優(yōu)選的,所述項目增量更新裝置的執(zhí)行環(huán)境為windows環(huán)境,執(zhí)行頻率為每天定時自動執(zhí)行。
為實現(xiàn)上述目的之三,本發(fā)明所采用的技術(shù)方案如下:
一種用戶終端,包括:
存儲器,用于存儲程序指令;
處理器,用于運行所述程序指令,以執(zhí)行以下步驟:
s1、加載新發(fā)布程序包,所述新發(fā)布程序包包括全量數(shù)據(jù);
s2、調(diào)用比對命令對比新發(fā)布程序包與當(dāng)前運行程序包,得到待更新文件列表;
s3、解析待更新文件列表,生成增量更新包;
s4、執(zhí)行增量更新包覆蓋至當(dāng)前運行程序包。
優(yōu)選的,所述待更新文件列表包括較新文件和/或新文件和/或多余文件。
優(yōu)選的,在步驟s3中,通過在新發(fā)布程序包中提取較新文件和/或新文件生成增量更新包;還針對多余文件生成批處理刪除命令;
在步驟s4中,還執(zhí)行批處理刪除命令。
優(yōu)選的,所述程序指令的執(zhí)行環(huán)境為windows環(huán)境,執(zhí)行頻率為每天定時自動執(zhí)行。
相比現(xiàn)有技術(shù),本發(fā)明的有益效果在于:
通過windows系統(tǒng)自帶的robocopy工具自動識別2個版本程序包的差異文件,然后根據(jù)差異文件記錄自動提取需要更新的文件并且按照原來的文件夾結(jié)構(gòu)組裝成增量更新包,提高增量更新包提取的效率和準(zhǔn)確性,降低部署升級的風(fēng)險。
附圖說明
圖1為本發(fā)明實施例一的項目增量更新方法的流程圖;
圖2為本發(fā)明實施例二的項目增量更新裝置的結(jié)構(gòu)圖;
圖3為本發(fā)明實施例三的用戶終端的結(jié)構(gòu)圖;
圖4為本發(fā)明的robocopy命令格式示例圖;
圖5為本發(fā)明的待更新文件列表的示例圖。
具體實施方式
下面,結(jié)合附圖以及具體實施方式,對本發(fā)明做進一步描述:
實施例一:
參考圖1,本實施例提供一種項目增量更新方法,其特征在于,包括以下步驟:
s1、加載新發(fā)布程序包,所述新發(fā)布程序包包括全量數(shù)據(jù);
s2、調(diào)用robocopy命令對比新發(fā)布程序包與當(dāng)前運行程序包,得到待更新文件列表;其中,所述待更新文件列表包括較新文件和/或新文件和/或多余文件。
s3、解析待更新文件列表,通過在新發(fā)布程序包中提取較新文件和/或新文件生成增量更新包,針對多余文件生成批處理刪除命令;
s4、執(zhí)行增量更新包覆蓋至當(dāng)前運行程序包,以及執(zhí)行批處理刪除命令。
其中,項目增量更新方法的執(zhí)行環(huán)境為windows環(huán)境,執(zhí)行頻率為每天定時自動執(zhí)行。較新文件是指兩個程序包(新發(fā)布的程序包和當(dāng)前運行程序包)相比較新的文件,新文件是指新發(fā)布程序包中有但當(dāng)前運行程序包中沒有的文件,多余文件是指新發(fā)布程序包中沒有但當(dāng)前運行程序包中有的文件。
實施例二:
參考圖2,本實施例提供了一種項目增量更新裝置,包括以下模塊:
加載模塊,用于加載新發(fā)布程序包,所述新發(fā)布程序包包括全量數(shù)據(jù);
對比模塊,用于調(diào)用robocopy命令對比新發(fā)布程序包與當(dāng)前運行程序包,得到待更新文件列表;
解析模塊,用于解析待更新文件列表,生成增量更新包;
更新模塊,用于執(zhí)行增量更新包覆蓋至當(dāng)前運行程序包。
優(yōu)選的,所述待更新文件列表包括較新文件和/或新文件和/或多余文件。
優(yōu)選的,在解析模塊中,通過在新發(fā)布程序包中提取較新文件和/或新文件生成增量更新包;還針對多余文件生成批處理刪除命令;
在更新模塊中,還執(zhí)行批處理刪除命令。
優(yōu)選的,所述項目增量更新裝置的執(zhí)行環(huán)境為windows環(huán)境,執(zhí)行頻率為每天定時自動執(zhí)行。
實施例三:
參考圖3,為了實現(xiàn)實施例一的方法流程,提供了一種用戶終端,包括:
存儲器,用于存儲程序指令;
處理器,用于運行所述程序指令,以執(zhí)行以下步驟:
s1、加載新發(fā)布程序包,所述新發(fā)布程序包包括全量數(shù)據(jù);
s2、調(diào)用robocopy命令對比新發(fā)布程序包與當(dāng)前運行程序包,得到待更新文件列表;
s3、解析待更新文件列表,生成增量更新包;
s4、執(zhí)行增量更新包覆蓋至當(dāng)前運行程序包。
優(yōu)選的,所述待更新文件列表包括較新文件和/或新文件和/或多余文件。
優(yōu)選的,在步驟s3中,通過在新發(fā)布程序包中提取較新文件和/或新文件生成增量更新包;還針對多余文件生成批處理刪除命令;
在步驟s4中,還執(zhí)行批處理刪除命令。
優(yōu)選的,所述程序指令的執(zhí)行環(huán)境為windows環(huán)境,執(zhí)行頻率為每天定時自動執(zhí)行。
下面結(jié)合具體的示例對本發(fā)明進行具體說明。
每天的0:00發(fā)布新發(fā)布程序包;
每天的2:00調(diào)用robocopy命令,具體調(diào)用robocopy命令格式的示例如圖4所示。然后得到的待更新文件列表的示例如圖5所示。
每天的3:00自動解析待更新文件列表,生成增量更新包,如果有多余文件則還生成批處理刪除命令。然后執(zhí)行具體的增量更新包和批處理刪除命令,得到最新的運行程序包。
對本領(lǐng)域的技術(shù)人員來說,可根據(jù)以上描述的技術(shù)方案以及構(gòu)思,做出其它各種相應(yīng)的改變以及形變,而所有的這些改變以及形變都應(yīng)該屬于本發(fā)明權(quán)利要求的保護范圍之內(nèi)。