联机交易方法、装置、程序产品、可读介质和电子设备与流程

文档序号:29039274发布日期:2022-02-25 20:08阅读:63来源:国知局
联机交易方法、装置、程序产品、可读介质和电子设备与流程

1.本技术涉及数据处理技术领域,尤其涉及一种联机交易方法、装置、程序产品、可读介质和电子设备。


背景技术:

2.分布式银行系统分为多个层级,例如,如图1所示,分布式银行系统1000可以包括用户层100、整合层200和微服务层300。其中,用户层100包括网上银行、手机银行、电话银行等客户端;微服务层300包括用于执行各种业务(如转账交易)的服务组件,分布式银行系统1000中,各服务组件之间是数据隔离的,无法互相访问,需要通过整合层 200进行数据传输,例如,一服务组件将执行业务所得的业务数据存储于整合层200的数据库中,其他服务组件通过访问整合层200的数据库获取该业务数据。
3.上述在存储业务数据和调用业务数据的过程中,整合层200需要访问数据库,访问数据库中需要进行数据库操作,该数据库操作包括接收查询、插入、更新等请求,调用新增、更新等内部的执行指令,以及接收参数查询请求等;该数据库操作非常耗时。其中,需要在整合层200进行数据库操作的交易属于非穿透交易。
4.例如,许多联机交易需要多个服务组件协作,即多个服务组件执行对应的业务共同完成一个联机交易,而各服务组件需要基于其他服务组件的业务数据完成自身的业务,因此需要各服务组件将对应的业务数据存储于整合层200的数据库,以便于其他服务组件从数据库获取所需的业务数据,即各服务组件之间的业务数据共享,以保证各服务组件的业务数据的一致性。如此,在分布式银行系统1000,整合层200通常将联机交易均设置为非穿透交易,使得联机交易的执行需要在整合层200进行数据库操作。
5.因为数据库操作非常耗时,因此,需要针对联机交易中数据库操作耗时的问题,进行联机交易优化。


技术实现要素:

6.本技术的一些实施例提供了一种联机交易方法、程序产品、可读介质和电子设备,以下从多个方面介绍本技术,以下多个方面的实施方式和有益效果可互相参考。
7.第一方面,本技术的实施方式提供了一种联机交易方法、程序产品、可读介质和电子设备,该联机交易方法应用于分布式交易系统,该分布式交易系统包括用户层、整合层和微服务层;并且该联机交易方法包括:整合层从用户层的客户端获取第一交易请求;整合层在确定第一交易请求所请求的交易为第一类交易(即穿透交易)的情况下,向微服务层发送执行第一交易请求所请求的交易的指令,其中,第一类交易包括与第一交易请求相关的账户处于同一归属地的联机正交易;微服务层的服务组件执行指令以完成第一交易请求所请求的交易。整合层先确定第一交易请求所请求的交易无需访问数据库,再将执行该交易的指令发送于微服务层,避免整合层将需要无需访问数据库的交易进行访问数据库操作,造成交易耗时的问题。
8.通过减少联机正交易过程中发生的数据库操作,降低联机交易的平均耗时,从而提高分布式银行系统的交易速度。
9.在上述第一方面的一种实现中,上述方法还包括:整合层从客户端获取第二交易请求,其中第二交易请求所请求的交易为第一交易请求所请求的联机正交易的联机冲正交易;整合层响应于第二交易请求,从交易进程管理中搜索联机正交易的交易记录(即访问服务组件的记录),并根据搜索到的交易记录确定联机正交易对应的微服务层的服务组件,其中交易进程管理中包括至少一个第一类型交易的交易记录和至少一个第二类型交易的交易记录,其中,第二类交易(即非穿透交易)的完成需要访问数据库;整合层向确认的服务组件目标地址转发联机冲正交易请求;服务组件执行第二交易请求所请求的联机冲正交易。通过在交易进程管理中获取联机正交易对应的服务组件目标地址,使得无需访问数据库的联机正交易对应的联机冲正交易也无需访问数据库。
10.在上述第一方面的一种实现中,上述方法还包括:整合层在确定第一交易请求所请求的交易为第一类交易的情况下,生成第一交易请求所请求的联机正交易的第一类型标识,其中第一类型标识用于标识联机正交易的交易类型为第一类交易。
11.在上述第一方面的一种实现中,上述整合层响应于第二交易请求,从交易进程管理中搜索联机正交易的交易记录,包括:整合层在获取到联机冲正交易对应的联机正交易的第一类型标识的情况下,从交易进程管理中的至少一个第一类型交易的交易记录中搜索联机正交易的交易记录。
12.在上述第一方面的一种实现中,上述第二类交易包括第一交易请求的相关账户处于不同归属地的联机正交易。
13.在上述第一方面的一种实现中,整合层在确定第一交易请求所请求的交易为第一类交易的情况下,确定微服务层(即微服务层中的服务组件)是否存在第一类交易的已完成记录,并在不存在第一类交易的已完成记录的情况下执行第一交易请求所请求的交易。
14.在上述第一方面的一种实现中,整合层在确定微服务层存在第一类交易的已完成记录的情况下,从微服务层获取已完成记录,并将已完成记录返回至客户端。
15.在上述第一方面的一种实现中,服务组件在执行第一交易请求失败的情况下,服务组件向整合层发送包含交易失败信息的补计流水请求,整合层响应于补记流水请求,访问整合层的数据库以补记流水,并向不同于服务组件新服务组件发送执行子交易的指令,其中,子交易用于新服务组件基于交易失败信息,以继续执行第一交易请求;新服务组件响应于执行子交易的指令,执行子交易,并得到子交易的交易结果;新服务组件将子交易的交易结果返回至整合层;整合层将交易失败信息和子交易的交易结果发送于发起第一交易请求的客户端。
16.第二方面,本技术的实施方式提供了一种分布式交易装置,应用于分布式交易系统,分布式交易系统包括用户层、整合层和微服务层;并且该装置包括:获取模块、确定模块和执行模块;获取模块用于整合层从用户层的客户端获取第一交易请求;确定模块用于整合层在确定第一交易请求所请求的交易为第一类交易的情况下,向微服务层发送执行第一交易请求所请求的交易的指令,其中,第一类交易包括与第一交易请求相关的账户处于同一归属地的联机正交易;执行模块用于微服务层的服务组件执行指令以完成第一交易请求所请求的交易。
17.第三方面,本技术的实施方式提供了一种计算机程序产品,该计算机程序产品包括指令,指令用于实现上述联机交易方法。
18.第四方面,本技术的实施方式提供了一种可读介质,该可读介质上存储有指令,指令在电子设备上执行时使电子设备执行如上所述的联机交易方法。
19.第五方面,本技术的实施方式提供了一种电子设备,该电子设备包括:存储器,用于存储由电子设备的一个或多个处理器执行的指令,以及处理器,是电子设备的处理器之一,用于执行如上所述的联机交易方法。
附图说明
20.图1为根据本技术一些实施例的一种联机交易方法的应用场景图;
21.图2a为根据本技术一些实施例的一种联机正交易方法的流程图;
22.图2b为根据本技术一些实施例的另一种联机正交易方法的流程图;
23.图3为根据本技术一些实施例的一种联机冲正交易方法的流程图;
24.图4为根据本技术一些实施例的一种联机正交易中整合层200和转账业务310中数据一致性的处理方法的流程图;
25.图5为根据本技术一些实施例的一种联机正交易装置示意图;
26.图6为根据本技术一些实施例的一种电子设备的框图。
具体实施方式
27.本技术的说明性实施例包括但不限于一种联机交易方法、程序产品、可读介质和电子设备。本技术技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定
28.为了更好地理解本方案的内容,下面对相关名词做出解释。
29.联机交易:系统对外直接提供的交易,该类交易具有事务性——可回滚;实时性——交易有生命周期,并有超时机制等,例如,取款过程为联机交易。联机交易包括联机正交易和联机冲正交易等。
30.批量交易:交易相关的参数、系统状态已经锁定,系统需要进行的是某一类操作,该类操作使用相同的规则处理大量数据,有固定的步骤、各服务组件不需要基于其他服务组件的业务数据来完成自身的业务,所以无需整合层进行数据库操作。如对账交易。
31.正交易:正交易表示一种正向的交易逻辑,是为了达到某种业务效果而开发的一类交易。例如,转账交易为正交易。
32.冲正交易:冲正交易是一类和正交易有着逆向逻辑的交易,为了除去正交易的所做的业务效果而开发的一种逆向的交易逻辑。例如,转账交易失败,但是转账方已经扣款,则需进行该转账交易的冲正交易,以除去转账方扣款的业务效果。
33.外部冲正交易:一种由调用方(如用户层)从外部发起的冲正交易。
34.非穿透交易:需要经过整合层存储交易信息(如交易号、业务数据)。例如整合层接收用户层的交易请求后,存储该交易的识别信息,如交易号等,再向微服务层中各服务组件发起业务请求访问;各服务组件将执行业务得到的业务数据发送于整合层;整合层通过数据库操作来存储业务数据和调用存储的业务数据。其中数据库操作包括如上所述的:接收
查询、插入、更新等请求,调用新增、更新等内部的执行指令,以及接收参数查询请求等。
35.穿透交易:不经过整合层中的数据库操作存储交易信息,而直接向微服务层中服务组件发起业务请求访问,即服务组件单独完成的交易。其中服务组件执行业务所得的业务数据无需发送于微服务层,以保证各服务组件之间业务数据的一致性,即穿透交易无需数据库操作。例如,上述批量交易均属于穿透交易。联机交易包括穿透交易和非穿透交易。其中联机交易所涉及的账户属于同一归属地时,因为一个服务组件可单独完成该联机交易的业务,所以无需为了其他服务组件能够获取该业务数据而在整合层进行数据库操作以存储该服务组件的业务数据。
36.事中一致性:在分布式环境中,事中一致性是指数据在多个副本之间能够保持一致性。当一个系统在数据一致的状态下执行更新操作后,应该保证系统的数据仍然处于一致的状态。在分布式系统中,如果能够在一个数据项的更新操作执行成功后,所有的服务组件都可以读取到其最新的值,那么这样的系统就被认为具有强一致性。
37.如微服务层300中服务组件a执行完一个交易后得到业务数据a发送于整合层200,其他服务组件均可以访问整合层的数据库获取该业务数据a。如此银行分布式系统1000具有事中一致性。
38.最终一致性:最终一致性强调系统中所有的数据副本,在经过一段时间的同步之后,最终能够达到一致的状态。这是相对于实时强一致性而产生的概念。
39.如前所述,现有技术中,联机交易中整合层200将所有交易都设置为非穿透交易,从而整合层200在执行每一笔联机交易过程中,都需要进行数据库操作,耗时较长,影响分布式银行系统1000处理联机交易的效率。有鉴于此,本技术提供一种联机交易方法,考虑到相关账户属于同一归属地的联机正交易仅需要一个服务组件就可以完成该交易,也就无需将执行该服务组件得到的业务数据上传至整合层200,以与其它服务组件共享该业务数据,故在本技术的联机交易方法中,整合层200在接收到联机交易请求时,判断接收到的联机正交易所涉及的账户是否属于同一归属地,并将属于同一归属地的联机正交易设置为无需访问数据库的穿透交易,如此,避免了在处理该类交易过程中,整合层200进行数据库操作,进而提高了联机交易的效率。
40.示例性的,上述联机交易为同属m省银行的账户a和账户b之间的转账,仅需要m 省银行的服务组件完成该转账交易,m省银行的服务组件无需与其它省银行的服务组件进行业务协作。
41.下面结合附图详细介绍本技术的技术方案。
42.图1为根据本技术一些实施例的一种联机交易方法的应用场景图。如图1所示,在分布式银行系统1000中,用户层100包括客户端a110、客户端b120和客户端c130,在一些实施例中,用户层100可以是网上银行、手机银行、电话银行等客户端。整合层200包括呼叫中心210、数据库220和交易进程管理230。微服务层300包括转账业务310、贷款业务320和投资业务330等服务组件。其中交易进程管理230中包含所有交易中整合层200 访问各服务组件的记录。如图1所示,用户层100向整合层200发起交易,整合层200通过呼叫中心210与微服务层300内的各服务组件之间建立访问。
43.如上所述,在整合层200将用户层发起的交易作为非穿透交易,也即是该交易的业务数据存储于数据库220的情况下,整合层200需要进行数据库操作。例如,在一些实施例
中,若将该交易的业务数据存储于数据库220的流水表中,则上述数据库操作包括接入流水表、内呼流水表、接入参数库表等相关的数据库操作。该接入参数库表的数据库操作包括接收参数查询请求,以获取交易相关参数,如该交易相关参数为日期,整合层200将该日期与业务数据相关联后存储于流水表中,并基于用户层100和各服务组件的请求,将日期与业务数据相关联后的数据发送于用户层100和各服务组件,使得用户层100和各服务组件能够获取业务数据完成的时间。上述数据库操作占据了该联机交易在整合层200中耗时的极大比重。
44.具体的,在一些实施例中,上述联机交晚在整合层200耗时t
整合
的计算公式如下:
45.t
整合
=t
内呼
*n+t
接入
+a
ꢀꢀꢀ
(1)
46.其中,t
内呼
为访问一次服务组件所做内呼流水表的新增、更新等数据库操作的耗时,其中,多个服务组价执行的交易(即业务)组成一个联机交易,共同完成一项完整业务; t
接入
为接入流水表的查询、插入、更新等数据库操作的耗时,n为访问服务组件的数量,a为参数库表的查询等数据库操作的耗时。
47.结合上述公式(1)可知,该联机交易在总耗时t

的可以通过如下公式(2)得到:
[0048][0049]
其中,t
微服务
为微服务层300的耗时,n为访问服务组件的数量。
[0050]
上述一笔联机交易在整合层200的耗时t

基本上取决于在数据库操作上的耗时,即t
整合
。在一些实施例中,联机交易均采用非穿透交易(第二类型交易)。将属于穿透交易的联机交易设置为非穿透交易,导致联机交易耗时。
[0051]
下面结合图1所示的场景,介绍本技术实施例的技术方案。具体地,图2a示出了一种联机正交易方法的流程图,该流程包括如下步骤。
[0052]
s102:整合层200接收客户端a110的联机正交易请求。
[0053]
s104:整合层200确定联机正交易请求的相关账户属于同一归属地的情况下,将联机正交易请求转发于转账组件310。如上所述涉及的相关账户属于同一归属地的联机交易属于穿透交易,无需其他服务组件的协同,也就无需进行上述数据库操作。其中联机正交易访问服务组件的记录存储于图1所示的交易进程管理230中。
[0054]
s106:转账组件310执行联机正交易的请求,得到该联机正交易的交易结果,并将交易结果发送于整合层200。
[0055]
s108:整合层200将交易结果转发于客户端a110。
[0056]
通过上述实施例提供的方法,避免了整合层200在处理同一归属地的联机正交易的过程中进行数据库操作,也即是节省了上述公式(2)所示t
整合
的时间,提高了联机交易的效率。
[0057]
在上述实施例中,将联机正交易设置为穿透交易时,由于整合层200未存储该联机正交易的交易结果,而该交易结果中包含执行该联机正交易的服务组件的组件标识,即服务组件目标地址。如此,整合层200在处理穿透交易的联机正交易对应的联机冲正交易时,无法在数据库220查询到执行该联机正交易的服务组件的组件标识,无法向该服务组件发送联机冲正交易请求,导致联机冲正交易失败。
[0058]
为了解决上述联机冲正交易失败的问题,在联机冲正交易时,本技术通过整合层200 基于联机冲正交易对应的联机正交易的交易号,在图1所示的交易进程管理230中获取
该联机正交易对应的组件标识。然后整合层200基于该组件标识,向组件标识对应的服务组件发送联机冲正交易请求。如此解决了整合层200无法在数据库220查询到执行该联机正交易的服务组件的组件标识,而使得发送联机冲正交易请求失败的问题,并且穿透交易的联机正交易对应的联机冲正交易也无需访问数据库220。
[0059]
在一些情况下,在整合层200的交易进程管理230中存在大量的交易信息,如此会使得搜索组件标识的效率较低。其中,交易进程管理230包括所有交易的交易记录,即交易的交易标识(如交易号)和执行交易的服务组件的组件标识的对应关系。
[0060]
为了提高获取穿透交易(即上述第一类型交易)的联机正交易对应的组件标识的效率,本技术实施例还提供了一种联机交易方法,整合层200中在检测到联机交易是处于同一归属地的联机正交易的情况在,对该联机交易设置穿透标识(即上述第一类标识),并在数据库220中存储联机正交易与穿透标识的对应关系。整合层200在进行联机正交易对应的联机冲正交易时,通过判断联机正交易是否具有穿透标识,来排除非穿透交易的联机正交易,避免了对非穿透的联机正交易进行上述在交易进程管理230中搜索组件标识的步骤,即非穿透交易的联机交易直接从数据库220中获取组件标识,进而提高了查询组件标识的效率。
[0061]
具体地,图2b示出了另一种联机交易方法的流程图,下面以图1所示的分布式银行系统1000为例,对图2b所示的联机交易方法的步骤进行详细描述。
[0062]
s201:客户端a110发起联机交易请求。该交易为联机正交易或联机冲正交易中的一种。
[0063]
s202:整合层200判断联机交易是否为正交易。即判断该联机交易是否为联机正交易。
[0064]
若该联机交易为联机正交易,则进入步骤s203查询该联机正交易的已完成记录,该已完成记录包括联机正交易的交易结果等信息。下述步骤s203、以及步骤s205至步骤s209 所描述的联机交易均为联机正交易,以下不再赘述。
[0065]
若该联机交易不为联机正交易,即该联机交易为联机冲正交易,则进入步骤204进行该联机冲正交易的逻辑步骤。
[0066]
在一些情况下,该联机交易已经进行,客户端a110发起联机交易请求只是为了查询已完成记录,所以在步骤s203,整合层200先查询在转账业务310中是否包含联机交易的已完成记录,若查询到存在该已完成记录,则直接将该已完成记录返回客户端a110,若未查询到,再在步骤s207,判断该联机交易是否可以进行穿透交易。
[0067]
s203:整合层200在转账业务310中查询联机交易的已完成记录。其中,在上述201 中的联机交易请求中包含该联机交易的唯一识别号,用于在转账业务310中查找该联机交易对应的已完成记录。该查询请求可以是整合层200中的呼叫中心210向转账业务310组件发起的查询该联机交易的已完成记录的请求。
[0068]
s204:整合层200进行冲正交易。整合层200针对该联机交易,进行冲正交易的逻辑处理步骤。冲正交易的逻辑处理步骤将在下文进行详细描述,在此不做赘述。
[0069]
s205:转账业务310判断是否查询到已完成记录。具体的,转账业务310响应于呼叫中心210向转账中心发起的查询该联机交易的已完成记录的请求,转账业务310进行查询该联机交易的已完成记录。
[0070]
若转账业务310查到该联机交易的已完成记录,则该联机交易为转账业务310已完成的联机正交易,进而进入步骤206对该联机交易进行穿透正交易的逻辑处理步骤。
[0071]
若转账业务310未查到该联机交易的已完成记录,则该联机交易为转账业务310未接收的联机正交易,则进入步骤s207对该联机正交易是否可以进行穿透交易进行判断。
[0072]
s206:整合层200进行穿透正交易。整合层200对上述联机交易进行穿透正交易的逻辑处理步骤,该穿透正交易的逻辑处理步骤如下所述。
[0073]
s2061:整合层200向转账业务310转发联机正交易请求。转账业务310接收该请求后执行该联机正交易的业务,得到包含该联机正交易的交易结果的联机正交易的交易结果。
[0074]
s2062:转账业务310向整合层200发送联机正交易的交易结果。整合层200接收到联机正交易的交易结果后,进入步骤s2063。
[0075]
s2063:整合层200向客户端a110返回联机正交易的交易结果。
[0076]
若步骤s206由步骤s205输入,则直接进入步骤s2062,即上述步骤s203中转账业务 310查到该联机交易的已完成记录时,直接将该已完成记录返回至整合层200。
[0077]
若步骤s206由步骤s208输入,则直接进入步骤s2061。
[0078]
s207:整合层200判断联机交易相关账户是否属于同一归属地。
[0079]
若该联机交易的相关账户属于同一归属地,说明该联机交易属于可以进行穿透交易的联机正交易,进入步骤s208为该联机交易设置穿透标识。例如,联机正交易请求为账户a 向账户b转账的转账交易,其中账户a与账户b属于同一省份,为该联机交易设置穿透标识。
[0080]
若该联机交易的相关账户不属于同一归属地,则进入步骤s209进行非穿透正交易的逻辑处理步骤,该非穿透正交易的逻辑处理步骤需要在整合层200进行数据库操作。
[0081]
s208:整合层200设置联机交易的穿透标识。整合层200设置该联机交易的穿透标识之后进入步骤s206,整合层200基于该联机交易的穿透标识进行穿透正交易的逻辑处理步骤。
[0082]
整合层200通过穿透标识来识别相关账户属于同一归属地的联机正交易,如此,将同一归属地的联机正交易进行上述穿透正交易的逻辑处理步骤s2061至步骤s2063,避免在整合层200进行数据库操作,节省了同一归属地的联机正交易在整合层200的耗时,如此提高联机交易的平均速度。
[0083]
在本技术一些实施例中,整合层200先识别到上述穿透标识,再发送步骤s2061中该联机正交易请求。
[0084]
s209:整合层200进行非穿透正交易。整合层200对不同归属地的联机正交易进行非穿透正交易逻辑处理步骤,该非穿透正交易逻辑处理步骤如上述公式(1)和公式(2)的描述,会导致该交易在整合层200耗费大量时间。
[0085]
在上述实施例中,整合层200通过设置穿透标识以记录进行穿透交易的联机正交易。该穿透标识用于在进行该联机正交易对应的联机冲正交易时,查找联机正交易的交易记录,即访问服务组件的信息。
[0086]
可以理解,在一些实施例中,联机冲正交易需要先在整合层200获取对应的联机正交易的已完成记录,以获取执行该联机冲正交易的服务组件信息。但是在上述实施例中,整
合层200的数据库220中没有具有穿透标识的联机正交易的已完成记录,即是无法在数据库220中查询到具有穿透标识的联机正交易对应的服务组件信息,从而导致该联机冲正交易失败。
[0087]
基于上述原因,在本技术一些实施例中,通过查找联机冲正交易对应的联机正交易在整合层200中的交易进程管理230的交易记录,获取该联机正交易访问的服务组件的组件标识。如此,联机冲正交易时,整合层200可以向该组件标识对应的组件发送联机冲正交易请求,避免整合层200发送该联机冲正交易请求失败,此外,该联机冲正交易为穿透交易,无需进行数据库操作,降低整个联机交易的平均耗时,从而使系统的性能提高。
[0088]
具体的,图3为一种联机冲正交易方法的流程图,下面对图3所示的联机冲正交易方法的步骤进行详细的描述。
[0089]
s301:客户端a110向整合层200发送联机冲正交易请求。例如,在图2b中步骤s204 中的联机交易为联机冲正交易。
[0090]
s302:整合层200判断是否在数据库220中查询到该联机冲正交易对应的联机正交易的交易信息。整合层200在数据库220中查询该交易信息。以确定该联机正交易是否进行了穿透交易。如上所述交易信息包括交易号和各服务组件执行该联机正交易得到的业务数据等信息。其中包括各服务组件的组件标识。
[0091]
若查询到该交易信息,则该联机正交易为非穿透交易,该联机冲正交易也为非穿透交易,进入步骤s303进行非穿透的冲正交易的逻辑处理步骤。
[0092]
若未查询到该交易信息,则该联机冲正交易和该联机正交易为穿透交易,则进入步骤 s304判断该对应的联机正交易是否具有穿透标识。
[0093]
s303:整合层200进行冲正交易。其中进行冲正交易的逻辑处理步骤如下.。
[0094]
s3031:整合层200发送联机冲正交易请求。转账业务310在接收该联机冲正交易请求后,转账业务310执行该联机冲正交易,得到该联机冲正交易的交易结果。
[0095]
s3032:转账业务310向整合层200发送联机冲正交易的交易结果。转账业务310发送联机冲正交易的交易结果至整合层200。
[0096]
s3033:整合层200返回联机冲正交易的交易结果。整合层200返回联机冲正交易的交易结果至客户端a110。
[0097]
s304:整合层200判断对应的联机正交易是否具有穿透标识。具体的,整合层200通过联机冲正请求中对应的联机正交易的交易号,在数据库220中查询是否有对应的穿透标识。若该对应的联机正交易具有对应的穿透标识,则进入步骤s305,从整合层200的交易进程管理230的交换区获取该对应联机正交易对应的组件标识,该组件标识用于获取该交易对应正交易涉及的微服务层300中的服务组件的组件标识。例如转账业务310的组件标识。
[0098]
s305:整合层200从交易进程管理230获取对应的联机正交易的组件标识。基于该组件标识进行步骤s3031,具体的,在步骤s3031中,整合层200基于该组件标识向转账业务310发送联机冲正交易请求。
[0099]
通过申请实施例提供的联机交易方法,在进行该联机正交易对应的联机冲正交易时,通过在整合层200查询到穿透型联机正交易的穿透标识,进而查询到该联机正交易对应的服务组件的组件标识,整合层200基于该业务组价的组件标识向服务组件发送联机冲正交易请求。如此解决了联机正交易设置为穿透型交易时,无法获取服务组件信息的问题。
[0100]
在上述实施例中,由于穿透型的联机交易在整合层200没有已完成记录,整合层200 是无法获取微服务层300中的联机交易是否成功的状态的,导致在一些情况下,整合层200 和微服务层300中服务组件的已完成记录不一致的问题。例如,该联机正交易为账户a向账户b转账的转账交易,包括账户a扣款和账户b打款两个步骤,若在微服务层300中转账业务310,扣款的步骤成功,而打款的步骤失败,如此转账业务310无法单独完成该联机正交易。
[0101]
基于上述问题,在本技术一些实施例中,在微服务层300中的服务组件执行属于穿透交易的联机正交易的业务失败的情况下,通过服务组件向整合层200发送补记流水请求,触发整合层200将该联机正交易设置为非穿透交易,并且向其他服务组件发送子交易请求,以完成该联机正交易的完整业务。图4为一种联机正交易中整合层200和转账业务310中数据一致性的处理方法的流程图,下面对图4所示的步骤进行详细的描述。
[0102]
s401:转账业务310在执行具有穿透标识的联机正交易的交易失败的情况下,触发包含交易失败信息的补计流水请求。例如,该联机正交易为上述账户a向账户b转账的转账交易,账户a需要向账户b转账200元,但是由于账户a的余额不足,仅账户a向账户 b转账100元。其中该交易失败信息为转账业务310的业务数据,例如包含账户a向账户 b转账的交易结果,如账户a向账户b转账100元,账户a余额、账户b余额等交易相关信息。
[0103]
s402:转账业务310向整合层200发送补计流水请求。
[0104]
s403:整合层200进行数据库操作以补记流水,并生成用于完成联机正交易的子交易。其中该子交易为基于上述交易失败信息,以继续执行联机正交易请求的交易。例如,整合层200基于转账交易信息生成流水,存储于数据库220的流水表中。整合层200查询到账户a的关联的信用卡账户a1,基于账户a向账户b转账100元,整合层200向贷款业务 320发送账户a1向账户b支付100元的子交易请求。如此整合层200将该联机正交易进行数据库操作,以存储流水信息,并发起子交易,实现了将该联机正交易从穿透交易转化为了非穿透交易。避免属于穿透交易的联机正交易的交易失败的情况下,客户端a110无法在整合层200查询到交易失败信息;整合层200也无法基于交易失败信息,继续发起子交易请求,以完成联机正交易的完整业务,导致联机正交易最终交易失败。
[0105]
s404:整合层200向贷款业务320发送执行子交易的指令。
[0106]
s405:贷款业务320执行子交易,得到包含子交易的交易结果。即转账业务310响应于执行子交易的指令,执行上述子交易。例如,转账业务320执行账户a1向账户b转账 100元的操作。其中子交易的交易结果即为转账业务320的业务数据。
[0107]
s406:贷款业务320向整合层200发送子交易的交易结果。
[0108]
s407:整合层200向客户端a110发送子交易的交易结果和交易失败信息。
[0109]
通过上述实施例,服务组件执行穿透交易的联机正交易失败时,通过向整合层200补记流水请求,触发整合层200生成用于继续执行联机正交易的完整业务的子交易。如此整合层200需要进行数据库操作存储联机正交易相关的子交易的交易结果和交易失败数据,将该联机正交易从穿透交易转化为了非穿透交易,实现了各服务组件之间的业务数据(子交易的交易结果和交易失败数据)的一致性,如上述图4中的转账业务310和贷款业务320 之间关于该联机正交易的业务数据的一致性。
[0110]
本技术的一些实施例提供了一种联机正交易装置,该联机正交易装置应用于分布
式交易系统,该分布式交易系统包括用户层100、整合层200和微服务层300,如图5所示,该联机正交易装置500包括获取模块510、确定模块520和执行模块530。获取模块510 用于整合层从用户层的客户端获取第一交易请求;确定模块520用于在确定出第一交易请求所请求的交易为第一类交易的情况下,向微服务层300发送执行第一交易请求所请求的交易的指令,其中,第一类交易的完成无需访问整合层的数据库;执行模块530用于微服务层300的服务组件执行指令以完成第一交易请求所请求的交易。
[0111]
示例性的,上述获取模块510和确定模块520设置于上述整合层200,执行模块530 设置于微服务层300的服务组件。
[0112]
本技术的一些实施例提供了一种计算机程序产品,该计算机程序产品包括指令,该指令用于实现上述联机交易方法。
[0113]
本技术的一些实施例提供了一种可读介质,该可读介质上存储有指令,指令在电子设备上执行时使电子设备执行如上所述的联机交易方法。
[0114]
本技术的一些实施例提供了一种电子设备,该电子设备包括:存储器,用于存储由电子设备的一个或多个处理器执行的指令,以及处理器,是电子设备的处理器之一,用于执行如上所述的联机交易方法。
[0115]
参考图6,所示为根据本技术的一个实施例的联机交易设备60的框图,该联机交易设备60可以为上述实视联机交易方法。在一个实施例中,联机交易设备60可以包括一个或多个处理器601,与处理器601中的至少一个连接的系统控制逻辑602,与系统控制逻辑 602连接的系统内存603,与系统控制逻辑602连接的非易失性存储器(nvm)604,以及与系统控制逻辑602连接的网络接口606。
[0116]
在一些实施例中,处理器601可以包括一个或多个单核或多核处理器。在一些实施例中,处理器601可以包括通用处理器和专用处理器(例如,图形处理器,应用处理器,基带处理器等)的任意组合。在联机交易设备60采用enb(evolved node b,增强型基站) 或ran(radio access network,无线接入网)控制器的实施例中,处理器601可以被配置为执行各种符合的实施例,例如,如图2a至图4所示的多个实施例中的一个或多个。例如,处理601可以用于执行上述联机交易方法。
[0117]
在一些实施例中,系统控制逻辑602可以包括任意合适的接口控制器,以向处理器601 中的至少一个和/或与系统控制逻辑602通信的任意合适的设备或组件提供任意合适的接口。
[0118]
在一些实施例中,系统控制逻辑602可以包括一个或多个存储器控制器,以提供连接到系统内存603的接口。系统内存603可以用于加载以及存储数据和/或指令。在一些实施例中系统内存603可以包括任意合适的易失性存储器,例如合适的动态随机存取存储器 (dram)。
[0119]
nvm/存储器604可以包括用于存储数据和/或指令的一个或多个有形的、非暂时性的计算机可读介质。在一些实施例中,nvm/存储器604可以包括闪存等任意合适的非易失性存储器和/或任意合适的非易失性存储设备,例如hdd(hard disk drive,硬盘驱动器), cd(compact disc,光盘)驱动器,dvd(digital versatile disc,数字通用光盘)驱动器中的至少一个。
[0120]
nvm/存储器604可以包括安装联机交易设备60的装置上的一部分存储资源,或者
它可以由设备访问,但不一定是设备的一部分。例如,可以经由网络接口606通过网络访问 nvm/存储604。
[0121]
特别地,系统内存603和nvm/存储器604可以分别包括:指令605的暂时副本和永久副本。指令605可以包括:由处理器601中的至少一个执行时导致联机交易设备60实施如图2a至图4所示的方法的指令。在一些实施例中,指令605、硬件、固件和/或其软件组件可另外地/替代地置于系统控制逻辑602,网络接口606和/或处理器601中。
[0122]
网络接口606可以包括收发器,用于为联机交易设备60提供无线电接口,进而通过一个或多个网络与任意其他合适的设备(如前端模块,天线等)进行通信。在一些实施例中,网络接口606可以集成于联机交易设备60的其他组件。例如,网络接口606可以集成于处理器601的,系统内存603,nvm/存储器604,和具有指令的固件设备(未示出) 中的至少一种,当处理器601中的至少一个执行所述指令时,联机交易设备60实现如上述方法实施例中示出的方法。
[0123]
网络接口606可以进一步包括任意合适的硬件和/或固件,以提供多输入多输出无线电接口。例如,网络接口606可以是网络适配器,无线网络适配器,电话调制解调器和/或无线调制解调器。
[0124]
联机交易设备60可以进一步包括:输入/输出(i/o)设备607。i/o设备607可以包括用户界面,使得用户能够与联机交易设备60进行交互;外围组件接口的设计使得外围组件也能够与联机交易设备60交互。在一些实施例中,联机交易设备60还包括传感器,用于确定与联机交易设备60相关的环境条件和位置信息的至少一种。
[0125]
在一些实施例中,用户界面可包括但不限于显示器(例如,液晶显示器,触摸屏显示器等),扬声器,麦克风,一个或多个相机(例如,静止图像照相机和/或摄像机),手电筒(例如,发光二极管闪光灯)和键盘。
[0126]
在一些实施例中,外围组件接口可以包括但不限于非易失性存储器端口、音频插孔和电源接口。
[0127]
在一些实施例中,传感器可包括但不限于陀螺仪传感器,加速度计,近程传感器,环境光线传感器和定位单元。定位单元还可以是网络接口606的一部分或与网络接口606交互,以与定位网络的组件(例如,全球定位系统(gps)卫星)进行通信。
[0128]
可以理解的是,本发明实施例示意的结构并不构成对联机交易设备60的具体限定。在本技术另一些实施例中,联机交易设备60可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
[0129]
可将程序代码应用于输入指令,以执行本文描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本技术的目的,处理系统包括具有诸如例如数字信号处理器(dsp)、微控制器、专用集成电路(asic)或微处理器之类的处理器的任何系统。
[0130]
程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本文中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
[0131]
至少一个实施例的一个或多个方面可以由存储在计算机可读存储介质上的表示
性指令来实现,指令表示处理器中的各种逻辑,指令在被机器读取时使得该机器制作用于执行本文所述的技术的逻辑。被称为“少一核”的这些表示可以被存储在有形的计算机可读存储介质上,并被提供给多个客户或生产设施以加载到实际制造该逻辑或处理器的制造机器中。
[0132]
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本技术的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0133]
类似地,应当理解,为了精简本技术并帮助理解各个发明方面中的一个或多个,在上面对本技术的示例性实施例的描述中,本技术的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本技术要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本技术的单独实施例。
[0134]
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的替代特征来代替。
[0135]
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本技术的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1