亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        軟件可靠性設計的應用

        2020-08-13 07:17:51王青松王光輝朱林
        軟件 2020年6期
        關鍵詞:軟件可靠性負載均衡

        王青松 王光輝 朱林

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

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

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

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

        1 ?軟件可靠性設計

        1.1 ?恢復塊設計

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

        恢復塊方法提供具有執(zhí)行結(jié)果相同的功能模塊的主塊和若干個不同的備用塊,一個塊就是實現(xiàn)一個功能的模塊、功能、函數(shù)或者程序段,主塊首先

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

        1.2 ?N版本程序設計

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

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

        1.3 ?防衛(wèi)式程序設計

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

        2 ?軟件可靠性設計應用

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

        2.1 ?數(shù)據(jù)庫雙機備份

        數(shù)據(jù)庫是系統(tǒng)的核心所在,所有業(yè)務數(shù)據(jù)都存在數(shù)據(jù)庫中,業(yè)務數(shù)據(jù)的遺失或失效將造成不可容忍的系統(tǒng)故障,提高系統(tǒng)可靠性首先應該保證業(yè)務數(shù)據(jù)的穩(wěn)定性和安全性。

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

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

        2.2 ?改進防衛(wèi)式程序設計

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

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

        2.3 ?多種設計實現(xiàn)思路

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

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

        2.4 ?負載均衡

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

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

        3 ?結(jié)束語

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

        參考文獻

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

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

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

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

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

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

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

        猜你喜歡
        軟件可靠性負載均衡
        軟件可靠性工程綜合應用建模技術研究
        Linux負載均衡集群技術在網(wǎng)絡服務器中的應用
        軟件導刊(2016年12期)2017-01-21 16:10:11
        Oracle MAA在汽車行業(yè)電子政務平臺中的應用
        軟件導刊(2016年12期)2017-01-21 15:43:08
        異構(gòu)環(huán)境下改進的LATE調(diào)度算法
        軟件可靠性設計技術應用研究
        移動信息(2016年8期)2016-12-31 15:13:14
        基于負載均衡的云資源調(diào)度策略研究
        數(shù)控系統(tǒng)軟件可靠性設計與故障分析技術
        多站點同步更新系統(tǒng)的設計
        科技視界(2016年3期)2016-02-26 20:16:57
        模糊理論在Ad hoc網(wǎng)絡通信領域的應用
        科技視界(2015年25期)2015-09-01 16:07:00
        簡談使用BoundsChecker進行計算機聯(lián)鎖系統(tǒng)人機界面軟件可靠性測試
        日本一区不卡在线观看| 亚洲日本一区二区三区四区| 日本a级一级淫片免费观看| 中文字字幕在线中文乱码解| 妺妺窝人体色www在线| 亚洲一区二区三区四区五区黄| 人人鲁人人莫人人爱精品| 熟女体下毛毛黑森林| 国产熟妇人妻精品一区二区动漫 | 国产成人av片在线观看| 久久久噜噜噜www成人网| 狠狠色狠狠色综合日日不卡| 欧美精品一区二区性色a+v| 国产精品久久久久久久久久影院| 亚洲一级av大片在线观看| 国产精品久久婷婷六月| 亚洲长腿丝袜中文字幕 | 国产人成无码视频在线| 久久视频在线视频精品| 羞涩色进入亚洲一区二区av| 中文字幕高清视频婷婷| 91九色免费视频网站| 丰满少妇作爱视频免费观看| 久久久久久久波多野结衣高潮| 欧美巨大xxxx做受l| 国产哟交泬泬视频在线播放 | 偷拍区亚洲区一区二区| 蜜桃av多人一区二区三区| 亚洲中文字幕高清视频| 痉挛高潮喷水av无码免费| 插b内射18免费视频| 日本免费一区二区三区| 伊人久久一区二区三区无码| 国产亚洲精品精品精品| 日韩一区二区三区久久精品| 国产a∨天天免费观看美女| 最近中文字幕视频完整版在线看| av天堂精品久久久久| av天堂手机一区在线| a级毛片成人网站免费看| 中文字幕日韩有码在线|