CN110096522B - 一种支持关系型检索的区块链数据处理方法、装置及设备 - Google Patents

一种支持关系型检索的区块链数据处理方法、装置及设备 Download PDF

Info

Publication number
CN110096522B
CN110096522B CN201910402771.6A CN201910402771A CN110096522B CN 110096522 B CN110096522 B CN 110096522B CN 201910402771 A CN201910402771 A CN 201910402771A CN 110096522 B CN110096522 B CN 110096522B
Authority
CN
China
Prior art keywords
data
transaction
preset
block
state data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910402771.6A
Other languages
English (en)
Other versions
CN110096522A (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.)
Xidian University
Original Assignee
Xidian University
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 Xidian University filed Critical Xidian University
Priority to CN201910402771.6A priority Critical patent/CN110096522B/zh
Publication of CN110096522A publication Critical patent/CN110096522A/zh
Application granted granted Critical
Publication of CN110096522B publication Critical patent/CN110096522B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种支持关系型检索的区块链数据处理方法,所述方法包括:获取区块链数据中的交易数据和区块头数据;将所述交易数据存入第一预设数据库的预设交易表中,所述第一预设数据库为区块链底层数据库,所述预设交易表设置有区块编号字段;将所述区块头数据存入所述第一预设数据库的预设区块表中,所述预设区块表设置有区块编号字段;基于所述区块编号字段建立所述交易数据和所述区块头数据之间的映射关系。实施本发明,可使区块链数据支持交易级别的细粒度基于内容检索,同时使区块链数据能够支持SQL,可以进行复杂的查询操作。

Description

一种支持关系型检索的区块链数据处理方法、装置及设备
技术领域
本发明涉及区块链数据管理,特别涉及一种支持关系型检索的区块链数据处理方法、装置及设备。
背景技术
区块链是实现智慧城市、智慧医疗、电子政务等的核心前沿技术,具有可追溯性、可验证性特点,然而仅追加式的特性导致其数据不断膨胀,亟待提出高效的数据组织与管理机制。现有的区块链技术采用简单的key-value模型,数据无结构化,支持的检索类型单一,使得区块链数据的组织利用困难。因此,需要采用关系型数据库管理区块链底层数据,使其支持SQL查询,从而能够进行高效检索,并支持复杂查询,丰富了区块链数据的检索类型。区块链底层数据采用块结构存储,块内数据预先进行了顺序化编码压缩,导致其仅支持粗粒度检索,而块内交易信息查询利用困难。因此,需要重新定义区块链底层数据存储结构,将交易数据用关系模型进行组织,使交易信息能够支持高效的基于内容检索,而且需要把区块和区块中的交易采用关系模型的组织方式建立关联,从而保障区块的完整性。
目前现有的一些方案主要包括两个:1.ForkBase,直接优化底层数据库加快查询效率。但其仅加速了已有的查询功能,不支持SQL查询。2.EtherQL,在区块链之外额外维护数据库进行查询。这种方法产生了监听计算开销和额外的数据存储开销,而且降低了查询的可靠性(查询数据脱离了区块链)。
发明内容
针对现有技术的上述问题,本发明的目的在于提供一种支持关系型检索的区块链数据处理方法、装置及设备,以重新定义区块链底层数据存储结构,将交易数据用关系模型进行组织,使交易信息能够支持高效的基于内容检索,同时区块和区块中的交易采用关系模型的组织方式建立关联,从而保障区块的完整性。
本发明第一方面提供一种支持关系型检索的区块链数据处理方法,所述方法包括:获取区块链数据中的交易数据和区块头数据;将所述交易数据存入第一预设数据库的预设交易表中,所述第一预设数据库为区块链底层数据库,所述预设交易表设置有区块编号字段;将所述区块头数据存入所述第一预设数据库的预设区块表中,所述预设区块表设置有区块编号字段;基于所述区块编号字段建立所述交易数据和所述区块头数据之间的映射关系。
进一步地,所述预设交易表设置有交易账户字段,所述方法还包括:基于所述交易数据确定历史状态数据;将所述历史状态数据存入第二预设数据库的预设历史状态数据表中,所述第二预设数据库为区块链底层数据库,所述预设历史状态数据表设置有交易账户字段;基于所述交易账户字段建立所述历史状态数据和所述交易数据的映射关系。
进一步地,所述方法还包括:获取所述交易数据中预设时间段内的交易数据;基于所述预设时间段内的交易数据确定当前状态数据;将所述当前状态数据存入第三预设数据库的预设当前状态数据表中,所述第三预设数据库为区块链底层数据库,所述预设当前状态数据表设置有交易账户字段;基于所述交易账户字段建立所述当前状态数据和所述交易数据的映射关系。
进一步地,所述方法还包括:基于所述交易账户字段建立所述当前状态数据和所述历史状态数据之间的映射关系;基于所述当前状态数据和所述历史状态数据的映射关系对所述当前状态数据和所述历史状态数据中的最新状态数据的一致性进行验证。
进一步地,所述方法还包括:接收数据查询请求;获取所述数据查询请求所查询数据的数据类型;基于所述数据类型返回所述所查询数据。
进一步地,所述数据类型至少包括如下之一:交易数据类型、区块头数据类型、当前状态数据类型和历史状态数据类型。
进一步地,在所述数据类型为交易数据类型时,所述基于所述数据类型返回所述所查询数据包括:对所述所查询数据进行结构化编码,以形成交易实体集合;对所述交易实体集合进行打包;返回打包后的所述交易实体集合。
进一步地,在所述数据类型包括交易数据类型和区块头数据类型时,所述基于所述数据类型返回所述所查询数据包括:对所述所查询数据中的交易数据进行结构化编码,以形成交易实体集合;对所述所查询数据中的区块头数据进行结构化编码,以结合所述交易实体集合形成区块实体集合;对所述区块实体集合进行打包;返回打包后的所述区块实体集合。
本发明第二方面提供一种支持关系型检索的区块链数据处理装置,所述装置包括:数据获取模块,用于获取区块链数据中的交易数据和区块头数据;第一数据存储模块,用于将所述交易数据存入第一预设数据库的预设交易表中,所述第一预设数据库为区块链底层数据库,所述预设交易表设置有区块编号字段;第二数据存储模块,用于将所述区块头数据存入所述第一预设数据库的预设区块表中,所述预设区块表设置有区块编号字段;映射关系建立模块,用于基于所述区块编号字段建立所述交易数据和所述区块头数据之间的映射关系。
本发明第三方面提供一种支持关系型检索的区块链数据处理设备,包括:处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现任一所述的区块链数据处理方法。
由于上述技术方案,本发明具有如下有益效果:
本发明基于关系模型重新设计区块链底层数据存储结构,使区块链数据支持交易级别的细粒度基于内容检索;
并且由于采用了关系型数据库管理区块链底层数据,使区块链数据能够支持SQL,可以进行复杂的查询操作,而且关系型数据库提供了强大的事务处理功能,具备丰富的完整性,降低了数据冗余,简化了数据维护工作。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本发明实施例提供的一种支持关系型检索的区块链数据处理方法的流程示意图;
图2是本发明实施例提供的一种支持关系型检索的区块链数据处理方法中区块链数据写入和SQL查询的流程示意图;
图3是本发明实施例提供的一种支持关系型检索的区块链数据处理方法中预设交易表的结构示意图;
图4是本发明实施例提供的一种支持关系型检索的区块链数据处理方法中预设区块表的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
以下介绍本发明的区块链数据处理方法,图1是本发明实施例提供的一种支持关系型检索的区块链数据处理方法的流程示意图,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际的区块链数据处理装置产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图1所示,所述方法可以包括:
步骤S101:获取区块链数据中的交易数据和区块头数据;
在本发明实施例中,所述交易数据可以包括区块编号、交易头、签名、交易提案和提案返回等数据,所述区块头数据可以包括区块编号、当前区块Hash值、前一区块Hash值、时间戳、公钥、证书和签名等数据。
步骤S103:将所述交易数据存入第一预设数据库的预设交易表中,所述第一预设数据库为区块链底层数据库,所述预设交易表设置有区块编号字段;
在本发明实施例中,为了支持交易信息级别的细粒度检索,如图2所示,需要预先建立第一预设数据库,并在所述第一预设数据库中建立预设交易表,在从区块链数据中获取到所述交易数据后,将所述交易数据按照对应关系依次存入所述预设交易表。如图3所示,所述预设交易表可以包括区块编号、交易头、签名、交易提案、提案返回和数据域等字段,所述交易提案字段可以包括交易账户字段(未示出)。
步骤S105:将所述区块头数据存入所述第一预设数据库的预设区块表中,所述预设区块表设置有区块编号字段;
在本发明实施例中,为了保持区块的完整性,如图2所示,在所述第一预设数据库中还需建立预设区块表,在从区块链数据中获取到所述区块头数据后,将所述区块头数据按照对应关系依次存入所述预设区块表中。如图4所示,所述预设区块表可以包括区块编号、当前区块Hash、前一区块Hash、时间戳、公钥、证书、签名和数据域等字段。
步骤S107:基于所述区块编号字段建立所述交易数据和所述区块头数据之间的映射关系。
在本发明实施例中,为了保持区块的完整性,如图2所示,需要建立所述交易数据和所述区块头数据之间的映射关系。由于所述预设交易表和所述预设区块表均包括区块编号字段,因此,可以基于所述区块编号字段建立所述交易数据和所述区块头数据之间的映射关系。
在另一些实施例中,为了加快历史状态验证和追溯的查询速度,为了所述预设交易表设置有交易账户字段,所述方法还包括:
基于所述交易数据确定历史状态数据;
在本发明实施例中,基于所述交易数据确定的所述预设历史状态数据可以包括交易账户、资源、货物等数据。
将所述历史状态数据存入第二预设数据库的预设历史状态数据表中,所述第二预设数据库为区块链底层数据库,所述预设历史状态数据表设置有交易账户字段;
在本发明实施例中,为了加快历史状态验证和追溯的查询速度,如图2所示,在所述第二预设数据库中还需建立预设历史状态数据表,在基于所述交易数据确定历史状态数据后,将所述历史状态数据按照对应关系依次存入所述历史状态数据表中。所述预设历史状态数据表可以包括交易账户、资源、货物等字段。
基于所述交易账户字段建立所述历史状态数据和所述交易数据的映射关系。
在本发明实施例中,如图2所示,需要建立所述历史状态数据和所述交易数据的映射关系。由于所述预设交易表和所述预设历史状态数据表均包括交易账户字段,因此,可以基于所述交易账户字段建立所述历史状态数据和所述交易数据的映射关系。
在另一些实施例中,为了加快当前状态验证和追溯的查询速度,所述方法还包括:
获取所述交易数据中预设时间段内的交易数据;
在本发明实施例中,为了确定当前状态数据,需要获取所述交易数据中能够计算出当前状态数据的最早的交易数据,该最早的交易数据至最新的交易数据的之间的时间差即为所述预设时间段。
基于所述预设时间段内的交易数据确定当前状态数据;
在本发明实施例中,基于所述预设时间段内的交易数据确定的所述预设当前状态数据可以包括交易账户、资源、货物等数据。
将所述当前状态数据存入第三预设数据库的预设当前状态数据表中,所述第三预设数据库为区块链底层数据库,所述预设当前状态数据表设置有交易账户字段;
在本发明实施例中,为了加快当前状态验证和追溯的查询速度,如图2所示,在所述第三预设数据库中还需建立预设当前状态数据表,在基于所述预设时间段内的交易数据确定当前状态数据后,将所述当前状态数据按照对应关系依次存入所述当前状态数据表中。所述预设当前状态数据表可以包括交易账户、资源、货物等字段。
基于所述交易账户字段建立所述当前状态数据和所述交易数据的映射关系。
在本发明实施例中,如图2所示,需要建立所述当前状态数据和所述交易数据的映射关系。由于所述预设交易表和所述预设当前状态数据表均包括交易账户字段,因此,可以基于所述交易账户字段建立所述当前状态数据和所述交易数据的映射关系。
在另一些实施例中,为了验证当前状态数据或所述历史状态数据中的最新状态数据是否被篡改,所述方法还包括:
基于所述交易账户字段建立所述当前状态数据和所述历史状态数据之间的映射关系;
在本发明实施例中,所述历史状态数据包括最新状态数据,在所述预设当前状态数据表中的所述当前状态数据未被篡改时,所述当前状态数据应该与所述历史状态数据中的最新状态数据保持一致。
基于所述当前状态数据和所述历史状态数据的映射关系对所述当前状态数据和所述历史状态数据中的最新状态数据的一致性进行验证。
在实际应用中,所述预设当前状态数据表和所述预设历史状态数据表被同时篡改的几率很小,因此可以通过当前状态数据和所述历史状态数据中的最新状态数据的一致性来验证任一数据表是否被被篡改。如果所述预设当前状态数据表或所述预设历史状态数据表的数据被篡改,验证结果将不一致。
此时,可以通过将当前节点的当前状态数据与其他节点的当前状态数据进行比较,如果当前节点的当前状态数据和多数其他节点的当前状态数据不一致,说明当前节点的预设当前状态数据表的数据被篡改;同理,将当前节点的所述历史状态数据中的最新状态数据与其他节点的所述历史状态数据中的最新状态数据进行比较,如果当前节点的历史状态数据和多数其他节点的历史状态数据不一致,说明当前节点的预设历史状态数据表的数据被篡改。
在另一些实施例中,为了支持高效查询,如图2所示,所述方法还包括:
接收数据查询请求;
在本发明实施例中,所述数据查询请求包括SQL语句和所查询数据的数据类型。
获取所述数据查询请求所查询数据的数据类型;
在本发明实施例中,所述数据类型至少可以包括如下之一:交易数据类型、区块头数据类型、当前状态数据类型和历史状态数据类型。
基于所述数据类型返回所述所查询数据。
在一个具体的实施例中,在所述数据类型为交易数据类型时,所述基于所述数据类型返回所述所查询数据包括:
对所述所查询数据进行结构化编码,以形成交易实体集合;
在本发明实施例中,所述所查询数据为所述预设交易表中的多条记录。
对所述交易实体集合进行打包;
返回打包后的所述交易实体集合。
在一个具体的实施例中,在所述数据类型包括交易数据类型和区块头数据类型时,所述基于所述数据类型返回所述所查询数据包括:
对所述所查询数据中的交易数据进行结构化编码,以形成交易实体集合;
在本发明实施例中,所述所查询数据为所述预设交易表和所述预设区块表中的多条记录。
对所述所查询数据中的区块头数据进行结构化编码,以结合所述交易实体集合形成区块实体集合;
对所述区块实体集合进行打包;
返回打包后的所述区块实体集合。
在一个具体的实施例中,在所述数据类型为当前状态数据类型时,所述基于所述数据类型返回所述所查询数据包括:
返回所述所查询数据。
在本发明实施例中,所述所查询数据为所述预设当前状态数据表中的多条记录。
在一个具体的实施例中,在所述数据类型为历史状态数据类型类型时,所述基于所述数据类型返回所述所查询数据包括:
对所述所查询数据进行打包;
在本发明实施例中,所述所查询数据为所述预设历史状态数据表中的多条记录。
返回打包后的所述所查询数据。
本发明还提供了一种支持关系型检索的区块链数据处理装置,所述装置包括:
数据获取模块,用于获取区块链数据中的交易数据和区块头数据;
第一数据存储模块,用于将所述交易数据存入第一预设数据库的预设交易表中,所述第一预设数据库为区块链底层数据库,所述预设交易表设置有区块编号字段;
第二数据存储模块,用于将所述区块头数据存入所述第一预设数据库的预设区块表中,所述预设区块表设置有区块编号字段;
映射关系建立模块,用于基于所述区块编号字段建立所述交易数据和所述区块头数据之间的映射关系。
所述的装置实施例中的装置与方法实施例基于同样的发明构思。
本发明实施例还提供了一种支持关系型检索的区块链数据处理设备,包括:处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现所述区块链数据处理方法。
由上述本发明提供的区块链数据处理方法、装置或设备的实施例可见,本发明实施例实现了基于关系模型重新设计区块链底层数据存储结构,使区块链数据支持交易级别的细粒度基于内容检索;并且由于采用了关系型数据库管理区块链底层数据,使区块链数据能够支持SQL,可以进行复杂的查询操作,而且关系型数据库提供了强大的事务处理功能,具备丰富的完整性,降低了数据冗余,简化了数据维护工作。
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、终端和***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

Claims (9)

1.一种支持关系型检索的区块链数据处理方法,其特征在于,应用于区块链,所述方法包括:
获取区块链数据中的交易数据和区块头数据;所述交易数据和所述区块头数据均包括区块编号;
将所述交易数据存入第一预设数据库的预设交易表中,所述第一预设数据库为区块链底层数据库,所述预设交易表设置有区块编号字段、交易账户字段、交易头字段、签名字段、提案返回字段和数据域字段;
将所述区块头数据存入所述第一预设数据库的预设区块表中,所述预设区块表设置有区块编号字段、当前区块Hash字段、前一区块Hash字段、时间戳字段、公钥字段、证书字段、签名字段和数据域字段;
基于所述区块编号字段建立所述交易数据和所述区块头数据之间的映射关系;
所述方法还包括:
基于所述交易数据确定历史状态数据;
将所述历史状态数据存入第二预设数据库的预设历史状态数据表中,所述第二预设数据库为区块链底层数据库,所述预设历史状态数据表设置有交易账户字段;
基于所述交易账户字段建立所述历史状态数据和所述交易数据的映射关系;
将当前节点的所述历史状态数据中的最新状态数据与其他节点的所述历史状态数据中的最新状态数据进行比较,生成验证结果;所述验证结果表征当前节点的历史状态数据和其他节点的历史状态数据一致性情况,以及当前节点的预设历史状态数据表的数据被篡改的情况;在当前节点的预设历史状态数据表的数据被篡改时,当前节点的历史状态数据和多数其他节点的历史状态数据不一致。
2.根据权利要求1所述的一种支持关系型检索的区块链数据处理方法,其特征在于,所述方法还包括:
获取所述交易数据中预设时间段内的交易数据;
基于所述预设时间段内的交易数据确定当前状态数据;
将所述当前状态数据存入第三预设数据库的预设当前状态数据表中,所述第三预设数据库为区块链底层数据库,所述预设当前状态数据表设置有交易账户字段;
基于所述交易账户字段建立所述当前状态数据和所述交易数据的映射关系。
3.根据权利要求2所述一种支持关系型检索的区块链数据处理方法,其特征在于,所述方法还包括:
基于所述交易账户字段建立所述当前状态数据和所述历史状态数据之间的映射关系;
基于所述当前状态数据和所述历史状态数据的映射关系对所述当前状态数据和所述历史状态数据中的最新状态数据的一致性进行验证。
4.根据权利要求3所述的一种支持关系型检索的区块链数据处理方法,其特征在于,所述方法还包括:
接收数据查询请求;
获取所述数据查询请求所查询数据的数据类型;
基于所述数据类型返回所述所查询数据。
5.根据权利要求4所述的一种支持关系型检索的区块链数据处理方法,其特征在于,所述数据类型至少包括如下之一:
交易数据类型、区块头数据类型、当前状态数据类型和历史状态数据类型。
6.根据权利要求4所述的一种支持关系型检索的区块链数据处理方法,其特征在于,在所述数据类型为交易数据类型时,所述基于所述数据类型返回所述所查询数据包括:
对所述所查询数据进行结构化编码,以形成交易实体集合;
对所述交易实体集合进行打包;
返回打包后的所述交易实体集合。
7.根据权利要求4所述的一种支持关系型检索的区块链数据处理方法,其特征在于,在所述数据类型包括交易数据类型和区块头数据类型时,所述基于所述数据类型返回所述所查询数据包括:
对所述所查询数据中的交易数据进行结构化编码,以形成交易实体集合;
对所述所查询数据中的区块头数据进行结构化编码,以结合所述交易实体集合形成区块实体集合;
对所述区块实体集合进行打包;
返回打包后的所述区块实体集合。
8.一种支持关系型检索的区块链数据处理装置,其特征在于,部署于区块链;所述装置包括:
数据获取模块,用于获取区块链数据中的交易数据和区块头数据;所述交易数据和所述区块头数据均包括区块编号;
第一数据存储模块,用于将所述交易数据存入第一预设数据库的预设交易表中,所述第一预设数据库为区块链底层数据库,所述预设交易表设置有区块编号字段、交易账户字段、交易头字段、签名字段、提案返回字段和数据域字段;
第二数据存储模块,用于将所述区块头数据存入所述第一预设数据库的预设区块表中,所述预设区块表设置有区块编号字段、当前区块Hash字段、前一区块Hash字段、时间戳字段、公钥字段、证书字段、签名字段和数据域字段;
映射关系建立模块,用于基于所述区块编号字段建立所述交易数据和所述区块头数据之间的映射关系;还用于基于所述交易数据确定历史状态数据;将所述历史状态数据存入第二预设数据库的预设历史状态数据表中,所述第二预设数据库为区块链底层数据库,所述预设历史状态数据表设置有交易账户字段;基于所述交易账户字段建立所述历史状态数据和所述交易数据的映射关系;将当前节点的所述历史状态数据中的最新状态数据与其他节点的所述历史状态数据中的最新状态数据进行比较,生成验证结果;所述验证结果表征当前节点的历史状态数据和其他节点的历史状态数据一致性情况,以及当前节点的预设历史状态数据表的数据被篡改的情况;在当前节点的预设历史状态数据表的数据被篡改时,当前节点的历史状态数据和多数其他节点的历史状态数据不一致。
9.一种支持关系型检索的区块链数据处理设备,其特征在于,包括:处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1-7任一所述的区块链数据处理方法。
CN201910402771.6A 2019-05-15 2019-05-15 一种支持关系型检索的区块链数据处理方法、装置及设备 Active CN110096522B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910402771.6A CN110096522B (zh) 2019-05-15 2019-05-15 一种支持关系型检索的区块链数据处理方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910402771.6A CN110096522B (zh) 2019-05-15 2019-05-15 一种支持关系型检索的区块链数据处理方法、装置及设备

Publications (2)

Publication Number Publication Date
CN110096522A CN110096522A (zh) 2019-08-06
CN110096522B true CN110096522B (zh) 2023-07-28

Family

ID=67448253

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910402771.6A Active CN110096522B (zh) 2019-05-15 2019-05-15 一种支持关系型检索的区块链数据处理方法、装置及设备

Country Status (1)

Country Link
CN (1) CN110096522B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110471923B (zh) * 2019-08-12 2024-01-16 深圳前海微众银行股份有限公司 一种区块链交易记录的处理方法及装置
CN110609839B (zh) * 2019-09-17 2021-05-25 北京海益同展信息科技有限公司 区块链数据处理的方法、装置、设备及可读存储介质
CN110602116B (zh) * 2019-09-19 2021-05-11 腾讯科技(深圳)有限公司 基于区块链的数据验证方法、装置和计算机可读存储介质
CN111506650B (zh) * 2020-04-13 2023-06-23 西安电子科技大学 一种关系型区块链数据管理方法及存储介质
CN112131266B (zh) * 2020-08-12 2023-06-13 迅鳐成都科技有限公司 一种支持区块链复杂查询的方法、装置、***及存储介质
CN112632080B (zh) * 2020-12-29 2023-01-13 杭州趣链科技有限公司 基于区块链的数据存储方法、装置及设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106506638A (zh) * 2016-11-04 2017-03-15 江苏通付盾科技有限公司 区块链中的区块存储方法及装置
CN107239954A (zh) * 2017-06-07 2017-10-10 北京汇通金财信息科技有限公司 一种提高区块产生速度的方法及装置
CN107562775A (zh) * 2017-07-14 2018-01-09 阿里巴巴集团控股有限公司 一种基于区块链的数据处理方法及设备
CN109034849A (zh) * 2018-08-08 2018-12-18 苏州酷外文化传媒有限公司 基于区块链的农产品信息溯源验证方法及***
CN109086325A (zh) * 2018-06-29 2018-12-25 阿里巴巴集团控股有限公司 基于区块链的数据处理方法和装置
CN109165224A (zh) * 2018-08-24 2019-01-08 东北大学 一种在区块链数据库上针对关键字key的索引方法
CN109726229A (zh) * 2018-11-30 2019-05-07 深圳市元征科技股份有限公司 一种区块链数据存储方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10565192B2 (en) * 2017-08-01 2020-02-18 International Business Machines Corporation Optimizing queries and other retrieve operations in a blockchain

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106506638A (zh) * 2016-11-04 2017-03-15 江苏通付盾科技有限公司 区块链中的区块存储方法及装置
CN107239954A (zh) * 2017-06-07 2017-10-10 北京汇通金财信息科技有限公司 一种提高区块产生速度的方法及装置
CN107562775A (zh) * 2017-07-14 2018-01-09 阿里巴巴集团控股有限公司 一种基于区块链的数据处理方法及设备
CN109086325A (zh) * 2018-06-29 2018-12-25 阿里巴巴集团控股有限公司 基于区块链的数据处理方法和装置
CN109034849A (zh) * 2018-08-08 2018-12-18 苏州酷外文化传媒有限公司 基于区块链的农产品信息溯源验证方法及***
CN109165224A (zh) * 2018-08-24 2019-01-08 东北大学 一种在区块链数据库上针对关键字key的索引方法
CN109726229A (zh) * 2018-11-30 2019-05-07 深圳市元征科技股份有限公司 一种区块链数据存储方法及装置

Also Published As

Publication number Publication date
CN110096522A (zh) 2019-08-06

Similar Documents

Publication Publication Date Title
CN110096522B (zh) 一种支持关系型检索的区块链数据处理方法、装置及设备
EP3678346A1 (en) Blockchain smart contract verification method and apparatus, and storage medium
CN110795499B (zh) 基于大数据的集群数据同步方法、装置、设备及存储介质
CN111444196B (zh) 块链式账本中全局状态的哈希的生成方法、装置及设备
CN109032631B (zh) 应用程序补丁包获取方法、装置、计算机设备及存储介质
CN101308471B (zh) 一种恢复数据的方法及装置
CN105279285B (zh) 一种关系型数据库与非关系型数据库的同步***及方法
CN110647531A (zh) 数据同步方法、装置、设备及计算机可读存储介质
US20210081400A1 (en) Search method using data structure for supporting multiple search in blockchain-based iot environment, and device according to method
CN111444192B (zh) 块链式账本中全局状态的哈希的生成方法、装置及设备
US10268776B1 (en) Graph store built on a distributed hash table
CN111752945B (zh) 一种基于容器和层次模型的时序数据库数据交互方法和***
Carver et al. Distributed reachability testing of concurrent programs
CN113421073A (zh) 在区块链中并发执行交易的方法和装置
CN112148794A (zh) 智能合约的版本管理方法、装置和存储介质
CN114003629A (zh) 一种高效预编译型缓存数据管理方法、装置、设备和介质
CN107391539B (zh) 事务处理方法、服务器和存储介质
CN110706108B (zh) 在区块链中并发执行交易的方法和装置
CN112035466A (zh) 一种区块链查询外置索引开发框架
CN115168384A (zh) 数据一致性处理方法、装置、服务器及存储介质
CN110493326B (zh) 基于zookeeper管理集群配置文件的***和方法
CN116010452A (zh) 基于流式计算引擎的工业数据处理***和方法、介质
CN116627775B (zh) 有状态的服务器无感知函数的写优化方法和装置
CN116662290B (zh) 有状态的服务器无感知函数的读优化方法和装置
CN115250231B (zh) 应用配置方法及装置

Legal Events

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