CN115511486A - 交易处理方法、装置、介质及电子设备 - Google Patents
交易处理方法、装置、介质及电子设备 Download PDFInfo
- Publication number
- CN115511486A CN115511486A CN202110654338.9A CN202110654338A CN115511486A CN 115511486 A CN115511486 A CN 115511486A CN 202110654338 A CN202110654338 A CN 202110654338A CN 115511486 A CN115511486 A CN 115511486A
- Authority
- CN
- China
- Prior art keywords
- transaction
- node
- data
- block
- block chain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 32
- 230000002159 abnormal effect Effects 0.000 claims abstract description 80
- 238000012545 processing Methods 0.000 claims abstract description 76
- 238000001514 detection method Methods 0.000 claims abstract description 38
- 238000000034 method Methods 0.000 claims description 67
- 230000008569 process Effects 0.000 claims description 50
- 230000006399 behavior Effects 0.000 claims description 26
- 230000002452 interceptive effect Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 10
- 238000004806 packaging method and process Methods 0.000 claims description 8
- 238000012216 screening Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 4
- 230000003542 behavioural effect Effects 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 18
- 230000005540 biological transmission Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 6
- 238000011084 recovery Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000002547 anomalous effect Effects 0.000 description 1
- 230000001680 brushing effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
- G06Q20/102—Bill distribution or payments
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/308—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using the Internet of Things
-
- 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
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- 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
- G06Q2220/00—Business processing using cryptography
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Technology Law (AREA)
- Computing Systems (AREA)
- Marketing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请属于区块链技术领域,具体涉及一种交易处理方法、交易处理装置、计算机可读介质以及电子设备。该交易处理方法,包括:根据区块链网络中记录的交易数据对各个区块链节点进行可用性检测,以确定各个所述区块链节点为正常节点或者异常节点;当所述异常节点上产生交易请求时,将所述交易请求传输至所述正常节点,以通过所述异常节点和所述正常节点共同处理所述交易请求。本申请实施例可以提高交易业务的连续性和稳定可靠性。
Description
技术领域
本申请属于区块链技术领域,具体涉及一种交易处理方法、交易处理装置、计算机可读介质以及电子设备。
背景技术
在体量庞大的线上及线下交易业务中,不可避免地会出现因设备故障或者其他原因而导致交易异常或者交易失败的问题。如何能够快速且准确的消除故障是确保交易业务的业务连续性和稳定可靠性的关键所在。
发明内容
本申请的目的在于提供一种交易处理方法、交易处理装置、计算机可读介质以及电子设备,至少在一定程度上克服相关技术中存在的故障处理效率低、业务连续性差、稳定可靠性差等技术问题。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供一种交易处理方法,该方法包括:根据区块链网络中记录的交易数据对各个区块链节点进行可用性检测,以确定各个所述区块链节点为正常节点或者异常节点;当所述异常节点上产生交易请求时,将所述交易请求传输至所述正常节点,以通过所述异常节点和所述正常节点共同处理所述交易请求。
根据本申请实施例的一个方面,提供一种交易处理装置,该装置包括:检测模块,被配置为根据区块链网络中记录的交易数据对各个区块链节点进行可用性检测,以确定各个所述区块链节点为正常节点或者异常节点;处理模块,被配置为当所述异常节点上产生交易请求时,将所述交易请求传输至所述正常节点,以通过所述异常节点和所述正常节点共同处理所述交易请求。
在本申请的一些实施例中,基于以上技术方案,所述检测模块包括:缓存模块,被配置为将区块链网络上产生的交易数据保存至交易缓存池;打包模块,被配置为当满足预设的区块上链条件时,对所述交易缓存池中保存的交易数据进行打包处理,以生成待上链的当前区块;当前区块检测模块,被配置为根据所述当前区块中记录的交易数据对各个区块链节点进行可用性检测。
在本申请的一些实施例中,基于以上技术方案,所述当前区块检测模块包括:统计模块,被配置为根据所述当前区块中记录的交易数据统计各个区块链节点的交易失败次数和交易失败率;异常确定模块,被配置为若所述区块链节点的交易失败次数和交易失败率均达到对应的参数阈值,则确定所述区块链节点为存在可用性故障的异常节点;正常确定模块,被配置为若所述区块链节点的交易失败次数和交易失败率中的任意一项未达到对应的参数阈值,则确定所述区块链节点为具有可用性的正常节点。
在本申请的一些实施例中,基于以上技术方案,所述统计模块包括:失败次数统计模块,被配置为根据所述当前区块中记录的交易数据统计各个区块链节点的交易失败次数;失败率统计模块,被配置为若所述交易失败次数达到预设的次数阈值,则统计所述区块链节点的交易失败率。
在本申请的一些实施例中,基于以上技术方案,所述统计模块还被配置为:对所述当前区块中记录的交易数据进行完整性校验,以确定所述交易数据是否具有完整的交易流程;若所述交易数据的交易流程不完整,则确定所述交易数据为交易失败的数据;获取所述交易数据中记录的处理所述交易数据的区块链节点的节点标识;按照所述节点标识对所述交易失败的数据进行统计,得到各个区块链节点的交易失败次数。
在本申请的一些实施例中,基于以上技术方案,所述统计模块还被配置为:按照交易流程对所述当前区块中记录的交易数据进行数据筛选,得到发起交易时生成的交易起点数据;获取用于表示所述交易起点数据所在交易流程的流程标识;根据所述流程标识,将所述交易起点数据与所述当前区块中记录的其他交易数据进行匹配检测,以确定所述当前区块中是否存在与所述交易起点数据具有相同流程标识的交易终点数据,所述交易终点数据是在结束交易时生成的数据;若所述当前区块中存在与所述交易起点数据具有相同流程标识的交易终点数据,则确定所述交易数据具有完整的交易流程;若所述当前区块中不存在与所述交易起点数据具有相同流程标识的交易终点数据,则确定所述交易数据的交易流程不完整。
在本申请的一些实施例中,基于以上技术方案,所述检测模块还包括:历史区块获取模块,被配置为获取最近链接至所述区块链上的一个或者多个历史区块;历史区块检测模块,被配置为根据所述历史区块中记录的交易数据对各个区块链节点进行可用性检测。
在本申请的一些实施例中,基于以上技术方案,所述处理模块包括:目标选取模块,被配置为从所述区块链网络的正常节点中选取当前处于空闲状态的目标节点;通道建立模块,被配置为在所述异常节点与所述目标节点之间建立用于进行数据通信的数据通道;请求传输模块,被配置为基于所述数据通道,将所述交易请求从所述异常节点传输至所述目标节点。
在本申请的一些实施例中,基于以上技术方案,所述目标选取模块包括:矿工节点选取模块,被配置为从所述区块链网络中选取空闲度最高的区块链节点,作为用于打包当前区块的矿工节点;目标节点选取模块,被配置为通过所述矿工节点从所述区块链网络的正常节点中选取当前处于空闲状态的目标节点。
在本申请的一些实施例中,基于以上技术方案,所述矿工节点选取模块被配置为:按照预设时间周期统计所述区块链网络中各个区块链节点的交易数量;根据最近上链的预设数量的区块中记录的交易数据对所述各个区块链节点的交易数量进行筛选,得到各个区块链节点的近期交易数量;将所述近期交易数量最小的区块链节点选作空闲度最高的区块链节点。
在本申请的一些实施例中,基于以上技术方案,所述处理模块还包括:行为数据流传输模块,被配置为通过所述异常节点获取与所述交易请求相关联的行为数据流,并将所述行为数据流传输至所述正常节点,所述行为数据流包括通过所述异常节点的交互界面采集到的交互行为数据;结果数据流传输模块,被配置为通过所述正常节点上的后台处理线程对所述行为数据流进行处理,以得到作为所述行为数据流的响应数据的结果数据流,并将所述结果数据流传输至所述异常节点;结果数据流展示模块,被配置为在所述异常节点的交互界面上展示所述结果数据流。
在本申请的一些实施例中,基于以上技术方案,所述交易处理装置还包括:前台处理模块,被配置为若所述正常节点上产生新的交易请求,则通过所述正常节点上的前台处理线程对所述新的交易请求进行处理,以得到所述新的交易请求的交易处理结果,所述前台处理线程是与所述后台处理线程并发运行的线程;前台展示模块,被配置为在所述正常节点的交互界面上展示所述新的交易请求的交易处理结果。
根据本申请实施例的一个方面,提供一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如以上技术方案中的交易处理方法。
根据本申请实施例的一个方面,提供一种电子设备,该电子设备包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器被配置为经由执行所述可执行指令来执行如以上技术方案中的交易处理方法。
根据本申请实施例的一个方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行如以上技术方案中的交易处理方法。
在本申请实施例提供的技术方案中,通过在异常节点与正常节点之间进行数据传输,可以实现由正常节点与异常节点共同进行交易处理的方案,不仅解决了交易异常或交易失败的问题,而且可以避免出现交易中断的问题,提高了交易业务的连续性和稳定可靠性,可以为业务系统长期提供稳定可靠的自主调控的容灾恢复能力。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了一种区块链系统的组成示意图。
图2示出了在区块链网络上维护的区块链的组成结构。
图3示出了一种新区块的产生过程示意图。
图4示意性地示出了本申请一个实施例中的交易处理方法的步骤流程图。
图5示出了本申请一个实施例中生成交易数据的业务流程图。
图6示意性地示出了本申请一个实施例中进行故障检测的业务流程图。
图7示意性地示出了本申请一个实施例中进行故障恢复的业务流程图。
图8示意性地示出了本申请一个实施例中对区块链节点进行可用性检测的步骤流程图。
图9示意性地示出了本申请一个实施例中统计交易失败次数的步骤流程图。
图10示意性地示出了本申请的一个实施例中进行交易请求传输的步骤流程图。
图11示意性地示出了本申请一个实施例中异常节点与正常节点共同处理交易请求的步骤流程图。
图12示意性地示出了本申请实施例提供的交易处理装置的结构框图。
图13示意性示出了适于用来实现本申请实施例的电子设备的计算机系统结构框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本申请实施例提供的技术方案主要涉及基于区块链(Block Chain)技术实现的网络支付、转账等交易业务场景,可以借助区块链技术的智能合约和区块内容检测对线下设备的业务处理状态和能力做出调控,从而确保业务系统具备较强的业务连续性和稳定可靠性。
区块链是一种在对等网络环境下,通过透明和可信规则构建的防伪造、防篡改和可追溯的共享的具有块链式数据结构(chained-block data structure)的数字化账本。块链式数据结构是将一段时间内发生的事务处理以区块为单位进行存储,并以密码学算法将区块按时间顺序连接成链条的一种数据结构。账本分发给网络中的所有成员节点,在通过哈希密码算法链接的区块的顺序链中,永久记录网络中的对等节点之间发生的资产交易的历史记录。所有经过确认和证明的交易都从链的开头一直链接到最新的区块,因此得名区块链。区块链可以充当单一事实来源,而且区块链网络中的成员只能查看与他们相关的交易。
图1示出了一种区块链系统的组成示意图,区块链系统100可以包括至少一个客户端110和区块链网络120,区块链网络120包括至少一个区块链节点121。客户端110可以是智能手机、平板电脑、笔记本电脑、台式电脑、智能穿戴设备、智能车载设备、智能支付终端、面部识别终端等各种电子设备,通过安装相应的客户端应用程序,可以向用户提供区块链数据服务。区块链节点121可以是终端设备或者服务器,例如区块链节点121可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群,还可以是提供云计算服务的云服务器。
在区块链网络120中,每个区块链节点121在进行正常工作时可以接收到输入信息,并基于接收到的输入信息维护区块链网络内的共享数据。为了保证信息互通,各个区块链节点121之间可以存在信息连接,各个区块链节点121相互可以通过信息连接进行信息传输。例如,当区块链网络120中的任意区块链节点121接收到输入信息,并将输入信息在区块链网络120中进行广播时,区块链网络120中的其他节点设备可以根据共识算法获取该输入信息,将该输入信息作为共享数据进行存储。
对于区块链网络120中的每个区块链节点121,均具有与其对应的节点标识,而且区块链网络120中的每个区块链节点121均可以存储同一区块链网络中的其他区块链节点的节点标识,以便后续根据其他区块链节点的节点标识,将生成的区块广播至区块链网络120中的其他节点。区块链节点121中可维护一个如表1所示的节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为IP(Internet Protocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息,表1是以IP地址为例的节点标识列表。
表1
节点名称 | 节点标识 |
节点1 | 117.114.151.174 |
节点2 | 117.116.189.145 |
… | … |
节点N | 119.123.789.258 |
图2示出了在区块链网络上维护的区块链的组成结构。如图2所示,区块链由多个顺次连接的区块组成,每当有新的数据需要写入区块链时,这些数据会汇总到一个新生成的区块中,新生成的区块将被链接至区块链的末端,通过共识算法可以保证每个节点设备121上新增的区块是完全相同的。在每个区块的区块体中记录了当前区块的数据,同时在其区块头中保存与之相连的前一区块的哈希值(Hash),若前一区块中的交易数据发生变化,那么当前区块的哈希值也将随之改变。因此,上传至区块链网络中的数据难以被篡改,可以提高共享数据的可靠性。
图3示出了一种新区块的产生过程示意图。如图3所示,在生成区块链中的各个区块时,首先由区块链节点对接收到的输入信息进行校验,完成校验后,将输入信息存储至内存池中,并更新其用于记录输入信息的哈希树;之后,将更新时间戳更新为接收到输入信息的时间,并尝试不同的随机数,多次进行特征值计算,使得计算得到的特征值可以满足下述公式:
SHA256(SHA256(version+prev_hash+merkle_root+ntime+nbits+x))<TARGET
其中,SHA256为计算特征值所用的特征值算法;version(版本号)为区块链中相关区块协议的版本信息;prev_hash为当前区块的父区块的区块头特征值;merkle_root为输入信息的特征值;ntime为更新时间戳的更新时间;nbits为当前难度,在一段时间内为定值,并在超出固定时间段后再次进行确定;x为随机数;TARGET为特征值阈值,该特征值阈值可以根据nbits确定得到。
这样,当计算得到满足上述公式的随机数时,便可将信息对应存储,生成区块头和区块主体,得到当前区块。随后,区块链所在节点根据数据共享系统中其他节点的节点标识,将新生成的区块分别发送给其所在的数据共享系统中的其他节点,由其他节点对新生成的区块进行校验,并在完成校验后将新生成的区块添加至其存储的区块链中。
下面结合具体实施方式对本申请提供的交易处理方法、交易处理装置、计算机可读介质以及电子设备等技术方案做出详细说明。
图4示意性地示出了本申请一个实施例中的交易处理方法的步骤流程图,该交易处理方法可以由图1所示的作为客户端的终端设备执行,也可以由区块链网络中的区块链节点执行。本申请实施例以区块链节点执行的交易处理方法为例进行说明,如图4所示,该交易处理方法可以包括如下的步骤S410至步骤S420。
步骤S410:根据区块链网络中记录的交易数据对各个区块链节点进行可用性检测,以确定各个区块链节点为正常节点或者异常节点。
在本申请的一个实施例中,基于线下所有的物联网(Internet of things,IOT)设备建立一个区块链网络,每个区块可以视为一个包含设备交易细节+时间戳+区块哈希的加密文件,本申请实施例中规定区块的大小为20M,单笔交易完整的记录约为1k左右。
图5示出了本申请一个实施例中生成交易数据的业务流程图。如图5所示,由节点集群组成的区块链网络上维护一区块链,每个节点上存储有区块链网络的交易系统、和智能合约,以及在区块链节点本地生成的多个区块。例如,节点1中存储区块1至区块3,节点2上存储区块4至区块6,节点3上存储区块7至区块9。每个区块可以视为是包括多个交易记录的加密文件,该加密文件使用对称密钥的方式进行加解密,每台IOT设备都具备唯一的解密密钥被烧录在设备系统层Rom中,无法通过技术手段强制获取。通过私有密钥,每台IOT设备都可以获取到加密区块中的数据信息。当在区块链节点上产生交易时,可以选取一个矿工节点将交易记录写入到区块中,然后再经过上链操作将该区块链接到区块链上。
图6示意性地示出了本申请一个实施例中进行故障检测的业务流程图。如图6所示,矿工节点可以获取由区块链节点在区块链网络中进行广播的交易记录,利用矿工节点上配置的智能合约可以对产生交易记录的各个区块链节点执行可用性检测,基于检测结果可以得到表示节点类型的结果回执,例如可以确定哪些区块链节点为异常节点,哪些区块链节点为正常节点。异常节点上搭载的交易系统被标记为故障系统,正常节点上搭载的交易系统被比较为可用系统。
步骤S420:当异常节点上产生交易请求时,将交易请求传输至正常节点,以通过异常节点和正常节点共同处理交易请求。
图7示意性地示出了本申请一个实施例中进行故障恢复的业务流程图。如图7所示,当矿工节点判断某个区块链节点发生出现异常时,会从交易账本中获取交易正常且空闲的设备作为正常节点,并从网络中通知异常节点和正常节点之间建立数据通信通道(长连接)。
异常节点会接收到来自矿工节点的数据信息,其中附带正常节点的唯一标识和IP信息,故障节点根据这些信息与正常节点建立连接,当异常节点出现交易时,可以将设备与外界交互的条件转化为数据信息(例如点击事件、刷脸事件等),并将这些信息通过连接传输给可用节点。
当正常节点接收到来自异常节点的数据流,会利用自身的系统可用性帮助异常节点处理数据流,并将该数据流的处理结果返还给异常节点。该过程正常节点并不在界面上有任何的展示,如果该过程正常节点被用来执行了自身的交易(当前在处理异常节点的交易),那么会开启一个新的线程来并发的执行该过程,但是自身交易的执行过程会被返还到界面上作交互展示。
当正常节点处理完异常节点的交易数据后,会将交易的结果返还给异常节点,由异常节点完成结果的展示(支付是否成功、扣了用户多少钱、减免多少钱等等)。
至此,异常节点借助正常节点的可用系统通过数据流的转发完成了容灾恢复。
在本申请实施例提供的交易处理方法中,通过在异常节点与正常节点之间进行数据传输,可以实现由正常节点与异常节点共同进行交易处理的方案,不仅解决了交易异常或交易失败的问题,而且可以避免出现交易中断的问题,提高了交易业务的连续性和稳定可靠性,可以为业务系统长期提供稳定可靠的自主调控的容灾恢复能力。
图8示意性地示出了本申请一个实施例中对区块链节点进行可用性检测的步骤流程图。如图8所示,在以上实施例的基础上,步骤S410中的根据区块链网络中记录的交易数据对各个区块链节点进行可用性检测,可以包括如下的步骤S810至步骤S830。
步骤S810:将区块链网络上产生的交易数据保存至交易缓存池。
每个区块链节点上均可以自行维护一个交易缓存池,当区块链网络上产生交易数据后,便可以将其暂时存储在交易缓存池中,等待上链处理。
步骤S820:当满足预设的区块上链条件时,对交易缓存池中保存的交易数据进行打包处理,以生成待上链的当前区块。
区块上链条件例如可以包括时间条件或者容量条件,时间条件是区块链网络中距离上一区块的链接时间已达到指定的时间阈值,容量条件是交易缓存池中的交易数量得到指定的数量阈值或者存储容量阈值。
打包上链的操作一般可以由矿工节点执行,在生成待上链的当前区块后,矿工节点可以将当前区块广播到区块链网络中,由区块链网络中的共识节点对其进行共识认证,并在认证通过后将当前区块链接至区块链上。然后可以继续在已清空的交易缓存池中继续积累新的交易数据。
步骤S830:根据当前区块中记录的交易数据对各个区块链节点进行可用性检测。
在本申请的一个实施例中,根据当前区块中记录的交易数据对各个区块链节点进行可用性检测的方法包括:根据当前区块中记录的交易数据统计各个区块链节点的交易失败次数和交易失败率;若区块链节点的交易失败次数和交易失败率均达到对应的参数阈值,则确定区块链节点为存在可用性故障的异常节点;若区块链节点的交易失败次数和交易失败率中的任意一项未达到对应的参数阈值,则确定区块链节点为具有可用性的正常节点。
在本申请实施例中,可以同时统计每个区块链节点的交易失败次数和交易失败率。如果一个区块链节点的交易失败次数和交易失败率均较大,即表明该区块链节点具有极大的可能是异常节点。
在本申请的一个实施例中,根据当前区块中记录的交易数据统计各个区块链节点的交易失败次数和交易失败率的方法可以包括:根据当前区块中记录的交易数据统计各个区块链节点的交易失败次数;若交易失败次数达到预设的次数阈值,则统计区块链节点的交易失败率。
在本申请实施例中,首先统计各个区块链节点的交易失败次数,针对交易失败次数达到次数阈值的区块链节点,再进一步统计其交易失败率。对于交易失败次数低于次数阈值的区块链节点,可以直接确定其为正常节点,而不必统计其交易失败率。
举例而言,若当前区块中某个区块链节点的交易失败次数达到5次以上,则开始统计其交易失败率以进行故障判断。如果该区块链节点的交易失败率大于80%,则可以判定该区块链节点存在可用性故障,为异常节点。针对该异常节点需要对其进行容灾恢复,以避免在该异常节点上继续出现交易异常或交易失败等问题。
图9示意性地示出了本申请一个实施例中统计交易失败次数的步骤流程图。如图9所示,在以上实施例的基础上,根据当前区块中记录的交易数据统计各个区块链节点的交易失败次数的方法可以包括如下的步骤S910至步骤S940。
步骤S910:对当前区块中记录的交易数据进行完整性校验,以确定交易数据是否具有完整的交易流程。
步骤S920:若交易数据的交易流程不完整,则确定交易数据为交易失败的数据。
步骤S930:获取交易数据中记录的处理交易数据的区块链节点的节点标识。
步骤S940:按照节点标识对交易失败的数据进行统计,得到各个区块链节点的交易失败次数。
区块内容主要由交易数据构成,交易数据会分为两部分,一个是开始交易的起点,一个是交易结束的终点,这两条数据可以通过单一的流程标识session进行关联,使得通过唯一交易起点数据可以找到其对应的交易终点数据。与此同时,基于智能合约来对每个区块的交易状况进行调节,由于每个节点(刷脸IOT设备)在进行交易的时候,对单一流程的交易信息(起点和终点)都会写入到指定的某个区块中,所以对智能合约而言,可以知道任意一个区块的交易情况从而判断节点的可用性。本申请实施例可以对一个区块内记录的所有交易记录进行头尾匹配,对于某个交易记录只有头而没有尾的记录,我们认定是交易失败的记录,当整个区块记录结束,通过智能合约统筹对应区块中发生的失败交易总数,并按节点标识进行分组统计,确立每个节点交易失败的次数。
基于以上记录交易流程的方式,在本申请的一个实施例中,对当前区块中记录的交易数据进行完整性校验的方法可以包括:按照交易流程对当前区块中记录的交易数据进行数据筛选,得到发起交易时生成的交易起点数据;获取用于表示交易起点数据所在交易流程的流程标识;根据流程标识,将交易起点数据与当前区块中记录的其他交易数据进行匹配检测,以确定当前区块中是否存在与交易起点数据具有相同流程标识的交易终点数据,交易终点数据是在结束交易时生成的数据;若当前区块中存在与交易起点数据具有相同流程标识的交易终点数据,则确定交易数据具有完整的交易流程;若当前区块中不存在与交易起点数据具有相同流程标识的交易终点数据,则确定交易数据的交易流程不完整。
在本申请的一个实施例中,除了根据待上链的当前区块进行可用性检测以外,也可以获取最近链接至区块链上的一个或者多个历史区块,并根据历史区块中记录的交易数据对各个区块链节点进行可用性检测。
在本申请的一个实施例中,还可以将一个或者多个历史区块与待上链的当前区块进行交易数据合并,从而在合并得到的交易数据中对各个区块链节点进行可用性检测。
图10示意性地示出了本申请的一个实施例中进行交易请求传输的步骤流程图。如图10所示,在以上实施例的基础上,步骤S420中的将交易请求传输至正常节点,可以包括如下的步骤S1010至步骤S1030。
步骤S1010:从区块链网络的正常节点中选取当前处于空闲状态的目标节点。
通过监测每个正常节点的工作状态,可以确定各个正常节点是否正在处理交易业务,若某个正常节点当前并未进行业务处理,则可以确定该正常节点处于空闲状态,可以将其作为候选节点。当存在多个处于空闲状态的候选节点时,本申请实施例可以从中随机选择一个节点作为目标节点。
在本申请的一个实施例中,本步骤也可以同时选取多个目标节点,使得多个目标节点相互之间形成主节点和备用节点的关系,从而可以提高交易业务的处理可靠性和处理效率。
步骤S1020:在异常节点与目标节点之间建立用于进行数据通信的数据通道。
本申请实施例可以将目标节点的网络访问地址发送至异常节点,使得异常节点可以发起建立与目标节点之间的数据通道。其中,网络访问地址可以包括互联网协议IP地址和端口号PORT。在异常节点与目标节点之间建立的数据通道例如可以是基于TCP通信协议的长连接通道。
步骤S1030:基于数据通道,将交易请求从异常节点传输至目标节点。
在建立数据通道后,异常节点与目标节点之间可以进行点对点的数据传输,从而实现由异常节点和正常节点共同进行交易处理的方案。
在本申请的一个实施例中,步骤S1010中的从区块链网络的正常节点中选取当前处于空闲状态的目标节点,可以包括:从区块链网络中选取空闲度最高的区块链节点,作为用于打包当前区块的矿工节点;通过矿工节点从区块链网络的正常节点中选取当前处于空闲状态的目标节点。
在本申请的一个实施例中,从区块链网络中选取空闲度最高的区块链节点的方法可以包括:按照预设时间周期统计区块链网络中各个区块链节点的交易数量;根据最近上链的预设数量的区块中记录的交易数据对各个区块链节点的交易数量进行筛选,得到各个区块链节点的近期交易数量;将近期交易数量最小的区块链节点选作空闲度最高的区块链节点。
举例而言,本申请实施例可以规定每个区块链节点每隔12小时上报一次该节点上处理的交易情况,每产生一笔交易即记为交易数量加1,未产生交易即记交易数量为0。本申请实施例可以取连续三个区块中记录的交易数据,对各个区块链节点统计到的交易数量进行筛选后得到近期交易数量,然后按照近期交易数量从低到高的顺序进行排列形成节点列表,选取该节点列表中排序最靠前的一个节点作为空闲度最高的区块链节点,进而将该节点作为矿工节点进行区块打包和上链。
图11示意性地示出了本申请一个实施例中异常节点与正常节点共同处理交易请求的步骤流程图。如图11所示,在以上实施例的基础上,步骤S420中的通过异常节点和正常节点共同处理交易请求,可以包括如下的步骤S1110至步骤S1150。
步骤S1110:通过异常节点获取与交易请求相关联的行为数据流,并将行为数据流传输至正常节点,行为数据流包括通过异常节点的交互界面采集到的交互行为数据。
步骤S1120:通过正常节点上的后台处理线程对行为数据流进行处理,以得到作为行为数据流的响应数据的结果数据流,并将结果数据流传输至异常节点。
步骤S1130:在异常节点的交互界面上展示结果数据流。
步骤S1140:若正常节点上产生新的交易请求,则通过正常节点上的前台处理线程对新的交易请求进行处理,以得到新的交易请求的交易处理结果,前台处理线程是与后台处理线程并发运行的线程。
步骤S1150:在正常节点的交互界面上展示新的交易请求的交易处理结果。
在本申请实施例中,正常节点可以通过后台处理线程对异常节点上产生的交易请求进行处理,并将处理结果仍然在异常节点上进行可视化展示,使得用户对节点故障检测和故障修复完全无感知。而当正常节点上自身产生新的交易请求时,可以利用并发运行的前台处理线程进行交易处理,与后台运行的针对异常节点的交易处理过程之间不会产生任何影响。
应当注意,尽管在附图中以特定顺序描述了本申请中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的交易处理方法。
图12示意性地示出了本申请实施例提供的交易处理装置的结构框图。如图12所示,交易处理装置1200主要可以包括:检测模块1210,被配置为根据区块链网络中记录的交易数据对各个区块链节点进行可用性检测,以确定各个所述区块链节点为正常节点或者异常节点;处理模块1220,被配置为当所述异常节点上产生交易请求时,将所述交易请求传输至所述正常节点,以通过所述异常节点和所述正常节点共同处理所述交易请求。
在本申请的一些实施例中,基于以上各实施例,所述检测模块1210包括:缓存模块,被配置为将区块链网络上产生的交易数据保存至交易缓存池;打包模块,被配置为当满足预设的区块上链条件时,对所述交易缓存池中保存的交易数据进行打包处理,以生成待上链的当前区块;当前区块检测模块,被配置为根据所述当前区块中记录的交易数据对各个区块链节点进行可用性检测。
在本申请的一些实施例中,基于以上各实施例,所述当前区块检测模块包括:统计模块,被配置为根据所述当前区块中记录的交易数据统计各个区块链节点的交易失败次数和交易失败率;异常确定模块,被配置为若所述区块链节点的交易失败次数和交易失败率均达到对应的参数阈值,则确定所述区块链节点为存在可用性故障的异常节点;正常确定模块,被配置为若所述区块链节点的交易失败次数和交易失败率中的任意一项未达到对应的参数阈值,则确定所述区块链节点为具有可用性的正常节点。
在本申请的一些实施例中,基于以上各实施例,所述统计模块包括:失败次数统计模块,被配置为根据所述当前区块中记录的交易数据统计各个区块链节点的交易失败次数;失败率统计模块,被配置为若所述交易失败次数达到预设的次数阈值,则统计所述区块链节点的交易失败率。
在本申请的一些实施例中,基于以上各实施例,所述统计模块还被配置为:对所述当前区块中记录的交易数据进行完整性校验,以确定所述交易数据是否具有完整的交易流程;若所述交易数据的交易流程不完整,则确定所述交易数据为交易失败的数据;获取所述交易数据中记录的处理所述交易数据的区块链节点的节点标识;按照所述节点标识对所述交易失败的数据进行统计,得到各个区块链节点的交易失败次数。
在本申请的一些实施例中,基于以上各实施例,所述统计模块还被配置为:按照交易流程对所述当前区块中记录的交易数据进行数据筛选,得到发起交易时生成的交易起点数据;获取用于表示所述交易起点数据所在交易流程的流程标识;根据所述流程标识,将所述交易起点数据与所述当前区块中记录的其他交易数据进行匹配检测,以确定所述当前区块中是否存在与所述交易起点数据具有相同流程标识的交易终点数据,所述交易终点数据是在结束交易时生成的数据;若所述当前区块中存在与所述交易起点数据具有相同流程标识的交易终点数据,则确定所述交易数据具有完整的交易流程;若所述当前区块中不存在与所述交易起点数据具有相同流程标识的交易终点数据,则确定所述交易数据的交易流程不完整。
在本申请的一些实施例中,基于以上各实施例,所述检测模块1210还包括:历史区块获取模块,被配置为获取最近链接至所述区块链上的一个或者多个历史区块;历史区块检测模块,被配置为根据所述历史区块中记录的交易数据对各个区块链节点进行可用性检测。
在本申请的一些实施例中,基于以上各实施例,所述处理模块1220包括:目标选取模块,被配置为从所述区块链网络的正常节点中选取当前处于空闲状态的目标节点;通道建立模块,被配置为在所述异常节点与所述目标节点之间建立用于进行数据通信的数据通道;请求传输模块,被配置为基于所述数据通道,将所述交易请求从所述异常节点传输至所述目标节点。
在本申请的一些实施例中,基于以上各实施例,所述目标选取模块包括:矿工节点选取模块,被配置为从所述区块链网络中选取空闲度最高的区块链节点,作为用于打包当前区块的矿工节点;目标节点选取模块,被配置为通过所述矿工节点从所述区块链网络的正常节点中选取当前处于空闲状态的目标节点。
在本申请的一些实施例中,基于以上各实施例,所述矿工节点选取模块被配置为:按照预设时间周期统计所述区块链网络中各个区块链节点的交易数量;根据最近上链的预设数量的区块中记录的交易数据对所述各个区块链节点的交易数量进行筛选,得到各个区块链节点的近期交易数量;将所述近期交易数量最小的区块链节点选作空闲度最高的区块链节点。
在本申请的一些实施例中,基于以上各实施例,所述处理模块1220还包括:行为数据流传输模块,被配置为通过所述异常节点获取与所述交易请求相关联的行为数据流,并将所述行为数据流传输至所述正常节点,所述行为数据流包括通过所述异常节点的交互界面采集到的交互行为数据;结果数据流传输模块,被配置为通过所述正常节点上的后台处理线程对所述行为数据流进行处理,以得到作为所述行为数据流的响应数据的结果数据流,并将所述结果数据流传输至所述异常节点;结果数据流展示模块,被配置为在所述异常节点的交互界面上展示所述结果数据流。
在本申请的一些实施例中,基于以上各实施例,所述交易处理装置1200还包括:前台处理模块,被配置为若所述正常节点上产生新的交易请求,则通过所述正常节点上的前台处理线程对所述新的交易请求进行处理,以得到所述新的交易请求的交易处理结果,所述前台处理线程是与所述后台处理线程并发运行的线程;前台展示模块,被配置为在所述正常节点的交互界面上展示所述新的交易请求的交易处理结果。
本申请各实施例中提供的交易处理装置的具体细节已经在对应的方法实施例中进行了详细的描述,此处不再赘述。
图13示意性地示出了用于实现本申请实施例的电子设备的计算机系统结构框图。
需要说明的是,图13示出的电子设备的计算机系统1300仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图13所示,计算机系统1300包括中央处理器1301(Central Processing Unit,CPU),其可以根据存储在只读存储器1302(Read-Only Memory,ROM)中的程序或者从存储部分1308加载到随机访问存储器1303(Random Access Memory,RAM)中的程序而执行各种适当的动作和处理。在随机访问存储器1303中,还存储有系统操作所需的各种程序和数据。中央处理器1301、在只读存储器1302以及随机访问存储器1303通过总线1304彼此相连。输入/输出接口1305(Input/Output接口,即I/O接口)也连接至总线1304。
以下部件连接至输入/输出接口1305:包括键盘、鼠标等的输入部分1306;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1307;包括硬盘等的存储部分1308;以及包括诸如局域网卡、调制解调器等的网络接口卡的通信部分1309。通信部分1309经由诸如因特网的网络执行通信处理。驱动器1310也根据需要连接至输入/输出接口1305。可拆卸介质1311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1310上,以便于从其上读出的计算机程序根据需要被安装入存储部分1308。
特别地,根据本申请的实施例,各个方法流程图中所描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1309从网络上被下载和安装,和/或从可拆卸介质1311被安装。在该计算机程序被中央处理器1301执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (15)
1.一种交易处理方法,其特征在于,包括:
根据区块链网络中记录的交易数据对各个区块链节点进行可用性检测,以确定各个所述区块链节点为正常节点或者异常节点;
当所述异常节点上产生交易请求时,将所述交易请求传输至所述正常节点,以通过所述异常节点和所述正常节点共同处理所述交易请求。
2.根据权利要求1所述的交易处理方法,其特征在于,根据区块链网络中记录的交易数据对各个区块链节点进行可用性检测,包括:
将区块链网络上产生的交易数据保存至交易缓存池;
当满足预设的区块上链条件时,对所述交易缓存池中保存的交易数据进行打包处理,以生成待上链的当前区块;
根据所述当前区块中记录的交易数据对各个区块链节点进行可用性检测。
3.根据权利要求2所述的交易处理方法,其特征在于,根据所述当前区块中记录的交易数据对各个区块链节点进行可用性检测,包括:
根据所述当前区块中记录的交易数据统计各个区块链节点的交易失败次数和交易失败率;
若所述区块链节点的交易失败次数和交易失败率均达到对应的参数阈值,则确定所述区块链节点为存在可用性故障的异常节点;
若所述区块链节点的交易失败次数和交易失败率中的任意一项未达到对应的参数阈值,则确定所述区块链节点为具有可用性的正常节点。
4.根据权利要求3所述的交易处理方法,其特征在于,根据所述当前区块中记录的交易数据统计各个区块链节点的交易失败次数和交易失败率,包括:
根据所述当前区块中记录的交易数据统计各个区块链节点的交易失败次数;
若所述交易失败次数达到预设的次数阈值,则统计所述区块链节点的交易失败率。
5.根据权利要求3所述的交易处理方法,其特征在于,根据所述当前区块中记录的交易数据统计各个区块链节点的交易失败次数,包括:
对所述当前区块中记录的交易数据进行完整性校验,以确定所述交易数据是否具有完整的交易流程;
若所述交易数据的交易流程不完整,则确定所述交易数据为交易失败的数据;
获取所述交易数据中记录的处理所述交易数据的区块链节点的节点标识;
按照所述节点标识对所述交易失败的数据进行统计,得到各个区块链节点的交易失败次数。
6.根据权利要求5所述的交易处理方法,其特征在于,对所述当前区块中记录的交易数据进行完整性校验,包括:
按照交易流程对所述当前区块中记录的交易数据进行数据筛选,得到发起交易时生成的交易起点数据;
获取用于表示所述交易起点数据所在交易流程的流程标识;
根据所述流程标识,将所述交易起点数据与所述当前区块中记录的其他交易数据进行匹配检测,以确定所述当前区块中是否存在与所述交易起点数据具有相同流程标识的交易终点数据,所述交易终点数据是在结束交易时生成的数据;
若所述当前区块中存在与所述交易起点数据具有相同流程标识的交易终点数据,则确定所述交易数据具有完整的交易流程;
若所述当前区块中不存在与所述交易起点数据具有相同流程标识的交易终点数据,则确定所述交易数据的交易流程不完整。
7.根据权利要求2所述的交易处理方法,其特征在于,根据区块链网络中记录的交易数据对各个区块链节点进行可用性检测,还包括:
获取最近链接至所述区块链上的一个或者多个历史区块;
根据所述历史区块中记录的交易数据对各个区块链节点进行可用性检测。
8.根据权利要求1所述的交易处理方法,其特征在于,将所述交易请求传输至所述正常节点,包括:
从所述区块链网络的正常节点中选取当前处于空闲状态的目标节点;
在所述异常节点与所述目标节点之间建立用于进行数据通信的数据通道;
基于所述数据通道,将所述交易请求从所述异常节点传输至所述目标节点。
9.根据权利要求8所述的交易处理方法,其特征在于,从所述区块链网络的正常节点中选取当前处于空闲状态的目标节点,包括:
从所述区块链网络中选取空闲度最高的区块链节点,作为用于打包当前区块的矿工节点;
通过所述矿工节点从所述区块链网络的正常节点中选取当前处于空闲状态的目标节点。
10.根据权利要求9所述的交易处理方法,其特征在于,从所述区块链网络中选取空闲度最高的区块链节点,包括:
按照预设时间周期统计所述区块链网络中各个区块链节点的交易数量;
根据最近上链的预设数量的区块中记录的交易数据对所述各个区块链节点的交易数量进行筛选,得到各个区块链节点的近期交易数量;
将所述近期交易数量最小的区块链节点选作空闲度最高的区块链节点。
11.根据权利要求1所述的交易处理方法,其特征在于,通过所述异常节点和所述正常节点共同处理所述交易请求,包括:
通过所述异常节点获取与所述交易请求相关联的行为数据流,并将所述行为数据流传输至所述正常节点,所述行为数据流包括通过所述异常节点的交互界面采集到的交互行为数据;
通过所述正常节点上的后台处理线程对所述行为数据流进行处理,以得到作为所述行为数据流的响应数据的结果数据流,并将所述结果数据流传输至所述异常节点;
在所述异常节点的交互界面上展示所述结果数据流。
12.根据权利要求11所述的交易处理方法,其特征在于,通过所述正常节点上的后台处理线程对所述行为数据流进行处理时,所述方法还包括:
若所述正常节点上产生新的交易请求,则通过所述正常节点上的前台处理线程对所述新的交易请求进行处理,以得到所述新的交易请求的交易处理结果,所述前台处理线程是与所述后台处理线程并发运行的线程;
在所述正常节点的交互界面上展示所述新的交易请求的交易处理结果。
13.一种交易处理装置,其特征在于,包括:
检测模块,被配置为根据区块链网络中记录的交易数据对各个区块链节点进行可用性检测,以确定各个所述区块链节点为正常节点或者异常节点;
处理模块,被配置为当所述异常节点上产生交易请求时,将所述交易请求传输至所述正常节点,以通过所述异常节点和所述正常节点共同处理所述交易请求。
14.一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现权利要求1至12中任意一项所述的交易处理方法。
15.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至12中任意一项所述的交易处理方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110654338.9A CN115511486A (zh) | 2021-06-07 | 2021-06-07 | 交易处理方法、装置、介质及电子设备 |
JP2023534602A JP2023553067A (ja) | 2021-06-07 | 2022-05-06 | トランザクション処理方法、装置、電子機器及びコンピュータプログラム |
PCT/CN2022/091063 WO2022257656A1 (zh) | 2021-06-07 | 2022-05-06 | 交易处理方法、装置、介质及电子设备 |
EP22819258.9A EP4231221A4 (en) | 2021-06-07 | 2022-05-06 | TRANSACTION PROCESSING METHOD AND APPARATUS, MEDIUM AND ELECTRONIC DEVICE |
US17/992,688 US20230089235A1 (en) | 2021-06-07 | 2022-11-22 | Transaction processing method and apparatus, medium, and electronic device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110654338.9A CN115511486A (zh) | 2021-06-07 | 2021-06-07 | 交易处理方法、装置、介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115511486A true CN115511486A (zh) | 2022-12-23 |
Family
ID=84425467
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110654338.9A Pending CN115511486A (zh) | 2021-06-07 | 2021-06-07 | 交易处理方法、装置、介质及电子设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230089235A1 (zh) |
EP (1) | EP4231221A4 (zh) |
JP (1) | JP2023553067A (zh) |
CN (1) | CN115511486A (zh) |
WO (1) | WO2022257656A1 (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106548330B (zh) * | 2016-10-27 | 2018-03-16 | 上海亿账通区块链科技有限公司 | 基于区块链的交易验证方法及系统 |
CN107886328B (zh) * | 2017-11-23 | 2021-01-26 | 深圳壹账通智能科技有限公司 | 交易处理方法、装置、计算机设备及存储介质 |
US20200167779A1 (en) * | 2018-11-27 | 2020-05-28 | Akamai Technologies, Inc. | High performance distributed system of record with confidence-based consensus |
WO2019072295A2 (en) * | 2018-12-13 | 2019-04-18 | Alibaba Group Holding Limited | EXECUTING A RECOVERY PROCESS FOR A NETWORK NODE IN A DISTRIBUTED SYSTEM |
CN109756582B (zh) * | 2019-03-15 | 2022-08-12 | 腾讯科技(深圳)有限公司 | 区块链网络中的信息记录方法、装置、节点及存储介质 |
CN111652728B (zh) * | 2020-06-17 | 2024-06-28 | 深圳前海微众银行股份有限公司 | 一种交易处理方法及装置 |
-
2021
- 2021-06-07 CN CN202110654338.9A patent/CN115511486A/zh active Pending
-
2022
- 2022-05-06 JP JP2023534602A patent/JP2023553067A/ja active Pending
- 2022-05-06 WO PCT/CN2022/091063 patent/WO2022257656A1/zh active Application Filing
- 2022-05-06 EP EP22819258.9A patent/EP4231221A4/en active Pending
- 2022-11-22 US US17/992,688 patent/US20230089235A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230089235A1 (en) | 2023-03-23 |
EP4231221A1 (en) | 2023-08-23 |
WO2022257656A1 (zh) | 2022-12-15 |
JP2023553067A (ja) | 2023-12-20 |
EP4231221A4 (en) | 2024-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108681565B (zh) | 区块链数据并行处理方法、装置、设备和存储介质 | |
US11973869B2 (en) | Maintaining blocks of a blockchain in a partitioned blockchain network | |
CN109087101B (zh) | 交易校验方法、装置、存储介质及电子设备 | |
CN112650762B (zh) | 数据质量监控的方法、装置、电子设备以及存储介质 | |
CN109361740B (zh) | 一种区块链的区块生成方法、装置、设备和介质 | |
CN112291372B (zh) | 区块链的异步落账方法、装置、介质及电子设备 | |
CN109657492B (zh) | 数据库管理方法、介质及电子设备 | |
CN111275438B (zh) | 区块链网络的共识方法、装置、设备和存储介质 | |
CN110581887B (zh) | 数据处理方法、装置、区块链节点及存储介质 | |
CN112714192A (zh) | 数据同步方法、装置、计算机可读介质及电子设备 | |
CN110851535A (zh) | 基于区块链的数据处理方法、装置、存储介质及终端 | |
CN109871263B (zh) | 线下区块链系统的运行方法、装置、设备及存储介质 | |
CN111343212B (zh) | 消息处理方法、装置、设备以及存储介质 | |
CN116991948A (zh) | 区块数据同步系统和方法、电子设备和存储介质 | |
CN113342893A (zh) | 基于区块链的节点同步方法、装置、存储介质及服务器 | |
CN115511486A (zh) | 交易处理方法、装置、介质及电子设备 | |
CN113364874B (zh) | 基于区块链的节点同步方法、装置、存储介质及服务器 | |
CN115589298A (zh) | 区块链的信息验证方法、装置和系统、设备、介质 | |
CN113179273A (zh) | 基于区块链侧链的区块头验证方法、装置和计算机可读存储介质 | |
CN115842866A (zh) | 数据处理方法、装置、计算机可读介质及电子设备 | |
CN114138786A (zh) | 一种联机交易消息去重方法、装置、介质、产品和设备 | |
CN111401889B (zh) | 基于区块链的信用数据处理方法、装置、设备和介质 | |
CN113987062A (zh) | 一种数据上链存储方法、系统、装置以及存储介质 | |
CN111752911A (zh) | 一种基于Flume的数据传输方法、系统、终端及存储介质 | |
CN112463887A (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: 40079480 Country of ref document: HK |