一种基于区块链的事务计费方法、装置、设备和介质与流程

文档序号:20783357发布日期:2020-05-19 21:27阅读:121来源:国知局
一种基于区块链的事务计费方法、装置、设备和介质与流程

本申请涉及计算机技术领域,具体涉及区块链技术。



背景技术:

区块链是分布式数据存储、点对点传输、共识机制、加密算法等多种计算机技术有机结合应用。区块链网络中有多个区块链节点参与,对区块链网络中发起的各种事务请求进行计算处理和存储。由于各区块链节点通常需要为了所有用户提供计算资源和存储资源,所以会对处理的事务请求进行计费服务。

在区块链系统中,为事务请求所支付的费用通常为虚拟电子资源,例如电子货币。但是,现有的计费模式比较单一,而现在区块链技术在不同的业务场景中正在被广泛采用,所以单一的计费模式很难支撑复杂的业务处理需求。



技术实现要素:

本申请实施例提供了一种基于区块链的事务计费方法、装置、设备和介质,以优化区块链系统中的计费模式,有效支撑不同的业务应用场景。

本申请实施例的第一方面,提供了一种基于区块链的事务计费方法,由事务发起方执行,所述方法包括:

产生初始事务请求;

根据所述初始事务请求向目标付费方发起计费请求;

获取所述目标付费方反馈的付费凭证;

将所述初始事务请求与所述付费凭证进行关联,形成付费事务请求,将所述付费事务请求传输给区块链节点,以请求区块链节点根据付费凭证扣除费用后,并对所述付费事务请求进行处理。

上述申请中的一个实施例具有如下优点或有益效果:通过控制一个区块链账户所发起的事务请求向另一个区块链账户进行计费,丰富了区块链系统中的计费模式,能够有效支撑多种复杂的业务应用场景。

可选的是:根据所述初始事务请求向目标付费方发起计费请求包括:

根据所述初始事务请求,向多个目标付费方,同时或分时发起所述计费请求;或

根据所述初始事务请求,向一个目标付费方,发起所述计费请求。

可选的是:如果所述目标付费方为多个,则将所述初始事务请求与所述付费凭证进行关联,形成付费事务请求包括:

根据反馈的多个付费凭证,如果确定多个付费凭证的费用之和满足所述初始事务请求的付费要求时,则将所述初始事务请求与多个所述付费凭证进行关联,形成付费事务请求。

可选的是:确定多个付费凭证的费用之和满足所述初始事务请求的付费要求包括:

按照付费凭证的接收顺序、目标付费方信息和付费凭证的至少一项,确定费用之和能够满足所述初始事务请求的付费要求的多个付费凭证。

可选的是:如果所述目标付费方为多个,则将所述初始事务请求与所述付费凭证进行关联,形成付费事务请求包括:

将所述初始事务请求与所有所述付费凭证进行关联,形成付费事务请求。

上述可选方式具有如下优点或有益效果:通过向多个目标付费方请求进行付费,可以实现更加复杂的计费过程,由此增加了可控环节和可控因素,从而通过计费过程可以实现更多的业务控制。

可选的是:所述付费凭证是目标付费方采用目标付费方的区块链账户私钥进行签名的转账事务请求。

可选的是:产生初始事务请求包括:

采用所述事务发起方的区块链账户私钥对初始事务请求的数据进行一次签名;

相应的,将所述初始事务请求与所述付费凭证进行关联,形成付费事务请求包括:

将所述付费凭证与一次签名后的所述初始事务请求进行封装,并采用所述事务发起方的区块链账户私钥进行二次签名,以形成所述付费事务请求。

上述可选方式具有如下优点或有益效果:通过私钥签名,可以使事务发起方对初始事务请求和封装有付费凭证的付费事务请求分别进行确认。

可选的是:根据所述初始事务请求向目标付费方发起计费请求包括:

对所述初始事务请求进行预执行,以预估待付费用;

根据所述待付费用向所述目标付费方发起计费请求。

可选的是:根据所述初始事务请求向目标付费方发起计费请求包括:

根据所述初始事务请求确定初始事务数据标识;

将所述初始事务数据标识、所述初始事务请求的属性数据与所述事务发起方的身份标识,一并携带在计费请求中发送给所述目标付费方。

上述可选方式具有如下优点或有益效果:通过携带初始事务数据标识、所述初始事务请求的属性数据与所述事务发起方的身份标识,能够为付费方提供决定是否付费的依据,也能完善付费控制。

可选的是:所述付费方为第三方应用程序的服务方,所述事务发起方为第三方应用程序的客户端,所述第三方应用程序以智能合约的形式部署于区块链网络中,用于产生所述初始事务处理和所述付费事务请求。

上述可选方式具有如下优点或有益效果:通过将此计费方式使用于第三方应用程序的服务场景中,能够为第三方应用程序的服务方提供可控计费方式,也使得客服端的用户发起事务请求的主动性更强。

本申请实施例的第二方面,提供了一种基于区块链的事务计费方法,由付费方执行,所述方法包括:

接收事务发起方根据发起的初始事务请求而发送的计费请求;

根据所述计费请求产生付费凭证,并反馈给所述事务发起方,以使所述事务发起方将所述初始事务请求与所述付费凭证进行关联,形成付费事务请求,将所述付费事务请求传输给区块链节点。

可选的是:根据所述计费请求产生付费凭证之前,还包括:

根据所述计费请求中携带的所述事务发起方的身份标识、所述初始事务数据标识、以及所述初始事务请求的属性数据中的至少一项,确定是否同意付费。

上述申请中的一个实施例具有如下优点或有益效果:通过请求一个区块链账户向另一区块链账户来提供付费凭证,丰富了区块链中事务请求的计费方式,使其能支撑更多的业务应用场景。

本申请实施例的第三方面,提供了一种基于区块链的事务计费方法,由区块链节点执行,所述方法包括:

获取付费事务请求;

从所述付费事务请求中获取付费凭证;

根据所述付费凭证进行费用扣除,并对所述付费事务请求进行处理;

其中,所述付费凭证的付费方账户与所述付费事务请求的事务发起方账户不相同。

可选的是:从所述付费事务请求中获取付费凭证包括:

采用所述事务发起方的账户公钥对所述付费事务请求进行签名验证;

如果验证通过,从所述付费事务请求中获取付费凭证;

采用所述付费方的账户公钥对所述付费凭证进行验证,并采用所述事务发起方的账户公钥对所述付费事务请求中的初始事务请求进行签名验证。

上述申请中的一个实施例具有如下优点或有益效果:区块链节点通过处理一个区块链账户发起的事务请求时,从另一区块链账户进行扣费,丰富了区块链中事务请求的计费方式,使其能支撑更多的业务应用场景。

本申请实施例的第四方面,提供了一种基于区块链的事务计费装置,配置于事务发起方,所述装置包括:

初始事务产生模块,用于产生初始事务请求;

计费请求发起模块,用于根据所述初始事务请求向目标付费方发起计费请求;

付费凭证获取模块,用于获取所述目标付费方反馈的付费凭证;

付费事务产生模块,用于将所述初始事务请求与所述付费凭证进行关联,形成付费事务请求,将所述付费事务请求传输给区块链节点,以请求区块链节点根据付费凭证扣除费用后,并对所述付费事务请求进行处理。

本申请实施例的第五方面,提供了一种基于区块链的事务计费装置,配置于付费方,所述装置包括:

计费请求接收模块,用于接收事务发起方根据发起的初始事务请求而发送的计费请求;

付费凭证产生模块,用于根据所述计费请求产生付费凭证,并反馈给所述事务发起方,以使所述事务发起方将所述初始事务请求与所述付费凭证进行关联,形成付费事务请求,将所述付费事务请求传输给区块链节点。

本申请实施例的第六方面,提供了一种基于区块链的事务计费装置,配置于区块链节点,所述装置包括:

付费事务获取模块,用于获取付费事务请求;

付费凭证获取模块,用于从所述付费事务请求中获取付费凭证;

费用扣除模块,用于根据所述付费凭证进行费用扣除,并对所述付费事务请求进行处理;

其中,所述付费凭证的付费方账户与所述付费事务请求的事务发起方账户不相同。

本申请实施例的第七方面,提供了一种电子设备,包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请实施例第一方面或第二方面或第三方面所提供的基于区块链的事务计费方法。

本申请实施例的第八方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本申请实施例第一方面或第二方面或第三方面所提供的基于区块链的事务计费方法。

上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。

附图说明

附图用于更好地理解本方案,不构成对本申请的限定。其中:

图1为本申请实施例一提供的一种基于区块链的事务计费方法的流程图;

图2为本申请实施例二提供的一种基于区块链的事务计费方法的流程图;

图3为本申请实施例三提供的另一种基于区块链的事务计费方法的流程图;

图4为本申请实施例四提供的再一种基于区块链的事务计费方法的流程图;

图5为本申请实施例五提供的一种基于区块链的事务计费装置的结构框图;

图6为本申请实施例六提供的另一种基于区块链的事务计费装置的结构框图;

图7为本申请实施例七提供的再一种基于区块链的事务计费装置的结构框图;

图8为本申请实施例八提供的实现基于区块链的事务计费的电子设备的框图。

具体实施方式

以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

实施例一

图1为本申请实施例一所提供的一种基于区块链的事务计费方法的流程图。本申请实施例所提供的计费方法,适用于在区块链网络中对事务请求进行计费并执行的过程。在本申请实施例中,计费过程涉及三方,即事务发起方、付费方和进行费用扣除和事务请求执行的区块链节点。事务发起方和付费方为拥有区块链账户的用户,通过区块链节点中配置的基于区块链的事务计费装置来实现事务的发起和付费,基于区块链的事务计费装置可采用软件和/或硬件的方式来实现。

本申请实施例首先介绍由事务发起方执行的事务计费方法,该方法包括:

s110、产生初始事务请求;

上述操作中,初始事务请求是由事务发起方产生的需要区块链节点进行处理的事务。初始事务请求可以是通过调用智能合约而产生的,也可以是通过区块链系统支持的其他技术而产生的。可以用于处理任何业务功能,例如可以是第三方应用程序的服务商所部署的业务智能合约产生的事务请求。

s120、根据所述初始事务请求向目标付费方发起计费请求;

具体的,基于初始事务请求向目标付费方发起计费请求,以请求目标付费方给出付费凭证,作为该事务请求的所需扣费。其中,目标付费方可以是默认设定的或按照规则动态确定的。例如,对于第三方应用服务商提供的业务场景,则目标付费方可以默认设定是第三方应用服务商所对应的区块链账户。可以在业务智能合约中以默认设定的方式来确定目标付费方的账户地址,或者,也可以在业务智能合约中设定获取目标付费方账户地址的规则方式,从而能够根据规则方式动态确定目标付费方。规则方式例如是从区块链所存储的账户地址名单中查询获取。

目标付费方也可以是事务发起方确定的,例如,确定可信的、可能付费的账户地址作为目标付费方。

在上述操作中,可选的是,事务发起方对所述初始事务请求进行预执行,以预估待付费用;根据所述待付费用向所述目标付费方发起计费请求。具体的,事务发起方可以请求本地的区块链节点进行预执行,以有效估算执行所需费用。确定待付费用后,可以全额或部分额度向目标付费方发起计费请求。

为了供目标付费方决定是否付费,可以将初始事务请求或事务发起方的相关信息提供给目标付费方,以请求付费。可选的是:根据所述初始事务请求向目标付费方发起计费请求具体包括:

根据所述初始事务请求确定初始事务数据标识;

将所述初始事务数据标识、所述初始事务请求的属性数据与所述事务发起方的身份标识,一并携带在计费请求中发送给所述目标付费方。

具体是:初始事务数据标识是根据初始事务请求的数据计算的哈希值,以唯一标识该初始事务请求。属性数据是对初始事务请求的介绍性数据,可按需确定该提取哪些属性数据,有助于目标付费方识别。例如属性数据可以是表明事务类型的、事务发起时间、事务摘要等。事务发起方的身份标识可以是区块链账户地址或公钥,也可以是其他身份标识。例如,当应用场景是第三方业务应用时,身份标识还可以包括客户端的账户信息等。

可选的,也可以将初始事务请求直接发送给目标付费方以进行计费请求。由此,目标付费方也可以通过执行该初始事务请求来确定计费数额,或者确定是否同意付费。

本申请实施例中,事务发起方和付费方,均对应于区块链账户,可以承载于区块链全节点或轻量级节点所在的计算设备中。事务发起方和付费方之间,可通过区块链节点之间的通信协议进行交互,或可以通过其他方式进行通信交互。

s130、获取所述目标付费方反馈的付费凭证;

目标付费方在接收到计费请求后,可以确认同意付费,也可以确认拒绝付费。可以由用户通过查看计费请求后进行人工操作来决定,也可以通过设定规则来自动进行确认。例如,对于第三方应用服务商,可以通过验证计费请求的事务发起方的身份信息,如果属于第三方应用的客户端,就可以同意付费。当目标付费方拒绝付费后,可以主动通知事务发起方拒绝付费的决定,或者也可以不做反馈,则事务发起方在设定时间段内无法获取到付费凭证,则视为拒绝付费。

目标付费方在同意付费后产生付费凭证,付费凭证是用于供区块链节点进行费用扣除的凭证。所支付费用为区块链系统中可流通操作的电子资源,例如电子货币,也可以是其他资源元素。通常,电子资源是通过区块链账户来管理的,所以,费用扣除即从目标付费方的区块链账户转移电子资源到区块链节点的账户中。目标付费方可采用自己的区块链账户私钥进行签名,以表明同意转账,作为付费凭证。

付费凭证的一个具体示例为:所述付费凭证是目标付费方采用目标付费方的区块链账户私钥进行签名的转账事务请求。转账事务请求在不同技术支持的区块链系统中有不同的形态,例如可以是一个未花费交易输出(unspenttransactionoutput,utxo),由目标付费方对自己账户所持有的一个utxo采用私钥签名,以供区块链节点进行转账扣费。

s140、将所述初始事务请求与所述付费凭证进行关联,形成付费事务请求,将所述付费事务请求传输给区块链节点,以请求区块链节点根据付费凭证扣除费用后,并对所述付费事务请求进行处理。

当事务发起方获取到付费凭证后,则将初始事务请求与付费凭证进行关联,以形成付费事务请求后传输给区块链节点。关联的方式可以有多种,只要能够建立两者的对应关系,以供区块链节点能够识别对应关系即可。例如,可以将初始事务请求的事务标识与付费凭证进行关联记录。

优选的关联方式是:

产生初始事务请求包括:采用所述事务发起方的区块链账户私钥对初始事务请求的数据进行一次签名;

相应的,将所述初始事务请求与所述付费凭证进行关联,形成付费事务请求包括:

将所述付费凭证与一次签名后的所述初始事务请求进行封装,并采用所述事务发起方的区块链账户私钥进行二次签名,以形成所述付费事务请求。

上述技术方案中,第一次私钥签名是事务发起方确认发起的事务请求实际内容;第二次私钥签名是事务发起方确认付费凭证。将付费凭证封装到初始事务请求中可以实现两者关联。以utxo为例,初始事务请求中可以保留付费字段,将目标付费方提供的utxo填入该付费字段,就实现了封装。

上述操作中,将关联后形成的付费事务请求发送至区块链节点,区块链节点就可以基于付费凭证进行扣费操作,而后对付费事务请求的实际业务需求进行处理了。可选的,区块链节点可以对付费凭证的有效性进行验证,以及对费用是否足额进行验证,如果验证不通过,可以反馈要求重新提交,或者拒绝执行该付费事务请求。

上述封装操作,也可以由目标付费方来执行。如果事务发起方将初始事务请求发送给目标付费方,则目标付费方可以直接将付费凭证封装在初始事务请求中,提供给事务发起方。

事务发起方可以主动向区块链节点进行确认,扣费及执行上链是否成功。

本申请实施例的技术方案,通过请求另一区块链账户来提供付费凭证,丰富了区块链中事务请求的计费方式,使其能支撑更多的业务应用场景。

可选的业务应用场景,可以是:所述付费方为第三方应用程序的服务方,所述事务发起方为第三方应用程序的客户端,所述第三方应用程序以智能合约的形式部署于区块链网络中,用于产生所述初始事务处理和所述付费事务请求。第三方应用可以是电商平台类、用户数据存证类等各种业务应用。这些应用一般由服务方设置中心化的服务器为多个客户端提供服务。客户端一方面可以访问服务方的服务器,另一方面也可以通过部署于用户终端的轻量级节点来直接访问区块链。在服务方提供业务服务的过程中,可以由服务方注册的区块链账户进行付费。当然,在付费过程中,付费方可以结合多种付费策略来控制业务应用。例如通过拒绝付费来控制某些客户端对业务的使用等。

实施例二

图2为本申请实施例二提供的一种基于区块链的事务计费方法的流程图,本实施例以前述实施例为基础,进一步提供了向多个目标付费方请求付费的实施方式。本实施例包括:

s210、产生初始事务请求;

s220、根据所述初始事务请求,向多个目标付费方,同时或分时发起所述计费请求;

在本实施例中,根据所述初始事务请求,可以向一个目标付费方,发起所述计费请求。或者,也可以向多个目标付费方发起计费请求。多个目标付费方的确定方式可参照前述介绍,可以是默认的,或基于设定规则动态查询确定的,可以是事务发起方在指定范围内任意选择的。

事务发起方,可以同时向多个目标付费方发送相同的计费请求,多个目标付费方,可能有的选择同意付费,有的选择拒绝付费,反馈的付费凭证一般也有先后顺序,则事务发起方可以根据情况决定如何使用付费凭证。

事务发起方,也可以向多个目标付费方发送不同的计费请求,主要是其中的付费数额可以有差异。例如,若几个目标付费方设定需要组合付费的,则每个计费请求中的付费数额是总数额的多等分。那么,如果任意一个目标付费方不同意付费,则该初始事务请求无法正常推进。当然,多个付费数额的总额可以等于或超过事务发起方预估的待付费用数额,以保证得到足够的费用。

事务发起方产生多个计费请求还可以分时发给多个目标付费方,例如,按照可信度或默认的优先级顺序发送,如果能从一个目标付费方获得付费凭证,就不再向下一个目标付费方发送计费请求,否则继续发送,直至获得足够的付费凭证为止。

事务发起方所发起的多个计费请求,可以携带或不携带多个目标付费方的信息,由此,多个目标付费方之间可以彼此获知其他目标付费方,或者也可以不获知,只自行决定是否同意付费。

事务发起方向多个目标付费方请求付费的实现方式不限于此,可以灵活进行确定。

s230、获取所述目标付费方反馈的付费凭证;

事务发起方在本操作中可以获得一个或多个付费凭证。

s240、将所述初始事务请求与所述付费凭证进行关联,形成付费事务请求,将所述付费事务请求传输给区块链节点,以请求区块链节点根据付费凭证扣除费用后,并对所述付费事务请求进行处理。

具体的事务发起方在使用付费凭证时可以有多种处理方式。

其中一种处理方式为:如果所述目标付费方为多个,则将所述初始事务请求与所述付费凭证进行关联,形成付费事务请求包括:

根据反馈的多个付费凭证,如果确定多个付费凭证的费用之和满足所述初始事务请求的付费要求时,则将所述初始事务请求与多个所述付费凭证进行关联,形成付费事务请求。

该处理方式中,由事务发起方对付费凭证进行选择,组合获取费用足够的几个付费凭证,多余的付费凭证可放弃使用。

进一步的,确定多个付费凭证的费用之和满足所述初始事务请求的付费要求可以包括:按照付费凭证的接收顺序、目标付费方信息和付费凭证的至少一项,确定费用之和能够满足所述初始事务请求的付费要求的多个付费凭证。

上述方案中,选择付费凭证,可以是按照接收顺序、目标付费方的信息、付费凭证本身的属性等,来决定使用哪些付费凭证。

另一种处理方式为:如果所述目标付费方为多个,则将所述初始事务请求与所述付费凭证进行关联,形成付费事务请求包括:

将所述初始事务请求与所有所述付费凭证进行关联,形成付费事务请求。

上述方案中,事务发起方不对付费凭证进行选择,可以使用所有获得的付费凭证。后续可以由区块链节点来确定使用哪些付费凭证。例如,区块链节点在多个付费凭证中随机使用满足费用要求的付费凭证,多余的付费凭证可放弃使用。

本实施例的技术方案,进一步提供了向多个目标付费方进行计费的实现方式。当目标付费方有多个时,使得计费过程有更多的可控因素,能够支撑更灵活的业务场景。

实施例三

图3为本申请实施例三提供的另一种基于区块链的事务计费方法的流程图,本实施例可以由配置于目标付费方的基于区块链的事务计费装置来实现,该装置可以采用软件和/或硬件的方式实现。本实施例的方法,可以与前述实施例所提供的事务发起方执行的方法配合执行。

如图3所示,该方法包括:

s310、接收事务发起方根据发起的初始事务请求而发送的计费请求;

如前所介绍的,计费请求表明需要对初始事务请求的执行进行付费。

付费方可以根据所述计费请求中携带的所述事务发起方的身份标识、所述初始事务数据标识、以及所述初始事务请求的属性数据中的至少一项,确定是否同意付费。因此,付费方实际可以进行付费控制,对于满足条件的事务发起方或事务,才提供付费凭证。其他不满足条件的可以拒绝付费。

s320、根据所述计费请求产生付费凭证,并反馈给所述事务发起方,以使所述事务发起方将所述初始事务请求与所述付费凭证进行关联,形成付费事务请求,将所述付费事务请求传输给区块链节点。

付费方可以对应于区块链账户,从自己的区块链账户中确定能够支付的电子资源作为付费凭证,例如utxo。付费方可采用自己的区块链账户私钥进行签名,以表明同意此次付费。付费方可以将公钥与付费凭证一并反馈给事务发起方。

在上述技术方案的基础上,可选的,根据所述计费请求产生付费凭证,并反馈给所述事务发起方可以具体包括:

根据所述计费请求产生付费凭证,并采用付费方区块链账户私钥进行签名;

将所述付费封装在事务发起方提供的所述初始事务请求中,与付费方区块链公钥一并反馈给所述事务发起方

本申请实施例可以与前述实施例所提供的事务发起方所执行的方法配合执行,具体细节可参见前述实施例的介绍。本申请实施例,通过请求一个区块链账户向另一区块链账户来提供付费凭证,丰富了区块链中事务请求的计费方式,使其能支撑更多的业务应用场景。

实施例四

图4为本申请实施例四提供的再一种基于区块链的事务计费方法的流程图,本实施例可以由区块链节点执行,并可与前述实施例提供的事务发起方和付费方所执行的方法配合实现。本实施例的方法包括:

s410、获取付费事务请求;

事务发起方确定的付费事务请求,可以提交至区块链系统,在区块链网络中进行广播,使区块链节点获取该付费事务请求。

s420、从所述付费事务请求中获取付费凭证;

区块链节点在执行付费事务请求之前,先行获取付费凭证。当然,区块链节点可以对付费凭证的有效性和数额进行验证。例如验证是否有付费方的私钥签名表明同意扣费,数额是否满足处理所需的费用。

在本申请实施例中,从所述付费事务请求中获取付费凭证具体包括:

采用所述事务发起方的账户公钥对所述付费事务请求进行签名验证;

如果验证通过,从所述付费事务请求中获取付费凭证;

采用所述付费方的账户公钥对所述付费凭证进行验证,并采用所述事务发起方的账户公钥对所述付费事务请求中的初始事务请求进行签名验证。

s430、根据所述付费凭证进行费用扣除,并对所述付费事务请求进行处理;

区块链节点根据付费凭证进行有效的费用扣除,就能够执行该付费事务请求,并进行上链操作了。

其中,所述付费凭证的付费方账户与所述付费事务请求的事务发起方账户不相同。可选的,付费方账户可以是一个或多个。如果所支付的费用超出处理实际所需费用,那么可以进行部分扣除,或者放弃扣除部分付费凭证。

本申请实施例可以与前述实施例所提供的事务发起方和付费方所执行的方法配合执行,具体细节可参见前述实施例的介绍。本申请实施例,区块链节点通过处理一个区块链账户发起的事务请求时,从另一区块链账户进行扣费,丰富了区块链中事务请求的计费方式,使其能支撑更多的业务应用场景。

实施例五

图5为本申请实施例五提供的一种基于区块链的事务计费装置的结构框图,该装置500配置于事务发起方,具体可配置于承载事务发起方的电子设备中。所述装置包括:初始事务产生模块510、计费请求发起模块520、付费凭证获取模块530和付费事务产生模块540。

其中,初始事务产生模块510,用于产生初始事务请求;计费请求发起模块520,用于根据所述初始事务请求向目标付费方发起计费请求;付费凭证获取模块530,用于获取所述目标付费方反馈的付费凭证;付费事务产生模块540,用于将所述初始事务请求与所述付费凭证进行关联,形成付费事务请求,将所述付费事务请求传输给区块链节点,以请求区块链节点根据付费凭证扣除费用后,并对所述付费事务请求进行处理。

本申请实施例的技术方案,通过请求另一区块链账户来提供付费凭证,丰富了区块链中事务请求的计费方式,使其能支撑更多的业务应用场景。

在上述技术方案的基础上,计费请求发起模块520具体可用于根据所述初始事务请求,向多个目标付费方,同时或分时发起所述计费请求;或者具体可用于根据所述初始事务请求,向一个目标付费方,发起所述计费请求。

可选的,如果所述目标付费方为多个,则付费事务产生模块540具体可用于根据反馈的多个付费凭证,如果确定多个付费凭证的费用之和满足所述初始事务请求的付费要求时,则将所述初始事务请求与多个所述付费凭证进行关联,形成付费事务请求。

其中,付费事务产生模块540执行的确定多个付费凭证的费用之和满足所述初始事务请求的付费要求的操作可以具体是:按照付费凭证的接收顺序、目标付费方信息和付费凭证的至少一项,确定费用之和能够满足所述初始事务请求的付费要求的多个付费凭证。

可选的,如果所述目标付费方为多个,则付费事务产生模块540具体可用于将所述初始事务请求与所有所述付费凭证进行关联,形成付费事务请求。

本申请实施例中,所述付费凭证是目标付费方采用目标付费方的区块链账户私钥进行签名的转账事务请求。

在上述技术方案的基础上,可选的,初始事务产生模块510具体用于:采用所述事务发起方的区块链账户私钥对初始事务请求的数据进行一次签名;

相应的,付费事务产生模块540具体可用于将所述付费凭证与一次签名后的所述初始事务请求进行封装,并采用所述事务发起方的区块链账户私钥进行二次签名,以形成所述付费事务请求。

可选的,计费请求发起模块520具体还可用于对所述初始事务请求进行预执行,以预估待付费用;根据所述待付费用向所述目标付费方发起计费请求。

可选的,计费请求发起模块520具体还可用于根据所述初始事务请求确定初始事务数据标识;将所述初始事务数据标识、所述初始事务请求的属性数据与所述事务发起方的身份标识,一并携带在计费请求中发送给所述目标付费方。

在本申请实施例中,一个可选的应用实例是,所述付费方为第三方应用程序的服务方,所述事务发起方为第三方应用程序的客户端,所述第三方应用程序以智能合约的形式部署于区块链网络中,用于产生所述初始事务处理和所述付费事务请求。

本实施例可以执行本申请实施例所提供的事务发起方执行的事务计费方法,具备相应的功能和有益效果。

实施例六

图6为本申请实施例六提供的另一种基于区块链的事务计费装置的结构框图,该装置600配置于付费方,具体可配置于承载付费方的电子设备中。所述装置包括:计费请求接收模块610和付费凭证产生模块620。其中,计费请求接收模块610,用于接收事务发起方根据发起的初始事务请求而发送的计费请求;付费凭证产生模块620,用于根据所述计费请求产生付费凭证,并反馈给所述事务发起方,以使所述事务发起方将所述初始事务请求与所述付费凭证进行关联,形成付费事务请求,将所述付费事务请求传输给区块链节点。

可选的是,还包括,付费确定模块,用于根据所述计费请求产生付费凭证之前,根据所述计费请求中携带的所述事务发起方的身份标识、所述初始事务数据标识、以及所述初始事务请求的属性数据中的至少一项,确定是否同意付费。

本申请实施例可以与前述实施例所提供的事务发起方所配置的装置配合实现,具体细节可参见前述实施例的介绍。本申请实施例,通过请求一个区块链账户向另一区块链账户来提供付费凭证,丰富了区块链中事务请求的计费方式,使其能支撑更多的业务应用场景。

本实施例可以执行本申请实施例所提供的付费方执行的事务计费方法,具备相应的功能和有益效果。

实施例七

图7为本申请实施例七提供的再一种基于区块链的事务计费装置的结构框图,该装置700配置于区块链节点中。所述装置包括:付费事务获取模块710、付费凭证获取模块720和费用扣除模块730。

其中,付费事务获取模块710,用于获取付费事务请求;付费凭证获取模块720,用于从所述付费事务请求中获取付费凭证;费用扣除模块730,用于根据所述付费凭证进行费用扣除,并对所述付费事务请求进行处理;其中,所述付费凭证的付费方账户与所述付费事务请求的事务发起方账户不相同。

可选的是,付费凭证获取模块720具体用于:采用所述事务发起方的账户公钥对所述付费事务请求进行签名验证;如果验证通过,从所述付费事务请求中获取付费凭证;采用所述付费方的账户公钥对所述付费凭证进行验证,并采用所述事务发起方的账户公钥对所述付费事务请求中的初始事务请求进行签名验证。

本申请实施例可以与前述实施例所提供的事务发起方和付费方所配置的装置配合实现,具体细节可参见前述实施例的介绍。本申请实施例,区块链节点通过处理一个区块链账户发起的事务请求时,从另一区块链账户进行扣费,丰富了区块链中事务请求的计费方式,使其能支撑更多的业务应用场景。

本实施例可以执行本申请实施例所提供的区块链节点执行的事务计费方法,具备相应的功能和有益效果。

根据本申请的实施例,本申请实施例还提供了一种电子设备和一种可读存储介质。

如图8所示,是根据本申请实施例八提供的基于区块链的事务计费电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。

如图8所示,该电子设备包括:一个或多个处理器801、存储器802,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示gui的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图8中以一个处理器801为例。

存储器802即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请实施例所提供的基于区块链的事务计费方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请实施例所提供的基于区块链的事务计费方法。

存储器802作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的基于区块链的事务计费方法对应的程序指令/模块(例如,附图5所示的初始事务产生模块510、计费请求发起模块520、付费凭证获取模块530和付费事务产生模块540,或者图6所示的计费请求接收模块610和付费凭证产生模块620,或者图7所示的付费事务获取模块710、付费凭证获取模块720和费用扣除模块730)。处理器801通过运行存储在存储器802中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的基于区块链的事务计费方法。

存储器802可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据基于区块链的事务计费电子设备的使用所创建的数据等。此外,存储器802可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器802可选包括相对于处理器801远程设置的存储器,这些远程存储器可以通过网络连接至基于区块链的事务计费电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网、区块链网络及其组合。

基于区块链的事务计费电子设备还可以包括:输入装置803和输出装置804。处理器801、存储器802、输入装置803和输出装置804可以通过总线或者其他方式连接,图8中以通过总线连接为例。

输入装置803可接收输入的数字或字符信息,以及产生与基于区块链的事务计费电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置804可以包括显示设备、辅助照明装置(例如,led)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(lcd)、发光二极管(led)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。

此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用asic(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(pld)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。

根据本申请实施例的技术方案,通过控制一个区块链账户为另一个区块链账户发起的事务请求进行付费,从而丰富了区块链系统中的计费功能,能支撑更多复杂需求的业务应用场景。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

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