掌桥专利:专业的专利平台
掌桥专利
首页

基于区块链的业务费用代扣方法和装置

文献发布时间:2023-06-19 11:49:09


基于区块链的业务费用代扣方法和装置

技术领域

本说明书一个或多个实施方式涉及网络支付领域,尤其涉及一种基于区块链的业务费用代扣方法和装置。

背景技术

区块链通过将数据保存在彼此之间具有先后关系的一系列数据区块中来以去中心化的方式提供数据存储。区块的链由区块链节点的网络维护和更新,所述区块链节点也负责在共识方案下验证数据。可以通过添加关于区块链交易的区块来维护和更新区块链。要将数据存储到区块链,可以将数据包括在区块链交易中以添加到区块链的新区块中。此外,许多区块链(例如,以太坊区块链)已经启用了区块链合约(也称为智能合约),这些合约可通过区块链交易执行。例如,区块链交易可以包括由外部拥有的账户(例如,区块链账户)发出、由区块链网络发送、并记录在区块链中的签名消息。可以执行区块链合约以实现所编程的功能。

在基于互联网的业务应用中,用户可设置扣款账户,并授权商户从上述扣款账户中执行费用代扣。具体的代扣执行过程可包括扣款账户对应的支付公司开放代扣的接口,在用户充分授权的基础上,商户或商户代理机构通过配置准确的入参对上述扣款账户发起扣款的动作。然而,如果商户或商户代理机构未发起代扣或者代扣配置出现问题,不仅需要额外的时间和资源进行问题定位和修复,而且代扣失败也可能会引起用户的信用损失等问题。

发明内容

有鉴于此,本说明书一个或多个实施方式提供了基于区块链的业务费用代扣方法、装置和计算机设备。

为实现上述目的,本说明书一个或多个实施方式提供技术方案如下:

根据本说明书一个或多个实施方式的第一方面,提出了一种基于区块链的业务费用代扣方法,所述区块链与具有对目标费用进行费用代扣的权限的多级代扣节点连接;所述多级代扣节点被配置了费用代扣顺序;所述方法应用于所述多级代扣节点中的任一目标代扣节点,所述方法包括:

从所述区块链获取在所述费用代扣顺序中的上一级代扣节点对所述目标费用的第一代扣结果;

当所述第一代扣结果指示所述目标费用未被代扣成功时,继续执行对所述目标费用的费用代扣,并将继续对所述目标费用的代扣所对应的第二代扣结果保存至所述区块链,以使所述目标代扣节点在所述费用代扣顺序中的下一级代扣节点从所述区块链获取所述第二代扣结果,并在所述第二代扣结果指示所述目标费用仍未被代扣成功时,继续执行对所述目标费用的费用代扣,以此类推,直至所述目标费用由保持所述费用代扣顺序的所述多级代扣节点代扣成功。

根据本说明书一个或多个实施方式的第二方面,提出了一种基于区块链的业务费用代扣装置,所述区块链与具有对目标费用进行费用代扣的权限的多级代扣节点连接;所述多级代扣节点被配置了费用代扣顺序;所述装置应用于所述多级代扣节点中的任一目标代扣节点,所述装置包括:

获取单元,从所述区块链获取在所述费用代扣顺序中的上一级代扣节点对所述目标费用的第一代扣结果;

代扣单元,当所述第一代扣结果指示所述目标费用未被代扣成功时,继续执行对所述目标费用的费用代扣;

保存单元,将继续对所述目标费用的代扣所对应的第二代扣结果保存至所述区块链,以使所述目标代扣节点在所述费用代扣顺序中的下一级代扣节点从所述区块链获取所述第二代扣结果,并在所述第二代扣结果指示所述目标费用仍未被代扣成功时,继续执行对所述目标费用的费用代扣,以此类推,直至所述目标费用由保持所述费用代扣顺序的所述多级代扣节点代扣成功。

根据本说明书一个或多个实施方式的第三方面,提出了一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由所述处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行所述目标代扣节点所执行的基于区块链的业务费用代扣方法。

基于本说明书各个实施方式提供的基于区块链的业务费用代扣方法、装置、和计算机设备,可将具有多级代扣顺序的多级代扣节点中包括的目标代扣节点的上一级代扣节点对目标费用的第一代扣结果存储至区块链,当所述第一代扣结果指示所述目标费用未代扣成功时,上述目标代扣节点可继续执行对目标费用的代扣,并将继续代扣的结果——第二代扣结果存储至区块链。通过在区块链上共享多级代扣节点的代扣结果,可以快捷地实现对目标费用的继续代扣,有效降低了由于某一级代扣节点代扣失败引发的用户信用损失问题。

附图说明

图1是一示例性实施例提供的基于区块链的费用代扣方法的应用环境示意图。

图2是一示例性实施例提供的在区块链中创建智能合约和调用智能合约的示意图。

图3是一示例性实施方式提供的基于区块链的费用代扣方法流程图。

图4是一示例性实施方式提供的应用于第一代扣节点端的基于区块链的费用代扣装置的示意图。

图5运行本说明书所提供的基于区块链的费用代扣装置实施方式的一种硬件结构图。

具体实施方式

这里将详细地对示例性实施方式进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施方式中所描述的实施方式并不代表与本说明书一个或多个实施方式相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施方式的一些方面相一致的装置和方法的例子。

需要说明的是:在其他实施方式中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施方式中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施方式中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施方式中也可能被合并为单个步骤进行描述。

在基于互联网的业务应用中,用户可设置扣款账户,并授权电商网站的商户、或者信用还款代扣机构从上述扣款账户中执行费用代扣,从而完成商品、服务订购,或者,信用还款。具体的代扣执行过程可包括扣款账户对应的支付公司开放代扣的接口,在用户充分授权的基础上,商户或代扣机构通过配置准确的入参调用上述接口对上述扣款账户发起扣款的动作,在一些实施方式中,还将已扣除的款项的全部或部分转移至商户、或信用发贷方等账户中。然而,如果商户或代扣机构未发起代扣或者代扣配置出现问题,代扣动作执行失败,不仅需要额外的时间和资源进行问题定位和修复,而且用户还款失败也可能会引起用户的信用损失等问题。

有鉴于此,本说明书一个或多个实施方式提供了一种基于区块链的业务费用代扣方法,该业务费用代扣方法可应用于如图1所示的应用环境示意图。

在如图1所示的网络环境中,可以包括客户端侧计算设备101、服务器端102,以及至少一个区块链系统;例如,区块链系统103、区块链系统104和区块链系统105。客户端侧计算设备101,可以包括各种不同类型的客户端侧计算设备;例如,客户端侧终端设备可以包括诸如PC终端设备、移动终端设备、物联网设备,以及其它形式的具有一定的计算能力的智能设备,等等。客户端侧终端设备101中的至少部分计算设备,可以通过各种通信网络耦接到服务器端102;例如,图1中示出的设备3和设备5与服务器端102进行了耦接。

不难理解,客户端侧终端设备101中的部分终端设备,也可以不与服务器端102进行耦接,而是通过各种通信网络直接耦接到区块链系统。在本说明书的一个或多个实施方式所提供的基于区块链的业务费用代扣方法中,图1中所示的设备3或5可作为本说明书所述的某一代扣节点,通过区块链网络的服务器端102与区块链网络耦接,或者,图1中所述的设备4也可作为本说明书所述的某一代扣节点,不与服务器端102进行耦接,而是与区块链的节点耦接而连接到区块链系统;又或者,图1中所述的区块链节点(例如区块链系统103所包含的任一区块链节点)也可作为本说明书所述的某一代扣节点,直接耦接而连接到区块链系统。

其中,上述通信网络可以包括有线和/或无线通信网络;例如,可以是基于运营商提供的有线接入网络或者无线接入网络(比如移动蜂窝网络)实现的局域网(Local AreaNetwork,LAN)、广域网(Wide Area Network,WAN)、因特网或其组合。

在一种实施方式中,客户端侧计算设备101,还可以包括一个或多个用户侧服务器;例如,图1中示出的设备5,其耦接有两个用户侧客户端设备1、和设备2。上述用户侧服务器可以由搭建了用户账户体系的服务实体来实现;上述服务实体可以包括面向用户提供各种线上和/或线下服务的服务载体的运营实体;其中,上述服务载体可以包括软件形式的服务载体,也可以包括硬件形式的服务载体。

在一种实施方式中,上述服务载体可以包括提供线上互联网服务的各种客户端软件;例如,网站、网页、APP等。在本说明书提供的基于区块链的业务费用代扣方法实施方式中,上述服务实体为用户提供业务服务,以使用户账户产生对应的待代扣的目标费用。上述业务服务包括但不限于电子商务、信用借贷、生活缴费。

在一种实施方式中,服务器端102也可以通过各种通信网络耦接到一个或者多个区块链系统;例如,图1中示出的服务器端102可以分别耦接到区块链系统103、区块链系统104和区块链系统105,等等。

在一种实施方式中,每个区块链系统都可以维护一个或多个区块链(例如,公有区块链、私有区块链、联盟区块链等),并包括用于承载上述一个或多个区块链的多个区块链节点;例如,如图1中示出的区块链节点1、区块链节点2、区块链节点3、区块链节点4、区块链节点i等可以共同承载一个或者多个区块链。各个区块链系统包含的区块链之间,以及各个区块链系统之间,还可以进行跨链的数据访问。

在一种实施方式中,区块链节点可以包括全节点和轻节点。全节点可以全量下载区块链中的每个区块所包含的区块链交易,并可以根据搭载的区块链共识算法,对每个区块链中所包含的区块链交易进行共识验证。

而轻节点可以不下载完整的区块链,而是可以只下载区块链中的每个区块的区块头数据,并将区块头所包含的数据作为验证根,用于以验证区块链交易的真实性。轻节点可以依附于全节点来访问区块链的更多功能。

例如,图1中示出的区块链系统103中的各个区块链节点都可以作为全节点;而图1中示出的直接耦接到区块链系统的设备4,就可以作为轻节点,依附于区块链系统103中的各个全节点。

在一种实施方式中,区块链节点可以是物理设备,也可以是在服务器或者服务器集群中实现的虚拟设备;例如,区块链节点设备可以是服务器集群中的一台物理主机,也可以是基于虚拟化技术对服务器或者服务器集群搭载的硬件资源进行虚拟化后,创建的虚拟机。每个区块链节点之间,可以通过各种类型的通信方法(比如TCP/IP)耦接在一起形成网络,来承载一个或者多个区块链。

在一种实施方式中,服务器端102可以包括用于提供区块链即服务(BaaS,Blockchain as a Service)的BaaS平台(也称之为BaaS云)。BaaS平台可以通过为区块链上发生的活动(诸如订阅和通知、用户验证、数据库管理和远程更新),提供预先编写的软件的方式,面向与BaaS平台耦接的客户端侧计算设备,提供简单易用,一键部署,快速验证,灵活可定制的区块链服务,进而可以加速区块链业务应用开发、测试、上线,助力各行业区块链商业应用场景的落地。

例如,在一个例子中,与BaaS平台可以提供诸如MQ(Message Queue,消息队列)服务之类的软件;与BaaS平台耦接的客户端侧计算设备,可以订阅BaaS平台耦接的区块链系统中某一区块链上部署的智能合约,在触发执行后在区块链上产生的合约事件;而BaaS平台可以监听该智能合约在触发执行后在区块链上产生的事件,再基于MQ服务相关的软件,将该合约事件以通知消息的形式添加到消息队列中,使得订阅该消息队列的客户端侧计算设备,能够得到与上述合约事件相关的通知。

计算设备可将数据构建成区块链所支持的标准的交易(transaction)格式,然后发布至区块链,由区块链中的节点设备对收到的交易进行共识处理,并在达成共识后,由区块链中作为记账节点的节点设备,将这笔交易打包进区块,在区块链中进行持久化存证。

无论区块链采用哪种共识算法,记账节点均可以将接收到的交易打包以生成最新区块,并将生成的最新区块发送至其它节点设备进行共识验证。如果其它节点设备接收到最新区块后,经验证没有问题,可以将该最新区块追加到原有的区块链末尾,从而完成区块链的记账过程。其它节点验证记账节点发来的新的区块的过程中,也可以执行该区块中的包含的交易。

需要说明的是,区块链每产生一个最新区块,则在该最新区块中的交易被执行之后,区块链中这些被执行交易的对应状态会随之发生变化。例如,以账户模型构架的区块链中,外部账户或者智能合约账户的账户状态,通常也会随着交易的执行而发生相应的变化。

例如,当区块中的一笔“转账交易”执行完毕后,与该“转账交易”相关的转出方账户和转入方账户的余额(即这些账户的Balance字段的字段值),通常也会随之发生变化。

又如,区块中的“智能合约调用交易”则用以调用区块链上部署的智能合约,在节点设备对应的EVM内调用上述智能合约以执行上述“智能合约调用交易”,并将执行上述智能合约调用交易后、智能合约账户的账户状态更新在该智能合约的账户中。

在实际应用中,不论是公有链、私有链还是联盟链,都可能提供智能合约(Smartcontract)的功能。区块链上的智能合约是在区块链上可以被交易触发执行的合约。智能合约可以通过代码的形式定义。

以以太坊为例,支持用户在以太坊网络中创建并调用一些复杂的逻辑。以太坊作为一个可编程区块链,其核心是以太坊虚拟机(EVM),每个以太坊节点都可以运行EVM。EVM是一个图灵完备的虚拟机,通过它可以实现各种复杂的逻辑。用户在以太坊中发布和调用智能合约就是在EVM上运行的。实际上,EVM直接运行的是虚拟机代码(虚拟机字节码,下简称“字节码”),所以部署在区块链上的智能合约可以是字节码。

创建智能合约和调用智能合约的示意图如图2所示。以太坊中要创建一个智能合约,需要经过编写智能合约、变成字节码、部署到区块链等过程。以太坊中调用智能合约,是发起一笔指向智能合约地址的交易,各个节点的EVM可以分别执行该交易,将智能合约代码分布式的运行在以太坊网络中每个节点的虚拟机中。

用户将一笔包含调用智能合约信息的交易发送到以太坊网络后,各节点均可以在EVM中执行这笔交易。其中,交易的From字段用于记录发起调用智能合约的账户的地址,To字段用于记录被调用的智能合约的地址,交易的Data字段用于记录调用智能合约的方法和参数。调用智能合约后,合约账户的账户状态可能改变。后续,某个客户端可以通过接入的区块链节点查看合约账户的账户状态,例如,上述账户状态可以Key-Value对的形式存储到智能合约的Storage树中。调用智能合约的交易的执行结果,可以是以交易收据(receipt)的形式,存储到MPT收据树中。

智能合约可以以规定的方式在区块链中每个节点独立的执行,所有执行记录和数据都保存在区块链上,所以当这样的交易执行完毕后,区块链上就保存了无法篡改、不会丢失的交易凭证。

图3示意了一示例性实施方式提供的基于区块链的业务费用代扣方法,所述区块链与对目标费用具有多级代扣顺序的多个代扣节点连接。关于代扣节点与区块链的具体连接方式,包括但不限于在图1所示的应用环境中设备3、4、或5与区块链的连接方式,在此不在赘述。

“代扣”,在一些应用场景中还可被称为代收,其具体可包括代扣机构调用付费方用户的支付账户对应的支付机构的代扣接口,在配置相应入参和用户授权信息的条件下,从上述支付账户中进行款项费用的划扣;在一些实施方式中,上述被划扣的款项费用被划拨至用户指定的收款方账户中。代扣所应用的领域包括但不限于电子商务、生活缴费、信用还款、周期性充值业务账户等等。

代扣的执行方可包括上述应用领域所涉及的收费方,例如电子商务中的卖家商户、生活缴费中的水电煤等资源供应机构、信贷业务中的贷款提供方、业务账户对应的业务运营机构等等;然而上述收费方可能不具备依靠自身的网络计算设备和人员配置而准确执行代扣的技术水平,因此,上述收费方通常可委托第三方机构执行上述代扣,上述第三方机构包括但不限于可为代扣的收费方提供代扣技术支持的软件开发商、管理付费方的代扣账户的金融机构、或管理收费方的用户账户的金融机构,等等。本实施方式所述的代扣节点,即可包含上述收费方和收费方委托的第三方机构等持有的计算设备。

而且,本实施方式中与待代扣的目标费用对应的多个代扣节点,具备多级代扣顺序,亦即,对目标费用的代扣行为,可依照上述多级代扣顺序,从起始级代扣节点开始执行,当上一级代扣节点的代扣行为未成功执行(可包括对目标费用未代扣或未完全代扣)时,再由下一级代扣节点继续执行。

本实施方式所述的基于区块链的业务费用代扣方法应用于上述多个代扣节点中的任一目标代扣节点。如图3所示,上述方法包括:

步骤302,从所述区块链获取在所述费用代扣顺序中的上一级代扣节点对所述目标费用的第一代扣结果。

上述上一级代扣节点在对目标费用执行代扣后,可将生成的第一代扣结果保存至区块链。基于上述上一级代扣节点与区块链具体的连接方式不同,其将第一代扣结果保存至区块链的具体过程也可以不同。当上述上一级代扣节点是以图1所示的设备3或5的方式与区块链耦接时,上述上一级代扣节点可将其从对应的代扣服务器获取到的第一代扣结果发送至服务器端102,再由服务器端102将第一代扣结果以区块链系统103接受的格式发送至至区块链系统103;当上述上一级代扣节点是以图1所示的设备4的方式与区块链耦接时,上述上一级代扣节点可将其从对应的代扣服务器获取到的上述第一代扣结果发送至与其对接的区块链节点2,再由区块链节点2将第一代扣结果以区块链系统103接受的格式发送至区块链系统103,等等。

上述上一级代扣节点可在其对应的代扣服务器中(例如图1所示的设备3、4、5)执行对目标费用的代扣。例如,所述目标费用包括目标业务订单中支付账户应支付的费用;所述上一级代扣节点执行对所述目标费用的代扣,包括:

调用与所述目标业务订单的支付账户对应的支付机构的支付接口,执行对所述目标费用的代扣,以将所述至少部分的所述目标费用转账至所述目标业务订单的收款账户。此时,上一级代扣节点可获取所述金融机构针对所述至少部分的所述目标费用而生成的转账回执,所述转账回执包含所述第一代扣结果。

在又一示出的实施方式中,当上述目标费用表现为区块链上流通的、与链下的实体资产(如货币、股票、债券、不动产等)具有价值锚定关系的虚拟资源时,对目标费用执行代扣的过程,可由区块链包括的节点设备响应于上述上一级代扣节点发送的第一代扣交易、执行从支付方的区块链账户中扣除上述目标费用来实现。此时,上述第一代扣结果可作为上述第一代扣交易的执行结果,而被保存至区块链中。

具体的,上述第一代扣交易可以表现为对用于费用代扣的第一智能合约的调用交易,以使节点设备响应于上述第一代扣交易,调用所述第一智能合约的代扣逻辑,从支付方的区块链账户中扣除上述目标费用,并将上述第一代扣交易的执行结果——即第一代扣结果保存在区块链中,例如,存储在所述第一代扣交易对应的交易日志中。

步骤304,当所述第一代扣结果指示所述目标费用未被代扣成功时,继续执行对所述目标费用的费用代扣。

基于具体的业务设置不同,对于支付账户中的余额进行目标费用的扣除的执行策略也不同。例如,基于用户在电商平台购买的产品或服务而对用户的支付账户进行上述目标费用额度的代扣时,如果支付账户中的余额小于上述目标费用,则上述上一级代扣节点可以不进行费用扣除,而直接生成代扣失败的第一代扣结果;而在信贷还款的业务领域中,如果用户指定的用于还款的支付账户中的余额小于待还款的目标费用额度,则上述上一级代扣节点可基于支付账户中的当前余额进行费用扣除,并生成未完全代扣目标费用的第一代扣结果。因此,本实施方式所述的目标费用未被代扣成功,可包括上述目标费用完全没有被执行代扣,或者,上述目标费用中的部分费用被执行代扣成功,尚有差额未被代扣成功;

类似地,上述目标代扣节点可在其对应的代扣服务器中(例如图1所示的设备3、4、5)继续执行对目标费用的代扣,例如,对目标费用全额的代扣,或者,对目标费用尚未代扣成功的额度的代扣。

当所述目标费用包括目标业务订单中支付账户应支付的费用时,所述继续执行对所述目标费用的代扣,包括:调用与所述目标业务订单的支付账户对应的支付机构的支付接口,执行对所述目标费用的代扣,以将所述目标费用的至少部分转账至所述目标业务订单的收款账户。此时,所述目标代扣节点获取继续对所述目标费用的代扣所对应的第二代扣结果,包括:获取所述支付机构针对所述目标费用的至少部分而生成的转账回执,所述转账回执包含所述第二代扣结果。

在又一示出的实施方式中,当上述目标费用表现为区块链上流通的、与链下的实体资产(如货币、股票、债券、不动产等)具有价值锚定关系的虚拟资源时,目标代扣节点从区块链中获取到其上一级代扣节点对所述目标费用的第一代扣结果后,当所述第一代扣结果指示所述目标费用未被代扣成功时,可基于所述第一代扣结果继续执行代扣:向区块链发送第二代扣交易,以使所述区块链的节点设备响应于所述第二代扣交易,从所述目标费用对应的支付方的区块链账户中继续执行对所述目标费用的费用代扣,并将对所述目标费用的费用代扣的第二代扣结果保存至所述区块链。

具体的,上述第二代扣交易可以表现为对用于代扣的第一智能合约的调用交易,以使节点设备响应于上述第二代扣交易,调用所述第一智能合约的代扣逻辑,从支付方的区块链账户中继续执行对上述目标费用的代扣,并将对所述目标费用的费用代扣的第二代扣结果保存至所述区块链,例如,存储在所述第二代扣交易对应的交易日志中。

值得注意的是,为了保证代扣的准确执行,上述第一智能合约内还可部署代扣前验逻辑,以验证上述目标代扣节点是否具备继续执行对所述目标费用的费用代扣的权限。

上述实施方式所述的目标代扣节点向所述区块链发送对所述第一智能合约的调用交易,以使所述区块链的节点设备响应于所述调用交易,调用所述第一智能合约的代扣逻辑,从所述目标费用对应的支付方的区块链账户中继续执行对所述目标费用的费用代扣,并将对所述目标费用的费用代扣的第二代扣结果保存至所述区块链,包括:

上述目标代扣节点向所述区块链发送对所述第一智能合约的调用交易,以使所述区块链的节点设备响应于所述调用交易,调用所述第一智能合约的代扣前验逻辑,验证所述目标代扣节点是否具备继续执行对上述目标费用的费用代扣的权限;如果是,所述区块链的节点设备继续调用上述第一智能合约的代扣逻辑,从所述目标费用对应的支付方的区块链账户中继续执行对所述目标费用的费用代扣,并将对所述目标费用的费用代扣的第二代扣结果保存至所述区块链。

上述各实施方式中对代扣前验逻辑的具体内容不作限定。在一示出的实施方式中,上述第一智能合约中可设置上述业务费用的支付方式,该支付方式包括用户支付或商户代扣。当上述支付方式为商户代扣时,表明上述支付方用户已授权商户或代扣机构对目标费用进行代扣;此时,该商户对应的代扣执行机构——上述多级代扣节点方可具备继续执行对上述目标费用的代扣的权限。

上述区块链的节点设备验证所述目标代扣节点是否具备继续执行对上述目标费用的费用代扣的权限,可包括:上述区块链的节点设备验证所述业务订单对应的支付方式是否包括代扣方式,如果是,则所述目标代扣节点具备继续执行对上述目标费用的费用代扣的权限。

在又一示出的实施方式中,所述业务包括业务订单的支付业务;所述费用代扣包括所述业务订单中的支付费用对应的费用代扣;进行业务订单管理的业务系统可与区块链对接,并通过调用上述第一智能合约以更新业务订单的流程状态。上述节点设备验证所述目标代扣节点是否具备继续执行对上述目标费用的费用代扣的权限,可包括:验证所述业务订单对应的当前状态是否处于预设的禁止代扣状态,如果否,则所述目标代扣节点具备继续执行对上述目标费用的费用代扣的权限。上述预设的禁止代扣状态,可包括已完结状态、已关闭状态等,本领域技术人员还可基于业务的具体流程进行禁止代扣状态的设置或扩充。

在又一示出的实施方式中,上述节点设备验证所述目标代扣节点是否具备继续执行对上述目标费用的费用代扣的权限,还可包括:验证所述多级代扣节点对上述目标费用的代扣金额之和是否超出所述目标费用,如果否,则所述目标代扣节点具备继续执行对上述目标费用的费用代扣的权限。

步骤306,将继续对所述目标费用的代扣所对应的第二代扣结果保存至所述区块链,以使所述目标代扣节点在所述费用代扣顺序中的下一级代扣节点从所述区块链获取所述第二代扣结果,并在所述第二代扣结果指示所述目标费用仍未被代扣成功时,继续执行对所述目标费用的费用代扣,以此类推,直至所述目标费用由保持所述费用代扣顺序的所述多级代扣节点代扣成功。

类似的,上述第二代扣结果指示的、上述目标费用仍未被代扣成功,可包括上述目标费用完全未被代扣成功,或者,上述目标费用的部分被代扣成功,尚有剩余部分未被代扣成功。

上述下一级代扣节点从所述区块链获取所述目标代扣节点对所述目标费用的第二代扣结果,且当所述第二代扣结果指示所述目标费用仍未被代扣成功时,继续执行对所述目标费用的代扣的执行过程,与上述步骤302至304所述的目标代扣节点从所述区块链获取所述上一级代扣节点对所述目标费用的第一代扣结果,且当所述第一代扣结果指示所述目标费用尚未被代扣成功时,继续执行对所述目标费用的代扣的执行过程,类似,在此不再赘述。

当所述目标费用包括目标业务订单中支付账户应支付的费用时,所述具有多级代扣顺序的多个代扣节点中包括的终级代扣节点为与所述目标业务订单的支付账户对应的支付机构节点,以由该支付机构为对上述目标费用的代扣进行兜底:当收款商户本身、或收款商户委托的代扣机构无法完成对上述目标费用的代扣时,上述支付账户对应的支付机构可。

通过步骤302至304所述的基于区块链的业务费用代扣方法,可将具有多级代扣顺序的多个代扣节点中目标代扣节点的上一级代扣节点对目标费用的代扣结果存储至区块链,以使上述目标代扣节点获取其上一级节点对目标费用的代扣结果,并继续执行对目标费用的代扣;多个代扣节点逐级查验其上级节点的代扣结果,并继续执行代扣,直至完成对目标费用的代扣。相对于由指定代扣机构执行代扣,并在代扣失败后查验原因定位问题的模式,通过在区块链上共享多级代扣节点的代扣结果,可以快捷地实现对目标费用的代扣,有效降低了由于某一级代扣节点代扣失败引发的用户信用损失问题。

在又一示出的实施方式中,当对目标费用、或目标费用的剩余待扣差额进行代扣是在目标代扣节点管理的链下代扣服务器中执行时,可利用智能合约的事件机制准确快捷地通知其下一级代扣节点。所述区块链上部署有用于代扣管理的第二智能合约,其中,所述第二智能合约的合约代码声明了与目标费用对应的所述多级代扣节点的多级代扣顺序;所述第一代扣结果被包括在所述区块链的节点设备调用所述第二智能合约而生成的、针对所述目标代扣节点的代扣结果事件中。

在该实施方式中,上述步骤304至306所述的目标代扣节点继续执行对所述目标费用的费用代扣,并将继续对所述目标费用的代扣所对应的第二代扣结果保存至所述区块链,包括:所述目标代扣节点从所述目标费用对应的支付方的链外支付账户中继续执行对所述目标费用的费用代扣;并响应于所述第一代扣结果事件,将继续对所述目标费用的代扣所对应的第二代扣结果发送至所述区块链,以使所述区块链的节点设备基于所述第二代扣结果生成针对所述下一级代扣节点的第二代扣结果事件,并将所述针对所述下一级代扣节点的第二代扣结果事件保存至所述区块链。

这样,利用智能合约的事件机制准确快捷地通知下一级代扣节点,以使下一级代扣节点在获取到上述第二代扣结果事件后,查看所述第二代扣结果指示所述目标费用是否已被代扣成功,并在未被代扣成功时,继续在支付方的链外支付账户中执行对所述目标费用的费用代扣,并将继续代扣的结果发送至区块链中,用以生成对其下一级代扣节点的代扣结果事件,以此类推。

值得注意的是,为了保证代扣的准确执行,上述第二智能合约内还可部署代扣前验逻辑,以验证上述目标代扣节点的下一级代扣节点是否具备继续执行对所述目标费用的费用代扣的权限。

上述实施方式所述的所述区块链的节点设备调用所述第二智能合约的事件生成逻辑,基于所述第二代扣结果生成针对所述下一级代扣节点的第二代扣结果事件,并将所述针对所述下一级代扣节点的第二代扣结果事件保存至所述区块链,包括:

所述区块链的节点设备响应于获取到的所述第二代扣结果,调用所述第二智能合约的代扣前验逻辑,验证所述目标代扣节点的下一级代扣节点是否具备继续执行对上述目标费用的费用代扣的权限;如果是,所述区块链的节点设备继续调用所述第二智能合约的事件生成逻辑,基于所述第二代扣结果生成针对所述下一级代扣节点的第二代扣结果事件,并将所述针对所述下一级代扣节点的第二代扣结果事件保存至所述区块链。

在一示出的实施方式中,上述第二智能合约中可设置上述业务费用的支付方式,该支付方式包括用户支付或商户代扣。当上述支付方式为商户代扣时,表明上述支付方用户已授权商户或代扣机构对目标费用进行代扣;此时,该商户对应的代扣执行机构——上述多级代扣节点方可具备继续执行对上述目标费用的代扣的权限。

上述区块链的节点设备验证所述目标代扣节点的下一级代扣节点是否具备继续执行对上述目标费用的费用代扣的权限,可包括:上述区块链的节点设备验证所述业务订单对应的支付方式是否包括代扣方式,如果是,则所述目标代扣节点的下一级代扣节点具备继续执行对上述目标费用的费用代扣的权限。

在又一示出的实施方式中,所述业务包括业务订单的支付业务;所述费用代扣包括所述业务订单中的支付费用对应的费用代扣;进行业务订单管理的业务系统可与区块链对接,并通过调用上述第二智能合约以更新业务订单的流程状态。上述节点设备验证所述目标代扣节点的下一级代扣节点是否具备继续执行对上述目标费用的费用代扣的权限,可包括:验证所述业务订单对应的当前状态是否处于预设的禁止代扣状态,如果否,则上述目标代扣节点的下一级代扣节点具备继续执行对上述目标费用的费用代扣的权限。上述预设的禁止代扣状态,可包括已完结状态、已关闭状态等,本领域技术人员还可基于业务的具体流程进行禁止代扣状态的设置或扩充。

在又一示出的实施方式中,上述节点设备验证所述目标代扣节点的下一级代扣节点是否具备继续执行对上述目标费用的费用代扣的权限,还可包括:验证所述多级代扣节点对上述目标费用的代扣金额之和是否超出所述目标费用,如果否,则所述目标代扣节点的下一级代扣节点具备继续执行对上述目标费用的费用代扣的权限。

可选的,在上述一种或多种实施方式中,如果收款方商户、或收款方商户委托的代扣机构出现系统故障导致代扣由其他相关方(包括且不限于兜底的支付机构方)发起并成功,成功发起代扣的机构可以向收款方商户收取少量的技术服务费,以提升上述各实施方式所述的多个代扣节点的参与度。

与上述流程实现对应,本说明书的实施方式还提供了基于区块链的业务费用代扣装置40。装置40可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为逻辑意义上的装置,是通过所在设备的CPU(Central Process Unit,中央处理器)将对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,除了图5所示的CPU、内存以及存储器之外,上述装置所在的设备通常还包括用于进行无线信号收发的芯片等其他硬件,和/或用于实现网络通信功能的板卡等其他硬件。

如图4所示,本说明书提供了一种基于区块链的业务费用代扣装置40,所述区块链与具有对目标费用进行费用代扣的权限的多级代扣节点连接;所述多级代扣节点被配置了费用代扣顺序;所述装置40应用于所述多级代扣节点中的任一目标代扣节点,所述装置40包括:

获取单元402,从所述区块链获取在所述费用代扣顺序中的上一级代扣节点对所述目标费用的第一代扣结果;

代扣单元404,当所述第一代扣结果指示所述目标费用未被代扣成功时,继续执行对所述目标费用的费用代扣;

保存单元406,将继续对所述目标费用的代扣所对应的第二代扣结果保存至所述区块链,以使所述目标代扣节点在所述费用代扣顺序中的下一级代扣节点从所述区块链获取所述第二代扣结果,并在所述第二代扣结果指示所述目标费用仍未被代扣成功时,继续执行对所述目标费用的费用代扣,以此类推,直至所述目标费用由保持所述费用代扣顺序的所述多级代扣节点代扣成功。

在又一示出的实施方式中,所述区块链上部署有用于费用代扣的第一智能合约;所述第一智能合约的合约代码声明了与目标费用对应的所述多级代扣节点的多级代扣顺序;

所述代扣单元404,进一步用于:

向所述区块链发送对所述第一智能合约的调用交易,以使所述区块链的节点设备响应于所述调用交易,调用所述第一智能合约的代扣逻辑,从所述目标费用对应的支付方的区块链账户中继续执行对所述目标费用的费用代扣;

所述保存单元406,进一步用于:

将对所述目标费用的费用代扣的第二代扣结果保存至所述区块链。

在又一示出的实施方式中,在调用所述第一智能合约的代扣逻辑,从所述目标费用对应的支付方的区块链账户中继续执行对所述目标费用的费用代扣之前,还包括:

调用所述第一智能合约的代扣前验逻辑,验证所述目标代扣节点是否具备继续执行对上述目标费用的费用代扣的权限;如果是,所述区块链的节点设备继续调用上述第一智能合约的代扣逻辑,从所述目标费用对应的支付方的区块链账户中继续执行对所述目标费用的费用代扣。

在又一示出的实施方式中,所述区块链上部署有用于代扣管理的第二智能合约,其中,所述第二智能合约的合约代码声明了与目标费用对应的所述多级代扣节点的多级代扣顺序;所述第一代扣结果包括所述区块链的节点设备调用所述第二智能合约而生成的、针对所述任一代扣节点的第一代扣结果事件中;

所述代扣单元404,进一步用于:

从所述目标费用对应的支付方的链外支付账户中继续执行对所述目标费用的费用代扣;

所述保存单元406,进一步用于:

响应于所述第一代扣结果事件,将继续对所述目标费用的代扣所对应的第二代扣结果发送至所述区块链,以使所述区块链的节点设备调用所述第二智能合约的事件生成逻辑,基于所述第二代扣结果生成针对所述下一级代扣节点的第二代扣结果事件,并将所述针对所述下一级代扣节点的第二代扣结果事件保存至所述区块链。

在又一示出的实施方式中,在调用所述第二智能合约的事件生成逻辑,基于所述第二代扣结果生成针对所述下一级代扣节点的第二代扣结果事件之前,还包括:

调用所述第二智能合约的代扣前验逻辑,验证所述目标代扣节点的下一级代扣节点是否具备继续执行对上述目标费用的费用代扣的权限;如果是,所述区块链的节点设备继续调用所述第二智能合约的事件生成逻辑,基于所述第二代扣结果生成针对所述下一级代扣节点的第二代扣结果事件。

在又一示出的实施方式中,所述业务包括业务订单的支付业务;所述费用代扣包括所述业务订单中的支付费用对应的费用代扣。

在又一示出的实施方式中,所述具有多级代扣顺序的多个代扣节点中的最后一级代扣节点为,与所述业务订单中的支付账户对应的支付机构节点。

在又一示出的实施方式中,所述业务包括借贷业务;所述费用代扣包括与所述借贷业务对应的借贷费用代扣。

上述装置40中各个单元的功能和作用的实现过程具体详见上述目标代扣节点所执行的基于区块链的业务代扣方法中对应步骤的实现过程,相关之处参见方法实施方式的部分说明即可,在此不再赘述。

以上所描述的装置实施方式仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部单元或模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

上述实施方式阐明的装置、单元、模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。

与上述方法实施方式相对应,本说明书的实施方式还提供了一种计算机设备,如图5所示,该计算机设备包括存储器和处理器。其中,存储器上存储有能够由处理器运行的计算机程序;处理器在运行存储的计算机程序时,执行本说明书实施方式中上述目标代扣节点所执行的基于区块链的业务代扣方法的各个步骤。对上述目标代扣节点所执行的基于区块链的业务代扣方法的各个步骤的详细描述请参见之前的内容,不再重复。

以上所述仅为本说明书的较佳实施方式而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。

计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

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

本领域技术人员应明白,本说明书的实施方式可提供为方法、系统或计算机程序产品。因此,本说明书的实施方式可采用完全硬件实施方式、完全软件实施方式或结合软件和硬件方面的实施方式的形式。而且,本说明书的实施方式可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

相关技术
  • 基于区块链的业务费用代扣方法和装置
  • 基于区块链的缴费代扣方法及装置、电子设备、存储介质
技术分类

06120113065638