生成報(bào)文的方法和實(shí)現(xiàn)該方法的數(shù)據(jù)處理系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及數(shù)據(jù)處理技術(shù),特別涉及一種利用數(shù)據(jù)處理系統(tǒng)生成報(bào)文的方法以及實(shí)現(xiàn)該方法的數(shù)據(jù)處理系統(tǒng)。按照本發(fā)明的方法包括下列步驟:接收?qǐng)?bào)文生成請(qǐng)求;根據(jù)所述報(bào)文生成請(qǐng)求,優(yōu)先利用文件句柄池中的文件句柄和/或數(shù)據(jù)庫連接句柄池中的數(shù)據(jù)庫連接句柄將所需數(shù)據(jù)裝載到內(nèi)存中;獲取報(bào)文生成所需的參數(shù);以及根據(jù)打包規(guī)則算法和參數(shù),從所需數(shù)據(jù)生成報(bào)文并且將生成的報(bào)文寫入文件。本發(fā)明解決了目前小額裝載打包處理中存在的裝載效率低下、無法實(shí)時(shí)計(jì)算報(bào)文代別權(quán)限和擴(kuò)展性不高等問題。
【專利說明】生成報(bào)文的方法和實(shí)現(xiàn)該方法的數(shù)據(jù)處理系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)處理技術(shù),特別涉及一種利用數(shù)據(jù)處理系統(tǒng)生成報(bào)文的方法以及實(shí)現(xiàn)該方法的數(shù)據(jù)處理系統(tǒng)。
【背景技術(shù)】
[0002]隨著經(jīng)濟(jì)的發(fā)展,金融交易的規(guī)模和復(fù)雜性日益增大,因此支付結(jié)算管理和服務(wù)的重要性愈發(fā)突出。為了適應(yīng)各類支付業(yè)務(wù)處理的需要,典型的支付系統(tǒng)由大額支付系統(tǒng)和小額批量支付系統(tǒng)組成。大額支付系統(tǒng)實(shí)行逐筆實(shí)時(shí)處理,全額清算資金,從而為各銀行和企業(yè)單位以及金融市場提供快速、高效、安全、可靠的支付清算服務(wù),防范支付風(fēng)險(xiǎn)。小額批量支付系統(tǒng)在一定時(shí)間內(nèi)對(duì)多筆支付業(yè)務(wù)進(jìn)行軋差處理,凈額清算資金。建設(shè)小額批量支付系統(tǒng)的目的是為社會(huì)提供低成本、大業(yè)務(wù)量的支付清算服務(wù),支撐各種支付業(yè)務(wù)的使用,滿足社會(huì)各種經(jīng)濟(jì)活動(dòng)的需要。
[0003]對(duì)于小額批量支付業(yè)務(wù),需要將交易過程中形成的多組數(shù)據(jù)組織為遵循預(yù)定格式的報(bào)文并提供給交易各方(以下將這種報(bào)文的生成又稱為“打包”或“小額打包”)。目前的小額打包邏輯已可支持特定的業(yè)務(wù)范圍處理,但存在諸多缺點(diǎn)和不足。
[0004]首先,系統(tǒng)性能擴(kuò)展困難,不支持并發(fā)處理且算法不高效。其次,服務(wù)調(diào)用模式單一,僅支持特定協(xié)議模式下的接口調(diào)用,缺少系統(tǒng)擴(kuò)展性和高可配置性。再者,不支持實(shí)時(shí)分析報(bào)文代別和權(quán)限,需要與中央銀行交互以獲取相應(yīng)參數(shù)。此外,目前的小額打包處理邏輯和外圍緊密耦合,業(yè)務(wù)擴(kuò)展困難,增加新報(bào)文類型需要對(duì)系統(tǒng)進(jìn)行改造,可擴(kuò)展和可配置性低下。就觸發(fā)方式和配置靈活性而言,目前的打包邏輯僅支持自動(dòng)批量打包的觸發(fā)方式,而且也不支持配置打包規(guī)則算法或者配置方法及其復(fù)雜。
[0005]由上可見,迫切需要一種高效、靈活和擴(kuò)展性強(qiáng)的生成報(bào)文的方法和實(shí)現(xiàn)該方法的數(shù)據(jù)處理系統(tǒng)。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的目的之一是提供一種生成報(bào)文的方法,其具有高效、靈活和擴(kuò)展性強(qiáng)等優(yōu)點(diǎn)。
[0007]為實(shí)現(xiàn)上述目的,在按照本發(fā)明一個(gè)實(shí)施例的方法中,數(shù)據(jù)處理系統(tǒng)執(zhí)行下列步驟:
接收?qǐng)?bào)文生成請(qǐng)求;
根據(jù)所述報(bào)文生成請(qǐng)求,優(yōu)先利用文件句柄池中的文件句柄和/或數(shù)據(jù)庫連接句柄池中的數(shù)據(jù)庫連接句柄將所需數(shù)據(jù)裝載到內(nèi)存中;
獲取報(bào)文生成所需的打包規(guī)則算法和參數(shù);以及根據(jù)打包規(guī)則算法和參數(shù),從所需數(shù)據(jù)生成報(bào)文并且將生成的報(bào)文寫入文件。
[0008]優(yōu)選地,在上述方法中,采用下列方式之一觸發(fā)所述報(bào)文生成請(qǐng)求:人工定量觸發(fā)、批量自動(dòng)按時(shí)觸發(fā)、定時(shí)周期觸發(fā)或守護(hù)進(jìn)程按時(shí)間間隔觸發(fā)。
[0009]優(yōu)選地,在上述方法中,如果所需數(shù)據(jù)在所述文件句柄池中沒有相應(yīng)的文件句柄,則創(chuàng)建該相應(yīng)的文件句柄并且在所述文件句柄池已滿時(shí)以其替換所述文件句柄池中使用頻度最小的文件句柄。
[0010]采用上述替換算法來替換內(nèi)存中文件句柄池中的機(jī)構(gòu)文件句柄提高了命中率,并且最大化減少了文件句柄打開和關(guān)閉操作次數(shù)。
[0011]優(yōu)選地,在上述方法中,采用數(shù)據(jù)分塊算法將所需數(shù)據(jù)從數(shù)據(jù)庫裝載到內(nèi)存中以使多個(gè)裝載進(jìn)程的任務(wù)量盡可能均衡。
[0012]優(yōu)選地,在上述方法中,采用統(tǒng)一的句柄管理工具來管理所述文件句柄池和數(shù)據(jù)庫連接句柄池。
[0013]優(yōu)選地,在上述方法中,所述參數(shù)包括業(yè)務(wù)權(quán)限和報(bào)文代別。更好地,通過對(duì)裝載到內(nèi)存中的數(shù)據(jù)與先前裝載的歷史數(shù)據(jù)進(jìn)行權(quán)重分析得到業(yè)務(wù)權(quán)限和報(bào)文代別。如果確定的報(bào)文代別表明所請(qǐng)求的業(yè)務(wù)具有不對(duì)稱的業(yè)務(wù)要素,則對(duì)確定的報(bào)文代別進(jìn)行轉(zhuǎn)換。如果無法解析確定所述業(yè)務(wù)權(quán)限和報(bào)文代別,則通過訪問外部系統(tǒng)獲取。通過優(yōu)先在本地分析和判斷,可以減少與外部系統(tǒng)通信以獲取參數(shù)的時(shí)延,從而提高分析判斷速度。
[0014]優(yōu)選地,在上述方法中,與寫入報(bào)文的文件對(duì)應(yīng)的文件句柄也被放入所述文件句柄池以由所述句柄管理工具管理。
[0015]本發(fā)明的還有一個(gè)目的是提供一種用于生成報(bào)文的數(shù)據(jù)處理系統(tǒng),其具有高效、靈活和擴(kuò)展性強(qiáng)等優(yōu)點(diǎn)。
[0016]為實(shí)現(xiàn)上述目的,按照本發(fā)明一個(gè)實(shí)施例的數(shù)據(jù)處理系統(tǒng)可包括:
句柄管理模塊,用于管理文件句柄池中的文件句柄和數(shù)據(jù)庫連接句柄池中的數(shù)據(jù)庫連接句柄;
數(shù)據(jù)裝載模塊,用于根據(jù)報(bào)文生成請(qǐng)求,通過所述句柄管理工具優(yōu)先利用所述文件句柄池中的文件句柄和/或所述數(shù)據(jù)庫連接句柄池中的數(shù)據(jù)庫連接句柄將所需數(shù)據(jù)裝載到內(nèi)存中;
報(bào)文解析和轉(zhuǎn)換模塊,用于獲取報(bào)文生成所需的參數(shù);以及
報(bào)文生成模塊,用于根據(jù)打包規(guī)則算法和所述參數(shù),從所需數(shù)據(jù)生成報(bào)文并且將生成的報(bào)文寫入文件。
[0017]優(yōu)選地,在上述數(shù)據(jù)處理系統(tǒng)中,如果所需數(shù)據(jù)在所述文件句柄池中沒有相應(yīng)的文件句柄,則創(chuàng)建該相應(yīng)的文件句柄并且在所述文件句柄池已滿時(shí)以其替換所述文件句柄池中使用頻度最小的文件句柄。
[0018]優(yōu)選地,在上述數(shù)據(jù)處理系統(tǒng)中,句柄管理模塊還對(duì)將數(shù)據(jù)從數(shù)據(jù)庫裝載到內(nèi)存的裝載進(jìn)程進(jìn)行管理,并且采用數(shù)據(jù)分塊算法使多個(gè)所述裝載進(jìn)程的任務(wù)量盡可能均衡。
[0019]優(yōu)選地,在上述數(shù)據(jù)處理系統(tǒng)中,所述參數(shù)包括業(yè)務(wù)權(quán)限和報(bào)文代別,所述報(bào)文解析和轉(zhuǎn)換模塊通過對(duì)裝載到內(nèi)存中的數(shù)據(jù)與先前裝載的歷史數(shù)據(jù)進(jìn)行權(quán)重分析確定業(yè)務(wù)權(quán)限和報(bào)文代別。
[0020]優(yōu)選地,在上述數(shù)據(jù)處理系統(tǒng)中,如果確定的報(bào)文代別表明所請(qǐng)求的業(yè)務(wù)具有不對(duì)稱的業(yè)務(wù)要素,則報(bào)文解析和轉(zhuǎn)換模塊對(duì)確定的報(bào)文代別進(jìn)行轉(zhuǎn)換。
[0021]優(yōu)選地,在上述數(shù)據(jù)處理系統(tǒng)中,如果無法解析確定所述業(yè)務(wù)權(quán)限和報(bào)文代別,則報(bào)文解析和轉(zhuǎn)換模塊通過訪問外部系統(tǒng)獲取。
【專利附圖】
【附圖說明】
[0022]從結(jié)合附圖的以下詳細(xì)說明中,將會(huì)使本發(fā)明的上述和其它目的及優(yōu)點(diǎn)更加清
λ.Μ
/E.ο
[0023]圖1為按照本發(fā)明一個(gè)實(shí)施例的數(shù)據(jù)處理系統(tǒng)邏輯功能架構(gòu)的示意圖。
[0024]圖2為具有圖1所示架構(gòu)的數(shù)據(jù)處理系統(tǒng)的框圖。
[0025]圖3為按照本發(fā)明另一個(gè)實(shí)施例的報(bào)文生成方法的流程圖。
[0026]圖4為用于圖3所示實(shí)施例的句柄管理例程的流程圖。
[0027]圖5為用于圖3所示實(shí)施例的內(nèi)存打包例程的流程圖。
【具體實(shí)施方式】
[0028]圖1為按照本發(fā)明一個(gè)實(shí)施例的數(shù)據(jù)處理系統(tǒng)邏輯功能架構(gòu)的示意圖。
[0029]如圖1所示,數(shù)據(jù)處理系統(tǒng)邏輯功能架構(gòu)10包含統(tǒng)一混合句柄池緩沖管理業(yè)務(wù)裝載邏輯110、報(bào)文代別權(quán)限智能轉(zhuǎn)換判斷邏輯120和多觸發(fā)高性能可配置化打包邏輯130,以下分別對(duì)這些邏輯模塊作進(jìn)一步的描述。
[0030]統(tǒng)一混合句柄池緩沖管理業(yè)務(wù)裝載邏輯110包括句柄管理工具111、文件句柄池112、數(shù)據(jù)庫連接句柄池113、裝載進(jìn)程池114。文件句柄池112和數(shù)據(jù)庫連接句柄池113中所包括的句柄分別用于標(biāo)識(shí)文件1-文件N中的部分文件和與數(shù)據(jù)庫1-數(shù)據(jù)庫N的連接。句柄管理工具111對(duì)上述兩個(gè)句柄池中的句柄資源進(jìn)行管理以將文件和數(shù)據(jù)庫中的數(shù)據(jù)裝載到內(nèi)存中。管理操作例如包括但不限于句柄池的初始化創(chuàng)建操作、句柄分配、句柄加入操作和銷毀操作等。裝載進(jìn)程池114負(fù)責(zé)分配和管理用于將數(shù)據(jù)從文件和數(shù)據(jù)庫裝載到內(nèi)存的裝載進(jìn)程,其執(zhí)行裝載進(jìn)程的創(chuàng)建、分配、回收、進(jìn)程狀態(tài)控制等操作。在本實(shí)施例中,由于多個(gè)裝載進(jìn)程可以同時(shí)進(jìn)行,所以提高了數(shù)據(jù)處理系統(tǒng)的并行處理能力。
[0031]當(dāng)從數(shù)據(jù)處理系統(tǒng)外部接收到打包業(yè)務(wù)請(qǐng)求時(shí),句柄管理工具111初始化句柄池并且根據(jù)請(qǐng)求的內(nèi)容分配句柄,以將文件和數(shù)據(jù)庫中的所需數(shù)據(jù)裝載到內(nèi)存中。文件例如可以是按照機(jī)構(gòu)等要素來劃分的,對(duì)于不在文件句柄池中的文件,可在文件句柄池中創(chuàng)建相應(yīng)的句柄,并且在文件句柄池原有句柄已滿時(shí)采用最近最少未使用替換(LRU)算法替換文件句柄池中原有的句柄。即,文件句柄池中使用頻度最小的句柄將被新創(chuàng)建的句柄所替代。這種替換策略可以提高命中率,并且最大程度減少了文件句柄打開和關(guān)閉操作的次數(shù)。對(duì)于數(shù)據(jù)庫數(shù)據(jù),則采用數(shù)據(jù)分塊技術(shù),使各裝載進(jìn)程的任務(wù)量盡可能均衡,并通過采用合適的策略,最大程度地地減少數(shù)據(jù)庫連接關(guān)閉操作,提高性能。
[0032]報(bào)文代別權(quán)限智能轉(zhuǎn)換判斷邏輯120用于實(shí)現(xiàn)與外部系統(tǒng)的實(shí)時(shí)參數(shù)同步、不同代報(bào)文智能到判斷轉(zhuǎn)換以及歷史數(shù)據(jù)分析,其包含報(bào)文解析引擎121、報(bào)文代別分析和轉(zhuǎn)換引擎122、業(yè)務(wù)權(quán)限分析引擎123和通訊前置模塊124。此邏輯模塊可作為引擎插件形式供其它邏輯模塊跨機(jī)、跨系統(tǒng)調(diào)用。
[0033]報(bào)文解析引擎121用于使本地的參數(shù)與外部系統(tǒng)的參數(shù)實(shí)時(shí)同步。當(dāng)統(tǒng)一混合句柄池緩沖管理業(yè)務(wù)裝載邏輯I1將數(shù)據(jù)裝載到內(nèi)存之后,業(yè)務(wù)權(quán)限分析引擎123借助歷史參數(shù)庫中的歷史數(shù)據(jù)對(duì)內(nèi)存中當(dāng)前裝載的數(shù)據(jù)作權(quán)重分析,以判斷交易方的業(yè)務(wù)權(quán)限是否有效,并將過濾后的無權(quán)限數(shù)據(jù)加入歷史參數(shù)庫。報(bào)文代別分析和轉(zhuǎn)換引擎122則對(duì)業(yè)務(wù)權(quán)限有效的業(yè)務(wù)數(shù)據(jù)和實(shí)時(shí)同步的參數(shù)進(jìn)行分析,并且根據(jù)分析結(jié)果將代別不對(duì)稱的業(yè)務(wù)要素進(jìn)行轉(zhuǎn)換。優(yōu)選地,報(bào)文代別分析和轉(zhuǎn)換引擎122和業(yè)務(wù)權(quán)限分析引擎123將裝載進(jìn)來的業(yè)務(wù)數(shù)據(jù)與處理過的歷史數(shù)據(jù)按照跨日、跨周、跨月的數(shù)據(jù)模型進(jìn)行分類分析,并且根據(jù)歷史數(shù)據(jù)分析結(jié)果快速計(jì)算出業(yè)務(wù)的權(quán)限和代別。另一方面,若無法計(jì)算出代別和權(quán)限,則由報(bào)文解析引擎121通過通訊前置模塊124,借助通訊中間件(MQ)與外部系統(tǒng)2作報(bào)文交互以獲取最新的配置信息,并根據(jù)最新配置標(biāo)記機(jī)構(gòu)代別要素和權(quán)限權(quán)重值以及計(jì)算出業(yè)務(wù)的權(quán)限和代別。
[0034]由于通過與外部系統(tǒng)通訊來獲取業(yè)務(wù)的權(quán)限和代別存在時(shí)延等待,所以將報(bào)文代別權(quán)限智能轉(zhuǎn)換判斷邏輯120設(shè)置為優(yōu)先利用報(bào)文代別分析和轉(zhuǎn)換引擎122和業(yè)務(wù)權(quán)限分析引擎123計(jì)算確定報(bào)文權(quán)限和報(bào)文代別等參數(shù)。
[0035]多觸發(fā)高性能可配置化打包邏輯130包括內(nèi)存打包引擎131、數(shù)據(jù)庫打包引擎132和外圍系統(tǒng)133。
[0036]內(nèi)存打包引擎131根據(jù)定制打包規(guī)則算法表和外部系統(tǒng)的打包規(guī)則算法表,將從文件和數(shù)據(jù)庫裝載到內(nèi)存的數(shù)據(jù)組裝成符合規(guī)范的報(bào)文數(shù)據(jù)。例如,內(nèi)存打包引擎131按照外部系統(tǒng)的打包規(guī)則算法表中的打包限制條件將待打包的明細(xì)業(yè)務(wù)一級(jí)分類;然后按照定制打包規(guī)則算法表中的定制打包限制條件將明細(xì)業(yè)務(wù)二級(jí)分類;最后根據(jù)報(bào)文代別權(quán)限智能轉(zhuǎn)換判斷邏輯模塊120得到的報(bào)文要素,將對(duì)應(yīng)業(yè)務(wù)組裝成支付系統(tǒng)報(bào)文規(guī)范規(guī)定的報(bào)文。數(shù)據(jù)庫打包引擎132則將內(nèi)存打包引擎131生成的報(bào)文數(shù)據(jù)寫入數(shù)據(jù)庫。
[0037]在本實(shí)施例的多觸發(fā)高性能可配置化打包邏輯130中,支持的通信接入方式包括webservice、套接字、通訊中間件等,并且接入方式可通過數(shù)據(jù)庫參數(shù)表可視化配置來實(shí)現(xiàn)。另外,定制打包規(guī)則算法也是可配置的,其支持通過統(tǒng)一配置文件和數(shù)據(jù)庫參數(shù)表可視化配置等多種配置方法。
[0038]在本實(shí)施例的多觸發(fā)高性能可配置化打包邏輯130中,還支持多種觸發(fā)方式,例如包括但不限于webservice人工定量觸發(fā)、批量自動(dòng)按時(shí)觸發(fā)、定時(shí)周期觸發(fā)和守護(hù)進(jìn)程按時(shí)間間隔觸發(fā)等。
[0039]圖2為具有圖1所示架構(gòu)的數(shù)據(jù)處理系統(tǒng)的框圖。
[0040]如圖2所示,數(shù)據(jù)處理系統(tǒng)20包括句柄管理模塊210、報(bào)文解析和轉(zhuǎn)換模塊220和報(bào)文生成模塊230。句柄管理模塊210用于管理文件句柄池中的文件句柄和數(shù)據(jù)庫連接句柄池中的數(shù)據(jù)庫連接句柄,并且根據(jù)報(bào)文生成請(qǐng)求,優(yōu)先利用文件句柄池中的文件句柄和/或數(shù)據(jù)庫連接句柄池中的數(shù)據(jù)庫連接句柄將所需數(shù)據(jù)裝載到內(nèi)存中。報(bào)文解析和轉(zhuǎn)換模塊220用于確定報(bào)文生成所需的參數(shù),例如包括但不限于報(bào)文代別和報(bào)文權(quán)限等。報(bào)文生成模塊230用于根據(jù)打包規(guī)則算法和參數(shù),從所需數(shù)據(jù)生成報(bào)文并且將生成的報(bào)文寫入文件。
[0041]句柄管理模塊210按照下列方式管理句柄資源:如果所需數(shù)據(jù)在文件句柄池中沒有相應(yīng)的文件句柄,則創(chuàng)建相應(yīng)的文件句柄并且用該相應(yīng)的文件句柄替換文件句柄池中使用頻度最小的文件句柄;對(duì)于數(shù)據(jù)從數(shù)據(jù)庫裝載到內(nèi)存的裝載進(jìn)程,采用數(shù)據(jù)分塊算法使多個(gè)裝載進(jìn)程的任務(wù)量盡可能均衡。
[0042]在報(bào)文生成所需的參數(shù)中,對(duì)于業(yè)務(wù)權(quán)限和報(bào)文代別,優(yōu)先在本地確定。例如在本實(shí)施例中,報(bào)文解析和轉(zhuǎn)換模塊220可以通過對(duì)裝載到內(nèi)存中的數(shù)據(jù)與先前裝載的歷史數(shù)據(jù)進(jìn)行權(quán)重分析得到業(yè)務(wù)權(quán)限和報(bào)文代別。如果在本地?zé)o法確定,則報(bào)文解析和轉(zhuǎn)換模塊220通過與外部系統(tǒng)交互獲取。此外,如果確定的報(bào)文代別表明所請(qǐng)求的業(yè)務(wù)具有不對(duì)稱的業(yè)務(wù)要素,則報(bào)文解析和轉(zhuǎn)換模塊220對(duì)確定的報(bào)文代別進(jìn)行轉(zhuǎn)換。
[0043]圖3為按照本發(fā)明另一個(gè)實(shí)施例的報(bào)文生成方法的流程圖。
[0044]首先在步驟310中,數(shù)據(jù)處理系統(tǒng)接收?qǐng)?bào)文生成請(qǐng)求。接著在步驟310中,數(shù)據(jù)處理系統(tǒng)根據(jù)接收到的報(bào)文生成請(qǐng)求,優(yōu)先利用文件句柄池中的文件句柄和/或數(shù)據(jù)庫連接句柄池中的數(shù)據(jù)庫連接句柄將所需數(shù)據(jù)裝載到內(nèi)存中。有關(guān)步驟320的內(nèi)容將在下面結(jié)合圖4作詳細(xì)描述。接著進(jìn)入步驟330,數(shù)據(jù)處理系統(tǒng)獲取生成報(bào)文所需的規(guī)則算法(例如外部系統(tǒng)提供的打包規(guī)則算法和本地的定制打包規(guī)則算法)和參數(shù)(例如業(yè)務(wù)權(quán)限和報(bào)文代別)。最后進(jìn)入步驟340,數(shù)據(jù)處理系統(tǒng)根據(jù)打包規(guī)則算法和參數(shù),從所需數(shù)據(jù)生成報(bào)文并且將生成的報(bào)文寫入文件。
[0045]在本實(shí)施例中,可采用下列方式之一觸發(fā)報(bào)文生成請(qǐng)求:人工定量觸發(fā)、批量自動(dòng)按時(shí)觸發(fā)、定時(shí)周期觸發(fā)或守護(hù)進(jìn)程按時(shí)間間隔觸發(fā)。
[0046]圖4為用于圖3所示實(shí)施例的句柄管理例程的流程圖。
[0047]如圖4所示,在步驟411,數(shù)據(jù)處理系統(tǒng)讀取全局配置文件以獲取配置參數(shù),例如包括但不限于共享內(nèi)存的起始地址和共享內(nèi)存大小等。接著依次執(zhí)行步驟412、413和414,分別完成連接共享內(nèi)存、初始化文件句柄向量和初始化數(shù)據(jù)庫連接句柄向量的操作。
[0048]隨后,數(shù)據(jù)處理系統(tǒng)在步驟415根據(jù)請(qǐng)求的句柄類型分類,如果是屬于文件句柄則進(jìn)入步驟416,如果是數(shù)據(jù)庫連接句柄,則進(jìn)入步驟421。
[0049]在步驟416,數(shù)據(jù)處理系統(tǒng)讀取機(jī)構(gòu)配置文件以獲取與待生成報(bào)文對(duì)應(yīng)的機(jī)構(gòu)信息(比如機(jī)構(gòu)號(hào)、機(jī)構(gòu)名、生成文件個(gè)數(shù)、文件名稱等)。隨后進(jìn)入步驟417,數(shù)據(jù)處理系統(tǒng)判斷文件句柄池中是否存在與被裝載文件對(duì)應(yīng)的句柄,如果有,則進(jìn)入步驟418,將對(duì)應(yīng)的句柄分配給相應(yīng)的裝載進(jìn)程,否則,則進(jìn)入步驟419,在文件句柄池中創(chuàng)建被裝載文件的句柄,并且如果文件句柄池中的原有句柄已滿,則刪除其中使用頻度最小的文件句柄。步驟418和419之后都執(zhí)行步驟420,裝載進(jìn)程開始將文件的數(shù)據(jù)裝載到共享內(nèi)存中。
[0050]回到步驟415的另一個(gè)分支,在步驟421,數(shù)據(jù)處理系統(tǒng)分配數(shù)據(jù)庫連接句柄。隨后,在步驟422,采用數(shù)據(jù)分塊算法使多個(gè)裝載進(jìn)程的任務(wù)量盡可能均衡。接著執(zhí)行步驟423,一個(gè)或多個(gè)裝載進(jìn)程開始將數(shù)據(jù)庫的數(shù)據(jù)裝載到共享內(nèi)存中。
[0051]圖5為用于圖3所示實(shí)施例的內(nèi)存打包例程的流程圖,其可用于實(shí)現(xiàn)圖3中的步驟 330 和 340。
[0052]如圖5所示,在步驟511,數(shù)據(jù)處理系統(tǒng)讀取全局配置文件以獲取配置參數(shù),例如包括但不限于共享內(nèi)存的起始地址和共享內(nèi)存大小等。接著數(shù)據(jù)處理系統(tǒng)依次執(zhí)行步驟512、513、514和515,分別完成連接共享內(nèi)存、獲取打包規(guī)則算法(例如包括來自外部系統(tǒng)的打包規(guī)則算法和本地的定制打包規(guī)則算法)、獲取報(bào)文類型種類配置參數(shù)和確定報(bào)文要素參數(shù)(例如報(bào)文權(quán)限和報(bào)文代別等)的操作。在步驟515中,可按照上面描述的方式獲取報(bào)文要素參數(shù)。也就是說,優(yōu)先在數(shù)據(jù)數(shù)據(jù)處理系統(tǒng)處確定報(bào)文要素參數(shù),只有在無法確定時(shí)才從外部系統(tǒng)獲??;此外,對(duì)于報(bào)文代別,如果表明所請(qǐng)求的業(yè)務(wù)具有不對(duì)稱的業(yè)務(wù)要素,則對(duì)確定的報(bào)文代別進(jìn)行轉(zhuǎn)換。
[0053]隨后,數(shù)據(jù)處理系統(tǒng)在步驟516執(zhí)行裝載進(jìn)程池的分配操作,并且在步驟517判斷共享內(nèi)存中是否存在數(shù)據(jù)。如果判斷存在數(shù)據(jù),則進(jìn)入步驟518,否則退出例程。
[0054]在步驟518,數(shù)據(jù)處理系統(tǒng)獲取報(bào)文類型并且隨后依次執(zhí)行步驟519和520,分別完成根據(jù)打包規(guī)則算法和參數(shù)對(duì)數(shù)據(jù)進(jìn)行打包的操作和刷新匯總打包容器的操作。
[0055]接著進(jìn)入步驟521,數(shù)據(jù)處理系統(tǒng)判斷打包容器中的數(shù)據(jù)量是否達(dá)到規(guī)定的大小,如果達(dá)到,則進(jìn)入步驟522,否則,則返回步驟517。
[0056]在步驟522,數(shù)據(jù)處理系統(tǒng)為報(bào)文文件分配相應(yīng)的句柄。隨后數(shù)據(jù)處理系統(tǒng)依次執(zhí)行步驟523和524,分別完成將打包容器內(nèi)的報(bào)文寫入文件的操作和釋放與報(bào)文文件對(duì)應(yīng)的句柄的操作。
[0057]本發(fā)明帶來以下的有益效果:
(O可以滿足多種任務(wù)觸發(fā)處理需求。提供人工定量觸發(fā)、批量自動(dòng)按時(shí)觸發(fā)、定時(shí)周期觸發(fā)、守護(hù)進(jìn)程按時(shí)間間隔觸發(fā)多種觸發(fā)方式。
[0058](2)統(tǒng)一混合句柄池管理工具提供對(duì)文件句柄和數(shù)據(jù)庫連接句柄的混合式管理方法。
[0059](3)報(bào)文代別權(quán)限智能判斷邏輯引擎提供對(duì)歷史數(shù)據(jù)的分析挖掘,實(shí)時(shí)智能區(qū)分機(jī)構(gòu)報(bào)文代別和權(quán)限。
[0060](4)低耦合性,統(tǒng)一混合句柄池管理工具、報(bào)文代別權(quán)限智能判斷邏輯引擎和業(yè)務(wù)打包邏輯分離,工具及引擎提供一套通用接口供業(yè)務(wù)打包模塊使用。
[0061](5)高可配置性。提供可視化及簡單的打包規(guī)則算法配置工具,提供定制化打包規(guī)則擴(kuò)展功能。
[0062](6)高健壯性。小額打包系統(tǒng)具有服務(wù)健康自我監(jiān)控功能,自動(dòng)數(shù)據(jù)庫重連機(jī)制,通過統(tǒng)一混合句柄池以及緩沖隊(duì)列實(shí)現(xiàn)高并發(fā)的支持。
[0063]由于可以在不背離本發(fā)明基本精神的情況下,以各種形式實(shí)施本發(fā)明,因此上面描述的【具體實(shí)施方式】僅是說明性的而不是限制性的。本發(fā)明的范圍由所附權(quán)利要求定義,對(duì)上面描述方式所作的各種變化或變動(dòng)都屬于所附權(quán)利要求的保護(hù)范圍。
【權(quán)利要求】
1.一種利用數(shù)據(jù)處理系統(tǒng)生成報(bào)文的方法,其特征在于,所述數(shù)據(jù)處理系統(tǒng)執(zhí)行下列步驟: 接收?qǐng)?bào)文生成請(qǐng)求; 根據(jù)所述報(bào)文生成請(qǐng)求,優(yōu)先利用文件句柄池中的文件句柄和/或數(shù)據(jù)庫連接句柄池中的數(shù)據(jù)庫連接句柄將所需數(shù)據(jù)裝載到內(nèi)存中; 獲取報(bào)文生成所需的打包規(guī)則算法和參數(shù);以及 根據(jù)打包規(guī)則算法和參數(shù),從所需數(shù)據(jù)生成報(bào)文并且將生成的報(bào)文寫入文件。
2.如權(quán)利要求1所述的方法,其中,采用下列方式之一觸發(fā)所述報(bào)文生成請(qǐng)求:人工定量觸發(fā)、批量自動(dòng)按時(shí)觸發(fā)、定時(shí)周期觸發(fā)或守護(hù)進(jìn)程按時(shí)間間隔觸發(fā)。
3.如權(quán)利要求1所述的方法,其中,如果所需數(shù)據(jù)在所述文件句柄池中沒有相應(yīng)的文件句柄,則創(chuàng)建該相應(yīng)的文件句柄并且在所述文件句柄池已滿時(shí)以其替換所述文件句柄池中使用頻度最小的文件句柄。
4.如權(quán)利要求1所述的方法,其中,采用數(shù)據(jù)分塊算法將所需數(shù)據(jù)從數(shù)據(jù)庫裝載到內(nèi)存中以使多個(gè)裝載進(jìn)程的任務(wù)量盡可能均衡。
5.如權(quán)利要求1所述的方法,其中,采用統(tǒng)一的句柄管理工具來管理所述文件句柄池和數(shù)據(jù)庫連接句柄 池。
6.如權(quán)利要求1所述的方法,其中,所述參數(shù)包括業(yè)務(wù)權(quán)限和報(bào)文代別。
7.如權(quán)利要求6所述的方法,其中,通過對(duì)裝載到內(nèi)存中的數(shù)據(jù)與先前裝載的歷史數(shù)據(jù)進(jìn)行權(quán)重分析確定業(yè)務(wù)權(quán)限和報(bào)文代別。
8.如權(quán)利要求7所述的方法,其中,如果確定的報(bào)文代別表明所請(qǐng)求的業(yè)務(wù)具有不對(duì)稱的業(yè)務(wù)要素,則對(duì)確定的報(bào)文代別進(jìn)行轉(zhuǎn)換。
9.如權(quán)利要求6所述的方法,其中,如果無法解析確定所述業(yè)務(wù)權(quán)限和報(bào)文代別,則通過訪問外部系統(tǒng)獲取。
10.如權(quán)利要求5所述的方法,其中,與寫入報(bào)文的文件對(duì)應(yīng)的文件句柄也被放入所述文件句柄池以由所述句柄管理工具管理。
11.一種數(shù)據(jù)處理系統(tǒng),其特征在于,包括: 句柄管理模塊,用于管理文件句柄池中的文件句柄和數(shù)據(jù)庫連接句柄池中的數(shù)據(jù)庫連接句柄; 數(shù)據(jù)裝載模塊,用于根據(jù)報(bào)文生成請(qǐng)求,通過所述句柄管理工具優(yōu)先利用所述文件句柄池中的文件句柄和/或所述數(shù)據(jù)庫連接句柄池中的數(shù)據(jù)庫連接句柄將所需數(shù)據(jù)裝載到內(nèi)存中; 報(bào)文解析和轉(zhuǎn)換模塊,用于獲取報(bào)文生成所需的參數(shù);以及 報(bào)文生成模塊,用于根據(jù)打包規(guī)則算法和所述參數(shù),從所需數(shù)據(jù)生成報(bào)文并且將生成的報(bào)文寫入文件。
12.如權(quán)利要求11所述的數(shù)據(jù)處理系統(tǒng),其中,如果所需數(shù)據(jù)在所述文件句柄池中沒有相應(yīng)的文件句柄,則創(chuàng)建該相應(yīng)的文件句柄并且在所述文件句柄池已滿時(shí)以其替換所述文件句柄池中使用頻度最小的文件句柄。
13.如權(quán)利要求11所述的數(shù)據(jù)處理系統(tǒng),其中,句柄管理模塊還對(duì)將數(shù)據(jù)從數(shù)據(jù)庫裝載到內(nèi)存的裝載進(jìn)程進(jìn)行管理,并且采用數(shù)據(jù)分塊算法使多個(gè)所述裝載進(jìn)程的任務(wù)量盡可能均衡。
14.如權(quán)利要求11所述的數(shù)據(jù)處理系統(tǒng),其中,所述參數(shù)包括業(yè)務(wù)權(quán)限和報(bào)文代別,所述報(bào)文解析和轉(zhuǎn)換模塊通過對(duì)裝載到內(nèi)存中的數(shù)據(jù)與先前裝載的歷史數(shù)據(jù)進(jìn)行權(quán)重分析確定業(yè)務(wù)權(quán)限和報(bào)文代別。
15.如權(quán)利要求14所述的數(shù)據(jù)處理系統(tǒng),其中,如果確定的報(bào)文代別表明所請(qǐng)求的業(yè)務(wù)具有不對(duì)稱的業(yè)務(wù)要素,則報(bào)文解析和轉(zhuǎn)換模塊對(duì)確定的報(bào)文代別進(jìn)行轉(zhuǎn)換。
16.如權(quán)利要求14所述的數(shù)據(jù)處理系統(tǒng),其中,如果無法解析確定所述業(yè)務(wù)權(quán)限和報(bào)文代別,則報(bào)文解析和 轉(zhuǎn)換模塊通過訪問外部系統(tǒng)獲取。
【文檔編號(hào)】G06F17/30GK104050193SQ201310083308
【公開日】2014年9月17日 申請(qǐng)日期:2013年3月15日 優(yōu)先權(quán)日:2013年3月15日
【發(fā)明者】李珂, 張奇, 呂伊蒙 申請(qǐng)人:中國銀聯(lián)股份有限公司