CN111538785A - 区块链的数据写入方法、装置、系统及电子设备 - Google Patents

区块链的数据写入方法、装置、系统及电子设备 Download PDF

Info

Publication number
CN111538785A
CN111538785A CN202010325804.4A CN202010325804A CN111538785A CN 111538785 A CN111538785 A CN 111538785A CN 202010325804 A CN202010325804 A CN 202010325804A CN 111538785 A CN111538785 A CN 111538785A
Authority
CN
China
Prior art keywords
written
data
database
node
block
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
Application number
CN202010325804.4A
Other languages
English (en)
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.)
JD Digital Technology Holdings Co Ltd
Beijing Haiyi Tongzhan Information Technology Co Ltd
Original Assignee
JD Digital Technology Holdings Co Ltd
Beijing Haiyi Tongzhan Information Technology 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 JD Digital Technology Holdings Co Ltd, Beijing Haiyi Tongzhan Information Technology Co Ltd filed Critical JD Digital Technology Holdings Co Ltd
Priority to CN202010325804.4A priority Critical patent/CN111538785A/zh
Publication of CN111538785A publication Critical patent/CN111538785A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供一种区块链的数据写入方法、装置、系统、电子设备及存储介质,包括:接收共识节点组中任一节点发送的写入请求,其中,写入请求中携带待写入区块数据,共识节点组中包括多个节点,若共识节点组对应的主数据库中未写入待写入区块数据,则控制待写入区块数据写入至主数据库中,以使主数据库将待写入区块数据同步至共识节点组对应的至少一个从数据库中,通过将待写入区块数据写入至主数据库,可以避免相关技术中数据库与节点之间因强依赖关系导致的,当数据库异常时,对应的节点无法正常工作,或者,当节点异常时,数据库无法正常工作的问题,且由主数据库同步至从数据库,可以节约写入操作的次数,从而实现节约写入资源的技术效果。

Description

区块链的数据写入方法、装置、系统及电子设备
技术领域
本申请涉及区块链技术领域,尤其涉及一种区块链的数据写入方法、装置、系统、电子设备及存储介质。
背景技术
随着区块链技术的发展和广泛应用,越来越多的区块链系统应运而生。
在现有技术中,一个节点对应一个数据库,针对某业务,当某节点完成共识,且共识通过时,由写入装置控制该节点,将此次业务的区块数据写入至该节点对应的数据库中。
然而发明人在实现本申请的过程中,发现至少存在如下问题:针对某业务,各节点需要分别将区块数据写入至各自对应的数据库中,写入资源耗费较大。
发明内容
本申请提供一种区块链的数据写入方法、装置、系统、电子设备及存储介质,用以解决现有技术中的问题。
一方面,本申请实施例提供一种区块链的数据写入方法,所述方法包括:
接收共识节点组中任一节点发送的写入请求,其中,所述写入请求中携带待写入区块数据,所述共识节点组中包括多个节点;
若所述共识节点组对应的主数据库中未写入所述待写入区块数据,则控制所述待写入区块数据写入至主数据库中,以使所述主数据库将所述待写入区块数据同步至所述共识节点组对应的至少一个从数据库中。
在本实施例中,通过将待写入区块数据写入至主数据库,可以避免相关技术中数据库与节点之间因强依赖关系导致的,当数据库异常时,对应的节点无法正常工作,或者,当节点异常时,数据库无法正常工作的问题,且由主数据库同步至从数据库,可以节约写入操作的次数,从而实现节约写入资源的技术效果。
在一些实施例中,所述控制所述待写入区块数据写入至主数据库中,包括:
将接收到的所述待写入区块数据写入所述主数据库。
在一些实施例中,所述控制所述待写入区块数据写入至主数据库中,包括:
控制发出所述写入请求的节点将所述待写入区块数据写入所述主数据库中。
在一些实施例中,将所述待写入区块数据写入至所述主数据源中包括:
为所述发出所述写入请求的节点分配写入锁,所述写入锁用于控制该节点的写入权限。
在一些实施例中,所述方法还包括:
若所述主数据库中已写入所述待写入区块数据,或者所述主数据库中正在写入所述待写入区块数据,则向发出所述写入请求的节点返回数据已写入应答。
根据本申请实施例的另一个方面,本申请实施例还提供了一种区块链的数据写入方法,所述方法包括:
接收来自共识节点组中节点的待写入区块数据,并对所述待写入区块数据进行存储,所述共识节点组中包括多个节点;
将所述待写入区块数据同步至所述共识节点组所对应的至少一个从数据库中。
在一些实施例中,所述接收来自对应的共识节点组中节点的待写入区块数据,包括:
接收所述共识节点组中任一节点写入的所述待写入区块数据;或者,接收写入装置写入的所述待写入区块数据。
在一些实施例中,所述方法还包括:
接收所述共识节点组中所对应的节点发送的数据同步请求,所述数据同步请求用于指示所对应的节点与所述共识节点组中的其他节点在共识过程中的区块哈希值不同,所述区块哈希值为所对应的节点根据从主数据库中读取的待共识数据生成;
根据所述数据同步请求,将所述待共识数据同步至所述从数据库中。
根据本申请实施例的另一个方面,本申请实施例还提供了一种区块链的数据写入装置,所述装置包括:
第一接收模块,用于接收共识节点组中任一节点发送的写入请求,其中,所述写入请求中携带待写入区块数据,所述共识节点组中包括多个节点;
控制模块,用于若所述共识节点组对应的主数据库中未写入所述待写入区块数据,则控制所述待写入区块数据写入至主数据库中,以使所述主数据库将所述待写入区块数据同步至所述共识节点组对应的至少一个从数据库中。
在一些实施例中,所述控制模块用于,将接收到的所述待写入区块数据写入所述主数据库。
在一些实施例中,所述控制模块用于,控制发出所述写入请求的节点将所述待写入区块数据写入所述主数据库中。
在一些实施例中,所述控制模块用于,为所述发出所述写入请求的节点分配写入锁,所述写入锁用于控制该节点的写入权限。
在一些实施例中,所述装置还包括:
发送模块,若所述主数据库中已写入所述待写入区块数据,或者所述主数据库中正在写入所述待写入区块数据,则向发出所述写入请求的节点返回数据已写入应答。
根据本申请实施例的另一个方面,本申请实施例还提供了一种数据库,所述数据库包括:
第二接收模块,用于接收来自共识节点组中节点的待写入区块数据,并对所述待写入区块数据进行存储,所述共识节点组中包括多个节点;
同步模块,用于将所述待写入区块数据同步至所述共识节点组所对应的至少一个从数据库中。
在一些实施例中,所述第二接收模块用于,接收所述共识节点组中任一节点写入的所述待写入区块数据;或者,接收写入装置写入的所述待写入区块数据。
在一些实施例中,所述第二接收模块用于,接收所述共识节点组中所对应的节点发送的数据同步请求,所述数据同步请求用于指示所对应的节点与所述共识节点组中的其他节点在共识过程中的区块哈希值不同,所述区块哈希值为所对应的节点根据从主数据库中读取的待共识数据生成;
所述同步模块用于,根据所述数据同步请求,将所述待共识数据同步至所述从数据库中。
根据本申请实施例的另一个方面,本申请实施例还提供了一种区块链的数据写入系统,所述系统包括:
共识节点组,所述共识节点组中包括多个节点;
如上任一实施例所述的区块链的数据写入装置;
如上任一实施例所述的数据库。
根据本申请实施例的另一个方面,本申请实施例还提供了一种电子设备,包括:存储器,处理器;
所述存储器用于存储所述处理器可执行指令的存储器;
其中,当执行所述存储器中的指令时,所述处理器被配置为实现如上任一实施例所述的方法。
根据本申请实施例的另一个方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上任一实施例所述的方法。
本申请提供一种区块链的数据写入方法、装置、系统、电子设备及存储介质,包括:接收共识节点组中任一节点发送的写入请求,其中,写入请求中携带待写入区块数据,共识节点组中包括多个节点,若共识节点组对应的主数据库中未写入待写入区块数据,则控制待写入区块数据写入至主数据库中,以使主数据库将待写入区块数据同步至共识节点组对应的至少一个从数据库中,通过将待写入区块数据写入至主数据库,可以避免相关技术中数据库与节点之间因强依赖关系导致的,当数据库异常时,对应的节点无法正常工作,或者,当节点异常时,数据库无法正常工作的问题,且由主数据库同步至从数据库,可以节约写入操作的次数,从而实现节约写入资源的技术效果。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例的应用场景示意图;
图2为本申请一个实施例的区块链的数据写入方法的流程示意图;
图3为本申请一个实施例的区块链的数据写入方法的交互示意图;
图4为本申请实施例的生成写入请求的方法的示意图;
图5为本申请另一实施例的区块链的数据写入方法的交互示意图;
图6为本申请另一实施例的区块链的数据写入方法的流程示意图;
图7为本申请一个实施例的区块链的数据写入装置的示意图;
图8为本申请另一个实施例的区块链的数据写入装置的示意图;
图9为本申请实施例的数据库的示意图;
图10为本申请实施例的电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
请参阅图1,图1为本申请实施例的应用场景示意图。
在如图1所示的应用场景中,共识节点组包括参与同一业务的多个节点,共识节点组对应对应多个数据库,多个数据库中包括一个主数据库,包括多个从数据库,可由写入装置控制各节点的待写入区块数据写入至主数据库中,主数据库可以将其内存储的待写入区块数据同步至各从数据库中。
在相关技术中,一个数据库对应一个节点,写入装置可控制各节点的待写入区块数据写入至各自对应的数据库中。
然而,节点过于依赖与其对应的数据库,若某节点对应的数据库异常时,则该节点无法正常工作,如无法实现正常的写入待写入区块数据的操作,且针对每个数据库,均需由写入装置控制待写入区块数据的写入,写入资源成本耗费较大。
本申请的发明人在经过创造性劳动之后,得到了本申请的发明构思:由多个节点组成一个共识节点组,从共识节点组对应的数据库中确定主数据库,由主数据库对待写入区块数据进行写入,并同步至从数据库。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
根据本申请实施例的一个方面,本申请实施例提供了一种区块链的数据写入方法。
请参阅图2,图2为本申请一个实施例的区块链的数据写入方法的流程示意图。
如图2所示,该方法包括:
S101:接收共识节点组中任一节点发送的写入请求,其中,写入请求中携带待写入区块数据,共识节点组中包括多个节点。
其中,本申请实施例的区块链的数据写入方法的执行主体可以为区块链的数据写入装置(下文简称写入装置),写入装置可以为服务器和终端设备等。
在本申请实施例中,可以基于业务需求等将多个节点划分成一个共识节点组。如,节点A、节点B和节点C均可对转账业务进行处理,则可将节点A、节点B和节点C划分为一个共识节点组。
S102:若共识节点组对应的主数据库中未写入待写入区块数据,则控制待写入区块数据写入至主数据库中,以使主数据库将待写入区块数据同步至共识节点组对应的至少一个从数据库中。
基于上述示例,可以由多个节点组成一个共识节点组,共识节点组对应的数据库包括共识节点组内各节点各自对应的数据库。也就可以理解为,共识节点组对应数据库组,且该数据库组中包括各节点对应的数据库。如,节点A对应数据库a,节点B对应数据库b,节点C对应数据库c,且数据库a、数据库b和数据库c中包括一个主数据库,包括两个从数据库,且主数据库可将待写入区块数据同步至一个或者两个从数据库中。
其中,主数据库和从数据库可以为经过主从一致性副本协议确定的;主数据库和从数据库也可以基于需求、经验和试验等预先指定。
具体地,当对主数据库和从数据库进行指定时,可以根据各数据库的数据存储性能,从各数据库中指定主数据库,且将其他的数据库确定为从数据库。其中,数据存储性能用于表征数据库对数据的存储的稳定性和可靠性等,如,将数据存储的稳定性最强的数据库作为主数据库。
在本申请实施例中,基于上述示例,若向写入装置发送写入请求的为节点B,主数据库为数据库a,则当主数据库a中没有写入待写入区块数据时,写入装置可控制待写入区块数据写入至主数据库a中,主数据库a将待写入区块数据同步至数据库b和/或数据库c。
也就是说,在本申请实施例中,一方面,仅需对主数据库a进行待写入区块数据的写入操作,而无需如相关技术中,各节点分别向各自对应的数据库写入待写入区块数据,如,基于上述示例,采用相关技术中的方案,需要写入待写入区块数据的操作为三次,而采用本申请实施例中的方案,只需写入一次,从而实现了节约写入资源的技术效果;另一方面,在相关技术中,如果某节点出现异常,则该节点对应的数据库无法存储待写入区块数据,当该节点恢复正常后,需要从其他数据库中获取并存储待写入区块数据,导致该节点在恢复后,也无法立即参与共识,而在本申请实施例中,即便是在该节点异常的情况下,该节点对应的数据库由于可以被主数据库同步写入待写入区块数据,因此,当该节点恢复后,可以立即参与共识,即通过本申请实施例的方案,提高了待写入区块数据的写入性能;再一方面,同理,在相关技术中,若某节点对应的数据库出现异常,则该节点无法向该数据库写入待写入区块数据,即该节点无法正常工作,而通过本申请实施例的方案,该节点可以继续工作,避免了节点与数据库之间的强依赖关系,且可以提高待写入区块数据的写入性能。
基于上述分析可知,本申请实施例提供了一种区块链的数据写入方法,该方法包括:接收共识节点组中任一节点发送的写入请求,其中,写入请求中携带待写入区块数据,共识节点组中包括多个节点,若共识节点组对应的主数据库中未写入待写入区块数据,则控制待写入区块数据写入至主数据库中,以使主数据库将待写入区块数据同步至共识节点组对应的至少一个从数据库中,通过将待写入区块数据写入至主数据库,可以避免相关技术中数据库与节点之间因强依赖关系导致的,当数据库异常时,对应的节点无法正常工作,或者,当节点异常时,数据库无法正常工作的问题,且由主数据库同步至从数据库,可以节约写入操作的次数,从而实现节约写入资源的技术效果。
为使读者更加深刻地理解本申请实施例的方案,现结合图3对本申请实施例进行详细地阐述。其中,图3为本申请一个实施例的区块链的数据写入方法的交互示意图。
如图3所示,该方法包括:
S1:共识节点组中的任一节点(以节点A为例)向写入装置发送写入请求,其中,写入请求中携带待写入区块数据,共识节点组中包括多个节点。
现结合图4对本申请实施例中,节点A生成写入请求的方法进行阐述如下:
S01:根据交易信息生成待写入区块数据。
S02:从与节点A对应的数据库中获取待共识数据。
S03:判断待共识数据是否通过共识,若是,则执行S04;若否,则执行S05。
其中,该步骤可以具体包括:节点A生成与待共识数据对应的区块哈希值,将区块哈希值在共识节点组中的广播,并接收共识节点组中的其他节点广播的区块哈希值,确定生成的区块哈希值与接收的区块哈希值相同的数量,若相同的数量大于总共的区块哈希值(包括生成的区块哈希值和接收的区块哈希值)的数量的半数,则确定通过共识,反之,则确定没有通过共识。
S04:生成携带待写入区块数据的写入请求,并执行S1。
S05:判断节点A对应的数据库是否为主数据库,若是,则流程结束;若否,则执行S06。
S06:从主数据源中获取并更新待共识数据,并返回至S03。
S2:写入装置对写入请求进行加锁控制,其中,加锁控制用于表征写入装置已接收到写入请求,正在进行处理。
S3:判断待写入区块数据是否已经被写入或者正在被写入主数据库中,若是,则执行S4;若否,则执行S5。
S4:写入装置向节点A返回数据已写入应答,流程结束。
S5:写入装置将待写入区块数据写入至主数据库中。
S6:主数据库将待写入区块数据同步至一个或多个从数据库中。
请参阅图5,图5为本申请另一实施例的区块链的数据写入方法的交互示意图。
如图5所示,该方法包括:
S11:共识节点组中的任一节点(以节点A为例)向主数据库发送查询请求,查询请求中携带待写入区块数据,且查询请求用于查询主数据库中是否被写入待写入区块数据。
S12:主数据库判断是否已经存储待写入区块数据,若是,则执行S13;若否,则执行S14。
S13:主数据生成并向节点A发送第一提示消息,第一提示消息用于表征主数据库中已经存储待写入区块数据,流程结束。
S14:主数据生成并向节点A发送第二提示消息,第二消息信息用于主数据库中没有待写入区块数据。
S15:节点A向写入装置发送写入请求,其中,写入请求中携带待写入区块数据,共识节点组中包括多个节点。
其中,关于S15的描述可参见S1,此处不再赘述。
S16:写入装置判断是否有其他节点是否正在写入待写入区块数据,若是,则执行S17;若否,则执行S18。
S17:写入装置向节点A发出数据已写入应答,流程结束。
S18:写入装置为节点A分配写入锁,写入锁用于控制节点A的写入权限。
S19:节点A根据写入锁将待写入区块数据写入至主数据库中。
S20:主数据库将待写入区块数据同步至一个或多个从数据库中。
根据本申请实施例的另一个方面,本申请实施例还提供了一种区块链的数据写入方法。
请参阅图6,图6为本申请另一实施例的区块链的数据写入方法的流程示意图。
如图6所示,该方法包括:
S201:主数据库接收来自共识节点组中节点的待写入区块数据,并对待写入区块数据进行存储,共识节点组中包括多个节点。
S202:主数据库将待写入区块数据同步至共识节点组所对应的至少一个从数据库中。
基于上述示例可知,主数据库和从数据库可以理解为一个数据库组,且该数据库组与共识节点组对应,即由共识节点组中的各节点各自对应的数据库组成数据库组,且数据库组中包括一个主数据库和多个从数据库。
在一些实施例中,主数据库和从数据库可以基于主从一致性副本协议确定;在另一些实施例中,主数据库和从数据库也可以基于需求、经验和试验等确定,等等。具体可参见上述示例,此处不再赘述。
在一些实施例中,主数据库可以接收共识节点组中任一节点写入的待写入区块数据;或者,接收写入装置写入的待写入区块数据。
在一些实施例中,该方法还包括:主数据库接收共识节点组中应的节点发送的数据同步请求,数据同步请求用于指示所对应的节点与共识节点组中的其他节点在共识过程中的区块哈希值不同,区块哈希值为所对应的节点根据从主数据库中读取的待共识数据生成,根据数据同步请求,将待共识数据同步至从数据库中。
根据本申请实施例的另一个方面,本申请实施例还提供了一种区块链的数据写入装置,用于执行如图2所述的区块链的数据写入方法。
请参阅图7,图7为本申请一个实施例的区块链的数据写入装置的示意图。
如图7所示,该装置包括:
第一接收模块11,用于接收共识节点组中任一节点发送的写入请求,其中,所述写入请求中携带待写入区块数据,所述共识节点组中包括多个节点;
控制模块12,用于若所述共识节点组对应的主数据库中未写入所述待写入区块数据,则控制所述待写入区块数据写入至主数据库中,以使所述主数据库将所述待写入区块数据同步至所述共识节点组对应的至少一个从数据库中。
在一些实施例中,所述控制模块12用于,将接收到的所述待写入区块数据写入所述主数据库。
在一些实施例中,所述控制模块12用于,控制发出所述写入请求的节点将所述待写入区块数据写入所述主数据库中。
在一些实施例中,所述控制模块12用于,为所述发出所述写入请求的节点分配写入锁,所述写入锁用于控制该节点的写入权限。
结合图8所示,在一些实施例中,所述装置还包括:
发送模块13,若所述主数据库中已写入所述待写入区块数据,或者所述主数据库中正在写入所述待写入区块数据,则向发出所述写入请求的节点返回数据已写入应答。
根据本申请实施例的另一个方面,本申请实施例还提供了一种数据库,用于执行如图6所示的方法。
请参阅图9,图9为本申请实施例的数据库的示意图。
如图9所示,所述数据库包括:
第二接收模块21,用于接收来自共识节点组中节点的待写入区块数据,并对所述待写入区块数据进行存储,所述共识节点组中包括多个节点;
同步模块22,用于将所述待写入区块数据同步至所述共识节点组所对应的至少一个从数据库中。
在一些实施例中,所述第二接收模块21用于,接收所述共识节点组中任一节点写入的所述待写入区块数据;或者,接收写入装置写入的所述待写入区块数据。
在一些实施例中,所述第二接收模块21用于,接收所述共识节点组中所对应的节点发送的数据同步请求,所述数据同步请求用于指示所对应的节点与所述共识节点组中的其他节点在共识过程中的区块哈希值不同,所述区块哈希值为所对应的节点根据从主数据库中读取的待共识数据生成;
所述同步模块22用于,根据所述数据同步请求,将所述待共识数据同步至所述从数据库中。
根据本申请实施例的另一个方面,本申请实施例还提供了一种区块链的数据写入系统,用于执行如图3和图5所示的方法,该系统包括:共识节点组、区块链的数据写入装置、主数据库和多个从数据库;其中,
共识节点组包括多个节点,多个节点中的任一节点向区块链的数据写入装置发送写入请求,其中,写入请求中携带待写入区块数据;
区块链的数据写入装置,用于执行如图2所述的方法;
主数据库,用于执行如图6所述的方法;
多个从数据库用于,存储主数据库同步的待写入区块数据。
根据本申请实施例的另一个方面,本申请实施例还提供了一种电子设备,包括:存储器,处理器;
存储器用于存储处理器可执行指令的存储器;
其中,当执行存储器中的指令时,处理器被配置为实现如上任一实施例所述的方法,如执行如图2和图6所示的方法。
请参阅图10,图10为本申请实施例的电子设备的结构示意图。
如图10所示,该电子设备包括存储器和处理器,该电子设备还可以包括通信接口和总线,其中,处理器、通信接口和存储器通过总线连接;处理器用于执行存储器中存储的可执行模块,例如计算机程序。
其中,存储器可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线可以是ISA总线、PCI总线或EISA总线等。总线可以分为地址总线、数据总线、控制总线等。
其中,存储器用于存储程序,处理器在接收到执行指令后,执行程序,前述本申请实施例任一实施例揭示的方法可以应用于处理器中,或者由处理器实现。
处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
根据本申请实施例的另一个方面,本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上任一实施例所述的方法。
读者应理解,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对的是相同的实施例或示例。而且,描述的具体特征、结构或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
还应理解,在本申请各实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (19)

1.一种区块链的数据写入方法,其特征在于,所述方法包括:
接收共识节点组中任一节点发送的写入请求,其中,所述写入请求中携带待写入区块数据,所述共识节点组中包括多个节点;
若所述共识节点组对应的主数据库中未写入所述待写入区块数据,则控制所述待写入区块数据写入至主数据库中,以使所述主数据库将所述待写入区块数据同步至所述共识节点组对应的至少一个从数据库中。
2.根据权利要求1所述的方法,其特征在于,所述控制所述待写入区块数据写入至主数据库中,包括:
将接收到的所述待写入区块数据写入所述主数据库。
3.根据权利要求1所述的方法,其特征在于,所述控制所述待写入区块数据写入至主数据库中,包括:
控制发出所述写入请求的节点将所述待写入区块数据写入所述主数据库中。
4.根据权利要求3所述的方法,其特征在于,将所述待写入区块数据写入至所述主数据源中包括:
为所述发出所述写入请求的节点分配写入锁,所述写入锁用于控制该节点的写入权限。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述方法还包括:
若所述主数据库中已写入所述待写入区块数据,或者所述主数据库中正在写入所述待写入区块数据,则向发出所述写入请求的节点返回数据已写入应答。
6.一种区块链的数据写入方法,其特征在于,所述方法包括:
接收来自共识节点组中节点的待写入区块数据,并对所述待写入区块数据进行存储,所述共识节点组中包括多个节点;
将所述待写入区块数据同步至所述共识节点组所对应的至少一个从数据库中。
7.根据权利要求6所述的方法,其特征在于,所述接收来自对应的共识节点组中节点的待写入区块数据,包括:
接收所述共识节点组中任一节点写入的所述待写入区块数据;或者,接收写入装置写入的所述待写入区块数据。
8.根据权利要求6或7所述的方法,其特征在于,所述方法还包括:
接收所述共识节点组中所对应的节点发送的数据同步请求,所述数据同步请求用于指示所对应的节点与所述共识节点组中的其他节点在共识过程中的区块哈希值不同,所述区块哈希值为所对应的节点根据从主数据库中读取的待共识数据生成;
根据所述数据同步请求,将所述待共识数据同步至所述从数据库中。
9.一种区块链的数据写入装置,其特征在于,所述装置包括:
第一接收模块,用于接收共识节点组中任一节点发送的写入请求,其中,所述写入请求中携带待写入区块数据,所述共识节点组中包括多个节点;
控制模块,用于若所述共识节点组对应的主数据库中未写入所述待写入区块数据,则控制所述待写入区块数据写入至主数据库中,以使所述主数据库将所述待写入区块数据同步至所述共识节点组对应的至少一个从数据库中。
10.根据权利要求9所述的装置,其特征在于,所述控制模块用于,将接收到的所述待写入区块数据写入所述主数据库。
11.根据权利要求9所述的装置,其特征在于,所述控制模块用于,控制发出所述写入请求的节点将所述待写入区块数据写入所述主数据库中。
12.根据权利要求11所述的装置,其特征在于,所述控制模块用于,为所述发出所述写入请求的节点分配写入锁,所述写入锁用于控制该节点的写入权限。
13.根据权利要求9至11中任一项所述的装置,其特征在于,所述装置还包括:
发送模块,若所述主数据库中已写入所述待写入区块数据,或者所述主数据库中正在写入所述待写入区块数据,则向发出所述写入请求的节点返回数据已写入应答。
14.一种数据库,其特征在于,所述数据库包括:
第二接收模块,用于接收来自共识节点组中节点的待写入区块数据,并对所述待写入区块数据进行存储,所述共识节点组中包括多个节点;
同步模块,用于将所述待写入区块数据同步至所述共识节点组所对应的至少一个从数据库中。
15.根据权利要求14所述的数据库,其特征在于,所述第二接收模块用于,接收所述共识节点组中任一节点写入的所述待写入区块数据;或者,接收写入装置写入的所述待写入区块数据。
16.根据权利要求14或15所述的数据库,其特征在于,
所述第二接收模块用于,接收所述共识节点组中所对应的节点发送的数据同步请求,所述数据同步请求用于指示所对应的节点与所述共识节点组中的其他节点在共识过程中的区块哈希值不同,所述区块哈希值为所对应的节点根据从主数据库中读取的待共识数据生成;
所述同步模块用于,根据所述数据同步请求,将所述待共识数据同步至所述从数据库中。
17.一种区块链的数据写入系统,其特征在于,所述系统包括:
共识节点组,所述共识节点组中包括多个节点;
如权利要求9至13中任一项所述的区块链的数据写入装置;
如权利要求14至16中任一项所述的数据库。
18.一种电子设备,包括:存储器,处理器;
所述存储器用于存储所述处理器可执行指令的存储器;
其中,当执行所述存储器中的指令时,所述处理器被配置为实现如权利要求1至5中任一项所述的方法;或者,所述处理器被配置为实现如权利要求6至8中任一项所述的方法。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至5中任一项所述的方法;或者,所述计算机执行指令被处理器执行时用于实现如权利要求6至8中任一项所述的方法。
CN202010325804.4A 2020-04-23 2020-04-23 区块链的数据写入方法、装置、系统及电子设备 Pending CN111538785A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010325804.4A CN111538785A (zh) 2020-04-23 2020-04-23 区块链的数据写入方法、装置、系统及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010325804.4A CN111538785A (zh) 2020-04-23 2020-04-23 区块链的数据写入方法、装置、系统及电子设备

Publications (1)

Publication Number Publication Date
CN111538785A true CN111538785A (zh) 2020-08-14

Family

ID=71977197

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010325804.4A Pending CN111538785A (zh) 2020-04-23 2020-04-23 区块链的数据写入方法、装置、系统及电子设备

Country Status (1)

Country Link
CN (1) CN111538785A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116561221A (zh) * 2023-04-21 2023-08-08 清华大学 支持物联网场景的分布式时序数据库副本共识协议方法
CN116737810A (zh) * 2023-05-06 2023-09-12 清华大学 一种用于分布式时序数据库的共识服务接口

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106446705A (zh) * 2016-08-26 2017-02-22 杨鹏 一种基于区块链的数据循环写入方法及系统
CN106685743A (zh) * 2017-03-09 2017-05-17 上海亿账通区块链科技有限公司 区块链集群处理系统和方法
CN107368750A (zh) * 2017-06-23 2017-11-21 雷虹 基于区块链的电子病历的实现方法及装置
CN108470265A (zh) * 2018-03-27 2018-08-31 深圳春沐源控股有限公司 一种基于区块链的多库房数据管理方法及相关设备
US20180323965A1 (en) * 2017-05-03 2018-11-08 International Business Machines Corporation Reduction in storage usage in blockchain
CN108830733A (zh) * 2018-06-21 2018-11-16 中国银行股份有限公司 一种信息处理方法、区块链集群及系统
CN108848056A (zh) * 2018-05-03 2018-11-20 南京理工大学 基于验证的区块链共识方法
CN109241032A (zh) * 2018-08-16 2019-01-18 北京京东尚科信息技术有限公司 账本数据库组件、运行方法及存储介质
WO2019072294A2 (en) * 2018-12-13 2019-04-18 Alibaba Group Holding Limited PROVIDING CONSENSUS BETWEEN NETWORK NODES IN A DISTRIBUTED SYSTEM
CN110019235A (zh) * 2017-12-29 2019-07-16 百度在线网络技术(北京)有限公司 基于区块链的数据存储、恢复方法、装置、设备及介质
CN110825755A (zh) * 2019-10-30 2020-02-21 北京海益同展信息科技有限公司 区块链的共识方法、共识节点、电子设备、存储介质
CN110989934A (zh) * 2019-12-05 2020-04-10 达闼科技成都有限公司 区块链节点数据存储方法、区块链系统及区块链节点

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106446705A (zh) * 2016-08-26 2017-02-22 杨鹏 一种基于区块链的数据循环写入方法及系统
CN106685743A (zh) * 2017-03-09 2017-05-17 上海亿账通区块链科技有限公司 区块链集群处理系统和方法
US20180323965A1 (en) * 2017-05-03 2018-11-08 International Business Machines Corporation Reduction in storage usage in blockchain
CN107368750A (zh) * 2017-06-23 2017-11-21 雷虹 基于区块链的电子病历的实现方法及装置
CN110019235A (zh) * 2017-12-29 2019-07-16 百度在线网络技术(北京)有限公司 基于区块链的数据存储、恢复方法、装置、设备及介质
CN108470265A (zh) * 2018-03-27 2018-08-31 深圳春沐源控股有限公司 一种基于区块链的多库房数据管理方法及相关设备
CN108848056A (zh) * 2018-05-03 2018-11-20 南京理工大学 基于验证的区块链共识方法
CN108830733A (zh) * 2018-06-21 2018-11-16 中国银行股份有限公司 一种信息处理方法、区块链集群及系统
CN109241032A (zh) * 2018-08-16 2019-01-18 北京京东尚科信息技术有限公司 账本数据库组件、运行方法及存储介质
WO2019072294A2 (en) * 2018-12-13 2019-04-18 Alibaba Group Holding Limited PROVIDING CONSENSUS BETWEEN NETWORK NODES IN A DISTRIBUTED SYSTEM
CN110825755A (zh) * 2019-10-30 2020-02-21 北京海益同展信息科技有限公司 区块链的共识方法、共识节点、电子设备、存储介质
CN110989934A (zh) * 2019-12-05 2020-04-10 达闼科技成都有限公司 区块链节点数据存储方法、区块链系统及区块链节点

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘宇 陈哲 李孟恒 覃团发: ""基于联盟区块链的体域网信息安全方案"", 《计算机工程与应用》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116561221A (zh) * 2023-04-21 2023-08-08 清华大学 支持物联网场景的分布式时序数据库副本共识协议方法
CN116561221B (zh) * 2023-04-21 2024-03-19 清华大学 支持物联网场景的分布式时序数据库副本共识协议的方法
CN116737810A (zh) * 2023-05-06 2023-09-12 清华大学 一种用于分布式时序数据库的共识服务接口

Similar Documents

Publication Publication Date Title
US11632441B2 (en) Methods, systems, and devices for electronic note identifier allocation and electronic note generation
CN108648078B (zh) 一种交易预处理方法、装置及电子设备
EP3816910B1 (en) Blockchain-based transaction processing method and apparatus, and electronic device
EP3816922A1 (en) Blockchain-based transaction processing method and apparatus, and electronic device
CN108769264B (zh) 一种区块链分域方法
CN113783935B (zh) 一种拜占庭容错方法及装置
CN109032796B (zh) 一种数据处理方法和装置
CN110825755A (zh) 区块链的共识方法、共识节点、电子设备、存储介质
CN110188110B (zh) 一种构建分布式锁的方法及装置
CN113810465B (zh) 一种异步二元共识方法及装置
CN111538785A (zh) 区块链的数据写入方法、装置、系统及电子设备
CN111447069B (zh) 一种基于区块链的低频访问数据处理方法
CN111177257A (zh) 一种区块链的数据存储及访问方法、装置以及设备
CN112650812A (zh) 一种数据分片存储方法、装置、计算机设备和存储介质
CN113888173B (zh) 基于区块链的智能合约调用方法、装置及设备
CN112988458B (zh) 数据备份方法、装置、电子设备及存储介质
CN107025257B (zh) 一种事务处理方法及装置
CN113778652A (zh) 一种任务调度方法、装置、电子设备及存储介质
CN113794576B (zh) 一种可再投票的二元共识方法及装置
US10567549B2 (en) Distributed database transaction processing method, device based on GPS atomic clock server
CN109885258B (zh) 基于区块链的数据删除装置及方法
CN111008220A (zh) 数据源的动态识别方法及装置、存储介质和电子装置
CN112764897B (zh) 任务请求的处理方法、装置、系统及计算机可读存储介质
CN111124631A (zh) 一种基于区块链网络的任务处理方法及装置
CN113794566B (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
CB02 Change of applicant information

Address after: 601, 6 / F, building 2, No. 18, Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant after: Jingdong Technology Information Technology Co.,Ltd.

Applicant after: Jingdong Technology Holding Co.,Ltd.

Address before: 601, 6 / F, building 2, No. 18, Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant before: Jingdong Shuke Haiyi Information Technology Co.,Ltd.

Applicant before: Jingdong Digital Technology Holding Co.,Ltd.

Address after: 601, 6 / F, building 2, No. 18, Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant after: Jingdong Shuke Haiyi Information Technology Co.,Ltd.

Applicant after: Jingdong Digital Technology Holding Co.,Ltd.

Address before: 601, 6 / F, building 2, No. 18, Kechuang 11th Street, Beijing Economic and Technological Development Zone, Beijing 100176

Applicant before: BEIJING HAIYI TONGZHAN INFORMATION TECHNOLOGY Co.,Ltd.

Applicant before: JINGDONG DIGITAL TECHNOLOGY HOLDINGS Co.,Ltd.

CB02 Change of applicant information
RJ01 Rejection of invention patent application after publication

Application publication date: 20200814