本發(fā)明涉及計算機軟件測試技術(shù)領(lǐng)域,尤其涉及金融機構(gòu)業(yè)務(wù)運行的基礎(chǔ)環(huán)境軟件的測試領(lǐng)域,具體的講是一種基于主機系統(tǒng)交易重放的測試系統(tǒng)及方法。
背景技術(shù):
本部分旨在為權(quán)利要求書中陳述的本發(fā)明的實施方式提供背景或上下文。此處的描述不因為包括在本部分中就承認(rèn)是現(xiàn)有技術(shù)。
目前業(yè)界大量金融機構(gòu)采用大型主機作為金融業(yè)務(wù)的核心服務(wù)器,大型機主機的系統(tǒng)軟件需要定期升級,以滿足不斷發(fā)展的技術(shù)和業(yè)務(wù)需求。廠商發(fā)布前會有一系列的針對性測試,但廠商的測試環(huán)境與用戶的實際運行環(huán)境差異較大。因此,用戶在升級前還會在自己的環(huán)境進(jìn)行驗證升級版本的穩(wěn)定性及可靠性。目前,用戶主要是借助于業(yè)界常用的壓力測試工具發(fā)起應(yīng)用交易,驗證系統(tǒng)軟件的穩(wěn)定性及可靠性。但往往實際生產(chǎn)環(huán)境的交易運行場景非常復(fù)雜,生產(chǎn)環(huán)境高峰期同時會有成千上萬種業(yè)務(wù)同時在運行,而壓力測試工具需要人工編寫腳本,編寫腳本耗費的人力非常大,因此只能發(fā)起簡單的,預(yù)設(shè)的個別業(yè)務(wù)運行的測試場景,難以模擬生產(chǎn)環(huán)境高峰期的真實運行場景,從而使得部分系統(tǒng)軟件的問題在生產(chǎn)環(huán)境觸發(fā),而無法在驗證測試中發(fā)現(xiàn),給生產(chǎn)的穩(wěn)定運行帶來一定的隱患。終端重放技術(shù)可以實現(xiàn)交易的重放,但生產(chǎn)環(huán)境上終端設(shè)備成千上萬,在操作上較難實現(xiàn)生產(chǎn)交易的重放。
隨著銀行業(yè)務(wù)的不斷發(fā)展,大型機的系統(tǒng)承載著越來越多的核心業(yè)務(wù),生產(chǎn)環(huán)境的聯(lián)機運行場景變得更加復(fù)雜。而隨著科技的發(fā)展,對銀行系統(tǒng)穩(wěn)定運行的要求也越來越高,而系統(tǒng)軟件的缺陷給用戶往往帶來全局性、災(zāi)難性的影響,如某銀行因為數(shù)據(jù)庫產(chǎn)品虛存計算的BUG,引起數(shù)據(jù)庫下宕導(dǎo)致轄區(qū)幾分鐘無法正常處理業(yè)務(wù),影響轄區(qū)全部業(yè)務(wù)。而在測試過程中,數(shù)據(jù)庫軟件產(chǎn)品處理正常,正因為在測試過程中無法模擬生產(chǎn)環(huán)境大量并發(fā)交易頻繁使用虛存和回收虛存,導(dǎo)致在測試過程中無法發(fā)現(xiàn)系統(tǒng)軟件的問題。因此在人力資源可控的情況下,迫切地需要一種能夠模擬生產(chǎn)環(huán)境復(fù)雜的實時交易運行場景的方法及裝置,來驗證系統(tǒng)軟件升級版本在用戶環(huán)境下的穩(wěn)定性及可靠性。
技術(shù)實現(xiàn)要素:
為解決現(xiàn)有技術(shù)中用戶對系統(tǒng)軟件測試方法的不足,本發(fā)明提供了一種基于主機系統(tǒng)交易重放的系統(tǒng)及方法,在不需要花費大量人力物力的情況下,以接近真實生產(chǎn)環(huán)境的場景下驗證系統(tǒng)軟件升級版本在用戶環(huán)境下的穩(wěn)定性及可靠性。
為了達(dá)到上述目的,本發(fā)明實施例提供一種基于主機系統(tǒng)交易重放的測試系統(tǒng),包括:信息旁路裝置,連接網(wǎng)關(guān)集群,用于在進(jìn)行測試時從所述網(wǎng)關(guān)集群獲取從終端發(fā)送至主機系統(tǒng)的交易報文;重放裝置,連接所述信息旁路裝置,用于接收所述信息旁路裝置發(fā)送的交易報文,并根據(jù)設(shè)定的測試目標(biāo)和負(fù)載配置,啟動重放的模擬用戶,控制所述模擬用戶向所述主機系統(tǒng)中的主機業(yè)務(wù)交易系統(tǒng)發(fā)起交易,并接收所述主機業(yè)務(wù)交易系統(tǒng)返回的處理結(jié)果進(jìn)而分析交易重放成功率,生成壓力測試結(jié)果。
進(jìn)一步地,在一實施例中,所述信息旁路裝置從所述網(wǎng)關(guān)集群獲取的從終端發(fā)送至主機系統(tǒng)的交易報文包括:交易碼、報文時間戳、柜面號或終端編號、網(wǎng)關(guān)與主機的通訊報頭、業(yè)務(wù)通訊區(qū)數(shù)據(jù)。
進(jìn)一步地,在一實施例中,所述重放裝置包括:信息接收單元,用于接收所述信息旁路裝置發(fā)送的交易報文;重放定制單元,連接所述信息接收單元,用于根據(jù)設(shè)定的測試目標(biāo),篩選所需要的交易報文;負(fù)載均衡單元,連接所述重放定制單元,用于根據(jù)驗證環(huán)境的負(fù)載配置,設(shè)計重放用戶數(shù),對篩選后的交易報文根據(jù)所述重放用戶數(shù)進(jìn)行合并、重拆分、排序,為每個重放用戶分配模擬的交易量,以均衡地發(fā)起交易;重放控制單元,連接所述負(fù)載均衡單元,用于控制所述重放用戶建立與所述主機業(yè)務(wù)交易系統(tǒng)的連接,并根據(jù)壓力測試的需要控制重放的步伐,動態(tài)的發(fā)起交易請求并接收重放交易返回結(jié)果;交易運行匯總單元,連接所述重放控制單元,用于接收所述重放交易返回結(jié)果,分析交易重放成功率,生成壓力測試結(jié)果。
進(jìn)一步地,在一實施例中,所述交易運行匯總單元還連接所述信息接收單元;其中,所述信息旁路裝置還用于從所述網(wǎng)關(guān)集群獲取生產(chǎn)交易時從所述主機業(yè)務(wù)交易系統(tǒng)返回的生產(chǎn)執(zhí)行結(jié)果;所述交易運行匯總單元用于將從所述信息旁路單元獲取的所述生產(chǎn)執(zhí)行結(jié)果與所述重放交易返回結(jié)果進(jìn)行對比,以分析重放行為的有效性。
進(jìn)一步地,在一實施例中,所述測試系統(tǒng)還包括:安全校驗屏蔽裝置,連接所述主機業(yè)務(wù)交易系統(tǒng),用于當(dāng)所述主機業(yè)務(wù)交易系統(tǒng)發(fā)起安全校驗檢查時,實施對校驗結(jié)果的屏蔽,自動設(shè)置為校驗成功。
為了達(dá)到上述目的,本發(fā)明實施例還提供一種基于主機系統(tǒng)交易重放的測試方法,包括:從所述網(wǎng)關(guān)集群獲取從終端發(fā)送至主機系統(tǒng)的交易報文;接收所述交易報文,并根據(jù)設(shè)定的測試目標(biāo)和負(fù)載配置,啟動重放的模擬用戶,控制所述模擬用戶向所述主機系統(tǒng)中的主機業(yè)務(wù)交易系統(tǒng)發(fā)起交易,并接收所述主機業(yè)務(wù)交易系統(tǒng)返回的處理結(jié)果進(jìn)而分析交易重放成功率,生成壓力測試結(jié)果。
進(jìn)一步地,在一實施例中,所述從所述網(wǎng)關(guān)集群獲取的從終端發(fā)送至主機系統(tǒng)的交易報文包括:交易碼、報文時間戳、柜面號或終端編號、網(wǎng)關(guān)與主機的通訊包頭、業(yè)務(wù)通訊區(qū)數(shù)據(jù)。
進(jìn)一步地,在一實施例中,所述接收所述交易報文,并根據(jù)設(shè)定的測試目標(biāo)和負(fù)載配置,啟動重放的模擬用戶,控制所述模擬用戶向所述主機系統(tǒng)中的主機業(yè)務(wù)交易系統(tǒng)發(fā)起交易,并接收所述主機業(yè)務(wù)交易系統(tǒng)返回的處理結(jié)果進(jìn)而分析交易重放成功率,生成壓力測試結(jié)果的步驟,具體包括:接收所述交易報文;根據(jù)設(shè)定的測試目標(biāo),篩選所需要的交易報文;根據(jù)驗證環(huán)境的負(fù)載配置,設(shè)計重放用戶數(shù),對篩選后的交易報文根據(jù)所述重放用戶數(shù)進(jìn)行合并、重拆分、排序,為每個重放用戶分配模擬的交易量,以均衡地發(fā)起交易;控制所述重放用戶建立與所述主機業(yè)務(wù)交易系統(tǒng)的連接,并根據(jù)壓力測試的需要控制重放的步伐,動態(tài)的發(fā)起交易請求并接收重放交易返回結(jié)果;接收所述重放交易返回結(jié)果,分析交易重放成功率,生成壓力測試結(jié)果。
進(jìn)一步地,在一實施例中,所述測試方法還包括:從所述網(wǎng)關(guān)集群獲取生產(chǎn)交易時從所述主機業(yè)務(wù)交易系統(tǒng)返回的生產(chǎn)執(zhí)行結(jié)果;將所述生產(chǎn)執(zhí)行結(jié)果與所述重放交易返回結(jié)果進(jìn)行對比,以分析重放行為的有效性。
進(jìn)一步地,在一實施例中,所述測試方法還包括:當(dāng)所述主機業(yè)務(wù)交易系統(tǒng)發(fā)起安全校驗檢查時,實施對校驗結(jié)果的屏蔽,自動設(shè)置為校驗成功。
本發(fā)明提供的基于主機系統(tǒng)交易重放的測試系統(tǒng)及方法的有益效果是:可以解決傳統(tǒng)壓力測試方法的不足,在不需要大量投入人力的情況下,實現(xiàn)生產(chǎn)交易在驗證環(huán)境映像式的重現(xiàn),進(jìn)一步提高系統(tǒng)軟件升級版本在用戶環(huán)境下的穩(wěn)定性及可靠性。并且,本發(fā)明通過重放的加速減速功能,可以應(yīng)用于模擬分析未來生產(chǎn)高峰的創(chuàng)新高的系統(tǒng)資源評估。通過需求定制,可以對特定業(yè)務(wù)的交易,或特定地區(qū)的交易進(jìn)行專門的測試。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為現(xiàn)有技術(shù)的主機業(yè)務(wù)交易系統(tǒng)通訊結(jié)構(gòu)流程圖;
圖2為本發(fā)明實施例的基于主機系統(tǒng)交易重放的測試系統(tǒng)的結(jié)構(gòu)示意圖;
圖3為本發(fā)明實施例的重放裝置22的結(jié)構(gòu)示意圖;
圖4為本發(fā)明另一實施例的基于主機系統(tǒng)交易重放的測試系統(tǒng)的結(jié)構(gòu)示意圖;
圖5為本發(fā)明又一實施例的基于主機系統(tǒng)交易重放的測試系統(tǒng)的結(jié)構(gòu)示意圖;
圖6為本發(fā)明實施例的基于主機系統(tǒng)交易重放的測試方法的處理流程圖;
圖7為本發(fā)明的基于主機系統(tǒng)交易重放的測試方法的一具體實施例的處理流程圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
本領(lǐng)域技術(shù)技術(shù)人員知道,本發(fā)明的實施方式可以實現(xiàn)為一種系統(tǒng)、裝置、設(shè)備、方法或計算機程序產(chǎn)品。因此,本公開可以具體實現(xiàn)為以下形式,即:完全的硬件、完全的軟件(包括固件、駐留軟件、微代碼等),或者硬件和軟件結(jié)合的形式。
下面參考本發(fā)明的若干代表性實施方式,詳細(xì)闡釋本發(fā)明的原理和精神。
本發(fā)明提供的基于主機系統(tǒng)交易重放的測試系統(tǒng)及方法,在不花費企業(yè)大量人力物力的情況下,通過技術(shù)手段捕獲生產(chǎn)交易的數(shù)據(jù)腳本,通過回放的方式,實現(xiàn)生產(chǎn)交易在驗證環(huán)境映像式的重現(xiàn),進(jìn)一步提高系統(tǒng)軟件升級版本在用戶環(huán)境下的穩(wěn)定性及可靠性。并且,本發(fā)明通過重放的加速減速功能,可以應(yīng)用于模擬分析未來生產(chǎn)高峰的創(chuàng)新高的系統(tǒng)資源評估;通過需求定制,可以對特定業(yè)務(wù)的交易,或特定地區(qū)的交易進(jìn)行專門的測試。本發(fā)明也可以應(yīng)用于無版本變化的回歸測試,應(yīng)用于應(yīng)用版本技術(shù)改造的技術(shù)性覆蓋測試。
為了更好的理解本發(fā)明實現(xiàn)的技術(shù)原理,參考圖1對現(xiàn)有技術(shù)的主機業(yè)務(wù)交易系統(tǒng)通訊結(jié)構(gòu)流程圖作簡要說明。如圖1所示,以客戶發(fā)起實時業(yè)務(wù)為例進(jìn)行說明,包含部署在生產(chǎn)中心的終端系統(tǒng)11、網(wǎng)關(guān)集群12和主機系統(tǒng)13三部分,其中終端系統(tǒng)11與網(wǎng)關(guān)集群12連接,網(wǎng)關(guān)集群12與主機系統(tǒng)13連接。所有的交易均通過網(wǎng)關(guān)集群12上送到主機系統(tǒng)13,及通過網(wǎng)關(guān)集群12把主機系統(tǒng)13的處理結(jié)果返回給終端系統(tǒng)11。圖1中描述的終端系統(tǒng)11,包含終端界面和終端服務(wù)器,用于接收客戶的業(yè)務(wù)請求,同時將處理結(jié)果展現(xiàn)給客戶。其中,主機系統(tǒng)13包含主機業(yè)務(wù)交易系統(tǒng)14,是業(yè)務(wù)處理的核心。網(wǎng)關(guān)集群12是主機業(yè)務(wù)交易系統(tǒng)14與終端系統(tǒng)11的連接接點,主要負(fù)責(zé)主機系統(tǒng)13與終端系統(tǒng)11的通訊協(xié)議轉(zhuǎn)換,將客戶的業(yè)務(wù)請求上送給主機系統(tǒng)13。
本發(fā)明所提出的基于主機系統(tǒng)交易重放的系統(tǒng)及方法,通過技術(shù)手段捕獲生產(chǎn)交易的數(shù)據(jù)腳本,通過回放的方式,實現(xiàn)生產(chǎn)交易在驗證環(huán)境映像式的重現(xiàn),以接近真實生產(chǎn)環(huán)境的場景下驗證系統(tǒng)軟件升級版本在用戶環(huán)境下的穩(wěn)定性及可靠性。以圖1為例,本發(fā)明即是從網(wǎng)關(guān)集群12獲取終端系統(tǒng)11與主機業(yè)務(wù)交易系統(tǒng)14之間交易的數(shù)據(jù),通過重放技術(shù)實現(xiàn)生產(chǎn)的交易數(shù)據(jù)在驗證環(huán)境重放,模擬生產(chǎn)環(huán)境高峰期更加復(fù)雜的混合運行,以達(dá)到真實模擬生產(chǎn)環(huán)境的目的,來驗證系統(tǒng)軟件升級版本在用戶環(huán)境下的穩(wěn)定性及可靠性。并且,不需要每筆交易驗證環(huán)境均執(zhí)行成功,只要在驗證環(huán)境執(zhí)行成功率達(dá)到一定的比值(例如大于90%),則可達(dá)到驗證系統(tǒng)軟件升級版本的目的。
圖2為本發(fā)明實施例的基于主機系統(tǒng)交易重放的測試系統(tǒng)的結(jié)構(gòu)示意圖。如圖2所示,包括:
信息旁路裝置21,連接網(wǎng)關(guān)集群12,用于在進(jìn)行測試時從所述網(wǎng)關(guān)集群12獲取從終端系統(tǒng)11發(fā)送至主機系統(tǒng)13的交易報文;重放裝置22,連接所述信息旁路裝置21,用于接收所述信息旁路裝置21發(fā)送的交易報文,并根據(jù)設(shè)定的測試目標(biāo)和負(fù)載配置,啟動重放的模擬用戶,控制所述模擬用戶向所述主機系統(tǒng)13中的主機業(yè)務(wù)交易系統(tǒng)14發(fā)起交易,并接收所述主機業(yè)務(wù)交易系統(tǒng)14返回的處理結(jié)果進(jìn)而分析交易重放成功率,生成壓力測試結(jié)果。
在本實施例中,主機業(yè)務(wù)交易系統(tǒng)14的所有的聯(lián)機交易均通過網(wǎng)關(guān)集群12進(jìn)行路由轉(zhuǎn)發(fā)。網(wǎng)關(guān)集群12在接收到終端報文并轉(zhuǎn)成主機格式的報文后,把上送主機的整個報文旁路到信息旁路裝置21的文件中,此節(jié)點旁路的報文由于是轉(zhuǎn)換后的報文,主機直接可用。所述信息旁路裝置21從所述網(wǎng)關(guān)集群12獲取的從終端系統(tǒng)11發(fā)送至主機系統(tǒng)13的交易報文包含交易重新執(zhí)行、負(fù)載均衡處理、交易過濾、重放節(jié)奏控制所需要的必要信息,例如交易碼、報文時間戳、柜面號或終端編號、網(wǎng)關(guān)與主機的通訊報頭、業(yè)務(wù)通訊區(qū)數(shù)據(jù)等關(guān)鍵信息。并且,為了不影響網(wǎng)關(guān)群集12的性能,信息旁路裝置21應(yīng)設(shè)置開關(guān),只有在有壓力測試需求時才開啟旁路。
為了驗證系統(tǒng)軟件升級版本,通常會搭建一套與生產(chǎn)環(huán)境一樣的驗證環(huán)境。重放裝置22直接與信息旁路裝置21進(jìn)行連接,其接收所述信息旁路裝置21發(fā)送的交易報文,并根據(jù)設(shè)定的測試目標(biāo)和負(fù)載配置,啟動重放的模擬用戶,控制所述模擬用戶向所述主機系統(tǒng)13中的主機業(yè)務(wù)交易系統(tǒng)14發(fā)起交易,并接收所述主機業(yè)務(wù)交易系統(tǒng)14返回的處理結(jié)果進(jìn)而分析交易重放成功率,生成壓力測試結(jié)果。在一實施例中,如圖3所示,其具體包括:
信息接收單元221,用于接收所述信息旁路裝置21發(fā)送的交易報文。
重放定制單元222,連接所述信息接收單元221,用于根據(jù)設(shè)定的測試目標(biāo),篩選所需要的交易報文。例如,為了實現(xiàn)不同的重放需求,比如根據(jù)壓力測試制定的測試目標(biāo),可按照白名單篩選需要的交易報文,或按照黑名單過濾不需要的交易報文?;蛘?,根據(jù)重放目的的不同,只重放部分時段的交易,或只重放部分特定業(yè)務(wù)品種的交易和特定地區(qū)的交易,或不重放部分特定業(yè)務(wù)品種的交易。
負(fù)載均衡單元223,連接所述重放定制單元222,既可以實現(xiàn)跟生產(chǎn)環(huán)境一樣的負(fù)載配置,也可以按壓力測試需求(比如增加或減少運行業(yè)務(wù)交易的子系統(tǒng))調(diào)整負(fù)載均衡配置,配置重放的并發(fā)用戶數(shù),以實現(xiàn)交易在主機業(yè)務(wù)交易系統(tǒng)運行的負(fù)載均衡。具體實施時,負(fù)載均衡單元223還可以根據(jù)驗證環(huán)境的負(fù)載配置,設(shè)計重放用戶數(shù),對篩選后的交易報文根據(jù)所述重放用戶數(shù)進(jìn)行合并、重拆分、排序,為每個重放用戶分配模擬的交易量并均衡地發(fā)起交易。
重放控制單元224,連接所述負(fù)載均衡單元223,用于控制所述重放用戶建立與所述主機業(yè)務(wù)交易系統(tǒng)14的連接,并根據(jù)壓力測試的需要控制重放的步伐,動態(tài)的發(fā)起交易請求并接收重放交易返回結(jié)果。具體實施時,重放控制單元224與負(fù)載均衡單元223連接,根據(jù)負(fù)載配置啟動對應(yīng)的模擬用戶,實現(xiàn)模擬客戶向主機業(yè)務(wù)交易系統(tǒng)14發(fā)起交易。重放控制單元224實現(xiàn)對重放過程的控制,重放控制單元224控制交易按生產(chǎn)時序執(zhí)行,控制同一柜員或同一終端的交易按順序執(zhí)行。并且,可根據(jù)壓力測試需求加速發(fā)起或減速發(fā)起交易,加速功能可實現(xiàn)比生產(chǎn)環(huán)境更高TPS的壓力測試。在驗證環(huán)境資源不足的情況下可采用減速功能,以降低重放時的TPS。重放控制單元224同時與主機業(yè)務(wù)交易系統(tǒng)14相連接,實現(xiàn)發(fā)起交易和接收交易的返回。根據(jù)負(fù)載均衡單元223的處理,各重放用戶均衡地工作,動態(tài)地把交易請求發(fā)送到主機業(yè)務(wù)交易系統(tǒng)14,使各處理子系統(tǒng)負(fù)載均衡。
交易運行匯總單元225,連接所述重放控制單元224,用于接收交易的處理結(jié)果,并根據(jù)交易的特性分析統(tǒng)計業(yè)務(wù)處理成功失敗情況,匯總整個重放過程中重放的交易品種、數(shù)量及重放成功率。
在一實施例中,如圖4所示,交易運行匯總單225元同時與信息接收單元221連接。其中,所述信息旁路裝置21還用于從所述網(wǎng)關(guān)集群12獲取生產(chǎn)交易時從所述主機業(yè)務(wù)交易系統(tǒng)14返回的生產(chǎn)執(zhí)行結(jié)果;所述交易運行匯總單元225用于將從所述信息旁路單元21獲取的所述生產(chǎn)執(zhí)行結(jié)果與所述重放交易返回結(jié)果進(jìn)行對比,以分析重放行為的有效性。
在圖4所示實施例中,所述測試系統(tǒng)還包括安全校驗屏蔽裝置23,連接所述主機業(yè)務(wù)交易系統(tǒng)14,用于當(dāng)所述主機業(yè)務(wù)交易系統(tǒng)14發(fā)起安全校驗檢查時,實施對校驗結(jié)果的屏蔽,自動設(shè)置為校驗成功。為了避免交易重做的風(fēng)險,交易在執(zhí)行動作前,會增加很多規(guī)則檢查,如業(yè)務(wù)執(zhí)行時間有效性檢查、柜面或終端序號檢查。在一實施例中,安全校驗屏蔽裝置23利用主機的出口技術(shù)嵌入到主機業(yè)務(wù)交易系統(tǒng)14中,而不需要為壓力測試專門修改主機業(yè)務(wù)交易系統(tǒng)14的校驗規(guī)則。當(dāng)發(fā)生安全校驗檢查時,實施對校驗結(jié)果的屏蔽,自動置為校驗成功,以便交易繼續(xù)執(zhí)行。
需要說明的是,上述實施例中提及的基于主機系統(tǒng)交易重放的測試系統(tǒng)可以為獨立于主機系統(tǒng)、網(wǎng)關(guān)集群服務(wù)器以及終端系統(tǒng)之外的獨立測試系統(tǒng),也可以將各個模塊安裝在現(xiàn)有的交易系統(tǒng)服務(wù)器中。例如,如圖5所示,信息旁路裝置21可以安裝在網(wǎng)關(guān)集群服務(wù)器中,重放裝置22可以安裝在驗證環(huán)境的主機系統(tǒng)中,而安全校驗屏蔽裝置23則可以利用主機的出口技術(shù)嵌入到主機業(yè)務(wù)交易系統(tǒng)14中。
此外,盡管在上文詳細(xì)描述中提及了基于主機系統(tǒng)交易重放的測試系統(tǒng)的若干單元,但是這種劃分僅僅并非強制性的。實際上,根據(jù)本發(fā)明的實施方式,上文描述的兩個或更多單元的特征和功能可以在一個單元中具體化。同樣,上文描述的一個單元的特征和功能也可以進(jìn)一步劃分為由多個單元來具體化。并且,上述所提及的術(shù)語“裝置”和“單元”,可以是實現(xiàn)預(yù)定功能的軟件和/或硬件。盡管上述實施例所描述的模塊較佳地以軟件來實現(xiàn),但是硬件,或者軟件和硬件的組合的實現(xiàn)也是可能并被構(gòu)想的。
基于同一發(fā)明構(gòu)思,本發(fā)明還提出一種基于主機系統(tǒng)交易重放的測試方法,其具體實施流程如圖6所示,包括:
步驟S601,從所述網(wǎng)關(guān)集群獲取從終端發(fā)送至主機系統(tǒng)的交易報文;
步驟S602,接收所述交易報文,并根據(jù)設(shè)定的測試目標(biāo)和負(fù)載配置,啟動重放的模擬用戶,控制所述模擬用戶向所述主機系統(tǒng)中的主機業(yè)務(wù)交易系統(tǒng)發(fā)起交易,并接收所述主機業(yè)務(wù)交易系統(tǒng)返回的處理結(jié)果進(jìn)而分析交易重放成功率,生成壓力測試結(jié)果。該步驟具體包括:接收所述交易報文;根據(jù)設(shè)定的測試目標(biāo),篩選所需要的交易報文;根據(jù)驗證環(huán)境的負(fù)載配置,設(shè)計重放用戶數(shù),對篩選后的交易報文根據(jù)所述重放用戶數(shù)進(jìn)行合并、重拆分、排序,為每個重放用戶分配模擬的交易量,以均衡地發(fā)起交易;控制所述重放用戶建立與所述主機業(yè)務(wù)交易系統(tǒng)的連接,并根據(jù)壓力測試的需要控制重放的步伐,動態(tài)的發(fā)起交易請求并接收重放交易返回結(jié)果;接收所述重放交易返回結(jié)果,分析交易重放成功率,生成壓力測試結(jié)果。
并且,當(dāng)所述主機業(yè)務(wù)交易系統(tǒng)發(fā)起安全校驗檢查時,實施對校驗結(jié)果的屏蔽,自動設(shè)置為校驗成功。
如圖7所示,為本發(fā)明的基于主機系統(tǒng)交易重放的測試方法的一具體實施例的處理流程圖。
步驟S701,在生產(chǎn)環(huán)境網(wǎng)關(guān)集群服務(wù)器上送報文到主機前的關(guān)鍵節(jié)點上,獲取到經(jīng)過協(xié)議轉(zhuǎn)換成主機可識別的交易報文,旁路的信息包含交易重新執(zhí)行、負(fù)載均衡處理、交易過濾、重放節(jié)奏控制所需要的必要信息。
步驟S702,將獲取到的報文寫到本地文件中,為重放提供數(shù)據(jù)準(zhǔn)備。
旁路完成之后,可在生產(chǎn)非高峰時段,通過重放裝置:
步驟S703,將生產(chǎn)網(wǎng)關(guān)旁路的交易報文傳輸?shù)津炞C環(huán)境主機系統(tǒng)中。
步驟S704,根據(jù)壓力測試制定的測試目標(biāo),可按照白名單篩選需要的交易報文,或按照黑名單過濾不需要的交易報文。
步驟S705,根據(jù)驗證環(huán)境的配置,設(shè)計重放并發(fā)用戶數(shù),對篩選后的報文根據(jù)并發(fā)用戶數(shù)進(jìn)行合并、重拆分、排序,為每個重放用戶分配模擬的交易量,以均衡地發(fā)起交易。
步驟S706,當(dāng)數(shù)據(jù)準(zhǔn)備就緒后,啟動重放用戶。
步驟S707,重放用戶建立重放裝置與主機業(yè)務(wù)交易系統(tǒng)的連接,用于發(fā)起交易及接收交易返回。重放用戶讀取旁路的交易報文,屏蔽交易入口的超時校驗,發(fā)起交易。此步驟是重放的關(guān)鍵,重放用戶按生產(chǎn)的時序讀出報文,根據(jù)壓力測試的需要控制重放的步伐,進(jìn)行加速、與生產(chǎn)同速,減速重放。根據(jù)步驟S705的處理,各重放用戶均衡地工作,動態(tài)地把交易請求發(fā)送到主機業(yè)務(wù)交易系統(tǒng),使各處理子系統(tǒng)負(fù)載均衡。
步驟S708,主機業(yè)務(wù)交易系統(tǒng)受理業(yè)務(wù)請求,進(jìn)行業(yè)務(wù)處理。本發(fā)明保持交易不需要作任何修改而支持重放。在交易處理到安全校驗?zāi)K時,會自動觸發(fā)安全校驗屏蔽功能。
步驟S709,安全校驗屏蔽模塊通過主機出口技術(shù)捕捉到校驗結(jié)果,把日期校驗、柜員流水號校驗、報文完整性校驗失敗的返回,自動調(diào)整為正常返回,以便重放場景下交易繼續(xù)處理。
步驟S710,交易處理結(jié)束后,把處理結(jié)果返回給重放用戶,重放用戶把交易處理結(jié)果寫入到文件中。
步驟S711,啟動交易運行匯總單元,讀取交易的重放結(jié)果,分析交易重放成功率,提供壓力測試事后分析報表。
在執(zhí)行重放前,為了提升交易的成功率,需要使用磁盤同步技術(shù)把生產(chǎn)環(huán)境同步到驗證環(huán)境,使得之后執(zhí)行的交易,在生產(chǎn)環(huán)境和驗證環(huán)境處于同一起始點上,交易版本保持一致。
同時,基于數(shù)據(jù)安全的需要,旁路的交易數(shù)據(jù)及驗證環(huán)境的數(shù)據(jù)在實際應(yīng)用中一般需要執(zhí)行跟生產(chǎn)環(huán)境一樣的安全風(fēng)險控制,并在驗證結(jié)束后及時銷毀。
應(yīng)當(dāng)注意,盡管在附圖中以特定順序描述了本發(fā)明方法的操作,但是,這并非要求或者暗示必須按照該特定順序來執(zhí)行這些操作,或是必須執(zhí)行全部所示的操作才能實現(xiàn)期望的結(jié)果。附加地或備選地,可以省略某些步驟,將多個步驟合并為一個步驟執(zhí)行,和/或?qū)⒁粋€步驟分解為多個步驟執(zhí)行。
本發(fā)明的目的是通過重放技術(shù)實現(xiàn)生產(chǎn)的交易數(shù)據(jù)在驗證環(huán)境重放,來驗證系統(tǒng)軟件升級版本在用戶環(huán)境下的穩(wěn)定性及可靠性,因此并不需要每筆交易驗證環(huán)境均執(zhí)行成功,只要在驗證環(huán)境執(zhí)行成功率達(dá)到一定的比值(如大于90%),則可達(dá)到驗證系統(tǒng)軟件升級版本的目的。
本發(fā)明提供的基于主機系統(tǒng)交易重放的測試系統(tǒng)及方法,可以解決傳統(tǒng)壓力測試方法的不足,在不需要大量投入人力物力的情況下,實現(xiàn)生產(chǎn)交易在驗證環(huán)境映像式的重現(xiàn),進(jìn)一步提高系統(tǒng)軟件升級版本在用戶環(huán)境下的穩(wěn)定性及可靠性。
基于本發(fā)明的基于主機系統(tǒng)交易重放的測試系統(tǒng)及方法,在壓力測試時,采用更加豐富的交易品種,模擬生產(chǎn)環(huán)境高峰期更加復(fù)雜的混合運行,以達(dá)到真實模擬生產(chǎn)環(huán)境的目的,從而提升系統(tǒng)軟件新版本測試的有效性。本發(fā)明通過重放的加速減速功能,可以應(yīng)用于模擬分析未來生產(chǎn)高峰的創(chuàng)新高的系統(tǒng)資源評估,通過需求定制,可以對特定業(yè)務(wù)的交易,或特定地區(qū)的交易進(jìn)行專門的測試。本發(fā)明也可以應(yīng)用于無版本變化的回歸測試,應(yīng)用于應(yīng)用版本技術(shù)改造的技術(shù)性覆蓋測試。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
本發(fā)明中應(yīng)用了具體實施例對本發(fā)明的原理及實施方式進(jìn)行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。