999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于云平臺的軟件服務流引擎技術研究

2012-03-07 03:00:30徐凌宇杜金峰
關鍵詞:用戶服務模型

蔡 茂, 徐凌宇, 東 韓, 陳 亮, 杜金峰

(1.上海大學 計算機工程與科學學院,上海 200072;2.國家海洋信息中心,天津 300171)

隨著“數字海洋”項目的實施,我國海洋信息化工作不斷發展,建成了大量的專業海洋環境信息數據庫,搭建了多套應用于海洋多種業務的信息系統。它們為我國海洋事業的發展提供了有力的信息保障和技術支撐。

然而以上這些各自獨立且內部結構相似的系統也存在以下問題:資源占用多,運行成本高;傳統模式難以適應業務部署的快速要求,缺乏統一部署計算資源的規劃;業務系統穩定性和可靠性低,系統維護難度大。

新興的云計算與云服務技術可以有效地解決上述海洋信息系統建設中存在的問題。利用云計算技術構建海洋環境信息綜合服務應用框架體系,建設支撐海洋環境信息業務的低成本試驗和運營環境,可以提高海洋資源信息的可重用性與共享性以及應用系統的可擴展性。

SaaS(Software as a Service)是隨著互聯網技術的發展和應用軟件的成熟而興起的基于互聯網環境和云計算方式的新型軟件服務模式,是軟件和信息服務的重要發展方向[1]。在云平臺(cloud platform)上,服務最終體現在高效的服務組合上,以實現不同請求的業務邏輯。軟件即服務(SaaS)是以云計算為基礎的一種快速、共享、重用的IT應用程序生成方法,稱之為軟件云服務。在面向用戶上,SaaS具有無硬件、無維護、無升級等多種優勢,因此出現了很多相關的SaaS平臺產品。Hadoop是當今使用最廣泛,發展最完善的云計算分布式系統基礎框架和開源分布式數據處理框架,被用于高效地處理海量數據。由于Hadoop具有可伸縮性、高可靠性、低成本性和高效性等優點,因此本文采用Hadoop作為底層云平臺的基礎開發和運行框架。

1 軟件服務流

海洋環境信息云服務體系框架可以向用戶提供可定制的個性化服務,結合SaaS的思想,向用戶提供商品的基本單元為服務,一個服務的實現是一個復雜的過程,需要調用云平臺的大量數據和資源,而用戶的整個需求,可以解析成由多個彼此關聯的服務單元組成的復雜整體。要處理好一個復雜的用戶需求和大批用戶同時提交的需求,并提供可靠的服務,這對云服務體系框架提出了很高的調度與執行要求。

為了滿足用戶的個性化請求,傳統的工作流建模[2]會采用基于組件的動態結構模型敏捷表達出客戶需求,然后建立基于工作流的需求結點元模型,對需求表達協作式工作流進行語義描述,并構建其管理邏輯結構,從而控制與協調需求表達的結點、數據及工作流的方向以實現工作流的自動化處理過程。

本文把云計算技術與工作流技術相結合,提出了軟件服務流的概念。軟件服務流的基本思想是將原本分布放置在云平臺上執行的錯綜復雜的可執行程序,通過細粒度中間件過度抽象成服務模型提供給用戶以定制,用戶的定制被解析成一個相互關聯的基本服務單元組成的流程圖,再在軟件服務流引擎的解析調度下完成自動化執行過程。

不同于傳統的工作流,軟件服務流的特點在于流程單元是云服務,由于在云平臺上服務的執行過程更加復雜和不可預知,軟件服務流的服務抽象也會更加復雜,它的自動化執行對于高效性、實時性、穩定性、糾錯能力的要求也更高。

2 軟件服務流引擎

2.1 系統執行和交互設計

系統執行和交互設計流程如圖1所示。

圖1 系統總流程

首先,應用層(上層)在向用戶提供個性化定制服務之前,將用戶需求結構化抽象成底層平臺可執行的一個個服務單元,將這些服務單元通過Web界面向用戶開放提供自定制服務[3]。用戶的自定制過程不是基本服務單元的簡單疊加,而是相互聯系的復雜串行、并行、包含等關系的集合。自定制服務流在促進資源的合理配置和信息資源的有效傳遞和共享的同時,提高了效率,也滿足了不同用戶的個性需求[4]。

在施動層(底層),一個基本服務單元就是一個Hadoop上符合Map-Reduce規則的可執行程序,程序的執行需要提供HDFS程序路徑、用戶提供的參數及平臺的數據文件等[5]。

服務流引擎(中間層)在這兩層之間負責總的調度協調、服務與結構化執行模型的接口轉換與控制及容錯與錯誤處理等。

為了抽象用戶請求,簡化調度信息,屏蔽與調度工作無關的信息,本文設置了交互數據庫作為上下層的接口,Web服務器接收到一個用戶請求后,應用層負責將其匹配成平臺的可執行程序,將執行路徑、執行參數及用戶信息等寫入數據庫,這樣將用戶請求抽象成一個有向無環圖,將圖傳遞給引擎,由引擎解析調度遞交施動層,施動層再從交互數據庫中還原出執行信息以進行下一步的執行操作[6-7]。

交互數據庫的設置完全釋放了引擎的額外工作壓力,使得引擎可以專注于處理調度、容錯、優化及錯誤補救等工作,這在處理大規模用戶訪問時尤為重要。

2.2 服務抽象

服務抽象是將平臺底層的可執行程序轉化成提供給用戶的服務模型。如何用平臺上有限的可執行程序表達出用戶多樣的服務請求,本文借鑒SOA面向服務架構中的服務粗細粒度組件轉化思想[8],設置了細粒度中間件作為過渡。模型匹配關系如圖2所示。

圖2 模型匹配關系

圖2中,細粒度中間件為Hadoop平臺可執行的最小單位,是一個復雜的海洋表面溫度(Sea Surface Temperature,簡稱SST)融合算法,該算法加上對應的監測數據,結合Matlab繪圖程序和相關連接程序可以組成一個可視化海溫預測的服務模型向用戶開放。而在底層,中間件是平臺執行的最小單位,每個中間件均符合平臺Hadoop執行規則的程序,但是平臺的可執行模型庫又不僅僅是中間件的集合,本文可以將常用的一些中間件的有機組合或者中間件的優化組合做成一個可執行模型,放入可執行模型庫。

簡單地說,服務模型和可執行模型都是細粒度中間件的有機組合,服務模型是為了具體有效地描繪用戶的服務請求,而可執行模型是更大程度地匹配Hadoop平臺執行規范,優化執行效率。軟件服務流引擎的作用是負責將用戶定制的服務模型流拆分重組為可執行模型流,以匹配優化執行;同時負責服務模型庫和可執行模型庫的動態更新與優化工作,以保持系統的穩定性與高效性。

2.3 EOE調度算法

一個用戶的請求最終可以被還原成一個帶權的有向無環圖(Directed Acyclic Graph,簡稱DAG)F,F= {TM,R},一個可執行模型就是一個結點,TM為結點的集合,R為各個結點之間的關系,這種關系主要是邏輯上的輸入輸出關系,例如T1→T2即表示T1的輸出作為T2的輸入。

2.3.1 工作流調度方式

傳統的工作流建模方式[9]即是通過定義活動節點、有向邊及活動的啟動方式構建基于有向圖的工作流模型,然后構建活動的狀態集、狀態函數、動作模型和條件模型,并定義活動的執行規則,且詳細描述基于該規則的活動內部運行機制,從而實現工作流的自動化執行。

傳統上,一個工作流系統經常被設計成便于在一個活動具有類似性質的特定應用領域的自動化處理[10]。針對這些特定應用,工作流系統的調度策略對于實時性的要求較低。

最直觀的解決方法是傳統的拓撲排序順序調度,利用圖廣度優先遍歷算法,得到F的拓撲有序序列A,以序列A的順序交付執行,該方法實現簡單、穩定性高,但效率極低。

在工作流執行中分層算法[11]廣泛使用。在使用分層算法前,要將已知的圖以層次圖的形式表示出來。在層次圖中,結點被分為若干個部分,每一部分稱為一層,同層頂點沒有邊連接。算法為:

(1)把所有的匯點(即出度為0的點),放置在最底層,即L1層。

(2)余下的每個結點u所放置的層數記為y(u),計算每個結點y值的公式為:其中,N+(u):= {v∈V|?(u,v)∈E}。

算法的思想是把最長路徑作為生成圖的高度,并且所有匯點放置在最底層,其他的路徑長度不會超過最長路徑,則最長路徑的長度為生成圖的總層數,保證了最小高度的實現,按照層次劃分線性執行。

分層算法簡單,易于實現,而且可以在線性時間內結束。算法的邏輯清晰、易于實現、系統結構嚴密、出錯情況易處理,很大程度上實現了結點的并行執行,但是也并沒有達到最大程度的并行。

2.3.2 EOE算法

帶權的n-層有向無環圖G=(V,E)的最小高度最長路徑為:

用分層算法的實際運行時間為:

即每層的最長運行時間之和,顯然這不是最高效率的。

而系統的理論最短執行時間tmin應該是流程的各執行單元在執行條件完備的情況下立即執行,最后得到的執行時間。由于軟件服務流的特征是執行單元的復雜度、未知性更高,一個執行單元的執行過程是無法重現的,所以是無法預知的,tmin只能在流程執行后計算出,作為調度算法效率的對比參照值而存在。為了接近tmin,最簡單的方法是把系統設計成一個監控進程不斷循環掃描軟件服務流中可執行的模型結點,顯然這種方式會加重系統負載,降低系統吞吐率和穩定性。

為了得到分層算法清晰的拓撲排序以保證系統的穩定性,同時也希望保證系統的高并發性使得處理時間接近tmin,本文提出了EOE(Execute Once Enabled),即一旦可以立即執行的算法,以最高的并行效率和最低的處理開銷執行流程。算法的基本步驟為:

(1)解析DAG圖,完整地保存圖各結點以及結點間的關系信息。

(2)開始結點標記為可執行結點。

(3)可執行結點交付平臺執行,同時開辟監控進程。

(4)監控進程監控結點執行狀態,出錯轉步驟(5),正確完成轉步驟(6)。

(5)處理出錯信息后向上層報告,或重新執行。

(6)處理監控結點的后繼結點,具體做法為:如果監控結點無后繼結點,則轉步驟(7);如果有后繼結點,則順序處理監控結點的各個后繼結點,刪除監控結點與后繼結點相關聯的邊,檢查后繼結點的入度信息,如果入度為0,則標記為可執行結點,轉步驟(3);如果入度不為0,則不予處理。

(7)執行完成,保存結果,遞交上層。

2.3.3 EOE算法分析

EOE算法的執行高效性和實時性在于它的主動執行過程,主要體現在以下2方面:

(1)結點的執行是在執行過程中實時啟動的。在分層算法中,結點的執行順序在任務運行前就已經定了下來,同一層次的結點執行是綁定的,一個結點的出錯會延誤整個層次的執行進度。而在EOE算法中,由于每個結點在執行條件完備時立即可執行,這樣一旦執行過程中有結點出錯,系統延誤會降到最低,出錯結點只會影響到自己后繼結點的執行。

(2)結點的執行是主動激活模式的。本文將圖的信息保存后,從起始結點開始執行,每個正確執行完成的結點將激活自己的后繼結點中所有執行條件完備的可執行結點,不可執行的結點丟棄處理,會由未完成的前驅結點稍后激活。這樣的處理將系統所開辟的執行即監控進程降到最低,節約了系統資源,提高了執行效率。

3 應用與實現

系統應用在國家海洋信息中心海洋環境信息云服務專用服務器上,初步demo已經部署運行成功。

在實驗室環境下,綜合考慮交互頻率和處理負荷,Web服務器和數據庫服務器部署在一臺機器上,而引擎和施動層部署在一臺服務器上,Hadoop平臺由一臺PC做主控服務器,16臺PC做數據服務器。基礎服務單元,數據文件選擇MB級的小文件和GB乃至數十GB級的中型文件,而可執行程序則選擇WordCount和Multyply做模擬運行。本文使用了多臺機器模擬多用戶訪問,其中的一個任務的DAG圖和運行結果記錄如圖3所示。

圖3 模擬任務的DAG圖和運行結果數據庫截圖

如果使用分層算法,exe 5為最底層L1,exe 3和exe 4為L2層,exe 2為L3層,exe 0和exe 1為L4層。分析可得各算法效率分析結果,見表1所列。表1中,執行效率r=tmin/t,r∈ (0,1)。

由表1可見,EOE算法的執行效率最接近理論最優值,而進一步分析數據庫中的時間節點發現,EOE算法相對于理論最優算法的冗余時間發生在當可執行結點執行完畢處理后續結點時,處理時延是相對固定的,在可執行模型執行規模相對較小時,這段處理時延會在一定程度上影響系統效率,但當應用在大規模可執行模型的執行調度時,這個相對固定的處理時延是可以忽略的。本文嘗試使用GB及數十GB級的數據文件,使得可執行模型的執行時間盡量延長,最后可以驗證,EOE算法相對于理論最優值的處理時延始終固定在數秒至數十秒的規模。

表1 各算法效率分析對比

由運行結果可以看出,同一種可執行模型,由于數據、平臺負載等條件不同,在不同結點上執行時,執行時間都不相同,但每個結點在執行條件完備,即所有前趨結點正確執行后都可立即執行。

4 結束語

本文結合傳統的工作流自動化處理機制,提出了云計算中實現SaaS服務的軟件服務流模式。首先將底層Hadoop平臺執行的復雜云計算程序抽象成向用戶提供的服務模型,用戶的自定制服務轉化成可執行模型流程后,由軟件服務流引擎自動調度處理執行,運用改進的EOE實時調度算法,可最大限度地實現系統的并行性,同時監控進程的實時激活機制也可以將系統的處理開銷降到最低。在海洋環境信息云體系框架下的應用證明了該模式的可行性,目前已經對數十GB級別的執行文件和數十用戶同時訪問的情況做了可行性驗證實驗。

[1] Li Weiping.An analysis of new features for workflow system in the SaaS software[C]//International Conference on Interaction Sciences:Information Technology,Culture and Human,Seoul,Korea,2009:110-114.

[2] 楊 沁,衛道柱,潘秀琴.面向需求表達的個性化產品協作式工作流建模[J].合肥工業大學學報:自然科學版,2010,33(10):1462-1467.

[3] 羅小利,吳清烈.SaaS軟件服務基于大規模定制的業務邏輯框架研究[J].電信科學,2011(9):26-31.

[4] Das C,Mohan G H,Roy R,et al.Quo Vadis,SaaS a system dynamics model based enquiry into the SaaS industry[C]//International Conference on Information Management and Engineering,2010:732-737.

[5] Borthakur D.HDFS architecture guide[EB/OL].[2011-10-07].http://hadoop.apache.org/common/docs/current/hdfs-design.html.

[6] Zhang Liyong,Wen Yan,Han Yanbo.A proactive approach to load balancing of workflow execution in a SaaS environment[C]//International Symposium on Service Oriented System Engineering,2010:39-46.

[7] Wu Bin,Deng Shuiguang,Li Ying,et al.Reference models for SaaS oriented business workflow management systems.[C]//International Conference on Services Computing,2011:242-249.

[8] 張 曌.基于SOA的網絡管理系統架構及應用研究[D].上海:上海交通大學,2007.

[9] 陳四根,蔣增強,安蘇華,等.基于有向圖的工作流建模及其運行[J].合肥工業大學學報:自然科學版,2007,30(1):60-65.

[10] Liu Xiao,Ni Zhiwei,Yuan Dong.A novel statistical timeseries pattern based interval forecasting strategy for activity durations in workflow systems[J].Journal of Software and System,2011,84:354-376.

[11] Chen Jianxin,Tang Hai.Research on layering algorithm of DAG[C]//International Conference on Computer Science and Software Engineering,2008:271-274.

猜你喜歡
用戶服務模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
服務在身邊 健康每一天
今日農業(2019年12期)2019-08-15 00:56:32
服務在身邊 健康每一天
今日農業(2019年10期)2019-01-04 04:28:15
服務在身邊 健康每一天
今日農業(2019年16期)2019-01-03 11:39:20
招行30年:從“滿意服務”到“感動服務”
商周刊(2017年9期)2017-08-22 02:57:56
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
3D打印中的模型分割與打包
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
主站蜘蛛池模板: 亚洲激情99| 毛片网站在线看| 亚洲一道AV无码午夜福利| 欧美日韩一区二区在线免费观看| 91麻豆精品国产91久久久久| 国产女人在线| 999国内精品久久免费视频| 欧美一区二区三区国产精品| 国产亚洲精品91| 日韩成人在线网站| 欧美日韩一区二区三| 国产精品亚洲专区一区| 国产小视频在线高清播放 | 天天婬欲婬香婬色婬视频播放| 亚洲无码久久久久| 性激烈欧美三级在线播放| 国产福利免费观看| 亚洲乱码在线视频| 亚洲成年人片| 中国丰满人妻无码束缚啪啪| 国产高清免费午夜在线视频| 国产在线97| 日韩欧美国产成人| a级毛片在线免费观看| 国产va在线观看| 国产a在视频线精品视频下载| 精品伊人久久久大香线蕉欧美| 亚洲一欧洲中文字幕在线| 亚洲精品麻豆| 蜜臀av性久久久久蜜臀aⅴ麻豆| 日韩黄色大片免费看| 亚洲精品欧美日本中文字幕| 999精品视频在线| 欧美日本在线观看| 亚洲欧美在线看片AI| 精品乱码久久久久久久| 欧美国产视频| 久久人搡人人玩人妻精品一| 亚洲第一色视频| 毛片网站在线播放| 亚洲精品无码不卡在线播放| av天堂最新版在线| 国产在线拍偷自揄观看视频网站| 免费国产好深啊好涨好硬视频| 找国产毛片看| 国产日韩欧美在线播放| 麻豆精品久久久久久久99蜜桃| 91久草视频| 国产哺乳奶水91在线播放| www.99在线观看| 国产日韩欧美视频| 国产在线日本| 日本三级黄在线观看| 免费一级毛片在线播放傲雪网| 国产69精品久久| 天天做天天爱夜夜爽毛片毛片| 97人人做人人爽香蕉精品 | 免费高清a毛片| 亚洲国产精品一区二区高清无码久久| 伊人久久大线影院首页| 国产男女免费完整版视频| 国产av色站网站| 免费人欧美成又黄又爽的视频| 精品国产一区91在线| 久久这里只精品国产99热8| Jizz国产色系免费| 国产女人喷水视频| 亚洲一欧洲中文字幕在线| 国产精品999在线| 国产青青草视频| 国产一级毛片在线| www.99精品视频在线播放| 久久五月视频| 亚洲精品人成网线在线 | 制服丝袜 91视频| 九九香蕉视频| 免费观看无遮挡www的小视频| 大陆精大陆国产国语精品1024| 亚洲精品视频免费| 在线观看国产黄色| 欧美国产成人在线| 九色91在线视频|