本公開涉及管理復(fù)雜系統(tǒng)中的漂移和一致性。本公開更具體地涉及用于維護(hù)和評估用來檢測復(fù)雜系統(tǒng)內(nèi)的漂移或者不一致性的規(guī)則的計(jì)算機(jī)實(shí)現(xiàn)的技術(shù)。
背景技術(shù):
在本章節(jié)中描述的方法是可以被推行的方法,但不一定是先前已經(jīng)構(gòu)想或者推行的方法。因此,除非以另外的方式指示,否則不應(yīng)當(dāng)假設(shè)在本章節(jié)中描述的任何方法僅由于它們被包括在本章節(jié)中而有資格作為現(xiàn)有技術(shù)。
許多數(shù)據(jù)中心隨著時間的推移經(jīng)受兩種主要類型的轉(zhuǎn)換。第一,典型的數(shù)據(jù)中心隨著不斷增加的軟件部署的數(shù)量而經(jīng)歷顯著的增長。第二,數(shù)據(jù)中心內(nèi)的軟件和硬件資源典型地由于技術(shù)進(jìn)步或者對底層部署模型的改變而被改進(jìn)或者更新。這些轉(zhuǎn)換可能導(dǎo)致孤立的(siloed)、分散的、多變的并且復(fù)雜的資源部署。一些企業(yè)部署具有數(shù)千個軟件應(yīng)用和硬件資源。數(shù)據(jù)中心內(nèi)的軟件和硬件部署的不斷增加并且發(fā)散的本質(zhì)可能導(dǎo)致更新和維護(hù)系統(tǒng)資源的顯著挑戰(zhàn)。
數(shù)據(jù)中心管理員所面對的一個挑戰(zhàn)是跨大量的軟件和硬件資源維護(hù)最優(yōu)配置。因?yàn)橘Y源隨著時間推移而更新和改進(jìn),一些目標(biāo)可能開始從業(yè)務(wù)最佳實(shí)踐準(zhǔn)則或者其他黃金標(biāo)準(zhǔn)漂移。例如,一些資源可能不接收推薦的更新或者可能應(yīng)用不是黃金標(biāo)準(zhǔn)的一部分的更新。資源漂移可以使得復(fù)雜系統(tǒng)不正確地起作用或者可能以另外的方式不利地影響系統(tǒng)功能性和性能。因此,管理員被賦予有使資源漂移的影響最小化和減輕這種影響任務(wù)。在大型數(shù)據(jù)中心環(huán)境中,考慮到不同資源和配置的數(shù)量,對管理員而言,漂移可能尤其難以管理和抑制。
附圖說明
各種實(shí)施例在附圖的圖中以示例的方式而非限制的方式示出,并且在附圖中相似的標(biāo)號指代類似的元素,并且其中:
圖1示出用于管理復(fù)雜系統(tǒng)內(nèi)的漂移和一致性的示例系統(tǒng)。
圖2示出當(dāng)隨著時間推移而發(fā)布補(bǔ)丁時,對結(jié)束狀態(tài)定義和對應(yīng)黃金映像(goldimage)的更新。
圖3示出訂閱映像并且跟隨到最新可用版本的更新的目標(biāo)。
圖4示出用于對在包括多個目標(biāo)的系統(tǒng)中的漂移和一致性的進(jìn)行連續(xù)監(jiān)控的示例過程。
圖5示出用于生成漂移規(guī)則的示例過程。
圖6是示出在其上可以實(shí)現(xiàn)實(shí)施例的計(jì)算機(jī)系統(tǒng)的框圖。
具體實(shí)施方式
在下面的描述中,為了說明的目的,闡述許多具體細(xì)節(jié)以便提供本公開的透徹理解。然而,將明顯的是,本發(fā)明可以在沒有這些具體細(xì)節(jié)的情況下實(shí)踐。在其他實(shí)例中,以框圖形式示出結(jié)構(gòu)和設(shè)備以避免不必要地模糊本發(fā)明。
一般概述
在各種實(shí)施例中,針對用于復(fù)雜系統(tǒng)的基于規(guī)則的連續(xù)漂移和一致性管理對計(jì)算機(jī)系統(tǒng)、存儲的指令以及技術(shù)步驟進(jìn)行描述。各種實(shí)施例提供靈活的并且可定制的基于規(guī)則的方法和框架,通過這些規(guī)則和框架來管理漂移和/或不一致性?;谝?guī)則的方法提供對復(fù)雜系統(tǒng)的連續(xù)監(jiān)控,從而允許用戶快速地檢測并且高效地管理小規(guī)模環(huán)境和大規(guī)模環(huán)境二者中的配置漂移和不一致性。
在一個實(shí)施例中,基于規(guī)則的方法包括維護(hù)一個或多個漂移規(guī)則的集合。漂移規(guī)則識別用于檢測漂移的參數(shù)集合,該參數(shù)集合包括待比較的一個或多個屬性的集合以及用于比較的源。通過比較特定目標(biāo)上的一個或多個屬性的集合的第一配置與源上的一個或多個屬性的第二配置,將漂移規(guī)則應(yīng)用于相關(guān)聯(lián)的目標(biāo)。如果第一配置和第二配置不匹配,那么該相關(guān)聯(lián)的目標(biāo)已經(jīng)從源漂移。如下面進(jìn)一步描述的,雖然通過應(yīng)用其他規(guī)則可以識別漂移,但是如果第一配置和第二配置匹配,那么就不存在相對于規(guī)則的漂移。
在一個實(shí)施例中,基于規(guī)則的方法包括維護(hù)一個或多個一致性規(guī)則的集合。一致性規(guī)則識別用于檢測復(fù)合目標(biāo)是否一致的參數(shù)集合,該參數(shù)集合包括在復(fù)合目標(biāo)的屬于相同分組/分類的成員之間進(jìn)行比較的一個或多個屬性的集合。比較屬于相同分組/分類的成員的屬性配置以確定這些成員中的任意成員的配置是否不同。如果檢測到差異,那么分組是不一致的。否則,如果配置相同,那么分組相對于一致性規(guī)則是一致的,但是成員可以相對于不同的一致性規(guī)則而不一致。
在一個實(shí)施例中,對于復(fù)合目標(biāo)內(nèi)的不同分類的成員目標(biāo),使用復(fù)合模板來指定待比較的屬性。復(fù)合模板可以包括多個子模板,這多個子模板包括識別對于第一目標(biāo)類型的成員目標(biāo)而言待比較的一個或多個屬性的第一集合的第一子模板,以及識別對于第二目標(biāo)類型的成員目標(biāo)而言待比較的一個或多個屬性的第二集合的第二子模板。對于包括第一目標(biāo)類型的成員的第一集合以及第二目標(biāo)類型的成員的第二集合的復(fù)合目標(biāo),可以按照第一子模板來比較成員的第一集合上的一個或多個屬性的第一集合的配置,并且可以按照第二子模板來比較成員的第二集合上的一個或多個屬性的第二集合的配置。如果屬性的第一集合的配置在成員目標(biāo)的第一集合之間不同或者屬性的第二集合的配置在成員目標(biāo)的第二集合之間不同,那么復(fù)合目標(biāo)不一致。如果這些配置匹配,那么在假設(shè)屬于該復(fù)合目標(biāo)的其他一致性分組(如果存在的話)也一致的情況下,該目標(biāo)可以是一致的。如下面進(jìn)一步描述的,也可以使用復(fù)合模板來為復(fù)合目標(biāo)檢測漂移。
在一個實(shí)施例中,用于應(yīng)用到相同的源/目標(biāo)配對的不同規(guī)則可以分配有不同的權(quán)重,以用于在確定順應(yīng)分?jǐn)?shù)中使用。在另一個實(shí)施例中,不同的規(guī)則可以分配有相同的權(quán)重,或者根本不分配權(quán)重。順應(yīng)分?jǐn)?shù)指示目標(biāo)已經(jīng)漂移、變得不一致或者保持一致的程度。例如,如果更多的規(guī)則指示一致性而不是不一致性,那么順應(yīng)分?jǐn)?shù)可以指示較低程度的漂移。另一方面,如果更多的規(guī)則指示不一致性,那么順應(yīng)分?jǐn)?shù)可以指示較高程度的漂移。
在一些實(shí)施例中,當(dāng)檢測到配置漂移或者不一致性時,發(fā)送通知以警示用戶。及時的通知可以允許用戶在系統(tǒng)功能性和性能受到不利影響之前采取校正動作或者以其他方式解決配置問題。通知可以包括順應(yīng)分?jǐn)?shù)和/或?qū)τ谟脩舨扇⌒U齽幼骺赡苡杏玫钠渌畔ⅰ?/p>
漂移和一致性管理系統(tǒng)
圖1示出用于管理復(fù)雜系統(tǒng)內(nèi)的漂移和一致性的示例系統(tǒng)。系統(tǒng)100通常包括主機(jī)110a至110n、配置管理服務(wù)120和儲存庫130。系統(tǒng)100的部件可以在一個或多個數(shù)據(jù)中心、一個或多個云和/或一個或多個其他聯(lián)網(wǎng)環(huán)境中實(shí)現(xiàn)。
主機(jī)110a至110n代表一個或多個網(wǎng)絡(luò)主機(jī)的集合并且通常包括目標(biāo)112a至112n以及代理114a至114n。主機(jī)110a至110n與配置管理服務(wù)120在通信上耦合并且可以根據(jù)一個或多個通信協(xié)議發(fā)送/接收消息??梢詫?shí)現(xiàn)的示例通信協(xié)議包括但不局限于超文本傳送協(xié)議(http)、安全外殼(ssh)和/或互聯(lián)網(wǎng)協(xié)議組的其他通信協(xié)議。
此上下文中的“目標(biāo)”或者“目標(biāo)系統(tǒng)”指特定的硬件資源、軟件資源或其某種組合。目標(biāo)可以包括主機(jī)機(jī)器自身、主機(jī)機(jī)器上的一個或多個硬件部件的集合和/或在主機(jī)機(jī)器上運(yùn)行的一個或多個軟件資源的集合。作為示例,目標(biāo)可以是特定的軟件部署,諸如一個或多個數(shù)據(jù)庫系統(tǒng)、中間件應(yīng)用、操作系統(tǒng)、虛擬機(jī)部件、向操作系統(tǒng)注冊的軟件的集合或者某種其他軟件應(yīng)用或者軟件應(yīng)用的集合。在另一個示例中,目標(biāo)可以包括硬件基礎(chǔ)設(shè)施部件,諸如一個或多個網(wǎng)絡(luò)交換機(jī)、存儲器件、路由器、端口、處理器或者網(wǎng)絡(luò)拓?fù)鋬?nèi)的某種其他設(shè)備的集合。
目標(biāo)可以包括被作為分組管理的若干相關(guān)目標(biāo)。由若干其他相關(guān)目標(biāo)構(gòu)成的目標(biāo)由此被稱作“復(fù)合目標(biāo)”。作為形成復(fù)合目標(biāo)的分組的一部分的目標(biāo)由此稱作該復(fù)合目標(biāo)的“孩子”或者“子目標(biāo)”并且被稱作該分組內(nèi)的“成員目標(biāo)”。參考圖1,目標(biāo)112a是包括成員目標(biāo)116a至116n的復(fù)合目標(biāo)。成員目標(biāo)116a至116n中的每一個作為與目標(biāo)112a對應(yīng)的同一分組的一部分而被管理并且是目標(biāo)112a的孩子。例如,目標(biāo)112a可以對應(yīng)于相關(guān)軟件應(yīng)用的分組,這些相關(guān)軟件應(yīng)用諸如中間件或者數(shù)據(jù)庫系統(tǒng)軟件,并且成員目標(biāo)116a至116n中的每一個可以對應(yīng)于作為目標(biāo)系統(tǒng)的部分的其他子部件或者單獨(dú)的軟件應(yīng)用。作為另一個示例,目標(biāo)112a可以對應(yīng)于冗余分組或者集群軟件分組,其中成員目標(biāo)116a至116n是作為單個復(fù)合實(shí)體而管理的系列相關(guān)目標(biāo)。雖然成員目標(biāo)116a至116n被描述為駐留在同一主機(jī)上,但是成員目標(biāo)也可以駐留在不同的主機(jī)機(jī)器上。除了作為與目標(biāo)112a相對應(yīng)的分組的部分而被管理之外,每個單獨(dú)的成員目標(biāo)也可以單獨(dú)地管理。
成員目標(biāo)可以是具有多個孩子目標(biāo)的復(fù)合目標(biāo)。例如,成員目標(biāo)116a至116n中的一個或多個可以是由多個子目標(biāo)(未示出)構(gòu)成的復(fù)合目標(biāo)。因此,復(fù)合目標(biāo)112a可以包括可能包含孩子、孫子等等的成員目標(biāo)的分層集合。
代理114a至114n將從目標(biāo)112a至112n以及成員目標(biāo)116a至116n收集的數(shù)據(jù)周期性地或者連續(xù)地發(fā)送到配置管理服務(wù)120。由代理114a至114n收集的數(shù)據(jù)通??梢园ㄗR別對應(yīng)目標(biāo)的當(dāng)前配置狀態(tài)的屬性數(shù)據(jù)??梢员皇占氖纠龑傩詳?shù)據(jù)可以包括但不局限于:
●硬件配置信息,諸如關(guān)于目標(biāo)的存儲器、存儲裝置、處理器、端口配置和網(wǎng)絡(luò)拓?fù)涞募?xì)節(jié);和/或
●軟件配置信息,諸如目標(biāo)的名稱、版本、已安裝補(bǔ)丁/補(bǔ)丁集合、初始化參數(shù)、軟件實(shí)例性質(zhì)、許可信息以及其他特性。每個代理是一個或多個進(jìn)程(諸如服務(wù)或者守護(hù)進(jìn)程)的集合,該集合在對應(yīng)的主機(jī)機(jī)器上執(zhí)行并且監(jiān)控對應(yīng)的目標(biāo)或者目標(biāo)集合。代理可以是諸如網(wǎng)絡(luò)管理系統(tǒng)(nms)或者企業(yè)管理系統(tǒng)(ems)之類的管理系統(tǒng)的部件。
雖然每個主機(jī)示出僅一個目標(biāo)和一個代理,但是每個主機(jī)的目標(biāo)和代理的數(shù)量可以因?qū)崿F(xiàn)方案而異。例如,多個目標(biāo)和/或代理可以部署在單個主機(jī)上。而且,在集群環(huán)境中,單個目標(biāo)可以邏輯地遍布多個主機(jī)。作為示例,目標(biāo)可以包括云數(shù)據(jù)庫,該云數(shù)據(jù)庫具有跨越多于一個計(jì)算節(jié)點(diǎn)的多個子目標(biāo)數(shù)據(jù)庫節(jié)點(diǎn),其中每個數(shù)據(jù)庫節(jié)點(diǎn)運(yùn)行具有相同配置的數(shù)據(jù)庫服務(wù)器。
配置管理服務(wù)120通常包括收集邏輯122、規(guī)則管理邏輯124、規(guī)則評估邏輯126以及控制操作臺128。這些邏輯單元中的每一個被配置為相對于漂移和一致性管理執(zhí)行功能的不同集合。如這里使用的術(shù)語“邏輯”包括被配置為執(zhí)行一個或多個功能或者動作和/或引發(fā)來自另一個邏輯、方法和/或系統(tǒng)的一個或多個功能或者動作的(一個或多個)計(jì)算機(jī)或者電氣硬件部件、固件、存儲指令的非暫態(tài)計(jì)算機(jī)可讀介質(zhì)和/或這些部件的組合。邏輯可以包括由可執(zhí)行代碼控制的微處理器、離散邏輯(例如,asic)、模擬電路、數(shù)字電路、程控邏輯設(shè)備、包含當(dāng)被執(zhí)行時執(zhí)行算法的指令的存儲設(shè)備,等等。邏輯可以包括一個或多個門、門的組合或者其他電路部件。在描述多個邏輯單元的情況下,有可能將這多個邏輯單元合并到一個物理邏輯部件中。類似地,在描述單個邏輯單元的情況下,有可能將該單個邏輯單元分布在多個物理邏輯部件之間。
收集邏輯122被配置為從代理114a至114n接收屬性數(shù)據(jù)并且將所收集的存儲在儲存庫130中。收集邏輯122可以連續(xù)或者周期性地收集數(shù)據(jù)。作為示例,代理114a至114n中的一個或多個可以響應(yīng)于檢測到配置信息已改變而將更新后的屬性數(shù)據(jù)發(fā)送到收集邏輯122。作為另一個示例,代理114a至114n中的一個或多個可以每晚或者以某個其他周期發(fā)送配置簡檔(profile)。
規(guī)則管理邏輯124包括用于管理漂移和/或一致性規(guī)則的邏輯。例如,規(guī)則管理邏輯124可以被配置為生成規(guī)則數(shù)據(jù)134并且將其存儲在儲存庫130中、將目標(biāo)關(guān)聯(lián)到規(guī)則、維護(hù)目標(biāo)與規(guī)則之間以分組為基礎(chǔ)的關(guān)聯(lián)和/或相對于一個或多個目標(biāo)觸發(fā)規(guī)則評估。用于管理漂移規(guī)則和一致性規(guī)則的技術(shù)在下面的章節(jié)中更詳細(xì)地描述。
規(guī)則評估邏輯126包括用于評估漂移和/或一致性規(guī)則的邏輯。規(guī)則評估邏輯126還可以被配置為生成通知數(shù)據(jù)以指示規(guī)則評估的結(jié)果。規(guī)則評估結(jié)果和通知數(shù)據(jù)可以被存儲在儲存庫130中、經(jīng)由網(wǎng)絡(luò)發(fā)送、經(jīng)由控制操作臺128顯示給用戶和/或以另外的方式輸出。用于評估漂移規(guī)則和一致性規(guī)則并且生成通知數(shù)據(jù)的技術(shù)在下面的章節(jié)中更詳細(xì)地描述。
控制操作臺128提供允許用戶在本地或者從遠(yuǎn)程網(wǎng)絡(luò)位置對本文描述的漂移和一致性管理過程進(jìn)行監(jiān)控和管理的用戶接口。用戶接口可以包括但不局限于圖形用戶接口(gui)、應(yīng)用編程接口(api)、命令行接口(cli)或者與用戶交互的某種其他手段。該上下文中的“用戶”可以包括但不局限于應(yīng)用或者諸如系統(tǒng)管理員之類的人類用戶。
儲存庫130包括存儲用于配置管理服務(wù)120的數(shù)據(jù)的計(jì)算機(jī)數(shù)據(jù)存儲裝置。例如,儲存庫可以包括但不局限于一個或多個磁盤、存儲器、存儲器件、存儲服務(wù)器、數(shù)據(jù)庫和/或其他非暫時性的易失性存儲介質(zhì)或者非易失性存儲介質(zhì)的集合。儲存庫130存儲由配置管理服務(wù)120使用的數(shù)據(jù),這些數(shù)據(jù)包括但不局限于屬性數(shù)據(jù)132、規(guī)則數(shù)據(jù)134和關(guān)聯(lián)數(shù)據(jù)136。
屬性數(shù)據(jù)132存儲從目標(biāo)112a至112n收集的配置屬性值。作為示例,對于目標(biāo)軟件資源,屬性數(shù)據(jù)132可以存儲名稱、版本、已安裝補(bǔ)丁和補(bǔ)丁集合、初始化參數(shù)、軟件實(shí)例性質(zhì)、許可信息和/或識別目標(biāo)資源的當(dāng)前配置的其他值。所存儲的針對給定目標(biāo)的配置屬性的集合在這里被稱作目標(biāo)的“配置簡檔”。屬性數(shù)據(jù)132可以(例如,使用目標(biāo)標(biāo)識符)將目標(biāo)標(biāo)識符映射到它們對應(yīng)的配置簡檔。
規(guī)則數(shù)據(jù)134存儲漂移規(guī)則和/或一致性規(guī)則。該上下文中的“漂移規(guī)則”指控制如何檢測漂移的數(shù)據(jù)集合?!耙恢滦砸?guī)則”指控制如何檢測一致性的數(shù)據(jù)集合。漂移規(guī)則和一致性規(guī)則的示例在下面的章節(jié)中給出。
關(guān)聯(lián)數(shù)據(jù)136存儲目標(biāo)與規(guī)則之間的映射。例如,關(guān)聯(lián)數(shù)據(jù)可以將目標(biāo)標(biāo)識符(諸如唯一地識別相應(yīng)目標(biāo)的目標(biāo)名稱或者其他數(shù)據(jù))映射到一個或多個規(guī)則標(biāo)識符,其中這一個或多個規(guī)則標(biāo)識符唯一地識別相應(yīng)目標(biāo)與其相關(guān)聯(lián)的一個或多個相應(yīng)規(guī)則的集合。
漂移規(guī)則管理
在一個實(shí)施例中,規(guī)則管理邏輯124維護(hù)一個或多個漂移規(guī)則的集合。一般而言,漂移規(guī)則數(shù)據(jù)識別待比較的一個或多個屬性的集合以及相對于其執(zhí)行屬性比較的源。如下面的章節(jié)中更詳細(xì)描述的,由漂移規(guī)則識別的“源”可以對應(yīng)于特定的黃金目標(biāo)或者所保存的配置簡檔,并且表示標(biāo)準(zhǔn)級別或者推薦級別的配置(也稱作“黃金標(biāo)準(zhǔn)”)。如果在目標(biāo)處的配置屬性的集合被配置得與在源處的配置屬性的集合不同(例如,具有不同的屬性值),那么目標(biāo)從源漂移。
由特定規(guī)則識別的屬性集合可以因?qū)崿F(xiàn)方案而異并且在不同的漂移規(guī)則之間不同。作為示例,可以使用不同的規(guī)則來捕獲不同的標(biāo)準(zhǔn)??梢葬槍Φ谝粯?biāo)準(zhǔn)定義第一規(guī)則,該第一規(guī)則指定待比較的屬性的第一集合以及第一源。然后可以針對第二標(biāo)準(zhǔn)定義第二規(guī)則。第二規(guī)則可以在以下方面與第一規(guī)則不同:
●不同的屬性集合和相同的源。在該場景中,第二規(guī)則指定與第一規(guī)則不同的屬性集合,但是使用與第一規(guī)則相同的源。例如,第一規(guī)則的屬性集合可以包括許可信息并且第二規(guī)則的屬性集合可以從待比較的屬性中省略此許可信息和/或包括沒有被第一規(guī)則指定的附加屬性。
●相同的屬性集合和不同的源。在該場景中,第二規(guī)則指定與第一規(guī)則相同的待比較的屬性集合但是將這些屬性與不同的源進(jìn)行比較。不同的源可以不同于第一源而配置。例如,第二源可以應(yīng)用不同級別的補(bǔ)丁或者其他更新。
●不同的屬性集合和不同的源。在該場景中,第二規(guī)則指定與第一規(guī)則不同的屬性集合以及不同的源。
當(dāng)評估規(guī)則時,不比較在規(guī)則中沒有指定的配置屬性。用于目標(biāo)的配置簡檔可以包括數(shù)百個或者甚至數(shù)千個不同的配置屬性。配置屬性中的一些可能在確定目標(biāo)是否從業(yè)務(wù)最佳實(shí)踐準(zhǔn)則或者某種其他標(biāo)準(zhǔn)漂移中是沒有用的。例如,目標(biāo)安裝在其上的主機(jī)可以被期望為在一些實(shí)現(xiàn)方式中因目標(biāo)而異,并且該主機(jī)不一定暗示著存在漂移。通過指定待比較哪個屬性集合,規(guī)則允許為了漂移比較而捕獲有關(guān)的配置屬性的子集并且忽略不相關(guān)的配置屬性。
配置模板
在一個實(shí)施例中,使用配置模板來存儲識別屬性集合的數(shù)據(jù)。配置模板與相應(yīng)的規(guī)則相關(guān)聯(lián),以捕獲對于相應(yīng)的規(guī)則而言待比較的配置屬性的列表。配置模板可以與單個規(guī)則或者與多個規(guī)則相關(guān)聯(lián)。例如,可以為第一規(guī)則創(chuàng)建特定配置模板以捕獲要與第一源進(jìn)行比較的屬性集合。然后該特定配置模板可以與第二規(guī)則一起使用以比較相同的屬性集合與第二源。
可以使用復(fù)合模板來捕獲用于一個或多個對應(yīng)復(fù)合目標(biāo)的集合的配置屬性。該上下文中的“復(fù)合模板”指由多個子模板構(gòu)成的配置模板。復(fù)合模板可以包括與復(fù)合目標(biāo)對應(yīng)的根模板以及多個子模板,其中每個子模板捕獲對于對應(yīng)分類的目標(biāo)而言待比較的配置屬性。
復(fù)合模板的分層結(jié)構(gòu)可以基于復(fù)合目標(biāo)的分層結(jié)構(gòu)。根據(jù)實(shí)施例,對于具有不同目標(biāo)類型的多個成員的復(fù)合目標(biāo),對應(yīng)的復(fù)合目標(biāo)可以包括用于每個成員目標(biāo)類型的子模板。該上下文中的“目標(biāo)類型”指目標(biāo)分類并且也可以本文指“目標(biāo)分類”。對目標(biāo)進(jìn)行分類的方式可以因?qū)崿F(xiàn)方案而異。在一個實(shí)施例中,基于與目標(biāo)相關(guān)聯(lián)的特性集合進(jìn)行分類。作為示例,可以根據(jù)產(chǎn)品名稱和發(fā)布日期對特定軟件資源的目標(biāo)類型進(jìn)行分類,諸如
圖2是根據(jù)實(shí)施例描繪示例復(fù)合模板的框圖。復(fù)合模板200是根模板并且包括子模板202a至202n。子模板202a至202n中的每一個可以包括不同的配置模板。例如,子模板202a包括配置模板204a,并且子模板202n包括配置模板204n。雖然沒有示出,但是模板202a至202n中的一個或多個也可以是具有多個其他子模板的復(fù)合模板,其中這多個其他子模板具有不同的配置簡檔。因此,復(fù)合模板200提供用于比較復(fù)雜系統(tǒng)內(nèi)的漂移或者一致性的分層組織。
源識別
如先前指示的,由漂移規(guī)則識別的源表示業(yè)務(wù)最佳實(shí)踐準(zhǔn)則或者推薦的標(biāo)準(zhǔn)級別的配置。為了識別源,規(guī)則數(shù)據(jù)134存儲針對每個相應(yīng)的規(guī)則對源進(jìn)行識別的源識別數(shù)據(jù)。與規(guī)則相關(guān)聯(lián)的源可以因?qū)崿F(xiàn)方式而異,并且可以包括但不局限于:
●具有黃金配置的目標(biāo);
●黃金配置保存快照;和/或
●目標(biāo)正確工作時的先前時間點(diǎn)處的目標(biāo)的基線配置快照。
表示具有黃金配置的目標(biāo)(在這里稱作“黃金目標(biāo)”)的源識別信息通常可以包括該黃金目標(biāo)的目標(biāo)標(biāo)識符(例如,名稱、路徑等)和/或該黃金目標(biāo)的當(dāng)前配置屬性值的配置簡檔。當(dāng)黃金目標(biāo)用作源時,捕獲黃金目標(biāo)的當(dāng)前配置狀態(tài)并且使用它來檢測漂移。當(dāng)黃金目標(biāo)處的屬性值改變時,用于檢測漂移的標(biāo)準(zhǔn)也改變。例如,在黃金目標(biāo)處應(yīng)用的新補(bǔ)丁對應(yīng)于黃金標(biāo)準(zhǔn)中的更新,使得更新后的黃金標(biāo)準(zhǔn)包括新補(bǔ)丁。在漂移規(guī)則評估期間,將目標(biāo)與黃金目標(biāo)的當(dāng)前狀態(tài)進(jìn)行比較以檢測漂移。如果目標(biāo)不包括新補(bǔ)丁,那么目標(biāo)可以識別為已經(jīng)從源漂移??梢赃x擇并且使用目標(biāo)112a至112n中的任何目標(biāo)作為黃金目標(biāo)源。
表示黃金配置保存快照的源識別信息通常可以包括所保存的配置快照文件的快照標(biāo)識符(例如,名稱和路徑)和/或具有作為配置快照的一部分的所保存的屬性值的配置簡檔。黃金配置保存快照與黃金目標(biāo)的不同在于對應(yīng)的標(biāo)準(zhǔn)可以代表或者可以不代表黃金目標(biāo)的最新狀態(tài),并且不隨黃金目標(biāo)的屬性更新而自動地改變。黃金配置保存快照可以由用戶手動地創(chuàng)建(例如,用戶可以通過控制操作臺128輸入屬性值)或者可以通過保存來自目標(biāo)112a至112n中的一個目標(biāo)的配置簡檔來創(chuàng)建。
表示用于目標(biāo)的基線配置快照的源識別信息通??梢园ㄅ渲每煺瘴募目煺諛?biāo)識符和/或具有保存的屬性值的配置簡檔,其中這些保存的屬性值是在目標(biāo)正確工作時的先前時間點(diǎn)處從目標(biāo)收集的?;€配置快照允許管理員確定目標(biāo)如何相對于目標(biāo)自身的基線配置漂移。作為示例,目標(biāo)的基線快照可以在時間t1處獲取。隨后,隨著目標(biāo)經(jīng)過幾日、幾月或者甚至幾年而演變,可能安裝不同的補(bǔ)丁。在隨后的時間點(diǎn)t2處,彼此不連同工作的兩個或者更多個補(bǔ)丁可能已經(jīng)安裝在了該目標(biāo)上??梢韵鄬τ诨€快照對目標(biāo)進(jìn)行比較,以確定目標(biāo)從基線快照漂移以及目標(biāo)如何從基線快照漂移。
漂移規(guī)則評估
在一個實(shí)施例中,規(guī)則評估邏輯126被配置為應(yīng)用漂移規(guī)則確定目標(biāo)是否已經(jīng)從源漂移。規(guī)則應(yīng)用到的目標(biāo)在本文中被稱作“目的地目標(biāo)”。為了將特定的漂移規(guī)則應(yīng)用于目的地目標(biāo),規(guī)則評估邏輯126按照在規(guī)則的配置模板中指定的配置屬性來比較目的地目標(biāo)與規(guī)則的源。如果目的地目標(biāo)處的相關(guān)屬性的任何屬性值與源處的對應(yīng)值不同,那么檢測到漂移。該上下文中的“相關(guān)”指由規(guī)則(例如,在配置模板中)指定并且在規(guī)則評估期間被比較的屬性值。
對于已經(jīng)漂移的目標(biāo),規(guī)則評估邏輯126可以維護(hù)指示目標(biāo)如何從源漂移的數(shù)據(jù)。在一個實(shí)施例中,規(guī)則評估邏輯126維護(hù)目標(biāo)與源之間的差異列表。對于目標(biāo)的與源中的對應(yīng)值不同的每個屬性值,規(guī)則評估邏輯126將識別不同屬性的條目添加到差異列表。因此,可以使用差異列表來確定在源與已經(jīng)漂移的目標(biāo)之間有多少屬性不同以及有哪些屬性不同。
在一個實(shí)施例中,當(dāng)漂移規(guī)則應(yīng)用于相應(yīng)目標(biāo)時,規(guī)則評估邏輯126計(jì)算目標(biāo)的順應(yīng)分?jǐn)?shù)。順應(yīng)分?jǐn)?shù)可以如下計(jì)算并且分配給目標(biāo):
其中c表示按照所應(yīng)用的規(guī)則分配給目的地目標(biāo)的順應(yīng)分?jǐn)?shù)。如果規(guī)則/目標(biāo)的順應(yīng)分?jǐn)?shù)是100%,那么目標(biāo)沒有漂移。小于100%的順應(yīng)分?jǐn)?shù)意味著相關(guān)聯(lián)的目標(biāo)已經(jīng)從黃金源配置漂移。
如果目的地目標(biāo)是復(fù)合目標(biāo),那么可以維護(hù)映射數(shù)據(jù),該映射數(shù)據(jù)指定源的哪個成員映射到目的地目標(biāo)的哪個成員。映射可以是一對一的,其中目的地目標(biāo)內(nèi)的一個成員目標(biāo)映射到一個源成員,或者映射可以是多對一的,其中目的地目標(biāo)內(nèi)的多個成員目標(biāo)映射到單個源成員。圖3示出復(fù)合目標(biāo)的成員與源黃金配置的成員之間的示例映射。復(fù)合目標(biāo)300包括屬于目標(biāo)分類310的成員目標(biāo)312、314和316以及屬于目標(biāo)分類320的成員目標(biāo)322和324。
漂移規(guī)則330包括復(fù)合模板340和源350或者以其他方式與復(fù)合模板340和源350相關(guān)聯(lián)。復(fù)合模板包括子模板342和子模板344,子模板342指定對于目標(biāo)分類310的成員目標(biāo)而言待比較的配置屬性,并且子模板344指定對于目標(biāo)分類320的成員目標(biāo)而言待比較的配置屬性。源350為屬于目標(biāo)分類310的源成員352、354和356以及屬于目標(biāo)分類320的源成員362指定黃金配置信息。為了確定哪個黃金配置信息應(yīng)當(dāng)應(yīng)用于哪個成員目標(biāo),維護(hù)映射數(shù)據(jù)360。
在規(guī)則評估期間,成員目標(biāo)312上的相關(guān)屬性(在子模板342中指定的那些)的配置與為源成員352維護(hù)的黃金配置信息進(jìn)行比較。類似地,成員目標(biāo)314上的相關(guān)屬性的配置與為源成員354維護(hù)的黃金配置信息進(jìn)行比較,并且成員目標(biāo)316上的相關(guān)屬性的配置與為源成員356維護(hù)的黃金配置信息進(jìn)行比較。因此,為不同的成員目標(biāo)可以維護(hù)不同的標(biāo)準(zhǔn)。對于由子模板344識別的配置屬性,成員目標(biāo)322和324的配置二者都與為源成員362維護(hù)的黃金配置信息進(jìn)行比較。
復(fù)合目標(biāo)的順應(yīng)分?jǐn)?shù)可以如下計(jì)算并且分配給目的地目標(biāo):
小于100%的順應(yīng)百分比意味著相對于一個或多個成員目標(biāo)的一個或多個屬性值目標(biāo)已經(jīng)從黃金源配置漂移。
在漂移規(guī)則中沒有指定的配置屬性在漂移評估期間被忽略。作為示例,特定的漂移規(guī)則可以與列出已安裝補(bǔ)丁作為相關(guān)配置屬性但是沒有列出初始化參數(shù)的配置模板相關(guān)聯(lián)。在規(guī)則評估期間,比較目的地與源之間的已安裝補(bǔ)丁,但是不比較初始化參數(shù)。因此,如果源與目的地之間的已安裝補(bǔ)丁的配置不同,那么目的地目標(biāo)已經(jīng)漂移,并且順應(yīng)分?jǐn)?shù)將小于100%。然而,如果在本示例中初始化參數(shù)不同,那么對順應(yīng)分?jǐn)?shù)不起作用,因?yàn)椴槐容^這些參數(shù)。即使初始化參數(shù)不同,如果由配置模板列出的配置屬性在源和目的地之間相同,那么目的地目標(biāo)也可以沒有漂移。
一致性規(guī)則
在一個實(shí)施例中,規(guī)則管理邏輯124維護(hù)一個或多個一致性規(guī)則的集合。類似于漂移規(guī)則,一致性規(guī)則包括識別將比較什么屬性的數(shù)據(jù)。然而,不像漂移規(guī)則,一致性規(guī)則不指定用于比較的源,因?yàn)橐恢滦栽u估不涉及黃金目標(biāo)與目的地目標(biāo)之間的目標(biāo)間比較。而是,一致性評估涉及目標(biāo)內(nèi)比較,其中成員目標(biāo)的配置具有相同的目標(biāo)類型(亦即,目標(biāo)分類),并且針對一致性對相同根目標(biāo)的后代(例如,孩子、孫子等)進(jìn)行比較。
一致性規(guī)則在每個一致性分組的基礎(chǔ)上捕獲用于比較的屬性。該上下文中的“一致性分組”指根據(jù)相關(guān)聯(lián)的一致性規(guī)則檢查一致性的成員目標(biāo)的分組。作為示例,根目標(biāo)可以包括數(shù)據(jù)庫服務(wù)器實(shí)例的集群分組和/或存儲器件的冗余分組。先前示例中的集群分組和冗余分組對應(yīng)于不同的一致性分組,并且數(shù)據(jù)庫服務(wù)器實(shí)例和存儲器件對應(yīng)于各自一致性分組的成員目標(biāo)。根目標(biāo)可以具有一個或多個一致性分組。
由特定的一致性規(guī)則識別的屬性集合可以在不同的一致性規(guī)則之間變化。例如,不同的規(guī)則和對應(yīng)的標(biāo)準(zhǔn)可以用于不同的地理位置、不同的業(yè)務(wù)線或者不同的目標(biāo)類型。可以由一致性規(guī)則捕獲的示例配置屬性可以包括相對于漂移規(guī)則在上面列出的相同屬性。
在一個實(shí)施例中,一致性規(guī)則與復(fù)合模板相關(guān)聯(lián),其中復(fù)合模板捕獲對于一個或多個一致性分組而言待比較的配置屬性的列表。假定根目標(biāo)具有將要針對一致性進(jìn)行比較的多個成員目標(biāo),那么根目標(biāo)是復(fù)合系統(tǒng)。上面描述的復(fù)合模板因此可以用來確定對于給定的一致性分組要比較哪些屬性。屬于相同根目標(biāo)的一致性分組可以具有不同的配置模板,導(dǎo)致使用不同的配置屬性來確定每個分組的一致性。參考圖2,針對各自的一致性分組,子模板202a至202n中的每一個可以捕獲配置屬性的不同集合。
在一個實(shí)施例中,復(fù)合目標(biāo)內(nèi)的一致性分組對應(yīng)于不同的成員目標(biāo)類型。作為示例,第一一致性分組可以包括第一類型的成員目標(biāo)(例如,數(shù)據(jù)庫節(jié)點(diǎn)),第二一致性分組可以包括第二目標(biāo)類型的成員目標(biāo)(例如,中間件節(jié)點(diǎn)),以此類推。
在一個實(shí)施例中,每個一致性分組與參考目標(biāo)相關(guān)聯(lián)。該上下文中的“參考目標(biāo)”用作執(zhí)行與分組中其他目標(biāo)中的每一個目標(biāo)的比較的源。當(dāng)一致性分組對應(yīng)于不同的成員目標(biāo)類型時,在每個目標(biāo)類型的基礎(chǔ)上指定參考目標(biāo)。分組的參考目標(biāo)可以由用戶選擇或者可以由規(guī)則管理邏輯124自動選擇。
一致性規(guī)則評估
在一個實(shí)施例中,規(guī)則評估邏輯126被配置為應(yīng)用一致性規(guī)則以確定復(fù)合目標(biāo)是否具有任何不一致性。為了將特定的一致性規(guī)則應(yīng)用于目的地目標(biāo),規(guī)則評估邏輯126(按照在規(guī)則內(nèi)的對應(yīng)子模板中指定的配置屬性)對參考目標(biāo)上的相關(guān)屬性的配置與屬于相同一致性分組的成員上的相關(guān)屬性的配置進(jìn)行比較??梢葬槍?fù)合目標(biāo)內(nèi)的每個一致性分組重復(fù)該過程。如果參考目標(biāo)的相關(guān)屬性值與相同一致性分組中的另一個成員的對應(yīng)值不同,那么目標(biāo)不一致。
對于已經(jīng)變得不一致的目標(biāo),規(guī)則評估邏輯126可以維護(hù)指示目標(biāo)在哪里變得不一致以及目標(biāo)在什么程度上變得不一致的數(shù)據(jù)。在一個實(shí)施例中,規(guī)則評估邏輯126維護(hù)不一致的配置屬性的列表。當(dāng)復(fù)合目標(biāo)被關(guān)聯(lián)到一致性規(guī)則時,規(guī)則評估邏輯126按照子模板相對于每個成員目標(biāo)類型的參考目標(biāo)比較復(fù)合目標(biāo)的同一目標(biāo)類型的成員。如果某個子目標(biāo)類型的任何成員配置屬性與其他成員或者參考成員不同,那么對差異進(jìn)行注冊并且將該配置屬性添加到不一致屬性的列表。
在一個實(shí)施例中,當(dāng)一致性規(guī)則應(yīng)用于相應(yīng)目標(biāo)時,規(guī)則評估邏輯126計(jì)算目標(biāo)的順應(yīng)分?jǐn)?shù)。順應(yīng)分?jǐn)?shù)可以如下計(jì)算并且分配給目標(biāo):
其中c表示按照所應(yīng)用的一致性規(guī)則分配給目的地目標(biāo)的順應(yīng)分?jǐn)?shù)。如果規(guī)則/目標(biāo)的順應(yīng)分?jǐn)?shù)是100%,那么目標(biāo)是一致的。小于100%的順應(yīng)分?jǐn)?shù)意味著相關(guān)聯(lián)的目標(biāo)具有已經(jīng)變得不一致的一個或多個成員。
目標(biāo)的順應(yīng)分?jǐn)?shù)可以考慮屬于同一目標(biāo)的多個一致性分組。作為示例,復(fù)合目標(biāo)可以具有下面的一致性分組:
●具有目標(biāo)類型mt1的下面成員的分組1:目標(biāo)m11(參考目標(biāo))、m12和m13;以及
●具有目標(biāo)類型mt2的下面成員的分組2:目標(biāo)m21、m22(參考目標(biāo))和m23。
在規(guī)則評估期間,m11與m12和m13比較,并且m22與m21和m23比較。在本示例中,假設(shè)被比較的五個配置屬性中一個配置屬性在m11與m12之間不同,并且在m11與m13之間比較的五個配置屬性中沒有配置屬性不同。進(jìn)一步假設(shè)在m22與m21之間比較的五個配置屬性中三個配置屬性不同,并且在m22與m23之間比較的五個屬性配置中兩個配置屬性不同?;谇笆黾僭O(shè)和等式3,如下計(jì)算順應(yīng)分?jǐn)?shù):
評估結(jié)果通知
在一個實(shí)施例中,規(guī)則評估邏輯126在檢測到漂移或者不一致性時生成通知。通知數(shù)據(jù)通??梢园ㄡ槍ζ埔?guī)則和/或一致性規(guī)則評估的評估結(jié)果,其警示管理員或者其他用戶檢測到的漂移或者不一致性。例如,通知可以包括響應(yīng)將漂移規(guī)則或者一致性規(guī)則應(yīng)用于目標(biāo)而生成的評估結(jié)果。評估結(jié)果可以包括但不局限于識別下面項(xiàng)目的數(shù)據(jù):
●指示目標(biāo)已經(jīng)從源漂移的程度的順應(yīng)分?jǐn)?shù);
●指示目標(biāo)已經(jīng)變得不一致的程度的順應(yīng)分?jǐn)?shù);
●已經(jīng)漂移的屬性的總數(shù)量;
●已經(jīng)變得不一致的屬性的總數(shù)量;
●已經(jīng)從源漂移的一個或多個屬性的列表;和/或
●已經(jīng)變得不一致的一個或多個屬性的列表;
●推薦的校正動作。
一旦生成通知數(shù)據(jù),規(guī)則評估邏輯126就將通知數(shù)據(jù)輸出給用戶。通知數(shù)據(jù)輸出的方式可以因?qū)崿F(xiàn)方案而異,并且可以包括但不局限于經(jīng)由電子郵件發(fā)送通知到注冊的電子郵件地址、將通知數(shù)據(jù)存儲在儲存庫130中、經(jīng)由計(jì)算機(jī)數(shù)據(jù)網(wǎng)絡(luò)傳輸通知和/或使得通知數(shù)據(jù)通過諸如控制操作臺128這樣的用戶接口顯示。
基于分組的關(guān)聯(lián)
在一個實(shí)施例中,關(guān)聯(lián)數(shù)據(jù)136維護(hù)目標(biāo)的分組與相應(yīng)規(guī)則之間的映射。當(dāng)規(guī)則與目標(biāo)的分組相關(guān)聯(lián)時,規(guī)則評估邏輯126將規(guī)則跨屬于該分組的目標(biāo)而應(yīng)用。目標(biāo)分組允許漂移標(biāo)準(zhǔn)和一致性標(biāo)準(zhǔn)被定義一次且跨多個目標(biāo)而應(yīng)用。該上下文中的“分組”或者“策略分組”與上面討論的一致性分組的不同在于策略分組的目標(biāo)可以包括不屬于同一復(fù)合目標(biāo)的目標(biāo)。
可以根據(jù)一個或多個分組準(zhǔn)則將目標(biāo)分組成策略分組。示例分組準(zhǔn)則可以包括但不局限于目標(biāo)位置、業(yè)務(wù)線、生命周期狀態(tài)和/或一個或多個其他目標(biāo)特性。作為示例,屬于在第一地理位置處的數(shù)據(jù)中心的目標(biāo)可以單獨(dú)地分組并且與和屬于在不同地理位置的數(shù)據(jù)中心的目標(biāo)不同的規(guī)則相關(guān)聯(lián)。這種分組允許在按照位置的基礎(chǔ)上維護(hù)不同的標(biāo)準(zhǔn)。作為另一個示例,屬于第一業(yè)務(wù)線(例如,財(cái)務(wù))的目標(biāo)可以分組并且與和屬于第二業(yè)務(wù)線(例如,銷售)的目標(biāo)不同的規(guī)則相關(guān)聯(lián)。作為另一個示例,具有第一生命周期狀態(tài)(例如,生產(chǎn)目標(biāo))的目標(biāo)可以單獨(dú)地分組,并且與和具有第二生命周期狀態(tài)(例如,測試目標(biāo))的目標(biāo)不同的規(guī)則相關(guān)聯(lián)。
在一個實(shí)施例中,多個規(guī)則可以與特定的分組或者目標(biāo)相關(guān)聯(lián)。當(dāng)分組與兩個或更多個漂移規(guī)則相關(guān)聯(lián)時,每個漂移規(guī)則可以具有不同的配置模板和/或不同的源。類似地,當(dāng)分組與兩個或更多個一致性規(guī)則相關(guān)聯(lián)時,每個一致性規(guī)則可以具有不同的配置模板。特定的分組或者目標(biāo)也可以與漂移規(guī)則和一致性規(guī)則二者都相關(guān)聯(lián)。通過允許映射多個規(guī)則,可以根據(jù)多個策略和標(biāo)準(zhǔn)來管理分組。
在一個實(shí)施例中,目標(biāo)可以與多個策略分組相關(guān)聯(lián)。例如,目標(biāo)可以屬于基于地理位置而分組的第一策略分組以及基于業(yè)務(wù)線或者某個其他分組準(zhǔn)則而分組的第二策略分組。通過允許目標(biāo)映射到多個分組,可以根據(jù)多個分組策略/標(biāo)準(zhǔn)來管理目標(biāo)。
與多個規(guī)則相關(guān)聯(lián)的目標(biāo)(或者由于屬于多個策略分組或者由于屬于與多個規(guī)則相關(guān)聯(lián)的分組)可以相對于一個相關(guān)聯(lián)的標(biāo)準(zhǔn)而漂移或者變得不一致,而相對于另一個相關(guān)聯(lián)的標(biāo)準(zhǔn)沒有漂移或者沒有變得不一致。換言之,應(yīng)用于目標(biāo)的第一規(guī)則的評估可以產(chǎn)生100%的順應(yīng)比例同時第二規(guī)則的評估可以產(chǎn)生小于100%的順應(yīng)比例。在其他實(shí)例中,目標(biāo)可以與多個規(guī)則100%順應(yīng)或者與所有相關(guān)聯(lián)的規(guī)則都不順應(yīng)。
根據(jù)目標(biāo)類型的分組管理
在一個實(shí)施例中,策略分組維護(hù)與不同成員類型相關(guān)聯(lián)的規(guī)則集合。例如,特定的策略分組可以包括與第一目標(biāo)類型(例如,數(shù)據(jù)庫)相關(guān)聯(lián)的第一漂移規(guī)則,與第二目標(biāo)類型(例如,中間件)相關(guān)聯(lián)的第二漂移規(guī)則等等。規(guī)則評估邏輯126然后基于目標(biāo)類型選擇哪個規(guī)則或者哪個規(guī)則集合要應(yīng)用于分組內(nèi)的目標(biāo)。繼續(xù)先前的示例,規(guī)則評估邏輯126將把第一漂移規(guī)則應(yīng)用于第一目標(biāo)類型的目標(biāo)并且將第二漂移規(guī)則應(yīng)用于第二目標(biāo)類型的目標(biāo)。
當(dāng)新的目標(biāo)被添加到分組或者以另外的方式變成分組的部分時,與分組相關(guān)聯(lián)的規(guī)則自動地與新的目標(biāo)相關(guān)聯(lián)。另外,規(guī)則評估邏輯126自動地相對于與分組相關(guān)聯(lián)的漂移/一致性規(guī)則對新的目標(biāo)進(jìn)行評估。如果新的目標(biāo)不一致或者從推薦的黃金標(biāo)準(zhǔn)漂移,那么規(guī)則評估邏輯126可以生成通知并且將其發(fā)送給管理員。當(dāng)從分組中移除目標(biāo)時,也對該目標(biāo)移除針對對應(yīng)漂移規(guī)則/一致性規(guī)則的關(guān)聯(lián)和評估結(jié)果。
取決于特定的實(shí)現(xiàn)方式,目標(biāo)可以動態(tài)地或者手動地添加到分組。動態(tài)添加可以基于目標(biāo)的配置簡檔自動地執(zhí)行。作為示例,新的目標(biāo)可以添加到在特定地理位置處的用于特定業(yè)務(wù)線的數(shù)據(jù)中心。規(guī)則管理邏輯124可以分析新的目標(biāo)的配置簡檔中的這種性質(zhì),以確定新的目標(biāo)應(yīng)當(dāng)與哪些分組關(guān)聯(lián)。繼續(xù)先前的示例,規(guī)則管理邏輯124可以將新的目標(biāo)分配給共享相同地理位置的目標(biāo)的第一分組以及共享相同業(yè)務(wù)線的目標(biāo)的第二分組。規(guī)則評估邏輯126然后可以將用于這些分組的相關(guān)聯(lián)的規(guī)則應(yīng)用到新的目標(biāo)。
連續(xù)改變驅(qū)動的監(jiān)控
配置管理服務(wù)120可以針對目標(biāo)112a至112n提供連續(xù)的漂移監(jiān)控。當(dāng)為目標(biāo)或者漂移規(guī)則源修改配置屬性時,如果在規(guī)則的配置模板中指定了修改后的配置屬性中所指定的任何配置屬性,那么規(guī)則管理邏輯124觸發(fā)相關(guān)聯(lián)規(guī)則的規(guī)則重新評估。如果比較的結(jié)果與先前的規(guī)則評估不同,那么重新計(jì)算順應(yīng)分?jǐn)?shù),并且發(fā)送帶有差異報(bào)告的通知。差異報(bào)告可以識別已經(jīng)漂移的配置屬性以及目標(biāo)和/或源中的該屬性的先前值。
附加地或者替代地,配置管理服務(wù)120可以針對目標(biāo)112a至112n提供連續(xù)一致性監(jiān)控。當(dāng)成員目標(biāo)的與按照復(fù)合模板內(nèi)的任何子模板的配置屬性匹配的配置屬性被修改時,成員目標(biāo)與復(fù)合目標(biāo)內(nèi)的對應(yīng)參考目標(biāo)進(jìn)行比較,并且如果配置差異的數(shù)量改變,則修改順應(yīng)分?jǐn)?shù)。如果順應(yīng)分?jǐn)?shù)<100%,那么發(fā)送通知給管理員或者其他用戶。如果順應(yīng)分?jǐn)?shù)是100%,并且先前它<100%,那么可以發(fā)送通知以確認(rèn)先前報(bào)告的不一致性已經(jīng)被修復(fù)/解決。當(dāng)新的成員目標(biāo)添加到復(fù)合目標(biāo)/從復(fù)合目標(biāo)中移除時,那么按照一致性規(guī)則的復(fù)合模板內(nèi)的成員模板以及規(guī)則/復(fù)合目標(biāo)順應(yīng)分?jǐn)?shù)將成員的配置屬性與對應(yīng)的參考目標(biāo)進(jìn)行比較,并且對于受影響的目標(biāo)重新計(jì)算和重新生成差異結(jié)果。
在一個實(shí)施例中,使用規(guī)則-目標(biāo)關(guān)聯(lián)確定響應(yīng)于檢測到改變將規(guī)則應(yīng)用于哪些目標(biāo)。下面的場景可以觸發(fā)規(guī)則到與相應(yīng)規(guī)則相關(guān)聯(lián)的一個或多個目標(biāo)的應(yīng)用:
●當(dāng)相應(yīng)規(guī)則所依賴的底層配置模板被修改時,針對相關(guān)聯(lián)的目標(biāo)重新評估該相應(yīng)規(guī)則;
●當(dāng)修改相應(yīng)漂移規(guī)則的源目標(biāo)時,針對相關(guān)聯(lián)的目標(biāo)重新評估該相應(yīng)漂移規(guī)則;
●當(dāng)相應(yīng)漂移規(guī)則所依賴的源目標(biāo)的配置數(shù)據(jù)被修改時,跨相關(guān)聯(lián)的目標(biāo)重新評估該相應(yīng)規(guī)則;
●當(dāng)改變目的地目標(biāo)的配置數(shù)據(jù)時,針對該目的地目標(biāo)重新評估與目的地目標(biāo)相關(guān)聯(lián)的并且其模板取決于被修改了的配置數(shù)據(jù)的(一個或多個)相應(yīng)漂移規(guī)則/一致性規(guī)則;
●當(dāng)成員目標(biāo)添加到關(guān)聯(lián)到相應(yīng)一致性規(guī)則的復(fù)合目標(biāo)時,那么針對該相關(guān)聯(lián)的復(fù)合(根)目標(biāo)重新評估一致性規(guī)則;和/或
●當(dāng)成員目標(biāo)對于關(guān)聯(lián)到相應(yīng)一致性規(guī)則的復(fù)合目標(biāo)被移除時,那么針對該相關(guān)聯(lián)的復(fù)合目標(biāo)重新評估相應(yīng)一致性規(guī)則。
圖4是描繪用于在包括多個目標(biāo)的系統(tǒng)中進(jìn)行漂移和一致性的連續(xù)監(jiān)控的示例過程的框圖。在方框402處,檢測到配置屬性中的改變。該改變可以針對目標(biāo)112a至112n中的一個或者針對黃金源信息文件。規(guī)則管理邏輯124可以監(jiān)控由收集邏輯122收集的數(shù)據(jù)以及與規(guī)則集合相關(guān)聯(lián)的黃金源信息,以便檢測改變。
響應(yīng)于檢測到改變,在方框404處,規(guī)則管理邏輯124基于該改變識別并且讀取待評估的一個或多個規(guī)則的集合。在該步驟識別的規(guī)則的集合包括與屬性已經(jīng)改變的目標(biāo)或者源相關(guān)聯(lián)并且在配置模板中包括已改變的屬性的規(guī)則。例如,如果在目標(biāo)上改變了初始化參數(shù),那么規(guī)則管理邏輯124可以搜索映射到目標(biāo)(或者目標(biāo)所屬的分組)并且包括初始化參數(shù)作為配置屬性的所有漂移規(guī)則和/或一致性規(guī)則。如果已改變的屬性不包括在與目標(biāo)相關(guān)聯(lián)的任何規(guī)則中,那么該過程可以結(jié)束而不執(zhí)行下面的步驟。
在方框406處,規(guī)則評估邏輯126評估一個或多個規(guī)則的集合以確定是否已經(jīng)由屬性改變而導(dǎo)致任何漂移或者不一致性。如上所述,規(guī)則評估邏輯126可以確定順應(yīng)百分比以及哪些屬性(如果存在的話)已經(jīng)漂移或者變得不一致。
在方框408處,規(guī)則評估邏輯126輸出基于方框406處的規(guī)則評估而生成的評估結(jié)果的一個或多個集合。如先前所指示的,輸出評估結(jié)果的集合可以包括發(fā)送通知給管理員、將結(jié)果集合存儲在儲存庫130中等等。
規(guī)則建模和定制
在一個實(shí)施例中,規(guī)則管理邏輯124允許用戶創(chuàng)建、編輯和/或以其他方式定制漂移規(guī)則。例如,用戶可以定義并且修改漂移規(guī)則的配置屬性集合、源以及成員-目標(biāo)至源-成員映射。類似地,用戶可以定義并且修改一致性規(guī)則的配置屬性集合以及(一個或多個)參考目標(biāo)。通過允許用戶創(chuàng)建并且修改漂移規(guī)則,配置管理服務(wù)120提供靈活并且可編輯的平臺,通過該平臺,用戶可以針對目標(biāo)112a至112n管理漂移和不一致性。平臺還允許用戶經(jīng)由規(guī)則高效地定義和定制標(biāo)準(zhǔn)以及針對這些標(biāo)準(zhǔn)對目標(biāo)112a至112n進(jìn)行監(jiān)控。
圖5是描繪用于生成漂移規(guī)則的示例過程的流程圖。在方框502處,規(guī)則管理邏輯124從用戶接收新規(guī)則的參數(shù)集合。如果新規(guī)則是漂移規(guī)則,那么參數(shù)可以包括配置模板、源和/或(用于復(fù)合目標(biāo)的)成員目標(biāo)與源成員之間的映射數(shù)據(jù)。對于一致性規(guī)則,在該步驟處接收的參數(shù)可以包括配置模板和參考目標(biāo)。用戶可以指定他們想要的規(guī)則的類型(漂移/一致性)作為到規(guī)則管理服務(wù)120的創(chuàng)建新規(guī)則的請求的一部分。
在方框504處,規(guī)則管理邏輯124從用戶接收用于新規(guī)則的關(guān)聯(lián)數(shù)據(jù)。關(guān)聯(lián)數(shù)據(jù)指示規(guī)則被映射到并且應(yīng)當(dāng)應(yīng)用于哪個目標(biāo)或者哪個目標(biāo)的分組。規(guī)則可以被映射到單個目標(biāo)、目標(biāo)的分組或者目標(biāo)的多個分組。
在方框506處,規(guī)則管理邏輯124將新規(guī)則(包括接收到的參數(shù)值)以及關(guān)聯(lián)數(shù)據(jù)存儲在儲存庫130中。規(guī)則評估邏輯126然后可以將規(guī)則應(yīng)用于相關(guān)聯(lián)的(一個或多個)目標(biāo)或者分組,以確定相關(guān)聯(lián)的(一個或多個)目標(biāo)是否從黃金標(biāo)準(zhǔn)漂移或者是否不一致。
在方框506處已經(jīng)存儲規(guī)則之后,用戶隨后可以編輯規(guī)則內(nèi)的參數(shù)。例如,用戶可以添加配置屬性或者從配置簡檔中移除配置屬性、改變源/參考目標(biāo)或者修改規(guī)則與其相關(guān)聯(lián)的目標(biāo)或者分組。響應(yīng)于規(guī)則修改,規(guī)則評估邏輯126可以將更新后的規(guī)則重新應(yīng)用于相關(guān)聯(lián)的目標(biāo)。
硬件概述
根據(jù)一個實(shí)施例,本文描述的技術(shù)由一個或多個專用計(jì)算設(shè)備實(shí)現(xiàn)。專用計(jì)算設(shè)備可以被硬布線以執(zhí)行這些技術(shù),或者可以包括諸如一個或多個專用集成電路(asic)或者現(xiàn)場可編程門陣列(fpga)之類的被永久編程以執(zhí)行技術(shù)的數(shù)字電子設(shè)備,或者可以包括被編程以按照固件、存儲器、其他存儲裝置或者組合中的程序指令執(zhí)行這些技術(shù)的一個或多個通用硬件處理器。這種專用計(jì)算設(shè)備也可以將定制硬布線邏輯、asic或者fpga與定制編程組合在一起以完成這些技術(shù)。專用計(jì)算設(shè)備可以是臺式計(jì)算機(jī)系統(tǒng)、便攜式計(jì)算機(jī)系統(tǒng)、手持設(shè)備、聯(lián)網(wǎng)設(shè)備或者合并硬布線和/或程序邏輯以實(shí)現(xiàn)這些技術(shù)的任何其他設(shè)備。
例如,圖6是示出本發(fā)明的實(shí)施例可以在其上實(shí)現(xiàn)的計(jì)算機(jī)系統(tǒng)600的框圖。計(jì)算機(jī)系統(tǒng)600包括總線602或者用于傳遞信息的其他通信機(jī)制,以及與總線602耦合用于處理信息的硬件處理器604。硬件處理器604可以是例如通用微處理器。
計(jì)算機(jī)系統(tǒng)600也包括耦合到總線602以用于存儲信息以及將由處理器604執(zhí)行的指令的主存儲器606,諸如隨機(jī)存取存儲器(ram)或者其他動態(tài)存儲設(shè)備。主存儲器606也可以用于在將由處理器604執(zhí)行的指令的執(zhí)行期間存儲臨時變量或者其他中間信息。當(dāng)存儲在處理器604可訪問的非暫時性存儲介質(zhì)中時,這些指令使得計(jì)算機(jī)系統(tǒng)600成為被定制以執(zhí)行在指令中指定的操作的專用機(jī)器。
計(jì)算機(jī)系統(tǒng)600還包括耦合到總線602用于為處理器604存儲靜態(tài)信息和指令的只讀存儲器(rom)608或者其他靜態(tài)存儲設(shè)備。提供諸如磁盤、光盤或者固態(tài)驅(qū)動器之類的存儲設(shè)備610并且將其耦合到總線602以用于存儲信息和指令。
計(jì)算機(jī)系統(tǒng)600可以經(jīng)由總線602耦合到諸如液晶顯示器(lcd)或者發(fā)光二極管(led)顯示器之類的顯示器612以用于將信息顯示給計(jì)算機(jī)用戶。包括字母數(shù)字和其他鍵的輸入設(shè)備614耦合到總線602,用于將信息和命令選擇傳遞至處理器604。另一種類型的用戶輸入設(shè)備是光標(biāo)控制616,諸如鼠標(biāo)、軌跡球或者光標(biāo)方向鍵,用于將方向信息和命令選擇傳遞至處理器604,以及用于控制顯示器612上的光標(biāo)移動。該輸入設(shè)備典型地具有在兩個軸(第一軸(例如x)和第二軸(例如y))上的兩個自由度,這允許設(shè)備指定平面中的位置。
計(jì)算機(jī)系統(tǒng)600可以使用定制的硬布線邏輯、一個或多個asic或者fpga、固件和/或程序邏輯實(shí)現(xiàn)本文描述的技術(shù),這些定制的硬布線邏輯、一個或多個asic或者fpga、固件和/或程序邏輯與計(jì)算機(jī)系統(tǒng)組合,使得計(jì)算機(jī)系統(tǒng)600成為專用機(jī)器或者將計(jì)算機(jī)系統(tǒng)600編程為專用機(jī)器。根據(jù)一個實(shí)施例,本文的技術(shù)由計(jì)算機(jī)系統(tǒng)600響應(yīng)于處理器604執(zhí)行包含在主存儲器606中的一個或多個指令的一個或多個序列而執(zhí)行。這種指令可以從諸如存儲設(shè)備610之類的另一個存儲介質(zhì)讀入到主存儲器606中。包含在主存儲器606中的指令序列的執(zhí)行使得處理器604執(zhí)行本文描述的處理步驟。在替代的實(shí)施例中,可以使用硬布線電路系統(tǒng)來代替軟件指令或者與軟件指令組合。
如本文所使用的術(shù)語“存儲介質(zhì)”指存儲數(shù)據(jù)和/或指令的任何非暫時性介質(zhì),這些數(shù)據(jù)和/或指令使得機(jī)器以特定的方式操作。這種存儲介質(zhì)可以包括非易失性介質(zhì)和/或易失性介質(zhì)。非易失性介質(zhì)包括例如光盤或者磁盤,諸如存儲設(shè)備610。易失性介質(zhì)包括動態(tài)存儲器,諸如主存儲器606。存儲介質(zhì)的常見形式包括例如軟盤、柔性盤、硬盤、固態(tài)驅(qū)動器、磁帶或者任何其他磁性數(shù)據(jù)存儲介質(zhì)、cd-rom、任何其他光學(xué)數(shù)據(jù)存儲介質(zhì)、具有孔圖案的任何物理介質(zhì)、ram、prom以及eprom、flash-eprom、nvram、任何其他存儲芯片或者盒帶。
存儲介質(zhì)與傳輸介質(zhì)不同但是可以連同傳輸介質(zhì)一起使用。傳輸介質(zhì)參與在存儲介質(zhì)之間傳送信息。例如,傳輸介質(zhì)包括同軸電纜、銅線和光纖,包括包含總線602的線。傳輸介質(zhì)也可以采取聲波或者光波的形式,諸如在無線電波和紅外數(shù)據(jù)通信期間生成的那些。
將一個或多個指令的一個或多個序列運(yùn)載到處理器604用于執(zhí)行時可以涉及各種形式的介質(zhì)。例如,指令可以最初運(yùn)載在遠(yuǎn)程計(jì)算機(jī)的磁盤或者固態(tài)驅(qū)動器上。遠(yuǎn)程計(jì)算機(jī)可以將指令加載到它的動態(tài)存儲器中并且使用調(diào)制解調(diào)器經(jīng)由電話線路發(fā)送指令。計(jì)算機(jī)系統(tǒng)600本地的調(diào)制解調(diào)器可以接收電話線路上的數(shù)據(jù)并且使用紅外傳輸器將數(shù)據(jù)轉(zhuǎn)換成紅外信號。紅外檢測器可以接收在紅外信號中運(yùn)載的數(shù)據(jù)并且適當(dāng)?shù)碾娐废到y(tǒng)可以將數(shù)據(jù)放置在總線602上??偩€602將數(shù)據(jù)運(yùn)載到主存儲器606,處理器604從主存儲器606中取回指令并且執(zhí)行指令。由主存儲器606接收的指令可以在由處理器604執(zhí)行之前或者之后可選地存儲在存儲設(shè)備610上。
計(jì)算機(jī)系統(tǒng)600也包括耦合到總線602的通信接口618。通信接口618提供到網(wǎng)絡(luò)鏈路620的雙向數(shù)據(jù)通信耦合,網(wǎng)絡(luò)鏈路620連接到本地網(wǎng)絡(luò)622。例如,通信接口618可以是綜合服務(wù)數(shù)字網(wǎng)絡(luò)(isdn)卡、纜線調(diào)制解調(diào)器、衛(wèi)星調(diào)制解調(diào)器或者將數(shù)據(jù)通信連接提供到對應(yīng)類型的電話線路的調(diào)制解調(diào)器。作為另一個示例,通信接口618可以是局域網(wǎng)(lan)卡,以提供到兼容的lan的數(shù)據(jù)通信連接。也可以實(shí)現(xiàn)無線鏈路。在任何這種實(shí)現(xiàn)方案中,通信接口618發(fā)送和接收運(yùn)載表示各種類型的信息的數(shù)字?jǐn)?shù)據(jù)流的電氣信號、電磁信號或者光學(xué)信號。
網(wǎng)絡(luò)鏈路620典型地通過一個或多個網(wǎng)絡(luò)將數(shù)據(jù)通信提供給其他數(shù)據(jù)設(shè)備。例如,網(wǎng)絡(luò)鏈路620可以通過本地網(wǎng)絡(luò)622提供到主機(jī)計(jì)算機(jī)624或者到由互聯(lián)網(wǎng)服務(wù)提供商(isp)626運(yùn)營的數(shù)據(jù)裝備的連接。isp626繼而通過現(xiàn)在通常稱作“互聯(lián)網(wǎng)”628的全球范圍分組數(shù)據(jù)通信網(wǎng)絡(luò)提供數(shù)據(jù)通信服務(wù)。本地網(wǎng)絡(luò)622和互聯(lián)網(wǎng)628二者都使用運(yùn)載數(shù)字?jǐn)?shù)據(jù)流的電氣信號、電磁信號或者光學(xué)信號。通過各種網(wǎng)絡(luò)的信號以及在網(wǎng)絡(luò)鏈路620上并且通過通信接口618的信號是傳輸介質(zhì)的示例形式,這些信號將數(shù)字?jǐn)?shù)據(jù)運(yùn)載到計(jì)算機(jī)系統(tǒng)600和運(yùn)載來自計(jì)算機(jī)系統(tǒng)600的數(shù)字?jǐn)?shù)據(jù)。
計(jì)算機(jī)系統(tǒng)600可以通過(一個或多個)網(wǎng)絡(luò)、網(wǎng)絡(luò)鏈路620和通信接口618發(fā)送消息和接收數(shù)據(jù),包括程序代碼。在互聯(lián)網(wǎng)示例中,服務(wù)器630可以通過互聯(lián)網(wǎng)628、isp626、本地網(wǎng)絡(luò)622和通信接口618傳輸用于應(yīng)用程序的請求代碼。
接收的代碼可以在它被接收時由處理器604執(zhí)行,和/或存儲在存儲設(shè)備610或者其他非易失性存儲裝置中用于隨后執(zhí)行。
云計(jì)算概述
本文描述的技術(shù)使用一個或多個處理方案實(shí)現(xiàn),其示例包括分布式系統(tǒng)、集群計(jì)算系統(tǒng)和云計(jì)算系統(tǒng)。在實(shí)施例中,配置管理服務(wù)120是云計(jì)算系統(tǒng)的一部分。云計(jì)算系統(tǒng)實(shí)現(xiàn)云存儲、云處理、云通信以及任何其他種類的云計(jì)算服務(wù)中的一個或多個。而且,云計(jì)算系統(tǒng)可以在使用時支付所使用的(pay-for-what-you-use-as-you-use-it)模型下操作、在固定訂閱模型下操作,等等。在該實(shí)施例中,歸于系統(tǒng)100或者本描述內(nèi)的其他實(shí)體的功能性的任何部分(或者全部)可經(jīng)由在云計(jì)算系統(tǒng)處暴露的接口控制。
擴(kuò)展和替代方案
在前述說明書中,已經(jīng)參考可以因?qū)崿F(xiàn)方案而異的許多具體細(xì)節(jié)描述了本發(fā)明的實(shí)施例。說明書和附圖因此應(yīng)在示意性而非限制性的意義上看待。本發(fā)明的范圍的僅有的并且排他的指示以及申請人打算作為本發(fā)明的范圍的是以從本申請中發(fā)布的權(quán)利要求發(fā)布的具體形式(包括任何隨后的校正)的這些權(quán)利要求的集合的字面范圍和等同范圍。