CN113190622B - 一种数据处理方法、装置、设备及存储介质 - Google Patents

一种数据处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN113190622B
CN113190622B CN202110518756.5A CN202110518756A CN113190622B CN 113190622 B CN113190622 B CN 113190622B CN 202110518756 A CN202110518756 A CN 202110518756A CN 113190622 B CN113190622 B CN 113190622B
Authority
CN
China
Prior art keywords
node
block
transaction data
relay
service
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
CN202110518756.5A
Other languages
English (en)
Other versions
CN113190622A (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 CN202110518756.5A priority Critical patent/CN113190622B/zh
Publication of CN113190622A publication Critical patent/CN113190622A/zh
Application granted granted Critical
Publication of CN113190622B publication Critical patent/CN113190622B/zh
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
    • 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
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Medical Informatics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请实施例公开了一种数据处理方法、装置、设备及存储介质,该方法包括:在接收到第一业务节点发送的携带目标区块高度的区块同步请求时,将致密区块标识以及区块同步请求发送至共识节点;致密区块标识用于指示共识节点确定待同步区块对应的致密区块的结构信息;在获取到结构信息中的目标交易标识符时,在第一中继缓存中查找与目标交易标识符相匹配的本地交易标识符;在第一中继缓存中,将查找到的本地交易标识符对应的本地交易数据作为第一关键交易数据,基于第一关键交易数据和结构信息中的区块头信息,对成功同步至第一业务节点的第一关键交易数据进行数据清分。采用本申请实施例,可以提高数据清分时的清分效率。

Description

一种数据处理方法、装置、设备及存储介质
本申请为在2021年03月16日提交中国专利局、申请号为2021102833147、申请名称为“一种数据处理方法、装置、设备及存储介质”的中国专利申请的分案申请,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及区块链技术领域,尤其涉及一种数据处理方法、装置、设备及存储介质。
背景技术
目前,区块链网络中的用于执行交易业务的业务节点在生成交易数据时,可以将该交易数据缓存至该业务节点的节点内存。此后,该业务节点还可以将交易数据广播至共识网络,以使共识网络中的共识节点在达成共识时,将该交易数据进行上链。可以理解的是,在共识节点上链成功时,可以将完整的新区块(即待同步区块)发送至业务节点,以使业务节点对待同步区块进行区块同步,且在区块同步完成时,在该业务节点的节点内存中对已经成功同步的交易数据进行数据清分。
其中,区块链网络中可以包括多个业务节点,而每个业务节点在生成交易数据时,均会将交易数据缓存在各自的节点内存中,这样使得整个业务网络需要承担更多的数据存储数量,以至于增大业务网络的负载,从而容易造成业务网络的不稳定。可以理解的是,由于每个业务节点均会存储交易数据,这样会导致在进行区块同步时,与当前业务节点相关联的交易数据可能并未存储至该业务节点的节点内存,例如,若某一交易数据(例如,交易数据1)是业务节点A向业务节点B转发电子票据时生成的,则该业务节点A的节点内存中可以缓存该交易数据1,而业务节点B的节点内存中未缓存该交易数据1。在业务节点B对包括交易数据1的待同步区块进行区块同步时,由于该业务节点B在自己的节点内存中并未查找到交易数据1,从而容易导致该交易数据1无法及时清分,进而导致了数据清分时的清分效率较低。
发明内容
本申请实施例提供一种数据处理方法、装置、设备及存储介质,可以提高数据清分时的清分效率。
本申请实施例一方面提供一种数据处理方法,该方法由第一中继节点执行,包括:
在接收到第一业务节点发送的携带目标区块高度的区块同步请求时,将致密区块标识以及区块同步请求发送至核心共识网络中的共识节点;目标区块高度是第一业务节点基于本地区块链上的最大块高、和核心共识网络的目标区块链上的最大块高所确定的;第一业务节点为第一中继节点集中管理的第一业务网络中的业务节点;第一中继节点用于在区块链网络中对第一业务网络和核心共识网络进行网络隔离;致密区块标识用于指示共识节点基于区块同步请求确定与目标区块高度相关联的待同步区块,且确定待同步区块对应的致密区块的结构信息;
在获取到共识节点返回的结构信息中的目标交易标识符时,在第一中继节点的第一中继缓存中查找与目标交易标识符相匹配的本地交易标识符;目标交易标识符是共识节点对与第一业务节点相关联的目标交易数据进行哈希标识转换后所确定的;
若查找到与目标交易标识符相匹配的本地交易标识符,则在第一中继缓存中,将查找到的本地交易标识符对应的本地交易数据作为第一关键交易数据,基于第一关键交易数据和结构信息中的区块头信息,对成功同步至第一业务节点的第一关键交易数据进行数据清分。
本申请实施例一方面提供一种数据处理方法,该方法由核心共识网络中的共识节点执行,包括:
在接收到第一中继节点发送的致密区块标识以及携带目标区块高度的区块同步请求时,基于区块同步请求确定与目标区块高度相关联的待同步区块,且确定待同步区块对应的致密区块的结构信息;目标区块高度是第一业务节点基于本地区块链上的最大块高、和核心共识网络的目标区块链上的最大块高所确定的;第一业务节点为第一中继节点集中管理的第一业务网络中的业务节点;第一中继节点用于在区块链网络中对第一业务网络和核心共识网络进行网络隔离;结构信息包括目标交易标识符;目标交易标识符是对与第一业务节点相关联的目标交易数据进行哈希标识转换后所确定的;
将结构信息发送至第一中继节点;结构信息用于指示第一中继节点在第一业务节点成功同步第一关键交易数据以及结构信息中的区块头信息时,对第一关键交易数据进行数据清分;第一关键交易数据为第一中继节点在第一中继节点的第一中继缓存中,查找到的与目标交易标识符相匹配的本地交易标识符对应的本地交易数据。
本申请实施例一方面提供一种数据处理装置,包括:
请求发送模块,用于在接收到第一业务节点发送的携带目标区块高度的区块同步请求时,将致密区块标识以及区块同步请求发送至核心共识网络中的共识节点;目标区块高度是第一业务节点基于本地区块链上的最大块高、和核心共识网络的目标区块链上的最大块高所确定的;第一业务节点为第一中继节点集中管理的第一业务网络中的业务节点;第一中继节点用于在区块链网络中对第一业务网络和核心共识网络进行网络隔离;致密区块标识用于指示共识节点基于区块同步请求确定与目标区块高度相关联的待同步区块,且确定待同步区块对应的致密区块的结构信息;
查找模块,用于在获取到共识节点返回的结构信息中的目标交易标识符时,在第一中继节点的第一中继缓存中查找与目标交易标识符相匹配的本地交易标识符;目标交易标识符是共识节点对与第一业务节点相关联的目标交易数据进行哈希标识转换后所确定的;
清分模块,用于若查找到与目标交易标识符相匹配的本地交易标识符,则在第一中继缓存中,将查找到的本地交易标识符对应的本地交易数据作为第一关键交易数据,基于第一关键交易数据和结构信息中的区块头信息,对成功同步至第一业务节点的第一关键交易数据进行数据清分。
其中,该装置还包括:
初始交易获取模块,用于获取第一业务节点基于中继节点列表发送的初始交易数据;中继节点列表包括N个中继节点;N为正整数;第一中继节点是由第一业务节点根据第一业务节点的第一地址哈希值从N个中继节点中确定的;
初始标识符确定模块,用于获取针对初始交易数据的第一标识符确定规则,基于第一标识符确定规则,对初始交易数据进行哈希标识转换,得到初始交易数据对应的初始交易标识符;
存储模块,用于将初始交易数据以及初始交易标识符存储至第一中继缓存,将存储至第一中继缓存中的初始交易数据作为本地交易数据,且将存储至第一中继缓存中的初始交易标识符作为本地交易标识符。
其中,第一地址哈希值是第一业务节点基于第一业务节点的区域属性所确定的;本地交易数据是第一业务节点在向第二业务网络中的第二业务节点发送跨区域的电子票据时生成的;第一业务节点与第二业务节点具有不同的区域属性;
在该存储模块之后,该装置还包括:
地址哈希值确定模块,用于确定第二业务节点的第二地址哈希值;
中继列表获取模块,用于从与区块链网络相关联的网关注册服务中,获取中继节点列表,在中继节点列表中将除第一中继节点之外的中继节点作为待处理中继节点;中继节点列表中的一个待处理中继节点对应一个地址哈希区间;地址哈希区间中的一个地址哈希值对应第二业务网络中的一个业务节点;
中继节点确定模块,用于在中继节点列表中查找第二地址哈希值所在的地址哈希区间,将查找到的地址哈希区间确定为目标地址哈希区间,且在中继节点列表中将目标地址哈希区间对应的待处理中继节点作为与第二业务节点相关联的第二中继节点;
第一本地交易发送模块,用于将本地交易数据发送至第二中继节点,以使第二中继节点确定本地交易数据对应的交易标识符,且将本地交易数据以及本地交易数据对应的交易标识符存储至第二中继节点的第二中继缓存。
其中,共识节点的数量为M个;M为大于或者等于3的正整数;
在该第一本地交易发送模块点之后,该装置还包括:
第二本地交易发送模块,用于将本地交易数据发送给M个共识节点,以使M个共识节点在达成共识时,将本地交易数据写入至目标区块链。
其中,在存储模块后,该装置还包括:
加密处理模块,用于获取核心共识网络的系统公钥,基于系统公钥对本地交易数据进行加密处理,得到系统加密数据信息;
加密信息发送模块,用于将系统加密数据信息发送至共识节点,以使共识节点基于系统公钥对应的系统私钥,对系统加密数据信息进行解密处理,得到本地交易数据;
最大块高接收模块,用于在共识节点将包括本地交易数据的目标区块成功写入目标区块链时,接收共识节点所返回的目标区块链上的最大块高;目标区块链上的最大块高为目标区块的区块块高;
最大块高返回模块,用于基于第一中继节点的节点私钥,对目标区块链上的最大块高进行签名处理,得到数据签名信息,且将数据签名信息和目标区块链上的最大块高返回至第一业务节点,以使第一业务节点在成功验证数据签名信息时,基于目标区块链上的最大块高以及本地区块链上的最大块高,确定目标区块高度,且基于目标区块高度生成用于指示共识节点进行区块同步的区块同步请求。
其中,该请求发送模块包括:
同步请求接收单元,用于接收第一业务节点发送的携带目标区块高度的区块同步请求;区块同步请求携带第一业务节点的节点标识信息;
标识信息查找单元,用于获取非法节点标识列表,在非法节点标识列表中查询与节点标识信息相匹配的非法节点标识信息;
清分请求发送单元,用于若在非法节点标识列表中未查询到与节点标识信息相匹配的非法节点标识信息,则基于致密区块标识以及区块同步请求,生成用于进行数据清分的清分请求,将清分请求发送至核心共识网络中的共识节点。
其中,该清分模块包括:
关键交易确定单元,用于若查找到与目标交易标识符相匹配的本地交易标识符,则在第一中继缓存中,将查找到的本地交易标识符对应的本地交易数据作为第一关键交易数据;
区块验证单元,用于基于第一关键交易数据以及结构信息,对待同步区块进行验证;
信息发送单元,用于在验证成功时,将第一关键交易数据以及结构信息中的区块头信息发送至第一业务节点,以使第一业务节点基于第一关键交易数据和区块头信息进行区块同步;
清分单元,用于在第一业务节点完成区块同步时,在第一中继缓存中,对第一关键交易数据进行数据清分。
其中,结构信息包括与目标交易数据相关联的默克尔路径以及待同步区块的区块头信息;
该区块验证单元包括:
待比较树根确定子单元,用于获取第一关键交易数据对应的关键交易哈希值以及默克尔路径中的路径哈希值,确定待同步区块的待比较树根;
比对结果确定子单元,用于获取区块头信息中的默克尔树根,将默克尔树根以及待比较树根进行比对,得到比对结果;
成功验证子单元,用于若比对结果指示默克尔树根与待比较树根一致,则确定待同步区块验证成功;
失败验证子单元,用于若比对结果指示默克尔树根与待比较树根不一致,则确定待同步区块验证失败。
其中,该装置还包括:
交易获取请求生成模块,用于若未查找到与目标交易标识符相匹配的本地交易标识符,则基于目标交易标识符生成用于向共识节点发送的交易数据获取请求;交易数据获取请求用于指示共识节点在待同步区块中,获取目标交易标识符对应的目标交易数据;
交易确定模块,用于在接收到共识节点返回的目标交易数据时,将接收到的目标交易数据作为第二关键交易数据;
关键交易发送模块,用于基于第二关键交易数据以及结构信息,对待同步区块进行验证,且在验证成功时,将区块头信息以及第二关键交易数据发送至第一业务节点,以使第一业务节点基于第二关键交易数据和区块头信息进行区块同步。
本申请实施例一方面提供一种数据处理装置,包括:
结构信息确定模块,用于在接收到第一中继节点发送的致密区块标识以及携带目标区块高度的区块同步请求时,基于区块同步请求确定与目标区块高度相关联的待同步区块,且确定待同步区块对应的致密区块的结构信息;目标区块高度是第一业务节点基于本地区块链上的最大块高、和核心共识网络的目标区块链上的最大块高所确定的;第一业务节点为第一中继节点集中管理的第一业务网络中的业务节点;第一中继节点用于在区块链网络中对第一业务网络和核心共识网络进行网络隔离;结构信息包括目标交易标识符;目标交易标识符是对与第一业务节点相关联的目标交易数据进行哈希标识转换后所确定的;
结构信息发送模块,用于将结构信息发送至第一中继节点;结构信息用于指示第一中继节点在第一业务节点成功同步第一关键交易数据以及结构信息中的区块头信息时,对第一关键交易数据进行数据清分;第一关键交易数据为第一中继节点在第一中继节点的第一中继缓存中,查找到的与目标交易标识符相匹配的本地交易标识符对应的本地交易数据。
其中,该结构信息确定模块包括:
接收单元,用于接收第一中继节点发送的致密区块标识以及携带目标区块高度的区块同步请求;区块同步请求携带第一业务节点的节点标识信息;
目标交易确定单元,用于在核心共识网络的目标区块链中,将与目标区块高度相关联的区块作为待同步区块,且在待同步区块中,将与节点标识信息相关联的交易数据作为目标交易数据;
目标标识符确定单元,用于获取针对目标交易数据的第二标识符确定规则,基于第二标识符确定规则,对目标交易数据进行哈希标识转换,得到目标交易数据对应的目标交易标识符;
获取单元,用于从待同步区块中,获取待同步区块的区块头信息以及与目标交易数据相关联的默克尔路径;
结构信息确定单元,用于基于区块头信息、默克尔路径以及目标交易标识符,确定待同步区块对应的致密区块的结构信息。
本申请实施例一方面提供了一种计算机设备,包括:处理器和存储器;
处理器与存储器相连,其中,存储器用于存储计算机程序,计算机程序被处理器执行时,使得该计算机设备执行本申请实施例提供的方法。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序适于由处理器加载并执行,以使得具有该处理器的计算机设备执行本申请实施例提供的方法。
本申请实施例一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例提供的方法。
在本申请实施例中,区块链网络中的第一中继节点可以集中管理第一业务网络中的第一业务节点,且该第一中继节点可以用于对第一业务网络和核心共识网络进行网络隔离。当第一中继节点接收到该第一业务节点发送的携带目标区块高度的区块同步请求时,可以将致密区块标识以及区块同步请求一并发送至核心共识网络中的共识节点。这里的致密区块标识可以用于指示共识节点基于区块同步请求,确定与目标区块高度相关联的待同步区块,且确定待同步区块对应的致密区块的结构信息。其中,该结构信息可以包括与第一业务节点相关联的目标交易数据对应的目标交易标识符以及待同步区块的区块头信息。可以理解的是,共识节点向第一中继节点传输的是用于表示目标交易数据的目标交易标识符,而非完整的目标交易数据,从而可以有效减少交易数据在第一中继节点和核心共识网络之间的重复传递。此外,第一中继节点的中继缓存(即第一中继缓存)中可以存储有由第一业务节点发送的交易数据(即本地交易数据)以及对应的交易标识符(即本地交易标识符),而无需第一业务节点在各自本地分散存储与自身相关联的交易数据,以至于在第一关键交易数据成功同步至第一业务节点时,第一中继节点能够快速在第一中继缓存中清分该第一关键交易数据,进而提高了数据清分时的清分效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种区块链网络分层结构的示意图;
图2是本申请实施例提供的一种进行数据交互的场景示意图;
图3是本申请实施例提供的一种数据处理方法的流程示意图;
图4是本申请实施例提供的一种第一业务节点生成区块同步请求的场景示意图;
图5是本申请实施例提供的一种确定待同步区块对应的致密区块的结构信息的场景示意图;
图6是本申请实施例提供的一种数据处理方法的流程示意图;
图7是本申请实施例提供的一种上链交易数据的场景示意图;
图8是本申请实施例提供的一种区块链电子票据场景下的系统架构图;
图9是本申请实施例提供的一种数据处理装置的结构示意图;
图10是本申请实施例提供的一种数据处理装置的结构示意图;
图11是本申请实施例提供的一种计算机设备的示意图;
图12是本申请实施例提供的一种数据处理系统的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图1,图1是本申请实施例提供的一种区块链网络分层结构的示意图。图1所示的区块链网络分层结构可以应用于区块链系统,本申请实施例可以通过区块链网络中的中继节点(即网关节点),对点对点(Peer To Peer,简称P2P)网络进行网络分层,以形成“业务网络—核心共识网络”这样的分层结构,进而能够提高区块链上数据的保密性和安全性。其中,该区块链网络中的中继节点的数量可以为N个,这里的N为正整数。如图1所示,这N个中继节点具体可以包括节点120a、节点120b、节点120c、…、节点120n。
可以理解的是,本申请实施例中的业务网络(即见证网络)可以是由一个或者多个节点构成的,这里将不对业务网络中的节点的数量进行限制。如图1所示,该业务网络中的节点具体可以包括节点110a、节点110b、节点110c、…、节点110n。本申请实施例中的核心共识网络可以是由M个节点构成的,这里的M可以为大于或者等于3的正整数。如图1所示,该核心共识网络中的节点具体可以包括节点130a、节点130b、节点130c、…、节点130m。
其中,本申请实施例可以将业务网络中的节点称之为业务节点,该业务节点主要用于执行交易业务,以得到与该交易业务相关联的交易数据。可以理解的是,这里的业务节点不需要参与记账共识,但能够通过身份认证的方式从核心共识网络中,获得区块头数据和部分授权可见的区块数据。本申请实施例可以将核心共识网络中的节点称之为共识节点(即记账节点),该共识节点可以运行有区块链共识协议。
可以理解的是,本申请实施例可以通过一个区块链网关集群(即图1所示的N个中继节点所构成的集群),维护中继节点(即网关节点)与所负责的业务网络中的业务节点的关系表。本申请实施例可以将这一关系表称之为中继节点列表。图1所示的N个中继节点中的每个中继节点均可以从与该区块链网络相关联的网关注册服务中,获取包括这N个中继节点的中继节点列表。应当理解,这N个中继节点中的每个中继节点在一个时间段内,均可以稳定的负责一个区域属性内的业务节点的区块同步和上链业务。其中,图1所示的N个中继节点中的每个中继节点均可以是独立的一个物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器,在此不做限定。
应当理解,本申请实施例可以将中继节点、业务节点以及共识节点统称为区块链网络中的区块链节点。可以理解的是,该区块链节点可以为接入该区块链网络中的服务器,也可以为接入该区块链网络中的用户终端,这里对区块链节点的具体形式不做限定。
其中,图1所示的区块链网络中的区块链节点主要有以下功能:钱包、区块链数据库、网络路由。每个节点都会具备路由功能,但是其他功能并不一定全部具备,一般核心共识网络中的核心节点(即共识节点)会包含上述功能。这样的核心节点可以参与校验、广播交易数据以及区块信息,且会发现和维持与其他节点的连接。该核心节点会包含完整的区块链数据库,包括所有交易数据,这种包含所有功能的节点也称为全量节点(Full Node)。另外一些节点只存储了区块链数据库的一部分,一般会存储区块头和与自身节点相关联的交易数据,而不存储完整交易数据。它们会通过“简化交易验证(Simplified PaymentVerification,简称SPV)”的方式完成交易校验,这样的节点可以称为轻量节点(Lightweight Node)或SPV节点(例如,图1所示的业务网络中的业务节点)。
可以理解的是,图1所示的业务网络和核心共识网络可以处于不同的网络环境,例如,通常来说,业务节点部署在处于公网的业务网络,而运行区块链共识协议的记账节点则部署在私有的共识网络中,二者可以通过路由边界进行交互。由于区块同步过程中,在核心共识网络与中继节点之间传输的是用于表示交易数据的交易标识符(txids,即短交易ID),而非完整的交易数据,从而可以有效保障该交易数据不会被他人轻易篡改,进而可以提高业务节点的数据隐私安全性。
为便于理解,本申请实施例可以在图1所示的N个中继节点中选择一个节点作为用于进行数据清分的第一中继节点。该第一中继节点可以用于集中管理图1所示的业务网络中属于同一区域属性的业务节点。其中,本申请实施例可以将该第一中继节点集中管理的业务节点称之为第一业务节点,进而可以将由该第一业务节点构成的业务网络称之为第一业务网络。其中,该第一中继节点能够对第一业务网络与核心共识网络进行网络隔离。例如,该第一中继节点可以为图1所示的节点120a。换言之,这里的业务网络具体可以包括第一业务网络和第二业务网络。其中,第一业务网络中的业务节点(即第一业务节点)与第二业务网络中的业务节点(即第二业务节点)具有不同的区域属性。第一业务网络可以通过第一中继节点与核心共识网络之间进行数据交互,而第二业务网络可以通过不同于第一中继节点的另一中继节点(即第二中继节点)与核心共识网络之间进行数据交互。
其中,本申请实施例可以将第一中继节点的节点缓存称之为第一中继缓存,该第一中继缓存可以用于存储本地交易数据(即第一业务节点发送的交易数据)以及本地交易标识符(即交易数据对应的交易标识符)。本申请实施例可以将第二中继节点的节点缓存称之为第二中继缓存,该第二中继缓存可以用于存储本地交易数据(即第二业务节点发送的交易数据或者第一中继节点转发的与第二业务节点相关联的交易数据)以及本地交易标识符(即交易数据对应的交易标识符)。可以理解的是,第一业务节点可以用于进行区块同步。例如,该第一业务节点可以为图1所示的业务网络中的节点110a。此外,本申请实施例可以在图1所示的核心共识网络中,选择任意一个节点作为共识节点。例如,该共识节点可以为核心共识网络中的节点130a。可以理解的是,本申请实施例可以将核心共识网络中的区块链称之为目标区块链,将第一业务网络中的第一业务节点的区块链称之为本地区块链。
在“业务网络—核心共识网络”这样的分层结构下,为了减少交易数据在第一中继节点和共识节点之间的重复传递,本申请实施例中的第一中继节点与共识节点之间可以采用致密区块(compact block)连接模式,因此,在第一中继节点(例如,节点120a)接收到第一业务网络中的第一业务节点(例如,节点110a)发送的区块同步请求时,可以将用于表示致密区块连接模式的致密区块标识和区块同步请求一并发送至核心共识网络中的共识节点(例如,节点130a),以使共识节点可以基于该区块同步请求,确定待同步区块对应的致密区块的结构信息。可以理解的是,本申请实施例中的第一中继节点可以在第一中继缓存中存储有由第一业务节点发送的交易数据(即本地交易数据)以及对应的交易标识符(即本地交易标识符),而无需第一业务节点在各自本地分散存储与自身相关联的交易数据,以至于第一中继节点能够快速清分已经成功同步至第一业务节点的第一关键交易数据,进而可以提高数据清分时的清分效率。
为便于理解,进一步地,请参见图2,图2是本申请实施例提供的一种进行数据交互的场景示意图。如图2所示,中继节点220a可以为本申请实施例中用于进行数据清分的第一中继节点,该中继节点220a可以为上述图1所示的区块链网络中的节点120a。图2所示的业务节点210a可以为该中继节点集中管理的第一业务网络中的第一业务节点,该业务节点210a可以为上述图1所示的业务网络中的节点110a。图2所示的共识节点230a可以为核心共识网络中的任意一个节点,例如,节点130a。
应当理解,本申请实施例中的共识节点230a在将包括交易数据的目标区块成功写入核心共识网络的目标区块链时,可以获取该目标区块链上的最大块高(即最新区块的区块高度),进而可以通过用于对核心共识网络和第一业务网络进行网络隔离的中继节点(例如,中继节点220a),将该目标区块链上的最大块高广播至该第一业务网络中对应的第一业务节点,以使第一业务节点基于目标区块链上的最大块高生成区块同步请求。
如图2所示,在该共识节点230a将目标区块链上的最大块高发送至中继节点220a时,中继节点220a可以将该目标区块链上的最大块高统一转发至该中继节点220a集中管理的第一业务网络中的业务节点(例如,业务节点210a)。在业务节点210a接收到该目标区块链上的最大块高时,业务节点210a可以获取业务节点210a的本地区块链上的最大块高,进而可以基于目标区块链上的最大块高与本地区块链上的最大块高,确定目标区块高度,以生成携带目标区块高度的区块同步请求。进一步地,中继节点220a在接收到由该业务节点210a发送的该区块同步请求时,可以将区块同步请求与致密区块标识一并发送至共识节点230a,以使共识节点230a确定出待同步区块对应的致密区块的结构信息。
比如,若目标区块链上的最大块高为8,本地区块链上的最大块高为7,则业务节点210a所确定的目标区块高度可以为块高8,此时,该业务节点210a可以基于块高8生成用于发送至中继节点220a的区块同步请求。可以理解的是,该区块同步请求可以用于指示共识节点230a在目标区块链上,将块高8对应的区块作为待同步区块,且确定待同步区块对应的致密区块的结构信息。
又比如,若目标区块链上的最大块高为8,本地区块链上的最大块高为5,则业务节点210a所确定的目标区块高度可以为块高6、块高7以及块高8,此时,该业务节点210a可以基于块高6、块高7以及块高8,生成用于发送至中继节点220a的区块同步请求。可以理解的是,这里的区块同步请求可以用于指示共识节点230a在目标区块链上,将块高6对应的区块、块高7对应的区块以及块高8对应的区块均作为待同步区块,且分别确定每个待同步区块各自对应的致密区块的结构信息。
其中,本申请实施例的目标区块高度可以以1个为例,以便于阐述业务节点210a对与目标区块高度相关联的待同步区块进行区块同步的具体实施方式。可以理解的是,该共识节点230a在接收到中继节点220a发送的区块同步请求和致密区块标识时,所确定的待同步区块对应的致密区块的结构信息可以为图2所示的结构信息200x。其中,该结构信息200x可以包括目标交易标识符(例如,交易标识符30f),待同步区块的区块头信息以及与目标交易数据相关联的默克尔路径。该目标交易标识符是共识节点230a对与业务节点210a相关联的目标交易数据进行哈希标识转换后所确定的。这里的目标交易数据可以是由业务节点210a所生成的交易数据,还可以是业务网络(第一业务网络或者第二业务网络)中的某一业务节点所生成的与业务节点210a相关联的交易数据,这里将不对其进行限定。例如,目标交易数据可以为某一业务节点向业务节点210a转发虚拟资产(例如,电子票据、游戏金币以及游戏钻石等)时所生成的交易数据。
可以理解的是,中继节点220a在获取到共识节点230a所返回的结构信息200x时,可以从该结构信息200x中获取交易标识符30f这一目标交易标识符。此时,该中继节点220a可以在中继节点220a的第一中继缓存(例如,图2所示的数据清分前的中继缓存2000)中,查找与目标交易标识符相匹配的本地交易标识符。
在本申请实施例中,数据清分前的中继缓存2000可以存储有多个本地交易数据以及对应的本地交易标识符,本申请实施例可以以4个本地交易数据为例,如图2所示,数据清分前的中继缓存2000中具体可以包括交易数据10e和交易标识符10f、交易数据20e和交易标识符20f、交易数据30e和交易标识符30f、以及交易数据40e和交易标识符40f。其中,交易标识符10f是中继节点220a对交易数据10e进行哈希标识转换后所得到的。
应当理解,若中继节点220a能够在数据清分前的中继缓存2000中,查找到与目标交易标识符(例如,交易标识符30f)相匹配的本地交易标识符,则中继节点220a可以将查找到的本地交易标识符对应的本地交易数据(例如,交易数据30e)作为第一关键交易数据。此时,中继节点220a可以将交易数据30e和待同步区块的区块头信息一并返回至业务节点210a,以使业务节点210a对待同步区块进行区块同步。
可以理解的是,在业务节点210a完成区块同步时,中继节点220a可以对成功同步至该业务节点210a的第一关键交易数据进行数据清分,即在数据清分前的中继缓存2000中删除交易数据30e这一第一关键交易数据,以得到图2所示的数据清分后的中继缓存2000。可以理解的是,数据清分后的中继缓存2000中具体可以包括交易数据10e和交易标识符10f、交易数据20e和交易标识符20f、以及交易数据40e和交易标识符40f。
由此可见,本申请实施例中的中继节点220a在向共识节点230a发送区块同步请求时,可以一并发送致密区块标识,以使共识节点230a基于区块同步请求确定待同步区块对应的致密区块的结构信息200x。由于该结构信息200x可以包括目标交易数据对应的目标交易标识符,而非与业务节点210a相关联的完整的目标交易数据,从而可以有效减少交易数据在中继节点220a和共识节点230a之间的重复传递。此外,在业务节点210a完成区块同步时,中继节点220a可以快速在第一中继缓存(例如,数据清分前的中继缓存2000)对已经成功同步的第一关键交易数据(例如,交易数据30e)进行数据清分,从而可以有效保证数据清分时的高效性和可靠性。
其中,在“业务网络—核心共识网络”这样的分层结构下,区块链网络中的第一中继节点能够获取核心共识网络中的共识节点所返回的待同步区块对应的致密区块的结构信息,且在第一中继节点的第一中继缓存中,对成功同步至第一业务网络的第一业务节点的第一关键交易数据进行数据清分的具体实现方式可以参见下述图3-图8所对应的实施例。
进一步地,请参见图3,图3是本申请实施例提供的一种数据处理方法的流程示意图。如图3所示,该方法可以由用于在区块链网络中对第一业务网络和核心共识网络进行网络隔离的第一中继节点执行,该第一中继节点可以为该区块链网络中用于进行数据清分的网关节点,该第一中继节点可以为接入至该区块链网络中的用户终端,也可以为接入至该区块链网络中的服务器,在此不做限定。该方法至少可以包括以下步骤S101-步骤S103:
步骤S101,在接收到第一业务节点发送的携带目标区块高度的区块同步请求时,将致密区块标识以及区块同步请求发送至核心共识网络中的共识节点。
具体地,第一业务网络中的第一业务节点可以向第一中继节点发送的携带目标区块高度的区块同步请求。其中,该区块同步请求可以携带第一业务节点的节点标识信息。进一步地,第一中继节点可以获取非法节点标识列表,且在非法节点标识列表中查询与节点标识信息相匹配的非法节点标识信息。若在非法节点标识列表中未查询到与节点标识信息相匹配的非法节点标识信息,则该第一中继节点可以基于致密区块标识以及区块同步请求,生成用于进行数据清分的清分请求,进而可以将清分请求发送至核心共识网络中的共识节点。
应当理解,第一业务网络中的第一业务节点可以在执行某一交易业务时,根据该交易业务的交易执行结果,得到初始交易数据(例如,交易数据e)。例如,在某一患者前往位于区域A的医院进行就诊时,位于区域A的第一业务节点可以针对本次就诊所花费的虚拟资产开具一张电子票据,进而可以基于该电子票据生成初始交易数据。
此时,第一业务节点可以基于第一业务节点的区域属性(例如,区域A),确定该第一业务节点的第一地址哈希值。进一步地,第一业务节点可以从与区块链网络相关联的网关注册服务中,获取包括N个中继节点的中继节点列表,进而可以从这N个中继节点中,确定用于接收该初始交易数据的中继节点(即第一中继节点)。其中,N为正整数。
为便于理解,进一步地,请参见表1,表1是本申请实施例提供的一种中继节点列表。如表1所示,区块链网络中的N个中继节点(即网关节点)之间可以通过一个分布式的注册机(例如,zookeeper)来实时更新每个区域属性的业务节点目前是由哪个中继节点负责。这里的区域属性可以是指区、市或者省等。比如,用于集中管理处于A省的业务节点的中继节点(即第一中继节点,例如,节点120a)和用于集中管理处于B省的业务节点的中继节点(即第二中继节点,例如,节点120b)属于中继节点列表中的两个不同的中继节点。如表1所示:
表1
中继节点 地址哈希区间
节点120a 区间1
节点120b 区间2
节点120n 区间N
如上述表1所示,该中继节点列表中可以包括区块链网络中的N个中继节点。这N个中继节点具体可以包括节点120a、节点120b、…、以及节点120n。可以理解的是,该中继节点列表中的一个中继节点可以对应一个地址哈希区间,且地址哈希区间中的一个地址哈希值对应该中继节点所负责的业务网络中的一个业务节点。例如,节点120a对应的地址哈希区间可以为区间1(例如,[0,9]),节点120b对应的地址哈希区间可以为区间2(例如,[10,19]),…,节点120n对应的地址哈希区间可以为区间N。
可以理解的是,若第一业务节点确定的第一地址哈希值为6,则根据上述表1所示的中继节点列表,第一业务节点可以确定第一地址哈希值所在的地址哈希区间为区间1,此时,第一业务节点可以将区间1对应的中继节点(例如,节点120a)作为第一中继节点,进而可以将初始交易数据发送至该第一中继节点。
应当理解,在第一中继节点接收到该第一业务节点发送的初始交易数据时,第一中继节点可以获取针对初始交易数据的第一标识符确定规则,进而可以基于该第一标识符确定规则,对初始交易数据进行哈希标识转换,以得到初始交易数据对应的初始交易标识符。进一步地,第一中继节点可以将该初始交易数据以及该初始交易标识符存储至第一中继节点的第一中继缓存。
可以理解的是,本申请实施例中的第一标识符确定规则可以包括第一哈希规则和第二哈希规则。这里的第一哈希规则不同于第二哈希规则。可以理解的是,该第一中继节点可以基于第一哈希规则,对初始交易数据进行第一哈希转换,得到初始交易数据对应的第一哈希值。进一步地,该第一中继节点可以基于第二哈希规则,对第一哈希值进行第二哈希转换,得到初始交易数据对应的第二哈希值,进而可以基于第二哈希值以及第二哈希规则所关联的哈希字节数(例如,6个字节),得到该初始交易数据对应的初始交易标识符。
应当理解,第一哈希规则和第二哈希规则均可以为哈希函数,又称散列算法,是一种从任何一种数据中创建小的数字“指纹”的方法。散列函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。该函数将数据打乱混合,重新创建一个叫做散列值(或哈希值)的指纹。散列值通常用一个短的随机字母和数字组成的字符串来代表。
例如,这里的第一哈希规则可以为SHA256,这里的第二哈希规则可以为SipHash算法(例如,SipHash-2-4)。可以理解的是,第一中继节点可以使用SHA256,在小端字节序(little-endian)中,对附加了随机数的初始交易数据进行第一哈希转换,得到一个256位(相当于32个字节的数组)长的哈希值(即第一哈希值)。进一步地,该第一中继节点可以使用SipHash-2-4,将密钥(k0/k1)分别设置为第一哈希值的前两个小端64位(相当于8个字节的数组)整数,进而可以得到初始交易数据对应的第二哈希值。此时,第一中继节点可以从第二哈希值中删除2个最高有效字节,使其成为6个字节,并且可以将这6个字节的哈希值作为该初始交易数据对应的初始交易标识符。
其中,本申请实施例可以将存储至第一中继缓存中的初始交易数据作为本地交易数据,且将存储至第一中继缓存中的初始交易标识符作为本地交易标识符。可以理解的是,第一业务节点发送的初始交易数据、第一中继节点存储的本地交易数据以及后续共识节点在待同步区块中确定的目标交易数据均为同一个交易数据(例如,交易数据e),而初始交易数据、本地交易数据以及目标交易数据之所以不同,是因为交易数据e所处的状态不同。
为了便于后续第一中继节点能够快速在第一中继缓存中查找到与目标交易标识符相匹配的本地交易标识符,在数据量较大的情况下,本申请实施例中的第一中继节点可以在第一中继缓存中,建立本地交易数据以及对应的本地交易标识符之间的映射关系,进而可以基于所建立的每一个本地交易数据的映射关系,生成查找列表。在第一中继节点进行数据清分的过程中,第一中继节点可以通过该查找列表,快速地查找与目标交易标识符相匹配的本地交易标识符,进而可以快速确定用于同步至第一业务节点的第一关键交易数据,以使整个数据清分的效率得以提升。
可选的,第一中继节点还可以在第一中继缓存中划分多个存储空间,以便于存储第一业务网络的每个业务节点发送的交易数据。比如,若第一中继节点集中管理的第一业务网络中的业务节点的数量为3个,这3个业务节点具体可以包括节点110a、节点110b以及节点110c。此时,第一中继缓存中可以包括数据集1、数据集2以及数据集3。其中,数据集1可以用于存储由节点110a发送的交易数据以及对应的交易标识符,数据集2可以用于存储由节点110b发送的交易数据以及对应的交易标识符,数据集3可以用于存储由节点110c发送的交易数据以及对应的交易标识符。这样将会导致第一中继节点在进行数据清分时,能够快速地在对应的数据集中查找到与目标交易标识符相匹配的本地交易标识符,进而可以快速确定用于同步至第一业务节点的第一关键交易数据,以使整个数据清分的效率得以提升。
应当理解,若存储至第一中继缓存中的本地交易数据(例如,交易数据e)为同区域交易数据,那么第一中继节点在将第一业务节点发送的交易数据e以及交易数据e对应的交易标识符存储至第一中继缓存之后,可以直接将交易数据e这一本地交易数据发送至核心共识网络中的共识节点。为了保证数据传输时的安全性,该第一中继节点可以获取核心共识网络的系统公钥,基于该系统公钥对本地交易数据进行加密处理,以得到用于发送至共识节点的系统加密数据信息。进一步地,在共识节点接收到该系统加密数据信息时,该共识节点可以基于该系统公钥对应的系统私钥,对系统加密数据信息进行解密处理,以得到本地交易数据。可以理解的是,在共识节点将包括本地交易数据的目标区块成功写入核心共识网络的目标区块链时,共识节点能够获取目标区块链上的最大块高(即目标区块的区块块高),且将该目标区块链上的最大块高返回至第一中继节点。
此时,第一中继节点可以基于第一中继节点的节点私钥,对目标区块链上的最大块高进行签名处理,以得到数据签名信息,进而可以将数据签名信息和目标区块链上的最大块高一并返回至第一业务节点,以使第一业务节点在成功验证数据签名信息时,基于目标区块链上的最大块高以及第一业务节点本地区块链上的最大块高,确定目标区块高度。进一步地,该第一业务节点可以基于目标区块高度以及第一业务节点的节点标识信息,生成用于指示共识节点进行区块同步的区块同步请求。
为便于理解,进一步地,请参见图4,图4是本申请实施例提供的一种第一业务节点生成区块同步请求的场景示意图。如图4所示,本申请实施例中的业务节点410a(即第一业务节点)可以用于在第一业务网络中执行交易业务,以生成交易数据(例如,图4所示的交易数据4e),例如,该业务节点410a可以为上述图1所示的业务网络中的节点110a。图4所示的中继节点420a可以为业务节点410a基于中继节点列表所确定的第一中继节点,例如,该中继节点420a可以为上述图1所示的区块链网络中的节点120a。图4所示的共识节点430a可以为核心共识网络中的任意一个共识节点,例如,该共识节点430a可以为上述图1所示的核心共识网络中的节点130a。
应当理解,本申请实施例中的交易数据4e可以为属于同一区域属性的两个业务节点在发送某笔虚拟资产(例如,游戏金币等)时所生成的,可以理解的是,这两个业务节点均可以第一中继节点(例如,中继节点420a)集中管理的第一业务网络中的业务节点,这两个业务节点可以统称为第一业务节点。其中,在中继节点420a将接收到的交易数据4e和交易数据4e对应的交易标识符存储至中继节点420a的中继缓存之后,中继节点420a可以将交易数据4e发送至核心共识网络中的共识节点(例如,图4所示的共识节点430a),以使共识节点430a将包括交易数据4e的目标区块成功写入核心共识网络的目标区块链。
可以理解的是,为了保证数据传输时的安全性,该中继节点420a可以获取核心共识网络的系统公钥,基于系统公钥对该交易数据4e进行加密处理,以得到用于发送至核心共识网络中的共识节点430a的系统加密数据信息。进一步地,在该共识节点430a接收到该系统加密数据信息时,该共识节点430a可以基于该系统公钥对应的系统私钥,对系统加密数据信息进行解密处理,以得到交易数据4e,进而可以将该交易数据4e写入至目标区块链。
其中,本申请实施例中的业务节点410a可以为轻量节点,该业务节点410a的本地区块链中可以存储有区块头信息和与该业务节点410a相关联的交易数据,以避免存储空间的浪费。如图4所示,该业务节点410a的本地区块链中可以包括区块头1、区块头2、…、区块头n。这里的n为正整数。图4所示的目标区块链可以为共识节点430a成功将交易数据4e写入的核心共识网络的区块链。其中,本申请实施例中的共识节点430a为全量节点,该共识节点430a的目标区块链中可以存储有完整的区块。如图4所示,该目标区块链中可以包括(n+1)个区块,即区块1、区块2、区块3、…、区块n以及区块(n+1)。其中,每个区块均可以包括区块头信息和区块体信息。例如,本申请实施例中的n可以以4为例,则该业务节点410a的本地区块链中可以包括区块头1、区块头2、区块头3以及区块头4。而核心共识网络的目标区块链中可以包括区块1、区块2、区块3、区块4以及区块5。
可以理解的是,在共识节点430a将包括交易数据4e的目标区块(例如,区块5)成功写入核心共识网络的目标区块链时,共识节点430a能够获取目标区块链上的最大块高(即目标区块的区块块高,例如,块高5),进而可以将该块高5返回至中继节点420a。
由于核心共识网络处于相对安全的私有云中,其互相访问本就有共识机制保证安全,不需要额外加入身份管理和网络控制,而第一业务网络一般处于公共网络中,可以能会被其他不确定的网络终端访问。因此,在中继节点420a将目标区块链上的最大块高转发至第一业务网络中的业务节点410a的过程中,需要被严格控制。换言之,该中继节点420a在接收到共识节点430a发送的目标区块链上的最大块高时,可以基于中继节点420a的节点私钥对目标区块链上的最大块高进行签名处理,以得到该目标区块链上的最大块高对应的数据签名信息。
可以理解的是,中继节点420a可以对目标区块链上的最大块高(例如,块高5)进行哈希计算,从而可以得到块高5的摘要信息h,并基于中继节点420a的节点私钥对该摘要信息h进行数字签名,得到该块高5对应的数据签名信息。进一步地,中继节点420a可以将数据签名信息和块高5一并发送至业务节点410a。在业务节点410a接收到该数据签名信息和块高5时,可以获取中继节点420a的节点公钥,进而可以基于该节点公钥,对该数据签名信息进行验签,以得到验签结果。其中,可以理解的是,业务节点410a可以基于中继节点420a的节点公钥对该数据签名信息中的数字签名进行验签,得到块高5的摘要信息h,并利用与该中继节点420a相同的哈希算法对该块高5进行哈希计算,从而可以得到该块高5的摘要信息H。进一步地,业务节点410a可以将验签后所得到的摘要信息h与进行哈希计算得到的摘要信息H进行比对,得到验签结果。若该验签结果指示摘要信息h与摘要信息H不相同,则可以理解为业务节点410a验签失败。若该验签结果指示摘要信息h与摘要信息H相同,则可以理解为业务节点410a验签成功,从而可以得到块高5。
在验签结果指示验签成功时,该业务节点410a可以获取本地区块链上的最大块高(例如,块高4),进而可以基于块高4和块高5,确定目标区块高度(即块高5)。此时,该业务节点410a可以基于块高5和业务节点410a的节点标识信息生成区块同步请求。该区块同步请求可以用于指示共识节点430a基于目标区块高度,确定待同步区块(即块高5对应的区块5)对应的致密区块的结构信息。
进一步地,当第一中继节点接收到第一业务节点发送的携带目标区块高度的区块同步请求时,第一中继节点可以验证第一业务节点的合法性。可以理解的是,第一中继节点可以获取用于存储非法节点标识信息的非法节点标识列表,进而可以在非法节点标识列表中查询与节点标识信息相匹配的非法节点标识信息。其中,这里的非法节点列表可以是指黑名单列表,即该非法节点列表中的非法节点标识所对应的非法节点是指检测到的恶意节点、被他人举报的节点、或者在某一时间段发送交易频率异常的节点等。
若在非法节点标识列表中,查询到与该节点标识信息相匹配的非法节点标识信息,则该第一中继节点可以确定发送区块同步请求的第一业务节点为非法节点,进而无需将区块同步请求发送至核心共识网络中的共识节点。可选的,若在非法节点标识列表中,未查询到与节点标识信息相匹配的非法节点标识信息,则该第一中继节点可以确定发送区块同步请求的第一业务节点为合法节点,此时,第一中继节点可以基于致密区块标识以及区块同步请求,生成用于进行数据清分的清分请求,进而可以将清分请求发送至核心共识网络中的共识节点。
进一步地,在共识节点接收到第一中继节点发送的清分请求时,该共识节点可以基于该清分请求,获取第一中继节点发送的致密区块标识以及携带目标区块高度的区块同步请求。其中,区块同步请求可以携带第一业务节点的节点标识信息。此时,共识节点可以在核心共识网络的目标区块链中,将与目标区块高度相关联的区块作为待同步区块,且在待同步区块中将与节点标识信息相关联的交易数据作为目标交易数据。
此时,该共识节点可以获取针对目标交易数据的第二标识符确定规则,进而可以基于第二标识符确定规则,对目标交易数据进行哈希标识转换,以得到目标交易数据对应的目标交易标识符。其中,共识节点获取到的第二标识符确定规则和第一中继节点在接收到第一业务节点发送的初始交易数据时所获取的第一标识符确定规则为同一规则,这里将不对确定目标交易标识符的具体实施方式进行赘述。应当理解,共识节点还可以从待同步区块中,获取待同步区块的区块头信息以及与目标交易数据相关联的默克尔路径,进而可以基于区块头信息、默克尔路径以及目标交易标识符,确定待同步区块对应的致密区块的结构信息。
可以理解的是,致密区块的结构信息中的目标交易标识符相较于目标交易数据的压缩比例可以达到1000:1以上。这样可以导致共识节点能够快速将结构信息返回给第一中继节点。由于数据量少,压缩度高,从而可以完成高速的区块数据中继,以使共识节点可以快速继续执行其他共识逻辑,且不会影响核心共识网络中的性能。
为便于理解,进一步地,请参见图5,图5是本申请实施例提供的一种确定待同步区块对应的致密区块的结构信息的场景示意图。如图5所示,本申请实施例中的业务节点510a(即第一业务节点)可以用于在第一业务网络中执行交易业务,以生成交易数据,例如,该业务节点510a可以为上述图1所示的业务网络中的节点110a。图5所示的中继节点520a可以为业务节点510a基于中继节点列表所确定的第一中继节点,例如,该中继节点520a可以为上述图1所示的区块链网络中的节点120a。图5所示的共识节点530a可以为核心共识网络中的任意一个共识节点,例如,该共识节点530a可以为上述图1所示的核心共识网络中的节点130a。
可以理解的是,业务节点510a可以基于目标区块高度以及业务节点510a的节点标识信息,生成区块同步请求。这里的目标区块高度可以是业务节点510a基于本地区块链上的最大块高和核心共识网络的目标区块链上的最大块高所确定的。当中继节点520a接收到业务节点510a发送的区块同步请求时,中继节点520a可以基于非法节点标识列表,验证业务节点510a的合法性。
若在非法节点标识列表中,未查询到与节点标识信息相匹配的非法节点标识信息,则该中继节点520a可以基于致密区块标识以及区块同步请求,生成用于对中继节点520a的中继缓存(例如,图5所示的中继缓存5000)进行数据清分的清分请求,进而可以将清分请求发送至核心共识网络中的共识节点530a。这里的致密区块标识可以用于指示:接收到该清分请求的共识节点能够基于区块同步请求,确定与目标区块高度相关联的待同步区块,且确定待同步区块对应的致密区块的结构信息。
进一步地,在核心共识网络中的共识节点530a接收到中继节点520a发送的清分请求时,该共识节点530a可以基于该清分请求,获取致密区块标识以及区块同步请求。其中,区块同步请求可以携带业务节点510a的节点标识信息以及目标区块高度。此时,共识节点530a可以在核心共识网络的目标区块链中,将与目标区块高度相关联的区块作为待同步区块。其中,如图5所示,该共识节点530a所确定的待同步区块中可以包括区块头信息和区块主体。该区块头信息可以包括该待同步区块的父区块哈希值(即上一区块的区块哈希值)、版本号、时间戳、随机数以及默克尔树根等信息。该区块主体可以包括打包至该待同步区块的交易数据(例如,交易数据1e、交易数据2e、交易数据3e以及交易数据4e)以及由交易数据的交易哈希值所构成的默克尔路径。
可以理解的是,该共识节点530a可以基于致密区块标识,生成待同步区块对应的致密区块的结构信息。其中,该共识节点530a可以在待同步区块中,将与业务节点510a的节点标识信息相关联的交易数据作为目标交易数据。例如,该共识节点530a所确定的目标交易数据可以为图5所示的交易数据2e和交易数据4e。进一步地,该共识节点530a可以获取针对目标交易数据的第二标识符确定规则,对目标交易数据进行哈希标识转换,以得到目标交易数据对应的目标交易标识符。例如,共识节点530a可以基于第二标识符确定规则,对交易数据2e进行哈希标识转换,以得到交易数据2e对应的目标交易标识符,即交易标识符2f。同理,共识节点530a还可以基于第二标识符确定规则,对交易数据4e进行哈希标识转换,以得到交易数据4e对应的目标交易标识符,即交易标识符4f。此外,共识节点530a还可以从待同步区块中,获取待同步区块的区块头信息以及与目标交易数据(例如,交易数据2e和交易数据4e)相关联的默克尔路径,进而可以基于区块头信息、默克尔路径以及目标交易标识符(例如,交易标识符2f和交易标识符4f),确定待同步区块对应的致密区块的结构信息(例如,图5所示的结构信息500x)。
可以理解的是,由于清分请求中包括致密区块标识,因此代表着中继节点520a与核心共识网络中的共识节点之间可以采用致密区块连接模式,即基于交易标识符这样的短交易ID来代表完整交易数据的高速中继协议,进而使得核心共识网络中的共识节点(例如,共识节点530a)可以快速将待同步区块对应的致密区块的结构信息返回给中继节点520a,以使中继节点520a再进行完整交易数据的恢复与分发,以至于在不影响核心共识网络的性能的情况下,能够有效减少交易数据在核心共识网络和中继节点520a之间的重复传递,进而可以降低业务网络对核心共识网络的负载依赖,使得数据清分时的清分效率得以提升。
步骤S102,在获取到共识节点返回的结构信息中的目标交易标识符时,在第一中继节点的第一中继缓存中查找与目标交易标识符相匹配的本地交易标识符。
具体地,在第一中继节点获取到共识节点返回的结构信息时,第一中继节点可以从结构信息中获取目标交易标识符时,进而可以在第一中继节点的第一中继缓存中,查找与目标交易标识符相匹配的本地交易标识符。
如图5所示,当共识节点530a将待同步区块对应的致密区块的结构信息(例如,结构信息500x)发送至中继节点520a时,中继节点520a可以从结构信息500x中获取目标交易标识符(例如,交易标识符2f以及交易标识符4f)。进一步地,该中继节点520a可以在中继缓存5000中,分别查找与交易标识符2f相匹配的本地交易标识符、以及与交易标识符4f相匹配的本地交易标识符。
步骤S103,若查找到与目标交易标识符相匹配的本地交易标识符,则在第一中继缓存中,将查找到的本地交易标识符对应的本地交易数据作为第一关键交易数据,基于第一关键交易数据和结构信息中的区块头信息,对成功同步至第一业务节点的第一关键交易数据进行数据清分。
具体地,若查找到与目标交易标识符相匹配的本地交易标识符,则第一中继节点可以在第一中继缓存中,将查找到的本地交易标识符对应的本地交易数据作为第一关键交易数据。进一步地,该第一中继节点可以基于第一关键交易数据以及结构信息,对待同步区块进行验证,且在验证成功时,将第一关键交易数据以及结构信息中的区块头信息发送至第一业务节点,以使第一业务节点基于第一关键交易数据和区块头信息进行区块同步。在第一业务节点完成区块同步时,第一中继节点可以在第一中继缓存中,对第一关键交易数据进行数据清分。
其中,第一中继节点所接收到的结构信息可以包括与目标交易数据相关联的默克尔路径以及该待同步区块的区块头信息。若查找到与目标交易标识符相匹配的本地交易标识符,则第一中继节点可以在第一中继缓存中,将查找到的本地交易标识符对应的本地交易数据作为第一关键交易数据。应当理解,第一中继节点可以获取第一关键交易数据对应的关键交易哈希值以及默克尔路径中的路径哈希值,从而可以确定该待同步区块的待比较树根。进一步地,该第一中继节点可以获取区块头信息中的默克尔树根,将默克尔树根以及待比较树根进行比对,得到比对结果。若比对结果指示默克尔树根与待比较树根不一致,则第一中继节点可以确定待同步区块验证失败。若比对结果指示默克尔树根与待比较树根一致,则第一中继节点可以确定待同步区块验证成功。可以理解的是,在验证成功时,第一中继节点可以将第一关键交易数据以及结构信息中的区块头信息发送至第一业务节点,以使第一业务节点基于第一关键交易数据和区块头信息进行区块同步,且在第一业务节点完成区块同步时,第一中继节点可以在第一中继缓存中,对第一关键交易数据进行数据清分,换言之,第一中继节点可以删除第一中继缓存中的第一关键交易数据。
其中,在第一中继节点因网络状态或者停电等原因掉线时,该第一中继缓存中可能未存储与第一业务节点相关联的初始交易数据,进而导致在数据清分时无法查找到与目标交易标识符相匹配的本地交易标识符。其中,可以理解的是,若未查找到与目标交易标识符相匹配的本地交易标识符,则该第一中继节点可以基于目标交易标识符,生成用于向共识节点发送的交易数据获取请求,以使该共识节点在待同步区块中,获取该目标交易标识符对应的目标交易数据。进一步地,第一中继节点在接收到共识节点返回的目标交易数据时,可以将接收到的目标交易数据作为第二关键交易数据。此时,该第一中继节点可以基于第二关键交易数据以及结构信息,对待同步区块进行验证,且在验证成功时,将区块头信息以及第二关键交易数据发送至第一业务节点,以使第一业务节点基于第二关键交易数据和区块头信息进行区块同步。
比如,图5所示的中继缓存5000中的本地交易数据以及本地交易标识符可以包括交易数据2e以及对应的交易标识符2f,而未包括交易数据4e以及对应的交易标识符4f。因此,对于目标交易标识符中的交易标识符2f而言,图5所示的中继节点520a能够在中继缓存5000中,查找到与交易标识符2f相匹配的本地交易标识符,那么中继节点520a可以在中继缓存5000中,将查找到的本地交易标识符对应的本地交易数据(例如,交易数据2e)作为第一关键交易数据。而对于目标交易标识符中的交易标识符4f而言,图5所示的中继节点520a无法在中继缓存5000中查找到与交易标识符4f相匹配的本地交易标识符,此时,该中继节点520a可以基于该交易标识符4f,生成交易数据获取请求,进而可以将该交易数据获取请求发送至图5所示的共识节点530a。可以理解的是,共识节点530a在获取到交易数据获取请求时,可以从待同步区块中,获取该交易标识符4f对应的目标交易数据(例如,交易数据4e),进而可以将该交易数据4e发送至中继节点520a。进一步地,中继节点520a在接收到共识节点530a返回的交易数据4e时,可以将接收到的交易数据4e作为第二关键交易数据。此时,该中继节点520a可以基于第一关键交易数据(即中继缓存5000中的交易数据2e)、第二关键交易数据(即共识节点530在待同步区块中确定的交易数据4e)以及结构信息500x,对待同步区块进行验证。
在验证成功时,中继节点520a可以将结构信息500x中的区块头信息、第一关键交易数据以及第二关键交易数据一并发送至业务节点510a,以使业务节点510a可以基于接收到的区块头信息、第一关键交易数据以及第二关键交易数据进行区块同步。在区块同步完成时,该中继节点520a可以基于成功同步至业务节点510a的第一关键交易数据(例如,交易数据2e),对中继缓存5000进行数据清分。
在本申请实施例中,区块链网络中的第一中继节点可以集中管理第一业务网络中的第一业务节点,且该第一中继节点可以用于对第一业务网络和核心共识网络进行网络隔离。当第一中继节点接收到该第一业务节点发送的携带目标区块高度的区块同步请求时,可以将致密区块标识以及区块同步请求一并发送至核心共识网络中的共识节点。这里的致密区块标识可以用于指示共识节点基于区块同步请求,确定与目标区块高度相关联的待同步区块,且确定待同步区块对应的致密区块的结构信息。其中,该结构信息可以包括与第一业务节点相关联的目标交易数据对应的目标交易标识符以及待同步区块的区块头信息。可以理解的是,共识节点向第一中继节点传输的是用于表示目标交易数据的目标交易标识符,而非完整的目标交易数据,从而可以有效减少交易数据在第一中继节点和核心共识网络之间的重复传递。此外,第一中继节点的中继缓存(即第一中继缓存)中可以存储有由第一业务节点发送的交易数据(即本地交易数据)以及对应的交易标识符(即本地交易标识符),而无需第一业务节点在各自本地分散存储与自身相关联的交易数据,以至于在第一关键交易数据成功同步至第一业务节点时,第一中继节点能够快速在第一中继缓存中清分该第一关键交易数据,进而提高了数据清分时的清分效率。
进一步地,请参见图6,图6是本申请实施例提供的一种数据处理方法的流程示意图。如图6所示,该方法可以由第一中继节点、第一业务网络中的第一业务节点以及核心共识网络中的共识节点共同执行。该第一中继节点可以为区块链网络中用于进行数据清分的网关节点,例如,图1所示的区块链网络中的节点120a。该第一业务节点可以为第一中继节点集中管理的第一业务网络中的业务节点,例如,图1所示的业务网络中的节点110a。该共识节点可以为核心共识网络中的任意一个节点,例如,图1所示的核心共识网络中的节点130a。该方法至少可以包括以下步骤S201-步骤S207:
步骤S201,第一业务节点向第一中继节点发送携带目标区块高度的区块同步请求;
步骤S202,第一中继节点将致密区块标识以及接收到的区块同步请求发送至共识节点;
步骤S203,共识节点基于接收到区块同步请求,确定与目标区块高度相关联的待同步区块,且确定该待同步区块对应的致密区块的结构信息;
步骤S204,共识节点将结构信息发送至第一中继节点;
步骤S205,第一中继节点在获取到结构信息中的目标交易标识符时,在第一中继节点的第一中继缓存中查找与目标交易标识符相匹配的本地交易标识符,且在第一中继缓存中,将查找到的与目标交易标识符相匹配的本地交易标识符对应的本地交易数据作为第一关键交易数据。
步骤S206,第一中继节点将第一关键交易数据以及结构信息中的区块头信息发送至第一业务节点,以使第一业务节点基于第一关键交易数据以及区块头信息进行区块同步;
步骤S207,在第一业务节点完成区块同步时,第一中继节点在第一中继缓存中,对第一关键交易数据进行数据清分。
其中,该步骤S201-步骤S207的具体实施方式可参见上述图3所对应实施例中对步骤S101-步骤S103的描述,这里将不再赘述。
可以理解的是,第一中继节点在获取到第一业务节点发送的初始交易数据,可以对初始交易数据进行哈希标识转换,以得到初始交易数据对应的初始交易标识符。进一步地,第一中继节点可以将初始交易数据以及初始交易标识符存储至第一中继节点的第一中继缓存,进而可以将存储至第一中继缓存中的初始交易数据作为本地交易数据,且将存储至第一中继缓存中的初始交易标识符作为本地交易标识符。
应当理解,存储至该第一中继缓存中的本地交易数据(例如,交易数据e)可以为跨区域交易数据。比如,该交易数据e是第一业务节点在向第二业务网络中的第二业务节点发送跨区域的电子票据时生成的。其中,第一业务节点与第二业务节点具有不同的区域属性,例如,第一业务节点属于区域A中的业务节点,第二业务节点属于区域B中的业务节点。换言之,第一业务节点所在的第一业务网络与核心共识网络之间的数据交互是通过第一中继节点来实现的,而第二业务节点所在的第二业务网络与核心共识网络之间的数据交互是通过中继节点列表中的另一中继节点(即第二中继节点)来实现的。
因此,第一中继节点在将第一业务节点发送的初始交易数据(例如,交易数据e)以及初始交易数据对应的初始交易标识符存储至第一中继缓存之后,第一中继节点可以将该交易数据e发送至第二中继节点,以使第二中继节点确定该交易数据e对应的交易标识符,且将交易数据e以及交易数据e对应的交易标识符存储至第二中继节点的第二中继缓存。比如,第一中继节点可以基于交易数据e,生成“Cache-TX”消息,进而可以将“Cache-TX”消息转发给第二中继节点。
可以理解的是,第一中继节点(例如,图1所示的节点120a)可以确定第二业务节点的第二地址哈希值(例如,12),进而可以从与区块链网络相关联的网关注册服务中,获取上述表1所示的中继节点列表,进而可以将该中继节点列表中除第一中继节点之外的中继节点作为待处理中继节点。其中,该中继节点列表中的一个待处理中继节点对应一个地址哈希区间,该地址哈希区间中的一个地址哈希值对应第二业务网络中的一个业务节点。此时,第一中继节点可以在表1所示的中继节点列表中,查找该第二地址哈希值所在的地址哈希区间(例如,区间2),进而可以将查找到的地址哈希区间确定为目标地址哈希区间,且在表1所示的中继节点列表中,将目标地址哈希区间对应的待处理中继节点作为与第二业务节点相关联的第二中继节点(例如,节点120b)。进一步地,该第一中继节点可以将已经存储至第一中继缓存中的本地交易数据(例如,交易数据e)发送至第二中继节点,以使第二中继节点能够确定该本地交易数据对应的交易标识符,且将本地交易数据以及本地交易数据对应的交易标识符存储至第二中继节点的第二中继缓存。其中,第二中继节点确定本地交易数据对应的交易标识符的具体实施方式可以参见上述第一中继节点确定初始交易数据对应的初始交易标识符的具体实施方式,这里将不再继续进行赘述。
进一步地,在第一中继节点将该交易数据e(即本地交易数据)发送至第二中继节点之后,第一中继节点可以将交易数据e发送至核心共识网络中的M个共识节点,且在共识节点达成共识时,将交易数据e写入至核心共识网络的目标区块链。
为便于理解,进一步地,请参见图7,图7是本申请实施例提供的一种上链交易数据的场景示意图。如图7所示,本申请实施例中的业务节点710a(即第一业务节点)可以用于在第一业务网络中执行交易业务,以生成交易数据(例如,图7所示的交易数据7e),例如,该业务节点710a可以为上述图1所示的业务网络中的节点110a。图7所示的中继节点720a可以为业务节点710a基于中继节点列表所确定的第一中继节点,例如,该中继节点720a可以为上述图1所示的区块链网络中的节点120a。图7所示的中继节点720b可以为中继节点720a基于该中继节点列表所确定的第二中继节点,例如,该中继节点720b可以为上述图1所示的区块链网络中的节点120b。图7所示的共识节点730a可以为核心共识网络中的任意一个共识节点,例如,该共识节点730a可以为上述图1所示的核心共识网络中的节点130a。
其中,中继节点720a集中管理的第一业务网络中的第一业务节点的区域属性可以为图7所示的区域A,中继节点720b集中管理的第二业务网络中的第二业务节点的区域属性可以为图7所示的区域B。例如,在电子票据场景中,某一企业(例如,处于区域B的企业)的员工(例如,采购部的员工)在出差地(例如,处于区域A的商家)进行就餐或者购买材料时,可以得到与此次消费相关联的电子票据。换言之,出差地所在的开票服务商对应的终端设备(例如,图7所示的业务节点710a)可以向员工对应的终端设备(即第二业务节点)发送跨区域的电子票据,此时,业务节点710a可以在执行该电子票据的转移业务时,能够根据转移后所得到的交易执行结果生成初始交易数据(例如,图7所示的交易数据7e)。
可以理解的是,业务节点710a可以从与区块链网络相关联的网关注册服务中,获取包括N个中继节点的中继节点列表,以从这N个中继节点中确定用于指示业务节点710a与核心共识网络之间进行数据交互的中继节点(例如,图7所示的中继节点720a)。应当理解,在中继节点720a接收到该交易数据7e时,可以确定该交易数据7e对应的交易标识符,进而可以将该交易数据7e以及该交易数据7e对应的交易标识符存储至该中继节点720a的中继缓存(即第一中继缓存,例如,图7所示的中继缓存7000a)。此时,本申请实施例可以将存储至中继缓存7000a中的交易数据7e作为本地交易数据,将存储至中继缓存7000a中的交易数据7e对应的交易标识符作为本地交易标识符。
进一步地,中继节点720a在将交易数据7e以及交易数据7e对应的交易标识符存储至中继缓存7000a之后,可以根据与交易数据7e相关联的第二业务节点,在中继节点列表中确定用于指示第二业务节点与核心共识网络之间进行数据交互的中继节点(即第二中继节点,例如,图7所示的中继节点720b)。其中,中继节点720a确定中继节点720b的具体实施方式可以参见上述第一业务节点确定第一中继节点的具体实施方式,这里将不再继续进行赘述。
此时,中继节点720a可以将该交易数据7e发送至中继节点720b。中继节点720b在接收到该交易数据7e时,可以确定该交易数据7e对应的交易标识符,进而可以将交易数据7e以及该交易数据7e对应的交易标识符存储至中继节点720b的节点缓存(即第二中继缓存,例如,图7所示的中继缓存7000b)。
进一步地,在中继节点720a将该交易数据7e发送至中继节点720b之后,中继节点720a还可以将交易数据7e发送至核心共识网络中的M个共识节点,且在共识节点达成共识时,将交易数据7e写入至核心共识网络的目标区块链。其中,M是指核心共识网络中的共识节点的总数量,且M为大于或者等于3的正整数。
其中,可以理解的是,图7所示的区块链7可以为核心共识网络的目标区块链。该区块链7可以为核心共识网络中的每个共识节点均共享的一条相同的区块链,每个共识节点均可以在区块链7中获取该区块链所存储的信息。其中,该区块链7中包括区块70a、区块70b、…、区块70n以及目标区块。例如,该区块70a可以称之为该区块链7的创世区块。该区块链7中的目标区块中包含着中继节点720a所转发的交易数据7e。
其中,核心共识网络中的共识节点730a能够将该交易数据7e写入该区块链7。换言之,该共识节点730a可以从该区块链7中获取具有最大生成时间戳的区块70n。进一步地,共识节点730a可以对交易数据7e进行打包处理,以得到待写入至区块链7的待验证区块。进一步地,该共识节点730a可以将待验证区块广播至核心共识网络中的M个共识节点,以使这M个共识节点对获取到的待验证区块进行共识,得到共识结果。若在这M个共识节点所返回的共识结果中存在超过1/2的共识结果指示共识成功,则共识节点730a可以确定核心共识网络中的共识节点达成共识,进而可以将该待验证区块作为目标区块,以写入上述区块链7中,也就是将该目标区块作为区块70n的下一区块。
其中,可以理解的是,共识节点730a在将交易数据7e成功写入区块链7时,可以将区块链7上的最大块高通过中继节点720a返回至中继节点720a集中管理的第一业务网络中的第一业务节点,以使第一业务节点进行区块同步,且在区块同步完成时,能够在中继缓存7000a中对成功同步至第一业务节点的第一关键交易数据进行数据清分。同理,该共识节点730a还可以将区块链7上的最大块高通过中继节点720b返回至中继节点720b集中管理的第二业务网络中的第二业务节点,以使第二业务节点进行区块同步,且在区块同步完成时,能够在中继缓存7000b中对成功同步至第二业务节点的交易数据进行数据清分。由此可见,采用本申请实施例可以提高数据清分时的清分效率。
为便于理解,进一步地,请参见图8,图8是本申请实施例提供的一种区块链电子票据场景下的系统架构图。如图8所示,本申请实施例中的业务层、路由代理层以及核心共识网络层组成了整个完整区块链业务体系。图8所示的核心链1、核心链2、…、以及核心链N分别为不同区域的税局所维护的目标区块链。例如,本申请实施例中的初始交易数据(例如,交易数据e)可以为在执行电子票据转移业务时所生成的交易数据。
可以理解的是,当区块链被用于政府(例如,税务系统)或者商业机构的一些场景中,为了提高数据的保密性和安全性,在区块链体系中涉及个人隐私或者国家安全等相关数据时,可以采用本申请实施例中的“业务网络—核心共识网络”这一分层区块链结构。
其中,业务层处于见证网络(即业务网络)中,该业务层中的业务节点可以包括电子税局对应的终端设备、企业用户对应的终端设备以及消费用户对应的终端设备。其中,电子税局可以是指税局专网中的地方税局,企业用户可以为公有云中的开票服务商、报销服务商或者零售企业(例如,KA企业,即大型零售客户和重点零售客户企业)等,消费用户可以为私有云中的支付服务商、流转服务商或者零售企业等。其中,第一业务网络中的第一业务节点主要用于执行交易业务,不参与记账共识。可以理解的是,第一业务节点能够在执行电子票据转移业务时,生成用于向第一中继节点发送的初始交易数据。此外,该第一业务节点还可以在通过第一中继节点接收到由核心共识网络发送的目标区块链上的最大块高时,基于由目标区块链上的最大块高和本地区块链上的最大块高确定的目标区块高度,生成用于进行区块同步的业务请求(即区块同步请求)。
其中,核心共识网络层中的共识节点(即记账节点)可以为税务专网中的可信节点。可以理解的是,每个共识节点均具有打包出块的能力,即可以对第一中继节点发送的交易数据进行打包出块,以成功写入核心共识网络层中的目标区块链中。此外,共识节点还可以用于生成待同步区块对应的致密区块的结构信息。
其中,路由代理层中的N个中继节点(即网关节点)可以用于对业务层和核心共识网络层进行网络隔离。比如,第一中继节点(中继节点列表中的某一中继节点)可以用于在区块链网络中对第一业务网络与核心共识网络进行网络隔离,而第二中继节点(中继节点列表中的另一中继节点)可以用于在区块链网络中对第二业务网络与核心共识网络进行网络隔离。其中,每个中继节点可以具有点对点服务(即P2P服务),路由服务、证书缓存、认证服务。可以理解的是,点对点服务是指在P2P网络中的服务,基于一类特定的网络协议,P2P网络中的网络节点之间不需要一个中心节点来维护网络状态,而是每个节点通过和相邻节点的广播交互来维护全网的节点状态或者是其相邻节点连接状态。路由服务是节点具有的基本功能,可以用于节点之间的通信。与证书缓存相关联的证书,可以指公钥证书体系(Public Key Infrastructure,简称PKI),在证书体系中,证书是一个公钥拥有者的身份证明,由权威机构进行颁发(CA)。基于公钥证书体系可以实现非对称加密和对于信息的数字签名。这里的公钥证书体系可以包括公私钥密码,x508证书,CA证书签发中心等等。认证服务可以用于验证接收到的数据的数据格式、节点合法性等。可以理解的是,在本申请实施例中,第一中继节点的第一中继缓存中可以存储有与第一业务节点相关联的交易数据以及交易数据对应的交易标识符。可以理解的是,在数据清分过程中,第一中继节点可以将接收到的第一业务节点发送的区块同步请求以及致密区块标识发送至核心共识网络层中的共识节点,以使共识节点基于区块同步请求,快速确定待同步区块对应的致密区块的结构信息。其中,共识节点向第一中继节点传输的是用于表示目标交易数据的目标交易标识符,而非完整的目标交易数据,因此可以有效减少交易数据在第一中继节点与核心共识网络之间的重复传递,进而可以提升数据清分时的清分效率。
进一步地,请参见图9,图9是本申请实施例提供的一种数据处理装置的结构示意图。该数据处理装置1可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如,该数据处理装置1为一个应用软件;该数据处理装置1可以用于执行本申请实施例提供的方法中的相应步骤。如图9所示,该数据处理装置1可以运行于区块链网络中的第一中继节点,该第一中继节点可以为上述图2所对应实施例中的中继节点220a。该数据处理装置1可以包括:请求发送模块11,查找模块12,清分模块13,初始交易获取模块14,初始标识符确定模块15,存储模块16,地址哈希值确定模块17,中继列表获取模块18,中继节点确定模块19,第一本地交易发送模块20,第二本地交易发送模块21,加密处理模块22,加密信息发送模块23,最大块高接收模块24,最大块高返回模块25,交易获取请求生成模块26,交易确定模块27以及关键交易发送模块28。
该请求发送模块11,用于在接收到第一业务节点发送的携带目标区块高度的区块同步请求时,将致密区块标识以及区块同步请求发送至核心共识网络中的共识节点;目标区块高度是第一业务节点基于本地区块链上的最大块高、和核心共识网络的目标区块链上的最大块高所确定的;第一业务节点为第一中继节点集中管理的第一业务网络中的业务节点;第一中继节点用于在区块链网络中对第一业务网络和核心共识网络进行网络隔离;致密区块标识用于指示共识节点基于区块同步请求确定与目标区块高度相关联的待同步区块,且确定待同步区块对应的致密区块的结构信息。
其中,该请求发送模块11包括:同步请求接收单元111,标识信息查找单元112以及清分请求发送单元113。
该同步请求接收单元111,用于接收第一业务节点发送的携带目标区块高度的区块同步请求;区块同步请求携带第一业务节点的节点标识信息;
该标识信息查找单元112,用于获取非法节点标识列表,在非法节点标识列表中查询与节点标识信息相匹配的非法节点标识信息;
该清分请求发送单元113,用于若在非法节点标识列表中未查询到与节点标识信息相匹配的非法节点标识信息,则基于致密区块标识以及区块同步请求,生成用于进行数据清分的清分请求,将清分请求发送至核心共识网络中的共识节点。
其中,该同步请求接收单元111,标识信息查找单元112以及清分请求发送单元113的具体实现方式可以参见上述图3所对应实施例中对步骤S101的描述,这里将不再继续进行赘述。
该查找模块12,用于在获取到共识节点返回的结构信息中的目标交易标识符时,在第一中继节点的第一中继缓存中查找与目标交易标识符相匹配的本地交易标识符;目标交易标识符是共识节点对与第一业务节点相关联的目标交易数据进行哈希标识转换后所确定的;
该清分模块13,用于若查找到与目标交易标识符相匹配的本地交易标识符,则在第一中继缓存中,将查找到的本地交易标识符对应的本地交易数据作为第一关键交易数据,基于第一关键交易数据和结构信息中的区块头信息,对成功同步至第一业务节点的第一关键交易数据进行数据清分。
其中,该清分模块13包括:关键交易确定单元131,区块验证单元132,信息发送单元133以及清分单元134。
该关键交易确定单元131,用于若查找到与目标交易标识符相匹配的本地交易标识符,则在第一中继缓存中,将查找到的本地交易标识符对应的本地交易数据作为第一关键交易数据;
该区块验证单元132,用于基于第一关键交易数据以及结构信息,对待同步区块进行验证。
其中,结构信息包括与目标交易数据相关联的默克尔路径以及待同步区块的区块头信息;
该区块验证单元132包括:待比较树根确定子单元1321,比对结果确定子单元1322,成功验证子单元1323以及失败验证子单元1324。
该待比较树根确定子单元1321,用于获取第一关键交易数据对应的关键交易哈希值以及默克尔路径中的路径哈希值,确定待同步区块的待比较树根;
该比对结果确定子单元1322,用于获取区块头信息中的默克尔树根,将默克尔树根以及待比较树根进行比对,得到比对结果;
该成功验证子单元1323,用于若比对结果指示默克尔树根与待比较树根一致,则确定待同步区块验证成功;
该失败验证子单元1324,用于若比对结果指示默克尔树根与待比较树根不一致,则确定待同步区块验证失败。
其中,该待比较树根确定子单元1321,比对结果确定子单元1322,成功验证子单元1323以及失败验证子单元1324的具体实现方式可以参见上述图3所对应实施例中对待验证区块进行验证的描述,这里将不再继续进行赘述。
该信息发送单元133,用于在验证成功时,将第一关键交易数据以及结构信息中的区块头信息发送至第一业务节点,以使第一业务节点基于第一关键交易数据和区块头信息进行区块同步;
该清分单元134,用于在第一业务节点完成区块同步时,在第一中继缓存中,对第一关键交易数据进行数据清分。
其中,该关键交易确定单元131,区块验证单元132,信息发送单元133以及清分单元134的具体实现方式可以参见上述图3所对应实施例中对步骤S103的描述,这里将不再继续进行赘述。
该初始交易获取模块14,用于获取第一业务节点基于中继节点列表发送的初始交易数据;中继节点列表包括N个中继节点;N为正整数;第一中继节点是由第一业务节点根据第一业务节点的第一地址哈希值从N个中继节点中确定的;
该初始标识符确定模块15,用于获取针对初始交易数据的第一标识符确定规则,基于第一标识符确定规则,对初始交易数据进行哈希标识转换,得到初始交易数据对应的初始交易标识符;
该存储模块16,用于将初始交易数据以及初始交易标识符存储至第一中继缓存,将存储至第一中继缓存中的初始交易数据作为本地交易数据,且将存储至第一中继缓存中的初始交易标识符作为本地交易标识符。
其中,第一地址哈希值是第一业务节点基于第一业务节点的区域属性所确定的;本地交易数据是第一业务节点在向第二业务网络中的第二业务节点发送跨区域的电子票据时生成的;第一业务节点与第二业务节点具有不同的区域属性;
该地址哈希值确定模块17,用于确定第二业务节点的第二地址哈希值;
该中继列表获取模块18,用于从与区块链网络相关联的网关注册服务中,获取中继节点列表,在中继节点列表中将除第一中继节点之外的中继节点作为待处理中继节点;中继节点列表中的一个待处理中继节点对应一个地址哈希区间;地址哈希区间中的一个地址哈希值对应第二业务网络中的一个业务节点;
该中继节点确定模块19,用于在中继节点列表中查找第二地址哈希值所在的地址哈希区间,将查找到的地址哈希区间确定为目标地址哈希区间,且在中继节点列表中将目标地址哈希区间对应的待处理中继节点作为与第二业务节点相关联的第二中继节点;
该第一本地交易发送模块20,用于将本地交易数据发送至第二中继节点,以使第二中继节点确定本地交易数据对应的交易标识符,且将本地交易数据以及本地交易数据对应的交易标识符存储至第二中继节点的第二中继缓存。
其中,共识节点的数量为M个;M为大于或者等于3的正整数;
该第二本地交易发送模块21,用于将本地交易数据发送给M个共识节点,以使M个共识节点在达成共识时,将本地交易数据写入至目标区块链。
该加密处理模块22,用于获取核心共识网络的系统公钥,基于系统公钥对本地交易数据进行加密处理,得到系统加密数据信息;
该加密信息发送模块23,用于将系统加密数据信息发送至共识节点,以使共识节点基于系统公钥对应的系统私钥,对系统加密数据信息进行解密处理,得到本地交易数据;
该最大块高接收模块24,用于在共识节点将包括本地交易数据的目标区块成功写入目标区块链时,接收共识节点所返回的目标区块链上的最大块高;目标区块链上的最大块高为目标区块的区块块高;
该最大块高返回模块25,用于基于第一中继节点的节点私钥,对目标区块链上的最大块高进行签名处理,得到数据签名信息,且将数据签名信息和目标区块链上的最大块高返回至第一业务节点,以使第一业务节点在成功验证数据签名信息时,基于目标区块链上的最大块高以及本地区块链上的最大块高,确定目标区块高度,且基于目标区块高度生成用于指示共识节点进行区块同步的区块同步请求。
该交易获取请求生成模块26,用于若未查找到与目标交易标识符相匹配的本地交易标识符,则基于目标交易标识符生成用于向共识节点发送的交易数据获取请求;交易数据获取请求用于指示共识节点在待同步区块中,获取目标交易标识符对应的目标交易数据;
该交易确定模块27,用于在接收到共识节点返回的目标交易数据时,将接收到的目标交易数据作为第二关键交易数据;
该关键交易发送模块28,用于基于第二关键交易数据以及结构信息,对待同步区块进行验证,且在验证成功时,将区块头信息以及第二关键交易数据发送至第一业务节点,以使第一业务节点基于第二关键交易数据和区块头信息进行区块同步。
其中,该请求发送模块11,查找模块12,清分模块13,初始交易获取模块14,初始标识符确定模块15,存储模块16,地址哈希值确定模块17,中继列表获取模块18,中继节点确定模块19,第一本地交易发送模块20,第二本地交易发送模块21,加密处理模块22,加密信息发送模块23,最大块高接收模块24,最大块高返回模块25,交易获取请求生成模块26,交易确定模块27以及关键交易发送模块28的具体实现方式可以参见上述图3所对应实施例中对步骤S101-步骤S103的描述,这里将不再继续进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
进一步地,请参见图10,图10是本申请实施例提供的一种数据处理装置的结构示意图。该数据处理装置2可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如,该数据处理装置2为一个应用软件;该数据处理装置2可以用于执行本申请实施例提供的方法中的相应步骤。如图10所示,该数据处理装置2可以运行于核心共识网络中的共识节点,该共识节点可以为上述图2所对应实施例中的共识节点230a。该数据处理装置2可以包括:结构信息确定模块100以及结构信息发送模块200。
该结构信息确定模块100,用于在接收到第一中继节点发送的致密区块标识以及携带目标区块高度的区块同步请求时,基于区块同步请求确定与目标区块高度相关联的待同步区块,且确定待同步区块对应的致密区块的结构信息;目标区块高度是第一业务节点基于本地区块链上的最大块高、和核心共识网络的目标区块链上的最大块高所确定的;第一业务节点为第一中继节点集中管理的第一业务网络中的业务节点;第一中继节点用于在区块链网络中对第一业务网络和核心共识网络进行网络隔离;结构信息包括目标交易标识符;目标交易标识符是对与第一业务节点相关联的目标交易数据进行哈希标识转换后所确定的。
其中,该结构信息确定模块100包括:接收单元1010,目标交易确定单元1020,目标标识符确定单元1030,获取单元1040以及结构信息确定单元1050。
该接收单元1010,用于接收第一中继节点发送的致密区块标识以及携带目标区块高度的区块同步请求;区块同步请求携带第一业务节点的节点标识信息;
该目标交易确定单元1020,用于在核心共识网络的目标区块链中,将与目标区块高度相关联的区块作为待同步区块,且在待同步区块中,将与节点标识信息相关联的交易数据作为目标交易数据;
该目标标识符确定单元1030,用于获取针对目标交易数据的第二标识符确定规则,基于第二标识符确定规则,对目标交易数据进行哈希标识转换,得到目标交易数据对应的目标交易标识符;
该获取单元1040,用于从待同步区块中,获取待同步区块的区块头信息以及与目标交易数据相关联的默克尔路径;
该结构信息确定单元1050,用于基于区块头信息、默克尔路径以及目标交易标识符,确定待同步区块对应的致密区块的结构信息。
其中,该接收单元1010,目标交易确定单元1020,目标标识符确定单元1030,获取单元1040以及结构信息确定单元1050的具体实现方式可以参见上述图3所对应实施例中对待同步区块对应的致密区块的结构信息的描述,这里将不再继续进行赘述。
该结构信息发送模块200,用于将结构信息发送至第一中继节点;结构信息用于指示第一中继节点在第一业务节点成功同步第一关键交易数据以及结构信息中的区块头信息时,对第一关键交易数据进行数据清分;第一关键交易数据为第一中继节点在第一中继节点的第一中继缓存中,查找到的与目标交易标识符相匹配的本地交易标识符对应的本地交易数据。
其中,该结构信息确定模块100以及结构信息发送模块200的具体实现方式可以参见上述图6所对应实施例中对步骤S201-步骤S207的描述,这里将不再继续进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
进一步地,请参见图11,图11是本申请实施例提供的一种计算机设备的示意图。如图11所示,该计算机设备3000可以包括:至少一个处理器3001,例如CPU,至少一个网络接口3004,用户接口3003,存储器3005,至少一个通信总线3002。其中,通信总线3002用于实现这些组件之间的连接通信。其中,用户接口3003可以包括显示屏(Display)、键盘(Keyboard),网络接口3004可选地可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器3005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储3005可选地还可以是至少一个位于远离前述处理器3001的存储装置。如图11所示,作为一种计算机存储介质的存储器3005可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图11所示的计算机设备3000中,网络接口3004主要用于进行网络通信;而用户接口3003主要用于为用户提供输入的接口;而处理器3001可以用于调用存储器3005中存储的设备控制应用程序。
应当理解,本申请实施例中所描述的计算机设备3000可执行前文图3或者图6所对应实施例中对该数据处理方法的描述,也可执行前文图9所对应实施例中对该数据处理装置1或者图10所对应实施例中对该数据处理装置2的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且该计算机可读存储介质中存储有前文提及的数据处理装置1或者数据处理装置2所执行的计算机程序,且该计算机程序包括程序指令,当该处理器执行该程序指令时,能够执行前文图3或者图6所对应实施例中对该数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,程序指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行,分布在多个地点且通过通信网络互连的多个计算设备可以组成区块链系统。
本申请一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备可执行前文图3或者图6所对应实施例中对数据处理方法的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
进一步的,请参见图12,图12是本申请实施例提供的一种数据处理系统的结构示意图。该数据处理系统3可以包含数据处理装置1a和数据处理装置2a。其中,数据处理装置1a可以为上述图9所对应实施例中的数据处理装置1,可以理解的是,该数据处理装置1a可以集成在上述图2所对应实施例中的中继节点220a,因此,这里将不再进行赘述。其中,数据处理装置2a可以为上述图10所对应实施例中的数据处理装置2,可以理解的是,该数据处理装置2a可以集成在上述图2所对应实施例中的共识节点230a,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的数据处理系统实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

Claims (15)

1.一种数据处理方法,其特征在于,包括:
第一业务网络中的第一业务节点基于本地区块链上的最大块高和核心共识网络的目标区块链上的最大块高,确定目标区块高度,且将携带所述目标区块高度的区块同步请求发送至用于集中管理所述第一业务节点的第一中继节点;所述第一中继节点用于在区块链网络中对所述第一业务网络和所述核心共识网络进行网络隔离;
所述第一中继节点在接收到所述区块同步请求时,将致密区块标识以及所述区块同步请求发送至所述核心共识网络中的共识节点;
所述共识节点基于所述区块同步请求确定与所述目标区块高度相关联的待同步区块,且确定所述待同步区块对应的致密区块的结构信息,将所述结构信息返回至所述第一中继节点;所述结构信息包括目标交易标识符;所述目标交易标识符是所述共识节点基于针对目标交易数据的第二哈希标识规则,对所述目标交易数据进行哈希标识转换后所确定的;所述目标交易数据为与所述第一业务节点相关联的交易数据;
所述第一中继节点在获取到所述目标交易标识符时,在所述第一中继节点的第一中继缓存中,查找与所述目标交易标识符相匹配的本地交易标识符;
若查找到与所述目标交易标识符相匹配的本地交易标识符,则所述第一中继节点在所述第一中继缓存中,将查找到的本地交易标识符对应的本地交易数据作为第一关键交易数据,基于所述第一关键交易数据和所述结构信息中的区块头信息,对成功同步至所述第一业务节点的所述第一关键交易数据进行数据清分。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一业务节点在生成初始交易数据时,基于所述第一业务节点的区域属性,确定所述第一业务节点的第一地址哈希值;所述初始交易数据为所述第一业务节点在执行交易业务时,根据所述交易业务的交易执行结果所得到的交易数据;
所述第一业务节点从与所述区块链网络相关联的网关注册服务中,获取包括N个中继节点的中继节点列表;所述N为正整数;所述中继节点列表中的一个中继节点对应一个地址哈希区间;
所述第一业务节点在所述中继节点列表中,确定所述第一地址哈希值所在的地址哈希区间,且将确定到的地址哈希区间对应的中继节点作为第一中继节点;
所述第一业务节点将所述初始交易数据发送至所述第一中继节点。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述第一中继节点在接收到所述第一业务节点发送的所述初始交易数据时,获取针对所述初始交易数据的第一标识符确定规则,基于所述第一标识符确定规则中的第一哈希规则和第二哈希规则,对所述初始交易数据进行哈希标识转换,得到所述初始交易数据对应的初始交易标识符;所述第一哈希规则不同于所述第二哈希规则;
所述第一中继节点将所述初始交易数据以及所述初始交易标识符存储至所述第一中继缓存,将存储至所述第一中继缓存中的所述初始交易数据作为所述本地交易数据,且将存储至所述第一中继缓存中的所述初始交易标识符作为所述本地交易标识符。
4.根据权利要求3所述的方法,其特征在于,所述第一中继节点在接收到所述第一业务节点发送的所述初始交易数据时,获取针对所述初始交易数据的第一标识符确定规则,基于所述第一标识符确定规则中的第一哈希规则和第二哈希规则,对所述初始交易数据进行哈希标识转换,得到所述初始交易数据对应的初始交易标识符,包括:
所述第一中继节点在接收到所述第一业务节点发送的所述初始交易数据时,获取针对所述初始交易数据的第一标识符确定规则;所述第一标识符确定规则包括第一哈希规则和第二哈希规则;
所述第一中继节点基于所述第一哈希规则,对所述初始交易数据进行第一哈希转换,得到所述初始交易数据对应的第一哈希值;
所述第一中继节点基于所述第二哈希规则,对所述第一哈希值进行第二哈希转换,得到所述初始交易数据对应的第二哈希值,且基于所述第二哈希值以及所述第二哈希规则所关联的哈希字节数,得到所述初始交易数据对应的初始交易标识符。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述共识节点接收所述第一中继节点发送的系统加密数据信息;所述系统加密数据信息为所述第一中继节点基于所述核心共识网络的系统公钥,对所述本地交易数据进行加密处理后所得到的;
所述共识节点基于所述系统公钥对应的系统私钥,对所述系统加密数据信息进行解密处理,得到所述本地交易数据;
所述共识节点对所述本地交易数据进行打包处理,得到待写入至所述目标区块链中的待验证区块,将所述待验证区块广播至所述核心共识网络,得到所述待验证区块的共识结果;
在所述共识结果中存在超过1/2的共识结果指示共识成功时,所述共识节点将所述待验证区块作为所述目标区块,且将所述目标区块写入所述目标区块链;所述目标区块的区块块高为所述目标区块链上的最大块高。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在所述共识节点将包括所述本地交易数据的目标区块成功写入所述目标区块链时,所述共识节点获取所述目标区块链上的最大块高;
所述共识节点将所述目标区块链上的最大块高返回至所述第一中继节点。
7.根据权利要求6所述的方法,其特征在于,所述本地交易数据是所述第一业务节点在向第二业务网络中的第二业务节点发送跨区域的电子票据时生成的;所述第一业务节点与所述第二业务节点具有不同的区域属性;所述第二业务网络通过不同于所述第一中继节点的第二中继节点与所述核心共识网络之间进行数据交互;
所述方法还包括:
所述共识节点将所述目标区块链上的最大块高返回至所述第二中继节点。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
所述第二中继节点在获取到所述目标区块链上的最大块高时,将所述目标区块链上的最大块高返回至所述第二业务节点,以使所述第二业务节点进行区块同步;
在所述第二业务节点区块同步完成时,所述第二中继节点在所述第二中继节点的第二中继缓存中,对成功同步至所述第二业务节点的交易数据进行数据清分。
9.根据权利要求1所述的方法,其特征在于,所述第一业务网络中的第一业务节点基于本地区块链上的最大块高和核心共识网络的目标区块链上的最大块高,确定目标区块高度,且将携带所述目标区块高度的区块同步请求发送至用于集中管理所述第一业务节点的第一中继节点,包括:
第一业务网络中的第一业务节点通过用于集中管理所述第一业务节点的第一中继节点,接收数据签名信息以及核心共识网络的目标区块链上的最大块高;所述数据签名信息为所述第一中继节点在获取到所述共识节点返回的所述目标区块链上的最大块高时,基于所述第一中继节点的节点私钥,对所述目标区块链上的最大块高进行签名处理后所得到的;
所述第一业务节点基于所述第一中继节点的节点公钥,对所述数据签名信息进行验签,得到验签结果;
在所述验签结果指示验签成功时,所述第一业务节点获取所述本地区块链上的最大块高,且基于所述目标区块链上的最大块高以及所述本地区块链上的最大块高,确定所述目标区块高度;
所述第一业务节点基于所述目标区块高度以及所述第一业务节点的节点标识信息,生成用于指示所述共识节点进行区块同步的区块同步请求,且将所述区块同步请求发送至所述第一中继节点。
10.根据权利要求9所述的方法,其特征在于,所述第一业务节点基于所述第一中继节点的节点公钥,对所述数据签名信息进行验签,得到验签结果,包括:
所述第一业务节点获取所述第一中继节点的节点公钥,基于所述节点公钥对所述数据签名信息中的数字签名进行验签,得到验签后的摘要信息;
所述第一业务节点获取所述第一中继节点在确定所述目标区块链上的最大块高的摘要信息时的哈希算法,基于所述哈希算法对所述目标区块链上的最大块高进行哈希计算,得到哈希计算后的摘要信息;
所述第一业务节点将所述验签后的摘要信息与所述哈希计算后的摘要信息进行比对,得到验签结果。
11.根据权利要求10所述的方法,其特征在于,所述第一业务节点将所述验签后的摘要信息与所述哈希计算后的摘要信息进行比对,得到验签结果,包括:
所述第一业务节点将所述验签后的摘要信息与所述哈希计算后的摘要信息进行比对;
若所述验签后的摘要信息与所述哈希计算后的摘要信息不相同,则所述第一业务节点得到用于指示验签失败的验签结果;
若所述验签后的摘要信息与所述哈希计算后的摘要信息相同,则所述第一业务节点得到用于指示验签成功的验签结果。
12.根据权利要求1所述的方法,其特征在于,所述第一中继节点在获取到所述目标交易标识符时,在所述第一中继节点的第一中继缓存中,查找与所述目标交易标识符相匹配的本地交易标识符,包括:
所述第一中继节点在接收到所述共识节点返回的结构信息时,从所述结构信息中获取所述目标交易标识符;
所述第一中继节点在所述第一中继缓存包括的数据集中,获取与所述第一业务节点相关联的数据集,且在获取到的数据集中查找与所述目标交易标识符相匹配的本地交易标识符。
13.根据权利要求12所述的方法,其特征在于,所述若查找到与所述目标交易标识符相匹配的本地交易标识符,则所述第一中继节点在所述第一中继缓存中,将查找到的本地交易标识符对应的本地交易数据作为第一关键交易数据,基于所述第一关键交易数据和所述结构信息中的区块头信息,对成功同步至所述第一业务节点的所述第一关键交易数据进行数据清分,包括:
若所述第一中继节点在所述获取到的数据集中,查找到与所述目标交易标识符相匹配的本地交易标识符,则所述第一中继节点在所述获取到的数据集中,将查找到的本地交易标识符对应的本地交易数据作为第一关键交易数据;
所述第一中继节点基于所述第一关键交易数据以及所述结构信息,对所述待同步区块进行验证,且在验证成功时,将所述第一关键交易数据以及所述结构信息中的区块头信息发送至所述第一业务节点,以使所述第一业务节点基于所述第一关键交易数据和所述区块头信息进行区块同步;
在所述第一业务节点完成区块同步时,在所述第一中继缓存中,对所述第一关键交易数据进行数据清分。
14.一种计算机设备,其特征在于,包括:处理器和存储器;
所述处理器与存储器相连,其中,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1-13任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1-13任一项所述的方法。
CN202110518756.5A 2021-03-16 2021-03-16 一种数据处理方法、装置、设备及存储介质 Active CN113190622B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110518756.5A CN113190622B (zh) 2021-03-16 2021-03-16 一种数据处理方法、装置、设备及存储介质

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110283314.7A CN112667749B (zh) 2021-03-16 2021-03-16 一种数据处理方法、装置、设备及存储介质
CN202110518756.5A CN113190622B (zh) 2021-03-16 2021-03-16 一种数据处理方法、装置、设备及存储介质

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN202110283314.7A Division CN112667749B (zh) 2021-03-16 2021-03-16 一种数据处理方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN113190622A CN113190622A (zh) 2021-07-30
CN113190622B true CN113190622B (zh) 2022-08-09

Family

ID=75399396

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202110518756.5A Active CN113190622B (zh) 2021-03-16 2021-03-16 一种数据处理方法、装置、设备及存储介质
CN202110283314.7A Active CN112667749B (zh) 2021-03-16 2021-03-16 一种数据处理方法、装置、设备及存储介质

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202110283314.7A Active CN112667749B (zh) 2021-03-16 2021-03-16 一种数据处理方法、装置、设备及存储介质

Country Status (4)

Country Link
US (1) US20230087138A1 (zh)
EP (1) EP4202723A1 (zh)
CN (2) CN113190622B (zh)
WO (1) WO2022193985A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113190622B (zh) * 2021-03-16 2022-08-09 腾讯科技(深圳)有限公司 一种数据处理方法、装置、设备及存储介质
CN112995211B (zh) * 2021-04-21 2021-07-23 腾讯科技(深圳)有限公司 基于区块链网络的数据处理方法、装置、设备及存储介质
CN112950211B (zh) * 2021-05-14 2021-07-30 腾讯科技(深圳)有限公司 一种交易验重方法、装置、设备以及介质
CN113935835B (zh) * 2021-06-15 2022-08-26 腾讯科技(深圳)有限公司 一种交易数据处理方法、装置、设备及存储介质
CN113259130B (zh) * 2021-06-21 2021-09-14 腾讯科技(深圳)有限公司 一种交易数据处理方法、装置、设备以及介质
CN113657900B (zh) * 2021-07-13 2024-03-22 中国人民银行数字货币研究所 一种跨链交易验证方法、系统以及跨链交易系统
CN117010889A (zh) * 2022-04-27 2023-11-07 腾讯科技(深圳)有限公司 数据处理方法、装置及设备、介质、产品
CN117130823A (zh) * 2022-05-19 2023-11-28 腾讯科技(深圳)有限公司 基于区块链网络的数据处理方法及相关产品
CN116347435B (zh) * 2023-01-05 2024-01-23 深圳市昂星科技有限公司 一种行车数据采集方法及系统
CN116208624B (zh) * 2023-05-05 2023-07-07 中航信移动科技有限公司 一种跨环境的区块链节点通讯方法、电子设备及存储介质
CN116886444B (zh) * 2023-09-05 2023-12-05 腾讯科技(深圳)有限公司 跨链数据处理方法、装置、计算机、存储介质及程序产品
CN117056131B (zh) * 2023-10-11 2024-01-26 腾讯科技(深圳)有限公司 基于区块链网络的数据处理方法及相关设备
CN117834656A (zh) * 2024-03-06 2024-04-05 广州优刻谷科技有限公司 一种边缘计算跨域同步方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10579974B1 (en) * 2015-02-16 2020-03-03 AI Coin Inc. Systems, methods, and program products for a distributed digital asset network with rapid transaction settlements
CN110866753A (zh) * 2019-10-24 2020-03-06 腾讯科技(深圳)有限公司 一种第三方结算的控制方法、装置、电子设备和存储介质
CN111416808A (zh) * 2020-03-13 2020-07-14 财付通支付科技有限公司 跨区块链的数据互存方法、装置、设备及存储介质
CN111935315A (zh) * 2020-09-25 2020-11-13 支付宝(杭州)信息技术有限公司 区块同步方法及装置
CN112200682A (zh) * 2020-12-04 2021-01-08 腾讯科技(深圳)有限公司 基于区块链的跨链交易方法、装置和计算机可读存储介质
CN112396423A (zh) * 2021-01-20 2021-02-23 腾讯科技(深圳)有限公司 一种交易数据处理方法、装置、设备及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190059491A (ko) * 2017-11-23 2019-05-31 박동화 블록체인상에서 공유 분산장부와 외부 저장장치에 정보를 분리저장하여 구현한 안전한 전자상거래시스템
CN109859043B (zh) * 2019-01-14 2020-11-06 创新先进技术有限公司 一种交易清算方法和交易清算系统
CN110473106A (zh) * 2019-08-21 2019-11-19 腾讯科技(深圳)有限公司 一种交易处理的方法以及相关装置
CN112367161A (zh) * 2019-09-01 2021-02-12 成都量安区块链科技有限公司 一种中继节点功能虚拟化方法与装置
CN110650189B (zh) * 2019-09-20 2022-01-18 深圳供电局有限公司 一种基于中继的区块链的交互系统及方法
CN113190622B (zh) * 2021-03-16 2022-08-09 腾讯科技(深圳)有限公司 一种数据处理方法、装置、设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10579974B1 (en) * 2015-02-16 2020-03-03 AI Coin Inc. Systems, methods, and program products for a distributed digital asset network with rapid transaction settlements
CN110866753A (zh) * 2019-10-24 2020-03-06 腾讯科技(深圳)有限公司 一种第三方结算的控制方法、装置、电子设备和存储介质
CN111416808A (zh) * 2020-03-13 2020-07-14 财付通支付科技有限公司 跨区块链的数据互存方法、装置、设备及存储介质
CN111935315A (zh) * 2020-09-25 2020-11-13 支付宝(杭州)信息技术有限公司 区块同步方法及装置
CN112200682A (zh) * 2020-12-04 2021-01-08 腾讯科技(深圳)有限公司 基于区块链的跨链交易方法、装置和计算机可读存储介质
CN112396423A (zh) * 2021-01-20 2021-02-23 腾讯科技(深圳)有限公司 一种交易数据处理方法、装置、设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于区块链技术的数字知识产权保护方案研究;宁梦月 等;《情报理论与实践》;20200730;第43卷(第7期);144-150 *

Also Published As

Publication number Publication date
CN113190622A (zh) 2021-07-30
EP4202723A1 (en) 2023-06-28
US20230087138A1 (en) 2023-03-23
CN112667749A (zh) 2021-04-16
WO2022193985A1 (zh) 2022-09-22
CN112667749B (zh) 2021-05-25

Similar Documents

Publication Publication Date Title
CN113190622B (zh) 一种数据处理方法、装置、设备及存储介质
CN112926982B (zh) 一种交易数据处理方法、装置、设备及存储介质
CN112685505B (zh) 一种交易数据处理方法、装置、计算机设备及存储介质
CN113421097B (zh) 一种数据处理方法、装置、计算机设备及存储介质
Bao et al. IoTChain: A three-tier blockchain-based IoT security architecture
CN103098070B (zh) 用于监视网络服务中数据位置的方法、装置和系统
CN111598566A (zh) 基于混合跨链的网络支付系统
US20230089134A1 (en) Data communication method and apparatus, computer device, and storage medium
Ali et al. Blockstack: A new decentralized internet
CN113765675B (zh) 一种交易数据处理方法、装置、设备以及介质
CN110730081B (zh) 基于区块链网络的证书吊销方法、相关设备及介质
CN113255014B (zh) 一种基于区块链的数据处理方法以及相关设备
KR102483369B1 (ko) Did 기반의 사용자 데이터 저장 및 공유 시스템
CN112446039A (zh) 区块链交易处理方法、装置、设备和存储介质
Yoon et al. Blockchain-based object name service with tokenized authority
JP7311745B2 (ja) 管理者端末、参加者端末、権利者端末、利用者端末、コンテンツ利用システム、管理者プログラム、参加者プログラム、権利者プログラムおよび利用者プログラム
CN112988852B (zh) 基于区块链的数据管理方法、设备以及介质
CN117118640A (zh) 一种数据处理方法、装置、计算机设备以及可读存储介质
CN110958285B (zh) 一种基于区块链的数据存储系统
CN110958211B (zh) 一种基于区块链的数据处理系统及方法
Raman et al. Blockchain technology for privacy and security issues and challenges in IOT-based systems
JP7424490B2 (ja) 登録者端末、検証者端末、管理システムおよびプログラム
WO2024045552A1 (zh) 一种数据处理方法及相关设备
CN117131079A (zh) 一种基于区块链的数据处理方法、装置、设备及介质
Dash et al. Security and Performance Comparison using QR Code through Blockchain Technology

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40048723

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant