一種組件部署系統(tǒng)及方法
【專利摘要】本發(fā)明公開了一種組件部署系統(tǒng)及方法,該系統(tǒng)包括:部署管理模塊、執(zhí)行模塊、SVN服務器、數(shù)據(jù)庫和客戶端。部署管理模塊向執(zhí)行模塊發(fā)送部署命令及部署信息,部署信息包括生產(chǎn)環(huán)境中需要部署的服務器及組件信息;執(zhí)行模塊接收部署命令及部署信息,并根據(jù)部署信息從數(shù)據(jù)庫中獲取需要部署的組件的版本信息,將版本信息發(fā)送給需要部署的服務器上的客戶端;客戶端根據(jù)所述版本信息從SVN服務器下載版本文件,并根據(jù)腳本文件運行對應版本文件,完成本次部署。利用本發(fā)明,可以提高部署效率及可靠性,加快上線速度。
【專利說明】一種組件部署系統(tǒng)及方法
【技術領域】
[0001]本發(fā)明涉及移動互聯(lián)網(wǎng)領域,具體涉及一種組件部署系統(tǒng)及方法。
【背景技術】
[0002]隨著移動互聯(lián)網(wǎng)的發(fā)展,互聯(lián)網(wǎng)業(yè)務變得越來越復雜,用戶的需求變得越來越多樣化,安全可靠的組件部署系統(tǒng)已成為移動互聯(lián)網(wǎng)的重要組成部分。
[0003]為了提供穩(wěn)定的服務,滿足海量用戶的請求,后臺需要運行大量的服務程序來提供支撐,服務器管理、組件管理以及版本的迭代更新成為一個不可回避的問題。目前的部署工作多是由人工完成的,當一個組件需要更新時,需要多個運維人員進行組件的上線操作。
[0004]當服務器的數(shù)量比較少的情況下,可以通過人工方式來管理服務器、完成組件的版本上線,能夠保證上線的速度和服務部署的正確性。但是,隨著服務器數(shù)量的增加,當服務器的數(shù)量達到上百臺、上千臺甚至更多時,同時上線越來越頻繁,人工部署已經(jīng)遠遠無法滿足快速上線的需求,并且人工部署耗時長、出錯率高、效率低下。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實施例提供一種組件部署系統(tǒng)及方法,用于提高部署效率及可靠性,加快上線速度。
[0006]為此,本發(fā)明提供如下技術方案:
[0007]一種組件部署系統(tǒng),其特征在于,包括:
[0008]部署管理模塊,用于向執(zhí)行模塊發(fā)送部署命令及部署信息,所述部署信息包括生產(chǎn)環(huán)境中需要部署的服務器及組件信息;
[0009]所述執(zhí)行模塊,用于接收所述部署命令及部署信息,并根據(jù)所述部署信息從數(shù)據(jù)庫中獲取需要部署的組件的版本信息,將所述版本信息發(fā)送給需要部署的服務器上的客戶端;
[0010]所述客戶端,用于根據(jù)所述版本信息從SVN服務器下載版本文件,并運行所述版本文件對應的腳本文件,完成本次部署。
[0011 ] 優(yōu)選地,所述系統(tǒng)還包括:
[0012]信息管理模塊,用于在所述生產(chǎn)環(huán)境中有新的服務器或組件加入時,將所述服務器及組件信息存儲到所述數(shù)據(jù)庫中;
[0013]版本管理模塊,用于構建對應所述組件的版本文件,將所述版本文件上傳到所述SVN服務器中,并將對應所述版本文件的版本信息存儲到所述數(shù)據(jù)庫中。
[0014]優(yōu)選地,所述版本管理模塊,還用于在將所述版本文件上傳到所述SVN服務器中之前,檢查所述版本文件的大?。蝗绻霭姹疚募笥谠O定值,則將所述版本文件上傳到FTP服務器中;否則,將所述版本文件上傳到所述SVN服務器中。
[0015]優(yōu)選地,所述系統(tǒng)還包括:
[0016]檢驗信息生成模塊,用于生成所述版本文件的校驗信息,并將所述檢驗信息上傳到所述SVN服務器中;
[0017]所述客戶端,還用于在運行所述版本文件對應的腳本文件之前,從所述SVN服務器下載所述版本文件的校驗信息,并根據(jù)所述校驗信息對所述版本文件進行校驗。
[0018]優(yōu)選地,所述系統(tǒng)還包括:
[0019]腳本文件管理模塊,用于將所述腳本文件存儲在所述SVN服務器或FTP服務器上。
[0020]優(yōu)選地,所述生產(chǎn)環(huán)境中需要部署的服務器是基于windows操作系統(tǒng)和/或Iinux操作系統(tǒng)的服務器。
[0021]一種組件部署方法,其特征在于,包括:
[0022]接收部署命令及部署信息,所述部署信息包括生產(chǎn)環(huán)境中需要部署的服務器及組件信息;
[0023]根據(jù)所述部署信息從數(shù)據(jù)庫中獲取需要部署的組件的版本信息,并將所述版本信息發(fā)送給需要部署的服務器上的客戶端;
[0024]所述客戶端根據(jù)所述版本信息從SVN服務器下載版本文件;
[0025]所述客戶端運行所述版本文件對應的腳本文件,完成本次部署。
[0026]優(yōu)選地,所述方法還包括:
[0027]在所述生產(chǎn)環(huán)境中有新的服務器或組件加入時,將所述服務器及組件信息存儲到所述數(shù)據(jù)庫中;
[0028]構建對應所述組件的版本文件;
[0029]將所述版本文件上傳到所述SVN服務器中;
[0030]將對應所述版本文件的版本信息存儲到所述數(shù)據(jù)庫中。
[0031]優(yōu)選地,所述方法還包括:
[0032]在將所述版本文件存儲到所述SVN服務器中之前,檢查所述版本文件的大小;
[0033]如果所述版本文件大于設定值,則將所述版本文件上傳到FTP服務器中;
[0034]否則,將所述版本文件存儲到所述SVN服務器中。
[0035]優(yōu)選地,所述方法還包括:
[0036]生成所述版本文件的校驗信息,并將所述檢驗信息上傳到所述SVN服務器中;
[0037]所述客戶端在運行所述版本文件對應的腳本文件之前,從所述SVN服務器下載所述版本文件的校驗信息,并根據(jù)所述校驗信息對所述版本文件進行校驗。
[0038]優(yōu)選地,所述方法還包括:
[0039]預先將所述腳本文件存儲在所述SVN服務器或FTP服務器上。
[0040]優(yōu)選地,所述生產(chǎn)環(huán)境中需要部署的服務器是基于windows操作系統(tǒng)和/或Iinux操作系統(tǒng)的服務器。
[0041]本發(fā)明實施例提供的組件部署系統(tǒng)及方法,可以有效地管理生產(chǎn)環(huán)境的服務器以及組件的歷史版本,實現(xiàn)對生產(chǎn)環(huán)境的服務器的自動化部署,而且支持多節(jié)點多臺服務器的并發(fā)部署,同時更新的服務器數(shù)量可控,提高了上線效率。而且,由于是自動完成部署工作,避免了人工操作帶來的錯誤隱患,提高了上線的正確性及可靠性。
【專利附圖】
【附圖說明】
[0042]為了更清楚地說明本申請實施例或現(xiàn)有技術中的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明中記載的一些實施例,對于本領域普通技術人員來講,還可以根據(jù)這些附圖獲得其它的附圖。
[0043]圖1是本發(fā)明實施例組件部署系統(tǒng)的一種結(jié)構示意圖;
[0044]圖2是本發(fā)明實施例組件部署方法的流程圖。
【具體實施方式】
[0045]為了使本【技術領域】的人員更好地理解本發(fā)明實施例的方案,下面結(jié)合附圖和實施方式對本發(fā)明實施例作進一步的詳細說明。
[0046]在一個生產(chǎn)環(huán)境下,有時會需要多臺服務器完成工作,這些服務器需要安裝相同的組件,提供相應的服務。在有些環(huán)境下,這些服務器的數(shù)量可能會達到上百臺、上千臺甚至更多,而傳統(tǒng)的手工部署方式不僅效率低,而且易出錯。針對這種應用需求,本發(fā)明實施例提供一種組件部署系統(tǒng)及方法,實現(xiàn)對生產(chǎn)環(huán)境的服務器的自動化部署,而且支持多節(jié)點多臺服務器的并發(fā)部署,提高上線效率。
[0047]如圖1所示,是本發(fā)明實施例組件部署系統(tǒng)的一種結(jié)構示意圖,實現(xiàn)對生產(chǎn)環(huán)境中的一個或多個服務器105進行組件自動部署。每個服務器105上安裝有相應的客戶端500,運行對應需要部署組件的腳本文件中的命令,完成部署操作。
[0048]在該實施例中,所述系統(tǒng)包括:部署管理模塊101、執(zhí)行模塊102、數(shù)據(jù)庫103、以及SVN服務器104。
[0049]SVN(Subversion)是一個開源的版本管理系統(tǒng),具有管理方便、邏輯明確、安全性高、代碼一致性高、符合一般人思維習慣等優(yōu)點。為此,在本發(fā)明實施例的系統(tǒng)中,利用SVN服務器104來保存開發(fā)的各組件的版本文件。相應地,將對應各組件的版本信息(比如,版本運行的程序路徑、版本文件路徑等信息)保存在數(shù)據(jù)庫103中。
[0050]在對服務器進行相應組件部署時,可以通過人工選定需要部署的服務器及組件,生成部署信息,所述部署信息包括生產(chǎn)環(huán)境中需要部署的服務器及組件信息(其中,組件信息包括組件名、部署路徑等)。然后由部署管理模塊101向執(zhí)行模塊102發(fā)送部署命令及部署信息,執(zhí)行模塊102接收到部署命令及部署信息后,根據(jù)該部署信息從數(shù)據(jù)庫103中獲取需要部署的組件的版本信息,然后將所述版本信息發(fā)送給需要部署的服務器105上的客戶端500。客戶端500根據(jù)所述版本信息從SVN服務器104下載相應的版本文件,并根據(jù)腳本文件運行所述版本文件,完成本次部署。
[0051 ] 需要說明的是,所述腳本文件是對應所述版本文件的命令程序,在實際應用中,所述腳本文件可以存放在SVN服務器中,也可以存放在其它服務器中。相應地,客戶端可以根據(jù)收到的版本信息獲取所述腳本文件的存放路徑,并從相應的服務器上下載該腳本文件。
[0052]另外,需要說明的是,客戶端500在組件部署過程中,還可以將部署狀態(tài)信息及部署結(jié)果信息返回給執(zhí)行模塊102,執(zhí)行模塊102將這些信息寫入數(shù)據(jù)庫103中,部署管理模塊101可以從數(shù)據(jù)庫中獲取這些信息,并通過顯示器將這些信息顯示在相應的界面,以供管理人員參閱??蛻舳?00還可以在組件部署完成后,向執(zhí)行模塊102發(fā)送部署結(jié)束消息,或者將組件更新結(jié)果返回給執(zhí)行模塊102,執(zhí)行模塊102將這些信息寫入數(shù)據(jù)庫103中,部署管理模塊101可以從數(shù)據(jù)庫中獲取這些信息,并通過顯示器進行相應的結(jié)果顯示。
[0053]為了更好地實現(xiàn)對工作環(huán)境中下各服務器的有效管理,在本發(fā)明系統(tǒng)的另一實施例中,所述系統(tǒng)還可包括:信息管理模塊和版本管理模塊(未圖示)。
[0054]其中,所述信息管理模塊用于在所述生產(chǎn)環(huán)境中有新的服務器或組件加入時,將所述服務器及組件信息存儲到所述數(shù)據(jù)庫中;版本管理模塊用于構建對應所述組件的版本文件,將所述版本文件上傳到所述SVN服務器中,并將對應所述版本文件的版本信息存儲到所述數(shù)據(jù)庫中。
[0055]在實際應用中,上述信息管理模塊可以設置在一臺計算機上,比如,可以將其與部署管理模塊101及執(zhí)行模塊102設置在同一臺計算機上,將該計算機作為管理終端,為用戶提供相應的管理界面,通過可視化操作,完成組件的部署工作;而且,還可在管理界面顯示部署狀態(tài)及結(jié)果等信息。當然,上述各模塊也可以設置在不同的計算機上,對此本發(fā)明實施例不做限定。
[0056]在實際應用中,考慮到SVN服務器104自身存儲容量的限制,還可以將對應某些組件的版本文件存放到其它服務器上,比如FTP (File Transfer Protocol,文件傳輸協(xié)議)服務器。為此,上述版本管理模塊還可以在將所述版本文件上傳到SVN服務器104中之前,檢查所述版本文件的大??;如果所述版本文件大于設定值,則將所述版本文件上傳到FTP服務器中;否則,將所述版本文件上傳到SVN服務器104中。
[0057]前面提到,所述腳本文件可以存放在SVN服務器中,也可以存放在其它服務器中。在實際應用中,可以將其與對應的組件文件一同存放在FTP服務器中。
[0058]需要說明的是,利用本發(fā)明實施例提供的組件部署系統(tǒng),可以實現(xiàn)跨平臺的自動化部署,也就是說,生產(chǎn)環(huán)境中需要部署的服務器可以是基于windows操作系統(tǒng)和/或Iinux操作系統(tǒng)的服務器。
[0059]例如:待更新的服務器有兩臺,IP地址分別為=192.168.1.10和192.168.1.11 ;待更新的組件為:test_comp。其更新過程如下:
[0060]a)通過信息管理模塊向數(shù)據(jù)庫中添加服務器信息:主要的信息有:服務器編碼、所在城市、IP地址、操作系統(tǒng)、功能用途;
[0061]b)通過通過信息管理模塊向數(shù)據(jù)庫中添加組件信息:主要信息有:組件名稱、SVN路徑、部署路徑、主程序路徑、執(zhí)行腳本名和ftp存儲路徑;
[0062]c)服務器關聯(lián)組件:將維護的兩臺服務器關聯(lián)上teSt_COmp組件,以使這兩臺服務器可以部署test_comp組件;
[0063]以上三步一次性維護即可,后續(xù)部署流程中不需要重復操作。
[0064]d)上傳組件文件:將test_comp組件需要上線的文件(版本文件)放到test_comp文件夾下,然后從自動化部署平臺主頁下載MD5校驗工具,將目錄拖拽到MD5.exe上,會自動在test_comp目錄下生成MD5文件,然后手動將test_comp打包成test_comp.zip文件,將test_comp.zip文件上傳到web server服務器;web server服務器調(diào)用上傳工具將teSt_COmp.zip文件壓縮包解壓,然后上傳到SVN服務器的指定目錄中;
[0065]e)由版本管理模塊構建teSt_COmp組件的上線版本,即前面所述的版本文件,并將對應所述版本文件的版本信息存儲到所述數(shù)據(jù)庫中;
[0066]f)在需要部署時,通過部署管理模塊生成一個部署單號,并發(fā)送部署消息到執(zhí)行模塊,執(zhí)行模塊接收到部署消息后,根據(jù)部署單號從數(shù)據(jù)庫取出詳細的部署內(nèi)容分發(fā)到每臺待更新的服務器的客戶端;部署單號中的信息主要有:服務器IP地址、組件名稱、部署路徑、主程序路徑、版本SVN路徑、版本號、腳本名稱及路徑、同時更新臺數(shù)、超時時間;
[0067]g)客戶端接收到部署消息后,下載指定的腳本文件,然后執(zhí)行腳本文件中的命令去完成部署操作,將部署狀態(tài)和部署結(jié)果寫入到數(shù)據(jù)庫中,提供頁面顯示;
[0068]以上即自動化部署平臺的整個部署流程。
[0069]為了進一步提高部署操作的靈活性,在本發(fā)明系統(tǒng)的另一實施例中,所述部署管理模塊101中還可以設置部署控制單元,提供部署暫停、停止、繼續(xù)功能。所述部署控制單元可以有多種實現(xiàn)方式,比如,可以在部署管理模塊101提供的部署頁面上設置相應的控件或命令菜單選項,也可以通過外接鍵盤上特定的按鍵等來實現(xiàn),對此本發(fā)明實施例不做限定。
[0070]比如,本次需要更新100臺服務器,如果已經(jīng)完成50臺上線,但是運維人員希望將剩余的50臺稍后部署,則可以點擊頁面的暫停部署按鈕,部署管理模塊101發(fā)送暫停部署消息給執(zhí)行模塊102,執(zhí)行模塊102暫停向剩余50臺服務器發(fā)送消息;此時,頁面出現(xiàn)繼續(xù)部署按鈕,如果運維人員需要繼續(xù)部署,則點擊繼續(xù)部署按鈕即可,部署管理模塊101發(fā)送繼續(xù)部署消息給執(zhí)行模塊102,執(zhí)行模塊102會繼續(xù)完成50臺服務器的部署。
[0071]再比如,本次需要更新100臺服務器,已經(jīng)完成50臺服務器的更新,若此時運維人員希望剩余的50臺服務器不更新,則可以點擊頁面的停止部署按鈕,此時部署管理模塊101發(fā)送停止部署消息給執(zhí)行模塊102,執(zhí)行模塊102會停止剩余50臺服務器的部署。
[0072]本發(fā)明實施例提供的組件部署系統(tǒng),可以有效地管理生產(chǎn)環(huán)境的服務器以及組件的歷史版本,實現(xiàn)對生產(chǎn)環(huán)境的服務器的自動化部署,而且支持多節(jié)點多臺服務器的并發(fā)部署,同時更新的服務器數(shù)量可控,提高了上線效率。而且,由于是自動完成部署工作,避免了人工操作帶來的錯誤隱患,提高了上線的正確性及可靠性。
[0073]進一步地,為了保證版本文件的正確性,在本發(fā)明系統(tǒng)另一實施例中,還可包括:檢驗信息生成模塊(未圖示),用于生成所述版本文件的校驗信息,并將所述檢驗信息上傳到所述SVN服務器中。
[0074]需要說明的是,上述校驗信息生成模塊可以在所述版本管理模塊將所述版本文件上傳到所述SVN服務器之前或之后生成所述版本文件的校驗信息(比如MD5),對此本發(fā)明實施例不做限定。而且,將該校驗信息上傳到SVN服務器的相應文件目錄中。
[0075]然后,可以由所述版本管理模塊對SVN服務器中的版本文件進行校驗,比如,從SVN服務器上下載所述版本文件及對應的校驗信息,然后在本地生成所述版本文件的校驗信息,如果本地生成的校驗信息與從SVN服務器上下載的校驗信息一致,則說明該版本文件正確,否則可以刪除SVN服務器上的相應版本文件及對應的校驗信息,重新構建相應的版本文件。
[0076]同樣,在組件上線時,需要部署的服務器的客戶端也可以在運行所述版本文件對應的腳本文件之前,從所述SVN服務器下載所述版本文件的校驗信息,并根據(jù)所述校驗信息對所述版本文件進行校驗。這樣,可以進一步保證版本文件的正確性。
[0077]需要說明的是,在實際應用中,上述兩次不同時段的校驗過程可以擇一選用,也可以同時選用,對此本發(fā)明實施例不做限定。
[0078]相應地,本發(fā)明實施例還提供一種組件部署方法,如圖2所示,是本發(fā)明實施例組件部署方法的流程圖,包括以下步驟:
[0079]步驟201,接收部署命令及部署信息,所述部署信息包括生產(chǎn)環(huán)境中需要部署的服務器及組件信息。
[0080]步驟202,根據(jù)所述部署信息從數(shù)據(jù)庫中獲取需要部署的組件的版本信息,并將所述版本信息發(fā)送給需要部署的服務器上的客戶端。
[0081 ] 步驟203,所述客戶端根據(jù)所述版本信息從SVN服務器下載版本文件。
[0082]步驟204,所述客戶端執(zhí)行腳本文件中對應的命令,完成本次部署。
[0083]上述腳本文件可以預先存儲在所述SVN服務器或FTP服務器上。
[0084]需要說明的是,在實際應用中,可以利用SVN服務器來開發(fā)并保存各組件的版本文件,而將對應各組件的版本信息(比如,版本運行的程序路徑、版本文件路徑等信息)保存在數(shù)據(jù)庫中。為了實現(xiàn)對工作環(huán)境中的服務器及組件的有效管理,還可以將服務器及組件的相關信息保存在所述數(shù)據(jù)庫中,在所述生產(chǎn)環(huán)境中有新的服務器或組件加入時,更新相應的信息,并構建對應所述組件的版本文件,將所述版本文件上傳到所述SVN服務器中,將對應所述版本文件的版本信息存儲到所述數(shù)據(jù)庫中。
[0085]考慮到SVN服務器的存儲容量問題,還可以在將所述版本文件存儲到所述SVN服務器中之前,檢查所述版本文件的大小;如果所述版本文件大于設定值,則將所述版本文件上傳到FTP服務器中;否則,將所述版本文件存儲到所述SVN服務器中。這樣,利用FTP服務器大容量的優(yōu)勢,將一些大資源版本文件存放到FTP服務器上,使SVN服務器更好地發(fā)揮其版本開發(fā)及管理的性能。
[0086]需要說明的是,本發(fā)明實施例提供的組件部署方法,可以支持跨平臺的自動化部署,也就是說,生產(chǎn)環(huán)境中需要部署的服務器可以是基于windows操作系統(tǒng)和/或Iinux操作系統(tǒng)的服務器。
[0087]本發(fā)明實施例提供的組件部署方法,可以有效地管理生產(chǎn)環(huán)境的服務器以及組件的歷史版本,實現(xiàn)對生產(chǎn)環(huán)境的服務器的自動化部署,而且支持多節(jié)點多臺服務器的并發(fā)部署,同時更新的服務器數(shù)量可控,提高了上線效率。而且,由于是自動完成部署工作,避免了人工操作帶來的錯誤隱患,提高了上線的正確性及可靠性。
[0088]進一步地,為了保證版本文件的正確性,在本發(fā)明方法另一實施例中,還可包括以下步驟:
[0089]生成所述版本文件的校驗信息,并將所述檢驗信息上傳到所述SVN服務器中;
[0090]所述客戶端在運行所述版本文件對應的腳本文件之前,從所述SVN服務器下載所述版本文件的校驗信息,并根據(jù)所述校驗信息對所述版本文件進行校驗。
[0091 ] 需要說明的是,在實際應用中,可以在將所述版本文件上傳到所述SVN服務器之前或之后生成所述版本文件的校驗信息(比如MD5),對此本發(fā)明實施例不做限定。而且,將該校驗信息上傳到SVN服務器的相應文件目錄中。
[0092]另外,在將所述版本文件上傳到所述SVN服務器之后,還可以對該版本文件進行校驗,具體地,從SVN服務器上下載所述版本文件及對應的校驗信息,然后在本地生成所述版本文件的校驗信息,如果本地生成的校驗信息與從SVN服務器上下載的校驗信息一致,則說明該版本文件正確,否則可以刪除SVN服務器上的相應版本文件及對應的校驗信息,重新構建相應的版本文件。
[0093]需要說明的是,在實際應用中,上述兩次不同時段的校驗過程可以擇一選用,也可以同時選用,對此本發(fā)明實施例不做限定。
[0094]本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于方法實施例而言,由于其基本相似于系統(tǒng)實施例,所以描述得比較簡單,相關之處參見系統(tǒng)實施例的部分說明即可。以上所描述的系統(tǒng)實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領域普通技術人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。
[0095]以上對本發(fā)明實施例進行了詳細介紹,本文中應用了【具體實施方式】對本發(fā)明進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及設備;同時,對于本領域的一般技術人員,依據(jù)本發(fā)明的思想,在【具體實施方式】及應用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應理解為對本發(fā)明的限制。
【權利要求】
1.一種組件部署系統(tǒng),其特征在于,包括: 部署管理模塊,用于向執(zhí)行模塊發(fā)送部署命令及部署信息,所述部署信息包括生產(chǎn)環(huán)境中需要部署的服務器及組件信息; 所述執(zhí)行模塊,用于接收所述部署命令及部署信息,并根據(jù)所述部署信息從數(shù)據(jù)庫中獲取需要部署的組件的版本信息,將所述版本信息發(fā)送給需要部署的服務器上的客戶端;所述客戶端,用于根據(jù)所述版本信息從SVN服務器下載版本文件,并運行所述版本文件對應的腳本文件,完成本次部署。
2.根據(jù)權利要求1所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括: 信息管理模塊,用于在所述生產(chǎn)環(huán)境中有新的服務器或組件加入時,將所述服務器及組件信息存儲到所述數(shù)據(jù)庫中; 版本管理模塊,用于構建對應所述組件的版本文件,將所述版本文件上傳到所述SVN服務器中,并將對應所述版本文件的版本信息存儲到所述數(shù)據(jù)庫中。
3.根據(jù)權利要求2所述的系統(tǒng),其特征在于,所述版本管理模塊,還用于在將所述版本文件上傳到所述SVN服務器中之前,檢查所述版本文件的大?。蝗绻霭姹疚募笥谠O定值,則將所述版本文件上傳到FTP服務器中;否則,將所述版本文件上傳到所述SVN服務器中。
4.根據(jù)權利要求2所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括: 檢驗信息生成模塊,用 于生成所述版本文件的校驗信息,并將所述檢驗信息上傳到所述SVN服務器中; 所述客戶端,還用于在運行所述版本文件對應的腳本文件之前,從所述SVN服務器下載所述版本文件的校驗信息,并根據(jù)所述校驗信息對所述版本文件進行校驗。
5.根據(jù)權利要求3所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括: 腳本文件管理模塊,用于將所述腳本文件存儲在所述SVN服務器或FTP服務器上。
6.根據(jù)權利要求1至5任一項所述的系統(tǒng),其特征在于,所述生產(chǎn)環(huán)境中需要部署的服務器是基于windows操作系統(tǒng)和/或Iinux操作系統(tǒng)的服務器。
7.—種組件部署方法,其特征在于,包括: 接收部署命令及部署信息,所述部署信息包括生產(chǎn)環(huán)境中需要部署的服務器及組件信息; 根據(jù)所述部署信息從數(shù)據(jù)庫中獲取需要部署的組件的版本信息,并將所述版本信息發(fā)送給需要部署的服務器上的客戶端; 所述客戶端根據(jù)所述版本信息從SVN服務器下載版本文件; 所述客戶端運行所述版本文件對應的腳本文件運行,完成本次部署。
8.根據(jù)權利要求7所述的方法,其特征在于,所述方法還包括: 在所述生產(chǎn)環(huán)境中有新的服務器或組件加入時,將所述服務器及組件信息存儲到所述數(shù)據(jù)庫中; 構建對應所述組件的版本文件; 將所述版本文件上傳到所述SVN服務器中; 將對應所述版本文件的版本信息存儲到所述數(shù)據(jù)庫中。
9.根據(jù)權利要求8所述的方法,其特征在于,所述方法還包括:在將所述版本文件存儲到所述SVN服務器中之前,檢查所述版本文件的大小; 如果所述版本文件大于設定值,則將所述版本文件上傳到FTP服務器中; 否則,將所述版本文件存儲到所述SVN服務器中。
10.根據(jù)權利要求8所述的方法,其特征在于,所述方法還包括: 生成所述版本文件的校驗信息,并將所述檢驗信息上傳到所述SVN服務器中; 所述客戶端在運行所述版本文件對應的腳本文件之前,從所述SVN服務器下載所述版本文件的校驗信息,并根據(jù)所述校驗信息對所述版本文件進行校驗。
11.根據(jù)權利要求9所述的方法,其特征在于,所述方法還包括: 預先將所述腳本文件存儲在所述SVN服務器或FTP服務器上。
12.根據(jù)權利要求7至11任一項所述的方法,其特征在于,所述生產(chǎn)環(huán)境中需要部署的服務器是基于windows操作系統(tǒng)和/或Iinux操作系統(tǒng)的服務器。
【文檔編號】G06F9/44GK104077131SQ201410265394
【公開日】2014年10月1日 申請日期:2014年6月13日 優(yōu)先權日:2014年6月13日
【發(fā)明者】何廷, 代秀娟, 曹軍 申請人:科大訊飛股份有限公司