欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種移動應(yīng)用檢測負(fù)載均衡算法中計(jì)算負(fù)載值的方法

文檔序號:9765885閱讀:599來源:國知局
一種移動應(yīng)用檢測負(fù)載均衡算法中計(jì)算負(fù)載值的方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于信息安全領(lǐng)域,設(shè)及移動應(yīng)用檢測負(fù)載均衡的優(yōu)化方法,具體是一種 移動應(yīng)用檢測負(fù)載均衡算法中計(jì)算負(fù)載值的方法。
【背景技術(shù)】
[0002] 由于移動應(yīng)用檢測任務(wù)具有特殊性,難W將其切分為更細(xì)粒度的子文件,更不可 能對單個(gè)移動應(yīng)用檢測任務(wù)進(jìn)行簡單粗暴的平均大小切分,導(dǎo)致單個(gè)移動應(yīng)用檢測任務(wù)內(nèi) 的移動應(yīng)用大小差別迴異,影響移動應(yīng)用檢測任務(wù)的執(zhí)行效率。另外,影響移動應(yīng)用檢測任 務(wù)的執(zhí)行效率的另一個(gè)因素是單個(gè)移動應(yīng)用檢測任務(wù)內(nèi)的控制流復(fù)雜度。
[0003] 控制流復(fù)雜度是指由移動應(yīng)用檢測任務(wù)內(nèi)部的執(zhí)行流程和執(zhí)行復(fù)雜度,由控制流 圖中的邊數(shù)和節(jié)點(diǎn)數(shù)體現(xiàn);
[0004] 控制流圖(CFG,Con化〇1 flow graph,即控制流程圖),是一個(gè)過程或程序的抽象 表現(xiàn)。移動應(yīng)用檢測任務(wù)的控制流圖,即移動應(yīng)用中語句、語句塊和過程的執(zhí)行流抽象???制流圖是一個(gè)有向圖,包含N個(gè)節(jié)點(diǎn)node和M條邊edge。
[0005] 現(xiàn)有技術(shù)中采用McCabe復(fù)雜度度量標(biāo)準(zhǔn),將軟件的流程圖轉(zhuǎn)化為有向圖,控制流 圖是Mc化be復(fù)雜度計(jì)算的基礎(chǔ),McCabe復(fù)雜度度量作為移動應(yīng)用檢測任務(wù)的環(huán)路復(fù)雜性度 量標(biāo)準(zhǔn),一般用圈復(fù)雜度V(G)描述。實(shí)驗(yàn)證明,圈復(fù)雜度越大的移動應(yīng)用,靜態(tài)檢測時(shí)間越 長。
[0006] 圈復(fù)雜度的計(jì)算方法如下:
[0007] V(G)=e-n+2
[000引其中e為移動應(yīng)用檢測任務(wù)中控制流圖中邊數(shù),n為移動應(yīng)用檢測任務(wù)中控制流圖 中的節(jié)點(diǎn)數(shù)。
[0009]負(fù)載均衡化oad Balancing)算法目的是為了提局任務(wù)執(zhí)行效率,提局系統(tǒng)吞吐 量,利用分布式結(jié)構(gòu)提高系統(tǒng)執(zhí)行性能。通過平衡各檢測節(jié)點(diǎn)的負(fù)載情況,加強(qiáng)了各檢測節(jié) 點(diǎn)的數(shù)據(jù)處理能力、提高了可用性。各檢測節(jié)點(diǎn)的負(fù)載包括:各檢測節(jié)點(diǎn)上所有移動應(yīng)用檢 測任務(wù)的網(wǎng)絡(luò)吞吐量、CPU負(fù)載率、內(nèi)存使用率等;
[0010] 在傳統(tǒng)負(fù)載均衡算法中,一般使用CPU使用率、內(nèi)存占用率、硬盤使用情況、網(wǎng)絡(luò)吞 吐量等作為服務(wù)器負(fù)載的衡量標(biāo)準(zhǔn)。
[0011] 但是,在海量移動應(yīng)用檢測任務(wù)的應(yīng)用場景下,由于移動應(yīng)用文件小,在檢測過程 中,服務(wù)器硬盤的使用情況不會有很大的變化,硬盤使用量對移動應(yīng)用的檢測影響較小;而 由于移動應(yīng)用的存儲和檢測都在局域網(wǎng)環(huán)境下完成,局域網(wǎng)內(nèi)網(wǎng)絡(luò)情況良好,小文件對網(wǎng) 絡(luò)帶寬要求不高,因此網(wǎng)絡(luò)吞吐量對移動應(yīng)用的檢測效率也無明顯影響。
[0012] 在海量移動應(yīng)用檢測任務(wù)的應(yīng)用場景下,使用ActiveMQ將移動應(yīng)用檢測任務(wù)存儲 在隊(duì)列服務(wù)器上,通過ActiveMQ提供的API獲取移動應(yīng)用檢測任務(wù)的隊(duì)列大小,并配置隊(duì)列 最大長度,而檢測任務(wù)隊(duì)列的大小是衡量一個(gè)檢測任務(wù)需要等待的時(shí)間和預(yù)計(jì)返回時(shí)間的 最直接因素。
[0013] 綜上,針對海量移動應(yīng)用檢測任務(wù),傳統(tǒng)負(fù)載均衡算法中,只考慮了影響負(fù)載均衡 的W下幾類因素:1 )、檢測節(jié)點(diǎn)的CPU負(fù)載,包括CPU核數(shù)、CPU頻率、CPU使用百分比;2 )、檢測 節(jié)點(diǎn)的內(nèi)存負(fù)載,包括空閑內(nèi)存百分比;3)、檢測節(jié)點(diǎn)的任務(wù)隊(duì)列負(fù)載,包括任務(wù)隊(duì)列長度 和任務(wù)隊(duì)列最大長度。
[0014] 如若不考慮控制流復(fù)雜度,將會使整個(gè)檢測效率下降50% W上。在有多節(jié)點(diǎn)W及 海量應(yīng)用需要檢測的情況下,檢測時(shí)間將會延遲超過1分鐘,無法滿足現(xiàn)階段海量移動應(yīng)用 檢測的需求。

【發(fā)明內(nèi)容】

[0015] 本發(fā)明針對海量移動應(yīng)用檢測任務(wù)的處理請求,為了提高多線程并行處理效率, 結(jié)合現(xiàn)有的負(fù)載均衡計(jì)算方法,引入控制流復(fù)雜度作為檢測節(jié)點(diǎn)的負(fù)載信息,提出了一種 移動應(yīng)用檢測負(fù)載均衡算法中計(jì)算負(fù)載值的方法,能短時(shí)檢測大量移動應(yīng)用。
[0016] 具體步驟如下:
[0017] 步驟一、針對每個(gè)檢測節(jié)點(diǎn),分別計(jì)算該檢測節(jié)點(diǎn)上每個(gè)移動應(yīng)用檢測任務(wù)的控 制流復(fù)雜度Complexity;
[0018] 采用Mc化be復(fù)雜度度量標(biāo)準(zhǔn),獲取每個(gè)移動應(yīng)用檢測任務(wù)的控制流圖,從而獲取 該控制流圖的邊數(shù)和節(jié)點(diǎn)數(shù),計(jì)算控制流復(fù)雜度Comp 1 exi ty;
[0019] Complexityj = ej-rij+2
[0020] Complexityj為第j個(gè)移動應(yīng)用檢測任務(wù)的控制流復(fù)雜度;j為待檢測的移動應(yīng)用 檢測任務(wù)的序號,j為整數(shù);ej為第j個(gè)移動應(yīng)用檢測任務(wù)的控制流圖的邊數(shù),nj為第j個(gè)移動 應(yīng)用檢測任務(wù)的控制流圖的節(jié)點(diǎn)數(shù)。
[0021] 步驟二、計(jì)算每個(gè)檢測節(jié)點(diǎn)上的所有移動應(yīng)用檢測任務(wù)的CPU加權(quán)負(fù)載,內(nèi)存加權(quán) 負(fù)載,隊(duì)列加權(quán)負(fù)載和控制流復(fù)雜度加權(quán)負(fù)載值之和LoadGrade:
[0022] LoadGrade i = Cw+Mw+Qw+Co 麗
[00剖其中,LoadGrade功檢測節(jié)點(diǎn)i的加權(quán)負(fù)載值之和;功檢測節(jié)點(diǎn)的序號,i為整數(shù); Cw為檢測節(jié)點(diǎn)i的CPU加權(quán)負(fù)載值:Cw = Wcpu*CPUGradei;Wcpu是CPU加權(quán)負(fù)載值的權(quán)重; CPUGrade功檢測節(jié)點(diǎn)i的CPU負(fù)載值:
[0025] CPUCoresi為檢測節(jié)點(diǎn)i的CPU核數(shù),單位為個(gè);CPUG化i為檢測節(jié)點(diǎn)i的CPU主頻,單 位為GHz; CPUUsedPerci為檢測節(jié)點(diǎn)i的CPU使用百分比,單位為%。
[002引 Mw為檢測節(jié)點(diǎn)i的內(nèi)存加權(quán)負(fù)載值:Mw = Wmemory*Mem0IrGradei ;Wmemory是內(nèi)存加權(quán) 負(fù)載值的權(quán)重,MemoryGrade功檢測節(jié)點(diǎn)i的內(nèi)存負(fù)載值:
[002引FreeMemoryi為檢測節(jié)點(diǎn)i的當(dāng)前空閑內(nèi)存,單位為%。
[0029] Qw為檢測節(jié)點(diǎn)i的隊(duì)列加權(quán)負(fù)載值:Qw=Wqueue*QueueGradei;Wqueue是隊(duì)列加權(quán)負(fù)載 值的權(quán)重,如eueGradei為檢測節(jié)點(diǎn)i的任務(wù)隊(duì)列負(fù)載值:
[0031 ]如eueCapacityi為檢測節(jié)點(diǎn)i的任務(wù)隊(duì)列容量即檢測節(jié)點(diǎn)i的任務(wù)隊(duì)列最大長度, 單位為個(gè);如eueNumi為檢測節(jié)點(diǎn)i的任務(wù)隊(duì)列當(dāng)前任務(wù)數(shù)量即隊(duì)列大小,單位為個(gè)。
[0032] Comw為檢測節(jié)點(diǎn)i的控制流復(fù)雜度加權(quán)負(fù)載值:
[0033] Comw=Wc〇mpiexii;y*Comp 1 ex i tyGradei
[0034] WGumpiexi巧為移動應(yīng)用檢測節(jié)點(diǎn)的控制流復(fù)雜度的權(quán)重,ComplexityGradei為移動 應(yīng)用檢測節(jié)點(diǎn)i的控制流復(fù)雜度負(fù)載值:
[0036] Complexitymaxi為時(shí)隙T內(nèi)檢測節(jié)點(diǎn)i的任務(wù)隊(duì)列中等待檢測任務(wù)的Complexity之 和的最大值;Comp 1 e X i t y average i為時(shí)隙T內(nèi)檢測節(jié)點(diǎn)i的任務(wù)隊(duì)列中等待檢測任務(wù)的 Complexity平均值:I
[0037] X TComplexityj表示在時(shí)隙T內(nèi)檢測節(jié)點(diǎn)i的等待在任務(wù)隊(duì)列上所有檢測任務(wù)的 Complexity之和,n表示時(shí)隙T內(nèi)的n個(gè)移動應(yīng)用。
[003 引檢測節(jié)點(diǎn)i的各類加權(quán)值滿足:Wcpu+Wmem。ry+Wqueue+WC。mplexity=100
[0039] Wcpu ,Wmemory ,Wqueue ,WComplexity^ [0 , 100]
[0040] 步驟S、將每個(gè)檢測節(jié)點(diǎn)的加權(quán)負(fù)載值之和LoadGrade的信息包裹在節(jié)點(diǎn)屯、跳中;
[0041] 步驟四、節(jié)點(diǎn)屯、跳每隔時(shí)隙T發(fā)送一次給負(fù)載調(diào)度器,負(fù)載調(diào)度器計(jì)算各個(gè)檢測節(jié) 點(diǎn),將下一個(gè)移動應(yīng)用檢測任務(wù)分配給LoadGrade最小的檢測節(jié)點(diǎn)。
[0042] 本發(fā)明的優(yōu)點(diǎn)在于:
[0043] 1)、一種移動應(yīng)用檢測負(fù)載均衡算法中計(jì)算負(fù)載值的方法,極大提高了海量移動 應(yīng)用檢測任務(wù)的執(zhí)行效率,能滿足現(xiàn)今海量應(yīng)用快速檢測的需求。
[0044] 2)、一種移動應(yīng)用檢測負(fù)載均衡算法中計(jì)算負(fù)載值的方法,用更加合理有效的方 式向節(jié)點(diǎn)分配任務(wù),保證了節(jié)點(diǎn)的充分運(yùn)作的同時(shí)又防止其負(fù)荷超載,有利于維護(hù)節(jié)點(diǎn)壽 命。
【附圖說明】
[0045] 圖1是本發(fā)明移動應(yīng)用控制流復(fù)雜度與靜態(tài)檢測時(shí)間的關(guān)系圖;
[0046] 圖2是本發(fā)明一種移動應(yīng)用檢測負(fù)載均衡算法中計(jì)算負(fù)載值的方法流程圖;
[0047] 圖3是本發(fā)明與輪詢調(diào)度法,傳統(tǒng)的移動應(yīng)用檢測任務(wù)負(fù)載均衡算法的時(shí)間統(tǒng)計(jì) 與比較圖。
【具體實(shí)施方式】
[0048] 下面將結(jié)合附圖對本發(fā)明作進(jìn)一步的詳細(xì)說明。
[0049] 如圖1所示,隨著移動應(yīng)用控制流復(fù)雜度的增加,移動應(yīng)用的靜態(tài)檢測時(shí)間也逐漸 增長,移動應(yīng)用檢測效率逐漸降低,因此,可W將移動應(yīng)用的控制流復(fù)雜度作為負(fù)載均衡算 法的一個(gè)參數(shù),讓每個(gè)檢測節(jié)點(diǎn)的任務(wù)隊(duì)列上所等待任務(wù)的控制流復(fù)雜度之和趨于平衡, 提高批量執(zhí)行移動應(yīng)用檢測時(shí)的檢測性能。
[0050] 本發(fā)明一種移動應(yīng)用檢測負(fù)載均衡算法中計(jì)算負(fù)載值的方法,在海量移動應(yīng)用檢 測任務(wù)的場景中引入動態(tài)反饋負(fù)載均衡算法,考慮服務(wù)器的實(shí)時(shí)負(fù)載和響應(yīng)情況,不斷調(diào) 整節(jié)點(diǎn)間處理任務(wù)數(shù)的比例,來避免任務(wù)節(jié)點(diǎn)在超載時(shí)依然收到大量請求,均衡分布式系 統(tǒng)中任務(wù)節(jié)點(diǎn)的負(fù)載情況,從而提高整個(gè)系統(tǒng)的吞吐率和任務(wù)執(zhí)行效率。
[0051] 該方法基于由客戶端、中屯、管理節(jié)點(diǎn)模塊和檢測子節(jié)點(diǎn)組成的實(shí)驗(yàn)平臺實(shí)現(xiàn);
[0052] 檢測節(jié)點(diǎn)的屯、固飽括:當(dāng)前檢測節(jié)點(diǎn)i的CP切日權(quán)負(fù)載值,內(nèi)存加權(quán)負(fù)載值,隊(duì)列加 權(quán)負(fù)載值和控制流復(fù)雜度加權(quán)負(fù)載值;
[0053] 中屯、管理節(jié)點(diǎn)模塊接受移動應(yīng)用檢測任務(wù)和檢測子節(jié)點(diǎn)的屯、跳;通過實(shí)時(shí)接收各 檢測節(jié)點(diǎn)的屯、跳得到當(dāng)前各檢測節(jié)點(diǎn)的負(fù)載情況,并通過負(fù)載調(diào)度器選擇出其中最優(yōu)的檢 測節(jié)點(diǎn)下發(fā)移動應(yīng)用檢測任務(wù),然后重新計(jì)算各檢測節(jié)點(diǎn)的負(fù)載分?jǐn)?shù),更新記錄的負(fù)載信 息。
[0054] 中屯、管理節(jié)點(diǎn)模塊分為屯、跳接收引擎、負(fù)載值計(jì)算引擎和檢測子節(jié)點(diǎn)資源隊(duì)列= 部分。屯、跳接受引擎接收到檢測子節(jié)點(diǎn)發(fā)來的屯、跳信息后,將其中的負(fù)載信息取出傳遞給 負(fù)載值計(jì)算引擎;負(fù)載值計(jì)算引擎根據(jù)節(jié)點(diǎn)負(fù)載信息計(jì)算出節(jié)點(diǎn)的實(shí)時(shí)負(fù)載值后,根據(jù)負(fù) 載值的大小重排檢測子節(jié)點(diǎn)資源隊(duì)列。負(fù)載調(diào)度器接收到移動應(yīng)用檢測任務(wù)后,可W直接 分配到負(fù)載分?jǐn)?shù)最大,負(fù)載最低節(jié)的檢測子節(jié)點(diǎn);
[0055] 負(fù)載調(diào)度器作用是監(jiān)視和收集各個(gè)服務(wù)器的負(fù)載信息,根據(jù)多個(gè)負(fù)載信息算出一 個(gè)綜合負(fù)載值。當(dāng)綜合負(fù)載值表示服務(wù)器比較忙時(shí),該檢測節(jié)點(diǎn)的優(yōu)先級較
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
石渠县| 洪雅县| 新乡县| 习水县| 德惠市| 时尚| 平武县| 开化县| 思茅市| 大英县| 咸宁市| 台州市| 江永县| 鹰潭市| 确山县| 卢龙县| 彝良县| 永修县| 武安市| 辽宁省| 阿勒泰市| 阳原县| 方正县| 宜川县| 彭山县| 武邑县| 韶山市| 绵阳市| 宁河县| 道真| 汤原县| 胶州市| 宁远县| 当涂县| 平乡县| 青冈县| 抚顺县| 龙南县| 竹山县| 莱州市| 濮阳县|