CN113744064A - 在区块链节点中执行交易的方法及装置 - Google Patents
在区块链节点中执行交易的方法及装置 Download PDFInfo
- Publication number
- CN113744064A CN113744064A CN202111296879.5A CN202111296879A CN113744064A CN 113744064 A CN113744064 A CN 113744064A CN 202111296879 A CN202111296879 A CN 202111296879A CN 113744064 A CN113744064 A CN 113744064A
- Authority
- CN
- China
- Prior art keywords
- state storage
- block
- storage device
- synchronization information
- stored
- 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
Images
Classifications
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Retry When Errors Occur (AREA)
Abstract
本说明书提供一种在区块链节点中执行交易的方法及装置,所述区块链节点包括多个状态存储设备和执行设备,所述方法由所述执行设备执行,所述方法包括:在根据任一状态存储设备存储的第一同步信息,确定该状态存储设备重启的情况下,基于各个状态存储设备存储的状态数据所对应的区块高度,确定目标区块;任一状态存储设备出现故障重启之后,所存储的第一同步信息变为预设的初始值;指示所述各个状态存储设备将各自存储的第一同步信息更新为与所述初始值不同的目标值;以及重新执行所述目标区块。
Description
技术领域
本说明书一个或多个实施例涉及区块链技术领域,特别涉及一种在区块链节点中执行交易的方法及装置。
背景技术
区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。在区块链中按照时间顺序将数据区块以顺序相连的方式组合成链式数据结构,并以密码学方式保证数据区块不可篡改和不可伪造。由于区块链具有去中心化、信息不可篡改、自治性等特性,区块链也受到人们越来越多的重视和应用。
目前来说,为了减小区块链中状态数据的读写压力,可以将状态数据进行分片,并部署到多台机器中,使每个分片只存放状态数据的一个子集。
发明内容
本说明书一个或多个实施例提供一种在区块链节点中执行交易的方法及装置。
根据第一方面,提供一种在区块链节点中执行交易的方法,所述区块链节点包括多个状态存储设备和执行设备,所述方法由所述执行设备执行,所述方法包括:
在根据任一状态存储设备存储的第一同步信息,确定该状态存储设备重启的情况下,基于各个状态存储设备存储的状态数据所对应的区块高度,确定目标区块;任一状态存储设备出现故障重启之后,所存储的第一同步信息变为预设的初始值;
指示所述各个状态存储设备将各自存储的第一同步信息更新为与所述初始值不同的目标值;以及
重新执行所述目标区块。
根据第二方面,提供一种在区块链节点中执行交易的方法,所述区块链节点包括多个状态存储设备和执行设备,所述方法包括:
所述执行设备在根据任一状态存储设备存储的第一同步信息,确定该状态存储设备重启的情况下,基于各个状态存储设备存储的状态数据所对应的区块高度,确定目标区块,并指示所述各个状态存储设备将各自存储的第一同步信息更新为与所述初始值不同的目标值;其中,任一状态存储设备出现故障重启之后,所存储的第一同步信息变为预设的初始值;
所述各个状态存储设备在所述执行设备的指示下,将各自存储的第一同步信息更新为与所述初始值不同的目标值;
所述执行设备指重新执行所述目标区块。
根据第三方面,提供一种在区块链节点中执行交易的装置,所述区块链节点包括多个状态存储设备和执行设备,所述装置部署于所述执行设备,所述装置包括:
确定模块,用于在根据任一状态存储设备存储的第一同步信息,确定该状态存储设备重启的情况下,基于各个状态存储设备存储的状态数据所对应的区块高度,确定目标区块;任一状态存储设备出现故障重启之后,所存储的第一同步信息变为预设的初始值;
指示模块,用于指示所述各个状态存储设备将各自存储的第一同步信息更新为与所述初始值不同的目标值;以及
执行模块,用于重新执行所述目标区块。
根据第四方面,提供一种区块链节点,该区块链节点包括多个状态存储设备和执行设备;
其中,所述执行设备,用于在根据任一状态存储设备存储的第一同步信息,确定该状态存储设备重启的情况下,基于各个状态存储设备存储的状态数据所对应的区块高度,确定目标区块,并指示所述各个状态存储设备将各自存储的第一同步信息更新为与所述初始值不同的目标值,以及重新执行所述目标区块;
所述状态存储设备,用于存储区块链的状态数据,并在所述执行设备的指示下,将存储的第一同步信息更新为与所述初始值不同的目标值;其中,任一状态存储设备出现故障重启之后,所存储的第一同步信息变为预设的初始值。
根据第五方面,提供一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面或第二方面中任一项所述的方法。
根据第六方面,提供一种及计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述第一方面或第二方面中任一项所述的方法。
本说明书的实施例提供的技术方案可以包括以下有益效果:
本说明书的实施例提供的在区块链节点中执行交易的方法和装置,在交易执行的过程中,执行设备和状态存储设备交互时,通过状态存储设备中存储的同步信息,判断状态存储设备是否出现故障后重启,并能够在状态存储设备出现故障并重启的情况下,重新执行可能丢失的数据所对应的区块的交易,从而避免了数据的丢失。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本说明书根据一示例性实施例示出的一种区块链的节点的架构图;
图2是本说明书根据一示例性实施例示出的一种在区块链节点中执行交易的方法流程图;
图3是本说明书根据一示例性实施例示出的另一种在区块链节点中执行交易的方法的交互流程图;
图4是本说明书根据一示例性实施例示出的一种在区块链节点中执行交易装置的框图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
如图1所示,是根据一示例性实施例示出的一种区块链的节点的架构图。其中,区块链的节点可以实现为任何具有计算、处理能力的装置、服务器或设备集群等。
在图1中,区块链的节点可以包括执行设备和状态存储设备,其中,状态存储设备可以包括状态存储设备1,状态存储设备2,……状态存储设备n等n个状态存储设备。可选地,执行设备可以包括第一执行设备和第二执行设备,其中,第二执行设备可以包括设备1,设备2,……设备m等m个第二执行设备。可以理解,图1仅是示例性的示出n个状态存储设备和m个第二执行设备,实际上区块链的节点中可以包括任意数目的状态存储设备和任意数目的第二执行设备。例如,状态存储设备的数目可以是任意多个,第二执行设备的数目可以是一个也可以是任意多个,状态存储设备的数目可以和第二执行设备的数目相同,也可以不同。
在本实施例中,状态存储设备用于存储区块链的状态数据,不同的状态存储设备存储不同账户的状态数据。例如,状态存储设备1存储账户A、账户B和账户C的状态数据,状态存储设备2存储账户E、账户F和账户G的状态数据,……状态存储设备n存储账户X、账户Y和账户Z等等。执行设备用于生成并更新同步信息,执行区块包括的交易,并将执行结果包括的状态数据传输给该状态数据的账户所对应的状态存储设备,查询各个状态存储设备各自存储的状态数据所对应的区块高度等。可选地,若执行设备包括第一执行设备和第二执行设备,则第一执行设备可以用于生成并更新同步信息,查询各个状态存储设备各自存储的状态数据所对应的区块高度等,第二执行设备可以用于执行区块包括的交易等。
以下以执行设备包括第一执行设备和至少一个第二执行设备的情况为例进行描述。具体来说,首先,在整个区块链系统启动之后,第一执行设备生成同步信息k0,并将该同步信息k0发送给各个状态存储设备,各个状态存储设备将该同步信息k0存入缓存中。然后,在第二执行设备执行交易并与状态存储设备进行交互的过程中,各个第二执行设备获取该同步信息k0,并存入缓存中。
在正常的情况下,任一第二执行设备执行一个交易,需要读取一个状态存储设备存储的状态数据,在读取该状态数据的过程中,该状态存储设备将存储的同步信息k0和该状态数据一并发送给该第二执行设备。该第二执行设备将预先存储的同步信息k0与接收到的同步信息k0相比较,由于比较结果指示预先存储的同步信息k0与接收到的同步信息k0一致,因此,该第二执行设备可以继续执行该交易。该交易执行完成后,该第二执行设备可以将需要写入该状态存储设备的状态数据发送给第一执行设备(第一执行设备可以接收各个第二执行设备发送的需要写入状态存储设备的状态数据)。等待该交易所属的区块中的全部交易执行完成之后,第一执行设备将从各个第二执行设备接收到的需要写入各个状态存储设备的状态数据发送给各个状态存储设备。
在一种异常情况下,任意一个状态存储设备(以状态存储设备1为例)出现了故障,故障排除并重启之后,状态存储设备1的缓存中的同步信息被重置为初始值0。当任意一个第二执行设备(以设备1为例)执行交易,需要访问状态存储设备1时,状态存储设备1将被重置为0的同步信息发送给设备1。设备1根据接收到的同步信息0,判断设备1访问的状态存储设备1出现故障重启了。因此,设备1通知第一执行设备,并停止执行交易。第一执行设备响应于设备1的通知,重新生成新的同步信息k1,并将同步信息k1发送给各个状态存储设备,指示各个状态存储设备将缓存中的同步信息均更新为k1。同时,第一执行设备查询各个状态存储设备各自存储的状态数据所对应的区块高度。如果区块高度都一致,均为M,则将该高度为M+1的区块作为目标区块。如果区块高度不同,最小值为N,则将该高度为N+1的区块作为目标区块。最后,第一执行设备指示各个第二执行设备将各自存储的同步信息均更新为k1,并且,通知各个第二执行设备重新执行目标区块包括的交易。各个第二执行设备响应于第一执行设备的通知,先更新存储的同步信息,再重新执行目标区块包括的交易。
需要说明的是,在各个第二执行设备更新同步信息之前,任一状态存储设备(以状态存储设备2为例),已经将同步信息由k0更新为k1。那么,任一第二执行设备(以设备2)如果访问状态存储设备2。在访问过程中,设备2从状态存储设备2获取同步信息k1,并将其预先存储的同步信息k0与接收到的同步信息k1相比较。由于比较结果指示预先存储的同步信息k0与接收到的同步信息k1不同,并且,接收到的同步信息k1不为0,,因此,设备2停止执行交易。
在另一种异常情况下,第一执行设备出现了故障,故障排除并重启之后,第一执行设备重新生成新的同步信息k2,并将同步信息k2发送给各个状态存储设备,指示各个状态存储设备将缓存中的同步信息均更新为k2。同时,第一执行设备查询各个状态存储设备各自存储的状态数据所对应的区块高度。如果区块高度都一致,均为S,则将该高度为S+1的区块作为目标区块。如果区块高度不同,最小值为T,则将该高度为T+1的区块作为目标区块。然后,第一执行设备指示各个第二执行设备将各自存储的同步信息均更新为k2,并且,通知各个第二执行设备重新执行目标区块包括的交易。各个第二执行设备响应于第一执行设备的通知,先更新存储的同步信息,再重新执行目标区块包括的交易。同样,在各个第二执行设备更新同步信息之前,任一状态存储设备已经将同步信息更新为k2。那么,任一第二执行设备如果访问该状态存储设备,发现预先存储的同步信息与接收到的同步信息k2不同,并且,接收到的同步信息k2不为0,,该第二执行设备停止执行交易。
在又一种异常情况下,任意一个第二执行设备出现了故障,故障排除并重启之后,该第二执行设备的缓存中的同步信息被重置为初始值0。该第二执行设备主动读取各个状态存储设备各自存储的同步信息,如果这些同步信息不为0,且均相同,均为k2,则该第二执行设备可以将缓存中的同步信息更新为k2,并继续执行分配得到的交易。如果这些同步信息均为0,或者不都相同,则该第二执行设备可以重新主动读取各个状态存储设备各自存储的同步信息,直至这些同步信息不为0,且均相同。
综合以上,当任一状态存储设备或执行设备出现故障并重启之后,可能会丢失缓存中存储的数据,通过本实施例提供的执行交易的方案能够在设备出现故障并重启之后,重新执行可能丢失的数据所对应的交易,从而避免了数据的丢失。
下面将结合具体的实施例对本说明书提供的方案进行详细描述。
如图2所示,图2是根据一示例性实施例示出的一种在区块链节点中执行交易的方法的流程图,该区块链节点包括多个状态存储设备和执行设备,该方法可以应用于执行设备中。该执行设备可以实现为任何具有计算、处理能力的设备、平台、服务器或设备集群。该方法包括以下步骤:
在步骤201中,根据任一状态存储设备存储的同步信息确定该状态存储设备重启。
在一种实现方式中,执行设备可以仅包括一个设备。在另一种实现方式中,执行设备可以包括第一执行设备和至少一个第二执行设备(本实施例以执行设备包括一个设备的实现方式为例进行说明,执行设备包括第一执行设备和至少一个第二执行设备的实现方式的详细过程具体可参见下面图3实施例的描述)。
在本实施例中,执行设备可以用于执行交易,在执行设备执行交易的过程中,需要对多个状态存储设备中的任一状态存储设备进行访问操作。该访问操作可以是对该状态存储设备进行读和/或写的操作。该状态存储设备响应于执行设备的访问操作,可以向执行设备返回一个应答的消息,该消息中携带预先存储于该状态存储设备中的同步信息,执行设备可以从该消息中获取该状态存储设备存储的同步信息。由于任一状态存储设备出现故障重启之后,所存储的同步信息变为预设的初始值(例如,该初始值可以设置为0),因此,执行设备可以根据该状态存储设备存储的同步信息,判断该状态存储设备是否出现故障重启了。例如,当执行设备确定该状态存储设备存储的同步信息为预设的初始值时,则说明该状态存储设备出现故障重启了。如果该状态存储设备出现故障并重启了,说明该状态存储设备有可能丢失了部分数据。所以需要重新执行已执行过的部分交易,以恢复丢失了的数据。
在步骤203中,在确定该状态存储设备重启的情况下,确定目标区块。
在本实施例中,执行设备可以基于多个状态存储设备中各个状态存储设备存储的状态数据所对应的区块高度,确定目标区块。具体来说,执行设备可以查询各个状态存储设备存储的状态数据所对应的区块高度。如果各个状态存储设备存储的状态数据所对应的区块高度均相同,则可以将该区块高度所对应的区块的下一个区块确定为目标区块。如果各个状态存储设备存储的状态数据所对应的区块高度不同,则可以将最小的区块高度所对应的区块的下一个区块确定为目标区块。
其中,任一状态存储设备存储的状态数据所对应的区块高度为在该状态存储设备中存储的完整状态数据所对应的最大高度,例如,状态存储设备A正在写入区块a对应的状态数据,但仅写入了一部分,还未写完,则状态存储设备A存储的状态数据所对应的区块高度为a-1。
需要说明的是,执行设备可以将目标区块的信息(如目标区块的高度或目标区块的标识等)发送给各个状态存储设备,各个状态存储设备在接收到目标区块的信息之后,可以检查磁盘的数据中是否包括目标区块对应的状态数据,如果包括,从磁盘中删除目标区块对应的状态数据,或者将磁盘中目标区块对应的状态数据标记为无效。并且,各个状态存储设备还需要同时清空缓存。
在步骤205中,指示各个状态存储设备将各自存储的第一同步信息更新为与初始值不同的目标值。
在本实施例中,执行设备在确定目标区块的过程中,还可以同时生成用于更新同步信息的不同于初始值的目标值。具体来说,执行设备可以按照预设规则生成目标值,例如,可以利用当前时间戳作为目标值,也可以利用当前时间戳加上预设位数的随机数作为目标值,还可以生成预设位数的随机数作为目标值等等。可以理解,还可以采用其它任意合理的方式生成目标值,本实施例对生成目标值的具体方式方面不限定。
接着,执行设备可以分别向各个状态存储设备发送携带目标值的更新指示信息,以指示各个状态存储设备利用目标值更新各自存储的第一同步信息。同时,执行设备可以利用目标值更新本地存储的第二同步信息。
在步骤207中,重新执行目标区块。
在本实施例中,在确定目标区块,并且各个状态存储设备对同步信息更新完成之后,执行设备可以重新执行目标区块的交易,具体可以包括清除执行设备的缓存中未写入状态存储设备的数据,以及重新执行目标区块的交易。
需要说明的是,在执行设备重新执行目标区块之前,需要保证各个状态存储设备已经完成清空缓存和对磁盘的处理。例如,各个状态存储设备清空缓存,并基于目标区块的信息对磁盘进行处理之后,通知执行设备。执行设备在确定所有状态存储设备都完成清空缓存和对磁盘的处理之后,重新执行目标区块。又例如,各个状态存储设备在接收到执行设备发送的目标区块的信息之后,先清空缓存,并基于目标区块的信息对磁盘进行处理。完成清空缓存和对磁盘的处理之后,再基于更新指示信息更新第一同步信息。执行设备在检测到各个状态存储设备存储的第一同步信息的值均相等之后,可以重新执行目标区块。
本说明书的上述实施例提供的在区块链节点中执行交易的方法,在交易执行的过程中,执行设备和状态存储设备交互时,通过状态存储设备中存储的同步信息,判断状态存储设备是否出现故障后重启,并能够在状态存储设备出现故障并重启的情况下,重新执行可能丢失的数据所对应的区块的交易,从而避免了数据的丢失。
如图3所示,图3根据一示例性实施例示出的另一种在区块链节点中执行交易的方法的流程图,该实施例描述了执行设备包括第一执行设备和第二执行设备的情况,该方法可以应用于执行设备中,包括以下步骤:
在步骤301中,第二执行设备获取访问的状态存储设备存储的同步信息。
在本实施例中,执行设备包括第一执行设备和至少一个第二执行设备,任一第二执行设备在执行交易时,需要对任一状态存储设备进行访问操作。该第二执行设备可以向该状态存储设备发送访问请求,该状态存储设备响应于该访问请求,向该第二执行设备返回一个应答消息,该应答消息中携带预先存储于该状态存储设备中的同步信息,该第二执行设备可以从该应答消息中获取该同步信息。
在步骤303中,第二执行设备基于应答消息携带的同步信息,确定该状态存储设备重启了。
在本实施例中,由于任一状态存储设备出现故障重启之后,所存储的同步信息变为预设的初始值,因此,该第二执行设备可以根据该状态存储设备存储的同步信息,判断该状态存储设备是否出现故障重启了。
具体来说,若该状态存储设备存储的同步信息为初始值,则确定该状态存储设备重启了,停止执行交易。若该状态存储设备存储的同步信息不是初始值,并且该状态存储设备存储的同步信息与该第二执行设备存储的同步信息相同,则继续执行交易。若该状态存储设备存储的同步信息不是初始值,并且该状态存储设备存储的同步信息与该第二执行设备存储的同步信息不同,则停止执行交易。
在步骤305和步骤307中,该第二执行设备向第一执行设备发送状态存储设备重启过的消息,第一执行设备响应于该消息,确定目标区块,并生成目标值。
在本实施例中,如果该第二执行设备确定该状态存储设备重启了,则可以向第一执行设备发送状态存储设备重启的消息。第一执行设备接收到第二执行设备发送的消息之后,可以生成目标值,并且,基于各个状态存储设备存储的状态数据所对应的区块高度确定目标区块。其中,生成目标值的步骤和确定目标区块的步骤可以并行执行。
在步骤309和步骤311中,各个状态存储设备在第一执行设备的指示下,将各自存储的同步信息更新为目标值。
在本实施例中,第一执行设备生成目标值并确定目标区块之后,可以通知各个状态存储设备目标区块的信息,并指示各个状态存储设备将各自存储的同步信息更新为目标值。各个状态存储设备接收到目标区块的信息之后,可以清空缓存,并基于目标区块的信息对磁盘进行处理。在完成清空缓存和对磁盘的处理之后,利用目标值更新存储的同步信息。
在步骤313和步骤315中,在各个状态存储设备对同步信息更新完成之后,第二执行设备在第一执行设备的指示下,更新同步信息并重新执行目标区块。
在本实施例中,第一执行设备在确定各个状态存储设备对同步信息更新完成之后,指示第二执行设备更新同步信息并重新执行目标区块。第二执行设备接收到指示之后,可以清除缓存中未写入状态存储设备的数据,并利用目标值更新存储的同步信息,然后,重新执行目标区块的交易。
可选地,第一执行设备在出现故障重启之后,可以直接执行确定目标区块,并指示各个状态存储设备将各自存储的同步信息更新为目标值的操作,并指示第二执行设备重新执行目标区块的交易。第二执行设备在出现故障重启之后,可以读取各个状态存储设备各自存储的同步信息的值,如果读取的各个同步信息各自的值均相同且不为初始值,则将存储于第二执行设备的同步信息更新为与读取的各个同步信息相同的值。如果读取的各个同步信息各自的值不都相同或者都为初始值,则重新读取各个状态存储设备各自存储的同步信息的值,直到相同且不为初始值为止。
本说明书的上述实施例提供的在区块链节点中执行交易的方法,在第二执行设备执行交易的过程中,第二执行设备和状态存储设备交互时,通过状态存储设备中存储的同步信息,来判断状态存储设备是否出现故障后重启,并能够在状态存储设备出现故障并重启的情况下,重新执行可能丢失的数据所对应的交易,从而避免了数据的丢失。
应当注意,尽管在上述实施例中,以特定顺序描述了本说明书实施例的方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
与前述在区块链节点中执行交易的方法实施例相对应,本说明书还提供了在区块链节点中执行交易的装置的实施例。
如图4所示,图4是本说明书根据一示例性实施例示出的一种在区块链节点中执行交易的装置框图,该区块链节点包括多个状态存储设备和执行设备,该装置部署于执行设备,该装置可以包括:确定模块401,指示模块402和执行模块403。
其中,确定模块401,用于在根据任一状态存储设备存储的第一同步信息,确定该状态存储设备重启的情况下,基于各个状态存储设备存储的状态数据所对应的区块高度,确定目标区块。任一状态存储设备出现故障重启之后,所存储的第一同步信息变为预设的初始值。
指示模块402,用于指示各个状态存储设备将各自存储的第一同步信息更新为与初始值不同的目标值。
执行模块403,用于重新执行目标区块。
在一些实施方式中,该装置还可以包括:判断模块(图中未示出)。
其中,判断模块,用于针对任一状态存储设备,在对该状态存储设备进行访问操作之前,根据该状态存储设备存储的第一同步信息,确定该状态存储设备是否重启。
在另一些实施方式中,确定模块401可以通过如下方式确定目标区块:如果各个状态存储设备存储的状态数据所对应的区块高度均相同,将该区块高度所对应的区块的下一个区块确定为目标区块;如果各个状态存储设备存储的状态数据所对应的区块高度不同,将最小的区块高度所对应的区块的下一个区块确定为目标区块。
在另一些实施方式中对该状态存储设备进行访问操作包括对该状态存储设备进行读和/或写的操作。
应当理解,上述装置可以预先设置在执行设备中,也可以通过下载等方式而加载到执行设备中。上述装置中的相应模块可以与执行设备中的模块相互配合以实现在区块链节点中执行交易的方案。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书一个或多个实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本说明书一个或多个实施例还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图2至图3任一实施例提供的在区块链节点中执行交易的方法。
本说明书一个或多个实施例还提供了一种计算设备,包括存储器和处理器,该存储器中存储有可执行代码,该处理器执行上述可执行代码时,实现上述图2至图3任一实施例提供的在区块链节点中执行交易的方法。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device, PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20 以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为服务器系统。当然,本申请不排除随着未来计算机技术的发展,实现上述实施例功能的计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
虽然本说明书一个或多个实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。例如若使用到第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
本发明是参照根据本发明实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储、石墨烯存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本说明书一个或多个实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本说明书一个或多个实施例的实施例而已,并不用于限制本本说明书一个或多个实施例。对于本领域技术人员来说,本说明书一个或多个实施例可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在权利要求范围之内。
Claims (20)
1.一种在区块链节点中执行交易的方法,所述区块链节点包括多个状态存储设备和执行设备,所述方法由所述执行设备执行,所述方法包括:
在根据任一状态存储设备存储的第一同步信息,确定该状态存储设备重启的情况下,基于各个状态存储设备存储的状态数据所对应的区块高度,确定目标区块;任一状态存储设备出现故障重启之后,所存储的第一同步信息变为预设的初始值;
指示所述各个状态存储设备将各自存储的第一同步信息更新为与所述初始值不同的目标值;以及
重新执行所述目标区块。
2.根据权利要求1所述的方法,其中,所述方法还包括:
在对任一状态存储设备进行访问操作的情况下,根据该状态存储设备存储的第一同步信息,确定该状态存储设备是否重启。
3.根据权利要求1所述的方法,其中,所述基于各个状态存储设备存储的状态数据所对应的区块高度,确定目标区块,包括:
如果所述各个状态存储设备存储的状态数据所对应的区块高度均相同,将该区块高度所对应的区块的下一个区块确定为所述目标区块;
如果所述各个状态存储设备存储的状态数据所对应的区块高度不同,将最小的区块高度所对应的区块的下一个区块确定为所述目标区块。
4.根据权利要求1所述的方法,其中,所述执行设备包括第一执行设备和第二执行设备;由所述第一执行设备确定目标区块,并指示所述各个状态存储设备将各自存储的第一同步信息更新为所述目标值;由所述第二执行设备重新执行所述目标区块。
5.根据权利要求4所述的方法,其中,所述方法还包括:
在所述第一执行设备/所述第二执行设备对任一状态存储设备进行访问操作的情况下,所述第一执行设备/所述第二执行设备从接收的该状态存储设备发送的消息中获取该状态存储设备存储的第一同步信息;
若该状态存储设备存储的第一同步信息为所述初始值,则确定该状态存储设备重启。
6.根据权利要求5所述的方法,其中,所述方法还包括:
若该状态存储设备存储的第一同步信息不是所述初始值,并且该状态存储设备存储的第一同步信息与所述第一执行设备/所述第二执行设备存储的第二同步信息相同,继续执行所述访问操作对应的交易;
若该状态存储设备存储的第一同步信息不是所述初始值,并且该状态存储设备存储的第一同步信息与所述第一执行设备/所述第二执行设备存储的第二同步信息不同,停止执行所述访问操作对应的交易。
7.根据权利要求2或5所述的方法,其中,所述访问操作包括读和/或写的操作。
8.根据权利要求4所述的方法,其中,所述方法还包括:
在所述第一执行设备出现故障重启之后,由所述第一执行设备确定目标区块,并指示所述各个状态存储设备将各自存储的第一同步信息更新为所述目标值的操作,由所述第二执行设备重新执行所述目标区块。
9.根据权利要求4所述的方法,其中,所述方法还包括:
在所述第二执行设备出现故障重启之后,由所述第二执行设备读取所述各个状态存储设备各自存储的第一同步信息;
如果读取的各个第一同步信息均相同且不为所述初始值,将存储于所述第二执行设备的第二同步信息更新为与各个第一同步信息相同的值。
10.一种在区块链节点中执行交易的方法,所述区块链节点包括多个状态存储设备和执行设备,所述方法包括:
所述执行设备在根据任一状态存储设备存储的第一同步信息,确定该状态存储设备重启的情况下,基于各个状态存储设备存储的状态数据所对应的区块高度,确定目标区块,并指示所述各个状态存储设备将各自存储的第一同步信息更新为与所述初始值不同的目标值;其中,任一状态存储设备出现故障重启之后,所存储的第一同步信息变为预设的初始值;
所述各个状态存储设备在所述执行设备的指示下,将各自存储的第一同步信息更新为与所述初始值不同的目标值;
所述执行设备指重新执行所述目标区块。
11.根据权利要求10所述的方法,其中,所述方法还包括:
在对任一状态存储设备进行访问操作的情况下,所述执行设备向该状态存储设备发送访问请求;
该状态存储设备响应于所述访问请求,向所述执行设备返回携带该状态存储设备存储的第一同步信息的消息;
所述执行设备从接收到所述消息中获取该状态存储设备存储的第一同步信息,并基于该状态存储设备存储的第一同步信息,确定该状态存储设备是否重启。
12.根据权利要求11所述的方法,其中,所述对任一状态存储设备进行访问操作包括对任一状态存储设备进行读和/或写的操作。
13.根据权利要求11所述的方法,其中,所述执行设备通过如下方式确定目标区块:
如果所述各个状态存储设备存储的状态数据所对应的区块高度均相同,将该区块高度所对应的区块的下一个区块确定为所述目标区块;
如果所述各个状态存储设备存储的状态数据所对应的区块高度不同,将最小的区块高度所对应的区块的下一个区块确定为所述目标区块。
14.一种在区块链节点中执行交易的装置,所述区块链节点包括多个状态存储设备和执行设备,所述装置部署于所述执行设备,所述装置包括:
确定模块,用于在根据任一状态存储设备存储的第一同步信息,确定该状态存储设备重启的情况下,基于各个状态存储设备存储的状态数据所对应的区块高度,确定目标区块;任一状态存储设备出现故障重启之后,所存储的第一同步信息变为预设的初始值;
指示模块,用于指示所述各个状态存储设备将各自存储的第一同步信息更新为与所述初始值不同的目标值;以及
执行模块,用于重新执行所述目标区块。
15.根据权利要求14所述的装置,其中,所述装置还包括:
判断模块,用于针对任一状态存储设备,在对该状态存储设备进行访问操作之前,根据该状态存储设备存储的第一同步信息,确定该状态存储设备是否重启。
16.根据权利要求14所述的装置,其中,所述确定模块通过如下方式确定目标区块:
如果所述各个状态存储设备存储的状态数据所对应的区块高度均相同,将该区块高度所对应的区块的下一个区块确定为所述目标区块;
如果所述各个状态存储设备存储的状态数据所对应的区块高度不同,将最小的区块高度所对应的区块的下一个区块确定为所述目标区块。
17.根据权利要求15所述的装置,其中,所述对该状态存储设备进行访问操作包括对该状态存储设备进行读和/或写的操作。
18.一种区块链节点,所述区块链节点包括多个状态存储设备和执行设备;
其中,所述执行设备,用于在根据任一状态存储设备存储的第一同步信息,确定该状态存储设备重启的情况下,基于各个状态存储设备存储的状态数据所对应的区块高度,确定目标区块,并指示所述各个状态存储设备将各自存储的第一同步信息更新为与所述初始值不同的目标值,以及重新执行所述目标区块;
所述状态存储设备,用于存储区块链的状态数据,并在所述执行设备的指示下,将存储的第一同步信息更新为与所述初始值不同的目标值;其中,任一状态存储设备出现故障重启之后,所存储的第一同步信息变为预设的初始值。
19.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令所述计算机执行权利要求1-13中任一项所述的方法。
20.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-13中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111296879.5A CN113744064B (zh) | 2021-11-04 | 2021-11-04 | 在区块链节点中执行交易的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111296879.5A CN113744064B (zh) | 2021-11-04 | 2021-11-04 | 在区块链节点中执行交易的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113744064A true CN113744064A (zh) | 2021-12-03 |
CN113744064B CN113744064B (zh) | 2022-02-22 |
Family
ID=78727328
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111296879.5A Active CN113744064B (zh) | 2021-11-04 | 2021-11-04 | 在区块链节点中执行交易的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113744064B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114493602A (zh) * | 2022-04-08 | 2022-05-13 | 恒生电子股份有限公司 | 区块链交易的执行方法、装置、电子设备和存储介质 |
CN116126971A (zh) * | 2022-12-29 | 2023-05-16 | 蚂蚁区块链科技(上海)有限公司 | 区块链系统中的数据管理方法、装置和存储节点 |
WO2023207079A1 (zh) * | 2022-04-28 | 2023-11-02 | 蚂蚁区块链科技(上海)有限公司 | 一种区块链中的区块状态同步方法及第一节点 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108572976A (zh) * | 2017-03-10 | 2018-09-25 | 华为软件技术有限公司 | 一种分布式数据库中数据恢复方法、相关设备和系统 |
CN108805570A (zh) * | 2018-06-01 | 2018-11-13 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置及存储介质 |
CN111552676A (zh) * | 2020-04-26 | 2020-08-18 | 北京众享比特科技有限公司 | 基于区块链的存证方法、装置、设备及介质 |
CN112383610A (zh) * | 2020-11-11 | 2021-02-19 | 上海保险交易所股份有限公司 | 区块链状态数据的同步处理方法及系统 |
-
2021
- 2021-11-04 CN CN202111296879.5A patent/CN113744064B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108572976A (zh) * | 2017-03-10 | 2018-09-25 | 华为软件技术有限公司 | 一种分布式数据库中数据恢复方法、相关设备和系统 |
CN108805570A (zh) * | 2018-06-01 | 2018-11-13 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置及存储介质 |
CN111552676A (zh) * | 2020-04-26 | 2020-08-18 | 北京众享比特科技有限公司 | 基于区块链的存证方法、装置、设备及介质 |
CN112383610A (zh) * | 2020-11-11 | 2021-02-19 | 上海保险交易所股份有限公司 | 区块链状态数据的同步处理方法及系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114493602A (zh) * | 2022-04-08 | 2022-05-13 | 恒生电子股份有限公司 | 区块链交易的执行方法、装置、电子设备和存储介质 |
WO2023207079A1 (zh) * | 2022-04-28 | 2023-11-02 | 蚂蚁区块链科技(上海)有限公司 | 一种区块链中的区块状态同步方法及第一节点 |
CN116126971A (zh) * | 2022-12-29 | 2023-05-16 | 蚂蚁区块链科技(上海)有限公司 | 区块链系统中的数据管理方法、装置和存储节点 |
Also Published As
Publication number | Publication date |
---|---|
CN113744064B (zh) | 2022-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113744064B (zh) | 在区块链节点中执行交易的方法及装置 | |
CN110569305B (zh) | 区块同步方法、装置、介质和计算设备 | |
CN102934114B (zh) | 用于文件系统的检查点 | |
CN102207879B (zh) | Lua脚本热更新方法及系统 | |
CN102023908A (zh) | 一种引导程序备份方法及装置 | |
EP2195741A1 (en) | Firmware image update and management | |
KR20170040734A (ko) | 업데이트 제어 방법을 갖는 전자 시스템 및 그것의 동작 방법 | |
CN110633096B (zh) | 节点控制方法及装置、版本控制方法及装置、分布式系统 | |
CN113254048B (zh) | 引导程序更新方法、装置、设备及计算机可读介质 | |
US9330153B2 (en) | System, method, and computer readable medium that coordinates between devices using exchange of log files | |
CN113743950A (zh) | 在区块链中执行交易的方法、区块链节点和区块链 | |
CN113743942A (zh) | 交易执行方法、区块链、主节点和主存储设备 | |
US20100037094A1 (en) | Application Failure Recovery | |
CN113806139B (zh) | 操作系统恢复方法、设备、存储介质及计算机程序产品 | |
CN113254163B (zh) | 区块链数据的处理方法及装置 | |
CN108958814B (zh) | 一种多模冗余的嵌入式操作系统启动方法 | |
CN108647112B (zh) | 数据备份的方法、装置及分布式事务处理系统 | |
CN113791934A (zh) | 数据的恢复方法、计算设备及存储介质 | |
CN111124294B (zh) | 一种扇区映射信息的管理方法及装置、存储介质和设备 | |
US11334444B2 (en) | Method, device and computer program product for managing a storage system | |
CN113744061B (zh) | 在区块链系统中执行交易的方法、区块链系统、和从节点 | |
CN109189444A (zh) | 一种服务器虚拟化系统的管理节点的升级控制方法及装置 | |
CN107391223B (zh) | 一种文件处理方法及装置 | |
CN116743550B (zh) | 一种分布式存储集群的故障存储节点的处理方法 | |
CN110838333B (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 |