[發(fā)明專利]一種基于規(guī)則的軟件體系結(jié)構(gòu)層性能演化優(yōu)化方法有效
| 申請(qǐng)?zhí)枺?/td> | 201410546025.1 | 申請(qǐng)日: | 2014-10-16 |
| 公開(公告)號(hào): | CN104268278B | 公開(公告)日: | 2017-06-30 |
| 發(fā)明(設(shè)計(jì))人: | 杜欣;倪友聰;葉鵬;謝大同;肖如良;汪春燕;昂鳳平;王曉紅;李松 | 申請(qǐng)(專利權(quán))人: | 福建師范大學(xué) |
| 主分類號(hào): | G06F17/30 | 分類號(hào): | G06F17/30;G06N3/12 |
| 代理公司: | 福州元?jiǎng)?chuàng)專利商標(biāo)代理有限公司35100 | 代理人: | 蔡學(xué)俊 |
| 地址: | 350007 *** | 國省代碼: | 福建;35 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 規(guī)則 軟件 體系結(jié)構(gòu) 性能 演化 優(yōu)化 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及軟件性能優(yōu)化技術(shù)領(lǐng)域,特別涉及一種基于規(guī)則的軟件體系結(jié)構(gòu)層性能演化優(yōu)化方法。
背景技術(shù)
軟件的性能是衡量軟件系統(tǒng)質(zhì)量的一個(gè)重要屬性,性能的優(yōu)劣已經(jīng)成為系統(tǒng)成敗的關(guān)鍵因素。在軟件體系結(jié)構(gòu)(Software Architecture,簡記為SA)設(shè)計(jì)階段進(jìn)行性能優(yōu)化,可以盡早發(fā)現(xiàn)資源使用率過高、響應(yīng)時(shí)間過長和吞吐量過小等性能問題,并通過相應(yīng)的設(shè)計(jì)改進(jìn)緩解或消除這些問題,從而獲得滿足性能需求的SA設(shè)計(jì)方案,進(jìn)而可在軟件生命周期的早期達(dá)到性能優(yōu)化的目的。基于SA進(jìn)行性能優(yōu)化,不僅可以顯著減少軟件性能優(yōu)化的時(shí)間,而且能夠有效降低優(yōu)化的成本。
SA層性能優(yōu)化一直是軟件工程學(xué)術(shù)界和工業(yè)界高度關(guān)注的主題。經(jīng)過多年研究和實(shí)踐,已產(chǎn)生一些普適性的SA層性能改進(jìn)知識(shí)。這些知識(shí)已被系統(tǒng)歸納和總結(jié)過,并用自然語言描述的性能反模式進(jìn)行了適當(dāng)?shù)谋硎尽榱颂岣逽A層性能優(yōu)化的自動(dòng)化程度,近年來涌現(xiàn)出一些基于規(guī)則的優(yōu)化方法。這些方法以機(jī)器可處理的性能改進(jìn)規(guī)則形式精確地描述了SA層性能反模式,并通過研發(fā)規(guī)則執(zhí)行引擎,使得性能優(yōu)化過程可以自動(dòng)地使用這些規(guī)則。然而這些方法在優(yōu)化過程中未充分考慮規(guī)則組合使用場景下各規(guī)則的使用次數(shù)和使用順序不確定性的問題,使得它們只能搜索相對(duì)較小的性能改進(jìn)空間,往往難以獲得最優(yōu)的性能改進(jìn)方案。例如:文獻(xiàn)《An approach for modeling and detecting software performance antipatterns based on first-order logics》針對(duì)文獻(xiàn)《Performance solutions:a practical guide to creating responsive,scalable software》、《Software Performance Antipatterns》中的12種SA層性能反模式,給出了對(duì)應(yīng)的12條改進(jìn)規(guī)則。即使不考慮規(guī)則可以重復(fù)使用的情景,由這12條規(guī)則不同組合的情況而構(gòu)成的改進(jìn)空間也將高達(dá)1212(近9000萬億)個(gè)改進(jìn)方案。在如此龐大的SA層性能改進(jìn)空間中,如何找出最優(yōu)性能改進(jìn)方案仍是一個(gè)亟待解決的問題。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種基于規(guī)則的軟件體系結(jié)構(gòu)層性能演化優(yōu)化方法,該方法可降低軟件體系結(jié)構(gòu)層性能的優(yōu)化成本,提高優(yōu)化質(zhì)量。
為實(shí)現(xiàn)上述目的,本發(fā)明的技術(shù)方案是:一種基于規(guī)則的軟件體系結(jié)構(gòu)層性能演化優(yōu)化方法,采用遺傳算法進(jìn)行軟件體系結(jié)構(gòu)層性能演化優(yōu)化,包括以下步驟:
步驟A.進(jìn)行種群初始化:設(shè)置種群規(guī)模、交叉概率、變異概率、最大進(jìn)化代數(shù)、迭代數(shù)t=0,并采用一定的個(gè)體編碼方法,隨機(jī)生成初始種群P(t)中的每個(gè)個(gè)體;所述個(gè)體編碼方法為:
任意個(gè)體的編碼X'=<x'1,x'2,L,x'k,L,x'l'>均采用定長自然數(shù)編碼,碼長l’由下式定義:
其中ui表示i號(hào)規(guī)則最多可使用的次數(shù);規(guī)則號(hào)1到n表示對(duì)n條性能改進(jìn)規(guī)則的依次編號(hào);特別地,引入0號(hào)規(guī)則表示不做任何動(dòng)作的空規(guī)則,并令:1)0號(hào)規(guī)則最多可使用的次數(shù)u0=l’;2)0號(hào)規(guī)則作用在任何軟件體系結(jié)構(gòu)SA上都沒有性能改進(jìn);3)由0號(hào)規(guī)則構(gòu)成的單規(guī)則序列作用在任何軟件體系結(jié)構(gòu)SA上得到的改進(jìn)后的軟件體系結(jié)構(gòu)仍是SA;
X’的每位x'k滿足下式:
x'k∈N∧0≤x'k≤n
其中1≤k≤l',N表示自然數(shù);
X’中i號(hào)規(guī)則出現(xiàn)的次數(shù)記為hi(X’),其滿足下式:
hi(X')≤ui,0≤i≤n
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于福建師范大學(xué),未經(jīng)福建師范大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410546025.1/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 上一篇:變速箱體消失模模樣固定裝置
- 下一篇:一種同體雙工位鍛造加工裝置
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F17-00 特別適用于特定功能的數(shù)字計(jì)算設(shè)備或數(shù)據(jù)處理設(shè)備或數(shù)據(jù)處理方法
G06F17-10 .復(fù)雜數(shù)學(xué)運(yùn)算的
G06F17-20 .處理自然語言數(shù)據(jù)的
G06F17-30 .信息檢索;及其數(shù)據(jù)庫結(jié)構(gòu)
G06F17-40 .數(shù)據(jù)的獲取和記錄
G06F17-50 .計(jì)算機(jī)輔助設(shè)計(jì)
- 規(guī)則發(fā)現(xiàn)程序、規(guī)則發(fā)現(xiàn)處理和規(guī)則發(fā)現(xiàn)裝置
- 不規(guī)則瓶蓋
- 相關(guān)規(guī)則分析裝置以及相關(guān)規(guī)則分析方法
- 分析規(guī)則調(diào)整裝置、分析規(guī)則調(diào)整系統(tǒng)以及分析規(guī)則調(diào)整方法
- 規(guī)則抽取方法和規(guī)則抽取設(shè)備
- 終端規(guī)則引擎裝置、終端規(guī)則運(yùn)行方法
- 布(規(guī)則)
- 規(guī)則呈現(xiàn)方法、存儲(chǔ)介質(zhì)和規(guī)則呈現(xiàn)裝置
- 可編寫規(guī)則配置模塊、規(guī)則生成系統(tǒng)、及規(guī)則管理平臺(tái)
- 不規(guī)則圍棋
- 一種基于應(yīng)用軟件散布的軟件授權(quán)與保護(hù)方法及系統(tǒng)
- 一種用于航空機(jī)載設(shè)備的軟件在線加載系統(tǒng)及方法
- 軟件構(gòu)建方法、軟件構(gòu)建裝置和軟件構(gòu)建系統(tǒng)
- 惡意軟件檢測方法及裝置
- 一種基于軟件基因的軟件同源性分析方法和裝置
- 軟件引入系統(tǒng)、軟件引入方法及存儲(chǔ)介質(zhì)
- 軟件驗(yàn)證裝置、軟件驗(yàn)證方法以及軟件驗(yàn)證程序
- 使用靜態(tài)和動(dòng)態(tài)惡意軟件分析來擴(kuò)展惡意軟件的動(dòng)態(tài)檢測
- 一種工業(yè)控制軟件構(gòu)建方法和軟件構(gòu)建系統(tǒng)
- 可替換游戲軟件與測驗(yàn)軟件的裝置與方法
- 評(píng)估企業(yè)體系結(jié)構(gòu)的方法和系統(tǒng)
- 一種計(jì)算機(jī)體系結(jié)構(gòu)性能模擬方法及系統(tǒng)
- 基于云的主數(shù)據(jù)管理體系結(jié)構(gòu)
- 一種軟件體系結(jié)構(gòu)并行演化沖突的檢測方法
- 基于進(jìn)程代數(shù)的軟件體系結(jié)構(gòu)安全模型的建立方法
- 一種作戰(zhàn)體系建模與仿真系統(tǒng)
- 用于測試混合指令體系結(jié)構(gòu)的方法和系統(tǒng)
- 一種在微體系結(jié)構(gòu)層面表征區(qū)塊鏈系統(tǒng)的方法和裝置
- 基于設(shè)計(jì)數(shù)據(jù)與實(shí)驗(yàn)數(shù)據(jù)的體系結(jié)構(gòu)評(píng)估方法及其系統(tǒng)
- 一種Java項(xiàng)目的體系結(jié)構(gòu)策略定位方法及系統(tǒng)





