專利名稱::實(shí)現(xiàn)開(kāi)發(fā)機(jī)自動(dòng)編譯的方法及裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及軟件開(kāi)發(fā)領(lǐng)域,尤其涉及一種實(shí)現(xiàn)開(kāi)發(fā)機(jī)自動(dòng)編譯的方法及裝置。
背景技術(shù):
:目前,在現(xiàn)有的軟件開(kāi)發(fā)過(guò)程中,開(kāi)發(fā)機(jī)是提供給普通的開(kāi)發(fā)人員,負(fù)責(zé)在軟件開(kāi)發(fā)過(guò)程中通過(guò)自身的代碼管理軟件來(lái)獲取軟件代碼,并編譯和調(diào)試所獲取到的代碼;而編譯機(jī)負(fù)責(zé)在軟件開(kāi)發(fā)過(guò)程中通過(guò)代碼管理軟件來(lái)獲取相關(guān)的代碼,并編譯最終發(fā)布的軟件。在現(xiàn)有技術(shù)方案中,開(kāi)發(fā)機(jī)和編譯機(jī)之間沒(méi)有任何的通訊機(jī)制,當(dāng)編譯機(jī)完成編譯后,還需要由開(kāi)發(fā)人員來(lái)啟動(dòng)開(kāi)發(fā)機(jī)自身的代碼更新和編譯。對(duì)于大型的軟件開(kāi)發(fā)來(lái)說(shuō),上述的代碼更新和編譯的過(guò)程需要耗費(fèi)大量的時(shí)間,而開(kāi)發(fā)人員只能等待編譯完成后才可以繼續(xù)開(kāi)發(fā);同時(shí)在更新代碼的過(guò)程中,如果又合入了其他的代碼,那么就會(huì)導(dǎo)致更新到的代碼不完整,從而使得編譯失敗,影響軟件的開(kāi)發(fā)。
發(fā)明內(nèi)容本發(fā)明實(shí)施例提供了一種開(kāi)發(fā)機(jī)自動(dòng)編譯的方法及裝置,能夠?qū)崿F(xiàn)開(kāi)發(fā)機(jī)在編譯機(jī)完成編譯后自動(dòng)的進(jìn)行代碼更新和編譯,從而縮短了開(kāi)發(fā)人員更新和編譯代碼所耗費(fèi)的時(shí)間,提高了軟件開(kāi)發(fā)的效率。本發(fā)明實(shí)施例提供了一種實(shí)現(xiàn)開(kāi)發(fā)機(jī)自動(dòng)編譯的方法,包括開(kāi)發(fā)機(jī)發(fā)送定制編譯請(qǐng)求的消息到編譯機(jī);所述編譯機(jī)接收所述定制編譯請(qǐng)求的消息;4所述編譯機(jī)在完成編譯時(shí),根據(jù)所接收到的消息中的開(kāi)發(fā)機(jī)地址信息,發(fā)送啟動(dòng)自動(dòng)編譯的消息給所述開(kāi)發(fā)機(jī);所述開(kāi)發(fā)機(jī)根據(jù)所接收到的消息,啟動(dòng)自身的代碼更新和編譯。本發(fā)明實(shí)施例還提供了一種實(shí)現(xiàn)開(kāi)發(fā)機(jī)自動(dòng)編譯的裝置,包括定制消息發(fā)送單元,設(shè)置在開(kāi)發(fā)機(jī)中,用于發(fā)送定制編if請(qǐng)求的消息到編譯機(jī);消息接收單元,設(shè)置在編譯機(jī)中,用于接收所述定制編譯請(qǐng)求的消息;啟動(dòng)消息發(fā)送單元,設(shè)置在所述編譯機(jī)中,用于在所述編譯機(jī)完成編譯時(shí),根據(jù)所述消息接收單元所接收到的消息中的開(kāi)發(fā)機(jī)地址信息,發(fā)送啟動(dòng)自動(dòng)編譯的消息到所述開(kāi)發(fā)機(jī);自動(dòng)更新編-澤單元,設(shè)置在所述開(kāi)發(fā)機(jī)中,用于才艮據(jù)所述開(kāi)發(fā)機(jī)所接收到的啟動(dòng)自動(dòng)編譯的消息,啟動(dòng)所述開(kāi)發(fā)機(jī)自身的代碼更新和編譯。由上述所提供的技術(shù)方案可以看出,首先開(kāi)發(fā)機(jī)發(fā)送定制編譯請(qǐng)求的消息到編譯機(jī);所述編譯機(jī)接收所述定制編譯請(qǐng)求的消息;當(dāng)所述編譯機(jī)完成編譯時(shí),根據(jù)所接收到的消息中的開(kāi)發(fā)機(jī)地址信息,發(fā)送啟動(dòng)自動(dòng)編譯的消息給所述開(kāi)發(fā)機(jī);該開(kāi)發(fā)機(jī)就根據(jù)所接收到的消息,啟動(dòng)自身的代碼更新和編譯。這樣就實(shí)現(xiàn)了開(kāi)發(fā)機(jī)可定制化的自動(dòng)更新和編譯,保證各個(gè)開(kāi)發(fā)機(jī)所得到的編譯代碼都是相同的;同時(shí)由于上述的過(guò)程可以在夜間自動(dòng)進(jìn)行,而不會(huì)受其他人員合入不完整代碼的干擾,從而大大縮短了開(kāi)發(fā)人員更新代碼、編譯代碼所耗費(fèi)的時(shí)間;而且還可以方便代碼管理,保證編譯機(jī)上保留的都是階段性的代碼,便于記錄和版本管理,進(jìn)而極大的提高了軟件開(kāi)發(fā)的工作效率。圖1為本發(fā)明實(shí)施例1所提供方法的流程示意圖;圖2為本發(fā)明實(shí)施例2所提供裝置的結(jié)構(gòu)示意圖。具體實(shí)施例方式本發(fā)明實(shí)施例提供了一種開(kāi)發(fā)機(jī)自動(dòng)編-澤的方法及裝置,使得編譯機(jī)在完成編i奪以后,可以主動(dòng)通知開(kāi)發(fā)沖幾來(lái)更新代碼并啟動(dòng)編:澤;同時(shí)開(kāi)發(fā)才幾也可以向編譯機(jī)定制是否需要接收編譯通過(guò)后的通知,從而實(shí)現(xiàn)了開(kāi)發(fā)機(jī)可定制化的自動(dòng)更新和編譯,保證各個(gè)開(kāi)發(fā)機(jī)所得到的編譯代碼都是相同的;同時(shí)由于上述的過(guò)程可以在夜間自動(dòng)進(jìn)行,而不會(huì)受其他人員合入不完整代碼的干擾,從而大大縮短了開(kāi)發(fā)人員更新代碼、編譯代碼所耗費(fèi)的時(shí)間;而且還可以方便代碼管理,保證編譯機(jī)上保留的都是階段性的代碼,便于記錄和版本管理,進(jìn)而極大的提高了軟件開(kāi)發(fā)的工作效率。實(shí)施例1:本發(fā)明實(shí)施例1提供了一種實(shí)現(xiàn)開(kāi)發(fā)機(jī)自動(dòng)編譯的方法,如圖1所示為本實(shí)施例1所提供方法的流程示意圖,所述方法包括步驟11:開(kāi)發(fā)機(jī)發(fā)送定制編譯請(qǐng)求的消息到編譯機(jī)。在該步驟中,當(dāng)開(kāi)發(fā)人員需要在開(kāi)發(fā)機(jī)上啟動(dòng)自動(dòng)更新和編譯過(guò)程時(shí),就可以由開(kāi)發(fā)機(jī)發(fā)送定制編譯,請(qǐng)求的消息到編譯機(jī)。在具體實(shí)現(xiàn)過(guò)程中,可以在開(kāi)發(fā)機(jī)上部署客戶端程序,該客戶端程序可以用來(lái)發(fā)起定制編i奪請(qǐng)求,通知編譯機(jī),并要求編譯機(jī)在完成編i奪后主動(dòng)通知本開(kāi)發(fā)機(jī)。步驟12:編譯機(jī)接收所述定制編譯請(qǐng)求的消息。在該步驟中,所述編i,機(jī)接收開(kāi)發(fā)機(jī)所發(fā)送的定制編譯請(qǐng)求的消息,并保存所述定制編譯請(qǐng)求消息中所包含的開(kāi)發(fā)機(jī)地址信息。這里所述開(kāi)發(fā)機(jī)地址信息可以包括該開(kāi)發(fā)機(jī)的互聯(lián)網(wǎng)協(xié)議lP地址信息和端口信息等。在具體實(shí)現(xiàn)過(guò)程中,可以在編譯機(jī)上部署服務(wù)器程序,通過(guò)該服務(wù)器程序來(lái)監(jiān)聽(tīng)、記錄來(lái)自開(kāi)發(fā)機(jī)的定制編i奪請(qǐng)求。另外,當(dāng)發(fā)送定制編譯請(qǐng)求消息的開(kāi)發(fā)機(jī)為多個(gè)時(shí),還可以將該多個(gè)開(kāi)發(fā)機(jī)的地址信息保存在編譯機(jī)的數(shù)據(jù)庫(kù)中,該數(shù)據(jù)庫(kù)一般使用傳統(tǒng)的關(guān)系數(shù)據(jù)6庫(kù),并支持結(jié)構(gòu)化查詢語(yǔ)言SQL查詢。舉例來(lái)說(shuō),可以在編譯機(jī)內(nèi)部維護(hù)如下表所示的二維表格:<table>tableseeoriginaldocumentpage7</column></row><table>上述中的數(shù)據(jù)就包括開(kāi)發(fā)機(jī)的IP地址信息和開(kāi)發(fā)機(jī)的端口信息,這樣當(dāng)有開(kāi)發(fā)機(jī)將自己的IP地址和端口信息發(fā)送給編譯機(jī),要求定制自動(dòng)編譯時(shí),編譯息;如果相關(guān)數(shù)據(jù)已經(jīng)存在,那么就可以不做處理,否則就將該開(kāi)發(fā)機(jī)所對(duì)應(yīng)的IP地址和端口信息添加到上述表4各中。步驟13:當(dāng)編譯機(jī)完成編譯時(shí),根據(jù)開(kāi)發(fā)機(jī)地址信息,發(fā)送啟動(dòng)自動(dòng)編譯的消息給所述開(kāi)發(fā)機(jī)。在該步驟中,當(dāng)編譯機(jī)完成編譯時(shí),就可以根據(jù)所接收到的消息,以及該消息中所包括的開(kāi)發(fā)機(jī)地址信息,將啟動(dòng)自動(dòng)編譯的消息發(fā)送給所述開(kāi)發(fā)機(jī)。在具體實(shí)現(xiàn)過(guò)程中,可以在編"^機(jī)完成編i奪后,通過(guò)上述在編i奪機(jī)上所部署的服務(wù)器程序來(lái)主動(dòng)通知該開(kāi)發(fā)機(jī)。具體來(lái)說(shuō),當(dāng)服務(wù)器程序收到編i奪機(jī)完成編譯的通知后,將枚舉所述編i奪機(jī)中所保存的開(kāi)發(fā)機(jī)的地址信息;然后再基于網(wǎng)絡(luò)傳輸?shù)南嚓P(guān)協(xié)議,將啟動(dòng)自動(dòng)編譯的消息發(fā)送給每臺(tái)開(kāi)發(fā)機(jī),以進(jìn)行后繼的操作。另外,所述編譯機(jī)還可以根據(jù)實(shí)際的編譯需求來(lái)設(shè)定編譯時(shí)間,在所述編譯時(shí)間之內(nèi),負(fù)責(zé)完成代碼提取和編譯工作;但在所述編譯時(shí)間之外,只提供代碼轉(zhuǎn)發(fā)功能,而不進(jìn)行編譯工作。這樣就可以減少編譯機(jī)的工作,不需要不間斷的覆蓋、編譯和更新過(guò)程,同時(shí)減少了編譯機(jī)由于多個(gè)編譯和更新請(qǐng)求而導(dǎo)致的數(shù)據(jù)處理問(wèn)題。步驟14:所述開(kāi)發(fā)機(jī)根據(jù)所接收到的消息,啟動(dòng)自身的代碼更新和編譯。在該步驟中,當(dāng)開(kāi)發(fā)機(jī)接收到啟動(dòng)自動(dòng)更新和編譯的消息后,就可以根據(jù)自身的代碼管理軟件和編譯軟件來(lái)進(jìn)行代碼的更新和編譯。關(guān)于開(kāi)發(fā)機(jī)代碼的更新和自動(dòng)編譯都是目前軟件代碼管理中的現(xiàn)有技術(shù),此處就不再贅述。另外,當(dāng)該開(kāi)發(fā)機(jī)不需要進(jìn)行自動(dòng)更新和編譯時(shí),還可以發(fā)送取消定制編譯請(qǐng)求的消息給所述編譯機(jī)。具體來(lái)說(shuō),當(dāng)開(kāi)發(fā)機(jī)不需要進(jìn)行自動(dòng)更新和編譯時(shí),可以將自己的IP地址和端口信息發(fā)送給編譯機(jī),要求取消自動(dòng)編譯;該編譯機(jī)可以首先檢索自身所保存的地址信息表格中,是否已經(jīng)有該開(kāi)發(fā)機(jī)所對(duì)應(yīng)的IP地址和端口信息;如果相關(guān)數(shù)據(jù)已經(jīng)存在,那么就刪除相關(guān)記錄,否則就不做處理。通過(guò)以上技術(shù)方案的實(shí)施,開(kāi)發(fā)人員可以根據(jù)實(shí)際情況,決定是否要讓自己的開(kāi)發(fā)機(jī)根據(jù)編譯機(jī)的編譯結(jié)果來(lái)啟動(dòng)本地代碼的更新和編譯,從而實(shí)現(xiàn)了開(kāi)發(fā)機(jī)可定制化的自動(dòng)更新和編譯,保證各個(gè)開(kāi)發(fā)機(jī)所得到的編譯代碼都是相同的;同時(shí)由于上述的過(guò)程可以在夜間自動(dòng)進(jìn)行,而不會(huì)受其他人員合入不完整代碼的干擾,從而大大縮短了開(kāi)發(fā)人員更新代碼、編-澤代碼所耗費(fèi)的時(shí)間;而且還可以方便代碼管理,保證編譯機(jī)上保留的都是階段性的代碼,便于記錄和版本管理,進(jìn)而極大的提高了軟件開(kāi)發(fā)的工作效率。實(shí)施例2:本發(fā)明實(shí)施例2提供了一種實(shí)現(xiàn)開(kāi)發(fā)機(jī)自動(dòng)編譯的裝置,如圖2所示為所述裝置的結(jié)構(gòu)示意圖,所述裝置包括定制消息發(fā)送單元、消息接收單元、啟動(dòng)消息發(fā)送單元和自動(dòng)更新編譯單元,其中所述定制消息發(fā)送單元設(shè)置在開(kāi)發(fā)機(jī)中,用于發(fā)送定制編譯請(qǐng)求的消息到編譯機(jī);具體發(fā)送的方式見(jiàn)以上方法實(shí)施例1中所述。所述消息接收單元設(shè)置在編譯機(jī)中,用于接收所述定制編譯請(qǐng)求的消息。所述啟動(dòng)消息發(fā)送單元設(shè)置在所述編譯機(jī)中,用于在所述編譯機(jī)完成編譯時(shí),根據(jù)所述消息接收單元所接收到的消息中的開(kāi)發(fā)機(jī)地址信息,發(fā)送啟動(dòng)自動(dòng)編譯的消息到所述開(kāi)發(fā)機(jī);具體發(fā)送的方式見(jiàn)以上方法實(shí)施例1中所述。8所述自動(dòng)更新編譯單元設(shè)置在所述開(kāi)發(fā)機(jī)中,用于根據(jù)所述開(kāi)發(fā)機(jī)所接收到的啟動(dòng)自動(dòng)編譯的消息,啟動(dòng)所述開(kāi)發(fā)機(jī)自身的代碼更新和編譯。具體啟動(dòng)更新和編譯的方式見(jiàn)以上方法實(shí)施例1中所述。以上所述裝置中還可包括地址信息保存單元,該地址信息保存單元設(shè)置在所述編譯機(jī)中,用于保存所述定制編譯請(qǐng)求消息中所包含的開(kāi)發(fā)機(jī)地址信息。另外,當(dāng)所述開(kāi)發(fā)機(jī)不需要進(jìn)行自動(dòng)更新和編譯時(shí),所述定制消息發(fā)送單元還用于發(fā)送取消定制編譯請(qǐng)求的消息到所述編譯機(jī)。值得注意的是,上述裝置實(shí)施例中,所包括的各個(gè)單元只是按照功能邏輯進(jìn)行劃分的,但并不局限于上述的劃分,只要能夠?qū)崿F(xiàn)相應(yīng)的功能即可;另夕卜,各功能單元的具體名稱也只是為了便于相互區(qū)分,并不用于限制本發(fā)明的保護(hù)范圍。另外,本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例1方法中的全部或部分步驟可以通過(guò)程序來(lái)指令相關(guān)的硬件完成,相應(yīng)的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤(pán)或光盤(pán)等。綜上所述,本發(fā)明實(shí)施例能夠?qū)崿F(xiàn)開(kāi)發(fā)機(jī)可定制化的自動(dòng)更新和編譯,保證各個(gè)開(kāi)發(fā)機(jī)所得到的編譯代碼都是相同的;并大大縮短了開(kāi)發(fā)人員更新代碼、編譯代碼所耗費(fèi)的時(shí)間;而且還可以方便代碼管理,保證編譯機(jī)上保留的都是階段性的代碼,便于記錄和版本管理,極大的提高了軟件開(kāi)發(fā)的工作效率。以上所述,僅為本發(fā)明較佳的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本
技術(shù)領(lǐng)域:
的技術(shù)人員在本發(fā)明實(shí)施例揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。9權(quán)利要求1、一種實(shí)現(xiàn)開(kāi)發(fā)機(jī)自動(dòng)編譯的方法,其特征在于,開(kāi)發(fā)機(jī)發(fā)送定制編譯請(qǐng)求的消息到編譯機(jī);所述編譯機(jī)接收所述定制編譯請(qǐng)求的消息;所述編譯機(jī)在完成編譯時(shí),根據(jù)所接收到的消息中的開(kāi)發(fā)機(jī)地址信息,發(fā)送啟動(dòng)自動(dòng)編譯的消息給所述開(kāi)發(fā)機(jī);所述開(kāi)發(fā)機(jī)根據(jù)所接收到的消息,啟動(dòng)自身的代碼更新和編譯。2、如權(quán)利要求1所述的方法,其特征在于,所述開(kāi)發(fā)才幾地址信息包括所述開(kāi)發(fā)機(jī)的互聯(lián)網(wǎng)協(xié)議lP地址和端口信息。3、如權(quán)利要求1或2所述的方法,其特征在于,在所述編譯機(jī)接收所述定制編譯請(qǐng)求的消息之后,還包括保存所述定制編譯請(qǐng)求消息中所包含的開(kāi)發(fā)機(jī)地址信息。4、如權(quán)利要求3所述的方法,其特征在于,所述方法還包括當(dāng)發(fā)送定制編譯請(qǐng)求消息的開(kāi)發(fā)機(jī)為多個(gè)時(shí),將該多個(gè)開(kāi)發(fā)機(jī)的地址信息保存在所述編譯機(jī)的數(shù)據(jù)庫(kù)中;所述數(shù)據(jù)庫(kù)支持結(jié)構(gòu)化查詢語(yǔ)言SQL查詢。5、如權(quán)利要求1所述的方法,其特征在于,所述方法還包括當(dāng)所述開(kāi)發(fā)機(jī)不需要進(jìn)行自動(dòng)更新和編譯時(shí),發(fā)送取消定制編譯請(qǐng)求的消息給所述編譯機(jī)。6、如權(quán)利要求1所述的方法,其特征在于,所述啟動(dòng)自身的代碼更新和編譯,具體包括根據(jù)所述開(kāi)發(fā)機(jī)自身的代碼管理軟件和編譯軟件,來(lái)啟動(dòng)代碼更新和編譯。7、如權(quán)利要求1所述的方法,其特征在于,所述方法還包括所述編譯機(jī)根據(jù)實(shí)際編譯需求設(shè)定編譯時(shí)間;在所述編譯時(shí)間之外,只提供代碼轉(zhuǎn)發(fā)功能。8、一種實(shí)現(xiàn)開(kāi)發(fā)機(jī)自動(dòng)編譯的裝置,其特征在于,包括定制消息發(fā)送單元,設(shè)置在開(kāi)發(fā)機(jī)中,用于發(fā)送定制編譯請(qǐng)求的消息到編譯機(jī);消息接收單元,設(shè)置在編譯機(jī)中,用于接收所述定制編誶「清求的消息;啟動(dòng)消息發(fā)送單元,設(shè)置在所述編譯機(jī)中,用于在所述編譯機(jī)完成編-斧時(shí),根據(jù)所述消息接收單元所接收到的消息中的開(kāi)發(fā)機(jī)地址信息,發(fā)送啟動(dòng)自動(dòng)編譯的消息到所述開(kāi)發(fā)機(jī);自動(dòng)更新編譯單元,設(shè)置在所述開(kāi)發(fā)機(jī)中,用于根據(jù)所述開(kāi)發(fā)機(jī)所接收到的啟動(dòng)自動(dòng)編譯的消息,啟動(dòng)所述開(kāi)發(fā)機(jī)自身的代碼更新和編譯。9、如權(quán)利要求8所述的裝置,其特征在于,所述裝置還包括地址信息保存單元,設(shè)置在所述編譯機(jī)中,用于保存所述定制編譯請(qǐng)求消息中所包含的開(kāi)發(fā)機(jī)地址信息。10、如權(quán)利要求8所述的裝置,其特征在于,當(dāng)所述開(kāi)發(fā)機(jī)不需要進(jìn)行自動(dòng)更新和編譯時(shí),所述定制消息發(fā)送單元還用于發(fā)送取消定制編譯請(qǐng)求的消息到所迷編i,才凡。全文摘要本發(fā)明實(shí)施例提供了一種實(shí)現(xiàn)開(kāi)發(fā)機(jī)自動(dòng)編譯的方法及裝置。具體包括首先開(kāi)發(fā)機(jī)發(fā)送定制編譯請(qǐng)求的消息到編譯機(jī);編譯機(jī)接收所述定制編譯請(qǐng)求的消息;當(dāng)該編譯機(jī)完成編譯時(shí),根據(jù)所接收到的消息中的開(kāi)發(fā)機(jī)地址信息,發(fā)送啟動(dòng)自動(dòng)編譯的消息給所述開(kāi)發(fā)機(jī);該開(kāi)發(fā)機(jī)就根據(jù)所接收到的消息,啟動(dòng)自身的代碼更新和編譯。這樣就實(shí)現(xiàn)了開(kāi)發(fā)機(jī)可定制化的自動(dòng)更新和編譯,由于上述的過(guò)程可以在夜間自動(dòng)進(jìn)行,而不會(huì)受其他人員合入不完整代碼的干擾,從而大大縮短了開(kāi)發(fā)人員更新代碼、編譯代碼所耗費(fèi)的時(shí)間,極大的提高了軟件開(kāi)發(fā)的工作效率。文檔編號(hào)G06F9/44GK101477465SQ20091007800公開(kāi)日2009年7月8日申請(qǐng)日期2009年2月6日優(yōu)先權(quán)日2009年2月6日發(fā)明者吳祖榕申請(qǐng)人:騰訊科技(深圳)有限公司