CN111382164B - 一种基于区块链网络的业务处理方法 - Google Patents

一种基于区块链网络的业务处理方法 Download PDF

Info

Publication number
CN111382164B
CN111382164B CN202010152383.XA CN202010152383A CN111382164B CN 111382164 B CN111382164 B CN 111382164B CN 202010152383 A CN202010152383 A CN 202010152383A CN 111382164 B CN111382164 B CN 111382164B
Authority
CN
China
Prior art keywords
transaction data
electronic transaction
service
verification
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010152383.XA
Other languages
English (en)
Other versions
CN111382164A (zh
Inventor
李茂材
蓝虎
王宗友
时一防
朱耿良
周开班
刘区城
黄焕坤
杨常青
刘攀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010152383.XA priority Critical patent/CN111382164B/zh
Publication of CN111382164A publication Critical patent/CN111382164A/zh
Application granted granted Critical
Publication of CN111382164B publication Critical patent/CN111382164B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Development Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Technology Law (AREA)
  • Computer Security & Cryptography (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Computing Systems (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本申请实施例公开了一种基于区块链网络的业务处理方法,包括:接收业务申请节点发送的业务核销处理请求,业务核销处理请求包括电子交易数据、电子交易数据所在默克尔树的默克尔hash,以及电子交易数据所在区块的区块高度;对默克尔hash进行校验,若校验通过,则根据电子交易数据标识,查询区块链网络中是否存在输入数据中包含电子交易数据标识的电子交易数据的引用数据,进而得到电子交易数据的最新引用状态,其中,电子交易数据标识为电子交易数据的交易hash;根据电子交易数据的最新引用状态,对业务核销处理请求进行处理。采用本申请,可以提高核销业务处理的准确度。

Description

一种基于区块链网络的业务处理方法
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于区块链网络的业务处理方法。
背景技术
目前,针对业务的核销处理方法主要为对业务核销请求中的交易数据进行验证,若验证通过,则对业务核销请求进行处理,这种方法虽然能保证交易数据的真实性,但是由于存在交易数据已被报销或者已被红冲掉的情况,其中,红冲可以理解为将原有的交易数据抵销掉,即将原有交易数据无效掉,从而出现对同一业务核销请求进行重复处理,或者,对包含已被红冲掉的交易数据的业务核销请求仍然进行正常处理的现象。因此,如何提高核销业务处理的准确度,是需要解决的问题。
申请内容
本申请实施例提供一种基于区块链网络的业务处理方法及装置、服务节点、存储介质,以期提高核销业务处理的准确度。
本申请实施例一方面提供了一种基于区块链网络的业务处理方法,包括:
接收业务申请节点发送的业务核销处理请求,上述业务核销处理请求包括电子交易数据、上述电子交易数据所在默克尔树的默克尔hash,以及上述电子交易数据所在区块的区块高度,其中,上述默克尔hash是根据上述电子交易数据以及上述电子交易数据所在区块中的其他交易hash生成;
对上述默克尔hash进行校验,若校验通过,则根据电子交易数据标识,查询区块链网络中是否存在输入数据中包含上述电子交易数据标识的上述电子交易数据的引用数据,进而得到上述电子交易数据的最新引用状态,其中,上述电子交易数据标识为上述电子交易数据的交易hash;
根据上述电子交易数据的最新引用状态,对上述业务核销处理请求进行处理,其中,上述电子交易数据的最新引用状态为已被引用状态或未被引用状态。
其中,上述默克尔hash携带上述电子交易数据所在区块中的其他交易hash;
上述对上述默克尔hash进行校验,包括:
根据上述电子交易数据以及上述其他交易hash生成校验hash,将上述校验hash与上述默克尔hash进行对比;
若上述校验hash与上述默克尔hash一致,则根据上述电子交易数据所在区块的区块高度,获取上述电子交易数据所在区块的目标默克尔hash;
若上述目标默克尔hash与上述默克尔hash一致,则校验通过。
其中,上述业务核销处理请求携带业务申请节点账号签名;
上述对上述默克尔hash进行校验之前,包括:
获取上述业务申请节点的验签公钥,根据上述业务申请节点的验签公钥对上述业务申请节点账号签名进行验签,得到第一校验码;
采用哈希算法将上述业务核销处理请求转换为第二校验码;
若上述第一校验码与上述第二校验码一致,则对上述默克尔hash进行校验。
其中,上述根据电子交易数据标识,查询区块链网络中是否存在输入数据中包含上述电子交易数据标识的上述电子交易数据的引用数据,进而得到上述电子交易数据的最新引用状态,包括:
遍历上述区块链网络中每个区块中每个电子交易数据的输入数据;
若上述区块链网络中存在上述电子交易数据的引用数据,则确定上述电子交易数据的最新引用状态为上述已被引用状态;
若上述区块链网络中不存在上述电子交易数据的引用数据,则确定上述电子交易数据的最新引用状态为上述未被引用状态。
其中,上述电子交易数据包括交易接收方;
上述若上述区块链网络中存在上述电子交易数据的引用数据之前,包括:
上述业务申请节点将上述电子交易数据发送至上述交易接收方;
在接收到上述交易接收方发送的电子交易数据接收确认消息携带上述交易接收方账号签名后,对上述交易接收方账号签名进行校验;
若校验通过,则根据上述业务申请节点、上述电子交易数据和上述交易接收方生成上述电子交易数据的引用数据;
将上述电子交易数据的引用数据发送至上述区块链网络中的共识节点,以使上述共识节点对上述电子交易数据的引用数据进行共识验证,并在共识验证通过的情况下返回共识确认消息;
在确认接收到的上述共识确认消息的数量与上述共识节点的数量的比例达到预设的共识比例的情况下,将包含上述电子交易数据的引用数据区块添加至上述区块链网络中。
其中,上述电子交易数据包括交易资产数值;
上述根据上述电子交易数据的最新引用状态,对上述业务核销处理请求进行处理,包括:
若上述电子交易数据的最新引用状态为上述未被引用状态,则将资产数值与上述交易资产数值一致的虚拟资产,转移至上述业务申请节点的数字账户,并向上述业务申请节点发送上述业务核销处理请求已被处理的消息;
若上述电子交易数据的最新引用状态为上述已被引用状态,则向上述业务申请节点发送上述业务核销处理请求已被拒绝的消息。
其中,上述向上述业务申请节点发送上述业务核销处理请求已被处理的消息之后,包括:
根据业务处理方、上述交易资产数值和上述业务申请节点生成待上链电子交易数据;
将上述待上链电子交易数据发送至区块链网络中的共识节点,以使上述共识节点对上述待上链电子交易数据进行共识验证,并在共识验证通过的情况下返回共识确认消息;
在确认接收到的上述共识确认消息的数量与上述共识节点的数量的比例达到预设的共识比例的情况下,将包含上述待上链电子交易数据的区块添加至上述区块链网络中。
本申请一方面实施例提供了一种基于区块链网络的业务处理装置,包括:
接收请求模块,用于接收业务申请节点发送的业务核销处理请求,上述业务核销处理请求包括电子交易数据、上述电子交易数据所在默克尔树的默克尔hash,以及上述电子交易数据所在区块的区块高度,其中,上述默克尔hash是根据上述电子交易数据以及上述电子交易数据所在区块中的其他交易hash生成;
最新引用状态确定模块,用于对上述默克尔hash进行校验,若校验通过,则根据电子交易数据标识,查询区块链网络中是否存在输入数据中包含上述电子交易数据标识的上述电子交易数据的引用数据,进而得到上述电子交易数据的最新引用状态,其中,上述电子交易数据标识为上述电子交易数据的交易hash;
处理请求模块,用于根据上述电子交易数据的最新引用状态,对上述业务核销处理请求进行处理,其中,上述电子交易数据的最新引用状态为已被引用状态或未被引用状态。
其中,上述默克尔hash携带上述电子交易数据所在区块中的其他交易hash;
上述最新引用状态确定模块,包括:
生成对比单元,用于根据上述电子交易数据以及上述其他交易hash生成校验hash,将上述校验hash与上述默克尔hash进行对比;
获取目标单元,用于若上述校验hash与上述默克尔hash一致,则根据上述电子交易数据所在区块的区块高度,获取上述电子交易数据所在区块的目标默克尔hash;
确定校验结果单元,用于若上述目标默克尔hash与上述默克尔hash一致,则校验通过。
其中,上述业务核销处理请求携带业务申请节点账号签名;
上述装置还包括校验签名模块,用于:
获取上述业务申请节点的验签公钥,根据上述业务申请节点的验签公钥对上述业务申请节点账号签名进行验签,得到第一校验码;
采用哈希算法将上述业务核销处理请求转换为第二校验码;
若上述第一校验码与上述第二校验码一致,则对上述默克尔hash进行校验。
其中,上述最新引用状态确定模块,包括:
遍历单元,用于遍历上述区块链网络中每个区块中每个电子交易数据的输入数据;
引用状态确定单元,用于若上述区块链网络中存在上述电子交易数据的引用数据,则确定上述电子交易数据的最新引用状态为上述已被引用状态;
若上述区块链网络中不存在上述电子交易数据的引用数据,则确定上述电子交易数据的最新引用状态为上述未被引用状态。
其中,上述电子交易数据包括交易接收方;
上述若上述区块链网络中存在上述电子交易数据的引用数据之前,包括:
上述业务申请节点将上述电子交易数据发送至上述交易接收方;
在接收到上述交易接收方发送的电子交易数据接收确认消息携带上述交易接收方账号签名后,对上述交易接收方账号签名进行校验;
若校验通过,则根据上述业务申请节点、上述电子交易数据和上述交易接收方生成上述电子交易数据的引用数据;
将上述电子交易数据的引用数据发送至上述区块链网络中的共识节点,以使上述共识节点对上述电子交易数据的引用数据进行共识验证,并在共识验证通过的情况下返回共识确认消息;
在确认接收到的上述共识确认消息的数量与上述共识节点的数量的比例达到预设的共识比例的情况下,将包含上述电子交易数据的引用数据区块添加至上述区块链网络中。
其中,上述电子交易数据包括交易资产数值;
上述处理请求模块具体用于:
若上述电子交易数据的最新引用状态为上述未被引用状态,则将资产数值与上述交易资产数值一致的虚拟资产,转移至上述业务申请节点的数字账户,并向上述业务申请节点发送上述业务核销处理请求已被处理的消息;
若上述电子交易数据的最新引用状态为上述已被引用状态,则向上述业务申请节点发送上述业务核销处理请求已被拒绝的消息。
其中,上述装置还包括生成数据上链模块,用于:
根据业务处理方、上述交易资产数值和上述业务申请节点生成待上链电子交易数据;
将上述待上链电子交易数据发送至区块链网络中的共识节点,以使上述共识节点对上述待上链电子交易数据进行共识验证,并在共识验证通过的情况下返回共识确认消息;
在确认接收到的上述共识确认消息的数量与上述共识节点的数量的比例达到预设的共识比例的情况下,将包含上述待上链电子交易数据的区块添加至上述区块链网络中。
本申请实施例一方面提供了一种服务节点,包括:处理器、存储器、网络接口;上述处理器与存储器、网络接口相连,其中,网络接口用于提供数据通信功能,上述存储器用于存储计算机程序,上述处理器用于调用上述计算机程序,以执行本申请实施例中上述一方面中的方法。
本申请实施例一方面提供了一种存储介质,上述存储介质存储有计算机程序,上述计算机程序包括程序指令;上述程序指令当被处理器执行时使上述处理器执行如本申请实施例中的方法。
在本申请实施例中,业务处理平台接收业务申请节点发送的业务核销处理请求,并对业务核销处理请求中的默克尔hash进行校验,若校验通过,则根据电子交易数据标识,查询区块链网络中是否存在输入数据中包含电子交易数据标识的电子交易数据的引用数据,进而得到电子交易数据的最新引用状态,根据电子交易数据的最新引用状态,对业务核销处理请求进行处理。因此采用本申请可以提高核销业务处理的准确度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本申请实施例提供的一种系统架构示意图;
图1b是本申请实施例提供的一种区块链节点系统示意图;
图1c是本申请实施例提供的一种区块链示意图;
图1d是本申请实施例提供的一种默克尔树的示意图;
图2是本申请实施例提供的一种基于区块链网络的业务处理方法的流程示意图;
图3是本申请实施例提供的一种基于区块链网络的业务处理方法的流程示意图;
图4是本申请实施例提供的一种待上链电子交易数据上链的场景示意图;
图5是本申请实施例提供的一种基于区块链网络的业务处理装置的结构示意图;
图6是本申请实施例提供的一种服务节点的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图1a,是本申请实施例提供的一种系统架构示意图。目前,随着网络技术的快速发展以及各大企业对交易数据安全的重视,区块链得到了极大的重视和应用;企业针对业务的核销处理方法主要为对业务核销请求中的交易数据进行验证,若验证通过,则对业务核销请求进行处理,这种方法虽然能保证交易数据的真实性,但是由于存在交易数据已被报销或者已被红冲掉的情况,从而出现对同一业务核销请求进行重复处理,或者,对包含已被红冲掉的交易数据的业务核销请求仍然进行正常处理的现象,这时就需要利用区块链不可篡改的特性对业务进行处理。如图1a所示,该系统构架示意图包括区块链节点系统、业务处理平台、业务申请节点以及业务申请节点所在终端。
其中,区块链节点系统中的节点、业务处理平台、以及业务申请节点所在终端可以为计算机设备,包括手机、平板电脑、笔记本电脑、掌上电脑、智能音响、移动互联网设备(MID,mobile internet device)、POS(Point Of Sales,销售点)机、可穿戴设备(例如智能手表、智能手环等)等。
此外,请参见图1b,是本申请实施例提供的一种区块链节点系统示意图。如图1b所示,区块链节点系统中可以包括多个节点,每个节点在进行正常工作可以接收到输入信息,并基于接收到的输入信息维护该区块链节点系统内的共享数据。为了保证区块链节点系统内的信息互通,区块链节点系统中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。例如,当区块链节点系统中的任意节点接收到输入信息时,区块链节点系统中的其他节点便根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得区块链节点系统中全部节点上存储的数据均一致。
对于区块链节点系统中的每个节点,均具有与其对应的节点标识,而且区块链节点系统中的每个节点均可以存储有区块链节点系统中其他节点的节点标识,以便后续根据其他节点的节点标识,将生成的区块广播至区块链节点系统中的其他节点。每个节点中可维护一个如下表所示的节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为IP(Internet Protocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息,表1中仅以IP地址为例进行说明。
表1
节点名称 节点标识
节点1 117.114.151.174
节点2 117.116.189.145
节点N 119.123.789.258
区块链节点系统中的每个节点均存储一条相同的区块链。区块链由多个区块组成,请参见图1c,是本申请实施例提供的一种区块链示意图,如图1c所示,区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
针对上述业务核销处理方法存在的问题,本申请实施例利用区块链不可篡改的特性对业务核销处理请求进行处理,即提供了一种基于区块链网络的业务处理方法,其中,默克尔hash是指默克尔树的树根,所谓默克尔树(Merkle Trees),又称梅克尔树,通常是一种二叉树,也可以是多叉树,默克尔树拥有树结构的所有特点,默克尔树包含多个结点,多个结点中至少包括至少一个叶子结点、一个根结点,通常情况下还包含叶子结点和根结点之间的多个中间结点,各个结点都有对应的哈希值,其中叶子结点的哈希值通常是对交易进行哈希运算得到的哈希值,中间结点的哈希值是对叶子结点两两拼接后进行哈希运算得到的哈希值,经过中间结点的层层拼接以及哈希计算,最后得到的唯一一个哈希值,作为默克尔树的根结点的哈希值。以图1d为例,请参见图1d,图1d是本申请实施例提供的一种默克尔树的示意图,如图1d所示的默克尔树中,结点101、102、103、104分别为4个叶子结点,各自的哈希值为分别对交易1、交易2、交易3和交易4进行哈希运算得到的;结点105和106为2个中间结点,结点105的哈希值为对结点101和结点102的哈希值拼接后进行哈希运算得到的,结点106的哈希值为对结点103和结点104的哈希值拼接后进行哈希运算得到的;结点107为根结点,对应的哈希值为对结点105和结点106的哈希值拼接后进行哈希运算得到的。其中,在确定叶子结点的哈希值时,对交易进行的哈希运算,与在确定中间结点和根结点时对哈希值拼接后进行的哈希运算可以为同一种哈希运算,也可以是不同的哈希运算。可以理解的,根节点107对应的哈希值为图1d所示的默克尔树的树根,也就是默克尔hash。
进一步地,如图1a所示,在具体实施该业务核销处理方法的过程中,业务申请节点通过业务申请节点所在终端向业务处理平台发送业务核销处理请求携带业务申请节点账号签名,该业务核销处理请求包括电子交易数据、电子交易数据所在默克尔树的默克尔hash,以及电子交易数据所在区块的区块高度,其中,上述默克尔hash携带电子交易数据所在区块中的其他交易hash,业务处理平台在接收到该业务核销处理请求后,对业务申请节点账号签名进行校验,若校验通过,则根据电子交易数据、上述其他交易hash以及电子交易数据所在区块的区块高度,对上述默克尔hash进行校验,若校验通过,根据电子交易数据的交易hash,查询区块链网络中是存在否输入数据中包含电子交易数据的交易hash的电子交易数据的引用数据,若在此之前业务申请节点将电子交易数据发送至交易接收方,交易接收方在接收到电子交易数据后,向业务申请节点发送电子交易数据接收确认消息,业务申请节点在接收到该电子交易数据接收确认消息后,根据业务申请节点、电子交易数据以及交易接收方,生成电子交易数据的引用数据,并将电子交易数据的引用数据上传至区块链网络中,因此,业务处理平台查询到在区块链网络中存在电子交易数据的引用数据,进而确定电子交易数据的最新引用状态为已被引用状态,则向业务申请节点发送业务核销处理请求已被拒绝的消息;若业务处理平台查询到区块链网络中不存在电子交易数据的引用数据,则根据电子交易数据中包含的交易资产数值,将资产数值与交易资产数值一致的虚拟资产转移至业务申请节点的数字账户,并向业务申请节点发送业务核销处理请求已被处理的消息。
可以理解的是,本申请实施例提供的方法可以由服务节点执行,服务节点包括但不限于终端或服务器。本申请实施例中的业务处理平台可以为服务节点。
进一步地,请参见图2,是本申请实施例提供的一种基于区块链网络的业务处理方法的流程示意图。如图2所示,上述方法可以包括:
步骤S101,接收业务申请节点发送的业务核销处理请求,业务核销处理请求包括电子交易数据、电子交易数据所在默克尔树的默克尔hash,以及电子交易数据所在区块的区块高度。
其中,上述默克尔hash是根据上述电子交易数据以及上述电子交易数据所在区块中的其他交易hash生成。这里,生成默克尔hash的具体实现方式可参考图1d中得到节点107对应的哈希值的描述,此处不再赘述。
步骤S102,对默克尔hash进行校验,若校验通过,则根据电子交易数据标识,查询区块链网络中是否存在输入数据中包含电子交易数据标识的电子交易数据的引用数据,进而得到电子交易数据的最新引用状态。
其中,上述默克尔hash携带上述电子交易数据所在区块中的其他交易hash。
可选的,上述对上述默克尔hash进行校验,包括:
根据上述电子交易数据以及上述其他交易hash生成校验hash,将上述校验hash与上述默克尔hash进行对比;
若上述校验hash与上述默克尔hash一致,则根据上述电子交易数据所在区块的区块高度,获取上述电子交易数据所在区块的目标默克尔hash;
若上述目标默克尔hash与上述默克尔hash一致,则校验通过。
举例来说,业务处理平台采用哈希算法对电子交易数据进行计算,得到电子交易数据的交易hash,进而根据电子交易数据的交易hash以及其他交易hash生成hash1,这里,根据电子交易数据的交易hash以及其他交易hash生成hash1的具体实现方式可参考图1d中得到节点107对应的哈希值的描述,此处不再赘述。之后,业务处理平台将hash1与hash2(默克尔hash)进行比较,得到hash1与hash2一致,则根据电子交易数据所在区块的区块高度100,在本地存储的区块头文件中找到区块高度为100的区块头中的默克尔树根hash3,即目标默克尔hash,进而得到hash3与hash2一致,则校验通过。
之后,业务处理平台根据电子交易数据标识,查询区块链网络中是否存在电子交易数据的引用数据,进而得到电子交易数据的最新引用状态。
其中,上述电子交易数据标识为上述电子交易数据的交易hash。
可选的,上述根据电子交易数据标识,查询区块链网络中是否存在输入数据中包含上述电子交易数据标识的上述电子交易数据的引用数据,进而得到上述电子交易数据的最新引用状态,包括:
遍历上述区块链网络中每个区块中每个电子交易数据的输入数据;
若上述区块链网络中存在上述电子交易数据的引用数据,则确定上述电子交易数据的最新引用状态为上述已被引用状态;
若上述区块链网络中不存在上述电子交易数据的引用数据,则确定上述电子交易数据的最新引用状态为上述未被引用状态。
需要说明的是,区块链中的每个区块均由区块头和区块体,区块体中包括根据多个电子交易数据生成的默克尔树,默克尔树的最底层为多个电子交易数据。每个电子交易数据均由m个输入数据和n个输出数据组成,其中,m和n均为大于等于1的整数。输入数据包括交易发起方、交易资产以及交易资产在被引用的交易中的交易标识。
举例来说,业务处理平台遍历区块链网络中每个区块中每个电子交易数据的输入数据,得到输入数据中包含hash5(电子交易数据标识)的电子交易数据1,即电子交易数据的引用数据,则确定电子交易数据的最新引用状态为已被引用状态。
步骤S103,根据电子交易数据的最新引用状态,对业务核销处理请求进行处理。
其中,上述电子交易数据包括交易资产数值;
可选的,上述根据上述电子交易数据的最新引用状态,对上述业务核销处理请求进行处理,包括:
若上述电子交易数据的最新引用状态为上述未被引用状态,则将资产数值与上述交易资产数值一致的虚拟资产,转移至上述业务申请节点的数字账户,并向上述业务申请节点发送上述业务核销处理请求已被处理的消息;
若上述电子交易数据的最新引用状态为上述已被引用状态,则向上述业务申请节点发送上述业务核销处理请求已被拒绝的消息。
举例来说,业务处理平台根据步骤S102得到电子交易数据的最新引用状态为未被引用状态,则从公司数字账户将资产数值与电子交易数据中的交易资产数值一致的100比特币,转移至业务申请节点的数字账户,并向业务申请节点发送业务核销处理请求已被处理的消息。
在本申请实施例中,业务处理平台接收业务申请节点发送的业务核销处理请求,并对业务核销处理请求中的默克尔hash进行校验,若校验通过,则根据电子交易数据标识,查询区块链网络中是否存在输入数据中包含电子交易数据标识的电子交易数据的引用数据,进而得到电子交易数据的最新引用状态,根据电子交易数据的最新引用状态,对业务核销处理请求进行处理。因此采用本申请可以提高核销业务处理的准确度。
请参见图3,是本申请实施例提供的一种基于区块链网络的业务处理方法的流程示意图。如图3所示,上述方法可以包括:
步骤S201,接收业务申请节点发送的业务核销处理请求携带业务申请节点账号签名,业务核销处理请求包括电子交易数据、电子交易数据所在默克尔树的默克尔hash,以及电子交易数据所在区块的区块高度。
其中,上述默克尔hash是根据上述电子交易数据以及上述电子交易数据所在区块中的其他交易hash生成。这里,生成默克尔hash的具体实现方式可参考图1d中得到节点107对应的哈希值的描述,此处不再赘述。
步骤S202,对业务申请节点账号签名进行校验。
其中,上述业务核销处理请求携带业务申请节点账号签名;
可选的,对业务申请节点账号签名进行校验,包括:
获取上述业务申请节点的验签公钥,根据上述业务申请节点的验签公钥对上述业务申请节点账号签名进行验签,得到第一校验码;
采用哈希算法将上述业务核销处理请求转换为第二校验码;
若上述第一校验码与上述第二校验码一致,则对上述默克尔hash进行校验。
举例来说,业务处理平台根据业务申请节点标识在区块链网络中获取业务申请节点的验签公钥,并运用业务申请节点的验签公钥对业务申请节点账号签名进行验签,得到hash1,之后,采用哈希算法对业务核销处理请求进行哈希计算,得到hash2,通过比较得到hash1与hash2一致,则校验通过,确定业务核销处理请求是业务申请节点发出的,之后执行步骤S203。
步骤S203,若校验通过,对默克尔hash进行校验,若检验通过,则根据电子交易标识,查询区块链网络中是否存在输入数据中包含电子交易数据标识的电子交易数据的引用数据。
这里,步骤S203的具体实现方式可参考对应的实施例中步骤S102里面业务处理平台对默克尔hash进行校验和查询区块链中是否存在电子交易数据的引用数据的描述,此处不再赘述。
之后执行步骤S204或步骤S207。
步骤S204,若区块链网络中不存在电子交易数据的引用数据,则确定电子交易数据的最新引用状态为未被引用状态。
之后执行步骤S205。
步骤S205,将资产数值与电子交易数据中的交易资产数值一致的虚拟资产,转移至业务申请节点的数字账户,并向业务申请节点发送业务核销处理请求已被处理的消息。
这里,步骤S204-S205的具体实现方式可参考对应的实施例中步骤S102-S103的描述,此处不再赘述。
之后执行步骤S206。
步骤S206,根据业务处理方、交易资产数值和业务申请节点生成待上链电子交易数据,将待上链电子交易数据上传至区块链网络。
一种可能的实施方式,业务处理平台根据业务处理方、上述交易资产数值和上述业务申请节点生成待上链电子交易数据;将上述待上链电子交易数据发送至区块链网络中的共识节点,以使上述共识节点对上述待上链电子交易数据进行共识验证,并在共识验证通过的情况下返回共识确认消息;在确认接收到的上述共识确认消息的数量与上述共识节点的数量的比例达到预设的共识比例的情况下,将包含上述待上链电子交易数据的区块添加至上述区块链网络中。
具体的,请一并参见图4,是本申请实施例提供的一种待上链电子交易数据上链的场景示意图。业务处理平台根据业务处理方、交易资产数值和业务申请节点生成待上链电子交易数据701,并获取到其他待上链电子交易数据,其中,其他待上链电子交易数据包括待上链电子交易数据702、…、待上链电子交易数据800,如图4所示,假设区块链400中的每个区块(也包括区块4007、区块4008)所存储的电子交易数据数量为100,则待上链电子交易数据1至待上链电子交易数据100存储在区块4001中,以此类推,待上链电子交易数据601、待上链电子交易数据602……至待上链电子交易数据700存储在区块4007中,待上链电子交易数据701至待上链电子交易数据800存储在区块4008中,其中区块4007的区块头包括4006H、4007I以及4007T,4006H代表区块4007的前继区块(即区块4006)的区块头哈希值,4007I代表区块4007中的电子交易数据所对应的哈希值,如由区块4007的区块体中电子交易数据601、电子交易数据602……电子交易数据700的哈希值所构成的默克尔树根,4007T代表区块4007的生成时间戳,同理其中区块4008的区块头包括4007H、4008I以及4008T;以区块4008的生成过程为例,叙述区块生成的详细过程,业务处理平台40生成待上链电子交易数据701后,首先验证待上链电子交易数据701,验证通过后将待上链电子交易数据701存储至内存池并更新哈希树,根据获取到待上链电子交易数据701的时间戳更新哈希树的时间戳,然后利用哈希算法计算待上链电子交易数据701的哈希值;业务处理平台40获取到待上链电子交易数据702,通过上述过程得到待上链电子交易数据702的哈希值,直至计算得到待上链电子交易数据800的哈希值,然后将待上链电子交易数据701至待上链电子交易数据800存储至区块4008的区块体中,并根据上述待上链电子交易数据701的哈希值、…、上述待上链电子交易数据800的哈希值生成区块4008对应的哈希值,业务处理平台40根据区块4007的区块头哈希值、区块4008对应的哈希值以及待上链电子交易数据701至待上链电子交易数据800生成待上链的区块4008,将待上链的区块4008对外广播至区块链中的共识节点,由共识节点对待上链的区块4008进行校验,示例性的,共识节点采用哈希算法分别对待上链的区块4008中的待上链电子交易数据701、…、待上链电子交易数据800进行哈希计算,得到待上链电子交易数据701、…、待上链电子交易数据800中每个待上链电子交易数据对应的哈希值,根据待上链电子交易数据701的哈希值、…、待上链电子交易数据800的哈希值计算得到校验哈希值,将校验哈希值与上述区块4008对应的哈希值进行对比,若校验哈希值与上述区块4008对应的哈希值一致,则共识验证通过,并向业务处理平台40返回共识确认消息,在确认接收到的共识确认消息的数量与共识节点的数量的比例达到预设的共识比例(如51%)的情况下,将待上链的区块4008添加至业务处理平台40存储的区块链400中。
步骤S207,若区块链网络中存在电子交易数据的引用数据,则确定电子交易数据的最新引用状态为已被引用状态。
在执行步骤S207之前,上述业务申请节点将上述电子交易数据发送至上述交易接收方;在接收到上述交易接收方发送的电子交易数据接收确认消息携带上述交易接收方账号签名后,对上述交易接收方账号签名进行校验;若校验通过,则根据上述业务申请节点、上述电子交易数据和上述交易接收方生成上述电子交易数据的引用数据;将上述电子交易数据的引用数据发送至上述区块链网络中的共识节点,以使上述共识节点对上述电子交易数据的引用数据进行共识验证,并在共识验证通过的情况下返回共识确认消息;在确认接收到的上述共识确认消息的数量与上述共识节点的数量的比例达到预设的共识比例的情况下,将包含上述电子交易数据的引用数据区块添加至上述区块链网络中。
具体的,业务申请节点将电子交易数据发送至交易接收方,交易接收方在接收到电子交易数据后,返回电子交易数据接收确认消息携带上述交易接收方账号签名,业务申请节点在接收到电子交易数据接收确认消息后,根据交易接收方的标识在区块链网络中获取交易接收方的验签公钥,运用交易接收方的验签公钥对交易接收方账号签名进行验签,得到hash5,并采用哈希算法对电子交易数据接收确认消息进行哈希计算,得到hash6,hash5与hash6一致,则校验通过,根据业务申请节点、电子交易数据和交易接收方生成电子交易数据的引用数据,之后将电子交易数据的引用数据上传至区块链网络,这里,业务申请节点所在终端将电子交易数据的引用数据上传至区块链网络的具体实现过程可参考步骤S206的描述,此处不再赘述。
之后,业务处理平台查询到在区块链网络中存在电子交易数据的引用数据,则确定电子交易数据的最新引用状态为已被引用状态。之后执行步骤S208。
步骤S208,向业务申请节点发送业务核销处理请求已被拒绝的消息。
具体的,若电子交易数据的最新引用状态为已被引用状态,则业务处理平台向业务申请节点发送业务核销处理请求已被拒绝的消息。
进一步的,若电子交易数据的最新引用状态为已被引用状态,业务处理平台可根据电子交易数据的引用数据中的输出地址,确定电子交易数据的用途,如被报销或者被红冲掉。
具体的,若电子交易数据的引用数据中的输出地址与业务处理平台中的业务处理账号一致,则确定该电子交易数据已被报销;若电子交易数据的引用数据中的输出地址与税局平台中的账号或者商家账号一致,则确定该电子交易数据已被红冲掉。
举例来说,业务处理平台根据步骤S207得到电子交易数据的最新引用状态为已被引用状态,则根据电子交易数据的引用数据中的输出地址为业务处理平台中多个业务处理账号的业务处理账号1,确定该电子交易数据已被业务处理账号1报销,并向业务申请节点发送该电子交易数据已被报销,不再对业务核销处理请求进行处理的消息。
又举例来说,业务处理平台根据步骤S207得到电子交易数据的最新引用状态为已被引用状态,则根据电子交易数据的引用数据中的输出地址为税局平台中的账号,确定该电子交易数据已被税局红冲掉,并向业务申请节点发送该电子交易数据已被红冲,不再对业务核销处理请求进行处理的消息。
在本申请实施例中,业务处理平台接收业务申请节点发送的业务核销处理请求,并对业务核销处理请求中的默克尔hash进行校验,若校验通过,则根据电子交易数据标识,查询区块链网络中是否存在输入数据中包含电子交易数据标识的电子交易数据的引用数据,进而得到电子交易数据的最新引用状态,根据电子交易数据的最新引用状态,对业务核销处理请求进行处理,此外,若电子交易数据的最新引用状态为未被引用状态,则将资产数值与电子交易数据中交易资产数值一致的虚拟资产转移至业务申请节点的数字账户,并生成待上链电子交易数据,将待上链电子交易数据上传至区块链网络。因此采用本申请不仅可以提高核销业务处理的准确度,还可以提高电子交易数据的安全性。
请参见图5,是本申请实施例提供的一种基于区块链网络的业务处理装置的结构示意图。上述基于区块链网络的业务处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如为一个应用软件;该装置可以用于执行本申请实施例提供的方法中的相应步骤。如图5所示,该业务核销处理装置5可以包括:接收请求模块51、最新引用状态确定模块52、处理请求模块53、校验签名模块54和生成数据上链模块55。
接收请求模块51,用于接收业务申请节点发送的业务核销处理请求,上述业务核销处理请求包括电子交易数据、上述电子交易数据所在默克尔树的默克尔hash,以及上述电子交易数据所在区块的区块高度,其中,上述默克尔hash是根据上述电子交易数据以及上述电子交易数据所在区块中的其他交易hash生成;
最新引用状态确定模块52,用于对上述默克尔hash进行校验,若校验通过,则根据电子交易数据标识,查询区块链网络中是否存在输入数据中包含上述电子交易数据标识的上述电子交易数据的引用数据,进而得到上述电子交易数据的最新引用状态,其中,上述电子交易数据标识为上述电子交易数据的交易hash;
处理请求模块53,用于根据上述电子交易数据的最新引用状态,对上述业务核销处理请求进行处理,其中,上述电子交易数据的最新引用状态为已被引用状态或未被引用状态。
其中,接收请求模块51、最新引用状态确定模块52和处理请求模块53的具体功能实现方式可以参见上述图2对应实施例中的步骤S101-步骤S103,这里不再进行赘述。
其中,上述默克尔hash携带上述电子交易数据所在区块中的其他交易hash;
再参见图5,上述最新引用状态确定模块52,包括:生成对比单元521、获取目标单元522和确定校验结果单元523。
生成对比单元521,用于根据上述电子交易数据以及上述其他交易hash生成校验hash,将上述校验hash与上述默克尔hash进行对比;
获取目标单元522,用于若上述校验hash与上述默克尔hash一致,则根据上述电子交易数据所在区块的区块高度,获取上述电子交易数据所在区块的目标默克尔hash;
确定校验结果单元523,用于若上述目标默克尔hash与上述默克尔hash一致,则校验通过。
其中,生成对比单元521、获取目标单元522和确定校验结果单元523的具体功能实现方式可以参见上述图2对应实施例中的步骤S102,这里不再进行赘述。
其中,上述业务核销处理请求携带业务申请节点账号签名;
上述装置还包括校验签名模块54,用于:
获取上述业务申请节点的验签公钥,根据上述业务申请节点的验签公钥对上述业务申请节点账号签名进行验签,得到第一校验码;
采用哈希算法将上述业务核销处理请求转换为第二校验码;
若上述第一校验码与上述第二校验码一致,则对上述默克尔hash进行校验。
其中,上述最新引用状态确定模块52,包括:遍历单元524和引用状态确定单元525。
遍历单元524,用于遍历上述区块链网络中每个区块中每个电子交易数据的输入数据;
引用状态确定单元525,用于若上述区块链网络中存在上述电子交易数据的引用数据,则确定上述电子交易数据的最新引用状态为上述已被引用状态;
若上述区块链网络中不存在上述电子交易数据的引用数据,则确定上述电子交易数据的最新引用状态为上述未被引用状态。
其中,遍历单元524和引用状态确定单元525的具体功能实现方式可以参见上述图2对应实施例中的步骤S102,这里不再进行赘述。
其中,上述电子交易数据包括交易接收方;
上述若上述区块链网络中存在上述电子交易数据的引用数据之前,包括:
上述业务申请节点将上述电子交易数据发送至上述交易接收方;
在接收到上述交易接收方发送的电子交易数据接收确认消息携带上述交易接收方账号签名后,对上述交易接收方账号签名进行校验;
若校验通过,则根据上述业务申请节点、上述电子交易数据和上述交易接收方生成上述电子交易数据的引用数据;
将上述电子交易数据的引用数据发送至上述区块链网络中的共识节点,以使上述共识节点对上述电子交易数据的引用数据进行共识验证,并在共识验证通过的情况下返回共识确认消息;
在确认接收到的上述共识确认消息的数量与上述共识节点的数量的比例达到预设的共识比例的情况下,将包含上述电子交易数据的引用数据区块添加至上述区块链网络中。
其中,上述电子交易数据包括交易资产数值;
上述处理请求模块53具体用于:
若上述电子交易数据的最新引用状态为上述未被引用状态,则将资产数值与上述交易资产数值一致的虚拟资产,转移至上述业务申请节点的数字账户,并向上述业务申请节点发送上述业务核销处理请求已被处理的消息;
若上述电子交易数据的最新引用状态为上述已被引用状态,则向上述业务申请节点发送上述业务核销处理请求已被拒绝的消息。
其中,处理请求模块53的具体功能实现方式可以参见上述图2对应实施例中的步骤S103,这里不再进行赘述。
其中,上述装置还包括生成数据上链模块55,用于:
根据业务处理方、上述交易资产数值和上述业务申请节点生成待上链电子交易数据;
将上述待上链电子交易数据发送至区块链网络中的共识节点,以使上述共识节点对上述待上链电子交易数据进行共识验证,并在共识验证通过的情况下返回共识确认消息;
在确认接收到的上述共识确认消息的数量与上述共识节点的数量的比例达到预设的共识比例的情况下,将包含上述待上链电子交易数据的区块添加至上述区块链网络中。
其中,生成数据上链模块55的具体功能实现方式可以参见上述图3对应实施例中的步骤S206,这里不再进行赘述。
在本申请实施例中,业务处理平台将服务方的数字资质证书信息、服务物品信息以及需求方的服务请求上链,并通过调用服务筛选智能合约从多个服务方中筛选出与需求方的服务请求中的物品需求信息相匹配的目标服务方,通过服务筛选智能合约生成服务电子合同,并对该服务电子合同进行维护,因此采用本申请不但可以降低人工成本,还可以提高业务处理数据的安全性。
请参见图6,是本申请实施例提供的一种服务节点的结构示意图。如图6所示,上述服务节点600可以包括:处理器601,网络接口604和存储器605,此外,上述服务节点600还可以包括:用户接口603,和至少一个通信总线602。其中,通信总线602用于实现这些组件之间的连接通信。其中,用户接口603可以包括显示屏(Display)、键盘(Keyboard),可选用户接口603还可以包括标准的有线接口、无线接口。网络接口604可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器605可以是高速RAM存储器,也可以是非易失性的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器605可选的还可以是至少一个位于远离前述处理器601的存储装置。如图6所示,作为一种计算机可读存储介质的存储器605中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图6所示的服务节点600中,网络接口604可提供网络通讯功能;而用户接口603主要用于为用户提供输入的接口;而处理器601可以用于调用存储器605中存储的设备控制应用程序,以实现:
接收业务申请节点发送的业务核销处理请求,上述业务核销处理请求包括电子交易数据、上述电子交易数据所在默克尔树的默克尔hash,以及上述电子交易数据所在区块的区块高度,其中,上述默克尔hash是根据上述电子交易数据以及上述电子交易数据所在区块中的其他交易hash生成;
对上述默克尔hash进行校验,若校验通过,则根据电子交易数据标识,查询区块链网络中是否存在输入数据中包含上述电子交易数据标识的上述电子交易数据的引用数据,进而得到上述电子交易数据的最新引用状态,其中,上述电子交易数据标识为上述电子交易数据的交易hash;
根据上述电子交易数据的最新引用状态,对上述业务核销处理请求进行处理,其中,上述电子交易数据的最新引用状态为已被引用状态或未被引用状态。
在一个实施例中,上述默克尔hash携带上述电子交易数据所在区块中的其他交易hash;
上述处理器601在执行对上述默克尔hash进行校验,具体执行以下步骤:
根据上述电子交易数据以及上述其他交易hash生成校验hash,将上述校验hash与上述默克尔hash进行对比;
若上述校验hash与上述默克尔hash一致,则根据上述电子交易数据所在区块的区块高度,获取上述电子交易数据所在区块的目标默克尔hash;
若上述目标默克尔hash与上述默克尔hash一致,则校验通过。
在一个实施例中,上述业务核销处理请求携带业务申请节点账号签名;
上述处理器601还执行以下步骤:
获取上述业务申请节点的验签公钥,根据上述业务申请节点的验签公钥对上述业务申请节点账号签名进行验签,得到第一校验码;
采用哈希算法将上述业务核销处理请求转换为第二校验码;
若上述第一校验码与上述第二校验码一致,则对上述默克尔hash进行校验。
在一个实施例中,上述处理器601在执行根据电子交易数据标识,查询区块链网络中是否存在输入数据中包含上述电子交易数据标识的上述电子交易数据的引用数据,进而得到上述电子交易数据的最新引用状态,具体执行以下步骤:
遍历上述区块链网络中每个区块中每个电子交易数据的输入数据;
若上述区块链网络中存在上述电子交易数据的引用数据,则确定上述电子交易数据的最新引用状态为上述已被引用状态;
若上述区块链网络中不存在上述电子交易数据的引用数据,则确定上述电子交易数据的最新引用状态为上述未被引用状态。
其中,上述电子交易数据包括交易接收方;
上述若上述区块链网络中存在上述电子交易数据的引用数据之前,包括:
上述业务申请节点将上述电子交易数据发送至上述交易接收方;
在接收到上述交易接收方发送的电子交易数据接收确认消息携带上述交易接收方账号签名后,对上述交易接收方账号签名进行校验;
若校验通过,则根据上述业务申请节点、上述电子交易数据和上述交易接收方生成上述电子交易数据的引用数据;
将上述电子交易数据的引用数据发送至上述区块链网络中的共识节点,以使上述共识节点对上述电子交易数据的引用数据进行共识验证,并在共识验证通过的情况下返回共识确认消息;
在确认接收到的上述共识确认消息的数量与上述共识节点的数量的比例达到预设的共识比例的情况下,将包含上述电子交易数据的引用数据区块添加至上述区块链网络中。
在一个实施例中,上述电子交易数据包括交易资产数值;
上述处理器601在执行根据上述电子交易数据的最新引用状态,对上述业务核销处理请求进行处理,具体执行以下步骤:
若上述电子交易数据的最新引用状态为上述未被引用状态,则将资产数值与上述交易资产数值一致的虚拟资产,转移至上述业务申请节点的数字账户,并向上述业务申请节点发送上述业务核销处理请求已被处理的消息;
若上述电子交易数据的最新引用状态为上述已被引用状态,则向上述业务申请节点发送上述业务核销处理请求已被拒绝的消息。
在一个实施例中,上述处理器601还执行以下步骤:
根据业务处理方、上述交易资产数值和上述业务申请节点生成待上链电子交易数据;
将上述待上链电子交易数据发送至区块链网络中的共识节点,以使上述共识节点对上述待上链电子交易数据进行共识验证,并在共识验证通过的情况下返回共识确认消息;
在确认接收到的上述共识确认消息的数量与上述共识节点的数量的比例达到预设的共识比例的情况下,将包含上述待上链电子交易数据的区块添加至上述区块链网络中。
应当理解,本申请实施例中所描述的服务节点600可执行前文图2以及图3所对应实施例中对上述基于区块链网络的业务处理方法的描述,也可执行前文图5所对应实施例中对上述基于区块链网络的业务处理装置的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且上述计算机可读存储介质中存储有前文提及的基于区块链网络的业务处理装置5所执行的计算机程序,且上述计算机程序包括程序指令,当上述处理器执行上述程序指令时,能够执行前文图2或图4对应实施例中对上述基于区块链网络的业务处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,程序指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行,分布在多个地点且通过通信网络互连的多个计算设备可以组成区块链系统。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
本申请实施例提供的方法及相关装置是参照本申请实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

Claims (10)

1.一种基于区块链网络的业务处理方法,其特征在于,包括:
接收业务申请节点发送的业务核销处理请求,所述业务核销处理请求包括电子交易数据、所述电子交易数据所在默克尔树的默克尔hash,以及所述电子交易数据所在区块的区块高度,其中,所述默克尔hash是根据所述电子交易数据以及所述电子交易数据所在区块中的其他交易hash生成;
对所述默克尔hash进行校验,若校验通过,则根据电子交易数据标识,查询区块链网络中是否存在输入数据中包含所述电子交易数据标识的所述电子交易数据的引用数据,进而得到所述电子交易数据的最新引用状态,其中,所述电子交易数据标识为所述电子交易数据的交易hash;
根据所述电子交易数据的最新引用状态,对所述业务核销处理请求进行处理,其中,所述电子交易数据的最新引用状态为已被引用状态或未被引用状态。
2.根据权利要求1所述的方法,其特征在于,所述默克尔hash携带所述电子交易数据所在区块中的其他交易hash;
所述对所述默克尔hash进行校验,包括:
根据所述电子交易数据以及所述其他交易hash生成校验hash,将所述校验hash与所述默克尔hash进行对比;
若所述校验hash与所述默克尔hash一致,则根据所述电子交易数据所在区块的区块高度,获取所述电子交易数据所在区块的目标默克尔hash;
若所述目标默克尔hash与所述默克尔hash一致,则校验通过。
3.根据权利要求1所述的方法,其特征在于,所述业务核销处理请求携带业务申请节点账号签名;
所述对所述默克尔hash进行校验之前,包括:
获取所述业务申请节点的验签公钥,根据所述业务申请节点的验签公钥对所述业务申请节点账号签名进行验签,得到第一校验码;
采用哈希算法将所述业务核销处理请求转换为第二校验码;
若所述第一校验码与所述第二校验码一致,则对所述默克尔hash进行校验。
4.根据权利要求1所述的方法,其特征在于,所述根据电子交易数据标识,查询区块链网络中是否存在输入数据中包含所述电子交易数据标识的所述电子交易数据的引用数据,进而得到所述电子交易数据的最新引用状态,包括:
遍历所述区块链网络中每个区块中每个电子交易数据的输入数据;
若所述区块链网络中存在所述电子交易数据的引用数据,则确定所述电子交易数据的最新引用状态为所述已被引用状态;
若所述区块链网络中不存在所述电子交易数据的引用数据,则确定所述电子交易数据的最新引用状态为所述未被引用状态。
5.根据权利要求4所述的方法,其特征在于,所述电子交易数据包括交易接收方;
所述若所述区块链网络中存在所述电子交易数据的引用数据之前,包括:
所述业务申请节点将所述电子交易数据发送至所述交易接收方;
在接收到所述交易接收方发送的电子交易数据接收确认消息携带所述交易接收方账号签名后,所述业务申请节点对所述交易接收方账号签名进行校验;
若校验通过,则所述业务申请节点根据所述业务申请节点、所述电子交易数据和所述交易接收方生成所述电子交易数据的引用数据;
所述业务申请节点将所述电子交易数据的引用数据发送至所述区块链网络中的共识节点,以使所述共识节点对所述电子交易数据的引用数据进行共识验证,并在共识验证通过的情况下返回共识确认消息;
在确认接收到的所述共识确认消息的数量与所述共识节点的数量的比例达到预设的共识比例的情况下,将包含所述电子交易数据的引用数据区块添加至所述区块链网络中。
6.根据权利要求1所述的方法,其特征在于,所述电子交易数据包括交易资产数值;
所述根据所述电子交易数据的最新引用状态,对所述业务核销处理请求进行处理,包括:
若所述电子交易数据的最新引用状态为所述未被引用状态,则将资产数值与所述交易资产数值一致的虚拟资产,转移至所述业务申请节点的数字账户,并向所述业务申请节点发送所述业务核销处理请求已被处理的消息;
若所述电子交易数据的最新引用状态为所述已被引用状态,则向所述业务申请节点发送所述业务核销处理请求已被拒绝的消息。
7.根据权利要求6所述的方法,其特征在于,所述向所述业务申请节点发送所述业务核销处理请求已被处理的消息之后,包括:
根据业务处理方、所述交易资产数值和所述业务申请节点生成待上链电子交易数据;
将所述待上链电子交易数据发送至区块链网络中的共识节点,以使所述共识节点对所述待上链电子交易数据进行共识验证,并在共识验证通过的情况下返回共识确认消息;
在确认接收到的所述共识确认消息的数量与所述共识节点的数量的比例达到预设的共识比例的情况下,将包含所述待上链电子交易数据的区块添加至所述区块链网络中。
8.一种基于区块链网络的业务处理装置,其特征在于,包括:
接收请求单元,用于接收业务申请节点发送的业务核销处理请求,所述业务核销处理请求包括电子交易数据、所述电子交易数据所在默克尔树的默克尔hash,以及所述电子交易数据所在区块的区块高度,其中,所述默克尔hash是根据所述电子交易数据以及所述电子交易数据所在区块中的其他交易hash生成;
最新引用状态确定单元,用于对所述默克尔hash进行校验,若校验通过,则根据电子交易数据标识,查询区块链网络中是否存在输入数据中包含所述电子交易数据标识的所述电子交易数据的引用数据,进而得到所述电子交易数据的最新引用状态,其中,所述电子交易数据标识为所述电子交易数据的交易hash;
处理请求单元,用于根据所述电子交易数据的最新引用状态,对所述业务核销处理请求进行处理,其中,所述电子交易数据的最新引用状态为已被引用状态或未被引用状态。
9.一种服务节点,其特征在于,包括处理器、存储器和收发器,所述处理器、存储器和收发器相互连接,其中,所述收发器用于接收或发送数据,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,执行如权利要求1-7任一项所述的基于区块链网络的业务处理方法。
10.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序包括程序指令;所述程序指令当被处理器执行时使所述处理器执行如权利要求1-7任一项所述的基于区块链网络的业务处理方法。
CN202010152383.XA 2020-03-06 2020-03-06 一种基于区块链网络的业务处理方法 Active CN111382164B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010152383.XA CN111382164B (zh) 2020-03-06 2020-03-06 一种基于区块链网络的业务处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010152383.XA CN111382164B (zh) 2020-03-06 2020-03-06 一种基于区块链网络的业务处理方法

Publications (2)

Publication Number Publication Date
CN111382164A CN111382164A (zh) 2020-07-07
CN111382164B true CN111382164B (zh) 2021-04-30

Family

ID=71218702

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010152383.XA Active CN111382164B (zh) 2020-03-06 2020-03-06 一种基于区块链网络的业务处理方法

Country Status (1)

Country Link
CN (1) CN111382164B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112019603B (zh) * 2020-08-10 2022-04-08 中国联合网络通信集团有限公司 一种交易数据的处理方法及装置
CN112131235A (zh) * 2020-09-21 2020-12-25 中国电子科技网络信息安全有限公司 一种区块链系统内交易可信校验实现方法
CN112637267B (zh) * 2020-11-27 2023-06-02 成都质数斯达克科技有限公司 业务处理方法、装置、电子设备及可读存储介质
CN112685505B (zh) * 2021-01-07 2022-06-24 腾讯科技(深圳)有限公司 一种交易数据处理方法、装置、计算机设备及存储介质
CN113836233B (zh) * 2021-09-26 2023-09-08 承德石油高等专科学校 一种基于区块链的审计数据存证溯源方法和终端
US11924351B1 (en) 2023-02-09 2024-03-05 Hong Kong Applied Science and Technology Research Institute Company Limited Optimizing data transactions and verification on a blockchain network

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107563910A (zh) * 2017-07-21 2018-01-09 广东工业大学 一种基于区块链技术的二手房交易方法
CN108711052A (zh) * 2018-05-18 2018-10-26 电子科技大学 一种基于区块链的信息验证系统
CN110264325A (zh) * 2019-04-26 2019-09-20 国家电网有限公司 一种基于区块链的发票审核方法及装置
CN110443073A (zh) * 2019-07-31 2019-11-12 南瑞集团有限公司 一种基于区块链的防篡改数据存储方法、装置及系统
CN110599346A (zh) * 2019-09-20 2019-12-20 腾讯科技(深圳)有限公司 一种区块链信息获取方法及相关设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11055419B2 (en) * 2017-12-01 2021-07-06 Alan Health and Science Decentralized data authentication system for creation of integrated lifetime health records

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107563910A (zh) * 2017-07-21 2018-01-09 广东工业大学 一种基于区块链技术的二手房交易方法
CN108711052A (zh) * 2018-05-18 2018-10-26 电子科技大学 一种基于区块链的信息验证系统
CN110264325A (zh) * 2019-04-26 2019-09-20 国家电网有限公司 一种基于区块链的发票审核方法及装置
CN110443073A (zh) * 2019-07-31 2019-11-12 南瑞集团有限公司 一种基于区块链的防篡改数据存储方法、装置及系统
CN110599346A (zh) * 2019-09-20 2019-12-20 腾讯科技(深圳)有限公司 一种区块链信息获取方法及相关设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
区块链技术综述;张亮等;《计算机工程》;20190318(第05期);第1-12页 *
基于区块链技术的微网能量管理探析与方案设计;李刚等;《电力建设》;20180201(第02期);第43-49页 *

Also Published As

Publication number Publication date
CN111382164A (zh) 2020-07-07

Similar Documents

Publication Publication Date Title
CN111382164B (zh) 一种基于区块链网络的业务处理方法
CN113691597B (zh) 区块链合约部署方法、装置、设备以及存储介质
CN112686671B (zh) 基于区块链的智能合约部署方法、装置、设备以及介质
CN110599346A (zh) 一种区块链信息获取方法及相关设备
CN111523890A (zh) 基于区块链的数据处理方法、装置、存储介质及设备
CN110599174A (zh) 一种区块链信息处理方法及相关设备
CN111447069B (zh) 一种基于区块链的低频访问数据处理方法
CN110601896B (zh) 一种基于区块链节点的数据处理方法以及设备
CN111010282B (zh) 一种基于区块链的信息处理方法、相关装置及存储介质
CN112101942A (zh) 基于区块链的交易请求处理方法、系统、装置及设备
CN111488372A (zh) 一种数据处理方法、设备及存储介质
CN111314172A (zh) 基于区块链的数据处理方法、装置、设备及存储介质
CN110400217A (zh) 智能合约的规则变更处理方法及装置
CN111488626A (zh) 基于区块链的数据处理方法、装置、设备及介质
CN111447068A (zh) 一种基于区块链的授时存证方法
CN111260475A (zh) 一种数据处理方法、区块链节点设备及存储介质
CN110968899B (zh) 一种基于区块链的数据分块确认方法、装置、设备和介质
CN111641715A (zh) 基于区块链的数据处理方法、装置、设备及介质
CN113949632A (zh) 一种区块链的节点动态配置方法及装置
CN113987574A (zh) 一种区块链私密交易方法、装置、设备及可读存储介质
CN114170006A (zh) 基于状态机的资讯数据获取方法、装置、设备及介质
CN113556238A (zh) 区块验证方法
CN111194441B (zh) 一种基于区块链的数据管理方法及相关系统
CN114398376A (zh) 一种数据处理方法、设备及可读存储介质
CN113672988A (zh) 基于区块链的信息管理方法、系统、介质及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant