本發明涉及計算機性能監控領域,尤指一種基于信息交互的客戶端性能監控裝置及方法。
背景技術:
隨著銀行等領域的應用系統在業務品種和業務量方面的不斷發展,用戶對業務系統的使用日益頻繁,這就對業務系統的用戶體驗提出了更高的要求。
目前,在性能監控領域主要以應用服務器、數據庫服務器以及網絡傳輸等方面的性能為監控對象,然而在客戶端性能監控領域依然缺少成熟的自動化工具,傳統的客戶端性能監控工具在信息抓取、收集、分析、驗證、展現等環節仍存在以下問題:信息抓取粒度較粗,不能完整反映用戶在使用時的真實體驗;性能信息的抓取往往以人工為主,自動化程度不高,不能做到在用戶操作時自動記錄性能日志;日志的收集技術比較傳統,無法很好的支持目前大范圍應用的分布式環境;日志分析往往也是通過人工分析的途徑,主要依靠測試人員以往的經驗,在自動化與命中率方面均有所欠缺;在問題驗證方面,也是以人工比對為主,在一定程度上增加了測試人員的工作量;由于傳統性能監控在數據積累方面的缺失,往往不能全面的做到圖形化的展現客戶端性能的整體情況。以上問題也是導致客戶端性能監控成本較高、效率較低的主要原因。
隨著系統對客戶端性能的要求越來越高,在人力資源有限的情況下,需要使用相關的技術工具來進一步提升客戶端性能監控的效率和質量。
技術實現要素:
為了解決現有技術中的上述問題,實現性能監控、日志收集、日志保存、模型分析、問題驗證、圖形展示的全流程自動化解決方案,彌補目前客戶端性能監控的短板,本發明目的在于提供了一種基于信息交互的客戶端性能監控裝置及方法。
為達上述目的,本發明所提供的基于信息交互的客戶端性能監控裝置,具體包含客戶端和服務端;所述客戶端包含客戶端瀏覽器監控模塊和日志推送模塊;所述服務端包含日志處理模塊、模型分析模塊和結果推送模塊;所述客戶端瀏覽器模塊用于抓取并保存客戶端瀏覽器上關于信息交互的性能日志;所述日志推送模塊與所述客戶端瀏覽器相連,用于將所述性能日志輸出;所述日志處理模塊與所述日志推送模塊相連,用于讀取和解析所述性能日志后,存儲所述性能日志;所述模型分析模塊與所述日志處理模塊相連,用于通過預定模型分析解析后的所述性能日志,獲得所述性能日志中的可疑交易信息,根據所述可疑交易信息建立分析結果表并通過所述分析結果表利用機器學習技術改進所述預定模型的規則和/或閥值;所述結果推送模塊與所述模型分析模塊相連,用于根據所述客戶端的分析結果表確定客戶端的可疑交易信息以及所述可疑交易信息所對應的測試人員,并將所述可疑交易信息發送至所述測試人員修改。
在上述基于信息交互的客戶端性能監控裝置中,優選的,所述客戶端瀏覽器監控模塊包含監控控制單元、信息記錄單元和日志保存單元;所述監控控制單元用于監聽客戶端瀏覽器的運行狀態,并根據監聽到的特定條件輸出記錄客戶端瀏覽器的性能信息的控制指令或保存客戶端瀏覽器的性能日志的控制指令;所述信息記錄單元用于根據所述監控控制單元輸出的控制指令,記錄客戶端瀏覽器的性能信息,并以場景、功能、請求的層級結構將結果存儲為性能日志;所述日志保存單元用于根據所述監控控制單元輸出的控制指令,將性能日志保存為符合統一規范的HAR文件。
在上述基于信息交互的客戶端性能監控裝置中,優選的,所述日志推送模塊包含日志傳輸單元和日志清理單元;所述日志傳輸單元用于將所述性能日志傳輸至服務端;所述日志清理單元用于在所述性能日志傳輸完畢后,刪除客戶端存儲的所述性能日志。
在上述基于信息交互的客戶端性能監控裝置中,優選的,所述日志處理模塊包含日志讀取單元、日志解析單元和日志保存單元;所述日志讀取單元用于打開并讀取性能日志;所述日志解析單元用于解析所述性能日志,獲取客戶端瀏覽器頁面的運行狀態信息,并將所述運行狀態信息以鏈表的結構,按請求發起的順序存儲至所述日志保存單元;所述日志保存單元用于將存儲的所述運行狀態信息保存至分布式數據庫。
在上述基于信息交互的客戶端性能監控裝置中,優選的,所述模型分析模塊包含模型匹配單元、結果保存單元和模型優化單元;所述模型匹配單元用于將解析后的所述性能信息與預定模型中的請求超時分析模型、重復請求分析模型、資源缺失分析模型相匹配,過濾出符合模型的可疑交易信息并記錄模型信息,通過所述模型信息和所述可疑交易信息確認所述客戶端的性能瓶頸;所述結果保存單元用于將過濾出的可疑交易信息記錄到分析結果表中;所述模型優化單元用于分析可疑交易信息的特點,利用決策樹學習方法,針對不同分析模型,根據性能日志和分析結果表抽取樣本數據并構建決策樹,通過所述決策樹修改對應分析模型的規則和/或閥值。
在上述基于信息交互的客戶端性能監控裝置中,優選的,所述結果推送模塊包含結果分配單元和結果發送單元;所述結果分配單元用于根據所述分析結果表中的可疑交易信息定位對應的測試人員;所述結果發送單元用于將所述可疑交易信息發送至對應的測試人員修改。
在上述基于信息交互的客戶端性能監控裝置中,優選的,所述服務端還包含問題驗證模塊,所述問題驗證模塊與所述結果推送模塊相連,用于將所述問題交易清單存儲至歷史數據,以及將所述歷史數據與后續獲得的問題交易清單相比對驗證,判斷所述歷史數據中交易問題是否被修改并輸出驗證結果。
在上述基于信息交互的客戶端性能監控裝置中,優選的,所述服務端還包含圖形展示模塊,所述圖形展示模塊與所述問題驗證模塊相連,用于根據預定模板于所述服務端獲得對應數據并顯示輸出。
本發明還提供一種基于信息交互的客戶端性能監控方法,所述方法包含:監控客戶端瀏覽器,抓取并保存客戶端瀏覽器上關于信息交互的性能日志;將客戶端的性能日志輸出至服務端;于所述服務端讀取和解析所述性能日志后,將解析后的所述性能信息存儲到分布式數據庫中;通過預定模型分析所述性能日志,獲得所述性能日志中的可疑交易信息,根據所述可疑交易信息建立分析結果表并通過所述分析結果表利用機器學習技術改進所述預定模型的規則和/或閥值;根據所述客戶端的分析結果表確定客戶端的可疑交易信息以及所述可疑交易信息所對應的測試人員,并將所述可疑交易信息發送至所述測試人員修改。
在上述基于信息交互的客戶端性能監控方法中,優選的,所述監控客戶端瀏覽器,抓取并保存客戶端瀏覽器上關于信息交互的性能日志包含:當客戶端瀏覽器打開時啟動監聽,并根據監聽到的特定條件輸出記錄客戶端瀏覽器的性能信息的控制指令或保存客戶端瀏覽器的性能日志的控制指令;當監聽到所述客戶端瀏覽器進入業務系統時,記錄當前頁面的性能信息;當監聽到所述客戶端瀏覽器退出業務系統時,將所述性能信息以HAR日志的形式保存。
在上述基于信息交互的客戶端性能監控方法中,優選的,所述將客戶端的性能日志輸出至服務端包含:當客戶端監控到新的性能日志時,與服務器建立FTP連接;將性能日志與客戶端地址通過FTP方式發送至服務端;當性能日志傳輸完畢后斷開與服務器的連接,刪除所述性能日志并將傳輸文件清單記錄到傳輸日志中。
在上述基于信息交互的客戶端性能監控方法中,優選的,所述于所述服務端讀取和解析所述性能日志后,將各級性能信息存儲到分布式數據庫中包含:將所述客戶端地址與所述性能日志關聯后存儲;讀取并解析所述性能日志,獲得所述性能日志中場景級信息;將所述場景級信息存儲到分布式數據庫中。
在上述基于信息交互的客戶端性能監控方法中,優選的,所述通過預定模型分析所述性能日志,獲得所述性能日志中的可疑交易信息,根據所述可疑交易信息建立分析結果表并通過所述分析結果表利用機器學習技術改進所述預定模型的規則和/或閥值包含:獲取所述場景級信息,并通過請求超時分析模型、重復請求分析模型、資源缺失分析模型分析所述場景級信息,獲得可疑交易信息;根據所述可疑交易信息建立分析結果表;通過所述分析結果表構建各模型的決策樹,通過構建后的各模型的決策樹修改所述預定模型的規則和/或閥值。
本發明實現了客戶端性能監控的全流程自動化,覆蓋了性能監控、日志收集、日志保存、模型分析、問題驗證、圖形展示的客戶端性能監控的各個環節。通過采集渲染時間、頁面加載時間等與信息交互息息相關的性能信息以及請求級的數據信息,不僅能夠獲取到更貼近用戶真實體驗的性能數據,也能夠更加精準的定位性能瓶頸,實現具體到請求級的性能分析。另外,通過結合分布式存儲與機器學習技術,能夠利用大數據技術對海量性能信息進行統計與分析,實現更精確的模型分析與更全面的圖形展示。本發明從整體上減少了人工干預的程度和精力投入,降低了客戶端性能監控成本,彌補了目前客戶端自動化性能監控方面的短板。
附圖說明
此處所說明的附圖用來提供對本發明的進一步理解,構成本申請的一部分,并不構成對本發明的限定。在附圖中:
圖1為本發明所提供的客戶端性能監控裝置結構圖;
圖2為本發明所提供的客戶端瀏覽器監控裝置內部結構圖示意圖;
圖3為本發明所提供的日志推送裝置內部結構圖示意圖;
圖4為本發明所提供的日志處理裝置內部結構圖示意圖;
圖5為本發明所提供的模型分析裝置內部結構圖示意圖;
圖6為本發明所提供的結果推送裝置內部結構圖示意圖;
圖7為本發明所提供的問題驗證裝置內部結構圖示意圖;
圖8為本發明所提供的圖形展示裝置內部結構圖示意圖;
圖9為本發明所提供的客戶端瀏覽器監控的流程;
圖10為本發明所提供的日志推送的流程;
圖11為本發明所提供的日志處理的流程;
圖12為本發明所提供的模型分析的流程;
圖13為本發明所提供的結果推送的流程;
圖14為本發明所提供的問題驗證的流程;
圖15為本發明所提供的圖形展示的流程。
具體實施方式
為使本發明實施例的目的、技術方案和優點更加清楚明白,下面結合實施例和附圖,對本發明做進一步詳細說明。在此,本發明的示意性實施例及其說明用于解釋本發明,但并不作為對本發明的限定。
請參考圖1所示,本發明所提供的基于信息交互的客戶端性能監控裝置,具體包含客戶端和服務端;所述客戶端包含客戶端瀏覽器監控模塊1和日志推送模塊2;所述服務端包含日志處理模塊3、模型分析模塊4和結果推送模塊5;所述客戶端瀏覽器模塊1用于抓取并保存客戶端瀏覽器上關于信息交互的性能日志;所述日志推送模塊2與所述客戶端瀏覽器1相連,用于將所述性能日志輸出;所述日志處理模塊3與所述日志推送模塊2相連,用于讀取和解析所述性能日志后,存儲所述性能日志;所述模型分析模塊4與所述日志處理模塊3相連,用于通過預定模型分析解析后的所述性能日志,獲得所述性能日志中的可疑交易信息,根據所述可疑交易信息建立分析結果表并通過所述分析結果表利用機器學習技術改進所述預定模型的規則和/或閥值;所述結果推送模塊5與所述模型分析模塊4相連,用于根據所述客戶端的分析結果表確定客戶端的可疑交易信息以及所述可疑交易信息所對應的測試人員,并將所述可疑交易信息發送至所述測試人員修改。
在本發明一優選的實施例中,所述服務端還包含問題驗證模塊6和圖形展示模塊7,所述問題驗證模塊6與所述結果推送模塊5相連,用于將所述問題交易清單存儲至歷史數據,以及將所述歷史數據與后續獲得的問題交易清單相比對驗證,判斷所述歷史數據中交易問題是否被修改并輸出驗證結果;所述圖形展示模塊7與所述問題驗證模塊6相連,用于根據預定模板于所述服務端獲得對應數據并顯示輸出。
在實際工作中,客戶端瀏覽器監控裝置1:實現針對客戶端瀏覽器的性能信息抓取與保存,記錄與信息交互相關的性能日志。日志推送裝置2:實現分布式的日志推送,將客戶端的性能日志傳輸至服務器端。日志處理裝置3:實現對由客戶端收集而來的日志的讀取、解析,并將性能信息存儲到分布式數據庫中。模型分析裝置4:實現對性能日志進行批量分析,通過請求超時、重復請求、資源缺失等模型的分析,得出性能瓶頸,并且根據機器學習技術自動的持續的優化改進模型規則與閥值,不斷提高模型的準確性與命中率。結果推送裝置5:實現問題交易與負責人員的匹配,將問題交易清單推送至相應的開發及測試人員。問題驗證裝置6:實現對問題交易的驗證,根據問題修改前后性能日志分析結果的比對來對問題進行驗證。圖形展示裝置7:實現以圖形化的方式直觀的展示分析結果、歷史數據、動態變化等維度的信息。
請參考圖2所示,在本發明一優選實施例中,所述客戶端瀏覽器監控模塊1包含監控控制單元11、信息記錄單元12和日志保存單元13;所述監控控制單元11用于監聽客戶端瀏覽器的運行狀態,并根據監聽到的特定條件輸出記錄客戶端瀏覽器的性能信息的控制指令或保存客戶端瀏覽器的性能日志的控制指令;所述信息記錄單元12用于根據所述監控控制單元輸出的控制指令,記錄客戶端瀏覽器的渲染時間、頁面展示時間、請求級的詳細信息等性能信息,并以場景、功能、請求的層級結構將結果存儲為性能日志;所述日志保存單元13用于根據所述監控控制單元輸出的控制指令,將性能日志保存為符合統一規范的HAR文件,暫存在客戶端指定目錄內。其中,特定條件可為預定的瀏覽器事件,當客戶端瀏覽器發生預定事件時,則輸出記錄客戶端瀏覽器的性能信息的控制指令或保存客戶端瀏覽器的性能日志的控制指令,至于具體輸出記錄性能信息還是輸出保存性能日志可根據情況自行設定,本發明在此不做限制。
請參考圖3所示,在本發明一優選的實施例中,所述日志推送模塊2包含日志傳輸單元21和日志清理單元22;所述日志傳輸單元21用于將所述性能日志傳輸至服務端的指定目錄下;所述日志清理單元22用于在所述性能日志傳輸完畢后,刪除客戶端存儲的所述性能日志,以此消除日志文件對客戶端磁盤空間的影響;該日志推送模塊2在該實施例中可用常見的數據推送結構替代,其目的在于及時推送日志和消除本地客戶端的磁盤空間的不必要的日志,降低內存浪費。
請參考圖4所示,在本發明一優選的實施例中,所述日志處理模塊3包含日志讀取單元31、日志解析單元32和日志保存單元33;所述日志讀取單元31用于打開并讀取性能日志,該性能日志可為前述的HAR格式的文件;所述日志解析單元32用于解析所述性能日志,獲取客戶端瀏覽器頁面的運行狀態信息,并將所述運行狀態信息以鏈表的結構,按請求發起的順序存儲至所述日志保存單元;所述日志保存單元33用于將存儲的所述運行狀態信息保存至分布式數據庫;其中,解析性能日志更包含采用JSON格式的解析方法來解析性能日志,獲取渲染時間、頁面加載時間、頁面展示時間,以及請求級的URL地址、請求響應時間、請求方法、請求數據、返回狀態、返回內容等信息,并將這些信息以鏈表的結構,按請求發起的順序臨時存儲在內存中。在實際工作中,上述日志保存單元33將存儲的所述運行狀態信息保存至分布式數據庫中,該分布式數據庫具體可包含:1)日志信息表,用于保存文件名、文件路徑、文件大小、文件來源、應用名、應用版本、監控日期、批次號、客戶端機器名等;2)場景信息表,用于保存測試場景名稱、場景耗時、上傳數據量、下載數據量、阻塞時間、連接時間、等待時間、接收時間、網絡時間、錯誤信息、警告信息等;3)功能信息表,用于保存功能序號、請求數量、起始時間、功能耗時、上傳數據量、下載數據量、阻塞時間、連接時間、等待時間、接收時間、網絡時間、渲染開始事件時間、頁面加載完成事件時間、資源文件數量、錯誤信息、警告信息等;4)請求信息表,用于保存請求地址、請求耗時、請求方法、發送數據量、接收數據量、請求結果、起始時間、請求字符串、發送數據、接收數據類型、接收數據內容、是否使用緩存、重定向地址等。
請參考圖5所示,所述模型分析模塊4包含模型匹配單元41、結果保存單元42和模型優化單元43;所述模型匹配單元41用于將解析后的所述性能信息與預定模型中的請求超時分析模型、重復請求分析模型、資源缺失分析模型等相關分析模型相匹配,過濾出符合模型的可疑交易信息并記錄模型信息,通過所述模型信息和所述可疑交易信息確認所述客戶端的性能瓶頸;所述結果保存單元42用于將過濾出的可疑交易信息記錄到分析結果表中;其中,分析結果表主要用于保存可疑交易信息的問題序號、應用名、文件名、文件路徑、文件來源、分析結果、分析標識、分析時間等信息;所述模型優化單元43用于分析可疑交易信息的特點,利用決策樹學習方法,針對不同分析模型,根據性能日志和分析結果表來抽取樣本數據并構建決策樹,通過所述決策樹修改對應分析模型的規則和/或閥值,以此優化分析模型。
請參考圖6所示,所述結果推送模塊5包含結果分配單元51和結果發送單元52;所述結果分配單元51用于根據所述分析結果表中的可疑交易信息定位對應的測試人員;所述結果發送單元52用于將所述可疑交易信息發送至對應的測試人員修改。其中,所述測試人員包含可修改客戶端瀏覽器的測試人員或開發人員,該些工作人員根據可疑交易信息中對應數據可直接定位,在此不再詳細解釋。
請參考圖7所示,所述問題驗證模塊6包含日志比對單元61、特征值比對單元62和結果輸出單元63;所述日志比對單元61用于比對接收到的多個可疑交易信息中各個可疑交易信息的問題交易的菜單、請求等信息,再從問題交易修改之后的性能日志中得出相同位置的交易日志;所述分析結果比對單元62用于根據分析結果表,將存在性能問題的日志的所屬模型信息,與修改后的日志的所屬模型信息進行比對;所述結果輸出單元63用于在驗證所述日志比對單元61和所述分析結果比對單元62的比對結果,若新的分析結果表中無之前的可疑交易信息,即相同位置的交易日志不存在問題,則表示問題已修改,在驗證結果表中作出對應標識“驗證通過”;若分析結果表中存在該對比日志的信息且分析模型與之前的可疑交易信息的分析模型相同,則表示問題未修改,在驗證結果表中作出對應標識“驗證不通過”;若分析結果表中存在該對比日志的信息但分析模型與之前可疑交易信息的分析模型不相同,則表示問題已修改,但存在新的問題,則在驗證結果表中作出對應標識“驗證通過”。
請參考圖8所示,所述圖形展示裝置7包含系統設置單元71、數據讀取單元72和數據展示單元73,所述圖形設置單元71用于獲取用戶或系統對于圖形的設置,包括圖形類別、展示參數、更新頻率、數據片段等信息;所述數據讀取單元72用于根據系統設置單元71獲取的用戶設置,從數據庫中獲取相應數據,并以規定格式封裝后傳輸至數據展示單元73;所述數據展示單元73用于將圖像模板與數據結合,繪制并展示圖形。
在本發明的另一方面上還提供一種基于信息交互的客戶端性能監控方法,所述方法包含:監控客戶端瀏覽器,抓取并保存客戶端瀏覽器上關于信息交互的性能日志;將客戶端的性能日志輸出至服務端;于所述服務端讀取和解析所述性能日志后,將解析后的所述性能信息存儲到分布式數據庫中;通過預定模型分析所述性能日志,獲得所述性能日志中的可疑交易信息,根據所述可疑交易信息建立分析結果表并通過所述分析結果表利用機器學習技術改進所述預定模型的規則和/或閥值;根據所述客戶端的分析結果表確定客戶端的可疑交易信息以及所述可疑交易信息所對應的測試人員,并將所述可疑交易信息發送至所述測試人員修改。
在上述實施例中,進一步還包含對后續客戶端瀏覽器性能日志的驗證和顯示過程,如比對問題修改前后性能日志的分析結果,驗證問題的修改結果;以圖形化的方式展示分析結果、歷史數據、動態變化等維度的信息,具體請參考后續說明。
在上述監控客戶端瀏覽器步驟中,抓取并保存客戶端瀏覽器上關于信息交互的性能日志中還包含:當客戶端瀏覽器打開時啟動監聽,并根據監聽到的特定條件輸出記錄客戶端瀏覽器的性能信息的控制指令或保存客戶端瀏覽器的性能日志的控制指令;當監聽到所述客戶端瀏覽器進入業務系統時,記錄當前頁面的性能信息;當監聽到所述客戶端瀏覽器退出業務系統時,將所述性能信息以HAR日志的形式保存;具體請參考圖9所示,在實際工作中步驟如下:
步驟S101:監控控制單元11在客戶端瀏覽器打開時便啟動監聽,并根據不同的瀏覽器事件選擇相應的處理分支;
步驟S102:當監控控制單元11監聽到進入業務系統的事件時,會綁定當前瀏覽器的Tab頁,將當前頁面與信息記錄單元12相關聯;
步驟S103:信息記錄單元12開始記錄性能信息,記錄當前頁面發生的渲染時間、頁面展示時間、請求級的詳細信息等性能信息;
步驟S104:當監控控制單元11監聽到退出業務系統的事件時,會將信息記錄單元12監控到的所有信息以HAR日志的形式保存到客戶端的本地磁盤上。
在上述日志推送步驟中,所述將客戶端的性能日志輸出至服務端還包含:當客戶端監控到新的性能日志時,與服務器建立FTP連接;將性能日志與客戶端地址通過FTP方式發送至服務端;當性能日志傳輸完畢后斷開與服務器的連接,刪除所述性能日志并將傳輸文件清單記錄到傳輸日志中;具體請參考圖10所示,在實際工作中步驟如下:
步驟S201:當日志傳輸單元21監控到日志存放目錄有文件變化時,會發起向服務器的連接請求并建立彼此的連接;
步驟S202:與服務器建立FTP連接,將日志目錄中的存量日志與客戶端機器名一起通過FTP方式發送至服務器端;
步驟S203:當日志傳輸完成時斷開與服務器的連接;
步驟S204:當日志傳輸成功時,刪除本地的日志文件,并將傳輸文件清單記錄到傳輸日志中。
在上述日志處理流程中,所述于所述服務端讀取和解析所述性能日志后,將各級性能信息存儲到分布式數據庫中還包含:將所述客戶端地址與所述性能日志關聯后存儲;讀取并解析所述性能日志,獲得所述性能日志中場景級信息;將所述場景級信息存儲到分布式數據庫中;具體請參考圖11所示,在實際工作中步驟如下:
步驟S301:由日志讀取單元31從日志文件列表中讀取并打開日志文件;
步驟S302:由日志解析單元32以JSON方式解析HAR日志,獲取其中的場景級信息,包括菜單名,場景耗時,上傳、下載數據量,阻塞、連接、發送、等待、接收時間等信息;
步驟S303:由日志解析單元32獲取場景中包含的功能級信息,包括:功能序號,渲染時間,頁面展示時間,上傳、下載數據量,阻塞、連接、發送、等待、接收時間等信息;
步驟S304:由日志解析單元32獲取功能中包含的請求級信息,包括:請求地址,請求耗時,請求方法,發送、接收數據,阻塞、連接、發送、等待、接收時間,是否緩存、重定向地址等信息;
步驟S305:將日志傳輸單元21發送的客戶端機器名與當前日志關聯;
步驟S306:將上述流程獲取到的信息保存到數據庫的相應表中;
步驟S307:將已解析的日志文件保存到指定路徑下作為存檔。
在上述模型分析流程中,所述通過預定模型分析所述性能日志,獲得所述性能日志中的可疑交易信息,根據所述可疑交易信息建立分析結果表并通過所述分析結果表利用機器學習技術改進所述預定模型的規則和/或閥值還包含:獲取所述場景級信息,并通過請求超時分析模型、重復請求分析模型、資源缺失分析模型分析所述場景級信息,獲得可疑交易信息;根據所述可疑交易信息建立分析結果表;通過所述分析結果表構建各模型的決策樹,通過構建后的各模型的決策樹修改所述預定模型的規則和/或閥值;具體請參考圖12所示,在實際工作中步驟如下:
步驟S401:從數據庫的相應表中讀取所需要的數據,并進行一定的預處理;
步驟S402:根據模型算法對處理后的數據進行篩選;
步驟S403:將模型篩選出的符合模型的數據存入結果表中;
步驟S404:從數據庫中讀取輸出單元63記錄的結果表中的數據;
步驟S405:重新構建各模型的決策樹,以優化分析模型的命中率。
在本發明所提供的基于信息交互的客戶端性能監控方法中,所述根據所述客戶端的分析結果表確定客戶端的可疑交易信息以及所述可疑交易信息所對應的測試人員,并將所述可疑交易信息發送至所述測試人員修改的具體流程請參考圖13所示,其步驟具體如下:
步驟S501:讀取結果保存單元42輸出的結果表中的數據;
步驟S502:將結果表中數據與日志保存單元33中的日志信息表、功能信息表、人員信息表進行匹配,獲取分析結果表中對應的測試人員及開發人員的郵箱;
步驟S503:以郵件的方式將問題交易清單發送至測試人員及開發人員的郵箱。
在上述實施例中,所述比對問題修改前后性能日志的分析結果,驗證問題的修改結果的具體流程請參考圖14所示,其步驟如下:
步驟S601:根據問題交易的菜單、請求等信息進行比對,從問題交易修改之后的日志中得出相同交易場景的日志;
步驟S602:使用模型分析裝置4分析對比日志;
步驟S603:獲取結果保存單元42中輸出的問題交易結果表中對比日志的相關信息;
步驟S604:將比對結果保存至驗證結果表。
在上述實施例中,所述以圖形化的方式展示分析結果、歷史數據、動態變化等維度的信息的具體流程請參考圖15所示,其步驟如下:
步驟S701:獲取用戶或系統對于圖形的設置,包括圖形類別、展示參數、更新頻率、數據片段等信息;
步驟S702:獲取設置的圖形對應的后臺數據,并按照要求更改數據格式;
步驟S703:將數據與圖形框架進行關聯,將數據按照格式填充到圖形框架的數據塊中;
步驟S704:對頁面進行重繪,構建并顯示完整的圖形。
本發明通過抓取渲染時間、頁面展示時間、請求級的詳細信息等數據來反映用戶的真實體驗;通過監控客戶端瀏覽器行為來實現自動化的記錄性能信息,在對人工測試進行監控時做到對測試人員完全透明,在測試人員無感知的情況下進行實時的信息收集;通過利用分布式日志收集技術,能夠實現分布式性能日志收集;通過建立請求超時、重復請求、資源缺失等分析模型,可以對性能日志進行批量分析,進而得出性能瓶頸,并且根據大數據分析技術自動的持續的優化改進模型規則與閥值,真正做到自動化分析;通過利用圖形化展示技術,將分析結果、歷史數據、動態變化等維度的信息以圖形化的方式直觀的展示出來。
以此實現了客戶端性能監控的全流程自動化,覆蓋了性能監控、日志收集、日志保存、模型分析、問題驗證、圖形展示的客戶端性能監控的各個環節。通過采集渲染時間、頁面加載時間等與信息交互息息相關的性能信息以及請求級的數據信息,不僅能夠獲取到更貼近用戶真實體驗的性能數據,也能夠更加精準的定位性能瓶頸,實現具體到請求級的性能分析。另外,通過結合分布式存儲與機器學習技術,能夠利用大數據技術對海量性能信息進行統計與分析,實現更精確的模型分析與更全面的圖形展示。本發明從整體上減少了人工干預的程度和精力投入,降低了客戶端性能監控成本,彌補了目前客戶端自動化性能監控方面的短板。
以上所述的具體實施例,對本發明的目的、技術方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本發明的具體實施例而已,并不用于限定本發明的保護范圍,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。