本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,尤其涉及一種程序代碼的處理方法和裝置。
背景技術(shù):
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,用戶對(duì)網(wǎng)絡(luò)服務(wù)的全面性和穩(wěn)定性的要求越來(lái)越高。網(wǎng)絡(luò)服務(wù)具體通過(guò)代碼開(kāi)發(fā)人員研發(fā)出新的源代碼,經(jīng)過(guò)編譯檢測(cè)后上線至服務(wù)器來(lái)實(shí)現(xiàn)。為保證網(wǎng)絡(luò)服務(wù)的穩(wěn)定性,程序代碼的管理越來(lái)越重要。
現(xiàn)有的程序代碼經(jīng)開(kāi)發(fā)后,由研發(fā)人員自行搭建編譯環(huán)境,生成編譯文件后,直接進(jìn)行上線,沒(méi)有程序代碼的管理措施。存在上線的編譯文件對(duì)研發(fā)人員自行搭建編譯環(huán)境依賴比較嚴(yán)重的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種圖片檢測(cè)方法和裝置,用以解決現(xiàn)有的違規(guī)圖片檢測(cè)方法存在檢測(cè)速度慢的問(wèn)題。
本發(fā)明一方面提供一種程序代碼的處理方法,包括:
獲取源代碼文件;
對(duì)所述源代碼文件中的程序代碼進(jìn)行編譯處理得到編譯后的代碼文件;
檢測(cè)所述編譯后的代碼文件中是否存在錯(cuò)誤;
若不存在,則將所述編譯后的代碼文件上傳至主服務(wù)器。
如上所述的程序代碼的處理,所述將所述編譯后的代碼文件上傳至主服務(wù)器之前,所述方法還包括:
檢測(cè)所述編譯后的代碼文件與所述主服務(wù)器中的備份代碼文件是否一致;
則所述將所述編譯后的代碼文件上傳至主服務(wù)器,包括:
當(dāng)所述編譯后的代碼文件與所述主服務(wù)器中的備份代碼文件不一致時(shí),將所述編譯后的代碼文件上傳至主服務(wù)器。
如上所述的程序代碼的處理,所述方法還包括:
當(dāng)所述編譯后的代碼文件上傳完成,則控制從服務(wù)器根據(jù)所述主服務(wù)器中的所述編譯后的代碼文件進(jìn)行更新。
如上所述的程序代碼的處理,所述將所述編譯后的代碼文件上傳至主服務(wù)器,包括:
根據(jù)所述編譯后的代碼文件的格式,將所述編譯后的代碼文件上傳至與所述格式對(duì)應(yīng)的主服務(wù)器的預(yù)設(shè)目錄下進(jìn)行存儲(chǔ)。
如上所述的程序代碼的處理,所述方法還包括:
檢測(cè)是否存在第一從服務(wù)器更新所述編譯后的代碼文件失敗;
若存在,則輸出告警信息;所述告警信息用于指示所述第一從服務(wù)器更新失敗。
下面介紹本發(fā)明實(shí)施例提供的一種圖片檢測(cè)裝置,該裝置與方法一一對(duì)應(yīng),用以實(shí)現(xiàn)上述實(shí)施例中的圖片檢測(cè)方法,具有相同的技術(shù)特征和技術(shù)效果,本發(fā)明對(duì)此不再贅述。
本發(fā)明另一方面提供一種程序代碼的處理裝置,包括:
獲取模塊,用于獲取源代碼文件;
編譯模塊,用于對(duì)所述源代碼文件中的程序代碼進(jìn)行編譯處理得到編譯后的代碼文件;
代碼檢測(cè)模塊,用于檢測(cè)所述編譯后的代碼文件中是否存在錯(cuò)誤;
上線模塊,用于在所述編譯后的代碼文件中不存在錯(cuò)誤時(shí),將所述編譯后的代碼文件上傳至主服務(wù)器。
如上所述的程序代碼的處理裝置,還包括:
版本檢測(cè)模塊,用于檢測(cè)所述編譯后的代碼文件與所述主服務(wù)器中的備份代碼文件是否一致;
所述上線模塊用于,在所述編譯后的代碼文件與所述主服務(wù)器中的備份代碼文件不一致時(shí),將所述編譯后的代碼文件上傳至主服務(wù)器。
如上所述的程序代碼的處理裝置,還包括:
監(jiān)控模塊,用于當(dāng)所述編譯后的代碼文件上傳完成,則控制從服務(wù)器根據(jù)所述主服務(wù)器中的所述編譯后的代碼文件進(jìn)行更新。
如上所述的程序代碼的處理裝置,所述上線模塊具體用于,根據(jù)所述編譯后的代碼文件的格式,將所述編譯后的代碼文件上傳至與所述格式對(duì)應(yīng)的主服務(wù)器的預(yù)設(shè)目錄下進(jìn)行存儲(chǔ)。
如上所述的程序代碼的處理裝置,所述監(jiān)控模塊還用于:
檢測(cè)是否存在第一從服務(wù)器更新所述編譯后的代碼文件失??;
若存在,則輸出告警信息;所述告警信息用于指示所述第一從服務(wù)器更新失敗。
本發(fā)明提供的程序代碼的處理方法和裝置,在獲取源代碼文件后,對(duì)源代碼文件中的程序代碼采用統(tǒng)一的編譯方式進(jìn)行編譯處理得到編譯后的代碼文件,然后對(duì)編譯后的代碼文件進(jìn)行錯(cuò)誤檢測(cè),在確定不存在錯(cuò)誤時(shí)將編譯后的代碼文件上傳至主服務(wù)器。通過(guò)對(duì)源代碼文件進(jìn)行了統(tǒng)一管理和檢測(cè),使得上線的代碼文件穩(wěn)定性更強(qiáng),錯(cuò)誤率更低,提高了網(wǎng)絡(luò)服務(wù)的穩(wěn)定性。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明提供的程序代碼的處理方法實(shí)施例一的流程示意圖;
圖2為本發(fā)明提供的程序代碼的處理方法實(shí)施例二的流程示意圖;
圖3為本發(fā)明提供的程序代碼的處理裝置實(shí)施例一的結(jié)構(gòu)示意圖;
圖4為本發(fā)明提供的程序代碼的處理裝置實(shí)施例二的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
一方面本發(fā)明提供一種程序代碼的處理方法,圖1為本發(fā)明提供的程序代碼的處理方法實(shí)施例一的流程示意圖,該方法的執(zhí)行主體為程序代碼的處理裝置,該裝置可以通過(guò)軟件或硬件的方式實(shí)現(xiàn),可直接集成在網(wǎng)站服務(wù)器中,本發(fā)明對(duì)此不做限定。如圖1所示,該方法包括:
S101、獲取源代碼文件;
S102、對(duì)源代碼文件中的程序代碼進(jìn)行編譯處理得到編譯后的代碼文件;
S103、檢測(cè)編譯后的代碼文件中是否存在錯(cuò)誤;若否,則執(zhí)行S104;
S104、將編譯后的代碼文件上傳至主服務(wù)器。
具體的,在S101中,獲取源代碼文件的方式具體以為研發(fā)人員主動(dòng)上傳源代碼文件,源代碼文件具體為前端代碼文件,通過(guò)將前端代碼文件和后端代碼文件分離,可提高網(wǎng)絡(luò)服務(wù)的穩(wěn)定性。
具體的,在S102中,在接收到研發(fā)人員上傳的源代碼文件后,可將源代碼文件發(fā)送至統(tǒng)一的編譯測(cè)試機(jī)中,由統(tǒng)一的編譯測(cè)試機(jī)對(duì)源代碼文件中的程序代碼進(jìn)行編譯處理得到編譯后的代碼文件。通過(guò)采用統(tǒng)一的編譯測(cè)試機(jī)進(jìn)行編譯,可以避免研發(fā)人員根據(jù)本地研發(fā)環(huán)境自行搭建編譯平臺(tái)進(jìn)行編譯,導(dǎo)致的不同版本的源代碼采用不同的編譯平臺(tái)進(jìn)行編譯的問(wèn)題。
具體的,在S103中,在得到編譯后的代碼文件后,將編譯后的代碼文件發(fā)送至統(tǒng)一的測(cè)試服務(wù)器中,由統(tǒng)一的測(cè)試服務(wù)器進(jìn)行檢測(cè)編譯后的代碼文件中是否存在錯(cuò)誤。示例性的,測(cè)試服務(wù)器中按照代碼文件的版本和文件列表進(jìn)行展示,選擇需要進(jìn)行測(cè)試的版本進(jìn)行測(cè)試。具體的,當(dāng)測(cè)試服務(wù)器檢測(cè)無(wú)錯(cuò)誤則可認(rèn)為是檢測(cè)通過(guò),還可以是測(cè)試服務(wù)器將檢測(cè)結(jié)果呈現(xiàn)給用戶,當(dāng)接收到用戶輸入的檢測(cè)通過(guò)信號(hào)后,認(rèn)為編譯后的代碼文件檢測(cè)通過(guò)。
具體的,在S104中,當(dāng)檢測(cè)編譯后的代碼文件中不存在錯(cuò)誤時(shí),將編譯后的代碼文件上傳至主服務(wù)器,即上線。主服務(wù)器示例性的可以為進(jìn)行網(wǎng)絡(luò)服務(wù)或提供其他應(yīng)用服務(wù)的服務(wù)器。通過(guò)在上線前進(jìn)行了錯(cuò)誤檢測(cè),以及統(tǒng)一的編譯管理,使得上線的代碼文件穩(wěn)定性更強(qiáng),錯(cuò)誤率更低。
本發(fā)明提供的程序代碼的處理方法,在獲取源代碼文件后,對(duì)源代碼文件中的程序代碼采用統(tǒng)一的編譯方式進(jìn)行編譯處理得到編譯后的代碼文件,然后對(duì)編譯后的代碼文件進(jìn)行錯(cuò)誤檢測(cè),在確定不存在錯(cuò)誤時(shí)將編譯后的代碼文件上傳至主服務(wù)器。通過(guò)對(duì)源代碼文件進(jìn)行了統(tǒng)一管理和檢測(cè),使得上線的代碼文件穩(wěn)定性更強(qiáng),錯(cuò)誤率更低,提高了網(wǎng)絡(luò)服務(wù)的穩(wěn)定性。
進(jìn)一步的,結(jié)合圖1所示實(shí)施例,圖2為本發(fā)明提供的程序代碼的處理方法實(shí)施例二的流程示意圖,如圖2所示,該方法包括:
S201、獲取源代碼文件;
S202、對(duì)源代碼文件中的程序代碼進(jìn)行編譯處理得到編譯后的代碼文件;
S203、檢測(cè)編譯后的代碼文件中是否存在錯(cuò)誤;若否,則執(zhí)行S204;
S204、檢測(cè)編譯后的代碼文件與主服務(wù)器中的備份代碼文件是否一致;若否,則執(zhí)行S205;
S205、將編譯后的代碼文件上傳至主服務(wù)器。
具體的,S201、S202、S203、S205分別與圖1所示實(shí)施例中的S101、S102、S103、S104相同,本發(fā)明對(duì)此不再贅述。
具體的,在S204中,在將編譯后的代碼文件上傳至主服務(wù)器之前,需檢測(cè)編譯后的代碼文件與主服務(wù)器中的備份代碼文件是否一致,當(dāng)編譯后的代碼文件與主服務(wù)器中的備份代碼文件一致時(shí),則可能存在研發(fā)人員上傳的源代碼版本錯(cuò)誤的問(wèn)題,當(dāng)編譯后的代碼文件與主服務(wù)器中的備份代碼文件不一致時(shí),則確保了上線的編譯文件為新版本的編譯文件。通過(guò)增加版本檢測(cè)的步驟,進(jìn)一步提高了網(wǎng)絡(luò)服務(wù)的穩(wěn)定性。
可選的,在上述任一實(shí)施例的基礎(chǔ)上,程序代碼的處理方法還包括:
當(dāng)編譯后的代碼文件上傳完成,則控制從服務(wù)器根據(jù)主服務(wù)器中的編譯后的代碼文件進(jìn)行更新。
具體的,當(dāng)檢測(cè)到編譯后的代碼文件在主服務(wù)器上傳完成后,控制從服務(wù)器根據(jù)主服務(wù)器中的編譯后的代碼文件進(jìn)行更新。示例性的,主服務(wù)器與從服務(wù)器采用內(nèi)容分發(fā)網(wǎng)絡(luò)(Content Delivery Network,簡(jiǎn)稱CDN)架構(gòu)。通過(guò)采用CDN架構(gòu),將從服務(wù)器部署在相距較遠(yuǎn)的不同的物理位置處,通過(guò)中心平臺(tái)的負(fù)載均衡,內(nèi)容分發(fā)、調(diào)度等功模塊,使得不同物理位置處的用戶可就近獲取所需內(nèi)容,降低網(wǎng)絡(luò)擁塞,提高用戶訪問(wèn)響應(yīng)速度和命中率。
可選的,在上述任一實(shí)施例的基礎(chǔ)上,將編譯后的代碼文件上傳至主服務(wù)器的步驟,具體包括:
根據(jù)編譯后的代碼文件的格式,將編譯后的代碼文件上傳至與格式對(duì)應(yīng)的主服務(wù)器的預(yù)設(shè)目錄下進(jìn)行存儲(chǔ)。
具體的,在將編譯后的代碼文件上傳至主服務(wù)器的過(guò)程中,為進(jìn)一步提高網(wǎng)絡(luò)服務(wù)的穩(wěn)定性,可增加版本管理和資源管理。示例性的,可根據(jù)編譯后的代碼文件的格式,將編譯后的代碼文件上傳至與格式對(duì)應(yīng)的主服務(wù)器的預(yù)設(shè)目錄下進(jìn)行存儲(chǔ)。編譯后的代碼文件的格式包括css、html、js和img等。考慮到不同的主服務(wù)器配置不同,可根據(jù)編譯后的代碼文件的格式的不同,將編譯后的代碼文件存儲(chǔ)在不同的主服務(wù)器中。通過(guò)將不同格式的文件存儲(chǔ)在不同的主服務(wù)器中,可提高主服務(wù)器的訪問(wèn)流量、帶寬和訪問(wèn)速度。
在具體存儲(chǔ)在主服務(wù)器的過(guò)程中,將編譯后的代碼文件上傳至主服務(wù)器的預(yù)設(shè)目錄下,預(yù)設(shè)目錄可根據(jù)編譯后的代碼文件的類型、研發(fā)部門、項(xiàng)目名稱、研發(fā)時(shí)間等生成。示例性的,存儲(chǔ)目錄可以為“/金融事業(yè)部/平臺(tái)(m/pc/app)/靜態(tài)文件類型/項(xiàng)目名/”。通過(guò)為編譯后的代碼文件約定存儲(chǔ)目錄,可方便研發(fā)人員確定編譯后的代碼文件的版本,對(duì)代碼文件進(jìn)行維護(hù)以及版本管理。
可選的,在上述任一實(shí)施例的基礎(chǔ)上,程序代碼的處理方法還包括:
檢測(cè)是否存在第一從服務(wù)器更新編譯后的代碼文件失敗;
若存在,則輸出告警信息;告警信息用于指示第一從服務(wù)器更新失敗。
具體的,在各從服務(wù)器在根據(jù)主服務(wù)器更新編譯后的代碼文件進(jìn)行更新時(shí),需檢測(cè)是否存在第一從服務(wù)器更新編譯后的代碼文件失敗,若存在,則可通過(guò)彈出窗口、短消息等方式向用戶輸出告警信息;告警信息用于指示第一從服務(wù)器更新失敗。
本發(fā)明另一方面還提供的一種程序代碼的處理裝置,該裝置可以由軟件/硬件實(shí)現(xiàn),本發(fā)明對(duì)此不做限定。該裝置與方法實(shí)施例一一對(duì)應(yīng),用以實(shí)現(xiàn)上述實(shí)施例中的程序代碼的處理方法,具有相同的技術(shù)特征和技術(shù)效果,本發(fā)明實(shí)施例對(duì)此不再贅述。
圖3為本發(fā)明提供的程序代碼的處理裝置實(shí)施例一的結(jié)構(gòu)示意圖。如圖3所示,該裝置包括:
獲取模塊301,用于獲取源代碼文件;
編譯模塊302,用于對(duì)源代碼文件中的程序代碼進(jìn)行編譯處理得到編譯后的代碼文件;
代碼檢測(cè)模塊303,用于檢測(cè)編譯后的代碼文件中是否存在錯(cuò)誤;
上線模塊304,用于在編譯后的代碼文件中不存在錯(cuò)誤時(shí),將編譯后的代碼文件上傳至主服務(wù)器。
進(jìn)一步地,在圖3所示實(shí)施例的基礎(chǔ)上,圖4為本發(fā)明提供的程序代碼的處理裝置實(shí)施例二的結(jié)構(gòu)示意圖。如圖4所示,程序代碼的處理裝置還包括:
版本檢測(cè)模塊3031,用于檢測(cè)編譯后的代碼文件與主服務(wù)器中的備份代碼文件是否一致;
上線模塊304用于,在編譯后的代碼文件與主服務(wù)器中的備份代碼文件不一致時(shí),將編譯后的代碼文件上傳至主服務(wù)器。
示例性的,程序代碼的處理裝置還包括:
監(jiān)控模塊,用于當(dāng)編譯后的代碼文件上傳完成,則控制從服務(wù)器根據(jù)主服務(wù)器中的編譯后的代碼文件進(jìn)行更新。
示例性的,上線模塊304具體用于,根據(jù)編譯后的代碼文件的格式,將編譯后的代碼文件上傳至與格式對(duì)應(yīng)的主服務(wù)器的預(yù)設(shè)目錄下進(jìn)行存儲(chǔ)。
示例性的,監(jiān)控模塊還用于:
檢測(cè)是否存在第一從服務(wù)器更新編譯后的代碼文件失敗;
若存在,則輸出告警信息;告警信息用于指示第一從服務(wù)器更新失敗。
在本發(fā)明所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過(guò)其它的方式實(shí)現(xiàn)。另外,本發(fā)明所提供的幾個(gè)實(shí)施例可以整體或部分的相互結(jié)合形成新的實(shí)施例,而這些新的實(shí)施例,仍屬于本發(fā)明范圍內(nèi)。
最后應(yīng)說(shuō)明的是:以上各實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。