CN111510484A - 区块链处理方法、系统、装置、计算机设备和存储介质 - Google Patents
区块链处理方法、系统、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111510484A CN111510484A CN202010278568.5A CN202010278568A CN111510484A CN 111510484 A CN111510484 A CN 111510484A CN 202010278568 A CN202010278568 A CN 202010278568A CN 111510484 A CN111510484 A CN 111510484A
- Authority
- CN
- China
- Prior art keywords
- service request
- node
- message queue
- block chain
- service
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/622—Queue service order
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Finance (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种区块链处理方法、系统、装置、计算机设备和存储介质。所述方法应用于区块链中的第一节点;所述第一节点为所述区块链中的任一节点;所述方法包括:接收客户端发送的业务请求;将所述业务请求广播至各第二节点,并将所述业务请求的业务请求标识发布至消息队列;所述第二节点为区块链中除所述第一节点之外的节点;所述消息队列中按序记录了所述区块链中各节点所发布至的业务请求标识;接收各所述第二节点广播的业务请求;按照订阅的所述消息队列中的业务请求标识之间的顺序,对所接收到的业务请求依次进行处理。采用本方法能够提高共识效率。
Description
技术领域
本申请涉及区块链技术领域,特别是涉及一种区块链处理方法、系统、装置、计算机设备和存储介质。
背景技术
区块链技术是一种去中心化的分布式数据库技术,具有去中心化、公开透明、不可篡改、可信任等多种特点。
传统技术中,区块链中的各节点在接收到业务请求后,将业务请求广播至区块链中的其他节点,各节点对所接收到的业务请求依次进行处理。然而,由于网络状况的原因,各节点接收到多个业务请求的顺序可能不同,导致各节点对各业务请求依次进行处理的过程中可能出现问题,从而导致后续的共识效率比较低。比如:由于各节点接收到的多个业务请求的顺序不同导致各节点对业务请求执行智能合约得到的模拟结果可能不同,对模拟结果的筛选会比较复杂,从而会导致共识效率比较低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高共识效率的区块链处理方法、系统、装置、计算机设备和存储介质。
一种区块链处理方法,所述方法应用于区块链中的第一节点;所述第一节点为所述区块链中的任一节点;所述方法包括:
接收客户端发送的业务请求;
将所述业务请求广播至各第二节点,并将所述业务请求的业务请求标识发布至消息队列;所述第二节点为区块链中除所述第一节点之外的节点;所述消息队列中按序记录了所述区块链中各节点所发布至的业务请求标识;
接收各所述第二节点广播的业务请求;
按照订阅的所述消息队列中的业务请求标识之间的顺序,对所接收到的业务请求依次进行处理。
在其中一个实施例中,所述消息队列中的业务请求标识,按照所述业务请求标识被发布至所述消息队列的先后顺序排列。
在其中一个实施例中,所述消息队列设置于所述区块链中的任意节点中;或,
所述消息队列设置于所述区块链中的节点之外的计算机设备中。
在其中一个实施例中,所述按照订阅的所述消息队列中的业务请求标识之间的顺序,对所接收到的业务请求依次进行处理包括:
按照订阅的所述消息队列中的业务请求标识的顺序,对所接收到的业务请求依次执行智能合约,得到各所述业务请求对应的模拟结果;
接收各所述第二节点广播的与各所述业务请求对应的模拟结果;
从对应于同一业务请求的模拟结果中筛选出最终的模拟结果;
分别根据各所述业务请求所对应的最终的模拟结果,进行共识处理。
在其中一个实施例中,所述分别根据各所述业务请求所对应的最终的模拟结果,进行共识处理包括:
根据各所述业务请求所对应的最终的模拟结果,与各所述第二节点达成共识,确定与各所述业务请求的业务请求标识对应的共识结果;
按照所述消息队列中的业务请求标识的顺序,将与所述业务请求标识所对应的共识结果打包生成区块。
一种区块链处理系统,所述区块链处理系统包括不少于一个的区块链节点和消息队列服务设备;所述消息队列服务设备中设置有消息队列;
所述区块链节点,用于接收客户端发送的业务请求以及所述区块链处理系统中区块链节点广播至的业务请求;将所述业务请求的业务请求标识发布至所述消息队列服务设备;
所述消息队列服务设备,用于在所述消息队列中,将所发布至的业务请求标识按序记录;
所述区块链节点,还用于订阅所述消息队列中记录的业务请求标识,并按照所述消息队列中的业务请求标识之间的顺序,对所接收到的业务请求依次进行处理。
在其中一个实施例中,所述消息队列服务设备为所述区块链处理系统中的任意所述区块链节点;或,所述消息队列服务设备,为除所述区块链处理系统中的区块链节点之外的计算机设备。
一种区块链处理装置,所述装置设置于区块链中的第一节点中;所述第一节点为所述区块链中的任一节点;,所述装置包括:
接收模块,用于接收客户端发送的业务请求;
发送模块,用于将所述业务请求广播至各第二节点,并将所述业务请求的业务请求标识发布至消息队列;所述第二节点为区块链中除所述第一节点之外的节点;所述消息队列中按序记录了所述区块链中各节点所发布至的业务请求标识;
接收模块还用于接收各所述第二节点广播的业务请求;
处理模块,用于按照订阅的所述消息队列中的业务请求标识之间的顺序,对所接收到的业务请求依次进行处理。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行本申请各实施例所述的区块链处理方法中的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行本申请各实施例所述的区块链处理方法中的步骤。
上述区块链处理方法、系统、装置、计算机设备和存储介质,区块链中的第一节点(任一节点)接收客户端发送的业务请求,将业务请求广播至各第二节点(除第一节点以外的节点),并将业务请求的业务请求标识发布至消息队列,第一节点接收各第二节点广播的业务请求,并按照订阅的消息队列中的业务请求标识之间的顺序,对所接收到的业务请求依次进行处理。区块链中的任一节点都按照订阅的消息队列中的业务请求标识之间的顺序,对所接收到的业务请求依次进行处理,能够避免各节点接收到业务请求的顺序不同导致的对业务请求处理过程中出现的问题,相当于在共识发生前,提前对业务请求作出顺序的约束,从而在后续的共识处理中,减少了排序处理,从而能够提高共识效率。
附图说明
图1为一个实施例中区块链处理方法的应用环境图;
图2为一个实施例中区块链处理方法的流程示意图;
图3(a)~(b)为一个实施例中区块链处理方法的对比的示意图;
图4(a)~(b)为一个实施例中区块链处理方法的对比的示意图;
图5为一个实施例中区块链处理装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
首先需要说明的是,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
区块链系统包括多个节点(接入网络中的任意形式的计算机设备,如服务器、用户终端),节点之间形成点对点(P2P,Peer To Peer)网络,P2P协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)协议之上的应用层协议。
本申请提供的区块链处理方法,可以应用于如图1所示的应用环境中。其中,客户端102为区块链之外的终端。第一节点104和第二节点106为区块链中的节点,可以为终端或服务器。第一节点104为区块链中的任一节点,第二节点106为区块链中除第一节点之外的节点,第二节点106的数量可以为一个或多个。消息队列服务设备108可以为区块链中的任意节点,也可以为区块链中的节点之外的计算机设备。消息队列服务设备108可以为终端、服务器或多个服务器组成的服务器集群。客户端102与第一节点104通过网络进行通信,客户端102向第一节点104发送业务请求,第一节点104将业务请求对应的共识结果反馈至客户端102。第一节点104与各第二节点106通过网络进行通信,第一节点104向各第二节点106广播业务请求,第一节点104也接收各第二节点106广播至的业务请求。消息队列服务设备108与区块链中的各节点(第一节点104和第二节点106)通过网络进行通信,以第一节点104为例,第一节点104将从客户端102接收到的业务请求的业务请求标识发布至消息队列服务设备108中的消息队列,第一节点104订阅消息队列服务设备108中的消息队列。
在一个实施例中,如图2所示,提供了一种区块链处理方法,以该方法应用于图1中的第一节点为例进行说明,包括以下步骤:
S202,接收客户端发送的业务请求。
其中,业务请求,是客户端向区块链中的任一节点(第一节点)发送的、且用于实现某种业务操作的请求。
在一个实施例中,业务请求可以包括交易请求和数据存储请求等中的至少一种。
S204,将业务请求广播至各第二节点,并将业务请求的业务请求标识发布至消息队列;第二节点为区块链中除第一节点之外的节点;消息队列中按序记录了区块链中各节点所发布至的业务请求标识。
其中,业务请求标识(即业务请求ID),用于唯一表征相应的业务请求。消息队列,用于按序记录区块链中各节点所发布至的业务请求标识。区块链中的各节点均可以将从客户端接收到的业务请求的业务请求标识发布至消息队列。区块链中的各节点均可以订阅消息队列中的业务请求标识。
具体地,第一节点在接收到客户端发送的业务请求后,将业务请求广播至第二节点,并且将该业务请求的业务请求标识发布至消息队列。
下面举例说明:假设区块链中的节点A接收到客户端发送的一笔交易(业务请求),且该交易的业务请求标识为tx1,则节点A将该交易广播至区块链中除节点A之外的其他节点,并且将tx1发布至消息队列。区块链中的节点B接收到客户端发送的一笔交易,且该交易的业务请求标识为tx2,则节点B将该交易广播至区块链中除节点B之外的其他节点,并且将tx2发布至消息队列。则消息队列中按序记录了tx1和tx2两个业务请求标识。
S206,接收各第二节点广播的业务请求。
具体地,各第二节点接收到客户端发送至的业务请求,也将业务请求向区块链中的其他节点广播,则第一节点接收到各第二节点广播的业务请求。
下面举例说明:假设区块链中有三个节点A、B和C,节点A从客户端接收到交易1,节点B从客户端接收到交易2,节点C从客户端接收到交易3,三个节点将各自从客户端接收到的交易分别向区块链中的其他节点广播,则最终A、B和C三个节点均接收到交易1、交易2和交易3三笔交易。
S208,按照订阅的消息队列中的业务请求标识之间的顺序,对所接收到的业务请求依次进行处理。
具体地,第一节点订阅了消息队列中的业务请求标识,第一节点按照订阅的消息队列中的业务请求标识之间的顺序,对所接收到的业务请求依次进行处理。其中,所接收到的业务请求包括客户端发送至的业务请求,以及各第二节点广播至的业务请求。
在一个实施例中,第一节点按照订阅的消息队列中的业务请求标识之间的顺序,对所接收到的业务请求依次执行智能合约,以及依次进行共识处理。
如图3(a)所示,为传统的区块链处理方法示意图。图中的区块链中有A、B、C和D四个节点,各节点分别从客户端接收到一笔交易,并将从客户端接收到的交易向区块链中的其他节点广播,则最终A、B、C和D四个节点均接收到交易1、交易2、交易3和交易4四笔交易。然而如图中所示,各节点之间接收到四笔交易的顺序可能不同,导致各节点对各交易依次进行处理的过程中可能出现问题。
如图3(b)所示,为本实施例中区块链处理方法的示意图。图中的区块链中有A、B、C和D四个节点,节点A从客户端接收到交易1(业务请求标识为tx1),节点B从客户端接收到交易2(业务请求标识为tx2),节点C从客户端接收到交易3(业务请求标识为tx3),节点D从客户端接收到交易4(业务请求标识为tx4)。各节点分别将各自从客户端接收到的交易向区块链中的其他节点广播,并且将各自从客户端接收到的交易的业务请求标识发布至消息队列。经过广播,各节点均接收到交易1、交易2、交易3和交易4四笔交易。消息队列中按序记录了各节点发布至的业务请求标识tx1、tx2、tx3和tx4。A、B、C和D四个节点均订阅消息队列中的业务请求标识,并按照订阅的消息队列中的业务请求标识之间的顺序,对所接收到的交易(业务请求)依次进行处理。
上述区块链处理方法中,区块链中的第一节点(任一节点)接收客户端发送的业务请求,将业务请求广播至各第二节点(除第一节点以外的节点),并将业务请求的业务请求标识发布至消息队列,第一节点接收各第二节点广播的业务请求,并按照订阅的消息队列中的业务请求标识之间的顺序,对所接收到的业务请求依次进行处理。区块链中的任一节点都按照订阅的消息队列中的业务请求标识之间的顺序,对所接收到的业务请求依次进行处理,能够避免各节点接收到业务请求的顺序不同导致的对业务请求处理过程中出现的问题,相当于在共识发生前,提前对业务请求作出顺序的约束,从而在后续的共识处理中,减少了排序处理,从而降低了系统资源的消耗,能够提高共识效率。
在一个实施例中,消息队列中的业务请求标识,按照业务请求标识被发布至消息队列的先后顺序排列。
本实施例中,消息队列中的业务请求标识按照业务请求标识被发布至消息队列的先后顺序排列,使得区块链中的任一节点都按照订阅的消息队列中的业务请求标识之间的顺序,对所接收到的业务请求依次进行处理,能够避免各节点接收到业务请求的顺序不同导致的对业务请求处理过程中出现的问题,相当于在共识发生前,提前对业务请求作出顺序的约束,从而在后续的共识处理中,减少了排序处理,从而降低了系统资源的消耗,能够提高共识效率。
在一个实施例中,消息队列设置于区块链中的任意节点中;或,消息队列设置于区块链中的节点之外的计算机设备中。
具体地,消息队列可以设置于区块链中的任意节点中,可以为一个节点,也可以为多个节点。消息队列也可以设置于区块链中的节点之外的计算机设备中,可以为终端、服务器或多个服务器组成的服务器集群。
本实施例中,消息队列可以设置于区块链的节点中,也可以设置于区块链的节点之外的计算机设备中,能够对消息队列进行灵活的部署。
在一个实施例中,按照订阅的消息队列中的业务请求标识之间的顺序,对所接收到的业务请求依次进行处理的步骤,具体包括如下步骤:按照订阅的消息队列中的业务请求标识的顺序,对所接收到的业务请求依次执行智能合约,得到各业务请求对应的模拟结果;接收各第二节点广播的与各业务请求对应的模拟结果;从对应于同一业务请求的模拟结果中筛选出最终的模拟结果;分别根据各业务请求所对应的最终的模拟结果,进行共识处理。
其中,智能合约,是计算机化的协议,可以执行某个合约的条款,通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求完成自动化的交易。共识处理,是使各个区块链节点对某一结果的有效性达成共识,并将共识结果打包生成区块的过程。
具体地,第一节点按照订阅的消息队列中的业务请求标识的顺序,对所接收到的业务请求依次执行智能合约,得到各业务请求对应的模拟结果。各第二节点同样也按照订阅的消息队列中的业务请求标识的顺序,对所接收到的业务请求依次执行智能合约,得到各业务请求对应的模拟结果,并将模拟结果广播至第一节点。第一节点从对应于同一业务请求的模拟结果中筛选出最终的模拟结果,分别根据各业务请求所对应的最终的模拟结果,进行共识处理。
本实施例中,区块链中的各节点均按照订阅的消息队列中的业务请求标识的顺序,对所接收到的业务请求依次执行智能合约,得到各业务请求对应的模拟结果,再进行共识处理,能够提高各节点针对同一业务请求得到的模拟结果的一致性,从而降低了模拟结果筛选过程对系统资源的消耗,提高了区块链处理效率。
在一个实施例中,分别根据各业务请求所对应的最终的模拟结果,进行共识处理的步骤,具体包括如下步骤:根据各业务请求所对应的最终的模拟结果,与各第二节点达成共识,确定与各业务请求的业务请求标识对应的共识结果;按照消息队列中的业务请求标识的顺序,将与业务请求标识所对应的共识结果打包生成区块。
其中,共识结果,是各节点对同一业务请求筛选出的最终的模拟结果达成共识所得到的结果。
如图4(a)所示,为传统的区块链处理方法的示意图。图中的区块链中的节点需要在共识模块对得到的共识结果进行排序,再打包生成区块。
如图4(b)所示,为本实施例中区块链处理方法的示意图。图中的区块链中有A和B两个节点,节点A接收到交易1,节点B接收到交易2,两个节点分别将交易的业务请求标识发布至消息队列,并且订阅消息队列中的业务请求标识,在共识模块按照业务请求标识的顺序将共识结果打包生成区块,从而相当于在共识模块之前(即节点模块)提前对交易进行了排序,在共识模块不需要额外对共识结果进行排序再打包生成区块,提高了区块链共识的效率。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,提供了一种区块链处理系统,区块链处理系统包括不少于一个的区块链节点和消息队列服务设备。消息队列服务设备中设置有消息队列。
区块链节点,用于接收客户端发送的业务请求以及区块链处理系统中区块链节点广播至的业务请求;将业务请求的业务请求标识发布至消息队列服务设备。
消息队列服务设备,用于在消息队列中,将所发布至的业务请求标识按序记录。
区块链节点,还用于订阅消息队列中记录的业务请求标识,并按照消息队列中的业务请求标识之间的顺序,对所接收到的业务请求依次进行处理。
在一个实施例中,消息队列服务设备为区块链处理系统中的任意区块链节点;或,消息队列服务设备,为除区块链处理系统中的区块链节点之外的计算机设备。
上述区块链处理系统中,区块链中的第一节点(任一节点)接收客户端发送的业务请求,将业务请求广播至各第二节点(除第一节点以外的节点),并将业务请求的业务请求标识发布至消息队列,第一节点接收各第二节点广播的业务请求,并按照订阅的消息队列中的业务请求标识之间的顺序,对所接收到的业务请求依次进行处理。区块链中的任一节点都按照订阅的消息队列中的业务请求标识之间的顺序,对所接收到的业务请求依次进行处理,能够避免各节点接收到业务请求的顺序不同导致的对业务请求处理过程中出现的问题,相当于在共识发生前,提前对业务请求作出顺序的约束,从而在后续的共识处理中,减少了排序处理,从而降低了系统资源的消耗,能够提高共识效率。
在一个实施例中,如图5所示,提供了一种区块链处理装置500,包括:接收模块502、发送模块504和处理模块506,其中:
接收模块502,用于接收客户端发送的业务请求。
发送模块504,用于将业务请求广播至各第二节点,并将业务请求的业务请求标识发布至消息队列;第二节点为区块链中除第一节点之外的节点;消息队列中按序记录了区块链中各节点所发布至的业务请求标识。
接收模块502还用于接收各第二节点广播的业务请求。
处理模块506,用于按照订阅的消息队列中的业务请求标识之间的顺序,对所接收到的业务请求依次进行处理。
在一个实施例中,消息队列中的业务请求标识,按照业务请求标识被发布至消息队列的先后顺序排列。
在一个实施例中,消息队列设置于区块链中的任意节点中;或,消息队列设置于区块链中的节点之外的计算机设备中。
在一个实施例中,处理模块506还用于按照订阅的消息队列中的业务请求标识的顺序,对所接收到的业务请求依次执行智能合约,得到各业务请求对应的模拟结果;接收各第二节点广播的与各业务请求对应的模拟结果;从对应于同一业务请求的模拟结果中筛选出最终的模拟结果;分别根据各业务请求所对应的最终的模拟结果,进行共识处理。
在一个实施例中,处理模块506还用于根据各业务请求所对应的最终的模拟结果,与各第二节点达成共识,确定与各业务请求的业务请求标识对应的共识结果;按照消息队列中的业务请求标识的顺序,将与业务请求标识所对应的共识结果打包生成区块。
关于区块链处理装置的具体限定可以参见上文中对于区块链处理方法的限定,在此不再赘述。上述区块链处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
上述区块链处理装置中,区块链中的第一节点(任一节点)接收客户端发送的业务请求,将业务请求广播至各第二节点(除第一节点以外的节点),并将业务请求的业务请求标识发布至消息队列,第一节点接收各第二节点广播的业务请求,并按照订阅的消息队列中的业务请求标识之间的顺序,对所接收到的业务请求依次进行处理。区块链中的任一节点都按照订阅的消息队列中的业务请求标识之间的顺序,对所接收到的业务请求依次进行处理,能够避免各节点接收到业务请求的顺序不同导致的对业务请求处理过程中出现的问题,相当于在共识发生前,提前对业务请求作出顺序的约束,从而在后续的共识处理中,减少了排序处理,从而降低了系统资源的消耗,能够提高共识效率。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储区块链数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种区块链处理方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种区块链处理方法,其特征在于,所述方法应用于区块链中的第一节点;所述第一节点为所述区块链中的任一节点;所述方法包括:
接收客户端发送的业务请求;
将所述业务请求广播至各第二节点,并将所述业务请求的业务请求标识发布至消息队列;所述第二节点为区块链中除所述第一节点之外的节点;所述消息队列中按序记录了所述区块链中各节点所发布至的业务请求标识;
接收各所述第二节点广播的业务请求;
按照订阅的所述消息队列中的业务请求标识之间的顺序,对所接收到的业务请求依次进行处理。
2.根据权利要求1所述的方法,其特征在于,所述消息队列中的业务请求标识,按照所述业务请求标识被发布至所述消息队列的先后顺序排列。
3.根据权利要求2所述的方法,其特征在于,所述消息队列设置于所述区块链中的任意节点中;或,
所述消息队列设置于所述区块链中的节点之外的计算机设备中。
4.根据权利要求1所述的方法,其特征在于,所述按照订阅的所述消息队列中的业务请求标识之间的顺序,对所接收到的业务请求依次进行处理包括:
按照订阅的所述消息队列中的业务请求标识的顺序,对所接收到的业务请求依次执行智能合约,得到各所述业务请求对应的模拟结果;
接收各所述第二节点广播的与各所述业务请求对应的模拟结果;
从对应于同一业务请求的模拟结果中筛选出最终的模拟结果;
分别根据各所述业务请求所对应的最终的模拟结果,进行共识处理。
5.根据权利要求4所述的方法,其特征在于,所述分别根据各所述业务请求所对应的最终的模拟结果,进行共识处理包括:
根据各所述业务请求所对应的最终的模拟结果,与各所述第二节点达成共识,确定与各所述业务请求的业务请求标识对应的共识结果;
按照所述消息队列中的业务请求标识的顺序,将与所述业务请求标识所对应的共识结果打包生成区块。
6.一种区块链处理系统,其特征在于,所述区块链处理系统包括不少于一个的区块链节点和消息队列服务设备;所述消息队列服务设备中设置有消息队列;
所述区块链节点,用于接收客户端发送的业务请求以及所述区块链处理系统中区块链节点广播至的业务请求;将所述业务请求的业务请求标识发布至所述消息队列服务设备;
所述消息队列服务设备,用于在所述消息队列中,将所发布至的业务请求标识按序记录;
所述区块链节点,还用于订阅所述消息队列中记录的业务请求标识,并按照所述消息队列中的业务请求标识之间的顺序,对所接收到的业务请求依次进行处理。
7.根据权利要求6所述的区块链处理系统,其特征在于,所述消息队列服务设备为所述区块链处理系统中的任意所述区块链节点;或,所述消息队列服务设备,为除所述区块链处理系统中的区块链节点之外的计算机设备。
8.一种区块链处理装置,其特征在于,所述装置设置于区块链中的第一节点中;所述第一节点为所述区块链中的任一节点;所述装置包括:
接收模块,用于接收客户端发送的业务请求;
发送模块,用于将所述业务请求广播至各第二节点,并将所述业务请求的业务请求标识发布至消息队列;所述第二节点为区块链中除所述第一节点之外的节点;所述消息队列中按序记录了所述区块链中各节点所发布至的业务请求标识;
接收模块还用于接收各所述第二节点广播的业务请求;
处理模块,用于按照订阅的所述消息队列中的业务请求标识之间的顺序,对所接收到的业务请求依次进行处理。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010278568.5A CN111510484B (zh) | 2020-04-10 | 2020-04-10 | 区块链处理方法、系统、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010278568.5A CN111510484B (zh) | 2020-04-10 | 2020-04-10 | 区块链处理方法、系统、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111510484A true CN111510484A (zh) | 2020-08-07 |
CN111510484B CN111510484B (zh) | 2023-07-04 |
Family
ID=71864748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010278568.5A Active CN111510484B (zh) | 2020-04-10 | 2020-04-10 | 区块链处理方法、系统、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111510484B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111984733A (zh) * | 2020-09-03 | 2020-11-24 | 深圳壹账通智能科技有限公司 | 基于区块链的数据传输方法、装置及存储介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170124464A1 (en) * | 2015-10-28 | 2017-05-04 | Fractal Industries, Inc. | Rapid predictive analysis of very large data sets using the distributed computational graph |
CN107040585A (zh) * | 2017-02-22 | 2017-08-11 | 阿里巴巴集团控股有限公司 | 一种业务校验的方法及装置 |
CN107196900A (zh) * | 2017-03-24 | 2017-09-22 | 阿里巴巴集团控股有限公司 | 一种共识校验的方法及装置 |
CN108376106A (zh) * | 2018-02-01 | 2018-08-07 | 中国工商银行股份有限公司 | 一种区块链消息反馈方法及系统 |
WO2018194736A1 (en) * | 2017-04-18 | 2018-10-25 | Tbcasoft, Inc. | Anonymity and traceability of digital property transactions on a distributed transaction consensus network |
CN109218408A (zh) * | 2018-08-16 | 2019-01-15 | 泰链(厦门)科技有限公司 | 区块链系统的共识机制实现方法、介质、计算机设备及区块链系统 |
US20190020729A1 (en) * | 2017-07-14 | 2019-01-17 | Alibaba Group Holding Limited | Method, apparatus, and electronic device for processing consensus requests in a blockchain consensus network |
CN109660601A (zh) * | 2018-11-26 | 2019-04-19 | 北京瑞卓喜投科技发展有限公司 | 一种区块链共识方法及区块链共识装置 |
CN109995536A (zh) * | 2019-03-15 | 2019-07-09 | 广州杰赛科技股份有限公司 | 一种区块链共识方法、装置及可读存储介质 |
CN110581887A (zh) * | 2019-09-02 | 2019-12-17 | 北京海益同展信息科技有限公司 | 数据处理方法、装置、区块链节点及存储介质 |
CN110609755A (zh) * | 2019-08-02 | 2019-12-24 | 平安科技(深圳)有限公司 | 跨区块链节点的消息处理方法及装置、设备、介质 |
US20200014745A1 (en) * | 2018-07-03 | 2020-01-09 | Ramakrishna Thurimella | Methods, devices and systems for a distributed coordination engine-based exchange that implements a blockchain distributed ledger |
CN110830581A (zh) * | 2019-11-12 | 2020-02-21 | 金蝶软件(中国)有限公司 | 提升区块链响应速度的方法、区块链应用系统及相关设备 |
-
2020
- 2020-04-10 CN CN202010278568.5A patent/CN111510484B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170124464A1 (en) * | 2015-10-28 | 2017-05-04 | Fractal Industries, Inc. | Rapid predictive analysis of very large data sets using the distributed computational graph |
CN107040585A (zh) * | 2017-02-22 | 2017-08-11 | 阿里巴巴集团控股有限公司 | 一种业务校验的方法及装置 |
CN107196900A (zh) * | 2017-03-24 | 2017-09-22 | 阿里巴巴集团控股有限公司 | 一种共识校验的方法及装置 |
WO2018194736A1 (en) * | 2017-04-18 | 2018-10-25 | Tbcasoft, Inc. | Anonymity and traceability of digital property transactions on a distributed transaction consensus network |
US20190020729A1 (en) * | 2017-07-14 | 2019-01-17 | Alibaba Group Holding Limited | Method, apparatus, and electronic device for processing consensus requests in a blockchain consensus network |
CN108376106A (zh) * | 2018-02-01 | 2018-08-07 | 中国工商银行股份有限公司 | 一种区块链消息反馈方法及系统 |
US20200014745A1 (en) * | 2018-07-03 | 2020-01-09 | Ramakrishna Thurimella | Methods, devices and systems for a distributed coordination engine-based exchange that implements a blockchain distributed ledger |
CN109218408A (zh) * | 2018-08-16 | 2019-01-15 | 泰链(厦门)科技有限公司 | 区块链系统的共识机制实现方法、介质、计算机设备及区块链系统 |
CN109660601A (zh) * | 2018-11-26 | 2019-04-19 | 北京瑞卓喜投科技发展有限公司 | 一种区块链共识方法及区块链共识装置 |
CN109995536A (zh) * | 2019-03-15 | 2019-07-09 | 广州杰赛科技股份有限公司 | 一种区块链共识方法、装置及可读存储介质 |
CN110609755A (zh) * | 2019-08-02 | 2019-12-24 | 平安科技(深圳)有限公司 | 跨区块链节点的消息处理方法及装置、设备、介质 |
CN110581887A (zh) * | 2019-09-02 | 2019-12-17 | 北京海益同展信息科技有限公司 | 数据处理方法、装置、区块链节点及存储介质 |
CN110830581A (zh) * | 2019-11-12 | 2020-02-21 | 金蝶软件(中国)有限公司 | 提升区块链响应速度的方法、区块链应用系统及相关设备 |
Non-Patent Citations (3)
Title |
---|
ZAKARIA ABOU EL HOUDA ET.AL.: "ChainSecure - A Scalable and Proactive Solution for Protecting Blockchain Applications Using SDN", 2018 IEEE GLOBAL COMMUNICATIONS CONFERENCE (GLOBECOM) * |
孙赛: "区块链电子病历系统中共识机制的研究与实现", 中国优秀硕士学位论文全文数据库 (信息科技辑) * |
宋焘谊;赵运磊;: "区块链共识算法的比较研究", 计算机应用与软件 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111984733A (zh) * | 2020-09-03 | 2020-11-24 | 深圳壹账通智能科技有限公司 | 基于区块链的数据传输方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111510484B (zh) | 2023-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111625593B (zh) | 基于区块链的数据处理方法、装置、计算机设备 | |
CN109885410B (zh) | 消息发送方法、装置、计算机设备和存储介质 | |
CN110245956B (zh) | 一种基于异步多链的区块链交易确认方法及系统 | |
CN111522874B (zh) | 区块链共识方法、装置、计算机设备和存储介质 | |
CN111885050B (zh) | 基于区块链网络的数据存储方法、装置、相关设备及介质 | |
CN113347164B (zh) | 基于区块链的分布式共识系统及方法、设备、存储介质 | |
US20230273912A1 (en) | Data processing method and apparatus for blockchain network, computer device, and computer-readable storage medium | |
CN111163130B (zh) | 一种网络服务系统及其数据传输方法 | |
CN111314067A (zh) | 区块存储方法、装置、计算机设备及存储介质 | |
CN111444018B (zh) | 请求处理方法以及装置 | |
US20230370285A1 (en) | Block-chain-based data processing method, computer device, computer-readable storage medium | |
CN110910143A (zh) | 身份标识生成方法、装置、相关节点及介质 | |
CN111311254A (zh) | 一种基于区块链的业务处理方法、装置和系统 | |
CN111510484A (zh) | 区块链处理方法、系统、装置、计算机设备和存储介质 | |
CN111405027A (zh) | 区块链共识结果筛选方法、装置、计算机设备和存储介质 | |
CN103197920B (zh) | 一种并发控制方法、控制节点及系统 | |
CN110888892A (zh) | 一种区块同步方法、装置及存储介质 | |
CN111522876B (zh) | 区块链共识方法、装置和计算机设备、及区块链节点 | |
CN113190347A (zh) | 一种边缘云系统及任务管理方法 | |
CN113518126A (zh) | 一种面向联盟链的交叉容错方法 | |
CN111240867A (zh) | 一种信息通讯系统及方法 | |
CN113806056B (zh) | 定时任务处理方法、装置、计算机设备和存储介质 | |
CN112995988B (zh) | 一种基于无线网络设备多网口的网口分配方法及装置 | |
US11741267B2 (en) | Consensus method for a distributed database | |
CN115955319A (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 |