本發(fā)明涉及軟件技術領域;更具體地說,本發(fā)明涉及一種基于安全管控的軟件源管理方法以及軟件功能管理系統(tǒng)。
背景技術:
RPM與YUM是Linux RHEL體系成熟、常用的軟件包管理工具,但是在大規(guī)模生產(chǎn)應用下尚有諸多問題:1)軟件包查詢下載業(yè)務單節(jié)點壓力;2)隨著應用增加,不同應用軟件包之間會有沖突;3)在發(fā)生數(shù)據(jù)節(jié)點故障時,缺少臨時離線軟件安裝升級服務;4)計算節(jié)點安全軟件包環(huán)境不可信;5)缺少集群軟件動作行為功能。
為解決這個問題,通常的做法是使用LVS等負載均衡服務來解決單點壓力問題,使用YUM的各類插件來實現(xiàn)軟件包入庫可信度及高效更新,配置臨時數(shù)據(jù)中心來應對YUM主服務器故障。但是,以上方法涉及運維軟件較多,不能形成一個完整的方案體系,且對運維人員要求也較高,實現(xiàn)較為復雜。
技術實現(xiàn)要素:
本發(fā)明所要解決的技術問題是針對現(xiàn)有技術中存在上述缺陷,提供一種Linux平臺下軟件管理工具體系及相應方法,能夠提供一個負載的、靈活的多級控制的軟件管理方案,特別針對軟件包的安裝、升級等行為的安全可控性。
根據(jù)本發(fā)明,提供了一種基于安全管控的軟件源管理方法,包括:利用中間件對計算節(jié)點的YUM源做代理從而形成YUM源代理端,將請求解析后從遠端數(shù)據(jù)中心獲取緩存對應文件;而且在YUM源代理端設置軟件包簽名驗證,YUM源代理端在軟件包簽名驗證檢驗合格時才將請求轉(zhuǎn)交于計算節(jié)點;并且設置基于本地移動存儲設備的代理服務以及遠端數(shù)據(jù)中心的代理服務,其中將遠端數(shù)據(jù)中心配置為負責軟件庫的更新維護及對應文件的傳輸,同時能夠遠程調(diào)用代理軟件對集群進行集群軟件操作。
優(yōu)選地,中間件中緩存YUM索引文件。
優(yōu)選地,中間件中緩存一部分軟件包。
優(yōu)選地,軟件包簽名驗證包括:在RPM包頭中嵌入相應的識別字段,并結合校驗算法進行校驗。
優(yōu)選地,在遠程數(shù)據(jù)中心、管理中間件層都能通過獨立封裝的命令行來管理計算節(jié)點軟件操作。
優(yōu)選地,通過中間件連接可信移動介質(zhì)上的軟件源和遠程數(shù)據(jù)中心的軟件源。
根據(jù)本發(fā)明,還提供了一種軟件功能管理系統(tǒng),其特征在于包括:
管控節(jié)點,包括:
一級調(diào)度客戶端模塊,用于傳遞消息以及與遠端服務器互聯(lián);
二級調(diào)度控制模塊,用于根據(jù)一級調(diào)度執(zhí)行對應二級調(diào)用接口以及將二級調(diào)用控制接口封裝成命令行;
文件傳輸客戶端校驗緩存模塊,用于根據(jù)計算節(jié)點請求的文件從數(shù)據(jù)中心獲取文件以及將獲取的文件及校驗文件進行可信核實,并且執(zhí)行緩存;
管控平臺守護進程狀態(tài)監(jiān)視模塊,用于管控節(jié)點狀態(tài),其中檢測安全通信程序進程,若不存在安全通信程序,則向服務器及計算節(jié)點推送離線消息;
本地服務模式模塊,用于校驗可信計算移動介質(zhì)以及將可信移動介質(zhì)作為軟件源;
系統(tǒng)日志記錄模塊,用于向計算節(jié)點請求在本地log文件中記錄動作和內(nèi)容;
遠端數(shù)據(jù)中心,其包括:
一級調(diào)度控制模塊,用于根據(jù)用戶操作,通過RPC調(diào)用向管控端發(fā)送對應操作信號;
軟件更新觸發(fā)式推送更新提示模塊,用于執(zhí)行軟件庫的更新,以及用于執(zhí)行推送,其中在本地庫修改提交后或者收到更新請求后調(diào)用模塊向所有節(jié)點推送更新消息,并且根據(jù)軟件包發(fā)送不同消息以用于區(qū)分強制安裝和可選安裝;
文件傳輸服務端模塊,用于為管控節(jié)點提供文件傳輸服務;
管控平臺守護進程狀態(tài)監(jiān)視模塊,用于管控節(jié)點狀態(tài),從管控節(jié)點端獲取離線消息;
系統(tǒng)日志記錄模塊,用于執(zhí)行本地軟件庫操作記錄、子節(jié)點請求記錄,提供過濾查詢功能,以及執(zhí)行管控節(jié)點狀態(tài)監(jiān)控記錄;
計算節(jié)點,其包括:
二級調(diào)度客戶端模塊,用于根據(jù)接收的調(diào)用號執(zhí)行軟件更新管理模塊;
軟件更新管理模塊,用于執(zhí)行軟件的更新以及用于執(zhí)行軟件安裝;
管控平臺守護進程狀態(tài)監(jiān)視模塊,用于管控節(jié)點狀態(tài),從管控節(jié)點端獲取離線消息;
系統(tǒng)日志記錄模塊,用于執(zhí)行本地軟件操作記錄,提供過濾查詢功能,以及管控節(jié)點狀態(tài)監(jiān)控記錄。
優(yōu)選地,軟件庫的更新包括軟件添加和/或刪除和/或更新。
優(yōu)選地,軟件更新管理模塊獲取到更新消息或者收到更新請求回復后,顯示提示更新表單,并根據(jù)消息類型區(qū)分強制安裝軟件和用戶許可安裝軟件。
附圖說明
結合附圖,并通過參考下面的詳細描述,將會更容易地對本發(fā)明有更完整的理解并且更容易地理解其伴隨的優(yōu)點和特征,其中:
圖1示意性地示出了根據(jù)本發(fā)明優(yōu)選實施例的軟件功能管理系統(tǒng)的管控節(jié)點的模塊框圖。
圖2示意性地示出了根據(jù)本發(fā)明優(yōu)選實施例的軟件功能管理系統(tǒng)的遠端數(shù)據(jù)中心的模塊框圖。
圖3示意性地示出了根據(jù)本發(fā)明優(yōu)選實施例的軟件功能管理系統(tǒng)的計算節(jié)點的模塊框圖。
圖4示意性地示出了根據(jù)本發(fā)明優(yōu)選實施例的軟件管理請求流程圖。
需要說明的是,附圖用于說明本發(fā)明,而非限制本發(fā)明。注意,表示結構的附圖可能并非按比例繪制。并且,附圖中,相同或者類似的元件標有相同或者類似的標號。
具體實施方式
為了使本發(fā)明的內(nèi)容更加清楚和易懂,下面結合具體實施例和附圖對本發(fā)明的內(nèi)容進行詳細描述。
本發(fā)明提供了一種一體化的、能夠?qū)τ嬎悱h(huán)境RPM包進行可信度量的、讀寫分離的軟件源管理方法,能夠減輕主服務器查詢下載負載,對計算節(jié)點軟件環(huán)境進行安全校驗,并且提供本地容災方法。
本發(fā)明利用中間件對計算節(jié)點的YUM源做代理從而形成YUM源代理端,將請求解析后從遠端數(shù)據(jù)中心獲取緩存對應文件;而且在YUM源代理端設置軟件包簽名驗證(例如,在RPM包頭中嵌入相應的識別字段,并結合校驗算法進行校驗),YUM源代理端在軟件包簽名驗證檢驗合格時才將請求轉(zhuǎn)交于計算節(jié)點;并且提供了兩種代理服務,設置基于本地移動存儲設備的代理服務以及遠端數(shù)據(jù)中心的代理服務,其中將遠端數(shù)據(jù)中心配置為負責軟件庫的更新維護及對應文件的傳輸,同時能夠遠程調(diào)用代理軟件對集群進行集群軟件操作。
更具體地,中間件中緩存YUM索引文件及一部分軟件包,從而減輕了遠端數(shù)據(jù)中心的查詢傳輸業(yè)務。
在本發(fā)明中,遠端數(shù)據(jù)中心只需要更行維護,實現(xiàn)了一定程度上的讀寫分離;同時通過軟件包簽名驗證機制保證了緩存文件的狀態(tài)以及計算節(jié)點軟件環(huán)境的可控性;通過本地遠程兩種代理方式結合集群操作,可以靈活多變的滿足日常運維管理。
優(yōu)選地,在本發(fā)明中,在遠程數(shù)據(jù)中心、管理中間件層都能通過獨立封裝的命令行來管理計算節(jié)點軟件操作。優(yōu)選地,在本發(fā)明中,通過中間件可以連接可信移動介質(zhì)上的軟件源和遠程數(shù)據(jù)中心的軟件源。
圖1示意性地示出了根據(jù)本發(fā)明優(yōu)選實施例的軟件功能管理系統(tǒng)的管控節(jié)點的模塊框圖。
如圖1所示,根據(jù)本發(fā)明優(yōu)選實施例的軟件功能管理系統(tǒng)的管控節(jié)點包括:
一級調(diào)度客戶端模塊,用于傳遞消息以及與遠端服務器(例如,遠端服務器ip)互聯(lián);
二級調(diào)度控制模塊,用于根據(jù)一級調(diào)度執(zhí)行對應二級調(diào)用接口以及將二級調(diào)用控制接口封裝成命令行,可以從本地進行向下調(diào)用;
文件傳輸客戶端校驗緩存模塊,用于根據(jù)計算節(jié)點請求的文件從數(shù)據(jù)中心獲取文件以及將獲取的文件及校驗文件進行可信核實,并且緩存;
管控平臺守護進程狀態(tài)監(jiān)視模塊,用于管控節(jié)點狀態(tài),其中檢測安全通信程序進程,若不存在安全通信程序,則向服務器及計算節(jié)點推送離線消息;
本地服務模式模塊,用于校驗可信計算移動介質(zhì)以及將可信移動介質(zhì)作為軟件源;
系統(tǒng)日志記錄模塊,用于向計算節(jié)點請求在本地log文件中記錄動作和內(nèi)容。
圖2示意性地示出了根據(jù)本發(fā)明優(yōu)選實施例的軟件功能管理系統(tǒng)的遠端數(shù)據(jù)中心的模塊框圖。
如圖2所示,根據(jù)本發(fā)明優(yōu)選實施例的軟件功能管理系統(tǒng)的遠端數(shù)據(jù)中心包括:
一級調(diào)度控制模塊,用于根據(jù)用戶操作,通過RPC調(diào)用向管控端發(fā)送對應操作信號;
軟件更新觸發(fā)式推送更新提示模塊,用于執(zhí)行軟件庫的更新(軟件添加和/或刪除和/或更新),以及用于執(zhí)行推送,其中在本地庫修改提交后或者收到更新請求后調(diào)用模塊向所有節(jié)點推送更新消息,并且根據(jù)軟件包發(fā)送不同消息以用于區(qū)分強制安裝和可選安裝;
文件傳輸服務端模塊,用于為管控節(jié)點提供文件傳輸服務;
管控平臺守護進程狀態(tài)監(jiān)視模塊,用于管控節(jié)點狀態(tài),從管控節(jié)點端獲取離線消息;
系統(tǒng)日志記錄模塊,用于執(zhí)行本地軟件庫操作記錄(軟件添加和/或刪除和/或更新)、子節(jié)點請求記錄(記錄包含動作及內(nèi)容),提供過濾查詢功能(例如根據(jù)時間、ip、動作執(zhí)行過濾查詢功能),以及執(zhí)行管控節(jié)點狀態(tài)監(jiān)控記錄。
圖3示意性地示出了根據(jù)本發(fā)明優(yōu)選實施例的軟件功能管理系統(tǒng)的計算節(jié)點的模塊框圖。
如圖3所示,根據(jù)本發(fā)明優(yōu)選實施例的軟件功能管理系統(tǒng)的計算節(jié)點包括:
二級調(diào)度客戶端模塊,用于根據(jù)接收的調(diào)用號執(zhí)行軟件更新管理模塊;
軟件更新管理模塊,用于執(zhí)行軟件的更新;具體地,軟件更新管理模塊獲取到更新消息或者收到更新請求回復后,顯示提示更新表單,并根據(jù)消息類型區(qū)分強制安裝軟件(例如,不可勾選)、用戶許可(例如,可勾選)安裝軟件。而且軟件更新管理模塊用于執(zhí)行軟件安裝,例如執(zhí)行命令“yum install/update xx”。
管控平臺守護進程狀態(tài)監(jiān)視模塊,用于管控節(jié)點狀態(tài),從管控節(jié)點端獲取離線消息;
系統(tǒng)日志記錄模塊,用于執(zhí)行本地軟件操作記錄(軟件安裝、更新消息獲取、推送記錄),提供過濾查詢功能(例如根據(jù)時間、ip、動作執(zhí)行過濾查詢功能),以及管控節(jié)點狀態(tài)監(jiān)控記錄。
圖4示意性地示出了根據(jù)本發(fā)明優(yōu)選實施例的軟件管理請求流程圖。
如圖4所示,根據(jù)本發(fā)明優(yōu)選實施例的軟件管理請求流程包括:在啟動軟件管理動作(第一步驟S1)時,從遠端數(shù)據(jù)中心進行集群軟件操作(第二步驟S2),此時調(diào)用位于管控層的一級遠程過程調(diào)用(本地操作)(第四步驟S4),再有此調(diào)用計算節(jié)點上的二級調(diào)用接口(第三步驟S3),執(zhí)行相關命令行操作(例如,執(zhí)行第五步驟S5的YUM/RPM命令行,向中間件請求文件),同時管控端捕獲計算節(jié)點的文件請求,檢索本地是否存在合格的對應文件(第六步驟S6),若存在,直接返回交給計算節(jié)點(第八步驟S8),若不存在則清除不合格緩存、獲取文件(第七步驟S7)。
從計算節(jié)點進行軟件操作時,向中間件請求文件,中間件根據(jù)用戶啟動方式分為本地模式或遠程模式(第九步驟S9),本地模式下查詢可信移動存儲介質(zhì)中的軟件源(第十步驟S10),查詢獲取軟件并校驗可信后直接返回給計算節(jié)點;遠程模式向遠程數(shù)據(jù)中心請求文件(第九步驟S9),獲取校驗、要么丟棄(第十二步驟S12),要么緩存(第十三步驟S13),而且在緩存后再返回于計算節(jié)點。
使用中間件命令執(zhí)行軟件管理動作時,調(diào)用計算幾點遠程調(diào)用模塊,之后同遠端數(shù)據(jù)中心軟件操作描述。
下面描述本發(fā)明的具體應用場景。
<應用場景一:遠端數(shù)據(jù)中心軟件更新后更新集群軟件>
在數(shù)據(jù)中心,更新軟件庫后,需要所有計算節(jié)點都進行更新。將計算節(jié)點地址添加到配置文件,使用“ssfc_server update”命令即可使計算節(jié)點都執(zhí)行YUM更新(YUM update)命令,向管控中心請求相關軟件包,管控中心從遠端中心獲取文件及校驗文件后進行校驗,合格后緩存交與計算節(jié)點,計算節(jié)點升級成功。
<應用場景二:遠端數(shù)據(jù)中心宕機,應急給計算節(jié)點安裝軟件>
將事先做好的軟件源存儲介質(zhì)插入管控端,管控端啟動本地服務模式,管控端執(zhí)行“ssfc_control install filename”命令即可使計算節(jié)點執(zhí)行YUM安裝文件名(YUM install filename),向管控節(jié)點請求相關文件,管控端從可信介質(zhì)中獲取軟件及其校驗文件,校驗完成后交與計算節(jié)點。
<應場場景三:計算節(jié)點安裝軟件>
計算節(jié)點執(zhí)行YUM安裝文件名(YUM install filename),向管控節(jié)點請求相關文件,管控端從可信介質(zhì)中/遠端數(shù)據(jù)中心獲取軟件及其校驗文件,校驗完成后交與計算節(jié)點。
此外,需要說明的是,除非特別指出,否則說明書中的術語“第一”、“第二”、“第三”等描述僅僅用于區(qū)分說明書中的各個組件、元素、步驟等,而不是用于表示各個組件、元素、步驟之間的邏輯關系或者順序關系等。
可以理解的是,雖然本發(fā)明已以較佳實施例披露如上,然而上述實施例并非用以限定本發(fā)明。對于任何熟悉本領域的技術人員而言,在不脫離本發(fā)明技術方案范圍情況下,都可利用上述揭示的技術內(nèi)容對本發(fā)明技術方案作出許多可能的變動和修飾,或修改為等同變化的等效實施例。因此,凡是未脫離本發(fā)明技術方案的內(nèi)容,依據(jù)本發(fā)明的技術實質(zhì)對以上實施例所做的任何簡單修改、等同變化及修飾,均仍屬于本發(fā)明技術方案保護的范圍內(nèi)。