專利名稱:一種銀行卡交易測試方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及銀行卡交易和網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,特別是涉及一種高性能銀行卡的交易測試方法及系統(tǒng)。
背景技術(shù):
隨著銀行卡的普及和推廣,銀行卡交易量快速增長,而且出現(xiàn)了越來越多的跨行、跨地區(qū)交易。銀行卡交易通常涉及受理方、轉(zhuǎn)接中心、發(fā)卡方,巨大的業(yè)務(wù)量對三方交易處理系統(tǒng)的處理能力提出了更高的要求。因此,建設(shè)銀行卡交易的集中交換或處理平臺已經(jīng)成為受理方和發(fā)卡方、轉(zhuǎn)接中心及提供相關(guān)專業(yè)化服務(wù)的第三方處理機構(gòu)的必然選擇,而對于這類處理系統(tǒng)的性能測試也是驗證系統(tǒng)建設(shè)成功與否的一個關(guān)鍵環(huán)節(jié)。通過有效的測試方法,能夠獲知被測系統(tǒng)的業(yè)務(wù)處理能力、峰值處理能力等系統(tǒng)性能。
針對銀行卡交易交換中心的性能測試在實際應(yīng)用中具有代表性,以此為例來說明目前所使用的銀行卡交易測試方法。參照圖1所示,測試環(huán)境包括發(fā)卡方模擬、受理方模擬和交換中心處理系統(tǒng)(以下簡稱系統(tǒng))。其中,發(fā)卡方模擬的是銀行卡的所屬銀行,受理方模擬的是用戶提交銀行卡交易的銀行,發(fā)卡方和受理方共同構(gòu)成測試方;交換中心處理系統(tǒng)即為被測系統(tǒng),發(fā)卡方模擬和受理方模擬聯(lián)合對所述被測系統(tǒng)進行性能測試。在實際應(yīng)用中,當持有A行卡的用戶在B行的操作機上進行跨行操作時,由B行通過交換中心處理系統(tǒng)處理A行卡提交的業(yè)務(wù)。其中,A行即為所述發(fā)卡方,B行即為所述受理方。
在銀行卡交易過程中,對于上述每一方的處理,均有不同,但基本上都涉及交易報文的識別和對報文的業(yè)務(wù)處理兩個步驟,同時也涉及交易報文在各參與方間的傳輸。具體測試方法如下步驟101和102,受理方根據(jù)提交的交易進行交易識別,識別出交易類型、發(fā)卡方、受理方等信息,然后根據(jù)這些信息生成交易請求報文,并發(fā)送到交換中心處理系統(tǒng)。步驟103和104,系統(tǒng)根據(jù)不同的交易請求報文,若需要則完成相關(guān)操作(如統(tǒng)計、清算)后,發(fā)送給發(fā)卡方;發(fā)卡方接收并進行報文識別后,對所述交易請求報文進行處理。步驟105和106,發(fā)卡方根據(jù)處理結(jié)果生成交易應(yīng)答報文,并發(fā)送給交換中心處理系統(tǒng)。步驟107和108,系統(tǒng)將應(yīng)答報文發(fā)送給受理方,受理方接收并進行報文識別后,對所述交易應(yīng)答報文進行處理,并將最終處理結(jié)果反饋給用戶。
整個測試執(zhí)行過程,交易報文沿上述步驟進行串行處理,傳輸經(jīng)過多臺主機,完成交易處理的全過程。在這種方案中,由于處理過程為串行處理,故為獲得較高的測試處理性能,必須降低每個處理環(huán)節(jié)的處理時間。而在受理方和發(fā)卡方的報文生成及處理過程中,都需要對交易報文進行識別,識別出具體的交易操作、交易的雙發(fā)、交易時間等信息,這些交易報文的識別過程將占用處理環(huán)節(jié)很多處理時間,消耗交易處理的計算資源。所以降低處理環(huán)節(jié)的處理時間,必將導(dǎo)致所支持的交易類型的減少。而且對于后續(xù)的關(guān)聯(lián)交易(與上一交易過程相關(guān)聯(lián)的交易)測試處理,由于需要對上一關(guān)聯(lián)交易進行識別,影響了處理性能,處理緩慢,從而無法得到有效支持。
在測試過程中,還存在著大量的網(wǎng)絡(luò)IO操作和CPU計算,串行方法使得在進行IO操作過程中,報文處理所需的CPU計算出現(xiàn)空閑,導(dǎo)致整體的處理能力低下。而且,在所述串行處理過程中,受理方需要等待同一個交易的應(yīng)答報文處理完畢后,才能進行其他交易請求報文的生成;同樣,發(fā)卡方也需要等待同一個交易的應(yīng)答報文發(fā)送后,才能進行其他交易請求報文的接收;所述交換中心處理系統(tǒng)也需要等待交易的整個測試過程執(zhí)行完畢后,才能進行其他交易測試。這種串行方式大大降低了測試過程的效率。
所以,目前的銀行卡交易測試方法是以減少支持的交易類型和簡化交易處理過程,即從減少報文識別和業(yè)務(wù)處理方面的操作為出發(fā)點,來構(gòu)建高性能的銀行卡交易測試環(huán)境。故在硬件配置不改變的情況下,現(xiàn)有方式無法實現(xiàn)測試性能的大幅提升。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種高性能銀行卡測試方法及系統(tǒng),以解決現(xiàn)有測試方法所支持的交易類型較少、處理能力較低帶來的局限性。
為解決上述技術(shù)問題,本發(fā)明提供了一種系統(tǒng)測試方法,包括特征識別過程,記錄能識別測試所支持的被測數(shù)據(jù)的特征數(shù)據(jù)及其在報文中的位置;測試執(zhí)行過程,應(yīng)用所述特征數(shù)據(jù)及其在報文中的位置,模擬測試方生成及處理與各特征數(shù)據(jù)對應(yīng)的交易報文,對被測系統(tǒng)進行測試。
優(yōu)選的,所述特征識別過程還包括記錄特征數(shù)據(jù)的長度及類型。
其中,所述被測系統(tǒng)為銀行卡交易中的受理方、發(fā)卡方及轉(zhuǎn)接中心的任何一方。
其中,所述被測數(shù)據(jù)為銀行卡的交易數(shù)據(jù)時,所述特征數(shù)據(jù)包括用于區(qū)別不同交易類型的數(shù)據(jù)和用于區(qū)別同一交易類型不同交易報文的數(shù)據(jù)。
其中,所述交易報文包括交易請求報文和交易應(yīng)答報文。
優(yōu)選的,對轉(zhuǎn)接中心進行測試時,所述測試執(zhí)行過程包括在受理方和發(fā)卡方分別模擬緩沖區(qū)管理功能,將交易請求報文及交易應(yīng)答報文存放于所述緩沖區(qū),在受理方并發(fā)執(zhí)行交易請求報文的生成、發(fā)送及交易應(yīng)答報文的接收、處理,在發(fā)卡方并發(fā)執(zhí)行交易請求報文的接收、處理及交易應(yīng)答報文的生成、發(fā)送。
其中,所述測試執(zhí)行過程對同一個交易進行交易請求報文的生成、發(fā)送、接收、處理及交易應(yīng)答報文的生成、發(fā)送、接收、處理的串行執(zhí)行。
其中,預(yù)先設(shè)定發(fā)送速度發(fā)送所述交易報文。
本發(fā)明還提供了一種銀行卡交易測試系統(tǒng),包括報文生成模塊、報文發(fā)送模塊、報文接收模塊、報文處理模塊及交換中心處理模塊,還包括特征識別模塊,用于記錄能識別測試所支持的交易的特征數(shù)據(jù)及在報文中的位置;所述報文生成模塊、報文發(fā)送模塊、報文接收模塊、報文處理模塊及交換中心處理模塊,用于應(yīng)用所述特征數(shù)據(jù)及在報文中的位置,模擬測試方生成及處理與各特征數(shù)據(jù)對應(yīng)的交易報文,對被測系統(tǒng)進行測試。
優(yōu)選的,還包括緩沖區(qū)管理模塊,用于存放所述報文生成模塊生成的交易報文及報文接收模塊接收的交易報文;所述報文發(fā)送模塊及報文處理模塊從所述緩沖區(qū)管理模塊獲取交易報文。
其中,在受理方和發(fā)卡方分別設(shè)置所述報文生成模塊、報文發(fā)送模塊、報文接收模塊、報文處理模塊及緩沖區(qū)管理模塊。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點首先,本發(fā)明將測試過程分為獨立的特征識別過程和測試執(zhí)行過程。所述特征識別過程把交易處理過程中具有共性及計算量大的處理獨立出來,減少了交易處理對計算資源的消耗,提高了整體的處理能力。由于特征識別過程是與測試執(zhí)行過程相分離的,成為測試執(zhí)行過程的準備階段,故不需追求處理能力的優(yōu)化。同時對于增加更多類型的交易類型,僅需增加特征識別過程的復(fù)雜度,對測試執(zhí)行過程的性能影響很小。因此,獨立的特征識別過程擴大了支持的交易類型范圍。同時由于測試執(zhí)行過程中不需進行報文的識別,相關(guān)聯(lián)的交易可以順次執(zhí)行,提高了交易處理速度,從而有效實現(xiàn)了相關(guān)聯(lián)的后續(xù)交易測試。
其次,對測試執(zhí)行過程的優(yōu)化,依據(jù)專門設(shè)計的緩沖區(qū)管理機制,將報文處理過程和網(wǎng)絡(luò)IO過程分離,實現(xiàn)并發(fā)處理,減少了報文傳輸對計算資源的消耗。測試過程結(jié)合良好的IO處理和調(diào)度,利用網(wǎng)絡(luò)IO操作期間的CPU處理,用于報文生成、處理、統(tǒng)計等操作,從而提高CPU的利用率,實現(xiàn)高性能的銀行卡交易測試。
再次,基于交易特征識別處理的方式,可以方便地實現(xiàn)對銀行卡交易過程的各個參與實體(交換中心處理系統(tǒng)、發(fā)卡方或受理方)進行性能測試。現(xiàn)有技術(shù)中,由于在受理方、發(fā)卡方或轉(zhuǎn)接中心的交易識別過程不同,所以對任何一方進行測試時,需要不同的測試方法。本發(fā)明將測試所支持的所有交易的特征識別過程獨立出來,在測試實施的報文生成及處理過程中,不需要進行交易報文的特征識別,因此簡化了測試執(zhí)行過程,使用統(tǒng)一的測試方法,方便地對被測系統(tǒng)進行高性能測試。
圖1是現(xiàn)有技術(shù)銀行卡交易交換中心的性能測試方法示意圖;圖2是本發(fā)明所述高性能銀行卡測試方法示意圖;圖3是本發(fā)明所述測試方法的實施例中測試執(zhí)行過程示意圖;圖4是本發(fā)明所述高性能銀行卡測試系統(tǒng)的結(jié)構(gòu)框圖。
具體實施例方式
為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖和具體實施方式
對本發(fā)明作進一步詳細的說明。
本發(fā)明的核心思想是首先將交易的特征識別過程和測試執(zhí)行過程相分離,記錄交易的特征數(shù)據(jù)并用于測試執(zhí)行過程,在報文的生成及處理過程中不需進行報文識別。測試執(zhí)行過程中在測試方設(shè)置緩沖區(qū)管理,將報文處理過程和網(wǎng)絡(luò)IO過程分離,實現(xiàn)報文處理的并發(fā)執(zhí)行,提高測試過程整體的處理能力。
本發(fā)明所述的系統(tǒng)測試方法,能夠?qū)趫笪淖R別和報文傳輸?shù)南到y(tǒng)進行測試,通過提取能夠識別報文的特征數(shù)據(jù)來提高測試效率。針對銀行卡交易的性能測試在實際應(yīng)用中具有代表性,下面將以此為例進行說明。
所述方法是在硬件配置相同的情況下對銀行卡交易測試方法的改進,所述硬件配置相同指受理方、發(fā)卡方及轉(zhuǎn)接中心處理系統(tǒng)的硬件配置不變。在銀行卡交易過程中,若某銀行受理本行的銀行卡交易,則該銀行對該筆交易同時充當發(fā)卡銀行和受理銀行的雙重角色??缧薪灰撞艜婕暗讲煌陌l(fā)卡銀行和受理銀行。通常,銀行卡交易還涉及到專業(yè)化服務(wù)機構(gòu),所述機構(gòu)既可能是專業(yè)化的發(fā)卡公司,也可能是專業(yè)化的收單機構(gòu),還可能是兼具發(fā)卡公司和收單機構(gòu)的專業(yè)化服務(wù)機構(gòu)。
本發(fā)明要對涉及到受理方、發(fā)卡方及轉(zhuǎn)接中心的整個交易過程進行壓力測試,所述壓力測試主要是為了測試被測系統(tǒng)的服務(wù)器處理能力,通過測試工具發(fā)起大量的交易請求,以測試服務(wù)器的峰值處理能力及服務(wù)器在處理大交易量的情況下對異常情況的處理能力等。其中,所述測試工具即為測試方的模擬;所述服務(wù)器處理能力指數(shù)據(jù)計算能力,如金融系統(tǒng)的清算、統(tǒng)計等。為了滿足性能測試的要求,在一定的計算機硬件條件下(如CPU、內(nèi)存、網(wǎng)絡(luò)帶寬等),實現(xiàn)最大的測試處理能力,就需要減少交易處理和報文傳輸對計算資源的消耗。本發(fā)明所述方法從以上方面進行了改進。
參照圖2,是本發(fā)明所述高性能銀行卡測試方法示意圖。本發(fā)明在整體測試過程中對交易處理流程進行了特殊設(shè)計,將整個處理過程分為相互獨立的預(yù)測試過程和測試執(zhí)行過程,以提供高性能測試所需的處理能力。在交易處理過程中,由于許多處理環(huán)節(jié)都需要先對交易進行識別,造成了交易處理對計算資源的消耗。為了減少這種消耗,把交易處理過程中具有共性及計算量大的處理獨立出來,單獨作為特征識別過程,而其他的處理稱為測試執(zhí)行過程。測試方法如下步驟201,交易特征識別過程。
在銀行卡有關(guān)領(lǐng)域,國際標準化組織(ISO)制定了一系列標準和規(guī)范,其中金融數(shù)據(jù)報文(ISO8583)標準規(guī)定了銀行卡應(yīng)用系統(tǒng)間交換信息的規(guī)范及數(shù)據(jù)安全保密接口。通常在銀行卡交易時,相關(guān)信息按照ISO8583標準組包及解包,以報文形式進行應(yīng)用系統(tǒng)間的信息交換。
ISO8583標準報文結(jié)構(gòu)定義了報文的組成,除了包括報文頭信息等數(shù)據(jù)包基本結(jié)構(gòu)外,其主體包括位圖及域信息。通常報文數(shù)據(jù)包由64個字段組成,也可以是128個字段,每個字段稱為域,代表不同的數(shù)據(jù)信息,如表示交易類型的域、表示交易傳輸時間的域等,并且域的排列順序固定。組包生成報文時,不同的交易需要用到不同的域信息,由于在報文中只生成需要用到的域,為了標識數(shù)據(jù)包中的域信息在報文中的位置,即所述信息表示的是哪些域,在報文中還生成位圖信息,用于表示哪些域存有信息,并用1表示某個域存有數(shù)據(jù),用0表示該域為空。解包時,通過讀取位圖信息,能夠獲知位圖后記錄的數(shù)據(jù)表示的是哪些域的信息。此外,在域?qū)傩灾羞€定義了存放數(shù)據(jù)的長度和數(shù)據(jù)類型,便于解包時根據(jù)不同的數(shù)據(jù)長度讀取出對應(yīng)數(shù)據(jù)并識別類型。
本發(fā)明將交易報文中與交易密切相關(guān)的信息稱為特征數(shù)據(jù),包括兩類數(shù)據(jù)一類是用于區(qū)別不同類型銀行卡交易的關(guān)鍵數(shù)據(jù),如消息類型、處理碼、POS條件碼、渠道等信息;一類是用于區(qū)別不同交易報文的關(guān)鍵數(shù)據(jù),如交易傳輸時間、系統(tǒng)跟蹤號、轉(zhuǎn)發(fā)機構(gòu)代碼、受理機構(gòu)代碼等信息。在生成報文時主要是生成特征數(shù)據(jù),即根據(jù)不同的交易生成不同的域。例如,在生成交易請求報文時,生成交易傳輸時間域、系統(tǒng)跟蹤號域、轉(zhuǎn)發(fā)機構(gòu)代碼域、受理機構(gòu)代碼域等;在生成交易應(yīng)答報文時,生成授權(quán)碼域等。所述特征數(shù)據(jù)在按照ISO8583規(guī)范組包生成報文后,對于不同的交易類型,類型一的數(shù)據(jù)位于報文中不同的位置,即包含的域不同,位圖信息不同;對于同一類型交易的不同交易報文,類型二的數(shù)據(jù)的位圖信息相同,即處于相同的域中,但域中的值不同。
特征識別就是將生成報文的特征數(shù)據(jù)、特征數(shù)據(jù)在報文中的位置、特征數(shù)據(jù)的長度、類型等信息記錄下來,用于在測試執(zhí)行過程中的交易識別和交易生成。特征識別過程將測試所支持的所有交易的特征數(shù)據(jù)等信息提取出來。其中,所述特征數(shù)據(jù)對應(yīng)報文中的域數(shù)據(jù),特征數(shù)據(jù)在報文中的位置對應(yīng)報文中的位圖數(shù)據(jù)。由于報文的組包及解包過程(即報文的識別)占用處理時間,本發(fā)明通過特征識別過程來簡化報文的組包及解包過程,在生成報文前提取特征數(shù)據(jù),模擬ISO8583標準報文結(jié)構(gòu),生成對應(yīng)報文的域及位圖,并以數(shù)據(jù)流的形式直接通過網(wǎng)絡(luò)傳輸;需要對報文進行處理時,省略解包過程,直接讀取傳來的模擬報文信息,根據(jù)特征數(shù)據(jù)在報文中的位置,能夠識別出讀取的特征數(shù)據(jù)表示的是哪些域信息。優(yōu)選的,特征識別過程中記錄下來的特征數(shù)據(jù)長度、類型等數(shù)據(jù),便于讀取及識別數(shù)據(jù)。
由于將特征識別過程與測試執(zhí)行過程相分離,節(jié)約了處理時間,減少了交易處理對計算資源的消耗,從而提高了整體的測試處理能力。而且,若增加測試的交易類型,只需增加特征識別過程的復(fù)雜度,不涉及具體的報文傳輸,因此擴大了測試所支持的交易類型范圍,且對測試過程的性能影響很小。對于后續(xù)的關(guān)聯(lián)交易,上一交易執(zhí)行完還需執(zhí)行后續(xù)的關(guān)聯(lián)交易,由于在測試執(zhí)行過程中不需要進行交易的識別,相關(guān)聯(lián)的交易可以順次執(zhí)行,加快了處理速度,后續(xù)的關(guān)聯(lián)交易測試得到有效支持。
步驟202,測試執(zhí)行過程。
本階段包括交易特征應(yīng)用及交易處理過程,二者相互配合,在處理過程中進行交易特征的應(yīng)用。所述交易特征的應(yīng)用指在報文生成及處理過程中簡化組包、解包過程,不需要再進行交易識別,直接應(yīng)用步驟201記錄的特征數(shù)據(jù)等信息進行處理。所述測試執(zhí)行過程的步驟流程即為圖1所示的交易測試串行處理過程,是對轉(zhuǎn)接中心的交換中心處理系統(tǒng)進行測試,測試過程也包括交易請求報文及對應(yīng)交易應(yīng)答報文的生成、發(fā)送、接收、處理,以及交換中心處理系統(tǒng)根據(jù)需要進行的轉(zhuǎn)接、統(tǒng)計、清算等操作。
本發(fā)明與圖1所示測試方法的不同之處在于,在進行交易識別、請求報文處理、應(yīng)答報文生成、后續(xù)交易識別及后續(xù)交易生成等處理過程中,基于特征識別過程所提取的特征數(shù)據(jù)等信息進行處理,簡化了通常模式下的報文處理方法,在增加處理交易類型的情況下,也能保持較高的處理性能。
上述測試方法從減少交易處理對計算資源的消耗方面來構(gòu)建高性能的銀行卡交易測試方法,能夠支持豐富的交易類型。但是在上述交易測試執(zhí)行過程中,存在著大量的網(wǎng)絡(luò)IO操作,即受理方和發(fā)卡方與轉(zhuǎn)接中心的報文傳輸。為了減少報文傳輸對計算資源的消耗,本發(fā)明對測試執(zhí)行過程作進一步的優(yōu)化,在測試方分別模擬內(nèi)部緩沖區(qū)管理功能,采用隊列形式存放交易請求報文及交易應(yīng)答報文,將報文處理過程和網(wǎng)絡(luò)IO過程相分離,實現(xiàn)并發(fā)處理。
參照圖3,是本發(fā)明所述測試方法的實施例中測試執(zhí)行過程示意圖。仍以對交換中心處理系統(tǒng)的測試為例,分別說明受理方和發(fā)卡方的模擬功能。
受理方的模擬功能為步驟301和302,生成交易請求報文。步驟301,從緩沖區(qū)中申請空閑內(nèi)存,根據(jù)特征識別過程提取的特征數(shù)據(jù)等信息,生成交易請求報文;步驟302,將生成好的交易請求報文加入等待發(fā)送的報文隊列。本過程是個連續(xù)執(zhí)行的過程。
步驟303、304和305,發(fā)送交易請求報文。步驟303,從緩沖區(qū)中的待發(fā)送隊列獲取請求報文。優(yōu)選的,預(yù)先設(shè)定報文發(fā)送速度,根據(jù)本次應(yīng)發(fā)送的交易數(shù)量一次性從緩沖區(qū)獲?。徊襟E304,為網(wǎng)絡(luò)IO操作,通過網(wǎng)絡(luò)套接字(socket)將所述報文發(fā)送到交換中心處理系統(tǒng);步驟305,將發(fā)送報文的緩沖初始化后,歸還緩沖區(qū)。根據(jù)發(fā)送交易報文的數(shù)量,步驟304、305會執(zhí)行多次。本過程是個連續(xù)執(zhí)行的過程。其中,所述socket應(yīng)用于網(wǎng)絡(luò)通信,用于描述IP地址和網(wǎng)絡(luò)端口,應(yīng)用程序通常通過socket向網(wǎng)絡(luò)發(fā)出請求或者應(yīng)答網(wǎng)絡(luò)請求。
步驟317、318和319,接收交易應(yīng)答報文。步驟317,首先判斷socket中是否有數(shù)據(jù)到達,如有,則從緩沖區(qū)中申請空閑內(nèi)存;步驟318,為網(wǎng)絡(luò)IO操作,從socket中讀取交換中心處理系統(tǒng)發(fā)來的交易應(yīng)答報文;步驟319,將交易應(yīng)答報文加入待處理報文隊列。步驟317、318和319根據(jù)socket中的數(shù)據(jù)數(shù)量會執(zhí)行多次。本過程是個連續(xù)執(zhí)行的過程。
步驟320,處理交易應(yīng)答報文。步驟320,從緩沖區(qū)中的待處理隊列中獲取應(yīng)答報文,進行處理后,將應(yīng)答報文緩沖初始化,歸還緩沖區(qū)。
上述受理方模擬的整個處理過程是循環(huán)執(zhí)行的,在IO操作的期間(發(fā)送、接收交易報文的過程)可以執(zhí)行非IO操作(生成、處理報文的過程)。
發(fā)卡方的模擬功能為步驟306、307和308,接收交易請求報文。步驟306,首先判斷socket中是否有數(shù)據(jù)到達,如有,則從緩沖中獲取空閑內(nèi)存;步驟307,為網(wǎng)絡(luò)IO操作,從socket中讀取交換中心處理系統(tǒng)發(fā)來的交易請求報文;步驟308,將交易請求報文加入待處理報文隊列。步驟306、307和308根據(jù)socket中的數(shù)據(jù)數(shù)量會執(zhí)行多次。本過程是個連續(xù)執(zhí)行的過程。
步驟309、310、311、312和313,交易處理過程,包括處理交易請求報文和生成交易應(yīng)答報文。步驟309,從內(nèi)部緩沖待處理交易隊列中獲取交易請求報文;步驟310,從緩沖區(qū)申請應(yīng)答報文緩沖;步驟311,根據(jù)請求報文生成應(yīng)答報文;步驟312,將應(yīng)答報文加入緩沖區(qū)中的報文發(fā)送隊列;步驟313,將請求報文的緩沖初始化后,歸還緩沖區(qū)。本過程是個連續(xù)執(zhí)行的過程。
步驟314、315和316,發(fā)送交易應(yīng)答報文。步驟314,從緩沖區(qū)中的待發(fā)送隊列獲取應(yīng)答報文;步驟315,為網(wǎng)絡(luò)IO操作,通過socket將報文發(fā)送到交換中心處理系統(tǒng);步驟316,將發(fā)送報文的緩沖初始化后,歸還緩沖區(qū)。根據(jù)待發(fā)送交易報文的數(shù)量,步驟315和316會執(zhí)行多次。本過程是個連續(xù)執(zhí)行的過程。
同理,上述發(fā)卡方模擬的整個處理過程也是循環(huán)執(zhí)行的,在IO操作的期間可以執(zhí)行非IO操作。
上述并發(fā)執(zhí)行過程是對整體測試過程的描述,但對于同一個交易過程的處理,仍遵循交易請求報文的生成、發(fā)送、接收、處理及對應(yīng)交易應(yīng)答報文的生成、發(fā)送、接收、處理的串行流程,按照步驟301-320順次執(zhí)行。
本發(fā)明所述報文處理和網(wǎng)絡(luò)IO操作相分離的方法,實現(xiàn)了網(wǎng)絡(luò)IO操作和CPU計算的并行處理,在網(wǎng)絡(luò)帶寬固定的情況下,通過利用網(wǎng)絡(luò)IO期間的空閑CPU計算能力,用于報文生成、處理、統(tǒng)計等操作,最大限度地利用CPU的處理能力,實現(xiàn)高性能的銀行卡交易測試。
這種基于交易特征識別、同時采用報文處理和網(wǎng)絡(luò)IO并發(fā)處理的方法,由于將特征識別過程與測試執(zhí)行過程相分離,在測試執(zhí)行時不需進行交易識別,因此采用統(tǒng)一的測試方法,即可方便地實現(xiàn)對銀行卡交易過程的各個參與實體進行性能測試。本發(fā)明實施例說明的是對轉(zhuǎn)換中心的測試,還可以對受理方或發(fā)卡方進行測試。例如當受理方為被測系統(tǒng)時,可以模擬發(fā)卡方和轉(zhuǎn)換中心為測試方,實現(xiàn)高性能的測試。
對應(yīng)所述高性能測試方法,本發(fā)明還提供了一種銀行卡交易測試系統(tǒng),參照圖4,是本發(fā)明所述高性能銀行卡測試系統(tǒng)的結(jié)構(gòu)框圖。所述系統(tǒng)包括特征識別模塊401、緩沖區(qū)管理模塊402、報文生成模塊403、報文發(fā)送模塊404、報文接收模塊406、報文處理模塊407及交換中心處理模塊405。其中,特征識別模塊401,用于記錄能識別測試所支持的交易的特征數(shù)據(jù)、特征數(shù)據(jù)在報文中的位置、特征數(shù)據(jù)的長度及類型等信息,這些信息用于在測試執(zhí)行過程中生成和處理交易時的交易識別;緩沖區(qū)管理模塊402,用于存放所述報文生成模塊403生成的交易報文及報文接收模塊406接收的交易報文;所述報文發(fā)送模塊404及報文處理模塊407從所述緩沖區(qū)管理模塊獲取交易報文;報文生成模塊403,用于根據(jù)特征識別模塊401記錄的特征數(shù)據(jù)、特征數(shù)據(jù)在報文中的位置、特征數(shù)據(jù)的長度及類型等信息生成交易請求報文或交易應(yīng)答報文;報文發(fā)送模塊404,用于向交換中心處理模塊405發(fā)送從緩沖區(qū)管理模塊402獲取的交易請求報文或交易應(yīng)答報文;報文接收模塊406,用于從交換中心處理模塊405接收交易請求報文或交易應(yīng)答報文;報文處理模塊407,用于處理從緩沖區(qū)管理模塊402獲取的交易請求報文或交易應(yīng)答報文;交換中心處理模塊405,用于進行交易報文的轉(zhuǎn)接、統(tǒng)計、清算等操作。
在對轉(zhuǎn)接中心進行測試的實施例中,受理方模擬和發(fā)卡方模擬分別設(shè)置所述報文生成模塊、報文發(fā)送模塊、報文接收模塊、報文處理模塊及緩沖區(qū)管理模塊,通過獨立的特征識別及并發(fā)處理,實現(xiàn)高性能的銀行卡測試。
以上對本發(fā)明所提供的一種銀行卡交易測試方法及系統(tǒng),進行了詳細介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式
及應(yīng)用范圍上均會有改變之處。綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
權(quán)利要求
1.一種系統(tǒng)測試方法,其特征在于,包括特征識別過程,記錄能識別測試所支持的被測數(shù)據(jù)的特征數(shù)據(jù)及其在報文中的位置;測試執(zhí)行過程,應(yīng)用所述特征數(shù)據(jù)及其在報文中的位置,模擬測試方生成及處理與各特征數(shù)據(jù)對應(yīng)的交易報文,對被測系統(tǒng)進行測試。
2.根據(jù)權(quán)利要求1所述的測試方法,其特征在于,所述特征識別過程還包括記錄特征數(shù)據(jù)的長度及類型。
3.根據(jù)權(quán)利要求1所述的測試方法,其特征在于所述被測系統(tǒng)為銀行卡交易中的受理方、發(fā)卡方及轉(zhuǎn)接中心的任何一方。
4.根據(jù)權(quán)利要求1所述的測試方法,其特征在于,所述被測數(shù)據(jù)為銀行卡的交易數(shù)據(jù)時,所述特征數(shù)據(jù)包括用于區(qū)別不同交易類型的數(shù)據(jù)和用于區(qū)別同一交易類型不同交易報文的數(shù)據(jù)。
5.根據(jù)權(quán)利要求1所述的測試方法,其特征在于所述交易報文包括交易請求報文和交易應(yīng)答報文。
6.根據(jù)權(quán)利要求3所述的測試方法,其特征在于,對轉(zhuǎn)接中心進行測試時,所述測試執(zhí)行過程包括在受理方和發(fā)卡方分別模擬緩沖區(qū)管理功能,將交易請求報文及交易應(yīng)答報文存放于所述緩沖區(qū),在受理方并發(fā)執(zhí)行交易請求報文的生成、發(fā)送及交易應(yīng)答報文的接收、處理,在發(fā)卡方并發(fā)執(zhí)行交易請求報文的接收、處理及交易應(yīng)答報文的生成、發(fā)送。
7.根據(jù)權(quán)利要求1或6所述的測試方法,其特征在于所述測試執(zhí)行過程對同一個交易進行交易請求報文的生成、發(fā)送、接收、處理及交易應(yīng)答報文的生成、發(fā)送、接收、處理的串行執(zhí)行。
8.根據(jù)權(quán)利要求1或6所述的測試方法,其特征在于預(yù)先設(shè)定發(fā)送速度發(fā)送所述交易報文。
9.一種銀行卡交易測試系統(tǒng),包括報文生成模塊、報文發(fā)送模塊、報文接收模塊、報文處理模塊及交換中心處理模塊,其特征在于,還包括特征識別模塊,用于記錄能識別測試所支持的交易的特征數(shù)據(jù)及在報文中的位置;所述報文生成模塊、報文發(fā)送模塊、報文接收模塊、報文處理模塊及交換中心處理模塊,用于應(yīng)用所述特征數(shù)據(jù)及在報文中的位置,模擬測試方生成及處理與各特征數(shù)據(jù)對應(yīng)的交易報文,對被測系統(tǒng)進行測試。
10.根據(jù)權(quán)利要求9所述的測試系統(tǒng),其特征在于,還包括緩沖區(qū)管理模塊,用于存放所述報文生成模塊生成的交易報文及報文接收模塊接收的交易報文;所述報文發(fā)送模塊及報文處理模塊從所述緩沖區(qū)管理模塊獲取交易報文。
11.根據(jù)權(quán)利要求9所述的測試系統(tǒng),其特征在于在受理方和發(fā)卡方分別設(shè)置所述報文生成模塊、報文發(fā)送模塊、報文接收模塊、報文處理模塊及緩沖區(qū)管理模塊。
全文摘要
本發(fā)明公開了一種高性能銀行卡交易測試方法及系統(tǒng),用于模擬測試方對被測系統(tǒng)進行測試,以解決現(xiàn)有測試方法所支持的交易類型較少、處理能力較低等問題。該測試方法包括特征識別過程,記錄能識別測試所支持的交易的特征數(shù)據(jù)及在報文中的位置;測試執(zhí)行過程,應(yīng)用所述特征數(shù)據(jù)及在報文中的位置,模擬測試方生成及處理與各特征數(shù)據(jù)對應(yīng)的交易報文,對被測系統(tǒng)進行測試。對轉(zhuǎn)接中心進行測試時,在受理方和發(fā)卡方分別模擬緩沖區(qū)管理功能,實現(xiàn)報文處理和網(wǎng)絡(luò)IO的并行處理。這種獨立的特征識別過程,可以支持豐富的交易類型而對測試過程的性能影響很?。欢医灰诇y試過程結(jié)合良好的IO處理和調(diào)度,實現(xiàn)了高性能的銀行卡交易測試方法。
文檔編號G06Q40/00GK101089903SQ200610027859
公開日2007年12月19日 申請日期2006年6月14日 優(yōu)先權(quán)日2006年6月14日
發(fā)明者戚躍民, 胡文斌, 黎寶華, 高建斌, 陳霖婕 申請人:中國銀聯(lián)股份有限公司