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

基于区块链的资源处理方法及装置与流程

2022-05-26 22:37:30 来源:中国专利 TAG:


1.本说明书一个或多个实施例涉及区块链技术领域,特别涉及一种基于区块链的资源处理方法及装置。


背景技术:

2.区块链(blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。在区块链中按照时间顺序将数据区块以顺序相连的方式组合成链式数据结构,并以密码学方式保证数据区块不可篡改和不可伪造。由于区块链具有去中心化、信息不可篡改、自治性等特性,区块链也受到人们越来越多的重视和应用。
3.目前来说,在买卖双方用户进行买卖交易时,由于买卖交易的流程繁杂,使得系统计算性能差,交易效率低,无法满足日益增大的交易量。


技术实现要素:

4.本说明书一个或多个实施例提供一种基于区块链的资源处理方法及装置。
5.根据第一方面,提供一种基于区块链的资源处理方法,所述方法应用于服务器,所述服务器与所述区块链的节点对接;所述服务器中存储有从所述区块链的节点获取的第一交易的数据,所述第一交易用于从第一用户的区块链账户向第二用户的区块链账户转送第一资源,所述服务器管理第一用户的链下账户和第二用户的链下账户,所述第一用户的链下账户中包括冻结的与所述第一资源对应的第二资源,所述方法包括:
6.响应于所述第二用户的资源转换请求,根据所述第一交易的数据向所述区块链的节点发送第二交易,所述第二交易用于从所述第二用户的区块链账户消除所述第一资源;
7.在从所述区块链节点接收所述第二交易完成的信息之后,从所述第一用户的链下账户获取冻结的所述第二资源;
8.向所述第二用户的链下账户转入获取的所述第二资源中的至少部分。
9.可选地,所述服务器中存储有多个第一交易的数据;
10.其中,所述根据所述第一交易的数据向所述区块链的节点发送第二交易包括,根据所述多个第一交易的数据,向所述区块链的节点发送第二交易。
11.可选地,在向所述区块链的节点发送第二交易之前,还包括:
12.从存储的数据中查找并获取从第一用户的区块链账户向第二用户的区块链账户转送第一资源的多个交易的数据作为所述多个第一交易的数据。
13.可选地,所述根据所述多个第一交易的数据向所述区块链的节点发送第二交易,包括:
14.根据所述多个第一交易的数据,计算从所述第一用户的区块链账户向所述第二用户的区块链账户转送的第一资源的第一数目;
15.向所述区块链的节点发送用于从所述第二用户的区块链账户消除所述第一数目的第一资源的所述第二交易。
16.可选地,其中,在计算所述第一数目之后,还包括:
17.确定与所述第一数目的第一资源对应的第二数目的第二资源;
18.其中,所述在从所述区块链节点接收所述第二交易完成的信息之后,从所述第一用户的链下账户获取冻结的所述第二资源,包括:
19.在从所述区块链节点接收所述第二交易完成的信息之后,从所述第一用户的链下账户获取所述第二数目的第二资源。
20.可选地,所述方法还包括:
21.向所述第一交易的处理方的链下账户和/或所述第二交易的处理方的链下账户转入第三数目的第二资源;所述第三数目的第二资源为获取的所述第二资源中的部分。
22.可选地,所述方法还包括:
23.周期地从所述区块链拉取新的区块的数据,并存储拉取的新的区块的数据。
24.可选地,所述方法还包括:
25.向所述区块链发送第三交易,所述第三交易用于对所述第一用户的区块链账户充值预设数目的第一资源;
26.冻结所述第一用户的链下账户中的与所述预设数目的第一资源对应的第二资源。
27.根据第二方面,提供一种基于区块链的资源处理装置,所述装置应用于服务器,所述服务器与所述区块链的节点对接;所述服务器中存储有从所述区块链的节点获取的第一交易的数据,所述第一交易用于从第一用户的区块链账户向第二用户的区块链账户转送第一资源,所述服务器管理第一用户的链下账户和第二用户的链下账户,所述第一用户的链下账户中包括冻结的与转送的所述第一资源对应的第二资源,所述装置包括:
28.发送模块,用于响应于所述第二用户的资源转换请求,根据所述第一交易的数据向所述区块链的节点发送第二交易,所述第二交易用于从所述第二用户的区块链账户消除所述第一资源;
29.获取模块,用于在从所述区块链节点接收所述第二交易完成的信息之后,从所述第一用户的链下账户获取冻结的所述第二资源;
30.转入模块,用于向所述第二用户的链下账户转入获取的所述第二资源中的至少部分。
31.可选地,所述服务器中存储有多个第一交易的数据;
32.其中,所述发送模块被配置用于:根据所述多个第一交易的数据,向所述区块链的节点发送第二交易。
33.可选地,所述装置还包括:
34.查找模块,用于从存储的数据中查找并获取从第一用户的区块链账户向第二用户的区块链账户转送第一资源的多个交易的数据作为所述多个第一交易的数据。
35.可选地,所述发送模块包括:
36.计算子模块,用于根据所述多个第一交易的数据,计算从所述第一用户的区块链账户向所述第二用户的区块链账户转送的第一资源的第一数目;
37.发送子模块,用于向所述区块链的节点发送用于从所述第二用户的区块链账户消除所述第一数目的第一资源的所述第二交易。
38.可选地,所述装置还包括:
39.确定模块,用于确定与所述第一数目的第一资源对应的第二数目的第二资源;
40.其中,所述获取模块被配置用于:在从所述区块链节点接收所述第二交易完成的信息之后,从所述第一用户的链下账户获取所述第二数目的第二资源。
41.可选地,所述装置还包括:
42.转送模块,用于向所述第一交易的处理方的链下账户和/或所述第二交易的处理方的链下账户转入第三数目的第二资源;所述第三数目的第二资源为获取的所述第二资源中的部分。
43.可选地,所述装置还包括:
44.存储模块,用于周期地从所述区块链拉取新的区块的数据,并存储拉取的新的区块的数据。
45.可选地,所述装置还包括:
46.充值模块,用于向所述区块链发送第三交易,所述第三交易用于对所述第一用户的区块链账户充值预设数目的第一资源;
47.冻结模块,用于冻结所述第一用户的链下账户中的与所述预设数目的第一资源对应的第二资源。
48.根据第三方面,提供一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一项所述的方法。
49.根据第四方面,提供一种及计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行所述程序时实现上述第一方面中任一项所述的方法。
50.本说明书的实施例提供的技术方案可以包括以下有益效果:
51.本说明书的实施例提供的基于区块链的资源处理方法和装置,通过响应于卖方用户的资源转换请求,服务器根据从买方用户的区块链账户向卖方用户的区块链账户转送第一资源的数据,向区块链的节点发送用于从卖方用户的区块链账户消除转送的第一资源的交易,在区块链节点完成该交易之后,服务器从买方用户的链下账户获取待转送的第二资源,并向卖方用户的链下账户转入该待转送的第二资源中的至少部分。从而将链上交易过程和链下资源转移过程进行分割,使得在卖方用户提现时在链下设备中进行链下资源的转移,从而有效提高了区块链系统中的交易执行效率,更好地满足了日益增大的交易量。
52.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
53.为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
54.图1是本说明书根据一示例性实施例示出的一种基于区块链的资源处理场景示意图;
55.图2是本说明书根据一示例性实施例示出的一种基于区块链的资源处理方法的交
互流程图;
56.图3是本说明书根据一示例性实施例示出的另一种基于区块链的资源处理方法的交互流程图;
57.图4是本说明书根据一示例性实施例示出的另一种基于区块链的资源处理方法的交互流程图。
58.图5是本说明书根据一示例性实施例示出的一种基于区块链的资源处理装置的框图。
具体实施方式
59.为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
60.如图1所示,是根据一示例性实施例示出的一种基于区块链的资源处理场景示意图。
61.图1中,系统101为区块链系统,区块链系统中例如包含节点1~节点8共8个节点。每个节点可以实现为任何具有计算、处理能力的装置、服务器或设备集群等。可以理解,图1中虽然示出了区块链中包括8个节点,本说明书实施例不限于此,而是可以包括其他数目的节点。节点之间的连线示意性的表示p2p(peer to peer,点对点)连接。这些节点上可存储全量的账本,即存储全部区块和全部账户的状态。其中,区块链中的每个节点可通过执行相同的交易而产生区块链中的相同的状态,从而区块链中的每个节点可存储相同的状态数据库。所不同的是,不同节点可负责与不同的终端设备对接,并从对接的终端设备接收交易。
62.例如,节点1可负责与终端设备102对接,终端设备102可以为用户提供在区块链上进行交易的平台。用户103和用户104可以通过终端设备102提供的平台在区块链上进行商品买卖的交易。其中,区块链中包括用户103的区块链账户和用户104的区块链账户,在用户103的区块链账户和用户104的区块链账户之间,可以相互转送链上资源。
63.节点8可负责与终端设备105对接,终端设备105可以是管理账务系统的终端设备,为用户提供账务管理服务。在终端设备105管理的账务系统中,包括用户103的链下账户和用户104的链下账户。终端设备105可以用用户103/用户104的链下账户中的链下资源,对用户103/用户104的区块链账户进行充值,使得用户103/用户104的链上资源与其链下资源相绑定。终端设备105也可以将转送至用户103/用户104的区块链账户的链上资源转换成用户103/用户104的链下账户中的链下资源。终端设备105还可以与银行方106进行通信,可以通过银行方106对用户103/用户104的链下账户进行充值,以补充链下资源。
64.可以理解,图1所示的该种对接方式只是本说明书实施例提供的一种示例,本技术的具体的对接方式方面不限定。
65.在相关技术中,当通过区块链中的交易实现买卖双方用户的买卖交易时,通常是在区块链中进行链上资源的转账之后,立即进行所述链上资源所绑定的链下资源的转账,同时还要进行平台、区块链的提成等操作,在确定上述链下操作成功之后,才完成对该区块
链交易的执行。由于链下操作的流程繁杂,使得区块链中的交易执行速度较低,降低了区块链的系统性能,无法满足日益增大的交易量。而本说明书实施例提供的一种在图1所示区块链系统中处理资源的方案,通过将链上交易过程和链下资源转移过程进行分割,使得在卖方用户提现时在链下设备中进行链下资源的转移,从而有效提高了区块链系统中的交易执行效率,更好地满足了日益增大的交易量。
66.下面将结合具体的实施例对本说明书提供的方案进行详细描述。
67.如图2所示,图2是根据一示例性实施例示出的一种基于区块链的资源处理方法的交互流程图,所涉及的设备包括卖方设备、为用户提供交易平台的第一服务器、该区块链系统的区块链节点以及为用户提供账务管理服务平台的第二服务器。该方法所涉及的各个设备可以实现为任何具有计算、处理能力的设备、平台、服务器或设备集群。该方法包括以下步骤:
68.在步骤201中,卖方设备指示第一服务器向第二服务器发送资源转换请求。
69.在本实施例中,需要进行买卖交易的买方用户(即第一用户)和卖方用户(即第二用户)可以预先通过第一服务器注册区块链账户。具体地,第一服务器首先为待注册用户注册交易平台的账户,并向区块链的节点发送注册该用户的区块链账户的交易。区块链的节点接收到该交易之后,通过执行该交易,指示第二服务器创建该待注册用户的链下账户。第二服务器创建该用户的链下账户,获取并存储该用户的外部银行账户,并且可通过该外部银行账户为该用户的链下账户进行充值。之后,第二服务器将创建的该链下账户的信息和相关银行账户信息返回给区块链的节点,由区块链的节点创建与该链下账户相关联的区块链账户,并将该区块链账户及其相关信息返回给第一服务器。因此,每个可以通过区块链进行买卖交易的用户均具有区块链账户和相应的链下账户。
70.具体是,用户的区块链账户中例如可包括但不限于账户id,该用户所属商户的id,该用户持有第一资源的数目,该用户的姓名/名称,该用户的身份编号,该用户的联系方式,该用户发行或采购的权限信息,该用户的账户类别(如,平台方,或者个人,或商户等),该用户对第一资源的启用状态等等。
71.在本实施例中,卖方用户与一个或多个买方用户可以通过第一服务器,在区块链系统中进行商品买卖,并从买方用户的区块链账户向卖方用户的区块链账户转送链上的第一资源(可通过区块链执行区块链交易来完成)。上述商品买卖的过程,具体参见图4提供的实施例。在该卖方用户进行至少一次买卖交易之后的任意时刻,该卖方用户可以通过卖方设备指示第一服务器向第二服务器发送资源转换请求。该资源转换请求用于请求将该卖方用户在区块链上进行商品买卖得到的链上的第一资源转换成链下的第二资源。其中,链上的第一资源可以是任意一种基于区块链的数字资源(如各自形式的nft,以太币等),链下的第二资源可以是任意一种能够用于商品买卖的具有一定金额的非区块链资源。可以理解,本说明书实施例对第一资源和第二资源的具体形式方面不限定。
72.在步骤202中,第二服务器根据第一交易的数据向区块链的节点发送第二交易。其中,第一交易可以是将买方用户的链上资源转至卖方用户的链上账户的资源转送交易,第二交易可以是用于对卖方用户的链上资源进行核销的核销交易。该第一交易的数据例如可以为区块链中存证的第一交易的交易体,或者也可以为该存证的第一交易的交易收据。该第一交易的数据可以用于记录买方用户的链上资源转至卖方用户的链上账户的资源转送
操作。具体是,该第一交易的数据中可包括买方用户的信息(如用户标识、区块链账户等)、卖方用户的信息、商品标识、购买数量、收货地址、转账金额等信息。
73.在本实施例中,第二服务器中存储有从区块链的节点获取的卖方用户的交易数据,该卖方用户的交易数据为一个或多个上述资源转送交易的数据。在一种实现方式中,第二服务器可以周期地从区块链拉取新的区块的数据,并存储拉取的新的区块的数据。这些从区块链拉取的区块的数据中包括上述资源转送交易的数据。在另一种实现方式中,第二服务器在周期地从区块链拉取新的区块的数据之后,可以进一步对拉取的区块的数据中包括的交易进行过滤,提取上述资源转送交易的数据并将资源转送交易的数据进行存储。
74.在一种实现方式中,第二服务器可以从已存储的数据中,查找并获取从某一个指定买方用户的区块链账户向该卖方用户的区块链账户转送链上的第一资源的一个或多个资源转送交易的数据。基于该一个或多个资源转送交易的数据,确定该买方用户的区块链账户向该卖方用户的区块链账户转送的第一资源的第一数目。并向区块链的节点发送用于从该卖方用户的区块链账户消除第一数目的第一资源的核销交易。
75.其中,若获取一个资源转送交易的数据,则可以直接从该资源转送交易的数据中获取从该买方用户的区块链账户向该卖方用户的区块链账户转送的第一资源的第一数目。若获取多个资源转送交易的数据,则可以根据多个资源转送交易的数据,通过聚合计算得到从该买方用户的区块链账户向该卖方用户的区块链账户转送的第一资源的总数目作为第一数目。
76.在另一种实现方式中,第二服务器可以从已存储的数据中,查找并分别获取从多个不同买方用户的区块链账户向该卖方用户的区块链账户转送链上的第一资源的多个资源转送交易的数据。根据该多个资源转送交易的数据,通过聚合计算得到从该多个不同买方用户的区块链账户向该卖方用户的区块链账户转送的第一资源的总数目作为第一数目。并向区块链的节点发送用于从该卖方用户的区块链账户消除第一数目的第一资源的核销交易。
77.可选地,第二服务器响应于资源转换请求,可以先对资源转换请求的时间进行校验,判断当前是否具有资源转换的权限。然后,校验一下当前买方的链下账户中的可提现金额是否足够。如果校验成功,第二服务器再进行发送第二交易的操作。
78.可选地,在确定该第一数目之后,第二服务器可以进一步确定与第一数目的第一资源对应的第二数目的第二资源。具体来说,链上的第一资源与链下的第二资源具有一定的对应关系,第一资源与第二资源之间可以相互兑换。例如,假设第一资源以token为单位,第二资源以元为单位,第一资源和第二资源之间可以以m个token兑换1元。
79.在步骤203中,区块链的节点执行第二交易,并在第二交易执行完成之后,将第二交易完成的信息发送给第二服务器。
80.在本实施例中,区块链的节点通过执行上述核销交易,将由资源转送交易涉及的买方用户转送的第一数目的第一资源从该卖方用户的区块链账户消除。完成核销交易之后,区块链的节点将核销交易完成的信息发送给第二服务器。其中,参见步骤202,资源转送交易涉及的买方用户可以是一个指定的买方用户,也可以是多个不同的买方用户。
81.在步骤204中,第二服务器在从区块链节点接收第二交易完成的信息之后,从上述买方用户的链下账户获取待转送的第二资源,并向该卖方用户的链下账户转入该待转送的
第二资源中的至少部分。
82.在本实施例中,第二服务器在从区块链节点接收到核销交易完成的信息之后,接着,可以从上述买方用户的链下账户获取待转送的第二资源,该待转送的第二资源的第二数目与第一资源的第一数目相对应。其中,买方用户的链下账户中包括冻结的与转送的第一资源对应的待转送的第二资源。具体来说,在对买方用户的区块链账户进行充值时,冻结的买方用户的链下账户中的第二资源,该充值的过程,具体参见图3提供的实施例。
83.可选地,在确定该第一数目之前,第二服务器还可以确定任务标识,并向第一服务器返回任务标识。第一服务器接收到该任务标识之后,可以先处理其它事务,无需等待第二服务器的返回结果。在此过程中,第二服务器可以继续进行处理资源的操作。第一服务器在处理完成其它事务之后,可以向第一服务器发送携带该任务标识的触发信息。第二服务器在接收到该任务标识的触发信息,并在从区块链节点接收到核销交易完成的信息之后,可以从第一用户的链下账户获取第二数目的第二资源。
84.在本实施例中,可以向该卖方用户的链下账户转入该待转送的第二资源中的至少部分,剩余的第三数目的第二资源可以转入资源转送交易的处理方的链下账户和/或核销交易的处理方的链下账户的处理方的链下账户。例如,假设第二数目为10,可以将数目为9的第二资源转入该卖方用户的链下账户,数目为1(第三数目为1)的第二资源转入资源转送交易的处理方的链下账户和/或核销交易的处理方的链下账户。
85.对于本实施例,一种具体的应用场景可以为,卖方用户b提供油卡作为商品,财务管理平台为用户提供财务管理服务,加油平台提供商品交易平台。在买方用户a,买方用户c和买方用户d通过加油平台从卖方用户b购买油卡之后,卖方用户b向财务管理平台发送提现请求。财务管理平台从存储的数据中查找出从买方用户a的区块链账户向卖方用户b的区块链账户转送5000个token,从买方用户c的区块链账户向卖方用户b的区块链账户转送3000个token,从买方用户d的区块链账户向卖方用户b的区块链账户转送2000个token。通过聚合计算得到从买方用户的区块链账户向卖方用户b的区块链账户总共转送了10000个token。财务管理平台向区块链发送核销交易,以从卖方用户b的区块链账户消除转送的10000个token。并且,财务管理平台从买方用户a,买方用户c和买方用户d的链下账户,分别获取5005元,3003元和2002元,共计10010元。并向卖方用户b的链下账户转入10000元,将剩余的10元转给加油平台。或者,财务管理平台也可以从买方用户a,买方用户c和买方用户d的链下账户,分别获取5000元,3000元和2000元,共计10000元。并向卖方用户b的链下账户转入9990元,将剩余的10元转给加油平台。
86.本实施例并不限于上述的应用场景,还可以应用到其他场景中。本说明书的上述实施例提供的基于区块链的资源处理方法,通过响应于卖方用户的资源转换请求,服务器根据从买方用户的区块链账户向卖方用户的区块链账户转送第一资源的数据,向区块链的节点发送用于从卖方用户的区块链账户消除转送的第一资源的交易,在区块链节点完成该交易之后,服务器从买方用户的链下账户获取待转送的第二资源,并向卖方用户的链下账户转入该待转送的第二资源中的至少部分。从而将链上交易过程和链下资源转移过程进行分割,使得在卖方用户提现时在链下设备中进行链下资源的转移,从而有效提高了区块链系统中的交易执行效率,更好地满足了日益增大的交易量。
87.如图3所示,图3根据一示例性实施例示出的另一种基于区块链的资源处理方法的
流程图,该实施例描述了买方用户充值的过程,包括以下步骤:
88.首先,在步骤301中,买方设备指示第一服务器向第二服务器发送充值请求,以请求对该买方用户的区块链账户充值预设数目的第一资源。然后,在步骤302中,第二服务器接收到该充值请求,并基于该充值请求携带的充值信息,向区块链的节点发送第三交易。该第三交易为用于对该买方用户的区块链账户充值预设数目的第一资源的充值交易,同时将该买方用户的链下账户中与预设数目的第一资源对应的第二资源进行冻结。
89.接着,在步骤303中,区块链的节点通过执行该充值交易,在该买方用户的区块链账户中增加预设数目的第一资源。在执行完成该充值交易之后,区块链的节点向第二服务器发送充值交易执行完成的消息。
90.例如,买方用户a通过其持有的终端设备,指示加油平台为买方用户a充值。加油平台向财务管理平台发送充值请求,以请求对买方用户a的区块链账户充值100个token(价值100元)。财务管理平台向区块链发送一个充值交易,区块链的节点通过执行该充值交易,向买方用户a的区块链账户中充入100个token。同时,财务管理平台可以冻结买方用户a的链下账户中的100元钱(对应于100个token)。
91.如图4所示,图4根据一示例性实施例示出的另一种基于区块链的资源处理方法的流程图,该实施例描述了买卖双方进行商品买卖的过程,包括以下步骤:
92.首先,在步骤401中,买方用户可通过其终端向第一服务器发送商品购买请求。
93.具体来说,买方用户可通过其终端向第一服务器发送商品购买请求。卖方用户可通过其终端预先向第一服务器上传其配置的商品信息,所述商品例如为etc卡、油卡等商品,所述商品信息例如包括商品描述信息、商品价格等信息。第一服务器响应于卖方用户的终端上传的商品信息,通过向区块链中发送交易将这些商品信息存证到区块链中。具体是,该交易可以调用区块链中部署的智能合约中的用于注册商品的函数,该函数在执行时用于生成商品的商品标识(商品id),并在该合约的状态中存入该商品的信息。该智能合约用于在区块链中进行买方用户与卖方用户之间的商品购买行为,该智能合约中还包括用于生成订单号、订单内容的函数、以及用于在买方用户与卖方用户之间进行转账的函数等等。可以理解,该智能合约仅仅用于示例描述本说明书的实施例,并不限制本说明书的范围。
94.买方用户可以通过其终端向第一服务器发送商品查询请求,第一服务器可以从区块链中获取商品对应的商品信息,将商品信息返回至买方用户的终端。基于第一服务器向买方用户终端返回的商品信息,买方用户可以选择商品,并向第一服务器发送商品购买请求,即在第一用户终端下单购买所选择的商品,该商品购买请求中例如包括商品标识、购买数量、收货地址等信息。
95.在步骤402,第一服务器向区块链发送商品购买交易。
96.第一服务器在接收到用户终端的商品购买请求之后,可以从区块链或者本地获取买方用户的区块链账户和卖方用户的区块链账户,并生成对应的商品购买交易。
97.在一种实施方式中,该商品购买交易可以为普通的转账交易,第一服务器还可以从区块链中获取商品的购买金额,基于该购买金额确定转账交易中的转账金额。该转账交易中可包括买方用户的区块链账户、卖方用户的区块链账户、商品标识、购买数量、收货地址、转账金额等信息。在另一种实施方式中,该商品购买交易也可以为调用上述智能合约的交易。具体是,该交易中以买方用户的区块链账户、卖方用户的区块链账户、商品标识、购买
数量、收货地址等信息作为智能合约的传入参数。
98.在步骤403,区块链节点执行商品购买交易。
99.在商品购买交易为上述转账交易的情况中,区块链节点执行该转账交易,将买方用户的区块链账户中目标数目(即转账金额)的第一资源转送至卖方用户的区块链账户,并将该转账交易存入到区块链中,以对该转账交易进行区块链存证。
100.在商品购买交易为上述调用智能合约的交易的情况中,区块链节点执行商品购买交易调用的智能合约。具体是,区块链节点首先执行智能合约中的用于生成订单号、订单内容的函数,生成订单号和订单内容,该订单内容中例如包括买方用户的信息、卖方用户的信息、商品标识、购买数量、收货地址、购买金额等信息。之后,区块链节点执行用于在买方用户与卖方用户之间进行转账的函数,根据商品信息中包括的商品价格,将买方用户的区块链账户中目标数目的第一资源转送至卖方用户的区块链账户,向第一服务器返回订单号和订单内容等,并在区块链中存入该交易的收据,该收据中例如包括订单号和订单内容等数据,以对所述商品购买交易对应的转账过程进行区块链存证。第一服务器可向买方用户和卖方用户的用户终端都返回订单号和订单内容。
101.卖方用户在接收到订单id和订单内容之后,可根据该订单内容向买方用户发货。如果买方用户购买的商品为数字商品,卖方用户可以直接通过互联网将该商品发给买方用户。如果该商品为实物商品,卖方用户可以通过物流渠道将该商品寄往买方用户的收货地址。接着,卖方用户可以向平台上传发货信息。在买方用户收到商品并确定无需退换后,买方用户可以通过服务平台提供的服务界面进行确认操作。第一服务器接收到买方用户的确认信息,完成针对买方用户和卖方用户的商品买卖操作
102.例如,买方用户a通过其持有的终端设备,在加油平台上购买卖方用户b提供的油卡。买方用户a选择价值5000元的油卡,并向加油平台发送购买请求。加油平台向区块链的节点发送商品购买交易,以使区块链节点生成相应的订单id和订单内容,并根据5000元油卡对应的商品信息,将买方用户a的区块链账户中的5000个token转送至卖方用户b的区块链账户中。区块链节点完成商品购买交易之后,可以向加油平台返回订单id和订单内容等,加油平台再向买方用户a和卖方用户b发送订单id以及订单内容等。
103.应当注意,尽管在上述实施例中,以特定顺序描述了本说明书实施例的方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
104.与前述基于区块链的资源处理方法实施例相对应,本说明书还提供了基于区块链的资源处理装置的实施例。
105.如图5所示,图5是本说明书根据一示例性实施例示出的一种基于区块链的资源处理装置框图,该装置应用于服务器,该服务器与区块链的节点对接。该服务器中存储有从区块链的节点获取的第一交易的数据,该第一交易用于从第一用户的区块链账户向第二用户的区块链账户转送第一资源,服务器管理第一用户的链下账户和第二用户的链下账户,第一用户的链下账户中包括冻结的与转送的第一资源对应的第二资源。该装置可以包括:发送模块501,获取模块502和转入模块503。
106.其中,发送模块501,用于响应于第二用户的资源转换请求,根据第一交易的数据向区块链的节点发送第二交易,第二交易用于从第二用户的区块链账户消除第一资源。
107.获取模块502,用于在从区块链节点接收第二交易完成的信息之后,从第一用户的链下账户获取冻结的第二资源。
108.转入模块503,用于向第二用户的链下账户转入获取的第二资源中的至少部分。
109.在一些实施方式中,该服务器中存储有多个第一交易的数据。其中,发送模块501被配置用于:根据多个第一交易的数据,向区块链的节点发送第二交易。
110.在另一些实施方式中,该装置还可以包括:查找模块(图中未示出)。
111.其中,查找模块,用于从存储的数据中查找并获取从第一用户的区块链账户向第二用户的区块链账户转送第一资源的多个交易的数据作为多个第一交易的数据。
112.在另一些实施方式中,发送模块501可以包括:计算子模块和发送子模块(图中未示出)。
113.其中,计算子模块,用于根据多个第一交易的数据,计算从第一用户的区块链账户向第二用户的区块链账户转送的第一资源的第一数目。
114.发送子模块,用于向区块链的节点发送用于从第二用户的区块链账户消除第一数目的第一资源的第二交易。
115.在另一些实施方式中,该装置还可以包括:确定模块(图中未示出)。
116.其中,确定模块,用于确定与第一数目的第一资源对应的第二数目的第二资源。
117.其中,获取模块502被配置用于:在从区块链节点接收第二交易完成的信息之后,从第一用户的链下账户获取第二数目的第二资源。
118.在另一些实施方式中,该装置还可以包括:转送模块(图中未示出)。
119.其中,转送模块,用于向第一交易的处理方的链下账户和/或第二交易的处理方的链下账户转入第三数目的第二资源,第三数目的第二资源为获取的上述第二资源中的部分。
120.在另一些实施方式中,该装置还可以包括:存储模块(图中未示出)。
121.其中,存储模块,用于周期地从区块链拉取新的区块的数据,并存储拉取的新的区块的数据。
122.在另一些实施方式中,该装置还可以包括:充值模块和冻结模块(图中未示出)。
123.其中,充值模块,用于向区块链发送第三交易,第三交易用于对第一用户的区块链账户充值预设数目的第一资源。
124.冻结模块,用于冻结第一用户的链下账户中的与预设数目的第一资源对应的第二资源。
125.应当理解,上述装置可以预先设置在服务器中,也可以通过下载等方式而加载到服务器中。上述装置中的相应模块可以与服务器中的模块相互配合以实现基于区块链的资源处理方案。
126.对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的
需要选择其中的部分或者全部模块来实现本说明书一个或多个实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
127.本说明书一个或多个实施例还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图1至图4任一实施例提供的基于区块链的资源处理方法。
128.本说明书一个或多个实施例还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现上述图1至图4任一实施例提供的基于区块链的资源处理方法。
129.在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmable logic device,pld)(例如现场可编程门阵列(field programmable gate array,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardware description language,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advanced boolean expression language)、ahdl(altera hardware description language)、confluence、cupl(cornell university programming language)、hdcal、jhdl(java hardware description language)、lava、lola、myhdl、palasm、rhdl(ruby hardware description language)等,目前最普遍使用的是vhdl(very-high-speed integrated circuit hardware description language)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
130.控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(application specific integrated circuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc 625d、atmel at91sam、microchip pic18f26k20以及silicone labs c8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
131.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,
或者由具有某种功能的产品来实现。一种典型的实现设备为服务器系统。当然,本技术不排除随着未来计算机技术的发展,实现上述实施例功能的计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
132.虽然本说明书一个或多个实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。例如若使用到第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
133.为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
134.本发明是参照根据本发明实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
135.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
136.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
137.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
138.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或
非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
139.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储、石墨烯存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
140.本领域技术人员应明白,本说明书一个或多个实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
141.本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
142.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
143.以上所述仅为本说明书一个或多个实施例的实施例而已,并不用于限制本本说明书一个或多个实施例。对于本领域技术人员来说,本说明书一个或多个实施例可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在权利要求范围之内。
再多了解一些

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

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

相关文献