本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種交易運(yùn)行控制方法和裝置。
背景技術(shù):
大型商業(yè)銀行的信息系統(tǒng)在軟件架構(gòu)上都由前臺(tái)和后臺(tái)兩部分組成。其中,前臺(tái)特指柜員可見并直接操作的業(yè)務(wù)界面,以及如ATM、網(wǎng)上銀行等客戶操作的前端應(yīng)用;后臺(tái)則根據(jù)交易的類別等的不同,區(qū)分為開放平臺(tái)和主機(jī)平臺(tái)(如IBM主機(jī)平臺(tái))兩種。盡管前后臺(tái)程序在操作系統(tǒng)和運(yùn)行機(jī)制上有所不同,但對(duì)交易運(yùn)行的控制是迫切的需求,良好的交易運(yùn)行控制能夠有效提高交易執(zhí)行效率。
但是,目前的技術(shù)中,只能使用CICS Link實(shí)現(xiàn)單交易、定向的調(diào)用,并根據(jù)交易在具體運(yùn)行環(huán)境中實(shí)際運(yùn)行情況進(jìn)行調(diào)度(即只能在運(yùn)行環(huán)境內(nèi)完成交易并發(fā)數(shù)的控制),無法實(shí)現(xiàn)多交易的調(diào)度以及不同運(yùn)行環(huán)境之間的交易并發(fā)數(shù)均衡控制,使有些交易等待處理的時(shí)間較長(zhǎng),從而使交易執(zhí)行效率較低。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明提供了一種交易運(yùn)行控制方法和裝置,能夠減少交易等待處理的時(shí)間,從而有利于提高交易執(zhí)行效率。
為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
一種交易運(yùn)行控制方法,應(yīng)用于主機(jī)系統(tǒng),所述方法包括:
獲取前臺(tái)客戶端發(fā)送的交易報(bào)文,所述交易報(bào)文包括公有報(bào)文和私有報(bào)文,依據(jù)所述公有報(bào)文,確定所述交易報(bào)文對(duì)應(yīng)的交易;
將所述私有報(bào)文存儲(chǔ)在預(yù)先設(shè)置的交易緩沖區(qū),所述交易緩沖區(qū)位于預(yù)先建立的共享內(nèi)存區(qū);
確定與所述交易相對(duì)應(yīng)的邏輯分區(qū)LPAR,按照預(yù)設(shè)計(jì)算公式,計(jì)算所述邏輯分區(qū)LPAR內(nèi)各運(yùn)行環(huán)境的優(yōu)選權(quán)數(shù)值,確定所述優(yōu)先權(quán)數(shù)值最大的所述運(yùn)行環(huán)境為目標(biāo)運(yùn)行環(huán)境;
批量調(diào)度所述交易緩沖區(qū)內(nèi)的所述交易,將所述交易分配至所述目標(biāo)運(yùn)行環(huán)境。
優(yōu)選的,所述確定與所述交易相對(duì)應(yīng)的邏輯分區(qū)LPAR,按照預(yù)設(shè)計(jì)算公式,計(jì)算所述邏輯分區(qū)LPAR內(nèi)各運(yùn)行環(huán)境的優(yōu)選權(quán)數(shù)值,確定所述優(yōu)先權(quán)數(shù)值最大的所述運(yùn)行環(huán)境為目標(biāo)運(yùn)行環(huán)境之前,還包括:
建立各個(gè)所述運(yùn)行環(huán)境的連通關(guān)系;
從命名計(jì)數(shù)器NC中調(diào)取預(yù)設(shè)數(shù)目個(gè)日志號(hào),將所述預(yù)設(shè)數(shù)目個(gè)所述日志號(hào)存儲(chǔ)至公共工作區(qū)CWA;
從所述公共工作區(qū)CWA中的日志號(hào)中按照預(yù)設(shè)順序讀取一個(gè)日志號(hào)作為所述交易的唯一日志號(hào);
若所述公共工作區(qū)CWA中的日志號(hào)已讀取完畢,重新從所述命名計(jì)數(shù)器NC中調(diào)取所述預(yù)設(shè)數(shù)目個(gè)不同的日志號(hào)。
優(yōu)選的,所述確定與所述交易相對(duì)應(yīng)的邏輯分區(qū)LPAR,包括:
依據(jù)與所述交易分別相對(duì)應(yīng)的省號(hào)和市號(hào),確定與所述省號(hào)和市號(hào)相對(duì)應(yīng)的所述邏輯分區(qū)LPAR。
優(yōu)選的,所述預(yù)設(shè)計(jì)算公式為:
y=(MAXk*MAXp)/(C*P*K);
其中,y表示所述優(yōu)選權(quán)數(shù)值,MAXk表示所述交易的交易碼允許的最大交易并發(fā)數(shù),MAXp表示運(yùn)行環(huán)境內(nèi)允許的最大交易并發(fā)數(shù),C表示運(yùn)行環(huán)境CPU使用率,P表示當(dāng)前運(yùn)行環(huán)境內(nèi)交易并發(fā)數(shù),K表示當(dāng)前所述交易碼的交易并發(fā)數(shù)。
優(yōu)選的,還包括:
基于位碼表bitmap對(duì)所述公共工作區(qū)CWA中的日志號(hào)進(jìn)行備份。
一種交易運(yùn)行控制裝置,應(yīng)用于主機(jī)系統(tǒng),所述裝置包括:
獲取模塊,用于獲取前臺(tái)客戶端發(fā)送的交易報(bào)文,所述交易報(bào)文包括公有報(bào)文和私有報(bào)文,依據(jù)所述公有報(bào)文,確定所述交易報(bào)文對(duì)應(yīng)的交易;
存儲(chǔ)模塊,用于將所述私有報(bào)文存儲(chǔ)在預(yù)先設(shè)置的交易緩沖區(qū),所述交易緩沖區(qū)位于預(yù)先建立的共享內(nèi)存區(qū);
確定模塊,用于確定與所述交易相對(duì)應(yīng)的邏輯分區(qū)LPAR,按照預(yù)設(shè)計(jì)算公式,計(jì)算所述邏輯分區(qū)LPAR內(nèi)各運(yùn)行環(huán)境的優(yōu)選權(quán)數(shù)值,確定所述優(yōu)先權(quán)數(shù)值最大的所述運(yùn)行環(huán)境為目標(biāo)運(yùn)行環(huán)境;
分配模塊,用于批量調(diào)度所述交易緩沖區(qū)內(nèi)的所述交易,將所述交易分配至所述目標(biāo)運(yùn)行環(huán)境。
優(yōu)選的,還包括:
建立模塊,用于建立各個(gè)所述運(yùn)行環(huán)境的連通關(guān)系;
調(diào)取模塊,用于從命名計(jì)數(shù)器NC中調(diào)取預(yù)設(shè)數(shù)目個(gè)日志號(hào),將所述預(yù)設(shè)數(shù)目個(gè)所述日志號(hào)存儲(chǔ)至公共工作區(qū)CWA;
讀取模塊,用于從所述公共工作區(qū)CWA中的日志號(hào)中按照預(yù)設(shè)順序讀取一個(gè)日志號(hào)作為所述交易的唯一日志號(hào);
觸發(fā)模塊,用于若所述公共工作區(qū)CWA中的日志號(hào)已讀取完畢,觸發(fā)所述調(diào)取模塊重新從所述命名計(jì)數(shù)器NC中調(diào)取所述預(yù)設(shè)數(shù)目個(gè)不同的日志號(hào)。
優(yōu)選的,所述確定模塊包括:
確定單元,用于依據(jù)與所述交易分別相對(duì)應(yīng)的省號(hào)和市號(hào),確定與所述省號(hào)和市號(hào)相對(duì)應(yīng)的所述邏輯分區(qū)LPAR。
優(yōu)選的,所述確定模塊依據(jù)的所述預(yù)設(shè)計(jì)算公式為:
y=(MAXk*MAXp)/(C*P*K);
其中,y表示所述優(yōu)選權(quán)數(shù)值,MAXk表示所述交易的交易碼允許的最大交易并發(fā)數(shù),MAXp表示運(yùn)行環(huán)境內(nèi)允許的最大交易并發(fā)數(shù),C表示運(yùn)行環(huán)境CPU使用率,P表示當(dāng)前運(yùn)行環(huán)境內(nèi)交易并發(fā)數(shù),K表示當(dāng)前所述交易碼的交易并發(fā)數(shù)。
優(yōu)選的,還包括:
備份模塊,用于基于位碼表bitmap對(duì)所述公共工作區(qū)CWA中的日志號(hào)進(jìn)行備份。
經(jīng)由上述的技術(shù)方案可知,與現(xiàn)有技術(shù)相比,本發(fā)明提供了一種交易運(yùn)行控制方法和裝置。本發(fā)明提供的技術(shù)方案,獲取到前臺(tái)客戶端發(fā)送的交易報(bào)文,所述交易報(bào)文包括公有報(bào)文和私有報(bào)文,并依據(jù)所述公有報(bào)文,確定所述交易報(bào)文對(duì)應(yīng)的交易之后,將所述私有報(bào)文存儲(chǔ)在預(yù)先設(shè)置的交易緩沖區(qū),所述交易緩沖區(qū)位于預(yù)先建立的共享內(nèi)存區(qū),然后確定與所述交易相對(duì)應(yīng)的LPAR,按照預(yù)設(shè)計(jì)算公式,計(jì)算所述LPAR內(nèi)各運(yùn)行環(huán)境的優(yōu)選權(quán)數(shù)值,通過比對(duì),確定所述優(yōu)先權(quán)數(shù)值最大的所述運(yùn)行環(huán)境為目標(biāo)運(yùn)行環(huán)境,而所述優(yōu)先權(quán)數(shù)值最大的所述運(yùn)行環(huán)境是資源最充足的運(yùn)行環(huán)境(該運(yùn)行環(huán)境內(nèi)交易并發(fā)數(shù)較小),最后將所述交易分配至所述目標(biāo)運(yùn)行環(huán)境,從而能夠?qū)崿F(xiàn)不同運(yùn)行環(huán)境之間的交易并發(fā)數(shù)的均衡控制,而批量調(diào)度所述交易緩沖區(qū)內(nèi)的所述交易來進(jìn)行運(yùn)行環(huán)境的分配,相對(duì)于只能使用CICS Link實(shí)現(xiàn)單交易、定向的調(diào)用,效率要高很多。由上述分析可以確定,本發(fā)明提供的技術(shù)方案,能夠減少交易等待處理的時(shí)間,從而有利于提高交易執(zhí)行效率。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例提供的一種交易運(yùn)行控制方法的流程圖;
圖2為本發(fā)明實(shí)施例提供的一種交易運(yùn)行控制裝置的結(jié)構(gòu)圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說明。
實(shí)施例
請(qǐng)參閱圖1,圖1為本發(fā)明實(shí)施例提供的一種交易運(yùn)行控制方法的流程圖。本發(fā)明實(shí)施例提供的交易運(yùn)行控制方法,應(yīng)用于主機(jī)系統(tǒng),可選的,所述主機(jī)系統(tǒng)采用銀行業(yè)內(nèi)廣泛使用的,配備Z/OS系統(tǒng)及CICS(client information control system,客戶信息控制系統(tǒng))管理工具,由IBM公司提供的大型服務(wù)機(jī)。如圖1所示,該方法包括:
步驟S101,獲取前臺(tái)客戶端發(fā)送的交易報(bào)文,所述交易報(bào)文包括公有報(bào)文和私有報(bào)文,依據(jù)所述公有報(bào)文,確定所述交易報(bào)文對(duì)應(yīng)的交易;
具體的,為了實(shí)現(xiàn)交易的統(tǒng)一調(diào)度,在本發(fā)明實(shí)施例中,前臺(tái)客戶端向主機(jī)系統(tǒng)(即后臺(tái)主機(jī)系統(tǒng))發(fā)送的交易報(bào)文是由公有報(bào)文和私有報(bào)文兩部分組成。其中,公有報(bào)文是指所有交易均需要的字段,包括交易碼等字段,私有報(bào)文則包括具體交易特征。當(dāng)前臺(tái)客戶端的交易通過聯(lián)機(jī)介入,利用CICS LINK的方式調(diào)起交易的同時(shí),是基于CICS本身的CWA(common work area公共工作區(qū))傳遞輸入交易報(bào)文信息,所述步驟S101可以包括:
讀取交易報(bào)文數(shù)據(jù)和交易報(bào)文長(zhǎng)度;
確定所述交易報(bào)文對(duì)應(yīng)的運(yùn)行環(huán)境,獲取所述交易報(bào)文對(duì)應(yīng)的運(yùn)行環(huán)境的系統(tǒng)號(hào),將所述系統(tǒng)號(hào)寫入所述交易報(bào)文,用于標(biāo)記所述交易的運(yùn)行環(huán)境;
獲取所述CWA的內(nèi)存地址,按如下方式實(shí)現(xiàn)前后臺(tái)交易的協(xié)同:即前臺(tái)交易優(yōu)先將交易報(bào)文存儲(chǔ)于CWA,然后再通過CICS START調(diào)起基于本發(fā)明方法實(shí)現(xiàn)的調(diào)度方法,調(diào)度方法可以根據(jù)CWA地址讀取交易報(bào)文信息,并通過格式轉(zhuǎn)換函數(shù),完成公有報(bào)文的解析,包含從系統(tǒng)公有報(bào)文獲得系統(tǒng)號(hào),而私有報(bào)文則直接傳送至后臺(tái)交易。
步驟S102,將所述私有報(bào)文存儲(chǔ)在預(yù)先設(shè)置的交易緩沖區(qū),所述交易緩沖區(qū)位于預(yù)先建立的共享內(nèi)存區(qū);
可選的,所述共享內(nèi)存區(qū)可以設(shè)置在所述CWA中,也可以另行設(shè)置。將所述私有報(bào)文存儲(chǔ)在預(yù)先設(shè)置的交易緩沖區(qū),所述交易緩沖區(qū)位于預(yù)先建立的共享內(nèi)存區(qū)中,以方便后續(xù)批量調(diào)度。
步驟S103,確定與所述交易相對(duì)應(yīng)的LPAR(logical partition,邏輯分區(qū)),按照預(yù)設(shè)計(jì)算公式,計(jì)算所述LPAR內(nèi)各運(yùn)行環(huán)境的優(yōu)選權(quán)數(shù)值,確定所述優(yōu)先權(quán)數(shù)值最大的所述運(yùn)行環(huán)境為目標(biāo)運(yùn)行環(huán)境;
具體的,所述確定與所述交易相對(duì)應(yīng)的LPAR,包括:
依據(jù)與所述交易分別相對(duì)應(yīng)的省號(hào)和市號(hào),確定與所述省號(hào)和市號(hào)相對(duì)應(yīng)的所述LPAR。
可選的,所述預(yù)設(shè)計(jì)算公式為:
y=(MAXk*MAXp)/(C*P*K);
其中,y表示所述優(yōu)選權(quán)數(shù)值,MAXk表示所述交易的交易碼允許的最大交易并發(fā)數(shù),MAXp表示運(yùn)行環(huán)境內(nèi)允許的最大交易并發(fā)數(shù),C表示運(yùn)行環(huán)境CPU使用率,P表示當(dāng)前運(yùn)行環(huán)境內(nèi)交易并發(fā)數(shù),K表示當(dāng)前所述交易碼的交易并發(fā)數(shù)。
步驟S104,批量調(diào)度所述交易緩沖區(qū)內(nèi)的所述交易,將所述交易分配至所述目標(biāo)運(yùn)行環(huán)境。
需要說明的是,本發(fā)明實(shí)施例提供的技術(shù)方案,所述運(yùn)行環(huán)境是指CICS REGION。
本發(fā)明實(shí)施例提供的技術(shù)方案,獲取到前臺(tái)客戶端發(fā)送的交易報(bào)文,所述交易報(bào)文包括公有報(bào)文和私有報(bào)文,并依據(jù)所述公有報(bào)文,確定所述交易報(bào)文對(duì)應(yīng)的交易之后,將所述私有報(bào)文存儲(chǔ)在預(yù)先設(shè)置的交易緩沖區(qū),所述交易緩沖區(qū)位于預(yù)先建立的共享內(nèi)存區(qū),然后確定與所述交易相對(duì)應(yīng)的LPAR,按照預(yù)設(shè)計(jì)算公式,計(jì)算所述LPAR內(nèi)各運(yùn)行環(huán)境的優(yōu)選權(quán)數(shù)值,通過比對(duì),確定所述優(yōu)先權(quán)數(shù)值最大的所述運(yùn)行環(huán)境為目標(biāo)運(yùn)行環(huán)境,而所述優(yōu)先權(quán)數(shù)值最大的所述運(yùn)行環(huán)境是資源最充足的運(yùn)行環(huán)境(該運(yùn)行環(huán)境內(nèi)交易并發(fā)數(shù)較小),最后將所述交易分配至所述目標(biāo)運(yùn)行環(huán)境,從而能夠?qū)崿F(xiàn)不同運(yùn)行環(huán)境之間的交易并發(fā)數(shù)的均衡控制,而批量調(diào)度所述交易緩沖區(qū)內(nèi)的所述交易來進(jìn)行運(yùn)行環(huán)境的分配,相對(duì)于只能使用CICS Link實(shí)現(xiàn)單交易、定向的調(diào)用,效率要高很多。由上述分析可以確定,本發(fā)明實(shí)施例提供的技術(shù)方案,能夠減少交易等待處理的時(shí)間,從而有利于提高交易執(zhí)行效率。
可選的,本發(fā)明另外一個(gè)實(shí)施例提供的技術(shù)方案,對(duì)所述步驟S103的相關(guān)內(nèi)容進(jìn)行進(jìn)一步闡述。
銀行信息系統(tǒng)是在全國(guó)范圍內(nèi)運(yùn)行,每個(gè)省份在交易使用頻度、交易筆數(shù)均不一致,因此需要進(jìn)行流量控制。一般來說,現(xiàn)有技術(shù)是通過配置數(shù)據(jù)庫表,對(duì)交易碼進(jìn)行描述,是一種靜態(tài)的調(diào)度方式,也就是說現(xiàn)有技術(shù)并不能合理的對(duì)CICS REGION的執(zhí)行環(huán)境資源進(jìn)行有效性評(píng)估。同時(shí)在銀行系統(tǒng)中,白天聯(lián)機(jī)運(yùn)行過程中,盡量避免數(shù)據(jù)庫操作的不一致性,是不會(huì)在生產(chǎn)運(yùn)行時(shí)修改靜態(tài)表信息,但為了實(shí)現(xiàn)交易運(yùn)行環(huán)境、并發(fā)性的調(diào)度,本發(fā)明提供的技術(shù)方案采用在內(nèi)存中將靜態(tài)表修改可實(shí)時(shí)修改的方法。具體操作如下:
建立按省分區(qū)機(jī)制,根據(jù)交易本身的省市號(hào)選擇具體的LPAR;
在系統(tǒng)級(jí)設(shè)置CICS內(nèi)聯(lián)機(jī)交易存在的最大并發(fā)數(shù),當(dāng)超過時(shí),則報(bào)告并發(fā)超限報(bào)系統(tǒng)忙;
建立內(nèi)存映射表,用于發(fā)布、讀取、記錄特殊交易的最大并發(fā)數(shù)、當(dāng)前CICS REGION正在運(yùn)行的交易數(shù)、各特殊交易執(zhí)行最大并發(fā)數(shù)、CICS REGION的CPU使用率,上述各項(xiàng)參數(shù)均可通過CICS API函數(shù)獲??;
調(diào)度程序部署在具體運(yùn)行環(huán)境內(nèi),也就是說對(duì)于調(diào)度程序而言,它所可知的系統(tǒng)信息,只能來源于其所在運(yùn)行環(huán)境,為此,在聯(lián)機(jī)介入調(diào)用總控之前,需根據(jù)系統(tǒng)號(hào),遍歷當(dāng)前LPAR內(nèi)各運(yùn)行環(huán)境的運(yùn)行信息,具體包括運(yùn)行環(huán)境的CPU使用率,運(yùn)行環(huán)境內(nèi)當(dāng)前并發(fā)數(shù),以及當(dāng)前交易碼的并發(fā)數(shù),在本發(fā)明中,遵循如下權(quán)值公式來進(jìn)行選擇,假設(shè),當(dāng)前CPU使用率為C,運(yùn)行環(huán)境內(nèi)當(dāng)前并發(fā)數(shù)為P,運(yùn)行環(huán)境內(nèi)最大并發(fā)數(shù)為MAXp,當(dāng)前交易碼的并發(fā)數(shù)為K,以及當(dāng)前交易碼的最大并發(fā)數(shù)MAXk,其中MAXk<=MAXp,根據(jù)優(yōu)選權(quán)(值)進(jìn)行選擇,優(yōu)先選擇值大的運(yùn)行環(huán)境;
其中,優(yōu)選權(quán)(值)=(MAXk*MAXp)/(C*P*K)
執(zhí)行運(yùn)行環(huán)境選擇結(jié)束后,調(diào)度程序?qū)灰走M(jìn)行統(tǒng)一調(diào)度。
然而,現(xiàn)有技術(shù)中,在CICS運(yùn)行邏輯中,調(diào)度程序在使用CICS Link操作結(jié)束后,將控制權(quán)交給后臺(tái)交易,也就是一次僅能發(fā)起一筆交易,并不能實(shí)現(xiàn)運(yùn)行環(huán)境內(nèi)全部交易行為的調(diào)度。為此,在本發(fā)明中,提出了一種基于交易緩沖器的調(diào)度方法,具體操作如下:
在共享內(nèi)存區(qū)設(shè)置交易緩沖區(qū),用于存儲(chǔ)交易的私有報(bào)文;
設(shè)置交易緩沖區(qū)大小最大為MAXp筆交易,所述交易緩沖區(qū)的實(shí)時(shí)大小,取決于所述運(yùn)行環(huán)境內(nèi)最大還可以執(zhí)行交易數(shù),即MAXp-P;
當(dāng)交易緩沖區(qū)未滿的時(shí)候,調(diào)度程序?qū)⒋峤唤灰状鎯?chǔ)入交易緩沖區(qū),否則各調(diào)度程序均直接調(diào)起緩沖區(qū)內(nèi)交易,而當(dāng)前待執(zhí)行的交易存放入當(dāng)前緩沖區(qū)位置。
具體的,交易調(diào)度過程中,一般對(duì)具體任意一類交易的最大并發(fā)數(shù)MAXk存在限制,因此,在向交易緩沖區(qū)添加記錄時(shí),還需判斷交易是否并發(fā)超限制,否則,還需要建立交易備份區(qū)進(jìn)行存儲(chǔ);所述交易備份區(qū)具備優(yōu)先將交易添加入交易緩沖區(qū)的權(quán)限。
可選的,本發(fā)明另外一個(gè)實(shí)施例提供的技術(shù)方案,所述步驟S103之前,還包括:
建立各個(gè)所述運(yùn)行環(huán)境的連通關(guān)系;
從NC(NAME COUNTER,命名計(jì)數(shù)器)中調(diào)取預(yù)設(shè)數(shù)目個(gè)日志號(hào),將所述預(yù)設(shè)數(shù)目個(gè)所述日志號(hào)存儲(chǔ)至公共工作區(qū)CWA;
從所述公共工作區(qū)CWA中的日志號(hào)中按照預(yù)設(shè)順序讀取一個(gè)日志號(hào)作為所述交易的唯一日志號(hào);
若所述公共工作區(qū)CWA中的日志號(hào)已讀取完畢,重新從所述NC中調(diào)取所述預(yù)設(shè)數(shù)目個(gè)不同的日志號(hào)。
具體的,上述步驟是對(duì)交易的日志號(hào)進(jìn)行分配的過程。
具體的,銀行信息系統(tǒng)中為了對(duì)交易添加唯一日志號(hào)標(biāo)識(shí),通常采用SYSPlex(包括多個(gè)LPAR)提供的硬件結(jié)構(gòu)NC進(jìn)行唯一順序號(hào)控制,保證了所有運(yùn)行環(huán)境(即CICS REGION)都能實(shí)現(xiàn)對(duì)唯一日志號(hào)的訪問。即NC可以用作應(yīng)用系統(tǒng)唯一的順序號(hào)發(fā)生器,為SYSPlex下整個(gè)應(yīng)用系統(tǒng)統(tǒng)一分配全局的唯一(業(yè)務(wù))日志號(hào),保證該日志號(hào)不重復(fù)。
雖然CF(coupling facility,并行耦合器)(CF包括NC)資源相對(duì)對(duì)銀行核心業(yè)務(wù)系統(tǒng)來說,有著重要的意義和廣泛的應(yīng)用,然而CF資源不僅有限,而且十分昂貴,如核心系統(tǒng)實(shí)時(shí)的對(duì)多種維度的交易量進(jìn)行了登記同時(shí)考慮到效率和性能問題,交易量的信息采取主機(jī)CF的NC存儲(chǔ),但是NC的高頻使用導(dǎo)致CF CPU很高。為此,在日志號(hào)分配上,本發(fā)明提出了一種方式,能夠節(jié)省系統(tǒng)性能開銷。
首先需要全局日志號(hào)同步:
全局日志號(hào)同步是用于對(duì)多MVS(Mainframe virtual system,主機(jī)虛擬系統(tǒng))之間進(jìn)行日志號(hào)同步,而MVS之間是物理隔離的,因此,并不能直接使用局部日志號(hào)同步過程中物理地址訪問的機(jī)制,在本發(fā)明中,具體操作步驟如下所述:
建立全局日志號(hào)同步的依據(jù)是計(jì)數(shù)器名稱是否相同,若運(yùn)行環(huán)境1是MVS1中用于共享的CICS REGION,運(yùn)行環(huán)境2是MVS2中用于共享的CICS REGION,假設(shè)運(yùn)行環(huán)境2需要建立一個(gè)計(jì)數(shù)器的名稱為NAME,而所述NAME已經(jīng)存在于運(yùn)行環(huán)境1;
主機(jī)系統(tǒng)上建立運(yùn)行環(huán)境1、運(yùn)行環(huán)境2之間的連通關(guān)系,使得二者可以相互訪問,從而保證日志號(hào)的唯一;
針對(duì)NC個(gè)數(shù)過多,CF壓力大的問題,也需要對(duì)NC的使用進(jìn)行優(yōu)化:
比如某銀行每日交易中有近三分二的交易為對(duì)日志號(hào)排序不敏感的查詢交易,那么可以通過日志號(hào)預(yù)取來緩解NC壓力。比如預(yù)取M個(gè)日志號(hào)到CWA中,由CWA為查詢交易分配日志號(hào)的方式,來減少交易對(duì)日志號(hào)NC的訪問,同時(shí)保證每筆交易日志號(hào)唯一,以日交易量3億筆為例,以往要訪問日志號(hào)NC 3億次,現(xiàn)在只要訪問日志號(hào)1億+(2億/M),能夠有小減少對(duì)NC的使用,從而減輕CF的使用及備份壓力,提高系統(tǒng)性能。
運(yùn)行環(huán)境1內(nèi)聯(lián)機(jī)程序讀取傳遞后的(即CWA中的)日志號(hào),讀取計(jì)數(shù)器的內(nèi)存地址,實(shí)現(xiàn)日志號(hào)的更新與讀取,當(dāng)使用數(shù)目超過M后,再次從CF的NC中進(jìn)行日志號(hào)預(yù)??;
具體的,所述計(jì)數(shù)器內(nèi)存地址是指在所述CWA中存在一個(gè)32位的計(jì)數(shù)器,計(jì)數(shù)器的初始值為0,各交易通過對(duì)所述計(jì)數(shù)器進(jìn)行加鎖后,讀取計(jì)數(shù)器的值,然后再對(duì)其進(jìn)行累加1,最后解鎖,當(dāng)所述計(jì)數(shù)器的數(shù)據(jù)大于M后,再次進(jìn)行數(shù)據(jù)預(yù)取。
可選的,本發(fā)明另外一個(gè)實(shí)施例提供的技術(shù)方案,還包括:
基于位碼表bitmap(位碼表)對(duì)所述公共工作區(qū)CWA中的日志號(hào)進(jìn)行備份。
具體的,命名計(jì)數(shù)器在主機(jī)系統(tǒng)上十分敏感,一旦出現(xiàn)系統(tǒng)宕機(jī),所導(dǎo)致的數(shù)據(jù)非一致性,將帶來不可估量的后果,進(jìn)行數(shù)據(jù)備份時(shí),是對(duì)整個(gè)計(jì)數(shù)器結(jié)構(gòu)進(jìn)行備份,但由于計(jì)數(shù)器占用的空間可能很大,掃描、備份時(shí)間過長(zhǎng),將不利于數(shù)據(jù)的備份。為此,本發(fā)明提出的方法中還基于bitmap建立了數(shù)據(jù)備份與恢復(fù)的機(jī)制,具體步驟如下:
為了節(jié)省存儲(chǔ)空間,Bitmap中每一個(gè)位對(duì)應(yīng)為共享區(qū)的每4個(gè)字節(jié),假設(shè)計(jì)數(shù)器結(jié)構(gòu)占用內(nèi)存的字節(jié)數(shù)為N,那么共有N/4個(gè)32位數(shù)據(jù)。這N/4個(gè)數(shù)據(jù)分別映射為bitmap中N/4個(gè)位,即bitmap占用N/32字節(jié)。
將bitmap劃分N/128個(gè)int類型的數(shù)據(jù),構(gòu)成集合{b1,b2,..bn};其中bi(i>=1&&i<=N/128),對(duì)應(yīng)了計(jì)數(shù)器結(jié)構(gòu)中128字節(jié)數(shù)據(jù)的變化;
應(yīng)用程序修改計(jì)數(shù)器時(shí),由于具備唯一性,對(duì)前文所述計(jì)數(shù)器(的區(qū)間)加鎖,修改數(shù)據(jù)后,還需要同步修改標(biāo)志位后,方可解鎖;
監(jiān)控程序循環(huán)讀取bitmap數(shù)據(jù),判斷數(shù)據(jù)變化,并同步寫VSAM(virutal storage access method,虛擬存儲(chǔ)方法)文件;
具體的,監(jiān)控程序可以是多份,每份用于跟蹤計(jì)數(shù)器結(jié)構(gòu)的不同區(qū)間。
可以理解的是,數(shù)據(jù)恢復(fù)過程中,只需讀取VSAM文件,并導(dǎo)入內(nèi)存即可。
可選的,本發(fā)明另外一個(gè)實(shí)施例提供的技術(shù)方案,還包括:
對(duì)交易的執(zhí)行進(jìn)行控制。
具體的,核心銀行系統(tǒng)基于業(yè)務(wù)準(zhǔn)則的需求,對(duì)交易執(zhí)行控制提出了提交執(zhí)行和撤銷兩方面的需求,具體如下:
交易提交執(zhí)行:完成安全性校驗(yàn),包括用戶權(quán)限控制、交易屬性,應(yīng)用狀態(tài)等校驗(yàn)等各項(xiàng)校驗(yàn),并獲取靜態(tài)授權(quán)后,根據(jù)交易程序名進(jìn)行交易提交。比如,針對(duì)C語言目標(biāo)碼,則通過函數(shù)指針完成交易程序調(diào)度,針對(duì)COBOL程序,則通過Fetch操作。動(dòng)態(tài)加載交易程序,解析交易返回信息,成功做事務(wù)提交,否則事務(wù)回滾;如果交易返回失敗,直接回滾;
交易撤銷:完成包含調(diào)度程序的統(tǒng)一撤銷處理,實(shí)現(xiàn)撤銷的特殊應(yīng)用檢查,還原正交易數(shù)據(jù),設(shè)置撤銷標(biāo)志位,調(diào)起撤銷處理;撤銷處理跟普通交易不同,有其特殊性,除了大部分邏輯相同外,一些應(yīng)用檢查略有不同,各種實(shí)現(xiàn)代碼嵌入在普通交易的邏輯中,按照如下方式進(jìn)行操作,解析撤銷交易的私有報(bào)文內(nèi)容;根據(jù)日志號(hào)查詢正交易詳細(xì)信息,如交易碼、原來的提交用戶、終端、渠道等公有交易報(bào)文信息。撤銷應(yīng)用檢查如下:檢查正交易日志記錄狀態(tài),確保是正常處理成功的,已經(jīng)撤銷或者失敗報(bào)錯(cuò);檢查當(dāng)前的會(huì)計(jì)日期、省市代碼、渠道、交易碼、用戶與正交易的相應(yīng)要素是否相同,否則拒絕;采用原交易的交易碼替換當(dāng)前的交易碼,并將正交易的私有域交易報(bào)文替換當(dāng)前私有報(bào)文取得正交易的交易程序名稱,按照本發(fā)明的上述交易調(diào)度方法進(jìn)行處理。
為了更加全面地闡述本發(fā)明提供的技術(shù)方案,對(duì)應(yīng)于本發(fā)明實(shí)施例提供的交易運(yùn)行控制方法,本發(fā)明公開一種交易運(yùn)行控制裝置。
請(qǐng)參閱圖2,圖2為本發(fā)明實(shí)施例提供的一種交易運(yùn)行控制裝置的結(jié)構(gòu)圖。本發(fā)明實(shí)施例提供的交易運(yùn)行控制裝置,應(yīng)用于主機(jī)系統(tǒng),如圖2所示,該裝置包括:
獲取模塊201,用于獲取前臺(tái)客戶端發(fā)送的交易報(bào)文,所述交易報(bào)文包括公有報(bào)文和私有報(bào)文,依據(jù)所述公有報(bào)文,確定所述交易報(bào)文對(duì)應(yīng)的交易;
存儲(chǔ)模塊202,用于將所述私有報(bào)文存儲(chǔ)在預(yù)先設(shè)置的交易緩沖區(qū),所述交易緩沖區(qū)位于預(yù)先建立的共享內(nèi)存區(qū);
確定模塊203,用于確定與所述交易相對(duì)應(yīng)的LPAR,按照預(yù)設(shè)計(jì)算公式,計(jì)算所述LPAR內(nèi)各運(yùn)行環(huán)境的優(yōu)選權(quán)數(shù)值,確定所述優(yōu)先權(quán)數(shù)值最大的所述運(yùn)行環(huán)境為目標(biāo)運(yùn)行環(huán)境;
分配模塊204,用于批量調(diào)度所述交易緩沖區(qū)內(nèi)的所述交易,將所述交易分配至所述目標(biāo)運(yùn)行環(huán)境。
應(yīng)用本發(fā)明實(shí)施例提供的交易運(yùn)行控制裝置,能夠減少交易等待處理的時(shí)間,從而有利于提高交易執(zhí)行效率。
可選的,本發(fā)明另外一個(gè)實(shí)施例提供的交易運(yùn)行控制裝置,還包括:
建立模塊,用于建立各個(gè)所述運(yùn)行環(huán)境的連通關(guān)系;
調(diào)取模塊,用于從NC中調(diào)取預(yù)設(shè)數(shù)目個(gè)日志號(hào),將所述預(yù)設(shè)數(shù)目個(gè)所述日志號(hào)存儲(chǔ)至公共工作區(qū)CWA;
讀取模塊,用于從所述公共工作區(qū)CWA中的日志號(hào)中按照預(yù)設(shè)順序讀取一個(gè)日志號(hào)作為所述交易的唯一日志號(hào);
觸發(fā)模塊,用于若所述公共工作區(qū)CWA中的日志號(hào)已讀取完畢,觸發(fā)所述調(diào)取模塊重新從所述NC中調(diào)取所述預(yù)設(shè)數(shù)目個(gè)不同的日志號(hào)。
可選的,本發(fā)明另外一個(gè)實(shí)施例提供的交易運(yùn)行控制裝置,所述確定模塊包括:
確定單元,用于依據(jù)與所述交易分別相對(duì)應(yīng)的省號(hào)和市號(hào),確定與所述省號(hào)和市號(hào)相對(duì)應(yīng)的所述LPAR。
可選的,本發(fā)明另外一個(gè)實(shí)施例提供的交易運(yùn)行控制裝置,所述確定模塊依據(jù)的所述預(yù)設(shè)計(jì)算公式為:
y=(MAXk*MAXp)/(C*P*K);
其中,y表示所述優(yōu)選權(quán)數(shù)值,MAXk表示所述交易的交易碼允許的最大交易并發(fā)數(shù),MAXp表示運(yùn)行環(huán)境內(nèi)允許的最大交易并發(fā)數(shù),C表示運(yùn)行環(huán)境CPU使用率,P表示當(dāng)前運(yùn)行環(huán)境內(nèi)交易并發(fā)數(shù),K表示當(dāng)前所述交易碼的交易并發(fā)數(shù)。
可選的,本發(fā)明另外一個(gè)實(shí)施例提供的交易運(yùn)行控制裝置,還包括:
備份模塊,用于基于位碼表bitmap對(duì)所述公共工作區(qū)CWA中的日志號(hào)進(jìn)行備份。
經(jīng)由上述的技術(shù)方案可知,與現(xiàn)有技術(shù)相比,本發(fā)明提供了一種交易運(yùn)行控制方法和裝置。本發(fā)明提供的技術(shù)方案,獲取到前臺(tái)客戶端發(fā)送的交易報(bào)文,所述交易報(bào)文包括公有報(bào)文和私有報(bào)文,并依據(jù)所述公有報(bào)文,確定所述交易報(bào)文對(duì)應(yīng)的交易之后,將所述私有報(bào)文存儲(chǔ)在預(yù)先設(shè)置的交易緩沖區(qū),所述交易緩沖區(qū)位于預(yù)先建立的共享內(nèi)存區(qū),然后確定與所述交易相對(duì)應(yīng)的LPAR,按照預(yù)設(shè)計(jì)算公式,計(jì)算所述LPAR內(nèi)各運(yùn)行環(huán)境的優(yōu)選權(quán)數(shù)值,通過比對(duì),確定所述優(yōu)先權(quán)數(shù)值最大的所述運(yùn)行環(huán)境為目標(biāo)運(yùn)行環(huán)境,而所述優(yōu)先權(quán)數(shù)值最大的所述運(yùn)行環(huán)境是資源最充足的運(yùn)行環(huán)境(該運(yùn)行環(huán)境內(nèi)交易并發(fā)數(shù)較小),最后將所述交易分配至所述目標(biāo)運(yùn)行環(huán)境,從而能夠?qū)崿F(xiàn)不同運(yùn)行環(huán)境之間的交易并發(fā)數(shù)的均衡控制,而批量調(diào)度所述交易緩沖區(qū)內(nèi)的所述交易來進(jìn)行運(yùn)行環(huán)境的分配,相對(duì)于只能使用CICS Link實(shí)現(xiàn)單交易、定向的調(diào)用,效率要高很多。由上述分析可以確定,本發(fā)明提供的技術(shù)方案,能夠減少交易等待處理的時(shí)間,從而有利于提高交易執(zhí)行效率。
最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
本說明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見即可。對(duì)于實(shí)施例公開的裝置而言,由于其與實(shí)施例公開的方法相對(duì)應(yīng),所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法部分說明即可。
結(jié)合本文中所公開的實(shí)施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實(shí)施。軟件模塊可以置于隨機(jī)存儲(chǔ)器(RAM)、內(nèi)存、只讀存儲(chǔ)器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲(chǔ)介質(zhì)中。
對(duì)所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。