本發(fā)明涉及服務(wù)器管理技術(shù)領(lǐng)域,特別是涉及一種適用服務(wù)器管理的應(yīng)用服務(wù)管理方法及裝置。
背景技術(shù):
目前,隨著云概念的推出,云計(jì)算現(xiàn)在已經(jīng)成為互聯(lián)網(wǎng)的主流發(fā)展方向,但實(shí)現(xiàn)云技術(shù)的關(guān)鍵仍是對計(jì)算資源的整合與管理,也就是對服務(wù)器的統(tǒng)一化管理,通過上層業(yè)務(wù),將服務(wù)器計(jì)算資源進(jìn)行整合,再根據(jù)需求進(jìn)行資源劃分,達(dá)到較高的資源利用率。而上層負(fù)責(zé)的邏輯業(yè)務(wù),除對用戶操作數(shù)據(jù)的報(bào)錯(cuò),以及服務(wù)器設(shè)備狀態(tài)的記錄外,實(shí)現(xiàn)對服務(wù)器底層各種應(yīng)用服務(wù)操作也是很重要的,根據(jù)服務(wù)進(jìn)行拼接服務(wù)命令,執(zhí)行命令獲取結(jié)果,判斷服務(wù)狀態(tài)等,大量的拼接邏輯充斥在邏輯中,導(dǎo)致代碼可讀性極差,并且在維護(hù)時(shí)直接在主業(yè)務(wù)邏輯中植入新的拼接代碼,重復(fù)代碼會填充到主邏輯中,代碼量較大,業(yè)務(wù)效率較低。
通過該發(fā)明的方法,將通用服務(wù)的操作抽象提取出來,使用注冊表記錄服務(wù)名以及其配置資源,定義統(tǒng)一的服務(wù)接口,通過獨(dú)立的構(gòu)造對象,對服務(wù)的不同處進(jìn)行動(dòng)態(tài)擴(kuò)展實(shí)現(xiàn),并使用裝飾者模式,提供擴(kuò)展服務(wù)的方法,當(dāng)通用服務(wù)不滿足業(yè)務(wù)需求時(shí),可通過該方法進(jìn)行擴(kuò)展,降低了代碼量,提高的業(yè)務(wù)效率和代碼的可維護(hù)性,簡易開發(fā)過程。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種適用服務(wù)器管理的應(yīng)用服務(wù)管理方法及裝置,以實(shí)現(xiàn)降低代碼量,提高業(yè)務(wù)效率。
為解決上述技術(shù)問題,本發(fā)明提供一種適用服務(wù)器管理的應(yīng)用服務(wù)管理方法,該方法包括:
對于多個(gè)應(yīng)用服務(wù),提取應(yīng)用服務(wù)的共同的服務(wù)命令;
在應(yīng)用服務(wù)注冊表中記錄每個(gè)應(yīng)用服務(wù)的名稱、服務(wù)類型和底層配置文件信息;
對所述共同的服務(wù)命令定義統(tǒng)一的服務(wù)操作接口;
通過繼承所述服務(wù)操作接口,新增擴(kuò)展服務(wù)操作接口。
優(yōu)選的,所述在應(yīng)用服務(wù)注冊表中記錄每個(gè)應(yīng)用服務(wù)的名稱、服務(wù)類型和底層配置文件信息之后,還包括:
依據(jù)注冊表中記錄的服務(wù)類型,對應(yīng)用服務(wù)進(jìn)行業(yè)務(wù)配置進(jìn)行重載。
優(yōu)選的,對所述共同的服務(wù)命令定義統(tǒng)一的服務(wù)操作接口之后,還包括:
利用所述服務(wù)操作接口將所述共同的命令封裝成服務(wù)實(shí)體類。
優(yōu)選的,所述通過繼承所述服務(wù)操作接口,新增擴(kuò)展服務(wù)操作接口之后,還包括:
以命令執(zhí)行對象和應(yīng)用服務(wù)注冊表中的服務(wù)類型為構(gòu)造方法,實(shí)現(xiàn)擴(kuò)展服務(wù)操作接口,封裝成新的服務(wù)實(shí)體類。
本發(fā)明還提供一種適用服務(wù)器管理的應(yīng)用服務(wù)管理裝置,用于實(shí)現(xiàn)上述適用服務(wù)器管理的應(yīng)用服務(wù)管理方法,該裝置包括:
命令提取模塊,用于對于多個(gè)應(yīng)用服務(wù),提取應(yīng)用服務(wù)的共同的服務(wù)命令;
應(yīng)用服務(wù)注冊表模塊,用于在應(yīng)用服務(wù)注冊表中記錄每個(gè)應(yīng)用服務(wù)的名稱、服務(wù)類型和底層配置文件信息;
通用服務(wù)接口模塊,用于對所述共同的服務(wù)命令定義統(tǒng)一的服務(wù)操作接口;
擴(kuò)展服務(wù)模塊,用于通過繼承所述服務(wù)操作接口,新增擴(kuò)展服務(wù)操作接口。
優(yōu)選的,所述裝置還包括:
重載配置模塊,用于依據(jù)注冊表中記錄的服務(wù)類型,對應(yīng)用服務(wù)進(jìn)行業(yè)務(wù)配置進(jìn)行重載。
優(yōu)選的,所述裝置還包括:
通用服務(wù)實(shí)現(xiàn)模塊,用于利用所述服務(wù)操作接口將所述共同的命令封裝成服務(wù)實(shí)體類。
優(yōu)選的,所述裝置還包括:
應(yīng)用服務(wù)動(dòng)態(tài)構(gòu)造模塊,用于以命令執(zhí)行對象和應(yīng)用服務(wù)注冊表中的服務(wù)類型為構(gòu)造方法,實(shí)現(xiàn)擴(kuò)展服務(wù)操作接口,封裝成新的服務(wù)實(shí)體類。
本發(fā)明所提供的一種適用服務(wù)器管理的應(yīng)用服務(wù)管理方法及裝置,對于多個(gè)應(yīng)用服務(wù),提取應(yīng)用服務(wù)的共同的服務(wù)命令;在應(yīng)用服務(wù)注冊表中記錄每個(gè)應(yīng)用服務(wù)的名稱、服務(wù)類型和底層配置文件信息;對共同的服務(wù)命令定義統(tǒng)一的服務(wù)操作接口;通過繼承服務(wù)操作接口,新增擴(kuò)展服務(wù)操作接口??梢姡瑢⒋罅康闹貜?fù)拼接的共同命令進(jìn)行抽象提取,并對共同的服務(wù)命令定義統(tǒng)一的服務(wù)操作接口,即封裝成共同方法,并且通過繼承服務(wù)操作接口,新增擴(kuò)展服務(wù)操作接口,這樣進(jìn)行新操作接口的拓展,可容納幾乎所有服務(wù)操作,如此兼容多種操作類型的應(yīng)用服務(wù),對開發(fā)者屏蔽了繁瑣的代碼實(shí)現(xiàn),極大簡化了代碼量和開發(fā)工作,增強(qiáng)了代碼的可維護(hù)性以及擴(kuò)展性,節(jié)省開發(fā)成本以及維護(hù)成本。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本發(fā)明所提供的一種適用服務(wù)器管理的應(yīng)用服務(wù)管理方法的流程圖;
圖2為本發(fā)明所提供的一種適用服務(wù)器管理的應(yīng)用服務(wù)管理裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
本發(fā)明的核心是提供一種適用服務(wù)器管理的應(yīng)用服務(wù)管理方法及裝置,以實(shí)現(xiàn)降低代碼量,提高業(yè)務(wù)效率。
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
請參考圖1,圖1為本發(fā)明所提供的一種適用服務(wù)器管理的應(yīng)用服務(wù)管理方法的流程圖,該方法包括:
S11:對于多個(gè)應(yīng)用服務(wù),提取應(yīng)用服務(wù)的共同的服務(wù)命令;
S12:在應(yīng)用服務(wù)注冊表中記錄每個(gè)應(yīng)用服務(wù)的名稱、服務(wù)類型和底層配置文件信息;
S13:對共同的服務(wù)命令定義統(tǒng)一的服務(wù)操作接口;
S14:通過繼承服務(wù)操作接口,新增擴(kuò)展服務(wù)操作接口。
可見,該方法將大量的重復(fù)拼接的共同命令進(jìn)行抽象提取,并對共同的服務(wù)命令定義統(tǒng)一的服務(wù)操作接口,即封裝成共同方法,并且通過繼承服務(wù)操作接口,新增擴(kuò)展服務(wù)操作接口,這樣進(jìn)行新操作接口的拓展,可容納幾乎所有服務(wù)操作,如此兼容多種操作類型的應(yīng)用服務(wù),對開發(fā)者屏蔽了繁瑣的代碼實(shí)現(xiàn),極大簡化了代碼量和開發(fā)工作,增強(qiáng)了代碼的可維護(hù)性以及擴(kuò)展性,節(jié)省開發(fā)成本以及維護(hù)成本。
基于上述方法,具體的,步驟S12之后,還包括步驟S21:依據(jù)注冊表中記錄的服務(wù)類型,對應(yīng)用服務(wù)進(jìn)行業(yè)務(wù)配置進(jìn)行重載。
進(jìn)一步的,步驟S13之后,還包括步驟S22:利用服務(wù)操作接口將共同的命令封裝成服務(wù)實(shí)體類。
進(jìn)一步的,步驟S14之后,還包括步驟S23:以命令執(zhí)行對象和應(yīng)用服務(wù)注冊表中的服務(wù)類型為構(gòu)造方法,實(shí)現(xiàn)擴(kuò)展服務(wù)操作接口,封裝成新的服務(wù)實(shí)體類。
具體的,在對服務(wù)器底層應(yīng)用服務(wù)管理的開發(fā)過程中,存在大量對應(yīng)用服務(wù)的操作過程,如開啟、停止、重啟服務(wù)、將服務(wù)設(shè)置開啟/關(guān)閉開機(jī)自啟動(dòng)、檢測服務(wù)狀態(tài)等。本方法通過抽取操作這些服務(wù)通用部分,定義通用的服務(wù)接口,然后定義通用服務(wù)類實(shí)現(xiàn)該接口,并在實(shí)現(xiàn)類中定義以底層命令實(shí)現(xiàn)對象以及注冊至應(yīng)用服務(wù)表中的服務(wù)為參數(shù)的構(gòu)造方法,用以實(shí)例化基本的服務(wù)對象。抽離這些服務(wù)存在的個(gè)性化應(yīng)用配置,定義構(gòu)造對象,在構(gòu)造對象中,對通用實(shí)現(xiàn)中的“配置服務(wù)”方法進(jìn)行重寫,完成對其配置文件的獨(dú)特操作后,通過注冊的服務(wù)類型,返回經(jīng)過重寫該方法的服務(wù)對象。針對當(dāng)前設(shè)計(jì)不滿足的應(yīng)用服務(wù),可使用擴(kuò)展服務(wù)模塊進(jìn)行拓展,該模塊集成通用服務(wù)模塊,集成通用服務(wù)接口,并定義需要拓展的操作接口即典型的裝飾者模式,以命令執(zhí)行對象和服務(wù)注冊表的服務(wù)類型為構(gòu)造方法,并實(shí)現(xiàn)新定義的接口操作,封裝成新的服務(wù)實(shí)體類,完成操作。
本方法通過抽象應(yīng)用服務(wù)的共同的命令部分,使用服務(wù)注冊表來動(dòng)態(tài)構(gòu)建可適用于操作應(yīng)用服務(wù)的服務(wù)管理對象,同時(shí)提供可重寫以及可拓展服務(wù)方法,兼容多種操作類型的應(yīng)用服務(wù)。主要通過構(gòu)建服務(wù)注冊表,服務(wù)接口、服務(wù)實(shí)現(xiàn)類、動(dòng)態(tài)構(gòu)造類以及自定義擴(kuò)展模塊,簡化繁瑣的命令拼接步驟,在對應(yīng)用服務(wù)量大的情況時(shí)尤為重要,增強(qiáng)了代碼的維護(hù)性和擴(kuò)展性。將大量的重復(fù)拼接命令與執(zhí)行獲取結(jié)果的操作抽象提取,并封裝成共同方法,對開發(fā)者屏蔽了繁瑣的實(shí)現(xiàn),極大簡化了代碼量和開發(fā)工作,增強(qiáng)了代碼的可維護(hù)性以及擴(kuò)展性,節(jié)省開發(fā)成本以及維護(hù)成本
詳細(xì)的,步驟S11的執(zhí)行者為命令提取模塊,步驟S12的執(zhí)行者為應(yīng)用服務(wù)注冊表模塊,步驟S13的執(zhí)行者為通用服務(wù)接口模塊,步驟S14的執(zhí)行者為擴(kuò)展服務(wù)模塊。步驟S21的執(zhí)行者為重載配置模塊,步驟S22的執(zhí)行者為通用服務(wù)實(shí)現(xiàn)模塊,步驟S23的執(zhí)行者為應(yīng)用服務(wù)動(dòng)態(tài)構(gòu)造模塊。
目前在針對服務(wù)器管理和使用中,對于管理平臺業(yè)務(wù)對各種服務(wù)器本地應(yīng)用服務(wù)的使用和管理時(shí),大量的命令拼接和執(zhí)行,會導(dǎo)致該過程中邏輯混亂,代碼可讀性查的情況,而本方法采用命令提取模塊,應(yīng)用服務(wù)注冊表模塊,通用服務(wù)接口模塊,擴(kuò)展服務(wù)模塊,重載配置模塊,通用服務(wù)實(shí)現(xiàn)模塊,應(yīng)用服務(wù)動(dòng)態(tài)構(gòu)造模塊實(shí)現(xiàn)對被管理服務(wù)器中,各個(gè)底層應(yīng)用服務(wù)器的管理以及擴(kuò)展操作,降低了在業(yè)務(wù)邏輯中對命令復(fù)雜的拼接操做,提升了代碼的可讀性以及易維護(hù)性,以及代碼的可擴(kuò)展性。
其中,應(yīng)用服務(wù)注冊表模塊用于記錄需要管理的服務(wù)名稱以及該應(yīng)用服務(wù)的底層配置文件信息。
通用服務(wù)接口模塊定義了用于操作服務(wù)器應(yīng)用服務(wù)的通用操作接口,包括啟動(dòng)、關(guān)閉、重啟、查看運(yùn)行狀態(tài)等基本服務(wù)操作。
通用服務(wù)實(shí)現(xiàn)模塊繼承通用服務(wù)操作接口,包含接收控制服務(wù)器底層命令對象以及應(yīng)用服務(wù)注冊表對象的構(gòu)造方法。這里的命令對象是用于服務(wù)器執(zhí)行底層命令的構(gòu)件。
應(yīng)用服務(wù)動(dòng)態(tài)構(gòu)造模塊根據(jù)注冊表中注冊的服務(wù)類型,根據(jù)應(yīng)用服務(wù)的不同,對服務(wù)進(jìn)行業(yè)務(wù)配置進(jìn)行重載,返回經(jīng)過特殊構(gòu)建的通用服務(wù)實(shí)體。
擴(kuò)展服務(wù)模塊根據(jù)集成通用服務(wù),使用裝飾者模式,通過注冊表獲取服務(wù)基本信息,繼承通用服務(wù)接口,新增擴(kuò)展服務(wù)操作接口,實(shí)現(xiàn)擴(kuò)展新服務(wù)功能的效果。
請參考圖2,圖2為本發(fā)明所提供的一種適用服務(wù)器管理的應(yīng)用服務(wù)管理裝置的結(jié)構(gòu)示意圖,用于實(shí)現(xiàn)上述適用服務(wù)器管理的應(yīng)用服務(wù)管理方法,該裝置包括:
命令提取模塊101,用于對于多個(gè)應(yīng)用服務(wù),提取應(yīng)用服務(wù)的共同的服務(wù)命令;
應(yīng)用服務(wù)注冊表模塊102,用于在應(yīng)用服務(wù)注冊表中記錄每個(gè)應(yīng)用服務(wù)的名稱、服務(wù)類型和底層配置文件信息;
通用服務(wù)接口模塊103,用于對共同的服務(wù)命令定義統(tǒng)一的服務(wù)操作接口;
擴(kuò)展服務(wù)模塊104,用于通過繼承服務(wù)操作接口,新增擴(kuò)展服務(wù)操作接口。
可見,該裝置將大量的重復(fù)拼接的共同命令進(jìn)行抽象提取,并對共同的服務(wù)命令定義統(tǒng)一的服務(wù)操作接口,即封裝成共同方法,并且通過繼承服務(wù)操作接口,新增擴(kuò)展服務(wù)操作接口,這樣進(jìn)行新操作接口的拓展,可容納幾乎所有服務(wù)操作,如此兼容多種操作類型的應(yīng)用服務(wù),對開發(fā)者屏蔽了繁瑣的代碼實(shí)現(xiàn),極大簡化了代碼量和開發(fā)工作,增強(qiáng)了代碼的可維護(hù)性以及擴(kuò)展性,節(jié)省開發(fā)成本以及維護(hù)成本。
基于上述裝置,進(jìn)一步的,所述裝置還包括:
重載配置模塊,用于依據(jù)注冊表中記錄的服務(wù)類型,對應(yīng)用服務(wù)進(jìn)行業(yè)務(wù)配置進(jìn)行重載。
進(jìn)一步的,所述裝置還包括:
通用服務(wù)實(shí)現(xiàn)模塊,用于利用服務(wù)操作接口將共同的命令封裝成服務(wù)實(shí)體類。
進(jìn)一步的,所述裝置還包括:
應(yīng)用服務(wù)動(dòng)態(tài)構(gòu)造模塊,用于以命令執(zhí)行對象和應(yīng)用服務(wù)注冊表中的服務(wù)類型為構(gòu)造方法,實(shí)現(xiàn)擴(kuò)展服務(wù)操作接口,封裝成新的服務(wù)實(shí)體類。
本發(fā)明提供的適用服務(wù)器管理的應(yīng)用服務(wù)管理方法及裝置,通過抽離對應(yīng)用服務(wù)操作以及操作服務(wù)命令的通用部分,分別抽象成通用服務(wù)接口模塊以及其實(shí)現(xiàn)可以極大的簡化無用的代碼,尤其當(dāng)對服務(wù)操作量極大的情況。將通用服務(wù)模塊結(jié)合應(yīng)用服務(wù)動(dòng)態(tài)構(gòu)造模塊,復(fù)用通用服務(wù)模塊的構(gòu)造方法,動(dòng)態(tài)重寫每個(gè)服務(wù)中獨(dú)特的命令實(shí)現(xiàn),例如對服務(wù)的配置文件進(jìn)行修改,動(dòng)態(tài)添加初始化參數(shù)等,或是重寫?yīng)毺氐姆?wù)校驗(yàn)或啟動(dòng)命令等等,通過該設(shè)計(jì)可容納與通用服務(wù)有操作命令差異的服務(wù),免去了重新編寫對全新服務(wù)的操作命令的繁瑣代碼。而通過使用裝飾者模式完成設(shè)計(jì)的擴(kuò)展服務(wù)模塊,可對通用服務(wù)操作定義的接口不足以完成對新服務(wù)的操作時(shí),對其操作進(jìn)行拓展,獲取新服務(wù)的操作實(shí)體。本發(fā)明可在兼容原通用類型的服務(wù)操作方法的同時(shí),提供了可動(dòng)態(tài)構(gòu)造獨(dú)有操作接口的實(shí)現(xiàn)方式并可使用擴(kuò)展服務(wù)模塊使用構(gòu)造者模式進(jìn)行新操作接口的拓展,可容納幾乎所有服務(wù)操作。
本發(fā)明具體實(shí)施過程中,開發(fā)管理軟件過程中,根據(jù)開發(fā)服務(wù)器的業(yè)務(wù)和應(yīng)用類型,新建服務(wù)注冊表,并記錄服務(wù)名稱以及對應(yīng)的配置文件地址;后定義通用服務(wù)操作接口,應(yīng)包含應(yīng)用服務(wù)的通用基本操作,之后在定義通用服務(wù)類,實(shí)現(xiàn)通用服務(wù)接口,其中抽離出的共同命令,根據(jù)注冊變中的服務(wù)名為參數(shù)進(jìn)行拼接執(zhí)行,通過該類可完成對簡單服務(wù)的操作;定義應(yīng)用服務(wù)動(dòng)態(tài)構(gòu)造模塊,以注冊表服務(wù)類和命令執(zhí)行對象為參數(shù),在該模塊內(nèi)部對特定應(yīng)用服務(wù)操作方法進(jìn)行個(gè)性化定制重寫,再將構(gòu)造后的服務(wù)返回,完成動(dòng)態(tài)構(gòu)造;擴(kuò)展服務(wù)模塊的構(gòu)造需要根據(jù)實(shí)際開發(fā)需求,使該模塊主要是架構(gòu)實(shí)現(xiàn),即使用裝飾著模式對服務(wù)進(jìn)行擴(kuò)展,再進(jìn)行服務(wù)的實(shí)例化操作,完成對應(yīng)用服務(wù)的操作過程。
以上對本發(fā)明所提供的一種適用服務(wù)器管理的應(yīng)用服務(wù)管理方法及裝置進(jìn)行了詳細(xì)介紹。本文中應(yīng)用了具體個(gè)例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想。應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。