CN117499400A - 一种分布式消息处理与分析方法、装置和产品 - Google Patents
一种分布式消息处理与分析方法、装置和产品 Download PDFInfo
- Publication number
- CN117499400A CN117499400A CN202311507353.6A CN202311507353A CN117499400A CN 117499400 A CN117499400 A CN 117499400A CN 202311507353 A CN202311507353 A CN 202311507353A CN 117499400 A CN117499400 A CN 117499400A
- Authority
- CN
- China
- Prior art keywords
- server
- block
- servers
- matrix
- target
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 86
- 238000000034 method Methods 0.000 title claims abstract description 74
- 239000011159 matrix material Substances 0.000 claims description 99
- 238000009826 distribution Methods 0.000 claims description 76
- 238000012546 transfer Methods 0.000 claims description 29
- 230000007704 transition Effects 0.000 claims description 28
- 230000005540 biological transmission Effects 0.000 claims description 27
- 238000004458 analytical method Methods 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 14
- 238000003672 processing method Methods 0.000 claims description 12
- 238000013507 mapping Methods 0.000 claims description 11
- 230000033228 biological regulation Effects 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 10
- 230000000694 effects Effects 0.000 claims description 9
- 238000005070 sampling Methods 0.000 claims description 9
- 238000004088 simulation Methods 0.000 claims description 5
- 238000013210 evaluation model Methods 0.000 claims description 4
- 230000002194 synthesizing effect Effects 0.000 claims description 3
- 230000001105 regulatory effect Effects 0.000 claims 2
- 230000008569 process Effects 0.000 description 24
- 238000004422 calculation algorithm Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 7
- 238000000342 Monte Carlo simulation Methods 0.000 description 6
- 230000000903 blocking effect Effects 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000001902 propagating effect Effects 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 206010033799 Paralysis Diseases 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
-
- 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/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供了一种分布式消息处理与分析方法、装置和产品,涉及区块链技术领域,该方法为:在确定进入新的区块传播轮次的情况下,获取分布式消息;根据所述分布式消息,利用能力评估模型确定每个服务器的有效处理能力;根据所述每个服务器的有效处理能力,指导服务器将区块发送至目标服务器。
Description
技术领域
本申请涉及区块链技术领域,特别是一种分布式消息处理与分析方法、装置和产品。
背景技术
区块链是一种分布式的账本数据库,具有去中心化、数据可追溯、防篡改的特性。HashGraph区块链的结构是基于Gossip方法运行的。当一个服务器在收到一个区块后,会产生一个区块并随机挑选一个目标服务器进行通信,传输此新区块,目标服务器收到此新区块后,同样会产生一个区块,随机挑选一个目标服务器进行通信,以传输此新区块,系统以此往复,持续运行。当大部分(超过2/3)服务器的区块在系统上被大部分(超过2/3)服务器接收,则系统可以进入新的轮次,在新的轮次下继续挑选目标服务器传播区块。
然而,现有的HashGraph算法,完全随机的挑选目标服务器进行通行,会存在多个服务器将新区块同时传播给某个目标服务器的可能性,导致该目标服务器性能超负荷、系统阻塞、甚至宕机的情况发生。因此,有必要开发一种分布式消息处理与分析方法、装置和产品,以实现平稳均衡的区块传播,避免出现服务器性能超负荷、系统阻塞、甚至宕机等问题。
发明内容
鉴于上述问题,本申请实施例提供了一种分布式消息处理与分析方法、装置和产品,以便克服上述问题或者至少部分地解决上述问题。
本申请实施例的第一方面,提供了一种分布式消息处理与分析方法,包括:
在确定进入新的区块传播轮次的情况下,获取分布式消息;
根据所述分布式消息,利用能力评估模型确定每个服务器的有效处理能力;
根据所述每个服务器的有效处理能力,指导服务器将区块发送至目标服务器。
本申请实施例第二方面还提供了一种分布式消息处理与分析装置,所述装置包括:
分布式消息获取模块,用于在确定进入新的区块传播轮次时,获取分布式消息;
处理能力计算模块,用于根据所述分布式消息,利用能力评估模型确定每个服务器的有效处理能力;
区块发送指导模块,用于根据所述每个服务器的有效处理能力,指导服务器将区块发送至目标服务器。
本申请实施例第三方面还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上的计算机程序,所述处理器执行所述计算机程序以实现本申请实施例第一方面所述的分布式消息处理与分析方法中的步骤。
本申请实施例第四方面还提供了一种计算机可读存储介质,其上存储有计算机程序/指令,该计算机程序/指令被处理器执行时实现本申请实施例第一方面所述的分布式消息处理与分析方法中的步骤。
本申请实施例第五方面还提供了一种计算机程序产品,所述计算机程序产品在电子设备上运行时,使处理器执行时实现如本申请实施例第一方面所述的分布式消息处理与分析方法中的步骤。
本申请实施例提供的一种分布式消息处理与分析方法,包括:在确定进入新的区块传播轮次的情况下,获取分布式消息;根据所述分布式消息,利用能力评估模型确定每个服务器的有效处理能力;根据所述每个服务器的有效处理能力,指导服务器将区块发送至目标服务器。
本申请实施例建立了一种更加智能的随机的区块传播过程,通过获取分布式消息,根据分布式消息计算服务器的有效处理能力,根据服务器的有效处理能力的高低,对区块链集群节点产生区块后随机挑选目标进行传播的过程进行指导,使得区块链系统生成区块与接收区块的分布更加均匀并且符合实际情况,最大化利用集群节点硬件资源,增大系统吞吐量。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种分布式消息处理与分析方法的步骤流程图;
图2是本申请实施例提供的一种HashGraph算法的Gossip传播示意图;
图3是本申请实施例提供的一种HashGraph算法的区块传播轮次示意图;
图4是本申请实施例提供的一种马尔科夫链的状态转移示意图;
图5是本申请实施例提供的一种马尔科夫链细致平稳条件图;
图6是本申请实施例提供的一种区块传播的流程示意图;
图7是本申请实施例提供的一种分布式消息处理与分析装置的结构示意图:
图8是本申请实施例提供的一种电子设备的示意图。
具体实施方式
下面将结合本申请实施例中的附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
首先对本申请技术方案所涉及的技术用词进行简要说明。
区块链(BlockChain):区块链是一种分布式的账本数据库,具有去中心化、数据可追溯、防篡改的特性。在传统中心化数据存储系统中,即便采用异地灾备,面对瞬息万变的战场环境,也很难确保数据的安全性。而在采用区块链技术的系统中,则不需要一个中心化的存储与处理系统,整个系统的任何一个主体都可以存储一整套区块链账本,参与整个系统的数据处理过程。同时,区块链系统中的任一节点被摧毁都不会导致系统的数据丢失与功能瘫痪,可以保证在瞬息万变的战场环境下的可用性与安全性。区块链中的每一个区块都会包含前一个区块的散列值,这种数据加密方法使得数据间的联系更加紧密,被入侵修改数据的可能性微乎其微。
有向无环图(Directed Acyclic Graph,DAG)区块链:传统的区块链系统基于单链结构,区块以链表的方式向上生长。这种结构简单清晰,便于回溯,可在拓展性和性能方面有较大的缺陷。当区块链系统的节点数量增多时,由于需要向同一个链上追加区块,因此节点数量越多,达成共识的难度也越大,系统的吞吐量便会下降。而新型的DAG区块链,采用有向无环图方式构造区块链,每个区块都会指向若干个已确认区块,因此形成了一个有向无环图。DAG区块链与传统区块链工作机制的不同之处在于,后者需要完成工作量证明(Proofof Work,PoW)来执行每一笔交易,而DAG区块链能摆脱区块链的限制来完成这样的操作。不同的是,在DAG区块链中一笔交易接着另外一笔,这意味着一笔交易能够对下一笔交易提供证明,由此一直排序下去。这些交易之间的连接就是DAG,就像区块通过哈希值来向整条区块链提供它们的名字一样。在传统块链式区块链中,每笔交易都要花费不少时间,而对于DAG区块链来说,交易时间将变得微不足道。
哈希图(HashGraph):HashGraph是一种数据结构和共识算法,属于DAG图,是一个底层的出块层,由多条链以及链之间的相互引用组成。HashGraph在共识过程中节点间只需进行少量的数据交互便能保证一致性,减少了网络开销。在HashGraph算法中,每次算法的共识达成都需要统计所有节点的虚拟投票,当节点数量增多时,统计难度也会增加。并且HashGraph算法是一个异步拜占庭容错算法,其共识的顺利达成至少需要全网2/3的节点是可信节点,一旦恶意节点超过1/3,算法将无法保障系统的安全。通过获取每个节点共有的信息以及获取信息的时间,可获取节点的投票信息,从而获得虚拟的投票数据。该数据可以用作投票算法的输入,并且利用该数据能够快速找到已达成共识的交易。确保所有成员获取所有事件后,还需要对事件以及交易的线性顺序记录保存在事件的内部。
HashGraph区块链的结构是基于Gossip方法运行的。当一个服务器在收到一个区块后,会产生一个区块并随机挑选一个目标服务器进行通信,传输此新区块,目标服务器收到此新区块后,同样会产生一个区块,随机挑选一个目标服务器进行通信,系统以此往复,持续运行。当大部分(超过2/3)服务器的区块在系统上被大部分(超过2/3)服务器接收,则系统可以进入新的轮次,在新的轮次下继续挑选目标服务器传播区块。
但是完全随机的挑选目标服务器进行通信,会存在多个服务器将新区块同时传播给某个服务器的可能性,导致该目标服务器性能超负荷、系统阻塞、甚至宕机的情况发生。
为了避免系统中某些服务器堆积大量区块导致系统阻塞,常见的处理方式是:不使用完全随机的方式挑选目标服务器发送区块,而是以一定的预设概率进行发送。示例性的,集群中存在A、B、C三个服务器,考虑B服务器性能更强,则A、C服务器以更高的概率将区块发送给B服务器,对应的概率值依据经验或者实践判断。上述方法存在如下缺点:缺点1:需要对服务器进行考量的因素不应只有机器性能。缺点2:依据经验或者实践难以得出准确的区块发送概率分布,存在偏差。缺点3:机器服务器的性能、活跃度等因素会实时变化,预设的目标分布可能并不适用于系统运行时全周期的情况。所以,仍然无法实现区块链的均衡平稳的区块传播。
鉴于上述问题,本申请实施例提出一种分布式消息处理与分析方法、装置和产品,以解决上述区块传播过程中的系统阻塞、服务器性能超负荷等问题。下面结合附图,通过一些实施例及其应用场景对本申请实施例提供的一种分布式消息处理与分析方法进行详细地说明。
本申请实施例第一方面提供了一种分布式消息处理与分析方法,参照图1,图1为本申请实施例提供的一种分布式消息处理与分析方法的步骤流程图,如图1所示,所述方法包括:
步骤S101,在确定进入新的区块传播轮次的情况下,获取分布式消息。
在本实施例中,可以通过分布式系统中的HashGraph算法确定进入新的区块传播轮次时,获取分布式消息,所述分布式消息表示服务器集群中各个服务器的实时状态信息。
参照图2,图2示出了一种HashGraph算法的Gossip传播示意图,如图2所示,对于HashGraph算法,在服务器A、B、C、D之间传播区块的过程中,只有在其中的一个服务器在收到一个区块后,会产生一个区块并随机挑选一个目标服务器进行通信,传输新区块,如图2中服务器B接收到一个区块后,随机向服务器D发送新的区块。目标服务器收到此新区块后,同样会产生一个新区块,随机挑选另一个目标服务器进行通信,系统以此往复,持续运行。
参照图3,图3示出了一种HashGraph算法的区块传播轮次示意图,如图3所示,该传播区块的过程是逐轮次依次进行的。当大部分(超过服务器总数的2/3)服务器的区块在系统上被除自身以外的大部分(超过服务器总数的2/3)服务器接收,则系统可以进入新的轮次,如图3所示,在服务器A、B、C、D之间传播区块的过程中,服务器A、B、C、D分别产生区块a1、b1、c1、d1时表示进入新一轮次,在该轮次下,各个服务器继续挑选目标服务器传播区块。传播一定时间后,再次发生大部分(超过2/3)服务器的区块在系统上被大部分(超过2/3)服务器接收,则该系统重新进行一个新的轮次,如图3所示的服务器A、B、C、D分别产生区块a2、b2、c2、d2时表示又进入新一轮次。分布式消息表示在当前时刻服务器的各项状态相关信息,包括负载情况、受攻击信息、响应速度信息和错误区块相关信息等。在本实施例中,每进入一个新的轮次,则重新获取分布式消息,为后续计算服务器的有效处理能力做准备,从而保证了能够及时根据服务器的实时状态进行分析,得到更为准确的有效处理能力评估结果。
步骤S102,根据所述分布式消息,利用能力评估模型确定每个服务器的有效处理能力。
在本实施例中,所述能力评估模型用于从服务器的剩余性能、安全性、活跃度和可信度四个方面对服务器的有效处理能力进行计算;能力评估模型用于根据服务器在系统中的表现决定其有效处理能力的高低,能力评估模型与奖励机制结合在一定程度上增大了模型对服务器的威慑作用。可选的,该能力评估模型可以为信誉度模型,该有效处理能力可以为该服务器的信誉度。通过对所有服务器可能存在的威胁系统效率的行为进行分析,得出服务器的考察因素主要分为性能、安全性、活跃度、可信度四个方面。
本实施例综合考量区块链系统集群中各个服务器的剩余性能、安全性、活跃度和可信度,从而实现对服务器的有效处理能力更为准确的评估,让有效处理能力更高的服务器有能力处理更多的区块,使得其它服务器能够以更高的概率将区块发送给“有效处理能力高”的服务器进行处理。相比于相关技术中,仅仅对服务器的机器性能考量,进而优先向机器性能更高的服务器发送区块的方法,本申请能够更加全面充分的对每个服务器进行评估,从而确定出更为合适的服务器。
在一种可选的实施方式中,所述步骤S102,根据所述分布式消息,利用能力评估模型确定每个服务器的有效处理能力,包括:
步骤S1031,根据所述分布式消息,至少计算服务器的CPU与内存负载程度,得到服务器剩余性能分值。具体的,服务器的剩余性能(Surplus Computing power,Sc)表示服务器的剩余计算能力。能力评估模型可以根据输入的分布式消息,提取得到服务器的CPU与内存负载相关的信息,从而根据计算得到的负载情况,从预设的Sc分值表中,确定得到的服务器剩余性能分值(Sc分值)。示例性的,预设的Sc分值表可以表示为如下形式:
步骤S1032,根据所述分布式消息,至少计算服务器的受攻击概率,得到服务器安全性分值;具体的,服务器的安全性(Possibility ofbeingAttacked,Pa)表示服务器受到外界攻击的概率高低。能力评估模型可以根据输入的分布式消息,提取得到服务器受攻击的相关信息,从而根据计算得到的受攻击概率,从预设的Pa分值表中,确定得到的服务器安全性分值(Pa分值)。示例性的,预设的Pa分值表可以表示为如下形式:
步骤S1033,根据所述分布式消息,至少计算服务器的响应时间,得到服务器活跃度分值;具体的,服务器的活跃度(Reposting Time,Rt)表示服务器响应请求的速度快慢。能力评估模型可以根据输入的分布式消息,提取得到服务器在近段时间内响应对应请求所花费的时间长短,从而根据计算得到的服务器的响应时间,从预设的Rt分值表中,确定得到的服务器安全性分值(Rt分值)。示例性的,预设的Rt分值表可以表示为如下形式:
步骤S1034,根据所述分布式消息,至少计算服务器的错误区块数量,得到服务器可信度分值;具体的,服务器的可信度(mistake rate,Mr)表示服务器发生错误的概率高低。能力评估模型可以根据输入的分布式消息,提取得到服务器在近段时间内产生的错误区块数量,从而根据计算得到的服务器的可信度,从预设的Mr分值表中,确定得到的服务器可信度分值(Mr分值)。示例性的,预设的Mr分值表可以表示为如下形式:
步骤S1034,根据预设调控系数,至少综合所述服务器剩余性能分值、所述服务器安全性分值、所述服务器活跃度分值和所述服务器可信度分值,得到该服务器的所述有效处理能力。
具体的,按照如下公式,利用预设调控系数,至少对服务器剩余性能分值、服务器安全性分值、服务器活跃度分值和服务器可信度分值进行加权求和,将得到的结果作为对应服务器的有效处理能力的值:
信誉度Fame=αSc+βPa+εRt+σMr;
其中,α表示服务器剩余性能分值Sc的预设调控系数,β表示服务器安全性分值、ε表示服务器活跃度分值的预设调控系数、σ表示服务器可信度分值的预设调控系数。
此外,在实际应用过程中,可以根据实际情况(例如系统对服务器的剩余性能、安全性、活跃度和可信度的不同重视程度)对各项预设调控系数的大小进行调整。示例性的,若当前系统运行过于缓慢,可以提高服务器剩余性能分值Sc的预设调控系数,并适当降低其他分支的预设调控系数,则当前系统中剩余性能更高的服务器能够取得更高的有效处理能力评估结果,其他服务器在发送区块时,更可能发送给性能更强的服务器处理,依次提高了系统整体的吞吐量。
步骤S103,根据所述每个服务器的有效处理能力,指导服务器将区块发送至目标服务器。
在一种可选的实施方式中,所述步骤S103,根据所述每个服务器的有效处理能力,指导服务器将区块发送至目标服务器,包括:
步骤S1031,根据所述每个服务器的有效处理能力,计算目标概率分布;其中,所述目标概率分布,表示该区块传播轮次中,所述每个服务器接收的区块数量在总区块数量中的占比。具体的,可以表示为:
π=(x1 x2 … xi … xn);其中,π表示目标概率分布,其中xi指第i个服务器接收的区块数量在总区块数量中的占比。示例性的,对于服务器A,服务器B和服务器C的区块传播过程中,计算得到目标概率分布为[0.3,0.4,0.3],表示在该区块传播轮次中,若总共发送了n个区块,则服务器A接收到0.3n个区块,服务器B接收到0.4n个区块,服务器C接收到0.3n个区块。
在一种可能的实施方式中,所述步骤S1031,根据所述每个服务器有效处理能力,计算目标概率分布,包括:
步骤S1031-1,将所述每个服务器的有效处理能力分别与预设的权重映射表进行匹配,得到所述每个服务器各自在服务器集群中的权重。
具体的,将每个服务器的有效处理能力(例如,信誉度Fame)分别与权重映射表进行匹配,从表中确定出每个服务器各自在集群中的权重Bbefore,可以为斐波拉契数列权重。权重映射表表示有效处理能力的值与权重的映射关系,不同的权重对应不同的有效处理能力的取值范围。示例性的,权重映射表可以表示为如下表1的形式。
表1
序号 | 信誉度Fame | 权重Bbefore |
1 | Fame≤5 | 1 |
2 | 5<Fame≤10 | 2 |
3 | 10<Fame≤15 | 3 |
4 | 15<Fame≤20 | 5 |
5 | 20<Fame≤25 | 8 |
6 | 25<Fame≤30 | 13 |
7 | 30<Fame≤35 | 21 |
8 | 35<Fame≤40 | 34 |
示例性的,通过步骤S102确定服务器A的有效处理能力的值为15,则可以通过权重映射表,查询得到服务器A的权重Bbefore大小为3。
步骤S1031-2,将所有服务器的权重Bbefore相加,得到总权重
步骤S1031-3,对所述每个服务器的权重进行调和,得到所述每个服务器的调和后权重。
为避免服务器集群中个别服务器的有效处理能力的分值过高,使得该服务器成为热点,出现集群中大部分的服务器均向其发送区块的问题,需要对服务器的权重进行调和,使得服务器的调和后权重更为均衡。
在一种可能的实施方式中,所述步骤步骤S1031-3,对所述每个服务器的权重进行调和,得到所述每个服务器的调和后权重,包括:
从所有服务器中确定出待调和服务器,所述待调和服务器为权重的值超出所述总权重的二分之一的服务器。
在确定每个服务器的权重Bbefore和总权重之后,将其中权重的值Bbefore超过了总权重的二分之一/>的服务器确定为待调和服务器。
对于每个所述待调和服务器,将超出部分按照原权重比例分配给所述服务器集群中的剩余服务器,得到调和后权重;所述原权重比例表示所有服务器之间的权重的比例。
具体的,对于每个待调和服务器,将超过部分,即这一部分,按照原权重比例/>将其分配给服务器集群中的其他的服务器,得到调和后权重Bafter,即第i个服务器的调和后权重为/>
步骤S1031-4,根据所述每个服务器的所述调和后权重与所述总权重的比例,生成所述目标概率分布。
具体的,将每个服务器的调和后权重Bafter和总权重的比值作为该服务器在该轮次内接收到区块的概率。所以,服务器的有效处理能力的分值越高,计算得到的权重越大,调和后权重越大,进而计算得到的调和后权重Bafter和总权重/>的比值越高,最终在目标概率分布中,该服务器的接收到区块的概率就越高。具体的,可以按照如下公式计算得到各个服务器的目标概率分布:
其中,π表示目标概率分布,xi指第i个服务器接收的区块数量在总区块数量中的占比,表示第i个服务器的调和后权重,/>表示总权重。示例性的,在服务器A、B、C组成的服务器集群中,通过能力评估模型得到服务器A、B、C的信誉度分别为20、34、38,映射得到权重比例为5:21:34,因服务器C的权重超过了服务器A+B的权重和,不符合马尔科夫链要求,故将服务器C超过半数部分权重,以5:21的比例分配给服务器A和B,即调和后权重的比例为5.77:24.23:30,则对应的服务器接收区块的目标概率分布为
步骤S1032,根据所述目标概率分布,使用马尔科夫链细致平稳条件,计算转移矩阵;所述转移矩阵用于表示服务器发送区块给另一服务器的概率。
马尔科夫链蒙特卡洛方法(Markov Chain Monte Carlo,MCMC)是以马尔科夫平稳状态作为理论基础,蒙特卡洛方法作为手段的概率序列生成技术。该采样计算方法在蒙特卡洛模拟的基础上添加了马尔科夫过程,因此该方法能够在抽样分布随模拟过程中进行实时改变的动态模拟。在使用HashGraph算法的同时,如果新区块上链的位置不够均衡,则多个新区块会以高频率指向相同的父区块,此时DAG图就会退化成多个树状结构,显著降低系统的并发性。因此,拟采用基于MCMC的高并发上链算法,利用算法的随机采样功能来获取更加均衡的区块上链位置,从而解决上述问题。
转移矩阵P中的每个元素Pjj用于表示服务器i发送区块给另一服务器j的概率。参照图4,图4示出了一种马尔科夫链的状态转移示意图,如图4所示,转移矩阵P中第一列为服务器A向服务器A、B、C发送区块的概率,第二列为服务器B向服务器A、B、C发送区块的概率、第三列为服务器C向服务器A、B、C发送区块的概率。由此可以知道服务器C向服务器A发送区块的概率为0.2,服务器C向服务器B发送区块的概率为0.8。
参照图5,图5示出了一种马尔科夫链细致平稳条件图,如图5所示,满足遍历定理的转移矩阵P,不仅满足Pπ=π,并且能够在任意初始分布π0下,根据转移矩阵P进行转移,都可以得到目标平稳分布π(这里的π表示每一区块传播轮次中的目标概率分布或最终的区块分布状态)。因区块在各个服务器间的分布开始状态是随机分布的,故需要任意状态的分布在有限次数转移后能够调整为目标平稳分布。现在本申请实施例需要求满足遍历定理的转移矩阵P,可以使用马尔科夫链的细致平稳条件。马尔科夫链细致平稳条件是指,对于任意状态空间内的状态r与状态m,当从状态m转移到状态r的概率,与状态r转移到状态m的概率相等时,则满足马尔科夫链细致平稳条件,即Prmπm=Pmrπr。
在一种可能的实施方式中,所述步骤S1032,根据所述目标概率分布,使用马尔科夫链细致平稳条件,计算转移矩阵,包括:
步骤S1032-1,获取矩阵Q;所述矩阵Q中的每个元素随机取值。矩阵Q可以按照如下公式表示:
步骤S1032-2,根据所述目标概率分布,所述矩阵Q和所述马尔科夫链细致平稳条件,生成调和矩阵U,所述调和矩阵U与所述矩阵Q组合满足所述马尔科夫链细致平稳条件,即满足如下公式:
uijqijπj=ujiqjiπi;其中,uij表示所述调和矩阵U中的第i行第j列的元素,uji表示所述调和矩阵U中的第j行第i列的元素,qij表示所述矩阵Q中的第i行第j列的元素,qji表示所述矩阵Q中的第j行第i列的元素,πi表示所述目标概率分布中服务器i的区块分布概率(即服务器i接收的区块数量在总区块数量中的占比),πj表示所述目标概率分布中服务器j的区块分布概率(即服务器j接收的区块数量在总区块数量中的占比)。
具体的,将所述矩阵Q带入马尔科夫链细致平稳条件,由于矩阵Q中的元素为随机取值所得,所以矩阵Q与区块分布π组成不等式qijπj≠qjiπi。然后,在该不等式的两边添加调和矩阵U,使得等式uijqijπj=ujiqjiπi成立。调和矩阵U的公式可以表示为:
因等式两边只做数值运算,对于调和矩阵U中的元素,可以取值为:
其中,uij表示所述调和矩阵U中的第i行第j列的元素,uji表示所述调和矩阵U中的第j行第i列的元素,qij表示所述矩阵Q中的第i行第j列的元素,qji表示所述矩阵Q中的第j行第i列的元素,πi表示所述目标概率分布中服务器i的区块分布概率(即服务器i接收的区块数量在总区块数量中的占比),πj表示所述目标概率分布中服务器j的区块分布概率(即服务器j接收的区块数量在总区块数量中的占比),X表示预先设定的系数。按照上述公式对调和矩阵U中的元素进行取值,从而使得该等式uijqijπj=ujiqjiπi两边恒等。
步骤S1032-3,根据所述矩阵Q和所述调和矩阵U,生成所述转移矩阵,所述转移矩阵满足如下公式:
其中,Pij表示所述转移矩阵中的第i行第j列的元素,Pji表示所述转移矩阵中的第j行第i列的元素,uij表示所述调和矩阵U中的第i行第j列的元素,uji表示所述调和矩阵U中的第j行第i列的元素,qij表示所述矩阵Q中的第i行第j列的元素,qji表示所述矩阵Q中的第j行第i列的元素,n表示所述服务器集群中的服务器总数。可以将转移矩阵P表示为:
由此,使得转移矩阵P始终满足马尔科夫链细致平稳条件,并存在唯一平稳分布π。
转移矩阵P中的每个元素Pij用于表示服务器i发送区块给另一服务器j的概率。示例性的,已知转移矩阵即可知服务器A以概率0将区块发送给服务器B,以概率1将区块发送给服务器C;服务器B以概率0将区块发送给服务器A,以概率1将区块发送给服务器C;服务器C以概率0.2将区块发送给A,以概率0.8将区块发送给B。本申请实施例使用MCMC方法旨在让新区块传播过程在服务器间分布均匀。由于各个服务器的处理能力不同,所以绝对的均匀或许并不是系统吞吐量与资源利用率的最优解。在实践过程中,本申请实施例在MCMC方法基础上增加考虑了服务器的运算处理能力,使得配置高、性能优的服务器能够接收处理更多的区块,配置低、性能差的服务器尽量少的接收区块,避免单节点性能不足导致系统拥塞,甚至服务器宕机的情况,不要求部署系统的服务器配置相同,可以最大化利用已有资源。
步骤S1033,利用所述转移矩阵,构建所述每个服务器的几何概率模型。
在本实施例中,在计算得到转移矩阵后,就可以得到各个服务器将区块发送给其它服务器的概率分布,从而构建几何概率模型,该几何概率模型用于表示服务器向其他服务器发送区块的概率。本申请实施例根据服务器之间的区块发送的转移矩阵,通过马尔科夫链模型计算各个服务器准确的发送区块给其它服务器的概率,然后构造几何概率模型对区块发送的随机过程进行模拟,以符合根据服务器有效处理能力得出的区块接收概率,使得各个服务器在综合考量四个维度后,区块的分布更加均衡,更适应服务器的实际情况。
在一种可能的实施方式中,所述步骤S1033,利用所述转移矩阵,构建所述每个服务器的几何概率模型,包括:
步骤S1033-1,根据所述转移矩阵中的每个元素的值的大小,确定每个服务器将区块发送给所述服务器集群中的其他服务器的概率分布。
在本实施例中,在计算得到转移矩阵后,就可以得到各个服务器将区块发送给其它服务器的概率分布,从而构建几何概率模型,该几何概率模型用于表示服务器向其他服务器发送区块的概率。
步骤S1033-2,根据模拟方法,对于每个所述概率分布进行数学建模,得到每个服务器的所述几何概率模型,所述几何概率模型表示为如下公式:
其中,αt表示对应服务器的取值范围,n表示所述服务器集群中的服务器总数,所述服务器S表示所述服务器集群中的任意一个服务器;Pis表示所述服务器S的概率分布[P1s,P2s,......Pns]中的元素,对应于转移矩阵中的元素。示例性的,在服务器A、B、C、D中,服务器A的概率分布为[0.2,0.4,0.5],则由此构建的服务器A的几何概率模型可以表示为:服务器B的取值范围αt∈(0,0.2],服务器C的取值范围αt∈(0.2,0.6],服务器D的取值范围αt∈(0.6,1]。在本实施例中,所述模拟方法可以为蒙特卡洛方法。
步骤S1034,在接收到服务器的区块发送请求时,根据该服务器对应的所述几何概率模型,生成区块发送指导信息,所述区块发送指导信息用于指导该服务器将区块发送至所述目标服务器。
在本实施例中,在该区块发送轮次内,对于该服务器集群中的任意一个服务器,在产生新的区块时,使该服务器的几何概率模型根据区块发送请求生成对应的区块发送指导消息,从而使得服务器根据该区块发送指导消息,将生成的区块发送给目标服务器。
在一种可选的实施方式中,所述步骤S1034,在接收到服务器的区块发送请求时,根据该服务器对应的所述几何概率模型,生成区块发送指导信息,包括:
步骤S1034-1,在接收到服务器的区块发送请求时,在预设数值范围内进行随机抽样,得到随机值;可选的,该预设数值范围为(0,1]。
步骤S1034-2,根据所述随机值,从该服务器的所述几何概率模型中,确定所述随机值所属的取值范围αt,根据所述取值范围,确定所述目标服务器;
步骤S1034-3,根据所述目标服务器,生成所述区块发送指导信息。
示例性的,在服务器A、B、C中,服务器A的概率分布为[0.2,0.4,0.5],则由此构建的服务器A的几何概率模型可以表示为:服务器B的取值范围αt∈(0,0.2],服务器C的取值范围αt∈(0.2,0.6],服务器D的取值范围αt∈(0.6,1]。在接收到服务器的区块发送请求时,在(0,1]的范围内进行随机抽样,抽样得到的随机值为0.5,通过服务器A的几何概率模型,确定该随机值0.5所属的取值范围αt为(0.2,0.6],该取值范围对应的服务器为服务器C,所以服务器C为目标服务器,生成的区块发送指导信息用于指服务器A将产生的区块发送给服务器C。
在本实施例中,随着HashGraph算法在服务器集群中的运行,当大部分(超过服务器总数的2/3)服务器的区块在系统上被除自身以外的大部分(超过服务器总数的2/3)服务器接收,则系统可以进入新的轮次。每进入一个新的区块发送轮次,则需要重新统计服务器状态(重新统计服务器的剩余性能、响应时间、可信度、安全性),即重新获取分布式消息,通过能力评估模型计算得到新的有效处理能力评估结果,进而得到新的转移矩阵。从而根据新的转移矩阵,建立每个服务器新的几何概率模型,以指导各个服务器向目标服务器发送区块。
参照图6,图6示出了一种区块传播的流程示意图,如图6所示,该流程具体为:
步骤1、在服务器A、B、C、D、E上实现HashGraph区块链网络,使用Gossip方法传播区块。首先在各个服务器上实现接收区块的功能,使之能够接收其他服务器发送的区块,然后在各个服务器上实现产生区块的功能,在服务器接收到区块后触发,最后,在服务器上的区块链系统启动时,主动发送一个创世区块给其它服务器,以触发整个HashGraph的Gossip流程,即收到区块后,产生区块并传播,以此往复。
步骤2、构建信誉度模型,该信誉度模型能够从服务器的剩余算力、下线频率、响应时间和错误率各方面对服务器的信誉度进行评估计算。
步骤3、划分轮次,根据HashGraph算法,在进入新的一个区块传播轮次时,统计最新的服务器状态(获取分布式消息),即根据系统运行情况,统计各个服务器的剩余性能Sc、响应时间Rt、安全性Pa、可靠性Mr,根据这4个维度的量化统计结果,映射到信誉度模型中,得到服务器A、B、C、D、E各自的信誉度。
步骤4、获得区块分布。根据信誉度得到服务器在集群中的权重,进而得出各个服务器接收区块概率的目标概率分布。具体的,根据服务器A、B、C、D、E各自的信誉度,得到服务器接收区块的斐波拉契数列权重,斐波拉契数列权重值可以通过各服务器的信誉度与服务器信誉度权重映射表得出。根据信誉度映射权重值,得到服务器A、B、C、D、E接收区块的目标概率分布。
步骤5、计算转移矩阵。具体的,根据得到的目标概率分布,使用马尔科夫链模型,求出各个服务器发送区块给其它服务器的概率分布,得到转移矩阵P,转移矩阵P中的元素Pij表示服务器i发送区块给服务器j的概率。
步骤6、指导服务器发送区块。具体的,根据求得的转移矩阵,使用蒙特卡洛方法,构造几何概率模型,模拟服务器发送区块的随机过程,对服务器进行指导。在建立几何概率模型后,构造样本空间[0,1)。使用随机数方法在样本空间[0,1)内进行抽样,例如取到随机数0.435。根据随机数确定目标服务器模型,以服务器C为例,服务器C以概率0.2发送区块给A,以概率0.8发送区块给B。因0.435>0.2,故服务器C将下一个区块发送给服务器B,服务器B为目标服务器。如图6所示,向服务器C发送指导信息,以指导服务器C向服务器B发送区块。
随着系统运行并进入HashGraph新轮次,重新从4个维度(剩余算力、响应时间、安全性、可靠性)实时统计系统运行情况,获取新的分布式消息,刷新信誉度模型,计算得到最新的服务器的信誉度,重新计算目标概率分布,并得到最新的服务器发送区块的转移矩阵,利用转移矩阵进行蒙特卡洛模拟,重新构建几何概率模型,以此指导各个服务器发送区块,满足最新的服务器集群实际运行要求。
如图6所示,本申请实施例建立了一种更加智能的随机的区块传播过程,综合且动态的考量了集群节点的性能(安全性、活跃度、可信度四个方面),根据MCMC方法生成平稳概率分布,对区块链集群节点产生区块后随机挑选目标进行传播的过程进行指导,使得区块链系统生成区块与接收区块的分布更加均匀并且符合实际情况,最大化利用集群节点硬件资源,增大系统吞吐量。本申请实施例使基于HashGraph的区块链发送区块的随机过程,区块能够更加贴合实际的,相对均匀且稳定的分布在各个服务器间,避免了在区块绝对均匀分布到各个服务器的情况下,低性能服务器高负载但高性能服务器低负载的情况。本申请利用能力评估模型,在综合考量机器性能、响应时间、安全性、正确性等系统服务器相关因素的情况下,得到区块在各个服务器间的目标概率分布,相比于绝对均匀分布更科学,更符合实际情况,使得各个服务器均能在能力范围内发挥最大作用,提高了系统整体吞吐量。本申请还能够根据区块在服务器间的目标概率分布,准确求出各个服务器发送区块给其它服务器的概率(转移矩阵),能够根据该转移矩阵指导服务器发送区块。并且,本申请能够根据实际系统运行情况,随系统运行而实时调整发送区块的概率,修正区块分布,抑制了服务器小概率危害事件的发生。
本申请实施例第二方面还提供了一种分布式消息处理与分析装置,参照图7,图7示出了一种分布式消息处理与分析装置的结构示意图,如图7所示,所述装置包括:
分布式消息获取模块,用于在确定进入新的区块传播轮次时,获取分布式消息;
处理能力计算模块,用于根据所述分布式消息,利用能力评估模型确定每个服务器的有效处理能力;
区块发送指导模块,用于根据所述每个服务器的有效处理能力,指导服务器将区块发送至目标服务器。
在一种可选的实施方式中,所述区块发送指导模块,包括:
目标概率分布计算模块,用于根据所述每个服务器的有效处理能力,计算目标概率分布;其中,所述目标概率分布,表示该区块传播轮次中,所述每个服务器接收的区块数量在总区块数量中的占比;
转移矩阵计算模块,用于根据所述目标概率分布,使用马尔科夫链细致平稳条件,计算转移矩阵;所述转移矩阵用于表示服务器发送区块给另一服务器的概率;
几何概率模型构建模块,用于利用所述转移矩阵,构建所述每个服务器的几何概率模型;
指导信息生成模块,用于在接收到服务器的区块发送请求时,根据该服务器对应的所述几何概率模型,生成区块发送指导信息,所述区块发送指导信息用于指导该服务器将区块发送至目标服务器。
在一种可选的实施方式中,所述目标概率分布计算模块,包括:
权重确定子模块,用于将所述每个服务器的有效处理能力分别与预设的权重映射表进行匹配,得到所述每个服务器各自在服务器集群中的权重;
总权重确定子模块,用于将所有服务器的权重相加,得到总权重;
调和子模块,用于对所述每个服务器的权重进行调和,得到所述每个服务器的调和后权重;
目标概率分布生成子模块,用于根据所述每个服务器的所述调和后权重与所述总权重的比例,生成所述目标概率分布。
在一种可能的实施方式中,所述调和子模块,包括:
服务器确定单元,用于从所有服务器中确定出待调和服务器,所述待调和服务器为权重的值超出所述总权重的二分之一的服务器;
调和单元,用于对于每个所述待调和服务器,将超出部分按照原权重比例分配给所述服务器集群中的剩余服务器,得到调和后权重;所述原权重比例表示所有服务器之间的权重的比例。
在一种可能的实施方式中,所述转移矩阵计算模块,包括:
矩阵Q获取子模块,用于获取矩阵Q;所述矩阵Q中的每个元素随机取值;
调和矩阵确定子模块,用于根据所述目标概率分布,所述矩阵Q和所述马尔科夫链细致平稳条件,生成调和矩阵U,所述调和矩阵U与所述矩阵Q组合满足所述马尔科夫链细致平稳条件,即满足如下公式:
uijqijπj=ujiqjiπi;其中uij表示所述调和矩阵U中的第i行第j列的元素,uji表示所述调和矩阵U中的第j行第i列的元素,qij表示所述矩阵Q中的第i行第j列的元素,qji表示所述矩阵Q中的第j行第i列的元素,πi表示所述目标概率分布中服务器i的区块分布概率,πj表示所述目标概率分布中服务器j的区块分布概率;
转移矩阵确定子模块,用于根据所述矩阵Q和所述调和矩阵U,生成所述转移矩阵,所述转移矩阵满足如下公式:
其中,Pij表示所述转移矩阵中的第i行第j列的元素,Pji表示所述转移矩阵中的第j行第i列的元素,n表示所述服务器集群中的服务器总数。
在一种可能的实施方式中,所述几何概率模型构建模块,包括:
概率分布确定子模块,用于根据所述转移矩阵中的每个元素的值的大小,确定每个服务器将区块发送给所述服务器集群中的其他服务器的概率分布;
几何概率模型生成子模块,用于根据模拟方法,对于每个所述概率分布进行数学建模,得到每个服务器的所述几何概率模型,所述几何概率模型表示为如下公式:
服务器S的几何概率模型
其中,αt表示对应服务器的取值范围,n表示所述服务器集群中的服务器总数,所述服务器S表示所述服务器集群中的任意一个服务器;Pis表示所述服务器S的概率分布[P1s,P2s,......Pns]中的元素。
在一种可能的实施方式中,所述指导信息生成模块,包括:
随机抽样子模块,用于在接收到服务器的区块发送请求时,在预设数值范围内进行随机抽样,得到随机值;
目标服务器确定子模块,用于根据所述随机值,从该服务器的所述几何概率模型中,确定所述随机值所属的取值范围αt,根据所述取值范围,确定所述目标服务器;
指导信息生成子模块,用于根据所述目标服务器,生成所述区块发送指导信息。
在一种可能的实施方式中,所述处理能力计算模块,包括:
剩余性能计算子模块,用于根据所述分布式消息,至少计算服务器的CPU与内存负载程度,得到服务器剩余性能分值;
安全性计算子模块,用于根据所述分布式消息,至少计算服务器的受攻击概率,得到服务器安全性分值;
活跃度计算子模块,用于根据所述分布式消息,至少计算服务器的响应时间,得到服务器活跃度分值;
可信度计算子模块,用于根据所述分布式消息,至少计算服务器的错误区块数量,得到服务器可信度分值;
处理能力计算子模块,用于根据预设调控系数,至少综合所述服务器剩余性能分值、所述服务器安全性分值、所述服务器活跃度分值和所述服务器可信度分值,得到该服务器的所述有效处理能力。
本申请实施例还提供了一种电子设备,参照图8,图8是本申请实施例提出的电子设备的示意图。如图8所示,电子设备100包括:存储器110和处理器120,存储器110与处理器120之间通过总线通信连接,存储器110中存储有计算机程序,该计算机程序可在处理器120上运行,进而实现本申请实施例公开的分布式消息处理与分析方法中的步骤。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序/指令,该计算机程序/指令被处理器执行时实现如本申请实施例公开的分布式消息处理与分析方法中的步骤。
本申请实施例还提供了一种计算机程序产品,所述计算机程序产品在电子设备上运行时,使处理器执行时实现如本申请实施例所公开的分布式消息处理与分析方法的步骤。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本申请实施例是参照根据本申请实施例的方法、装置、电子设备和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种分布式消息处理与分析方法、装置和产品,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种分布式消息处理与分析方法,其特征在于,所述方法包括:
在确定进入新的区块传播轮次的情况下,获取分布式消息;
根据所述分布式消息,利用能力评估模型确定每个服务器的有效处理能力;
根据所述每个服务器的有效处理能力,指导服务器将区块发送至目标服务器。
2.根据权利要求1所述的分布式消息处理与分析方法,其特征在于,所述根据所述每个服务器的有效处理能力,指导服务器将区块发送至目标服务器,包括:
根据所述每个服务器的有效处理能力,计算目标概率分布;其中,所述目标概率分布,表示该区块传播轮次中,所述每个服务器接收的区块数量在总区块数量中的占比;
根据所述目标概率分布,使用马尔科夫链细致平稳条件,计算转移矩阵;所述转移矩阵用于表示服务器发送区块给另一服务器的概率;
利用所述转移矩阵,构建所述每个服务器的几何概率模型;
在接收到服务器的区块发送请求时,根据该服务器对应的所述几何概率模型,生成区块发送指导信息,所述区块发送指导信息用于指导该服务器将区块发送至所述目标服务器。
3.根据权利要求2所述的分布式消息处理与分析方法,其特征在于,所述根据所述每个服务器的有效处理能力,计算目标概率分布,包括:
将所述每个服务器的有效处理能力分别与预设的权重映射表进行匹配,得到所述每个服务器各自在服务器集群中的权重;
将所有服务器的权重相加,得到总权重;
对所述每个服务器的权重进行调和,得到所述每个服务器的调和后权重;
根据所述每个服务器的所述调和后权重与所述总权重的比例,生成所述目标概率分布。
4.根据权利要求3所述的分布式消息处理与分析方法,其特征在于,所述对所述每个服务器的权重进行调和,得到所述每个服务器的调和后权重,包括:
从所有服务器中确定出待调和服务器,所述待调和服务器为权重的值超出所述总权重的二分之一的服务器;
对于每个所述待调和服务器,将超出部分按照原权重比例分配给所述服务器集群中的剩余服务器,得到调和后权重;所述原权重比例表示所有服务器之间的权重的比例。
5.根据权利要求2所述的分布式消息处理与分析方法,其特征在于,所述根据所述目标概率分布,使用马尔科夫链细致平稳条件,计算转移矩阵,包括:
获取矩阵Q;所述矩阵Q中的每个元素随机取值;
根据所述目标概率分布,所述矩阵Q和所述马尔科夫链细致平稳条件,生成调和矩阵U,所述调和矩阵U与所述矩阵Q组合满足所述马尔科夫链细致平稳条件;
根据所述矩阵Q和所述调和矩阵U,生成所述转移矩阵。
6.根据权利要求2所述的分布式消息处理与分析方法,其特征在于,所述利用所述转移矩阵,构建所述每个服务器的几何概率模型,包括:
根据所述转移矩阵中的每个元素的值的大小,确定每个服务器将区块发送给所述服务器集群中的其他服务器的概率分布;
根据模拟方法,对于每个所述概率分布进行数学建模,得到每个服务器的所述几何概率模型。
7.根据权利要求6所述的分布式消息处理与分析方法,其特征在于,所述在接收到服务器的区块发送请求时,根据该服务器对应的所述几何概率模型,生成区块发送指导信息,包括:
在接收到服务器的区块发送请求时,在预设数值范围内进行随机抽样,得到随机值;
根据所述随机值,从该服务器的所述几何概率模型中,确定所述随机值所属的取值范围αt,根据所述取值范围,确定所述目标服务器;
根据所述目标服务器,生成所述区块发送指导信息。
8.根据权利要求1所述的分布式消息处理与分析方法,其特征在于,所述根据所述分布式消息,利用能力评估模型确定每个服务器的有效处理能力,包括:
根据所述分布式消息,至少计算服务器的CPU与内存负载程度,得到服务器剩余性能分值;
根据所述分布式消息,至少计算服务器的受攻击概率,得到服务器安全性分值;
根据所述分布式消息,至少计算服务器的响应时间,得到服务器活跃度分值;
根据所述分布式消息,至少计算服务器的错误区块数量,得到服务器可信度分值;
根据预设调控系数,至少综合所述服务器剩余性能分值、所述服务器安全性分值、所述服务器活跃度分值和所述服务器可信度分值,得到该服务器的有效处理能力。
9.一种分布式消息处理与分析装置,其特征在于,所述装置包括:
分布式消息获取模块,用于在确定进入新的区块传播轮次时,获取分布式消息;
处理能力计算模块,用于根据所述分布式消息,利用能力评估模型确定每个服务器的有效处理能力;
区块发送指导模块,用于根据所述每个服务器的有效处理能力,指导服务器将区块发送至目标服务器。
10.一种电子设备,包括存储器、处理器及存储在所述存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求1至8中任一项所述的分布式消息处理与分析方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311507353.6A CN117499400A (zh) | 2023-11-13 | 2023-11-13 | 一种分布式消息处理与分析方法、装置和产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311507353.6A CN117499400A (zh) | 2023-11-13 | 2023-11-13 | 一种分布式消息处理与分析方法、装置和产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117499400A true CN117499400A (zh) | 2024-02-02 |
Family
ID=89668755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311507353.6A Pending CN117499400A (zh) | 2023-11-13 | 2023-11-13 | 一种分布式消息处理与分析方法、装置和产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117499400A (zh) |
-
2023
- 2023-11-13 CN CN202311507353.6A patent/CN117499400A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200059369A1 (en) | Determining consensus by parallel proof of voting in consortium blockchain | |
CN110113388A (zh) | 一种基于改进型聚类算法的区块链系统共识的方法和装置 | |
CN111030861B (zh) | 一种边缘计算分布式模型训练方法、终端和网络侧设备 | |
US11687562B2 (en) | Apparatus and method for adaptively managing sharded blockchain network based on deep Q network | |
CN108052387B (zh) | 一种移动云计算中的资源分配预测方法及系统 | |
CN110502323B (zh) | 一种云计算任务实时调度方法 | |
CN114626547A (zh) | 一种基于区块链的群组协同学习方法 | |
CN111478795B (zh) | 一种基于混合拜占庭容错的联盟区块链网络共识方法 | |
Tripathy et al. | Multiprocessor scheduling and neural network training methods using shuffled frog-leaping algorithm | |
CN113283778B (zh) | 一种基于安全性评价的分层汇聚联邦学习方法 | |
CN114398634A (zh) | 一种基于信息熵的联邦学习参与方权重计算方法 | |
Mei et al. | Competitive propagation: Models, asymptotic behavior and quality-seeding games | |
CN116669111A (zh) | 一种基于区块链的移动边缘计算任务卸载方法 | |
Wang et al. | Progressive information polarization in a complex-network entropic social dynamics model | |
CN114301935A (zh) | 一种基于声誉的物联网边云协同联邦学习节点选择方法 | |
Chen et al. | Improvement of the DPoS consensus mechanism in blockchain based on PLTS | |
Zhou et al. | DPS: Dynamic pricing and scheduling for distributed machine learning jobs in edge-cloud networks | |
Yan et al. | Service caching for meteorological emergency decision-making in cloud-edge computing | |
Zhao et al. | Design of trust blockchain consensus protocol based on node role classification | |
CN117499400A (zh) | 一种分布式消息处理与分析方法、装置和产品 | |
Müller et al. | On fairness in voting consensus protocols | |
CN115296972B (zh) | 一种基于区块链pbft共识机制的数据一致性共识方法 | |
CN114912627A (zh) | 推荐模型训练方法、系统、计算机设备及存储介质 | |
Cui et al. | Bsela: A blockchain simulator with event-layered architecture | |
CN114997400A (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 |