一種基于系統的業務健康度計算方法及系統的制作方法
【專利摘要】本發明涉及一種基于系統的業務健康度計算方法及系統,其方法包括,將系統一個業務的健康度的對應的一個或多個健康因子分別建立一個獨立的計算公式;將一個或多個獨立的計算公式的組合配置到業務健康因子的屬性上,并對健康度的指標進行配置;通過業務健康因子的屬性對一個或多個獨立的計算公式的組合進行拆解為語法樹;在語法樹中調用一個或多個獨立的計算公式對應的實現類,結合計算業務健康因子的原始數據遞歸計算出業務健康度對應的業務健康因子的數值;將業務健康因子的數值結合業務健康度的指標計算出系統的業務健康度。本發明是將其計算健康因子靈活的部分獨立出來,減少對系統本身代碼修改時造成的系統穩定性問題。
【專利說明】
一種基于系統的業務健康度計算方法及系統
技術領域
[0001]本發明涉及一種健康度的計算方法及系統,具體的涉及一種基于系統的業務健康度計算方法及系統。
【背景技術】
[0002]業務健康度管理基于業務管理模型,從業務、應用和物理資源等維度進行加權計算,以此實現對業務運營健康狀態的綜合評價。健康因子是評價對象健康度的因素,具備父與子的層級關系;健康因子可以分為業務健康因子、應用健康因子、物理資源健康因子等;健康因子是由業務可用性、業務水平、業務性能、應用性能、物理資源性能等指標數據計算得到。健康度算法的計算對象為健康因子、指標組、具體指標等;通用算法包括加權算法、取最大值法、取最小值法、取平均值法等;健康度算法配置就是將上述通用算法配置到具體計算對象之間。而現有技術的局限性主要表現在以下方面:
[0003]1.健康因子算法靈活性支持不足
[0004]健康因子分兩部分。最末一級稱為指標(相當于KPI),每個指標的評分規則都是不同的,而且電信領域會根據之前健康度監控結果,經常調整評分規則的算法,現有實現方式都是硬編碼,一旦遇到評分規則變化就需要調整代碼,進行從新測試部署等工作;非葉子節點的健康因子稱之為健康目錄,每級健康目錄得分來自于下級目錄分值,但計算規則也不相同,常用的規則例如按權重、取最大值、取最小值、取平均值等,隨不同指標的評分算法變化頻率較高,但不同運營商之間也有不同。
[0005]2.健康因子數據來源多樣,個性化定制較多
[0006]健康因子末級指標的計算數據來源范圍非常廣泛,可來自于不同域、系統、業務等,這些數據來源于不同廠商不同系統,沒有一致的標準,現有方式也多采用硬編碼,將接口程序實現在健康度系統中,導致靈活性降低。
[0007]3.當健康度模型對應的業務系統較多時,重復配置工作量大
[0008]電信領域的業務系統少則十幾個,多則幾百個,基于現有的健康度模型,要對所有這些系統進行配置之后實現對它們的健康監控,配置工作量巨大,每個都需要單獨。
【發明內容】
[0009]本發明所要解決的技術問題是提供一種基于系統的業務健康度計算方法及系統,可以提升系統的靈活性及可擴展性,簡化配置過程,配置工作效率提高。
[0010]本發明解決上述技術問題的技術方案如下:一種基于系統的業務健康度計算方法,包括以下步驟,
[0011]SI,將系統一個業務的健康度對應的一個或多個健康因子按照預設的規則算法分別建立一個獨立的計算公式;
[0012]S2,將一個或多個獨立的計算公式的組合配置業務健康度的業務健康因子的屬性上,并對業務健康度的指標進行配置;
[0013]S3,通過業務健康因子的屬性使用語法解析器對一個或多個獨立的計算公式的組合進行分析,將一個或多個獨立的計算公式的組合拆解為語法樹;
[0014]S4,在語法樹中調用一個或多個獨立的計算公式對應的實現類,結合計算業務健康因子的原始數據遞歸計算出業務健康度對應的業務健康因子的數值;
[0015]S5,將業務健康因子的數值結合業務健康度的指標按照健康度的通用算法計算出系統的業務健康度。
[0016]本發明的有益效果是:本發明一種基于系統的業務健康度計算方法將計算健康因子的規則算法獨立為計算公式,每一個規則都對應一個計算公式,使用可配置的方式將一個或多個計算公式的組合配置到健康因子的屬性上,在實際計算健康因子分值的時候,使用語法解析器(例如使用ant I r工具),對一個或多個計算公式的組合進行分析,將一個或多個計算公式的組合拆解為語法樹,之后調用一個或多個計算公式具體對應的實現類,計算出健康因子結果。本發明是將其計算健康因子靈活的部分獨立出來,當規則變化時,通過修改公式或增加算法公式的方式,達到通過配置新公式就能適應新規則的業務變化,同時減少對系統本身代碼修改時造成的系統穩定性問題。
[0017]在上述技術方案的基礎上,本發明還可以做如下改進。
[0018]進一步,S4中計算業務健康因子的原始數據通過通用采集接口采集。
[0019]進一步,所述通用采集接口的采集方式為支持sql、socket、webservice、shell和自定義類的方式。
[0020]采用上述進一步方案的有益效果是:本發明一種基于系統的業務健康度的計算方法能夠提供一些通用的采集接口,完成對不同業務系統數據采集的功能,通過配置實現對指標依賴的原始數據的采集工作,提高靈活性。
[0021]進一步,在S2中對業務健康度的指標進行配置,包括對主機、數據庫、中間件、關鍵進程和權重比例的配置。
[0022]進一步,在一個系統中,對多個同類型的業務健康度進行計算時,將多個同類型的業務健康度指標建立成一個指標模型,再根據具體業務單獨配置指標模型關聯的主機配置、數據庫配置、中間件配置、關鍵進程配置和權重比例。
[0023]進一步,所述指標模型是由主機、數據庫、中間件、關鍵進程和權重比例組成的配置模板。
[0024]采用上述進一步方案的有益效果是:本發明一種基于系統的業務健康度計算方法屏棄了每個業務健康度都進行模板配置的思路,將某類業務的健康度配置為一個模型,之后針對具體業務再單獨配置這個模型關聯的主機等資源信息,從而極大的提高了配置和修改模板的效率,避免了模型配置過程中的一些重復工作,將通用配置抽取出來,一次配置就能完成多個業務模型的建立,從而達到配置工作效率的提高。
[0025]進一步,在S5中所述通用算法包括加權算法、取最大值法、取最小值法和取平均值法。
[0026]基于上述一種基于系統的業務健康度計算方法,本發明還提供一種基于系統的業務健康度計算系統。
[0027]—種基于系統的業務健康度計算系統,包括計算公式建立模塊、配置模塊、分析模塊、健康因子計算模塊和健康度計算模塊,
[0028]所述計算公式建立模塊,其用于將系統一個業務的健康度對應的一個或多個健康因子按照預設的規則算法分別建立一個獨立的計算公式;
[0029]所述配置模塊,其用于將一個或多個獨立的計算公式的組合配置到業務健康度的業務健康因子的屬性上,并對業務健康度的指標進行配置;
[0030]所述分析模塊,其用于通過業務健康因子的屬性使用語法解析器對一個或多個獨立的計算公式的組合進行分析,將一個或多個獨立的計算公式的組合拆解為語法樹;
[0031]所述健康因子計算模塊,其用于在語法樹中調用一個或多個獨立的計算公式對應的實現類,結合計算業務健康因子的原始數據遞歸計算出業務健康度對應的業務健康因子的數值;
[0032]所述健康度計算模塊,其用于將業務健康因子的數值結合業務健康度的指標按照健康度的通用算法計算出系統的業務健康度。
[0033]本發明的有益效果是:本發明一種基于系統的業務健康度計算系統將健康因子的計算規則基于公式實現,當規則變化時,通過修改公式或增加算法公式的方式,達到通過配置新公式就能適應新規則的業務變化,同時減少對系統本身代碼修改時造成的系統穩定性問題。
[0034]在上述技術方案的基礎上,本發明還可以做如下改進。
[0035]進一步,在健康因子計算模塊中,計算業務健康因子的原始數據通過通用采集接口采集。
[0036]進一步,所述通用采集接口的采集方式為支持sql、socket、webservice、shell和自定義類的方式。
[0037]采用上述進一步方案的有益效果是:本發明一種基于系統的業務健康度的計算系統能夠提供一些通用的采集接口,完成對不同業務系統數據采集的功能,通過配置實現對指標依賴的原始數據的采集工作,提高靈活性。
【附圖說明】
[0038]圖1為本發明一種基于系統的業務健康度計算方法的流程圖;
[0039]圖2為本發明一種基于系統的業務健康度計算系統的結構框圖。
【具體實施方式】
[0040]以下結合附圖對本發明的原理和特征進行描述,所舉實例只用于解釋本發明,并非用于限定本發明的范圍。
[0041]如圖1所示,一種基于系統的業務健康度計算方法,包括以下步驟,
[0042]SI,將系統一個業務的健康度對應的一個或多個健康因子按照預設的規則算法分別建立一個獨立的計算公式;
[0043]S2,將一個或多個獨立的計算公式的組合配置到業務健康度的業務健康因子的屬性上,并對業務健康度的指標進行配置;
[0044]S3,通過業務健康因子的屬性使用語法解析器對一個或多個獨立的計算公式的組合進行分析,將一個或多個獨立的計算公式的組合拆解為語法樹;
[0045]S4,在語法樹中調用一個或多個獨立的計算公式對應的實現類,結合計算業務健康因子的原始數據遞歸計算出業務健康度對應的業務健康因子的數值;
[0046]S5,將業務健康因子的數值結合業務健康度的指標按照健康度的通用算法計算出系統的業務健康度。
[0047]本發明一種基于系統的業務健康度計算方法的設計思路為:既然每個健康因子的計算規則都不盡相同,而且規則的變化頻繁,那么就將健康因子的規則算法獨立為計算公式,每一個規則都是一個計算公式,使用可配置的方式將一個或多個計算公式的組合配置到健康因子的屬性上,在實際計算健康因子分值的時候,使用語法解析器(例如使用antlr),對公式進行分析,將一個或多個計算公式的組合拆解為語法樹,之后調用一個或多個計算公式具體對應的實現類,計算出健康因子結果。當開始計算某個業務健康度的時候,會將某個業務健康度的全部健康因子組裝為健康因子樹,從樹的葉子節點(即指標)開始,獲取每個指標的計算公式,之后將計算公式傳遞給antlr進行語法分析,形成語法樹,遞歸計算出每個子公式的數值并最終返回指標公式值;之后依次計算所有健康因子分值,形成整個業務健康度計算結果。
[0048]在S4中計算業務健康因子的原始數據是通過通用采集接口采集來的。所述通用采集接口的采集方式為支持sql、socket、webservice、shell和自定義類的方式,完成對不同業務系統數據采集的功能。
[0049]在S2中對業務健康度的指標進行配置,包括對主機、數據庫、中間件、關鍵進程和權重比例的配置。在一個系統中,對多個同類型的業務健康度進行計算時,將多個同類型的業務健康度指標建立成一個指標模型,再根據具體業務單獨配置指標模型關聯的主機配置、數據庫配置、中間件配置、關鍵進程配置和權重比例。所述指標模型是由主機、數據庫、中間件、關鍵進程和權重比例組成的配置模板。
[0050]應用域的不同,一些業務相似的健康度的前兩級或前三級模型目錄結構會完全相同,之后末級指標模型也會完全相同,不同的地方通常是這個模型對主機、數據庫、中間件、關鍵進程的管理個數和數量是不同的,另外不同業務的健康因子的權重比例也會有不同,因此將某類業務的健康度指標配置為一個指標模型,之后針對具體業務再單獨配置這個模型關聯的主機等資源信息,從而極大的提高了配置和修改模板的效率。在維護健康因子目錄信息時,需要選擇指標目錄的算法。建立好指標模型后,可進行業務健康度指標的配置,例如,在權重配置時,不想使用某一指標,設置權重時將其權重值設置為O即可。
[0051 ] 在S5中所述通用算法包括加權算法、取最大值法、取最小值法和取平均值法。
[0052]基于上述一種基于系統的業務健康度的計算方法,本發明還提供一種基于系統的業務健康度的計算系統。
[0053]如圖2所示,一種基于系統的業務健康度計算系統,包括計算公式建立模塊、配置模塊、分析模塊、健康因子計算模塊和健康度計算模塊,
[0054]所述計算公式建立模塊,其用于將系統一個業務的健康度對應的一個或多個健康因子按照預設的規則算法分別建立一個獨立的計算公式;
[0055]所述配置模塊,其用于將一個或多個獨立的計算公式的組合配置到業務健康度的業務健康因子的屬性上,并對業務健康度的指標進行配置;
[0056]所述分析模塊,其用于通過業務健康因子的屬性使用語法解析器對一個或多個獨立的計算公式的組合進行分析,將一個或多個獨立的計算公式的組合拆解為語法樹;
[0057]所述健康因子計算模塊,其用于在語法樹中調用一個或多個獨立的計算公式對應的實現類,結合計算業務健康因子的原始數據遞歸計算出業務健康度對應的業務健康因子的數值;
[0058]所述健康度計算模塊,其用于將業務健康因子的數值結合業務健康度的指標按照健康度的通用算法計算出系統的業務健康度。
[0059]在健康因子計算模塊中,計算業務健康因子的原始數據通過通用采集接口采集。所述通用采集接口的采集方式為支持sql、socket、webservice、shell和自定義類的方式。
[0060]本發明一種基于系統的業務健康度計算系統將健康因子的計算規則基于公式實現,當規則變化時,通過修改公式或增加算法公式的方式,達到通過配置新公式就能適應新規則的業務變化,同時減少對系統本身代碼修改時造成的系統穩定性問題,提高工作效率。
[0061]以上所述僅為本發明的較佳實施例,并不用以限制本發明,凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。
【主權項】
1.一種基于系統的業務健康度計算方法,其特征在于:包括以下步驟: Si,將系統一個業務的健康度對應的一個或多個健康因子按照預設的規則算法分別建立一個獨立的計算公式; S2,將一個或多個獨立的計算公式的組合配置到業務健康度的業務健康因子的屬性上,并對業務健康度的指標進行配置; S3,通過業務健康因子的屬性使用語法解析器對一個或多個獨立的計算公式的組合進行分析,將一個或多個獨立的計算公式的組合拆解為語法樹; S4,在語法樹中調用一個或多個獨立的計算公式對應的實現類,結合計算業務健康因子的原始數據遞歸計算出業務健康度對應的業務健康因子的數值; S5,將業務健康因子的數值結合業務健康度的指標按照健康度的通用算法計算出系統的業務健康度。2.根據權利要求1所述的一種基于系統的業務健康度計算方法,其特征在于:S4中計算業務健康因子的原始數據通過通用采集接口采集。3.根據權利要求2所述的一種基于系統的業務健康度計算方法,其特征在于:所述通用采集接口的采集方式為支持sql、socket、webservice、shell和自定義類的方式。4.根據權利要求1至3任一項所述的一種基于系統的業務健康度計算方法,其特征在于:在S2中對業務健康度的指標進行配置,包括對主機、數據庫、中間件、關鍵進程和權重比例的配置。5.根據權利要求4所述的一種基于系統的業務健康度的計算方法,其特征在于:在一個系統中,對多個同類型的業務健康度進行計算時,將多個同類型的業務健康度指標建立成一個指標模型,再根據具體業務單獨配置指標模型關聯的主機配置、數據庫配置、中間件配置、關鍵進程配置和權重比例。6.根據權利要求5所述的一種基于系統的業務健康度計算方法,其特征在于:所述指標模型是由主機、數據庫、中間件、關鍵進程和權重比例組成的配置模板。7.根據權利要求1至3任一項所述的一種基于系統的業務健康度計算方法,其特征在于:在S5中所述通用算法包括加權算法、取最大值法、取最小值法和取平均值法。8.—種基于系統的業務健康度計算系統,其特征在于:包括計算公式建立模塊、配置模塊、分析模塊、健康因子計算模塊和健康度計算模塊, 所述計算公式建立模塊,其用于將系統一個業務的健康度對應的一個或多個健康因子按照預設的規則算法分別建立一個獨立的計算公式; 所述配置模塊,其用于將一個或多個獨立的計算公式的組合配置到業務健康度的業務健康因子的屬性上,并對業務健康度的指標進行配置; 所述分析模塊,其用于通過業務健康因子的屬性使用語法解析器對一個或多個獨立的計算公式的組合進行分析,將一個或多個獨立的計算公式的組合拆解為語法樹; 所述健康因子計算模塊,其用于在語法樹中調用一個或多個獨立的計算公式對應的實現類,結合計算業務健康因子的原始數據遞歸計算出業務健康度對應的業務健康因子的數值; 所述健康度計算模塊,其用于將業務健康因子的數值結合業務健康度的指標按照健康度的通用算法計算出系統的業務健康度。9.根據權利要求8所述的一種基于系統的業務健康度計算系統,其特征在于:在健康因子計算模塊中,計算業務健康因子的原始數據通過通用采集接口采集。10.根據權利要求9所述的一種基于系統的業務健康度計算系統,其特征在于:所述通用采集接口的采集方式為支持sql、socket、webservice、shell和自定義類的方式。
【文檔編號】G06F19/00GK105938519SQ201610232575
【公開日】2016年9月14日
【申請日】2016年4月14日
【發明人】王健
【申請人】北京思特奇信息技術股份有限公司