CN111600720A - 基于区块链的数据处理方法、装置、设备及可读存储介质 - Google Patents

基于区块链的数据处理方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN111600720A
CN111600720A CN202010430099.4A CN202010430099A CN111600720A CN 111600720 A CN111600720 A CN 111600720A CN 202010430099 A CN202010430099 A CN 202010430099A CN 111600720 A CN111600720 A CN 111600720A
Authority
CN
China
Prior art keywords
transaction data
block
target
hash value
uplink
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.)
Granted
Application number
CN202010430099.4A
Other languages
English (en)
Other versions
CN111600720B (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 CN202010430099.4A priority Critical patent/CN111600720B/zh
Publication of CN111600720A publication Critical patent/CN111600720A/zh
Priority to PCT/CN2021/088633 priority patent/WO2021233049A1/zh
Application granted granted Critical
Publication of CN111600720B publication Critical patent/CN111600720B/zh
Priority to US17/741,131 priority patent/US20220271960A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例公开了一种基于区块链的数据处理方法、装置、设备以及可读存储介质,可以应用于文件存储领域,其中,方法包括:从交易池中获取目标交易数据,生成上述目标交易数据的待检测哈希值;获取针对已上链的历史区块的区块列表,根据上述区块列表和上述待检测哈希值确定上述目标交易数据的上链状态;若上述目标交易数据的上链状态为已上链状态,则删除上述目标交易数据;若上述目标交易数据的上链状态为未上链状态,则根据上述目标交易数据生成目标区块,对上述目标区块进行上链处理。采用本申请,可以减少存储资源的浪费,提高存储空间的利用率。

Description

基于区块链的数据处理方法、装置、设备及可读存储介质
技术领域
本申请涉及互联网技术领域,尤其涉及一种基于区块链的数据处理方法、装置、设备以及可读存储介质。
背景技术
区块链网络中的某个节点获取到交易数据时,会将获取到的该交易数据广播至该区块链网络中的其他节点,以使每个节点的交易池中的交易数据保持一致。但是在网络拥塞的场景下,广播交易数据的过程中会出现延迟,例如节点A获取到交易数据S时,将其广播至节点B、…、节点C以及节点D,其中,节点B最先获取到交易数据S,节点C和节点D较晚才获取到上述交易数据S,即由于延迟的时间不同,每个节点获取到交易数据S的时间不同。
节点A在获取到交易数据S后,可以将上述交易数据S打包生成区块,在区块链网络通过对该区块的共识后,该区块可以成功上链。此时,节点C可能在该区块成功上链后才获取到上述交易数据S,所以节点C很可能又会将上述交易数据S进行打包共识,并再次上链,这样就会出现交易数据S被重复打包和重复上链的情况,进而导致交易数据被重复存储,浪费了存储资源。
发明内容
本申请实施例提供一种基于区块链的数据处理方法、装置、设备以及可读存储介质,可以在区块链中上链交易数据的时候,减少存储资源的浪费。
本申请实施例一方面提供一种基于区块链的数据处理方法,包括:
从交易池中获取目标交易数据,生成上述目标交易数据的待检测哈希值;
获取针对已上链的历史区块的区块列表,根据上述区块列表和上述待检测哈希值确定上述目标交易数据的上链状态;
若上述目标交易数据的上链状态为已上链状态,则删除上述目标交易数据;
若上述目标交易数据的上链状态为未上链状态,则根据上述目标交易数据生成目标区块,对上述目标区块进行上链处理。
本申请实施例一方面提供一种基于区块链的数据处理方法,包括:
获取出块节点发送的目标区块,获取上述目标区块中的目标交易数据的待检测哈希值;
获取针对已上链的历史区块的区块列表,根据上述区块列表和上述待检测哈希值确定上述目标交易数据的上链状态;
若上述目标交易数据的上链状态为已上链状态,则确定上述目标区块共识失败;
若上述目标交易数据的上链状态为未上链状态,则对上述目标区块进行共识处理。
本申请实施例一方面提供一种基于区块链的数据处理装置,包括:
第一获取模块,用于从交易池中获取目标交易数据,生成上述目标交易数据的待检测哈希值;
第二获取模块,用于获取针对已上链的历史区块的区块列表,根据上述区块列表和上述待检测哈希值确定上述目标交易数据的上链状态;
第一删除模块,用于若上述目标交易数据的上链状态为已上链状态,则删除上述目标交易数据;
生成区块模块,用于若上述目标交易数据的上链状态为未上链状态,则根据上述目标交易数据生成目标区块,对上述目标区块进行上链处理。
其中,上述第二获取模块,包括:
获取历史单元,用于获取上述区块列表中的历史区块信息;上述历史区块信息包括历史哈希值,上述历史哈希值是指针对上述历史区块中的交易数据的哈希值;
确定状态单元,用于将上述历史区块信息中的上述历史哈希值与上述待检测哈希值进行匹配,根据匹配结果确定上述目标交易数据的上链状态。
其中,上述确定状态单元,包括:
第一确定子单元,用于若上述历史哈希值与上述待检测哈希值相同,则确定上述目标交易数据的上链状态为上述已上链状态;
第二确定子单元,用于若上述历史哈希值与上述待检测哈希值不相同,则确定上述目标交易数据的上链状态为上述未上链状态。
其中,上述第一获取模块具体用于从上述交易池中获取上述目标交易数据,将上述目标交易数据添加至待上链交易序列;上述待上链交易序列包含用于生成上述目标区块的交易数据;
则上述第一删除模块具体用于若上述目标交易数据的上链状态为上述已上链状态,则从上述待上链交易序列中删除上述目标交易数据,从上述交易池中删除上述目标交易数据。
其中,上述生成区块模块,包括:
添加目标单元,用于若上述目标交易数据的上链状态为上述未上链状态,则将上述目标交易数据添加至待上链交易序列;
生成区块单元,用于根据上述待上链交易序列生成上述目标区块。
其中,上述生成区块单元,包括:
统计数据子单元,用于统计上述待上链交易序列中的交易数据的数量,作为交易数据数量;
补充数据子单元,用于若上述交易数据数量小于序列数量阈值,则将上述序列数量阈值与上述交易数据数量之间的数量差值,作为补充数量;
获取补充子单元,用于从上述交易池中获取补充交易数据;上述补充交易数据的数量等于上述补充数量;
生成区块子单元,用于根据上述补充交易数据以及上述待上链交易序列生成上述目标区块。
其中,还包括:
第三获取模块,用于当上述目标区块上链完成时,获取上述目标区块的目标区块信息;上述目标区块信息包括上述目标区块中的交易数据所对应的哈希值;
第二删除模块,用于将上述目标区块信息添加至上述区块列表,从上述交易池中删除上述目标区块中的交易数据。
其中,上述第二删除模块,包括:
确定数量单元,用于确定上述历史区块信息的数量,作为区块信息数量;
添加信息单元,用于若上述区块信息数量小于列表数量阈值,则将上述目标区块信息添加至上述区块列表;
更新信息单元,用于若上述区块信息数量等于上述列表数量阈值,则获取上述区块列表中存储时间戳最早的历史区块信息,将上述存储时间戳最早的历史区块信息更新为上述目标区块信息。
其中,上述第二删除模块,还包括:
获取节点单元,用于当第一系统时间达到第一心跳更新周期时,获取区块链网络中节点的节点数量;
更新数量单元,用于根据上述节点数量对上述列表数量阈值进行更新,得到更新后的列表数量阈值;上述节点数量与上述更新后的列表数量阈值之间为正比例关系。
其中,还包括:
第四获取模块,用于当第二系统时间达到第二心跳更新周期时,获取上述区块列表中的至少两个历史哈希值;
第五获取模块,用于获取上述交易池中的交易数据,生成上述交易池中的交易数据的待过滤哈希值;
过滤交易模块,用于将上述历史哈希值与上述待过滤哈希值进行对比,根据对比结果对上述交易池中的交易数据进行过滤处理。
其中,上述过滤交易模块,包括:
确定重复单元,用于当上述历史哈希值与上述待过滤哈希值相同时,则将上述待过滤哈希值所对应的交易数据确定为重复交易数据;
过滤重复单元,用于从上述交易池中过滤上述重复交易数据。
本申请实施例一方面提供一种基于区块链的数据处理方法,包括:
获取区块模块,用于获取出块节点发送的目标区块,获取上述目标区块中的目标交易数据的待检测哈希值;
获取列表模块,用于获取针对已上链的历史区块的区块列表,根据上述区块列表和上述待检测哈希值确定上述目标交易数据的上链状态;
确定失败模块,用于若上述目标交易数据的上链状态为已上链状态,则确定上述目标区块共识失败;
共识区块模块,用于若上述目标交易数据的上链状态为未上链状态,则对上述目标区块进行共识处理。
本申请一方面提供了一种计算机设备,包括:处理器、存储器、网络接口;
上述处理器与上述存储器、上述网络接口相连,其中,上述网络接口用于提供数据通信功能,上述存储器用于存储计算机程序,上述处理器用于调用上述计算机程序,以执行如本申请实施例中的方法。
本申请实施例一方面提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序包括程序指令,上述程序指令当被处理器执行时,以执行如本申请实施例中的方法。
本申请实施例中通过为区块链网络中的每个节点建立一个用来存储已上链的历史区块信息的区块列表,来检测从交易池中获取的目标交易数据是否已进行过打包上链。具体为:当节点生成目标区块时,首先从交易池中获取目标交易数据,然后获取上述目标交易数据的待检测哈希值,根据上述区块列表以及上述待检测哈希值确定上述目标交易数据的上链状态;若上述目标交易数据的上链状态为已上链状态,则节点删除上述目标交易数据,若上述目标交易数据的上链状态为未上链状态,则节点根据上述目标交易数据生成目标区块,对上述目标区块进行上链处理。上述可知,当节点将交易数据成功上链时,就将交易数据的哈希值存储至区块列表中,因此,当下一次出块时,节点首先将从交易池中获取到的目标交易数据,与该区块列表进行验证,即验证目标交易数据是否属于已上链的历史区块中的交易数据,若是,则不会出块,若不是,则正常出块,从而可以防止交易数据被重复打包上链,进而可以减少存储资源的浪费。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种系统架构示意图;
图2是本申请实施例提供的一种基于区块链的数据处理的场景示意图;
图3是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图;
图4是本申请实施例提供的一种基于区块链的数据处理的场景示意图;
图5是本申请实施例提供的一种基于区块链的数据处理的场景示意图;
图6是本申请实施例提供的一种基于区块链的数据处理的场景示意图;
图7a是本申请实施例提供的一种基于区块链的数据处理的场景示意图;
图7b是本申请实施例提供的一种基于区块链的数据处理的场景示意图;
图8是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图;
图9是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图;
图10是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图;
图11是本申请实施例提供的一种计算机设备的结构示意图;
图12是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了便于理解,首先对部分名词进行以下简单解释:
1、区块链:狭义上,区块链是一种以区块为基本单位的链式数据结构,区块中利用数字摘要对之前获取的交易历史进行校验,适合分布式记账场景下防篡改和可扩展性的需求;广义上,区块链还指代区块链结构实现的分布式记账技术,包括分布式共识、隐私与安全保护、点对点通信技术、网络协议、智能合约等。区块链的目标是实现一个分布的数据记录账本,此账本只允许添加,不允许删除。账本底层的基本结构是一个线性的链表。链表由一个个“区块”串联组成,后继区块中记录前继区块的哈希(Hash)值,每个区块(以及区块中的交易)是否合法,可通过计算哈希值的方式进行快速检验。若网络中的节点提议添加一个新的区块,必须经过共识机制对区块达成共识确认。
2、区块(Block):记录一段时间内发生的所有交易数据和状态结果等,是对当前账本状态的一次共识。具体的,对于区块链来说,每次写入交易数据,即上述的交易过程,就是创建一个区块。
3、哈希值:也称作信息特征值或特征值,哈希值是通过哈希算法将任意长度的输入数据转换为密码并进行固定输出而生成的,不能通过解密哈希值来检索原始输入数据,它是一个单向的加密函数。在区块链中,每个区块(除了初始区块)都包含前继区块的哈希值,前继区块被称为当前区块的父区块。哈希值是区块链技术中的潜力核心基础和最重要的方面,它保留了记录和查看数据的真实性,以及区块链作为一个整体的完整性。
4、共识机制:通过特殊节点的投票,在很短的时间内完成对交易数据的验证和确认,目标是使区块链网络中的所有的节点保存一致的区块链式图,为一种达成分布式共识的算法,如工作量证明(Proof of Work,POW)、权益证明机制(Proof of Stake,PoS)及拜占庭共识算法(Practical Byzantine Fault Tolerance,PBFT)等。
请参见图1,是本申请实施例提供的一种系统架构示意图。如图1所示,区块链网络20可以包括第一节点10、第二节点201、第三节点202、…、第四节点203。当第五节点30响应针对交易数据A的上链操作时,可以向区块链网络20发送数据上链请求,上述数据上链请求携带交易数据A。当区块链网络20中的某个节点获取到交易数据A时,会将获取到的交易数据A广播至区块链网络20中的其他节点,以使每个节点的交易池中的交易数据保持一致。
以第一节点10为例叙述上述过程,将区块链网络20中的剩余节点(也包括图1中的第二节点201、第三节点202、…、第四节点203)称为其他节点集群。每个节点(也包括第一节点10以及其他节点集群)在进行正常工作时可以接收到外界发送的数据,并基于接收到的数据进行区块上链处理,也可以向外界发送数据。为了保证各个节点之间的数据互通,每个节点之间可以存在数据连接,即第一节点10与第二节点201、第三节点202、…、第四节点203之间存在数据连接,节点之间可以通过上述数据连接进行数据或者区块传输。上述的节点之间的数据连接可以基于节点标识,对于区块链网络20中的每个节点,均具有与其对应的节点标识,而且上述每个节点均可以存储与自身有相连关系的其他节点的节点标识,以便后续根据其他节点的节点标识,将获取到的数据或生成的区块广播至其他节点,例如第一节点10中可维护一个如表1所示的节点标识列表,该节点标识列表保存着其他节点的节点名称和节点标识。
表1
节点名称 节点标识
第二节点201 117.114.151.174
第三节点202 117.116.189.145
第四节点203 119.123.789.258
其中,节点标识可为网络之间互联的协议(Internet Protocol,IP)地址以及其他任一种能够用于标识区块链网络20中节点的信息,表1中仅以IP地址为例进行说明。
假设第一节点10的节点标识为117.116.156.425,则第一节点10可以通过节点标识117.114.151.174,向第二节点201发送上述交易数据A,且第二节点201通过节点标识117.116.156.425,可以知道该交易数据A是第一节点10所发送的;同理,第一节点10可以通过节点标识117.116.189.145,向第三节点202发送上述交易数据A,且第三节点202通过节点标识117.116.156.425,可以知道该交易数据A是节点10所发送的,第一节点10与其他节点(也包括第四节点203)之间的数据传输亦如此,故不再进行赘述。
当第五节点30向区块链网络20发送数据上链请求时,第一节点10最先获取到第五节点30所发送的数据上链请求,进一步地,获取上述数据上链请求中所携带的交易数据A。第一节点10可以通过表1中的节点标识,将上述交易数据A传输至其他节点,由于存在网络拥塞问题,例如第二节点201此时处理的数据量很大,网络拥塞严重,第三节点202此时处理的数据量小,处于空闲状态,因此第一节点201在T1时刻获取到交易数据A,第三节点202在T2时刻获取到上述交易数据A,第四节点D在T3时刻获取到上述交易数据A,其中,T1>T3>T2,即由于网络拥塞程度的不同,区块链网络20中的每个节点获取到交易数据A的时间不同。
请再参见图1,本申请实施例为区块链网络20中的每个节点(也包括第一节点10、第二节点201、…、第三节点202以及第四节点203)建立一个用来存储已上链的历史区块信息的区块列表。例如,第三节点202从交易池中获取5条交易数据(可以包括交易数据1至交易数据5),根据上述5条交易数据生成区块B,然后将区块B通过上述的数据连接广播到第一节点10、第二节点201、…、第四节点203(假设第一节点10、第二节点201、…、第四节点203为区块链网络20中的共识节点),第一节点10、第二节点201、…、第四节点203便根据共识算法对区块B进行共识,当区块B共识通过时,第三节点202将上述区块B存储至第三节点202的账本中,同时,第三节点202将区块B中的5条交易数据所分别对应的哈希值,作为一个区块信息存储至第三节点202的区块列表中;同理,第四节点203将上述区块B存储至第四节点203的账本中,同时,第四节点203将区块B中的5条交易数据所分别对应的哈希值,作为一个区块信息存储至第四节点203的区块列表中。区块链网络20中的其余节点(也包括第一节点10以及第二节点201)亦如此,故在此不做赘述。通过上述过程,使得全部节点上存储的区块可以保持一致,全部节点上存储的区块列表也可以保持一致。
当第四节点203出块时,首先从交易池中拿到5条交易数据,计算5条交易数据分别对应的待检测哈希值,然后将5个待检测哈希值与第四节点203的区块列表中的历史哈希值进行对比,当5个待检测哈希值中存在待检测哈希值C与区块列表中的历史哈希值相同时,则可以确定上述待检测哈希值C所对应的交易数据属于已上链的历史区块中的交易数据。此时,第四节点203可以将上述待检测哈希值C所对应的交易数据确定为重复交易数据,从交易池中删除重复交易数据,从上述5条交易数据中删除重复交易数据,根据剩余的交易数据生成目标区块,然后对该目标区块进行上链处理。
上述可知,本申请通过为区块链网络20中的每个节点建立一个区块列表,来存储已上链的历史区块中的交易数据所对应的哈希值,以此,区块链网络20中的每个节点可以通过区块列表,验证获取的交易数据是否属于已上链的历史区块中的交易数据,若是,则将获取的交易数据确定为重复交易数据,且不会根据重复交易数据出块,若不是,则可以根据获取到的交易数据出块,从而可以防止交易数据被重复打包。
可以理解的是,本申请实施例所提供的方法可以由计算机设备执行,计算机设备包括但不限于终端或服务器。上述服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。上述终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
其中,图1中的第五节点30、第一节点10、第二节点201、第三节点202、…、第四节点203可以包括手机、平板电脑、笔记本电脑、掌上电脑、智能音响、移动互联网设备(MID,mobile internet device)、POS(Point Of Sales,销售点)机、可穿戴设备(例如智能手表、智能手环等)等。
请参见图2,是本申请实施例提供的一种基于区块链的数据处理的场景示意图。区块链中的节点按照节点顺序依次出块,请再参见图1,区块链网络20包括第一节点10、第二节点201、…、第三节点202以及第四节点203,若区块链网络20的出块顺序为第一节点10-第二节点201-第三节点202-…第四节点203,则第一节点10最先出块,当第一节点10所生成的区块得到区块链网络20的共识通过后,则第二节点201出块,同理,当第二节点201所生成的区块得到区块链网络20的共识通过后,第三节点202出块,区块链网络20中的其余节点出块亦如此。本申请实施例以第一节点10为例,叙述出块节点生成目标区块的详细过程。
区块链中的每个出块节点都具有一个交易池,用于存储出块节点接收到的交易数据,如图2所示,第一节点10每次接收到其他节点所发送的交易数据时,先将交易数据放进交易池40中,当轮到第一节点10出块时,再从交易池40中获取目标交易数据,然后根据目标交易数据进行打包生成目标区块。
如图2所示,第一节点10从交易池40中获取一条目标交易数据,即交易数据5,将交易数据5添加至待上链交易序列10c,上述待上链交易序列10c包括交易数据2、交易数据3、…、交易数据4以及交易数据5,其中,交易数据2、交易数据3、…、交易数据4为第一节点10之前从交易池40中所获取的目标交易数据,将交易数据2、交易数据3、…、交易数据4称作历史目标交易数据,上述的交易数据(包括目标交易数据以及历史目标交易数据)用于生成目标区块。第一节点10根据哈希算法,依次生成上述待上链交易序列10c中的交易数据所分别对应的待检测哈希值,如图2中的待检测哈希值序列10d所示,待检测哈希值2为交易数据2的哈希值、待检测哈希值3为交易数据3的哈希值、…、待检测哈希值4为交易数据4的哈希值,哈希值50a为交易数据5的哈希值。
第一节点10获取区块列表100中的历史区块信息,上述历史区块信息包括历史哈希值,上述历史哈希值是指针对已上链的历史区块中的交易数据的哈希值。如区块列表100所示,上述历史区块信息可以包括已上链的区块5的区块信息5、…、已上链的区块1的区块信息1;其中,上述区块信息5包括针对已上链的区块5中的历史哈希值5,历史哈希值5为针对已上链的区块5中的交易数据的哈希值,如图2所示,上述历史哈希值5包括哈希值5a、…、哈希值5b;上述区块信息1包括针对已上链的区块1中的历史哈希值1,历史哈希值1为针对已上链的区块1中的交易数据的哈希值,上述历史哈希值1包括哈希值1a、…、哈希值1b;已上链的区块5、…、已上链的区块1分别对应的区块高度均小于目标区块的区块高度;哈希值5a、…、哈希值5b可以表征其分别对应的交易数据已上链,哈希值1a、…、哈希值1b可以表征其分别对应的交易数据已上链,同理,区块列表100中的剩余历史区块信息均可以表征其分别对应的交易数据已被打包出块且完成上链处理。
第一节点10将上述待检测哈希值序列10d中的待检测哈希值与区块列表100中的历史哈希值进行匹配,即将待检测哈希值2与哈希值5a、…、哈希值5b、…、哈希值1a、…、哈希值1b进行一一匹配,将待检测哈希值3与哈希值5a、…、哈希值5b、…、哈希值1a、…、哈希值1b进行一一匹配,…,将待检测哈希值4与哈希值5a、…、哈希值5b、…、哈希值1a、…、哈希值1b进行一一匹配,将哈希值5a与哈希值5a、…、哈希值5b、…、哈希值1a、…、哈希值1b进行一一匹配。若上述历史哈希值(包括哈希值5a、…、哈希值5b、…、哈希值1a、…、哈希值1b)与上述待检测哈希值(包括待检测哈希值2、待检测哈希值3、…、待检测哈希值5以及哈希值5a)相同,第一节点10将上述待检测哈希值确定为重复待检测哈希值,进一步地,可以确定上述重复待检测哈希值所对应的交易数据为已上链的交易数据,即该交易数据的上链状态为已上链状态;若上述历史哈希值与上述待检测哈希值不相同,则第一节点10可以确定上述待检测哈希值所对应的交易数据的上链状态为未上链状态。很明显,上述待检测哈希值序列10d中的哈希值5a与区块列表100中的历史哈希值中的哈希值5a相同,所以第一节点10可以确定交易数据5的上链状态为已上链状态,如图2中的状态列表10e所示,交易数据2的上链状态为未上链状态,交易数据3的上链状态为未上链状态,…,交易数据4的上链状态为未上链状态,交易数据5的上链状态为已上链状态。
其中,第一节点10匹配待检测哈希值的方式可以为以下:
1)第一节点10每次从交易池40中获取到目标交易数据并生成其对应的待检测哈希值时,即将生成的待检测哈希值与区块列表100中的历史哈希值进行对比。例如,当第一节点10从交易池40中获取到交易数据2后,将交易数据2添加至待上链交易序列10c中,并生成交易数据2的待检测哈希值2,在将待检测哈希值2添加至上述待检测哈希值序列10d的后,将上述待检测哈希值2与区块列表100中的历史哈希值进行对比,即将待检测哈希值2与哈希值5a、…、哈希值5b、…、哈希值1a、…、哈希值1b进行一一匹配,根据匹配结果可以确定交易数据2的上链状态;接着,第一节点10从交易池40中获取交易数据3,将交易数据3添加至上述待上链交易序列10c中,并生成交易数据3的待检测哈希值3,在将待检测哈希值3添加至上述待检测哈希值序列10d的后,将上述待检测哈希值3与区块列表100中的历史哈希值进行对比,即将待检测哈希值3与哈希值5a、…、哈希值5b、…、哈希值1a、…、哈希值1b进行一一匹配,根据匹配结果可以确定交易数据3的上链状态,剩余的交易数据的待检测哈希值亦按照上述匹配过程匹配,在此不再进行赘述。
2)第一节点10累计从交易池40中获取到的交易数据的数量,作为交易数据数量,当上述交易数据数量达到数量阈值时,将上述交易数据分别对应的待检测哈希值与区块列表100中的历史哈希值进行对比。例如,上述数量阈值为2,当第一节点10从交易池40中获取到交易数据2时,将交易数据2添加至待上链交易序列10c中,并计算交易数据2的待检测哈希值2,然后将待检测哈希值2添加至待检测哈希值序列10d中,由于上述待上链交易序列10c中只有一个交易数据,所以第一节点10不会将上述待检测哈希值序列10d中的待检测哈希值2与区块列表100中的历史哈希值进行对比,而是再次从交易池40中获取交易数据3,然后将交易数据3添加至待上链交易序列10c中,并计算交易数据3的待检测哈希值3,并将上述待检测哈希值3添加至待检测哈希值序列10d中,由于上述待上链交易序列10c中的交易数据已有2条,即达到上述数量阈值2,所以第一节点10将上述待检测哈希值序列10d中的待检测哈希值2以及待检测哈希值3分别与区块列表100中的历史哈希值进行对比,对比过程与1)中的过程一致,故此处不进行赘述,进而第一节点10可以根据待检测哈希值2的对比结果,确定交易数据2的上链状态,可以根据待检测哈希值3的对比结果,确定交易数据3的上链状态。然后第一节点10再次从交易池40中获取下一个目标交易数据,当待上链交易序列10c中新获取的交易数据达到上述数量阈值2时,第一节点10再次将上述待检测哈希值序列10d中新添加的2个待检测哈希值分别与区块列表100中的历史哈希值进行对比,后续过程与上述一致,故不再进行赘述。需要注意的是,上述数量阈值小于或等于序列数量阈值,上述序列数量阈值为上述待上链交易序列10c中的交易数据数量的阈值,假设目标区块共包括10条交易数据,则待上链交易序列10c中的序列数量阈值为10。
请再参见图2,如状态列表10e所示,交易数据2的上链状态为未上链状态,交易数据3的上链状态为未上链状态,…,交易数据4的上链状态为未上链状态,交易数据5的上链状态为已上链状态,则第一节点10可以将交易数据5确定为重复交易数据,从交易池40中删除重复交易数据(包括图2中的交易数据5),从待上链交易序列10c中删除上述重复交易数据,得到待上链交易序列10b,待上链交易序列10b包括交易数据2、交易数据3、…、交易数据4,如图2所示,上述待上链交易序列10b中的交易数据均为未上链过的交易数据。
第一节点10根据上述待上链交易序列10b生成目标区块,然后将上述目标区块广播至区块链网络中的共识网络中,以使共识节点对目标区块进行共识。当共识网络通过对目标区块的共识后,区块链网络中的出块节点(也包括第一节点10)可以将目标区块添加至账本中,下面以第一节点10为例进行叙述。第一节点10将目标区块的区块信息(包括交易数据2的哈希值、交易数据3的哈希值、…、交易数据4的哈希值)存储至区块列表100中,同时,第一节点10会从交易池40中删除交易数据2、交易数据3、…、交易数据4,以使后续第一节点10获取交易数据出块时,不会再次获取到交易数据2、交易数据3、…、交易数据4,致使交易数据2、交易数据3、…、交易数据4重复上链。
需要说明的是,第一节点10从交易池40中获取目标交易数据时,可以按照以下方式获取:
1)可以获取N个目标交易数据,N是指上述的序列数量阈值,即目标区块包括的交易数据的数量阈值,N为大于1的整数。假设N等于5,第一节点10一次性从交易池40中获取5个目标交易数据(例如交易数据1、交易数据2、…、交易数据5),将上述5个目标交易数据添加至上述待上链交易序列10c中,再分别计算上述待上链交易序列10c中每个目标交易数据的待检测哈希值,第一节点10将5个待检测哈希值分别与区块列表100中的历史哈希值进行一一匹配,若存在相同的待检测哈希值,则证明其对应的交易数据是已上链的交易数据,进而第一节点10可以将已上链的交易数据从待上链交易序列10c中删除,并将已上链的交易数据从交易池40中删除。后续,第一节点10可以根据上述待上链交易序列10c中剩下的4个目标交易数据进行打包生成目标区块;第一节点10也可以再次从交易池40中获取一个目标交易数据(例如交易数据6),将交易数据6添加至上述待上链交易序列10c中,根据哈希算法得到交易数据6的待检测哈希值,然后第一节点10将交易数据6的待检测哈希值与上述区块列表100中的历史哈希值进行一一匹配,第一节点10根据匹配结果确定交易数据6的上链状态,若交易数据6的上链状态为未上链状态,则第一节点10根据上述待上链交易序列10c生成目标区块;若交易数据6的上链状态为已上链状态,则第一节点10从上述待上链交易序列10c中删除交易数据6,并从交易池40中删除上述交易数据6,继续从交易池40中获取下一个目标交易数据,直至待上链交易序列10b中的交易数据达到5个。
2)第一节点10从交易池40中一次获取1个目标交易数据,然后将上述目标交易数据添加至上述待上链交易序列10c中,生成其对应的待检测哈希值,并将上述待检测哈希值添加至待检测哈希值序列10d中,待检测哈希值与历史哈希值的对比过程请参见上述的具体过程,此处不再进行赘述,直到待上链交易序列10b中的交易数据达到N个(如5个)。
3)第一节点10还可以一次获取至少两个目标交易数据(至少两个目标交易数据对应的交易数据数量小于上述的序列数量阈值),然后将上述至少两个目标交易数据添加至上述待上链交易序列10c中,分别生成对应的待检测哈希值,第一节点10将至少两个待检测哈希值添加至待检测哈希值序列10d中;上述至少两个待检测哈希值分别与历史哈希值进行对比的过程请参见上述的具体过程,此处不再进行赘述,直到待上链交易序列10b中的交易数据达到N个(如5个)。
上述第一节点10可以为区块链网络中的共识节点、数据节点或轻节点,此处不做限定。
上述过程是先根据区块列表对目标交易数据进行检测,检测为未上链状态时,再根据上述目标交易数据生成目标区块。可选的,出块节点(出块节点为区块链网络中的数据节点或轻节点)生成目标区块时,不对目标交易数据进行检测,直接生成目标区块,将上述目标区块广播至共识网络,然后共识网络中的每个共识节点根据区块列表对上述目标区块所包括的目标交易数据进行检测,以共识节点A为例进行叙述,其余共识节点的检测过程可以参照下述。共识节点A获取出块节点发送的目标区块,获取上述目标区块中的目标交易数据;共识节点A获取上述目标交易数据的待检测哈希值,获取针对已上链的历史区块的区块列表,上述区块列表包括历史哈希值,上述历史哈希值是针对已上链的历史区块中的交易数据的哈希值;共识节点A根据上述区块列表和上述待检测哈希值确定上述目标交易数据的上链状态;若上述目标交易数据的上链状态为已上链状态,则共识节点A确定上述目标区块共识失败;若上述目标交易数据的上链状态为未上链状态,则对上述目标区块进行共识处理。
进一步地,请参见图3,是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图。如图3所示,该数据处理过程包括如下步骤:
步骤S101,从交易池中获取目标交易数据,生成上述目标交易数据的待检测哈希值。
具体的,从上述交易池中获取上述目标交易数据,将上述目标交易数据添加至待上链交易序列,上述待上链交易序列包含用于生成上述目标区块的交易数据。
请一并参见图4,是本申请实施例提供的一种基于区块链的数据处理的场景示意图。当获取到外界发送的交易数据时,第一节点10可以将交易数据存储至交易池中,当轮到第一节点10出块时,第一节点10可以从交易池中获取目标交易数据,如图4所示,第一节点10所对应的交易池中存储有交易数据1、…、交易数据4、交易数据5、交易数据6、交易数据7、交易数据8、…、交易数据n。当第一节点10出块时,从交易池中获取目标交易数据10f,上述目标交易数据10f包括交易数据4、交易数据5、交易数据6以及交易数据7,根据哈希算法,第一节点10计算得到交易数据4的待检测哈希值4、交易数据5的待检测哈希值5(即图4中的哈希值5a)、交易数据6的待检测哈希值6以及交易数据7的待检测哈希值7。
若第一节点10先将上述目标交易数据10f添加至待上链交易序列,再将上述待上链交易序列中的交易数据所分别对应的待检测哈希值,与区块列表100中的历史哈希值进行匹配,上述两个过程可以参见图2所对应的实施例,此处不再进行赘述。本实施例主要叙述第一节点10先将上述目标交易数据10f所分别对应的待检测哈希值,与区块列表100中的历史哈希值进行匹配,根据匹配结果将上述交易数据添加至上述待上链交易序列中。
步骤S102,获取针对已上链的历史区块的区块列表,根据上述区块列表和上述待检测哈希值确定上述目标交易数据的上链状态。
具体的,获取上述区块列表中的历史区块信息,上述历史区块信息包括历史哈希值,上述历史哈希值是指针对上述历史区块中的交易数据的哈希值;将上述历史区块信息中的上述历史哈希值与上述待检测哈希值进行匹配,若上述历史哈希值与上述待检测哈希值相同,则确定上述目标交易数据的上链状态为上述已上链状态;若上述历史哈希值与上述待检测哈希值不相同,则确定上述目标交易数据的上链状态为上述未上链状态。
第一节点10获取区块列表100中的历史区块信息,上述历史区块信息包括历史哈希值,上述历史哈希值是指针对已上链的历史区块中的交易数据的哈希值。如区块列表100所示,上述历史区块信息可以包括已上链的区块5的区块信息5、…、已上链的区块1的区块信息1;其中,上述区块信息5包括针对已上链的区块5中的历史哈希值5,历史哈希值5为针对已上链的区块5中的交易数据的哈希值,上述历史哈希值5包括哈希值5a、…、哈希值5b;上述区块信息1包括针对已上链的区块1中的历史哈希值1,历史哈希值1为针对已上链的区块1中的交易数据的哈希值,上述历史哈希值1包括哈希值1a、…、哈希值1b;已上链的区块5、…、已上链的区块1分别对应的区块高度均小于目标区块的区块高度;哈希值5a、…、哈希值5b可以表征其分别对应的交易数据已上链,哈希值1a、…、哈希值1b可以表征其分别对应的交易数据已上链,同理,区块列表100中的剩余历史区块信息均可以表征其分别对应的交易数据已被打包出块且完成上链处理。
将上述目标交易数据10f分别对应的待检测哈希值添加至待检测哈希值序列100a中,由于上述交易数据4、交易数据5、交易数据6以及交易数据7是第一节点10一次性获取的,故待检测哈希值序列100a中的待检测哈希值4、哈希值5a、待检测哈希值6以及待检测哈希值7均没有与区块列表100中的历史哈希值(包括上述哈希值5a、…、哈希值5b、…、哈希值1a、…、哈希值1b)匹配过。第一节点10将待检测哈希值4与哈希值5a、…、哈希值5b、…、哈希值1a、…、哈希值1b进行一一匹配,若哈希值5a、…、哈希值5b、…、哈希值1a、…、哈希值1b中存在与待检测哈希值4相同的哈希值,则第一节点10可以确定交易数据4的上链状态为已上链状态,若哈希值5a、…、哈希值5b、…、哈希值1a、…、哈希值1b中不存在与上述待检测哈希值4相同的哈希值,则第一节点10可以确定上述交易数据4的上链状态为未上链状态;第一节点10将哈希值5a与哈希值5a、…、哈希值5b、…、哈希值1a、…、哈希值1b进行一一匹配,若哈希值5a、…、哈希值5b、…、哈希值1a、…、哈希值1b中存在与哈希值5a相同的哈希值,则第一节点10可以确定交易数据5的上链状态为已上链状态,若哈希值5a、…、哈希值5b、…、哈希值1a、…、哈希值1b中不存在与上述哈希值5a相同的哈希值,则可以确定上述交易数据5的上链状态为未上链状态;上述待检测哈希值序列100a中的剩余待检测哈希值与上述区块列表100中的历史哈希值的匹配如上述过程,故在此不再进行赘述。明显地,上述待检测哈希值序列100a中的哈希值5a,与上述区块列表100中的区块信息5中的哈希值5a相同,故第一节点10可以生成图4中的状态列表10g。
步骤S103,若上述目标交易数据的上链状态为已上链状态,则删除上述目标交易数据。
具体的,若上述目标交易数据的上链状态为上述已上链状态,则从上述待上链交易序列中删除上述目标交易数据,从上述交易池中删除上述目标交易数据。
请再参见图2,如图2中的列表状态10e所示,交易数据2的上链状态为未上链状态,交易数据3的上链状态为未上链状态,…,交易数据4的上链状态为未上链状态,交易数据5的上链状态为已上链状态,则第一节点10可以将交易数据5确定为重复交易数据,从交易池40中删除重复交易数据(包括图2中的交易数据5),从待上链交易序列10c中删除上述重复交易数据,得到待上链交易序列10b,待上链交易序列10b包括交易数据2、交易数据3、…、交易数据4,如图2所示,上述待上链交易序列10b中的交易数据均为未上链过的交易数据。
步骤S104,若上述目标交易数据的上链状态为未上链状态,则根据上述目标交易数据生成目标区块,对上述目标区块进行上链处理。
具体的,若上述目标交易数据的上链状态为上述未上链状态,则将上述目标交易数据添加至待上链交易序列;统计上述待上链交易序列中的交易数据的数量,作为交易数据数量;若上述交易数据数量小于序列数量阈值,则将上述序列数量阈值与上述交易数据数量之间的数量差值,作为补充数量;从上述交易池中获取补充交易数据;上述补充交易数据的数量等于上述补充数量;根据上述补充交易数据以及上述待上链交易序列生成上述目标区块。
请一并参见图5,是本申请实施例提供的一种基于区块链的数据处理的场景示意图。上述数据处理场景以图4中的第一节点10为例进行叙述,由图5中的状态列表10g可知,交易数据4的上链状态为未上链状态,交易数据5的上链状态为已上链状态,即交易数据5之前已被区块链网络中的节点打包上链,属于重复交易数据,交易数据6的上链状态为未上链状态,交易数据7的上链状态为未上链状态。第一节点10将交易数据5从交易池中删除,则交易池中还存储有交易数据1、…、交易数据4、交易数据6、交易数据7、交易数据8、…、交易数据n。第一节点10将交易数据4、交易数据6以及交易数据7添加至待上链交易序列10h中,如图5所示,上述待上链交易序列10h包括交易数据1、交易数据2、交易数据3、交易数据4、交易数据6以及交易数据7,其中,交易数据1、交易数据2、交易数据3为第一节点10之前获取的目标交易数据,且交易数据1、交易数据2、交易数据3分别对应的上链状态均为未上链状态。
第一节点10统计上述待上链交易序列10h中的交易数据的数量,可知交易数据数量为6;将上述交易数据数量与序列数量阈值进行对比,若上述交易数据数量等于序列数量阈值(即序列数量阈值为6),则第一节点10根据交易数据1、交易数据2、交易数据3、交易数据4、交易数据6以及交易数据7生成目标区块;若上述交易数据数量小于序列数量阈值(假设序列数量阈值为8),则第一节点10将上述序列数量阈值与上述交易数据数量之间的数量差值2,作为补充数量。第一节点10再次从上述交易池中获取2条补充交易数据(例如交易数据8以及交易数据9),然后第一节点10计算交易数据8以及交易数据9分别对应的待检测哈希值,后续过程与上述过程一致,故再次不再进行赘述。如图5所示,第一节点10根据上述补充交易数据以及上述待上链交易序列10h生成目标区块10i,然后第一节点10将上述目标区块10i广播至共识网络中的共识节点,以使共识网络中的共识节点对目标区块10i进行共识,当共识网络通过对目标区块10i的共识时,区块链网络中的每个节点(可以包括共识节点、数量节点以及轻节点)将目标区块10i以及共识结果存储至账本中。
当上述目标区块上链完成时,获取上述目标区块的目标区块信息,上述目标区块信息包括上述目标区块中的交易数据所对应的哈希值;确定上述历史区块信息的数量,作为区块信息数量;若上述区块信息数量小于列表数量阈值,则将上述目标区块信息添加至上述区块列表;若上述区块信息数量等于上述列表数量阈值,则获取上述区块列表中存储时间戳最早的历史区块信息,将上述存储时间戳最早的历史区块信息更新为上述目标区块信息;从上述交易池中删除上述目标区块中的交易数据。
本实施例以图2中的第一节点10为例进行叙述。区块链是由一个个“区块”串联组成,请一并参见图6,是本申请实施例提供的一种基于区块链的数据处理的场景示意图。如图6所示,目标区块10i包括区块头和区块体,区块头中可以存储有区块头哈希参数,上述区块头哈希参数可以包括当前区块的交易数据的哈希值、父区块的区块头哈希值、版本号、时间戳和难度值等。目标区块10i的区块体中包括目标交易数据以及目标交易数据的哈希值,由步骤S101-步骤S103可知,第一节点10从交易池中获取到的交易数据5的上链状态属于已上链状态,故第一节点10将交易数据5从交易池中删除,并从上述目标交易数据中删除,所以目标区块10i的区块体中不包括交易数据5以及交易数据5的哈希值。如图6所示,上述区块体中包括交易数据1、交易数据2、交易数据3、交易数据4、交易数据6、交易数据7、交易数据8、交易数据9,以及交易数据1的哈希值1、交易数据2的哈希值2、交易数据3的哈希值3、交易数据4的哈希值4、交易数据6的哈希值6、交易数据7的哈希值7、交易数据8的哈希值8、交易数据9的哈希值9,其中,上述交易数据8以及交易数据9为补充交易数据。第一节点10将哈希值1、哈希值2、哈希值3、哈希值4、哈希值6、哈希值7、哈希值8以及哈希值9作为目标区块10i的目标区块信息。
第一节点10确定区块列表100中的历史区块信息的数量,作为区块信息数量,如图6所示,区块列表100中存储有区块1、…、区块5分别对应的历史区块信息,即存储有5个历史区块信息;第一节点10将现有的区块信息数量(即5)与列表数量阈值进行对比,若列表数量阈值大于5,则上述区块信息数量小于列表数量阈值,可以将上述目标区块信息直接添加至上述区块列表100中,如区块列表100b所示,其中,区块1、…、区块5分别对应的区块高度均小于区块10i的区块高度。若列表数量阈值等于5,则上述区块信息数量等于上述列表阈值数量,此时,第一节点10获取区块5的存储时间戳5、…、区块1的存储时间戳1,从存储时间戳5、…、存储时间戳1中确定最早存储时间戳,则可以确定存储时间戳最早的历史区块为区块高度最小的历史区块,进而确定区块高度最小的历史区块的历史区块信息为存储时间最早的历史区块信息,将上述存储时间戳最早的历史区块信息更新为上述目标区块信息,假设区块5为存储时间戳最早的历史区块,则将上述目标区块信息替换掉区块5的历史区块信息,如区块列表100c所示。
当上述目标区块10i上链完成时,第一节点10从上述交易池中删除上述目标区块10i中的交易数据,即将交易数据1、交易数据2、交易数据3、交易数据4、交易数据6、交易数据7、交易数据8以及交易数据9从交易池中删除,防止交易数据1、交易数据2、交易数据3、交易数据4、交易数据6、交易数据7、交易数据8以及交易数据9重复上链。
可选的,当第一系统时间达到第一心跳更新周期时,获取区块链网络中节点的节点数量;根据上述节点数量对上述列表数量阈值进行更新,得到更新后的列表数量阈值,上述节点数量与上述更新后的列表数量阈值之间为正比例关系。
请一并参见图7a,是本申请实施例提供的一种基于区块链的数据处理的场景示意图。假设区块链网络20设置的第一心跳更新周期为10分钟,则区块链网络20中的节点(包括第一节点10、第二节点201、…、第三节点202以及第四节点203)每隔10分钟获取区块链网络20中的节点的节点数量,下面以第一节点10为例进行叙述。第一节点10在9点50分统计区块链网络20中的节点,节点数量为10个;10点整时,第一节点10会再次统计区块链网络20中的节点的节点数量,此时将9点50分所获取的节点数量(即10个)称为历史节点数量。将节点数量与历史节点数量进行对比,若节点数量为20个,可以说明在9点50分至10点整的时段内,区块链网络20中新添加的节点比退出的节点多10个,则对上述列表数量阈值进行增加处理;若节点数量为8个,可以说明在9点50分至10点整的时段内,区块链网络20中新添加的节点比退出的节点少2个,则对上述列表数量阈值进行缩减处理;若上述节点数量等于上述历史节点数量,可以说明在9点50分至10点整的时段内,区块链网络20中新添加的节点等于退出的节点,此时,不更新上述列表数量阈值。
可选的,当第二系统时间达到第二心跳更新周期时,获取上述区块列表中的至少两个历史哈希值;获取上述交易池中的交易数据,生成上述交易池中的交易数据的待过滤哈希值;将上述历史哈希值与上述待过滤哈希值进行对比,当上述历史哈希值与上述待过滤哈希值相同时,则将上述待过滤哈希值所对应的交易数据确定为重复交易数据;从上述交易池中过滤上述重复交易数据。
请一并参见图7b,是是本申请实施例提供的一种基于区块链的数据处理的场景示意图。当第一节点10设置的第二系统时间达到第二心跳更新周期时,获取区块列表100c中的至少两个历史哈希值,如图7b所示,上述至少两个历史哈希值包括已上链的区块10i的历史哈希值10i、…、已上链的区块1的历史哈希值1,上述历史哈希值10i包括哈希值1、…、哈希值9,上述历史哈希值1包括哈希值1a、…、哈希值1b。第一节点10获取交易池中的所有交易数据,交易池存储有交易数据10、交易数据11、交易数据12、…、交易数据n,通过哈希算法,第一节点10分别计算上述交易数据的待过滤哈希值,包括交易数据10的待过滤哈希值10、交易数据11的待过滤哈希值11(即图7b中的哈希值1a)、交易数据12的待过滤哈希值12、…、交易数据n的待过滤哈希值n。第一节点10将上述待过滤哈希值与区块列表100c中的历史哈希值进行一一匹配,即将待过滤哈希值10与哈希值1、…、哈希值9、…、哈希值1a、…、哈希值1b进行一一匹配,若哈希值1、…、哈希值9、…、哈希值1a、…、哈希值1b中存在与待过滤哈希值10相同的哈希值,则第一节点10可以确定交易数据10为重复交易数据;若哈希值1、…、哈希值9、…、哈希值1a、…、哈希值1b中不存在与待过滤哈希值10相同的哈希值,则第一节点10可以确定交易数据10为待上链交易数据。第一节点10将待过滤哈希值11(图7b中的哈希值1a)与哈希值1、…、哈希值9、…、哈希值1a、…、哈希值1b进行一一匹配,若哈希值1、…、哈希值9、…、哈希值1a、…、哈希值1b中存在与上述哈希值1a相同的哈希值,则第一节点10可以确定交易数据11为重复交易数据;若哈希值1、…、哈希值9、…、哈希值1a、…、哈希值1b中不存在与哈希值1a相同的哈希值,则第一节点10可以确定交易数据11为待上链交易数据,交易池中其他的交易数据亦按照上述过程确定其是否是重复交易数据,此处不再一一叙述。明显地,上述交易数据11的哈希值1a,与上述区块列表100中的上述历史哈希值1中的哈希值1a相同,故第一节点10可以确定交易数据11为重复交易数据,如图7b所示,从交易池中删除上述交易数据11,则交易池中还存储有交易数据10、交易数据12、…、交易数据n。
本申请实施例中通过为区块链网络中的每个节点建立一个用来存储已上链的历史区块信息的区块列表,来检测从交易池中获取的目标交易数据是否已进行过打包上链。具体为:当节点生成目标区块时,首先从交易池中获取目标交易数据,然后获取上述目标交易数据的待检测哈希值,根据上述区块列表以及上述待检测哈希值确定上述目标交易数据的上链状态;若上述目标交易数据的上链状态为已上链状态,则节点删除上述目标交易数据,若上述目标交易数据的上链状态为未上链状态,则节点根据上述目标交易数据生成目标区块,对上述目标区块进行上链处理。上述可知,当节点将交易数据成功上链时,就将交易数据的哈希值存储至区块列表中,因此,当下一次出块时,节点首先将从交易池中获取到的目标交易数据,与该区块列表进行验证,即验证目标交易数据是否属于已上链的历史区块中的交易数据,若是,则不会出块,若不是,则正常出块,从而可以防止交易数据被重复打包上链,进而可以减少存储资源的浪费。
进一步地,请参见图8,是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图。所述方法的执行主体为共识网络中的共识节点,如图8所示,该方法包括如下步骤:
步骤S201,获取出块节点发送的目标区块,获取上述目标区块中的目标交易数据的待检测哈希值。
具体的,上述出块节点可以是区块链网络中的数据节点,也可以是区块链网络中的轻节点,此处不限定。
共识节点获取出块节点发送的目标区块,与图3所对应的实施例不同,本实施例中的目标区块所包括的哈希值(与目标交易数据一一对应)未与区块列表进行匹配,属于待检测哈希值。请再参见图6,目标区块10i的区块体中包括目标交易数据以及目标交易数据的待检测哈希值,即图6中所示的哈希1、哈希2、哈希3、哈希4、哈希6、哈希7、哈希8、哈希9。
步骤S202,获取针对已上链的历史区块的区块列表,根据上述区块列表和上述待检测哈希值确定上述目标交易数据的上链状态。
其中,步骤S202的具体实现过程请参见上述图3所对应的实施例中的步骤S102,此处不再进行赘述。
步骤S203,若上述目标交易数据的上链状态为已上链状态,则确定上述目标区块共识失败。
具体的,若上述目标交易数据的上链状态为已上链状态,则共识节点可以确定上述目标交易数据为重复交易数据,即已被出块节点生成历史区块,且该历史区块在共识网络中共识通过,那么上述目标区块包含重复交易数据,所以对目标区块共识失败。
步骤S204,若上述目标交易数据的上链状态为未上链状态,则对上述目标区块进行共识处理。
其中,步骤S204的具体实现过程请参见上述图3所对应的实施例中的步骤S104,此处不再进行赘述。
本申请实施例中通过为共识网络中的每个共识节点,建立一个用来存储已上链的历史区块信息的区块列表,检测出块节点所发送的目标区块所包括的目标交易数据是否已进行过打包上链。具体为:当获取到出块节点发送的目标区块时,共识节点首先从目标区块中获取目标交易数据,然后获取上述目标交易数据的待检测哈希值,根据上述区块列表以及上述待检测哈希值确定上述目标交易数据的上链状态;若上述目标交易数据的上链状态为已上链状态,则共识节点确定上述目标区块共识失败,若上述目标交易数据的上链状态为未上链状态,则共识节点对上述目标区块进行共识处理。上述可知,当共识节点对历史区块共识通过时,就将历史区块的历史交易数据所对应的哈希值存储至区块列表中,因此,当对目标区块进行共识处理时,共识节点首先从目标区块中获取到待检测哈希值,与区块列表进行验证,即验证目标区块中的目标交易数据是否属于已上链的历史区块中的交易数据,若是,则共识失败,若不是,则正常共识,从而可以防止交易数据被重复打包上链,进而可以减少存储资源的浪费。
进一步地,请参见图9,是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图。上述数据处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该数据处理装置为一个应用软件;该数据处理装置可以用于执行本申请实施例提供的方法中的相应步骤。如图9所示,该数据处理装置1可以用于上述图3所对应实施例中的计算机设备,具体的,该数据处理装置1可以包括:第一获取模块11、第二获取模块12、第一删除模块13以及生成区块模块14。
第一获取模块11,用于从交易池中获取目标交易数据,生成上述目标交易数据的待检测哈希值;
第二获取模块12,用于获取针对已上链的历史区块的区块列表,根据上述区块列表和上述待检测哈希值确定上述目标交易数据的上链状态;
第一删除模块13,用于若上述目标交易数据的上链状态为已上链状态,则删除上述目标交易数据;
生成区块模块14,用于若上述目标交易数据的上链状态为未上链状态,则根据上述目标交易数据生成目标区块,对上述目标区块进行上链处理。
其中,第一获取模块11、第二获取模块12、第一删除模块13以及生成区块模块14的具体功能实现方式可以参见图3对应实施例中的步骤S101-步骤S104,这里不再进行赘述。
请再参见图9,上述第二获取模块12可以包括:获取历史单元121以及确定状态单元122。
获取历史单元121,用于获取上述区块列表中的历史区块信息;上述历史区块信息包括历史哈希值,上述历史哈希值是指针对上述历史区块中的交易数据的哈希值;
确定状态单元122,用于将上述历史区块信息中的上述历史哈希值与上述待检测哈希值进行匹配,根据匹配结果确定上述目标交易数据的上链状态。
其中,获取历史单元121以及确定状态单元122的具体功能实现方式可以参见图3对应实施例中的步骤S102,这里不再进行赘述。
请再参见图9,上述确定状态单元122可以包括:第一确定子单元1221以及第二确定子单元1222。
第一确定子单元1221,用于若上述历史哈希值与上述待检测哈希值相同,则确定上述目标交易数据的上链状态为上述已上链状态;
第二确定子单元1222,用于若上述历史哈希值与上述待检测哈希值不相同,则确定上述目标交易数据的上链状态为上述未上链状态。
其中,第一确定子单元1221以及第二确定子单元1222的具体功能实现方式可以参见图3对应实施例中的步骤S102,这里不再进行赘述。
请再参见图9,上述第一获取模块11具体用于从上述交易池中获取上述目标交易数据,将上述目标交易数据添加至待上链交易序列;上述待上链交易序列包含用于生成上述目标区块的交易数据;
则上述第一删除模块13具体用于若上述目标交易数据的上链状态为上述已上链状态,则从上述待上链交易序列中删除上述目标交易数据,从上述交易池中删除上述目标交易数据。
其中,第一获取模块11以及第一删除模块13的具体功能实现方式可以参见图3对应实施例中的步骤S101以及步骤S103,这里不再进行赘述。
请再参见图9,上述生成区块模块14可以包括:添加目标单元141以及生成区块单元142。
添加目标单元141,用于若上述目标交易数据的上链状态为上述未上链状态,则将上述目标交易数据添加至待上链交易序列;
生成区块单元142,用于根据上述待上链交易序列生成上述目标区块。
其中,添加目标单元141以及生成区块单元142的具体功能实现方式可以参见图3对应实施例中的步骤S104,这里不再进行赘述。
请再参见图9,上述生成区块单元142可以包括:统计数据子单元1421、补充数据子单元1422、获取补充子单元1423以及生成区块子单元1424。
统计数据子单元1421,用于统计上述待上链交易序列中的交易数据的数量,作为交易数据数量;
补充数据子单元1422,用于若上述交易数据数量小于序列数量阈值,则将上述序列数量阈值与上述交易数据数量之间的数量差值,作为补充数量;
获取补充子单元1423,用于从上述交易池中获取补充交易数据;上述补充交易数据的数量等于上述补充数量;
生成区块子单元1424,用于根据上述补充交易数据以及上述待上链交易序列生成上述目标区块。
其中,统计数据子单元1421、补充数据子单元1422、获取补充子单元1423以及生成区块子单元1424的具体功能实现方式可以参见图3对应实施例中的步骤S104,这里不再进行赘述。
请再参见图9,上述数据处理装置1还可以包括:第三获取模块15以及第二删除模块16。
第三获取模块15,用于当上述目标区块上链完成时,获取上述目标区块的目标区块信息;上述目标区块信息包括上述目标区块中的交易数据所对应的哈希值;
第二删除模块16,用于将上述目标区块信息添加至上述区块列表,从上述交易池中删除上述目标区块中的交易数据。
其中,第三获取模块15以及第二删除模块16的具体功能实现方式可以参见图3对应实施例中的步骤S104,这里不再进行赘述。
请再参见图9,上述第二删除模块16可以包括:确定数量单元161、添加信息单元162以及更新信息单元163。
确定数量单元161,用于确定上述历史区块信息的数量,作为区块信息数量;
添加信息单元162,用于若上述区块信息数量小于列表数量阈值,则将上述目标区块信息添加至上述区块列表;
更新信息单元163,用于若上述区块信息数量等于上述列表数量阈值,则获取上述区块列表中存储时间戳最早的历史区块信息,将上述存储时间戳最早的历史区块信息更新为上述目标区块信息。
其中,确定数量单元161、添加信息单元162以及更新信息单元163的具体功能实现方式可以参见图3对应实施例中的步骤S104,这里不再进行赘述。
请再参见图9,上述第二删除模块16还可以包括:获取节点单元164以及更新数量单元165。
获取节点单元164,用于当第一系统时间达到第一心跳更新周期时,获取区块链网络中节点的节点数量;
更新数量单元165,用于根据上述节点数量对上述列表数量阈值进行更新,得到更新后的列表数量阈值;上述节点数量与上述更新后的列表数量阈值之间为正比例关系。
其中,获取节点单元164以及更新数量单元165的具体功能实现方式可以参见图3对应实施例中的步骤S104,这里不再进行赘述。
请再参见图9,数据处理装置1还可以包括:第四获取模块17、第五获取模块18以及过滤交易模块19。
第四获取模块17,用于当第二系统时间达到第二心跳更新周期时,获取上述区块列表中的至少两个历史哈希值;
第五获取模块18,用于获取上述交易池中的交易数据,生成上述交易池中的交易数据的待过滤哈希值;
过滤交易模块19,用于将上述历史哈希值与上述待过滤哈希值进行对比,根据对比结果对上述交易池中的交易数据进行过滤处理。
其中,第四获取模块17、第五获取模块18以及过滤交易模块19的具体功能实现方式可以参见图3对应实施例中的步骤S104,这里不再进行赘述。
请再参见图9,上述过滤交易模块19可以包括:确定重复单元191以及过滤重复单元192。
确定重复单元191,用于当上述历史哈希值与上述待过滤哈希值相同时,则将上述待过滤哈希值所对应的交易数据确定为重复交易数据;
过滤重复单元192,用于从上述交易池中过滤上述重复交易数据。
其中,确定重复单元191以及过滤重复单元192的具体功能实现方式可以参见图3对应实施例中的步骤S104,这里不再进行赘述。
本申请实施例中通过为区块链网络中的每个节点建立一个用来存储已上链的历史区块信息的区块列表,来检测从交易池中获取的目标交易数据是否已进行过打包上链。具体为:当节点生成目标区块时,首先从交易池中获取目标交易数据,然后获取上述目标交易数据的待检测哈希值,根据上述区块列表以及上述待检测哈希值确定上述目标交易数据的上链状态;若上述目标交易数据的上链状态为已上链状态,则节点删除上述目标交易数据,若上述目标交易数据的上链状态为未上链状态,则节点根据上述目标交易数据生成目标区块,对上述目标区块进行上链处理。上述可知,当节点将交易数据成功上链时,就将交易数据的哈希值存储至区块列表中,因此,当下一次出块时,节点首先将从交易池中获取到的目标交易数据,与该区块列表进行验证,即验证目标交易数据是否属于已上链的历史区块中的交易数据,若是,则不会出块,若不是,则正常出块,从而可以防止交易数据被重复打包上链,进而可以减少存储资源的浪费。
进一步地,请参见图10,是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图。上述数据处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该数据处理装置为一个应用软件;该数据处理装置可以用于执行本申请实施例提供的方法中的相应步骤。如图10所示,该数据处理装置2可以用于上述图8所对应实施例中的计算机设备,具体的,该数据处理装置2可以包括:获取区块模块21、获取列表模块22、确定失败模块23以及共识区块模块24。
获取区块模块21,用于获取出块节点发送的目标区块,获取上述目标区块中的目标交易数据的待检测哈希值;
获取列表模块22,用于获取针对已上链的历史区块的区块列表,根据上述区块列表和上述待检测哈希值确定上述目标交易数据的上链状态;
确定失败模块23,用于若上述目标交易数据的上链状态为已上链状态,则确定上述目标区块共识失败;
共识区块模块24,用于若上述目标交易数据的上链状态为未上链状态,则对上述目标区块进行共识处理。
其中,获取区块模块21、获取列表模块22、确定失败模块23以及共识区块模块24的具体功能实现方式可以参见图8对应实施例中的步骤S201-步骤S204,这里不再进行赘述。
本申请实施例中通过为共识网络中的每个共识节点,建立一个用来存储已上链的历史区块信息的区块列表,检测出块节点所发送的目标区块所包括的目标交易数据是否已进行过打包上链。具体为:当获取到出块节点发送的目标区块时,共识节点首先从目标区块中获取目标交易数据,然后获取上述目标交易数据的待检测哈希值,根据上述区块列表以及上述待检测哈希值确定上述目标交易数据的上链状态;若上述目标交易数据的上链状态为已上链状态,则共识节点确定上述目标区块共识失败,若上述目标交易数据的上链状态为未上链状态,则共识节点对上述目标区块进行共识处理。上述可知,当共识节点对历史区块共识通过时,就将历史区块的历史交易数据所对应的哈希值存储至区块列表中,因此,当对目标区块进行共识处理时,共识节点首先从目标区块中获取到待检测哈希值,与区块列表进行验证,即验证目标区块中的目标交易数据是否属于已上链的历史区块中的交易数据,若是,则共识失败,若不是,则正常共识,从而可以防止交易数据被重复打包上链,进而可以减少存储资源的浪费。
进一步地,请参见图11,是本申请实施例提供的一种计算机设备的结构示意图。如图11所示,上述计算机设备1000可以为上述图3对应实施例中的第一节点10,计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非易失性的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图11所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图11所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
从交易池中获取目标交易数据,生成上述目标交易数据的待检测哈希值;
获取针对已上链的历史区块的区块列表,根据上述区块列表和上述待检测哈希值确定上述目标交易数据的上链状态;
若上述目标交易数据的上链状态为已上链状态,则删除上述目标交易数据;
若上述目标交易数据的上链状态为未上链状态,则根据上述目标交易数据生成目标区块,对上述目标区块进行上链处理。
在一个实施例中,处理器1001在执行根据上述区块列表和上述待检测哈希值确定上述目标交易数据的上链状态时,具体执行以下步骤:
获取上述区块列表中的历史区块信息;上述历史区块信息包括历史哈希值,上述历史哈希值是指针对上述历史区块中的交易数据的哈希值;
将上述历史区块信息中的上述历史哈希值与上述待检测哈希值进行匹配,根据匹配结果确定上述目标交易数据的上链状态。
在一个实施例中,处理器1001在执行根据匹配结果确定上述目标交易数据的上链状态时,具体执行以下步骤:
若上述历史哈希值与上述待检测哈希值相同,则确定上述目标交易数据的上链状态为上述已上链状态;
若上述历史哈希值与上述待检测哈希值不相同,则确定上述目标交易数据的上链状态为上述未上链状态。
在一个实施例中,处理器1001在执行从交易池中获取目标交易数据时,具体执行以下步骤:
从上述交易池中获取上述目标交易数据,将上述目标交易数据添加至待上链交易序列;上述待上链交易序列包含用于生成上述目标区块的交易数据;
则上述若上述目标交易数据的上链状态为已上链状态,则删除上述目标交易数据,包括:
若上述目标交易数据的上链状态为上述已上链状态,则从上述待上链交易序列中删除上述目标交易数据,从上述交易池中删除上述目标交易数据。
在一个实施例中,处理器1001在执行若上述目标交易数据的上链状态为未上链状态,则根据上述目标交易数据生成目标区块时,具体执行以下步骤:
若上述目标交易数据的上链状态为上述未上链状态,则将上述目标交易数据添加至待上链交易序列;
根据上述待上链交易序列生成上述目标区块。
在一个实施例中,处理器1001在执行根据上述待上链交易序列生成上述目标区块时,具体执行以下步骤:
统计上述待上链交易序列中的交易数据的数量,作为交易数据数量;
若上述交易数据数量小于序列数量阈值,则将上述序列数量阈值与上述交易数据数量之间的数量差值,作为补充数量;
从上述交易池中获取补充交易数据;上述补充交易数据的数量等于上述补充数量;
根据上述补充交易数据以及上述待上链交易序列生成上述目标区块。
在一个实施例中,处理器1001还具体执行以下步骤:
当上述目标区块上链完成时,获取上述目标区块的目标区块信息;上述目标区块信息包括上述目标区块中的交易数据所对应的哈希值;
将上述目标区块信息添加至上述区块列表,从上述交易池中删除上述目标区块中的交易数据。
在一个实施例中,处理器1001在执行将上述目标区块信息添加至上述区块列表时,具体执行以下步骤:
确定上述历史区块信息的数量,作为区块信息数量;
若上述区块信息数量小于列表数量阈值,则将上述目标区块信息添加至上述区块列表;
若上述区块信息数量等于上述列表数量阈值,则获取上述区块列表中存储时间戳最早的历史区块信息,将上述存储时间戳最早的历史区块信息更新为上述目标区块信息。
在一个实施例中,处理器1001在执行将上述目标区块信息添加至上述区块列表时,还具体执行以下步骤:
当第一系统时间达到第一心跳更新周期时,获取区块链网络中节点的节点数量;
根据上述节点数量对上述列表数量阈值进行更新,得到更新后的列表数量阈值;上述节点数量与上述更新后的列表数量阈值之间为正比例关系。
在一个实施例中,处理器1001还具体执行以下步骤:
当第二系统时间达到第二心跳更新周期时,获取上述区块列表中的至少两个历史哈希值;
获取上述交易池中的交易数据,生成上述交易池中的交易数据的待过滤哈希值;
将上述历史哈希值与上述待过滤哈希值进行对比,根据对比结果对上述交易池中的交易数据进行过滤处理。
在一个实施例中,处理器1001在执行根据对比结果对上述交易池中的交易数据进行过滤处理时,具体执行以下步骤:
当上述历史哈希值与上述待过滤哈希值相同时,则将上述待过滤哈希值所对应的交易数据确定为重复交易数据;
从上述交易池中过滤上述重复交易数据。
本申请实施例中通过为区块链网络中的每个节点建立一个用来存储已上链的历史区块信息的区块列表,来检测从交易池中获取的目标交易数据是否已进行过打包上链。具体为:当节点生成目标区块时,节点首先从交易池中获取目标交易数据,然后获取上述目标交易数据的待检测哈希值,根据上述区块列表以及上述待检测哈希值确定上述目标交易数据的上链状态;若上述目标交易数据的上链状态为已上链状态,则节点删除上述目标交易数据,若上述目标交易数据的上链状态为未上链状态,则节点根据上述目标交易数据生成目标区块,对上述目标区块进行上链处理。上述可知,当节点将交易数据成功上链时,就将交易数据的哈希值存储至区块列表中,因此,当下一次出块时,节点首先将从交易池中获取到的目标交易数据,与该区块列表进行验证,即验证目标交易数据是否属于已上链的历史区块中的交易数据,若是,则不会出块,若不是,则正常出块,从而可以防止交易数据被重复打包上链,进而可以减少存储资源的浪费。
进一步地,请参见图12,是本申请实施例提供的一种计算机设备的结构示意图。如图12所示,上述计算机设备2000可以为上述图8对应实施例中的共识节点,计算机设备2000可以包括:处理器2001,网络接口2004和存储器2005,此外,计算机设备2000还可以包括:用户接口2003,和至少一个通信总线2002。其中,通信总线2002用于实现这些组件之间的连接通信。其中,用户接口2003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口2003还可以包括标准的有线接口、无线接口。网络接口2004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器2005可以是高速RAM存储器,也可以是非易失性的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器2005可选的还可以是至少一个位于远离前述处理器2001的存储装置。如图12所示,作为一种计算机可读存储介质的存储器2005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图12所示的计算机设备2000中,网络接口2004可提供网络通讯功能;而用户接口2003主要用于为用户提供输入的接口;而处理器2001可以用于调用存储器2005中存储的设备控制应用程序,以实现:
获取出块节点发送的目标区块,获取上述目标区块中的目标交易数据的待检测哈希值;
获取针对已上链的历史区块的区块列表,根据上述区块列表和上述待检测哈希值确定上述目标交易数据的上链状态;
若上述目标交易数据的上链状态为已上链状态,则确定上述目标区块共识失败;
若上述目标交易数据的上链状态为未上链状态,则对上述目标区块进行共识处理。
本申请实施例中通过为共识网络中的每个共识节点,建立一个用来存储已上链的历史区块信息的区块列表,检测出块节点所发送的目标区块所包括的目标交易数据是否已进行过打包上链。具体为:当获取到出块节点发送的目标区块时,共识节点首先从目标区块中获取目标交易数据,然后获取上述目标交易数据的待检测哈希值,根据上述区块列表以及上述待检测哈希值确定上述目标交易数据的上链状态;若上述目标交易数据的上链状态为已上链状态,则共识节点确定上述目标区块共识失败,若上述目标交易数据的上链状态为未上链状态,则共识节点对上述目标区块进行共识处理。上述可知,当共识节点对历史区块共识通过时,就将历史区块的历史交易数据所对应的哈希值存储至区块列表中,因此,当对目标区块进行共识处理时,共识节点首先从目标区块中获取到待检测哈希值,与区块列表进行验证,即验证目标区块中的目标交易数据是否属于已上链的历史区块中的交易数据,若是,则共识失败,若不是,则正常共识,从而可以防止交易数据被重复打包上链,进而可以减少存储资源的浪费。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令被处理器执行时实现图3和图8中各个步骤所提供的基于区块链的数据处理方法,具体可参见上述图3和图8中各个步骤所提供的实现方式,在此不再赘述。
上述计算机可读存储介质可以是前述任一实施例提供的基于区块链的数据处理装置或者上述计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例提供的方法及相关装置是参照本申请实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

Claims (15)

1.一种基于区块链的数据处理方法,其特征在于,包括:
从交易池中获取目标交易数据,生成所述目标交易数据的待检测哈希值;
获取针对已上链的历史区块的区块列表,根据所述区块列表和所述待检测哈希值确定所述目标交易数据的上链状态;
若所述目标交易数据的上链状态为已上链状态,则删除所述目标交易数据;
若所述目标交易数据的上链状态为未上链状态,则根据所述目标交易数据生成目标区块,对所述目标区块进行上链处理。
2.根据权利要求1所述的方法,其特征在于,所述根据所述区块列表和所述待检测哈希值确定所述目标交易数据的上链状态,包括:
获取所述区块列表中的历史区块信息;所述历史区块信息包括历史哈希值,所述历史哈希值是指针对所述历史区块中的交易数据的哈希值;
将所述历史区块信息中的所述历史哈希值与所述待检测哈希值进行匹配,根据匹配结果确定所述目标交易数据的上链状态。
3.根据权利要求2所述的方法,其特征在于,所述根据匹配结果确定所述目标交易数据的上链状态,包括:
若所述历史哈希值与所述待检测哈希值相同,则确定所述目标交易数据的上链状态为所述已上链状态;
若所述历史哈希值与所述待检测哈希值不相同,则确定所述目标交易数据的上链状态为所述未上链状态。
4.根据权利要求1所述的方法,其特征在于,所述从交易池中获取目标交易数据,包括:
从所述交易池中获取所述目标交易数据,将所述目标交易数据添加至待上链交易序列;所述待上链交易序列包含用于生成所述目标区块的交易数据;
则所述若所述目标交易数据的上链状态为已上链状态,则删除所述目标交易数据,包括:
若所述目标交易数据的上链状态为所述已上链状态,则从所述待上链交易序列中删除所述目标交易数据,从所述交易池中删除所述目标交易数据。
5.根据权利要求1所述的方法,其特征在于,所述若所述目标交易数据的上链状态为未上链状态,则根据所述目标交易数据生成目标区块,包括:
若所述目标交易数据的上链状态为所述未上链状态,则将所述目标交易数据添加至待上链交易序列;
根据所述待上链交易序列生成所述目标区块。
6.根据权利要求5所述的方法,其特征在于,所述根据所述待上链交易序列生成所述目标区块,包括:
统计所述待上链交易序列中的交易数据的数量,作为交易数据数量;
若所述交易数据数量小于序列数量阈值,则将所述序列数量阈值与所述交易数据数量之间的数量差值,作为补充数量;
从所述交易池中获取补充交易数据;所述补充交易数据的数量等于所述补充数量;
根据所述补充交易数据以及所述待上链交易序列生成所述目标区块。
7.根据权利要求2所述的方法,其特征在于,还包括:
当所述目标区块上链完成时,获取所述目标区块的目标区块信息;所述目标区块信息包括所述目标区块中的交易数据所对应的哈希值;
将所述目标区块信息添加至所述区块列表,从所述交易池中删除所述目标区块中的交易数据。
8.根据权利要求7所述的方法,其特征在于,所述将所述目标区块信息添加至所述区块列表,包括:
确定所述历史区块信息的数量,作为区块信息数量;
若所述区块信息数量小于列表数量阈值,则将所述目标区块信息添加至所述区块列表;
若所述区块信息数量等于所述列表数量阈值,则获取所述区块列表中存储时间戳最早的历史区块信息,将所述存储时间戳最早的历史区块信息更新为所述目标区块信息。
9.根据权利要求8所述的方法,其特征在于,还包括:
当第一系统时间达到第一心跳更新周期时,获取区块链网络中节点的节点数量;
根据所述节点数量对所述列表数量阈值进行更新,得到更新后的列表数量阈值;所述节点数量与所述更新后的列表数量阈值之间为正比例关系。
10.根据权利要求1所述的方法,其特征在于,还包括:
当第二系统时间达到第二心跳更新周期时,获取所述区块列表中的至少两个历史哈希值;
获取所述交易池中的交易数据,生成所述交易池中的交易数据的待过滤哈希值;
将所述历史哈希值与所述待过滤哈希值进行对比,根据对比结果对所述交易池中的交易数据进行过滤处理。
11.根据权利要求10所述的方法,其特征在于,所述根据对比结果对所述交易池中的交易数据进行过滤处理,包括:
当所述历史哈希值与所述待过滤哈希值相同时,则将所述待过滤哈希值所对应的交易数据确定为重复交易数据;
从所述交易池中过滤所述重复交易数据。
12.一种基于区块链的数据处理方法,其特征在于,包括:
获取出块节点发送的目标区块,获取所述目标区块中的目标交易数据的待检测哈希值;
获取针对已上链的历史区块的区块列表,根据所述区块列表和所述待检测哈希值确定所述目标交易数据的上链状态;
若所述目标交易数据的上链状态为已上链状态,则确定所述目标区块共识失败;
若所述目标交易数据的上链状态为未上链状态,则对所述目标区块进行共识处理。
13.一种基于区块链的数据处理装置,其特征在于,包括:
第一获取模块,用于从交易池中获取目标交易数据,生成所述目标交易数据的待检测哈希值;
第二获取模块,用于获取针对已上链的历史区块的区块列表,根据所述区块列表和所述待检测哈希值确定所述目标交易数据的上链状态;
第一删除模块,用于若所述目标交易数据的上链状态为已上链状态,则删除所述目标交易数据;
生成区块模块,用于若所述目标交易数据的上链状态为未上链状态,则根据所述目标交易数据生成目标区块,对所述目标区块进行上链处理。
14.一种计算机设备,其特征在于,包括:处理器、存储器以及网络接口;
所述处理器与所述存储器、所述网络接口相连,其中,所述网络接口用于提供数据通信功能,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行如权利要求1至12中任一项所述方法的步骤。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执权利要求1至12中任一项所述方法的步骤。
CN202010430099.4A 2020-05-20 2020-05-20 基于区块链的数据处理方法、装置、设备及可读存储介质 Active CN111600720B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202010430099.4A CN111600720B (zh) 2020-05-20 2020-05-20 基于区块链的数据处理方法、装置、设备及可读存储介质
PCT/CN2021/088633 WO2021233049A1 (zh) 2020-05-20 2021-04-21 基于区块链的数据处理方法、装置、设备及可读存储介质
US17/741,131 US20220271960A1 (en) 2020-05-20 2022-05-10 Blockchain-based data processing method, apparatus, device, and readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010430099.4A CN111600720B (zh) 2020-05-20 2020-05-20 基于区块链的数据处理方法、装置、设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN111600720A true CN111600720A (zh) 2020-08-28
CN111600720B CN111600720B (zh) 2021-09-28

Family

ID=72190404

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010430099.4A Active CN111600720B (zh) 2020-05-20 2020-05-20 基于区块链的数据处理方法、装置、设备及可读存储介质

Country Status (3)

Country Link
US (1) US20220271960A1 (zh)
CN (1) CN111600720B (zh)
WO (1) WO2021233049A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112199716A (zh) * 2020-09-30 2021-01-08 卓望数码技术(深圳)有限公司 区块链的出块方法、装置、设备及存储介质
CN112529707A (zh) * 2020-12-15 2021-03-19 从法信息科技有限公司 基于实例选举共识的交易上链防错方法、装置和电子设备
CN112541825A (zh) * 2020-12-09 2021-03-23 网易(杭州)网络有限公司 基于区块链的交易处理方法及装置、电子设备
CN112540998A (zh) * 2020-12-21 2021-03-23 清华大学 一种区块链的链上内容清除方法及装置
CN112669156A (zh) * 2020-12-31 2021-04-16 北京知帆科技有限公司 一种区块链待确认交易确定方法、装置及电子设备
WO2021233049A1 (zh) * 2020-05-20 2021-11-25 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、装置、设备及可读存储介质
CN114466050A (zh) * 2022-04-11 2022-05-10 国汽智控(北京)科技有限公司 基于区块链的车载数据处理方法、装置及电子设备
CN114697350A (zh) * 2020-12-31 2022-07-01 福建凯米网络科技有限公司 一种基于区块链的数据存储方法及存储介质

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113360578B (zh) * 2021-06-18 2023-04-07 中国科学技术大学 一种分层裁剪区块链交易内数据的方法、系统和存储介质
CN114650145B (zh) * 2022-03-31 2023-12-05 中国工商银行股份有限公司 生成区块链中区块的方法、装置及电子设备
CN115438723A (zh) * 2022-08-19 2022-12-06 中国银联股份有限公司 一种数据融合方法、装置、设备及存储介质
US20240089128A1 (en) * 2022-09-08 2024-03-14 Nagravision Sarl Blockchain monitoring platform
CN116226138B (zh) * 2023-05-08 2023-07-25 湖南三湘银行股份有限公司 一种基于区块链的信息漏洞处理方法及装置
CN117610087B (zh) * 2024-01-23 2024-04-26 北京天润基业科技发展股份有限公司 区块处理方法及装置、电子设备
CN117879786B (zh) * 2024-03-12 2024-05-14 深圳市海域达赫科技有限公司 数据分布式存储与访问方法、系统、设备及可读存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103731423A (zh) * 2013-12-25 2014-04-16 北京安码科技有限公司 一种安全的重复数据删除方法
US20170344987A1 (en) * 2016-05-24 2017-11-30 Mastercard International Incorporated Method and system for an efficient consensus mechanism for permssioned blockchains using bloom filters and audit guarantees
CN109064291A (zh) * 2018-08-08 2018-12-21 平安科技(深圳)有限公司 房产租赁方法、系统、计算机设备和存储介质
CN109858909A (zh) * 2019-01-11 2019-06-07 平安科技(深圳)有限公司 基于区块链的知识产权交易方法、装置、设备和存储介质
CN110032545A (zh) * 2019-03-27 2019-07-19 远光软件股份有限公司 基于区块链的文件存储方法、系统及电子设备
CN110738497A (zh) * 2019-12-19 2020-01-31 腾讯科技(深圳)有限公司 一种数据处理方法、装置、节点设备及存储介质
CN110958300A (zh) * 2019-10-30 2020-04-03 北京海益同展信息科技有限公司 一种数据的上传方法、系统、装置、电子设备和计算机可读介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8229961B2 (en) * 2010-05-05 2012-07-24 Red Hat, Inc. Management of latency and throughput in a cluster file system
US9298386B2 (en) * 2013-08-23 2016-03-29 Globalfoundries Inc. System and method for improved placement of blocks in a deduplication-erasure code environment
US10602409B1 (en) * 2016-02-22 2020-03-24 Sprint Spectrum L.P. Dynamic buffer allocation based on signal degradation
US20190386834A1 (en) * 2017-03-03 2019-12-19 Nec Corporation Blockchain management apparatus, blockchain management method, and program
US10410492B2 (en) * 2017-09-18 2019-09-10 Comcast Cable Communications, Llc Automatic presence simulator for security systems
CN110636009A (zh) * 2018-06-22 2019-12-31 中兴通讯股份有限公司 一种数据传输方法和装置
KR102206940B1 (ko) * 2018-11-27 2021-01-26 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. 스마트 계약을 사용하여 다자간 트랜잭션을 실행하는 방법
CN109711839A (zh) * 2018-12-13 2019-05-03 平安科技(深圳)有限公司 基于数据压缩的区块链存储方法、装置、设备和存储介质
EP3668036A1 (de) * 2018-12-14 2020-06-17 Siemens Aktiengesellschaft Erstellen einer blockchain mit blöcken umfassend eine anpassbare anzahl an transaktionsblöcken und mehrere zwischenblöcke
US20200394648A1 (en) * 2019-06-15 2020-12-17 Facebook, Inc. Scalable, secure, efficient, and adaptable distributed digital ledger transaction network
EP3822894A1 (en) * 2019-11-13 2021-05-19 Telefonica Digital España, S.L.U. Secure electronic messaging guaranteeing integrity and non-repudation
US11941116B2 (en) * 2019-11-22 2024-03-26 Pure Storage, Inc. Ransomware-based data protection parameter modification
CN111130801A (zh) * 2019-12-26 2020-05-08 腾讯科技(深圳)有限公司 一种数据处理方法、装置、节点设备及计算机存储介质
US20220391900A1 (en) * 2020-04-23 2022-12-08 NEC Laboratories Europe GmbH Tee-based mining pools for pow-cryptocurrencies
CN111600720B (zh) * 2020-05-20 2021-09-28 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、装置、设备及可读存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103731423A (zh) * 2013-12-25 2014-04-16 北京安码科技有限公司 一种安全的重复数据删除方法
US20170344987A1 (en) * 2016-05-24 2017-11-30 Mastercard International Incorporated Method and system for an efficient consensus mechanism for permssioned blockchains using bloom filters and audit guarantees
CN109064291A (zh) * 2018-08-08 2018-12-21 平安科技(深圳)有限公司 房产租赁方法、系统、计算机设备和存储介质
CN109858909A (zh) * 2019-01-11 2019-06-07 平安科技(深圳)有限公司 基于区块链的知识产权交易方法、装置、设备和存储介质
CN110032545A (zh) * 2019-03-27 2019-07-19 远光软件股份有限公司 基于区块链的文件存储方法、系统及电子设备
CN110958300A (zh) * 2019-10-30 2020-04-03 北京海益同展信息科技有限公司 一种数据的上传方法、系统、装置、电子设备和计算机可读介质
CN110738497A (zh) * 2019-12-19 2020-01-31 腾讯科技(深圳)有限公司 一种数据处理方法、装置、节点设备及存储介质

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021233049A1 (zh) * 2020-05-20 2021-11-25 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、装置、设备及可读存储介质
CN112199716A (zh) * 2020-09-30 2021-01-08 卓望数码技术(深圳)有限公司 区块链的出块方法、装置、设备及存储介质
CN112199716B (zh) * 2020-09-30 2024-04-02 卓望数码技术(深圳)有限公司 区块链的出块方法、装置、设备及存储介质
CN112541825A (zh) * 2020-12-09 2021-03-23 网易(杭州)网络有限公司 基于区块链的交易处理方法及装置、电子设备
CN112529707A (zh) * 2020-12-15 2021-03-19 从法信息科技有限公司 基于实例选举共识的交易上链防错方法、装置和电子设备
CN112529707B (zh) * 2020-12-15 2022-12-13 从法信息科技有限公司 基于实例选举共识的交易上链防错方法、装置和电子设备
CN112540998A (zh) * 2020-12-21 2021-03-23 清华大学 一种区块链的链上内容清除方法及装置
CN112540998B (zh) * 2020-12-21 2022-12-02 清华大学 一种区块链的链上内容清除方法及装置
CN112669156A (zh) * 2020-12-31 2021-04-16 北京知帆科技有限公司 一种区块链待确认交易确定方法、装置及电子设备
CN114697350A (zh) * 2020-12-31 2022-07-01 福建凯米网络科技有限公司 一种基于区块链的数据存储方法及存储介质
CN114697350B (zh) * 2020-12-31 2023-06-27 福建凯米网络科技有限公司 一种基于区块链的数据存储方法及存储介质
CN114466050A (zh) * 2022-04-11 2022-05-10 国汽智控(北京)科技有限公司 基于区块链的车载数据处理方法、装置及电子设备

Also Published As

Publication number Publication date
WO2021233049A1 (zh) 2021-11-25
CN111600720B (zh) 2021-09-28
US20220271960A1 (en) 2022-08-25

Similar Documents

Publication Publication Date Title
CN111600720B (zh) 基于区块链的数据处理方法、装置、设备及可读存储介质
CN111444211B (zh) 区块链共识节点校验方法、装置、设备以及存储介质
CN110690974B (zh) 基于区块链的数据验证方法、装置、设备及可读存储介质
CN111654395B (zh) 投票信息处理方法、装置、设备以及存储介质
CN111464353B (zh) 区块链节点管理方法、装置、计算机以及可读存储介质
CN113326165B (zh) 基于区块链的数据处理方法、设备及计算机可读存储介质
CN112686671A (zh) 基于区块链的智能合约部署方法、装置、设备以及介质
CN110598456B (zh) 一种数据存储方法、装置、电子设备以及存储介质
CN110928880B (zh) 基于区块链的数据处理方法、装置、终端及介质
CN111556115B (zh) 一种基于区块链的数据处理方法、装置、设备及存储介质
CN111209339B (zh) 区块同步方法、装置、计算机以及存储介质
CN112398956B (zh) 基于区块链的数据处理方法、装置、设备及可读存储介质
CN115730935A (zh) 基于区块链的数据处理方法、装置、设备及可读存储介质
CN111343212B (zh) 消息处理方法、装置、设备以及存储介质
CN108882230B (zh) 通话记录管理方法、装置及系统
EP3609120B1 (en) Distributed data storage
CN111507840B (zh) 区块链共识方法、装置、计算机以及可读存储介质
CN113221151A (zh) 基于区块链的数据处理方法、装置及存储介质
CN117036038B (zh) 一种基于联盟链的交易处理方法、装置、设备及存储介质
CN116804949B (zh) 基于区块链的数据处理方法、装置、设备及可读存储介质
CN112152982B (zh) 区块链信息的处理方法、装置及介质
CN118535568A (zh) 基于区块链的数据处理方法、装置、设备及可读存储介质
CN116205650A (zh) 一种基于区块链的数据处理方法、设备以及可读存储介质
CN116661674A (zh) 一种数据压缩方法、区块同步方法及相关设备
CN118537123A (zh) 一种基于区块链的数据处理方法、装置、设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40027015

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant