CN116232744A - 业务数据处理方法、装置和计算机可读存储介质 - Google Patents
业务数据处理方法、装置和计算机可读存储介质 Download PDFInfo
- Publication number
- CN116232744A CN116232744A CN202310261340.9A CN202310261340A CN116232744A CN 116232744 A CN116232744 A CN 116232744A CN 202310261340 A CN202310261340 A CN 202310261340A CN 116232744 A CN116232744 A CN 116232744A
- Authority
- CN
- China
- Prior art keywords
- consensus
- node
- data processing
- nodes
- service 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- 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
- H04L67/1059—Inter-group management mechanisms, e.g. splitting, merging or interconnection of groups
-
- 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
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
- H04L67/1065—Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了业务数据处理方法、装置和计算机可读存储介质,应用于区块链技术领域。基于上述方法,可以先通过改造基于区块链的数据处理系统中的共识结构,在数据处理系统中划分出参与共识操作的至少第一数量个共识节点组,并使得每一个共识节点包括一个主节点和多个副节点在内的至少第二数量个节点;客户终端与上述数据处理系统再基于上述共识结构改进得到的预设的共识规则,通过多次的数据交互,进行多重共识操作,并在确定多重共识依次通过的情况下,进行相应的目标业务数据处理。从而能够较好地保护数据处理系统的安全性和可靠性,提高系统抗攻击能力;同时,也能够使得数据处理系统中的共识结构的配置相对更加灵活,提高系统整体的共识效率。
Description
技术领域
本申请属于区块链技术领域,尤其涉及业务数据处理方法、装置和计算机可读存储介质。
背景技术
在区块链技术领域,为了确保业务数据处理的一致性和安全性,常常会采用共识机制来实现具体的业务数据处理。
但是,基于现有的共识方法,系统在具体进行业务数据处理时,容错性相对较差,并且抗攻击能力相对较弱,导致系统整体的安全性和可靠性不能满足越来越高的业务要求;同时,基于现有的共识方法(例如,POS、DPOS等),往往无法灵活地配置和调整系统中的节点数量,导致系统运行较为繁琐,共识效率相对较低,进而会对系统整体的业务数据处理效率造成影响,尤其当系统的规模较大时,上述问题会更为明显。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本申请提供了一种业务数据处理方法、装置和计算机可读存储介质,能够较好地保护数据处理系统的安全性和可靠性,提高系统抗攻击能力;同时,也能够使得数据处理系统中的共识结构的配置相对更加灵活,提高系统整体的共识效率。
本申请提供了一种业务数据处理方法,应用于客户终端,所述方法包括:
向数据处理系统发送第一检测报文;其中,数据处理系统为基于区块链的分布式处理系统,所述数据处理系统至少包括第一数量个共识节点组,所述共识节点组至少包括第二数量个节点,所述共识节点组包括一个主节点和多个副节点;所述多个共识节点组的主节点根据预设的共识规则对第一检测报文进行第一共识操作,并在确定对第一检测报文的第一共识通过的情况下,分别向客户终端反馈第一共识结果消息;
接收并统计第一时长内所接收到的第一共识结果消息的数量;
检测第一共识结果消息的数量是否大于预设的数量阈值;
在确定第一共识结果消息的数量大于预设的数量阈值的情况下,向数据处理系统发送目标业务数据处理请求;其中,所述各个共识节点组中的主节点和副节点分别根据预设的共识规则在所属的共识节点组中对目标业务数据处理请求进行第二共识操作;第一类主节点根据预设的共识规则与其他第一类主节点对目标业务数据处理请求进行第三共识操作;其中,第一类主节点为对目标业务数据处理请求的第二共识通过的共识节点组中的主节点;
接收第一类主节点反馈的第二共识结果消息;其中,在第一类共识节点对目标业务数据处理请求的第三共识通过的情况下,第一类共识节点向客户终端反馈第二共识结果消息;所述数据处理系统中的节点响应目标业务数据处理请求进行相应的目标业务数据处理。
在一个实施例中,在向数据处理系统发送第一检测报文之前,所述方法还包括:
向数据处理系统中的各个节点发送第二检测报文;其中,所述第二检测报文用于检测数据处理系统中的各个节点的节点状态;数据处理系统中的各个节点响应所述第二检测报文,反馈当前状态信息;
接收并根据数据处理系统中的节点的当前状态信息,确定数据处理系统的当前状态是否符合业务数据处理条件。
在一个实施例中,所述当前状态信息包括以下至少之一:节点的总数量、在线节点数量、节点的节点标识、节点所属的共识节点组的节点组标识、节点的通信状态参数。
在一个实施例中,在接收并根据数据处理系统中的节点的当前状态信息,确定数据处理系统的当前状态是否符合业务数据处理条件之后,所述方法还包括:
在确定数据处理系统的当前状态不符合业务数据处理条件的情况下,间隔第二时长后,向数据处理系统中的各个节点重新发送第二检测报文。
在一个实施例中,所述第一检测报文还携带有目标业务数据处理请求的关联信息;其中,所述关联信息包括以下至少之一:与目标业务数据处理请求相关的数据处理操作的操作类型、目标业务数据处理请求所针对的目标业务数据的数据类型、与目标业务数据处理请求相关的用户标识。
在一个实施例中,所述多个共识节点组的主节点根据预设的共识规则对第一检测报文进行第一共识操作,包括:
所述多个共识节点组的主节点根据预设的共识规则,分别生成针对第一检测报文的第一确认信息,并将该第一确认信息发送至其他共识节点组的主节点;
所述多个共识节点组的主节点分别统计并检测所接收到的第一确认信息的数量与共识节点组的组数的比值是否大于预设的第一比例阈值;
所述共识节点组的主节点在确定所接收到的第一确认信息的数量与共识节点组的组数的比值大于预设的第一比例阈值的情况下,确定对第一检测报文的第一共识通过。
在一个实施例中,所述数据处理系统还包括监测节点;
相应的,在确定对第一检测报文的第一共识通过之后,所述方法还包括:
监测节点采集并根据共识节点组的主节点所发送的第一确认信息,确定主节点中的正常主节点和异常主节点;
根据预设的奖励规则,增加正常主节点的奖励数据,并减少异常主节点的奖励数据。
在一个实施例中,在所述多个共识节点组的主节点分别统计并检测所接收到的第一确认信息的数量与共识节点组的组数的比值是否大于预设的第一比例阈值之后,所述方法还包括:
所述共识节点组的主节点在确定所接收到的第一确认信息的数量与共识节点组的组数的比值小于等于预设的第一比例阈值的情况下,生成主节点异常提示信息,并将所述主节点异常提示信息发送至监测节点;
监测节点响应所述主节点异常提示信息,根据多个共识节点组的主节点的第一确认信息的发送数量,确定出异常主节点,以及异常主节点所属的异常共识节点组;
监测节点向所述异常共识节点组发送重选主节点指令;其中,所述异常共识节点组中的节点响应所述重选主节点指令,根据预设的共识规则,重新选举并确定出该共识节点组的主节点。
在一个实施例中,所述各个共识节点组中的主节点和副节点分别根据预设的共识规则在所属的共识节点组中对目标业务数据处理请求进行第二共识操作,包括:
所述共识节点组中的主节点和副节点根据预设的共识规则,在所属的共识节点组中对目标业务数据处理请求进行验证,在确定验证通过的情况下,生成并向所述的共识节点组中的其他节点发送验证通过信息;
所述共识节点组中的副节点在确定所接收到的验证通过信息的数量与所属的共识节点组中的节点数量的比值大于预设的第二比例阈值的情况下,向所属的共识节点组中的主节点发送第二确认信息;
所述共识节点组中的主节点统计并检测所接收到的第二确认信息的数量与所属的共识节点组中的节点数量的比值是否大于预设的第二比例阈值;
所述共识节点组中的主节点,在确定所接收到的第二确认信息的数量与所属的共识节点组中的节点数量的比值大于预设的第二比例阈值的情况下,确定所属的共识节点组对目标业务数据处理请求的第二共识通过。
在一个实施例中,在所述共识节点组中的主节点统计并检测所接收到的第二确认信息的数量与所属的共识节点组中的节点数量的比值是否大于预设的第二比例阈值之后,所述方法还包括:
所述共识节点组中的主节点在确定所接收到的第二确认信息的数量与所属的共识节点组中的节点数量的比值小于等于预设的第二比例阈值的情况下,检测所属的共识节点组中是否存在故障节点,和/或,所属的共识节点组中是否存在奖励数据不符合要求的异常节点;
在确定所属的共识节点组中存在故障节点和/或异常节点的情况下,主节点调用数据处理系统中的备用节点替换所述故障节点和/或异常节点。
在一个实施例中,第一类主节点根据预设的共识规则与其他第一类主节点对目标业务数据处理请求进行第三共识操作,包括:
第一类主节点根据预设的共识规则,生成并向其他主节点发送第三确认信息;
第一类主节点统计并检测所接收到的第三确认信息的数量与共识节点组的组数的比值是否大于预设的第三比例阈值;
第一类主节点在确定所接收到的第三确认信息的数量与共识节点组的组数的比值大于预设的第三比例阈值的情况下,确定对目标业务数据处理请求的第三共识通过。
本申请还提供了一种业务数据处理方法,应用于数据处理系统中的主节点,其中,所述数据处理系统为基于区块链的分布式处理系统,所述数据处理系统至少包括第一数量个共识节点组,所述共识节点组至少包括第二数量个节点,所述共识节点组包括一个主节点和多个副节点,所述方法包括:
接收客户终端发送的第一检测报文;
根据预设的共识规则,与其他主节点对第一检测报文进行第一共识操作;
在确定第一检测报文的第一共识通过的情况下,向客户终端发送第一共识结果消息;
以及,接收客户终端基于第一共识结果消息所发送的目标业务数据处理请求,并根据预设的共识规则与所属的共识节点组中的其他节点,对目标业务数据处理请求进行第二共识操作;
在确定对目标业务数据处理请求第二共识通过的情况下,根据预设的共识规则与其他第一类主节点对目标业务数据处理请求进行第三共识操作;其中,第一类主节点为对目标业务数据处理请求的第二共识通过的共识节点组中的主节点;
在确定对目标业务数据处理请求的第三共识通过的情况下,向客户终端反馈第二共识结果消息;所述数据处理系统中的节点响应目标业务数据处理请求进行相应的目标业务数据处理。
本申请还提供了一种业务数据处理装置,应用于客户终端,所述装置包括:
第一发送模块,用于向数据处理系统发送第一检测报文;其中,数据处理系统为基于区块链的分布式系统,所述数据处理系统至少包括第一数量个共识节点组,所述共识节点组至少包括第二数量个节点,所述共识节点组包括一个主节点和多个副节点;所述多个共识节点组的主节点根据预设的共识规则对第一检测报文进行第一共识操作,并在确定对第一检测报文的第一共识通过的情况下,分别向客户终端反馈第一共识结果消息;
第一接收模块,用于接收并统计第一时长内所接收到的第一共识结果消息的数量;
检测模块,用于检测第一共识结果消息的数量是否大于预设的数量阈值;
第二发送模块,用于在确定第一共识结果消息的数量大于预设的数量阈值的情况下,向数据处理系统发送目标业务数据处理请求;其中,所述各个共识节点组中的主节点和副节点分别根据预设的共识规则在所属的共识节点组中对目标业务数据处理请求进行第二共识操作;第一类主节点根据预设的共识规则与其他第一类主节点对目标业务数据处理请求进行第三共识操作;其中,第一类主节点为对目标业务数据处理请求的第二共识通过的共识节点组中的主节点;
第二接收模块,用于接收第一类主节点反馈的第二共识结果消息;其中,在第一类共识节点对目标业务数据处理请求的第三共识通过的情况下,第一类共识节点向客户终端反馈第二共识结果消息;所述数据处理系统中的节点响应目标业务数据处理请求进行相应的目标业务数据处理。
本申请还提供了一种业务数据处理装置,应用于数据处理系统中的主节点,其中,所述数据处理系统为基于区块链的分布式处理系统,所述数据处理系统至少包括第一数量个共识节点组,所述共识节点组至少包括第二数量个节点,所述共识节点组包括一个主节点和多个副节点,所述装置包括:
接收模块,用于接收客户终端发送的第一检测报文;
第一共识模块,用于根据预设的共识规则,与其他主节点对第一检测报文进行第一共识操作;
第一发送模块,用于在确定第一检测报文的第一共识通过的情况下,向客户终端发送第一共识结果消息;
第二共识模块,用于接收客户终端基于第一共识结果消息所发送的目标业务数据处理请求,并根据预设的共识规则与所属的共识节点组中的其他节点,对目标业务数据处理请求进行第二共识操作;
第三共识模块,用于在确定对目标业务数据处理请求第二共识通过的情况下,根据预设的共识规则与其他第一类主节点对目标业务数据处理请求进行第三共识操作;其中,第一类主节点为对目标业务数据处理请求的第二共识通过的共识节点组中的主节点;
第二发送模块,用于在确定对目标业务数据处理请求的第三共识通过的情况下,向客户终端反馈第二共识结果消息;所述数据处理系统中的节点响应目标业务数据处理请求进行相应的目标业务数据处理。
本申请还提供了一种计算机可读存储介质,其上存储有计算机指令,所述指令被处理器执行时实现所述业务数据处理方法的相关步骤。
本申请还提供了一种计算机程序产品,包含有计算机程序,所述计算机程序被处理器执行时实现所述业务数据处理方法的相关步骤。
基于本申请提供的业务数据处理方法、装置和计算机可读存储介质,具体实施前,可以基于数据处理系统中的有效非故障节点,在数据处理系统中划分出至少第一个数据量个共识节点组作为改造后的共识结构;其中,每一个共识节点组至少包括第二数量个节点,且每一个共识节点组包括一个主节点和多个副节点;具体实施时,当客户端需要请求数据处理系统进行目标业务数据处理时,可以先向数据处理系统发送第一检测报文;多个共识节点组的主节点先根据预设的共识操作对第一检测报文进行第一共识操作,在确定对第一检测报文的第一共识通过的情况下,确定当前数据处理系统的共识主节点满足共识可靠性要求,同时当前数据处理系统也支持关于目标业务数据处理;在确定对第一检测报文的第一共识通过的情况下,主节点向客户终端反馈第一共识结果消息;客户终端统计并根据第一时长内所接收到的第一共识结果消息的数量,确定当前数据处理系统的共识主节点确实满足共识可靠性要求时,向数据处理系统发送目标业务数据处理请求;各个共识节点组中的主节点和副节点可以先根据预设的共识规则,在所属的共识节点组中对目标业务数据处理请求进行第二共识操作;在确定所属的共识节点组对目标业务数据处理请求第二共识通过的情况下,主节点作为第一类主节点根据预设的共识规则与其他第一类共识节点对目标业务数据进行第三共识操作;在确定对目标业务数据的第三共识通过的情况下,第一类主节点向客户终端反馈第二共识结果消息,数据处理系统中的节点响应目标业务数据处理请求进行相应的目标业务数据处理;同时,客户终端可以根据所接收到的第一类主节点反馈的第二共识结果消息,确定第二共识通过,并正常进行所请求的目标业务数据处理。基于上述方法,先通过改造基于区块链的数据处理系统中的共识结构,在数据处理系统中划分出参与共识操作的至少第一数量个共识节点组,并使得每一个共识节点包括一个主节点和多个副节点在内,至少包含第二数量个节点;客户终端与上述数据处理系统再基于上述共识结构改进得到的预设的共识规则,通过多次的数据交互,进行多重共识操作,并在确定多重共识依次通过的情况下,进行相应的目标业务数据处理。从而能够较好地保护数据处理系统的安全性和可靠性,提高系统的抗攻击能力,并使得系统具有较好的容错性;同时,也能够使得数据处理系统中的共识结构的配置相对更加灵活、多样,针对规模比较大的数据处理系统,能有效提高系统整体的共识效率。
附图说明
为了更清楚地说明本说明书实施例,下面将对实施例中所需要使用的附图作简单地介绍,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本说明书的一个实施例提供的业务数据处理方法的流程示意图;
图2是在一个场景示例中,应用本说明书实施例提供的业务数据处理方法的一种实施例的示意图;
图3是在一个场景示例中,应用本说明书实施例提供的业务数据处理方法的一种实施例的示意图;
图4是在一个场景示例中,应用本说明书实施例提供的业务数据处理方法的一种实施例的示意图;
图5是在一个场景示例中,应用本说明书实施例提供的业务数据处理方法的一种实施例的示意图;
图6是在一个场景示例中,应用本说明书实施例提供的业务数据处理方法的一种实施例的示意图;
图7是在一个场景示例中,应用本说明书实施例提供的业务数据处理方法的一种实施例的示意图;
图8是本说明书的另一个实施例提供的业务数据处理方法的流程示意图;
图9是本说明书的一个实施例提供的服务器的结构组成示意图;
图10是本说明书的一个实施例提供的业务数据处理装置的结构组成示意图;
图11是本说明书的另一个实施例提供的业务数据处理装置的结构组成示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
需要说明的是,本申请所涉及到的与用户相关的信息数据均为在用户知晓且同意的前提下获取和使用的,且对于上述信息数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
参阅图1所示,本说明书实施例提供了一种业务数据处理方法,其中,该方法具体应用于客户终端一侧。具体实施时,该方法可以包括以下内容:
S101:向数据处理系统发送第一检测报文;其中,数据处理系统为基于区块链的分布式处理系统,所述数据处理系统至少包括第一数量个共识节点组,所述共识节点组至少包括第二数量个节点,所述共识节点组包括一个主节点和多个副节点;所述多个共识节点组的主节点根据预设的共识规则对第一检测报文进行第一共识操作,并在确定对第一检测报文的第一共识通过的情况下,分别向客户终端反馈第一共识结果消息;
S102:接收并统计第一时长内所接收到的第一共识结果消息的数量;
S103:检测第一共识结果消息的数量是否大于预设的数量阈值;
S104:在确定第一共识结果消息的数量大于预设的数量阈值的情况下,向数据处理系统发送目标业务数据处理请求;其中,所述各个共识节点组中的主节点和副节点分别根据预设的共识规则在所属的共识节点组中对目标业务数据处理请求进行第二共识操作;第一类主节点根据预设的共识规则与其他第一类主节点对目标业务数据处理请求进行第三共识操作;其中,第一类主节点为对目标业务数据处理请求的第二共识通过的共识节点组中的主节点;
S105:接收第一类主节点反馈的第二共识结果消息;其中,在第一类共识节点对目标业务数据处理请求的第三共识通过的情况下,第一类共识节点向客户终端反馈第二共识结果消息;所述数据处理系统中的节点响应目标业务数据处理请求进行相应的目标业务数据处理。
在一些实施例中,上述节点(或称共识节点)具体可以理解为节点服务器。具体可以参阅图2所示。
其中,上述节点服务器具体可以包括一种应用于数据处理系统一侧的,能够实现数据传输、数据处理等功能的后台服务器。具体的,所述节点服务器例如可以为一个具有数据运算、存储功能以及网络交互功能的电子设备。或者,所述节点服务器也可以为运行于该电子设备中,为数据处理、存储和网络交互提供支持的软件程序。在本实施例中,并不具体限定所述节点服务器所包含服务器的数量。所述节点服务器具体可以为一个服务器,也可以为几个服务器,或者,由若干服务器形成的服务器集群。
上述数据处理系统具体可以理解为一种基于区块链技术的分布式处理系统。
具体的,上述数据处理系统具体包括一种改造后的共识结构,该共识结构至少包括第一数量个共识节点组,参阅图3所示,例如,共识节点组1、共识节点组2……共识节点组5。其中,每个共识节点组至少包含有第二数量节点(或称共识节点),例如,节点1、节点2……节点4。进一步,每个共识节点组至少包含一个主节点(可以记为Leader节点,或称共识主节点)和多个副节点(或称共识副节点)。
具体的,参阅图3所示,在共识节点组内部,节点之间两两相连。在共识节点组外部,不同共识节点组之间,通过主节点两两相连。
其中,上述改造后的共识结构具体可以是结合拜占庭容错算法(PBFT)思想进行改进设计后得到的。
上述拜占庭容错算法,具体是一种面向拜占庭问题的容错共识算法,所要解决的通常是在通信中可靠但节点可能故障情况下如何达成共识。在PBFT算法中,至多可以容忍不超过系统全部节点数量的三分之一的拜占庭节点“背叛”,即如果超过三分之二的节点正常,整个系统就可以正常工作。具体的,上述PBFT算法可以采用密码学等相关技术(例如,RSA签名算法、消息验证编码和摘要)确保消息过程中无法被篡改和破坏。此外,基于上述PBFT算法,可以使得数据处理系统和数据处理流程具有较高的容错率,例如,容错率可以达到(n-1)/3,n为参与共识操作的节点数量。但是,基于上述PBFT算法,但存在1/3或以上的节点异常或故障时,系统整体将无法继续正常工作,安全性、可靠性相对较差。
具体改进时,结合PBFT算法思想,为了使得数据处理系统具有较高的容错率,同时也为了确保上述数据处理系统本身具有较好的安全性和可靠性,可以先在结构上,将数据处理系统的共识结构划分为多个不同的共识节点组,并且每个共识节点组包含有一个主节点和多个副节点。基于上述改造后的共识结构,在处理流程上,可以再基于改进后的共识规则,通过分别对共识节点组内部,以及基于主节点在共识节点组之间分别进行共识操作,实现多重共识操作。从而可以保证数据处理系统运行时,在具有较好的安全性、可靠性的,以及抗攻击能力的同时,也具有较高的容错率。
进一步,上述第一数量具体可以设置为大于等于4的整数;上述第二数量具体可以设置为大于等于4的整数。相应的,上述数据处理系统所包含的节点总量大于等于16。这样可以确保基于改造后的共识结构,能够更加可靠、稳定进行共识操作,并具有较高的容错率。
此外,上述数据处理系统还包括备用节点。其中,备用节点具体可以理解为数据处理系统中未被划分进已有的共识节点组的共识节点。
具体实施前,可以按照以下方式生成包含有改进的共识结构的数据处理系统。
首先,可以根据数据处理系统所面临的业务数据处理量,以业务数据处理的安全性要求,确定出共识节点组的组数(例如,可以为N),以及各个共识节点组所包含的节点数(例如,可以为M)。其中,共识节点组的组数大于等于第一数量,共识节点组所包含的节点数大于等于第二数量。并将上述数据信息配置到与数据处理系统相关的区块链网络初始化文件中。此外,还可以根据具体情况和处理需求,在上述区块链网络初始化文件中配置针对各个共识节点组的节点数的上限值。
接着,在进行数据处理系统初始化时,可以根据区块链网络初始化文件中的数据信息,先为各个节点分别生成相对应的随机数。再通过利用节点的随机数对共识节点组的组数进行取余操作,以确定该节点所匹配的共识节点组的节点组标识(例如,共识节点组的组编号),即,将该节点划分进相匹配的共识节点组中。对于已划分进的节点数量达到上限值的共识节点组将不再继续参与后续的划分。按照上述方式,可以分别确定出各个节点相匹配的共识节点组的节点组标识。需要说明的是,数据处理系统中允许存在部分节点没有匹配到共识节点组,这类节点不直接参与共识操作,可以作为备用节点。
然后,初始化时,可以根据每个节点所匹配到的共识节点组的节点组标识,通过节点网络路径最短方式,将所匹配到的共识节点组的节点组标识相同的节点尽量以路由最近的方式连接到一起构成多个共识节点组。
进一步,再由共识节点组内部的节点进行选举,确定出其中的一个节点作为主节点,剩余的节点作为副节点。具体的,例如,共识节点组1中的主节点1-1、共识节点组2中的主节点2-1……共识节点组5中的主节点5-1。
具体的,在各个共识节点组内部,各个节点可以根据PBFT算法,进行选举和共识,以共同确定出所属的共识节点分组中的主节点和副节点。
后续,如果再有新的节点要加入数据处理系统,可以先将该新的节点以备用节点的身份,连入数据处理系统中。
此外,在上述数据处理系统中还可以设置有监测节点。
具体实施时,监测节点可以监测共识结构中各个节点每次在进行共识操作时的表现,并根据各个节点的表现为各个节点分配对应的奖励数据(或者积分),对于表现不符合要求的节点则扣除相应的奖励数据进行惩罚。进而,数据处理系统可以基于各个节点的累积奖励数据,准确地识别确定出共识结构中的异常节点(例如,作恶节点)和/或故障节点;并及时地将上述节点剔除共识结构,同时引入对应数量的备用节点进行补充替换。从而可以使得数据处理系统中的共识结构的配置相对更加灵活、简便。
上述客户终端具体可以包括一种应用于用户一侧,能够实现数据采集、数据传输等功能的前端。具体的,所述客户终端例如可以为台式电脑、平板电脑、笔记本电脑、手机等电子设备。或者,所述客户终端也可以为能够运行于上述电子设备中的软件应用。例如,可以是在手机上运行的某客户端APP等。
参阅图2所示,当用户需要通过数据处理系统进行目标业务数据处理时,用户可以先使用客户终端连入数据处理系统,并向数据处理系统发起目标业务数据处理请求;再通过客户终端与数据处理系统进行相应交互,以基于共识机制,安全、高效地完成所需要的目标业务数据处理。
其中,根据具体的业务场景,上述目标业务数据处理具体可以是查询目标账户数据,或者核销目标账单,还或者写入目标消费记录等等。
在一些实施例中,具体的,例如,上述目标业务数据可以是存储于区块链的用于实施具体作业项目(例如,建筑工程项目、软件开发项目等)的资源数据(例如,资金、资产等)。相应的,上述共识结构中参与共识操作的节点具体可以为基于相关协议合约,负责审核资源数据使用情况的审核方的节点服务器。其中,上述审核方具体可以是资源提供方、资源监管机构等,例如,银行、供应商等。上述客户终端具体可以是需要调取使用相关资源数据的项目实施方(例如,施工方、承包方等)的客户终端。
当项目实施方需要调取使用相关资源数据来实施具体作业项目时,可以利用客户终端向上述数据处理系统发送关于调取使用资源数据的目标业务数据处理请求。相应的,数据处理系统中的共识节点可以按照本申请所提供的业务数据处理方法,根据预设的共识规则,通过多次数据交互,进行多重共识操作;在确定多重共识依次通过的情况下,才会最终确定对目标业务数据处理请求共识通过,响应项该目标业务数据处理请求,为该项目实施方分配相应的资源数据,进行具体的项目作业;同时,还会在区块链中记录存证,以便后续回溯查询。
在一些实施例中,上述第一检测报文具体可以理解为一种主要用于检测当前数据处理系统中的共识主节点是否满足可靠性要求的报文信息。
进一步,上述第一检测报文还可以携带有目标业务数据处理请求的关联信息;其中,所述关联信息具体可以包括以下至少之一:与目标业务数据处理请求相关的数据处理操作的操作类型、目标业务数据处理请求所针对的目标业务数据的数据类型、与目标业务数据处理请求相关的用户标识等。
需要说明的是,上述所列举的关联信息只是一种示意性说明。具体实施时,根据具体的应用场景和处理需要,上述关联信息还可以包括其他与目标业务数据处理请求的信息。对此,本说明书不作限定。
其中,所述操作类型具体可以包括以下所列举的任意一种:写入数据、查询信息、验证信息、更新文档、删除文档等。
相应的,基于上述第一检测报文所携带的关联信息,还可以同时初步检测当前数据处理系统中节点是否能够支持完成用户所需要的目标业务数据处理。
上述预设的共识规则具体可以理解为一种基于PBFT算法改进,且与数据处理系统改造后的共识结构相匹配的,支持多重共识机制的共识规则。
具体实施时,上述第一检测报文的报文头内可以包含有与第一检测报文对应的第一类型标识。数据处理系统在接收到客户终端发送的报文后,根据报文头内的第一类型标识,识别出第一检测报文,并将第一检测报文分发各个共识结构中各个共识节点组的主节点。
各个共识节点组的主节点在接收到第一检测报文后,可以根据预设的共识规则,与其他主节点对第一检测报文进行第一共识操作。在确定对第一检测报文的第一共识通过的情况下,主节点向客户终端反馈第一共识结果消息。
在一些实施例中,参阅图4所示,所述多个共识节点组的主节点根据预设的共识规则对第一检测报文进行第一共识操作,具体实施实施,可以包括:
S1:所述多个共识节点组的主节点根据预设的共识规则,分别生成针对第一检测报文的第一确认信息,并将该第一确认信息发送至其他共识节点组的主节点;
S2:所述多个共识节点组的主节点分别统计并检测所接收到的第一确认信息的数量与共识节点组的组数的比值是否大于预设的第一比例阈值;
S3:所述共识节点组的主节点在确定所接收到的第一确认信息的数量与共识节点组的组数的比值大于预设的第一比例阈值的情况下,确定对第一检测报文的第一共识通过。
具体的,各个主节点可以根据所接收到的第一检测报文所包含的数据信息进行验证,在验证通过的情况下,生成第一确认信息。其中,预设的第一比例阈值具体可以为2/3。
在一些实施例中,参阅图5所示,所述数据处理系统具体还可以包括监测节点;
相应的,在确定对第一检测报文的第一共识通过之后,所述方法具体实施时,还可以包括以下内容:
S1:监测节点采集并根据共识节点组的主节点所发送的第一确认信息,确定主节点中的正常主节点和异常主节点;
S2:根据预设的奖励规则,增加正常主节点的奖励数据,并减少异常主节点的奖励数据。
具体实施时,监测节点在监测到某个主节点所发送的第一确认信息与其他大部分主节点所发送的第一确认信息不同或差异值大于预设的差异阈值时,可以判断该主节点为异常主节点或称作恶主节点。并减少异常主节点的累积奖励数据,进行针对性的惩罚。
此外,监测节点在监测到某个主节点发送的第一确认信息的发送数量为0,或者小于预设的数量下限值时,可以判断该主节点为故障主节点。类似的,也可以减少故障主节点的累积奖励数据。
监测节点可以将主节点中除异常主节点和故障主节点以外的其他主节点确定为正常主节点,并增加正常主节点的累积奖励数据,进行针对性的奖励。
基于上述实施例,数据处理系统可以通过监测节点准确监测每个主节点在进行第一共识操作时的具体表现,并根据各个主节点的表现分配或扣除相应的奖励数据。
在一些实施例中,在所述多个共识节点组的主节点分别统计并检测所接收到的第一确认信息的数量与共识节点组的组数的比值是否大于预设的第一比例阈值之后,所述方法具体实施时,还可以包括以下内容:
S1:所述共识节点组的主节点在确定所接收到的第一确认信息的数量与共识节点组的组数的比值小于等于预设的第一比例阈值的情况下,生成主节点异常提示信息,并将所述主节点异常提示信息发送至监测节点;
S2:监测节点响应所述主节点异常提示信息,根据多个共识节点组的主节点的第一确认信息的发送数量,确定出异常主节点,以及异常主节点所属的异常共识节点组;
S3:监测节点向所述异常共识节点组发送重选主节点指令;其中,所述异常共识节点组中的节点响应所述重选主节点指令,根据预设的共识规则,重新选举并确定出该共识节点组的主节点。
具体实施时,异常共识节点组中的节点可以响应重选主节点指令,根据预设的共识规则,查询各个节点的累积奖励数据,确定出累积奖励数据最高的节点,作为候选主节点;生成关于该候选主节点的投票信息,并将该投票信息发送给其他节点;同时,接收其他节点发送的投票信息。异常共识节点组中的节点可以根据所接收的投票信息,确定出票数最高的候选主节点作为重新选举出的主节点,并对该主节点进行共识,将该异常共识节点组中的主节点更换为重新选举出的主节点。
在异常共识节点组重新选举并确定出该共识节点组的主节点后,数据处理系统的主节点可以重新进行对第一检测报文的第一共识操作。
在一些实施例中,具体实施时,对于异常共识节点组中的异常主节点(或故障主节点),监测节点还可以检测该异常主节点的累积奖励数据是否小于预设的奖励数据下限值;在确定该异常主节点的累积奖励数据小于预设的奖励数据下限值时,可以判断该异常主节点已经完全无法正常参与共识操作,这时,可以直接将该异常主节点剔除所属的共识节点组,并优先筛选出数据处理系统中累积奖励数据最高的,或处于备用状态的累积时长最长的备用节点补入该共识节点分组,以参与后续的主节点选举和共识。
在确定该异常主节点的累积奖励数据大于预设的奖励数据下限值时,监测节点可以不直剔除该异常主节点。异常共识节点组中的节点可以基于除该异常主节点以外的剩余节点中重新选举并共识新的主节点。
在确定出新的主节点后,还可以由新的主节点与其他副节点在该共识节点组内对是否剔除之前那的异常主节点,补入备用节点进行共识操作。
在一些实施例中,在向数据处理系统发送第一检测报文之前,所述方法具体实施时,还可以包括以下内容:
S1:向数据处理系统中的各个节点发送第二检测报文;其中,所述第二检测报文用于检测数据处理系统中的各个节点的节点状态;数据处理系统中的各个节点响应所述第二检测报文,反馈当前状态信息;
S2:接收并根据数据处理系统中的节点的当前状态信息,确定数据处理系统的当前状态是否符合业务数据处理条件。
其中,上述第二检测报文具体可以用于检测数据处理系统中的各个节点的基本的当前状态信息。
具体的,所述当前状态信息可以包括以下至少之一:节点的总数量、在线节点数量、节点的节点标识、节点所属的共识节点组的节点组标识、节点的通信状态参数等。
当然,上述所列举的当前状态信息只是一种示意性说明。具体实施时,根据具体的业务处理场景和处理要求,上述当前状态信息还可以包括诸如节点是否已组合成共识节点组、节点最新的地理位置、节点的网络拥堵情况、节点打包的最新区块高度、节点的身份ID等其他类型的状态信息。对此,本说明书不作限定。
基于上述实施例,具体实施前,客户终端可以通过发送第二检测报文,获取并根据数据处理系统中的各个节点的节点状态,检测数据处理系统的当前状态是否符合业务数据处理条件,在确定符合业务数据处理条件的情况下,才会发送第一检测报文,进行后续的数据处理,从而可以进一步确保后续目标业务数据处理的稳定、可靠。
在一些实施例中,在接收并根据数据处理系统中的节点的当前状态信息,确定数据处理系统的当前状态是否符合业务数据处理条件之后,所述方法具体实施时,还可以包括以下内容:在确定数据处理系统的当前状态不符合业务数据处理条件的情况下,间隔第二时长后,向数据处理系统中的各个节点重新发送第二检测报文。直到确定数据处理系统的当前状态符合业务数据处理条件的情况下,客户终端才会向数据处理系统发送第一检测报文。
在一些实施例中,上述数据处理系统具体还可以设置有定时器,用于监控和提示第一时长和/或第二时长。其中,上述第一时长和第二时长的具体数值可以是通过基于历史正常的数据处理系统针对大量历史业务数据的历史处理记录聚类得到的。
在一些实施例中,参阅图6所示,所述各个共识节点组中的主节点和副节点分别根据预设的共识规则在所属的共识节点组中对目标业务数据处理请求进行第二共识操作,具体实施时,可以包括以下内容:
S1:所述共识节点组中的主节点和副节点根据预设的共识规则,在所属的共识节点组中对目标业务数据处理请求进行验证,在确定验证通过的情况下,生成并向所述的共识节点组中的其他节点发送验证通过信息;
S2:所述共识节点组中的副节点在确定所接收到的验证通过信息的数量与所属的共识节点组中的节点数量的比值大于预设的第二比例阈值的情况下,向所属的共识节点组中的主节点发送第二确认信息;
S3:所述共识节点组中的主节点统计并检测所接收到的第二确认信息的数量与所属的共识节点组中的节点数量的比值是否大于预设的第二比例阈值;
S4:所述共识节点组中的主节点,在确定所接收到的第二确认信息的数量与所属的共识节点组中的节点数量的比值大于预设的第二比例阈值的情况下,确定所属的共识节点组对目标业务数据处理请求的第二共识通过。
其中,预设的第二比例阈值具体可以为2/3。
具体实施时,在共识节点组的内部,各个节点可以对目标业务数据处理请求是否遭到篡改、目标业务数据处理请求是否符合规范,以及目标业务数据处理请求的执行是否具有相应权限等数据信息进行验证,在验证通过的情况下,向同一个共识节点组中的其他节点发送验证通过信息。
主节点在确定所接收到的第二确认信息的数量与所属的共识节点组中的节点数量的比值大于预设的第二比例阈值的情况下,确定所属的共识节点组对目标业务数据处理请求的第二共识通过,完成基于共识节点组内部针对目标业务数据处理请求的第一重共识操作。
在确定所属的共识节点组对目标业务数据处理请求的第二共识通过的情况下,该共识节点组的主节点可以作为第一类主节点,继续进行基于共识节点组外部,不同共识节点组之间的针对目标业务数据处理请求的第二重共识操作。
在一些实施例中,在述共识节点组中的主节点统计并检测所接收到的第二确认信息的数量与所属的共识节点组中的节点数量的比值小于等于预设的第二比例阈值时,确定所属的共识节点组对目标业务数据处理请求的第二共识未通过,这时,该共识节点组的主节点将无法作为第一类节点参与后续针对目标业务数据处理请求的第二重共识。
在一些实施例中,参阅图7所示,在所述共识节点组中的主节点统计并检测所接收到的第二确认信息的数量与所属的共识节点组中的节点数量的比值是否大于预设的第二比例阈值之后,所述方法具体实施时,还可以包括以下内容:
S1:所述共识节点组中的主节点在确定所接收到的第二确认信息的数量与所属的共识节点组中的节点数量的比值小于等于预设的第二比例阈值的情况下,检测所属的共识节点组中是否存在故障节点,和/或,所属的共识节点组中是否存在奖励数据不符合要求的异常节点;
S2:在确定所属的共识节点组中存在故障节点和/或异常节点的情况下,主节点调用数据处理系统中的备用节点替换所述故障节点和/或异常节点。
具体实施时,主节点可以通过获取并根据共识节点组中节点发送的第二确认信息,确定是否存在故障节点;主节点可以通过检测节点的累积奖励数据,确定是否存在异常节点。
基于上述实施例,可以通过各个共识节点组中的主节点准确地发现并识别出共识节点组中的异常节点和/或故障节点,并及时、灵活地调用备用节点来替换异常节点和/或故障节点,以保证数据处理系统整体的稳定、可靠。
在一些实施例中,对于从共识节点分组中剔除的异常节点(包括:主节点和副节点),数据处理系统可以将该异常节点的累积奖励数据重置为0,将该异常节点标记为备用节点,并将备用状态的累积时长初始化为0后开始计时。
对于从共识节点分组中剔除的故障节点,数据处理系统可以对该故障节点进行进一步更加精细的故障分析,并根据故障分析结果度该节点进行针对性的故障修复。再确定该故障节点修复成功后,再将该节点作为备用节点重新连入数据处理系统中。
在一些实施例中,上述第一类主节点根据预设的共识规则与其他第一类主节点对目标业务数据处理请求进行第三共识操作,具体实施时,可以包括以下内容:
S1:第一类主节点根据预设的共识规则,生成并向其他主节点发送第三确认信息;
S2:第一类主节点统计并检测所接收到的第三确认信息的数量与共识节点组的组数的比值是否大于预设的第三比例阈值;
S3:第一类主节点在确定所接收到的第三确认信息的数量与共识节点组的组数的比值大于预设的第三比例阈值的情况下,确定对目标业务数据处理请求的第三共识通过。
其中,所述预设的第三比例阈值具体可以为2/3。所述第二共识结果消息具体还可以携带有目标业务数据处理请求的请求标识,例如,目标业务数据处理请求的请求序列号、目标业务数据处理请求的流水号等等。
基于上述实施例,可以通过第一类主节点根据预设的共识规则,进行基于共识节点组外部,不同共识节点组之间的针对目标业务数据处理请求的第二重共识。
在一些实施例中,第一类主节点在确定第三共识通过的情况下,可以分别向客户终端反馈第二共识结果消息;相应的,客户终端在接收到第二共识结果消息后,可以确定数据处理系统对目标业务数据处理请求共识通过。
此外,第一类主节点还可以向数据处理系统广播第二共识结果消息。数据处理系统中的节点在接收到上述第二共识结果消息后,可以根据第二共识结果消息中的目标业务数据处理请求的请求标识,确定出数据处理系统共识通过的目标业务数据处理请求;进而可以根据目标业务数据处理请求,进行相应的目标业务数据处理;并将目标业务数据处理的处理记录,以及处理结果写入区块链中。
客户终端可以通过查询区块链获取目标业务数据处理的处理结果;也可以通过查询区块链获取并根据目标业务数据处理的处理记录,对目标业务数据处理进行回溯。
在一些实施例中,第一类主节点在确定所接收到的第三确认信息的数量与共识节点组的组数的比值小于等于预设的第三比例阈值的情况下,可以确定对目标业务数据处理请求的第三共识未通过。这时,第一类主节点可以分别向客户终端发送失败提示。
由上可见,基于本说明书实施例提供的业务数据处理方法,具体实施前,可以基于数据处理系统中的有效节点,在数据处理系统中划分出至少第一个数据量个共识节点组;其中,每一个共识节点组至少包括第二数量个节点,且每一个共识节点组包括一个主节点和多个副节点。具体实施时,当客户端需要请求数据处理系统进行目标业务数据处理时,可以先向数据处理系统发送第一检测报文;多个共识节点组的主节点先根据预设的共识操作对第一检测报文进行第一共识操作,在确定对第一检测报文的第一共识通过的情况下,确定当前数据处理系统的共识主节点满足共识可靠性要求,同时当前数据处理系统也支持关于目标业务数据处理;在确定对第一检测报文的第一共识通过的情况下,主节点向客户终端反馈第一共识结果消息;客户终端统计并根据第一时长内所接收到的第一共识结果消息的数量,确定当前数据处理系统的共识主节点确实满足共识可靠性要求时,向数据处理系统发送目标业务数据处理请求;各个共识节点组中的主节点和副节点可以先根据预设的共识规则,在所属的共识节点组中对目标业务数据处理请求进行第二共识操作;在确定所属的共识节点组对目标业务数据处理请求第二共识通过的情况下,主节点作为第一类主节点根据预设的共识规则与其他第一类共识节点对目标业务数据进行第三共识操作;在确定对目标业务数据的第三共识通过的情况下,第一类主节点向客户终端反馈第二共识结果消息,数据处理系统中的节点响应目标业务数据处理请求进行相应的目标业务数据处理;同时,客户终端可以根据所接收到的第一类主节点反馈的第二共识结果消息,确定第二共识通过,并正常进行所请求的目标业务数据处理。由于先通过改造基于区块链的数据处理系统中的共识结构,在数据处理系统中划分出参与共识操作的至少第一数量个共识节点组,并使得每一个共识节点包括一个主节点和多个副节点在内,至少包含第二数量个节点;客户终端与上述数据处理系统再基于上述共识结构改进得到的预设的共识规则,通过多次的数据交互,进行多重共识操作,并在确定多重共识依次通过的情况下,进行相应的目标业务数据处理。从而能够较好地保护数据处理系统的安全性和可靠性,提高抗攻击能力,并具有较好的容错性;同时,也能够使得数据处理系统中的共识结构的配置相对更加灵活,针对规模比较大的数据处理系统,能有效提高系统整体的共识效率。
参阅图8所示,本说明书实施例还提供了一种业务数据处理方法。其中,该方法具体应用于数据处理系统中的主节点一侧,其中,所述数据处理系统为基于区块链的分布式处理系统,所述数据处理系统至少包括第一数量个共识节点组,所述共识节点组至少包括第二数量个节点,所述共识节点组包括一个主节点和多个副节点,所述方法具体实施时,可以包括以下内容:
S801:接收客户终端发送的第一检测报文;
S802:根据预设的共识规则,与其他主节点对第一检测报文进行第一共识操作;
S803:在确定第一检测报文的第一共识通过的情况下,向客户终端发送第一共识结果消息;
S804:以及,接收客户终端基于第一共识结果消息所发送的目标业务数据处理请求,并根据预设的共识规则与所属的共识节点组中的其他节点,对目标业务数据处理请求进行第二共识操作;
S805:在确定对目标业务数据处理请求第二共识通过的情况下,根据预设的共识规则与其他第一类主节点对目标业务数据处理请求进行第三共识操作;其中,第一类主节点为对目标业务数据处理请求的第二共识通过的共识节点组中的主节点;
S806:在确定对目标业务数据处理请求的第三共识通过的情况下,向客户终端反馈第二共识结果消息;所述数据处理系统中的节点响应目标业务数据处理请求进行相应的目标业务数据处理。
本说明书实施例还提供一种客户终端,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器具体实施时可以根据指令执行以下步骤:向数据处理系统发送第一检测报文;其中,数据处理系统为基于区块链的分布式处理系统,所述数据处理系统至少包括第一数量个共识节点组,所述共识节点组至少包括第二数量个节点,所述共识节点组包括一个主节点和多个副节点;所述多个共识节点组的主节点根据预设的共识规则对第一检测报文进行第一共识操作,并在确定对第一检测报文的第一共识通过的情况下,分别向客户终端反馈第一共识结果消息;接收并统计第一时长内所接收到的第一共识结果消息的数量;检测第一共识结果消息的数量是否大于预设的数量阈值;在确定第一共识结果消息的数量大于预设的数量阈值的情况下,向数据处理系统发送目标业务数据处理请求;其中,所述各个共识节点组中的主节点和副节点分别根据预设的共识规则在所属的共识节点组中对目标业务数据处理请求进行第二共识操作;第一类主节点根据预设的共识规则与其他第一类主节点对目标业务数据处理请求进行第三共识操作;其中,第一类主节点为对目标业务数据处理请求的第二共识通过的共识节点组中的主节点;接收第一类主节点反馈的第二共识结果消息;其中,在第一类共识节点对目标业务数据处理请求的第三共识通过的情况下,第一类共识节点向客户终端反馈第二共识结果消息;所述数据处理系统中的节点响应目标业务数据处理请求进行相应的目标业务数据处理。
参阅图9所示,本说明书实施例还提供了一种具体的服务器,其中,所述服务器包括网络通信端口901、处理器902以及存储器903,上述结构通过内部线缆相连,以便各个结构可以进行具体的数据交互。
其中,所述网络通信端口901,具体可以用于接收客户终端发送的第一检测报文;
所述处理器902,具体可以用于根据预设的共识规则,与其他主节点对第一检测报文进行第一共识操作;在确定第一检测报文的第一共识通过的情况下,向客户终端发送第一共识结果消息。
以及,所述网络通信端口901,具体还可以用于接收客户终端基于第一共识结果消息所发送的目标业务数据处理请求,并根据预设的共识规则与所属的共识节点组中的其他节点,对目标业务数据处理请求进行第二共识操作;
所述处理器902,具体还可以用于在确定对目标业务数据处理请求第二共识通过的情况下,根据预设的共识规则与其他第一类主节点对目标业务数据处理请求进行第三共识操作;其中,第一类主节点为对目标业务数据处理请求的第二共识通过的共识节点组中的主节点;在确定对目标业务数据处理请求的第三共识通过的情况下,向客户终端反馈第二共识结果消息;所述数据处理系统中的节点响应目标业务数据处理请求进行相应的目标业务数据处理。
所述存储器903,具体可以用于存储相应的指令程序。
在本实施例中,所述网络通信端口901可以是与不同的通信协议进行绑定,从而可以发送或接收不同数据的虚拟端口。例如,所述网络通信端口可以是负责进行web数据通信的端口,也可以是负责进行FTP数据通信的端口,还可以是负责进行邮件数据通信的端口。此外,所述网络通信端口还可以是实体的通信接口或者通信芯片。例如,其可以为无线移动网络通信芯片,如GSM、CDMA等;其还可以为Wifi芯片;其还可以为蓝牙芯片。
在本实施例中,所述处理器902可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。本说明书并不作限定。
在本实施例中,所述存储器903可以包括多个层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。
本说明书实施例还提供了一种基于上述业务数据处理方法的计算机可读存储介质,所述计算机可读存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现:向数据处理系统发送第一检测报文;其中,数据处理系统为基于区块链的分布式处理系统,所述数据处理系统至少包括第一数量个共识节点组,所述共识节点组至少包括第二数量个节点,所述共识节点组包括一个主节点和多个副节点;所述多个共识节点组的主节点根据预设的共识规则对第一检测报文进行第一共识操作,并在确定对第一检测报文的第一共识通过的情况下,分别向客户终端反馈第一共识结果消息;接收并统计第一时长内所接收到的第一共识结果消息的数量;检测第一共识结果消息的数量是否大于预设的数量阈值;在确定第一共识结果消息的数量大于预设的数量阈值的情况下,向数据处理系统发送目标业务数据处理请求;其中,所述各个共识节点组中的主节点和副节点分别根据预设的共识规则在所属的共识节点组中对目标业务数据处理请求进行第二共识操作;第一类主节点根据预设的共识规则与其他第一类主节点对目标业务数据处理请求进行第三共识操作;其中,第一类主节点为对目标业务数据处理请求的第二共识通过的共识节点组中的主节点;接收第一类主节点反馈的第二共识结果消息;其中,在第一类共识节点对目标业务数据处理请求的第三共识通过的情况下,第一类共识节点向客户终端反馈第二共识结果消息;所述数据处理系统中的节点响应目标业务数据处理请求进行相应的目标业务数据处理。
在本实施例中,上述存储介质包括但不限于随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
在本实施例中,该计算机可读存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
本说明书实施例还提供了一种计算机程序产品,包含有计算机程序,所述计算机程序被处理器执行时实现以下步骤:向数据处理系统发送第一检测报文;其中,数据处理系统为基于区块链的分布式处理系统,所述数据处理系统至少包括第一数量个共识节点组,所述共识节点组至少包括第二数量个节点,所述共识节点组包括一个主节点和多个副节点;所述多个共识节点组的主节点根据预设的共识规则对第一检测报文进行第一共识操作,并在确定对第一检测报文的第一共识通过的情况下,分别向客户终端反馈第一共识结果消息;接收并统计第一时长内所接收到的第一共识结果消息的数量;检测第一共识结果消息的数量是否大于预设的数量阈值;在确定第一共识结果消息的数量大于预设的数量阈值的情况下,向数据处理系统发送目标业务数据处理请求;其中,所述各个共识节点组中的主节点和副节点分别根据预设的共识规则在所属的共识节点组中对目标业务数据处理请求进行第二共识操作;第一类主节点根据预设的共识规则与其他第一类主节点对目标业务数据处理请求进行第三共识操作;其中,第一类主节点为对目标业务数据处理请求的第二共识通过的共识节点组中的主节点;接收第一类主节点反馈的第二共识结果消息;其中,在第一类共识节点对目标业务数据处理请求的第三共识通过的情况下,第一类共识节点向客户终端反馈第二共识结果消息;所述数据处理系统中的节点响应目标业务数据处理请求进行相应的目标业务数据处理。
参阅图10所示,在软件层面上,本说明书实施例还提供了一种业务数据处理装置,该装置具体可以包括以下的结构模块:
第一发送模块1001,具体可以用于向数据处理系统发送第一检测报文;其中,数据处理系统为基于区块链的分布式系统,所述数据处理系统至少包括第一数量个共识节点组,所述共识节点组至少包括第二数量个节点,所述共识节点组包括一个主节点和多个副节点;所述多个共识节点组的主节点根据预设的共识规则对第一检测报文进行第一共识操作,并在确定对第一检测报文的第一共识通过的情况下,分别向客户终端反馈第一共识结果消息;
第一接收模块1002,具体可以用于接收并统计第一时长内所接收到的第一共识结果消息的数量;
检测模块1003,具体可以用于检测第一共识结果消息的数量是否大于预设的数量阈值;
第二发送模块1004,具体可以用于在确定第一共识结果消息的数量大于预设的数量阈值的情况下,向数据处理系统发送目标业务数据处理请求;其中,所述各个共识节点组中的主节点和副节点分别根据预设的共识规则在所属的共识节点组中对目标业务数据处理请求进行第二共识操作;第一类主节点根据预设的共识规则与其他第一类主节点对目标业务数据处理请求进行第三共识操作;其中,第一类主节点为对目标业务数据处理请求的第二共识通过的共识节点组中的主节点;
第二接收模块1005,具体可以用于接收第一类主节点反馈的第二共识结果消息;其中,在第一类共识节点对目标业务数据处理请求的第三共识通过的情况下,第一类共识节点向客户终端反馈第二共识结果消息;所述数据处理系统中的节点响应目标业务数据处理请求进行相应的目标业务数据处理。
在一些实施例中,在向数据处理系统发送第一检测报文之前,所述装置具体实施时,还可以用于向数据处理系统中的各个节点发送第二检测报文;其中,所述第二检测报文用于检测数据处理系统中的各个节点的节点状态;数据处理系统中的各个节点响应所述第二检测报文,反馈当前状态信息;接收并根据数据处理系统中的节点的当前状态信息,确定数据处理系统的当前状态是否符合业务数据处理条件。
在一些实施例中,所述当前状态信息具体可以包括以下至少之一:节点的总数量、在线节点数量、节点的节点标识、节点所属的共识节点组的节点组标识、节点的通信状态参数等。
在一些实施例中,在接收并根据数据处理系统中的节点的当前状态信息,确定数据处理系统的当前状态是否符合业务数据处理条件之后,所述装置具体实施时,还可以用于在确定数据处理系统的当前状态不符合业务数据处理条件的情况下,间隔第二时长后,向数据处理系统中的各个节点重新发送第二检测报文。
在一些实施例中,所述第一检测报文具体还可以携带有目标业务数据处理请求的关联信息;其中,所述关联信息具体可以包括以下至少之一:与目标业务数据处理请求相关的数据处理操作的操作类型、目标业务数据处理请求所针对的目标业务数据的数据类型、与目标业务数据处理请求相关的用户标识等。
在一些实施例中,所述多个共识节点组的主节点根据预设的共识规则对第一检测报文进行第一共识操作,具体可以包括:所述多个共识节点组的主节点根据预设的共识规则,分别生成针对第一检测报文的第一确认信息,并将该第一确认信息发送至其他共识节点组的主节点;所述多个共识节点组的主节点分别统计并检测所接收到的第一确认信息的数量与共识节点组的组数的比值是否大于预设的第一比例阈值;所述共识节点组的主节点在确定所接收到的第一确认信息的数量与共识节点组的组数的比值大于预设的第一比例阈值的情况下,确定对第一检测报文的第一共识通过。
在一些实施例中,所述数据处理系统具体还可以包括监测节点;相应的,在确定对第一检测报文的第一共识通过之后,所述装置具体实施时,还可以用于监测节点采集并根据共识节点组的主节点所发送的第一确认信息,确定主节点中的正常主节点和异常主节点;根据预设的奖励规则,增加正常主节点的奖励数据,并减少异常主节点的奖励数据。
在一些实施例中,在所述多个共识节点组的主节点分别统计并检测所接收到的第一确认信息的数量与共识节点组的组数的比值是否大于预设的第一比例阈值之后,所述装置具体实施时,还可以用于所述共识节点组的主节点在确定所接收到的第一确认信息的数量与共识节点组的组数的比值小于等于预设的第一比例阈值的情况下,生成主节点异常提示信息,并将所述主节点异常提示信息发送至监测节点;监测节点响应所述主节点异常提示信息,根据多个共识节点组的主节点的第一确认信息的发送数量,确定出异常主节点,以及异常主节点所属的异常共识节点组;监测节点向所述异常共识节点组发送重选主节点指令;其中,所述异常共识节点组中的节点响应所述重选主节点指令,根据预设的共识规则,重新选举并确定出该共识节点组的主节点。
在一些实施例中,所述各个共识节点组中的主节点和副节点分别根据预设的共识规则在所属的共识节点组中对目标业务数据处理请求进行第二共识操作,具体可以包括:所述共识节点组中的主节点和副节点根据预设的共识规则,在所属的共识节点组中对目标业务数据处理请求进行验证,在确定验证通过的情况下,生成并向所述的共识节点组中的其他节点发送验证通过信息;所述共识节点组中的副节点在确定所接收到的验证通过信息的数量与所属的共识节点组中的节点数量的比值大于预设的第二比例阈值的情况下,向所属的共识节点组中的主节点发送第二确认信息;所述共识节点组中的主节点统计并检测所接收到的第二确认信息的数量与所属的共识节点组中的节点数量的比值是否大于预设的第二比例阈值;所述共识节点组中的主节点,在确定所接收到的第二确认信息的数量与所属的共识节点组中的节点数量的比值大于预设的第二比例阈值的情况下,确定所属的共识节点组对目标业务数据处理请求的第二共识通过。
在一些实施例中,在所述共识节点组中的主节点统计并检测所接收到的第二确认信息的数量与所属的共识节点组中的节点数量的比值是否大于预设的第二比例阈值之后,所述装置具体实施时,还可以包括:所述共识节点组中的主节点在确定所接收到的第二确认信息的数量与所属的共识节点组中的节点数量的比值小于等于预设的第二比例阈值的情况下,检测所属的共识节点组中是否存在故障节点,和/或,所属的共识节点组中是否存在奖励数据不符合要求的异常节点;在确定所属的共识节点组中存在故障节点和/或异常节点的情况下,主节点调用数据处理系统中的备用节点替换所述故障节点和/或异常节点。
在一些实施例中,第一类主节点根据预设的共识规则与其他第一类主节点对目标业务数据处理请求进行第三共识操作,具体实施时,可以包括:第一类主节点根据预设的共识规则,生成并向其他主节点发送第三确认信息;第一类主节点统计并检测所接收到的第三确认信息的数量与共识节点组的组数的比值是否大于预设的第三比例阈值;第一类主节点在确定所接收到的第三确认信息的数量与共识节点组的组数的比值大于预设的第三比例阈值的情况下,确定对目标业务数据处理请求的第三共识通过。
参阅图11所示,本说明书还提供了另一种业务数据处理装置,应用于数据处理系统中的主节点,其中,所述数据处理系统为基于区块链的分布式处理系统,所述数据处理系统至少包括第一数量个共识节点组,所述共识节点组至少包括第二数量个节点,所述共识节点组包括一个主节点和多个副节点,所述装置具体可以包括:
接收模块1101,具体可以用于接收客户终端发送的第一检测报文;
第一共识模块1102,具体可以用于根据预设的共识规则,与其他主节点对第一检测报文进行第一共识操作;
第一发送模块1103,具体可以用于在确定第一检测报文的第一共识通过的情况下,向客户终端发送第一共识结果消息;
第二共识模块1104,具体可以用于接收客户终端基于第一共识结果消息所发送的目标业务数据处理请求,并根据预设的共识规则与所属的共识节点组中的其他节点,对目标业务数据处理请求进行第二共识操作;
第三共识模块1105,具体可以用于在确定对目标业务数据处理请求第二共识通过的情况下,根据预设的共识规则与其他第一类主节点对目标业务数据处理请求进行第三共识操作;其中,第一类主节点为对目标业务数据处理请求的第二共识通过的共识节点组中的主节点;
第二发送模块1106,具体可以用于在确定对目标业务数据处理请求的第三共识通过的情况下,向客户终端反馈第二共识结果消息;所述数据处理系统中的节点响应目标业务数据处理请求进行相应的目标业务数据处理。
需要说明的是,上述实施例阐明的单元、装置或模块等,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
由上可见,基于本说明书实施例提供的业务数据处理装置,先通过改造基于区块链的数据处理系统中的共识结构,在数据处理系统中划分出参与共识操作的至少第一数量个共识节点组,并使得每一个共识节点包括一个主节点和多个副节点在内,至少包含第二数量个节点;客户终端与上述数据处理系统再基于上述共识结构改进得到的预设的共识规则,通过多次的数据交互,进行多重共识操作,并在确定多重共识依次通过的情况下,进行相应的目标业务数据处理。从而能够较好地保护数据处理系统的安全性和可靠性,提高抗攻击能力,并具有较好的容错性;同时,也能够使得数据处理系统中的共识结构的配置相对更加灵活,针对规模比较大的数据处理系统,能有效提高系统整体的共识效率。
虽然本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机可读存储介质中。
通过以上的实施例的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本说明书可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。
Claims (16)
1.一种业务数据处理方法,其特征在于,应用于客户终端,所述方法包括:
向数据处理系统发送第一检测报文;其中,数据处理系统为基于区块链的分布式处理系统,所述数据处理系统至少包括第一数量个共识节点组,所述共识节点组至少包括第二数量个节点,所述共识节点组包括一个主节点和多个副节点;所述多个共识节点组的主节点根据预设的共识规则对第一检测报文进行第一共识操作,并在确定对第一检测报文的第一共识通过的情况下,分别向客户终端反馈第一共识结果消息;
接收并统计第一时长内所接收到的第一共识结果消息的数量;
检测第一共识结果消息的数量是否大于预设的数量阈值;
在确定第一共识结果消息的数量大于预设的数量阈值的情况下,向数据处理系统发送目标业务数据处理请求;其中,所述各个共识节点组中的主节点和副节点分别根据预设的共识规则在所属的共识节点组中对目标业务数据处理请求进行第二共识操作;第一类主节点根据预设的共识规则与其他第一类主节点对目标业务数据处理请求进行第三共识操作;其中,第一类主节点为对目标业务数据处理请求的第二共识通过的共识节点组中的主节点;
接收第一类主节点反馈的第二共识结果消息;其中,在第一类共识节点对目标业务数据处理请求的第三共识通过的情况下,第一类共识节点向客户终端反馈第二共识结果消息;所述数据处理系统中的节点响应目标业务数据处理请求进行相应的目标业务数据处理。
2.根据权利要求1所述的方法,其特征在于,在向数据处理系统发送第一检测报文之前,所述方法还包括:
向数据处理系统中的各个节点发送第二检测报文;其中,所述第二检测报文用于检测数据处理系统中的各个节点的节点状态;数据处理系统中的各个节点响应所述第二检测报文,反馈当前状态信息;
接收并根据数据处理系统中的节点的当前状态信息,确定数据处理系统的当前状态是否符合业务数据处理条件。
3.根据权利要求2所述的方法,其特征在于,所述当前状态信息包括以下至少之一:节点的总数量、在线节点数量、节点的节点标识、节点所属的共识节点组的节点组标识、节点的通信状态参数。
4.根据权利要求2所述的方法,其特征在于,在接收并根据数据处理系统中的节点的当前状态信息,确定数据处理系统的当前状态是否符合业务数据处理条件之后,所述方法还包括:
在确定数据处理系统的当前状态不符合业务数据处理条件的情况下,间隔第二时长后,向数据处理系统中的各个节点重新发送第二检测报文。
5.根据权利要求1所述的方法,其特征在于,所述第一检测报文还携带有目标业务数据处理请求的关联信息;其中,所述关联信息包括以下至少之一:与目标业务数据处理请求相关的数据处理操作的操作类型、目标业务数据处理请求所针对的目标业务数据的数据类型、与目标业务数据处理请求相关的用户标识。
6.根据权利要求1所述的方法,其特征在于,所述多个共识节点组的主节点根据预设的共识规则对第一检测报文进行第一共识操作,包括:
所述多个共识节点组的主节点根据预设的共识规则,分别生成针对第一检测报文的第一确认信息,并将该第一确认信息发送至其他共识节点组的主节点;
所述多个共识节点组的主节点分别统计并检测所接收到的第一确认信息的数量与共识节点组的组数的比值是否大于预设的第一比例阈值;
所述共识节点组的主节点在确定所接收到的第一确认信息的数量与共识节点组的组数的比值大于预设的第一比例阈值的情况下,确定对第一检测报文的第一共识通过。
7.根据权利要求6所述的方法,其特征在于,所述数据处理系统还包括监测节点;
相应的,在确定对第一检测报文的第一共识通过之后,所述方法还包括:
监测节点采集并根据共识节点组的主节点所发送的第一确认信息,确定主节点中的正常主节点和异常主节点;
根据预设的奖励规则,增加正常主节点的奖励数据,并减少异常主节点的奖励数据。
8.根据权利要求6所述的方法,其特征在于,在所述多个共识节点组的主节点分别统计并检测所接收到的第一确认信息的数量与共识节点组的组数的比值是否大于预设的第一比例阈值之后,所述方法还包括:
所述共识节点组的主节点在确定所接收到的第一确认信息的数量与共识节点组的组数的比值小于等于预设的第一比例阈值的情况下,生成主节点异常提示信息,并将所述主节点异常提示信息发送至监测节点;
监测节点响应所述主节点异常提示信息,根据多个共识节点组的主节点的第一确认信息的发送数量,确定出异常主节点,以及异常主节点所属的异常共识节点组;
监测节点向所述异常共识节点组发送重选主节点指令;其中,所述异常共识节点组中的节点响应所述重选主节点指令,根据预设的共识规则,重新选举并确定出该共识节点组的主节点。
9.根据权利要求1所述的方法,其特征在于,所述各个共识节点组中的主节点和副节点分别根据预设的共识规则在所属的共识节点组中对目标业务数据处理请求进行第二共识操作,包括:
所述共识节点组中的主节点和副节点根据预设的共识规则,在所属的共识节点组中对目标业务数据处理请求进行验证,在确定验证通过的情况下,生成并向所述的共识节点组中的其他节点发送验证通过信息;
所述共识节点组中的副节点在确定所接收到的验证通过信息的数量与所属的共识节点组中的节点数量的比值大于预设的第二比例阈值的情况下,向所属的共识节点组中的主节点发送第二确认信息;
所述共识节点组中的主节点统计并检测所接收到的第二确认信息的数量与所属的共识节点组中的节点数量的比值是否大于预设的第二比例阈值;
所述共识节点组中的主节点,在确定所接收到的第二确认信息的数量与所属的共识节点组中的节点数量的比值大于预设的第二比例阈值的情况下,确定所属的共识节点组对目标业务数据处理请求的第二共识通过。
10.根据权利要求9所述的方法,其特征在于,在所述共识节点组中的主节点统计并检测所接收到的第二确认信息的数量与所属的共识节点组中的节点数量的比值是否大于预设的第二比例阈值之后,所述方法还包括:
所述共识节点组中的主节点在确定所接收到的第二确认信息的数量与所属的共识节点组中的节点数量的比值小于等于预设的第二比例阈值的情况下,检测所属的共识节点组中是否存在故障节点,和/或,所属的共识节点组中是否存在奖励数据不符合要求的异常节点;
在确定所属的共识节点组中存在故障节点和/或异常节点的情况下,主节点调用数据处理系统中的备用节点替换所述故障节点和/或异常节点。
11.根据权利要求9所述的方法,其特征在于,第一类主节点根据预设的共识规则与其他第一类主节点对目标业务数据处理请求进行第三共识操作,包括:
第一类主节点根据预设的共识规则,生成并向其他主节点发送第三确认信息;
第一类主节点统计并检测所接收到的第三确认信息的数量与共识节点组的组数的比值是否大于预设的第三比例阈值;
第一类主节点在确定所接收到的第三确认信息的数量与共识节点组的组数的比值大于预设的第三比例阈值的情况下,确定对目标业务数据处理请求的第三共识通过。
12.一种业务数据处理方法,其特征在于,应用于数据处理系统中的主节点,其中,所述数据处理系统为基于区块链的分布式处理系统,所述数据处理系统至少包括第一数量个共识节点组,所述共识节点组至少包括第二数量个节点,所述共识节点组包括一个主节点和多个副节点,所述方法包括:
接收客户终端发送的第一检测报文;
根据预设的共识规则,与其他主节点对第一检测报文进行第一共识操作;
在确定第一检测报文的第一共识通过的情况下,向客户终端发送第一共识结果消息;
以及,接收客户终端基于第一共识结果消息所发送的目标业务数据处理请求,并根据预设的共识规则与所属的共识节点组中的其他节点,对目标业务数据处理请求进行第二共识操作;
在确定对目标业务数据处理请求第二共识通过的情况下,根据预设的共识规则与其他第一类主节点对目标业务数据处理请求进行第三共识操作;其中,第一类主节点为对目标业务数据处理请求的第二共识通过的共识节点组中的主节点;
在确定对目标业务数据处理请求的第三共识通过的情况下,向客户终端反馈第二共识结果消息;所述数据处理系统中的节点响应目标业务数据处理请求进行相应的目标业务数据处理。
13.一种业务数据处理装置,其特征在于,应用于客户终端,所述装置包括:
第一发送模块,用于向数据处理系统发送第一检测报文;其中,数据处理系统为基于区块链的分布式系统,所述数据处理系统至少包括第一数量个共识节点组,所述共识节点组至少包括第二数量个节点,所述共识节点组包括一个主节点和多个副节点;所述多个共识节点组的主节点根据预设的共识规则对第一检测报文进行第一共识操作,并在确定对第一检测报文的第一共识通过的情况下,分别向客户终端反馈第一共识结果消息;
第一接收模块,用于接收并统计第一时长内所接收到的第一共识结果消息的数量;
检测模块,用于检测第一共识结果消息的数量是否大于预设的数量阈值;
第二发送模块,用于在确定第一共识结果消息的数量大于预设的数量阈值的情况下,向数据处理系统发送目标业务数据处理请求;其中,所述各个共识节点组中的主节点和副节点分别根据预设的共识规则在所属的共识节点组中对目标业务数据处理请求进行第二共识操作;第一类主节点根据预设的共识规则与其他第一类主节点对目标业务数据处理请求进行第三共识操作;其中,第一类主节点为对目标业务数据处理请求的第二共识通过的共识节点组中的主节点;
第二接收模块,用于接收第一类主节点反馈的第二共识结果消息;其中,在第一类共识节点对目标业务数据处理请求的第三共识通过的情况下,第一类共识节点向客户终端反馈第二共识结果消息;所述数据处理系统中的节点响应目标业务数据处理请求进行相应的目标业务数据处理。
14.一种业务数据处理装置,其特征在于,应用于数据处理系统中的主节点,其中,所述数据处理系统为基于区块链的分布式处理系统,所述数据处理系统至少包括第一数量个共识节点组,所述共识节点组至少包括第二数量个节点,所述共识节点组包括一个主节点和多个副节点,所述装置包括:
接收模块,用于接收客户终端发送的第一检测报文;
第一共识模块,用于根据预设的共识规则,与其他主节点对第一检测报文进行第一共识操作;
第一发送模块,用于在确定第一检测报文的第一共识通过的情况下,向客户终端发送第一共识结果消息;
第二共识模块,用于接收客户终端基于第一共识结果消息所发送的目标业务数据处理请求,并根据预设的共识规则与所属的共识节点组中的其他节点,对目标业务数据处理请求进行第二共识操作;
第三共识模块,用于在确定对目标业务数据处理请求第二共识通过的情况下,根据预设的共识规则与其他第一类主节点对目标业务数据处理请求进行第三共识操作;其中,第一类主节点为对目标业务数据处理请求的第二共识通过的共识节点组中的主节点;
第二发送模块,用于在确定对目标业务数据处理请求的第三共识通过的情况下,向客户终端反馈第二共识结果消息;所述数据处理系统中的节点响应目标业务数据处理请求进行相应的目标业务数据处理。
15.一种计算机可读存储介质,其特征在于,其上存储有计算机指令,所述指令被处理器执行时实现权利要求1至11,或12中任一项所述方法的步骤。
16.一种计算机程序产品,其特征在于,包含有计算机程序,所述计算机程序被处理器执行时实现权利要求1至11,或12中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310261340.9A CN116232744A (zh) | 2023-03-16 | 2023-03-16 | 业务数据处理方法、装置和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310261340.9A CN116232744A (zh) | 2023-03-16 | 2023-03-16 | 业务数据处理方法、装置和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116232744A true CN116232744A (zh) | 2023-06-06 |
Family
ID=86584408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310261340.9A Pending CN116232744A (zh) | 2023-03-16 | 2023-03-16 | 业务数据处理方法、装置和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116232744A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117061324A (zh) * | 2023-10-11 | 2023-11-14 | 佳瑛科技有限公司 | 一种业务数据处理方法以及分布式系统 |
-
2023
- 2023-03-16 CN CN202310261340.9A patent/CN116232744A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117061324A (zh) * | 2023-10-11 | 2023-11-14 | 佳瑛科技有限公司 | 一种业务数据处理方法以及分布式系统 |
CN117061324B (zh) * | 2023-10-11 | 2023-12-15 | 佳瑛科技有限公司 | 一种业务数据处理方法以及分布式系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108122165B (zh) | 一种区块链共识方法及系统 | |
EP2083532B1 (en) | Convergent mediation system with improved data transfer | |
CN105187249B (zh) | 一种故障恢复方法及装置 | |
CN104168333B (zh) | Proxzone服务平台的工作方法 | |
CN110730225A (zh) | 基于区块链的物联网的数据处理方法、物联网及存储介质 | |
EP2107464A1 (en) | Convergent mediation system with dynamic resource allocation | |
US20050132154A1 (en) | Reliable leader election in storage area network | |
EP2083533B1 (en) | Convergent mediation system with dedicated online streams | |
CN109600375A (zh) | 消息跟踪方法、装置、电子设备及存储介质 | |
CN116232744A (zh) | 业务数据处理方法、装置和计算机可读存储介质 | |
KR20180037342A (ko) | 어플리케이션 에러 모니터링 및 통계관리 서비스 및 방법 | |
CN105677675A (zh) | 业务处理方法及装置 | |
CN110222535A (zh) | 区块链配置文件的处理装置、方法及存储介质 | |
CN112737800A (zh) | 服务节点故障定位方法、调用链生成方法及服务器 | |
CN110784331A (zh) | 一种共识流程恢复方法及相关节点 | |
CN111311254A (zh) | 一种基于区块链的业务处理方法、装置和系统 | |
CN114416490A (zh) | 基于区块链的监控报警方法、装置、电子设备及存储介质 | |
CN115829731A (zh) | 一种交易信息处理方法及装置 | |
CN111190754B (zh) | 一种区块链事件通知方法及区块链系统 | |
US6798780B1 (en) | Techniques for achieving high responsiveness from communicating nodes, and verifying, measuring and deterring any unresponsiveness thereof | |
CN115729786A (zh) | 一种应用于多系统的监控方法、装置、设备及存储介质 | |
CN115314289A (zh) | 受攻击执行体识别方法、输出表决器、设备及存储介质 | |
US20060248531A1 (en) | Information processing device, information processing method and computer-readable medium having information processing program | |
CN112688818B (zh) | 数据发送方法、装置、电子设备及可读存储介质 | |
CN111708802A (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 |