新四季網

一種Android平臺下的模塊化系統的監控系統及方法

2023-04-30 16:27:11 2

一種Android平臺下的模塊化系統的監控系統及方法
【專利摘要】本發明公開一種Android平臺下的模塊化系統的監控系統及方法,根據系統行為計算出相應的監控係數,如果監控係數大於目標監控係數則通過遠程雲端對已知系統進行監控,反之,如果小於目標監控係數則在本地對系統進行監控,從而阻止系統失效,同時監控行為的分散為系統帶來的性能負載也是極其有限的;Android平臺本地監控實時性更強,能對系統進行有效監控但對系統造成一定資源的消耗;雲端監控對目標系統不造成任何資源上的消耗,同時雲端監控生成的日誌可利用雲平臺處理大數據的能力進行監控日誌分析;監控係數是根據模塊化系統的系統行為是否為計算資源緊湊型、內存空間緊湊型以及時間緊湊型等因素計算得來,用以判斷監控行為是放在本地或者雲端。
【專利說明】一種Android平臺下的模塊化系統的監控系統及方法

【技術領域】
[0001]本發明涉及一種Android平臺下模塊化系統的監控系統及方法,涉及對開放環境下對系統進行運行時監控,屬於信息【技術領域】。

【背景技術】
[0002]近年來,由於SOA (Service-Oriented Architecture)這類新範式的出現,軟體密集型系統的環境正在從靜態、封閉、可控向動態、開放、不可控發展。這種開放環境下的軟體系統行為很容易受到其內部框架以及來自外部環境輸入的影響,從而導致軟體失效,因此大型模塊系統需要進行運行時監控,然而,監控器本身在一定程度上對系統性能造成一定負載。
[0003]Aspect Oriented Programming(面向方面編程)可以通過預編譯方式和運行期間動態代理實現在不修改原始碼的情況下給程序動態的添加功能。AOP代碼就是前文提到的「監控器」。
[0004]Android是Google於2007年11月05日宣布的基於Linux平臺的開源行動作業系統的名稱,該平臺由作業系統、中間件、用戶界面和應用軟體組成。它採用軟體堆層(Software Stack,又名軟體疊層)的架構,主要分為三部分。底層以Linux內核工作為基礎,由C語言開發,只提供基本功能;中間層包括函數庫Library和虛擬機VirtualMachine,由C++開發。最上層是各種應用軟體,包括通話程序,簡訊程序等,應用軟體則由各公司自行開發,以Java作為編寫程序的一部分。Google通過與軟、硬體開發商、設備製造商、電信運營商等其他有關各方結成深層次的合作夥伴關係,希望藉助建立標準化、開放式的行動電話軟體平臺,在移動產業內形成一個開放式的生態系統。
[0005]雲計算平臺也稱為雲平臺。雲計算平臺可以劃分為3類:以數據存儲為主的存儲型雲平臺,以數據處理為主的計算型雲平臺以及計算和數據存儲處理兼顧的綜合雲計算平臺。


【發明內容】

[0006]發明目的:針對現有技術中存在的問題,本發明提供一種Android平臺下模塊化系統的監控系統及方法,利用AOP技術可以在不對原有系統代碼做任何修改的前提下對各個組件或服務添加監控器,該監控器可以捕捉到系統內部以及系統內部與外部環境之間的信息交互,判斷系統的行為是否「合法」,從而達到對整個系統的運行時監控甚至對系統的失效行為做出預測、阻止和恢復,提高開放環境下運行時系統的可靠性和安全性的同時有效降低監控器對系統性能的影響。
[0007]技術方案:一種Android平臺下模塊化系統的監控系統,包括Android平臺(本地)監控、雲端監控和監控係數;
[0008]a)Android平臺監控:即本地監控,相對於雲端監控,本地監控所有行為都放生在Android平臺,通過對普通java文件加入AOP (Aspect Oriented Programming)代碼,打包成普通jar包,再對jar包的重新編譯使其能在Android平臺下運行,從而達到對Android平臺下模塊化系統進行監控的目的;
[0009]b)雲端監控:相對於本地監控,該監控行為發生在遠程雲端,本地Android模塊化系統通過Http連結將需要進行雲端監控的系統行為信息發送至雲端,雲端監控程序根據事先約定的規則判斷系統行為是否符合預期並將監控結果返回本地,同時在雲端產生監控日誌,最終,利用雲平臺定期對監控日誌進行備份以及分析;
[0010]c)監控係數:該係數根據被監控目標系統行為的線程數、操作類型等特徵計算得出,根據系統的行為判斷其是否為計算資源消耗型、內存消耗型或者時間資源消耗型操作等得到監控係數,再根據事先約定好的目標監控係數相比較,大於目標監控係數則監控行為發生在雲端,否則監控行為發生在本地,這樣,有效的將資源消耗型行為的監控轉移到雲端從而將監控行為對目標系統的性能負載降到理想狀態。監控係數詳細計算方法如下:根據系統當前系統行為分析得出該行為需要的線程數Nt,堆內存中實例化的對象數量N。以及I/O操作的數據量(以Mb為單位)隊,根據不同的系統對這三種資源的消耗情況不同,我們對這三個值分別委以不同的權重Qt、Q。和Qr,而監控係數M= Σ (NiXQi), (i e {t,o,r})。
[0011]一種Android平臺下模塊化系統的監控方法,包括如下步驟:
[0012]步驟1,根據被監控目標系統交互行為得到以下信息:操作是否涉及到遠程(伺服器)連接、操作需要的線程數Nt、操作設計到的對象的數量N。、操作是否涉及IAKInput/Output)操作以及數據量隊以及1/0操作的數據量(以Mb為單位)的大小等特徵;
[0013]步驟2,根據步驟I中得到的信息,為需要監控的系統交互行為計算出監控係數並設定目標監控係數;監控係數M= X(NiXQi), (i e {t,o,r});
[0014]步驟3,將計算出的監控係數與設定的目標監控係數相比較,如果系統行為的監控係數大於目標監控係數則對該行為的監控行為在雲端進行,否則在Android端進行;
[0015]步驟4,針對需要在Android本地進行監控的行為將監控代碼與目標模塊代碼進行編譯打包成jar包,再對jar包進行再次編譯以便在Android端運行;
[0016]步驟5,針對需要在雲端進行監控的行為將監控代碼與雲端監控程序進行編譯打包運行;
[0017]步驟6,依次運行雲端監控程序和加了監控器後的Android模塊化系統,讓系統在本地和雲端的協同監控下運行。
[0018]步驟7,利用雲平臺數據處理優勢定期對生成的監控日誌進行分析。
[0019]有益效果:與現有技術相比,本發明在保證有效監控效果的同時可以有效將部分監控行為轉移至雲端,從而有效降低了監控器對本地系統的性能負載,兼顧了監控效果和性能。

【專利附圖】

【附圖說明】
[0020]圖1為本發明實施例的系統框架圖;
[0021]圖2為本發明Android平臺本地監控的流程示意圖;
[0022]圖3為本發明計算監控係數的流程圖;
[0023]圖4為本發明雲端監控的架構圖;
[0024]圖5為本發明Android平臺下監控器監控目標模塊化系統的運行結果輸出截圖。
[0025]如圖6為本發明雲平臺下監控器監控目標模塊化系統的運行結果輸出截圖。

【具體實施方式】
[0026]下面結合具體實施例,進一步闡明本發明,應理解這些實施例僅用於說明本發明而不用於限制本發明的範圍,在閱讀了本發明之後,本領域技術人員對本發明的各種等價形式的修改均落於本申請所附權利要求所限定的範圍。
[0027]如圖1所示為本發明的系統框架圖:
[0028]a)Android平臺監控:即本地監控,相對於雲端監控,本地監控所有行為都放生在Android平臺,通過對普通java文件加入AOP (Aspect Oriented Programming)代碼,打包成普通jar包,再對jar包的重新編譯使其能在Android平臺下運行,從而達到對Android平臺下模塊化系統進行監控的目的;
[0029]b)雲端監控:相對於本地監控,該監控行為發生在遠程雲端,本地Android模塊化系統通過Http連結將需要進行雲端監控的系統行為信息發送至雲端,雲端監控程序根據事先約定的規則判斷系統行為是否符合預期並將監控結果返回本地,同時在雲端產生監控日誌,最終,利用雲平臺定期對監控日誌進行備份以及分析;
[0030]c)監控係數:該係數根據被監控目標系統行為的線程數、操作類型等特徵計算得出,根據系統的行為判斷其是否為計算資源消耗型、內存消耗型或者時間資源消耗型操作等得到監控係數,再根據事先約定好的目標監控係數相比較,大於目標監控係數則監控行為發生在雲端,否則監控行為發生在本地,這樣,有效的將資源消耗型行為的監控轉移到雲端從而將監控行為對目標系統的性能負載降到理想狀態。監控係數詳細計算方法如下:根據系統當前系統行為分析得出該行為需要的線程數Nt,堆內存中實例化的對象數量N。以及1/0操作的數據量(以Mb為單位)隊,根據不同的系統對這三種資源的消耗情況不同,我們對這三個值分別委以不同的權重Qt,Qtj,和Qy而監控係數
[0031]M= Σ (NiXQi), (i e {t, o, r})。
[0032]如圖2為Android平臺本地監控的流程示意圖。包括如下步驟:
[0033]步驟101,根據用戶需求以及目標系統內部以及系統內部與外部環境之間的交互,編寫出監控器;
[0034]步驟102,將監控器(Α0Ρ代碼)與目標模塊的代碼進行編譯生成.class文件;
[0035]步驟103,將生成的.class文件打包生成普通jar包;
[0036]步驟104,利用 ADT (Android Development Tool)自帶的 dex 工具將 jar 包進行處理,生成class, dex文件;
[0037]步驟105,利用 ADT (Android Development Tool)自帶的 appt 工具將 jar 包和 104中生成的class, dex文件進行打包,生成可以在Android平臺下可以執行的jar包;
[0038]步驟106,運行最終打包成功的jar包,讓目標模塊在監控之下運行。
[0039]如圖3為計算監控係數的流程圖。描述了計算監控係數以及判斷監控發生在本地或者雲端的過程。
[0040]步驟201,根據目標模塊化系統代碼,分析目標系統的行為;
[0041]步驟202,判斷模塊化系統的交互行為是否涉及到網絡連接到遠程主機或者伺服器的操作,如果涉及到則無需進行下一步直接跳到步驟207,否則進入步驟203 ;
[0042]步驟203,判斷系統行為是否為時間緊湊型,如有I/O操作超過預設閥值(從硬碟讀取大量數據或寫入大量數據);
[0043]步驟204,判斷系統行為是否為計算資源緊湊型,如有運算操作或者同一時間運行的線程數量超過預設閥值,則認為是計算資源緊湊型;
[0044]步驟205,判斷系統行為是否為內存資源緊湊型,如有大量數據進行處理,或者操作需要堆內存中有大量實例化的對象;
[0045]步驟206,根據步驟203-步驟205得到數據,通過公式M =Σ (NiXQi), (i e {t,o,r})計算出該系統行為的監控係數並與事先設定的目標監控係數相比較;
[0046]步驟207,監控係數小於目標監控係數的操作的監控行為在Andoird本地執行;
[0047]步驟208,監控係數大於或等於目標監控係數的操作的監控行為在遠程雲端執行。
[0048]如圖4為雲端監控的架構圖,部分監控係數大於或等於目標監控係數的操作將系統執行狀態通過http連接通知給運行著的雲端監控程序,雲端監控程序根據http連接得到的系統狀態來判斷系統的運行情況是否滿足預期並列印出監控日誌。每隔一段固定的時間,雲端監控器運行日誌分析程序,利用雲平臺處理大數據的優勢對目標系統的行為進行分析。
[0049]如圖5為Android平臺下監控器監控目標模塊化系統的運行結果輸出截圖。圖中列印出了各個Bundle在查詢流程中所經歷的狀態,以及Message傳遞等信息。
[0050]如圖6為雲平臺下監控器監控目標模塊化系統的運行結果輸出圖。圖中列印出了各個Bundle在查詢流程中所經歷的狀態,以及Message傳遞等信息。
【權利要求】
1.一種Android平臺下模塊化系統的監控系統,其特徵在於:包括Android平臺(本地)監控、雲端監控和監控係數; a)Android平臺監控:即本地監控,相對於雲端監控,本地監控所有行為都放生在Android平臺,通過對普通java文件加入AOP (Aspect Oriented Programming)代碼,打包成普通jar包,再對jar包的重新編譯使其能在Android平臺下運行,從而達到對Android平臺下模塊化系統進行監控的目的; b)雲端監控:相對於本地監控,該監控行為發生在遠程雲端,本地Android模塊化系統通過Http連結將需要進行雲端監控的系統行為信息發送至雲端,雲端監控程序根據事先約定的規則判斷系統行為是否符合預期並將監控結果返回本地,同時在雲端產生監控日誌,最終,利用雲平臺定期對監控日誌進行備份以及分析; c)監控係數:該係數根據被監控目標系統行為的線程數、操作類型等特徵計算得出,根據系統的行為判斷其是否為計算資源消耗型、內存消耗型或者時間資源消耗型操作等得到監控係數,再根據事先約定好的目標監控係數相比較,大於目標監控係數則監控行為發生在雲端,否則監控行為發生在本地,這樣,有效的將資源消耗型行為的監控轉移到雲端從而將監控行為對目標系統的性能負載降到理想狀態;監控係數詳細計算方法如下:根據系統當前系統行為分析得出該行為需要的線程數Nt,堆內存中實例化的對象數量N。以及I/O操作的數據量(以Mb為單位)隊,根據不同的系統對這三種資源的消耗情況不同,我們對這三個值分別委以不同的權重Qt、Q。和Qr,而監控係數M= Σ (NiXQi), (i e {t,o,r})。
2.—種Android平臺下模塊化系統的監控方法,其特徵在於,包括如下步驟: 步驟1,根據被監控目標系統交互行為得到以下信息:操作是否涉及到遠程伺服器連接、操作需要的線程數Nt、操作設計到的類的數量、操作是否涉及I/O操作以及數據量隊以及I/O操作的數據量的大小等特徵; 步驟2,根據步驟I中得到的信息,為需要監控的系統交互行為計算出監控係數並設定目標監控係數;監控係數M= Σ (NiX Qi),(i e {t, o, r}); 步驟3,將計算出的監控係數與設定的目標監控係數相比較,如果系統行為的監控係數大於目標監控係數則對該行為的監控行為在雲端進行,否則在Android端進行; 步驟4,針對需要在Android本地進行監控的行為將監控代碼與目標模塊代碼進行編譯打包成jar包,再對jar包進行再次編譯以便在Android端運行; 步驟5,針對需要在雲端進行監控的行為將監控代碼與雲端監控程序進行編譯打包運行; 步驟6,依次運行雲端監控程序和加了監控器後的Android模塊化系統,讓系統在本地和雲端的協同監控下運行; 步驟7,利用雲平臺數據處理優勢定期對生成的監控日誌進行分析。
3.如權利要求2所述的Android平臺下模塊化系統的監控方法,其特徵在於:步驟2計算監控係數以及設定目標監控係數,目標監控係數為監控者根據系統條件和監控需求人為設定,可根據系統監控過程中本地和雲端的負載情況進行調整,當Android平臺負載較大則可相對減小目標監控係數,反之則可適當增大目標監控係數。
【文檔編號】G06F11/30GK104268057SQ201410495693
【公開日】2015年1月7日 申請日期:2014年9月24日 優先權日:2014年9月24日
【發明者】張鵬程, 餘俊, 馮鈞, 朱躍龍, 萬定生, 劉宗磊, 莊媛, 周宇鵬, 肖豔 申請人:河海大學

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀