专利名称:插件式联机交易处理系统以及插件式联机交易处理方法
技术领域:
本发明涉及一种对数据进行交互处理的系统以及方法,尤其涉及一种插件式联机交易系统以及插件式联机交易方法。
背景技术:
在金融交易的数据处理、或者电信业务的数据处理中,随着科技的发展,需要对越来越多的各种交易进行处理。例如,金融交易系统中需要对各种类型的交易进行处理,即进行各种各样的数据处理。如果新增、修改、删除一种类型的数据处理,就必须对相关配置进行相应调整。因此,现行的联机交易系统存在以下问题:如果要新增、修改、删除交易(即数据处理)的话,会对联机交易系统产生很大影响,缺乏灵活性,而且不同交易(即数据处理)之间的耦合性较大,开发繁琐。
发明内容
本发明要鉴于上述问题,旨在提供一种能够实现交易处理灵活性和实时性的插件式联机交易处理系统以及联机交易处理方法。具体地,旨在提供一种能够灵活处理各种联机交易,在不停应用的情况下,可以实现联机交易的新增、修改、删除操作,不同交易互不影响,从而实现一个插件式、支持“热插拔”的联机交易处理系统以及联机交易处理方法,而且不同交易所涉及的账务科目可以在数据库表中进行配置、修改,并通过加载到共享内存实时生效,最大程度的实现了交易处理的灵活性和实时性。本发明的插件式联机交易处理系统,其特征在于,具备数据库,用于存储交易配置信息,所述交易配置信息包含交易共用配置信息和个性化配置信息;共享内存,用于被加载所述交易配置信息;交易处理动态库,从所述共享内存读取所述交易配置信息,具备在被调用时实施各自的个性化交易处理的多个动态库;交易处理引擎,用于从外部接收交易,从所述共享内存读取所述交易共用配置信息,动态调用所述交易处理动态库后,将实施过个性化交易处理的交易处理结果输出。优选地,所述每个动态库对应一种交易。优选地,将所述交易配置信息加载到所述共享内存时采用哈希存储算法。在所述数据库更新所述交易配置信息时,刷新所述共享内存。优选地,所述交易处理引擎在始终处于侦听的状态下接收交易。优选地,所述交易引擎在处于侦听的状态下收到请求报文时调用所述交易处理动态库。优选地,所述交易处理引擎在动态调用所述交易处理动态库时根据所述请求报文和从所述共享内存读取的所述交易共用配置信息来调用相应的动态库。优选地,所述交易处理引擎在动态调用所述交易处理动态库时,通过将所述请求报文中的关键域的值和从所述共享内存读取的所述交易共用配置信息中含有的动态库的路径构成动态库的绝对地址来调用相应的动态库。
优选地,所述个性化配置信息和所述交易共用配置信息能够被进行修改、或删除、或增加。优选地,所述动态库能够被进行修改、或删除、或增加。优选地,所述交易共用配置信息包含清算日期、日切标志、密钥、交易超时时间、机构主密钥索引、动态库路径,所述个性化配置信息包含借贷科目、一笔交易借贷的具体科目、接收到一笔交易时需要校验的域、检验标准、返回交易应答时需要产生的域。优选地,所述交易处理引擎擎在动态调用所述交易处理动态库后发送交易应答并且将处理结果记录到所述数据库。本发明的插件式联机交易处理方法,其特征在于,包括下述步骤:在数据库存储包含交易共用配置信息和个性化配置信息的交易配置信息的存储步骤;将所述交易配置信息记载到共享内存的加载步骤;从外部接收交易,根据接收到交易中的报文以及加载到所述共享内存的交易共用配置信息,动态调用实施个性化交易处理的多个动态库中的一个动态库的调用步骤;输出实施过个性化交易处理的结果的输出步骤。优选地,所述每个动态库对应一种交易。优选地,在所述加载步骤中采用哈希存储算法加载所述交易配置信息。优选地,在所述调用步骤中在始终处于侦听的状态下接收交易。优选地,在所述调用步骤中在处于侦听的状态下收到请求报文时进行调用。优选地,在所述调用步骤中通过将所述请求报文中的关键域的值和从所述交易共用配置信息中含有的动态库的路径构成动态库的绝对地址来调用相应的动态库。优选地,所述个性化配置信息和所述交易共用配置信息能够被进行修改、或删除、或增加。优选地,所述动态库能够被进行修改、或删除、或增加。优选地,所述交易共用配置信息包含清算日期、日切标志、密钥、交易超时时间、机构主密钥索引、动态库路径,所述个性化配置信息包含借贷科目、一笔交易借贷的具体科目、接收到一笔交易时需要校验的域、检验标准、返回交易应答时需要产生的域。优选地,在所述输出步骤中,发送交易应答并且将处理结果记录到所述数据库。根据本发明的插件式联机交易处理系统以及插件式联机交易处理方法,通过设置与每种交易对应的动态库,能够灵活处理各种联机交易,在不停应用的情况下,可以实现联机交易的新增、修改、删除操作,不同交易互不影响,能够实现一种“插件式”或说是“热插拔式”的交易处理系统。并且,不同交易所涉及的帐务科目可以在数据库的数据库表中配置、修改并通过Hash算法加载到共享内存而实时生效,由此,能够最大程度地实现交易处理的实时性和灵活性。
图1是表示本发明一实施方式的插件式联机交易系统的构造示意图。图2是表示交易处理引擎300进行的处理的流程图。图3是表示交易处理动态库400进行的处理的流程图。
具体实施方式
下面介绍的是本发明的多个可能实施例中的一些,旨在提供对本发明的基本了解。并不旨在确认本发明的关键或决定性的要素或限定所要保护的范围。为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。图1是表示本发明一实施方式的插件式联机交易系统的构造示意图。如图1所示,本发明一实施方式的插件式联机交易系统主要包括数据100、共享内存200、交易处理引擎300、交易处理动态库400。数据库100用于存储配置信息,这里配置信息包含交易共用配置信息和个性化配置信息。在数据库100中存储的交易配置信息被加载到共享内存200。交易处理动态库300从共享内存200读取交易配置信息,交易处理动态库300具备在被调用时实施各自的个性化交易处理的多个动态库。交易处理引擎400从外部接收交易并从所述共享内存200读取交易共用配置信息,动态调用所述交易处理动态库400后,将实施过个性化交易处理的交易处理结果输出。下面对各组成单元的具体构造以及功能进行说明。在数据库100中配置交易所需要的各种配置信息。这加以配置信息可以分成交易所共用的交易共用配置信息和针对每种交易的个性化配置信息。例如,所述交易共用配置信息可以是清算日期、日切标志、密钥(PIK、MAK)、交易超时时间、机构主密钥索引、动态库路径等。个性化配置信息可以是借贷科目、一笔交易借贷的具体科目、接收到一笔交易时需要校验的域(通过位图定义)、检验标准、返回交易应答时需要产生的域(通过位图定义)
坐寸ο针对每种交易的个性化配置信息通过实现交易属性的可配置化,能够提高交易处理的灵活性,当需要对个别属性做调整或新增相关属性时,只要修改或新增加数据库100的记录即可。具体地,作为一种个性化配置信息例如借贷科目,如果一笔交易由于业务上的需求,需要修改借贷科目,便可以通过修改数据库100中的相应的配置即上述个性化配置信息来实现。然后加载到共享内存200。进一步,例如,由于业务规范的修改,在检验报文的时候某些域不再是必验项,也可以通过修改数据库100中的位图配置,然后加载到共享内存200来实现。另外,除了对个性化配置信息能够进行可配置化的修改之外,交易共用配置信息也可以通过上述方式进行修改,其实现机制一样,只是在实际应用中,交易共用配置信息是比较稳定的,一般不会人为修改,只有可能靠程序自己的更新机制去修改,如清算日期的切换是靠程序自动接收日切通知,然后修改数据库100,加载共享内存200来实现的,不会有人为干预。从数据库100将交易配置信息加载到共享内存200时可以采用哈希存储算法,数据库100有更新时,只要刷新共享内存200,即可以实现同步生效。这里对哈希存储算法作简单介绍。哈希算法也称为Hash算法。Hash算法可以把任意长度的输入变换成固定长度的输出,该输出值称为Hash值。Hash表是利用Hash算法和Hash值进行直接寻址定位的数组结构,可以在0(1)的时间复杂度内访问表内的任意元素,在需要频繁进行检索定位的情况下,利用Hash表能够极大提升检索的性能。在传统的线性表、各类树结构中,每个记录在存储结构中的相对位置是随机的,即使进行了排序,仍然无法从某个记录的关键字中直接判断出该记录在存储结构中的位置。因此,在存储结构中要检索某一记录时,需要对结构中每一项的关键字进行更加迅速有效的定位,而通过Hash函数,记录将被更快地定位。常用的定位方法有直接寻址法、数字分析法、平方取中法、折叠法、随机数法、除留余数法。因此,在本发明中,通过采用Hash算法将交易配置信息加载到共享内存200,能够极大地提高交易处理时查找相关配置的速度,提高整个系统的处理性能。交易处理引擎300始终处于侦听状态,当接收到交易时,进行所有交易都必须的共性操作,然后动态调用个性化的交易处理动态库400。交易处理动态库400具有多个动态
库,如图1中表示了具有第1、2.....η个动态库,每一个动态库对应一种交易,每一个动态
库如同交易处理引擎300的一个插件。当交易处理引擎300动态调用交易处理动态库400时,被调用的动态库完成各自的功能。下面参照图2和图3对交易处理引擎300以及交易处理动态库400的处理流程进行具体说明。图2是表示交易处理引擎300进行的处理的流程图。如图2所示,在步骤SlOl中交易处理引擎300从共享内存200读取交易共用配置信息。在步骤S102对接收到的交易即接收到的数据进行解包。在步骤S103中对数据进行必要的合法性校验。然后,在步骤S104中根据接收到的交易中的关键域的值拼接动态库名然后进行动态调用,具体地,根据报文中几个关键域的值,拼接在一起,形成动态库的名字,然后加上从共享内存200中读取的动态库路径,这样就构成了动态库的绝对地址,根据该绝对地址直接调用对应的动态库。在步骤S105中,组装发送数据包发送交易应答并且将处理结果记录到数据库100中。由于采用了动态调用,动态库不是在交易处理引擎300启动时加载的,而是在处理具体交易时根据报文关键域信息动态拼接动态库名,然后实施调用,因此,不同交易间无耦合,更新交易处理流程不会影响到交易处理引擎及其交易处理流程的正常允许,从而能够实现交易处理的“插件式”、或者说“热插拔式”的操作。图3是表示交易处理动态库400进行的处理的流程图。如图3所示,在步骤S201中,当交易处理动态库400接受交易处理引擎300的调用。在步骤S202中,交易处理动态库400读取共享内存200中该交易的交易配置信息。在步骤S203中,由对应的动态库实施对应于该中交易的个性化处理。在步骤S204中,将个性化处理的结果返回到交易处理引擎300。下面列举一些个性化处理的示例,例如,在交易类型为消费交易时,作为其相应的个性化处理,需要做的是扣减持卡人账户相应的交易金额;在交易类型为预授权交易时,作为其相应的个性化处理需要做的是冻结一定数目的金额;在交易类型为撤销交易时,作为其相应的个性化处理,需要做的是将相应的交易金额增加到持卡人账户中。这里,仅仅列举了常用3种情况的交易类型,实际应用中上还存在其他许多交易类型,并且随着技术的发展,还会有更多新的交易类型,因此,在本发明中并不对交易类型作具体限定。在本发明中,个性化配置信息和交易共用配置信息能够被进行修改、或删除、或增力口,而且,动态库也能够被进行修改、或删除、或增加。当新增一种交易类型时,通过编码、编译,发布与该新增交易类型对应的交易处理动态库,在数据库100中增加对应的配置,然后刷新共享内存200;当修改一种现有交易处理流程时,通过修改代码、编译,发布新的交易处理动态库,覆盖原来的交易处理动态库,如果有必要,可更新数据库100中对应的配置,然后刷新共享内存200 ;当删除一种现有交易处理流程时,只要将对应的动态库删除,并将对应的数据库100中对应配置删除,然后刷新共享内存200即可。例如,在新增一个交易类型的情况下,比如新增一种预授权撤销交易类型(假设本系统中之前无该交易类型)首先需要编写代码,实现该交易需要进行的业务操作(例如撤销冻结金额、记录日志等),然后编译成动态库,接着,在数据库100中配置该交易类型的个性化配置信息,如包括借贷的科目、需要检查的报文及检查标准、返回应答时需要产生的域等信息,然后加载到共享内存200,刷新共享内存200,可完成交易类型的新增。下面对于本发明的插件式联机交易处理方法进行简单介绍。本发明的插件式联机交易处理方法主要具备下述步骤:在数据库100存储包含交易共用配置信息和个性化配置信息的交易配置信息的存储步骤;将交易配置信息记载到共享内存200的加载步骤;从外部接收交易,根据接收到交易中的报文以及加载到共享内存200的交易共用配置信息,动态调用实施个性化交易处理的多个动态库中的一个动态库的调用步骤;输出实施过个性化交易处理的结果的输出步骤。这里,如上所述,每个动态库对应一种交易。在加载步骤中采用哈希存储算法加载交易配置信息,在数据库100更新所述交易配置信息时,刷新共享内存200。在调用步骤中在始终处于侦听的状态下接收交易。在收到请求报文时进行调用动态库。在所述调用步骤中通过将请求报文中的关键域的值和从交易共用配置信息中含有的动态库的路径构成动态库的绝对地址来调用相应的动态库。在所述输出步骤中,发送交易应答并且将处理结果记录到数据库100。基于以上内容,利用本发明的插件式联机交易处理系统以及插件式联机交易处理方法,能够灵活处理各种联机交易,在不停应用的情况下,可以实现联机交易的新增、修改、删除操作,而且,不同交易互不影响,能够实现一种“插件式”或说是“热插拔式”的交易处理系统。不同交易所涉及的帐务科目可以在数据库的数据库表中配置、修改并通过Hash算法加载到共享内存200而实施生效,由此,能够最大程度地实现交易处理的实时性和灵活性。以上例子主要说明了本发明的插件式联机交易处理系统及插件式联机交易处理方法。尽管只对其中一些本发明的实施方式进行了描述,但是本领域普通技术人员应当了解,本发明可以在不偏离其主旨与范围内以许多其他的形式实施。因此,所展示的例子与实施方式被视为示意性的而非限制性的,在不脱离如所附各权利要求所定义的本发明精神及范围的情况下,本发明可能涵盖各种的修改与替换。 在不偏离本发明的精神和范围的情况下还可以构成许多有很大差别的实施例。应当理解,除了如所附的权利要求所限定的,本发明不限于在说明书中所述的具体实施例。
权利要求
1.一种插件式联机交易处理系统,其特征在于,具备 数据库(100),用于存储交易配置信息,所述交易配置信息包含交易共用配置信息和个性化配置信息; 共享内存(200),用于被加载所述交易配置信息; 交易处理动态库(400),从所述共享内存(200)读取所述交易配置信息,具备在被调用时实施各自的个性化交易处理的多个动态库; 交易处理引擎(300),用于从外部接收交易,从所述共享内存(200)读取所述交易共用配置信息,动态调用所述交易处理动态库(400)后,将实施过个性化交易处理的交易处理结果输出。
2.如权利要求2所述的插件式联机交易处理系统,其特征在于, 所述每个动态库对应一种交易。
3.如权利要求2所述的插件式联机交易处理系统,其特征在于, 将所述交易配置信息加载到所述共享内存(200)时采用哈希存储算法,在所述数据库(100)更新所述交易配置信息时,刷新所述共享内存(200)。
4.如权利要求2所述的插件式联机交易处理系统,其特征在于, 所述交易处理引擎(300)在始终处于侦听的状态下接收交易。
5.如权利要求4所述的插件式联机交易处理系统,其特征在于, 所述交易引擎(300)在处于侦听`的状态下收到请求报文时调用所述交易处理动态库(400)。
6.如权利要求5所述的插件式联机交易处理系统,其特征在于, 所述交易处理引擎(300)在动态调用所述交易处理动态库(400)时根据所述请求报文和从所述共享内存(200)读取的所述交易共用配置信息来调用相应的动态库。
7.如权利要求6所述的插件式联机交易处理系统,其特征在于, 所述交易处理引擎(300)在动态调用所述交易处理动态库(400)时,通过将所述请求报文中的关键域的值和从所述共享内存(200)读取的所述交易共用配置信息中含有的动态库的路径构成动态库的绝对地址来调用相应的动态库。
8.如权利要求1 7任意一项所述的插件式联机交易处理系统,其特征在于, 所述个性化配置信息和所述交易共用配置信息能够被进行修改、或删除、或增加。
9.如权利要求1 7任意一项所述的插件式联机交易处理系统,其特征在于, 所述动态库能够被进行修改、或删除、或增加。
10.如权利要求1 7任意一项所述的插件式联机交易处理系统,其特征在于, 所述交易共用配置信息包含清算日期、日切标志、密钥、交易超时时间、机构主密钥索弓1、动态库路径, 所述个性化配置信息包含借贷科目、一笔交易借贷的具体科目、接收到一笔交易时需要校验的域、检验标准、返回交易应答时需要产生的域。
11.如权利要求1 7任意一项所述的插件式联机交易处理系统,其特征在于, 所述交易处理引擎(300)在动态调用所述交易处理动态库(400)后发送交易应答并且将处理结果记录到所述数据库(100)。
12.—种插件式联机交易处理方法,其特征在于,包括下述步骤:在数据库存储包含交易共用配置信息和个性化配置信息的交易配置信息的存储步骤; 将所述交易配置信息加载到共享内存的加载步骤; 从外部接收交易,根据接收到交易中的报文以及被加载到所述共享内存的交易共用配置信息,动态调用实施个性化交易处理的多个动态库中的一个动态库的调用步骤; 输出实施过个性化交易处理的结果的输出步骤。
13.如权利要求12所述的插件式联机交易处理方法,其特征在于, 所述每个动态库对应一种交易。
14.如权利要求13所述的插件式联机交易处理方法,其特征在于, 在所述加载步骤中采用哈希存储算法加载所述交易配置信息。
在所述数据库更新所述交易配置信息时,刷新所述共享内存。
15.如权利要求13所述的插件式联机交易处理方法,其特征在于, 在所述调用步骤中在始终处于侦听的状态下接收交易。
16.如权利要求15所述的插件式联机交易处理方法,其特征在于, 在所述调用步骤中在处于侦听的状态下收到请求报文时进行调用。
17.如权利要求16所述的插件式联机交易处理方法,其特征在于, 在所述调用步骤中通过将所述请求报文中的关键域的值和从所述交易共用配置信息中含有的动态库的路径构成动态库的绝对地址来调用相应的动态库。
18.如权利要求12 17任意一项所述的插件式联机交易处理方法,其特征在于, 所述个性化配置信息和所述交易共用配置信息能够被进行修改、或删除、或增加。
19.如权利要求12 17任意一项所述的插件式联机交易处理方法,其特征在于, 所述动态库能够被进行修改、或删除、或增加。
20.如权利要求12 17任意一项所述的插件式联机交易处理方法,其特征在于, 所述交易共用配置信息包含清算日期、日切标志、密钥、交易超时时间、机构主密钥索弓1、动态库路径, 所述个性化配置信息包含借贷科目、一笔交易借贷的具体科目、接收到一笔交易时需要校验的域、检验标准、返回交易应答时需要产生的域。
21.如权利要求12 17任意一项所述的插件式联机交易处理方法,其特征在于, 在所述输出步骤中,发送交易应答并且将处理结果记录到所述数据库。
全文摘要
本发明涉及插件式联机交易系统以及插件式联机交易方法。该系统,具备数据库(100),用于存储交易配置信息,交易配置信息包含交易共用配置信息和个性化配置信息;共享内存(200),用于被加载交易配置信息;交易处理动态库(400),从共享内存(200)读取交易配置信息,具备在被调用时实施各自的个性化交易处理的多个动态库;交易处理引擎(300),用于从外部接收交易,从共享内存(200)读取交易共用配置信息,动态调用交易处理动态库(400)后,将实施过个性化交易处理的交易处理结果输出。根据本发明能够实现联机交易处理的灵活性和实时性。
文档编号G06Q40/04GK103106218SQ20111036170
公开日2013年5月15日 申请日期2011年11月15日 优先权日2011年11月15日
发明者丰朋, 林芃, 唐旭东 申请人:中国银联股份有限公司