軟件中心系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機技術(shù)領(lǐng)域,特別是涉及一種軟件中心系統(tǒng)。
【背景技術(shù)】
[0002]在現(xiàn)有技術(shù)中,為了減少網(wǎng)管開局和運維的工作量,在設(shè)備開通階段,逐步推薦使用軟件中心驅(qū)動網(wǎng)管服務(wù)器一鍵安裝承載網(wǎng)管軟件的操作系統(tǒng)、數(shù)據(jù)庫、雙機軟件和網(wǎng)管軟件;在日常運維階段,逐步推薦使用軟件中心驅(qū)動一鍵升級網(wǎng)管軟件及其他軟件。這些趨勢都極大地減少了用服的運維工作,軟件中心逐步成長為網(wǎng)管軟件的另一分支。
[0003]但隨之而來的問題是,有的軟件中心沒有與網(wǎng)管服務(wù)器剝離,安全框架過于依賴網(wǎng)管系統(tǒng),軟件中心與網(wǎng)管服務(wù)器耦合嚴重,接口混亂;另外,軟件中心的設(shè)計過于簡單,軟件準入要求不高,軟件版本混亂,依賴關(guān)系不明晰,軟件中心職能單一,只提供分發(fā)軟件的低效職能;另外,現(xiàn)場網(wǎng)絡(luò)環(huán)境復(fù)雜,簡單的軟件中心無法滿足用戶的可靠性要求,例如:上傳軟件過程中出現(xiàn)網(wǎng)絡(luò)異常只能重傳,分發(fā)軟件過程中網(wǎng)絡(luò)異常,幾兆的軟件分發(fā)到進度大半時出現(xiàn)異常,無法續(xù)傳,在網(wǎng)絡(luò)環(huán)境中擁塞大量數(shù)據(jù)包時,仍不顧網(wǎng)絡(luò)壓力分發(fā)軟件等等問題。
[0004]從研發(fā)角度上看,由于軟件中心展現(xiàn)的低效職能,絕大部分網(wǎng)管研發(fā)人員對軟件中心的重要性認識不足,投入力量也不大。只有構(gòu)建出高可用性和高可靠性的軟件中心系統(tǒng),實現(xiàn)穩(wěn)定安全的上傳和分發(fā)軟件,并提供可靠的安裝和升級服務(wù),軟件中心才會成為開局和運維必備的利器。
【發(fā)明內(nèi)容】
[0005]鑒于現(xiàn)有技術(shù)中軟件中心低效的問題,提出了本發(fā)明以便提供一種軟件中心系統(tǒng)。
[0006]本發(fā)明提供了一種軟件中心系統(tǒng),該系統(tǒng)與網(wǎng)管服務(wù)器分離部署,該系統(tǒng)具體包括:
[0007]軟件管理模塊,用于根據(jù)預(yù)先設(shè)置的軟件服務(wù)規(guī)范,通過服務(wù)接口為設(shè)置了代理模塊的實體服務(wù)器提供軟件服務(wù);
[0008]服務(wù)接口,用于為代理模塊提供與軟件管理模塊進行交互的接口 ;
[0009]代理模塊,部署于與系統(tǒng)交互的實體服務(wù)器中,用于通過服務(wù)接口與軟件管理模塊進行交互,從軟件管理模塊為實體服務(wù)器獲取軟件服務(wù)。
[0010]優(yōu)選地,軟件管理模塊具體包括:
[0011]軟件準入單元,用于根據(jù)軟件服務(wù)規(guī)范中的軟件準入規(guī)范,對待上傳的軟件進行校驗,在校驗成功后,允許上傳相應(yīng)軟件;
[0012]實體服務(wù)器特性發(fā)現(xiàn)單元,用于根據(jù)軟件服務(wù)規(guī)范中的特性規(guī)范,通過服務(wù)接口中的特性發(fā)現(xiàn)接口,與代理模塊進行交互,進行實體服務(wù)器特性的注冊和發(fā)現(xiàn);
[0013]軟件冗余傳輸單元,用于在采用主備兩臺服務(wù)器同時部署軟件中心系統(tǒng)時,對主備兩臺服務(wù)器進行軟件冗余上傳和軟件冗余分發(fā);
[0014]擁塞控制單元,用于在將軟件分發(fā)到實體服務(wù)器時,通過服務(wù)接口中的擁塞控制接口,根據(jù)已經(jīng)發(fā)送的數(shù)據(jù)包的延時計算數(shù)據(jù)傳輸鏈路的擁塞狀態(tài),并根據(jù)擁塞狀態(tài)調(diào)整后續(xù)傳輸數(shù)據(jù)包的大??;在不存在待分發(fā)的軟件時,對流入本地的數(shù)據(jù)速度進行控制。
[0015]優(yōu)選地,軟件管理模塊還包括:
[0016]軟件安裝單元,用于根據(jù)軟件服務(wù)規(guī)范中的靜默安裝規(guī)范,通過服務(wù)接口中的靜默安裝接口,通過代理模塊驅(qū)動實體服務(wù)器進行軟件安裝;
[0017]軟件升級單元,用于根據(jù)軟件服務(wù)規(guī)范中的遠程升級規(guī)范,通過服務(wù)接口中的遠程升級接口,通過代理模塊驅(qū)動實體服務(wù)器進行軟件升級;
[0018]代理下載單元,用于根據(jù)軟件服務(wù)規(guī)范中的代理下載規(guī)范,并通過服務(wù)接口中的代理下載接口,通過代理模塊代理實體服務(wù)器對未在本地存儲軟件的軟件服務(wù)請求,和/或代理另一個軟件中心系統(tǒng)的分發(fā)軟件服務(wù)。
[0019]優(yōu)選地,軟件準入單元具體包括:
[0020]軟件安全認證子模塊,用于在接收到客戶端上傳的軟件時,對客戶端的操作權(quán)限進行認證,在客戶端具備軟件上傳權(quán)限和軟件注冊權(quán)限時,存儲或接收客戶端上傳該軟件,在客戶端僅具備軟件上傳權(quán)限,不具備軟件注冊權(quán)限時,在等待具備軟件注冊權(quán)限的用戶審核通過后,存儲或接收客戶端上傳該軟件;在實體服務(wù)器請求提供軟件服務(wù)時,對實體服務(wù)器提供的安全信息進行審核,在實體服務(wù)器無法提供安全信息或者提供的安全信息沒有相應(yīng)權(quán)限時,拒絕為實體服務(wù)器提供軟件服務(wù),其中,安全信息設(shè)置于實體服務(wù)器的代理模塊中;
[0021]日志審計子模塊,用于對接受軟件服務(wù)或拒絕軟件服務(wù)的操作進行審計日志的記錄;
[0022]校驗子模塊,用于對待上傳的軟件進行基本信息準入和/或業(yè)務(wù)規(guī)則準入和/或軟件依賴準入的軟件準入規(guī)范檢查,并通過軟件校驗后,存儲或接收該軟件。
[0023]優(yōu)選地,校驗子模塊具體用于:
[0024]從待上傳的軟件上獲取軟件坐標信息,判斷軟件坐標信息是否符合軟件類型、軟件功能類型和軟件版本號的基本信息準入規(guī)范,如果不符合,則拒絕上傳該軟件;其中,軟件坐標信息具體包括:軟件類型、軟件功能類型、以及軟件版本號;或者,
[0025]根據(jù)軟件提供方提出的業(yè)務(wù)需求制定的業(yè)務(wù)規(guī)則檢驗待上傳的軟件是否具備準入資格,如果不具備,則拒絕上傳該軟件;其中,業(yè)務(wù)規(guī)則配置于待上傳的軟件的軟件標識文件中;或者,
[0026]在待上傳的軟件的軟件標識文件中配置了軟件依賴規(guī)則且配置了強制檢測軟件依賴時,計算待上傳的軟件的依賴關(guān)系,查找該軟件依賴的其他軟件,在其依賴的其他軟件都存在時,存儲或接收該軟件。
[0027]優(yōu)選地,校驗子模塊具體用于:從待上傳的軟件的包頭中解析出軟件坐標信息;或者,從待上傳的軟件的軟件標識文件中解析出軟件坐標信息。
[0028]優(yōu)選地,實體服務(wù)器特性發(fā)現(xiàn)單元具體包括:
[0029]實體服務(wù)器特性注冊子模塊,用于在實體服務(wù)器請求安裝服務(wù)并安裝軟件成功之后,根據(jù)軟件服務(wù)規(guī)范中的特性規(guī)范,通過服務(wù)接口中的特性發(fā)現(xiàn)接口,接收部署于實體服務(wù)器上的代理模塊的實體服務(wù)器特性注冊請求,將實體服務(wù)器特性清單保存在代理模塊中;
[0030]實體服務(wù)器特性發(fā)現(xiàn)子模塊,用于在實體服務(wù)器請求軟件安裝服務(wù)或升級服務(wù)時,檢查相應(yīng)軟件的最低特性需求清單,如果沒有特性要求則直接響應(yīng);如果有特性要求則請求實體服務(wù)器的代理模塊提供實體服務(wù)器特性清單,并檢查實體服務(wù)器特性清單是否符合該軟件的特性要求,如果符合,則響應(yīng)服務(wù),否則拒絕服務(wù)。
[0031]優(yōu)選地,代理模塊具體用于:
[0032]在實體服務(wù)器請求安裝服務(wù)并安裝軟件成功后,如果安裝的軟件中包含特性要求,則根據(jù)特性規(guī)范通過特性注冊接口直接注冊該實體服務(wù)器的特性,并保存實體服務(wù)器特性清單;在某些特性是需要探測才能確定的情況下,在實體服務(wù)器按特性探測方法進行探測,探測出特性后再通過特性注冊接口注冊該實體服務(wù)器的特性,并保存實體服務(wù)器特性清單。
[0033]優(yōu)選地,軟件冗余傳輸單元具體包括:
[0034]軟件冗余上傳子模塊,用于在主備兩臺服務(wù)器同時部署軟件中心系統(tǒng)時,當客戶端將某個軟件上傳后,并發(fā)向主用服務(wù)器和備用服務(wù)器上傳該軟件,并通過服務(wù)接口中的同步控制接口對主用服務(wù)器與備用服務(wù)器進行軟件同步;
[0035]軟件冗余分發(fā)子模塊,用于在主備服務(wù)器上都存在待分發(fā)軟件時,通過服務(wù)接口中的分發(fā)控制接口分發(fā)軟件包時,將主用服務(wù)器中的待分發(fā)軟件發(fā)送到實體服務(wù)器的主用服務(wù)器,將備用服務(wù)器中的待分發(fā)軟件發(fā)送到實體服務(wù)器的備用服務(wù)器,并創(chuàng)建主用服務(wù)器到實體服務(wù)器的備用服務(wù)器的數(shù)據(jù)鏈路、以及備用服務(wù)器到實體服務(wù)器的主用服務(wù)器的數(shù)據(jù)鏈路;檢測四條數(shù)據(jù)鏈路的連接和占用情況,任何一條被占用的數(shù)據(jù)鏈路出現(xiàn)問題時,選擇已創(chuàng)建未占用的數(shù)據(jù)鏈路承擔問題數(shù)據(jù)鏈路的職責,在軟件分發(fā)到實體服務(wù)器的主用服務(wù)器后,接收實體服務(wù)器的代理模塊發(fā)送的分發(fā)結(jié)束消息,斷開其他數(shù)據(jù)鏈;
[0036]軟件校驗子模塊,用于在從客戶端上傳軟件后,校驗軟件的第一消息摘要算法第五版MD5碼與從軟件標識文件或軟件包頭的標識信息中解析出的第二 MD5碼是否一致,如果一致,則提示用戶上傳成功,否則,則提示用戶上傳失敗;在分發(fā)軟件到實體服務(wù)器后,請求實體服務(wù)器通過控制鏈路傳回其本地服務(wù)器中軟件的第一 MD5碼,校驗其與從軟件標識文件或軟件包頭的標識信息中解析出的第二 MD5碼是否一致,如果一致,則確認分發(fā)成功,并通知實體服務(wù)器分發(fā)結(jié)束,否則,通知實體服務(wù)器分發(fā)失敗。
[0037]優(yōu)選地,軟件冗余上傳子模塊具體用于:
[0038]在軟件上傳到主用服務(wù)器過程中發(fā)生傳輸中斷時,保持軟件上傳到備用服務(wù)器,待上傳到備用服務(wù)器成功后,檢測到該軟件并通過同步控制接口同步到主用服務(wù)器上,在軟件上傳到備用服務(wù)器過程中發(fā)生傳輸中斷時,保持軟件上傳到主用服務(wù)器,待上傳到主用服務(wù)器成功后,檢測到該軟件并通過同步控制接口同步到備用服務(wù)器上,在軟件上傳到主備服務(wù)器都發(fā)生傳輸中斷時,通知客戶端網(wǎng)絡(luò)異常,無法上傳軟件。
[0039]優(yōu)選地,擁塞控制單元具體用于:
[0040]當實體服務(wù)器請求分發(fā)軟件時,與實體服務(wù)器上的代理模塊建立兩條鏈路,其中一條為控制鏈路,另一條為數(shù)據(jù)傳輸鏈路;
[0041]在準備向?qū)嶓w服務(wù)器傳送第一包數(shù)據(jù)時,向控制鏈路申請本次傳送的數(shù)據(jù)大小,根據(jù)數(shù)據(jù)大小通過數(shù)據(jù)傳輸鏈路傳送第一包數(shù)據(jù)的包體,通過控制鏈路傳送控制數(shù)據(jù);
[0042]在實體服務(wù)器收到第一包數(shù)據(jù)的包體和控制數(shù)據(jù)后,接收實體服務(wù)器通過控制鏈路發(fā)送的第一包數(shù)據(jù)的發(fā)送時延及其他鏈路傳輸數(shù)據(jù),并進行緩存;
[0043]在傳送第N包數(shù)據(jù)到實體服務(wù)器前,根據(jù)前N-1包數(shù)據(jù)的發(fā)送時延的平均值和其他鏈路傳輸數(shù)據(jù)的平均值估計當前網(wǎng)絡(luò)擁塞值,將網(wǎng)絡(luò)擁塞值與預(yù)先設(shè)置的閾值進行比較,如果大于或等于閾值,則減小第N包數(shù)據(jù)的大?。蝗绻∮陂撝?,則增大第N包數(shù)據(jù)的大小,其中,N為大于或等于I的整數(shù);
[0044]在待分發(fā)的軟件不存在時,對流入本地的數(shù)據(jù)速度進行控制,將流入本地的數(shù)據(jù)加入預(yù)先設(shè)置的流入隊列,根據(jù)流入流入隊列和網(wǎng)絡(luò)擁塞值計算發(fā)送數(shù)據(jù)包的大小。
[0045]優(yōu)選地,軟件安裝單元具體用于:
[0046]在收到實體服務(wù)器的安裝軟件請求后,檢驗實體服務(wù)器提供的用戶信息是否具備足夠權(quán)限,在具備足夠權(quán)限的情況下,檢查待安裝軟件是否存在,以及待安裝軟件的依賴軟件是否存在,在判斷均存在的情況下,準備待安裝軟件,并向?qū)嶓w服務(wù)器請求特性發(fā)現(xiàn),在獲取到實體服務(wù)器的身份和實體服務(wù)器特性清單后,根據(jù)實體服務(wù)器的身份和實體服務(wù)器特性清單進行最低安裝特性要求的檢查,在檢查通過后,請求實體服務(wù)器提供靜默安裝配置,根據(jù)實體服務(wù)器的安裝軟件請求選擇一種分發(fā)軟件的方式進行軟件分發(fā),并根據(jù)靜默安裝配置驅(qū)動實體服務(wù)器進行軟件安裝。
[0047]優(yōu)選地,軟件升級單元具體用于:
[0048]收到實體服務(wù)器發(fā)送的升級軟件請求后,檢驗實體服務(wù)器提供的用戶信息是否具備足夠權(quán)限,在具備足夠權(quán)限的情況下,檢查待升級軟件的升級包是否存在,在存在的情況下,向