CN109857724A - 基于区块链实现支持多种数据库的方法及设备 - Google Patents

基于区块链实现支持多种数据库的方法及设备 Download PDF

Info

Publication number
CN109857724A
CN109857724A CN201910111261.3A CN201910111261A CN109857724A CN 109857724 A CN109857724 A CN 109857724A CN 201910111261 A CN201910111261 A CN 201910111261A CN 109857724 A CN109857724 A CN 109857724A
Authority
CN
China
Prior art keywords
database
configuration mode
transaction
block chain
key assignments
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
CN201910111261.3A
Other languages
English (en)
Other versions
CN109857724B (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.)
Shanghai Zhongan Information Technology Service Co ltd
Original Assignee
Zhongan Information Technology Service 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 Zhongan Information Technology Service Co Ltd filed Critical Zhongan Information Technology Service Co Ltd
Priority to CN201910111261.3A priority Critical patent/CN109857724B/zh
Publication of CN109857724A publication Critical patent/CN109857724A/zh
Application granted granted Critical
Publication of CN109857724B publication Critical patent/CN109857724B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开内容公开了基于区块链实现支持多种数据库的方法及设备,所述方法包括:在启动区块链可执行程序的情况下,基于数据库配置模式确定区块链可执行程序中的数据库配置参数,其中,数据库配置模式包括选择关系型数据库或键值型数据库中的至少一种的第一类配置模式,以及选择关系型数据库和键值型数据库两者的第二类配置模式;基于数据库配置参数,建立与相应数据库的通信关系;基于通信关系将区块链数据写入数据库中;以及在至少选择关系型数据库的情况下,基于交易哈希查询相应的智能合约交易的具体操作信息。本公开内容使得用户能够根据实际业务需要请求区块链节点灵活选择一种或多种数据库进行区块链数据存取,弥补了仅选用一种数据库的不足。

Description

基于区块链实现支持多种数据库的方法及设备
技术领域
本公开内容属于区块链技术领域,尤其涉及一种基于区块链实现支持多种数据库的方法以及一种基于区块链实现支持多种数据库的设备。
背景技术
区块链(Blockchain)技术是利用分布式节点共识算法来生成和更新数据的分布式账本,利由密码学串接并保护内容不被篡改,用以串连交易记录(又称区块,允许多个交易产生一个区块)。每一个区块包含了前一个区块的加密哈希、相应时间戳记以及交易数据。这样的设计使得区块内容具有难以篡改的特性。由区块链所串接的分布式账本能让多方有效记录交易,且可永久查验此交易。
数据库是一个存放数据的仓库,这种仓库是按照一定的数据结构(也即,数据的组织形式或数据之间的联系)来组织和存储。可以通过数据库提供的多种方法(添加、删除、检索、更新)来管理数据库里的数据,能供多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
持久化存储是区块链技术中重要的技术环节,也是最底层的技术。区块链节点启动时,需要从保存在磁盘上的数据库中读取以往区块,为区块同步做准备;区块链应用各区块链节点达成共识后,要写入数据库,方能将共识的结果固化下来;存储层的性能容量对区块链整体性能容量有重大影响。现有的开源区块链项目,例如,比特币(BTC)、以太坊(Ethereum)等均只采用一种数据库,例如,LevelDB(LevelDB属于非关系型键值型(Key-Value)数据库)。
区块链浏览器是浏览区块链信息的主要窗口,通过主动调用区块链服务的接口,查询需要的数据信息,从而记录了每一个区块的产生过程和区块中交易的内容,每一个区块所记载的内容都可以从区块链浏览器上进行查阅。
发明内容
由于目前市场上的区块链基本都是支持单一的数据库,例如,当用户使用现有区块链浏览器对区块链数据进行随机查询和/或复杂查询时,区块链浏览器采用关系型数据库来实现上述目的。然而,由于区块链自身数据库的限制(也即,已知的区块链浏览器,均是集中化的方式采集/接收区块链产生的数据),使得区块链浏览器中的数据无法具有防篡改以及可追溯的保障。同时,现有区块链采用的键值型数据库随机查询效率低,并且难以实现复杂查询(例如,查询单个账户交易历史)。
针对上述问题,本公开内容的第一方面提出了基于区块链实现支持多种数据库的方法,所述方法包括:
在启动区块链可执行程序的情况下,基于数据库配置模式确定所述区块链可执行程序中的数据库配置参数,其中,所述数据库配置模式包括选择关系型数据库或键值型数据库中的至少一种的第一类配置模式以及选择关系型数据库和键值型数据库两者的第二类配置模式;
基于所述数据库配置参数,建立与相应数据库的通信关系;
基于所述通信关系,将区块链数据写入所述数据库中;以及
在至少选择所述关系型数据库的情况下,基于交易哈希查询相应的智能合约交易的具体操作信息。
在根据本公开内容的第一方面的实施例中,所述方法进一步包括:
重新设定所述数据库配置模式;
基于重新设定的数据库配置模式,确定所述区块链可执行程序中的数据库配置参数;
基于所述数据库配置参数,建立与相应数据库的通信关系;
基于所述通信关系,将区块链数据写入所述数据库中。
在根据本公开内容的第一方面的实施例中,
所述第一类配置模式至少包括仅选择所述关系型数据库、仅选择第一键值型数据库和/或仅选择第二键值型数据库;
所述第二类配置模式至少包括选择所述关系型数据库以及所述第一键值型数据库或者选择所述关系型数据库以及所述第二键值型数据库。
在根据本公开内容的第一方面的实施例中,在启动区块链可执行程序的情况下,基于数据库配置模式确定所述区块链可执行程序中的数据库配置参数进一步包括:
在所述数据库配置模式是所述第一类配置模式的情况下,调用与所述关系型数据库、所述第一键值型数据库或所述第二键值型数据库中的一种相关的多个标准接口函数;或者
在所述数据库配置模式是所述第二类配置模式的情况下,调用与所述关系型数据库和所述键值型数据库相关的多个标准接口函数。
在根据本公开内容的第一方面的实施例中,基于所述数据库配置参数建立与相应数据库的通信关系进一步包括:
基于所调用的多个标准接口函数,建立与相应的所述关系型数据库和/或所述键值型数据库的通信关系。
在根据本公开内容的第一方面的实施例中,在至少选择所述关系型数据库的情况下,基于所述通信关系将区块链数据写入所述数据库中进一步包括:
在所述区块链数据是智能合约交易的情况下,在所述关系型数据库中存储交易备注,其中,所述交易备注包括所述智能合约的操作内容;
根据所述智能合约交易的数据结构,在所述关系型数据库中至少还存储所述智能合约交易的交易哈希、智能合约地址、调用的智能合约函数名称以及智能合约函数的参数内容。
在根据本公开内容的第一方面的实施例中,在至少选择所述关系型数据库的情况下基于交易哈希查询相应的智能合约交易的具体操作信息进一步包括:
在基于交易哈希查询到的交易是智能合约交易的情况下,基于所述交易哈希查询所述智能合约的智能合约地址、调用的智能合约函数名称、智能合约函数的参数内容以及所述智能合约的操作内容。
在根据本公开内容的第一方面的实施例中,在至少选择所述关系型数据库的情况下,所述方法进一步包括:
基于交易哈希查询相应交易的交易内容,其中,所述交易内容至少包括块高度、源账户地址、目的账户地址、交易金额;
基于账户地址查询相应账户的交易历史信息;
分页查询块数据列表;
分页查询交易数据列表。
在根据本公开内容的第一方面的实施例中,重新设定所述数据库配置模式进一步包括:
在先前运行的数据库配置模式是仅选择所述关系型数据库的情况下,设定任一第二类配置模式;或者
在先前运行的数据库配置模式是仅选择所述第一键值型数据库的情况下,设定选择所述第一键值型数据库以及所述关系型数据库的第二类配置模式;或者
在先前运行的数据库配置模式是仅选择所述第二键值型数据库的情况下,设定选择所述第二键值型数据库以及所述关系型数据库的第二类配置模式;或者
在先前运行的数据库配置模式是选择所述关系型数据库以及所述第一键值型数据库的情况下,设定仅选择所述关系型数据库、或者设定仅选择所述第一键值型数据库;或者
在先前运行的数据库配置模式是选择所述关系型数据库以及所述第二键值型数据库的情况下,设定仅选择所述关系型数据库、或者设定仅选择所述第二键值型数据库。
在根据本公开内容的第一方面的实施例中,在先前运行的数据库配置模式是任一第一类配置模式的情况下,在基于所述通信关系将区块链数据写入所述数据库中之后,所述方法进一步包括:
确定第一数据库中存储的内容是否与第二数据库中存储的内容一致,其中,所述第一数据库是先前存储所述区块链数据的数据库,所述第二数据库是重新设定的另一个数据库;
在确定所述第一数据库中存储的内容与所述第二数据库中存储的内容不一致的情况下,将所述第一数据库中存储的、与所述第二数据库中不同的区块链数据同步到所述第二数据库中。
针对上述问题,本公开内容的第二方面提出了一种基于区块链实现支持多种数据库的设备,所述设备包括:
处理器;以及
存储器,其用于存储指令,当所述指令执行时使得所述处理器执行以下操作:
在启动区块链可执行程序的情况下,基于数据库配置模式确定所述区块链可执行程序中的数据库配置参数,其中,所述数据库配置模式包括选择关系型数据库或键值型数据库中的至少一种的第一类配置模式以及选择关系型数据库和键值型数据库两者的第二类配置模式;
基于所述数据库配置参数,建立与相应数据库的通信关系;
基于所述通信关系,将区块链数据写入所述数据库中;以及
在至少选择所述关系型数据库的情况下,基于交易哈希查询相应的智能合约交易的具体操作信息。
在根据本公开内容的第二方面的实施例中,当所述指令执行时使得所述处理器进一步执行以下操作:
重新设定所述数据库配置模式;
基于重新设定的数据库配置模式,确定所述区块链可执行程序中的数据库配置参数;
基于所述数据库配置参数,建立与相应数据库的通信关系;
基于所述通信关系,将区块链数据写入所述数据库中。
在根据本公开内容的第二方面的实施例中,
所述第一类配置模式至少包括仅选择所述关系型数据库、仅选择第一键值型数据库和/或仅选择第二键值型数据库;
所述第二类配置模式至少包括选择所述关系型数据库以及所述第一键值型数据库或者选择所述关系型数据库以及所述第二键值型数据库。
在根据本公开内容的第二方面的实施例中,在启动区块链可执行程序的情况下,基于数据库配置模式确定所述区块链可执行程序中的数据库配置参数进一步包括:
在所述数据库配置模式是所述第一类配置模式的情况下,调用与所述关系型数据库、所述第一键值型数据库或所述第二键值型数据库中的一种相关的多个标准接口函数;或者
在所述数据库配置模式是所述第二类配置模式的情况下,调用与所述关系型数据库和所述键值型数据库相关的多个标准接口函数。
在根据本公开内容的第二方面的实施例中,基于所述数据库配置参数建立与相应数据库的通信关系进一步包括:
基于所调用的多个标准接口函数,建立与相应的所述关系型数据库和/或所述键值型数据库的通信关系。
在根据本公开内容的第二方面的实施例中,在至少选择所述关系型数据库的情况下,基于所述通信关系将区块链数据写入所述数据库中进一步包括:
在所述区块链数据是智能合约交易的情况下,在所述关系型数据库中存储交易备注,其中,所述交易备注包括所述智能合约的操作内容;
根据所述智能合约交易的数据结构,在所述关系型数据库中至少还存储所述智能合约交易的交易哈希、智能合约地址、调用的智能合约函数名称以及智能合约函数的参数内容。
在根据本公开内容的第二方面的实施例中,在至少选择所述关系型数据库的情况下基于交易哈希查询相应的智能合约交易的具体操作信息进一步包括:
在基于交易哈希查询到的交易是智能合约交易的情况下,基于所述交易哈希查询所述智能合约的智能合约地址、调用的智能合约函数名称、智能合约函数的参数内容以及所述智能合约的操作内容。
在根据本公开内容的第二方面的实施例中,在至少选择所述关系型数据库的情况下,当所述指令执行时使得所述处理器进一步执行以下操作:
基于交易哈希查询相应交易的交易内容,其中,所述交易内容至少包括块高度、源账户地址、目的账户地址、交易金额;
基于账户地址查询相应账户的交易历史信息;
分页查询块数据列表;和/或
分页查询交易数据列表。
在根据本公开内容的第二方面的实施例中,重新设定所述数据库配置模式进一步包括:
在先前运行的数据库配置模式是仅选择所述关系型数据库的情况下,设定任一第二类配置模式;或者
在先前运行的数据库配置模式是仅选择所述第一键值型数据库的情况下,设定选择所述第一键值型数据库以及所述关系型数据库的第二类配置模式;或者
在先前运行的数据库配置模式是仅选择所述第二键值型数据库的情况下,设定选择所述第二键值型数据库以及所述关系型数据库的第二类配置模式;或者
在先前运行的数据库配置模式是选择所述关系型数据库以及所述第一键值型数据库的情况下,设定仅选择所述关系型数据库、或者设定仅选择所述第一键值型数据库;或者
在先前运行的数据库配置模式是选择所述关系型数据库以及所述第二键值型数据库的情况下,设定仅选择所述关系型数据库、或者设定仅选择所述第二键值型数据库。
在根据本公开内容的第二方面的实施例中,在先前运行的数据库配置模式是任一第一类配置模式的情况下,在基于所述通信关系将区块链数据写入所述数据库中之后,当所述指令执行时使得所述处理器进一步执行以下操作:
确定第一数据库中存储的内容是否第二数据库中存储的内容一致,其中,所述第一数据库是先前存储所述区块链数据的数据库,所述第二数据库是重新设定的另一个数据库;
在确定所述第一数据库中存储的内容与所述第二数据库中存储的内容不一致的情况下,将所述第一数据库中存储的、与所述第二数据库中不同的区块链数据同步到所述第二数据库中。
依据本公开内容的基于区块链实现支持多种数据库的方法及设备,使得用户能够根据实际业务需要请求相应的区块链节点灵活地选择一种或多种数据库(例如,键值型数据库、关系型数据库)实现对区块链数据的存取,以弥补由于数据库自身的特定导致的区块链节点仅使用一种数据库存储区块链数据的不足,进而更好地适应具体业务。
附图说明
结合附图并参考以下详细说明,本公开的各实施例的特征、优点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出了本公开的若干实施例,在附图中:
图1为依据本公开内容的基于区块链实现支持多种数据库的方法的实施例之一的流程图;
图2为依据本公开内容的基于区块链实现支持多种数据库的方法的实施例之二的流程图;
图3为依据本公开内容的基于区块链实现支持多种数据库的方法的实施例之二的另一个流程图;
图4a-4c为依据本公开内容的键值型数据库中存储的各种数据的示意图;
图5a-5d为依据本公开内容的关系型数据库中存储的各种数据的示意图;以及
图6为依据本公开内容的基于区块链实现支持多种数据库的设备600的示意图。
具体实施方式
以下参考附图详细描述本公开的各个示例性实施例。附图中的流程图和框图示出了根据本公开的各种实施例的方法和系统的可能实现的体系架构、功能和操作。应当注意,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分可以包括一个或多个用于实现各个实施例中所规定的逻辑功能的可执行指令。也应当注意,在有些作为备选的实现中,方框中所标注的功能也可以按照不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,或者它们有时也可以按照相反的顺序执行,这取决于所涉及的功能。同样应当注意的是,流程图和/或框图中的每个方框、以及流程图和/或框图中的方框的组合,可以使用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以使用专用硬件与计算机指令的组合来实现。
本公开内容的实施例主要关注以下技术问题:如何使得区块链中的不同区块链节点支持不同的数据库来满足相应的业务需求。
为了解决上述问题,本文公开了基于区块链实现支持多种数据库的方法和设备,能够使得区块链中的任一区块链节点与不同类型的数据库建立通信关系,从而将区块链数据分别存储在不同类型的数据库中,以便利用不同数据库的特性满足不同的业务需求;例如,键值型数据库(也即,K-V型数据库)顺序读写数据的性能较好,能够满足大量数据存储需求,但是随机读取、复杂查询性能较差;关系型数据库(例如,SQL型数据库)具有高效的随机读取、复杂查询功能。
实施例1
图1示出了基于区块链实现支持多种数据库的方法的实施例之一的流程图。在本实施例中,区块链中的任一区块链节点可以实施图1所示的方法,具体如下:
步骤110:在启动区块链可执行程序的情况下,基于数据库配置模式确定所述区块链可执行程序中的数据库配置参数。
在本文中,所述数据库配置模式包括选择关系型数据库或键值型数据库中的至少一种的第一类配置模式以及选择关系型数据库和键值型数据库两者的第二类配置模式。
在本公开内容中,所述第一类配置模式至少包括仅选择所述关系型数据库(例如,SQLite)、仅选择第一键值型数据库(例如,LevelDB)和/或仅选择第二键值型数据库(例如,RocksDB)。在本实施例中,所述第一类配置模式包括:关系型数据库=SQLite,键值型数据库=null;或者关系型数据库=null,键值型数据库=LevelDB;或者关系型数据库=null,键值型数据库=RocksDB三种类型。
所述第二类配置模式至少包括选择所述关系型数据库以及所述第一键值型数据库或者选择所述关系型数据库以及所述第二键值型数据库。在本实施例中,所述第二类配置模式包括:关系型数据库=SQLite,键值型数据库=LevelDB;或者关系型数据库=SQLite,键值型数据库=RocksDB两种类型。
其中,RocksDB是支持多线程的K-V型数据库,LevelDB是支持单线程的K-V型数据库,SQLite是具有较好的随机读取、复杂查询功能的关系型数据库。
在本实施例中,仅选择第一键值型数据库(例如,LevelDB)作为默认配置模式,在区块链可执行程序中默认选择上述默认配置模式所对应的数据库配置参数。
在步骤110中,区块链节点具体操作如下:
在所述数据库配置模式是所述第一类配置模式的情况下,调用与所述关系型数据库、所述第一键值型数据库或所述第二键值型数据库中的一种相关的多个标准接口函数。
例如,当仅选择第一键值型数据库或仅选择第二键值型数据库时,调用与第一键值型数据库或第二键值型数据库相关的多个标准接口函数:Open()、Get()、Set()、Delete()、Close()、NewBatch()、Print()、Iterator()等。当仅选择SQLite数据库时,调用与SQLite数据库相关的多个标准接口函数:Open()、Close()、Exec()、Query()、Next()等。
替代地,在所述数据库配置模式是所述第二类配置模式的情况下,调用与所述关系型数据库和所述键值型数据库相关的多个标准接口函数。
步骤120:基于所述数据库配置参数,建立与相应数据库的通信关系。在本步骤中,区块链节点具体操作如下:
基于所调用的多个标准接口函数,建立与相应的所述关系型数据库和/或所述键值型数据库的通信关系。
例如,基于Open()、Get()、Set()、Delete()、Close()、NewBatch()、Print()、Iterator()等标准接口函数,建立区块链节点与第一键值型数据库或第二键值型数据库的通信关系。基于Open()、Close()、Exec()、Query()、Next()等标准接口函数,建立区块链节点与关系型数据库的通信关系。
步骤130:基于所述通信关系,将区块链数据写入所述数据库中。在本步骤中,区块链节点具体操作如下:
在所述数据库配置模式中包括了选择关系型数据库的情况下,在所述区块链数据是智能合约交易的情况下,在所述关系型数据库中存储交易备注,其中,所述交易备注包括所述智能合约的操作内容。
同时,根据所述智能合约交易的数据结构,在所述关系型数据库中至少还存储所述智能合约交易的交易哈希、智能合约地址、调用的智能合约函数名称以及智能合约函数的参数内容。
如图5a-5d所述,区块链节点可以将块数据、交易数据、账户信息以及智能合约分别以数据表的形式存储在SQL型数据库中。如图5a所示,在存储块数据的数据表中包括以下参数:块高度、块哈希以及块中交易数量。如图5b所示,在存储交易数据的数据表中包括以下参数:所属块高度、交易哈希、源头账户地址、目的账户地址、智能合约地址、交易金额以及存储数据。如图5c所示,在存储账户信息的数据表中包括以下参数:账户地址、账户余额。如图5d所示,在存储智能合约的数据表中包括:交易哈希、智能合约地址、调用的智能合约函数名称、智能合约函数的参数、字节代码以及应用程序二进制接口(ABI)
如图4a-4c所示,区块链节点可以将块数据、交易数据以及账户信息分别以数据表的形式存储在K-V型数据库中。如图4a所示,在存储块数据的数据表中包括以下参数:块高度、块哈希以及块中交易数量。如图4b所示,在存储交易数据的数据表中包括以下参数:所属块高度、交易哈希、源头账户地址、目的账户地址、智能合约地址、交易金额以及存储数据。如图4c所示,在存储账户信息的数据表中包括以下参数:账户地址、账户余额。
步骤140:在至少选择所述关系型数据库的情况下,基于交易哈希查询相应的智能合约交易的具体操作信息。在本步骤中,区块链节点具体操作如下:
在基于交易哈希查询到的交易是智能合约交易的情况下,基于所述交易哈希查询所述智能合约的智能合约地址、调用的智能合约函数名称、智能合约函数的参数内容以及所述智能合约的操作内容。
例如,当所述区块链可执行程序启动时,根据数据库配置模式确定是否开放随机查询接口和复杂查询接口,在至少选择所述关系型数据库的情况下,区块链节点开放随机查询接口和复杂查询接口,使得用户能够通过随机查询接口和复杂查询接口查询智能合约交易内容、账户的交易历史信息等。
另外,在至少选择所述关系型数据库的情况下,区块链节点还能够进行如下操作:
基于交易哈希查询相应交易的交易内容,其中,所述交易内容至少包括块高度、源账户地址、目的账户地址、交易金额;基于账户地址查询相应账户的交易历史信息;分页查询块数据列表;以及分页查询交易数据列表。
实施例1所公开的基于区块链实现支持多种数据库的方法能够允许区块链节点根据用户需求或业务需求方便灵活的选择一种或多种数据库存储、读取区块链数据,由此可以规避某一种数据库的不足,同时提高了区块链的应用灵活性。另外,允许区块链的不同区块链节点根据其自身用户的需求设定不同的数据库配置模式,以建立与不同类型的数据库的通信关系。
实施例2
图2示出了基于区块链实现支持多种数据库的方法的实施例之二的流程图。在本实施例中,在区块链中的任一区块链节点执行图1所示的步骤110-140中的任一步骤的过程中,该区块链节点还可以实施图2所示的方法,具体如下:
步骤210:重新设定所述数据库配置模式。在本步骤中,区块链节点的具体操作如下:
在先前运行的数据库配置模式是仅选择所述关系型数据库(例如,SQLite)的情况下,设定任一第二类配置模式。例如,可以重新设定选择关系型数据库=SQLite,键值型数据库=LevelDB或RocksDB。
替代地,在先前运行的数据库配置模式是仅选择所述第一键值型数据库的情况下,设定选择所述第一键值型数据库以及所述关系型数据库的第二类配置模式。
例如,在启动区块链可执行程序的过程中,当用户未请求区块链节点设定数据库配置模式时,该区块链节点基于默认配置模式(也即,键值型数据库=LevelDB,关系型数据库=null)确定所述区块链可执行程序中的数据库配置参数;则重新设定数据库配置模式时仅能选择关系型数据库=SQLite,键值型数据库=LevelDB的第二类配置模式。
替代地,在先前运行的数据库配置模式是仅选择所述第二键值型数据库的情况下,可以重新设定选择所述第二键值型数据库以及所述关系型数据库的第二类配置模式。
在本实施例中,当先前运行的数据库配置模式是键值型数据库=RocksDB、关系型数据库=null时,重新设定数据库配置模式时仅能选择关系型数据库=SQLite,键值型数据库=RocksDB的第二类配置模式。
替代地,在先前运行的数据库配置模式是选择所述关系型数据库以及所述第一键值型数据库的情况下,可以重新设定仅选择所述关系型数据库、或者设定仅选择所述第一键值型数据库。
在本实施例中,当先前运行的数据库配置模式是关系型数据库=SQLite、键值型数据库=LevelDB时,重新设定数据库配置模式时可以选择选择关系型数据库=SQLite、键值型数据库=null,或者关系型数据库=null、键值型数据库=LevelDB。
在先前运行的数据库配置模式是选择所述关系型数据库以及所述第二键值型数据库的情况下,可以重新设定仅选择所述关系型数据库、或者设定仅选择所述第二键值型数据库。
在本实施例中,当先前运行的数据库配置模式是关系型数据库=SQLite、键值型数据库=RocksDB时,重新设定数据库配置模式时可以选择选择关系型数据库=SQLite、键值型数据库=null,或者关系型数据库=null、键值型数据库=RocksDB。
步骤220:基于重新设定的数据库配置模式,确定所述区块链可执行程序中的数据库配置参数。
步骤230:基于所述数据库配置参数,建立与相应数据库的通信关系。
步骤240:基于所述通信关系,将区块链数据写入所述数据库中。
在本实施例中所公开的步骤220-240的操作过程类似于实施例1所公开的步骤110-130的操作过程,在此不再赘述。
另外,如图3所公开的基于区块链实现支持多种数据库的方法的实施例之二的另一个流程图,在先前运行的数据库配置模式是任一第一类配置模式的情况下,在基于所述通信关系将区块链数据写入所述数据库中之后,区块链节点还应当进行如下操作:
步骤310:确定第一数据库中存储的内容是否与第二数据库中存储的内容一致,其中,所述第一数据库是先前存储所述区块链数据的数据库,所述第二数据库是重新设定的另一个数据库。
在本实施例中,区块链节点通过比较第一数据库与第二数据库中存储的区块的块高度和最新块数据内容来确定第一数据库与第二数据库的存储内容是否一致。
步骤320:在确定所述第一数据库中存储的内容与所述第二数据库中存储的内容不一致的情况下,将所述第一数据库中存储的、与所述第二数据库中不同的区块链数据同步到所述第二数据库中。
在本步骤中,区块链节点新建线程以便于将第一数据库中存储的、第二数据库中未存储的数据插入第二数据库中,以确保第一数据库中存储的内容与第二数据库中存储的内容最终一致。
例如,当初始数据库配置模式是默认配置模式(也即,键值型数据库=LevelDB,关系型数据库=null)时,用户仅能够请求区块链节点将数据库配置模式重新设定为关系型数据库=SQLite、键值型数据库=LevelDB。区块链节点首先将新的区块链数据存储在LevelDB中,然后将该新的区块链数据从LevelDB中同步到SQLite。
另外,判断LevelDB与SQLite中的块高度与最新块数据内容一一比对,在确定LevelDB与SQLite不一致的情况下,将LevelDB中存储的而SQLite未存储的数据同步到SQLite中。
实施例2所公开的技术方案使用户能够根据应用需要灵活地改变区块链节点的存储方式,例如,具有区块链浏览器功能的区块链节点采用关系型数据库,则可以存储与区块链浏览器相同的数据,从而无需额外再开发区块链浏览器的非展示界面应用,并且使得区块链浏览器中应用的数据具有防篡改性和可追溯性。
如图6所示,本文所公开的基于区块链实现支持多种数据库的设备600能够实现图1-图3所示的基于区块链实现支持多种数据库的方法。设备600至少包括处理器610和存储器620,其中,存储器620被配置为存储指令,使得处理器610执行以下操作:
在启动区块链可执行程序的情况下,基于数据库配置模式确定所述区块链可执行程序中的数据库配置参数,其中,所述数据库配置模式包括选择关系型数据库或键值型数据库中的至少一种的第一类配置模式以及选择关系型数据库和键值型数据库两者的第二类配置模式;
基于所述数据库配置参数,建立与相应数据库的通信关系;
基于所述通信关系,将区块链数据写入所述数据库中;以及在至少选择所述关系型数据库的情况下,基于交易哈希查询相应的智能合约交易的具体操作信息。
在依据本公开内容的一个实施例中,在启动所述区块链可执行程序的同时、在建立与数据库的通信关系的同时、在区块链数据写入所述数据库中的同时和/或在查询区块链数据的同时,当所述指令执行时使得所述处理器610进一步执行以下操作:
重新设定所述数据库配置模式;
基于重新设定的数据库配置模式,确定所述区块链可执行程序中的数据库配置参数;
基于所述数据库配置参数,建立与相应数据库的通信关系;
基于所述通信关系,将区块链数据写入所述数据库中。
在依据本公开内容的一个实施例中,所述第一类配置模式包括仅选择所述关系型数据库、仅选择第一键值型数据库和/或仅选择第二键值型数据库;所述第二类配置模式包括选择所述关系型数据库以及所述第一键值型数据库或者选择所述关系型数据库以及所述第二键值型数据库。
在依据本公开内容的一个实施例中,在启动区块链可执行程序的情况下,基于数据库配置模式确定所述区块链可执行程序中的数据库配置参数进一步包括:
在所述数据库配置模式是所述第一类配置模式的情况下,调用与所述关系型数据库、所述第一键值型数据库或所述第二键值型数据库中的一种相关的多个标准接口函数;或者
在所述数据库配置模式是所述第二类配置模式的情况下,调用与所述关系型数据库和所述键值型数据库相关的多个标准接口函数。
在依据本公开内容的一个实施例中,基于所述数据库配置参数建立与相应数据库的通信关系进一步包括:
基于所调用的多个标准接口函数,建立与相应的所述关系型数据库和/或所述键值型数据库的通信关系。
在依据本公开内容的一个实施例中,在至少选择所述关系型数据库的情况下,基于所述通信关系将区块链数据写入所述数据库中进一步包括:
在所述区块链数据是智能合约交易的情况下,在所述关系型数据库中存储交易备注,其中,所述交易备注包括所述智能合约的操作内容;
根据所述智能合约交易的数据结构,在所述关系型数据库中至少还存储所述智能合约交易的交易哈希、智能合约地址、调用的智能合约函数名称以及智能合约函数的参数内容。
在依据本公开内容的一个实施例中,在至少选择所述关系型数据库的情况下基于交易哈希查询相应的智能合约交易的具体操作信息进一步包括:
在基于交易哈希查询到的交易是智能合约交易的情况下,基于所述交易哈希查询所述智能合约的智能合约地址、调用的智能合约函数名称、智能合约函数的参数内容以及所述智能合约的操作内容。
在依据本公开内容的一个实施例中,在至少选择所述关系型数据库的情况下,当所述指令执行时使得所述处理器进一步执行以下操作:
基于交易哈希查询相应交易的交易内容,其中,所述交易内容至少包括块高度、源账户地址、目的账户地址、交易金额;
基于账户地址查询相应账户的交易历史信息;
分页查询块数据列表;
分页查询交易数据列表。
在依据本公开内容的一个实施例中,重新设定所述数据库配置模式进一步包括:
在先前运行的数据库配置模式是仅选择所述关系型数据库的情况下,设定任一第二类配置模式;或者
在先前运行的数据库配置模式是仅选择所述第一键值型数据库的情况下,设定选择所述第一键值型数据库以及所述关系型数据库的第二类配置模式;或者
在先前运行的数据库配置模式是仅选择所述第二键值型数据库的情况下,设定选择所述第二键值型数据库以及所述关系型数据库的第二类配置模式;或者
在先前运行的数据库配置模式是选择所述关系型数据库以及所述第一键值型数据库的情况下,设定仅选择所述关系型数据库、或者设定仅选择所述第一键值型数据库;或者
在先前运行的数据库配置模式是选择所述关系型数据库以及所述第二键值型数据库的情况下,设定仅选择所述关系型数据库、或者设定仅选择所述第二键值型数据库。
在依据本公开内容的一个实施例中,在先前运行的数据库配置模式是任一第一类配置模式的情况下,在基于所述通信关系将区块链数据写入所述数据库中之后,当所述指令执行时使得所述处理器进一步执行以下操作:
确定第一数据库中存储的内容是否与第二数据库中存储的内容一致,其中,所述第一数据库是先前存储所述区块链数据的数据库,所述第二数据库是重新设定的另一个数据库;
在确定所述第一数据库中存储的内容与所述第二数据库中存储的内容不一致的情况下,将所述第一数据库中存储的、与所述第二数据库中不同的区块链数据同步到所述第二数据库中。
本文所公开的基于区块链实现支持多种数据库的设备能够实现区块链网络中的任一区块链节点根据实际业务需求与一种或多种数据库(例如,键值型数据库、关系型数据库等)通信,进而实现在不同类型的数据库中存储区块链数据,最终根据不同的数据存储类型来读取数据;既能够规避仅使用某一种数据库存在的缺陷,又能够提高数据的防篡改性和可靠性。
替代地,上述的基于区块链实现支持多种数据库的方法能够通过计算机程序产品来实现。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
以上所述仅为本公开的实施例可选实施例,并不用于限制本公开的实施例,对于本领域的技术人员来说,本公开的实施例可以有各种更改和变化。凡在本公开的实施例的精神和原则之内,所作的任何修改、等效替换、改进等,均应包含在本公开的实施例的保护范围之内。
虽然已经参考若干具体实施例描述了本公开的实施例,但是应该理解,本公开的实施例并不限于所公开的具体实施例。本公开的实施例旨在涵盖在所附权利要求的精神和范围内所包括的各种修改和等同布置。所附权利要求的范围符合最宽泛的解释,从而包含所有这样的修改及等同结构和功能。

Claims (20)

1.一种基于区块链实现支持多种数据库的方法,所述方法包括:
在启动区块链可执行程序的情况下,基于数据库配置模式确定所述区块链可执行程序中的数据库配置参数,其中,所述数据库配置模式包括选择关系型数据库或键值型数据库中的至少一种的第一类配置模式以及选择关系型数据库和键值型数据库两者的第二类配置模式;
基于所述数据库配置参数,建立与相应数据库的通信关系;
基于所述通信关系,将区块链数据写入所述数据库中;以及
在至少选择所述关系型数据库的情况下,基于交易哈希查询相应的智能合约交易的具体操作信息。
2.根据权利要求1所述的方法,其中,所述方法进一步包括:
重新设定所述数据库配置模式;
基于重新设定的数据库配置模式,确定所述区块链可执行程序中的数据库配置参数;
基于所述数据库配置参数,建立与相应数据库的通信关系;
基于所述通信关系,将区块链数据写入所述数据库中。
3.根据权利要求1或2所述的方法,其中,
所述第一类配置模式至少包括仅选择所述关系型数据库、仅选择第一键值型数据库和/或仅选择第二键值型数据库;
所述第二类配置模式至少包括选择所述关系型数据库以及所述第一键值型数据库或者选择所述关系型数据库以及所述第二键值型数据库。
4.根据权利要求3所述的方法,其中,在启动区块链可执行程序的情况下,基于数据库配置模式确定所述区块链可执行程序中的数据库配置参数进一步包括:
在所述数据库配置模式是所述第一类配置模式的情况下,调用与所述关系型数据库、所述第一键值型数据库或所述第二键值型数据库中的一种相关的多个标准接口函数;或者
在所述数据库配置模式是所述第二类配置模式的情况下,调用与所述关系型数据库和所述键值型数据库相关的多个标准接口函数。
5.根据权利要求4所述的方法,其中,基于所述数据库配置参数建立与相应数据库的通信关系进一步包括:
基于所调用的多个标准接口函数,建立与相应的所述关系型数据库和/或所述键值型数据库的通信关系。
6.根据权利要求1所述的方法,其中,在至少选择所述关系型数据库的情况下基于所述通信关系将区块链数据写入所述数据库中进一步包括:
在所述区块链数据是智能合约交易的情况下,在所述关系型数据库中存储交易备注,其中,所述交易备注包括所述智能合约的操作内容;
根据所述智能合约交易的数据结构,在所述关系型数据库中至少还存储所述智能合约交易的交易哈希、智能合约地址、调用的智能合约函数名称以及智能合约函数的参数内容。
7.根据权利要求6所述的方法,其中,在至少选择所述关系型数据库的情况下基于交易哈希查询相应的智能合约交易的具体操作信息进一步包括:
在基于交易哈希查询到的交易是智能合约交易的情况下,基于所述交易哈希查询所述智能合约的智能合约地址、调用的智能合约函数名称、智能合约函数的参数内容以及所述智能合约的操作内容。
8.根据权利要求1所述的方法,其中,在至少选择所述关系型数据库的情况下,所述方法进一步包括:
基于交易哈希查询相应交易的交易内容,其中,所述交易内容至少包括块高度、源账户地址、目的账户地址、交易金额;
基于账户地址查询相应账户的交易历史信息;
分页查询块数据列表;
分页查询交易数据列表。
9.根据权利要求3所述的方法,其中,重新设定所述数据库配置模式进一步包括:
在先前运行的数据库配置模式是仅选择所述关系型数据库的情况下,设定任一第二类配置模式;或者
在先前运行的数据库配置模式是仅选择所述第一键值型数据库的情况下,设定选择所述第一键值型数据库以及所述关系型数据库的第二类配置模式;或者
在先前运行的数据库配置模式是仅选择所述第二键值型数据库的情况下,设定选择所述第二键值型数据库以及所述关系型数据库的第二类配置模式;或者
在先前运行的数据库配置模式是选择所述关系型数据库以及所述第一键值型数据库的情况下,设定仅选择所述关系型数据库、或者设定仅选择所述第一键值型数据库;或者
在先前运行的数据库配置模式是选择所述关系型数据库以及所述第二键值型数据库的情况下,设定仅选择所述关系型数据库、或者设定仅选择所述第二键值型数据库。
10.根据权利要求9所述的方法,其中,在先前运行的数据库配置模式是任一第一类配置模式的情况下,在基于所述通信关系将区块链数据写入所述数据库中之后,所述方法进一步包括:
确定第一数据库中存储的内容是否与第二数据库中存储的内容一致,其中,所述第一数据库是先前存储所述区块链数据的数据库,所述第二数据库是重新设定的另一个数据库;
在确定所述第一数据库中存储的内容与所述第二数据库中存储的内容不一致的情况下,将所述第一数据库中存储的、与所述第二数据库中不同的区块链数据同步到所述第二数据库中。
11.一种基于区块链实现支持多种数据库的设备,所述设备包括:
处理器;以及
存储器,其用于存储指令,当所述指令执行时使得所述处理器执行以下操作:
在启动区块链可执行程序的情况下,基于数据库配置模式确定所述区块链可执行程序中的数据库配置参数,其中,所述数据库配置模式包括选择关系型数据库或键值型数据库中的至少一种的第一类配置模式以及选择关系型数据库和键值型数据库两者的第二类配置模式;
基于所述数据库配置参数,建立与相应数据库的通信关系;
基于所述通信关系,将区块链数据写入所述数据库中;以及
在至少选择所述关系型数据库的情况下,基于交易哈希查询相应的智能合约交易的具体操作信息。
12.根据权利要求11所述的设备,其中,当所述指令执行时使得所述处理器进一步执行以下操作:
重新设定所述数据库配置模式;
基于重新设定的数据库配置模式,确定所述区块链可执行程序中的数据库配置参数;
基于所述数据库配置参数,建立与相应数据库的通信关系;
基于所述通信关系,将区块链数据写入所述数据库中。
13.根据权利要求11或12所述的设备,其中,
所述第一类配置模式至少包括仅选择所述关系型数据库、仅选择第一键值型数据库和/或仅选择第二键值型数据库;
所述第二类配置模式至少包括选择所述关系型数据库以及所述第一键值型数据库或者选择所述关系型数据库以及所述第二键值型数据库。
14.根据权利要求13所述的设备,其中,在启动区块链可执行程序的情况下,基于数据库配置模式确定所述区块链可执行程序中的数据库配置参数进一步包括:
在所述数据库配置模式是所述第一类配置模式的情况下,调用与所述关系型数据库、所述第一键值型数据库或所述第二键值型数据库中的一种相关的多个标准接口函数;或者
在所述数据库配置模式是所述第二类配置模式的情况下,调用与所述关系型数据库和所述键值型数据库相关的多个标准接口函数。
15.根据权利要求14所述的设备,其中,基于所述数据库配置参数建立与相应数据库的通信关系进一步包括:
基于所调用的多个标准接口函数,建立与相应的所述关系型数据库和/或所述键值型数据库的通信关系。
16.根据权利要求11所述的设备,其中,在至少选择所述关系型数据库的情况下基于所述通信关系将区块链数据写入所述数据库中进一步包括:
在所述区块链数据是智能合约交易的情况下,在所述关系型数据库中存储交易备注,其中,所述交易备注包括所述智能合约的操作内容;
根据所述智能合约交易的数据结构,在所述关系型数据库中至少还存储所述智能合约交易的交易哈希、智能合约地址、调用的智能合约函数名称以及智能合约函数的参数内容。
17.根据权利要求16所述的设备,其中,在至少选择所述关系型数据库的情况下基于交易哈希查询相应的智能合约交易的具体操作信息进一步包括:
在基于交易哈希查询到的交易是智能合约交易的情况下,基于所述交易哈希查询所述智能合约的智能合约地址、调用的智能合约函数名称、智能合约函数的参数内容以及所述智能合约的操作内容。
18.根据权利要求11所述的设备,其中,在至少选择所述关系型数据库的情况下,当所述指令执行时使得所述处理器进一步执行以下操作:
基于交易哈希查询相应交易的交易内容,其中,所述交易内容至少包括块高度、源账户地址、目的账户地址、交易金额;
基于账户地址查询相应账户的交易历史信息;
分页查询块数据列表;
分页查询交易数据列表。
19.根据权利要求13所述的设备,其中,重新设定所述数据库配置模式进一步包括:
在先前运行的数据库配置模式是仅选择所述关系型数据库的情况下,设定任一第二类配置模式;或者
在先前运行的数据库配置模式是仅选择所述第一键值型数据库的情况下,设定选择所述第一键值型数据库以及所述关系型数据库的第二类配置模式;或者
在先前运行的数据库配置模式是仅选择所述第二键值型数据库的情况下,设定选择所述第二键值型数据库以及所述关系型数据库的第二类配置模式;或者
在先前运行的数据库配置模式是选择所述关系型数据库以及所述第一键值型数据库的情况下,设定仅选择所述关系型数据库、或者设定仅选择所述第一键值型数据库;或者
在先前运行的数据库配置模式是选择所述关系型数据库以及所述第二键值型数据库的情况下,设定仅选择所述关系型数据库、或者设定仅选择所述第二键值型数据库。
20.根据权利要求19所述的设备,其中,在先前运行的数据库配置模式是任一第一类配置模式的情况下,在基于所述通信关系将区块链数据写入所述数据库中之后,当所述指令执行时使得所述处理器进一步执行以下操作:
确定第一数据库中存储的内容是否与第二数据库中存储的内容一致,其中,所述第一数据库是先前存储所述区块链数据的数据库,所述第二数据库是重新设定的另一个数据库;
在确定所述第一数据库中存储的内容与所述第二数据库中存储的内容不一致的情况下,将所述第一数据库中存储的、与所述第二数据库中不同的区块链数据同步到所述第二数据库中。
CN201910111261.3A 2019-02-12 2019-02-12 基于区块链实现支持多种数据库的方法及设备 Active CN109857724B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910111261.3A CN109857724B (zh) 2019-02-12 2019-02-12 基于区块链实现支持多种数据库的方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910111261.3A CN109857724B (zh) 2019-02-12 2019-02-12 基于区块链实现支持多种数据库的方法及设备

Publications (2)

Publication Number Publication Date
CN109857724A true CN109857724A (zh) 2019-06-07
CN109857724B CN109857724B (zh) 2022-12-02

Family

ID=66897656

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910111261.3A Active CN109857724B (zh) 2019-02-12 2019-02-12 基于区块链实现支持多种数据库的方法及设备

Country Status (1)

Country Link
CN (1) CN109857724B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110245117A (zh) * 2019-06-13 2019-09-17 南开大学 一种基于区块链的云上数据可信删除方法与系统
CN110597835A (zh) * 2019-09-17 2019-12-20 深圳前海微众银行股份有限公司 一种基于区块链的交易数据删除方法及装置
CN111222935A (zh) * 2018-11-26 2020-06-02 北京沃东天骏信息技术有限公司 一种基于区块链网络的交通工具共享方法、终端及存储介质
CN111340530A (zh) * 2020-02-17 2020-06-26 深圳市二十一天网络科技有限公司 基于区块链的数字权益系统
CN111506577A (zh) * 2020-04-13 2020-08-07 杭州溪塔科技有限公司 区块链上基于多种状态组织方式的数据操作方法和装置
CN112328693A (zh) * 2020-11-16 2021-02-05 杭州复杂美科技有限公司 区块同步方法、设备和存储介质
CN112363805A (zh) * 2020-11-16 2021-02-12 杭州复杂美科技有限公司 区块链jvm数据访问方法、设备和存储介质
CN112597153A (zh) * 2020-12-09 2021-04-02 杭州趣链科技有限公司 一种基于区块链的数据存储方法、装置及存储介质
WO2021114627A1 (zh) * 2020-05-28 2021-06-17 平安科技(深圳)有限公司 基于分布式事务的数据处理方法、装置、终端及存储介质
CN113328920A (zh) * 2021-08-04 2021-08-31 成都飞机工业(集团)有限责任公司 一种对设备数据的采集与存储方法
CN113821570A (zh) * 2021-11-22 2021-12-21 中国信息通信研究院 基于区块链和sql的数据处理方法
CN115801269A (zh) * 2022-10-31 2023-03-14 云南电网有限责任公司 一种基于区块链的异构融合组网设备认证方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170206604A1 (en) * 2016-01-20 2017-07-20 Flair, Inc. Systems and methods for managing a talent based exchange
US20170213209A1 (en) * 2016-01-21 2017-07-27 International Business Machines Corporation Enterprise blockchains and transactional systems
CN107273556A (zh) * 2017-08-23 2017-10-20 上海点融信息科技有限责任公司 区块链数据索引方法和设备
CN107657059A (zh) * 2017-10-20 2018-02-02 中国银行股份有限公司 基于区块链应用系统的数据同步方法、中间件及系统
US20180089641A1 (en) * 2016-09-27 2018-03-29 The Toronto-Dominion Bank Processing network architecture with companion database
CN108876616A (zh) * 2018-06-13 2018-11-23 众安信息技术服务有限公司 基于区块链的交易信息处理方法、装置和资产登记结算系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170206604A1 (en) * 2016-01-20 2017-07-20 Flair, Inc. Systems and methods for managing a talent based exchange
US20170213209A1 (en) * 2016-01-21 2017-07-27 International Business Machines Corporation Enterprise blockchains and transactional systems
US20180089641A1 (en) * 2016-09-27 2018-03-29 The Toronto-Dominion Bank Processing network architecture with companion database
CN107273556A (zh) * 2017-08-23 2017-10-20 上海点融信息科技有限责任公司 区块链数据索引方法和设备
CN107657059A (zh) * 2017-10-20 2018-02-02 中国银行股份有限公司 基于区块链应用系统的数据同步方法、中间件及系统
CN108876616A (zh) * 2018-06-13 2018-11-23 众安信息技术服务有限公司 基于区块链的交易信息处理方法、装置和资产登记结算系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
舒航等: "区块链技术研究综述", 《福建电脑》 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111222935A (zh) * 2018-11-26 2020-06-02 北京沃东天骏信息技术有限公司 一种基于区块链网络的交通工具共享方法、终端及存储介质
CN110245117A (zh) * 2019-06-13 2019-09-17 南开大学 一种基于区块链的云上数据可信删除方法与系统
CN110597835A (zh) * 2019-09-17 2019-12-20 深圳前海微众银行股份有限公司 一种基于区块链的交易数据删除方法及装置
CN111340530A (zh) * 2020-02-17 2020-06-26 深圳市二十一天网络科技有限公司 基于区块链的数字权益系统
CN111506577A (zh) * 2020-04-13 2020-08-07 杭州溪塔科技有限公司 区块链上基于多种状态组织方式的数据操作方法和装置
CN111506577B (zh) * 2020-04-13 2023-08-22 杭州溪塔科技有限公司 区块链上基于多种状态组织方式的数据操作方法和装置
WO2021114627A1 (zh) * 2020-05-28 2021-06-17 平安科技(深圳)有限公司 基于分布式事务的数据处理方法、装置、终端及存储介质
CN112363805A (zh) * 2020-11-16 2021-02-12 杭州复杂美科技有限公司 区块链jvm数据访问方法、设备和存储介质
CN112328693A (zh) * 2020-11-16 2021-02-05 杭州复杂美科技有限公司 区块同步方法、设备和存储介质
CN112597153A (zh) * 2020-12-09 2021-04-02 杭州趣链科技有限公司 一种基于区块链的数据存储方法、装置及存储介质
CN112597153B (zh) * 2020-12-09 2023-07-25 杭州趣链科技有限公司 一种基于区块链的数据存储方法、装置及存储介质
CN113328920A (zh) * 2021-08-04 2021-08-31 成都飞机工业(集团)有限责任公司 一种对设备数据的采集与存储方法
CN113328920B (zh) * 2021-08-04 2021-10-29 成都飞机工业(集团)有限责任公司 一种对设备数据的采集与存储方法
CN113821570A (zh) * 2021-11-22 2021-12-21 中国信息通信研究院 基于区块链和sql的数据处理方法
CN113821570B (zh) * 2021-11-22 2022-03-01 中国信息通信研究院 基于区块链和sql的数据处理方法
CN115801269A (zh) * 2022-10-31 2023-03-14 云南电网有限责任公司 一种基于区块链的异构融合组网设备认证方法

Also Published As

Publication number Publication date
CN109857724B (zh) 2022-12-02

Similar Documents

Publication Publication Date Title
CN109857724A (zh) 基于区块链实现支持多种数据库的方法及设备
CN110471795A (zh) 区块链状态数据恢复方法及装置、电子设备
CN109359222A (zh) 数据存储方法及系统、设备和存储介质
CN110457319A (zh) 区块链状态数据存储方法及装置、电子设备
CN108694575A (zh) 基于区块链的转账验证方法、装置及存储介质
US20230109969A1 (en) Data processing method and apparatus based on node internal memory, device and medium
CN110471985A (zh) 基于区块链的电子票据作废方法及装置、电子设备
CN109508334B (zh) 针对区块链数据库的数据压缩方法、访问方法和系统
CN105074724A (zh) 使用列式数据库中的直方图进行有效查询处理
CN110275884A (zh) 数据存储方法及节点
CN110020542A (zh) 数据读写方法及装置、电子设备
CN109669709A (zh) 一种区块链升级的数据迁移方法及数据迁移系统
CN101226542B (zh) 一种报表缓存的方法
CN110147684A (zh) 用于实现区块链数据隐私保护的方法及设备
CN102023973A (zh) 一种应用缓存服务器与数据库同步的方法、装置和系统
CN110032598A (zh) 字段更新方法及装置、电子设备
CN110473030A (zh) 基于区块链的电子票据号码申领方法及装置、电子设备
CN109559229A (zh) 基于区块链的更新智能合约组的方法
CN109977274A (zh) 一种数据查询和验证方法、系统、设备及存储介质
CN104317957B (zh) 一种报表处理的开放平台、系统及报表处理方法
CN110060161A (zh) 用于区块链交易防重的客户端服务实现方法及服务组件
CN109118053A (zh) 一种盗卡风险交易的识别方法和装置
CN110473081A (zh) 基于区块链的电子票据报销方法及装置、电子设备
CN109598407A (zh) 一种业务流程的执行方法及装置
CN106339387B (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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240320

Address after: Room 1179, W Zone, 11th Floor, Building 1, No. 158 Shuanglian Road, Qingpu District, Shanghai, 201702

Patentee after: Shanghai Zhongan Information Technology Service Co.,Ltd.

Country or region after: China

Address before: 518052 Room 201, building A, 1 front Bay Road, Shenzhen Qianhai cooperation zone, Shenzhen, Guangdong

Patentee before: ZHONGAN INFORMATION TECHNOLOGY SERVICE Co.,Ltd.

Country or region before: China