CN112650812A - 一种数据分片存储方法、装置、计算机设备和存储介质 - Google Patents
一种数据分片存储方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112650812A CN112650812A CN202011529237.0A CN202011529237A CN112650812A CN 112650812 A CN112650812 A CN 112650812A CN 202011529237 A CN202011529237 A CN 202011529237A CN 112650812 A CN112650812 A CN 112650812A
- Authority
- CN
- China
- Prior art keywords
- node
- node cluster
- data
- data storage
- account book
- 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.)
- Pending
Links
Images
Classifications
-
- 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
- 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/23—Updating
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- 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/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Business, Economics & Management (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Probability & Statistics with Applications (AREA)
- Development Economics (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据分片存储方法、装置、计算机设备和存储介质。所述方法包括:获取由多个分片节点组成的节点集群,节点集群用于存储区块链中的第一数据,第一数据的数据存储总量为区块链中任意一个节点集群的第一数据存储总量;通过预设推选条件推选节点集群中的主节点,并将节点集群中的除了主节点之外的其余分片节点配置为从节点;通过主节点进行账本查询,得到账本查询结果,以及通过主节点进行账本更新,得到账本更新结果。因此,采用本申请实施例,由于引入了由多个分片节点组成的节点集群,这样,相比现有的单一节点而言,大大地提高了区块链中的任意一个节点集群的数据存储性能。
Description
技术领域
本发明涉及区块存储技术领域,特别涉及一种数据分片存储方法、装置、计算机设备和存储介质。
背景技术
目前区块链常用的存储方法为:每个区块链节全部存储有完整的区块链数据。上述分布式数据存储方式,可以确保存储于区块链中的数据的安全性。即使区块链中某一个节点中的数据丢失,由于处于区块链中的其余节点均全部存储有完整的区块链数据,这样,其余任意一个节点均可以完整校验整个区块链数据是否发生篡改。
但是,现有处于区块链中的节点往往为单一节点,由于单一节点存储数据的能力是有限的。当有过多的数据需要存储时,区块链的单一节点的存储容量就无法满足实际应用场景的需要。
针对现有区块链中的单一节点的数据存储量有限的问题,如何使得区块链中的各个节点能够存储足够多的数据,是待解决的技术问题。
发明内容
基于此,有必要针对现有区块链中的单一节点的数据存储量有限的问题,提供一种数据分片存储方法、装置、计算机设备和存储介质。
第一方面,本申请实施例提供了一种数据分片存储方法,所述方法包括:
获取由多个分片节点组成的节点集群,所述节点集群用于存储区块链中的第一数据,所述第一数据的数据存储总量为所述区块链中任意一个节点集群的第一数据存储总量;
通过预设推选条件推选所述节点集群中的主节点,并将所述节点集群中的除了所述主节点之外的其余分片节点配置为从节点;
通过所述主节点进行账本查询,得到账本查询结果,以及通过所述主节点进行账本更新,得到账本更新结果。
在一种实施方式中,所述主节点为peer节点,所述通过所述主节点进行账本查询,得到账本查询结果包括:
在应用程序连接到所述主节点之后,获取所述应用程序生成的提案,并将所述提案提交至所述主节点;
所述主节点根据所述提案调用相应的第一链码,以便于所述第一链码根据所述提案查询对应的超级账本,得到向所述应用程序返回的账本查询结果。
在一种实施方式中,所述通过所述主节点进行账本更新,得到对应的账本更新结果包括:
获取所述应用程序根据返回的所述账本查询结果生成一个交易,并将所述交易发送给排序服务模块,以便于所述排序服务模块将所述交易发送给所述区块链中的所述主节点;
所述主节点根据所述交易调用相关的第二链码,以根据所述第二链码进行账本更新,得到对应的账本更新结果。
在一种实施方式中,所述方法还包括:对所述节点集群的所述第一数据存储总量进行扩容,得到扩容后的第二数据存储总量。
在一种实施方式中,在所述得到扩容后的第二数据存储容量之后,所述方法还包括:确定所述节点集群中待加入的分片节点的数量。
在一种实施方式中,所述确定所述节点集群中待加入的分片节点的数量包括:
获取所述节点集群的所述第一数据存储总量、所述节点集群扩容后的所述第二数据存储总量以及所述节点集群中的任意一个分片节点的数据存储量阈值;
根据所述第一数据存储总量和所述第二数据存储总量,确定出所述节点集群待扩容的第三数据存储总量;
根据所述第三数据存储总量和所述节点集群中的任意一个分片节点的数据存储量阈值,确定所述节点集群中待加入的分片节点的数量。
在一种实施方式中,所述预设推选条件包括:所述节点集群中的当前分片节点获取到的投票数超过总数的一半、且该分片节点获取到的投票数最多,则将该分片节点推选为所述节点集群中的所述主节点。
第二方面,本申请实施例提供了一种数据分片存储装置,所述装置包括:
获取单元,用于获取由多个分片节点组成的节点集群,所述节点集群用于存储区块链中的第一数据,所述第一数据的数据存储总量为所述区块链中任意一个节点集群的第一数据存储总量;
主节点推选单元,用于通过预设推选条件推选获取单元获取的所述节点集群中的主节点;
配置单元,用于将所述节点集群中的除了所述主节点推选单元推选出的所述主节点之外的其余分片节点配置为从节点;
数据处理单元,用于通过所述主节点推选单元推选出的所述主节点进行账本查询,得到账本查询结果,以及通过所述主节点推选单元推选出的所述主节点进行账本更新,得到账本更新结果。
第三方面,本申请实施例提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述的方法步骤。
第四方面,本申请实施例提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述的方法步骤。
本申请实施例提供的技术方案可以包括以下有益效果:
在本申请实施例中,获取由多个分片节点组成的节点集群,节点集群用于存储区块链中的第一数据,第一数据的数据存储总量为区块链中任意一个节点集群的第一数据存储总量;通过预设推选条件推选节点集群中的主节点,并将节点集群中的除了主节点之外的其余分片节点配置为从节点;通过主节点进行账本查询,得到账本查询结果,以及通过主节点进行账本更新,得到账本更新结果。因此,采用本申请实施例,由于引入了由多个分片节点组成的节点集群,这样,相比现有的单一节点而言,大大地提高了区块链中的任意一个节点集群的数据存储性能。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1为一个实施例中提供的一种数据分片存储方法的实施环境图;
图2为一个实施例中计算机设备的内部结构框图;
图3是本公开实施例提供的一种数据分片存储方法的流程示意图;
图4是本公开实施例提供的一种数据分片存储装置的结构示意图。
具体实施方式
以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够实践它们。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
下面结合附图详细说明本公开的可选实施例。
图1为一个实施例中提供的一种数据分片存储方法的实施环境图,如图1所示,在该实施环境中,包括计算机设备110以及终端120。
需要说明的是,终端120以及计算机设备110可为智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此。计算机设备110以及终端110可以通过蓝牙、USB(Universal Serial Bus,通用串行总线)或者其他通讯连接方式进行连接,本发明在此不做限制。
图2为一个实施例中计算机设备的内部结构示意图。如图2所示,该计算机设备包括通过***总线连接的处理器、非易失性存储介质、存储器和网络接口。其中,该计算机设备的非易失性存储介质存储有操作***、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种数据分片存储方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种数据分片存储方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图2中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
如图3所示,本公开实施例提供一种数据分片存储方法,该数据分片存储方法应用于服务器端,具体包括以下方法步骤:
S302:获取由多个分片节点组成的节点集群,节点集群用于存储区块链中的第一数据,第一数据的数据存储总量为区块链中任意一个节点集群的第一数据存储总量。
在本申请实施例中,可以根据不同应用场景下数据存储量的需求,对节点集群中的分片节点的数量进行调整,在此,对分片节点的数量并不做具体限制。
在本申请实施例中,若第一数据存储总量越大、且节点集群中的每一个分片节点的存储能力越小,则该节点集群中的分片节点的数量则越多;反之,若第一数据存储总量越小、且节点集群中的每一个分片节点的存储能力越大,则该节点集群中分片节点的数量则越少。
在本申请实施例中,主节点能够存储各分片数据信息、元数据信息;此外,主节点还可作为路由节点、背书节点。
由于主节点可以存储节点集群中的各个分片节点的数据信息,例如,节点集群中的各个分片节点的数量信息、各个分片节点在该节点集群内的唯一的分片编号信息、以及存储于各个分片节点的数据信息;这样,主节点可以实现对节点集群中的其余从节点的统一管理。为了保证区块链网络的数据安全,主节点内可以存储无法篡改的数据。
S304:通过预设推选条件推选节点集群中的主节点,并将节点集群中的除了主节点之外的其余分片节点配置为从节点。
在某一具体应用场景中,预设推选条件包括:节点集群中的当前分片节点获取到的投票数超过总数的一半、且该分片节点获取到的投票数最多,则将该分片节点推选为节点集群中的主节点。
在本申请实施例中,主节点为peer节点,且主节点对外提供上链服务。
多个分片节点组成节点集群,该节点集群为小集群。在实际应用中,为了更好地对该小集群内的各个分片节点进行管理,通过预设推选条件,在该节点集群中发起投票,从所有的分片节点中推选出主节点,该主节点能够对外提供上链服务,且该主节点作为peer节点。
在某一具体应用场景中,通过预设推选条件推选出节点集群中的主节点的过程具体如下所述:
获取节点集群中的各个分片节点的投票情况,并对投票情况进行统计,得到统计结果。若统计结果显示,在该节点集群中,某一个分片节点获取到的投票数超过一半、且该分片节点获取到的投票数最多,则推选出该分片节点为主节点。
例如,在某一应用场景中,该节点集群中的分片节点的数量为10个,在任意一个分片节点发起投票任务时,则对投票情况进行统计,得到统计结果。若统计结果显示出:某一分片节点获得的票数是6票,该分片节点已经超过总分片节点数量一半以上分片节点的支持,且该分片节点获得的支持数量是最多的,则推选出该分片节点为主节点,并将节点集群中的除了主节点之外的其余分片节点配置为从节点。
S306:通过主节点进行账本查询,得到账本查询结果,以及通过主节点进行账本更新,得到账本更新结果。
在本申请实施例中,主节点对外提供上链服务,且主节点作为peer节点。一个区块链网络由peer节点组成,每一个peer节点持有一个或多个账本,以及一个或多个智能合约。网络N由三个peer组成P1、P2和P3。每一个Peer都持有了一个账本实例L1;每个peer都通过链码(智能合约)S1去访问各自的账本副本L1。每一个peer都有一些***链码。
在实际应用中,可以通过peer去访问账本。应用程序与peer的交互主要包括账本查询与账本更新。账本查询只需要简单的三次会话;而账本更新需要额外的两次会话。应用程序总是通过peer去访问账本和链码的。超级账本提供的SDK可以允许应用程序连接peer、调用链码产生交易、提交交易到整个网络并接收处理过程中产生的事件。
通过连接到一个peer,应用程序通过执行链码来查询或者更新账本。查询结果可以很快返回;但是更新账本需要更复杂的交互,这些交互涉及到应用程序、peer和排序服务模块。排序服务模块用来确保所有的Peer持有的账本同步更新。
在本申请实施例中,主节点为peer节点,通过主节点进行账本查询,得到账本查询结果包括以下步骤:
在应用程序连接到主节点之后,获取应用程序生成的提案,并将提案提交至主节点;
主节点根据提案调用相应的第一链码,以便于第一链码根据提案查询对应的超级账本,得到向应用程序返回的账本查询结果。
在本申请实施例中,通过主节点进行账本更新,得到对应的账本更新结果包括以下步骤:
获取应用程序根据返回的账本查询结果生成一个交易,并将交易发送给排序服务模块,以便于排序服务模块将交易发送给区块链中的主节点;
主节点根据交易调用相关的第二链码,以根据第二链码进行账本更新,得到对应的账本更新结果。
在实际应用中,在账本更新完成后,产生通知事件以通知应用程序更新完成。
在一种可能的实现方式中,本公开实施例提供的数据分片存储方法还包括以下步骤:对节点集群的第一数据存储总量进行扩容,得到扩容后的第二数据存储总量;这样,可以对区块链的任意一个节点集群的数据存储总量进行扩容。
在一种可能的实现方式中,在得到扩容后的第二数据存储总量之后,所述方法还包括以下步骤:确定节点集群中待加入的分片节点的数量;这样,本申请实施例提供的数据分片存储方法,能够根据区块链存储容量的不同需求,在当前节点集群中引入新加入的分片节点,并对新加入的分片节点自动分配存储数据,最终达到了能够有效地扩充区块链任意一个节点集群的存储容量的目的。此外,还能够根据第二数据存储总量,动态地调整新加入的分片节点的数量。
在本申请实施例中,主节点除了可以存储节点集群中原有的各个分片节点的数据信息,例如,节点集群中的各个分片节点的数量信息、各个分片节点在该节点集群内的唯一的分片编号信息、存储于各个分片节点的数据;此外,还可以存储新加入该节点集群的各个分片节点的数据信息,例如,新加入的分片节点的数量信息、新加入的各个分片节点在该节点集群内的唯一的分片编号信息、以及存储于新加入的各个分片节点的数据;这样,主节点不仅可以实现对节点集群中原有的各个从节点的统一管理,还可以实现对节点集群中新加入的各个从节点的统一管理,从而,最终提高了数据存储的有序性和安全性。
在本申请实施例中,确定节点集群中待加入的分片节点的数量包括以下步骤:
获取节点集群的第一数据存储总量、节点集群扩容后的第二数据存储总量以及节点集群中的任意一个分片节点的数据存储量阈值;
根据第一数据存储总量和第二数据存储总量,确定出节点集群待扩容的第三数据存储总量;
根据第三数据存储总量和节点集群中的任意一个分片节点的数据存储量阈值,确定节点集群中待加入的分片节点的数量。
在本申请实施例中,节点集群能够的各个分片节点能够进行自动分片,而且新加入的分片节点能够自动地被分配存储数据。
在实际应用中,若第二数据存储总量越大、节点集群中每个分片节点的存储阈值越小、且当前节点集群内的各个分片节点的数量越小,则需要加入该节点集群中的分片节点的数量则越多;反之,若第二数据存储总量越小、节点集群中每个分片节点的存储阈值越大、且当前节点集群内的各个分片节点的数量越多,则需要加入该节点集群中的分片节点的数量则越小,甚至无需在该节点集群中加入新的分片节点;这样,能够对区块链中的任意一个节点集群中的分片节点的数量实现动态且精准地调控。
在本公开实施例中,获取由多个分片节点组成的节点集群,节点集群用于存储区块链中的第一数据,第一数据的数据存储总量为区块链中任意一个节点集群的第一数据存储总量;通过预设推选条件推选节点集群中的主节点,并将节点集群中的除了主节点之外的其余分片节点配置为从节点;通过主节点进行账本查询,得到账本查询结果,以及通过主节点进行账本更新,得到账本更新结果。因此,采用本申请实施例,由于引入了由多个分片节点组成的节点集群,这样,相比现有的单一节点而言,大大地提高了区块链中的任意一个节点集群的数据存储性能。
下述为本发明数据分片存储装置实施例,可以用于执行本发明数据分片存储方法实施例。对于本发明数据分片存储装置实施例中未披露的细节,请参照本发明数据分片存储方法实施例。
请参见图4,其示出了本发明一个示例性实施例提供数据分片存储装置的结构示意图。该数据分片存储装置可以通过软件、硬件或者两者的结合实现成为终端的全部或一部分。该数据分片存储装置包括获取单元402、主节点推选单元404、配置单元406和数据处理单元408。
具体而言,获取单元402,用于获取由多个分片节点组成的节点集群,节点集群用于存储区块链中的第一数据,第一数据的数据存储总量为区块链中任意一个节点集群的第一数据存储总量;
主节点推选单元404,用于通过预设推选条件推选获取单元402获取的节点集群中的主节点;
配置单元406,用于将节点集群中的除了主节点推选单元404推选出的主节点之外的其余分片节点配置为从节点;
数据处理单元408,用于通过主节点推选单元404推选出的主节点进行账本查询,得到账本查询结果,以及通过主节点推选单元404推选出的主节点进行账本更新,得到账本更新结果。
可选的,主节点为peer节点,数据处理单元408具体用于:
在应用程序连接到主节点之后,获取应用程序生成的提案,并将提案提交至主节点;
主节点根据提案调用相应的第一链码,以便于第一链码根据提案查询对应的超级账本,得到向应用程序返回的账本查询结果。
可选的,数据处理单元408还具体用于:
获取应用程序根据返回的账本查询结果生成一个交易,并将交易发送给排序服务模块,以便于排序服务模块将交易发送给区块链中的主节点;
主节点根据交易调用相关的第二链码,以根据第二链码进行账本更新,得到对应的账本更新结果。
可选的,所述装置还包括:
扩容单元(在图4中未示出),用于对获取单元402获取的节点集群的第一数据存储总量进行扩容,得到扩容后的第二数据存储总量。
可选的,所述装置还包括:
数量确定单元(在图4中未示出),用于在扩容单元扩容得到扩容后的第二数据存储容量之后,确定节点集群中待加入的分片节点的数量。
可选的,数量确定单元具体用于:
获取节点集群的第一数据存储总量、节点集群扩容后的第二数据存储总量以及节点集群中的任意一个分片节点的数据存储量阈值;
根据第一数据存储总量和第二数据存储总量,确定出节点集群待扩容的第三数据存储总量;
根据第三数据存储总量和节点集群中的任意一个分片节点的数据存储量阈值,确定节点集群中待加入的分片节点的数量。
可选的,预设推选条件包括:节点集群中的当前分片节点获取到的投票数超过总数的一半、且该分片节点获取到的投票数最多,则将该分片节点推选为节点集群中的主节点。
需要说明的是,上述实施例提供的数据分片存储装置在执行数据分片存储方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据分片存储装置与数据分片存储方法实施例属于同一构思,其体现实现过程详见数据分片存储方法实施例,这里不再赘述。
在本公开实施例中,获取单元用于获取由多个分片节点组成的节点集群,节点集群用于存储区块链中的第一数据,第一数据的数据存储总量为区块链中任意一个节点集群的第一数据存储总量;主节点推选单元过于通过预设推选条件推选获取单元获取的节点集群中的主节点,配置单元用于将节点集群中的除了主节点推选单元推选出的主节点之外的其余分片节点配置为从节点;以及数据处理单元用于通过主节点推选单元推选的主节点进行账本查询,得到账本查询结果,以及通过主节点推选单元推选的主节点进行账本更新,得到账本更新结果。因此,采用本申请实施例,由于引入了由多个分片节点组成的节点集群,这样,相比现有的单一节点而言,大大地提高了区块链中的任意一个节点集群的数据存储性能。
在一个实施例中,提出了一种计算机设备,计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:获取由多个分片节点组成的节点集群,节点集群用于存储区块链中的第一数据,第一数据的数据存储总量为区块链中任意一个节点集群的第一数据存储总量;通过预设推选条件推选节点集群中的主节点,并将节点集群中的除了主节点之外的其余分片节点配置为从节点;通过主节点进行账本查询,得到账本查询结果,以及通过主节点进行账本更新,得到账本更新结果。
在一个实施例中,提出了一种存储有计算机可读指令的存储介质,该计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行以下步骤:获取由多个分片节点组成的节点集群,节点集群用于存储区块链中的第一数据,第一数据的数据存储总量为区块链中任意一个节点集群的第一数据存储总量;通过预设推选条件推选节点集群中的主节点,并将节点集群中的除了主节点之外的其余分片节点配置为从节点;通过主节点进行账本查询,得到账本查询结果,以及通过主节点进行账本更新,得到账本更新结果。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(RandomAccess Memory,RAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种数据分片存储方法,其特征在于,所述方法包括:
获取由多个分片节点组成的节点集群,所述节点集群用于存储区块链中的第一数据,所述第一数据的数据存储总量为所述区块链中任意一个节点集群的第一数据存储总量;
通过预设推选条件推选所述节点集群中的主节点,并将所述节点集群中的除了所述主节点之外的其余分片节点配置为从节点;
通过所述主节点进行账本查询,得到账本查询结果,以及通过所述主节点进行账本更新,得到账本更新结果。
2.根据权利要求1所述的方法,其特征在于,所述主节点为peer节点,所述通过所述主节点进行账本查询,得到账本查询结果包括:
在应用程序连接到所述主节点之后,获取所述应用程序生成的提案,并将所述提案提交至所述主节点;
所述主节点根据所述提案调用相应的第一链码,以便于所述第一链码根据所述提案查询对应的超级账本,得到向所述应用程序返回的账本查询结果。
3.根据权利要求2所述的方法,其特征在于,所述通过所述主节点进行账本更新,得到对应的账本更新结果包括:
获取所述应用程序根据返回的所述账本查询结果生成一个交易,并将所述交易发送给排序服务模块,以便于所述排序服务模块将所述交易发送给所述区块链中的所述主节点;
所述主节点根据所述交易调用相关的第二链码,以根据所述第二链码进行账本更新,得到对应的账本更新结果。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述节点集群的所述第一数据存储总量进行扩容,得到扩容后的第二数据存储总量。
5.根据权利要求4所述的方法,其特征在于,在所述得到扩容后的第二数据存储容量之后,所述方法还包括:
确定所述节点集群中待加入的分片节点的数量。
6.根据权利要求5所述的方法,其特征在于,所述确定所述节点集群中待加入的分片节点的数量包括:
获取所述节点集群的所述第一数据存储总量、所述节点集群扩容后的所述第二数据存储总量以及所述节点集群中的任意一个分片节点的数据存储量阈值;
根据所述第一数据存储总量和所述第二数据存储总量,确定出所述节点集群待扩容的第三数据存储总量;
根据所述第三数据存储总量和所述节点集群中的任意一个分片节点的数据存储量阈值,确定所述节点集群中待加入的分片节点的数量。
7.根据权利要求1所述的方法,其特征在于,
所述预设推选条件包括:所述节点集群中的当前分片节点获取到的投票数超过总数的一半、且该分片节点获取到的投票数最多,则将该分片节点推选为所述节点集群中的所述主节点。
8.一种数据分片存储装置,其特征在于,所述装置包括:
获取单元,用于获取由多个分片节点组成的节点集群,所述节点集群用于存储区块链中的第一数据,所述第一数据的数据存储总量为所述区块链中任意一个节点集群的第一数据存储总量;
主节点推选单元,用于通过预设推选条件推选获取单元获取的所述节点集群中的主节点;
配置单元,用于将所述节点集群中的除了所述主节点推选单元推选出的所述主节点之外的其余分片节点配置为从节点;
数据处理单元,用于通过所述主节点推选单元推选出的所述主节点进行账本查询,得到账本查询结果,以及通过所述主节点推选单元推选出的所述主节点进行账本更新,得到账本更新结果。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项权利要求所述数据分片存储方法的步骤。
10.一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7中任一项权利要求所述数据分片存储方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011529237.0A CN112650812A (zh) | 2020-12-22 | 2020-12-22 | 一种数据分片存储方法、装置、计算机设备和存储介质 |
PCT/CN2021/124953 WO2022134797A1 (zh) | 2020-12-22 | 2021-10-20 | 一种数据分片存储方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011529237.0A CN112650812A (zh) | 2020-12-22 | 2020-12-22 | 一种数据分片存储方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112650812A true CN112650812A (zh) | 2021-04-13 |
Family
ID=75359048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011529237.0A Pending CN112650812A (zh) | 2020-12-22 | 2020-12-22 | 一种数据分片存储方法、装置、计算机设备和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112650812A (zh) |
WO (1) | WO2022134797A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114363363A (zh) * | 2021-12-31 | 2022-04-15 | 杭州趣链科技有限公司 | 基于多链的数据存储方法、装置、设备及介质 |
WO2022134797A1 (zh) * | 2020-12-22 | 2022-06-30 | 深圳壹账通智能科技有限公司 | 一种数据分片存储方法、装置、计算机设备和存储介质 |
TWI828602B (zh) * | 2022-07-26 | 2024-01-01 | 慧榮科技股份有限公司 | 用來在預定通訊架構中藉助碎化資訊偵測進行記憶裝置的資料碎化降低控制的方法及設備、以及相關電腦可讀媒體 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114089924B (zh) * | 2021-12-02 | 2024-06-04 | 东软集团股份有限公司 | 区块链账本数据存储***及方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10552556B2 (en) * | 2017-08-03 | 2020-02-04 | Liquineq AG | System and method for performance testing of scalable distributed network transactional databases |
US11205178B2 (en) * | 2017-12-28 | 2021-12-21 | International Business Machines Corporation | Converting processes into multiple blockchain smart contracts |
CN109345386B (zh) * | 2018-08-31 | 2020-04-14 | 阿里巴巴集团控股有限公司 | 基于区块链的交易共识处理方法及装置、电子设备 |
CN109785136A (zh) * | 2019-01-30 | 2019-05-21 | 北京京东尚科信息技术有限公司 | 一种区块链的交易处理方法、客户端及区块链网络 |
CN110570202B (zh) * | 2019-09-02 | 2022-06-03 | 杭州趣链科技有限公司 | 一种基于分片技术的混合共识方法 |
CN111092896B (zh) * | 2019-12-23 | 2022-08-26 | 北京工商大学 | 基于优化paxos的食品溯源分布式数据同步方法 |
CN112650812A (zh) * | 2020-12-22 | 2021-04-13 | 深圳壹账通智能科技有限公司 | 一种数据分片存储方法、装置、计算机设备和存储介质 |
-
2020
- 2020-12-22 CN CN202011529237.0A patent/CN112650812A/zh active Pending
-
2021
- 2021-10-20 WO PCT/CN2021/124953 patent/WO2022134797A1/zh active Application Filing
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022134797A1 (zh) * | 2020-12-22 | 2022-06-30 | 深圳壹账通智能科技有限公司 | 一种数据分片存储方法、装置、计算机设备和存储介质 |
CN114363363A (zh) * | 2021-12-31 | 2022-04-15 | 杭州趣链科技有限公司 | 基于多链的数据存储方法、装置、设备及介质 |
CN114363363B (zh) * | 2021-12-31 | 2024-03-22 | 杭州趣链科技有限公司 | 基于多链的数据存储方法、装置、设备及介质 |
TWI828602B (zh) * | 2022-07-26 | 2024-01-01 | 慧榮科技股份有限公司 | 用來在預定通訊架構中藉助碎化資訊偵測進行記憶裝置的資料碎化降低控制的方法及設備、以及相關電腦可讀媒體 |
Also Published As
Publication number | Publication date |
---|---|
WO2022134797A1 (zh) | 2022-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112650812A (zh) | 一种数据分片存储方法、装置、计算机设备和存储介质 | |
CN110990182B (zh) | 事务处理方法、装置、设备及存储介质 | |
CN108319623B (zh) | 一种数据重分布方法、装置及数据库集群 | |
CN110008665B (zh) | 一种区块链的权限控制方法及装置 | |
CN111061769A (zh) | 一种区块链***的共识方法及相关设备 | |
CN111447069B (zh) | 一种基于区块链的低频访问数据处理方法 | |
CN111400112A (zh) | 分布式集群的存储***的写入方法、装置及可读存储介质 | |
CN103488526A (zh) | 在分布式***中锁定业务资源的***和方法 | |
CN110880147B (zh) | 一种交易处理方法、相关设备及计算机存储介质 | |
CN110597918A (zh) | 一种账户管理方法、装置及计算机可读存储介质 | |
US11544245B2 (en) | Transaction processing method, apparatus, and device and computer storage medium | |
CN110417876B (zh) | 会话方法、分布式***中的节点服务器及主控设备 | |
CN111260253A (zh) | 信息发送方法、装置、计算机设备及存储介质 | |
CN111026711A (zh) | 基于区块链数据存储方法、装置、计算机设备及存储介质 | |
CN111708835B (zh) | 区块链数据存储方法及装置 | |
CN113157450A (zh) | 在区块链***中执行区块的方法及装置 | |
CN103905512A (zh) | 一种数据处理方法和设备 | |
CN116797233A (zh) | 用户成长体系的管理方法、装置、设备及存储介质 | |
CN110798358A (zh) | 分布式服务标识方法、装置、计算机可读介质及电子设备 | |
CN114756527A (zh) | Redis集群的扩容方法、装置、电子设备和存储介质 | |
CN115145715A (zh) | 一种分布式事务处理方法、***及相关设备 | |
CN113518126A (zh) | 一种面向联盟链的交叉容错方法 | |
CN112463757A (zh) | 一种分布式***的资源访问方法及相关装置 | |
CN110502460B (zh) | 数据处理的方法和节点 | |
CN109818767B (zh) | 一种Redis集群容量调整的方法、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40049890 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |