導(dǎo)致的發(fā)布系統(tǒng)發(fā)布速度緩慢的問(wèn)題。
[0039]作為一種可選實(shí)施例,在步驟S13根據(jù)功能節(jié)點(diǎn)之間的依賴(lài)關(guān)系,生成編譯順序表之后,發(fā)布人員可以根據(jù)系統(tǒng)發(fā)布的實(shí)際需要,對(duì)編譯順序表進(jìn)行編輯。將編譯順序表中在此次系統(tǒng)發(fā)布中不需要進(jìn)行發(fā)布的功能節(jié)點(diǎn)直接刪除,或者通過(guò)在編譯順序表中對(duì)此次系統(tǒng)發(fā)布時(shí)不需要進(jìn)行發(fā)布的功能節(jié)點(diǎn)進(jìn)行標(biāo)記的方式,來(lái)控制系統(tǒng)發(fā)布的內(nèi)容,使系統(tǒng)發(fā)布更加靈活。
[0040]作為一種可選的實(shí)施例,編譯順序表中的記錄內(nèi)容,可以包括功能節(jié)點(diǎn)的名稱(chēng)、功能節(jié)的版本信息、功能節(jié)點(diǎn)的調(diào)用關(guān)系、功能節(jié)點(diǎn)的占用狀態(tài)中的一種或多種。編譯順序表可以采用XML文件、索引表等方式。
[0041]作為一種可選的實(shí)施例,如圖2所示,在步驟S17按照編譯順序表中的編譯順序,對(duì)與功能節(jié)點(diǎn)對(duì)應(yīng)的節(jié)點(diǎn)源碼進(jìn)行編譯,生成二進(jìn)制文件之前,方法還包括:
[0042]步驟S161,獲取節(jié)點(diǎn)源碼的節(jié)點(diǎn)屬性信息。
[0043]步驟S163,根據(jù)節(jié)點(diǎn)屬性信息,判斷節(jié)點(diǎn)源碼的占用狀態(tài)。
[0044]通過(guò)步驟S161至步驟S163,在按照編譯順序表中的編譯順序?qū)Ω鱾€(gè)功能節(jié)點(diǎn)的編譯源碼進(jìn)行編譯之前,可以通過(guò)對(duì)與功能節(jié)點(diǎn)對(duì)應(yīng)的節(jié)點(diǎn)源碼的屬性信息,確定各個(gè)節(jié)點(diǎn)源碼是否正在被占用。占用的情況可以由很多,如節(jié)點(diǎn)源碼尚未上傳完畢、節(jié)點(diǎn)源碼正在被他人編輯等。通過(guò)對(duì)節(jié)點(diǎn)源碼是否被占用,可以避免因節(jié)點(diǎn)源碼的問(wèn)題而導(dǎo)致的系統(tǒng)發(fā)布失敗。
[0045]作為一種可選的實(shí)施例,步驟S17按照編譯順序表中的編譯順序,對(duì)與功能節(jié)點(diǎn)對(duì)應(yīng)的節(jié)點(diǎn)源碼進(jìn)行編譯,生成二進(jìn)制文件,可以包括:
[0046]步驟S171,根據(jù)占用狀態(tài)和編譯順序表,創(chuàng)建編譯線程。
[0047]步驟S173,通過(guò)編譯線程對(duì)節(jié)點(diǎn)源碼進(jìn)行編譯,生成二進(jìn)制文件。
[0048]具體的,通過(guò)步驟S171至步驟S173,在確定編譯順序表中與各個(gè)功能節(jié)點(diǎn)對(duì)應(yīng)的節(jié)點(diǎn)源碼未被占用的情況下,根據(jù)編譯順序表中的順序創(chuàng)建編譯線程,生成可被計(jì)算機(jī)直接運(yùn)行的二進(jìn)制文件。
[0049]作為一個(gè)可選實(shí)施例,可以通過(guò)編譯順序表,確定系統(tǒng)中不存在依賴(lài)關(guān)系的功能節(jié)點(diǎn)的節(jié)點(diǎn)數(shù)量??梢愿鶕?jù)功能節(jié)點(diǎn)的節(jié)點(diǎn)數(shù)量,創(chuàng)建與節(jié)點(diǎn)數(shù)量相同個(gè)數(shù)的編譯線程,以進(jìn)一步提高系統(tǒng)的發(fā)布速度。
[0050]作為一個(gè)可選實(shí)施例,如圖3所示,編譯順序表中包括系統(tǒng)中功能節(jié)點(diǎn)的當(dāng)前版本號(hào),其中,在步驟S17按照編譯順序表中的編譯順序,對(duì)與功能節(jié)點(diǎn)對(duì)應(yīng)的節(jié)點(diǎn)源碼進(jìn)行編譯,生成二進(jìn)制文件之前,上述方法還可以包括:
[0051]步驟S165,根據(jù)節(jié)點(diǎn)源碼,確定節(jié)點(diǎn)源碼的發(fā)布版本號(hào)。
[0052]步驟S167,將發(fā)布版本序號(hào)與系統(tǒng)的功能節(jié)點(diǎn)的當(dāng)前版本號(hào)進(jìn)行比對(duì),得到比對(duì)結(jié)果。
[0053]步驟S169,根據(jù)比對(duì)結(jié)果,對(duì)編譯順序表中的功能節(jié)點(diǎn)添加標(biāo)記信息。
[0054]通過(guò)步驟S165至步驟S169,當(dāng)獲取到節(jié)點(diǎn)源碼的發(fā)布版本號(hào)后,通過(guò)將待發(fā)布的各個(gè)節(jié)點(diǎn)源碼的發(fā)布版本號(hào)與相應(yīng)的系統(tǒng)中各個(gè)功能節(jié)點(diǎn)的當(dāng)前版本號(hào)及進(jìn)行比對(duì),當(dāng)發(fā)布版本號(hào)高于當(dāng)前版本號(hào)時(shí),在編譯順序表中對(duì)該功能節(jié)點(diǎn)進(jìn)行標(biāo)記,從而在發(fā)布時(shí),只對(duì)上述被標(biāo)記的功能節(jié)點(diǎn)進(jìn)行重新編譯。
[0055]作為一種可選的實(shí)施例,如圖4所示,在步驟S19根據(jù)二進(jìn)制文件,對(duì)系統(tǒng)進(jìn)行發(fā)布之前,方法還可以包括:
[0056]步驟S20,按照版本號(hào)將二進(jìn)制文件存儲(chǔ)至緩存存儲(chǔ)器。
[0057]為了提升具有依賴(lài)關(guān)系的多個(gè)功能節(jié)點(diǎn),而部分節(jié)點(diǎn)不存在變更這種情況的發(fā)布效率,可以在每次系統(tǒng)發(fā)布時(shí),將經(jīng)過(guò)編譯得到的各個(gè)功能節(jié)點(diǎn)的二進(jìn)制文件,按照版本號(hào)存儲(chǔ)至緩存存儲(chǔ)器中。當(dāng)每次發(fā)布系統(tǒng)時(shí),那些沒(méi)有更新的功能節(jié)點(diǎn),可以從緩存存儲(chǔ)器中讀取先前已經(jīng)編譯過(guò)的二進(jìn)制文件,從而避免相同節(jié)點(diǎn)源碼的重復(fù)編譯,提升系統(tǒng)發(fā)布的效率。
[0058]作為一種可選的實(shí)施例,步驟S19根據(jù)二進(jìn)制文件,對(duì)系統(tǒng)進(jìn)行發(fā)布,可以包括:
[0059]步驟S191,根據(jù)編譯順序表的標(biāo)記信息,從緩存存儲(chǔ)器中獲取與版本號(hào)對(duì)應(yīng)的二進(jìn)制文件。
[0060]步驟S193,根據(jù)與編譯順序表中的版本號(hào)對(duì)應(yīng)的二進(jìn)制文件,生成發(fā)布文件。
[0061]步驟S195,根據(jù)發(fā)布文件對(duì)系統(tǒng)進(jìn)行發(fā)布。
[0062]具體的,通過(guò)上述步驟S191至步驟S195,根據(jù)編譯順序表中的標(biāo)記信息,將通過(guò)標(biāo)記信息進(jìn)行標(biāo)記的功能節(jié)點(diǎn),直接從緩存存儲(chǔ)器中獲取與當(dāng)前版本號(hào)對(duì)應(yīng)的二進(jìn)制文件;將未通過(guò)標(biāo)記信息進(jìn)行標(biāo)記的功能節(jié)點(diǎn),通過(guò)編譯線程對(duì)發(fā)布版本號(hào)的節(jié)點(diǎn)源碼進(jìn)行編譯后得到相應(yīng)的二進(jìn)制文件。最后,利用與編譯順序表中的版本號(hào)對(duì)應(yīng)的二進(jìn)制文件生成發(fā)布文件。
[0063]通過(guò)上述實(shí)施例,對(duì)于功能節(jié)點(diǎn)數(shù)量眾多,但部分功能節(jié)點(diǎn)變更不頻繁的系統(tǒng)進(jìn)行發(fā)布時(shí),上述方法能極大的提高系統(tǒng)的編譯速度。
[0064]實(shí)施例2
[0065]本發(fā)明實(shí)施例還提供了一種系統(tǒng)的發(fā)布裝置,如圖5所示,該裝置可以包括:第一確定模塊31、生成模塊33、第一獲取模塊35、編譯模塊37和發(fā)布模塊39。
[0066]其中,第一確定模塊31,用于根據(jù)系統(tǒng)的結(jié)構(gòu),確定系統(tǒng)中功能節(jié)點(diǎn)之間的依賴(lài)關(guān)系;生成模塊33,用于根據(jù)功能節(jié)點(diǎn)之間的依賴(lài)關(guān)系,生成編譯順序表;第一獲取模塊35,用于獲取與功能節(jié)點(diǎn)對(duì)應(yīng)的節(jié)點(diǎn)源碼;編譯模塊37,用于按照編譯順序表中的編譯順序,對(duì)與功能節(jié)點(diǎn)對(duì)應(yīng)的節(jié)點(diǎn)源碼進(jìn)行編譯,生成二進(jìn)制文件;發(fā)布模塊39,用于根據(jù)二進(jìn)制文件,對(duì)系統(tǒng)進(jìn)行發(fā)布。
[0067]通過(guò)上述第一確定模塊31、生成模塊33、第一獲取模塊35、編譯模塊37和發(fā)布模塊39,在確定系統(tǒng)中各個(gè)功能節(jié)點(diǎn)之間的依賴(lài)關(guān)系之后,根據(jù)依賴(lài)關(guān)系生成用于進(jìn)行編譯的編譯順序表。在獲取到各個(gè)功能節(jié)點(diǎn)的節(jié)點(diǎn)源碼后,根據(jù)編譯順序表中的編譯順序,對(duì)系統(tǒng)中與功能節(jié)點(diǎn)對(duì)應(yīng)的節(jié)點(diǎn)源碼進(jìn)行編譯,最終實(shí)現(xiàn)對(duì)系統(tǒng)進(jìn)行發(fā)布。利用上述實(shí)施例,實(shí)現(xiàn)了通過(guò)控制對(duì)系統(tǒng)中各個(gè)功能節(jié)點(diǎn)的發(fā)布順序來(lái)確保系統(tǒng)的成功發(fā)布的效果,解決了現(xiàn)有技術(shù)中因在子模塊進(jìn)行發(fā)布后還需要對(duì)子模塊進(jìn)行驗(yàn)證,導(dǎo)致的發(fā)布系統(tǒng)發(fā)布速度緩慢的問(wèn)題。
[0068]作為一種可選的實(shí)施例,如圖6所示,裝置還可以包括:第二獲取模塊361和判斷模塊363。
[0069]其中,第二獲取模塊361,用于獲取節(jié)點(diǎn)源碼的節(jié)點(diǎn)屬性信息;判斷模塊363,用于根據(jù)節(jié)點(diǎn)屬性信息,判斷節(jié)點(diǎn)源碼的占用狀態(tài)。
[0070]通過(guò)上述第二獲取模塊361和判斷模塊363,在按照編譯順序表中的編譯順序?qū)Ω鱾€(gè)功能節(jié)點(diǎn)的編譯源碼進(jìn)行編譯之前,可以通過(guò)對(duì)與功能節(jié)點(diǎn)對(duì)應(yīng)的節(jié)點(diǎn)源碼的屬性信息,確定各個(gè)節(jié)點(diǎn)源碼是否正在被占用。占用的情況可以由很多,如節(jié)點(diǎn)源碼尚未上傳完畢、節(jié)點(diǎn)源碼正在被他人編輯等。通過(guò)對(duì)節(jié)點(diǎn)源碼是否被占用,可以避免因節(jié)點(diǎn)源碼的問(wèn)題而導(dǎo)致的系統(tǒng)發(fā)布失敗。
[0071]作為一種可選的實(shí)施例,在編譯模塊37中,可以執(zhí)行如下步驟:
[0072]步驟1,根據(jù)占用狀態(tài)和編譯順序表,創(chuàng)建編譯線程。
[0073]步驟2,通過(guò)編譯線程對(duì)節(jié)點(diǎn)源碼進(jìn)行編譯,生成二進(jìn)制文件。
[0074]具體的,通過(guò)上述步驟,在確定編譯順序表中與各個(gè)功能節(jié)點(diǎn)對(duì)應(yīng)的節(jié)點(diǎn)源碼未被占用的情況下,根據(jù)編譯順序表中的順序創(chuàng)建編譯線程,生成可被計(jì)算機(jī)直接運(yùn)行的二進(jìn)制文件。
[0075]作為一個(gè)可選實(shí)施例,如圖7所示,裝置還可以包括:第二確定模塊365、比對(duì)模塊367和標(biāo)記模塊369。
[0076]其中,第二確定模塊365,用于根據(jù)節(jié)點(diǎn)源碼,確定節(jié)點(diǎn)源碼的發(fā)布版本號(hào);比對(duì)模塊367,用于將發(fā)布版本序號(hào)與系統(tǒng)的功能節(jié)點(diǎn)的當(dāng)前版本號(hào)進(jìn)行比對(duì),得到比對(duì)結(jié)果;標(biāo)記模塊369,用于根據(jù)比對(duì)結(jié)果,對(duì)編譯順序表中的功能節(jié)點(diǎn)添加標(biāo)記信息。
[0077]通過(guò)上述第二確定模塊365、比對(duì)模塊367和標(biāo)記模塊369,當(dāng)獲取到節(jié)點(diǎn)源碼的發(fā)布版本號(hào)后,通過(guò)將待發(fā)布的各個(gè)節(jié)點(diǎn)源碼的發(fā)布版本號(hào)與相應(yīng)的系統(tǒng)中各個(gè)功能節(jié)點(diǎn)的當(dāng)前版本號(hào)及進(jìn)行比對(duì),當(dāng)發(fā)布版本號(hào)高于當(dāng)前版本號(hào)時(shí),在編譯順序表中對(duì)該功能節(jié)點(diǎn)進(jìn)行標(biāo)記,從而在發(fā)布時(shí),只對(duì)上述被標(biāo)記的功能節(jié)點(diǎn)進(jìn)行重新編譯。
[0078]作為一種可選的實(shí)施例,如圖8所示,上述裝置還包