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