一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

外币头寸控制方法、装置及服务器与流程

2022-04-30 10:15:00 来源:中国专利 TAG:


1.本发明涉及数据处理技术领域,尤其涉及一种外币头寸控制方法、装置及服务器。


背景技术:

2.对于银行而言,外币为一种相对稀缺的资源,目前使用差额资金管理,即外币资金来源和外币资金运用相互制约。
3.由于外币属于稀缺资源,当银行实体的头寸发生透支后,下级行需要以较高的透支利率向上级行缴纳利息,若造成总行层面的透支,则总行需要以较高的代价向同行拆借,因此需要严格控制每个银行实体的头寸金额。传统的外币头寸管理主要为事后监控管理,具体为对吱声的外币清算头寸进行估算,如果对自身头寸估计过于乐观,则会造成外币清算资金头寸不足,形成透支的风险,只能在交易后被动得到资金头寸已经透支的结果,对银行的负债管理极为不利。
4.因此,上述事后监控管理方法需要花费较多的时间,效率和实时性较差,无法满足外币头寸控制的实时性要求。


技术实现要素:

5.本技术提供一种外币头寸控制方法、装置及服务器,以解决现有的基于事后监督管理方法需要花费较多的时间,效率和实时性较差,无法满足外币头寸控制的实时性要求。
6.第一方面,本技术提供一种外币头寸控制方法,所述方法包括:所述方法应用于第一服务器,所述方法包括:
7.根据交易发起端发送的交易请求,确定当前交易的交易码;
8.根据所述交易码确定所述当前交易为需要进行外币头寸控制的交易时,则通过拦截器拦截所述当前交易中执行的sql语句,并解析得到对应的交易信息;所述交易信息包括出账信息和银行信息;所述sql语句用于生成与所述当前交易对应的数据表;
9.从第二服务器获取各级控制单元层级对应的外币头寸信息,根据所述出账信息、所述银行信息以及各级控制单元层级对应的外币头寸信息,确定所述当前交易结束时各级控制单元层级的清算资金信息;
10.根据各级控制单元层级的清算资金信息确定是否继续执行所述当前交易的sql语句,并向所述交易发起端发送交易结果。
11.可选的,所述交易请求包括交易输入报文;所述根据交易发起端发送的交易请求,确定当前交易的交易码,包括:
12.在当前交易执行前,通过预先创建的前切面获取所述交易输入报文;
13.对所述交易输入报文进行解析得到与所述当前交易对应的交易码。
14.可选的,解析得到对应的交易信息,包括:
15.对拦截后的sql语句中的数据表名称进行提取;所述拦截后的sql语句为当拦截器检测到与所述当前交易对应的线程变量中存在拦截标识时进行拦截的;所述拦截标识为确
定当前交易为需要进行外币头寸控制的交易时,向所述线程变量写入的;
16.根据所述数据表名称确定所述sql语句生成的数据表为明细类数据表时,解析所述当前交易中执行的sql语句以得到对应的交易信息。
17.所述方法还包括:
18.从所有交易程序中筛选存在特定注解的交易程序,得到与所述交易程序对应的注解属性;所述存在特定注解的交易程序表示对应的交易为需要进行外币头寸控制的交易;所述交易程序为联机交易程序对交易进行处理时触发的交易程序;
19.获取在所述注解属性中预先设置的预设交易码,并将所述预设交易码存储在预设位置;
20.相应的,根据所述交易码确定所述当前交易为需要进行外币头寸控制的交易,包括:
21.当所述交易码为所述预设交易码之一时,确定所述当前交易为需要进行外币头寸控制的交易。
22.可选的,从第二服务器获取各级控制单元层级对应的外币头寸信息,根据所述出账信息、所述银行信息以及各级控制单元层级对应的外币头寸信息,确定所述当前交易结束时各级控制单元层级的清算资金信息,包括:
23.从所述第二服务器获取清算路径数据和设置的基本控制单元层级,根据所述银行信息、清算路径数据和基本控制单元层级确定需要进行外币头寸控制的各上级控制单元层级,并从所述第二服务器获取本级及各上级控制单元层级对应的外币头寸信息;
24.针对每一控制单元层级,将所述该控制单元层级对应的外币头寸信息与所述出账信息作差,得到当前交易结束时所述控制单元层级对应的清算资金信息。
25.可选的,根据各级控制单元层级的清算资金信息确定是否继续执行所述当前交易的sql语句,包括:
26.根据各级控制单元层级的清算资金信息判断所述当前交易是否满足各级控制单元层级对应的透支条件;
27.当存在不满足所述透支条件的控制单元层级时,通过所述联机交易程序向所述交易发起端发送交易失败信息。
28.可选的,根据各基本控制单元层级的清算资金信息判断所述当前交易是否满足各级控制单元层级对应的透支条件,包括:
29.针对每一控制单元层级,当确定所述控制单元层级对应的清算资金信息为负值时,获取所述控制单元层级对应的透支额度;
30.判断所述清算资金信息的绝对值是否大于所述透支额度;
31.当大于所述透支额度时,确定所述当前交易不满足所述控制单元层级对应的透支条件。
32.第二方面,本发明提供一种外币头寸控制装置,所述装置应用于第一服务器,所述装置包括:
33.获取模块,用于根据交易发起端发送的交易请求,确定当前交易的交易码;
34.解析模块,用于根据所述交易码确定所述当前交易为需要进行外币头寸控制的交易时,则通过拦截器拦截所述当前交易中执行的sql语句,并解析得到对应的交易信息;所
述交易信息包括出账信息和银行信息;所述sql语句用于生成与所述当前交易对应的数据表;
35.确定模块,用于从第二服务器获取各级控制单元层级对应的外币头寸信息,根据所述出账信息、所述银行信息以及各级控制单元层级对应的外币头寸信息,确定所述当前交易结束时各级控制单元层级的清算资金信息;
36.所述确定模块,还用于根据各级控制单元层级的清算资金信息确定是否继续执行所述当前交易的sql语句,并向所述交易发起端发送交易结果。
37.第三方面,本技术提供一种服务器,包括:至少一个处理器和存储器;
38.所述存储器存储计算机执行指令;
39.所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如第一方面任一项所述的方法。
40.第四方面,本技术提供一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现如第一方面任一项所述的方法。
41.本发明提供一种外币头寸控制方法、装置及服务器,所述方法包括:根据交易发起端发送的交易请求,确定当前交易的交易码;根据所述交易码确定所述当前交易为需要进行外币头寸控制的交易时,则通过拦截器拦截所述当前交易中执行的sql语句,并解析得到对应的交易信息;所述sql语句用于生成与所述当前交易对应的数据表;从第二服务器获取各级控制单元层级对应的外币头寸信息,根据所述出账信息、所述银行信息以及各级控制单元层级对应的外币头寸信息,确定所述当前交易结束时各级控制单元层级的清算资金信息;根据各级控制单元层级的清算资金信息确定是否继续执行所述当前交易的sql语句,并向所述交易发起端发送交易结果,所述方法能够在当前交易执行前,根据当前交易的交易信息确定是否满足各级各控制单元层级的要求,从而进行外币头寸资金的实时控制。
附图说明
42.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
43.图1为本发明提供的一种应用场景示意图;
44.图2为本发明提供的一种外币头寸控制方法的流程示意图;
45.图3为本发明提供的一种图2中步骤s203的处理方法流程图;
46.图4为本发明提供的一种图2中步骤s204的处理方法流程图;
47.图5为本发明提供的一种外头寸控制的原理图;
48.图6为本发明提供的一种外币头寸控制装置的结构示意图;
49.图7为本发明提供的一种服务器的硬件结构示意图。
具体实施方式
50.下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实
施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
51.本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
52.图1为本发明提供的一种应用场景示意图,如图1所示,所述方法应用在第一服务器102上,其中,用户通过在交易发起端101中发起交易请求。其中,交易发起端101可以为掌银、网银、atm机、柜台等,用户通过交易发起端101可以发送交易请求。在第一服务器102中设置有联机交易装置和外币头寸控制装置,其中,用户发送的交易请求会被联机交易装置处理,根据交易请求信息通过向数据库发送sql语句,以实现交易信息的明细登记,进而完成交易。但是,为了进行外币头寸控制,可以在外币头寸控制装置中确定当前交易的交易码,当基于交易码确定当前交易为需要进行外币头寸控制的交易时,则从第二服务器103获取外币头寸信息,将拦截到的sql语句进行解析,根据交易信息和外币头寸信息确定是否可以继续执行当前交易,并将判断结果发送给联机交易模块,使得联机交易模块向交易发起端101发送交易结果。
53.在现有技术中,当对外币头寸进行管理时,主要是依靠事后监督的方式,即当在交易执行的过程中不进行干预,当交易完成后得到外币资金头寸已透支的结果,对于银行的资产负债管理极为不利。
54.基于上述问题,我们考虑在对交易执行的过程中,实时进行外币头寸控制管理,即在交易进行的同时,即对该笔交易是否会造成头寸透支做出判断,从而提高银行的资产负债管理效率。为了实现上述实时外币头寸控制管理,通过在联机交易执行交易请求之前,创建一个前切面,获取当前交易的交易码,并基于交易码判断当前交易是否为需要进行外币头寸控制的交易,此外,还通过拦截器将联机交易中发送给数据库的sql语句进行拦截,得到交易信息,基于交易信息判断当前交易是否会导致各上级控制单元层级的透支要求,从而确定是否继续执行当前交易。
55.下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
56.图2为本发明提供的一种外币头寸控制方法的流程示意图,如图2所示,所述方法的执行主体为外币头寸控制装置,该装置设置在第一服务器上,所述方法包括:
57.步骤s201、根据交易发起端发送的交易请求,确定当前交易的交易码。
58.在该步骤中,用户可以通过交易发起端发送交易请求,例如,用户通过掌上银行发起一笔外币转账交易。当发起交易请求后,第一服务器会接收到该请求,第一服务器中的联机交易装置负责对该交易请求进行处理,其中,联机交易装置中存储有联机交易程序。例如,获取交易信息,通过向数据库发送sql语句的方式,实现将交易信息记录到明细表中。
59.在上述过程中,需要判断当前交易是否为需要进行外币头寸控制的交易。具体的,
在当前交易执行前,通过创建的前切面根据交易请求获取当前交易的交易码。
60.可选的,所述交易请求包括交易输入报文;所述根据交易发起端发送的交易请求,确定当前交易的交易码,包括:
61.在当前交易执行前,通过预先创建的前切面获取所述交易输入报文;对所述交易输入报文进行解析得到与所述当前交易对应的交易码。
62.其中,创建前切面是指基于面向切面编程的方式创建一段代码,该段代码可以实现获取当前交易的交易输入报文,并对交易输入报文进行解析,得到交易码。
63.通过前切面的处理方式可以在不修改原来的联机交易程序的前提下,判断当前交易是否为需要进行外币头寸控制的交易。
64.步骤s202、根据所述交易码确定所述当前交易为需要进行外币头寸控制的交易时,则通过拦截器拦截所述当前交易中执行的sql语句,并解析得到对应的交易信息;所述交易信息包括出账信息和银行信息;所述sql语句用于生成与所述当前交易对应的数据表。
65.其中,当对获取的交易码进行判断后,若确定当前交易为需要进行外币头寸控制的交易时,则可以向与当前交易对应的线程变量写入一个拦截标识,以便于拦截器可以将该当前交易执行的sql语句进行拦截。其中,sql语句用于发送给数据库,并生成不同种类的与当前交易对应的数据表。
66.其中,在拦截sql语句后,可以获取sql语句,sql语句中包含当前交易的交易信息。基于交易信息可以判断是否可以继续执行当前交易。
67.具体的,交易信息中包含出账信息和银行信息,其中,出账信息是指出账金额;银行信息是指实际交易行信息和开户行信息。
68.步骤s203、从第二服务器获取各级控制单元层级对应的外币头寸信息,根据所述出账信息、所述银行信息以及各级控制单元层级对应的外币头寸信息,确定所述当前交易结束时各级控制单元层级的清算资金信息。
69.同时,为了判断当前交易是否可以继续执行,需要获取其他基础数据。具体的,可以从第二服务器中获取各级控制单元层级对应的外币头寸信息,其中,各级控制单元层级是指,本级以及与银行信息对应的银行的各上级银行;外币头寸信息是指外币头寸余额,即某一银行可使用的外币头寸余额。例如,对于外币美元,对于每一银行均存在该外币对应的外币头寸信息,即可使用的余额。由于发生交易的时刻,实际交易行和开户行的资金均会发生变动(虽然后续会在实际交易行和开户行进行资金清算),因此需要确定实际交易行和开户行以及各自的上级控制单元层级的清算资金信息。
70.在获取上述基础数据后,可以根据出账信息、银行信息以及所述银行信息对应的各级控制单元层级对应的外币头寸信息,确定所述当前交易结束时各级控制单元层级的清算资金信息。即需要计算交易结束时与银行信息对应的网点或支行的清算资金信息是否满足透支需求,还需要计算交易结束时对该网点或支行进行管控的各级控制单元层级(如支行、市分行、省分行等)的清算资金是否满足透支需求。其中,各上级控制单元层级可以根据需求进行设置。
71.例如,当实际交易行或开户行为d网点时,若需要进行外币头寸控制的层级为市分行和省分行时,则根据d网点的银行信息确定实际的市分行为a市分行、省分行为b省分行,则分别计算当前交易结束时d网点、a市分行和b省分行分别对应的清算资金信息。
72.步骤s204、根据各级控制单元层级的清算资金信息确定是否继续执行所述当前交易,并向所述交易发起端发送交易结果。
73.最后,基于各级控制单元层级的清算资金信息分别判断是否可以继续执行当前交易。例如,各级控制单元层级的清算资金信息是否满足透支条件。当确定可以继续执行当前交易时,则将拦截的sql语句继续发送到数据库,以完成当前交易的执行过程。当确定不可以继续执行当前交易时,则向联机交易程序发送交易出错的信息,以使联机交易程序停止执行当前交易,并向交易发起端发送交易失败的结果。
74.在本实施例中,根据交易发起端发送的交易请求,确定当前交易的交易码;根据所述交易码确定所述当前交易为需要进行外币头寸控制的交易时,则通过拦截器拦截所述当前交易中执行的sql语句,并解析得到对应的交易信息;所述交易信息包括出账信息和银行信息;所述sql语句用于生成与所述当前交易对应的数据表;从第二服务器获取各级控制单元层级对应的外币头寸信息,根据所述出账信息、所述银行信息以及各级控制单元层级对应的外币头寸信息,确定所述当前交易结束时各级控制单元层级的清算资金信息;根据各级控制单元层级的清算资金信息确定是否继续执行所述当前交易的sql语句,并向所述交易发起端发送交易结果,能够实现实时对外币头寸的交易进行控制,此外,该方法还可以避免外币头寸透支超出预期的问题发生。
75.下面对上述各个过程中获取交易信息、根据交易码确定交易是否为需要进行外币头寸控制的交易的过程进行详细说明。
76.可选的,解析得到对应的交易信息,包括:
77.对拦截后的sql语句中的数据表名称进行提取;所述拦截后的sql语句为当拦截器检测到与所述当前交易对应的线程变量中存在拦截标识时进行拦截的;所述拦截标识为确定当前交易为需要进行外币头寸控制的交易时,向所述线程变量写入的;根据所述数据表名称确定所述sql语句生成的数据表为明细类数据表时,解析所述当前交易中执行的sql语句以得到对应的交易信息。
78.其中,在将sql语句写入数据库时需要经过中间层mybatis拦截器,通过mybatis的interceptor接口实现自定义mybatis拦截器。因此,通过mybatis拦截器可以拦截sql语句,具体的,当检测到线程变量中存在拦截标识时,则表示需要拦截该sql语句。其中,在前切面处理过程中确定获取的交易码为预设交易码(预设交易码对应需要进行外币头寸控制的交易)时,触发向线程变量写入拦截标识的操作。其中,线程变量对应一次交易,每次处理交易的过程都是采用一个线程实现的,通过在内存中开辟一段内存区,以存储执行该交易所需的数据。
79.其中,在将sql语句拦截下后,可以获取该sql语句对应的数据表名称,具体的,可以通过对sql语句的解析来得到数据表名称。
80.在得到数据表名称后,判断该数据表是否为明细类数据表,例如,当数据表名称符合银行对明细类数据表的命名规范时,则确定该数据表为明细类数据表。在确定该sql语句中数据表为明细类数据表时,则可以继续提取sql语句中的交易信息。其中,交易信息包括出账信息和银行信息,其中,出账信息是指转出金额;银行信息是指实际交易行信息和开户行信息。通过获取上述信息可以便于对该笔交易进行头寸控制的计算。
81.上述通过拦截标识拦截sql语句的方式,能够精准对sql语句进行拦截,准确获取
交易信息。
82.可选的,所述方法还包括:
83.从所有交易程序中筛选存在特定注解的交易程序,得到与所述交易程序对应的注解属性;所述存在特定注解的交易程序表示对应的交易为需要进行外币头寸控制的交易;所述交易程序为联机交易程序对交易进行处理时触发的交易程序;
84.获取在所述注解属性中预先设置的预设交易码,并将所述预设交易码存储在预设位置;
85.相应的,根据所述交易码确定所述当前交易为需要进行外币头寸控制的交易,包括:
86.当所述交易码为所述预设交易码之一时,确定所述当前交易为需要进行外币头寸控制的交易。
87.在上述实施例的基础上,对确定预设交易码的方式进行说明。其中,当第一服务器中的外币头寸控制装置中的程序启动时,从预先编写的所有交易程序中筛选存在特定注解的交易程序,例如,当检测到某一交易程序存在预设标志时,则表示该交易程序为存在特定注解的交易程序。其中,在特定注解中设置有注解属性。其中,特定注解的最初是由开发人员在开发该交易程序时确定该交易程序为需要进行外币头寸控制的交易时添加的。其中,在注解属性中设置有交易码,通过获取注解属性中的交易码,并将其确定为预设交易码,并以hashset的形式存储在预设位置。其中,此处的所有交易程序为根据银行实际交易业务编写的对应程序,联机交易程序在执行交易时,需要触发对应的交易程序,以完成交易。
88.上述通过注解解析的方式确定预设交易码的过程具有简单方便的优点,对于整个业务而言,开发各个交易程序是必不可少的步骤,通过同时添加注解的方式可以实现确定预设交易码,无需用户再手动记录各个交易的交易码并写入内存。
89.相应的,当在获取当前交易对应的交易码后,将获取的交易码与预设交易码一一比对,判断获取的交易码是否为预设交易码之一,当该交易码为预设交易码之一时,则确定当前交易为需要进行外币头寸控制的交易。
90.下面对计算清算资金信息以及基于清算资金信息确定是否执行当前交易的过程进行详细说明。
91.图3为本发明提供的一种图2中步骤s203的处理方法流程图。
92.可选的,从第二服务器获取各级控制单元层级对应的外币头寸信息,根据所述出账信息、所述银行信息以及各级控制单元层级对应的外币头寸信息,确定所述当前交易结束时各级控制单元层级的清算资金信息,包括:
93.步骤s301、从所述第二服务器获取清算路径数据和设置的基本控制单元层级,根据所述银行信息、清算路径数据和基本控制单元层级确定需要进行外币头寸控制的各上级控制单元层级,并从所述第二服务器获取本级及各上级控制单元层级对应的外币头寸信息;
94.步骤s302、针对每一控制单元层级,将所述该控制单元层级对应的外币头寸信息与所述出账信息作差,得到当前交易结束时所述控制单元层级对应的清算资金信息。
95.其中,在进行外币头寸计算时,还需要获取基础数据,例如清算路径数据和设置的基本控制单元层级。具体的,可以在第一服务器中的外币头寸控制装置中的程序启动时,从
第二服务器来获取。第二服务器可以为数据库服务器或文件服务器,此外,还可以为分布式配置中心等。其中,清算路径数据用于存储具体的各个银行对应的上下级清算行,清算路径数据以双向链表进行组织,能够实现基于任一银行确定关联的上下级清算行。其中,设置的基本控制单元层级为用户根据需求设置的控制单元层级,例如可以为省分行、市分行、支行、网点等。
96.在获取清算路径数据和设置的基本控制单元层级后,可以根据银行信息和清算路径数据得到与银行对应的各上级控制单元层级,并根据设置的控制单元层级从确定的与银行对应的各上级控制单元层级中筛选出需要进行外币头寸控制的各上级控制单元层级。并从第二服务器中获取需要进行外币头寸控制的本级以及各上级控制单元层级对应的外币头寸信息,也就是外币余额。
97.在确定本级及上级控制单元层级对应的外币头寸信息后,针对每级控制单元层级,将外币头寸信息与出账信息作差,得到该控制单元层级对应的清算资金信息。例如,交易银行为d网点时,该网点对应的外币头寸信息为300美元,若出账金额为100美元,则计算300美元与100美元之差,得到该网点对应的清算资金信息为200美元;对于a市分行和b省分行计算方式相同。
98.通过从第二服务器获取基础数据信息,可以准确及快速的确定进行头寸控制的各上级控制单元层级以及对应的外币头寸信息,为确定各控制单元层级的清算资金信息提供了基础。
99.图4为本发明提供的一种图2中步骤s204的处理方法流程图。
100.可选的,根据各级控制单元层级的清算资金信息确定是否继续执行所述当前交易的sql语句,包括:
101.步骤s401、根据各级控制单元层级的清算资金信息判断所述当前交易是否满足各级控制单元层级对应的透支条件。
102.其中,在确定是否继续执行当前交易时,还可以根据各级控制单元层级的清算资金信息来判断,即根据清算资金信息判断当前交易是否满足各级控制单元层级对应的透支条件,因此,需要获取每一控制单元层级对应的透支条件。
103.可选的,根据各基本控制单元层级的清算资金信息判断所述当前交易是否满足各级控制单元层级对应的透支条件,包括:
104.针对每一控制单元层级,当确定所述控制单元层级对应的清算资金信息为负值时,获取所述控制单元层级对应的透支额度;判断所述清算资金信息的绝对值是否大于所述透支额度;当大于所述透支额度时,确定所述当前交易不满足所述控制单元层级对应的透支条件。
105.其中,确定是否满足每一控制单元层级对应的透支条件可以通过设置的透支额度来实现。具体的,每一控制单元层级对应一个透支额度,针对每一控制单元层级,判断清算资金信息是否为负值,若为负值时表示已经透支,需要继续判断清算资金信息是否超出透支额度。具体的,可以将透支额度设置为一个正值,获取清算资金信息的绝对值,当绝对值大于透支额度时表示超出该控制单元层级对应的透支额度,即当前交易不满足控制单元层级对应的透支条件。例如,当确定的某一控制单元层级对应的清算资金信息为-300时,若该控制单元层级对应的透支额度为200,则表示当前交易不满足该控制单元层级对应的透支
条件。相反的,当清算资金信息的绝对值小于等于透支额度时,表示当前交易满足该控制单元层级对应的透支额度。
106.上述通过获取每一控制单元层级的透支额度能够简单快速的判断清算资金信息是否满足各级控制单元层级对应的透支条件。
107.步骤s402、当存在不满足所述透支条件的控制单元层级时,通过所述联机交易程序向所述交易发起端发送交易失败信息。
108.最后,针对当前交易,当确定存在不满足透支条件的控制单元层级时,则表示当前交易不可以被执行,则向联机交易程序发送交易存在异常的信息,联机交易程序在接收到该信息时,则会停止执行该交易,同时第一服务器还会向交易发起端发送交易失败的信息。
109.相反的,针对当前交易,当确定不存在不满足透支条件的控制单元层级时,则表示当前交易可以被执行,则将拦截的sql语句释放,联机交易程序继续执行当前交易的sql语句及其他业务逻辑,并在当前交易执行完毕时,向交易发起端发送交易成功的信息,同时还可以发送交易明细信息。
110.图5为本发明提供的一种外头寸控制的原理图,图中的数字表示步骤的执行顺序。如图5所示,当启动外币头寸控制程序时,需要先对特定注解进行解析得到预设交易码,同时还要从第二服务器加载基础数据,并将基础数据和预设交易码存放到内存中,当交易发起端发起交易时,联机交易程序会先接收交易输入报文,在对交易输入报文处理之前,本技术的方法通过前切面处理的方式获取交易输入报文中的交易码,并与内存中的预设交易码进行比较,当属于预设交易码时,则向该交易对应的线程变量写入拦截标识,在sql语句的执行过程中会通过拦截器,拦截器在检测到线程变量存在拦截标识时,会将sql语句拦截并解析,获取当前交易的交易信息,并基于内存中存储的基础数据进行外币头寸计算与控制,从而对联机交易的执行进行干预,并将最终的交易执行结果发送给交易发起端。上述过程通过创建前切面和sql语句拦截的方式实现在交易执行的过程中实时计算当前交易是否满足透支条件,并根据判断结果确定是否继续执行该交易,能够预防外币头寸透支超出预期的问题。
111.图6为本发明提供的一种外币头寸控制装置的结构示意图。如图6所示,本实施例的外币头寸控制装置60应用于第一服务器,该装置可以包括:
112.获取模块601,用于根据交易发起端发送的交易请求,确定当前交易的交易码;
113.解析模块602,用于根据所述交易码确定所述当前交易为需要进行外币头寸控制的交易时,则通过拦截器拦截所述当前交易中执行的sql语句,并解析得到对应的交易信息;所述交易信息包括出账信息和银行信息;所述sql语句用于生成与所述当前交易对应的数据表;
114.确定模块603,用于从第二服务器获取各级控制单元层级对应的外币头寸信息,根据所述出账信息、所述银行信息以及各级控制单元层级对应的外币头寸信息,确定所述当前交易结束时各级控制单元层级的清算资金信息;
115.所述确定模块604,还用于根据各级控制单元层级的清算资金信息确定是否继续执行所述当前交易的sql语句,并向所述交易发起端发送交易结果。
116.可选的,所述交易请求包括交易输入报文;所述获取模块601在根据交易发起端发送的交易请求,确定当前交易的交易码时,具体用于:
117.在当前交易执行前,通过预先创建的前切面获取所述交易输入报文;
118.对所述交易输入报文进行解析得到与所述当前交易对应的交易码。
119.可选的,解析模块602在解析得到对应的交易信息时,具体用于:
120.对拦截后的sql语句中的数据表名称进行提取;所述拦截后的sql语句为当拦截器检测到与所述当前交易对应的线程变量中存在拦截标识时进行拦截的;所述拦截标识为确定当前交易为需要进行外币头寸控制的交易时,向所述线程变量写入的;
121.根据所述数据表名称确定所述sql语句生成的数据表为明细类数据表时,解析所述当前交易中执行的sql语句以得到对应的交易信息。
122.可选的,所述装置还包括注解解析模块,具体用于:
123.从所有交易程序中筛选存在特定注解的交易程序,得到与所述交易程序对应的注解属性;所述存在特定注解的交易程序表示对应的交易为需要进行外币头寸控制的交易;所述交易程序为联机交易程序对交易进行处理时触发的交易程序;
124.获取在所述注解属性中预先设置的预设交易码,并将所述预设交易码存储在预设位置;
125.相应的,解析模块602在根据所述交易码确定所述当前交易为需要进行外币头寸控制的交易时,具体用于:
126.当所述交易码为所述预设交易码之一时,确定所述当前交易为需要进行外币头寸控制的交易。
127.可选的,确定模块603从第二服务器获取各级控制单元层级对应的外币头寸信息,根据所述出账信息、所述银行信息以及各级控制单元层级对应的外币头寸信息,确定所述当前交易结束时各级控制单元层级的清算资金信息时,具体用于:
128.从所述第二服务器获取清算路径数据和设置的基本控制单元层级,根据所述银行信息、清算路径数据和基本控制单元层级确定需要进行外币头寸控制的各上级控制单元层级,并从所述第二服务器获取本级及各上级控制单元层级对应的外币头寸信息;
129.针对每一控制单元层级,将所述该控制单元层级对应的外币头寸信息与所述出账信息作差,得到当前交易结束时所述控制单元层级对应的清算资金信息。
130.可选的,确定模块603在根据各级控制单元层级的清算资金信息确定是否继续执行所述当前交易的sql语句时,具体用于:
131.根据各级控制单元层级的清算资金信息判断所述当前交易是否满足各级控制单元层级对应的透支条件;
132.当存在不满足所述透支条件的控制单元层级时,向联机交易程序发送停止执行所述当前交易的信息,并通过联机交易程序向所述交易发起端发送交易失败信息。
133.可选的,确定模块603在根据各基本控制单元层级的清算资金信息判断所述当前交易是否满足各级控制单元层级对应的透支条件时,具体用于:
134.针对每一控制单元层级,当确定所述控制单元层级对应的清算资金信息为负值时,获取所述控制单元层级对应的透支额度;
135.判断所述清算资金信息的绝对值是否大于所述透支额度;
136.当大于所述透支额度时,确定所述当前交易不满足所述控制单元层级对应的透支条件。
137.本发明提供的外币头寸控制装置,可以实现上述如图2至图5所示的实施例的外币头寸控制方法,其实现原理和技术效果类似,此处不再赘述。
138.图7为本发明提供的一种服务器的硬件结构示意图。如图7所示,本实施例提供的服务器70包括:至少一个处理器701和存储器702。其中,处理器701、存储器702通过总线703连接。
139.在具体实现过程中,至少一个处理器701执行所述存储器702存储的计算机执行指令,使得至少一个处理器701执行上述方法实施例中的外币头寸控制方法。
140.处理器701的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
141.在上述的图7所示的实施例中,应理解,处理器可以是中央处理单元(英文:central processing unit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
142.存储器可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器。
143.总线可以是工业标准体系结构(industry standard architecture,isa)总线、外部设备互连(peripheral component,pci)总线或扩展工业标准体系结构(extended industry standard architecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本技术附图中的总线并不限定仅有一根总线或一种类型的总线。
144.本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现上述方法实施例的外币头寸控制方法。
145.上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
146.一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(application specific integrated circuits,简称:asic)中。当然,处理器和可读存储介质也可以作为分立组件存在于设备中。
147.本技术一个实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如本技术图2至图5所对应的实施例中任意实施例提供的外币头寸控制方法。
148.本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程
序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
149.最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献