CN110990490A - 区块链网络中区块链的入账方法、装置、设备及介质 - Google Patents

区块链网络中区块链的入账方法、装置、设备及介质 Download PDF

Info

Publication number
CN110990490A
CN110990490A CN201911319709.7A CN201911319709A CN110990490A CN 110990490 A CN110990490 A CN 110990490A CN 201911319709 A CN201911319709 A CN 201911319709A CN 110990490 A CN110990490 A CN 110990490A
Authority
CN
China
Prior art keywords
block
longest chain
chain
difference
blocks
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
Application number
CN201911319709.7A
Other languages
English (en)
Other versions
CN110990490B (zh
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 CN201911319709.7A priority Critical patent/CN110990490B/zh
Publication of CN110990490A publication Critical patent/CN110990490A/zh
Application granted granted Critical
Publication of CN110990490B publication Critical patent/CN110990490B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

本公开提供了一种区块链网络中区块链的入账方法、装置、设备及介质。该方法包括:判断当前多个缓存链中最长链和次长链的差别是否满足差别条件;当所述差别满足差别条件时,判断所述最长链是否包含由其他节点生成的区块;以及当所述最长链不包含由其他节点生成的区块时,暂停新区块的生成操作;基于监听到的其他节点生成的区块,确定是否将当前多个缓存链中的所述最长链写入账本,并恢复新区块的生成操作。该方法能够有效避免节点中心化的问题。

Description

区块链网络中区块链的入账方法、装置、设备及介质
技术领域
本公开涉及区块链技术领域,尤其涉及一种区块链网络中区块链的入账方法、装置、设备及介质。
背景技术
随着区块链技术的发展,越来越多的数据开始使用区块链进行存储和交互。相关技术中的POW(Proof of Work,工作量证明)共识算法是区块链系统中比较常用的共识机制。POW共识算法主要通过数据计算的方式实现公平,这种算法在实际运行过程中,由于矿池的存在,会存在一些可能导致中心化的问题。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种区块链网络中区块链的入账方法、装置、设备及介质,能够有效避免节点中心化的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一个方面,提供一种区块链网络中区块链的入账方法,其特征在于,包括:判断当前多个缓存链中最长链和次长链的差别是否满足差别条件;当差别满足差别条件时,判断最长链是否包含由其他节点生成的区块;以及当最长链不包含由其他节点生成的区块时,暂停新区块的生成操作;基于监听到的其他节点生成的区块,确定是否将当前多个缓存链中的最长链写入账本,并恢复新区块的生成操作。
在本公开一个实施例中,上述方法还包括:当最长链包含由其他节点生成的区块时,将最长链写入账本。
在本公开一个实施例中,基于监听到的其他节点生成的区块,确定是否将当前多个缓存链中的最长链写入账本,并恢复新区块的生成操作,包括:获取监听到的区块的前置区块;将监听到的区块链接到前置区块之后;判断当前多个缓存链中最长链除了最后一个区块外的其他区块是否均由当前节点生成;当最长链除了最后一个区块外的其他区块均由当前节点生成时,获取最长链中最后一个区块的节点集合;当节点集合包含其他节点时,将最长链中除了最后一个区块之外的其他区块写入账本;从节点集合中选取一个节点,获取选出的节点对应的最后一个区块,基于对应的最后一个区块,恢复新区块的生成操作。
在本公开一个实施例中,基于监听到的其他节点生成的区块,确定是否将当前多个缓存链中的最长链写入账本,并恢复新区块的生成操作,还包括:当最长链除了最后一个区块外的其他区块不是均由当前节点生成时,获取当前多个缓存链中的次长链;确定最长链和次长链的差别是否满足预设条件;当差别满足差别条件时,基于最长链的最后一个区块,生成新的区块;当新的区块的难度值满足预设条件时,将新的区块链接于最后一个区块之后,并广播新的区块。
在本公开一个实施例中,上述方法还包括:基于写入账本的区块链的最后一个区块,生成新的区块;当新的区块的难度值满足预设条件时,将新的区块链接至多个缓存链中的最长链的最后,并广播新的区块。
在本公开一个实施例中,上述方法还包括:获取多个缓存链中的最长链的最后一个区块;基于最后一个区块,生成新的区块;以及当差别不满足差别条件时,且新的区块的难度值满足预设条件时,将新的区块链接至最长链的最后。
在本公开一个实施例中,所述差别条件包括长度阈值。。
根据本公开的另一个方面,提供一种区块链网络中区块链的入账装置,其特征在于,包括:差值判断模块,用于判断当前多个缓存链中最长链和次长链的差别是否满足差别条件;区块判断模块,用于当长度差值大于预设差值时,判断最长链是否包含由其他节点生成的区块;以及操作暂停模块,用于当最长链不包含由其他节点生成的区块时,暂停新区块的生成操作;基于监听到的其他节点生成的区块,确定是否将当前多个缓存链中的最长链写入账本,并恢复新区块的生成操作。
根据本公开的再一个方面,提供一种计算机设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述方法。
根据本公开的又一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法。
本公开的实施例所提供的区块链网络中区块链的入账方法,在当前缓存链中最长链和次长链的差别满足差别条件时,通过判断最长链是否包含由其他节点生成的区块,来决定是否暂停新区块的生成操作,因此可以确保写入账本的区块链包含非当前节点产生的区块,可以有效避免节点中心化的问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施方式示出的一种区块链网络中区块链的入账方法的流程图。
图2是根据一示例示出的一种区块链网络中缓存链的示意图。
图3是根据一示例性实施方式示出的另一种区块链网络中区块链的入账方法的流程图。
图4是是根据一示例性实施方式示出的一种区块链网络中缓存链的示意图。
图5是根据一示例性实施方式示出的另一种区块链网络中区块链的入账方法的流程图。
图6是根据另一示例示出的一种区块链网络中缓存链的示意图。
图7是根据一示例性实施方式示出的另一种区块链网络中区块链的入账方法的流程图。
图8是是根据另一示例示出的一种区块链网络中缓存链的示意图。
图9是根据一示例性实施方式示出的另一种区块链网络中区块链的入账方法的流程图。
图10是根据一示例性实施方式示出的一种区块链网络中区块链的入账装置的框图。
图11是根据一示例性实施方式示出的一种计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
下面,将结合附图及实施例对本公开实施方式中的区块链网络中区块链的入账方法的各个步骤进行更详细的说明。
图1是根据一示例性实施方式示出的一种区块链网络中区块链的入账方法的流程图。本公开实施例提供的方法可以由任意具备计算处理能力的电子设备执行,例如终端和/或服务器集群。
如图1所示,区块链网络中区块链的入账方法10包括:
在步骤S102中,判断当前多个缓存链中最长链和次长链的差别是否满足差别条件。
缓存链是指未放入账本的链条,缓存链可以有多条。
在一些实施例中,差别条件包括长度阈值。最长链和次长链的差别例如可以是链的长度差值,长度阈值例如可以是预设差值,长度差值和预设差值可以为区块的数量。
当缓存链中最长链和次长链的长度差值大于或等于预设差值时,即最长链和次长链的差别满足差别条件。
首先计算当前多个缓存链中最长链和次长链的长度差值,然后比较该长度差值和预设差值,预设差值可以根据实际情况设置,例如可以设置为一个区块。
图2是根据一示例示出的一种区块链网络中缓存链的示意图。
如图2所示,区块A0是起始区块,区块A1-A3是节点A通过哈希运算生成的,区块B1-B2是节点B通过哈希运算生成的,区块C1是节点C通过哈希运算生成的。
在图2所示的缓存链中,假设节点A的计算能力最强,节点B的计算能力次之,节点C的计算能力最弱。
以预设差值为一个区块为例,在图2所示的缓存链中,当生成区块A3后,此时的最长链为A1-A2-A3,次长链为B1-B2,最长链和次长链的长度差值为一个区块,此时长度差值等于预设差值,即最长链和次长链的差别满足差别条件。
在步骤S104中,当差别满足差别条件时,判断最长链是否包含由其他节点生成的区块。
仍以图2所示的缓存链为例,其中最长链和次长链的长度差值为一个区块,此时长度差值等于预设差值,即最长链和次长链的差别满足差别条件,然后判断最长链A1-A2-A3是否包含由其他节点生成的区块,可以看出,最长链A1-A2-A3都是由当前节点,即节点A生成的,不包含由其他节点生成的区块。
在步骤S106中,当最长链不包含由其他节点生成的区块时,暂停新区块的生成操作;基于监听到的其他节点生成的区块,确定是否将当前多个缓存链中的最长链写入账本,并恢复新区块的生成操作。
当该最长链中不包含由其他节点生成的区块时,暂停新区块的生成操作,处于阻塞状态,等待被唤醒。
仍以图2所示的缓存链为例,最长链A1-A2-A3都是由当前节点,即节点A生成的,不包含由其他节点生成的区块,此时暂停新区块的生成操作,即节点A暂停哈希计算生成新区块,等待被唤醒。
节点启动之后会有两个线程并行执行操作,其中一个线程用于新区块的生成,另外一个线程用于监听其他节点发送的结块消息。
基于监听到的其他节点生成的区块,获取其前置区块,将获取到的区块加入到该前置区块后,通过判断最长链中除了最后一个区块外是否由当前节点生成,来确定是否将最长链写入账本,并恢复新区块的生成操作。
本公开的实施例所提供的区块链网络中区块链的入账方法,在当前缓存链中最长链和次长链的差别满足差别条件时,通过判断最长链是否包含由其他节点生成的区块,来决定是否暂停新区块的生成操作,因此可以确保写入账本的区块链包含非当前节点产生的区块,可以有效避免节点中心化的问题。
应清楚地理解,本公开描述了如何形成和使用特定示例,但本公开的原理不限于这些示例的任何细节。相反,基于本公开公开的内容的教导,这些原理能够应用于许多其它实施方式。
图3是根据一示例性实施方式示出的另一种区块链网络中区块链的入账方法的流程图。
如图3所示,区块链网络中区块链的入账方法20与区块链网络中区块链的入账方法10的不同之处在于,在步骤S104之后,区块链网络中区块链的入账方法20还包括:
在步骤S108中,当最长链包含由其他节点生成的区块时,将最长链写入账本。
当最长链包含由其他节点生成的区块时,表示该最长链被其他节点认可。
图4是是根据一示例性实施方式示出的一种区块链网络中缓存链的示意图。
如图4所示,最长链为A1-A2-A3-C4,该最长链中包含由其他节点生成的区块,即节点C生成的区块C4,则将该最长链写入账本。
在一些实施例中,方法20还包括:
在步骤S110中,基于写入账本的区块链的最后一个区块,生成新的区块;当新的区块的难度值满足预设条件时,将新的区块链接至多个缓存链中的最长链的最后,并广播新的区块。
在本公开中,难度值的预设条件可以设置的比较小,可以加快运算效率,提高生成区块的速度。
区块链网络中区块链的入账方法20中的步骤S102和S104与区块链网络中区块链的入账方法10中的步骤S102和S104相同,在此不再赘述。
图5是根据一示例性实施方式示出的另一种区块链网络中区块链的入账方法的流程图。
与图1所示的方法10不同之处在于,图5进一步提供了如何基于监听到的其他节点生成的区块,确定是否将当前多个缓存链中的最长链写入账本,并恢复新区块的生成操作,也即图5所示的方法,进一步提供了对图1中步骤S106的实施例。
参考图5,步骤S106包括:
在步骤S1061中,获取监听到的区块的前置区块。
节点启动之后会有两个线程并行执行操作,其中一个线程用于新区块的生成,另外一个线程用于监听其他节点发送的结块消息。当接收到其他节点发送的结块消息后,获取该结块消息的PreHash(前置哈希值)和Height(区块高度),并根据这两个结果找到其对应的前置区块。
在步骤S1062中,将监听到的区块链接到前置区块之后。
在步骤S1063中,判断当前多个缓存链中最长链除了最后一个区块外的其他区块是否均由当前节点生成。
图6是根据另一示例示出的一种区块链网络中缓存链的示意图。
以图6所示的缓存链为例,当前多个缓存链中最长链为A1-A2-A3-C4和A1-A2-A3-B4,除了最后一个区块C4和B4外的其他区块A1、A2、A3均是由当前节点生成的。
在步骤S1064中,当最长链除了最后一个区块外的其他区块均由当前节点生成时,获取最长链中最后一个区块的节点集合;当节点集合包含其他节点时,将最长链中除了最后一个区块之外的其他区块写入账本;从节点集合中选取一个节点,获取选出的节点对应的最后一个区块,基于对应的最后一个区块,恢复新区块的生成操作。
仍以图6所示的缓存链为例,除了最后一个区块C4和B4外的其他区块A1、A2、A3均是由当前节点生成的,获取最长链中最后一个区块的节点集合,即{C、B}。该节点集合{C、B}包含其他节点C和B,则将最长链中除了最后一个区块之外的其他区块写入账本,即将A1-A2-A3写入账本;从该节点集合{C、B}中选取一个节点,这里可以随机选取,本公开对节点的选取方式不做限制,假设选取C节点,然后获取选出的节点C对应的最后一个区块C4,基于该最后一个区块C4,恢复新区块的生成操作,即在区块C4的基础上,节点A可以继续进行哈希计算,生成新的区块。
图7是根据一示例性实施方式示出的另一种区块链网络中区块链的入账方法的流程图。
如图7所示的区块链网络中区块链的入账方法与图5所示的区块链网络中区块链的入账方法的不同之处在于,在步骤S1063之后,还包括:
在步骤S1065中,当最长链除了最后一个区块外的其他区块不是均由当前节点生成时,获取当前多个缓存链中的次长链;确定最长链和次长链的差别是否满足差别条件;当差别满足预设条件时,基于最长链的最后一个区块,生成新的区块;当新的区块的难度值满足预设条件时,将新的区块链接于最后一个区块之后,并广播新的区块。
图8是是根据另一示例示出的一种区块链网络中缓存链的示意图。
以图8所示的缓存链为例,最长链A1-A2-A3-B4中除了最后一个区块B4外,其他区块不是均由当前节点B生成的,则获取当前多个缓存链中的次长链B1-B2;判断最长链和次长链的差别是否满足差别条件,差别例如可以是最长链和次长链的长度差值,差别条件例如可以是预设差值,这里以一个区块为例,当长度差值大于或等于预设差值是,最长链和次长链的差别满足差别条件,在本实施例中,最长链和次长链的长度差值为两个区块,大于预设差值,即差别满足预设条件,此时基于最长链的最后一个区块B4,生成新的区块;当新的区块B5(图中未示出)的难度值满足预设条件时,将新的区块B5链接于最后一个区块B4之后,并广播新的区块。
图9是根据一示例性实施方式示出的另一种区块链网络中区块链的入账方法的流程图。
如图9所示,在图1所示的区块链网络中的区块链的入账方法10的基础上,区块链网络中区块链的入账方法30还包括:
在步骤S302中,获取多个缓存链中的最长链的最后一个区块。
在步骤S304中,基于最后一个区块,生成新的区块。
基于获取到的该最后一个区块,进行哈希运算,生成新的区块。
在步骤S306中,当多个缓存链中最长链和次长链的差别不满足差别条件,且新的区块的难度值满足预设条件时,将新的区块链接至最长链的最后。
最长链和次长链的差别例如可以为最长链和次长链的长度差值,差别条件例如可以是预设差值,预设差值例如可以是一个区块,当多个缓存链中最长链和次长链的长度差值小于预设差值时,可以认为多个缓存链中最长链和次长链的差别不满足差别条件不满足差别条件,并且生成的新的区块的难度值满足预设条件时,将新的区块链接至最长链的最后,其中,难度值的预设条件可以设置的很小,可以加快运算效率,提高生成区块的速度。
区块链网络中区块链的入账方法30和区块链网络中区块链的入账方法10相同的步骤在此不再赘述。
本领域技术人员可以理解实现上述实施方式的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本公开提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本公开示例性实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图10是根据一示例性实施方式示出的一种区块链网络中区块链的入账装置的框图。
如图10所示,区块链网络中区块链的入账装置40包括:差值判断模块402、区块判断模块404、操作暂停模块406。
其中,差值判断模块402用于判断当前多个缓存链中最长链和次长链的差别是否满足差别条件。
区块判断模块404用于当长度差值大于预设差值时,判断最长链是否包含由其他节点生成的区块。
操作暂停模块406用于当最长链不包含由其他节点生成的区块时,暂停新区块的生成操作;基于监听到的其他节点生成的区块,确定是否将当前多个缓存链中的最长链写入账本,并恢复新区块的生成操作。
在一些实施例中,装置40还包括写入账本模块,用于当最长链包含由其他节点生成的区块时,将最长链写入账本。
在一些实施例中,操作暂停模块406包括区块获取模块,用于获取监听到的区块的前置区块;区块链接模块,用于将监听到的区块链接到前置区块之后;节点判断模块,用于判断当前多个缓存链中最长链除了最后一个区块外的其他区块是否均由当前节点生成;操作恢复模块,用于当最长链除了最后一个区块外的其他区块均由当前节点生成时,获取最长链中最后一个区块的节点集合;当节点集合包含其他节点时,将最长链中除了最后一个区块之外的其他区块写入账本;从节点集合中选取一个节点,获取选出的节点对应的最后一个区块,基于对应的最后一个区块,恢复新区块的生成操作。
在一些实施例中,操作暂停模块406还包括区块广播模块,用于当最长链除了最后一个区块外的其他区块不是均由当前节点生成时,获取当前多个缓存链中的次长链;确定最长链和次长链的差别是否满足差别条件;当差别不满足差别条件时,基于最长链的最后一个区块,生成新的区块;当新的区块的难度值满足预设条件时,将新的区块链接于最后一个区块之后,并广播新的区块。
在一些实施例中,装置40还包括区块生成模块,用于基于写入账本的区块链的最后一个区块,生成新的区块;当新的区块的难度值满足预设条件时,将新的区块链接至多个缓存链中的最长链的最后,并广播新的区块。
在一些实施例中,装置40还包括第二区块获取模块,用于获取多个缓存链中的最长链的最后一个区块;第二区块生成模块,用于基于最后一个区块,生成新的区块;以及区块链接模块,用于当差别不满足差别条件时,且新的区块的难度值满足预设条件时,将新的区块链接至最长链的最后。
在一些实施例中,差别条件包括长度阈值。本公开的实施例所提供的区块链网络中区块链的入账装置,在当前缓存链中最长链和次长链的差别满足差别条件时,通过判断最长链是否包含由其他节点生成的区块,来决定是否暂停新区块的生成操作,因此可以确保写入账本的区块链包含非当前节点产生的区块,可以有效避免节点中心化的问题。
需要注意的是,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
图11是根据一示例性实施方式示出的一种计算机系统的结构示意图。需要说明的是,图11示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图11所示,计算机系统800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有系统800操作所需的各种程序和数据。CPU801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本公开的系统中限定的上述功能。
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括发送单元、获取单元、确定单元和第一处理单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,发送单元还可以被描述为“向所连接的服务端发送图片获取请求的单元”。
作为另一方面,本公开还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:
判断当前多个缓存链中最长链和次长链的差别是否满足差别条件;
当差别满足差别条件时,判断最长链是否包含由其他节点生成的区块;以及
当最长链不包含由其他节点生成的区块时,暂停新区块的生成操作;基于监听到的其他节点生成的区块,确定是否将当前多个缓存链中的最长链写入账本,并恢复新区块的生成操作。
以上具体地示出和描述了本公开的示例性实施方式。应可理解的是,本公开不限于这里描述的详细结构、设置方式或实现方法;相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。

Claims (10)

1.一种区块链网络中区块链的入账方法,其特征在于,包括:
判断当前多个缓存链中最长链和次长链的差别是否满足差别条件;
当所述差别满足差别条件时,判断所述最长链是否包含由其他节点生成的区块;以及
当所述最长链不包含由其他节点生成的区块时,暂停新区块的生成操作;基于监听到的其他节点生成的区块,确定是否将当前多个缓存链中的所述最长链写入账本,并恢复新区块的生成操作。
2.根据权利要求1所述的方法,其特征在于,还包括:
当所述最长链包含由其他节点生成的区块时,将所述最长链写入账本。
3.根据权利要求1所述的方法,其特征在于,基于监听到的其他节点生成的区块,确定是否将当前多个缓存链中的所述最长链写入账本,并恢复新区块的生成操作,包括:
获取监听到的所述区块的前置区块;
将监听到的所述区块链接到所述前置区块之后;
判断当前多个缓存链中最长链除了最后一个区块外的其他区块是否均由当前节点生成;
当所述最长链除了最后一个区块外的其他区块均由当前节点生成时,获取所述最长链中最后一个区块的节点集合;当所述节点集合包含其他节点时,将所述最长链中除了所述最后一个区块之外的其他区块写入账本;从所述节点集合中选取一个节点,获取选出的所述节点对应的最后一个区块,基于对应的所述最后一个区块,恢复新区块的生成操作。
4.根据权利要求3所述的方法,其特征在于,基于监听到的其他节点生成的区块,确定是否将当前多个缓存链中的所述最长链写入账本,并恢复新区块的生成操作,还包括:
当所述最长链除了最后一个区块外的其他区块不是均由当前节点生成时,获取当前多个缓存链中的次长链;确定所述最长链和所述次长链的差别是否满足差别条件;当所述差别满足差别条件时,基于所述最长链的最后一个区块,生成新的区块;当所述新的区块的难度值满足预设条件时,将所述新的区块链接于所述最后一个区块之后,并广播所述新的区块。
5.根据权利要求2所述的方法,其特征在于,还包括:
基于写入账本的区块链的最后一个区块,生成新的区块;当所述新的区块的难度值满足预设条件时,将所述新的区块链接至多个缓存链中的最长链的最后,并广播所述新的区块。
6.根据权利要求1所述的方法,其特征在于,还包括:
获取多个缓存链中的最长链的最后一个区块;
基于所述最后一个区块,生成新的区块;以及
当所述差别不满足差别条件时,且所述新的区块的难度值满足预设条件时,将所述新的区块连接至所述最长链的最后。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述差别条件包括长度阈值。
8.一种区块链网络中区块链的入账装置,其特征在于,包括:
差值判断模块,用于判断当前多个缓存链中最长链和次长链的差别是否满足差别条件;
区块判断模块,用于当长度差值大于预设差值时,判断最长链是否包含由其他节点生成的区块;以及
操作暂停模块,用于当最长链不包含由其他节点生成的区块时,暂停新区块的生成操作;基于监听到的其他节点生成的区块,确定是否将当前多个缓存链中的最长链写入账本,并恢复新区块的生成操作。
9.一种计算机设备,包括:存储器、处理器及存储在所述存储器中并可在所述处理器中运行的可执行指令,其特征在于,所述处理器执行所述可执行指令时实现如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机可执行指令,其特征在于,所述可执行指令被处理器执行时实现如权利要求1-7任一项所述的方法。
CN201911319709.7A 2019-12-19 2019-12-19 区块链网络中区块链的入账方法、装置、设备及介质 Active CN110990490B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911319709.7A CN110990490B (zh) 2019-12-19 2019-12-19 区块链网络中区块链的入账方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911319709.7A CN110990490B (zh) 2019-12-19 2019-12-19 区块链网络中区块链的入账方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN110990490A true CN110990490A (zh) 2020-04-10
CN110990490B CN110990490B (zh) 2023-09-01

Family

ID=70065782

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911319709.7A Active CN110990490B (zh) 2019-12-19 2019-12-19 区块链网络中区块链的入账方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN110990490B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022152114A1 (zh) * 2021-01-18 2022-07-21 腾讯科技(深圳)有限公司 基于节点内存的数据处理方法、装置、设备以及介质

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107729471A (zh) * 2017-10-13 2018-02-23 上海策赢网络科技有限公司 一种区块链及其生成方法与设备
CN108270821A (zh) * 2016-12-30 2018-07-10 深圳瀚德创客金融投资有限公司 用于区块链网络中的区块生成方法和网络节点
US20180204111A1 (en) * 2013-02-28 2018-07-19 Z Advanced Computing, Inc. System and Method for Extremely Efficient Image and Pattern Recognition and Artificial Intelligence Platform
CN108876361A (zh) * 2017-05-12 2018-11-23 李平 区块链系统、区块生成方法及计算机可读存储介质
CN108924252A (zh) * 2018-07-31 2018-11-30 泰链(厦门)科技有限公司 区块链系统中减轻节点存储负荷的方法、介质及区块链系统
CN109218348A (zh) * 2017-06-29 2019-01-15 华为技术有限公司 一种区块链中区块的确定方法及节点设备
CN109460996A (zh) * 2018-10-26 2019-03-12 全链通有限公司 公有区块链的处理方法、设备及计算机可读存储介质
CN109543455A (zh) * 2018-11-06 2019-03-29 联动优势科技有限公司 一种区块链的数据归档方法及装置
CN109598365A (zh) * 2018-10-25 2019-04-09 阿里巴巴集团控股有限公司 事件预测方法及装置、电子设备
US20190123892A1 (en) * 2017-10-24 2019-04-25 0Chain, LLC Systems and methods of self-forking blockchain protocol
CN109685504A (zh) * 2018-12-20 2019-04-26 北京比新科技有限公司 一种基于区块链的共享经济记账方法
CN109684798A (zh) * 2019-01-04 2019-04-26 深圳银链科技有限公司 一种基于公有区块链的共识算法、设备及存储介质
CN109964242A (zh) * 2018-05-25 2019-07-02 北京大学深圳研究生院 一种基于信任关系的区块链共识方法
WO2019133997A1 (en) * 2017-12-31 2019-07-04 Neuroenhancement Lab, LLC System and method for neuroenhancement to enhance emotional response
CN110019516A (zh) * 2017-11-10 2019-07-16 华为技术有限公司 一种信息管理方法、装置及系统
CN110024422A (zh) * 2016-12-30 2019-07-16 英特尔公司 物联网的命名和区块链记录
CN110458543A (zh) * 2019-07-31 2019-11-15 腾讯科技(深圳)有限公司 数据处理方法、相关设备及介质
CN110569305A (zh) * 2019-08-27 2019-12-13 网易(杭州)网络有限公司 区块同步方法、装置、介质和计算设备

Patent Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180204111A1 (en) * 2013-02-28 2018-07-19 Z Advanced Computing, Inc. System and Method for Extremely Efficient Image and Pattern Recognition and Artificial Intelligence Platform
CN108270821A (zh) * 2016-12-30 2018-07-10 深圳瀚德创客金融投资有限公司 用于区块链网络中的区块生成方法和网络节点
CN110024422A (zh) * 2016-12-30 2019-07-16 英特尔公司 物联网的命名和区块链记录
CN108876361A (zh) * 2017-05-12 2018-11-23 李平 区块链系统、区块生成方法及计算机可读存储介质
CN109218348A (zh) * 2017-06-29 2019-01-15 华为技术有限公司 一种区块链中区块的确定方法及节点设备
CN107729471A (zh) * 2017-10-13 2018-02-23 上海策赢网络科技有限公司 一种区块链及其生成方法与设备
US20190123892A1 (en) * 2017-10-24 2019-04-25 0Chain, LLC Systems and methods of self-forking blockchain protocol
CN110019516A (zh) * 2017-11-10 2019-07-16 华为技术有限公司 一种信息管理方法、装置及系统
US20190224441A1 (en) * 2017-12-31 2019-07-25 Neuroenhancement Lab, LLC Method and apparatus for neuroenhancement to enhance emotional response
WO2019133997A1 (en) * 2017-12-31 2019-07-04 Neuroenhancement Lab, LLC System and method for neuroenhancement to enhance emotional response
CN109964242A (zh) * 2018-05-25 2019-07-02 北京大学深圳研究生院 一种基于信任关系的区块链共识方法
CN108924252A (zh) * 2018-07-31 2018-11-30 泰链(厦门)科技有限公司 区块链系统中减轻节点存储负荷的方法、介质及区块链系统
CN109598365A (zh) * 2018-10-25 2019-04-09 阿里巴巴集团控股有限公司 事件预测方法及装置、电子设备
CN109460996A (zh) * 2018-10-26 2019-03-12 全链通有限公司 公有区块链的处理方法、设备及计算机可读存储介质
CN109543455A (zh) * 2018-11-06 2019-03-29 联动优势科技有限公司 一种区块链的数据归档方法及装置
CN109685504A (zh) * 2018-12-20 2019-04-26 北京比新科技有限公司 一种基于区块链的共享经济记账方法
CN109684798A (zh) * 2019-01-04 2019-04-26 深圳银链科技有限公司 一种基于公有区块链的共识算法、设备及存储介质
CN110458543A (zh) * 2019-07-31 2019-11-15 腾讯科技(深圳)有限公司 数据处理方法、相关设备及介质
CN110569305A (zh) * 2019-08-27 2019-12-13 网易(杭州)网络有限公司 区块同步方法、装置、介质和计算设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"\"NGMN_E2EArchFramework_v3.0.0\"" *
YANZHUANG: "Data_Collection_with_Accuracy-Aware_Congestion_Control_in_Sensor_Networks" *
赵宇: "基于移动网的传输网络优化方案设计" *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022152114A1 (zh) * 2021-01-18 2022-07-21 腾讯科技(深圳)有限公司 基于节点内存的数据处理方法、装置、设备以及介质

Also Published As

Publication number Publication date
CN110990490B (zh) 2023-09-01

Similar Documents

Publication Publication Date Title
CN110609872A (zh) 用于同步节点数据的方法和装置
CN109508326B (zh) 用于处理数据的方法、装置和系统
WO2019232993A1 (zh) 自适应的数据恢复流控方法、装置、电子设备及存储介质
WO2021022710A1 (zh) 消息队列处理方法、装置、电子设备及计算机非易失性可读存储介质
CN111858146B (zh) 用于恢复数据的方法、设备和计算机程序产品
CN110968430A (zh) 基于消息队列的处理方法和消息队列
CN104079623A (zh) 多级云存储同步控制方法及系统
CN111176781A (zh) 虚拟机热迁移方法、装置、存储介质与电子设备
CN110990490B (zh) 区块链网络中区块链的入账方法、装置、设备及介质
CN116070285A (zh) 基于拜占庭容错的异步共识方法、装置、服务器和介质
CN110322350B (zh) 裁剪共识网络中空区块的方法、装置、设备和存储介质
CN111405037A (zh) 区块同步方法、设备和存储介质
CN111343220B (zh) 转发器、分布式文件传输方法、系统、介质及电子设备
CN113448770A (zh) 用于恢复数据的方法、电子设备和计算机程序产品
CN116521639A (zh) 一种日志数据的处理方法、电子设备和计算机可读介质
CN110825920B (zh) 数据处理方法和装置
CN110896391B (zh) 一种报文处理方法和装置
CN114579054A (zh) 一种数据处理方法、装置、电子设备及计算机可读介质
CN114095907A (zh) 蓝牙连接的控制方法、装置及设备
CN110362314B (zh) 信息处理方法及装置、计算机可读介质、电子设备
CN113726885A (zh) 一种流量配额的调整方法和装置
CN111611068B (zh) 分布式系统中的数据写方法、服务器及客户端
CN110019671B (zh) 一种处理实时消息的方法和系统
CN113204426A (zh) 资源池的任务处理方法及相关设备
CN112163176A (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, Daxing District, Beijing, 100176

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

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

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant