了解最新公司動(dòng)態(tài)及行業(yè)資訊
遺留系統(tǒng)是指任何基本上不能進(jìn)行修改和演化以滿足新的變化了的業(yè)務(wù)需求的信息系統(tǒng),它通常具有以下特點(diǎn):
(1)系統(tǒng)雖然完成企業(yè)中許多重要的業(yè)務(wù)管理工作,但仍然不能完全滿足要求。一般實(shí)現(xiàn)業(yè)務(wù)處理電子化及部分企業(yè)管理功能,很少涉及經(jīng)營(yíng)決策。(從業(yè)務(wù)上);
(2)系統(tǒng)在性能上已經(jīng)落后,采用的技術(shù)已經(jīng)過時(shí)。例如,多采用主機(jī)/終端形式或小型機(jī)系統(tǒng)軟件使用匯編語言或第三代程序設(shè)計(jì)語言的早期版本開發(fā),使用文件系統(tǒng)而不是數(shù)據(jù)庫。(技術(shù)、性能落后了);
(3)通常是大型的軟件系統(tǒng),已經(jīng)融入企業(yè)的業(yè)務(wù)運(yùn)作和決策管理機(jī)制之中,維護(hù)工作十分困難;
(4)沒有使用現(xiàn)代信息系統(tǒng)建設(shè)方法進(jìn)行管理和開發(fā),現(xiàn)在基本上已經(jīng)沒有文檔,很難理解;
對(duì)于遺留系統(tǒng)評(píng)價(jià)的目的是為了獲得對(duì)遺留系統(tǒng)更好的理解,這是遺留系統(tǒng)演化的基礎(chǔ),是任何遺留系統(tǒng)演化項(xiàng)目的起點(diǎn),評(píng)價(jià)方法包括度量技術(shù)水準(zhǔn)、商業(yè)價(jià)值與之關(guān)聯(lián)的組織特征、其結(jié)果作為選擇處理策略的基礎(chǔ)。評(píng)價(jià)方法由一系列活動(dòng)組成。
遺留系統(tǒng)評(píng)價(jià)活動(dòng)
啟動(dòng)評(píng)價(jià):評(píng)價(jià)是為了獲得對(duì)遺留系統(tǒng)的足夠深度的理解,從技術(shù)、商業(yè)和企業(yè)角度對(duì)系統(tǒng)的理解為系統(tǒng)處理策略提供基礎(chǔ)。
商業(yè)價(jià)值評(píng)價(jià):目標(biāo)是判斷遺留系統(tǒng)對(duì)企業(yè)的重要性。
外部環(huán)境評(píng)價(jià):系統(tǒng)的外部技術(shù)環(huán)境是指硬件、支撐軟件和企業(yè)基礎(chǔ)設(shè)施的統(tǒng)一體;
應(yīng)用軟件評(píng)價(jià):應(yīng)用軟件評(píng)價(jià)包括系統(tǒng)級(jí)、部件級(jí)兩個(gè)級(jí)別,系統(tǒng)級(jí),把整個(gè)系統(tǒng)看作不可分的原子,評(píng)價(jià)時(shí)不考慮系統(tǒng)的任何部分;部件級(jí):關(guān)注系統(tǒng)的每個(gè)子系統(tǒng),考慮每個(gè)系統(tǒng)的特征。
分析評(píng)價(jià)結(jié)果:
評(píng)從活動(dòng)將產(chǎn)生硬件、支撐軟件、企業(yè)基礎(chǔ)設(shè)施和應(yīng)用軟件的特征值矩陣,這些特征值體現(xiàn)了遺留系統(tǒng)當(dāng)前的技術(shù)因素,其加權(quán)平均值代表了系統(tǒng)的技術(shù)水平。
遺留系統(tǒng)演化
在上圖中,把對(duì)遺留系統(tǒng)的評(píng)價(jià)結(jié)果分列在坐標(biāo)的四個(gè)象限內(nèi),對(duì)處在不同象限的遺留系統(tǒng)采取不同的演化策略。
淘汰策略:第3象限為低水平、低價(jià)值區(qū),即遺留系統(tǒng)的技術(shù)含量較低,且具有較低的商業(yè)價(jià)值。對(duì)這種遺留系統(tǒng)的演化策略為淘汰,即全面重新開發(fā)新的系統(tǒng)以代替遺留系統(tǒng)。完全淘汰是一種極端性策略,一般是企業(yè)的業(yè)務(wù)產(chǎn)生了根本的變化,遇留系統(tǒng)基本上不再適應(yīng)企業(yè)運(yùn)作的需要;或者是遺留系統(tǒng)的維護(hù)人員、維護(hù)文檔資料都丟失了,經(jīng)過評(píng)價(jià),發(fā)現(xiàn)將遺留系統(tǒng)完全淘汰,開發(fā)全新的系統(tǒng)比改造舊系統(tǒng)從成本上更合算。對(duì)遺留系統(tǒng)的完全淘汰是企業(yè)資源的根本浪費(fèi),應(yīng)該善于"變廢為寶”,通過對(duì)遺留系統(tǒng)功能的理解和借鑒,可以幫助新系統(tǒng)的設(shè)計(jì),降低新系統(tǒng)開發(fā)的風(fēng)險(xiǎn)。
繼承策略:第4象限為低水平、高價(jià)值區(qū),即選留系統(tǒng)的技術(shù)含量較低,可滿足企業(yè)運(yùn)作的功能或性能要求,但具有較高的商業(yè)價(jià)值,目前企業(yè)業(yè)務(wù)對(duì)該系統(tǒng)仍有很大的依賴性。對(duì)這種遺留系統(tǒng)的演化策略為繼承。在開發(fā)新系統(tǒng)時(shí),需要完全兼容遺留系統(tǒng)的功能模型和數(shù)據(jù)模型,為了保證業(yè)務(wù)的連續(xù)性,新老系統(tǒng)必須并行運(yùn)行一段時(shí)間,再逐漸切換到新系統(tǒng)上運(yùn)行。要做到對(duì)遺留系統(tǒng)的繼承,必須對(duì)系統(tǒng)進(jìn)行分析,得到舊系統(tǒng)的功能模型和數(shù)據(jù)模型,這種分析可以部分代替或驗(yàn)證系統(tǒng)的需求分析。如果遺留系統(tǒng)的維護(hù)文檔不完整,而又必須解析系統(tǒng)的功能模型和數(shù)據(jù)模型,那將是一項(xiàng)十分艱巨的任務(wù)。這時(shí)可使用有關(guān)系統(tǒng)重構(gòu)的 CASE 工具,通過分析系統(tǒng)的代碼生成系統(tǒng)結(jié)構(gòu)圖或其他報(bào)告。
改造策略:第1象限為高水平、高價(jià)值區(qū),即遺留系統(tǒng)的技術(shù)含量較高,本身還有較大的生命力,且具有較高的商業(yè)價(jià)值,基本上能夠滿足企業(yè)業(yè)務(wù)運(yùn)作和決策支持的要求。這種系統(tǒng)可能建成的時(shí)間還很短,對(duì)這種遺留系統(tǒng)的演化策略為改造。 這些改造包括系統(tǒng)功能的增強(qiáng)和數(shù)據(jù)模型的改造兩個(gè)方面,系統(tǒng)功能的增強(qiáng)是指在原有系統(tǒng)的基礎(chǔ)上增加新的應(yīng)用要求,對(duì)遺留系統(tǒng)本身不做改變。數(shù)據(jù)模型的改造是指將遺留系統(tǒng)舊的數(shù)據(jù)模型向新的數(shù)據(jù)模型轉(zhuǎn)化的過程。
集成策略:第2象限為高水平、低價(jià)值區(qū),即遺留系統(tǒng)的技術(shù)含量較高,但其商業(yè)價(jià)值較低,可能只完成某個(gè)部門(或子公司)的業(yè)務(wù)管理。這種系統(tǒng)在各自的局部領(lǐng)域里工作良好,但從企業(yè)全局來看,多個(gè)這樣的系統(tǒng),他們各自基于不同的平臺(tái),不同的數(shù)據(jù)模型,無法互聯(lián)互通,數(shù)據(jù)還不一致,這就是很嚴(yán)重的問題了。對(duì)這種遺留系統(tǒng)的演化策略為集成。在集成過程中,可采用由互連系統(tǒng)構(gòu)成的系統(tǒng)的架構(gòu),遺留系統(tǒng)可作為從屬系統(tǒng)來描述。在企業(yè)信息系統(tǒng)建設(shè)過程中,如何處理那些遺留系統(tǒng),將會(huì)是越來越突出的問題,因?yàn)榧词故墙裉炜磥砗芟冗M(jìn)的系統(tǒng)在明天也會(huì)成為遺留系統(tǒng)。對(duì)遺留系統(tǒng)的處理恰當(dāng)與否,直接關(guān)系到新系統(tǒng)的成敗和開發(fā)效率。如何建立一套系統(tǒng)的、行之有效的方法,以期望對(duì)實(shí)際工作有所指導(dǎo),已成為一個(gè)迫切的問題。在實(shí)際工程項(xiàng)目中,遇到處理遺留系統(tǒng)的問題時(shí),要具體情況具體分析,選擇最佳的演化策略。
轉(zhuǎn)換策略
系統(tǒng)切換前通過工具遷移、系統(tǒng)切換前采用手工錄入(不能通過工具錄入的、數(shù)據(jù)結(jié)構(gòu)不一樣、初始化的數(shù)據(jù))、系統(tǒng)切換后通過新系統(tǒng)生成
遷移方法
ETL:抽取一轉(zhuǎn)換一裝載
數(shù)據(jù)遷移前的準(zhǔn)備工作包括:(1)待遷移數(shù)據(jù)源的詳細(xì)說明,包括數(shù)據(jù)的存放方式、數(shù)據(jù)量和數(shù)據(jù)的時(shí)間跨度。
(2)建立新舊系統(tǒng)數(shù)據(jù)庫的數(shù)據(jù)字典,對(duì)現(xiàn)有系統(tǒng)的歷史數(shù)據(jù)進(jìn)行質(zhì)量分析,以及新舊系統(tǒng)數(shù)據(jù)結(jié)構(gòu)的差異分析。
(3)新舊系統(tǒng)代碼數(shù)據(jù)的差異分析。
(4)建立新舊系統(tǒng)數(shù)據(jù)庫表的映射關(guān)系,對(duì)無法映射字段的處理方法。
(5)開發(fā)或購買、部署ETL工具
(6)編寫數(shù)據(jù)轉(zhuǎn)換的測(cè)試計(jì)劃和校驗(yàn)程序。
(7)制定數(shù)據(jù)轉(zhuǎn)換的應(yīng)急措施。
數(shù)據(jù)遷移后的校驗(yàn):對(duì)遷移后的數(shù)據(jù)進(jìn)行質(zhì)量分析;新舊系統(tǒng)查詢數(shù)據(jù)對(duì)比檢查;
(1)易分析性。軟件產(chǎn)品診斷軟件中的缺陷或失效原因或識(shí)別待修改部分的能力。
(2)易改變性。軟件產(chǎn)品使指定的修改可以被實(shí)現(xiàn)的能力,實(shí)現(xiàn)包括編碼、設(shè)計(jì)和文檔的更改如果軟件由最終用戶修改,那么易改變性可能會(huì)影響易操作性。
(3)穩(wěn)定性。軟件產(chǎn)品避免由于軟件修改而造成意外結(jié)果的能力。
(4)易測(cè)試性。軟件產(chǎn)品使已修改軟件能被確認(rèn)的能力。
(5)維護(hù)性的依從性。軟件產(chǎn)品遵循與維護(hù)性相關(guān)的標(biāo)準(zhǔn)或約定的能力。
(1)正確性維護(hù)(改正性、確認(rèn)性、糾正性):指為了更正線上已經(jīng)存在的錯(cuò)誤,BUG而進(jìn)行的維護(hù)(軟件本身的錯(cuò)誤,必須要做的)
(2)適應(yīng)性維護(hù):由于外部環(huán)境(適應(yīng)法律政策、操作系統(tǒng)更新、數(shù)據(jù)環(huán)境)發(fā)生了改變,被動(dòng)進(jìn)行的對(duì)軟件的修改和升級(jí)(不是系統(tǒng)本身錯(cuò)誤,但也必須要做)
(3)完善性維護(hù):擴(kuò)充功能和改善性能而進(jìn)行的修改,使其比之前的軟件功能、性能更高、更加完善(不是錯(cuò)誤,但可能做得不完美,主動(dòng)完善)
(4)預(yù)防性維護(hù):錯(cuò)誤還未發(fā)生,對(duì)未來可能發(fā)生的bug進(jìn)行預(yù)防性的維護(hù)(預(yù)防未來)
工作流程
提高系統(tǒng)可靠性的技術(shù)可以分為避錯(cuò)(排錯(cuò))技術(shù)和容錯(cuò)技術(shù)。避錯(cuò)是通過技術(shù)評(píng)審、系統(tǒng)測(cè)試和正確性證明等技術(shù),在系統(tǒng)正式運(yùn)行之前避免、發(fā)現(xiàn)和改正錯(cuò)誤。容錯(cuò)是指系統(tǒng)在運(yùn)行過程中發(fā)生一定的硬件故障或軟件錯(cuò)誤時(shí),仍能保持正常工作而不影響正確結(jié)果的一種性能或措施。容錯(cuò)技術(shù)主要是采用冗余方法來消除故障的影響;冗余是指在正常系統(tǒng)運(yùn)行所需的基礎(chǔ)上加上一定數(shù)量的資源,包括信息、時(shí)間、硬件和軟件。冗余是容錯(cuò)技術(shù)的基礎(chǔ),通過冗余資源的加入,可以使系統(tǒng)的可靠性得到較大的提高。
冗余技術(shù)分類:主要的冗余技術(shù)(4種)
(1)結(jié)構(gòu)冗余(靜態(tài)、動(dòng)態(tài)、混合),如:主機(jī)與備份機(jī),就是一種硬件冗余;靜態(tài)冗余:又叫屏蔽冗余或被動(dòng)冗余,常用三模冗余和多模冗余,靜態(tài)冗余通過表決和比較來屏蔽錯(cuò)誤
動(dòng)態(tài)冗余:又稱為主動(dòng)冗余,通過故障檢測(cè),故障定位及故障恢復(fù)等手段達(dá)到容錯(cuò)目的,主要方式是多重模塊待機(jī)儲(chǔ)備,當(dāng)系統(tǒng)檢測(cè)到某個(gè)工作模塊出現(xiàn)錯(cuò)誤時(shí),就用一個(gè)備用的模塊來頂替它并重新運(yùn)行,各備用模塊在待機(jī)時(shí),可與主模塊一起工作(熱備份系統(tǒng)、雙重系統(tǒng)),也可以不工作(冷備份系統(tǒng)、雙工系統(tǒng)、雙份系統(tǒng))
混合冗余:先使用靜態(tài)的故障屏蔽技術(shù),使系統(tǒng)免受某些可被屏蔽的故障的影響;而對(duì)那些無法屏蔽的故障,則采用主動(dòng)冗余中的故障檢測(cè)、故障定位和故障恢復(fù)等技術(shù),并且對(duì)系統(tǒng)可以作重新配置。
(2)信息冗余:在實(shí)現(xiàn)正常功能需要的信息外,再添加一些信息,以保證運(yùn)行結(jié)果正確性的方法,如校驗(yàn)碼、糾錯(cuò)碼;(3)時(shí)間冗余(以時(shí)間為代價(jià),重復(fù)運(yùn)行,運(yùn)行10次后,看哪一次是對(duì)的)(4)冗余附加:指為實(shí)現(xiàn)上述冗余技術(shù)所需要的資源和技術(shù),包括程序、指令、數(shù)據(jù),以及存放和調(diào)用它們的空間等;軟件容錯(cuò)的主要方法是提供足夠的冗余信息和算法程序,使系統(tǒng)在實(shí)際運(yùn)行時(shí)能夠及時(shí)發(fā)現(xiàn)程序設(shè)計(jì)錯(cuò)誤,采取補(bǔ)救措施,以提高系統(tǒng)可靠性,保證整個(gè)系統(tǒng)的正常運(yùn)行
軟件容錯(cuò)技術(shù)主要有N 版本程序設(shè)計(jì)、恢復(fù)塊方法和防衛(wèi)式程序設(shè)計(jì)等。
N版本程序設(shè)計(jì):一種靜態(tài)的故障屏蔽技術(shù),采用前向恢復(fù)的策略,設(shè)計(jì)思想:是用N個(gè)具有相同功能的程序同時(shí)執(zhí)行一項(xiàng)計(jì)算,結(jié)果通過多數(shù)表決設(shè)計(jì)語言、開發(fā)環(huán)境來選擇。其中N個(gè)版本的程序必須由不同的人(小組)獨(dú)立設(shè)計(jì),使用不同的方法、不同的設(shè)計(jì)語言、不同的開發(fā)環(huán)境和工具來實(shí)現(xiàn),目的是減少N個(gè)版本的程序在表決點(diǎn)上相關(guān)錯(cuò)誤的概率。(屬于結(jié)構(gòu)冗余的靜態(tài))
N版本程序設(shè)計(jì)
恢復(fù)塊設(shè)計(jì)(動(dòng)態(tài)冗余):提供具有相同功能的主塊和幾個(gè)后備塊 ,一個(gè)塊就是一個(gè)執(zhí)行完整的程序段,主塊首先投入運(yùn)行,結(jié)束后進(jìn)行驗(yàn)證測(cè)試,如果沒有通過驗(yàn)證測(cè)試,系統(tǒng)恢復(fù)現(xiàn)場(chǎng)后由后備塊1執(zhí)行,結(jié)果后同樣進(jìn)行驗(yàn)證測(cè)試,不行到后備塊2,重復(fù)這一過程,直到所有后備塊耗盡,或某個(gè)故障超出預(yù)期,導(dǎo)致無法恢復(fù)。程序設(shè)計(jì)時(shí),應(yīng)保證實(shí)現(xiàn)主塊后后備塊之間的獨(dú)立性,避免相互影響;
各備用模塊在其待機(jī)時(shí),可與主模塊一樣工作,也可以不工作。前者叫熱備份系統(tǒng)(雙重系統(tǒng)),后者叫冷備份系統(tǒng)(雙工系統(tǒng)、雙份系統(tǒng))。
恢復(fù)塊設(shè)計(jì)
N 版本程序設(shè)計(jì)和恢復(fù)塊方法都是基于設(shè)計(jì)冗余思想,增加了許多額外的工作,結(jié)構(gòu)本身也會(huì)帶來一些問題和困難。他們主要區(qū)別如下:
比較
后向:我出現(xiàn)錯(cuò)誤,后退到前一個(gè)正確狀態(tài),前向:自動(dòng)排除,自動(dòng)向下走,實(shí)時(shí)的。
防衛(wèi)式程序設(shè)計(jì):是一種不采用任何傳統(tǒng)的容錯(cuò)技術(shù)就能實(shí)現(xiàn)軟件容錯(cuò)的方法,對(duì)于程序中存在的錯(cuò)誤和不一致性,防衛(wèi)式程序設(shè)計(jì)的基本思想是通過在程序中包含錯(cuò)誤檢査代碼和錯(cuò)誤恢復(fù)代碼,使得一旦發(fā)生錯(cuò)誤,程序就能撤銷錯(cuò)誤狀態(tài),恢復(fù)到一個(gè)已知的正確狀態(tài)中去。其實(shí)現(xiàn)策略包括錯(cuò)誤檢測(cè)、破壞估計(jì)和錯(cuò)誤恢復(fù)三個(gè)方面。
雙機(jī)容錯(cuò)技術(shù):是一種軟硬件結(jié)合的容錯(cuò)應(yīng)用方案。該方案是由兩臺(tái)服務(wù)器和一個(gè)外接共享磁盤陣列及相應(yīng)的雙機(jī)軟件組成。雙機(jī)容錯(cuò)系統(tǒng)采用“心跳”方法(即同步信號(hào))保證主系統(tǒng)與備用系統(tǒng)的聯(lián)系。所謂心跳,是指主從系統(tǒng)之間相互按照一定的時(shí)間間隔發(fā)送通信信號(hào),表明各自系統(tǒng)當(dāng)前的運(yùn)行狀態(tài)。一旦心跳信號(hào)表明主機(jī)系統(tǒng)發(fā)生故障,或者備用系統(tǒng)無法收到主系統(tǒng)的心跳信號(hào),則系統(tǒng)的高可用性管理軟件認(rèn)為主系統(tǒng)發(fā)生故障,立即將系統(tǒng)資源轉(zhuǎn)移到備用系統(tǒng)上,備用系統(tǒng)替代主系統(tǒng)工作,以保證系統(tǒng)正常運(yùn)行和網(wǎng)絡(luò)服務(wù)不間斷。兩臺(tái)服務(wù)器的工作方式可以有:雙機(jī)熱備模式;雙機(jī)互備模式:雙機(jī)雙工模式;
雙機(jī)容錯(cuò)
雙機(jī)熱備模式:一臺(tái)主機(jī)工作、一臺(tái)備用。主機(jī)故障,則激活備用機(jī)。應(yīng)用較多,但有點(diǎn)浪費(fèi);
雙機(jī)互備模式:兩臺(tái)服務(wù)器均處于工作狀態(tài),為客戶機(jī)提供不同的服務(wù),并互相檢測(cè)對(duì)方的運(yùn)行情況,一臺(tái)出現(xiàn)故障,另一臺(tái)則接管。
雙機(jī)雙工模式:集群工作模式,兩臺(tái)服務(wù)器都處于工作狀態(tài),并提供相同的服務(wù);
集群技術(shù)是將同構(gòu)或異構(gòu)的計(jì)算機(jī)用集群軟件連接在一起,組成一個(gè)高度透明的大型計(jì)算機(jī)群,其中單個(gè)計(jì)算機(jī)系統(tǒng)稱為節(jié)點(diǎn)(node),集群系統(tǒng)作為一個(gè)整體為用戶服務(wù),用戶不必關(guān)心服務(wù)來自哪臺(tái)計(jì)算機(jī),只需要關(guān)心服務(wù)是否能連續(xù)工作,集成群系統(tǒng)可以協(xié)調(diào)管理各節(jié)點(diǎn)出現(xiàn)的錯(cuò)誤和故障,并可透明地向集群中加入新節(jié)點(diǎn)。
集群系統(tǒng)的特點(diǎn):可伸縮性、高可用性、可管理性(集群系統(tǒng)能夠管理大規(guī)模和物理分散的節(jié)點(diǎn))、高性價(jià)比(最少的投資獲得最大的性能)、高透明性
集群分類:高性能計(jì)算集群、負(fù)載均衡集群、高可用性集群。在實(shí)際中,這三種基本類型經(jīng)常會(huì)發(fā)生混合與交雜,所以集群的類別的劃分是一個(gè)相對(duì)的概念,而不是絕對(duì)的。
集群管理與調(diào)度:集群系統(tǒng)的主要目標(biāo)是通過網(wǎng)絡(luò)互連實(shí)現(xiàn)全系統(tǒng)范圍內(nèi)的資源共享,從而提高資源利用率,獲得高性能,集成群系統(tǒng)進(jìn)行任務(wù)調(diào)度的主要方法是進(jìn)程遷移技術(shù);(進(jìn)程遷移是指當(dāng)進(jìn)程運(yùn)行時(shí),在(集群內(nèi))源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)之間轉(zhuǎn)移進(jìn)程的行為。由于這個(gè)過程中轉(zhuǎn)移的是活躍進(jìn)程,因?yàn)橛址Q為搶占式進(jìn)程遷移)
負(fù)載均衡是集群系統(tǒng)中的一項(xiàng)重要技術(shù),也提高了系統(tǒng)的可靠性,可以提高集群系統(tǒng)的整體處理能力(,最終目的是加快集群系統(tǒng)的響應(yīng)速度,提高客戶端訪問的成功概率。集群的最大特征是多個(gè)節(jié)點(diǎn)的并行和共同工作,如何讓所有節(jié)點(diǎn)承受的負(fù)荷平均,不出現(xiàn)局部過大負(fù)載或過輕負(fù)載的情況,是負(fù)載均衡的重要目的。
負(fù)載均衡有兩方面的含義:首先,大量的并發(fā)訪問或數(shù)據(jù)流量分擔(dān)到多個(gè)節(jié)點(diǎn)上分別處理,減少用戶等待響應(yīng)時(shí)間;其次,單個(gè)重負(fù)載的運(yùn)算分擔(dān)到多個(gè)節(jié)點(diǎn)上做并行處理,每個(gè)節(jié)點(diǎn)處理結(jié)束后,將結(jié)果匯總,返回給用戶,系統(tǒng)處理能力得到大幅提升。
調(diào)度算法:輪轉(zhuǎn)、加權(quán)、最小連接數(shù)、哈希、隨機(jī)等;
比較常用的負(fù)載均衡實(shí)現(xiàn)技術(shù)主要有以下幾種
(1)基于特定軟件的負(fù)載均衡(應(yīng)用層)。很多網(wǎng)絡(luò)協(xié)議都支持重定向功能,例如,基于HTTP重定向服務(wù),其主要原理是服務(wù)器使用HTTP重定向指令,將一個(gè)客戶端重新定位到另一個(gè)位置。服務(wù)器返回個(gè)重定向響應(yīng),而不是返回請(qǐng)求的對(duì)象??蛻舳舜_認(rèn)新地址然后重發(fā)請(qǐng)求,從而達(dá)到負(fù)載均衡的目的。
(2)基于DNS的負(fù)載均衡屬于傳輸層負(fù)載均衡技術(shù),其主要原理是在DNS服務(wù)器中為同一個(gè)主機(jī)名配置多個(gè)地址,在應(yīng)答DNS查詢時(shí),DNS服務(wù)器對(duì)每個(gè)查詢將以DNS文件中主機(jī)記錄的IP地址按順序返回不同的解析結(jié)果,將客戶端的訪問引導(dǎo)到不同的節(jié)點(diǎn)上去,使得不同的客戶端訪問不同的節(jié)點(diǎn),從而達(dá)到負(fù)載均衡的目的.
(3)基于NAT的負(fù)載均衡。將一個(gè)外部IP地址映射為多個(gè)內(nèi)部IP地址,對(duì)每次連接需求動(dòng)態(tài)地轉(zhuǎn)換為一個(gè)內(nèi)部節(jié)點(diǎn)的地址,將外部連接請(qǐng)求引到轉(zhuǎn)換得到地址的那個(gè)節(jié)點(diǎn)上,從而達(dá)到負(fù)載均衡的目的。
(4)反向代理負(fù)載均衡。將來自互聯(lián)網(wǎng)上的連接請(qǐng)求以反向代理的方式動(dòng)態(tài)地轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)上的多個(gè)節(jié)點(diǎn)進(jìn)行處理,從而達(dá)到負(fù)載均衡的目的。(反向代理:隱藏服務(wù)器,不知道誰是服務(wù)器,但可以提供服務(wù))
(5)混合型負(fù)載均衡。
閱讀以下關(guān)于軟件維護(hù)的敘述,在答題紙上回簽問題1至問題4,某企業(yè)兩年前自主研發(fā)的消防集中控制軟件系統(tǒng)在市場(chǎng)上取得了較好的業(yè)績(jī),目前已成功應(yīng)用到國(guó)內(nèi)外眾多企業(yè)用戶的消防管理控制系統(tǒng)中。該軟件系統(tǒng)通過不同型號(hào)消防控制器連接各種消防器件,實(shí)現(xiàn)集中式消防告警信息顯示與控制。日前該軟件系統(tǒng)的系統(tǒng)維護(hù)主管組織召開會(huì)議,對(duì)近期收集到的該軟件系統(tǒng)的如下維護(hù)申請(qǐng)進(jìn)行了討論
(1)將系統(tǒng)目前的專用報(bào)表功能改成通用報(bào)表生成功能,以適應(yīng)未來用戶可能提出的報(bào)表格式變化需求;【正確性維護(hù)】
(2)在界面語言中增加德文支持,以滿足新增的兩個(gè)德國(guó)企業(yè)用戶的使用要求;
(3)修正系統(tǒng)在與控制器通信時(shí)由于硬件網(wǎng)絡(luò)故障導(dǎo)致的與控制器之間的連接失效,而控制器后續(xù)無法重新連接的問題;
(4)完成因某已支持型號(hào)消防控制器通信協(xié)議改變而導(dǎo)致的相應(yīng)軟件修改;
(5)增加與某新型號(hào)消防控制器的互連通信功能,以支持在后續(xù)推廣過程中與該型號(hào)消防控制器進(jìn)行互連;
(6)修正用戶報(bào)告的由于系統(tǒng)從Win7平臺(tái)遷移到最新發(fā)布的Win8平臺(tái)而導(dǎo)致的部分顯示功能失效的問題:
(7)修正用戶報(bào)告的系統(tǒng)自動(dòng)切換消防平面圖形時(shí)部分器件位置顯示錯(cuò)誤的問題;
(8)改進(jìn)系統(tǒng)歷史消防告警記錄的檢索算法,以提高系統(tǒng)在處理大量消防報(bào)警記錄時(shí)的效率:
(9)將系統(tǒng)目前針對(duì)某一特定數(shù)據(jù)庫管理系統(tǒng)的數(shù)據(jù)庫訪問方式改成基于數(shù)據(jù)源的通用數(shù)據(jù)庫訪問方式,以適應(yīng)用戶可能提出的使用其它數(shù)據(jù)庫管理系統(tǒng)的需求。
【問題1】(6分)
軟件維護(hù)的內(nèi)容通常分為正確性維護(hù)、適應(yīng)性維護(hù)、完善性維護(hù)以及預(yù)防性維護(hù)四類,請(qǐng)用300字以內(nèi)文字說明這4類軟件維護(hù)內(nèi)容的特點(diǎn)與區(qū)別;
【問題2】(9分)
請(qǐng)根據(jù)不同類型軟件維護(hù)的特點(diǎn),將上述(1)~(9)的維護(hù)申請(qǐng)?zhí)钊氡硐鄳?yīng)的類別中。
維護(hù)類型
維護(hù)申請(qǐng)
(1)正確性維護(hù)
(3)、(7)
(2)適應(yīng)性維護(hù)
(4)、(6)
(3)完善性維護(hù)
(2)、(5)、(8)
(4)預(yù)防性維護(hù)
(1)、(9)
【問題3】(4分)
對(duì)于軟件維護(hù)申請(qǐng)的處理,首先需要確定維護(hù)工作的類型,不同類型的維護(hù)工作,其處理流程往往不同,圖5-1是區(qū)分不同維護(hù)類型的典型處理流程,請(qǐng)將表5-1中代表維護(hù)類型的序號(hào)(1)~(4)填入圖5-1的(a)~(d)。
有兩個(gè)東西必做的(不能運(yùn)行的),一個(gè)是正確性(軟件本身問題導(dǎo)致不能運(yùn)行)、一個(gè)是適應(yīng)性(外部環(huán)境導(dǎo)致不能運(yùn)行)
【問題4】(6分)
在討論第(4)項(xiàng)維護(hù)工作的方案時(shí),項(xiàng)目組發(fā)現(xiàn)與相應(yīng)的消防控制器通信的子塊重用了企業(yè)之前淘汰的某款軟件中實(shí)現(xiàn)相應(yīng)功能的源代碼,而現(xiàn)有技術(shù)人員沒有參加過該代碼的開發(fā)工作,并且重用的這部分代碼開發(fā)不規(guī)范,其數(shù)據(jù)和代碼結(jié)構(gòu)設(shè)計(jì)都很差,相應(yīng)的文檔極不完整維護(hù)記錄也很簡(jiǎn)略。
針對(duì)上述情況,項(xiàng)目組一致認(rèn)為在原有代碼基礎(chǔ)上進(jìn)行修改維護(hù)難度很大,因此決定采用軟件工程的方法對(duì)該子模塊進(jìn)行重新設(shè)計(jì)、編碼和測(cè)試,請(qǐng)從可行性和該模塊后續(xù)可維護(hù)性兩個(gè)方面簡(jiǎn)要分析采取這種方案的原因。
答:目前的模塊無文檔,且已屬于淘汰模塊,重新開發(fā)比修改維護(hù)成本更低、效果更好,同時(shí)有利于后期的維護(hù)(一方面是開發(fā)人員對(duì)新開發(fā)的模塊有很高的熟悉程度,另一方面新開發(fā)會(huì)有完善的文檔)。
隨著信息化的發(fā)展,某銀行的中心賬務(wù)系統(tǒng),從城市中心、省中心模式已經(jīng)升級(jí)到全國(guó)中心模式。但是處理各種代收代付業(yè)務(wù)的銀行中間業(yè)務(wù)系統(tǒng),目前仍然采用省中心模式,由各省自行負(fù)責(zé),使得全國(guó)中間業(yè)務(wù)管理非常困難。因此總行計(jì)劃將銀行中間業(yè)務(wù)系統(tǒng)全部升級(jí)到全國(guó)中心模式,對(duì)各省中間業(yè)務(wù)進(jìn)行統(tǒng)一管理。各省行采用的銀行中間業(yè)務(wù)系統(tǒng),均為各省自建,或者自行開發(fā),或者自行采購,系統(tǒng)的硬件平臺(tái)、軟件系統(tǒng)、數(shù)據(jù)模式等均有非常大的差異。同時(shí),對(duì)一些全國(guó)性的代收代付業(yè)務(wù)的處理方式,各省行也存在很大的差異。為統(tǒng)一管理,總行決定重新開發(fā)一套全國(guó)中心模式的銀行中間業(yè)務(wù)系統(tǒng),用來替代各省自建的中間業(yè)務(wù)系統(tǒng),但要求能夠支持目前各省的所有中間業(yè)務(wù)。(這句話說明業(yè)務(wù)是具有價(jià)值的)
【問題1】(9分)
各省已建的銀行中間業(yè)務(wù)系統(tǒng)屬于遺留系統(tǒng),在如何對(duì)待遺留系統(tǒng)上,設(shè)計(jì)組存在兩種不同的策略:淘汰策略和繼承策略。請(qǐng)簡(jiǎn)要解釋這兩種策略,并說明新開發(fā)的銀行中間業(yè)務(wù)系統(tǒng)適合采用哪種策略及其原因。
答:淘汰策略:技術(shù)水平低、業(yè)務(wù)價(jià)值低的系統(tǒng)
繼承策略:技術(shù)水平低、業(yè)務(wù)價(jià)值高的系統(tǒng)
適合采用繼承策略,原因:新開發(fā)的系統(tǒng)要求“能夠支持目前各省的所有中間業(yè)務(wù)”,淘汰策略無法達(dá)到此要求。
【問題2】(10分)
遺留系統(tǒng)和新系統(tǒng)之間的轉(zhuǎn)換策略常見的有直接轉(zhuǎn)換、并行轉(zhuǎn)換和分段轉(zhuǎn)換。請(qǐng)簡(jiǎn)要說明這三種轉(zhuǎn)換策略的含義;并請(qǐng)結(jié)合銀行中間業(yè)務(wù)的特點(diǎn),說明該銀行新開發(fā)的中間業(yè)務(wù)系統(tǒng)上線時(shí)適合采用哪種策略?為什么?
答:
直接轉(zhuǎn)換就是在原有系統(tǒng)停止運(yùn)行的某一時(shí)刻,新系統(tǒng)立即投入運(yùn)行,中間沒有過渡階段。
并行轉(zhuǎn)換就是新系統(tǒng)和現(xiàn)有系統(tǒng)并行工作一段時(shí)間,經(jīng)過這段時(shí)間的試運(yùn)行后,再用新系統(tǒng)正式替換下現(xiàn)有系統(tǒng)。
分段轉(zhuǎn)換策略也稱為逐步轉(zhuǎn)換策略,這種轉(zhuǎn)換方式是直接轉(zhuǎn)換方式和并行轉(zhuǎn)換方式的結(jié)合,采取分期分批逐步轉(zhuǎn)換。
以圍前該銀行的情況來看,適合采用分段轉(zhuǎn)換策略,因?yàn)楦魇⌒胁捎玫你y行中間業(yè)務(wù)系統(tǒng),均為各省自建,或者自行開發(fā),或者自行采購,系統(tǒng)的硬件平臺(tái)、軟件系統(tǒng)、數(shù)據(jù)模式等均有非常大的差異。對(duì)這些子系統(tǒng)的支持可分段一個(gè)一個(gè)處理,降低風(fēng)險(xiǎn)的同時(shí)不讓成本開支過大。
【問題3】(6分)
銀行中間業(yè)務(wù)系統(tǒng)中,最為核心的是業(yè)務(wù)數(shù)據(jù)。因此在新舊系統(tǒng)切換時(shí)存在一項(xiàng)重要的工作:數(shù)據(jù)遷移。考慮到各省中間業(yè)務(wù)系統(tǒng)的巨大差異,因此需要做好數(shù)據(jù)遷移前的準(zhǔn)備工作。請(qǐng)簡(jiǎn)要說明數(shù)據(jù)遷移準(zhǔn)備工作的內(nèi)容。
答:數(shù)據(jù)遷移準(zhǔn)備工作包括:
(1)待遷移數(shù)據(jù)源的詳細(xì)說明,包括數(shù)據(jù)的存放方式、數(shù)據(jù)量和數(shù)據(jù)的時(shí)間跨度。
(2)建立新舊系統(tǒng)數(shù)據(jù)庫的數(shù)據(jù)字典,對(duì)現(xiàn)有系統(tǒng)的歷史數(shù)據(jù)進(jìn)行質(zhì)量分析,以及新舊系統(tǒng)數(shù)據(jù)結(jié)構(gòu)的差異分析。
(3)新舊系統(tǒng)代碼數(shù)據(jù)的差異分析。
(4)建立新舊系統(tǒng)數(shù)據(jù)庫表的映射關(guān)系,對(duì)無法映射字段的處理方法。
(5)開發(fā)或購買、部署ETL工具。
(6)編寫數(shù)據(jù)轉(zhuǎn)換的測(cè)試計(jì)劃和校驗(yàn)程序。
(7)制定數(shù)據(jù)轉(zhuǎn)換的應(yīng)急措施。
24小時(shí)免費(fèi)咨詢
請(qǐng)輸入您的聯(lián)系電話,座機(jī)請(qǐng)加區(qū)號(hào)