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

軟件可靠性設計的應用

2020-08-13 07:17:51王青松王光輝朱林
軟件 2020年6期

王青松 王光輝 朱林

摘 ?要: 軟件可靠性對于軟件系統來說是非常重要的質量屬性。在項目實施過程中,保證應用軟件具備穩定運行的能力、保障應用軟件的可靠性是軟件實施項目首先需要考慮的因素。在文聯人事工作平臺項目建設過程中通過采用數據庫雙機備份、改進的防衛式程序設計、相同功能多種設計實現思路、負載均衡集群的方式對提高軟件系統的可靠性,對平臺上線后平穩運行起到了非常重要的作用。

關鍵詞: 軟件可靠性;防衛式設計;雙機備份;多版本;負載均衡

中圖分類號: TP3 ? ?文獻標識碼: A ? ?DOI:10.3969/j.issn.1003-6970.2020.06.052

本文著錄格式:王青松,王光輝,朱林. 軟件可靠性設計的應用[J]. 軟件,2020,41(06):253256

【Abstract】: Software reliability is a very important quality attribute for software system. How to improve reliability ?of application is the first factor when project is developing. Ability of running steadily is essential to computer application. During the construction of the personnel platform of CFLAC, database backup, Improved defensive programming, multiple design and implementation ideas of the same function, load balancing cluster are used, which is important to the reliability of this software system. The platform performs smoothly since it is online.

【Key words】: Software reliability; Defensive programming; Dual computer backup; Multi version; Load balancing

0 ?引言

軟件可靠性(software reliability)是軟件系統在規定的時間和既定環境條件下按照需求要求完成規定功能的能力,也就是系統無故障運行的概率[1]。規定的時間是指軟件上線運行后實際運行的時間;既定的環境條件是指直接或間接與軟件運行相關環境及條件;規定功能是指按照用戶需求提供給定的服務,軟件產品所必須具備的功能。軟件可靠性不但與軟件存在的缺陷和(或)差錯有關,而且與系統輸入和系統使用有關。提高計算機應用系統可靠性的技術可以分為避錯技術和容錯技術。避錯是預防和避免系統在運行中出錯,一般的常用的避錯技術主要是測試,進行較充分的測試,想盡可能的窮盡軟件的錯誤,但是錯誤和故障是不可能窮盡的,容錯就顯得非常重要,常用的容錯技術主要包括結構冗余、信息冗余、時間冗余、冗余附加技術等。不同的應用系統要根據自己業務及基于的軟硬件的實際情況采取不同的設計方式,盡量提高系統的可靠性,保證運行的持續穩定運行。

在文聯人事工作網絡平臺項目實施過程中,為實現系統的易用性、可擴展性、穩定性、良好的性能、可靠性等效用指標,在系統設計時,主要使用數據庫雙機熱備、改進防衛式程序設計、多種設計實現方式、負載均衡保障系統無故障穩定運行。

1 ?軟件可靠性設計

1.1 ?恢復塊設計

恢復塊設計是一種動態的故障屏蔽技術,一般采用后向恢復策略。如圖1所示。

恢復塊方法提供具有執行結果相同的功能模塊的主塊和若干個不同的備用塊,一個塊就是實現一個功能的模塊、功能、函數或者程序段,主塊首先

投入使用,運行完成后進行驗證測試,如果沒有通過驗證測試,需將系統進行恢復并且由其中一個備用塊代替主塊運行,這一過程可以一直重復進行直到耗盡所有的備用塊,或者其中一個故障行為超出預料,從而導致不能恢復的結果。設計時需保證主塊及所有備份塊之間的獨立性,避免類似錯誤的產生,使主塊和后備塊之間共性錯誤降到最低限度,并且需要確保驗證測試程序的正確性。

1.2 ?N版本程序設計

N版本程序設計是一種靜態的故障屏蔽技術,采用前向回復策略。如圖2所示。

其設計思想是使用多種不同的算法或者設計思路實現相同的功能,最終的結果通過表決器來決定。其中N份程序需要由不同都設計者或者開發者獨立設計,使用不相同的方法,盡量使用不相同的設計開發語言、不相同的開發環境、不相同的工具來實現。這樣做的原因是不同人設計可以減少不同版本軟件相類似錯誤的概率。另外,由于各種不同版本并行執行,甚至在不同的計算機中執行,互相之間如何同步時需要重點考慮的問題。

1.3 ?防衛式程序設計

防衛式程序設計的容錯機制與傳統容錯技術的實現方法都不太一致。針對系統中肯存在的錯誤或者不一致性,防衛式程序設計的基本思想是通過在系統代碼中包含錯誤檢查代碼、錯誤恢復代碼,這樣可以使一旦發生錯誤,程序能撤銷錯誤狀態,恢復到一個已知正確的狀態中去[1]。也可以理解為備份恢復或者回滾功能,但是程序自己意識到錯誤自動恢復,從而提高系統的可靠性和穩定性。防衛式程序設計原理如圖3所示。

2 ?軟件可靠性設計應用

在文聯人事工作網絡平臺項目的實施過程中,為實現約定的易用性、穩定性、可靠性、安全性、良好的性能等非功能性需求,結合既有的軟硬件條件及運行環境,分析采納可靠性設計的諸多方法,經綜合考慮主要采用了數據雙機備份、改進防衛式程序設計、同功能多種實現方式、負載均衡幾種方法提高軟件系統的可靠性。

2.1 ?數據庫雙機備份

數據庫是系統的核心所在,所有業務數據都存在數據庫中,業務數據的遺失或失效將造成不可容忍的系統故障,提高系統可靠性首先應該保證業務數據的穩定性和安全性。

在項目的實施過程中,數據庫中存儲的業務數據是關于干部履職信息及學員培訓信息的,對于提高相關工作效率,改變傳統工作模式而言異常重要。項目實施過程中數據庫通過雙機備份來保證數據庫的穩定與安全,數據庫中的業務數據、數據表結構表都按照既定的備份策略進行備份,形成數據冗余。應用示意圖如圖4所示。

當其中一臺數據庫受到何種影響不能正常提供服務后將自動啟用備份數據庫。通過此種方式可以減少人事平臺因為數據庫的原因造成系統不可用的概率和時間。兩臺數據庫服務器之間,通過備份策略互相監控狀態,在其中一臺服務器不能使用后則切換至可用的一臺,達到提高數據庫的穩定性與可靠性進而保障人事平臺整個系統的可靠性。

2.2 ?改進防衛式程序設計

為了讓系統穩定運行,提高應用系統本身的可用性至關重要,如果過軟件故障或者因為不可預知的異常而宕機,將會引起十分嚴重的后果。在人事平臺實施過程的系統整體設計時,在系統層面考慮可靠性及穩定性,盡量減少或者盡可能避免因為系統本身的原因造成的不穩定,系統在總體設計中借鑒了防衛式程序設計的思想,在系統中寫入了系統備份策略、錯誤檢查程序、錯誤恢復機制,當系統發生故障時可以自動恢復到前一個正確的版本,同時記錄發生的問題進行記錄及捕捉。事后可以對捕獲得異常進行分析改進,并且升級應用軟件,穩定運行后備份新的版本。系統的備份方式如圖5所示。

秉承持續改進的思想結合防衛式程序設計的理念,設計實施本項目,當系統更新時,備份整個系統,系統運行過程中對系統進行監控,當發生故障及時將系統恢復為上一個正確的版本,可以更有效的提高整個應用系統的可靠性。

2.3 ?多種設計實現思路

功能多版本多實現方式實現是針對相同的功能或者模塊設計多種實現方式,不同設計思路和不同實現的方式之期間要存在差異,即存在相異性,從而可提高功能或者模塊的可用性。在人事平臺的設計中,多個功能模塊都通過此方式進行設計,以培訓學員報名參加培訓為例,學員可以自己登錄平臺進行報名,也可以由他人代報或者幫助他人報名,還可以由后臺相關管理員在后臺管理端批量幫助學員進行報名,如圖6所示。

在功能設計中還存在很多這種設計方式,培訓班發布的問題,既可以通過報名開始時間,利用定時器自動啟動,也可以通過開啟報名按鈕手動啟動報名;培訓評估問題可以在賬戶上也可以通過掃描二維碼實現;關于履職活動填寫工作,可以在個人前臺賬號上填寫錄入,也可以由工作人員(秘書或者活動組織者)批量導入或者錄入。相關功能通過多種設計方式不同的實現方式提高了系統的可靠程度,當某個功能或者模塊因為意外不能使用時,還可以通過其它方式完成工作此種實現方式不僅可以為用戶提供多入口,同時又增強了系統的可用靠性。

2.4 ?負載均衡

人事平臺作為一個互聯網應用,同時在線用戶可能會成千上萬,如何讓所有用戶都可以流暢訪問系統,是設計本項目需要重要考慮的問題。本項目的部署設計通過負載均衡實現集群,進一步提高可用性,并且分擔了各服務器的壓力,提高了性能。Nginx實現負載均衡,是一種基于反向代理服務器的負載均衡,支持高并發,避免單機訪問量過大而引起的宕機問題,Nginx在高并發情況下表現良好,能夠支持高達50000個并發響應[3]。

本項目前臺用戶面向的是全國范圍內所有文藝工作者,同時在線用戶會超過10000人,因此部署設計通過高性能服務器通過輪換機制組成集群,滿足高并發情況下系統的可用集群中多臺服務器通過輪換機制分擔訪問壓力,資源分配也比較均衡。此外,多臺服務器同時互為備份,其中一臺服務器出現故障,系統依舊可用。提高可用性的同事也提高了性能。負載均衡的實現在本項目最終上線運行過程中保障可靠性方面起到了非常重要的作用。

3 ?結束語

人事平臺在設計實施中通過數據庫雙機冗余備份、防衛式程序設計、相同功能多種設計方式多種實現策略、應用部署實現負載均衡、提高了系統可用性及可靠性,保證系統上線后7*24小時穩定運行,提高了相關部門相關工作的工作效率,同時促進相關工作的無紙化辦公發展。針對項目中的不足和考慮不周的地方,需要在以后的工作中加以改進和完善。提高軟件系統可靠性的方法多種多樣,如何更好的根據不同情況選擇不同方法,因地制宜提高系統可靠性是今后應該努力的方向。

參考文獻

[1] 楊春暉, 孫偉, 等. 系統架構設計師教程[M]. 第2版. 北京, 清華大學出版社. 2012.

[2] https://baike.so.com/doc/5380532-5616806.html

[3] 于樂洋. 基于MPC8280處理平臺的軟件容錯與快速恢復設計[D]. 北京郵電大學, 2016.

[4] 鐘讀杭, 齊治昌, 徐錫山. 基于N版本程序設計的Web服務組合可靠性優化[J]. 計算機工程與科學, 2008(06): 115-118.

[5] 朱濤. 基于雙主機的冗余控制系統軟件設計與實現[J]. 工業控制計算機, 2019, 32(10): 94-95.

[6] 王權. 計算機數據庫的備份與恢復技術研究[J]. 數字通信世界, 2019(09): 99.

[7] 吳海明. 基于Linux高可用性負載均衡集群技術的研究與應用[J]. 科技創新與應用, 2018(36): 17-18.

主站蜘蛛池模板: 不卡无码h在线观看| a级高清毛片| 亚洲精品自产拍在线观看APP| av一区二区三区在线观看| 澳门av无码| 99无码熟妇丰满人妻啪啪| 日本高清视频在线www色| 麻豆精选在线| 国产精品无码一二三视频| 无码日韩视频| 国产精品视频公开费视频| 青青草原国产| 欧美视频在线观看第一页| 成人午夜免费观看| 综合色区亚洲熟妇在线| 国产免费高清无需播放器| 亚洲乱码在线播放| 国产美女无遮挡免费视频网站| 2020国产免费久久精品99| 色妞www精品视频一级下载| 亚洲日产2021三区在线| 宅男噜噜噜66国产在线观看| 国产美女自慰在线观看| 福利一区在线| 91美女视频在线观看| 日本欧美成人免费| 久久久久久久蜜桃| 精品免费在线视频| 国产免费a级片| 国产精品综合久久久 | 国产欧美日韩一区二区视频在线| 在线免费亚洲无码视频| 一区二区理伦视频| 精品无码专区亚洲| 久热精品免费| 亚洲综合色婷婷中文字幕| 国产精品.com| 国产在线98福利播放视频免费| 第一区免费在线观看| 亚洲性视频网站| 日韩欧美中文字幕在线精品| 免费人欧美成又黄又爽的视频| 乱系列中文字幕在线视频| 男女猛烈无遮挡午夜视频| 色婷婷视频在线| 老汉色老汉首页a亚洲| 欧美国产日韩在线| 18黑白丝水手服自慰喷水网站| 国产在线一二三区| 亚洲第一成年网| 国产麻豆精品久久一二三| 欧美日本二区| 久操中文在线| www.精品国产| 福利一区在线| 玩两个丰满老熟女久久网| 亚洲综合经典在线一区二区| 亚洲无码电影| www亚洲天堂| 亚洲一区二区约美女探花| 青草国产在线视频| 91破解版在线亚洲| 日韩黄色大片免费看| 日韩无码真实干出血视频| 精品超清无码视频在线观看| 国产欧美高清| 久久久久国产精品熟女影院| 狠狠色综合久久狠狠色综合| 国产精品无码制服丝袜| 日本一区中文字幕最新在线| 99精品高清在线播放| 99热这里只有精品国产99| 无码人妻免费| 黄色三级网站免费| jizz国产视频| 国产精品大白天新婚身材| 色综合手机在线| 国产色网站| 久草视频精品| 日本在线国产| 国产三级国产精品国产普男人 | 亚洲Aⅴ无码专区在线观看q|