[發明專利]一種基于QOS的Ice服務監控方法在審
| 申請號: | 202011192842.3 | 申請日: | 2020-10-30 |
| 公開(公告)號: | CN112463587A | 公開(公告)日: | 2021-03-09 |
| 發明(設計)人: | 葉蕾;劉瑩;毛偉帆;郭京祥;李明昊;牟穎姿 | 申請(專利權)人: | 浙江工業大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F11/30;G06F9/54 |
| 代理公司: | 杭州斯可睿專利事務所有限公司 33241 | 代理人: | 王利強 |
| 地址: | 310014 浙江省*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 qos ice 服務 監控 方法 | ||
1.一種基于QOS的Ice服務監控方法,其特征在于,所述方法包括以下步驟:
1)、監控請求發起,運行流程如下:
1.1)發起監控請求;
監控系統客戶端在初始化后處于等待狀態,等待埋點在業務代碼中的API被調用后激活,然后開始執行監控的流程,所以這個過程可以抽象為Ice服務向監控系統發起了一個監控的請求;
1.2)收集監控數據;
當監控請求已經發起,那么處于等待狀態的監控線程組開始創建負責數據收集、系統狀態監控和數據發送的線程實例,隨著創建事務Transaction的API代碼被調用,這三個線程實例開始發揮作用;
1.3)監控數據發送;
只有業務代碼執行到監控API時,監控系統才會在這個時間點上采集數據作為一條獨立的消息存入消息樹結構中;而整個業務執行時間的統計依賴于事務Transaction,在業務執行結束時會自動將Transaction的狀態設置為SUCCESS并調用complete()告知監控系統這個Transaction已經結束了;
1.4)數據的收集就是服務業務流程執行過程中不斷調用監控API主動觸發數據采集事件的流程,當Transaction結束后整個數據收集過程也隨之結束,在監控系統中,Transaction扮演了一個“容器”的角色,它將同屬于一個服務流程中所有監控API被調用產生的消息聚合在一起,與其他的Transaction有著很明顯的界限;
2)、監控數據分析功:監控數據分析從邏輯上實現了監控消息接收與分配、監控數據處理和分析結果存儲三個主要的功能,包括以下步驟:
2.1)在Netty接收端使用自定義解碼器時引入了MessageHandler類的對象,當消息樹被解碼還原后調用handle()方法將消息樹交給消費線程;消費線程可以通過findDistributor()方法直接找到正在運行的分配線程,然后將消息樹交給分配線程;
2.2)消息樹在Netty接收端解碼時生成了不同類型消息的List,此時分配線程只需要將這些List分配至不同的分析器即可,不需要對消息樹進行拆分;
2.3)監控數據的處理依賴于分析器實例,分析器從其等待隊列中取出消息,利用外部導入的報表模型將消息處理成報表存入緩存,等待一個周期結束后將緩存中的內容寫入本地文件和數據庫中;
3)、監控數據展示,監控數據展示從邏輯上實現了報表讀取、報表可視化展示、報告導出和數據輸出地址修改;
4)、Ice服務替換,從邏輯上實現了工作流獲取、服務測試調用、服務推薦模塊調用和服務替換。
2.如權利要求1所述的一種基于QOS的Ice服務監控方法,其特征在于,所述步驟3)的過程如下:
3.1)報表讀取雖然在后端將全部的報表數據放入了緩存中,但是數據展現在界面上需要經過二次讀取和二次處理,而二次讀取的數據依賴于用戶在界面上選擇的索引轉化為的讀取參數;報表讀取類ReportLoader能夠傳遞的數據包括以天為單位和以時間段為單位的兩個索引、索引文件、某類型的全部報表和某個時間段的指定類型報表;在讀取報表的過程中為了線程安全,采用了ReentrantLock可重入鎖對文件和數據庫進行限制,保證數據準確性;
3.2)報表的可視化展示使用JFreeChart工具在頁面上生成表格和多種統計圖,在用戶切換索引時后端將讀取新的數據轉化為表格和統計圖能夠解析的數據集,在頁面上重新生成表格或統計圖組件覆蓋原有的部分,完成頁面的刷新;
3.3)報告導出可生成具有指定格式的PDF報告文件,報告的標題和正文字體統一設置,報告正文以服務名作為一級標題進行區分,在計算不同指標的加權平均值后借助JFreeChart工具生成統計圖寫入文件,每個服務名一級標題下的正文結構完全相同;
3.4)數據輸出地址的主要功能是修改配置文件中的數據輸出地址,這個地址用于存儲報表文件、原始數據、系統日志和其他一些必要的臨時文件。
3.如權利要求1或2所述的一種基于QOS的Ice服務監控方法,其特征在于,所述步驟4)的過程如下:
4.1)工作流的獲取實現了從流程編排引擎獲取的原始數據到可調用服務列表的轉換,得到一個MapString,Boolean類型的HashMap與Ice服務信息表相匹配;
4.2)服務測試調用對HashMap里的服務名進行遍歷調用測試,如果某個服務調用失敗則將HashMap里對應條目的Value改為true,代表需要進行替換;該部分需要經過測試遠程服務是否可訪問和測試調用兩部分,為防止不可訪問的服務拖延程序運行時間,在測試調用的部分設置了超時計時器,測試超時將直接設置該服務為狀態異常;
4.3)服務推薦模塊獲得Value為true的Ice服務的同類服務,修改原有的工作流服務列表,將這個新的列表返回給流程編排引擎,完成服務替換。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浙江工業大學,未經浙江工業大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011192842.3/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種單管熔覆裝置
- 下一篇:一種木材加工用廢棄料制粒裝置





