CN109558453B - 一种区块链数据网络化存储和移存的方法 - Google Patents
一种区块链数据网络化存储和移存的方法 Download PDFInfo
- Publication number
- CN109558453B CN109558453B CN201811427341.1A CN201811427341A CN109558453B CN 109558453 B CN109558453 B CN 109558453B CN 201811427341 A CN201811427341 A CN 201811427341A CN 109558453 B CN109558453 B CN 109558453B
- Authority
- CN
- China
- Prior art keywords
- data
- storage
- agent layer
- block chain
- storage agent
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出了一种区块链数据网络化存储和移存的方法;区块链节点中插入所述存储代理层,把区块链数据存储读写请求发送到存储代理层,再由存储代理层根据配置选择到本地文件库、网络文件库或关系数据库等多个数据源中存取区块链数据;通过存储代理层的数据源分配机制,可以把特定的区块链数据配置到特定的数据源中,并允许部分数据源离线,从而实现区块链的数据移存,解决区块链数据生产环境的存储压力问题。
Description
技术领域
本发明涉及区块链技术领域,特别涉及一种区块链数据网络化存储和移存的方法。
背景技术
随着从2008年比特币问世一来,经历十年的发展,区块链这种分布式的、全网一致的、不可删除、不可篡改的链式区块存储结构,作为一种史无前例的人类记账和存储模式,创造性地解决了人类大规模协作过程中的信用问题。因为这些显著的特点,区块链技术注定会颠覆人类社会传统的运作模式。
以比特币为例(IBM Fabric和比特币高度相似,后节会详细介绍),区块链存储结构如图1所示。区块链由多个区块组成,每个区块由区块头和区块体组成,每个区块头包含区块元信息,同时包含一个指向前一个区块数据哈希值的指针,这个指针是防止区块链被篡改的关键信息。
区块体包含了比特币的交易信息,第一个交易是特殊交易,是奖励给挖矿节点的酬劳,这是唯一一种可以产生比特币的方式,也是比特币的发行方式,其余的交易都是转账交易,即比特币从一个地址支付给另外一个地址,这也是实现比特币价值转移的唯一方式。因此,比特币只有发行和转账两种交易,比特币产生以后只能从一个人转账到另外一个人,而不能凭空消失。
所有交易记录都存在区块里,每一区块包含了前一区块所有交易的Hash值,依次按照此方法记账,则最新的区块总是间接包含了所有之前的账单信息。
所有这些区块组合起来就形成了区块链,这样的区块链构成了一个容易验证(只要验证最后一个区块的Hash值就相当于验证了整个账本)、不可更改(任何一个交易信息的更改,会让所有之后的区块Hash值发生变化,这样在验证时就无法通过)的总账本。
区块链这种特殊的存储结构,在创造性地解决信任问题的同时,也带来了一个显著的负面特征,因为区块链数据的不可删除,不可篡改特性,会导致区块链节点的数据存储量无上限地增长,最终导致存储系统的压力越来越大,直至系统崩溃。需要说明的是,现在计算机存储技术的进步速度依然很快,存储系统的效率(读写速度)不断提高和支持的存储空间不断扩大,可以一定程度上缓解区块链不断增长的存储压力。以历史最长的比特币公链为例,因为只是简单存储交易信息,迄今为止,节点存储的数据约为50G左右,尚未造成明显的存储问题。但随着以商业主体为应用对象的联盟链在各个行业的应用,对区块链的存储要求,不会永远局限在简单的交易层面,对区块链的存储要求,会越来越大,而且存储技术的进步速度,也不可能永远保存以往的高速度,总有一天会慢下来。
因此,区块链的数据,至少生产环境的直接存储数据,不能永远无限地增长,必须有一个技术方案,来解决生产环境的数据移存问题。
到目前为止,市场上尚没有成熟的区块链的数据移存方案。现对主流区块链的存储方案介绍如下:
一、比特币
比特币存储系统由普通文件和KV数据库(levelDB)组成。普通文件用于存储区块链数据,KV数据库用于存储区块链元数据。
用于存储区块链数据的普通文件以blk00000.dat,blk00001.dat文件名格式组成,为了快速检索区块数据每个文件的大小是128M Bytes。每个区块的数据(区块头和区块里的所有交易)都会序列成字节码的形式写入dat文件中。在序列化的过程中,如果检测到当前写入文件尺寸加上区块尺寸大于128M Bytes,则会重新生成一个dat文件。
上述所有元数据都将写入KV数据库中,其中blockhash/txHash将作为后续查询具体数据在dat文件中的索引使用。
综上所述,在获取链数据的时候只需传入区哈希或是交易哈希,就能快速定位到区块数据或是交易数据。
二、瑞波币
Ripple是世界上第一个开放的支付网络,通过这个支付网络可以转账任意一种货币,包括美元、欧元、人民币、日元或者比特币,简便易行快捷,交易确认在几秒以内完成,交易费用几乎是零,没有所谓的跨行异地以及跨国支付费用。
Ripple的区块链数据存储系统是由关系型数据库(sqlite)和kv数据库组成,其中关系型数据库用来存储区块头信息和每笔交易的具体信息,kv数据库主要存储区块头、交易和状态表序列化后的数据。Ripple这样处理的主要目的是单纯在查询区块头信息和具体每笔交易的时候,可以直接从关系型数据库中查找;而要构造整个区块数据的时候,除了从关系型数据库构造区块头信息外,还要依据区块头里的交易根哈希和状态表根哈希从kv数据库中获取具体的交易和状态表信息。这是Ripple和其他三种类型区块链系统唯一最大的不同。
三、以太坊
以太坊是一个开源的有智能合约功能的公共区块链平台。以太坊的区块主要由区块头和交易组成,区块在存储的过程中分别将区块头和交易体经过RLP编码后存入至KV数据当中。以太坊在数据存储的过程中,每个value对应的key都有相对应的前缀,不同类型的value对应不同的前缀。
区块的信息可以通过区块哈希和区块高度进行检索,在数据查询的时候,应用层只需要提供交易hash、区块高度和区块哈希就能得到交易key,从而查询到相关的交易信息。
四、IBM Fabric
Hyperledger fabric(HLF)是由Linux基金会主导推广的区块链开源项目。在Hyperledger Fabric的基础上又衍生出了其他一些相关的项目。HyperLedger项目汇集了金融、银行、物联网、供应链、制造等各界开发人员的心血。目的是为了打造一个跨领域的区块链应用。
Fabric的存储系统和比特币一样,也是由普通的文件和键值(kv)数据库(levelDB/couchDB)组成。在Fabric中,每个通道(channel)对应一个账本目录,在账本目录中由blockfile_000000、blockfile_000001命名格式的文件名组成。为了快速检索区块数据,每个文件的大小是64M Bytes。每个区块的数据(区块头和区块里的所有交易)都会序列成字节码的形式写入区块(block file)文件中。
在序列化的过程中,程序以append方式打开区块(block file)文件,然后将区块大小和区块数据写入至区块(block file)文件中。
区块数据写入的具体流程如下:
1.写入区块头数据,依次写入的数据为区块高度、交易哈希和前一个区块哈希;
2.写入交易数据,依次写入的数据为区块所包含的交易总量和每笔交易详细数据;
3.写入区块的Metadata数据,依次写入的数据为Metadata数据总量和每个Metadata项的数据详细信息。
在写入数据的过程中会以键值(kv)的形式保存区块和交易在区块(block file)文件中的索引信息,以方便Fabric的快速查询。
Fabric区块索引信息格式在kv数据库中存储的最终的LevelKey值有前缀标志和区块hash组成,而LevelValue的值由区块高度,区块hash,本地文件信息(文件名,文件偏移等信息),每个交易在文件中的偏移列表和区块的MetaData组成,Fabric按照特定的编码方式将上述的信息拼接成db数据库中的value。
Fabric交易索引信息格式在kv数据库中存储最终的LevelKey值由channel_name,chaincode_name和chaincode中的key值组合而成:LevelKey=channel_name+[]byte+chaincode_name+[]byte+key而LevelValue的值由BlockNum区块号,TxNum交易在区块中的编号组成,Fabric通过将区块号和交易编号按照特定的方式编码,然后与chaincode中的value相互拼接最终生成数据库中的value。
综上所述,主要区块链除了Ripple使用的关系型数据库存储、检索区块数据外,其他三种类型的区块链都使用kv数据库存储区块链的检索信息。在存储、检索数据上,比特币和Hyperledger Fabric高度一致,即使用普通文件存储区块数据,使用kv数据库存储检索信息;以太坊的区块数据和检索信息都存储至kv数据库中,而Ripple的区块数据也会存储至kv数据库中。
迄今为止,所有的区块链平台,技术重点都放在功能实现上,仅考虑了节点数据的本地存储方案(即数据存在本机磁盘中),尚没有考虑长期大规模数据运营的网络存储方案和数据移存方案。
此外,不像公链中简单的、永不过时的加密货币交易,基于不同行业和应用场景的联盟链,很多交易资产是存在时间期限的,超过期限的资产及其相关交易,极少会有相关读写操作,不适合长期存储在生产环境中。区块链节点的数据网络存储和数据移存需要,成为一个亟待解决的问题。
发明内容
为了解决以上的问题,本发明通过在区块链节点中插入所述存储代理层,把区块链数据存储读写请求发送到存储代理层,再由存储代理层选择将区块链的数据存储到本地文件库、网络文件库或网络关系数据库中;同时,通过数据源分配机制,可以把特定的区块链数据配置到特定的数据源中,并允许部分数据源离线,从而实现区块链的数据移存,解决区块链数据生产环境的存储压力问题。
本发明的技术方案是这样实现的:包括区块链和存储代理层;在所述区块链节点中插入所述存储代理层,区块链节点通过所述的存储代理层去实现区块链数据的存储;
所述区块链数据网络化存储和移存的方法,操作流程如下:
S01.在传统区块链节点的存储体系中,通过改写数据存储接口,插入一个存储代理层;
S02.所述的存储代理层实际执行存储读写指令,即区块链节点的存储读写指令,先发到存储代理层,再由存储代理层去实际执行读写指令,再将执行结果返回给区块链节点;
S03.通过所述的存储代理层的配置功能实现多数据源读写,即通过所述的存储代理层的配置文件设置,存储代理层支持将特定区块数据,分配到特定的数据源,即特定范围的区块数据,到特定的数据源去存取;
S04.所述的存储代理层支持的数据源可以是本地的数据文件和KV数据库、局域网中其他机器的数据文件和KV数据库、关系数据库;
S05.所述的存储代理层支持部分数据源离线,即所述的存储代理层读写部分数据源失败时,不影响系统的正常运行;
S06.所述的存储代理层支持部分数据源离线报警,即读写部分数据源失败时,通过将读写失败信息写入警报日志等多种手段报警,但不会停机;
S07.所述的存储代理层支持数据移存,通过所述的存储代理层把特定的区块数据配置到特定数据源中,然后让该特定数据源离线,从而实现数据移存。
以上为区块链数据网络化存储和移存的方法。
进一步方案为,通过改写所述区块链数据的存储接口,即可在区块链系统中插入一个存储代理层,加入多个数据源功能,实现区块链数据的多数据源及网络存储和数据源动态配置。
进一步方案为,所述存储代理层可以根据配置将区块链的数据存储到本地文件库、网络文件库或关系数据库中。
进一步方案为,所述数据源可以是部分离线的,即部分数据源离线,不影响系统的正常运行,但会通过包括但不限于手机短信息、电子邮件、微信或QQ等方式报警,当系统报警之后,可以把相关的数据源开机连线即可迅速恢复原状。
进一步方案为,存储代理层通过对数据源的动态配置,把特定区块数据配置到特定的数据源,借助该数据源的离线,实现了历史区块链数据的移存。
进一步方案为,所述区块链数据网络化存储和移存的方法还包括管理的多个本机服务器和用户端。
进一步方案为,所述后台服务器包括处理器及含有多个计算机程序代码的存储器,并能处理操作方法。
实施本发明具有以下有益的技术效果,通过存储代理层把不同的区块数据存储到不同的数据源中,包括本地文件库(数据文件和KV数据库)、非本地文件库(数据文件和KV数据库)、本地关系型数据或者是前述0个、1个或多个数据源的组合。根据实际运营的压力情况,配置各种个性化的存储方案,彻底解决区块链运营中的存储问题。例如,针对业务上存在期限的资产及其交易的情况,我们可以通过改动存储代理层的配置文件,把过去某个时间之前,不会再进行读写的区块数据,分配到特定的数据源中去,而这个数据源可能是离线的(当系统报警之后,再把相关的数据源开机连线即可迅速恢复原状),这样,即可实现区块链数据在生产环境的移存问题。
本发明实现区块链数据存储的多数据源和网络化(而不是仅存储在节点本机的磁盘中)。同时,通过数据源分配机制,可以把特定的区块(比如需要移存的区块)数据配置到特定的数据源中,从而实现数据移存。解决区块链数据的生产环境的存储压力问题。
附图说明
图1为本发明的,区块链存储结构的工作原理图;
图2为本发明的实施例的区块链数据网络化存储和移存的方法的工作原理示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1和图2所示,本发明区块链数据网络化存储和移存的方法,包括区块链和存储代理层;在所述区块链节点中插入所述存储代理层,区块链节点通过所述的存储代理层去实现区块链数据的存储;
本发明区块链数据网络化存储和移存的方法,借助IBM Fabric区块链平台,操作流程如下:
S01.改写IBM Fabric区块链节点的存储接口BlockStoreProvider和BlockStore,在不影响区块链现有上层功能的情况下,重新实现数据存储逻辑,从而插入一个存储代理层(Storage Proxy Layer);
S02.存储代理层实际执行存储读写指令,即区块链节点的存储读写指令,先发到存储代理层,再由存储代理层去实际执行读写指令,再将执行结果返回给区块链节点;
S03.通过存储代理层的配置功能实现多数据源读写,即通过所述的存储代理层的配置文件设置,存储代理层支持将特定区块数据,分配到特定的数据源,即特定范围的区块数据,到特定的数据源去存取;
S04.存储代理层支持的数据源可以是本地的数据文件和KV数据库、局域网中其他机器的数据文件和KV数据库、关系数据库;
S05.存储代理层支持部分数据源离线,即存储代理层读写部分数据源失败时,不影响系统的正常运行;
S06.存储代理层支持部分数据源离线报警,即读写部分数据源失败时,通过将读写失败信息写入警报日志等多种手段报警,但不会停机;
S07.存储代理层支持数据移存,通过存储代理层把特定的区块数据配置到特定数据源中,然后让该特定数据源离线,从而实现数据移存。
以上为区块链节点的数据网络存储和数据移存的方法。
进一步方案为,区块链数据的存储接口包括BlockStoreProvider和BlockStore,通过增加proxy_blockstore_provider.go和Proxy_blockstore.go两个模块,加入数据源功能,并改写blockfile_mgr.go,即可在Fabric系统中插入一个存储代理层,实现网络存储和数据源动态配置。
进一步方案为,存储代理层可以根据配置将区块链的数据存储到本地文件、网络文件库或网络关系数据中。
进一步方案为,数据源可以是部分离线的,即部分数据源离线(关闭),不影响系统的正常运行,但会通过手机短信息、电子邮件、微信或QQ等方式报警,当系统报警之后,可以把相关的数据源恢复连线,接口正常读写。
进一步方案为,存储代理层通过对数据源的动态配置,把特定区块数据配置到特定的数据源,借助该数据源的离线,实现了历史区块链数据的移存。
进一步地,区块链数据网络化存储和移存的方法还包括管理的多个本机服务器和用户端。
进一步地,后台服务器包括处理器及含有多个计算机程序代码的存储器,并能处理操作方法。
本发明通过针对IBM Fabric联盟链平台,采用区块链节点的数据网络存储和数据移存的方法,具体实施方式如下:
Fabric区块链区块文件存储,默认目录/var/hyperledger/production/ledgersData/chains,含index和chains两个子目录。
其中index为索引目录,采用leveldb实现。而chains为各ledger的区块链文件,子目录以ledgerid为名,使用文件系统实现。
区块文件以blockfile_为前缀,最大大小默认64M。blockfile,相关代码集中在common/ledger/blkstorage/fsblkstorage目录,目录结构如下:
*blockfile_mgr.go,blockfileMgr和checkpointInfo结构体及方法。
*block_stream.go,blockfileStream、blockStream、blockPlacementInfo结构体及方法。
*blockfile_rw.go,blockfileWriter和blockfileReader结构体及方法(blockfileReader未使用)。
*blockindex.go,index接口定义,index接口实现即blockIndex结构体及方法定义,以及blockIdxInfo、locPointer、fileLocPointer结构体及方法。
*blockfile_helper.go,定义了4个工具函数,constructCheckpointInfoFromBlockFiles、retrieveLastFileSuffix、isBlockFileName、getFileInfoOrPanic。
作用分别为:扫描最新的blockfile并重新构造检查点信息、获取最新的文件后缀、根据文件前缀判断是否为区块文件、获取文件状态信息。
*block_serialization.go,block序列化相关工具函数。
*blocks_itr.go,blocksItr结构体及方法。
IBM Fabric数据的存储接口主要是BlockStoreProvider和BlockStore。本发明主要通过实现这两个接口,改写common/ledger/blkstorage模块(核心是改写blockfile_mgr.go,fs_blockstore_provider.go,fs_blockstore.go),完成存储代理层的技术实现。
通过增加proxy_blockstore_provider.go,Proxy_blockstore.go两个模块,加入数据源功能,改写blockfile_mgr.go,即可在Fabric系统中插入一个存储代理层,实现网络存储和数据源动态配置。并借助数据源的动态配置技术,实现了历史区块数据的移存。
尽管目前主流公链暂时还未存在严重未能客服的存储压力,主要原因一是存储技术仍然在以比较高的速度发展,二是主流公链都只是进行最简单的加密货币交易,数据量比较小。但长期看,区块链数据只增不减的问题,必须得到解决。此外,目前区块链主要是公链,基于商业主体的联盟链尚未大规模落地。如果联盟链在各种各样的应用场景中落地,对区块链的存储需求将会带来几何级数的增长。使得区块链数据的网络化存储和数据移存,成为不得不解决的障碍。通过本发明的技术方案,不但可以实现区块链数据的网络化存储,同时也可以轻松解决数据移存问题。对区块链技术在各种应用场景的落地,具有非常重要的意义。
本发明的技术方案,把不同的区块数据存储到存储代理层,包括本地文件库(数据文件和KV数据库)、非本地文件库(数据文件和KV数据库)、本地关系型数据或者是前述0个、1个或多个数据源的组合。根据实际运营的压力情况,配置各种个性化的存储方案,彻底解决区块链运营中的存储问题。针对业务上存在期限的资产及其交易的情况,我们可以通过改动存储代理层的配置文件,把过去某个时间之前,不会再进行读写的区块数据,分配到特定的数据源中去,而这个数据源可能是离线的(当系统报警之后,再把相关的数据源开机连线即可迅速恢复原状),这样,我们就轻松实现了区块链数据在生产环境的移存问题。
本发明实现区块链数据存储的多数据源和网络化(而不是仅存储在节点本机的磁盘中)。同时,通过数据源分配机制,可以把特定的区块(比如需要移存的区块)数据配置到特定的数据源中,从而实现数据移存。解决区块链数据的生产环境的存储压力问题。
以上所述仅为本专利优选实施方式,并非限制本专利范围,凡是利用说明书及附图内容所作的等效结构或等效流程变换,直接或间接运用在其它相关的技术领域,均属于本专利保护范围。
Claims (8)
1.一种区块链数据网络化存储和移存的方法,其特征在于:包括区块链和存储代理层;在所述区块链节点中插入所述存储代理层,通过所述存储代理层去实现区块链数据的多数据源存取,包括本地磁盘存取、网络化磁盘存取和关系数据库存取;通过存储代理层的数据源分配机制,可以把特定的区块链数据配置到特定的数据源中,并允许部分数据源离线,从而实现区块链的数据移存,其中,所述特定的区块链数据为预设时间之前的区块数据;
区块链数据网络化存储和移存的方法,操作流程如下:
S01.在传统区块链节点的存储体系中,插入一个存储代理层;
S02.所述的存储代理层实际执行存储读写指令,即区块链节点的存储读写指令,先发到存储代理层,再由存储代理层去实际执行读写指令,再将执行结果返回给区块链节点;
S03.通过所述的存储代理层的配置功能实现多数据源读写,即通过所述的存储代理层的配置文件设置,存储代理层支持将特定区块数据,分配到特定的数据源,即特定范围的区块数据,到特定的数据源去存取;
S04.所述的存储代理层支持的数据源是a、b、c、d的其中一个或其组合:a.数据源是本地数据文件和本地KV数据库;b.数据源是非本地数据文件和非本地KV数据库;c.数据源是本地关系型数据库;d.数据源是非本地关系型数据库;
S05.所述的存储代理层支持部分数据源离线,即所述的存储代理层读写部分数据源失败时,不影响系统的正常运行;
S06.所述的存储代理层支持部分数据源离线报警,即读写部分数据源失败时,通过将读写失败信息写入警报日志,但不会停机;
S07.所述的存储代理层支持数据移存,通过所述的存储代理层把特定的区块数据配置到特定数据源中,然后让该特定数据源离线,从而实现数据移存。
2.如权利要求1所述的区块链数据网络化存储和移存的方法,其特征在于,所述的存储代理层是写在区块链底层上的,支持多数据源可配置、部分数据源可离线,并实际执行存储读写功能实现的程序代码。
3.如权利要求1所述的区块链数据网络化存储和移存的方法,其特征在于,通过改写所述区块链数据的存储接口,即可在区块链系统中插入一个存储代理层。
4.如权利要求1所述的区块链数据网络化存储和移存的方法,其特征在于,所述的存储代理层,支持数据源可配置和多个数据源。
5.如权利要求1所述的区块链数据网络化存储和移存的方法,其特征在于,所述存储代理层通过对数据源的动态配置,并允许部分数据源离线,从而实现部分区块链数据的移存。
6.如权利要求1所述的区块链数据网络化存储和移存的方法,其特征在于,所述数据源是部分离线的,当系统报警之后,如果业务需要,能够把处于离线状态的数据源恢复为在线状态,即可正常读写。
7.如权利要求1所述的区块链数据网络化存储和移存的方法,其特征在于,报警手段包括手机短信、电子邮件、微信或QQ手段。
8.如权利要求1所述的区块链数据网络化存储和移存的方法,其特征在于,所述区块链数据网络化存储和移存的方法还包括管理的多个本机服务器和用户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811427341.1A CN109558453B (zh) | 2018-11-27 | 2018-11-27 | 一种区块链数据网络化存储和移存的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811427341.1A CN109558453B (zh) | 2018-11-27 | 2018-11-27 | 一种区块链数据网络化存储和移存的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109558453A CN109558453A (zh) | 2019-04-02 |
CN109558453B true CN109558453B (zh) | 2021-01-26 |
Family
ID=65867636
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811427341.1A Active CN109558453B (zh) | 2018-11-27 | 2018-11-27 | 一种区块链数据网络化存储和移存的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109558453B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111262921B (zh) * | 2020-01-13 | 2022-11-11 | 北京百度网讯科技有限公司 | 基于区块链网络的应用请求处理方法、装置、设备和介质 |
CN112015817A (zh) * | 2020-08-28 | 2020-12-01 | 支付宝(杭州)信息技术有限公司 | 区块链数据的处理方法、装置及设备 |
CN113268544B (zh) * | 2021-05-31 | 2023-06-27 | 新华三技术有限公司 | 一种数据处理方法及装置 |
CN113256226B (zh) * | 2021-06-28 | 2021-10-19 | 浙江数秦科技有限公司 | 一种基于区块链的农产品箱赋码系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622427A (zh) * | 2012-02-27 | 2012-08-01 | 杭州闪亮科技有限公司 | 读写分离数据库的方法及系统 |
CN106650344A (zh) * | 2016-12-07 | 2017-05-10 | 清华大学 | 一种基于区块链的有第三方认证的数据存储方法 |
CN107704196A (zh) * | 2017-03-09 | 2018-02-16 | 上海亿账通区块链科技有限公司 | 区块链数据存储系统和方法 |
CN108171083A (zh) * | 2017-12-18 | 2018-06-15 | 深圳前海微众银行股份有限公司 | 区块链可信数据管理方法、系统及计算机可读存储介质 |
-
2018
- 2018-11-27 CN CN201811427341.1A patent/CN109558453B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622427A (zh) * | 2012-02-27 | 2012-08-01 | 杭州闪亮科技有限公司 | 读写分离数据库的方法及系统 |
CN106650344A (zh) * | 2016-12-07 | 2017-05-10 | 清华大学 | 一种基于区块链的有第三方认证的数据存储方法 |
CN107704196A (zh) * | 2017-03-09 | 2018-02-16 | 上海亿账通区块链科技有限公司 | 区块链数据存储系统和方法 |
CN108171083A (zh) * | 2017-12-18 | 2018-06-15 | 深圳前海微众银行股份有限公司 | 区块链可信数据管理方法、系统及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109558453A (zh) | 2019-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109558453B (zh) | 一种区块链数据网络化存储和移存的方法 | |
CN110471795B (zh) | 区块链状态数据恢复方法及装置、电子设备 | |
CN110457319B (zh) | 区块链状态数据存储方法及装置、电子设备 | |
US20210006506A1 (en) | Allocating virtual resource based on block chain | |
JP6560308B2 (ja) | データ記憶サービスを実装するシステム及び方法 | |
CN110275884B (zh) | 数据存储方法及节点 | |
CN109086388B (zh) | 区块链数据存储方法、装置、设备及介质 | |
US20160335304A1 (en) | Data partitioning and ordering | |
CN109815228A (zh) | 数据库表的创建方法、装置、计算机设备及可读存储介质 | |
US8214377B2 (en) | Method, system, and program for managing groups of objects when there are different group types | |
CN111444196B (zh) | 块链式账本中全局状态的哈希的生成方法、装置及设备 | |
CN111352935B (zh) | 一种块链式账本中的索引创建方法、装置及设备 | |
CN1983266A (zh) | 闪速类介质中存储事务记录的文件系统 | |
CN112988912B (zh) | 区块链数据存储方法及装置、电子设备 | |
CN109407985B (zh) | 一种数据管理的方法以及相关装置 | |
CN111459948B (zh) | 一种基于中心化块链式账本的交易完整性验证方法 | |
US10942912B1 (en) | Chain logging using key-value data storage | |
CN116610670A (zh) | 一种基于区块链的状态数据存储方法及设备 | |
CN109766313A (zh) | 地质项目数据处理方法、装置及计算机设备 | |
CN116362889A (zh) | 基于缓存索引的产品额度校验方法、装置及计算机设备 | |
CN114816509A (zh) | 区块链版本兼容性验证方法及装置、电子设备 | |
Moise et al. | Improving the Hadoop map/reduce framework to support concurrent appends through the BlobSeer BLOB management system | |
CN111444194B (zh) | 一种块链式账本中索引的清除方法、装置及设备 | |
KR102214697B1 (ko) | 데이터베이스 관리 시스템에서 데이터 저장을 위한 공간 관리를 제공하는 컴퓨터 프로그램 | |
CN113806803A (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 |
Effective date of registration: 20221116 Address after: 518000 A815, Building 5, Shenzhen Bay Science and Technology Ecological Park, No. 26, Gaoxin South Ring Road, High tech Zone Community, Yuehai Street, Nanshan District, Shenzhen, Guangdong Patentee after: Shenzhen Yinhengtong Trading Co.,Ltd. Address before: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.) Patentee before: SHENZHEN NETCHAINS FINTECH Co.,Ltd. |
|
TR01 | Transfer of patent right |