[發明專利]一個高效的BPEL服務動態更新方法有效
| 申請號: | 201210389324.X | 申請日: | 2012-10-15 |
| 公開(公告)號: | CN102902804A | 公開(公告)日: | 2013-01-30 |
| 發明(設計)人: | 馬曉星;曹春;呂建;馮仁君 | 申請(專利權)人: | 南京大學 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 南京知識律師事務所 32207 | 代理人: | 張蘇沛 |
| 地址: | 210093 江*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一個 高效 bpel 服務 動態 更新 方法 | ||
技術領域
本發明屬于計算機應用領域,具體是基于對BPEL流程進行動態分析,從而提高服務動態更新的效率。
背景技術
隨著網絡和分布式技術的不斷發展,基于網絡服務的業務提供手段正逐漸成為主流。服務作為軟件的一種表現形式不可避免的會面臨更新和升級問題。最基本的做法是中止服務,然后對服務進行更新,直到服務更新完畢再啟動服務。服務的中止必然會對客戶帶來巨大的困擾并且對商家自身帶來經濟損失。同時,服務中止會導致服務數據的丟失,這同樣可能對雙方帶來不必要的麻煩。面對這些問題,動態更新技術是一種很好的解決辦法。
目前,許多關于動態更新的技術都集中在構件層,這些技術都要求已經獲得構件間或服務間的依賴拓撲圖,但是它們卻沒有提供該依賴拓撲圖的解決方案。一般的做法是利用服務間靜態依賴作為依賴拓撲圖。很明顯,這樣會使得動態更新效率低下,服務中斷程度加大。我們的改進方案可以在服務運行時刻實時計算將來可能被執行的節點,獲得更加精確實時的依賴拓撲圖,從而我們就可以提前預知某些服務或組件是否會被調用,也就可以決定他們是否可以進行動態更新。
BPEL是一種流行的事務流程執行語言,是一種基于XML的編程語言。它用于自動化業務流程,是最常用的Web服務開發語言之一。我們設計的服務動態更新改進方法就是基于該語言定義的服務。
發明內容
本發明所要解決的技術問題是服務動態更新效率低下,該方法通過動態分析,動態計算服務執行時刻可能被執行的節點,提供更加精確實時的依賴拓撲圖,從而提高現有動態更新技術的工作效率。
本發明的技術方案為:一種高效的BPEL服務動態更新方法,主要包括以下兩個部分:
(1)根據BPEL的特性對BPEL流程進行建模。建模的基本是將BPEL流程構建成有向圖,對于結構化的節點(包括域、分支、循環、并發等)都設計對應的Begin和End節點。域節點中的所有信息都保存到Begin節點中。分支節點的設計理論是轉化為二叉樹,從而保證對于每個分支都只有ture和false兩個分支。循環節點則將循環控制和循環部分分離,引入Loop節點控制循環次數。并發節點保留原BPEL流程并發的含義,并且不能減少該節點本身語義。
(2)在動態分析時,我們從流程執行的當前節點開始分析,因為其他未執行路徑上的節點并不會被流程執行,從而優化了服務間的依賴。對于一般節點,其所有的孩子節點都可能被執行。另外,我們還利用流程運行時刻的數據,對以后可能被執行的分支和循環等節點進行預判。如果能夠預判,那么就可以確定流程會執行哪條分支,從而進一步優化服務間依賴關系,提高動態更新的效率。
附圖說明
圖1為本發明實施例的靜態和動態計算可達集比較。
圖2為本發明實施例的分支節點建模設計圖。
圖3為本發明實施例的循環節點建模設計圖。
圖4為本發明實施例的并發節點建模設計圖。
圖5為本發明實施例的動態分析方法簡化圖。
具體實施方式
以下結合附圖和具體實施例對本發明作進一步詳細說明。
本發明的改進方法指利用服務運行時刻的數據提前實時計算服務將來可能被執行的節點,提供更加精確的服務依賴關系信息。由此,動態更新算法將可以在更加精確實時的依賴拓撲圖上進行,使得動態更新提前并且帶來的系統暫停更短。
本發明所述的基于BPEL的服務內動態分析方法主要包含以下幾個工作:
1、對BPEL流程進行建模:根據BPEL的特性對BPEL流程構建高效模型,建模的主體思想是將BPEL流程構建成有向圖,對于結構化的節點(包括域、分支、循環、并發等)都設計對應的Begin和End節點。域節點中的所有信息都保存到Begin節點中。分支節點的設計理論是轉化為二叉樹,從而保證對于每個分支都只有ture和false兩個分支,如圖2。循環節點則將循環控制和循環部分分離,引入Loop節點控制循環次數,如圖3。并發節點保留原BPEL流程并發的含義,并且不能減少該節點本身語義,如圖4。
2、利用BPEL流程運行時刻的數據信息,進行動態分析,實時更新流程可能被執行節點的結合。在動態分析時,我們從流程執行的當前節點開始分析,因為不會被流程執行的路徑上的節點對應的服務在將來不會被調用,從而優化了服務間的依賴。對于一般節點,其所有的孩子節點都可能被執行。另外,我們還利用流程運行時刻的數據,對以后可能被執行的分支和循環等節點進行預判。如果能夠預判,那么就可以確定流程會執行哪條分支,從而進一步優化服務間依賴關系,提高動態更新的效率。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南京大學,未經南京大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210389324.X/2.html,轉載請聲明來源鉆瓜專利網。





