CN111917572B - 交易请求的处理方法、装置、电子设备及可读存储介质 - Google Patents
交易请求的处理方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN111917572B CN111917572B CN202010665975.1A CN202010665975A CN111917572B CN 111917572 B CN111917572 B CN 111917572B CN 202010665975 A CN202010665975 A CN 202010665975A CN 111917572 B CN111917572 B CN 111917572B
- Authority
- CN
- China
- Prior art keywords
- transaction request
- block chain
- blockchain
- node
- response
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0668—Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
-
- 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
- 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
-
- 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)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了一种交易请求的处理方法、装置、电子设备及可读存储介质。该方法包括:当接收到终端设备发送的交易请求时,转发交易请求以使区块链中目标数量的第二区块链节点均接收到交易请求,并分别指定各第二区块链节点对交易请求的响应条件;在获得交易请求的处理结果之前,若当前的区块链数据不满足响应条件,则由第一区块链节点对交易请求进行处理;若当前的区块链数据满足响应条件,则由当前区块数据所满足的响应条件对应第二区块链节点对交易请求进行处理。基于本方案,能够有效避免交易请求的丢失,并且减少对区块链客户端的资源占用量,缩减资源占用时间,有效保证区块链客户端的正常使用。
Description
技术领域
本申请涉及区块链技术领域,具体而言,本申请涉及一种交易请求的处理方法。
背景技术
金融系统中可以通过联盟链技术来处理交易,可以认为联盟链中不存在恶意节点,但是有可能会存在故障节点。
目前的交易处理机制为由区块链客户端发起交易请求,将交易请求发送给区块链中的节点,由节点转发至共识模块进行出块。由于节点或者共识节点可能会存在故障,会导致交易请求的丢失。目前的交易处理机制在处理节点或者共识节点的故障情况时,是使区块链客户端在向节点发出交易请求后继续维护交易请求,并定期向区块链查询交易请求是否已经处理完成,若未能及时查询到交易请求已经被处理完成,则认为可能存在节点故障导致的交易请求丢失,这时区块链客户端会重新向节点发送交易请求。
当前的交易处理机制中,由于区块链客户端需要在发送交易请求后继续维护交易请求,并需要定期查询向区块链查询交易请求是否已经处理完成,而且可能会重复向节点发送交易请求。因此,当前的交易机制中对区块链客户端的资源占用较多,且对区块链客户端的资源占用时间较长,可能会影响区块链客户端的正常使用。
发明内容
本申请的目的旨在至少能解决上述的技术缺陷之一。本申请所采用的技术方案如下:
第一方面,本申请实施例提供了一种交易请求的处理方法,该方法包括:
当接收到终端设备发送的交易请求时,转发交易请求以使区块链中目标数量的第二区块链节点均接收到交易请求,并分别指定各第二区块链节点对交易请求的响应条件,各响应条件不重叠;
在获得交易请求的处理结果之前,若当前的区块链数据不满足响应条件,则由第一区块链节点对交易请求进行处理;若当前的区块链数据满足响应条件,则由当前区块数据所满足的响应条件对应第二区块链节点对交易请求进行处理。
可选地,响应条件包括以下任一项:
预设的区块链高度;
预设的区块链时间戳。
可选地,转发交易请求以使区块链中目标数量的第二区块链节点均接收到交易请求,包括:
向区块链中目标数量的第二区块链节点转发交易请求,并接收第二区块链节点在接收到交易请求时的反馈信息;
确定在预设时长内是否接收到了所有第二区块链节点的反馈信息;
若未接收到,则重复执行向区块链中目标数量的第二区块链节点转发交易请求,并接收第二区块链节点在接收到交易请求时的反馈信息的步骤,直至预设时长内接收到了所有第二区块链节点的反馈信息。
可选地,在接收到了所有第二区块链节点的反馈信息之后,上述方法还包括:
返回所有第二区块链节点均接收到了交易请求的提示信息。
可选地,若由第一区块链节点对交易请求进行处理并获得交易请求的处理结果,则由第一区块链节点向终端设备返回响应信息。
可选地,在获得交易请求的处理结果之后,上述方法还包括:
删除交易请求。
第二方面,本申请实施例提供另一种交易请求的处理方法,该方法包括:
接收区块链中的第一区块链节点转发的来自终端设备的交易请求,并获取第二区块链节点对交易请求的响应条件;
在获得交易请求的处理结果之前,若当前的区块链数据满足响应条件,则由第二区块链节点对交易请求进行处理。
可选地,在接收到交易请求后,上述方法还包括:
向第一区块链节点返回接收到交易请求时的反馈信息。
可选地,上述方法还包括:
在由第二区块链节点对交易请求进行处理并获得交易请求的处理结果之后,由第二区块链节点向终端设备返回响应信息。
第三方面,本申请实施例提供了一种交易请求的处理装置,该装置包括:
交易请求转发模块,用于在接收到终端设备发送的交易请求时,转发交易请求以使区块链中目标数量的第二区块链节点均接收到交易请求,并分别指定各第二区块链节点对交易请求的响应条件,各响应条件不重叠;
交易请求的处理模块,用于在获得交易请求的处理结果之前,若当前的区块链数据不满足响应条件,则由第一区块链节点对交易请求进行处理;若当前的区块链数据满足响应条件,则由当前区块数据所满足的响应条件对应第二区块链节点对交易请求进行处理。
可选地,响应条件包括以下任一项:
预设的区块链高度;
预设的区块链时间戳。
可选地,交易请求转发模块在转发交易请求以使区块链中目标数量的第二区块链节点均接收到交易请求时,具体用于:
向区块链中目标数量的第二区块链节点转发交易请求,并接收第二区块链节点在接收到交易请求时的反馈信息;
确定在预设时长内是否接收到了所有第二区块链节点的反馈信息;
若未接收到,则重复执行向区块链中目标数量的第二区块链节点转发交易请求,并接收第二区块链节点在接收到交易请求时的反馈信息的步骤,直至预设时长内接收到了所有第二区块链节点的反馈信息。
可选地,上述装置还包括:
提示信息返回模块,用于在接收到了所有第二区块链节点的反馈信息之后,返回所有第二区块链节点均接收到了交易请求的提示信息。
可选地,上述装置还包括:
响应信息返回模块,用于当由第一区块链节点对交易请求进行处理并获得交易请求的处理结果时,由第一区块链节点向终端设备返回响应信息。
可选地,上述装置还包括:
删除模块,用于在获得交易请求的处理结果之后,删除交易请求。
第四方面,本申请实施例提供了另一种交易请求的处理装置,该装置包括:
交易请求接收模块,用于接收区块链中的第一区块链节点转发的来自终端设备的交易请求,并获取第二区块链节点对交易请求的响应条件;
请求响应模块,用于在获得交易请求的处理结果之前,若当前的区块链数据满足响应条件,则由第二区块链节点对交易请求进行处理。
可选地,上述装置还包括:
反馈信息返回模块,用于在在接收到交易请求后,向第一区块链节点返回接收到交易请求时的反馈信息。
可选地,上述装置还包括:
响应信息返回模块,用于在由第二区块链节点对交易请求进行处理并获得交易请求的处理结果之后,由第二区块链节点向终端设备返回响应信息。
第五方面,本申请实施例提供了一种电子设备,该电子设备包括:处理器和存储器;
存储器,用于存储操作指令;
处理器,用于通过调用操作指令,执行如本申请的第一方面的任一实施方式中所示的交易请求的处理方法。
第六方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本申请的第一方面的任一实施方式中所示的交易请求的处理方法。
本申请实施例提供的技术方案带来的有益效果是:
本申请实施例提供的方案,通过在接收到终端设备发送的交易请求时,转发交易请求以使区块链中目标数量的第二区块链节点均接收到交易请求,在获得交易请求的处理结果之前,若当前的区块链数据不满足响应条件,则由第一区块链节点对交易请求进行处理;若当前的区块链数据满足响应条件,则由当前区块数据所满足的响应条件对应第二区块链节点对交易请求进行处理。基于本方案,通过将第一区块链请求接收到交易请求转发至目标数量的第二区块链节点,通过增加持有交易请求节点的数量,有效避免了交易请求的丢失,使得区块链客户端无需重复发出交易请求,因此区块链客户端可以在发出交易请求后不再继续维护交易请求,也无需定期向区块链查询交易请求是否已经处理完成,减少了对区块链客户端的资源占用量,也缩减了资源占用时间,有效保证了区块链客户端的正常使用。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种交易请求的处理方法的流程示意图;
图2为本申请实施例提供的另一种交易请求的处理方法的流程示意图;
图3为本申请实施例提供的一种交易请求的处理装置的结构示意图;
图4为本申请实施例提供的另一种交易请求的处理装置的结构示意图;
图5为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
对于节点故障导致交易请求丢失的情况,如果通过将交易请求在区块链的节点之间广播的方式增加响应节点,可以避免因个别节点的节点故障影响对交易请求的处理,但是这种方式可能会造成多个节点对交易请求的并行处理,造成区块链中额外的资源浪费。
另外,目前在交易请求被处理完成后,会向区块链客户端返回交易请求的响应信息(如转账交易处理完成后返回收据)。区块链客户端在接收到响应信息之前都会继续维护交易请求,而由于区块链节点可能存在节点故障导致交易请求的丢失,使得区块链客户端需要可能多次重复发送交易请求并等待交易请求处理完成后才能接收到响应信息。因此,区块链客户端对响应信息的等待时间可能会较长,并且区块链客户端维护交易请求的时间也会较长,导致对区块链客户端的资源的被较长占用。
本申请实施例提供的交易请求的处理方法、装置、电子设备及可读存储介质,旨在解决现有技术的如上技术问题中的至少一个。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图1示出了本申请实施例提供的一种交易请求的处理方法的流示意图,该方法应用于第一区块链节点,如图1所示,该方法主要可以包括:
步骤S110:当接收到终端设备发送的交易请求时,转发交易请求以使区块链中目标数量的第二区块链节点均接收到交易请求,并分别指定各第二区块链节点对交易请求的响应条件,各响应条件不重叠;
步骤S120:在获得交易请求的处理结果之前,若当前的区块链数据不满足响应条件,则由第一区块链节点对交易请求进行处理;若当前的区块链数据满足响应条件,则由当前区块数据所满足的响应条件对应第二区块链节点对交易请求进行处理。
本申请实施例中,终端设备上可以部署有区块链客户端。第一区块链节点可以与终端设备进行交互,接收终端设备发送的交易请求。
本申请实施例中,第一区块链节点可以向目标数量的第二区块链节点转发交易请求,增加持有交易请求的区块链节点的数量,能够避免因个别区块链节点的节点故障时,导致的交易请求丢失,使得交易请求的处理无法正常进行。通过增加持有交易请求的区块链节点的数量,使得持有交易请求的区块链节点中,即使部分区块链节点存在节点故障,仍可以由未发生故障的区块链节点对交易请求进行处理,能够保证对交易请求的处理。
目标数量可以根据实际需要进行指定,可以参考节点故障的概率,来设置目标数量,保证交易请求被转发到足够多的第二区块链节点时,即可保证交易请求不会被丢失,并且保证对交易请求的处理。
作为一个示例,节点故障的概率一般为5%,由于工业标准的一般要求中消息的丢失率不高于0.00001%,为了保证交易请求的丢失概率不高于0.00001%,即当交易请求进行N次转发后请求的丢失概率不高于0.00001%,(5%)N+1<0.00001%,故N>=5,因此,可以指定目标数量为5。
本申请实施例中,在对第二区块链节点转发交易请求时,可以设定第二区块链节点对于交易请求的响应条件,即在指定的区块链数据条件下,第二区块链节点才会对交易请求进行处理。
本申请实施例中,当第一区块链节点完成对各第二区块链节点的交易请求转发后,可以由第一区块链节点进行对交易请求的处理。具体而言,第一区块链节点可以将交易请求转发至第一区块链节点对应的共识节点,由第一区块链节点对应的共识节点进行出块,并将处理结果发送给第一区块链节点,第一区块链节点可以向终端设备返回交易请求的响应信息。
本申请实施例中,若第一区块链节点对应的共识节点出现故障,则可能会导致交易请求无法在第一区块链节点进行处理。可以指定当区块链数据满足第二区块链节点的响应条件时,认为第一区块链节点的共识节点可能出现了节点故障,已经无法继续处理交易请求,可以由第二区块链节点处理交易请求。第二区块链节点可以将交易请求转发至第二区块链节点对应的共识节点,由第二区块链节点对应的共识节点进行出块,并将处理结果发送给第二区块链节点,第二区块链节点可以向终端设备返回交易请求的响应信息。
本申请实施例中,如果各第二区块链节点与第一区块链节点对交易请求并行处理,则可能会造成对交易请求的重复处理,浪费资源。通过对第二区块链节点设置响应条件,使得在当前区块链数据在满足响应条件时,第二区块链节点才会对交易请求进行处理,并且通过将各第二区块链节点的响应条件相互区分,使得各响应条件不重叠,即使各第二区块链节点在处于不同的区块链数据情况下对交易请求进行处理,可以避免同时由多个第二区块链节点对交易请求进行处理。
本申请实施例提供的方法,通过在接收到终端设备发送的交易请求时,转发交易请求以使区块链中目标数量的第二区块链节点均接收到交易请求,在获得交易请求的处理结果之前,若当前的区块链数据不满足响应条件,则由第一区块链节点对交易请求进行处理;若当前的区块链数据满足响应条件,则由当前区块数据所满足的响应条件对应第二区块链节点对交易请求进行处理。基于本方案,通过将第一区块链请求接收到交易请求转发至目标数量的第二区块链节点,通过增加持有交易请求节点的数量,有效避免了交易请求的丢失,使得区块链客户端无需重复发出交易请求,因此区块链客户端可以在发出交易请求后不再继续维护交易请求,也无需定期向区块链查询交易请求是否已经处理完成,减少了对区块链客户端的资源占用量,也缩减了资源占用时间,有效保证了区块链客户端的正常使用。
本申请实施例提供的方法,在完成对各第二区块链节点的交易请求转发后,先由第一区块链节点对交易请求进行处理,并且在认为第一区块链节点无法对交易请求进行处理时,由当前区块链数据满足的响应条件对应的第二区块链节点处理交易请求,并且各响应条件不重叠,使各第二区块链节点在处于不同的区块链数据情况下对交易请求进行处理,避免了同时由多个第二区块链节点对交易请求进行并行处理造成额外的资源浪费。
本申请实施例的一种可选方式中,响应条件包括以下任一项:
预设的区块链高度;
预设的区块链时间戳。
本申请实施例中,区块链数据可以包括区块链高度或者区块链时间戳,响应条件即为预设的区块链高度或者预设的区块链时间戳。
作为一个示例,可以将对交易请求处理的生命周期指定为区块链高度[M+1,M+120],以目标数量为5为例,如果当区块链高度为M+20时,交易请求仍未被处理完成,可以认为第一区块链节点的共识节点存在故障,这时可以交由第二区块链节点进行交易请求的处理。可以将区块链高度[M+21,M+120]进行均匀拆分,得到各第二区块链节点的响应条件,如第二区块链节点a的响应条件为区块链高度[M+21,M+40],第二区块链节点b的响应条件为区块链高度[M+41,M+60],第二区块链节点c的响应条件为区块链高度[M+61,M+80],第二区块链节点d的响应条件为区块链高度[M+81,M+100],第二区块链节点e的响应条件为区块链高度[M+101,M+120]。如果当前的区块链高度属于[M+21,M+40],则由第二区块链节点a对交易请求进行处理;如果当前的区块链高度属于[M+41,M+60],则由第二区块链节点b对交易请求进行处理;如果当前的区块链高度属于[M+41,M+60],则由第二区块链节点b对交易请求进行处理;如果当前的区块链高度属于[M+61,M+80],则由第二区块链节点c对交易请求进行处理;如果当前的区块链高度属于[M+81,M+100],则由第二区块链节点d对交易请求进行处理;如果当前的区块链高度属于[M+101,M+120],则由第二区块链节点e对交易请求进行处理。
本申请实施例的一种可选方式中,转发交易请求以使区块链中目标数量的第二区块链节点均接收到交易请求,包括:
向区块链中目标数量的第二区块链节点转发交易请求,并接收第二区块链节点在接收到交易请求时的反馈信息;
确定在预设时长内是否接收到了所有第二区块链节点的反馈信息;
若未接收到,则重复执行向区块链中目标数量的第二区块链节点转发交易请求,并接收第二区块链节点在接收到交易请求时的反馈信息的步骤,直至预设时长内接收到了所有第二区块链节点的反馈信息。
本申请实施例中,为了确保所有第二区块链节点均接收到了交易请求,可以由第一区块链节点在发送交易请求后统计接收到的反馈信息,若未能及时接收到全部第二区块链节点的反馈信息,则重新转发交易请求,直至接收到所有第二区块链节点的反馈信息,这时可以认为所有第二区块链节点均接收到了交易请求。
本申请实施例中,在确定交易请求已经被第一区块链节点以及所有的第二区块链节点所持有后,可以由第一区块链节点向终端设备返回所有第二区块链节点均接收到了交易请求的提示信息。这时终端设备已经无需再次发送交易请求,因此可以不再继续维护交易请求,能够降低对区块链客户端的资源占用。
现有技术中,区块链客户端需要等待接收到交易请求处理完成的响应信息之后,再停止维护维护交易请求。本申请实施例中,能够快速向终端设备返回提示信息,相较于等待响应信息,等待时间较短,因此对交易请求的维护时间也较短,减少了对区块链客户端资源占用时间。
本申请实施例的一种可选方式中,在获得交易请求的处理结果之后,方法还包括:
删除交易请求。
本申请实施例,在交易请求处理完成后,第一区块链节点以及各第二区块链节点可以将持有的交易请求删除,减少对节点内存的占用。
图2示出了本申请实施例提供的另一种交易请求的处理方法的流示意图,该方法应用于第二区块链节点,如图2所示,该方法主要可以包括:
步骤S210:接收区块链中的第一区块链节点转发的来自终端设备的交易请求,并获取第二区块链节点对交易请求的响应条件;
步骤S220:在获得交易请求的处理结果之前,若当前的区块链数据满足响应条件,则由第二区块链节点对交易请求进行处理。
本申请实施例中,第二区块链节点可以在接收到第一区块链节点转发的来自终端设备的交易请求时,可以获取对应的响应条件。当前的区块链数据满足响应条件时,可以由第二区块链节点对交易请求进行处理。
本申请实施例提供的方法,通过在第二区块链节点均接收到交易请求,并在在获得交易请求的处理结果之前,若当前的区块链数据满足响应条件,则由当前区块数据所满足的响应条件对应第二区块链节点对交易请求进行处理。基于本方案,通过将第一区块链请求接收到交易请求转发至目标数量的第二区块链节点,通过增加持有交易请求节点的数量,有效避免了交易请求的丢失,使得区块链客户端无需重复发出交易请求,因此区块链客户端可以在发出交易请求后不再继续维护交易请求,也无需定期向区块链查询交易请求是否已经处理完成,减少了对区块链客户端的资源占用量,也缩减了资源占用时间,有效保证了区块链客户端的正常使用。
本申请实施例提供的方法,在完成对各第二区块链节点的交易请求转发后,先由第一区块链节点对交易请求进行处理,并且在认为第一区块链节点无法对交易请求进行处理时,由当前区块链数据满足的响应条件对应的第二区块链节点处理交易请求,并且各响应条件不重叠,使各第二区块链节点在处于不同的区块链数据情况下对交易请求进行处理,避免了同时由多个第二区块链节点对交易请求进行并行处理造成额外的资源浪费。
本申请实施例的一种可选方式中,在接收到交易请求后,方法还包括:
向第一区块链节点返回接收到交易请求时的反馈信息。
本申请实施例中,为了便于第一区块链节点对各第二区块链节点的交易请求接收情况进行统计,第二区块链节点可以在接收到交易请求后及时向第一区块链节点返回反馈信息。
本申请实施例的一种可选方式中,上述方法还包括:
在由第二区块链节点对交易请求进行处理并获得交易请求的处理结果之后,由第二区块链节点向终端设备返回响应信息。
本申请实施例中,第二区块链节点可以将交易请求转发至第二区块链节点对应的共识节点,由第二区块链节点对应的共识节点进行出块,并将处理结果发送给第二区块链节点,而后第二区块链节点可以向终端设备返回交易请求的响应信息。
基于与图1中所示的方法相同的原理,图3示出了本申请实施例提供的一种交易请求的处理装置的结构示意图,如图3所示,该交易请求的处理装置30可以包括:
交易请求转发模块310,用于在接收到终端设备发送的交易请求时,转发交易请求以使区块链中目标数量的第二区块链节点均接收到交易请求,并分别指定各第二区块链节点对交易请求的响应条件,各响应条件不重叠;
交易请求的处理模块320,用于在获得交易请求的处理结果之前,若当前的区块链数据不满足响应条件,则由第一区块链节点对交易请求进行处理;若当前的区块链数据满足响应条件,则由当前区块数据所满足的响应条件对应第二区块链节点对交易请求进行处理。
本申请实施例提供的装置,通过在接收到终端设备发送的交易请求时,转发交易请求以使区块链中目标数量的第二区块链节点均接收到交易请求,在获得交易请求的处理结果之前,若当前的区块链数据不满足响应条件,则由第一区块链节点对交易请求进行处理;若当前的区块链数据满足响应条件,则由当前区块数据所满足的响应条件对应第二区块链节点对交易请求进行处理。基于本方案,通过将第一区块链请求接收到交易请求转发至目标数量的第二区块链节点,通过增加持有交易请求节点的数量,有效避免了交易请求的丢失,使得区块链客户端无需重复发出交易请求,因此区块链客户端可以在发出交易请求后不再继续维护交易请求,也无需定期向区块链查询交易请求是否已经处理完成,减少了对区块链客户端的资源占用量,也缩减了资源占用时间,有效保证了区块链客户端的正常使用。
本申请实施例提供的装置,在完成对各第二区块链节点的交易请求转发后,先由第一区块链节点对交易请求进行处理,并且在认为第一区块链节点无法对交易请求进行处理时,由当前区块链数据满足的响应条件对应的第二区块链节点处理交易请求,并且各响应条件不重叠,使各第二区块链节点在处于不同的区块链数据情况下对交易请求进行处理,避免了同时由多个第二区块链节点对交易请求进行并行处理造成额外的资源浪费。
可选地,响应条件包括以下任一项:
预设的区块链高度;
预设的区块链时间戳。
可选地,交易请求转发模块在转发交易请求以使区块链中目标数量的第二区块链节点均接收到交易请求时,具体用于:
向区块链中目标数量的第二区块链节点转发交易请求,并接收第二区块链节点在接收到交易请求时的反馈信息;
确定在预设时长内是否接收到了所有第二区块链节点的反馈信息;
若未接收到,则重复执行向区块链中目标数量的第二区块链节点转发交易请求,并接收第二区块链节点在接收到交易请求时的反馈信息的步骤,直至预设时长内接收到了所有第二区块链节点的反馈信息。
可选地,上述装置还包括:
提示信息返回模块,用于在接收到了所有第二区块链节点的反馈信息之后,返回所有第二区块链节点均接收到了交易请求的提示信息。
可选地,上述装置还包括:
响应信息返回模块,用于当由第一区块链节点对交易请求进行处理并获得交易请求的处理结果时,由第一区块链节点向终端设备返回响应信息。
可选地,上述装置还包括:
删除模块,用于在获得交易请求的处理结果之后,删除交易请求。
可以理解的是,本实施例中的交易请求的处理装置的上述各模块具有实现图1中所示的实施例中的交易请求的处理方法相应步骤的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。上述模块可以是软件和/或硬件,上述各模块可以单独实现,也可以多个模块集成实现。对于上述交易请求的处理装置的各模块的功能描述具体可以参见图1中所示实施例中的交易请求的处理方法的对应描述,在此不再赘述。
基于与图2中所示的方法相同的原理,图4示出了本申请实施例提供的一种交易请求的处理装置的结构示意图,如图4所示,该交易请求的处理装置40可以包括:
交易请求接收模块410,用于接收区块链中的第一区块链节点转发的来自终端设备的交易请求,并获取第二区块链节点对交易请求的响应条件;
请求响应模块420,用于在获得交易请求的处理结果之前,若当前的区块链数据满足响应条件,则由第二区块链节点对交易请求进行处理。
本申请实施例提供的装置,通过在第二区块链节点均接收到交易请求,并在在获得交易请求的处理结果之前,若当前的区块链数据满足响应条件,则由当前区块数据所满足的响应条件对应第二区块链节点对交易请求进行处理。基于本方案,通过将第一区块链请求接收到交易请求转发至目标数量的第二区块链节点,通过增加持有交易请求节点的数量,有效避免了交易请求的丢失,使得区块链客户端无需重复发出交易请求,因此区块链客户端可以在发出交易请求后不再继续维护交易请求,也无需定期向区块链查询交易请求是否已经处理完成,减少了对区块链客户端的资源占用量,也缩减了资源占用时间,有效保证了区块链客户端的正常使用。
本申请实施例提供的装置,在完成对各第二区块链节点的交易请求转发后,先由第一区块链节点对交易请求进行处理,并且在认为第一区块链节点无法对交易请求进行处理时,由当前区块链数据满足的响应条件对应的第二区块链节点处理交易请求,并且各响应条件不重叠,使各第二区块链节点在处于不同的区块链数据情况下对交易请求进行处理,避免了同时由多个第二区块链节点对交易请求进行并行处理造成额外的资源浪费。
可选地,上述装置还包括:
反馈信息返回模块,用于在在接收到交易请求后,向第一区块链节点返回接收到交易请求时的反馈信息。
可选地,上述装置还包括:
响应信息返回模块,用于在由第二区块链节点对交易请求进行处理并获得交易请求的处理结果之后,由第二区块链节点向终端设备返回响应信息。
可以理解的是,本实施例中的交易请求的处理装置的上述各模块具有实现图2中所示的实施例中的交易请求的处理方法相应步骤的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。上述模块可以是软件和/或硬件,上述各模块可以单独实现,也可以多个模块集成实现。对于上述交易请求的处理装置的各模块的功能描述具体可以参见图2中所示实施例中的交易请求的处理方法的对应描述,在此不再赘述。
本申请实施例提供了一种电子设备,包括处理器和存储器;
存储器,用于存储操作指令;
处理器,用于通过调用操作指令,执行本申请任一实施方式中所提供的交易请求的处理方法。
作为一个示例,图5示出了本申请实施例所适用的一种电子设备的结构示意图,如图5所示,该电子设备2000包括:处理器2001和存储器2003。其中,处理器2001和存储器2003相连,如通过总线2002相连。可选的,电子设备2000还可以包括收发器2004。需要说明的是,实际应用中收发器2004不限于一个,该电子设备2000的结构并不构成对本申请实施例的限定。
其中,处理器2001应用于本申请实施例中,用于实现上述方法实施例所示的方法。收发器2004可以包括接收机和发射机,收发器2004应用于本申请实施例中,用于执行时实现本申请实施例的电子设备与其他设备通信的功能。
处理器2001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器2001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线2002可包括一通路,在上述组件之间传送信息。总线2002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线2002可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器2003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
可选的,存储器2003用于存储执行本申请方案的应用程序代码,并由处理器2001来控制执行。处理器2001用于执行存储器2003中存储的应用程序代码,以实现本申请任一实施方式中所提供的交易请求的处理方法。
本申请实施例提供的电子设备,适用于上述方法任一实施例,在此不再赘述。
本申请实施例提供了一种电子设备,与现有技术相比,通过在接收到终端设备发送的交易请求时,转发交易请求以使区块链中目标数量的第二区块链节点均接收到交易请求,在获得交易请求的处理结果之前,若当前的区块链数据不满足响应条件,则由第一区块链节点对交易请求进行处理;若当前的区块链数据满足响应条件,则由当前区块数据所满足的响应条件对应第二区块链节点对交易请求进行处理。基于本方案,通过将第一区块链请求接收到交易请求转发至目标数量的第二区块链节点,通过增加持有交易请求节点的数量,有效避免了交易请求的丢失,使得区块链客户端无需重复发出交易请求,因此区块链客户端可以在发出交易请求后不再继续维护交易请求,也无需定期向区块链查询交易请求是否已经处理完成,减少了对区块链客户端的资源占用量,也缩减了资源占用时间,有效保证了区块链客户端的正常使用。在完成对各第二区块链节点的交易请求转发后,先由第一区块链节点对交易请求进行处理,并且在认为第一区块链节点无法对交易请求进行处理时,由当前区块链数据满足的响应条件对应的第二区块链节点处理交易请求,并且各响应条件不重叠,使各第二区块链节点在处于不同的区块链数据情况下对交易请求进行处理,避免了同时由多个第二区块链节点对交易请求进行并行处理造成额外的资源浪费。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述方法实施例所示的交易请求的处理方法。
本申请实施例提供的计算机可读存储介质,适用于上述方法任一实施例,在此不再赘述。
本申请实施例提供了一种计算机可读存储介质,与现有技术相比,通过在接收到终端设备发送的交易请求时,转发交易请求以使区块链中目标数量的第二区块链节点均接收到交易请求,在获得交易请求的处理结果之前,若当前的区块链数据不满足响应条件,则由第一区块链节点对交易请求进行处理;若当前的区块链数据满足响应条件,则由当前区块数据所满足的响应条件对应第二区块链节点对交易请求进行处理。基于本方案,通过将第一区块链请求接收到交易请求转发至目标数量的第二区块链节点,通过增加持有交易请求节点的数量,有效避免了交易请求的丢失,使得区块链客户端无需重复发出交易请求,因此区块链客户端可以在发出交易请求后不再继续维护交易请求,也无需定期向区块链查询交易请求是否已经处理完成,减少了对区块链客户端的资源占用量,也缩减了资源占用时间,有效保证了区块链客户端的正常使用。在完成对各第二区块链节点的交易请求转发后,先由第一区块链节点对交易请求进行处理,并且在认为第一区块链节点无法对交易请求进行处理时,由当前区块链数据满足的响应条件对应的第二区块链节点处理交易请求,并且各响应条件不重叠,使各第二区块链节点在处于不同的区块链数据情况下对交易请求进行处理,避免了同时由多个第二区块链节点对交易请求进行并行处理造成额外的资源浪费。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (13)
1.一种交易请求的处理方法,其特征在于,应用于区块链中的第一区块链节点,所述方法包括:
当接收到终端设备发送的交易请求时,转发所述交易请求以使所述区块链中目标数量的第二区块链节点均接收到所述交易请求,并分别指定各第二区块链节点对所述交易请求的响应条件,各所述响应条件不重叠;
在获得所述交易请求的处理结果之前,若当前的区块链数据不满足所述响应条件,则由所述第一区块链节点对所述交易请求进行处理;若当前的区块链数据满足所述响应条件,则由当前区块数据所满足的响应条件对应第二区块链节点对所述交易请求进行处理。
2.根据权利要求1所述的方法,其特征在于,所述响应条件包括以下任一项:
预设的区块链高度;
预设的区块链时间戳。
3.根据权利要求1所述的方法,其特征在于,所述转发所述交易请求以使所述区块链中目标数量的第二区块链节点均接收到所述交易请求,包括:
向所述区块链中目标数量的第二区块链节点转发所述交易请求,并接收所述第二区块链节点在接收到所述交易请求时的反馈信息;
确定在预设时长内是否接收到了所有所述第二区块链节点的所述反馈信息;
若未接收到,则重复执行向所述区块链中目标数量的第二区块链节点转发所述交易请求,并接收所述第二区块链节点在接收到所述交易请求时的反馈信息的步骤,直至预设时长内接收到了所有所述第二区块链节点的所述反馈信息。
4.根据权利要求3所述的方法,其特征在于,在接收到了所有所述第二区块链节点的所述反馈信息之后,所述方法还包括:
返回所有所述第二区块链节点均接收到了所述交易请求的提示信息。
5.根据权利要求1所述的方法,其特征在于,还包括:
若由所述第一区块链节点对所述交易请求进行处理并获得所述交易请求的处理结果,则由所述第一区块链节点向所述终端设备返回响应信息。
6.根据权利要求1-5中任一项所述的方法,其特征在于,在获得所述交易请求的处理结果之后,所述方法还包括:
删除所述交易请求。
7.一种交易请求的处理方法,其特征在于,应用于区块链中的第二区块链节点,所述方法包括:
接收所述区块链中的第一区块链节点转发的来自终端设备的交易请求,并获取所述第二区块链节点对所述交易请求的响应条件;各第二区块链节点对所述交易请求的响应条件不重叠;
在获得所述交易请求的处理结果之前,若当前的区块链数据满足所述响应条件,则由所述第二区块链节点对所述交易请求进行处理。
8.根据权利要求7所述的方法,其特征在于,在接收到所述交易请求后,所述方法还包括:
向所述第一区块链节点返回接收到所述交易请求时的反馈信息。
9.根据权利要求7或8所述的方法,其特征在于,还包括:
在由所述第二区块链节点对所述交易请求进行处理并获得所述交易请求的处理结果之后,由所述第二区块链节点向所述终端设备返回响应信息。
10.一种交易请求的处理装置,其特征在于,应用于区块链中的第一区块链节点,包括:
交易请求转发模块,用于在接收到终端设备发送的交易请求时,转发所述交易请求以使所述区块链中目标数量的第二区块链节点均接收到所述交易请求,并分别指定各第二区块链节点对所述交易请求的响应条件,各所述响应条件不重叠;
交易请求的处理模块,用于在获得所述交易请求的处理结果之前,若当前的区块链数据不满足所述响应条件,则由所述第一区块链节点对所述交易请求进行处理;若当前的区块链数据满足所述响应条件,则由当前区块数据所满足的响应条件对应第二区块链节点对所述交易请求进行处理。
11.一种交易请求的处理装置,其特征在于,应用于区块链中的第二区块链节点,包括:
交易请求接收模块,用于接收所述区块链中的第一区块链节点转发的来自终端设备的交易请求,并获取所述第二区块链节点对所述交易请求的响应条件;各第二区块链节点对所述交易请求的响应条件不重叠;
请求响应模块,用于在获得所述交易请求的处理结果之前,若当前的区块链数据满足所述响应条件,则由所述第二区块链节点对所述交易请求进行处理。
12.一种电子设备,其特征在于,包括处理器和存储器;
所述存储器,用于存储操作指令;
所述处理器,用于通过调用所述操作指令,执行权利要求1-9中任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010665975.1A CN111917572B (zh) | 2020-07-12 | 2020-07-12 | 交易请求的处理方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010665975.1A CN111917572B (zh) | 2020-07-12 | 2020-07-12 | 交易请求的处理方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111917572A CN111917572A (zh) | 2020-11-10 |
CN111917572B true CN111917572B (zh) | 2022-10-25 |
Family
ID=73227754
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010665975.1A Active CN111917572B (zh) | 2020-07-12 | 2020-07-12 | 交易请求的处理方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111917572B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108876608A (zh) * | 2018-05-30 | 2018-11-23 | 深圳乐信软件技术有限公司 | 一种区块链应用方法及系统 |
CN109391645A (zh) * | 2017-08-03 | 2019-02-26 | 中国移动通信有限公司研究院 | 区块链轻量化处理方法、区块链节点及存储介质 |
CN110933022A (zh) * | 2019-10-11 | 2020-03-27 | 深圳壹账通智能科技有限公司 | 区块处理方法、装置、计算机设备及存储介质 |
CN111183625A (zh) * | 2019-09-05 | 2020-05-19 | 阿里巴巴集团控股有限公司 | 用于在区块链网络中删除节点的系统和方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107040585B (zh) * | 2017-02-22 | 2020-06-19 | 创新先进技术有限公司 | 一种业务校验的方法及装置 |
-
2020
- 2020-07-12 CN CN202010665975.1A patent/CN111917572B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109391645A (zh) * | 2017-08-03 | 2019-02-26 | 中国移动通信有限公司研究院 | 区块链轻量化处理方法、区块链节点及存储介质 |
CN108876608A (zh) * | 2018-05-30 | 2018-11-23 | 深圳乐信软件技术有限公司 | 一种区块链应用方法及系统 |
CN111183625A (zh) * | 2019-09-05 | 2020-05-19 | 阿里巴巴集团控股有限公司 | 用于在区块链网络中删除节点的系统和方法 |
CN110933022A (zh) * | 2019-10-11 | 2020-03-27 | 深圳壹账通智能科技有限公司 | 区块处理方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111917572A (zh) | 2020-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210200681A1 (en) | Data storage method and apparatus, and server | |
CN110460412B (zh) | 用于数据传输的方法和rdma网卡 | |
CN111190854B (zh) | 通信数据处理方法、装置、设备、系统和存储介质 | |
CN108418859B (zh) | 写数据的方法和装置 | |
CN112084068A (zh) | 一种数据库远程备份方法、装置和云端服务器 | |
CN113496004A (zh) | 一种消息发送方法及装置 | |
CN107317742B (zh) | 消息处理方法及系统、计算机系统、计算机可读存储介质 | |
CN109684128B (zh) | 消息中间件的集群整体故障恢复方法、服务器及存储介质 | |
CN111913815A (zh) | 调用请求的处理方法、装置、电子设备及可读存储介质 | |
CN111917572B (zh) | 交易请求的处理方法、装置、电子设备及可读存储介质 | |
CN116506902B (zh) | 信令处理方法、装置、信令互通网关和存储介质 | |
EP3792757A1 (en) | Method, apparatus, device, and storage medium for performing processing task | |
CN110597794B (zh) | 数据处理方法、装置和电子设备 | |
CN109582242B (zh) | 级联存储阵列系统的地址确定方法、装置、电子设备 | |
CN111897826A (zh) | 参数信息更新方法、装置、电子设备及可读存储介质 | |
CN116155992A (zh) | 订阅资源的方法和装置 | |
CN112134907A (zh) | 消息处理方法、装置及设备 | |
CN111639129B (zh) | 交易处理方法、装置、电子设备及计算机可读存储介质 | |
CN113656374A (zh) | 带有附件的业务报文的处理方法及装置 | |
CN113660353A (zh) | 基于蓝牙Mesh的Provisioner地址管理的方法、装置、设备和介质 | |
CN111970091A (zh) | 一种通信方法、系统、设备及计算机可读存储介质 | |
CN112637121A (zh) | 数据端口的更新方法、装置、电子设备及可读存储介质 | |
CN112887124B (zh) | 5g基站的配置管理方法及装置 | |
CN117762652A (zh) | 基于消息中间件的分布式事务的处理方法及装置 | |
CN111917734B (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 |