CN104317660A - 一种银行参数管理系统 - Google Patents
一种银行参数管理系统 Download PDFInfo
- Publication number
- CN104317660A CN104317660A CN201410659163.0A CN201410659163A CN104317660A CN 104317660 A CN104317660 A CN 104317660A CN 201410659163 A CN201410659163 A CN 201410659163A CN 104317660 A CN104317660 A CN 104317660A
- Authority
- CN
- China
- Prior art keywords
- parameter
- list
- branch
- cfdt
- head office
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种银行参数管理系统。本发明实施例银行参数管理系统包括:参数注册模块,参数加载模块,参数维护模块及参数使用模块,本发明实施例中参数加载模块根据参数类型表中参数的加载方式,进行参数加载,由于根据不同类型的参数采用不同的加载方式,对于联机交易经常访问的参数,加载到内存或者CFDT中,减少交易读取参数的时间,将联机交易较少访问的参数保存在数据库中,减少内存及CFDT的空间占用,合理利用了系统资源,提高了联机交易的效率。参数维护模块对参数的维护分为三类:总行维护,分行全部使用;总行维护,分行部分使用;分行维护并使用,支持参数的总行集中管理及分行差异维护。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种银行参数管理系统。
背景技术
在银行核心业务处理系统中,通过预先设定后不容易变化的,用于系统及业务控制的数据称为参数。参数与业务数据的最大区别在于参数是相对稳定的,而业务数据是随时变化的。
在银行的海外核心系统中,不同国家的海外分行,因为监管要求,市场环境的差异,对某些业务参数有差异化设置的需求;同时,总行为了对海外分行进行统一的管理,需要对参数进行统一视图的管理。例如,对于会计科目,不同海外分行因为开展业务的范围存在差异,对会计科目有不同的需求;而总行为了对海外分行编制统一口径的会计报表,需要维护所有海外分行科目的并集。
在联机交易的处理过程中,对于某些参数,需要频繁地进行访问,为了提高交易的处理速度,通常需要对参数进行缓存,以提高参数的读取效率,从而降低交易的响应时间。
在IBM大型机中,提供了一种并行耦合技术,将多台IBM z/Series或IBMS/390服务器耦合在一起协同工作,组合成一个高可用、易维护、可扩展、负载均衡的系统(SYSPLEX),以满足银行交易系统大数据,高稳定性,快速交易响应的要求。在SYSPLEX架构中,通过耦合器CF(Coupling Facility)将多个不同的逻辑分区LPAR(Logic Partition)耦合在一起,以实现不同系统间的数据共享及系统间的信息传输。
在IBM大型机中,联机交易通常在中间件(CICS)上运行,在SYSPLEX系统中,可以将CICS实例部署到不同的LPAR中,通过一定的工具把这些实例组合成一个整体,称为CICSPLEX,通过将应用部署在CICSPLEX中,使交易可以运行在不同的LPAR中,实现系统的高吞吐量,同时,当CICSPLEX的某些实例出现故障时,其他实例可以接管其工作,实现系统的高可用性。
CICSPLEX利用SYSPLEX的CF,通过CF中实现SYSPLEX中的数据共享的数据表(Coupling Facility Data Table,CFDT),可以把数据共享到SYSPLEX中不同LPAR的CICS实例,对于应用程序,CFDT就像是SYSPLEX范围内可共享的数据表,表中的数据以“键-值”对的方式存在,但CFDT对键的长度有限制,键不能超过16个字节,CICSPLEX中的任何CICS实例均可对CFDT中的数据进行增、删、改、查。
为实现联机交易的参数缓存,现有的方法主要有两种方式:第一种方式是将常用参数加载到CICS的内存。第二种方式是将常用参数加载到CFDT。
上述两种实现联机交易缓存的方式中,第一种方式每个CICS的实例都需要加载一份常用参数的副本,占用的内存空间较多,且加载到内存的参数如果发生修改,无法同步到所有CICSPLEX中的CICS实例,导致不同CICS实例中的参数不一致,影响数据的一致性及正确性。
第二种方式CFDT中的数据以“键-值”对的方式存在,但键的长度最大为16字节,如果参数的键值大于16字节,则无法加载到CFDT中,影响这部分参数的访问效率。
发明内容
本发明实施例提供了一种银行参数管理系统,合理利用了系统资源,提高了联机交易的效率,同时支持参数的总行集中管理及分行差异支持。
本发明实施例中提供了一种银行参数管理系统,包括:
参数注册模块,用于将参数类型注册到预置的参数类型表中,所述参数类型表中记录每种参数类型信息,所述参数类型信息中包括参数的维护方式及参数的加载方式,所述参数的加载方式包括加载到内存、加载到CFDT、保存在数据库,将预置的访问频繁的参数的加载方式记录为加载到内存或加载到CFDT,将预置的访问较少的参数的加载方式记录为保存在数据库;
参数加载模块,用于在系统启动的时候或者日终批量的时候,根据所述参数类型表中记录的参数的加载方式,将所述参数类型表中的参数进行加载;
参数维护模块,用于总行用户和分行用户分别对总行级的参数及分行级的参数进行维护,并实现参数在内存及CFDT中的更新;
参数使用模块,用于响应联机交易平台的参数访问请求,当联机交易需要访问目标参数时,从所述参数类型表中确定目标参数的加载方式,根据所述目标参数的加载方式获取目标参数的参数值,返回给联机交易平台。
可选的,所述参数加载模块包括参数加载内存模块和参数加载CFDT模块;
所述参数加载内存模块用于在系统启动时通过PLT程序加载参数到内存和日终批量时通过作业加载参数到内存;
所述参数加载CFDT模块用于在系统启动时调起,将参数的加载方式为加载到CFDT的参数加载到CFDT中。
可选的,所述参数加载内存模块具体用于在系统启动时,从系统申请内存,将所述申请的内存的地址保存到可供所有联机交易访问的CICS临时存储区TSQ,遍历所述类型参数表,将参数加载方式为参数加载到内存的参数加载到内存中。
可选的,所述参数加载内存模块还用于在联机交易中更新了参数,且所述更新的参数的加载方式为参数加载到内存时,在日终批量的时候,通过批量作业分别调用每个CICS实例的参数加载内存的交易进行内存更新。
可选的,述参数的维护方式包括如下三种:
第一类参数:总行维护,分行全部使用;
第二类参数:总行维护,分行部分使用;
第三类参数:分行维护并使用;
所述参数维护模块包括总行参数维护模块和分行参数维护模块;
所述总行参数维护模块用于所述第一类参数及所述第二类参数的维护,并在维护第一类参数后,将该第一类参数同步到分行的参数表,在所述参数类型表中新增第二类参数后,将该第二类参数同步到其在子行的影子表,在所述参数类型表中修改或删除第二类参数后,将该第二类参数同步到其在子行的影子表和分行的参数表;
所述分行参数维护模块用于从总行添加第二类参数到分行,以及第三类参数的维护。
可选的,所述总行参数维护模块具体用于通过第一类触发器将新增的第一类参数同步到银行所有分行的参数表及总行参数表的影子表,通过第二类触发器将新增的第二类参数同步到总行参数表的影子表,通过第三类触发器将修改的第一类参数或第二类参数同步到银行的所有分行的参数表,及总行参数表的影子表,通过第四类触发器将删除的第一类参数或第二类参数同步到银行的所有分行的参数表及总行参数表的影子表。
可选的,所述分行参数维护模块具体用于在分行新增第二类参数时,检查该参数是否存在于总行参数表的影子表中,若否,则不允许新增,若是,则判断该参数的加载方式是否为参数加载到CFDT,则同步更新CFDT中的参数。
可选的,所述参数使用模块具体用于当联机交易需要访问目标参数时,获取目标参数的参数类型及参数代码,从TSQ中获取内存参数区的首地址,根据目标参数的参数类型从内存参数区中的参数类型表获取所述目标参数的加载方式,根据所述目标参数的加载方式获取目标参数的参数值,返回给联机交易平台。
可选的,所述参数使用模块还用于判断获取目标参数的参数类型及参数代码是否失败,在失败时,从数据库中读取目标参数的参数类型及参数代码。
可选的,所述参数表中保存的参数,是使用一个预设长度的字段保存不同的参数,并为每个参数类型定义一个数据结构。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例中参数注册模块注册参数到预置的参数类型表中,参数类型表中记录参数的加载方式,参数加载模块根据参数类型表中参数的加载方式,进行参数加载,参数使用模块根据访问的目标参数的加载方式获取目标参数的参数值,由于根据不同类型的参数采用不同的加载维护方式,对于联机交易经常访问的参数,加载到内存或者CFDT中,减少交易读取参数的时间,从而降低联机交易的响应时间,对于联机交易较少访问的参数,将其保存在数据库中,减少内存及CFDT的空间占用,合理利用了系统资源,提高了联机交易的效率,同时支持参数的总行集中管理及分行差异支持。
附图说明
图1是本发明实施例中银行参数管理系统的一个实施例示意图;
图2是本发明实施例中银行参数管理系统在加载维护时的交互示意图;
图3是本发明实施例中参数的结构示意图;
图4是本发明实施例中参数加载模块的示意图;
图5是本发明实施例中参数维护模块的示意图;
图6是本发明实施例中参数使用模块在参数访问时的一个实施例示意图。
具体实施方式
本发明实施例提供了一种银行参数管理系统,合理利用了系统资源,提高了联机交易的效率,同时支持参数的总行集中管理及分行差异支持。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
请参阅图1,本发明实施例中银行参数管理系统100一个实施例包括:
参数注册模块101,用于将参数类型注册到预置的参数类型表中,所述参数类型表中记录每种参数类型信息,所述参数类型信息中包括参数的维护方式及参数的加载方式,所述参数的加载方式包括加载到内存、加载到CFDT、保存在数据库,将预置的访问频繁的参数的加载方式记录为加载到内存或加载到CFDT,将预置的访问较少的参数的加载方式记录为保存在数据库;
参数加载模块102,用于在系统启动的时候或者日终批量的时候,根据所述参数类型表中记录的参数的加载方式,将所述参数类型表中的参数进行加载;
参数维护模块103,用于总行用户和分行用户分别对总行级的参数及分行级的参数进行维护,并实现参数在内存及CFDT中的更新;
参数使用模块104,用于响应联机交易平台的参数访问请求,当联机交易需要访问目标参数时,从所述参数类型表中确定目标参数的加载方式,根据所述目标参数的加载方式获取目标参数的参数值,返回给联机交易平台。
请参考图2,本发明实施例中银行参数管理系统与银行数据库参数表、CFDT、及CICS内存在加载维护等时之间的交互关系,本发明实施例中,未特别声明的情况下,内存指的是CICS内存。
本发明实施例中,预置的访问频繁的参数和预置的访问较少的参数均为确定的参数,可以是预先根据现有使用情况确定访问频繁、访问较少的参数,也可以人为设定哪些在联机交易可能经常访问的参数、较少访问的参数为预置的访问频繁的参数、预置的访问较少的参数,此处不作限定,对于联机交易经常访问的参数,加载到内存或者CFDT中,减少交易读取参数的时间,从而降低联机交易的响应时间。对于联机交易较少访问的参数,将其保存在数据库中,减少内存及CFDT的空间占用。
在银行核心业务处理系统中,存在着大量的参数,包括技术参数和业务参数。技术参数用于程序的流程控制及逻辑处理,通过参数的配置,可以使得程序之间松耦合,提高系统的可维护性和可扩展性。例如交易的输入输出控制参数,当交易发生时,系统由公共的报文解析模块根据输入输出参数对交易的报文进行解析,从而将报文解析从交易处理中独立出来。技术参数只能由技术人员维护,业务人员无法维护。业务参数用于配置在不同业务场景下的系统行为,通过参数化,可以由业务人员对系统的处理进行配置,从而提高业务处理的灵活性,在一定程度上可以避免有新业务需求或新业务产品时,系统的开发工作。例如,当金融交易发生时,用户可以通过会计模型参数对交易的账务处理进行配置,系统自动根据参数进行账务处理,避免账务处理与业务处理紧耦合的情况;如果需要修改交易的核算规则,业务人员只需要调整会计模型的参数配置,无需程序的修改。业务参数只能由业务人员维护,技术人员无法维护。
如图3所示,为了对参数进行分类管理,本发明将参数分解为“参数类型+参数代码”,交易控制参数、科目参数等,我们称为参数类型,用于标识参数的种类。对于不同的参数类型,其参数值的结构是不一样的。每种参数类型下,都会有各种具体的参数,称为参数代码,例如科目参数中具体的科目号。每个参数代码都会对应具体的参数值,参数值描述参数的具体信息,例如科目号的参数值描述该科目的类别(资产、负债)、科目名称、科目明细标志(是否明细科目)等属性。
在本发明实施例中,需要设置一个参数类型表,参数类型表记录了每种参数类型的维护方式和加载方式,所有需要使用的参数类型都要在该参数类型表中注册。参数注册模块101用于让用户通过此模块注册参数类型,将参数类型注册到参数类型表中,需注册的参数类型信息可以包括:参数类型、参数英文名称、参数中文名称、参数的加载方式及参数的维护方式。
系统中使用的参数类型,都需要在参数类型表中注册,参数类型表(BPTPARP)的结构如下表1。
表1
请参阅图4,本发明实施例中,参数加载模块102可以包括参数加载内存模块1021和参数加载CFDT模块1022;
参数加载内存模块1021用于在在系统启动时通过PLT程序加载参数到内存和日终批量时通过作业加载参数到内存;
参数加载CFDT模块1022用于在系统启动时调起,将参数的加载方式为加载到CFDT的参数加载到CFDT中。
参数类型表中参数的加载方式分为三类,分别是:
M、参数加载到内存;
Y、参数加载到CFDT;
N、参数保存在数据库,不加载到缓存;
参数加载内存模块1021具体可以用于在系统启动时,从系统申请内存,将所述申请的内存的地址保存到可供所有联机访问的CICS临时存储区TSQ,遍历所述类型参数表,将参数加载方式为参数加载到内存的参数加载到内存中。
参数加载内存模块1021还可以用于在联机交易中更新了参数,且所述更新的参数的加载方式为参数加载到内存时,在日终批量的时候,通过批量作业分别调用每个CICS实例的参数加载内存的交易进行内存更新。
本发明实施例中,总行和每个分行的数据库里分别维护各自的参数表,在每个分行的数据库里,还有一个总行参数表的副本,用于同步总行的参数表,称为影子表,如下所示:
参数加载到内存的方式包括系统初始化时通过PLT程序加载和日终批量时通过作业加载。
所述参数的维护方式包括如下三种:
第一类参数:总行维护,分行全部使用;
第二类参数:总行维护,分行部分使用;
第三类参数:分行维护并使用;
如图5所示,参数维护模块103包括总行参数维护模块1031和分行参数维护模块1032;
总行参数维护模块1031用于所述第一类参数及所述第二类参数的维护,并在维护所述第一类参数后,将所述第一类参数同步到分行的参数表,在所述参数类型表中新增所述第二类参数后,将所述参数类型表同步到其在子行的影子表,在所述参数类型表中修改或删除所述第二类参数后,将所述参数类型表同步到其在子行的影子表和分行的参数表;
分行参数维护模块1032用于从总行添加第二类参数到分行,以及第三类参数的维护。
本发明实施例为各种不同类型的参数提供统一的物理存储视图,对于不同类型的参数,存储在同一个数据库参数表中。参数表(BPTPARM)的结构如下表2:
表2
字段英文名 | 字段中文名 | 数据类型 | 说明 |
TYPE | 参数类型 | X(5) | |
CODE | 参数代码 | X(40) | |
VAL | 参数值 | X(9500) |
参数是以“键-值”对的方式存储的,键为参数(“参数类型+参数代码”),值为参数值。对于不同类型的参数,其参数值的结构是不一样的,参数表中保存的参数,可以是使用一个预设长度的字段保存不同的参数,并为每个参数类型定义一个数据结构,本发明实施例中可以用一个大字段来保存不同的参数,同时为每个参数类型定义一个数据结构,在读取参数以后,通过将大字段赋值到参数类型对应的数据结构,实现参数的统一存储视图。
所有参数在维护以后都会保存在数据库的参数表(BPTPARM)中,为了提高联机交易对参数的访问效率,本发明实施例提供了两种参数加载到缓存的机制,分别是参数加载到CFDT和参数加载到内存,它们之间的区别如下:
1)因为CFDT中,键的最大长度为16个字节,如果某种参数类型需要加载到CFDT,则其“参数类型+参数代码”长度不能超过16个字节。因为CFDT是在CICSPLEX范围内共享的,所以加载到CFDT中的参数只占一份存储空间,空间占用少,而且在维护以后可以实时生效。
2)对于加载到内存中的参数,“参数类型+参数代码”的长度没有限制,但因为CICS实例的内存无法在CICSPLEX范围共享,所以需要在每个CICS实例都维护一份内存参数的副本,空间占用多,而且参数维护交易是随机地运行在CICSPLEX中的其中一个CICS实例,所以参数无法同时更新所有CICS实例中的内存参数副本,因此参数在维护以后只能在日终时通过批量作业同时往每个CICS实例发起参数更新交易的方式进行参数更新。
对于没有缓存到CFDT及内存中的参数,在参数访问时直接从数据库中的参数表中读取。
参数不同加载方式的主要区别如下表3所示:
表3
因为总行只做参数维护,不做业务交易,对联机交易的性能要求不高,所以总行的参数需要加载到CFDT或者内存。
下面详细介绍本实施例中参数加载到CFDT或参数加载到内存的方案:
参数加载内存模块1021负责参数类型表及内存参数的装载。在系统启动时,通过PLT程序发起参数加载内存的交易。参数加载内存的交易首先从系统申请内存,将内存的地址保存到可供所有联机交易访问的CICS临时存储区TSQ(Temporary Storage Queues)中,然后遍历参数表,将参数加载方式为内存的参数加载到内存中。如果联机交易更新了加载方式为内存的参数,因为CICSPLEX机制下,参数维护交易是随机分配到一个CICS实例执行的,参数无法同步更新到其他的CICS实例,所以参数只会在数据库中修改,内存中的参数不会实时更新,待日终批量时再通过批量作业分别调用每个CICS实例的参数加载内存的交易进行内存更新。
参数加载CFDT模块1022负责参数的CFDT装载,装载通过批量作业调用联机交易的方式进行,作业在系统启动时调起,将加载方式为CFDT的参数装载到CFDT中。
一、参数加载CFDT模块1022加载参数到CFDT
本发明为每个分行设立单独的CFDT,需要预先为每个分行在CICS中定义CFDT资源:
CFDT资源的命名规则为XX+FCFPM,其中XX为2位的分行代码,例如香港分行HK,纽约分行为NY,FCFPM为固定值。
在系统初始化的时候,通过提交作业,调用参数加载CFDT的入口程序SCBMMTL。调用方式如下:
EXEC PGM=SCBMMTL,REGION=17M,PARM=(&CICSID.&BR)
其中&CICSID及&BR分别是CICS实例名称及分行号参数,分别在每个分行的环境变量中配置。分行号参数是1位的分行号,例如香港为H,纽约为N。
批量执行的程序无法直接访问的CICS,本发明通过CICS的批量调用接口EXCI(External CICS interface)的方式发起联机交易,由交易调起参数加载CFDT的主程序,入口程序SCBMMTL的处理流程如下:
(1)、接收并检查参数的合法性;
(2)用BR参数组成调用联机交易的CICS交易码;
(3)通过CICS交易调用程序SCBMMTL;
(4)判断程序的结果并返回。
CICS交易码的命名规则为“1位分行号+LPM(固定值)”,1位分行号为入口程序传入的&BR参数。每个分行的交易码是不同的,因此可以通过交易码确定参数要加载到的分行,批量程序SCOMMTL调用CICS交易的方式如下:
参数加载CFDT主程序SCOMMTL的处理流程如下:
(1)读取分行信息表SOTSYS获取分2位行代码;
分行信息表SOTSYS中配置了分2位行代码,因此可以读取分行信息表SOTSYS获取分2位行代码。
(2)用分行代码组装CFDT资源名称;
(3)浏览参数类型表BPTPARP获取加载方式为加载到CFDT的参数类型;
(4)根据参数类型浏览参数表BPTPARM,将记录加载到CFDT。
二、参数加载内存模块1021加载参数到内存
参数加载内存模块1021进行参数加载内存的方式有两种,分别是系统初始化时通过PLT(program list table)程序加载和日终批量时通过作业加载:
1、PLT加载
配置在CICS的PLT中的程序,在CICSPLEX中的每个CICS实例启动时都会自动执行。本发明实施例配置一个PLT程序,该程序依次为每个分行调起参数加载内存的交易,交易码的命名规则为“1位分行号+0DC(固定值)”,例如香港分行为H0DC,纽约分行为N0DC。
CICS交易*0DC执行参数加载内存的主程序SCOMETL:
“EXEC CICS LINK PROGRAM("SCOMETL");”
2、日终批量加载
为了实现内存中参数的更新,在每天的日终批量通过作业,为CICSPLEX中的每个CICS实例分别调用参数加载内存的入口程序SCBMETL。调用方式如下:
“EXEC PGM=SCBMETL,REGION=17M,PARM=(&CICSID1.&BR)
EXEC PGM=SCBMETL,REGION=17M,PARM=(&CICSID2.&BR)
……
EXEC PGM=SCBMETL,REGION=17M,PARM=(&CICSIDN.&BR)”
&CICSID1-&CICSIDN是CICSPLEX中每个CICS实例的名称,&BR是1位分行号,分别在每个分行的环境变量中配置。
SCBMETL通过EXCI的方式发起联机交易,由交易调起参数加载内存的主程序SCOMETL,其处理流程如下:
(1)接收并检查参数的合法性;
(2)用BR参数(&BR)组成调用联机交易的CICS交易码;
交易码为&BR+LPM(固定值);
(3)通过CICS交易调用程序SCOMETL;
(4)判断程序的执行结果并返回。
批量程序SCBMETL调用CICS交易的方式如下:
参数加载内存主程序SCOMETL在通过PLT方式第一次执行的时候,会从系统申请一块内存,并将内存的首地址保存到可供所有联机交易访问的CICS临时存储区TSQ(Temporary Storage Queues)中,然后在内存中构建哈希表(Hash Table),联机交易在访问内存时,需要从TSQ中获取内存的首地址,即哈希表的首地址。日终批量在更新内存中的参数时,不需要重新分配内存,从TSQ中获取内存的首地址后,先清空哈希表,再进行参数的加载。
本发明将参数类型表BPTPARP加载到内存,使联机在访问参数时,能迅速定位到参数的加载方式。
参数类型表在哈希表中的键为“BPTPARP+参数类型”,参数表在哈希表中的键为“BPTPARM+参数类型+参数代码”。
SCOMETL的处理流程如下所示:
(1)读取分行信息表SOTSYS获取分2位行代码;
分行信息表SOTSYS中配置了分2位行代码,因此可以读取分行信息表SOTSYS获取分2位行代码。
(2)用分行代码组装保存在内存地址的TSQ名称;
TSQ的名称为MTE(固定值)+分行代码+ADDR(固定值)
(3)读TSQ获取内存参数去的首地址;
(4)判断是否读取成功,若是,进行步骤(5),若否进行步骤(6);
(5)清空内存后进行步骤(7);
(6)从CICS申请,并将内存首地址写到TSQ中后进行步骤(7);
(7)将参数类型表BPTPARP加载到内存;
(8)浏览参数类型表BPTPARP获取加载方式为加载到内存的参数类型;
(9)根据参数类型浏览参数表BPTPARM,将记录加载到内存。
本发明实施例中,总行和每个分行的数据库里分别维护各自的参数表,在每个分行的数据库里,还有一个总行参数表的副本,用于同步总行的参数表,称为影子表,本发明实施例中,总行参数维护模块1031负责维护方式为第一类参数及第二类参数的维护。
本发明实施例总行参数维护模块1031通过触发器TRIGGER的方式实现数据库同步。对于第一类参数的新增、修改、删除,TRIGGER同步新增、修改、删除所有分行的参数表及影子表。第二类参数是总行维护全集,分行部分使用的,在新增时,只需同步到所有分行的影子表,此处分行部分使用是预先设定好的使用权限。第二类参数的修改和删除,TRIGGER同步修改、删除所有分行的参数表及影子表。如果分行的参数表存在记录,则参数被同步修改、删除,如果记录不存在,则TRIGGER不做任何处理
如果参数的加载方式是CFDT,对于第一类参数的新增、修改、删除,总行需要依次对各分行的CFDT做相同的操作。总行新增第二类参数以后,不需要同步新增到分行的CFDT,总行修改、删除第二类参数时,无论分行是否使用了该参数,都试图修改、删除每个分行的CFDT,如果参数被分行使用,则参数被同步修改、删除,如果参数未被分行使用,则不对任何记录做处理。
本发明在总行设置分行信息表(SCTDDTL),该表的每条记录表示一个分行,分行信息表的结构如下表4:
表4
字段英文名 | 字段中文名 | 数据类型 | 说明 |
BANK_ID | 分行ID | DECIMAL(3,0) | |
BANK_NO1 | 1位分行号 | X(1) | |
BANK_NO2 | 2位分行代码 | X(2) |
通过分行信息表,可以获得每个分行的2位分行代码,从而组装得到每个分行的CFDT资源名称(2位分行代码+FCFPM),使总行可以维护每个分行的CFDT。
如果参数的加载方式是内存,则通过日终批量的参数更新作业生效,详细过程上述参数的加载相关内容。
总行参数维护模块1031维护参数的处理流程可以所示:
(1)根据维护的参数类型读参数类型表BPTPARP,获取参数的加载方式;
(2)判断该参数的加载方式是否为CFDT,若是,则进行步骤(3),若否,则执行步骤(7)
(3)判断该参数的维护方式是否为新增第二类参数,若是则进行步骤(4),若否,则执行步骤(7)
(4)遍历分行信息表SCTDDRL,获取分行代码;
(5)依次为每个分行用分行代码组装CDFT资源名称;
(6)维护分行CFDT中的参数;
(7)维护总行数据库参数表中的参数。
本发明实施例总行参数维护模块1031通过在总行的数据库(ZHDB)定义多个触发器,实现参数同步:总行参数维护模块1031具体用于通过第一触发器将新增的第一类参数同步到银行所有分行的参数表及总行参数表的影子表,通过第二类触发器将新增的第二类参数同步到总行参数表的影子表,通过第三类触发器将修改的第一类参数或第二类参数同步到银行的所有分行的参数表,及总行参数表的影子表,通过第四类触发器将删除的第一类参数或第二类参数同步到银行的所有分行的参数表及总行参数表的影子表,具体如下:
1、新增第一类参数的触发器定义
触发器ZHDB.INS_BPTPARM1,将新增的参数同步到所有分行(BR1-BRN)的参数表(BRNDB.BPTPARM)及总行参数表的影子表(BRNDB.BPTPARMH),新增第一类参数触发器定义如下:
2、新增第二类参数的触发器定义
触发器ZHDB.INS_BPTPARM2,将新增的参数同步到所有分行(BR1-BRN)总行参数表的影子表(BRNDB.BPTPARMH),与第一类类参数的区别是,新增第二类参数不会同步到分行的参数表(BRNDB.BPTPARM),新增第二类参数的触发器定义如下:
3、修改第一类参数或第二类参数的触发器定义
触发器ZHDB.UPD_BPTPARM,将修改的参数同步到所有分行(BR1-BRN)的参数表(BRNDB.BPTPARM)及总行参数表的影子表(BRNDB.BPTPARMH)。对于第二类参数,触发器更新分行的BPTPARM表时,如果分行的参数表存在记录,则更新该记录,如果不存在,则不做任何处理。
修改第一类参数或第二类参数的触发器定义如下:
4、删除第一类参数或第二类参数的触发器定义
触发器ZHDB.DEL_BPTPARM,将删除的参数同步到所有分行(BR1-BRN)的参数表(BRNDB.BPTPARM)及总行参数表的影子表(BRNDB.BPTPARMH)。对于第二类参数,触发器删除分行的BPTPARM表时,如果分行的参数表存在记录,则删除该记录,如果不存在,则不做任何处理。删除第一类参数或第二类参数的触发器定义如下:
分行参数维护模块1032负责维护方式为第二类参数的新增第三类参数的维护。分行不允许维护第一类参数及修改第二类参数,如果分行新增第二类参数,则需要检查参数是否存在于总行参数表的影子表,如果不存在,则不允许新增。如果参数的加载方式是CFDT,则同步更新CFDT中的参数。如果参数的加载方式是内存,则通过日终批量的参数更新作业生效。
分行参数维护模块1302具体用于在分行新增第二类参数时,检查该参数是否存在于总行参数表的影子表中,若否,则不允许新增,若是,则判断该参数的加载方式是否为参数加载到CFDT,则同步更新CFDT中的参数。
分行维护参数的处理流程如下所示:
(1)判断是否为维护第一类参数(新增、修改、删除)或修改第二类参数,若是,则报错,若否,则执行步骤(2);
(2)从内存中读取该参数的访问加载方式和维护方式;
(3)判断是否为新增第二类参数,若是,则执行步骤(5),若否,则执行步骤(4);
(4)检查该参数在影子表中是否存在,若否,则报错,若是,则执行步骤(5);
(5)检查该参数的加载方式是否为加载到CFDT,若否,则执行步骤(6),若是,则执行步骤(7);
(6)维护分行CFDT中的参数;
(7)维护分行数据库中的参数。
本发明实施例中参数使用模块1304通过公共的参数访问程序实现对参数的读取,程序的接口如下表5:
表5
字段英文名 | 字段中文名 | 数据类型 | 说明 |
TYPE | 参数类型 | X(5) | 输入项 |
CODE | 参数代码 | X(40) | 输入项 |
VAL | 参数值 | X(9500) | 输出项 |
则参数访问程序首先访问内存中的参数类型表,获得参数类型的加载方式,然后根据加载方式分别到内存(M类)、CFDT(Y类)及数据库(N类)去获取参数的值。
为了防止CFDT或者CICS内存出现异常的情况,如CF设备不可用,保存内存首地址的TSQ被破坏,本发明在读取缓存中的参数失败时,会继续从数据库中读取。
参数使用模块1304具体用于当联机交易需要访问目标参数时,获取目标参数的参数类型及参数代码,从TSQ中获取内存参数区的首地址,根据目标参数的参数类型从内存参数区中的参数类型表获取所述目标参数的加载方式,根据所述目标参数的加载方式获取目标参数的参数值,返回给联机交易平台。
参数使用模块还用于在从TSQ中获取内存参数区的首地址之前判断用分行代码组装保存内存地址的TSQ名称是否失败,在失败时,从数据库中读取目标参数。
参数使用模块1304进行参数访问程序的处理流程如图6所示:
601、用分行代码组装保存内存地址的TSQ名称;
602、判断是否保存成功,若是,执行步骤603,若否,依次执行步骤611、612;
603、读TSQ获取内存参数区的首地址;
604、根据参数类型读参数类型表,获取参数的加载方式;
605、判断参数的加载方式是加载到内存、加载到CFDT、还是保存到数据库,若是加载到内存,则执行步骤606,若是加载到CFDT,则执行步骤609,若是保存到数据库,则依次执行步骤611、612;
606、从内存中读取参数,执行步骤607;
607、判断从内存中读取参数是否成功,若是,则执行步骤611,若否,则执行步骤612;
608、用分行代码组装CFDT资源名称,执行步骤609;
609、从CFDT中读取参数,执行步骤610;
610、判断从CFDT中读取参数是否成功,若是,则执行步骤612,若否,则执行步骤611;
611、从数据库中读取参数;
612、返回参数值。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种银行参数管理系统,其特征在于,包括:
参数注册模块,用于将参数类型注册到预置的参数类型表中,所述参数类型表中记录每种参数类型信息,所述参数类型信息中包括参数的维护方式及参数的加载方式,所述参数的加载方式包括加载到内存、加载到CFDT、保存在数据库,将预置的访问频繁的参数的加载方式记录为加载到内存或加载到CFDT,将预置的访问较少的参数的加载方式记录为保存在数据库;
参数加载模块,用于在系统启动的时候或者日终批量的时候,根据所述参数类型表中记录的参数的加载方式,将所述参数类型表中的参数进行加载;
参数维护模块,用于总行用户和分行用户分别对总行级的参数及分行级的参数进行维护,并实现参数在内存及CFDT中的更新;
参数使用模块,用于响应联机交易平台的参数访问请求,当联机交易需要访问目标参数时,从所述参数类型表中确定目标参数的加载方式,根据所述目标参数的加载方式获取目标参数的参数值,返回给联机交易平台。
2.根据权利要求1所述的系统,其特征在于;所述参数加载模块包括参数加载内存模块和参数加载CFDT模块;
所述参数加载内存模块用于在在系统启动时通过PLT程序加载参数到内存和日终批量时通过作业加载参数到内存;
所述参数加载CFDT模块用于在系统启动时调起,将参数的加载方式为加载到CFDT的参数加载到CFDT中。
3.根据权利要求2所述的系统,其特征在于,所述参数加载内存模块具体用于在系统启动时,从系统申请内存,将所述申请的内存的地址保存到可供所有联机交易访问的CICS临时存储区TSQ,遍历所述类型参数表,将参数加载方式为参数加载到内存的参数加载到内存中。
4.根据权利要求2所述的系统,其特征在于,所述参数加载内存模块还用于在联机交易中更新了参数,且所述更新的参数的加载方式为参数加载到内存时,在日终批量的时候,通过批量作业分别调用每个CICS实例的参数加载内存的交易进行内存更新。
5.根据权利要求1所述的系统,其特征在于,所述参数的维护方式包括如下三种:
第一类参数:总行维护,分行全部使用;
第二类参数:总行维护,分行部分使用;
第三类参数:分行维护并使用;
所述参数维护模块包括总行参数维护模块和分行参数维护模块;
所述总行参数维护模块用于所述第一类参数及所述第二类参数的维护,并在维护第一类参数后,将该第一类参数同步到分行的参数表,在所述参数类型表中新增第二类参数后,将该第二类参数同步到其在子行的影子表,在所述参数类型表中修改或删除第二类参数后,将该第二类参数同步到其在子行的影子表和分行的参数表;
所述分行参数维护模块用于从总行添加第二类参数到分行,以及第三类参数的维护。
6.根据权利要求5所述的系统,其特征在于,所述总行参数维护模块具体用于通过第一类触发器将新增的第一类参数同步到银行所有分行的参数表及总行参数表的影子表,通过第二类触发器将新增的第二类参数同步到总行参数表的影子表,通过第三类触发器将修改的第一类参数或第二类参数同步到银行的所有分行的参数表,及总行参数表的影子表,通过第四类触发器将删除的第一类参数或第二类参数同步到银行的所有分行的参数表及总行参数表的影子表。
7.根据权利要求5所述的系统,其特征在于,所述分行参数维护模块具体用于在分行新增第二类参数时,检查该参数是否存在于总行参数表的影子表中,若否,则不允许新增,若是,则判断该参数的加载方式是否为参数加载到CFDT,则同步更新CFDT中的参数。
8.根据权利要求1至7中任一所述的系统,其特征在于,所述参数使用模块具体用于当联机交易需要访问目标参数时,获取目标参数的参数类型及参数代码,从TSQ中获取内存参数区的首地址,根据目标参数的参数类型从内存参数区中的参数类型表获取所述目标参数的加载方式,根据所述目标参数的加载方式获取目标参数的参数值,返回给联机交易平台。
9.根据权利要求8所述的系统,其特征在于,所述系统还包括:
所述参数使用模块还用于在从TSQ中获取内存参数区的首地址之前判断用分行代码组装保存内存地址的TSQ名称是否失败,在失败时,从数据库中读取目标参数。
10.根据权利要求1至8中任一所述的系统,其特征在于,所述参数表中保存的参数,是使用一个预设长度的字段保存不同的参数,并为每个参数类型定义一个数据结构。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410659163.0A CN104317660B (zh) | 2014-11-18 | 2014-11-18 | 一种银行参数管理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410659163.0A CN104317660B (zh) | 2014-11-18 | 2014-11-18 | 一种银行参数管理系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104317660A true CN104317660A (zh) | 2015-01-28 |
CN104317660B CN104317660B (zh) | 2017-12-12 |
Family
ID=52372895
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410659163.0A Active CN104317660B (zh) | 2014-11-18 | 2014-11-18 | 一种银行参数管理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104317660B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105303430A (zh) * | 2015-11-10 | 2016-02-03 | 中国建设银行股份有限公司 | 一种交易指标采集方法及装置 |
CN105930178A (zh) * | 2015-11-12 | 2016-09-07 | 中国银联股份有限公司 | 一种可配置的参数动态装载方法及系统 |
CN109102385A (zh) * | 2018-08-06 | 2018-12-28 | 中国建设银行股份有限公司 | 财会业务参数管理方法及系统 |
CN111124718A (zh) * | 2019-12-31 | 2020-05-08 | 中国银行股份有限公司 | 参数数据获取方法、参数数据处理方法、装置和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101216817A (zh) * | 2007-12-29 | 2008-07-09 | 中国建设银行股份有限公司 | 一种异构报表整合及集中管理的装置和系统 |
US20130332415A1 (en) * | 2012-06-07 | 2013-12-12 | Wal-Mart Stores, Inc. | Throttling mechanism |
CN103886445A (zh) * | 2012-12-21 | 2014-06-25 | 中国银联股份有限公司 | 系统参数配置方法、装置和平台 |
CN104077362A (zh) * | 2014-06-09 | 2014-10-01 | 中国建设银行股份有限公司 | 一种联机批量处理数据的系统和方法 |
-
2014
- 2014-11-18 CN CN201410659163.0A patent/CN104317660B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101216817A (zh) * | 2007-12-29 | 2008-07-09 | 中国建设银行股份有限公司 | 一种异构报表整合及集中管理的装置和系统 |
US20130332415A1 (en) * | 2012-06-07 | 2013-12-12 | Wal-Mart Stores, Inc. | Throttling mechanism |
CN103886445A (zh) * | 2012-12-21 | 2014-06-25 | 中国银联股份有限公司 | 系统参数配置方法、装置和平台 |
CN104077362A (zh) * | 2014-06-09 | 2014-10-01 | 中国建设银行股份有限公司 | 一种联机批量处理数据的系统和方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105303430A (zh) * | 2015-11-10 | 2016-02-03 | 中国建设银行股份有限公司 | 一种交易指标采集方法及装置 |
CN105930178A (zh) * | 2015-11-12 | 2016-09-07 | 中国银联股份有限公司 | 一种可配置的参数动态装载方法及系统 |
CN105930178B (zh) * | 2015-11-12 | 2018-12-28 | 中国银联股份有限公司 | 一种可配置的参数动态装载方法及系统 |
CN109102385A (zh) * | 2018-08-06 | 2018-12-28 | 中国建设银行股份有限公司 | 财会业务参数管理方法及系统 |
CN111124718A (zh) * | 2019-12-31 | 2020-05-08 | 中国银行股份有限公司 | 参数数据获取方法、参数数据处理方法、装置和电子设备 |
CN111124718B (zh) * | 2019-12-31 | 2024-04-19 | 中国银行股份有限公司 | 参数数据获取方法、参数数据处理方法、装置和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104317660B (zh) | 2017-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110297689B (zh) | 智能合约执行方法、装置、设备及介质 | |
US7433887B2 (en) | Method and apparatus for metadata driven business logic processing | |
CN110659259B (zh) | 数据库迁移方法、服务器以及计算机存储介质 | |
US20120158795A1 (en) | Entity triggers for materialized view maintenance | |
CN110019251A (zh) | 一种数据处理系统、方法及设备 | |
CN111414391A (zh) | 一种访问多数据源的方法及系统 | |
US10354343B2 (en) | Automated process control hardware engineering using schema-represented requirements | |
US20210075693A1 (en) | Enterprise control plane for data streaming service | |
CN101989294B (zh) | 分布式文件解析方法 | |
CN112182089B (zh) | 基于数据仓库模型的报表生成方法、装置和设备 | |
CN104317660A (zh) | 一种银行参数管理系统 | |
CN114817901A (zh) | 权限管理方法、相关装置和介质 | |
CN110334545A (zh) | 一种基于sql的权限控制方法、装置和电子设备 | |
CN107895044B (zh) | 一种数据库数据处理方法、装置和系统 | |
US20100106749A1 (en) | Reorganizing table-based data objects | |
CN103186384A (zh) | 一种面向业务组件的软件设计分析系统及其使用方法 | |
GB2559999A (en) | Generic customizable navigation workflow and reporting systems for capturing mobile forms data | |
CN116700745A (zh) | 基于容器云平台的应用部署方法、装置、电子设备和介质 | |
CN111143461A (zh) | 映射关系处理系统、方法和电子设备 | |
CN113220368B (zh) | 一种存储客户端资源隔离方法、系统、终端及存储介质 | |
CN114610644A (zh) | 测试数据库的方法及装置 | |
CN113296913A (zh) | 基于单集群的数据处理方法、装置、设备及存储介质 | |
CN106503173A (zh) | Kv数据库访问方法及装置 | |
US8185914B2 (en) | User-configurable variables | |
US20230244542A1 (en) | System and method for automatically identifying application groups in container deployment environments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |