异步上链方法、设备及计算机可读存储介质与流程

文档序号:16403085发布日期:2018-12-25 20:14阅读:320来源:国知局
异步上链方法、设备及计算机可读存储介质与流程

本发明涉及区块链技术领域,尤其涉及异步上链方法、设备及计算机可读存储介质。

背景技术

近年来,随着互联网金融的不断发展,区块链技术被逐渐引入银行等金融机构的业务交易中。在基于区块链技术的业务交易中,存在如下场景:

发卡行、收单行和清算行共同运营一个电子钱包业务,三方各自维护一个区块链节点,构成一条联盟链,当用户向发卡行发起交易请求时,由发卡行节点进行交易上链,并最终交易成功,日终时,发卡行、收单行和清算行三方从区块链节点读取当天所有的交易记录,做对账和清算。

在上述场景中,由于交易上链操作需要广播交易、打包区块、三方节点达成共识等步骤,因此每笔交易上链的耗时较长,通常在1.5秒以上,而且整个交易过程中,交易上链只是其中一步,因此基于现有方案的区块链钱包产品,整个交易耗时一般在3秒以上,这导致整个交易过程耗时较长,用户体验不佳。



技术实现要素:

本发明的主要目的在于提出一种异步上链方法、设备及计算机可读存储介质,旨在减少交易上链的耗时,从而减少整个交易过程的耗时,提升钱包用户的体验。

为实现上述目的,本发明提供一种异步上链方法,所述异步上链方法包括如下步骤:

接收用户基于发卡行的电子钱包应用触发的交易请求;

根据接收到的所述交易请求生成对应的交易记录,并将所述交易记录缓存至传统数据库中,其中,所述交易记录包括所述交易请求被假定为交易成功时的交易信息;

按照预设周期读取所述传统数据库中缓存的交易记录,并将读取到的所述交易记录进行上链。

优选地,所述根据接收到的所述交易请求生成对应的交易记录,并将所述交易记录缓存至传统数据库中的步骤之前,还包括:

判断所述用户的电子钱包是否余额充足;

若所述用户的电子钱包余额充足,则执行步骤:根据接收到的所述交易请求生成对应的交易记录,并将所述交易记录缓存至传统数据库中;

若所述用户的电子钱包余额不足,则返回余额不足的提示信息。

优选地,所述将读取到的所述交易记录进行上链的步骤包括:

当读取到多条交易记录时,按照每条交易记录的生成先后顺序将所述多条交易记录依次进行上链。

优选地,所述按照预设周期读取所述传统数据库中缓存的交易记录,并将读取到的所述交易记录进行上链的步骤之后,还包括:

将已上链的交易记录标记为上链成功;

当后续进行交易记录上链时,读取所述传统数据库中缓存的未标记为上链成功的交易记录,并将读取到的所述未标记为上链成功的交易记录进行上链。

优选地,所述异步上链方法还包括:

从所述发卡行的区块链节点读取预设清结算周期内所有已上链的交易记录;

根据读取到的所述已上链的交易记录进行联盟链各机构间的对账和清结算。

此外,为实现上述目的,本发明还提供一种异步上链设备,所述异步上链设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的异步上链程序,所述异步上链程序被所述处理器执行时实现如下步骤:

接收用户基于发卡行的电子钱包应用触发的交易请求;

根据接收到的所述交易请求生成对应的交易记录,并将所述交易记录缓存至传统数据库中,其中,所述交易记录包括所述交易请求被假定为交易成功时的交易信息;

按照预设周期读取所述传统数据库中缓存的交易记录,并将读取到的所述交易记录进行上链。

优选地,所述异步上链程序被所述处理器执行时还实现如下步骤:

判断所述用户的电子钱包是否余额充足;

若所述用户的电子钱包余额充足,则执行步骤:根据接收到的所述交易请求生成对应的交易记录,并将所述交易记录缓存至传统数据库中;

若所述用户的电子钱包余额不足,则返回余额不足的提示信息。

优选地,所述异步上链程序被所述处理器执行时还实现如下步骤:

当读取到多条交易记录时,按照每条交易记录的生成先后顺序将所述多条交易记录依次进行上链。

优选地,所述异步上链程序被所述处理器执行时还实现如下步骤:

将已上链的交易记录标记为上链成功;

当后续进行交易记录上链时,读取所述传统数据库中缓存的未标记为上链成功的交易记录,并将读取到的所述未标记为上链成功的交易记录进行上链。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有异步上链程序,所述异步上链程序被处理器执行时实现如上所述的异步上链方法的步骤。

本发明提出的异步上链方法,当发卡行服务器接收到用户基于电子钱包应用触发的交易请求时,不对交易请求进行实时上链,而是先假定交易请求交易成功并生成对应的交易记录,然后将交易记录缓存在传统数据库中,之后发卡行服务器再按照预设周期读取所述传统数据库中缓存的交易记录,并将读取到的交易记录进行上链,这种方式相比于现有技术中的交易请求实时上链,能够有效减少交易上链的耗时,从而能够减少整个交易过程的耗时,提升钱包用户的体验。

附图说明

图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图;

图2为本发明异步上链方法第一实施例的流程示意图;

图3为本发明异步上链方法第二实施例的流程示意图;

图4为本发明异步上链方法第三实施例的流程示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例的主要解决方案是:接收用户基于发卡行的电子钱包应用触发的交易请求;根据接收到的所述交易请求生成对应的交易记录,并将所述交易记录缓存至传统数据库中,其中,所述交易记录包括所述交易请求被假定为交易成功时的交易信息;按照预设周期读取所述传统数据库中缓存的交易记录,并将读取到的所述交易记录进行上链。

现有技术中,基于区块链的上链操作为实时的,由于交易上链操作需要广播交易、打包区块、三方节点达成共识等步骤,因此每笔交易上链的耗时较长,通常在1.5秒以上,而且整个交易过程中,交易上链只是其中一步,因此基于现有方案的区块链钱包产品,整个交易耗时一般在3秒以上,这导致整个交易过程耗时较长,用户体验不佳。

本发明提出的异步上链方法,当发卡行服务器接收到用户基于电子钱包应用触发的交易请求时,不对交易请求进行实时上链,而是先假定交易请求交易成功并生成对应的交易记录,然后将交易记录缓存在传统数据库中,之后发卡行服务器再按照预设周期读取所述传统数据库中缓存的交易记录,并将读取到的交易记录进行上链,这种方式相比于现有技术中的交易请求实时上链,能够有效减少交易上链的耗时,从而能够减少整个交易过程的耗时,提升钱包用户的体验。

如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。

本发明实施例异步上链设备可以是服务器、pc机或虚拟机设备。

如图1所示,该设备可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的设备结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及异步上链程序。

在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的异步上链程序,并执行以下操作:

接收用户基于发卡行的电子钱包应用触发的交易请求;

根据接收到的所述交易请求生成对应的交易记录,并将所述交易记录缓存至传统数据库中,其中,所述交易记录包括所述交易请求被假定为交易成功时的交易信息;

按照预设周期读取所述传统数据库中缓存的交易记录,并将读取到的所述交易记录进行上链。

进一步地,处理器1001可以调用存储器1005中存储的异步上链程序,还执行以下操作:

判断所述用户的电子钱包是否余额充足;

若所述用户的电子钱包余额充足,则执行步骤:根据接收到的所述交易请求生成对应的交易记录,并将所述交易记录缓存至传统数据库中;

若所述用户的电子钱包余额不足,则返回余额不足的提示信息。

进一步地,处理器1001可以调用存储器1005中存储的异步上链程序,还执行以下操作:

当读取到多条交易记录时,按照每条交易记录的生成先后顺序将所述多条交易记录依次进行上链。

进一步地,处理器1001可以调用存储器1005中存储的异步上链程序,还执行以下操作:

将已上链的交易记录标记为上链成功;

当后续进行交易记录上链时,读取所述传统数据库中缓存的未标记为上链成功的交易记录,并将读取到的所述未标记为上链成功的交易记录进行上链。

进一步地,处理器1001可以调用存储器1005中存储的异步上链程序,还执行以下操作:

从所述发卡行的区块链节点读取预设清结算周期内所有已上链的交易记录;

根据读取到的所述已上链的交易记录进行联盟链各机构间的对账和清结算。

基于上述硬件结构,提出本发明异步上链方法实施例。

参照图2,图2为本发明异步上链方法第一实施例的流程示意图,所述方法包括:

步骤s10,接收用户基于发卡行的电子钱包应用触发的交易请求;

目前区块链根据其组成节点的准入形式的不同,一般分为公有链、联盟链和私有链,其中,联盟链是一种应用于机构间的区块链,其各个节点通常有与之对应的实体机构组织,如银行、保险、证券、商业协会等,各机构组织组成利益相关的联盟,共同维护区块链的健康运转。本实施例应用于联盟链的应用场景。

在联盟链的语境下,机构指代的是逻辑意义上参与组网区块链的成员,每个机构会提供自己的节点来参与物理意义上的组网,也就是说区块链组网中的多个节点可能归属于同一个机构,而对于每个机构节点,其可以接收并处理与之对应的客户端发起的交易请求,并将处理后的交易请求发送至联盟链中对应的交易节点,从而进行基于联盟链的交易。

本实施例的应用场景为:发卡行、收单行和清算行共同运营一个电子钱包业务,三方各自维护一个区块链节点,构成一条联盟链,当用户需要使用电子钱包进行交易时,基于发卡行的电子钱包应用触发交易请求,其中,与交易请求对应的交易包括但不限于转账、汇款、快捷支付等;发卡行的后台服务器在接收到用户触发的交易请求后,执行下述步骤s20。

步骤s20,根据接收到的所述交易请求生成对应的交易记录,并将所述交易记录缓存至传统数据库中,其中,所述交易记录包括所述交易请求被假定为交易成功时的交易信息;

该步骤中,发卡行服务器在接收到交易请求后,首先假定交易成功,并生成对应的交易记录,其中交易记录包括交易请求被假定为交易成功时的交易信息,比如,用户基于电子钱包向商户付款时,对应的交易信息可以包括用户账户名及对应的发卡行、商户账户名及对应的收单行,以及交易款项。

之后,发卡行服务器将该交易记录缓存至传统数据库中,其中传统数据库可以为mysql、postgresql等数据库。

步骤s30,按照预设周期读取所述传统数据库中缓存的交易记录,并将读取到的所述交易记录进行上链。

该步骤中,发卡行服务器按照预设周期读取上述传统数据库中缓存的交易记录,并将读取到的交易记录逐条进行上链,其中,读取周期可灵活设置,比如可以设置为30秒,交易记录的上链包括在联盟链节点广播交易、交易数据打包进区块、联盟链共识等过程,当联盟链各机构基于交易记录达成共识时,基于联盟链的电子钱包交易即为交易成功。

需要说明的是,由于本实施例发卡行无需对交易进行实时上链,因此能够避免因上链造成的交易耗时,而在实际测试中,将交易记录缓存至传统数据库的延时一般在20毫秒左右,远小于现有的交易上链的1.5秒耗时,因此上述方式能有效的提升交易速度。

本实施例提出的异步上链方法,当发卡行服务器接收到用户基于电子钱包应用触发的交易请求时,不对交易请求进行实时上链,而是先假定交易请求交易成功并生成对应的交易记录,然后将交易记录缓存在传统数据库中,之后发卡行服务器再按照预设周期读取所述传统数据库中缓存的交易记录,并将读取到的交易记录进行上链,这种方式相比于现有技术中的交易请求实时上链,能够有效减少交易上链的耗时,从而能够减少整个交易过程的耗时,提升钱包用户的体验。

进一步地,参照图3,图3为本发明异步上链方法第二实施例的流程示意图。基于上述图2所示的实施例,在步骤s20之前,还可以包括:

步骤s40,判断所述用户的电子钱包是否余额充足;

若所述用户的电子钱包余额充足,则执行步骤s20,根据接收到的所述交易请求生成对应的交易记录,并将所述交易记录缓存至传统数据库中;

若所述用户的电子钱包余额不足,则执行步骤s50,返回余额不足的提示信息。

在本实施例中,发卡行服务器在生成交易记录之前,可以首先获取用户请求交易的款项,如转账款项、汇款款项等,然后将该款项与用户电子钱包中的账户余额进行比较,以判断发起交易请求的用户的电子钱包是否余额充足;若用户的电子钱包余额充足,则发卡行服务器根据接收到的交易请求生成对应的交易记录,并将交易记录缓存至传统数据库中,反之,若用户的电子钱包余额不足,则直接向发卡行前端返回余额不足的提示信息。

通过上述方式,排除了用户电子钱包余额不足导致的交易不成功的情况,该情况将不会生成交易成功记录缓存至传统数据库中。

进一步地,基于上述图2所示的实施例,所述将读取到的所述交易记录进行上链的步骤可以包括:当读取到多条交易记录时,按照每条交易记录的生成先后顺序将所述多条交易记录依次进行上链。

在本实施例中,如果发卡行服务器从数据库中读取到多条交易记录,可以按照每条交易记录的生成先后顺序,将这多条交易记录依次进行上链,由此保证先生成的交易记录及时上链。

进一步地,参照图4,图4为本发明异步上链方法第三实施例的流程示意图。基于上述图2所示的实施例,在步骤s30之后,还可以包括:

步骤s60,将已上链的交易记录标记为上链成功;

步骤s70,当后续进行交易记录上链时,读取所述传统数据库中缓存的未标记为上链成功的交易记录,并将读取到的所述未标记为上链成功的交易记录进行上链。

在本实施例中,为区分传统数据库中已上链和未上链的交易记录,发卡行服务器可以将本次上链成功的交易记录,增加一个“上链成功”的标志位,当后续进行交易记录上链时,只需读取传统数据库中缓存的未标记为上链成功的交易记录,并将读取到的未标记为上链成功的交易记录进行上链。

进一步地,本实施例异步上链方法还可以包括:从所述发卡行的区块链节点读取预设清结算周期内所有已上链的交易记录;根据读取到的所述已上链的交易记录进行联盟链各机构间的对账和清结算。

本实施例中,发卡行服务器可以从发卡行的区块链节点读取预设清结算周期内所有已上链的交易记录,以进行联盟链各机构间的对账和清洁算,其中,清结算周期可以根据实际需要灵活设置,比如可以设置为24小时、48小时等,发卡行可以根据交易记录获取需要支付给收单行的资金总额,然后由第三方清算行将该资金转给收单行,由此实现交易资金的清结算。

本发明还提供一种异步上链设备。

本发明异步上链设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的异步上链程序,所述异步上链程序被所述处理器执行时实现如上所述的异步上链方法的步骤。

其中,在所述处理器上运行的异步上链程序被执行时所实现的方法可参照本发明异步上链方法各个实施例,此处不再赘述。

本发明还提供一种计算机可读存储介质。

本发明计算机可读存储介质上存储有异步上链程序,所述异步上链程序被处理器执行时实现如上所述的异步上链方法的步骤。

其中,在所述处理器上运行的异步上链程序被执行时所实现的方法可参照本发明异步上链方法各个实施例,此处不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1