版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
-.zSOA架構(gòu)下補償模型驅(qū)動的平安苛求軟件開發(fā)摘要:隨著我國高速鐵路的快速開展,傳統(tǒng)的計算機聯(lián)鎖軟件開發(fā)方法在靈活性、可維護性、平安性以及開發(fā)效率上都顯露出缺乏。針對平安苛求的特點,提出了一個完整的效勞組件開發(fā)模型,該模型基于soa(serviceorientedarchitecture)思想,并成功將其應(yīng)用到計算機聯(lián)鎖軟件系統(tǒng)開發(fā)中,進展了試驗驗證。結(jié)果說明,該模型不僅能提高軟件的平安性,還大大提高了軟件開發(fā)效率。
關(guān)鍵詞:面向效勞架構(gòu)效勞組件架構(gòu)平安苛求軟件
1引言
鐵路車站信號計算機聯(lián)鎖系統(tǒng),是鐵路信號的根底設(shè)備,同時也是鐵路運輸領(lǐng)域中重要的控制系統(tǒng),它是以現(xiàn)代計算機技術(shù)、控制技術(shù)和通信技術(shù)為根底來實現(xiàn)對車站信號設(shè)備的聯(lián)鎖控制。計算機聯(lián)鎖軟件成為了計算機聯(lián)鎖系統(tǒng)的核心,因此必須確保它對聯(lián)鎖邏輯的描述和平安控制的實現(xiàn)準確無誤。而隨著我國高速鐵路的快速開展,對聯(lián)鎖軟件在技術(shù)和功能上提出了新的要求。傳統(tǒng)軟件開發(fā)方法在靈活性、可維護性、軟件平安性以及開發(fā)效率上都顯露出缺乏。
計算機聯(lián)鎖是以計算機為主要技術(shù)手段實現(xiàn)車站聯(lián)鎖的實時控制系統(tǒng)。其根本任務(wù)是對車站值班員的操作命令及現(xiàn)場各種表示信息通過計算機進展邏輯運算,并輔以各種“故障-平安〞措施。聯(lián)鎖系統(tǒng)各主要局部的功能和設(shè)置地點的劃分層次構(gòu)造,如圖1所示。
聯(lián)鎖層是聯(lián)鎖控制系統(tǒng)的核心,聯(lián)鎖機構(gòu)除了接收來自人時機話層的操作信息外,還接收i/o接口層的反映信號機、動力轉(zhuǎn)轍機和軌道電路狀態(tài)的信息,即信號控制命令和道岔控制命令。i/o接口層接收來自聯(lián)鎖層的控制命令,經(jīng)過信號機控制電路,改變信號顯示;接收來自聯(lián)鎖層的道岔控制命令,驅(qū)動道岔轉(zhuǎn)換。室外設(shè)備是聯(lián)鎖系統(tǒng)的控制對象,它包括信號機、轉(zhuǎn)轍機和軌道電路。
本文針對平安苛求軟件的特點,面向我國高速鐵路計算機聯(lián)鎖軟件的應(yīng)用需求,基于目前主流的soa思想的實現(xiàn)規(guī)*,即效勞組件體系構(gòu)造sca,提出并實現(xiàn)了一個完整的效勞組件開發(fā)模型,掙脫webservice框架對soa思想的束縛,并能根據(jù)效勞組件模型生成代碼框架。
2soa和sca
面向效勞的體系架構(gòu)soa(serviceorientedarchitecture)是1996年gartner公司描述實施企業(yè)“v英文〞時第一次提出來的。w3c將soa定義為:“一套可以被調(diào)用的組件,用戶可以發(fā)布并發(fā)現(xiàn)其接口。〞soa是一種軟件設(shè)計開發(fā)思想,它超越并包含所有的具體技術(shù)和所有的具體架構(gòu)。效勞組件框架sca(serviceponentarchitecture)的java標準來自ibm。sca是一套面向效勞的soa編程模型或者說編程架構(gòu),也是一種soa思想的實現(xiàn)方式。sca通過模塊(posite)將sca的組件集成在一起的。模型開發(fā)應(yīng)用中,總是期望能提高軟件開發(fā)效率,增強軟件平安性。因此,本文針對聯(lián)鎖軟件平安性高的特性,提出一種面向聯(lián)鎖的soa效勞組件開發(fā)模型。
3聯(lián)鎖邏輯效勞組件的開發(fā)模型
聯(lián)鎖軟件主要由兩大局部構(gòu)成,一是聯(lián)鎖功能程序,二是聯(lián)鎖數(shù)據(jù)。聯(lián)鎖功能程序主要是對聯(lián)鎖數(shù)據(jù)進展邏輯運算以完成聯(lián)鎖功能;聯(lián)鎖數(shù)據(jù)主要用于反映監(jiān)控車站各個設(shè)備的區(qū)動采集對象的特征和狀態(tài)。聯(lián)鎖軟件的核心局部是關(guān)于根本進路過程的處理,包括進路選排、進路鎖閉、進路信號開放、進路信號保持和進路解鎖等過程。由此,根本進路可以看成聯(lián)鎖軟件提供的流程效勞,對應(yīng)人時機話層操作員辦理進路的業(yè)務(wù)需求。對于操作人員來說,根本進路處理流程作為一個整體效勞被調(diào)用。這個流程效勞包括以下幾個任務(wù):進路選排、進路鎖閉、進路信號開放、進路信號保持和進路解鎖,每個任務(wù)通過調(diào)用相應(yīng)的效勞來完成聯(lián)鎖軟件的功能。在業(yè)務(wù)流程進路辦理的過程中,進路選排效勞、進路鎖閉效勞調(diào)用成功,但是進路信號開放效勞因為信號燈故障不能開燈,此時對于聯(lián)鎖系統(tǒng)軟件的人時機話層來說,業(yè)務(wù)流程進路辦理調(diào)用已經(jīng)失敗。而進路選排效勞、進路鎖閉效勞的調(diào)用已經(jīng)成功完成,相關(guān)的驅(qū)動采集對象如信號機、道岔和區(qū)段等設(shè)備狀態(tài)和特性已經(jīng)被這些成功調(diào)用的效勞修改了。這就有可能導(dǎo)致不可控的命令下發(fā)到室外設(shè)備,導(dǎo)致平安隱患。因此,在進路辦理的執(zhí)行過程中出現(xiàn)了業(yè)務(wù)流程效勞未成功調(diào)用,但卻對設(shè)備對象數(shù)據(jù)產(chǎn)生影響的場景。
基于上述問題,本文的效勞模塊開發(fā)模型定義了一種被稱為“補償〞的效勞機制來完善效勞的模型,以解決業(yè)務(wù)流程效勞的執(zhí)行原子性和數(shù)據(jù)一致性的問題。例如流程效勞逐個調(diào)用兩個效勞,如果只有一個根本效勞調(diào)用成功,可以通過適當(dāng)?shù)氖虑閬硌a償前一個效勞調(diào)用成功所產(chǎn)生的影響。每個根本效勞都有一個相應(yīng)的補償處理效勞,用于消除對應(yīng)根本效勞的調(diào)用產(chǎn)生的影響。一旦進展補償,流程效勞中已經(jīng)運行完成的所有效勞都會依照特定的邏輯進展補償。補償效勞機制致力于維護業(yè)務(wù)流程的執(zhí)行原子性,即業(yè)務(wù)流程的執(zhí)行結(jié)果只能是以下兩種情形之一:流程效勞執(zhí)行成功或流程效勞執(zhí)行失敗但不產(chǎn)生任何影響。當(dāng)執(zhí)行特定的流程效勞時,相關(guān)聯(lián)的用于補償調(diào)用的就是補償效勞。補償效勞僅在流程效勞完成時才能夠被調(diào)用,當(dāng)流程執(zhí)行過程中出現(xiàn)故障時,執(zhí)行預(yù)先關(guān)聯(lián)的補償效勞來補償業(yè)務(wù)流程效勞的行為。在一個業(yè)務(wù)流程執(zhí)行過程中,如果定義了關(guān)聯(lián)的補償效勞,就應(yīng)該記錄業(yè)務(wù)流程各個效勞的執(zhí)行順序,注冊關(guān)聯(lián)的補償效勞及輸入數(shù)據(jù)到補償效勞處理隊列。如果業(yè)務(wù)流程正常完成,則不需要任何補償。因此基于以上補償機制,完善的效勞組件補償模型應(yīng)該滿足這樣的條件:對任意一個業(yè)務(wù)流程效勞,每次調(diào)用的構(gòu)造要么是成功執(zhí)行,要么不產(chǎn)生任何影響。即實現(xiàn)了業(yè)務(wù)流程的執(zhí)行原子性?;谝陨侠碚摚梢缘贸鰏ca構(gòu)架下補償效勞處理機制的通用模型如圖2所示。
如圖2所示,根本效勞1和根本效勞2屬于同一個組合效勞,且都成功的完成了調(diào)用〔第1,2步〕。而屬于流程效勞的根本效勞3的調(diào)用〔第3步〕也成功完成。假設(shè)此時根本效勞4調(diào)用〔第4步〕失敗,被業(yè)務(wù)流程效勞關(guān)聯(lián)的補償效勞捕捉到,觸發(fā)了補償效勞〔第5步〕。補償效勞開場執(zhí)行,通過調(diào)用后進先出的補償效勞隊列〔與業(yè)務(wù)流程完成的次序相反〕,依次調(diào)用補償處理效勞〔第6-10步〕來補償之前操作產(chǎn)生的影響。
實際的聯(lián)鎖軟件應(yīng)用中,用戶的需求經(jīng)常是比較復(fù)雜的。聯(lián)鎖軟件效勞組件除了調(diào)用根本的效勞組件之外,也需要調(diào)用一些優(yōu)先級較高的緊急操作效勞,而這些效勞組件往往是依賴外部設(shè)備驅(qū)動采集的狀態(tài)。因此,在效勞模型中引入了兩個特殊的端點,一個是“導(dǎo)入〞(import),使得模塊中的效勞組件可以調(diào)用模塊外部的效勞。另一個是“導(dǎo)出〞(e*port),它使得模塊外部的應(yīng)用可以調(diào)用模塊中的效勞組件。導(dǎo)入和導(dǎo)出的引入增加了效勞組件的靈活性,使得此模型的效勞調(diào)用能夠跨越效勞模塊的限制。
4模型在計算機聯(lián)鎖軟件中的應(yīng)用
為了驗證和測試上述模型的有效性,基于以上效勞模塊模型,在linu*平臺上開發(fā)了一個計算機聯(lián)鎖軟件系統(tǒng)。此聯(lián)鎖邏輯補償模型可以獲得計算機聯(lián)鎖軟件系統(tǒng)的效勞組件補償模型如圖3所示。
聯(lián)鎖軟件實時監(jiān)測人機交互層操作人員的操作命令,調(diào)用相應(yīng)的業(yè)務(wù)流程效勞執(zhí)行相應(yīng)的軟件功能。在執(zhí)行流程效勞的同時,聯(lián)鎖軟件監(jiān)測是否有來自外部的高優(yōu)先級效勞調(diào)用,以保證緊急情況下聯(lián)鎖軟件的平安性需求。在以往的聯(lián)鎖軟件進路辦理過程中,進路辦理的進路選排、進路鎖閉、進路信號開放、進路信號關(guān)閉和進路解鎖等過程在程序執(zhí)行時,除了對聯(lián)鎖數(shù)據(jù)進展邏輯運算,還需要檢測各個執(zhí)行過程是否成功完成。這提高了聯(lián)鎖軟件業(yè)務(wù)流程各個效勞模塊的耦合度。每個效勞子模塊都應(yīng)包含補償處理,以消除業(yè)務(wù)流程執(zhí)行過程中當(dāng)前所有已經(jīng)成功執(zhí)行的子模塊所產(chǎn)生的影響。因此,此效勞模型的業(yè)務(wù)流程子效勞模塊的補償處理只關(guān)心當(dāng)前子模塊成功調(diào)用產(chǎn)生影響,而不會關(guān)聯(lián)到業(yè)務(wù)流程執(zhí)行的上下文環(huán)境。因此,本文提出的效勞組件開發(fā)模型能在相當(dāng)大的程度上減少軟件設(shè)計開發(fā)的冗余,提高軟件開發(fā)的效率,同時這也限制了各個子模塊的功能邊界,減少了因為模塊之間高度耦合而帶來的平安性問題。
5完畢語
本文基于soa思想,針對平安苛求軟件的特點,設(shè)計了在sca標準下一種完整的效勞組件開發(fā)模型,通過在地鐵試驗線計算機聯(lián)鎖系統(tǒng)的應(yīng)用驗證了該模型的正確性。由此模型驅(qū)動生成效勞組件代碼框架,不僅提高了軟件的平安,還大大提高了軟件的開發(fā)效率。此效勞組件模型的業(yè)務(wù)流程效勞依賴補償效勞,這種補償效勞機制雖然能提高軟件開發(fā)效率,但其與業(yè)務(wù)流程關(guān)聯(lián)度還比較高,提高了效勞模塊的耦合程度。因此,將來的方向是改進當(dāng)前補償效勞的執(zhí)行機制,降低與具體業(yè)務(wù)流程之間的耦合程度。
參考文獻:
[1]盧志杰,覃正.soa構(gòu)架與電子商務(wù)應(yīng)用集成[j].計算機應(yīng)用研究,2004,21(10):232-234.
[2]王紫瑤,南俊杰,段紫輝,等.soa核心技術(shù)及應(yīng)用[m].:電子工業(yè),2008
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 員工生病協(xié)議書
- 小學(xué)實習(xí)協(xié)議書
- 諸暨就業(yè)協(xié)議書
- 資金入社協(xié)議書
- 薪酬協(xié)議勞動合同
- 魚苗轉(zhuǎn)讓合同范本
- 2026河北滄州職業(yè)技術(shù)學(xué)院、滄州工貿(mào)學(xué)校高層次人才選聘23人參考考試試題及答案解析
- 鴨子收購合同范本
- 小學(xué)寒假協(xié)議書
- 藥廠競業(yè)協(xié)議書
- 2025年河北地質(zhì)大學(xué)第二次公開招聘工作人員65人備考題庫完整答案詳解
- 安全崗面試題庫及答案
- 2025年勞動合同(兼職設(shè)計師)
- 2025至2030中國牙科高速手機行業(yè)調(diào)研及市場前景預(yù)測評估報告
- 2025年遼寧地區(qū)農(nóng)村電力服務(wù)有限公司聯(lián)合招聘筆試參考試題附答案解析
- 2025年社保局結(jié)構(gòu)化面試題庫及答案
- 旱獺繁殖生態(tài)學(xué)-洞察及研究
- 事業(yè)單位聘用合同范本
- 重慶市大一聯(lián)盟2026屆高三上學(xué)期12月聯(lián)考數(shù)學(xué)試卷(含解析)
- DB34∕T 4007-2021 特種設(shè)備作業(yè)人員職業(yè)技能培訓(xùn)機構(gòu)基本條件
- 零序CT驗收專題知識專家講座
評論
0/150
提交評論