CN113867649A - 自适应的区块链数据存储插件化的***与方法 - Google Patents
自适应的区块链数据存储插件化的***与方法 Download PDFInfo
- Publication number
- CN113867649A CN113867649A CN202111222367.4A CN202111222367A CN113867649A CN 113867649 A CN113867649 A CN 113867649A CN 202111222367 A CN202111222367 A CN 202111222367A CN 113867649 A CN113867649 A CN 113867649A
- Authority
- CN
- China
- Prior art keywords
- storage engine
- storage
- block chain
- data
- engine
- 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
Links
- 238000013500 data storage Methods 0.000 title claims abstract description 39
- 230000003044 adaptive effect Effects 0.000 title claims description 19
- 238000000034 method Methods 0.000 claims abstract description 30
- 230000008569 process Effects 0.000 description 8
- 238000005259 measurement Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种自适应的区块链数据存储插件化的***及方法,包括:存储引擎配置模块:配置区块链节点的存储引擎插件;存储引擎选择模块:在区块链节点启动时,根据启动参数,识别当前区块链节点类型,并根据不同的区块链节点类型,选择区块链节点的初始化存储引擎;存储引擎切换模块:通过读取区块链节点的初始化存储引擎,对当前区块链节点的引擎进行切换操作。本发明提供一种自适应的区块链数据存储插件化的***与方法,有效的解决了区块链中存储引擎选择单一、且无法根据实际情况灵活选择相应高性能的数据存储插件的问题。
Description
技术领域
本发明涉及区块链技术领域,具体地,涉及自适应的区块链数据存储插件化的***与方法。
背景技术
区块链,尤其是联盟区块链,通常有不同的业务应用场景。对于不同的应用场景,区块链对数据的存储与读取的需求也不尽相同。例如有些联盟区块链用于数据存证,对区块链数据写入的性能要求较高;而有的联盟区块链用于供应流物流流转对账,对数据的读取与查询的均衡性能要求较高。
专利文献CN113254537A(申请号:202110674712.1)公开了一种区块链合约状态的存储和读取方法及区块链节点,所述方法由区块链节点执行,包括:获取区块链合约的最新的第一状态存储块,所述第一状态存储块与外部账户相关;根据所述第一状态存储块的数据量和所述外部账户的状态存储信息,确定是否将所述第一状态存储块存储到所述外部账户的状态存储块中。
目前区块链中通常仅提供单一的数据库存储解决方案,并不能很好的针对不同应用场景提供高性能的数据存储、查询等服务。
因此,本发明提出了一种自适应的区块链数据存储插件化的***与方法,针对不同的应用场景,区块链节点可自适应地选择适合当前存储性能需求的区块链存储数据库插件,实现区块链数据存储的高效管理。
本发明需要克服的难点包括:1)支持用户自定义添加存储插件;2)存储引擎选择机制;3)存储引擎切换时数据热备份。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种自适应的区块链数据存储插件化的***及方法。
根据本发明提供的一种自适应的区块链数据存储插件化的***,包括:
存储引擎配置模块:配置区块链节点的存储引擎插件;
存储引擎选择模块:在区块链节点启动时,根据启动参数,识别当前区块链节点类型,并根据不同的区块链节点类型,选择区块链节点的初始化存储引擎;
存储引擎切换模块:通过读取区块链节点的初始化存储引擎,对当前区块链节点的引擎进行切换操作。
优选地,在所述存储引擎配置模块中,配置内容包括:存储引擎名称、读写性能参数、触发条件以及存储引擎的调用接口。
优选地,在所述存储引擎配置模块中,通过预设标准化的存储引擎接口添加自定义的存储引擎。
优选地,在所述区块链节点类型包括:全节点类型、轻节点类型或归档节点类型。
优选地,在所述存储引擎选择模块中,测量在预设的时间区间范围内区块链节点的读写频率数据,通过调用存储引擎配置模块中各存储引擎配置的触发参数,判断区块链节点的读写频率数据是否达到预设触发条件,从而选择区块链节点的初始化存储引擎。
优选地,在所述存储引擎切换模块中,首先会异步将旧存储引擎中的数据备份到新存储引擎中,并将当前产生的新数据同时存储到新旧两份存储引擎中;当数据备份结束,新存储引擎数据库已经具有旧存储引擎数据库中全部的数据时,将存储调用接口改为使用新存储引擎提供的接口,将旧数据库存储数据删除,完成存储引擎的切换。
根据本发明提供的一种自适应的区块链数据存储插件化的方法,包括:
步骤S1:存储引擎配置模块配置区块链节点的存储引擎插件;
步骤S2:存储引擎选择模块在区块链节点启动时,根据启动参数,识别当前区块链节点类型,并根据不同的区块链节点类型,选择区块链节点的初始化存储引擎;
步骤S3:存储引擎切换模块通过读取区块链节点的初始化存储引擎,对当前区块链节点的引擎进行切换操作。
优选地,所述步骤S1采用:在所述存储引擎配置模块中,配置内容包括:存储引擎名称、读写性能参数、触发条件以及存储引擎的调用接口;
在所述存储引擎配置模块中,通过预设标准化的存储引擎接口添加自定义的存储引擎。
优选地,在所述区块链节点类型包括:全节点类型、轻节点类型或归档节点类型;
所述步骤S2采用:在所述存储引擎选择模块中,测量在预设的时间区间范围内区块链节点的读写频率数据,通过调用存储引擎配置模块中各存储引擎配置的触发参数,判断区块链节点的读写频率数据是否达到预设触发条件,从而选择区块链节点的初始化存储引擎。
优选地,所述步骤S3采用:在所述存储引擎切换模块中,首先会异步将旧存储引擎中的数据备份到新存储引擎中,并将当前产生的新数据同时存储到新旧两份存储引擎中;当数据备份结束,新存储引擎数据库已经具有旧存储引擎数据库中全部的数据时,将存储调用接口改为使用新存储引擎提供的接口,将旧数据库存储数据删除,完成存储引擎的切换。
与现有技术相比,本发明具有如下的有益效果:
1、本发明提供一种自适应的区块链数据存储插件化的***与方法,有效的解决了区块链中存储引擎选择单一、且无法根据实际情况灵活选择相应高性能的数据存储插件的问题;
2、本发明提出一种首创的自适应的区块链存储插件化方案,解决当前区块链中数据存储的性能瓶颈问题;
3、本发明存储引擎配置模块支持用户新增自定义存储引擎插件,并可配置存储引擎插件相关参数;
4、本发明在区块链节点启动或运行过程中,存储引擎选择模块会按照配置的数据库性能参数,选择合适的数据库作为数据库解决方案。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为自适应的区块链数据存储插件化***模块图。
图2为自适应的区块链数据存储插件化***执行流程图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
实施例1
根据本发明提供的一种自适应的区块链数据存储插件化的***,如图1所示,包括:
存储引擎配置模块:配置区块链节点的存储引擎插件;
存储引擎选择模块:在区块链节点启动时,根据启动参数,识别当前区块链节点类型,并根据不同的区块链节点类型,选择区块链节点的初始化存储引擎;
存储引擎切换模块:通过读取区块链节点的初始化存储引擎,对当前区块链节点的引擎进行切换操作。
具体地,在所述存储引擎配置模块中,配置内容包括:存储引擎名称、读写性能参数、触发条件以及存储引擎的调用接口。
具体地,在所述存储引擎配置模块中,通过预设标准化的存储引擎接口添加自定义的存储引擎。
同一区块链网络中,不同节点采用不同的存储引擎,为了保证正常工作,区块链节点需抽象出存储引擎读写操作的调用接口;当区块链节点执行读写操作时,调用抽象出的存储引擎的调用接口即可,从而实现区块链节点在执行读写操作时,不必感知底层使用的存储引擎类型,最终实现在同一个区块链网络中不同节点采用不同的存储引擎也可以正常工作。
具体地,在所述区块链节点类型包括:全节点类型、轻节点类型或归档节点类型。
具体地,在所述存储引擎选择模块中,测量在预设的时间区间范围内区块链节点的读写频率数据,通过调用存储引擎配置模块中各存储引擎配置的触发参数,判断区块链节点的读写频率数据是否达到预设触发条件,从而选择区块链节点的初始化存储引擎。
具体地,在所述存储引擎切换模块中,首先会异步将旧存储引擎中的数据备份到新存储引擎中,并将当前产生的新数据同时存储到新旧两份存储引擎中;当数据备份结束,新存储引擎数据库已经具有旧存储引擎数据库中全部的数据时,将存储调用接口改为使用新存储引擎提供的接口,将旧数据库存储数据删除,完成存储引擎的切换。
在存储引擎切换过程中,在不影响性能的情况下,为了保证区块链节点仍然可以正常工作,在存储引擎切换过程中,新的数据的写操作操作分为2步。第一步,同步将新的数据写入一份缓存中,这一步与存储引擎切换前的步骤一致,因此不会影响数据写性能;第二步,采用异步将数据写入磁盘文件的策略,将新数据写入新旧两个数据库引擎中,由于是异步操作,也不会影响当前写数据的性能。在存储引擎切换过程中,数据的读操作仍然在旧的数据库中进行,只有当存储引擎完全切换完成之后,数据的读操作才切换到新的数据库中,从而保证读的数据的准确性。
更具体地,本***可以增加CPU和磁盘监控,当CPU和磁盘占用过高时,可以采用***反馈,减慢存储引擎从旧数据库备份到新数据库的速度。
根据本发明提供的一种自适应的区块链数据存储插件化的方法,如图2所示,包括:
步骤S1:存储引擎配置模块配置区块链节点的存储引擎插件;
步骤S2:存储引擎选择模块在区块链节点启动时,根据启动参数,识别当前区块链节点类型,并根据不同的区块链节点类型,选择区块链节点的初始化存储引擎;
步骤S3:存储引擎切换模块通过读取区块链节点的初始化存储引擎,对当前区块链节点的引擎进行切换操作。
具体地,所述步骤S1采用:在所述存储引擎配置模块中,配置内容包括:存储引擎名称、读写性能参数、触发条件以及存储引擎的调用接口;
在所述存储引擎配置模块中,通过预设标准化的存储引擎接口添加自定义的存储引擎。
同一区块链网络中,不同节点采用不同的存储引擎,为了保证正常工作,区块链节点需抽象出存储引擎读写操作的调用接口;当区块链节点执行读写操作时,调用抽象出的存储引擎的调用接口即可,从而实现区块链节点在执行读写操作时,不必感知底层使用的存储引擎类型,最终实现在同一个区块链网络中不同节点采用不同的存储引擎也可以正常工作。
具体地,在所述区块链节点类型包括:全节点类型、轻节点类型或归档节点类型;
所述步骤S2采用:在所述存储引擎选择模块中,测量在预设的时间区间范围内区块链节点的读写频率数据,通过调用存储引擎配置模块中各存储引擎配置的触发参数,判断区块链节点的读写频率数据是否达到预设触发条件,从而选择区块链节点的初始化存储引擎。
具体地,所述步骤S3采用:在所述存储引擎切换模块中,首先会异步将旧存储引擎中的数据备份到新存储引擎中,并将当前产生的新数据同时存储到新旧两份存储引擎中;当数据备份结束,新存储引擎数据库已经具有旧存储引擎数据库中全部的数据时,将存储调用接口改为使用新存储引擎提供的接口,将旧数据库存储数据删除,完成存储引擎的切换。
在存储引擎切换过程中,在不影响性能的情况下,为了保证区块链节点仍然可以正常工作,在存储引擎切换过程中,新的数据的写操作操作分为2步。第一步,同步将新的数据写入一份缓存中,这一步与存储引擎切换前的步骤一致,因此不会影响数据写性能;第二步,采用异步将数据写入磁盘文件的策略,将新数据写入新旧两个数据库引擎中,由于是异步操作,也不会影响当前写数据的性能。在存储引擎切换过程中,数据的读操作仍然在旧的数据库中进行,只有当存储引擎完全切换完成之后,数据的读操作才切换到新的数据库中,从而保证读的数据的准确性。
更具体地,本***可以增加CPU和磁盘监控,当CPU和磁盘占用过高时,可以采用***反馈,减慢存储引擎从旧数据库备份到新数据库的速度。
实施例2
实施例2是实施例1的优选例
本发明提供的一种自适应的区块链数据存储插件化的***,包括存储引擎配置模块、存储引擎选择模块、存储引擎切换模块。
存储引擎配置模块包含区块链节点可选的存储引擎插件以及其相关参数的配置功能。
存储引擎选择模块包含根据相关监测参数给出区块链节点存储引擎选择策略的功能。
存储引擎切换模块包含执行存储引擎插件化切换的功能。
所述存储引擎配置模块用于配置***中区块链节点可选的存储引擎插件相关的配置,配置内容包括存储引擎名称,读写性能参数,触发条件、该存储引擎的调用接口等。***中会预置一些推荐的存储引擎以及其对应的相关配置参数,不同存储引擎的读写的优势各有千秋。此外,该模块还定义了一套标准化的存储引擎接口,包括数据读、数据写等,用户可以通过实现该标准化接口,将自定义的存储引擎添加到***中,并配置该存储引擎相关配置到本模块。本模块中数存储引擎的触发条件需要根据实际情况,结合存储插件性能,经过谨慎设计与调优得到。
本模块中标准化存储引擎接口如下:
所述存储引擎选择模块在区块链节点启动时,本模块根据启动参数,识别当前区块链节点类型为全节点、轻节点、或是归档节点类型,根据不同的节点类型,选择区块链节点的初始化存储引擎。在节点运行过程中,本模块测量在指定的时间区间范围内,区块链节点的读写频率数据,通过调用存储引擎配置模块中各存储引擎配置的触发参数,判断是否到达触发条件,从而给出当前合适的数据存储引擎选择方案,并将相应的存储选择方案提供给存储引擎切换模块。在本模块中,节点读写频率测量时间区间的设置需要十分谨慎和合理,需要考虑存储引擎间的切换时长、业务长短期的数据流量分布等因素,根据实际情况通过不断测试总结得出。
存储引擎切换模块通过读取存储引擎选择模块给出的存储引擎方案,对当前区块链节点的引擎进行切换操作。本模块首先会异步将旧存储引擎中的数据备份到新存储引擎中,并将当前源源不断产生的新数据同时存储到新旧两份存储引擎中。当数据备份结束,新存储引擎数据库已经具有旧存储引擎数据库中全部的数据时,本模块将存储调用接口改为使用新存储引擎提供的接口,将旧数据库存储数据删除,完成存储引擎的切换。
所述存储引擎配置模块包括数据库操作接口子模块、参数配置子模块。
数据库操作接口子模块定义了一套标准化的存储引擎接口,包括数据读、数据写。以及本***中所有可选的存储引擎实现该标准化接口的方法。存储引擎切换模块通过调用存储引擎实现的方法,来实现选择特定的存储引擎作为区块链节点的存储引擎。
所述存储引擎选择模块包括区块链节点类型识别子模块、读写频率测量子模块、存储引擎选择子模块。
区块链节点类型识别子模块会通过区块链节点启动参数,判断区块链节点为全节点、轻节点或是归档节点。例如,归档节点通常是需要进行数据库写操作,而很少进行读操作,则自动为该节点选择写性能最优的数据库;因此可以根据这些节点类型的特点,帮助本模块的存储引擎选择子模块选择区块链节点的初始化存储引擎。
读写频率测量子模块会在配置的时间区间内,统计正在运行中的区块链节点的读写频率。该数据为本模块的存储引擎选择子模块提供依据。
存储引擎选择子模块根据前两个子模块提供的数据,同时结合存储引擎配置模块中提供的存储引擎切换触发条件,选择当前情况下合适的存储引擎。
例如:当区块链运行过程中,存储引擎选择模块若检测到区块链在超过阈值时间段内读操作远比写操作频繁,则存储引擎切换模块会触发操作,异步将数据同步到读性能最优的存储引擎插件,逐步将数据库切换到读性能最优的存储引擎插件;若写操作较为频繁或读写操作均衡,则同理切换到合适的存储引擎插件。
所述存储引擎切换模块包括数据热备份子模块、数据引擎切换子模块。
数据热备份子模块在保证当前区块链节点正常工作的情况下,将旧存储引擎中的数据异步热备份到新存储引擎中直至备份结束。
数据引擎切换子模块识别到数据热备份结束后,不再将数据存储到旧存储引擎中,并将数据接口实现完全切换到新的数据存储引擎,删除旧的存储引擎中的数据,完成最终的数据存储引擎接口的切换。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的***、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的***、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的***、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
Claims (10)
1.一种自适应的区块链数据存储插件化的***,其特征在于,包括:
存储引擎配置模块:配置区块链节点的存储引擎插件;
存储引擎选择模块:在区块链节点启动时,根据启动参数,识别当前区块链节点类型,并根据不同的区块链节点类型,选择区块链节点的初始化存储引擎;
存储引擎切换模块:通过读取区块链节点的初始化存储引擎,对当前区块链节点的引擎进行切换操作。
2.根据权利要求1所述的自适应的区块链数据存储插件化的***,其特征在于,在所述存储引擎配置模块中,配置内容包括:存储引擎名称、读写性能参数、触发条件以及存储引擎的调用接口。
3.根据权利要求1所述的自适应的区块链数据存储插件化的***,其特征在于,在所述存储引擎配置模块中,通过预设标准化的存储引擎接口添加自定义的存储引擎。
4.根据权利要求1所述的自适应的区块链数据存储插件化的***,其特征在于,在所述区块链节点类型包括:全节点类型、轻节点类型或归档节点类型。
5.根据权利要求1所述的自适应的区块链数据存储插件化的***,其特征在于,在所述存储引擎选择模块中,测量在预设的时间区间范围内区块链节点的读写频率数据,通过调用存储引擎配置模块中各存储引擎配置的触发参数,判断区块链节点的读写频率数据是否达到预设触发条件,从而选择区块链节点的初始化存储引擎。
6.根据权利要求1所述的自适应的区块链数据存储插件化的***,其特征在于,在所述存储引擎切换模块中,首先会异步将旧存储引擎中的数据备份到新存储引擎中,并将当前产生的新数据同时存储到新旧两份存储引擎中;当数据备份结束,新存储引擎数据库已经具有旧存储引擎数据库中全部的数据时,将存储调用接口改为使用新存储引擎提供的接口,将旧数据库存储数据删除,完成存储引擎的切换。
7.一种自适应的区块链数据存储插件化的方法,其特征在于,包括:
步骤S1:存储引擎配置模块配置区块链节点的存储引擎插件;
步骤S2:存储引擎选择模块在区块链节点启动时,根据启动参数,识别当前区块链节点类型,并根据不同的区块链节点类型,选择区块链节点的初始化存储引擎;
步骤S3:存储引擎切换模块通过读取区块链节点的初始化存储引擎,对当前区块链节点的引擎进行切换操作。
8.根据权利要求7所述的自适应的区块链数据存储插件化的方法,其特征在于,所述步骤S1采用:在所述存储引擎配置模块中,配置内容包括:存储引擎名称、读写性能参数、触发条件以及存储引擎的调用接口;
在所述存储引擎配置模块中,通过预设标准化的存储引擎接口添加自定义的存储引擎。
9.根据权利要求7所述的自适应的区块链数据存储插件化的方法,其特征在于,在所述区块链节点类型包括:全节点类型、轻节点类型或归档节点类型;
所述步骤S2采用:在所述存储引擎选择模块中,测量在预设的时间区间范围内区块链节点的读写频率数据,通过调用存储引擎配置模块中各存储引擎配置的触发参数,判断区块链节点的读写频率数据是否达到预设触发条件,从而选择区块链节点的初始化存储引擎。
10.根据权利要求7所述的自适应的区块链数据存储插件化的方法,其特征在于,所述步骤S3采用:在所述存储引擎切换模块中,首先会异步将旧存储引擎中的数据备份到新存储引擎中,并将当前产生的新数据同时存储到新旧两份存储引擎中;当数据备份结束,新存储引擎数据库已经具有旧存储引擎数据库中全部的数据时,将存储调用接口改为使用新存储引擎提供的接口,将旧数据库存储数据删除,完成存储引擎的切换。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111222367.4A CN113867649B (zh) | 2021-10-20 | 2021-10-20 | 自适应的区块链数据存储插件化的***与方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111222367.4A CN113867649B (zh) | 2021-10-20 | 2021-10-20 | 自适应的区块链数据存储插件化的***与方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113867649A true CN113867649A (zh) | 2021-12-31 |
CN113867649B CN113867649B (zh) | 2024-05-10 |
Family
ID=78996892
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111222367.4A Active CN113867649B (zh) | 2021-10-20 | 2021-10-20 | 自适应的区块链数据存储插件化的***与方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113867649B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106874437A (zh) * | 2017-02-04 | 2017-06-20 | 中国人民大学 | 面向数据库一体机的内存数据仓库行列存储转换实现方法 |
CN108052827A (zh) * | 2017-12-25 | 2018-05-18 | 北京天融信网络安全技术有限公司 | 一种双引擎的切换方法、装置及存储介质 |
WO2018144302A1 (en) * | 2017-01-31 | 2018-08-09 | Rush Thomas Jay | Blockchain data-processing engine |
CN109902125A (zh) * | 2018-12-27 | 2019-06-18 | 链极智能科技(上海)有限公司 | 一种基于现有数据库的分布式储存方法 |
US20190215382A1 (en) * | 2016-09-29 | 2019-07-11 | International Business Machines Corporation | Dynamically transitioning the file system role of compute nodes for provisioning a storlet |
CN110442644A (zh) * | 2019-07-08 | 2019-11-12 | 深圳壹账通智能科技有限公司 | 区块链数据归档存储方法、装置、计算机设备和存储介质 |
CN111159197A (zh) * | 2019-12-31 | 2020-05-15 | 深圳市网心科技有限公司 | 一种数据存储方法、装置、设备及可读存储介质 |
CN111158779A (zh) * | 2019-12-24 | 2020-05-15 | 深圳云天励飞技术有限公司 | 一种数据处理方法和相关设备 |
CN111614701A (zh) * | 2019-02-22 | 2020-09-01 | 杭州海康威视数字技术股份有限公司 | 一种分布式集群、以及容器状态切换方法、装置 |
CN113377430A (zh) * | 2021-08-16 | 2021-09-10 | 宜科(天津)电子有限公司 | 一种工业化插件的配置*** |
-
2021
- 2021-10-20 CN CN202111222367.4A patent/CN113867649B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190215382A1 (en) * | 2016-09-29 | 2019-07-11 | International Business Machines Corporation | Dynamically transitioning the file system role of compute nodes for provisioning a storlet |
WO2018144302A1 (en) * | 2017-01-31 | 2018-08-09 | Rush Thomas Jay | Blockchain data-processing engine |
CN106874437A (zh) * | 2017-02-04 | 2017-06-20 | 中国人民大学 | 面向数据库一体机的内存数据仓库行列存储转换实现方法 |
CN108052827A (zh) * | 2017-12-25 | 2018-05-18 | 北京天融信网络安全技术有限公司 | 一种双引擎的切换方法、装置及存储介质 |
CN109902125A (zh) * | 2018-12-27 | 2019-06-18 | 链极智能科技(上海)有限公司 | 一种基于现有数据库的分布式储存方法 |
CN111614701A (zh) * | 2019-02-22 | 2020-09-01 | 杭州海康威视数字技术股份有限公司 | 一种分布式集群、以及容器状态切换方法、装置 |
CN110442644A (zh) * | 2019-07-08 | 2019-11-12 | 深圳壹账通智能科技有限公司 | 区块链数据归档存储方法、装置、计算机设备和存储介质 |
WO2021003985A1 (zh) * | 2019-07-08 | 2021-01-14 | 深圳壹账通智能科技有限公司 | 区块链数据归档存储方法、装置、计算机设备和存储介质 |
CN111158779A (zh) * | 2019-12-24 | 2020-05-15 | 深圳云天励飞技术有限公司 | 一种数据处理方法和相关设备 |
CN111159197A (zh) * | 2019-12-31 | 2020-05-15 | 深圳市网心科技有限公司 | 一种数据存储方法、装置、设备及可读存储介质 |
CN113377430A (zh) * | 2021-08-16 | 2021-09-10 | 宜科(天津)电子有限公司 | 一种工业化插件的配置*** |
Also Published As
Publication number | Publication date |
---|---|
CN113867649B (zh) | 2024-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107577420B (zh) | 文件处理方法和装置、服务器 | |
CN108932295A (zh) | 主数据库切换控制方法、装置、计算机设备和存储介质 | |
CN102118281B (zh) | 自动化测试方法、装置及网络设备 | |
US20220179642A1 (en) | Software code change method and apparatus | |
CN110175157A (zh) | 一种列存储文件的查询方法及查询装置 | |
CN111767009A (zh) | 磁盘清理方法、装置及设备 | |
CN111784468B (zh) | 一种账户关联方法、装置及电子设备 | |
CN115328924B (zh) | 一种创建表空间的方法、装置、存储介质及电子设备 | |
CN112003922A (zh) | 一种数据传输方法及装置 | |
CN110209736A (zh) | 区块链数据处理的装置、方法及存储介质 | |
CN110597764B (zh) | 一种文件下载、版本管理方法及装置 | |
CN115391337A (zh) | 数据库分区的方法、装置、存储介质及电子设备 | |
CN113867649A (zh) | 自适应的区块链数据存储插件化的***与方法 | |
CN109656947A (zh) | 数据查询方法、装置、计算机设备和存储介质 | |
CN113760902A (zh) | 数据拆分方法、装置、设备、介质及程序产品 | |
CN112131177A (zh) | 数据迁移方法及装置、存储介质、电子设备 | |
CN112559118A (zh) | 应用数据迁移方法、装置、电子设备及存储介质 | |
CN115033551A (zh) | 一种数据库迁移方法、装置、电子设备及存储介质 | |
CN105659174A (zh) | 分布式控制***用控制设备 | |
CN111143326B (zh) | 减少数据库操作的方法、装置、计算机设备及存储介质 | |
CN114564211A (zh) | 集群部署方法、集群部署装置、设备及介质 | |
CN103279575A (zh) | 文件信息处理方法及装置 | |
CN108228592A (zh) | 基于二进制日志的数据归档方法及数据归档装置 | |
CN109151862B (zh) | 一种基站信息快速配置方法、存储介质及移动终端 | |
CN111966680A (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 |