本發(fā)明涉及產(chǎn)品管理,特別是涉及一種自動(dòng)化構(gòu)建系統(tǒng)。
背景技術(shù):
1、目前,在芯片行業(yè)中,產(chǎn)品的構(gòu)建任務(wù)往往耗時(shí)較長(zhǎng)且需要覆蓋的操作系統(tǒng)版本范圍較廣,因此,通常需要同時(shí)執(zhí)行大量的構(gòu)建任務(wù)以使得產(chǎn)品可以適配不同版本的操作系統(tǒng),但是,單個(gè)構(gòu)建任務(wù)只能在操作系統(tǒng)版本適配的構(gòu)建端中執(zhí)行,以產(chǎn)生指定版本的操作系統(tǒng)所需要的產(chǎn)品包,導(dǎo)致需要分別將每一版本的操作系統(tǒng)部署于對(duì)應(yīng)的構(gòu)建端中。
2、然而,各個(gè)構(gòu)建端所分配到的構(gòu)建任務(wù)數(shù)量、構(gòu)建任務(wù)執(zhí)行時(shí)長(zhǎng)可能均不同,導(dǎo)致可能存在某些構(gòu)建端的空閑時(shí)長(zhǎng)較長(zhǎng),針對(duì)此類情況,現(xiàn)有技術(shù)中通常通過(guò)人工對(duì)構(gòu)建任務(wù)進(jìn)行排期的方式,以縮短所有構(gòu)建任務(wù)的整體執(zhí)行時(shí)長(zhǎng),但是,人工排期方式下單個(gè)構(gòu)建端所接受到的多個(gè)構(gòu)建任務(wù)仍然是串行執(zhí)行,導(dǎo)致產(chǎn)品構(gòu)建的效率較低。
3、因此,如何提高芯片場(chǎng)景下產(chǎn)品構(gòu)建的效率成為了亟待解決的問(wèn)題。
技術(shù)實(shí)現(xiàn)思路
1、針對(duì)上述技術(shù)問(wèn)題,本發(fā)明采用的技術(shù)方案為:
2、一種自動(dòng)化構(gòu)建系統(tǒng),所述系統(tǒng)包括:m個(gè)構(gòu)建端{(lán)a1,a2,…,am,…,am}、第一管理端、處理器和存儲(chǔ)有計(jì)算機(jī)程序的存儲(chǔ)器,其中,am為第m個(gè)構(gòu)建端,m為[1,m]范圍內(nèi)的整數(shù),m為大于0的整數(shù),當(dāng)所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí),實(shí)現(xiàn)以下步驟:
3、s101,由所述第一管理端加載獲取到的目標(biāo)配置文件,所述目標(biāo)配置文件包括n個(gè)目標(biāo)版本{b1,b2,…,bn,…,bn},其中,bn為第n個(gè)目標(biāo)版本,n為[1,n]范圍內(nèi)的整數(shù),n為大于0的整數(shù)。
4、s102,初始化第一標(biāo)識(shí)c=1。
5、s103,若存在至少一個(gè)構(gòu)建端為空閑狀態(tài),則由所述第一管理端將對(duì)應(yīng)bc的構(gòu)建任務(wù)dc發(fā)送到任一個(gè)處于空閑狀態(tài)的構(gòu)建端,所述構(gòu)建任務(wù)對(duì)應(yīng)于容器。
6、s104,由接收到dc的構(gòu)建端執(zhí)行dc,所述構(gòu)建任務(wù)dc在執(zhí)行完畢后得到dc對(duì)應(yīng)的產(chǎn)品ec。
7、s105,更新c=c+1。
8、s106,返回執(zhí)行步驟s103至步驟s105,直至c=n+1,得到所有目標(biāo)版本分別對(duì)應(yīng)的產(chǎn)品。
9、本發(fā)明與現(xiàn)有技術(shù)相比具有明顯的有益效果,借由上述技術(shù)方案,本發(fā)明提供的一種自動(dòng)化構(gòu)建系統(tǒng)可達(dá)到相當(dāng)?shù)募夹g(shù)進(jìn)步性及實(shí)用性,并具有產(chǎn)業(yè)上的廣泛利用價(jià)值,其至少具有以下有益效果:
10、本發(fā)明提供了一種自動(dòng)化構(gòu)建系統(tǒng),所述系統(tǒng)包括:m個(gè)構(gòu)建端{(lán)a1,a2,…,am,…,am}、第一管理端、處理器和存儲(chǔ)有計(jì)算機(jī)程序的存儲(chǔ)器,其中,am為第m個(gè)構(gòu)建端,m為[1,m]范圍內(nèi)的整數(shù),m為大于0的整數(shù),當(dāng)所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí),實(shí)現(xiàn)以下步驟:s101,由所述第一管理端加載獲取到的目標(biāo)配置文件,所述目標(biāo)配置文件包括n個(gè)目標(biāo)版本{b1,b2,…,bn,…,bn},其中,bn為第n個(gè)目標(biāo)版本,n為[1,n]范圍內(nèi)的整數(shù),n為大于0的整數(shù),s102,初始化第一標(biāo)識(shí)c=1,s103,若存在至少一個(gè)構(gòu)建端為空閑狀態(tài),則由所述第一管理端將對(duì)應(yīng)bc的構(gòu)建任務(wù)dc發(fā)送到任一個(gè)處于空閑狀態(tài)的構(gòu)建端,所述構(gòu)建任務(wù)對(duì)應(yīng)于容器,s104,由接收到dc的構(gòu)建端執(zhí)行dc,所述構(gòu)建任務(wù)dc在執(zhí)行完畢后得到dc對(duì)應(yīng)的產(chǎn)品ec,s105,更新c=c+1,s106,返回執(zhí)行步驟s103至步驟s105,直至c=n+1,得到所有目標(biāo)版本分別對(duì)應(yīng)的產(chǎn)品。
11、可知,通過(guò)將目標(biāo)版本的操作系統(tǒng)容器化,可以通過(guò)并發(fā)構(gòu)建的方式一次性出包適配所有目標(biāo)版本的操作系統(tǒng)的產(chǎn)品,相較于現(xiàn)有技術(shù)僅能夠在裝配有對(duì)應(yīng)版本操作系統(tǒng)的構(gòu)建端中執(zhí)行相同版本的產(chǎn)品構(gòu)建任務(wù),無(wú)需人為進(jìn)行產(chǎn)品構(gòu)建任務(wù)排期,而且使得所有構(gòu)建端盡可能處于繁忙狀態(tài),不會(huì)出現(xiàn)構(gòu)建端因操作系統(tǒng)的版本與目標(biāo)版本不同而導(dǎo)致構(gòu)建端空閑,從而有效提高了產(chǎn)品自動(dòng)化構(gòu)建的效率。
1.一種自動(dòng)化構(gòu)建系統(tǒng),其特征在于,所述系統(tǒng)包括:m個(gè)構(gòu)建端{(lán)a1,a2,…,am,…,am}、第一管理端、處理器和存儲(chǔ)有計(jì)算機(jī)程序的存儲(chǔ)器,其中,am為第m個(gè)構(gòu)建端,m為[1,m]范圍內(nèi)的整數(shù),m為大于0的整數(shù),當(dāng)所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí),實(shí)現(xiàn)以下步驟:
2.根據(jù)權(quán)利要求1所述的自動(dòng)化構(gòu)建系統(tǒng),其特征在于,所述構(gòu)建端為虛擬機(jī)或者服務(wù)器。
3.根據(jù)權(quán)利要求1所述的自動(dòng)化構(gòu)建系統(tǒng),其特征在于,目標(biāo)版本bn對(duì)應(yīng)于第一架構(gòu)信息fn,所述第一架構(gòu)信息fn屬于架構(gòu)信息集合,所述架構(gòu)信息集合至少包括x86架構(gòu)和arm架構(gòu)。
4.根據(jù)權(quán)利要求3所述的自動(dòng)化構(gòu)建系統(tǒng),其特征在于,構(gòu)建端am對(duì)應(yīng)于第二架構(gòu)信息gm,所述第二架構(gòu)信息gm屬于所述架構(gòu)信息集合。
5.根據(jù)權(quán)利要求4所述的自動(dòng)化構(gòu)建系統(tǒng),其特征在于,步驟s103包括以下步驟:
6.根據(jù)權(quán)利要求1所述的自動(dòng)化構(gòu)建系統(tǒng),其特征在于,所述由接收到dc的構(gòu)建端執(zhí)行dc至少包括:拉取dc對(duì)應(yīng)的源代碼、構(gòu)建dc所需的若干個(gè)組件、打包。
7.根據(jù)權(quán)利要求6所述的自動(dòng)化構(gòu)建系統(tǒng),其特征在于,dc所需的若干個(gè)組件均屬于組件集合,所述組件集合至少包括固件工具、內(nèi)核模式驅(qū)動(dòng)程序、編譯器。
8.根據(jù)權(quán)利要求1所述的自動(dòng)化構(gòu)建系統(tǒng),其特征在于,所述自動(dòng)化構(gòu)建系統(tǒng)屬于自動(dòng)化測(cè)試平臺(tái),所述自動(dòng)化測(cè)試平臺(tái)還包括自動(dòng)化測(cè)試系統(tǒng)和數(shù)據(jù)傳輸系統(tǒng)。