CN107395665B - 一种区块链业务受理及业务共识方法及装置 - Google Patents

一种区块链业务受理及业务共识方法及装置 Download PDF

Info

Publication number
CN107395665B
CN107395665B CN201710362162.3A CN201710362162A CN107395665B CN 107395665 B CN107395665 B CN 107395665B CN 201710362162 A CN201710362162 A CN 201710362162A CN 107395665 B CN107395665 B CN 107395665B
Authority
CN
China
Prior art keywords
consensus
application
database
sent
data
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.)
Active
Application number
CN201710362162.3A
Other languages
English (en)
Other versions
CN107395665A (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.)
Advanced New Technologies Co Ltd
Original Assignee
Advanced New Technologies 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 Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Priority to CN201710362162.3A priority Critical patent/CN107395665B/zh
Publication of CN107395665A publication Critical patent/CN107395665A/zh
Priority to TW107108044A priority patent/TWI679547B/zh
Priority to JP2019536261A priority patent/JP6949118B2/ja
Priority to EP21166986.6A priority patent/EP3886403B1/en
Priority to MYPI2019003821A priority patent/MY194420A/en
Priority to EP18806911.6A priority patent/EP3550803B1/en
Priority to SG11201906166YA priority patent/SG11201906166YA/en
Priority to SG10202101555QA priority patent/SG10202101555QA/en
Priority to PL18806911T priority patent/PL3550803T3/pl
Priority to PCT/CN2018/087603 priority patent/WO2018214835A1/zh
Priority to ES18806911T priority patent/ES2876943T3/es
Priority to KR1020197019210A priority patent/KR102204256B1/ko
Priority to PH12019501563A priority patent/PH12019501563A1/en
Priority to US16/502,523 priority patent/US10938577B2/en
Application granted granted Critical
Publication of CN107395665B publication Critical patent/CN107395665B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3255Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/1827Management specifically adapted to NAS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5681Pre-fetching or pre-delivering data based on network characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请公开了一种区块链业务受理及业务共识方法及装置,共识节点中包括第一应用、第二应用以及数据库,该数据库用于存储由第一应用以及第二应用处理后的业务数据,以便减少共识节点的缓存压力。可见,通过本申请实施例提供的方法,由于该共识节点只要确定该业务请求对应的业务数据,便可将该业务数据存储在数据库中,等待发送给其他共识节点,所以共识节点的缓存的占用率较低,使得共识节点在单位时间内可处理的业务的数量增加,从而提高了共识节点进行共识校验以及对业务请求进行处理的效率。

Description

一种区块链业务受理及业务共识方法及装置
技术领域
本申请涉及信息技术领域,尤其涉及一种区块链业务受理及业务共识方法及装置。
背景技术
随着信息技术的发展,区块链技术作为新兴技术,由于具有的开放性、不可篡改性、去中心化等优点,已成为人们重点关注的技术。
在现有区块链技术中,区块链网络中的每个共识节点,均可受理客户端发送的业务请求。以一个共识节点为例进行说明,当共识节点接收到业务请求后,可先根据该业务请求,确定对应的业务数据。之后共识节点可将业务数据广播给其他共识节点。当共识节点接收到其他共识节点发送的预处理块后,还可对该预处理快进行共识校验,并可在校验通过后存储该预处理块。
其中,共识节点在受理业务请求后,通常将业务请求对应的业务数据存储在该共识节点的缓存中。在后续对业务数据进行共识校验通过后,从缓存中释放该业务数据。类似的,对于其他共识节点发送的业务数据,也可同样存储在缓存中,并在通过共识校验后释放。
对于共识节点来说,未存储在区块链中的数据通常均暂存在共识节点的缓存中,导致进行共识校验时,可校验的业务数据的数量受该共识节点缓存容量的限制,使得共识校验的效率受限。并且,当共识节点的缓存空间不足时,共识节点也难以对接收到的业务请求进行处理。
发明内容
本申请实施例提供一种区块链业务受理及业务共识方法,用于解决在现有区块链技术中业务执行效率低的问题。
本申请实施例提供一种区块链业务受理及业务共识装置,用于解决在现有区块链技术中业务执行效率低的问题。
本申请实施例采用下述技术方案:
一种区块链业务受理方法,共识节点中包括第一应用、第二应用以及数据库,包括:
所述第一应用接收客户端发送的业务请求,并根据该业务请求确定对应的待发送的业务数据;
所述第一应用将所述待发送的业务数据存储在所述数据库中;
当满足预设条件时,所述第二应用或者所述第一应用,从所述数据库中捞取待发送的业务数据发送至其他共识节点存储。
一种区块链业务共识方法,第一共识节点中包括第一应用、第二应用以及第一数据库,包括:
所述第一应用接收共识数据,并存储在所述第一数据库中;
所述第二应用从所述第一数据库中捞取所述共识数据,进行共识校验;
所述第二应用将校验结果添加到所述共识数据中并存储至所述第一数据库,并将所述校验结果发送至其他共识节点继续进行共识校验。
一种区块链业务受理装置,共识节点中包括所述装置,第二应用以及数据库,所述装置包括:
接收模块,接收客户端发送的业务请求,并根据该业务请求确定对应的待发送的业务数据;
存储模块,将所述待发送的业务数据存储在所述数据库中;
当满足预设条件时,所述第二应用或者发送模块,从所述数据库中捞取待发送的业务数据发送至其他共识节点存储。
一种区块链业务共识装置,第一共识节点中包括接收模块、处理发送模块以及第一数据库,所述装置包括:
所述接收模块,接收共识数据,并存储在所述第一数据库中;
所述处理发送模块,从所述第一数据库中捞取所述共识数据,进行共识校验;
所述处理发送模块,将校验结果添加到所述共识数据中并存储至所述第一数据库,并将所述校验结果发送至其他共识节点继续进行共识校验。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
共识节点中存在第一应用、第二应用以及数据库。该数据库用于存储由第一应用以及第二应用处理后的业务数据,以便减少共识节点的缓存压力。可见,通过本申请实施例提供的方法,由于共识节点只要确定业务请求对应的业务数据,便可将该业务数据存储在数据库中,等待发送给其他共识节点,所以共识节点的缓存的占用率较低。使得共识节点在单位时间内可处理的业务的数量增加,从而提高了共识节点进行共识校验以及对业务请求进行处理的效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的一种区块链业务受理过程;
图2为本申请实施例提供的一种区块链业务共识过程;
图3为本申请实施例提供的一种区块链业务受理装置的结构示意图;
图4为本申请实施例提供的一种区块链业务共识装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本申请实施例提供的一种区块链共识过程,其中,共识节点中包括第一应用、第二应用以及数据库,具体可包括以下步骤:
S101:所述第一应用接收客户端发送的业务请求,并根据业务请求确定对应的待发送的业务数据。
在本申请实施例中,对于区块链网络中的各共识节点,共识节点中可以包含一个或者多个区块链应用以及数据库。其中,区块链应用可受理业务请求并对预处理块进行共识校验,数据库用于存储区块链应用确定的业务数据(如,进行共识校验过程中产生的数据、受理业务请求后产生的数据等等)。
进一步地,用户通常需要通过客户端发送指令或者请求。后续,共识节点可接收客户端发送的业务请求,并根据业务请求执行后续的步骤。
其中,共识节点可接收多个客户端发送的业务请求,并根据各业务请求进行业务处理。该共识节点可以是终端,例如,手机、平板电脑、个人电脑等设备。该共识节点也可以是服务器,并且该服务器可以是单独的一台设备,也可以是由多台设备组成的系统,例如,分布式服务器。本申请对共识节点具体为何种设备不做具体限定。
具体的,在共识节点接收业务请求时,可以是共识节点中安装的第一应用接收业务请求。并且在后续步骤中,由第一应用根据业务请求确定对应的业务逻辑,并分配线程执行业务。当然,在共识节点中安装的应用程序还可以有多个(如,第二应用),则各应用程序可分别接收不同客户端发送的业务请求,并分别进行后续操作。为方便描述,在本申请实施例中,仅以共识节点中包含第一应用以及第二应用为例进行说明,但并不限制共识节点中存在更多的应用。
进一步地,共识节点也可以由多台设备组成的系统,并且每台设备对应安装区块链应用,则各设备可通过安装的区块链应用分别接收不同客户端发送的业务请求,并独立的进行后续操作。
另外,无论共识节点中安装多个应用程序还是由多个设备组成,该共识节点在区块链网络中可视为是一个受理业务请求并可发起共识的节点。具体的共识节点如何构成,可由根据需要进行配置。例如,当共识节点的运行压力较大,经常有业务请求排队等待处理时,可为共识节点配置更多的应用或者配置更多的设备。
更进一步地,在本申请实施例中,第一应用在对接收的业务请求进行业务处理后,可将业务处理结果作为业务数据。并且,由于该业务数据尚未发送至其他共识节点,所以第一应用还可以确定该业务数据的状态为待发送状态。并将该业务数据及其对应的待发送状态存储在数据库中。
或者,第一应用可以在确定业务数据之后,为该业务数据添加待发送标识。再将添加了待发送标识的业务数据,作为待发送的业务数据存储在数据库中。则第二应用可以根据待发送标识确定该业务数据为待发送的业务数据。
本申请并不限定共识节点确定业务数据的状态的方式,只要共识节点中的各应用或者各设备,在访问数据库时可以确定存储的业务数据的状态即可。
例如,若用户要进行交易业务,用户发送的业务请求中可携带有交易双方的身份信息、交易金额、支出方的账号信息等数据。共识节点的第一应用可以根据业务请求中携带的数据,确定并创建对应的交易业务。第一应用在确定业务数据之后,为该业务数据添加待发送的标识。
其中,待发送标识也可作为业务数据中的一种业务属性被添加在业务数据中,例如,表1所示的业务数据的结构示意。
Figure BDA0001300656780000051
Figure BDA0001300656780000061
表1
在表1所示的业务数据的结构示意中的状态标识,可以是由共识节点的第一应用添加在业务数据中的。通过状态标识,共识节点中的任一应用可以确定该业务数据当前的状态为待发送状态。则下一步在对业务数据进行操作时,根据该状态标识可确定需要将该业务数据发送至其他共识节点。
当然,在本申请实施例中业务数据具体包括哪些内容,以及业务属性中具体包括哪些属性本申请并不做具体限定。
S102:所述第一应用将所述待发送的业务数据存储在所述数据库中。
在本申请实施例中,步骤S101中确定的待发送的业务数据过程依赖于共识节点的缓存,所以该业务数据也存储在缓存中。于是,第一应用还可将该业务数据转存至该在共识节点的数据库中,以释放缓存空间用于执行其他业务。
具体的,数据库可以是共识节点用于存储数据的存储设备,并且可以是采用非易失性存储器的存储设备。当然,数据库与共识节点可以位于同一台设备内(如,数据库可以位于个人电脑的硬盘中),也可以位于不同的设备内(如,外接移动硬盘),本申请对此并不做具体限定。
另外,当共识节点中安装有多个区块链应用时,各应用可分别接收不同客户端发送的业务请求。并将各自分别确定的业务数据存储在数据库中。则数据库可视为是各应用共用的数据库,各应用均可具有访问数据库的权限。也就是说,第二应用也可确定待发送的业务数据并存储在数据库中。
进一步地,由于在步骤S101中所述的,共识节点可以是由多台设备组成的系统,所以当共识节点为多台设备组成的系统时,共识节点的各设备均可访问数据库,该数据库在共识节点内可视为是各设备共享的存储设备。
于是,共识节点的第一应用通过将待发送的业务数据存储在数据库中,释放业务数据占用的缓存空间,用于执行其他业务。使得在不增加共识节点的硬件配置的情况下,该共识节点可以受理更多的业务请求。
S103:当满足预设条件时,所述第二应用或者所述第一应用,从所述数据库中捞取待发送的业务数据发送至其他共识节点存储。
在本申请实施例中,共识节点的第一应用在将待发送的业务数据存储在数据库中后,共识节点的第一应用可继续接收其他客户端发送的业务请求。并执行如步骤S101以及步骤S102相同的操作(同理共识节点的第二应用也可以同步执行步骤S101以及步骤S102相同的操作)。于是,共识节点对应的数据库中可存储若干待发送的业务数据。为了使其他共识节点正常进行共识校验,该共识节点的数据库中存储的业务数据还需要发送至其他共识节点中进行存储。
于是,在本申请实施例中,当满足预先条件时,还可由共识节点的第一或者第二应用从数据库中,捞取待发送的业务数据发送至其他共识节点存储,以便其他共识节点后续进行共识校验。并且,针对每个待发送的业务数据,当待发送的业务数据被发送之后,还可更新待发送的业务数据为已发送的业务数据。
具体的,共识节点中的第一应用或者第二应用中的至少一个,可以根据该共识节点当前的状态,判断是否已经满足预设的条件。若是,则第一应用和/或第二应用捞取各待发送的业务数据并发送,若否,则不捞取。
其中,当共识节点的数据库中存储的待发送的业务数据的数量达到预设阈值时,确定共识节点当前的状态满足预设的条件。或者,根据共识节点的发送周期,当指定时刻到达时确定满足预设的条件,即,周期性的捞取数据中的各待发送的业务数据,等等。
当然,预设的条件也可根据实际需要进行设置。如,预设的条件也可以随着时间因素以及业务量的变化而变化,当时间为夜间时(如,24点至4点)增加捞取业务数据的间隔时间,当业务量增加时减少捞取的业务数据的时间间隔等等,本申请对此不做具体限定。
另外,当第一应用或者第二应用在捞取各待发送的业务数据时,可以将共识节点对应的数据库中的各待发送的业务数据全部捞取并发送。也可以捞取指定数量的待发送的业务数据,本申请不做具体限定。并且,上述条件可以择一使用,或者任意组合使用。
进一步地,第一应用或者第二应用在从数据库中捞取待发送的业务数据时,可以根据各待发送的业务数据的生成时间先后顺序,捞取各待发送的业务数据。并将捞取的各待发送的业务数据按照捞取的先后顺序发送至其他共识节点。具体的,共识节点可以逐一捞取并发送各待发送的业务数据,也可将捞取各待发送的业务数据并打包之后,再一并发送至其他共识节点。
更进一步地,第一应用或者第二应用还可将发送后的各待发送的业务数据,更新为各已发送的业务数据。
例如,第一应用从数据库中捞取业务数据F并发送后,可以将数据库中业务数据F对应的状态更新为已发送状态。或者,将业务数据F的业务属性中的状态标识,更新为已发送的标识。也就是说,第一应用可以在调用业务数据F时,便更新业务数据F的状态标识。
当然,由于网络延时或者设备故障等问题,所以可能出现业务数据发送失败的情况。于是,在本申请实施例中,第一应用或者第二应用也可以在接收到其他共识节点返回的针对发送的业务数据的响应信息时,再根据响应信息更新该业务数据的状态标识。具体采用何种方法本申请对此不做具体限定。
基于图1所示的区块链业务受理方法,可见共识节点中可包括第一应用、第二应用以及数据库。该数据库用于存储第一应用以及第二应用进行业务处理后的业务数据,以便减少共识节点的缓存压力。共识节点即使在等待共识阶段也可以持续接收业务请求以及受理业务,而不会因为缓存空间不足而造成业务等待。同时,由于业务数据均存储在数据库中,所以共识节点可以根据需要扩展安装的应用数量。使得共识节点可以同时接收处理更多的业务请求,提高共识节点的工作效率。并且,当满足预设条件时,可由共识节点中第一或者第二应用,捞取数据库中存储的待发送的业务数据,并发送至其他共识节点存储。可见,通过本申请提供的方法,共识节点的运行效率不再受限于缓存大小。并且,由于共识节点中各应用都可以受理业务请求、发送业务数据,使得共识节点可以通过部分应用发送待发送的业务数据,同时另一部分应用受理业务请求,提高共识节点进行共识校验以及对业务请求进行处理的效率。
另外,在本申请实施例中,该第一或第二应用在发送待发送的业务数据时,可以先将该业务数据的状态更新为已发送状态,使得其他共识节点接收并存储的业务数据处于已发送状态。以使得其他共识节点在根据业务数据进行共识校验时,不会遗漏该第一或第二应用发送的业务数据。
进一步地,在本申请实施例中,第一应用在接收到其他共识节点发送的业务数据之后,也可根据业务数据的哈希值以及业务数据的具体内容,对待发送的业务数据进行校验。并且在校验通过后,再将业务数据作为存储在数据库。
更进一步的,在本申请步骤S101中,与现有技术相同,共识节点在确定业务请求时,可对业务请求中携带的进行业务处理所需的数据进行校验。并且,在校验通过之后,继续进行后续创建业务、进行业务处理等操作。具体的,校验过程以及实施细节可与现有技术中一致,本申请不再赘述。
另外,在本申请实施例中,共识节点在确定待发送的业务数据之后,便可向客户端返回对应于业务请求的响应信息,以使得客户端确定共识节点已经受理了业务请求。需要说明的是,当共识节点根据业务请求确定了业务数据时,便可视为共识节点受理了业务请求。
需要说明的是,本申请实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤S101和步骤S102的执行主体可以为设备1,步骤S103的执行主体可以为设备2;又比如,步骤S101的执行主体可以为设备1,步骤S102和步骤S103的执行主体可以为设备2;等等。
基于图1所示区块链业务受理方法,本申请实施例还对应提供一种区块链业务共识的方法,如图2所示。
图2为本申请实施例提供的一种区块链业务共识的过程,其中,第一共识节点中包括第一应用、第二应用以及第一数据库,具体包括以下步骤:
S201:所述第一应用接收共识数据,并存储在所述第一数据库中。
在本申请实施例中,与图1所示的区块链业务受理过程中所述的共识节点类似,第一共识节点包括第一应用、第二应用以及第一数据库。并且,第一共识节点中也可包含更多的应用,本申请对此不做限定。但为方便后续描述,在本申请实施例中以第一应用、第二应用为例进行说明。
通常,区块链网络中的各共识节点可以根据区块链的共识机制,确定发起共识的共识节点。于是,第一共识节点的第一应用可接收共识数据,并将共识数据存储在第一数据库中。
另外,在某些共识算法中,共识节点可根据其他共识节点的校验结果,确定是否存储共识数据。例如,在一些共识算法中,对每个共识节点来说,该共识节点需要判断全网的共识节点中是否有超过50%的共识节点校验结果为通过,若是,则该共识节点存储预处理块,若否,则不存储。
于是,校验结果也可以视为是一种共识数据,则本申请中共识数据可以包括:需要进行共识校验的数据(通常为预处理快)以及对应的校验结果。
当然,无论第一应用接收到何种形式的共识数据,第一应用均可将共识数据存储在第一数据库中。
S202:所述第二应用从所述第一数据库中捞取所述共识数据,进行共识校验。
在本申请实施例中,第二应用可从第一数据库中,捞取共识数据并对共识数据进行校验,以进行后续操作。
具体的,第二应用可以从第一数据库中捞取共识数据(具体可以是预处理块)以及第一数据库中的已发送状态的业务数据,根据已发送状态的业务数据,对共识数据进行共识校验,并确定校验结果。
S203:所述第二应用将校验结果添加到所述共识数据中并存储至所述第一数据库,并将所述校验结果发送至其他共识节点继续进行共识校验。
在本申请实施例中,当第二应用确定了校验结果之后,便可将校验结果存储在第一数据库中,并发送至其他共识节点继续进行共识校验。其中,第二应用存储校及发送校验数据的先后顺序本申请并不限定。
另外,在本申请实施例步骤S201~步骤S203中,区块链的共识机制可以是实用拜占庭容错算法(Practical Byzantine Fault Tolerance,PBFT),则区块链网络中的各共识节点可以根据公式:View ID/M,确定各共识节点中的主节点,并且由主节点发起共识。针对每个共识节点,共识节点可先确定共识节点当前所处的周期(即,View),View ID表示共识节点确定的当期周期的标识。通常周期的标识为0至M-1之间的数字,M表示在区块链网络中的共识节点的总个数。
具体的,以第二共识节点为主节点并发起共识,第一共识节点为从节点进行共识校验为例进行说明。其中,第二共识节点中包括第三应用、第四应用以及第二数据库。第三应用根据第二数据库中已发送状态的业务数据创建预处理块,并将预处理块存储在第二数据库中。第四应用从第二数据库中捞取预处理块,并发送至除第二共识节点以外的各共识节点。
首先,第二共识节点的第三应用通过当前所处的View ID,可确定该第二共识节点为主节点。则第三应用可根据预先设置的共识条件,从第二数据库中捞取需要进行共识的各已发送的业务数据。其中,预设的共识条件可以是根据需求设置的,本申请对此不做具体限定。例如,按照时间顺序选择进行共识的业务数据,或者按照预处理块的容量,选择满足容量的各已发送的业务数据,等等。
其次,第三应用可根据捞取的各已发送的业务数据,创建对应的预处理块。如,确定预处理块中各已发送的业务数据的排列顺序,通过梅克尔数(Merkle trees)确定预处理块的头哈希值,等等。具体的,在本申请实施例中,预处理块的创建过程可以采用与现有技术相同的方法,本申请对此不做具体限定。
再次,第三应用可以根据PBFT的三阶段协议中的第一阶段,采用与现有技术相同的方式,确定预处理块对应的预准备(Per-Perpared)信息,其中,Per-Perpared信息的格式可为<Per-Perpared,v,n,d>,其中v表示当前View ID的数字,n表示预处理块的标识,d为预处理块的摘要。第三应用可对Per-Perpared信息进行签名后,将Per-Perpared信息以及预处理块存储在第二数据库中。
从次,第四应用可从数据库中捞取Per-Perpared信息以及预处理块,并发送至除第二共识节点以外的各共识节点。以使得其他共识节点对Per-Perpared信息进项校验。则如在步骤S201中所述的,第一应用可接收Per-Perpared信息以及预处理块作为共识数据,并存储在第一数据库中。
再后,如在步骤S202中所述的,第二应用可以从第一数据库中捞取共识数据(如,第二应用可以捞取Per-Perpared信息以及预处理块),并进行共识校验。具体的,第二应用可以对Per-Perpared信息的签名进行校验,确定Per-Perpared信息是由第二共识节点发送的。还根据预处理块中的业务数据,对Per-Perpared信息的摘要进行校验,确定预处理块以及Per-Perpared信息中的摘要对应。同时也可对Per-Perpared信息中的n进行判断确定是否符合预设的水位值(water mark),Per-Perpared信息中的v是否与第一共识节点当前所处的v一致。
由于在PBFT中确定Per-Perpared信息校验通过的共识节点,将自动执行下一阶段(即,第二阶段),所以当第二应用对Per-Perpared信息校验通过后可以将Per-Perpared信息、预处理块以及接收到的响应信息,存储在第一数据库中,并创建准备信息(Perpared信息)作为校验结果。Perpared信息的格式可为<Perpared,v,n,d,i>,其中i为创建Perpared信息的共识节点的标识。于是,第二应用还可将Perpared信息也存储在第一数据库中。
然后,第二应用可将Perpared信息发送至其他共识节点继续进行共识校验。并且,其他通过对Per-Perpared信息校验的共识节点也可将自身创建的Perpared信息签名后进行广播。于是,在区块链网络中的各共识节点,均可接收到通过对Per-Perpared信息校验的共识节点发送的Perpared信息,并且,针对每个共识节点,该共识节点可将接收到的其他共识节点发送的Perpared信息存储在自身的数据库中。
于是,在本申请实施例中,第一共识节点的第一应用可再次接收其他共识节点发送的校验结果(即,其他共识节点发送的Perpared信息),并存储在第一数据库中。第二应用可对第一数据库中存储的各Perpared信息的v、n、签名以及摘要进行校验。当第二应用判断第一数据库中存储的通过校验的各Perpared信息的数量大于等于预设的数量时,自动执行下一阶段(即,第三阶段)。其中,预设的数量与现有技术相同,为共识节点通过PBFT计算确定的,本申请不再赘述。
之后,在三阶段协议的第三阶段,当第二应用确定进行第三阶段时,可创建确认信息(Commit信息),并向其他共识节点发送Commit信息。同理,第二共识节点的第三或者第四应用,在确定进行第三阶段时,也可发送Commit信息。第一应用可接收其他共识节点发送的Commit信息并存储在第一数据库中。其中,Commit信息格式可为<Commit,v,n,D,i>,其中D为共识节点创建的预处理块的摘要。
最后,第二应用可对第一数据库中存储的其他共识节点发送的Commit信息的v、n、签名以及摘要进行校验,当确定通过校验的Commit信息大于等于预设的数量时,确定预处理块通过共识校验。
其中,针对区块链网络中的每个共识节点,该共识节点在三阶段协议的每个阶段中,在接收到其他共识节点的信息、创建信息等进行共识校验时产生的数据,均可存储在该共识节点对应的数据库中。
当然,需要说明的是本申请实施例中,上述由第二应用执行的步骤均可以由第一应用执行,反之亦然。同理,由该第三应用执行的步骤也均可由第四应用执行,反之亦然。
另外,针对每个共识节点,由于在三阶段协议执行过程中,各共识节点都需要发送和接收其他共识节点的信息,而信息在通过网络传输时,可能出现网络延时,所以在三阶段协议的每个阶段,各共识节点都可等待一段时间以接收信息。于是,在执行三阶段协议过程中,共识节点可将创建的以及接收的信息先存储在数据库中。并在每个阶段的等待时间结束时,再根据数据库中存储的信息,确定是否进行下一阶段。
进一步地,在本申请实施例中,在三阶段协议的第一阶段(也就是Per-Perpared的阶段),发起共识的第二共识节点(即,主节点)可将预处理块,以及预处理块中各业务数据的哈希值一并发送至出第二共识节点的各共识节点,而接收到Per-Perpared信息的各共识节点,可以根据各业务数据的哈希值,创建一个预处理块,并与主节点发送的预处理块进行对比校验。
更进一步地,在本申请实施例中,针对每个共识节点,该共识节点在进行共识校验时,与现有技术一致各共识节点还可以根据共识条件,以及共识节点进行校验,即,判断是否主节点发送各业务数据是可进行共识校验的业务数据,若是,则继续后续共识校验,若否,则停止共识校验。
基于图2所示的区块链业务共识方法,第一共识节点中包括第一应用、第二应用以及第一数据库,在进行共识时,第一应用接收共识数据,并存储在第一数据库中,第二应用从第一数据库中捞取共识数据,进行共识校验,第二应用将校验结果添加到共识数据中并存储至第一数据库,并将校验结果发送至其他共识节点继续进行共识校验。其中,发起共识的第二共识节点的第三应用根据第二数据库中存储的已发送的业务数据,创建预处理块作为共识数据存储在第二数据中,第四应用从第二数据库中捞取共识数据并发送至出第二共识节点以外的各共识节点。可见,由于在本申请实施例中,共识节点可以采用PBFT的三阶段协议进行共识,并且将每一阶段产生的数据存储在数据库中,减少共识校验时对缓存占用率,提高缓存利用率。从而提高了共识节点进行共识校验以及对业务请求进行处理的效率。
需要说明的是,本申请实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤S201和步骤S202的执行主体可以为设备1,步骤S203的执行主体可以为设备2;又比如,步骤S201的执行主体可以为设备1,步骤S202和步骤S203的执行主体可以为设备2;等等。
基于图1所示区块链业务受理方法,本申请实施例还对应提供一种区块链业务受理装置,如图3所示。
图3为本申请实施例提供的一种区块链业务受理装置的结构示意图,共识节点中包括所述装置,第二应用以及数据库,所述装置包括:
接收模块301,接收客户端发送的业务请求,并根据该业务请求确定对应的待发送的业务数据;
存储模块302,将所述待发送的业务数据存储在所述数据库中;
当满足预设条件时,所述第二应用或者发送模块303,从所述数据库中捞取待发送的业务数据发送至其他共识节点存储。
所述存储模块302,确定所述待发送的业务数据的状态为待发送状态,将所述业务数据及其对应的待发送状态存储在所述存储模块中。
当指定时刻到达时,确定满足预设的条件。
所述发送模块303,从所述数据库中捞取指定数量的待发送的业务数据。
所述装置还包括:
更新模块304,将所述数据库中已发送的业务数据的状态更新为已发送状态。
具体的,该区块链业务受理装置可位于共识节点中,该共识节点可以是终端。如,手机、平板电脑、个人电脑等设备。或者,该共识节点也可以是服务器。如,单独一台服务器,或者由多台服务器组成的系统。
基于图2所示区块链业务共识方法,本申请实施例还对应提供一种区块链业务共识装置,如图4所示。
图4为本申请实施例提供的一种区块链业务共识装置的结构示意图,第一共识节点中包括第一应用、所述装置以及第一数据库,所述装置包括:
接收模块401,接收共识数据,并存储在所述第一数据库中;
校验模块402,从所述第一数据库中捞取所述共识数据,进行共识校验;
存储发送模块403,将校验结果添加到所述共识数据中并存储至所述第一数据库,并将所述校验结果发送至其他共识节点继续进行共识校验。
所述接收模块401,接收其他共识节点发送的共识数据,或者,接收其他共识节点发送的校验结果,作为共识数据。
所述校验模块402,从所述第一数据库中捞取所述共识数据以及所述第一数据库中已发送状态的业务数据,根据所述已发送状态的业务数据对所述共识数据进行共识校验,并确定校验结果。
第二共识节点中包括第三应用、第四应用以及第二数据库,所述接收模块401接收共识数据之前,所述第三应用根据所述第二数据库中已发送状态的业务数据,确定共识数据,并存储在所述第二数据库中,所述第四应用从所述第二数据库中捞取所述共识数据,并发送至除所述第二共识节点以外的各共识节点。
所述共识校验采用拜占庭容错算法PBFT。
具体的,如图4所示的一种区块链业务受理装置可位于共识节点中,该共识节点可以是终端。如,手机、平板电脑、个人电脑等设备。或者,该共识节点也可以是服务器。如,单独一台服务器,或者由多台服务器组成的系统。
在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,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (18)

1.一种区块链业务受理方法,共识节点中包括第一应用、第二应用以及数据库,所述方法包括:
所述第一应用接收客户端发送的业务请求,并根据该业务请求确定对应的待发送的业务数据;
所述第一应用确定所述待发送的业务数据的状态为待发送状态;
所述第一应用将所述待发送的业务数据存储在所述数据库中,将所述业务数据及其对应的待发送状态存储在所述数据库中;所述第一应用将所述待发送的业务数据存储在所述数据库中具体包括,所述第一应用将所述业务数据从缓存中转存至所述共识节点的数据库中;所述数据库为所述第一应用和所述第二应用共用的数据库,所述第一应用和所述第二应用均具有访问所述数据库的权限;
当满足预设条件时,所述第二应用或者所述第一应用,从所述数据库中捞取待发送的业务数据发送至其他共识节点存储。
2.如权利要求1所述的方法,满足预设条件,具体包括:
当指定时刻到达时,确定满足预设的条件。
3.如权利要求1所述方法,从所述数据库中捞取待发送的业务数据,具体包括:
从所述数据库中捞取指定数量的待发送的业务数据。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
将所述数据库中已发送的业务数据的状态更新为已发送状态。
5.一种区块链业务共识方法,第一共识节点中包括第一应用、第二应用以及第一数据库,所述方法包括:
所述第一应用接收共识数据,并存储在所述第一数据库中;所述第一数据库还存储业务数据以及所述业务数据对应的待发送状态;所述第一应用还用于将所述业务数据从缓存中转存至所述第一共识节点的第一数据库中;所述第一数据库为所述第一应用和所述第二应用共用的数据库,所述第一应用和所述第二应用均具有访问所述第一数据库的权限;
所述第二应用从所述第一数据库中捞取所述共识数据,进行共识校验;
所述第二应用将校验结果添加到所述共识数据中并存储至所述第一数据库,并将所述校验结果发送至其他共识节点继续进行共识校验。
6.如权利要求5所述的方法,所述第一应用确定共识数据,具体包括:
所述第一应用接收其他共识节点发送的共识数据;或者
所述第一应用接收其他共识节点发送的校验结果,作为共识数据。
7.如权利要求5所述的方法,所述第二应用从所述第一数据库中捞取所述共识数据,进行共识校验,具体包括:
所述第二应用从所述第一数据库中捞取所述共识数据以及所述第一数据库中已发送状态的业务数据;
根据所述已发送状态的业务数据对所述共识数据进行共识校验,并确定校验结果。
8.如权利要求5所述的方法,第二共识节点中包括第三应用、第四应用以及第二数据库;
所述第一应用接收共识数据之前,所述方法还包括:
所述第三应用根据所述第二数据库中已发送状态的业务数据,确定共识数据,并存储在所述第二数据库中;
所述第四应用从所述第二数据库中捞取所述共识数据,并发送至除所述第二共识节点以外的各共识节点。
9.如权利要求5至8任一项所述的方法,所述共识校验采用拜占庭容错算法PBFT。
10.一种区块链业务受理装置,共识节点中包括所述装置,第二应用以及数据库,所述装置包括:
接收模块,接收客户端发送的业务请求,并根据该业务请求确定对应的待发送的业务数据;
存储模块,将所述待发送的业务数据存储在所述数据库中,确定所述待发送的业务数据的状态为待发送状态,将所述业务数据及其对应的待发送状态存储在所述存储模块中;所述待发送的业务数据存储在所述数据库中具体包括,将所述业务数据从缓存中转存至所述共识节点的数据库中;所述数据库为第一应用和所述第二应用共用的数据库,所述第一应用和所述第二应用均具有访问所述数据库的权限;
当满足预设条件时,所述第二应用或者发送模块,从所述数据库中捞取待发送的业务数据发送至其他共识节点存储。
11.如权利要求10所述的装置,当指定时刻到达时,确定满足预设的条件。
12.如权利要求10所述的装置,所述发送模块从所述数据库中捞取指定数量的待发送的业务数据。
13.如权利要求10所述的装置,所述装置还包括:
更新模块,将所述数据库中已发送的业务数据的状态更新为已发送状态。
14.一种区块链业务共识装置,第一共识节点中包括第一应用、所述装置以及第一数据库,所述装置包括:
接收模块,接收共识数据,并存储在所述第一数据库中;所述第一数据库还存储业务数据以及所述业务数据对应的待发送状态;所述第一应用还用于将所述业务数据从缓存中转存至所述第一共识节点的第一数据库中;所述第一数据库为所述第一应用和第二应用共用的数据库,所述第一应用和所述第二应用均具有访问所述第一数据库的权限;
校验模块,从所述第一数据库中捞取所述共识数据,进行共识校验;
存储发送模块,将校验结果添加到所述共识数据中并存储至所述第一数据库,并将所述校验结果发送至其他共识节点继续进行共识校验。
15.如权利要求14所述的装置,所述接收模块,接收其他共识节点发送的共识数据,或者,接收其他共识节点发送的校验结果,作为共识数据。
16.如权利要求14所述的装置,所述校验模块,从所述第一数据库中捞取所述共识数据以及所述第一数据库中已发送状态的业务数据,根据所述已发送状态的业务数据对所述共识数据进行共识校验,并确定校验结果。
17.如权利要求14所述的装置,第二共识节点中包括第三应用、第四应用以及第二数据库,所述接收模块接收共识数据之前,所述第三应用根据所述第二数据库中已发送状态的业务数据,确定共识数据,并存储在所述第二数据库中,所述第四应用从所述第二数据库中捞取所述共识数据,并发送至除所述第二共识节点以外的各共识节点。
18.如权利要求14至17任一项所述的装置,所述共识校验采用拜占庭容错算法PBFT。
CN201710362162.3A 2017-05-22 2017-05-22 一种区块链业务受理及业务共识方法及装置 Active CN107395665B (zh)

Priority Applications (14)

Application Number Priority Date Filing Date Title
CN201710362162.3A CN107395665B (zh) 2017-05-22 2017-05-22 一种区块链业务受理及业务共识方法及装置
TW107108044A TWI679547B (zh) 2017-05-22 2018-03-09 區塊鏈業務受理及業務共識方法及裝置
PL18806911T PL3550803T3 (pl) 2017-05-22 2018-05-21 Sposób i przyrząd do akceptacji i konsensusu usługi łańcucha bloków
PCT/CN2018/087603 WO2018214835A1 (zh) 2017-05-22 2018-05-21 一种区块链业务受理及业务共识方法及装置
MYPI2019003821A MY194420A (en) 2017-05-22 2018-05-21 Blockchain service acceptance and consensus method and devices
EP18806911.6A EP3550803B1 (en) 2017-05-22 2018-05-21 Block chain service acceptance and consensus method and device
SG11201906166YA SG11201906166YA (en) 2017-05-22 2018-05-21 Blockchain service acceptance and consensus method and devices
SG10202101555QA SG10202101555QA (en) 2017-05-22 2018-05-21 Blockchain service acceptance and consensus method and devices
JP2019536261A JP6949118B2 (ja) 2017-05-22 2018-05-21 ブロックチェーンサービス受付けおよびコンセンサス方法およびデバイス
EP21166986.6A EP3886403B1 (en) 2017-05-22 2018-05-21 Block chain service acceptance and consensus method and device
ES18806911T ES2876943T3 (es) 2017-05-22 2018-05-21 Procedimiento y dispositivo de aceptación y consenso de servicios de cadena de bloques
KR1020197019210A KR102204256B1 (ko) 2017-05-22 2018-05-21 블록체인 서비스 수락 및 합의 방법과 디바이스
PH12019501563A PH12019501563A1 (en) 2017-05-22 2019-07-02 Blockchain service acceptance and consensus method and devices
US16/502,523 US10938577B2 (en) 2017-05-22 2019-07-03 Blockchain service acceptance and consensus method and devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710362162.3A CN107395665B (zh) 2017-05-22 2017-05-22 一种区块链业务受理及业务共识方法及装置

Publications (2)

Publication Number Publication Date
CN107395665A CN107395665A (zh) 2017-11-24
CN107395665B true CN107395665B (zh) 2020-04-24

Family

ID=60338958

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710362162.3A Active CN107395665B (zh) 2017-05-22 2017-05-22 一种区块链业务受理及业务共识方法及装置

Country Status (12)

Country Link
US (1) US10938577B2 (zh)
EP (2) EP3886403B1 (zh)
JP (1) JP6949118B2 (zh)
KR (1) KR102204256B1 (zh)
CN (1) CN107395665B (zh)
ES (1) ES2876943T3 (zh)
MY (1) MY194420A (zh)
PH (1) PH12019501563A1 (zh)
PL (1) PL3550803T3 (zh)
SG (2) SG11201906166YA (zh)
TW (1) TWI679547B (zh)
WO (1) WO2018214835A1 (zh)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107395665B (zh) 2017-05-22 2020-04-24 创新先进技术有限公司 一种区块链业务受理及业务共识方法及装置
CN108009824A (zh) * 2017-11-28 2018-05-08 北京博晨技术有限公司 数据共识方法、装置及电子设备
CN107992356B (zh) * 2017-12-13 2021-09-14 深圳壹账通智能科技有限公司 区块链事务区块处理方法、电子装置及可读存储介质
CN108848056B (zh) * 2018-05-03 2021-05-04 南京理工大学 基于验证的区块链共识方法
CN108965398B (zh) * 2018-06-22 2021-01-19 北京格瑞空间科技有限公司 一种基于区块链的物联网设备的控制方法
CN109039750B (zh) * 2018-08-13 2021-06-15 浙商银行股份有限公司 一种提升区块链应用系统多城多园区部署灾备能力的方法
CN110401711B (zh) * 2018-08-31 2021-08-20 腾讯科技(深圳)有限公司 数据处理方法、装置、系统及存储介质
CN109345194A (zh) * 2018-09-12 2019-02-15 北京东港瑞宏科技有限公司 一种电子票据流转系统
CN111080287B (zh) * 2018-10-18 2023-06-16 华为技术有限公司 一种业务数据的处理方法、相关设备和系统
CN111241188B (zh) * 2018-11-29 2024-05-17 北京京东尚科信息技术有限公司 区块链网络中的共识方法、节点及存储介质
KR20200078002A (ko) * 2018-12-21 2020-07-01 주식회사 밀리언써클 블록체인에 기반하여 가중치를 갖는 후보들 중에서 우승자를 선택하는 방법 및 시스템
CN111382119B (zh) * 2018-12-29 2023-08-22 华为技术有限公司 区块数据归档方法及相关设备
CN112612856B (zh) * 2019-07-09 2024-03-29 创新先进技术有限公司 基于区块链的数据处理方法和装置
CN110430101B (zh) * 2019-08-28 2021-09-03 杭州领智云画科技有限公司 应用于cdn的服务指标数据采集方法、装置、设备及系统
KR102304953B1 (ko) * 2019-08-30 2021-09-27 주식회사 미디움 피어 노드와 그 정보 처리 방법 및 블록체인 플랫폼 시스템
CN110730204B (zh) * 2019-09-05 2022-09-02 创新先进技术有限公司 区块链网络中删除节点的方法和区块链系统
CN114401150B (zh) * 2019-09-05 2023-10-20 创新先进技术有限公司 区块链网络中加入节点的方法和区块链系统
CN112769878B (zh) * 2019-11-01 2022-09-20 中国电信股份有限公司 基于区块链的业务实现系统和方法
US12099997B1 (en) 2020-01-31 2024-09-24 Steven Mark Hoffberg Tokenized fungible liabilities
CN111369358B (zh) * 2020-02-10 2023-09-12 杭州溪塔科技有限公司 一种区块链共识方法、装置和电子设备
KR102315226B1 (ko) 2020-03-16 2021-10-20 이정우 규칙 증명 방식의 합의 알고리즘 기반 블록체인 시스템 및 그 방법
CN111464633B (zh) * 2020-03-31 2023-03-21 成都质数斯达克科技有限公司 用于区块链的交易信息的共识方法及系统
CN111654415B (zh) * 2020-05-28 2021-09-10 腾讯科技(深圳)有限公司 基于区块链的信息处理方法、装置、设备及可读存储介质
CN111402058B (zh) * 2020-05-29 2021-05-04 支付宝(杭州)信息技术有限公司 一种数据处理方法、装置、设备及介质
CN111866085B (zh) * 2020-06-28 2021-12-14 北京沃东天骏信息技术有限公司 基于区块链的数据存储方法、系统和装置
CN111522683B (zh) 2020-07-03 2020-10-02 支付宝(杭州)信息技术有限公司 蜜獾拜占庭容错共识机制的共识节点变更方法及相关装置
CN115997396A (zh) * 2020-10-30 2023-04-21 英特尔公司 在第五代(5g)系统中经由托管网络提供按需本地化服务
CN112632543B (zh) * 2020-12-29 2024-06-25 杭州趣链科技有限公司 一种区块链信息内容安全事件的监管方法、装置及终端
CN112954009B (zh) * 2021-01-27 2023-05-02 咪咕音乐有限公司 区块链共识方法、设备及存储介质
KR102680140B1 (ko) * 2021-02-23 2024-07-01 (주)제이앤피메디 블록체인 기반의 임상 시험 데이터를 수집하기 위한 시스템 및 그 방법
CN113541957A (zh) * 2021-07-08 2021-10-22 中国工商银行股份有限公司 一种基于区块链的业务监管方法、装置及设备
KR20240131991A (ko) * 2021-09-07 2024-09-02 모함마드 자랄자이 분산 원장 내에서 신속한 합의를 위한 방법 및 시스템
CN114281605B (zh) * 2022-03-07 2022-06-21 杭州费尔斯通科技有限公司 一种基于区块链分区存储的计算方法和系统
CN115412464B (zh) * 2022-11-01 2023-03-24 江苏荣泽信息科技股份有限公司 一种基于流量的区块链动态伸缩方法
CN115883315B (zh) * 2023-03-01 2023-07-28 中国信息通信研究院 区块链网络中节点加入方法、装置、电子设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9436923B1 (en) * 2015-02-26 2016-09-06 Skuchain, Inc. Tracking unitization occurring in a supply chain
CN106228446A (zh) * 2016-05-12 2016-12-14 北京众享比特科技有限公司 基于私有区块链的资产交易平台系统及方法
CN106534273A (zh) * 2016-10-31 2017-03-22 中金云金融(北京)大数据科技股份有限公司 区块链元数据存储系统及其存储方法与检索方法
CN106611061A (zh) * 2016-12-29 2017-05-03 北京众享比特科技有限公司 基于区块链网络的数据库写入方法及系统

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7543300B2 (en) * 2004-11-16 2009-06-02 International Business Machines Corporation Interface for application components
US7409485B1 (en) * 2005-10-27 2008-08-05 Cisco Technology, Inc. Optimized data transfer for a data bus
US20080155224A1 (en) * 2006-12-21 2008-06-26 Unisys Corporation System and method for performing input/output operations on a data processing platform that supports multiple memory page sizes
US7783666B1 (en) * 2007-09-26 2010-08-24 Netapp, Inc. Controlling access to storage resources by using access pattern based quotas
CN101414917B (zh) 2007-10-19 2011-03-16 华为技术有限公司 节省内存空间的方法、数据管理网元及网络系统
JP5491800B2 (ja) * 2009-09-04 2014-05-14 フェリカネットワークス株式会社 管理サーバ、情報処理装置、プログラムおよび情報処理システム
US8621634B2 (en) * 2011-01-13 2013-12-31 F-Secure Oyj Malware detection based on a predetermined criterion
US9049238B2 (en) * 2011-04-26 2015-06-02 Jeffrey Scuba System for creating anonymous social gatherings
US10552804B2 (en) * 2011-04-29 2020-02-04 Verizon Patent And Licensing Inc. Methods and systems for providing subsidized access to network content by way of a secure connection
US9251633B2 (en) * 2011-06-22 2016-02-02 Honeywell International Inc. Monitoring access to a location
US9619668B2 (en) * 2013-09-16 2017-04-11 Axis Ab Managing application data in distributed control systems
US9462044B1 (en) * 2013-11-25 2016-10-04 Ca, Inc. Secure user, device, application registration protocol
US20160026983A1 (en) * 2014-07-25 2016-01-28 Cisco Technology, Inc. System and method for brokering electronic data in a network environment
US9531749B2 (en) * 2014-08-07 2016-12-27 International Business Machines Corporation Prevention of query overloading in a server application
CN105700819B (zh) * 2014-11-28 2019-04-12 国际商业机器公司 用于网络数据存储的方法和系统
CN104679830A (zh) 2015-01-30 2015-06-03 乐视网信息技术(北京)股份有限公司 一种文件处理方法和装置
JP6277988B2 (ja) * 2015-03-25 2018-02-14 コニカミノルタ株式会社 画像形成装置、その消耗品の管理装置、システム、およびプログラム
US20160321675A1 (en) * 2015-05-01 2016-11-03 Monegraph, Inc. Authenticating content at an online content management system
JP6603485B2 (ja) * 2015-06-11 2019-11-06 株式会社日立製作所 電力事業損益試算システム
US9716710B2 (en) * 2015-06-26 2017-07-25 Intel Corporation Technologies for virtualized access to security services provided by a converged manageability and security engine
US10848315B2 (en) * 2015-07-13 2020-11-24 Nippon Telegraph And Telephone Corporation Contract agreement method, agreement verification method, contract agreement system, agreement verification device, contract agreement device, contract agreement program and agreement verification program
JP6948261B2 (ja) 2015-07-15 2021-10-13 国立大学法人大阪大学 多能性幹細胞または脂肪組織もしくは骨髄由来の間葉系幹細胞由来の心筋細胞の凍結保存方法
US10466970B2 (en) * 2015-10-20 2019-11-05 Sap Se Jurisdiction based localizations as a service
US20170132626A1 (en) * 2015-11-05 2017-05-11 Mastercard International Incorporated Method and system for processing of a blockchain transaction in a transaction processing network
US10567499B1 (en) * 2015-12-02 2020-02-18 Amazon Technologies, Inc. Unsupervised round robin catch up algorithm
CN105404701B (zh) * 2015-12-31 2018-11-13 浙江图讯科技股份有限公司 一种基于对等网络的异构数据库同步方法
CN109644200A (zh) * 2016-03-03 2019-04-16 卡达米有限公司 在网络中分配数据的特征编码及解码装置及有该装置的网络元素
CN109313763B (zh) * 2016-03-31 2023-02-28 比特飞翔区块链株式会社 层次型网络系统以及用于层次型网络系统的节点
CN105976231A (zh) * 2016-06-24 2016-09-28 深圳前海微众银行股份有限公司 基于区块链智能合约的资产管理方法及节点
US20170374568A1 (en) * 2016-06-27 2017-12-28 Able Device, Inc. Adaptive network access service
CN106372868B (zh) * 2016-09-06 2020-02-18 联动优势科技有限公司 一种对写入区块链的交易数据的验证方法和装置
CN106411774A (zh) * 2016-09-06 2017-02-15 联动优势科技有限公司 一种控制交易数据量的方法和装置
CN106446067B (zh) 2016-09-06 2020-02-18 联动优势科技有限公司 一种获取交易数据的方法和装置
WO2018049656A1 (zh) * 2016-09-18 2018-03-22 深圳前海达闼云端智能科技有限公司 基于区块链的身份认证方法、装置、节点及系统
CN106385319B (zh) * 2016-09-29 2020-11-27 江苏通付盾科技有限公司 区块链网络中信息的验证方法及系统
US10360191B2 (en) * 2016-10-07 2019-07-23 International Business Machines Corporation Establishing overlay trust consensus for blockchain trust validation system
CN106650494B (zh) 2016-12-16 2019-07-16 杭州嘉楠耘智信息科技有限公司 一种数据处理方法及装置
WO2018112947A1 (zh) * 2016-12-23 2018-06-28 深圳前海达闼云端智能科技有限公司 生成区块链区块的方法、装置、节点、签名设备及系统
US10621150B2 (en) * 2017-03-05 2020-04-14 Jonathan Sean Callan System and method for enforcing the structure and content of databases synchronized over a distributed ledger
CN107391320B (zh) * 2017-03-10 2020-07-10 创新先进技术有限公司 一种共识方法及装置
US10757103B2 (en) * 2017-04-11 2020-08-25 Xage Security, Inc. Single authentication portal for diverse industrial network protocols across multiple OSI layers
CN107392040B (zh) * 2017-04-28 2019-08-09 阿里巴巴集团控股有限公司 一种共识验证的方法及装置
CN107395665B (zh) * 2017-05-22 2020-04-24 创新先进技术有限公司 一种区块链业务受理及业务共识方法及装置
CN107392623B (zh) * 2017-05-22 2020-09-11 创新先进技术有限公司 一种业务执行的方法及装置
CN107590738A (zh) * 2017-08-24 2018-01-16 阿里巴巴集团控股有限公司 选择共识节点的处理方法、装置及服务器

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9436923B1 (en) * 2015-02-26 2016-09-06 Skuchain, Inc. Tracking unitization occurring in a supply chain
CN106228446A (zh) * 2016-05-12 2016-12-14 北京众享比特科技有限公司 基于私有区块链的资产交易平台系统及方法
CN106534273A (zh) * 2016-10-31 2017-03-22 中金云金融(北京)大数据科技股份有限公司 区块链元数据存储系统及其存储方法与检索方法
CN106611061A (zh) * 2016-12-29 2017-05-03 北京众享比特科技有限公司 基于区块链网络的数据库写入方法及系统

Also Published As

Publication number Publication date
KR20190092483A (ko) 2019-08-07
PL3550803T3 (pl) 2021-09-20
EP3886403A1 (en) 2021-09-29
EP3550803A4 (en) 2020-02-19
US10938577B2 (en) 2021-03-02
JP2020512610A (ja) 2020-04-23
TW201901478A (zh) 2019-01-01
KR102204256B1 (ko) 2021-01-19
SG10202101555QA (en) 2021-03-30
TWI679547B (zh) 2019-12-11
EP3550803A1 (en) 2019-10-09
MY194420A (en) 2022-11-30
JP6949118B2 (ja) 2021-10-13
US20190327097A1 (en) 2019-10-24
WO2018214835A1 (zh) 2018-11-29
ES2876943T3 (es) 2021-11-15
EP3886403B1 (en) 2023-07-05
CN107395665A (zh) 2017-11-24
EP3550803B1 (en) 2021-04-07
SG11201906166YA (en) 2019-08-27
PH12019501563A1 (en) 2020-02-24

Similar Documents

Publication Publication Date Title
CN107395665B (zh) 一种区块链业务受理及业务共识方法及装置
CN113766035B (zh) 一种业务受理及共识的方法及装置
CN107402824B (zh) 一种数据处理的方法及装置
US9792060B2 (en) Optimized write performance at block-based storage during volume snapshot operations
CN107040585B (zh) 一种业务校验的方法及装置
CN107391526B (zh) 一种基于区块链的数据处理方法及设备
CN108712454B (zh) 一种文件处理方法、装置及设备
CN108537525B (zh) 一种共识验证方法、装置及设备
CN109669709B (zh) 一种区块链升级的数据迁移方法及数据迁移系统
CN107038041B (zh) 数据处理方法、错误码动态兼容方法、装置和系统
CN109344348B (zh) 一种资源更新方法及装置
CN114827165B (zh) 对多个交易进行分组的方法和区块链节点
US20140344314A1 (en) Optimizing storage in a publish / subscribe environment
KR20140038991A (ko) 가장 최근에 사용된 문서 목록들의 자동 동기화
CN112463290A (zh) 动态调整计算容器的数量的方法、系统、装置和存储介质
US20160196188A1 (en) Failure recovery of a task state in batch-based stream processing
CN110162344B (zh) 一种隔离限流的方法、装置、计算机设备及可读存储介质
CN112087530B (zh) 一种将数据上传至区块链系统的方法、装置、设备及介质
CN111930530A (zh) 一种基于物联网的设备消息处理方法、装置及介质
CN115129728A (zh) 一种文件校验的方法及装置
CN112860412B (zh) 业务数据处理方法、装置、电子设备及存储介质
US9189405B2 (en) Placement of data in shards on a storage device
US20220036206A1 (en) Containerized distributed rules engine
US20230188619A1 (en) Methods and systems for event management
CN109388764A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1247457

Country of ref document: HK

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20191204

Address after: P.O. Box 31119, grand exhibition hall, hibiscus street, 802 West Bay Road, Grand Cayman, ky1-1205, Cayman Islands

Applicant after: Innovative advanced technology Co., Ltd

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Co., Ltd.

GR01 Patent grant
GR01 Patent grant